KR20000008897A - 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치및 그 방법 - Google Patents

테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치및 그 방법 Download PDF

Info

Publication number
KR20000008897A
KR20000008897A KR1019980028964A KR19980028964A KR20000008897A KR 20000008897 A KR20000008897 A KR 20000008897A KR 1019980028964 A KR1019980028964 A KR 1019980028964A KR 19980028964 A KR19980028964 A KR 19980028964A KR 20000008897 A KR20000008897 A KR 20000008897A
Authority
KR
South Korea
Prior art keywords
block
difference
vector quantization
blocks
subblocks
Prior art date
Application number
KR1019980028964A
Other languages
English (en)
Other versions
KR100318471B1 (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 KR1019980028964A priority Critical patent/KR100318471B1/ko
Publication of KR20000008897A publication Critical patent/KR20000008897A/ko
Application granted granted Critical
Publication of KR100318471B1 publication Critical patent/KR100318471B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream

Landscapes

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

Abstract

1. 청구 범위에 기재된 발명이 속한 기술분야
본 발명은 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 움직임 추정 장치의 속도를 증가시키기 위해 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치 및 그 방법을 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 이전 프레임 및 현재 프레임의 블록을 읽어 부블록으로 분할하여 분할된 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장하는 제 1 단계; 상기 테이블 룩업 벡터 양자화된 상기 이전 프레임의 블록내 부블록과 상기 현재 프레임의 블록내 부블록의 부블록간 차이값들을 읽고 이 차이값들을 합하여 블록간 차이를 계산하는 제 2 단계; 및 상기 계산된 현재 프레임 및 이전 프레임의 블록간 차이중 가장 작은 블록간 차이를 찾아내어 해당 공간 위치 차이를 전송하는 제 3 단계를 포함한다.
4. 발명의 중요한 용도
본 발명은 움직임 추정 등에 이용됨.

Description

테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치 및 그 방법
본 발명은 움직임 추정 장치(Motion Estimator)의 속도를 증가시키기 위해 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치 및 그 방법에 관한 것이다.
도 1 은 종래의 두 블록간 차이 계산 방식을 나타낸 설명도이다.
도면에 도시된 바와 같이, 종래의 움직임 추정 방법에서는 두 블록간의 차이를 계산하기 위하여 각 화소간의 차이의 절대값의 합(Sum Absolute Difference)(이하, "SAD"라 함) 또는 각 화소간의 차이의 제곱의 합(Sum Squared Difference)(이하, "SSD"라 함)을 사용하기 때문에 많은 계산량이 요구된다. 예를 들어, 한 블록이 L 라인 및 L 화소로 이루어진 경우(즉, 블록의 크기가 L×L인 경우) SAD를 이용하는 종래의 방법에서는 두 블록간의 차이를 계산하기 위하여 L2번의 뺄셈 연산, L2-1번의 덧셈 연산 및 L2번의 비교 연산이 요구되며, SSD를 이용하는 종래의 방법에서는 L2번의 곱셈 연산 및 L2-1번의 덧셈 연산이 요구된다.
또한, 움직임 추정 탐색 영역이 수평으로 +-I 화소이고, 수직으로 +-J 화소이며, 정수 정확도의 움직임 추정(integer-accuracy motion estimation)을 수행하는 경우(즉, 후보 움직임 벡터의 수가 (2×I+1)×(2×J+1)인 경우), 각 후보 움직임 벡터에서의 SAD를 구하기 위해서는 한 화소당 대략 각각 (2×I+1)×(2×J+1)번씩의 덧셈, 뺄셈 및 비교 연산이 필요하며, 후보 움직임 벡터들 중 최적의 움직임 벡터를 찾기 위해서는 한 블록당 (2×I+1)×(2×J+1)-1번의 비교 연산이 필요하다. 예를 들어, 움직임 추정 단위 블록의 크기가 16×16, 움직임 추정 탐색영역이 수평으로 +-16, 수직으로 +-16 화소인 경우, 한 화소당 대략 1089번씩의 덧셈과 뺄셈 및 1093번의 비교 연산이 필요하다.
따라서, 종래의 움직임 추정 방법에서는 두 블록간의 차이를 계산하기 위하여 각 화소간 SAD 및 각 화소간 SSD 방식을 이용하기 때문에 많은 계산량이 요구되어 저비용의 실시간 구현에 많은 제약이 따르는 문제점이 있었다.
따라서, 상기와 같은 문제점을 해결하기 위하여 안출된 본 발명은, 움직임 추정 속도를 향상시키기 위해 테이블 룩업 벡터 양자화를 이용하여 부블록들간의 차이를 미리 계산하여 메모리에 저장시킨 후 움직임 추정시 메모리에 저장된 계산값을 이용하여 고속 블록 정합 움직임 벡터를 추정할 수 있는 블록 정합 움직임 추정 장치 및 그 방법을 제공하는데 그 목적이 있다.
도 1 은 종래의 두 블록간 차이 계산 방식을 나타낸 설명도.
도 2 는 일반적인 블록 정합 움직임 추정 구획도.
도 3 은 본 발명에 따른 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치의 일실시예 구성도.
도 4 는 본 발명에 따른 두 블록간 차이 계산 방식을 나타낸 설명도.
도 5 는 본 발명에 따른 움직임 추정 단위인 블록과 벡터 양자화 단위인 부블록간의 관계를 나타낸 설명도.
도 6 은 본 발명에 따른 각 부블록의 계층 벡터 양자화를 나타낸 설명도.
도 7 은 본 발명에 따른 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 방법의 일실시예 흐름도.
* 도면의 주요부분에 대한 부호의 설명
301 : 주소 생성기 302 : 제 1 프레임 메모리
303 : 제 2 프레임 메모리 304 : 제 1 테이블 메모리
305 : 블록 버퍼 306 : 제 2 테이블 메모리
307 : 가산기 308 : 비교기
상기의 목적을 달성하기 위한 본 발명의 장치는, 이전 프레임 및 현재 프레임의 블록내 부블록을 테이블 룩업 벡터 양자화하기 위한 테이블을 저장하기 위한 제 1 저장 수단; 이전 복호화된 프레임 및 상기 제 1 저장 수단의 출력에 따라 상기 이전 복호화된 프레임의 벡터 양자화 인덱스를 저장하기 위한 제 2 저장 수단; 부호화할 현재 프레임을 저장하기 위한 제 3 저장 수단; 상기 제 1 및 제 3 저장 수단의 출력에 따라 상기 현재 프레임의 블록 및 그 블록내 부블록들의 벡터 양자화 인덱스를 저장하기 위한 제 4 저장 수단; 상기 제 2 및 제 4 저장 수단의 출력에 따라 상기 제 1 저장 수단의 데이터를 읽거나 상기 제 2 내지 제 4 저장 수단에 데이터를 쓰기 위해 주소를 생성하여 지정하기 위한 주소 생성 수단; 상기 제 2 내지 제 4 저장 수단의 출력에 따라 상기 테이블 룩업 벡터 양자화된 상기 이전 프레임의 블록내 부블록과 상기 현재 프레임의 블록내 부블록간의 차이를 읽어낼 수 있도록 미리 계산된 부블록간 차이값들을 저장하기 위한 제 5 저장 수단; 상기 제 5 저장 수단의 출력에 따라 상기 이전 및 현재 프레임의 블록간 차이를 구하기 위해 상기 이전 및 현재 프레임의 블록내 부블록의 차이를 더하기 위한 연산 수단; 및 상기 연산 수단으로부터의 계산된 블록간 차이값과 기준값을 비교하여 공간적 위치 차이를 획득하기 위한 비교 수단을 포함한다.
또한, 본 발명의 방법은, 블록 정합 움직임 추정 장치에 적용되는 블록 정합 움직임 추정 방법에 있어서, 이전 프레임 및 현재 프레임의 블록을 읽어 부블록으로 분할하여 분할된 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장하는 제 1 단계; 상기 테이블 룩업 벡터 양자화된 상기 이전 프레임의 블록내 부블록과 상기 현재 프레임의 블록내 부블록의 부블록간 차이값들을 읽고 이 차이값들을 합하여 블록간 차이를 계산하는 제 2 단계; 및 상기 계산된 현재 프레임 및 이전 프레임의 블록간 차이중 가장 작은 블록간 차이를 찾아내어 해당 공간 위치 차이를 전송하는 제 3 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 2 는 일반적인 블록 정합 움직임 추정 구획도이다.
도면에 도시된 바와 같이, 현재 프레임의 움직임을 추정하고자 하는 블록은 다수의 두 블록간 차이 계산부에 공통적으로 사용되므로 다수의 두 블록간 차이 계산부에서 중복적으로 벡터 양자화할 필요가 없고, 다수의 두 블록간 차이 계산부중 하나의 두블록간 차이 계산부에서만 벡터 양자화한 후 나머지 두블록간 차이 계산부들에서 그 양자화 인덱스들을 이용할 수 있다.
현재 움직임 추정하고자 하는 블록의 움직임 추정 탐색 영역이 겹치므로(overlapped), 이전 프레임내 정수 위치의 모든 부블록들을 미리 벡터 양자화한 후 그 양자화 인덱스들을 메모리에 저장하여 두었다가 각 움직임 추정 탐색 영역내에 해당되는 양자화 인덱스들만을 메모리로부터 읽어서 사용할 수 있다. 물론 사용 가능한 메모리의 양이 충분하지 않을 경우에는 이전 영상 프레임의 일부분에 해당되는 양자화 인덱스들만 저장할 수도 있고, 각 움직임 추정 블록마다 새로이 양자화 인덱스를 구하여 사용할 수도 있다.
도 3 은 본 발명에 따른 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치의 일실시예 구성도로서, 각 메모리에 있는 데이터를 읽거나 각 메모리에 데이터를 쓰기 위해 메모리 주소를 생성하여 지정하기 위한 주소 생성기(301), 이전 복호화된 프레임 및 이전 복호화된 프레임의 벡터 양자화 인덱스를 저장하기 위한 제 1 프레임 메모리(302), 부호화할 현재 프레임을 저장하기 위한 제 2 프레임 메모리(303), 이전 프레임 및 현재 프레임 블록의 각 부블록을 벡터 양자화하는데 필요한 테이블들을 저장하기 위한 제 1 테이블 메모리(304), 움직임 추정하고자 하는 현재 프레임의 블록 및 그 블록내 부블록들의 양자화 인덱스를 저장하기 위한 블록 버퍼(305), 벡터 양자화된 이전 프레임 및 현재 프레임의 부블록간의 차이를 미리 계산하여 계산값을 저장하기 위한 제 2 테이블 메모리(306), 블록간의 차이를 계산하기 위해 부블록들간의 차이를 가산하기 위한 가산기(307) 및 움직임 탐색 영역내 후보 블록과 현재 블록을 비교하여 가장 작은 블록 차이를 가지는 후보 블록을 찾아내기 위한 비교기(308)를 구비한다.
도면에 도시된 바와 같이, 제 1 프레임 메모리(302)가 복호화된 이전 프레임을 읽어들여 저장하고, 주소 생성기(301)가 주소 1을 지정하여 제 1 프레임 메모리(302)에 저장된 이전 프레임의 화소값(데이터 1)을 읽는다.
이후, 주소 생성기(301)가 읽어온 이전 프레임의 화소값을 제 1 테이블 메모리(304)에 주소 2로 지정하여 이전 프레임내 정수 위치의 모든 부블록들을 테이블 룩업 벡터 양자화한 벡터 양자화 인덱스를 제 1 프레임 메모리(302)에 저장한다.
이후, 제 2 프레임 메모리(303)가 부호화할 현재 프레임을 읽어들여 저장하고, 주소 생성기(301)에 의해 지정된 주소 3을 이용하여 블록 버퍼(305)가 제 2 프레임 메모리(303)로부터 현재 프레임의 움직임 추정하고자 하는 블록(데이터 3)을 읽어 저장한다.
이후, 주소 생성기(301)가 블록 버퍼(305)에 주소 4를 지정하여 현재 프레임의 블록내 화소값(데이터 4)을 읽고, 이 값을 제 1 테이블 메모리(304)에 주소 2로 지정하여 현재 프레임의 블록내의 모든 부블록들을 테이블 룩업 벡터 양자화한 벡터 양자화 인덱스(데이터 5)를 블록 버퍼(305)에 저장한다.
이후, 제 2 테이블 메모리(306)가 이전 프레임의 블록내 부블록의 벡터 양자화 인덱스(데이터 6) 및 현재 프레임의 블록내 부블록의 벡터 양자화 인덱스(데이터 7)를 이용하여 부블록간의 차이를 읽어낸다.
이후, 가산기(307)가 제 2 테이블 메모리(306)로부터 읽어낸 부블록간의 차이(데이터 8)를 더하여 블록간 차이를 계산하고, 비교기(308)가 가산기(307)에서 계산된 블록간 차이(데이터 9)가 최소 블록 차이인지를 비교하여 가장 작은 차이를 갖는 후보 블록과 현 블록의 공간적 위치 차이(데이터 10)를 찾아낸다. 찾아진 공간적 위치 차이가 바로 현 블록의 움직임 벡터이며 이는 복호기로 전송된다.
도 4 는 본 발명에 따른 두 블록간 차이 계산 방식을 나타낸 설명도로서, 블록의 크기가 8×8, 부블록의 크기가 4×2인 경우에 관한 것이다.
도면에 도시된 바와 같이, 두 블록간의 차이를 계산하기 위하여 먼저 각 입력 블록들을 두 블록으로 분해하고, 움직임 추정 탐색 영역내 임의 위치의 블록(v) 역시 움직임을 추정하고자 하는 현 프레임의 블록(u)과 같은 방법으로 분해된다. 분해된 각 부블록은 테이블 룩업 벡터 양자기(table lookup vector quantizer)를 통하여 벡터 양자화되며, 테이블 룩업 벡터 양자기는 계산없이 완전히 테이블 룩업(table lookup)으로만 이루어진다. 현 블록(u) 및 탐색영역내 임의 위치의 블록(v)은 서로 다른 테이블을 이용하여 벡터 양자화될 수 있다. 도 6의 경우처럼 부블록이 8개의 화소로 이루어진 경우 하나의 부블록을 벡터 양자화하기 위해서는 7번의 테이블 룩업(즉, 한 화소당 7/8번의 테이블 룩업)이 필요하다. 일반적으로 부블록의 크기가 M×N인 경우 한 화소당 평균 1-1/M×N번의 테이블 룩업이 필요하다. 테이블 룩업 계층 벡터 양자기의 설계 방법은 이미 발표된 여러 논문에서 자세히 설명되어 있다.
각 블록들이 벡터 양자화되면 두 입력 블록내에 동일한 위치에 있는 두 부블록의 벡터 양자화 인덱스들이 두 블록간의 SAD를 근사적으로 계산하기 위해 이용된다. 예를 들어, 현 블록내 가장 왼쪽 위에 있는 부블록을 u'11, 이전 블록내 동일한 위치의 부블록을 v'11이라 하고, 각 블록이 벡터 양자기에 의해 양자화된 인덱스 값을 각각 i, j라 하면, 두 블록 u'11과 v'11간의 SAD는 미리 저장해 놓은 테이블내의 (i, j)번째 값인 t(i, j)로 근사된다. t(i, j)는 양자화 인덱스 i에 해당되는 대표 벡터 xi와 양자화 인덱스 j에 해당되는 대표 벡터 xj간의 SAD를 미리 저장하여 테이블에 저장해 놓은 값이다. 대표 벡터 xj, xi들은 메모리에 저장될 필요가 없으며 이 대표 벡터들을 구하는 방법은 이미 많은 논문에서 발표된 여러 벡터 양자기 설계 방법중 임의의 것을 이용할 수 있다.
이렇게 근사화된 각 부블록들간의 SAD를 모두 더하면 두 입력 블록들간의 SAD를 근사적으로 계산할 수 있다. 도 5의 경우처럼 하나의 블록이 8개의 부블록으로 구성된 경우 이를 위해서는 8번의 테이블 룩업과 7번의 덧셈이 필요하다. 일반적으로 블록의 크기가 L×L이고, 부블록의 크기가 M×N인 경우 L/M × L/N번의 테이블 룩업과 L/M × L/N - 1번의 덧셈 연산이 필요하다. 전술한 바와 같이 제안하는 움직임 추정 방법은 상당한 계산량의 감소를 가져온다.
예를 들어, 움직임 추정 단위인 블록의 크기가 16×16, 양자화 단위인 부블록의 크기가 4×2, 움직임 추정 탐색 영역이 수평으로 +-16, 수직으로 +-16 화소인 경우, 한 화소당 평균 140번의 테이블 룩업, 132번의 덧셈 및 4번의 비교 연산이 필요하다. 이는 종래의 방법(화소당 1089번의 덧셈과 뺄셈 및 1093번의 비교 연산)에 비해 매우 적은 연산량이라 할 수 있다.
본 발명은 전술한 바와 같은 실시예의 파라미터외의 값에 대해서도 적용이 가능하다. 즉 블록의 크기가 8×8, 16×16 또는 그 외의 크기에 대해서도 적용 가능하며, 부블록의 크기도 4×2외의 값을 사용하는 것이 가능하다. 부블록의 크기를 크게 하면 움직임 추정 정확도가 떨어지는 대신 요구되는 계산량이 적어져 속도가 더욱 증가하며, 부블록의 크기를 작게 하면 움직임 추정 정확도는 증가하는 대신 종래 방법에 대한 속도 증가량이 감소하게 된다. 또한, SAD외에도 SSD 또는 그 이외의 블록 차이 잣대(block difference measure)가 사용될 수 있다.
본 발명은 전구간 탐색 움직임 추정 방법(full-search motion estimation) 뿐만 아니라 3단계 움직임 추정 방법(3 step motion estimation) 등 여러 기존의 고속 움직임 추정 방법에도 적용될 수 있다. 전구간 탐색 움직임 추정 방법 및 3 단계 움직임 추정 방법 등 종래 고속 움직임 추정 방법의 원리는 종래에 발표된 여러 논문에서 쉽게 찾아볼 수 있다.
도 5 는 본 발명에 따른 움직임 추정 단위인 블록과 벡터 양자화 단위인 부블록간의 관계를 나타낸 설명도로서, 블록의 크기가 8×8이고, 부블록의 크기가 4×2인 경우를 나타낸다.
도 6 은 본 발명에 따른 각 부블록의 계층 벡터 양자화를 나타낸 설명도로서, 벡터 양자화될 부블록의 크기가 4×2인 경우를 나타낸다.
도 7 은 본 발명에 따른 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 방법의 일실시예 흐름도이다.
도면에 도시된 바와 같이, 복호화된 이전 프레임의 화소값을 읽고(701), 이전 프레임의 정수 위치의 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장하며(702), 현재 프레임의 블록을 읽고(703), 현재 프레임의 블록내 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장한다(704).
이후, 후보 블록내 부블록들의 벡터 양자화 인덱스를 읽고(705), 현 블록 및 후보 블록내 부블록들의 벡터 양자화 인덱스로부터 부블록간 차이값들을 읽으며(706), 부블록간 차이값들을 더하여 블록 차이값을 계산한다(707).
이후, 계산된 블록 차이값이 최소 블록 차이인지를 판단하여(708) 최소 블록 차이이면 후보 블록과 현 블록의 공간적 차이를 저장하며(709), 최소 블록 차이가 아니면 탐색 영역내에 후보 블록이 더 남아있는지를 판단하여(710) 후보 블록이 더 남아있으면 다음 후보 블록내 부블록들의 벡터 양자화 인덱스를 읽고(711), 현 블록 및 후보 블록내 벡터 양자화 인덱스로부터 부블록간 차이값을 읽는 과정부터 반복 수행한다.
한편, 최소 블록 차이가 아니면 탐색 영역내에 후보 블록이 더 남아있는지를 판단하여(710) 후보 블록이 더 남아있지 않으면 공간적 위치 차이를 전송하고(712), 현재 프레임에 블록이 더 남아있는지를 판단하여(713) 현재 프레임에 블록이 더 남아있지 않으면 다음 프레임을 처리하고, 현재 프레임에 블록이 더 남아있으면 현재 프레임의 다음 블록을 읽으며(714) 현재 프레임의 블록내 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장하는 과정을 반복 수행한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
그러므로, 전술한 바와 같은 본 발명은, 부블록간의 차이 잣대로 계산하기 어려운 복잡한 차이 잣대의 사용이 가능하도록 함으로써 동영상 압축 성능을 향상시킬 수 있는 새로운 차이 잣대를 움직임 추정을 위해 용이하게 이용할 수 있고, 메모리의 양 및 움직임 추정 성능간의 트레이드-오프(trade-off)와 움직임 추정 속도 및 추정 성능간의 트레이드-오프가 가능하여 데스크탑 컴퓨터, 노트북 컴퓨터, PDA(personal digital assistant) 등 사용 환경에 따라 움직임 추정 장치를 다양하게 적용할 수 있는 효과가 있다.

Claims (5)

  1. 이전 프레임 및 현재 프레임의 블록내 부블록을 테이블 룩업 벡터 양자화하기 위한 테이블을 저장하기 위한 제 1 저장 수단;
    이전 복호화된 프레임 및 상기 제 1 저장 수단의 출력에 따라 상기 이전 복호화된 프레임의 벡터 양자화 인덱스를 저장하기 위한 제 2 저장 수단;
    부호화할 현재 프레임을 저장하기 위한 제 3 저장 수단;
    상기 제 1 및 제 3 저장 수단의 출력에 따라 상기 현재 프레임의 블록 및 그 블록내 부블록들의 벡터 양자화 인덱스를 저장하기 위한 제 4 저장 수단;
    상기 제 2 및 제 4 저장 수단의 출력에 따라 상기 제 1 저장 수단의 데이터를 읽거나 상기 제 2 내지 제 4 저장 수단에 데이터를 쓰기 위해 주소를 생성하여 지정하기 위한 주소 생성 수단;
    상기 제 2 내지 제 4 저장 수단의 출력에 따라 상기 테이블 룩업 벡터 양자화된 상기 이전 프레임의 블록내 부블록과 상기 현재 프레임의 블록내 부블록간의 차이를 읽어낼 수 있도록 미리 계산된 부블록간 차이값들을 저장하기 위한 제 5 저장 수단;
    상기 제 5 저장 수단의 출력에 따라 상기 이전 및 현재 프레임의 블록간 차이를 구하기 위해 상기 이전 및 현재 프레임의 블록내 부블록의 차이를 더하기 위한 연산 수단; 및
    상기 연산 수단으로부터의 계산된 블록간 차이값과 기준값을 비교하여 공간적 위치 차이를 획득하기 위한 비교 수단
    을 포함하는 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 장치.
  2. 블록 정합 움직임 추정 장치에 적용되는 블록 정합 움직임 추정 방법에 있어서,
    이전 프레임 및 현재 프레임의 블록을 읽어 부블록으로 분할하여 분할된 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장하는 제 1 단계;
    상기 테이블 룩업 벡터 양자화된 상기 이전 프레임의 블록내 부블록과 상기 현재 프레임의 블록내 부블록의 부블록간 차이값들을 읽고 이 차이값들을 합하여 블록간 차이를 계산하는 제 2 단계; 및
    상기 계산된 현재 프레임 및 이전 프레임의 블록간 차이중 가장 작은 블록간 차이를 찾아내어 해당 공간 위치 차이를 전송하는 제 3 단계
    를 포함하는 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 방법.
  3. 제 2 항에 있어서,
    상기 제 1 단계는,
    복호화된 이전 프레임의 블록을 읽어 상기 이전 프레임의 블록내 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장하는 제 4 단계; 및
    상기 현재 프레임의 블록을 읽어 상기 현재 프레임의 블록내 부블록을 테이블 룩업 벡터 양자화하여 벡터 양자화 인덱스를 저장하는 제 5 단계
    를 포함하여 이루어진 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 방법.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 제 2 단계는,
    현 블록 및 후보 블록내 부블록들의 벡터 양자화 인덱스로부터 부블록간 차이값들을 읽는 제 6 단계; 및
    부블록간 차이값들을 합하여 블록간 차이값을 계산하는 제 7 단계
    를 포함하여 이루어진 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 방법.
  5. 제 4 항에 있어서,
    상기 제 3 단계는,
    상기 계산된 블록간 차이값이 최소 블록 차이인지를 판단하는 제 8 단계;
    상기 제 8 단계의 판단 결과, 최소 블록 차이이면 후보 블록과 현 블록의 공간적 위치 차이를 저장하여 탐색 영역내에 후보 블록이 더 남아있는지를 판단하는 제 9 단계;
    상기 제 9 단계의 판단 결과, 후보 블록이 더 남아있으면 다음 후보 블록내 부블록들의 양자화 인덱스를 읽고, 상기 제 6 단계부터 반복 수행하는 제 10 단계;
    상기 제 9 단계의 판단 결과, 후보 블록이 더 남아있지 않으면 공간적 위치 차이를 전송하고, 상기 현재 프레임에 블록이 더 남아있는지를 판단하는 제 11 단계;
    상기 제 11 단계의 판단 결과, 블록이 더 남아있으면 상기 현재 프레임의 다음 블록을 읽고, 상기 제 5 단계의 벡터 양자화 인덱스 저장 과정부터 반복 수행하고, 블록이 더 남아있지 않으면 다음 프레임을 읽는 제 12 단계; 및
    상기 제 8 단계의 판단 결과, 최소 블록 차이가 아니면 상기 제 9 단계의 후보 블록이 더 남아있는지를 판단하는 과정부터 수행하는 제 13 단계
    를 포함하여 이루어진 테이블 룩업 벡터 양자화를 이용한 블록 정합 움직임 추정 방법.
KR1019980028964A 1998-07-16 1998-07-16 테이블룩업벡터양자화를이용한블록정합움직임추정장치및그방법 KR100318471B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980028964A KR100318471B1 (ko) 1998-07-16 1998-07-16 테이블룩업벡터양자화를이용한블록정합움직임추정장치및그방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980028964A KR100318471B1 (ko) 1998-07-16 1998-07-16 테이블룩업벡터양자화를이용한블록정합움직임추정장치및그방법

Publications (2)

Publication Number Publication Date
KR20000008897A true KR20000008897A (ko) 2000-02-15
KR100318471B1 KR100318471B1 (ko) 2002-02-19

Family

ID=19544528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980028964A KR100318471B1 (ko) 1998-07-16 1998-07-16 테이블룩업벡터양자화를이용한블록정합움직임추정장치및그방법

Country Status (1)

Country Link
KR (1) KR100318471B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100709376B1 (ko) * 2001-07-05 2007-04-20 삼성전자주식회사 고속 벡터 양자 부호화를 위한 탐색 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100207391B1 (ko) * 1995-09-29 1999-07-15 전주범 적응적인 벡터 양자화를 이용한 영상 부호화 시스템 및 그의 움직임 정보 검출 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100709376B1 (ko) * 2001-07-05 2007-04-20 삼성전자주식회사 고속 벡터 양자 부호화를 위한 탐색 장치 및 방법

Also Published As

Publication number Publication date
KR100318471B1 (ko) 2002-02-19

Similar Documents

Publication Publication Date Title
KR100839311B1 (ko) 비디오 또는 이미지 정보를 디코딩하는 방법, 본 방법을 수행하기 위한 컴퓨터 수행 가능한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체, 그리고 비디오 또는 이미지 정보를 제공하기 위한 시스템
Chen et al. Rate-distortion optimal motion estimation algorithms for motion-compensated transform video coding
US8705611B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
JP3277111B2 (ja) 動画像符号化装置および動画像復号化装置
Zhao et al. Adaptive quantization parameter cascading in HEVC hierarchical coding
JPWO2010064396A1 (ja) 動画像復号化方法および動画像符号化方法
KR20010082934A (ko) 움직임 추정 방법 및 장치
KR20010083717A (ko) 움직임 추정 방법 및 장치
KR20070027119A (ko) 향상된 움직임 추정 방법, 상기 방법을 이용한 비디오인코딩 방법 및 장치
CN109429071A (zh) 图像编码装置、图像解码装置及图像处理方法
MXPA06000555A (es) Calculo de movimiento con coincidencia del bloque de busqueda rapida.
CN1325220A (zh) 运动向量编码方法
US20160277767A1 (en) Methods, systems and apparatus for determining prediction adjustment factors
Kim et al. Fractal coding of video sequence using circular prediction mapping and noncontractive interframe mapping
KR100442844B1 (ko) 중심점을이용한객체의외곽선부호화방법및이를이용한부호화장치
US6141449A (en) Coding mode determination system
KR100318471B1 (ko) 테이블룩업벡터양자화를이용한블록정합움직임추정장치및그방법
KR20040035390A (ko) 비디오 영상 압축 시스템에서의 적응적 패턴을 이용한움직임 예측 장치 및 방법
JP2005168028A (ja) 絶対差演算装置とそれを用いた動き推定装置及び動映像符号化装置
Erol et al. Implementation of a fast H. 263+ encoder/decoder
JP2017050744A (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP2007510344A (ja) 電力最適化された配列動き予測方法
JP2002064825A (ja) 画像の領域分割装置
Senda et al. Theoretical background and improvement of a simplified half-pel motion estimation
JP6654549B2 (ja) 映像符号化装置、映像符号化方法及びコンピュータプログラム

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

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131204

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20141205

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20151202

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20161206

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 17

EXPY Expiration of term