KR20180110205A - 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스 - Google Patents

이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR20180110205A
KR20180110205A KR1020187027915A KR20187027915A KR20180110205A KR 20180110205 A KR20180110205 A KR 20180110205A KR 1020187027915 A KR1020187027915 A KR 1020187027915A KR 20187027915 A KR20187027915 A KR 20187027915A KR 20180110205 A KR20180110205 A KR 20180110205A
Authority
KR
South Korea
Prior art keywords
motion vector
predictors
motion
processing
motion information
Prior art date
Application number
KR1020187027915A
Other languages
English (en)
Other versions
KR102042374B1 (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 KR20180110205A publication Critical patent/KR20180110205A/ko
Application granted granted Critical
Publication of KR102042374B1 publication Critical patent/KR102042374B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

모션 보상에 의해 이미지 부분을 인코딩하기 위한 하나 이상의 모션 정보 예측기를 유도하기 위한 방법 및 디바이스. 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들의 2개 이상의 구분된 제1 및 제 2 서브세트들이 제공된다. 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱은 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 획득하기 위해 수행된다. 제2 서브세트의 프로세싱은 상기 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하는 것을 포함할 수 있고, 시간적 예측기들을 배제시키기 위해 수행될 수 있다. 모션 정보 예측기들의 제2 서브세트의 프로세싱의 적어도 일부는 모션 정보 예측기들의 제1 서브세트의 프로세싱의 적어도 일부와 동시에 수행될 수 있다.

Description

이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스{METHOD AND DEVICE FOR ENCODING A SEQUENCE OF IMAGES AND METHOD AND DEVICE FOR DECODING A SEQUENCE OF IMAGES}
본 발명은 디지털 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스, 및 대응하는 비트스트림을 디코딩하기 위한 방법 및 디바이스에 관한 것이다. 본 발명은 추가로, 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 예측된 이미지의 이미지 부분을 예측하기 위한 하나 이상의 모션 정보 예측기를 포함하는, 모션 정보를 유도하기 위한 방법 및 디바이스에 관한 것이다.
발명은 디지털 신호 프로세싱의 분야, 및 특히 비디오 스트림들 내에서 공간적 및 시간적 리던던시를 제거하기 위해 모션 보상을 사용하는 비디오 압축의 분야에 응용될 수 있다.
예를 들어, H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC와 같은 많은 비디오 압축 포맷들은 공간적 및 시간적 리던던시를 제거하기 위해 블록-기반 이산 코사인 변환(DCT) 및 모션 보상을 사용한다. 이들은 예측 비디오 포맷들로서 지칭될 수 있다. 비디오 신호의 각각의 프레임 또는 이미지는 인코딩된 슬라이스들로 분할되고 독립적으로 디코딩될 수 있다. 슬라이스는 통상적으로 프레임의 사각형 부분이거나, 또는 더 일반적으로는 프레임의 일부분 또는 전체 프레임이다. 또한, 각각의 프레임은 매크로블록(MB)들로 분할되고, 각각의 매크로블록은 블록들, 통상적으로는 8x8개 픽셀들의 블록들로 추가로 분할된다. 인코딩된 프레임들은 2가지 타입들인데, 즉 시간적 예측된 프레임들(하나의 기준 프레임으로부터 예측된 소위 P-프레임들 또는 2개의 기준 프레임들로부터 예측된 소위 B-프레임들) 및 비 시간적 예측된 프레임들(소위 내부 프레임들 또는 I-프레임들)이다.
시간적 예측은 비디오 시퀀스의 이전 또는 향후 프레임 중 어느 하나, 이미지 부분 또는 인코딩할 블록에 가장 가까운 기준 영역을 기준 프레임에서 발견하는 것으로 구성된다. 이 단계는 통상적으로 모션 추정으로서 공지되어 있다. 다음으로, 블록은 통상적으로 모션 보상이라고 지칭되는 단계에서 기준 영역을 사용하여 예측되며, 인코딩할 블록 및 기준 부분 사이의 차이는, 모션 추정을 위해 사용할 기준 영역을 표시하는 모션 벡터에 대한 모션 정보의 항목과 함께, 인코딩된다. 인트라 예측에서, 예측 방향이 인코딩된다.
모션 정보를 인코딩하는 비용을 추가로 감소하기 위해, 모션 벡터는, 통상적으로 인코딩할 블록 주위의 블록들의 하나 이상의 모션 벡터들로부터 계산되는, 모션 벡터 및 모션 벡터 예측기 사이의 차이의 견지에서 인코딩될 수 있다.
H.264에서, 모션 벡터들은 인코딩할 블록의 인과적(causal) 이웃에 위치된 모션 벡터들로부터, 예를 들어, 인코딩할 블록의 상단 및 좌측에 위치된 블록들로부터 계산된 중앙 예측기에 대해 인코딩된다. 또한 잔차 모션 벡터라고 지칭되는,중앙 예측기 및 현재 블록 모션 벡터 사이의 차이가 감소되어 인코딩 비용을 감소시킨다.
잔차 모션 벡터들을 사용하는 인코딩이 일부 비트레이트들을 절감하지만, 디코딩할 블록의 모션 벡터의 값을 디코딩하기 위해 디코더가 모션 벡터 예측기의 동일한 계산을 수행할 것을 필요로 한다.
최근, 복수의 가능한 모션 벡터 예측기들을 사용하는 것과 같은, 코딩 효율성에서의 추가적인 개선들이 제안되었다. 종종 모션 벡터 경쟁(MVCOMP)으로 지칭되는 이 방법은, 몇몇 모션 벡터 예측기들 또는 후보들로부터, 어느 모션 벡터 예측기가 잔차 모션 정보의 인코딩 비용, 통상적으로 레이트-왜곡 비용을 최소화하는지를 결정하는 것으로 구성된다. 잔차 모션 정보는 잔차 모션 벡터, 즉, 인코딩할 블록의 실제 모션 벡터 및 선택된 모션 벡터 예측기 사이의 차이, 및 예를 들어, 선택된 모션 벡터 예측기의 인덱스의 인코딩된 값과 같은 선택된 모션 벡터 예측기를 나타내는 정보의 항목을 포함한다. 선택된 모션 벡터 예측기의 인덱스는 고정된 리스트 사이즈에 기초하여 단항 최대 코드를 가지는 비트스트림으로 코딩된다.
고효율성 비디오 코딩(HEVC)에서, 공간적 모션 벡터들 및 시간적 모션 벡터들로 구성된 예측기들의 주어진 세트로부터, 최상의 예측기의 선택기를 인에이블하기 위한 동일한 개념의 새로운 구현예가 제안되었다. 이 기법은 어드밴스드 모션 벡터 예측(AMVP)으로 지칭된다. 주어진 세트의 이들 예측기들 사이의 일부 예측기들이 세트 내의 다른 예측기들의 중복본들인 경우, 중복본들은 제거될 수 있고, 추가적인 예측기들이 세트에 추가되어 예측기들의 새로운 제2 세트를 생성할 수 있다. 추가된 예측기들은 세트 내에 이미 있는 공간적 및 시간적 예측기들, 이들 공간적 및 시간적 예측기들로부터 유도된 다른 예측기들 및 고정된 값들을 가지는 예측기들의 조합일 수 있다. 마지막으로, 예측기들의 제2 세트의 중복본 예측기들은 예측기들의 제2 세트 내의 비-중복적(non-redundant) 후보들을 획득하기 위해 제거된다.
예측기들의 생성된 제2 세트는 유도 프로세스의 계산적 복잡도를 현저하게 증가시킨다. 증가한 계산적 복잡도는 캐스케이드(cascade) 예측기 생성으로부터 초래된다.
현재의 HEVC 구현예는 인터 모드에 대해 기껏해야 2개의 예측기들, 및 병합 스킵 모드 및 병합 모드에 대해 기껏해야 5개의 예측기들을 포함하는 모션 벡터 예측기들의 세트를 사용한다.
현재 HEVC 설계에서, 인터 예측은 단방향성 또는 양방향성일 수 있다. 단방향성은 하나의 예측기 블록이 현재 블록을 예측하기 위해 사용되는 것을 지칭한다. 하나의 예측기 블록은 리스트 인덱스, 기준 프레임 인덱스 및 모션 벡터에 의해 정의된다. 리스트 인덱스는 기준 프레임들의 리스트에 대응한다. 예를 들어, 2개의 리스트들, 즉 L0 및 L1이 사용된다고 고려될 수 있다. 하나의 리스트는 하나 이상의 기준 프레임을 포함하고, 기준 프레임은 두 리스트들 모두에 포함될 수 있다. 모션 벡터는 2개의 컴포넌트들 즉, 수평 컴포넌트 및 수직 컴포넌트를 가진다. 모션 벡터는 현재 블록 및 기준 프레임 내의 시간적 예측기 블록 사이의 픽셀들의 견지에서 공간적 변위에 대응한다. 따라서, 단방향성 예측을 위한 블록 예측기는, 모션 벡터에 의해 지정된 리스트의 기준 프레임(기준 인덱스)으로부터의 블록이다.
양방향성 인터 예측에 대해, 2개의 블록 예측기들이 고려된다. 하나가 각각의 리스트(L0 및 L1)에 대한 것이다. 결과적으로, 2개의 기준 프레임 인덱스들 뿐만 아니라 2개의 모션 벡터들이 고려된다. 양방향에 대한 인터 블록 예측기는, 이들 2개의 모션 벡터들에 의해 이들에 대해 지정된 2개의 블록들의, 픽셀별 평균이다.
인터 블록 예측기에 대해 전용되는 모션 정보는 다음 파라미터들에 의해 정의될 수 있다:
● 방향 타입: 단방향 또는 양방향
● 하나의 리스트(단방향) 또는 2개의 리스트들(양방향): L0, L1 , L0 및 L1.
● 하나의(단방향) 또는 2개의(양방향) 기준 프레임 인덱스들: RefL0, RefL1 , (RefL0, RefL1).
● 하나의(단방향) 또는 2개의(양방향) 모션 벡터들: 각각의 모션 벡터는 2개의 컴포넌트들(수평 mvx 및 수직 mvy)을 가진다.
양방향성 인터 예측기가 오직 B 타입 슬라이스 타입에 대해서만 사용될 수 있다는 점이 주목될 수 있다. B 슬라이스들에서의 인터 예측은 단방향성 또는 양방향성일 수 있다. P 슬라이스들에서, 인터 예측은 오직 단방향성이다.
HEVC의 현재 설계는 3개의 상이한 인터 모드들, 즉 인터 모드, 병합 모드 및 병합 스킵 모드를 사용한다. 이들 모드들 간의 주요한 차이는 비트스트림에서의 데이터 시그널링이다.
인터 모드에서, 모든 데이터는 명시적으로 시그널링된다. 이는, 텍스쳐 잔차가 코딩되어 비트스트림 내에 삽입됨을 의미한다(텍스트 잔차는 현재 블록 및 인터 예측 블록 간의 차이이다). 모션 정보에 대해, 모든 데이터가 코딩된다. 따라서, 방향 타입이 코딩된다(단방향성 또는 양방향성). 리스트 인덱스는, 필요한 경우, 또한 코딩되어 비트스트림 내에 삽입된다. 관련된 기준 프레임 인덱스들은 명시적으로 코딩되어 비트스트림 내에 삽입된다. 모션 벡터 값은 선택된 모션 벡터 예측기에 의해 예측된다. 각각의 컴포넌트에 대한 모션 벡터는 이후 코딩되어 예측기 인덱스에 선행하는 비트스트림 내에 삽입된다.
병합 모드에서, 텍스쳐 잔차 및 예측기 인덱스가 코딩되어 비트스트림 내에 삽입된다. 모션 벡터 잔차, 방향 타입, 리스트 또는 기준 프레임 인덱스는 코딩되지 않는다. 이들 모션 파라미터들은 예측기 인덱스로부터 유도된다. 따라서, 예측기는 모션 정보의 모든 데이터의 예측기이다.
병합 스킵 모드에서, "모드" 및 예측기 인덱스에 대한 것을 제외하고, 어떠한 정보도 디코더 측에 전송되지 않는다. 이 모드에서, 프로세싱은 텍스쳐 잔차가 코딩되거나 전송되지 않는다는 점을 제외하고는 병합 모드와 유사하다. 병합 스킵 블록의 픽셀 값들은 블록 예측기의 픽셀 값들이다.
도 1에 표현된 모션 정보 예측기들의 세트에서, 인터 모드의 2개의 공간적 모션 벡터들은, 상단 코너 블록들 및 좌측 코너 블록을 포함하는, 인코딩될 블록의 상단 및 좌측에 있는 프레임 N 내의 블록들로부터 선택된다.
좌측 예측기는 블록들 "하단 좌측" 및 "좌측"으로부터 선택된다. 후속하는 조건들이 모션 벡터 값이 발견될 때까지 특정된 순서로 평가된다:
1. 동일한 기준 리스트 및 동일한 기준 픽쳐로부터의 모션 벡터
2. 다른 기준 리스트 및 동일한 기준 픽쳐로부터의 모션 벡터
3. 동일한 기준 리스트 및 상이한 기준 픽쳐로부터의 스케일링된 모션 벡터
4. 다른 기준 리스트 및 상이한 기준 픽쳐로부터의 스케일링된 모션 벡터
어떠한 값도 발견되지 않는 경우, 좌측 예측기는 이용불가능한 것으로서 간주된다. 이 경우, 이는 관련된 블록들이 인트라 코딩되었거나 해당 블록들이 존재하지 않음을 표시한다. 상단 예측기는, 전술된 것과 동일한 조건들을 가지고, 이러한 특정 순서로, "상단 우측", "상단" 및 "상단 좌측"으로부터 선택된다.
시간적 모션 예측기는 낮은 지연 구성에서 가장 가까운 기준 프레임으로부터 온다. B 프레임들의 경우, 2개의 모션 벡터들이 프레임 N-1 내의 병치된 블록에 대해 고려된다. 하나는 제1 리스트 "L0" 내에 있고, 하나는 제2 리스트 "L1" 내에 있다. 두 모션 벡터들 모두가 존재하는 경우, 가장 짧은 시간적 거리를 가지는 모션 벡터가 선택된다. 두 모션 벡터 예측기들 모두가 동일한 시간적 거리를 가지는 경우, 제1 리스트 "L0"로부터의 모션이 선택된다. 선택된 병치된 모션 벡터는, 이후, 필요한 경우, 그것의 시간적 거리 및 인코딩된 모션 벡터의 시간적 거리에 따라 스케일링된다. 어떠한 병치된 예측기도 존재하지 않는 경우, 예측기는 이용불가능한 것으로 간주된다.
계층적 B 프레임 코딩에 대해, 2개의 병치된 모션 벡터들이 고려될 수 있다. 둘 모두 향후 기준 프레임으로부터 온다. 현재 프레임을 교차하는 모션 벡터가 선택된다. 두 예측기들 모두가 현재 프레임을 교차하는 경우, 가장 짧은 시간적 거리를 가지는 모션 벡터가 선택된다. 두 예측기들 모두가 동일한 시간적 거리를 가지는 경우, 제1 리스트 "L0"로부터의 모션이 이후 선택된다. 선택된 병치된 모션 벡터는 이후, 필요한 경우, 그것의 시간적 거리 및 인코딩된 모션 벡터의 시간적 거리에 따라 스케일링된다. 병치된 예측기가 존재하지 않는 경우, 예측기는 이용불가능한 것으로 간주된다.
낮은 지연 경우 및 계층적 경우에 대해, 병치된 블록이 복수의 파티션들로 분할될 때(잠재적으로는, 병치된 블록이 복수의 모션 벡터들을 포함함), 선택된 파티션은 최상부 좌측 센터 파티션이다. 또한, 시간적 예측기는 병치된 블록의 하단 우측 위치(도 1 내의 위치 H)에서의 블록의 모션 벡터이다. 이 블록이 존재하지 않는 경우 또는 그것이 인트라 코딩되는 경우, 병치된 블록의 중심 위치에서의 블록은 유도될 모션 벡터로서 선택된다.
모션 예측기 값은 이후 예측기들의 세트에 추가된다.
마지막으로, 억제 프로세스가 적용된다. 이것은 선택된 모션 벡터 예측기들의 세트로부터 중복본 예측기들을 제거하는 것으로 구성된다. 이 프로세스의 종단에서, 세트는 비-중복본 모션 벡터 예측기들을 포함한다. 이 세트는 1, 2, 3 또는 4개의 예측기들을 포함할 수 있다. 현재 설계에서, 예측기들의 리스트는 리스트 사이즈를 2로 제한하기 위해 고정된다. 결과적으로, 선택된 예측기는 1개 비트를 이용하여 코딩된다. 따라서, 리스트 내의 예측기들의 수가 3 또는 4인 경우, 마지막 예측기 또는 2개의 마지막 예측기들이 각각 제거된다.
병합 모드들의 예측기("전형적" 또는 스킵)는 모든 모션 정보: 방향, 리스트, 기준 프레임 인덱스 및 모션 벡터들을 나타낸다. 예측기 인덱스는 표 1에 도시된 바와 같은 단항 최대 코드를 이용하여 코딩된다.
Figure pat00001
리스트 사이즈는 현재의 HEVC 설계 내의 모든 병합 블록들 또는 병합 스킵 블록들에 대해 5로 고정된다.
도 2는 중간예측의 병합 모드들에 대한 모션 벡터 유도 프로세스의 예시의 흐름도이다(병합 스킵 및 병합은 동일한 모션 벡터 예측기 유도 프로세스를 가진다). 방법은 기준 이미지 부분에 대해 이미지의 이미지 부분을 인코딩하기 위한 잠재적 모션 정보 예측기들의 세트를 획득하기 위해 적용된다. 유도의 제1 단계에서, 7개의 블록 위치들이 고려된다(601 내지 607). 이들 위치들은 도 1에 도시된 공간적 및 시간적 위치들이다(각각의 위치는 두 도면들에서 동일하게 라벨링된다). 모듈(608)은 이들 모션 벡터들의 이용가능성을 체크하고 기껏해야 5개의 모션 벡터들을 선택한다. 이러한 모듈 구현 단계(608)는 그것이 존재하는 경우 그리고 블록이 인트라 코딩되지 않은 경우 예측기가 이용가능하다고 결정한다. 5개의 선택된 모션 벡터들의 선택 및 검증이 다음 조건들에 따라 실행된다:
● "좌측" 모션 벡터(601)가 이용가능한 경우(즉, 그것이 존재하는 경우 그리고 이 블록이 인트라 코딩되지 않은 경우), "좌측" 블록의 모션 벡터가 선택되어 예측기 1로서 사용된다(610).
● "상단" 모션 벡터(602)가 이용가능한 경우, "상단" 블록의 모션 벡터가 선택되어 예측기 2(611)로서 사용된다.
● "상단 우측" 모션 벡터(603)가 이용가능한 경우, "상단 우측"의 모션 벡터가 선택되어 예측기 3(612)로서 사용된다.
● "하단 좌측" 모션 벡터(604)가 이용가능한 경우, "하단 좌측"의 모션 벡터가 선택되어 예측기 4(613)로서 사용된다.
● 선행 예측기들 중 하나(또는 그 이상)이 이용가능하지 않은 경우, 그리고 "상단 좌측" 모션 벡터(605)가 이용가능한 경우, "상단 좌측" 블록의 모션 벡터는 추가된 공간 예측기 다음에 모션 벡터 예측기들의 세트에 추가된다.
● "H" 모션 벡터가 이용가능한 경우, "H" 블록의 모션 벡터가 선택되어 예측기 5(614)로서 사용된다. "H" 블록이 이용가능하지 않은 경우, "병치된" 모션 벡터(즉, 현재 프레임 내의 현재 블록과 기준 프레임 내 동일한 위치에서의 블록의 모션 벡터)의 이용가능성이 체크되고, 만약 이용가능성이 존재하는 경우, 병치된 모션 벡터는 임시 예측기로서 사용된다. 모듈(608)에 의해 수행되는 이용가능성 체크는 1개 사이클을 요구한다.
시간적 예측기는 요구되는 경우 스케일링되어야 한다. 실제로, 시간적 모션 벡터에 대해, 방향 및 기준 프레임 인덱스는 H 또는 현재 슬라이스의 데이터 상의 병치된 블록에 의존하지 않는다. 현재 블록이 B 슬라이스 내에 있는 경우, 시간적 예측기는 항상 양방향성이고 P 슬라이스들에 대해서는 항상 단방향성이다. 기준 프레임들의 각각의 리스트(L0, L1)에 대한 기준 프레임 인덱스들은 좌측 및 상단 예측기로부터 유도된다. 리스트에 대해, 좌측 및 상단 블록들 모두가 기준 프레임 인덱스를 가지지 않는 경우, 시간적 예측기에 대한 기준 프레임 인덱스는 제로로 설정된다.
시간적 예측기에 대한 기준 프레임 인덱스가 좌측 및 상단 예측기의 기준 프레임 상의 "H" 또는 "병치된" 블록의 기준 프레임 인덱스에 의존하지 않으므로, 그것의 모션 벡터 값은 스케일링되어야 한다. 이것은, 시간적 모션 벡터에 의해 커버디는 시간적 거리가 현재 프레임 및 예측기의 기준 프레임 사이의 차이와 상이한 경우, 시간적 모션 벡터가 정확한 시간적 거리를 커버하도록 스케일링됨을 의미한다.
모듈들(608 및 609)의 종단에서, 예측기 세트는 기껏해야 5개의 예측기들(610 내지 614)을 포함한다. 다음으로, 억제 프로세스(615)는 예측기 세트로부터 중복본 후보들을 제거하기 위해 적용된다. 이 프로세스는 세트의 각각의 예측기를 동일한 세트 내의 모든 다른 예측기들과 비교하는 것, 및 세트 내의 예측기들 간에 중복본들이 존재하지 않도록 (그것의 중복본 후보가 세트 내의 중복본인 다른 예측기를 유지하는 동안) 세트 내의 또다른 예측기와 동일한 예측기들을 제거하는 것으로 구성된다. P 슬라이스들에 대한 억제 프로세스는 모션 벡터들의 값들 및 모션 벡터들의 기준 프레임 인덱스들을 고려한다. 따라서, 모션 벡터의 2개의 컴포넌트들 및 모션 벡터의 기준 인덱스는 모든 다른 것들과 비교되고, 이들 3개의 값들이 동일한 경우에만 예측기가 세트로부터 제거된다. B 프레임에 대해, 이러한 기준은 방향 및 리스트들로 확장된다. 따라서, 예측기는 그것이 동일한 방향, 동일한 리스트들(L0, L1, 또는 L0 및 L1), 기준 프레임 인덱스들 및 모션 벡터들(양방향에 대해 MV_L0 및 MV_L1)을 사용하는 경우 중복본 예측기로서 간주된다. 압축 프로세스는 기껏해야 5개의 예측기들이 비교될 필요가 있을 때 1개 사이클 동안 지속된다. 실제로, 12개의 비교들이 1개 사이클 내에서 계산될 수 있다는 점이 고려될 수 있다. 가장 복잡한 경우 압축 프로세스에 대한 비교들의 수는 0 내지 N-1의 합산과 동일하다. 결과적으로, 5개의 예측기들에 대해, 10개의 비교들이 요구된다(즉, 4+3+2+1 =10).
이러한 압축 프로세스(615)의 종단에서, 감소된 예측기 세트가 생성된다(616).
다음으로, 모션 벡터 생성 모듈(617)은 감소된 모션 벡터 예측기 세트에 기초하여 새로운 후보들을 생성한다. 이러한 프로세싱은 통상적으로 적어도 1개 사이클 동안 지속할 수 있다. 현재 HEVC 설계에서, 사용되는 방식이 가장 복잡한 경우 최대 20개 예측기들을 생성할 수 있다는 점이 주목될 수 있다. 이 모듈(617)은 예측기들의 제2 세트(618)를 생성한다.
예측기들의 제2 세트(618)이 예측기들의 감소된 세트(616)에 추가되고, 억제 프로세스는 감소된 세트 및 제2 세트 모두에 비해 이러한 제2 예측기 세트의 중복본 후보들을 제거하기 위해 적용된다. 이러한 억제 프로세스는 모듈(615)의 억제 프로세스와 유사하다. 그러나, 종단에서, 리스트가 5개 초과의 예측기들을 포함하는 경우, 예측기들의 리스트는 HEVC 설계에서 정의된 현재 리스트 사이즈인 5로 절단된다. 이러한 프로세스가 적어도 1개 사이클 동안 지속할 수 있다는 점이 주목될 수 있다. 그러나, 사이클의 지속기간은 예측기들의 제2 세트(618)에서 생성된 예측기들의 수에 의존한다. HEVC의 현재 구현예에서, 이러한 프로세스는 생성된 예측기들의 양으로 인해 3개 사이클들 동안 지속된다(가장 복잡한 경우: 현재 설계에 대해 32개의 비교들).
마지막으로, 억제 프로세스(619)는 현재 블록의 예측기가 추출될 예측기들의 최종 리스트(620)를 생성한다.
프로세스의 결점은 병합 모드에 대한 현재 모션 벡터 예측기 유도가 가장 복잡한 경우 11개 사이클들에 도달할 수 있는 반면, 가장 덜 복잡한 경우 적어도 5개의 사이클들이 요구된다는 점이다. 따라서, 모션 벡터 유도는 인코딩 및 디코딩 복잡도에 대한 상당한 영향을 가진다.
본 발명은 이전의 우려들 중 하나 이상을 다루도록 고안되었다.
본 발명의 제1 양상에 따라, 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분을 인코딩 또는 디코딩하기 위한 하나 이상의 모션 정보 예측기를 유도하는 방법이 제공되며, 인코딩되거나 디코딩될 상기 이미지 부분에 대해, 방법은: 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트를, 프로세싱하기 위해 제공하는 단계; 모션 정보 예측기들의 제1 서브세트를 프로세싱하는 단계; 및 모션 정보 예측기들의 제2 서브세트를 프로세싱하는 단계 ― 모션 정보 예측기들의 제2 서브세트의 프로세싱의 적어도 일부는 모션 정보 예측기들의 제1 서브세트의 프로세싱의 적어도 일부와 동시에 수행됨 ― ; 및, 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래되는 모션 정보 예측기들에 기초하여, 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 획득하는 단계를 포함한다.
따라서, 현재 HEVC 설계의 계산상의 복잡도는 병렬로 모션 벡터 유도를 프로세싱함으로써 감소될 수 있다.
발명의 실시예들에서, 모션 정보 예측기는 적어도 모션 벡터 예측기를 포함한다. 추가적인 실시예들에서, 모션 정보 예측기는 기준 이미지의 인덱스, 방향 타입: 단방향 또는 양방향, 하나의 리스트(단방향) 또는 2개의 리스트들(양방향): L0, L1, L0 및 L1와 같은 모션 정보 파라미터들을 더 포함할 수 있다. 일부 실시예들에서, 각각의 모션 벡터 예측기는 2개의 컴포넌트들(수평 및 수직)을 가진다.
발명의 일부 실시예들에서, 제1 서브세트는 하나 이상의 시간적 모션 정보 예측기를 포함하고, 제2 서브세트는 하나 이상의 공간적 모션 정보 예측기를 포함한다.
발명의 특정 실시예에서, 모션 정보 예측기들의 제1 서브세트는 시간적 모션 정보 예측기를 포함하고, 제1 세트의 제1 서브세트의 프로세싱은 인코딩될 이미지 부분의 이미지 및 기준 이미지 부분의 이미지 사이의 시간 차에 기초하여 시간적 모션 정보 예측기를 시간적으로 스케일링하는 것을 포함한다.
제2 서브세트의 프로세싱은 상기 세트의 모션 정보 예측기들 간에 중복본들이 존재하지 않는 비-중복본 모션 정보 예측기들의 세트를 생성하는 것을 포함할 수 있다.
발명의 실시예들에서, 모션 정보 예측기는 각각의 모션 벡터의 2개의 컴포넌트들의 각자의 값들 및 다른 연관 모션 정보 파라미터들이 서로 동일한 경우 또다른 모션 정보 예측기의 중복본인 것으로 간주될 수 있다.
제2 서브세트의 프로세싱은 제2 서브세트의 모션 정보 예측기들에 기초하여 하나 이상의 추가적인 모션 정보 예측기들을 생성하는 것을 포함할 수 있다. 예를 들어, 하나 이상의 추가적인 모션 정보 예측기들을 생성하는 것은 제2 서브세트의 하나 이상의 모션 정보 예측기들을 조합하는 것, 및/또는 제2 서브세트의 하나 이상의 정보 예측기들에 오프셋을 추가하는 것을 포함한다.
스케일링을 요구하지 않는 예측기들에만 기초하여 추가적인 예측기들을 생성함으로써 동작 복잡도가 감소되고 스케일링 프로세스는 예측기들의 새로운 생성과 병렬로 수행될 수 있다. 병합 모드의 유도 모션 벡터들에 대해 요구되는 사이클들의 수가 감소될 수 있고, 비-중복본 예측기들을 제공하기 위해 병합 모드 모션 벡터에 대해 요구되는 비교들의 수가 또한 감소된다.
실시예에서, 모션 정보 예측기들의 제1 세트의 제2 서브세트를 프로세싱하는 것은, 제2 서브세트가 동일한 하나 이상의 모션 정보 예측기들을 포함하는 경우, 상기 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하여, 모션 정보 예측기들의 감소된 서브세트를 제공하는 것; 및 모션 정보 예측기들의 감소된 서브세트에 기초하여 추가적인 모션 정보 예측기들을 생성하여 모션 정보 예측기들의 추가적인 제2 서브세트를 제공하는 것을 포함한다.
독립적으로, 발명의 관련 양상에서, 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분을 인코딩 또는 디코딩을 위한 하나 이상의 모션 정보 예측기를 유도하는 방법이 제공될 수 있고, 인코딩되거나 디코딩될 상기 이미지 부분에 대해, 방법은, 모션 정보 예측기들의 제1 세트(801-807)의 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트들을, 프로세싱을 위해 제공하는 단계 ― 제1 서브세트는 하나 이상의 시간적 모션 정보 예측기들을 포함하고, 제2 서브세트는 하나 이상의 시간적 모션 정보 예측기를 포함하고 임의의 시간적 모션 정보 예측기를 배제시킴 ― ; 모션 정보 예측기들의 제1 서브세트를 프로세싱하는 단계(808, 809); 및 모션 정보 예측기들의 제2 서브세트를 프로세싱하는 단계(808, 815, 817) ; 및 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들(818, 814)에 기초하여, 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트(820)를 획득하는 단계(819)를 포함하고; 제2 서브세트의 프로세싱은, 제2 서브세트가 동일한 하나 이상의 모션 정보 예측기들을 포함하는 경우, 상기 제2 서브세트만의 모션 정보 예측기들로부터 중복본들을 제거하여, 모션 정보 예측기들(816)의 감소된 서브세트를 제공하는 것을 포함한다.
시간적 예측기들이 제2 서브세트에 대한 선택으로부터 배제되므로, 제2 서브세트의 선택된 예측기들로부터 중복본들을 제거하거나 억제하는 프로세스가 오직 공간적 예측기들에만 적용될 수 있고, 이러한 방식으로 시간적 모션 정보 예측기들을 프로세싱하는 것을 수반하지 않는다는 점이 이해될 것이다.
이러한 방식으로 억제 프로세스로부터 시간적 예측기들을 배제시킴으로써, 전체 비교 수가 감소되고, 이에 의해 계산적 복잡도를 낮춘다.
반면, 특정 실시예들에서, 공간적 예측기들은 제1 서브세트에 대한 선택으로부터 배제된다. 제1 세트(즉, 시간적 모션 예측기들)의 프로세싱이 일부 실시예들에서 중복본들의 제거를 수반하지 않을 수 있지만, 하기에 더욱 상세하게 설명될 바와 같이, 실시예들은 최종 세트를 획득하는 스테이지에서 중복본들을 배제시키기 위해 프로세싱된 제1 및 제2 서브세트들을 유리하게 조합할 수 있다. 상이하게 언급된 경우, 따라서, 제1 세트의 프로세싱은 최종 세트의 획득 이전에 중복본들의 제거를 수반하지 않을 것이다.
실시예에서, 제1 서브세트의 시간적 모션 정보 예측기의 스케일링은 중복본들의 제거 단계 및 제2 서브세트의 추가적인 모션 정보 예측기들의 생성 단계와 동시에 수행된다.
실시예에서, 방법은: 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 하나 이상의 모션 정보 예측기들이 동일한 경우, 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들로부터 중복본들을 제거하여, 모션 정보 예측기들의 최종 세트 간에 중복본들이 존재하지 않도록 상기 이미지 부분을 인코딩하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 제공하는 단계를 포함한다.
실시예에서, 모션 정보 예측기들의 제2 서브세트의 프로세싱은, 추가적인 제2 서브세트가 동일한 하나 이상의 모션 정보 예측기들을 포함하는 경우, 모션 정보 예측기들의 추가적인 제2 서브세트의 모션 정보 예측기들로부터의 중복본들을 제거하여, 모션 정보 예측기들의 제2 감소된 서브세트를 제공하는 단계를 더 포함한다.
실시예에서, 추가적인 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하는 단계는 제1 서브세트의 시간적 모션 정보 예측기의 스케일링과 동시에 수행된다.
실시예에서, 방법은, 모션 정보 예측기들의 제2 감소된 서브세트에, 모션 정보 예측기들의 제2 감소된 서브세트의 모션 정보 예측기들의 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가하여 모션 정보 예측기들의 최종 세트를 획득하는 단계를 포함한다.
실시예에서, 방법은, 모션 정보 예측기들의 감소된 서브세트에, 모션 정보 예측기들의 감소된 서브세트의 모션 정보 예측기들 중 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가하는 단계를 추가하는 단계를 포함하고; 모션 정보 예측기들의 최종 세트는 모션 정보 예측기들의 감소된 서브세트 및 모션 정보 예측기들의 추가적인 제2 서브세트의 모션 벡터 예측기들로부터의 비 중복본 모션 벡터들을 포함한다.
실시예에서, 제1 서브세트이 프로세싱과 동시에 수행되는 제2 서브세트의 프로세싱은 제1 서브세트의 프로세싱의 지속기간의 추정에 기초한다.
실시예에서, 모션 정보 예측기들의 최종 세트를 획득하기 위해 제1 서브세트의 프로세싱으로부터 초래되는 모션 정보 예측기들에 추가되는 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들은 제1 서브세트의 프로세싱의 지속기간에 기초한다.
실시예에서, 방법은, 이미지 부분의 이미지 및 기준 이미지 부분의 이미지 사이의 시간 차에 기초하여, 시간적 스케일링 프로세스가 모션 정보 예측기들이 제1 서브세트에 적용될지의 여부를 결정하는 단계를 포함하고; 시간적 스케일링 프로세스가 적용될 것이라고 결정되는 경우, 모션 정보 예측기들의 제1 서브세트의 프로세싱은 이미지 부분의 이미지 및 기준 이미지 부분의 이미지 사이의 시간 차에 기초하여 모션 정보 예측기들의 제1 서브세트의 모션 정보 예측기들을 시간적 스케일링하는 단계를 포함하고; 그렇지 않고, 시간적 스케일링 프로세스가 적용되지 않을 것이라고 결정되는 경우, 모션 정보 예측기들의 제1 서브세트의 프로세싱은, 모션 정보 예측기들의 제1 서브세트 및 모션 정보 예측기들의 제2 서브세트의 모션 정보 예측기들로부터 비-중복본 모션 정보 예측기들을 포함하는 감소된 서브세트가 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱에 의해 제공되도록, 모션 정보 예측기들의 제1 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하는 단계를 포함한다.
실시예에서, 시간적 스케일링 프로세스가 적용될 것이라고 결정되는 경우, 예측기들의 최종 세트는 모션 정보 예측기들의 제1 서브세트 및 모션 정보 예측기들의 제2 서브세트의 동시적 프로세싱으로부터 초래되는 모션 정보 예측기들로부터의 중복본들을 제거함으로써 획득되고; 그렇지 않고 시간적 스케일링 프로세스가 적용되지 않을 것이라고 결정되는 경우, 예측기들의 최종 세트는, 감소된 서브세트에 기초하여 추가적인 모션 정보 예측기들을 생성하여 모션 정보 예측기들의 추가적인 제2 서브세트를 제공하고, 모션 정보 예측기들의 추가적인 제2 서브세트로부터 중복본들을 제거함으로써 획득된다.
실시예에서, 방법은 모션 정보 예측기들의 제1 서브세트의 시간적 스케일링 프로세스의 복잡도를 결정하는 단계를 포함하고, 시간적 스케일링 프로세스가 미리 결정된 지속기간 임계보다 더 긴 지속기간동안 지속될 것이라고 결정되는 경우, 모션 정보 예측기들의 최종 세트는 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래되는 모션 정보 예측기들로부터 중복본을 제거함으로써 획득되고; 그렇지 않고, 시간적 스케일링 프로세스가 미리 결정된 지속기간 임계보다 더 짧은 지속기간 동안 지속될 것이라고 결정되는 경우, 예측기들의 최종 세트는 모션 벡터 예측기들의 제2 서브세트로부터 획득된 모션 정보 예측기들의 감소된 서브세트에, 모션 정보 예측기들의 감소된 서브세트의 모션 정보 예측기들의 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가함으로써 획득되고; 모션 정보 예측기들의 최종 세트는 모션 정보 예측기들의 감소된 서브세트 및 모션 정보 예측기들의 추가적인 제2 서브세트의 모션 정보 예측기들로부터 비 중복본 모션 정보 예측기들을 포함한다.
실시예에서, 모션 정보 예측기들의 제1 세트의 제2 서브세트의 프로세싱은 상기 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하여 모션 정보 예측기들의 감소된 서브세트를 제공하는 것; 및 상기 제2 서브세트의 모션 정보 예측기들 중 하나에 기초하여 모션 정보 예측기들의 추가적인 세트를 생성하고, 상기 제2 세트의 모션 정보 예측기들 중 상기 하나를 포함하는 것을 포함하고, 여기서 모션 정보 예측기들의 추가적인 세트 간에 중복본들이 존재하지 않으며, 방법은 모션 정보 예측기들의 감소된 서브세트 및 모션 정보 예측기들의 추가적인 세트로부터 중복본들을 제거하여 모션 정보 예측기들의 비-중복본 세트를 제공하는 단계를 더 포함한다.
실시예에서, 모션 정보 예측기들의 제1 세트의 제2 서브세트의 프로세싱은: 모션 정보 예측기들의 감소된 서브세트에 기초하여 추가적인 모션 정보 예측기들을 생성하여 모션 정보 예측기들의 추가적인 제2 서브세트를 제공하는 것; 및 모션 정보 예측기들의 추가적인 제2 서브세트 및 모션 정보 예측기들의 비-중복본 세트의 모션 정보 예측기들로부터 중복본들을 제거하여 모션 정보 예측기들의 제2 비-중복본 세트를 제공하는 것을 더 포함한다.
실시예에서, 방법은 모션 정보 예측기들의 제2 비-중복본 세트에, 모션 정보 예측기들의 제2 비-중복본 세트의 모션 정보 예측기들 중 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가하여, 모션 정보 예측기들의 최종 세트를 획득하는 것을 포함한다.
발명의 제2 양상에 따라, 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분의 인코딩 또는 디코딩을 위한 하나 이상의 모션 정보 예측기를 유도하기 위한 디바이스가 제공되며, 디바이스는: 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트들을 획득하기 위한 수단; 모션 정보 예측기들의 제1 서브세트를 프로세싱하기 위한 제1 프로세싱 수단; 및 모션 정보 예측기들의 제2 서브세트를 프로세싱하기 위한 제2 프로세싱 수단 ― 제2 프로세싱 수단은 제1 프로세싱 수단에 의해 수행되는 모션 정보 예측기들의 제1 서브세트의 프로세싱의 적어도 일부분과 동시에 모션 정보 예측기들의 제2 서브세트의 프로세싱의 적어도 일부를 수행하도록 동작가능함 ― ; 및 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들에 기초하여, 기준 이미지 부분으로부터의 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 획득하기 위한 수단을 포함한다.
실시예에서, 제1 서브세트는 하나 이상의 시간적 모션 정보 예측기를 포함하고, 제2 서브세트는 하나 이상의 공간적 모션 정보 예측기를 포함한다.
실시예에서, 제1 프로세싱 수단은 인코딩될 이미지 부분의 이미지 및 기준 이미지 부분의 이미지 사이의 시간 차에 기초하여 상기 또는 각각의 시간적 모션 정보 예측기를 시간적으로 스케일링하도록 동작가능하다.
실시예에서, 제2 프로세싱 수단은 상기 세트의 모션 정보 예측기들 간에 중복본들이 존재하지 않는 비-중복본 모션 정보 예측기들의 세트를 생성하도록 동작가능하다.
실시예에서, 제2 프로세싱 수단은 제2 서브세트의 모션 정보 예측기들에 기초하여 하나 이상의 추가적인 모션 정보 예측기들을 생성하도록 동작가능하다.
실시예에서, 제2 프로세싱 수단은 제2 서브세트의 하나 이상의 모션 정보 예측기들을 조합하고, 그리고/또는 제2 서브세트의 하나 이상의 정보 예측기들에 오프셋을 추가하도록 동작가능하다.
실시예에서, 제2 프로세싱 수단은: 제2 서브세트가 동일한 하나 이상의 모션 정보 예측기들을 포함하는 경우, 상기 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하여, 모션 정보 예측기들의 감소된 서브세트를 제공하고; 모션 정보 예측기들의 감소된 서브세트에 기초하여 추가적인 모션 정보 예측기들을 생성하여 모션 정보 예측기들의 추가적인 제2 서브세트를 제공하도록 동작가능하다.
관련된 양상에서, 하나 이상의 기준 이미지 부분에 대해 모션 보상에 의해 이미지의 이미지 부분의 인코딩 또는 디코딩을 위한 하나 이상의 모션 정보 예측기들을 유도하기 위한 디바이스가 독립적으로 제공될 수 있으며, 디바이스는: 모션 정보 예측기들의 제1 세트(801-807)의 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트들을 획득하기 위한 수단 ― 제1 서브세트는 하나 이상의 시간적 모션 정보 예측기를 포함하고, 제2 서브세트는 하나 이상의 공간적 모션 정보 예측기를 포함하고, 임의의 시간적 모션 정보 예측기를 배제시킴 ― ; 모션 정보 예측기들의 제1 서브세트를 프로세싱하기 위한 제1 프로세싱 수단(808, 809); 및 모션 정보 예측기들의 제2 서브세트를 프로세싱하기 위한 제2 프로세싱 수단(808, 815, 817); 및 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들(818, 814)에 기초하여, 기준 이미지 부분의 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트(820)를 획득하기 위한 수단(819)을 포함하고; 제2 프로세싱 수단은, 제2 서브세트가 동일한 하나 이상의 모션 정보 예측기들을 포함하는 경우, 오직 상기 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하여, 모션 정보 예측기들의 감소된 서브세트(816)를 제공하도록 동작가능하다.
실시예에서, 제1 프로세싱 수단은 중복본들을 제거하는 동작 및 제2 프로세싱 수단에 의해 수행되는 제2 서브세트의 추가적인 모션 정보 예측기들을 생성하는 동작과 동시에 제1 서브세트의 시간적 모션 정보 예측기의 스케일링을 수행하도록 동작가능하다.
실시예에서, 디바이스는, 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 하나 이상의 모션 정보 예측기들이 동일한 경우, 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들로부터 중복본들을 제거하여 모션 정보 예측기들의 최종 세트 사이에 중복본들이 존재하지 않도록 상기 이미지 부분을 인코딩하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 제공하기 위한 억제 수단을 포함한다.
실시예에서, 제2 프로세싱 수단은, 추가적인 제2 서브세트가 동일한 하나 이상의 모션 정보 예측기들을 포함하는 경우 모션 정보 예측기들의 추가적인 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하여 모션 정보 예측기들의 제2 감소된 서브세트를 제공하도록 동작가능하다.
실시예에서, 제2 프로세싱 수단은 제1 프로세싱 수단에 의해 수행되는 제1 서브세트의 시간적 모션 정보 예측기의 스케일링과 동시에 추가적인 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하도록 동작가능하다.
실시예에서, 디바이스는, 모션 정보 예측기들의 제2 감소된 서브세트에, 모션 정보 예측기들의 제2 감소된 서브세트의 모션 정보 예측기들의 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가하여, 모션 정보 예측기들의 최종 세트를 획득하도록 동작가능한 수단을 포함한다.
실시예에서, 디바이스는, 모션 정보 예측기들의 감소된 서브세트에, 모션 정보 예측기들의 감소된 서브세트의 모션 정보 예측기들의 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가하기 위한 수단을 포함하고; 모션 정보 예측기들의 최종 세트는 모션 정보 예측기들의 감소된 서브세트 및 모션 정보 예측기들의 추가적인 제2 서브세트의 모션 정보 예측기들로부터의 비 중복본 모션 벡터들을 포함한다.
실시예에서, 디바이스는 제1 서브세트의 프로세싱의 지속기간을 추정하기 위한 수단을 포함하고, 제1 프로세싱 수단에 의해 수행되는 제1 서브세트의 프로세싱과 동시에 제2 프로세싱 수단에 의해 수행되는 제2 서브세트의 프로세싱은 제1 서브세트의 프로세싱의 지속기간의 추정에 기초한다.
실시예에서, 디바이스는 제1 서브세트의 프로세싱의 지속기간을 추정하기 위한 수단을 포함하고, 모션 정보 예측기들의 최종 세트를 획득하기 위해 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기에 추가된 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들은 제1 서브세트의 프로세싱의 지속기간에 기초한다.
실시예에서, 디바이스는 이미지 부분의 이미지 및 기준 이미지 부분의 이미지 사이의 시간 차에 기초하여, 시간적 스케일링 프로세스가 모션 정보 예측기들의 제1 서브세트에 적용될지의 여부를 결정하기 위한 수단을 포함하고; 그리고, 시간적 스케일링 프로세스가 적용된다고 결정되는 경우, 제1 프로세싱 수단은 이미지 부분의 이미지 및 기준 이미지 부분의 이미지 사이의 시간차에 기초하여 모션 정보 예측기들의 제1 서브세트의 모션 정보 예측기들의 시간적 스케일링을 수행하도록 동작가능하고; 그렇지 않고, 시간적 스케일링 프로세스가 적용되지 않을 것이라고 결정되는 경우, 제1 프로세싱 수단은, 모션 정보 예측기들의 제1 서브세트 및 모션 정보 예측기들의 제2 서브세트의 모션 정보 예측기들로부터의 비-중복본 모션 정보 예측기들을 포함하는 감소된 서브세트가 제1 프로세싱 수단 및 제2 프로세싱 수단에 의해 수행되는 프로세싱에 의해 제공되도록, 모션 정보 예측기들의 제1 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하도록 동작가능하다.
실시예에서, 디바이스는 모션 정보 예측기들의 최종 세트를 획득하기 위한 억제 수단을 포함하고, 시간적 스케일링 프로세스가 적용될 것이라고 결정되는 경우, 억제 수단은 모션 정보 예측기들의 제1 서브세트 및 모션 정보 예측기들의 제2 서브세트의 동시적 프로세싱으로부터 초래된 모션 정보 예측기들로부터 중복본들을 제거함으로써 예측기들의 최종 세트를 획득하도록 동작가능하고; 그렇지 않고, 시간적 스케일링 프로세스가 적용되지 않을 것이라고 결정되는 경우, 제1 또는 제2 프로세싱 수단은, 감소된 서브세트에 기초하여 추가적인 모션 정보 예측기들을 획득하여 모션 정보 예측기들의 추가적인 제2 서브세트를 제공하도록 동작가능하고, 억제 수단은 모션 정보 예측기들의 추가적인 제2 서브세트로부터 중복본들을 제거하도록 동작가능하다.
실시예에서, 디바이스는 모션 정보 예측기들의 제1 서브세트의 시간적 스케일링 프로세스의 복잡도를 결정하기 위한 수단 및 비-중복본인 모션 정보 예측기들의 최종 세트를 획득하기 위한 억제 수단을 포함하고; 시간적 스케일링 프로세스가 미리 결정된 지속기간 임계보다 더 긴 지속기간 동안 지속될 것이라고 결정되는 경우, 억제 수단은 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기들로부터 중복본들을 제거하도록 동작가능하고; 그렇지 않고, 시간적 스케일링 프로세스가 미리 결정된 지속기간 임계보다 더 짧은 지속기간 동안 지속될 것이라고 결정되는 경우, 억제 수단은, 모션 벡터 예측기들의 제2 서브세트로부터 획득된 모션 정보 예측기들의 감소된 서브세트에, 모션 정보 예측기들의 감소된 서브세트의 모션 정보 예측기들 중 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가하도록 동작가능하고; 모션 정보 예측기들의 최종 세트는 모션 정보 예측기들의 감소된 서브세트 및 모션 정보 예측기들의 추가적인 제2 서브세트의 모션 정보 예측기들로부터의 비 중복본 모션 정보 예측기들을 포함한다.
실시예에서, 제2 프로세싱 수단은 상기 제2 서브세트의 모션 정보 예측기들로부터 중복본들을 제거하여 모션 정보 예측기들의 감소된 서브세트를 제공하기 위한 수단; 및 상기 제2 서브세트의 모션 정보 예측기들 중 하나에 기초하여 모션 정보 예측기들의 추가적인 세트를 생성하고, 상기 제2 서브세트의 모션 정보 예측기들 중 상기 하나를 포함하기 위한 수단을 포함하고, 모션 정보 예측기들의 추가적인 세트 간에 중복본들이 존재하지 않고, 디바이스는 모션 정보 예측기들의 감소된 서브세트 및 모션 정보 예측기들의 추가적인 세트로부터 중복본들을 제거하여 모션 정보 예측기들의 비 중복본 세트를 제공하기 위한 억제 수단을 더 포함한다.
실시예에서, 제2 프로세싱 수단은 모션 정보 예측기들의 감소된 서브세트에 기초하여 추가적인 모션 정보 예측기들을 생성하여 모션 정보 예측기들의 추가적인 제2 서브세트를 제공하기 위한 수단; 및 모션 정보 예측기들의 추가적인 제2 서브세트 및 모션 정보 예측기들의 비-중복본 세트의 모션 정보 예측기들로부터 중복본들을 제거하여 모션 정보 예측기들의 제2 비-중복본 세트를 제공하기 위한 수단을 더 포함한다.
실시예에서, 억제 수단은, 모션 정보 예측기들의 제2 비-중복본 세트에, 모션 정보 예측기들의 제2 비-중복본 세트의 모션 정보 예측기들 중 임의의 것의 중복본이 아닌 모션 정보 예측기들의 제1 서브세트의 프로세싱으로부터 초래된 모션 정보 예측기를 추가하여, 모션 정보 예측기들의 최종 세트를 획득하도록 동작가능하다.
발명의 제3 양상에 따라, 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분의 인코딩 및 디코딩을 위한 하나 이상의 모션 정보 예측기를 유도하는 방법이 제공되고, 인코딩되거나 디코딩될 상기 이미지 부분에 대해, 방법은: 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트들을 프로세싱하기 위해 제공하는 단계; 하나 이상의 서브세트를 나타내는 데이터에 기초하여 모션 정보 예측기들의 제1 및 제2 서브세트들 중 적어도 하나를 프로세싱하기 위한 지속기간을 추정하는 단계; 추정된 프로세싱 지속기간에 따라, 모션 정보 예측기들의 제1 서브세트의 프로세싱 및 모션 정보 예측기들의 제2 서브세트의 프로세싱 중 어느 하나를 포함하는 제1 세트의 모션 정보 예측기들의 프로세싱 ― 모션 정보 예측기들의 제2 서브세트의 프로세싱의 적어도 일부는 모션 정보 예측기들의 제1 서브세트의 프로세싱, 또는 모션 정보 예측기들의 제1 및 제2 서브세트를 함께 프로세싱하는 것의 적어도 일부와 동시에 수행됨 ― ; 및 제1 서브세트의 모션 정보 예측기들의 프로세싱으로부터 초래된 모션 정보 예측기들에 기초하여, 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 획득하는 단계를 포함한다.
실시예에서, 방법은 모션 정보 예측기들의 제1 서브세트를 프로세싱하기 위한 시간의 지속기간을 모션 정보 예측기들의 제2 서브세트를 프로세싱하기 위한 시간의 지속기간과 비교하는 단계를 포함하고, 모션 정보 예측기들의 제1 세트의 프로세싱은 비교에 기초한다.
실시예에서, 방법은 제1 서브세트를 프로세싱하기 위한 시간의 지속기간 및/또는 제2 서브세트를 프로세싱하기 위한 시간의 지속기간을 미리 결정된 임계와 비교하는 단계를 포함하고, 모션 정보 예측기들의 제1 세트의 프로세싱은 비교에 기초한다.
실시예에서, 방법은 제1 서브세트의 하나 이상의 모션 정보 예측기들의 시간적 스케일링 프로세스를 포함하는 제1 서브세트의 프로세싱을 포함한다.
실시예에서, 방법은 제1 서브세트 및/또는 제2 서브세트의 각각의 모션 정보 예측기의 데이터를 포함하는 제1 서브세트 및/또는 제2 서브세트를 나타내는 데이터를 포함한다.
실시예에서, 방법은 시간적 스케일링 프로세스를 위한 시간적 거리를 포함하는 각각의 모션 정보 예측기의 데이터를 포함한다.
실시예에서, 방법은 상기 또는 각각의 서브세트의 모션 정보 예측기들의 수를 포함하는 제1 서브세트 및/또는 제2 서브세트를 나타내는 데이터를 포함한다.
실시예에서, 방법은 제1 서브세트 및/또는 제2 서브세트를 프로세싱하기 위한 동작들의 최대 수를 포함하는 제1 서브세트 및/또는 제2 서브세트를 나타내는 데이터를 포함한다.
발명의 제4 양상에 따라, 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분의 인코딩 또는 디코딩을 위해 하나 이상의 모션 정보 예측기를 유도하기 위한 디바이스가 제공되며, 디바이스는: 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트들을 획득하기 위한 수단; 하나 이상의 서브세트를 나타내는 데이터에 기초하여 모션 정보 예측기들의 제1 및 제2 서브세트들 중 적어도 하나를 프로세싱하기 위한 지속기간을 추정하기 위한 수단; 추정된 프로세싱 지속기간에 따라 모션 정보 예측기들의 제1 서브세트를 프로세싱하기 위한 제1 프로세싱 수단 및 모션 정보 예측기들의 제2 서브세트를 프로세싱하기 위한 제2 프로세싱 수단을 포함하고, 제2 프로세싱 수단은: 제1 프로세싱 수단 예측기들에 의해 수행되는 모션 정보의 제1 서브세트의 프로세싱의 적어도 일부와 동시에 모션 정보 예측기들의 제2 서브세트의 프로세싱의 적어도 일부를 수행하거나, 또는 모션 정보 예측기들의 제1 및 제2 서브세트들을 함께 프로세싱하도록 동작가능하고; 그리고 디바이스는, 제1 세트의 모션 정보 예측기들의 프로세싱으로부터 초래된 모션 정보 예측기들에 기초하여, 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 획득하기 위한 수단을 더 포함한다.
실시예에서, 디바이스에는 모션 정보 예측기들의 제1 서브세트를 프로세싱하기 위한 시간의 지속기간을 모션 정보 예측기들의 제2 서브세트를 프로세싱하기 위한 시간의 지속기간과 비교하기 위한 수단이 제공되고, 제1 프로세싱 수단에 의해 수행되는 모션 정보 예측기들의 제1 세트의 프로세싱은 비교에 기초한다.
실시예에서, 디바이스에는 제1 서브세트를 프로세싱하기 위한 시간의 지속기간 및 제2 서브세트를 프로세싱하기 위한 시간의 지속기간을 미리 결정된 임계와 비교하기 위한 비교 수단이 제공되고, 제1 프로세싱 수단에 의해 수행되는 모션 정보 예측기들의 제1 세트의 프로세싱은 비교에 기초한다.
실시예에서, 제1 프로세싱 수단은 제1 서브세트의 하나 이상의 모션 정보 예측기들의 시간적 스케일링 프로세스를 수행하도록 동작가능하다.
실시예에서, 제1 서브세트 및/또는 제2 서브세트를 나타내는 데이터는 제1 서브세트 및/또는 제2 서브세트의 각각의 모션 정보 예측기의 데이터를 포함한다.
실시예에서, 각각의 모션 정보 예측기의 데이터는 시간적 스케일링 프로세스에 대한 시간적 거리를 포함한다.
실시예에서, 제1 서브세트 및/또는 제2 서브세트를 나타내는 데이터는 상기 또는 각각의 서브세트의 모션 정보 예측기들의 수를 포함한다.
실시예에서, 제1 서브세트 및/또는 제2 서브세트를 나타내는 데이터는 제1 서브세트 및/또는 제2 서브세트를 프로세싱하기 위한 동작들의 최대 수를 포함한다.
발명의 추가적인 양상은 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분을 인코딩하거나 디코딩하기 위한 하나 이상의 모션 정보 예측기를 유도하기 위한 방법을 제공하고, 인코딩되거나 디코딩될 상기 이미지 부분에 대해, 방법은 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들을 프로세싱하여 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 획득하는 단계를 포함하고; 모션 정보 예측기들의 제1 세트의 프로세싱은: 제1 세트를 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트들로 세부분할하는 것; 하나 이상의 서브세트를 나타내는 데이터에 기초하여 모션 정보 예측기들의 제1 및 제2 서브세트들 중 적어도 하나를 프로세싱하기 위한 지속기간을 추정하는 것; 추정된 프로세싱 지속기간에 따라: 모션 정보의 제2 서브세트의 프로세싱의 적어도 일부분이 모션 정보 예측기들의 제1 서브세트의 프로세싱의 적어도 일부분과 동시에 수행되는 방식으로 세부-분할을 사용하여 모션 정보 예측기들의 제1 세트의 프로세싱을 수행하는 것, 또는 세부-분할을 사용하지 않고 모션 정보 예측기들의 제1 세트의 프로세싱을 수행하는 것 중 어느 하나를 포함한다.
발명의 추가적인 양상은 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분을 인코딩하거나 디코딩하기 위한 하나 이상의 모션 정보 예측기를 유도하기 위한 디바이스를 제공하고, 디바이스는 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 획득하기 위해 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들을 프로세싱하기 위한 프로세싱 수단을 포함하고; 프로세싱 수단은 제1 세트를 모션 정보 예측기들의 2개 이상의 다른 제1 및 제2 서브세트들로 세부분할하기 위한 수단; 하나 이상의 서브세트를 나타내는 데이터에 기초하여 모션 정보 예측기들의 제1 및 제2 서브세트들 중 적어도 하나를 프로세싱하기 위한 지속기간을 추정하기 위한 수단을 포함하고; 프로세싱 수단은, 추정된 프로세싱 지속기간에 따라, 모션 정보의 제2 서브세트의 프로세싱의 적어도 일부가 모션 정보 예측기들의 제1 서브세트의 프로세싱의 적어도 일부와 동시에 수행되는 방식으로 세부-분할을 사용하여 모션 정보 예측기들의 제1 세트의 프로세싱을 수행하거나, 또는 세부-분할 없이 모션 정보 예측기들의 제1 세트의 프로세싱을 수행하도록 동작가능하다.
발명의 추가적인 양상은 하나 이상의 기준 이미지 부분에 대한 모션 보상에 의해 이미지의 이미지 부분의 인코딩 또는 디코딩을 위해 하나 이상의 모션 정보 예측기를 유도하는 방법을 제공하고, 인코딩될 상기 이미지 부분에 대해, 방법은 모션 정보 예측기들의 제1 세트를 획득하는 단계, 및 모션 정보 예측기들의 제1 세트의 모션 정보 예측기들의 2개 이상의 다른 서브세트들을 동시 프로세싱하는 단계를 포함하고, 동시 프로세싱은 기준 이미지 부분으로부터 상기 이미지 부분을 예측하기 위해 사용가능한 모션 정보 예측기들의 최종 세트를 제공한다.
본 발명의 제5 양상은 디지털 이미지의 시퀀스를 비트스트림으로 인코딩하는 방법을 제공하고, 이미지의 하나 이상의 부분은 기준 이미지 부분에 대한 모션 보상에 의해 인코딩되고, 인코딩될 하나 이상의 이미지 부분에 대해, 방법은: 발명의 제1 또는 제3 양상의 실시예들의 임의의 것의 방법에 따라 하나 이상의 기준 이미지 부분에 대해 이미지 부분의 모션 예측을 위해 사용가능한 모션 정보 예측기들의 세트를 획득하는 단계; 이미지 부분을 인코딩하기 위한 하나 이상의 모션 정보 예측기를 정보 예측기들의 세트로부터 선택하는 단계; 및 선택된 하나 이상의 모션 정보 예측기를 사용하여 이미지 부분을 인코딩하는 단계를 포함한다.
방법은 선택된 모션 정보 예측기를 식별하는 정보 항목을 인코딩하는 단계를 포함할 수 있다.
발명의 제6 양상은 이미지들의 시퀀스를 비트스트림으로 인코딩하기 위한 인코딩 디바이스를 제공하고, 이미지의 적어도 한 부분은 기준 이미지 부분에 대한 모션 보상에 의해 인코딩되고, 인코딩 디바이스는: 발명의 제2 또는 제4 양상의 엘리먼트들 중 임의의 것에 따라 하나 이상의 모션 정보 예측기를 유도하기 위한 디바이스; 이미지 부분을 인코딩하기 위한 하나 이상의 모션 정보 예측기를 정보 예측기들의 세트로부터 선택하는 선택 수단; 및 선택된 하나 이상의 모션 정보 예측기를 사용하여 이미지 부분을 인코딩하기 위한 인코딩 수단을 포함한다.
발명의 제7 양상은 이미지들의 인코딩된 시퀀스를 포함하는 비트스트림을 디코딩하는 방법을 제공하고, 이미지의 하나 이상의 부분은 기준 이미지 부분에 대한 모션 보상에 의해 인코딩되고, 방법은 인코딩될 하나 이상의 이미지 부분에 대해: 발명의 제1 또는 제3 양상의 실시예들 중 임의의 하나의 방법에 따라 하나 이상의 기준 이미지 부분에 대한 이미지 부분의 모션 예측을 위해 사용가능한 모션 정보 예측기들의 세트를 획득하는 단계; 이미지 부분을 디코딩하기 위한 하나 이상의 모션 정보 예측기를 모션 예측기들의 세트로부터 선택하는 단계; 및 선택된 하나 이상의 모션 정보 예측기를 사용하여 이미지 부분을 디코딩하는 단계를 포함한다.
발명의 제8 양상은 이미지의 인코딩된 시퀀스를 포함하는 비트스트림을 디코딩하기 위한 디코딩 디바이스를 제공하고, 이미지의 하나 이상의 부분은 기준 이미지 부분에 대한 모션 보상에 의해 인코딩되고, 디코딩 디바이스는: 발명의 제2 또는 제4 양상의 실시예들 중 임의의 하나의 디바이스에 따라 하나 이상의 모션 정보 예측기를 유도하기 위한 디바이스; 이미지 부분을 디코딩하기 위한 하나 이상의 모션 정보 예측기를 정보 예측기들의 세트로부터 선택하기 위한 선택 수단; 및 선택된 하나 이상의 모션 정보 예측기를 사용하여 이미지 부분을 디코딩하기 위한 디코딩 수단을 포함한다.
발명의 상이한 양상들의 실시예들이 P 및 B 슬라이스들에 대해, 그리고 단방향 및 양상방 인터 예측들에 대해 사용될 수 있다는 점이 이해될 것이다.
발명에 따른 방법들의 적어도 일부분은 컴퓨터 구현될 수 있다. 따라서, 본 발명은 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함함) 또는 모두 일반적으로 본원에서 "회로", "모듈" 또는 "시스템"으로 지칭될 수 있는 소프트웨어 및 하드웨어 양상들을 조합한 실시예의 형태를 취할 수 있다. 또한, 본 발명은 매체에 내장된 컴퓨터 사용가능한 프로그램 코드를 가지는 임의의 실재적(tangible) 표현 매체 내에 내장된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
발명이 소프트웨어로 구현될 수 있으므로, 본 발명은 임의의 적절한 캐리어 매체를 통한 프로그램가능한 장치로의 공급(provision)을 위한 컴퓨터 판독가능한 코드로서 구현될 수 있다. 실재적 캐리어 매체는 플로피 디스크, CD-ROM, 하드 디스크 드라이브, 자기 테이프 디바이스 또는 고체 상태 메모리 디바이스 등과 같은 저장 매체를 포함할 수 있다. 과도적 캐리어 매체는 전기 신호, 전자 신호, 광학 신호, 음향 신호, 자기 신호 또는 전자기 신호, 예를 들어, 마이크로파 또는 RF 신호와 같은 신호를 포함할 수 있다.
발명의 실시예들이 이제, 오직 예시에 의해서, 그리고 후속하는 도면들을 참조하여 기술될 것이다.
도 1은 본 발명의 실시예들의 상황에서 모션 벡터 예측 프로세스에서 사용되는 모션 벡터 예측기들의 세트의 개략도이다.
도 2는 모션 벡터 예측기들의 세트를 유도하기 위한 종래 기술의 프로세스의 단계들을 예시하는 흐름도이다.
도 3은 발명의 실시예들이 구현될 수 있는 프로세싱 디바이스의 컴포넌트들을 예시하는 블록도이다.
도 4는 발명의 실시예들에 따른 인코더 디바이스의 컴포넌트들을 예시하는 블록도이다.
도 5는 발명의 실시예들에 따른 디코더 디바이스의 컴포넌트들을 예시하는 블록도이다.
도 6은 발명의 제1 실시예에 따른 모션 정보 예측기들의 세트를 획득하기 위한 방법의 단계들을 예시하는 흐름도이다.
도 7은 발명의 제2 실시예에 따른 모션 정보 예측기들의 세트를 획득하기 위한 방법의 단계들을 예시하는 흐름도이다.
도 8은 발명의 제3 실시예에 따른 모션 정보 예측기들의 세트를 획득하기 위한 방법의 단계들을 예시하는 흐름도이다.
도 9는 발명의 제4 실시예에 따른 모션 정보 예측기들의 세트를 획득하기 위한 방법의 단계들을 예시하는 흐름도이다.
도 10a 내지 10c는 발명의 하나 이상의 실시예들에 따른 모션 벡터 예측기들의 생성을 위한 방식들을 개략적으로 예시하는 도면이다.
도 11은 발명의 실시예들에서 사용되는 시간적 예측기의 스케일링의 프로세스를 예시하기 위한 개략도이다.
도 3은 본 발명의 하나 이상의 실시예를 구현하도록 구성되는 프로세싱 디바이스(200)를 개략적으로 예시한다. 프로세싱 디바이스(200)는 마이크로-컴퓨터, 워크스테이션 또는 경량의 이동식 디바이스와 같은 디바이스일 수 있다. 디바이스(200)는 바람직하게 접속되는 통신 버스(213)를 포함한다:
- CPU라고 표기되는, 마이크로프로세서와 같은 중앙 처리 장치(211);
- 발명을 구현하기 위한 컴퓨터 프로그램들을 저장하기 위한, ROM으로 표기되는, 판독 전용 메모리(207);
- 발명의 실시예들의 방법의 실행가능한 코드, 및 디지털 이미지들의 시퀀스를 인코딩하는 방법 및/또는 발명의 실시예들에 따른 비트스트림을 디코딩하는 방법을 구현하기 위해 필요한 변수들 및 파라미터들을 레코딩하도록 적응되는 레지스터들을 저장하기 위한, RAM으로 표기되는 랜덤 액세스 메모리(212); 및
- 프로세싱될 디지털 데이터가 전송되는 통신 네트워크(203)에 접속된 통신 인터페이스(202).
선택적으로, 장치(200)는 또한 후속하는 컴포넌트들을 포함할 수 있다:
- 발명의 하나 이상의 실시예들의 방법들을 구현하기 위한 컴퓨터 프로그램들 및 발명의 하나 이상의 실시예들의 구현 동안 사용되거나 생성되는 데이터를 저장하기 위한, 하드 디스크와 같은 데이터 저장 수단(204);
- 디스크(206)로부터 데이터를 판독하거나 또는 데이터를 상기 디스크에 기록하도록 적응되는, 디스크(206)에 대한 디스크 드라이브(205);
- 키보드(210) 또는 임의의 다른 포인팅 수단에 의해, 데이터를 디스플레이하고 그리고/또는 사용자와의 그래픽 인터페이스로서 역할을 하기 위한 스크린(209).
장치(200)는 예를 들어, 디지털 카메라(200) 또는 마이크로폰(208)과 같은, 다양한 주변 장치들에 접속될 수 있고, 각각은 장치(200)에 멀티미디어 데이터를 공급하기 위해 입력/출력 카드(미도시)에 접속된다.
통신 버스는 장치(200)에 포함되거나 이에 접속되는 다양한 엘리먼트들 사이에 통신 및 상호운용성을 제공한다. 버스의 표현은 제한적이지 않으며, 특히, 중앙 처리 장치는 직접적으로 또는 장치(200)의 또다른 엘리먼트에 의해 장치(200)의 임의의 엘리먼트에 대해 명령들을 통신하도록 동작가능하다.
디스크(206)는 예를 들어, 재기록가능하거나 가능하지 않은 컴팩트 디스크(CD-ROM), ZIP 디스크 또는 메모리 카드와 같은 임의의 정보 매체에 의해, 그리고 일반적인 견지에서, 장치 내에 집적되거나 집적되지 않는, 가능하게는 이동가능하며, 구현될 방법에 따라 그것의 실행이 디지털 이미지들의 시퀀스를 인코딩하는 방법 및/또는 비트스트림을 디코딩하는 방법을 가능하게 하는 하나 이상의 프로그램들을 저장하도록 적응되는, 마이크로컴퓨터에 의해 또는 마이크로프로세서에 의해 판독될 수 있는 정보 저장 수단에 의해 대체될 수 있다.
실행가능한 코드는 이전에 설명된 바와 같이 판독 전용 메모리(207) 내에, 하드 디스크(204) 상에 또는 예를 들어, 디스크(206)와 같은 제거가능 디지털 매체 상에 저장될 수 있다. 변형예에 따르면, 프로그램들의 실행가능한 코드는, 실행되기 전에 하드 디스크(204)와 같은, 장치(200)의 저장 수단 중 하나에 저장되도록 하기 위해, 인터페이스(202)를 통해, 통신 네트워크(203)에 의해 수신될 수 있다.
중앙 처리 장치(211)는 발명에 따르는 프로그램 또는 프로그램들의 명령들 또는 소프트웨어 코드의 일부분, 전술된 저장 수단 중 하나에 저장된 명령들의 실행을 제어하거나 지시하도록 적응된다. 파워 업 시에, 비휘발성 메모리 내에, 예를 들어, 하드 디스크(204) 상에 또는 판독 전용 메모리(207) 내에 저장된 프로그램 또는 프로그램들은, 이후 프로그램 또는 프로그램들의 실행가능한 코드를 포함하는 랜덤 액세스 메모리(212), 뿐만 아니라 발명을 구현하기 위해 필요한 변수들 및 파라미터들을 저장하기 위한 레지스터들 내로 전송된다.
이 실시예에서, 장치는 발명을 수현하기 위해 소프트웨어를 사용하는 프로그램가능한 장치이다. 그러나, 대안적으로, 본 발명은 하드웨어에서(예를 들어, 주문형 집적 회로 또는 ASIC의 형태로) 구현될 수 있다.
도 4는 발명의 하나 이상의 실시예들에 따르는 인코더의 블록도를 예시한다. 인코더는 접속된 모듈들로 표현되며, 각각의 모듈은, 예를 들어, 디바이스(200)의 CPU(211)에 의해 실행될 프로그래밍 명령들의 형태로 구현되도록 적응되고, 방법의 하나 이상의 대응하는 단계는 발명의 하나 이상의 실시예들에 따라 이미지들의 시퀀스의 이미지를 인코딩하는 하나 이상의 실시예를 구현한다.
디지털 이미지들 i0 내지 in(301)의 원래 시퀀스는 인코더(30)에 의해 입력으로서 수신된다. 각각의 디지털 이미지는, 픽셀들로서 공지된, 샘플들의 세트에 의해 표현된다.
비트스트림(310)은 인코딩 프로세스의 구현 이후 인코더(30)에 의해 출력된다.
비트스트림(310)은 인코딩된 비디오 데이터를 포함하는 복수의 인코딩 유닛들 또는 슬라이스들을 포함하고, 각각의 슬라이스는 슬라이스 및 슬라이스 바디를 인코딩하기 위해 사용되는 인코딩 파라미터들의 인코딩 값들을 전송하기 위한 슬라이스 헤더를 포함한다.
입력 디지털 이미지들 i0 내지 in(301)은 모듈(302)에 의해 픽셀들의 블록들로 분할된다. 블록들은 이미지 부분들에 대응하고, 가변 사이즈들(예를 들어, 4x4, 8x8, 16x16, 32x32 픽셀들)일 수 있다. 코딩 모드는 각각의 입력 블록에 대해 선택된다. 코딩 모드들의 2가지 계열들이 제공된다: 공간적 예측 코딩(인트라 예측)에 기초한 코딩 모드, 및 시간적 예측(인터 코딩, Bidir, SKIP)에 기초한 코딩 모드들. 가능한 코딩 모드들이 테스트된다.
모듈(303)은, 인코딩될 주어진 블록이 인코딩될 상기 블록의 이웃의 픽셀들로부터 계산된 예측기에 의해 예측된다. 선택된 인트라 예측기 및 주어진 블록과 그것의 예측기 사이의 차이의 표시는 인트라 코딩이 선택되는 경우 잔차를 제공하도록 인코딩된다.
시간적 예측은 모션 추정 모듈(304) 및 모션 보상 모듈(305)에 의해 구현된다. 먼저, 기준 이미지들(316)의 세트로부터의 기준 이미지가 선택되고, 인코딩될 주어진 블록에 가장 가까운 영역인, 또한 기준 영역 또는 이미지 부분으로 명명된 기준 이미지의 일부분이 모션 추정 모듈(304)에 의해 선택된다. 모션 보상 모듈(305)은 이후 선택된 영역을 사용하여 인코딩될 블록을 예측한다. 선택된 기준 영역 및 또한 잔차 블록으로 명명되는 주어진 블록 사이의 차이는 모션 보상 모듈(305)에 의해 계산된다. 선택된 기준 영역은 모션 벡터에 의해 표시된다.
따라서, 두 경우들(공간적 및 시간적 예측) 모두에서, 잔차는 원래 예측된 블록으로부터 예측을 차감함으로써 계산된다.
모듈(303)에 의해 구현되는 인트라 예측에서, 예측 방향이 인코딩된다. 시간적 예측에서, 하나 이상의 모션 벡터가 인코딩된다.
인터 예측이 선택되는 경우, 모션 벡터 및 잔차 블록에 대한 정보가 인코딩된다. 비트레이트를 추가로 감소시키기 위해, 모션 벡터는 모션 벡터 예측기에 대한 차이만큼 인코딩된다. 모션 정보 예측기들의 세트의 모션 벡터 예측기는 모션 벡터 예측 및 코딩 모듈(317)에 의해 모션 벡터 필드(318)로부터 획득된다.
도 7 내지 10 중 임의의 것에 대해 하기에 더욱 상세히 설명될 바와 같이, 모션 벡터 예측기가 현재 모션 벡터의 인코딩을 위해 선택되는 모션 벡터 예측기들의 세트가 생성된다. 인코딩될 주어진 현재 블록에 대해, 발명의 일부 실시예들에서, 모션 벡터 예측기들의 수 N이 결정되고, 결과적으로, 선택된 모션 벡터 예측기를 나타내는 정보의 항목인 선택된 모션 벡터 예측기의 인덱스가 모션 벡터 예측기들의 수 N에 따라 미리 결정된 비트 수를 사용하여 인코딩될 수 있다. 이러한 미리 결정된 비트 수는 또한, 심지어 손실의 경우, 디코더에 의해 검색될 수 있고, 따라서, 디코더가 심지어 에러들 또는 손실들의 경우에도 비트스트림을 파싱(parse)할 수 있을 것임이 보장될 수 있다. N개의 모션 벡터 예측기들은 압축 효율성을 향상시키기 위해 발명의 다양한 실시예들에 따라 모두 서로 상이하도록 선택된다.
인코더(30)는 코딩 모드의 선택을 위한 선택 모듈(306)을 더 포함한다. 선택 모듈(306)은 어느 것이 공간적 예측 모드 및 시간적 예측 모드 사이의 최상의 모드인지를 결정하기 위해, 레이트-왜곡 기준과 같은 인코딩 비용 기준을 적용한다. 리던던시들을 추가로 감소시키기 위해, 변환 모듈(307)에 의해 잔차 블록에 변환이 적용되며, 획득된 변환된 데이터는 이후 양자화 모듈(308)에 의해 양자화되고 엔트로피 인코딩 모듈(309)에 의해 엔트로피 인코딩된다. 마지막으로, 인코딩된 현재 블록의 인코딩된 잔차 블록이, 선택된 모션 벡터 예측기의 인덱스와 같이 사용되는 예측기에 대한 정보와 함께, 비트스트림(310) 내로 삽입된다. '스킵' 모드에서 인코딩된 블록들에 대해, 예측기에 대한 기준만이, 임의의 잔차 블록 없이, 비트스트림에서 인코딩된다.
인코더(30)는 또한 후속하는 이미지들의 모션 추정을 위한 기준 이미지를 생성하기 위해 인코딩된 이미지의 디코딩을 수행한다. 이는 비트스트림을 수신하는 인코더 및 디코더가 동일한 기준 프레임들을 가질 수 있게 한다. 역양자화 모듈(311)은, 역변환 모듈(312)에 의한 역변환에 선행하여, 양자화된 데이터의 역양자화를 수행한다. 역 인트라 예측 모듈(313)은 주어진 블록에 대해 어느 예측기를 사용할지를 결정하기 위해 예측 정보를 사용하고, 역 모션 보상 모듈(314)은 실제로 기준 이미지들(316)의 세트로부터 획득된 기준 영역에 모듈(312)에 의해 획득된 잔차를 추가한다. 선택적으로, 블록해제 필터(315)는 차단 영향들을 제거하고 디코딩된 이미지의 시각적 품질을 향상시키기 위해 적용된다. 동일한 블록해제 필터가 디코더에 적용되고, 따라서, 전송 손실이 없는 경우, 인코더 및 디코더는 동일한 프로세싱을 적용한다.
도 5는 발명의 하나 이상의 실시예에 따른 디코더(40)의 블록도를 예시한다. 디코더는 접속된 모듈들에 의해 표현되며, 각각의 모듈은, 예를 들어, 디바이스(200)의 CPU(211)에 의해 실행될 프로그래밍 명령들의 형태로, 발명의 실시예를 구현하는 방법의 대응하는 단계를 구현하도록 적응된다.
디코더(40)는 각각이 인코딩 파라미터에 대한 정보를 포함하는 헤더 및 인코딩된 비디오 데이터를 포함하는 바디로 구성된 인코딩 유닛들을 포함하는 비트스트림(401)을 수신한다. 도 4에 대해 설명된 바와 같이, 인코딩된 비디오 데이터가 엔트로피 인코딩되고, 모션 벡터 예측기들의 인덱스들은, 미리 결정된 비트 수들 상에서, 주어진 블록에 대해, 인코딩된다. 수신된 인코딩된 데이터는 모듈(402)에 의해 엔트로피 디코딩된다. 잔여 데이터는 이후 모듈(403)에 의해 역양자화되고, 이후 픽셀 값들을 획득하기 위해 모듈(404)에 의해 역변환이 적용된다.
모드 데이터는 또한 엔트로피 디코딩되고, 모드에 기초하여 인트라 타입 디코딩 또는 인터 타입 디코딩이 수행된다.
인트라 모드의 경우, 인트라 예측기가 비트스트림에서 특정된 인트라 예측 모드에 기초하여 인트라 역 예측 모듈(405)에 의해 결정된다.
모드가 인터인 경우, 모션 예측 정보는 인코더에 의해 사용된 기준 영역을 찾기 위해 비트스트림으로부터 추출된다. 모션 예측 정보는 기준 프레임 인덱스 및 모션 벡터 잔차로 구성된다. 모션 벡터 예측기는 모션 벡터 디코딩 모듈(410)에 의해 모션 벡터를 획득하기 위해 모션 벡터 잔차에 추가된다.
모션 벡터 디코딩 모듈(410)은 모션 예측에 의해 인코딩된 각각의 현재 블록에 대해 모션 벡터 디코딩을 적용한다. 현재 블록에 대한 모션 벡터 예측기의 인덱스가 획득되면, 현재 블록과 연관된 모션 벡터의 실제 값은 모듈(406)에 의한 역 모션 보상을 적용하기 위해 디코딩되고 사용될 수 있다. 디코딩된 모션 벡터에 의해 표시되는 기준 영역은 역 모션 보상(406)을 적용하기 위해 기준 이미지(408)로부터 추출된다. 모션 벡터 필드 데이터(411)는 다음 디코딩된 모션 벡터들의 역 예측을 위해 사용되도록 하기 위해 디코딩된 모션 벡터를 이용하여 업데이트된다.
마지막으로, 디코딩된 블록이 획득된다. 블록 해제 필터(407)가 적용되고, 블록 해제 필터(315)와 유사하게 인코더에서 적용된다. 디코딩된 비디오 신호(409)는 디코더(40)에 의해 최종적으로 제공된다.
도 6은 기준 이미지 부분에 대해 이미지의 이미지 부분의 인코딩을 위해 적합한 잠재적 모션 정보 예측기들의 세트를 유도하기 위한 발명의 제1 실시예에 따르는 방법의 단계들을 예시하는 흐름도이다. 방법의 제1 단계에서, 7개의 블록 위치들이 고려된다(701 내지 707). 이들 위치들은 도 1에 도시된 공간적 및 시간적 위치들에 대응한다. 모듈(708)은 7개의 블록 위치들의 모션 벡터들의 이용가능성을 검증하여 모션 벡터 예측기들로서 4개의 모션 벡터들을 선택한다. 이 모듈에서, 모션 벡터는 그것이 존재하는 경우, 그리고 모션 벡터 블록이 인트라 코딩되지 않는 경우 예측기로서 이용가능하다. 4개의 모션 벡터 예측기들의 선택 및 검증은 후속하는 조건들 하에서 기술된다:
● "좌측" 모션 벡터(701)가 이용가능한 경우(그것이 존재하는 경우 그리고 이 블록이 인트라 코딩되지 않는 경우), "좌측" 블록의 모션 벡터가 선택되어 예측기 1(610)로서 사용된다.
● "상단" 모션 벡터(702)가 이용가능한 경우, "상단" 블록의 모션 벡터가 선택되어 예측기 2(711)로서 사용된다.
● "상단 우측" 모션 벡터(703)가 이용가능한 경우, "상단 우측" 블록의 모션 벡터가 선택되어 예측기 3(712)로서 사용된다.
● "하단 좌측" 모션 벡터(704)가 이용가능한 경우, "하단 좌측" 블록의 모션 벡터가 선택되어 예측기 4(713)로서 사용된다.
● 이들 예측기들 중 하나(또는 그 이상)가 이용가능하지 않은 경우, 그리고 "상단 좌측" 모션 벡터(705)가 이용가능한 경우, "상단 좌측" 블록의 모션 벡터는 추가된 공간 예측기 이후 선택된 모션 벡터 예측기들의 세트에 추가된다.
● "H" 모션 벡터가 이용가능한 경우, "H" 블록의 모션 벡터가 선택되어 예측기 5(714)로서 사용된다. "H" 블록이 이용가능하지 않은 경우, "병치된" 모션 벡터(현재 블록 내의 동일한 위치에서의 블록의 모션 벡터)의 이용가능성이 체크되고, 병치된 모션 벡터가 이용가능한 경우, 그것은 시간적 예측기로서 사용된다. 모듈(708)의 이용가능성 체크는 1개 사이클을 요구한다.
프로세스의 시작에서 선택된 모션 벡터 예측기들의 세트가 오직 공간 예측기들 1, 2, 3, 4만을 포함하므로, 선택 프로세스(715)의 복잡도는, 4개의 공간적 예측기 및 1개의 시간적 예측기를 포함하는 도 2의 종래 기술의 선택 프로세스에 비해, 감소된다.
억제 프로세스는 모든 다른 선택된 예측기들에 각각의 선택된 예측기를 비교하는 것, 및 (그것의 제거된 예측기가 중복본인 다른 선택된 예측기를 보유하는 동안) 또다른 선택된 예측기와 동일한 해당 선택된 예측기들을 제거하여, 예측기들 중 어느 것도 서로의 중복본들이 아닌 예측기들의 세트를 제공한다. P 슬라이스들에 대한 억제 프로세스는 모션 벡터들의 값들 및 이들의 기준 프레임 인덱스들을 고려한다. 따라서, 모션 벡터의 2개의 컴포넌트들 및 모션 벡터의 기준 프레임 인덱스는 다른 모션 벡터들의 모든 대응하는 컴포넌트들에 비교되고, 이들 3개의 값들이 동일한 경우에만 예측기가 세트로부터 제거된다(또는 세트에 추가되지 않는다). B 프레임에 대해, 이러한 기준은 방향 및 리스트들로 확장될 수 있다. 따라서, 예측기는 예측기가 동일한 방향, 동일한 리스트들(L0, L1, 또는 L0 및 L1), 동일한 기준 프레임 인덱스들 및 선택된 모션 벡터들의 세트 내의 모션 벡터들의 동일한 값(양방향(bi) 예측에 대해 MV_L0 및 MV_L1)을 사용하는 경우 중복본 예측기로서 간주된다. 억제 프로세스는 기껏해야 5개의 예측기들이 비교될 필요가 있을 때 1개 사이클 동안 지속한다. 실제로, 12개의 비교들이 1개 사이클 내에서 계산될 수 있다는 점이 고려될 수 있다. 가장 복잡한 경우 억제 프로세스에 대한 비교들의 최대 수는 0 내지 N-1의 합산과 동일하다. 압축 프로세스의 시작에서 예측기들의 최대 수가 5 대신 4이므로, 수행될 비교들의 최대 수는, 도 2의 종래 기술의 5개의 선택된 예측기들에 대한 10에 비해, 6이다(즉, 3+2+1 = 6). 이 억제 프로세스(715)의 종단에서, 예측기들(716)의 감소된 세트가 생성된다. 감소된 모션 벡터 예측기 세트(716)는 종래 기술에서의 5에 비해, 기껏해야 4개의 예측기들을 포함한다.
모션 벡터 예측기의 생성 모듈(717)은 감소된 모션 벡터 예측기 세트의 예측기들에 기초하여 새로운 예측기 후보들을 생성한다. 이러한 예측기들을 생성하기 위한 몇몇 방식들이 사용될 수 있고, 한 가지 이러한 방식은 도 10a 내지 10c를 참조하여 추후 기술될 것이다. 모션 벡터 예측기의 생성 모듈에 의해 수행되는 프로세스가 적어도 1개 사이클 동안 지속하고, 예측기들(718)의 제2 세트를 생성한다는 점이 고려될 수 있다. 감소된 예측기들(716)의 세트가 일반적으로 도 2에 예시된 종래 기술의 감소된 예측기 세트(616)보다 더 적은 예측기들을 포함하므로, 평균적으로, 더 적게 조합된 예측기들 및 스케일링된 예측기들이 종래 기술에 비해 감소된 모션 벡터 예측기 세트(717)에서 생성되고, 프로세스의 복잡도는 감소된다.
다음으로, 억제 프로세싱 모듈(715)과 유사한 방식으로 동작하는 억제 프로세싱 모듈(721)은 각자의 모션 벡터 컴포넌트들 및 연관된 모션 정보 파라미터들을 비교함으로써, 제2 예측기 세트(718) 및 감소된 예측기 세트(716)로부터 중복본 후보들을 제거한다. 도 2에 예시된 종래 기술에서, 이러한 특정 프로세스의 지속기간은, 특히 현재 HEVC 설계의 모션 벡터 예측기 생성이 적용되는 경우, 제2 예측기 세트(718)에서 생성된 예측기들의 수에 따라 3개 사이클들에 도달할 수 있다. 억제 프로세스(721)는 모션 벡터 예측기들(722)의 제2 감소된 세트를 생성한다.
마지막으로, 시간적 예측기(714)는 모듈(719) 내의 모션 벡터 예측기들(722)의 제2 감소된 세트와 비교된다. 모듈(719)에 의해 수행되는 억제 및 재순서화 프로세싱에서, 시간적 예측기는, 시간적 예측기가 중복본 예측기인지의 여부를 결정하기 위해, 기껏해야 5개의 예측기들과 비교된다. 그것이 비-중복본 예측기인 경우, 시간적 예측기는 마지막 비 중복본 공간적 예측기의 바로 앞의 예측기들의 리스트 내로 삽입된다. 시간적 위치는 억제 프로세싱 모듈(715)에 의해 결정되어 프로세싱 모듈(719)로 전송되었으며, 715 내의 예측기들의 수에 대응한다. 예측기들의 리스트는 그것이 예측기들(720)의 최종 세트를 생성하기 위해 5개 초과의 예측기들을 포함하는 경우 절단된다. 모듈(719)에 의해 수행되는 비교들의 최대 수가, 도 2에 예시된 종래 기술의 억제 모듈(619)에 비해 감소되는, 가장 복잡한 경우에서 5라는 점이 주목될 수 있다.
대안적인 실시예에서, 억제 프로세싱 모듈(719)은 종래 기술의 억제 프로세싱 모듈(619)과 동일한 방식으로 동작할 수 있다. 이러한 경우, 시간적 예측기는 오직, 예측기들(722)의 감소한 세트가 기껏해야 4개의 예측기들을 포함하는 경우 예측기들의 세트에 추가된다. 그렇지 않은 경우, 시간적 예측기는 예측기들의 리스트의 종단에 추가된다.
도 7은 발명의 제2 실시예를 예시한다. 도 6의 실시예에 대한 주요 차이는 모듈(817)에 의해 수행된 모션 벡터 예측기 생성 프로세스가 도 6의 모듈(717)의 경우에서처럼 1개 사이클 대신 2개 사이클들의 지속기간 동안 지속한다는 점이다. 도 7의 경우, 제2 예측기 세트(818)의 중복본 예측기들을 제거하기 위한 억제 프로세스는 시간적 스케일링 프로세스(809)와 병렬로 실행되지 않는다. 결과적으로, 도 7에서, 억제 모듈(819)에서, 시간적 예측기(814)는 모션 벡터 예측기(816)들의 감소된 세트의 예측기들 및 제2 예측기 세트(818)의 예측기들 모두에 비교된다. 이 프로세스에서, 시간적 예측기(814)가 감소된 모션 벡터 예측기 세트(816)의 모션 벡터 예측기들의 비-중복본 예측기인 경우, 시간적 예측기(814)는 공간적 예측기들 다음에 모션 벡터 예측기들의 감소된 세트에 추가된다. 다음으로, 제2 예측기 세트(818)의 예측기들은, 추가되는 경우 시간적 예측기(814)를 가지는 모션 벡터 예측기들(816)의 감소된 세트의 예측기들에, 그리고 제2 예측기 세트(818)의 다른 예측기들에 비교된다.
도 6 또는 도 7의 실시예들의 프로세싱의 장점은 제1 억제 프로세스(715 또는 815) 및 모션 벡터 예측기 생성 프로세스(717 또는 817)와 병렬로 스케일링 프로세스(709)의 전체 실행으로부터 초래된다. 각각의 프로세스의 복잡도에 따라, 추가적인 억제 프로세스들(721)은 최종 억제 프로세스(719)의 복잡도를 감소시키기 위해 비-중복본 세트를 미리 결정하기 위한 방법에 포함될 수 있다. 따라서, 발명의 제1 실시예에서, 전체 억제 프로세스가 모듈들(721 및 719)에 의해 구현되는 2개의 억제 프로세스들로 분할된다는 점이 고려될 수 있다.
병렬 스케일링 프로세스는 코딩 효율성에 대한 유리한 영향을 가진다. 실제로, 시간적 예측기(714 또는 814)가 예측기들(718 또는 818)의 제2 세트를 생성하기 위해 사용되지 않으므로, 이는 모션 벡터 예측기들의 생성에 대한 영향을 가진다.
발명의 제3 실시예에 따라 모션 벡터 예측기들의 세트를 생성하는 방법의 단계들은 도 8의 흐름도에 예시된다. 발명의 제3 실시예에 따른 방법은 코딩 효율성에 대한 영향을 추가로 감소시킨다.
선택 모듈(908)은, 공간적 및 시간적 블록 위치들(901 내지 907)로부터, 이들이 이용가능성에 기초하여, 4개의 모션 벡터들(910 내지 913)을 선택하기 위해 발명의 제1 및 제2 실시예들의 대응하는 선택 모듈들(708 및 808)과 유사한 방식으로 동작한다.
주요 차이는 스케일링 결정 모듈(923)의 사용이다. 스케일링 결정 모듈(923)에서, 시간적 모션 벡터의 시간적 거리 및 시간적 예측기(예측기 번호 5)의 시간적 거리가 비교된다. 인터 예측의 단방향성 타입에 대해, 이는 시간적 프레임(H 및 병치된 블록들의 프레임) 및 시간적 모션 벡터(H 또는 병치된)에 의해 이에 지정된 기준 프레임 사이의 픽쳐 순서 카운트(POC) 차이가 현재 프레임 및 시간적 예측기의 기준 프레임 사이의 시간적 거리에 비교됨을 의미한다. 이들 시간적 거리들이 동일한 경우, 스케일링 결정 모듈(923)은 값 "아니오"를 리턴시킨다. 그렇지 않은 경우, 이는 스케일링 프로세스가 요구되지 않음을 의미하며, 스케일링 결정 모듈(923)은 값 "예"를 리턴시킨다. 양방향성 예측 타입에 대해, 결정 모듈(923)은 각각의 리스트에 대한 시간적 거리들을 비교하며, 리턴된 결정은 두 리스트들 모두에 대한 결정들에 의존한다. 따라서, 두 리스트들 모두에 대해, 스케일링이 요구되지 않는 경우, 스케일링 결정 모듈(923)은 값 "아니오"를 리턴시키고, 하나 이상의 스케일링 프로세스가 하나의 리스트에 대해 요구되는 경우, 스케일링 결정 모듈(923)은 값 "예"를 리턴시킨다.
스케일링 결정 모듈(923)이 값 "아니오"를 리턴시키는 경우, 시간적 예측기 5(924)는 억제 프로세스(915)에서 사용된다. 결과적으로, 모션 벡터 예측기들(917)의 생성은 시간적 예측기 5의 값을 사용하여 예측기들의 제2 세트(918)를 생성한다. 이후, 억제 프로세스(921)는 예측기들의 감소된 세트(916) 및 제2 예측기들의 세트(918)에 적용된다. 다음으로, 결정 모듈(925)는 스케일링 결정 모듈(923)의 결정에 기초하여 모션 벡터 예측기들의 최종 세트의 공급에 대한 결정을 수행하는데, 즉, 스케일링 결정 모듈(923)에 의해 이루어진 결정은, 억제 프로세스(921)에 의해 생성된 감소된 예측기 세트가 최종 예측기 세트인지의 여부를 결정하기 위해 사용되고, "아니오"가 결정 모듈(923)에 의해 리턴될 때, 억제 프로세스(921)에 의해 생성된 감소된 예측기 세트가 최종 예측기 세트라고 결정된다. 따라서, 스케일링 결정 모듈(923)이, 스케일링이 요구되지 않음을 표시하는 "아니오"를 리턴시킬 때, 예측기 세트의 유도는 도 2에 예시된 바와 같은 예측기들의 세트의 유도와 유사한 방식으로 동작한다.
그렇지 않고, 스케일링 결정 모듈(923)이, 시간적 예측기 번호 5(914)를 생성하기 위해 시간적 예측기가 모듈(909)에서 스케일링됨을 표시하는 값 "예"를 리턴시키는 경우, 억제 프로세스(921)에 의해 생성된 감소된 예측기 세트가 최종 예측기 세트가 아니라고 결정된다. 이 경우, 억제 프로세스 모듈(915)은 억제 프로세스에 대한 시간적 예측기를 사용하지 않고, 모션 벡터 예측기 생성 모듈(917)은 새로운 예측기들을 생성하기 위해 시간적 예측기를 사용하지 않는다. 결과적으로, 도 6의 흐름도에 예시된 프로세스와 유사한 방식으로, 시간적 예측기 5의 스케일링 프로세스(909)는 모션 벡터 예측기들(917)의 생성과 병렬로 실행된다. 스케일링 결정 모듈(925)은, 제2 억제 프로세스 이후에, 값 "예"를 리턴시킨다. 따라서, 스케일링된 시간적 예측기(914)는 억제 프로세스(919)에서 예측기들의 제2 감소된 세트(922)의 예측기들과 비교된다. 도 6의 억제 프로세스 모듈(719)의 경우에서와 같이, 시간적 예측기(914)가 예측기들의 제2 감소된 세트 내의 예측기들의 비-중복본 예측기인 경우, 억제 및 재순서화 모듈(919)은 제1 감소된 예측기 세트(916) 다음에 예측기들의 세트 내로 시간적 예측기를 삽입하여 예측기들의 최종 세트(920)를 제공한다.
이 실시예를 요약하자면, 스케일링 프로세스(909)는, 시간적 예측기가 스케일링될 필요가 있는 경우에만 제2 세트(918)의 생성 프로세스(917)와 병렬로 실행된다.
모션 벡터 예측기들의 생성(917)이 1개 사이클 동안 지속된다는 것을 고려하는 경우, 그리고 시간적 예측기가 스케일링 프로세스를 요구하지 않는 경우, 병합 예측기 세트들을 생성하기 위해 4개 사이클들이 요구되고, 그렇지 않는 경우, 5개 사이클들이 요구된다. 결과적으로, 프로세스는 제1 실시예에서와 같이 가장 복잡한 경우에서 2개 사이클들 만큼 감소된다. 이전 실시예에 비교하면 이 실시예의 주요 장점들은, 시간적 예측기가 스케일링을 요구하지 않을 때만 예측기들의 제2 세트의 생성을 위한 시간적 예측기의 사용이다. 결과적으로, 코딩 효율성은 제1 실시예에 비해 개선될 수 있다.
추가적인 실시예에서, 스케일링 프로세스의 복잡도를 고려하는 것이 가능하다. 예를 들어, 스케일링 프로세스가 오직 하나의 사이클을 요구하는지의 여부를 아는 것이 가능할 수 있다. 하나의 사이클은 오직 모션 벡터 예측기의 부호가 변경될 필요가 있는 경우에만 요구된다. 그 경우, 시간적 예측기는 감소된 예측기 세트(916)와 동일한 시간에 이용가능하다. 따라서, 시간적 예측기는 억제 프로세스(921)에 대해 사용가능할 수 있다. 그 경우, 시그널링 결정 모듈(925)은 값 "예"를 리턴시키고, 모듈(922 및 919)은 예측기들의 최종 세트를 제공하기 위해 요구되지 않는다. 결과적으로, 억제 프로세스(919)가 1개의 사이클 동안 지속되므로, 유도 프로세스의 지속기간은 1개 사이클만큼 감소된다.
도 9는 발명의 제4 실시예에 따른 모션 벡터 예측기들의 세트를 유도하는 방법을 예시하는 흐름도이다. 도 9의 흐름도는 도 6의 흐름도에 기초한다. 그 결과, 도 9의 모듈들(1001 내지 1020 및 1022)은 각자 도 6의 모듈들(701 내지 720 및 722)과 동일하다. 차이들은, 도 10a 내지 10c에 대해 모션 벡터 예측기들의 생성에서 기술될 바와 같이 오프셋들을 추가함으로써 비-중복본 예측기들과의 동시적 사용이다. 제1 예측기 1(1010)가 정의될 때, 모듈(1023)은 리스트 비-중복본 예측기들을 생성한다. 도 10c에 대해 설명된 바와 같이, 이 프로세스는 제1 예측기(1010)의 하나의 또는 둘 모두의 모션 벡터 컴포넌트들에 오프셋들을 추가하는 것으로 구성된다. 비-중복본 예측기들(1024)의 세트는 모두 서로에 대해 상이한, 그리고 선택 프로세싱 모듈(1008)에 의해 구현되는 이용가능성 체크 이후에 이용가능한 제1 예측기(1010)에 대해 상이한, 4개의 예측기들을 포함한다. 그 결과, 이 실시예에서, 비-중복본 예측기들(1024)의 세트는, 제1 예측기(1010)에 추가될 때, 병합 모드에 대해 고정된 것으로서 5개의 비-중복본 예측기들을 포함한다. 비 중복본 예측기들의 생성은 억제 프로세스(1015)와 병렬로 실행된다. 억제 프로세싱 모듈(1025)은 오직 5개의 예측기들을 획득하기 위해, 비-중복본 예측기 세트(1024)를 감소된 예측기 세트(1016)와 비교한다. 비-중복본 예측기 세트(1026)는 1024에서 생성된 비-중복본 예측기 세트에 선행하는 감소된 예측기 세트(1016)를 포함한다. 억제 프로세스(1025)가 일반적으로 최대 6개의 비교를 요구한다는 점이 주목될 수 있다. 가장 복잡한 경우는 감소된 모션 벡터 예측기 세트(1016)가 4개의 예측기들을 포함할 때 발생한다. 비-중복본 예측기들의 세트(1024)는 4개의 예측기들을 포함한다. 이론적으로, 억제 프로세스는 가장 복잡한 경우 16개의 비교들(감소한 모션 벡터 예측기 세트(1016)의 4개 예측기들 곱하기 비-중복본 예측기 세트(1024)의 4개 예측기들)을 요구한다. 그러나, 비-중복본 예측기 세트(1024) 내의 모션 벡터 예측기들은 제1 예측기와 상이하며, 따라서, 감소된 모션 벡터 예측기 세트(1016)의 오직 제2, 제3 및 제4 예측기들은 비-중복본 모션 벡터 예측기들의 세트(1024)와 비교될 필요가 있다. 그 결과, 12(4 곱하기 3)개의 비교가 요구된다. 예측기들은 비-중복본 예측기들(1024)의 세트에서 서로에 대해 모두 상이하며, 따라서, 가장 복잡한 경우에서, 비-중복본 예측기들(1024)의 처음 3개의 예측기들이 감소된 모션 벡터 예측기 세트(1016)의 마지막 3개의 예측기들과 동일한 경우, 1024 내의 마지막 예측기가 감소된 모션 벡터 예측기 세트(1016)의 예측기와 상이하다고 가정될 수 있다. 따라서, 오직 9(3 곱하기 3)개의 비교들이 요구된다.
다음으로, 모션 벡터 예측기들(1018)의 제2 세트는 모션 벡터 예측기의 생성 모듈(1017)에 의해 생성된다. 억제 및 재순서화 프로세스(1021)는, 이미 5개의 예측기들을 포함하는 비-중복본 세트(1026)에 비해 제2 예측기 세트(1018)의 모션 벡터 예측기들이 비-중복본인지의 여부를 체크한다. 제2 예측기 세트(1018)의 예측기가 모든 다른 예측기들과 상이한 경우, 그것은 (리스트 내의 감소된 벡터 예측기 세트(1016)의 예측기들 다음에) 감소된 예측기 세트(1016)의 예측기들의 번호의 위치에 삽입된다. 후속적인 단계들(1022, 1019, 및 1020)은 도 6의 모듈들(722, 719 및 720)의 프로세싱과 동일한 방식으로 동작한다.
억제 프로세스(1019) 다음에, 비-중복본 예측기들의 생성(1023)이 유도 프로세스의 종단에 추가될 수 있다는 점이 주목될 수 있다. 이는 하나 이상의 사이클을 요구하는 추가적인 억제 프로세스를 요구하고, 동일한 예측기 세트 순서화를 초래하지는 않을 것이다.
제4 실시예는 몇몇 장점들을 가진다. 우선, 이 실시예에서, 각각의 예측기 위치는 값을 가진다. 결과적으로, 방법은 HEVC의 현재 설계보다 더 강건한 프로세스를 제공한다. 실제로, 인코더는 디코더가 충돌하게 야기할 수 있는 디코더에서의 값이 없이 예측기 인덱스를 사용할 수 있다. 이는, 예를 들어, 네트워크 에러들이 발생할 때 발생할 수 있다.
이 실시예는 동시적 스케일링의 코딩 효율성의 손실을 보상한다. 더욱이, 이러한 수정은 또한 모듈의 모션 벡터 예측기들의 생성(1017)에서 생성된 후보들의 수의 감소의 코딩 효율성의 손실을 보상한다. 이들 비-중복본 예측기들을 이용하여, 오직 2개의 예측기들이 1021에서 생성될 필요가 있다. 결과적으로, 억제 프로세스(1021)는 가장 복잡한 경우 오직 10개의 비교들만을 요구한다. 따라서, 도 2에 제시된 현재 HEVC 설계의 가장 복잡한 경우에 대해 3개 대신 오직 1개의 사이클이 요구된다. 이러한 간략화를 통해, 가장 복잡한 경우에서 현재 HEVC 설계에 대한 11개 대신 오직 5개의 사이클들이 병합 예측기 세트를 유도하기 위해 요구된다.
도 9의 제4 실시예가 도 8에 제시된 제3 실시예와 용이하게 조합될 수 있다는 점이 이해될 것이다.
각자 도 6, 7, 8 및 9의 모션 벡터 예측기 생성 모듈(717, 817, 917 및 1017)에 의해 구현되는 예측기들로서 추가적인 모션 벡터들의 생성을 위한 프로세스들의 예들이 이제 도 10a 내지 10c를 참조하여 기술될 것이다. 현재 HEVC 설계는 현재 세트 생성에 기초한 새로운 예측기들을 추가하기 위해 3개의 방식들을 사용한다. 제1 방식은 B 슬라이스들에 대해 사용된다. 모션 벡터 예측기 생성은 각자 도 6, 7, 8 및 9의 감소된 예측기 세트(716, 816, 916, 1016)의 예측기들을 조합하는 것을 수반한다. 조합된 예측기는 제1 예측기의 리스트 L0의 모션 벡터를 선택함으로써, 그리고 또다른 예측기로부터 리스트 L1의 모션 벡터를 선택함으로써 생성된다. 예를 들어, 제1 가능한 조합된 예측기는 716의 제1 예측기의 L0로부터의 모션 벡터(및 기준 인덱스) 및 716의 제2 예측기의 L1으로부터의 모션 벡터(및 기준 인덱스)를 가진다. 현재 HEVC 설계에서, 12개의 가능한 조합된 예측기들이 생성될 수 있다. 도 10a는 이 프로세스의 예를 도시한다.
제2 방식은 B 슬라이스들에 대해서만 사용될 수 있다. 스케일링된 예측기는 단방향 예측기들을 양방향 예측기들을 이용하여 변경시키는 것을 포함한다. 716의 예측기가 단방향성인 경우, 모션 벡터는 초기 모션 벡터에 기초하여 반대 리스트에서 생성된다. 예를 들어, 716의 제1 예측기가 단방향성인 경우, 그리고 그것이 기준 인덱스 0를 가지는 L0를 지정하는 경우, 그것의 모션 벡터의 값은 L1의 기준 인덱스 0를 지정하기 위해 스케일링된다. 구축된 예측기는 L0에 대해 기준 인덱스 0과 모션 벡터 값 및 리스트 L1에 대해 기준 인덱스 0과 스케일링된 벡터를 포함한다. 이러한 새로운 양방향성 예측기는 제2 예측기 세트(718)에 추가된다. 이러한 종류의 예측기 생성은 매우 복잡한데, 왜냐하면 그것이 모션 벡터들을 스케일링하는 것을 요구하기 때문이며, 따라서, 이는 모듈(717)의 사이클들의 수를 증가시킨다(3개 사이클들). 따라서, 스케일링 프로세스는, 전형적인 스케일링 프로세스에 대한 3개 대신, 하나의 사이클 내에서 수행될 수 있는 모션 벡터 값 컴포넌트의 부호를 반전시키도록 제한될 수 있다. 도 10b는 이러한 생성의 예를 도시한다.
새로운 모션 벡터 예측기들을 생성하는 또다른 방법은 양방향성 예측기들을 단방향성 예측기들로 변경시킴에 의한 것이다. 그 경우, 예측기가 양방향성인 경우, 2개의 새로운 예측기들이 생성될 수 있다(하나가 각각의 리스트에 대한 것임). 이는 도 10a의 스케일링된 모션 벡터 프로세스에 비해 낮은 복잡도의 프로세스이다.
HEVC의 현재 설계에서, 리스트의 종단에 "제로 모션 벡터" 값이 추가된다. 병합을 위해, 제로 값이 L0 및 L1의 모션 벡터값들 모두에 대해 설정된다. 그리고, 가능한 경우, 각각의 리스트의 기준 프레임 인덱스는 다른 제로 예측기들을 생성하기 위해 증분된다. 따라서, 기준 인덱스만이 변경된다. N개의 기준 인덱스가 두 리스트들 모두에서 사용되는 경우, N개의 제로 벡터들이 예측기들의 세트에 추가될 수 있다. 도 10c는 이러한 모션 벡터 생성기들의 생성의 프로세스의 예를 예시한다.
또한, 하나 이상의 오프셋들을 예측기들의 초기 세트의 하나의 이용가능한 예측기의 컴포넌트들 또는 몇몇 컴포넌트들에 추가함으로써 비 중복본 예측기들을 사용하는 것이 가능하다. 예를 들어, 오직 하나의 예측기가 예측기들의 초기 세트 내에 있는 경우, 모두 상이한 4개의 예측기들을 생성하는 것이 가능하다. 예를 들어, 리스트 내의 예측기가 단방향성이라고 가정하는 경우, 제1 예측기는 제1 모션 벡터의 하나의 컴포넌트에 대해 오프셋 값을 추가함으로써 생성된다. 제2 예측기는 제1 컴포넌트에 역 오프셋을 추가함으로써 생성된다. 제3 예측기는 제2 컴포넌트에 역 오프셋을 추가함으로써 제2 컴포넌트 및 제4 컴포넌트에 오프셋을 추가함으로써 획득된다. 이 프로세스가 제1 후보에 대해 적용될 수 있다는 점이 주목될 수 있고, 따라서, 예측기는 억제 프로세스(715) 이전에 유도될 수 있다.
도 11은 각자 도 6, 7, 8, 및 9의 스케일링 모듈들(709, 809, 909 및 1009)에 적용된 바와 같이, 시간적 예측기에 대한 스케일링의 예를 도시한다. 이 도면에서, 기준 프레임 Ref0 내의 병치된 모션 벡터 MVcol는 N-3과 동일한 POC(픽쳐 순서 카운트)를 가지는 Ref2를 지정한다. 시간적 예측기 MVt의 기준 프레임이 결정되고, Ref0(N-1과 동일한 POC 번호)와 동일하다. 병치된 모션 벡터의 시간적 거리 iDiffPocD는 Ref2의 POC 마이너스 Ref0의 POC와 동일하다. 따라서, 그것의 시간적 거리는 다음과 같다:
Figure pat00002
동일한 방식으로, 시간적 예측기에 의해 커버될 필요가 있는 시간적 거리 iDiffPocB는 현재 프레임 N의 POC 마이너스 Ref0의 POC와 동일하다:
Figure pat00003
이론적으로, 시간적 예측기의 스케일 모션 벡터는 다음과 같다:
Figure pat00004
따라서, 예에서, 각각의 컴포넌트(수평 및 수직)는 2로 나누어진다. 그러나, 현재 HEVC 설계에서, 모션 벡터의 스케일링은 다음 프로세스에 의해 주어진다:
- 스케일링된 인자는 다음 공식에 의해 결정된다:
Figure pat00005
- iX를 가지고,
Figure pat00006
- MVt는 이후 다음에 의해 주어진다:
Figure pat00007
이들 공식들에서:
"≫" 는 시프트 연산자를 나타낸다
"abs"는 절댓값을 리턴시키는 함수를 나타낸다
"0x4000"는 값 16384를 나타낸다.
따라서, 발명의 실시예들은 코딩 효울성에 대한 작은 영향을 가지는 모션 벡터 예측기들의 세트를 유도하기 위해 요구되는 사이클들의 수를 감소시킬 목적으로 병렬 유도 프로세스를 제공한다.
본 발명이 특정 실시예들을 참조하여 위에서 기술되었지만, 본 발명은 특정 실시예들로 제한되지 않으며, 본 발명의 범위 내에 있는 수정들이 당업자에게 명백할 것이다. 많은 추가적인 수정들 및 변형예들은, 단독으로 첨부된 청구항들에 의해 결정되는, 오직 예시에 의해 주어지며 발명의 범위를 제한하도록 의도되지 않는, 이전의 예시적인 실시예를 참조할 시에 그 자체를 당해 기술분야에서 인용되는 것에 대해 제안할 것이다. 특히, 상이한 실시예들과는 상이한 특징들은, 적절한 경우 상호교환될 수 있다.
청구항들에서, 용어 "포함하는"은 다른 엘리먼트들 또는 단계들을 배제하지 않으며, 단수(부정 관사 "a" 또는 "an")는 복수를 배제하지 않는다. 상이한 특징들이 서로 상이한 종속 청구항들에서 인용된다는 단순한 사실은 이들 특징들의 조합이 유리하게 사용될 수 없음을 지시하지는 않는다.

Claims (26)

  1. 타겟 블록에 대한 모션 벡터 예측기의 후보들을 결정하기 위한 인코딩 장치로서,
    상기 타겟 블록을 포함하는 프레임으로부터 획득된 복수의 제1 모션 벡터 또는 상기 타겟 블록을 포함하는 상기 프레임과는 상이한 프레임으로부터 획득된 제2 모션 벡터 중 적어도 어느 하나를 포함할 수 있는 복수의 모션 벡터를 획득하도록 구성된 획득 유닛; 및
    상기 획득 유닛에 의해 획득된 상기 복수의 모션 벡터에 프로세싱을 실행하도록 구성된 프로세싱 유닛을 포함하고,
    상기 타겟 블록의 상측 우측 블록의 모션 벡터가 이용가능한 경우, 상기 복수의 제1 모션 벡터는 상기 상측 우측 블록의 상기 모션 벡터를 포함할 수 있고,
    상기 프로세싱 유닛에 의해 실행되는 상기 프로세싱은, 상기 획득 유닛에 의해 동일한 모션 벡터들이 획득되는지 여부를 결정하고, 상기 획득 유닛에 의해 동일한 모션 벡터들이 획득된 경우 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 후보들 내에 상기 동일한 모션 벡터들 중 하나를 포함시키지 않는 것을 포함하고,
    상기 프로세싱 유닛에 의해 실행되는 상기 프로세싱에서, 상기 획득 유닛에 의해 획득된 상기 복수의 제1 모션 벡터는 상기 프로세싱의 대상이고, 상기 제2 모션 벡터는 상기 프로세싱의 대상이 아닌, 인코딩 장치.
  2. 제1항에 있어서,
    상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들로서 상기 획득 유닛에 의해 획득된 상기 복수의 모션 벡터 중 적어도 일부를 결정하도록 구성된 결정 유닛을 더 포함하는, 인코딩 장치.
  3. 제2항에 있어서,
    상기 결정 유닛은, 상기 프로세싱 유닛에 의해 상기 프로세싱이 실행된 상기 복수의 제1 모션 벡터를 포함하는 복수의 모션 벡터를 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들로서 결정하는, 인코딩 장치.
  4. 제2항에 있어서,
    상기 결정 유닛은, 상기 제2 모션 벡터를 포함하는 복수의 모션 벡터를 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들로서 결정하는, 인코딩 장치.
  5. 제1항에 있어서,
    선택될 모션 벡터 예측기를 나타내는 인덱스를 인코딩하도록 구성된 인코딩 유닛을 더 포함하는, 인코딩 장치.
  6. 제2항에 있어서,
    상기 타겟 블록에 대한 모션 벡터는, 상기 타겟 블록에 대한 상기 모션 벡터 예측기에 상기 타겟 블록에 대한 상기 모션 벡터에 대한 차분을 합산함으로써 유도되는, 인코딩 장치.
  7. 제1항에 있어서,
    상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들의 개수는 2인, 인코딩 장치.
  8. 제1항에 있어서,
    병합 모드에서, 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들의 개수는 5인, 인코딩 장치.
  9. 제1항에 있어서,
    병합 모드에서, 상기 타겟 블록에 대한 상기 모션 벡터의 차분은 인코딩되지 않는, 인코딩 장치.
  10. 제1항에 있어서,
    상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들에 벡터를 합산하도록 구성된 합산 유닛을 더 포함하는, 인코딩 장치.
  11. 제10항에 있어서,
    상기 합산 유닛은, 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들에 제로 모션 벡터를 합산하는, 인코딩 장치.
  12. 타겟 블록에 대한 모션 벡터 예측기의 후보들을 결정하기 위한 디코딩 장치로서,
    상기 타겟 블록을 포함하는 프레임으로부터 획득된 복수의 제1 모션 벡터 또는 상기 타겟 블록을 포함하는 상기 프레임과는 상이한 프레임으로부터 획득된 제2 모션 벡터 중 적어도 어느 하나를 포함할 수 있는 복수의 모션 벡터를 획득하도록 구성된 획득 유닛; 및
    상기 획득 유닛에 의해 획득된 상기 복수의 모션 벡터에 프로세싱을 실행하도록 구성된 프로세싱 유닛을 포함하고,
    상기 타겟 블록의 상측 우측 블록의 모션 벡터가 이용가능한 경우, 상기 복수의 제1 모션 벡터는 상기 상측 우측 블록의 상기 모션 벡터를 포함할 수 있고,
    상기 프로세싱 유닛에 의해 실행되는 상기 프로세싱은, 상기 획득 유닛에 의해 동일한 모션 벡터들이 획득되는지 여부를 결정하고, 상기 획득 유닛에 의해 동일한 모션 벡터들이 획득된 경우 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 후보들 내에 상기 동일한 모션 벡터들 중 하나를 포함시키지 않는 것을 포함하고,
    상기 프로세싱 유닛에 의해 실행되는 상기 프로세싱에서, 상기 획득 유닛에 의해 획득된 상기 복수의 제1 모션 벡터는 상기 프로세싱의 대상이고, 상기 제2 모션 벡터는 상기 프로세싱의 대상이 아닌, 디코딩 장치.
  13. 제12항에 있어서,
    상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들로서 상기 획득 유닛에 의해 획득된 상기 복수의 모션 벡터 중 적어도 일부를 결정하도록 구성된 결정 유닛을 더 포함하는, 디코딩 장치.
  14. 제13항에 있어서,
    상기 결정 유닛은, 상기 프로세싱 유닛에 의해 상기 프로세싱이 실행된 상기 복수의 제1 모션 벡터를 포함하는 복수의 모션 벡터를 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들로서 결정하는, 디코딩 장치.
  15. 제13항에 있어서,
    상기 결정 유닛은, 상기 제2 모션 벡터를 포함하는 복수의 모션 벡터를 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들로서 결정하는, 디코딩 장치.
  16. 제12항에 있어서,
    상기 획득 유닛은, 선택될 모션 벡터 예측기를 나타내는 인덱스를 획득하고,
    상기 디코딩 장치는, 상기 인덱스에 기초하여 상기 타겟 블록에 대한 모션 벡터를 유도하도록 구성된 유도 유닛을 더 포함하는, 디코딩 장치.
  17. 제12항에 있어서,
    상기 타겟 블록에 대한 모션 벡터는, 상기 타겟 블록에 대한 상기 모션 벡터 예측기에 상기 타겟 블록에 대한 상기 모션 벡터에 대한 차분을 합산함으로써 유도되는, 디코딩 장치.
  18. 제12항에 있어서,
    상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들의 개수는 2인, 디코딩 장치.
  19. 제12항에 있어서,
    병합 모드에서, 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들의 개수는 5인, 디코딩 장치.
  20. 제12항에 있어서,
    병합 모드에서, 상기 모션 벡터에 대한 차분은 인코딩 또는 디코딩되지 않는, 디코딩 장치.
  21. 제12항에 있어서,
    상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들에 벡터를 합산하도록 구성된 합산 유닛을 더 포함하는, 디코딩 장치.
  22. 제21항에 있어서,
    상기 합산 유닛은, 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 상기 후보들에 제로 모션 벡터를 합산하는, 디코딩 장치.
  23. 타겟 블록에 대한 모션 벡터 예측기의 후보들을 결정하기 위한 인코딩 방법으로서,
    상기 타겟 블록을 포함하는 프레임으로부터 획득된 복수의 제1 모션 벡터 또는 상기 타겟 블록을 포함하는 상기 프레임과는 상이한 프레임으로부터 획득된 제2 모션 벡터 중 적어도 어느 하나를 포함할 수 있는 복수의 모션 벡터를 획득하는 단계; 및
    상기 복수의 모션 벡터에 프로세싱을 실행하는 단계를 포함하고,
    상기 타겟 블록의 상측 우측 블록의 모션 벡터가 이용가능한 경우, 상기 복수의 제1 모션 벡터는 상기 상측 우측 블록의 상기 모션 벡터를 포함할 수 있고,
    상기 프로세싱은, 동일한 모션 벡터들이 획득되는지 여부를 결정하고, 동일한 모션 벡터들이 획득된 경우 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 후보들 내에 상기 동일한 모션 벡터들 중 하나를 포함하지 않는 것을 포함하고,
    상기 프로세싱에서, 상기 복수의 제1 모션 벡터는 상기 프로세싱의 대상이고, 상기 제2 모션 벡터는 상기 프로세싱의 대상이 아닌, 인코딩 방법.
  24. 타겟 블록에 대한 모션 벡터 예측기의 후보들을 결정하기 위한 디코딩 방법으로서,
    상기 타겟 블록을 포함하는 프레임으로부터 획득된 복수의 제1 모션 벡터 또는 상기 타겟 블록을 포함하는 상기 프레임과는 상이한 프레임으로부터 획득된 제2 모션 벡터 중 적어도 어느 하나를 포함할 수 있는 복수의 모션 벡터를 획득하는 단계; 및
    상기 복수의 모션 벡터에 프로세싱을 실행하는 단계를 포함하고,
    상기 타겟 블록의 상측 우측 블록의 모션 벡터가 이용가능한 경우, 상기 복수의 제1 모션 벡터는 상기 상측 우측 블록의 상기 모션 벡터를 포함할 수 있고,
    상기 프로세싱은, 동일한 모션 벡터들이 획득되는지 여부를 결정하고, 동일한 모션 벡터들이 획득된 경우 상기 타겟 블록에 대한 상기 모션 벡터 예측기의 후보들 내에 상기 동일한 모션 벡터들 중 하나를 포함하지 않는 것을 포함하고,
    상기 프로세싱에서, 상기 복수의 제1 모션 벡터는 상기 프로세싱의 대상이고, 상기 제2 모션 벡터는 상기 프로세싱의 대상이 아닌, 디코딩 방법.
  25. 프로그램이 기록된 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 컴퓨터 또는 프로세서에서 실행될 경우 상기 컴퓨터 또는 프로세서로 하여금 제23항에 따른 인코딩 방법을 실행시키는, 컴퓨터 판독가능 기록매체.
  26. 프로그램이 기록된 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 컴퓨터 또는 프로세서에서 실행될 경우 상기 컴퓨터 또는 프로세서로 하여금 제24항에 따른 디코딩 방법을 실행시키는, 컴퓨터 판독가능 기록매체.
KR1020187027915A 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스 KR102042374B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1114184.3 2011-08-17
GB1114184.3A GB2493755B (en) 2011-08-17 2011-08-17 Method and device for encoding a sequence of images and method and device for decoding a sequence of images
PCT/EP2012/003490 WO2013023785A2 (en) 2011-08-17 2012-08-16 Method and device for encoding a sequence of images and method and device for decoding a sequence of images

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011114A Division KR101904404B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197032529A Division KR102085498B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스

Publications (2)

Publication Number Publication Date
KR20180110205A true KR20180110205A (ko) 2018-10-08
KR102042374B1 KR102042374B1 (ko) 2019-11-07

Family

ID=44800466

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020147006243A KR101617740B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020187027914A KR102027721B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020167011114A KR101904404B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020187027915A KR102042374B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020187027913A KR102038791B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020197032529A KR102085498B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020147006243A KR101617740B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020187027914A KR102027721B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020167011114A KR101904404B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020187027913A KR102038791B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR1020197032529A KR102085498B1 (ko) 2011-08-17 2012-08-16 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스

Country Status (16)

Country Link
US (7) US10306256B2 (ko)
EP (5) EP3806468B1 (ko)
JP (5) JP6109170B2 (ko)
KR (6) KR101617740B1 (ko)
CN (7) CN107277544B (ko)
BR (2) BR112014002932B1 (ko)
ES (5) ES2875926T3 (ko)
GB (1) GB2493755B (ko)
HR (3) HRP20240008T1 (ko)
HU (5) HUE064678T2 (ko)
PL (5) PL3806469T3 (ko)
PT (3) PT3806469T (ko)
RS (3) RS64982B1 (ko)
RU (5) RU2643450C1 (ko)
TR (1) TR201908328T4 (ko)
WO (1) WO2013023785A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2487197B (en) * 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
GB2493755B (en) 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
TWI511530B (zh) * 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
US10368083B2 (en) * 2016-02-15 2019-07-30 Qualcomm Incorporated Picture order count based motion vector pruning
US11172203B2 (en) * 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
CN109996081B (zh) 2017-12-31 2023-09-12 华为技术有限公司 图像预测方法、装置以及编解码器
EP3811624A1 (en) 2018-06-21 2021-04-28 Telefonaktiebolaget LM Ericsson (publ) Tile shuffling for 360 degree video decoding
SG11202011714RA (en) 2018-06-29 2020-12-30 Beijing Bytedance Network Technology Co Ltd Partial/full pruning when adding a hmvp candidate to merge/amvp
SG11202013028PA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Interaction between lut and amvp
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
TWI724442B (zh) 2018-06-29 2021-04-11 大陸商北京字節跳動網絡技術有限公司 用於查找表更新的編碼的運動信息的選擇
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
US10958932B2 (en) 2018-09-12 2021-03-23 Qualcomm Incorporated Inter-prediction coding of video data using generated motion vector predictor list including non-adjacent blocks
CN109274966A (zh) * 2018-09-21 2019-01-25 华中科技大学 一种基于运动矢量的监控视频内容去重方法和系统
TWI766214B (zh) 2018-12-28 2022-06-01 日商Jvc建伍股份有限公司 影像編碼裝置、影像編碼方法、影像編碼程式、影像解碼裝置、影像解碼方法及影像解碼程式
CN113273186A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Lut更新的调用
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN116156199B (zh) * 2019-06-07 2023-10-03 北京达佳互联信息技术有限公司 用于视频解码、视频编码的方法、计算设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
US20130287112A1 (en) * 2011-01-12 2013-10-31 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129646A (ja) * 1994-11-02 1996-05-21 Matsushita Electric Ind Co Ltd 画像符号化方法、画像復号化方法、画像処理方法及びその装置
JPH1079949A (ja) 1996-09-04 1998-03-24 Oki Electric Ind Co Ltd 画像符号化装置、画像復号化装置及び画像伝送システム
CA2255900C (en) * 1997-03-14 2002-08-06 Cselt - Centro Studi E Laboratori Telecommunicazioni S.P.A. Circuit for motion estimation in digitised video sequence encoders
KR100571687B1 (ko) 1999-02-09 2006-04-18 소니 가부시끼 가이샤 코딩 시스템 및 방법, 부호화 장치 및 방법, 복호화 장치및 방법, 기록 장치 및 방법, 및 재생 장치 및 방법
US7206448B2 (en) 2002-02-28 2007-04-17 At&T Corp. System and method for using pattern vectors for video and image coding and decoding
WO2003098939A1 (en) * 2002-05-22 2003-11-27 Matsushita Electric Industrial Co., Ltd. Moving image encoding method, moving image decoding method, and data recording medium
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
CA2470717C (en) * 2002-11-01 2013-11-26 Matsushita Electric Industrial Co., Ltd. Moving picture coding method and moving picture decoding method
US7450642B2 (en) 2002-11-13 2008-11-11 Sony Corporation Fast motion vector prediction method
KR20050097936A (ko) * 2003-01-10 2005-10-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 효과적인 예측 이미지 파라미터 추정
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8000392B1 (en) * 2004-02-27 2011-08-16 Vbrick Systems, Inc. Phase correlation based motion estimation in hybrid video compression
KR100587561B1 (ko) * 2004-04-08 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 구현하는 방법 및 장치
KR100631768B1 (ko) * 2004-04-14 2006-10-09 삼성전자주식회사 비디오 코딩에서 프레임간 예측방법 및 비디오 인코더와,비디오 디코딩방법 및 비디오 디코더
KR101099884B1 (ko) 2004-04-23 2011-12-28 히또시 기야 동화상데이터의 부호화방법, 복호화방법, 이들을 실행하는단말장치, 및 쌍방향 대화형 시스템
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
DE102004061906A1 (de) * 2004-12-22 2006-07-13 Siemens Ag Bildencodierverfahren, sowie dazugehöriges Bilddecodierverfahren, Encodiervorrichtung und Decodiervorrichtung
CN101156451A (zh) * 2005-04-12 2008-04-02 皇家飞利浦电子股份有限公司 使用基于区域的多次通过运动估计和时间运动矢量候选更新的视频处理
RU2369038C1 (ru) 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
EP2011342B1 (en) * 2006-04-14 2017-06-28 Nxp B.V. Motion estimation at image borders
RU2426267C2 (ru) * 2007-01-08 2011-08-10 Нокиа Корпорейшн Усовершенствованное межуровневое предсказание для расширенной пространственной масштабируемости при кодировании видеосигнала
KR101712915B1 (ko) * 2007-10-16 2017-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
JP4697275B2 (ja) * 2008-07-30 2011-06-08 ソニー株式会社 動きベクトル検出装置、動きベクトル検出方法及びプログラム
US8675736B2 (en) * 2009-05-14 2014-03-18 Qualcomm Incorporated Motion vector processing
WO2010137086A1 (ja) * 2009-05-26 2010-12-02 パナソニック株式会社 動画像処理装置および動画像処理方法
CN101931803B (zh) * 2009-06-26 2013-01-09 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
CN101605262B (zh) * 2009-07-09 2011-11-09 杭州士兰微电子股份有限公司 可变块尺寸运动预测方法和装置
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
EP2493195A1 (en) * 2009-10-20 2012-08-29 Sharp Kabushiki Kaisha Video encoding device, video decoding device, and data structure
CN105959688B (zh) * 2009-12-01 2019-01-29 数码士有限公司 用于解码高分辨率图像的方法
CN101860754B (zh) * 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
KR101327636B1 (ko) 2010-02-03 2013-11-12 주식회사 팬택 무선통신 시스템에서 시스템 프레임 번호를 관리하는 장치 및 방법
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8737480B2 (en) * 2011-01-14 2014-05-27 Motorola Mobility Llc Joint spatial and temporal block merge mode for HEVC
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
GB2493755B (en) 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
US20130287112A1 (en) * 2011-01-12 2013-10-31 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ken McCann; "HM3: High Efficiency Video Coding (HEVC) Test Model 3 encoder Description.",JCTVC-E602,Geneva,16-23,March,2011. *

Also Published As

Publication number Publication date
US20230089360A1 (en) 2023-03-23
HUE063247T2 (hu) 2024-01-28
KR102038791B1 (ko) 2019-10-30
US11134265B2 (en) 2021-09-28
HRP20240008T1 (hr) 2024-03-29
PL3806469T3 (pl) 2024-03-18
CN107277544A (zh) 2017-10-20
JP6821730B2 (ja) 2021-01-27
RU2708440C1 (ru) 2019-12-06
KR20180108925A (ko) 2018-10-04
BR112014002932B1 (pt) 2022-06-07
US20200366926A1 (en) 2020-11-19
US20200366927A1 (en) 2020-11-19
RU2720560C1 (ru) 2020-05-12
HUE064678T2 (hu) 2024-04-28
RU2684753C1 (ru) 2019-04-12
KR102027721B1 (ko) 2019-10-01
US11968390B2 (en) 2024-04-23
EP3806468B1 (en) 2023-07-19
ES2954263T3 (es) 2023-11-21
JP2019115061A (ja) 2019-07-11
EP3474552B1 (en) 2021-05-05
PL3806468T3 (pl) 2024-01-15
PT3806468T (pt) 2023-09-12
CN107277543A (zh) 2017-10-20
US20190215529A1 (en) 2019-07-11
US20210392368A1 (en) 2021-12-16
PL3806470T3 (pl) 2024-03-18
JP2017143529A (ja) 2017-08-17
PT3806469T (pt) 2023-11-03
CN107277546B (zh) 2020-03-17
JP2019115060A (ja) 2019-07-11
EP3806470A2 (en) 2021-04-14
BR122020002131B1 (pt) 2023-08-15
PL3474552T3 (pl) 2021-10-25
JP2014527362A (ja) 2014-10-09
KR20160054027A (ko) 2016-05-13
KR101904404B1 (ko) 2018-10-05
WO2013023785A3 (en) 2013-05-23
EP3806470B1 (en) 2023-10-11
US11134264B2 (en) 2021-09-28
CN103748880A (zh) 2014-04-23
CN107277545A (zh) 2017-10-20
HRP20231270T1 (hr) 2024-02-02
RS64982B1 (sr) 2024-01-31
RU2014110037A (ru) 2015-09-27
GB201114184D0 (en) 2011-10-05
RU2589402C2 (ru) 2016-07-10
HUE054992T2 (hu) 2021-10-28
JP6679782B2 (ja) 2020-04-15
PT3806470T (pt) 2023-11-16
BR122020002131B8 (pt) 2023-10-10
US11134266B2 (en) 2021-09-28
EP2745515B1 (en) 2019-04-17
GB2493755B (en) 2016-10-19
CN107277546A (zh) 2017-10-20
KR102085498B1 (ko) 2020-03-05
RS64675B1 (sr) 2023-11-30
US20140321544A1 (en) 2014-10-30
RS65035B1 (sr) 2024-02-29
HRP20231726T1 (hr) 2024-03-15
EP3806469A2 (en) 2021-04-14
CN107197306A (zh) 2017-09-22
JP6109170B2 (ja) 2017-04-05
EP3806469A3 (en) 2021-04-21
ES2964571T3 (es) 2024-04-08
RU2643450C1 (ru) 2018-02-01
US11729415B2 (en) 2023-08-15
HUE064679T2 (hu) 2024-04-28
ES2875926T3 (es) 2021-11-11
ES2727629T3 (es) 2019-10-17
ES2962876T3 (es) 2024-03-21
WO2013023785A2 (en) 2013-02-21
CN107181960B (zh) 2020-10-30
GB2493755A (en) 2013-02-20
CN107197306B (zh) 2020-06-23
BR112014002932A2 (pt) 2017-03-28
EP3474552A1 (en) 2019-04-24
KR20190126463A (ko) 2019-11-11
KR101617740B1 (ko) 2016-05-18
US10771806B2 (en) 2020-09-08
CN107181960A (zh) 2017-09-19
HUE043598T2 (hu) 2019-08-28
KR20140047157A (ko) 2014-04-21
EP3806468A2 (en) 2021-04-14
TR201908328T4 (tr) 2019-06-21
PL2745515T3 (pl) 2019-09-30
EP2745515A2 (en) 2014-06-25
CN107277545B (zh) 2020-03-17
EP3806469B1 (en) 2023-10-11
EP3806470A3 (en) 2021-04-21
CN107277544B (zh) 2020-10-27
US10306256B2 (en) 2019-05-28
CN107277543B (zh) 2020-03-17
JP6679781B2 (ja) 2020-04-15
US20200366925A1 (en) 2020-11-19
EP3806468A3 (en) 2021-04-21
JP6494675B2 (ja) 2019-04-03
KR20180108924A (ko) 2018-10-04
JP2019134455A (ja) 2019-08-08
KR102042374B1 (ko) 2019-11-07
CN103748880B (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
KR101904404B1 (ko) 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right