This book describes algorithms and hardware implementations of computer holography, especially in terms of fast calculation. It summarizes the basics of holography and computer holography and describes how conventional diffraction calculations play a central role. Numerical implementations by actual
Hardware Acceleration of Computational Holography
โ Scribed by Tomoyoshi Shimobaba, Tomoyoshi Ito
- Publisher
- Springer
- Year
- 2023
- Tongue
- English
- Leaves
- 365
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Table of Contents
Preface
Contents
Contributors
Part I Introduction toย Holography
1 Light Wave, Diffraction, and Holography
1.1 Expression of Light
1.1.1 Scalar Waves
1.1.2 Plane Waves and Spherical Waves
1.2 Coherence of Light
1.3 Interference of Light
1.4 Diffraction of Light
1.4.1 Sommerfeld Diffraction Integral
1.4.2 Angular Spectrum Method
1.4.3 Fresnel Diffraction
1.4.4 Fresnel Diffraction Based on Convolution Expression
1.4.5 Fresnel Diffraction Based on Fourier transform Expression
1.4.6 Fraunhofer Diffraction
1.4.7 Special Diffraction Calculations
1.5 Holography
1.5.1 Recording of the Hologram
1.5.2 Reconstruction of Hologram
1.5.3 In-line Holography and Off-Axis Holography
1.5.4 Types of Holograms
References
2 Computer-Generated Hologram
2.1 Computer-Generated Amplitude Hologram
2.2 Fresnel CGH
2.3 Recurrence Algorithm
2.4 Kinoform (Phase-Only Hologram)
References
3 Basics of Digital Holography
3.1 Digital Holography
3.2 Off-Axis Digital Holography
3.3 Phase-Shifting Digital Holography
3.3.1 Four-Step Phase-Shifting Digital Holography
3.3.2 Three-Step Phase-Shifting Digital Holography
3.4 Single-Shot Phase-Shifting Digital Holography
References
Part II Introduction toย Hardware
4 Basic Knowledge of CPU Architecture for High Performance
4.1 Introduction
4.2 Pipeline Processing
4.2.1 Fundamentals of CPU Architecture
4.2.2 Pipeline Architecture
4.2.3 Instruction Latency and Throughput
4.3 Parallel Architecture
4.3.1 Single Instruction Multiple Data (SIMD) Architecture
4.3.2 Superscalar and Vector Processor
4.3.3 Logical CPU
4.3.4 Multi-Core CPU
4.4 Memory Architecture
4.4.1 Continuity of Data
4.4.2 Cache Hierarchy
4.4.3 Cache Line
References
5 Basics of CUDA
5.1 Evolution of GPUs
5.2 Introduction to CUDA
5.3 Setting Up the CUDA Environment
5.4 Hello World
5.4.1 CUDA Thread Construction
5.4.2 Kernel Function
5.4.3 Compilation and Execution
5.5 Parallel Addition of Vectors
5.5.1 Data and Memory Management on GPU
5.5.2 Performing Different Calculations on CUDA Threads
5.6 Parallel Reduction
References
6 Basics of OpenCL
6.1 General Introduction of OpenCL
6.2 Setting Up an OpenCL Environment
6.3 Constructing an OpenCL Program
6.3.1 Creating OpenCL Objects That Are Not Required in CUDA
6.3.2 Executing the Kernel Function
6.3.3 Writing the Kernel Function
References
7 Basics of Field-Programmable Gate Array
7.1 Structure of Field-Programmable Gate Array
7.2 Hardware Description Language (HDL)
7.3 Special-Purpose Computation Circuit Using FPGA
7.4 Fixed-Point and Floating-Point Arithmetic
7.5 Communication Between FPGAs and CPUs
7.6 AXI Communication
7.7 Communication Program Between CPU and FPGA
7.8 Discussion
References
Part III Acceleration andย Advanced Techniques inย Computational Holography
8 CPU and GPU Implementations of Diffraction Calculations
8.1 Implementation of the Fresnel Diffraction Calculation
8.1.1 Process Flow of the Fresnel Diffraction Calculation
8.1.2 CPU Implementation
8.1.3 GPU Implementation
8.2 Implementation of the Angular Spectrum Method
8.2.1 Process Flow of the Angular Spectrum Method
8.2.2 CPU Implementation
8.2.3 GPU Implementation
8.3 Results
References
9 Acceleration of CGH Computing from Point Cloud for CPU
9.1 Introduction
9.2 Sample Source Code Package
9.2.1 How to Download and Build the Sample Source Code Package
9.2.2 Compile Optimization Options
9.2.3 Main Program Flow
9.3 Implementation of the xyz_to_psi Function
9.3.1 Direct Calculation Using Double-Precision Floating-Point Type
9.3.2 Direct Calculation Using Single-Precision Floating-Point Type
9.3.3 Multi-thread and SIMD Programming Using OpenMP
9.3.4 Recurrence Algorithm Implementation
9.3.5 Latency Reduction with Look-Up Table
9.3.6 Memory Reduction by Rearranging Program Procedure
9.3.7 Decimal Fraction Calculation Using Integer Type
9.4 Results
References
10 Computer-Generated Hologram Calculation Employing the Graphics Processing Unit
10.1 General Instruction for Implementing Point-Cloud-Based CGH on GPU
10.2 Examples of Point-Cloud-Based CGH Calculation on GPU
10.2.1 Ray-Tracing Method
10.2.2 LUT Method
10.2.3 Performance Comparison
References
11 Computer-Generated Hologram: Multiview Image Approach
11.1 Implementation of CGH Based on Light-Ray Information
11.2 Converting Light-Ray Information into Wavefront Information
11.3 Implementation of a Program for Generating Holograms from IP Images
References
12 Hologram Calculation Using Layer Methods
12.1 Introduction
12.2 Method
12.2.1 Decomposing RGB-D Images into Layer Images
12.2.2 Calculating the Diffraction Calculation of Each Layer Image
12.2.3 Converting to an Amplitude Hologram or Phase-Only Hologram
12.3 Results
12.4 Discussion
References
13 Polygon-Based Hologram Calculation Methods
13.1 General Instruction of Polygon-Based Holograms
13.2 Overview of Six Methods for Polygon-Based
13.2.1 Numerical-Based Method
13.2.2 2D Rotation-Based Method
13.2.3 2D Affine Transformation-Based Method
13.2.4 2D Affine Transformation-Based Method with Translation
13.2.5 2D Affine Transformation-Based Method in the Spatial Domain
13.2.6 3D Affine Transformation-Based Method
13.3 Results for all Methods
References
14 Real-Time Electroholography Based on Multi-GPU Cluster
14.1 Introduction
14.2 Computer-Generated Hologram
14.3 Multiple-GPU Cluster System with a Single Spatial Light Modulator
14.4 Pipeline Processing for Real-Time Electroholography Using Multiple-GPU Cluster System with a Single SLM
14.5 Implementation
14.6 Results and Discussion
14.7 Related Work
References
15 GPU Acceleration of Compressive Holography
15.1 Introduction
15.2 Compressed Sensing
15.3 Compressive Holography
15.4 GPU-Accelerated Compressive Holography
15.4.1 Signal Reconstruction Algorithm
15.4.2 GPU Implementation
15.4.3 Performance Evaluation
References
16 Sparse CGH and the Acceleration of Phase-Added Stereograms
16.1 Sparsity
16.1.1 Sparse CGH
16.2 The Phase-Added Stereogram (PAS)
16.2.1 Point Cloud CGH
16.2.2 Optimizing PAS Coefficients
16.2.3 Example Code
16.3 Acceleration Structures for PAS
16.3.1 Lozenge Cell Lattices
16.3.2 Implementation and Results
16.4 Conclusions
References
17 Efficient and Correct Numerical Reconstructions
17.1 Introduction
17.2 Visual Quality Assessment
17.2.1 Subjective Visual Quality Assessment
17.2.2 Objective Visual Quality Assessment
17.3 Numerical Reconstructions from Digital Holograms
17.3.1 Types
17.3.2 Comparison
17.3.3 Efficient Implementation
17.3.4 Correctness
References
18 Digital Holography Techniques and Systems for Acceleration of Measurement
18.1 Acceleration of Measurement in Single-Shot Full-Color Digital Holography with Spatial Frequency-Division Multiplexing ch1816,ch1817
18.1.1 Principle of Advanced Image-Reconstruction Algorithm
18.1.2 Numerical Simulation
18.1.3 Acceleration of Image Reconstruction with Advanced Algorithm and GPU System
18.2 Incoherent Digital Holography Techniques for Acceleration of Measurement by Simultaneous Recording of Multiple Holograms
18.2.1 Single-Shot Phase-Shifting Incoherent Digital Holography ch1832,ch1833,ch1834,ch1835,ch1836
18.2.2 Multidimensional IDH
18.2.3 Single-Shot Quantitative Phase Imaging with Single-Shot Phase-Shifting Digital Holography and Light-Emitting Diode
References
Part IV FPGA-Based Acceleration forย Computational Holography
19 FPGA Accelerator for Computer-Generated Hologram
19.1 A Special-Purpose Computer for CGH Using FPGA
19.2 Algorithm for CGH Special-Purpose Computer
19.3 Overview of CGH Special-Purpose Computer Using Xilinx Zynq
19.4 Implementation of CGH Special-Purpose Computer
19.5 Control Program for CGH Special-Purpose Computer
19.6 Comparison of Computation Times
19.7 Discussion
References
20 Special-Purpose Computer for Digital Holography
20.1 Numerical Diffraction Calculation
20.2 Special-Purpose Computer System
20.2.1 Calculation Circuit
20.2.2 Data Formats
20.2.3 Overview of Special-Purpose Computer System
20.2.4 Overview of Calc_Top
20.2.5 Overview of Calc_G
20.2.6 Performance
20.2.7 Calculation Speed
20.2.8 Reconstructed Images
References
Appendix Index
Index
๐ SIMILAR VOLUMES
<p><span>This book describes the state-of-the-art of technology and research on In-Memory Computing Hardware Accelerators for Data-Intensive Applications. The authors discuss how processing-centric computing has become insufficient to meet target requirements and how Memory-centric computing may be
<p><span>This book describes the state-of-the-art of technology and research on In-Memory Computing Hardware Accelerators for Data-Intensive Applications. The authors discuss how processing-centric computing has become insufficient to meet target requirements and how Memory-centric computing may be
<span>Single-threaded software applications have ceased to see signi?cant gains in p- formance on a general-purpose CPU, even with further scaling in very large scale integration (VLSI) technology. This is a signi?cant problem for electronic design automation (EDA) applications, since the design com
<p><p>This book suggests and describes a number of fast parallel circuits for data/vector processing using FPGA-based hardware accelerators. Three primary areas are covered: searching, sorting, and counting in combinational and iterative networks. These include the application of traditional structu
From choosing overclocking tools and setting the optimal mode to allowing the fulfillment of the potential of a PC's components, this reference discusses solutions to the problem of computers not performing well enough to accommodate requested tasks. Examined are the particular features of using pro