KR101321895B1 - 디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템 - Google Patents

디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템 Download PDF

Info

Publication number
KR101321895B1
KR101321895B1 KR1020120098031A KR20120098031A KR101321895B1 KR 101321895 B1 KR101321895 B1 KR 101321895B1 KR 1020120098031 A KR1020120098031 A KR 1020120098031A KR 20120098031 A KR20120098031 A KR 20120098031A KR 101321895 B1 KR101321895 B1 KR 101321895B1
Authority
KR
South Korea
Prior art keywords
hologram
image
threads
depth
processed
Prior art date
Application number
KR1020120098031A
Other languages
English (en)
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 광운대학교 산학협력단
Priority to KR1020120098031A priority Critical patent/KR101321895B1/ko
Application granted granted Critical
Publication of KR101321895B1 publication Critical patent/KR101321895B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Processing (AREA)

Abstract

다수의 쓰레드를 처리하는 중앙처리장치(CPU) 및, 그래픽처리장치(GPU)로 구현하여, 2개의 좌우 카메라로부터 촬영된 스테레오 영상을 입력받아 시청자 시점의 디지털 홀로그램을 실시간으로 생성하기 위한 인터랙티브 디지털 홀로그램 서비스 시스템에 관한 것으로서, 상기 스테레오 영상의 좌우 카메라를 보정하기 위한 캘리브레이션(calibration) 정보를 추출하는 보정정보 획득부; 상기 스테레오 영상의 좌우 영상 각각을 상기 캘리브레이션 정보를 이용하여 보정하되, 상기 좌우 영상 각각을 적어도 1개의 쓰레드에 의해 별도로 처리되는 카메라 보정부; 적어도 1개의 쓰레드에 의해 처리되고, 보정된 좌우 영상에 대하여 화질개선을 수행하는 전처리부; 적어도 1개의 쓰레드에 의해 처리되고, 상기 좌우 영상으로부터 상기 시청자 시점에 해당되는 중간시점 영상을 생성하는 중간영상 생성부; 및, 적어도 2개의 GPU를 각각 수행시키는 적어도 2개의 쓰레드에 의해 처리되고, 상기 중간시점 영상으로부터 컴퓨터 홀로그램을 생성하는 홀로그램 생성부를 포함하는 구성을 마련한다.
상기와 같은 시스템에 의하여, 좌우 카메라로 촬영된 스테레오 영상을 원하는 시점에서의 디지털 홀로그램으로 실시간으로 생성할 수 있고, 특히, 한 장의 디지털 홀로그램을 생성하고 시뮬레이션에 의해 영상을 복원하는데 약 352ms가 소요되었으며, 시뮬레이션 복원을 제외하고 광학장치로 복원할 경우는 약 183ms의 시간이 소요될 수 있다.

Description

디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템 {An Interactive Digital Hologram Service System for Digital Hologram Videos}
본 발명은 다수의 쓰레드를 처리하는 중앙처리장치(CPU) 및, 그래픽처리장치(GPU)로 구현하여, 2개의 좌우 카메라로부터 촬영된 스테레오 영상을 입력받아 시청자 시점의 디지털 홀로그램을 실시간으로 생성하기 위한 인터랙티브 디지털 홀로그램 서비스 시스템에 관한 것이다.
영화 '아바타'가 상영된 지 2년 반이 지난 지금 가히 우리는 3차원(3D) 시대에 살고 있다고 해도 과언이 아니다. 이것은 과거 3D 영화가 상영되었을 때와는 달리, 아바타가 촉매가 되어 3D 영상/비디오의 촬영에서부터 편집/저작도구까지 모든 과정의 장비 또는 장치가 유수의 기관들로부터 출시되어 이제는 돌이킬 수 없는 지경에 이르렀기 때문인 것으로 판단된다.
한편, 방송이나 영화 등 3D 콘텐츠를 즐기는 시청자들은 안경을 착용하는 불편함과 피로감, 현기증 등의 불편감을 호소하고 있다. 안경착용에 대한 불편함은 무안경 방식의 3D 디스플레이를 선택할 수 있으나, 현재의 기술수준은 무안경 방식에서 더욱 큰 불편감을 느끼기 때문에 안경착용의 불편감을 해결하기에는 아직 이른 것으로 판단된다[문헌 1][문헌 2].
현기증 등의 불편감은 좌우영상을 해당 눈에 강제로 주입하는 방식이기 때문인 것으로 보고되고 있다. 이 또한 아직은 문제를 완전히 해결하지 못하고 있고, 현재 많은 연구들이 진행되고 있으며, 최근 국내에서도 '3DTV 방송 안전 가이드라인'을 발표한 바 있다[문헌 3]. 이 문서는 개괄적이기는 하지만, 3D 콘텐츠의 시청 안전성을 위한 시청 및 제작 가이드라인을 제시하고 있다.
안경착용의 불편함과 강제주입 방식으로 인한 불편감을 동시에 해결할 수 있는 방법으로 최근 홀로그램에 대한 관심이 높아지고 있다. 홀로그램은 공간상에 영상을 맺게 하는 방식이므로 안경을 착용할 필요가 없고 양안으로 사물을 보듯이 시청할 수 있으므로 두 문제를 동시에 해결할 수 있다. 따라서 홀로그램은 궁극적인 3D 디스플레이 방법으로 간주되고 있다[문헌 4].
1946년 Dennis Gabor가 홀로그램을 발명한 후 현재까지 많은 연구가 꾸준히 진행되어 왔으며, 그 대부분이 유럽, 미국, 일본에서 진행되었다. 디지털 홀로그램의 생성에서부터 디스플레이에 이르기까지 다양한 분야에서 연구가 진행되고 있으나, 아직 홀로그램을 방송 등으로 서비스하기에는 복원영상의 크기와 선명도에서 많이 부족하다. 그러나 최근에 시청자의 눈을 추적하여 초점에 해당하는 부분만 홀로그램으로 디스플레이하는 부분 홀로그램 방법을 사용하는 홀로그램 생성 및 디스플레이 시스템을 발표하기도 하였다[문헌 5].
그러나 디지털 홀로그램을 서비스하기 위한 실질적인 시스템 개발이 필요하다. 이 시스템은 디지털 홀로그램을 송신측과 수신측 어느 곳에서도 생성할 수 있으며, 현재 홀로그램 복원영상의 시야각이 좁은 단점을 보완하기 위해 시청자의 위치를 추적하여 그 시점에 해당하는 홀로그램을 서비스할 수 있는 방법을 포함해야 한다.
이 시스템은 실시간, 즉 초당 30 프레임을 디스플레이하는 것을 처리해야 하고, 따라서 많은 양의 전용 하드웨어가 포함되어야 한다. 그러나 이 시스템 전부를 구현하지 않더라도 그 중 중요한 요소들만을 구현하는 프로토타입 시스템이 필요하다.
이 프로토타입에는 홀로그램 생성에 필요한 영상데이터를 획득하기 위한 카메라 시스템, 카메라 캘리브래이션과 영상 보정, 중간시점 영상데이터 생성, 디지털 홀로그램 생성, 시물레이션과 광학장치에 의한 홀로그램 영상 복원 등을 포함하여야 한다. 디지털 홀로그램은 컴퓨터-생성 홀로그램(computer-generated hologram, CGH)을 사용하고, 고속 동작이 필요한 부분은 전용 하드웨어 대신 GPGPU(general-purpose graphic processing unit)를 사용되어야 할 것이다.
[문헌 1] T. Motoki, H. Isono, and I. Yuyama, "Present Status of Three-Dimensional Television Research," Proc. IEEE 83(7): 1009-1021(July 1995). [문헌 2] Edited by O. Schreer, et al., 3D Video Communications, John Wiley & Sons Ltd., Atrium, England, 2005. [문헌 3] TTA, "3DTV Broadcasting Safety Guideline," TTAK.KO-07.0086, 2010. 12. 23. [문헌 4] S. A. Benton and V. M. Bove, Jr., Holographic Imaging, John Wiley and Sons Inc., Hoboken NJ, 2008. [문헌 5] Reichelt, et al., "Holographic 3-D Displays ?? Electro-holography within the Grasp of Commercialization", A part of the Book named as Advances in Lasers and Electro Optics, INTECH, pp. 683-710, April 2010. [문헌 6] Kinect data sheet, http://www.microsoftstore.com/store/ msstore/en_US/pd/Kinect-for-Xbox-360/productID.216507400. [문헌 7] SR4000 Data Sheet, http://www.mesa-imaging.ch/prodview-4k.php, MESA Imaging, Oct. 2010. [문헌 8] J. I. Gil and M. B. Kim, "Perceptual Quality improvement of Stereoscopic Image," IPCV 2011, pp. 278-282, July 2011. [문헌 9] M. B. Kim and S. E. Jang, "Depth Map Interpolation using High Frequency Components," Intl. Workshop on Advanced Image Technology, pp. 646-649, Jan. 2012. [문헌 10] . M. Lim and J. S. Yoo, Super-resolution Algorithm using Discrete Wavelet Transform for Single Image," Korean J. of Broadcasting, Vol. 17, No. 2, pp. 344-353, March 2012. [문헌 11] J. M. Koo, et al., "Intermediate Depth Image Generation using Disparity Increment of Stereo Depth Images," Korean J. of Broadcasting, Vol. 17, No. 2, pp. 363-373, March 2012. [문헌 12] T. J. Kim, et al., "Virtual Viewpoint Image Synthesis Algorithm using Multi-view Geometry," Korean J. of Broadcasting, Vol. 34, No. 12, pp. 1154-1166, Dec. 2009. [문헌 13] T. Shimobaba, T. Ito, "An efficient computational method suitable for hardware of computer-generated hologram with phase computation by addition", Computer Physics Communications, vol. 138, pp. 44-52, 2001. [문헌 14] Y.-H. Seo, H.-J. Choi, J.-S. Yoo, and D.-W. Kim, "Cell-based hardware architecture for full-parallel generation algorithm of digital holograms", Optics Express, Vol. 19. Issue 9, pp. 8750-8761, 2011. [문헌 15] H. J. Choi, et al., "Digital watermarking technique for holography interference patterns in a transform domain," OPTICS and LASERS in ENGINEERING, Vol. 46, No. 4, pp. 343-348, Jan. 2008. [문헌 16] Y. H. Seo, et al., "Digital hologram compression technique by eliminating spatial correlations based on MCTF," OPTICS COMMUNICATIONS, Vol. 283, pp. 4261-4270, July 2010. [문헌 17] H. J. Choi, et al., "A Hybrid Encryption Technique for Digital Holography using DCT and DWT," Intl. J. of KIMICS, Vol. 9, No. 3, pp. 271-275, Aug. 2011. [문헌 18] U. Schnar and W. Jueptner, Digital Holohtaphy, Springer, Berlin, Germany, 2005. [문헌 19] T. Shimobaba, T. Ito, N, Masuda, Y, Ichihashi, and N. Takada, "Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL", Optics Express, vol. 18, no. 10, pp. 9955-9960, May. 2010. [문헌 20] Y. Pan, X. Xu, S. Solanki, X. Liang, R. Bin, A. Tanjung, C. Tan, and T.-C. Chong, "Fast CGH computation using S-LUT on GPU", Optics Express, vol. 17, No. 21, pp. 18543-18555, Oct. 2009.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 다수의 쓰레드를 처리하는 중앙처리장치(CPU) 및, 그래픽처리장치(GPU)로 구현하여, 2개의 좌우 카메라로부터 촬영된 스테레오 영상을 입력받아 시청자 시점의 디지털 홀로그램을 실시간으로 생성하기 위한 인터랙티브 디지털 홀로그램 서비스 시스템을 제공하는 것이다.
특히, 본 발명의 목적은 데이터 획득을 위한 카메라 시스템, 카메라 캘리브레이션과 영상보정, 깊이와 광강도 영상의 화질개선, 중간시점 생성, 컴퓨터-생성 홀로그램(computer-generated hologram, CGH) 생성, 시뮬레이션과 광학장치에 의한 홀로그램 영상 복원을 포함하여 구현하고, 한 장의 디지털 홀로그램을 생성하고 시뮬레이션에 의해 영상을 복원하는 과정을 실시간으로 처리할 수 있는 인터랙티브 디지털 홀로그램 서비스 시스템에 관한 것이다.
상기 목적을 달성하기 위해 본 발명은 다수의 쓰레드를 처리하는 중앙처리장치(CPU) 및, 그래픽처리장치(GPU)에 의해 수행되는 시스템으로서, 상기 스테레오 영상의 좌우 카메라를 보정하기 위한 캘리브레이션(calibration) 정보를 추출하는 캘리브레이션부; 상기 스테레오 영상의 좌우 영상 각각을 상기 캘리브레이션 정보를 이용하여 보정하되, 상기 좌우 영상 각각을 적어도 1개의 쓰레드에 의해 별도로 처리되는 카메라 보정부; 적어도 1개의 쓰레드에 의해 처리되고, 보정된 좌우 영상에 대하여 화질개선을 수행하는 전처리부; 적어도 1개의 쓰레드에 의해 처리되고, 상기 좌우 영상으로부터 상기 시청자 시점에 해당되는 중간시점 영상을 생성하는 중간영상 생성부; 및, 적어도 2개의 GPU를 각각 수행시키는 적어도 2개의 쓰레드에 의해 처리되고, 상기 중간시점 영상으로부터 컴퓨터 홀로그램을 생성하는 홀로그램 생성부를 포함하는 것을 특징으로 한다.
또, 본 발명은 인터랙티브 디지털 홀로그램 서비스 시스템에 있어서, 상기 카메라 보정부, 상기 전처리부, 상기 중간영상 생성부, 및, 상기 홀로그램 생성부를 처리하는 각 쓰레드는 서로 다른 쓰레드로 구성되어 병렬로 처리되는 것을 특징으로 한다.
또, 본 발명은 인터랙티브 디지털 홀로그램 서비스 시스템에 있어서, 상기 시스템은, 적어도 1개의 GPU를 수행시키는 적어도 1개의 쓰레드에 의해 처리되고, 프레즈넬(Fresnel) 변환을 통해 상기 컴퓨터 홀로그램을 복원하는 복원부를 더 포함하는 것을 특징으로 한다.
또, 본 발명은 인터랙티브 디지털 홀로그램 서비스 시스템에 있어서, 상기 카메라 보정부, 상기 전처리부, 상기 중간영상 생성부, 및, 상기 홀로그램 생성부는 각각 순서대로, 이전 구성요소의 출력을 입력받아 실시간으로 처리하여 다음 구성요소의 입력으로 출력하는 것을 특징으로 한다.
또, 본 발명은 인터랙티브 디지털 홀로그램 서비스 시스템에 있어서, 상기 홀로그램 생성부는 처리하는 쓰레드의 수만큼 상기 컴퓨터 홀로그램을 균등하게 나누어 생성하고, 나누어 생성된 홀로그램을 합하여 최종 홀로그램을 생성하는 것을 특징으로 한다.
또, 본 발명은 인터랙티브 디지털 홀로그램 서비스 시스템에 있어서, 상기 홀로그램 생성부를 처리하는 쓰레드 및 GPU의 수를 2의 제곱 수로 정하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 인터랙티브 디지털 홀로그램 서비스 시스템에 의하면, 좌우 카메라로 촬영된 스테레오 영상을 원하는 시점에서의 디지털 홀로그램으로 실시간으로 생성할 수 있는 효과가 얻어진다. 특히, 한 장의 디지털 홀로그램을 생성하고 시뮬레이션에 의해 영상을 복원하는데 약 352ms가 소요되었으며, 시뮬레이션 복원을 제외하고 광학장치로 복원할 경우는 약 183ms의 시간이 소요될 수 있다.
도 1은 본 발명의 실시예를 실시하기 위한 전체 시스템의 구성도이다.
도 2는 본 발명의 제1 실시예에 따른 인터랙티브 디지털 홀로그램 서비스 시스템의 구성도이다.
도 3은 본 발명의 제1 실시예에 따른 두 대의 깊이 카메라로 구성된 데이터 획득 시스템으로서, (a) 카메라의 배치, (b) 카메라 캘리브래이션을 도시한 것이다.
도 4는 본 발명의 제1 실시예에 따라 중간시점 영상 렌터링 방법을 설명하는 흐름도이다.
도 5는 본 발명의 제1 실시예에 따른 디지털 워터마킹 방법을 설명하는 흐름도이다.
도 6은 본 발명의 제1 실시예에 따른 데이터 압축 방법을 설명하는 흐름도로서, (a) 깊이영상과 광강도영상, (b) 디지털 홀로그램에 대한 방법을 설명하는 흐름도이다.
도 7은 본 발명의 제1 실시예에 따른 데이터 암호화 방법을 설명하는 흐름도이다.
도 8은 본 발명의 제2 실시예에 따른 인터랙티브 디지털 홀로그램 서비스 시스템의 구성도이다.
도 9는 본 발명의 제2 실시예에 따른 최상위 계층의 구현 회로를 도시한 것이다.
도 10은 본 발명의 제2 실시예에 따른 시스템 동작을 위한 GUI의 일례이다.
도 11은 본 발명의 제2 실시예 실험 결과에 따른 시스템 구성 기술의 동작 시간 측정표이다.
도 12는 본 발명의 제2 실시예 실험 결과에 따른 Hologram Size (1024 x 1024)의 경우에 대한 동작 시간 측정표이다.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명의 실시예를 실시하기 위한 전체 시스템의 구성의 예에 대하여 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명의 실시예는 좌우 카메라(20)에 의해 촬영된 영상(60)을 입력받아 영상을 처리하는 컴퓨터 단말(30) 상의 프로그램 시스템으로 실시될 수 있다.
즉, 인터랙티브 디지털 홀로그램 서비스 시스템(40)은 프로그램으로 구성되어 컴퓨터 단말(30)에 설치되어 실행될 수 있다. 컴퓨터 단말(30)에 설치된 프로그램은 하나의 시스템(40)과 같이 동작할 수 있다. 한편, 다른 실시예로서, 홀로그램 서비스 시스템(40)은 프로그램으로 구성되어 범용 컴퓨터에서 동작하는 것 외에 ASIC(주문형 반도체) 등 하나의 전자회로로 구성되어 실시될 수 있다. 즉, 소프트웨어 형태, FPGA 칩이나 여러 개의 회로소자로 구성된 전자회로의 형태로 구성될 수도 있다. 그 외 가능한 다른 형태도 실시될 수 있다. 그러나 이하에서 설명의 편의를 위해 컴퓨터 단말(30)에 구현된 홀로그램 서비스 시스템(40)로 설명하기로 한다.
특히, 컴퓨터 단말(30)은 다수의 쓰레드를 수행할 수 있는 멀티쓰레드 중앙처리장치(CPU)와, 그래픽을 전문으로 처리하는 적어도 2개 이상의 그래픽처리장치(GPU)를 구비한다. 홀로그램 서비스 시스템(40)이 하나의 전자회로로 구성되는 경우, 상기 멀티쓰레드 중앙처리장치(CPU)와 그래픽처리장치(GPU)를 직접 구비할 수 있다.
홀로그램 서비스 시스템(40)은 각 구성요소의 처리를 각자 별도의 쓰레드에 의해 처리된다. 이를 통해, 홀로그램 서비스 시스템(40)은 좌우 영상으로부터 원하는 시점(시청자 시점)의 컴퓨터 홀로그램을 실시간으로 생성한다.
좌우 카메라(20)는 2개의 카메라, 즉, 좌우 시점, 또는 적어도 2개의 서로 다른 시점을 촬영하는 카메라이다. 또한, 좌우 카메라(20)는 깊이 및 색상(또는 밝기, 광강도)를 모두 촬영할 수 있는 깊이 카메라이다. 따라서 촬영된 스테레오 영상(60)은 깊이 정보 및 밝기 정보(또는 색상 정보, 광강도 정보)를 포함한다. 또, 상기 스테레오 영상(60)은 컴퓨터 단말(30)에 직접 입력되어 저장되고, 홀로그램 서비스 시스템(40)에 의해 처리된다.
또는, 스테레오 영상(60)은 컴퓨터 단말(30)의 저장매체에 미리 저장되고, 홀로그램 서비스 시스템(40)에 의해 저장된 스테레오 영상(60)을 읽어 입력될 수도 있다.
한편, 홀로그램 서비스 시스템(40)은 스테레오 영상(60)으로부터 원하는 시점(또는 시청자 시점)에서의 중간시점 깊이영상을 생성하고, 상기 중간시점 깊이영상으로부터 홀로그램 영상을 생성한다.
다음으로, 본 발명의 제1 실시예에 따른 인터랙티브 디지털 홀로그램 서비스 시스템의 구성을 도 2를 참조하여 설명한다.
도 2는 본 발명이 궁극적인 목표로 하는 타겟 시스템을 흐름도로 나타낸 것이다.
본 발명에서는 현재 영상 콘텐츠를 서비스하는 시스템의 프레임을 그대로 유지하는 것으로 가정하였다. 즉, 송신측에서 필요한 데이터를 획득하여 가공하고, 정보보호 및 보안 솔루션을 적용하여 송신하면, 수신측에서 암호화된 데이터를 복호화하고 압축을 풀어서 홀로그램 영상/비디오를 복원하는 시스템이다.
이 시스템은 연산에 의해 CGH를 생성(CGH Generation)하는 방식을 택하고 있는데, 송신측보다 수신측의 연산능력이 우수할 경우를 감안하여 송신측이 아니라 수신측에서 CGH를 생성하는 방식도 포함하고 있으며, 도 2에서 위쪽 흐름도는 송신측에서 CGH를 생성하는 경우를, 아래쪽 흐름도는 수신측에서 CGH를 생성하는 경우를 각각 보이고 있다.
본 발명이 CGH를 대상으로 하는 서비스를 목적으로 하기 때문에 CGH 생성에 필요한 데이터를 데이터 획득장치(Depth+Intensity Image Acquisition System)로부터 획득한다.
이 데이터는 대상 물체의 깊이정보(depth)와 광강도(light intensity) 정보이며, 컬러 홀로그램을 생성하기 위해서는 R, G, B의 정보가 모두 필요하다. 이 획득장치로는 깊이 카메라와 RGB 카메라를 동시에 사용하며, 이 두 카메라의 초점과 광각이 일치하여야 한다.
그러나 두 카메라의 광각이 정확히 일치하지 않는 경우가 많으므로 이때는 두 획득영상의 크기와 해상도를 맞추는 과정이 필요하다(Depth & Intensity Image Enhancement). 최근 동일한 초점과 해상도의 깊이정보와 RGB 또는 광강도 정보를 동시에 제공하는 깊이 카메라가 많이 출시되고 있으므로[문헌 6][문헌 7] 이들 카메라를 사용할 수도 있다.
CGH의 화질은 그 특성상 갚이 영상이나 광강도 영상의 화질에 크게 좌우된다. 따라서 Depth & Intensity Image Enhancement에서는 깊이영상의 화질을 개선하는 과정이 포함된다. CGH의 화질은 또한 두 입력 영상의 해상도에도 크게 영향을 받으므로 저해상도의 깊이영상과 광강도 영상을 고해상도로 바꾸는 과정도 포함한다.
이 시스템은 또한 디지털 홀로그램의 시야각이 좁은 단점을 해결하기 위하여 시청자의 시점에 맞는 시점의 홀로그램 영상을 제공하는 방법을 포함하고 있다. 이 방법은 시청자의 얼굴 또는 눈을 추적하고 그 결과에 따라 해당 시점의 데이터(깊이정보와 광강도 정보)를 렌더링(Intermediate View Rendering)하여 CGH를 생성한다. 이 중간시점 영상 렌더링 과정은 CGH를 어느 곳에서 생성하느냐에 따라 송신측 또는 수신측에서 생성할 수 있다.
이하에서, 본 발명의 제1 실시예에 따른 인터랙티브 디지털 홀로그램 서비스 시스템의 각 구성의 동작을 보다 구체적으로 설명한다. 즉, 도 2의 흐름도의 각 동작을 구현한 방법을 설명한다.
도 2의 두 흐름도에서 중복되는 동작이 다수 있는데, 각 동작을 한 번만 설명하기로 한다. 또한 부호화와 복호화의 쌍을 이루는 경우가 많은데, 대부분의 경우 복호화는 부호화의 역순으로 이루어지므로 부호화만 설명한다.
먼저, 깊이 + 광강도 영상획득 시스템 (Depth+Intensity Image Acquisition system)에 대하여 설명한다.
깊이 영상와 광강도 영상을 동시에 획득하는 시스템(Depth+Intensity Image Acquisition system)은 카메라 시스템이다. 이 시스템은 스테레오 또는 다시점 카메라로 촬영한 영상들 간의 시차(disparity)를 구하여 깊이정보를 획득하는 고전적인 방법으로부터 RGB 카메라와 깊이 카메라를 상하, 좌우, 또는 수직 리그(rig)를 사용하여 배치하는 방법까지 많은 방법들이 가능하다.
최근 동일 초점, 동일 광각, 동일 해상도의 깊이영상과 RGB[문헌 6] 또는 광강도(명도, luminance)[문헌 7]를 동시에 제공하는 깊이 카메라가 출시되었는데, 본 발명에서는 [문헌 7]의 깊이 카메라를 사용하였다.
또한 앞에서 설명한 바와 같이 본 시스템은 시점을 제어하여 시청자의 시점에 해당하는 CGH를 생성하는 기능을 포함하고 있으므로 두 대의 깊이 카메라를 동시에 사용하는 시스템을 구축하였는데, 도 3(a)에 구축한 시스템을 보이고 있다.
획득된 두 쌍의 영상 데이터의 보정과 중간시점 영상 렌더링을 위하여 카메라 보정(calibration)을 수행한다. 그 방법은 광강도 영상으로 체스(chess)보드를 사용하여 수행하며, 최대 30쌍의 영상을 획득하여 사용한다. 도 3(b)에 카메라 보정을 위한 GUI를 보이고 있는데, 체스보드에 나타난 색깔은 해당하는 쌍이 검출되었음을 나타낸다. 두 카메라로부터 획득된 영상들에 대한 영상 보정(rectification)도 수행하였는데, 카메라 보정과 영상 보정은 처음 카메라가 세팅되었을 때 한 번만 수행한다.
다음으로, 깊이 + RGB영상의 화질개선 (Depth+RGB Image Enhancement)에 대하여 보다 구체적으로 설명한다.
본 발명에서는 두 대의 동일한 깊이 카메라를 사용하기 때문에 깊이영상과 RGB영상(본 발명에서는 광강도영상)의 화질 개선은 두 가지로 이루어진다.
그 첫 번째가 깊이영상에서 경계부분이 흐려지는(blurring) 현상을 보완하는 것이다. 일반적으로 깊이카메라로 촬영한 깊이영상은 스테레오 정합 등으로 구한 깊이영상에 비해 경계부분이 흐려지는 현상이 발생한다. 이것은 적외선을 조사하여 돌아오는 시간을 계산하여 깊이를 계산하는 ToF(time-of-flight) 방식의 깊이 카메라에서 특히 두드러지는데, 본 발명에서도 ToF 방식의 깊이 카메라[문헌 7]를 사용한다.
경계부분의 흐림 현상을 개선하는 방법은 깊이영상의 1, 2차 미분과 Gaussian 커널(kernel)을 사용하여 깊이값의 변화에 따라 경계부분의 깊이값을 선명하게 하는 방법이다. 이 방법은 공지된 기술이므로 구체적 설명은 생략한다[문헌 8].
깊이영상 및 RGB영상의 해상도를 증가시키는 방법으로 두 가지를 사용하였다. 그 첫 번째 방법은 양선형(bilinear) 보간법(interpolation), 양방향(bilateral) 보간법, 양방향 고등차수(bicubic) 보간법에 깊이영상 화질개선에 사용한 방법을 적용하여 경계부분의 화질을 개선하는 방법을 사용한다[문헌 9].
또 다른 방법은 Mallat-트리 웨이블릿(wavelet) 변환할 때 수평, 수직 방향으로 1/2로 축소(decimation)하지 않고 그대로 변환한 후 복원하는 방법이다[문헌 10].
다음으로, 중간시점 영상 렌더링 (Intermediate View Rendering)에 대하여 구체적으로 설명한다.
본 발명에서 사용한 두 카메라 사이의 임의의 시점에 해당하는 깊이영상과 RGB 또는 광강도 영상을 생성하는 방법을 간략히 도식화하면 도 4와 같다.
이 과정의 입력으로는 두 카메라에서 획득하여 보정된 깊이영상 또는 광강도 영상을 사용한다. 좌우 영상 각각에서 원하는 중간시점의 깊이영상과 RGB 또는 광강도 영상을 생성하고 그 결과의 두 영상을 결합(blending)하여 원하는 시점의 영상을 생성한다.
이 때 결합한 영상에서 좌우측 카메라로부터 획득한 영상의 정보를 사용할 수 없는 부분, 즉 홀(hole)이나 비폐색(disocclusion)영역은 가장 근접한 배경화소로 채운다.
좌우 카메라로 획득한 영상으로부터 중간시점 영상을 생성하는 방법에 있어서 본 발명에서는 획득된 두 깊이영상에서 빈도수가 많은 대표적인 큰 깊이값과 작은 깊이값을 선정하고, 이들을 대상으로 스테레오 정합을 수행하여 단위 깊이값 당 변위의 크기를 추출하여 사용하는 방법[문헌 11]과 3D 워핑(warping)을 사용한 방법[문헌 12]을 모두 고려한다. 그 뒤의 홀-필링(filling) 방법은 동일하게 적용한다.
다음으로, 컴퓨터 홀로그램(CGH) 생성에 대하여 보다 구체적으로 설명한다.
CGH는 기존에 발표된 두 광파의 간섭(interference)현상을 모델링한 식을 사용하였다. 이것을 [수학식 1]에 보이고 있는데, 물체의 크기(pjxj,pjyj)에 비해 홀로그램과 물체사이의 거리(pjzj)가 충분히 크면 [수학식 2]와 같이 간략화시킬 수 있다.
[수학식 1]
Figure 112012071509795-pat00001
[수학식 2]
Figure 112012071509795-pat00002
여기서, Iαj는 물체평면의 좌표 (xj, yj, zj)의 광원(광강도가 Aj)이 홀로그램 평면의 좌표 (xα, yα)에 미치는 간섭영향을 나타내고, pj와 pα는 물체평면과 홀로그램평면의 화소크기를 각각 나타낸다. 간섭현상을 일으키는 두 광파는 동일한 것으로 간주하고(분파하여 사용함), 그 파장은 λ이다.
[수학식 2]에서 코사인 함수의 각도항을 분리하여 계산할 수 있고, 또 홀로그램 평면의 한 열에서 맨 좌측 또는 한 행에서 맨 위의 화소값을 계산할 때 생성되는 중간결과들을 사용하면 반복연산 방법으로 나머지 화소값들을 계산할 수 있다.
이때 zj의 값을 변경하지 않고 하나의 광원이 모든 홀로그램 화소에 미치는 영향을 계산하는 방식을 [문헌 13]에서 제안한 바 있다. 그러나 이 방법의 단점은 각 광원으로 홀로그램 전체에 미치는 영향을 계산한 결과를 다음 광원에 대한 영향을 계산하기 전에 모두 메모리에 저장하여야 하기 때문에 메모리 접근횟수와 시간에 병목현상이 심하게 발생한다.
본 발명에서는, 한 홀로그램 화소에 모든 광원이 미치는 영향을 계산하고 다음 홀로그램 화소로 진행하는 방식을 제안하여, 다른 모든 성능은 그대로이나 메모리 접근 횟수를 약 1/20,000로 줄인 계산방식을 사용한다[문헌 14].
다음으로, 워터마킹 (Watermarking)에 대하여 보다 구체적으로 설명한다.
상기 시스템에 사용되는 디지털 워터마킹 방법은 도 5와 같다[문헌 15].
워터마킹을 수행하기 전에 선행과정으로서 주파수-영역으로 변환한 데이터에 대해 계수의 특성을 미리 확인한 결과를 토대로 워커마킹이 진행되는데, 그 특성은 홀로그램은 계수의 에너지 분포, 깊이영상과 RGB(광강도)영상은 주파수 대역에 대한 특성에 해당한다.
이 특성으로 삽입된 워터마크의 비가시성(invisibility)와 공격에 대한 강인성(robustness)를 고려하여 최적의 워터마킹 위치를 파악한다. 이를 토대로 홀로그램 또는 깊이영상과 RGB영상을 해당 주파수 대역으로 변환한 다음 기 연구된 위치의 계수를 추출하여 주어진 워터마크를 삽입하고, 그 결과를 역변환하여 워터마크가 삽입된 데이터를 만든다.
삽입된 워터마크는 워터마크 삽입 과정의 역순으로 진행하여 추출할 수 있다. 참고로, 워터마크의 추출은 서비스가 이루어질 때마다 일어나는 것이 아니라 소유권 주장이 필요할 때만 일어난다.
다음으로, 데이터 압축(Compression)에 대하여 보다 구체적으로 설명한다.
데이터 압축방법은 깊이영상 + RGB(광강도) 영상과 디지털 홀로그램의 방법이 서로 다른데, 도 6에 각 방법을 흐름도로 나타내었다.
도 6(a)와 같이, 깊이영상과 RGB(또는 광강도영상)은 먼저 RGB영상을 H.264/AVC로 압축한다. 이 때 생성된 움직임 벡터(MV)를 그대로 이용하여 깊이영상을 압축하는데, 깊이영상은 중간시점 영상을 생성하는데 매우 중요하므로 무손실(lossless) 압축을 수행한다.
반면 홀로그램은 일부분이 대상물체 전체의 정보를 포함하고 있고, 부분 홀로그램의 위치에 따라 마치 그 위치에서 물체를 보는 듯한 복원영상을 만들어 내는 특성을 이용한다[문헌 16]. 먼저 홀로그램을 분할하여 변화가 가장 적은 순서로 배열한다. 이 배열에서 MCTF(motion compensated temporal filtering)을 수행하여 압축한다.
다음으로, 데이터 암호화(Encryption)에 대하여 보다 구체적으로 설명한다.
데이터의 암호화는 키를 알고 있는 사람만 복호화하여 올바른 데이터를 사용할 수 있도록 하는 데이터 은닉방법이다. 본 발명에서는 깊이영상, 광강도영상, 홀로그램 모두 동일한 방법을 적용하였으며, 그 방법을 도 7에 도식화하였다[문헌 17].
먼저, 한 프레임의 데이터를 주파수 영역으로 변환하여 일정 값보다 높은 에너지를 갖는 계수를 추출한다. 이 계수들을 블록 암호화 알고리듬을 사용하여 암호화하고, 그 결과를 원래의 위치로 환원한 다음 주파수 변환의 역변환을 취하여 암호화된 데이터를 획득한다. 블록 암호화 방법으로는 DES, 3DES, SEED, AES 중 하나를 선택하여 사용할 수 있도록 하였다.
다음으로, 홀로그램 영상의 복원에 대하여 보다 구체적으로 설명한다.
홀로그램 영상을 복원하는 방법으로 시뮬레이션 방법과 광학장치에 의한 방법 모두를 사용한다.
광학장치에 의한 방법은 CGH를 공간광변조기(spatial light modulator, SLM)에 다운로드하고 생성 때와 동일한 빛을 조사하여 복원하였다. 시뮬레이션 방법은 [수학식 3]의 프레즈넬(Frensnel) 변환을 적용하여 연산에 의해 영상을 복원한다[문헌 18].
[수학식 3]
Figure 112012071509795-pat00003
이 식에서
Figure 112012071509795-pat00004
와 F(x,y)는 홀로그램 영상과 복원된 영상의 화소값을 각각 나타내며,
Figure 112012071509795-pat00005
이다. z는 복원영상의 깊이값, k와 λ는 사용한 광파의 파수(wave number)와 파장을 각각 나타낸다.
다음으로, 본 발명의 제2 실시예에 따른 인터랙티브 디지털 홀로그램 서비스 시스템(40)의 구성을 도 8을 참조하여 설명한다.
본 발명의 제2 실시예는 앞에서 설명한 제1 실시예에 따른 서비스 시스템 중 일부만으로 구성된 시스템이다. 즉, 본 발명의 제2 실시예는 도 2의 시스템 중 흰색으로 표시된 블록들만 구성하였는데, 이 블록들이 본 발명에서 타겟으로 하는 시스템의 가장 기본적이고 중요한 동작들이다.
도 8에 이 시스템의 구성도를 나타내었다. 이 시스템을 구성하는 각 블록의 동작은 앞에 기재된 설명을 참조하고, 이하에서 구현시 설명되지 않은 부분만을 설명한다. 즉, 제2 실시예에서 설명되지 않은 부분은 제1 실시예의 설명을 참조한다.
도 8에서 보는 바와 같이, 본 발명의 제2 실시예에 따른 인터랙티브 디지털 홀로그램 서비스 시스템(40)은 보정정보 획득부(41), 카메라 보정부(42), 전처리부(43), 중간영상 생성부(44), 및, 홀로그램 생성부(45)로 구성된다. 추가적으로, 복원부(46)를 더 포함하여 구성될 수 있다.
홀로그램 서비스 시스템(40)은 다수의 쓰레드를 처리하는 중앙처리장치(CPU) 및, 그래픽처리장치(GPU)에 의해 수행되는 시스템이다.
즉, 이 시스템의 구성은 고속화를 위해서 컴퓨터 단말(PC)의 멀티씨피유(multi-cpu 또는 멀티쓰레드 중앙처리장치)의 thread(쓰레드)를 각각의 알고리즘을 위한 소프트웨어(S/W) 엔진에 배분한다. 또한 컴퓨터 생성 홀로그램(CGH)의 고속화를 위해서 적어도 GPU 2개를 사용하여 병렬화를 하고, GPU 보드 1개당 1개의 CPU 쓰레드(thread)를 할당하여 병렬화를 최대화한다.
보정정보 획득부(41)는 스테레오 영상의 좌우 카메라를 보정하기 위한 캘리브레이션(calibration) 정보를 추출한다. 즉, 보정정보 획득부(41)는 좌우 카메라에 대하여 캘리브레이션(calibration)을 수행한다.
캘리브레이션(calibration)은 카메라를 설치한 이후에 단 한번만 연산한다. 앞서 설명한 바와 같이, 체크보드 등을 이용하여 두 카메라 사이의 보정을 위한 정보를 추출한다. 이 동작은 초기에 카메라를 셋팅할 때만 사용하기 때문에 소유시간이 크더라도 상관이 없다.
또한, 보정정보 획득부(41)는 어느 쓰레드에 의해 수행되어도 된다.
카메라 보정부(42)는 상기 스테레오 영상의 좌우 영상 각각을 상기 캘리브레이션 정보를 이용하여 보정하되, 상기 좌우 영상 각각을 적어도 1개의 쓰레드에 의해 별도로 처리된다.
도 8의 예에서, 카메라 보정부(42)는 제1 및 제2 쓰레드(71,72)에 의해 수행된다. 제1 쓰레드(71)에 의해 좌 영상이 보정되고, 제2 쓰레드(72)에 의해 우 영상이 보정된다.
카메라 보정부(42)는 카메라 시스템으로부터 깊이정보와 밝기 정보를 얻어오는 카메라 입력(Camera input)의 동작과 캘리브레이션(calibration) 정보를 이용하여 카메라를 보정하는 동작을 수행한다. 입력은 원본 깊이와 밝기 영상이고 출력은 기하학적으로 보정된 깊이와 밝기 영상이다.
전처리부(43)는 적어도 1개의 쓰레드에 의해 처리되고, 보정된 좌우 영상에 대하여 화질개선을 수행한다. 도 8의 예에서, 전처리부(43)는 제6 쓰레드(76)에 의해 수행된다.
전처리부(43)는 원본 깊이와 밝기 영상을 보정 혹은 향상시키는 역할을 담당한다. 또한 객체를 분리하는 역할도 수행할 수 있다. 입력은 깊이와 밝기 영상이고, 출력도 영상이다. 전처리부(43)에 대한 보다 구체적인 기능은 앞서 기재한 깊이 + RGB영상의 화질개선 (Depth+RGB Image Enhancement)의 설명을 참조한다.
중간영상 생성부(44)는 적어도 1개의 쓰레드에 의해 처리되고, 상기 좌우 영상으로부터 상기 시청자 시점에 해당되는 중간시점 영상을 생성한다. 도 8의 예에서, 중간영상 생성부(44)는 제3 쓰레드(73)에 의해 수행된다.
중간영상 생성부(44)는 중간시점 홀로그램을 생성한다. 입력은 두 시점의 깊이 및 밝기 영상이고, 출력은 두 시점 사이의 깊이 및 밝기 영상이다. 중간영상 생성부(44)에 대한 보다 구체적인 기능은 앞서 기재한 중간시점 영상 렌터링 (Intermediate View Rendering)의 설명을 참조한다.
홀로그램 생성부(45)는 적어도 2개의 GPU를 각각 수행시키는 적어도 2개의 쓰레드에 의해 처리되고, 상기 중간시점 영상으로부터 컴퓨터 홀로그램을 생성한다.
도 8의 예에서, 홀로그램 생성부(45)는 제4 및 제5 쓰레드(74,75)에 의해 수행된다.
제4 및 제5 쓰레드(74,75)는 각각 제1 및 제2 GPU(81,82)를 처리하기 위한 쓰레드이다. GPU는 독자적으로 운용될 수 없다. GPU를 구동시키기 위한 호스트 프로세서, 즉 CPU가 필요하다.
GPU를 사용하는 이유는 GPU의 높은 성능 때문이다. 이 성능이라는 것은 GPU를 어떻게 이용하느냐에 따라 달라질 수 있는 문제이다. GPU는 주로 그래픽을 처리하는 역할을 하여 왔다. 디스플레이를 하는 역할이나 3D 그래픽 게임 등의 랜더링을 하는 역할을 수행한다. 그런데 이 GPU내에는 아주 많은 수의 코어가 있다. 그래서 이 많은 코어를 그래픽이 아닌 일반적인 S/W의 동작을 위해서도 사용할 수 있도록 GPU를 프로그래밍할 수 있는 언어와 방법이 만들어졌다.
이렇게 범용적인 동작을 위해 사용되면 그때부터는 GPU가 아니라 GPGPU(간단히 그냥 GPU라고 하기도 함)가 된다. 최근의 GPGPU에는 512개 혹은 1024개의 코어가 들어있기도 한다. 이러한 다수의 코어를 이용하여 병렬 연산을 수행할 수 있고 성능도 CPU보다 훨씬 높게 된다. CGH 연산을 수행할 때, GPU는 병렬 연산을 통해, CPU 비하여 상당하게 빠른 시간 내에 CGH 연산을 처리할 수 있다.
제4 쓰레드(74)는 컴퓨터 생성 홀로그램(CGH)을 수행하는 것으로 1,024×1,024 크기의 홀로그램을 만들고 있다면, 여기에서는 1,024×512 크기의 홀로그램을 만든다. 또한, 제5 쓰레드(75)는 CGH를 수행하는 것으로 1,024×1,024 크기의 홀로그램을 만들고 있다면 여기에서는 1,024×512 크기의 홀로그램을 만든다. 위의 두 개의 홀로그램은 합해져서 1,024×1,024 크기의 홀로그램이 생성된다.
즉, 홀로그램 생성부(45)는 처리하는 쓰레드의 수만큼 상기 컴퓨터 홀로그램을 균등하게 나누어 생성하고, 나누어 생성된 홀로그램을 합하여 최종 홀로그램을 생성한다.
도 8의 예에서, CGH 수행을 위한 쓰레드를 2개로 구성하였으나, 4개, 8개, 16개 등으로 복수로 다양하게 구성할 수도 있다. 바람직하게는, 홀로그램 생성부(45)는 처리하는 쓰레드 및 GPU의 수를 2, 4, 8, 16 등 2의 제곱 수로 정한다. 홀로그램 화면을 격자로 등분하여 동일한 크기로 부분적인 홀로그램을 생성한 후 합하기 위한 것이다.
쓰레드가 N개를 할당하고 화면을 N개로 나누어 생성하면, GPU도 N개를 사용한다.
생성된 컴퓨터 생성 홀로그램(CGH)은 광학장치(50)에 의하여 복원된다. 즉, 광학장치(50)에 의하여 CGH를 공간광변조기(spatial light modulator, SLM)에 다운로드하고 생성 때와 동일한 빛을 조사하여 복원한다.
이에 반해, 복원부(46)는 시뮬레이션 방법에 따라 프레즈넬(Frensnel) 변환을 통해 복원한다.
즉, 복원부(46)는 적어도 1개의 GPU를 수행시키는 적어도 1개의 쓰레드에 의해 처리되고, 프레즈넬(Fresnel) 변환을 통해 상기 컴퓨터 홀로그램을 복원한다. 도 8의 예에서, 복원부(46)는 제7 쓰레드(77)에 의해 수행된다. 제7 쓰레드(77)에 의해 제3 GPU(83)를 이용하여 처리된다.
복원부(46)는 만들어진 홀로그램에 대해서 테스트를 해보기 위해서 복원해보는 기능이다. 실제로 홀로그램 비디오를 서비스하는 과정에서는 사용되는 것은 아니다. 홀로그램은 광학장치(50)을 통해서 복원되어야 한다. 따라서 이것도 시스템의 성능에 영상을 미치는 성분은 아니다. 입력은 디지털 홀로그램이고 출력은 복원된 객체 영상이다.
한편, 홀로그램 서비스 시스템(40)은 보정정보 획득부(41), 카메라 보정부(42), 전처리부(43), 중간영상 생성부(44), 및, 홀로그램 생성부(45)를 처리하는 각 쓰레드는 서로 다른 쓰레드로 구성되어 병렬로 처리된다.
예를 들어, CPU내에서 한 개의 코어는 2개의 쓰레드(thread)로 구성된다. 컴퓨터 단말(PC)의 CPU가 쿼드 코어인 경우, 총 8개의 쓰레드로 처리될 수 있다. 이 쓰레드가 하나의 구성요소를 동작시키는 단위가 되고, 쿼드 코어의 CPU는 총 8개의 구성요소를 동시에 병렬로 동작을 시킬 수가 있다.
특히, 보정정보 획득부(41), 카메라 보정부(42), 전처리부(43), 중간영상 생성부(44), 및, 홀로그램 생성부(45) 등 각 구성요소는 각각 순서대로, 이전 구성요소의 출력을 입력받아 처리하여 다음 구성요소의 입력으로 출력한다. 이들이 병렬로 처리됨으로써, 각 구성요소들이 실시간으로 처리될 수 있고, 홀로그램 생성이 실시간으로 처리될 수 있다.
다음으로, 본 발명의 제2 실시예에 따른 실험 결과 및 효과를 구체적으로 설명한다.
하나의 실험예로서, 도 8의 시스템은 National Instrument사의 LabView?? 환경에서 구축하였으며, 각 구성은 이 환경에 맞는 dll(dynamic linking library) 파일을 만들어 부착하였다. 총 6개의 CPU 쓰레드(thread)와 3개의 그래픽처리장치(GPGPU)를 사용하여 구현하였다.
특히, CPU는 카메라로부터 데이터를 획득하고 카메라 캘리브래이션과 영상보정, 깊이영상과 광강도영상의 화질개선, 중간시점 영상 렌더링, 세 개의 GPGPU 구동에 각각 사용하였으며, 세 GPGPU는 CGH 생성에 두 개, 시뮬레이션에 의한 영상복원에 1개를 각각 사용하였다. GPGPU는 nVidia사의 GPU를 사용하였으며, CUDA로 프로그래밍하였고, GPGPU를 사용하지 않은 기능블록들은 C+/C++로 프로그래밍하였다.
앞에서 설명한 것과 같이 데이터 획득 카메라는 MESA Image사의 SR4000(R)을 사용하였으며, 이 카메라의 해상도는 깊이영상과 광강도영상 모두 176×144이다. 두 대의 카메라를 동시에 사용하기 위하여 두 카메라의 변조주파수로 29MHz와 30MHz를 각각 사용하였다.
CGH는 시뮬레이션에 의한 영상복원을 위해서는 1,024×1,024의 해상도로 생성하였으며, 광학장치(50)에 의한 복원을 위해서는 1,280×1,024의 해상도(SLM의 해상도)로 생성하였다.
본 발명에서는 CGH 생성을 위한 전용 하드웨어를 사용하지 않고 GPU를 이용한 구현방식을 택하였다[문헌 19][문헌 20]. 본 발명에서는 제1 실시예에서 설명한 CGH 생성방법을 그대로 GPU에 구현하였다.
도 9에 구현한 결과의 최상위 계층 결과를 보이고 있다. 내부 기능블록은 도 8의 구성도와 동일한 위치에서 1:1 대응된다. 도 10에 이 시스템을 동작시키기 위해 설계한 GUI를 보이고 있다.
도 10의 좌측 위쪽 그림 위의 좌우측에 있는 두 개의 숫자 쌍 표시창은 좌우측 카메라의 번호와 사용 변조주파수를 각각 나타낸다. 가운데 제어버튼은 중간시점 생성 방법을 3D 워핑과 변위증분방법 중 선택할 수 있는 버튼이다. 그 아래에 있는 6개의 사진은, 위쪽 3개는 광강도영상, 아래쪽 3개는 깊이영상을 나타내며, 좌우측 각각의 두 영상은 좌우측의 각 카메라로부터 획득한 영상이며, 가운데 두 영상은 생성된 중간시점 영상들이다. 그 우측에 횡으로 표시된 척도는 생성한 중간시점의 시점을 나타낸다. 좌측 카메라와 우측 카메라가 -100과 +100에 해당하며, 생성할 중간시점은 -250에서 +250까지 가능하도록 되어 있다. 그 아래의 회전침은 좌측 카메라로부터 획득된 영상, 중간시점 영상, 우측 카메라로부터 획득된 영상을 각각 CGH 생성에 사용할 수 있도록 하는 제어창이다. 그 아래의 min과 max 표시창은 중간시점의 깊이값의 최소와 최대값을 8-비트 스케일로 나타낸다.
6개의 사진 아래에 작은 두 개의 버튼이 있는데, CGH 생성여부와 복원방법을 선택하는 아이콘이다. 그 아래의 두 영상 중 좌측은 생성된 CGH, 우측 시뮬레이션에 의해 복원된 영상이며, 광학장치(50)에 의해 복원된 영상을 촬영한 영상은 맨 오른쪽 아래에 있다. 사진과 영상에 걸쳐있는 작은 표시창들은 홀로그램 생성에 사용된 파라미터들을 나타내고 있는데, CGH의 높이와 너비, 광원의 확대배율, 광원과 CGH의 화소크기, 사용한 광파의 파장, 물체평면과 홀로그램 평면간의 거리, 복원영상의 밝기 배율, 카메라에 대한 CGH 및 복원영상의 좌우 회전각도를 각각 나타내고 있다. 오른쪽의 그림은 실험환경을 보이고 있으며, 그 아래의 4개의 표시창은 복원영상 중 표시되는 부분의 좌우상하 경계를 나타낸다.
이 GUI 환경에서 카메라로부터 획득한 영상 데이터에서 홀로그램 영상 복원까지의 소요 시간은 시뮬레이션에 의해 복원할 경우는 평균 352ms, 광학장치에 의한 복원의 경우는 평균 183ms이었다.
보다 구체적인 성능 측정치를 도 11 및 도 12에 표로 도시되고 있다.
도 11는 각 구성요소의 처리시간을 표로 나타내고 있다. 예를 들어, 카메라 보정은 카메라를 입력받는데 19ms가 소요되고 보정하기 위해 8.5ms(17/2)의 시간이 소요된다. 캘리브레이션(Calibration)의 소요시간이 347ms로 나타나나, 앞서 설명한 바와 같이, 초기에 카메라를 셋팅할때만 사용하기 때문에 실시간 처리에 상관이 없다.
도 8, 도 11, 및, 도 12를 살펴보면 CPU의 쓰레드 개수와 GPU의 개수를 정한 기준을 확인할 수 있다. 시스템 성능의 목표는 1K의 광원을 이용하여 1,024×1,024 크기의 홀로그램을 실시간으로 생성하는 것이다. 이때 실시간이라 함은 초당 25에서 30프레임의 CGH를 연산할 수 있어야 한다는 것을 의미한다.
본 발명의 구현 상의 가장 큰 이슈는 실시간성이다. 각 S/W에서 어떤 것은 C언어 기반의 S/W로 구현할 것이고 어떤 것은 GPU로 구현할 것이며 구현된 것들의 성능을 분석하여 어떻게 병렬화를 시킬 것인가 하는 것이 가장 중요하다.
각 S/W를 나누어서 병렬화시킨 기준은 S/W의 동작이 30ms 내로 동작이 가능할 수 있느냐는 것이다. 도 12를 참조하시면 모든 S/W의 동작은 30ms 내에서 가능하도록 병렬화되어 있다. CGH를 수행하는 것은 아무리 좋은 PC를 사용하고 CPU의 쓰레드로 아무리 병렬화를 하더라도 실시간으로 동작하는 것이 불가능하다.
따라서 GPGPU를 사용하는 것이 불가피한 선택이다. 1K의 광원을 기준으로 할 때 1개의 GPU를 사용한다면 실시간이 조금 어렵다. 따라서 2개의 GPU를 사용한다면 초당 25 프레임 이상이 가능해서 실시간 동작이 가능하다.
여기에 2개를 더 확장해서 4개의 GPU를 사용하면 약 50프레임의 성능도 가능하다. 그러나 일반적인 PC의 경우에 고성능 GPGPU가 2개까지 밖에 장착이 되지 않아서 일반적인 PC를 기준으로 할 때의 시스템을 구성하는 것이 바람직하다. 특수한 컴퓨터를 사용한다면 4개의 GPGPU가 장착이 가능하고 PCI-express를 확장하는 시스템을 사용할 경우에도 4개의 GPGPU를 사용할 수 있다.
한편, GPU를 통해 병렬 연산을 수행할 수 있고, 성능도 CPU보다 훨씬 높게 된다. 도 12와 같이 1K의 광원을 갖는 객체에 대해서 CGH 연산을 수행할 때 GPU로는 74ms가 소요되지만 CPU로 하면 몇 십분에서 몇 시간이 소요된다. 그러나 잘못 이용할 경우에는 GPU가 더 많은 시간이 소요될 수도 있다.
본 발명에서는 디지털 홀로그램을 서비스하는 시스템의 구조를 제안하고, 이 시스템을 타겟으로 하여 그 중 주요 동작만을 포함하는 시스템을 구현하였다. 이 서비스 시스템은 기존의 영상서비스 시스템의 프레임을 그대로 유지하고 있으며, 홀로그램의 시야각을 확보하고 시청자의 직/간접적인 요청에 따라 시점을 제어하기 위해 시청자의 얼굴을 추적하여 해당 시점의 정보를 추출함으로써 시청자와 인터액티브하게 동작하는 기능을 포함하고 있다.
구현한 시스템은 깊이정보와 RGB 또는 광강도 정보를 획득하기 위한 카메라 시스템, 카메라의 캘리브래이션과 영상보정, 깊이정보 및 RGB 정보의 화질 개선, 시청자의 얼굴을 추적하여 해당 시점의 영상정보를 추출하는 중간시점 영상 생성, 컴퓨터-생성 홀로그램(CGH) 생성, 그리고 시뮬레이션 및 광학장치에 의한 홀로그램 영상 복원 기능을 포함하고 있다.
이 중 연산시간이 많이 필요한 CGH 생성과 시뮬레이션에 의한 영상 복원 기능은 GPGPU를 사용하여 구현하였으며, 나머지 기능들은 C/C++로 구현하였다. 시스템은 LabView?? 환경에서 구축하였으며, 모든 가능한 파라미터들을 표시하고 제어할 수 있는 GUI를 구축하여 동작시켰다.
구현결과 시뮬레이션에 의한 영상복원의 경우 평균 352ms, 광학장치에 의한 영상복원의 경우는 평균 183ms가 소요되었다. 이것은 더 많은 기능을 GPGPU로 구현하고, CGH 생성 기능을 전용 하드웨어로 구현하여 속도를 증가시킬 수 있다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 물체 20 : 좌우영상 카메라
30 : 컴퓨터 단말
40 : 홀로그램 서비스 시스템 41 : 보정정보 획득부
42 : 카메라 보정부 43 : 전처리부
44 : 중간영상 생성부 45 : 홀로그램 생성부
46 : 복원부
50 : 광학장치 60 : 스테레오 영상
71~77 : CPU 쓰레드 81~83 : GPU

Claims (6)

  1. 다수의 쓰레드를 처리하는 중앙처리장치(CPU) 및, 그래픽처리장치(GPU)에 의해 수행되는 시스템으로서, 2개의 좌우 카메라로부터 촬영된 스테레오 영상을 입력받아 시청자 시점의 디지털 홀로그램을 실시간으로 생성하기 위한 인터랙티브 디지털 홀로그램 서비스 시스템에 있어서,
    상기 스테레오 영상의 좌우 카메라를 보정하기 위한 캘리브레이션(calibration) 정보를 추출하는 보정정보 획득부;
    상기 스테레오 영상의 좌우 영상 각각을 상기 캘리브레이션 정보를 이용하여 보정하되, 상기 좌우 영상 각각을 적어도 1개의 쓰레드에 의해 별도로 처리되는 카메라 보정부;
    적어도 1개의 쓰레드에 의해 처리되고, 보정된 좌우 영상에 대하여 화질개선을 수행하는 전처리부;
    적어도 1개의 쓰레드에 의해 처리되고, 상기 좌우 영상으로부터 상기 시청자 시점에 해당되는 중간시점 영상을 생성하는 중간영상 생성부; 및,
    적어도 2개의 GPU를 각각 수행시키는 적어도 2개의 쓰레드에 의해 처리되고, 상기 중간시점 영상으로부터 컴퓨터 홀로그램을 생성하는 홀로그램 생성부를 포함하는 것을 특징으로 하는 인터랙티브 디지털 홀로그램 서비스 시스템.
  2. 제1항에 있어서,
    상기 카메라 보정부, 상기 전처리부, 상기 중간영상 생성부, 및, 상기 홀로그램 생성부를 처리하는 각 쓰레드는 서로 다른 쓰레드로 구성되어 병렬로 처리되는 것을 특징으로 하는 인터랙티브 디지털 홀로그램 서비스 시스템.
  3. 제1항에 있어서, 상기 시스템은,
    적어도 1개의 GPU를 수행시키는 적어도 1개의 쓰레드에 의해 처리되고, 프레즈넬(Fresnel) 변환을 통해 상기 컴퓨터 홀로그램을 복원하는 복원부를 더 포함하는 것을 특징으로 하는 인터랙티브 디지털 홀로그램 서비스 시스템.
  4. 제1항에 있어서,
    상기 카메라 보정부, 상기 전처리부, 상기 중간영상 생성부, 및, 상기 홀로그램 생성부는 각각 순서대로, 이전 구성요소의 출력을 입력받아 실시간으로 처리하여 다음 구성요소의 입력으로 출력하는 것을 특징으로 하는 인터랙티브 디지털 홀로그램 서비스 시스템.
  5. 제1항에 있어서,
    상기 홀로그램 생성부는 처리하는 쓰레드의 수만큼 상기 컴퓨터 홀로그램을 균등하게 나누어 생성하고, 나누어 생성된 홀로그램을 합하여 최종 홀로그램을 생성하는 것을 특징으로 하는 인터랙티브 디지털 홀로그램 서비스 시스템.
  6. 제5항에 있어서,
    상기 홀로그램 생성부를 처리하는 쓰레드 및 GPU의 수를 2의 제곱 수로 정하는 것을 특징으로 하는 인터랙티브 디지털 홀로그램 서비스 시스템.
KR1020120098031A 2012-09-05 2012-09-05 디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템 KR101321895B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120098031A KR101321895B1 (ko) 2012-09-05 2012-09-05 디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120098031A KR101321895B1 (ko) 2012-09-05 2012-09-05 디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템

Publications (1)

Publication Number Publication Date
KR101321895B1 true KR101321895B1 (ko) 2013-10-29

Family

ID=49639247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120098031A KR101321895B1 (ko) 2012-09-05 2012-09-05 디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템

Country Status (1)

Country Link
KR (1) KR101321895B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763543A (zh) * 2014-02-13 2014-04-30 北京大学 合成全息图的采集方法
KR101598615B1 (ko) * 2014-09-23 2016-03-02 광운대학교 산학협력단 디지털 홀로그램으로부터의 임의시점 및 임의시차의 스테레오스코픽 영상 생성 방법
CN105791728A (zh) * 2016-05-30 2016-07-20 北京视友科技有限责任公司 一种通过脑电控制的全息立体投影系统
WO2019225779A1 (ko) * 2018-05-23 2019-11-28 광운대학교 산학협력단 곡면 홀로그램의 회전 불변성의 개념에 기초한 곡선 홀로그램 기반 회전 - 운동 보상 방법에 의한 자유 운동 상태의 3 차원 물체의 홀로그램 비디오의 고속 생성방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070063063A (ko) * 2005-12-14 2007-06-19 주식회사 제이앤에이치테크놀러지 스테레오 비전 시스템
KR20100134288A (ko) * 2009-06-15 2010-12-23 이상화 입체 영상 시스템 및 입체 영상 처리 방법
KR20110071528A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 스테레오 영상, 다시점 영상 및 깊이 영상 획득 카메라 장치 및 그 제어 방법
KR20120029128A (ko) * 2010-09-16 2012-03-26 광운대학교 산학협력단 시청자의 시점에 따라 홀로그래픽 영상을 복원하는 다시점 기반 대화형 홀로그래픽 복원 장치 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070063063A (ko) * 2005-12-14 2007-06-19 주식회사 제이앤에이치테크놀러지 스테레오 비전 시스템
KR20100134288A (ko) * 2009-06-15 2010-12-23 이상화 입체 영상 시스템 및 입체 영상 처리 방법
KR20110071528A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 스테레오 영상, 다시점 영상 및 깊이 영상 획득 카메라 장치 및 그 제어 방법
KR20120029128A (ko) * 2010-09-16 2012-03-26 광운대학교 산학협력단 시청자의 시점에 따라 홀로그래픽 영상을 복원하는 다시점 기반 대화형 홀로그래픽 복원 장치 및 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763543A (zh) * 2014-02-13 2014-04-30 北京大学 合成全息图的采集方法
KR101598615B1 (ko) * 2014-09-23 2016-03-02 광운대학교 산학협력단 디지털 홀로그램으로부터의 임의시점 및 임의시차의 스테레오스코픽 영상 생성 방법
CN105791728A (zh) * 2016-05-30 2016-07-20 北京视友科技有限责任公司 一种通过脑电控制的全息立体投影系统
WO2019225779A1 (ko) * 2018-05-23 2019-11-28 광운대학교 산학협력단 곡면 홀로그램의 회전 불변성의 개념에 기초한 곡선 홀로그램 기반 회전 - 운동 보상 방법에 의한 자유 운동 상태의 3 차원 물체의 홀로그램 비디오의 고속 생성방법

Similar Documents

Publication Publication Date Title
KR101177408B1 (ko) 시청자의 시점에 따라 홀로그래픽 영상을 복원하는 다시점 기반 대화형 홀로그래픽 복원 장치 및 시스템
Didyk et al. Joint view expansion and filtering for automultiscopic 3D displays
TW202127869A (zh) 用於全視差壓縮光場三維成像系統之方法
JP2010045776A (ja) 映像レンダリングの方法およびシステム、そのためのコンピュータプログラム製品
KR101321895B1 (ko) 디지털 홀로그램 비디오를 위한 인터랙티브 디지털 홀로그램 서비스 시스템
Schroers et al. An omnistereoscopic video pipeline for capture and display of real-world VR
US20150192898A1 (en) Apparatus and method for measuring and evaluating field of view (fov) of reconstructed image of hologram
KR101421984B1 (ko) 깊이정보의 시간적 필터링 기반 디지털 홀로그램의 고속 생성 방법
US20230283759A1 (en) System and method for presenting three-dimensional content
Shen et al. Head tracking three-dimensional integral imaging display using smart pseudoscopic-to-orthoscopic conversion
CN110958442B (zh) 用于处理全息图像数据的方法和装置
US10298914B2 (en) Light field perception enhancement for integral display applications
Wu et al. Depth mapping of integral images through viewpoint image extraction with a hybrid disparity analysis algorithm
KR102577707B1 (ko) 진폭 변조 홀로그램을 위한 홀로그램 인코딩 및 홀로그램 화질 평가 장치 및 그 방법
KR102577686B1 (ko) 홀로그램 생성 방법
DuVall et al. Compositing light field video using multiplane images
Du et al. Improving visual quality of view transitions in automultiscopic displays
KR101378910B1 (ko) 임의의 가상시점 홀로그램 서비스를 위한 의사변위 기반 중간시점 영상 생성 방법
KR20120054790A (ko) 중간영상을 생성하여 시청자의 시점에 따라 홀로그래픽 영상을 복원하는 다시점 기반 대화형 홀로그래픽 복원 장치 및 시스템
KR20120054799A (ko) 다시점 깊이영상을 이용하여 시청자의 시점에 따라 홀로그래픽 영상을 복원하는 다시점 기반 대화형 홀로그래픽 복원 장치 및 시스템
Xie et al. High-quality reproduction method for three-dimensional light-field displays using parallax-view information synthesis and aberration precorrection
Katayama et al. A method for converting three-dimensional models into auto-stereoscopic images based on integral photography
KR101387045B1 (ko) 디지털 홀로그래픽 방송 서비스를 위한 영상 콘텐츠 암호화 장치 및 방법
Seo et al. A Prototype Architecture of an Interactive Service System for Digital Hologram Videos
CN115061348B (zh) 基于物点的三维动态全息显示方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161017

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181016

Year of fee payment: 6