KR100888081B1 - 2차원 영상 신호의 3차원 영상 신호로의 변환 절차 및 변환장치 - Google Patents
2차원 영상 신호의 3차원 영상 신호로의 변환 절차 및 변환장치 Download PDFInfo
- Publication number
- KR100888081B1 KR100888081B1 KR1020070072066A KR20070072066A KR100888081B1 KR 100888081 B1 KR100888081 B1 KR 100888081B1 KR 1020070072066 A KR1020070072066 A KR 1020070072066A KR 20070072066 A KR20070072066 A KR 20070072066A KR 100888081 B1 KR100888081 B1 KR 100888081B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- image
- motion
- current frame
- current
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
2차원 입력 영상 신호를 3차원 입체 영상 신호로 변환하여 출력하기 위한 영상 신호의 변환 장치 및 변환 방법에 대하여 개시한다. 본 발명의 일 실시예에 따른 영상 신호의 변환 방법에서는 우선 2차원 입력 영상 신호인 현재 프레임에 대한 움직임 정보를 구하고, 구해진 움직임 정보를 이용하여 현재 프레임의 움직임 유형을 판별한다. 판별 결과, 현재 프레임의 움직임 유형이 수평 움직임 프레임인 경우에 현재 프레임이 장면 전환 프레임에 해당되는지를 다시 판정한다. 그리고 만일 현재 프레임이 수평 움직임 프레임이고 또한 장면 전환 프레임은 아닌 것으로 판별되는 경우에는 현재 영상과 지연 영상을 이용하여 3차원 출력 영상 신호를 생성하고, 만일 현재 프레임이 수평 움직임 프레임이 아니거나 또는 수평 움직임 프레임이면서 장면 전환 프레임인 것으로 판별되는 경우에는 현재 영상에 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성한다. 이때, 깊이 지도를 구할 때에는 수평 경계를 이용하여 수직 위치에 따른 깊이감의 차이를 이용하여 입체 영상을 구현한다.
입체 영상, 움직임 탐색, 움직임 유형, 지연 영상, MTD, 깊이 지도
Description
본 발명은 영상 신호의 변환 장치에 관한 것으로, 보다 구체적으로 2차원 영상으로부터 3차원 영상을 생성하기 위한 영상 신호의 변환 장치 및 변환 방법에 관한 것이다.
최근 3차원 입체 영상에 대한 관심이 높아지면서 다양한 방식의 입체 영상 획득 장치와 디스플레이 장치들이 개발되고 있다. 입체 영상을 디스플레이하기 위한 입체 영상 신호를 획득하기 위한 한 가지 방법으로 영상의 획득시에 1쌍의 좌우 카메라를 이용하는 방법이 있다. 이 방법은 자연스러운 입체 영상을 디스플레이할 수 있는 장점은 있지만 영상 획득을 위하여 2대의 카메라가 필요할 뿐만 아니라 획득한 좌영상과 우영상의 필름화 또는 부호화에 따른 문제, 그리고 좌영상과 우영상의 프레임율의 차이 등과 같은 문제들을 해결해야 하는 단점이 있다.
입체 영상 신호를 획득하기 위한 다른 한 가지 방법은 하나의 카메라로 획득 한 2차원 영상 신호를 3차원 영상 신호로 변환하는 것이다. 이 방법에 의하면, 획득한 2차원 영상(원 영상)에 대하여 소정의 신호 처리를 수행함으로써 3차원 영상, 즉 좌영상과 우영상을 생성하기 때문에, 좌우 카메라를 이용하여 입체 영상 신호를 획득할 때 초래되는 전술한 문제점이 발생하지 않는다. 다만, 이 방법은 하나의 영상을 이용하여 두 개의 영상을 생성하는 것이기 때문에, 자연스럽고 안정된 입체감을 갖는 입체 영상을 디스플레이하기가 어려운 단점이 있다. 따라서 2차원 영상 신호를 3차원 영상 신호로 변환하는데 있어서는 변환된 3차원 영상 신호를 이용하여 더욱 자연스럽고 안정된 입체감을 갖는 입체 영상을 디스플레이하는 것이 상당히 중요하다.
2차원 영상 신호를 3차원 영상 신호로 변환하는 한 가지 방법으로 수정 시간차(Modified Time Difference, MTD)법이 제안되었다. MTD법에 의하면, 2차원 영상 신호의 현재 영상과 짝을 이루는 프레임으로 다수의 이전 프레임의 영상들 중에서 선택된 어느 하나의 영상을 이용한다. 현재 영상과 짝을 이루는 프레임으로 선택된 이전 영상을 '지연 영상(Delayed Image)'이라고도 한다. 지연 영상으로 어떤 프레임의 영상을 선택할 지와 지연 영상이 좌영상이 될지 또는 우영상이 될지는 움직임 속도와 방향에 따라서 달라질 수 있다. 그런데 이 방법에 의하면, 다수의 이전 프레임들 중에서 하나를 무조건 지연 영상으로 선택해야 하므로, 한 프레임 내의 영역들이 갖는 다양한 특성(원근감의 차이, 움직임의 방향 및/또는 속도의 차이, 밝기와 색상의 차이 등)을 반영하지 못하는 문제가 있다. 따라서 이 방법만으로는 자연스럽고 안정된 입체감을 갖는 입체 영상을 디스플레이하기가 어려운 단점이 있 다.
본 발명이 해결하고자 하는 과제는 자연스럽고 안정된 입체감을 갖는 입체 영상을 디스플레이할 수 있는 2차원 영상 신호의 3차원 영상 신호로의 변환 장치와 변환 방법을 제공하는 것이다.
상기한 과제를 달성하기 위한 본 발명의 일 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 방법은 2차원 입력 영상 신호인 현재 프레임에 대한 움직임 정보를 구하는 단계, 상기 움직임 정보를 이용하여 상기 현재 프레임의 움직임 유형을 판별하는 단계, 및 판별 결과 상기 현재 프레임이 수평 움직임 프레임이 아닌 경우에, 현재 영상에 상기 현재 프레임에 대한 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하는 단계를 포함하고, 상기 깊이 지도는 상기 현재 프레임의 수평 경계를 이용하여 생성한다.
본 실시예의 일 측면에 의하면, 상기 현재 프레임이 수평 움직임 프레임이지만 장면 전환 프레임인 것으로 판별되는 경우에도, 상기 현재 영상에 상기 현재 프레임에 대한 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성한다. 그리고 상기 현재 프레임이 수평 움직임 프레임이고 또한 장면 전환 프레임이 아닌 것으로 판별 되는 경우에는, 상기 현재 영상과 지연 영상을 이용하여 3차원 출력 영상 신호를 생성한다.
본 실시예의 다른 측면에 의하면, 상기 깊이 지도를 적용하기 위하여 상기 현재 프레임의 수평 경계를 검출하고, 상기 현재 프레임에 대하여 수직 방향으로 진행하면서 상기 검출된 수평 경계를 만날 때마다 깊이값을 순차적으로 증가시킴으로써 상기 깊이 지도를 생성할 수 있다. 이 경우에, 상기 깊이 지도를 생성하기 전에 상기 깊이값에 대하여 수평 방향의 평균 필터를 적용하는 단계를 더 수행할 수도 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 방법은 2차원 입력 영상 신호인 현재 프레임에 대한 움직임 정보를 구하는 단계,
상기 움직임 정보를 이용하여 상기 현재 프레임의 움직임 유형을 판별하는 단계, 및 상기 현재 프레임의 움직임 유형이 수평 움직임 프레임인 경우에 상기 현재 프레임이 장면 전환 프레임인지를 판정하는 단계, 및 만일 상기 현재 프레임이 수평 움직임 프레임이고 또한 상기 장면 전환 프레임은 아닌 것으로 판별되는 경우에는 현재 영상과 지연 영상을 이용하여 3차원 출력 영상 신호를 생성하고, 만일 상기 현재 프레임이 수평 움직임 프레임이 아니거나 또는 상기 수평 움직임 프레임이면서 상기 장면 전환 프레임인 것으로 판별되는 경우에는 현재 영상에 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하는 단계를 포함한다.
본 실시예의 일 측면에 의하면, 상기 깊이 지도는 상기 현재 프레임의 수평 경계를 이용하여 생성할 수 있다. 상기 깊이 지도를 적용하기 위하여 상기 현재 프레임의 수평 경계를 검출하고, 상기 현재 프레임에 대하여 수직 방향으로 진행하면서 상기 검출된 수평 경계를 만날 때마다 깊이값을 순차적으로 증가시킴으로써 상기 깊이 지도를 생성할 수 있다.
본 실시예의 다른 측면에 의하면, 상기 현재 프레임이 정지 프레임, 고속 움직임 프레임, 및 수직 움직임 프레임 중에서 어디에도 해당하지 않을 경우에, 상기 현재 프레임을 상기 수평 움직임 프레임인 것으로 판정할 수 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 방법은 2차원 입력 영상 신호인 현재 프레임에 대하여 수평 경계를 검출하는 단계,
상기 현재 프레임에 대하여 수직 방향으로 진행하면서 상기 수평 경계를 만나면 깊이값을 증가시킴으로써 상기 현재 프레임에 대한 깊이 지도를 생성하는 단계, 및 현재 영상에 상기 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하는 단계를 포함할 수 있다.
본 실시예의 일 측면에 의하면, 상기 검출된 수평 경계에 대하여 수평 방향의 평균 필터를 적용하는 단계를 더 포함할 수 있다. 그리고 상기 3차원 출력 영상 신호의 생성 단계에서는 상기 현재 영상에 대하여 상기 깊이 지도의 시차를 나눠서 적용하여 좌영상과 우영상을 각각 생성할 수 있다. 또한, 상기 좌영상 또는 상기 우영상에서 수평 방향으로 연속된 화소 사이의 시차가 다를 경우에 발생하는 가려진 영역은 상기 다른 시차 중에서 더 작은 시차를 이용하여 보간할 수 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 장치는 2차원 입력 영상 신호인 현재 프레임에 대한 움직임 정보를 구하기 위한 움직임 정보 계산부, 상기 움직임 정보를 이용하여 상기 현재 프레임의 움직임 유형을 판별하기 위한 움직임 유형 판별부, 및 판별 결과 상기 현재 프레임이 수평 움직임 프레임이 아닌 경우에, 현재 영상에 상기 현재 프레임에 대한 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하기 위한 3차원 영상 생성부를 포함하고, 상기 3차원 영상 생성부는 상기 현재 프레임의 수평 경계를 이용하여 상기 깊이 지도를 생성한다.
본 발명에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 장치 또는 변환 방법을 이용하면, 자연스럽고 안정된 입체감을 갖는 입체 영상을 디스플레이할 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다. 후술하는 실시예는 본 발명의 기술적 사상을 설명하기 위한 목적이므로, 본 발명의 기술적 사상은 이 실시예에 의하여 한정되는 것으로 해석되어서는 안 된다. 그리고 이하의 실시예의 설명에서 각각의 구성요소의 명칭은 다른 명칭으로 호칭될 수 있는데, 이들이 구조적, 기능적 유사성이나 동일성이 있다면 비록 다른 명칭을 사용 하더라도 본 발명의 실시예와 균등한 구성이라고 볼 수 있다. 마찬가지로, 첨부 도면에 도시된 본 발명의 실시예의 구성을 일부 변형한 실시예가 채용되더라도 기능적, 구조적 동일성이나 유사성이 있다면 양자는 균등한 구성으로 볼 수 있다.
도 1은 본 발명의 일 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 절차를 보여 주는 흐름도이다.
도 1을 참조하면, 먼저 입력되는 2차원 영상 신호로부터 현재 프레임에 대한 움직임 정보를 계산한다(S10). 움직임 정보를 획득하는 본 단계는 현재 프레임의 움직임 유형을 판별하기 위한 자료를 획득하기 위한 것으로서, 움직임 추정(Motion Estimation, ME)을 통해 움직임 벡터(Motion Vector, MV)를 구하기 위한 움직임 탐색 과정과 이렇게 구한 움직임 벡터(MV)에 대한 후처리를 수행하는 과정을 포함한다.
움직임 탐색
움직임 추정을 통해 움직임 벡터를 구하는 움직임 탐색은 여러 가지 방법으로 행해질 수도 있다. 예를 들어, 움직임 탐색은 참조 프레임의 일정 영역에 대해서만 행하는 부분 탐색(Partial Search) 방법을 사용할 수도 있고, 참조 프레임 전체 영역에 대해서도 행하는 전 탐색(Full Search) 방법을 사용할 수도 있다. 부분 탐색은 탐색 범위가 좁기 때문에 그만큼 탐색이 신속한 장점이 있다. 반면, 전 탐색은 부분 탐색에 비하여 탐색 소요 시간이 더 걸리지만 더욱 정확한 움직임의 탐 색이 가능하다. 본 발명의 실시예의 일 측면에 의하면, 전 탐색 방법을 사용하는데, 본 발명의 실시예가 여기에만 한정되는 것은 아니다. 전 탐색 방법을 사용할 경우에는 정확한 움직임 탐색을 통해 영상의 움직임 유형을 정확히 구분할 수 있을 뿐만 아니라 이를 통하여 궁극적으로는 디스플레이 영상의 입체 효과를 상승시킬 수가 있다.
도 2는 전 탐색 방법을 사용할 경우에 탐색점의 위치 변화의 일례를 나타내는 것으로, 화소 단위로 탐색이 이루어지는 경우이다. 도 2를 참조하면, 참조 프레임에서의 탐색점을 (-1, -1), (0, -1), (1, -1), (1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0), …의 순서로 반시계 방향으로 순차적으로 변경하면서 선택된 참조 블록과 현재 블록과의 오차(Error)를 구한다. 여기서, 상기 탐색점의 좌표는 현재 블록과 참조 블록과의 위치 차이, 즉 변위(dx, dy)에 해당된다. 그리고 움직임 탐색 단계에서는 상기 변위를 변화시키면서 최소의 오차(Error)를 가지는 탐색점을 선택하고, 그 선택된 탐색점의 변위가 현재 블록의 움직임 벡터(MVx, MVy)로 결정된다.
각 변위(dx, dy)에서의 오차는 다음의 수학식 1과 같이 구할 수 있다. 여기서, n, m은 각각 블록의 가로 및 세로 길이를 나타낸다. 그리고 F(i, j), G(i, j)는 각각 현재 블록과 참조 블록의 (i, j)에서의 화소값을 의미한다.
움직임 벡터(MV)에 대한 후처리
이와 같이, 최소의 오차를 갖는 변위를 움직임 벡터로 하여 구한 움직임 벡터가 모두 신뢰할 수 있는 자료인 것은 아니다. 왜냐하면, 최소 오차의 값이 커거나 또는 인접한 블록과의 움직임 벡터 차이가 큰 경우에는 그만큼 움직임 추정이 부정확하다는 것을 의미할 수도 있기 때문이다. 따라서 본 실시예에서는 움직임 벡터의 신뢰도를 높이기 위하여 두 가지의 후처리 절차를 더 수행한다. 이러한 두 가지의 후처리 절차는 전부 적용하는 것이 바람직하지만, 실시예에 따라서는 상기 두 가지 중에서 어느 하나만을 적용할 수도 있다.
움직임 벡터의 신뢰도를 높이기 위한 첫 번째 후처리 절차는 움직임 탐색을 통해 구한 전체 움직임 벡터 중에서 그 오차값이 소정의 임계치 이상인 움직임 벡터들은 움직임 정보로부터 제외하는 것이다. 이러한 절차는 다음의 수학식 2와 같이 표현할 수 있다. 여기서, error는 움직임 벡터의 오차값을 나타내고, Threshold value는 움직임 벡터의 대한 가치 유무를 판단하기 위한 임계치를 나타낸다. 수학식 2에 의하면, 특정 움직임 벡터의 오차값이 상기 임계치 이상이면 움직임 추정이 부정확한 것으로 간주하고 버리며, 후속 절차(예컨대, 움직임 유형의 판정 단계)에서는 임계치 이하인 움직임 벡터만을 이용한다.
상기 오차에 대한 임계치를 설정하는 방법에는 특별한 제한이 없다. 예를 들어, 현재 프레임을 장면 전환점이 있는 경우, 고속 움직임이 있는 경우, 움직임이 작은 경우 등과 같이 여러 가지 유형을 분류한 다음, 각 유형에 대하여 구한 오차 평균치를 이용하여 상기 임계치를 설정할 수가 있다. 본 실시예의 경우에는 8×8 블록을 기준으로 상기 수학식 2의 오차 임계치를 250으로 설정하였는데, 그 이유는 다음과 같다.
도 3은 본 실시예에서 수학식 2에 적용될 오차에 대한 임계치를 결정하는 과정을 설명하기 위한 참조 프레임들이다. 도 3에서 위쪽에 있는 두 개의 프레임은 장면 전환이 있는 경우이고, 가운데 있는 두 개의 프레임은 움직임이 거의 없는 경우이고, 마지막으로 아래쪽에 있는 두 개의 프레임은 빠른 움직임이 있는 경우이다. 도 3을 참조하면, 장면 전환이 있는 경우 등과 같이 전후 프레임의 상관도가 전혀 없는 영상에서는 평균 오차값이 1848과 같이 큰 값이 나오지만, 반대로 전후 프레임의 상관도가 아주 큰 움직임이 거의 없는 영상에서는 평균 오차값이 53과 같이 작은 값이 나온다는 것을 알 수 있다. 그리고 장면 전환은 아니지만 빠른 움직임이 있는 영상과 같이 상관도가 낮은 영상에서는 평균 오차값이 300이 나온다. 따라서 본 실시예에서는 장면 전환점이 있는 경우, 빠른 움직임이 있는 경우, 움직임이 작은 경우 각각의 평균 오차값을 고려하여 오차 임계치로 250을 설정했는데, 이 것은 단지 예시적인 값이다.
본 발명의 실시예에서는 움직임 탐색을 통해 구한 움직임 벡터의 신뢰도를 높이기 위한 두 번째 후처리 절차로써 잘못 구한 움직임 벡터를 정정하는 절차를 수행한다. 일반적으로 움직임은 물체의 경계(Edge)를 제외하고는 연속적인 특징이 있다. 하지만, 움직임 추정을 이용하여 움직임 벡터를 구할 경우에, 인접한 블록의 움직임 벡터와 차이가 많이 나는 잘못 구해진 움직임 벡터가 존재할 수도 있다. 이러한 잘못 구해진 움직임 벡터는 인접한 다른 블록의 움직임 벡터들과는 비연속적인 값을 갖는다.
본 실시예에서는 움직임 유형을 결정함에 있어서 이와 같이 잘못 구해진 움직임 벡터를 정정한다. 움직임 벡터를 정정하는 방법으로는 예컨대 평균값을 이용하는 방법이나 중간값을 이용하는 방법 등이 있으며, 여기에만 한정되는 것은 아니다. 평균값을 이용하는 경우에는 현재 블록의 움직임 벡터와 이에 인접한 다수의 블록들의 움직임 벡터들의 평균값을 현재 블록의 움직임 벡터로 하는 방법이다. 반면, 중간값을 이용하는 방법은 현재 블록의 움직임 벡터와 이에 인접한 다수의 블록들의 움직임 벡터들 중에서 중간값을 현재 블록의 움직임 벡터로 하는 방법이다.
본 실시예의 일 측면에 의하면, 중간값을 이용하는 방법을 적용할 수 있으며, 그 방법의 일례는 미디언 필터(Median Filter)를 적용하는 것이다. 미디언 필터는 서로 인접한 소정 개수의 블록의 움직임 벡터의 수평 방향 성분과 수직 방향 성분 각각에 대하여 적용될 수 있다. 도 4는 미디언 필터를 적용하는 절차의 일례 를 보여 주는 도면이다. 도 4를 참조하면, 다수의 입력값(3, 6, 4, 8, 9)이 미디언 필터를 통과하게 되면 그 중간값(6)이 출력으로 나오게 된다.
예를 들어, 서로 인접한 다섯 개의 블록의 움직임 벡터가 각각 (3, 5), (6, 2), (4, 2), (8, 4), (9, 3)이라고 가정하자. 이 경우에 현재 블록의 움직임 벡터는 (4, 2)가 된다. 그런데 이들 다섯 개의 움직임 벡터의 수평 방향 성분과 수직 방향 성분에 각각 미디언 필터를 적용하면, 그 출력값은 각각 6과 3이 된다. 따라서 본 발명의 실시예에 따라서 미디언 필터를 적용하는 후처리를 수행하면, 현재 블록의 움직임 벡터는 (4, 2)에서 (6, 3)으로 변경된다.
이상에서 설명한 바와 같이, 본 단계에서는 움직임 탐색을 통해 소정 크기의 블록 단위로 움직임 벡터를 먼저 구한 다음에, 구해진 움직임 벡터들에 대한 소정의 후처리를 수행함으로써, 움직임 벡터들에 대한 신뢰도를 향상시킨다.
계속해서 도 1을 참조하면, 단계 S10에서 구한 움직임 벡터 즉, 후처리까지 수행된 움직임 벡터를 이용하여 현재 프레임의 움직임 유형을 판정한다(S20). 본 단계에서는 현재 프레임이 수평 움직임 프레임인지 아닌지를 판단하기 위한 것이다. 현재 프레임이 수평 움직임 프레임인지 여부를 판단하는 방법은 여러 가지가 있을 수 있다. 예컨대, 현재 프레임의 움직임 벡터들의 값으로부터 수평 방향으로의 움직임이 있는지, 즉 움직임 벡터의 수평 방향 성분에 대한 통계 정보를 이용하여 수평 움직임 프레임인지를 판정할 수도 있다.
본 실시예에서는 현재 프레임이 수평 움직임 프레임인지를 판정하는 방법으로 네거티브 방법을 적용한다. 네거티브 방법이란 소정의 기준에 따라 현재 프레임이 다른 유형의 프레임에 해당되는지를 먼저 판정한 다음, 다른 유형에 해당하지 않을 경우에 수평 움직임 프레임으로 판정하는 방법을 말한다. 예를 들어, 본 실시예의 일 측면에 의하면, 현재 프레임이 '정지 프레임', '고속 움직임 프레임' 또는 '수직 움직임 프레임'에 해당되는지를 먼저 판정한 다음, 현재 프레임이 이들 프레임 유형의 어떤 것에도 해당하지 않을 경우에 수평 움직임 프레임인 것으로 판정할 수 있다. 다만, 이것은 예시적인 것으로서, 본 발명의 다른 실시예에 의하면, 수평 움직임 프레임을 판정하기 소정의 기준(예컨대, 움직임 벡터의 수평 성분이 0보다 크기만 고속 움직임 유형에 해당하지 않을 정도의 범위에 해당하고, 또한 움직임 벡터의 수직 성분은 0이거나 또는 아주 작은 범위에 해당되는 경우)을 정해 놓고, 여기에 해당될 경우에만 수평 움직임 프레임으로 판정할 수도 있다.
현재 프레임이 '정지 프레임', '고속 움직임 프레임' 또는 '수직 움직임 프레임'인지를 판정하는 일례는 다음과 같다.
< 정지 프레임 여부의 판단 >
정지 프레임이란 참조 프레임과 비교했을 때 객체의 움직임이 없는 것으로 판정될 경우의 영상이다. 정지 프레임은 카메라와 피사체 모두에 움직임이 없는 것으로서, 움직임 벡터 또한 영의 값을 가지거나 또는 아주 작은 크기를 가지게 된 다. 따라서 전체 블록 중에서 한 프레임 내에 움직임 벡터(MV)의 수평 성부(MVx)와 수직 성분(MVy)가 모두 영의 값을 가지거나 또는 아주 작은 크기를 갖는 블록의 비율이 높으면, 정지 프레임으로 판정할 수 있다. 예를 들어, 움직임 벡터의 수평 성분(MVx)과 수직 성분(MVy)가 모두 영의 값의 갖는 블록의 비율이 50% 이상이 될 경우에 해당 영상은 정지 영상으로 결정할 수 있는데, 이것은 단지 예시적이다. 후술하는 바와 같이, 정지 프레임인 경우에는 지연 영상을 사용하지 않고 현재 프레임의 영상만을 사용하여 입체 영상을 생성한다.
< 고속 움직임 프레임 여부의 판단 >
고속 움직임 프레임이란 참조 프레임과 비교했을 때 객체의 움직임이 상당히 빠른 것으로 관찰될 경우의 영상이다. 고속 움직임 프레임은 피사체와 카메라의 상대적인 움직임이 상당히 빠른 경우로서, 움직임 벡터는 상당히 큰 값을 갖는다. 따라서 고속 움직임 프레임인지를 판단할 경우에도 움직임 벡터를 이용할 수 있다. 예를 들어, 전체 블록의 수에서 임의의 값보다 큰 움직임 벡터(움직임 벡터의 절댓값을 이용하거나 또는 수평 성분만을 이용할 수도 있다)를 가진 블록의 수의 비율을 기준으로 고속 움직임 프레임인지를 판정할 수 있다. 고속 움직임 프레임인지를 판별하기 위한 움직임 벡터 크기의 기준이나 비율은 임의적인 것으로서, 여러 가지 샘플에 대한 통계 수치를 이용하여 적절하게 결정할 수 있다.
이와 같은 고속 움직임 프레임에서는 객체의 단위 시간당 이동한 거리가 크 다. 예를 들어, 피사체가 수평 방향으로 고속으로 이동하는 경우에, 현재 프레임과 짝이 되는 영상으로 지연 영상을 사용하게 되면 빠른 이동 속도로 인한 큰 수평 시차로 인하여 좌우 영상을 합성하기가 매우 어려운 문제가 있다. 따라서 본 실시예에서는 고속 움직임 영상의 경우에는 현재 프레임과 짝이 되는 영상을 구할 경우에, 지연 영상을 이용하지 않고 현재 프레임의 영상을 이용한다.
< 수직 움직임 프레임 여부의 판단 >
수직 움직임 프레임이란 참조 프레임과 비교했을 때 객체의 움직임이 수직 방향으로 있는 것으로 관찰될 경우의 영상이다. 수직 움직임 프레임은 카메라와 피사체의 상대 운동이 수직 방향으로 있는 것으로서, 움직임 벡터의 수직 성분이 소정의 크기 이상의 값을 갖는 경우이다. 본 실시예에 의하면, 수직 움직임 프레임에는 객체가 수직 방향으로만 움직이는 경우뿐만 아니라 움직임이 수평 방향으로도 함께 있는 경우, 즉 대각선 방향으로 움직임이 있는 경우도 포함한다. 일반적으로 좌우 영상에서 수직 시차가 발생하게 되면 좌우 영상을 합성하기가 어려우며, 합성을 하는 경우에도 자연스럽고 입체감이 있는 입체 영상을 디스플레이하기가 어렵다. 수직 움직임 프레임인지 여부도 움직임 벡터를 이용하여 판정할 수 있는데, 예를 들어, 움직임 벡터의 수직 성분(MVy)가 임의의 값보다 큰 블록의 비율에 의하여 수직 움직임 프레임인지를 판정할 수 있다. 그리고 본 실시예에 의하면, 수직 움직임 프레임인 경우에도 현재 프레임과 짝이 되는 영상을 생성함에 있어서 현재 프레 임의 영상을 이용한다.
이와 같이, 본 실시예의 일 측면에 의하면, 현재 프레임이 정지 프레임인지, 고속 움직임 프레임인지, 그리고 수직 움직임 프레임인지를 먼저 판단한다. 만일 현재 프레임이 이 중에 하나에 해당되는 경우에는 단계 S50으로 진행하여 현재 영상만을 이용하여 입체 영상을 생성한다. 반면, 현재 프레임이 정지 프레임, 고속 움직임 프레임, 또는 수직 움직임 프레임의 아무것에도 해당하지 않을 경우에는 현재 프레임이 수평 움직임 프레임인 것으로 판단한다. 수평 움직임 영상인 경우에는 이전 영상을 이용하여 현재 프레임과 짝이 되는 영상을 생성하는데, 이를 위하여 단계 S30으로 절차가 진행한다.
계속해서 도 1을 참조하면, 현재 프레임이 수평 움직임 프레임인 것으로 판정되면 다시 현재 프레임이 장면 전환 프레임에 해당되는지를 판단한다(S30). 장면 전환 프레임이란 이전 영상인 참조 프레임과 비교하여 장면이 바뀐 프레임을 말한다. 수평 움직임 프레임인 경우에 장면 전환 프레임에 해당되는지를 판단하는 이유는 다음과 같다.
전술한 바와 같이, 본 실시예에 의하면 현재 프레임이 수평 움직임 프레임인 경우에는 현재 영상과 짝이 되는 영상으로 지연 영상을 사용한다. 그런데 현재 프레임과 지연 영상으로 사용되는 과거 프레임 사이에 장면 전환이 있는 경우에는, 비록 수평 움직임 영상으로 판별되는 경우라도 지연 영상을 사용할 수 없다. 왜냐 하면, 장면 전환이 있는 경우에도 지연 영상을 사용하게 되면, 입체 영상의 디스플레이 시에 서로 다른 장면의 영상이 겹치는 현상이 발생하기 때문이다. 따라서 현재 프레임이 수평 움직인 영상인 것으로 판별되면, 장면 전환점을 검출할 필요가 있다.
장면 전환점을 검출하는 방법은 여러 가지가 있다. 예를 들어, 현재 프레임과 참조 프레임 사이의 통계적 특성을 비교하거나 또는 양 프레임 사이의 화소값의 차이를 이용하여 장면 전환인지 여부를 판정할 수가 있는데, 본 실시예에서 어떠한 방법을 사용할지는 특별한 제한이 없다. 이하에서는, 본 실시예에 적용될 수 있는 장면 전환점 검출의 한 가지 방법으로 휘도 히스토그램(Brightness Histogram)을 이용하는 방법에 대하여 설명한다. 휘도 히스토그램을 이용하는 방법은 구현이 쉽고 연산량이 적어서 효율적이다. 그리고 움직임이 있는 장면에서도 프레임의 전체적인 밝기 정도는 크게 변하지 않으므로 물체의 움직임이나 카메라의 이동에 영향을 적게 받는 장점이 있다.
휘도 히스토그램을 이용하는 방법은 장면 전환이 있는 경우에 밝기에 차이가 크게 생길 수 있다는 사실을 이용하는 것이다. 즉, 동일한 장면인 경우에는 각 프레임들의 색상 분포와 이에 따른 밝기 분포는 큰 변화 없이 유사하지만, 장면 전환이 있는 경우에는 색상 분포와 밝기 분포가 차이가 생긴다. 따라서 이 방법에 의하면, 수학식 3에 기술된 바와 같이, 연속한 두 프레임이 사이의 밝기 히스토그램의 차이가 소정의 임계치를 넘을 경우에 장면 전환이 있는 것으로 판정한다.
여기서 Hi(j)는 I번째 영상에서 j레벨의 휘도 히스토그램 값을 나타내고, N은 휘도 히스토그램의 레벨 수를 나타낸다. 그리고 T는 장면 전환인지 여부를 판단하는 임계치인데, 그 값은 특별한 제한이 없다. 예를 들어, T는 장면 전환이 없는 인접한 영상들의 샘플을 이용하여 설정할 수 있다.
계속해서 도 1을 참조하면, 현재 프레임이 수평 움직임 프레임이고 또한 장면 전환 프레임이 아닌 경우에는 현재 영상과 지연 영상을 이용하여 3D 영상을 생성한다(S40). 반면, 현재 프레임이 정지 프레임, 고속 움직임 프레임, 및 수직 움직임 프레임 중에서 어느 하나에 해당하거나 또는 현재 프레임이 수평 움직임 프레임이더라도 장면 전환 프레임인 것으로 판단되는 경우에는 현재 영상에 대한 깊이 지도(Depth Map)를 이용하여 3D 영상, 즉 좌영상과 우영상을 생성한다(S50). 이하, 각각의 경우에 대하여 상세히 설명한다.
지연 영상을 이용한 3D 영상의 생성(S40)
단계 S40에서는 현재 프레임이 수평 움직임 프레임으로서 장면 전환 프레임이 아닌 경우에, 지연 영상을 이용하여 현재 프레임과 짝이 되는 영상을 생성함으 로써, 3D 영상 즉, 좌영상과 우영상을 생성한다. 이와 같이, 지연 영상을 이용하여 수평 움직임의 2차원 영상을 3차원 영상으로 변환하는 것은 로스(Ross) 현상에 기반을 두고 있다. 로스 현상이란 정신물리학(Psychophysics) 이론으로써, 이에 의하면 입체감을 느끼는 중요한 요소로써 양안을 통해 감지되는 영상 간의 시간적인 지연을 꼽고 있다.
도 5는 비행기는 좌측에서 우측으로 이동하고 있고, 배경이 되는 산은 정지하고 있는 경우로서, 로스 현상을 기반으로 2차원 영상의 3차원 영상으로의 변환 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 좌안과 우안은 모두 배경이 되는 산과 비행기를 관찰하게 되며, 그때 좌영상과 우영상의 차이로 인해 피사체에 시차가 발생하는 것을 알 수 있다. 그리고 비행기는 화면 앞으로 나와 보이는 음의 시차가 적용되어 스크린보다 앞쪽에서 수렴되지만, 배경의 경우는 좌안과 우안이 모두 스크린에서 수렴하므로 영의 시차를 갖게 된다.
이와 같이, 지연 영상을 현재 영상과 짝이 되는 영상으로 사용할 경우에는, 현재 영상과 지연 영상 중에서 어떤 것을 좌영상으로 하고 어떤 것을 우영상으로 할 것인지를 결정해야 한다. 좌영상과 우영상을 결정하는 방법으로는 운동의 객체가 무엇인지 함께 운동의 객체가 어떤 방향으로 운동하는지를 고려하는 방법이 있는데, 만약 운동 객체나 운동 방향이 잘못 결정되어 좌우 영상이 바뀌게 되면 정상적인 입체 영상을 얻을 수가 없다.
운동 객체를 결정하는 것은 움직임의 대상이 카메라인지 또는 피사체인지를 판단하는 것으로서, 움직임 벡터의 분석을 통해서 가능하다. 도 6a는 카메라는 고 정되어 있고 피사체가 움직이는 경우의 블록 단위의 움직임 벡터의 일례를 보여 주는 도면이고, 도 6b는 피사체는 고정되어 있고 카메라가 움직이는 경우의 블록 단위의 움직임 벡터를 보여 주는 도면이다. 도 6a 및 도 6b를 참조하면, 카메라가 움직일 경우에는 화면에 전체적으로 움직임이 발생하게 되고 그 결과 움직임 벡터 역시 영상의 대부분에서 발생하는 특성을 보여 주는 반면, 피사체가 움직일 경우에는 움직이는 피사체가 있는 영역에서만 한정적으로 움직임 벡터가 발생하는 특성을 보여 준다. 따라서 움직임의 대상을 판단할 경우에는 움직임 벡터를 갖는 블록의 개수가 소정의 임계값보다 크게 되면 카메라의 움직임으로 판단하고 만일 상기 소정의 임계치보다 블록의 개수가 적게 되면 물체의 움직임으로 판단할 수 있다.
이와 같은 방법으로 운동 객체가 결정되면, 다음으로는 움직임 벡터의 분석을 통해 운동 방향을 결정하기 위한 절차를 수행한다. 운동 방향은 예컨대 다음과 같은 기준에 따라서 결정할 수 있다.
우선, 운동 객체가 카메라인 경우에, 움직임 벡터, 보다 구체적으로는 움직임 벡터의 수평 성분(MVx)이 양의 값을 가지면 카메라의 운동 방향이 우측인 것으로 판정한다. 반면, 움직임 벡터가 음의 값을 가지면 카메라의 운동 방향은 좌측인 것으로 판정한다. 운동 객체가 피사체인 경우에는 반대이다. 즉 움직임 객체가 양의 값을 가지면 피사체의 운동 방향이 좌측인 것으로 판정하지만, 만일 움직임 벡터의 음의 값을 가지면 피사체의 운동 방향은 우측인 것으로 판정한다.
그리고 카메라의 운동 방향이나 피사체의 운동 방향이 결정되면, 이를 이용 하여 현재 영상과 지연 영상 중에서 어떤 영상을 좌영상으로 사용하고 어떤 영상을 우영상으로 사용할지를 결정한다. 그 결정 방법은 다음의 표 1과 같다.
도 7은 지연 영상과 현재 영상을 이용하여 좌영상과 우영상을 결정하는 예를 보여 주는 도면이다. 도 7의 경우에는 피사체 중의 하나인 비행기가 좌측에서 우측으로 운동하고 있지만 산은 정지된 상태이고, 또한 카메라도 정지된 상태이다. 그리고 도 5의 경우와 같이 피사체 중에서 비행기가 산보다 앞에 위치하는 경우이다. 이와 같은 경우에는, 현재 영상을 좌영상으로 하고 지연 영상을 우영상으로 하여 입체 영상을 생성하면 비행기는 음의 시차가 적용되어 스크린 앞쪽으로 튀어나오듯이 보여 지지만, 배경은 영의 시차가 적용되어 스크린에 정지되어 있는 것으로 느끼게 된다. 하지만, 운동방향을 올바르게 정하지 못해 좌영상과 우영상이 바뀌게 되면, 산보다 앞에 있는 비행기가 뒤에 보이게 되는 잘못된 변환이 이루어질 수 있다.
깊이 지도(Depth Map)를 이용한 3D 영상의 생성(S50)
단계 S50에서는 현재 프레임이 수평 움직임 프레임이 아닌 정지 프레임, 고속 움직임 프레임, 또는 수직 움직임 프레임이거나 또는 수평 움직임 프레임이지만 장면 전환 프레임인 경우에는 지연 영상을 이용하지 않고 현재 영상만을 이용하여 3D 영상을 생성한다. 보다 구체적으로, 본 발명의 실시예에서는 현재 영상에 대하여 깊이 지도를 먼저 생성한 다음 이를 이용하여 좌영상과 우영상을 생성한다. 도 8은 이러한 과정(단계 S50)을 더욱 상세하게 보여 주는 흐름도이다.
도 8을 참조하면, 먼저 현재 영상에서 수평 경계를 판정하는데(S51), 이것은 본 발명의 실시예에 따라서 깊이 지도를 생성하기 위한 첫 번째 과정이다. 일반적으로, 2D 영상에서 피사체에 대한 입체감을 느낄 수 있는 요소에는 원근감, 물체끼리의 상대적 위치에 따른 가림 효과, 물체 간의 상대적인 크기, 영상에서의 수직 위치에 따른 깊이감, 빛과 그림자에 의한 효과, 움직임의 빠르기의 차이 등과 같은 요소가 있다. 이들 여러 가지 요소 중에서 본 발명의 실시예에서는 영상에서의 수직 위치에 따른 깊이감을 이용한다. 영상에서의 수직 위치에 따른 깊이감은 도 9를 참조하면 이해하기가 쉽다. 도 9를 참조하면, 일반적으로 영상에서 수직 위치가 아래쪽인 부분은 카메라에 가까이 위치하고 있고 수직 위치가 위쪽인 부분은 비교적 멀리 있음을 알 수 있다.
그런데 영상의 수직 위치만을 이용하여 깊이 정보를 구하게 되면, 생성된 영상은 단순히 기울어져 있는 것 같이 느껴 질 수 있고 물체와 물체 사이의 깊이감은 느낄 수가 없다. 이를 보완하기 위해, 본 발명의 실시예에서는 물체와 물체 사이의 경계 정보, 보다 구체적으로 수평 경계 정보를 이용한다. 왜냐하면, 모든 물체와 물체 사이에는 경계가 존재하게 되고, 이 경계에서 시차의 차이가 발생하여야 물체에 따라서 다른 깊이감을 느낄 수 있으며, 또한 본 발명의 실시예에서는 수직 위치에 따른 깊이감을 이용하기 때문이다.
본 발명의 실시예에서 수평 경계를 구하는 방법에는 특별한 제한이 없다. 예를 들어, 수평 경계는 수직 방향으로 이웃하는 화소 사이에 픽셀값이 급격히 변하는 지점일 수 있는데, 경계 검출 마스크로는 소벨 마스크(Sobel Mask)나 프레윗 마스크(Prewitt Mask) 등이 있다. 도 10a는 소벨 마스크를 보여 주는 도면이고, 이 마스크를 이용하여 도 10b의 영상에 대한 경계를 검출하면 도 10c와 같은 결과를 얻을 수 있다.
계속해도 도 8을 참조하면, 구해진 경계 정보를 이용하여 깊이 지도(Depth Map)를 생성한다. 깊이 지도를 생성하는 방법은 원칙적으로 위쪽에서 아래쪽으로 수직 방향으로 이동하면서, 수평 경계를 만나면 깊이를 증가시키는 것이다. 이와 같은 방향으로 깊이 지도를 만들면, 아래쪽에 위치하는 물체는 카메라와 상대적으로 가까운 거리의 깊이감을 얻을 수 있고, 위쪽에 위치하는 물체는 카메라와 상대적으로 먼 거리의 깊이감을 얻을 수가 있다.
그런데 만나는 모든 수평 경계에 대하여 깊이를 증가시키게 되면, 경계의 작은 오차에도 민감하게 반응하여 전체적으로 잡음이 많은 깊이 지도를 생성할 가능성이 크다. 따라서 본 실시예에서는 이러한 문제를 방지하기 위하여 깊이 지도를 생성하기 전과 후에 각각 잡음을 제거하는 과정을 거치도록 한다.
깊이 지도를 생성하기 전에는 검출된 수평 경계의 주변, 즉 수평 방향으로 양쪽 주변을 참조하여 깊이를 증가시킬지를 결정한다. 예컨대, 수평 경계를 만나더라도 수평 방향으로 양쪽에 경계가 검출되지 않는 경우에는 잡음으로 판단하고 깊이를 증가시키지 않지만, 양쪽이나 어느 한 쪽에 동일한 경계가 검출되면 잡음이 아닌 실제 경계로 판단하여 깊이를 증가시킬 수 있다. 그리고 깊이 지도를 생성한 후에는 수평 방향의 평균 필터(Averaging Filter)를 적용하여 잡음을 제거한다.
이와 같이, 검출된 경계를 이용하여 깊이 지도를 생성하는 과정과 생성된 깊이 지도를 보여 주는 도면은 도 11a 및 도 11b에 도시되어 있다. 도 11a를 참조하면, 수직 방향으로 검출된 경계에 대하여 깊이를 순차적으로 증가시키고 수평 방향의 주변 화소에 대한 정보를 참조하여 잡음을 제거하는 과정을 보여 주고 있다. 그리고 도 11b는 이러한 과정을 통하여 구한 깊이 지도를 보여 주고 있다.
계속해서 도 8을 참조하면, 생성된 깊이 지도를 이용하여 좌영상과 우영상을 생성한다(S53). 본 발명의 실시예에서는 현재 영상에 생성된 깊이 지도를 적용하여 좌영상과 우영상 모두를 새롭게 생성할 수 있는데, 본 발명의 실시예가 여기에만 한정되는 것은 아니다. 예컨대, 본 발명의 다른 실시예에서는 현재 영상을 좌영상과 우영상 중의 어느 하나의 영상으로 하고, 생성된 깊이 지도를 적용하여 나머지 하나의 영상을 생성할 수도 있다.
현재 영상으로부터 좌영상과 우영상을 모두 생성하는 본 발명의 실시예에서는 깊이 지도로부터 주어지는 시차값을 현재 영상에 나눠서 적용함으로써, 좌영상과 우영상을 생성한다. 예를 들어, 최대 시차가 17화소라고 하였을 경우에, 좌영상과 우영상이 각각 8화소씩의 최대 시차를 가지도록 깊이 지도를 적용한다.
이와 같이 깊이 지도를 적용하여 현재 영상으로부터 좌영상과 우영상을 생성할 경우에는 가려진 영역을 적절하게 처리함으로써 현실감 있는 입체 영상을 생성하도록 하는 것이 바람직하다. 일반적으로 가려진 영역은 수평 방향으로 연속된 화소 사이에 적용되는 시차가 다른 경우에 발생한다. 본 발명의 실시예에서는 수평 방향으로 인접한 화소 사이의 시차가 다를 경우에는 시차가 작은 값으로 두 시차 사이의 영역을 보간한다.
도 12는 이러한 시차 적용 방법과 가려진 영역의 처리 과정을 보여 주는 도면이다. 도 12를 참조하면, 평균 시차를 기준으로 할 경우에 우영상을 생성할 경우에는 시차가 작은 화소는 우측 방향으로 이동하고 시차가 큰 화소는 좌측 방향으로 이동한다. 반면, 좌영상을 생성할 경우에는 시차가 작은 화소는 좌측 방향으로 이동하고 시차가 큰 화소는 우측 방향으로 이동한다. 그리고 상대적으로 시차가 작은 제1 픽셀(Pixel 1)과 시차가 큰 제2 픽셀(Pixel 2) 사이에 가려진 영역(Occulision Rigion)이 있는 경우에는 시차가 작은 제1 픽셀의 시차값으로 가려진 영역을 보간한다.
그런데 전술한 바와 같이 깊이 지도에 나타나있는 시차를 현재 영상에 적용하여 좌영상과 우영상을 생성함에 있어서, 만일 움직임 유형의 변화가 있는 경우에는 적용되는 시차의 갑작스러운 차이로 인하여 불안정한 화면의 변화가 생길 수가 있다. 보다 구체적으로, 현재 프레임의 이전 프레임은 수평 움직임 프레임으로서 지연 영상과 현재 영상을 이용하여 입체 영상을 생성하는데 반하여, 현재 프레임은 수평 움직임 프레임이 아니어서 깊이 지도를 적용하거나 또는 현재 프레임은 깊이 지도를 적용하여 좌우 영상을 구하는데 반하여 그 다음 프레임은 지연 영상과 현재 영상을 이용하여 좌우 영상을 구하는 경우에는, 불안정한 입체 영상이 생성될 가능성이 크다.
따라서 본 발명의 실시예에서는 이러한 불안정한 입체 영상의 생성을 방지하기 위하여, 깊이 지도를 적용함에 있어서 현재 프레임의 이전 프레임과 이후 프레임의 움직임 유형을 참조하였다. 일반적으로 참조하는 이전 프레임의 개수(예컨대, 약 10개)가 이후 프레임의 개수(예컨대, 1개 내지 6개)보다 많을 수가 있다. 그 이유는 이전 프레임의 경우에는 메모리 사용에 제한이 없지만 이후 프레임의 경우에는 본 단계의 적용을 위하여 별도로 메모리에 저장해야 하기 때문에 메모리 사용에 제한이 있기 때문이다. 그러나 이것은 예시적은 것으로서, 메모리의 제한이 없는 경우에는 반대의 경우나 이전 프레임과 이후 프레임으로 동일한 개수의 프레임을 참조할 수도 있다. 여기서 움직임 유형을 참조한다는 것은 단계 S50을 적용하여 입체 영상을 생성함에 있어서, 상기 이전 프레임이나 이후 프레임이 단계 S40이 적용되는 프레임인지 또는 단계 S50이 적용되는 프레임인지를 구분하여 깊이 지도를 적용한다는 것을 의미한다.
움직임 유형의 변화시에 처리 과정에 대하여 도 13을 참조하여 설명한다. 도 13에서 각 블록의 상단에 표시되어 있는 숫자가 프레임 일련번호(Frame Number)를 나타낸다. 그리고 각 블록에 표시되어 있는 D는 수평 움직임 프레임 이외의 프레임(이하, '제1 프레임'이라 한다)을 나타내고, H는 수평 움직임 프레임(이하, '제2 프레임'이라 한다)을 나타내며, 설명의 편의를 위하여 장면 전환점은 없는 것으로 가정한다. 그리고 도 13에서 각 블록의 하단에 표시되어 있는 숫자는 적용되는 최대 시차를 나타낸다.
도 13을 참조하면, 제1 프레임에서 제2 프레임으로 움직임 유형의 변화가 있는 경우에, 제1 프레임에 적용되는 최대 시차는 점진적으로 감소한다. 반대로, 제2 프레임에서 제1 프레임으로 움직임 유형의 변화가 있는 경우에는 적용되는 최대 시차가 점진적으로 증가한다는 것을 알 수 있다. 이와 같이, 움직임 유형의 변화가 있는 경우에, 적용되는 최대 시차에 점진적인 변화를 주면 적용 시차의 갑작스러운 차이로 인한 불안정한 화면의 변화가 생기는 것을 방지할 수가 있다.
다음으로, 전술한 본 발명의 실시예를 적용하여 구한 실험예에 대하여 설명한다.
도 14a는 수평 움직임 프레임의 움직임 벡터를 보여 주는 도면이고, 도 14b는 상기 움직임 벡터에 대하여 전술한 본 발명의 실시예를 적용하여 지연 영상과 현재 영상을 사용하는 입체 영상으로 변환한 결과를 보여 주고 있다. 그리고 도 15a는 수평 움직임 프레임이 아닌 경우의 깊이 지도를 보여 주는 도면이고, 도 15b는 본 발명의 실시예에 따라서 도 15a의 깊이 지도를 적용한 입체 영상을 보여 주는 도면이다. 도 15a를 참조하면, 깊이 지도를 통해서 영상의 위쪽 부분은 들어가 보이는 양의 시차, 아래쪽 부분은 나와 보이는 음의 시차가 기본적으로 적용되어 있다는 것을 알 수 있다. 그리고 도 15b를 참조하면, 피사체의 위치에 따라서 각기 다른 시차가 적용된 것을 알 수 있다.
도 16은 본 발명의 일 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 장치의 구성을 보여 주는 블록도이다. 도 16의 블록도는 도 1에 도시된 변환 절차를 구현하기 위한 것으로서, 도 1에 도시된 변환 절차에서의 각 단계들은 도 16의 하나의 유닛에서 수행될 수 있다. 그러나 이것은 예시적인 것으로서, 도 1에서의 하나의 단계가 2개 이상의 유닛에서 수행되거나 또는 도 1에서의 두 개 이상의 단계가 하나의 유닛에서 수행되도록 구성할 수도 있다.
도 16을 참조하면, 2차원 영상 신호의 3차원 영상 신호로의 변환 장치(100)는 움직임 정보 계산부(110), 움직임 유형 판별부(120), 장면 전환 판별부(130), 제1 3D 영상 생성부(140), 및 제2 3D 영상 생성부(150)를 포함한다. 움직임 정보 계산부(110)는 입력되는 2차원 영상 신호의 현재 프레임에 대하여 전 탐색을 적용하여 움직임 벡터를 탐색하고 또한 탐색된 움직임 벡터에 대하여 상기 수학식 1과 수학식 2와 같은 후처리를 수행할 수 있다. 움직임 유형 판별부(120)는 현재 프레임이 수평 움직임 프레임인지 또는 다른 유형의 움직임 프레임, 즉 정지 프레임, 고속 움직임 프레임, 또는 수직 움직임 프레임인지를 판정한다. 장면 전환 판별부(130)는 현재 프레임에 대한 움직임 유형 판별부(120)에서의 판정 결과가 수평 움직임 프레임인 경우에, 상기 현재 프레임이 장면 전환 프레임에 해당되는지를 판단한다. 판단 결과, 장면 전환 판별부(130)의 판단 결과 장면 전환 프레임이 아닌 경우에는, 신호가 제1 3D 영상 생성부(140)로 입력되지만, 장면 전환 프레임인 것으로 판단되는 경우에는 신호가 제2 3D 영상 생성부(150)로 입력된다.
제1 3D 영상 생성부(140)에서는 지연 영상과 현재 영상을 이용하여 입체 영상을 생성한다. 반면, 제2 3D 영상 생성부(150)에서는 현재 영상만을 이용하는데, 먼저, 현재 영상에 대한 깊이 지도를 생성한 다음 이를 이용하여 입체 영상을 생성한다. 제2 3D 영상 생성부(150)에서 깊이 지도를 생성할 경우에, 본 발명의 실시예에 의하면, 먼저 수평 경계를 검출하고 수직 방향으로 이동하면서 검출된 수평 경계를 만날 때마다 깊이값을 증가시키는 방법을 이용한다. 그리고 현재 프레임의 앞이나 뒤에 제1 3D 영상 생성부(140)에서 입체 영상을 생성하는 수평 움직임 프레임이 있는 경우에는, 적용하는 최대 시차를 점진적으로 증가시키거나 또는 감소시킨다.
이상에서 본 발명의 일 실시예에 대하여 상세하게 설명하였지만, 이러한 실시예는 단지 예시적은 것으로서, 본 발명의 기술 사상은 여러 가지 다른 형태로 구현하는 것이 가능하다는 것은 당업자에게 자명하다. 본 발명의 보호 범위는 후술하는 특허청구범위에 의하여 특정되며, 전술한 실시예에 의하여 한정되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 절차를 보여 주는 흐름도이다.
도 2는 전 탐색 방법을 사용할 경우에 탐색점의 위치 변화의 일례를 나타내는 도면이다.
도 3은 본 발명의 실시예에서 수학식 2에 적용될 오차에 대한 임계치를 결정하는 과정을 설명하기 위한 참조 프레임의 영상들이다.
도 4는 미디언 필터를 적용하는 절차의 일례를 보여 주는 도면이다.
도 5는 비행기는 좌측에서 우측으로 이동하고 있고, 배경이 되는 산은 정지하고 있는 경우로서, 로스 현상을 기반으로 2차원 영상의 3차원 영상으로의 변환 방법을 설명하기 위한 도면이다.
도 6a는 카메라는 고정되어 있고 피사체가 움직이는 경우의 블록 단위의 움직임 벡터의 일례를 보여 주는 도면이다.
도 6b는 피사체는 고정되어 있고 카메라가 움직이는 경우의 블록 단위의 움직임 벡터를 보여 주는 도면이다.
도 7은 지연 영상과 현재 영상을 이용하여 좌영상과 우영상을 결정하는 예를 보여 주는 도면이다.
도 8은 도 1의 단계 S50을 더욱 상세하게 보여 주는 흐름도이다.
도 9는 영상에서의 수직 위치에 따른 깊이감을 보여 주는 영상들이다.
도 10a는 소벨 마스크를 보여 주는 도면이다.
도 10b는 도 10a의 소벨 마스크가 적용되는 영상이다.
도 10c는 도 10b의 영상에 도 10a의 소벨 마스크를 적용하여 검출한 결과를 보여 주는 도면이다.
도 11a는 검출된 경계를 이용하여 깊이 지도를 생성하는 과정을 보여 주는 도면이다.
도 11b는 도 11a에 따라서 생성된 깊이 지도를 보여 주는 도면이다.
도 12는 깊이 지도를 이용한 시차 적용 방법과 가려진 영역의 처리 과정을 보여 주는 도면이다.
도 13은 움직임 유형의 변화시에 처리 과정을 설명하기 위한 블록도이다.
도 14a는 수평 움직임 프레임의 움직임 벡터를 보여 주는 도면이다.
도 14b는 도 14a의 움직임 벡터에 대하여 전술한 본 발명의 실시예를 적용하여 지연 영상과 현재 영상을 사용하는 입체 영상으로 변환한 결과를 보여 주는 도면이다.
도 15a는 수평 움직임 프레임이 아닌 경우의 깊이 지도를 보여 주는 도면이다.
도 15b는 본 발명의 실시예에 따라서 도 15a의 깊이 지도를 적용한 입체 영상을 보여 주는 도면이다.
도 16은 본 발명의 일 실시예에 따른 2차원 영상 신호의 3차원 영상 신호로의 변환 장치의 구성을 보여 주는 블록도이다.
Claims (15)
- 2차원 입력 영상 신호인 현재 프레임에 대한 움직임 정보를 구하는 단계;상기 움직임 정보를 이용하여 상기 현재 프레임의 움직임 유형을 판별하는 단계; 및판별 결과 상기 현재 프레임이 수평 움직임 프레임이 아닌 경우에, 현재 영상에 상기 현재 프레임에 대한 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하는 단계를 포함하고,상기 깊이 지도는 상기 현재 프레임의 수평 경계를 이용하여 생성하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제1항에 있어서, 상기 현재 프레임이 수평 움직임 프레임이지만 장면 전환 프레임인 것으로 판별되는 경우에도, 상기 현재 영상에 상기 현재 프레임에 대한 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제1항에 있어서, 상기 현재 프레임이 수평 움직임 프레임이고 또한 장면 전환 프레임이 아닌 것으로 판별되는 경우에는, 상기 현재 영상과 지연 영상을 이용하여 3차원 출력 영상 신호를 생성하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제1항에 있어서, 상기 3차원 출력 영상 신호를 생성하는 단계에서는상기 현재 프레임의 수평 경계를 검출하고, 상기 현재 프레임에 대하여 수직 방향으로 진행하면서 상기 검출된 수평 경계를 만날 때마다 깊이값을 순차적으로 증가시킴으로써 생성된, 상기 깊이 지도를 적용하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제4항에 있어서, 상기 깊이 지도를 생성하기 전에 상기 깊이값에 대하여 수평 방향의 평균 필터를 적용하는 단계를 더 수행하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 2차원 입력 영상 신호인 현재 프레임에 대한 움직임 정보를 구하는 단계;상기 움직임 정보를 이용하여 상기 현재 프레임의 움직임 유형을 판별하는 단계; 및상기 현재 프레임의 움직임 유형이 수평 움직임 프레임인 경우에 상기 현재 프레임이 장면 전환 프레임인지를 판정하는 단계; 및만일 상기 현재 프레임이 수평 움직임 프레임이고 또한 상기 장면 전환 프레임은 아닌 것으로 판별되는 경우에는 현재 영상과 지연 영상을 이용하여 3차원 출력 영상 신호를 생성하고, 만일 상기 현재 프레임이 수평 움직임 프레임이 아니거나 또는 상기 수평 움직임 프레임이면서 상기 장면 전환 프레임인 것으로 판별되는 경우에는 현재 영상에 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하는 단계를 포함하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제6항에 있어서, 상기 깊이 지도는 상기 현재 프레임의 수평 경계를 이용하여 생성하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제6항에 있어서, 상기 3차원 출력 영상 신호를 생성하는 단계에서는상기 현재 프레임의 수평 경계를 검출하고, 상기 현재 프레임에 대하여 수직 방향으로 진행하면서 상기 검출된 수평 경계를 만날 때마다 깊이값을 순차적으로 증가시킴으로써 생성된, 상기 깊이 지도를 적용하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제6항에 있어서, 상기 움직임 정보를 구하는 단계는참조 프레임을 이용하여 소정 크기의 블록 단위로 상기 현재 프레임의 움직임 벡터를 구하는 단계;상기 움직임 벡터에 대한 상기 현재 프레임과 상기 참조 프레임의 오차를 구하여 상기 오차의 값이 소정의 임계치보다 작은 움직임 벡터만을 남기는 단계; 및상기 움직임 벡터의 수직 방향 성분과 수평 방향 성분 각각에 대하여 중간값 필터링을 적용하는 단계를 포함하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제6항에 있어서, 상기 장면 전환 프레임인지를 판정하는 단계는 상기 현재 프레임이 상기 수평 움직임 프레임인지를 판정하는 단계를 포함하고,상기 수평 움직임 프레임인지를 판정하는 단계에서는 상기 현재 프레임이 정지 프레임, 고속 움직임 프레임, 및 수직 움직임 프레임 중에서 어디에도 해당하지 않을 경우에, 상기 현재 프레임을 상기 수평 움직임 프레임인 것으로 판정하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 2차원 입력 영상 신호인 현재 프레임에 대하여 수평 경계를 검출하는 단계;상기 현재 프레임에 대하여 수직 방향으로 진행하면서 상기 수평 경계를 만나면 깊이값을 증가시킴으로써 상기 현재 프레임에 대한 깊이 지도를 생성하는 단계; 및현재 영상에 상기 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하는 단계를 포함하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제11항에 있어서, 상기 검출된 수평 경계에 대하여 수평 방향의 평균 필터를 적용하는 단계를 더 포함하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제11항에 있어서, 상기 3차원 출력 영상 신호의 생성 단계에서는상기 현재 영상에 대하여 상기 깊이 지도의 시차를 나눠서 적용하여 좌영상 과 우영상을 각각 생성하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 제13항에 있어서, 상기 3차원 출력 영상 신호의 생성 단계에서는상기 좌영상 또는 상기 우영상에서 수평 방향으로 연속된 화소 사이의 시차가 다를 경우에 발생하는 가려진 영역은 상기 다른 시차 중에서 더 작은 시차를 이용하여 보간하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 방법.
- 2차원 입력 영상 신호인 현재 프레임에 대한 움직임 정보를 구하기 위한 움직임 정보 계산부;상기 움직임 정보를 이용하여 상기 현재 프레임의 움직임 유형을 판별하기 위한 움직임 유형 판별부; 및판별 결과 상기 현재 프레임이 수평 움직임 프레임이 아닌 경우에, 현재 영상에 상기 현재 프레임에 대한 깊이 지도를 적용하여 3차원 출력 영상 신호를 생성하기 위한 3차원 영상 생성부를 포함하고,상기 3차원 영상 생성부는 상기 현재 프레임의 수평 경계를 이용하여 상기 깊이 지도를 생성하는 것을 특징으로 하는 2차원 영상 신호의 3차원 영상 신호로의 변환 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070072066A KR100888081B1 (ko) | 2007-07-19 | 2007-07-19 | 2차원 영상 신호의 3차원 영상 신호로의 변환 절차 및 변환장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070072066A KR100888081B1 (ko) | 2007-07-19 | 2007-07-19 | 2차원 영상 신호의 3차원 영상 신호로의 변환 절차 및 변환장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090008808A KR20090008808A (ko) | 2009-01-22 |
KR100888081B1 true KR100888081B1 (ko) | 2009-03-11 |
Family
ID=40488831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070072066A KR100888081B1 (ko) | 2007-07-19 | 2007-07-19 | 2차원 영상 신호의 3차원 영상 신호로의 변환 절차 및 변환장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100888081B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8633973B2 (en) | 2010-03-25 | 2014-01-21 | Samsung Display Co., Ltd. | Three dimensional image display device and method of driving the same |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521829B (zh) * | 2009-01-23 | 2014-01-08 | 浙江大学 | 一种深度图像序列处理的方法及装置 |
KR101125061B1 (ko) * | 2010-04-06 | 2012-03-21 | (주)리얼디스퀘어 | Ldi 기법 깊이맵을 참조한 2d 동영상의 3d 동영상 전환방법 |
KR101054043B1 (ko) * | 2010-05-23 | 2011-08-10 | 강원대학교산학협력단 | 2차원 의료영상으로부터 3차원 영상을 생성하는 방법 |
KR101065863B1 (ko) * | 2010-06-08 | 2011-09-19 | (주)님버스테크놀로지스 | 두 영상 간의 수직성분 보정에 의한 3d 영상 형성방법 및 저장매체 |
KR101225659B1 (ko) * | 2011-09-05 | 2013-01-23 | 공주영상대학교산학협력단 | 2차원 영상의 3차원 영상화 변환방법 |
CN102404594B (zh) * | 2011-10-31 | 2014-02-12 | 庞志勇 | 基于图像边缘信息的2d转3d的方法 |
KR101314184B1 (ko) * | 2011-11-29 | 2013-10-02 | 유지상 | 영상 변환 장치 |
KR101894090B1 (ko) * | 2011-12-01 | 2018-09-03 | 엘지디스플레이 주식회사 | 멀티뷰 영상 생성방법과 이를 이용한 입체영상 표시장치 |
KR20130114420A (ko) | 2012-04-09 | 2013-10-18 | 한국전자통신연구원 | 2차원 동영상의 3차원 동영상으로의 변환 방법 및 장치 |
KR101996657B1 (ko) * | 2012-11-28 | 2019-10-02 | 엘지디스플레이 주식회사 | 글로벌 뎁스 맵 생성방법과 이를 이용한 입체영상 표시장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990057668A (ko) * | 1997-12-30 | 1999-07-15 | 윤종용 | 운동 시차의 수평 시차로의 변환을 이용한 2차원 연속 영상의 3차원 영상 변환장치 및 방법 |
KR19990057669A (ko) * | 1997-12-30 | 1999-07-15 | 윤종용 | 가상 스테레오 영상을 이용한 2차원 연속 영상의 3차원 영상 변환 장치 및 방법 |
KR19990084334A (ko) * | 1998-05-04 | 1999-12-06 | 윤종용 | 2차원 연속 영상의 3차원 영상 변환 장치 및 방법 |
-
2007
- 2007-07-19 KR KR1020070072066A patent/KR100888081B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990057668A (ko) * | 1997-12-30 | 1999-07-15 | 윤종용 | 운동 시차의 수평 시차로의 변환을 이용한 2차원 연속 영상의 3차원 영상 변환장치 및 방법 |
KR19990057669A (ko) * | 1997-12-30 | 1999-07-15 | 윤종용 | 가상 스테레오 영상을 이용한 2차원 연속 영상의 3차원 영상 변환 장치 및 방법 |
KR19990084334A (ko) * | 1998-05-04 | 1999-12-06 | 윤종용 | 2차원 연속 영상의 3차원 영상 변환 장치 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8633973B2 (en) | 2010-03-25 | 2014-01-21 | Samsung Display Co., Ltd. | Three dimensional image display device and method of driving the same |
Also Published As
Publication number | Publication date |
---|---|
KR20090008808A (ko) | 2009-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100888081B1 (ko) | 2차원 영상 신호의 3차원 영상 신호로의 변환 절차 및 변환장치 | |
KR101310213B1 (ko) | 깊이 영상의 품질 개선 방법 및 장치 | |
KR100544677B1 (ko) | 다시점 영상 및 깊이 정보를 이용한 3차원 객체 추적 장치및 그 방법 | |
US9374571B2 (en) | Image processing device, imaging device, and image processing method | |
US20110115790A1 (en) | Apparatus and method for converting 2d image signals into 3d image signals | |
JP5153940B2 (ja) | 動き補償を用いた画像の奥行き抽出のためのシステムおよび方法 | |
JP5156837B2 (ja) | 領域ベースのフィルタリングを使用する奥行マップ抽出のためのシステムおよび方法 | |
US9123115B2 (en) | Depth estimation based on global motion and optical flow | |
US8325220B2 (en) | Stereoscopic image display method and apparatus, method for generating 3D image data from a 2D image data input and an apparatus for generating 3D image data from a 2D image data input | |
KR101096468B1 (ko) | 복잡성-적응형 2차원-대-3차원 비디오 시퀀스 변환 | |
KR101792501B1 (ko) | 특징기반의 스테레오 매칭 방법 및 장치 | |
JP5138031B2 (ja) | 深度関連情報を処理する方法、装置及びシステム | |
KR100931311B1 (ko) | 프레임 간 깊이 연속성 유지를 위한 깊이 추정 장치 및 그방법 | |
US9659382B2 (en) | System and method for depth extraction of images with forward and backward depth prediction | |
KR100953076B1 (ko) | 객체 또는 배경 분리를 이용한 다시점 정합 방법 및 장치 | |
US20140176672A1 (en) | Systems and methods for image depth map generation | |
KR100799990B1 (ko) | 2차원 영상의 3차원 영상 변환 장치 및 방법 | |
US20140340486A1 (en) | Image processing system, image processing method, and image processing program | |
KR100745691B1 (ko) | 차폐영역 검출을 이용한 양안 또는 다시점 스테레오 정합장치 및 그 방법 | |
JP2000261828A (ja) | 立体映像生成方法 | |
JP7159198B2 (ja) | 奥行きマップを処理するための装置及び方法 | |
EP3418975A1 (en) | Depth estimation for an image | |
KR100489894B1 (ko) | 양안식 스테레오 영상의 카메라 광축 간격 조절 장치 및그 방법 | |
KR101629414B1 (ko) | 휴먼 팩터에 기초한 스테레오스코픽 이미지 추출 방법 및 장치 | |
CN109508574A (zh) | 一种裸眼立体显示方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130305 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140303 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160303 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170306 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180223 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |