KR20110074260A - 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치 - Google Patents

고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치 Download PDF

Info

Publication number
KR20110074260A
KR20110074260A KR20090131173A KR20090131173A KR20110074260A KR 20110074260 A KR20110074260 A KR 20110074260A KR 20090131173 A KR20090131173 A KR 20090131173A KR 20090131173 A KR20090131173 A KR 20090131173A KR 20110074260 A KR20110074260 A KR 20110074260A
Authority
KR
South Korea
Prior art keywords
block
motion vector
current block
motion
motion vectors
Prior art date
Application number
KR20090131173A
Other languages
English (en)
Other versions
KR101610028B1 (ko
Inventor
정제창
진순종
박상준
이혁
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020090131173A priority Critical patent/KR101610028B1/ko
Publication of KR20110074260A publication Critical patent/KR20110074260A/ko
Application granted granted Critical
Publication of KR101610028B1 publication Critical patent/KR101610028B1/ko

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 비디오 인코딩에 사용되는, 프레임간 시간적 중복성을 제거하는 모션 추정 과정에 있어서 연산량을 감소시키는 기술에 관한 것이다. 본 발명에 따른 고속 모션 추정 장치는, 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성하는 후보 벡터 생성부와, 상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 초기치 결정부와, 상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 모션 추정부로 이루어진다.
모션 추정, 매크로블록, 탐색 초기치, 후보 모션 벡터, 예측 모션 벡터, 썸놈(sum norm), SAD

Description

고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치{Method and apparatus for fast motion estimation and video encoding apparatus using the same}
본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는, 비디오 인코딩에 사용되는, 프레임간 시간적 중복성을 제거하는 모션 추정 과정에 있어서 연산량을 감소시키는 기술에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송 시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복 이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다.
이러한 동영상 압축 기법의 표준화를 위하여, MPEG(Moving Picture Experts Group)-2, MPEG-4, H.264 등 다양한 비디오 코딩 표준들이 등장하고 있다. 도 1에 도시된 바와 같이, 모든 비디오 코딩 기술들은 인접한 비디오 프레임들 간의 시간적 중복성을 제거하기 위하여 블록 모션 추정(block motion estimation)이라는 기법을 채택하고 있다.
예를 들어, 현재 프레임(10) 내의 어떤 블록(12)을 부호화하기 위해서는, 현재 프레임(10)과 다른 시간적 위치에 있는 참조 프레임(15)에서 상기 블록(12)과 매칭되는 블록(17)을 찾는다. 이 후, 현재 프레임(10)의 블록(12)과 참조 프레임(15)의 블록(17) 간의 차분(residual)를 구한 후, 이 차분을 부호화함으로써 부호화 효율을 높이는 것이다. 여기서, 블록들 간의 변위는 모션 벡터로서 표시되며, 모션 벡터에 의하여 참조 프레임(15)에 관한 모션 보상이 이루어진다.
이와 같이, 현재 블록(12)에 대한 모션 벡터를 구하는 모션 추정 과정은 전체 비디오 인코딩 과정에서 소요되는 연산량의 상당한 부분을 차지한다. 특히, 최근의 비디오 코딩 표준인 H.264는 인터 프레임 코딩에 있어서, 4x4에서 16x16에 이르는 가변 블록 크기를 채용하고 있다. 이는 고정된 크기의 매크로블록(MB)을 코딩하는 종래의 기법에 비하여 코딩 효율에 있어서 상당한 향상을 보여주지만, 모션 벡터를 찾는 과정은 각각의 가변 블록 크기의 블록에 대하여 모두 수행되어야 하기 때문에 연산량이 매우 증가하는 단점이 있다. 이와 같은 연산량 증가는 실시간 방송, 실시간 화상 회의 등과 같이 인코더와 디코더 간의 시간차를 줄일 필요가 있는 어플리케이션에서는 특히 문제가 될 수 있다.
따라서, 모션 추정 과정에 있어서, 연산량을 감소시켜 고속 모션 추정을 제공하기 위한 많은 연구들이 이루어지고 있다. 이러한 연구들의 일환으로 조기 중단 기법, 계층적 탐색 방식 또는 블록 모드 스킵 방법 등이 알려져 있다. 본 발명은 이러한 고속 모션 추정 기법들 중에서도, 특히, 모션 추정시 연산량에 큰 영향을 미치는 탐색 초기치를 보다 정확히 결정하는 방법을 제공하고자 한다.
도 2는 탐색 초기치(탐색 초기 위치)를 기준으로 모션 벡터를 탐색하는 개념을 보여주는 도면이다. 일반적으로, 모션 추정은 소정의 탐색 영역(22) 내에서 픽셀 또는 서브 픽셀 단위로 이동하면서 현재 블록(현재 모션 벡터를 찾고자 하는 블록)과 가장 잘 매칭되는 참조 프레임(20)에서의 영역을 찾는 과정이다. 이 때 상기 현재 블록과 상기 찾은 영역 사이의 변위가 바로 현재 블록의 모션 벡터가 된다.
그런데, 만약 모션 추정을 수행하기 이전에 현재 블록에 대한 예측 모션 벡터(predicted motion vector)를 알 수 있다면, 상기 블록의 위치(26)에서 상기 예측 모션 벡터가 가리키는 지점(24)을 탐색 초기치로 하여 모션 추정을 수행함으로써 모션 추정의 연산량을 감소시킬 수 있을 것이다. 이는 최종적으로 결정되는 모션 벡터가 상기 예측 모션 벡터와 차이가 작을 것이라는 예측에 기초한다. 그런데, 상기 예측 모션 벡터가 탐색 초기치와 차이가 커진다면 이는 모션 추정시 연산량이 급격히 증가하는 결과를 초래하게 된다. 따라서, 고속 모션 추정을 달성하기 위해서는 이러한 탐색 초기치를 보다 정확하게 결정하는 것이 매우 중요하다고 볼 수 있다.
도 3은 모션 벡터를 결정해야 할 현재 블록과 이미 모션 벡터가 결정되어 있는 주변 블록들 간의 관계를 보여주는 도면이다. 일반적인 모션 추정의 순서에 따르면, 상기 현재 블록 주변에 위치한 블록들 중에서 이미 모션 벡터가 결정된 블록은 좌측 블록(Left), 상측 블록(Upper) 및 우상측 블록(UpperRight)이다. 종래의 비디오 코딩 표준들에 있어서, 현재 블록의 예측 모션 벡터는 상기 세 개의 주변 블록들의 모션 벡터들의 메디안 연산을 통하여 계산된다. 이러한 메디안 연산은 다음의 수학식 1에서 보여지는 바와 같다.
Figure 112009080346251-PAT00001
이러한 메디안 연산은 노이즈에 강인하다는 이유로 가장 좋은 예측치로 이용되고 있는 것이다. 그러나, 이러한 메디안 연산에 의해 예측 모션 벡터를 구하는 것이 현재로서는 가장 무난한 방법이라고 생각되기는 하지만, 항상 최적의 결과를 보여주는 것은 아니다. 예를 들면, 영상에 따라서는 좌측 블록이 현재 블록과 가장 유사한 움직임을 가지고, 상측 블록과 우상측 블록은 현재 블록과 전혀 다른 움직임을 갖는다면, 메디안 연산을 통하여 얻은 결과는 이러한 상황에서는 결코 좋은 예측 결과를 보여줄 수 없다. 이외에도 다양한 영상에서 발생되는 다양한 움직임 패턴들이 메디안 연산에 의하여 충분한 예측이 될 수 없다는 점은 충분히 생각할 수 있다. 물론, 이와 같이 탐색 초기치의 예측이 다소 틀리다고 하더라도 최적의 모션 벡터를 찾은 결과는 동일하겠지만, 이러한 같은 결과를 얻기 위하여 소요되는 연산량은 매우 큰 차이가 나게 된다.
본 발명은 상기한 문제점을 감안하여 창안된 것으로, 모션 추정시의 탐색 초기치를 보다 정확하게 설정함으로써, 모션 추정에 있어서의 연산량을 감소시키는 것을 목적으로 한다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 고속 모션 추정 장치는, 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성하는 후보 벡터 생성부; 상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 초기치 결정부; 및 상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 모션 추정부를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 비디오 인코딩 장치는, 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성하는 후보 벡터 생성부; 상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 초기치 결정부; 및 상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 모션 추정부; 상기 입력 프레임에서, 상기 구한 모션 벡터에 의해 참조 프레임을 보상한 모션 보상 프레임을 차분하여 잔차 프레임을 얻는 차분기; 및 상기 잔차 프레임을 부호화하는 수단을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 고속 모션 추정 방법은, 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성하는 단계; 상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 단계; 및 상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 단계를 포함한다.
본 발명에 따르면 종래의 고속 모션 추정 기법에 비하여, 모션 추정의 에러를 크게 발생시키지 않으면서도 연산량을 상당히 감소시킬 수 있는 효과가 있다. 따라서, 종래의 고속 모션 추정 기법에서 발생될 수 있는 복원된 영상의 화질 저하를 방지하는 효과도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발 명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 4는 본 발명의 일 실시예에 따른 모션 추정 방법을 구현하는 비디오 인코딩 장치(100)의 구성을 도시한 블록도이다.
비디오 인코딩 장치(100)는 블록 분할부(110), 후보 벡터 생성부(130), 초기치 결정부(140), 모션 추정부(150), 모션 보상부(160), 차분기(165), 공간적 변환부(170), 양자화부(180) 및 엔트로피 부호화부(190)를 포함하여 구성될 수 있다.
블록 분할부(110)는 입력 프레임을 모션 벡터의 할당 단위인 블록, 즉 매크로블록 또는 서브 매크로블록의 크기로 분할한다. 상기 매크로블록은 16x16의 픽셀 크기를 갖는 블록(16x16 블록)이고, 상기 서브 매크로블록은 그 보다 작은 크기의 블록이다. H.264에서 상기 서브 매크로블록에는 16x8 블록, 8x16 블록 및 8x8 블록이 존재하며, 상기 8x8 블록은 다시 8x4 블록, 4x8 블록 및 4x4 블록으로 나뉘어질 수 있다.
본 발명의 일 실시예에 있어서, 블록 분할부(110)는 모션 추정을 위한 대상으로서, 상기 H.264 표준에서와 같이 계층적 구조의 블록들로 분할 수도 있고, 고정된 크기의 블록(예: 16x16, 8x8, 4x4)들로 분할할 수도 있다. 이하, 본 명세서에서, 모션 추정, 즉 모션 벡터를 구할 대상이 되는 블록을 현재 블록으로, 상기 현 재 블록이 속하는 프레임을 현재 프레임으로, 상기 현재 블록의 모션 추정에 있어서 참조되는 프레임을 참조 프레임으로 각각 정의하기로 한다.
후보 벡터 생성부(130)는 상기 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터를 이용하여 얻어지는 적어도 둘 이상의 후보 모션 벡터(candidate motion vector; cMV)를 생성하여, 생성된 복수의 후보 모션 벡터를 초기치 결정부(140)에 제공한다. 예를 들면, 상기 후보 모션 벡터는 도 3에 도시된 주변 블록들(Left, Upper, UpperRight) 자체와, 이들의 평균값과, 이들의 메디안, 그리고 제로 벡터(모션이 없음을 의미함)를 포함하여, 다음의 수학식 2와 같이 표현될 수 있다.
Figure 112009080346251-PAT00002
물론, 상기 메디안은 전술한 수학식 1로부터 계산될 수 있고, 상기 평균값은 다음의 수학식 3으로부터 계산될 수 있을 것이다.
Figure 112009080346251-PAT00003
초기치 결정부(140)는 후보 벡터 생성부(130)에서 제공되는 복수의 후보 모션 벡터들 중에서 최적인 하나를 선택한다. 초기치 결정부(130)가 복수의 후보 모션 벡터 중에서 하나를 선택하는 기준은, 물론 실제로 구하고자 하는 현재 블록의 모션 벡터와 가장 유사한 예측치를 구하는 것이 될 것이다. 이러한 선택의 기준으로는 여러 가지를 생각할 수 있겠으나, 본 발명에서는 바람직한 실시예로서, 적절 한 레벨의 썸놈(sum norm)을 사용하고자 한다. 썸놈이란 특정 레벨의 픽셀 크기를 갖는 블록 내에서 모든 픽셀 값들의 합(또는 평균을 사용하여도 됨)을 의미한다. 상기 레벨이 높을 수록 블록의 크기는 작아지게 되는데, 상기 레벨(n)은 블록의 크기(S)와는 다음의 수학식 4와 같은 관계를 갖는다.
Figure 112009080346251-PAT00004
따라서, 레벨이 증가할수록 썸놈을 계산할 블록의 크기는 작아진다. 예를 들면, 레벨(n)이 4인 경우에는 SAD(Sum of Absolute Difference)를 구하는 것이 될 것이다. 본 발명에서는, 일 예로서, 상기 레벨(n)이 2인 경우, 즉 썸놈을 계산하는 블록의 크기가 4x4인 경우를 사용할 것이다. 상기 블록의 크기를 4x4로 선택한 것은 H.264의 경우 모션 추정을 수행하는 최소 단위라는 점이 고려된 것이다.
도 5는 본 발명의 일 실시예에 따라, 초기치 결정부(130)가 각각의 후보 모션 벡터에 대하여 썸놈을 계산하는 방법을 보여주는 도면이다. 예를 들어, 매크로블록(40)에 속하는 현재 블록(42)에 대하여, 예측 모션 벡터를 구하는 과정을 살펴보면 다음과 같다.
i번째 후보 모션 벡터(cMVi)에 의하여 현재 블록(42)은 참조 프레임상의 대응 블록(47)과 대응된다. 상기 현재 블록(42)이 매크로블록(40)에 포함되어 있는 것과 대응되는 형태로, 상기 대응 블록(47)도 가상의 매크로블록(45)에 포함된 것으로 생각할 수 있다. 이 때, 매크로블록은 16x16의 크기를 가지므로, 하나의 매크 로블록은 총 16개의 4x4 블록을 포함할 수 있다. 초기치 결정부(130)는 매크로블록들(40, 45) 각각에 포함된 16개의 블록들에 관한 썸놈(블록 내부의 픽셀 값들의 합)을 계산한다. 도 5에서, 매크로블록(40)의 썸놈은 Ck(k=1~16)으로 표시되고, 매크로블록(45)의 썸놈은 Rki(k=1~16)로 표시되어 있다.
초기치 결정부(130)는 다음의 수학식 5에 따라 예측 모션 벡터(MVpred)를 계산할 수 있다.
Figure 112009080346251-PAT00005
수학식 5에서 보면, 초기치 결정부(130)는 썸놈 차이(sum norm difference), 즉,
Figure 112009080346251-PAT00006
의 합이 최소가 되는 인덱스(i)를 구하는 과정으로, 최적의 예측 모션 벡터(MVpred)를 선택한다. 종래의 H.264에서와 같이 일률적으로 메디안에 의하여 예측 모션 벡터를 결정하는 방식에 비하면, 이러한 썸놈에 의하여 후보를 선택하는 과정에 의하여 다소간의 연산량의 증가가 발생할 수 있다. 그러나, 이러한 썸놈의 계산 방식은 모션 추정에 있어서의 픽셀 단위 또는 서브 픽셀 단위의 모션 추정(즉, 각각의 위치에서의 SAD 계산)의 연산량에 비하면 미미한 연산량이라고 볼 수 있다. 즉, 이러한 방식으로 모션 추정에 있어서 보다 정확한 탐색 초기치를 결정하게 되면, 그에 의하여 절감되는 연산량이 훨씬 클 것이다.
초기치 결정부(130)는 이러한 과정을 결정된 후보 모션 벡터(cMVi), 즉 예측 모션 벡터(MVpred)를 모션 추정을 위한 탐색 초기치로서 모션 추정부(150)에 제공한다.
모션 추정부(150)는 상기 제공된 예측 모션 벡터를 탐색 초기치(24)로 하여 모션 추정을 수행한다. 구체적으로, 모션 추정부(150)는, 탐색 영역(도 2의 22) 내를 이동(픽셀 단위 또는 서브 픽셀 단위로)하면서 현재 블록과 가장 잘 매칭되는 참조 프레임상의 영역을 찾고, 상기 매칭이 발생하는 경우에 현재 블록과 상기 영역간의 변위를 상기 현재 블록의 모션 벡터(MV)로 결정한다. 상기 매칭의 판단기준으로는 현재 블록과 상기 영역간의 에러를 나타내는 SAD(sum of difference)나, 실제 코딩 결과까지 고려한 R-D 비용(rate-distortion cost)이 사용될 수 있다. 물론, 이와 같이 구해진 현재 블록의 모션 벡터(MV)는, 후보 벡터 생성부(130)에서 다음 블록에 대한 후보 모션 벡터를 생성하는 데에 사용될 수 있을 것이다.
모션 보상부(160)는 모션 추정부(150)로부터 제공되는, 블록들에 대한 모션 벡터들을 이용하여 참조 프레임에 대하여 모션 보상을 수행함으로써 모션 보상 프레임(motion compensated frame)을 얻는다.
또한, 차분기(165)는 상기 입력 프레임에서, 상기 모션 벡터에 의해 참조 프레임을 보상한 모션 보상 프레임을 차분하여 잔차 프레임(residual frame)을 얻는다. 본 발명의 일 실시예에 있어서, 상기 잔차 프레임을 부호화하는 수단으로는 공간적 변환부(170), 양자화부(180) 및 엔트로피 부호화부(190)가 사용된다.
공간적 변환부(170)는 소정의 공간적 변환법을 이용하여, 상기 잔차 프레임을 주파수 도메인으로 변환한다. 이러한 공간적 변환법으로는 주로 DCT(Discrete Cosine Transform)가 사용되며, 때로는 웨이브렛 변환(wavelet transform)이 사용되기도 한다. 공간적 변환 결과 구해지는 계수들을 변환 계수라고 하는데, 공간적 변환으로 DCT를 사용하는 경우 DCT 계수라고 하고, 웨이브렛 변환을 사용하는 경우 웨이브렛 계수라고 한다.
양자화부(180)는 공간적 변환부(170)에서 구한 변환 계수를 양자화한다. 양자화(quantization)란 임의의 실수 값으로 표현되는 상기 변환 계수를 일정 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 소정의 인덱스로 매칭(matching)시키는 과정을 의미한다. 특히, 공간적 변환 방법으로 웨이브렛 변환을 이용하는 경우에는 양자화 방법으로서 임베디드 양자화(embedded quantization)가 이용되기도 한다.
엔트로피 부호화부(190)는 양자화부(180)에 의하여 양자화된 변환 계수와, 모션 추정부(150)에 의하여 제공되는 모션 벡터를 무손실 부호화하여 출력 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 허프만 부호화 등이 있다.
지금까지 도 4의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소 에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 고속 모션 추정 방법을 구체적으로 도시하는 흐름도이다.
먼저, 블록 분할부(110)는 상기 입력 프레임을 복수의 블록들로 분할한다(S41).
후보 벡터 생성부(130)는 상기 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성한다(S42).
상기 인접한 주변 블록이란, 현재 블록 이전에 모션 추정이 완료된 블록들 중에서 현재 블록에 인접한 블록을 의미한다. 상기 주변 블록은, 예를 들면, 도 3에 도시된 바와 같이 상기 현재 블록의 좌측의 블록, 상측의 블록 및 우상측의 블록을 포함한다.
또한, 상기 복수의 후보 모션 벡터는 상기 좌측의 블록, 상측의 블록 및 우상측의 블록이 갖는 모션 벡터들, 상기 모션 벡터들의 메디안 값, 상기 모션 벡터들의 평균 값 및 제로(zero) 벡터 중에서 적어도 2이상의 포함한다. 바람직하게는, 이들 6개의 후보 모션 벡터들 모두가 사용되는 것이 좋다.
그 다음, 초기치 결정부(140)는 상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터, 즉 탐색 초기치로 선정한다(S43). 이 때, 상기 초기치 결정부(140)는, 상기 복수의 후보 모션 벡터에 의하여, 상기 현재 블록이 속하는 영역과 대응되는 상기 참조 프레임 상의 영역과, 상기 현재 블록이 속 하는 영역 간의 썸놈(sum norm)의 차이에 기초하여, 상기 예측 모션 벡터를 선택할 수 있다.
상기 썸놈이라고 함은, 상기 현재 블록이 속하는 영역과, 상기 참조 프레임 상의 영역을 각각 소정의 크기(예: 4x4 픽셀 크기)로 분할한 블록에 포함되는 픽셀들의 합 또는 평균을 의미한다. 구체적으로, 초기치 결정부(140)는 수학식 5에 기재된 바와 같이, 현재 블록이 속하는 영역(또는 매크로블록)과, 상기 대응되는 참조 프레임 상의 영역(또는 가상의 매크로블록)들 내에서, 썸놈의 차이의 합을 최소로 만드는 후보 모션 벡터를 상기 예측 모션 벡터로 선택한다.
그 다음, 모션 추정부(150)는 상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 모션 추정 과정을 수행한다(S44).
만약, 현재 프레임의 모든 블록에 대하여 모션 벡터가 구해지면(S45), 전체 모션 추정 과정은 종료되지만, 그렇지 않으면(S46), 상기 현재 블록에 대한 다음 순위 블록이 선택되고(S46) 이에 대하여 S42 내지 S44가 반복된다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
도 1은 블록 모션 추정 기법을 사용하는 인터 프레임 코딩의 기본 개념을 보여주는 도면이다.
도 2는 탐색 초기치를 기준으로 모션 벡터를 탐색하는 개념을 보여주는 도면이다.
도 3은 모션 벡터를 결정해야 할 현재 블록과 이미 모션 벡터가 결정되어 있는 주변 블록들 간의 관계를 보여주는 도면.
도 4는 본 발명의 일 실시예에 따른 모션 추정 방법을 구현하는 비디오 인코딩 장치(100)의 구성을 도시한 블록도.
도 5는 본 발명의 일 실시예에 따라, 각각의 후보 모션 벡터에 대하여 썸놈을 계산하는 방법을 보여주는 도면.
도 6은 본 발명의 일 실시예에 따른 모션추정 방법을 구체적으로 도시하는 흐름도.
(도면의 주요부분에 대한 부호 설명)
100: 비디오 인코딩 장치 110: 블록 분할부
130: 후보 벡터 생성부 140: 초기치 결정부
150: 모션 추정부 160: 모션 보상부
165: 차분기 170: 공간적 변환부
180: 양자화부 190: 엔트로피 부호화부

Claims (18)

  1. 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성하는 후보 벡터 생성부;
    상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 초기치 결정부; 및
    상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 모션 추정부를 포함하는, 고속 모션 추정 장치.
  2. 제1항에 있어서,
    상기 입력 프레임을 복수의 블록들로 분할하는 블록 분할부를 더 포함하는, 고속 모션 추정 장치.
  3. 제1항에 있어서, 상기 인접한 주변 블록들은
    상기 현재 블록의 좌측의 블록, 상측의 블록 및 우상측의 블록을 포함하는, 고속 모션 추정 장치.
  4. 제3항에 있어서, 상기 복수의 후보 모션 벡터는
    상기 좌측의 블록, 상측의 블록 및 우상측의 블록이 갖는 모션 벡터들, 상기 모션 벡터들의 메디안 값, 상기 모션 벡터들의 평균 값 및 제로 벡터 중에서 적어도 2이상을 포함하는, 고속 모션 추정 장치.
  5. 제1항에 있어서, 상기 초기치 결정부는
    상기 복수의 후보 모션 벡터에 의하여, 상기 현재 블록이 속하는 영역과 대응되는 상기 참조 프레임 상의 영역과, 상기 현재 블록이 속하는 영역 간의 썸놈(sum norm)의 차이에 기초하여, 상기 예측 모션 벡터를 선택하는, 고속 모션 추정 장치.
  6. 제5항에 있어서, 상기 썸놈은
    상기 현재 블록이 속하는 영역과, 상기 참조 프레임 상의 영역을 각각 소정의 크기로 분할한 블록에 포함되는 픽셀들의 합 또는 평균인, 고속 모션 추정 장치.
  7. 제6항에 있어서, 상기 소정의 크기는
    4x4 픽셀 크기인, 고속 모션 추정 장치.
  8. 제5항에 있어서, 상기 초기치 결정부는
    상기 영역들 내에서 썸놈의 차이의 합을 최소로 만드는 후보 모션 벡터를 상기 예측 모션 벡터로 선택하는, 고속 모션 추정 장치.
  9. 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성하는 후보 벡터 생성부;
    상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 초기치 결정부; 및
    상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 모션 추정부;
    상기 입력 프레임에서, 상기 구한 모션 벡터에 의해 참조 프레임을 보상한 모션 보상 프레임을 차분하여 잔차 프레임을 얻는 차분기; 및
    상기 잔차 프레임을 부호화하는 수단을 포함하는 비디오 인코딩 장치.
  10. 제9항에 있어서, 상기 잔차 프레임을 부호화하는 수단은,
    상기 잔차 프레임을 주파수 도메인으로 변환하여 변환 계수를 생성하는 공간적 변환부;
    상기 변환계수를 양자화하는 양자화부; 및
    상기 양자화의 결과와 상기 모션 벡터를 무손실 부호화하는 엔트로피 부호화부를 포함하는 비디오 인코딩 장치.
  11. 입력 프레임 내의 현재 블록에 인접한 주변 블록들이 갖는 모션 벡터들을 이용하여 복수의 후보 모션 벡터를 생성하는 단계;
    상기 복수의 후보 모션 벡터 중에서 하나를, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 단계; 및
    상기 선정된 예측 모션 벡터를 탐색 초기치로 하여, 참조 프레임 상의 탐색 영역 내에서 상기 현재 블록에 대한 모션 벡터를 구하는 단계를 포함하는, 고속 모션 추정 방법.
  12. 제11항에 있어서, 상기 복수의 후보 모션 벡터를 생성하는 단계 이전에,
    상기 입력 프레임을 복수의 블록들로 분할하는 단계를 더 포함하는, 고속 모션 추정 방법.
  13. 제11항에 있어서, 상기 인접한 주변 블록들은,
    상기 현재 블록의 좌측의 블록, 상측의 블록 및 우상측의 블록을 포함하는, 고속 모션 추정 방법.
  14. 제13항에 있어서, 상기 복수의 후보 모션 벡터는,
    상기 좌측의 블록, 상측의 블록 및 우상측의 블록이 갖는 모션 벡터들, 상기 모션 벡터들의 메디안 값, 상기 모션 벡터들의 평균 값 및 제로 벡터 중에서 적어도 2이상을 포함하는, 고속 모션 추정 방법.
  15. 제11항에 있어서, 상기 현재 블록에 대한 예측 모션 벡터로 선정하는 단계 는,
    상기 복수의 후보 모션 벡터에 의하여, 상기 현재 블록이 속하는 영역과 대응되는 상기 참조 프레임 상의 영역과, 상기 현재 블록이 속하는 영역 간의 썸놈(sum norm)의 차이에 기초하여, 상기 예측 모션 벡터를 선택하는 단계를 포함하는, 고속 모션 추정 방법.
  16. 제15항에 있어서, 상기 썸놈은
    상기 현재 블록이 속하는 영역과, 상기 참조 프레임 상의 영역을 각각 소정의 크기로 분할한 블록에 포함되는 픽셀들의 합 또는 평균인, 고속 모션 추정 방법.
  17. 제16항에 있어서, 상기 소정의 크기는
    4x4 픽셀 크기인, 고속 모션 추정 방법.
  18. 제15항에 있어서, 썸놈(sum norm)의 차이에 기초하여 상기 현재 블록에 대한 예측 모션 벡터로 선택하는 단계는,
    상기 영역들 내에서 썸놈의 차이의 합을 최소로 만드는 후보 모션 벡터를 상기 예측 모션 벡터로 선택하는 단계를 포함하는, 고속 모션 추정 방법.
KR1020090131173A 2009-12-24 2009-12-24 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치 KR101610028B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090131173A KR101610028B1 (ko) 2009-12-24 2009-12-24 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090131173A KR101610028B1 (ko) 2009-12-24 2009-12-24 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치

Publications (2)

Publication Number Publication Date
KR20110074260A true KR20110074260A (ko) 2011-06-30
KR101610028B1 KR101610028B1 (ko) 2016-04-08

Family

ID=44404642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090131173A KR101610028B1 (ko) 2009-12-24 2009-12-24 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치

Country Status (1)

Country Link
KR (1) KR101610028B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160041387A (ko) * 2014-10-07 2016-04-18 주식회사 에스원 영상 부호화 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929608B1 (ko) * 2008-01-17 2009-12-03 한양대학교 산학협력단 고속 전역탐색 블록정합 알고리즘을 이용한 동영상 움직임추정 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160041387A (ko) * 2014-10-07 2016-04-18 주식회사 에스원 영상 부호화 방법 및 장치

Also Published As

Publication number Publication date
KR101610028B1 (ko) 2016-04-08

Similar Documents

Publication Publication Date Title
KR102026856B1 (ko) 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치
EP2214415B1 (en) A dual prediction video encoding and decoding method and a device
KR101610028B1 (ko) 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치
KR101610029B1 (ko) 가변 크기 블록 매칭 기반의 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치
KR101505815B1 (ko) 서브 픽셀 정밀도를 갖는 모션 추정 방법 및 장치, 이를 이용한 비디오 인코더
KR101543200B1 (ko) 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치
KR101619739B1 (ko) 고속 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치
KR101037070B1 (ko) 전역탐색기법에 의한 고속 움직임 예측 방법
KR20110039030A (ko) 고속 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치

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: 20190402

Year of fee payment: 4