KR20170016994A - 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택 - Google Patents

일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택 Download PDF

Info

Publication number
KR20170016994A
KR20170016994A KR1020177002749A KR20177002749A KR20170016994A KR 20170016994 A KR20170016994 A KR 20170016994A KR 1020177002749 A KR1020177002749 A KR 1020177002749A KR 20177002749 A KR20177002749 A KR 20177002749A KR 20170016994 A KR20170016994 A KR 20170016994A
Authority
KR
South Korea
Prior art keywords
block
candidate
motion vector
video
prediction
Prior art date
Application number
KR1020177002749A
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 KR20170016994A publication Critical patent/KR20170016994A/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
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial 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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • 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/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

인터 예측에서의 사용을 위한 적응적 모션 벡터 예측 (AMVP) 모드 및 병합 모드 양측 모두에 대한 일원화된 후보 블록 세트가 제안된다. 일반적으로, 동일한 후보 블록 세트는 모떤 모션 벡트 예측 모드 (예컨대, 병합 모드 또는 AMVP 모드) 가 이용되는지와는 무관하게 이용된다. 본 개시물의 다른 실시예에서, 후보 블록들의 세트에서의 하나의 후보 블록은 추가적인 후보 블록으로서 지정된다. 추갖거인 후보 블록은 다른 후보 블록들 중 하나가 이용불가능한 경우에 이용된다. 또한, 본 개시물은 좌측 후보 블록이 하부 좌측 후보 블록 앞에서 체킹되는 체킹 패턴을 제안한다. 또한, 상부 후보 블록은 우측 상부 후보 블록 앞에서 체킹된다.

Description

일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택{UNIFIED MERGE MODE AND ADAPTIVE MOTION VECTOR PREDICTION MODE CANDIDATES SELECTION}
이 출원은 2011 년 7월 11 일에 출원된 미국 가출원 61/506,558 호, 2011 년 6 월 20일에 출원된 미국 가출원 61/499,114 호, 및 2011 년 7 월 18 일에 출원된 미국 가출원 제 61/509,007 호의 이점을 주장하며, 이들 문헌들은 그들 전체가 참조로서 본 명세서에 포함된다.
분야
본 개시물은 비디오 코딩에 관한 것이고, 보다 구체적으로는, 모션 벡터 예측 프로세스에서 모션 벡터 예측 후보 블록들을 선택하는 기법들에 관한 것이다.
디지털 비디오 기능들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, PDA들 (personal digital assistants), 랩톱 또는 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화들, 화상 원격회의 디바이스들 등을 포함하는 광범위한 디바이스들에 포함될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, 고급 비디오 코딩 (Advanced Video Coding: AVC), 현재 개발 중에 있는 고효율 비디오 코딩 (High Efficiency Video Coding: HEVC) 표준에 의해 규정된 표준들 및 이러한 표준들의 확장안들에 기재된 것들과 같은 비디오 압축 기법들을 구현하여, 디지털 비디오 정보를 보다 효율적으로 송신하고 수신하며 저장한다.
비디오 압축 기법들은 비디오 시퀀스들에 내재한 리던던시를 감소시키거나 또는 제거하기 위해 공간적 예측 및/또는 시간적 예측을 포함한다. 블록 기반 비디오 코딩의 경우, 비디오 프레임 또는 슬라이스는 블록들로 파티셔닝될 수도 있다. 각각의 블록은 더 파티셔닝될 수 있다. 인트라 코딩된 (I) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측을 이용하여 인코딩된다. 인터 코딩된 (P 또는 B) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들에서의 참조 샘플들에 대한 대한 공간적 예측 또는 다른 참조 프레임들에서의 참조 샘플들에 대한 시간적 예측을 이용할 수도 있다. 공간적 또는 시간적 예측은 코딩될 블록에 대한 예측 블록을 생성한다. 잔차 데이터는 코딩될 오리지널 블록과 예측 블록 사이의 픽셀 차이들을 나타낸다.
인터 코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 사이의 차이를 나타내는 잔차 데이터에 따라 인코딩된다. 인트라 코딩된 블록은 인트라 코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가 압축을 위해, 잔차 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어 잔차 변환 계수들을 초래할 수도 있는데, 그 후, 이들은 양자화될 수도 있다. 최초에 2 차원 어레이에 배렬된 양자화된 변환 계수들은 특정 순서로 스캔되어 엔트로피 코딩에 대한 변환 계수들의 1 차원 벡터를 생성할 수도 있다.
전반적으로, 이 개시물은 비디오 데이터를 코딩하는 기법들을 설명한다. 본 개시물은 모션 벡터 예측 프로세스에서 모션 벡터 예측 후보 블록들을 선택하는 기법들을 설명한다.
본 개시물의 일 실시예에서, 비디오 코딩 프로세스에서 모션 벡터를 인코딩하는 방법은 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 결정하는 단계, 및 미리 정해진 모드 및 후보 블록들의 세트를 이용하여 비디오 데이터의 현재 블록에 대한 모션 벡터 예측 프로세스를 수행하는 단계를 포함하며, 후보 블록들의 세트는 복수의 모드들 각각에 대해 동일하다.
본 개시물의 다른 실시예에서, 비디오 코딩 프로세스에서 모션 벡터를 디코딩하는 방법은 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 결정하는 단계, 및 후보 블록들의 세트로부터 후보 블록을 결정하는 단계를 포함하며, 후보 블록과 관련된 정보는 현재 블록에 대한 모션 벡터를 디코딩하는 데 이용된다.
본 개시물의 다른 실시예에서, 비디오 코딩 프로세스에서 모션 벡터를 인코딩하는 방법은 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 결정하는 단계, 및 미리 정해진 모드 및 후보 블록들의 세트를 이용하여 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스를 수행하는 단계를 포함하며, 후보 블록들의 세트는 복수의 모드들 각각에 대해 동일하고, 후보 블록들의 세트에서의 하나의 후보 블록은 추가적인 후보 블록으로서 지정되고, 추가적인 후보 블록은 후보 블록들의 세트 중 다른 후보 블록이 이용불가능한 경우에 이용된다.
본 개시물의 다른 실시예에서, 비디오 코딩 프로세스에서 모션 벡터를 디코딩하는 방법은 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 나타내는 신택스 엘리먼트를 수신하는 단계, 및 후보 블록들의 세트로부터 후보 블록을 나타내는 인덱스를 수신하는 단계를 포함하며, 후보 블록들의 세트에서의 하나의 후보 블록은 추가적인 후보 블록으로서 지정되고, 추가적인 후보 블록은 후보 블록들의 세트의 후보 블록들 중 다른 후보 블록이 이용불가능한 경우에 이용된다.
하나 이상의 실시예들의 세부사항들은 첨부된 도면 및 하기의 설명에서 설명된다. 다른 특징들, 목적들 및 이점들은 설명 및 도면들로부터 그리고 청구범위로부터 자명할 것이다.
도 1a 는 적응적 모션 벡터 예측 (AMVP) 모드들에 따라 모션 벡터 예측을 위한 후보 블록들을 예시한 개념도이다.
도 1b 는 병합 모드에 따라 모션 벡터 예측을 위한 후보 블록들을 예시한 개념도이다.
도 2 는 예시적인 비디오 인코딩 및 디코딩 시스템을 예시한 블록도이다.
도 3 은 예시적인 비디오 인코더를 예시한 블록도이다.
도 4a 는 병합 모드에 대한 정보를 시그널링하는 개념도이다.
도 4b 는 AMVP 모드에 대한 정보를 시그널링하는 개념도이다.
도 5a 는 본 개시물의 일 실시예에 따른 AMVP 및 병합 모드를 위한 후보 블록들을 예시한 개념도이다.
도 5b 는 본 개시물의 다른 실시예에 따른 AMVP 및 병합 모드를 위한 후보 블록들을 예시한 개념도이다.
도 6 은 본 개시물의 다른 실시예에 따른 AMVP 및 병합 모드를 위한 후보 블록들을 예시한 개념도이다.
도 7 은 본 개시물의 다른 실시예에 따른 AMVP 및 병합 모드를 위한 후보 블록들 및 체킹 패턴을 예시한 개념도이다.
도 8 은 예시적인 비디오 디코더를 예시한 블록도이다.
도 9 는 비디오를 인코딩하는 예시적인 방법을 예시한 흐름도이다.
도 10 은 병합 모드에서 비디오를 인코딩하는 예시적인 방법을 예시한 흐름도이다.
도 11 은 AMVP 모드에서 비디오를 인코딩하는 예시적인 방법을 예시한 흐름도이다.
도 12 는 비디오를 디코딩하는 예시적인 방법을 예시한 흐름도이다.
도 13 은 병합 모드에서 비디오를 디코딩하는 예시적인 방법을 예시한 흐름도이다.
도 14 는 AMVP 모드에서 비디오를 디코딩하는 예시적인 방법을 예시한 흐름도이다.
도 15 는 비디오를 인코딩하는 다른 예시적인 방법을 예시한 흐름도이다.
도 16 은 비디오를 디코딩하는 다른 예시적인 방법을 예시한 흐름도이다.
도 17 은 병합 모드에서 비디오를 디코딩하는 다른 예시적인 방법을 예시한 흐름도이다.
도 18 은 AMVP 모드에서 비디오를 디코딩하는 다른 예시적인 방법을 예시한 흐름도이다.
전반적으로, 이 개시물은 비디오 데이터를 코딩하는 기법들을 설명한다. 본 개시물은 모션 벡터 예측 프로세스에서 모션 벡터 예측 후보 블록들을 선택하는 기법들을 설명한다. 일 실시예에서, 본 개시물은 복수의 모션 벡터 예측 모드들 각각이 현재 블록에 대한 모션 벡터를 예측하는 데 후보 블록들의 동일한 세트를 이용하는 것을 제안한다. 다른 실시예에서, 본 개시물은 후보 블록들의 세트에서의 하나의 후보 블록이 추가적인 후보 블록으로서 지정되는 것을 제안한다. 추가적인 후보 블록은 세트 내의 블록들 중 다른 하나가 이용불가능한 경우에 이용된다.
디지털 비디오 디바이스들은 디지털 비디오 정보를 보다 효율적으로 인코딩하고 디코딩하는 비디오 압축 기법들을 구현한다. 비디오 압축은 비디오 시퀀스들에 내재한 리던던시를 감소시키거나 또는 제거하는 데 공간적 (인트라 프레임) 예측 및/또는 시간적 (인터 프레임) 예측 기법들을 적용할 수도 있다.
JCT-VC (Joint Cooperative Team for Video Coding) 에 의해 현재 개발 중인 고효율 비디오 코딩 (HEVC) 표준에 따른 비디오 코딩의 경우, 비디오 프레임은 코딩 유닛들로 파티셔닝될 수도 있다. 코딩 유닛 (CU) 은 다양한 코딩 툴들이 비디오 압축을 위해 적용되는 기본 유닛으로서 기능하는 이미지 영역을 지칭하는 것이 일반적이다. 통상, CU 는 Y 로 표기되는 루미넌스 콤포넌트와 U 및 V 로 표기되는 2 개의 크로마 콤포넌트들을 갖는다. 비디오 샘플링 포맷에 따라, 샘플들의 개수와 관련하여, U 및 V 콤포넌트들의 사이즈는 Y 콤포넌트의 크기와 동일할 수도 있고 또는 그와는 상이할 수도 있다. CU 는 일반적으로 정사각형이며, 예컨대 ITU-T H.264 와 같은 다른 비디오 코딩 표준들 하의, 소위 매크로블록과 유사한 것으로 간주될 수도 있다.
코딩 효율을 보다 우수하게 달성하기 위해, 코딩 유닛은 비디오 콘텐츠에 따른 가변 사이즈들을 가질 수도 있다. 추가로, 코딩 유닛은 예측 또는 변환을 위한 보다 작은 블록들로 분할될 수도 있다. 구체적으로, 각각의 코딩 유닛은 예측 유닛들 (PU들) 및 변환 유닛들 (TU들) 로 더 파티셔닝될 수도 있다. 예측 유닛들은 H.264 와 같은 다른 비디오 코딩 표준들 하의 소위 파티션들과 유사한 것으로 간주될 수도 있다. 변환 유닛들 (TU들) 은 변환 계수들을 생성하는 데 적용되는 잔차 데이터의 블록들을 지칭한다.
개발 중인 HEVC 표준의 현재 제안된 양태들 중 일부에 따른 코딩은 본 출원에서 예시를 목적으로 설명될 것이다. 그러나, 본 개시물에서 설명되는 기법들은 H.264 또는 다른 표준이나 사유 비디오 코딩 프로세스들에 따라 규정된 것들과 같은 다른 비디오 코딩 프로세스들에 유용할 수도 있다.
HEVC 표준화 노력들은 HEVC 테스트 모델 (HEVC Test Model: HM) 로 지칭되는 비디오 코딩 디바이스의 모델에 기초한다. HM 은, 예컨대 ITU-T H.264/AVC 에 따른 디바이스들에 비해 비디오 코딩 디바이스들의 여러가지 기능들을 전제로 한다. 예를 들어, H.264 가 9 개의 인트라 예측 인코딩 모드들을 제공하는 반면, HM 은 34 개 정도로 많은 인트라 예측 인코딩 모드들을 제공한다.
HM 에 따르면, CU 는 하나 이상의 예측 유닛들 (PU들) 및/또는 하나 이상의 변환 유닛들 (TU들) 을 포함할 수도 있다. 비트스트림 내의 신택스 데이터는 최대 코딩 유닛 (largest coding unit: LCU) 을 정의할 수도 있는데, 이는 픽셀들의 수와 관련하여 최대 CU 이다. 일반적으로, CU 가 사이즈 특이성을 갖지 않는다는 점을 제외하면, CU 는 H.264 의 매크로 블록과 유사한 목적을 갖는다. 따라서, CU 는 서브 CU들로 분할될 수도 있다. 일반적으로, CU 에 대한 본 개시물 내에서의 언급들은 픽처의 최대 코딩 유닛 (LCU) 또는 LCU 의 서브 CU 를 지칭할 수도 있다. LCU 는 서브 CU들로 분할될 수도 있고, 각각의 서브 CU 는 서브 CU들로 더 분할될 수도 있다. 비트스트림에 대한 신택스 데이터는 LCU가 분할될 수도 있는 최대 횟수 (CU 깊이로 지칭됨) 를 정의할 수도 있다. 따라서, 비트스트림은 또한 최소 코딩 유닛 (smallest coding unit: SCU) 을 정의할 수도 있다. 본 개시물은 또한 CU, PU, 또는 TU 중 임의의 것을 지칭하는 데 용어 "블록" 또는 "부분" 을 사용한다. 일반적으로, "부분" 은 비디오 프레임의 임의의 서브 세트를 지칭할 수도 있다.
LCU 는 쿼드트리 데이터 구조와 연관될 수도 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하며, 여기서 루트 노드는 LCU 에 대응한다. CU 가 4 개의 서브 CU들로 분할되면, CU 에 대응하는 노드는 4 개의 리프 노드들을 포함하며, 각각의 리프 노드는 서브 CU들 중 하나에 대응한다. 쿼드트리 데이터 구조의 각각의 노드는 대응하는 CU 에 대해 신택스 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리 내의 노드는, 그 노드에 대응하는 CU 가 서브 CU들로 분할되는지를 나타내는 분할 플래그를 포함할 수도 있다. CU 에 대한 신택스 엘리먼트들은 재귀적으로 정의될 수도 있으며, CU 가 서브 CU들로 분할되는지에 의존할 수도 있다. CU 가 더 분할되지 않는다면, 그것은 리프 CU 로 지칭된다.
또한, 잎 CU들의 TU들은 각각의 쿼드트리 데이터 구조들과 연관될 수도 있다. 즉, 리프 CU 는 그 리프 CU 가 TU들로 어떻게 파티셔닝되는지를 나타내는 쿼드트리를 포함할 수도 있다. 본 개시물은 LCU 가 CU 쿼드트리로서 어떻게 파티셔닝되는지를 나타내는 쿼드트리 및 리프 CU 가 TU 쿼드트리로서 어떻게 TU들로 어떻게 파티셔닝되는지를 나타내는 쿼드트리를 언급한다. TU 쿼드트리의 루트 노드는 일반적으로 리프 CU 에 대응하지만, CU 쿼드트리의 루트 노드는 일반적으로 LCU 에 대응한다. 분할되지 않은 TU 쿼드트리의 TU들은 리프 TU들로 지칭된다.
리프 CU 는 하나 이상의 예측 유닛들 (PU들) 을 포함할 수도 있다. 일반적으로, PU 는 대응하는 CU 의 모두 또는 일부를 나타내며, PU 에 대한 참조 샘플을 취출하기 위한 데이터를 포함할 수도 있다. 예를 들어, PU 가 인터 모드 인코딩되면, PU 는 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. 모션 벡터를 정의하는 데이터는, 예를 들어 모션 벡터의 수평 콤포넌트, 모션 벡터의 수직 콤포넌트, 모션 벡터에 대한 해상도 (예컨대, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 프레임, 및/또는 모션 벡터에 대한 참조 리스트 (예컨대, 리스트 0 또는 리스트 1) 를 설명할 수도 있다. PU(들)을 정의하는 리프 CU 에 대한 데이터는, 예를 들어 하나 이상의 PU들로의 CU 의 파티셔닝을 또한 설명할 수도 있다. 파티셔닝 모드들은, CU 가 예측적으로 코딩, 인트라 예측 모드 인코딩, 또는 인터 모드 예측 인코딩되지 않는지에 따라 상이할 수도 있다. 인트라 코딩의 경우, PU 는 하기에서 설명되는 리프 변환 유닛과 동일하게 취급될 수도 있다.
블록 (예컨대, 비디오 데이터의 예측 유닛 (PU)) 을 코딩하기 위해, 블록에 대한 예측자가 먼저 도출된다. 예측자는 인트라 (I) 예측 (즉, 공간적 예측) 또는 인터 (P 또는 B) 예측 (즉, 시간적 예측) 중 어느 하나를 통해 도출될 수 있다. 이런 이유로, 몇몇 예측 유닛들은 동일한 프레임 내의 이웃하는 참조 블록들에 관한 공간 예측을 이용하여 인트라 코딩 (I) 될 수도 있고, 다른 예측 유닛들은 다른 프레임들 내의 참조 블록들에 관해 인터 코딩 (P 또는 B) 될 수도 있다.
예측자의 식별 시, 오리지널 비디오 데이터 블록과 그의 예측자 사이의 차이가 계산된다. 이 차이는 또한 예측 잔차로 지칭되며, 코딩될 블록의 픽셀들과 참조 블록의 대응하는 픽셀들 사이의 픽셀 값 차이들 (즉, 예측자) 로 지칭된다. 보다 우수한 압축을 달성하기 위해, 예컨대 이산 코사인 변환 (DCT), 정수 변환, 라루넨-루베 (Karhunen-Loeve: K-L) 변환, 또는 다른 변환을 이용하여, 예측 잔차 (즉, 픽셀 차이 값들의 어레이) 가 일반적으로 변환된다.
인터 예측을 이용하여 PU 를 코딩하는 것은 현재 블록과 참조 블록 내의 블록 사이의 모션 벡터를 계산하는 것을 수반한다. 모션 벡터들은 모션 추정 (또는 모션 검색) 이라 지칭되는 프로세스를 통해 계산된다. 모션 벡터는, 예를 들어 참조 프레임의 참조 샘플에 대한 현재 프레임 내의 예측 유닛의 변위를 나타낼 수도 있다. 참조 샘플은 픽셀 차이와 관련하여 코딩되고 있는 PU 를 포함하는 CU 의 부분에 밀접하게 매칭하는 것으로 발견된 블록일 수도 있는데, 이는 절대 차의 합 (SAD), 제곱 차의 합 (SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 참조 샘플은 참조 프레임 또는 참조 슬라이스 내의 어느 곳에서나 발생할 수도 있다. 몇몇 실시예들에서, 참조 샘플은 부분 픽셀 포지션에서 발생할 수도 있다. 현재 부분과 가장 잘 매칭하는 참조 프레임의 부분을 발견하면, 인코더는 현재 부분에 대한 현재 모션 벡터를 현재 부분으로부터 참조 프레임 내의 매칭 부분으로의 (즉, 현재 부분의 중심으로부터 매칭 부분의 중심으로의) 위치 차이로서 결정한다.
몇몇 실시예들에서, 인코더는 인코딩된 비디오 비트스트림 내의 각각의 부분에 대한 모션 벡터를 시그널링할 수도 있다. 시그널링된 모션 벡터는 비디오 데이터를 디코딩하기 위해 모션 보상을 수행하도록 디코더에 의해 이용된다. 그러나, 오리지널 모션 벡터를 직접적으로 시그널링하는 것은 보다 적은 효율의 코딩을 초래할 수도 있는데, 이는 정보를 전달하는 데 일반적으로 다수의 비트들이 필요하기 때문이다.
몇몇 예시들에서는, 오리지널 모션 벡터를 직접적으로 시그널링하기보다, 인코더가 각각의 파티션에 대한, 즉 각각의 PU 에 대한 모션 벡터를 예측할 수도 있다. 이 모션 벡터 예측을 수행할 때, 인코더는 참조 프레임 내의 공동위치된 블록으로부터 결정된 후보 모션 벡터 또는 현재 부분과 동일한 프레임 내의 공간적으로 이웃하는 블록들로부터 결정된 후보 모션 벡터들의 세트를 선택할 수도 있다. 인코더는 모션 벡터 예측을 수행할 수도 있으며, 필요하다면, 시그널링 시의 비트 레이트를 감소시키기 위해 오리지널 모션 벡터를 시그널링하기보다는 예측 차이를 시그널링할 수도 있다. 공간적으로 이웃하는 블록들로부터의 후보 모션 벡터 벡터들은 공간적 MVP 후보들로 지칭될 수도 있고, 그 반면에, 다른 참조 프레임 내의 공동위치된 블록으로부터의 후보 모션 벡터는 시간적 MVP 후보로 지칭될 수도 있다.
모션 벡터 예측의 2 개의 상이한 모드들 또는 타입들은 HEVC 표준의 현재 작업 중인 초안에서 제안된다. 하나의 모드는 "병합" 모드로 지칭된다. 다른 모드는 적응적 모션 벡터 예측 (AMVP) 로 지칭된다. 병합 모드에서, 인코더는 예측 신택스의 비트스트림 시그널링을 통해 디코더에게 프레임의 현재 부분에 대한 선택된 후보 모션 벡터로부터의 모션 벡터, 참조 인덱스 (주어진 참조 픽처 리스트에서 모션 벡터가 가리키는 참조 프레임을 식별함) 및 모션 예측 방향 (즉, 참조 프레임이 현재 프레임을 시간적으로 선행하는지 또는 후행하는지와 관련하여, 참조 픽처 리스트 (리스트 0 또는 리스트 1) 를 식별함) 을 복제할 것을 명령한다. 이것은, 선택된 후보 모션 벡터 (즉, 특정 공간적 MVP 후보 또는 시간적 MVP 후보) 를 식별하는 후보 모션 벡터 리스트 내로 인덱스를 비트스트림에서 시그널링함으로써 달성된다. 따라서, 병합 모드의 경우, 예측 신택스는 모드 (이 경우에는, "병합" 모드) 를 식별하는 플래그 및 선택된 후보 모션 벡터를 식별하는 인덱스를 포함할 수도 있다. 몇몇 예시들에서, 후보 모션 벡터는 현재 부분과 관련하여 인과 부분일 것이다. 즉, 후보 모션 벡터는 디코더에 의해 이미 디코딩되었을 것이다. 이와 같이, 디코더는 인과 부분 (causal portion) 에 대한 모션 벡터, 참조 인덱스, 및 모션 예측 방향을 이미 수신 및/또는 결정했다. 이와 같이, 디코더는 간단히 메모리로부터 인과 부분과 연관된 모션 벡터, 참조 인덱스, 및 모션 예측 방향을 취출할 수도 있고, 이들 값들을 현재 부분에 대한 모션 정보로서 복제할 수도 있다. 병합 모드에서 블록을 재구성하기 위해, 디코더는 현재 부분에 대한 도출된 모션 정보를 이용하여 예측 블록을 획득하고, 코딩된 블록을 재구성하기 위해 잔차 데이터를 예측 블록에 추가한다.
AMVP 에서, 인코더는 디코더에게 비트스트림 시그널링을 통해 후보 부분으로부터 단지 모션 벡터를 복제하고 복제된 벡터를 현재 부분의 모션 벡터에 대한 예측차로서 이용할 것을 명령하며, 모션 벡터 차이 (MVD) 를 시그널링한다. 참조 프레임 및 현재 부분의 모션 벡터와 연관된 예측 방향은 개별적으로 시그널링된다. MVD 는 현재 부분에 대한 현재 모션 벡터와 후보 부분으로부터 도출된 모션 벡터 예측자 사이의 차이이다. 이 경우에 있어서, 인코더는, 모션 추정을 이용하여, 코딩될 블록에 대한 실제 모션 벡터를 결정하고, 그 후, 실제 모션 벡터와 모션 벡터 예측자 사이의 차이를 MVD 값으로서 결정한다. 이 방식으로, 디코더는 후보 모션 벡터의 정확한 복제본을 병합 모드에서처럼 현재 모션 베터로서 이용하는 것이 아니라, 오히려 모션 추정으로부터 결정된 현재 모션 벡터에 값이 "밀접"할 수도 있는 후보 모션 벡터를 이용할 수도 있고 MVD 를 추가하여 현재 모션 벡터를 재구성할 수도 있다. AMVP 모드에서 블록을 재구성하기 위해, 디코더는 대응하는 잔차 데이터를 추가하여 코딩된 블록을 재구성한다.
대부분의 환경들에서, MVD 는 시그널링에 전체 현재 모션 벡터보다 더 적은 비트들을 필요로 한다. 이와 같이, AMVP 는 전체 모션 벡터를 전송하는 것 이상으로 코딩 효율을 유지하면서 현재 모션 벡터의 보다 정밀한 시그널링을 허용한다. 대조적으로, 병합 모드는 MVD 의 사양을 허용하지 않으며, 이와 같이, 병합 모드는 증가된 시그널링 효율 (즉, 보다 적은 비트들) 을 위해 모션 벡터 시그널링의 정확도를 희생시킨다. AMVP 에 대한 예측 신택스는 모드에 대한 플래그 (이 경우에는 AMVP 플래그), 후보 부분에 대한 인덱스, 현재 모션 벡터와 후보 부분으로부터의 예측 모션 벡터 사이의 MVD, 참조 인덱스, 및 모션 예측 방향을 포함할 수도 있다.
일단 모션 추정이 수행되어 현재 부분에 대한 모션 벡터를 결정하면, 인코더는 참조 프레임 내의 매칭 부분과 현재 부분을 비교한다. 이 비교는, 전술된 바와 같이, 통상, 현재 부분으로부터 참조 프레임 내의 부분 (보통 "참조 샘플" 로 지칭됨) 을 감산하는 것을 수반하며, 소위 잔차 데이터를 생성한다. 잔차 데이터는 현재 부분과 참조 샘플 사이의 픽셀 차이 값들을 나타낸다. 그 후, 인코더는 이 잔차 데이터를 공간 도메인으로부터 변환 도메인, 이를테면 주파수 도메인으로 변환한다. 통상, 인코더는 이산 코사인 변환 (DCT) 을 잔차 데이터에 적용하여 이 변환을 달성한다. 인코더는 잔차 데이터의 압축을 용이하게 하기 위해 이 변환을 수행하는데, 이는 결과적으로 생성된 변환 계수들이 상이한 주파수들을 나타내기 때문이며, 여기서 주 에너지는 통상 몇몇 저주파수 계수들에 집중된다.
일반적으로, 결과적으로 생성된 변환 계수들은, 특히 변환 계수들이 먼저 양자화 (라운딩) 되는 경우, 런-길이 인코딩을 가능하게 하는 방식으로 함께 그룹화된다. 인코더는 양자화된 변환 계수들의 이러한 런-길이 인코딩을 수행한 후, 런-길이 코딩된 양자화된 변환 계수들을 추가로 압축하기 위해 통계적 무손실 (또는 소위 "엔트로피") 인코딩을 수행한다.
무손실 엔트로피 코딩을 수행한 후, 인코더는 인코딩된 비디오 데이터를 포함하는 비트스트림을 생성한다. 이 비트스트림은 또한, 예를 들어 모션 벡터 예측이 수행되었는지를 특정하는 어떤 예시들에서 다수의 예측 신택스 엘리먼트들, 모션 벡터 모드, 및 모션 벡터 예측자 (MVP) 인덱스 (즉, 선택된 모션 벡터를 갖는 후보 부분의 인덱스) 를 포함한다. MVP 인덱스는 또한 그의 신택스 엘리먼트 가변 명칭 "mvp_idx" 으로 지칭될 수도 있다.
ITU-T/ISO/IEC JCT-VC (Joint Collaborative Team on Video Coding) 에 의한 채택을 위해 제안되고 있는 현재의 설계 (고효율 비디오 코딩 (HEVC) 로 지칭됨) 에서, 인코더는 전술된 1) AMVP 및 2) 병합 모드를 포함하는 현재 부분에 대한 모션 벡터를 예측하게 하는 다수의 모션 벡터 예측 모드들을 수행한다. 이들 2 개의 모드들은 유사하지만, AMVP 는 MVD들, 모션 예측 방향들 및 참조 인덱스들을 정의할 수 있다는 점에서 보다 큰 유연성을 제공하고, 병합 모드는 단지 이 모션 벡터 정보 (즉, 모션 벡터, 모션 예측 방향, 및 참조 인덱스) 를 복제할 뿐 MVD 의 증가된 정밀도를 허용하지 않는다.
도 1a 는 AMVP 모드에서의 사용을 위해 HEVC 표준에서 현재 제안되는 후보 블록들 (또는 PU 의 부분들/블록들) 의 세트 (100) 를 도시하고, 도 1b 는 병합 모드에서의 사용을 위해 HEVC 표준에서 현재 제안되는 후보 블록들의 세트 (110) 를 도시한다. AMVP 모드는 6 개의 후보 블록들: 하부 좌측 (BL) 블록 (101), 좌측 (L) 블록 (102), 우측 상부 (RA) 블록 (103), 상부 (A) 블록 (104), 좌측 상부 (LA) 블록 (105), 및 시간적 (T) 블록 (106) 을 이용한다. 후보 블록들의 세트 외에도, AMVP 모드는 또한 후보 블록들을 체킹하기 위한 순서를 특정한다는 점에 유의한다. 도 1a 의 실시예에서, 체킹 패턴은 다음과 같이 진행한다: BL - L - RA - A - LA - T. 도 1b 에 도시된 바와 같이, 병합 모드는 5 개의 후보 블록들: 하부 좌측 (BL) 블록 (111), 좌측 (L) 블록 (112), 우측 상부 (RA) 블록 (113), 상부 (A) 블록 (114), 및 시간적 블록 (T)(115) 을 이용한다. 이들 후보 블록들과 연관된 모션 벡터들은 병합 모드 및 AMVP 모드에서 모션 벡터 예측자를 결정하는 데 이용된다. 병합 모드는 AMVP 와 유사한 체킹 패턴을 이용할 수도 있고, 또는 상이한 체킹 패턴을 이용할 수도 있다.
전술된 바와 같이, AMVP 모드는 6 개의 후보 블록들을 이용하는 반면, 병합 모드는 5 개의 후보 블록들을 이용한다. 또한, 우측 상부 (RA), 하부 좌측 (BL), 및 시간적 (T) 블록들 외에, AMVP 모드 및 병합 모드에 대한 후보 블록들은 상이한 위치들에 있다. 이와 같이, 다수의 후보 블록들은 인코딩 및 디코딩 프로세스 양측 모두 동안 저장되고 고려되어야 한다. 또한, AMVP 에 대한 체킹 패턴은 하부 좌측 블록이 모든 환경들에서 이용 가능한 것은 아닐 수도 있기 때문에 최적이지 않을 수도 있다. 이러한 환경들은 좌측 하부 블록이 아직 코딩되지 않았을 때 (예컨대, 그것이 슬라이스 또는 CU 경계를 가로지를 때) 또는 하부 좌측 블록에 대한 데이터가 손상되는 경우를 포함한다.
본 개시물에서는, AMVP 및 병합 모드 양측에 대한 통합된 후보 블록 세트가 제안된다. 일반적으로, 동일한 후보 블록 세트는 모떤 모션 벡트 예측 모드 (예컨대, 병합 모드 또는 AMVP 모드) 가 이용되는지와는 무관하게 이용된다. 이와 같이, 모션 벡터들 및 다른 인터 예측 관련 정보 (예컨대, 참조 프레임, 예측 방향 등) 를 저장하는 데 보다 적은 메모리가 필요하다. 본 개시물의 다른 실시예들에서는, 추가적인 후보 블록을 포함하는 후보 블록들의 세트를 이용하는 기법들이 제안된다. 또한, 보다 최적인 체킹 패턴에 대한 기법들이 역시 개시된다.
도 2 는 본 개시물의 실시예들에 따른 모션 벡터 예측에 대한 기법을 이용하도록 구성될 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 예시한 블록도이다. 도 2 에 도시된 바와 같이, 시스템 (10) 은 통신 채널 (16) 을 통해 목적지 디바이스 (14) 에 인코딩된 비디오를 송신하는 소스 디바이스 (12) 를 포함한다. 인코딩된 비디오 데이터는 저장 매체 (34) 또는 파일 서버 (36) 에 또한 저장될 수도 있고, 희망 시, 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 저장 매체 또는 파일 서버에 저장될 때, 비디오 인코더 (20) 는 코딩된 비디오 데이터를 다른 디바이스 (이를테면 네트워크 인터페이스, 콤팩트 디스크 (CD), 블루레이 또는 디지털 비디오 디스크 (DVD) 버너 또는 스탬핑 기능 디바이스, 또는 코딩된 비디오 데이터를 저장 매체에 저장시키는 다른 디바이스들) 에 제공할 수도 있다. 마찬가지로, 비디오 디코더 (30) 와는 별개인 디바이스, 이를테면 네트워크 인터페이스, CD 또는 DVD 리더 등은 코딩된 비디오 데이터를 저장 매체로부터 취출할 수도 있고, 취출된 데이터를 비디오 디코더 (30) 에 제공할 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱박스들, 소위 스마트폰들과 같은 전화 핸드셋들, 텔레비젼들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들 등을 포함하는 아주 다양한 디바이스들 중 임의의 것을 포함할 수도 있다. 많은 경우들에 있어서, 이러한 디바이스들은 무선 통신을 위해 구비될 수도 있다. 그러므로, 통신 채널 (16) 은 인코딩된 비디오 데이터의 전송에 적합한 무선 채널, 유선 채널, 또는 무선 및 유선 채널들의 조합을 포함할 수도 있다. 마찬가지로, 파일 서버 (36) 는 인터넷 접속을 포함하는 임의의 표준 데이터 접속을 통해 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 이것은 파일 서버에 저장된 인코딩된 비디오 데이터를 액세스하는 데 적합한, 무선 채널 (예컨대, Wi-Fi 접속), 유선 접속 (예컨대, DSL, 케이블 모뎀 등), 또는 이들의 조합을 포함할 수도 있다.
본 개시물의 실시예들에 따른 모션 벡터 예측을 위한 기법들은, 임의의 다양한 멀티미디어 애플리케이션들, 이를테면 OTA (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예컨대 인터넷을 통한, 스트리밍 비디오 송신들, 데이터 저장 매체 상에서의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들을 지원하여, 비디오 코딩에 적용될 수도 있다. 몇몇 실시예들에서, 시스템 (10) 은, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 비디오 전화와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 2 의 실시예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 변조기/복조기 (22) 및 송신기 (24) 를 포함할 수도 있다. 소스 디바이스 (12) 에서, 비디오 소스 (18) 는 비디오 캡처 디바이스, 예컨대 비디오 카메라와 같은 소스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 비디오 컨텐츠 공급자로부터 비디오를 수신하는 비디오 공급 인터페이스, 및/또는 소스 비디오로서 컴퓨터 그래픽 데이터를 생성하는 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합을 포함할 수도 있다. 일 실시예로서, 비디오 소스 (18) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 본 개시물에서 설명되는 기법들은 전반적으로 비디오 코딩에 적용가능할 수도 있으며, 무선 및/또는 유선 애플리케이션들 또는 인코딩된 비디오 데이터가 로컬 디스크 상에 저장되는 애플리케이션에 적용될 수도 있다.
캡처되거나 사전캡처되거나 또는 컴퓨터에 의해 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 정보는 무선 통신 표준과 같은 통신 프로토콜에 따라 모뎀 (22) 에 의해 변조될 수도 있고, 송신기 (24) 를 통해 목적지 디바이스 (14) 로 송신될 수도 있다. 모뎀 (22) 은 여러 가지의 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 콤포넌트들을 포함할 수도 있다. 출력 인터페이스 (24) 는, 증폭기들, 필터들 및 하나 이상의 안테나들을 포함하는, 데이터 송신을 위해 설계된 회로들을 포함할 수도 있다.
비디오 인코더 (20) 에 의해 인코딩된, 캡처되거나 사전캡처되거나 또는 컴퓨터에 의해 생성된 비디오는 추후 소비를 위해 저장 매체 (34) 에 또는 파일 서버 (36) 에 또한 저장될 수도 있다. 저장 매체 (34) 는 블루레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 또는 인코딩된 비디오를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들을 포함할 수도 있다. 그 후, 저장 매체 (34) 에 저장된 인코딩된 비디오는 디코딩 및 플레이백을 위해 목적지 디바이스 (14) 에 의해 액세스될 수도 있다.
파일 서버 (36) 는 인코딩된 비디오를 저장할 수 있고 그 인코딩된 비디오를 목적지 디바이스 (14) 에 송신할 수 있는 임의의 타입의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예컨대, 웹 사이트용), FTP 서버, 네트워크 부착 저장 (network attached storage: NAS) 디바이스들, 로컬 디스크 드라이브, 또는 인코딩된 비디오 데이터를 저장할 수 있고 그것을 목적지 디바이스에 송신할 수 있는 임의의 다른 타입의 디바이스를 포함한다. 파일 서버 (36) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다. 파일 서버 (36) 는 인터넷 접속을 포함하는 임의의 표준 데이터 접속을 통해 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 이것은 파일 서버에 저장된 인코딩된 비디오 데이터에 액세스하는 데 적합한 무선 채널 (예컨대, Wi-Fi 접속), 유선 접속 (예컨대, DSL, 케이블 모뎀, 이더넷, USB 등), 또는 이들의 조합을 포함할 수도 있다.
목적지 디바이스 (14) 는, 도 2의 실시예에서, 수신기 (26), 모뎀 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 목적지 디바이스 (14) 의 수신기 (26) 는 채널 (16) 을 통해 정보를 수신하고, 모뎀 (28) 은 정보를 복조하여 비디오 디코더 (30) 에 대한 복조된 비트스트림을 생성한다. 채널 (16) 을 통해 통신된 정보는, 비디오 데이터를 디코딩하는 데 있어서, 비디오 디코더 (30) 에 의한 사용을 위해 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 정보를 포함할 수도 있다. 이러한 신택스는 또한 저장 매체 (34) 또는 파일 서버 (36) 에 저장된 인코딩된 비디오 데이터와 함께 포함될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 비디오 데이터를 인코딩 또는 디코딩할 수 있는 각각의 인코더-디코더 (CODEC) 의 일부를 형성할 수도 있다.
디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합될 수도 있고, 또는 목적지 디바이스 (14) 외부에 있을 수도 있다. 몇몇 실시예들에서, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함할 수도 있고 외부 디스플레이 디바이스와 인터페이싱하도록 또한 구성될 수도 있다. 다른 실시예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 액정 디스플레이 (liquid crystal display: LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (organic light emitting diode: OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
도 2 의 실시예에서, 통신 채널 (16) 은 무선 주파수 (radio frequency: RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선 및 유선 매체들의 임의의 조합을 포함할 수도 있다. 통신 채널 (16) 은 패킷 기반 네트워크, 예컨대 근거리 통신망 (local area network), 원거리 통신망 (wide-area network), 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 채널 (16) 은, 일반적으로 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 비디오 데이터를 송신하기 위한, 유선 또는 무선 매체들의 임의의 적절한 조합을 포함하는, 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 집합을 나타낸다. 통신 채널 (16) 은 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 에서 목적지 디바이스 (14) 로의 통신을 용이하게 하는 데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 비디오 압축 표준, 예컨대 현재 개발 중에 있는 HEVC (High Efficiency Video Coding) 표준에 따라 동작할 수도 있고, HEVC 테스트 모델 (HEVC Test Model: HM) 을 준수할 수도 있다. 대안으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 다르게는 MPEG-4, 파트 10, AVC 로 지칭되는 ITU-T H.264 표준과 같은 다른 독점 또는 산업 표준들, 또는 그런 표준들의 확장안들에 따라 동작할 수도 있다. 그러나, 본 개시물의 기법들은 임의의 특정 코딩 표준으로 제한되지는 않는다. 다른 실시예들은 MPEG-2 및 ITU-T H.263 을 포함한다.
도 2 에 도시되지 않았지만, 몇몇 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 공통 데이터 스트림 또는 개별적인 데이터 스트림들에서 오디오 및 비디오 양측의 인코딩을 핸들링하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용 가능하다면, 몇몇 실시예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜을 준수할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 여러 가지 적합한 인코더 회로부 중 임의의 것으로서, 예컨대 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSPs), 주문형 반도체들 (application specific integrated circuits: ASICs), 필드 프로그램가능 게이트 어레이들 (FPGAs), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들로서 구현될 수도 있다. 이러한 기법들이 부분적으로 소프트웨어로 구현되는 경우, 디바이스는 그 소프트웨어에 대한 명령들을 적절한 비일시적 컴퓨터 판독가능 매체에 저장할 수도 있고, 본 개시물의 기법들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어에서 그 명령들을 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것도 각각의 디바이스 내의 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다.
비디오 인코더 (20) 는 비디오 인코딩 프로세스에서 모션 벡터 예측에 대한 본 개시물의 임의의 또는 모든 기법들을 구현할 수도 있다. 마찬가지로, 비디오 디코더 (30) 는 비디오 코딩 프로세스에서 모션 벡터 예측에 대한 이들 기법들 중 임의의 것 또는 모든 것을 구현할 수도 있다. 본 개시물에서 설명된 바와 같이, 비디오 코더는 비디오 인코더 또는 비디오 디코더로 지칭될 수도 있다. 마찬가지로, 비디오 코딩 유닛은 비디오 인코더 또는 비디오 디코더로 지칭될 수도 있다. 마찬가지로, 비디오 코딩은 비디오 인코딩 또는 비디오 디코딩으로 칭해질 수도 있다.
본 개시물의 일 실시예에서, 소스 디바이스 (12) 의 비디오 인코더 (20) 는 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 결정하도록 구성될 수도 있고, 결정된 모드 및 후보 블록들의 세트를 이용하여 비디오 데이터의 현재 블록에 대한 모션 벡트 예측 프로세스를 수행할 수도 있으며, 여기서 후보 블록들의 세트는 복수의 모드들 중 각각에 대해 동일하다.
본 개시물의 다른 실시예에서, 소스 디바이스 (12) 의 비디오 인코더 (20) 는, 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 결정하도록, 그리고 결정된 모드 및 후보 블록들의 세트를 이용하여 현재 블록에 대해 모션 벡터 예측 프로세스를 수행하도록 구성되며, 후보 블록들의 세트는 복수의 모드들 각각에 대해 동일하고, 후보 블록들의 세트에서의 하나의 후보 블록은 추가적인 후보 블록으로서 지정되고, 추가적인 후보 블록은 후보 블록들의 세트 중 다른 후보 블록이 이용불가능한 경우에 이용된다.
본 개시물의 다른 실시예에서, 목적지 디바이스 (14) 의 비디오 디코더 (30) 는, 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 나타내는 신택스 엘리먼트를 수신하도록, 그리고 후보 블록들의 세트로부터 후보 블록을 나타내는 인덱스를 수신하도록 구성될 수도 있으며, 후보 블록들의 세트는 복수의 모드들 중 각각에 대해 동일하고, 후보 블록과 관련된 정보는 현재 블록에 대한 모션 벡터를 디코딩하는 데 이용된다.
본 개시물의 다른 실시예에서, 목적지 디바이스 (14) 의 비디오 디코더 (30) 는, 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 나타내는 신택스 엘리먼트를 수신하고, 그리고 후보 블록들의 세트로부터 후보 블록을 나타내는 인덱스를 수신하도록 구성될 수도 있으며, 후보 블록들의 세트는 복수의 모드들 중 각각에 대해 동일하고, 후보 블록들의 세트에서의 하나의 후보 블록은 추가적인 후보 블록으로서 지정되고, 추가적인 후보 블록은 후보 블록들의 세트의 후보 블록들 중 다른 후보 블록이 이용불가능한 경우에 이용되고, 후보 블록과 관련된 정보는 현재 블록에 대한 모션 벡터를 디코딩하는 데 이용된다.
도 3 은 본 개시물에서 설명되는 모션 벡터 예측에 대한 기법들을 이용할 수도 있는 비디오 인코더 (20) 의 실시예를 예시한 블록도이다. 비디오 인코더 (20) 는 변환 계수들의 스캐닝을 요구할 수도 있는 다른 코딩 표준들 또는 방법들에 대해 본 개시물의 제한 없이 예시를 목적으로 HEVC 코딩의 맥락에서 설명될 것이다. 비디오 인코더 (20) 는 비디오 프레임들 내에서 CU들의 인트라 및 인터 코딩을 수행할 수도 있다. 인트라 코딩은 주어진 비디오 프레임 내의 비디오 데이터에서의 공간적 리던던시를 감소시키거나 또는 제거하기 위해 공간적 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 현재 프레임과 이전에 코딩된 프레임들 사이의 시간적 리던던시를 감소시키거나 또는 제거하기 위해 시간적 예측에 의존한다. 인트라 모드 (I 모드) 는 여러 공간 기반 비디오 압축 모드들 중 임의의 것을 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양방향 예측 (B 모드) 와 같은 인터 모드들은 여러 시간 기반 비디오 압축 모드들 중 임의의 것을 지칭할 수도 있다.
도 3 에 도시된 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재 비디오 블록을 수신한다. 도 3 의 실시예에서, 비디오 인코더 (20) 는 모션 보상 유닛 (44), 모션 추정 유닛 (42), 인트라 예측 유닛 (46), 참조 프레임 버퍼 (64), 합산기 (50), 변환 모듈 (52), 양자화 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 도 3 에 예시된 변환 모듈 (52) 은 실제 변환 또는 변환의 조합들을, CU 의 변환 유닛 (TU) 로 지칭될 수도 있는 변환의 블록과 혼동되지 않는 잔차 데이터의 블록에 적용하는 구조 또는 장치이다. 비디오 블록 재구성을 위해, 비디오 인코더 (20) 는 역양자화 유닛 (58), 역변환 모듈 (60), 및 합산기 (62) 를 또한 포함한다. 재구성된 비디오에서 블록화 아티팩트들 (blockiness artifacts) 을 제거하도록 블록 경계들을 필터링하기 위해 디블록화 필터 (deblocking filter)(도 3에 도시되지 않음) 가 포함될 수도 있다. 희망 시, 디블록화 필터는 통상적으로 합산기 (62) 의 출력을 필터링할 것이다.
인코딩 프로세스 동안, 비디오 인코더 (20) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록들, 예컨대 최대 코딩 유닛들 (LCU들) 로 분할될 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 시간적 압축을 제공하기 위해 하나 이상의 참조 프레임들에서 하나 이상의 블록들에 대하여 수신된 비디오 블록의 인터 예측 코딩을 수행한다. 인트라 예측 유닛 (46) 은 공간적 압축을 제공하기 위해 코딩될 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃하는 블록들에 대하여 수신된 비디오 블록의 인트라 예측 코딩을 수행할 수도 있다.
모드 선택 유닛 (40) 은, 예컨대 각각의 모드에 대한 에러 결과들 (즉, 왜곡) 에 기초하여, 코딩 모드들 중 하나, 인트라 또는 인터를 선택할 수도 있고, 결과적으로 생성된 인트라 또는 인터 예측된 블록 (예컨대, 예측 유닛 (PU)) 을 합산기 (50) 에 제공하여, 잔차 블록 데이터를 생성하고 합산기 (62) 에 제공하여 기준 프레임에서의 사용을 위한 인코딩된 블록을 재구성한다. 합산기 (62) 는, 하기에서 더 상세히 설명되는 바와 같이, 인코딩된 블록을 재구성하도록, 예측된 블록을 그 블록에 대한 역변환 모듈 (60) 로부터의 역양자화되고 역변환된 데이터와 조합한다. 몇몇 비디오 프레임들은 I 프레임들로서 지정될 수도 있고, 여기서 I 프레임의 모든 블록들은 인트라 예측 모드에서 인코딩된다. 몇몇 경우들에 있어서, 인트라 예측 유닛 (46) 은, 예컨대 모션 추정 유닛 (42) 에 의해 수행되는 모션 검색이 블록의 충분한 예측을 초래하지 않을 때, P 또는 B 프레임에서 블록의 인트라 예측 인코딩을 수행할 수도 있다.
모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 집적될 수도 있지만, 개념적 목적들을 위해 별개로 예시된다. 모션 추정 (또는 모션 검색) 은 모션 벡터들을 생성하는 프로세스이며, 모션 벡터들은 비디오 블록들에 대한 모션을 추정한다. 모션 벡터는, 예를 들어 참조 프레임의 참조 샘플에 대한 현재 프레임 내의 예측 유닛의 변위를 나타낼 수도 있다. 모션 추정 유닛 (42) 은 예측 유닛을 참조 프레임 버퍼 (64) 에 저장된 참조 프레임의 참조 샘플들에 비교함으로써 인터 코딩된 프레임의 예측 유닛에 대한 모션 벡터를 계산한다. 참조 샘플은 픽셀 차이와 관련하여 코딩되고 있는 PU 를 포함하는 CU 의 부분에 밀접하게 매칭하는 것으로 발견된 블록일 수도 있는데, 이는 절대 차의 합 (SAD), 제곱 차의 합 (SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 참조 샘플은 참조 프레임 또는 참조 슬라이스 내의 어느 곳에서나 발생할 수도 있다. 몇몇 실시예들에서, 참조 샘플은 부분 픽셀 위치에서 발생할 수도 있다.
모션 벡터에 의해 식별된 참조 프레임의 부분은 참조 샘플로 지칭될 수도 있다. 모션 보상 유닛 (44) 은, 예컨대 PU 에 대한 모션 벡터에 의해 식별된 참조 샘플을 취출함으로써 현재 CU 의 예측 유닛에 대한 예측 값을 계산할 수도 있다. 몇몇 비디오 인코딩 기법들에서, 모션 추정 유닛 (42) 은 계산된 모션 벡터, 참조 프레임, 및 예측 방향 (즉, 참조 프레임이 시간적으로 현재 프레임에 선행하는지 또는 후행하는지와 관련한 방향) 을 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 에 전송한다. 다른 비디오 인코딩 기법들은 모션 벡터를 인코딩하는 데 모션 벡터 예측 프로세스를 이용한다. 모션 벡터 예측 프로세스는 병합 모드 및 AMVP 를 포함한 복수의 모드들 중에서 선택될 수도 있다.
병합 모드에서, 인코더는 후보 블록들의 세트를 고려하고, 현재 블록과 동일한 (또는 가장 밀집하게 매칭하는) 모션 벡터, 참조 프레임, 및 예측 방향을 갖는 블록을 선택한다. 이것은, 차례로 각각의 후보 블록을 체킹함으로써, 그리고 일단 모션 벡터, 참조 프레임, 및 예측 방향이 현재 블록에 대해 복제되면, 최상의 율왜곡 성능을 내는 것을 선택함으로써 달성된다. 그 후, 인코딩된 비디오 비트스트림에서 이 모션 벡터 정보 (즉, 모션 벡터, 참조 프레임, 및 예측 방향) 를 시그널링하기보다, 인코더는 선택된 후보 블록에 대한 인덱스 번호를 시그널링한다. 디코더는 시그널링된 인덱스 번호에 의해 나타내진 후보 블록으로부터 모션 벡터 정보를 복제할 수도 있고, 현재 블록에 대한 복제된 모션 벡터 정보를 이용할 수도 있다. 도 4a 는 병합 모드 시그널링의 실시예를 도시한다. 병합 플래그 (201) 는 병합 모드가 이용되고 있음을 나타낸다. 후보 블록 인덱스 (202) 는 병합 모드에 대해 정의된 후보 블록들의 세트로부터 후보 블록들 중 어느 것이 현재 블록에 대한 모션 벡터 정보를 취출하는 데 이용되는지를 나타낸다.
병합 모드 후보 세트에 대한 후보들의 특정된 수를 충족시키기 위한 어떤 경우들에 있어서, 몇몇 "인공적" 모션 벡터 정보가 후보 세트를 채우도록 생성될 수도 있다는 점에 유의해야 한다. "인공적" 모션 벡터 정보는 상이한 후보 블록들로부터 모션 벡터 정보의 부분 조합들을 통해 생성될 수도 있다. 예를 들어, 후보 블록 1 로부터의 리스트 0 모션 벡터는 후보 세트에 새로운 모션 벡터 정보를 형성하기 위해, 참조 프레임 인덱스 및 예측 방향과 함께 후보 2 로부터의 리스트 1 모션 벡터와 결합될 수도 있다. 몇몇 다른 실시예들에서, 제로 모션 벡터들은 후보 세트를 채우기 위해 추가적인 모션 벡터 정보로서 추가될 수도 있다. 그러나, 후보 세트가 어떻게 형성되는지와는 무관하게, 병합 모드에서, 후보 세트 내로의 인덱스만이 현재 블록에 대한 모션 벡터 정보를 제공하기 위해 어떤 후보가 선택되는지를 나타내도록 디코더에게 시그널링될 필요가 있다. 디코더 측에서, 동일한 후보 세트가 형성되고, 모션 벡터 정보가 후보 세트 내로의 시그널링된 인덱스를 통해 식별될 수 있다.
AMVP 모드에서, 인코더는 후보 블록들의 세트를 고려하며, 최상의 율왜곡을 초래하거나 또는 몇몇 미리 정해진 임계치 (예컨대, 율왜곡 임계치) 를 충족시키는 모션 벡터 차이 (즉, 각각의 후보 블록의 모션 벡터와 현재 블록의 실제 모션 벡터 사이의 차이) 를 생성하는 블록을 생성한다. AMVP 모드는 만족스러운 후보가 발견되어 선택될 때까지 체킹 패턴에서의 후보 블록들을 고려할 수도 있다. 대안으로, 몇몇 실시예들에서, 모든 후보 블록들이 체킹될 수 있고, 최상의 결과를 내는 후보 블록이 코딩될 블록에 대한 MVP 로서 선택된다. 그 후, 인코더는 모션 벡터 차이와 함께 모션 벡터 차이를 생성하는 데 이용되는 후보 블록에 대한 인덱스를 시그널링할 수도 있다. 그후, 디코더는 시그널링된 인덱스에 의해 나타내진 후보 블록으로부터 취출된 모션 벡터에, 수신된 모션 벡터 차이를 추가함으로써 현재 블록에 대한 모션 벡터를 재생성할 수도 있다. 도 4b 는 AMVP 모드 시그널링의 일 실시예를 도시한다. AMVP 모드 플래그 (205) 는 AMVP 모드가 이용되고 있음을 나타낸다. 후보 블록 인덱스 (206) 는 AMVP 모드에 대해 정의된 후보 블록들의 세트로부터 후보 블록들 중 어느 것이 모션 벡터를 취출하는 데 이용되는지를 나타낸다. AMVP 모드는 또한 모션 벡터 차이 (207), 참조 프레임 (208) 및 예측 방향 (209) 을 시그널링한다. 몇몇 실시예들에서, 참조 프레임 및 예측 방향을 명시적으로 시그널링하는 대신, 참조 프레임 및 예측 방향은 후보 블록과 연관된 모션 벡터 정보로부터 대신 취출된다.
전술된 실시예들에서, 인코딩된 비트스트림에서 모션 벡터 정보를 시그널링하는 것은, 이러한 엘리먼트들의 인코더로부터 디코더로의 실시간 송신을 요구하는 것이 아니라, 그러한 정보가 비트스트림 내에 인코딩되고 임의의 방식으로 디코더에 액세스가능하게 되는 것을 의미한다. 이것은, (예컨대, 화상 회의에서의) 실시간 송신 뿐 아니라 (예컨대, 스트리밍, 다운로딩, 디스크 액세스, 카드 액세스, DVD, 블루레이 등에서) 디코더에 의한 향후 사용을 위해 컴퓨터 판독가능 매체 상에 인코딩된 비트스트림을 저장하는 것을 포함할 수도 있다.
본 개시물의 실시예들에 따르면, 병합 모드 및 AMVP 모드는 후보 블록들의 동일한 세트를 (즉, 블록들의 개수 및 위치 양측 모두와 관련하여) 이용한다. 이와 같이, 인코더 및 디코더 양측 모두는 후보 블록들에 대한 모션 벡터 정보를 저장하는 데 필요한 메모리의 양을 감소시킬 수도 있다. 그것은 또한 현재 블록의 코딩 프로세스 동안 그들 모션 벡터들을 취출하는 데 있어서 메모리 대역폭 요건을 감소시킬 수도 있다.
본 개시물의 제 1 실시예에서, 병합 모드 및 AMVP 모드 양측 모두는 도 5a 에 도시된 후보 블록들의 동일한 세트 (120)를 이용한다. 이 실시예에서, 병합 모드는 이제 5 개 대신 6 개의 후보 블록들을 이용할 것이다. 그러나, 병합 모드 및 AMVP 모드 양측 모두에 대한 후보 블록들의 총 개수는 감소하는데, 이는 양측 모드들이 동일한 위치들에 있는 후보 블록들을 이용하기 때문이다. 이 실시예에서, 후보 블록들은 도 5a 에 도시된 바와 같은 하부 좌측 (BL)(121), 좌측 (L)(122), 좌측 상부 (LA)(125), 상부 (A)(124), 우측 상부 (RA)(123), 및 시간적 (T)(126) 위치들에 있다. 이 실시예에서, 좌측 후보 블록 (122) 은 현재 블록의 좌측 에지 (127) 에 인접해 있다. 좌측 블록 (122) 의 아래쪽 에지는 현재 블록 (127) 의 아래쪽 에지와 정렬된다. 상부 블록 (124) 은 현재 블록 (127) 의 위쪽 에지에 인접해 있다. 상부 블록 (124) 의 우측 에지는 현재 블록 (127) 의 우측 에지와 정렬된다.
본 개시물의 제 2 실시예에서, AMVP 모드 및 병합 모드는 도 5b 에 도시된 후보 블록들의 세트 (130) 를 이용한다. 이 실시예에서, AMVP 모드에 대한 후보 블록들의 개수는 5 개로 감소한다. 후보 블록들의 추가 감소가 달성되는데, 이는 병합 모드 및 AMVP 모드 양측 모두가 이제 동일한 위치들에 있는 후보 블록들을 이용하기 때문이다. 이 실시예에서, 후보 블록들은 하부 좌측 (BL)(131), 좌측 (L)(132), 상부 (A)(134), 우측 상부 (RA)(133), 및 시간적 (T)(136) 위치들에 있다. 상부 블록 (134) 및 좌측 블록 (132) 의 위치들은 도 5a 의 실시예에서 상부 블록 (124) 및 좌측 블록 (122) 의 위치들과는 상이하다는 것에 유의한다. 이 실시예에서, 좌측 후보 블록 (132) 은 현재 블록 (137) 의 좌측 에지에 인접해 있다. 좌측 블록 (132) 의 위쪽 에지는 현재 블록 (137) 의 위쪽 에지와 정렬된다. 상부 블록 (134) 은 현재 블록 (137) 의 위쪽 에지에 인접해 있다. 상부 블록 (134) 의 좌측 에지는 현재 블록 (137) 의 좌측 에지와 정렬된다. 일 실시예에서, AMVP 모드에 대한 체킹 패턴은 다음과 같이 진행한다: BL - L - RA - A - T.
본 개시물의 제 3 실시예에서, 병합 모드 및 AMVP 모드 양측 모두는 도 6 에 도시된 후보 블록들의 세트 (140) 를 이용한다. 이 실시예에서, 후보 블록들의 개수는 각각의 모드에 대해 총 개수를 5 로 감소시킬 뿐 아니라, 양측 모드들에 대해 후보 블록 위치들을 일원화시킴으로써 감소한다. 이 실시예에서, 후보 블록들은 하부 좌측 (BL)(141), 좌측 (L)(142), 상부 (A)(143), 우측 상부 (RA)(144), 및 시간적 (T)(145) 위치들에 있다. 이 실시예에서, 좌측 후보 블록 (142) 은 현재 블록의 좌측 에지에 인접해 있다. 좌측 블록 (142) 의 아래쪽 에지는 현재 블록 (147) 의 아래쪽 에지와 정렬된다. 상부 블록 (143) 은 현재 블록 (147) 의 위쪽 에지에 인접해 있다. 상부 블록 (143) 의 우측 에지는 현재 블록 (147) 의 우측 에지와 정렬된다.
다른 실시예에서, 본 개시물은 AMVP 모드에 대한 개선된 체킹 패턴을 설명한다. 도 7 에 도시된 바와 같이, 예를 들어, 체킹 패턴은 다음과 같이 진행한다: L - BL - A - RA - LA - T. BL 후보 블록에서 시작하는 것이 아니라, 도 1a 에 도시된 바와 같이, 도 7 에서의 실시예는 L 후보 블록에서 시작한다. 좌측 블록들은 전반적으로 현재 블록에 더 많이 상관되는데, 이는 비디오 콘텐츠가 일반적으로 수평 방향으로 이동하기 때문이다. L 후보 블록이 먼저 체킹되는데, 이는 BL 후보 블록이 모든 상황들에서 이용가능한 것은 아닐 수도 있기 때문이다 (즉, 이미 코딩된 것이 아닐 수도 있기 때문이다). 추가로, A 후보 블록은 RA 후보 블록 앞에서 체킹되는데, 이는 A 후보 블록의 모션 벡터가 RA 후보 블록의 것보다 현재 블록의 모션 벡터에 대한 보다 높은 통계적 상관성을 갖는 것으로 나타내졌기 때문이다.
병합 모드는 도 7 에 도시된 동일한 체킹 패턴을 이용할 수도 있고, 또는 상이한 체킹 패턴을 이용할 수도 있다. 일 실시예에서, 병합 모드에 대한 체킹 패턴은 다음과 같이 진행할 수도 있다: L - A - RA - BL - (LA) -T. 이 실시예에서, LA 블록의 포함은 제 1 의 4 개의 후보 블록들 중 하나가 이용불가능한 경우에 의존하여 선택적이거나 또는 적응적이다.
도 7 의 실시예는 도 5a 의 후보 블록들의 세트를 참조하여 도시된다. 그러나, 이 체킹 패턴은 임의의 후보 세트와 적용될 수도 있다. 일반적으로, 좌측 후보 블록은 하부 좌측 후보 블록 앞에서 체킹되어야 한다. 다음, 상부 후보 블록이 우측 상부 후보 블록 앞에서 체킹되어야 한다. 임의의 나머지 후보 블록들은 그 후 임의의 순서로 체킹될 수도 있다. 몇몇 실시예들에서, 시간적 후보 블록이 마지막으로 체킹될 수도 있다.
본 개시물의 다른 실시예에서, 병합 모드 및 AMVP 양측 모두에 대한 가요적인 추가 후보들이 개시된다. 도 5a 의 실시예에 도시된 바와 같이, 총 6 개의 후보 블록들에 대해 5 개의 공간적 후보 블록들 (즉, L, BL, A, RA, 및 LA) 및 1 개의 시간적 후보 블록 (즉, T) 가 존재한다. HEVC 표준에 대한 이전 제안에서 병합 모드에 대한 후보 블록들의 총 개수는 5 개이다. 이와 같이, 도 5a 에 도시된 후보 블록들 중 하나는 병합 모드에 대해 제거될 수도 있다. 일 실시예에서, LA 후보 블록은 추가적인 후보 블록으로서 정의될 수도 있다 (즉, 그것은 초기에 병합 모드에 대해 후보 블록들의 세트의 부분으로 간주되지 않는다).
그러나, 전술된 바와 같이, 모든 후보 블록들이 모든 상황들에서 이용가능한 것은 아니다. 예를 들어, BL 후보 블록은 현재 블록이 코딩되는 때에 아직 코딩되지 않았을 수도 있다. 추가로, 몇몇 후보 블록들에 대한 데이터는 손상되었을 수도 있고, 또는 (예컨대, 실시간 디코딩에서) 아직 수신되지 않았을 수도 있다. 이와 같이, 본 개시물은 세트에서의 후보 블록이 이용불가능한 것으로 밝혀진 상황들에서 추가적인 후보 블록들을 이용하는 것을 제안한다. 이 방식으로, 후보들의 총 개수는 이용불가능한 후보에 대하 체킹을 낭비하지 않고 최대 한도로 유지된다.
일 실시예에서, L 및 BL 후보들이, 적용가능하다면, 먼저 인코더 또는 디코더에 의해 체킹된다. 이들 후보 블록들 중 하나가 유효하지 않거나 (예컨대, 손상되었거나) 또는 이용가능하지 않으면, 추가적인 후보 블록 (예컨대, LA) 가 대신에 사용될 수도 있다. L 및 BL 후보 블록들 양측 모두가 유효하면, A 및 RA 후보 블록들이 체킹된다. 이들 후보 블록들 중 하나가 유효하지 않거나 또는 이용가능하지 않다면, LA 후보 블록이 대신에 사용될 수도 있다. A 및 RA 후보 블록들 양측 모두가 유효하면, LA 후보 블록은 사용되지 않을 것이다. 이 실시예에서, LA 후보 블록이 추가적인 후보 블록으로서 사용된다. 그러나, 현재 블록에 대한 임의의 인과적인 위치 (즉, 후보 블록이 이미 코딩되어 있는 현재 블록에 대한 상대적인 위치) 의 임의의 추가적인 후보 블록이 사용될 수도 있다.
다른 실시예에서, 도 5a 에 도시된 모든 후보 블록들이 사용될 것이다. 후보 블록들의 최대 수가 N (여기서, N 은 6 보다 작음) 인 병합 모드에 대해, 체킹 패턴에서 제 1 의 N 개의 이용가능한 후보 블록들이 병합 모드에 대한 후보 블록들로서 사용될 것이다. 도 5a 의 실시예에서는 L - A - RA - BL - LA - T 의 체킹 패턴을 갖는 6 개의 후보 블록들이 있다. 체킹 패턴에서 제 1 의 N 개의 이용가능한 후보 블록들은 병합 모드에 대해 후보 블록들의 마지막 세트를 형성할 것이다. 이 실시예에서, 체킹 패턴이 고정된다. 다른 실시예에서, 체킹 패턴은 블록 사이즈, 파티션 사이즈, 및/또는 파티션 인덱스에 기초하여 선택될 수 있다. 다른 실시예에서, 체킹 패턴은 인코딩 및 디코딩 동안에 적응적으로 업데이트될 수 있다. 업데이트는 이전에 인코딩된/디코딩된 블록들의 병합 인덱스, 모션 벡터 예측 모드, 파티션 사이즈, 파티션 인덱스, 및/또는 모션 벡터 정보 (예컨대, 참조 인덱스, 모션 벡터 차이, 모션 벡터 예측자) 에 의존할 수 있다.
다른 실시예에 따르면, 추가적인 후보 블록을 이용하는 기법들이 또한 AMVP 모드에 적용될 수도 있다. HEVC 표준의 현재 작업 초안에서 AMVP 모드는 도 5a 에 도시된 6 개의 후보 블록들 모두를 체킹하는 것을 이미 허용한다. 그러나, 전술된 바와 같이, 이들 후보 블록들 중 일부는 이용불가능할 수도 있고 또는 무효할 수도 있다. 이러한 경우에 있어서, 추가적인 병합 모드가 정의될 수도 있다. 이러한 병합 후보는 현재 GPU 에 대해 인과적인 임의의 위치에 있을 수도 있다.
도 3 으로 되돌아가면, 인트라 예측 유닛 (46) 은 수신된 블록에 대해 인트라 예측을 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행된 인터 예측에 대한 대안으로서 수행할 수도 있다. 인트라 예측 유닛 (46) 은, 블록들에 대해 좌-우, 상-하 인코딩 순서를 가정하면, 이웃하는 이전에 코딩된 블록들, 예컨대 현재 블록의 상부, 상부 우측, 상부 좌측, 또는 좌측의 블록들에 대해 수신된 블록을 예측할 수도 있다. 인트라 예측 유닛 (46) 은 여러 가지 상이한 인트라 예측 모드들로 구성될 수도 있다. 예를 들어, 인트라 예측 유닛 (46) 은 이코딩되고 있는 CU 의 사이즈에 기초하여 어떤 수의 방향 예측 모드들, 예컨대 34 개의 방향 예측 모드들로 구성될 수도 있다.
인트라 예측 유닛 (46) 은, 예를 들어 다양한 인트라 예측 모드들에 대한 예측 에러 값들을 계산함으로써 그리고 최저 에러 값을 내는 모드를 선택함으로써, 인트라 예측 모드를 선택할 수도 있다. 방향 예측 모드들은 공간적으로 이웃하는 픽셀들의 값들을 조합하고, 그리고 조합된 값들을 PU 에서 하나 이상의 픽셀 위치들에 적용하는 기능들을 포함할 수도 있다. 일단 PU 내의 모든 픽셀 위치들에 대한 값들이 계산되었으면, 인트라 예측 유닛 (46) 은 PU 의 계산된 또는 예측된 값들과 인코딩될 수신된 오리지널 블록 사이의 픽셀 차이들에 기초하여 예측 모드에 대한 에러 값을 계산할 수도 있다. 인트라 예측 유닛 (46) 은 수용가능한 에러 값을 내는 인트라 예측 모드가 발견될 때까지 인트라 예측 모드들을 계속해서 검사할 수도 있다. 인트라 예측 유닛 (46) 은 그 후 PU 를 합산기 (50) 에 전송할 수도 있다.
비디오 인코더 (20) 는 코딩되고 있는 오리지널 비디오 블록으로부터 모션 보상 유닛 (44) 또는 인트라 예측 유닛 (46) 에 의해 계산된 예측 데이터를 감산함으로써 잔차 블록을 형성한다. 합산기 (50)는 이 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 잔차 블록은 픽셀 차이 값들의 2 차원 매트릭스에 대응할 수도 있으며, 잔차 블록에스의 값들의 개수는 잔차 블록에 대응하는 PU 에서의 픽셀들의 개수와 동일하다. 잔차 블록에서의 값들은 PU 내에서와 코딩될 오리지널 블록 내에서의 공동위치된 픽셀들의 값들 사이의 차이들, 즉 에러에 대응할 수도 있다. 이러한 동작은 루마 및 크로마 콤포넌트들 양측 모두에 적응될 수도 있어, 그 차이들은 코딩될 블록의 타입에 따라 크로마 또는 루마 차이들일 수도 있다.
변환 모듈 (52) 은 잔차 블록으로부터 하나 이상의 변환 유닛들 (TU들) 을 형성할 수도 있다. 변환 모듈 (52) 은 복수의 변환들 중에서 변환을 선택한다. 변환은 블록 사이즈, 코딩 모드 등과 같은 하나 이상의 특성들에 기초하여 선택될 수도 있다. 그 후, 변환 모듈 (52) 은 TU 에 선택된 변환을 적용하여, 변환 계수들의 2 차원 어레이를 포함하는 비디오 블록을 생성한다.
변환 모듈 (52) 은 결과적으로 생성된 변환 계수들을 양자화 유닛 (54) 으로 전송할 수도 있다. 그 후, 양자화 유닛 (54) 은 변환 계수들을 양자화한다. 그 후, 엔트로피 인코딩 유닛 (56) 은 스캐닝 모드에 따라 행렬에서 양자화된 변환 계수들의 스캔을 수행할 수도 있다. 본 개시물은 스캔을 수행할 때의 엔트로피 인코딩 유닛 (56) 을 설명한다. 그러나, 다른 실시예들에서, 양자화 유닛 (54) 과 같은 다른 프로세싱 유닛들이 스캔을 수행할 수 있음을 이해해야 한다.
일단 변환 계수들이 1 차원 어레이로 스캐닝되면, 엔트로피 인코딩 유닛 (56) 은 콘텍스트 적응적 가변 길이 코딩 (CAVLC), 콘텍스트 적응적 이진 산술 코딩 (CABAC), 신택스 기반 콘텍스트 적응적 이진 산술 코딩 (SBAC), 또는 다른 엔트로피 코딩 방봅론과 같은 엔트로피 코딩을 계수들에 적용할 수도 있다. 엔트로피 코딩은 또한 병합 모드 및 AMVP 모드에서 이용되는 신택스 엘리먼트들과 같은 신택스 엘리먼트들에 적용될 수도 있다.
CAVLC 를 수행하기 위해, 인코딩 유닛 (56) 은 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC 에서의 코드워드들은, 상대적으로 더 짧은 코드들이 고확률 (more lilkely) 심볼들에 대응하고, 상대적으로 더 긴 코드들이 저확률 (less likely) 심볼들에 대응하도록 구성될 수도 있다. 이 방식으로, VLC 의 사용은, 예를 들어 송신될 각각의 심볼에 대해 동일한 길이의 코드워드들을 사용하는 것 이상으로 비트 절감을 달성할 수도 있다.
CABAC 를 수행하기 위해, 엔트로피 인코딩 유닛 (56) 은 송신될 심볼들을 인코딩하기 위해 어떤 콘텍스트에 적용할 콘텍스트 모델을 선택할 수도 있다. 변환 계수들의 경우에 있어서, 콘텍스트는, 예를 들어 이웃하는 값들이 비제로인지 아닌지와 관련될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 또한 선택된 변환을 나타내는 신호와 같은 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. 본 개시물의 기법들에 따르면, 엔트로피 인코딩 유닛 (56) 은 콘텍스트 모델 선택에 이용되는 다른 인자들 중에서, 예를 들어 인트라 예측 모드들, 신택스 엘리먼트들에 대응하는 계수의 스캔 위치, 블록 타입, 및/또는 변환 타입에 기초하여 이들 신택스 엘리먼트들을 인코딩하는 데 사용되는 콘텍스트 모델을 선택할 수도 있다.
엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 코딩에 이어, 결과로서 생성된 인코딩된 비디오는 비디오 디코더 (30) 와 같은 다른 디바이스에 송신될 수도 있고, 또는 추후 송신 또는 취출을 위해 아카이브될 수도 있다.
몇몇 경우들에 있어서, 비디오 인코더 (20) 의 엔트로피 인코딩 유닛 (56) 또는 다른 유닛은 엔트로피 코딩 외에도 다른 코딩 기능들을 수행하도록 구성될 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 CU들 및 PU들에 대한 코딩된 블록 패턴 (CBP) 값들을 결정하도록 구성될 수도 있다. 또한, 몇몇 경우들에 있어서, 엔트로피 인코딩 유닛 (56) 은 계수들의 런 길이 코딩을 수행할 수도 있다.
역양자화 유닛 (58) 및 역변환 모듈 (60) 은 역양자화 및 역변환을 각각 적용하여, 예컨대 참조 블록을 재구성함에 있어서의 추후 사용을 위해, 픽셀 도메인에서 잔차 블록을 재구성한다. 모션 보상 유닛 (44) 은 참조 프레임 버퍼 (64) 의 프레임들 중 하나로부터 형성된 예측 블록에 잔차 블록을 추가함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 모션 추정에서 사용하기 위한 서브-정수 픽셀 값들을 계산하기 위해, 재구성된 참조 블록에 하나 이상의 보간 필터들을 또한 적용할 수도 있다. 합산기 (62) 는 재구성된 잔차 블록을 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 가산하여, 참조 프레임 버퍼 (64) 에 저장하기 위한 재구성된 비디오 블록을 생성한다. 재구성된 비디오 블록은 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 을 후속하는 비디오 프레임에서의 블록을 인터 코딩하기 위한 참조 블록으로서 사용될 수도 있다.
도 8 은 인코딩된 비디오 시퀀스를 디코딩하는 비디오 디코더 (30) 의 일 실시예를 예시한 블록도이다. 도 8 의 실시예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (70), 모션 보상 유닛 (72), 인트라 예측 유닛 (74), 역양자화 유닛 (76), 역변환 모듈 (78), 참조 프레임 버퍼 (82) 및 합산기 (80) 를 포함한다. 비디오 디코더 (30) 는, 몇몇 실시예들에서, 비디오 인코더 (20) 에 대해 설명된 인코딩 패스 (도 3 참조) 에 일반적으로 역순인 디코딩 패스를 수행할 수도 있다.
엔트로피 디코딩 유닛 (70) 은 변환 계수들의 1 차원 어레이를 취출하기 위해, 인코딩된 비트스트림에 대해 엔트로피 디코딩 프로세스를 수행한다. 이용된 엔트로피 디코딩 프로세스는 비디오 디코더 (20)(예컨대, CABAC, CAVLC 등) 에 의해 사용된 엔트로피 코딩에 의존한다. 인코더에 의해 이용되는 엔트로피 코딩 프로세스는 인코딩된 비트스트림에서 시그널링될 수도 있고, 또는 미리 정해진 프로세스일 수도 있다.
몇몇 실시예들에서, 엔트로피 디코딩 유닛 (70)(또는 역양자화 유닛 (76)) 은 비디오 인코더 (20) 의 엔트로피 인코딩 유닛 (56)(또는 양자화 유닛 (54)) 에 의해 이용된 스캐닝 모드를 미러링하는 스캔을 이용하여, 수신된 값들을 스캔할 수도 있다. 계수들의 스캐닝이 역양자화 유닛 (76) 에서 수행될 수도 있지만, 스캐닝은 예시를 목적으로 엔트로피 디코딩 유닛 (70) 에 의해 수행되는 것으로 설명될 것이다. 추가로, 설명의 용이성을 위해 개별 기능 유닛들로 도시되고 있지만, 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (70), 역양자화 유닛 (76), 및 다른 유닛들의 구조 및 기능성은 서로 고도로 통합될 수도 있다.
역양자화 유닛 (76) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (70) 에 의해 디코딩된 양자화된 변환 계수들을 역양자화, 즉, 탈양자화한다 (dequantize). 역양자화 프로세스는, 예컨대 HEVC 에 대해 제안되거나 또는 H.264 디코딩 표준에 의해 정의된 프로세스들과 유사한 종래의 프로세스를 포함할 수도 있다. 역양자화 프로세스는 양자화의 정도, 및, 마찬가지로, 적용되어야 하는 역양자화의 정도를 결정하기 위해, CU 에 대해 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터 (QP) 의 사용을 포함할 수도 있다. 역양자화 유닛 (76) 은 계수들이 1 차원 어레이로부터 2 차원 어레이로 변환되기 전 또는 변환된 후 변환 계수들을 역양자화할 수도 있다.
역변환 모듈 (78) 은 역양자화된 변환 계수들에 역변환을 적용한다. 몇몇 실시예들에서, 역변환 모듈 (78) 은 비디오 인코더 (20) 로부터의 시그널링에 기초하여, 또는 블록 사이즈, 코딩 모드 등과 같은 하나 이상의 코딩 특성즐로부터 변환을 추론함으로써, 역변환을 결정할 수도 있다. 몇몇 실시예들에서, 역변환 모듈 (78) 은 현재 블록을 포함하는 LCU 에 대한 쿼드트리의 루트 노드에서의 시그널링된 변환에 기초하여 현재 블록에 적용할 변환을 결정할 수도 있다. 대안으로, 변환은 LCU 쿼드트리에서 리프 노드 CU 에 대한 TU 쿼드트리의 루트에서 시그널링될 수도 있다. 몇몇 실시예들에서, 역변환 모듈 (78) 은 역변환 모듈 (78) 이 디코딩되고 있는 현재 블록의 변환 계수들에 2 개 이상의 역변환들을 적용하는, 캐스케이드된 역변환을 적용할 수도 있다.
인트라 예측 유닛 (74) 은 시그널링된 인트라 예측 모드 및 현재 플레임의 이전에 디코딩된 블록으로부터의 데이터에 기초하여 현재 프레임의 현재 블록에 대한 예측 데이터를 생성할 수도 있다.
본 개시물의 실시예들에 따르면, 비디오 디코더 (30) 는, 인코딩된 비트스트림으로부터, 모션 벡터 예측 모드 및 관련 모션 벡터 정보를 식별하는 예측 신택스를 수신할 수도 있다 (예컨대, 도 4a 및 도 4b 와 관련 설명 참조). 특히, 비디오 디코더 (30) 는 후보 블록들의 세트로부터의 후보 블록을 나타내는 인덱스를 수신할 수도 있고, 후보 블록의 세트는 복수의 모드들 각각에 대해 동일하며, 후보 블록과 연관된 정보는 현재 블록에 대한 모션 벡터를 디코딩하는 데 이용된다. 후보 블록들의 세트는 도 5a, 도 5b 또는 도 6 에 도시된 세트들일 수도 있고, 또는 현재 블록에 대해 인과적인 후보 블록들의 임의의 다른 세트일 수도 있다.
신택스 엘리먼트가 병합 모드를 나타내는 경우에 있어서, 비디오 디코더는, 수신된 인덱스를 갖는 후보 블록과 연관된 모션 벡터, 참조 프레임, 및 예측 방향을 취출하도록, 그리고 취출된 모션 벡터, 참조 프레임 및 예측 방향을 이용하여 현재 블록에 대한 인터 예측 프로세스를 수행하도록 추가로 구성된다.
신택스 엘리먼트가 적응적 모션 벡터 예측 (AMVP) 모드를 나타내는 경우에 있어서, 비디오 디코더는 참조 프레임 인덱스, 모션 벡터 차이, 및 예측 방향을 나타내는 신택스 엘리먼트를 수신하도록, 수신된 인덱스를 갖는 후보 블록과 연관된 후보 모션 벡터를 취출하도록, 후보 모션 벡터 및 모션 벡터 차이를 이용하여 현재 블록에 대한 모션 벡터를 계산하도록, 그리고 계산된 모션 벡터, 수신된 참조 프레임 인덱스, 및 수신된 예측 방향을 이용하여 인터 예측 프로세스를 수행하도록 추가로 구성된다.
예측 모드와는 무관하게, 일단 예측 방향, 참조 프레임 인덱스, 및 모션 벡터가 현재 블록에 대해 결정되면, 모션 보상 유닛은 현재 블록에 대한 모션 보상된 블록을 생성한다. 이들 모션 보상된 블록들은 본질적으로 잔차 데이터를 생성하는 데 사용되는 예측 블록을 재생성한다.
모션 보상 유닛 (72) 은 모션 보상된 블록들을 생성하여, 가능하게는 보간 필터들에 기초하여 보간을 수행할 수도 있다. 서브 픽셀 정밀도를 갖는 모션 추정에 사용될 보간 필터들에 대한 식별자들은 신택스 엘리먼트들에 포함될 수도 있다. 모션 보상 유닛 (72) 은 비디오 블록의 인코딩 동안 비디오 인코더 (20) 에 의해 사용되는 것과 같이 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수도 있다. 모션 보상 모듈 (72) 은 수신된 신택스 정보에 따라 비디오 인코더 (20) 에 의해 사용된 보간 필터들을 결정하고, 예측 블록들을 생성하기 위해 보간 필터들을 사용할 수도 있다.
추가로, HEVC 실시예에서, 모션 보상 유닛 (72) 및 인트라 예측 유닛 (74) 은 인코딩된 비디오 시퀀스의 프레임(들)을 인코딩하는 데 사용되는 LCU들의 사이즈들을 결정하기 위해 (쿼드트리에 의해 제공된) 신택스 정보 중 일부를 사용할 수도 있다. 모션 보상 유닛 (72) 및 인트라 예측 유닛 (74) 은 또한 인코딩된 비디오 시퀀스의 프레임의 각각의 CU 가 어떻게 분할되는지 (그리고 마찬가지로 서브 CU들이 어떻게 분할되는지) 를 설명하는 분할 정보를 결정하는 데 신택스 정보를 이용할 수도 있다. 신택스 정보는 또한 각각의 CU 가 어떻게 인코딩되는지를 나타내는 모드들 (예컨대, 인트라 또는 인터 예측, 그리고 인트라 예측에 대해서는, 인트라 예측 인코딩 모드), 각각의 인터 인코딩된 PU 에 대해 하나 이상의 참조 프레임들 (및/또는 참조 프레임들에 대한 식별자들을 포함하는 참조 리스트들), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 포함할 수도 있다.
합산기 (80) 는 디코딩된 블록들을 형성하기 위해 모션 보상 유닛 (72) 또는 인트라 예측 유닛 (74) 에 의해 생성된 대응하는 예측 블록들과 잔차 블록들을 조합한다. 디코딩된 블록들은, 사실상, 양자화 또는 다른 코딩 양태들로 인해 손실된 오리지널로 코딩된 블록들을 재구성한다. 원하는 경우, 블록화 아티팩트들을 제거하도록, 디코딩된 블록들을 필터링하기 위해 디블록화 필터가 또한 적용될 수도 있다. 디코딩된 비디오 블록들은, 그 후, 참조 프레임 버퍼 (82) 에 저장되며, 이러한 버퍼는 후속하는 모션 보상을 위한 참조 블록들을 제공하고 (도 2 의 디스플레이 디바이스 (32) 와 같은) 디스플레이 디바이스 상에서의 프레젠테이션을 위한 디코딩된 비디오를 생성한다.
전술된 바와 같이, 본 개시물의 기법들은 인코더 및 디코더 양측 모두에 적용가능하다. 일반적으로, 그리고 전술된 설명에 따르면, 인코더는 후보 블록들의 동일한 세트를 이용하여, 모션 벡터 예측 프로세스 (예컨대, 병합 모드 및 AMVP 모드) 를 수행한다. 그 후, 디코더는 인코더에 의해 사용된 후보 블록들의 동일한 세트를 이용하여 수신된 신택스 엘리먼트들에 기초하여 모션 벡터를 디코딩할 수도 있다. 모든 모션 벡터 예측 모드들에 대한 후보 블록들을 일원화함으로써, 모션 벡터 정보 (예컨대, 모션 벡터, 예측 방향, 참조 프레임 인덱스들 등) 를 저장하는 데 필요한 메모리의 양이 감소한다. 이들 후보 블록들로부터 모션 벡터 정보를 취출하는 데 있어서의 메모리 대역폭 요건이 또한 감소할 수 있다.
도 9 는 도 3 의 비디오 인코더 (20) 와 같은 비디오 인코더에 의해 수행될 수도 있는, 비디오를 인코딩하는 예시적 방법을 예시한 흐름도이다. 비디오 인코더 (20) 는 비디오 데이터의 현재 블록에 대해 참조 프레임에 대한 모션 벡터를 결정하도록 구성될 수도 있다 (900). 비디오 인코더 (20) 는 또한 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나 (예컨대, 병합 모드 또는 AMVP) 를 결정할 수도 있고 (901), 결정된 모드 및 후보 블록들의 세트를 이용하여 비디오 데이터의 현재 블록에 대한 모션 벡터 예측 프로세스를 수행할 수도 있다. 후보 블록들의 세트는 복수의 모드들 각각에 대해 동일하다.
복수의 모드들은 병합 모드 및 적응적 모션 벡터 예측 모드를 포함할 수도 있다. 도 10 은 모션 벡터 예측 프로세스가 병합 모드에 있을 때 비디오를 인코딩하는 예시적 방법을 예시한다. 이 경우에 있어서, 비디오 인코더는, 일단 그의 모션 벡터, 참조 프레임, 및 예측 방향이 현재 블록에 복제되면 만족스러운 율왜곡 성능을 내는, 후보 블록들의 세트로부터의 후보 모션 벡터를 결정하도록 (1001) 그리고 후보 모션 벡터를 식별하는 인덱스를 시그널링하도록 (1002) 추가로 구성된다.
일 실시예에서, 후보 블록들의 세트는 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함할 수도 있다. 좌측 후보 블록은 현재 블록의 좌측 에지에 인접해 있고, 좌측 후보 블록의 위쪽 에지는 현재 블록의 위쪽 에지와 정렬된다. 상부 후보 블록은 현재 블록의 위쪽 에지에 인접해 있고, 상부 후보 블록의 좌측 에지는 현재 블록의 좌측 에지와 정렬된다.
다른 실시예에서, 좌측 후보 블록은 현재 블록의 좌측 에지에 인접해 있고, 좌측 후보 블록의 아래쪽 에지는 현재 블록의 아래쪽 에지와 정렬된다. 상부 후보 블록은 현재 블록의 위쪽 에지에 인접해 있고, 상부 후보 블록의 우측 에지는 현재 블록의 우측 에지와 정렬된다.
다른 실시예에서, 후보 블록들의 세트는 좌측 상부 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함한다.
도 11 은 모션 벡터 예측 프로세스가 AMVP 모드에 있을 때 비디오를 인코딩하는 예시적 방법을 예시한다. 이 경우에 있어서, 비디오 인코더는, 후보 블록들의 세트에서의 각각의 후보 블록으로부터 후보 모션 벡터를 결정하도록 (1101), 그리고 체킹 패턴에 따라, 현재 블록에 대한 모션 벡터와 후보 블록들 각각으로부터의 후보 모션 벡터 사이의 모션 벡터 차이를 계산하도록 (1102) 구성된다. 비디오 인코더는 또한, 계산된 모션 벡터 차이들에 기초하여 후보 모션 벡터들 중 하나를 선택하고 (1103), 후보 모션 벡터들 중 선택된 하나를 갖는 후보 블록을 식별하는 인덱스를 시그널링하고 후보 모션 벡터들 중 선택된 하나에 대해 계산된 모션 벡터 차이를 시그널링하고 참조 프레임을 시그널링하고 예측 방향을 시그널링하도록 (1104) 구성된다.
일 실시예에서, 후보 블록들의 세트는 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함한다. 이 실시예에서, 체킹 패턴은 다음 순서로 진행한다: 하부 좌측 후보 블록, 좌측 후보 블록, 우측 상부 후보 블록, 상부 후보 블록, 시간적 후보 블록.
다른 실시예에서, 후보 블록들의 세트는 좌측 상부 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함한다. 체킹 패턴은 다음 순서로 진행한다: 좌측 후보 블록, 하부 좌측 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 상부 후보 블록, 시간적 후보 블록.
도 12 는 도 3 의 비디오 디코더 (30) 와 같은 비디오 디코더에 의해 수행될 수도 있는, 비디오를 디코딩하는 예시적 방법을 예시한 흐름도이다. 비디오 디코더 (30) 는, 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 나타내는 신택스 엘리먼트를 수신하도록 (1201), 그리고 후보 블록들의 세트로부터 후보 블록을 나타내는 인덱스를 수신하도록 (1202) 구성될 수도 있으며, 후보 블록들의 세트는 복수의 모드들 중 각각에 대해 동일하고, 후보 블록과 관련된 정보는 현재 블록에 대한 모션 벡터를 디코딩하는 데 이용된다. 복수의 모드들은 병합 모드 및 적응적 모션 벡터 예측 모드를 포함할 수도 있다.
도 13 은 모션 벡터 예측 프로세스가 병합 모드인 경우에 비디오를 디코딩하는 예시적 방법을 예시한 흐름도이다. 이 경우에 있어서, 비디오 디코더는, 수신된 인덱스를 갖는 후보 블록과 연관된 모션 벡터, 참조 프레임, 및 예측 방향을 취출하도록 (1301), 그리고 취출된 모션 벡터, 참조 프레임 및 예측 방향을 이용하여 현재 블록에 대한 인터 예측 프로세스를 수행하도록 (1302) 추가로 구성된다.
일 실시예에서, 후보 블록들의 세트는 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함한다. 좌측 후보 블록은 현재 블록의 좌측 에지에 인접해 있고, 좌측 후보 블록의 위쪽 에지는 현재 블록의 위쪽 에지와 정렬된다. 상부 후보 블록은 현재 블록의 위쪽 에지에 인접해 있고, 상부 후보 블록의 좌측 에지는 현재 블록의 좌측 에지와 정렬된다.
다른 실시예에서, 좌측 후보 블록은 현재 블록의 좌측 에지에 인접해 있고, 좌측 후보 블록의 아래쪽 에지는 현재 블록의 아래쪽 에지와 정렬된다. 상부 후보 블록은 현재 블록의 위쪽 에지에 인접해 있고, 상부 후보 블록의 우측 에지는 현재 블록의 우측 에지와 정렬된다.
다른 실시예에서, 후보 블록들의 세트는 좌측 상부 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함한다.
도 14 는 모션 벡터 예측 프로세스가 AMVP 모드인 경우에 비디오를 디코딩하는 예시적 방법을 예시한 흐름도이다. 이 경우에 있어서, 비디오 디코더는, 참조 프레임 인덱스, 모션 벡터 차이, 및 예측 방향을 나타내는 신택스 엘리먼트를 수신하도록 (1401), 그리고 수신된 인덱스를 갖는 후보 블록과 연관된 후보 모션 벡터를 취출하도록 (1402) 구성된다. 비디오 디코더는 후보 모션 벡터 및 모션 벡터 차이를 이용하여 현재 블록에 대한 모션 벡터를 계산하도록 (1403), 그리고 계산된 모션 벡터, 수신된 참조 프레임 인덱스, 및 수신된 예측 방향을 이용하여 인터 예측 프로세스를 수행하도록 (1404) 추가로 구성된다.
일 실시예에서, 후보 블록들의 세트는 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함하며, 후보 블록들의 세트에 대한 체킹 패턴은 다음 순서로 진행한다: 하부 좌측 후보 블록, 좌측 후보 블록, 우측 상부 후보 블록, 상부 후보 블록, 시간적 후보 블록.
다른 실시예에서, 후보 블록들의 세트는 좌측 상부 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 후보 블록, 하부 좌측 후보 블록, 및 시간적 후보 블록을 포함하며, 후보 블록들의 세트에 대한 체킹 패턴은 다음 순서로 진행한다: 좌측 후보 블록, 하부 좌측 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 상부 후보 블록, 시간적 후보 블록.
도 15 는 도 3 의 비디오 인코더 (20) 와 같은 비디오 인코더에 의해 수행될 수도 있는, 비디오를 인코딩하는 다른 예시적 방법을 예시한 흐름도이다. 비디오 인코더 (20) 는 비디오 데이터의 현재 블록에 대해 참조 프레임에 대한 모션 벡터를 결정하도록 (1501), 비디오 데이터의 현재 블록에 대한 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 결정하도록 (1502), 그리고, 결정된 모드 및 후보 블록들의 세트를 이용하여 현재 블록에 대해 모션 벡터 예측 프로세스를 수행하도록 구성될 수도 있으며, 후보 블록들의 세트는 복수의 모드들 각각에 대해 동일하고, 후보 블록들의 세트에서의 하나의 후보 블록은 추가적인 후보 블록으로서 지정된다 (1503). 추가적인 후보 블록은 후보 블록들의 세트 중의 다른 후보 블록이 이용불가능한 경우에 이용된다. 비디오 인코더 (20) 는 병합 인덱스, 결정된 모드, 파티션 사이즈, 참조 프레임 인덱스, 모션 벡터 차이, 및 모션 벡터 예측 중 하나 이상에 기초하여 체킹 패턴을 업데이트하도록 (1504) 추가로 구성될 수도 있다.
복수의 모드들은 병합 모드 및 적응적 모션 벡터 예측 모드를 포함할 수도 있다. 병합 모드는 모션 벡터 예측 프로세스를 수행하는 데 있어서의 사용을 위해 최대 N 개의 후보 블록들을 가질 수도 있다. 그 경우에 있어서, 모션 벡터 예측 프로세스는 체킹 패턴에 따라 수행되며, 체킹 패턴은 후보 블록들의 세트에서 후보 블록들 각각을 체킹하는 순서를 정의한다. 후보 블록들의 세트는 체킹 패턴을 따라 후보 블록들의 세트에서 제 1 의 N 개의 이용가능한 후보 블록들로서 정의된다. 체킹 패턴은 블록 사이즈, 파티션 사이즈, 및/또는 파티션 인덱스 중 하나 이상에 기초할 수도 있다. 더 구체적으로, 예를 들어, 각각의 상이한 블록 사이즈, 파티션 사이즈 또는 파티션 인덱스에 대한 체킹 패턴이 동일한 블록 사이즈, 파티션 사이즈 또는 파티션 인덱스 등을 갖는 다수의 이전에 코딩된 블록들에서의 후보 선택의 통계에 기초하여 업데이트되거나 또는 수정될 수 있다.
다른 실시예에서, 후보 블록들의 세트는 하부 좌측 후보 블록, 좌측 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 상부 후보 블록, 및 시간적 후보 블록을 포함한다. 이 실시예에서, 추가적인 후보 블록은 좌측 상부 후보 블록이다. 그러나, 추가적인 후보 블록은 현재 블록에 대해 인과적인 관계에 있는 임의의 후보 블록일 수도 있다.
도 16 는 도 3 의 비디오 디코더 (30) 와 같은 비디오 디코더에 의해 수행될 수도 있는, 비디오를 디코딩하는 예시적 방법을 예시한 흐름도이다. 비디오 디코더 (30) 는, 비디오 데이터의 현재 블록에 대해 모션 벡터 예측 프로세스에 대한 복수의 모드들 중 하나를 나타내는 신택스 엘리먼트를 수신하도록 (1601), 그리고 후보 블록들의 세트로부터 후보 블록을 나타내는 인덱스를 수신하도록 구성될 수도 있으며, 후보 블록들의 세트는 복수의 모드들 중 각각에 대해 동일하고, 후보 블록들의 세트에서의 하나의 후보 블록과 관련된 정보는 추가적인 후보 블록으로서 지정된다 (1602). 추가적인 후보 블록은 후보 블록들의 세트 중의 다른 후보 블록이 이용불가능한 경우에 이용된다. 후보 블록과 연관된 정보는 현재 블록에 대한 모션 벡터를 디코딩하는 데 이용된다.
복수의 모드들은 병합 모드 및 적응적 모션 벡터 예측 모드를 포함할 수도 있다. 도 17 은 수신된 신택스 엘리먼트가, 병합 모드가 이용됨을 나타내는 경우에 있어서 디코딩하는 방법을 묘사한다. 이 경우에 있어서, 비디오 디코더는, 수신된 인덱스를 갖는 후보 블록과 연관된 모션 벡터, 참조 프레임, 및 예측 방향을 취출하도록 (1701), 그리고 취출된 모션 벡터, 참조 프레임 및 예측 방향을 이용하여 현재 블록에 대한 인터 예측 프로세스를 수행하도록 (1702) 추가로 구성된다.
병합 모드는 모션 벡터 예측 프로세스를 수행하는 데 있어서의 사용을 위해 최대 N 개의 후보 블록들을 갖는 것으로 정의될 수도 있다. 이 경우에 있어서, 모션 벡터 예측 프로세스는 체킹 패턴에 따라 수행될 수도 있으며, 체킹 패턴은 후보 블록들의 세트에서 후보 블록들 각각을 체킹하는 순서를 정의한다. 후보 블록들의 세트는 체킹 패턴을 따라 후보 블록들의 세트에서 제 1 의 N 개의 이용가능한 후보 블록들로서 정의된다. 체킹 패턴은 블록 사이즈, 파티션 사이즈, 및/또는 파티션 인덱스 중 하나 이상에 기초한다.
다른 실시예에서, 병합 모드 및 AMVP 모드 양측 모드에 대해, 후보 블록들의 세트는 하부 좌측 후보 블록, 좌측 후보 블록, 상부 후보 블록, 우측 상부 후보 블록, 좌측 상부 후보 블록, 및 시간적 후보 블록을 포함할 수도 있다. 추가적인 후보 블록은 좌측 상부 후보 블록이다. 그러나, 추가적인 후보 블록은 현재 블록에 대해 인과적인 관계에 있는 임의의 후보 블록일 수도 있다.
도 18 은 수신된 신택스 엘리먼트가, AMVP 모드가 이용됨을 나타내는 경우에 있어서 디코딩하는 방법을 묘사한다. 이 경우에 있어서, 비디오 디코더는, 참조 프레임 인덱스, 모션 벡터 차이, 및 예측 방향을 나타내는 신택스 엘리먼트를 수신하도록 (1801), 그리고 수신된 인덱스를 갖는 후보 블록과 연관된 후보 모션 벡터를 취출하도록 (1802) 추가로 구성된다. 비디오 디코더는 후보 모션 벡터 및 모션 벡터 차이를 이용하여 현재 블록에 대한 모션 벡터를 계산하도록 (1803), 그리고 계산된 모션 벡터, 수신된 참조 프레임 인덱스, 및 수신된 예측 방향을 이용하여 인터 예측 프로세스를 수행하도록 (1804) 추가로 구성된다.
하나 이상의 실시예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 또는 컴퓨터 판독가능 매체를 통해 송신될 수도 있으며, 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은, 데이터 저장 매체들과 같은 유형의 매체, 또는 예를 들어, 통신 프로토콜에 따라, 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체들에 대응하는 컴퓨터 판독가능 저장 매체들을 포함할 수도 있다. 이 방식으로, 컴퓨터 판독가능 매체들은, 일반적으로 (1) 비일시적인 유형적 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은, 본 개시물에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다.
비제한적인 예로서, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 스토리지 디바이스들, 플래시 메모리, 또는 희망하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는 데 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체들을 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비일시적인 유형적 저장 매체들을 가리킨다는 점을 이해해야 한다. 본 명세서에서 이용된 디스크 (disk) 와 디스크 (disc) 는, 콤팩트디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범주 내에 포함되어야 한다.
명령들은, 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적 회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본 명세서에서 사용된 용어 "프로세서" 는 임의의 앞서 설명된 구조 또는 본 명세서에서 설명된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 추가로, 몇몇 양태들에서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈 내에 제공될 수도 있고, 또는 결합형 코덱에 통합될 수도 있다. 또한, 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시물의 기법들은, 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예컨대, 칩셋) 를 포함하는 매우 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 콤포넌트들, 모듈들, 또는 유닛들이 본 개시물에서는 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의해 실현될 필요는 없다. 오히려, 전술된 바와 같이, 다양한 유닛들은, 적절한 소프트웨어 및/또는 펌웨어와 연계하여, 코덱 하드웨어 유닛에 통합되거나 또는 상술한 하나 이상의 프로세서들을 포함하여 상호 동작적인 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 실시예들이 설명되었다. 이들 및 다른 실시예들은 다음의 청구범위의 범주 내에 있다.

Claims (1)

  1. 본원 발명의 상세한 설명에 기재된 발명
KR1020177002749A 2011-06-20 2012-06-05 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택 KR20170016994A (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161499114P 2011-06-20 2011-06-20
US61/499,114 2011-06-20
US201161506558P 2011-07-11 2011-07-11
US61/506,558 2011-07-11
US201161509007P 2011-07-18 2011-07-18
US61/509,007 2011-07-18
US13/487,914 2012-06-04
US13/487,914 US9131239B2 (en) 2011-06-20 2012-06-04 Unified merge mode and adaptive motion vector prediction mode candidates selection
PCT/US2012/040927 WO2012177387A1 (en) 2011-06-20 2012-06-05 Unified merge mode and adaptive motion vector prediction mode candidates selection

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147001428A Division KR102010097B1 (ko) 2011-06-20 2012-06-05 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택

Publications (1)

Publication Number Publication Date
KR20170016994A true KR20170016994A (ko) 2017-02-14

Family

ID=47353635

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020177002749A KR20170016994A (ko) 2011-06-20 2012-06-05 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택
KR1020147001429A KR20140017020A (ko) 2011-06-20 2012-06-05 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택
KR1020147001428A KR102010097B1 (ko) 2011-06-20 2012-06-05 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020147001429A KR20140017020A (ko) 2011-06-20 2012-06-05 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택
KR1020147001428A KR102010097B1 (ko) 2011-06-20 2012-06-05 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택

Country Status (18)

Country Link
US (2) US9282338B2 (ko)
EP (2) EP2721817B1 (ko)
JP (4) JP2014520484A (ko)
KR (3) KR20170016994A (ko)
CN (2) CN103609123B (ko)
AU (2) AU2012273398B2 (ko)
BR (2) BR112013032601B1 (ko)
CA (2) CA2838839C (ko)
DK (1) DK2721817T3 (ko)
ES (1) ES2908241T3 (ko)
HU (1) HUE058080T2 (ko)
IL (2) IL229716A (ko)
MX (2) MX339025B (ko)
MY (2) MY181631A (ko)
SG (1) SG195213A1 (ko)
SI (1) SI2721817T1 (ko)
UA (1) UA111971C2 (ko)
WO (2) WO2012177388A1 (ko)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104270636B (zh) 2009-05-29 2018-11-09 三菱电机株式会社 图像编码装置以及图像编码方法
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
WO2011146451A1 (en) * 2010-05-20 2011-11-24 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
EP3907999B1 (en) 2010-09-02 2023-11-22 LG Electronics, Inc. Inter prediction
CN103444181B (zh) 2011-04-12 2018-04-20 太阳专利托管公司 运动图像编码方法、运动图像编码装置、运动图像解码方法、运动图像解码装置及运动图像编码解码装置
KR102015674B1 (ko) 2011-05-24 2019-08-28 벨로스 미디어 인터내셔널 리미티드 화상 부호화 방법, 화상 부호화 장치, 화상 복호 방법, 화상 복호 장치, 및, 화상 부호화 복호 장치
EP2717575B1 (en) 2011-05-27 2018-10-10 Sun Patent Trust Image decoding method and image decoding device
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
CA2834191C (en) 2011-05-31 2019-04-09 Panasonic Corporation Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
JP2013005077A (ja) * 2011-06-14 2013-01-07 Sony Corp 画像処理装置および方法
KR20120140592A (ko) 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
WO2012177052A2 (ko) 2011-06-21 2012-12-27 한국전자통신연구원 인터 예측 방법 및 그 장치
HUE063217T2 (hu) 2011-06-27 2024-01-28 Samsung Electronics Co Ltd Eljárás mozgásinformáció dekódolásához és kódolásához, berendezés mozgásinformáció kódolásához és számítógéppel olvasható eszköz
KR102490375B1 (ko) 2011-06-28 2023-01-19 엘지전자 주식회사 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치
US20130003850A1 (en) 2011-06-30 2013-01-03 Toshiyasu Sugio Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN107071403B (zh) * 2011-06-30 2019-09-24 Jvc建伍株式会社 图像编码装置、图像编码方法、图像解码装置及图像解码方法
EP2741499A4 (en) 2011-08-03 2014-12-10 Panasonic Ip Corp America VIDEO CODING METHOD, VIDEO CODING METHOD, VIDEO CODING DEVICE, VIDEO ENCODING DEVICE AND VIDEO ENCODING / DECODING DEVICE
JP5958165B2 (ja) * 2011-08-12 2016-07-27 株式会社Jvcケンウッド 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
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
CN103765886B (zh) 2011-08-29 2017-06-13 苗太平洋控股有限公司 以amvp模式产生预测区块的方法
KR101999869B1 (ko) 2011-10-19 2019-07-12 선 페이턴트 트러스트 화상 부호화 방법, 화상 부호화 장치, 화상 복호 방법, 및, 화상 복호 장치
WO2013056656A1 (en) 2011-10-19 2013-04-25 Mediatek Inc. Method and apparatus for derivation of motion vector predictor candidate set
KR20130050405A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
EP3576412B1 (en) * 2011-11-08 2021-09-01 Nokia Technologies Oy Reference picture handling
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
WO2013107028A1 (en) * 2012-01-19 2013-07-25 Mediatek Singapore Pte. Ltd. Methods and apparatuses of amvp simplification
US9729873B2 (en) 2012-01-24 2017-08-08 Qualcomm Incorporated Video coding using parallel motion estimation
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9426463B2 (en) 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US20130235926A1 (en) * 2012-03-07 2013-09-12 Broadcom Corporation Memory efficient video parameter processing
US9338451B2 (en) 2012-04-12 2016-05-10 Qualcomm Incorporated Common spatial candidate blocks for parallel motion estimation
US20130272412A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Common motion information candidate list construction process
CN107454426A (zh) * 2012-07-27 2017-12-08 寰发股份有限公司 三维视频编码或解码方法
US9344742B2 (en) * 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
KR101650742B1 (ko) * 2012-09-28 2016-08-24 인텔 코포레이션 인터-레이어 인트라 모드 예측
KR102186605B1 (ko) * 2012-09-28 2020-12-03 삼성전자주식회사 다시점 영상 부호화/복호화 장치 및 방법
CN102883163B (zh) * 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
JP5983430B2 (ja) * 2013-01-25 2016-08-31 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
JP5776712B2 (ja) * 2013-03-06 2015-09-09 株式会社Jvcケンウッド 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5776713B2 (ja) * 2013-03-06 2015-09-09 株式会社Jvcケンウッド 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5776711B2 (ja) * 2013-03-06 2015-09-09 株式会社Jvcケンウッド 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5776714B2 (ja) * 2013-03-06 2015-09-09 株式会社Jvcケンウッド 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
US9565454B2 (en) 2013-06-24 2017-02-07 Microsoft Technology Licensing, Llc Picture referencing control for video decoding using a graphics processor
TW201501511A (zh) * 2013-06-25 2015-01-01 Hon Hai Prec Ind Co Ltd 框內預測方法及系統
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
US10178398B2 (en) * 2013-10-11 2019-01-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
CA2929816C (en) 2013-11-06 2018-03-13 Watt Fuel Cell Corp. Chemical reactor with manifold for management of a flow of gaseous reaction medium thereto
TWI538487B (zh) * 2013-12-05 2016-06-11 財團法人工業技術研究院 螢幕視訊之預測編碼的方法與系統
BR112016017201B1 (pt) * 2014-01-29 2023-09-26 Hfi Innovation Inc Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo
US10631005B2 (en) 2014-04-21 2020-04-21 Qualcomm Incorporated System and method for coding in block prediction mode for display stream compression (DSC)
US10666968B2 (en) 2014-05-06 2020-05-26 Hfi Innovation Inc. Method of block vector prediction for intra block copy mode coding
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
JP5854110B2 (ja) * 2014-10-30 2016-02-09 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
KR20170078672A (ko) 2014-10-31 2017-07-07 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
KR102466902B1 (ko) 2014-10-31 2022-11-14 삼성전자주식회사 움직임 벡터 부복호화 방법 및 장치
US9883187B2 (en) 2015-03-06 2018-01-30 Qualcomm Incorporated Fast video encoding method with block partitioning
JP5999230B2 (ja) * 2015-07-08 2016-09-28 株式会社Jvcケンウッド 受信装置
CN109274974B (zh) * 2015-09-29 2022-02-11 华为技术有限公司 图像预测的方法及装置
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
JP6036976B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
JP6036977B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
JP6036974B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
JP6036975B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
WO2017118409A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
CN105635736B (zh) * 2016-03-14 2018-11-13 杭州电子科技大学 一种简单快速的合并方法
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
CN116506596A (zh) * 2016-08-03 2023-07-28 株式会社Kt 视频解码方法、视频编码方法和视频数据的传送方法
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
CN106375764B (zh) * 2016-08-31 2018-04-10 中国科学技术大学 一种结合方向预测和块复制预测的视频帧内编码方法
CN106254884B (zh) * 2016-09-30 2019-06-28 福州瑞芯微电子股份有限公司 基于h265编码的帧间预测方法和编码器ip
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
JP6288209B2 (ja) * 2016-10-24 2018-03-07 株式会社Jvcケンウッド 画像符号化装置
CN110574377B (zh) * 2017-05-10 2021-12-28 联发科技股份有限公司 用于视频编解码的重新排序运动向量预测候选集的方法及装置
WO2018226066A1 (ko) * 2017-06-09 2018-12-13 엘지전자 주식회사 영상 코딩 시스템에서 어파인 예측에 따른 영상 디코딩 방법 및 장치
US10911769B2 (en) * 2017-06-23 2021-02-02 Qualcomm Incorporated Motion-based priority for the construction of candidate lists in video coding
US10523961B2 (en) 2017-08-03 2019-12-31 Samsung Electronics Co., Ltd. Motion estimation method and apparatus for plurality of frames
CN109510991B (zh) * 2017-09-15 2021-02-19 浙江大学 一种运动矢量导出方法及装置
US11877001B2 (en) 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
US10523948B2 (en) * 2018-02-05 2019-12-31 Tencent America LLC Method and apparatus for video coding
KR102444294B1 (ko) * 2018-05-10 2022-09-16 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN108810549B (zh) * 2018-06-06 2021-04-27 天津大学 一种面向低功耗的流媒体播放方法
WO2020003274A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
MX2020013828A (es) 2018-06-29 2021-03-25 Beijing Bytedance Network Tech Co Ltd Interaccion entre lut y amvp.
TWI752331B (zh) 2018-06-29 2022-01-11 大陸商北京字節跳動網絡技術有限公司 當向Merge/AMVP添加HMVP候選時的部分/完全修剪
CN115134599A (zh) 2018-06-29 2022-09-30 抖音视界有限公司 更新查找表(lut)的条件
TWI723444B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 使用一個或多個查找表來按順序存儲先前編碼的運動信息並使用它們來編碼後面的塊的概念
CN110662057B (zh) * 2018-06-29 2022-06-21 北京字节跳动网络技术有限公司 视频处理方法、装置、设备以及存储比特流的方法
BR112020024202A2 (pt) 2018-06-29 2021-02-17 Beijing Bytedance Network Technology Co., Ltd. método de processamento de dados de vídeo, aparelho de processamento de vídeo e meios de armazenamento e gravação legíveis por computador não transitório
EP3791589A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Which lut to be updated or no updating
JP7181395B2 (ja) 2018-07-02 2022-11-30 北京字節跳動網絡技術有限公司 イントラ予測モードを有するルックアップテーブルおよび非隣接ブロックからのイントラモード予測
US11051010B2 (en) * 2018-07-18 2021-06-29 Mediatek Inc. Merge candidates with multiple hypothesis
WO2020017910A1 (ko) * 2018-07-18 2020-01-23 한국전자통신연구원 지역 조명 보상을 통한 효과적인 비디오 부호화/복호화 방법 및 장치
WO2020015706A1 (en) 2018-07-18 2020-01-23 Mediatek Inc. Method and apparatus of motion compensation bandwidth reduction for video coding system utilizing multi-hypothesis
CN116708815A (zh) * 2018-08-09 2023-09-05 Lg电子株式会社 编码设备、解码设备和数据发送设备
US11089297B2 (en) 2018-08-31 2021-08-10 Hulu, LLC Historical motion vector prediction with reset list
CN110891180B (zh) * 2018-09-10 2023-11-17 华为技术有限公司 视频解码方法及视频解码器
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
US11997311B2 (en) 2018-09-17 2024-05-28 Hfi Innovation Inc. Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
US11558622B2 (en) * 2018-10-09 2023-01-17 Samsung Electronics Co., Ltd. Video decoding method and apparatus, and video encoding method and apparatus involving sub-block merge index context and bypass model
US11758164B2 (en) * 2018-10-23 2023-09-12 Tencent America LLC Method and apparatus for video coding
US10917636B2 (en) * 2018-12-03 2021-02-09 Tencent America LLC Method and apparatus for video coding
CN116684589A (zh) * 2018-12-12 2023-09-01 Lg电子株式会社 图像编解码设备和视频信号发送设备
TWI720753B (zh) * 2018-12-21 2021-03-01 聯發科技股份有限公司 簡化的三角形合併模式候選列表導出的方法以及裝置
US11032574B2 (en) 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
US11025951B2 (en) * 2019-01-13 2021-06-01 Tencent America LLC Method and apparatus for video coding
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69217150T2 (de) 1991-09-30 1997-07-17 Philips Electronics Nv Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
JP3800640B2 (ja) 1995-07-04 2006-07-26 ソニー株式会社 画像情報の動き検出方法及びその装置、画像情報の符号化方法及びその装置、画像情報伝送システム、画像情報記録システム並びに記録媒体
US6519287B1 (en) 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
US6289052B1 (en) * 1999-06-07 2001-09-11 Lucent Technologies Inc. Methods and apparatus for motion estimation using causal templates
US6968008B1 (en) * 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
EP1294194B8 (en) 2001-09-10 2010-08-04 Texas Instruments Incorporated Apparatus and method for motion vector estimation
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US7075257B2 (en) * 2002-10-18 2006-07-11 Black & Decker Inc. Method and device for braking a motor
NO318167B1 (no) * 2002-11-27 2005-02-14 Tandberg Telecom As Vektorprediksjon
JP4474288B2 (ja) 2003-01-10 2010-06-02 トムソン ライセンシング 符号化された画像における誤り隠蔽のための補間フィルタの定義
CN100594730C (zh) 2003-06-25 2010-03-17 汤姆森许可贸易公司 帧间的快速模式确定编码方法及其装置
WO2005002233A1 (en) * 2003-06-27 2005-01-06 Koninklijke Philips Electronics N.V. Method of encoding for handheld apparatuses
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7400681B2 (en) 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
JP4213646B2 (ja) 2003-12-26 2009-01-21 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム。
FR2868579A1 (fr) 2004-03-30 2005-10-07 St Microelectronics Sa Procede et dispositif de generation de vecteurs candidats pour les systemes d'interpolation d'images par estimation et compensation de mouvement
JP2006020095A (ja) 2004-07-01 2006-01-19 Sharp Corp 動きベクトル検出回路、画像符号化回路、動きベクトル検出方法および画像符号化方法
US20080192827A1 (en) 2005-04-12 2008-08-14 Koninklijke Philips Electronics, N.V. Video Processing With Region-Based Multiple-Pass Motion Estimation And Update Of Temporal Motion Vector Candidates
US8913660B2 (en) * 2005-04-14 2014-12-16 Fastvdo, Llc Device and method for fast block-matching motion estimation in video encoders
JP2009522972A (ja) * 2006-01-09 2009-06-11 ノキア コーポレイション スケーラブルなビデオ符号化におけるエラー耐性を有するモード決定
CN103747263B (zh) * 2006-04-28 2017-03-01 株式会社Ntt都科摩 图像预测编码装置和方法以及图像预测解码装置和方法
KR100856223B1 (ko) * 2006-10-19 2008-09-03 삼성전자주식회사 H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법
FR2907989B1 (fr) * 2006-10-27 2009-01-16 Actimagine Sarl Procede et dispositif d'optimisation de la compression d'un flux video
WO2008120577A1 (ja) * 2007-03-29 2008-10-09 Kabushiki Kaisha Toshiba 画像符号化及び復号化の方法及び装置
US8422803B2 (en) * 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
EP2232877B1 (en) * 2008-01-10 2018-08-08 Thomson Licensing DTV Methods and apparatus for illumination compensation of intra-predicted video
BRPI0915821A2 (pt) * 2008-07-10 2015-11-10 Mitsubishi Electric Corp dispositivos codificador e decodificador de imagem, e, métodos de codificação e de decodificação de imagem.
US8724697B2 (en) 2008-09-26 2014-05-13 Qualcomm Incorporated Locating motion vectors for video data units
TWI382770B (zh) * 2008-12-11 2013-01-11 Univ Nat Taiwan 視訊影像傳輸中遇到封包遺失時的有效選取方法
EP2443835B1 (fr) 2009-06-19 2017-04-05 Orange Codage de vecteurs mouvement par compétition de prédicteurs
US8665964B2 (en) 2009-06-30 2014-03-04 Qualcomm Incorporated Video coding based on first order prediction and pre-defined second order prediction mode
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US9277227B2 (en) * 2009-10-22 2016-03-01 Thomas Licensing Methods and apparatus for DC intra prediction mode for video encoding and decoding
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
EP2536151A4 (en) * 2010-02-10 2014-03-19 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING A VIDEO SIGNAL
US8588303B2 (en) * 2010-03-31 2013-11-19 Futurewei Technologies, Inc. Multiple predictor sets for intra-frame coding
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
EP3907999B1 (en) * 2010-09-02 2023-11-22 LG Electronics, Inc. Inter prediction
JP5855570B2 (ja) 2010-09-30 2016-02-09 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
EP3833025A1 (en) * 2010-10-08 2021-06-09 GE Video Compression, LLC Picture coding supporting block partitioning and block merging
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
WO2012097376A1 (en) * 2011-01-14 2012-07-19 General Instrument Corporation Spatial block merge mode
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
EP3139611A1 (en) * 2011-03-14 2017-03-08 HFI Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
US9762900B2 (en) * 2011-06-17 2017-09-12 Lg Electronics Inc. Method and apparatus for encoding/decoding video in intra prediction mode

Also Published As

Publication number Publication date
EP2721817A1 (en) 2014-04-23
CA2839249A1 (en) 2012-12-27
MX2013014929A (es) 2014-02-11
BR112013032110A2 (pt) 2016-12-13
JP2014520484A (ja) 2014-08-21
SI2721817T1 (sl) 2022-04-29
AU2012273398B2 (en) 2015-11-19
CN103609123B (zh) 2017-02-15
AU2012273399A1 (en) 2014-01-09
JP2016096550A (ja) 2016-05-26
IL229718A (en) 2017-05-29
WO2012177388A1 (en) 2012-12-27
WO2012177387A1 (en) 2012-12-27
MY168369A (en) 2018-10-31
EP2721818A1 (en) 2014-04-23
KR20140024954A (ko) 2014-03-03
US20120320969A1 (en) 2012-12-20
BR112013032110B1 (pt) 2022-05-17
SG195213A1 (en) 2013-12-30
CN103609121A (zh) 2014-02-26
MY181631A (en) 2020-12-30
JP5893729B2 (ja) 2016-03-23
BR112013032601A2 (pt) 2017-08-01
JP6254136B2 (ja) 2017-12-27
CN103609121B (zh) 2017-09-01
AU2012273398A1 (en) 2014-01-09
MX2013014932A (es) 2014-02-11
HUE058080T2 (hu) 2022-07-28
JP2016076944A (ja) 2016-05-12
EP2721817B1 (en) 2022-02-09
US9282338B2 (en) 2016-03-08
KR102010097B1 (ko) 2019-08-12
UA111971C2 (uk) 2016-07-11
CA2838839A1 (en) 2012-12-27
US9131239B2 (en) 2015-09-08
BR112013032601B1 (pt) 2022-06-07
IL229716A0 (en) 2014-01-30
RU2014101348A (ru) 2015-07-27
CA2839249C (en) 2017-01-03
AU2012273399B2 (en) 2016-03-24
RU2014101483A (ru) 2015-07-27
JP2014517656A (ja) 2014-07-17
KR20140017020A (ko) 2014-02-10
MX339025B (es) 2016-05-05
US20120320968A1 (en) 2012-12-20
ES2908241T3 (es) 2022-04-28
CN103609123A (zh) 2014-02-26
CA2838839C (en) 2017-03-21
IL229718A0 (en) 2014-01-30
IL229716A (en) 2016-12-29
DK2721817T3 (da) 2022-03-14

Similar Documents

Publication Publication Date Title
KR102010097B1 (ko) 일원화된 병합 모드 및 적응적 모션 벡터 예측 모드 후보 선택
US9313494B2 (en) Parallelization friendly merge candidates for video coding
JP5960309B2 (ja) マッピングされた変換と走査モードとを使用するビデオコード化
US9807403B2 (en) Adaptive loop filtering for chroma components
KR101547745B1 (ko) 모션 벡터 예측
JP2014532375A (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application