KR100926440B1 - 영상부호화를 위한 블록 매칭 움직임 추정 장치 - Google Patents

영상부호화를 위한 블록 매칭 움직임 추정 장치 Download PDF

Info

Publication number
KR100926440B1
KR100926440B1 KR1020020035921A KR20020035921A KR100926440B1 KR 100926440 B1 KR100926440 B1 KR 100926440B1 KR 1020020035921 A KR1020020035921 A KR 1020020035921A KR 20020035921 A KR20020035921 A KR 20020035921A KR 100926440 B1 KR100926440 B1 KR 100926440B1
Authority
KR
South Korea
Prior art keywords
pixel
data
block
block distortion
distortion
Prior art date
Application number
KR1020020035921A
Other languages
English (en)
Other versions
KR20040000907A (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 KR1020020035921A priority Critical patent/KR100926440B1/ko
Publication of KR20040000907A publication Critical patent/KR20040000907A/ko
Application granted granted Critical
Publication of KR100926440B1 publication Critical patent/KR100926440B1/ko

Links

Images

Classifications

    • 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/43Hardware specially adapted for motion estimation or 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/182Methods 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 a pixel
    • 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

Landscapes

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

Abstract

본 발명은 시스톨릭 어레이 구조를 통해 블록 정합 위치 추정 알고리즘을 구현하여 성능을 향상시키고, 반화소 위치 추정을 적용하여 정밀도를 높인 영상부호화를 위한 블록 정합 움직임 추정 장치를 제공하기 위한 것으로서, 영상부호화를 위한 블록 매칭 움직임 추정을 위하여, 현재 프레임의 기준 블록과, 연속 입력되는 한화소단위의 이전 프레임의 탐색영역데이타를 비교하여 한화소 단위의 최소블록왜곡과, 기준블록에서 상기 최소블록왜곡이 발생한 블록까지의 움직임벡터를 계산하는 한화소백터부; 및 상기 최소블록왜곡이 발생한 탐색영역 데이타 및 그 주변 화소의 데이타를 입력받아, 상기 입력된 탐색 영역 데이타와 주변 화소의 데이터를 통해 보간하여 얻어진 반화소 데이타를 생성한 후, 상기 기준블록과 상기 반화소 데이터간에 반화소 블록왜곡을 연산하고, 상기 반화소의 블록 왜곡과 상기 한화소 벡터부에서 계산된 한화소의 최소블록왜곡을 비교하여 최소블록왜곡 및 움직임벡터를 출력하는 반화소벡터부를 포함하며, 상기에서 블록왜곡계산을 위해 시스톨릭 어레이 구조를 적용한 것이다.
Figure R1020020035921
영상부호화, MPEG-2, 움직임 추정(motion estimation), 완전 탐색 블록 정합, 시스톨릭 어레이, 반화소, 전화소,

Description

영상부호화를 위한 블록 매칭 움직임 추정 장치{BLOCK MATCHING MOTION ESTIMATION APPARATUS FOR PICTURE CODING}
도 1은 본 발명에 의한 블록 매칭 움직임 추정 장치의 구성을 보인 블럭도이다.
도 2는 본 발명에 의한 움직임 추정 장치에서 PE어레이 및 쉬프트레지스터의 구성예를 보인 상세블럭도이다.
도 3은 PE어레이에서 기본 처리단위의 구성을 보인 상세블럭도이다.
도 4는 탐색데이터선택기의 구성예를 보인 상세 블럭도이다.
도 5는 최소블록왜곡추출기의 구성을 보인 상세 블럭도이다.
도 6은 반화소벡터부에 적용된 시스톨릭 어레이의 처리단위(PE)구조를 보인 블럭도이다.
도 7은 블록 매칭 움직임 추정 원리를 설명하기 위한 도면이다.
도 8은 본 발명에 적용된 시스톨릭 어레이구조를 설명하는 도면이다.
도 9는 블록 매칭 움직임 추정시 기준블록의 데이타입력방법을 설명하는 도면이다.
도 10은 프레임내에서 기준블럭이 위치하는 9가지의 상황을 보인 도면이다.
도 11은 기준블록의 위치전달을 위한 데이타 입력예를 보인 타이밍도이다.
도 12a,b는 탐색영역데이타의 입력예를 보인 도면이다.
도 13은 반화소의 개념을 설명하는 도면이다.
*도면의 주요 부분에 대한 부호의 설명*
1 : 블록 매칭 움직임 추정 장치
10 : 한화소벡터부 20 : 반화소벡터부
11 : 로컬메모리 12 : 버퍼
13 : 쉬프트레지스터 14 : 주소발생기 및 제어기
15 : PE어레이 16 : 제1탐색데이터선택기
17 : 병렬덧셈기 18 : 제1최소블록왜곡추출기
21 : 최소블록왜곡 한화 소추출기 22 : 제2탐색데이터선택기
23 : 반화소발생기 24 : 기준블록세이버
25 : 반화소 블록 왜곡 연산기 26 : 제2최소블록왜곡추출기
본 발명은 영상부호화를 위한 움직임 추정 기술에 관한 것으로, 더욱 상세하게는 시스톨릭 어레이(Systolic array) 구조를 통해 블록 정합 위치 추정 알고리즘을 구현하여 성능을 향상시키고, 반화소 위치 추정을 적용하여 정밀도를 높인 영상부호화를 위한 블록 정합 움직임 추정 장치에 관한 것이다.
위성통신, 광통신 시스템등의 활성화로 인해 고속 디지털 회선 사용이 확대 되면서, 이런 고속 디지털 회선을 통해 동화상 통신의 대중화 및 HDTV 방송의 상용화가 이루어지고 있다.
그런데, 보통 동영상정보를 디지털화하는 경우 엄청난 양의 정보가 전송 또는 저장되기 때문에, 상기와 같은 동화상 통신의 대중화 및 HDTV 방송의 상용화를 위해서는 영상 신호의 압축 및 처리기술과, 이를 효율적으로 실현할 수 있는 전용 고집적 회로 소자의 개발이 요구된다.
현재, 동영상 정보의 압축기술로서, MPEG-2, H.261등의 대역압축을 위한 영상부호화기법이 주로 사용되며, 이런 기법은 영상정보압축시 전화면에서 현재 화면을 예측하는 예측부호화기술이 사용된다.
상기 예측부호화를 위한 주요 인자로서 움직임 벡터(motion vector)는 여러가지 움직임 추정(motion estimation)을 통해 구해지는데, 이런 움직임 추정을 위해 여러가지 알고리즘이 제시되어 있다.
대표적으로, 블록 정합 알고리즘(Block Matching Algorithm, BMA)이 있는데, 이는 화소 단위가 아닌, 16 ×16 화소의 기준블록단위로 움직임을 추정하는 것으로서, 기존의 화소 단위로 움직임을 추정하는 것보다, 계산량이 적고, 성능대비 효율이 뛰어나 MPEG-2, H261등의 응용에 쓰이고 있다.
실제적으로, 상술한 움직임 벡터 추출은 동영상 압축 부호화에 있어서 전체 연산의 60%를 차지하는 핵심 모듈로서, 이 부분의 성능 및 효율이 동영상 압축 부호화의 성능에 큰 영향을 미친다.
현재, 가장 성능이 뛰어난 것으로 알려진 것은 완전 탐색 블록정합(Full search BMA) 기술인데 이는 계산량이 많다는 단점이 있다.
이에, 기존에는 완전 탐색 알고리즘(Full search Algorithm)대신 Three step search와 같은 알고리즘을 사용하였다. 그러나, 이는 계산량은 줄어드나 성능이 떨어지므로, 안전 탐색 블록 정합기술을 효과적으로 구현하는 방법이 요구되고 있다.
본 발명은 상술한 종래의 요구를 해결하기 위하여 제안된 것으로서, 그 목적은 시스톨릭 어레이 구조를 통해 블록 정합 위치 추정 알고리즘을 구현하여 성능향상을 높히고, 반화소 위치 추정을 적용하여 정밀도를 높힌 영상부호화를 위한 블록 정합 움직임 추정 장치를 제공하는데 있다.
본 발명은 상술한 목적을 달성하기 위한 구성수단으로서, 영상부호화를 위한 블록 매칭 움직임 추정 장치에 있어서,
현재 프레임의 기준 블록과, 연속 입력되는 이전 프레임의 블록단위 탐색영역데이타를 비교하여 한화소 단위의 최소블록왜곡과, 기준블록에서 상기 최소블록왜곡이 발생된 블록까지의 움직임벡터를 계산하는 한화소백터부; 및
상기 최소블록왜곡이 발생한 탐색 영역 데이타 및 그 주변 화소의 데이타를 입력받아, 상기 탐색 영역 데이터와 주변화소의 데이타들을 보간하여 반화소 데이타를 생성한 후, 상기 기준블록과 상기 반화소 데이터간에 반화소 블록왜곡을 연산하고, 상기 반화소의 블록 왜곡과 상기 한화소 벡터부에서 계산된 한화소의 최소블록왜곡을 비교하여 최소블록왜곡 및 움직임벡터를 출력하는 반화소벡터부;로 구성되는 것을 특징으로 한다.
더하여, 상기 한 화소 벡터부는, 입력되는 상위 및 하위 탐색영역데이타를 저장하는 로컬메모리와, 상기 로컬메모리로부터 출력되는 하위 탐색 영역 데이타를 소정 시간 지연시키는 버퍼와, 상기 로컬메모리의 상위 탐색 영역 데이터 및 상기 버퍼의 하위 탐색영역데이타를 연속적으로 하기 PE 어레이에 제공하는 쉬프트레지스터와, 현재 프레임의 기준블록 데이타와 상기 쉬프트 레지스터를 통해 연속적으로 제공되는 상위 탐색 영역 데이타 및 하위 탐색 영역 데이터로부터 블록왜곡을 계산하는 시스톨릭 어레이 구조의 PE(Processing element) 어레이와, 상기 상위 탐색 영역 데이타와 하위 탐색 영역 데이터중에서 유효데이타를 선택하여 블록왜곡이 계산되도록 상기 PE어레이를 제어하는 제1탐색데이터선택기와, 상기 PE어레이의 각 PE에서 계산된 블록왜곡값을 합산하여 출력하는 병렬덧셈기와, 상기 병렬덧셈기로부터 출력되는 블록왜곡값중 최소 블록왜곡값을 저장하고 기준블록에서 상기 최소 블로 왜곡을 갖는 탐색 영역 데이터까지의 움직임벡터를 계산하여 출력하는 제1최소블록왜곡추출기로 구성되는 것을 특징으로 한다.
그리고, 상기 반화소벡터부는, 상기 한화소벡터부에서 계산된 최소블록왜곡을 갖는 탐색 영역 데이타 및 그 주변 화소의 데이타를 추출하여 저장하는 최소블록왜곡 한화소 추출기와, 상기 최소블록왜곡 한화소 추출기에서의 탐색영역데이타의 흐름을 제어하는 제2탐색데이터선택기와, 상기 최소블록왜곡 한화소 추출기에서 추출된 탐색 영역 데이터 및 그 주변 화소의 데이터 간의 보간을 통하여 최소블록왜곡이 발생된 탐색 데이터의 주변에 반화소 데이터를 생성하는 반화소발생기와, 상기 한화소벡터부로부터 기준블록 데이터를 전달받아 저장하고 블록왜곡계산시 제공하는 기준블록세이버와, 상기 반화소발생기에서 발생된 반화소 데이터와 상기 기준블록세이버의 기준블록데이타 간의 반화소 블록 왜곡을 계산하는 반화소블록왜곡연산기와, 상기 반화소블록왜곡연산기에서 계산된 반화소 블록 왜곡과 상기 한화소벡터부에서 계산된 최소블록왜곡을 비교하여, 최종적으로 최소 블록 왜곡과 움직임 벡터를 추출하는 제2최소왜곡추출기로 구성되는 것을 특징으로 한다.
이하, 첨부한 도면을 참조하여 본 발명에 의한 블록 정합 위치 추정 장치의 구성 및 작용에 대하여 상세하게 설명한다.
도 1은 본 발명에 의한 위치 추정 장치의 전체 구성을 보인 블럭도로서, 크게 현재 프레임의 기준블록을 연속 입력되는 한화소단위의 이전 프레임의 탐색영역데이터와 비교하여 최소블록왜곡을 연산하고, 상기 기준블록과 상기 최소블록왜곡을 갖는 탐색영역데이터와의 움직임벡터를 산출하는 한화소백터부(Int-Pixel Vector System)(10)와, 상기 한화소벡터부(10)에서 연산된 최소왜곡블록을 갖는 탐색영역 데이터에 반화소를 생성하고, 기준블록과 비교하여 반화소단위의 최소블록왜곡과 움직임 벡터를 산출하는 반화소벡터부(Half-Pixel Vector System)(20)로 구성된다.
상기 한화소벡터부(10)는 USW(Upper search window data)핀 및 LSW(Lower search window data)핀을 통해 연속적으로 입력되는 상위 및 하위 탐색영역데이타를 저장하는 로컬메모리(Local Memory)(11)와, 상기 로컬메모리(11)로부터 출력되는 하위 탐색 영역 데이타를 소정 시간(예를 들어, 16사이클) 지연시키는 버퍼(Buffer)(12)와, 상기 로컬메모리(11) 및 버퍼(12)를 통해 입력되는 상/하위 탐색영역데이타를 하기의 PE(Processing element) 어레이(15)에 연속적으로 제공하는 쉬프트레지스터(Shift Register)(13)와, 기준블록 데이타와 연속 입력되는 상위 또는 하위 탐색영역 데이타를 비교하여 블록왜곡을 계산하는 PE어레이(15)와, 상기 PE어레이(15)로 입력된 상위/하위 탐색영역데이타중 유효데이타만 선택되어 블록왜곡이 계산되도록 상기 PE어레이(15)를 제어하는 제1탐색데이터선택기(16)와, 상기 PE어레이(15)의 각 PE에서 계산된 왜곡계산값을 합산하여 블록왜곡값으로 출력하는 병렬덧셈기(17)와, 상기 병렬덧셈기(17)로부터 출력되는 블록왜곡값중 최소 왜곡값을 저장하고 기준블록에서 최소왜곡의 블록까지의 움직임벡터를 계산하여 출력하는 제1최소블록왜곡추출기(Minimum Distortion Detector)(18)로 구성된다.
그리고, 상기 반화소벡터부(20)는 상기 한화소벡터부(10)에서 계산된 최소블록왜곡데이타 및 해당 블록의 주변 18 ×18 화소 데이타를 추출하여 저장하는 최소블록왜곡 한화소 추출기(Best Matched Int Pixel Extractor)(21)와, 상기 최소블록왜곡 한화소 추출기(21)에서의 탐색영역데이타의 흐름을 제어하는 제2탐색데이터선택기(22)와, 상기 최소블록왜곡 한화소 추출기(21)에서 추출된 화소를 기본으로 인접 화소들간의 보간을 통하여 반화소를 생성하는 반화소발생기(Half-pixel generator)(23)와, 상기 한화소벡터부(10)로부터 기준블록데이터를 전달받아 저장하고 블록왜곡계산시 제공하는 기준블록세이버(Reference Block saver)(24)와, 상기 반화소발생기(23)의 반화소단위 탐색영역데이타와 상기 기준블록세이버(24)의 기준블록데이타를 입력받아 8개의 반화소 블록 왜곡을 계산하는 반화소블록왜곡연산기(Half pixel distortion calculator)(25)와, 상기 반화소블록왜곡연산기(25)에서 계산된 8개의 반화소 블록왜곡과 한화소벡터부(10)에서 계산된 최소블록왜곡을 비교하여, 최소 블록 왜곡을 검출하고, 상기 검출된 최소블록왜곡에 대한 움직임 벡터를 발생하는 제2최소왜곡추출기(26)로 구성된다.
일반적으로, 블록 정합 움직임 추정은 이전화면에서 현재 화면을 예측하는 방법으로, 도 7에 도시한 바와 같이, 이전화면에서 탐색영역(71)을 선택하고, 이를 현재화면(72)의 기준블록(R)과 비교하여, 가장 유사한 최소 왜곡 블록(R*)을 찾아, 기준블록(R)에서 최소 왜곡블록(R*)까지의 움직임벡터 Vector(u,v)를 추출하는 과정으로 이루어진다. 이러한 완전 탐색 블록 정합방법에 의하여 동영상을 압축부호화하고자 하는 경우, 화면크기가 720 ×576 화소이고 화면속도가 초당 30장인 SDTV에서는 9.6 GIPS의 연산횟수가 요구되고, 화면크기가 1920 ×1152 화소이고 화면속도가 초당 60장인 HDTV에서는 102 GIPS의 연산횟수가 요구된다.
본 발명은 이처럼 수백 GIPS(Giga operations per second)에 달하는 연산을 시스토릭 어레이 기법을 통해 구현하여, 처리속도의 향상을 도모한 것으로서, 구현하고자하는 알고리즘을 기본동작으로 분산시킨 후, 각각의 연산결과가 고유의 변수에 할당되는 단일할당원리(single assignment principle)를 적용한다.
도 8은 시스토릭 어레이를 이용한 블록왜곡(MAD: Minimum Absolute Difference)을 계산하는 신호처리흐름을 보인 것으로서, 각 처리기(AD)에 각각 하나의 기준블럭데이타값이 필요하며, 탐색영역의 데이타가 매 사이클마다 탐색영역의 상단부와 하단부로부터 두 개 병렬 입력되며, 각 처리기(AD)가 필요한 데이타를 선택하여 병렬 및 파이프라인 동작으로 블록처리를 수행한다.
상기와 같은 신호처리구조는 상기 도 1에서 한화소(int-pixel) 및 반화소(half-pixel)의 블록왜곡 계산시 이용된다.
상기 도 1에 보인 움직임 추정 장치로 입력되는 데이타는 총 5가지로, START핀으로는 동작기준신호가 입력되고, EDGE핀으로는 기준블록의 위치 정보 신호가 입력되고, USW핀과 LSW핀으로는 이전 프레임상의 탐색 영역 데이터가 입력되며, 마지막으로, REF핀으로는 현재 프레임상의 기준 블록 데이터가 입력된다.
상기 REF핀을 통해 입력된 기준 블록 데이타는 PE어레이(10)로 입력된다. 상기 기준블록데이타는 이전 프레임(72)상에서 움직임 추정을 수행시 예측표본이 되는 데이터로서, 16 ×16 화소로 구성되어, 도 9에 도시한 바와 같인 순서로 입력된다.
그런데, 이전 프레임에서 기준블럭(R)이 위치할 수 있는 경우와, 생성되는 탐색영역(71)은 도 10에 도시한 바와 같이, 9가지의 경우의 수를 갖는다. 즉, 기준블록(R)의 위치에 따라서, 탐색영역(71)의 데이터 일부가 프레임메모리에 속하지 않는 8가지 경우와, 탐색영역(71)의 데이터가 모두 프레임메모리내에 완전히 존재하는 1가지 경우가 그것이다. 이때, 전자의 경우는, 후보블록이 프레임 외부의 데이터를 포함할 수 있으므로, 이러한 블록과의 블록왜곡연산결과는 최적을 움직임 벡터를 결정하기 위한 비교연산에서 제외하여야 한다.
따라서, 상기 EDGE핀으로 입력되는 기준블록의 위치정보는 주소발생기및제어기(14)를 통해 최소 블록 왜곡 추출기(18)에 전달되고, 상기 최소 블록 왜곡 추출기(18)는 기준블록의 위치정보에 따라 생성된 블록 왜곡 연산결과와 이전까지의 최소 움직임 벡터와의 비교 연산 수행 여부를 결정한다.
상기 주소발생기및제어기(14)는 기준블록의 블록왜곡연산이 시작될때, 도 11에 도시한 바와 같이, EDGE핀을 통해 4 사이클(BIT0~BIT3)동안 시리얼로 기준블럭의 위치정보를 받는데, 상기 도 10에 보인 9가지 경우에 대한 각각의 위치정보와, 유효 이동벡터 범위는 다음의 표 1과 같이 정의될 수 있다.
기준블록 위치 bit0 bit1 bit2 bit3 유효 이동벡터 범위
수평(Horizontal) 수직(Vertical)
1 0 1 0 1 0≤x≤7.5(15.5) 0≤y ≤7.5(15.5)
2 0 1 0 0 -8(-16) ≤x ≤7.5(15.5) 0≤y ≤7.5(15.5)
3 0 1 1 0 -8(-16) ≤x ≤0 0≤y ≤7.5(15.5)
4 0 0 0 1 0 ≤x ≤7.5(15.5) -8(-16) ≤y ≤7.5(15.5)
5 0 0 0 0 -8(-16) ≤x ≤7.5(15.5) -8(-16) ≤y ≤7.5(15.5)
6 0 0 1 0 -8(-16) ≤x ≤0 -8(-16) ≤y ≤7.5(15.5)
7 1 0 0 1 0 ≤x ≤7.5(15.5) -8(-16) ≤y ≤0
8 1 0 0 0 -8(-16) ≤x ≤7.5(15.5) -8(-16) ≤y ≤0
9 1 0 1 0 -8(-16) ≤x ≤0 -8(-16) ≤y ≤0
그리고, 상기 탐색영역데이터는 예를 들어, 탐색영역 -8/7.5 모드인 경우, 도 12(a)에 도시한 바와 같이 USW, LSW핀을 통해 입력되고, -16/15.5 모드인 경우는 도 12(b)에 도시된 바와 같이 입력된다.
상기와 같이 입력된 탐색영역데이터는 로컬메모리(11)로 입력되어, 로컬메모리(11) 및 버퍼(12)를 통해 PE어레이(15)와 쉬프트레지스터(13)로 입력된다.
상기 로컬메모리(11)는 연속된 탐색 영역 데이터 처리시 중복되는 탐색영역데이터를 저장하고, 버퍼(12)는 상기 로컬메모리(11)의 한 출력(하위 탐색 영역 데이터)을 소정 사이크(16 cycle)동안 지연시키기 위한 것으로서, 데이타의 연속처리를 위해 이용된다.
상기 PE어레이(15) 및 병렬덧셈기(17)는 입력데이타들을 블록처리하여, 블록왜곡(MAD : Minimum Absolute Difference)을 계산하고, 최소블록왜곡추출기(18)에서 현재까지의 최소블록왜곡값과 비교된다.
이때 상기 쉬프트레지스터(13)는 상기 PE어레이(15)에 연속적으로 탐색영역데이터를 공급하여, 대드사이클(dead cycle)이 발생하지 않도록 한다.
또한, 상술한 블록처리과정에서 블록왜곡연산을 지연없이 처리하도록 하기 위하여 탐색영역데이타 가운데, 유효데이터를 선택하여야 하는데, 이는 탐색데이터선택기(16)에 의해 선택된다. 즉, 상기 탐색 데이터 선택기(16)에 의해서 유효한 상위 탐색 영역 데이터 혹은 하위 탐색 영역 데이터가 선택된다.
그리고, 상기 주소발생기및제어기(14)는 상기 로컬메모리(11)를 억세스하기 위한 어드레스와, 블록처리에 필요한 제어신호를 발생시킨다.
도 2는 상기 쉬프트레지스터(13) 및 PE어레이(15)의 구조를 보다 상세하게 나타낸 것으로서, 로컬메모리(11) 및 버퍼(12)를 통해 입력된 탐색영역데이타는 다수의 PE 및 SR에 의해 병렬처리된다.
그리고, 도 3은 상기 도 2의 PE어레이(15)를 구성하는 각 PE(processing element)의 구조를 보인 것으로서, 상기 탐색데이터선택기(16)으로부터 입력된 선택신호에 따라 동작하여, 연속된 탐색 데이타 각각에 대한 블록처리를 실시한다.
도 4는 상술한 탐색 데이터 선택기(16)을 도시한 것으로서, 탐색영역의 모드에 따라서, PE어레이(15)중 동작할 PE를 선택한다.
다음으로, 도 5는 상기 도 1에 도시된 최소 블록 왜곡 추출기를 보인 것이다.
다시 도 1로 돌아가서, 본 발명에 있어서 반화소 벡터부(20)에서 생성된 반화소(Half-pixel)는 실제로 존재하는 화소가 아닌, 주변 화소들을 통해 보간(interpolation)으로써 얻어지는 화소값으로서, 반화소 예측을 통해 한 화소예측에 의해 움직임 벡터의 정밀도를 ±0.5 더 높일 수 있다.
즉, 상기 반화소벡터부(20)는 도 13에 도시된 바와 같이, 최소 왜곡 블록 R 주변에 8개의 반화소(1~4, 6~9)를 형성하고, 이를 기초로 움직임 벡터를 다시 계산한다.
다음의 표 2는 상기 도 13에 보인 바와 같이, 최소 왜곡 블록 R 주변에 생성된 8개의 반화소 위치에 대한 추가적인 움직임벡터의 계산을 보인 것이다.
반화소 위치 움직임 벡터 x = X 움직임 벡터 y = Y
1 x= X-0.5 y=Y-0.5
2 x=X y=Y-0.5
3 x=X+0.5 y=Y-0.5
4 x=X-0.5 y=Y
5 x=X y=Y
6 x=X+0.5 y=Y
7 x=X-0.5 y=Y+0.5
8 x=X y=Y+0.5
9 x=X+0.5 y=Y+0.5
상기 표2에서, X,Y는 한화소 움직임벡터의 x,y 좌표값이다.
즉, 상기와 같은 처리에 의하여, 반화소벡터부(20)의 최소 블록 왜곡 한 화소 추출기(21)는 반화소를 발생하는데 필요한 최소블록 왜곡 데이터와 주변의 18 ×18 한 화소(int-pixel)를 저장하고, 이때, 상기 탐색 데이터 선택기(22)는 최소 블록 왜곡 한 화소 추출기(21)의 탐색데이터 흐름을 제어한다.
도 6은 상기 최소블록 왜곡 한 화소 추출기(21)의 반화소 처리단위(procesing element)의 구성을 보인 것이다.
그리고, 반화소발생기(23)는 상기 최소 블록 왜곡 한 화소 추출기(21)로부터 최소 왜곡 블록(18 ×18) 주변의 반화소를 생성하여 반화소 블록 왜곡 연산기(25) 에 인가한다.
이때, 기준블록세이버(24)는 PE어레이(15)로부터 기준블록데이타를 입력받아, 반화소 블록왜곡을 계산하는데 필요한 기준블록데이타를 저장하고 있으며, 상기 반화소블록왜곡연산기(25)에 제공한다.
따라서, 반화소 블록 왜곡 연산기(25)는 기준블럭데이터와 반화소데이터를 입력받아, 8개의 반화소 블록 왜곡을 계산하고, 최소 왜곡 추출기(26)는 8개의 반화소 블록 왜곡과 한 화소 블록왜곡을 비교하여, 최소 블록왜곡(DIST[15:0])과 반화소 움직임벡터(MVHOR[5:0], MVVER[5:0])를 출력한다.
따라서, 상기 움직임 추정 장치(1)로부터는 한화소(int-pixel) 단위의 기준블록에 대한 최소왜곡과 움직임벡터 및, 반화소(half-pixel) 단위의 기준블록 왜곡값 및 움직임벡터가 출력되며, 이는 영상 부호화에 이용된다.
상술한 바와 같이, 본 발명은 시스톨릭 어레이를 통해 전탐색 블록 정합 움직임 추정 알고리즘을 구현하여, 보다 신속한 블록처리를 가능하게 하며, 반화소 단위로 움직임 벡터를 계산함으로서, 보다 정밀한 움직임 추정이 가능해지고, 그 결과 영상의 화질을 개선시킬 수 있는 우수한 효과가 있는 것이다.

Claims (5)

  1. 삭제
  2. 영상부호화를 위한 블록 매칭 움직임 추정 장치에 있어서,
    현재 프레임의 기준 블록과, 연속 입력되는 이전 프레임의 블록단위 탐색영역데이타를 비교하여 한화소 단위의 최소블록왜곡과, 기준블록에서 상기 최소블록왜곡이 발생된 블록까지의 움직임벡터를 계산하는 한화소벡터부; 및
    상기 최소블록왜곡이 발생한 탐색 영역 데이타 및 그 주변 화소의 데이타를 입력받아, 상기 탐색 영역 데이터와 주변화소의 데이타들을 보간하여 반화소 데이타를 생성한 후, 상기 기준블록과 상기 반화소 데이터간에 반화소 블록왜곡을 연산하고, 상기 반화소의 블록 왜곡과 상기 한화소 벡터부에서 계산된 한화소의 최소블록왜곡을 비교하여 최소블록왜곡 및 움직임벡터를 출력하는 반화소벡터부
    를 포함하며,
    상기 한화소벡터부는
    입력되는 상위 및 하위 탐색영역데이타를 저장하는 로컬메모리와,
    상기 로컬메모리로부터 출력되는 하위 탐색 영역 데이타를 소정 시간 지연시키는 버퍼와,
    상기 로컬메모리의 상위 탐색 영역 데이터 및 상기 버퍼의 하위 탐색영역데이타를 연속적으로 하기 PE(Processing element) 어레이에 제공하는 쉬프트레지스터와,
    현재 프레임의 기준블록 데이타와 상기 쉬프트 레지스터를 통해 연속적으로 제공되는 상위 탐색 영역 데이타 및 하위 탐색 영역 데이터로부터 블록왜곡을 계산하는 시스톨릭 어레이 구조의 PE(Processing element) 어레이와,
    상기 상위 탐색 영역 데이타와 하위 탐색 영역 데이터중에서 유효데이타를 선택하여 블록왜곡이 계산되도록 상기 PE어레이를 제어하는 제1탐색데이터선택기와,
    상기 PE어레이의 각 PE에서 계산된 블록왜곡값을 합산하여 출력하는 병렬덧셈기와,
    상기 병렬덧셈기로부터 출력되는 블록왜곡값중 최소 블록왜곡값을 저장하고 기준블록에서 상기 최소 블로 왜곡을 갖는 탐색 영역 데이터까지의 움직임벡터를 계산하여 출력하는 제1최소블록왜곡추출기로 구성되는 것을 특징으로 하는 영상부호화를 위한 블록 매칭 움직임 추정 장치.
  3. 영상부호화를 위한 블록 매칭 움직임 추정 장치에 있어서,
    현재 프레임의 기준 블록과, 연속 입력되는 이전 프레임의 블록단위 탐색영역데이타를 비교하여 한화소 단위의 최소블록왜곡과, 기준블록에서 상기 최소블록왜곡이 발생된 블록까지의 움직임벡터를 계산하는 한화소벡터부; 및
    상기 최소블록왜곡이 발생한 탐색 영역 데이타 및 그 주변 화소의 데이타를 입력받아, 상기 탐색 영역 데이터와 주변화소의 데이타들을 보간하여 반화소 데이타를 생성한 후, 상기 기준블록과 상기 반화소 데이터간에 반화소 블록왜곡을 연산하고, 상기 반화소의 블록 왜곡과 상기 한화소 벡터부에서 계산된 한화소의 최소블록왜곡을 비교하여 최소블록왜곡 및 움직임벡터를 출력하는 반화소벡터부
    를 포함하며,
    상기 반화소벡터부는
    상기 한화소벡터부에서 계산된 최소블록왜곡을 갖는 탐색 영역 데이타 및 그 주변 화소의 데이타를 추출하여 저장하는 최소블록왜곡 한화소 추출기와,
    상기 최소블록왜곡 한화소 추출기에서의 탐색영역데이타의 흐름을 제어하는 제2탐색데이터선택기와,
    상기 최소블록왜곡 한화소 추출기에서 추출된 탐색 영역 데이터 및 그 주변 화소의 데이터 간의 보간을 통하여 최소블록왜곡이 발생된 탐색 데이터의 주변에 반화소 데이터를 생성하는 반화소발생기와,
    상기 한화소벡터부로부터 기준블록 데이터를 전달받아 저장하고 블록왜곡계산시 제공하는 기준블록세이버와,
    상기 반화소발생기에서 발생된 반화소 데이터와 상기 기준블록세이버의 기준블록데이타 간의 반화소 블록 왜곡을 계산하는 반화소블록왜곡연산기와,
    상기 반화소블록왜곡연산기에서 계산된 반화소 블록 왜곡과 상기 한화소벡터부에서 계산된 최소블록왜곡을 비교하여, 최종적으로 최소 블록 왜곡과 움직임 벡터를 추출하는 제2최소왜곡추출기로 구성되는 것을 특징으로 하는 영상부호화를 위한 블록 매칭 움직임 추정 장치.
  4. 삭제
  5. 삭제
KR1020020035921A 2002-06-26 2002-06-26 영상부호화를 위한 블록 매칭 움직임 추정 장치 KR100926440B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020035921A KR100926440B1 (ko) 2002-06-26 2002-06-26 영상부호화를 위한 블록 매칭 움직임 추정 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020035921A KR100926440B1 (ko) 2002-06-26 2002-06-26 영상부호화를 위한 블록 매칭 움직임 추정 장치

Publications (2)

Publication Number Publication Date
KR20040000907A KR20040000907A (ko) 2004-01-07
KR100926440B1 true KR100926440B1 (ko) 2009-11-13

Family

ID=37312711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020035921A KR100926440B1 (ko) 2002-06-26 2002-06-26 영상부호화를 위한 블록 매칭 움직임 추정 장치

Country Status (1)

Country Link
KR (1) KR100926440B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100719939B1 (ko) * 2004-10-08 2007-05-18 재단법인서울대학교산학협력재단 영상 움직임 추정기 및 그 영상 움직임 추정기를 이용한영상 압축방법
KR100686393B1 (ko) * 2005-04-07 2007-03-02 주식회사 텔레칩스 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법
KR100848509B1 (ko) * 2006-10-10 2008-07-25 삼성전자주식회사 디스플레이장치 및 그 제어방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970068661A (ko) * 1996-03-22 1997-10-13 배순훈 반화소 움직임 추정장치(A Half pel motion estimator)
JPH1175195A (ja) * 1997-08-27 1999-03-16 Toshiba Corp 動きベクトル検出方法および装置
KR19990038002A (ko) * 1997-11-01 1999-06-05 구자홍 움직임 추정방법 및 장치
KR19990041461A (ko) * 1997-11-21 1999-06-15 윤종용 부화소 단위의 움직임 추정 방법 및 이를 위한 장치
KR19990075314A (ko) * 1998-03-19 1999-10-15 서승모 Mpeg2용 반 화소 이동벡터 추출장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970068661A (ko) * 1996-03-22 1997-10-13 배순훈 반화소 움직임 추정장치(A Half pel motion estimator)
JPH1175195A (ja) * 1997-08-27 1999-03-16 Toshiba Corp 動きベクトル検出方法および装置
KR19990038002A (ko) * 1997-11-01 1999-06-05 구자홍 움직임 추정방법 및 장치
KR19990041461A (ko) * 1997-11-21 1999-06-15 윤종용 부화소 단위의 움직임 추정 방법 및 이를 위한 장치
KR19990075314A (ko) * 1998-03-19 1999-10-15 서승모 Mpeg2용 반 화소 이동벡터 추출장치

Also Published As

Publication number Publication date
KR20040000907A (ko) 2004-01-07

Similar Documents

Publication Publication Date Title
KR100534207B1 (ko) 비디오 부호화기의 움직임 추정기 및 그 방법
US6690730B2 (en) Motion estimator
KR100530223B1 (ko) 프레임 레이트 변환시의 프레임 보간 방법 및 그 장치
EP0626791B1 (en) Motion vector detection apparatus for moving pictures
JP3089165B2 (ja) 動きベクトル探索装置
KR100541953B1 (ko) 움직임 보상을 위한 화소값 선택 장치 및 방법
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
KR101578052B1 (ko) 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
KR20030007087A (ko) 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법
WO2007089068A1 (en) Method and apparatus for block-based motion estimation
KR20040108056A (ko) 블럭 기반의 움직임 보상 장치 및 방법
JPH04234283A (ja) 動き評価ハードウェアとビデオシステムのデータ伝送容量要求を低減する方法と装置
JP4597103B2 (ja) 動きベクトル探索方法及び装置
KR100926440B1 (ko) 영상부호화를 위한 블록 매칭 움직임 추정 장치
KR100969420B1 (ko) 프레임 레이트 변환 방법
JPH09261646A (ja) 画像の動き検出装置
EP1420595B1 (en) Motion vector selection in a video motion estimator based on a preferred reference point
US8200032B2 (en) Image processing method and related apparatus for performing image processing operation according to image blocks in horizontal direction
JP4228705B2 (ja) 動きベクトル探索方法および装置
US20050089099A1 (en) Fast motion estimating apparatus
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
US20040120402A1 (en) Motion estimation apparatus for image data compression
KR100274014B1 (ko) Mpeg2용 반 화소 이동벡터 추출장치
JPH0965342A (ja) 映像符号化装置及び映像復号化装置
KR100205146B1 (ko) 디지탈 비데오 인코더 시스템에서 움직임 예측 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130506

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee