KR19980041898A - 디지탈 비디오 데이타 스트림의 일시적인 압축 방법 및 탐색 프로세서 - Google Patents

디지탈 비디오 데이타 스트림의 일시적인 압축 방법 및 탐색 프로세서 Download PDF

Info

Publication number
KR19980041898A
KR19980041898A KR1019970048684A KR19970048684A KR19980041898A KR 19980041898 A KR19980041898 A KR 19980041898A KR 1019970048684 A KR1019970048684 A KR 1019970048684A KR 19970048684 A KR19970048684 A KR 19970048684A KR 19980041898 A KR19980041898 A KR 19980041898A
Authority
KR
South Korea
Prior art keywords
search
macroblock
unit
data
digital video
Prior art date
Application number
KR1019970048684A
Other languages
English (en)
Other versions
KR100294999B1 (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 포만제프리엘
Publication of KR19980041898A publication Critical patent/KR19980041898A/ko
Application granted granted Critical
Publication of KR100294999B1 publication Critical patent/KR100294999B1/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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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

Abstract

디지탈 비디오 데이타 스트림(digital video data stream)을 일시적으로 압축하는 본 발명은 적어도 하나의 탐색 유닛에서 기준 화상(reference picture)내의 픽셀을 계층적으로 탐색하여 현재의 매크로블럭에 대해 최적으로 정합하는 매크로블럭을 검출하는 방법을 제공한다. 또한, 본 발명은 기준 화상내의 현재의 매크로블럭과 최적의 정합 매크로블럭 사이에 움직임 벡터(motion vector)를 발생(construct)하는 방법을 제공한다.

Description

디지탈 비디오 데이타 스트림의 일시적인 압축 방법 및 탐색 프로세서
본 발명은 MPEG2에 따르는 디지탈 비디오의 인코딩(digital video encoding)에 있어서 실시간 움직임 추정(real time motion estimation)에 관한 것이다. 움직임 추정은 움직임 벡터(motion vectors)를 이용하여 행해지는 화상들간의 압축이다. 디지탈 비디오 데이타 스트림(digital video data stream)을 일시적으로 압축하는 본 발명은 적어도 하나의 탐색 유닛(search unit)에서 기준 화상(reference picture)내의 픽셀(pixels)을 계층적으로 탐색해서 현재의 매크로블럭에 대해 최적으로 정합하는 매크로블럭(best match macroblock)을 검출함으로써 달성된다.
지난 10년 동안 사람들이 정보를 제공하고 수신할 수 있는 전자 통신 시스템이 급격하게 발전되어 왔다. 특히, 실시간 비디오 및 오디오 시스템의 성능은 최근 몇 년동안 급격하게 발전되어 왔다. 주문형 비디오 및 화상 회의와 같은 서비스를 가입자에게 제공하는 데에는 상당량의 네트워크 대역폭이 필요하다. 실제로, 네트워크 대역폭은 종종 이러한 시스템의 효율성을 저해시키는 주된 요인이었다.
네트워크에 의해 야기된 이러한 문제점들을 해결하기 위해 압축 시스템이 등장하게 되었다. 이러한 압축 시스템은 화상 시퀀스(picture sequence)에서 중복되는 부분을 제거함으로써 전송되어야 하는 비디오 및 오디오의 데이타 양을 줄인다. 화상 시퀀스는 수신부에서 압축해제되어 실시간으로 디스플레이될 수 있다.
현재 등장하고 있는 비디오 압축 표준의 하나의 예로는 MPEG(Moving Picture Experts Group) 표준이 있다. MPEG 표준에서는 주어진 한 화상내에서 뿐만 아니라 화상들간의 비디오 압축을 정의(define)하고 있다. 한 화상내의 비디오 압축은 이산 코사인 변환(discrete cosine transform), 양자화(quantization), 가변 길이 코딩(variable length coding)에 의해 달성된다. 화상들간의 비디오 압축은 움직임 추정으로 일컬어지는 프로세스에 의해 이루어지며, 이 프로세스 동안 화상 엘리먼트(펠(pels))의 세트를 한쪽 화상에서 다른쪽 화상으로 변환(translation)시키는데 움직임 벡터가 사용된다. 이들 움직임 벡터는 자체적으로 인코딩된다.
움직임 추정 알고리즘은 효율적으로 구현될 때 고도의 연산을 필요로 하는 반복적인 기능이다. 이 알고리즘은 실시간 비디오 전송 환경에서 움직임 추정이 수행되는 경우에 특히 반복적인 기능을 나타낸다. 덧붙여, 시스템 설계자가 부과하는 2가지 중요한 제한 사항으로는 비디오 압축 기능을 수행하는데 필요한 구성 요소(components)로 인해 카드(card)/보드(board)의 크기가 더욱 커지고 이에 따라 비용이 증가된다는 것이다. 특히, 여기에 기준 화상 데이타를 저장하는데 필요한 DRAM 및/또는 SRAM의 크기도 따라서 증가된다. 따라서, 실시간 인코딩 요건을 충족시키기 위해 연산 처리능력을 극대화하고 이를 구현하는데 사용되는 칩의 크기가 최소화되도록 하기 위해 강력한 움직임 추정 데이타 플로우(motion estimation dataflow)가 필요하게 된다. 또한, 움직임 추정 데이타 플로우를 스케일링할 수 있도록 하여 다수의 시스템의 비용을 크게 줄일 수 있는 방안이 필요하게 된다.
본 발명의 목적은 실시간 인코딩 요건을 충족시키기 위해 연산 능력을 극대화하고 이를 구현하는데 소모되는 칩의 크기가 최소화되도록 강력한 움직임 추정 데이타 플로우를 제공하는데 있다.
본 발명의 다른 목적은 움직임 추정 데이타 플로우를 스케일가능하게 하여 시스템의 비용을 크게 줄이는데 있다.
본 발명의 또다른 목적은 계층적인 움직임 추정 방법 및 장치를 제공하는데 있다.
본 발명의 또다른 목적은 다운샘플링된 전체 픽셀값(downsampled full pixel values)을 이용하여 계층적인 움직임 추정 탐색을 수행할 수 있도록 하는 계층적인 움직임 추정 방법 및 장치를 제공하는데 있다.
본 발명의 또다른 목적은 계층적인 움직임 추정 탐색이 필드 탐색(field search)인 계층적인 움직임 추정 방법 및 장치를 제공하는데 있다.
전술한 목적 및 다른 목적은 본 발명의 방법 및 장치에 의해 달성된다.
본 발명에 따르면, 다지탈 비디오 데이타 스트림을 일시적으로 압축하는 방법이 제공된다. 이러한 본 발명의 방법은 적어도 하나의 탐색 유닛에서 기준 화상내의 픽셀을 계층적으로 탐색해서 현재의 매크로블럭에 대응하는 최적의 정합 매크로블럭을 검출함으로써 개시된다. 다음 단계에서, 최적으로 정합하는 매크로블럭과 현재의 매크로블럭 사이에 움직임 벡터가 형성(construct)된다.
본 발명의 또다른 실시예에 따르면, 디지탈 비디오 데이타 스트림을 일시적으로 압축하는 방법이 제공된다. 이러한 본 발명의 방법은 다운샘플링된 전체 픽셀값을 이용하여 기준 화상내의 픽셀을 탐색한 후에 최적으로 정합하는 매크로블럭을 검출하는 단계를 포함한다. 최적으로 정합하는 매크로블럭은 현재의 매크로블럭과 가장 비슷하게 닮은 기준 화상내의 매크로블럭을 지칭한다. 다음 단계에서는 최적으로 정합하는 매크로블럭과 현재의 매크로블럭 사이에 움직임 벡터를 형성한다.
본 발명의 또다른 실시예에 따르면, 우수/우수, 기수/기수, 우수/기수, 기수/우수 필드 탐색 유닛(field search unit)의 입력을 이용해서 필드 탐색을 수행하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법이 제공된다. 이 방안은 기준 화상 필드내의 픽셀을 탐색해서 현재의 매크로블럭에 대응하는 최적으로 정합하는 매크로블럭을 검출하는 방식이다. 전술한 바와 같이, 최적으로 정합하는 매크로블럭과 현재의 매크로블럭 사이에 움직임 벡터가 형성된다.
본 발명은 첨부된 도면을 참조하면 이해될 것이다.
도 1은 이산 코사인 변환기(21)와, 양자화기(23)와, 가변 길이 코더(25)와, 역 양자화기(29)와, 역 이산 코사인 변환기(31)와, 움직임 보상기(41)와, 프레임 메모리(42)와, 움직임 추정 유닛(43)이 구비된 전형적인 MPEG2를 따르는 인코더(11)를 도시한 도면이다. 데이타 경로는 ith화상 입력(111)과, 차분 데이타(112)와, 움직임 벡터(113)와, 화상 출력(121)과, 움직임 추정 및 보상을 위한 피드백 화상(131)과, 움직임 보상된 화상(101)을 포함한다. 도 1에서, ith화상은 프레임 메모리 또는 프레임 저장매체(42)내에 존재하고 i+1th화상은 움직임 추정에 의해 인코딩되는 것으로 가정한다.
도 2는 I, P, B 화상의 디스플레이 순서 및 전송 순서와, 정방향 및 역방향 움직임 예측을 도시한 도면이다.
도 3은 현재의 프레임 또는 화상내의 움직임 추정 블럭으로부터 차후 또는 이전 프레임 또는 화상내의 최적으로 정합하는 블럭에 대해 탐색하는 것을 도시한 도면이다. 엘리먼트(211, 211')는 두 화상에서 동일 위치를 나타낸다.
도 4는 움직임 벡터에 따라 이전 화상의 위치로부터 새로운 화상으로 블럭이 이동하는 것과, 움직임 벡터를 사용한 후에 조정된 이전 화상의 블럭을 도시한 도면이다.
도 5는 계층적인 탐색 유닛(hierarchal search unit)(201)과 정밀 탐색 유닛(refinement search unit)(221)이 구비된 탐색 유닛의 전체 아키텍처를 도시한 도면이다. 계층적인 탐색 유닛(201)은 다운샘플링된 전체 픽셀 탐색 유닛(downsampled full pixel search unit)(203)을 구비하고 있다. 정밀 탐색 유닛(221)은 1/2 픽셀 탐색 유닛(half pixel search unit)(225) 및 듀얼 프라임 탐색 유닛(dual prime search unit)(227)에 입력을 제공하는 전체 픽셀 탐색 유닛(223)을 구비하고 있다. 듀얼 프라임 탐색 유닛(227)은 1/2 픽셀 탐색 유닛(225)으로부터 입력을 또한 수신한다.
도 6은 계층적 움직임 예측 데이타 플로우를 도시하는 것으로서, 계층적 탐색 유닛(201)은 이전의 계층적인 탐색 유닛(도시되지 않음)으로부터 최적의 정합/차분 오프셋 데이타를 수신하고 현재의 매크로블럭(current macroblock: CMB) 데이타 버스(205)로부터 데이타를 수신하고, 정밀 탐색/재구성 유닛(221) 및 계층적인 탐색 메모리(211)에 대한 출력을 갖는다. 정밀 탐색/재구성 유닛(221)은 현재의 매크로블럭 데이타 버스(205)로부터 데이타를 수신하고, Diff/Qxfrm 데이타 버스(231) 및 정밀 탐색 메모리(229)로/로부터의 데이타를 전송 및 수신한다. 정밀 탐색/재구성 유닛(221)의 출력은 움직임 벡터 버스(motion vector(MV) bus)(241)로 제공된다.
도 7은 현재의 매크로블럭 데이타 버스(휘도 데이타(205))로부터 휘도 버퍼(207)를 통해 데이타를 수신하고, 탐색 데이타 버스(207)로/로부터의 데이타를 전송 및 수신하는 계층적인 탐색 유닛의 데이타 흐름도이다. 도 7에는 f1/f1(301), f2/f2(303), f1/f2(305), f2/f1(307)로 예시된 4개의 필드 탐색 유닛들이 도시되어 있다. 이들 필드 탐색 유닛은 제각기 f1/f1 차분값, f2/f2 차분값, f1/f2 차분값, f2/f1 차분값을 제공한다. 이들 데이타는 최적으로 정합하는 차분값/오프셋(313)을 출력하는 최적의 정합 결과 선택 유닛(311)으로 제공된다.
도 8은 정밀 탐색/재구성 유닛(221)의 데이타 흐름도이다. 색차 및 휘도 데이타는 메모리 제어기(301)의 제어에 따라 CMB 데이타 버스(205) 및 휘도/색차 버퍼(207)를 통해 이 유닛으로 입력된다. 데이타는 전 해상도(full resolution: FR) 유닛(321), 1/2 해상도(half resolution: HR) 유닛(323), 듀얼 프라임(dual prime: DP) 유닛(325)을 통해 FD 유닛(327)으로 제공되며, FD 유닛(327)으로부터 움직임 조정 유닛(MA)(329)으로 제공된다. 움직임 추정 프로세싱 유닛(MEPROC)(331)은 전술한 유닛들을 제어하고 제어 신호를 움직임 벡터 버스(MV 버스)로 전송한다. FD 유닛(327)의 출력은 Diff/QXFRM 데이타 버스(332)로 제공되며, 이 버스(332)를 통해 역 양자화기(inverse quantizer: IQ) 유닛(333) 및 역 이산 코사인 변환 유닛(discrete cosine transform: ID)(335)으로 제공되어 다시 움직임 조정 유닛(MA)(329)으로 제공된다.
표 1은 (계층적이거나 혹은 비-계층적인) 탐색 모드, (인터레이스(interlaced) 또는 순차적인(progressive)) 화상 구조, (인트라(intra), 예측(predicted), 양방향(bidirectional)) 화상 형태, (듀얼 프라임, 비-듀얼 프라임) 움직임 추정 옵션, 탐색 회수, 탐색 형태 및 정밀 사이즈(refinement size)를 포함하는 움직임 추정 탐색 방안을 예시한 도면이다.
도 1은 MPEG2에 적용되는 전형적인 인코더(100)의 흐름도
도 2는 I, P, B 화상의 디스플레이 순서 및 전송 순서와, 정방향 및 역방향 움직임 예측을 도시한 도면
도 3은 현재의 프레임 또는 화상내의 움직임 추정 블럭으로부터 차후 또는 이전 프레임 또는 화상내의 최적의 정합 블럭에 대해 탐색하는 것을 도시한 도면
도 4는 움직임 벡터에 따른 이전 화상의 위치로부터 새로운 화상으로의 블럭 이동과, 움직임 벡터를 사용한 후에 조정된 이전 화상의 블럭을 도시한 도면
도 5는 계층적인 탐색 유닛(201)과 정밀 탐색 유닛(221)이 구비된 탐색 유닛의 전체 아키텍처를 도시한 도면
도 6은 계층적인 탐색 유닛(201)을 구비한 계층적인 움직임 추정 시스템의 데이타 흐름도
도 7은 4개의 필드 탐색 유닛들이 구비된 계층적인 탐색 유닛의 데이타 흐름도
도 8은 정밀 탐색/재구성 유닛(221)의 데이타 흐름도
도면의 주요 부분에 대한 부호의 설명
11: 인코더 21: 이산 코사인 변환기
23: 양자화기 25: 가변 길이 코더
29: 역 양자화기 31: 역 이산 코사인 변환기
41: 움직임 보상기 42: 프레임 메모리
43: 움직임 추정 유닛 201: 계층적인 탐색 유닛
203: 다운샘플링된 전체 픽셀 탐색 유닛
207: 휘도 버퍼 211: 계층적인 탐색 메모리
221: 정밀 탐색 유닛 223: 전체 픽셀 탐색 유닛
225: 1/2 픽셀 탐색 유닛 227: 듀얼 프라임 탐색 유닛
229: 정밀 탐색 메모리 301: 메모리 제어 유닛
311: 최적의 정합 결과 선택 유닛 321: 전체 해상도 유닛
323: 1/2 해상도 유닛 325: 듀얼 프라임 유닛
329: 움직임 조정 유닛 331: 움직임 추정 프로세싱 유닛
본 발명에서는 스케일링가능하고 효율적이며 실시간 인코딩 환경에 대한 요구를 충족시킬 수 있도록 적절하게 동작하는 움직임 추정 아키텍처가 제공된다.
본 발명은 MPEG 및 HDTV를 따르는 인코더 및 인코딩 프로세스에 관한 것이다. 인코더에 의해 수행되는 인코딩 기능은 데이타 입력, 움직임 추정, 매크로블럭 모드 발생, 데이타 재구성, 엔트로피 코딩(entropy coding), 데이타 출력 등을 포함한다. 움직임 추정 및 보상은 일시적 압축 기능이다. 이들 움직임 추정 및 보상은 많은 연산을 필요로 하는 반복적인 기능이며, 역 이산 코사인 변환, 역 양자화, 움직임 보상과 같은 강도 높은 재구성 프로세싱을 포함한다.
특히, 본 발명은 움직임 추정, 보상, 예측에 관한 것으로, 특히 움직임 벡터를 계산하는 것에 관한 것이다. 움직임 보상은 현재의 화상을 매크로블럭과 같은 블럭으로 분할해서 이전에 제공된 화상내에서 유사한 내용을 갖는 인접 블럭을 탐색함으로써 일시적 중복성(temporal redundancy)을 이용한다. 현재의 블럭 펠과 기준 화상으로부터 추출된 예측 블럭 펠간의 차만이 전송을 위해 실질적으로 압축되어 전송된다.
움직임 보상 및 예측의 가장 단순한 방안은 I 화상의 모든 픽셀의 휘도 및 색차 신호, 즉, 강도(intensity) 및 색을 기록하고, 후속 화상의 지정된 모든 픽셀에 대한 휘도 및 색차 신호, 즉, 강도 및 색의 변동을 기록하는 것이다. 그러나, 이러한 방안은 전송 매체의 대역폭, 메모리, 프로세서 성능, 프로세싱 시간 등의 측면에서 비효율적인데, 그 이유는 물체(objects)가 화상들 사이로 이동하며, 픽셀의 내용이 한쪽 화상의 위치에서 후속 화상의 다른 위치로 이동하기 때문이다. 보다 개선된 방안으로서 이전 화상을 예를 들어 움직임 벡터와 함께 이용해서 픽셀 블럭이 후속 화상(들)내에서 어디에 존재하는지를 예측하고, 그 결과를 예측 화상 또는 P 화상으로서 기록하는 기법이 있다. 특히, 이 방안에서는 i+1th의 화상의 픽셀 또는 픽셀의 매크로블럭이 ith화상내에서 어디에 존재하는지를 최적으로 추정하거나 혹은 예측하는 단계를 포함한다. 또한, 이 방안은 후속 화상 및 이전 화상 모두를 사용해서 픽셀 블럭이 중간 화상 또는 B 화상내에서 어디에 존재하는지를 예측하는 단계를 포함한다.
화상 인코딩 순서 및 화상 전송 순서는 화상 디스플레이 순서와 반드시 일치할 필요가 없음에 유의하여야 한다. 이러한 사실은 도 2에 도시되어 있다. I-P-B 시스템의 경우, 입력 화상의 전송 순서는 인코딩 순서와 다르고, 입력 화상은 인코딩을 위해 사용될 때까지 임시 저장되어야 한다. 버퍼는 입력 화상이 사용될 때까지 이 입력 화상을 저장한다.
도 1에는 MPEG을 따르는 인코딩의 전형적인 흐름도가 예시를 위해 도시되어 있다. 이 흐름도에서 ith화상 및 i+1th화상 이미지는 움직임 벡터를 발생하기 위해 프로세싱된다. 움직임 벡터는 픽셀의 매크로블럭이 이전 및/또는 후속 화상내에서 어디에 존재하는지를 예측한다. 전체 이미지대신 움직임 벡터를 사용하는 것이 MPEG 및 HDTV 표준에서의 일시적 압축의 주요 특징이다. 도 1에 도시된 바와 같이, 움직임 벡터가 일단 생성되면 이것을 사용하여 픽셀의 매크로블럭을 ith화상에서 i+1th화상으로 변환(translation)시킨다.
도 1에 도시된 바와 같이, 인코딩 프로세스시 ith화상 및 i+1th화상의 이미지가 인코더(11)에서 프로세싱되어 움직임 벡터를 생성한다. 움직임 벡터는 예를 들어 i+1th화상 및 후속 화상이 인코딩되어 전송되는 형태를 갖는다. 후속 화상의 입력 이미지 111X는 인코더내의 움직임 추정 유닛(43)으로 전송된다. 움직임 벡터(113)는 움직임 추정 유닛(43)의 출력으로서 형성된다. 움직임 보상 유닛(41)은 이들 벡터를 사용하여 이전 화상 및/또는 후속 화상으로부터 기준 데이타로 일컬어지는 매크로블럭 데이타를 검색한 다음 이를 출력한다. 움직임 보상 유닛(41)의 하나의 출력은 움직임 추정 유닛(43)으로부터의 출력과 네거티브로 합산되어, 이산 코사인 변환기(21)의 입력으로 제공된다. 이산 코사인 변환기(21)의 출력은 양자화기(Quantizer)(23)에서 양자화된다. 양자화기(23)의 출력은 2개의 출력(121, 131)으로 나누어져 있다. 양자화기(23)의 출력들 중 하나의 출력(121)은 전송전에 보다더 압축 및 프로세싱하기 위해 실행 길이 인코더(run length encoder)와 같은 스트림압축 엘리먼트(downstream element)(25)로 제공된다. 양자화기(23)의 다른 출력(131)은 프레임 메모리(42)에 저장되도록 인코딩된 매크로블럭의 픽셀로 재구성된다. 예시 목적을 위해 도시된 인코더에서, 제 2 출력(131)은 차분 매크로블럭의 유손실(lossy) 버전을 반환하기 위해 역 양자화기(inverse quantization)(29) 및 역 이산 코사인 변환기(31)를 통과한다. 이 데이타는 움직임 보상 유닛(41)의 출력과 가산된 다음 원래의 화상의 유손실 버전을 프레임 메모리(42)에 반환한다.
도 2를 참조하면, 3가지 유형의 화상이 도시되어 있다. 이들 유형의 화상들 중 인트라 화상(Intra pictures) 또는 I 화상들은 전체가 인코딩되어 전송되며, 움직임 벡터가 정의될 필요가 없다. 이들 I 화상은 움직임 백터의 소스로서 기능한다. 예측 화상(Predicted pictures) 또는 P 화상들은 움직임 벡터에 의해 이전 화상으로부터 형성되며, 후속 화상에 대한 움직임 벡터의 소스로서 기능한다. 마지막으로, 이들 유형의 화상들중 양방향 화상(Bidirectional pictures) 또는 B 화상은 움직임 벡터에 의해 다른 두 화상들, 즉, 이전 화상 및 후속 화상으로부터 형성되며, 움직임 벡터의 소스로서는 기능할 수 없다. 움직임 벡터는 I 화상 및 P 화상으로부터 발생되며, P 및 B 화상을 형성하는데 사용된다.
도 3에 도시된 바와 같이, 움직임 추정을 수행하는 하나의 방안은 이전 화상의 영역(region)을 통해 i+1th화상의 매크로블럭(211)을 탐색하여 최적으로 정합하는 매크로블럭(213)을 검출하는 방안이다(211'는 211과 동일한 위치를 갖지만 이전 화상임). 이러한 방안으로 매크로블럭을 변환하면, 도 4에 도시된 바와 같이 i+1th화상에 대한 매크로블럭의 패턴이 생성된다. 이러한 방식으로 i+1th화상을 생성하기 위해, ith화상은 예를 들어, 움직임 벡터 및 차분 데이타만큼 작은 양으로 변경된다. 인코딩되는 것은 움직임 벡터 및 차분 데이타이며, i+1th화상 자체가 인코딩되는 것은 아니다. 움직임 벡터는 이미지의 위치를 화상 사이에서 변환시키고, 차분 데이타는 색차, 휘도, 채도(saturation)상에서의 변화를 전송한다. 즉, 컬러(color) 및 휘도(brightener)의 변화가 전송된다.
도 3을 참조하면, 먼저 i+1th화상 211X과 동일한 ith화상의 위치에서 잘 정합하는 부분을 찾기 시작한다. ith화상에서 탐색 윈도우(search window)가 생성된다. 이 탐색 윈도우내에서 최적으로 정합하는 부분을 찾는다. 최적으로 정합하는 부분이 검출되면, 매크로블럭에 대한 최적의 정합 움직임 벡터가 코딩된다. 최적으로 정합하는 매크로블럭의 코딩에서는 y 방향의 픽셀 및 x 방향의 픽셀이 다음 화상에서 얼마만큼 변위되어 최적으로 정합하는지를 나타내는 움직임 벡터를 포함한다. 예측 에러(prediction error)로 또한 일컬어지는 차분 데이타가 또한 인코딩된다. 이러한 차분 데이타는 현재의 매크로블럭과 최적으로 정합하는 기준 매크로블럭간의 색차 및 휘도의 차이다.
도 4는 움직임 벡터에 따라 이전 화상의 블럭의 위치에서 새로운 화상으로 블럭이 이동하는 것과, 움직임 벡터를 사용한 후에 조정된 이전 화상의 블럭을 도시한 도면이다.
도 5 및 도 6에는 본 발명의 아키텍처의 개관도가 도시되어 있다. 도 5에는 두 단계의 계층적인 프로세서 구조가 사용되고, 도 6에는 두 레벨의 계층적인 탐색 방안이 사용된다.
현재 매크로블럭(CMB) 데이타 버스(205)는 현재 매크로블럭(CMB)의 휘도 데이타를 계층적인 탐색 유닛(201)과 정밀 탐색/재구성 유닛(221)에 제공하는데 사용된다. 이 버스는 CMB 휘도 및 색차 데이타를 정밀 탐색/재구성 유닛(221)에 또한 제공한다.
도시된 계층적인 탐색 유닛(201)은 통상적으로 다운샘플링된 CMB 데이타를 사용하여 탐색 동작을 수행하는데 사용된다. 사용자는 데이타가 수평으로 최대 4:1에서 (즉, 다운샘플링되지 않은) 최소 1:1까지 다운샘플링의 범위를 선택할 수 있다. 원하는 탐색 범위에 따라 사용되는 계층적인 탐색 유닛의 수는 스케일가능하다(1, 2 또는 4). 계층적인 탐색 유닛(201)은 계층적인 탐색 메모리로/로부터 I-프레임 및 P-프레임에 대한 휘도 탐색 데이타를 저장 및 인출(fetch)한다. 계층적인 탐색 메모리(211)의 크기는 화상 데이타가 다운샘플링되는 정도에 의존한다. 저장된 휘도 탐색 데이타가 사용자에 의해 선택되면, 이 휘도 탐색 데이타는 이 경우 샘플링압되어 입력된 현재 매크로블럭(CMB) 데이타와 동일하다. 탐색이 완료되면, 계층적인 탐색 유닛(201)은 현재 매크로블럭(CMB)의 위치에 대한 최소 절대 차분값과 이에 대응하는 오프셋을 기초로 하여 주어진 현재 매크로블럭(CMB)에 대해 최적으로 정합하는 탐색 결과를 최적으로 정합하는 차분값/오프셋 버스상으로 출력한다. 전술한 설명은 휘도에 관한 것이지만 색차 및/또는 휘도와 색차 데이타에도 또한 적용될 수 있다.
도 5, 도 6 및 도 8에 도시된 정밀 탐색/재구성 유닛(221)은 IP 인코딩에 대해 독립적인 환경(즉, 계층적인 탐색 유닛이 제공되지 않음)으로 동작하거나 혹은 IPB 인코딩하기 위해 제공된 계층적인 탐색 유닛을 이용하여 동작할 수 있다. 이러한 유닛(221)은 다운샘플링되지 않은 현재의 매크로블럭(CMB)의 휘도 데이타를 사용하여 정밀 탐색 메모리에 포함된 재구성된 이전 및/또는 차후의 I-프레임 데이타 및 P-프레임 데이타를 탐색한다. 전술한 탐색이 완료되면, 정밀 탐색/재구성 유닛(221)은 인트라 현재 매크로블럭(CMB)의 휘도 및 색차 픽셀 데이타 또는, 비-인트라 현재 매크로블럭(CMB)의 휘도 및 색차 픽셀과 최적으로 정합하는 정밀 매크로블럭(RMB)의 휘도 및 색차 픽셀을 감산한 결과의 차분 데이타중 어느 하나를 DIFF/QXFRM 데이타 버스(231)상에 출력한다. 한편, 비-인트라 차분 데이타가 출력되면, 현재의 매크로블럭(CMB)의 위치에 대해 최적으로 정합하는 기준 매크로블럭(RMB)의 위치에 대응하는 움직임 벡터가 움직임 벡터(MV) 버스(241)상으로 출력된다.
출력된 인트라 데이타 또는 비-인트라 차분 데이타상에서 이산 코사인 변환(DCT) 및 양자화가 완료되면, 정밀 탐색/재구성 유닛(221)이 I-프레임 데이타 및 P-프레임 데이타를 적절하게 재구성해서 이를 정밀 탐색 메모리(229)로 출력할 수 있도록 하기 위해 변환된 휘도 및 색차 블럭이 DIFF/QXFRM 데이타 버스(231)를 거쳐 정밀 탐색/재구성 유닛(221)으로 입력된다. 실시간 인코딩 환경에 대한 성능 요건을 충족시키기 위해 각각의 유닛내에서는 포괄적인 파이프라이닝(extensive pipelining)이 사용된다.
움직임 추정 아키텍처에 의해 채택된 전체 탐색 방안은 도 6 및 도 8에 도시된 바와 같이 파이프라인형 구성 요소(pipelined components)로 세분된다.
도 6 및 도 8에 도시된 바와 같이, 계층적인 탐색 유닛(201)은 전형적으로 다운샘플링된(평균된) 전체 픽셀값을 사용하여 탐색을 수행한다. 이전 및/또는 차후의 I-프레임 및 P-프레임으로부터의 재구성되지 않은 현재의 매크로블럭(CMB) 데이타를 사용하여 다운샘플링된 최적으로 정합하는 부분이 결정되면, 정밀 탐색 유닛(221)은 다운샘플링된 최적으로 정합하는 오프셋 근처의 재구성된 정밀 탐색 데이타를 사용하여 다운샘플링되지 않은 전체 픽셀을 탐색한다. 최적의 다운샘플링되지 않은 전체 픽셀 정합이 결정된 이후에는 최적의 다운샘플링되지 않은 전체 픽셀 정합의 위치를 기초로 한 재구성된 정밀 데이타를 사용하여 1/2 픽셀 및 선택사양적인 듀얼 프라임(DP) 정밀 탐색이 수행된다. 매크로블럭이 인트라 또는 비-인트라로 제각기 코딩되면, 최소 절대 차분값으로 결정된 바와 같이 최적의 정합 움직임 추정 결과를 기초로 해서, 원래의 현재 매크로블럭(CMB) 또는 최적의 정합 차분 매크로블럭의 휘도 및 색차 데이타가 출력된다. 3가지 차분 비-인트라의 결과는 다음과 같은 값을 가질 수 있다.
CMB-RMB 전체 픽셀의 최적의 정합
CMB-RMB 1/2 픽셀의 최적의 정합
CMB-RMB 듀얼 프라임의 최적의 정합
도 5 및 도 6에는 계층적인 탐색 유닛(201)이 도시되어 있다. 이 유닛(201)에 대한 데이타 흐름도는 도 7에 도시되어 있다. 도면에 도시된 바와 같이, 현재의 매크로블럭(CMB)의 휘도 데이타는 휘도 버퍼(207)에 저장된다. 데이타의 다운샘플링은 이때 발생된다. 사용자에게 탐색 범위 및 탐색 메모리의 크기에 대해 가능한 많은 융통성을 제공하기 위해 다음과 같은 다운샘플링 옵션이 사용될 수 있다.
4:1 옵션은 행내의 4개의 연속적인 모든 픽셀값을 평균함으로써 MB의 각각의 픽셀 행에 대해 4개의 픽셀을 저장한다. 이 옵션은 단위당 최대 탐색 윈도우(수평으로 +/-64 , 수직으로 +/-56)를 제공하며, 최소 크기의 탐색 메모리(2개의 탐색 기준 프레임에 대해 0.5MB)를 필요로 한다.
2:1 옵션은 행내의 두개의 연속적인 모든 픽셀 행값을 평균함으로써 MB의 각각의 픽셀 행에 대해 8개의 픽셀을 저장한다. 이 옵션은 단위당 두번째 큰 탐색 윈도우(수평으로 +/-32, 수직으로 +/-32)를 제공하며, 두번째 큰 탐색 메모리(두개의 탐색 기준 프레임에 대해 0.5MB)를 필요로 한다.
1:1 옵션은 각각의 픽셀 행에 대해 (다운샘플링되지 않은) 16개의 픽셀을 저장한다. 이 옵션은 단위당 최소 탐색 윈도우(수평으로 +/-16, 수직으로 +/-16)를 제공하며, 최대 크기의 탐색 메모리(두개의 탐색 기준 프레임에 대해 1MB)를 필요로 한다.
도 7에 도시된 바와 같이, 다운샘플링된 형태 또는 다운샘플링되지 않은 형태의 CMB 데이타가 휘도 버퍼(207)로부터 출력되어 4개의 필드 탐색 유닛(301, 303, 305, 307)에 제공된다. I-화상 및 P-화상에 대해 현재의 매크로블럭(CMB) 데이타는 탐색 데이타 버스를 통해 계층적인 탐색 메모리로 또한 출력된다. MPEG-2 표준에서는 B-화상이 기준 프레임으로서 동작할 수 없으므로, 현재의 매크로블럭(CMB) 블럭 데이타는 B-화상에 대해 계층적인 탐색 메모리로 출력되지 않음에 유의하여야 한다. 또한, 탐색 윈도우내에 포함된 모든 매크로블럭에 대한 탐색 메모리의 데이타가 4개의 필드 탐색 유닛으로 입력된다. 하나의 계층적인 탐색 유닛만이 사용되면, 탐색 데이타를 인출하여 탐색 윈도우 중심에 있는 탐색 매크로블럭(SMB)이 탐색 동작을 수행하는 CMB와 동일한 위치에 위치되도록 한다. 2개 또는 4개의 계층적인 탐색 유닛이 사용되면, 탐색 데이타를 인출하여 모든 유닛들 가운데 조합된 탐색 윈도우의 중심에 있는 탐색 매크로블럭(SMB)이 CMB위치로부터 이전 화상의 평균 움직임 벡터의 오프셋 위치에 위치되도록 한다.
도 7에 도시된 바와 같이 필드 탐색은 계층적인 탐색 유닛에서 행해진다. f1/f1 필드 탐색 유닛(301)은 현재의 매크로블럭(CMB)의 기수 라인 대 탐색 데이타의 기수 라인으로 탐색을 처리한다. f2/f2 필드 탐색 유닛(303)은 현재의 매크로블럭(CMB)의 우수 라인 대 탐색 데이타의 우수 라인으로 탐색을 처리한다. f1/f2 필드 탐색 유닛(305)은 현재의 매크로블럭(CMB)의 기수 라인 대 탐색 데이타의 우수 라인으로 탐색을 처리한다. f2/f1 필드 탐색 유닛(307)은 현재의 매크로블럭(CMB)의 우수 라인 대 탐색 데이타의 기수 라인으로 탐색을 처리한다.
이들 유닛에 의해 출력된 각각의 차분값에 대해, 두개의 부가적인 프레임 탐색 결과는 f1/f2 및 f2/f2 필드 탐색 결과와, f1/f2 및 f2/f1 필드 탐색 결과를 조합함으로써 발생된다. 각각의 결과는 최적의 정합 결과 선택 유닛(311)으로 입력된다. 이 유닛(311)에 의해 수행되는 제 1 단계에서는 베이스 가중치(base weight)로 일컬어지는 가중 계수를 각각의 결과에 가산한다. 베이스 가중치는 이전 화상의 평균 움직임에 대한 탐색 매크로블럭(SMB)의 오프셋 위치에 따라 변한다. 이전 화상의 평균 움직임 벡터의 오프셋에 대해 주어진 탐색 매크로블럭(SMB)이 현재 매크로블럭(CMB)의 위치로부터 멀어질 수록 탐색 위치의 결과에 가산되는 베이스 가중치는 더욱 커진다. 따라서, 이러한 탐색은 SMB의 위치가 이전 화상의 평균 움직임 궤적(trajectory)에 가장 근접하여 이동(follow)되는 것이 바람직하다.
이러한 유닛에 의해 최적의 정합 차분값/오프셋 버스상으로 출력되는 결과의 수는 탐색되는 화상의 포맷에 따른다. (순차적인(progressive)) 프레임 형태의 탐색에서는 5개의 결과(4개의 최적의 정합 필드 탐색 결과(f1/f1, f2/f2, f1/f2, f2/f1)와, 한개의 최적의 CMB 프레임 탐색 결과(f1/f1+f2/f2의 차분값 및 f1/f2+f2/f1의 차분값의 최소값))가 출력된다. (인터레이스) 필드 포맷의 탐색에서는 두개의 결과(최적의 현재의 매크로블럭(CMB)의 동일 패리티(same parity)의 프레임 탐색(최소 f1/f1+f2/f2 차분값)과, 최적의 CMB의 역 패리티(opposite parity)의 프레임 탐색(최소 f1/f2+f2/f1 차분값))이 출력된다.
또한, B-화상에 대한 탐색이 수행되면, 이들 결과중 두개의 세트가 발생된다(이들 세트중 하나는 이전의 기준 탐색에 대한 세트이고, 나머지 하나는 차후의 기준 탐색에 대한 세트이다). 최소 절대 차분값과 함께, 최소값을 발생한 SMB의 오프셋 위치가 출력된다.
전술한 바와 같이, 탐색 윈도우의 크기를 증가시키기 위해 다수의 계층적인 탐색 유닛이 사용될 수 있다. 2개의 계층적인 탐색 유닛이 사용되면, 수평으로 +/-128, 수직으로+/-56 또는 수평으로 +/-64, 수직으로 +/-112인 최대 탐색 윈도우의 크기가 0.5MB의 탐색 메모리를 사용함으로써 정의될 수 있다. 다수의 계층적인 탐색 유닛의 구성에서, 최적의 정합 차분값/오프셋 결과는 데이타 체인 방식(daisy-chain fashion)에 의해 한쪽 유닛에서 다른쪽 유닛으로 제공된다. 이와 같은 구성에서, 데이지 체인의 끝부분의 제 1 전송 유닛은 절대 차분값 및 오프셋 결과를 제 1 수신 유닛으로 제공한다. 제 1 수신 유닛은 제 1 전송 유닛으로부터 수신된 절대 차분값에 자신의탐색 결과를 비교하고, 최소 절대 차분값과 오프셋 결과를 제 2 수신 유닛으로 전송한다. 이러한 프로세스는 데이지 체인내의 최종 수신기가 마지막 최소 절대 차분값 및 오프셋 결과를 정밀 탐색/재구성 유닛으로 제공할 때까지 계속된다.
도 5, 도 6 및 도 8에는 정밀 탐색/재구성 유닛(221)이 도시되어 있다. 이 유닛에 대한 데이타 흐름은 도 8을 지정하여 예시될 것이다. 도면에 도시된 바와 같이, 현재의 매크로블럭(CMB)의 휘도 및 색차 데이타는 CMB 데이타 버스(205)로부터 수신되어 휘도/색차 버퍼(207)에 저장된다. 휘도 데이타는 전술한 계층적인 탐색 유닛에 의해 수신된 것과 동일하다. 움직임 추정 프로세스를 최적으로 파이프라이닝하기 위해, 버퍼는 2개의 MB에 대한 휘도 데이타를 보유하고 하나의 MB에 대한 색차 데이타를 보유하도록 설계된다.
제 1 움직임 추정 정밀 단계는 전체 해상도(FR) 유닛(321)에서 수행된다. 이 유닛(321)은 휘도/색차 버퍼(207)로부터 현재의 매크로블록(CMB)의 휘도 데이타를 인출하고, 정밀 탐색 메모리(229)로부터 메모리 제어기(memory controller: MC) 유닛(301)을 통해 제공된 전체 픽셀 정밀 탐색 윈도우내에 포함된 기준 매크로블럭(RMB)의 휘도 데이타를 인출한다. 정밀 데이타를 인출하기 위해 전체 해상도(FR) 유닛(321)이 필요로 하는 제어 정보(어드레스 및 인출 사이즈)는 계층적이거나 혹은 비-계층적인(즉, 계층적이지 않은 탐색 유닛) 탐색이 수행되는지에 따라 움직임 추정 프로세싱 유닛(motion estimation processing unit: MEPROC)(331)에 의해 설정된다. 비-계층적인 탐색 모드로 동작하면, 움직임 추정 프로세싱 유닛(MEPROC)(331)은 전체 픽셀 정밀 탐색의 중심을 현재의 매크로블럭(CMB)의 위치에 맞춘다. 계층적인 탐색 모드로 동작하면, 움직임 추정 프로세싱 유닛(MEPROC)(331)은 최적의 정합 차분/오프셋 버스(330)을 통해 수신된 계층적인 탐색 유닛의 결과를 사용하여 전체 픽셀 정밀 탐색의 중심을 오프셋 위치에 맞춘다. 실시간 성능 요건을 충족하도록, 수행되는 탐색의 회수 및 형태와 탐색 윈도우의 크기는 (계층적이거나 혹은 비-계층적인) 탐색 모드, 화상의 구조 및 형태, 사용자에 의해 선택된 움직임 추정 옵션에 따라 변경된다. 표 1은 이러한 정보를 요약한 것이다. 사용자가 선택할 수 있는 에러 은폐 움직임 벡터(error concealment motion vectors)를 발생하여 이를 압축된 비트스트림(compressed bitstream)에 삽입하도록 하는 움직임 추정 탐색은 I-화상에 대해 수행됨에 유의하여야 한다.
표 1에서, Hier는 계층적인 탐색 모드를 지칭하고, Non-Hier는 비-계층적인 탐색 모드를 지칭하고, DP는 듀얼 프라임 움직임 추정을 지칭하고, xRef는 1(역 패리티) 또는 2(동일한 패리티 및 역 패리티)의 기준 필드가 탐색을 위해 지정됨을 나타내는 것이고, OP는 현재의 매크로블럭(CMB)의 패리티에 대해 반대 패리티의 기준 매크로블럭(RMB) 필드 데이타를 지칭하고, SP는 현재의 매크로블럭(CMB)의 패리티에 대해 동일 패리티의 기준 매크로블럭(RMB)의 필드 데이타를 지칭하고, (PR)은 정밀 탐색 메모리에 저장된 이전의 정밀 탐색 데이타를 지칭하고, (FR)은 정밀 탐색 메모리에 저장된 차후의 정밀 탐색 데이타를 지칭하고, (BR)은 정밀 탐색 메모리에 저장된 이전의 정밀 탐색 데이타와 차후의 정밀 탐색 데이타 상이의 양방향 보간(평균)을 지칭하고, f1/f1은 현재의 매크로블럭(CMB)의 기수 필드 라인을 탐색하는데 사용되는 기수 라인 정밀 데이타를 지칭하고, f1/f2는 현재의 매크로블럭(CMB)의 기수 필드 라인을 탐색하는데 사용되는 우수 라인 정밀 데이타를 지칭하고, f2/f1은 현재의 매크로블럭(CMB)의 우수 필드 라인을 탐색하는데 사용되는 기수 라인 정밀 데이타를 지칭하고, f2/f2는 현재의 매크로블럭(CMB)의 우수 필드 라인을 탐색하는데 사용되는 우수 라인 정밀 데이타를 지칭하고, f1/fx는 발생된 f1/f1 또는 f1/f2의 계층적인 탐색 유닛 결과중 제각기 더욱 양호한 정합을 발생한 결과를 기초로 하여 현재의 매크로블럭(CMB)의 기수 필드 라인을 탐색하는데 사용되는 기수 또는 우수 라인 정밀 데이타중 어느 하나를 지칭하고, f2/fx는 발생된 f2/f1 또는 f2/f2의 계층적인 탐색 유닛 결과중 더욱 양호한 정합을 발생한 결과를 기초로 하여 현재의 매크로블럭(CMB)의 우수 필드 라인을 탐색하는데 사용되는 기수 또는 우수 라인 정밀 데이타중 어느 하나를 지칭한다. 각각의 탐색 위치에 대한 절대 차분값이 결정되면, 계층적인 탐색 유닛에 대해 기술된 바와 같은 방식으로 베이스 가중치 계수가 각각의 결과에 가산된다. 수행된 각각의 형태의 탐색에 대해 마지막으로 최적으로 정합된 결과는 최소 절대 차분값과 베이스 가중치를 가산함으로써 결정된다.
탐색 동작이 완료되면, FR 유닛은 1/2 픽셀 MB 탐색을 8번까지 수행하기 위해 각각의 최적으로 정합하는 RMB 주위의 정밀 데이타와 함께 CMB 데이타를 출력한다. 인터레이스 화상의 경우에는 하나(OP 필드) 또는 두개(SP 필드, OP 필드)의 최적의 정합 기준 매크로블럭(RMB) 탐색 영역들 중 어느 하나가 출력되지만, 순차적인 화상의 경우에는 두개의 필드의 최적의 정합 기준 매크로블럭(RMB) 탐색 영역(최적의 CMB f1 정합, 최적의 CMB f2 정합) 및 하나의 최적의 정합 기준 매크로블럭(RMB)의 프레임 탐색 영역이 출력된다. 각각의 기준 매크로블럭(RMB)의 최적의 정합 픽셀값은 양방향 기준 매크로블럭(RMB)의 데이타가 B-화상에서 최적으로 정합할 때 11-비트 바이트로 표시되기 때문에, 최적의 정합 기준 매크로블럭(RMB)의 탐색 영역의 데이타를 전송하기 위해서는 44 비트 버스가 사용됨에 유의하여야 한다(이에 관한 설명은 본 명세서에서 참조로 인용되는 미국 특허 출원 제 08/411,100 호 및 미국 특허 출원 제 08/602,472 호에 개시됨). 또한, 각각의 최적의 정합 RMB의 탐색 영역에 대해 최적으로 정합하는 절대 차분값 및 오프셋 결과는 MEPROC 유닛으로 출력된다.
1/2 해상도(HR) 유닛(323)에서는 제 2 움직임 추정 정밀 단계가 수행된다. 이 유닛(323)은 전체 해상도(FR) 유닛(321)에 의해 결정된 바와 같이, 최적으로 정합하는 전체 픽셀의 기준 매크로블럭(RMB) 주위의 1/2 픽셀 기준 매크로블럭(RMB)을 8번까지 정밀 탐색한다. 특정한 탐색 동작에 대해 최적으로 정합하는 1/2 픽셀 기준 매크로블럭(RMB)의 위치(즉, 최소의 절대 차분값을 발생한 위치)가 결정되면, 최적으로 정합하는 절대 차분값과 이에 대응하는 1/2 픽셀 오프셋이 움직임 추정 프로세서 유닛(MEPROC) 유닛(331)으로 출력된다. 그러면, 움직임 추정 프로세서(MEPROC) 유닛(331)은 전체 해상도(FR) 유닛(321)과 1/2 해상도(HR) 유닛(323)으로부터 수신된 최적으로 정합하는 절대 차분값을 비교하고, 1/2 해상도(HR) 유닛(323)에게 명령하여 수행된 각각의 탐색 동작에 대해 최소 절대 차분값을 발생한 기준 매크로블럭(RMB)의 전체 또는 1/2 픽셀 휘도 데이타를 출력하도록 한다. 1/2 해상도 유닛(HR 유닛)은 이 데이타와 이에 대응하는 현재의 매크로블럭(CMB)의 데이타를 듀얼 프라임 유닛(DP 유닛)으로 출력한다.
듀얼 프라임(DP) 유닛(325)에서는 또다른 움직임 추정 정밀 단계가 수행된다. 이 유닛(325)은 전체 해상도(FR) 또는 1/2해상도(HR) 유닛(323)으로부터의 현재의 매크로블럭(CMB) 및 기준 매크로블럭(RMB) 데이타를 사용해서 듀얼 프라임 정밀을 수행하도록 구성될 수 있다. 또한, 인터레이스 (필드) 화상의 경우, 유닛(325)은 두개의 기준 필드가 제공될 때 동일 패리티 또는 극 패리티 기준 매크로블럭(RMB)중 어느 하나를 사용하도록 구성될 수 있다. 전체 해상도 유닛(FR 유닛)(321)의 현재의 매크로블럭(CMB) 및 기준 매크로블럭(RMB)의 데이타를 사용하여 듀얼 프라임 움직임 추정을 수행하는 디폴트 모드(default mode)를 사용하면 두개의 이점이 제공된다.
첫째, 성능이 최적화되는데, 그 이유는 1/2 해상도(HR) 유닛(323) 및 듀얼 프라임(DP) 유닛(325)의 탐색 동작이 병렬로 발생되기 때문이다.
둘째, 순차적인(프레임) 화상에 대해, 1/2 해상도(HR) 기준 매크로블럭(RMB)의 프레임을 최적으로 정합할 때 극 패리티 필드들간에 수직 보간을 포함하는 무효한 경우가 제거된다. 이로 인해, 주어진 현재 매크로블럭(CMB)에 대해 유효한 듀얼 프라임 정밀이 33%에서 100%까지 수행될 가능성이 증가된다.
계층적인 탐색 유닛, 전체 해상도 유닛(FR 유닛)(321) 및 1/2 해상도 유닛(HR 유닛)(323)으로부터 수신된 오프셋 정보(이 정보가 듀얼 프라임 정밀에 대한 데이터가 DP 유닛(325)에 제공되도록 선택되는 경우)를 기초로 하여, 움직임 추정 프로세서(MEPROC)(331)는 듀얼 프라임 기준 매크로블럭(RMB)를 가리키는 움직임 벡터를 발생(formulate)한다. 이어서, 움직임 추정 프로세서(MEPROC)(331)는 적절한 움직임 벡터의 스케일링 동작을 수행하고, 스케일링된 벡터(들)를 적절한 정밀 탐색 메모리 위치로 변경하여 듀얼 프라임 움직임 추정을 수행하는데 사용되는 부가적인 휘도 정밀 탐색 데이타가 인출되도록 한다. 듀얼 프라임의 최적의 정합이 결정되면, 대응하는 절대 차분값 및 오프셋은 움직임 추정 프로세서(MEPROC) 유닛(331)으로 출력된다. 그후, 움직임 추정 프로세서(MEPROC) 유닛(331)은 다음과 같은 화상 구조에 따라 최적의 정합을 모두 발생한 3가지 결과들 중 하나를 결정한다.
순차적인 화상 구조 ―
최적의 정합 프레임의 기준 매크로블럭(RMB),
최적의 정합 조합된 f1 및 f2 필드의 기준 매크로블럭(RMB),
최적의 정합 듀얼 프라임의 기준 매크로블럭(RMB).
인터레이스 화상 구조 ―
최적의 정합의 극 패리티 필드의 기준 매크로블럭(RMB),
최적의 정합의 동일 패리티 필드의 기준 매크로블럭(RMB),
최적의 정합 듀얼 프라임의 기준 매크로블럭(RMB).
움직임 추정 프로세서(MEPROC)(331)는 듀얼 프라임(DP) 유닛(325)에게 기준 매크로블럭(RMB)의 결과를 FD 유닛(327)에 출력하도록 명령한다. 이때, 정밀 움직임 추정 단계는 완료 상태이다.
매크로블럭(MB)의 재구성 단계를 개시하는 다음 유닛은 FD 유닛(327)이다. 이 유닛(327)은 듀얼 프라임(DP) 유닛(325)으로부터 현재의 매크로블럭(CMB) 및 최적의 정합 기준 매크로블럭(RMB)의 휘도 데이타를 수신하고, 휘도/색차 버퍼(207)로부터 대응하는 현재의 매크로블럭(CMB)의 색차 데이타를 인출하고, 비-인트라 코딩된 매크로블럭에 대한 정밀 탐색 메모리(229)로부터 기준 매크로블럭(RMB)의 색차 데이타를 인출한다. 움직임 추정 프로세서(MEPROC)(331)로부터 수신된 현재의 매크로블럭(CMB)이 인트라 또는 비-인트라로 코딩되는지를 나타내는 정보를 기초로 하여, 이 유닛(327)은 휘도 및 색차 데이타를 다른 방식으로 프로세싱할 수 있다. 인트라로 결정되면(움직임이 없으면), FD 유닛은 현재의 매크로블럭(CMB)의 휘도 및 색차 데이타를 DIFF/QXFRM 데이타 버스(332)에 직접 제공하고, 기준 매크로블럭(RMB)의 모든 '00'의 휘도 및 색차 데이타를 움직임 조정(motion adjust: MA) 유닛(329)으로 제공한다. 비-인트라가 결정되면(움직임이 있으면), 움직임 추정 프로세서(MEPROC) 유닛(331)은 FD 유닛(327)내의 정밀 탐색 메모리 포인터를 초기화해서 요구된 정밀 매크로블럭(RMB)의 색차 데이타를 인출한 뒤 CMB-RMB 색차 차분값이 계산될 수 있도록 한다. FD 유닛(327)은 DIFF/QXFRM 데이타 버스(332)를 적절하게 조정하는 기능을 갖고 있음에 유의하여야 한다. 이것은 이 유닛(327)에 의해 전송된 휘도(또는 색차) 데이타가 다음 색차(또는 휘도) 데이타가 전송되기 전에 역 양자화기(IQ) 유닛(333)에 모두 반환되도록 함으로써 달성된다. FD 유닛(327)에 의해 출력된 데이타는 비-인트라 매크로블럭에 대한 움직임 추정 프로세서(MEPROC) 유닛(331)에 의해 움직임 벡터로 부가적으로 태그(tag)된다. 움직임 벡터 데이타는 움직임 추정 프로세서(MEPROC) 유닛(331)에 의해 움직임 벡터 버스(MV 버스)로 출력된다.
이산 코사인 변환(DCT) 및 양자화 변환이 FD 유닛(327)에 의해 출력된 데이타에 적용되면, 이 데이타는 변환 및 양자화된 데이타를 재구성(디코딩)하기 위해 역 양자화기(IQ) 유닛(338)에 블럭 형태로 반환된다. IQ 유닛(338) 및 ID(역 DCT) 유닛(335)은 MPEG-2에 의해 지정된 역 양자화 및 역 인산 코사인 변환 기능을 수행한다. 그 결과, 외부 MPEG-2 디코더가 매크로블럭을 압축해제하는 방법에 정확하게 대응하고, FD 유닛(327)에 의해 출력되는 손실된 원래의 휘도 및 색차 MB 데이타가 획득된다. 이러한 손실된 휘도 및 색차 매크로블럭 데이타는 움직임 조정(MA) 유닛(329)으로 전송되며, 움직임 조정 유닛(329)은 이 데이타를 이전에 FD 유닛(327)으로부터 수신된 기준 매크로블럭(RNB) 데이타와 가산한다. 그후, 가산된 휘도 및 색차 매크로블럭 데이타는 프로세싱되는 모든 I-화상 및 P-화상을 위해 메모리 제어기(MA) 유닛(301)을 거쳐 정밀 탐색 메모리(229)로 출력된다.
본 발명은 소정의 바람직한 실시예들로 기술되었지만, 본 발명의 영역을 이들 실시예로 제한하고자 의도된 것은 아니며 다만 첨부된 특허 청구범위로 정의되어짐을 이해하여야 한다.
따라서, 본 발명은 움직임 추정 데이타 흐름을 제공해서 실시간 인코딩 요건을 충족시키기 위해 연산을 극대화하고 칩의 크기가 최소화되도록 하는 이점을 제공한다. 본 발명의 움직임 추정 데이타 시스템을 스케일가능하게 하여 시스템의 비용이 줄어드는 이점을 제공한다.

Claims (17)

  1. 디지탈 비디오 데이타 스트림(a digital video data stream)을 일시적으로 압축하는 방법에 있어서,
    적어도 하나의 탐색 유닛(at least one search unit)에서 기준 화상(a reference picture)의 픽셀을 계층적으로 탐색하여 현재의 매크로블럭(current macroblock)에 대응하는 최적의 정합 매크로블럭(a best match macroblock)을 검출하는 단계와,
    상기 최적의 정합 매크로블럭과 상기 현재의 매크로블럭 사이에 움직임 벡터(a motion vector)를 구성(construct)하는 단계를 포함하는
    디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  2. 제 1 항에 있어서,
    다수의 탐색 유닛에서 다수의 계층적인 탐색(mutiple hierarchical searches)을 수행하여 탐색 윈도우 크기(search window size)를 증가시키는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  3. 제 2 항에 있어서,
    데이지 체인 방식(daisy chin fashion)으로 최적의 정합 매크로블럭의 차분값(difference) 및 오프셋(offsets)을 하나의 탐색 유닛으로부터 다음 탐색 유닛으로 제공하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  4. 제 3 항에 있어서,
    최적의 정합 매크로블럭의 최소 절대 차분값 및 오프셋을 마지막 계층적인 탐색 유닛으로부터 정밀 탐색 및 재구성 유닛(a refinement search and reconstruction unit)으로 제공하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  5. 디지탈 비디오 데이타 스트림을 일시적으로 압축하는 방법에 있어서,
    다운샘플링된 전체 픽셀값(downsampled full pixel values)을 사용해서 기준 화상내의 픽셀을 탐색하여 현재의 매크로블럭에 대응하는 최적의 정합 매크로블럭을 검출하는 단계와,
    상기 최적의 정합 매크로블럭과 상기 현재의 매크로블럭 사이에 움직임 벡터를 구성하는 단계를 포함하는
    디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  6. 제 5 항에 있어서,
    전체 탐색(a full search), 2:1로 다운샘플링된 탐색(a 2:1 downsampled search) 또는 4:1로 다운샘플링된 탐색(a 4:1 downsampled search)으로 탐색을 수행하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  7. 제 5 항에 있어서,
    후속 화상은 인트라 코딩되고(intra coded), 상기 출력은 원래의 현재 매크로블럭(the original current macroblock)인 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  8. 제 5 항에 있어서,
    상기 후속 화상은 양방향으로 코딩되거나(bidirectionally coded) 혹은 예측 코딩되고(prediction coded), 상기 출력은 최적 정합의 차분 매크로블럭인 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  9. 제 5 항에 있어서,
    재구성되지 않은 기준 매크로블럭 데이타(nonreconstructed reference macroblock data)를 사용하여 최적의 정합 매크로블럭을 탐색하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  10. 제 9 항에 있어서,
    상기 다운샘플링된 정합의 오프셋 주위의 재구성된 정밀 탐색 데이타(reconstructed refinement search data)를 이용하여 샘플링되지 않은 전체 픽셀 탐색을 수행하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  11. 제 10 항에 있어서,
    최적의 정합의 샘플링되지 않은 전체 픽셀의 최적의 정합 매크로블럭의 위치를 기초로 하는 재구성된 정밀 데이타를 사용하여 1/2 픽셀 탐색(a half pixel search)을 수행하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  12. 제 11 항에 있어서,
    듀얼 프라임 탐색(a dual prime search)을 수행하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  13. 디지탈 비디오 데이타 스트림을 일시적으로 압축하는 방법에 있어서,
    우수/우수, 기수/기수, 우수/기수 및 기수/우수 필드 탐색 유닛의 입력을 이용해서 기준 화상 필드(a reference picture field)내의 픽셀을 필드 탐색하여 현재 매크로블럭에 대응하는 최적의 정합 매크로블럭을 검출하는 단계와,
    상기 최적의 정합 매크로블럭과 상기 현재 매크로블럭 사이에 움직임 벡터를 구성하는 단계를 포함하는
    디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  14. 제 13 항에 있어서,
    최적의 필드 탐색을 보간(interpolation)함으로써 탐색을 수행하는 단계를 포함하는 디지탈 비디오 데이타 스트림의 일시적인 압축 방법.
  15. 디지탈 비디오 움직임 추정(digital video motion estimation)을 위한 탐색 프로세서(a search processor)에 있어서,
    계층적인 탐색 유닛(a hierachical search unit)과,
    이와 직렬로 배치된 정밀 탐색 유닛(a refinement search unit)을 포함하는
    탐색 프로세서.
  16. 제 15 항에 있어서,
    상기 계층적인 탐색 유닛은 다운샘플링된 전체 픽셀 탐색 수단(downsampled full pixel search means)을 포함하는 탐색 프로세서.
  17. 제 15 항에 있어서,
    상기 정밀 탐색 유닛은 전체 픽셀 탐색 수단(full pixel search means)과, 1/2 픽셀 탐색 수단(half pixel search means)과, 듀얼 프라임 탐색 수단(dual prime search means)을 포함하고, 상기 전체 픽셀 탐색 수단은 상기 1/2 픽셀 탐색 수단 및 상기 듀얼 프라임 탐색 수단과 직렬로 배치되고, 상기 1/2 픽셀 탐색 수단은 상기 듀얼 프라임 탐색 수단과 직렬로 배치되는 탐색 프로세서.
KR1019970048684A 1996-11-07 1997-09-25 디지탈비디오데이타스트림의시간적인압축방법및탐색프로세서 KR100294999B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/745,584 1996-11-07
US08/745,584 US6549575B1 (en) 1996-11-07 1996-11-07 Efficient, flexible motion estimation architecture for real time MPEG2 compliant encoding
US8/745,584 1996-11-07

Publications (2)

Publication Number Publication Date
KR19980041898A true KR19980041898A (ko) 1998-08-17
KR100294999B1 KR100294999B1 (ko) 2001-11-14

Family

ID=24997330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970048684A KR100294999B1 (ko) 1996-11-07 1997-09-25 디지탈비디오데이타스트림의시간적인압축방법및탐색프로세서

Country Status (5)

Country Link
US (1) US6549575B1 (ko)
JP (1) JPH10150666A (ko)
KR (1) KR100294999B1 (ko)
CN (1) CN1196340C (ko)
TW (1) TW339495B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000014769A (ko) * 1998-08-22 2000-03-15 구자홍 동영상 부호화기의 움직임 추정방법
KR100699821B1 (ko) * 2002-07-22 2007-03-27 삼성전자주식회사 가변 탐색창을 이용한 고속 움직임 추정방법

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US20040119829A1 (en) 1997-07-15 2004-06-24 Silverbrook Research Pty Ltd Printhead assembly for a print on demand digital camera system
IL122299A (en) * 1997-11-25 2003-11-23 Broadcom Corp Video encoding device
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
US6968009B1 (en) * 1999-11-12 2005-11-22 Stmicroelectronics, Inc. System and method of finding motion vectors in MPEG-2 video using motion estimation algorithm which employs scaled frames
KR100677082B1 (ko) * 2000-01-27 2007-02-01 삼성전자주식회사 움직임 추정기
KR100727910B1 (ko) * 2000-10-11 2007-06-13 삼성전자주식회사 하이브리드형 고속 움직임 추정 방법 및 그 장치
KR100407691B1 (ko) * 2000-12-21 2003-12-01 한국전자통신연구원 계층탐색을 이용한 움직임 추정장치 및 방법
US20020136302A1 (en) * 2001-03-21 2002-09-26 Naiqian Lu Cascade window searching method and apparatus
US7694224B2 (en) * 2001-05-31 2010-04-06 International Business Machines Corporation Location predicative restoration of compressed images stored on a hard disk drive with soft and hard errors
US20030059089A1 (en) * 2001-09-25 2003-03-27 Quinlan James E. Block matching at the fractional pixel level for motion estimation
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
WO2004012460A1 (ja) * 2002-07-29 2004-02-05 Matsushita Electric Industrial Co., Ltd. 動きベクトル検出装置及び動きベクトル検出方法
JP4841101B2 (ja) * 2002-12-02 2011-12-21 ソニー株式会社 動き予測補償方法及び動き予測補償装置
KR20060109247A (ko) * 2005-04-13 2006-10-19 엘지전자 주식회사 베이스 레이어 픽처를 이용하는 영상신호의 엔코딩/디코딩방법 및 장치
US8761252B2 (en) 2003-03-27 2014-06-24 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
KR20060105408A (ko) * 2005-04-01 2006-10-11 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
FR2866737B1 (fr) * 2004-02-25 2006-11-17 Nextream France Dispositif et procede de pre-traitement avant codage d'une sequence d'images
JP5018085B2 (ja) * 2004-06-29 2012-09-05 ソニー株式会社 動き予測補償方法及び動き予測補償装置
US8462850B2 (en) * 2004-07-02 2013-06-11 Qualcomm Incorporated Motion estimation in video compression systems
CN100411435C (zh) * 2005-01-24 2008-08-13 威盛电子股份有限公司 在视讯编码中降低占用存储器频宽的系统与方法
US20060215755A1 (en) * 2005-03-24 2006-09-28 Mediatek Incorporation Video encoding methods and systems for battery-powered apparatus
US8660180B2 (en) * 2005-04-01 2014-02-25 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
WO2006109986A1 (en) * 2005-04-13 2006-10-19 Lg Electronics Inc. Method and apparatus for encoding/decoding video signal using reference pictures
US20060256864A1 (en) * 2005-05-13 2006-11-16 Mediatek Incorporation Motion estimation methods and systems in video encoding for battery-powered appliances
US8755434B2 (en) * 2005-07-22 2014-06-17 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
BRPI0614662A2 (pt) * 2005-07-28 2011-04-12 Thomson Licensing compensação e estimativa de movimento usando um cache hierárquico
US8116371B2 (en) * 2006-03-08 2012-02-14 Texas Instruments Incorporated VLC technique for layered video coding using distinct element grouping
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US8565310B2 (en) 2008-01-08 2013-10-22 Broadcom Corporation Hybrid memory compression scheme for decoder bandwidth reduction
US20090207915A1 (en) * 2008-02-15 2009-08-20 Freescale Semiconductor, Inc. Scalable motion search ranges in multiple resolution motion estimation for video compression
CN101272498B (zh) * 2008-05-14 2010-06-16 杭州华三通信技术有限公司 一种视频编码方法及视频编码装置
WO2011120221A1 (en) * 2010-03-31 2011-10-06 Intel Corporation Power efficient motion estimation techniques for video encoding
WO2018200862A1 (en) * 2017-04-28 2018-11-01 Ascava, Inc. Lossless reduction of data by using a prime data sieve and performing multidimensional search and content-associative retrieval on data that has been losslessly reduced using a prime data sieve

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414469A (en) * 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
US5412435A (en) * 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
US5448310A (en) * 1993-04-27 1995-09-05 Array Microsystems, Inc. Motion estimation coprocessor
JPH0746457A (ja) * 1993-07-31 1995-02-14 Sony Corp 動き量検出装置及び動き量検出方法
JPH07154801A (ja) * 1993-11-29 1995-06-16 Ricoh Co Ltd 階層型動きベクトル検出方法
US5500678A (en) * 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
US5526054A (en) * 1995-03-27 1996-06-11 International Business Machines Corporation Apparatus for header generation
US5694170A (en) * 1995-04-06 1997-12-02 International Business Machines Corporation Video compression using multiple computing agents
US5761398A (en) 1995-12-26 1998-06-02 C-Cube Microsystems Inc. Three stage hierarchal motion vector determination
US5719632A (en) * 1996-01-25 1998-02-17 Ibm Corporation Motion video compression system with buffer empty/fill look-ahead bit allocation
JP3297293B2 (ja) * 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000014769A (ko) * 1998-08-22 2000-03-15 구자홍 동영상 부호화기의 움직임 추정방법
KR100699821B1 (ko) * 2002-07-22 2007-03-27 삼성전자주식회사 가변 탐색창을 이용한 고속 움직임 추정방법

Also Published As

Publication number Publication date
CN1196340C (zh) 2005-04-06
TW339495B (en) 1998-09-01
KR100294999B1 (ko) 2001-11-14
US6549575B1 (en) 2003-04-15
CN1182335A (zh) 1998-05-20
JPH10150666A (ja) 1998-06-02

Similar Documents

Publication Publication Date Title
KR100294999B1 (ko) 디지탈비디오데이타스트림의시간적인압축방법및탐색프로세서
EP0676900B1 (en) Motion compensation for interlaced digital video signals
US5974184A (en) Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US5847776A (en) Method for entropy constrained motion estimation and coding of motion vectors with increased search range
US6067322A (en) Half pixel motion estimation in motion video signal encoding
US5768537A (en) Scalable MPEG2 compliant video encoder
EP0849953B1 (en) System and method for performing motion compensation using a skewed tile storage format for improved efficiency
US5731850A (en) Hybrid hierarchial/full-search MPEG encoder motion estimation
US5293229A (en) Apparatus and method for processing groups of fields in a video data compression system
US6542642B2 (en) Image coding process and motion detecting process using bidirectional prediction
JP3836559B2 (ja) ディジタルビデオ符号化器における動き推定方法
Chan et al. Experiments on block-matching techniques for video coding
JPH09179987A (ja) 動きベクトル検出方法及び動きベクトル検出装置
KR100246167B1 (ko) 듀얼프라임 움직임 추정시스템 및 방법
EP1119975A1 (en) Motion vector detection with local motion estimator
KR19990067723A (ko) 비디오 프레임 시퀀스의 인코딩 방법 및 시스템과, 제조 물품
US5844607A (en) Method and apparatus for scene change detection in digital video compression
US6163576A (en) Video encoder having reduced memory bandwidth requirements
US6847684B1 (en) Zero-block encoding
EP0825778A2 (en) Method for motion estimation
Chung et al. A new approach to scalable video coding
KR100189268B1 (ko) 프레임 화상에서 필드 모션 추정의 산출 방법 및 장치
KR100240620B1 (ko) 양방향의 반화소 움직임 추정을 위한 대칭 탐색 윈도우를 형성하는 방법 및 장치
KR100617177B1 (ko) 움직임 추정 방법
KR100397133B1 (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: 20120328

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130327

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee