KR0160618B1 - 실시간 움직임 추정장치 및 그 방법 - Google Patents

실시간 움직임 추정장치 및 그 방법 Download PDF

Info

Publication number
KR0160618B1
KR0160618B1 KR1019920019824A KR920019824A KR0160618B1 KR 0160618 B1 KR0160618 B1 KR 0160618B1 KR 1019920019824 A KR1019920019824 A KR 1019920019824A KR 920019824 A KR920019824 A KR 920019824A KR 0160618 B1 KR0160618 B1 KR 0160618B1
Authority
KR
South Korea
Prior art keywords
data
error
group
minimum
error data
Prior art date
Application number
KR1019920019824A
Other languages
English (en)
Other versions
KR940010831A (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 KR1019920019824A priority Critical patent/KR0160618B1/ko
Priority to DE1993627223 priority patent/DE69327223T2/de
Priority to EP19930106843 priority patent/EP0594936B1/en
Priority to JP10262693A priority patent/JP2834640B2/ja
Priority to US08/056,884 priority patent/US5568203A/en
Publication of KR940010831A publication Critical patent/KR940010831A/ko
Application granted granted Critical
Publication of KR0160618B1 publication Critical patent/KR0160618B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • 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/436Methods 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 using parallelised computational arrangements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 동화상의 데이타압축을 위한 동보상 예측코딩장치의 실시간 움직임 추정장치 및 그 방법에 관한 것으로, 특히 이전화소블록형성수단, 블록매칭산출수단, 최소절대치에러산출수단, 움직임벡터발생수단 및 출력제어수단을 포함한다.
이상과 같이 본 발명에서는 입출력핀수를 최소화하기 위해 외부로부터 입력되는 데이타는 직렬입력방식을 사용하고 내부에서는 모든 이전블록들과, 현재블록을 파이프라인방식으로 동시에 병렬처리하고, 그룹별 최소값검출과 동시에 대응하는 동벡터가 선택되도록 구성함으로써 처리속도를 고속화할 수 있으므로 실시간적으로 움직임을 추정할 수 있다.

Description

실시간 움직임 추정장치 및 그 방법
제1도는 움직임 추정의 개념을 설명하기 위한 도면.
제2도는 본 발명에 의한 실시간 움직임 추정장치의 블록도.
제3도는 제2도의 이전블록형성수단의 회로도.
제4도는 제3도의 제1시프트레지스터의 구성회로도.
제5도는 제3도의 제2시프트레지스터의 구성회로도.
제6도는 제2도의 BMA연산처리수단의 회로도.
제7도는 제6도의 처리요소(PE)의 구성회로도.
제8도는 제2도의 MAE검출수단의 회로도.
제9도는 제2도의 MV발생수단의 회로도.
제10도는 제2도의 출력제어수단의 회로도.
본 발명은 움직임 추정장치 및 그 방법에 관한 것으로, 특히 동화상의 데이타 압축을 위한 동보상 예측코딩장치의 실시간 움직임 추정장치 및 그 방법에 관한 것이다.
동화상 데이타의 전송이나 기록매체에 기록시에 데이타의 압축효율을 높이기 위해 예측코딩방식을 사용하고 있다. 특히 움직임이 많은 경우 단순한 예측코딩에 의해서 발생하는 데이타 압축효율의 저하를 방지하기 위하여 동보상예측코딩(Motion compensated Predictive Coding)기법이 일반적으로 사용된다. 동보상예측코딩은 단순한 예측코딩에서와 같이 에러신호만 전송 또는 기록하는 것이 아니고 움직임정보를 추출하여 에러신호와 움직임정보를 같이 전송 또는 기록하는 것으로서, 현재 프레임의 임의의 블록과 가장 유사한 블록을 이전프레임의 일정한 탐색영역내에서 찾아내어 이를 예측코딩시 예측값(predicted value)으로 사용한다. 탐색영역은 현재 프레임의 임의의 블록의 위치를 중심으로 상하 좌우의 일정한 영역으로 이루어지며, 현재위치를 중심으로 탐색영역내의 유사블록의 위치와의 상대적 거리값을 동벡터(Motion Vector) 또는 변위벡터(Displacement Vector)라고 한다. 즉, 동벡터는 현재의 블록과 가장 유사도가 높은 이전블록이 존재하는 상대적인 움직임이 큰 경우는 절대치가 크게 되고 반대로 적은 경우는 작게 되며 움직임이 없는 경우의 동벡터는 (φ; φ)가 된다. 이와 같이 최소에러값을 가지는 이전블록의 동벡터를 찾는 것을 움직임추정(Motion Estimation)이라고 하는데 일반적으로는 블록매칭 알고리즘(Block Matching Algorithm:MBA)를 사용한다. BMA는 가장 유사한 이전블록을 탐색영역내의 구성 가능한 모든 블록에 대해서 현재블록과 1:1 비교연산을 수행해서 구하는 전탐색(Full Search) 기법이 가장 많이 사용되고 있다. 그러나 전탐색기법은 모든 블록과 1:1 비교하기 때문에 팽배한 연산량과 많은 입출력핀수가 실시간움직임 벡터추정기의 H/W 구현을 방해하는 큰 장애요인이 되게 된다.
비교블록간 유사도 계산은 최소절대치에러 D(i,j)(Minimum Absolute Error)가 사용되는데 다음과 같이 정의된다.
상기 D(i,j)중 최소에러값을 가지는 이전블록의 현재블록에 대한 상대적 위치가 움직임벡터가 되는 것이다. 움직임추정기의 실시간 하드웨어 구현에 필요한 연산량 및 처리속도를 예를 들어 구해 보면 아래와 같다.
위와 같은 조건일 때 전탐색기법의 총연산량은 블록당 256×256회의 연산이 요구되며 픽셀당 256회의 연산이 요구된다. 1회 연산의 내용은 감산, 절대치계산, 누산이 요구되므로 처리속도는 픽셀주기당 256회의 연산이 요구되어 대략 매 데이타당 0.29nS가 소요된다. 따라서 총연산요구량 및 처리속도의 관계에서 매 데이타마다 처리할 경우에는 실시간처리가 곤란하다는 것을 알 수 있다.
본 발명의 목적은 상기와 같은 종래기술의 문제점을 해결하기 위하여 실시간처리가 가능한 동보상예측코딩장치의 실시간 움직임 추정장치 및 그 방법을 제공하는데 있다.
본 발명의 다른 목적은 원칩화시에 입출력단자수를 최소화할 수 있는 실시간 움직임 추정장치를 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명은 (2M-1)라인×(2N-1)돗트사이즈의 탐색창내의 M라인×N돗트 사이즈의 복수의 이전화소블록들과 M라인×N돗트사이즈의 현재화소블록을 1:1 비교연산하여 상기 현재화소블록과 가장 유사한 이전화소블록과의 상대적 위치정보를 움직임정보로 추출하기 위한 움직임 추정장치에 있어서, 상기 탐색창내의 제1 및 제2시리얼화소데이타열을 동시에 입력하여 상기 각 이전화소블록들에 대응하는 직렬화소데이타열들을 순차적으로 병렬출력하는 이전화소블록형성수단; 상기 병렬 입력되는 직렬화소데이타열들과 상기 현재화소블록의 제3시리얼 화소데이타열을 순차입력하여 복수의 이전화소블록들과 현재화소블록의 1:1비교연산을 모든 이전화소블록들에 대해 동시에 병렬로 처리하여 현재화소 블록에 대한 복수의 이전화소블록들의 각 절대치에러데이타들을 병렬로 출력하는 블록매칭산출수단; 상기 병렬에러데이타열을 입력하여 복수 그룹으로 분할해서 각 그룹에서 최소절대치에러데이타를 구하고 각 그룹의 최소절대치 에러데이타들을 상호 비교해서 탐색창내의 최소절대치에러데이타를 발생하는 최소절대치에러값산출수단; 상기 최소절대치에러산출수단의 최소값을 구하는 동작에 동기되어 상기 탐색창내의 산출된 최소절대치에러데이타에 대응하는 움직임벡터값을 발생하는 움직임벡터발생수단; 및 절대치에러데이타, 기준이전화소블록의 절대치에러데이타, 산출된 최소절대치에러데이타 및 발생된 움직임벡터값을 입출력버스에 출력하고, 상기 입출력버스로부터 입력된 외부움직임벡터값에 따라 복수의 절대치에러데이타열중 대응하는 절대치에러데이타를 선택출력하는 출력제어수단을 구비한 것을 특징으로 한다.
즉, 본 발명에서는 상기와 같은 구성을 통하여 현재블록과 탐색영역내의 이전블록의 픽셀값을 순차입력함으로써 입출력핀수를 최소화하여 원칩화, 즉 VLSI구현을 용이하게 하며, 동일한 처리요소를 이전블록갯수만큼 구비하여 동시에 병렬로 연산을 시작하고 끝냄으로서 실시간적으로 연산을 수행하고, 각 처리요소에 대한 필요한 픽셀데이타의 전송은 현재블록의 픽셀데이타의 경우에는 모든 처리요소에 동시에 전송하고, 이전블록의 픽셀데이타는 수평, 수직 파이프라인구조로 전송한다. 상기와 같은 전송라인구조에 따라 움직임 추정장치는 규칙적인 버스구조를 갖추게 되며 입출력핀수를 최소화할 수 있다. 또한 본 발명에서는 최소절대치에러값산출을 위해 에러데이타들을 복수그룹으로 분할해서 각 그룹별로 동시에 비교하고 각 그룹별 최소절대치에러값들을 비교해서 최종 최소절대치에러값을 산출함으로써 회로구성의 간단화 및 신호지연의 최소화를 꾀하여 효율적인 하드웨어구현이 가능하다.
또한, 본 발명에서는 외부에서 임의의 동벡터에 대한 에러값을 출력할 수도 있다.
이하 첨부한 도면을 참조하여 본 발명을 보다 상세히 설명하면 다음과 같다.
제1도는 일반적인 움직임추정에 대한 개념도를 나타낸다. CB는 현재프레임내의 M라인×N돗트사이즈의 현재블록으로서 여기서는 M=N=16인 사이즈를 가진다. SW는 이전프레임내의 탐색영역, 즉 탐색창으로서 (2M-1)라인×(2N-1)돗트 사이즈를 가진다. 따라서 탐색창은 현재블록(CB)와 동일사이즈를 가진 M×N개의 이전블록(PB)를 포함한다. 탐색창(SW)은 현재블록(CB)의 좌상단 화소위치를 좌표의 기준점(0,0)으로 하고 수직방향으로 -8부터 M+6까지, 수평방향으로 -8부터 N+6까지의 각 좌표값을 가진다. 따라서, CB의 좌상단 화소위치로부터 각 PB의 좌상단 화소위치까지의 상대적 변위를 나타내는 동벡터 MV(i,j)의 i, j는 -8≤i, j≤7의 범위내에 존재한다. 움직임추정은 CB내의 256개의 화소들과 PB내의 256개의 화소들을 각 대응화소들끼리 감산하고 감산치의 절대값을 구하고 256개의 절대값의 총합이 가장 작은 이전블록(PB)이 도시된 145° 사선영역이라고 가정하면 동벡터 MV(i,j)와 총합인 최소절대치에러값 D(i,j)이 움직임추정데이타로 제공된다.
제2도는 본 발명에 의한 실시간 움직임 추정장치의 블록도를 나타낸다. 실시간 움직임 추정장치는 이전블록형성수단(100), BMA연산처리수단(200), 최소값검출수단(300), 동벡터발생수단(400) 및 출력제어수단(500)을 포함한다.
이전블록형성수단(100)은 탐색창(SW)내의 제1 및 제2시리얼 화소데이타열(SPD1,SPD2)을 각기 입력하여 탐색창(SW)내의 모든 이전블록 PB(i,j)들에 대응하는 블록화소데이타열 PBD을 순차적으로 병렬출력한다. 이전블록형성수단(100)은 제3도를 참조하면, 제1디멀티플렉서(110), 제1래치수단(120), M×N 제1시프트레지스터매트릭스(130), 제2멀티플렉서(140), 제2래치수단(150), (M-1)×N 제2시프트레지스터매트릭스(160)를 포함한다. 제1디멀티플렉서(110)는 탐색창(SW)의 상위 16행의 각 화소데이타열을 매 컬럼마다 순차입력해서 제1래치수단(120)에 디멀티플렉싱한다. 제1래치수단(120)은 래치된 상위 16행의 각 화소데이타를 제1소정클럭주기로 병렬출력한다. M×N 제1시프트레지스터매투릭스(130)는 제1래치수단(120)으로부터 공급되는 상위 16행의 병렬화소데이타를 제2소정클럭주기로 좌측방향으로 수평시프트하고, 제3소정클럭주기로 상측방향으로 수직시프트한다. 각 제1시프트레지스터(SRA)들은 탐색창(SW)내의 각 이전블록(PB)에 대응해서 대응하는 이전블록(PB)의 M×N화소데이타를 직렬데이타 PBD(x,y)로 형성하여 출력한다.
따라서 M×N제1시프트레지스터매트릭스(130)는 M×N이전블록(PB)들의 각 직렬데이타열을 동시에 병렬로 출력한다. 제2멀티플렉서(140)는 탐색창에(SW)의 하위15행의 각 화소데이타열을 매컬럼마다 순차입력해서 제2래치수단(150)에 디멀티플렉싱한다. 제2래치수단(150)은 래치된 하위 15행의 각 화소데이타를 제1소정클럭주기로 병렬출력한다. (M-1)×N 제2시프트레지스터매트릭스(160)는 제2래치수단(150)으로부터 공급되는 하위 15행의 병렬화소데이타를 제2소정클럭주기로 좌측방향으로 수평시프트하고, 제3소정클럭주기로 상측방향으로 수직 및 순환시프트한다. 상측 제1행의 제2시프트레지스터(SRB)들은 M×N 제1시프트레지스터 매트릭스(160)의 최하측행의 제1시프트레지스터(SRA)들에 데이타를 공급하도록 연결된다.
제1시프트레지스터(SRA)는 제4도를 참조하면 수평시프트를 위한 제1플립플롭(FF1)과 수직시프트를 위한 제2플립플롭(FF2)과, 상기 제1 및 제2플립플롭(FF1,FF2)의 출력을 선택적으로 출력하기 위한 멀티플렉서(MUX1)를 구비한다.
제2시프트레지스터(SRB)는 제5도를 참조하면 우측 및 하측시프트레지스터에서 공급되는 데이타를 선택하기 위한 멀티플렉서(MUX2)와, 멀티플렉서(MUX2)에서 선택된 데이타를 클럭신호에 의해 좌측 및 상측레지스터에 공급하기 위한 플립플롭(FF3)을 구비한다.
제6도를 참조하면, BMA연산처리수단(200)은 M×N이전블록(PB)들에 대응하는 M×N처리요소(PE) 매트릭스를 포함한다. 제7도에 도시된 바와 같이, 각 처리요소(PE)는 현재블록(CB)의 화소데이타열(CBD)과 이전블록 PB(x,y)의 화소데이타열 BPD(x,y)을 감산하는 감산기(SUB:710)와, 감산기(SUB:710)의 출력의 절대값을 구하는 절대값산출기(ABS:720)와, M×N화소데이타상에 대한 절대값들을 누산하는 누산기(ACC:730)와 누산기(ACC:730)의 누산치를 이전블록(PB)의 현재블록(CB)에 대한 에러값 BE(i,j)으로 출력하기 위한 출력래치수단(LT1:740)을 구비한다. 누산기(ACC:730)는 가산기(ADD:731)와 수직래치수단(LT2:731)을 포함한다.
따라서 BMA연산처리수단(200)은 M×N이전블록(PB)들의 현재블록(CB)에 대한 M×N에러값 BE(i,j)을 동시에 실시간적으로 처리하여 발생한다.
제8도를 참조하면, 최소값검출수단(300)은 에러값을 제1그룹BE(1,1)~BE(), 제2그룹BE()~BE(), 제3그룹BE()~BE(), 제4그룹BE()~BE(M,N)의 4개 그룹으로 분할하여 각 그룹별로 그룹최소에러값을 산출하기 위하여 4개의 그룹최소값검출기(310,320,330,340)를 구비한다. 각 그룹최소값검출기는 해당그룹의 에러값 BE을 병렬입력하여 에러선택신호(BES)에 응답해서 직렬에러값데이타열(ERA,ERB,ERC,ERD)을 발생하기 위한 제1멀티플렉서(MUX3)와, 그룹선택신호(GPS)에 응답해서 직렬에러값데이타열과 타그룹으로부터 공급되는 그룹최소에러데이타를 선택하기 위한 제2멀티플렉서(MUX4)와, 초기에는 초기비교기준값(ICP)과 제2멀티플렉서(MUX4)의 출력값을 입력하여 비교하고 비교결과 두 입력중 보다 작은값을 래치하기 위한 비교기(COMP)를 구비한다. 제1그룹최소값검출기(310)는 제2그룹최소값검출기(320)에 의해 검출된 제2그룹최소값과 제4그룹최소값검출기(340)의 제4그룹 최소값을 선택하여 타그룹의 최소값으로 제2멀티플렉서(MUX4)에 제공하기 위한 제3멀티플렉서(MUX5)를 포함한다. 제1그룹과 제2그룹, 제2그룹과 제4그룹, 제3그룹과 제1그룹, 제4그룹과 제3그룹의 그룹간 비교에 의해 최소값이 구해지고, 최종 제1그룹과 제4그룹의 출력을 비교함으로써 최종 최소에러값(MAE)을 출력래치수단(LT3)을 통해서 출력한다. 출력래치수단(LT3)은 출력인에이블(OE)신호에 응답한다. 각 비교기(COMPA~D)는 비교결과 결정된 최소값에 대응하는 선택신호(GSA~GSD)를 각각 출력한다.
따라서, 최소값검출수단(300)은 비교검출동작을 고속화하기 위해 4개 그룹별로 비교하고 비교결과 얻어진 각 그룹별 최소값들은 그룹간 비교하여 최종 최소에러값(MAE)을 출력한다.
제9도를 참조하면, 동벡터발생수단(400)은 각 그룹별이전블록(PB)에 대응하는 동벡터값을 순차적으로 발생하는 동벡터룩업테이블(410)과, 최소값검출수단(300)의 각 그룹최소값 검출기에 대응되는 그룹동벡터선택기(420,430,440,450)와, 출력래치수단(LT5)을 구비한다. 그룹동벡터선택기는 그룹선택신호(GPS)에 응답해서 동벡터룩업테이블(410)에서 공급되는 동벡턱값과 타그룹에서 제공되는 동벡터값을 선택하는 제1멀티플렉서(MUX6)와, 최소값검출수단(300)에서 공급되는 선택신호(GSA)에 응답하여 입력된 동벡터값과 래치된 동벡터값을 선택하기 위한 제2멀티플렉서(MUX7)와 상기 제2멀티플렉서(MUX7)에서 선택된 동벡터값을 래치하기 위한 래치수단(LT4)을 구비한다. 제2그룹동벡터선택기(420)는 제2그룹에서 선택된 동벡터값과 나머지 그룹에서 선택된 동벡터값을 선택하여 타그룹동벡터값으로 제1멀티플렉서(MUX6)에 제공하기 위한 제3멀티플렉서(MUX8)를 구비한다. 제1그룹동벡터선택기(420)의 제2멀티플렉서(MUX7)의 출력은 출력래치수단(LT5)J에 제공된다. 제1그룹동벡터선택기(420)의 래치수단(LT4)의 출력은 제3그룹동벡터선택기(440)에 제공되고, 제3그룹동벡터선택기(440)의 래치수단(LT4)의 출력은 제4그룹동벡터선택기(450)에 제공되고, 제4그룹동벡터선택기(440)의 래치수단(LT4)의 출력은 제2그룹 및 제1그룹동벡터선택기(430,420)에 제공된다.
따라서, 동벡터발생수단(400)은 최소값검출수단(300)의 최소값검출동작에 동기되어 검출된 최소값에 대응하는 이전블록(CE)의 동벡터값을 선택해서 최종 최소에러값을 가지는 이전블록(CE)의 동벡터값 MV(i,j)을 최소에러값(MAE)과 동시에 발생하여 출력한다.
제10도를 참조하면, 출력제어수단(500)은 입출력버스인터페이스(510)와, 카운터(CNT), 제1멀티플렉서(MUX9), 제2멀티플렉서(MUX10)을 구비한다. 카운터(CNT)는 클럭(CLK)을 입력하여 64를 계수하는 64진카운터로서 에러선택신호(BES)를 발생한다. 제1멀티플렉서(MUX9)는 그룹선택신호(GPS)에 응답하여 64진카운터(CNT)에서 발생된 에러선택신호(BES)와 외부에서 입력된 에러선택신호를 선택하여 최소값검출수단(300)의 에러선택신호(BES)를 발생한다. 제2멀티플렉서(MUX10)는 외부에서 입력된 선택신호에 응답해서 최소값검출수단(300)의 각 그룹별 블록에러값(ERA,ERB,ERC,ERD)을 선택하여 입출력버스인터페이스(510)에 제공한다. 입출력버스인터페이스(510)는 선택된 블록에러값, 기준블록에러값 BE(), 최소에러값 MAE 및 동벡터(MV)를 입력하여 입출력버스에 출력하고, 입출력버스를 통해서 입력된 외부선택신호를 제1 및 제2멀티플렉서(MUX9,MUX10)에 제공한다. 따라서, 출력제어수단(500)은 움직임추정데이타로서 최소에러값(MAE) 및 대응 동벡터(MV)를 출력할 뿐만 아니라, 외부선택수단, 즉 외부로부터 입력되는 임의의 동벡터(EMV)에 응답해서 대응하는 에러값은 발생할 수 있다.
이상과 같이 본 발명에서는 입출력핀수를 최소화하기 위해 외부로부터 입력되는 데이타는 직렬입력방식을 사용하고 내부에서는 모든 이전블록들과, 현재블록을 파이프라인방식으로 동시에 병렬처리하고, 그룹별 최소값검출과 동시에 대응하는 동벡터가 선택되도록 구성함으로써 처리속도를 고속화할 수 있으므로 실시간적으로 움직임을 추정할 수 있다.

Claims (10)

  1. (2M-1)라인×(2N-1)돗트사이즈의 탐색창내의 M라인×N돗트사이즈의 복수의 이전화소블록들과 M라인×N돗트사이즈의 현재화소블록을 1:1 비교연산하여 상기 현재화소블록과 가장 유사한 이전화소블록과의 상대적 위치정보를 움직임정보로 추출하기 위한 움직임 추정장치에 있어서, 상기 탐색창내의 제1 및 제2시리얼화소데이타열을 동시에 입력하여 상기 각 이전화소블록들에 대응하는 직렬화소데이타열들을 순차적으로 병렬출력하는 이전화소블록형성수단; 상기 직렬화소데이타열들과 상기 현재화소블록의 제3시리얼 화소데이타열을 순차입력하여 복수의 이전화소블록들과 현재화소블록의 1:1비교연산을 동시에 병렬로 처리하여 현재화소블록에 대한 복수의 이전화소블록들의 각 절대치에러데이타들을 병렬로 출력하는 블록매칭산출수단; 상기 병렬절대치에러데이타열을 입력하여 복수 그룹으로 분할해서 각 그룹에서 최소절대치에러데이타를 구하고 각 그룹의 최소절대치에러데이타들을 상호 비교해서 탐색창내의 최소절대치 에러데이타를 발생하는 최소에러값산출수단; 상기 최소절대치에러산출수단의 최소값을 구하는 동작에 동기되어 상기 탐색창내의 산출된 최소절대치에러데이타에 대응하는 움직임벡터값을 발생하는 움직임벡터발생수단; 및 기준이전화소블록의 절대치에러데이타, 산출된 최소절대치에러데이타, 또는 발생된 움직임벡터값을 입출력버스에 출력하고, 상기 입출력버스로부터 입력된 외부움직임벡터값에 따라 복수의 절대치에러데이타열중 대응하는 절대치에러데이타를 선택제어하는 출력제어수단을 구비한 것을 특징으로 하는 실시간 움직임 추정장치.
  2. 제1항에 있어서, 상기 이전화소블록형성수단의 제1시리얼데이타열은 (M-1)라인중 상위 M라인들의 돗트열단위로 입력되는 이전화소데이타열이고, 제2시리얼데이타열은 하위 (M-1)라인들의 돗트열단위로 입력되는 이전화소데이타열인 것을 특징으로 하는 실시간 움직임 추정장치.
  3. 제2항에 있어서, 상기 이전화소블록형성수단은 상기 제1시리얼데이타열을 M라인별로 디멀티플렉싱하는 제1디멀티플렉서; 상기 제1디멀티플렉서의 출력신호를 래치하는 M래치들; 상기 래치된 데이타를 M클럭마다 수평시프트하고 매클럭마다 하위레지스터에서 절단된 데이타를 상위레지스터로 수직시프트하여 M×N사이즈의 이전화소블록의 직렬화소데이타열을 발생하기 위한 매트릭스상의 M×N 제1시프트레지스터들; 상기 제2시리얼데이타열을 (M-1)라인별로 디멀티플렉싱하는 제2디멀티플렉서; 상기 제2디멀티플렉서의 출력신호를 래치하는 M-1래치들; 상기 래치된 데이타를 M클럭마다 수평시프트하고, 매클럭마다 하위레지스터에서 전달된 데이타를 상위레지스터에 순환시프트하는 매트릭스상의 (M-1)×N 제2시프트레지스터들을 구비한 것을 특징으로 하는 실시간 움직임 추정장치.
  4. 제3항에 있어서, 상기 각 제1레지스터들은 수평시프트되어 전달된 데이타를 래치하고 수평시프트하기 위한 제1플립플롭과, 하위레지스터에서 수직전달된 데이타를 래치하는 제2플립플롭과, 상기 제1 및 제2플립플롭의 출력을 선택적으로 대응하는 이전화소데이타로 출력하기 위한 멀티플렉서를 구비한 것을 특징으로 하는 실시간 움직임 추정장치.
  5. 제3항에 있어서, 상기 각 제2레지스터들은 수평시프트되어 전달된 데이타와 하위레지스터에서 수직 전달된 데이타를 선택하기 위한 멀티플렉서와, 상기 멀티플렉서에서 선택된 데이타를 래치하여 동시에 수평 및 수직으로 시프트하기 위한 플립플롭을 구비하여 최상위라인의 제2레지스터들은 상기 최하위라인의 제1레지스터와 최하위라인의 제1레지스터에 데이타를 동시에 전달하도록 구성한 것을 특징으로 하는 실시간 움직임 추정장치.
  6. 제1항에 있어서, 상기 블록매칭산출수단은 상기 복수의 이전화소블록들에 대응하는 복수의 블록에러값산출수단을 구비하되 상기 각 블록에러값산출수단은 현재화소블록의 시리얼데이타열과 대응하는 이전화소블록의 시리얼데이타열을 순차적으로 각각 입력하여 감산하는 감산기와, 상기 감산결과의 절대값을 취하는 절대값산출기와, 상기 산출된 절대값을 누산하는 누산기와, 상기 누산된 결과를 현재화소블록에 대한 이전화소블록의 에러값으로 출력하는 출력래치를 구비한 것을 특징으로 하는 실시간 움직임 추정장치.
  7. 제1항에 있어서, 상기 최소에러값 산출수단은 상기 블록매칭산출수단의 병렬에러데이타열을 복수의 그룹으로 분할하여 각 그룹별로 그룹시리얼에러데이타열을 발생하기 위한 복수의 제1멀티플렉서들과, 상기 그룹시리얼에러데이타열과 타그룹의 최소에러데이타를 선택하기 위한 복수의 제2멀티플렉서들과, 상기 제2멀티플렉서에서 선택된 에러데이타를 이전에러데이타와 비교해서 보다 작은 에러데이타를 최소에러데이타로 출력하고 타그룹에서 전달된 최소에러데이타 보다 제1그룹의 최소에러데이타가 더 작은 경우에 그룹선택신호를 발생하는 복수의 비교기들과, 제2그룹의 비교기의 결과와 제1그룹을 제외한 나머지그룹의 비교결과를 선택적으로 상기 제1그룹의 제2멀티플렉서의 타그룹의 최소에러데이타로 공급하기 위한 제3멀티플렉서와, 상기 제1그룹의 비교기의 최소에러데이타를 상기 탐색창내의 최소에러데이타로 출력하기 위한 출력래치를 구비한 거승ㄹ 특징으로 하는 실시간 움직임 추정장치.
  8. 제7항에 있어서, 상기 움직임벡터발생수단은 복수의 그룹별로 움직임벡터데이타열을 발생하는 움직임벡터발생기와, 상기 그룹별 움직임벡터데이타열과 타그룹의 움직임벡터데이타를 선택하기 위한 복수의 제1멀티플렉서들과, 상기 최소에러값산출수단의 그룹선택신호에 응답하여 상기 각 제1멀티플렉서들에서 선택된 데이타와 래치된 데이타를 선택하기 위한 복수의 제2멀티플렉서들과, 상기 제2멀티플렉서들에서 선택된 데이타를 래치하고 래치된 데이타를 상기 제2멀티플렉서 및 타그룹의 제1멀티플렉서에 공급하기 위한 복수의 래치들과, 제2그룹의 래치된 데이타와 제1그룹을 제외한 나머지그룹의 래치된 결과를 선택적으로 상기 제1그룹의 제1멀티플렉서의 타그룹의 데이타로 전달하기 위한 제3멀티플렉서와, 상기 제2그룹의 제2멀티플렉서에서 선택된 데이타를 상기 탐색창내의 최소에러데이타에 대응하는 움직임벡터값으로 출력하기 위한 출력래치를 구비한 것을 특징으로 하는 실시간 움직임 추정장치.
  9. 제8항에 있어서, 상기 출력제어수단은 상기 산출된 최소에러데이타, 움직임벡터값 및 에러데이타열을 입출력버스에 출력하고 상기 입출력버스를 통해서 공급되는 외부움직임벡터값을 입력하는 입출력버퍼와, 상기 외부움직임벡터값에 따라 상기 복수 그룹의 에러데이타열을 선택하여 상기 에러데이타열을 발생하는 제1멀티플렉서와, 상기 각 그룹별 에러데이타를 순차적으로 선택하기 위한 선택신호를 발생하기 위한 카운터와, 상기 카운터의 출력과 상기 외부움직임벡터값을 선택하여 상기 최소에러값산출수단의 복수의 제1멀티플렉서들의 선택제어신호로 공급하는 제2멀티플렉서를 구비하는 것을 특징으로 하는 실시간 움직이미 추정장치.
  10. (2M-1)라인×(2N-1)돗트사이즈의 탐색창내의 M라인×N돗트사이즈의 복수의 이전화소블록들과 M라인×N돗트사이즈의 현재화소블록을 1:1 비교연산하여 상기 현재화소블록과 가장 유사한 이전화소블록과의 상대적 위치정보를 움직임정보로 추출하기 위한 움직임 추정방법에 있어서, 상기 탐색창내의 제1 및 제2시리얼화소데이타열을 동시에 입력하여 상기 각 이전화소블록들에 대응하는 직렬화소데이타열들을 순차적으로 병렬출력하는 단계; 상기 직렬화소데이타열들과 상기 현재화소블록의 제3시리얼화소데이타열을 순차입력하여 복수의 이전화소블록들과 현재화소블록의 1:1비교연산을 동시에 병렬처리하여 현재화소블록에 대한 복수의 이전화소블록들의 각 절대치에러데이타들을 병렬출력하는 단계; 상기 병렬절대치에러데이타열을 입력하여 복수 그룹으로 분할해서 각 그룹에서 최소절대치에러데이타를 구하고 각 그룹의 최소절대치에러데이타들을 상호 비교해서 탐색창내의 최소절대치에러데이타를 검출하는 단계; 상기 최소절대치에러데이타를 검출하는 동작에 동기되어 상기 탐색창내의 검출된 최소절대치에러데이타에 대응하는 움직임벡터발생값을 발생하는 단계; 및 상기 검출된 최소절대치에러데이타와 발생된 움직임벡터값을 움직임추정데이타로 출력하는 단계를 구비한 것을 특징으로 하는 실시간 움직임 추정방법.
KR1019920019824A 1992-10-27 1992-10-27 실시간 움직임 추정장치 및 그 방법 KR0160618B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019920019824A KR0160618B1 (ko) 1992-10-27 1992-10-27 실시간 움직임 추정장치 및 그 방법
DE1993627223 DE69327223T2 (de) 1992-10-27 1993-04-27 Vorrichtung zur Bewegungsschätzung in Echtzeit und Verfahren dafür
EP19930106843 EP0594936B1 (en) 1992-10-27 1993-04-27 Apparatus for estimating real-time motion and a method thereof
JP10262693A JP2834640B2 (ja) 1992-10-27 1993-04-28 動き推定装置及びその方法
US08/056,884 US5568203A (en) 1992-10-27 1993-05-05 Apparatus for estimating real-time motion an a method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920019824A KR0160618B1 (ko) 1992-10-27 1992-10-27 실시간 움직임 추정장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR940010831A KR940010831A (ko) 1994-05-26
KR0160618B1 true KR0160618B1 (ko) 1999-01-15

Family

ID=19341830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920019824A KR0160618B1 (ko) 1992-10-27 1992-10-27 실시간 움직임 추정장치 및 그 방법

Country Status (5)

Country Link
US (1) US5568203A (ko)
EP (1) EP0594936B1 (ko)
JP (1) JP2834640B2 (ko)
KR (1) KR0160618B1 (ko)
DE (1) DE69327223T2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950014343B1 (ko) * 1993-05-20 1995-11-24 한국방송공사 고화질 티브(hdtv)의 화상데이타 움직임 추정방법 및 그 장치
FR2723796B1 (fr) * 1994-08-19 1996-11-29 Thomson Consumer Electronics Dispositif d'estimation de mouvement
KR100287211B1 (ko) * 1994-08-30 2001-04-16 윤종용 양방향 움직임 추정방법 및 장치
JP3089165B2 (ja) * 1994-11-10 2000-09-18 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索装置
US5696836A (en) * 1995-03-17 1997-12-09 Lsi Logic Corporation Motion estimation processor architecture for full search block matching
KR100225690B1 (ko) * 1995-04-18 1999-10-15 모리시다 요이치 상관도 연산장치, 병렬상관도 연산장치 및 상관도연산방법
JP2853616B2 (ja) * 1995-07-07 1999-02-03 日本電気株式会社 動き検出方式
KR0151922B1 (ko) * 1995-12-12 1998-10-15 양승택 필드 및 프레임 움직임 추정 장치
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
US5973742A (en) * 1996-05-24 1999-10-26 Lsi Logic Corporation System and method for performing motion estimation with reduced memory loading latency
JPH1079947A (ja) * 1996-09-03 1998-03-24 Mitsubishi Electric Corp 動きベクトル検出装置
US6118901A (en) * 1997-10-31 2000-09-12 National Science Council Array architecture with data-rings for 3-step hierarchical search block matching algorithm
US6590198B1 (en) * 1998-03-16 2003-07-08 Photon Vision Systems, Inc. Video bus for high speed multi-resolution imagers
US6693270B2 (en) 1998-03-16 2004-02-17 Silicon Video, Inc. Current mode analog signal multiplexing bus and a method thereof
US5838392A (en) * 1998-03-19 1998-11-17 United Microelectronics Corp. Adaptive block-matching motion estimator with a compression array for use in a video coding system
US6097851A (en) * 1998-03-31 2000-08-01 Agilent Technologies Low latency correlation
US6567469B1 (en) * 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
KR100549919B1 (ko) * 2000-12-15 2006-02-06 주식회사 케이티 소요클럭사이클수 감축을 위한 초대규모 집적회로 장치
JP2002232911A (ja) * 2001-02-01 2002-08-16 Mitsubishi Electric Corp 動きベクトル検出装置及び動きベクトル検出方法
KR20040022697A (ko) * 2002-09-09 2004-03-16 한국전자통신연구원 영상 데이터 압축을 위한 움직임 추정 장치
TWI258682B (en) * 2005-05-06 2006-07-21 Sunplus Technology Co Ltd Interactive video game system
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US20150271512A1 (en) * 2014-03-18 2015-09-24 Texas Instruments Incorporated Dynamic frame padding in a video hardware engine

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8722612D0 (en) * 1987-09-25 1987-11-04 British Telecomm Motion estimator
US4897720A (en) * 1988-03-14 1990-01-30 Bell Communications Research, Inc. Circuit implementation of block matching algorithm
FR2638924B1 (fr) * 1988-11-09 1991-01-25 Artieri Alain Procede et circuit de traitement par bloc de signal bidimensionnel d'images animees
GB8909498D0 (en) * 1989-04-26 1989-06-14 British Telecomm Motion estimator
JPH0385884A (ja) * 1989-08-29 1991-04-11 Sony Corp 画像の動き検出回路
JPH0832048B2 (ja) * 1990-01-23 1996-03-27 日本ビクター株式会社 動きベクトル検出装置
US5030953A (en) * 1990-07-11 1991-07-09 Massachusetts Institute Of Technology Charge domain block matching processor
DE69126930T2 (de) * 1990-09-03 1998-02-19 Philips Electronics Nv Video-Bewegungsvektorabschätzung mit asymmetrischem Aktualisierungsgebiet
US5200820A (en) * 1991-04-26 1993-04-06 Bell Communications Research, Inc. Block-matching motion estimator for video coder

Also Published As

Publication number Publication date
JPH06165166A (ja) 1994-06-10
EP0594936B1 (en) 1999-12-08
EP0594936A1 (en) 1994-05-04
KR940010831A (ko) 1994-05-26
DE69327223T2 (de) 2000-04-20
JP2834640B2 (ja) 1998-12-09
US5568203A (en) 1996-10-22
DE69327223D1 (de) 2000-01-13

Similar Documents

Publication Publication Date Title
KR0160618B1 (ko) 실시간 움직임 추정장치 및 그 방법
EP1074941B1 (en) Motion vector detection apparatus
US6687303B1 (en) Motion vector detecting device
US5696836A (en) Motion estimation processor architecture for full search block matching
KR101578052B1 (ko) 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
JPH06334980A (ja) 動画像の動きベクトル検出装置
US6516031B1 (en) Motion vector detecting device
CN103260024A (zh) 复杂度可调整的帧速率上转换
KR20040047963A (ko) 움직임 예측 유닛 및 방법 및 이러한 움직임 예측 유닛을구비하는 이미지 처리 장치
US6990149B2 (en) Circuit and method for full search block matching
US8428137B2 (en) Motion search apparatus in video coding
KR0178302B1 (ko) 양방향 병렬 파이프라인 구조에 근거한 탐색 이동 예측처리기
KR100359091B1 (ko) 움직임추정장치
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
US20030012283A1 (en) Motion vector detecting device and self-testing method therein
JP2866321B2 (ja) 動きベクトル探索方法および装置
JP3115511B2 (ja) 動きベクトル探索装置
Jou et al. A low-cost gray prediction search chip for motion estimation
JP2866325B2 (ja) 動きベクトル探索装置
JP3580612B2 (ja) 動画像符号化装置の動き検出装置
JP2866326B2 (ja) 動きベクトル探索装置
JP2963369B2 (ja) 動きベクトル探索装置
Dianysian et al. Bit-serial Architecture for real time motion Compensation
JP2866324B2 (ja) 動きベクトル探索装置
KR100202310B1 (ko) 비디오 반화소 단위 움직임 추정장치

Legal Events

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

Payment date: 20080731

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee