KR100486249B1 - 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법 - Google Patents

움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법 Download PDF

Info

Publication number
KR100486249B1
KR100486249B1 KR10-2002-0039835A KR20020039835A KR100486249B1 KR 100486249 B1 KR100486249 B1 KR 100486249B1 KR 20020039835 A KR20020039835 A KR 20020039835A KR 100486249 B1 KR100486249 B1 KR 100486249B1
Authority
KR
South Korea
Prior art keywords
macroblock
current
reference macroblock
storage element
register
Prior art date
Application number
KR10-2002-0039835A
Other languages
English (en)
Other versions
KR20030007087A (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
Priority claimed from US10/112,011 external-priority patent/US20030012281A1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20030007087A publication Critical patent/KR20030007087A/ko
Application granted granted Critical
Publication of KR100486249B1 publication Critical patent/KR100486249B1/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/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
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/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/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/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

Abstract

움직임 추정 장치 및 탐색영역에서 레퍼런스 매크로블록창의 스캐닝 방법이 개시된다. 움직임 추정 기술은 탐색영역 내에서 다른 레퍼런스 매크로블록과 현재 매크로블록을 비교한다. 현재 매크로블록에 대한 움직임 벡터는 현재 매크로블록에 가장 근접하게 정합되는 레퍼런스 매크로블록으로부터 구해진다. 본 발명에서는 새로운 레퍼런스 매크로블록들을 로딩하기 위해 요구되는 명령의 수를 줄이기 위해, 레퍼런스 매크로블록들간에 겹쳐지는 부분은 재사용하고, 겹쳐지지 않는 부분만 메모리 저장 장치로부터 로딩한다. 이처럼 레퍼런스 매크로블록들 간에 중복되는 픽셀데이터는 재 사용함으로써, 새로운 레퍼런스 매크로블록을 레지스터로 로드하기 위한 명령어(Load)의 발생횟수가 줄어들 수 있으며, 따라서, 움직임 추정을 보다 빠르게 수행할 수 있다.

Description

움직임 추정 장치 및 탐색영역에서 레퍼런스 매크로블록창의 스캐닝 방법{Motion estimation apparatus and method for scanning a reference macroblock window in a search area}
본 발명은 영상 압축을 위한 움직임 추정 장치에 관한 것으로, 특히, 영상 데이터가 저장된 메모리의 액세스를 줄임으로써 파워 소모를 줄이고, 움직임 추정 시간을 줄일 수 있는 움직임 추정 장치 및 그 방법과 탐색영역에서 레퍼런스 매크로블록창의 이동방법에 관한 것이다.
비디오 엔코더는 H.261, H.263, MPEG-1, MPEG-2, MPEG-4, MPEG-7 및 MPEG-21과 같은 비디오 압축의 국제 표준에 따른 비트 스트림을 생성한다. 이러한 표준은 데이터 저장, 인터넷 기반의 이미지 서비스, 오락, 디지털 방송, 휴대용 영상 단말기 등에 광범위하게 응용된다.
비디오 압축 표준은 현재 프레임이 다수의 매크로블록들(MBs)로 나뉘어진 움직임 추정(motion estimation)을 이용한다. 레퍼런스 프레임의 탐색 영역에서 현재 매크로블록과 다른 레퍼런스 매크로블록들 간에 존재하는 닮지 않은 정도(dissimilarity, 이하 상이도라 함)가 계산된다. 탐색 영역에서 현재 매크로블록과 가장 유사한 즉, 상이도가 가장 작은 레퍼런스 매크로블록은 "정합블록(matching block)"으로서 선택된다. 그리고, 현재 매크로블록과 정합블록간의 위상차를 나타내는 움직임 벡터가 부호화된다. 여기서, 위상차는 현재 매크로블록과 정합블록간의 위치차를 참조하여 구한다. 이처럼, 현재 매크로블록에 대한 움직임 벡터만이 전송됨으로써, 작은 양의 데이터가 전송되거나 또는 저장된다.
도 1은 현재 매크로블록과 탐색영역의 관계를 나타내는 도면이다.
QCIF(Quarter Common Intermediate Format)에 따르면, 한 프레임은 176x144 픽셀로 이루어지며, 현재 프레임(Current Frame, 2)은 99개의 현재 매크로블록들로 이루어지며, 각각의 현재 매크로블록은 16x16 픽셀로 이루어진다. 레퍼런스 프레임(4)에서 현재 매크로블록(10)에 대한 움직임 벡터가 계산되고, 레퍼런스 프레임(4)에서 탐색영역(12)은 48x48 픽셀들로 이루어진다.
탐색영역(12)에서, 현재 매크로블록(10)과 가장 유사한 16x16의 레퍼런스 매크로블록은 정합블록으로서 정의된다. 현재 매크로블록과 레퍼런스 매크로블록들간의 상이도는 여러 가지 다른 방법들로 계산될 수 있다. 예를 들어, MAD(Mean of the Absolute Difference), MAE(Mean of the Absolute Error), SAD(Sum of the Absolute Difference) 등이 이용될 수 있으며, 이들 방법 중 뺄셈 동작과 누산 동작만이 필요한 SAD가 가장 많이 사용된다.
도 2는 각 픽셀 10-1 및 14-1이 32bit 레지스터 15 및 17에 각각 로딩되는 기본적인 전역탐색을 보이는 도면이다. SAD는 ALU(Arithmetic Logic Unit, 30)를 이용하여 계산된다. 현재 매크로블록(10) 및 레퍼런스 블록(14) 모두는 메모리에 저장되어 있으며, ALU(30)에 의해 비교되기 전에 32bit 레지스터들(15 및 17)에 픽셀 단위로 각각 로딩된다. 탐색영역(12)에 존재하는 레퍼런스 매크로블록들(14a, 14b, 14c,...)은 현재 매크로블록(10)과 픽셀단위로 비교된다.
이러한 간단한 사상의 추정 방법은 높은 정확도를 제공한다. 그러나, 계산량이 많기 때문에 전송률에 한계가 있다. 또한, 이 방법은 퍼스널 컴퓨터들(PCs)에 이용되는 CPU들과 같이, 처리 능력의 한계가 있는 일반적 목적의 CPU들로 실시간 엔코딩하기에는 적당하지 않다.
한편, 탐색영역에서 일부 레퍼런스 매크로블록들만을 현재 매크로블록과 비교하여 SAD를 계산하는 고속 탐색방법(미도시)이 이용된다. 이 고속 탐색방법은 위에서 설명된 전역탐색방법과 비교하여 계산량을 효과적으로 줄일 수 있으나, 화질이 저하된다는 단점이 있다.
한편, 전역 탐색방법을 이용하면서 SAD의 계산이 빨리 이루어질 수 있는 방법이 연구되어 왔다. 예컨대, SIMD(Single Instruction Multiple Data) 방법을 이용하면 여러 픽셀들에 대한 SAD를 동시에 계산될 수 있으며, 이러한 SAD 처리 횟수의 감소에 의해 전송율이 향상된다.
도 3은 SIMD 장치를 이용한 SAD 계산을 설명하기 위한 도면이다. 현재 매크로블록(10) 및 레퍼런스 매크로블록(14a) 각각에 대해 8개의 픽셀들(10_8 및 14_8)이 64bit 레지스터들(16 및 18) 각각에 로딩된다. SIMD 장치(20)는 64-bit 레지스터들(16 및 18)에 각각 로딩된 8 픽셀들에 대한 SAD를 동시에 계산한다. 각 픽셀들에 대해 개별적으로 SAD가 계산되는 종래의 전역탐색 알고리듬과는 달리, SIMD 기술을 이용하여 여러 픽셀들에 대해 SAD가 동시에 병렬 계산되는 것이 가능하다.
탐색영역(12)에서 다음 레퍼런스 매크로블록이 이동되는 방향에 따라 계산량은 달라진다. 도 3에 도시된 바와 같이, 수평으로 이동할 경우, 다음 레퍼런스 매크로블록이 선택될 때마다 현재 매크로블록(10)과 레퍼런스 매크로블로(14) 모두에서 8 픽셀들이 메모리로부터 액세스되어 레지스터들(16 및 18)로 로딩되어야 한다. 이처럼, 메모리 액세스 회수가 많아지면, 움직임 벡터를 얻는데 걸리는 시간이 증가되고 전력소모 또한 증가된다.
이러한 종래의 움직임 추정 방법은 많은 횟수의 메모리 액세스와 동반되는 높은 전력소모로 인해 모바일(mobile) 환경에서는 적합하지 않다. 본 발명은 종래 기술에서 발생되는 이러한 또는 다른 문제들을 해결하고자 한다.
본 발명이 이루고자 하는 기술적 과제는 탐색영역에서 레퍼런스 매크로블록창의 이동방식과 연산 순서를 개선하여 메모리 액세스 횟수를 줄임으로서 전력소모 및 움직임 추정 시간을 줄일 수 있는 이미지 프로세싱 장치 및 상기 이미지 프로세싱 장치에서 수행되는 움직임 추정 방법을 제공하는 데 있다.
상기 과제를 이루기 위해, 본 발명에 다른 이미지 프로세싱 장치는 현재 매크로블록을 저장하기 위한 제1저장 소자, 제1레퍼런스 매크로블록을 저장하기 위한 제2저장 소자, 제1저장 소자와 제2저장 소자에 저장된 내용의 상이도를 계산하는 계산부 및 제1레퍼런스 매크로블록의 겹쳐지지 않는 부분을 제2레퍼런스 매크로블록의 겹쳐지지 않는 부분으로 대체하여 제2저장 소자에 제2레퍼런스 매크로블록을 로딩하는 제어기를 포함하는 것이 바람직하다.
상기 과제를 이루기 위해, 본 발명에 따른 움직임 추정 방법은 현재 매크로블록을 로딩하는 단계, 현재 레퍼런스 매크로블록을 로딩하는 단계, 현재 매크로블록과 현재 레퍼런스 매크로블록을 비교하는 단계 및 로딩된 현재 레퍼런스 매크로블록의 겹치지 않는 부분을 다음 레퍼런스 매크로블록의 겹치지 않는 부분으로 대체하여 다음 레퍼런스 매크로블록을 로딩하는 단계를 포함하는 것이 바람직하다.
이하, 본 발명에 따른 이미지 프로세싱 장치 및 상기 이미지 프로세싱 장치에서 수행되는 움직임 추정 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 4는 본 발명에 따른 움직임 추정 시스템의 일실시예를 개략적을 나타내는 블록도로서, 현재 프레임(C/F, 100), 제1레지스터 그룹(102), 상이도 계산부(110), 탐색영역(S/A, 104), 제2레지스터 그룹(106) 및 제어부(108)를 포함하여 구성된다. 제1 및 제2레지스터 그룹(102 및 106)은 현재 프레임(100)에서의 하나의 매크로블록 및 탐색영역(104)에서의 하나의 매크로블록에 대한 픽셀들을 각각 저장한다. 일예로, 하나의 매크로블록의 크기가 16x16 픽셀이면, 제1 및 제2 레지스터 그룹(102, 106) 각각은 16x16 픽셀 어레이를 저장할 수 있다. 제어부(108)는 소프트웨어 또는 하드웨어로 구현될 수 있다.
도 5는 4:1 데시메이션 필터들을 이용하여 실행되는 전처리 단계를 나타내는 도면이다. n:1 데시메이션 필터는 요구되는 하드웨어 리소스를 줄이기 위해 현재 프레임(100, 도 4참조)에 이용된다. 현재 프레임은 도 5에서 입력 프레임(130)으로 표현된다. 프레임(130)은 4개의 4:1 데시메이션 필터들(126a, 126b,126c 및 126d)에 의해 4개의 데시메이션 프레임들(a, b, c 및 d)로 나뉘어져 프레임 메모리(128)에 저장된다. 고체 촬상 소자(CCD,120)에서 출력되는 비디오 신호는 아날로그 디지털 변환기(ADC, 122)에 의해 디지털 신호로 변환된다. ADC(122)에서 출력되는 신호는 RGB 신호이다. 전처리기(124)는 RGB 신호를 YCbCr신호로 변환한다. 일실시예에서는, Y 신호만이 데시메이션 필터(126)에 의해 데시메이션된다.
데시메이션 필터(126a)는 입력 프레임(130)에서 픽셀 a를 위한 것이고, 데시메이션 필터(126b)는 픽셀 b를 위한 것이고, 데시메이션 필터(126c)는 픽셀 c를 위한 것이고, 데시메이션 필터(126d)는 픽셀 d를 위한 것이다. 데시메이션된 후에는, 데시메이션된 프레임 a,b,c 및 d가 프레임 메모리(128)에 저장된다.
입력 프레임(130)에 대한 4:1 데시메이션 결과, 하나의 매크로블록 크기는 8x8 픽셀로 감소된다. 탐색 영역(104)은 현재 프레임(130)과 같은 비율로 데시메이션된다. 예컨대, 48x48 픽셀의 탐색영역(104)에 대한 4:1 데시메이션은 탐색 영역(104)의 크기를 24x24 픽셀로 감소시킨다.
설명의 편의를 위해, 현재 프레임은 도 5에서 4:1 데시메이션 필터들(126a~126d)을 통과한 4개의 데시메이션 프레임 a 내지 d중 어느 하나인 것으로 한다. 현재 프레임(100)에서 각 매크로블록의 크기는 8x8 픽셀 크기를 가지며, 4:1 데시메이션 필터들을 통과한 후의 탐색 영역(104)은 24x24 픽셀 크기를 갖는다.
제1레지스터 그룹(102, 도 4참조)은 현재 프레임(100)에서 하나의 현재 매크로블록을 저장하고, 제2레지스터 그룹(106)은 탐색영역(104)에서 하나의 레퍼런스 매크로블록을 저장한다. 제1 및 제2레지스터 그룹(102,106)은 도 7에서 원안의 번호와 같이 소정의 순서로 픽셀들을 저장한다. 제1 및 제2레지스터 그룹들(140,160) 각각에서 계산하는 순서는 8픽셀들의 그룹들로 결정된다.
도 7은 도 4에서 제1 및 제2레지스터(102,106)의 구조 및 로딩 순서를 나타내는 도면이다. 제1레지스터 그룹(140)은 현재 매크로블록을 저장하고, 각각 8 픽셀들을 저장하는 레지스터들을 포함한다. 레지스터들은 0~7까지 소정의 순서로 명시된다. 제2레지스터 그룹(160)은 각각이 8개의 픽셀들을 저장하는 레지스터들을 포함하고, 8~15까지 소정의 순서로 명시된다. 제1레지스터 그룹(102)에 저장된 현재 매크로블록과 제2레지스터 그룹(106)에 저장된 레퍼런스 매크로블록간의 상이도를 계산하기 위해, 현재 레퍼런스 블록에 대한 SAD 및 움직임 벡터(MV)는 다음 수학식 1에 의해 계산된다.
여기서, k(m,n)은 k번째 프레임에서 (M,N)위치의 픽셀값이다. 움직임 벡터(MVx,MVy)는 레퍼런스 프레임에서 최고 정합을 위한 현재 블록의 변위를 나타낸다.
상이도 계산부(110, 도 4)는 도 3에서 설명된 SIMD 방법을 이용하여 8픽셀들에 대한 상이도를 동시에 계산한다.
도 13은 도 4의 상이도 계산부(110)를 개념적으로 나타내는 도면이다. 제1레지스터 그룹(102)의 각 레지스터(142)에 저장된 각 픽셀과 제2레지스터 그룹(106)의 각 레지스터(144)에 저장된 각 픽셀간의 차의 절대값은 레지스터(132)에 저장된다.
예컨대, 참조번호 142a에 저장된 픽셀과 참조번호 144b에 저장된 픽셀의 차의 절대값은 132a에 저장되고, 142b 및 144b에 각각 저장된 픽셀간의 차의 절대값의 132b에 저장된다. 레지스터(142) 및 레지스터(144)에 저장된 픽셀들 간의 차의 절대값을 계산하기 위해, 도 13의 점선 블록내의 레지스터(132)에 저장된 각 찻값을 총합하는 내부 총합 명령(inner sum instruction)이 실행된다.
도 13의 점선 블록에 도시된 바와 같이, 하나의 내부 총합 명령은 멀티플 가산기들을 이용하여 실행된다. 각 값을 가산하기 위한 종래의 방법에서는, 총합은 가산 명령과 쉬프트 명령을 이용하여 실행되며, 따라서 본 발명과 비교하여 추가적인 사이클들이 요구된다. 따라서, 데시메이트된 현재 매크로블록과 데시메이트된 레퍼런스 매크로블록 사이의 매칭블록 전체 계산을 위해, 8번의 내부 총합 명령이 실행된다.
현재 매크로블록(10)과 레퍼런스 매크로블록(14)의 모든 픽셀들에 대해 SAD가 계산되면, 레퍼런스 매크로블록 14a에 대한 내부 총합은 각 픽셀들에 대한 SAD 결과를 합함으로써 계산된다. 탐색 영역(12)의 모든 레퍼런스 매크로블록들에 대한 내부 총합이 계산된 후에, 최소의 내부 총합을 갖는 레퍼런스 매크로블록은 정합블록인 것으로 하고, 그 계산 결과는 매크로블록의 상이도(E_MB)로서 출력된다. 도 4에서 제어기(108)는 메모리 액세스를 감소시키기 위한 SIMD 스캐닝 방법을 이용하여 탐색 영역(104)내에서 레퍼런스 매크로블록 창을 어떻게 움직일 것인가를 제어한다.
도 12는 종래의 스캐닝 방법과 본 발명에 따른 스캐닝 방법 간의 차이점을 보다 상세히 나타내는 도면이다. 전역 탐색에 대해 종래의 스캐닝 방법에 따르면, 다음 레퍼런스 블록은 도 12_1 및 12_2에 도시된 바와 같이, 현재 레퍼런스 블록으로부터 한 픽셀씩 각각 수평 또는 수직 방향으로 이동된다. 이 경우, 현재 비교된 레퍼런스 블록의 대부분의 픽셀들은 다음에 비교될 레퍼런스 블록에 이용되는 픽셀들과 겹쳐진다.
도 12_1에 보인 수평 스캐닝에서, 레지스터 그룹(106'_1)의 픽셀들과 비교하여 다음 레지스터 그룹(106'_2)의 가장 오른쪽 부분만이 새로운 픽셀들로 이루어진다. 마찬가지로, 도 12_2에 보인 수직 스캐닝에 대해, 현재 레지스터 그룹(106"_1)과 비교하여, 다음 레지스터 그룹(106"_2)의 가장 아래쪽 부분만이 새로운 픽셀들로 이루어진다. 이처럼, 종래에는 가장자리 영역만이 새로운 픽셀들로 이루어짐에도 불구하고, 레퍼런스 매크로블록(106) 전체에 대해 메모리 액세스가 수행된다.
본 발명에 따른 SIMD에 대한 직교 스캐닝 스킴(scheme)이 도 12_3에 도시된다. 도 12_3을 참조하면, 새로운 픽셀들 106"'_3만이 메인 메모리에서 도 4의 제2레지스터 그룹(106)으로 로딩된다. 도 7에 도시된 바와 같이, 제2레지스터 그룹(106b)은 제2레지스터 그룹(160a)의 레지스터 영역 9~15에 저장된 중복되는 픽셀들을 재사용한다. 제2레지스터 그룹(106b)의 제1레지스터 영역 8에만 새로운 로우(row) 픽셀값이 로딩된다. 그리고, 제1레지스터 영역 8은 제2레지스터 그룹(106b)에서 마지막 위치로 이동되며, 다음 레퍼런스 블록과 겹치는 로우 픽셀들을 저장하는 다른 레지스터 영역9~15는 한 단계씩 그 순서가 올라간다. 예컨대, 레지스터 영역 9는 제1위치로 이동되고, 레지스터 10은 제2위치로 이동되고, 레지스터 11은 제3위치로 이동된다.
레퍼런스 매크로블록의 이러한 이동은 탐색영역(104, 도 4참조)에서 각 수직 이동에 대해 겹치지 않는 새로운 로우 픽셀들을 읽기 위한 한 번의 액세스만을 요구한다. 즉, 다음 레퍼런스 매크로블록에 대한 8x8 픽셀 어레이 전체를 메모리로부터 읽어올 필요가 없으므로, 탐색 영역(104)을 스캐닝하기 위한 메모리 액세스의 횟수를 줄일 수 있다.
도 8은 탐색영역(104)에서 레퍼런스 매크로블록의 이동을 보인다. 레퍼런스 매크로블록 창은 도 4에서 제어기(108)의 제어에 따라 수직으로 스캔된다. 여기서는 수직 창 이동을 보이지만, 수평 창 이동에 대해서도 동일한 기술이 적용될 수 있다. 수평 이동의 경우, 현재 및 레퍼런스 프레임의 수직 칼럼에 따라 순차적으로 메모리에 픽셀들을 저장하여 이용한다.
이상에서 설명된 바와 같이, 하나의 매크로블록에 대한 데이터를 저장할 수 있는 레지스터들이 이용되고 레퍼런스 매크로블록 창이 탐색영역에서 수직으로 이동될 때, 현재 레퍼런스 매크로블록과 다음 레퍼런스 매크로블록 간의 겹쳐지는 픽셀들이 재사용된다. 이는 탐색 영역을 스캔하기 위해 제어기(108)에 의해 요구되는 메모리 액세스의 횟수를 줄인다. 현재 매크로블록은 제1레지스터 그룹에 저장되고, 현재 레퍼런스 매크로블록은 제2레지스터 그룹에 저장된다.
도 9는 본 발명에 따른 SIMD 스캐닝 스킴을 더욱 상세히 나타내는 흐름도이다. 현재 프레임과 레퍼런스 프레임은 n:1 비율로 데시메이션된다(제170단계). 설명의 편의를 위해, 본 실시예에서는 n=4인 것으로 한다. 파라메터 HS는 탐색 영역에서 제1레퍼런스 매크로블록의 마지막 칼럼의 위치를 나타내고, 파라메터 VS는 탐색영역에서 제1레퍼런스 매크로블록의 마지막 로우의 위치를 나타내고, 파라메터 DCM은 4개의 데시메이션 프레임들을 나타낸다.
여기서, 제1레퍼런스 매크로블록은 탐색영역에서 좌측 최상단의 매크로블록이며, 제1레퍼런스 매크로블록에 대한 파라메터 HS와 파라메터 VS는 각각 0이다. 파라메터 HS,VS 및 DCM은 모두 0으로 초기화되고, 최소 상이도 E_MIN는 가능한 큰 값 예컨대, 무한대로 초기화한다(제172단계).
식별번호 0,1,2 및 3은 4개의 데시메이션 프레임들에 각각 부여된다. 파라메터 DCM을 4와 비교하여 움직임 추정이 마지막 데시메이션 프레이까지 완료되었는가를 판단한다(제174단계). 움직임 추정이 마지막 데시메이션 프레임까지 완료되지 않았다면, 현재 매크로블록은 제1레지스터 그룹(140, 도 7참조)으로 로딩된다(제176단계).
파라메터 HS를 17과 비교하여, 파라메터 HS가 17보다 작은가의 여부를 판단한다(제178단계). 파라메터 HS가 17보다 작지 않으면, 움직임 추정은 탐색영역에서 마지막 칼럼(HS16)까지 완료된 것이다. 그러면, HS는 0으로 리셋되고(제192단계), DCM은 다음 DCM 프레임으로 증가되고(제198단계), 제174단계로 진행한다.
움직임 추정이 HS16까지 완료되지 않으면, 파라메터 VS가 17보다 작은가를 판단한다(제180단계). VS가 17보다 작으면, 파이프라이닝 절차(제182 및 184단계)를 수행한다. 현재 매크로블록과 레퍼런스 매크로블록 간의 상이도는 제184단계에서 계산된다.
이 경우, 수직방향으로 새로운 로우 VS1은 레지스터 영역들의 순서(sequence)에서 제1레지스터 위치에 저장된다. 예컨대, 제2레지스터 그룹(160a)의 $RESISTER8에는 다음 레퍼런스 매크로블록에서 겹치지 않는 새로운 로우의 픽셀들이 로딩된다. 다른 레지스터 영역들 예컨대, $RESISTER9~$RESISTER15는 그 순서가 하나씩 위로 변동된다. 즉, 도 7에서 제2레지스터 그룹(160b)은 레지스터 영역들 $RESISTER9~$RESISTER15에 저장된 픽셀들은 재사용된다. 따라서, 새로운 로우 VS1(도 8참조)의 픽셀들만 메모리로부터 액세스되고, 제2레지스터 그룹(160a)의 레지스터 영역 $RESISTER8에 저장된다.
계속해서, 제1 및 제2레지스터 그룹들(140,160, 도 7참조)로 로딩된 매크로블록들 간의 상이도를 계산한다(제184단계). 매크로블록 상이도 E_MB는 최소 상이도 E_MIN과 비교된다(제186단계). 매크로블록 상이도 E_MB가 최소 상이도 E_MIN보다 작으면, 최소 상이도 E_MIN은 매크로블록 상이도 E_MB로 된다(제188단계). 반면, 매크로블록 상이도 E_MB가 최소 상이도 E_MIN보다 작지 않다면, 현재 최소 상이도 E_MIN은 그대로 유지되고, 파라메터 VS는 하나 증가한다(제190단계). 제180~190단계들은 레퍼런스 매크로블록의 수직 스캐닝이 마지막 로우인 VS16(도 8참조) 에 도달할 때까지 반복된다.
제180단계에서 마지막 로우 VS16까지 스캐닝하여 파라메터 VS가 17보다 작지 않다고 판단되면, 파라메터 VS는 0으로 초기화된다(제200단계). 그리고, 파라메터 HS는 하나 증가되고(제202단계), 제178단계로 진행한다. 즉, 레퍼런스 매크로블록 창은 한 픽셀만큼 오른쪽으로 이동되고, 제180~190단계가 반복 수행된다.
레퍼런스 매크로블록 창은 마지막 컬럼 HS16까지 수평방향으로 이동되면, 즉, 제178단계에서 파라메터 HS가 17보다 작지 않다고 판단되면, 파라메터 HS는 0으로 제192단계로 진행하여 0으로 다시 초기화된다. 그리고, 제198단계로 진행하여 파라메터 DCM이 증가된 후 제174단계로 진행한다. 파라메터 DCM이 증가된다는 것은 다른 데시메이션 프레임에 대한 움직임 추정이 수행된다는 것을 의미한다.
움직임 추정이 모든 데시메이션 프레임에 대해 완료되면, 즉, 제174단계에서 파라메터 DCM이 4보다 작지 않다고 판단되면, 최소 상이도를 갖는 레퍼런스 매크로블록이 제204단계에서 정합블록으로서 추출된다. 현재 프레임에 대한 움직임 추정은 현재 프레임에 대한 모든 매크로블록들에 대한 상기된 프로세스를 반복 수행함으로써 완료된다.
이상에서 설명된 바와 같이, 제1 및 제2레지스터 그룹은 현재 매크로블록과 레퍼런스 매크로블록을 저장하고, 레퍼런스 매크로블록 창은 움직임 추정을 위해 탐색영역에서 수직으로 이동된다. 그리고, 현재 레퍼런스 매크로블록과 다음 레퍼런스 매크로블록 간의 겹치는 픽셀들은 재사용된다. 결과적으로, 제2레지스터 그룹으로 다음 레퍼런스 매크로블록을 로딩할 때, 보다 적은 명령(로드/저장)이 요구된다.
도 10a 내지 10d는 종래의 움직임 추정 방법들과 대비되는 본 발명의 이점을 나타내는 도면이다. 도 10a는 데시메이션을 수행하지 않은 전역 탐색 알고리듬에 의한 종래의 움직임 추정 방법에서의 명령어 횟수를 나타내며, 전체 명령어 횟수에서 26.2%가 메모리 액세스 명령을 위해 요구됨을 보이며, 명령 횟수의 나머지 73.8%는 메모리 액세스 이외의 동작을 위한 것이다. 도 10a는 레퍼런스 매크로블록이 탐색영역에서 수평으로 이동되고 움직임 추정이 각 픽셀에 대한 SAD를 이용하여 실행되는 도 2에 대응된다. 도 10b는 데시메이션이 수행된 종래의 움직임 추정 방법에 대한 총 명령 횟수를 보인다. 도 10c는 데시메이션과 SIMD를 이용한 종래의 움직임 추정 방법에 대한 총 명령 횟수를 보인다.
도 10d는 본 발명을 이용한 움직임 추정에 대한 총 명령 횟수를 보인다. 도 10b 내지 10d에 보인 세 경우에서, 백분율 27.0%, 1.6% 및 0.9%는 도 10a의 종래의 움직임 추정방법과 비교되는 메모리 액세스 명령 횟수의 비율을 각각 나타낸다. 도 10a 내지 도 10d를 참조하면, 겹치지 않는 부분만 액세스하는 직교 스캐닝 방법(orthogonal scanning method)이 메모리 액세스 횟수를 줄이기 위한 가장 효과적인 기술임을 보인다.
도 11은 99개의 최소 SAD 추출을 위해 요구되는 QCIF(Quarter Common Intermediate Format)을 갖는 2개의 프레임에 대해 필요한 총 클럭 사이클의 수를 보인다. 도 11에서 11a는 도 10a에 대응되고, 11b는 도 10b에 대응되고, 11c는 도 10c에 대응되고 11d는 도 10d에 대응된다. 겹치지 않는 부분만 액세스하는 직교 스캐닝 스킴은 종래의 일반적인 SIMD를 이용한 움직임 추정 방법에 비하여 성능이 2배 향상된다.
이상에서 설명된 본 발명에 따른 스캐닝 기술은 현재 매크로블록과 레퍼런스 매크로블록을 비교하기 위한 SIMD 장치 또는 VLIW(Very Long Instruction Word) 장치로 구현될 수 있다. 정합 매크로블록을 위해 이용되는 스킴은 MAD, MAE 또는 SAD 스킴을 포함할 수 있다. 다음 레퍼런스 매크로블록을 선택하기 위한 방법은 고속 탐색 알고리듬 또는 전역 탐색 알고리듬을 포함할 수 있다. 물론, 다른 단일 명령/멀티-데이터 장치들, 정합 스킴들 및 탐색 알고리듬들이 역시 이용될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 설명된 시스템은 전용 프로세서 시스템, 마이크로 컨트롤러, 프로그래머블 로직 디바이스 또는 일부 또는 모든 동작을 수행하는 마이크로프로세서를 이용할 수 있다. 상술된 동작의 일부는 소프트웨어로 구현될 수 있고, 다른 동작은 하드웨어로 구현될 수 있다.
편의를 위해, 동작들은 여러 개의 연결된 기능 블록들 또는 구별되는 소프트웨어 모듈들로서 설명된다. 이는 필수적인 것은 아니며, 이러한 기능 블록들 또는 모듈들이 단일 로직 디바이스, 프로그램 또는 구분이 불명확한 동작으로 동등하게 집합될 수도 있다. 어쨌든, 기능 블록들, 소프트웨어 모듈 또는 특성의 융통성있는 접속이 그들간에 또는 하드웨어 또는 소프트웨어로 다른 동작들이 연결되는 것이 가능하다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이, 본 발명에 따른 움직임 추정 장치 및 방법은 현재 레퍼런스 매크로블록과 다음 레퍼런스 매크로블록 중 중복되는 픽셀데이터를 재 사용함으로써, 다음 레퍼런스 매크로블록을 레지스터로 로드하기 위한 명령어(Load)의 발생횟수가 줄어들 수 있으며, 따라서, 움직임 추정을 보다 빠르게 수행할 수 있다.
도 1은 현재 매크로블록과 탐색영역의 관계를 나타내는 도면이다.
도 2는 각 픽셀 10-1 및 14-1이 32bit 레지스터 15 및 17에 각각 로딩되는 기본적인 전역탐색을 보이는 도면이다.
도 3은 SIMD 장치를 이용한 SAD 계산을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 움직임 추정 시스템의 일실시예를 개략적을 나타내는 블록도로서,
도 5는 4:1 데시메이션 필터들을 이용하여 실행되는 전처리 단계를 나타내는 도면이다.
도 6은 데시메이션 후의 현재 매크로블록과 대응되는 탐색영역을 보이는 도면이다.
도 7은 본 발명에 따라 두 레지스터 그룹들이 어떻게 이용되는 가를 보이는 도면이다.
도 8은 본 발명에 따라 탐색영역에서 레퍼런스 매크로블록이 어떻게 이동되는가를 보이는 도면이다.
도 9는 본 발명에 따라 움직임 벡터가 어떻게 구해지는 가를 나타내는 흐름도이다.
도 10a 내지 10d는 다른 움직임 추정 기술들에 대한 명령 횟수를 비교한 결과를 나타낸다.
도 11a 내지 11d는 종래의 움직임 추정 방법과 본 발명에 따른 움직임 추정 방법간의 다른 차이점들을 보이는 도면이다.
도 12는 본 발명에 따른 수직 스캐닝 기술과 다른 스캐닝 기술을 비교하고, 메모리 액세스에서의 차이점을 보이는 도면이다.
도 13은 도 4의 상이도 계산부(110)를 개념적으로 나타내는 도면이다.

Claims (29)

  1. 입력된 영상 데이터의 움직임을 추정하여 데이터를 압축하는 움직임 추정장치를 구비하는 이미지 프로세싱 장치에 있어서,
    상기 움직임 추정장치는,
    현재 매크로블록을 저장하기 위한 제1저장 소자;
    제1레퍼런스 매크로블록을 저장하기 위한 제2저장 소자;
    상기 제1저장 소자와 상기 제2저장 소자에 저장된 내용의 상이도를 계산하는 계산부; 및
    상기 제1레퍼런스 매크로블록의 겹쳐지지 않는 부분을 제2레퍼런스 매크로블록의 겹쳐지지 않는 부분으로 대체하여 상기 제2저장 소자에 상기 제2레퍼런스 매크로블록을 로딩하는 제어기를 포함하는 것을 특징으로 하는 이미지 프로세싱 장치.
  2. 제1항에 있어서, 상기 계산부의 계산 결과는 움직임 벡터 측정에 이용되는 것을 특징으로 하는 이미지 프로세싱 장치.
  3. 제1항에 있어서, 상기 계산부는 SIMD(Single Instruction Multiple Data) 장치를 포함하는 것을 특징으로 하는 이미지 프로세싱 장치.
  4. 제1항에 있어서, 상기 제1레퍼런스 매크로블록에서 상기 제2레퍼런스 매크로블록과 겹치는 영역은 상기 제1저장 소자와 상기 제2저장 소자 사이의 상이도 계산을 위해 상기 계산부에 의해 상기 제2저장 소자에서 재사용되는 것을 특징으로 하는 이미지 프로세싱 장치.
  5. 제1항에 있어서,
    상기 제1저장 소자는 각각이 현재 매크로블록에 대한 픽셀값 그룹을 저장하는 다수의 레지스터들로 구성되고,
    상기 제2저장 소자는 각각이 제1레퍼런스 매크로블록에 대한 픽셀값 그룹을 저장하는 다수의 레지스터들로 구성되는 것을 특징으로 하는 이미지 프로세싱 장치.
  6. 제5항에 있어서, 상기 계산부는 상기 제1저장 소자의 각 레지스터에 저장된 픽셀값 그룹과 상기 제2저장 소자의 각 레지스터에 저장된 픽셀값 그룹을 동시에 계산하는 것을 특징으로 하는 이미지 프로세싱 장치.
  7. 제5항에 있어서, 상기 제1저장 소자에서 상기 다수의 레지스터들 각각은 현재 매크로블록의 로우 또는 칼럼을 저장하고, 상기 제2저장 소자에서 상기 다수의 레지스터들 각각은 제1레퍼런스 매크로블록의 로우 또는 칼럼을 저장하는 것을 특징으로 하는 이미지 프로세싱 장치.
  8. 제1항에 있어서, 상기 제2레퍼런스 매크로블록의 겹치지 않는 부분은 메모리에서 상기 제2저장 소자로 로딩되는 것을 특징으로 하는 이미지 프로세싱 장치.
  9. 제1항에 있어서, 상기 제어기는 제2저장 소자에서 겹치지 않는 부분을 저장하고 있는 제1레지스터의 위치를 마지막 레지스터 위치으로 이동시켜 상기 제2저장 소자로 상기 제2레퍼런스 매크로블록을 로딩하고, 상기 제2저장 소자에서 겹치는 부분을 저장하고 있는 나머지 레지스터들은 그 위치을 하나씩 위로 이동시키는 것을 특징으로 하는 이미지 프로세싱 장치.
  10. 제1항에 있어서, 현재 프레임을 다수의 데시메이트된 현재 프레임들로 데시메이션하고 레퍼런스 프레임을 다수의 데시메이트된 레퍼런스 프레임들로 데시메이션하는 전처리기를 더 포함하는 것을 특징으로 하는 이미지 프로세싱 장치.
  11. 제1항에 있어서, 상기 제어기 및 상기 계산부는 소프트웨어 또는 하드웨어로 구현되는 것을 특징으로 하는 이미지 프로세싱 장치.
  12. 제5항에 있어서, 상기 계산부는
    상기 제1저장 소자의 각 레지스터의 각 픽셀과 상기 제2저장 소자의 각 레지스터의 각 픽셀간의 차의 절대값을 저장하는 제3저장부; 및
    상기 제3저장 소자에 저장된 차의 절대값에 대한 총합을 계산하는 가산 회로를 포함하는 것을 특징으로 하는 이미지 프로세싱 장치.
  13. 제12항에 있어서, 상기 가산 회로는 다수의 가산기들만으로 구성되는 것을 특징으로 하는 이미지 프로세싱 장치.
  14. 제12항에 있어서, 상기 가산 회로는 한 번의 내부 총합 명령에 의해 상기 제3저장 소자에 저장된 모든 차의 절대값들에 대한 총합을 생성하는 것을 특징으로 하는 이미지 프로세싱 장치.
  15. 입력된 영상 데이터의 움직임을 추정하여 데이터를 압축하는 움직임 추정방법에 있어서,
    현재 매크로블록을 로딩하는 단계;
    현재 레퍼런스 매크로블록을 로딩하는 단계;
    상기 현재 매크로블록과 상기 현재 레퍼런스 매크로블록을 비교하는 단계; 및
    상기 로딩된 현재 레퍼런스 매크로블록의 겹치지 않는 부분을 다음 레퍼런스 매크로블록의 겹치지 않는 부분으로 대체하여 다음 레퍼런스 매크로블록을 로딩하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 방법.
  16. 제15항에 있어서, 상기 현재 매크로블록과 상기 다음 레퍼런스 매크로블록을 비교하기 위해 상기 현재 레퍼런스 매크로블록의 겹치는 부분을 재사용하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  17. 제15항에 있어서,
    현재 레퍼런스 매크로블록에 대한 픽셀들의 겹치지 않는 부분을 현재 저장하고 있는 지정된 레지스터에 다음 레퍼런스 매크로블록으로부터 겹치지 않는 픽셀 그룹을 한 번의 명령으로 로딩하는 단계; 및
    다음 레퍼런스 매크로블록과 겹치는 다른 레지스터의 픽셀들을 재사용하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  18. 제17항에 있어서, 레퍼런스 프레임을 저장하고 있는 메모리로부터 상기 지정된 레지스터로 로딩하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  19. 제17항에 있어서, 다음 레퍼런스 매크로블록의 겹치지 않는 부분을 저장하고 있는 상기 지정된 레지스터의 순서를 마지막 레지스터 위치으로 옮기고, 다른 레지스터들의 순서을 하나씩 올리는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  20. 제15항에 있어서, 로딩된 현재 매크로블록에 대한 각 그룹의 픽셀값들과 로딩된 현재 레퍼런스 매크로블록에 대한 각 그룹의 픽셀값들을 동시에 비교하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  21. 제20항에 있어서, 상기 픽셀값들의 그룹 각각은 현재 매크로블록의 하나의 로우 또는 하나의 칼럼이거나 또는 현재 레퍼런스 매크로블록의 하나의 로우 또는 칼럼인 것을 특징으로 하는 움직임 추정 방법.
  22. 제15항에 있어서, 상기 현재 매크로블록과 상기 현재 레퍼런스 매크로블록을 비교하기 위해, VLIW(Very Long Instruction Word) 장치 또는 SIMD(Single Instruction Multiple Data) 장치를 이용하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 방법.
  23. 제15항에 있어서, 정합 매크로블록 스킴을 이용하여 상기 현재 매크로블록과 상기 현재 레퍼런스 매크로블록을 비교하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  24. 제23항에 있어서, 상기 정합 매크로블록 스킴은 MAD(Mean of the Absolute Difference), MAE(Mean of the Absolute Error) 또는 SAD(the Sum of the Absolute Difference)인 것을 특징으로 하는 움직임 추정 방법.
  25. 제15항에 있어서, 고속 알고리듬 또는 전역 탐색 알고리듬을 이용하여 다음 레퍼런스 매크로블록을 선택하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  26. 제15항에 있어서,
    현재 프레임을 다수의 데시메이션된 현재 프레임들로 데시메이션하는 단계;
    레퍼런스 프레임을 다수의 데시메이션된 레퍼런스 프레임들로 데시메이션하는 단계;
    상기 데시메이션된 현재 프레임들로부터 상기 현재 매크로블록을 선택하는 단계;
    상기 현재 매크로블록과 가장 근사한 레퍼런스 매크로블록을 정하기 위해 데시메이션된 레퍼런스 프레임들의 탐색영역상에서 상기 선택된 현재 매크로블록을 이동하는 단계; 및
    가장 근사한 매크로블록으로 정해진 레퍼런스 매크로블록에 대한 움직임 벡터를 구하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  27. 제20항에 있어서,
    상기 로딩된 현재 레퍼런스 매크로블록에 대한 픽셀값들의 각 그룹과 상기 로딩된 현재 매크로블록에 대한 픽셀값들의 각 그룹 간의 차의 절대값을 저장하는 단계; 및
    상기 차의 절대값들에 대한 총합을 구하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  28. 제27항에 있어서, 상기 절대 차의 값들에 대한 총합을 구하기 위해 가산기들만을 이용하는 것을 특징으로 하는 움직임 추정 방법.
  29. 제28항에 있어서, 하나의 내부 총합 명령에 의해 모든 차의 절대값들에 대한 총합을 생성하는 것을 특징으로 하는 움직임 추정 방법.
KR10-2002-0039835A 2001-07-09 2002-07-09 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법 KR100486249B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020010040904 2001-07-09
KR20010040904 2001-07-09
US10/112,011 US20030012281A1 (en) 2001-07-09 2002-03-29 Motion estimation apparatus and method for scanning an reference macroblock window in a search area
US10/112,011 2002-03-29

Publications (2)

Publication Number Publication Date
KR20030007087A KR20030007087A (ko) 2003-01-23
KR100486249B1 true KR100486249B1 (ko) 2005-05-03

Family

ID=26639222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0039835A KR100486249B1 (ko) 2001-07-09 2002-07-09 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법

Country Status (4)

Country Link
JP (1) JP2003125415A (ko)
KR (1) KR100486249B1 (ko)
CN (1) CN1297134C (ko)
GB (1) GB2378345B (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519115B2 (en) 2003-03-31 2009-04-14 Duma Video, Inc. Video compression method and apparatus
JP4516020B2 (ja) * 2003-08-28 2010-08-04 株式会社日立超エル・エス・アイ・システムズ 画像処理装置
KR100621137B1 (ko) * 2004-02-27 2006-09-13 세이코 엡슨 가부시키가이샤 동화상 부호화 장치 및 동화상 처리장치
CN100403803C (zh) * 2005-01-19 2008-07-16 威盛电子股份有限公司 具有快取的阶层式搜寻方法与系统
KR100677562B1 (ko) 2005-02-03 2007-02-02 삼성전자주식회사 움직임 추정 방법 및 장치
CN100370808C (zh) * 2005-06-13 2008-02-20 北京中星微电子有限公司 一种运动检测方法
US8118676B2 (en) 2005-07-08 2012-02-21 Activevideo Networks, Inc. Video game system using pre-encoded macro-blocks
US8284842B2 (en) 2005-07-08 2012-10-09 Activevideo Networks, Inc. Video game system using pre-encoded macro-blocks and a reference grid
US9061206B2 (en) * 2005-07-08 2015-06-23 Activevideo Networks, Inc. Video game system using pre-generated motion vectors
US8270439B2 (en) 2005-07-08 2012-09-18 Activevideo Networks, Inc. Video game system using pre-encoded digital audio mixing
KR100678911B1 (ko) * 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
JP4182442B2 (ja) * 2006-04-27 2008-11-19 ソニー株式会社 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
KR101328931B1 (ko) * 2006-11-28 2013-11-14 엘지전자 주식회사 비디오 복호기 및 복호방법
EP2632165B1 (en) 2007-01-12 2015-09-30 ActiveVideo Networks, Inc. Interactive encoded content system including object models for viewing on a remote device
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
KR101520027B1 (ko) 2007-06-21 2015-05-14 삼성전자주식회사 움직임 추정 방법 및 장치
KR100909390B1 (ko) * 2007-09-18 2009-07-24 한국과학기술원 고속 움직임 보상 장치 및 방법
CN101179724B (zh) * 2007-12-11 2010-09-29 北京中星微电子有限公司 帧间压缩编码中的帧存储方法及装置
CN101800893B (zh) * 2009-02-06 2013-01-16 宏碁股份有限公司 执行运动估计的低功率高性能视频编码方法
US8194862B2 (en) 2009-07-31 2012-06-05 Activevideo Networks, Inc. Video game system with mixing of independent pre-encoded digital audio bitstreams
CN102340617B (zh) * 2010-07-14 2014-06-11 奇景光电股份有限公司 运动估算及运动补偿电路
WO2012051528A2 (en) 2010-10-14 2012-04-19 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
WO2012138660A2 (en) 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
EP2815582B1 (en) 2012-01-09 2019-09-04 ActiveVideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
EP3005712A1 (en) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
CN109120941A (zh) * 2018-09-03 2019-01-01 山东师范大学 一种视频图像数据重用方法、处理器及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264602A (ja) * 1994-03-24 1995-10-13 Sony Corp 動きベクトル検出方法
KR19980020898A (ko) * 1996-09-12 1998-06-25 강성구 디지탈 비데오 인코더 시스템에서 움직임 예측 방법
KR20020008976A (ko) * 2000-07-21 2002-02-01 대표이사 서승모 저전송율 영상통신을 위한 움직임 예측기 구조
KR20020085269A (ko) * 2001-05-07 2002-11-16 엘지전자 주식회사 다중 후보를 이용한 움직임 벡터 병합 탐색 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2327827B (en) * 1996-11-29 1999-06-30 Sony Corp Image processing apparatus
KR100325253B1 (ko) * 1998-05-19 2002-03-04 미야즈 준이치롯 움직임벡터 검색방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264602A (ja) * 1994-03-24 1995-10-13 Sony Corp 動きベクトル検出方法
KR19980020898A (ko) * 1996-09-12 1998-06-25 강성구 디지탈 비데오 인코더 시스템에서 움직임 예측 방법
KR20020008976A (ko) * 2000-07-21 2002-02-01 대표이사 서승모 저전송율 영상통신을 위한 움직임 예측기 구조
KR20020085269A (ko) * 2001-05-07 2002-11-16 엘지전자 주식회사 다중 후보를 이용한 움직임 벡터 병합 탐색 방법

Also Published As

Publication number Publication date
KR20030007087A (ko) 2003-01-23
CN1396762A (zh) 2003-02-12
GB0213247D0 (en) 2002-07-17
CN1297134C (zh) 2007-01-24
GB2378345A (en) 2003-02-05
GB2378345B (en) 2004-03-03
JP2003125415A (ja) 2003-04-25

Similar Documents

Publication Publication Date Title
KR100486249B1 (ko) 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법
JP3277418B2 (ja) 動きベクトル検出装置および方法
US8213515B2 (en) Interpolated skip mode decision in video compression
US6970509B2 (en) Cell array and method of multiresolution motion estimation and compensation
US5838828A (en) Method and apparatus for motion estimation in a video signal
US7020201B2 (en) Method and apparatus for motion estimation with all binary representation
US20070071101A1 (en) Systolic-array based systems and methods for performing block matching in motion compensation
KR101578052B1 (ko) 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
EP1262073A2 (en) Methods and apparatus for motion estimation using neighboring macroblocks
US9319708B2 (en) Systems and methods of improved motion estimation using a graphics processing unit
WO2001049039A1 (en) Methods and apparatus for reduction of prediction modes in motion estimation
EP2773123B1 (en) Padding of frame boundaries for video coding
US20080095237A1 (en) Systems and Methods of Improved Motion Estimation using a Graphics Processing Unit
WO2001049029A1 (en) Methods and apparatus for motion estimation in compressed domain
US8135224B2 (en) Generating image data
US7792192B2 (en) System and method for sub-pixel interpolation in motion vector estimation
US20030012281A1 (en) Motion estimation apparatus and method for scanning an reference macroblock window in a search area
US6016163A (en) Methods and apparatus for comparing blocks of pixels
US6370195B1 (en) Method and apparatus for detecting motion
US20050047502A1 (en) Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding
US8279936B1 (en) Method and apparatus for fractional pixel expansion and motion vector selection in a video codec
JP3769773B2 (ja) 動きベクトル検出装置および検出方法
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
Hsia et al. Very large scale integration (VLSI) implementation of low-complexity variable block size motion estimation for H. 264/AVC coding
JP3309519B2 (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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 15