KR20100123841A - 움직임 보상 레지듀 기반 시간적 검색 범위 예측 - Google Patents

움직임 보상 레지듀 기반 시간적 검색 범위 예측 Download PDF

Info

Publication number
KR20100123841A
KR20100123841A KR1020107018729A KR20107018729A KR20100123841A KR 20100123841 A KR20100123841 A KR 20100123841A KR 1020107018729 A KR1020107018729 A KR 1020107018729A KR 20107018729 A KR20107018729 A KR 20107018729A KR 20100123841 A KR20100123841 A KR 20100123841A
Authority
KR
South Korea
Prior art keywords
gain
mrfme
video block
search range
motion
Prior art date
Application number
KR1020107018729A
Other languages
English (en)
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 KR20100123841A publication Critical patent/KR20100123841A/ko

Links

Images

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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

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

Abstract

복수 참조 프레임 움직임 추정(multiple reference frame motion estimation; MRFME)에서 복수의 참조 프레임을 사용하는 복잡도가 원하는 성능 레벨에 걸쳐서 평가될 수 있는 비디오 코딩에서의 움직임 추정을 위한 효율적인 시간적 검색 범위 예측이 제공된다. 이와 관련하여, 이득은 일반적인 움직임 추정(motion estimation) 또는 MRFME를 사용하고, 후자가 선택될 경우 복수의 프레임을 사용하기 위하여 이득이 결정될 수 있다. MRFME의 연산 복잡도 및/또는 성능에 있어서 문턱값 이득 이상을 제공하는 큰 시간적 검색 범위가 활용될 수 있다. 반대로, MRFME의 복잡한 연산이 비디오 블록 예측에 충분한 이득을 제공할 수 없다면, 더 작은 시간적 검색 범위(더 적은 수의 참조 프레임)가 사용되거나, MRFME에 걸쳐서 일반적인 움직임 편집(editing)이 선택될 수 있다.

Description

움직임 보상 레지듀 기반 시간적 검색 범위 예측{MOTION-COMPENSATED RESIDUE BASED TEMPORAL SEARCH RANGE PREDICTION}
본 기술은 일반적으로 디지털 비디오 코딩(digital video coding)에 관한 것이다. 특히 시간적 검색 범위(temporal search range)의 하나 이상의 참조 프레임(reference frame)을 이용한 움직임 추정(motion estimation)을 위한 기술에 관한 것이다.
컴퓨터 및 네트워킹 기술의 고비용 저성능 데이터 처리 시스템에서 저비용 고성능 통신, 문제 해결 및 엔터테인먼트(entertainment) 시스템으로의 진화는 컴퓨터 또는 다른 전자 장치 상에 오디오 및 비디오 신호를 디지털로(digitally) 저장하고 송신하기 위한 필요 및 요구를 증가시켰다. 예를 들면, 컴퓨터 사용자는 매일 개인용 컴퓨터 상에서 오디오 및 비디오를 재생(play)/기록(record)할 수 있다. 이러한 기술을 용이하게 하기 위해, 오디오/비디오 신호는 하나 이상의 디지털 포맷(format)으로 인코딩될 수 있다. 개인용 컴퓨터는 비디오 카메라, 디지털 카메라, 오디오 레코더 등과 같은 오디오/비디오 캡처(capture) 장치로부터의 신호를 디지털로 인코딩(encoding)하는데 사용될 수 있다. 부가적으로 또는 선택적으로, 장치 자체가 디지털 매체 상에의 저장을 위해 신호를 인코딩할 수 있다. 디지털로 저장되고 인코딩된 신호는 컴퓨터 또는 다른 전자 장치 상에서의 재생(playback)을 위해 디코딩(decoding)될 수 있다. 인코더(encoder)/디코더(decoder)는 동화상 전문가 그룹(Moving Picture Experts Group; MPEG) 포맷(MPEG-1, MPEG-2, MPEG-4 등) 등을 포함하는 디지털 보관(archival), 편집(editing), 및 재생을 달성하기 위한 여러 가지 포맷을 사용할 수 있다.
또한, 이러한 포맷을 사용하여, 디지털 신호가 컴퓨터 네트워크를 거쳐 장치 간에 송신될 수 있다. 예를 들면, 컴퓨터 및 디지털 가입자 회선(digital subscriber line; DSL), 케이블(cable), T1/T3 등과 같은 고속 네트워크를 활용하여, 컴퓨터 사용자는 온 세계의 시스템 상의 디지털 비디오 콘텐트(content)를 접근(access)하고/하거나 스트리밍(streaming)할 수 있다. 이러한 스트리밍에 대한 대역폭(bandwidth)이 일반적으로 근거리 접근(local access)만큼 크지 않고 저비용에서 처리 전력이 계속 증가하기 때문에, 인코더/디코더는 보통 신호를 송신하는데 필요한 대역폭의 양을 감소시키기 위해 인코딩/디코딩 단계 동안에 추가적인 처리를 요청한다.
따라서, 이전 참조 프레임(reference frame)에 기반한 픽셀(pixel) 또는 영영역(region) 예측을 제공하고, 따라서 대역폭을 거쳐 송신되어야할 픽셀/영역 정보의 양을 감소시키는, 움직임 추정(motion estimation; ME)과 같은 인코딩/디코딩 방법이 개발되었다. 일반적으로, 이는 예측 에러(error)[예컨대, 움직임 보상 레지듀(motion compensated residue)]만의 인코딩을 요구한다. H.264와 같은 표준이 복수의 이전 참조 프레임[예컨대, 복수 참조 프레임 움직임 측정(multiple reference frames motion estimation; MRFME)]으로 시간적 검색 범위를 확대하기 위하여 릴리스(release)되었다. 하지만, MRFME에서 활용된 프레임의 수가 증가할수록, 그 연산 복잡도도 증가한다.
본 명세서에 개시된 본 발명의 실시예들은 움직임 보상 레지듀 기반 시간적 검색 범위 예측을 제공한다.
이하에서는 본 명세서에 기술된 몇몇 측면들의 기본적인 이해를 제공하기 위한 단순화된 요약을 제시한다. 이하의 요약은 본 발명의 광범위한 개요가 아니거나 중요/핵심 요소들을 밝히거나 본 명세서에 기술된 몇몇 측면의 범위를 묘사하기 위한 것이 아니다. 이하의 요약은 단지 후술하는 상세한 설명의 서문으로서 몇몇 개념들을 단순화된 형태로 제시하기 위한 것이다.
단일 참조 프레임 움직임 추정(motion estimation; ME) 또는 복수 참조 프레임 움직임 추정(multiple reference frames motion estimation; MRFME) 및/또는 MRFME 내의 복수의 프레임을 이용한 이득이 결정될 수 있는 비디오 코딩(coding)에서의 여러가지 프레임 움직임 추정이 제공된다. 이득이 원하는 문턱값(threshold) 이상이면, 적절한 ME 또는 MRFME가 비디오 블록(block)을 예측하기 위해 활용될 수 있다. 이득 결정 또는 계산은 추정된 참조 프레임에 걸친 움직임 보상 레지듀(motion-compensted residue)의 선형 모델(model)에 기반할 수 있다. 이와 관련하여, MRFME를 활용하는 성능 이득은 MRFME를 통해 움직임을 추정하는 효율적인 방식을 제공하기 위해 연산 복잡도와 밸런싱(balancing)될 수 있다.
예를 들면, 추정된 비디오 블록에 시간적으로 선행하여 제1 참조 프레임으로 시작하여, 참조 프레임의 움직임 보상 레지듀가, 비디오 블록과 비교하여, 주어진 이득 문턱값 이상이면, 정규 ME가 아니라 MRFME가 수행될 수 있다. 후속 참조 프레임의 움직임 보상 레지듀가, 이전 참조 프레임과 비교하여, 동일한 또는 다른 문턱값과 부합하면, 추가 프레임을 추가하는 이득이 주어진 문턱값에 따른 MRFME의 연산 복잡도에 의해 더 이상 정당화(justify)되지 않을 때까지 MFRME가 추가 참조 프레임 등과 함께 수행될 수 있다.
이하에서는, 상기 및 관련 목적을 달성하기 위하여, 몇몇 예시적인 측면이 상세한 설명 및 첨부된 도면을 참조로 설명된다. 이들 측면들은 실현될 수 있는 다양한 방법들을 지시하는 것이며, 이들 모두는 본 명세서에 의해 포함되는 것으로 의도된다. 다른 이점 및 새로운 기능들이 도면을 참조하여 후술하는 상세한 설명으로부터 명백해질 수 있다.
움직임 보상 레지듀 기반 시간적 검색 범위 예측을 제공할 수 있다.
도 1은 비디오를 인코딩(encoding)하기 위해 움직임을 추정하는 예시적인 시스템의 블록도를 도시한다.
도 2는 움직임을 추정하기 위해 하나 이상의 참조 프레임을 이용하는 이득을 측정하는 예시적인 시스템의 블록도를 도시한다.
도 3은 비디오 블록의 움직임 벡터(vector)를 계산하고 비디오 블록(block)에 대하여 움직임을 추정하기 위해 하나 이상의 참조 프레임을 이용하는 이득을 결정하는 예시적인 시스템의 블록도를 도시한다.
도 4는 움직임을 추정하고/하거나 비디오를 인코딩하기 위해 추론(inference)을 활용하는 예시적인 시스템의 블록도를 도시한다.
도 5는 하나 이상의 참조 프레임을 활용하는 이득에 기반하여 움직임을 추정하기 위한 예시적인 순서도를 도시한다.
도 6은 시간적 검색 범위(temporal search range)를 결정하기 위해 하나 이상의 비디오 블록의 레지듀 에너지(residue energy)를 비교하기 위한 예시적인 순서도를 도시한다.
도 7은 움직임 추정을 위해 하나 이상의 참조 프레임을 이용하는 계산된 이득에 기반하여 시간적 검색 범위를 결정하기 위한 예시적인 순서도를 도시한다.
도 8은 적절한 동작 환경을 도시하는 개략적인 블록도이다.
도 9는 샘플(sample) 컴퓨팅 환경의 개략적인 블록도이다.
움직임 보상 레지듀(motion-compesated residue)를 위한 선형 모델에 기반한 복수 참조 프레임 움직임 측정(multiple reference frames motion estimation; MRFME)을 위해 효율적 시간적 검색 범위(temporal search range) 예측이 제공된다. 예를 들면, MRFME에서 대략 참조 프레임을 검색하는 이득은 주어진 영역(region), 픽셀(pixel), 또는 프레임의 다른 부분에 대해 현재 레지듀를 활용함으로써 추정될 수 있다. 시간적 검색 범위는 추정에 기반하여 결정될 수 있다. 따라서, 주어진 프레임의 부분에 대하여, MRFME를 위해 복수의 이전 참조 프레임을 이용하는 이점이 MRFME의 비용 및 복잡도에 대해 측정될 수 있다. 이와 관련하여, MRFME는 MRFME가 사용될 때 주어진 문턱값(threshold) 이상의 이득을 가진 부분에 대해 활용될 수 있다. MRFME는 연산적으로 집약적(intensive)이므로(특히 참조 프레임의 수가 증가할수록), 그것이 이득 문턱값에 따라 유리할 때 정규 ME 대신에 사용될 수 있다.
일 예에서, 이득이 문턱값 이상이면 정규 ME 대신에 MRFME가 사용될 수 있지만, 다른 예에서, 주어진 부분에 대하여 MRFME에서 사용되는 참조 프레임의 수가 참조 프레임의 수에 대한 MRFME의 이득 계산에 기반하여 조정될 수 있다. 프레임의 수는 예를 들어, 인코딩(encoding)/디코딩(decoding)에서 연산 세기(computational intensity) 및 정확성(accuracy) 또는 성능의 최적 밸런스(optimal balance)에 도달하기 위해 주어진 부분에 대하여 조정될 수 있다. 또한, 이득은 정규 ME 또는 더 짧은 시간적 검색 범위(예컨대, MRFME에 활용되는 더 적은 수의 참조 프레임)의 평균 피크 신호 대 잡음 비(average peak signal-to-noise ratio; PSNR)에 대한 MRFME(또는 MRFME에 활용되는 복수의 참조 프레임)의 평균 PSNR와 관련될 수 있다.
본 발명의 여러 가지 측면이 첨부된 도면을 참조로 지금 기술된다. 여기서 유사 참조 번호는 도면을 통틀어 유사 또는 상응하는 엘리먼트(element)를 참조한다. 하지만 본 발명과 관련된 도면 및 상세한 설명은 개시된 특정 형태로 본 발명을 한정하는 것으로 의도되지 않는다. 대신에, 본 발명은 본 발명의 사상 및 범위 내의 모든 변경(modification), 균등물(equivalent) 및 대안(alternative)을 포함하는 것이다.
이제 도면으로 와서, 도 1은 비디오를 디지털로 인코딩/디코딩하기 위해 움직임을 추정하는 것을 용이하게 하는 시스템(100)을 도시한다. 비디오 블록을 예측하기 위한 하나 이상의 참조 프레임을 활용할 수 있는 움직임 추정 컴포넌트(component)(102) 및 예측된 블록에 적어도 일부 기반하여 디지털 포맷(format)으로/으로부터 비디오를 인코딩/디코딩하는 비디오 코딩 컴포넌트(104)가 제공된다. 블록은 예컨대, 픽셀, 픽셀의 모음(collection), 또는 실질적으로 비디오 프레임의 임의의 부분일 수 있다는 것이 인식되어야 한다. 예를 들면, 인코딩을 위해 프레임 또는 블록을 수신하면, 움직임 추정 컴포넌트(102)는 오로지 인코딩될 필요가 있는 예측 에러와 같은 현재 비디오 블록 또는 프레임을 예측하기 위해 하나 이상의 이전 비디오 블록 또는 프레임을 평가할 수 있다. 비디오 코딩 컴포넌트(104)는 후속 디코딩에 있어서, 블록/프레임에 대한 움직임 보상 레지듀인 예측 에러를 인코딩할 수 있다. 이는 일 예에서 H.264 코딩 표준을 이용하여 적어도 일부 달성될 수 있다.
H.264 코딩 표준을 활용함으로써, 본 명세서에 기술된 측면을 통해 효율성을 증대시킴과 동시에 표준의 기능성이 레버리지(leverage)될 수 있다. 예를 들면, 비디오 코딩 컴포넌트(104)는 움직임 추정 컴포넌트(102)에 의한 움직임 추정을 위해 여러 가지 블록 크기를 선택하기 위해 H.264 표준을 활용할 수 있다. 블록 크기를 선택하는 것은 구성 설정(configuration setting), 다른 블록 크기에 대한 일 블록 크기의 추론된(inferred) 성능 이득 등에 기반하여 수행될 수 있다. 또한, H.264 표준은 MRFME를 수행하기 위해 움직임 추정 컴포넌트(102)에 의해 사용될 수 있다. 또, 움직임 추정 컴포넌트(102)는 움직임 추정을 결정하기 위해 주어진 블록에 대하여 복수의 참조 프레임을 이용한 MRFME를 수행하고/하거나 (하나의 참조 프레임으로) 정규 ME를 수행하는 이득을 계산할 수 있다. 언급된 바와 같이, MRFME는 활용되는 참조 프레임의 수(예컨대, 시간적 검색 범위)가 증가할수록 연산적으로 집약적일 수 있고, 때때로 사용되는 프레임의 수의 이러한 증가는 예측 움직임에 약간의 이득만을 제공한다. 따라서, 움직임 추정 컴포넌트(102)는 주어진 블록에 대하여 효율적인 움직임 추정을 제공하기 위해, MRFME 내의 시간적 검색 범위의 연산 세기와 이하 MRF 이득(MRFGain)이라 하는 이득에 기반한 정확성 및/또는 성능을 밸런싱(balancing)할 수 있다.
일 예에서, MRF 이득은 주어진 블록의 움직임 보상 레지듀에 적어도 일부 기반하여 움직임 추정 컴포넌트(102)에 의해 계산될 수 있다. 언급된 바와 같이, 이는 선택된 ME 또는 MRFME에 기반한 주어진 블록에 대한 예측 에러일 수 있다. 예를 들면, 비디오 블록의 복수 참조 프레임을 검색하기 위한 MRF 이득이 작으면, 추가 이전 참조 프레임을 활용하는 과정은 연산에서 높은 복잡도를 제공함과 동시에 낮은 성능 향상을 산출할 수 있다. 이와 관련하여, 더 작은 시간적 검색 범위를 활용하는 것이 보다 바람직할 수 있다. 반대로, 비디오 블록의 MRF 이득이 크면(또는 예컨대, 특정 문턱값 이상이면), 시간적 검색 범위는 연산 복잡도에서의 증가를 정당화하는 더 큰 이득을 산출할 수 있다. 이 경우에, 더 큰 시간적 검색 범위가 활용될 수 있다. 움직임 추정 컴포넌트(102) 및/또는 비디오 코딩 컴포넌트(104)의 기능성은 여러 가지 컴퓨터 및/또는 전자 컴포넌트에서 구현될 수 있다는 것이 인식되어야 한다.
일 예에서, 움직임 추정 컴포넌트(102), 비디오 코딩 컴포넌트(104) 및/또는 그들의 기능성은 비디오 편집 및/또는 재생에 활용되는 장치에서 구현될 수 있다. 이러한 장치는 송신을 위해 요구되는 대역폭을 최소화하기 위한 비디오의 효율적인 인코딩/디코딩을 제공하기 위해, 예를 들면, 신호 방송 기술, 저장 기술, 대화(conversation) 기술(네트워킹 기술 등), 미디어 스트리밍(media streaming) 및/또는 메시징 서비스 등에서 활용될 수 있다. 따라서, 일 예에서, 더 낮은 대역폭 성능(capability)을 제공하기 위한 로컬 프로세싱 파워(local processing power)가 더 강조될 수 있다.
도 2를 참조하면, 복수의 참조 프레임으로 MRFME를 활용하는 이득을 계산하기 위한 시스템(200)이 도시된다. 움직임 추정 컴포넌트(102)는 비디오 블록 및/또는 블록에 대한 움직임 보상 레지듀를 예측하기 위하여 제공된다. 비디오 코딩 컴포넌트(104)는 또한 송신 및/또는 디코딩을 위해 비디오의 프레임 또는 블록(예컨대, ME 내의 예측 에러로서)을 인코딩하기 위해 제공된다. 움직임 추정 컴포넌트(102)는 주어진 비디오 블록에 대하여 움직임을 추정함에 있어서, 참조 프레임 컴포넌트(204)로부터의 하나 이상의 참조 프레임을 이용하는 측정 가능한 이점을 결정할 수 있는 MRF 이득 계산 컴포넌트(202)를 포함할 수 있다. 예를 들면, 움직임 추정에 의해 비디오 블록 또는 프레임의 수신이 예측될 때, MRF 이득 계산 컴포넌트(202)는 비디오 블록에 대한 효율적인 움직임 추적을 제공하기 위하여 ME 또는 MRFME(및/또는 MRFME에 사용하기 위한 복수의 참조 프레임)을 활용하는 이득을 결정할 수 있다. MRF 이득 계산 컴포넌트(202)는 참조 프레임 컴포넌트(204)가 복수의 이전 참조 프레임을 이용하는 효율성을 회수(retrieve)하고/하거나 평가하도록 레버리지할 수 있다.
상기 기술된 바와 같이, MRF 이득 계산 컴포넌트(202)는 더 짧고 더 긴 시간적 검색 범위의 MRF 이득을 계산할 수 있고, 움직임 추정 컴포넌트(102)는 그 연산 복잡도뿐 아니라 선택된 추정의 성능 이득을 고려하는 밸런싱된 모션 추정을 결정함에 있어 활용될 수 있다. 또한, 언급된 바와 같이, 주어진 블록 또는 프레임에 대하여 움직임 보상 레지듀(또는 예측 에러)의 선형 모델에 적어도 일부 기반하여 시간적 검색 범위가 선택될 수 있다(그리고 따라서 MRF 이득이 계산될 수 있다).
예를 들면, F를 비디오 인코딩을 원하는 현재 프레임 또는 블록이라 하면, 이전 프레임은
Figure pct00001
와 같이 나타낼 수 있고 , 여기서 k는 F 및 참조 프레임
Figure pct00002
간의 시간적 거리이다. 따라서, F에서 픽셀 s가 주어지면,
Figure pct00003
Figure pct00004
로부터의 s의 예측을 나타낼 수 있다. 따라서,
Figure pct00005
로부터의 s의 움직임 보상 레지듀
Figure pct00006
Figure pct00007
일 수 있다.
또한,
Figure pct00008
는 영평균(zero-mean)이고 분산(variance)은
Figure pct00009
인 랜덤 변수일 수 있다. 또한,
Figure pct00010
는 다음의 수학식과 같이 분해될 수 있다.
Figure pct00011
여기서
Figure pct00012
는 F 및
Figure pct00013
간의 시간적 혁신(innovation)일 수 있고,
Figure pct00014
는 참조 프레임
Figure pct00015
내의 서브-정수(sub-integer) 픽셀 보간(interpolation) 에러일 수 있다. 따라서,
Figure pct00016
Figure pct00017
의 분산으로서 각각
Figure pct00018
Figure pct00019
를 나타내고
Figure pct00020
Figure pct00021
가 독립적이라고 가정하면, 다음의 수학식을 얻을 수 있다.
Figure pct00022
시간적 거리 k가 증가할수록, 현재 프레임(예컨대, F) 및 참조 프레임(예컨대,
Figure pct00023
) 간의 시간적 혁신도 증가한다. 따라서,
Figure pct00024
는 k에 대하여 선형적으로 증가하는 것으로 가정될 수 있고, 다음의 수학식과 같이 나타난다.
Figure pct00025
여기서
Figure pct00026
는 k에 대한
Figure pct00027
의 증가율이다. 비디오 프레임 및/또는 블록 내의 객체(object)가
Figure pct00028
및 F 간의 비정수(non-integer) 픽셀 변위(displacement)(예컨대, 비정수 픽셀 움직임)으로 움직이면, F 및
Figure pct00029
내의 객체의 샘플링(sampling) 위치는 상이할 수 있다. 이 경우에,
Figure pct00030
로부터의 예측 픽셀은 서브-정수 위치일 수 있고, 이는 정수 위치의 픽셀을 사용하는 보간을 요구할 수 있으며, 이는 서브-정수 보간 에러
Figure pct00031
의 발생을 초래한다. 이 보간 에러는 시간적 거리 k와 관련되어서는 안 된다. 하지만, 이 때문에,
Figure pct00032
는 k-불변(invariance) 파라미터(parameter)
Figure pct00033
를 사용하여 모델링될 수 있고, 따라서,
Figure pct00034
이다. 그러므로, MRF 이득 계산 컴포넌트(202)에 의해 활용되는 움직임 보상 레지듀의 선형 모델은 다음의 수학식과 같이 나타난다.
Figure pct00035
이 선형 모델을 이용하여, 후술하는 방식에서 주어진 프레임 또는 비디오 블록에 대하여, MRF 이득 계산 컴포넌트(202)는 ME, 또는 MRFME를 위한 참조 프레임 컴포넌트(204)로부터의 하나 이상의 참조 프레임을 활용하는 MRF 이득을 결정할 수 있다. 블록 레지듀 에너지는 블록에 걸쳐 평균화된
Figure pct00036
Figure pct00037
로 정의될 수 있다. 보통, 더 작은
Figure pct00038
는 더 좋은 예측을 나타낼 수 있고 따라서 더 높은 코딩 성능을 보인다. MRFME에서,
Figure pct00039
에 시간적으로 선행하는 프레임의 블록 레지듀 에너지인
Figure pct00040
Figure pct00041
보다 작으면, 참조 프레임을 더 검색하는 것은 MRFME에서의 성능을 향상시킬 수 있다.
그 후에, 각각 블록에 걸쳐 평균화된
Figure pct00042
Figure pct00043
Figure pct00044
Figure pct00045
가 정의될 수 있다. 선형 모델에서 상기 가정된 바와 같이
Figure pct00046
Figure pct00047
가 독립적이므로,
Figure pct00048
이다. MRF 이득을 결정함에 있어서, MRF 이득 계산 컴포넌트(202)는 아래와 같이 ME 또는 MRFME에서 활용하는 효율적인 수만큼의 참조 프레임을 획득하기 위해, 증가하는 k에 대하여
Figure pct00049
Figure pct00050
의 양상을 조사할 수 있다. 시간적 거리가 증가하면, 프레임 간의 시간적 혁신도 증가할 수 있다. 따라서,
Figure pct00051
Figure pct00052
보다 더 큰 크기를 가질 수 있고, 이는
Figure pct00053
로 나타날 수 있다. 반대로, 현재 프레임 F 내의 객체는, 몇 가지 경우에서,
Figure pct00054
에 대한 비정수 픽셀 움직임 이 아니라,
Figure pct00055
에 대한 정수 픽셀 움직임을 가질 수 있다. 이 경우에,
Figure pct00056
에 서브-정수 픽셀 보간 에러가 존재하는 반면(예컨대,
Figure pct00057
),
Figure pct00058
에서 보간 에러는 0이다(
Figure pct00059
). F 내의 객체가
Figure pct00060
에 대한 정수 픽셀 움직임을 갖는다고 가정하면,
Figure pct00061
이다. 따라서, 시간적 검색 범위를
Figure pct00062
에서
Figure pct00063
로 확장하면,
Figure pct00064
Figure pct00065
라 가정하면, 레지듀 에너지의 증가
Figure pct00066
는 다음과 같은 수학식일 수 있다.
Figure pct00067
이 경우에,
Figure pct00068
이면,
Figure pct00069
는 음의 값이고, 이는 참조 프레임 컴포넌트(204)로부터의 하나의 추가 참조 프레임
Figure pct00070
를 검색하는 것이 더 작은 레지듀 에너지를 야기하고, 따라서 비디오 코딩 컴포넌트(104)에 의한 향상된 코딩 성능을 야기한다는 것을 의미할 수 있다. 또한, 큰
Figure pct00071
및 작은
Figure pct00072
에 대하여, 움직임 추정에서 추가 참조 프레임을 활용함으로써 큰 레지듀 에너지 감소 및 큰 MRF 이득이 달성될 수 있다.
이 예에서,
Figure pct00073
Figure pct00074
의 값은 상기 제공된 선형 모델의 파라미터(예컨대,
Figure pct00075
Figure pct00076
)와 관련된다. 파라미터
Figure pct00077
는 보간 에러 분산
Figure pct00078
을 나태낼 수 있다. 따라서, 큰
Figure pct00079
를 가진 비디오 신호(또는 신호의 블록)에 대하여
Figure pct00080
도 큰 크기를 산출할 수 있고,
Figure pct00081
도 커질 수 있다.
Figure pct00082
의 증가율로서의 파라미터
Figure pct00083
를 이용하여, 작은
Figure pct00084
를 가진 비디오 신호에 대하여,
Figure pct00085
Figure pct00086
는 비슷할 수 있고, 따라서
Figure pct00087
는 작을 수 있다. 따라서, 큰
Figure pct00088
및 작은
Figure pct00089
를 가진 비디오 신호(또는 블록)에 대하여, 상응하는 MRF 이득은 클 수 있다. 반대로, 작은
Figure pct00090
및 큰
Figure pct00091
의 경우에, MRF 이득은 작을 수 있다. MRF 이득 계산 컴포넌트(202)는 MRF 이득 및/또는 주어진 비디오 블록에 대한 특정 문턱값과의 관계에 적어도 일부 기반하여 MRFME에 대한 참조 프레임 컴포넌트(204)로부터의 추가 참조 프레임을 활용할지를 결정할 수 있다.
일 예에서, MRF 이득이 MRF 이득 컴포넌트(202)에 의해 결정되면, 비디오 내의 블록 또는 프레임에 대하여 후술하는 시간적 검색 범위 예측이 사용될 수 있다. MRF 이득에 대하여 다른 범위 예측이 사용될 수 있고, 이는 이득 계산의 사용에 대한 설명을 용이하게 하기 위한 일 예일 뿐임이 인식되어야 한다.
Figure pct00092
이 검색될 제1 참조 프레임이라 할 때 MRFME가 시간 역순으로 수행된다고 가정하면, MRF 이득의 추정 G는 상이한
Figure pct00093
에 대하여(예컨대, k > 1 대 k = 1), 변경될 수 있다. 예를 들면, 현재 참조 프레임이
Figure pct00094
(k > 1)이고, 이 프레임 상의 시간적 검색이 완료되었다고 가정하면, 다음 참조 프레임
Figure pct00095
이 검색되어야 할지를 결정하기 위해
Figure pct00096
Figure pct00097
가 이용가능한 정보인
Figure pct00098
Figure pct00099
로부터 추정될 수 있다. 통계적으로
Figure pct00100
Figure pct00101
로 수렴하고, 따라서
Figure pct00102
Figure pct00103
의 추정일 수 있다. 상기 주어진 움직임 보상 레지듀의 선형 모델에서
Figure pct00104
Figure pct00105
로 대체하면, 파라미터
Figure pct00106
Figure pct00107
가 쉽게 얻어질 수 있고, 상응하는
Figure pct00108
는 다음의 수학식과 같다.
Figure pct00109
하지만, 현재 참조 프레임이
Figure pct00110
(k=1)인 경우,
Figure pct00111
가 이용불가능하므로,
Figure pct00112
Figure pct00113
가 상기 공식을 이용하여 계산될 수 없다. 이 경우에,
Figure pct00114
및 블록
Figure pct00115
내의 레지듀의 평균은 MRF 이득 G를 추정하기 위해 평가될 수 있다. 서브-정수 픽셀 보간 필터는 저대역 통과 필터(low-pass filter; LF)이므로, 참조 프레임에서 고주파(high frequency; HF) 성분을 회복할 수 없기 때문에 현재 블록의 HF는 보상될 수 없다. 그 결과, 보간 에러는 작은 LF 성분 및 큰 HF 성분을 가질 수 있다. 따라서,
Figure pct00116
이 작고
Figure pct00117
이 크면(예컨대, 레지듀가 작은 LF 성분 및 큰 HF 성분을 가지면), 레지듀의 우세(dominant) 성분은 이 경우에 큰
Figure pct00118
및 작은
Figure pct00119
를 산출하는
Figure pct00120
일 수 있다. 따라서, G는 다음과 같은 수학식을 사용하여 추정될 수 있다.
Figure pct00121
인수(factor)
Figure pct00122
는 훈련 데이터(training data)로부터 조정(tune)된다. 몇 가지 예에서, 고정된 값의
Figure pct00123
이 상이한 시퀀스(sequence)에 대하여 사용될 수 있다(
Figure pct00124
= 6 등).
MRF 이득이 MRFME의 주어진 참조 프레임 활용 인자에 대해 충분한지를 결정하기 위해, G의 값은 미리 정의된 문턱값 TG와 비교될 수 있다. G가 TG보다 크면(G > TG), 참조 프레임을 더 검색하는 것이 성능을 향상시킬 수 있고, 따라서 ME가
Figure pct00125
에 대해 계속될 수 있다. 하지만, G ≤ TG이면, 현재 블록의 MRFME는 중단될 수 있고, 참조 프레임의 나머지는 검색되지 않을 것이다. TG가 높아질수록, 더 많은 연산을 피하게 되고, TG가 낮아질수록, 더 적은 성능 드롭이 달성된다는 것이 인식되어야 한다. MRF 이득 계산 컴포넌트(202) 또는 다른 컴포넌트는 원하는 성능/복잡도 밸런스를 달성하기 위해 문턱값을 적절하게 조정할 수 있다.
이제 도 3을 참조하면, 레지듀를 예측하여 움직임 추정 참조 프레임 시간적 검색을 조정하기 위한 시스템(300)이 도시된다. 하나 이상의 비디오 블록 또는 하나 이상의 비디오 프레임의 일부를 추정하기 위해 여러 가지 참조 프레임 활용을 이용하여 ME 또는 MRFME을 레버리지할 수 있는 움직임 추정 컴포넌트(102) 및 움직임 추정에 기반하여 비디오 블록(또는 예측 에러와 같이 거기에 관련된 정보)을 인코딩할 수 있는 비디오 코딩 컴포넌트(104)가 제공된다. 또한, 움직임 추정 컴포넌트(102)는, 상기 기술된 바와 같이, 그 연산 비용(computation cost)에 대하여 비디오 블록을 추정하기 위해 시간적 검색 범위에서 참조 프레임 컴포넌트(204)에 대해 하나 이상의 참조 프레임을 활용하는 이점을 결정할 수 있는 MRF 이득 계산 컴포넌트(202), 및 시간적 검색 범위를 결정하는데 부가적으로 또는 선택적으로 사용될 수 있는 움직임 벡터 컴포넌트(302)를 포함할 수 있다.
일 예에 따르면, MRF 이득 계산 컴포넌트(202)는 상기 기술된 계산에 기반하여 참조 프레임 컴포넌트(204)로부터의 참조 프레임의 하나 이상의 시간적 검색 범위의 MRF 이득을 결정할 수 있다. 또한, 움직임 벡터 컴포넌트(302)는 또한 몇 가지 경우에서 비디오 블록에 대해 최적 시간적 검색 범위를 결정할 수 있다. 예를 들면, 현재 프레임 F와 관련된 참조 프레임
Figure pct00126
에 대하여, 움직임 벡터 컴포넌트(302)는 움직임 벡터
Figure pct00127
의 위치를 파악(locate)하도록 시도한다. 찾아낸 최상의 움직임 벡터
Figure pct00128
가 정수 픽셀 움직임 벡터이면, 비디오 블록 내의 객체가
Figure pct00129
와 F 간에 정수 움직임을 갖는다고 가정될 수 있다.
Figure pct00130
내의 서브-픽셀 보간 에러가 존재하지 않기 때문에, 나머지 참조 프레임에서 움직임 벡터 컴포넌트(302)에 의해 결정된 것보다 더 좋은 예측을 찾는 것은 어려울 수 있다. 따라서, 움직임 벡터 컴포넌트(302)는 이러한 예에서 시간적 검색 범위를 결정하는데 활용될 수 있다. 움직임 추정 컴포넌트(102)의 어떤 컴포넌트가 시간적 검색 범위를 결정하는가에 상관없이, 비디오 코딩 컴포넌트(104)는 예를 들어, 후속하는 저장, 송신 또는 접근을 위해 정보를 인코딩할 수 있다.
이 예에 따르면, 움직임은 아래와 같은 방식으로 추정될 수 있다. k = 1(제1 참조 프레임
Figure pct00131
)일 때,
Figure pct00132
에 대하여 움직임 추정이 수행될 수 있고,
Figure pct00133
,
Figure pct00134
Figure pct00135
이 얻어질 수 있다. 그 후에, G는 상기 제공된 다음의 공식을 이용하여 MRF 이득 계산 컴포넌트(202)에 의해 추정될 수 있다.
Figure pct00136
또한, 움직임 벡터 컴포넌트(302)는 비디오 블록에 대하여 참조 프레임 내에서 최상의 움직임 벡터
Figure pct00137
를 찾을 수 있다. G ≤ TG(TG는 문턱값 이득임)이거나
Figure pct00138
가 정수 픽셀 움직임 벡터이면, 움직임 추정이 중단될 수 있다.
Figure pct00139
가 정수 픽셀 움직임 벡터이면, 시간적 검색 범위를 결정하는데 사용될 수 있다. 그렇지 않으면 G ≤ TG이고 시간적 검색 범위는 단순히 제1 참조 프레임이다. 비디오 코딩 컴포넌트(104)는 상기 기술된 바와 같이 비디오 블록을 인코딩하기 위해 이러한 정보를 활용할 수 있다.
하지만, G > TG이거나
Figure pct00140
가 정수 픽셀 움직임 벡터가 아니면, MRF 이득 계산 컴포넌트(202)는 k = k + 1로 설정하여 다음 프레임으로 넘어갈 수 있다. 움직임 추정은
Figure pct00141
에 대하여 수행될 수 있고, 다시 이 선행 프레임에 대하여
Figure pct00142
Figure pct00143
가 얻어질 수 있다. 그 후에, G는 상기 제공된 다음과 같은 다른 공식을 사용하여 추정될 수 있다.
Figure pct00144
또, 움직임 벡터 컴포넌트(302)는 참조 프레임 내에서 최상의 움직임 벡터
Figure pct00145
를 찾을 수 있다. G > TG이거나
Figure pct00146
가 정수 픽셀 움직임 벡터가 아니면, MRF 이득 계산 컴포넌트(202)는 k = k + 1로 설정하여 다음 프레임으로 넘어갈 수 있고 이 단계를 반복한다. G ≤ TG이거나
Figure pct00147
가 정수 픽셀 움직임 벡터이면, 현재 블록의 MRFME가 중단될 수 있다. 가 정수 픽셀 움직임 벡터이면, 시간적 검색 범위를 결정하는데 사용될 수 있다. 그렇지 않으면 G ≤ TG이고 시간적 검색 범위는 평가된 프레임의 수이다. 최대 수의 프레임은 또한 원하는 효유성을 달성하기 위하여 검색을 하기 위해 구성될 수 있다.
이제 도 4를 참조하면, 하나 이상의 참조 프레임을 사용하여 MRFME의 이득을 결정하는 것을 용이하게 하는 시스템(400)이 도시된다. 제공된 비디오 코딩 컴포넌트(104)를 통해 인코딩하기 위하여 에러에 기반하여 비디오 블록을 예측할 수 있는 움직임 추정 컴포넌트(102)가 제공된다. 움직임 추정 컴포넌트(102)는 이후의 경우에 사용하기 위하여 ME 또는 MRFME 및 복수의 참조 프레임을 활용하는 이득을 결정할 수 있는 MRF 이득 계산 컴포넌트(202) 및 MRF 이득 계산 컴포넌트(202)가 그 계산을 위해 참조 프레임을 회수할 수 있는 참조 프레임 컴포넌트(204)를 포함할 수 있다. 또한, 움직임 추정 컴포넌트(102), 그것의 컴포넌트 및/또는 비디오 코딩 컴포넌트(104)에 추론 기술을 제공할 수 있는 추론(inference) 컴포넌트(402)가 도시된다. 별개의 컴포넌트로 도시되었으나, 추론 컴포넌트(104) 및/또는 그 기능성은 움직임 추정 컴포넌트(102), 그것의 컴포넌트 및/또는 비디오 코딩 컴포넌트(104) 중의 하나 이상 내에서 구현될 수 있음이 인식되어야 한다.
일 예에서, MRF 이득 계산 컴포넌트(202)는 상기 기술된 바와 같이[예컨대, 참조 프레임을 얻기 위해 참조 프레임 컴포넌트(204)를 이용하고 이득을 결정하기 위해 계산을 수행하여] 움직임 추정을 위해 주어진 비디오 블록에 대해 시간적 검색 범위를 결정할 수 있다. 일 예에 따르면, 추론 컴포넌트(402)는 원하는 문턱값(상기 예의 TG 등)을 결정하기 위해 활용될 수 있다. 비디오/블록 타입, 비디오/블록 크기, 비디오 소스(source), 인코딩 포맷, 인코딩 어플리케이션(application), 장래의(prospective) 디코딩 장치, 저장 포맷 또는 위치, 비슷한 비디오/블록에 대한 이전 문턱값 또는 비슷한 특성, 원하는 성능 통계, 이용가능한 처리 전력, 이용가능한 대역폭 등을 가지는 것 중의 하나 이상의 적어도 일부에 기반하여 추론될 수 있다. 또한, 추론 컴포넌트(402)는 이전 프레임 카운트(count) 등에 일부 기반하여 MRFME를 위한 최대 참조 프레임 카운트를 추론하는데 활용될 수 있다.
또한, 추론 컴포넌트(402)는 움직임 추정 컴포넌트(102)로부터의 움직임 추정을 활용하여 인코딩 포맷을 추론하기 위해 비디오 코딩 컴포넌트(104)에 의해 레버리지될 수 있다. 또, 추론 컴포넌트(402)는 추정을 위해 움직임 추정 컴포넌트(102)로 송신하기 위하여 블록 크기를 추론하는데 사용될 수 있고, 이 추정은 인코딩 포맷/어플리케이션, 의사(suspected) 디코딩 장치 또는 그것의 성능(capability), 저장 포맷 및 위치, 이용 가능한 자원(resource) 등과 같은 문턱값을 결정하는데 사용되는 것과 비슷한 인자(factor)에 기반할 수 있다.
전술한 시스템, 아키텍처(architecture) 등은 몇몇 컴포넌트들 사이의 상호 작용을 참조로 하여 기술되었다. 이러한 시스템들 및 컴포넌트들은, 이들 컴포넌트들 또는 특정 서브컴포넌트들, 특정 컴포넌트들 또는 서브컴포넌트들 중 몇몇, 및/또는 추가 컴포넌트들을 포함할 수 있음이 인식되어야 한다. 서브컴포넌트들은 또한 상위 컴포넌트에 포함되기보다는 다른 컴포넌트들에 통신 연결된 컴포넌트들로 구현될 수도 있다. 나아가, 하나 이상의 컴포넌트들 및/또는 서브컴포넌트들이 단일 컴포넌트로 조합되어 집합 기능을 제공할 수 있다. 시스템, 컴포넌트 및/또는 서브컴포넌트 간의 통신은 푸시(push) 및/또는 풀(pull) 모델에 따라 달성될 수 있다. 컴포넌트들은, 명확성을 위해 본 명세서에 특정하여 기술되지 않았으나 당업자에게 알려진 하나 이상의 다른 컴포넌트들과 상호 작용할 수도 있다.
또한, 인식될 수 있는 바와 같이 개시된 시스템 및 하기 방법의 여러 가지 부분은 인공 지능, 기계 학습(machine learning) 또는 지식 또는 법칙 기반 컴포넌트, 서브컴포넌트, 프로세스, 수단, 방법론 또는 메커니즘[예컨대, 서포트 벡터 머신(support vector machine), 신경 네트워크(neural network), 전문가 시스템(expert system), 베이지안 신뢰 네트워크(Bayesian belief network), 퍼지 이론(fuzzy logic), 데이터 퓨전 엔진(data fusion engine), 분류기(classifier)...]을 포함하거나 그것들로 구성할 수 있다. 이러한 컴포넌트는 특히 수행되는 특정 메커니즘 또는 프로세스를 자동화할 수 있어서, 예컨대, 문맥 정보(contextual information)에 기반하여 행동(action)를 추론함으로써, 시스템 및 방법의 일부를 보다 효율적이고 지적이게 할 뿐 아니라 보다 적응적이 되도록 한다. 비한정적인 예시로서, 이러한 메커니즘은 구체화된 관점 등의 발생에 대하여 채용될 수 있다.
상기 기술된 예시적인 시스템의 관점에서, 개시된 본 발명에 따라 구현될 수 있는 방법론은 도 5 내지 도 7의 순서도를 참조하여 보다 용이하게 이해될 것이다. 설명의 간략화의 목적을 위해, 방법론은 일련의 블록으로 도시되고 기술되지만, 몇몇 블록은 상이한 순서로 및/또는 다른 블록과 동시에 발생할 수 있는 바와 같이, 본 발명이 블록의 순서에 의해 제한되지 않은 것으로 이해되고 인식되어야 한다. 게다가, 후술하는 방법론을 구현하기 위해 도시된 블록이 모두 필요한 것은 아니다.
도 5는 복수의 참조 프레임으로 ME 또는 MRFME를 사용하는 이득을 결정하는 것에 기반한 비디오 블록의 움직임 추정을 위한 방법론(500)을 도시한다. 단계(502)에서, 하나 이상의 참조 프레임이 비디오 블록 추정을 위해 수신될 수 있다. 참조 프레임은 추정될 현재 비디오 블록과 관련된 이전 프레임일 수 있다. 단계(504)에서, ME 또는 MRFME를 사용하는 이득이 결정될 수 있다. 예를 들면, 상기 제공된 바와 같이 계산될 수 있다. MRFME에 대한 이득은 예를 들어, 하나 이상의 참조 프레임이 사용될 것으로 결정되면, 성능 및 연산 복잡도 간의 원하는 밸런스를 나타내는 문턱값을 얻기 위해 계산된 복수의 참조 프레임에 따라 결정될 수 있다. 단계(506)에서, 비디오 블록은 ME 또는 MRFME 중 결정된 포맷을 사용하여 추정될 수 있다. MRFME가 사용되면, 이득 문턱값을 만족하는 복수의 프레임이 추정에서 활용될 수 있다. 움직임 보상 레지듀는 예를 들어, 추정에 기반하여 결정될 수 있고, 예측 에러는 단계(508)에서 인코딩될 수 있다.
도 6은 하나 이상의 비디오 블록에서 움직임을 추정하기 위한 시간적 검색 범위를 결정하는 것을 용이하게 하는 방법론(600)을 도시한다. 단계(602)에서, 인코딩될 비디오 블록으로부터의 이전 프레임일 수 있는 현재 참조 프레임(또는 그 블록)의 레지듀 에너지 레벨이 계산될 수 있다. 계산은 블록에 걸쳐 평균화된(예컨대, 블록 내의 각 픽셀에 대하여) 레지듀 에너지를 나타낼 수 있다. 블록에 걸친 낮은 레지듀 에너지는 블록에 대하여 더 좋은 예측이 이루어질 수 있고, 따라서 더 높은 코딩 성능을 나타낼 수 있음이 인식되어야 한다. 단계(604)에서, 레지듀 에너지 레벨은 현재 참조 프레임에 시간적으로 선행하는 참조 프레임에 대하여 계산될 수 있다. 또, 이는 관련 블록에 걸쳐 평균화된 레지듀 에너지일 수 있다.
블록의 현재 참조 프레임 및 선행 참조 프레임에 대한 레지듀 에너지를 비교함으로써, 블록 예측에 대하여 선행 참조 프레임을 더 포함하는 시간적 검색 범위를 확장할지 여부에 대하여 성능 결정이 이루어질 수 있다. 단계(606)에서, 현재 및 이전 프레임에 대하여 레지듀 에너지 레벨로부터 측정된 이득이 문턱값 이득(예컨대, 구성된, 추론된 또는 달리 미리 결정된)의 그것 이상인지가 결정된다. 이상이라면, 단계(608)에서, 시간적 검색 범위는 추가 참조 프레임을 추가함으로써, MRFME에 대해 확장될 수 있다. 상기 방법은 단계(602)로 돌아가 다시 시작하고, 선행 프레임 등에 선행하는 프레임의 레지듀 레벨을 비교할 수 있음이 인식되어야 한다. 레지듀 에너지 레벨로부터 측정된 이득이 문턱값보다 높지 않은 경우, 단계(610)에서, 현재 참조 프레임이 비디오 블록을 예측하는데 사용된다. 또, 상기 방법이 계속되고 하나 이상의 추가 선행 참조 프레임이 추가된다면, 실질적으로 추가된 모든 선행 참조 프레임은 단계(610)에서 비디오 블록을 예측하는데 사용될 수 있다.
도 7은 주어진 블록의 이득 추정에 적어도 일부 기반한 효율적인 블록-레벨 시간적 검색 범위 예측을 위한 방법론(700)을 도시한다. 단계(702)에서, 움직임 추정은 주어진 비디오 블록에 대한 제1 참조 프레임 상에서 수행될 수 있다. 참조 프레임은 예컨대, 시간적으로 현재 비디오 블록에 앞서는 것일 수 있다. 단계(704)에서, 추가 참조 프레임을 사용한 움직임 추정의 이득은 예컨대, 이전 시뮬레이션 결과에 기반하여 블록에 대하여 결정될 수 있고, 비디오 블록 내의 최상의 움직임 벡터의 위치가 파악된다. 시뮬레이션 결과에 기반한 움직임 추정의 이득은 일 예에서 상기 기술된 공식을 사용하여 결정될 수 있다. 단계(706)에서, 결정은 이득 G가 문턱값 이득(성능/연산 복잡도 밸런스를 달성하기 위해 블록 예측에 사용되어야 하는 다른 참조 프레임을 나타낼 수 있음)에 부합하는지 그리고 움직임 벡터가 정수 픽셀 움직임 벡터인지 여부에 대하여 이루어질 수 있다. G가 문턱값에 부합하지 않거나 움직임 벡터가 정수 픽셀 움직임 벡터인 경우에, 단계(708)에서, 비디오 블록 예측이 완료된다.
하지만, G가 문턱값에 부합하고 움직임 벡터가 정수 픽셀 움직임 벡터가 아닌 경우, 단계(710)에서, 움직임 추정이 다음 참조 프레임(예컨대, 선행 참조 프레임) 상에 수행될 수 있다. 단계(712)에서, 다음 선행 참조 프레임의 최상의 움직임 벡터뿐만 아니라, 다음 선행 참조 프레임 및 제1 참조 프레임을 이용한 움직임 추정의 이득이 결정될 수 있다. 이득은 계산이 움직임 추정에서 제1 프레임을 사용하는 것으로부터 수신된 이득에 적어도 일부 기반할 경우, 상기 제공된 공식을 사용하여 결정될 수 있다. 단계(714)에서, 이득 G가 상기 설명된 문턱값 이득에 부합하고 움직임 벡터가 정수 픽셀 움직임 벡터가 아닌 경우에, 추가 참조 프레임이 단계(710)에서 계속되는 MRFME에서 활용될 수 있다. 하지만, G가 문턱값에 부합하지 않거나 움직임 벡터가 정수 픽셀 움직임 벡터인 경우에, 단계(708)에서, 비디오 블록 예측이 참조 프레임을 사용하여 완료된다. 이와 관련하여, MRFME에 의해 야기되는 복잡도는 원하는 성능 이득이 초래될 경우에만 사용될 것이다.
본 명세서에 있어서, "컴포넌트(component)", "시스템" 등의 용어는 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어와 같은 컴퓨터 관련 엔티티(entity)를 지칭하는 것으로 의도된다. 예를 들면, 컴포넌트는, 프로세서에서 수행되는 프로세스, 프로세서, 객체(object), 인스턴스(instance), 실행 파일(executable), 실행 스레드(thread), 프로그램, 및/또는 컴퓨터일 수 있으나 이에 한정되는 것은 아니다. 예시적으로, 컴퓨터에서 수행되는 어플리케이션(application) 및 컴퓨터가 모두 컴포넌트가 될 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드에 위치할 수 있고, 컴포넌트는 하나의 컴퓨터에 배치될 수 있고/있거나 둘 이상의 컴퓨터에 분배될 수 있다.
본 명세서에서 "예시적"이라는 것은 예, 사례, 또는 도해를 위한 것을 의마하도록 사용된다. 본 명세서에서 "예시적"이라고 기술된 임의의 측면 또는 디자인은 반드시 다른 측면 또는 디자인에 비해 유리하거나 바람직한 것은 아니다. 또한, 예시들은 오로지 명확성 및 이해의 목적으로 제공되고 본 발명 또는 임의의 방식에서 그 관련된 일부를 한정하는 것으로 의도되지 않는다. 수많은 추가적인 또는 선택적인 예시가 제시될 수 있으나 명확성의 목적으로 누락될 수도 있음이 인식되어야 한다.
또한, 본 발명의 전부 또는 일부는 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 이용하여 소프트웨어, 펌웨어(firmware), 하드웨어, 또는 이들의 임의의 조합을 생산하기 위한 제조 방법으로 구현될 수 있다. 이들은 본 명세서에 기술된 상세한 측면을 구현하기 위하여 컴퓨터를 제어하기 위한 것일 수 있다. 본 명세서에서 "제조 방법"은 임의의 컴퓨터로 판독 가능한 장치 또는 매체로부터 접근 가능한 컴퓨터 프로그램을 포함하도록 의도된 것이다. 예를 들어, 컴퓨터로 판독 가능한 매체는 자기 저장 장치(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립(strip)...), 광학 디스크(예컨대, 콤팩트 디스크(compact disk; CD), 디지털 다기능 디스크(digital versatile disk; DVD)...), 스마트 카드, 및 플래쉬 메모리 장치(예컨대, 카드, 스틱, 키 드라이브(key drive)...)를 포함할 수 있으나 이에 제한되는 것은 아니다. 나아가, 컴퓨터로 판독 가능한 전자 데이터를 운반하기 위하여 반송파(carrier wave)를 이용할 수 있다는 것이 인식되어야 하며, 전자 메일의 송신 및 수신이나 인터넷 또는 로컬 영역 네트워크(local area network; LAN) 등의 네트워크에 접근하는데에 사용되는 것 등이 있다. 물론, 당업자는 본 발명의 범위 또는 사상으로부터 벗어나지 않고 이 구성에 대해 많은 수정이 이루어질 수 있음을 이해할 것이다.
개시된 본 발명의 여러 가지 측면을 위한 콘텐스트(context)를 제공하기 위해, 도 8 및 도 9와 아래의 논의는 개시된 본 발명의 여러 가지 측면이 구현될 수 있는 적절한 환경의 명확하고 일반적인 기술을 제공하는 것으로 의도된다. 본 발명은 하나 이상의 컴퓨터에서 구동되는 프로그램의 컴퓨터 실행가능한(computer-executable) 명령어의 일반적인 콘텐스트로 상기 기술되지만, 당업자는 본 발명이 다른 프로그램 모듈(module)과의 조합으로 구현될 수 있음을 이해할 것이다. 일반적으로, 프로그램 모듈은 특정 태스크(task)를 수행하고/하거나 특정 추상 데이터타입을 구현하는 루틴(routine), 프로그램, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 당업자는 시스템/방법이 단일 프로세서(single-processor), 멀티프로세서(multimprocessor) 또는 멀티-코어(multi-core) 프로세서 컴퓨터 시스템, 소형 컴퓨팅 장치, 메인프레임(mainframe) 컴퓨터뿐 아니라 개인용 컴퓨터, 휴대용(hand-held) 컴퓨팅 장치(예컨대, 개인 휴대 정보 단말기(personal digital assistant; PDA), 전화, 시계...), 마이크로프로세서(microprocessor) 기반 또는 프로그램 가능한(programmable) 소비자 또는 산업 전자기기 등을 포함하는 다른 컴퓨터 시스템 구성과 함께 구현될 수 있음을 이해할 것이다. 설명된 측면은 또한 태스크가 통신 환경을 통해 연결된 원격 처리 장치에 의해 수행되는 분산 컴퓨팅 환경에서 구현될 수 있다. 하지만, 본 발명의 모든 측면이 아닌 일부는 독립(stand-alone) 컴퓨터상에서 구현될 수 있다. 분산 환경에서, 프로그램 모듈은 근거리 및 원격 메모리 저장 장치 모두에 위치할 수 있다.
도 8을 참조하면, 본 명세서에 개시된 여러 가지 측면을 구현하기 위한 예시적인 환경(800)은 컴퓨터(812)(예컨대, 데스트탑(desktop), 랩탑(laptop), 서버, 휴대용, 프로그램 가능한 소비자 또는 산업 전자기기...)를 포함한다. 컴퓨터(812)는 처리 유닛(unit)(814), 시스템 메모리(816) 및 시스템 버스(bus)(818)를 포함한다. 시스템 버스(818)는 시스템 메모리(816)를 포함하지만 이에 한정되지는 않는 시스템 컴포넌트를 처리 유닛(814)으로 연결한다. 처리 유닛(814)은 임의의 여러 가지 이용가능한 마이크로프로세서일 수 있다. 듀얼(dual) 마이크로프로세서, 멀티-코어 및 다른 멀티프로세서 아키텍처는 처리 유닛(814)으로 채용될 수 있다는 것이 인식되어야 한다.
시스템 메모리(816)는 휘발성(volatile) 및 비휘발성(nonvolatile) 메모리를 포함한다. 스타트-업(start-up) 등의 동안에, 컴퓨터(812) 내의 요소(element) 간의 정보를 송신하기 위한 기본 루틴을 포함하는 기본 입력/출력 시스템(basic input/output system; BIOS)은 비휘발성 메모리에 저장된다. 비한정적인 예시적로서, 비휘발성 메모리는 리드 온리 메모리(read only memory; ROM)를 포함할 수 있다. 휘발성 메모리는 처리를 용이하게 하는 외부 캐시(cache) 메모리로 동작할 수 있는 랜덤 액세스 메모리(random access memory; RAM)를 포함한다.
컴퓨터(812)는 또한 탈착식(removable)/비탈착식(non-removable), 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 8은 예컨대, 대용량 저장소(mass stoarge)(824)를 도시한다. 대용량 저장소(824)는 자기 또는 광학 디스크 드라이브, 플로피 디스크 드라이브, 플래시 메모리 또는 메모리 스틱과 같은 장치를 포함하지만 이에 한정되는 것은 아니다. 또한, 대용량 저장소(824)는 각각 저장 매체를 포함할 수 있거나 다른 저장 매체와 조합될 수 있다.
도 8은 사용자 및/또는 다른 컴퓨터 및 적절한 동작 환경(800)에서 기술된 기본 컴퓨터 자원 간의 중재자(intermediary)로서 동작하는 소프트웨어 어플리케이션(828)을 제공한다. 이러한 소프트웨어 어플리케이션(828)은 시스템 및 어플리케이션 소프트웨어 중의 하나 또는 모두를 포함한다. 시스템 소프트웨어는 대용량 저장소(824)에 저장될 수 있고, 컴퓨터 시스템(812)의 자원을 제어하고 할당하는 운영 체제(operating system)를 포함할 수 있다. 어플리케이션 소프트웨어는 프로그램 모듈을 통한 시스템 소프트웨어 및 시스템 메모리(816) 및 대용량 저장소(824) 중의 하나 또는 모두 상에 저장되는 데이터에 의한 자원의 관리를 이용한다.
컴퓨터(812)는 또한 버스(818)로 연결되어 통신하고 컴퓨터(812)와의 상호작용을 용이하게 하는 하나 이상의 인터페이스(interface) 컴포넌트(826)를 포함한다. 예시적으로, 인터페이스 컴포넌트(826)는 포트[예컨대, 직렬(serial), 병렬(parallel), PCMCIA, USB, 파이어와이어(FireWire)...] 또는 인터페이스 카드(예컨대, 사운드, 비디오, 네트워크...) 등일 수 있다. 인터페이스 컴포넌트(826)는 입력을 수신하고 출력을 제공할 수 있다(무선으로 또는 유선으로). 예를 들면, 입력은 마우스(mouse)와 같은 포인팅(pointing) 장치, 트랙볼(trackball), 스타일러스(stylus), 터치 패드(touch pad), 키보드(keyboard), 마이크로폰(microphone), 조이스틱(joystick), 게임 패드(game pad), 위성 접시(satellite dish), 스캐너(scanner), 카메라, 다른 컴퓨터 등을 포함하지만 이에 한정되지는 않는 장치로부터 수신될 수 있다. 출력은 또한, 인터페이스 컴포넌트(826)를 통해 출력 장치로 컴퓨터(812)에 의해 공급될 수 있다. 출력 장치는 그 중에서도 특히, 디스플레이(display)[예컨대, CRT, LCD, 플라즈마(plasma)], 스피커, 프린터 및 다른 컴퓨터를 포함할 수 있다.
도 9는 본 발명이 상호작용할 수 있는 샘플(sample) 컴퓨팅 환경의 개략적인 블록도이다. 시스템(900)은 하나 이상의 클라이언트(910)를 포함한다. 클라이언트(910)는 하드웨어 및/또는 소프트웨어[예컨대, 스레드(thread), 프로세스, 컴퓨팅 장치]일 수 있다. 시스템(900)은 하나 이상의 서버(930)도 포함한다. 따라서, 시스템(900)은 2단(two-tier) 클라이언트 서버 모델 또는 다단(multi-tier) 모델(예컨대, 클라이언트, 중간단 서버, 데이터 서버)에 대응될 수 있다. 서버(930)도 하드웨어 및/또는 소프트웨어[예컨대, 스레드(thread), 프로세스, 컴퓨팅 장치]일 수 있다. 서버(930)는 본 발명의 측면을 채용함으로써 변환을 수행하는 스레드를 수용할 수 있다. 클라이언트(910)와 서버(930) 사이에 가능한 한 가지 통신은 둘 이상의 컴퓨터 프로세스 사이에 전송되는 데이터 패킷의 형태일 수 있다.
시스템(900)은 클라이언트(910)와 서버(930) 사이의 통신을 용이하게 하기 위해 채용될 수 있는 통신 프레임 워크(950)를 포함한다. 따라서, 클라이언트(910)는 프로그램 어플리케이션 컴포넌트에 대응될 수 있고 서버(930)는 상기 기술된 바와 같이 인터페이스의 기능성 및 선택적으로 저장 시스템의 기능성을 제공할 수 있다. 클라이언트(910)는 클라이언트(910)와 연결된 정보를 저장하기 위해 채용될 수 있는 하나 이상의 클라이언트 데이터 저장소(960)에 연결되어 동작한다. 비슷하게, 서버(930)는 서버(930)와 연결된 정보를 저장하기 위해 채용될 수 있는 하나 이상의 서버 데이터 저장소(940)에 연결되어 동작한다.
예시적으로, 하나 이상의 클라이언트(910)는 통신 프레임워크(950)를 통해 하나 이상의 서버(930)로부터 예를 들어 비디오가 될 수 있는 미디어 콘텐트(media content)를 요청할 수 있다. 서버(930)는 비디오의 블록을 예측하기 위해 하나 이상의 참조 프레임을 활용하는 이득을 계산하는 ME 또는 MRFME와 같은 본 명세서에 기술된 기능성을 사용하는 비디오를 인코딩할 수 있고 서버 데이터 저장소(940)에 인코딩된 콘텐트(에러 예측을 포함함)를 저장할 수 있다. 그 후에, 서버(930)는 예를 들어, 통신 프레임워크(950)를 활용하여 클라이언트(910)로 데이터를 송신할 수 있다. 클라이언트(910)는 미디어의 프레임을 디코딩하기 위해 에러 예측 정보를 활용하여 H.264와 같은 하나 이상의 포맷에 따라 데이터를 디코딩할 수 있다. 부가적으로 또는 선택적으로, 클라이언트(910)는 클라이언트 데이터 저장소(960)에 수신된 콘텐트의 일부를 저장할 수 있다.
상기 기술된 것은 본 발명의 측면의 예시를 포함한다. 물론, 본 발명의 기술의 목적으로 컴포넌트 또는 방법론의 가능한 모든 조합을 기술하는 것는 불가능하지만, 당업자는 개시된 본 발명의 많은 추가적인 조합 및 치환(permutation)이 가능함을 이해할 것이다. 따라서, 개시된 본 발명은 첨부된 청구항의 사상 및 범위 내에 포함되는 모든 이러한 변경(alteration), 수정(modification) 및 변형(variation)을 포괄하는 것으로 의도된다. 아울러, 상세한 설명 또는 청구항에서 사용되는 "포함한다", "갖는다", 또는 "가지고 있다" 또는 그 형식적인 변형들은 분명 청구항 내의 표현으로서 채용되는 경우에 "포함한다"로 해석됨으로써, "포함한다"는 것을 의미하기 위한 것이다.

Claims (20)

  1. 비디오 블록과 관련된 복수의 참조 프레임을 제공하는 참조 프레임 컴포넌트; 및
    상기 복수의 참조 프레임의 레지듀 에너지에 적어도 일부 기반하여 상기 복수의 참조 프레임 중의 하나 이상을 활용하는 성능 이득을 계산한 것에 적어도 일부 기반하여 움직임 추정(ME) 또는 복수 참조 프레임 움직임 추정(MRFME)에 대한 현재 시간적 검색 범위를 결정하는 이득 계산 컴포넌트를 포함하는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  2. 제1항에 있어서,
    상기 현재 시간적 검색 범위와 함께 ME 또는 MRFME를 활용하여 예측된 비디오 블록에 적어도 일부 기반하여 움직임 보상 레지듀를 인코딩하는 비디오 코딩 컴포넌트를 더 포함하는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  3. 제1항에 있어서,
    상기 비디오 블록에 대하여 최상의 움직임 벡터를 계산하는 움직임 벡터 컴포넌트를 더 포함하되,
    상기 움직임 벡터가 정수 픽셀 움직임 벡터인 경우 상기 움직임 벡터는 상기 현재 시간적 검색 범위를 결정하는데 사용되는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  4. 제1항에 있어서,
    상기 복수의 참조 프레임 중의 하나 이상에 대한 상기 레지듀 에너지
    Figure pct00149
    는,
    k가 상기 시간적 검색 범위의 크기이고,
    Figure pct00150
    가 상기 비디오 블록 및 상기 복수의 참조 프레임 중의 하나 간의 시간적 혁신의 변형의 증가율이며,
    Figure pct00151
    가 k-불변 파라미터일 때, 선형 레지듀 모델
    Figure pct00152
    에 적어도 일부 기반하여 계산되는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  5. 제4항에 있어서,
    상기 성능 이득 G는,
    Figure pct00153
    가 제1 참조 프레임에 상응하는 평균 제곱된 레지듀이고,
    Figure pct00154
    이 상기 비디오 블록 내의 레지듀의 평균이며,
    Figure pct00155
    이 구성된 파라미터일 때,
    Figure pct00156
    의 수학식을 사용하여 계산되는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  6. 제5항에 있어서,
    시뮬레이션 결과 또는 이전 이득 계산에 적어도 일부 기반하여
    Figure pct00157
    에 대한 값을 추론하는 추론 컴포넌트를 더 포함하는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  7. 제4항에 있어서,
    상기 이득 계산 컴포넌트는 MRFME에 대하여 추가 참조 프레임을 포함하는 더 큰 시간적 검색 범위를 이용하는 성능 이득을 더 계산하는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  8. 제7항에 있어서,
    상기 더 큰 시간적 검색 범위를 이용하는 성능 이득은,
    Figure pct00158
    가 참조 프레임 k - 1에 상응하는 평균 제곱된 레지듀이고,
    Figure pct00159
    가 참조 프레임 k에 상응하는 평균 제곱된 레지듀일 때,
    Figure pct00160
    의 수학식을 사용하여 계산되는 것을 특징으로 하는 비디오 코딩에서 움직임 추정을 제공하기 위한 시스템.
  9. 비디오 블록을 예측하는 단계에서 하나 이상의 이전 참조 프레임을 사용하는 성능 이득을 계산하는 단계;
    계산된 상기 성능 이득에 기반하여 움직임 추정에 활용되기 위한 복수의 참조 프레임을 포함하는 시간적 검색 범위을 결정하는 단계; 및
    상기 비디오 블록에서 움직임을 추정하기 위한 참조 프레임의 상기 시간적 검색 범위를 활용하여 상기 비디오 블록을 예측하는 단계를 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  10. 제9항에 있어서,
    상기 비디오 블록에 대하여 최상의 움직임 벡터를 계산하는 단계를 더 포함하되,
    상기 움직임 벡터가 정수 픽셀 움직임 벡터인 경우 상기 움직임 벡터는 상기 시간적 검색 범위를 결정하는데 사용되는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  11. 제9항에 있어서,
    상기 계산하는 단계는,
    상기 하나 이상의 이전 참조 프레임의 레지듀 에너지를 평가하는 것에 적어도 일부 기반하여 상기 성능 이득을 계산하는 단계를 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  12. 제11항에 있어서,
    상기 계산하는 단계는,
    k가 상기 시간적 검색 범위의 크기이고,
    Figure pct00161
    가 상기 비디오 블록 및 하나 이상의 이전 참조 프레임 간의 시간적 혁신의 변형의 증가율이며,
    Figure pct00162
    가 k-불변 파라미터일 때, 선형 레지듀 모델
    Figure pct00163
    에 적어도 일부 기반하여 상기 이전 참조 프레임 중의 하나 이상에 대한 상기 레지듀 에너지
    Figure pct00164
    를 계산하는 단계를 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  13. 제12항에 있어서,
    상기 계산하는 단계는,
    Figure pct00165
    가 상기 하나 이상의 이전 참조 프레임 중의 제1 참조 프레임에 상응하는 평균 제곱된 레지듀이고,
    Figure pct00166
    이 상기 비디오 블록 내의 레지듀의 평균이며,
    Figure pct00167
    이 구성된 파라미터일 때,
    Figure pct00168
    의 수학식을 사용하여 움직임 추정을 위해 하나 이상의 참조 프레임을 사용하는 상기 성능 이득 G를 계산하는 단계를 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  14. 제13항에 있어서,
    시뮬레이션 결과 또는 이전 이득 계산을 조정하는 것에 적어도 일부 기반하여
    Figure pct00169
    에 대한 값을 추론하는 단계를 더 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  15. 제12항에 있어서,
    상기 계산하는 단계는,
    Figure pct00170
    가 참조 프레임 k - 1에 상응하는 평균 제곱된 레지듀이고,
    Figure pct00171
    가 참조 프레임 k에 상응하는 평균 제곱된 레지듀일 때,
    Figure pct00172
    의 수학식을 사용하여 둘 이상의 프레임 시간적 검색 범위를 활용하는 성능 이득을 계산하는 단계를 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  16. 제15항에 있어서,
    상기 계산하는 단계는,
    상기 이득이 특정 문턱값에 부합하지 않을 때까지 증가하는 시간적 검색 범위에 대하여 성능 이득을 계산하는 단계를 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  17. 제16항에 있어서,
    원하는 인코딩 크기로부터 상기 문턱값을 추론하는 단계를 더 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 방법.
  18. 비디오 블록을 예측하기 위하여 단일 참조 프레임 움직임 추정(ME) 또는 복수 참조 프레임 움직임 추정(MRFME)을 활용하는 성능 이득을 계산하기 위한 수단; 및
    계산된 상기 성능 이득에 따라 상기 비디오 블록을 예측하기 위해 ME 또는 MRFME를 활용하기 위한 수단을 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 시스템.
  19. 제18항에 있어서,
    하나 이상의 추가 참조 프레임을 더한 MRFME의 복수의 참조 프레임 또는 참조 프레임의 수를 활용하는 성능 이득을 계산하기 위한 수단; 및
    MRFME의 문턱값 이상의 이득을 산출하는 프레임의 수를 활용하기 위한 수단을 포함하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 시스템.
  20. 제18항에 있어서,
    상기 성능 이득의 계산은,
    하나 이상의 참조 프레임의 움직임 보상 레지듀의 선형 모델에 적어도 일부 기반하는 것을 특징으로 하는 예측 비디오 블록 인코딩에서 움직임을 추정하기 위한 시스템.
KR1020107018729A 2008-01-24 2008-12-29 움직임 보상 레지듀 기반 시간적 검색 범위 예측 KR20100123841A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/019,067 US20090190845A1 (en) 2008-01-24 2008-01-24 Motion-compensated residue based temporal search range prediction
US12/019,067 2008-01-24

Publications (1)

Publication Number Publication Date
KR20100123841A true KR20100123841A (ko) 2010-11-25

Family

ID=40899304

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107018729A KR20100123841A (ko) 2008-01-24 2008-12-29 움직임 보상 레지듀 기반 시간적 검색 범위 예측

Country Status (6)

Country Link
US (1) US20090190845A1 (ko)
EP (1) EP2238766A4 (ko)
JP (1) JP2011510598A (ko)
KR (1) KR20100123841A (ko)
CN (1) CN101971638A (ko)
WO (1) WO2009094094A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11533477B2 (en) 2019-08-14 2022-12-20 Beijing Bytedance Network Technology Co., Ltd. Weighting factors for prediction sample filtering in intra mode
US11659202B2 (en) 2019-08-14 2023-05-23 Beijing Bytedance Network Technology Co., Ltd Position-dependent intra prediction sample filtering

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9113169B2 (en) * 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
US8724707B2 (en) 2009-05-07 2014-05-13 Qualcomm Incorporated Video decoding using temporally constrained spatial dependency

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US6614936B1 (en) * 1999-12-03 2003-09-02 Microsoft Corporation System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11533477B2 (en) 2019-08-14 2022-12-20 Beijing Bytedance Network Technology Co., Ltd. Weighting factors for prediction sample filtering in intra mode
US11659202B2 (en) 2019-08-14 2023-05-23 Beijing Bytedance Network Technology Co., Ltd Position-dependent intra prediction sample filtering

Also Published As

Publication number Publication date
CN101971638A (zh) 2011-02-09
WO2009094094A1 (en) 2009-07-30
JP2011510598A (ja) 2011-03-31
EP2238766A4 (en) 2012-05-30
US20090190845A1 (en) 2009-07-30
EP2238766A1 (en) 2010-10-13

Similar Documents

Publication Publication Date Title
US11070802B2 (en) Moving image coding device, moving image decoding device, moving image coding/decoding system, moving image coding method and moving image decoding method
US20090268821A1 (en) Block parallel and fast motion estimation in video coding
US11317101B2 (en) Inter frame candidate selection for a video encoder
JP6342500B2 (ja) 再帰的なブロック・パーティショニング
RU2628319C2 (ru) Способ и устройство для определения опорных изображений для внешнего предсказания
KR101103187B1 (ko) 복잡도 인식 인코딩
TWI692245B (zh) 視訊解碼裝置、視訊編碼方法及裝置與電腦可讀儲存媒體
US20100020877A1 (en) Multiple reference frame motion estimation in video coding
US9235313B2 (en) Efficient motion estimation for remote desktop sharing
US8804836B2 (en) Video coding
CN101978698B (zh) 用于对图像进行编码和解码的方法及设备
US9036699B2 (en) Video coding
TW201415904A (zh) 幀間預測的運動預測方法、運動補償方法、運動預測裝置、運動補償裝置以及電腦可讀記錄媒體
US11350104B2 (en) Method for processing a set of images of a video sequence
JP6593122B2 (ja) 動画像符号化装置、動画像符号化方法、及びプログラム
JP2014239497A (ja) 動き補償ビデオ符号化における画像ブロック比較のためのメトリックを決定する方法、システム、およびプログラム
CN112087628A (zh) 使用两级帧内搜索对视频进行编码
JP2012124890A (ja) 符号化信号を、この符号化信号と副情報との間の統計的依存性に基づいて復号する方法および復号器
JP2011223423A (ja) 動きベクトル決定装置及び動きベクトル決定方法、コンピュータプログラム
KR20090117011A (ko) 복수의 참조 픽처에 기초한 영상 부호화, 복호화 방법 및장치
KR20100123841A (ko) 움직임 보상 레지듀 기반 시간적 검색 범위 예측
JPWO2010001832A1 (ja) 動画像予測符号化装置および動画像予測復号化装置
WO2018184411A1 (zh) 一种预测模式的判决方法、装置及存储介质
CN113938690B (zh) 视频编码方法、装置、电子设备及存储介质
JP2012120108A (ja) 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application