삼차원 비디오 처리기술은 차세대 정보통신 서비스 분야의 핵심기술로서, 정보산업 사회로의 발달과 더불어 수요 및 기술개발 경쟁이 치열한 최첨단 기술이다. 이러한 삼차원 비디오 처리기술은 멀티미디어 응용에서 고품질의 영상 서비스를 제공하기 위해 필수적인 요소인데, 오늘날에는 이러한 정보통신 분야 뿐만 아니라 방송, 의료, 교육(또는 훈련), 군사, 게임, 애니메이션, 가상현실 등 그 응용 분야가 매우 다양화되고 있다. 게다가, 삼차원 비디오 처리기술은 여러 분야에서 공통적으로 요구하는 차세대 실감 삼차원 입체 멀티미디어 정보통신의 핵심 기반기술로도 자리잡아 선진국을 중심으로 이에 대한 연구가 활발히 진행되고 있다.
일반적으로 삼차원 비디오는 다음과 같이 두가지 관점에서 정의내릴 수 있다. 첫번째로, 삼차원 비디오는 영상에 깊이에 대한 정보를 적용시켜 영상의 일부가 화면으로부터 돌출되는 느낌을 사용자가 느낄 수 있도록 구성되는 비디오로 정의할 수 있다. 두번째로, 삼차원 비디오는 사용자에게 다양한 시점을 제공하여 이로부터 사용자가 영상에서 현실감(즉, 입체감)을 느낄 수 있도록 구성되는 비디오로 정의할 수 있다. 이러한 삼차원 비디오는 획득 방식, 깊이감(Depth Impression), 디스플레이 방식 등에 따라 양안식, 다안식, IP(Integral Photography), 다시점(옴니(Omni), 파노라마(Panorama)), 홀로그램 등으로 분류할 수 있다. 그리고, 이러한 삼차원 비디오를 표현하는 방법으로는 크게 영상 기반 표현법(Image-Based Reconstruction)과 메쉬 기반 표현법(Mesh-Based Representation)이 있다.
최근 들어 이러한 삼차원 비디오를 표현하는 방법으로 깊이영상 기반 렌더링(DIBR; Depth Image-Based Rendering)이 각광을 받고 있다. 깊이영상 기반 렌더링은 관련된 각 화소마다 깊이나 차이각 등의 정보를 가진 참조 영상들을 이용하여 다른 시점에서의 장면들을 창출하는 방법을 말한다. 이러한 깊이영상 기반 렌더링은 삼차원 모델의 표현하기 어렵고 복잡한 형상을 용이하게 렌더링할 뿐만 아니라, 일반적인 영상 필터링(Filtering)과 같은 신호처리 방법의 적용을 가능하게 하며, 고품질의 삼차원 비디오를 생산할 수 있게 하는 장점을 가지고 있다. 이러한 깊이영상 기반 렌더링은 상기한 바의 실현을 위해 깊이 카메라(Depth Camera) 및 멀티뷰 카메라(Multi-view Camera)를 통하여 획득되는 깊이영상(Depth Image(or Depth Map))과 텍스처 영상(Texture Image(or Color Image))을 이용한다. 여기에서 특히, 깊이영상은 삼차원 모델을 보다 실감있게 표현하는 데에 사용된다(즉, 보다 입체감있는 삼차원 비디오의 생성을 위해 사용된다).
깊이영상은 3차원 공간상에 위치하는 객체와 그 객체를 촬영하는 카메라 사이의 거리를 흑백의 단위로 나타내는 영상으로 정의할 수 있다. 이러한 깊이영상은 깊이정보와 카메라 파라미터를 통하여 3차원 복원기술 또는 3차원 워핑(Three-dimensional warphing)기술에 많이 이용된다. 이외에도, 깊이영상은 다양한 분야에 응용되는데, 그 대표적인 예가 자유시점 TV와 3차원 TV이다. 자유시점 TV는 정해진 하나의 시점에서만 영상을 감상하지 않고 사용자의 선택에 따라 임의의 시점에서 영상을 시청할 수 있게 하는 TV를 말한다. 자유시점 TV의 이러한 특징은 여러 대의 카메라를 이용하여 촬영한 다시점 영상들과 그 영상에 부합하는 다시점 깊이영상들을 참작하여 임의의 시점에서의 영상을 창작하기에 가능하게 된다. 한편, 3차원 TV는 기존 2차원 TV에 깊이영상을 더하여 실감영상을 구현하는 특징이 있으며, 최근 활발하게 연구개발이 이루어지고 있다.
그런데, 깊이영상은 단일시점에서의 깊이정보를 수반하는 경우도 있으나 대체로 다시점에서의 깊이정보를 수반해야 상술한 바를 이룰 수 있게 된다. 게다가, 텍스처 영상에 비해 단조롭게 구성된다 할지라도 다시점 깊이영상은 부호화에 따른 데이터 양이 방대하다. 따라서, 깊이영상에는 효과적인 비디오 압축기술이 필수적으로 요구된다.
종래에는 상술한 바를 참작하여 단일시점을 기반으로 하는 깊이영상의 부호화에 대한 연구가 많이 진행되었다. 그 예로는 텍스처 영상과 깊이영상의 상관관계 특히, 움직임 벡터의 상관관계를 이용한 방법을 들 수 있다. 이 방법은 텍스처 영상과 깊이영상의 움직임 벡터가 비슷할 것이라는 조건 하에서, 선행하여 부호화된 텍스처 영상의 움직임 벡터를 이용하여 깊이영상을 부호화할 때 그 비트 수를 감소시키는 것을 골자로 하는 방법이다. 그러나, 이러한 방법은 후술하는 2가지 단점을 가지고 있다. 그 첫째가 깊이영상의 부호화보다 텍스처 영상의 부호화가 선행하여야 한다는 것이다. 그리고, 둘째는 텍스처 영상의 화질에 깊이영상의 화질이 의존하게 된다는 것이다.
한편, 최근 들어 MPEG 표준화 기구를 중심으로 다시점 깊이영상 부호화에 대한 연구가 추진되고 있다. 일례로 이웃영상 간의 높은 관계성을 참작하여 하나의 장면에 대해 다수개의 카메라로 촬영한 텍스처 영상들을 이용하는 방법이 있다. 이 방법은 상기 텍스처 영상들에서 취득한 잉여정보가 많기 때문에 부호화 효율을 향상시킬 수 있다. 더욱이, 시간방향이나 공간방향의 상관관계를 고려한다면 부호화 효율을 더 제고시킬 수 있게 된다. 그러나, 이러한 방법은 시간측면이나 비용측면에서 매우 비효율적인 문제점을 내포하고 있다.
한편, 다시점 깊이영상 부호화 방법에 대한 연구결과 중에는 Phillip Merkle, Aljoscha Smolic, Karsten Muller 및 Thomas Wiegand가 2007년 5월 IEEE 3DTV Conference, Kos, Greece에서 발표한 "Efficient compression of multi-view depth data based on MVC" 논문도 있다. 이 논문에 따르면, 다시점 깊이영상을 부호화할 때 각각의 시점을 따로 부호화시키지 않고 시점 방향의 관계성을 고려하여 부호화를 수행한다. 또한, 이 논문에 따르면 다시점 영상 부호화 방법의 부호화 순서를 다시점 깊이영상 부호화 방법에 이용한다. 그러나, 이 논문에 제안된 다시점 깊이영상 부호화 방법은 이웃하는 다시점 영상들 대신 이와 유사한 특징을 가지는 시점 방향의 관계성을 고려한다는 측면에서 볼 때 기존의 다시점 영상 부호화 방법을 그대로 답습하고 있다할 것이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
본 발명은 특정 시점에서의 깊이영상을 하나 이상의 참조영상에서 생성하는 것을 특징으로 한다. 구체적으로, 본 발명은 텍스처 영상에 비해 단순한 화소값을 가지는 깊이영상인 참조영상의 크기를 축소시키는 다운 샘플링 단계, 3D 워핑방법을 이용하여 상기 참조영상에서 특정 시점의 깊이영상을 예측하는 단계, 예측된 깊이영상에 홀이 발생할 경우 참조영상과 홀 주변의 화소값을 이용하여 홀을 제거하는 단계 등을 순차적으로 차용하여 원하는 시각에서 보여지는 깊이영상을 생성하는 것을 골자로 한다. 이하, 도면을 참조하여 이에 대해 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 깊이영상 생성방법에 대한 순서도이다. 이하, 도 1을 참조하여 참조영상을 이용한 깊이영상 생성방법을 설명한다.
먼저, 깊이 카메라(Depth camera)를 이용하여 어느 한 시점에서의 깊이영상을 촬영한다(S100). 이 깊이영상은 이후 본 발명의 실시예에서 참조영상으로써 활용된다.이 경우, 멀티뷰 카메라(Multi-view camera)를 이용하여 텍스처 영상 관련 정보를 취득하고, 스테레오 매칭방법(Stereo matching method)을 고려하여 취득된 바를 촬영된 깊이영상에 적용시킬 수 있다. 이 방법은 깊이영상이 보다 정확한 깊이값을 가지도록 하는 역할을 한다. 한편, 상기에서 스테레오 매칭방법이란 공간적으로 서로 다른 평면으로부터 취득된 2차원 이미지들을 이용하여 3차원 영상을 생성하는 방법을 말한다. 한편, 참조영상을 이용한 깊이영상 생성방법에 있어서 참조영상은 기취득됨도 가능하므로 상술한 S100 단계는 생략 가능하다.
다음, 참조영상을 다운 샘플링한다(S105). 대체적으로 참조영상은 텍스처 영상에 비해 단순한 화소값을 가진다. 따라서, 참조영상은 이후 전개될 부호화(encoding), 전송(Transmission), 복호화(decoding) 등의 과정을 고려할 때 다운 샘플링을 적용시킴이 바람직하다. 다운 샘플링시 샘플링 비율은 1/2 또는 1/4이 바람직하다. 그 이유는 이 비율이 최적의 깊이값을 보존하기 때문이다. 한편, 부호화후 전송된 참조영상은 그 즉시 또는 복호화 과정에서 원래 사이즈로 업 샘플링(Up sampling)시켜 이용하게 된다.
다음, 3D 워핑방법을 이용하여 참조영상에서 특정 시점 방향에서의 깊이영상을 예측 생성한다(S110). 이하, 이 방법을 3D 워핑방법을 이용한 깊이영상 합성예측 방법으로 정의한다. 통상적으로 깊이영상은 3D 워핑에 필요한 깊이정보를 담고 있기 때문에 카메라 파라미터를 제외한 더이상의 부가정보 없이 목적물인 특정 시점 방향에서의 깊이영상을 생성할 수 있다. 특정 시점 방향에서의 깊이영상을 생성하기 위해서는 다음 수학식 1과 수학식 2가 사용된다.
상기 수학식 1 및 수학식 2에서 PWC, Preference, Ptarget는 각각 3차원 공간에서의 좌표정보, 참조영상, 목표영상을 나타낸다. 그 외, R, A, D, t는 각각 회전변수, 카메라의 고유변수, 깊이정보, 이동변수를 나타낸다.
이하, 도 2를 참조하여 깊이영상 합성예측 방법을 설명한다. 먼저, 수학식 1을 사용하여 2차원 영상인 참조영상(200)에 존재하는 화소값의 위치를 3차원 공간상(220)에 투영시킨다(도 2의 ⓐ). 이후, 수학식 2를 사용하여 투영된 3차원 공간상(220)의 위치값을 2차원 영상인 목표영상(210)의 적합한 위치에 재투영시킨다(도 2의 ⓑ). 이후, 참조영상(200)의 화소 위치에 대응하는 것으로 판단되는 목표영상(210)의 화소 위치에 참조영상(200)의 화소값을 전달한다(도 2의 ⓒ). 상술한 ⓐ, ⓑ, ⓒ의 과정을 차례대로 거치면 본 발명에 따른 특정 시점 방향에서의 깊이영상을 생성할 수 있게 된다.
다음, 예측 생성된 깊이영상에 존재하는 홀을 제거한다(S115). 상기 S110 단계를 거쳐 예측 생성된 깊이영상에는 폐쇄영역으로 인해 홀이 발생될 수 있다. 이에, 본 발명에 따른 깊이영상 생성방법은 ⓐ 내지 ⓒ 과정 이후에 홀을 제거하는 과정을 더 포함한다. 홀을 제거하는 과정은 도 3 내지 도 5를 참조하여 이하 설명한다.
(1) 참조영상이 단수개인 경우
ⓐ 내지 ⓒ 과정을 거쳐 생성된 깊이영상이 참조영상으로 좌측시점 영상(300)을 이용한 경우에는 도 3의 (a)에서 보는 바와 같이 깊이영상(305)의 좌측에 크고 작은 홀들이 발생된다. 반면, ⓐ 내지 ⓒ 과정을 거쳐 생성된 깊이영상이 참조영상으로 우측시점 영상(310)을 이용한 경우에는 도 3의 (b)에서 보는 바와 같이 깊이영상(305)의 우측에 크고 작은 홀들이 발생된다. 이러한 홀들의 발생은 좌측시점 영상(300)이나 우측시점 영상(310)이 표현하지 못하는 부분(즉, 폐쇄영역)을 가상으로 설정하는 과정에서 발생된다. 따라서, 참조영상이 단일영상인 경우에는 이 홀에 해당하는 값을 원칙적으로 구하기가 불가능하다.
이에, 본 발명에서는 도 4에 도시된 바와 같이 홀(Hole) 주변의 8개 화소값 중에서 이용 가능한 것으로 판단되는 값들의 중간값을 취하도록 한다. 이 경우, 홀을 채우기 전에 홀 전후의 깊이값을 이용하여 홀의 전경에 대한 위치를 사전 탐색함이 바람직하다. 그러면, 깊이영상에서 홀을 제거하는 것이 가능하게 된다. 그런데, 중간값을 취하도록 하기 위해서는 미디언 필터(Median filter)가 적용될 수 있는데, 미디언 필터의 영향으로 홀이 제거된 부분에서 경계가 뭉개지는 현상이 발생될 수 있다. 이에, 본 발명에서는 취득된 홀 값만을 추출하여 홀이 존재하는 원래 깊이영상에 적용시키는 과정이 부가될 수 있다. 그러면, 깊이영상에서 경계가 뭉개지는 문제점을 해결할 수 있게 되며, 보다 정확한 깊이값을 가지는 깊이영상을 생성하는 것이 가능하게 된다.
(2) 참조영상이 복수개인 경우
참조영상으로 어느 하나의 시점 영상을 이용하게 되면 그와 관련한 부분에 홀을 발생됨은 상기 (1)에서 이미 언급하였다. 그런데, 예컨대 참조영상으로 좌측시점 영상(300)을 이용한 경우 다른 참조영상으로 우측시점 영상(310)이 구비되면, 깊이영상(305)의 좌측에 발생된 홀들의 화소값을 채우는 것은 매우 용이하다. 그 이유는 이 홀들의 화소값을 우측시점 영상(310)으로부터 예측할 수 있기 때문이다. 따라서, 이 경우 홀을 제거하는 방법은 도 5에 도시된 바와 같이 전개된다.
제1 단계에서, 특정 시점의 참조영상(320)을 이용하여 생성한 깊이영상(325)은 일측에 홀이 발생되어 있다. 다음, 제2 단계에서, 다른 시점의 참조영상(330)을 이용하여 상기 깊이영상(325)의 홀을 제거시킨다. 이 경우, 영상을 합성할 때 참조영상에서 2개 이상의 화소값이 목표영상의 한 점의 화소값에 맵핑될 때 전경과 배경을 깊이값을 이용하여 구별함이 바람직하다. 제1 단계 및 제2 단계를 거치면, 대체적으로 깊이영상(325)의 홀은 제거된다. 그러나, 깊이영상(325)에서 제거되지 않은 홀이 있을 수도 있다. 이 경우에는 상술한 미디언 필터 적용 방법을 이용함이 바람직하다.
S115 단계까지 거치게 되면, 본 발명에 따른 특정 시점 방향에서의 깊이영상을 생성할 수 있다(S120). 이 깊이영상은 도 6에서 보는 바와 같이 추후 P시점 또는 B시점에서의 영상을 부호화할 때 부가적인 참고영상으로써 이용될 수 있다. 따라서, 이 깊이영상은 궁극적으로 부호화 효율을 향상시키는 기능을 하게 된다.
다음으로, 도 1 내지 도 6을 참조하여 생성한 깊이영상을 부호화하는 인코더(Encoder), 인코더를 이용하여 인코딩(Encoding)하는 방법, 복호화하는 디코더(Decoder), 디코더를 이용하여 디코딩(Decoding)하는 방법 등을 차례대로 설명한다. 먼저 인코더를 설명한다.
도 7은 본 발명의 바람직한 실시예에 따른 인코더의 내부구성을 표현한 블록도이다. 도 7을 참조하면, 본 발명의 바람직한 실시예에 따른 인코더(700)는 다운 샘플링부(702), 깊이영상 예측부(704), 홀 제거부(706), 영상 예측부(710), 영상 T/Q부(730) 및 엔트로피 코딩부(740)를 포함한다.
본 발명에 따른 인코더(700)는 용이한 실시구성을 참작하여 2차원 비디오 인코더로 구현시킬 수 있다. 그러나, 반드시 이에 한정될 필요는 없으며, 3차원 비디오 인코더로 구현하는 것도 가능하다. 특히, 인코더(700)는 보다 높은 데이터 압축효율을 감안하여 H.264 인코더로 구현시킴이 바람직하다.
다운 샘플링부(702)는 본 발명의 실시예에서 참조영상을 다운 샘플링하는 기능을 수행한다.
깊이영상 예측부(704)는 다운 샘플링된 참조영상을 토대로 3D 워핑방법을 이용하여 특정 시점 방향에서의 깊이영상을 예측 생성하는 기능을 수행한다. 이에 대한 상세한 설명은 수학식 1, 수학식 2 및 도 2를 참조하여 상술한 바 생략한다.
홀 제거부(706)는 본 발명의 실시예에서 예측 생성된 깊이영상에 존재하는 홀들을 제거하는 기능을 수행한다. 이에 대한 상세한 설명 역시 도 3 내지 도 5를 참조하여 상술한 바 생략한다. 한편, 본 발명의 실시예에서 홀 제거부(706)는 깊이영상을 H.264 인코더가 지원하는 형태의 프레임으로 변환시키는 기능을 더 수행할 수 있다.
영상 예측부(Image Prediction Block; 710)는 본 발명의 실시예에서 인터 프리딕션(Inter Prediction)과 인트라 프리딕션(Intra Prediction)을 수행한다. 여기에서, 인터 프리딕션은 디코딩(Decoding) 및 디블록킹 필터링(Deblocking Filtering)된 후 버퍼에 저장된 참조영상 프레임 Fn -1을 이용하여 깊이영상 프레임 Fn의 블록 예측을 수행하는 것을 말한다. 그리고, 인트라 프리딕션은 디코딩된 깊이영상 프레임 Fn 내에서 예측하고자 하는 블록에 인접한 블록의 픽셀 데이터를 이용하여 블록 예측을 수행하는 것을 말한다. 이러한 영상 예측부(710)는 본 발명의 실시예에서 종래의 H.264 인코더의 경우에서처럼 감산기(712a), 합산기(712b), 움직임 예상부(Motion Estimation Section; 714), 움직임 보상부(Motion Compensation Unit; 716), 프레임내 예상선택부(718), 인트라 프리딕션 수행부(720), 필터(722), 역변환부(724) 및 역양자화부(726)를 구비한다. 여기에서, 움직임 예상부(714)와 움직임 보상부(716)는 모양과 크기가 상이한 블록들을 제공하며, 1/4 Pixel Motion Estimation, Multiple Reference Frame Selection, Multiple Bidirectional Mode Selection 등을 지원하도록 설계할 수 있다. 이러한 움직임 예상부(714)와 움직임 보상부(716)는 모양과 크기가 동일한 블록들을 제공하는 것도 가능하다. 영상 예측부(710) 및 이를 구성하는 각 부(712a 내지 726)는 당업자에 의해 용이하게 구현 가능하므로 본 발명에서는 이에 대한 상세한 설명은 생략하기로 한다.
영상 T/Q부(730)는 본 발명의 실시예에서 영상 예측부(710)에서 예측을 수행하여 취득한 예측 샘플을 변환하고 양자화시키는 기능을 수행한다. 이를 위해 영상 T/Q부(730)는 변환부(Transform Block; 732)와 양자화부(Quantization Block; 734)를 구비한다. 여기에서, 변환부(732)는 종래 비디오 압축 표준들이 주로 사용하던 DCT(Discrete Cosine Transform) 대신에 SIT(Separable Integer Transform)를 사용하도록 설계할 수 있다. 이는 변환부(732)의 고속 연산작업을 가능하게 할뿐만 아니라, Inverse Transform에서의 Mismatch로 인한 왜곡현상도 제거한다. 이도 또한, 상기에 기술한 바에 따라 당업자에 의해 용이하게 구현될 수 있으므로 자세한 설명은 생략한다.
엔트로피 코딩부(Entropy Coding Block; 740)는 본 발명의 실시예에서 양자화된 비디오 데이터를 일정 방식에 따라 부호화하여 비트스트림(Bit Stream)으로 생성하는 기능을 수행한다. 이를 위해 엔트로피 코딩부(740)는 재정렬부(742) 및 엔트로피 부호화기(744)를 구비한다. 여기에서, 엔트로피 부호화기(744)는 UVLC(Universal Variable Length Coding), CAVLC(Context Adaptive Variable Length Coding), CABAC(Context Adaptive Binary Arithmetic Coding)과 같은 Entropy Coding 방식을 채택하여 보다 효율적인 압축이 이루어지도록 설계할 수 있다. 이 역시, 종래의 H.264 인코더에 구비되는 구성부에 해당하므로 당업자에 의한 용이한 구현이 가능하여 여기서는 상세한 설명을 생략한다.
다음으로, 인코더(700)의 부호화 방법을 설명한다. 도 8은 본 발명의 바람직한 실시예에 따른 인코더의 부호화 방법을 순차적으로 기술한 순서도이다. 이하, 도 8을 참조하여 설명한다.
먼저, 다운 샘플링부(702)가 참조영상을 다운 샘플링한다(S800). 이후, 깊이영상 예측부(704)가 다운 샘플링된 참조영상을 토대로 3D 워핑방법을 이용하여 특정 시점 방향에서의 깊이영상을 예측 생성한다(S805). 이후, 홀 제거부(706)가 예측 생성된 깊이영상에 존재하는 홀들을 제거한다(S810).
S800 단계 내지 S810 단계를 거쳐 생성된 깊이영상의 프레임 Fn이 입력되면, 영상 예측부(710) 및 영상 T/Q부(730)는 전달된 매크로블록을 프레임내 모드(Intra Mode) 또는 프레임간 모드(Inter Mode) 중 어느 하나의 모드를 이용하여 인코딩을 수행한다(S815). 어느 모드를 사용하거나 예상 매크로블록 P가 생성된다(S820). 어느 모드를 사용할지 여부는 프레임내 예상선택부(718)에 의해 결정된다. 먼저 프레임내 모드의 경우, 깊이영상 프레임 Fn은 영상 T/Q부(730)의 변환부(732)와 양자화부(734)에서 처리된다. 그런 다음, 처리된 프레임 Fn은 영상 예측부(710)의 역양자화부(726)와 역변환부(724)를 통하여 프레임을 재구성한다. 그러면, 이로부터 매크로블록 P가 생성된다. 다음으로 프레임간 모드의 경우, 영상 예측부(710)의 움직임 예상부(714)는 깊이영상 프레임 Fn과 하나 이상의 참조영상 프레임 Fn -1을 바탕으로 깊이영상 프레임 Fn의 움직임을 예측한다. 그러면, 움직임 보상부(716)는 깊이영상 프레임 Fn의 움직임을 보상하여 매크로블록 P를 생성하게 된다.
예상 매크로블록 P가 생성되면, 이것과 깊이영상 프레임 Fn의 매크로블록을 감산기(712a)에 입력하여 차이값 매크로블록 Dn을 취득한다(S825). 이어서, 차이값 매크로블록은 주파수영역 변환부(732)에 의해 IBT 변환된 다음, 양자화부(734)에서 일정한 양자화 스텝(Qstep)으로 양자화된다(S830).
양자화된 매크로블록은 엔트로피 코딩부(740)의 재정렬부(742)를 통하여 일정 방식(예컨대, 지그재그 방식)으로 스캔되어 양자화된 변환계수들이 차례대로 정렬된다. 이어서, 정렬된 일련의 변환계수들은 엔트로피 부호화기(744)를 거쳐 부호화된 다음 비트스트림의 형태로 출력된다(S835). 한편, 이때 또는 그 이후 엔트로피 부호화기(744)는 샘플링 비율도 함께 전송하게 된다.
한편, 상기에서 재구성된 프레임 uF'n은 필터(722)를 통과한 후 특정 버퍼(750)에 저장된다. 이는 추후 다른 프레임의 인코딩을 위해 사용되어진다. 한편, 상기에서 필터(722)는 재구성된 프레임 uF'n의 매크로블록 사이에 생기는 왜곡현상을 완화시키기 위한 디블록킹 필터(Deblocking Filter)를 말한다. 이러한 필터(722)는 특히, 비디오의 주관적 품질 개선 및 압축효율의 증가가 동시에 가능할 수 있도록 Adaptive In-Loop Filter로 구현됨이 바람직하다.
다음으로, 디코더를 설명한다. 도 9는 본 발명의 바람직한 실시예에 따른 디코더의 내부구성을 표현한 블록도이다. 도 9를 참조하면, 본 발명의 바람직한 실시예에 따른 디코더(900)는 업 샘플링부(905), 엔트로피 복호화기(910), 재정렬부(742), 역양자화부(726), 역변환부(724), 가산기(712b), 움직임 보상부(716), 인트라 프리딕션 수행부(720), 필터(722) 및 버퍼(750)를 포함하여 이루어진다.
본 발명에 따른 디코더(900)는 전송되는 영상이 다운 샘플링된 것이므로 이를 업 샘플링하기 위한 업 샘플링부(905)를 더 구비하는 것을 특징으로 한다.
업 샘플링부(905)는 본 발명의 실시예에서 필터(722)를 통과한 영상을 업 샘플링시키는 기능을 수행한다. 그런데, 업 샘플링부(905)가 상기 기능을 수행하기 위해서는 샘플링 비율을 알아야 한다. 샘플링 비율은 비트스트림 전달시 함께 또는 그 이후 인코더(700)로부터 전달됨이 일반이나, 사전에 결정되어 인코더(700)와 디코더(900) 각각에 저장되어 있음도 가능하다.
엔트로피 복호화기(910)는 본 발명의 실시예에서 비트스트림이 입력되면 이를 토대로 매크로블록의 변환계수를 재구성시키는 기능을 수행한다.
재정렬부(742), 역양자화부(726), 역변환부(724), 가산기(712b), 움직임 보상부(716), 인트라 프리딕션 수행부(720), 필터(722) 및 버퍼(750)는 도 7을 참조하여 기능에 대해 상술한 바 자세한 설명은 여기서는 생략한다.
다음으로, 디코더(900)의 복호화 방법을 설명한다. 도 10은 본 발명의 바람직한 실시예에 따른 디코더의 복호화 방법을 순차적으로 기술한 순서도이다. 이하, 도 10을 참조하여 설명한다.
먼저, 디코더(900)에 비트스트림이 입력되면(S1000), 엔트로피 복호화기(910)가 이를 바탕으로 매크로블록의 변환계수를 재구성시킨다(S1005). 재구성된 변환계수는 이후 재정렬부(742)에서 매크로블록의 형태로써 구성된다(S1010). S1005 단계를 거쳐 구성되는 매크로블록은 역양자화부(726)와 역변환부(724)를 거쳐 차이값 매크로블록 Dn으로 생성된다(S1015).
한편, 참조영상 프레임 Fn -1을 참작하여 움직임 보상부(716)가 프레임간 모드(Inter mode)에 따라 생성하던지, 인트라 프리딕션 수행부(720)가 프레임내 모드(Intra mode)에 따라 생성하던지 간에 예상 매크로블록 P가 생성됨은 이미 설명하였다(S1020). 이렇게 생성된 예상 매크로블록 P는 S1015 단계에서 생성된 차이값 매크로블록 Dn과 가산기(712b)를 통해 합산된다. 그러면, 이로부터 재구성된 프레임 uF'n이 생성된다(S1025). 재구성된 프레임 uF'n은 디블록킹 필터(722)를 거쳐 필터링되며, 이후 업 샘플링부(905)를 통해 업 샘플링된다. 그러면, 본 발명에 따른 깊이영상이 생성되며, 이 깊이영상은 버퍼(750)에 저장된다(이상 S1030).
한편, 본 발명의 실시예에 따른 깊이영상 생성방법, 인코더, 인코딩 방법, 디코더, 디코딩 방법 등에 의하여 생성되는 깊이영상은 컴퓨터로 판독 가능한 기록매체(예컨대, CD나 DVD 등)에 저장된다. 그리고, 상기 깊이영상을 토대로 생성되는 삼차원 비디오 또한 기록매체에 저장될 수 있음은 물론이다.
한편, 본 발명에서는 도 1 내지 도 6을 참조하여 생성되는 깊이영상을 만들어내는 장치를 구현할 수 있다. 구체적으로, 상기 장치는 참조영상을 다운 샘플링하는 다운 샘플링부, 다운 샘플링된 참조영상에서 3D 워핑방법을 이용하여 특정 시점 방향에서의 깊이영상을 예측 생성하는 깊이영상 예측부, 예측 생성된 깊이영상에 존재하는 홀을 제거하는 홀 제거부 등을 포함하여 이루어질 수 있다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.