x264 GPU 3 a), a), a) Fast Stereoscopic 3D Broadcasting System using x264 and GPU Jung-Ah Choi a), In-Yong Shin a), and Yo-Sung Ho a) 3 2. 2 3. H.264/AVC x264. GPU(Graphics Processing Unit) CUDA API, GPU 3. 2 3. 3 24. Abstract Since the stereoscopic 3-dimensional (3D) video that provides users with a realistic multimedia service requires twice as much data as 2-dimensional (2D) video, it is difficult to construct the fast system. In this paper, we propose a fast stereoscopic 3D broadcasting system based on the depth information. Before the transmission, we encode the input 2D+depth video using x264, an open source H.264/AVC fast encoder to reduce the size of the data. At the receiver, we decode the transmitted bitstream in real time using a compute unified device architecture (CUDA) video decoder API on NVIDIA graphics processing unit (GPU). Then, we apply a fast view synthesis method that generates the virtual view using GPU. The proposed system can display the output video in both 2DTV and 3DTV. From the experiment, we verified that the proposed system can service the stereoscopic 3D contents in 24 frames per second at most. Key Words: Fast 3D broadcasting system, fast view synthesis, x264, GPU I.. a) Gwangju Institute of Science and Technology : (hoyo@gist.ac.kr) (2010 3 26 ),(2010 7 2 ), (2010 7 13 ) 3 2,. 2 3 (stereoscpic video), (holography), (multi-view video) [1]. 2 3
최정아 외 : x264와 GPU를 이용한 고속 양안식 3차원 방송 시스템 장면을 제공하는 양안식 비디오 기술은 가장 기본적인 입 체 영상 제공 방법으로, 동일한 3차원 장면을 두 대의 카메 라로 획득하여 보다 입체감 있는 화면을 제공한다. 본 논문에서는 2차원 색상 영상과 깊이 정보로 구성된 2D+깊이 영상의 3차원 콘텐츠를 고속으로 부호 및 복호할 수 있는 3차원 코덱이 탑재된 고속 양안식 3차원 방송 시스 템을 개발하였다. 본 논문의 구성은 다음과 같다. 2장에서는 양안식 3차원 영상 및 이를 위한 2D+깊이 영상 포맷에 대해 소개하고, 3장에서 제안한 고속 3차원 방송 시스템의 각 부분을 설명 한 후, 제안한 시스템의 구성을 보여준다. 4장에서 제안한 시스템의 성능을 보인 후, 5장에서 결론을 맺는다. II. 541 의미한다. 그림 1은 3차원 워핑 기술로 카메라 특성과 위치, 깊이 정보를 이용해 원 영상을 3차원 전역 좌표계로 변환하 고, 이를 다시 가상시점의 영상으로 재투영한 결과를 보여 준다. 그림 1의 왼쪽 부분은 참조 영상의 한 화소인 (u,v)를 깊이값 d 를 이용하여 전역 좌표계의 한 점 (x,y,z)로 환원 하는 과정이다. 이를 식으로 표현하면 식 (2)와 같다. u,v (2) 깊이 영상 기반 양안식 3차원 영상 하나의 색상 영상과 깊이 영상으로 3차원 영상을 재현하 기 위해서는 가상시점 영상을 추가로 합성해야 한다. 카메 라 위치와 특성에 기반하여 정확한 합성 영상을 얻기 위해 서는 영상 기반 렌더링 방법 중의 하나인 3차원 워핑 기술 이 필요하다. McMillan이 제안한 3차원 워핑 기술은 그림 1과 같이 카메라 특성과 위치, 깊이 정보 등을 이용하여 원 본 영상을 3차원 전역 좌표계로 이동시킨 뒤, 이를 다시 가 상시점의 영상 면으로 투영하는 방식이다. 전역 좌표계와 카메라 좌표계는 초점거리, 화소의 크기, 카메라의 위치 등을 나타내는 물리적인 매개변수로 그 관 계를 기술할 수 있다. 전역 좌표계의 한 점 X가 한 카메라 를 통해 투영된 점을 x라고 하면, 이 두 점간의 관계식은 식 (1)과 같다. [2] (1) 여기서 x와 X는 영상 면과 전역 좌표계의 화소의 위치를 동차 행렬 형식으로 변환한 벡터이고, 행렬 A는 전역 좌표 계와 카메라 좌표계의 초점거리, 화소의 크기, 카메라의 위 치 등을 나타내는 물리적인 매개변수인 카메라의 내부 변 수를, 행렬 R은 카메라의 방향을, 행렬 t는 카메라의 위치를 원영상 그림 1. 가상시점 영상 합성 가상시점 영상 Fig. 1. Virtual view synthesis 여기서 아래첨자 r은 참조 영상을 의미하고 (u,v,1)은 참조 영상 화소 (u,v)의 동차 좌표를, (x,y,z)는 전역 좌표계에서 의 위치를 의미한다. 이렇게 전역 좌표계로 이동된 점은 그 림 1의 오른쪽 부분처럼 다시 가상시점의 영상 면으로 투영 되게 된다. 이를 식으로 표현하면, 식 (3)과 같다. (3) 여기서 아래첨자 v는 가상시점을 의미하고, 실제 영상 면에서의 좌표는 (l/n, m/n)이 된다. 참조 영상의 모든 화소 를 가상시점으로 재배치하면 최종 가상시점 영상을 얻을 수 있다. 재투영하는 과정이 정확하게 1:1 사상이 아니기 때문에 기하학적인 차이로 인해 빈공간(hole)이 발생하게 된다. 그림 1의 가상시점 영상에서 녹색으로 표시된 부분
.. 2D+,. GPU. III. 3 1. 2D+. H.264/AVC JM(Joint Model). H.264/AVC x264 [3]. x264 VideoLAN. SIMD (MMX, SSE, SSE2, SSE3 ),. 2 x264 JM 15.1 [4]. Intel Core2 Quad CPU @ 2.40 GHz 2.00GB RAM. x264 JM 50. 3, x264 38 db JM, JM. 5% x264. bit rate (ratio) 1.05 1.04 1.03 1.02 1.01 1 0.99 0.98 0.97 0.96 30 32 34 36 38 40 42 44 46 48 50 PSNR 3. JM x264 Fig. 3. Bit rate comparison between JM and x264 x264.. JM x264 seconds per frame 8 7 6 5 4 3 2 1 0 30 32 34 36 38 40 42 44 46 48 50 PSNR 2. JM x264 Fig. 2. Processing time comparison between JM and x264 JM x264 2. 2D+. Queue GOP (Group Of Pictures). GOP 30. 15..
5. 3 Fig. 5. Proposed fast stereoscopic 3D broadcasting system CUDA API. API NVIDIA [5]. CUDA API CUDA CUDA,., CUDA API MPEG-1, MPEG-2, H.264/AVC CUDA. 2D+. 3.. 4. 3. 3 GPU (CPU). GPU CUDA [6]. CUDA SIMT. 4. 3 Fig. 4. Proposed vertical parallel structure for 3D warping GPU. GPU
.. 3. 4. 5 3. x264 2D+ 3.. CUDA API 2D+ GPU, 3. 2, 3 3., (side-by-side) (top-and-bottom)..,. 3D,. IV. 3 Dual Core Processor 1.86 GHz @ 2 GB RAM. Microsoft Research 720 480 Ballet [7]. SD 2 720 960. H.264/AVC JM x264. 22, 27, 32, 37. GOP 30 2 CABAC (Context- Adaptive Binary Arithmetic Coding). 1, x264 JM 870. 1. Table 1. Performance of the encoder (fps) JM 15.1 (Kbps) (fps) x264 (Kbps) 22 0.04 1882.52 22.38 2232.63 27 0.04 1024.39 25.85 1148.56 32 0.04 585.29 31.11 632.27 37 0.04 336.90 34.83 347.35 CUDA GPU. CUDA GPU GeForce GTX 260 (896MB, 1.35GHz). 512 MB 16, 128 1.62 GHz. 2 3. CUDA API 2D+ 3. 2D+ JM 15.1, GPU 3 CPU. JM 720 960 2D+ 6.8, CUDA
API 143.1. 3 GPU 3 CPU 3. 3 3,. 3. CPU 3 7.73. GPU 3 82.8. 2. 2D+ ( : fps) Table 2. Performance of the video-plus-depth decoder JM 15.1 22 3.8 140.9 27 4.9 142.2 32 5.9 142.3 37 6.8 143.1 3. GPU 3 ( : fps) Table 3. Performance of fast 3D rendering using GPU PSNR. 27. 6 7 27 Ballet 100 PSNR. 45 40 35 30 25 20 15 10 5 0 0 20 40 60 80 100 120 좌영상 합성된우영상 6. Fig. 6. PSNR of the synthesized virtual view CPU GPU 22 6.42 88.2 27 7.33 87.1 32 8.25 88.3 37 9.36 87.9 4. ( : fps) Table 4. Processing time of the proposed system 22 10 27 17 32 22 37 24 4. 22, 27, 32, 37 10, 17, 22, 24. 27. 7. Fig. 7. Synthesized virtual view V. 3 3. 2D+ x264, CUDA
API GPU 3 3. 35 db 27 17, 32 22. 30., 34.83, 143.1 87.9. /.,. [1],,, ",", 12 2, pp. 128-136, 2007. [2] L. McMillan, An image-based approach to three-dimensional computer graphics, Technical Report, Ph.D. Dissertation, UNC Computer Science TR97-013, April 1997. [3] x264 software. Available from: http://www.videolan.org/developers/x264.html [4] Reference software JM15.1. Available from: http://iphome.hhi.de/ suehring/tml/download/ [5] F. Jargstorff and E. Young, CUDA video decoder API, 2008. [6] NVIDIA corporation, CUDA 2.3 Programming Guide, 2009. [7] Contribution for 3D video test material of outdoor scene, document m15371.doc, ISO/IEC JTC1/SC29/WG11, April 2008. - 2002 2007 : - 2007 2008 : - 2008 : - :, H.264/AVC, High Efficiency Video Coding - 2001 2008 : - 2009 : - :, H.264/AVC, - 1977 1981 : - 1981 1983 : - 1983 1995 : - 1985 1989 : University of California, - 1990 1993 : - 1995 : - 2003 : - :, TV, MPEG, 3 TV,