KR20050056956A - 블록 매치 품질을 결정하기 위한 방법 및 장치 - Google Patents

블록 매치 품질을 결정하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20050056956A
KR20050056956A KR1020057002130A KR20057002130A KR20050056956A KR 20050056956 A KR20050056956 A KR 20050056956A KR 1020057002130 A KR1020057002130 A KR 1020057002130A KR 20057002130 A KR20057002130 A KR 20057002130A KR 20050056956 A KR20050056956 A KR 20050056956A
Authority
KR
South Korea
Prior art keywords
motion vector
difference
difference metric
candidate
bias
Prior art date
Application number
KR1020057002130A
Other languages
English (en)
Other versions
KR101018564B1 (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 KR20050056956A publication Critical patent/KR20050056956A/ko
Application granted granted Critical
Publication of KR101018564B1 publication Critical patent/KR101018564B1/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/567Motion estimation based on rate distortion criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Abstract

비디오 데이터의 현재 프레임의 데이터의 메크로블록의 좌표와, 비디오 데이터의 기준 프레임의 데이터의 관련 메크로블록의 좌표의 차이를 나타내는 모션 벡터를 이용하여, 비디오 인코더 시스템의 후보 모션 벡터에 대한 블록 매치의 품질을 결정하는 방법 및 장치가 개시된다. 이 방법은, 검색 패턴을 정의하고, 평가를 위해 후보 모션 벡터의 검색 패턴에 기초하여 영역을 검색하고, 차이 메트릭을 산출하고, 프리딕터 모션 벡터와 후보 모션 벡터 간의 차이에 기초하여 바이어스를 계산하고, 차이 메트릭을 바이어스에 가산하여 수정된 차이 메트릭을 결정하고, 수정된 차이 메트릭에 기초하여 최종 모션 벡터를 정의하는 것을 포함한다.

Description

블록 매치 품질을 결정하기 위한 방법 및 장치{METHOD AND APPARATUS FOR DETERMINING BLOCK MATCH QUALITY}
본 발명은, 모션 추정(motion estimation) 분야에 관한 것으로, 특히 비디오 이미지 압축에 적용되는 블록 기반(block-based) 모션 추정에 관한 것이다.
현재, 모션 추정은 수많은 비디오 압축 기술의 핵심적인 요소이다. 모션 추정의 목적은 비디오 시퀀스의 프레임들 간의 시간적인 리던던시(temporal redundancy)를 줄이는 것이다. 모션 추정 알고리즘은 하나 이상의 이전에 코딩된 이미지 프레임들 또는 다음(future) 프레임들을 이용하여 이미지 프레임에 대한 이미지 데이터를 예측한다. 원래의 픽셀 데이터와 대응하는 예측된 픽셀 데이터 간의 산술적인 차를 취하여 차이 이미지를 산출한다. 큰 변동이 있는 차이 이미지는 이미지 프레임들 간의 시간적인 리던던시가 거의 없거나 전혀 없는 것을 나타내는 반면에, 변동이 작은 차이 이미지는 이미지 프레임들 간의 시간적인 리던던시가 높은 것을 나타낸다. 차이 이미지는 이미지 프레임의 시간적인 리던던시가 줄어든 것을 표시하며, 이는 더 나은 코딩 효율을 가져온다.
모션 추정 알고리즘의 일종으로서 블록 기반 모션 추정 알고리즘이 있다. 블록 기반 모션 추정 알고리즘은 이미지 데이터의 블록 상에서 동작한다. 현재 프레임의 이미지 데이터 블록을, 이전 이미지 프레임으로부터의 데이터 블록에 의해 예측한다. 모션 추정 알고리즘은, 이전 이미지 프레임으로부터 최상의 블록 매치 위치를 특정하는 이미지 데이터 블록에 대한 모션 벡터를 출력한다. 비디오 압축 방법에서, 이 모션 벡터 정보는 압축되어 전송되거나 압축된 차이 데이터와 함께 저장된다.
H.263, MPEG-2 및 MPEG-4 등의 국제 비디오 압축 규격에 의하면, 모션 벡터를 특정하는 신텍스를 제공함으로써 블록 기반 모션 추정을 허용한다. 이들 규격들은 특정한 모션 추정 알고리즘을 필요로 하지는 않는다. 이들 압축 규격에서는, 메크로블록으로서 표시되는 16×16 픽셀의 기본 블록 사이즈에 대하여 모션 추정이 산출된다. 더 작은 이미지 영역에 대한 모션 추정을 위해 8×8 픽셀의 블록 사이즈에 대한 동작이 허용된다.
모션 추정은 비디오 인코딩 시스템에서 가장 인텐시브한 프로세서 유닛의 하나이다. 계산의 복잡성과 모션 벡터의 효율성 간의 타협을 이루기 위한 기존의 수많은 블록 기반 모션 추정 기술이 있다.
FSME(full search motion estimation)이 현재 이미지 프레임 내의 블록을 이전에 처리된 프레임의 검색 윈도우 내에 위치한 각 픽셀 위치에 비교한다. 각 픽셀 위치의 블록 매치의 양호함은, 그 대응하는 왜곡을 측정함으로써 결정된다. 블록 매칭 메트릭에 의해 이용되는 전형적인 왜곡 측정값은, SAD(sum of absolute difference) 메트릭 : 이다.
여기서, BC는 현재 이미지 프레임 내의 블록이고, BP는 이전 이미지 프레임 내의 블록이다. 인덱스 m 및 n은 N행 M열의 블록 내의 픽셀을 인덱스한다. 작은 SAD 값은 양호한(good) 블록 매치에 대응하고, 큰 SAD 값은 열악한(poor) 블록 매치에 대응한다. 불운하게도, 검색 윈도우가 증가함에 따라 FSME는 제한적으로 된다. SAD 메트릭을 이용하게 되면, 모션 벡터를 인코드하는데 있어서 과도하게 많은 비트수가 필요하게 되어, 압축의 비효율성을 초래하게 된다는 면에서, FSME에 대하여 또 다른 문제점이 존재한다.
현재, 수 개의 덜 복잡한 모션 알고리즘이 있다. 이들 알고리즘들은 모두, 더 열악한 품질을 제공하거나 계산상의 복잡성을 충분히 저감시키지 못하게 된다. 또한, 비교적 복잡함이 줄어든, 다소 향상된 품질을 제공하는 몇 개의 모션 추정 알고리즘이 있다.
하나의 가능한 접근법으로서, 구역 기반(zonal based) 방법이 있다. 먼저, 최상의 매칭 모션 벡터로서 모션 벡터 프리딕터(PMV)를 산출한다. 그런 다음, PMV 주위의 구역 패턴에 후속하는 모션 벡터 검색을 수행한다. 그 다음에, 제로 모션 벡터 주위에 대하여 유사한 지역 검색을 후속한다. 모든 단계에서, 충분히 양호한 기준(criterion)이 얻어지면, 검색을 종료하는 기준이 있다. 불운하게도, 이러한 접근법은, 광범위한 비디오 시퀀스에 대하여 일정한 양호성을 제공하지 않는다.
PMVFAST라고 불리는 모션 추정 알고리즘이 전술한 구역 접근법과 매우 유사하다. 그러나, 구역 검색 패턴 대신에, 반복적인(iterative) 다이아몬드 검색 패턴을 이용한다. 특정한 기준에 따라 대형 또는 소형 다이아몬드 패턴을 이용할 수 있다. 불운하게도, 이 접근법은 구역 접근법과 매우 유사한 결과를 가져온다.
<발명의 개시>
비디오 데이터의 현재 프레임 내의 데이터의 메크로블록의 좌표와, 비디오 데이터의 기준 프레임 내의 데이터의 관련 메크로블록의 좌표 간의 차이를 나타내는 모션 벡터를 이용하여, 비디오 인코더 시스템의 후보 모션 벡터에 대한 블록 매치의 품질을 결정하는 방법 및 장치가 제공된다. 이 방법은, 검색 패턴을 정의하고, 평가를 위해 후보 모션에 대하여 검색 패턴에 기초하여 영역을 검색하고, 차이 메트릭을 산출하고, 프리딕터 모션 벡터와 후보 모션 벡터 간의 차이에 기초하여 바이어스를 산출하고, 이 차이 메트릭을 바이어스에 합산하여 수정된 차이 메트릭을 결정하고, 이 수정된 차이 메트릭에 기초하여 최종 모션 벡터를 정의하는 것을 포함할 수 있다.
도 1은 일 실시예에 따른 비디오 압축 시스템의 예시적인 블록도.
도 2는 일 실시예에 따른 현재 메크로블록의 인접부의 예시적인 도면.
도 3은 양호한 실시예의 제1 스테이지 동안에 이용되는 예시적인 검색 패턴.
도 4는 양호한 실시예의 제1 스테이지 동안의 캡처 모드에서 이용되는 예시적인 검색 패턴.
도 5는 양호한 실시예의 제2 스테이지 동안에 이용되는 검색 패턴의 예시적인 도면.
도 6은 양호한 실시예에 따른 본 발명의 동작을 아웃트라인하는 예시적인 흐름도.
도 7은 일 실시예에 따른 모션 추정 회로의 예시적인 블록도.
본 발명은 광범위한 비디오 시퀀스에 걸쳐 개선된 성능을 제공한다. 더 나은 품질을 가져오는 몇 가지의 개선 사항 및 새로운 알고리즘 기술 혁신이 있다. 사실상, 수 개의 비디오 시퀀스에 걸쳐 평균을 내볼 때, 본 발명은, 비디오 압축 효율의 성취면에서 볼 때, 전형적인 완전한(full) 검색 알고리즘의 성능을 향상시키는데 도움이 될 수 있다.
종래 기술에 이용되는 모든 방법들은 블록 매치를 최적화하는데 포커스를 맞추고 있지만, 다른 이점들 중에, 본 발명은 비디오 시퀀스를 인코드하는데 필요한 비트 수를 전적으로 고려할 수 있다. 본 발명은 또한 실생활 비디오 캡처에서 직면하게 되는 모션의 특성(nature)을 이용할 수도 있다.
현재, 무선 시장의 출발과 함께, 핸드헬드형 디바이스에 대한 비디오 인코딩 기술을 가능하게 하기 위해 더 많은 제반 조건이 있을 것이다. 대부분의 이러한 디바이스들은, 모션 추정의 집중적인 계산을 수행할 수 있는 처리 능력이 없다. 따라서, 본 발명이 제공하는 고품질, 복잡하지 않은 모션 추정 알고리즘이 이러한 디바이스에서는 매우 유용할 수 있다.
일 실시예에 따르면, 본 발명은 2개의 스테이지에서 수행될 수 있다. 제1 스테이지에서, 몇 개의 프리딕터 모션 벡터를 고려할 수 있고, 고정된 검색 패턴을 이용하여 후보 각각의 주위를 검색할 수 있다. 제1 스테이지 동안에, 양호한 매치가 얻어지지 않을 것으로 발견되면, 새로운 셋트의 후보 모션 벡터를 선택하여, 새로운 검색을 수행할 수 있다. 이는 신(scene) 내에 나타나는 임의의 새로운 오브젝트의 모션을 캡처하기 위해 행해질 수 있다. 제2 스테이지에서는, 제1 스테이지의 최상의 결과를 고려할 수 있고, 이동하고 있는, 가중된, 나선 검색 패턴을 이용한 새로운 검색을 수행하여 최상의 블록 매치에 도달할 수 있다.
도 1은 일 실시예에 따른 비디오 인코더를 위한 비디오 압축 시스템(100)의 예시적인 블록도이다. 비디오 압축 시스템(100)은 MSAD(modified sum of absolute differences) 모션 추정 회로(110), 모션 보상 회로(115), 가산기(120), DCT(discrete cosine transform) 회로(125), 양자화기(130), VLC(Variable length code)인코더(135), 역 양자화기(140), IDCT(inverse discrete cosine transform) 회로(145), 또 다른 가산기(150) 및 이전 프레임 회로(155)를 포함할 수 있다.
동작시에, 하나 이상의 이전에 처리된 이미지 프레임을 이용하여 현재 이미지 프레임으로부터 이미지 데이터 블록에 대한 모션 추정이 산출된다. 모션 추정 회로(110)는, 처리된 블록에 대응하는 모션 벡터를 출력한다. 모션 보상 회로(115)는, 산출된 모션 벡터를 이용하여 이전 프레임으로부터 예측 블록을 형성한다. 현재 이미지 프레임에서 예측된 이미지 데이터를 감산함으로써, 가산기(120)에 의해 차이 이미지를 산출한다. 이 차이 이미지는 DCT 회로(125)를 이용하여 변환된다. 모션 추정 회로(110) 및 모션 보상 회로(115)는, 이미지 프레임들 간의 시간적인 리던던시를 저감시키는 역할을 하는 반면에, DCT 회로(125)는 프레임 내의 공간적인 리던던시를 저감시키는 역할을 한다. DCT 계수는, 양자화기(140)에 의해 정확도가 감소되게 된다. 양자화기(140)는 수치적인 손실을 도입하는 동안 압축을 증가시킨다. 양자화된 DCT 계수는, VLC 인코더(135)에 의해 인코드되어, 모션 벡터와 함께 압축된 비디오 비트스트림으로 송신된다. 로컬 재구성 루프는, 역양자화기(140, IDCT(145) 및 가산기(150)로 구성된다. 역양자화기(140)는, DCT 계수를 재구성한다. IDCT(145)는, DCT 계수를 다시 공간적인 도메인으로 변환하여 양자화된 차이 이미지를 형성한다. 재구성된 프레임은, 가산기(150)에 의해, 모션 보상된 데이터를 양자화된 차이 이미지에 가산함으로써 산출된다. 그런 다음, 이 재구성된 데이터가, 후속 이미지 프레임의 처리시에 사용되기 위해 이전 프레임 회로(155)에 저장된다.
고속 예측 모션 검색 모션 추정 회로(110)의 동작은 2개의 스테이지로 구성될 수 있다. 제1 스테이지에서, 수 개의 모션 벡터 프리딕터 주위에 대하여 소규모의 검색이 행해질 수 있다. 이들 모션 벡터 프리딕터(MVP)는, 다른 모션 벡터(MV)로부터 얻어질 수 있다. 초기의 규정의 경우, MV는, 비디오 데이터의 현재 프레임의 데이터 블록과, 이것이 매칭하는 기준 프레임의 데이터 블록의 좌표의 차이이다. MV는 2개의 컴포넌트, X와 Y를 갖는다. MV의 값은 배열된 쌍(X, Y)으로서 기술된다. MVP는, 매칭을 수행할 때, 최상의 MV의 양호한 "예상(guess)"으로서 이용되는 MV이다. 메크로블록(MB)은, 비디오 프레임 내의 데이터의 16×16 블록이다. MB는 또한 일반적인 손실 없이 서로 다른 사이즈의 데이터 블록(예컨대, 8×8, 4×8, 4×4, 16×8 등)을 말할 수 있다.
하나의 모션 벡터 프리딕터는, 제로 모션 벡터에 기초할 수 있다. 특정한 모션 벡터에 기초하고 있는 모션 벡터 프리딕터는, 특정한 모션 벡터와 동일한 모션 벡터 프리딕터를 정의할 수 있다. 제로 모션 벡터는 (0,0)의 좌표를 갖는 모션 벡터이다. 제2 모션 벡터 프리딕터는, 이전 프레임 내에 공동 배치된 메크로블록의 모션 벡터에 기초할 수 있다.
도 2는 추가의 모션 벡터를 결정하는데 이용되는 현재 메크로블록 및 이웃한 메크로블록의 위치를 예시적으로 도시한다. 따라서, 제3 모션 벡터 프리딕터는, 현재 메크로블록의 좌측의 메크로블록의 모션 벡터에 기초할 수 있다. 제4 모션 벡터 프리딕터는 현재 메크로블록의 상부 또는 그 위의 메크로블록의 모션 벡터에 기초할 수 있다. 제5 모션 벡터 프리딕터는 현재 메크로블록의 상부의 메크로블록 및 우측의 메크로블록의 모션 벡터에 기초할 수 있다. 제6 모션 벡터 프리딕터는, 제3, 제4 및 제5 모션 벡터 프리딕터의 중간 모션 벡터에 기초할 수 있다. 이 중간 모션 벡터 프리딕터는, 모션 벡터의 X 및 Y에 대하여 독립적으로 산출될 수 있다.
제7 모션 벡터 프리딕터는 추정된 글로벌 모션 벡터에 기초할 수 있다. 이 글로벌 모션 벡터는, 차이 메트릭이 특정한 임계값 THRESH1 이하인 이전 프레임의 모든 최종 모션 벡터의 평균으로서 모션 추정 회로(10)에 의해 추정된다. 차이 메트릭은, 절대 차이 메트릭의 합, 차이 메트릭의 제곱의 합, 절대 차이 메트릭의 수정된 합, 또는 임의의 다른 유용한 메트릭일 수 있다. 양호한 실시예에서는, 선택한 THRESH1의 값이 THRESH1 = SAD1+OFFSET이고, 여기서, OFFSET은 공칭 500으로 설정되고, SAD1은 다음의 식에 의해 제공된다.
여기서, m 및 n은 픽셀의 인덱스이고, M 및 N은 블록의 크기이다. 예를 들어, 메크로블록은 M = N = 16이다. 글로벌 모션 벡터는 또한 비디오 카메라 상의 모션 센서, 다른 알고리즘, 글로벌 모션 벡터를 결정하기 위한 다른 수단에 의해 결정될 수도 있다.
다른 모션 벡터 프리딕터는, 동일한 메크로블록에 대해서 행해지나, 서로 다른 이전에 코딩된 프레임에 대해서 행해지는 모션 추정의 결과에 기초하여 결정될 수 있다.
모션 추정 회로(110)는, 차이 메트릭이 특정한 임계값 이하인 이전 프레임 내의 모든 최종 모션 벡터의 평균을 이용하여, 글로벌 모션 벡터를 결정할 수 있다. 특히, 모션 추정 회로(110)는, 이전 프레임의 최종 모션 벡터 각각에 대한 차이 메트릭을 산출하고, 이전 프레임 내의 최종 모션 벡터 각각에 대한 차이 메트릭과 소정의 임계값을 비교하고, 차이 메트릭이 임계값 이하인 이전 프레임 내의 최종 모션 벡터 각각에 기초하여 글로벌 모션 벡터를 결정할 수 있다.
각 MVP 주변의 작은 영역 내의 모든 MV를 검색할 수 있다. 그 다음, 가장 낮은, MSAD 메트릭의 MV를 제2 스테이지에 대한 후보 MV로서 선택할 수 있다. MSAD 메트릭은 이하에 정의된다.
따라서, 모션 추정 회로(110)는, 현재의 메트로블록에 대한 가능한 모션 벡터를 나타내는 복수의 모션 벡터 프리딕터를 구하고, 검색 패턴을 정의하고, 검색 패턴을 이용하여 복수의 모션 벡터 프리딕터의 각 모션 벡터 프리딕터 주변을 검색하고, 최종 모션 벡터를 결정함으로써 예측 모션 검색을 수행할 수 있다. 모션 추정 회로는 또한, 메크로블록 매치의 품질을 나타내는 차이 메트릭을 산출할 수 있는데, 여기서 차이 메트릭은 차이 메트릭의 절대값의 합, 차이 메트릭의 제곱의 합 또는 모션 추정에 유용한 임의의 다른 메트릭일 수 있다.
각 MVP 주변의 예시적인 검색 패턴이 도 3에 도시되어 있다. 도시된 바와 같이, 검색 패턴은 수직 방향에서보다 수평 방향에서 보다 연장될 수 있다. 이는, 대부분의 실생활 비디오 데이터에서, 수평 방향의 모션의 변동이 있다는 사실을 이용할 수 있다.
만약, 제1의 6개의 모션 벡터를 평가한 후에, 최상의 MV가 임계값 THRESH2보다 높은 MSAD 메트릭을 가지면, 제1 스테이지는 캡처 모드로 들어갈 수 있다. 양호한 실시예에서, THRESH2는, THRESH2=4*MMSADAVG이고, MMSADAVG= 이전 프레임의 전체 MMSADS(즉, 최상의 MV들의 MSADS)의 평균이다.
캡처 모드에서, 추가의 MVP는, 도 4에 도시된 것 등와 같이 간주될 수 있다. 예를 들면, 8개의 포인트는 (-12,0)(12,0)(0,-8)(0,8)(-6,4)(6,4)(6,-4)(-6,-4)일 수 있다.
도 3에 도시된 동일한 검색 패턴을 이용하여, 각각의 MVP 주변에 대한 검색을 수행한다. 양호한 실시예에서는, 8개의 MVP 중에서 4개만이 메크로블록에 대하여 고려될 수 있다. 제1 메크로 블록의 경우, 첫 번째의 4개를 고려한다. 다음 메크로블록에 대하여, 다른 4개의 MVP를 고려한다. 이는 계산 수를 저감시키기 위해 행해질 수 있다.
캡처 모드의 목적은, 스트린으로 급속하게 이동하는 임의의 새로운 오브젝트를 검출하고자 하는 것이다. 이러한 시나리오에서는, 인접한 모션 벡터에 기초한 MVP는 실패한다. 8개의 새로운 포인트를 이용함으로써 양호한 모션 벡터 매치를 얻는 기회를 향상시킨다. 이 수평 방향으로는 종종 보다 많은 움직임이 있기 때문에, 8개의 포인트를 선택하여 수평 방향을 선호(favor)할 수 있다.
따라서, 모션 추정 회로(110)는, 검색 패턴을 이용하여 복수의 모션 벡터 프리딕터의 각 모션 벡터 프리딕터 주변을 검색하고, 소정의 임계값보다 높은 차이 메트릭을 갖는 최상의 모드 벡터를 결정하고, 새로운 모션 벡터 프리딕터 셋트 주위에 대하여 모션 검색 패턴을 수행한다.
제1 스테이지에서, MVP 주위의 검색 패턴이 평가되고 있는 경우, 초기의 출구(exit) 기준을 채용하여 그 MVP에 대한 검색을 종료할 수 있다. MV에 대해 얻어진 MSAD가 현재 최소의 MSAD(MMSAD)보다 임계값 THRESH3만큼 더 높으면, 즉 (MSADi>(MMSAD+THRESH3))이면, 검색은 종료될 수 있다. 여기서, MSADi가 MVPi 에 대해 얻어진 MSAD이면, MMSAD는 현재의 MB에 대한 이 포인트까지 얻어진 MSAD 값 전체의 최소이다. 특히, 이는 최상의 MV의 MSAD이다. 양호한 실시예에서는, THRESH3의 값은 768 주변으로 선택될 수 있다.
따라서, 모션 추정 회로(110)는 모션 벡터 프리딕터 상의 검색 패턴을 수행하고, 현재 모션 벡터에 대한 현재 차이 메트릭을 결정하고, 현재 차이 메트릭을 이전 최소 차이 메트릭에 비교하고, 현재 차이 메트릭이 이전 최소 차이 메트릭보다 낮으면 새로운 최소의 차이 메트릭을 설정하고, 차이 메트릭이 이전 최소 메트릭보다 소정량 초과하면, 검색 패턴을 종료할 수 있다.
그런 다음, 제1 스테이지에서 검색된 모든 MV 중에, 최저 MSAD를 제공하는 MV가 선택되고, 이는 제2 스테이지에 대한 시작 포인트가 된다.
제2 스테이지에서, 제1 스테이지로부터 최상의 MV(즉, 최저 MSAD를 제공하는 것)가 선택되고, 이 MV 주위에서 검색이 수행된다. 예를 들면, 도 5에 도시된 패턴으로 검색이 수행될 수 있다. 검색 패턴은 중앙에서 시작하여, 도 5에 도시된 바와 같은 시퀀스로 다수의 시퀀스로서 나선상으로 움직일 수 있다. 더 양호한 MV(즉, 더 낮은 MSAD를 제공하는 MV)가 발견되면, 새로운 MV 주위에서 검색 패턴이 리센터링(recentering)되고, 나선 검색 패턴이 시작된다. 이 프로세스는 3개의 조건 중 하나가 충족될 때까지 계속된다.
조건 1: MSAD가 THRESH4 = A* Q + B에 의해 제공되는 임계값 THRESH4 이하이다. 여기서, Q는 현재 MB에 대한 인코더에 의해 이용되는 양자화 단계 크기이고, A 및 B는 상수이다. 양호한 실시예에서는, A=8이고, B-=0이다.
조건 2: 후보, N의 최대 수는 이미 스테이지 2에서 고려하였고, 양호한 실시예에서, N=30이다.
조건 3 : 마지막 M개의 후보 MV 동안에 최소 MSAD(MMSAD) 내에 개선 사항은 없다. 여기서, M은 나선 검색 패턴의 마지막 MV 후보의 위치의 인덱스트의 함수이다. 예를 들면, 검색은 인덱스 0에서부터 시작한다. 포인트 1, 2, 3,... 주위에서 나선상으로 움직인다. 더 나은 MV가 발견될 때마다, 나선 검색 패턴이 이 새로운 MV 주위에서 리센터링하고, 인덱스는 다시 한번 0에서부터 시작한다. 이 인덱스를 이용하여 M의 값을 결정한다. 양호한 실시예에서는, M은 인덱스에 기초하여, 값{4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9}의 셋트로부터 선택된다.
제2 스테이지의 종료 부분에서 최상의 MV를 메크로블록의 최상의 MV로서 선택한다. 이 MV는 또한 하프-픽셀, 쿼터-픽셀 또는 공지된 기술을 이용하여 후속 스테이지에서 더 높은 정확도로 정제될 수 있다.
전술한 바와 같이, 검색 패턴을 선택하여 수직 방향보다 수평 방향으로 더 광범위한 커버리지를 제공할 수 있다.
MSAD 메트릭은 본 발명에서 유용한 부분이 될 수 있다. 차이(difference) 메트릭의 수정된 합은 양호한 결과를 주지만, 임의의 차이 메트릭은, 절대 차이 메트릭, 차이 메트릭의 수정 합, 또는 임의의 다른 차이 메트릭을 요구하는 본 발명의 모든 실시예에서 교환가능하게 이용될 수 있다. 게다가, MSAD 메트릭은 모든 비디오 인코더 시스템의 성능을 개선시키는데 특히 유용하다. 특히, MASD 메트릭은 개선된 성능을 위해 SAD 메트릭, 스퀘어 메트릭의 합, 또는 비디오 인코더 시스템내의 임의의 다른 메트릭을 대체할 수 있다. 예컨대, MSAD 메트릭은 FSME 시스템, PMVFAST 시스템, 또는 임의의 다른 비디오 인코더 시스템에서 이용될 수 있다.
MSAD 메트릭은 전술한 절대 차이의 합(SAD), 평가되는 후보 MV, 및 예측 모션 벡터(PMV)의 함수이다. PMV는 일반적으로 최종 모션 벡터의 인코딩동안 비디오 인코더에 의해 이용된다. 최종 모션 벡터는 PMV에 관한 차이로서 인코딩되는데, 이는 MVP와는 다르다. 예컨대, 이것은 모션 벡터를 인코딩하기 위한 목적으로 H.261, H.263, MPEG-1, MPEG-2 및 MPEG-4 표준에서 정의되는 고유 MV가 될 수 있다. SAD는 전술한 바와 같이, 전형적인 모션 추정 알고리즘에서 이용되는 메트릭이다.
주어진 PMV를 갖는 매크로블록 및 후보 모션 벡터(MV)에 있어서,
MSAD는,
MSAD = SAD + Bias 로 주어지고,
여기서, 바이어스(bias)는 MV와 PMV간의 모션 벡터 차이 메트릭에 기초하는 임의의 값이다. 예컨대,
다른 예에 의하면, 바이어스는,
에 기초할 수 있고,
여기서, SAD는 이전에 정의된 매칭 블록에 이용되는 전형적인 메트릭이고, MVx 및 MVy는 후보 모션 벡터의 X 및 Y 성분이고, PMVx 및 PMVy는 PMV의 X 및 Y 성분이며, C는 상수이다. 양호한 실시예에서, C는 대략 5이다. MV는 변하는 반면, PMV는 일반적으로 MB 내의 모든 후보에 대해 고정된 채 유지된다.
MSAD 메트릭은 모션 추정 알고리즘과는 독립적이고, 모든 알고리즘에 실제로 이용될 수 있는 장점이 있다. 새로운 메트릭의 이점은, PMV로 알고리즘을 바이어싱하여 모션 벡터를 인코딩하는데 필요한 비트수를 줄여, 전체 압축 효율을 개선시키는데 있다.
제로 모션 벡터, MV = (0, 0)에 대한 MSAD는 특별한 경우로 취급된다. 제로 MV는 잠재적으로 개선된 압축 효율을 이끌어 낼 수 있다. 그러나, 이것은 H.261, H.263, MPEG-1, MPEG-2 및 MPEG-4 표준에서 결과적인 매크로블록이 "비 코드화(not coded)" 모드내에서 코딩되지 않은 경우에만 발생할 수 있다. 이것은 어떤 임계값이하인 경우에 SAD를 바이어싱함으로써 고려될 수 있다:
C, PMVx 및 PMVy는 이전에 정의된 바와 같다.
THRESH5 = D*Q + E
THRESH6 = F
여기서, Q는 양자화 단계 크기이다. D, E 및 F는 상수이다. 양호한 실시예에서, D는 대략 128, E = 0이고, F는 대략 100이다.
따라서, 모션 추정 회로(110)은 차이 메트릭을 계산하고, 예측 모션 벡터 및 후보 모션 벡터에 기초하여 바이어스를 계산하고, 이러한 차이 메트릭 및 바이어스에 기초하여 수정된 차이 메트릭을 결정할 수 있다.
또한, 모션 추정 회로(110)는 차이 메트릭을 계산하고, 예측 모션 벡터 및 후보 모션 벡터에 기초하여 바이어스를 계산하고, 이러한 차이 메트릭 및 바이어스에 기초하여 수정된 차이 메트릭을 결정할 수 있다. 모션 추정 회로(110)는 차이 메트릭 및 바이어스에 기초하여 이러한 차이 메트릭을 바이어스에 부가함으로써 수정된 차이 메트릭을 결정할 수 있다. 모션 추정 회로(110)는 또한, 예측 모션 벡터와 후보 모션 벡터간의 모션 벡터 차이 메트릭을 결정하고, 예측 모션 벡터와 후보 모션 벡터간의 모션 벡터 차이 메트릭에 기초하여 바이어스를 계산함으로써, 예측 모션 벡터와 후보 모션 벡터에 기초하여 바이어스를 계산할 수 있다. 모션 추정 회로(110)는 부가적으로 예측 모션 벡터와 후보 모션 벡터간의 차이의 절대값에 상수를 곱하여 예측 모션 벡터와 후보 모션 벡터에 기초하여 바이어스를 계산할 수 있다. 예컨대, 상수는 약 5와 동일할 수 있다. 모션 추정 회로(110)는 또한, 예측 모션 벡터와 후보 모션 벡터의 수평 좌표간의 차이의 절대값을 예측 모션 벡터와 후보 모션 벡터의 수직 좌표간의 차이의 절대값에 합산하여 예측 모션 벡터와 후보 모션 벡터에 기초하여 바이어스를 계산할 수 있다. 후보 모션 벡터는 매크로블록에 대해 평가되는 복수의 후보 모션 벡터중 하나일 수 있고, 예측 모션 벡터는 매크로블록내에서 각각의 후보 모션 벡터에 대해 고정된 채 유지될 수 있다. 차이 메트릭은 절대 차이 메트릭의 합일 수 있다. 차이 메트릭은 차이 메트릭의 제곱의 합일 수 있다. 모션 추정 회로(110)는 후보 모션 벡터에 기초하여 최종 모션 벡터를 정의할 수 있고, 이러한 최종 모션 벡터를 출력한다.
본 발명의 다른 관련 실시예에 따르면, 비디오 데이터의 현재 프레임내의 데이터의 매크로블록의 좌표와 비디오 데이터의 참조 프레임내의 데이터의 관련 매크로블록의 좌표의 차이를 나타내는 모션 벡터를 이용하여 비디오 인코더 시스템내의 후보 모션 벡터에 대한 블록 매칭의 품질을 결정하기 위한 방법이 제공된다. 이러한 실시예에서, 모션 추정 회로(110)는 검색 패턴을 정의하고, 평가를 위한 후보 모션 벡터에 대한 검색 패턴에 기초하여 영역을 검색하고, 차이 메트릭을 계산하고, 예측 모션 벡터와 후보 모션 벡터간의 모션 벡터 차이 메트릭에 기초하여 바이어스를 바이어스를 계산하고, 바이어스에 차이 메트릭을 합산하여 수정된 차이 메트릭을 결정하고, 수정된 차이 메트릭에 기초하여 최종 모션 벡터를 정의할 수 있다. 최종 모션 벡터는 비디오 인코더 시스템의 제2 스테이지내에서 이용되도록 정의될 수 있다. 차이 메트릭은 절대 차이 메트릭의 합과 차이 메트릭의 제곱의 합의 적어도 하나가 될 수 있다. 모션 벡터 차이 메트릭은 절대 차이 메트릭의 합과 차이 메트릭의 제곱의 합의 적어도 하나가 될 수 있다. 모션 추정 회로(110)는 검색 패턴을 이용하여 복수의 모션 벡터 예측기 주위를 검색하여 영역을 검색할 수 있다. 모션 추정 회로(110)는 소정의 임계값보다 높은 수정된 차이 메트릭을 갖는 최종 모션 벡터를 정의하고, 최종 모션 벡터에 기초하여 새로운 복수의 모션 벡터 예측기 주위의 제2 검색 패턴을 수행하고, 제2 검색 패턴 수행 단계의 결과에 기초하여 새로운 최종 모션 벡터를 결정함으로써, 최종 모션 벡터를 정의할 수 있다. 모션 추정 회로(110)는 수직 방향 보다는 수평 방향으로 더 연장하는 검색 패턴을 정의하여 검색 패턴을 정의할 수 있다. 모션 추정 회로(110)는 다음에 최종 모션 벡터에 기초하여 모션 벡터를 출력할 수 있다.
검색 프로세스 동안, 상이한 MVP들의 검색 영역은 반복된 후보 모션 벡터에 이르도록 오버랩될 가능성이 있다. 로그는 이미 평가된 모든 후보들에 대해 유지될 수 있고, 후보들이 이미 고려되었다면 무시된다.
기술된 검색 시퀀스는 양호한 실시예에서 이용되는 것이다. 이들은 광범위한 비디오 시퀀스에 걸쳐 가능한 신속한 시간에 양호한 매칭을 얻을 수 있도록 최적화된다. 대안적인 검색 패턴을 이용하는 것도 또한 가능하다.
개시된 본 발명은 모션 벡터의 범위에 대해서는 어떤 가정도 하지 않는다. 모션 벡터값에 대한 임의의 제한은 후보에 대해 적용될 수 있고, 이들이 허용된 범위를 넘으면, 버려질 수 있다.
양호한 실시예의 제2 스테이지에서는, 나선(spiral) 검색 패턴이 새로운 최상의 매칭된 후보 MV를 얻는데 다시 집중될 수 있다. 따라서, 평가될 필요가 있는 다음 포인트는 공지의 아프리오리(apriori)가 되지 않을 수 있다. 잠재적으로 평가되는 다음 후보는 현재 후보의 평가 결과에 의존한다. 따라서, 병렬(어떤 하드웨어 구조는 필요로함)로 몇몇 후보 MSAD 계산을 구현하는 것은 곤란해질 수 있다. 이를 완화하기 위해, 검색 패턴의 재 집중은, 후보의 세트를 평가하고 이러한 세트가 병렬로 처리되도록 한 후에, 수행될 수 있다.
도 6은 일 실시예에 따른 모션 추정 회로(110) 동작의 개요를 나타내는 예시적 순서도(600)이다. 단계(610)에서, 순서도는 시작된다. 단계(620)에서, 모션 추정 회로(110)는 예측 모션 벡터 PMV를 결정한다. 단계(630)에서, 모션 추정 회로(110)는 후보 모션 벡터 MV를 결정한다. 단계(640)에서, 모션 추정 회로는 PMV의 수평 성분과 후보 MV간의 차이의 절대값을 계산한다. 단계(650)에서, 모션 추정 회로(110)는 PMV의 수직 성분과 후보 MV간의 차이의 절대값을 계산한다. 단계(660)에서, 모션 추정 회로(110)는 PMV의 성분과 후보 MV간의 차이에 상수를 곱하여 바이어스를 계산한다. 단계(670)에서, 모션 추정 회로(110)는 바이어스를 차이 메트릭에 합산하여 MSAD를 계산한다. 단계(680)에서, 순서도는 종료한다.
도 7은 일 실시예에 따른 고속(fast) 예측 모션 검색 모션 추정 회로(110)의 예시적인 블록도이다. 모션 추정 회로(110)는 차이 메트릭 계산기(710), 바이어스 계산기(720), MSAD 계산기(730), 및 모션 벡터 결정 회로(740)를 포함할 수 있다. 이 회로는 순서도(600)에 따라 기술된 것과 같은 기능에 따라 동작한다.
다른 관련 실시예에 따르면, 고속 예측 모션 검색 방법은 2개의 스테이지에 으해 수행될 수 있다. 제1 스테이지에서는, 7개의 MVP 후보들이 전술한 바와 같이 연산될 수 있다. 다음에, 각각의 MVP에 대해서, 모든 MV 후보들이 도 3의 검색 패턴에 따라 평가될 수 있고, 출구 기준(exit criteria)은 MVP로부터 벗어나거나 캡쳐 모드로 들어가는데 이용될 수 있다. 다음에, 캡처 모드에 있게 되면, 도 3에서와 동일한 검색 패턴 및 동일한 출구 기준을 이용하여 도 4에 기술된 MVP에서 및 그 주위에서 검색이 수행될 수 있다. 다음에, 제2 스테이지에서는, 제1 스테이지르로부터의 최상의 MV가 선택될 수 있고, 도 5에 도시된 나선형 방식으로 검색이 수행될 수 있다. 나선은 재 집중되고 리셋될 수 있고, 인덱스는 더 양호한 정합이 발견될 때마다 제로로 리셋될 수 있다. 마지막으로, 프로세스는 3개의 출구 기준 중 하나가 발견될 때까지 지속된다.
개시된 본 발명은 복잡도를 낮추면서 높은 수준의 압축 효율을 얻을 수 있도록한다. 복잡도는 APDZS 및 PMVFAST의 복잡도와 유사할 수 있다. 그러나, 얻어진 품질은 더 높다. 본 기술 분야에서 인정되는 기준인, 표준 풀 검색 알고리즘과 비교하면, 본 발명은 고정된 비디오 품질에 대해 약 0.6% 정도 더 양호한 압축 효율을 얻을 수 있다. 이러한 수치는 24개의 상이한 QCIF 비디오 시퀀스를 평균한 후에 얻어진다.
본 발명에 관한 하나의 애플리케이션은 핸드 헬드 디바이스상의 실시간 비디오 인코더내에서 구현된다. 이러한 인코딩된 비디오의 전형적인 대역폭은 32kbps 내지 512kbps 범위에 있게 되고, 전형적인 비디오 프레임 크기는 QCIF 및 CIF이다.
본 발명의 방법은 바람직하게는 프로그램된 프로세서에서 구현된다. 그러나, 비디오 압축 시스템(100), 모션 추정 회로(110), 및 다른 엘리먼트는, 범용 또는 특정 목적 컴퓨터, 프로그램된 마이크로프로세서 또는 마이크로컨트롤러 및 주변 집적 회로 엘리먼트, ASIC 또는 다른 집적 회로, 하드웨어 전자장치 또는 이산 엘리먼트 회로와 같은 논리 회로, PLD, PLA, FPGA 또는 PAL등과 같은 프로그래머블 로직 디바이스에서도 구현될 수 있다. 일반적으로, 도면에 도시된 순서도 및 기술된 방법이 구현될 수 있는 유한 상태(finite state) 머신이 상주하는 임의의 디바이스가 본 발명의 프로세서 기능을 구현하는데 이용될 수 있다.
본 발명이 특정 실시예에 따라 기술되었지만, 많은 대체, 수정 및 변경이 당업자게에는 자명하다는 것은 분명하다. 예컨대, 이러한 실시예들의 다양한 콤포넌트가 다른 실시예와 교환되고, 부가되거나 대체될 수 있다. 따라서, 여기 개시된 본 발명의 양호한 실시예는 제한적이 아닌 예시적인 것이다. 다양한 변형례가 본 발명의 사상 및 범주를 벗어나지 않고 만들어질 수 있다.

Claims (28)

  1. 비디오 인코더 시스템에서 후보 모션 벡터(candidate motion vector)에 대한 블록 매칭(match)의 품질을 결정하기 위한 방법에 있어서,
    차이 메트릭(difference metric)을 계산하는 단계;
    예측 모션 벡터(predictor motion vector) 및 후보 모션 벡터에 기초하여 바이어스(bias)를 계산하는 단계; 및
    상기 차이 메트릭 및 상기 바이어스에 기초하여 수정된 차이 메트릭을 결정하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 차이 메트릭 및 상기 바이어스에 기초하여 수정된 차이 메트릭을 결정하는 상기 단계는 상기 차이 메트릭을 상기 바이어스에 합산하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 예측 모션 벡터 및 후보 모션 벡터에 기초하여 바이어스를 계산하는 단계는,
    상기 예측 모션 벡터와 상기 후보 모션 벡터간의 모션 벡터 차이 메트릭을 결정하는 단계; 및
    상기 예측 모션 벡터와 상기 후보 모션 벡터간의 상기 모션 벡터 차이 메트릭에 기초하여 상기 바이어스를 계산하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 예측 모션 벡터와 후보 모션 벡터에 기초하여 바이어스를 계산하는 단계는,
    상기 예측 모션 벡터와 상기 후보 모션 벡터간의 상기 모션 벡터 차이 메트릭에 상수를 곱하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 상수는 약 5와 동일한 방법.
  6. 제1항에 있어서,
    상기 예측 모션 벡터와 후보 모션 벡터에 기초하여 바이어스를 계산하는 단계는,
    상기 예측 모션 벡터와 상기 후보 모션 벡터의 수평 좌표간의 차이의 절대값을, 상기 예측 모션 벡터와 상기 후보 모션 벡터의 수직 좌표간의 차이의 절대값에 합산하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 예측 모션 벡터와 후보 모션 벡터에 기초하여 바이어스를 계산하는 단계는,
    상기 예측 모션 벡터와 상기 후보 모션 벡터의 수평 좌표간의 차이의 제곱(square)을, 상기 예측 모션 벡터와 상기 후보 모션 벡터의 수직 좌표간의 차이의 제곱에 합산하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 후보 모션 벡터는 매크로블록(macroblock)에 대해 평가되는 복수의 후보 모션 벡터중 하나이고,
    상기 예측 모션 벡터는 상기 매크로블록내의 각각의 후보 모션 벡터에 대해 고정된 채 유지되는 방법.
  9. 제1항에 있어서,
    상기 차이 메트릭은 절대 차이 메트릭의 합인 방법.
  10. 제1항에 있어서,
    상기 차이 메트릭은 차이 메트릭의 제곱의 합인 방법.
  11. 제1항에 있어서,
    상기 후보 모션 벡터에 기초하여 최종 모션 벡터를 정의하는 단계; 및
    상기 최종 모션 벡터를 출력하는 단계를 더 포함하는 방법.
  12. 비디오 데이터의 현재 프레임내의 데이터의 매크로블록의 좌표와 비디오 테이터의 기준(reference) 프레임내의 데이터의 관련 매크로블록의 좌표의 차이를 나타내는 모션 벡터를 이용하여 비디오 인코더 시스템내의 후보 모션 벡터에 대한 블록 매칭의 품질을 결정하기 위한 방법에 있어서,
    검색 패턴을 정의하는 단계;
    평가를 위한 후보 모션 벡터에 대한 상기 검색 패턴에 기초하여 영역을 검색하는 단계;
    차이 메트릭을 계산하는 단계;
    예측 모션 벡터와 후보 모션 벡터간의 차이 메트릭에 기초하여 바이어스를 계산하는 단계;
    상기 차이 메트릭을 상기 바이어스에 합산하여 수정된 차이 메트릭을 결정하는 단계; 및
    상기 수정된 차이 메트릭에 기초하여 최종 모션 벡터를 정의하는 단계를 포함하는 방법.
  13. 제12항에 있어서,
    상기 최종 모션 벡터는 상기 비디오 인코더 시스템의 제2 스테이지내에서 이용되도록 정의되는 방법.
  14. 제12항에 있어서,
    상기 차이 메트릭은 절대 차이 메트릭의 합과 차이 메트릭의 제곱의 합중 적어도 하나인 방법.
  15. 제12항에 있어서,
    상기 영역을 검색하는 단계는,
    상기 검색 패턴을 이용하여 복수의 모션 벡터 예측기 주위를 검색하는 단계를 더 포함하고,
    상기 최종 모션 벡터를 정의하는 단계는,
    소정의 임계값보다 높은 수정된 차이 메트릭을 갖는 최종 모션 벡터를 정의하는 단계;
    상기 최종 모션 벡터에 기초하여 새로운 복수의 모션 벡터 예측기 주위에 대한 제2 검색 패턴을 수행하는 단계; 및
    상기 제2 검색 패턴을 수행하는 단계의 결과에 기초하여 새로운 최종 모션 벡터를 결정하는 단계를 더 포함하는 방법.
  16. 제12항에 있어서,
    상기 검색 패턴을 정의하는 단계는,
    수직 방향보다는 수평 방향으로 더 연장하는 검색 패턴을 정의하는 단계를 더 포함하는 방법.
  17. 제12항에 있어서,
    상기 최종 모션 벡터에 기초하여 모션 벡터를 출력하는 단계를 더 포함하는 방법.
  18. 비디오 데이터의 현재 프레임내의 데이터의 매크로블록의 좌표와 비디오 테이터의 기준 프레임내의 데이터의 관련 매크로블록의 좌표의 차이를 나타내는 모션 벡터를 이용하여 비디오 인코더 시스템내의 후보 모션 벡터에 대한 블록 매칭의 품질을 결정하기 위한 장치에 있어서,
    현재 이미지 매크로블록 입력;
    차이 메트릭 계산기;
    바이어스 계산기;
    절대 차이의 수정된 합 계산기; 및
    모션 벡터 결정 회로를 포함하는 절대 차이의 수정된 합 모션 추정 회로; 및
    모션 벡터 출력을 포함하는 장치.
  19. 제18항에 있어서,
    상기 차이 메트릭 계산기는, 절대 차이의 합 계산기 및 차이의 제곱의 합 계산기 중 적어도 하나인 장치.
  20. 제18항에 있어서,
    상기 바이어스 계산기는,
    예측 모션 벡터와 후보 모션 벡터간의 모션 벡터 차이 메트릭을 결정하여 바이어스를 계산하는 장치.
  21. 제20항에 있어서,
    상기 바이어스 계산기는,
    상기 예측 모션 벡터와 상기 후보 모션 벡터간의 모션 벡터 차이 메트릭에 상수를 곱하여 바이어스를 더 계산하는 장치.
  22. 제20항에 있어서,
    상기 바이어스 계산기는,
    상기 예측 모션 벡터와 상기 후보 모션 벡터의 수평 좌표간의 차이의 절대값을, 상기 예측 모션 벡터와 상기 후보 모션 벡터의 수직 좌표간의 차이의 절대값에 합산하여 예측 모션 벡터와 후보 모션 벡터간의 모션 벡터 차이 메트릭을 더 결정하는 장치.
  23. 제22항에 있어서,
    상기 후보 모션 벡터는 매크로블록에 대해 평가되는 복수의 후보 모션 벡터중 하나이고,
    상기 예측 모션 벡터는 상기 매크로블록내의 각각의 후보 모션 벡터에 대해 고정된 채 유지되는 장치.
  24. 제20항에 있어서,
    상기 바이어스 계산기는,
    상기 예측 모션 벡터와 상기 후보 모션 벡터의 수평 좌표간의 차이의 제곱을, 상기 예측 모션 벡터와 상기 후보 모션 벡터의 수직 좌표간의 차이의 제곱에 합산하여 예측 모션 벡터와 후보 모션 벡터간의 모션 벡터 차이 메트릭을 더 결정하는 장치.
  25. 제18항에 있어서,
    상기 절대 차이의 수정된 합 모션 추정 회로에 결합되는 모션 보상 회로를 더 포함하는 장치.
  26. 제25항에 있어서,
    상기 현재 이미지 매크로블록 입력 및 상기 모션 보상 회로에 결합되는 가산기를 더 포함하는 장치.
  27. 제26항에 있어서,
    상기 가산기에 결합되는 이산(discrete) 코사인 변환 회로; 및
    상기 이산 코사인 변환 회로에 결합되는 양자화기를 더 포함하는 장치.
  28. 제27항에 있어서,
    상기 양자화기에 결합되는 역 양자화기; 및
    상기 역 양자화기에 결합되는 역 이산 코사인 변환 회로를 더 포함하는 장치.
KR1020057002130A 2002-08-06 2003-07-25 블록 매치 품질을 결정하기 위한 방법 및 장치 KR101018564B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/213,652 US7023921B2 (en) 2002-08-06 2002-08-06 Method and apparatus for determining block match quality
US10/213,652 2002-08-06

Publications (2)

Publication Number Publication Date
KR20050056956A true KR20050056956A (ko) 2005-06-16
KR101018564B1 KR101018564B1 (ko) 2011-03-03

Family

ID=31494499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057002130A KR101018564B1 (ko) 2002-08-06 2003-07-25 블록 매치 품질을 결정하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US7023921B2 (ko)
EP (1) EP1574038B1 (ko)
KR (1) KR101018564B1 (ko)
AU (1) AU2003256763A1 (ko)
MX (1) MXPA05001448A (ko)
RU (1) RU2381630C2 (ko)
WO (1) WO2004014060A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100870554B1 (ko) * 2007-01-08 2008-11-27 한양대학교 산학협력단 웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를위한 움직임 보상 시간적 필터링 방법 및 그 방법을실행하기 위한 프로그램이 기록된 기록매체

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654502B1 (en) * 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US6907080B1 (en) * 2000-06-07 2005-06-14 Intel Corporation Adaptive early exit techniques in image correlation
US6700996B1 (en) * 2000-06-07 2004-03-02 Intel Corporation Adaptive early exit techniques in image correlation
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US7076397B2 (en) * 2002-10-17 2006-07-11 Bmc Software, Inc. System and method for statistical performance monitoring
GB0227566D0 (en) * 2002-11-26 2002-12-31 British Telecomm Method and system for estimating global motion in video sequences
GB0227570D0 (en) * 2002-11-26 2002-12-31 British Telecomm Method and system for estimating global motion in video sequences
TWI329815B (en) * 2004-02-06 2010-09-01 Ind Tech Res Inst Method of improved block matching for frame compression
US8000392B1 (en) 2004-02-27 2011-08-16 Vbrick Systems, Inc. Phase correlation based motion estimation in hybrid video compression
US7697610B2 (en) * 2004-09-13 2010-04-13 Microsoft Corporation Variable block size early termination for video coding
US8446964B2 (en) * 2005-07-18 2013-05-21 Broadcom Corporation Method and system for noise reduction with a motion compensated temporal filter
US8588513B2 (en) * 2005-07-18 2013-11-19 Broadcom Corporation Method and system for motion compensation
US8045618B2 (en) 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
US7881384B2 (en) 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US8208540B2 (en) 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
US7912127B2 (en) * 2005-08-05 2011-03-22 Lsi Corporation H.264 to VC-1 and VC-1 to H.264 transcoding
US7903739B2 (en) * 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
KR20070069615A (ko) 2005-12-28 2007-07-03 삼성전자주식회사 움직임 추정장치 및 움직임 추정방법
US8265145B1 (en) * 2006-01-13 2012-09-11 Vbrick Systems, Inc. Management and selection of reference frames for long term prediction in motion estimation
KR100959538B1 (ko) 2006-03-30 2010-05-27 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
WO2007148906A1 (en) 2006-06-19 2007-12-27 Lg Electronics, Inc. Method and apparatus for processing a vedeo signal
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US7865030B2 (en) * 2006-09-13 2011-01-04 Broadcom Corporation Method and system for motion compensated temporal filtering using both FIR and IIR filtering
US8509313B2 (en) * 2006-10-10 2013-08-13 Texas Instruments Incorporated Video error concealment
US8184696B1 (en) * 2007-09-11 2012-05-22 Xilinx, Inc. Method and apparatus for an adaptive systolic array structure
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8311116B2 (en) * 2008-07-09 2012-11-13 Marvell World Trade Ltd. Method and apparatus for periodic structure handling for motion compensation
US8358696B2 (en) * 2008-12-31 2013-01-22 Intel Corporation Motion estimation techniques
FR2945698B1 (fr) * 2009-05-18 2017-12-22 Canon Kk Procede et dispositif de codage d'une sequence video
US8462852B2 (en) * 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US20110002387A1 (en) * 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
EP3285490B1 (en) * 2010-04-22 2021-03-10 HFI Innovation Inc. Motion prediction method
TWI403172B (zh) * 2010-08-27 2013-07-21 Himax Tech Ltd 動作向量的估計方法
RU2010144450A (ru) 2010-10-29 2012-05-10 ЭлЭсАй Корпорейшн (US) Оценка движения для видео транскодера
JP5721851B2 (ja) 2010-12-21 2015-05-20 インテル・コーポレーション Dmvd処理のシステムおよび方法の改善
JP5837575B2 (ja) 2011-04-12 2015-12-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
MX2013012020A (es) 2011-05-24 2013-12-10 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion /decodificacion de imagenes.
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
JP5865366B2 (ja) * 2011-05-27 2016-02-17 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
ES2779226T3 (es) 2011-05-31 2020-08-14 Sun Patent Trust Procedimiento de descodificación de vídeo y dispositivo de descodificación de vídeo
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
EP2728878B1 (en) 2011-06-30 2020-02-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
EP3487178A1 (en) 2011-08-03 2019-05-22 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
RU2477891C1 (ru) * 2011-09-02 2013-03-20 Открытое акционерное общество "Концерн радиостроения "Вега" Способ обнаружения модификации электронного изображения (варианты)
CA2850595C (en) 2011-10-19 2020-09-08 Panasonic Corporation Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus
TWI658725B (zh) * 2011-12-28 2019-05-01 日商Jvc建伍股份有限公司 動態影像解碼裝置、動態影像解碼方法及動態影像解碼程式
CN105791822A (zh) * 2012-01-18 2016-07-20 Jvc建伍株式会社 动图像解码装置以及动图像解码方法
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9503720B2 (en) * 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
RU2629359C1 (ru) * 2013-01-18 2017-08-29 ДжейВиСи КЕНВУД КОРПОРЕЙШН Устройство и способ декодирования движущегося изображения, долговременный считываемый компьютером носитель записи для хранения программы декодирования движущегося изображения
GB2534591A (en) * 2015-01-29 2016-08-03 Nokia Technologies Oy Video encoding and decoding
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
JP6946419B2 (ja) * 2017-04-13 2021-10-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 復号装置、復号方法及びプログラム
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
CN109063694B (zh) * 2018-09-12 2021-07-02 北京科技大学 一种视频目标检测识别方法
CN110312124B (zh) * 2019-07-31 2020-09-08 中国矿业大学 一种基于显著性多特征融合的移动巡检视频质量修正方法
WO2022040846A1 (zh) * 2020-08-24 2022-03-03 华为技术有限公司 一种优化运动矢量的方法及其相关设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3727530A1 (de) * 1987-08-18 1989-03-02 Philips Patentverwaltung Verfahren zur bestimmung von bewegungsvektoren
CA2079434A1 (en) * 1991-09-30 1993-03-31 Derek Andrew Motion vector estimation, motion picture encoding and storage
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US5835163A (en) * 1995-12-21 1998-11-10 Siemens Corporate Research, Inc. Apparatus for detecting a cut in a video
US5721595A (en) * 1996-06-19 1998-02-24 United Microelectronics Corporation Motion estimation block matching process and apparatus for video image processing
US5847776A (en) 1996-06-24 1998-12-08 Vdonet Corporation Ltd. Method for entropy constrained motion estimation and coding of motion vectors with increased search range
US6037986A (en) * 1996-07-16 2000-03-14 Divicom Inc. Video preprocessing method and apparatus with selective filtering based on motion detection
US5825930A (en) * 1997-03-05 1998-10-20 Samsung Electronics Co., Ltd. Motion estimating method
GB9712651D0 (en) * 1997-06-18 1997-08-20 Nds Ltd Improvements in or relating to encoding digital signals
JP3538055B2 (ja) * 1999-02-15 2004-06-14 日本電気株式会社 動きベクトル検出装置
US6532264B1 (en) * 2000-03-27 2003-03-11 Teranex, Inc. Processing sequential video images to detect image motion among interlaced video fields or progressive video images
US6842483B1 (en) * 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100870554B1 (ko) * 2007-01-08 2008-11-27 한양대학교 산학협력단 웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를위한 움직임 보상 시간적 필터링 방법 및 그 방법을실행하기 위한 프로그램이 기록된 기록매체

Also Published As

Publication number Publication date
EP1574038B1 (en) 2013-08-21
AU2003256763A8 (en) 2004-02-23
KR101018564B1 (ko) 2011-03-03
EP1574038A2 (en) 2005-09-14
RU2381630C2 (ru) 2010-02-10
WO2004014060B1 (en) 2007-08-02
US7023921B2 (en) 2006-04-04
EP1574038A4 (en) 2009-12-16
US20040028134A1 (en) 2004-02-12
AU2003256763A1 (en) 2004-02-23
MXPA05001448A (es) 2005-09-30
RU2005106280A (ru) 2005-10-10
WO2004014060A2 (en) 2004-02-12
WO2004014060A3 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
KR101018564B1 (ko) 블록 매치 품질을 결정하기 위한 방법 및 장치
EP1530831B1 (en) Method and apparatus for performing high quality fast predictive motion search
Grecos et al. Fast inter mode prediction for P slices in the H264 video coding standard
JP4224473B2 (ja) 適応的モード決定による動き予測方法
KR100739281B1 (ko) 움직임 추정 방법 및 장치
JP2002152760A (ja) ハイブリッド型高速動き推定方法及びその装置
US20150172687A1 (en) Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
JP2011528533A (ja) 動き推定反復検索のための推測的開始点選択
JPH09172644A (ja) アフィン変換による動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
KR20140095607A (ko) 인터 예측 방법 및 그 장치
CN114339218A (zh) 图像编码方法、图像编码装置、电子设备和可读存储介质
JP2011010297A (ja) 誤差絶対値和の推定システム及び推定方法
JP6339977B2 (ja) 映像符号化装置及び映像符号化プログラム
JP6696889B2 (ja) 画像符号化装置、画像符号化方法及びコンピュータプログラム
CN113891089A (zh) 一种运动信息候选列表的构建方法、装置及其设备
KR100802207B1 (ko) 동영상의 움직임 추정을 위한 움직임 예측방법 및 움직임추정 부호화기
KR100859073B1 (ko) 움직임 추정 방법
KR100747544B1 (ko) 움직임 추정 방법 및 장치
JP2020102669A (ja) 符号化装置及びプログラム
JP6849781B2 (ja) 画像符号化装置、画像符号化方法及びコンピュータプログラム
KR102173576B1 (ko) 인터 예측 방법 및 그 장치
KR102380722B1 (ko) 인터 예측 방법 및 그 장치
Sharabayko et al. Modified Fast Search for Intra Prediction Mode in H. 265/HEVC Standard
Shahid et al. A high quality adjustable complexity motion estimation algorithm for video encoders
JP2004235869A (ja) 動き補償予測符号化装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150206

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160205

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180208

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200213

Year of fee payment: 10