KR101347062B1 - 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 - Google Patents
움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 Download PDFInfo
- Publication number
- KR101347062B1 KR101347062B1 KR20120069112A KR20120069112A KR101347062B1 KR 101347062 B1 KR101347062 B1 KR 101347062B1 KR 20120069112 A KR20120069112 A KR 20120069112A KR 20120069112 A KR20120069112 A KR 20120069112A KR 101347062 B1 KR101347062 B1 KR 101347062B1
- Authority
- KR
- South Korea
- Prior art keywords
- range value
- target block
- search
- motion vector
- value
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법이 개시된다. 개시된 움직임 벡터의 예측을 위한 탐색영역 설정 장치는 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 연산부; 및 상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 탐색영역 설정부를 포함한다. 본 발명에 따르면, 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 장점이 있다.
Description
본 발명의 실시예들은 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법에 관한 것으로서, 더욱 상세하게는 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법에 관한 것이다.
H.264/AVC를 포함한 대부분의 동영상 표준 부호화 방식은 블록 매칭(Block Matching) 기반으로 일정한 탐색영역 내에서 움직임 벡터를 예측한다.
도 1 및 도 2는 종래의 일반적인 움직임 벡터 예측의 개념을 설명하기 위한 도면이다.
먼저, 도 1을 참조하면, 현재 움직임 벡터의 예측을 수행하고자 하는 대상 블록이 블록 E이고, 블록 A, 블록 B 및 블록 C는 블록 E보다 이전에 움직임 벡터의 예측이 수행된 블록(이전 대상 블록)인 경우, 블록 E에 대한 움직임 벡터 예측의 탐색영역의 원점은 예측 움직임 벡터(PMV: Predictive Motion Vector)로 정의되며, 이는 아래의 수학식 1과 같이 정의된다.
여기서, median(.)은 입력값 중 중간값을 출력하는 함수, MV A (i), MV B (i) 및 MV C (i)는 각각 블록 A, 블록 B 및 블록 C의 예측된 움직임 벡터, x는 벡터의 수평 방향 성분, y는 벡터의 수직 방향 성분을 각각 의미한다.
즉, 탐색영역의 원점은 수평 방향 및 수직 방향 별로 선정되며, 대상 블록의 움직임 벡터의 예측은 PMV를 중심으로 하여 수평 방향 및 수직 방향 별로 사전에 미리 설정된 탐색영역의 범위값(ω)에 의해 정의되는 탐색영역 내에서 수행된다.
도 2는 대상 블록에 대해 설정되는 움직임 벡터의 탐색영역의 일례를 도시한 도면으로서, 탐색영역은 아래의 수학식 2와 같이 표현될 수 있다.
여기서, dx는 수평 방향으로의 탐색영역, dy는 수직 방향으로의 탐색영역을 각각 의미한다. 따라서, 미리 설정된 범위값(ω)은 수평 방향 및 수직 방향으로의 탐색영역의 폭의 반(즉, 반폭값(Half Width))이 된다.
한편, 도 2 및 수학식 2와 같이 설정된 탐색영역 내에서 (U, V)번째의 M×N의 크기를 가지는 대상 블록의 움직임 벡터의 예측은 아래의 수학식 3과 같이 정의되는 SAD(Sum of Absolute Difference)가 최소값을 가지는 위치에 의해 결정된다.
여기서, C 및 R은 움직임 벡터의 예측을 위한 현재 영상 및 참조 영상을 의미한다.
이 경우, 탐색영역 내에서 SAD가 가장 작은 (dx, dy)를 이용하여 아래의 수학식 4와 같이 표시되는 움직임 벡터의 차(MVD: Motion Vector Difference)가 생성되며, 이러한 MVD가 움직임 벡터 예측의 결과물로서 전송된다.
여기서, MV(i)는 대상 블록에 대해 예측된 움직임 벡터를 의미한다.
그러나, 상기에서 설명한 종래의 움직임 벡터 예측의 수행은 많은 연산량이 필요하므로, 다양한 응용 서비스로의 활용에 한계가 있다는 문제점이 있다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법을 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 움직임 벡터의 예측을 위한 탐색영역 설정 장치에 있어서, 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 연산부; 및 상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 탐색영역 설정부를 포함하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치가 제공된다.
상기 연산부는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고, 상기 탐색영역 설정부는 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 범위값을 설정하며, 상기 탐색영역의 범위값은 상기 원점 벡터를 중심으로 하는 상기 수평 방향 및 상기 수직 방향 별로의 탐색영역의 반폭값(Half Width)일 수 있다.
상기 탐색영역 설정부는 다수의 모드로 구분하여 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 상기 최소 범위값 이상 상기 최대 범위값 이하의 값을 상기 탐색영역의 범위값으로 설정하되, 상기 대상 블록은 상기 다수의 모드 중 어느 하나의 모드에 속하고, 상기 다수의 모드는 상기 차들의 절대값의 합이 0인 제1 모드, 상기 차들의 절대값의 합이 1 이하이면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값의 합이 1을 초과하면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합이 0이 아니면서 상기 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드 중에서 적어도 하나를 포함할 수 있다.
상기 탐색영역 설정부는 아래의 표에 따라 상기 최소 범위값 및 상기 최대 범위값 중 적어도 하나를 설정할 수 있다.
여기서, SDMV는 상기 차들의 절대값의 합, SRmin은 상기 최소 범위값, SRmax은 상기 최대 범위값, ω는 상기 탐색영역에 대해 미리 설정된 범위값을 각각 의미함.
상기 탐색영역 설정부는 상기 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD: Motion Vector Difference)의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하고, 상기 최소 범위값, 상기 최대 범위값 및 상기 임시 범위값 중 중간 값을 상기 탐색영역의 범위값으로 설정하되, 상기 MVD는 상기 이전 대상 블록에 대한 예측 움직임 벡터와 상기 이전 대상 블록에 대한 탐색영역의 원점 벡터 간의 차일 수 있다.
상기 탐색영역 설정부는 상기 2 이상의 이전 대상 블록 중 상기 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각에 대한 상기 MVD의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하되, 상기 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 중 상기 대상 블록의 직전에 움직임 벡터의 예측이 수행된 이전 대상 블록에 대해 설정된 탐색영역의 범위값(직전 탐색영역 범위값)을 이용하여 상기 대상 블록에 대한 임시 범위값을 설정할 수 있다.
상기 탐색영역 설정부는 상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 이상인 경우, 상기 직전 탐색영역 범위값의 분수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
상기 탐색영역 설정부는 상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제2 임계값 이하인 경우, 상기 직전 탐색영역 범위값의 정수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
상기 탐색영역 설정부는 상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 보다 작고 제2 임계값 보다 큰 경우, 상기 직전 탐색영역 범위값을 상기 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 움직임 벡터의 예측을 위한 탐색영역 설정 방법에 있어서, 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 단계; 및 상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 단계를 포함하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법이 제공된다.
본 발명에 따르면, 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 장점이 있다.
도 1 및 도 2는 종래의 일반적인 움직임 벡터 예측의 개념을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 장치의 개략적인 구성을 도시한 도면이다.
도 4에서는 인접 블록들에 대해 예측된 움직임 벡터에 따른 대상 블록의 MVD의 절대값을 나타낸 누적 분포함수의 일례를 도시하고 있다.
도 5는 CIF 영상의 광역 움직임 특성에 따른 움직임 벡터의 차(MVD)의 분포를 도시한 도면이다.
도 6은 영상 내의 다수의 블록에 대한 움직임 벡터의 차(MVD)의 누적 통계의 일례를 도시한 도면이다.
도 7에서는 수평 방향의 탐색영역 범위값이 "17"이고, 수직 방향의 탐색영역 범위값이 "11"인 경우에서의 가변 단계별 검색 기법의 일례를 도시하고 있다.
도 8은 스텝 크기(Step_Size(i))가 2인 경우 정방형과 십자형 탐색의 예를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 방법의 전체적인 흐름을 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 장치의 개략적인 구성을 도시한 도면이다.
도 4에서는 인접 블록들에 대해 예측된 움직임 벡터에 따른 대상 블록의 MVD의 절대값을 나타낸 누적 분포함수의 일례를 도시하고 있다.
도 5는 CIF 영상의 광역 움직임 특성에 따른 움직임 벡터의 차(MVD)의 분포를 도시한 도면이다.
도 6은 영상 내의 다수의 블록에 대한 움직임 벡터의 차(MVD)의 누적 통계의 일례를 도시한 도면이다.
도 7에서는 수평 방향의 탐색영역 범위값이 "17"이고, 수직 방향의 탐색영역 범위값이 "11"인 경우에서의 가변 단계별 검색 기법의 일례를 도시하고 있다.
도 8은 스텝 크기(Step_Size(i))가 2인 경우 정방형과 십자형 탐색의 예를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 방법의 전체적인 흐름을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 장치(이하, "탐색영역 설정 장치"라고 함)의 개략적인 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 연산부(310) 및 탐색영역 설정부(320)를 포함할 수 있다.
본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 고속으로 움직임 벡터를 예측하기 위하여, 먼저 대상 블록과 인접하여 위치하는 다수의 블록(이하, "인접 블록"이라고 함)의 예측된 움직임 벡터를 이용하여 현재 움직임 벡터의 예측의 대상이 되는 블록(이하, "대상 블록"이라고 함)의 탐색영역 설정을 위한 통계적 특성을 결정한다.
종래의 움직임 벡터 예측 기술들은 탐색영역에 대한 세분화가 이루어지지 않아서 인접 블록들의 움직임 벡터의 특성을 이용하여 대상 블록의 움직임 탐색영역을 결정하는데 한계가 존재하고, 이로 인해 불필요한 영역에까지 움직임 벡터의 예측을 위한 탐색을 수행하는 문제점이 있었다. 상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명에서는 인접 블록들의 통계적 특성을 세분화하여 분류된 특성에 따라 탐색영역을 적응적으로 설정한다.
도 4에서는 인접 블록들에 대해 예측된 움직임 벡터에 따른 대상 블록의 MVD의 절대값을 나타낸 누적 분포함수(CDF: Cumulative Distribution Function)의 일례를 도시하고 있다.
도 4를 참조하면, 인접 블록들의 움직임 벡터가 모두 "0"인 경우(MV_A=MV_B=MV_C=0), 대상 블록의 움직임 벡터가 상대적으로 작은 값을 가질 확률이 매우 높은 것을 확인할 수 있다. 또한, 인접 블록들의 움직임 벡터가 동일한 방향성을 가지는 경우(sgn(MV_A)=sgn(MV_B)= sgn(MV_C)) 역시 다른 경우와 비교할 때, 대상 블록의 움직임 벡터가 작은 값을 가질 확률이 높은 것을 확인할 수 있다.
이를 참조할 때, 인접 블록들의 움직임 벡터의 특성에 따라 대상 블록에 대한 움직임 탐색영역을 가변적으로 설정하여 불필요한 탐색 영역을 배제함으로써, 움직임 벡터의 예측 시 요구되는 연산량 및 연산 시간을 감소시킬 수 있음을 확인할 수 있다. 다시 말해, 인접 블록들의 움직임 벡터와 대상 블록에 대한 탐색영역의 원점 벡터(즉, PMV)와의 차이를 움직임 벡터의 균일 정도의 표현 및 움직임 탐색영역을 결정하는 통계 특성으로 활용할 수 있다.
이를 위해, 연산부(310)는 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터(PMV) 및 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산한다. 이러한 상기 차들의 절대값의 합은 아래의 수학식 5와 같이 표현될 수 있다.
여기서, SDMV(Sum of absolute Difference Motion Vector)(i)는 상기 차들의 절대값의 합, MV k (i)는 블록 k에 대해 예측된 움직임 벡터를 각각 의미한다. (수학식 5에서는 앞서 도 1에서 설명한 바와 같이 대상 블록의 인접 블록이 3개(블록 A, 블록 B 및 블록 C)인 것으로 가정하였다.)
그리고, i는 앞서 설명한 바와 같이 벡터의 수평 방향 및 수직 방향을 의미한다. 즉, 연산부(310)는 수평 방향 및 수직 방향 별로 상기 차들의 절대값의 합(SDMV)를 연산할 수 있다. 다시 말해, 연산부(310)는 원점 벡터의 수평 성분과 다수의 인접 블록의 움직임 벡터의 수평 성분 각각 사이의 차들을 연산한 후 수평 성분의 차들의 절대값의 합(SDMV)을 연산하거나, 또는 원점 벡터의 수직 성분과 다수의 인접 블록의 움직임 벡터의 수직 성분 각각 사이의 차들을 연산한 후 수직 성분의 차들의 절대값의 합(SDMV)을 연산할 수 있다.
이와 같이, 인접 블록들의 움직임 벡터의 밀집 정도를 나타내는 SDMV는 인접 블록들의 움직임이 균일한 경우에는 매우 작은 값을 가지며, 인접 블록들의 움직임 벡터의 방향성이 상이하거나 불균일한 경우에는 매우 큰 값을 가지는 특성이 있다.
본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 이와 같은 SDMV의 특성을 이용하여 탐색영역을 설정할 수 있다. 다시 말해, 탐색영역 설정부(320)는 상기 차들의 절대값의 합(SDMV) 및 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 대상 블록에 대한 탐색영역의 범위값을 설정할 수 있다.
이 경우, 탐색영역 설정부(320) 역시 연산부(310)와 마찬가지로 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 범위값을 설정할 수 있다. 다시 말해, 탐색영역 설정부(320)는 수평 성분의 차들의 절대값(SDMV)의 합 및 다수의 인접 블록들의 움직임 벡터들의 방향성 중 적어도 하나를 이용하여 수평 방향의 탐색영역의 범위값을 설정하거나, 또는 수직 성분의 차들의 절대값의 합(SDMV) 및 다수의 인접 블록들의 움직임 벡터들의 방향성 중 적어도 하나를 이용하여 수평 방향의 탐색영역의 범위값을 설정할 수 있다.
또한, 탐색영역의 범위값은 앞서 설명한 바와 같이 원점 벡터(PMV)를 중심으로 하는 수평 방향 및 수직 방향 별로의 탐색영역의 반폭값일 수 있다.
본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 다수의 모드로 구분하여 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 최소 범위값 이상 최대 범위값 이하의 값을 탐색영역의 범위값으로 설정할 수 있다. 이 경우, 대상 블록은 다수의 모드 중 어느 하나의 모드에 속하고, 다수의 모드는 상기 차들의 절대값의 합(SDMV)이 0인 제1 모드, 상기 차들의 절대값의 합(SDMV)이 1 이하이면서 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값의 합(SDMV)이 1을 초과하면서 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합(SDMV)이 0이 아니면서 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드 중에서 적어도 하나를 포함할 수 있다.
보다 상세하게, 본 발명의 일 실시예에 따르면, 대상 블록이 제1 모드에 속하는 경우, 탐색영역 설정부(320)는 아래의 수학식 6을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
여기서, SRmin은 탐색영역의 최소 범위값, SRmax은 탐색영역의 최대 범위값, ω는 탐색영역에 대해 미리 설정된 범위값을 각각 의미함.
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 1 이하이면서 인접 블록들의 움직임 벡터의 방향이 동일한 경우, 탐색영역 설정부(320)는 아래의 수학식 7을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 1을 초과하면서 인접 블록들의 움직임 벡터의 방향이 동일한 경우, 탐색영역 설정부(320)는 아래의 수학식 8을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 0이 아니면서 인접 블록들의 움직임 벡터의 방향이 상이한 경우, 탐색영역 설정부(320)는 아래의 수학식 9를 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
정리하면, 탐색영역 설정부(320)는 아래의 표 1에 따라 탐색영역의 최소 범위값 및 최대 범위값을 설정할 수 있다.
한편, 앞서 설명한 바와 같이 인접 블록들의 통계 특성을 이용하여 탐색영역을 설정하는 경우, 영상의 광역 움직임 특성에 따라 일부 영상에서 움직임 벡터의 예측이 오류가 발생할 수도 있다.
도 5는 CIF(Common Intermediate Format) 영상의 광역 움직임 특성에 따른 움직임 벡터의 차(MVD)의 분포를 도시한 도면이다.
도 5를 참조하면, CIF 영상에 대한 인접 블록들의 통계 특성에 따라 모드를 구분하여 움직임 벡터를 예측한 후에도, Stefan, mobile과 같은 움직임이 큰 영상은 MVD 분포가 크며, Akiyo, container같은 움직임이 작은 영상에서는 MVD 분포가 작음을 확인할 수 있다. 이와 같은 결과로부터 보다 정확한 움직임 벡터의 예측을 위해서는 영상 내의 움직임의 국부적인 통계뿐만 아니라, 영상 전체의 움직임 통계(즉, 영상 내의 움직임의 광역적인 통계) 역시 움직임 벡터의 예측을 위한 탐색영역의 설정에 반영되어야 함을 확인할 수 있다.
도 6은 영상 내의 다수의 블록에 대한 움직임 벡터의 차(MVD)의 누적 통계의 일례를 도시한 도면이다.
도 6에서, 점들은 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 중 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각의 움직임 벡터의 차(MVD)와 대응된다.
여기서, 움직임 벡터의 차(MVD)의 누적 통계 분포는 영상 내의 실제 부호화될 움직임 벡터 성분을 나타내는 것으로서, 영상의 움직임 특성을 나타낼 수 있는 기법으로 활용될 수 있다. 그리고, 움직임 벡터의 차(MVD)의 분포가 원점에 밀집될수록 영상 내의 움직임 정도가 적은 것으로 예측될 수 있다.
본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD)의 통계를 이용하여 탐색영역의 임시 범위값을 생성하고, 앞서 설정된 탐색영역의 최소 범위값, 최대 범위값 및 상기한 임시 범위값 중 중간 값을 탐색영역의 범위값으로 설정할 수 있다. 이 경우, 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD)는 이전 대상 블록에 대한 예측 움직임 벡터와 이전 대상 블록에 대한 탐색영역의 원점 벡터 간의 차이다. 또한, 상기와 같은 탐색영역의 범위값의 설정은 아래의 수학식 10과 같이 표현될 수 있다.
여기서, δc ur (i)는 설정된 탐색영역의 범위값, δca se , temp (i)는 임시 범위값, max( )는 입력값들 중 최대값을 출력하는 함수, min( )은 입력값들 중 최소값을 출력하는 함수를 각각 의미한다.
이 경우, 탐색영역 설정부(320)는 2 이상의 이전 대상 블록 중 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각에 대한 움직임 벡터의 차(MVD)의 통계를 이용하여 탐색영역의 임시 범위값을 생성하되, 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 중 대상 블록의 직전에 움직임 벡터의 예측이 수행된 이전 대상 블록에 대해 탐색영역의 범위값(직전 탐색영역 범위값)을 이용하여 대상 블록에 대한 임시 범위값을 설정할 수 있다.
보다 상세하게, 본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 적어도 하나의 이전 대상 블록의 움직임 벡터의 차(MVD)의 개수가 제1 임계값 이상인 경우, 상기한 직전 탐색영역 범위값의 분수배의 값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 도 6의 일례와 같이, 대상 블록과 동일한 모드에 속하며 대상 블록 직전에 움직임 벡터의 예측이 수행된 직전 대상 블록의 탐색영역 범위값(직전 탐색영역 범위값)(δcase . prev)에 의한 제1 임시 탐색영역이 실선과 같이 설정되고, 상기한 분수배가 1/2이며, 직전 탐색영역 범위값의 분수배(1/2)의 값(δcase . prev/2)에 의해 설정되는 제2 임시 탐색영역이 점선과 같이 설정되는 경우에 있어, 제2 임시 탐색영역 내에 제1 임계값(일례로, 90개) 이상의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 11과 같이 직전 탐색영역 범위값의 분수배의 값(즉, δc a se. prev/2)을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
여기서, δc ase , temp (i)는 대상 블록에 대한 임시 범위값을 의미한다.
또한, 본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 적어도 하나의 이전 대상 블록의 움직임 벡터 차(MVD)의 개수가 제2 임계값 이하인 경우, 직전 탐색영역 범위값의 정수배의 값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 상기한 도 6의 일례에서, 제2 임시 탐색영역 내에 제2 임계값(일례로, 70개) 이하의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 12와 같이 직전 탐색영역 범위값의 정수배의 값(일례로, 2배의 값)을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 적어도 하나의 이전 대상 블록의 움직임 벡터 차(MVD)의 개수가 제1 임계값 보다 작고 제2 임계값 보다 큰 경우, 직전 탐색영역 범위값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 상기한 도 6의 일례에서, 제2 임시 탐색영역 내에 제2 임계값(일례로, 70개) 이상 제1 임계값(일례로, 90개) 이하의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 13과 같이 직전 탐색영역 범위값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
상기에서 설명한 내용들은 대상 블록과 동일한 모드로 움직임 벡터의 예측(즉, 부호화)이 수행된 블록들의 MVD 밀집도를 평가하여 움직임 탐색 영역을 보정하기 위한 것으로서, 일정 크기의 영역 내에서 통계 특성 모드가 많고 해당 블록의 MVD가 작은 값으로 밀집되어 있을수록 대상 블록의 MVD가 이미 움직임 벡터의 예측이 수행된 이전 대상 블록들의 값을 가질 확률이 높다는 특성을 이용한 것이다.
한편, 대상 블록이 제1 모드에 속하고, MVD 누적 통계 분포에 의한 임시 범위값이 "0"으로 설정되는 경우, 상기한 수학식 10을 통해 설정되는 최종적인 탐색영역의 범위값이 "0"으로 결정되어 대상 블록 및 이의 이후에 움직임 예측이 수행될 모든 블록에 대한 직전 탐색영역 범위값이 0이 되어 임시 탐색영역이 존재하지 않게 되는 오류가 발생할 수 있다.
이러한 오류 발생을 방지하기 위해, 탐색영역 설정부(320)는 대상 블록의 SAD(SADprev)와 직전 대상 블록의 SAD(SADcur) 사이에 아래의 수학식 14와 같은 관계가 성립되는 경우, 임시 범위값을 "1"로 강제 설정할 수 있다.
이에 따라, 최종적인 움직임 벡터의 탐색 영역은 아래의 수학식 15와 같이 표현될 수 있다.
한편, 본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 움직임 벡터 탐색부(미도시)와 함께 움직임 벡터 탐색장치(미도시)를 구성할 수도 있다.
이 경우, 움직임 벡터의 탐색 시 소요되는 연산량 및 연산 시간을 더욱 절감하기 위해, 움직임 벡터 탐색부(미도시)는 가변 단계별 탐색 기법(VSS: Variable Step Search)를 이용하여 상기에 따라 설정된 탐색영역 내에서 움직임 벡터의 탐색을 수행할 수 있다. 종래의 가변 단계별 탐색 기법은 아래와 같이 수행될 수 있다.
[과정 1] 최종적으로 설정된 탐색영역에 대해, 과정 1에서는 최대 탐색 단계(maxstep(i))와 스텝 크기(Step_Size(i))를 아래의 수학식 16과 같이 설정한다.
[과정 2] 과정 2에서는 탐색 원점을 중심으로 스텝 크기(Step_Size(i))와 동일한 거리에 위치한 8개의 지점을 선택하고, 탐색 원점 및 선택된 8개 지점에 대한 SAD 연산을 수행 후, SAD가 최소가 되는 지점을 다음 과정(과정 3)에서의 탐색 원점으로 설정한다.
[과정 3] 과정 3에서는 스텝 크기(Step_Size(i))를 반으로 줄인 후 과정 2에서 설정된 탐색 원점을 스텝 크기(Step_Size(i))와 동일한 거리에 위치하는 8개의 지점을 선택하고, 이들을 대상으로 SAD 연산을 다시 수행한다. 역시 SAD가 최소가 되는 지점이 다음 과정에서의 탐색 원점으로 설정된다.
이와 같은 과정의 반복(즉, 가변 단계별 탐색 기법)은 스텝 크기(Step_Size(i))가 수평 방향 및 수직 방향에 대해 모두 "1"이 되는 경우 종료된다.
도 7에서는 수평 방향의 탐색영역 범위값(δ cur (x))이 "17"이고, 수직 방향의 탐색영역 범위값(δ cur )이 "11"인 경우에서의 가변 단계별 검색 기법의 일례를 도시하고 있다.
이 경우, 수평 방향 및 수직 방향 별 최대 탐색 단계는 각각 "max step (x)=5" 및 "max step (y)=4"이고, 수평 방향 및 수직 방향 별 초기 스텝 크기는 각각 "Step_Size(x))=16" 및 "Step_Size(y))=8"이다.
앞서 설명한 국부 통계 특성에 의한 모드 및 탐색 영역 설정에서 제1 모드에 해당되는 블록들은 탐색 원점을 기준으로 움직임 벡터가 작은 영역에서 결정될 확률이 매우 높을 것으로 예측된 블록이다. 따라서, 움직임이 작은 영상인 경우 많은 블록이 제1 모드에 속하게 되어 탐색 영역 내에서 연산량 절감을 위해 제1 모드에 속하는 블록에 대해 8개의 정방향 검색이 아닌 도 8에 도시된 십자형 검색 방식이 사용될 수 있다. 도 8은 스텝 크기(Step_Size(i))가 2인 경우 정방형과 십자형 탐색의 예를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 방법의 전체적인 흐름을 도시한 순서도이다.
먼저, 단계(S910)에서는 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산한다.
그리고, 단계(S920)에서는 상기 차들의 절대값의 합 및 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 대상 블록에 대한 탐색영역의 범위값을 설정한다.
본 발명의 일 실시예에 따르면, 단계(S910)에서는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고, 단계(S920)에서는 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 범위값을 설정한다. 이 경우, 탐색영역의 범위값은 앞서 설명한 바와 같이 원점 벡터를 중심으로 하는 수평 방향 및 수직 방향 별로의 탐색영역의 반폭값일 수 있다.
또한, 본 발명의 일 실시예에 따르면, 단계(S920)에서는 다수의 모드로 구분하여 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 최소 범위값 이상 최대 범위값 이하의 값을 탐색영역의 범위값으로 설정하되, 대상 블록을 다수의 모드 중 어느 하나의 모드에 속하고, 다수의 모드는 차들의 절대값의 합이 0인 제1 모드, 차들의 절대값이 1 이하이면서 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 차들의 절대값이 1을 초과하면서 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 차들의 절대값의 합이 0이 아니면서 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드를 포함할 수 있다.
지금까지 본 발명에 따른 움직임 벡터 예측을 위한 탐색영역 설정 방법의 실시예들에 대하여 설명하였고, 앞서 도 3에서 설명한 탐색영역 설정 장치(300)에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
Claims (12)
- 움직임 벡터의 예측을 위한 탐색영역 설정 장치에 있어서,
움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터와 상기 대상 블록과 인접한 인접 블록에 대한 예측 움직임 벡터의 차를 연산하되, 다수의 상기 인접 블록에 대해, 상기 원점 벡터와 상기 인접 블록 각각의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 연산부; 및
상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 탐색영역 설정부를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 제1항에 있어서,
상기 연산부는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고,
상기 탐색영역 설정부는 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 범위값을 설정하며,
상기 탐색영역의 범위값은 상기 원점 벡터를 중심으로 하는 상기 수평 방향 및 상기 수직 방향 별로의 탐색영역의 반폭값(Half Width)인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 제2항에 있어서,
상기 탐색영역 설정부는 다수의 모드로 구분하여 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 상기 최소 범위값 이상 상기 최대 범위값 이하의 값을 상기 탐색영역의 범위값으로 설정하되,
상기 대상 블록은 상기 다수의 모드 중 어느 하나의 모드에 속하고, 상기 다수의 모드는 상기 차들의 절대값의 합이 0인 제1 모드, 상기 차들의 절대값의 합이 1 이하이면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값의 합이 1을 초과하면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합이 0이 아니면서 상기 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드 중에서 적어도 하나를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 제3항에 있어서,
상기 탐색영역 설정부는 상기 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD: Motion Vector Difference)의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하고, 상기 최소 범위값, 상기 최대 범위값 및 상기 임시 범위값 중 중간 값을 상기 탐색영역의 범위값으로 설정하되,
상기 MVD는 상기 이전 대상 블록에 대한 예측 움직임 벡터와 상기 이전 대상 블록에 대한 탐색영역의 원점 벡터 간의 차인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 청구항 6은(는) 설정등록료 납부시 포기되었습니다.제5항에 있어서,
상기 탐색영역 설정부는
상기 2 이상의 이전 대상 블록 중 상기 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각에 대한 상기 MVD의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하되,
상기 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 중 상기 대상 블록의 직전에 움직임 벡터의 예측이 수행된 이전 대상 블록에 대해 설정된 탐색영역의 범위값(직전 탐색영역 범위값)을 이용하여 상기 대상 블록에 대한 임시 범위값을 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 청구항 7은(는) 설정등록료 납부시 포기되었습니다.제6항에 있어서,
상기 탐색영역 설정부는
상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 이상인 경우, 상기 직전 탐색영역 범위값의 분수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 청구항 8은(는) 설정등록료 납부시 포기되었습니다.제6항에 있어서,
상기 탐색영역 설정부는
상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제2 임계값 이하인 경우, 상기 직전 탐색영역 범위값의 정수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 청구항 9은(는) 설정등록료 납부시 포기되었습니다.제6항에 있어서,
상기 탐색영역 설정부는
상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 보다 작고 제2 임계값 보다 큰 경우, 상기 직전 탐색영역 범위값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치. - 움직임 벡터의 예측을 위한 탐색영역 설정 방법에 있어서,
움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터와 상기 대상 블록과 인접한 인접 블록에 대한 예측 움직임 벡터의 차를 연산하되, 다수의 상기 인접 블록에 대해, 상기 원점 벡터와 상기 인접 블록 각각의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 단계; 및
상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법. - 제10항에 있어서,
상기 연산하는 단계는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고,
상기 탐색영역을 설정하는 단계는 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 범위값을 설정하며,
상기 탐색영역의 범위값은 상기 원점 벡터를 중심으로 하는 상기 수평 방향 및 상기 수직 방향 별로의 탐색영역의 반폭값인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법. - 제11항에 있어서,
상기 탐색영역을 설정하는 단계는 다수의 모드로 구분하여 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 상기 최소 범위값 이상 상기 최대 범위값 이하의 값을 상기 탐색영역의 범위값으로 설정하되,
상기 대상 블록을 상기 다수의 모드 중 어느 하나의 모드에 속하고, 상기 다수의 모드는 상기 차들의 절대값의 합이 0인 제1 모드, 상기 차들의 절대값이 1 이하이면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값이 1을 초과하면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합이 0이 아니면서 상기 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120069112A KR101347062B1 (ko) | 2012-06-27 | 2012-06-27 | 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 |
PCT/KR2012/008962 WO2014003254A1 (ko) | 2012-06-27 | 2012-10-29 | 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 |
US14/584,573 US10063881B2 (en) | 2012-06-27 | 2014-12-29 | Apparatus and method for setting search region for predicting motion vector |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120069112A KR101347062B1 (ko) | 2012-06-27 | 2012-06-27 | 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101347062B1 true KR101347062B1 (ko) | 2014-01-10 |
Family
ID=49783370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20120069112A KR101347062B1 (ko) | 2012-06-27 | 2012-06-27 | 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10063881B2 (ko) |
KR (1) | KR101347062B1 (ko) |
WO (1) | WO2014003254A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101382367B1 (ko) * | 2013-11-13 | 2014-04-09 | 주식회사 아나패스 | 움직임 추정 방법 및 이를 이용한 영상 처리 장치 |
WO2017179722A1 (ja) * | 2016-04-15 | 2017-10-19 | パナソニックIpマネジメント株式会社 | 画像処理装置及び撮像装置 |
EP3264769A1 (en) * | 2016-06-30 | 2018-01-03 | Thomson Licensing | Method and apparatus for video coding with automatic motion information refinement |
EP3264768A1 (en) | 2016-06-30 | 2018-01-03 | Thomson Licensing | Method and apparatus for video coding with adaptive motion information refinement |
US10812810B2 (en) * | 2018-02-06 | 2020-10-20 | Tencent America LLC | Method and apparatus for video coding in merge mode |
CN117156155A (zh) * | 2018-03-14 | 2023-12-01 | Lx 半导体科技有限公司 | 图像编码/解码方法、存储介质和发送方法 |
WO2020007291A1 (en) * | 2018-07-02 | 2020-01-09 | Huawei Technologies Co., Ltd. | A video encoder, a video decoder and corresponding methods |
CN117834906A (zh) * | 2019-03-08 | 2024-04-05 | 华为技术有限公司 | 运动矢量细化的搜索区域 |
EP4032297A4 (en) * | 2019-09-19 | 2022-11-23 | Alibaba Group Holding Limited | METHODS FOR CONSTRUCTING A LIST OF MERGER CANDIDATES |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110048243A (ko) * | 2009-11-02 | 2011-05-11 | 중앙대학교 산학협력단 | 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003143609A (ja) * | 2001-08-21 | 2003-05-16 | Canon Inc | 画像処理装置、画像処理方法、記録媒体及びプログラム |
KR100455119B1 (ko) * | 2002-01-26 | 2004-11-06 | 엘지전자 주식회사 | 움직임 벡터 영역의 적응적 결정 방법 |
KR100560843B1 (ko) * | 2003-04-10 | 2006-03-13 | 에스케이 텔레콤주식회사 | 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치 |
US7609765B2 (en) * | 2004-12-02 | 2009-10-27 | Intel Corporation | Fast multi-frame motion estimation with adaptive search strategies |
KR100790757B1 (ko) * | 2006-03-10 | 2008-01-03 | (주)씨앤에스 테크놀로지 | H.264 동영상 부호화기의 적응적 고속 움직임 추정 방법 |
US8599921B2 (en) * | 2009-03-27 | 2013-12-03 | Vixs Systems, Inc | Adaptive partition subset selection module and method for use therewith |
JP5163429B2 (ja) * | 2008-11-05 | 2013-03-13 | ソニー株式会社 | 動きベクトル検出装置、その処理方法およびプログラム |
BRPI1011333A2 (pt) * | 2009-05-29 | 2016-03-08 | Mitsubishi Electric Corp | dispositivo de codificação e de decodificação de vídeo, e, métodos de codificação e de decodificação de vídeo |
KR101062811B1 (ko) * | 2009-09-02 | 2011-09-06 | 중앙대학교 산학협력단 | 인접 블록의 움직임 벡터 및 인터모드간 상관관계를 이용한 고속 다중 참조 프레임 선택 방법 |
US20110135001A1 (en) * | 2009-12-07 | 2011-06-09 | Silicon Integrated Systems Corp. | Hierarchical motion estimation method using dynamic search range determination |
US9449367B2 (en) * | 2009-12-10 | 2016-09-20 | Broadcom Corporation | Parallel processor for providing high resolution frames from low resolution frames |
KR101443701B1 (ko) * | 2010-11-22 | 2014-09-29 | 한국전자통신연구원 | 적응형 움직임 탐색 범위 결정 장치 및 방법 |
TWI461066B (zh) * | 2011-11-03 | 2014-11-11 | Ind Tech Res Inst | 彈性調整估算搜尋範圍的移動估算方法及視差估算方法 |
-
2012
- 2012-06-27 KR KR20120069112A patent/KR101347062B1/ko active IP Right Grant
- 2012-10-29 WO PCT/KR2012/008962 patent/WO2014003254A1/ko active Application Filing
-
2014
- 2014-12-29 US US14/584,573 patent/US10063881B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110048243A (ko) * | 2009-11-02 | 2011-05-11 | 중앙대학교 산학협력단 | 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US10063881B2 (en) | 2018-08-28 |
US20150117543A1 (en) | 2015-04-30 |
WO2014003254A1 (ko) | 2014-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101347062B1 (ko) | 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 | |
CN110557640B (zh) | 加权交织预测 | |
KR100498951B1 (ko) | 동영상 압축 부호화를 위한 움직임 예측 방법과 그기록매체 | |
US11677973B2 (en) | Merge with MVD for affine | |
US8396130B2 (en) | Motion vector search method and apparatus, program therefor, and storage medium which stores the program | |
CN102075760A (zh) | 快速运动估计方法及装置 | |
US10200699B2 (en) | Apparatus and method for encoding moving picture by transforming prediction error signal in selected color space, and non-transitory computer-readable storage medium storing program that when executed performs method | |
US11825074B2 (en) | Generation and usage of combined affine merge candidate | |
US20150131858A1 (en) | Tracking device and tracking method | |
JP2008227702A (ja) | 動きベクトル探索装置、動きベクトル探索方法及び動きベクトル探索プログラム | |
JP5843032B2 (ja) | 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム | |
CN105992012B (zh) | 一种错误隐藏的方法和装置 | |
KR101796192B1 (ko) | 예측 움직임 벡터 선택에 따른 변환 부호화 방법 및 장치 | |
CN110557639B (zh) | 交织预测的应用 | |
US11528485B2 (en) | Encoding apparatus and program | |
JP6159292B2 (ja) | 動きベクトル検出装置、動きベクトル検出方法及び動きベクトル検出プログラム | |
JP5725120B2 (ja) | 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム | |
JP6148146B2 (ja) | 映像符号化装置、映像符号化方法及び映像符号化プログラム | |
KR101709894B1 (ko) | 움직임 벡터들의 방향과 크기를 고려한 프레임 레이트 증가 방법 및 이를 이용하는 장치 | |
US20230388484A1 (en) | Method and apparatus for asymmetric blending of predictions of partitioned pictures | |
KR101223754B1 (ko) | 움직임 추정 장치 및 방법 | |
US10972751B2 (en) | Video encoding apparatus and method, and video decoding apparatus and method | |
KR20230166173A (ko) | 깊이 영상의 화면 내 예측을 위한 이차 곡면 표면 모델링을 통한 화면 내 예측방법 및 이를 위한 장치 | |
CN117061753A (zh) | 预测帧间编码的运动矢量的方法和装置 | |
Lins et al. | Quasi-random search algorithm for fast motion estimation |
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: 20161024 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181022 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20191112 Year of fee payment: 7 |