WO2019112256A1 - Optical coherence tomography system and processing method thereof - Google Patents

Optical coherence tomography system and processing method thereof Download PDF

Info

Publication number
WO2019112256A1
WO2019112256A1 PCT/KR2018/015087 KR2018015087W WO2019112256A1 WO 2019112256 A1 WO2019112256 A1 WO 2019112256A1 KR 2018015087 W KR2018015087 W KR 2018015087W WO 2019112256 A1 WO2019112256 A1 WO 2019112256A1
Authority
WO
WIPO (PCT)
Prior art keywords
scan data
gpu
data
memory
image
Prior art date
Application number
PCT/KR2018/015087
Other languages
French (fr)
Korean (ko)
Inventor
엄주범
박안진
엄종현
정홍열
Original Assignee
한국광기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국광기술원 filed Critical 한국광기술원
Publication of WO2019112256A1 publication Critical patent/WO2019112256A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0062Arrangements for scanning
    • A61B5/0066Optical coherence imaging
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Definitions

  • the present invention relates to a high-speed optical coherence tomography (OCT) system, and more particularly, to a method for improving the processing speed of an OCT system through CPU-GPU parallel processing.
  • OCT optical coherence tomography
  • the optical coherence tomography (OCT) system is an optical imaging device that has been developing since its inception in the early 1990s. It has a high resolution of micrometer ( ⁇ m) sectional image and a three-dimensional volume image.
  • the OCT system basically acquires signal data in the depth direction of the sample through an optical beam, and this is called an A-scan (axial scan) data.
  • the OCT system sequentially moves the optical beam in one axial direction through a Galvano mirror or MEMs and sequentially acquires the A-scan data.
  • the OCT system moves the 2D tomographic image in one axial direction (axial direction orthogonal to the axis for acquiring the 2D tomographic image) and successively acquires the 2D tomographic image, , And generally acquires a three-dimensional volume image by moving the optical beam in a raster pattern (eg, TV scanning).
  • a raster pattern eg, TV scanning
  • FIG. 1 shows a two-dimensional tomographic image and a three-dimensional volume image of a sample (eye cornea).
  • the OCT system has recently been greatly developed due to the improvement of the performance (speed) of the data acquisition device, and it is expected that the high-speed / high-resolution OCT system can be realized because the volume data of the sample can be acquired in real time.
  • the GPU-based OCT system basically acquires the data from the CPU, acquires the 2-dimensional tomographic image through the data processing in the GPU, and acquires the single tomographic image is the sum of the data acquisition time and the data processing time.
  • GPU-based methods show improved performance in terms of processing speed compared to existing methods, but require additional processing time not related to data processing, such as GPU-to-CPU data transfer rates, GPU-to-GPU data bandwidth). Therefore, a technique for improving the data transfer speed between the GPU and the CPU is required in the OCT system using the GPU.
  • Korean Patent No. 1409234 (Optical coherence tomography apparatus capable of parallel processing of interference signals), which is related art, is for improving data processing speed in FD-OCT including SS-OCT and SS-OCT, Is characterized in that the obtained data is grouped into a plurality of data sets and the plurality of data sets are processed in parallel. In order to enhance the efficiency of using the GPU, the present invention .
  • the present invention provides an OCT system and method using a GPU capable of acquiring a 2D sectional image and a 3D volume image.
  • the OCT system and method that can reduce the processing speed compared with existing methods through CPU-GPU parallel processing and acquire 3-D volume images in real time in acquiring 2-dimensional sectional images in real time .
  • the present invention relates to an optical coherence tomography (OCT) system for generating a two-dimensional tomographic image or a three-dimensional volume image on the basis of A-Scan data by a central processing unit (CPU) and a graphics processing unit
  • the CPU is a multi-core CPU and includes a plurality of buffers into which A-scan data is switched and input; A pinned memory coupled to each of the buffers; An input processor for performing a parallel switching process in which A-scan data for a two-dimensional tomographic image is sequentially input to the plurality of buffers and then moved to the fixed memory; And a data transfer unit for transferring the A-Scan data moved to the fixed memory to the GPU memory, wherein the GPU includes an image generation unit for generating image data for A-Scan data stored in the GPU memory, A signal processing unit for performing an operation; And an image transmission unit for transmitting the image to the CPU when the data processing for the two-dimensional tomographic image is completed by the signal processing unit. And a plurality of
  • the GPU includes a rendering processing unit for accessing a set of two-dimensional images stored in the GPU memory generated by the signal processing unit to visualize a three-dimensional volume image.
  • an optical coherence tomography (OCT) system that generates a two-dimensional tomographic image or a three-dimensional volume image based on A-scan data by a central processing unit (CPU) and a graphics processing unit (1) acquiring A-Scan data from a first buffer by a multi-core CPU; 2) A multi-core CPU acquires the next A-Scan data in the second buffer and moves the A-Scan data of the first buffer to a first pinned memory connected thereto ; 3) A multi-core CPU acquires the next A-Scan data in the first buffer and concurrently acquires A-Scan data of the second buffer in a second fixed memory connected thereto Transferring the A-Scan data of the first fixed memory to the GPU memory; 4) A multi-core CPU acquires the next A-Scan data in the second buffer and concurrently acquires A-Scan data of the first buffer in a first fixed memory connected thereto And transmits the A-Scan data of the second fixed memory to the GPU memory
  • the method further includes a rendering step of visualizing a three-dimensional volume image by accessing a set of two-dimensional images stored in the GPU memory after data processing is completed by the step 6).
  • Figure 1 shows a two-dimensional tomographic image and a three-dimensional volume image of a sample (eye cornea).
  • FIG. 2 is a block diagram of a system configuration according to the present invention.
  • FIG. 3 is a conceptual diagram of a CPU-GPU parallel processing according to the present invention.
  • FIG. 4 is a data processing conceptual diagram of a system according to the present invention.
  • FIG. 5 is a flowchart of a processing method according to the present invention.
  • FIG. 6 is a conceptual diagram of a GPU processing method according to the present invention.
  • the present invention relates to a method for simultaneously processing data collection and processing through CPU-GPU parallel processing of A-Scan data units to reduce the acquisition time of a tomographic image, and the CPU performs A-scan data collection corresponding to a 2-dimensional tomographic image Once completed, it is transferred to the GPU memory and data acquisition for the next tomographic image is started without waiting for the GPU processing to complete.
  • the processing time (data collection time) in the CPU or the processing time (data processing time) The performance of the system is determined.
  • the present invention provides a CPU-GPU parallel processing method for improving OCT system processing speed (two-dimensional sectional image generation speed), wherein parallel processing means that data acquisition and image generation are processed simultaneously, It is possible because it can be regarded as each unique processor.
  • FIG. 2 is a block diagram of an optical coherence tomography (OCT) system according to an embodiment of the present invention.
  • OCT optical coherence tomography
  • the CPU 1 includes a buffer 10, a fixed memory 20, an input processing unit 30, and a data transfer unit 40
  • the GPU 2 includes a GPU memory 50, a signal processing unit 60, an image transmitting unit 70, and a rendering processing unit 80.
  • a multi-core CPU is used for parallel processing, and the buffer 10 is divided into a plurality of buffers 101 and 102 so that the A-scan data is switched (cross-over) do.
  • the first buffer 101 and the second buffer 102 can be formed, and the number of buffers can be increased according to the required processing capacity.
  • a pinned memory 20 is applied to reduce data transfer time and is connected to each of the buffers 101 and 102 in the same manner as the first fixed memory 201 and the second fixed memory 202.
  • the input processing unit 30 is a plurality of cores for performing a parallel switching process in which A-scan data for a two-dimensional tomographic image is sequentially inputted to the plurality of buffers 101 and 102 and then moved to the fixed memories 201 and 202 .
  • the data transfer unit 40 transfers the A-scan data sequentially and sequentially transferred to the fixed memories 201 and 202 to the GPU memory 50.
  • the data transfer unit 40 transfers the A- It is possible.
  • the signal processing unit 60 performs an image creation operation on the A-scan data transmitted by the data transfer unit 40 and stored in the GPU memory 50, and stores the image data in the GPU memory 50.
  • the image transfer unit 70 determines whether the data processing operation of the A-scan data for the two-dimensional tomographic image is completed, and transmits the two-dimensional tomographic image to the CPU.
  • a plurality of A-scan data are processed in parallel by the operations of the input processing unit 30, the data transfer unit 40, the signal processing unit 60, and the image transfer unit 70.
  • Figure 3 shows a flow chart for CPU-GPU parallel processing.
  • the CPU acquires signal data (interference data) for a single two-dimensional tomographic image
  • the GPU processes the acquired data to generate a two-dimensional cross-sectional image, which results in a two-dimensional It is possible to increase the number of cross-sectional image (frame) acquisitions (frames per second (FPS)).
  • the performance of the entire system is determined by the data acquisition and processing time of the present invention, and the performance of the entire system is determined. For example, in FIG. 2, since the data acquisition time is slower than the processing time, .
  • FIG. 4 shows a flow chart from data acquisition to two-dimensional image generation.
  • the CPU sequentially acquires the A-scan data (interference signal data) from the data acquisition device (digitizer) and transmits it to the GPU memory when the data acquisition for the two-dimensional image is completed.
  • a pinned memory (fixed memory) is used to reduce the CPU-GPU data transfer time. To this end, a process of moving data acquired from the digitizer stored in the buffer to the pinned memory is added.
  • parallel processing is performed using a multi-core CPU, and as shown in FIG. 3, two buffers are allocated for parallel processing, and switching between Buffer 1 and Buffer 2 is performed. And collects signal data from the digitizer.
  • Collected data moves to pinned memory while collecting data from other buffers. For example, after acquiring a signal from Buffer 1, acquire the signal from Buffer 2, and while Buffer 2 acquires the signal, move the signal data of Buffer 1 to Pinned Memory 1.
  • the GPU generates a two-dimensional image by performing a signal processing algorithm on the A-scan unit from the data received from the pinned memory. Since the GPU internally supports parallel processing, it is possible to process multiple A-scan data simultaneously, Thereby reducing the execution time in image generation.
  • the signal processing algorithm for one A-scan data consists of Rescaling, Fast Fourier transform (FFT), and Log-scaling compression.
  • the GPU actually takes a significant amount of time to transfer data between the CPU and the GPU.
  • the present invention concurrency of data transmission and processing within the GPU.
  • Data transmission and processing in the GPU is largely composed of three steps: data transfer from the CPU to the GPU, data processing in the GPU, and data transfer from the GPU to the CPU.
  • data transfer from the CPU to the GPU In the parallel processing, data obtained from the CPU is divided, do.
  • the GPU When a three-dimensional image is required, the GPU further accesses a set of two-dimensional images stored in the GPU memory created by the signal processing unit using the rendering processing unit 80 to visualize a three-dimensional volume image. For this purpose, a Volume Rendering algorithm .
  • the sequentially acquired two-dimensional image sets (for example, three-dimensional volume data obtained by the raster pattern) generated through the signal processing algorithm are stored in the GPU memory, and the rendering processing unit 80 supplies the GPU memory And visualizes the 3D volume image.
  • the volume rendering algorithm is based on Ray casting and texture slicing.
  • FIG. 5 is a flowchart of an optical coherence tomography (OCT) processing method according to an embodiment of the present invention.
  • OCT optical coherence tomography
  • FIG. 6 is a conceptual view of a parallel processing performed in the GPU.
  • FIG. 6 shows an example of performing parallel processing by dividing data acquired by a CPU by 1/4.
  • the first data (first 1/4 data) (A) and transmits the second data (second 1/4 data) to the GPU while processing the transmitted data (b).
  • Data that has been processed is transferred (c) to the CPU again.
  • the total processing time (d) in the GPU is similar to the sum of the data transfer time (e) from the CPU to the GPU and the data transfer time (f) from the GPU to the CPU, In conclusion, the total processing time in the GPU is determined by the data transfer speed between the CPU and GPU rather than the data processing (image generation) time.
  • the multi-core CPU obtains the A-scan data in the first buffer 101.
  • step 2 the multi-core CPU acquires the next A-scan data in the second buffer (s201) and simultaneously transmits the A-Scan data of the first buffer to the first fixed memory (S202).
  • step 3 the multi-core CPU acquires the next A-scan data in the first buffer (s301), and concurrently acquires the A-scan data of the second buffer in the second fixed memory (S302), and transmits the A-Scan data of the first fixed memory to the GPU memory (s303).
  • step 4 the multi-core CPU acquires the next A-scan data in the second buffer (s401), and concurrently acquires the A-scan data of the first buffer in the first fixed memory Scan data of the second fixed memory to the GPU memory (s403), and the signal processing unit of the GPU transfers the A-Scan data of the second fixed memory to the pinned memory
  • An image creation job is executed (s404).
  • step 5 the multi-core CPU acquires the next A-scan data in the first buffer (s501), and concurrently acquires the A-scan data of the second buffer in the second fixed memory (S502), the A-Scan data of the first fixed memory is transferred to the GPU memory (s503), and the signal processing unit of the GPU transfers the A-Scan data of the A-Scan data stored in the GPU memory to the pinned memory An image creation job is executed (s504).
  • step S6 it is determined whether or not the data processing of the two-dimensional tomographic image by the GPU is completed while the steps 4 and 5 are repeatedly performed. If completed, the corresponding image is transmitted to the CPU in operation s60.
  • the GPU accesses the set of two-dimensional images stored in the GPU memory after the data processing is completed by the step 6 using the rendering processor 80, (S60) for visualizing the rendering process (step s60).
  • buffer 20 fixed memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Mathematical Physics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)

Abstract

The present invention relates to a high speed optical coherence tomography (OCT) system. In order to improve the processing speed of an OCT system, proposed is a CPU-GPU parallel processing concept in A-scan data units.

Description

광간섭단층영상 시스템 및 그 처리방법Optical coherence tomography system and its processing method
본 발명은 고속 광간섭단층영상(OCT: optical coherence tomography) 시스템에 관한 것으로, 상세하게는 CPU-GPU 병렬처리를 통해 OCT 시스템의 처리 속도를 향상시키는 방법에 관한 것이다.The present invention relates to a high-speed optical coherence tomography (OCT) system, and more particularly, to a method for improving the processing speed of an OCT system through CPU-GPU parallel processing.
광간섭단층영상(OCT: optical coherence tomography) 시스템은 1990년 초에 처음 개발된 후 지속적으로 발전하고 있는 광학 이미징 장치이며, 마이크로미터(㎛) 수준의 고분해능으로 생물학적 샘플의 2차원 단면 이미지(cross-sectional image)와 3차원 볼륨 이미지를 획득한다. The optical coherence tomography (OCT) system is an optical imaging device that has been developing since its inception in the early 1990s. It has a high resolution of micrometer (㎛) sectional image and a three-dimensional volume image.
OCT 시스템은 기본적으로 optical beam을 통해 샘플에 대한 깊이 방향의 신호 데이터를 획득하며, 이를 A-Scan(axial scan) 데이터라 부른다. The OCT system basically acquires signal data in the depth direction of the sample through an optical beam, and this is called an A-scan (axial scan) data.
2차원 단층 이미지를 획득하기 위해, OCT 시스템은 optical beam을 갈바노 미러(Galvano mirror)나 MEMs를 통해 한 축방향으로 이동하며 A-Scan 데이터를 순차적으로 획득한다. To obtain a two-dimensional tomographic image, the OCT system sequentially moves the optical beam in one axial direction through a Galvano mirror or MEMs and sequentially acquires the A-scan data.
3차원 볼륨 이미지를 획득하기 위해, OCT 시스템은 2차원 단층 이미지를 한 축방향(2차원 단층 이미지 획득하는 축과 직교를 이루는 축 방향)으로 이동하며 순차적으로 획득하는 등의 방법으로 2차원 단층 이미지의 집합을 획득하며, 일반적으로 optical beam을 raster pattern(예. TV 주사 방식)으로 움직여 3차원 볼륨 이미지를 획득한다.In order to acquire a 3D volume image, the OCT system moves the 2D tomographic image in one axial direction (axial direction orthogonal to the axis for acquiring the 2D tomographic image) and successively acquires the 2D tomographic image, , And generally acquires a three-dimensional volume image by moving the optical beam in a raster pattern (eg, TV scanning).
도 1은 샘플(눈 각막)에 대한 2차원 단층 이미지와 3차원 볼륨 이미지를 보여준다. 1 shows a two-dimensional tomographic image and a three-dimensional volume image of a sample (eye cornea).
OCT 시스템은 데이터 수집 장치의 성능(속도) 향상으로 인해 최근 크게 발전하고 있으며, 샘플에 대한 볼륨 데이터를 실시간으로 획득할 수 있기 때문에 고속/고해상도 OCT 시스템의 구현이 가능할 것으로 기대되고 있다.The OCT system has recently been greatly developed due to the improvement of the performance (speed) of the data acquisition device, and it is expected that the high-speed / high-resolution OCT system can be realized because the volume data of the sample can be acquired in real time.
그러나 데이터 처리, 2차원 단면 영상 및 3차원 볼륨 영상 생성은 데이터 획득(수집) 속도와 비교하여 상대적으로 느리기 때문에 여전히 후처리(post processing) 단계에서 진행되고 있으며, 때문에 응용분야의 범위가 제한적이다. However, data processing, 2D cross-sectional image, and 3D volume image generation are still being performed in the post-processing stage because they are relatively slow compared to the data acquisition (acquisition) speed, and thus the range of application fields is limited.
데이터 처리 및 2차원/3차원 영상 생성 속도 향상을 위해 2000년 초중반에는 FPGA(field programmable gate array), multi-core CPU, DSP(digital signal processing) 등을 활용한 방법들(T.E. Ustun, N.V. Iftimia, R.D. Ferguson, and D.X. Hammer, "Real-time Processing for Fourier Domain Optical Coherence Tomography using a Field Programmable Gate Array", Review of Scientific Instruments, 79(11): 114301, 2008; G. Liu, J. Zhang, L. Yu, T. Xie, and Z. Chen, "Real-time Polarization-sensitive Optical Coherence Tomography Data Processing with Parallel Computing", Applied Optics, 48(32): 6365-6370, 2009; J. Su, J. Zhang, L. Yu, H.G. Colt, M. Brenner, and Z. Chen, "Real-time Swept Source Optical Coherence Tomography Imaging of the Human Airway using a Microelectromechanical System Endoscope and Digital Signal Processing", Journal of Biomedical Optics, 13(3): 030506, 2008)이 다양하게 연구/개발되었으며, 최근에는 그래픽카드의 발전으로 인해 GPU(graphics processing unit)을 활용한 방법들(J. Probst, D. Hillmann, E. Lankenau, C. Winter, S. Oelckers, P. Koch, and G. Huttmann, "Optical Coherence Tomography with Online Visualization of More than Seven Rendered Volumes per Second", Journal of Biomedical Optics, 15(2): 026014, 2010; D-H. Choi, H. Hiro-Oka, K. Shimizu, and K. Ohbayashi, "Spectral Domain Optical Coherence Tomography of Multi-MHz A-Scan Rates at 1310 nm Range and Real-time 4D-display up to 41 Volumes/second", Biomedical Optics Express, 3(12): 3067-3086, 2012; W. Wieser, W. Draxinger, T. Klein, S. Karph, T. Pfeiffer, and R. Huber, "High Definition Live 3D-OCT in vivo: Design and Evaluation of a 4D OCT Engine with 1GVoxels/s", Biomedical Optics Express, 5(9): 2963-2977, 2014)이 활발히 연구/개발되고 있다.In order to improve the speed of data processing and 2D / 3D image generation, methods using field programmable gate arrays (FPGAs), multi-core CPUs, digital signal processing (DSP) (TE Ustun, NV Iftimia, RD Ferguson, and DX Hammer, "Real-time Processing for Fourier Domain Optical Coherence Tomography using a Field Programmable Gate Array", Review of Scientific Instruments, 79 (11): 114301, 2008; Yu, T. Xie, and Z. Chen, "Real-time Polarization-sensitive Optical Coherence Tomography Data Processing with Parallel Computing", Applied Optics, 48 (32): 6365-6370, L. Yu, HG Colt, M. Brenner, and Z. Chen, "Real-time Swept Source Optical Coherence Tomography Imaging of the Human Airway using a Microelectromechanical System Endoscope and Digital Signal Processing", Journal of Biomedical Optics, 13 (3) : 030506, 2008) have been variously studied and developed. Recently, due to the development of graphics card, GPU (gra Methods for utilizing the phics processing unit (J. Probst, D. Hillmann, E. Lankenau, C. Winter, S. Oelckers, P. Koch, and G. Huttmann, "Optical Coherence Tomography with Online Visualization of More than Seven Rendered Volumes per Second ", Journal of Biomedical Optics, 15 (2): 026014, 2010; D-H. Choi, H. Hiro-Oka, K. Shimizu and K. Ohbayashi, "Spectral Domain Optical Coherence Tomography of Multi-MHz A-Scan Rates at 1310 nm Range and Real-time 4D-Display Up to 41 Volumes / Biomedical Optics Express, 3 (12): 3067-3086, 2012; W. Wieser, W. Draxinger, T. Klein, S. Karph, T. Pfeiffer, and R. Huber, "High Definition Live 3D-OCT in vivo: Design and Evaluation of a 4D OCT Engine with 1GVoxels / Optics Express, 5 (9): 2963-2977, 2014) have been actively studied / developed.
GPU 기반의 OCT 시스템은 기본적은 CPU에서 데이터 수집을 GPU에서 데이터 처리를 통해 2차원 단층 이미지를 획득하며, 하나의 단층 이미지를 획득하는 시간은 데이터 수집 시간과 데이터 처리 시간을 합한 시간이다.The GPU-based OCT system basically acquires the data from the CPU, acquires the 2-dimensional tomographic image through the data processing in the GPU, and acquires the single tomographic image is the sum of the data acquisition time and the data processing time.
GPU 기반 방법들이 기존 방법들과 비교해서 처리 속도 측면에서 향상된 성능을 보이지만, GPU-CPU 간 데이터 전송 속도와 같은 데이터 처리와 관련이 없는 추가적인 처리 시간이 필요하며 이는 대부분 하드웨어적인 문제(예. CPU-GPU 사이의 데이터 bandwidth)이기 때문에 처리 속도 향상 측면에서 한계가 있는바, GPU를 이용한 OCT 시스템에서 GPU-CPU간의 데이터 전송속도 개선을 위한 기술이 요구된다.GPU-based methods show improved performance in terms of processing speed compared to existing methods, but require additional processing time not related to data processing, such as GPU-to-CPU data transfer rates, GPU-to-GPU data bandwidth). Therefore, a technique for improving the data transfer speed between the GPU and the CPU is required in the OCT system using the GPU.
관련 선행기술인 대한민국 등록특허 제1409234호(간섭 신호를 병렬 처리할 수 있는 광 간섭 단층 촬영장치)는, SS-OCT 및 SS-OCT를 포함하는 FD-OCT에서 데이터 처리 속도를 향상시키기 위한 것으로서, 처리부는 상기 획득된 데이터를 복수의 데이터 세트들로 그룹화하고 상기 복수의 데이터 세트들을 병렬 처리하는 것을 특징으로 하는바, GPU 이용의 효율성을 높이고자 해당 적용분야에 특화하여 개선된 기술을 제안하는 본 발명과는 상이하다. Korean Patent No. 1409234 (Optical coherence tomography apparatus capable of parallel processing of interference signals), which is related art, is for improving data processing speed in FD-OCT including SS-OCT and SS-OCT, Is characterized in that the obtained data is grouped into a plurality of data sets and the plurality of data sets are processed in parallel. In order to enhance the efficiency of using the GPU, the present invention .
본 발명은 2차원 단면영상과 3차원 볼륨영상을 획득할 수 있는 GPU를 활용한 OCT 시스템 및 방법을 제공하고자 한다. The present invention provides an OCT system and method using a GPU capable of acquiring a 2D sectional image and a 3D volume image.
또한, 2차원 단면영상을 획득함에 있어, CPU-GPU 병렬처리를 통해 기존 방법들과 비교하여 처리속도를 단축할 수 있고 이에 따라 실시간으로 샘플에 대한 3차원 볼륨영상 획득이 가능한 OCT 시스템 및 방법을 제공하고자 한다. In addition, the OCT system and method that can reduce the processing speed compared with existing methods through CPU-GPU parallel processing and acquire 3-D volume images in real time in acquiring 2-dimensional sectional images in real time .
본 발명은 CPU(Central Processing Unit) 및 GPU(Graphics Processing Unit)에 의해 A-Scan 데이터 기반으로 2차원 단층 이미지 또는 3차원 볼륨 이미지를 생성하는 광간섭단층영상(OCT: optical coherence tomography)시스템에 있어서, 상기 CPU는 멀티 코어(Multi-core) CPU이며, A-Scan 데이터가 스위칭되어 입력되는 다수의 버퍼; 상기 각 버퍼와 연결된 고정 메모리(Pinned memory); 2차원 단층 이미지에 대한 A-Scan 데이터가 상기 다수의 버퍼에 번갈아 가며 순차적으로 입력되어 상기 고정 메모리로 이동하는 병렬 스위칭 프로세스를 수행하는 입력처리부; 및 상기 고정메모리로 이동한 A-Scan 데이터를 GPU 메모리에 전송하는 데이터전송부;를 포함하고, 상기 GPU는, 상기 데이터전송부에 의해 전송되어 GPU메모리에 저장되는 A-Scan 데이터에 대한 이미지 생성작업을 수행하는 신호처리부; 및 상기 신호처리부에 의해 2차원 단층 이미지에 대한 데이터 처리가 완료되면 해당 이미지를 CPU로 전송하는 이미지전송부; 를 포함하여, 상기 입력처리부, 데이터전송부, 신호처리부 및 이미지전송부의 동작에 의해 다수의 A-Scan 데이터가 병렬 처리되는 것을 특징으로 하는 광간섭단층영상 시스템을 제공한다.The present invention relates to an optical coherence tomography (OCT) system for generating a two-dimensional tomographic image or a three-dimensional volume image on the basis of A-Scan data by a central processing unit (CPU) and a graphics processing unit , The CPU is a multi-core CPU and includes a plurality of buffers into which A-scan data is switched and input; A pinned memory coupled to each of the buffers; An input processor for performing a parallel switching process in which A-scan data for a two-dimensional tomographic image is sequentially input to the plurality of buffers and then moved to the fixed memory; And a data transfer unit for transferring the A-Scan data moved to the fixed memory to the GPU memory, wherein the GPU includes an image generation unit for generating image data for A-Scan data stored in the GPU memory, A signal processing unit for performing an operation; And an image transmission unit for transmitting the image to the CPU when the data processing for the two-dimensional tomographic image is completed by the signal processing unit. And a plurality of A-scan data are processed in parallel by the operations of the input processor, the data transmitter, the signal processor, and the image transmitter.
본 발명의 일 특징에 의하면, 상기 GPU는, 상기 신호처리부에 의해 생성된 GPU 메모리에 저장된 2차원 이미지의 집합에 접근하여 3차원 볼륨 이미지를 시각화하는 렌더링처리부를 포함한다.According to an aspect of the present invention, the GPU includes a rendering processing unit for accessing a set of two-dimensional images stored in the GPU memory generated by the signal processing unit to visualize a three-dimensional volume image.
본 발명의 다른 특징에 의하면, CPU(Central Processing Unit) 및 GPU(Graphics Processing Unit)에 의해 A-Scan 데이터 기반으로 2차원 단층 이미지 또는 3차원 볼륨 이미지를 생성하는 광간섭단층영상(OCT: optical coherence tomography) 생성방법에 있어서, 1) 멀티 코어(Multi-core) CPU가 제1버퍼로 A-Scan 데이터를 획득하는 단계; 2) 멀티 코어(Multi-core) CPU가 제2버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 상기 제1버퍼의 A-Scan 데이터를 그에 연결된 제1 고정 메모리(Pinned memory)로 이동시키는 단계; 3) 멀티 코어(Multi-core) CPU가 제1버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 병렬적으로 상기 제2버퍼의 A-Scan 데이터를 그에 연결된 제2 고정 메모리(Pinned memory)로 이동시키고, 상기 제1고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하는 단계; 4) 멀티 코어(Multi-core) CPU가 제2버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 병렬적으로 상기 제1버퍼의 A-Scan 데이터를 그에 연결된 제1 고정 메모리(Pinned memory)로 이동시키고, 상기 제2고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하고, 상기 GPU의 신호처리부는 이전에 상기 GPU 메모리에 저장된 A-Scan 데이터에 대한 이미지 생성작업을 실행하는 단계; 5) 멀티 코어(Multi-core) CPU가 제1버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 병렬적으로 상기 제2버퍼의 A-Scan 데이터를 그에 연결된 제2 고정 메모리(Pinned memory)로 이동시키고, 상기 제1고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하고, 상기 GPU의 신호처리부는 이전에 상기 GPU 메모리에 저장된 A-Scan 데이터에 대한 이미지 생성작업을 실행하는 단계; 및 6) 상기 4단계 및 5단계를 반복실행하여 GPU에 의한 2차원 단층 이미지에 대한 데이터 처리가 완료되면, 해당 이미지를 CPU에 전송하는 단계;를 포함하는 광간섭단층영상 생성방법을 제공한다.According to another aspect of the present invention, there is provided an optical coherence tomography (OCT) system that generates a two-dimensional tomographic image or a three-dimensional volume image based on A-scan data by a central processing unit (CPU) and a graphics processing unit (1) acquiring A-Scan data from a first buffer by a multi-core CPU; 2) A multi-core CPU acquires the next A-Scan data in the second buffer and moves the A-Scan data of the first buffer to a first pinned memory connected thereto ; 3) A multi-core CPU acquires the next A-Scan data in the first buffer and concurrently acquires A-Scan data of the second buffer in a second fixed memory connected thereto Transferring the A-Scan data of the first fixed memory to the GPU memory; 4) A multi-core CPU acquires the next A-Scan data in the second buffer and concurrently acquires A-Scan data of the first buffer in a first fixed memory connected thereto And transmits the A-Scan data of the second fixed memory to the GPU memory, and the signal processing unit of the GPU executes an image generation operation on the A-Scan data previously stored in the GPU memory; 5) A multi-core CPU acquires the next A-Scan data in the first buffer and concurrently acquires A-Scan data of the second buffer in a second fixed memory connected thereto And transmitting the A-Scan data of the first fixed memory to the GPU memory, wherein the signal processing unit of the GPU executes an image generation operation for the A-scan data previously stored in the GPU memory; And 6) repeating the steps 4 and 5 to transmit the image to the CPU when the data processing of the 2-dimensional tomographic image by the GPU is completed.
본 발명의 일 특징에 의하면, 상기 6)단계에 의해 데이터 처리가 완료되어 GPU 메모리에 저장된 2차원 이미지의 집합에 접근하여 3차원 볼륨 이미지를 시각화하는 렌더링단계;를 더 포함한다.According to an aspect of the present invention, the method further includes a rendering step of visualizing a three-dimensional volume image by accessing a set of two-dimensional images stored in the GPU memory after data processing is completed by the step 6).
본 발명에 따르면, CPU 만을 이용한 시스템 또는 CPU와 GPU를 순차 처리(serial processing)하는 종래 기술과 비교할 때, 초당 획득할 수 있는 2차원 단층 이미지 수(FPS: frames per second)를 획기적으로 높일 수 있으며, 이를 통해 실시간 OCT 시스템 구현이 가능하다. According to the present invention, it is possible to dramatically increase the number of 2-dimensional tomographic images (FPSs) that can be acquired per second as compared with the conventional technology in which only a CPU or a CPU and a GPU are serially processed , Which enables real-time OCT system implementation.
도 1은 샘플(눈 각막)에 대한 2차원 단층 이미지와 3차원 볼륨 이미지를 도시한 것이다.Figure 1 shows a two-dimensional tomographic image and a three-dimensional volume image of a sample (eye cornea).
도 2는 본 발명에 따른 시스템 구성 블록도이다.2 is a block diagram of a system configuration according to the present invention.
도 3은 본 발명에 따른 CPU-GPU 병렬처리 개념도이다.3 is a conceptual diagram of a CPU-GPU parallel processing according to the present invention.
도 4는 본 발명에 따른 시스템의 데이터 처리 개념도이다.4 is a data processing conceptual diagram of a system according to the present invention.
도 5는 본 발명에 따른 처리방법의 순서도이다.5 is a flowchart of a processing method according to the present invention.
도 6은 본 발명에 따른 GPU 처리방법의 개념도이다.6 is a conceptual diagram of a GPU processing method according to the present invention.
본 발명은 A-Scan 데이터 단위의 CPU-GPU 병렬 처리를 통해 데이터 수집과 처리를 동시에 처리하여 단층 이미지 획득 시간을 줄이는 방법에 관한 것으로, CPU는 2차원 단층 이미지에 해당하는 A-Scan 데이터 수집을 완료하면 이를 GPU 메모리에 전송하고 GPU 처리 완료를 기다리지 않고 다음 단층 이미지에 대한 데이터 수집을 시작하여, 이로 인해 CPU에서의 처리시간(데이터 수집 시간) 또는 GPU에서의 처리시간(데이터 처리 시간)만으로 전체 시스템의 성능이 결정된다.The present invention relates to a method for simultaneously processing data collection and processing through CPU-GPU parallel processing of A-Scan data units to reduce the acquisition time of a tomographic image, and the CPU performs A-scan data collection corresponding to a 2-dimensional tomographic image Once completed, it is transferred to the GPU memory and data acquisition for the next tomographic image is started without waiting for the GPU processing to complete. As a result, the processing time (data collection time) in the CPU or the processing time (data processing time) The performance of the system is determined.
본 발명은 OCT 시스템 처리 속도(2차원 단면 이미지 생성 속도) 향상을 위한 CPU-GPU 병렬처리 방법을 제공하는바, 여기서 병렬 처리는 데이터 획득과 영상 생성이 동시에 처리됨을 의미하며, 이는 CPU와 GPU를 각각의 고유 프로세서(processor)로 간주할 수 있기 때문에 가능하다. The present invention provides a CPU-GPU parallel processing method for improving OCT system processing speed (two-dimensional sectional image generation speed), wherein parallel processing means that data acquisition and image generation are processed simultaneously, It is possible because it can be regarded as each unique processor.
이하에서는, 도면을 참조하여 본 발명의 기술적 특징을 상세히 설명한다.Hereinafter, technical features of the present invention will be described in detail with reference to the drawings.
도 2는 본 발명에 따른 광간섭단층영상(OCT: optical coherence tomography) 시스템의 구성블록도로서, CPU(Central Processing Unit) 및 GPU(Graphics Processing Unit)에 의해 A-Scan 데이터 기반으로 2차원 단층 이미지 또는 3차원 볼륨 이미지를 생성하는 광간섭단층영상(OCT: optical coherence tomography)시스템에 있어서, CPU(1)는 버퍼(10), 고정메모리(20), 입력처리부(30) 및 데이터전송부(40)를 포함하고, GPU(2)는 GPU 메모리(50), 신호처리부(60), 이미지전송부(70) 및 렌더링처리부(80)를 포함한다.2 is a block diagram of an optical coherence tomography (OCT) system according to an embodiment of the present invention. Referring to FIG. 2, a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit) Or an optical coherence tomography (OCT) system for generating a three-dimensional volume image, the CPU 1 includes a buffer 10, a fixed memory 20, an input processing unit 30, and a data transfer unit 40 The GPU 2 includes a GPU memory 50, a signal processing unit 60, an image transmitting unit 70, and a rendering processing unit 80.
본 발명은 병렬처리를 위하여 멀티 코어(Multi-core) CPU를 적용하며, 버퍼(10)는 다수의 버퍼(101,102..)로 분리 구성되고 A-Scan 데이터가 스위칭되어(교차적으로) 입력되도록 한다.In the present invention, a multi-core CPU is used for parallel processing, and the buffer 10 is divided into a plurality of buffers 101 and 102 so that the A-scan data is switched (cross-over) do.
바람직하게는, 제1버퍼(101)와 제2버퍼(102)로 구성될 수 있으며, 요구되는 처리 용량에 따라 버퍼수는 증가시킬 수 있다.Preferably, the first buffer 101 and the second buffer 102 can be formed, and the number of buffers can be increased according to the required processing capacity.
고정메모리(Pinned memory,20)는 데이터 전송시간을 줄이기 위해 적용되며, 제1고정메모리(201), 제2고정메모리(202)와 같이 구분되어 상기 각 버퍼(101,102)에 연결된다. A pinned memory 20 is applied to reduce data transfer time and is connected to each of the buffers 101 and 102 in the same manner as the first fixed memory 201 and the second fixed memory 202.
입력처리부(30)는 2차원 단층 이미지에 대한 A-Scan 데이터가 상기 다수의 버퍼(101,102)에 번갈아 가며 순차적으로 입력되어 상기 고정 메모리(201,202)로 이동하는 병렬 스위칭 프로세스를 수행하는 다수의 코어이다.The input processing unit 30 is a plurality of cores for performing a parallel switching process in which A-scan data for a two-dimensional tomographic image is sequentially inputted to the plurality of buffers 101 and 102 and then moved to the fixed memories 201 and 202 .
데이터전송부(40)는 상기 고정메모리(201,202)로 번갈아 순차적으로 이동한 A-Scan 데이터를 GPU 메모리(50)에 전송하는바, 입력처리부(30)의 병렬처리로 인해 매 클럭마다 데이터 전송이 가능하다. The data transfer unit 40 transfers the A-scan data sequentially and sequentially transferred to the fixed memories 201 and 202 to the GPU memory 50. The data transfer unit 40 transfers the A- It is possible.
신호처리부(60)는 상기 데이터전송부(40)에 의해 전송되어 GPU 메모리(50)에 저장되는 A-Scan 데이터에 대한 이미지 생성작업을 수행하고 GPU 메모리(50)에 저장한다.The signal processing unit 60 performs an image creation operation on the A-scan data transmitted by the data transfer unit 40 and stored in the GPU memory 50, and stores the image data in the GPU memory 50.
이미지전송부(70)는 2차원 단층 이미지를 위한 A-Scan 데이터에 대한 데이터 처리작업이 완료되었는지 판단하고, 2차원 단층 이미지를 CPU로 전송한다.The image transfer unit 70 determines whether the data processing operation of the A-scan data for the two-dimensional tomographic image is completed, and transmits the two-dimensional tomographic image to the CPU.
이와 같이, 상기 입력처리부(30), 데이터전송부(40), 신호처리부(60) 및 이미지 전송부(70)의 동작에 의해 다수의 A-Scan 데이터가 병렬 처리된다.As described above, a plurality of A-scan data are processed in parallel by the operations of the input processing unit 30, the data transfer unit 40, the signal processing unit 60, and the image transfer unit 70.
도 3은 CPU-GPU 병렬 처리에 대한 흐름도를 보여준다. Figure 3 shows a flow chart for CPU-GPU parallel processing.
CPU가 2차원 단층 이미지 한 장에 대한 신호 데이터(interference 데이터)를 획득하는 동안 GPU가 획득된 데이터를 처리하여 2차원 단면 이미지를 생성하며, 이로 인해 GPU를 활용하는 방법들과 비교해서 초당 2차원 단면 이미지(프레임) 획득 수(FPS: frames per second)를 높일 수 있다. While the CPU acquires signal data (interference data) for a single two-dimensional tomographic image, the GPU processes the acquired data to generate a two-dimensional cross-sectional image, which results in a two-dimensional It is possible to increase the number of cross-sectional image (frame) acquisitions (frames per second (FPS)).
본 발명 데이터 획득과 처리 시간 중 느린 시간에 의해 전체 시스템의 성능이 결정되며, 도 2를 예로 들면 데이터 획득 시간이 처리시간보다 느리기 때문에 전체 시스템의 성능(2차원 단면 이미지 생성 속도)은 데이터 획득 시간과 일치한다. The performance of the entire system is determined by the data acquisition and processing time of the present invention, and the performance of the entire system is determined. For example, in FIG. 2, since the data acquisition time is slower than the processing time, .
예를 들어, 200 K 광원(1초에 200,000개의 A-Scan 데이터 수집)을 이용하여 데이터를 획득하고 500개의 A-Scan 데이터로 2차원 이미지를 생성하는 경우, 본 발명은 400 FPS(초당 400장의 2차원 이미지 생성, 200,000/500 = 400)의 시스템 성능을 보였다.For example, if data is acquired using a 200 K light source (200,000 A-Scan data acquisitions per second) and a two-dimensional image is generated with 500 A-Scan data, the present invention provides 400 FPS Two-dimensional image generation, 200,000 / 500 = 400) system performance.
도 4는 데이터 획득부터 2차원 이미지 생성까지의 흐름도를 보여준다. 4 shows a flow chart from data acquisition to two-dimensional image generation.
CPU는 데이터 수집 장치(디지타이저)로부터 A-Scan 데이터(interference 신호 데이터)를 순차적으로 획득하고, 2차원 이미지에 대한 데이터 획득이 완료되면 이를 GPU 메모리에 전송한다. The CPU sequentially acquires the A-scan data (interference signal data) from the data acquisition device (digitizer) and transmits it to the GPU memory when the data acquisition for the two-dimensional image is completed.
본 발명은 CPU-GPU 데이터 전송시간을 줄이기 위해 Pinned 메모리(고정 메모리)를 이용하며, 이를 위해 Buffer에 저장된 디지타이저로부터 획득한 데이터를 Pinned 메모리로 이동하는 과정이 추가된다. In the present invention, a pinned memory (fixed memory) is used to reduce the CPU-GPU data transfer time. To this end, a process of moving data acquired from the digitizer stored in the buffer to the pinned memory is added.
Buffer에서 Pinned 메모리로 이동하는 시간을 최소화하기 multi-core CPU를 이용하여 병렬 처리를 수행하며, 병렬 처리를 위해 도 3에서 보는 바와 같이 두 개의 Buffer를 할당하고 Buffer 1과 Buffer 2를 교차(switching)하며 디지타이저로부터 신호데이터를 수집한다. To minimize the time required to move from the buffer to the pinned memory, parallel processing is performed using a multi-core CPU, and as shown in FIG. 3, two buffers are allocated for parallel processing, and switching between Buffer 1 and Buffer 2 is performed. And collects signal data from the digitizer.
수집 데이터는 다른 Buffer에서 데이터를 수집하는 동안 Pinned 메모리로 이동한다. 예를 들어, Buffer 1에서 신호를 획득한 후 Buffer 2에서 신호를 획득하며, Buffer 2가 신호를 획득하는 동안 Buffer 1의 신호 데이터를 Pinned 메모리 1로 이동한다. Collected data moves to pinned memory while collecting data from other buffers. For example, after acquiring a signal from Buffer 1, acquire the signal from Buffer 2, and while Buffer 2 acquires the signal, move the signal data of Buffer 1 to Pinned Memory 1.
GPU는 Pinned 메모리로부터 전송받은 데이터를 A-Scan 단위로 신호처리 알고리즘을 수행하여 2차원 이미지를 생성하며, GPU는 내부적으로 병렬 처리를 지원하기 때문에 여러 개의 A-Scan 데이터를 동시에 처리할 수 있고 이로 인해 이미지 생성에서의 수행 시간을 줄일 수 있다. The GPU generates a two-dimensional image by performing a signal processing algorithm on the A-scan unit from the data received from the pinned memory. Since the GPU internally supports parallel processing, it is possible to process multiple A-scan data simultaneously, Thereby reducing the execution time in image generation.
A-Scan 데이터 하나에 대한 신호처리 알고리즘은 크게 Rescaling, FFT(fast Fourier transform), Log-scaling compression 단계로 구성된다.The signal processing algorithm for one A-scan data consists of Rescaling, Fast Fourier transform (FFT), and Log-scaling compression.
GPU는 실제적으로 CPU-GPU 간 데이터 전송에 상당부분의 시간을 소요한다.The GPU actually takes a significant amount of time to transfer data between the CPU and the GPU.
이를 해결하기 위해 본 발명은 GPU 내부에서 데이터 전송 및 처리를 병렬 처리(concurrency)하였다.In order to solve this problem, the present invention concurrency of data transmission and processing within the GPU.
GPU에서의 데이터 전송 및 처리는 크게 CPU에서 GPU로의 데이터 전송, GPU에서의 데이터 처리, GPU에서 CPU로의 데이터 전송, 3 단계로 구성되며, 병렬 처리를 위해 CPU에서 획득한 데이터를 분할하여 전송 및 처리한다. Data transmission and processing in the GPU is largely composed of three steps: data transfer from the CPU to the GPU, data processing in the GPU, and data transfer from the GPU to the CPU. In the parallel processing, data obtained from the CPU is divided, do.
3차원 이미지가 필요한 경우, GPU는 추가적으로 렌더링처리부(80)를 이용하여 상기 신호처리부에 의해 생성된 GPU 메모리에 저장된 2차원 이미지의 집합에 접근하여 3차원 볼륨 이미지를 시각화하며, 이를 위해 Volume Rendering 알고리즘을 수행한다.When a three-dimensional image is required, the GPU further accesses a set of two-dimensional images stored in the GPU memory created by the signal processing unit using the rendering processing unit 80 to visualize a three-dimensional volume image. For this purpose, a Volume Rendering algorithm .
즉, 신호처리 알고리즘을 통해 생성된 순차적으로 획득한 2차원 이미지 집합(예. Raster Pattern으로 획득된 3차원 볼륨 데이터)은 GPU 메모리에 저장되며, 렌더링처리부(80)는 Volume Rendering 알고리즘을 통해 GPU 메모리에 접근하여 3차원 볼륨 이미지 시각화를 수행한다. That is, the sequentially acquired two-dimensional image sets (for example, three-dimensional volume data obtained by the raster pattern) generated through the signal processing algorithm are stored in the GPU memory, and the rendering processing unit 80 supplies the GPU memory And visualizes the 3D volume image.
Volume Rendering 알고리즘은 Ray Casting 기반 방법과 Texture Slicing 기반 방법 등이 있다. The volume rendering algorithm is based on Ray casting and texture slicing.
도 5는 본 발명에 따른 광간섭단층영상(OCT: optical coherence tomography) 처리방법의 순서도로서, 상술한 CPU(1) 및 GPU(2)구성을 기반으로 제1버퍼(101), 제2버퍼(102), 제1고정메모리(201) 및 제2고정메모리(202)에 대한 프로세스를 나타낸다.5 is a flowchart of an optical coherence tomography (OCT) processing method according to an embodiment of the present invention. Referring to FIG. 5, a first buffer 101, a second buffer 102, the first fixed memory 201, and the second fixed memory 202. [
도 6은 GPU 내에서 수행되는 병렬 처리 과정의 개념도로서, CPU에서 획득한 데이터를 1/4씩 나누어 병렬 처리를 수행하는 예를 보여주며, 첫번째 데이터(첫 번째 1/4 데이터)를 CPU에서 GPU로 전송(a)하고 전송된 데이터를 처리(b)하는 동안 두번째 데이터(두 번째 1/4 데이터)를 GPU로 전송한다. 데이터 처리가 완료된 데이터는 다시 CPU로 전송(c)한다. FIG. 6 is a conceptual view of a parallel processing performed in the GPU. FIG. 6 shows an example of performing parallel processing by dividing data acquired by a CPU by 1/4. The first data (first 1/4 data) (A) and transmits the second data (second 1/4 data) to the GPU while processing the transmitted data (b). Data that has been processed is transferred (c) to the CPU again.
도 6에서 보는 바와 같이 GPU에서 병렬 처리를 수행하면 GPU에서의 전체 처리 시간(d)은 CPU에서 GPU로의 데이터 전송 시간(e)과 GPU에서 CPU로의 데이터 전송 시간(f)의 합과 유사하며, 결론적으로 GPU에서의 전체 처리 시간은 데이터 처리(이미지 생성) 시간보다는 CPU-GPU 간 데이터 전송 속도에 의해 결정된다.6, the total processing time (d) in the GPU is similar to the sum of the data transfer time (e) from the CPU to the GPU and the data transfer time (f) from the GPU to the CPU, In conclusion, the total processing time in the GPU is determined by the data transfer speed between the CPU and GPU rather than the data processing (image generation) time.
따라서 처리 프로세스를 도 5를 중심으로 정리하면 다음과 같다. Therefore, the processing process is summarized with reference to FIG. 5 as follows.
1단계인 제1버퍼 데이터 획득단계(s10)에서는 멀티 코어(Multi-core) CPU가 제1버퍼(101)로 A-Scan 데이터를 획득한다.In the first buffer data obtaining step s10, which is the first step, the multi-core CPU obtains the A-scan data in the first buffer 101. [
2단계는, 멀티 코어(Multi-core) CPU가 제2버퍼로 다음 A-Scan 데이터를 획득함(s201)과 동시에, 상기 제1버퍼의 A-Scan 데이터를 그에 연결된 제1 고정 메모리(Pinned memory)로 이동시킨다(s202). In step 2, the multi-core CPU acquires the next A-scan data in the second buffer (s201) and simultaneously transmits the A-Scan data of the first buffer to the first fixed memory (S202).
3단계는, 멀티 코어(Multi-core) CPU가 제1버퍼로 다음 A-Scan 데이터를 획득함(s301)과 동시에, 병렬적으로 상기 제2버퍼의 A-Scan 데이터를 그에 연결된 제2 고정 메모리(Pinned memory)로 이동시키고(s302), 상기 제1고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송한다(s303).In step 3, the multi-core CPU acquires the next A-scan data in the first buffer (s301), and concurrently acquires the A-scan data of the second buffer in the second fixed memory (S302), and transmits the A-Scan data of the first fixed memory to the GPU memory (s303).
4단계는, 멀티 코어(Multi-core) CPU가 제2버퍼로 다음 A-Scan 데이터를 획득함(s401)과 동시에, 병렬적으로 상기 제1버퍼의 A-Scan 데이터를 그에 연결된 제1 고정 메모리(Pinned memory)로 이동시키고(s402), 상기 제2고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하고(s403), 상기 GPU의 신호처리부는 이전에 상기 GPU 메모리에 저장된 A-Scan 데이터에 대한 이미지 생성작업을 실행한다(s404). In step 4, the multi-core CPU acquires the next A-scan data in the second buffer (s401), and concurrently acquires the A-scan data of the first buffer in the first fixed memory Scan data of the second fixed memory to the GPU memory (s403), and the signal processing unit of the GPU transfers the A-Scan data of the second fixed memory to the pinned memory An image creation job is executed (s404).
5단계는, 멀티 코어(Multi-core) CPU가 제1버퍼로 다음 A-Scan 데이터를 획득함(s501)과 동시에, 병렬적으로 상기 제2버퍼의 A-Scan 데이터를 그에 연결된 제2 고정 메모리(Pinned memory)로 이동시키고(s502), 상기 제1고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하고(s503), 상기 GPU의 신호처리부는 이전에 상기 GPU 메모리에 저장된 A-Scan 데이터에 대한 이미지 생성작업을 실행한다(s504).In step 5, the multi-core CPU acquires the next A-scan data in the first buffer (s501), and concurrently acquires the A-scan data of the second buffer in the second fixed memory (S502), the A-Scan data of the first fixed memory is transferred to the GPU memory (s503), and the signal processing unit of the GPU transfers the A-Scan data of the A-Scan data stored in the GPU memory to the pinned memory An image creation job is executed (s504).
6단계는, 상기 4단계 및 5단계를 반복실행하면서 GPU에 의한 2차원 단층 이미지에 대한 데이터 처리가 완료 여부를 판단하고, 완료된 경우 해당 이미지를 CPU에 전송한다(s60).In step S6, it is determined whether or not the data processing of the two-dimensional tomographic image by the GPU is completed while the steps 4 and 5 are repeatedly performed. If completed, the corresponding image is transmitted to the CPU in operation s60.
추가적으로 3차원 이미지가 필요한 경우, GPU는 상기 6단계 이후에 추가적으로 렌더링처리부(80)를 이용하여 상기 6단계에 의해 데이터 처리가 완료되어 GPU 메모리에 저장된 2차원 이미지의 집합에 접근하여 3차원 볼륨 이미지를 시각화하는 렌더링처리단계(s60)를 더 수행한다. If a three-dimensional image is additionally required, the GPU accesses the set of two-dimensional images stored in the GPU memory after the data processing is completed by the step 6 using the rendering processor 80, (S60) for visualizing the rendering process (step s60).
[부호의 설명][Description of Symbols]
10 : 버퍼 20 : 고정메모리10: buffer 20: fixed memory
30 : 입력처리부 40 : 데이터전송부30: input processor 40:
50 : GPU 메모리 60 : 신호처리부50: GPU memory 60: signal processor
70 : 이미지전송부 80 : 렌더링처리부70: image transmitting unit 80: rendering processing unit

Claims (4)

  1. CPU(Central Processing Unit) 및 GPU(Graphics Processing Unit)에 의해 A-Scan 데이터 기반으로 2차원 단층 이미지 또는 3차원 볼륨 이미지를 생성하는 광간섭단층영상(OCT: optical coherence tomography)시스템에 있어서,An optical coherence tomography (OCT) system for generating a two-dimensional tomographic image or a three-dimensional volume image based on an A-scan data by a central processing unit (CPU) and a graphics processing unit (GPU)
    상기 CPU는 멀티 코어(Multi-core) CPU이며,The CPU is a multi-core CPU,
    A-Scan 데이터가 스위칭되어 입력되는 다수의 버퍼;A plurality of buffers into which A-Scan data is switched and input;
    상기 각 버퍼와 연결된 고정 메모리(Pinned memory);A pinned memory coupled to each of the buffers;
    2차원 단층 이미지에 대한 A-Scan 데이터가 상기 다수의 버퍼에 번갈아 가며 순차적으로 입력되어 상기 고정 메모리로 이동하는 병렬 스위칭 프로세스를 수행하는 입력처리부; 및An input processor for performing a parallel switching process in which A-scan data for a two-dimensional tomographic image is sequentially input to the plurality of buffers and then moved to the fixed memory; And
    상기 고정메모리로 이동한 A-Scan 데이터를 GPU 메모리에 전송하는 데이터전송부;를 포함하고,And a data transfer unit for transferring the A-Scan data moved to the fixed memory to the GPU memory,
    상기 GPU는, The GPU includes:
    상기 데이터전송부에 의해 전송되어 GPU메모리에 저장되는 A-Scan 데이터에 대한 이미지 생성작업을 수행하는 신호처리부; 및A signal processor for performing an image generation operation on the A-scan data transmitted by the data transmitter and stored in the GPU memory; And
    상기 신호처리부에 의해 2차원 단층 이미지에 대한 데이터 처리가 완료되면 해당 이미지를 CPU로 전송하는 이미지전송부; 를 포함하여,An image transmitting unit for transmitting the image to the CPU when the data processing of the two-dimensional tomographic image is completed by the signal processing unit; Including,
    상기 입력처리부, 데이터전송부, 신호처리부 및 이미지전송부의 동작에 의해 다수의 A-Scan 데이터가 병렬 처리되는 것을 특징으로 하는 광간섭단층영상 시스템.Wherein the plurality of A-scan data are processed in parallel by the operations of the input processor, the data transmitter, the signal processor, and the image transmitter.
  2. 제1항에 있어서,The method according to claim 1,
    상기 GPU는,The GPU includes:
    상기 신호처리부에 의해 생성된 GPU 메모리에 저장된 2차원 이미지의 집합에 접근하여 3차원 볼륨 이미지를 시각화하는 렌더링처리부를 포함하는 광간섭단층영상 시스템.And a rendering processor for accessing a set of two-dimensional images stored in the GPU memory generated by the signal processor to visualize a three-dimensional volume image.
  3. CPU(Central Processing Unit) 및 GPU(Graphics Processing Unit)에 의해 A-Scan 데이터 기반으로 2차원 단층 이미지 또는 3차원 볼륨 이미지를 생성하는 광간섭단층영상(OCT: optical coherence tomography) 처리방법에 있어서,1. An optical coherence tomography (OCT) processing method for generating a two-dimensional tomographic image or a three-dimensional volume image based on an A-scan data by a central processing unit (CPU) and a graphics processing unit (GPU)
    1) 멀티 코어(Multi-core) CPU가 제1버퍼로 A-Scan 데이터를 획득하는 단계;1) A multi-core CPU acquires A-Scan data with a first buffer;
    2) 멀티 코어(Multi-core) CPU가 제2버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 상기 제1버퍼의 A-Scan 데이터를 그에 연결된 제1 고정 메모리(Pinned memory)로 이동시키는 단계;2) A multi-core CPU acquires the next A-Scan data in the second buffer and moves the A-Scan data of the first buffer to a first pinned memory connected thereto ;
    3) 멀티 코어(Multi-core) CPU가 제1버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 병렬적으로 상기 제2버퍼의 A-Scan 데이터를 그에 연결된 제2 고정 메모리(Pinned memory)로 이동시키고, 상기 제1고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하는 단계;3) A multi-core CPU acquires the next A-Scan data in the first buffer and concurrently acquires A-Scan data of the second buffer in a second fixed memory connected thereto Transferring the A-Scan data of the first fixed memory to the GPU memory;
    4) 멀티 코어(Multi-core) CPU가 제2버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 병렬적으로 상기 제1버퍼의 A-Scan 데이터를 그에 연결된 제1 고정 메모리(Pinned memory)로 이동시키고, 상기 제2고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하고, 상기 GPU의 신호처리부는 이전에 상기 GPU 메모리에 저장된 A-Scan 데이터에 대한 이미지 생성작업을 실행하는 단계;4) A multi-core CPU acquires the next A-Scan data in the second buffer and concurrently acquires A-Scan data of the first buffer in a first fixed memory connected thereto And transmits the A-Scan data of the second fixed memory to the GPU memory, and the signal processing unit of the GPU executes an image generation operation on the A-Scan data previously stored in the GPU memory;
    5) 멀티 코어(Multi-core) CPU가 제1버퍼로 다음 A-Scan 데이터를 획득함과 동시에, 병렬적으로 상기 제2버퍼의 A-Scan 데이터를 그에 연결된 제2 고정 메모리(Pinned memory)로 이동시키고, 상기 제1고정 메모리의 A-Scan 데이터를 GPU 메모리로 전송하고, 상기 GPU의 신호처리부는 이전에 상기 GPU 메모리에 저장된 A-Scan 데이터에 대한 이미지 생성작업을 실행하는 단계; 및 5) A multi-core CPU acquires the next A-Scan data in the first buffer and concurrently acquires A-Scan data of the second buffer in a second fixed memory connected thereto And transmitting the A-Scan data of the first fixed memory to the GPU memory, wherein the signal processing unit of the GPU executes an image generation operation for the A-scan data previously stored in the GPU memory; And
    6) 상기 4)단계 및 5)단계를 반복실행하여 GPU에 의한 2차원 단층 이미지에 대한 데이터 처리가 완료되면, 해당 이미지를 CPU에 전송하는 단계;를 포함하는 광간섭단층영상 처리방법.6) Repeating the steps 4) and 5) to transmit the image to the CPU when the data processing of the 2-dimensional tomographic image by the GPU is completed.
  4. 제3항에 있어서,The method of claim 3,
    상기 6)단계 이후에, 상기 6)단계에 의해 데이터 처리가 완료되어 GPU 메모리에 저장된 2차원 이미지의 집합에 접근하여 3차원 볼륨 이미지를 시각화하는 렌더링단계;를 더 포함하는 처리부를 포함하는 광간섭단층영상 처리방법.And a rendering step of accessing a set of two-dimensional images stored in the GPU memory by visualizing the three-dimensional volume image after the data processing is completed by the step 6) after the step 6) A tomographic image processing method.
PCT/KR2018/015087 2017-12-06 2018-11-30 Optical coherence tomography system and processing method thereof WO2019112256A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0166822 2017-12-06
KR1020170166822A KR102045880B1 (en) 2017-12-06 2017-12-06 Processing System and method for optical coherence tomography

Publications (1)

Publication Number Publication Date
WO2019112256A1 true WO2019112256A1 (en) 2019-06-13

Family

ID=66750278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/015087 WO2019112256A1 (en) 2017-12-06 2018-11-30 Optical coherence tomography system and processing method thereof

Country Status (2)

Country Link
KR (1) KR102045880B1 (en)
WO (1) WO2019112256A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114331805A (en) * 2021-12-27 2022-04-12 中国科学院苏州生物医学工程技术研究所 OCT imaging method and system based on GPU

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102228018B1 (en) * 2020-11-30 2021-03-16 주식회사 퓨쳐디자인시스템 Frame synchronization signal insertion device and method of tomography system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07386A (en) * 1993-06-14 1995-01-06 Toshiba Corp X-ray computer tomographic system
KR20140038777A (en) * 2012-09-21 2014-03-31 한국디지털병원수출사업협동조합 Touch-based three-dimensional ultrasonic diagonostic apparatus
KR20140068345A (en) * 2012-11-28 2014-06-09 주식회사 휴비츠 Optical coherence tomography capable of parallel processing of coherence signal
KR20140068346A (en) * 2012-11-28 2014-06-09 주식회사 휴비츠 Optical coherence tomography for processing three-dimensional oct data using 64 bit based dynamic memory allocation method
KR20150053629A (en) * 2013-11-08 2015-05-18 삼성전자주식회사 Apparatus and method for generating tomography image

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07386A (en) * 1993-06-14 1995-01-06 Toshiba Corp X-ray computer tomographic system
KR20140038777A (en) * 2012-09-21 2014-03-31 한국디지털병원수출사업협동조합 Touch-based three-dimensional ultrasonic diagonostic apparatus
KR20140068345A (en) * 2012-11-28 2014-06-09 주식회사 휴비츠 Optical coherence tomography capable of parallel processing of coherence signal
KR20140068346A (en) * 2012-11-28 2014-06-09 주식회사 휴비츠 Optical coherence tomography for processing three-dimensional oct data using 64 bit based dynamic memory allocation method
KR20150053629A (en) * 2013-11-08 2015-05-18 삼성전자주식회사 Apparatus and method for generating tomography image

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114331805A (en) * 2021-12-27 2022-04-12 中国科学院苏州生物医学工程技术研究所 OCT imaging method and system based on GPU
CN114331805B (en) * 2021-12-27 2023-04-14 中国科学院苏州生物医学工程技术研究所 OCT imaging method and system based on GPU

Also Published As

Publication number Publication date
KR102045880B1 (en) 2019-11-18
KR20190066922A (en) 2019-06-14

Similar Documents

Publication Publication Date Title
WO2019112256A1 (en) Optical coherence tomography system and processing method thereof
WO2014084556A1 (en) Optical coherence tomography (oct) device for processing three-dimensional oct data
WO2015080317A1 (en) Method and apparatus for compounding ultrasonic images
WO2014123395A1 (en) Image display to display 3d image and sectional images
WO2021132824A1 (en) Method for displaying three-dimensional image in integrated imaging microscope system, and integrated imaging microscope system for implementing same
EP2841936A1 (en) Mobile ultrasound diagnosis probe apparatus for using two-dimension array data, mobile ultrasound diagnosis system using the same
WO2010126307A2 (en) Apparatus and method for a real-time multi-view three-dimensional ultrasonic image user interface for ultrasonic diagnosis system
WO2014035175A1 (en) Method for image compression and pre-diagnosis in three-dimensional remote ultrasound diagnostic apparatus
WO2015115676A1 (en) Image synthesis method and apparatus using plane wave in transducer having sub-array
WO2017048104A1 (en) Apparatus and method for reconstructing multi-resolution three-dimensional x-ray image
WO2015088054A1 (en) Method and device for adjusting setting values of ultrasound image
EP3590090A1 (en) Method and apparatus for processing omni-directional image
US20060009695A1 (en) System and method for providing communication between ultrasound scanners
CN103610444A (en) Multi-point three-dimensional tongue image acquisition unit for tongue diagnosis equipment
IT202100012350A1 (en) Dematerialized, multi-user system for the acquisition, generation and processing of ultrasound images
CN203107093U (en) Ophthalmology frequency domain OCT (Optical Coherence Tomography) system based on GPU (Graphic Processing Unit) platform
Quan et al. Multi-GPU reconstruction of dynamic compressed sensing MRI
CN109124547A (en) A kind of endoscopic spectrum imaging system
CN105686795A (en) En face OCT image dynamic display method
WO2012103767A1 (en) New 3d electronic choledochoscopy system and method for use thereof
CN102934986A (en) Ophthalmologic frequency-domain optical coherence tomography (OCT) system based on graphics processing unit (GPU) platform and processing method
CN100475156C (en) Ultrasound imaging method and real time ultrasound monitoring device in gynae treatment
WO2016006932A1 (en) Fetus sculpture printing service system and method
WO2018230971A1 (en) Method and apparatus for processing omni-directional image
WO2015080318A1 (en) Beamforming method and apparatus using unfocused ultrasonic waves

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18885315

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18885315

Country of ref document: EP

Kind code of ref document: A1