KR20000018311A - 영상 시스템의 움직임 추정방법 및 장치 - Google Patents

영상 시스템의 움직임 추정방법 및 장치 Download PDF

Info

Publication number
KR20000018311A
KR20000018311A KR1019980035846A KR19980035846A KR20000018311A KR 20000018311 A KR20000018311 A KR 20000018311A KR 1019980035846 A KR1019980035846 A KR 1019980035846A KR 19980035846 A KR19980035846 A KR 19980035846A KR 20000018311 A KR20000018311 A KR 20000018311A
Authority
KR
South Korea
Prior art keywords
reference block
pixel
block
search
quantization
Prior art date
Application number
KR1019980035846A
Other languages
English (en)
Other versions
KR100292355B1 (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 KR1019980035846A priority Critical patent/KR100292355B1/ko
Publication of KR20000018311A publication Critical patent/KR20000018311A/ko
Application granted granted Critical
Publication of KR100292355B1 publication Critical patent/KR100292355B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/547Motion estimation performed in a transform domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상시스템의 움직임 추정 방법 및 장치에 관한 것으로서, 그 방법은 (a) 기준블록과 탐색영역을 구성하고 있는 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계; (b) 기준블록의 저해상도 이미지와 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다. (a) 단계는, 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; 양자화 경계값 및 이탈화소경계를 이용하여 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고, 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제한다.
본 발명에 의하면, 움직임 추정시 필요한 계산량은 현격히 줄이면서도 성능저하는 최소로 한다.

Description

영상 시스템의 움직임 추정 방법 및 장치
본 발명은 영상 시스템의 움직임 추정에 관한 것으로, 특히 기준블록과 탐색영역블록의 화소값을 저해상도 양자화하여 비교하는 영상시스템의 움직임 추정 방법 및 장치에 관한 것이다.
방대한 영상 정보를 효율적으로 감축시키는 영상압축기술은 HDTV, 동영상전화, 주문형 비디오, 멀티미디어 등 영상 처리의 여러 응용분야에 있어서 없어서는 안될 핵심기술 중의 하나이다. 상기 영상압축기술에서는 동영상이 가지고 있는 시간적, 공간적 중복성과, 전송되는 데이터가 가지고 있는 통계적 중복성을 제거하기 위해 여러 가지 기법을 사용하고 있다. 공간적 중복성을 제거하기 위해서는 이산여현변환(DCT) 등의 기법이, 통계적 중복성을 제거하기 위해서는 가변부호화(VLC) 등의 기법이 제안되었다.
그리고 시간적인 중복성을 제거하기 위해 동영상전문가그룹(MPEG), H.261 등 현재 사용되고 있는 대부분의 동영상 압축 시스템에서는 블록정합 움직임추정 기법(blocking matching motion estimation)을 사용하고 있다. 상기 블록정합 움직임추정 기법은 현재 프레임을 여러 개의 작은 블록(이하 기준블록이라 함)으로 나눈 다음, 각각의 기준블록에 대해 주어진 탐색영역 내에서 이전 프레임의 여러 블록(이하 탐색영역 블록이라 함)과 비교하여 기준블록과 닮지않은 정도(dissimilarity measure, 이하 상이도라 함)를 계산한다. 그리고 나서 상이도가 가장 작은 블록(이하 정합블록이라 함)을 찾아내어 기준블록과 정합블록의 위치차이를 나타내는 움직임 벡터와, 기준블록과 정합블록의 화소 차이만을 전송하는 방법이다.
기준블록과 탐색영역블록의 상이도는 여러 가지 방법으로 계산할 수 있으나 기존의 움직임 추정방법에서는 수학식 1과 같이 뺄셈과 누산만으로 계산할 수 있는 '차의 절대값의 합'(sum of absolute difference:이하 SAD라 함)이 가장 많이 사용된다. 이 때 상기 SAD를 최소로 하는 (u,v)의 값이 움직임 벡터가 되며, 이 때의 탐색영역 블록이 정합블록이 된다.
상기 수학식 1에서, 기준블록의 크기는 NxM, 탐색영역의 크기는 (-p, -p)∼(p-1,p-1)이고, rb(i,j)는 현재 프레임의 기준블록에서 (i,j)번째 화소값이고, sw(i,j)는 이전 프레임의 탐색영역블록에서 (i,j)번째 화소값을 나타낸다.
상기 기존의 움직임 추정 방법에서 가장 큰 문제점은 프레임 크기와 초당 프레임 전송속도가 늘어남에 따라 이를 처리할 하드웨어가 커진다는데 있다. 기준블록의 크기가 16화소 x 16화소일 때 기준블록과 탐색영역블록 사이의 SAD를 계산하기 위해서는 탐색영역블록당 각각 뺄셈, 절대값 계산, 누산이 256번 필요하므로 탐색영역의 크기가 64화소 x 64화소일 때 기준블록 하나의 움직임 벡터를 구하려면 각각 뺄셈, 절대값 계산, 누산이 1048576번 필요하게 된다.
상기 기존의 움직임 추정 방법을 하드웨어로 구현하기 위해서는 뺄셈, 절대값 계산, 누산 모두 뺄셈기와 누산기를 사용한다. 각 화소의 해상도를 k비트라 하고 기준 블록의 크기를 n화소 x n화소, 탐색영역의 크기를 p화소 x p화소라 하면 화소 하나를 비교하기 위해서는 뺄셈과 절대값 계산을 위한 2개의 k비트 뺄셈기와 누산을 위한 1개의 (k + 2log2n) 비트의 누산기가 필요하며, 매 싸이클당 기준 블록 하나의 움직임 벡터를 구하기 위해서는 k 비트의 뺄셈기가 2 x n2x p2개, (k + 2log2n)비트 누산기가 n2x p2개 만큼 필요하게 된다.
초당 처리해야 하는 기준 블록의 숫자와 이에 따른 뺄셈기와 누산기의 개수는 프레임 크기와 초당 프레임 전송 속도에 비례하므로, 프레임 크기나 초당 프레임 전송속도가 어느 이상 늘어나면 상기 기존의 움직임 추정 방법을 하드웨어로 실시간에 구현하기 어렵게 된다.
상기 SAD를 사용하는 움직임 추정 방법에는 전역탐색(full search) 방법이 있는데, 이는 탐색영역내에 있는 전체 탐색 영역블록을 기준블록과 비교하는 방법이다. 이렇게 되면 연산량이 많아지므로 연산량을 줄이기 위해 상기 전역탐색방법 대신 일부 탐색영역블록만 기준블록과 비교하여 SAD를 계산하는 방법이 있다. 그러나 이러한 방법은 전체 탐색영역 블록을 기준 블록과 비교하지 않기 때문에 전역탐색방법에 비해 성능이 크게 떨어지는 단점이 있다.
본 발명이 이루고자하는 기술적 과제는 상술한 문제점을 해결하기 위한 것으로서, 탐색영역내에 있는 전체 탐색영역블록을 기준블록과 비교하면서도 연산량을 효과적으로 줄여 하드웨어 량을 크게 줄이고 성능을 전역탐색에 근접하게 유지하는 영상 시스템의 움직임 추정 방법 및 장치를 제공하는 것이다.
도 1은 연산량 감소 측면에서 본 고속 탐색 기법의 비교도를 도시한 것이다.
도 2는 저해상도 이미지 생성을 위한 적응적 양자화를 도시한 것이다.
도 3는 저해상도 양자화 움직임 추정 기법의 블록도를 도시한 것이다.
도 4는 DPC 의 성능개선을 설명한 것이다.
도 5는 PSAD의 하드웨어를 도시한 것이다.
도 6은 2비트 양자화에서의 이탈 화소를 도시한 것이다.
도 7은 K값의 변화에 따른 PSNR을 도시한 것이다.
도 8은 저해상도 양자화 움직임 추정기의 블록도를 도시한 것이다.
도 9는 각 기능 블록들의 동작을 도시한 것이다.
도 10은 탐색 영역 데이터의 재활용을 도시한 것이다.
도 11은 저해상도 탐색부의 블록도를 도시한 것이다.
도 12는 적응적 양자화기를 도시한 것이다.
도 13은 원해상도 탐색부의 블록도를 도시한 것이다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한 영상 시스템의 움직임 추정방법은, (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하되, (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및 (a-2) 상기 양자화 경계값을 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하는 단계로 이루어지는 단계; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다.
또한 상기 (a)단계는, 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계; 상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및 상기 양자화 경계값을 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하는 단계로 이루어짐도 바람직하다.
상기 (b)단계는, 기준블록의 저해상도 이미지의 복원화소 값에서 탐색영역블록의 저해상도 이미지의 복원 화소값을 뺀 차의 절대값을 모두 더하여 상이도를 결정함을 특징으로 한다. 그리고 상기 양자화경계는 이진탐색에 의해 구해짐이 바람직하다.
상기 (c)단계는, (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계; (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및 (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐이 바람직하다.
상기 화소의 원래 해상도는 8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한 영상 시스템의 움직임 추정방법은, (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다.
상기 (a) 단계는, (a-1) 상기 기준블록의 양자화 경계값을 설정하는 단계; 및 (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고, 상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제한다.
상기 (a)단계는 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계; 상기 평균값으로 표현된 기준블록에 대해 양자화 경계값을 구하는 단계; 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐이 바람직하다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한 영상시스템의 움직임추정방법은, (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다.
상기 (a) 단계는, (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및 (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고, 상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제한다.
상기 (a)단계는 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계; 상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한 움직임 추정장치는, 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 계산되는 이탈화소경계값(λmax, λmin)을 생성하는 전처리부; 저해상도 이미지를 생성하고, 전체 탐색범위에 대해 상이화소수를 계산하여 움직임벡터 후보집합을 결정하는 저해상도 탐색부; 및 상기 복수개의 후보블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하여 최종 움직임 벡터를 구하는 원해상도 탐색부를 포함함을 특징으로 한다.
상기 저해상도 탐색부는 상기 경계값 생성부에서 생성된 양자화경계값과 이탈화소경계값을 사용하여 상기 기준블록 및 탐색영역의 화소들을 이탈화소가 구분되는 저해상도 이미지로 생성하는 양자화부; 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하되, 이탈화소가 포함된 탐색영역블록은 상이도 계산에서 배제하는 상이도 계산부; 및 상기 상이도 계산부에서 계산된 상이도 중 상이도가 작은 적어도 두 개의 탐색영역블록들을 결정하는 후보블록결정부로 이루어진다.
상기 전처리부는 양자화경계를 계산하기 전에 기준블록의 평균을 계산하는 블록평균계산부; 및 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계값(λmax, λmin)을 계산하는 양자화 경계값 계산부로 이루어진다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
1. 저해상도 양자화 움직임 추정 기법
일반적인 고속 탐색기법은 도 1의 참조번호 15에 도시된 바와 같이, 전역 탐색기법의 연산량을 줄이기 위해 (1) 선택적 탐색, 계층적 탐색, 움직임 예측 탐색과 같이 탐색위치의 숫자를 줄이거나, (2) 화소 부표본화(subsampling) 탐색과 같이 실제로 비교되는 화소의 개수를 줄이거나, (3) 새로운 정합 기준을 사용하는 접근 방식을 채택하고 있다. 이중 탐색 위치의 숫자를 줄이는 방법은 국부 극소에 의한 성능 저하가 크고, 비교되는 화소의 개수를 줄이는 방법은 수직선, 수평선이 많을 때 성능 저하가 크다는 단점이 있다. 따라서 전역 탐색 기법의 연산량을 효과적으로 줄이려면 도 1의 참조번호 100에 도시된 바와 같이 새로운 정합 기준을 제안하는 것이 바람직하다.
연산량을 크게 줄이면서 만족할만한 성능을 가지는 정합 기준을 제안하기 위해서 본 발명에서는 (1) 적응적 양자화를 사용하여 화소값을 효과적으로 양자화하고, (2) 하드웨어로 구현했을 때 면적을 크게 줄일 수 있는 새로운 정합 기준을 사용하며, (3) 성능 저하를 줄이기 위해 단계적 탐색 기법을 사용하는 저해상도 양자화 움직임 추정 기법(LRQME: low-resolution quantization motion estimation)을 제안한다.
1.1 적응적 양자화
기준 블록 또는 탐색 영역 내의 모든 화소값이 같은 값으로 절삭(truncation )되는 것을 방지하려면 절삭된 값이 최대한 차이가 나도록 절삭하는 것이 바람직하다. 이러한 관점에서 보면 화소값을 그대로 절삭하는 대신에 기준 블록 또는 탐색 영역의 평균값을 각각의 화소값에서 뺀 후 이 값을 절삭하는 것이 효과적이다. 또한 일률적으로 하위 비트들을 절삭하는 경우는 양자화의 관점에서 살펴보면 균등 양자화에 해당하는데, 최적화된 양자화를 수행하기 위해서는 화소값의 분포를 고려하지 않는 균등 양자화보다는 화소값의 분포를 고려해서 양자화 오차를 최소로 줄이는 비균등 양자화가 효과적이다.
본 발명에서는 매 기준 블록마다 도 2와 같이 먼저 기준 블록의 평균값을 구한 후, 기준 블록의 화소 및 탐색 영역의 화소 모두 화소값에서 이 평균값을 뺀 후 Lloyd-Max 양자화를 사용하여 2비트로 양자화하여 저해상도 이미지를 생성하는 적응적 양자화를 제안하였다. 비트 해상도는 연산량과 성능을 고려하여 정한다. 화소값에서 블록 평균을 뺄 때, 기준 블록의 평균값만을 사용한 이유는 평균값을 계산하는데 필요한 연산량이 작기 때문이다.
일반적인 Lloyd-Max 양자화에서는 양자화 오차로 평균 제곱 오차(mean squared error:MSE)를 사용한다. 그러나 MSE를 사용할 때의 양자화 경계 계산에는 곱셈이 많이 포함되기 때문에 하드웨어로 구현할 때 많은 어려움이 따른다. 본 발명에서는 이를 간략화하기 위해서 MSE 대신에 절대값 오차(MAE: mean absolute error)를 사용하여 양자화 경계를 계산한다. Lloyd-Max 양자화에서 양자화 경계를 결정하기 위해서는 양자화되는 화소값의 확률 분포를 알아야 하는데, 본 발명에서는 양자화되는 화소값이 가우스 분포를 갖는다고 가정한다.
MAE로 나타낸 양자화 오차 는 수학식 2과 같이 나타난다. Lloyd-Max 양자화에서 양자화 오차를 최소로 하는 양자화 경계는 수학식 3에서 구할 수 있다. 2비트 양자화의 경우 4개의 양자화된 코드의 복원 화소값의 비를 각각 1:2:3:4로 놓고 수학식 3을 풀면, 수학식 4와 같은 세 개의 양자화 경계 t1, t2, t3을 구할 수 있다.
수학식 4의 양자화 경계는 곱셈이 포함되지 않으며 간단한 하드웨어로 구현이 가능하다. 기준 블록 평균값 계산 때와 마찬가지로 움직임 추정에서 최종적으로 찾아낸(따라서 '가장 닮은') 블록의 화소값 확률 분포는 기준 블록과 같다고 가정할 수 있으므로 여기서는 수학식 4에서 구한 양자화 경계를 기준 블록과 탐색 영역 모두의 양자화 경계로 정한다.
수학식 2 내지 수학식 4에서 는 각각 기준 블록의 화소값 및 복원 화소값, 평균값을 의미하며, L은 양자화 구간의 개수, Xi는 i번째 양자화 구간, ti는 i번째 양자화 경계, ri는 i번째 양자화 구간에서의 복원 화소값을 의미한다.
적응적 양자화는 기존의 균등 양자화에 비해서 훨씬 효율적이며, 균등 양자화를 사용할 때 4비트의 비트 해상도로 얻을 수 있는 성능을 적응적 양자화를 사용하면 2비트로도 얻을 수 있다. 또한 연산량 측면에서 2비트 적응적 양자화가 적당하다.
움직임 추정 기법에서는 정합 기준이 최소로 되는 탐색 위치를 움직임 벡터로 결정하는데, 정합 기준이 최소가 되는 탐색 위치가 여러개 존재할 때에는 그중 하나만을 움직임 벡터로 결정해야 한다. 정합 기준이 같다고 해서 압축비가 동일한 것은 아니므로, 정합 기준이 최소가 되는 탐색 위치가 여러개 존재하면 할수록 성능 저하를 초래하게 된다. 비트 해상도가 높은 경우에는 이러한 문제가 발생할 확률이 비교적 낮으나, 비트 해상도를 낮추게 되면 실제로는 다른 값을 가지고 있는 많은 화소들이 동일한 값으로 양자화되기 때문에 심각한 문제로 작용하게 된다. 또한 만약 탐색 영역 내의 모든 화소가 동일한 값으로 양자화된다면 모든 탐색 위치에서 정합 기준이 같은 값을 가지기 때문에 움직임 벡터를 찾지 못하는 경우가 발생한다. 앞으로 본 발명에서는 이러한 경우를 동점문제(tie-score problem)라고 부르기로 한다.
1.2 정합 기준
본 발명에서는 하드웨어로 구현했을 때 면적을 크게 줄이기 위해 수학식 5과 같이 기준블록과 탐색 영역의 양자화된 코드가 일치하지 않는 화소의 개수인 상이 화소 수(DPC: different pixel count)를 제안한다. 이때 는 각각 기준 블록과 탐색 영역의 양자화된 값을 의미한다.
DPC는 같은 비트 해상도를 갖는 다른 정합 기준에 비해서 하드웨어의 면적을 크게 줄일 수 있다.
1.3 저해상도 양자화 움직임 추정 기법
본 발명에서는 저해상도 탐색(LRS: low-resolution search)과 원해상도 탐색(FRS: full-resolution search)의 두 단계로 이루어지는 저해상도 양자화 움직임 추정 기법을 제안한다. 저해상도 양자화 움직임 추정 기법의 블록도는 도 3과 같이 도시할 수 있다.
저해상도 탐색에서는 DPC를 계산하여 움직임 벡터 후보 위치(CMV: candidate motion vector) 집합을 구하고, 원해상도 탐색에서는 CMV 집합의 후보 위치에 대해서 SAD를 구하여 최종 움직임 벡터를 찾아낸다. 탐색 범위가 (-32,-32)~(31,31)일 때 매 두 개의 탐색 위치 열(row of search positions)마다 네 개 씩 총 128개의 CMV를 결정한다. CMV의 개수는 연산량과 성능을 고려하여 정한다. 연산량을 더욱 줄이기 위해서 원해상도 탐색에서는 4:1 교번 부표본화 탐색 기법을 채용한다. 저해상도 양자화 움직임 추정 기법은 간략하게 다음과 같이 정리할 수 있다.
(1) 저해상도 탐색
① 매 기준 블록마다 블록의 평균값과 양자화 경계를 계산한다.
② 기준 블록과 탐색 영역의 화소값 모두 기준 블록의 평균값을 뺀 후 2비트로 양자화하여 저해상도 이미지를 생성한다.
③ 매 탐색 위치마다 저해상도 이미지를 사용하여 DPC를 계산한다.
④ 매 두 개의 탐색 위치 열마다 DPC가 가장 작은 네 개의 탐색 위치를 CMV로 결정한다.
(2) 원해상도 탐색
① 매 CMV마다 원해상도 이미지(즉 원래 화소값)를 사용하여 4:1 교번 부표본화 탐색 기법을 수행한다.
② SAD가 가장 작은 CMV를 최종 움직임 벡터로 결정한다.
2. 이탈 화소 배제 움직임 추정 기법
DPC와 같이 연산량이 작은 정합 기준을 사용하더라도 탐색 범위 전체를 탐색하는 데에는 막대한 연산량이 필요하다. 이 연산량을 줄이는 방법 중 하나는 계층적 탐색 기법에서처럼 화소의 평균값에서 DPC를 계산하여 움직임을 추정하는 방법이다. 계층적 탐색 기법에서처럼 4×4 화소의 평균값을 쓰면 성능이 심하게 저하되기 때문에 본 발명에서는 2×2 화소의 평균값만을 사용한다. 2×2 화소의 평균값만 사용해도 비교해야 할 화소의 개수가 1/4로 줄고 탐색 범위 내에 있는 탐색 위치의 개수도 1/4로 줄기 때문에 전체적으로는 화소값을 평균하지 않고 DPC를 계산할 때보다 연산량을 1/16으로 줄일 수 있다. 그러나, 2×2 화소의 평균값을 사용하더라도 성능 저하가 상당하므로 DPC의 성능도 개선할 필요가 있다.
본 발명에서는 저해상도 양자화 움직임 추정 기법을 개선하여 ±64×±64 이상의 탐색 범위에서 효과적인 움직임 추정을 수행하기 위해서 (1) 2×2 화소의 평균값을 사용하여 탐색 범위 전체를 탐색하며, (2) 저해상도 이미지를 생성하기 위한 적응적 양자화의 성능을 개선하며, (3) DPC의 성능을 개선한 새로운 정합 기준을 사용하며, (4) 이탈 화소(outsider pixel) 개념을 도입하여 과부하 양자화 오차(overload quantization error)가 크게 발생하는 탐색 위치를 움직임 추정에서 배제함으로서 성능을 개선하는 이탈 화소 배제 움직임 추정 기법 (OPEME: outsider pixel exclusion motion estimation)을 제안하였다.
2.1 화소 평균값의 사용
탐색 범위가 클 경우에는 계층적 탐색 기법에서처럼 화소의 공간 해상도를 감소시키는 방법이 연산량을 줄이는 효과적인 방법의 하나가 될 수 있다. 공간 해상도를 감소시키는 방법으로는 (1) 부표본화(subsampling), (2) 화소 평균화(pixel averaging)를 들 수가 있다. 연산량과 PSNR을 고려할 때 2×2 화소의 평균값을 사용하여 공간 해상도를 낮추는 것이 바람직하다.
2.2 적응적 양자화
비트 해상도를 감소시키는 방법으로는 (1) 균등 양자화를 사용하는 하위 비트 절삭(LSB truncation)과, (2) 적응적 양자화를 들 수가 있다. 연산량과 PSNR을 고려할 때 비트 해상도를 감소시키기 위해서는 2비트 적응적 양자화가 바람직하다.
본 발명에서는 적응적 양자화의 성능을 높이기 위해서 평균 절대값 오차 최소화 양자화(MMAE quantization: minimum mean absolute error quantization)를 사용한다. 매 기준 블록에 대해서 세 개의 양자화 경계 m-δ, m, m+δ는 기준 블록의 양자화 오차가 최소가 되도록 결정되며, 다음과 같은 알고리즘에 의해 이진 탐색을 수행하여 찾아낸다.
m = calculate_mean(reference_block);
δ = 32;
Δ = 16;
MAEmin= calculate_MAE(m-δ, m, m+δ);
do {
MAE1= calculate_MAE(m-(δ-Δ), m, m+(δ-Δ));
MAE2= calculate_MAE(m-(δ+Δ), m, m+(δ+Δ));
if min(MAEmin, MAE1, MAE2) == MAE1) {
MAEmin= MAE1;
δ = δ-Δ;
} else if (MAEmin, MAE1, MAE2) == MAE2) {
MAEmin= MAE2;
δ = δ+Δ;
}
Δ = Δ/2;
} while (Δ!=1)
이진 탐색을 하는 이유는 양자화 경계를 계산하는 연산량을 줄이기 위해서이며, 넓은 탐색 범위를 갖는 경우에는 움직임 추정에 필요한 전체 연산량이 매우 크기 때문에 이진 탐색의 연산량은 전체 연산량에 비해 무시할 수 있다.
2.3 정합 기준
DPC는 하드웨어로 구현했을 때 면적을 크게 줄일 수 있다는 장점이 있지만, 2비트로 양자화된 코드가 일치하는지 아닌지 만을 비교하기 때문에 화소값의 차이를 자세하게 반영할 수 없다는 단점이 있다. 도 4에서 "11"로 양자화된 화소와 "1"로 양자화된 화소를 비교하였을 때의 실제 SAD값은 "11"로 양자화된 화소와 "10"으로 양자화된 화소를 비교하였을 때보다 크지만 DPC에서는 두 경우를 모두 같게 계산한다.
이러한 문제점을 개선하기 위해서 본 발명에서는 도 4에서처럼 양자화된 코드를 비교한 값이 실제 SAD와 어느 정도 비례하도록 한 PSAD(pseudo-SAD)를 제안한다. 상기 PSAD는 양자화된 코드의 복원 화소값을 가지고 SAD와 동일한 방식으로 계산한 값이며, 수학식 6과 같이 정의된다. 이때 는 각각 기준 블록과 탐색 영역의 복원 화소값을 의미한다.
2비트 양자화를 수행하였을 때 DPC와 PSAD의 값은 표 1과 같다. PSAD는 도 5에 도시된 바와 같은 하드웨어로 구현되며, DPC 하드웨어의 장점 중에서 덧셈기 트리의 캐리 입력단을 100% 활용하는 것 이외의 모든 장점을 그대로 가지고 있다.
2.4 이탈 화소
화소값을 양자화할 때에는 기준 블록 및 탐색 영역을 모두 살펴서 이들의 양자화 오차를 모두 최소로 하는 양자화 경계를 결정하는 것이 이상적이나, 실제로는 탐색 영역이 매우 넓기 때문에 탐색 영역 화소값의 양자화 오차를 최소로 하는 양자화 경계를 구하기 위해서는 막대한 연산량이 필요하다. 따라서 기준 블록의 화소값만을 가지고 양자화 경계를 결정할 수 밖에 없는데, 이 때에는 다음과 같은 문제점이 생긴다.
양자화 오차는 도 6의 (a)에 도시된 바와 같이 양자화 구간의 끝에서 발생하는 과부하 오차(overload error)와 나머지 양자화 구간에서 발생하는 과립 오차(granular error)로 나뉜다. 상기 과부하 오차는 양끝에 위치한 넓은 양자화 구간 내의 화소값이 동일한 값으로 양자화되기 때문에 발생하며, 일반적으로 과부하 오차가 생기는 화소값의 숫자가 작더라도 전체적으로는 과립 오차에 비해서 큰 오차를 유발한다.
탐색 영역이 기준 블록보다 넓기 때문에, 일반적으로 도 7의 (a), (b)와 같이 탐색 영역의 화소값 범위는 기준 블록의 화소값 범위보다 훨씬 크다. 기준 블록의 화소값만을 가지고 양자화 경계를 결정하였기 때문에 도 7의 (a)에서처럼 기준 블록에서 발생하는 과부하 오차가 크지 않더라도 도 7의 (b)에서처럼 탐색 영역에서 매우 큰 과부하 오차가 발생할 가능성이 있으며, 이러한 경우 성능이 심하게 저하된다.
그러나 탐색 영역의 화소값 중에서 과부하 오차를 일으키는 화소값은 기준 블록의 화소값과 큰 차이를 보이는 화소값이므로, 탐색 영역에서 큰 과부하 오차가 발생하는 탐색 위치에 기준 블록과 가장 닮은 정합 블록이 존재할 가능성은 극히 적다. 따라서 본 발명에서는 도 7의 (c)와 같이 일정 범위 (λminmax)를 넘는 화소를 이탈 화소(outsider pixel)로 정의한다. 그리고 어떤 탐색 위치에 대응하는 탐색 영역 블록 내에 이탈 화소가 포함되어 있으면 그 탐색 위치는 큰 과부하 오차가 발생한 것으로 간주하여 움직임 추정에서 배제하는 방법을 제안한다. 여기에서 (λmax-m)=K(pmax-m), (m-λmin)=K(m-pmin)으로 정하였고, K=(λmax-m)/(pmax-m)은 상수, m, pmax, pmin은 각각 기준 블록 화소값의 평균, 최대값, 최소값, smax, smin은 각각 탐색 영역 화소값의 최대값, 최소값이다.
상수 K가 너무 크다면 이탈 화소로 정의되는 화소의 숫자가 너무 작아져서 심한 과부하 오차가 발생하고, 결과적으로 성능이 저하된다. 또 K가 너무 작다면 너무 많은 숫자의 탐색 위치가 움직임 추정에서 배제되기 때문에, 올바른 움직임 벡터에 해당하는 탐색 위치마저 배제되는 경우가 생기고, 결과적으로 역시 성능이 감소한다. 본 발명에서 상기 K는 도 7에 도시된 바와 같이 2비트 해상도일 때 K=3/2일 때가 바람직하다. K=∞일 때는 이탈 화소를 사용하지 않는 경우에 해당하는데, 도 7에 도시된 바와 같이 이탈 화소를 사용함으로서 PSNR이 0.84 ~ 1.40 dB 만큼 개선됨을 알 수 있다.
2.5 이탈 화소 배제 움직임 추정 기법
이탈 화소 배제 움직임 추정 기법은 상술한 저해상도 양자화 움직임 추정 기법을 개선한 것으로서, 저해상도 탐색(LRS: low-resolution search)과 원해상도 탐색(FRS: full-resolution search)의 두 단계로 이루어진다. 저해상도 탐색에서는 2×2 화소의 평균값을 가지고 저해상도 이미지를 생성한 후 PSAD를 계산하여 움직임 벡터 후보 집합(CMV set)을 결정하고, 원해상도 탐색에서는 CMV 집합에 대해서 각각의 CMV에 대응하는 4개의 탐색 위치의 SAD를 구하여 최종 움직임 벡터를 찾아낸다. 이탈 화소 배제 움직임 추정 기법은 간략하게 다음과 같이 정리할 수 있다.
(1) 저해상도 탐색
① 기준 블록과 탐색 영역 모두에 대해 2×2 화소의 평균값을 구한다.
② 2×2 화소의 평균값을 사용하여 매 기준 블록마다 2.2절의 이진 탐색에 의한 양자화 경계 m-δ, m, m+δ를 계산한다.
③ (λminmax) 범위를 벗어나는 화소는 모두 이탈 화소로 분류한다.
④ 기준 블록과 탐색 영역의 화소값 모두 2.2절의 적응적 양자화에 의해 2비트로 양자화하여 저해상도 이미지를 생성한다.
⑤ 매 탐색 위치마다 저해상도 이미지를 사용하여 PSAD를 계산한다. 이때, 탐색 위치에 대응하는 탐색 영역 블록 내에 이탈 화소가 포함되어있으면 그 탐색 위치는 움직임 추정에서 배제한다.
⑥ PSAD가 가장 작은 N개의 탐색 위치를 CMV 집합으로 결정한다.
(2) 원해상도 탐색
① N개의 CMV 집합에 해당하는 4N개의 탐색 위치에 대해서 원해상도 이미지(즉, 2×2 화소의 평균이 아닌 원래 화소값)를 사용하여 SAD를 계산한다. 저해상도 탐색에서 2×2 화소의 평균값을 사용하였기 때문에, 저해상도 탐색에서 얻어진 하나의 CMV는 원해상도 탐색에서 4개의 탐색 위치에 해당한다.
② SAD가 가장 작은 탐색 위치를 최종 움직임 벡터로 결정한다.
3. 저해상도 양자화, 움직임 추정장치
3.1 전체 아키텍쳐
본 발명에 의한 움직임 추정기는 (-32.0,-32.0)~(31.5,31.5)의 탐색 범위를 가지며, MPEG2 MP@ML P-픽쳐에 대해서 MPEG2 국제 표준에 정의된 두 가지의 움직임 추정 모드를 동시에 처리한다. 움직임 추정기의 전체 블록도는 도 8에 도시된 바와 같다.
3.1.1 각 부분 블록의 기능
도 9는 본 발명의 일실시예에 의한 움직임 추정장치의 기능별 블록을 도시한 것으로서, 크게 기준 블록의 평균값 및 양자화 경계를 계산하는 전처리부(PPU: pre-processing unit, 200), 2비트 저해상도 이미지를 생성하고 전체 탐색 범위에 대해 상이 화소 수(DPC)를 계산하여 움직임 벡터 후보 위치(CMV) 집합을 결정하는 저해상도 탐색부(LRS:low-resolution search unit, 210), CMV 집합에 대해서 4:1 교번 부표본화 탐색을 수행하여 정수 화소 움직임 벡터(IMV: integer-pel motion vector)를 결정하는 원해상도탐색부(FRS: full-resolution search unit, 220), 기준 블록 및 탐색 영역 데이터를 저장하며, PPU, LRS, FRS, HPS 사이의 인터페이스 버퍼 기능을 수행하는 내부 버퍼(230)으로 이루어진다.
그리고 통상적으로 상기 IMV에 대해서 반화소 탐색을 수행하여 반화소 움직임 벡터(HMV: half-pel motion vector)를 결정반화소 탐색부(HPS: half-pel search unit, 미도시)를 갖는다.
상기 전처리부(200), 저해상도탐색부(210) 및 원해상도 탐색부(220)을 기능적으로 보다 상세히 설명하면 다음과 같다.
전처리부(200)는 블록평균계산부(202) 및 양자화경계값 계산부(204)로 이루어진다. 상기 블록평균계산부(202)는 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 양자화경계를 계산하기 전에 기준블록의 평균을 계산한다. 양자화경계값 계산부(204)는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계값(λmax, λmin)을 계산한다.
저해상도 탐색부(210)는 양자화부(212), 상이도 계산부(214) 및 후보블록 결정부(216)으로 이루어진다. 상기 양자화부(212)는 상기 양자화 경계값 계산부(204)에서 생성된 양자화경계값과 이탈화소경계값을 사용하여 상기 기준블록 및 탐색영역의 화소들을 이탈화소가 구분되는 저해상도 이미지로 생성한다. 상기 상이도 계산부(214)는 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하되, 이탈화소가 포함된 탐색영역블록은 상이도 계산에서 배제한다. 상기 후보블록결정부(216)는 상기 상이도 계산부(214)에서 계산된 상이도 중 상이도가 작은 적어도 두 개의 탐색영역블록들을 결정한다.
원해상도 탐색부(220)는 상기 복수개의 후보블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하여 움직임 벡터를 구한다. 상기 원해상도 탐색부(220)는 8x8 픽셀 SAD 계산 및 비교를 하는 8x8 픽셀 SAD 계산 및 비교부(222)와 16x16 픽셀 SAD 계산 및 비교를 하는 16x16 픽셀 SAD 계산 및 비교부(224)로 이루어진다.
3.1.2 메모리 대역폭을 줄이기 위한 내부 버퍼의 사용
본 발명에 의한 움직임 추정기는 메모리 대역폭을 줄이기 위해서 탐색 영역 전체를 내부 버퍼에 저장하는 방식을 채택한다. 도 10에서 처럼 서로 인접하는 매크로블록의 탐색 영역이 서로 겹치는 성질을 이용하여 탐색 영역 전체를 내부 버퍼에 저장한 후 재 사용하면, 매 매크로블록마다 탐색 영역 전부를 읽어들일 필요 없이 새로 추가되는 화소만 읽어들이면 되기 때문에 메모리 대역폭을 줄일 수 있다.
내부 버퍼는 현재 매크로블록의 탐색 영역 전체를 저장하는 CSW 버퍼, 이전 매크로블록의 반화소 탐색을 위해서 탐색 영역 일부를 저장하는 PSW 버퍼, 현재 매크로블록을 저장하는 CRB 버퍼, 이전 매크로블록을 저장하는 PRB 버퍼, 다음 매크로블록을 저장하는 NRB 버퍼의 다섯 부분으로 나뉘어진다.
3.2 저해상도 탐색부
저해상도 탐색부는 VLSI 구현시 도 11과 같이 크게 적응적 양자화기, 저해상도 이미지 레지스터, 단위 처리기, 비교기로 구성된다.
상기 적응적 양자화기는 화소값에서 기준 블록 평균값을 뺀 후 2비트로 양자화하여 저해상도 이미지를 생성하며, 도 12와 같은 구조를 갖는다.
상기 단위 처리기는 매 싸이클마다 기준 블록과 탐색령역의 한 행(column) 씩(=16 화소)을 비교한다. 기준 블록은 16 행으로 구성되어 있으므로, 한 개의 단위 처리기는 16 싸이클마다 하나의 탐색 위치를 처리하여 DPC를 계산하게 된다.
저해상도 이미지 레지스터는 2비트로 양자화된 저해상도 이미지를 저장했다가 단위 처리기에 전달하는 쉬프트 레지스터로이다.
3.3 원해상도 탐색부
원해상도 탐색부는 CMV 집합의 탐색 위치에 대해서 8×8 화소 SAD를 계산하여 네 개의 후보 위치를 결정한 후 이들 네 개의 후보 위치에 대해서 16×16 화소 SAD를 계산하여 정수 화소 움직임 벡터를 결정하는 4:1 교번 부표본화 탐색을 수행한다.
원해상도 탐색부는 VLSI 구현시 도 13과 같이 크게 화소 데이터 준비기, 단위 처리기와 비교기로 구성된다. 4:1 교번 부표본화 탐색에서는 기준 블록 및 탐색 영역을 네 개의 그룹으로 나뉘어 따로따로 SAD를 수행한다.
본 발명에 의한 움직임 추정 방법 및 장치는 움직임 추정을 할 때 기존의 고속탐색 기법에 비해 연산량을 줄이면서도 성능이 우수하다.

Claims (20)

  1. (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계;
    (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및
    (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 하고,
    상기 (a) 단계는
    (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및
    (a-2) 상기 양자화 경계값을 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하는 단계로 이루어지는, 영상시스템의 움직임 추정 방법.
  2. 제1항에 있어서, 상기 (c)단계는
    (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계;
    (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및
    (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  3. 제1항 또는 제2항에 있어서, 상기 화소의 원래 해상도는
    8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  4. 제1항 또는 제2항에 있어서, 상기 (a)단계는
    기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계;
    상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계;
    상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및
    상기 양자화 경계값을 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  5. 제4항에 있어서, 상기 소정 개수 단위의 화소는
    2x2 화소임을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  6. 제1항 또는 제2항에 있어서, 상기 (b)단계는
    기준블록의 저해상도 이미지의 복원화소 값에서 탐색영역블록의 저해상도 이미지의 복원 화소값을 뺀 차의 절대값을 모두 더하여 상이도를 결정함을 특징으로 하는 영상 시스템의 움직임 추정 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 양자화경계는
    이진탐색에 의해 구해짐을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  8. (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계;
    (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및
    (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 하고,
    상기 (a) 단계는
    (a-1) 상기 기준블록의 양자화 경계값을 설정하는 단계; 및
    (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;
    (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고,
    상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제하는, 영상 시스템의 움직임 추정 방법.
  9. 제8항에 있어서, 상기 (c)단계는
    (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계;
    (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및
    (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  10. 제8항 또는 제9항에 있어서, 상기 화소의 원래 해상도는
    8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  11. 제8항 또는 제9항에 있어서, 상기 (a)단계는
    기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계;
    상기 평균값으로 표현된 기준블록에 대해 양자화 경계값을 구하는 단계;
    상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;
    상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및
    상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  12. 제11항에 있어서, 상기 소정 개수 단위의 화소는
    2x2 화소임을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  13. 제8항 또는 제9항에 있어서, 상기 (b)단계는
    기준블록의 저해상도 이미지의 복원화소 값에서 탐색영역블록의 저해상도 이미지의 복원 화소값을 뺀 차의 절대값을 모두 더하여 상이도를 결정함을 특징으로 하는 영상 시스템의 움직임 추정 방법.
  14. 제1항에 있어서, 상기 (a) 단계는
    (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계;
    (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;
    (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고,
    상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제하는, 영상 시스템의 움직임 추정 방법.
  15. 제14항에 있어서, 상기 (c)단계는
    (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계;
    (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및
    (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  16. 제14항 또는 제15항에 있어서, 상기 화소의 원래 해상도는
    8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  17. 제14항 또는 제15항에 있어서, 상기 (a)단계는
    기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계;
    상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계;
    상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;
    상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및
    상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 벡터 추정 방법.
  18. 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 계산되는 이탈화소경계값(λmax, λmin)을 생성하는 전처리부;
    저해상도 이미지를 생성하고, 전체 탐색범위에 대해 상이화소수를 계산하여 움직임벡터 후보집합을 결정하는 저해상도 탐색부;
    상기 복수개의 후보블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하여 최종 움직임 벡터를 구하는 원해상도 탐색부를 포함함을 특징으로 하고,
    상기 저해상도 탐색부는
    상기 경계값 생성부에서 생성된 양자화경계값과 이탈화소경계값을 사용하여 상기 기준블록 및 탐색영역의 화소들을 이탈화소가 구분되는 저해상도 이미지로 생성하는 양자화부;
    상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하되, 이탈화소가 포함된 탐색영역블록은 상이도 계산에서 배제하는 상이도 계산부; 및
    상기 상이도 계산부에서 계산된 상이도 중 상이도가 작은 적어도 두 개의 탐색영역블록들을 결정하는 후보블록결정부로 이루어지는 영상시스템의 움직임 추정 장치.
  19. 제18항에 있어서, 상기 전처리부는
    양자화경계를 계산하기 전에 기준블록의 평균을 계산하는 블록평균계산부; 및
    평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계값(λmax, λmin)을 계산하는 양자화 경계값 계산부로 이루어짐을 특징으로 하는 영상시스템의 움직임 추정 장치.
  20. 제18항에 있어서,
    상기 전처리부, 저해상도탐색부 및 원해상도 탐색부 간의 인터페이스를 수행하고, 메모리 대역폭을 줄이기 위해 탐색영역 전체 데이터를 저장하는 내부버퍼를 더 구비함을 특징으로 하는 영상시스템의 움직임 추정장치.
KR1019980035846A 1998-09-01 1998-09-01 영상시스템의움직임추정방법및장치 KR100292355B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980035846A KR100292355B1 (ko) 1998-09-01 1998-09-01 영상시스템의움직임추정방법및장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980035846A KR100292355B1 (ko) 1998-09-01 1998-09-01 영상시스템의움직임추정방법및장치

Publications (2)

Publication Number Publication Date
KR20000018311A true KR20000018311A (ko) 2000-04-06
KR100292355B1 KR100292355B1 (ko) 2001-07-12

Family

ID=19549155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980035846A KR100292355B1 (ko) 1998-09-01 1998-09-01 영상시스템의움직임추정방법및장치

Country Status (1)

Country Link
KR (1) KR100292355B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100446414B1 (ko) * 2002-07-15 2004-08-30 손광훈 계층적 변이 추정부 및 그 방법과 이를 이용한 스테레오혼합 현실 영상 합성 장치 및 그 방법
WO2011021911A2 (ko) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
US11622124B2 (en) 2009-08-21 2023-04-04 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100315420B1 (ko) * 1999-12-24 2001-11-28 오길록 움직임 추정을 위한 통합 연산 장치
KR100446235B1 (ko) * 2001-05-07 2004-08-30 엘지전자 주식회사 다중 후보를 이용한 움직임 벡터 병합 탐색 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100446414B1 (ko) * 2002-07-15 2004-08-30 손광훈 계층적 변이 추정부 및 그 방법과 이를 이용한 스테레오혼합 현실 영상 합성 장치 및 그 방법
WO2011021911A2 (ko) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011021911A3 (ko) * 2009-08-21 2011-06-09 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
US11622124B2 (en) 2009-08-21 2023-04-04 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution

Also Published As

Publication number Publication date
KR100292355B1 (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
KR100659704B1 (ko) 비디오 이미지 데이터의 제 1 및 제 2 프레임 사이의 움직임 벡터를 얻기 위한 방법, 장치, 및 시스템, 및 컴퓨터-판독가능 매체
Chen et al. A new block-matching criterion for motion estimation and its implementation
EP1262073B1 (en) Methods and apparatus for motion estimation using neighboring macroblocks
JP4001400B2 (ja) 動きベクトル検出方法及び動きベクトル検出装置
KR960010198B1 (ko) 동영상 부호화기의 움직임 추정방법 및 장치
US20040114688A1 (en) Device for and method of estimating motion in video encoder
US6483876B1 (en) Methods and apparatus for reduction of prediction modes in motion estimation
KR100739281B1 (ko) 움직임 추정 방법 및 장치
KR950009699B1 (ko) 움직임벡터 검출방법 및 장치
JP3655651B2 (ja) データ処理装置
US6400764B1 (en) Motion estimation method featuring orthogonal-sum concurrent multi matching
CN101326550A (zh) 利用预测指导的抽取搜索的运动估计
EP1413144A2 (en) Methods and apparatus for sub-pixel motion estimation
KR100994768B1 (ko) 동영상 부호화를 위한 움직임 추정 방법 및 이를 구현하기위한 프로그램이 기록된 기록 매체
US6556718B1 (en) Video pictures compression and coding with decision step for field/frame and motion vectors DCT
WO2001049029A1 (en) Methods and apparatus for motion estimation in compressed domain
US6360015B1 (en) RAM-based search engine for orthogonal-sum block match motion estimation system
US6480629B1 (en) Motion estimation method using orthogonal-sum block matching
US6996181B2 (en) Motion estimation method by employing a stochastic sampling technique
KR100292355B1 (ko) 영상시스템의움직임추정방법및장치
Jung et al. Efficient multilevel successive elimination algorithms for block matching motion estimation
KR20070000702A (ko) 탐색영역 재설정을 이용한 고속 움직임 예측 장치 및 방법
Ng et al. A new fast motion estimation algorithm based on search window sub-sampling and object boundary pixel block matching
US20040233985A1 (en) Motion estimation method using multilevel successive elimination algorithm
Kossentini et al. Computation-constrained fast MPEG-2 encoding

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

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee