KR101918318B1 - 모션 예측 비디오 블록들의 계층구조 - Google Patents

모션 예측 비디오 블록들의 계층구조 Download PDF

Info

Publication number
KR101918318B1
KR101918318B1 KR1020137024971A KR20137024971A KR101918318B1 KR 101918318 B1 KR101918318 B1 KR 101918318B1 KR 1020137024971 A KR1020137024971 A KR 1020137024971A KR 20137024971 A KR20137024971 A KR 20137024971A KR 101918318 B1 KR101918318 B1 KR 101918318B1
Authority
KR
South Korea
Prior art keywords
video block
candidate prediction
prediction blocks
block
video
Prior art date
Application number
KR1020137024971A
Other languages
English (en)
Other versions
KR20130129445A (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 KR20130129445A publication Critical patent/KR20130129445A/ko
Application granted granted Critical
Publication of KR101918318B1 publication Critical patent/KR101918318B1/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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • 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

Landscapes

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

Abstract

현재 비디오 블록에 대한 인덱스 값을 획득하도록 비디오 디코더가 구성된다. 비디오 디코더는 현재 비디오 블록에 대한 파티션 유형을 획득한다. 비디오 디코더는 현재 비디오 블록의 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택한다. 비디오 디코더는 인덱스 값이 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택한다. 비디오 디코더는 예측 비디오 블록의 모션 정보에 기초하여 현재 비디오 블록에 대한 모션 벡터를 생성한다.

Description

모션 예측 비디오 블록들의 계층구조{HIERARCHY OF MOTION PREDICTION VIDEO BLOCKS}
본 출원은,
2011 년 2 월 24 일에 출원된 미국 가출원 제 61/446,392 호;
2011년 2 월 26 일에 출원된 미국 가출원 제 61/447,017 호;
2011 년 3 월 10 일에 출원된 미국 가출원 제 61/451,493 호;
2011 년 8 월 30 일에 출원된 미국 가출원 제 61/529,110 호;
2011 년 9 월 6 일에 출원된 미국 가출원 제 61/531,526 호; 및
2011 년 9 월 6 일에 출원된 미국 가출원 제 61/531,514 호
의 혜택을 주장하며, 이들의 각각은 그 각각의 전체가 참조에 의해 본원에 통합된다.
기술분야
본 개시물은 비디오 코딩에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비젼들, 디지털 직접 방송 시스템들, 무선 방송 시스템들, 휴대 정보 단말기 (personal digital assistant; PDA) 들, 랩탑이나 데스크탑 컴퓨터들, 태블릿 컴퓨터들, 전자책 리더들, 디지털 카메라들, 디지털 녹음 디바이스들, 디지털 미디어 재생기들, 비디오 게임 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화들, 이른바 "스마트 폰들", 비디오 원격화상회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함하는 매우 다양한 디바이스들에 포함될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10 (Part 10), 고급 비디오 코딩 (Advanced Video Coding; AVC), 현재 개발 하에 있는 고효율 비디오 코딩 (High Efficiency Video Coding; HEVC) 에 의해 정의된 표준들, 및 이러한 표준들의 확장들에서 설명된 바와 같은 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 이러한 비디오 압축 기법들을 구현함으로써 좀더 효율적으로 디지털 비디오 정보를 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
일반적으로, 본 개시물은 비디오 데이터를 코딩하기 위한 기법들을 설명한다. 일 예에서, 비디오 데이터를 디코딩하는 방법은, 현재 비디오 블록에 대한 인덱스 값을 획득하는 단계, 현재 비디오 블록에 대한 파티션 유형을 획득하는 단계, 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택하는 단계, 인덱스 값에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택하는 단계, 및 예측 비디오 블록의 모션 정보에 기초하여 현재 비디오 블록에 대한 모션 벡터를 생성하는 단계를 포함한다.
다른 예에서, 디바이스는, 현재 비디오 블록에 대한 인덱스 값을 획득하며, 현재 비디오 블록에 대한 파티션 유형을 획득하며, 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택하며, 인덱스 값에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택하고, 예측 비디오 블록의 모션 정보에 기초하여 현재 비디오 블록에 대한 모션 벡터를 생성하도록 구성된 비디오 디코더를 포함한다.
다른 예에서, 컴퓨터 판독가능 저장 매체는, 실행되는 경우, 프로세서로 하여금, 현재 비디오 블록에 대한 인덱스 값을 획득하며, 현재 비디오 블록에 대한 파티션 유형을 획득하며, 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택하며, 인덱스 값에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택하고, 예측 비디오 블록의 모션 정보에 기초하여 현재 비디오 블록에 대한 모션 벡터를 생성하도록 하는 명령들을 포함한다.
본 개시물은 또한 비디오 데이터를 인코딩하기 위한 기법들을 설명한다. 일 예에서, 방법은, 현재 비디오 블록에 대한 모션 벡터를 획득하는 단계, 현재 비디오 블록에 대한 파티션 유형을 획득하는 단계, 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택하는 단계, 모션 벡터에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택하는 단계, 및 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성하는 단계를 포함한다.
다른 예에서, 디바이스는, 현재 비디오 블록에 대한 모션 벡터를 획득하며, 현재 비디오 블록에 대한 파티션 유형을 획득하며, 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택하며, 모션 벡터에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택하고, 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성하도록 구성된 비디오 디코더를 포함한다.
다른 예에서, 컴퓨터 판독가능 저장 매체는, 실행되는 경우, 프로세로 하여금, 현재 비디오 블록에 대한 모션 벡터를 획득하며, 현재 비디오 블록에 대한 파티션 유형을 획득하며, 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택하며, 모션 벡터에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택하고, 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성하도록 하는 명령들을 포함한다.
하나 이상의 예들의 세부사항들이 첨부되는 도면들 및 하기의 설명에서 제시된다. 다른 특징들, 목적들, 및 이점들은 설명 및 도면들로부터, 그리고 청구항들로부터 자명할 것이다.
도 1 은 본 개시물의 기법들을 구현할 수도 있는 비디오 인코딩 및 디코딩 시스템의 일 예를 도시하는 블록 다이어그램이다.
도 2 는 본 개시물의 기법들을 구현할 수도 있는 비디오 인코더의 일 예를 도시하는 블록 다이어그램이다.
도 3a 는 현재 비디오 블록 및 모션 예측 비디오 블록들의 예시적인 세트를 도시하는 개념적 다이어그램이다.
도 3b 는 현재 비디오 블록 및 모션 예측 비디오 블록들의 예시적인 세트를 도시하는 개념적 다이어그램이다.
도 3c 는 현재 비디오 블록 및 모션 예측 비디오 블록들의 예시적인 세트를 도시하는 개념적 다이어그램이다.
도 4 는 현재 비디오 프레임과 참조 비디오 프레임들 사이의 시간적 관계를 도시하는 개념적 다이어그램이다.
도 5 는 현재 비디오 블록과의 시간적 관계에 기초하여 모션 예측 비디오 블록들의 세트를 순서화하는 것을 도시하는 개념적 다이어그램이다.
도 6 은 모션 예측 비디오 블록들의 세트를 생성하는데 이용될 수 있는 후보 비디오 블록들의 예들을 도시하는 개념적 다이어그램이다.
도 7 은 모션 예측 비디오 블록들의 세트를 생성하기 위해 기준에 기초하여 후보 비디오 블록들을 탐색하는 방법의 예를 도시하는 개념적 다이어그램이다.
도 8 은 비디오 블록 파티션들의 예들을 도시하는 개념적 다이어그램이다.
도 9a - 도 9k 는 모션 예측 비디오 블록들의 세트에 대한 현재 비디오 블록 파티션에 기초하여 순서화된 계층구조를 생성하는 예들을 도시하는 개념적 다이어그램들이다.
도 10 은 비디오 데이터를 인코딩하기 위한 기법을 도시하는 플로우차트이다.
도 11 은 본 개시물의 기법들을 구현할 수도 있는 비디오 디코더 유닛의 일 예를 도시하는 블록 다이어그램이다.
도 12 는 비디오 데이터를 디코딩하는 기법을 도시하는 플로우차트이다.
본 개시물은 후보 비디오 블록들로부터 모션 예측 비디오 블록들의 세트들을 생성하고, 세트 내의 모션 예측 비디오 블록들의 순서화된 계층구조를 생성하기 위한 기법들을 설명한다. 비디오 인코더는 순서화된 계층구조를 이용하여 현재 비디오 블록에 대한 모션 정보를 인코딩할 수도 있고, 비디오 디코더는 순서화된 계층구조를 이용하여 현재 비디오 블록에 대한 모션 정보를 디코딩할 수도 있다. 예를 들어, 후보 비디오 블록들의 세트는 현재 비디오 블록에 인접한 비디오 블록들을 포함할 수도 있다. 모션 예측 비디오 블록들의 순서화된 세트는 인접한 비디오 블록들의 서브세트일 수도 있다. 현재 비디오 블록에 대한 모션 정보는, 다음의 기법들: 순서화된 세트 내의 모션 예측 비디오 블록으로부터 모션 벡터 승계, 잔여 모션 벡터 정보를 순서화된 세트 내의 모션 예측 비디오 블록의 모션 벡터와 가산하거나 감산하여 모션 벡터 계산, 또는 순서화된 세트 내의 하나 이상의 모션 예측 비디오 블록들로부터 모션 벡터 정보를 이용하여 모션 벡터 계산 중 하나를 이용하는 것을 포함하여, 모션 예측 비디오 블록들의 순서화된 세트를 이용하여 획득될 수도 있다. 순서화된 계층구조를 이용하는 것은 비트 절약들이 달성되는 것을 허용할 수도 있다.
일 기법에서, 후보 비디오 블록들이 특정 기준을 포함하는지 여부를 분석함으로써 모션 예측 비디오 블록들의 세트가 생성된다. 예를 들어, 현재 비디오 블록에 대해 특정 시간적 또는 공간적 거리 내의 다수의 비디오 블록들이 분석되어 참조 식별 값들 중 임의의 참조 식별 값이 특정 범위 내에 있는지 여부를 결정할 수 있다. 이러한 예에서, 특정 값과 동일한 참조 식별 값을 갖는 후보 비디오 블록들은 모션 예측 비디오 블록들의 세트 내에 포함될 수도 있다.
본 개시물에 의해 설명된 일 기법에서, 모션 예측 블록의 각각과 연관된 참조 블록과 코딩되는 현재 비디오 블록의 각각과 연관된 참조 블록의 시간적 거리에 기초하여 모션 예측 비디오 블록들의 세트가 순서화된 계층구조로 구조화된다. 다시 말해, 현재 비디오 블록에 시간적으로 더 가까운 예측 블록들을 가리키는 모션 예측 블록들의 모션 벡터들에는 현재 비디오 블록으로부터 시간적으로 보다 먼 예측 블록들을 가리키는 모션 예측 블록들의 모션 벡터들보다 우선순위가 주어질 수도 있다.
본 개시물에 의해 설명된 일 기법에서, 모션 예측 비디오 블록들의 순서화된 계층구조는 현재 비디오 블록의 파티션 유형에 기초하여 생성된다. 현재 비디오 블록의 파티션 유형에 기초하여 5 개의 인접한 비디오 블록들의 세트로부터 3 개의 모션 예측 블록들의 서브세트가 생성될 수도 있다. 파티션 유형은 최근에 만들어진 고효율 비디오 코딩 (HEVC) 표준과 일관되는 이른바 PU 의 파티션 형상과 대응할 수도 있다.
도 1 은 본 개시물의 기법들을 구현할 수도 있는 비디오 인코딩 및 디코딩 시스템 (10) 의 일 예를 도시하는 블록 다이어그램이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 통신 채널 (15) 을 통해 목적지 디바이스 (16) 에 인코딩된 비디오를 송신하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 매우 다양한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 이른바 셀룰러 또는 위성 무선전화들과 같은 무선 통신 디바이스 핸드세트들을 포함할 수도 있다. 그러나, 일반적으로 인코딩 및 디코딩에 적용되는 본 개시물의 기법들은 비디오 인코딩 및/또는 디코딩 능력들을 포함하는 비무선 디바이스들에 적용될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 단지 본원에 설명된 기법들을 지원할 수 있는 코딩 디바이스들의 예들일 뿐이다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (20), 비디오 인코더 (22), 변조기/복조기 (모뎀) (23), 및 송신기 (24) 를 포함할 수도 있다. 목적지 디바이스 (16) 는 수신기 (26), 모뎀 (27), 비디오 디코더 (28), 및 디스플레이 디바이스 (30) 를 포함할 수도 있다. 인코딩된 비트스트림의 일부분으로서 비디오 인코더 (22) 에서 구문 요소들이 생성될 수도 있고, 구문 요소들은 비트스트림을 디코딩할 시에 비디오 디코더 (28) 에 의해 이용될 수도 있다.
비디오 소스 (20) 는 비디오 카메라와 같은 비디오 캡쳐 디바이스, 이전에 캡쳐된 비디오가 들어 있는 비디오 보관소, 비디오 컨텐츠 제공자 또는 다른 비디오 소스로부터의 비디오 피드 (feed) 를 포함할 수도 있다. 다른 대안으로서, 비디오 소스 (20) 는 소스 비디오로서 컴퓨터 그래픽 기반 데이터, 또는 라이브 비디오, 보관된 비디오, 및 컴퓨터 생성 비디오의 조합을 생성할 수도 있다. 일부 경우들에서, 비디오 소스 (20) 가 비디오 카메라인 경우, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 이른바 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 각각의 경우에, 캡쳐, 사전 캡쳐, 또는 컴퓨터 생성된 비디오는 비디오 인코더 (22) 에 의해 인코딩될 수도 있다.
(모든 경우들에서는 아니지만) 일부 예들에서, 비디오 데이터가 비디오 인코더 (22) 에 의해 인코딩되면, 그 다음에, 예를 들어, 코드 분할 다중 접속 (code division multiple access; CDMA), 직교 주파수 분할 다중 (orthogonal frequency division multiplexing; OFDM) 과 같은 통신 표준, 또는 임의의 다른 표준이나 기법에 따라 모뎀 (23) 에 의해 인코딩된 비디오 정보가 변조될 수도 있다. 인코딩되고 변조된 데이터는 그 다음에 송신기 (24) 를 통해 목적지 디바이스 (16) 에 송신될 수 있다. 모뎀 (23) 은 다양한 믹서들, 필터들, 증폭기들, 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는, 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함하여, 데이터를 송신하기 위해 설계된 회로들을 포함할 수도 있다. 목적지 디바이스 (16) 의 수신기 (26) 는 채널 (15) 을 통해 정보를 수신하고, 모뎀 (27) 은 정보를 복조한다. 비디오 디코더 (28) 에 의해 수행되는 비디오 디코딩 프로세스는 비디오 인코더 (22) 에 의해 수행되는 인코딩 기법들에 상응하는 기법들을 포함할 수도 있다.
통신 채널 (15) 은 무선 주파수 (radio frequency; RF) 스펙트럼이나 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선 및 유선 매체들의 임의의 조합을 포함할 수도 있다. 통신 채널 (15) 은 근거리 통신 네트워크, 광역 통신 네트워크, 또는 인터넷 (Internet) 과 같은 글로벌 통신 네트워크와 같은 패킷 기반 네트워크의 일부분을 형성할 수도 있다. 통신 채널 (15) 은 일반적으로 소스 디바이스 (12) 로부터 목적지 디바이스 (16) 로 비디오 데이터를 송신하기 위한 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 집합을 나타낸다. 다시, 도 1 은 단지 예일 뿐이고, 본 개시물의 기법들은 인코딩 디바이스와 디코딩 디바이스 사이의 임의의 데이터 통신을 반드시 포함할 필요가 없는 비디오 코딩 설정들 (예를 들어, 비디오 인코딩 또는 비디오 디코딩) 에 적용될 수도 있다. 다른 예들에서, 로컬 네트워크, 네트워크를 통한 스트리밍 등으로부터 데이터가 검색될 수도 있다. 인코딩 디바이스는 데이터를 인코딩하여 메모리에 저장할 수도 있고/있거나, 디코딩 디바이스는 메모리로부터 데이터를 검색하여 디코딩할 수도 있다. 많은 경우들에서, 인코딩 및 디코딩은 서로 통신하지 않는 관련되지 않은 디바이스들에 의해 수행되고, 단순히 데이터를 인코딩하여 메모리에 저장하고/하거나 메모리로부터 데이터를 검색하여 디코딩한다.
일부 경우들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 주로, 최근에 만들어진 HEVC 표준과 같은 비디오 압축 표준에 따라 동작할 수도 있다. 그러나, 본 개시물의 기법들은 또한, 일부 구 표준들, 또는 새로운 표준이나 최근에 만들어진 표준들을 포함하여, 다양한 다른 비디오 코딩 표준들의 맥락에서 적용될 수도 있다. 비록 도 1 에 도시되지는 않았으나, 일부 경우들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 공통의 데이터 스트림 또는 별도의 데이터 스트림들 내의 오디오 및 비디오 양자 모두의 인코딩을 처리하기 위해, 적당한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능한 경우, MUX-DEMUX 유닛들은 ITU H.223 다중화기 프로로톨, 또는 사용자 데이터그램 프로토콜 (user datagram protocol; UDP) 과 같은 다른 프로토콜들에 따를 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (digital signal processor; DSP) 들, 주문형 집적 회로 (application specific integrated circuit; ASIC) 들, 필드 프로그램가능 게이트 어레이 (field programmable gate array; FPGA) 들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 조합들로 구현될 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함할 수도 있으며, 이들 중 일방은 각각의 모바일 디바이스, 가입자 디바이스, 방송 디바이스, 서버 등에 CODEC (combined encoder/decoder) 의 일부분으로서 통합될 수도 있다. 본 개시물에서, 용어 코더는 인코더, 디코더, 또는 CODEC 을 지칭하고, 용어들 코더, 인코더, 디코더, 및 CODEC 모두는 본 개시물과 일관되는 비디오 데이터의 코딩 (인코딩 및/또는 디코딩) 을 위해 설계된 특정 머신들을 지칭한다.
일부 경우들에서, 디바이스들 (12, 16) 은 주로 대칭적인 방식으로 동작할 수도 있다. 예를 들어, 디바이스들 (12, 16) 의 각각은 비디오 인코딩 및 디코딩 컴포넌트들을 포함할 수도 있다. 따라서, 시스템 (10) 은, 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 방송, 또는 비디오 전화통신을 위해, 비디오 디바이스들 (12, 16) 사이의 단방향 또는 양방향 비디오 송신을 지원할 수도 있다.
인코딩 프로세스 중에, 비디오 인코더 (22) 는 다수의 코딩 기법들 또는 동작들을 실행할 수도 있다. 일반적으로, 비디오 인코더 (22) 는 HEVC 표준과 일관되게 비디오 데이터의 블록들에 대해 동작한다. HEVC 는 쿼드트리 파티셔닝 기법에 따라 파티셔닝될 수 있는 코딩 유닛 (coding unit; CU) 들을 언급한다. "LCU" 는 주어진 상황에서 지원되는 가장 큰 사이즈의 코딩 유닛 (예를 들어, "가장 큰 코딩 유닛 (largest coding unit)") 을 지칭한다. LCU 사이즈는 비트스트림의 일부분으로서, 예를 들어, 시퀀스 레벨 구문으로서, 그 자체가 시그널링될 수도 있다. LCU 는 보다 작은 CU들로 파티셔닝될 수도 있다. CU들은 예측을 위해 예측 유닛 (prediction unit; PU) 들로 파티셔닝될 수도 있다. PU들은 정사각형 또는 직사각형 형상들을 가질 수도 있다. 변환들은 최근에 만들어진 HEVC 표준에서 정해지지는 않으나, 변환 유닛 (transform unit; TU) 사이즈들에 따라 정해지며, 변환 유닛 (TU) 사이즈들은 주어진 CU 와 동일한 사이즈이거나 어쩌면 보다 작을 수도 있다. CU 에 대응하는 잔여 샘플들은 "잔여 쿼드 트리" (residual quad tree; RQT) 으로 알려진 쿼드트리 구조를 이용하여 보다 작은 유닛들로 다시 나눠질 수도 있다. RQT 의 리프 노드들은 변환 유닛 (TU) 들로 지칭될 수도 있다. TU들은 변환되고 양자화될 수도 있다. 구문 요소들은 LCU 레벨, CU 레벨, PU 레벨, 및 TU 레벨로 정의될 수도 있다. 임의의 주어진 CU 그 자체가 4 개의 CU들로 더 다시 나눠지는지 여부를 가리키기 위한 CU 레벨 구문으로서 "분리 플래그들" 이라 불리는 요소들이 포함될 수도 있다. 예를 들어, CU0 은 LCU 를 지칭할 수도 있고, CU1 내지 CU4 는 LCU 의 하위 CU들을 포함할 수도 있다.
HEVC 와 일관되게, 비디오 블록들은 코딩 유닛 (CU) 들로 지칭되고, 많은 CU들이 개개의 비디오 프레임들 (또는 슬라이스들과 같은 다른 독립적으로 정의된 비디오의 유닛들) 내에 존재한다. 프레임들, 슬라이스들, 프레임들의 부분들, 영상들의 그룹들, 또는 다른 데이터 구조들은 복수의 CU들을 포함하는 비디오 정보의 유닛들로 정의될 수도 있다. CU들은 HEVC 표준과 일관되는 변화하는 사이즈들을 가질 수도 있고, 비트스트림은 CU 의 가장 큰 크기로 가장 큰 코딩 유닛 (LCU) 들을 정의할 수도 있다. HEVC 표준을 이용하여, LCU들은 쿼드트리 파티셔닝 기법에 따라 갈수록 더 작은 CU들로 나눠질 수도 있고, 기법에서 정의된 상이한 CU들은 이른바 예측 유닛 (PU) 들로 더 파티셔닝될 수도 있다. LCU들, CU들, 및 PU들은 모두 본 개시물의 의미 내의 비디오 블록들이다.
비디오 인코더 (22) 는 코딩되는 비디오 블록 (예를 들어, LCU 내의 CU 의 PU) 이 하나 이상의 예측 후보들과 비교되어 예측 블록을 식별하는 예측 코딩을 수행할 수도 있다. 예측 코딩의 이러한 프로세스는 (동일한 비디오 프레임 또는 슬라이스 내의 이웃하는 인트라 데이터에 기초하여 예측 데이터가 생성되는 경우인) 인트라 (intra) 또는 (이전 또는 후속하는 프레임들 또는 슬라이스들 내의 비디오 데이터에 기초하여 예측 데이터가 생성되는 경우인) 인터 (inter) 일 수도 있다. 많은 상이한 코딩 모드들이 지원될 수도 있고, 비디오 인코더 (22) 는 바람직한 비디오 코딩 모드를 선택할 수도 있다. 이러한 개시물들에 따라, 본원에 설명된 프로세스들을 이용하여 적어도 일부 비디오 블록들이 코딩될 수도 있다. 비디오 압축 기법들은 비디오 시퀀스들에 내재하는 중복을 감소시키기나 제거하기 위해 공간 (인트라 영상) 예측 및/또는 시간 (인터 영상) 예측을 포함한다. 블록 기반 비디오 코딩에 있어서, 비디오 슬라이스 (예를 들어, 비디오 프레임, 또는 비디오 프레임의 부분) 는 비디오 블록들로 파티셔닝될 수도 있으며, 비디오 블록들은 또한 트리블록들, 코딩 유닛 (CU) 들, 및/또는 코딩 노드들로 지칭될 수도 있다. 영상의 인트라 코딩된 (I) 슬라이스 내의 비디오 블록들은 동일한 영상에서의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 영상의 인터 코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 영상에서의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측, 또는 다른 참조 영상에서의 참조 샘플들에 대한 시간 예측을 이용할 수도 있다. 영상들은 프레임들이라고 지칭될 수도 있고, 참조 영상들은 참조 프레임들로 지칭될 수도 있다.
비디오 인코더 (22) 가 모션 추정 및 모션 보상을 이용하여 비디오 스퀀스 내의 시간 중복을 감소시키는 경우, 비디오 데이터의 예측 블록을 식별하기 위해 모션 벡터가 생성될 수도 있다. 비디오 디코더 (28) 는 모션 벡터를 이용하여 코딩되는 현재 비디오 블록의 값들을 예측할 수 있다. 예를 들어, 예측 비디오 블록의 값들이 현재 비디오 블록의 값들로부터 감산되어 잔여 데이터의 블록을 산출할 수도 있다. 잔여 데이터와 함께 모션 벡터는 통신 채널 (15) 을 통해 비디오 인코더 (22) 로부터 비디오 디코더로 통신될 수 있다. 비디오 디코더 (28) 는 (모션 벡터에 기초하여) 동일한 예측 블록의 위치를 확인하고, 잔여 데이터를 예측 블록의 데이터와 결합함으로써 인코딩된 비디오 블록을 복원할 수 있다.
비디오 인코더 (22) 는 병합 모드를 이용하여 현재 비디오 블록의 모션 정보를 인코딩할 수도 있다. 병합 모드는 이웃하는 비디오 블록의 (모션 벡터들, 참조 프레임 인덱스들, 예측 방향들, 또는 다른 정보와 같은) 모션 정보가 코딩되는 현재 비디오 블록에 대해 승계되는 비디오 코딩 모드이다. 인덱스 값이 이용되어 현재 비디오 블록이 현재 비디오 블록의 모션 정보 (예를 들어, 상단, 상단 우측, 좌측, 좌측 하단, 또는 시간적으로 인접하는 프레임으로부터 같은 곳에 위치함) 를 승계하는 이웃을 식별할 수도 있다. 이웃하는 비디오 블록의 모션 벡터가 이용되는 다른 경우에, 현재 비디오 블록의 코딩 시 이른바 모션 벡터 예측이 이용된다. 이러한 경우에, 모션 벡터를 통신하기 위해 필요로 하는 데이터의 양을 감소시키기 위해 모션 벡터들의 예측 코딩이 적용된다. 예를 들어, 모션 벡터 자체를 인코딩하여 통신하는 대신에, 비디오 인코더 (22) 는 알려진 (또는 알 수 있는) 모션 벡터에 대한 모션 벡터 차이 (motion vector difference; MVD) 를 인코딩하여 통신할 수도 있다. H.264/AVC 에서, 현재 모션 벡터를 정의하기 위해 MVD 와 이용될 수도 있는 알려진 모션 벡터는 이른바 모션 벡터 예측자 (motion vector predictor; MVP) 로 정의될 수 있으며, 모션 벡터 예측자 (MVP) 는 이웃하는 블록들과 연관된 모션 벡터들의 중간값으로서 도출된다.
비디오 인코더 (22) 는 적응적 모션 벡터 예측 (adaptive motion vector prediction; AMVP) 을 이용하여 현재 비디오 블록의 모션 정보를 인코딩할 수도 있다. AMVP 는 MVP 에 대한 후보들로서 공간적 및 시간적 방향들에 여러 이웃하는 블록들을 포함시킴으로써 모션 벡터 후보 세트를 확립한다. AMVP 에서, 비디오 인코더 (22) 는 인코딩 레이트 및 왜곡의 분석에 기초하여 (예를 들어, 이른바 레이트 왜곡 비용 분석을 이용하여) 후보 세트로부터 가장 정확한 예측자 블록을 선택한다. 모션 벡터 예측자 인덱스 (mvp_idx) 가 비디오 디코더 (28) 에 송신되어 MVP 를 어디에 위치시킬지를 비디오 디코더 (28) 에 알릴 수 있다. MVD 는 또한 비디오 디코더 (28) 에 송신될 수 있다. 비디오 디코더 (28) 는 MVD 를 (모션 벡터 예측자 인덱스에 의해 정의된) MVP 와 결합하여 현재 비디오 블록에 대한 모션 벡터를 생성할 수 있다.
예측 블록을 생성한 후에, 코딩되는 현재 비디오 블록과 예측 블록 사이의 차이들이 잔여 블록으로서 코딩되고, (인터 코딩의 경우에 모션 벡터, 또는 인트라 코딩의 경우에 예측 모드와 같은) 예측 구문이 예측 블록을 식별하는데 이용된다. 또한, AMVP 또는 병합 모드를 이용하여, 예를 들어, 본원에 설명된 바와 같은 순서화된 계층구조에 따라 특정 이웃을 식별하는 인덱스 값을 통해, 예측 블록을 식별하는데 이용되는 이웃하는 블록이 코딩될 수도 있다.
일부 경우들에서, 잔여 블록이 변환되고 양자화될 수도 있다. 변환 기법들은 DCT 프로세스나 개념적으로 유사한 프로세스, 정수 변환들, 웨이블릿 (wavelet) 변환들, 또는 다른 유형의 변환들을 포함할 수도 있다. DCT 프로세스에서, 예로서, 변환 프로세스는 픽셀 값들 (예를 들어, 잔여 픽셀 값들) 의 세트를 변환 계수들로 전환시키며, 변환 계수들은 주파수 도메인에서 픽셀 값들의 에너지를 나타낼 수도 있다. 변환 계수들은 양자화될 수도 있다. 특히, 양자화는 변환 계수들에 적용될 수도 있고, 일반적으로 임의의 주어진 변환 계수들과 연관된 비트들의 수를 제한하는 프로세스를 수반한다. 좀더 구체적으로, 양자화는 LCU 레벨에서 정의된 양자화 파라미터 (quantization parameter; QP) 에 따라 적용될 수도 있다. 이에 따라, LCU 내의 CU들의 상이한 PU들과 연관된 TU들 내의 모든 변환 계수들에 동일한 양자화의 레벨이 적용될 수도 있다. 그러나, QP 그 자체를 시그널링하는 대신에, QP 에서의 변화 또는 차이 (즉, 델타) 가 LCU 를 이용하여 시그널링되어 이전의 LCU 의 QP 에 대한 QP 에서의 변화를 가리킬 수도 있다.
변환 및 양자화에 뒤이어, 양자화되고 변환된 잔여 비디오 블록들에 대해 엔트로피 코딩이 수행될 수도 있다. 구문 요소들이 또한 엔트로피 코딩된 비트스트림에 포함될 수도 있다. 일반적으로, 엔트로피 코딩은 양자화된 변환 계수들의 시퀀스 및/또는 다른 구문 정보를 집합적으로 압축하는 하나 이상의 프로세스들을 포함한다. 양자화된 변환 계수들에 대해 스캐닝 기법들이 수행되어 2 차원 비디오 블록들로부터 하나 이상의 직렬화된 계수들의 1 차원 벡터들을 정의할 수도 있다. 스캐닝된 계수들은 그 다음에, 예를 들어, 컨텍스트 적응 가변 길이 코딩 (context adaptive variable length coding; CAVLC), 컨텍스트 적응 이진 산술 코딩 (context adaptive binary arithmetic coding; CABAC), 또는 다른 엔트로피 코딩 프로세스를 통해, 임의의 구문 정보와 함께 엔트로피 코딩된다.
인코딩 프로세스의 일부분으로서, 인코딩된 비디오 블록들이 디코딩되어 수속하는 비디오 블록들의 후속 예측 기반 코딩에 이용되는 비디오 데이터를 생성할 수도 있다. 이는 종종 인코딩 프로세스의 디코딩 루프라고 지칭되고, 일반적으로 디코더 디바이스에 의해 수행되는 디코딩을 모방한다. 인코더 또는 디코더의 디코딩 루프에서, 비디오 품질, 및 예를 들어, 평활화 픽셀 경계들을 개선시키고, 어쩌면 디코딩된 비디오로부터의 아티팩트 (artifact) 들을 제거하기 위해 필터링 기법들이 이용될 수도 있다. 이러한 필터링은 인 루프 (in-loop) 또는 포스트 루프 (post-loop) 일 수도 있다. 인 루프 필터링으로는, 복원된 비디오 데이터의 필터링이 코딩 루프에서 일어나는데, 이는 후속하는 이미지 데이터의 예측에서 차후 이용을 위해 인코더 또는 디코더에 의해 필터링된 데이터가 저장됨을 의미한다. 반면, 포스트 루프 필터링으로는, 복원된 비디오 데이터의 필터링이 코딩 루프의 바깥에서 일어나는데, 이는 후속하는 이미지 데이터의 예측에서 차후 이용을 위해 인코더 또는 디코더에 의해 데이터의 필터링되지 않은 버전들이 저장됨을 의미한다. 루프 필터링에는 종종 별도의 블록해제 (deblock) 필터링 프로세스가 뒤따르며, 블록해제 필터링 프로세스는 일반적으로 인접한 비디오 블록들의 경계들 상에 또는 근처에 있는 픽셀들에 필터링을 적용하여 비디오 블록 경계들에서 나타나는 블록화 아티팩트들을 제거한다.
도 2 는 본 개시물과 일관되는 비디오 인코더 (50) 를 도시하는 블록 다이어그램이다. 비디오 인코더 (50) 는 디바이스 (12) 의 비디오 인코더 (22), 또는 상이한 디바이스의 비디오 인코더에 대응할 수도 있다. 도 2 에 도시된 바와 같이, 비디오 인코더 (50) 는 쿼드트리 파티션 유닛 (31), 예측 인코딩 유닛 (32), 메모리 (34), 변환 모듈 (38), 양자화 유닛 (40), 역 양자화 유닛 (42), 역 양자화 모듈 (44), 엔트로피 코딩 유닛 (46), 블록해제 필터들 및 포스트 루프 및/또는 인 루프 필터들을 포함할 수도 있는 필터 유닛 (47), 가산기 (48), 및 가산기 (51) 를 포함한다. 인코딩된 비디오 데이터 및 인코딩의 방식을 정의하는 구문 정보가 비트스트림에 대해 엔트로피 인코딩을 수행하는 엔트로피 인코딩 유닛 (46) 에 통신될 수도 있다.
도 2 에 도시된 바와 같이, 예측 인코딩 유닛 (32) 은 비디오 블록들의 인코딩 시에 복수의 상이한 코딩 모드들 (35) 을 지원할 수도 있다. 모드들 (35) 은 상이한 비디오 프레임들 (또는 슬라이스들) 로부터의 예측 데이터를 정의하는 인터 코딩 모드들을 포함할 수도 있다. 인터 코딩 모드들은 쌍 예측 (bi-predictive) 일 수도 있는데, 이는 예측 데이터의 2 개의 상이한 리스트들 (예를 들어, 리스트 0 및 리스트 1) (및 일반적으로 2 개의 상이한 모션 벡터들) 이 예측 데이터를 식별하는데 이용됨을 의미한다. 인터 코딩 모드들은 대안으로 단일 예측 (uni-predictive) 일 수도 있는데, 이는 예측 데이터의 1 개의 리스트 (예를 들어, 리스트 0) (및 일반적으로 하나의 모션 벡터) 가 예측 데이터를 식별하는데 이용됨을 의미한다. 보간들, 오프셋들, 또는 다른 기법들이 예측 데이터의 생성과 함께 수행될 수도 있다. 이른바 SKIP 모드들 및 DIRECT 모드들이 또한 지원될 수도 있으며, 이는 다른 프레임 (또는 슬라이스) 의 동일한 곳에 위치된 블록과 연관된 모션 정보를 승계한다. SKIP 모드 블록들은 임의의 잔여 정보를 포함하지 않는 반면, DIRECT 모드 블록들은 잔여 정보를 포함한다.
또한, 모드들 (35) 은 코딩되는 비디오 프레임 (또는 슬라이스) 와 동일한 비디오 프레임 (또는 슬라이스) 내의 데이터에 기초하여 예측 데이터를 정의하는 인터 코딩 모드들을 포함할 수도 있다. 인트라 코딩 모드들은 동일한 프레임, 뿐만 아니라 DC 내의 특정 방향에서의 데이터에 기초하여 예측 데이터를 정의하는 방향 모드들, 및/또는 이웃하는 데이터의 평균 또는 가중 평균에 기초하여 예측 데이터를 정의하는 평면 모드들을 포함할 수도 있다. 예측 인코딩 유닛 (32) 은 레이트 왜곡 분석에 기초하는 바와 같은 일부 기준, 또는 블록 사이즈, 텍스쳐, 또는 다른 특성들과 같은 블록의 일부 특성들에 기초하여 주어진 블록에 대한 모드를 선택할 수도 있다.
본 개시물에 따라, 예측 인코딩 유닛 (32) 은 상술된 바와 같은 적응적 모션 벡터 예측 (AMVP) 을 수행하는 하나 이상의 모드들, 또는 상술된 바와 같은 병합 모드를 지원한다. 이러한 또는 다른 경우들에서, 본원에 설명된 방식으로 블록으로부터 모션 정보가 승계될 수도 있고, 본원에 설명된 방식으로 이러한 승계가 일어나는 블록의 시그널링이 수행될 수도 있다.
일반적으로, 인코딩 프로세스 중에, 비디오 인코더 (50) 는 입력 비디오 데이터를 수신한다. 예측 인코딩 유닛 (32) 은 비디오 블록들 (예를 들어, CU들 및 PU들) 에 대해 예측 코딩 기법들을 수행한다. 쿼드트리 파티션 유닛 (31) 은 HEVC 파티셔닝에 따라 LCU 를 보다 작은 CU들 또는 PU들로 분할할 수도 있다. 인터 코딩에 있어서, 예측 인코딩 유닛 (32) 은 CU들 또는 PU들을 하나 이상의 비디오 참조 프레임들 또는 슬라이스들 (예를 들어, 참조 데이터의 하나 이상의 "리스트") 내의 다양한 예측 후보들과 비교하여 예측 블록을 정의한다. 인트라 코딩에 있어서, 예측 인코딩 유닛 (32) 은 동일한 비디오 프레임 또는 슬라이스 내의 이웃하는 데이터에 기초하여 예측 블록을 생성한다. 예측 인코딩 유닛 (32) 은 예측 블록을 출력하고, 가산기 (48) 는 코딩되는 CU 또는 PU 로부터 예측 블록을 감산하여 잔여 블록을 생성한다. 다시, 본원에 설명된 AMVP 를 이용하여 적어도 일부 비디오 블록들이 코딩될 수도 있다.
일부 경우들에서, 예측 인코딩 유닛 (32) 은 상이한 모드들에서 비디오 블록들 (예를 들어, CU들 또는 PU들) 의 코딩 결과들을 비교하는 레이트 왜곡 (R-D) 유닛을 포함할 수도 있다. 이러한 경우에, 예측 인코딩 유닛 (32) 은 또한 코딩 레이트 (즉, 블록에 대해 요구되는 코딩 비트들) 및 (예를 들어, 원래 블록에 대한 코딩된 블록의 비디오 품질을 나타내는) 왜곡의 면에서 코딩 결과들을 분석하여 비디오 블록들에 대한 모드 선택들을 하도록 하는 모드 선택 유닛을 포함할 수도 있다. 이러한 방식으로, R-D 유닛은 상이한 모드들의 결과들의 분석을 제공하여 모드 선택 유닛으로 하여금 상이한 비디오 블록들에 대한 바람직한 모드를 선택하도록 허용할 수도 있다. 본 개시물과 일관되게, R-D 유닛이 예를 들어, 코딩 이득들 또는 코딩 효율때문에 주어진 비디오 블록에 대한 바람직한 모드로서 AMVP 를 수행하는 모드를 식별하는 경우, AMVP 를 수행하는 모드가 선택될 수도 있다. 대안으로, 본 개시물과 일관되게, 이웃하는 블록으로부터 모션 정보가 승계되는 병합 모드가 선택될 수도 있다. 이러한 또는 다른 예들에서, 본 개시물과 일관되게 코딩 시에 이웃들의 순서화된 세트가 정의되어 이용될 수 있다.
다시 도 2 를 참조하면, 예측 인코딩 유닛 (32) 이 예측 블록을 출력한 후에, 그리고 가산기 (48) 가 코딩되는 비디오 블록으로부터 예측 블록을 감산하여 잔여 픽셀 값들의 잔여 블록을 생성한 후에, 변환 유닛 (38) 이 잔여 블록에 변환을 적용한다. 변환은 이산 코사인 변환 (discrete cosine transform; DCT), 또는 ITU H.264 표준이나 HEVC 표준에 의해 정의된 바와 같은 개념적으로 유사한 변환을 포함할 수도 있다. 변환들을 수행하기 위해 이른바 "나비" 구조들이 정의될 수도 있거나, 매트릭스 기반 곱셈이 또한 이용될 수 있다. 일부 예들에서, HEVC 표준과 일관되게, 예를 들어, 주어진 LCU 에 대해 일어나는 파티셔닝의 레벨에 따라, 변환의 사이즈가 상이한 CU들에 대해 변화할 수도 있다. 변환 유닛 (TU) 들은 변환 유닛 (38) 에 의해 적용되는 변환 사이즈를 설정하도록 정의될 수도 있다. 웨이블릿 변환들, 정수 변환들, 서브 대역 변환들, 또는 다른 유형의 변환들이 또한 이용될 수 있다. 임의의 경우에, 변압기 유닛은 잔여 블록에 변환을 적용하여, 잔여 변환 계수들의 블록을 산출한다. 변환은, 일반적으로, 잔여 정보를 픽셀 도메인으로부터 주파수 도메인으로 전환시킬 수도 있다.
양자화 유닛 (40) 이 그 다음에 잔여 변환 계수들을 양자화하여 비트 레이트를 더 감소시킨다. 양자화 유닛 (40) 은, 예를 들어, 계수들의 각각을 코딩하는데 이용되는 비트들의 수를 제한할 수도 있다. 특히, 양자화 유닛 (40) 은 (예컨대, 델타 QP 를 이전 LCU 의 QP 또는 일부 다른 알려진 QP 와 결합함으로써) LCU 에 대해 정의된 델타 QP 를 적용하여 적용할 양자화의 레벨을 정의할 수도 있다. 잔여 샘플들에 대해 양자화가 수행된 후에, 양자화 코딩 유닛 (46) 은 데이터를 스캐닝하고 엔트로피 인코딩할 수도 있다.
CAVLC 는 엔트로피 코딩 유닛 (46) 에 의해 벡터화된 규준에 적용될 수도 있는 ITU H.264 표준 및 최근에 만들어진 HEVC 표준에 의해 지원되는 엔트로피 코딩 기법의 일 유형이다. CAVLC 는 계수들 및/또는 구문 요소들의 직렬화된 "런 (run) 들" 을 효과적으로 압축하는 방식으로 가변 길이 코딩 (variable length coding; VLC) 테이블들을 이용한다. CABAC 는 엔트로피 코딩 유닛 (46) 에 의해 벡터화된 규준에 적용될 수도 있는 ITU H.264 표준 및 HEVC 표준에 의해 지원되는 다른 유형의 엔트로피 코딩 기법이다. CABAC 는 이진화, 컨텍스트 모델 선택, 및 이진 산술 코딩을 포함하여 여러 스테이지들을 수반할 수도 있다. 이러한 경우에, 엔트로피 코딩 유닛 (46) 은 CABAC 에 따라 계수들 및 구문 요소들을 코딩한다. 많은 다른 유형의 엔트로피 코딩 기법들이 또한 존재하고, 새로운 엔트로피 코딩 기법들이 장래에 생겨날 것이다. 본 개시물은 임의의 특정 엔트로피 코딩 기법으로 제한되지 않는다.
엔트로피 인코딩 유닛 (46) 에 의한 엔트로피 코딩 다음에, 인코딩된 비디오는 다른 디바이스로 송신되거나, 추후 송신 또는 검색을 위해 보관될 수도 있다. 인코딩된 비디오는 엔트로피 코딩된 벡터들 및 다양한 구문 정보를 포함할 수도 있다. 이러한 정보는 디코딩 프로세스를 적절히 구성하기 위해 디코더에 의해 이용될 수 있다. 역 양자화 유닛 (42) 및 역 변환 유닛 (44) 은 각각 역 양자화 및 역 변환을 적용하여 픽셀 도메인에서 잔여 블록을 복원한다. 합산기 (51) 는 복원된 잔여 블록을 예측 인코딩 유닛 (32) 에 의해 산출된 예측 블록에 가산하여 메모리 (34) 내의 저장을 위해 복원된 비디오 블록을 산출한다. 이러한 저장에 앞서, 그러나, 필터 유닛 (47) 이 비디오 블록에 필터링을 적용하여 비디오 품질을 개선시킬 수도 있다. 필터 유닛 (47) 에 의해 적용된 필터링은 아티팩트들 및 평활화 픽셀 경계들을 감소시킬 수도 있다. 또한, 필터링은 코딩되는 비디오 블록들과 비슷한 매치들을 포함하는 예측 비디오 블록들을 생성함으로써 압축을 개선시킬 수도 있다.
본원에 설명된 기법들에 따라, 예측 인코딩 유닛 (32) 은 현재 블록을 인코딩하기 위해 순서화된 계층구조들을 이용하여 예측 블록을 식별할 수도 있고/있거나, 순서화된 계층구조에 따라 특정 예측 블록을 식별하는 인덱스 값을 생성할 수도 있다. 도 3a 는 현재 비디오 블록 및 후보 예측 모션 비디오 블록들 (즉, 상단 (T), 상단 우측 (TR), 좌측 (L), 좌측 하단 (BL), 또는 시간적으로 인접한 프레임으로부터 동일한 곳에 위치된 것 (Temp)) 을 도시하는 개념적 다이어그램이며, 후보 예측 모션 비디오 블록들로부터 현재 비디오 블록이 모션 정보를 도출할 수도 있다. 도 3b 는 현재 비디오 블록, 및 도 3a 에서의 후보 예측 모션 비디오 블록들의 세트로부터 도출될 수 있는 예측 모션 비디오 블록들의 복수의 세트들 중 하나의 세트를 도시하는 개념적 다이어그램이다. 도 3c 는 현재 비디오 블록 및 후보 예측 모션 비디오 블록들 (즉, 상단 (T), 상단 좌측 (TL), 상단 우측 (TR), 좌측 (L), 또는 좌측 하단 (BL)) 을 도시하는 개념적 다이어그램이며, 후보 예측 모션 비디오 블록들로부터 현재 비디오 블록이 모션 정보를 도출할 수도 있다.
도 4 및 도 5 는 현재 비디오 블록을 인코딩하기 위해 모션 예측 비디오 블록들의 순서화된 계층구조를 이용하여 예측 비디오 블록을 식별하는 것을 도시하는 개념적 다이어그램들이다. 도 4 및 도 5 에 도시된 예에서, 현재 비디오 블록과 모션 예측 비디오 블록들의 각각의 사이의 시간적 거리가 순서화된 계층구조를 생성하는데 이용된다. 순서화된 계층구조는 입력 비디오 데이터에 기초하여 비디오 디코더 (50) 에 의해 생성되거나 미리 생성되어, 메모리 (34) 내에 저장될 수 있다. 시간적 거리에 기초하여 순서화된 계층구조를 생성하는 것은 현재 비디오 블록에 비해 보다 짧은 시간적 거리들을 갖는 모션 예측 비디오 블록들이 보다 긴 시간적 거리들을 갖는 비디오 블록들보다 더 좋은 예측자들일 가능성이 많을 수도 있다는 사실을 활용할 수도 있다. 도 4 및 도 5 에 도시된 예에서, 모션 예측 블록들의 세트는 도 3a 에 도시된 5 개의 블록들을 포함한다. 다른 예들에서, 모션 예측 비디오 블록들의 세트는 더 많거나 더 적은 모션 예측 비디오 블록들을 포함할 수 있다. 세트 및 세트 내에 포함된 모션 예측 비디오 블록들의 사이즈는 각각의 현재 비디오 블록에 대해 변화할 수 있다. 예를 들어, 도 5 에 도시된 5 개의 비디오 블록들을 이용하여 3 개의 모션 예측 비디오 블록들의 세트가 생성될 수 있다.
모션 예측 비디오 블록의 모션 정보와 연관된 POC (picture order count) 가 모션 예측 비디오 블록들의 각각과 현재 비디오 블록 사이의 시간적 거리를 정의하는데 이용될 수도 있다. 도 4 및 도 5 에 도시된 예에서, 코딩되는 현재 비디오 블록이 프레임 5 에 위치된다 (POC=5). 모션 예측 비디오 블록들의 모션 정보는 블록 L 에 대해서는 프레임 0, 블록 BL 에 대해서는 프레임 1, 블록 T 에 대해서는 프레임 2, 블록 Temp 에 대해서는 프레임 3, 및 블록 TR 에 대해서는 프레임 4 를 가리킨다. 이에 따라, 모션 예측 블록들의 계층구조는 블록 TR 에 뒤이어 블록 Temp, 뒤이어 블록 T, 뒤이어 블록 BL, 뒤이어 블록 L 과 같이 정의될 수도 있다.
상술된 바와 같이, 예측 인코딩 유닛 (32) 은 도 5 에 도시된 예시적인 순서화된 계층구조를 활용하여 현재 비디오 블록에 대한 모션 정보를 인코딩할 수도 있다. 일 예에서, 순서화된 계층구조는 미리 프로그래밍되어 메모리 (34) 내에 저장될 수 있다. 다른 예에서, 비디오 인코더 (50) 는 비디오 데이터를 분석함으로써 계층구조들을 적응적으로 생성할 수도 있다. 계층구조가 결정되면, 모션 예측 비디오 블록들의 각각에 인덱스 값들로서 가변 코드 워드들이 할당될 수 있다. 주어진 현재 비디오 블록에 대해 가장 높이 랭크된 모션 예측 비디오 블록인 가장 높은 확률을 갖는 모션 예측 비디오 블록에는 가장 짧은 코드 워드가 할당될 수도 있다. 도 5 에 도시된 예에서, 비디오 블록 (TR) 이 가장 짧은 코드 워드를 가질 수도 있다. 상이하게 인덱스 값들을 할당함으로써, 순서화된 계층구조 (예를 들어, 모션 정보의 시간적 거리) 에 따라, 비트 절약들이 달성될 수도 있다. 일부 경우들에서, (예를 들어, 모션 정보의 시간적 거리의 면에서) 보다 나은 상관관계로 모션 예측 비디오 블록들에 보다 짧은 코드들을 할당하는데 가변 길이 코드들이 이용될 수도 있다. 다른 경우들에서, 고정 코드들이 이용될 수도 있으나, 일부 모션 예측 비디오 블록들이 제외됨으로써, 보다 적은 모션 예측 비디오 블록들의 이용으로 인해 보다 짧은 고정 코드들을 허용할 수도 있다.
예측 인코딩 유닛 (32) 은 현재 비디오 블록의 모션 정보를 세트 내의 모션 예측 블록들의 모션 정보와 비교하여 현재 비디오에 대한 인덱스 값을 선택할 수도 있으며, 여기서 인덱스 값은 모션 예측 비디오 블록 중 하나의 모션 예측 비디오 블록을 식별한다. 코딩 모드에 기초하여, 식별된 모션 예측 비디오 블록으로부터 모션 벡터를 승계하거나, 잔여 모션 벡터 정보를 식별된 모션 예측 비디오 블록의 모션 벡터와 가산 또는 감산함으로써 모션 벡터를 계산하기 위해, 인덱스 값을 이용함으로써, 현재 비디오 블록의 모션 정보가 생성될 수도 있다.
도 4 및 도 5 에 도시된 예시적인 방법은 현재 비디오 블록 및 모션 예측 비디오 블록이 단일 예측 방향 모드를 이용하는 시나리오에 기초할 수도 있다. 그러나, 도 4 및 도 5 의 방법은 또한, 현재 비디오 블록에 대해, 쌍 예측 모드로 코딩된 모션 예측 비디오 블록들의 2 개의 상이한 예측 블록들의 결합된 거리를 고려함으로써, 각각의 비디오 블록이 2 개의 모션 벡터들을 갖는 쌍 예측 시나리오들로 확장될 수도 있다. 일부 예들에서, 모션 예측 비디오 블록들 중 임의의 모션 예측 비디오 블록이 동일한 POC 를 갖는 경우, 모션 예측 비디오 블록들을 순서화하는데 디폴트 순서가 이용될 수도 있거나 다른 기준이 이용될 수도 있다. 일 예에서, 디폴트 순서는 블록 T, 뒤이어 블록 L, 뒤이어 블록 Temp, 뒤이어 블록 TR, 뒤이어 블록 BL 일 수도 있다. 5 개의 블록 세트에 있어서, 120 개의 가능한 순서들 중 임의의 순서가 디폴트 순서로서 이용될 수도 있다. 순서를 결정하는데 이용될 수도 있는 다른 기준은: 참조 리스트, 참조 인덱스, 예측 방향, 블록 사이즈, 예측 유닛 사이즈, 예측 파티션 유형, 변환 인덱스, 변환 사이즈, 또는 비디오 블록들과 관련된 다른 정보를 포함할 수도 있다. 예를 들어, 순서화하는 것은 코딩되는 비디오 블록의 사이즈 또는 형상이 모션 예측 비디오 블록들의 사이즈 또는 형상인지 여부에 기초할 수도 있다. 하나 이상의 모션 예측 비디오 블록들이 단지 특정 시간적 특성만으로 순서화될 수 없는 경우 (예를 들어, 각각의 모션 예측 비디오 블록이 동일한 예측 블록을 참조하는 경우), 추가적인 분석을 행하거나 디폴트 순서를 정의하는데 제 2 기준이 이용될 수 있다. 제 2 기준은 본원에 설명된 다른 순서화 기법들에 기초할 수도 있다. 본 개시물에 의해 설명된 다른 기법에서, 모션 예측 비디오 블록들의 세트는 현재 비디오 블록의 파티션 형상에 기초하여 순서화된 계층구조로 구조화될 수도 있다.
본 개시물에 따라, 예측 인코딩 유닛 (32) 은 다른 기법들을 이용하여 현재 비디오 블록의 모션 정보를 인코딩할 수도 있다. 도 6 은 현재 비디오 블록의 모션 정보를 어떻게 인코딩할지를 결정할 목적으로 분석될 수도 있는 가능한 비디오 블록들의 일 예를 도시하는 개념적 다이어그램이다. 도 6 에서, 비디오 블록들은 현재 비디오 블록과 동일한 프레임 내에 위치된다. 다른 예에서, 후보 비디오 블록들은 또한 현재 비디오 블록과는 상이한 (이미 인코딩된/디코딩된) 프레임들 내에 위치될 수도 있다. 예를 들어, 하나 이상의 이전에 코딩된 프레임들로부터의, 현재 비디오 블록과 동일한 곳에 위치된 블록은 또한 후보 비디오 블록일 수도 있다. 예측 인코딩 유닛 (32) 은 도 6 에 도시된 후보 비디오 블록들의 모션 정보를 분석할 수도 있다.
도 7 은 현재 비디오 블록에 대한 모션 정보를 인코딩하기 위해 기준에 기초하여 비디오 블록들을 분석하는 방법의 일 예를 도시하는 개념적 다이어그램이다. 기본적으로 도 7 에 도시된 예는 현재 비디오 블록의 모션 정보를 현재 비디오 블록의 모션 정보를 인코딩하는데 이용될 수도 있는 비디오 블록들과 비교하기 위한 효율적인 방식을 도시한다. 도 7 에 따라 설명된 예는 모션 예측 비디오 블록들의 다양한 사이즈의 세트를 탐색하는데 이용될 수도 있다.
도 7 에 도시된 예에서, 11 개의 모션 예측 비디오 블록들이 있다. 비디오 블록들의 각각은 방향 모드 값 (즉, 단일 예측 또는 쌍 예측), 참조 리스트 값, 및 참조 인덱스 값을 포함한다. 현재 비디오 블록의 모션 정보를 도 7 에 도시된 11 개의 모션 예측 비디오 블록들의 각각의 모션 정보와 비교하기에 앞서, 방향 모드 값, 참조 리스트 값, 및 참조 인덱스 값의 제 1 비교가 일어날 수도 있다. 이는 보다 적은 모션 정보 비교들이 일어나는 것을 야기할 수도 있다. 이러한 방식의 예측 인코딩 유닛 (32) 은 현재 비디오 블록에 대한 모션 예측 비디오 블록을 효율적으로 탐색할 수도 있다. 도 7 에 도시된 예에 따라, 모션 예측 비디오 블록의 참조 리스트 값 및 참조 인덱스 값이 현재 비디오 블록과 비교될 수도 있다. 도 7 에 도시된 예에서, 모션 예측 비디오 블록의 모션 벡터가 현재 비디오 블록들의 모션 벡터의 참조 리스트 및 참조 인덱스와 동일한 참조 리스트 및 동일한 참조 인덱스로부터 예측하는지 여부의 결정이 이루어질 수도 있다. 도 7 에 보여진 예에 도시된 바와 같이, 현재의 비디오 블록이 쌍 모드로 코딩되는 것으로 가정하고, 이러한 쌍 예측 모드에서 이용되는 2 개의 벡터들은 참조 리스트 (L1) 및 참조 인덱스 (0) 를 가리킨다. 모션 예측 비디오 블록들의 탐색이 행해져 쌍 예측 모드로 코딩된 블록들을 찾을 수도 있고, 이러한 쌍 예측 모드에서 이용되는 2 개의 모션 벡터들은 참조 리스트 (L1) 및 참조 인덱스 (0) 를 가리킨다.
도 7 에 도시된 예시적인 탐색 방법에서, 탐색은 (비디오 블록들 0 내지 4 로부터) 좌측 탐색 방향을 따라 좌측으로부터 시작하여, 매치를 찾게 되는 경우 (이 예에서는 후보 비디오 블록 2 가 매치이다), 좌측 탐색이 중지되고 상단 탐색 방향을 따라 후보 비디오 블록들 5 내지 10 으로부터 상단 탐색이 시작된다. 상단 비디오 블록 후보들의 제 1 매치를 찾게되면 (이 예에서는 비디오 블록 6 이 매치이다), 상단 탐색이 중지될 수도 있다. 현재 비디오 블록의 모션 정보는 비디오 블록 (2) 및 비디오 블록 (6) 의 모션 정보와 비교될 수도 있다. 이러한 프로세스는 예측 비디오 블록의 필요한 유닛 모션 정보가 현재 비디오 블록의 모션 정보의 임계치는 속하는 한 반복될 수도 있다.
도 7 에 도시된 예에서, 예측 방향이 고려되지 않은 경우, 모션 예측 블록들의 세트는 비디오 블록 (0) (좌측 탐색에서 제 1 매치) 및 비디오 블록 (6) (상부 탐색에서 제 1 매치) 을 포함할 수도 있음에 유의해야 한다. 후보 비디오 블록 (0) 은 결국 현재 비디오 블록의 모션 벡터 정보의 예측에 유용하지 않을 수도 있는데, 후보 비디오 블록 (0) 이 단일 예측 모드로 코딩되기 때문이다.
본 개시물의 예들과 일관되게, 추가적인 기준이 후보 비디오 블록들을 분석하는데 가산될 수도 있다. 참조 리스트, 참조 인덱스, 및 예측 방향 이외에, 추가적인 기준은 블록 사이즈, 예측 유닛 사이즈, 예측 파티션 유형, 변환 인덱스, 변환 사이즈, 또는 비디오 블록과 관련된 다른 정보 중 하나 이상을 포함할 수도 있다.
예측 인코딩 유닛 (32) 은 인덱스 값을 생성하여 모션 예측 블록을 어디에 위치시킬지를 (예를 들어, 상단, 좌측, 또는 동일한 곳에 위치시킴) 디코더에 알려줄 수도 있다. 디코더는 상응하는 탐색 프로세스를 수행하여 모션 예측 비디오 블록을 결정할 수도 있다. 이러한 방식으로, 디코더는 비디오 블록들의 서브세트의 탐색을 수행함으로써 현재 비디오 블록에 대한 모션 벡터를 생성할 수도 있다. 도 7 을 참조하면, 인덱스 값은 알려진 세트로부터의 모션 예측 비디오 블록들 (즉, 비디오 블록들 0 내지 4, 또는 비디오 블록들 5 내지 10) 의 서브세트를 가리킬 수도 있다. 인덱스 값을 이용하여, 디코더는 모션 예측 비디오 블록들의 방향 모드 값, 참조 리스트 값, 및 참조 인덱스 값과 같은 정보를 현재 비디오 블록과 비교할 수 있다. "매치" 가 있는 경우, 현재 비디오 블록에 대한 모션 정보가 "매치" 를 산출하는 제 1 예측 비디오 블록으로부터 생성될 수도 있다. 이러한 방식에서, 현재 비디오 블록에 대한 모션 정보가 서브세트를 식별하는 인덱스 값을 이용함으로써 인코딩될 수도 있다. 이는 예측 비디오 블록을 식별하는 인덱스 값을 생성하는 것과 비교하는 경우 상당한 비트 절약들을 달성할 수도 있다.
본 개시물에 따라, 예측 인코딩 유닛 (32) 은 순서화된 계층구조를 이용하여 현재 비디오 블록의 모션 정보를 인코딩할 수도 있으며, 여기서 순서화된 계층구조는 파티션 정보에 기초한다. 도 8 은 비디오 블록 파티션들의 예들을 도시하는 개념적 다이어그램이다. 도 8 에 도시된 예측 파티션 형상들은 예측 파티션 형상들의 일부 예들이며, 예측 파티션 형상들은 최근에 만들어진 고효율 비디오 코딩 (HEVC) 표준과 일관되는 예측 유닛 (PU) 및 PU 인덱스에 의해 정의될 수도 있다. (PU 형상, 및 PU 의 사이즈를 정의하는 인덱스에 의해 정의될 수도 있는) 파티션 형상을 이용하여 현재 비디오 블록의 모션 정보를 인코딩하는 경우, 5 개의 후보 블록들이 높은 확률 대 낮은 확률로 순서화될 수도 있다. 여기서 확률은 5 개의 후보 비디오 블록들 중 하나의 후보 비디오 블록의 모션 벡터가 현재 비디오 블록의 모션 벡터와 "매치" 할 확률에 대응한다. 순서화된 세트들은 인코더 및 디코더 양자 모두에 미리 프로그래밍되고 저장될 수 있다.
도 9a - 도 9k 는 모션 예측 비디오 블록들의 세트에 대한 파티션 유형에 기초하여 순서화된 계층구조를 생성하는 예들을 도시하는 개념적 다이어그램들이다. 도 9a - 도 9k 에 도시된 예들에서, 모션 예측 블록들의 세트는 도 1a 에 도시된 5 개의 블록들을 포함한다. 다른 예들에서, 모션 예측 비디오 블록들의 세트는 더 많거나 더 적은 모션 예측 비디오 블록들을 포함할 수 있다. 예를 들어, 일 세트는 3 개의 모션 예측 비디오 블록들을 포함할 수도 있다. 일 세트 내에 보다 적은 모션 예측 비디오 블록들을 포함시키는 것은 코딩 복잡도를 감소시킬 수도 있다.
도 9a - 도 9k 에 도시된 예들에서, 모션 예측 비디오 블록들 내의 숫자들은 모션 예측 비디오 블록들의 계층적 순서를 나타낸다. (PU 형상, 및 PU 의 사이즈를 정의하는 인덱스에 의해 정의될 수도 있는) 각각의 예측 파티션 형상에 있어서, 순서화는 인코더 및 디코더 양자 모두에서 미리 프로그래밍되어 저장될 수도 있다.
예를 들어, 도 9a 에서, 파티션 형상이 2N×2N 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 L, 블록 T, 블록 BL, 블록 TR, Temp 와 같이 정의될 수도 있다.
예를 들어, 도 9b 에서, 파티션 형상이 2N×N_0 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 T, 블록 L, 블록 TR, 블록 BL, Temp 와 같이 정의될 수도 있다.
예를 들어, 도 9c 에서, 파티션 형상이 N×2N_1 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 L, 블록 BL, 블록 Temp, 블록 TR, 블록 T 와 같이 정의될 수도 있다.
예를 들어, 도 9d 에서, 파티션 형상이 N×2N_0 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 L, 블록 T, 블록 BL, Temp, 블록 TR 과 같이 정의될 수도 있다.
예를 들어, 도 9e 에서, 파티션 형상이 N×2N_1 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 T, 블록 TR, Temp, 블록 BL, 블록 L 과 같이 정의될 수도 있다.
예를 들어, 도 9f 에서, 파티션 형상이 N×N_O 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 L, 블록 T, 블록 BL, 블록 TR, Temp 와 같이 정의될 수도 있다.
예를 들어, 도 9g 에서, 파티션 형상이 N×N_2 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 L, 블록 BL, 블록 T, 블록 TR, Temp 와 같이 정의될 수도 있다.
예를 들어, 도 9h 에서, 파티션 형상이 N×N_1 인 경우 모션 예측 비디오 블록들의 계층구조는 블록 T, 블록 TR, 블록 T, Temp, 블록 BL 과 같이 정의될 수도 있다.
예를 들어, 도 9i 에서, 파티션 형상이 N×N_3 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 L, 블록 T, Temp, 블록 TR, 블록 BL 과 같이 정의될 수도 있다.
예를 들어, 도 9j 에서, 파티션 형상이 N×2N_0 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 TL, 블록 T, 블록 BL, Temp, 블록 TR, 블록 L 과 같이 정의될 수도 있다.
예를 들어, 도 9k 에서, 파티션 형상이 N×2N_1 인 경우의 모션 예측 비디오 블록들의 계층구조는 블록 T, 블록 TR, Temp, 블록 BL, 블록 TL, 블록 L 과 같이 정의될 수도 있다.
예측 인코딩 유닛 (32) 은 도 9a - 도 9i 에 도시된 예시적인 계층적 순서화를 이용하여 현재 비디오 블록의 모션 정보를 인코딩할 수도 있다. 예시적인 계층적 순서화는 메모리 (34) 내에 저장될 수도 있다. 도 10 은 도 9a - 도 9i 에서의 예시적인 계층적 순서화를 이용하여 비디오 데이터를 인코딩하기 위한 기법을 도시하는 플로차트의 일 예이다. 비록 도 10 이 비디오 인코더 (50) 와 함께 설명되었으나, 도 10 에서 설명된 단계들은 다른 디바이스들 및 컴포넌트들에 의해 수행될 수도 있음에 유의해야 한다. 단계 250 에서, 예측 인코딩 유닛 (32) 은 현재 비디오 블록에 대한 모션 벡터를 획득한다. 상술된 바와 같이, 모션 벡터는 현재 비디오 블록을 인코딩하는데 이용될 수도 있는 예측 비디오 블록을 가리킨다. 단계 252 에서, 예측 인코딩 유닛 (32) 은 현재 비디오 블록의 파티션 유형을 획득한다. 예측 인코딩 유닛 (32) 은 쿼드트리 파티션 유닛 (31) 으로부터 파티션 유형 값을 수신할 수도 있다. 일 예에서, 파티션 유형은 도 9a - 도 9i 에서 설명된 파티션 유형들 중 하나의 파티션 유형에 대응한다.
단계 254 에서, 예측 인코딩 유닛 (32) 은 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택한다. 예를 들어, 파티션 유형이 N×2N_1 인 경우, 순서화된 후보 예측 비디오 블록들의 세트는 블록 T, 블록 TR, Temp, 블록 BL, 블록 L 과 같이 정의될 수도 있다. 단계 256 에서, 예측 인코딩 유닛 (32) 은 현재 비디오 블록의 모션 벡터에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택한다. 256 에서, 현재 비디오 블록의 모션 벡터는 세트 내의 후보 비디오 블록들의 모션 벡터들의 각각과 비교될 수도 있다. 도 7 에 따라 설명된 탐색과 유사한 방식으로 비교가 행해질 수도 있으며, 여기서 최소 수의 모션 벡터 비교들이 수행되고, 모션 벡터가 현재 비디오 블록의 모션 벡터의 임계치 내에 있는 것으로 여기지는 경우 탐색이 완료된다. 단계 258 에서, 예측 인코딩 유닛 (32) 은 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성한다. 예측 비디오 블록들의 각각에 대한 인덱스 값들은 메모리 (34) 내에 저장될 수도 있다.
모션 예측 비디오 블록들의 각각에 대한 인덱스 값들로서 가변 길이 코드 워드들이 이용될 수도 있다. 주어진 현재 비디오 블록에 대해 가장 높이 랭크된 모션 예측 비디오 블록인 가장 높은 확률을 갖는 모션 예측 비디오 블록에는 가장 짧은 코드 워드가 할당될 수도 있다. 가변 길이 인덱스 값들을 할당함으로써, 비트 절약들이 달성될 수도 있다. 디코더는 동일한 계층구조를 알고 있도록 프로그래밍될 수도 있고, 따라서, 수신된 코드워드를 적절히 해석하여 인코더에서 이용된 것과 동일한 선택을 하도록 할 수 있다. 일 예에서, 도 9a - 도 9i 에서 정의된 세트들의 각각에서 가장 높은 랭킹의 예측 비디오 블록에 1 비트 인덱스 값이 할당될 수도 있다. 다른 예들에서, 오직 서브세트 (예를 들어, 5 개 중에서 상위 3 개) 만이 임의의 주어진 시나리오에서 고려될 수도 있는데, 이는 코딩 복잡도를 감소시킬 수도 있다. 이러한 방식으로, 그룹 내의 여러 비디오 블록들이 오직 비디오 블록들의 서브세트만을 이용하여 인코딩되는 경우, 그룹을 인코딩하는데 이용되는 인덱스 값들의 수는 더 감소될 수도 있다. 이러한 경우에, 비디오 인코더 (50) 는 인코딩된 비디오 블록들의 그룹에 대한 감소된 인덱스 값들의 세트를 시그널링할 수도 있다.
본원에 설명된 파티션 형상에 기초하여 모션 예측 비디오 블록들의 순서화된 계층구조를 생성하는 예들은 현재 비디오 블록에 대한 모션 정보를 생성하는 방법들과 함께 활용될 수도 있다. 예를 들어, 인코더는, 다음의 기법들: 식별된 모션 예측 비디오 블록으로부터 모션 벡터 승계, 잔여 모션 벡터 정보를 식별된 모션 예측 비디오 블록의 모션 벡터와 가산하거나 감산함으로써 모션 벡터 계산, 또는 중간값 모션 벡터나 평균 모션 벡터들을 선택함으로써 하나 이상의 가장 높은 랭킹 모션 예측 비디오 블록들로부터 모션 벡터 정보를 이용하여 모션 벡터 계산 중 임의의 기법을 이용하여 현재 비디오 블록을 생성할 수도 있다.
도 11 은 비디오 디코더 (60) 의 일 예를 도시하는 블록 다이어그램으로, 비디오 디코더 (60) 는 본원에 설명된 방식으로 인코딩된 비디오 시퀀스를 디코딩한다. 본 개시물의 기법들은 일부 예들에서 비디오 디코더 (60) 에 의해 수행될 수도 있다. 특히, 비디오 디코더 (60) 는 디코딩 프로세스의 일부분으로서 본원에 설명된 현재 비디오 블록에 대한 모션 정보를 결정하는 기법들 중 하나 이상의 기법을 수행할 수도 있다.
비디오 디코더 (60) 는 도 2 의 엔트로피 인코딩 유닛 (46) 에 의해 수행되는 인코딩의 상응하는 디코딩 기능을 수행하는 엔트로피 디코딩 유닛 (52) 을 포함한다. 특히, 엔트로피 디코딩 유닛 (52) 은 CAVLC 나 CABAC 디코딩, 또는 비디오 디코더 (60) 에 의해 이용되는 임의의 다른 유형의 엔트로피 디코딩을 수행할 수도 있다. 비디오 디코더 (60) 는 또한 예측 디코딩 유닛 (54), 역 양자화 유닛 (56), 역 변환 유닛 (58), 메모리 (62), 및 합산기 (64) 를 포함한다. 특히, 비디오 인코더 (50) 와 마찬가지로, 비디오 디코더 (60) 는 예측 디코딩 유닛 (54) 및 필터 유닛 (57) 을 포함한다. 비디오 디코더 (60) 의 예측 디코딩 유닛 (54) 은 인터 코딩된 블록들을 디코딩하고, 어쩌면 모션 보상 프로세스에서 서브 픽셀 보간을 위한 하나 이상의 보간 필터들을 포함하는 모션 보상 유닛 (86) 을 포함할 수도 있다. 예측 디코딩 유닛 (54) 은 또한 인트라 모드들을 디코딩하기 위한 인트라 예측 유닛을 포함할 수도 있다. 예측 디코딩 유닛 (54) 은 AMVP 를 지원하는 하나 이상의 모드들 및/또는 하나 이상의 병합 모드들을 포함하여 복수의 모드들 (35) 을 지원할 수도 있다. 필터 유닛 (57) 은 합산기 (64) 의 출력을 필터링할 수도 있고, 엔트로피 디코딩된 필터 정보를 수신하여 루프 필터링에 적용된 필터 계수들을 정의할 수도 있다.
인코딩된 비디오 데이터를 수신하면, 엔트로피 디코딩 유닛 (52) 은 (도 2 에서의 인코더 (50) 의) 엔트로피 인코딩 유닛 (46) 에 의해 수행되는 인코딩에 상응하는 디코딩을 수행한다. 디코더에서, 엔트로피 디코딩 유닛 (52) 은 비트스트림을 파싱하여 LCU들 및 LCU들과 연관된 대응하는 파티셔닝을 결정한다. 일부 예들에서, LCU 또는 LCU 의 CU들은 이용된 코딩 모드들을 정의할 수도 있고, 이러한 코딩 모드들은 쌍 예측 병합 모드를 포함할 수도 있다. 이에 따라, 엔트로피 디코딩 유닛 (52) 은 예측 유닛에 쌍 예측 병합 모드를 식별하는 구문 정보를 포워딩할 수도 있다.
도 12 는 도 9a - 도 9i 에서의 예시적인 계층적 순서화를 이용하여 비디오 데이터를 디코딩하는 기법을 도시하는 플로차트의 일 예이다. 비록 도 12 가 비디오 인코더 (60) 와 함께 설명되었으나, 도 12 에 설명된 단계들은 다른 디바이스들 및 컴포넌트들에 의해 수행될 수도 있음에 유의해야 한다. 단계 350 에서, 예측 디코딩 유닛 (54) 은 현재 비디오 블록에 대한 인덱스 값을 획득한다. 도 10 에 따라 상술된 바와 같이, 인덱스 값은 현재 비디오 블록에 대한 모션 벡터를 생성하는데 이용될 수도 있는 예측 비디오 블록을 가리킨다. 단계 352 에서, 예측 디코딩 유닛 (54) 은 현재 비디오 블록에 대한 파티션 유형을 획득한다. 일 예에서, 파티션 유형은 도 9a - 도 9i 에서 설명된 파티션 유형들 중 하나의 파티션 유형에 대응한다. 단계 354 에서, 예측 디코딩 유닛 (54) 은 파티션 유형에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 하나의 정의된 세트를 선택한다. 예를 들어, 파티션 유형이 N×2N_1 인 경우, 순서화된 후보 예측 비디오 블록들의 세트는 블록 T, 블록 TR, Temp, 블록 BL, 블록 L 과 같이 정의될 수도 있다. 단계 356 에서, 예측 디코딩 유닛 (54) 은 인덱스 값에 기초하여 순서화된 후보 예측 비디오 블록들의 복수의 정의된 세트들 중 선택된 하나의 정의된 세트로부터 예측 비디오 블록을 선택한다. 단계 358 에서, 예측 디코딩 유닛 (54) 은 모션 벡터를 생성한다. 예를 들어, 예측 디코딩 유닛 (54) 은, 다음의 기법들; 식별된 모션 예측 비디오 블록으로부터 모션 벡터 승계, 잔여 모션 벡터 정보를 식별된 모션 예측 비디오 블록의 모션 벡터와 가산하거나 감산함으로써 모션 벡터 계산, 또는 중간값 모션 벡터나 평균 모션 벡터들을 선택함으로써 하나 이상의 높은 랭킹 모션 예측 비디오 블록들로부터 모션 벡터 정보를 이용하여 모션 벡터 계산 중 임의의 기법을 이용하여 현재 모션 벡터를 생성할 수도 있다.
도 12 에 도시된 예에서, 디코더 (60) 는 도 9a - 도 9i 에 설명된 파티션 형상 계층구조들을 알고 있도록 프로그래밍될 수도 있고, 따라서, 수신된 인덱스 값을 적절히 해석하여 인코더 (50) 와 동일한 예측 비디오 블록 선택을 하도록 할 수도 있다. 일 예에서, 도 9a - 도 9i 에서 정의된 세트들의 각각에서 가장 높은 랭킹의 예측 비디오 블록에 1 비트 인덱스 값이 할당될 수도 있다. 다른 예들에서, 오직 서브세트 (예를 들어, 5 개 중에서 상위 3 개) 만이 임의의 주어진 시나리오에서 고려될 수도 있는데, 이는 코딩 복잡도를 감소시킬 수도 있다. 예를 들어, N×2N_1 파티션에 있어서, 순서화된 후보 예측 비디오 블록들 (블록 T, 블록 TR, 및 Temp) 의 세트에는 다음의 인덱스 값들: 1, 01, 및 00 이 할당될 수도 있다. 이러한 방식으로, 여러 비디오 블록들이 오직 상위 3 개의 비디오 블록들만을 이용하여 인코딩되는 경우 인덱스 값들이 추가적인 비트 절약들을 할 수 있는 것이 달성될 수도 있다. 이러한 경우에, 비디오 인코더 (50) 는 인코딩된 비디오 블록들의 그룹에 대한 다수의 예측 모션 비디오 블록들을 시그널링할 수도 있다. 이는 블록들의 좌측 세트의 세트가 도 7 에 따라 설명된 예에서 시그널링되는 것과 유사한 방식으로 이루어질 수 있다.
예에 따라, 본원에 설명된 기법들 중 임의의 기법의 소정의 작용들 또는 이벤트들은 상이한 시퀀스로 수행될 수 있으며, 가산, 병합, 또는 모두 배제될 수도 있음이 이해되어야 한다 (예를 들어, 반드시 모든 설명된 작용들 또는 이벤트들이 기법들의 실시를 위해 필요한 것은 아니다). 또한, 소정의 예들에서, 작용들 및 이벤트들은, 순차적으로 수행되는 대신에, 예를 들어, 멀티 스레드 프로세싱, 인터럽트 프로세싱, 또는 멀티 프로세서들을 통해 동시에 수행될 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능 매체 상에 저장되거나 송신되고, 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은, 데이터 저장 매체들과 같은 유형의 매체, 또는 예를 들어, 통신 프로토콜에 따라 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체들에 대응하는 컴퓨터 판독가능 저장 매체들을 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 개시물에 설명된 기법들의 구현을 위한 명령들, 코드, 및/또는 데이터 구조들을 검색하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
비제한적인 예로서, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터 판독가능 매체라고 적절히 칭해진다. 예를 들어, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (digital subscriber line; DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속부들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비일시적, 유형의 저장 매체들에 대한 것임이 이해되어야 한다. 본원에서 이용된 바와 같은 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크(CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은, 하나 이상의 디지털 신호 프로세서 (digital signal processor; DSP) 들, 범용 마이크로프로세서들, 주문형 집적 회로 (application specific integrated circuit; ASIC) 들, 필드 프로그래머블 로직 어레이 (field programmable logic array; FPGA) 들, 또는 다른 등가의 집적 또는 이산 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 본원에 이용되는 바와 같은 용어 "프로세서" 는 앞서 언급한 구조들, 또는 본원에 설명된 기법들을 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양상들에서, 본원에 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 통합 코덱에 포함될 수도 있다. 또한, 상기 기법들은 하나 이상의 회로들 또는 로직 소자들로 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (integrated circuit; IC), 또는 IC 들의 세트 (예를 들어, 칩셋) 를 포함하여, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양상들을 강조하기 위해 다양한 컴포넌트들, 모듈들, 또는 유닛들이 본 개시물에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 대신, 상술된 바와 같이, 다양한 유닛들은 적합한 소프트웨어 및/또는 펌웨어와 연계하여 코덱 하드웨어 유닛으로 결합되거나 상술된 바와 같은 하나 이상의 프로세서들을 포함하여 상호동작적 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (38)

  1. 병합 모드에서 코딩된 현재 비디오 블록에 대한 인덱스 값을 획득하는 단계;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 상기 병합 모드에 대한 후보 예측 블록들의 세트를 생성하는 단계;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 단계로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 단계;
    상기 인덱스 값에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하는 단계; 및
    상기 예측 비디오 블록의 모션 정보에 기초하여 상기 병합 모드에 따라 상기 현재 비디오 블록에 대해 모션 정보를 생성하는 단계로서, 상기 현재 비디오 블록에 대해 상기 모션 정보를 생성하는 것은 상기 예측 비디오 블록으로부터 모션 정보를 승계하는 것을 포함하는, 상기 현재 비디오 블록에 대해 모션 정보를 생성하는 단계를 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 방법.
  3. 제 2 항에 있어서,
    상기 후보 예측 블록들의 세트는 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp)을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 모션 정보를 승계하는 것은 상기 예측 비디오 클록으로부터 모션 벡터 및 기준 프레임 인덱스를 승계하는 것을 포함하는, 병합모드에 따라 비디오 데이터를 디코딩하는 방법.
  5. 삭제
  6. 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스로서,
    상기 디바이스는,
    비디오 데이터를 저장하도록 구성된 메모리; 및
    상기 메모리와 통신하도록 구성된 비디오 디코더를 포함하고,
    상기 비디오 디코더는,
    상기 병합 모드에서 코딩된 현재 비디오 블록에 대한 인덱스 값을 획득하고;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 상기 병합 모드에 대한 후보 예측 블록들의 세트를 생성하며;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 것으로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하며;
    상기 인덱스 값에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하고;
    상기 예측 비디오 블록의 모션 정보에 기초하여 상기 병합 모드에 따라 상기 현재 비디오 블록에 대해 모션 정보를 생성하도록 구성되며, 상기 현재 비디오 블록에 대해 상기 모션 정보를 생성하는 것은 상기 예측 비디오 블록으로부터 모션 벡터를 승계하는 것을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  7. 제 6 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  8. 제 7 항에 있어서,
    상기 후보 예측 블록들의 세트는 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp) 을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  9. 제 6 항에 있어서,
    상기 모션 정보를 승계하는 것은 상기 예측 비디오 클록으로부터 모션 벡터 및 기준 프레임 인덱스를 승계하도록 구성되는 것을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  10. 삭제
  11. 제 6 항에 있어서,
    상기 디바이스는,
    집적 회로;
    마이크로프로세서; 및
    상기 비디오 디코더를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  12. 비디오 데이터를 저장하기 위한 수단;
    병합 모드에서 코딩된 현재 비디오 블록에 대한 인덱스 값을 획득하기 위한 수단;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 상기 병합 모드에 대한 후보 예측 블록들의 세트를 생성하는 수단;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 수단으로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 수단;
    상기 인덱스 값에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하기 위한 수단; 및
    상기 예측 비디오 블록의 모션 정보에 기초하여 상기 병합 모드에 따라 상기 현재 비디오 블록에 대해 모션 정보를 생성하기 위한 수단으로서, 상기 현재 비디오 블록에 대해 상기 모션 정보를 생성하기 위한 수단은 상기 예측 비디오 블록으로부터 모션 정보를 승계하기 위한 수단을 포함하는, 상기 현재 비디오 블록에 대해 모션 정보를 생성하기 위한 수단을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  13. 제 12 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  14. 제 13 항에 있어서,
    상기 후보 예측 블록들의 세트는 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp) 을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  15. 제 12 항에 있어서,
    상기 모션 정보를 승계하기 위한 수단은 상기 예측 비디오 클록으로부터 모션 벡터 및 기준 프레임 인덱스를 승계하는 것을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스.
  16. 삭제
  17. 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행되는 경우, 병합 모드에 따라 비디오 데이터를 디코딩하는 디바이스의 프로세서로 하여금,
    병합 모드에서 코딩된 현재 비디오 블록에 대한 인덱스 값을 획득하며;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 상기 병합 모드에 대한 후보 예측 블록들의 세트를 생성하며;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 것으로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하며;
    상기 인덱스 값에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하고;
    상기 예측 비디오 블록의 모션 정보에 기초하여 상기 병합 모드에 따라 상기 현재 비디오 블록에 대해 모션 정보를 생성하도록 하고, 상기 현재 비디오 블록에 대해 상기 모션 정보를 생성하는 것은 상기 예측 비디오 블록으로부터 모션 벡터를 승계하는 것을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하기 위한 컴퓨터 판독가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하기 위한 컴퓨터 판독가능 저장 매체.
  19. 제 18 항에 있어서,
    상기 후보 예측 블록들의 세트는 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp) 을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하기 위한 컴퓨터 판독가능 저장 매체.
  20. 제 17 항에 있어서,
    실행되는 경우 프로세서로 하여금 상기 모션 정보를 승계하도록 하는 상기 명령들은, 실행되는 경우 프로세서로 하여금 상기 예측 비디오 클록으로부터 모션 벡터 및 기준 프레임 인덱스를 승계하도록 하는 명령들을 포함하는, 병합 모드에 따라 비디오 데이터를 디코딩하기 위한 컴퓨터 판독가능 저장 매체.
  21. 삭제
  22. 병합 모드에 따라 비디오 데이터를 인코딩하는 방법으로서,
    현재 비디오 블록에 대한 모션 벡터를 획득하는 단계;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 상기 병합 모드에대한 후보 예측 블록들의 세트를 생성하는 단계;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 단계로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 단계;
    상기 모션 벡터에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하는 단계; 및
    상기 병합 모드에 따라 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성하는 단계를 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 방법.
  23. 제 22 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 방법.
  24. 제 23 항에 있어서,
    상기 적어도 5 개의 가능한 비디오 블록들은 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp) 을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 방법.
  25. 삭제
  26. 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스로서,
    상기 디바이스는,
    비디오 데이터를 저장하도록 구성된 메모리; 및
    상기 메모리와 통신하도록 구성된 비디오 인코더를 포함하고,
    상기 비디오 인코더는,
    현재 비디오 블록에 대한 모션 벡터를 획득하고;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 상기 병합 모드에 대한 후보 예측 블록들의 세트를 생성하며;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 것으로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하며;
    상기 모션 벡터에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하고;
    상기 병합 모드에 따라 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성하도록 구성되는, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스.
  27. 제 26 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스.
  28. 제 27 항에 있어서,
    상기 적어도 5 개의 가능한 비디오 블록들은 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp) 을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스.
  29. 삭제
  30. 제 26 항에 있어서,
    상기 디바이스는,
    집적 회로;
    마이크로프로세서; 및
    상기 비디오 인코더를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스.
  31. 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스로서,
    비디오 데이터를 저장하기 위한 수단;
    현재 비디오 블록에 대한 모션 벡터를 획득하기 위한 수단;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 후보 예측 블록들의 세트를 생성하기 위한 수단;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하기 위한 수단으로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하기 위한 수단;
    상기 모션 벡터에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하기 위한 수단; 및
    상기 병합 모드에 따라 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성하기 위한 수단을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스.
  32. 제 31 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는 세트를 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스.
  33. 제 32 항에 있어서,
    상기 적어도 5 개의 가능한 비디오 블록들은 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp) 을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스.
  34. 삭제
  35. 병합 모드에 따라 비디오 데이터를 인코딩하기 위한 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행되는 경우, 병합 모드에 따라 비디오 데이터를 인코딩하는 디바이스의 프로세서로 하여금,
    현재 비디오 블록에 대한 모션 벡터를 획득하고;
    상기 현재 비디오 블록에 인접한 공간 및 시간에 기초하여 상기 병합 모드에 대한 후보 예측 블록들의 세트를 생성하며;
    상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트를 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하는 것으로서, 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트는 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 세트보다 작게 제한되는, 상기 병합 모드에 대해 생성된 후보 예측 블록들의 서브 세트에 제한하며;
    상기 모션 벡터에 기초하여 상기 병합 모드에 대해 생성된 상기 후보 예측 블록들의 서브 세트로부터 예측 비디오 블록을 선택하고;
    상기 병합 모드에 따라 선택된 예측 비디오 블록을 식별하는 인덱스 값을 생성하도록 하는, 병합 모드에 따라 비디오 데이터를 인코딩하기 위한 컴퓨터 판독가능 저장 매체.
  36. 제 35 항에 있어서,
    상기 서브 세트는 적어도 5 개의 가능한 비디오 블록들로부터 선택된 3 개의 후보 예측 블록들을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하기 위한 컴퓨터 판독가능 저장 매체.
  37. 제 36 항에 있어서,
    상기 적어도 5 개의 가능한 비디오 블록들은 상기 현재 비디오 블록에 인접한 좌측 비디오 블록 (L), 상기 현재 비디오 블록에 인접한 상측 비디오 블록 (T), 상기 현재 비디오 블록에 인접한 상부 우측 비디오 블록 (TR), 상기 현재 비디오 블록에 인접한 하부 좌측 비디오 블록 (BL), 및 상기 현재 비디오 블록에 인접한 시간적 비디오 블록 (Temp) 을 포함하는, 병합 모드에 따라 비디오 데이터를 인코딩하기 위한 컴퓨터 판독가능 저장 매체.
  38. 삭제
KR1020137024971A 2011-02-24 2012-02-23 모션 예측 비디오 블록들의 계층구조 KR101918318B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201161446392P 2011-02-24 2011-02-24
US61/446,392 2011-02-24
US201161447017P 2011-02-26 2011-02-26
US61/447,017 2011-02-26
US201161451493P 2011-03-10 2011-03-10
US61/451,493 2011-03-10
US201161529110P 2011-08-30 2011-08-30
US61/529,110 2011-08-30
US201161531514P 2011-09-06 2011-09-06
US201161531526P 2011-09-06 2011-09-06
US61/531,514 2011-09-06
US61/531,526 2011-09-06
US13/402,719 2012-02-22
US13/402,719 US10171813B2 (en) 2011-02-24 2012-02-22 Hierarchy of motion prediction video blocks
PCT/US2012/026368 WO2012116212A1 (en) 2011-02-24 2012-02-23 Hierarchy of motion prediction video blocks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028852A Division KR20160124242A (ko) 2011-02-24 2012-02-23 모션 예측 비디오 블록들의 계층구조

Publications (2)

Publication Number Publication Date
KR20130129445A KR20130129445A (ko) 2013-11-28
KR101918318B1 true KR101918318B1 (ko) 2018-11-13

Family

ID=46718984

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167028852A KR20160124242A (ko) 2011-02-24 2012-02-23 모션 예측 비디오 블록들의 계층구조
KR1020137024971A KR101918318B1 (ko) 2011-02-24 2012-02-23 모션 예측 비디오 블록들의 계층구조

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167028852A KR20160124242A (ko) 2011-02-24 2012-02-23 모션 예측 비디오 블록들의 계층구조

Country Status (17)

Country Link
US (2) US10171813B2 (ko)
EP (1) EP2679011B1 (ko)
JP (1) JP2014511618A (ko)
KR (2) KR20160124242A (ko)
CN (1) CN103404143B (ko)
AU (1) AU2012220567B2 (ko)
BR (1) BR112013021612B1 (ko)
CA (1) CA2828217C (ko)
DK (1) DK2679011T3 (ko)
ES (1) ES2912367T3 (ko)
IL (1) IL227925A (ko)
MY (1) MY169658A (ko)
PL (1) PL2679011T3 (ko)
RU (1) RU2562379C2 (ko)
SG (1) SG192739A1 (ko)
SI (1) SI2679011T1 (ko)
WO (1) WO2012116212A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
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
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
JP5982734B2 (ja) * 2011-03-11 2016-08-31 ソニー株式会社 画像処理装置および方法
EP3139611A1 (en) * 2011-03-14 2017-03-08 HFI Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
JP5808427B2 (ja) * 2011-03-14 2015-11-10 メディアテック インコーポレイテッド 動きベクトル候補及び動きベクトル予測候補の導出のための方法及び装置
KR102005088B1 (ko) 2011-03-21 2019-10-01 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
US9247266B2 (en) 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
JP2013005077A (ja) * 2011-06-14 2013-01-07 Sony Corp 画像処理装置および方法
KR20130050406A (ko) 2011-11-07 2013-05-16 오수미 머지 모드에서의 움직임 정보 생성 방법
KR20130050149A (ko) 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
SI3503554T1 (sl) 2011-12-16 2020-06-30 JVC Kenwood Corporation Naprava za kodiranje dinamičnih slik, postopek za kodiranje dinamičnih slik, program za kodiranje dinamičnih slik
JP5900308B2 (ja) * 2011-12-16 2016-04-06 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5561348B2 (ja) * 2011-12-16 2014-07-30 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
RU2606399C9 (ru) 2011-12-28 2017-07-12 ДжейВиСи КЕНВУД КОРПОРЕЙШН Устройство кодирования движущегося изображения, способ кодирования движущегося изображения и программа кодирования движущегося изображения, а также устройство декодирования движущегося изображения, способ декодирования движущегося изображения и программа декодирования движущегося изображения
EP2878125A4 (en) * 2012-07-27 2016-10-12 Hfi Innovation Inc CONSTRAINED DISPARITY VECTOR DERIVATION METHOD IN 3D VIDEO CODING
JP2014082639A (ja) * 2012-10-16 2014-05-08 Canon Inc 画像符号化装置およびその方法
US9350970B2 (en) * 2012-12-14 2016-05-24 Qualcomm Incorporated Disparity vector derivation
US8976220B2 (en) * 2013-07-05 2015-03-10 Sorenson Communications, Inc. Devices and methods for hosting a video call between a plurality of endpoints
CN105531999B (zh) * 2013-07-09 2019-08-09 诺基亚技术有限公司 涉及用于信号传输运动信息的语法的视频编码方法及装置
US9479788B2 (en) * 2014-03-17 2016-10-25 Qualcomm Incorporated Systems and methods for low complexity encoding and background detection
WO2017008255A1 (en) * 2015-07-14 2017-01-19 Mediatek Singapore Pte. Ltd. Advanced intra prediction mode signaling in video coding
JP6036976B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
JP6036975B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
JP6036974B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
JP6036977B2 (ja) * 2015-12-08 2016-11-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
US10602174B2 (en) 2016-08-04 2020-03-24 Intel Corporation Lossless pixel compression for random video memory access
JP6288209B2 (ja) * 2016-10-24 2018-03-07 株式会社Jvcケンウッド 画像符号化装置
US20180184107A1 (en) * 2016-12-28 2018-06-28 Novatek Microelectronics Corp. Motion estimation method and motion estimation apparatus
CN106878728B (zh) * 2017-01-19 2019-06-07 西安万像电子科技有限公司 图像的压缩方法和装置
EP3399754A1 (en) 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus for most probable mode (mpm) reordering for intra prediction
US10291925B2 (en) * 2017-07-28 2019-05-14 Intel Corporation Techniques for hardware video encoding
JP7210568B2 (ja) 2017-10-13 2023-01-23 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ブロック単位の画像符号化のためのイントラ予測モード概念
US20190116374A1 (en) * 2017-10-17 2019-04-18 Qualcomm Incorporated Coding motion information of video data using coding structure-based candidate list construction
US11146796B2 (en) * 2018-04-06 2021-10-12 Arris Enterprises Llc Reducing motion vector information transmission in bi-directional temporal prediction
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
KR20240007299A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI743506B (zh) 2018-06-29 2021-10-21 大陸商北京字節跳動網絡技術有限公司 來自多個查找表(lut)的選擇
CN110662072B (zh) * 2018-06-29 2022-04-26 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法、装置及可读存储介质
WO2020008350A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
US11336914B2 (en) 2018-08-16 2022-05-17 Qualcomm Incorporated History-based candidate list with classification
KR20240042127A (ko) 2018-09-03 2024-04-01 후아웨이 테크놀러지 컴퍼니 리미티드 인트라 예측을 위한 방법 및 장치
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
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 업데이트의 호출
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
US11025913B2 (en) 2019-03-01 2021-06-01 Intel Corporation Encoding video using palette prediction and intra-block copy
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
US11581022B2 (en) * 2019-05-29 2023-02-14 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
US10855983B2 (en) 2019-06-13 2020-12-01 Intel Corporation Encoding video using two-stage intra search
CN113079420A (zh) * 2020-01-03 2021-07-06 北京三星通信技术研究有限公司 视频生成方法、装置、电子设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090304084A1 (en) 2008-03-19 2009-12-10 Nokia Corporation Combined motion vector and reference index prediction for video coding
WO2011001078A1 (fr) 2009-07-03 2011-01-06 France Telecom Prédiction d'un vecteur mouvement d'une partition d'image courante de forme géometrique ou de taille différente de celle d'au moins une partition d'image de référence voisine, codage et décodage utilisant une telle prédiction

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6522693B1 (en) 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
JP4005365B2 (ja) 2000-03-23 2007-11-07 シーメンス モービル コミュニケイションズ ソシエタ ペル アチオニ 無線通信システムにおけるアクセスチャンネルのスケジューリング
FR2831016A1 (fr) 2001-10-11 2003-04-18 Thomson Licensing Sa Procede et dispositif de decodage de donnees video codees selon la norme mpeg
JP2003299103A (ja) 2002-03-29 2003-10-17 Toshiba Corp 動画像符号化方法と装置及び動画像復号化方法と装置
US7940845B2 (en) 2002-04-19 2011-05-10 Panasonic Corporation Motion vector calculating method
EP1418762A1 (en) 2002-05-22 2004-05-12 Matsushita Electric Industrial Co., Ltd. Moving image encoding method, moving image decoding method, and data recording medium
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR20050041293A (ko) 2003-10-30 2005-05-04 삼성전자주식회사 움직임 예측 장치 및 방법
US8036271B2 (en) 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
US8085846B2 (en) 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
US8446954B2 (en) 2005-09-27 2013-05-21 Qualcomm Incorporated Mode selection techniques for multimedia coding
KR20080025246A (ko) 2006-09-15 2008-03-20 삼성전자주식회사 비디오 스트림을 gop 단위로 분할하여 기록하는 비디오기록방법 및 이를 적용한 비디오 장치
WO2008082762A1 (en) 2006-12-29 2008-07-10 Motorola, Inc. Method and system for processing encoded video data
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US8335261B2 (en) * 2007-01-08 2012-12-18 Qualcomm Incorporated Variable length coding techniques for coded block patterns
US8199812B2 (en) 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
WO2008123753A1 (en) * 2007-04-09 2008-10-16 Lg Electronics Inc. A method and an apparatus for processing a video signal
JP5666293B2 (ja) 2007-04-12 2015-02-12 トムソン ライセンシングThomson Licensing ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置
US8254245B2 (en) 2007-04-27 2012-08-28 Lg Electronics Inc. Method for transmitting downlink control channel in a mobile communications system and a method for mapping the control channel to physical resource using block interleaver in a mobile communications system
JP4325708B2 (ja) 2007-07-05 2009-09-02 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
EP2215844A2 (en) 2007-10-15 2010-08-11 Nokia Corporation Motion skip and single-loop encoding for multi-view video content
US8908765B2 (en) 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
US9426414B2 (en) 2007-12-10 2016-08-23 Qualcomm Incorporated Reference selection for video interpolation or extrapolation
GB2457546B (en) 2008-02-25 2012-09-19 A1 Envirosciences Ltd Laboratory containment system
JP4990927B2 (ja) 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
US9042455B2 (en) 2008-08-19 2015-05-26 Thomson Licensing Propagation map
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
KR20110008653A (ko) 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR20110050283A (ko) 2009-11-06 2011-05-13 삼성전자주식회사 다중 참조 영상을 이용한 고속 움직임 추정 방법
WO2011125211A1 (ja) 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法
KR102158700B1 (ko) * 2010-05-04 2020-09-22 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
KR101484281B1 (ko) 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
EP2858366B1 (en) 2010-07-09 2017-02-01 Samsung Electronics Co., Ltd Method for decoding video by using block merging
PL3907999T3 (pl) * 2010-09-02 2024-04-08 Lg Electronics, Inc. Predykcja międzyramkowa
WO2012097376A1 (en) * 2011-01-14 2012-07-19 General Instrument Corporation Spatial block merge mode
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090304084A1 (en) 2008-03-19 2009-12-10 Nokia Corporation Combined motion vector and reference index prediction for video coding
WO2011001078A1 (fr) 2009-07-03 2011-01-06 France Telecom Prédiction d'un vecteur mouvement d'une partition d'image courante de forme géometrique ou de taille différente de celle d'au moins une partition d'image de référence voisine, codage et décodage utilisant une telle prédiction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"BBC's Response to the call for Proposals on Video Compression Technology"(DAVIES T, video coding technology proposal by BBC (and Samsung)), JCTVC-A125, MPEG Meeting Dresden, 15-23 April,2010.

Also Published As

Publication number Publication date
CN103404143A (zh) 2013-11-20
US20190166371A1 (en) 2019-05-30
WO2012116212A1 (en) 2012-08-30
AU2012220567A1 (en) 2013-09-12
MY169658A (en) 2019-04-26
BR112013021612B1 (pt) 2022-12-06
BR112013021612A2 (pt) 2020-12-01
US10171813B2 (en) 2019-01-01
JP2014511618A (ja) 2014-05-15
CN103404143B (zh) 2017-02-15
PL2679011T3 (pl) 2023-06-12
IL227925A (en) 2016-04-21
RU2013143126A (ru) 2015-03-27
SG192739A1 (en) 2013-09-30
KR20160124242A (ko) 2016-10-26
EP2679011A1 (en) 2014-01-01
DK2679011T3 (da) 2022-05-09
US20120219064A1 (en) 2012-08-30
SI2679011T1 (sl) 2022-05-31
IL227925A0 (en) 2013-09-30
CA2828217C (en) 2016-09-20
AU2012220567B2 (en) 2015-12-24
US10659791B2 (en) 2020-05-19
ES2912367T3 (es) 2022-05-25
KR20130129445A (ko) 2013-11-28
CA2828217A1 (en) 2012-08-30
EP2679011B1 (en) 2022-03-23
RU2562379C2 (ru) 2015-09-10

Similar Documents

Publication Publication Date Title
US10659791B2 (en) Hierarchy of motion prediction video blocks
JP6599489B2 (ja) ビデオコーディングのための変換係数のコーディング
US9313494B2 (en) Parallelization friendly merge candidates for video coding
JP5778299B2 (ja) 動きベクトル予測
JP5922244B2 (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
JP6105048B2 (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ
KR20140037264A (ko) 비디오 코딩에서의 계수 스캐닝
JP5937205B2 (ja) ビデオコーディングのためのランモードベース係数コーディング

Legal Events

Date Code Title Description
A201 Request for examination
E90F Notification of reason for final refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application
E801 Decision on dismissal of amendment
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2016101005932; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20161017

Effective date: 20180813

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant