상술한 바를 달성하기 위한 본 발명은 3차원 입체 영상을 압축하기 위한 장치에 있어서, 일정 간격으로 서로 떨어져 장착되며, 하나의 피사체에 대해 각각 좌우 영상에 해당하는 제1 및 제2영상을 출력하는 두 개의 영상입력부와, 상기 제1영상과 상기 제2영상의 경계 부분이 확장된 서치 영역 간의 비교를 통해 불일치가 가장 적은 겹쳐진 영상을 찾고, 상기 겹쳐진 영상과 상기 제2영상 간의 위치 차이를 구하여 저장한 후, 상기 겹쳐진 영상을 위치 정렬하여 상기 제1영상 간의 잔여 영상을 구하는 차이 추정부와, 상기 차이 추정부로부터의 잔여 영상 및 위치 차이와, 상기 영상 입력부로부터 입력되는 제1영상을 함께 인코딩하는 인코더를 포함하여 구성됨을 특징으로 한다.
또한 본 발명은 이동 통신 단말기에서 3차원 입체 영상을 압축하기 위한 방법에 있어서, 일정 간격으로 서로 떨어져 장착된 두 개의 영상입력부로부터 하나의 피사체에 대해 각각 좌우 영상에 해당하는 제1 및 제2영상을 수신하는 과정과, 상기 수신된 제1영상과 제2영상의 경계 부분이 확장된 서치 영역 간의 비교를 통해 불일치가 가장 적은 겹쳐진 영상을 찾는 과정과, 상기 겹쳐진 영상과 상기 제2영상 간의 위치 차이를 구하여 저장한 후, 상기 겹쳐진 영상을 위치 정렬하여 상기 제1영상 간의 잔여 영상을 구하는 과정과, 상기 잔여 영상 및 위치 차이와, 상기 제1영상을 함께 인코딩하는 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명은 3차원 입체 영상을 효율적으로 압축하는 방법을 제시한다. 이를 위해 본 발명은 이동 통신 단말기에 장착되는 2개의 영상입력부를 통해 입력되는 좌우 영상 사이의 글로벌 모션(global motion)을 찾아 정렬한 후, 그 정렬된 두 영상 간의 차이를 구하여 그 두 영상의 차이와 기준 영상을 이용하여 영상을 압축한 다. 이렇게 함으로써, 입체 영상에서 좌우 영상이 유사성을 가진다는 특성을 이용하여 영상 전체의 글로벌 모션을 한 번만 구하므로 연산량을 줄일 수 있는 이점이 있다.
이하, 본 발명에서 이용되는 입체 영상은 기존의 영상과는 달리 도 1과 같은 구조를 가진다. 도 1은 본 발명의 실시 예에 따른 두 개의 영상입력부를 통해 입력되는 입체 영상의 구조를 보인 도면이다.
두 개의 영상 입력부는 이동 통신 단말기에 장착되는 카메라 센서를 의미하며, 도 1에 도시된 바와 같이 그 영상 입력부를 통해 입력되는 두 개의 좌우 영상은 하나의 피사체를 촬영하여 얻어지는 영상이다. 특정 거리만큼 떨어져서 장착된 카메라 센서 두 개를 이용하여 피사체를 촬영한 다음 두 영상 즉, 좌우 영상을 하나로 붙여서 저장한다. 이때, 좌우 영상은 도 1에 도시된 바와 같이 TypeⅠ, TypeⅡ 중 어느 하나의 형태로 저장된다.
한편, 상기한 바와 같은 카메라 센서는 정면에 있는 피사체를 촬영했을 때 스테레오 이미지의 좌우 영상의 경우 세부적인 움직임의 차이가 없고 카메라 센서의 위치만 다르므로 영상 전체에 대한 글로벌 모션만 이용해도 그 차이를 구할 수 있게 된다. 이에 따라 전체 이미지를 블록별로 나누어 좌우 영상 간의 차이를 구할 필요가 없으므로 모션 정보는 인코딩 시 1회의 계산만으로도 구할 수 있으므로 본 발명을 적용한다면 연산량을 획기적으로 줄일 수 있게 된다. 게다가 그 모션 정보량 자체가 적기 때문에 두 영상의 차이값도 전송할 수 있게 된다. 또한, 디코딩 시에도 하나의 모션 정보만을 이용하므로 디코딩 과정도 간단하여 실제 시스템 적용 에 유리하게 되는 이점이 있다.
전술한 바와 같이 두 개의 영상 입력부를 통해 촬영된 오른쪽 영상과 왼쪽 영상은 그 두 개의 영상 입력부가 장착되는 위치 차이가 매우 작기 때문에 그 오른쪽 영상과 왼쪽 영상 간의 위치 차이도 매우 미세할 뿐 많은 유사성을 가지게 된다. 따라서, 본 발명에서는 이러한 좌우 영상 간의 유사성을 이용하여 3차원 입체 영상의 압축 효율을 높일 수 있는 방법을 제안하는 것이다.
이하, 본 발명의 실시 예에 따른 3차원 입체 영상을 압축하기 위한 장치의 블록구성도인 도 2를 참조하여 설명한다.
도 2를 참조하면, 카메라 센서인 제1영상입력부(200)와 제2영상입력부(210)는 각각 하나의 피사체에 대한 촬영 영상인 오른쪽 영상 및 왼쪽 영상을 생성하여 그 오른쪽 영상 및 왼쪽 영상을 디지털 변환하여 출력한다. 일정 거리 만큼 떨어져있는 영상입력부(200, 210)를 통해 정면의 피사체를 촬영하더라도 그 피사체는 그 각각의 영상입력부(200, 210)와 피사체와의 거리에 비례하여 화면상에 오른쪽 영상 및 왼쪽 영상에서 각각 위치 차이가 발생한 상태로 표시된다.
그러면 이동 통신 단말기는 두 개의 영상입력부(200, 210)를 통해 입력된 좌우 영상을 도 1에 도시된 형태 중 어느 하나의 형태로 저장한다. 그리고나서 이동 통신 단말기는 전송이 필요한 시점에 저장해놓은 좌우 영상을 압축하는 인코딩(encoding)을 수행하게 된다.
이러한 인코딩을 위한 과정을 구체적으로 설명하면 다음과 같다. 먼저, 제1영상입력부(200)를 통해 촬영된 영상 예를 들어, 오른쪽 영상(Right original image)은 그대로 인코더(230)로 출력된다. 이때, 제1영상입력부(200)를 통해 촬영된 오른쪽 영상은 차이 추정부(220)에도 전달된다. 그리고 제2영상입력부(210)를 통해 촬영된 영상 예컨대, 왼쪽 영상(Left original image)은 일단 차이 추정부(220)로 출력된다.
그러면 차이 추정부(220)는 프레임 단위로 각각의 왼쪽 영상 및 오른쪽 영상을 동시에 입력받아, 그 동시에 입력된 왼쪽 영상 및 오른쪽 영상 간의 차이를 구하게 된다. 이하의 설명에 있어서, 설명의 편의를 위해 오른쪽 영상을 기준으로 왼쪽 영상과의 위치 차이를 구하는 경우를 예로 들어 설명한다.
우선 차이 추정부(200)는 오른쪽 영상과 왼쪽 영상 사이의 글로벌 모션을 계산한다. 이를 위해서 왼쪽 원영상의 경계를 미리 정해진 x 픽셀(pixel)씩 확장한 후 그 확장된 만큼의 구간에 경계값 부분의 화소값들로 채운다. 이와 같이 확장된 왼쪽 영상을 서치 영역(Search Area)으로 이용하는데, 이 서치 영역은 그 서치 영역 상에 오른쪽 원영상을 겹쳐진 상태로 이동시켜 불일치 즉, 차이(disparity)가 가장 적은 베스트 매치(best match)를 찾는데 이용된다. 이러한 탐색 과정을 거쳐 베스트 매치를 찾게 되면, 차이 추정부(200)는 그 베스트 매치에 해당하는 겹쳐진 영상과 왼쪽 원영상과의 위치 차이를 구한 후 이를 저장한다. 이는 베스트 매치에 해당하는 겹쳐진 영상이 왼쪽 원영상을 기준으로 어느 방향으로 얼마만큼 움직였는지를 나타내는 벡터값이며, 움직임 정도를 나타내는 것이므로 이를 글로벌 모션 정보라고 정할 수 있다. 그리고나서 그 글로벌 모션 정보를 이용하여 겹쳐진 영상을 오른쪽 원영상과의 비교를 위해 정렬시킨다. 이어, 차이 추정부(220)는 정렬된 겹 쳐진 영상과 오른쪽 원영상 간의 차이(difference)를 구한다.
이와 같이 차이 추정부(200)는 두 영상의 차이를 나타내는 잔여 영상(Residual image)를 얻게 되면 그 잔여 영상과 미리 저장해놓은 위치차이인 벡터값을 인코더(230)로 출력한다. 이에 따라 인코더(230)는 제1영상 입력부(200)로부터 출력된 오른쪽 원영상과 차이 추정부(200)로부터 출력된 잔여 영상과 벡터값이 인코딩하여 출력한다. 이때, 압축된 영상을 복원하기 위해서는 수신단 입장에서는 왼쪽 영상이 얼마만큼 이동하였는지를 알아야 하므로, 위치 차이인 벡터값을 함께 압축하는 것이다. 이와 같이 인코더(230)는 잔여 영상과 하나의 원영상만을 압축하기 때문에 압축 효율을 현저하게 높일 수 있다. 뿐만 아니라 이와 같이 인코딩된 데이터는 전송을 위해 패킷 데이터로 생성되어 소정 규격에 맞게 변환된 후에 전송될 때, 전송하고자 하는 데이터량이 적기 때문에 전송에 따른 부하도 현저하게 줄일 수 있게 된다.
이하, 본 발명의 실시 예에 따른 3차원 입체 영상의 압축하는 과정을 보인 도 3을 참조하여 설명한다.
도 3을 참조하면, 300단계에서 두 개의 영상입력부(200, 210)를 통해 동일한 피사체를 활영한다. 그러면 두 개의 영상 즉, 오른쪽 영상과 왼쪽 영상을 얻을 수 있게 된다. 구체적으로, 제1영상입력부(200)에서는 오른쪽 원영상을 차이 추정부(220) 및 인코더(230)로 출력한다. 이에 반해 제2영상입력부(210)에서는 왼쪽 왼원영상을 차이 추정부(220)로 출력한다.
그러면 차이 추정부(220)는 310단계에서 입력된 두 영상 중에서도 하나의 영 상 전체의 경계를 확장한다. 이하에서는, 도 4처럼 왼쪽 영상을 확장하는 경우를 예로 들어 설명한다. 도 4는 본 발명의 실시 예에 따라 왼쪽 원영상에서 경계가 확장된 이미지를 보인 도면이다. 우선, 왼쪽 원영상의 경계를 도 4처럼 x 픽셀씩 전체적으로 확장시키는데, 패딩(padding)을 통해 왼쪽 원영상을 확장시킨다. 다시 말하면, 점선으로 표시된 왼쪽 원영상의 경계부터 실선으로 표시된 확장된 경계까지의 구간은 점선 부분의 경계 부분의 화소값과 같은 화소값으로 확장시킨 픽셀수만큼 채워진다. 이어, 차이 추정부(220)는 320단계에서 이와 같이 확장된 영상을 서치 영역으로 설정한다.
그러면 차이 추정부(220)는 330단계에서 이러한 서치 영역을 이용하여 겹쳐진 영상(L´)을 검출하는 동작을 수행한다. 겹쳐진 영상(L´)의 검출은 도 5에 도시된 바와 같은 방법으로 이루어진다. 도 5는 본 발명의 실시 예에 따라 겹쳐진 영상을 방법을 보인 도면이다. 차이 추정부(220)는 도 5에서와 같이 서치 영역(510) 상에 오른쪽 원영상(520)을 이동시키면서 그 서치 영역(510)과 오른쪽 원영상(520) 간의 차이(disparity)를 계산한다. 이러한 계산 과정을 통해 차이가 가장 적은 베스트 매치에 해당하는 겹쳐진 영상(L´)(500)을 찾을 수 있게 된다. 그러면 차이 추정부(220)는 340단계에서 원영상 즉, 왼쪽 원영상(L)과 겹쳐진 영상(L´)의 위치 차이를 계산한다. 예를 들어, 위치 차이는 왼쪽 원영상(L)의 중심점과 겹쳐진 영상(L´)의 중심점을 비교하여 왼쪽 원영상(L)의 중심점으로부터 겹쳐진 영상(L´)의 위치 이동을 근거로 얼마만큼 겹쳐진 영상(L´)이 이동했는지를 나타내는 것이다. 이러한 왼쪽 원영상(L)과 겹쳐진 영상(L´)과의 위치 차이는 벡터값으로 나타 낼 수 있는데, 이러한 벡터값은 수신측에서 영상 복원하는데 이용할 수 있도록 일단 저장해놓는다.
이러한 벡터값은 움직임 정도를 나타내는 것이므로, 하나의 프레임의 움직임 정도를 나타내는 글로벌 모션값으로 정의할 수도 있다. 차이 추정부(220)는 350단계에서 글로벌 모션값을 이용하여 겹쳐진 영상(L´)을 오른쪽 원영상과의 비교를 위해 위치 정렬을 수행한다. 이에 따라 겹쳐진 영상(L´)과 오른쪽 원영상이 도 6에서와 같이 정렬된다. 도 6(a)는 글로벌 모션값을 이용하여 정렬된 왼쪽 영상(L´)을 예시하고 있으며, 도 6(b)는 오른쪽 원영상을 예시하고 있다. 이와 같이 본 발명의 실시 예에서는 영상을 블록별로 나누지 않고도 서치 영역을 이용하여 서치 영역과 하나의 원영상을 1 : 1 방식으로 전체적인 위치 차이를 구하기 때문에 글로벌 모션값을 1번만 구해도 된다. 만일 하나의 영상에 대해 각 블록별로 모션 정보를 찾는다면 많은 계산량이 소요되고 부가적으로 전송해야할 모션 정보도 그 블록 수만큼 늘어나게 되지만, 이는 스테레오 이미지의 경우 좌우 영상은 세부적인 움직임의 차이가 없고 촬영하는 카메라의 위치만 다르기 때문에 두 영상 간 차이가 크게 발생하지 않기 때문에 가능한 것이다.
한편, 도 6에서와 같이 겹쳐진 영상(L´)이 오른쪽 원영상(R)과의 비교를 위해 위치 정렬이 이루어지면, 차이 추정부(220)는 360단계에서 도 7에서와 같이 겹쳐진 영상(L´)과 오른쪽 원영상(R)의 차이(difference)를 계산한다. 즉, 정렬된 겹쳐진 영상(L´)에서 오른쪽 원영상(R)을 뺀 차이 영상이 도 7과 같이 보여진다. 이와 같이 차이 영상을 구하는 이유는 압축 효율을 높이고 전송 부하량을 줄이기 위해 본 발명에서는 겹치는 부분을 제외한 나머지 차이 부분만을 보내기 위함이다. 이에 따라 하나의 원영상과 겹치는 부분을 제외한 나머지 차이 부분만이 인코더(230)를 통해 압축되어 전송된다.
도 7은 본 발명의 실시 예에 따라 차이 영상 즉, 잔여 영상을 예시하고 있는데, 도면부호 700에 의해 지시되는 부분은 차이가 거의 없는 것을 보이며 도면부호 710에 의해 지시되는 부분은 차이가 매우 크게 발생한 것을 보이고 있다. 따라서, 차이 영상은 차이가 크게 나타난 부분일수록 밝은 값으로 보여지게 된다.
이와 같이 차이 영상이 구해지면 차이 추정부(220)는 두 영상 차이(L´- R)인 잔여 영상(Residual image)을 인코더(230)로 출력한다. 이때, 제1영상입력부(200)로부터의 오른쪽 원영상(R)도 인코더(230)로 출력된다. 그러면, 인코더(230)에서는 370단계에서 오른쪽 원영상(R) 및 두 영상 차이(L´- R)를 인코딩하게 되는데, 압축한 영상을 수신측에서 복원할 수 있도록 글로벌 모션값도 함께 인코딩하게 된다. 이에 따라 인코더(230)에서 실제로 압축되는 대상 영상은 도 8에 도시된 바와 같다. 도 8은 본 발명의 실시 예에 따라 압축 대상 영상을 보여주는 예시도로, 8(a)는 차이 영상 즉, 잔여 영상을 보여주며 도 8(b)는 오른쪽 원영상을 보여주고 있다. 전술한 바와 같이 본 발명에서는 도 8에서와 같이 차이 영상과 하나의 원영상만을 압축하기 때문에 압축 효율을 현저히 높일 수 있게 된다.