KR100225065B1 - 가산투영을 이용한 2단계 블럭정합 움직임 추정기 - Google Patents

가산투영을 이용한 2단계 블럭정합 움직임 추정기 Download PDF

Info

Publication number
KR100225065B1
KR100225065B1 KR1019960009562A KR19960009562A KR100225065B1 KR 100225065 B1 KR100225065 B1 KR 100225065B1 KR 1019960009562 A KR1019960009562 A KR 1019960009562A KR 19960009562 A KR19960009562 A KR 19960009562A KR 100225065 B1 KR100225065 B1 KR 100225065B1
Authority
KR
South Korea
Prior art keywords
block
value
distortion function
output
projection
Prior art date
Application number
KR1019960009562A
Other languages
English (en)
Other versions
KR970068665A (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 KR1019960009562A priority Critical patent/KR100225065B1/ko
Publication of KR970068665A publication Critical patent/KR970068665A/ko
Application granted granted Critical
Publication of KR100225065B1 publication Critical patent/KR100225065B1/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/513Processing of motion vectors
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter

Landscapes

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

Abstract

본 발명은 영상의 움직임 정도를 나타내는 움직임 벡터를 가산투영을 이용한 2단계 블럭정합 방법에 의하여 실시간적으로 검출하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기에 관한 것으로, 본 발명에 의한 가산투영을 이용한 2단계 블럭정합 움직임 추정기는 현재영상 데이터 블럭 및 이전영상 데이터 블럭에 대한 수평가산투영값들을 계산하는 수평가산투영값 계산수단과, 상기 수평 및 수직가산투영값들을 이용하여 제1왜곡함수값들을 계산하는 수직가산투영값 및 제1왜곡함수값 계산수단과 상기 수평간산투영값들 및 상기 제1왜곡함수값들을 입력하여 지연출력시키기 위한 데이터 지연수단과, 상기 제1왜곡함수값들중 최소값을 판별하여 제1정합점을 출력하는 제1정합점 블럭수단과, 제2왜곡함수값들을 계산하는 제2왜곡함수값 계산수단 및 상기 제2왜곡함수값들 중에서 최소값을 판별하여 제2정합점 즉, 움직임 벡터를 출력하는 제2정합점 출력수단을 포함하여 종래의 전역탐색 블럭정합 알고리즘에 비하여 성능저하는 거의 없는 반면에 계산량을 줄임으로써 실시간처리를 가능하게 하는 이점이 있다.

Description

가산투영을 이용한 2단계 블럭정합 움직임 추정기
제1a는 종래의 움직임 추정리를 도시한 블럭도.
제1b는 종래의 다른 움직임 수정기를 도시한 블럭도.
제1c도는 종래의 또 다른 움직임 추정기를 도시한 블럭도.
제2도는 본 발명에 의한 가산투영을 이용한 2단계 블럭정합 움직임 추정기를 도시한 블럭도.
제3도는 제2도에 있는 제1정합점 계산부의 상세블럭도.
제4도는 제2도에 있는 제2정합점 계산부의 상세출력도.
제5a도 내지 제5d도는 제3도에 있는 각 처리소자의 연산기능을 설명하기 위한 블럭도.
제6a도와 제6b도는 제4도에 있는 각 처리소자의 연산기능을 설명하기 위한 블럭도.
* 도면의 주요부분에 대한 부호의 설명
32 : 수평가산투영값 계산부
34 : 수직가산투영값 및 제1왜곡함수값 계산부
36 : 데이터 지연부
38 : 제1정합점 출혁부
40 : 제2왜곡함수값 계산부
100 : 제1정합점 계산부
42 : 제2정합점 출력부
200 : 제2정합점 계산부
본 발명은 영상데이터 압축장치에 사용되는 움직임 추정기에 관한 것으로, 보다 상세하게는 영상의 움직임 정도를 나타내는 벡터를 가산투영을 이용한 2단계 블럭정합 방법에 의하여 실시간적으로 검출하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기에 관한 것이다.
통신기술의 발달은 음성정보의 전달에서 영상정보 전달로 발전되어 왔으며 , 앞으로는 영상정보를 이용한 정보통신산업이 급속히 발전할 것으로 보인다. 이 영상정보통신기술에서는 제한된 대역폭과 메모리 효율의 극대화를 위하여, 음성정보에 비해 데이타량이 많은 영상데이타를 처리하는 신호처리기술이 고품질의 영상정보서비스를 위한 필수적인 핵심기술로서 연구되고 있다.
영상신호 전송장치의 영상신호처리부는 영상입력부, 동검출 및 보상부, 예측오차부호화부 및 가변길이부호화부등으로 구성되어 있다. 그 중에서, 동 검출 및 보상부는 다른 부분에 비해 계산량이 방대하여, 움직이는 영상을 효율적으로 실시간 전송하기 위해서는 고속처리기술을 적용하여야 한다.
상기 동출 및 보상부는 주로 동영상 부호화에 많이 이용되는 동보상부호화기법(motion compensated coding method)을 적용하고 있다. 이 동보상부호화기법은 움직임을 검출하고 이 움직임에 따른 시간적인 중복성을 제거하며, 움직임을 나타내는 움직임 벡터와 움직임보상에 따른 예측오차를 전송하여 영상페이타를 압축한다.
움익임을 검출하는 동보상부호화기법중에서 블럭정합 알고리즘(block matching algorithm : BMA)은 시간적으로 서로 이웃한 두장의 프레임에서 각각의 프레임을 일정한 크기의 블럭들로 나눈 후 해당블럭의 움직임을 추정하는 알고리즘으로 다른 방법에 비해 알고리즘이 간단하고, 하드웨어구현이 용이하여 화상전화, 화상회의 및 HDTV (high definition television) 등에 사용되고 있다.
최대 변위가 P이고 부블럭의 크기가 N×N 일때, 움직임 추정은 (k-1)번째 프레임에서(N×2P) × (N×2P) 의 탐색영역을 전하고 k번째 프레임에서의 N×N 블럭과 같은 크기의 블럭을 (k-1)번째 프레임에서 탐색영역내에서 서로간의 유사도를 계산하여 최적의 블럭을 찾아 이때의 변위를 계산함으로써 해당 블럭의 움직임 정도를 구한다. 유사도를 측정바는 평가 함수로는 MSE(mean square error)나 MAD(mean-of-the-absolute-differences)를 주로 사용한다.
블럭정합 알고리즘에 있어서, 가장 대표적인 방법은 탐색영역내의 모든 점들을 후보점으로 하여 움직임벡터를 추정하는 전역탐색 블럭정합방법이다. 이 전역탐색 블럭정합방법의 하드웨어구조로는 제1도에 도지한 Komarek와 Pirsch의 AB1타입구조와, 제2도에 도시한 Hsieh와 Lin의 움직임 추정기의 구조 및 제3도에 도시한 Jehng의 움직임 추정기의 구조를 들 수 있다. 상기 Komarek와 Pirsch의 AB1타입구조는 전용하드웨어 구조인 SMCA(systolic mesh-connected array)를 이용하였으며, Jehng의 구조는 트리구조를 이용하였다.
제1a도에는 움직임 추정을 위한 SMCA구조가 도시되어 있으며, 최소왜곡함수값을 갖는 블럭을 찾기 위하여 이전 프래임에서의 탐색범위내 가능한 모든 변위된 후보블럭들을 정합시키는 과정이 도시되어 있다.
제1a도는 블럭의 크기(N×N)가 3×3이고, 탐색영역의 크기(P)가 -2이상 2이하인 경우를 예로 든 것이다. 여기서, 숫자의 열은 어레이구조의 입력을 나타내며, 움직임블럭과 탐색영역의 상대좌표이다. 그러므로, 탐색영역데이타 12는 탐색영역내의 첫번째 행, 두번째 열의 화소값을 의미한다.
제1a도에서 MAD(mean-of-the-absolute-differences)는 현재 영상과 이전영상의 화소값들의 차이의 절대값의 평균을 나타내며, 움직임 벡터를 찾는데 사용된다. 연산자 AD는 개별적인 시스톨릭 성분을 나타내며, 현재 프레임내 화소들과 이전 프레임내 화소들 사이의 차이값들을 계산한다. 연산자 A는 변위벡터가 (i, j)인 각 정합블럭에 대한 블럭왜곡함수값 MAD(i, j)을 구하기 위하여 그 차이들을 누산한다. 연산자 M은 이들 블럭왜곡함수값들로부터 최소 MAD(i, j)를 유지하여 예측 움직임 벡터(i, j)를 결정할 수 있다.
다시 말하면, 제1a도에서 블럭 A는 입력들을 계속적으로 더하는 처리소자들을 나타내는 블럭이고, 블럭 AD는 탐색영역데이타와 기준영역데이타의 차의 절대값을 계산하는 블럭이다. 다음, 블럭 M은 입력값들중 최소값을 찾는 블려이다.
제1b도의 움직임 추정기의 구조는 처음에 현재의 영상데이타가 입력데이타스트림으로 입력되고, 그 처음 입력이 최종 PE블럭단에 도달하면, 그 후 이전영상데이타값이 입력되며, 각 화소별 차이가 계산되어 최종블럭 M에서는 움직임 벡터가 출력된다.
제1b도에서, 블럭 PE는 처리소가들을 나타내는 블럭이고, SR은 시프트레지스터블럭이며, A와 M은 제1도의 운직임 추정기의 블럭과 유사한 기능을 하는 블럭이다.
제1c도의 움직임 추정기의 구조는 트리구조로 N×N 블럭의 MAD를 계산하는 과정에서 각 화소들의 차이를 계산할 때, 상기 제1a도 및 제1b도의 시스톨랙 어레이를 갖는 움직임 추정기에서와는 달리, 여러 단위로 나누어 계산하지 않고 하나의 프로세싱 시간에 동시에 계산한다. 이를 위해, 2-입력가산기를 2진 트리모양으로 구성한 N2-입력가산기를 이용하여 계산한다.
제1c도에서, 연산자 D는 개별적인 처리소자들을 나타내는 블럭이고, 다른 연산자 A와 M은 상기 제1도의 움직임 추정기의 블럭과 유사한 기능을 하는 블럭이다.
상기 전역탐색 블럭정합 알고리즘은 모든 정합 후보블럭들에 대하여 MAD를 계산해야 하므로 탐색영역이 커지면 커질수록 반복처리되는 회수가 기하급수적으로 증가하게 되므로 계산량이 많아질 수밖에 없었다. 그러므로, 전역탐색 블럭정합 알고리즘을 이용하여 하드웨어를 구현할 때에는 크고 작은 차이는 있으나 상술한 이유에 근거하여 계산량이 많아지게 된다.
각 구조별 계산량을 살펴보면, 블럭의 크기가 N×N이고 탐색영역의 크기가 P이며, 이에 따라 탐색범위가 (2P+1)2일 때, 제1a도 내지 제1c도에 있는 움직임 추정기의 소요클럭의 수는 N×(2P+)×(2p+N), (N+2P)2및 (2P+1)2+21ogN+1로 각각 계산될 수 있다. 이에 따라서, 블럭의 크기가 3×3이고 탐색영역의 크기가 ±2일 때, 제1a도의 구조에서는 105(3×(2×2+1)×(2×2+3))개의 클럭이 소요되고, 제1b도의 구조에서는 시프트레지스터가 추가되므로 지연이 야기되어 계산시간은 49(3+2×2)2개의 클럭이 필요하게 된다. 제1c도의 트리구조에서는 각 후보블럭내의 화소들의 절대차를 하나의 클럭마다 계산하고 이들 둘씩 더하여 MAD를 계산하므로 약 26 (25+21og3+1) 개의 클럭이 필요하게 된다
상술한 바와 같이, 종래의 전역탐색 블럭정합 움직임 추정기에서는 모든 정합블럭들에 대해서 MAD를 계산하여야 하므로, 그에 따라 계산량이 방대해지고 많은 클럭이 소요되므로 처리시간이 길어지게 되어, 성능은 우수하나 방대한 양의 계산으로 실시간 처리에 어려움이 있었다.
따라서, 본 발명의 목적은 상기한 전역탐색 블럭정합 알고리즘의 종래 단점들을 개선하기 위하여, 가산투영을 이용함으로써 탐색점의 수를줄여 영상데이타계산량을 줄인 가산투영을 이용한 2단계 블럭정합 움직임은 추정기를 제공하는데 있다.
상기 목적을 달성하는 위하여 본 발명에 의한 가산투영을 이용한 2단계 블럭정합 움직임 추정기는 일련의 소정 크기의 현재영상과 이전영상 데이터 블럭과 상기 이전영상 데이터 블럭에 대한 수직가산투영값들을 게산하고, 상기 현재영상 데이터 블럭과 상기 현재영상 데이터 블럭과 상기 이전영상 데이터 블럭 사이의 제1왜곡함수값들을 계산하는 수직가삼투영값 및 제1왜곡함수값 계산수단, 상기 수평가산투영값 계산수단에서 출력된 상기 수평가산투영값들을 지연출력시켜 상기 수직가산투영값 및 제1왜곡함수값 계산수단에 입력시키고, 상기 수직가산투영값 및 제1왜곡함수값 계산수단에서 출력되는 상기 제1왜곡함수값들을 입력하여 지연출력시키기 위한 데이터 지연수단, 상기 데이터 지연수단과 상기 수직가산투영값 및 제1왜곡함수값 계산수단에서 출력되는 제1왜곡함수값들중 최소값을 판별하여 제1정합점을 출력하는 제1정합점 출력수단, 상기 제1정합점을 중심으로 그 주변의 8개의 탐색점과 중심점에 대하여 제2왜곡함수값들을 계산하는 제2왜곡함수값 계산수단, 및 상기 제2왜곡함수값들 중 최소값을 판별하여 제2정합점 즉, 움직임 벡터를 출력하는 제2정합점 출력수단을 포함하는 것을 특징으로 하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기를 제공한다.
기준블럭의 크기를 N×N (N은 양인 정수)이라 하고, 변위가 -P 이상 P이하인 정수라 할때, 탐색영역의 크기는 (N×2P) × (N+2P)가 되고, 상기 수평가산투영값 계산수단은 입력되는 데이터를 누산하여 출혁하고, 상기 입혁된 데이터를 그대로 출력하는 (N+2P)개의 블럭으로 되어 있는 것이 바람직하다.
또한, 상기 수직가산투영값 및 제1왜곡함수값 계산수단은 상기 (N+2P)개의 수평가산투영값 계산수단에서 출력된 2(N+2P)개의 데이터중 2N개를 입력하여 (2N-2)개의 입력된 데이터를 그대로 출력하고, 상기 2(N+2P)개의 입력 데이터를 이용하여 상기 제1왜곡함수값을 계산하는 (2P+1)개의 블럭을 포함하며, 상기 블럭들은 한 블럭의 출력이 다음 블럭에 입력이 되도록 접속되어 있는 것이 바람직하다.
또한, 기준블럭의 크기를 N×N (N은 양인 정수)이라하고, 변위가 -P 이상 P이하인 정수라 할 때, 탐색영역의 크기는 (N+2P)×(N+2P)가 되고, 상기 데이터 지연수단은 상기 수평가산투영값 계산수단의 출력들과 상기 수직가산투영값 및 제1왜곡함수값 계산수단의 출력들을 지연시키기 위하여 3개의 입력단을 갖고 입력된 데이터들을 지연시켜 3개의 출력단에 그대로 출력시키는 복수의 데이터 지연블럭을 포함하는 것이 바람직하다.
또한, 기준블럭의 크기를 N×N (N은 양인 정수)이라 하고, 변위가 -P 이상 P이하인 정수라 할 때, 탐색영역의 크기는 (N+2P) × (N+2P)가 되고, 상기 제1정합점 출력수단은 상기 데이터 지연수단에서 출력되는 제1왜곡함수값들과 상기 수직간산투영값 및 제1왜곡함수값 계산수단의 최종 블럭에서 출력되는 제1왜곡함수값을 입력하여 최소값을 판별하는 (2P+2)개의 최소값 판별블럭을 포함하고, 상기 최소값 판별블럭들은 한 블럭의 출력이 다음 블럭의 입력이 되도록 접속되어 최종 블럭에서는 제1정합점이 출력되는 것이 바람직하다.
또한, 기준블럭의 크기를 N×N(N은 양인 정수)이라 하고, 변위가 -P 이상 P이하인 정수라 할 때, 탐색영역의 크기는 (N+2P) × (N+2P)가 되고, 상기 제2왜곡함수값 계산수단은 입력되는 2개의 데이터의 차의 절대값을 계산하여 저장하고, 제어신호에 따라 2개의 출력단을 통해 상기 2개의 데이터를 그대로 출력하거나, 상기 하나의 입력 데이터는 하나의 출력단을 통해 그대로 출력하고 상기 계산된 값은 나머지 출력단을 통해 출력하는 N×N개의 블럭이 어레이 형태로 접속되어 있는 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 의한 가산투영을 이용한 2단계 블럭정합 움직임 추정기의 동작을 설명하기로 한다.
본 실시예에서는 기준블럭의 크기(N×N)이 3×3이고, 탐색영역은 -2 이상 2이하인 경우를 예로 들었다.
본 발명에 적용되는 가산투영 (integral projection) 블럭정합 알고리즘의 전역탐색방법과 결합이 용이하고, 블럭들간의 2차원 정합을 1차원 정합으로 변환하므으로써 계산량을 줄일 수 있다. 또한, 가산투영은 게산량의 감축을 위해서도 적용하였지만, 가산투영의 또 다른 장점으로 가산형 잡음에 강한 면을 들 수 있다. 영상에 대한 가산투영은 임의의 방향을 따라 존재하는 화소들을 더한 값으로 정의 되면, 수직 또는 수평의 화소들을 더한 양을 수직 또는 수평 가산투영이라 한다. 여기서, 가산투영은 디지탈 투영상에도 적용가능함은 물론이다. 즉, 영상태에 존재하는 블럭들을 수평 도는 수직 가산투영값들은 그 블럭내에 화소값들에 대한 정보를 포함하고 있기 때문에 그 블럭에 대한 특징을 나타낼 수 있다.
제2도는 본 발명에 의한 가산투영을 이용한 2단계 블럭정함을 움직임 추정기를 도시한 블럭도로서, 본 발명에 의한 가산투영을 이용한 2단계 블럭정합 움직임 추정기는, 수평, 수직가산투영값을 구하여 제1왜곡함수값을 구한 후, 제1정합점, 즉 기준 탐색점을 출력하는 제1정합점 계산부(100)와 기준 탐색점을 중심으로 주변 8개의 탐색점들과 중심점에 대해 제2왜곡함수같을 구한 후, 제2정합점, 즉 움직임 벡터를 출혁하는 제2정합점 계산부(200)로 구성되어 있다.
제1정합점 계산부(100)는 연속적인 영상데이타를 입력하여 현재영상과 이전영상의 수평가산투영값을 수평가산투영값 계산부(32)와, 수평가산투영값 계산부(32)에서 출력된 수평가산투영값을 입력하여 수직가산투영값을 계산하고, 계산된 수평가산투영값과 수직가산투영값을 이용하여 현재영상 데이터블럭과 이전형상 데이터블럭 사이의 왜곡함수값을 계산하여 출력하는 수직가산투영값 및 제1왜곡함수값 계산부(34)와, 수평가산투영값 계산부(32)에서 출력된 수평가산투영값을 지연 출력시켜 수직가산투영값 및 제1왜곡함수값 계산부(34)에 입력시키고, 수직가산투영값 및 제1왜곡함수값 계산부(34)에서 출력되는 왜곡함수값을 지연 출력시키기 위한 데이터 지연부(36) 및 데이터 지연부(36)와 수직가산투영값 및 제1왜곡함수값 계산부(34)에서 출력되는 왜곡함수값들을 입력하여 최소값을 판별하여 제1정합점을 출력하는 제1정합점을 출력부(38)를 구비하고 있다.
제2정합점 계산부(200)는 제1정합점 계산부(100)에서 출력되는 제1정합점 즉, 기준 탐색점을 중심으로 주변 8개의 탐색점들과 중심점에 대해 왜곡함수값을 계산하는 제2왜곡함수값 계산부(40) 및 제2왜곡함수계산부(40)에서 출력되는 왜곡함수값들중 최소값을 판별하여 제2정합점, 즉 움직임 벡터를 출력하는 제2정합점 출력부(42)를 구비하고 있다.
여기서, 상기 제2정합점 계산부(200)는 제1도 내지 제3도에 도시된 종래의 움직임 추정기의 구조를 적용하여 구성될 수 있으며, 상기 제1정합점이 제2정합점 계산부(200)에 입력되면, 제1도 내지 제3도의 기준영역데이타와 탐색영역데이타가 결정되어 전술한 바와 같이 제2정합점, 즉 최종 움직임 벡터를 출력하게 할 수 있다. 다음에 본 발명의 실시예를 제3도, 제4도, 제5a도-제5d도, 제6a도 및 제6b도를 참조하여, 상세히 설명하기로 한다.
먼저 제1정합점 계산부(100)의 동작을 상세하게 설명하기로 한다. 제3도는 제2도에 있는 제1정합점 계산부(100)의 상세블럭도이고, 제5a도 내지 제5d도는 제3도에 있는 각 처리소자의 연산기능을 설명하기 위한 블럭도이다.
제3도를 참조하면, 수평가산투영값 계산부(32)는 영상 데이터(46)를 입력하여 수평가산투영값을 계산하는 7개의 블럭(H1, H2, ..., H7)을 구비하고 있고, 수직가산투영값 및 제1왜곡함수값 계산부(34)는 수직가산투영값을 계산하고 현재영상과 이전영상 사이의 왜곡함수값을 출력하는5개의 블럭(V_AD1, V_AD2, ..., V_AD5)을 구비하고 있으며, 데이터 지연부(35)는 입력되는 데이터를 지연시키는 10개의 쉬프트 레지스터(SR1, SR2, .... SR10)를 구비하고 있고, 제1정합점 출력부(38)는 왜곡함수값들을 입력하여 최소값을 출력하는 6개의 블럭(M1, M2, ..., M6)을 구비하고 있다.
또한, 제5a도를 참조하면, 수평가산투영값 계산부(32)에 구비된 각 H1, H2, ..., H7 블럭은 입력된 데이터(i0)에 소정 값(α)을 가산하여 출력하고(o0=α, α=α+i0, α는 상수), 입력된 데이터(i0)를 그대로 출력한다.
제5b도를 참조하면, 상기 수직가산투영값 및 제1왜곡함수값 계산부(34)에 구비된 각 V_AD1, V_AD2, ..., V_AD5 블럭은 6개의 데이터를 입력하여, 이 중 4개의 입력 데이터를 그대로 출력하고(h0=h10, h1=h20, a=(1, 0), b=(2, 0)), 입력된 데이터를 이용하여 제1왜곡함수값과 수직왜곡함수값의 합이므로, V_AD블럭은 H0, H1, H2로 입력되는 이전영상의 수평가산투영값과 미리 저장되어 있는 현재영상의 수평가산투영값을 이용하여 제1수평왜곡함수값을 구하고, 또한 S1, S2, V2로 입력되는 이전영상 데이터와 미리 저장되어 있는 현재영상 데이터를 V0, V1, V2를 이용하여 제1수직왜곡함수값을 가산하여 제1왜곡함수값(k)을 출력하게 된다.
제5c도를 참조하면, 상기 데이터 지연부9360에 구비된 각 쉬프트레지스터 SR1, SR2, ..., SR5 블럭은 상기 수평가산투영값 계산부(32)의 출력들과 상기 수직가산투영값 및 제1왜곡함수값 계산부(34)의 출혁들을 지연시키기 위하여 3개의 입혁 데이터를 지연시켜 출혁시킨다(c0=i0, o1=i1, o2=i2).
제5d도를 참조하면, 상기 제1정합점 출혁부(38)에 구비된 각 M1, M2, ..., M6 블럭은 2개의 입력값 중 최소값을 판별한 후 이를 출력한다(m=min(H0, m1)).
제3도를 참조하여, 제1정합점 출력 과정을 설명하면, 이전영상 데이터블럭(46)이 정하여진 순서대로 Hl, H2, ..., H7블럭으로 입력되어 수평가산투영값들이 계산되고, V_AD1, V_AD2, ..., V_AD5블럭에서는 상기 수평가산투영값들을 입력하여 수직가산투영값들이 계산된다. 그리고, 현재영상 데이터블럭은 미리 정하여진 순서대로 H1, H2, ..., H7블럭으로 입력되어 수평가산투영값들이 계산되어 있고, V_AD1, V_AD2, ..., V_AD5블럭에서는 상기 수평가산투영값들을 입력하여 수직가산투영값들이 계산되어 있는 것으로 가정한다. V_AD1, V_AD2, ..., V_AD5블럭에서는 또한, 상기 계산된 현재 영상블럭과 이전 영상블럭의 수평가산투영간들과 수직가산투영값들을 이용하여 현재 영상 블럭과 이전 영상 블럭 사이의 왜곡함수값들을 구한다. 각 V_AD1, V_AD2, ..., V_AD5블럭에서 출력된 왜곡함수값들은 쉬프트 레지스터인 SR1, SR2, ..., SR10블럭을 통하여 좌측에서 우측으로 이동되고, 각 M1, M2, ..., M6블럭에서는 입력된 값중에서 최소값을 판별하여 최종적으로 M6블럭에서는 제1정합점이 출력되게된다.
제3도에서 변위 P가 -2, -1, 0, 1, 2이므로 수직 변위 0이 o2에서 나타나고, 수직 변위 -1과 1은 각각 ol과 o3에서, 수직변위 -1와 1은 각각 o0와 o4에서 나타난다. 수평변위는 M6블럭이 세번째 클럭에서 바뀌게 되면 0이고, 두번째클럭에서 바뀌면 -1, 네번째클럭에서 바뀌면 1, 첫번째클럭에서 바뀌면 -2, 다섯번째클럭에서 바뀌면 2가 된다.
다음 제2정합점 계산부(200)의 동작을 상세하게 설명하기로 한다.
제4도는 제2도에 있는 제2정합점 계산부(200)의 상세블럭도이고, 젝6a도와 제6b도는 제4도에 있는 각 처리소자의 연산기능을 설명하기 위한 블럭도이다.
제4도를 참조하면, 제2왜곡함수값 계산부(40)는 제1정합점 계산부(100)에서 출력되는 제1정합점 즉, 기준 탐색점을 중심으로 주변 8개의 탐색점들과 중심점에 대해 왜곡함수값을 계산하기 위하여 입력되는 2개의 데이터 블럭 (44, 45)의 차의 절대값을 계산하는 블럭(AB1, AD2, ..., AD9)을 구비하고 있고, 제2정합점 출혁부(42)는 입력되는 3개의 데이터중 최소값을 판별하여 출력하는 블럭(N)을 구비하고 있다.
또한, 제6a도와 제6b도를 참조하면, 제2왜곡함수값 계산부(40)에 구비된 각 AD1, AD2, ..., AD9블럭은 상측과 좌측으로 입력되는 2개의 데이터(i0, i1)의 차의 절대값을 계산하여 저장하고(β=β+│i0-i1 │, β는 상수), 제어신호(CS)가 0일 때는 2개의 데이터(i0, i1)를 그대로 출력시키고(o0=i0, o1=i1), 제어신호(CS)가 1일 때는 상기 계산된 값(β)을 우측으로 출력한다(o1=β).
제2정합점 출력부(42)에 구비된 H블럭은 3개의 입력 데이터(n0, n1, n2)중 최소값을 판별하여 그 값을 출력한다(n=min(n0, n1, n2)).
제4도에서 제2단계 정합과정은 변위가 -1, 0, 1 이므로 n1이 가장 작으면 수직변위가 0 이 되고, n0이 가장 작으면 수직 변위가 -1 이 되며, n2가 가장 작으면 수직변위가 1 이 된다. 또한 N블럭이 두번째 클럭에서 바뀌면 수평변위가 0 이 되고, 첫번째 클럭에서 변하면 수평변위가 1 이 되며, 세번째 클럭에서 바뀌면 수평변위가 -1 이 된단.
제4도를 참조하면, 기준 데이터블럭(44)이 좌측에서 우측으로 입력되고, 탐색영 역의 데이터블럭(48)은 위에서 아래로 입력된다. 각각의 AD1, AD2, ..., AD9 블럭에서는 제1정합점 계산부(100)에서 출력되는 제1정합점 즉, 기준 탐색점을 중심으로 주변 8개의 탐색점들과 중심점에 대해 제2왜곡함수값을 계산한 후, 이 값을 저장한다. 그러므로 저장된 제2왜곡함수값들을 제어신호에 따라 N블럭으로 출력하면 N블럭에서는 이 값들중 최소값을 판별하여 제2정합점 즉, 최종 움직임 벡터가 출력된다.
블럭의 크기를 N, 탐색영역의 크기를 P라 할 때, 상기한 가산투영을 이용한 2단계 블럭정합 움직임 추정기에서 소요되는 총 클럭의 수는 제1단계 정합과정에서 (2(N+1)+6P)개 이고, 제2단계 정합과정에서는(N2+N-1)개 이므로, 전체적으로 (N(H+3)+6P+1)개가 된다 또한, 필요한 처리소자의 수는 제1단계 정합과정에서 (N+2P2+7P+3)개 이고, 제2단계 정합과정에서는 10개 이므로, 전체적으로 (N+2P+7P+13)개가 된다.
한편, 제2단계 정합과정에서는 제1정합점과 그 주변의 8점에 대하여 전역탐색을 하는 것이고, 기존의 구조인 Komarek, et al의 AB1 구조와 Jehng의 트리구조를 적용할 수 있다. 그러나, 그 계산량은 종래의 전역탐색 블럭정합 방법에서처럼 모든 정합 후보점들에 대하여 MAD를 계산하는 대신에 상기 제1정합점과 그 주변의 8점에 대하여만 전역탐색을 하므로 탐색영역의 크기 P가 1이 되어 소요되는 클럭수는 작아진다. 즉, N(2P+1)(N+2P)으로 표시되는 종래의 클릭계산식에서 P=1일때이므로 3N(N+2)개의 클럭이 필요하게 된다.
예를들면, 블럭의 크기 (N×N)가 16×16이고, 탐색영역의 크기 (P)가 7일때, 종래의 움직임 추정기인 AB1구조에서는 7,200개(N(2P+1)(N+2P))의 클럭이 소요되는 반면에, 본 발명에서는 제1정합점 계산부(100)에서 76개(2(N+1)+6P), 제2정합점 계산부(200)에서는 271개(N2+N-1) 이므로, 총347개 가 소요된다.
이에 따라서, 본 발명은 종래의 전역탐색 움직임 추정기에 비해 계산량을 줄임으로써 소요되는 클럭이 줄어들게 되어 연산속도가 빠르게 됨을 알 수 있다.
상술한 바와 같이, 본 발명에 의한 가산투영을 이용한 2단계 블럭정합 움직임 추정기는 가산투영을 이용한 2단계 블럭정합 알고리즘을 적용하여 종래의 전역탐색 블럭정합 알고리즘에 비하여 성능저하는 거의 없는 반면에 계산량을 줄임으로써 실시간처리를 가능하게 한다.
또한, 제1단계블럭정합 및 제2단계 블럭정합을 이용하여 영상데이타의 움직임을 추정하므로 잡음에 강한 면도 있다. 특히, 잡음에 강한 이유는 가산투영을 이용하는 경우, 수평 및 수직으로 여러 화소값들을 누적시켜 정합점을 찾기 때문에 특정 화소값을 크게 변화시키는 임펄스성 잡음이 들어와도 희석되는 효과가 있고, 가우스랜덤잡음의 경우에는 보통 평균값이 0이 되어 서로 상쇄되기 때문이다.

Claims (6)

  1. 일련의 소정 트기의 현재영상과 이전영상 데이터 블럭을 순차적으로 입력하고, 현재영상데이터 및 이전영상데니터에 대한 수평가산투영값들을 게산하는 수평가산투영값 계산수단, 상기 수평가산투영값들을 이용하여 상기 현재영상데이터 블럭과 상기 이전영상데이터 블럭에 대한 수직가상투영값을 계산하고, 상기 현재영상 데이터블럭과 상기 이전영상 데이터블럭의 수평 및 수직가산투영값들을 이용하여 상기 현재영상데이터와 상기 이전영상데이터 사이의 제1왜곡함수값들을 계산하는 수직가산투영값 및 제1왜곡함수값 계산수단, 상기 수평가산투영값 계산수단에서 출력된 상기 수평가산투영값들을 지연출력시켜 상기 수직가산투영값 및 제1왜곡함수값 계산수단에서 입력시키고, 상기 수직가상투영값 및 제1왜곡함수값 계산수단에서 출력되는 상기 제1왜곡함수값들을 입력하여 지연출력시키기 위한 데이터 지연수단, 상기 데이터 지연수단 상기 수직가산투영값 및 제1왜곡함수값 계산수단에서 출력되는 제1왜곡함수값들중 최소값을 판별하여 제1정합점을 출력하는 제1정합점 출력수단, 상기 제1정합점을 중심으로 그 주변의 8개의 탐색점과 중심점에 대하여 제2왜곡함수값들을 계산하는 제1왜곡함수값 계산수단, 및 상기 제2왜곡함수값들 중에서 최소값을 판별하여 제2정합점 즉, 움직임 벡터를 출력하는 제2정합점 출력수단을 포함하는 것을 특징으로 하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기.
  2. 제1항에 있어서, 기준블럭의 크기를 N×N(N은 양인 정수)이라 하고, 변위가 -P 이상 P이하인 정수라 할 때, 탐색영역의 크기는(N+2P) × (N+2P) 가 되고, 상기 수평가산투영값 계산수단은 입력된 데이터에 소정 값을 가산하여 출력하고, 상기 입력된 데이터를 그대로 출력하는 (N+2P)개의 블럭으로 되어 있는 것을 특징으로 하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기.
  3. 제2항에 있어서, 상기 수직가산투영값 및 제1왜곡함수값 계산수단은 상기 (N+2P)개의 수평가산투영값 계산수단에서 출력된 2(N+2P)개의 데이터중 2N개를 입력하여 (2N-2)개의 입력된 데이터를 그대로 출력하고, 상기 2(N+2P)개의 입력 데이터를 이용하여 제1왜곡함수값을 계산하는 (2P+1)개의 블럭을 포함하며, 상기 블럭들은 한 블럭의 출력이 다음 블럭의 입력이 되도록 접속되어 있는 것을 특징으로 하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기.
  4. 제1항에 있어서, 기준블럭의 크기를 N×N (N은 양인 정수)이라 하고, 변위가 -P 이상 P이하인 정수라 할 때, 탐색영역의 크기는 (N+2P)× (N+2P)가 되고, 상기 데 이터 지연수단은 상기 수평가산투영값 계산수단의 출력들과 상기 수직가산투영값 및 제1왜곡함수값 계산수단의 출력들을 지연시키기 위하여 3개의 입력단을 갖고 입력된 데이터들을 지연시켜 3개의 출력단에 그대로 출력시키는 복수개의 지연블럭을 포함하는 것을 특징으로 하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기.
  5. 제1항에 있어서, 기준블럭의 크기를 N×N (N은 양인 정수)이라하고, 변위가 -P 이상 P이한인 정수라 할 때, 탐색영역의 크기는 (N×2P) × (N+2P)가 되고, 상기 제1정합점 출력수단은 상기 데이터 지연수단에서 출력되는 제1왜곡함수값들과 상기 수직가산투영값 및 제1왜곡함수값 계산수단의 최종 블럭에서 출력되는 제1왜곡함수값을 입력하여 최소값을 판별하는 (2P+2)개의 최소값 판별블럭을 포함하고, 상기 최소값 판별블럭들은 한 블럭의 출력이 다음 블럭의 입력이 되도록 접속되어 최종 블럭에서는 제1정합점이 출혁되는 것을 특징으로 하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기
  6. 제1항에 있어서, 기준블럭의 크기를 N×N (N은 양인 정수)이라 하고, 변위가 -P 이상 P이하인 정수라 할 때, 탐색영역의 크기는 (N+2P) × (N+2P)가 되고, 상기 제2왜곡함수값 계산수단은 입력되는 2개의 데이터의 차의 절대값을 계산하여 저장하고, 제어신호에 따라 2개의 출력단을 통해 상기 2개의 데이터를 그대로 출력하거나, 상기 하나의 입력 데이터는 하나의 출혁단을 통해 그대로 출력하고 상기 계산된 값은 나머지 출력단을 통해 출려하는 N×N개의 블럭이 어레이 형태로 접속되어 있는 것을 특징으로 하는 가산투영을 이용한 2단계 블럭정합 움직임 추정기.
KR1019960009562A 1996-03-30 1996-03-30 가산투영을 이용한 2단계 블럭정합 움직임 추정기 KR100225065B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960009562A KR100225065B1 (ko) 1996-03-30 1996-03-30 가산투영을 이용한 2단계 블럭정합 움직임 추정기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960009562A KR100225065B1 (ko) 1996-03-30 1996-03-30 가산투영을 이용한 2단계 블럭정합 움직임 추정기

Publications (2)

Publication Number Publication Date
KR970068665A KR970068665A (ko) 1997-10-13
KR100225065B1 true KR100225065B1 (ko) 1999-10-15

Family

ID=19454674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960009562A KR100225065B1 (ko) 1996-03-30 1996-03-30 가산투영을 이용한 2단계 블럭정합 움직임 추정기

Country Status (1)

Country Link
KR (1) KR100225065B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7336707B2 (en) * 2003-06-06 2008-02-26 Samsung Electronics Co., Ltd. Method and apparatus for detecting improper area for motion compensation in video signal
KR101381260B1 (ko) * 2013-10-28 2014-04-04 국방과학연구소 해상 표적 탐지장치 및 그의 제어방법

Also Published As

Publication number Publication date
KR970068665A (ko) 1997-10-13

Similar Documents

Publication Publication Date Title
KR950014862B1 (ko) 움직임추정방법 및 그 장치
KR100203913B1 (ko) 모션 벡터 생성기
US5226093A (en) Motion vector detection and band compression apparatus
US5347309A (en) Image coding method and apparatus
US6671319B1 (en) Methods and apparatus for motion estimation using neighboring macroblocks
US5936672A (en) Half pixel motion estimator
US5083202A (en) Motion detector for video signals including a novel line comparison processing scheme
EP0572904A2 (en) Moving picture encoding apparatus and method
US5604546A (en) Image signal processing circuit for performing motion estimation
JPH02177766A (ja) 2値画像の階層的符号化方式
US6108378A (en) Video encoder and decoder image motion estimation system with reduced computation
US5793443A (en) Motion vector detection circuit
US5541660A (en) Systolic realization of motion compensated interpolation filter
US6104439A (en) Method and apparatus for motion estimation
JPH06326976A (ja) 動き補償ビデオ信号処理方式
KR100225065B1 (ko) 가산투영을 이용한 2단계 블럭정합 움직임 추정기
Baglietto et al. Parallel implementation of the full search block matching algorithm for motion estimation
US5710603A (en) Method for detecting motion vectors
US5579058A (en) Motion detection circuit and method using spatial information
KR970003793B1 (ko) 블록정합 동추정방법 및 장치
US5706055A (en) Motion compensated predictive picture production apparatus
EP1420595B1 (en) Motion vector selection in a video motion estimator based on a preferred reference point
KR100204087B1 (ko) 전역탐색 블럭정합 움직임 추정기
JP3580612B2 (ja) 動画像符号化装置の動き検出装置
KR100926440B1 (ko) 영상부호화를 위한 블록 매칭 움직임 추정 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee