KR101541077B1 - 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 - Google Patents
텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 Download PDFInfo
- Publication number
- KR101541077B1 KR101541077B1 KR1020140041125A KR20140041125A KR101541077B1 KR 101541077 B1 KR101541077 B1 KR 101541077B1 KR 1020140041125 A KR1020140041125 A KR 1020140041125A KR 20140041125 A KR20140041125 A KR 20140041125A KR 101541077 B1 KR101541077 B1 KR 101541077B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- block
- macroblock
- sub
- frame
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/87—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치는 현재 프레임의 매크로 블록 내 텍스쳐 정보의 차이에 기초하여 매크로 블록의 분할선을 결정하고, 결정된 분할선을 이용하여 매크로 블록을 복수의 서브 블록으로 분할하는 매크로 블록 분할부; 분할된 서브 블록들 중 처리 중인 서브 블록에 대해, 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록에 대응되는 적어도 하나의 움직임 벡터를 이용하여, 처리 중인 서브 블록의 움직임 벡터를 추정하는 움직임 벡터 추정부; 및 추정된 움직임 벡터, 현재 프레임, 및 현재 프레임의 이전 프레임을 이용하여 보간 프레임을 생성하는 보간 프레임 생성부를 포함한다.
Description
본 발명의 실시예들은 프레임 보간(frame interpolation)에 관한 것으로, 더욱 상세하게는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법에 관한 것이다.
디지털 TV에서부터 스마트폰에 이르기까지 근래 다양한 가전 제품의 디스플레이 능력은 급격히 향상되었고, 그에 따라 소비자들은 이러한 고성능 기기들의 디스플레이 능력을 충분히 활용하기를 기대하고 있다. 그러나, 영상 처리는 일반적으로 제한된 대역폭 용량과 전력 소모 환경에서 행해지기 때문에 화질 열화가 발생할 수 밖에 없는 상황이며, 이러한 이유로 영상 품질을 향상시키기 위한 기법들이 각광 받고 있다.
이 중 프레임 보간 기법은 영상 프레임 사이에 새로운 프레임을 보간하는 기술로 영상의 움직임 연속성을 향상시키는 프레임율 증가 변환 (FRUC, Frame Rate Up-Conversion) 또는 영상 압축을 위한 분산 영상 부호화 (DVC, Distributed Video Coding) 등에 쓰일 수 있다. 특히, 정확한 프레임 보간은 분산 영상 부호화에서의 율-왜곡(rate-distortion) 성능 향상과 직결되며, 이와 같은 중요성에 의해 프레임 보간에 관한 다양한 연구가 진행되어 왔다.
프레임 보간의 성능은 프레임 간 움직임 추정의 정확도에 크게 좌우되며, 그에 따라 보다 정확한 움직임 벡터를 얻고자 하는 다양한 시도가 있었다. 이중 다중 움직임 추정 방법은 움직임 추정 연산을 반복 수행하여 가장 정확하다고 판단되는 움직임 벡터를 선택하는 방법으로, 신뢰성 있는 움직임 벡터를 얻는 것이 가능하나 막대한 연산량을 요구하는 단점이 있다.
또 다른 방법으로서 주변 움직임 벡터와의 연관성을 고려하여 초기 움직임 벡터를 균일하게 수정하는 움직임 벡터 평탄화 방법이 소개되었는데, 이러한 방법은 물체의 경계와 같이 불규칙한 움직임이 있는 영역에 대해 상당히 부정확한 움직임 벡터를 제공할 수 있다는 문제점이 발생한다. 뿐만 아니라, 기존의 프레임 보간 기법들은 고정된 크기의 사각 블록만 사용함으로써 블록화 현상을 유발함은 물론, 물체의 불규칙적인 경계를 제대로 보간하지 못하였다.
따라서, 물체의 불규칙적인 경계에 대해 세밀하게 보간하면서도 움직임 추정을 위한 연산량은 감소시킬 수 있는 프레임 보간 방법의 필요성이 대두되고 있다. 관련 선행기술로는 대한민국 공개특허공보 제2007-0055212호(발명의 명칭: 프레임 보간장치, 프레임 보간방법 및 움직임 신뢰성평가장치, 공개일자: 2007년 05월 30일)가 있다.
본 발명의 일 실시예는 블록 내 텍스쳐 정보를 이용하여 사각의 블록을 임의의 모양과 크기로 분할하는 블록 분할의 개념을 도입함으로써 물체 경계 부분의 세밀한 보간이 가능하게 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법을 제공한다.
본 발명의 일 실시예는 주변 움직임 벡터를 움직임 추정 중의 초기 탐색 지점 및 선택 기준으로 활용하여 물체 경계에서 정확하게 움직임을 추정할 수 있으며 움직임 추정을 위한 연산량을 감소시킬 수 있는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치는 현재 프레임의 매크로 블록 내 텍스쳐 정보의 차이에 기초하여 상기 매크로 블록의 분할선을 결정하고, 상기 결정된 분할선을 이용하여 상기 매크로 블록을 복수의 서브 블록으로 분할하는 매크로 블록 분할부; 상기 분할된 서브 블록들 중 처리 중인 서브 블록에 대해, 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록에 대응되는 적어도 하나의 움직임 벡터를 이용하여, 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 움직임 벡터 추정부; 및 상기 추정된 움직임 벡터, 상기 현재 프레임, 및 상기 현재 프레임의 이전 프레임을 이용하여 보간 프레임을 생성하는 보간 프레임 생성부를 포함한다.
상기 매크로 블록 분할부는 상기 복수의 서브 블록 간의 픽셀 차이값 및 픽셀 분산값에 기초하여 상기 매크로 블록의 분할선을 결정할 수 있다.
상기 매크로 블록 분할부는 상기 매크로 블록의 중심점을 기준으로, 상기 복수의 서브 블록 간의 픽셀 평균값의 차이가 가장 크면서, 상기 복수의 서브 블록 간의 픽셀 분산값의 합이 가장 작은 경우에 해당하는 각도 및 거리를 산출하고, 상기 산출된 각도 및 거리를 이용하여 상기 매크로 블록의 분할선을 결정할 수 있다.
상기 매크로 블록 분할부는 상기 픽셀 차이값 대비 상기 픽셀 분산값이 미리 설정된 임계치 이하로 떨어지는 것을 방지하기 위한 안정화 상수에 더 기초하여 상기 매크로 블록의 분할선을 결정할 수 있다.
상기 움직임 벡터 추정부는 상기 인접한 매크로 블록의 적어도 하나의 움직임 벡터를 초기 탐색 지점으로 선택하고, 상기 선택된 초기 탐색 지점에 기초하여 상기 처리 중인 서브 블록과 매칭되는 서브 블록을 상기 이전 프레임 내에서 탐색하며, 상기 탐색된 서브 블록을 이용하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정할 수 있다.
상기 움직임 벡터 추정부는 상기 인접한 매크로 블록 중 움직임 벡터를 가지고 있지 않은 블록이 있는 경우, 상기 현재 프레임의 매크로 블록 각각을 부표본화하여 부표본 블록을 생성하고, 상기 생성된 부표본 블록에 대응되는 부표본 블록을 상기 이전 프레임에서 전역 탐색하여 움직임 벡터를 추정하며, 상기 전역 탐색을 통해 추정된 움직임 벡터를 상기 초기 탐색 지점으로 선택할 수 있다.
상기 움직임 벡터 추정부는 상기 현재 프레임의 매크로 블록 각각에 대해, 미리 설정된 분류 패턴에 따라 사용 픽셀과 미사용 픽셀로 분류하고, 상기 미사용 픽셀을 제거한 나머지 상기 사용 픽셀의 조합을 통해, 상기 분류 패턴에 따른 비율로 상기 부표본 블록을 생성할 수 있다.
상기 움직임 벡터 추정부는 상기 인접한 매크로 블록의 움직임 벡터를 이용하여 상기 처리 중인 서브 블록의 후보 움직임 벡터를 결정하고, 상기 결정된 후보 움직임 벡터와 상기 인접한 매크로 블록의 움직임 벡터 사이의 거리에 기초하여 가중치를 산출하며, 상기 산출된 가중치에 기초하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정할 수 있다.
상기 움직임 벡터 추정부는 상기 움직임 벡터 사이의 거리에 임의의 상수를 곱셈하여 상기 가중치를 산출할 수 있다.
상기 임의의 상수는 0.025일 수 있다.
상기 인접한 매크로 블록은 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 위쪽, 왼쪽, 오른쪽 방향으로 인접한 매크로 블록일 수 있다.
본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법은 프레임 보간 장치의 매크로 블록 분할부에서, 현재 프레임의 매크로 블록 내 텍스쳐 정보의 차이에 기초하여 상기 매크로 블록의 분할선을 결정하는 단계; 상기 매크로 블록 분할부에서, 상기 결정된 분할선을 이용하여 상기 매크로 블록을 복수의 서브 블록으로 분할하는 단계; 상기 프레임 보간 장치의 움직임 벡터 추정부에서, 상기 분할된 서브 블록들 중 처리 중인 서브 블록에 대해, 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록에 대응되는 적어도 하나의 움직임 벡터를 이용하여, 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 단계; 및 상기 프레임 보간 장치의 보간 프레임 생성부에서, 상기 추정된 움직임 벡터, 상기 현재 프레임, 및 상기 현재 프레임의 이전 프레임을 이용하여 보간 프레임을 생성하는 단계를 포함한다.
상기 분할선을 결정하는 단계는 상기 복수의 서브 블록 간의 픽셀 차이값 및 픽셀 분산값에 기초하여 상기 매크로 블록의 분할선을 결정하는 단계를 포함할 수 있다.
상기 분할선을 결정하는 단계는 상기 매크로 블록의 중심점을 기준으로, 상기 복수의 서브 블록 간의 픽셀 평균값의 차이가 가장 크면서, 상기 복수의 서브 블록 간의 픽셀 분산값의 합이 가장 작은 경우에 해당하는 각도 및 거리를 산출하는 단계; 및 상기 산출된 각도 및 거리를 이용하여 상기 매크로 블록의 분할선을 결정하는 단계를 포함할 수 있다.
상기 분할선을 결정하는 단계는 상기 픽셀 차이값 대비 상기 픽셀 분산값이 미리 설정된 임계치 이하로 떨어지는 것을 방지하기 위한 안정화 상수에 더 기초하여 상기 매크로 블록의 분할선을 결정하는 단계를 포함할 수 있다.
상기 움직임 벡터를 추정하는 단계는 상기 인접한 매크로 블록의 적어도 하나의 움직임 벡터를 초기 탐색 지점으로 선택하는 단계; 상기 선택된 초기 탐색 지점에 기초하여 상기 처리 중인 서브 블록과 매칭되는 서브 블록을 상기 이전 프레임 내에서 탐색하는 단계; 및 상기 탐색된 서브 블록을 이용하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 단계를 포함할 수 있다.
상기 움직임 벡터를 추정하는 단계는 상기 인접한 매크로 블록 중 움직임 벡터를 가지고 있지 않은 블록이 있는 경우, 상기 현재 프레임의 매크로 블록 각각을 부표본화하여 부표본 블록을 생성하는 단계; 상기 생성된 부표본 블록에 대응되는 부표본 블록을 상기 이전 프레임에서 전역 탐색하여 움직임 벡터를 추정하는 단계; 및 상기 전역 탐색을 통해 추정된 움직임 벡터를 상기 초기 탐색 지점으로 선택하는 단계를 더 포함할 수 있다.
상기 부표본 블록을 생성하는 단계는 상기 현재 프레임의 매크로 블록 각각에 대해, 미리 설정된 분류 패턴에 따라 사용 픽셀과 미사용 픽셀로 분류하는 단계; 상기 미사용 픽셀을 제거한 나머지 상기 사용 픽셀의 조합을 통해, 상기 분류 패턴에 따른 비율로 상기 부표본 블록을 생성하는 단계를 포함할 수 있다.
상기 움직임 벡터를 추정하는 단계는 상기 인접한 매크로 블록의 움직임 벡터를 이용하여 상기 처리 중인 서브 블록의 후보 움직임 벡터를 결정하는 단계; 상기 결정된 후보 움직임 벡터와 상기 인접한 매크로 블록의 움직임 벡터 사이의 거리에 기초하여 가중치를 산출하는 단계; 및 상기 산출된 가중치에 기초하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 단계를 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 블록 내 텍스쳐 정보를 이용하여 사각의 블록을 임의의 모양과 크기로 분할하는 블록 분할의 개념을 도입함으로써 물체 경계 부분의 세밀한 보간이 가능하게 한다.
본 발명의 일 실시예에 따르면, 주변 움직임 벡터를 움직임 추정 중의 초기 탐색 지점 및 선택 기준으로 활용하여 물체 경계에서 정확하게 움직임을 추정할 수 있으며 움직임 추정을 위한 연산량을 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치를 설명하기 위해 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 블록 분할의 예시도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 움직임 추정 시에 사용되는 주변 움직임 벡터의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법을 설명하기 위해 도시한 흐름도이다.
도 6 및 도 7은 본 발명의 일 실시예에 따라 움직임 벡터를 추정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따라 움직임 벡터를 추정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 9 및 도 10은 본 발명의 일 실시예에 따라 텍스쳐 정보에 기반하여 매크로 블록을 분할하는 과정을 기존 방식과의 비교를 통해 구체적으로 설명하기 위해 도시한 예시도이다.
도 11 및 도 12는 본 발명의 일 실시예에 따라 현재 처리 블록의 움직임 벡터를 추정하는 과정을 기존 방식과의 비교를 통해 구체적으로 설명하기 위해 도시한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 블록 분할의 예시도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 움직임 추정 시에 사용되는 주변 움직임 벡터의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법을 설명하기 위해 도시한 흐름도이다.
도 6 및 도 7은 본 발명의 일 실시예에 따라 움직임 벡터를 추정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따라 움직임 벡터를 추정하는 과정을 설명하기 위해 도시한 흐름도이다.
도 9 및 도 10은 본 발명의 일 실시예에 따라 텍스쳐 정보에 기반하여 매크로 블록을 분할하는 과정을 기존 방식과의 비교를 통해 구체적으로 설명하기 위해 도시한 예시도이다.
도 11 및 도 12는 본 발명의 일 실시예에 따라 현재 처리 블록의 움직임 벡터를 추정하는 과정을 기존 방식과의 비교를 통해 구체적으로 설명하기 위해 도시한 예시도이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치를 설명하기 위해 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치(100)는 매크로 블록 분할부(110), 움직임 벡터 추정부(120), 보간 프레임 생성부(130), 및 제어부(140)를 포함한다.
상기 매크로 블록 분할부(110)는 현재 프레임의 매크로 블록 내 텍스쳐(texture) 정보의 차이에 기초하여 상기 매크로 블록의 분할선을 결정하고, 상기 결정된 분할선을 이용하여 상기 매크로 블록을 복수의 서브 블록으로 분할한다.
상기 매크로 블록 분할부(110)가 상기 매크로 블록의 분할선을 결정하는 과정에 대해서 보다 구체적으로 설명한다. 즉, 상기 매크로 블록 분할부(110)는 상기 복수의 서브 블록 간의 픽셀 차이값 및 픽셀 분산값에 기초하여 상기 매크로 블록의 분할선을 결정할 수 있다.
이때, 상기 매크로 블록 분할부(110)는 상기 매크로 블록의 중심점을 기준으로, 상기 복수의 서브 블록 간의 픽셀 평균값의 차이가 가장 크면서, 상기 복수의 서브 블록 간의 픽셀 분산값의 합이 가장 작은 경우에 해당하는 각도 및 거리를 산출할 수 있다. 상기 매크로 블록 분할부(110)는 상기 산출된 각도 및 거리를 이용하여 상기 매크로 블록의 분할선을 결정할 수 있다.
또한, 상기 매크로 블록 분할부(110)는 상기 픽셀 차이값 대비 상기 픽셀 분산값이 미리 설정된 임계치 이하로 떨어지는 것을 방지하기 위한 안정화 상수에 더 기초하여 상기 매크로 블록의 분할선을 결정할 수 있다. 다시 말해서, 상기 매크로 블록 분할부(110)는 상기 복수의 서브 블록 간의 픽셀 차이값, 상기 복수의 서브 블록 간의 픽셀 분산값, 및 상기 안정화 상수에 기초하여 상기 매크로 블록의 분할선을 결정할 수 있다.
이하에서는 상기 매크로 블록 분할부(110)에 대해 도 2 및 수학식 1을 참조하여 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른 블록 분할의 예시도이다. 도 2에 도시된 바와 같이, 사각의 블록(매크로 블록)은 분할선 L(ρ,θ)에 따라 임의의 모양과 크기를 갖는 두 서브 블록인 P 1(ρ,θ)과 P 2(ρ,θ)으로 나뉘게 된다. 이때, 나뉜 서브 블록 간의 텍스쳐 차이를 극대화하는 분할선은 해당 블록이 포함하고 있는 물체의 경계와 일치할 확률이 높다. 이에 따라, 본 발명의 일 실시예에서 제안하는 블록 분할에서, 최적의 분할선 L(ρ B ,θ B )을 선택하는 기준은 다음의 수학식 1과 같다.
[수학식 1]
여기서 μ는 각 서브 블록에 포함된 픽셀들의 픽셀 값들의 평균을, ν는 각 서브 블록에 포함된 픽셀들의 픽셀 값들의 분산을 나타내며, α는 작은 분모로 인해 식이 불안정해지는 것을 막기 위한 안정화 상수이다. 결국, 상기 수학식 1은 두 서브 블록 간의 픽셀 값들의 평균 차이를 극대화하고, 두 서브 블록 간의 픽셀 값들의 분산 합을 극소화시키는 기준이다. 이를 통하여 사각 블록은 물체의 경계에 가깝게 분할될 수 있으며, 이는 본 발명의 일 실시예에서 제안하는 프레임 보간 기법의 성능 향상과 직결된다.
상기 움직임 벡터 추정부(120)는 상기 분할된 서브 블록들 중 처리 중인 서브 블록에 대해, 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록에 대응되는 적어도 하나의 움직임 벡터를 이용하여, 상기 처리 중인 서브 블록의 움직임 벡터를 추정한다.
여기서, 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록 중에는 서브 블록들로 분할된 매크로 블록과 서브 블록들로 분할되지 않은 매크로 블록이 존재하는데, 서브 블록들로 분할된 매크로 블록은 분할된 서브 블록의 개수에 따라 2개 이상의 움직임 벡터를 가지게 되고, 서브 블록들로 분할되지 않은 매크로 블록은 한 개의 움직임 벡터를 가지게 된다.
또한, 상기 인접한 매크로 블록은 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 위쪽, 왼쪽, 오른쪽 방향으로 인접한 매크로 블록일 수 있다. 상기 움직임 벡터 추정부(120)는 상기 인접한 매크로 블록의 움직임 벡터를 움직임 벡터 후보군, 즉 후보 움직임 벡터 집합으로 선택하고, 그 움직임 벡터 후보군을 참조하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정할 수 있다.
이를 위해, 상기 움직임 벡터 추정부(120)는 상기 인접한 매크로 블록의 적어도 하나의 움직임 벡터, 즉 상기 움직임 벡터 후보군을 움직임 벡터의 추정을 위한 초기 탐색 지점으로 선택할 수 있다. 상기 움직임 벡터 추정부(120)는 상기 선택된 초기 탐색 지점에 기초하여 상기 처리 중인 서브 블록과 매칭되는 서브 블록을 상기 이전 프레임 내에서 탐색할 수 있다. 상기 움직임 벡터 추정부(120)는 상기 탐색된 서브 블록을 이용하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정할 수 있다.
이때, 상기 인접한 매크로 블록 중에서는 움직임 벡터를 가지고 있지 않은 블록이 있을 수 있다. 즉, 아직 처리되지 않은 인접 매크로 블록이 존재할 수 있다. 이러한 경우, 상기 움직임 벡터 추정부(120)는 현재 프레임의 매크로 블록 각각을 부표본화하여 부표본 블록을 생성할 수 있다.
이를 위해, 상기 움직임 벡터 추정부(120)는 상기 현재 프레임의 매크로 블록 각각에 대해, 미리 설정된 분류 패턴에 따라 사용 픽셀과 미사용 픽셀로 분류하고, 상기 미사용 픽셀을 제거한 나머지 상기 사용 픽셀의 조합을 통해, 상기 분류 패턴에 따른 비율로 상기 부표본 블록을 생성할 수 있다.
예컨대, 상기 움직임 벡터 추정부(120)는 상기 인접한 매크로 블록 중 움직임 벡터를 가지고 있지 않은 블록에 대해, 16*16의 원본 블록을 부표본화하여 8*8의 부표본 블록을 생성할 수 있다. 물론, 상기 움직임 벡터 추정부(120)는 다른 매크로 블록에 대해서도 동일한 패턴과 비율에 따라 16*16의 원본 블록을 부표본화함으로써 8*8의 부표본 블록을 생성할 수 있다(도 3 및 도 4 참조).
상기 움직임 벡터 추정부(120)는 상기 생성된 부표본 블록 중 상기 움직임 벡터를 가지고 있지 않은 블록에 대응되는 블록을 이전 프레임에서 전역 탐색하여 움직임 벡터를 추정할 수 있다. 이때, 이전 프레임의 매크로 블록도 현재 프레임의 매크로 블록과 동일하게 부표본화 처리되어 있는 것이 바람직하다. 상기 움직임 벡터 추정부(120)는 상기 전역 탐색을 통해 추정된 움직임 벡터를 상기 초기 탐색 지점으로 선택할 수 있다.
따라서, 상기 움직임 벡터 추정부(120)는 상기 인접한 매크로 블록 중 적어도 하나의 움직임 벡터를 가지고 있는지 여부에 상관 없이, 상기 초기 탐색 지점에 기초하여 상기 처리 중인 서브 블록과 매칭되는 서브 블록을 상기 이전 프레임 내에서 탐색함으로써 상기 처리 중인 서브 블록의 움직임 벡터를 추정할 수 있다.
다른 실시예로서, 상기 움직임 벡터 추정부(120)는 상기 인접한 매크로 블록의 움직임 벡터를 이용하여 상기 처리 중인 서브 블록의 후보 움직임 벡터를 결정할 수 있다. 상기 움직임 벡터 추정부(120)는 상기 결정된 후보 움직임 벡터와 상기 인접한 매크로 블록의 움직임 벡터 사이의 거리에 기초하여 가중치를 산출할 수 있다.
여기서, 상기 움직임 벡터 추정부(120)는 상기 움직임 벡터 사이의 거리에 임의의 상수를 곱셈하여 상기 가중치를 산출할 수 있다. 예를 들어, 상기 임의의 상수는 0.025인 것이 바람직하다.
상기 움직임 벡터 추정부(120)는 상기 산출된 가중치에 기초하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정할 수 있다. 즉, 상기 움직임 벡터 추정부(120)는 상기 후보 움직임 벡터의 SAD(Sum of Absolute Difference) 값과 더불어 상기 거리에 따라 산출된 가중치까지 고려해서 상기 처리 중인 서브 블록의 움직임 벡터를 추정할 수 있다.
예를 들어, 상기 처리 중인 서브 블록에 대한 후보 움직임 벡터 B1, B2, B3의 SAD 값이 각각 '2', '3', '4'이고 가중치는 각각 '3'. '2', '1.2'라고 가정한다. 이러한 경우 상기 거리에 따른 가중치를 고려하지 않으면, 상기 움직임 벡터 추정부(120)는 SAD 값이 2에 해당하는 후보 움직임 벡터 B1을 상기 처리 중인 서브 블록의 움직임 벡터로 추정할 수 있다. 그러나, 본 발명의 일 실시예에서와 같이 상기 거리에 따른 가중치를 고려하면, 상기 후보 움직임 벡터 B1, B2, B3의 최종 값이 각각 '6', '6', '4.8'이 된다. 따라서, 상기 움직임 벡터 추정부(120)는 상기 최종 값이 '4.8'에 해당하는 후보 움직임 벡터 B3를 상기 처리 중인 서브 블록의 움직임 벡터로 추정할 수 있다.
이하에서는 상기 움직임 벡터 추정부(120)에 대해 도 3, 도 4 및 수학식 2를 참조하여 상세히 설명한다. 본 발명의 일 실시예에서 제안하는 프레임 보간 기법은 움직임 추정을 수행함에 있어서, 앞서 설명한 바와 같이 주변(인접) 움직임 벡터를 초기 탐색 지점으로 활용한다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 움직임 추정 시에 사용되는 주변 움직임 벡터의 예시도이다. 도 3에 도시된 바와 같이, 상기 움직임 벡터 추정부(120)는 처리 중인 블록(서브 블록)과 직접적으로 인접한 B2, B4, B5 블록의 움직임 벡터를 사용하며, 아직 움직임 벡터를 갖고 있지 않은 B5 블록에 대해서는 부표본화된 B′5의 움직임 벡터로 대체한다.
종래기술에 따르면 경계에 따라 분할을 최적화하지 못하였지만, 본 발발명의 일 실시예에 의하면 물체 경계에서 정확하게 움직임을 추정할 수 있을 뿐만 아니라 연산량을 확연히 감소시킬 수 있다.
도 4는 본 발명의 일 실시예에서 제안하는 움직임 추정에 사용되는 부표본 블록을 나타내는 예시도이다. 도 4에 도시된 바와 같이, 상기 움직임 벡터 추정부(120)는 부표본 블록의 움직임 벡터에 대해서는 전역 탐색을 통해 획득한다.
한편, 상기 움직임 벡터 추정부(120)는 처리 블록의 주변 움직임 벡터를 보다 효과적으로 고려하기 위해, 다음의 수학식 2를 통해 처리 블록(서브 블록)의 움직임 벡터 MV cur 를 결정한다.
[수학식 2]
여기서 CS는 후보 움직임 벡터 C의 집합이며, e(C)는 SAD(Sum of Absolute Difference)와 같은 정합 오차이다. 종래의 프레임 보간 기법들이 움직임 추정을 수행함에 있어 정합 오차만을 고려했다면, 본 발명의 일 실시예에서는 후보 움직임 벡터와 주변 움직임 벡터 사이의 거리 d i 까지 고려함으로써 보간 성능과 직결되는 움직임 추정의 정확도를 현저하게 향상시킬 수 있다. 도 3을 참조하여 수학식 2에 대하여 보다 구체적으로 설명하면, 도 3에서 처리 블록에 대한 인접 블록들은 처리 블록의 위쪽에 위치하는 B2 매크로블록에 포함된 서브 블록 2개, 처리 블록의 왼쪽에 위치하는 B4 매크로블록의 서브 블록 2개, 처리 블록의 오른쪽에 위치하는 B5 매크로 블록 등 총 5개인데, d i 는 인접 블록 5개에 대응되는 5개의 움직임 벡터로부터 처리 블록의 움직임 벡터까지의 5개의 거리를 나타내고, 그 5개의 거리를 합산한 합산 값에 거리 상수 λ를 곱한 후 다시 1을 합산함으로써 거리에 따른 가중치를 생성하고, 그 생성된 거리에 따른 가중치를 정합 오차 e(c)와 곱한 값이 최소가 되는 움직임 벡터를 처리 블록의 움직임 벡터로서 결정하게 된다.
상기 보간 프레임 생성부(130)는 상기 추정된 움직임 벡터, 상기 현재 프레임, 및 상기 현재 프레임의 이전 프레임을 이용하여 보간 프레임을 생성한다. 이때, 상기 보간 프레임 생성부(130)는 상기 보간 프레임의 공간 좌표를 결정하기 위해, 상기 현재 프레임과 이전 프레임의 픽셀 각각에 대한 공간 좌표와, 해당 픽셀에 대응하는 움직임 벡터의 공간 좌표를 이용할 수 있다.
구체적으로, 상기 보간 프레임 생성부(130)는 상기 매크로 블록 분할부(110) 및 상기 움직임 벡터 추정부(120)를 통해 분할된 서브블록들과 이에 대응하는 움직임 벡터들을 사용하여 수학식 3과 같이 최종 프레임 보간을 수행하게 된다.
[수학식 3]
여기서 F n -1, F n -0.5, F n 은 각각 이전, 보간, 현재 프레임을 나타내며, (x, y)는 픽셀의 공간 좌표를 나타낸다. 그리고 m x , m y 는 해당 픽셀에 대응하는 움직임 벡터의 x, y 성분이다.
상기 제어부(140)는 본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치(100), 즉 상기 매크로 블록 분할부(110), 상기 움직임 벡터 추정부(120), 상기 보간 프레임 생성부(130) 등의 동작을 전반적으로 제어할 수 있다.
도 5는 본 발명의 일 실시예에 따른 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법을 설명하기 위해 도시한 흐름도이다.
도 1 및 도 5를 참조하면, 단계(510)에서 상기 프레임 보간 장치(100)의 매크로 블록 분할부(110)는 현재 프레임의 매크로 블록 내 텍스쳐 정보의 차이에 기초하여 상기 매크로 블록의 분할선을 결정한다. 즉, 상기 프레임 보간 장치(100)의 매크로 블록 분할부(110)는 상기 복수의 서브 블록 간의 픽셀 차이값 및 픽셀 분산값에 기초하여 상기 매크로 블록의 분할선을 결정할 수 있다.
다음으로, 단계(520)에서 상기 프레임 보간 장치(100)의 매크로 블록 분할부(110)는 상기 결정된 분할선을 이용하여 상기 매크로 블록을 복수의 서브 블록으로 분할한다.
다음으로, 단계(530)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 분할된 서브 블록들 중 처리 중인 서브 블록에 대해, 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록에 대응되는 적어도 하나의 움직임 벡터를 이용하여, 상기 처리 중인 서브 블록의 움직임 벡터를 추정한다.
다음으로, 단계(540)에서 상기 프레임 보간 장치(100)의 보간 프레임 생성부(130)는 상기 추정된 움직임 벡터, 상기 현재 프레임, 및 상기 현재 프레임의 이전 프레임을 이용하여 보간 프레임을 생성한다.
도 6 및 도 7은 본 발명의 일 실시예에 따라 움직임 벡터를 추정하는 과정을 설명하기 위해 도시한 흐름도이다. 상기 움직임 벡터를 추정하는 과정은 도 5의 단계(530)에 해당하며, 본 실시예에서는 이에 대해 보다 구체적으로 설명한다.
도 1 및 도 6을 참조하면, 단계(610)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 인접한 매크로 블록의 움직임 벡터를 초기 탐색 지점으로 선택한다.
이때, 상기 인접한 매크로 블록 중에는 움직임 벡터를 가지고 있지 않은 블록이 있을 수 있다. 이러한 경우에 대해서는 아래와 같은 과정을 통해 해당 블록의 초기 탐색 지점을 선택할 수 있다.
도 1 및 도 7을 참조하면, 단계(710)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 현재 프레임의 매크로 블록 각각을 부표본화하여 부표본 블록을 생성한다.
이후, 단계(720)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 생성된 부표본 블록에 대응되는 부표본 블록을 이전 프레임에서 전역 탐색하여 움직임 벡터를 추정한다.
이후, 단계(730)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 전역 탐색을 통해 추정된 움직임 벡터를 상기 초기 탐색 지점으로 선택한다.
다시 도 1 및 도 6을 참조하면, 단계(620)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 선택된 초기 탐색 지점에 기초하여 상기 처리 중인 서브 블록과 매칭되는 서브 블록을 상기 이전 프레임 내에서 탐색한다.
다음으로, 단계(630)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 탐색된 서브 블록을 이용하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정한다.
도 8은 본 발명의 다른 실시예에 따라 움직임 벡터를 추정하는 과정을 설명하기 위해 도시한 흐름도이다. 상기 움직임 벡터를 추정하는 과정은 도 5의 단계(530)에 해당하며, 본 실시예에서는 이에 대해 보다 구체적으로 설명한다.
도 1 및 도 8을 참조하면, 단계(810)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 인접한 매크로 블록의 움직임 벡터를 이용하여 처리 중인 서브 블록의 후보 움직임 벡터를 결정한다.
다음으로, 단계(820)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 결정된 후보 움직임 벡터와 상기 인접한 매크로 블록의 움직임 벡터 사이의 거리에 기초하여 가중치를 산출한다.
다음으로, 단계(830)에서 상기 프레임 보간 장치(100)의 움직임 벡터 추정부(120)는 상기 산출된 가중치에 기초하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정한다.
도 9 및 도 10은 본 발명의 일 실시예에 따라 텍스쳐 정보에 기반하여 매크로 블록을 분할하는 과정을 기존 방식과의 비교를 통해 구체적으로 설명하기 위해 도시한 예시도이다.
도 9 및 도 10을 참조하면, 기존 코덱(Codec)의 경우 압축이 주 목적이기에, 각 분할 블록의 SAD 값이 최소가 되도록 분할한다. 이는 디코더로 전송되어야 할 레지듀얼 데이터(residual data)를 감소시키기에 코덱의 사용 목적에 있어서 좋은 방법이라 할 수 있다.
하지만, 프레임 보간(FI: Frame interpolation)의 경우 최소의 SAD 값을 갖도록 블록을 분할하는 것보다 블록 내부에서 움직이는 물체와 배경을 정확하게 분리하는 것이 더 중요하다. 이것은 FI의 경우 물체의 실제 움직임을 찾는 것이 매우 중요하고, 올바른 블록의 분할이 움직이는 물체의 실제 움직임 벡터를 찾는 데 큰 영향을 끼치기 때문이다.
도 10의 현재 프레임(n picture) 내 블록(910)을 도 9의 이전 프레임(n-1 picture)에서 찾는 경우, 종래기술에 따르면 움직이는 물체와 배경을 제대로 분리하지 못하기 때문에, 도 10의 현재 프레임 내 블록(910)에 대응되는 블록으로서 도 9의 이전 프레임 내의 블록(920)이 잘못 선택되는 문제가 발생할 수 있지만, 본 발명의 일 실시예에 따르면 블록 내 텍스쳐 정보를 이용한 배경과 물체 분할법(블록 내 텍스쳐 정보를 이용한 분할법, 블록 내 텍스쳐 정보 차이를 이용한 분할법)을 이용하여, 움직이는 물체와 배경을 제대로 분리하기 때문에 도 10의 현재 프레임 내 블록(910)에 대응되는 블록으로서 도 9의 블록(910)이 올바르게 선택된다.
도 11 및 도 12는 본 발명의 일 실시예에 따라 현재 처리 블록의 움직임 벡터를 추정하는 과정을 기존 방식과의 비교를 통해 구체적으로 설명하기 위해 도시한 예시도이다.
도 11 및 도 12를 참조하면, 프레임 보간(FI)의 경우, 블록(현재 처리 블록)의 실제 움직임은 주변 블록의 움직임과 유사하다는 점에 착안하여, 주변 블록의 움직임 벡터를 참조하여 현재 처리 블록의 움직임 벡터를 만들어 낸다. 기존 방식(예: 3DRS)의 경우, 이전 프레임(n-1 picture)의 움직임 벡터를 모두 저장해 놓고, 현재 블록을 둘러싼 블록들의 움직임 벡터를 후보군으로 두어 참조하게 된다. 이 경우, 이전 프레임의 모든 움직임 벡터를 저장해야 한다는 오버헤드(Overhead)를 가지게 되며, 메모리 사이즈가 커지게 된다. 또한, 도시된 바와 같이, 움직임이 빠른 물체의 경우 이전 프레임의 주위 블록들이 현재 블록과 같은 물체를 포함하고 있다고 보장할 수 없다.
따라서, 본 발명의 일 실시예에서는 움직임 벡터를 추정할 때 현재 프레임(n picture)의 움직임 벡터 후보군만(현재 처리 블록 기준 위, 아래, 우측)을 사용한다. 이는 이전 프레임의 움직임 벡터를 저장할 필요가 없기에 메모리 사이즈면에서 매우 우수한 장점을 가진다.
도 12에서, 블록(1220)의 움직임 벡터를 부표본화(Subsampling)를 통해 계산량을 감소시켜 우선 계산한 후, 현재 블록(1210)의 움직임 추정에 후보군으로 사용한다. 생성된 움직임 벡터 후보군들은 후에 초기 탐색 지점의 설정, 현재 블록의 움직임 벡터의 선택 기준으로 활용된다.
이와 같이, 본 발명의 일 실시예에서는 이전 프레임의 움직임 벡터를 저장하지 않아 메모리를 절약하면서도 적절하게 주변 물체 블록과의 연관성을 활용하는 방식을 채택함으로써, 물체 경계에서의 정확한 움직임 추정을 할 수 있으며, 또한 움직임 추정을 위한 연산량을 대폭적으로 감소시킬 수 있다.
[실시예]
본 실시예에서는 본 발명에 따른 효과를 검증하기 위해 종래의 프레임 보간 기술인 OB-MCI(Object-Based Motion-Compensated Interpolation), Dual ME(Dual Motion Estimation), PMVS(Prediction based Motion Vector Smoothing) 및 AOBMC(Adaptive Overlapped Block Motion Compensation) 등과 성능을 비교 분석하였으며, 그 결과는 다음의 표 1에 정리하였다.
실험 영상으로 CIF(352 × 288), 720p(1280 × 720), 1080p(1920 × 1080)가 사용되었으며, 영상의 홀수 프레임 50장을 삭제한 뒤 각 프레임 보간 기법으로 보간하였다. 기본 블록 사이즈는 16 × 16, 움직임 추정 범위는 ±16으로 설정하였다.
[표 1]
상기 표 1은 본 발명의 일 실시예에 따른 PSNR(Peak Signal-to-Noise Ratio)이 종래의 기술들보다 성능이 향상되었음을 보여준다. OB-MCI의 경우 다른 기술들에 비해 PSNR 성능이 상당히 떨어진다. 반면, AOBMC와 Dual ME, PMVS는 전술한 바와 같이 초기 움직임 벡터를 수정하거나, 움직임 추정을 반복 수행하여 OB-MCI에 비해 상대적으로 높은 PSNR 성능을 보였다.
그럼에도 불구하고, 본 발명의 일 실시예에 따른 프레임 보간 기술은 종래의 기술들에 비해 상당히 향상된 결과를 보여주었다. 특히, Football이나 Stefan과 같이 복잡한 움직임이 많은 실험 영상에 대해, 본 발명의 일 실시예에 따르면 최대 5.53dB까지 PSNR 성능이 향상되었음을 알 수 있다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
110: 매크로 블록 분할부
120: 움직임 벡터 추정부
130: 보간 프레임 생성부
140: 제어부
120: 움직임 벡터 추정부
130: 보간 프레임 생성부
140: 제어부
Claims (19)
- 현재 프레임의 매크로 블록 내 텍스쳐 정보의 차이에 기초하여 상기 매크로 블록의 분할선을 결정하고, 상기 결정된 분할선을 이용하여 상기 매크로 블록을 복수의 서브 블록으로 분할하는 매크로 블록 분할부;
상기 분할된 서브 블록들 중 처리 중인 서브 블록에 대해, 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록에 대응되는 적어도 하나의 움직임 벡터를 이용하여, 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 움직임 벡터 추정부; 및
상기 추정된 움직임 벡터, 상기 현재 프레임, 및 상기 현재 프레임의 이전 프레임을 이용하여 보간 프레임을 생성하는 보간 프레임 생성부를 포함하고,
상기 복수의 서브 블록은 임의의 모양과 크기를 가지는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제1항에 있어서,
상기 매크로 블록 분할부는
상기 복수의 서브 블록 간의 픽셀 차이값 및 픽셀 분산값에 기초하여 상기 매크로 블록의 분할선을 결정하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제2항에 있어서,
상기 매크로 블록 분할부는
상기 매크로 블록의 중심점을 기준으로, 상기 복수의 서브 블록 간의 픽셀 평균값의 차이가 가장 크면서, 상기 복수의 서브 블록 간의 픽셀 분산값의 합이 가장 작은 경우에 해당하는 각도 및 거리를 산출하고, 상기 산출된 각도 및 거리를 이용하여 상기 매크로 블록의 분할선을 결정하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제2항에 있어서,
상기 매크로 블록 분할부는
상기 픽셀 차이값 대비 상기 픽셀 분산값이 미리 설정된 임계치 이하로 떨어지는 것을 방지하기 위한 안정화 상수에 더 기초하여 상기 매크로 블록의 분할선을 결정하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제1항에 있어서,
상기 움직임 벡터 추정부는
상기 인접한 매크로 블록의 적어도 하나의 움직임 벡터를 초기 탐색 지점으로 선택하고, 상기 선택된 초기 탐색 지점에 기초하여 상기 처리 중인 서브 블록과 매칭되는 서브 블록을 상기 이전 프레임 내에서 탐색하며, 상기 탐색된 서브 블록을 이용하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제5항에 있어서,
상기 움직임 벡터 추정부는
상기 인접한 매크로 블록 중 움직임 벡터를 가지고 있지 않은 블록이 있는 경우, 상기 현재 프레임의 매크로 블록 각각을 부표본화하여 부표본 블록을 생성하고, 상기 생성된 부표본 블록에 대응되는 부표본 블록을 상기 이전 프레임에서 전역 탐색하여 움직임 벡터를 추정하며, 상기 전역 탐색을 통해 추정된 움직임 벡터를 상기 초기 탐색 지점으로 선택하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제6항에 있어서,
상기 움직임 벡터 추정부는
상기 현재 프레임의 매크로 블록 각각에 대해, 미리 설정된 분류 패턴에 따라 사용 픽셀과 미사용 픽셀로 분류하고, 상기 미사용 픽셀을 제거한 나머지 상기 사용 픽셀의 조합을 통해, 상기 분류 패턴에 따른 비율로 상기 부표본 블록을 생성하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제1항에 있어서,
상기 움직임 벡터 추정부는
상기 인접한 매크로 블록의 움직임 벡터를 이용하여 상기 처리 중인 서브 블록의 후보 움직임 벡터를 결정하고, 상기 결정된 후보 움직임 벡터와 상기 인접한 매크로 블록의 움직임 벡터 사이의 거리에 기초하여 가중치를 산출하며, 상기 산출된 가중치에 기초하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제8항에 있어서,
상기 움직임 벡터 추정부는
상기 움직임 벡터 사이의 거리에 임의의 상수를 곱셈하여 상기 가중치를 산출하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제9항에 있어서,
상기 임의의 상수는
0.025인 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 제1항에 있어서,
상기 인접한 매크로 블록은
상기 처리 중인 서브 블록을 포함하는 매크로 블록과 위쪽, 왼쪽, 오른쪽 방향으로 인접한 매크로 블록인 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치.
- 프레임 보간 장치의 매크로 블록 분할부에서, 현재 프레임의 매크로 블록 내 텍스쳐 정보의 차이에 기초하여 상기 매크로 블록의 분할선을 결정하는 단계;
상기 매크로 블록 분할부에서, 상기 결정된 분할선을 이용하여 상기 매크로 블록을 복수의 서브 블록으로 분할하는 단계;
상기 프레임 보간 장치의 움직임 벡터 추정부에서, 상기 분할된 서브 블록들 중 처리 중인 서브 블록에 대해, 상기 처리 중인 서브 블록을 포함하는 매크로 블록과 인접한 매크로 블록에 대응되는 적어도 하나의 움직임 벡터를 이용하여, 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 단계; 및
상기 프레임 보간 장치의 보간 프레임 생성부에서, 상기 추정된 움직임 벡터, 상기 현재 프레임, 및 상기 현재 프레임의 이전 프레임을 이용하여 보간 프레임을 생성하는 단계를 포함하고,
상기 복수의 서브 블록은 임의의 모양과 크기를 가지는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
- 제12항에 있어서,
상기 분할선을 결정하는 단계는
상기 복수의 서브 블록 간의 픽셀 차이값 및 픽셀 분산값에 기초하여 상기 매크로 블록의 분할선을 결정하는 단계
를 포함하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
- 제13항에 있어서,
상기 분할선을 결정하는 단계는
상기 매크로 블록의 중심점을 기준으로, 상기 복수의 서브 블록 간의 픽셀 평균값의 차이가 가장 크면서, 상기 복수의 서브 블록 간의 픽셀 분산값의 합이 가장 작은 경우에 해당하는 각도 및 거리를 산출하는 단계; 및
상기 산출된 각도 및 거리를 이용하여 상기 매크로 블록의 분할선을 결정하는 단계
를 포함하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
- 제13항에 있어서,
상기 분할선을 결정하는 단계는
상기 픽셀 차이값 대비 상기 픽셀 분산값이 미리 설정된 임계치 이하로 떨어지는 것을 방지하기 위한 안정화 상수에 더 기초하여 상기 매크로 블록의 분할선을 결정하는 단계
를 포함하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
- 제12항에 있어서,
상기 움직임 벡터를 추정하는 단계는
상기 인접한 매크로 블록의 적어도 하나의 움직임 벡터를 초기 탐색 지점으로 선택하는 단계;
상기 선택된 초기 탐색 지점에 기초하여 상기 처리 중인 서브 블록과 매칭되는 서브 블록을 상기 이전 프레임 내에서 탐색하는 단계; 및
상기 탐색된 서브 블록을 이용하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 단계
를 포함하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
- 제16항에 있어서,
상기 움직임 벡터를 추정하는 단계는
상기 인접한 매크로 블록 중 움직임 벡터를 가지고 있지 않은 블록이 있는 경우, 상기 현재 프레임의 매크로 블록 각각을 부표본화하여 부표본 블록을 생성하는 단계;
상기 생성된 부표본 블록에 대응되는 부표본 블록을 상기 이전 프레임에서 전역 탐색하여 움직임 벡터를 추정하는 단계; 및
상기 전역 탐색을 통해 추정된 움직임 벡터를 상기 초기 탐색 지점으로 선택하는 단계
를 더 포함하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
- 제17항에 있어서,
상기 부표본 블록을 생성하는 단계는
상기 현재 프레임의 매크로 블록 각각에 대해, 미리 설정된 분류 패턴에 따라 사용 픽셀과 미사용 픽셀로 분류하는 단계;
상기 미사용 픽셀을 제거한 나머지 상기 사용 픽셀의 조합을 통해, 상기 분류 패턴에 따른 비율로 상기 부표본 블록을 생성하는 단계
를 포함하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
- 제12항에 있어서,
상기 움직임 벡터를 추정하는 단계는
상기 인접한 매크로 블록의 움직임 벡터를 이용하여 상기 처리 중인 서브 블록의 후보 움직임 벡터를 결정하는 단계;
상기 결정된 후보 움직임 벡터와 상기 인접한 매크로 블록의 움직임 벡터 사이의 거리에 기초하여 가중치를 산출하는 단계; 및
상기 산출된 가중치에 기초하여 상기 처리 중인 서브 블록의 움직임 벡터를 추정하는 단계
를 포함하는 것을 특징으로 하는 텍스쳐 기반 블록 분할을 이용한 프레임 보간 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140041125A KR101541077B1 (ko) | 2014-04-07 | 2014-04-07 | 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140041125A KR101541077B1 (ko) | 2014-04-07 | 2014-04-07 | 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101541077B1 true KR101541077B1 (ko) | 2015-07-31 |
Family
ID=53877403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140041125A KR101541077B1 (ko) | 2014-04-07 | 2014-04-07 | 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101541077B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017135692A1 (ko) * | 2016-02-02 | 2017-08-10 | 엘지전자(주) | 픽셀 순환 코딩과 변환 코딩의 결합에 기초하여 비디오 신호를 처리하는 방법 및 장치 |
CN107071421A (zh) * | 2017-05-23 | 2017-08-18 | 北京理工大学 | 一种结合视频稳定的视频编码方法 |
WO2023085600A1 (ko) * | 2021-11-10 | 2023-05-19 | 현대자동차주식회사 | 암시적 임의 블록분할 및 이에 따른 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090037716A (ko) * | 2007-10-12 | 2009-04-16 | 삼성전자주식회사 | 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. |
JP2012147336A (ja) * | 2011-01-13 | 2012-08-02 | Canon Inc | 画像処理装置および画像処理方法 |
JP2013137587A (ja) * | 2011-12-27 | 2013-07-11 | Toshiba Corp | 画像処理装置及び画像処理方法 |
JP2013165487A (ja) * | 2012-01-11 | 2013-08-22 | Panasonic Corp | 画像処理装置、撮像装置、およびプログラム |
-
2014
- 2014-04-07 KR KR1020140041125A patent/KR101541077B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090037716A (ko) * | 2007-10-12 | 2009-04-16 | 삼성전자주식회사 | 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. |
JP2012147336A (ja) * | 2011-01-13 | 2012-08-02 | Canon Inc | 画像処理装置および画像処理方法 |
JP2013137587A (ja) * | 2011-12-27 | 2013-07-11 | Toshiba Corp | 画像処理装置及び画像処理方法 |
JP2013165487A (ja) * | 2012-01-11 | 2013-08-22 | Panasonic Corp | 画像処理装置、撮像装置、およびプログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017135692A1 (ko) * | 2016-02-02 | 2017-08-10 | 엘지전자(주) | 픽셀 순환 코딩과 변환 코딩의 결합에 기초하여 비디오 신호를 처리하는 방법 및 장치 |
US10785499B2 (en) | 2016-02-02 | 2020-09-22 | Lg Electronics Inc. | Method and apparatus for processing video signal on basis of combination of pixel recursive coding and transform coding |
CN107071421A (zh) * | 2017-05-23 | 2017-08-18 | 北京理工大学 | 一种结合视频稳定的视频编码方法 |
CN107071421B (zh) * | 2017-05-23 | 2019-11-22 | 北京理工大学 | 一种结合视频稳定的视频编码方法 |
WO2023085600A1 (ko) * | 2021-11-10 | 2023-05-19 | 현대자동차주식회사 | 암시적 임의 블록분할 및 이에 따른 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI727338B (zh) | 用信號通知的運動向量精度 | |
TWI729402B (zh) | 加權交織預測 | |
TW202021356A (zh) | 高效的仿射Merge運動向量推導 | |
CN110249628B (zh) | 用于预测分区的视频编码器和解码器 | |
JP7541155B2 (ja) | 動きベクトルの精緻化のための制限されたメモリアクセスウィンドウ | |
US8736767B2 (en) | Efficient motion vector field estimation | |
US11070834B2 (en) | Low-complexity method for generating synthetic reference frames in video coding | |
CN111698509B (zh) | 一种编解码方法、装置及其设备 | |
TWI705696B (zh) | 交織預測的改善 | |
CN111886870A (zh) | 使用整数像素分辨率的运动矢量修正搜索 | |
CN110933426B (zh) | 一种解码、编码方法及其设备 | |
US20110050993A1 (en) | Motion estimating method and image processing apparatus | |
CN111567047A (zh) | 进行子预测块运动矢量推导的存储器访问窗口 | |
KR101541077B1 (ko) | 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 | |
CN110719489A (zh) | 运动矢量修正、预测、编码方法、编码器及存储装置 | |
CN110557639B (zh) | 交织预测的应用 | |
KR20120066309A (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
KR102032793B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
Ashwin et al. | Study of the contemporary motion estimation techniques for video coding | |
TWI850252B (zh) | 部分交織的預測 | |
CN112055207A (zh) | 时域运动矢量预测方法、设备及存储介质 | |
KR20190117461A (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
KR101021538B1 (ko) | H.264 인코딩 시 고속 인트라 모드 결정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180704 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190702 Year of fee payment: 5 |