KR20150126010A - 멀티-뷰 또는 3 차원 비디오 코딩에서의 인터-뷰 잔차 예측 - Google Patents
멀티-뷰 또는 3 차원 비디오 코딩에서의 인터-뷰 잔차 예측 Download PDFInfo
- Publication number
- KR20150126010A KR20150126010A KR1020157027347A KR20157027347A KR20150126010A KR 20150126010 A KR20150126010 A KR 20150126010A KR 1020157027347 A KR1020157027347 A KR 1020157027347A KR 20157027347 A KR20157027347 A KR 20157027347A KR 20150126010 A KR20150126010 A KR 20150126010A
- Authority
- KR
- South Korea
- Prior art keywords
- current
- picture
- reference picture
- block
- disparity
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H04N13/0048—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 코더는 시간적 거리에서의 차이를 보상하기 위하여 현재의 픽처의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링한다. 게다가, 비디오 코더는 현재의 PU 에 대한 예측 블록을 결정하고, 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하고, 스케일링된 모션 벡터에 의해 표시된 로케이션에서의 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정한다. 다음으로, 비디오 코더는 현재의 PU 에 대한 잔차 예측자를 결정한다. 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다.
Description
이 출원은 2013 년 3 월 8 일자로 출원된 미국 가출원 제 61/775,352 호, 2013 년 3 월 19 일자로 출원된 미국 가출원 제 61/803,368 호, 및 2013 년 6 월 7 일자로 출원된 미국 가출원 제 61/832,623 호의 이익을 주장하고, 그 전체 내용은 참조를 위해 본원에서 편입된다.
이 개시물은 비디오 인코딩 및 디코딩에 관한 것이다.
디지털 비디오 기능들은, 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템 (digital direct broadcast system) 들, 무선 브로드캐스트 시스템들, 개인 정보 단말 (personal digital assistant; PDA) 들, 랩톱 또는 데스크톱 컴퓨터들, 태블릿 컴퓨터들, 전자책 (e-book) 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화들, 소위 "스마트폰들", 화상 원격회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위한 디바이스들 내로 편입될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 진보된 비디오 코딩 (Advanced Video Coding; AVC) 에 의해 정의된 표준들, 현재 개발 중에 있는 고효율 비디오 코딩 (High Efficiency Video Coding; HEVC) 표준, 및 이러한 표준들의 확장들에서 설명된 것들과 같은 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 이러한 비디오 압축 기법들을 구현함으로써 디지털 비디오 정보를 더 효율적으로 송신하고, 수신하고, 인코딩하고, 디코딩하고, 및/또는 저장할 수도 있다.
비디오 압축 기법들은 비디오 시퀀스들에 내재된 중복성을 감소시키거나 제거하기 위해 공간적 (인트라-픽처 (intra-picture)) 예측 및/또는 시간적 (인터-픽처 (inter-picture)) 예측을 수행한다. 블록-기반 비디오 코딩을 위하여, 비디오 슬라이스 (즉, 비디오 프레임 또는 비디오 프레임의 부분) 는 블록들로 파티셔닝 (partition) 될 수도 있다. 픽처의 인트라-코딩 (intra-code) 된 (I) 슬라이스 내의 블록들은 동일한 픽처에서의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측을 이용하여 인코딩된다. 픽처의 인터-코딩 (inter-code) 된 (P 또는 B) 슬라이스 내의 블록들은 동일한 픽처에서의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측, 또는 다른 참조 픽처들에서의 참조 샘플들에 대한 시간적 예측을 이용할 수도 있다. 픽처들은 프레임들로서 지칭될 수도 있고, 참조 픽처들은 참조 프레임들로서 지칭될 수도 있다.
공간적 또는 시간적 예측은 코딩되어야 할 블록에 대한 예측 블록으로 귀착된다. 잔차 데이터는 코딩되어야 할 원래의 블록과 예측 블록과의 사이의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 지시하는 모션 벡터 (motion vector) 에 따라 인코딩되고, 잔차 데이터는 코딩된 블록 및 예측 블록 사이의 차이를 표시한다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가의 압축을 위하여, 잔차 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어 잔차 계수들로 귀착될 수도 있고, 이 잔차 계수들은 그 후에 양자화될 수도 있다. 초기에 2 차원 어레이로 배열된 양자화된 계수들은 계수들의 1 차원 벡터를 생성하기 위해 스캐닝될 수도 있고, 훨씬 더 많은 압축을 달성하기 위하여 엔트로피 코딩 (entropy coding) 이 적용될 수도 있다.
멀티뷰 코딩 비트스트림 (multiview coding bitstream) 은 예컨대, 다수의 관점들로부터의 뷰들을 인코딩함으로써 생성될 수도 있다. 멀티뷰 코딩 양태들을 이용하는 일부의 3 차원 (3D) 비디오 표준들이 개발되었다. 예를 들어, 상이한 뷰들은 3D 비디오를 지원하기 위하여 좌안 및 우안 뷰 (view) 들을 송신할 수도 있다. 대안적으로, 일부의 3D 비디오 코딩 프로세스들은 소위 멀티뷰 플러스 심도 코딩 (multiview plus depth coding) 을 적용할 수도 있다. 멀티뷰 플러스 심도 코딩에서, 3D 비디오 비트스트림은 텍스처 뷰 (texture view) 컴포넌트들뿐만 아니라, 심도 뷰 (depth view) 컴포넌트들을 포함할 수도 있다. 예를 들어, 각각의 뷰는 하나의 텍스처 뷰 컴포넌트 및 하나의 심도 뷰 컴포넌트를 포함할 수도 있다.
일반적으로, 이 개시물은 고효율 비디오 코딩 (HEVC) 과 같이, 2 차원 코덱들에 기초한 멀티-뷰 코덱들 및 3 차원 비디오 (3-dimensional video; 3DV) 코덱들에 대한 진보된 잔차 예측에 관한 것이다. 이 개시물의 기법들에 따르면, 비디오 코더는 고정된 참조 픽처 및 시간적 참조 픽처 사이의 시간적 거리를 보상하기 위하여 현재의 픽처의 현재의 예측 유닛 (prediction unit; PU) 의 모션 벡터를 스케일링한다. 게다가, 비디오 코더는 현재의 PU 에 대한 예측 블록을 결정하고, 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션 (location) 에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하고, 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션에서의 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정한다. 다음으로, 비디오 코더는 현재의 PU 에 대한 잔차 예측자 (residual predictor) 를 결정한다. 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다.
하나의 예에서, 이 개시물은 비디오 데이터를 디코딩하는 방법을 설명하고, 상기 방법은, 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (Picture Order Count; POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 예측 유닛 (prediction unit; PU) 의 모션 벡터를 스케일링하는 단계로서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하는 단계; 현재의 PU 에 대한 예측 블록을 결정하는 단계; 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하는 단계; 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하는 단계; 현재의 PU 에 대한 잔차 예측자를 결정하는 단계로서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 상기 현재의 PU 에 대한 잔차 예측자를 결정하는 단계; 및 시그널링된 잔차 블록, 현재의 PU 에 대한 상기 잔차 예측자, 및 현재의 PU 에 대한 예측 블록에 기초하여 코딩 블록을 재구성하는 단계를 포함한다.
또 다른 예에서, 이 개시물은 비디오 데이터를 인코딩하는 방법으로서, 상기 방법은, 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 코딩 유닛 (coding unit; CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하는 단계로서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하는 단계; 현재의 PU 에 대한 예측 블록을 결정하는 단계; 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하는 단계; 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하는 단계; 현재의 PU 에 대한 잔차 예측자를 결정하는 단계로서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 상기 현재의 PU 에 대한 잔차 예측자를 결정하는 단계; 현재의 CU 에 대한 최종 잔차 블록을 결정하는 단계로서, 최종 잔차 블록은 현재의 CU 에 대한 코딩 블록에서의 샘플들, 현재의 PU 에 대한 예측 블록에서의 샘플들, 및 현재의 PU 에 대한 잔차 예측자에서의 샘플들 사이의 차이들을 표시하는 샘플들을 포함하는, 상기 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 CU 에 대한 최종 잔차 블록을 나타내는 데이터를 포함하는 단계를 포함한다.
또 다른 예에서, 이 개시물은 비디오 코딩 디바이스를 설명하고, 상기 비디오 코딩 디바이스는, 참조 픽처들을 저장하는 메모리; 및 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 코딩 유닛 (coding unit; CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하는 것으로서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하고; 현재의 PU 에 대한 예측 블록을 결정하고; 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하고; 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하고; 그리고 현재의 PU 에 대한 잔차 예측자를 결정하는 것으로서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 현재의 PU 에 대한 잔차 예측자를 결정하도록 구성된다.
또 다른 예에서, 이 개시물은 비디오 코딩 디바이스를 설명하고, 상기 비디오 코딩 디바이스는, 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 코딩 유닛 (CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하기 위한 수단으로서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하기 위한 수단; 현재의 PU 에 대한 예측 블록을 결정하기 위한 수단; 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하기 위한 수단; 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위한 수단; 및 현재의 PU 에 대한 잔차 예측자를 결정하기 위한 수단으로서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 현재의 PU 에 대한 잔차 예측자를 결정하기 위한 수단을 포함한다.
또 다른 예에서, 이 개시물은 명령들을 저장한 비-일시적인 컴퓨터-판독가능한 저장 매체를 설명하고, 상기 명령들은, 실행될 경우, 비디오 코딩 디바이스가: 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 코딩 유닛 (coding unit; CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하는 것으로서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하고; 현재의 PU 에 대한 예측 블록을 결정하고; 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하고; 현재의 PU 의 상기 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하고; 그리고 현재의 PU 에 대한 잔차 예측자를 결정하는 것으로서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 현재의 PU 에 대한 잔차 예측자를 결정하도록 구성한다.
개시물의 하나 이상의 예들의 세부사항들은 첨부한 도면들 및 이하의 설명에서 기재된다. 다른 특징들, 목적들, 및 장점들은 설명 , 도면들 및 청구항들로부터 명백할 것이다.
도 1 은 이 개시물에서 설명된 기법들을 사용할 수도 있는 일 예의 비디오 코딩 시스템을 예시하는 블록도이다.
도 2 는 현재의 PU 에 관련된 일 예의 공간적으로-이웃하는 예측 유닛 (PU) 들을 예시하는 개념도이다.
도 3 은 일 예의 멀티-뷰 디코딩 순서를 예시하는 개념도이다.
도 4 는 멀티-뷰 코딩을 위한 일 예의 예측 구조를 예시하는 개념도이다.
도 5 는 병합/스킵 (merge/skip) 모드에 대한 인터-뷰 예측된 모션 벡터 후보 (inter-view predicted motion vector candidate; IPMVC) 의 일 예의 유도를 예시하는 개념도이다.
도 6 은 멀티-뷰 비디오 코딩에서의 진보된 잔차 예측 (advanced residual prediction; ARP) 의 일 예의 예측 구조를 예시하는 개념도이다.
도 7 은 ARP 에서 현재의 블록, 참조 블록, 및 모션 보상된 블록 사이의 일 예의 관계를 예시하는 개념도이다.
도 8 은 이 개시물에서 설명된 기법들을 구현할 수도 있는 일 예의 비디오 인코더를 예시하는 블록도이다.
도 9 는 이 개시물에서 설명된 기법들을 구현할 수도 있는 일 예의 비디오 디코더를 예시하는 블록도이다.
도 10a 는 이 개시물의 하나 이상의 기법들에 따라, 현재의 코딩 유닛 (coding unit; CU) 을 인코딩하기 위한 비디오 인코더의 일 예의 동작을 예시하는 플로우차트이다.
도 10b 는 이 개시물의 하나 이상의 기법들에 따라, 현재의 CU 를 디코딩하기 위한 비디오 디코더의 일 예의 동작을 예시하는 플로우차트이다.
도 11 은 이 개시물의 하나 이상의 기법들에 따라, 현재의 PU 에 대한 잔차 예측자를 결정하기 위한 비디오 코더의 일 예의 동작을 예시하는 플로우차트이다.
도 12 는 이 개시물의 하나 이상의 기법들에 따라, 비디오 인코더의 일 예의 동작을 예시하는 플로우차트이다.
도 13 은 이 개시물의 하나 이상의 기법들에 따라, 비디오 디코더의 일 예의 동작을 예시하는 플로우차트이다.
도 2 는 현재의 PU 에 관련된 일 예의 공간적으로-이웃하는 예측 유닛 (PU) 들을 예시하는 개념도이다.
도 3 은 일 예의 멀티-뷰 디코딩 순서를 예시하는 개념도이다.
도 4 는 멀티-뷰 코딩을 위한 일 예의 예측 구조를 예시하는 개념도이다.
도 5 는 병합/스킵 (merge/skip) 모드에 대한 인터-뷰 예측된 모션 벡터 후보 (inter-view predicted motion vector candidate; IPMVC) 의 일 예의 유도를 예시하는 개념도이다.
도 6 은 멀티-뷰 비디오 코딩에서의 진보된 잔차 예측 (advanced residual prediction; ARP) 의 일 예의 예측 구조를 예시하는 개념도이다.
도 7 은 ARP 에서 현재의 블록, 참조 블록, 및 모션 보상된 블록 사이의 일 예의 관계를 예시하는 개념도이다.
도 8 은 이 개시물에서 설명된 기법들을 구현할 수도 있는 일 예의 비디오 인코더를 예시하는 블록도이다.
도 9 는 이 개시물에서 설명된 기법들을 구현할 수도 있는 일 예의 비디오 디코더를 예시하는 블록도이다.
도 10a 는 이 개시물의 하나 이상의 기법들에 따라, 현재의 코딩 유닛 (coding unit; CU) 을 인코딩하기 위한 비디오 인코더의 일 예의 동작을 예시하는 플로우차트이다.
도 10b 는 이 개시물의 하나 이상의 기법들에 따라, 현재의 CU 를 디코딩하기 위한 비디오 디코더의 일 예의 동작을 예시하는 플로우차트이다.
도 11 은 이 개시물의 하나 이상의 기법들에 따라, 현재의 PU 에 대한 잔차 예측자를 결정하기 위한 비디오 코더의 일 예의 동작을 예시하는 플로우차트이다.
도 12 는 이 개시물의 하나 이상의 기법들에 따라, 비디오 인코더의 일 예의 동작을 예시하는 플로우차트이다.
도 13 은 이 개시물의 하나 이상의 기법들에 따라, 비디오 디코더의 일 예의 동작을 예시하는 플로우차트이다.
고효율 비디오 코딩 (HEVC) 은 새롭게 개발된 비디오 코딩 표준이다. 3D-AVC 는 3 차원 (3D) 비디오 데이터를 위한 HEVC 의 확장이다. 3D-HEVC 는 상이한 뷰포인트들로부터의 동일한 장면의 다수의 뷰들을 제공한다. 3D-HEVC 에 대한 표준화 노력들은 HEVC 에 기초한 멀티뷰 비디오 코덱의 표준화를 포함한다. 3D-HEVC 에서는, 상이한 뷰들로부터의 재구성된 뷰 컴포넌트들에 기초한 인터-뷰 예측이 가능하게 된다. 진보된 잔차 예측 (advanced residual prediction; ARP) 은 3D-HEVC 에서의 효율을 추가로 개선시킬 수도 있다.
ARP 에서, 비디오 코더는 현재의 코딩 유닛 (CU) 의 현재의 예측 유닛 (PU) 에 대한 예측 블록을 결정한다. 현재의 PU 에 대한 예측 블록은 현재의 PU 의 모션 벡터에 의해 표시된 로케이션과 연관되는 시간적 참조 픽처의 샘플들에 기초할 수도 있다. 일부의 양태들에서는, 블록의 상부-좌측 코너가 로케이션에 있을 경우에, 블록은 로케이션과 연관될 수도 있다. 또한, 일부의 사례들에서, 블록의 샘플들이 특정 픽처의 샘플들에 기초할 때, 샘플들은 특정 픽처의 실제의 또는 보간된 샘플들에 기초할 수도 있다. 시간적 참조 픽처는 현재의 픽처와 동일한 뷰에 있지만, 현재의 픽처와는 상이한 시간 인스턴스 (time instance) 에 있다. 또한, ARP 에서, 비디오 코더는 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에 있는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정한다. 디스패리티 참조 픽처는 현재의 픽처와는 상이한 뷰 (즉, 참조 뷰) 에 있지만, 현재의 픽처와 동일한 시간 인스턴스에 있다. 비디오 코더는 또한, 현재의 PU 의 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 시간적-디스패리티 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정한다. 시간적-디스패리티 참조 픽처는 디스패리티 참조 픽처와 동일한 뷰에 있고, 시간적 참조 픽처와 동일한 액세스 유닛에 있다. 다음으로, 비디오 코더는 현재의 PU 에 대한 잔차 예측자를 결정한다. 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다.
또한, 비디오 코더가 비디오 인코더인 사례들에서는, 비디오 인코더가 현재의 CU 에 대한 최종 잔차 블록을 결정할 수도 있다. 최종 잔차 블록은, 현재의 CU 에 대한 코딩 블록에서의 샘플들, 현재의 PU 에 대한 예측 블록에서의 샘플들, 및 현재의 PU 에 대한 잔차 예측자에서의 샘플들 사이의 차이들을 표시하는 샘플들을 포함한다. 비디오 인코더는 비트스트림에서, 현재의 CU 에 대한 최종 잔차 블록을 나타내는 데이터를 포함할 수도 있다. 비디오 코더가 비디오 디코더인 사례들에서는, 비디오 디코더가 최종 잔차 블록, 현재의 PU 에 대한 잔차 예측자, 및 현재의 PU 에 대한 예측 블록에 기초하여 현재의 CU 에 대한 코딩 블록을 재구성할 수도 있다.
ARP 가 인터-뷰 잔차 예측의 코딩 효율을 상당히 개선시켰지만, ARP 는 몇몇 문제들을 가질 수도 있다. 예를 들어, 하나의 픽처 내의 상이한 인터-코딩된 PU 들은 상이한 시간적 참조 픽처들을 가질 수도 있다. 그러므로, 비디오 코더는 PU 들에 대한 시간적-디스패리티 참조 블록들을 결정하기 위하여 참조 뷰로부터의 상이한 픽처들을 액세스할 필요가 있을 수도 있다. 비디오 코더가 제한된 수의 참조 픽처들을 캐시 내에 저장하기만 하므로, 캐시 미스 레이트 (cache miss rate) 는 더 큰 수의 참조 픽처들이 이용될 때보다 더 높을 수도 있다. 다시 말해서, ARP 가 가능하게 될 때에 더 큰 수의 참조 픽처들이 이용되므로, ARP 의 이용은 캐시 미스 레이트를 증가시킬 수도 있다. 높은 캐시 미스 레이트가 있을 때, 코딩 프로세스가 느려지고 및/또는 메모리 대역폭 요건들이 증가한다.
이 개시물의 하나 이상의 기법들에 따르면, 비디오 코더가 현재의 픽처/슬라이스의 PU 들에 대한 잔차 예측자들을 생성하기 위하여 모션 보상을 수행할 때, 비디오 코더는 동일한 참조 픽처 (즉, "고정된 참조 픽처") 를 향하는 PU 들의 각각의 모션 벡터들을 스케일링할 수도 있다. 고정된 참조 픽처는 현재의 픽처의 PU 들에 대한 디스패리티 참조 블록들과 동일한 뷰 (즉, "참조 뷰") 에 있을 수도 있다. 비디오 코더는 현재의 픽처의 PU 들의 각각에 대한 동일한 고정된 참조 픽처를 이용하므로, 캐시 미스 레이트는 더 낮을 수도 있다.
예를 들어, 비디오 코더는 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (Picture Order Count; POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 PU 의 모션 벡터를 스케일링할 수도 있다. 이 예에서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시하고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있다. 게다가, 비디오 코더는 현재의 PU 에 대한 예측 블록을 결정할 수도 있고, 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정할 수도 있고, 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션에서의 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정할 수도 있다. 다음으로, 비디오 코더는 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있다. 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시할 수도 있다.
또한, 이 개시물의 하나 이상의 예의 기법들에 따르면, 비디오 코더는 메모리 액세스 및 연산 복잡성을 감소시키기 위하여 현재의 PU 의 모션-보상된 블록 (즉, 위에서 언급된 예측 블록) 을 생성할 때에도 이중-선형 (bi-linear) 필터를 이용할 수도 있다. 대조적으로, HEVC 는 모션 보상된 블록들을 결정할 때에 분수 샘플 보간 (fractional sample interpolation) 프로세스에 대하여 8/4-탭 루마/크로마 보간 필터를 이용할 수도 있다. 다른 예들에서, 이중-선형 필터는 현재의 PU 의 모션 보상된 블록을 생성할 때에 루마 컴포넌트에만, 또는 크로마 컴포넌트에만 적용된다.
도 1 은 이 개시물의 기법들을 사용할 수도 있는 일 예의 비디오 코딩 시스템 (10) 을 예시하는 블록도이다. 본원에서 이용된 바와 같이, 용어 "비디오 코더" 는 일반적으로 비디오 인코더들 및 비디오 디코더들의 양자를 지칭한다. 이 개시물에서, 용어들 "비디오 코딩" 또는 "코딩" 은 일반적으로 비디오 인코딩 또는 비디오 디코딩을 지칭할 수도 있다.
도 1 에서 도시된 바와 같이, 비디오 코딩 시스템 (10) 은 소스 디바이스 (12) 및 목적지 디바이스 (14) 를 포함한다. 소스 디바이스 (12) 는 인코딩된 비디오 데이터를 생성한다. 따라서, 소스 디바이스 (12) 는 비디오 인코딩 디바이스 또는 비디오 인코딩 장치로서 지칭될 수도 있다. 목적지 디바이스 (14) 는 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수도 있다. 따라서, 목적지 디바이스 (14) 는 비디오 디코딩 디바이스 또는 비디오 디코딩 장치로서 지칭될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 비디오 코딩 디바이스들 또는 비디오 코딩 장치들의 예들일 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 데스크톱 컴퓨터들, 이동 컴퓨팅 디바이스들, 노트북 (예컨대, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 (set-top) 박스들, 소위 "스마트" 폰들과 같은 전화 핸드셋들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 콘솔들, 차량내 컴퓨터들 등을 포함하는 광범위한 디바이스들을 포함할 수도 있다.
목적지 디바이스 (14) 는 채널 (16) 을 통해 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신할 수도 있다. 채널 (16) 은 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동시킬 수 있는 하나 이상의 매체들 또는 디바이스들을 포함할 수도 있다. 하나의 예에서, 채널 (16) 은 소스 디바이스 (12) 가 인코딩된 비디오 데이터를 실시간으로 목적지 디바이스 (14) 로 직접 송신하는 것을 가능하게 하는 하나 이상의 통신 매체들을 포함할 수도 있다. 이 예에서, 소스 디바이스 (12) 는 무선 통신 프로토콜과 같은 통신 표준에 따라 인코딩된 비디오 데이터를 변조시킬 수도 있고, 변조된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수도 있다. 하나 이상의 통신 매체들은 무선 주파수 (radio frequency; RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 무선 및/또는 유선 통신 매체들을 포함할 수도 있다. 하나 이상의 통신 매체들은 로컬 영역 네트워크, 광역 네트워크, 또는 글로벌 네트워크 (예컨대, 인터넷) 와 같은 패킷-기반 네트워크의 일부를 형성할 수도 있다. 하나 이상의 통신 매체들은 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 가능하게 하는 다른 장비를 포함할 수도 있다.
또 다른 예에서, 채널 (16) 은 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 저장하는 저장 매체를 포함할 수도 있다. 이 예에서, 목적지 디바이스 (14) 는 예컨대, 디스크 액세스 또는 카드 액세스를 통해 저장 매체를 액세스할 수도 있다. 저장 매체는 블루-레이 (Blu-ray) 디스크들, DVD 들, CD-ROM 들, 플래시 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 다른 적당한 디지털 저장 매체들과 같은, 다양한 국소적으로 액세스된 데이터 저장 매체들을 포함할 수도 있다.
추가의 예에서, 채널 (16) 은 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 저장하는 파일 서버 또는 또 다른 중간 저장 디바이스를 포함할 수도 있다. 이 예에서, 목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 파일 서버 또는 다른 중간 저장 디바이스에서 저장된 인코딩된 비디오 데이터를 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있으며 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수 있는 일 타입의 서버일 수도 있다. 일 예의 파일 서버들은 (예컨대, 웹사이트를 위한) 웹 서버들, 파일 전송 프로토콜 (file transfer protocol; FTP) 서버들, 네트워크 연결 저장 (network attached storage; NAS) 디바이스들, 및 로컬 디스크 드라이브들을 포함한다.
목적지 디바이스 (14) 는 인터넷 접속과 같은 표준 데이터 접속을 통해 인코딩된 비디오 데이터를 액세스할 수도 있다. 데이터 접속들의 일 예의 타입들은, 파일 서버 상에 저장된 인코딩된 비디오 데이터를 액세스하기에 적당한 무선 채널들 (예컨대, Wi-Fi 접속들), 유선 접속들 (예컨대, 디지털 가입자 회선 (digital subscriber line; DSL), 케이블 모뎀 등), 또는 양자의 조합들을 포함할 수도 있다. 파일 서버로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 양자의 조합일 수도 있다.
이 개시물의 기법들은 무선 애플리케이션들 또는 세팅들에 제한되는 것은 아니다. 기법들은 오버-디-에어 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예컨대, 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상에서의 저장을 위한 비디오 데이터의 인코딩, 데이터 저장 매체 상에 저장된 비디오 데이터의 디코딩, 또는 다른 애플리케이션들과 같은 다양한 멀티미디어 애플리케이션들의 지원 하에서 비디오 코딩에 적용될 수도 있다. 일부의 예들에서, 비디오 코딩 시스템 (10) 은 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 및/또는 영상 통화 (video telephony) 와 같은 애플리케이션들을 지원하기 위하여 일방향 (one-way) 또는 양방향 (two-way) 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 은 예에 불과하고, 이 개시물의 기법들은 인코딩 및 디코딩 디바이스들 사이의 임의의 데이터 통신을 반드시 포함하지는 않는 비디오 코딩 세팅들 (예컨대, 비디오 인코딩 또는 비디오 디코딩) 에 적용할 수도 있다. 다른 예들에서, 데이터는 로컬 메모리로부터 취출 (retrieve) 되고, 네트워크를 통해 스트리밍되는 등등과 같다. 비디오 인코딩 디바이스는 데이터를 인코딩하고 데이터를 메모리에 저장할 수도 있고, 및/또는 비디오 디코딩 디바이스는 메모리로부터 데이터를 취출하고 데이터를 디코딩할 수도 있다. 다수의 예들에서, 인코딩 및 디코딩은, 서로 통신하지 않지만, 간단하게 데이터를 메모리로 인코딩하고 및/또는 메모리로부터 데이터를 취출하고 데이터를 디코딩하는 디바이스들에 의해 수행된다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 일부의 예들에서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 비디오 소스 (18) 는 비디오 캡처 디바이스, 예컨대, 비디오 카메라, 이전에 캡처된 비디오 데이터를 포함하는 비디오 아카이브 (video archive), 비디오 컨텐츠 제공자로부터 비디오 데이터를 수신하기 위한 비디오 공급 인터페이스, 및/또는 비디오 데이터, 또는 비디오 데이터의 이러한 소스들의 조합을 생성하기 위한 컴퓨터 그래픽 시스템을 포함할 수도 있다.
비디오 인코더 (20) 는 비디오 소스 (18) 로부터의 비디오 데이터를 인코딩할 수도 있다. 일부의 예들에서, 소스 디바이스 (12) 는 출력 인터페이스 (22) 를 통해 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 직접 송신한다. 다른 예들에서, 인코딩된 비디오 데이터는 또한 디코딩 및/또는 재생을 위한 목적지 디바이스 (14) 에 의한 더 이후의 액세스를 위하여 저장 매체 또는 파일 서버 상으로 저장될 수도 있다.
도 1 의 예에서, 목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부의 예들에서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 포함한다. 입력 인터페이스 (28) 는 채널 (16) 을 통해 인코딩된 비디오 데이터를 수신할 수도 있다. 비디오 디코더 (30) 는 인코딩된 비디오 데이터를 디코딩할 수도 있다. 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 디스플레이할 수도 있다. 디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합될 수도 있거나, 목적지 디바이스 (14) 의 외부에 있을 수도 있다. 디스플레이 디바이스 (32) 는 액정 디스플레이 (liquid crystal display; LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (organic light emitting diode; OLED) 디스플레이, 또는 또 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (digital signal processor; DSP) 들, 애플리케이션 특정 집적 회로 (application-pecific integrated circuit; ASIC) 들, 필드-프로그래밍가능한 게이트 어레이 (field-programmable gate array; FPGA) 들, 개별 로직, 하드웨어, 또는 그 임의의 조합들과 같은 다양한 적당한 회로부 중의 임의의 것으로서 구현될 수도 있다. 기법들이 부분적으로 소프트웨어로 구현될 경우, 디바이스는 소프트웨어를 위한 명령들을 적당한 비-일시적인 (non-transitory) 컴퓨터-판독가능한 저장 매체에 저장할 수도 있고, 이 개시물의 기법들을 수행하기 위하여 하나 이상의 프로세서들을 이용하여 명령들을 하드웨어로 실행할 수도 있다. 상기한 것 (하드웨어, 소프트웨어, 하드웨어 및 소프트웨어의 조합 등을 포함함) 중의 임의의 것은 하나 이상의 프로세서들인 것으로 간주될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들 내에 포함될 수도 있고, 인코더들 또는 디코더들 중의 어느 하나는 조합된 인코더/디코더 (CODEC) 의 일부로서 각각의 디바이스 내에 통합될 수도 있다.
이 개시물은 일반적으로, 비디오 인코더 (20) 가 어떤 정보를 비디오 디코더 (30) 와 같은 또 다른 디바이스에 "시그널링하는 것" 을 지칭할 수도 있다. 용어 "시그널링" 은 일반적으로, 압축된 비디오 데이터를 디코딩하기 위하여 이용된 신택스 엘리먼트들 및/또는 다른 데이터의 통신을 지칭할 수도 있다. 이러한 통신은 실시간 또는 실시간에 근접하게 발생할 수도 있다. 교대로, 이러한 통신은, 인코딩 시에 인코딩된 비트스트림으로, 신택스 엘리먼트들을 컴퓨터-판독가능한 저장 매체에 저장할 때에 발생할 수도 있는 것과 같이, 시간의 기간에 걸쳐 발생할 수도 있고, 다음으로, 신택스 엘리먼트들은 이 매체에 저장된 후의 임의의 시간에 디코딩 디바이스에 의해 취출될 수도 있다.
일부의 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 그 스케일러블 비디오 코딩 (Scalable Video Coding; SVC) 확장, 멀티뷰 비디오 코딩 (Multiview Video Coding; MVC) 확장, 및 MVC-기반 3DV 확장을 포함하는 ISO/IEC MPEG-4 비주얼 (Visual) 및 ITU-T H.264 (또한, ISO/IEC MPEG-4 AVC 로서 알려짐) 와 같은 비디오 압축 표준에 따라 동작한다. 일부의 사례들에서, H.264/AVC 의 MVC-기반 3DV 확장을 준수하는 임의의 비트스트림은 H.264/AVC 의 MVC 확장과 호환되는 서브-비트스트림을 항상 포함한다. 또한, H.264/AVC 에 대한 3 차원 비디오 (3DV) 코딩 확장, 즉, AVC-기반 3DV 를 생성하기 위한 진행 중인 노력이 있다. 다른 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, 및 ITU-T H.264, ISO/IEC 비주얼에 따라 동작할 수도 있다.
다른 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 ITU-T 비디오 코딩 전문가 그룹 (Video Coding Experts Group; VCEG) 및 ISO/IEC 동화상 전문가 그룹 (Motion Picture Experts Group; MPEG) 의 비디오 코딩에 관한 합동 협력 팀 (Joint Collaboration Team on Video Coding; JCT-VC) 에 의해 개발된 고효율 비디오 코딩 (HEVC) 표준에 따라 동작할 수도 있다. "HEVC 작업 초안 9" 로서 지칭된 HEVC 표준의 초안은, Bross 등, "High Efficiency Video Coding (HEVC) text specification draft 9 (고효율 비디오 코딩 (HEVC) 텍스트 사양 초안 9)", ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 비디오 코딩에 관한 합동 협력 팀 (JCT-VC), 11 차 회의, Shanghai, China, 2012 년 10 월에 설명되어 있다. 또한, 스케일러블 비디오 코딩, 멀티-뷰 코딩, 및 HEVC 를 위한 3DV 확장들을 생성하기 위한 진행 중인 노력들이 있다. HEVC 의 스케일러블 비디오 코딩 확장은 SHEVC 로서 지칭될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 HEVC 표준에 대한 이러한 확장들에 따라 동작할 수도 있다.
현재, VCEG 및 MPEG 의 3D 비디오 코딩에 관한 합동 협력 팀 (JCT-3C) 은 HEVC 에 기초한 3DV 표준을 개발하고 있고, 표준화 노력들의 일부는 HEVC 에 기초한 멀티-뷰 비디오 코덱 (MV-HEVC) 과, HEVC 에 기초한 3D 비디오 코딩 (3D-HEVC) 에 대한 또 다른 일부의 표준화를 포함한다. 3D-HEVC 를 위하여, 텍스처 및 심도 뷰들 양자에 대한, 코딩 유닛/예측 유닛 레벨에서의 코딩 툴들을 포함하는 새로운 코딩 툴들이 포함되고 지원될 수도 있다. 2013 년 9 월 17 일자로, 3D-HEVC 를 위한 소프트웨어 (즉, 3D-HTM 버전 6.0) 가 다음의 링크로부터 다운로딩될 수 있다:
[3D-HTM]: https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-6.0/.
일반적으로, HEVC 의 모션 보상 루프는 H.264/AVC 에서의 그것과 동일하다. 예를 들어, 모션 보상 루프에서의 현재의 프레임의 재구성 은 비양자화된 계수 (de-quantized coefficient) 들 플러스 시간적 예측 과 동일할 수도 있다:
그러나, HEVC 에서의 모션 보상의 유닛은 이전의 비디오 코딩 표준들에서의 그것과 상이하다. 예를 들어, 이전의 비디오 코딩 표준들에서의 매크로블록 (macroblock) 의 개념은 HEVC 에서 존재하지 않는다. 오히려, 매크로블록들은 일반적인 쿼드트리 (quadtree) 방식에 기초한 고도로 유연성 있는 계층적 구조에 의해 대체된다. 이 방식 내에서는, 3 개의 타입들의 블록들, 즉, 코딩 유닛 (CU) 들, 예측 유닛 (PU) 들, 및 변환 유닛 (TU) 들이 정의된다. CU 는 영역 분할의 기본 유닛이다. CU 의 개념은 매크로블록의 개념과 유사하지만, CU 는 최대 사이즈로 한정되지 않고, CU 는 컨텐츠 적응성 (content adaptivity) 을 개선시키기 위하여 4 개의 동일한 사이즈의 CU 들로의 재귀적 분할을 허용한다. PU 는 인터/인트라 예측의 기본 유닛이다. 일부의 예들에서, PU 는 불규칙적인 이미지 패턴들을 효과적으로 코딩하기 위하여 단일 PU 에서의 다수의 임의적인 형상의 파티션들을 포함할 수도 있다. TU 는 변환의 기본 유닛이다. CU 의 TU 들은 CU 의 PU 들로부터 독립적으로 정의될 수 있다. 그러나, TU 의 사이즈는 TU 가 속하는 CU 에 제한된다. 3 개의 상이한 개념들로의 블록 구조의 이 분리는 각각이 그 역할에 따라 최적화되도록 할 수도 있고, 이것은 개선된 코딩 효율로 귀착될 수도 있다.
HEVC 및 다른 비디오 코딩 사양들에서, 비디오 시퀀스는 전형적으로 일련의 픽처들을 포함한다. 픽처들은 또한 "프레임들" 로서 지칭될 수도 있다. 픽처는 SL, SCb 및 SCr 로 나타내어진 3 개의 샘플 어레이들을 포함할 수도 있다. SL 은 루마 샘플 (luma sample) 들의 2 차원 어레이 (즉, 블록) 이다. SCb 는 Cb 크로미넌스 샘플 (chrominance sample) 들의 2 차원 어레이이다. SCr 은 Cr 크로미넌스 샘플 (chrominance sample) 들의 2 차원 어레이이다. 크로미넌스 샘플들은 또한 본원에서 "크로마 (chroma)" 샘플들로서 지칭될 수도 있다. 다른 사례들에서, 픽처는 단색 (monochrome) 일 수도 있고, 루마 샘플들의 어레이를 포함하기만 할 수도 있다.
픽처의 인코딩된 표현을 생성하기 위하여, 비디오 인코더 (20) 는 코딩 트리 유닛 (coding tree unit; CTU) 들의 세트를 생성할 수도 있다. CTU 들의 각각은 루마 샘플들의 코딩 트리 블록, 크로마 샘플들의 2 개의 대응하는 코딩 트리 블록들, 및 코딩 트리 블록들의 샘플들을 코딩하기 위해 이용된 신택스 구조들을 포함할 수도 있다. 단색 픽처들, 또는 3 개의 별도의 컬러 평면들을 포함하는 픽처들에서는, CTU 가 단일 코딩 트리 블록과, 코딩 트리 블록의 샘플들을 코딩하기 위해 이용된 신택스 구조들을 포함할 수도 있다. 코딩 트리 블록은 샘플들의 NxN 블록일 수도 있다. CTU 는 또한 "트리 블록" 또는 "최대 코딩 유닛 (largest coding unit)" (LCU) 으로서 지칭될 수도 있다. HEVC 의 CTU 들은 H.264/AVC 와 같은 다른 표준들의 매크로블록들과 대략 유사할 수도 있다. 그러나, CTU 는 반드시 특정 사이즈로 제한되는 것은 아니고, 하나 이상의 CU 들을 포함할 수도 있다. 슬라이스는 래스터 스캔 순서 (raster scan order) 로 연속적으로 순서화된 정수 (integer number) 의 CTU 들을 포함할 수도 있다.
코딩된 슬라이스는 슬라이스 헤더 및 슬라이스 데이터를 포함할 수도 있다. 슬라이스의 슬라이스 헤더는 슬라이스에 대한 정보를 제공하는 신택스 엘리먼트들을 포함하는 신택스 구조일 수도 있다. 슬라이스 데이터는 슬라이스의 코딩된 CTU 들을 포함할 수도 있다.
이 개시물은 하나 이상의 샘플 블록들과, 샘플들의 하나 이상의 블록들의 샘플들을 코딩하기 위해 이용된 신택스 구조들을 지칭하기 위하여 용어 "비디오 유닛" 또는 "비디오 블록" 또는 "블록" 을 이용할 수도 있다. 일 예의 타입들의 비디오 유닛들 또는 블록들은 CTU 들, CU 들, PU 들, 변환 유닛 (TU) 들, 매크로블록들, 매크로블록 파티션들 등을 포함할 수도 있다. 일부의 문맥들에서, PU 들의 논의는 매크로블록 파티션들의 매크로블록들의 논의와 상호 교환될 수도 있다.
코딩된 CTU 를 생성하기 위하여, 비디오 인코더 (20) 는 코딩 트리 블록들을 코딩 블록들, 이 때문에, 명칭 "코딩 트리 유닛들" 로 분할하기 위하여, CTU 의 코딩 트리 블록들에 대해 쿼드-트리 파티셔닝을 재귀적으로 수행할 수도 있다. 코딩 블록은 샘플들의 NxN 블록이다. CU 는, 루마 샘플들의 코딩 블록과, 루마 샘플 어레이, Cb 샘플 어레이 및 Cr 샘플 어레이를 가지는 픽처의 크로마 샘플들의 2 개의 대응하는 코딩 블록들과, 코딩 블록들의 샘플들을 코딩하기 위해 이용된 신택스 구조들을 포함할 수도 있다. 단색 픽처들, 또는 3 개의 별도의 컬러 평면들을 가지는 픽처들에서는, CU 가 단일 코딩 블록과, 코딩 블록의 샘플들을 코딩하기 위해 이용된 신택스 구조들을 포함할 수도 있다.
비디오 인코더 (20) 는 CU 의 코딩 블록을 하나 이상의 예측 블록들로 파티셔닝할 수도 있다. 예측 블록은 동일한 예측이 적용되는 샘플들의 직사각형 (즉, 정사각형 또는 비-정사각형) 블록이다. CU 의 PU 는 루마 샘플들의 예측 블록, 크로마 샘플들의 2 개의 대응하는 예측 블록들, 및 예측 블록들을 예측하기 위해 이용된 신택스 구조들을 포함할 수도 있다. 단색 픽처들, 또는 3 개의 별도의 컬러 평면들을 가지는 픽처들에서는, PU 가 단일 예측 블록과, 예측 블록을 예측하기 위해 이용된 신택스 구조들을 포함할 수도 있다. 비디오 인코더 (20) 는 CU 의 각각의 PU 의 루마, Cb 및 Cr 예측 블록들에 대한 예측 루마, Cb 및 Cr 블록들을 생성할 수도 있다. 이 때문에, 이 개시물에서, CU 는 하나 이상의 PU 들로 파티셔닝된다고 말해질 수도 있다. 설명의 용이함을 위하여, 이 개시물은 PU 의 예측 블록의 사이즈를 간단하게 PU 의 사이즈로서 지칭할 수도 있다.
비디오 인코더 (20) 는 PU 에 대한 예측 블록들을 생성하기 위하여 인트라 예측 또는 인터 예측을 이용할 수도 있다. 비디오 인코더 (20) 가 PU 의 예측 블록들을 생성하기 위하여 인트라 예측을 이용할 경우, 비디오 인코더 (20) 는 PU 와 연관된 픽처의 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다. 이 개시물에서, 어구 "기초한" 은 "적어도 부분적으로 기초한" 을 표시할 수도 있다.
비디오 인코더 (20) 가 PU 의 예측 블록들을 생성하기 위하여 인터 예측을 이용할 경우, 비디오 인코더 (20) 는 PU 와 연관된 픽처 이외의 하나 이상의 픽처들의 디코딩된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다. 인터 예측이 블록 (예컨대, PU) 의 예측 블록들을 생성하기 위하여 이용될 때, 이 개시물은 블록을 "인터-코딩된" 또는 "인터 예측된" 으로서 지칭할 수도 있다. 인터 예측은 단방향-예측적 (즉, 단방향-예측) 또는 양방향-예측적 (즉, 양방향-예측) 일 수도 있다. 단방향-예측 또는 양방향-예측을 수행하기 위하여, 비디오 인코더 (20) 는 현재의 픽처에 대한 제 1 참조 픽처 리스트 (RefPicList0) 및 제 2 참조 픽처 리스트 (RefPicList1) 를 생성할 수도 있다. 참조 픽처 리스트들의 각각은 하나 이상의 참조 픽처들을 포함할 수도 있다. 참조 픽처 리스트가 구성된 후 (즉, 이용가능할 경우, RefPicList0 및 RefPicList1), 참조 픽처 리스트에 대한 참조 인덱스는 참조 픽처 리스트에 포함된 임의의 참조 픽처를 식별하기 위하여 이용될 수 있다.
단방향-예측을 이용할 때, 비디오 인코더 (20) 는 참조 픽처 내에서 참조 로케이션을 결정하기 위하여 RefPicList0 및 RefPicList1 의 어느 하나 또는 양자에서 참조 픽처들을 검색할 수도 있다. 또한, 단방향-예측을 이용할 때, 비디오 인코더 (20) 는 참조 로케이션에 대응하는 샘플들에 적어도 부분적으로 기초하여, PU 에 대한 예측 블록들을 생성할 수도 있다. 또한, 단방향-예측을 이용할 때, 비디오 인코더 (20) 는 PU 의 예측 블록 및 참조 로케이션 사이의 공간적 변위를 표시하는 단일 모션 벡터를 생성할 수도 있다. 모션 벡터는 PU 의 예측 블록 및 참조 로케이션 사이의 수평 변위를 특정하는 수평 컴포넌트를 포함할 수도 있고, PU 의 예측 블록 및 참조 로케이션 사이의 수직 변위를 특정하는 수직 컴포넌트를 포함할 수도 있다.
PU 를 인코딩하기 위하여 양방향-예측을 이용할 때, 비디오 인코더 (20) 는 RefPicList0 내의 참조 픽처에서의 제 1 참조 로케이션, 및 RefPicList1 내의 참조 픽처에서의 제 2 참조 로케이션을 결정할 수도 있다. 비디오 인코더 (20) 는 제 1 및 제 2 참조 로케이션들에 대응하는 샘플들에 적어도 부분적으로 기초하여, PU 에 대한 예측 블록들을 생성할 수도 있다. 또한, PU 를 인코딩하기 위하여 양방향-예측을 이용할 때, 비디오 인코더 (20) 는 PU 의 예측 블록 및 제 1 참조 로케이션 사이의 공간적 변위를 표시하는 제 1 모션 벡터와, PU 의 예측 블록 및 제 2 참조 로케이션 사이의 공간적 변위를 표시하는 제 2 모션 벡터를 생성할 수도 있다.
비디오 인코더 (20) 가 PU 의 예측 블록들을 생성하기 위하여 인터 예측을 이용할 경우, 비디오 인코더 (20) 는 PU 와 연관된 픽처 이외의 하나 이상의 픽처들의 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 PU 에 대한 단방향-예측적 인터 예측 (즉, 단방향-예측) 또는 양방향-예측적 인터 예측 (즉, 양방향-예측) 을 수행할 수도 있다.
비디오 인코더 (20) 가 PU 에 대한 단방향-예측을 수행하는 사례들에서, 비디오 인코더 (20) 는 PU 의 모션 벡터에 기초하여, 참조 픽처에서의 참조 로케이션을 결정할 수도 있다. 다음으로, 비디오 인코더 (20) 는 PU 에 대한 예측 블록을 결정할 수도 있다. PU 에 대한 예측 블록에서의 각각의 샘플은 참조 로케이션과 연관될 수도 있다. 일부의 예들에서, PU 에 대한 예측 블록에서의 샘플은, 샘플이 PU 와 동일한 사이즈를 가지는 샘플들의 블록 내에 있고 그 상부-좌측 코너가 참조 로케이션일 때에 참조 로케이션과 연관될 수도 있다. 예측 블록에서의 각각의 샘플은 참조 픽처의 실제의 또는 보간된 샘플일 수도 있다. 예측 블록의 루마 샘플들이 참조 픽처의 보간된 루마 샘플들에 기초하고 있는 사례들에서, 비디오 인코더 (20) 는 8-탭 보간 필터를 참조 픽처의 실제의 루마 샘플들에 적용함으로써 보간된 루마 샘플들을 생성할 수도 있다. 예측 블록의 크로마 샘플들이 참조 픽처의 보간된 크로마 샘플들에 기초하고 있는 사례들에서, 비디오 인코더 (20) 는 4-탭 보간 필터를 참조 픽처의 실제의 크로마 샘플들에 적용함으로써 보간된 크로마 샘플들을 생성할 수도 있다. 일반적으로, 필터의 탭들의 수는 필터를 수학적으로 표현하기 위하여 요구된 계수들의 수를 표시한다. 더 높은 탭 수를 갖는 필터는 더 낮은 탭 수를 가지는 필터보다 일반적으로 더욱 복잡하다.
비디오 인코더 (20) 가 PU 에 대한 양방향-예측을 수행하는 사례들에서, PU 는 2 개의 모션 벡터들을 가진다. 비디오 인코더 (20) 는 PU 의 모션 벡터들에 기초하여, 2 개의 참조 픽처들에서의 2 개의 참조 로케이션들을 결정할 수도 있다. 다음으로, 비디오 인코더 (20) 는 2 개의 참조 로케이션들과 연관된 참조 블록들을 위에서 설명된 방식으로 결정할 수도 있다. 다음으로, 비디오 인코더 (20) 는 PU 에 대한 예측 블록을 결정할 수도 있다. 예측 블록에서의 각각의 샘플은 참조 블록들에서의 대응하는 샘플들의 가중화된 평균 (weighted average) 일 수도 있다. 샘플들의 가중화는 PU 를 포함하는 픽처로부터의 참조 픽처들의 시간적 거리들에 기초할 수도 있다.
비디오 인코더 (20) 는 다양한 파티셔닝 모드들에 따라 CU 를 하나 이상의 PU 들로 파티셔닝할 수도 있다. 예를 들어, 인트라 예측이 CU 의 PU 들에 대한 예측 블록들을 생성하기 위하여 이용될 경우, CU 는 PART_2Nx2N 모드 또는 PART_NxN 모드에 따라 파티셔닝될 수도 있다. PART_2Nx2N 모드에서, CU 는 하나의 PU 를 가지기만 한다. PART_NxN 모드에서, CU 는 직사각형 예측 블록들을 가지는 4 개의 동일한 사이즈의 PU 들을 가진다. 인터 예측이 CU 의 PU 들에 대한 예측 블록들을 생성하기 위하여 이용될 경우, CU 는 PART_2Nx2N 모드, PART_NxN 모드, PART_2NxN 모드, PART_Nx2N 모드, PART_2NxnU 모드, PART_2NxuD 모드, PART_nLx2N 모드, 또는 PART_nRx2N 모드에 따라 파티셔닝될 수도 있다. PART_2NxN 모드 및 PART_Nx2N 모드에서, CU 는 직사각형 예측 블록들을 가지는 2 개의 동일한 사이즈의 PU 들로 파티셔닝된다. PART_2NxnU 모드, PART_2NxuD 모드, PART_nLx2N 모드, 및 PART_nRx2N 모드의 각각에서, CU 는 직사각형 예측 블록들을 가지는 2 개의 동일하지 않은 사이즈의 PU 들로 파티셔닝된다.
비디오 인코더 (20) 가 CU 의 하나 이상의 PU 들에 대한 예측 루마, Cb 및 Cr 블록들을 생성한 후, 비디오 인코더 (20) 는 CU 에 대한 루마 잔차 블록을 생성할 수도 있다. CU 의 루마 잔차 블록에서의 각각의 샘플은 CU 의 예측 루마 블록들 중의 하나에서의 루마 샘플과, CU 의 원래의 루마 코딩 블록에서의 대응하는 샘플과의 사이의 차이를 표시한다. 게다가, 비디오 인코더 (20) 는 CU 에 대한 Cb 잔차 블록을 생성할 수도 있다. CU 의 Cb 잔차 블록에서의 각각의 샘플은 CU 의 예측 Cb 블록들 중의 하나에서의 Cb 샘플과, CU 의 원래의 Cb 코딩 블록에서의 대응하는 샘플과의 사이의 차이를 표시할 수도 있다. 비디오 인코더 (20) 는 또한, CU 에 대한 Cr 잔차 블록을 생성할 수도 있다. CU 의 Cr 잔차 블록에서의 각각의 샘플은 CU 의 예측 Cr 블록들 중의 하나에서의 Cr 샘플과, CU 의 원래의 Cr 코딩 블록에서의 대응하는 샘플과의 사이의 차이를 표시할 수도 있다.
또한, 비디오 인코더 (20) 는 CU 의 루마, Cb 및 Cr 잔차 블록들을 하나 이상의 루마, Cb 및 Cr 변환 블록들로 분해하기 위하여 쿼드-트리 파티셔닝을 이용할 수도 있다. 변환 블록은 동일한 변환이 적용되는 샘플들의 직사각형 (예컨대, 정사각형 또는 비-정사각형) 블록이다. CU 의 TU 는 루마 샘플들의 변환 블록, 크로마 샘플들의 2 개의 대응하는 변환 블록들, 및 변환 블록 샘플들을 변환하기 위해 이용된 신택스 구조들을 포함할 수도 있다. 이에 따라, CU 의 각각의 TU 는 루마 변환 블록, Cb 변환 블록, 및 Cr 변환 블록과 연관될 수도 있다. TU 와 연관된 루마 변환 블록은 CU 의 루마 잔차 블록의 서브-블록 (sub-block) 일 수도 있다. Cb 변환 블록은 CU 의 Cb 잔차 블록의 서브-블록일 수도 있다. Cr 변환 블록은 CU 의 Cr 잔차 블록의 서브-블록일 수도 있다. 단색 픽처들, 또는 3 개의 별도의 컬러 평면들을 가지는 픽처들에서는, TU 가 단일 변환 블록과, 변환 블록의 샘플들을 변환하기 위해 이용된 신택스 구조들을 포함할 수도 있다.
비디오 인코더 (20) 는 TU 에 대한 루마 계수 블록을 생성하기 위하여 하나 이상의 변환들을 TU 의 루마 변환 블록에 적용할 수도 있다. 계수 블록은 변환 계수들의 2 차원 어레이일 수도 있다. 변환 계수는 스칼라 양 (scalar quantity) 일 수도 있다. 비디오 인코더 (20) 는 TU 에 대한 Cb 계수 블록을 생성하기 위하여 하나 이상의 변환들을 TU 의 Cb 변환 블록에 적용할 수도 있다. 비디오 인코더 (20) 는 TU 에 대한 Cr 계수 블록을 생성하기 위하여 하나 이상의 변환들을 TU 의 Cr 변환 블록에 적용할 수도 있다.
계수 블록 (예컨대, 루마 계수 블록, Cb 계수 블록, 또는 Cr 계수 블록) 을 생성한 후, 비디오 인코더 (20) 는 계수 블록을 양자화할 수도 있다. 양자화는 일반적으로, 변환 계수들을 나타내기 위해 이용된 데이터의 양을 가능한 대로 감소시키기 위하여 변환 계수들이 양자화되어 추가의 압축을 제공하는 프로세스를 지칭한다. 비디오 인코더 (20) 는 CU 와 연관된 양자화 파라미터 (quantization parameter; QP) 값에 기초하여 CU 의 TU 와 연관된 계수 블록을 양자화할 수도 있다. 비디오 인코더 (20) 는 CU 와 연관된 QP 값을 조절함으로써 CU 와 연관된 계수 블록들에 적용된 양자화도 (degree of quantization) 를 조절할 수도 있다. 일부의 예들에서, CU 와 연관된 QP 값은 전체적으로 현재의 픽처 또는 슬라이스와 연관될 수도 있다. 비디오 인코더 (20) 가 계수 블록을 양자화한 후, 비디오 인코더 (20) 는 양자화된 변환 계수들을 표시하는 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수들을 표시하는 신택스 엘리먼트들에 대해 컨텍스트-적응 2 진 산술 코딩 (Context-Adaptive Binary Arithmetic Coding; CABAC) 을 수행할 수도 있다.
비디오 인코더 (20) 는 비디오 데이터 (즉, 코딩된 픽처들 및 연관된 데이터) 의 표현을 형성하는 비트들의 시퀀스를 포함하는 비트스트림을 출력할 수도 있다. 비트스트림은 네트워크 추상화 계층 (network abstraction layer; NAL) 유닛들의 시퀀스를 포함할 수도 있다. NAL 유닛은 에뮬레이션 방지 비트 (emulation prevention bit) 들로 필요에 따라 산재된 원시 바이트 시퀀스 페이로드 (raw byte sequence payload; RBSP) 의 형태로, NAL 유닛에서의 데이터의 타입의 표시 및 그 데이터를 포함하는 바이트들을 포함하는 신택스 구조이다. NAL 유닛들의 각각은 NAL 유닛 헤더를 포함하고 RBSP 를 캡슐화 (encapsulate) 할 수도 있다. NAL 유닛 헤더는 NAL 유닛 타입 코드를 표시하는 신택스 엘리먼트를 포함할 수도 있다. NAL 유닛의 NAL 유닛 헤더에 의해 특정된 NAL 유닛 타입 코드는 NAL 유닛의 타입을 표시한다. RBSP 는 NAL 유닛 내에서 캡슐화되는 정수의 바이트들을 포함하는 신택스 구조일 수도 있다. 일부의 사례들에서, RBSP 는 제로 비트 (zero bit) 들을 포함한다.
상이한 타입들의 NAL 유닛들은 상이한 타입들의 RBSP 들을 캡슐화할 수도 있다. 예를 들어, 상이한 타입들의 NAL 유닛들은 비디오 파라미터 세트 (VPS) 들, 시퀀스 파라미터 세트 (SPS) 들, 픽처 파라미터 세트 (PPS) 들, 코딩된 슬라이스들, SEI 등에 대한 상이한 RBSP 들을 캡슐화할 수도 있다. (파라미터 세트들 및 SEI 메시지들에 대한 RBSP 들과는 반대로) 비디오 코딩 데이터에 대한 RBSP 들을 캡슐화하는 NAL 유닛들은 비디오 코딩 계층 (video coding layer; VCL) NAL 유닛들로서 지칭될 수도 있다.
HEVC 에서, SPS 들은 코딩된 비디오 시퀀스 (coded video sequence; CVS) 의 모든 슬라이스들에 적용되는 정보를 포함할 수도 있다. HEVC 에서, CVS 는 순간 디코딩 리프레시 (instantaneous decoding refresh; IDR) 픽처, 또는 파손 링크 액세스 (broken link access; BLA) 픽처, 또는 IDR 또는 BLA 픽처가 아닌 모든 추후의 픽처들을 포함하는, 비트스트림에서 최초 픽처인 클린 랜덤 액세스 (clean random access; CRA) 픽처로부터 시작할 수도 있다. 즉, HEVC 에서, CVS 는 디코딩 순서에 있어서, 비트스트림에서의 최초 액세스 유닛인 CRA 액세스 유닛, IDR 액세스 유닛 또는 BLA 액세스 유닛, 그 다음으로, 모든 추후의 액세스 유닛들을 포함하지만 임의의 추후의 IDR 또는 BLA 액세스 유닛을 포함하지 않는 것에 이르는 제로 이상의 비-IDR 및 비-BLA 액세스 유닛들로 구성될 수도 있는 액세스 유닛들의 시퀀스를 포함할 수도 있다.
VPS 는 제로 이상의 전체 CVS 들에 적용하는 신택스 엘리먼트들을 포함하는 신택스 구조이다. SPS 는 SPS 가 활성일 때에 활성인 VPS 를 식별하는 신택스 엘리먼트를 포함할 수도 있다. 이에 따라, VPS 의 신택스 엘리먼트들은 SPS 의 신택스 엘리먼트들보다 더욱 일반적으로 적용가능할 수도 있다. PPS 는 제로 이상의 코딩된 픽처들에 적용하는 신택스 엘리먼트들을 포함하는 신택스 구조이다. PPS 는 PPS 가 활성일 때에 활성인 SPS 를 식별하는 신택스 엘리먼트를 포함할 수도 있다. 슬라이스의 슬라이스 헤더는 슬라이스가 코딩되고 있을 때에 활성인 PPS 를 표시하는 신택스 엘리먼트를 포함할 수도 있다.
비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 생성된 비트스트림을 수신할 수도 있다. 게다가, 비디오 디코더 (30) 는 비트스트림으로부터 신택스 엘리먼트들을 얻기 위하여 비트스트림을 파싱 (parse) 할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터 얻어진 신택스 엘리먼트들에 적어도 부분적으로 기초하여 비디오 데이터의 픽처들을 재구성할 수도 있다. 비디오 데이터를 재구성하기 위한 프로세스는 비디오 인코더 (20) 에 의해 수행된 프로세스와 일반적으로 상반적일 수도 있다. 예를 들어, 비디오 디코더 (30) 는 현재의 CU 의 PU 들에 대한 예측 블록들을 결정하기 위하여 PU 들의 모션 벡터들을 이용할 수도 있다. 게다가, 비디오 디코더 (30) 는 현재의 CU 의 TU 들과 연관된 계수 블록들을 역양자화할 수도 있다. 비디오 디코더 (30) 는 현재의 CU 의 TU 들과 연관된 변환 블록들을 재구성하기 위하여 계수 블록들에 대해 역변환들을 수행할 수도 있다. 비디오 디코더 (30) 는 현재의 CU 의 PU 들에 대한 예측 블록들의 샘플들을 현재의 CU 의 TU 들의 변환 블록들의 대응하는 샘플들에 추가함으로써, 현재의 CU 의 코딩 블록들을 재구성할 수도 있다. 픽처의 각각의 CU 에 대한 코딩 블록들을 재구성함으로써, 비디오 디코더 (30) 는 픽처를 재구성할 수도 있다.
일부의 예들에서, 비디오 인코더 (20) 는 병합 모드 또는 진보된 모션 벡터 예측 (advanced motion vector prediction; AMVP) 모드를 이용하여 PU 의 모션 정보를 시그널링할 수도 있다. 다시 말해서, HEVC 에서는, 모션 파라미터들의 예측을 위한 2 개의 모드들이 있고, 하나는 병합/스킵 모드이고 다른 하나는 AMVP 이다. 모션 예측은 하나 이상의 다른 비디오 유닛들의 모션 정보에 기초한 비디오 유닛 (예컨대, PU) 의 모션 정보의 결정을 포함할 수도 있다. PU 의 모션 정보 (즉, 모션 파라미터들) 는 PU 의 모션 벡터 (들), PU 의 참조 인덱스 (들), 및 하나 이상의 예측 방향 표시자들을 포함할 수도 있다.
비디오 인코더 (20) 가 병합 모드를 이용하여 현재의 PU 의 모션 정보를 시그널링할 때, 비디오 인코더 (20) 는 병합 후보 리스트를 생성한다. 다시 말해서, 비디오 인코더 (20) 는 모션 벡터 예측자 리스트 구성 프로세스를 수행할 수도 있다. 병합 후보 리스트는 현재의 PU 와 공간적으로 또는 시간적으로 이웃하는 PU 들의 모션 정보를 표시하는 병합 후보들의 세트를 포함한다. 즉, 병합 모드에서는, 모션 파라미터들 (예컨대, 참조 인덱스들, 모션 벡터들 등) 의 후보 리스트가 구성되고, 여기서, 후보는 공간적 및 시간적으로 이웃하는 블록들로부터 나올 수 있다.
또한, 병합 모드에서, 비디오 인코더 (20) 는 병합 후보 리스트로부터 병합 후보를 선택할 수도 있고, 선택된 병합 후보에 의해 표시된 모션 정보를 현재의 PU 의 모션 정보로서 이용할 수도 있다. 비디오 인코더 (20) 는 선택된 병합 후보의 병합 후보 리스트에서의 위치를 시그널링할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 선택된 병합 후보의 후보 리스트 내에서의 위치를 표시하는 인덱스 (즉, 병합 후보 인덱스) 를 송신함으로써 선택된 모션 벡터 파라미터들을 시그널링할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터, 후보 리스트로의 인덱스 (즉, 병합 후보 인덱스) 를 얻을 수도 있다. 게다가, 비디오 디코더 (30) 는 동일한 병합 후보 리스트를 생성할 수도 있고, 병합 후보 인덱스에 기초하여, 선택된 병합 후보를 결정할 수도 있다. 다음으로, 비디오 디코더 (30) 는 현재의 PU 에 대한 예측 블록들을 생성하기 위하여 선택된 병합 후보의 모션 정보를 이용할 수도 있다. 즉, 비디오 디코더 (30) 는 후보 리스트 인덱스에 적어도 부분적으로 기초하여, 후보 리스트에서의 선택된 후보를 결정할 수도 있고, 여기서, 선택된 후보는 현재의 PU 에 대한 모션 정보 (예컨대, 모션 벡터) 를 특정한다. 이러한 방법으로, 디코더 측에서는, 일단 인덱스가 디코딩되면, 인덱스가 지시하는 대응하는 블록의 모든 모션 파라미터들이 현재의 PU 에 의해 승계될 수도 있다.
스킵 모드는 병합 모드와 유사하다. 스킵 모드에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 비디오 인코더 (20) 및 비디오 디코더 (30) 가 병합 모드에서 병합 후보 리스트를 이용하는 것과 동일한 방법으로 병합 후보 리스트를 생성 및 이용한다. 그러나, 비디오 인코더 (20) 가 스킵 모드를 이용하여 현재의 PU 의 모션 정보를 시그널링할 때, 비디오 인코더 (20) 는 현재의 PU 에 대한 임의의 잔차 데이터를 시그널링하지 않는다. 따라서, 비디오 디코더 (30) 는 잔차 데이터의 이용 없이, 병합 후보 리스트에서의 선택된 후보의 모션 정보에 의해 표시된 참조 블록에 기초하여 PU 에 대한 예측 블록을 결정할 수도 있다. 스킵 모드는 병합 모드와 동일한 모션 벡터 유도 프로세스를 가지므로, 이 문서에서 설명된 기법들은 병합 및 스킵 모드들의 양자에 적용할 수도 있다.
AMVP 모드는, 비디오 인코더 (20) 가 후보 리스트를 생성할 수도 있고 후보 리스트로부터 후보를 선택할 수도 있다는 점에서 병합 모드와 유사하다. 그러나, 비디오 인코더 (20) 가 AMVP 모드를 이용하여 현재의 PU 의 RefPicListX (여기서, X 는 0 또는 1) 모션 정보를 시그널링할 때, 비디오 인코더 (20) 는 현재의 PU 에 대한 RefPicListX 모션 벡터 예측자 (motion vector predictor; MVP) 플래그를 시그널링하는 것에 추가하여, 현재의 PU 에 대한 RefPicListX 모션 벡터 차이 (motion vector difference; MVD) 및 현재의 PU 에 대한 RefPicListX 참조 인덱스를 시그널링할 수도 있다. 현재의 PU 에 대한 RefPicListX MVP 플래그는 AMVP 후보 리스트에서 선택된 AMVP 후보의 위치를 표시할 수도 있다. 현재의 PU 에 대한 RefPicListX MVD 는 현재의 PU 의 RefPicListX 모션 벡터와, 선택된 AMVP 후보의 모션 벡터와의 사이의 차이를 표시할 수도 있다. 이러한 방법으로, 비디오 인코더 (20) 는 RefPicListX MVP 플래그, RefPicListX 참조 인덱스 값, 및 RefPicListX MVD 를 시그널링함으로써 현재의 PU 의 RefPicListX 모션 정보를 시그널링할 수도 있다. 다시 말해서, 현재의 PU 에 대한 모션 벡터를 나타내는 비트스트림에서의 데이터는 참조 인덱스, 후보 리스트로의 인덱스, 및 MVD 를 나타내는 데이터를 포함할 수도 있다. 이에 따라, 선택된 모션 벡터들은 후보 리스트로의 인덱스를 송신함으로써 시그널링될 수도 있다. 게다가, 참조 인덱스 값들 및 모션 벡터 차이들이 또한 시그널링될 수도 있다.
또한, 현재의 PU 의 모션 정보가 AMVP 모드를 이용하여 시그널링될 때, 비디오 디코더 (30) 는 비트스트림으로부터, 현재의 PU 에 대한 MVD 및 MVP 플래그를 얻을 수도 있다. 비디오 디코더 (30) 는 동일한 AMVP 후보 리스트를 생성할 수도 있고, MVP 플래그에 기초하여, 선택된 AMVP 후보를 결정할 수도 있다. 비디오 디코더 (30) 는 선택된 AMVP 후보에 의해 표시된 모션 벡터에 MVD 를 추가함으로써 현재의 PU 의 모션 벡터를 복원할 수도 있다. 즉, 비디오 디코더 (30) 는 선택된 AMVP 후보에 의해 표시된 모션 벡터 및 MVD 에 기초하여, 현재의 PU 의 모션 벡터를 결정할 수도 있다. 다음으로, 비디오 디코더 (30) 는 현재의 PU 에 대한 예측 블록들을 생성하기 위하여 현재의 PU 의 복원된 모션 벡터 또는 모션 벡터들을 이용할 수도 있다.
비디오 코더가 현재의 PU 에 대한 AMVP 후보 리스트를 생성할 때, 비디오 코더는 현재의 PU 와 공간적으로 이웃하는 로케이션들을 커버하는 PU 들 (즉, 공간적으로 이웃하는 PU 들) 의 모션 정보에 기초하여 하나 이상의 AMVP 후보들을, 그리고 현재의 PU 와 시간적으로 이웃하는 PU 들 (즉, 시간적으로 이웃하는 PU 들) 의 모션 정보에 기초하여 하나 이상의 AMVP 후보들을 유도할 수도 있다. AMVP 에서, 각각의 모션 가설 (motion hypothesis) 에 대한 모션 벡터 예측자들의 후보 리스트는 코딩된 참조 인덱스에 기초하여 유도될 수도 있다. 이 개시물에서, PU 와 연관된 예측 블록 (또는 비디오 유닛과 연관된 다른 타입의 샘플 블록) 이 로케이션을 포함할 경우, PU (또는 다른 타입의 비디오 유닛) 는 로케이션을 "커버" 한다고 말해질 수도 있다. 후보 리스트는 시간적 참조 픽처에서의 병치 (co-locate) 된 블록의 이웃하는 블록의 모션 파라미터들 (즉, 모션 정보) 에 기초하여 유도되는 시간적 모션 벡터 예측자뿐만 아니라, 동일한 참조 인덱스와 연관되는 이웃하는 블록들의 모션 벡터들을 포함한다.
도 2 는 현재의 PU (40) 에 관련된 일 예의 공간적으로-이웃하는 PU 들을 예시하는 개념도이다. 도 2 의 예에서, 공간적으로 이웃하는 PU 들은 A0, A1, B0, B1, 및 B2 로서 표시된 로케이션들을 커버하는 PU 들일 수도 있다.
현재의 PU 와 시간적으로 이웃하는 PU (즉, 현재의 PU 와는 상이한 시간 인스턴스에 있는 PU) 의 모션 정보에 기초하고 있는 병합 후보 리스트 또는 AMVP 후보 리스트에서의 후보는 TMVP 로서 지칭될 수도 있다. TMVP 는 HEVC 의 코딩 효율을 개선시키기 위해 이용될 수도 있고, 다른 코딩 툴들과 상이하게, TMVP 는 디코딩된 픽처 버퍼, 더욱 구체적으로 참조 픽처 리스트에서 프레임의 모션 벡터를 액세스할 필요가 있을 수도 있다.
TMVP 들의 이용은 CVS-대-CVS 에 기초하여, 슬라이스-대-슬라이스에 기초하여, 또는 또 다른 것에 기초하여 가능 또는 불가능하게 될 수도 있다. SPS 에서의 신택스 엘리먼트 (예컨대, sps_temporal_mvp_enable_flag) 는 TMVP 들의 이용이 CVS 에 대해 가능하게 되는지 여부를 표시할 수도 있다. 또한, TMVP 들의 이용이 CVS 에 대해 가능하게 될 때, TMVP 들의 이용은 CVS 내의 특정 슬라이스들에 대해 가능 또는 불가능하게 될 수도 있다. 예를 들어, 슬라이스 헤더에서의 신택스 엘리먼트 (예컨대, slice_temporal_mvp_enable_flag) 는 TMVP 의 이용이 슬라이스에 대해 가능하게 되는지 여부를 표시할 수도 있다. 이에 따라, 인터 예측된 슬라이스에서, TMVP 가 전체의 CVS 에 대해 가능하게 될 때 (예컨대, SPS 에서의 sps_temporal_mvp_enable_flag 가 1 로 설정됨), TMVP 들의 이용이 현재의 슬라이스에 대해 가능하게 되는지 여부를 표시하기 위하여, slice_temporal_mvp_enable_flag 가 슬라이스 헤더에서 시그널링된다.
TMVP 를 결정하기 위하여, 비디오 코더는 먼저, 현재의 PU 와 병치되는 PU 를 포함하는 참조 픽처를 식별할 수도 있다. 다시 말해서, 비디오 코더는 소위 "병치된 픽처" 를 식별할 수도 있다. 현재의 픽처의 현재의 슬라이스가 B 슬라이스 (즉, 양방향으로 인터 예측된 PU 들을 포함하도록 허용되는 슬라이스) 일 경우, 비디오 인코더 (20) 는 슬라이스 헤더에서, 병치된 픽처가 RefPicList0 또는 RefPicList1 로부터 나온 것인지 여부를 표시하는 신택스 엘리먼트 (예컨대, collocated_from_l0_flag) 를 시그널링할 수도 있다. 다시 말해서, TMVP 들의 이용이 현재의 슬라이스에 대해 가능하게 되고, 현재의 슬라이스가 B 슬라이스 (예컨대, 양방향-예측 인터 예측된 PU 들을 포함하도록 허용되는 슬라이스) 일 때, 비디오 인코더 (20) 는 병치된 픽처가 RefPicList0 또는 RefPicList1 에 있는지 여부를 표시하기 위하여 슬라이스 헤더에서 신택스 엘리먼트 (예컨대, collocated_from_l0_flag) 를 시그널링할 수도 있다. 비디오 디코더 (30) 가 병치된 픽처를 포함하는 참조 픽처 리스트를 식별한 후, 비디오 디코더 (30) 는 식별된 참조 픽처 리스트에서 픽처 (즉, 병치된 픽처) 를 식별하기 위하여, 슬라이스 헤더에서 시그널링될 수도 있는 또 다른 신택스 엘리먼트 (예컨대, collocated_ref_idx) 를 이용할 수도 있다. 즉, 참조 픽처 리스트가 식별된 후, 슬라이스 헤더에서 시그널링된 collocated_ref_idx 는 참조 픽처 리스트에서 픽처를 식별하기 위하여 이용된다.
비디오 코더는 병치된 픽처를 검사함으로써 병치된 PU 를 식별할 수도 있다. TMVP 는 병치된 PU 를 포함하는 CU 의 우측-하부 PU 의 모션 정보, 또는 이 PU 를 포함하는 CU 의 중심 PU 들 내의 우측-하부 PU 의 모션 정보 중의 어느 하나를 표시할 수도 있다. 이에 따라, 이 PU 를 포함하는 CU 의 우측-하부 PU 의 모션, 또는 이 PU 를 포함하는 CU 의 중심 PU 들 내의 우측-하부 PU 의 모션이 이용된다. 병치된 PU 를 포함하는 CU 의 우측-하부 PU 는 PU 의 예측 블록의 하부-우측 샘플의 바로 하부 및 우측의 로케이션을 커버하는 PU 일 수도 있다. 다시 말해서, TMVP 는, 참조 픽처에 있으며 현재의 PU 의 하부 우측 코너와 병치되어 있는 로케이션을 커버하는 PU 의 모션 정보를 표시할 수도 있거나, TMVP 는, 참조 픽처에 있으며 현재의 PU 의 중심과 병치되어 있는 로케이션을 커버하는 PU 의 모션 정보를 표시할 수도 있다.
상기 프로세스에 의해 식별된 모션 벡터들 (즉, TMVP 의 모션 벡터들) 이 병합 모드 또는 AMVP 모드에 대한 모션 후보를 생성하기 위하여 이용될 때, 비디오 코더는 참조 픽처들의 (POC 값에 의해 반영된) 시간적 로케이션에 기초하여 현재의 PU 의 모션 벡터를 스케일링될 수도 있다. 다시 말해서, 비디오 코더는 현재의 픽처 및 참조 픽처 사이의 POC 거리에 기초하여 현재의 PU 의 모션 벡터를 스케일링할 수도 있다. 예를 들어, 비디오 코더가 제 1 픽처 및 제 2 픽처 사이의 POC 거리에 기초하여 모션 벡터를 스케일링할 때에는, 비디오 코더는 제 1 픽처 및 제 2 픽처의 POC 값들 사이의 차이가 더 작을 때보다, 제 1 픽처 및 제 2 픽처의 POC 값들 사이의 차이가 더 클 때에 더 큰 양들만큼 모션 벡터의 크기를 증가시킬 수도 있다.
TMVP 로부터 유도된 시간적 병합 후보에 대한 모든 가능한 참조 픽처 리스트들의 타겟 참조 인덱스는 항상 0 으로 설정될 수도 있다. 그러나, AMVP 에 대하여, 모든 가능한 참조 픽처들의 타겟 참조 인덱스는 디코딩된 참조 인덱스와 동일하게 설정된다. HEVC 에서, SPS 는 플래그 (예컨대, sps_temporal_mvp_enable_flag) 를 포함할 수도 있고, 슬라이스 헤더는 sps_temporal_mvp_enable_flag 가 1 과 동일할 때에 플래그 (예컨대, pic_temporal_mvp_enable_flag) 를 포함할 수도 있다. pic_temporal_mvp_enable_flag 및 temporal_id 의 양자가 특정 픽처에 대해 0 과 동일할 때, 디코딩 순서에서 그 특정 픽처 전의 픽처들로부터의 모션 벡터는 특정 픽처 또는 디코딩 순서에서의 특정 픽처 이후의 픽처의 디코딩에 있어서의 TMVP 로서 이용되지 않는다.
멀티-뷰 코딩에서는, 상이한 뷰포인트들로부터의 동일한 장면의 다수의 뷰들이 있을 수도 있다. 용어 "액세스 유닛" 은 동일한 시간 인스턴스에 대응하는 픽처들의 세트를 지칭하기 위하여 이용된다. 이에 따라, 비디오 데이터는 시간 경과에 따라 발생하는 일련의 액세스 유닛들로서 개념화될 수도 있다. "뷰 컴포넌트" 는 단일 액세스 유닛에서의 뷰의 코딩된 표현일 수도 있다. 이 개시물에서, "뷰" 는 동일한 뷰 식별자와 연관된 뷰 컴포넌트들의 시퀀스를 지칭할 수도 있다.
멀티-뷰 코딩은 인터-뷰 예측을 지원한다. 인터-뷰 예측은 HEVC 에서 이용된 인터 예측과 유사하고, 동일한 신택스 엘리먼트들을 이용할 수도 있다. 그러나, 비디오 코더가 (PU 와 같은) 현재의 비디오 유닛에 대해 인터-뷰 예측을 수행할 때, 비디오 인코더 (20) 는 참조 픽처로서, 현재의 비디오 유닛과 동일한 액세스 유닛에 있지만 상이한 뷰에 있는 픽처를 이용할 수도 있다. 대조적으로, 기존의 인터 예측은 참조 픽처들로서, 상이한 액세스 유닛들 내의 픽처들을 이용하기만 한다. 이에 따라, MVC 에서는, 인터-뷰 예측이 동일한 액세스 유닛에서의 (즉, 동일한 시간 인스턴스에서의) 픽처들 사이에서 허용된다.
멀티-뷰 코딩에서는, 비트스트림이 복수의 계층들을 가질 수도 있다. 계층들은 상이한 뷰들에 대응할 수도 있다. 비디오 디코더 (예컨대, 비디오 디코더 (30)) 가 임의의 다른 뷰에서의 픽처들을 참조하지 않으면서 뷰에서의 픽처들을 디코딩할 수 있을 경우에, 뷰는 "기본 뷰" 로서 지칭될 수도 있다. 뷰의 디코딩이 하나 이상의 다른 뷰들에서의 픽처들의 디코딩에 종속적일 경우에, 뷰는 비-기본 뷰 (non-base view) 로서 지칭될 수도 있다.
예를 들어, NAL 유닛들은 헤더들 (즉, NAL 유닛 헤더들) 및 페이로드들 (예컨대, RBSP 들) 을 포함할 수도 있다. NAL 유닛 헤더들은 nuh_reserved_zero_6bits 신택스 엘리먼트들을 포함할 수도 있다. 상이한 값들을 특정하는 nuh_reserved_zero_6bit 신택스 엘리먼트들을 가지는 NAL 유닛들은 비트스트림의 상이한 "계층들" 에 속한다. 이에 따라, 멀티-뷰 코딩, 3DV, 또는 SVC 에서는, NAL 유닛의 nuh_reserved_zero_6bits 신택스 엘리먼트가 NAL 유닛의 계층 식별자 (즉, 계층 ID) 를 특정한다. 일부의 예들에서, NAL 유닛이 멀티-뷰 코딩, 3DV 코딩, 또는 SVC 에서의 기본 계층 (base layer) 과 관련 있을 경우, NAL 유닛의 nuh_reserved_zero_6bits 신택스 엘리먼트는 0 과 동일하다. 비트스트림의 기본 계층에서의 데이터는 비트스트림의 임의의 다른 계층에서의 데이터를 참조하지 않으면서 디코딩될 수도 있다. NAL 유닛이 멀티-뷰 코딩, 3DV, 또는 SVC 에서의 기본 계층과 관련 있지 않을 경우, nuh_reserved_zero_6bits 신택스 엘리먼트는 비-제로 (non-zero) 값을 가질 수도 있다. 위에서 표시된 바와 같이, 멀티-뷰 코딩 및 3DV 코딩에서는, 비트스트림의 상이한 계층들이 상이한 뷰들에 대응할 수도 있다. SVC 에서, 기본 계층 이외의 계층들은 "강화 계층 (enhancement layer) 들" 로서 지칭될 수도 있고, 비트스트림으로부터 디코딩된 비디오 데이터의 시각적 품질을 강화시키는 정보를 제공할 수도 있다.
또한, 계층 내의 일부의 픽처들은 동일한 계층 내의 다른 픽처들을 참조하지 않으면서 디코딩될 수도 있다. 이에 따라, 계층의 어떤 픽처들의 데이터를 캡슐화하는 NAL 유닛들은 계층에서의 다른 픽처들의 디코딩가능성에 영향을 주지 않으면서 비트스트림으로부터 제거될 수도 있다. 이러한 픽처들의 데이터를 캡슐화하는 NAL 유닛들을 제거하는 것은 비트스트림의 프레임 레이트를 감소시킬 수도 있다. 계층 내의 다른 픽처들을 참조하지 않으면서 디코딩될 수도 있는 계층 내의 픽처들의 서브세트는 본원에서 "서브-계층 (sub-layer)" 또는 "시간적 서브-계층" 으로서 지칭될 수도 있다.
NAL 유닛들은 또한, temporal_id 신택스 엘리먼트들을 포함할 수도 있다. NAL 유닛의 temporal_id 신택스 엘리먼트는 NAL 유닛의 시간적 식별자를 특정한다. NAL 유닛의 시간적 식별자는 NAL 유닛이 연관되는 서브-계층을 식별한다. 이에 따라, 비트스트림의 각각의 서브-계층은 상이한 시간적 식별자와 연관될 수도 있다. 제 1 NAL 유닛의 시간적 식별자가 제 2 NAL 유닛의 시간적 식별자보다 더 작을 경우, 제 1 NAL 유닛에 의해 캡슐화된 데이터는 제 2 NAL 유닛에 의해 캡슐화된 데이터를 참조하지 않으면서 디코딩될 수도 있다.
비-기본 뷰들 중의 하나에서의 픽처를 코딩할 때에는, 픽처가 비디오 코더가 현재 코딩하고 있는 픽처와는 상이한 뷰와 연관되지만, 비디오 코더가 현재 코딩하고 있는 픽처와 동일한 시간 인스턴스 (즉, 액세스 유닛) 에 있을 경우에, (비디오 인코더 (20) 또는 비디오 디코더 (30) 와 같은) 비디오 코더는 픽처를 참조 픽처 리스트에 추가할 수도 있다. 다른 인터 예측 참조 픽처들처럼, 비디오 코더는 참조 픽처 리스트의 임의의 위치에서 인터-뷰 예측 참조 픽처를 삽입할 수도 있다.
도 3 은 일 예의 멀티-뷰 디코딩 순서를 예시하는 개념도이다. 멀티-뷰 디코딩 순서는 비트스트림 순서일 수도 있다. 도 3 의 예에서, 각각의 정사각형은 뷰 컴포넌트에 대응한다. 정사각형들의 열 (column) 들은 액세스 유닛들에 대응한다. 각각의 액세스 유닛은 시간 인스턴스의 모든 뷰들의 코딩된 픽처들을 포함하도록 정의될 수도 있다. 정사각형들의 행 (row) 들은 뷰들에 대응한다. 도 3 의 예에서, 액세스 유닛들에는 T0 ... T11 로 라벨이 붙여지고, 뷰들에는 S0 ... S7 로 라벨이 붙여진다. 액세스 유닛의 각각의 뷰 컴포넌트는 다음 액세스 유닛의 임의의 뷰 컴포넌트 전에 디코딩되므로, 도 3 의 디코딩 순서는 시간-우선 코딩 (time-first coding) 으로서 지칭될 수도 있다. 액세스 유닛들의 디코딩 순서는 출력 또는 디스플레이 순서와 동일하지 않을 수도 있다.
멀티-뷰 코딩은 인터-뷰 예측을 지원할 수도 있다. 인터-뷰 예측은 H.264/AVC, HEVC, 또는 다른 비디오 코딩 사양들에서 이용된 인터 예측과 유사하고, 동일한 신택스 엘리먼트들을 이용할 수도 있다. 그러나, 비디오 코더가 (매크로블록 또는 PU 와 같은) 현재의 비디오 유닛에 대해 인터-뷰 예측을 수행할 때, 비디오 코더는 참조 픽처로서, 현재의 비디오 유닛과 동일한 액세스 유닛에 있지만 상이한 뷰에 있는 픽처를 이용할 수도 있다. 대조적으로, 기존의 인터 예측은 참조 픽처들로서, 상이한 액세스 유닛들 내의 픽처들을 이용하기만 한다.
도 4 는 멀티-뷰 코딩을 위한 일 예의 예측 구조를 예시하는 개념도이다. 도 4 의 멀티-뷰 예측 구조는 시간적 및 인터-뷰 예측을 포함한다. 도 4 의 예에서, 각각의 정사각형은 뷰 컴포넌트에 대응한다. 도 4 의 예에서, 액세스 유닛들에는 T0 ... T11 로 라벨이 붙여지고, 뷰들에는 S0 ... S7 로 라벨이 붙여진다. "I" 로 라벨이 붙여진 정사각형들은 인트라 예측된 뷰 컴포넌트들이다. "P" 로 라벨이 붙여진 정사각형들은 단방향-예측적 인터 예측된 뷰 컴포넌트들이다. "B" 및 "b" 로 라벨이 붙여진 정사각형들은 양방향-예측적 인터 예측된 뷰 컴포넌트들이다. "b" 로 라벨이 붙여진 정사각형들은 참조 픽처들로서 "B" 로 라벨이 붙여진 정사각형들을 이용할 수도 있다. 제 1 정사각형으로부터 제 2 정사각형으로 지시하는 화살표는, 제 1 정사각형이 제 2 정사각형에 대한 참조 픽처로서 인터 예측 시에 이용가능하다는 것을 표시한다. 도 4 에서 수직 화살표들에 의해 표시된 바와 같이, 동일한 액세스 유닛의 상이한 뷰들에서의 뷰 컴포넌트들은 참조 픽처들로서 이용가능할 수도 있다. 액세스 유닛의 하나의 뷰 컴포넌트의, 동일한 액세스 유닛의 또 다른 뷰 컴포넌트에 대한 참조 픽처로서의 이용은 인터-뷰 예측으로서 지칭될 수도 있다.
H.264/AVC 의 MVC 확장에서, 인터-뷰 예측은, H.264/AVC 모션 보상의 신택스를 이용하지만, 상이한 뷰에서의 픽처가 참조 픽처로서 이용되는 것을 허용하는 디스패리티 모션 보상 (disparity motion compensation) 에 의해 지원된다. 2 개의 뷰들의 코딩은 또한, H.264/AVC 의 MVC 확장에 의해 지원될 수도 있다. H.264/AVC 의 MVC 확장의 장점들 중의 하나는, MVC 인코더가 2 개를 초과하는 뷰들을 3D 비디오 입력으로서 취할 수도 있고 MVC 디코더가 이러한 멀티뷰 표현을 디코딩할 수도 있다는 점이다. 결과적으로, MVC 디코더를 갖는 임의의 렌더러 (renderer) 는 2 개를 초과하는 뷰들을 갖는 3D 비디오 컨텐츠들을 예상할 수도 있다.
멀티뷰 비디오 코딩의 문맥에서는, 2 개의 종류들의 모션 벡터들이 있다. 하나의 종류의 모션 벡터는 시간적 참조 픽처들을 지시하는 정상적인 모션 벡터이다. 정상적인 시간적 모션 벡터에 대응하는 인터 예측의 타입은 모션-보상된 예측 (motion-compensated prediction; MCP) 으로서 지칭될 수도 있다. 인터-뷰 예측 참조 픽처가 모션 보상을 위해 이용될 때, 대응하는 모션 벡터는 "디스패리티 모션 벡터" 로서 지칭된다. 다시 말해서, 디스패리티 모션 벡터는 상이한 뷰에서의 픽처 (즉, 디스패리티 참조 픽처 또는 인터-뷰 참조 픽처) 를 지시한다. 디스패리티 모션 벡터에 대응하는 인터 예측의 타입은 "디스패리티-보상된 예측 (disparity-compensated prediction)" 또는 "DCP" 로서 지칭될 수도 있다.
위에서 언급된 바와 같이, HEVC 의 멀티-뷰 확장 (즉, MV-HEVC) 및 HEVC 의 3DV 확장 (즉, 3D-HEVC) 은 개발 중에 있다. MV-HEVC 및 3D-HEVC 는 인터-뷰 모션 예측 및 인터-뷰 잔차 예측을 이용하여 코딩 효율을 개선시킬 수도 있다. 인터-뷰 모션 예측에서, 비디오 코더는 현재의 PU 와는 상이한 뷰에서의 PU 의 모션 정보에 기초하여 현재의 PU 의 모션 정보를 결정 (즉, 예측) 할 수도 있다. 인터-뷰 잔차 예측에서, 비디오 코더는 현재의 CU 와는 상이한 뷰에서의 잔차 데이터에 기초하여 현재의 CU 의 잔차 블록들을 결정할 수도 있다.
인터-뷰 모션 예측 및 인터-뷰 잔차 예측을 가능하게 하기 위하여, 비디오 코더는 블록들 (예컨대, PU 들, CU 들 등) 에 대한 디스패리티 벡터들을 결정할 수도 있다. 일반적으로, 디스패리티 벡터는 2 개의 뷰들 사이의 변위의 추정자 (estimator) 로서 이용된다. 비디오 코더는 인터-뷰 모션 또는 잔차 예측을 위하여 또 다른 뷰에서 참조 블록을 위치시키기 위해 블록에 대한 디스패리티 벡터를 이용할 수도 있거나, 비디오 코더는 인터-뷰 모션 예측을 위하여 디스패리티 벡터를 디스패리티 모션 벡터로 변환할 수도 있다.
일부의 예들에서, 비디오 코더는 블록에 대한 디스패리티 벡터를 유도하기 위하여 이웃 블록들 기반 디스패리티 벡터 (Neighboring Blocks Based Disparity Vector; NBDV) 의 방법을 이용할 수도 있다. 예를 들어, 현재의 PU 에 대한 디스패리티 벡터를 유도하기 위하여, NBDV 로 칭해진 프로세스는 3D-HEVC 에 대한 테스트 모델 (즉, 3D-HTM) 에서 이용될 수도 있다. NBDV 프로세스는 현재의 블록에 대한 디스패리티 벡터를 유도하기 위하여 공간적 및 시간적으로 이웃하는 블록들로부터의 디스패리티 모션 벡터들을 이용한다. 이웃하는 블록들 (예컨대, 현재의 블록과 공간적으로 또는 시간적으로 이웃하는 블록들) 은 비디오 코딩에 있어서 거의 동일한 모션 및 디스패리티 정보를 공유할 가능성이 있으므로, 현재의 블록은 이웃하는 블록들에서의 모션 벡터 정보를 현재의 블록의 디스패리티 벡터의 예측자들로서 이용할 수 있다.
비디오 코더가 NBDV 프로세스를 수행할 때, 비디오 코더는 고정된 검사 순서로, 공간적으로 이웃하는, 그리고 시간적으로 이웃하는 블록들의 모션 벡터들을 검사할 수도 있다. 비디오 코더가 공간적으로 이웃하는 또는 시간적으로 이웃하는 블록의 모션 벡터 (들) 를 검사할 때, 비디오 코더는 공간적으로 이웃하는 또는 시간적으로 이웃하는 블록의 모션 벡터 (들) 가 디스패리티 모션 벡터들인지 여부를 결정할 수도 있다. 픽처의 블록의 디스패리티 모션 벡터는 픽처의 디스패리티 참조 픽처 내에서의 로케이션을 지시하는 모션 벡터이다. 주어진 픽처의 디스패리티 참조 픽처는, 주어진 픽처와 동일한 액세스 유닛에 있지만, 주어진 픽처와는 상이한 뷰에 있는 픽처일 수도 있다. 비디오 코더가 디스패리티 모션 벡터를 식별할 때, 비디오 코더는 검사 프로세스를 종결시킬 수도 있다. 비디오 코더는 반환된 디스패리티 모션 벡터를 디스패리티 벡터로 변환할 수도 있고, 인터-뷰 모션 예측 및 인터-뷰 잔차 예측을 위한 디스패리티 벡터를 이용할 수도 있다. 예를 들어, 비디오 코더는 현재의 블록에 대한 디스패리티 벡터의 수평 컴포넌트를 디스패리티 모션 벡터의 수평 컴포넌트와 동일하게 설정할 수도 있고, 디스패리티 벡터의 수직 컴포넌트를 0 으로 설정할 수도 있다.
3D-HEVC 의 일부의 설계들 (예컨대, 3D-HTM 6.0) 에서는, 비디오 코더가 현재의 블록 (예컨대, PU) 에 대한 디스패리티 벡터를 결정하기 위하여 NBDV 프로세스를 수행할 때, 비디오 코더는 시간적으로 이웃하는 블록들에서의 디스패리티 모션 벡터들, 공간적으로 이웃하는 블록들에서의 디스패리티 모션 벡터들, 및 다음으로 묵시적 디스패리티 벡터 (Implicit Disparity Vector; IDV) 들을 순서대로 검사한다. 이에 따라, 비디오 코더는 먼저, 시간적으로 이웃하는 블록들, 그 다음으로, 공간적으로 이웃하는 블록들을 검사할 수도 있다. 일단 비디오 코더가 현재의 블록에 대한 디스패리티 벡터를 구하면, 비디오 코더는 NBDV 프로세스를 종결시킬 수도 있다. 비디오 코더가 NBDV 프로세스를 수행함으로써 현재의 블록에 대한 디스패리티 벡터를 결정할 수 없을 때 (즉, NBDV 프로세스 동안에 구해진 디스패리티 모션 벡터 또는 IDV 가 없을 때), 현재의 블록에 대한 디스패리티 벡터는 이용불가능한 것으로서 표기될 수도 있다. 다시 말해서, NBDV 프로세스는 이용불가능한 디스패리티 벡터를 반환하는 것으로 간주될 수 있다.
비디오 코더가 NBDV 프로세스를 수행함으로써 현재의 블록에 대한 디스패리티 벡터를 유도할 수 없을 경우 (즉, 디스패리티 벡터가 구해지지 않을 경우), 비디오 코더는 제로 디스패리티 벡터 (zero disparity vector) 를 현재의 블록에 대한 디스패리티 벡터로서 이용할 수도 있다. 제로 디스패리티 벡터는 0 과 동일한 수평 및 수직 컴포넌트들의 양자를 가지는 디스패리티 벡터이다. 이에 따라, NBDV 프로세스가 이용불가능한 결과를 반환하더라도, 디스패리티 벡터를 요구하는 비디오 코더의 다른 코딩 프로세스들은 현재의 블록에 대한 제로 디스패리티 벡터를 이용할 수도 있다. 일부의 예들에서, 비디오 코더가 NBDV 프로세스를 수행함으로써 현재의 블록에 대한 디스패리티 벡터를 유도할 수 없을 경우, 비디오 코더는 현재의 블록에 대한 인터-뷰 잔차 예측을 불가능하게 할 수도 있다. 그러나, 비디오 코더가 NBDV 프로세스를 수행함으로써 현재의 블록에 대한 디스패리티 벡터를 유도할 수 있는지 여부에 관계없이, 비디오 코더는 현재의 PU 에 대한 인터-뷰 모션 예측을 이용할 수도 있다. 즉, 모든 미리 정의된 이웃하는 블록들을 검사한 후에 디스패리티 벡터가 구해지지 않을 경우, 제로 디스패리티 벡터는 인터-뷰 모션 예측을 위해 이용될 수도 있는 반면, 인터-뷰 잔차 예측은 대응하는 CU 에 대해 불가능하게 될 수도 있다.
또한, 위에서 언급된 바와 같이, 비디오 코더는 현재의 블록 (예컨대, 현재의 PU) 에 대한 디스패리티 벡터를 결정하는 프로세스의 일부로서 시간적으로 이웃하는 PU 들을 검사할 수도 있다. 비디오 코더가 시간적으로 이웃하는 블록들 (예컨대, 시간적으로 이웃하는 PU 들) 을 검사할 때, 비디오 코더는 먼저 후보 픽처 리스트를 구성할 수도 있다. 일부의 예들에서, 후보 픽처 리스트는 현재의 뷰 (즉, 현재의 블록과 연관된 뷰) 에서 2 개까지의 참조 픽처들을 포함할 수도 있다. 후보 픽처 리스트에서의 제 1 참조 픽처는 소위 병치된 픽처일 수도 있다. 병치된 픽처는 낮은 지연 검사 없이 (즉, 2 개의 참조 픽처 리스트들에서의 참조 픽처들의 각각과 연관된 POC 값이 현재의 픽처의 그것보다 더 작거나 이와 동일하든지 간에) HEVC 에서의 시간적 모션 벡터 예측을 위하여 이용될 수도 있다. 현재의 블록을 포함하는 슬라이스의 슬라이스 헤더에서의 하나 이상의 신택스 엘리먼트들은 병치된 픽처를 표시할 수도 있다.
비디오 코더는 다음과 같이 후보 픽처 리스트에서의 제 2 참조 픽처를 유도할 수도 있다. 먼저, 비디오 코더는 현재의 블록과 연관된 참조 픽처 리스트들에서 랜덤 액세스 포인트 (random access point; RAP) 픽처를 검색할 수도 있다. 랜덤 액세스는 비트스트림에서 최초 코딩된 픽처가 아닌 코딩된 픽처로부터 시작하는 비트스트림의 디코딩을 지칭한다. 규칙적인 간격들로의 비트스트림 내로의 RAP 픽처들의 삽입은 랜덤 액세스를 가능하게 할 수도 있다. RAP 픽처들의 일 예의 타입들은 IDR 픽처들, CRA 픽처들, 및 BLA 픽처들을 포함한다. 이 때문에, IDR 픽처들, CRA 픽처들 및 BLA 픽처들은 집합적으로 RAP 픽처들로서 지칭된다. 비디오 코더가 RAP 픽처를 구할 경우, 비디오 코더는 후보 픽처 리스트에서의 제 2 픽처로서, RAP 를 후보 픽처 리스트에서 배치할 수도 있다. 이와 다르게, 비디오 코더가 참조 픽처 리스트들에서 랜덤 액세스 포인트를 구하지 않을 경우, 비디오 코더는 현재의 블록의 참조 픽처 리스트들에서 최저 시간적 식별자를 갖는 픽처를 검색할 수도 있고, 후보 픽처 리스트에서의 제 2 픽처로서, 이 픽처를 후보 픽처 리스트에서 배치할 수도 있다. 동일한 최저 시간적 식별자를 갖는 현재의 블록의 참조 픽처 리스트들에서 다수의 픽처들이 있을 경우, 비디오 코더는 최저 시간적 식별자를 갖는 픽처들 중의 어느 것이 현재의 픽처와의 최소 POC 거리를 가지든지 후보 픽처 리스트 내로 배치할 수도 있다. 이 개시물에서, 2 개의 픽처들 사이의 POC 거리는 2 개의 픽처들의 POC 값들 사이의 거리를 표시할 수도 있다. 개념적으로, 2 개의 픽처들 사이의 POC 거리는 2 개의 픽처들 사이의 출력 시간들에 있어서의 차이의 양의 표시일 수도 있다.
후보 픽처 리스트를 생성한 후, 비디오 코더는 후보 픽처 리스트에서의 후보 픽처들 내의 후보 영역들을 결정할 수도 있다. 비디오 코더는 시간적으로 이웃하는 블록들을 결정하기 위하여 후보 영역들을 이용할 수도 있다. 위에서 표시된 바와 같이, 비디오 코더는 시간적으로 이웃하는 블록의 디스패리티 모션 벡터 또는 IDV 에 기초하여 현재의 블록에 대한 디스패리티 벡터를 유도할 수도 있다. 일부의 예들에서, 후보 픽처 리스트 내의 각각의 후보 픽처에 대하여, 비디오 코더는 3 개의 후보 영역들을 결정할 수도 있다. 3 개의 후보 영역들은 다음과 같이 정의될 수도 있다:
●
CPU: 현재의 PU 또는 현재의 CU 의 병치된 영역.
●
CLCU: 현재의 PU 의 병치된 영역을 커버하는 최대 코딩 유닛 (largest coding unit; LCU).
●
BR: CPU 의 하부-우측 4x4 블록.
비디오 코더는 후보 픽처의 후보 영역들의 각각을 검사할 수도 있다. 하나의 예에서, 후보 픽처가 제 1 비-기본 뷰에 있을 경우, 비디오 코더는 CPU, CLCU, 및 BR 의 순서로 후보 영역들을 검사할 수도 있다. 이 예에서, 후보 픽처가 제 2 비-기본 뷰에 있을 경우, 비디오 코더는 BR, CPU, CLCU 의 순서로 후보 영역들을 검사할 수도 있다. 이 예에서, 제 1 비-기본 뷰에서의 픽처들의 디코딩은 기본 뷰에서의 픽처들의 디코딩에 종속될 수도 있지만, 다른 뷰들에서의 픽처들에는 종속되지 않을 수도 있다. 또한, 이 예에서, 제 2 비-기본 뷰에서의 픽처들의 디코딩은 또한, 기본 뷰에서의 픽처들의 디코딩에 종속되기만 할 수도 있다. 다른 예들에서, 제 2 비-기본 뷰에서의 픽처들의 디코딩은 제 1 비-기본 뷰에 추가로 종속될 수도 있지만, 존재할 경우, 다른 뷰들에서의 픽처들에는 종속되지 않을 수도 있다. 후보 영역이 하나를 초과하는 16x16 블록을 커버할 때, 비디오 코더는 래스터 스캔 순서에 따라 후보 영역에서의 모든 16x16 블록들을 검사할 수도 있다. 비디오 코더가 후보 영역 (또는 후보 영역 내의 16x16 블록) 을 검사할 때, 비디오 코더는 후보 영역을 커버하는 PU 가 디스패리티 모션 벡터를 특정하는지 여부를 결정할 수도 있다. 후보 영역을 커버하는 PU 가 디스패리티 모션 벡터를 특정할 경우, 비디오 코더는 PU 의 디스패리티 모션 벡터에 기초하여 현재의 비디오 유닛의 디스패리티 벡터를 결정할 수도 있다.
위에서 언급된 바와 같이, 비디오 코더는 현재의 블록에 대한 디스패리티 벡터를 결정하는 프로세스의 일부로서 공간적으로 이웃하는 블록들 (예컨대, PU 들) 을 검사할 수도 있다. NBDV 프로세스의 일부의 버전들에서, 비디오 코더는 디스패리티 벡터 유도를 위하여 5 개의 공간적으로 이웃하는 블록들을 이용한다. 예를 들어, 비디오 코더는 다음의 공간적으로 이웃하는 블록들: 하부-좌측의 공간적으로 이웃하는 블록, 좌측의 공간적으로 이웃하는 블록, 상부-우측의 공간적으로 이웃하는 블록, 상부의 공간적으로 이웃하는 블록, 및 상부-좌측의 공간적으로 이웃하는 블록을 검사할 수도 있다. NBDV 프로세스의 일부의 버전들에서는, 도 2 에서 표시된 바와 같이, 블록들이 로케이션들 A0, A1, B0, B1, 및 B2 을 각각 커버할 수도 있는 5 개의 공간적으로 이웃하는 블록들이 디스패리티 벡터 유돌르 위하여 이용된다. 일부의 예들에서는, 이 5 개의 공간적으로 이웃하는 블록들이 HEVC 에서의 병합 모드에서 이용된 공간적으로 이웃하는 블록들과 동일하므로, 추가적인 메모리 액세스가 요구되지 않는다. 비디오 코더는 5 개의 공간적으로 이웃하는 블록들을 A1, B1, B0, A0, 및 B2 의 순서로 검사할 수도 있다. 공간적으로 이웃하는 블록들 중의 하나가 디스패리티 모션 벡터를 가질 경우, 비디오 코더는 검사 프로세스를 종결시킬 수도 있고, 비디오 코더는 디스패리티 모션 벡터를 현재의 PU 에 대한 최종 디스패리티 벡터로서 이용할 수도 있다.
비디오 코더가 공간적으로 이웃하는 PU 를 검사할 때, 비디오 코더는 먼저, 이웃하는 PU 가 디스패리티 모션 벡터를 가지는지 여부를 검사할 수도 있다. 공간적으로 이웃하는 PU 들의 어느 것도 디스패리티 모션 벡터를 가지지 않을 경우, 비디오 코더는 공간적으로 이웃하는 PU 들 중의 임의의 것이 IDV 를 가지는지 여부를 결정할 수도 있다. IDV 는 인터-뷰 예측을 이용하여 코딩되는 공간적 또는 시간적으로 이웃하는 PU 의 디스패리티 벡터일 수도 있다. IDV 는 블록이 인터-뷰 모션 벡터 예측을 채용할 때에 생성될 수도 있으며, 즉, AMVP 또는 병합 모드들에 대한 후보는 디스패리티 벡터의 도움으로 다른 뷰에서의 참조 블록으로부터 유도된다. 비디오 코더는 IDV 를 인터-뷰 디스패리티 모션 벡터 후보로서 이용할 수도 있다. 이러한 디스패리티 벡터는 IDV 로 칭해진다. IDV 는 디스패리티 벡터 유도의 목적을 위하여 블록에 저장될 수도 있다. 또한, 비디오 코더가 디스패리티 모션 벡터 또는 IDV 를 식별할 때, 비디오 코더는 식별된 디스패리티 모션 벡터 또는 IDV 를 반환할 수도 있다.
비디오 코더가 공간적으로 이웃하는 PU 들 중의 임의의 것이 IDV 를 가지는지 여부를 결정할 때, 비디오 코더는 공간적으로 이웃하는 PU 들을 A0, A1, B0, B1, 및 B2 의 순서로 검사할 수도 있다. 이에 따라, 비디오 코더는 공간적으로 이웃하는 PU 들을 디스패리티 모션 벡터들에 대한 A1, B1, B0, A0 및 B2 의 순서로 검사할 수도 있고, 공간적으로 이웃하는 PU 들을 IDV 들에 대한 A0, A1 B0, B1, 및 B2 의 순서로 검사할 수도 있다. 공간적으로 이웃하는 PU 들 중의 하나가 IDV 를 가지고 IDV 가 병합/스킵 모드로서 코딩될 경우, 비디오 코더는 검사 프로세스를 종결시킬 수도 있고, IDV 를 현재의 PU 에 대한 최종 디스패리티 벡터로서 이용할 수도 있다.
3D-HEVC 에서, 비디오 코더는 기본 HEVC 사양에서 병합 후보 리스트들 및 AMVP 후보 리스트들을 생성하기 위하여 이용된 방식과는 다소 상이한 방식으로 병합 후보 리스트들 및 AMVP 후보 리스트들을 생성할 수도 있다. 예를 들어, 인터-뷰 모션 예측은 AMVP 및 병합/스킵 모드들의 양자에 적용될 수도 있다. 인터-뷰 모션 예측의 기본 사상은 디스패리티 벡터로부터, 또는 참조 뷰에서의 디스패리티 벡터에 의해 위치된 대응하는 블록의 모션 정보로부터 유도될 수도 있는 하나 이상의 후보들을 추가하는 것이다.
예를 들어, 비디오 코더는 현재의 PU 에 대한 디스패리티 벡터에 기초하여, 인터-뷰 예측된 모션 벡터 후보 (inter-view predicted motion vector candidate; IPMVC) 를 결정할 수도 있다. IPMVC 가 이용가능할 경우, 비디오 코더는 IPMVC 를 현재의 PU 에 대한 병합 후보 리스트, 또는 현재의 PU 에 대한 AMVP 후보 리스트에 추가할 수도 있다. 이용가능할 경우, IPMVC 는 시간적 모션 벡터 (즉, 현재의 PU 와 동일한 뷰이지만 상이한 시간 인스턴스에서의 참조 픽처에서 로케이션을 표시하는 모션 벡터) 를 특정할 수도 있다.
3D-HEVC 에서, 비디오 코더는 다음과 같이 현재의 PU 에 대한 병합 후보 리스트를 생성할 수도 있다. 위에서 표시된 바와 같이, 비디오 코더는 병합 후보 리스트로의 삽입을 위한 IPMVC 를 유도할 수도 있다. 병합 후보 리스트에서의 삽입을 위한 IPMVC 를 유도하기 위하여, 비디오 코더는 현재의 PU 의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 PU 의 참조 블록을 위치시킬 수도 있다. 현재의 PU 의 참조 PU 는 참조 뷰 (즉, 현재의 PU 와는 상이한 뷰) 에 있고, 현재의 비디오 유닛과 동일한 액세스 유닛에 있다. 다시 말해서, 동일한 액세스 유닛의 참조 뷰에서의 현재의 PU 의 참조 블록은 디스패리티 벡터에 의해 위치된다.
또한, 병합 후보 리스트에서의 삽입을 위한 IPMVC 를 유도하기 위하여, 비디오 코더는 참조 PU 가 인트라 코딩되는지 여부를 결정할 수도 있다. 참조 PU 가 인트라 코딩되지 않을 경우, 참조 PU 는 단방향-예측적 또는 양방향-예측적일 수도 있다. 참조 PU 가 단방향-예측적일 경우, 참조 PU 의 참조 인덱스는 참조 PU 의 참조 픽처를 표시한다. 참조 PU 의 참조 픽처는 참조 PU 에 대한 특정 참조 픽처 리스트 (즉, RefPicListX, 여기서, X 는 0 또는 1 과 동일함) 에 있다. 또한, 참조 PU 가 단방향-예측적일 경우, 비디오 코더는 참조 PU 의 참조 픽처의 POC 값이 현재의 PU 에 대한 RefPicListX 에서의 참조 픽처의 POC 값과 일치하는지 여부를 결정할 수도 있다. 참조 PU 의 참조 픽처의 POC 값이 현재의 PU 에 대한 RefPicListX 에서의 참조 픽처의 POC 값과 일치할 경우, 비디오 코더는, IPMVC 의 예측 방향 표시자가 참조 PU 의 예측 방향 표시자와 동일하고, IPMVC 의 모션 벡터가 참조 PU 의 모션 벡터와 동일하고, IPMVC 의 참조 인덱스가 그 POC 값이 참조 PU 의 참조 픽처의 POC 값과 일치하는 참조 픽처의 현재의 PU 에 대한 RefPicListX 에서의 위치를 표시하도록, IPMVC 를 생성할 수도 있다.
참조 PU 가 양방향-예측적일 경우, 참조 PU 는 2 개의 참조 인덱스들 및 2 개의 모션 벡터들을 가진다. 이 때문에, 참조 PU 는 참조 PU 의 RefPicList0 에서의 제 1 참조 픽처와, 참조 PU 의 RefPicList1 에서의 제 2 참조 픽처를 가진다. 참조 PU 의 제 1 참조 픽처의 POC 값이 현재의 PU 의 RefPicList0 에서의 참조 픽처의 POC 값과 일치할 경우, 그리고 참조 PU 의 제 2 참조 픽처의 POC 값이 현재의 PU 의 RefPicList1 에서의 참조 픽처의 POC 값과 일치할 경우, 비디오 코더는, IPMVC 에 대한 예측 방향 표시자가 참조 블록에 대한 예측 방향 표시자와 일치하고, IPMVC 의 모션 벡터들이 참조 블록에 대한 모션 벡터들과 일치하도록, 병합 후보 리스트에서의 삽입을 위한 IPMVC 를 생성할 수도 있다. 또한, 이 조건이 참일 경우, IPMVC 의 제 1 참조 인덱스는 그 POC 값이 참조 PU 의 제 1 참조 픽처의 POC 값과 일치하는 참조 픽처의 현재의 PU 의 RefPicList0 에서의 위치를 표시할 수도 있다. 게다가, 이 조건이 참일 경우, IPMVC 의 제 2 참조 인덱스는 그 POC 값이 참조 PU 의 제 2 참조 픽처의 POC 값과 일치하는 참조 픽처의 현재의 PU 의 RefPicList1 에서의 위치를 표시할 수도 있다. 이에 따라, 참조 블록이 인트라-코딩되지 않으며 인터-뷰 예측되지 않고, 그 참조 픽처 RefPicListX[ref_idx_lx] 가 현재의 PU 의 동일한 참조 픽처 리스트에서의 하나의 엔트리 RefPicListX[RefIdxLx] 의 그것과 동일한 POC 값을 가질 경우, POC (즉, RefIdxLx) 에 기초하여 참조 인덱스를 변환한 후의 그 모션 정보 (예컨대, 예측 방향, 참조 픽처들, 및 모션 벡터들) 는 병합 후보 리스트에서의 포함을 위한 IPMVC 인 것으로 유도된다.
도 5 는 병합/스킵 모드에 대한 IPMVC 의 일 예의 유도를 예시하는 개념도이다. 도 5 의 예에서, 현재의 PU (50) 는 시간 인스턴스 T1 에서의 뷰 V1 에서 발생한다. 현재의 PU (50) 에 대한 참조 PU (52) 는 현재의 PU (50) 와는 상이한 뷰 (즉, 뷰 V0) 에 있고, 현재의 PU (50) 와 동일한 시간 인스턴스 (즉, 시간 인스턴스 T1) 에 있다. 도 5 의 예에서, 참조 PU (52) 는 양방향-예측적이다. 이 때문에, 참조 PU (52) 는 제 1 모션 벡터 (54) 및 제 2 모션 벡터 (56) 를 가진다. 모션 벡터 (54) 는 참조 픽처 (58) 에서의 위치를 표시한다. 참조 픽처 (58) 는 뷰 V0 및 시간 인스턴스 T0 에 있다. 모션 벡터 (56) 는 참조 픽처 (60) 에서의 위치를 표시한다. 참조 픽처 (60) 는 뷰 V0 및 시간 인스턴스 T3 에서 발생한다.
비디오 코더는 참조 PU (52) 의 모션 정보에 기초하여, 현재의 PU (50) 의 병합 후보 리스트에서의 포함을 위한 IPMVC 를 생성할 수도 있다. IPMVC 는 제 1 모션 벡터 (62) 및 제 2 모션 벡터 (64) 를 가질 수도 있다. 모션 벡터 (62) 는 모션 벡터 (54) 와 일치하고, 모션 벡터 (64) 는 모션 벡터 (56) 와 일치한다. 비디오 코더는, IPMVC 의 제 1 참조 인덱스가 참조 픽처 (58) 와 동일한 시간 인스턴스 (즉, 시간 인스턴스 T0) 에서 발생하는 참조 픽처 (즉, 참조 픽처 (66)) 의 현재의 PU (50) 에 대한 RefPicList0 에서의 위치를 표시하도록, IPMVC 를 생성한다. 도 5 의 예에서, 참조 픽처 (66) 는 현재의 PU (50) 에 대한 RefPicList0 에서의 제 1 위치 (즉, Ref0) 에서 발생한다. 또한, 비디오 코더는, IPMVC 의 제 2 참조 인덱스가 참조 픽처 (60) 와 동일한 시간 인스턴스에서 발생하는 참조 픽처 (즉, 참조 픽처 (68)) 의 현재의 PU (50) 에 대한 RefPicList1 에서의 위치를 표시하도록, IPMVC 를 생성한다. 이에 따라, 도 5 의 예에서, IPMVC 의 RefPicList0 참조 인덱스는 0 과 동일할 수도 있다. 도 5 의 예에서, 참조 픽처 (69) 는 현재의 PU (50) 에 대한 RefPicList1 에서의 제 1 위치 (즉, Ref0) 에서 발생하고, 참조 픽처 (68) 는 현재의 PU (50) 에 대한 RefPicList1 에서의 제 2 위치 (즉, Ref1) 에서 발생한다. 이에 따라, IPMVC 의 RefPicList1 참조 인덱스는 1 과 동일할 수도 있다.
IPMVC 를 생성하는 것 및 병합 후보 리스트에서 IPMVC 를 포함하는 것에 추가하여, 비디오 코더는 현재의 PU 에 대한 디스패리티 벡터를 인터-뷰 디스패리티 벡터 후보 (IDMVC) 로 변환할 수도 있고, IPMVC 와는 상이한 위치에서 현재의 PU 에 대한 병합 후보 리스트에서 IDMVC 를 포함할 수도 있다. 다시 말해서, 비디오 코더는 현재의 PU 에 대한 병합 후보 리스트에서, 현재의 PU 의 디스패리티 벡터를 특정하는 병합 후보를 포함할 수도 있다. 이에 따라, IDMVC 는 현재의 PU 와는 상이한 뷰에서의 참조 픽처에서 위치를 표시할 수도 있다. 비디오 코더는 IPMVC 와는 상이한 위치에서 IDMVC 를 병합 후보 리스트에 추가할 수도 있다. 용어 "인터-뷰 후보" 는 IPMVC 또는 IDMVC 의 어느 하나를 지칭하기 위하여 이용될 수도 있다.
비디오 코더가 현재의 PU 에 대한 IPMVC 를 결정할 수 있을 경우, IPMVC 는 이용가능한 것으로 간주된다. 이에 따라, 현재의 PU 에 대한 참조 PU 가 인트라 예측되거나, 참조 PU 의 참조 인덱스에 의해 표시된 참조 픽처의 POC 값이 현재의 PU 에 대한 대응하는 참조 픽처 리스트에서의 임의의 참조 픽처의 POC 값과 일치하지 않을 경우, 현재의 PU 에 대한 IPMVC 는 이용불가능한 것으로 간주될 수도 있다. IPMVC 가 이용가능할 경우, 비디오 코더는 현재의 PU 에 대한 병합 후보 리스트에서의 모든 공간적 및 시간적 병합 후보들 전에 IPMVC 를 삽입할 수도 있다. 비디오 코더는 현재의 PU 에 대한 병합 후보 리스트 내로, 위치 A0 로부터 유도된 공간적 병합 후보 이전에 IDMVC 를 삽입할 수도 있다. 또한, 인터-뷰 예측된 모션 벡터 또는 인터-뷰 디스패리티 모션 벡터는 AMVP 후보 리스트에서의 모든 공간적 및 시간적 후보들 이전에 항상 삽입될 수도 있다.
일부의 사례들에서, 비디오 코더는 각각의 CU 에 대한 유도된 디스패리티 벡터에 기초하여 CU-레벨 인터-뷰 잔차 예측 (inter-view residual prediction; IVRP) 을 수행할 수도 있다. 비디오 코더가 현재의 픽처의 현재의 CU 에 대한 IVRP 를 수행할 때, 비디오 코더는 현재의 CU 에 대한 모션 보상된 블록을 결정하기 위하여 현재의 CU 의 PU 들의 모션 벡터들을 이용할 수도 있다. 다시 말해서, 현재의 CU 에 대한 모션 보상된 블록은 현재의 CU 의 PU 들의 예측 블록들을 포함할 수도 있다. 현재의 CU 의 모션 보상된 블록은 Pe 로서 나타내어질 수도 있다. 현재의 CU 에 대한 잔차 블록 (re) 에서의 각각의 샘플은 현재의 CU 의 원래의 코딩 블록에서의 샘플 및 Pe 에서의 대응하는 샘플 사이의 차이를 표시할 수도 있다. 게다가, 비디오 코더는 참조 픽처에서의 디스패리티 참조 CU 를 결정하기 위하여 현재의 CU 의 디스패리티 벡터를 이용할 수도 있다. 참조 픽처는 현재의 픽처와는 상이한 뷰에 있다. 디스패리티 참조 CU 의 잔차 블록은 rb 로서 나타내어질 수도 있다. 디스패리티 참조 CU 의 잔차 블록 (rb) 의 각각의 샘플은 디스패리티 참조 CU 에 대한 코딩 블록의 원래의 샘플 및 디스패리티 참조 CU 의 PU 에 대한 예측 블록에서의 대응하는 예측 샘플 사이의 차이를 표시할 수도 있다.
비디오 인코더 (20) 는 비트스트림에서, 최종 잔차 블록을 표시하는 데이터를 포함할 수도 있다. 최종 잔차 블록에서의 각각의 샘플은 rb 에서의 샘플 및 re 에서의 대응하는 샘플 사이의 차이를 표시할 수도 있다. 그러므로, 인터-뷰 잔차 예측이 이용될 때, 모션 보상은 다음의 수학식에 의해 표현될 수 있다:
여기서, 현재의 블록 의 재구성은 비양자화된 계수들 re 플러스 예측 Pe 및 양자화 정규화된 잔차 계수들 rb 과 동일하다. 비디오 코더들은 rb 를 잔차 예측자로서 취급할 수도 있다. 이에 따라, 모션 보상과 유사하게, rb 는 현재의 잔차로부터 감산될 수도 있고, 결과적인 차이 신호만이 변환 코딩된다.
일부의 예들에서, 비디오 인코더 (20) 는 잔차 예측이 적용되는지 아닌지의 여부를 표시하기 위하여 각각의 CU 에 대하여 IVRP 플래그를 시그널링한다. 일부의 이러한 예들에서, IVRP 플래그가 1 과 동일할 때, 디스패리티 벡터로 위치된 참조 뷰에서의 대응하는 블록의 잔차 블록은 현재의 블록 (즉, 현재의 CU) 의 잔차를 예측하기 위하여 이용된다. 그러나, An 등, "3D-CE4.h results on removal of parsing dependency for inter-view residual prediction (인터-뷰 잔차 예측의 제거에 관한 결과들)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11 의 3D 비디오 코딩 확장 개발에 관한 합동 협력 팀, 3 차 회의: Geneva, CH, 2013 년 1 월 17 - 23 일, 문서 JCT3V-C0138 (이하, JCT3V-C0138) 의 채택으로 인해, 잔차 예측은 파티션 사이즈가 2Nx2N 과 동일할 때에 스킵/병합 모드에서의 IPMVC 에 대해 항상 수행될 수도 있고 수행되기만 할 수도 있으므로, IVRP 플래그는 이제 더 이상 필요하지 않다. 다시 말해서, 다음이 적용된다: 현재의 CU 의 파티션 사이즈가 2Nx2N 과 동일하며 현재의 PU 가 스킵/병합 모드를 이용하고, 디코딩된 병합 인덱스가 0 과 동일하며 디코딩된 병합 인덱스가 IPMVC 에 대응할 경우, 인터-뷰 잔차 예측은 가중화를 적용하지 않으면서 적용된다 (즉, 잔차 예측자의 가중화 인자는 1 로서 취급됨). 이와 다를 경우, 인터-뷰 잔차 예측은 적용되지 않는다 (즉, 잔차 예측자의 가중화 인자는 0 으로서 취급됨).
그 전체 내용이 참조를 위해 편입되는, 2012 년 7 월 10 일자로 출원된 미국 가출원 제 61/670,075 호 및 2012 년 9 월 27 일자로 출원된 미국 가출원 제 61/706,692 호는 스케일러블 비디오 코딩을 위한 일반화된 잔차 예측 (generalized residual prediction; GRP) 을 제안한다. 이 특허 가출원들은 스케일러블 비디오 코딩에 초점을 맞추지만, 이 특허 가출원들에서 설명된 GRP 기법들은 멀티-뷰 비디오 코딩 (예컨대, MV-HEVC 및 3D-HEVC) 에 적용가능할 수도 있다.
GRP 의 일반적인 사상은 단방향-예측의 문맥에서 하기와 같이 공식화될 수 있다:
Ic = rc + Pc + w * rr,
상기 공식에서, Ic 는 현재의 계층 (또는 뷰) 에서의 현재의 프레임의 재구성을 나타내고, Pc 는 동일한 계층 (또는 뷰) 으로부터의 시간적 예측을 나타내고, rc 는 시그널링된 잔차를 표시하고, rr 은 참조 계층으로부터의 잔차 예측을 표시하고, w 는 양자화 인자이다. 일부의 예들에서, 가중화 인자는 비트스트림에서 코딩될 필요가 있을 수도 있거나 이전-코딩된 정보에 기초하여 유도될 필요가 있을 수도 있다. GRP 를 위한 이 프레임워크 (framework) 는 단일-루프 디코딩 및 멀티-루프 디코딩의 양자의 경우들에 적용될 수 있다. 멀티-루프 디코딩은 재구성되고 업샘플링된 더욱 하위 해상도 신호를 이용한 블록의 예측의 한정되지 않은 버전을 포함한다. 강화 계층에서의 하나의 블록을 디코딩하기 위하여, 이전 계층들에서의 다수의 블록들이 액세스될 필요가 있다.
예를 들어, 비디오 디코더 (30) 가 멀티-루프 디코딩을 이용할 때, GRP 는 하기와 같이 추가로 공식화될 수 있다:
Ic = rc + Pc + w * (Ir - Pr),
상기 공식에서, Pr 은 참조 계층에서의 현재의 픽처에 대한 시간적 예측을 표시하고, Pc 는 동일한 계층 (또는 뷰) 으로부터의 시간적 예측을 나타내고, rc 는 시그널링된 잔차를 표시하고, w 는 가중화 인자이고, Ir 은 참조 계층에서의 현재의 픽처의 전체 재구성을 나타낸다.
상기 공식들은 비트스트림에서 시그널링될 수도 있거나 이전-코딩된 정보에 기초하여 유도될 수도 있는 가중화 인자를 포함한다. 일부의 예들에서, 비디오 인코더 (20) 는 비트스트림에서, CU-대-CU 에 기초하여, GRP 에서 이용된 가중화 인덱스들을 시그널링할 수도 있다. 각각의 가중화 인덱스는 0 이상인 하나의 가중화 인자에 대응할 수도 있다. 현재의 CU 에 대한 가중화 인자가 0 과 동일할 때, 현재의 CU 의 잔차 블록은 기존의 HEVC 변환 코딩을 이용하여 코딩된다. 이와 다르게, 현재의 CU 에 대한 가중화 인자가 0 보다 더 클 때, 현재의 잔차 신호 (즉, 현재의 CU 에 대한 잔차 블록) 는 가중화 인자에 의해 승산된 참조 잔차 신호를 이용하여 예측될 수도 있고, 그 차이만 변환 코딩을 이용하여 송신된다. 일부의 예들에서, 참조 잔차 신호는 보간된다.
L. Zhang 등, "3D-CE5.h related: Advanced residual prediction for multiview coding (3D-CE5.h 관련: 멀티뷰 코딩을 위한 진보된 잔차 예측)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11 의 3D 비디오 코딩 확장 개발에 관한 합동 협력 팀, 2 차 회의: Shanghai, CN, 2012 년 10 월 13 - 19 일, 문서 JCT3V-B0051 (이하, "JCT3V-B0051") 은 인터-뷰 잔차 예측의 코딩 효율을 추가로 개선시키기 위한 진보된 잔차 예측 (ARP) 방법을 제안하였다. 위에서 설명된 잔차 예측 방식과 대조적으로, ARP 는 CU 레벨 대신에 PU 레벨에서 수행될 수도 있다. 위에서 설명된 잔차 예측 방식을 ARP 와 구별하기 위하여, 위에서 설명된 잔차 예측 방식은 "CU-기반 인터-뷰 잔차 예측" 으로서 지칭될 수도 있다.
도 6 은 멀티-뷰 비디오 코딩에서 ARP 의 일 예의 예측 구조를 예시하는 개념도이다. 도 6 은 4 개의 픽처들을 포함한다: 현재의 픽처 (70), 시간적 참조 픽처 (72), 디스패리티 참조 픽처 (74), 및 시간적-디스패리티 참조 픽처 (76). 현재의 픽처 (70) 는 뷰 V1 에 있고 시간 인스턴스 Tj 에 있다. 시간적 참조 픽처 (72) 는 뷰 V1 에 있고 시간 인스턴스 Ti 에 있다. 디스패리티 참조 픽처 (74) 는 뷰 V0 에 있고 시간 인스턴스 Tj 에 있다. 시간적-디스패리티 참조 픽처 (76) 는 뷰 V0 에 있고 시간 인스턴스 Ti 에 있다.
현재의 픽처 (70) 는 "Dc" 로서 나타낸 현재의 PU 를 포함한다. 다시 말해서, Dc 는 현재의 뷰 (뷰 1) 에서의 현재의 블록을 나타낸다. Dc 는 시간적 참조 픽처 (72) 에서의 로케이션을 표시하는 시간적 모션 벡터 VD 를 가진다. 비디오 인코더 (20) 는 시간적 모션 벡터 VD 에 의해 표시된 로케이션과 연관되는 픽처 (72) 에서의 샘플들에 기초하여 시간적 참조 블록 Dr 을 결정할 수도 있다. 이에 따라, Dr 은 시간 Ti 에서의 동일한 뷰 (뷰 1) 로부터의 Dc 의 시간적 예측 블록을 나타내고, VD 는 Dc 로부터 Dr 까지의 모션을 나타낸다.
또한, 비디오 인코더 (20) 는 Dc 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처 (74) 에서의 샘플들에 기초하여 디스패리티 참조 블록 Bc 을 결정할 수도 있다. 이에 따라, Bc 는 참조 블록 (즉, 시간 Tj 에서의 참조 뷰 (뷰 0) 에서 Dc 의 표현) 을 나타낸다. Bc 의 상부-좌측 위치는 유도된 디스패리티 벡터를 Dc 의 상부-좌측 위치에 추가함으로써 유도된 디스패리티 벡터로 계산될 수 있다. Dc 및 Bc 는 2 개의 상이한 뷰들에서의 동일한 객체의 투영들일 수도 있으므로, Dc 및 Bc 는 동일한 모션 정보를 공유해야 한다. 그러므로, 시간 Ti 에서의 뷰 0 내의 Bc 의 시간적 예측 블록 Br 은 VD 의 모션 정보를 적용함으로써 Bc 로부터 로케이팅 (locate) 될 수 있다.
비디오 인코더 (20) 는 시간적-디스패리티 픽처 (76) 에서의 시간적-디스패리티 참조 블록 Br (Bc 의 예측 블록) 을 결정할 수도 있다. 위에서 표시된 바와 같이, 시간적-디스패리티 픽처 (76) 는 Br 과 동일한 뷰 (즉, 뷰 V0) 에 있고, Dr 과 동일한 시간 인스턴스 (즉, 시간 인스턴스 Ti) 에 있다. 비디오 인코더 (20) 는 Dc 의 모션 벡터 VD 에 의해 표시된 로케이션에서의 샘플들에 기초하여 Br 을 결정할 수도 있다. 이에 따라, Br 의 상부-좌측 위치는 모션 벡터 VD 를 Bc 의 상부-좌측 위치에 추가함으로써 재이용된 모션 벡터 VD 로 계산될 수 있다. Bc 의 상부-좌측 위치는 Dc 의 상부-좌측 위치 및 디스패리티 벡터의 합과 동일할 수 있다. 이에 따라, Br 의 상부-좌측 위치는 Dc 의 상부-좌측 위치의 좌표들, 디스패리티 벡터, 및 모션 벡터 VD 의 합과 동일할 수도 있다. 이러한 방법으로, 도 6 에서 화살표 (78) 에 의해 도시된 바와 같이, 비디오 인코더 (20) 는 Br 을 결정하기 위하여 모션 벡터 VD 를 재이용할 수도 있다.
또한, ARP 에서, 제 1 잔차 블록에서의 각각의 샘플은 Dc 에서의 샘플 및 Dr 의 대응하는 샘플 사이의 차이를 표시할 수도 있다. 제 1 잔차 블록은 Dc 에 대한 원래의 잔차 블록으로서 지칭될 수도 있다. 제 2 잔차 블록에서의 각각의 샘플은 Bc 에서의 샘플 및 Br 에서의 대응하는 샘플 사이의 차이를 표시할 수도 있다. 제 2 잔차 블록은 "잔차 예측자" 로서 지칭될 수도 있다. 비디오 코더 (20) 는 Br 을 결정하기 위하여 모션 벡터 VD 를 이용하므로, 잔차 예측자는 Bc 의 실제의 잔차 데이터와는 상이할 수도 있다.
비디오 인코더 (20) 가 잔차 예측자를 결정한 후, 비디오 인코더 (20) 는 잔차 예측자를 가중화 인자에 의해 승산할 수도 있다. 다시 말해서, VD 의 모션 정보를 갖는 Bc 의 잔차는 가중화 인자에 의해 승산되고, 현재의 잔차에 대한 잔차 예측자로서 이용된다. 가중화 인자는 0, 0.5, 또는 1 과 동일할 수도 있다. 이에 따라, 3 개의 가중화 인자들은 ARP 에서 이용될 수도 있다 (즉, 0, 0.5, 및 1). 비디오 인코더 (20) 가 잔차 예측자를 가중화 인자에 의해 승산한 후, 잔차 예측자는 가중화된 잔차 예측자로서 지칭될 수도 있다. 비디오 인코더 (20) 는 현재의 CU (즉, 현재의 PU 를 포함하는 CU) 에 대한 최소 레이트-왜곡 코스트 (minimal rate-distortion cost) 를 초래하는 가중화 인자를 최종 가중화 인자로서 선택할 수도 있다. 비디오 인코더 (20) 는 비트스트림에서, 가중화 인덱스를 표시하는 데이터를 CU 레벨에서 포함할 수도 있다. 가중화 인덱스는 현재의 CU 에 대한 최종 가중화 인자 (즉, 가중화된 잔차 예측자를 생성하기 위해 이용되었던 가중화 인자) 를 표시할 수도 있다. 일부의 예들에서, 0, 1, 및 2 의 가중화 인덱스들은 각각 0, 1, 및 0.5 의 가중화 인자들에 대응한다. 현재의 CU 에 대한 0 의 가중화 인자의 선택은 현재의 CU 의 PU 들 중의 임의의 것에 대한 ARP 를 이용하지 않는 것과 동등하다.
다음으로, 비디오 인코더 (20) 는 현재의 PU 에 대한 최종 잔차 블록을 결정할 수도 있다. 현재의 PU 에 대한 최종 잔차 블록에서의 각각의 샘플은 원래의 잔차 블록에서의 샘플 및 가중화된 잔차 예측자에서의 대응하는 샘플 사이의 차이를 표시할 수도 있다. 현재의 CU (즉, 현재의 PU 를 포함하는 CU) 의 잔차 블록은 만약 있다면, 현재의 CU 의 다른 PU 들에 대한 잔차 블록들과 함께, 현재의 PU 에 대한 최종 잔차 블록을 포함할 수도 있다. 이 개시물의 다른 곳에서 설명된 바와 같이, 비디오 인코더 (20) 는 하나 이상의 변환 블록들 사이에서 현재의 CU 의 잔차 블록을 파티셔닝할 수도 있다. 변환 블록들의 각각은 현재의 CU 의 TU 와 연관될 수도 있다. 각각의 변환 블록에 대하여, 비디오 인코더 (20) 는 변환 계수 블록을 생성하기 위하여 하나 이상의 변환들을 변환 블록에 적용할 수도 있다. 비디오 인코더 (20) 는 비트스트림에서, 변환 계수 블록의 양자화된 변환 계수들을 나타내는 데이터를 포함할 수도 있다.
이 때문에, ARP 에서, 2 개의 뷰들의 잔차들 사이의 높은 상관을 보장하기 위하여, 비디오 인코더 (20) 는 인터-뷰 잔차 예측을 위해 이용되어야 할 기본 뷰에서의 잔차를 생성하기 위하여 현재의 PU 의 모션을 참조 뷰 픽처에서의 대응하는 블록에 적용할 수도 있다. 이러한 방법으로, 모션은 현재의 PU 및 참조 뷰에서의 대응하는 참조 블록에 대해 정렬된다. 또한, 적응적 가중화 인자는 잔차 신호에 적용되어, 예측 에러가 추가로 감소된다.
현재의 PU 가 양방향-예측될 경우, 현재의 PU 는 RefPicList0 모션 벡터, RefPicList1 모션 벡터, RefPicList0 참조 인덱스, 및 RefPicList1 참조 인덱스를 가진다. 이 개시물은 현재의 PU 의 RefPicList0 참조 인덱스에 의해 표시된 참조 픽처를 현재의 PU 의 RefPicList0 타겟 참조 픽처로서 지칭할 수도 있다. 현재의 PU 의 RefPicList1 모션 벡터는 현재의 PU 의 RefPicList1 타겟 참조 픽처에서의 참조 로케이션을 표시할 수도 있다. 이 개시물은 현재의 PU 의 RefPicList1 참조 인덱스에 의해 표시된 참조 픽처를 현재의 PU 의 RefPicList1 타겟 참조 픽처로서 지칭할 수도 있다. 현재의 PU 의 RefPicList1 모션 벡터는 현재의 PU 의 RefPicList1 타겟 참조 픽처에서의 참조 로케이션을 표시할 수도 있다.
이 때문에, 비디오 인코더 (20) 가 양방향-예측된 PU 에 대한 ARP 를 수행할 때, 비디오 인코더 (20) 는 현재의 PU 의 RefPicList0 모션 벡터에 기초하여, 현재의 PU 의 RefPicList0 타겟 참조 픽처에서의 참조 로케이션을 결정할 수도 있다. 이 개시물은 이 참조 로케이션을 현재의 PU 의 RefPicList0 참조 로케이션으로서 지칭할 수도 있다. 다음으로, 비디오 인코더 (20) 는 현재의 PU 의 RefPicList0 참조 로케이션과 연관되는 현재의 PU 의 RefPicList0 타겟 참조 픽처의 실제의 또는 보간된 샘플들을 포함하는 참조 블록을 결정할 수도 있다. 이 개시물은 이 참조 블록을 현재의 PU 의 RefPicList0 참조 블록으로서 지칭할 수도 있다.
게다가, 비디오 인코더 (20) 는 현재의 PU 의 RefPicList1 모션 벡터에 기초하여, 현재의 PU 의 RefPicList1 타겟 참조 픽처에서의 참조 로케이션을 결정할 수도 있다. 이 개시물은 이 참조 로케이션을 현재의 PU 의 RefPicList1 참조 로케이션으로서 지칭할 수도 있다. 다음으로, 비디오 인코더 (20) 는 현재의 PU 의 RefPicList0 참조 로케이션과 연관되는 현재의 PU 의 RefPicList1 타겟 참조 픽처의 실제의 또는 보간된 샘플들을 포함하는 참조 블록을 결정할 수도 있다. 이 개시물은 이 참조 블록을 현재의 PU 의 RefPicList1 참조 블록으로서 지칭할 수도 있다.
비디오 인코더 (20) 는 현재의 PU 의 RefPicList0 참조 블록 및 현재의 PU 의 RefPicList1 참조 블록에 기초하여, 현재의 PU 에 대한 시간적 예측 블록을 결정할 수도 있다. 예를 들어, 현재의 PU 의 시간적 예측 블록에서의 각각의 샘플은 현재의 PU 의 RefPicList0 참조 블록 및 현재의 PU 의 RefPicList1 참조 블록에서의 대응하는 샘플들의 가중화된 평균을 표시할 수도 있다.
또한, 비디오 인코더 (20) 가 양방향-예측된 PU 에 대한 ARP 를 수행할 때, 비디오 인코더 (20) 는 현재의 PU 의 RefPicList0 모션 벡터 및 디스패리티 참조 블록의 디스패리티 참조 프레임 내의 로케이션에 기초하여, 시간적-디스패리티 참조 픽처에서의 시간적-디스패리티 참조 로케이션을 결정할 수도 있다. 이 개시물은 이 시간적-디스패리티 참조 로케이션 및 이 시간적-디스패리티 참조 픽처를 각각 RefPicList0 시간적-디스패리티 참조 로케이션 및 RefPicList0 시간적-디스패리티 참조 픽처로서 지칭할 수도 있다. RefPicList0 시간적-디스패리티 참조 픽처는 현재의 PU 의 RefPicList0 타겟 참조 픽처와 동일한 POC 값을 가질 수도 있다. 다음으로, 비디오 인코더 (20) 는 RefPicList0 시간적-디스패리티 참조 로케이션과 연관되는 RefPicList0 시간적-디스패리티 참조 픽처의 실제의 또는 보간된 샘플들을 포함하는 샘플 블록을 결정할 수도 있다. 이 개시물은 이 샘플 블록을 RefPicList0 시간적-디스패리티 참조 블록으로서 지칭할 수도 있다.
게다가, 비디오 인코더 (20) 는 현재의 PU 의 RefPicList1 모션 벡터 및 디스패리티 참조 블록의 디스패리티 참조 프레임 내의 로케이션에 기초하여, 시간적-디스패리티 참조 픽처에서의 시간적-디스패리티 참조 로케이션을 결정할 수도 있다. 이 개시물은 이 시간적-디스패리티 참조 로케이션 및 이 시간적-디스패리티 참조 픽처를 각각 RefPicList1 시간적-디스패리티 참조 로케이션 및 RefPicList1 시간적-디스패리티 참조 픽처로서 지칭할 수도 있다. RefPicList1 시간적-디스패리티 참조 픽처는 현재의 PU 의 RefPicList1 타겟 참조 픽처와 동일한 POC 값을 가질 수도 있다. 현재의 PU 의 RefPicList0 타겟 참조 픽처 및 현재의 PU 의 RefPicList1 타겟 참조 픽처가 상이할 수도 있으므로, RefPicList1 시간적-디스패리티 참조 픽처는 RefPicList0 시간적-디스패리티 참조 픽처와 상이할 수도 있다. 다음으로, 비디오 인코더 (20) 는 RefPicList1 시간적-디스패리티 참조 로케이션과 연관되는 RefPicList1 시간적-디스패리티 참조 픽처의 실제의 또는 보간된 샘플들을 포함하는 샘플 블록을 결정할 수도 있다. 이 개시물은 이 샘플 블록을 RefPicList1 시간적-디스패리티 참조 블록으로서 지칭할 수도 있다.
다음으로, 비디오 인코더 (20) 는 RefPicList0 시간적-디스패리티 참조 블록 및 RefPicList1 시간적-디스패리티 참조 블록에 기초하여, 디스패리티 예측 블록을 결정할 수도 있다. 일부의 예들에서, 디스패리티 예측 블록에서의 각각의 샘플은 RefPicList0 시간적-디스패리티 참조 블록 및 RefPicList1 시간적-디스패리티 참조 블록에서의 대응하는 샘플들의 가중화된 평균이다. 다음으로, 비디오 인코더 (20) 는 잔차 예측자를 결정할 수도 있다. 잔차 예측자는 샘플들의 블록일 수도 있다. 잔차 예측자에서의 각각의 샘플은 디스패리티 참조 블록에서의 샘플 및 디스패리티 예측 블록에서의 대응하는 샘플 사이의 차이를 표시할 수도 있다. 다음으로, 비디오 인코더 (20) 는 가중화 인자를 잔차 예측자에 적용함으로써 가중화된 잔차 예측자를 생성할 수도 있다. 다음으로, 비디오 인코더 (20) 는 현재의 PU 에 대한 최종 잔차 블록을 결정할 수도 있다. 현재의 PU 의 최종 잔차 블록에서의 각각의 샘플은 현재의 PU 에 대한 원래의 예측 블록에서의 샘플과, 현재의 PU 의 시간적 예측 블록 및 가중화된 잔차 예측자에서의 대응하는 샘플들과의 사이의 차이를 표시할 수도 있다. 비디오 인코더 (20) 는 비트스트림에서의 현재의 PU 의 최종 잔차 블록을 시그널링할 수도 있다.
비디오 디코더 (30) 는 양방향-예측된 PU 에 대한 ARP 를 수행할 때에 유사한 프로세스를 수행할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 현재의 PU 의 시간적 예측 블록 및 가중화된 잔차 예측자를 위에서 설명된 샘플 방식으로 결정할 수도 있다. 비디오 디코더 (30) 는 비트스트림에서 시그널링된 엘리먼트들에 기초하여 현재의 PU 의 최종 잔차 블록을 결정할 수도 있다. 다음으로, 비디오 디코더 (30) 는 현재의 PU 의 최종 잔차 블록, 현재의 PU 의 시간적 예측 블록, 및 가중화된 잔차 예측자를 추가함으로써 현재의 PU 의 예측 블록을 재구성할 수도 있다.
Zhang 등, "3D-CE4: Advanced residual prediction for multi-view coding (멀티-뷰 코딩을 위한 진보된 잔차 예측)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11 의 3D 비디오 코딩 확장 개발에 관한 합동 협력 팀, 3 차 회의: Geneva, CH, 2013 년 1 월 17 - 23, 문서 JCT3V-C0049 (이하 "JCT3V-C0049") 는 또한, ARP 의 기본적인 사상을 제안하였다. JTC3V-C0049 에서는, ARP 의 주요 절차들이 다음의 단계들에서 설명될 수 있다. 첫째, 타겟 참조 뷰를 지시하는, 현재의 3D-HEVC 에서 특정된 바와 같은 디스패리티 벡터를 얻는다. 다음으로, 동일한 액세스 유닛 내의 참조 뷰의 픽처에서는, 대응하는 블록이 디스패리티 벡터에 의해 위치된다. 둘째, 참조 블록에 대한 모션 정보를 유도하기 위하여 현재의 블록의 모션 정보를 재이용한다. 잔차 블록을 유도하기 위하여, 현재의 블록의 동일한 모션 벡터 및 참조 블록에 대한 참조 뷰에서의 유도된 참조 픽처에 기초하여 대응하는 블록에 대한 모션 보상을 적용한다. 현재의 뷰 (Vm) 의 참조 픽처와 동일한 POC 값을 가지는 참조 뷰 (Vn) 에서의 참조 픽처는 대응하는 블록의 참조 픽처로서 선택된다. 셋째, 가중화된 잔차 블록을 얻기 위하여 가중화 인자를 잔차 블록에 적용하고, 가중화된 잔차 블록의 값들을 예측된 샘플들에 추가한다.
JCT3V-C0049 는 JCT3V-B0051 에서 설명된 ARP 의 2 개의 양태들에 대한 수정들을 제안하였다. 첫째, 분수 샘플 보간 프로세스에 대하여 HEVC 에서 이용된 8/4-탭 루마/크로마 보간 필터는 잔차 예측자를 생성할 때, 즉, Br 및 Bc 를 생성할 때에 이중-선형 필터에 의해 대체된다. 일반적으로, 이중-선형 필터 (즉, 이중선형 보간) 는 규칙적인 2 차원 격자 상의 2 개의 변수들 (예컨대, x 및 y) 의 함수들을 보간하기 위한 선형 보간의 확장이다. 이 때문에, 이중-선형 필터는 2-탭 필터일 수도 있다. 둘째, JCT3V-C0049 에서, 제안된 ARP 는 PART_2Nx2N 과 동일한 파티셔닝 모드를 갖는 그 CU 들에 적용되기만 한다.
위에서 설명된 ARP 방식에서, 현재의 블록, 대응하는 블록, 및 모션 보상된 블록 사이의 관계는 도 7 에서 도시되어 있다. 다시 말해서, 도 7 은 ARP 에서 현재의 블록, 참조 블록, 및 모션 보상된 블록 사이의 일 예의 관계를 예시하는 개념도이다. 도 7 의 예에서, 비디오 코더는 현재의 픽처 (81) 에서의 현재의 PU (80) 를 현재 코딩하고 있다. 현재의 픽처 (81) 는 뷰 V1 에 있고 시간 인스턴스 T1 에 있다.
또한, 도 7 의 예에서, 비디오 코더는 현재의 PU (80) 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 참조 픽처 (83) 의 실제의 또는 보간된 샘플들을 포함하는 참조 블록 (82) (즉, 대응하는 블록) 을 결정할 수도 있다. 예를 들어, 참조 블록 (82) 의 상부-좌측 코너는 현재의 PU (80) 의 디스패리티 벡터에 의해 표시된 로케이션일 수도 있다. 시간적-디스패리티 참조 블록 (95) 은 현재의 PU (80) 의 예측 블록과 동일한 사이즈를 가질 수도 있다.
도 7 의 예에서, 현재의 PU (80) 는 제 1 모션 벡터 (84) 및 제 2 모션 벡터 (86) 를 가진다. 모션 벡터 (84) 는 시간적 참조 픽처 (88) 에서의 로케이션을 표시한다. 시간적 참조 픽처 (88) 는 뷰 V1 (즉, 현재의 픽처 (81) 와 동일한 뷰) 에 있고 시간 인스턴스 T0 에 있다. 모션 벡터 (86) 는 시간적 참조 픽처 (90) 에서의 로케이션을 표시한다. 시간적 참조 픽처 (90) 는 뷰 V1 에 있고 시간 인스턴스 T3 에 있다.
위에서 설명된 ARP 방식에 따르면, 비디오 코더는, 참조 픽처 (83) 와 동일한 뷰에 있으며 시간적 참조 픽처 (88) 와 동일한 시간 인스턴스에 있는 참조 픽처 (즉, 참조 픽처 (92)) 를 결정할 수도 있다. 게다가, 비디오 코더는 시간적-디스패리티 참조 로케이션을 유도하기 위하여 모션 벡터 (84) 를 참조 블록 (82) 의 상부-좌측 코너의 좌표들에 추가할 수도 있다. 비디오 코더는 시간적-디스패리티 참조 블록 (93) (즉, 모션 보상된 블록) 을 결정할 수도 있다. 시간적-디스패리티 참조 블록 (93) 에서의 샘플들은 모션 벡터 (84) 로부터 유도된 시간적-디스패리티 참조 로케이션과 연관되는 참조 픽처 (92) 의 실제의 또는 보간된 샘플들일 수도 있다. 시간적-디스패리티 참조 블록 (93) 은 현재의 PU (80) 의 예측 블록과 동일한 사이즈를 가질 수도 있다.
유사하게, 비디오 코더는, 참조 픽처 (84) 와 동일한 뷰에 있으며 시간적 참조 픽처 (90) 와 동일한 시간 인스턴스에 있는 참조 픽처 (즉, 참조 픽처 (94)) 를 결정할 수도 있다. 게다가, 비디오 코더는 시간적-디스패리티 참조 로케이션을 유도하기 위하여 모션 벡터 (86) 를 참조 블록 (82) 의 상부-좌측 코너의 좌표들에 추가할 수도 있다. 다음으로, 비디오 코더는 시간적-디스패리티 참조 블록 (95) (즉, 모션 보상된 블록) 을 결정할 수도 있다. 시간적-디스패리티 참조 블록 (95) 에서의 샘플들은 모션 벡터 (86) 로부터 유도된 시간적-디스패리티 참조 로케이션과 연관되는 참조 픽처 (94) 의 실제의 또는 보간된 샘플들일 수도 있다. 시간적-디스패리티 참조 블록 (95) 은 현재의 PU (80) 의 예측 블록과 동일한 사이즈를 가질 수도 있다.
또한, 도 7 의 예에서, 비디오 코더는 시간적-디스패리티 참조 블록 (93) 및 시간적-디스패리티 참조 블록 (95) 에 기초하여 디스패리티 예측 블록을 결정할 수도 있다. 다음으로, 비디오 코더는 잔차 예측자를 결정할 수도 있다. 잔차 예측자에서의 각각의 샘플은 참조 블록 (82) 에서의 샘플 및 디스패리티 예측 블록에서의 대응하는 샘플 사이의 차이를 표시할 수도 있다.
ARP 가 인터-뷰 잔차 예측의 코딩 효율을 상당히 개선시켰지만, ARP 는 몇몇 문제들을 가질 수도 있다. 예를 들어, 하나의 픽처 내의 상이한 인터-코딩된 PU 들은 상이한 참조 픽처들을 가질 수도 있다. 그러므로, 비디오 코더는 PU 들에 대한 시간적-디스패리티 참조 블록들 (예컨대, 도 6 에서의 Br) 을 결정하기 위하여 참조 뷰로부터의 상이한 픽처들을 액세스할 필요가 있을 수도 있다. 비디오 코더가 제한된 수의 참조 픽처들을 캐시 내에 저장하기만 하므로, 캐시 미스 레이트는 더 큰 수의 참조 픽처들이 이용될 때보다 더 높을 수도 있다. 다시 말해서, ARP 가 가능하게 될 때에 더 큰 수의 참조 픽처들이 이용되므로, ARP 의 이용은 캐시 미스 레이트를 증가시킬 수도 있다. 높은 캐시 미스 레이트가 있을 때, 코딩 프로세스가 느려지고 및/또는 메모리 대역폭 요건들이 증가한다.
ARP 에서의 또 다른 예의 문제에서는, 각각의 참조 픽처 리스트에 대하여, 비디오 코더가 PU 에 대한 ARP 를 수행할 때, 비디오 코더는 3 개의 블록들 (즉, 도 6 에서 Br, Bc, 및 Dr) 을 액세스할 필요가 있을 수도 있다. 그러나, 비디오 코더가 PU 에 대한 ARP 를 수행하지 않을 때, 비디오 코더는 하나의 블록 (즉, Dr) 을 액세스하기만 할 필요가 있을 수도 있다. 다시 말해서, ARP 를 채용하는 하나의 PU 에 대하여, 그것은 가능한 보간을 갖는 3 개의 블록들 (즉, Br, Bc, 및 Dr) 에 대한 액세스를 요구하는 반면, ARP 를 사용하지 않는 PU 들에 대해서는, 하나의 블록 (즉, Dr) 만이 하나의 참조 픽처 리스트에 대해 필요하다. 그러므로, ARP 의 이용은 메모리 대역폭 요건 및 연산 복잡성을 증가시킬 수도 있다. 즉, 메모리 대역폭 및 연산 복잡성은 ARP 가 가능하게 될 때에 증가할 수도 있다.
또한, 현존하는 인터-뷰 잔차 예측 기법들에 있어서 몇몇 문제들이 있을 수도 있다. 예를 들어, 일부의 CU-기반 인터-뷰 잔차 예측 기법들에서는, 인터-뷰 잔차 예측이 하나의 PU 에 대해 가능하게 될 때, 고정된 가중화 인자 (즉, 인터-뷰 예측된 모션 벡터 후보에 대한 가중화 인자) 는 현재의 뷰 및 참조 뷰 사이의 변화하는 품질 차이들에 적응적이지 않다.
이 개시물의 기법들은 ARP 및 CU-기반 인터-뷰 잔차 예측에 있어서의 이전에 언급된 문제들 또는 단점들을 해결할 수도 있다. 예를 들어, 이 개시물의 기법들은 AVC-기반 및/또는 HEVC-기반 멀티-뷰의 진보된 인터-뷰 잔차 예측, 3DV 코딩, 및 스케일러블 비디오 코딩을 추가로 간략화할 수도 있다.
이 개시물의 기법들 중의 하나에 따르면, 비디오 코더가 현재의 픽처/슬라이스의 PU 들에 대한 잔차 예측자들을 생성하기 위하여 모션 보상을 수행할 때, 비디오 코더는 동일한 참조 픽처 (즉, "고정된 참조 픽처") 를 향하는 PU 들 중의 각각의 PU 의 모션 벡터들을 스케일링할 수도 있다. 고정된 참조 픽처는 현재의 픽처의 PU 들에 대한 디스패리티 참조 블록들과 동일한 뷰 (즉, "참조 뷰") 에 있을 수도 있다.
예를 들어, 픽처의 제 1 PU 의 모션 벡터는 제 1 참조 픽처를 표시할 수도 있고, 픽처의 제 2 PU 의 모션 벡터는 제 2 참조 픽처를 표시할 수도 있다. 이 예에서, 비디오 코더가 제 1 PU 에 대한 잔차 예측자를 생성하기 위하여 모션 보상을 수행할 때, 비디오 코더는 제 1 참조 픽처 및 고정된 참조 픽처 사이의 시간적 거리에 기초하여 제 1 PU 의 모션 벡터를 스케일링할 수도 있다. 또한, 이 예에서, 비디오 코더가 제 2 PU 에 대한 잔차 예측자를 생성하기 위하여 모션 보상을 수행할 때, 비디오 코더는 제 1 참조 픽처 및 고정된 참조 픽처 사이의 시간적 거리에 기초하여 제 2 PU 의 모션 벡터를 스케일링할 수도 있다.
고정된 참조 픽처를 향하는 현재의 PU 의 모션 벡터를 스케일링한 후, 비디오 코더는 스케일링된 모션 벡터에 기초하여, 고정된 참조 픽처에서의 시간적-디스패리티 참조 블록을 식별할 수도 있다. 다음으로, 비디오 코더는 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있다. 이전과 같이, 잔차 예측자에서의 각각의 샘플은 디스패리티 참조 블록에서의 샘플 및 시간적-디스패리티 참조 블록에서의 대응하는 샘플 사이의 차이를 표시할 수도 있다.
이러한 방법으로, 현재의 PU 의 모션 벡터들은, 잔차 예측자를 생성하기 위하여 참조 뷰에서의 모션 보상을 행할 때에 고정된 픽처를 향해 스케일링된다. 이를 행함으로써, 현재의 픽처에서의 PU 들의 모션 벡터들이 상이한 픽처들을 지칭하는 이유로 인한 상이한 픽처들로부터의 모션 보상 대신에, 참조 뷰에서의 모션 보상은 하나의 고정된 픽처로부터 항상 행해질 수도 있고, 모션 벡터는 상이한 POC 거리들을 보상하기 위하여 스케일링된다. 고정된 참조 픽처는 현재의 픽처의 각각의 ARP-가능 PU 에 대해 동일할 수도 있다. 즉, 현재의 픽처의 각각의 PU 마다, 고정된 참조 픽처 이외의 참조 픽처는, 특정 참조 픽처 리스트와 연관된 모션 벡터에 기초하여, 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는다. PU 들에 대한 잔차 예측자들을 결정하기 위하여 이용된 시간적-디스패리티 참조 블록들이 모두 동일한 고정된 참조 픽처에서의 샘플들에 기초하고 있으므로, 고정된 참조 픽처는, 시간적-디스패리티 참조 블록들이 참조 뷰의 상이한 픽처들에서의 샘플들에 기초하였을 경우보다 참조 픽처 캐시에 있을 가능성이 더 많다. 대안적으로, 이 개시물의 기법들은 비디오 코더가 더 작은 캐시를 가지는 것을 가능하게 할 수도 있다.
이에 따라, 이 개시물의 하나 이상의 기법들에 따르면, 비디오 인코더 (20) 는 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 CU 의 현재의 PU 의 모션 벡터를 스케일링할 수도 있다. 이 예에서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시하고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있다. 또한, 이 예에서, 비디오 인코더 (20) 는 현재의 PU 에 대한 예측 블록을 결정할 수도 있다. 게다가, 비디오 인코더 (20) 는 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정할 수도 있다. 비디오 인코더 (20) 는 또한, 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정할 수도 있다. 게다가, 비디오 인코더 (20) 는 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있다. 이 예에서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다. 또한, 이 예에서, 비디오 인코더 (20) 는 현재의 CU 에 대한 최종 잔차 블록을 결정할 수도 있다. 이 예에서, 최종 잔차 블록은, 현재의 CU 에 대한 코딩 블록에서의 샘플들, 현재의 PU 에 대한 예측 블록에서의 샘플들, 및 현재의 PU 에 대한 잔차 예측자에서의 샘플들 사이의 차이들을 표시하는 샘플들을 포함한다. 비디오 인코더 (20) 는 비트스트림에서, 현재의 CU 에 대한 최종 잔차 블록을 나타내는 데이터를 포함할 수도 있다.
유사한 예에서, 비디오 디코더 (30) 는 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 PU 의 모션 벡터를 스케일링할 수도 있다. 이 예에서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 PU 의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시한다. 비디오 디코더 (30) 는 현재의 PU 에 대한 예측 블록을 결정할 수도 있다. 게다가, 비디오 디코더 (30) 는 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정할 수도 있다. 또한, 비디오 디코더 (30) 는 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션에서의 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정할 수도 있다. 비디오 디코더 (30) 는 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있고, 여기서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다. 다음으로, 비디오 디코더 (30) 는 시그널링된 잔차 블록, 현재의 PU 에 대한 잔차 예측자, 및 현재의 PU 에 대한 예측 블록에 기초하여 코딩 블록을 재구성할 수도 있다.
일부의 예들에서, 비디오 코더는 현재의 뷰에 있는 배정된 픽처를 결정할 수도 있다. 일부의 이러한 예들에서, 고정된 참조 픽처는 현재의 뷰에서의 배정된 픽처와 동일한 POC 값을 가지는 (즉, 동일한 액세스 유닛에 있음) 참조 픽처일 수도 있다. 예를 들어, 고정된 참조 픽처는 현재의 픽처에 대한 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하는 POC 값을 가질 수도 있다. 일반적으로, 이 개시물은 현재의 뷰에 있는 픽처를 지칭하기 위하여 용어 "배정된 픽처" 또는 "배정된 참조 픽처" 를 이용할 수도 있다. 대조적으로, 이 개시물은 참조 뷰에 있는 픽처를 지칭하기 위하여 용어 "고정된 픽처" 또는 "고정된 참조 픽처" 를 이용할 수도 있다.
일부의 예들에서, 비디오 코더는 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있다. 예를 들어, 비디오 코더는 제 1 고정된 참조 픽처의 샘플들에 기초하여, 현재의 픽처의 모든 PU 들에 대한 RefPicList0 시간적-디스패리티 참조 블록들을 결정할 수도 있다. 이 예에서, 비디오 코더는 제 2 고정된 참조 픽처의 샘플들에 기초하여, 현재의 픽처의 모든 PU 들에 대한 RefPicList1 시간적-디스패리티 참조 블록들을 결정할 수도 있다. 이 예에서, 제 1 고정된 참조 픽처는 제 2 고정된 참조 픽처와는 상이할 수도 있다.
이에 따라, 이러한 예들에서, 현재의 픽처의 RefPicList0 에서의 모든 픽처들에 대하여, 이들 사이의 현재의 뷰에서의 오직 하나의 제 1 배정된 픽처가 고정되고, 현재의 픽처의 RefPicList1 에서의 모든 픽처들에 대하여, 이들 사이의 현재의 뷰에서의 오직 하나의 제 2 배정된 픽처가 고정된다. 잔차를 생성하기 위하여 참조 뷰에서의 모션 보상을 행할 때, 참조 뷰에 있으며 제 1 배정된 픽처의 것과 동일한 POC 값을 가지는 픽처는 RefPicList0 에 대해 이용되고 고정된 참조 픽처로서 설정된다. 잔차를 생성하기 위하여 참조 뷰에서의 모션 보상을 행할 때, 제 2 배정된 픽처의 것과 동일한 POC 값을 갖는 픽처는 RefPicList1 에 대해 이용되고 고정된 참조 픽처로서 설정된다.
예를 들어, 비디오 코더는 제 1 고정된 참조 픽처 및 제 1 시간적 참조 픽처 사이의 시간적 거리를 보상하기 위하여 현재의 픽처의 현재의 PU 의 제 1 모션 벡터를 스케일링할 수도 있다. 이 예에서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 제 1 참조 인덱스는 제 1 참조 픽처 리스트 내의 제 1 시간적 참조 픽처의 위치를 표시한다. 또한, 이 예에서, 비디오 코더는 현재의 PU 에 대한 제 1 예측 블록을 결정한다. 게다가, 비디오 코더는 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정한다. 게다가, 비디오 코더는 스케일링된 제 1 모션 벡터에 의해 표시된 로케이션에서의 제 1 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정한다. 이 예에서, 제 1 고정된 참조 픽처의 POC 값은 현재의 픽처의 제 1 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치한다. 이 예에서, 제 2 고정된 참조 픽처의 POC 값은 현재의 픽처의 제 2 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치한다. 또한, 이 예에서, 비디오 코더는 제 2 고정된 참조 픽처 및 제 2 시간적 참조 픽처 사이의 시간적 거리를 보상하기 위하여 현재의 PU 의 제 2 모션 벡터를 스케일링한다. 현재의 PU 의 제 2 참조 인덱스는 제 2 시간적 참조 픽처의, 현재의 픽처의 제 2 참조 픽처 리스트에서의 위치를 표시한다. 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여, 비디오 코더는 스케일링된 제 1 모션 벡터에 의해 표시된 로케이션에서의 제 1 고정된 참조 픽처의 샘플들에 기초하여 제 1 예측 시간적-디스패리티 참조 블록을 결정할 수도 있다. 또한, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여, 비디오 코더는 스케일링된 제 2 모션 벡터에 의해 표시된 로케이션에서의 제 2 고정된 참조 픽처의 샘플들에 기초하여 제 2 예측 시간적-디스패리티 참조 블록을 결정할 수도 있다. 게다가, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여, 비디오 코더는 제 1 및 제 2 예측 시간적-디스패리티 참조 블록들에 기초하여 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정할 수도 있다.
이전의 문단에서 제공된 예의 일부의 사례들에서, 현재의 픽처의 각각의 PU 마다, 제 2 고정된 참조 픽처 이외의 참조 픽처는, 현재의 PU 의 스케일링된 제 2 모션 벡터 및 현재의 PU 의 디스패리티 벡터에 기초하여, 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는다. 또한, 이전의 문단에서 제공된 예의 일부의 사례들에서는, 제 1 고정된 참조 픽처가 제 2 고정된 참조 픽처와 동일하다.
비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 하나의 예에서, 배정된 픽처들은 각각 현재의 뷰의 RefPicList0 및 RefPicList1 에서의 제 1 엔트리들일 수도 있다. 다시 말해서, 배정된 픽처는 현재의 참조 픽처 리스트의 제 1 엔트리일 수도 있다. 이 예에서, 비디오 코더는 참조 뷰에서의 RefPicList0 및 RefPicList0 고정된 참조 픽처들로서, 현재의 뷰에서의 제 1 및 제 2 배정된 픽처들과 동일한 POC 값들을 가지는 디스패리티 참조 블록의 RefPicList0 및 RefPicList1 에서의 픽처들을 이용할 수도 있다.
비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 또 다른 예에서, 비디오 코더는 RefPicList0 에 대한 고정된 참조 픽처로서, 참조 뷰에 있으며, 현재의 픽처로부터의 최소 POC 거리를 가지는 현재의 PU 의 RefPicList0 에서의 배정된 픽처의 POC 값과 일치하는 POC 값을 가지는 참조 픽처를 이용할 수도 있다. 유사하게, 이 예에서, 비디오 코더는 RefPicList1 에 대한 고정된 참조 픽처로서, 참조 뷰에 있으며, 현재의 픽처로부터의 최소 POC 거리를 가지는 현재의 PU 의 RefPicList1 에서의 참조 픽처의 POC 값과 일치하는 POC 값을 가지는 참조 픽처를 이용할 수도 있다. 이러한 방법으로, 비디오 코더는, 고정된 참조 픽처의 POC 값이 현재의 픽처의 참조 픽처 리스트에서의 배정된 픽처의 POC 값과 일치하고 배정된 픽처의 POC 값이 현재의 픽처의 참조 픽처 리스트에서의 임의의 다른 참조 픽처들의 POC 값들보다 현재의 픽처의 POC 값에 더 근접하도록, 고정된 참조 픽처를 결정할 수도 있다. 비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 또 다른 예에서, 비디오 코더는 RefPicList0 에 대한 고정된 참조 픽처로서, 현재의 픽처로부터의 최소 POC 거리를 가지는 디스패리티 참조 픽처의 RefPicList0 에서의 참조 픽처를 이용할 수도 있다. 유사하게, 이 예에서, 비디오 코더는 RefPicList1 에 대한 고정된 참조 픽처로서, 현재의 픽처로부터의 최소 POC 거리를 가지는 디스패리티 참조 픽처의 RefPicList1 에서의 참조 픽처를 이용할 수도 있다. 다시 말해서, 비디오 코더는, 고정된 참조 픽처의 POC 값이 참조 뷰에 속하는 임의의 다른 참조 픽처의 POC 값들보다 현재의 픽처의 POC 값에 더 근접하도록, 고정된 참조 픽처를 결정할 수도 있다. 이에 따라, 이 2 개의 예들에서, 배정된 픽처는 현재의 픽처의 참조 픽처 리스트에서의 현재의 픽처와의 최소 POC 차이를 가지는 참조 픽처일 수도 있거나, 고정된 참조 픽처는 최소 POC 차이를 가지는 참조 뷰의 참조 픽처들 중에서의 픽처일 수도 있다.
비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 또 다른 예에서, 비디오 코더는 제 1 배정된 픽처로서, 현재의 픽처의 RefPicList0 에서의 시간적 참조 픽처들 중에서 최소 참조 픽처 인덱스를 가지는 시간적 참조 픽처 (즉, 현재의 픽처와 동일한 뷰에서의 참조 픽처) 를 이용할 수도 있다. 또한, 비디오 코더는 RefPicList0 고정된 참조 픽처를, 참조 뷰에 있으며 제 1 배정된 픽처와 동일한 POC 값을 가지는 픽처로 설정할 수도 있다. 유사하게, 이 예에서, 비디오 코더는 제 2 배정된 픽처로서, 현재의 픽처의 RefPicList1 에서의 시간적 참조 픽처들 중에서 최소 참조 픽처 인덱스를 가지는 시간적 참조 픽처 (즉, 현재의 픽처와 동일한 뷰에서의 참조 픽처) 를 이용할 수도 있다. 또한, 비디오 코더는 RefPicList1 고정된 참조 픽처를, 참조 뷰에 있으며 제 2 배정된 픽처와 동일한 POC 값을 가지는 픽처로 설정할 수도 있다. 다시 말해서, RefPicListX 고정된 참조 픽처 (X 는 0 또는 1 임) 는 배정된 참조 픽처와 동일한 POC 값을 가지는 픽처일 수도 있으며, 여기서, 배정된 참조 픽처는 현재의 픽처의 RefPicListX 에서 최소 참조 픽처 인덱스를 가지는 현재의 블록의 시간적 참조 픽처이다. 이에 따라, 이 예에서, 배정된 픽처는 참조 픽처 리스트에서 최소 참조 픽처 인덱스를 가지는 (현재의 블록과 동일한 뷰로부터의) 시간적 참조 픽처일 수도 있다.
비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 또 다른 예에서, 비디오 코더는 RefPicList0 배정된 참조 픽처로서, 현재의 픽처의 RefPicList0 에서의 참조 픽처들 중에서 최저 시간적 식별자를 가지는 참조 픽처를 이용할 수도 있다. 유사하게, 이 예에서, 비디오 코더는 RefPicList1 배정된 참조 픽처로서, 현재의 픽처의 RefPicList1 에서의 참조 픽처들 중에서 최저 시간적 식별자를 가지는 참조 픽처를 이용할 수도 있다. RefPicList0 고정된 참조 픽처는 RefPicList0 배정된 참조 픽처와 동일한 POC 값을 가지는 디스패리티 참조 픽처의 RefPicList0 에서의 픽처일 수도 있다. 유사하게, RefPicList1 고정된 참조 픽처는 RefPicList1 배정된 참조 픽처와 동일한 POC 값을 가지는 디스패리티 참조 픽처의 RefPicList1 에서의 픽처일 수도 있다. 이 때문에, 이 예에서, RefPicListX 고정된 참조 픽처 (X 는 0 또는 1 임) 는, 참조 뷰에 있고, 디스패리티 참조 픽처의 RefPicListX 에 있고, 배정된 픽처의 POC 값과 일치하는 POC 값을 가지는 픽처일 수도 있으며, 여기서, 배정된 픽처의 시간적 식별자는 현재의 픽처의 RefPicListX 에서의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮다.
비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 또 다른 예에서, 비디오 코더는 RefPicList0 고정된 참조 픽처로서, 디스패리티 참조 픽처의 RefPicList0 에서의 참조 픽처들 중에서 최저 시간적 식별자를 가지는 참조 픽처를 이용할 수도 있다. 유사하게, 이 예에서, 비디오 코더는 RefPicList1 고정된 참조 픽처로서, 디스패리티 픽처의 RefPicList1 에서의 참조 픽처들 중에서 최저 시간적 식별자를 가지는 참조 픽처를 이용할 수도 있다. 이 때문에, 이 예에서, 비디오 코더는, 고정된 참조 픽처의 시간적 식별자가 참조 뷰의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮도록, RefPicListX 고정된 참조 픽처 (여기서, X 는 0 또는 1 임) 를 결정할 수도 있다. 이에 따라, 이 예들 및 이전의 문단의 예들에서, 배정된 픽처는 현재의 픽처의 현재의 참조 픽처 리스트에서의 최저 temporalID 를 가지는 참조 픽처일 수도 있거나, 고정된 참조 픽처는 최저 temporalID 를 가지는 참조 뷰의 참조 픽처들 중에 있을 수도 있다.
비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 또 다른 예에서, 비디오 코더는 RefPicListX 배정된 참조 픽처 (여기서, X 는 0 또는 1 임) 로서, 현재의 픽처의 RefPicListX 에서의 참조 픽처들 중에서 최저 양자화 파라미터를 가지는 참조 픽처를 식별할 수도 있다. 다시 말해서, RefPicListX 배정된 픽처의 양자화 파라미터는 현재의 픽처의 RefPicListX 에서의 참조 픽처들 중에서 최저 양자화 파라미터이다. 이 예에서, RefPicListX 고정된 참조 픽처는 RefPicListX 배정된 참조 픽처와 일치하는 POC 값을 가지는 디스패리티 참조 블록의 RefPicListX 에서의 참조 픽처이다. 이 때문에, 이 예에서, 비디오 코더는, 고정된 참조 픽처가 현재의 블록의 고정된 참조 픽처에서의 참조 픽처들 중에서 최저 양자화 파라미터를 가지는 참조 픽처와 동일한 POC 값을 가지도록, 고정된 참조 픽처를 결정할 수도 있다. 비디오 코더가 RefPicList0 및 RefPicList1 에 대한 상이한 고정된 참조 픽처들을 이용할 수도 있는 또 다른 예에서, 비디오 코더는 RefPicList0 고정된 참조 픽처로서, 디스패리티 참조 픽처의 RefPicList0 에서의 참조 픽처들 중에서 최저 양자화 파라미터를 가지는 참조 픽처를 이용할 수도 있다. 유사하게, 이 예에서, 비디오 코더는 RefPicList1 고정된 참조 픽처로서, 디스패리티 픽처의 RefPicList1 에서의 참조 픽처들 중에서 최저 양자화 파라미터를 가지는 참조 픽처를 이용할 수도 있다. 이 때문에, 이 예에서, 비디오 코더는, 고정된 참조 픽처의 양자화 파라미터가 참조 뷰의 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮도록, 고정된 참조 픽처를 결정할 수도 있다. 이에 따라, 이 2 개의 예들에서, 배정된 픽처는 현재의 픽처의 현재의 참조 픽처 리스트에서의 최저 양자화 파라미터를 가지는 참조 픽처일 수도 있거나, 고정된 참조 픽처는 최저 양자화 파라미터를 갖는 참조 뷰의 참조 픽처들 중에서의 픽처일 수도 있다.
또 다른 예에서, 비디오 코더는 RefPicList0 및/또는 RefPicList1 고정된 참조 픽처로서, 현재의 PU 에 대한 디스패리티 벡터를 유도하기 위하여 NBDV 프로세스를 수행함에 있어서 비디오 코더가 이용하였던 후보 픽처를 이용할 수도 있다. 또 다른 예에서, 비디오 코더는 RefPicList0 및/또는 RefPicList1 고정된 참조 픽처로서, 참조 뷰의 픽처의 NBDV 프로세스를 수행함에 있어서 비디오 코더가 이용하였던 제 1 또는 제 2 후보 픽처를 이용할 수도 있다. 다시 말해서, 비디오 코더는 현재의 PU 에 대한 디스패리티 벡터를 결정하기 위하여 NBDV 유도 프로세스를 수행할 수도 있으며, 여기서, 고정된 참조 픽처는 NBDV 유도 프로세스에서 이용된 제 1 또는 제 2 후보 픽처의 POC 값과 동일한 POC 값을 가진다. 이에 따라, 이 2 개의 예들에서, 배정된 픽처는 현재의 픽처 또는 참조 뷰의 픽처의 NBDV 프로세스에서 사용된 제 1 또는 제 2 후보 픽처들과 동일할 수도 있다.
또 다른 예에서, RefPicListX 배정된 참조 픽처 (여기서, X 는 0 또는 1 임) 는 슬라이스 헤더, PPS, SPS, VPS, 또는 또 다른 신택스 구조에서 시그널링될 수도 있다. 이 예에서, RefPicListX 참조 픽처는 현재의 뷰에 있을 수도 있다. 또한, 이 예에서, RefPicListX 고정된 참조 픽처는 참조 뷰에 있을 수도 있고, RefPicListX 배정된 참조 픽처와 동일한 POC 값을 가질 수도 있다. RefPicListX 배정된 참조 픽처가 슬라이스 헤더에서 시그널링되는 하나의 예에서, RefPicListX 배정된 픽처는 현재의 픽처의 참조 픽처 리스트에서의 픽처의 참조 인덱스에 의해 시그널링된다. 이에 따라, 이 예에서, 슬라이스 헤더에서의 참조 인덱스는 RefPicList0 배정된 참조 픽처의 현재의 픽처의 RefPicList0 에서의 위치를 표시할 수도 있고, 슬라이스 헤더에서의 또 다른 참조 인덱스는 RefPicList1 배정된 참조 픽처의 현재의 픽처의 RefPicList1 에서의 위치를 표시할 수도 있다. 하나의 예에서, RefPicListX 고정된 참조 픽처는 참조 뷰의 픽처의 참조 픽처 리스트에서의 픽처의 참조 인덱스에 의해 시그널링된다. 이에 따라, 이 예에서, 슬라이스 헤더에서의 참조 인덱스는 RefPicList0 고정된 참조 픽처의 디스패리티 참조 픽처의 RefPicList0 에서의 위치를 표시할 수도 있고, 슬라이스 헤더에서의 또 다른 참조 인덱스는 RefPicList1 고정된 참조 픽처의 디스패리티 참조 픽처의 RefPicList1 에서의 위치를 표시할 수도 있다.
또한, 하나의 예에서, 배정된 픽처 (즉, 현재의 뷰에서의 참조 픽처) 와 동일한 POC 값을 가지는 픽처가 참조 뷰의 참조 픽처 리스트 내에 포함되지 않을 때, 비디오 코더는 참조 뷰의 참조 픽처 리스트에서의 제 1 엔트리를 고정된 참조 픽처로서 이용할 수도 있다. 이러한 방법으로, 참조 비디오 유닛의 참조 픽처 리스트가 배정된 픽처의 POC 값과 일치하는 POC 값을 가지는 참조 픽처를 포함하지 않을 때, 비디오 코더는 참조 비디오 유닛의 참조 픽처 리스트에서의 제 1 엔트리를 고정된 참조 픽처로서 이용할 수도 있다.
또 다른 예에서, 현재의 배정된 픽처의 동일한 액세스 유닛 내의 픽처가 디스패리티 참조 픽처 (즉, 인터-뷰 참조 픽처) 의 참조 픽처 리스트에서 존재하지 않을 때, 비디오 코더는 위에서 언급된 바와 같은 어떤 선택 기준들, 예컨대, 최소 참조 인덱스, 현재의 픽처까지의 최소 POC 거리, 또는 다른 기준들에 따라, 고정된 픽처를 참조 픽처 리스트의 참조 픽처 (예컨대, 시간적 참조 픽처) 인 것으로 설정할 수도 있다. 이에 따라, 배정된 참조 픽처와 동일한 POC 값을 가지는 참조 픽처가 디스패리티 참조 픽처의 참조 픽처 리스트에서 존재하지 않을 때, 비디오 코더는 고정된 참조 픽처를 디스패리티 참조 픽처의 참조 픽처 리스트에서의 또 다른 픽처로 설정할 수도 있다.
또한, ARP 가 현재의 PU 에 대해 가능하게 되고 비디오 코더가 현재의 PU 에 대한 잔차 블록을 결정하기 위하여 현재의 뷰에서의 모션 보상을 수행할 때, 비디오 코더는 현재의 PU 의 모션 벡터를, 현재의 뷰에 있으며 고정된 참조 픽처와 동일한 POC 값을 가지는 참조 픽처로 스케일링할 수도 있다. 다음으로, 비디오 코더는 현재의 PU 에 대한 예측 블록을 결정하기 위하여 현재의 PU 에 대한 스케일링된 모션 벡터를 이용할 수도 있다. 다시 말해서, 잔차를 얻기 위하여 현재의 뷰에서의 모션 보상을 행할 때, 모션 벡터는 ARP 가 현재의 블록/PU 에 대해 가능하게 될 때에 배정된 픽처로 스케일링된다. 이에 따라, 비디오 코더는 스케일링된 모션 벡터에 의해 표시된 로케이션에서 고정된 참조 픽처와 동일한 POC 값을 가지는 현재의 뷰에서의 참조 픽처의 샘플들에 기초하여 현재의 PU 의 시간적 예측 블록을 결정할 수도 있다. 예를 들어, 현재의 PU 에 대한 예측 블록을 결정하기 위하여, 비디오 코더는 스케일링된 모션 벡터에 의해 표시된 로케이션과 연관되는 배정된 참조 픽처의 샘플들에 기초하여 예측 블록을 결정할 수도 있으며, 여기서, 배정된 참조 픽처의 POC 값은 고정된 참조 픽처의 POC 값과 일치하고, 배정된 참조 픽처는 현재의 픽처와 동일한 뷰에 있다.
또한, 하나의 대안적인 예에서, ARP 가 이용되는 것으로 표시될 때 (예컨대, 가중화 인자 0 과 동일하지 않을 때), 참조 픽처 인덱스는 AMVP 모드로 코딩된 PU 들에 대해 시그널링되지 않고, 참조 픽처 인덱스는 비-제로 가중화 인자에 대한 배정된 픽처의 인덱스로 설정된다. 예를 들어, 비디오 인코더 (20) 는 ARP 가 PU 에 대해 가능하게 될 때에 PU 에 대한 참조 인덱스를 표시하는 신택스 엘리먼트를 PU 내에 포함하지 않는다. 대신에, 이 예에서는, 비디오 디코더 (30) 가 PU 에 대한 참조 인덱스가 가중화 인자와 연관되는 고정된 참조 픽처를 표시하는 것으로 자동으로 결정 (즉, 추론) 할 수도 있다.
이 개시물의 일부의 예의 기법들에 따르면, 비디오 코더는 PU 들의 모션 벡터들을 정수 정밀도로 라운딩 (rounding) 할 수도 있다. 또한, 비디오 코더는 잔차 예측자를 생성하기 위하여 및/또는 현재의 PU 의 잔차를 생성하기 위하여 라운딩된 모션 벡터들을 이용할 수도 있다. 또한, 하나의 대안적인 예에서, 비디오 코더는 또한, 참조 뷰에서 잔차 예측자를 생성할 때에 디스패리티 벡터를 정수 정밀도로 라우딩할 수도 있다. 하나의 대안적인 예에서, 비디오 코더는 비디오 코더가 참조 뷰에서 잔차 예측자를 생성하고 있을 때에 모션 벡터들 및/또는 디스패리티 벡터를 라운딩하는 프로세스를 호출하기만 한다. 이 때문에, 상기 예들에서, 모션 벡터를 스케일링한 후, 비디오 코더는 현재의 PU 의 모션 벡터를 정수 정밀도로 라운딩할 수도 있고; 시간적-디스패리티 참조 블록을 결정하기 위하여, 비디오 코더는 라운딩된 스케일링된 모션 벡터 및 디스패리티 참조 블록의 위치에 기초하여, 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있다. 보다 특히, 비디오 코더는 라운딩된 스케일링된 모션 벡터 및 디스패리티 참조 블록의 위치에 기초하여, 시간적-디스패리티 참조 블록을 결정할 수도 있다. 또한, 하나의 예에서, 라운딩 프로세스는 하기와 같이 정의될 수도 있고: mv = (mv>>2)<<2, 이것은 mv[0]= (mv[0]>>2)<<2 이고 mv[1]= (mv[1]>>2)<<2 임을 의미한다. 또 다른 예에서, 라운딩 프로세스는 하기와 같이 정의될 수도 있다: 0 또는 1 과 동일한 i 에 대하여, mv[i] = ((mv[i]+2)>>2)<<2, 또는 mv[i] = ((mv[i]+sign(mv[i])*2)>>2)<<2 이다. 이 예에서, mv 는 모션 벡터를 나타내고, >> 는 우측 시프트 연산을 나타내고, << 는 좌측 시프트 연산을 나타내고, mv[0] 은 모션 벡터의 수평 컴포넌트를 나타내고, mv[1] 은 모션 벡터의 수직 컴포넌트를 나타낸다.
HEVC 는 모션 보상된 블록들을 결정할 때에 분수 샘플 보간 프로세스에 대하여 8/4-탭 루마/크로마 보간 필터를 이용할 수도 있다. 이 개시물의 일부의 예들에서, 비디오 코더는 현재의 PU 의 모션-보상된 블록을 생성할 때에도 이중-선형 필터를 그 대신에 이용할 수도 있다. 다시 말해서, 분수 샘플 보간 프로세스를 위해 HEVC 에서 이용된 8/4-탭 루마/크로마 보간 필터는 현재의 PU 의 모션-보상된 블록을 생성할 때, 즉, Dr 을 생성할 때에도 이중-선형 필터에 의해 대체될 수도 있다. 이에 따라, 현재의 PU 에 대한 예측 블록을 결정할 때, 비디오 코더는 이중-선형 필터를 시간적 참조 픽처의 루마 및/또는 크로마 컴포넌트들에 적용할 수도 있다. 하나의 대안적인 예에서, 비디오 코더는 이중-선형 필터를 루마에만 또는 크로마 컴포넌트에만 적용할 수도 있다. 또 다른 예에서, 비디오 코더는 이중-선형 필터를 루마 및 크로마 컴포넌트들의 양자에 적용할 수도 있다. 또한, 일부의 예들에서, 현재의 PU 에 대한 예측 블록을 결정할 때, 비디오 코더는 이중-선형 필터를 배정된 참조 픽처의 루마 및 크로마 컴포넌트들에 적용할 수도 있다.
또한, 일부의 예들에서, CU 가 인터-코딩될 때, ARP 는 루마 컴포넌트에만, 또는 크로마 컴포넌트에만 가능하게 될 수도 있다. 예를 들어, 비디오 디코더 (30) 는 현재의 CU 의 크로마 코딩 블록이 아니라, 현재의 CU 의 루마 코딩 블록을 재구성하기 위하여 ARP 를 수행할 수도 있지만, 그 반대도 마찬가지이다.
일부의 예들에서, 비디오 코더는 인터-코딩된 PU 들의 가중화 인자 인덱스들을 저장하기 위한 추가적인 메모리를 할당한다. 또한, 비디오 코더가 PU 에 대한 병합 후보 리스트를 구성할 때, 병합 후보 리스트에서의 각각의 후보는 모션 벡터 및 참조 인덱스에 추가하여, 가중화 인자 인덱스를 포함한다. 그러므로, 디코딩된 병합 후보 인덱스가 특정 후보가 현재의 PU 에 대해 선택되어야 하는 것임을 표시할 경우, 비디오 코더는 현재의 PU 및/또는 현재의 CU 의 가중화 인자 인덱스를 현재의 PU 의 가중화 인자 인덱스인 것으로 결정할 수도 있다. 대안적인 예에서, 현재의 PU 가 2Nx2N 으로서 파티셔닝될 때에만, 가중화 인자 인덱스를 취하는 이러한 병합 프로스가 이용된다. 다시 말해서, 이 예에서, 비디오 코더는 현재의 CU 가 단일의 PU 만을 가질 때에만 병합 후보에 의해 특정된 가중화 인자를 이용한다. 또 다른 예에서, 비디오 코더는 공간적 병합 후보가 이용될 때 (즉, 선택된 병합 후보 인덱스가 공간적으로 이웃하는 블록들로부터 유도된 후보를 지칭할 때) 에 이러한 병합 프로세스를 수행하기만 한다.
이 개시물의 추가적인 기법에 따르면, 비디오 코더는 참조 뷰에서의 모션 보상 없이 3D-HEVC 에서의 CU-기반 인터-뷰 잔차 예측 방식의 코딩 효율을 추가로 개선시키기 위한 프로세스를 수행할 수도 있다. 이 기법에 따르면, 하나의 PU 의 모드가 병합/스킵일 때에 인터-뷰 잔차 예측 (가중화 인자는 항상 1 과 동일함) 을 가능하게 하는 대신에, 병합 후보 인덱스는 0 과 동일하며 인터-뷰 모션 예측을 통해 참조 뷰의 참조 블록으로부터 유도된 모션 벡터 후보 (즉, 병합 후보) 를 표시하고, (PU 가 속하는) CU 는 2Nx2N 으로서 파티셔닝된다 (즉, PART_2Nx2N 모드에 따라 파티셔닝됨). 인터-뷰 잔차 예측은 다른 상황들에서 허용되지 않을 수도 있다. 다시 말해서, 인터-뷰 잔차 예측은, PU 에 대한 병합 후보 인덱스가 0 과 동일하고, PU 에 대한 선택된 병합 후보 (즉, PU 에 대한 병합 후보 인덱스에 의해 표시된 병합 후보) 가 참조 뷰의 참조 블록으로부터 유도될 때에 PU 에 대해 가능하게 될 수도 있다. 인터-뷰 잔차 예측이 위에서 언급된 바와 같이 동일한 상황에서 가능하게 될 때, 1 또는 0 과 동일하지 않은 가중화 인자들을 가능하게 하기 위하여 가중화 인자 인덱스가 추가로 송신된다.
하나의 대안적인 예에서, 비디오 인코더 (20) 는, 병합 후보 인덱스가 0 과 동일하며 선택된 병합 후보가 참조 뷰의 참조 블록으로부터 유도될 때에 0.5 또는 1 과 동일한 가중화 인자를 표시하기 위하여 하나의 비트를 시그널링할 수도 있다. 다시 말해서, 이 대안적인 예에서, 비디오 인코더 (20) 는, 인터-뷰 잔차 예측이 위에서 언급된 바와 같이 가능하게 되는 상황에서 0.5 또는 1 과 동일한 가중화 인자를 표시하기 위하여 하나의 비트를 시그널링할 수도 있다.
또 다른 대안적인 예에서는, PU 가 병합 모드로 코딩되고, PU 에 대한 병합 후보 인덱스 (즉, merge_idx) 가 0 과 동일하고, 현재의 CU (즉, PU 가 속하는 CU) 의 파티셔닝 모드가 2Nx2N 과 동일할 때, 인터-뷰 잔차 예측은 PU 에 대해 가능하게 되기만 할 수도 있다. 이와 다를 경우, 이 예에서는, 인터-뷰 잔차 예측이 항상 불가능하게 된다. 예를 들어, PU 가 병합 모드로 코딩되지 않을 때, PU 가 병합 모드로 코딩되지만 PU 에 대한 병합 후보 인덱스가 0 과 동일하지 않을 때, 또는 현재의 CU 의 파티셔닝 모드가 2Nx2N 과 동일하지 않을 때에는, 인터-뷰 잔차 예측이 PU 에 대해 항상 불가능하게 된다. 이 예에서, 인터-뷰 잔차 예측이 PU 에 대해 가능하게 될 때, 비디오 인코더 (20) 는 PU 에 대한 가중화 인자 인덱스를 시그널링할 수도 있다. 이에 따라, 비디오 인코더 (20) 는 모션 시그널링 모드 (즉, 병합 모드, 스킵 모드, AMVP 모드 등), 파티션 사이즈, 및 PU 의 merge_idx 에 따라, PU 에 대한 가중화 인자 인덱스를 시그널링할 수도 있거나 시그널링하지 않을 수도 있다.
PU 가 병합 모드를 이용하여 코딩되고, PU 의 merge_idx 가 0 과 동일하고, 현재의 CU 의 파티셔닝 모드가 2Nx2N 과 동일할 때에만, CU-기반 인터-뷰 잔차 예측이 PU 에 대해 가능하게 되는 일부의 예들에서는, 가중화 인자 인덱스가 0, 1, 또는 2 일 수 있다. 0, 1, 및 2 의 가중화 인자 인덱스 값들은 각각 0, 1, 및 0.5 의 가중화 인자들에 대응할 수도 있다. 그러나, 가중화 인자들로의 가중화 인자 인덱스들의 다른 맵핑들이 가능할 수도 있다.
대안적으로, PU 가 병합 모드를 이용하여 코딩될 때에만 CU-기반 인터-뷰 잔차 예측이 PU 에 대해 가능하게 되고, PU 의 merge_idx 가 0 과 동일하고, 현재의 CU 의 파티셔닝 모드가 2Nx2N 과 동일한 일부의 예들에서는, 가중화 인자 인덱스가 1-비트 플래그일 수 있다. 1-비트 플래그의 시맨틱 (semantic) 들은 병합 후보 리스트 구성 후에 유도되는 상황에 종속될 수도 있다. 예를 들어, PU 의 merge_idx 에 의해 표시된 병합 후보 (즉, 병합 후보 리스트의 제 1 위치에서의 병합 후보) 가 참조 뷰로부터 유도될 경우, 0 또는 1 과 동일한 1-비트 플래그는 가중화 인자가 각각 0.5 또는 1 과 동일함을 표시한다. 대안적인 예에서, PU 의 merge_idx 에 의해 표시된 병합 후보가 참조 뷰로부터 유도될 경우, 0 또는 1 과 동일한 1-비트 플래그는 가중화 인자가 각각 1 또는 0.5 와 동일함을 표시한다. 이 대안적인 예에서, 인터-뷰 잔차 예측은 아마도 상이한 가중화 인자들 및 가중 인자들로의 가중화 인자 인덱스들의 상이한 맵핑으로 항상 가능하게 된다. 이와 다르게, PU 의 merge_idx 에 의해 표시된 병합 후보가 참조 뷰로부터 유도되지 않을 경우, 0 또는 1 과 동일한 1-비트 플래그는 가중화 인자가 각각 0 또는 1 과 동일함을 표시한다. 대안적인 예에서, PU 의 merge_idx 에 의해 표시된 병합 후보가 참조 뷰로부터 유도되지 않을 경우, 0 또는 1 과 동일한 1-비트 플래그는 가중화 인자가 각각 1 또는 0 과 동일함을 표시한다. 또 다른 대안적인 예에서, PU 의 merge_idx 에 의해 표시된 병합 후보가 참조 뷰로부터 유도되지 않을 경우, 1-비트 플래그는 항상 0 과 동일할 것이고, 이것은 인터-뷰 잔차 예측이 불가능하게 됨을 표시할 것이다.
HEVC 의 스케일러블 코딩 (즉, SHVC) 에 대해서는, 다음이 적용될 것이다. GRP 가 SHVC 에 대해 적용될 때, 가중화 인자 인덱스는 (현재의 슬라이스의 참조 인덱스 및 참조 픽처 리스트들에 의해 표시된) 하나의 PU 의 참조 픽처가 (참조 계층 픽처에서의 PU 의 참조 인덱스 및 그 참조 픽처 리스트들에 의해 표시되는) 병치된 블록의 그것과 동일할 때에 PU 에 대해 시그널링되기만 한다.
도 8 은 이 개시물의 기법들을 구현할 수도 있는 일 예의 비디오 인코더 (20) 를 예시하는 블록도이다. 도 8 은 설명의 목적들을 위하여 제공되고, 이 개시물에서 대략 예시 및 설명된 바와 같은 기법들의 제한으로 간주되지 않아야 한다. 설명의 목적들을 위하여, 이 개시물은 HEVC 코딩의 문맥에서 비디오 인코더 (20) 를 설명한다. 그러나, 이 개시물의 기법들은 다른 코딩 표준들 또는 방법들에 적용가능할 수도 있다.
도 8 의 예에서, 비디오 인코더 (20) 는 예측 프로세싱 유닛 (100), 잔차 생성 유닛 (102), 변환 프로세싱 유닛 (104), 양자화 유닛 (106), 역양자화 유닛 (108), 역변환 프로세싱 유닛 (110), 재구성 유닛 (112), 필터 유닛 (114), 디코딩된 픽처 버퍼 (116), 및 엔트로피 인코딩 유닛 (118) 을 포함한다. 예측 프로세싱 유닛 (100) 은 인터-예측 프로세싱 유닛 (120) 및 인트라-예측 프로세싱 유닛 (126) 을 포함한다. 인터-예측 프로세싱 유닛 (120) 은 모션 추정 유닛 (122) 및 모션 보상 유닛 (124) 을 포함한다. 다른 예들에서, 비디오 인코더 (20) 는 더 많거나, 더 적거나, 또는 상이한 기능적 컴포넌트들을 포함할 수도 있다.
비디오 인코더 (20) 는 비디오 데이터를 수신할 수도 있다. 비디오 인코더 (20) 는 비디오 데이터의 픽처의 슬라이스에서 각각의 CTU 를 인코딩할 수도 있다. CTU 들의 각각은 동일한 사이즈의 루마 코딩 트리 블록 (coding tree block; CTB) 들 및 픽처의 대응하는 CTB 들과 연관될 수도 있다. CTU 를 인코딩하는 것의 일부로서, 예측 프로세싱 유닛 (100) 은 CTU 의 CTB 들을 점진적으로 더 작은 블록들로 분할하기 위하여 쿼드-트리 파티셔닝 (quad-tree partitioning) 을 수행할 수도 있다. 더 작은 블록들은 CU 들의 코딩 블록들일 수도 있다. 예를 들어, 예측 프로세싱 유닛 (100) 은 CTU 와 연관된 CTB 를 4 개의 동일한 사이즈의 서브-블록들로 파티셔닝할 수도 있고, 서브-블록들 중의 하나 이상을 4 개의 동일한 사이즈의 서브-서브-블록들로 파티셔닝할 수도 있는, 등등과 같다.
비디오 인코더 (20) 는 CU 들의 인코딩된 표현들 (즉, 코딩된 CU 들) 을 생성하기 위하여 CTU 의 CU 들을 인코딩할 수도 있다. CU 를 인코딩하는 것의 일부로서, 예측 프로세싱 유닛 (100) 은 CU 의 하나 이상의 PU 들 중에서 CU 와 연관된 코딩 블록들을 파티셔닝할 수도 있다. 이에 따라, 각각의 PU 는 루마 예측 블록 및 대응하는 크로마 예측 블록들과 연관될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 다양한 사이즈들을 가지는 PU 들을 지원할 수도 있다. 위에서 표시된 바와 같이, CU 의 사이즈는 CU 의 루마 코딩 블록의 사이즈를 지칭할 수도 있고, PU 의 사이즈는 PU 의 루마 예측 블록의 사이즈를 지칭할 수도 있다. 특정 CU 의 사이즈가 2Nx2N 인 것으로 가정하면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 인트라 예측을 위한 2Nx2N 또는 NxN 의 PU 사이즈들과, 인터 예측을 위한 2Nx2N, 2NxN, Nx2N, NxN, 또는 유사한 것의 대칭적인 PU 사이즈들을 지원할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 또한, 인터 예측을 위한 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에 대한 비대칭적인 파티셔닝을 지원할 수도 있다.
인터-예측 프로세싱 유닛 (120) 은 CU 의 각각의 PU 에 대해 인터 예측을 수행함으로써 PU 에 대한 예측 데이터를 생성할 수도 있다. PU 에 대한 예측 데이터는 PU 의 예측 블록들 및 PU 에 대한 모션 정보를 포함할 수도 있다. 인터-예측 프로세싱 유닛 (120) 은 PU 가 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지 여부에 따라 CU 의 PU 에 대한 상이한 동작들을 수행할 수도 있다. I 슬라이스에서는, 모든 PU 들이 인트라 예측된다. 이 때문에, PU 가 I 슬라이스에 있을 경우, 인터-예측 프로세싱 유닛 (120) 은 PU 에 대한 인터 예측을 수행하지 않는다.
PU 가 P 슬라이스에 있을 경우, 모션 추정 유닛 (122) 은 PU 에 대한 참조 영역을 위하여 참조 픽처들의 리스트 (예컨대, "RefPicList0") 에서 참조 픽처들을 검색할 수도 있다. PU 에 대한 참조 영역은, PU 의 예측 블록들에 가장 근접하게 대응하는 샘플 블록들을 포함하는, 참조 픽처 내에서의 영역일 수도 있다. 모션 추정 유닛 (122) 은 PU 에 대한 참조 영역을 포함하는 참조 픽처의 RefPicList0 에서의 위치를 표시하는 참조 인덱스를 생성할 수도 있다. 게다가, 모션 추정 유닛 (122) 은 PU 의 예측 블록과, 참조 영역과 연관된 참조 로케이션과의 사이의 공간적 변위를 표시하는 모션 벡터를 생성할 수도 있다. 예를 들어, 모션 벡터는 현재의 픽처에서의 좌표들로부터 참조 픽처에서의 좌표들까지의 오프셋 (offset) 을 제공하는 2 차원 벡터일 수도 있다. 모션 추정 유닛 (122) 은 참조 인덱스 및 모션 벡터를 PU 의 모션 정보로서 출력할 수도 있다. 모션 보상 유닛 (124) 은 PU 의 모션 벡터에 의해 표시된 참조 로케이션에서의 실제의 또는 보간된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
PU 가 B 슬라이스에 있을 경우, 모션 추정 유닛 (122) 은 PU 에 대한 단방향-예측 또는 양방향-예측을 수행할 수도 있다. PU 에 대한 단방향-예측을 수행하기 위하여, 모션 추정 유닛 (122) 은 PU 에 대한 참조 영역을 위하여 RefPicList0 또는 제 2 참조 픽처 리스트 ("RefPicList1") 의 참조 픽처들을 검색할 수도 있다. 모션 추정 유닛 (122) 은 PU 의 모션 정보로서, 참조 영역을 포함하는 참조 픽처의 RefPicList0 또는 RefPicList1 에서의 위치를 표시하는 참조 인덱스, PU 의 예측 블록과, 참조 영역과 연관된 참조 로케이션과의 사이의 공간적 변위를 표시하는 모션 벡터, 및 참조 픽처가 RefPicList0 또는 RefPicList1 에 있는지 여부를 표시하는 하나 이상의 예측 방향 표시자들을 출력할 수도 있다. 모션 보상 유닛 (124) 은 PU 의 모션 벡터에 의해 표시된 참조 로케이션에서의 실제의 또는 보간된 샘플들에 적어도 부분적으로 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
PU 에 대한 양방향-예측적 인터 예측을 수행하기 위하여, 모션 추정 유닛 (122) 은 PU 에 대한 참조 영역을 위하여 RefPicList0 에서 참조 픽처들을 검색할 수도 있고, 또한, PU 에 대한 또 다른 참조 영역을 위하여 RefPicList1 에서 참조 픽처들을 검색할 수도 있다. 모션 추정 유닛 (122) 은 참조 영역들을 포함하는 참조 픽처들의 RefPicList0 및 RefPicList1 에서의 위치들을 표시하는 참조 인덱스들을 생성할 수도 있다. 게다가, 모션 추정 유닛 (122) 은 참조 영역들과 연관된 참조 로케이션들과, PU 의 예측 블록과의 사이의 공간적 변위들을 표시하는 모션 벡터들을 생성할 수도 있다. PU 의 모션 정보는 PU 의 모션 벡터들 및 참조 인덱스들을 포함할 수도 있다. 모션 보상 유닛 (124) 은 PU 의 모션 벡터들에 의해 표시된 참조 로케이션들에서의 실제의 또는 보간된 샘플들에 적어도 부분적으로 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
이 개시물의 어딘가에서 설명된 바와 같이, 비디오 인코더 (20) 는 ARP 를 지원할 수도 있다. 도 8 의 예에서, 인터-예측 프로세싱 유닛 (120) 은 고정된 참조 픽처 및 시간적 참조 픽처 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 픽처의 현재의 PU 의 모션 벡터를 스케일링할 수도 있다. 게다가, 인터-예측 프로세싱 유닛 (120) 은 현재의 PU 에 대한 예측 블록을 결정할 수도 있고, 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정할 수도 있고, 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션에서의 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정할 수도 있다. 다음으로, 인터-예측 프로세싱 유닛 (120) 은 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있다. 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다.
인트라-예측 프로세싱 유닛 (126) 은 PU 에 대해 인트라 예측을 수행함으로써 PU 에 대한 예측 데이터를 생성할 수도 있다. PU 에 대한 예측 데이터는 PU 에 대한 예측 블록들 및 다양한 신택스 엘리먼트들을 포함할 수도 있다. 인트라-예측 프로세싱 유닛 (126) 은 I 슬라이스들, P 슬라이스들, 및 B 슬라이스들에서의 PU 들에 대해 인트라 예측을 수행할 수도 있다.
PU 에 대해 인트라 예측을 수행하기 위하여, 인트라-예측 프로세싱 유닛 (126) 은 PU 에 대한 예측 블록들의 다수의 세트들을 생성하기 위하여 다수의 인트라 예측 모드들을 이용할 수도 있다. 특정 인트라 예측 모드를 이용하여 인트라 예측을 수행할 때, 인트라-예측 프로세싱 유닛 (126) 은 이웃하는 블록들로부터의 샘플들의 특정 세트를 이용하여 PU 에 대한 예측 블록들을 생성할 수도 있다. PU 들, CU 들, 및 CTU 들에 대한 좌측에서 우측, 상부에서 하부의 인코딩 순서를 가정하면, 이웃하는 블록들은 PU 의 예측 블록들의 상부, 상부 및 우측, 상부 및 좌측, 또는 좌측에 있을 수도 있다. 인트라-예측 프로세싱 유닛 (126) 은 다양한 수들의 인트라 예측 모드들, 예컨대, 33 개의 방향성 인트라 예측 모드들을 이용할 수도 있다. 일부의 예들에서, 인트라 예측 모드들의 수는 PU 의 예측 블록들의 사이즈에 종속될 수도 있다.
예측 프로세싱 유닛 (100) 은 PU 들에 대한 인터-예측 프로세싱 유닛 (120) 에 의해 생성된 예측 데이터, 또는 PU 들에 대한 인트라-예측 프로세싱 유닛 (126) 에 의해 생성된 예측 데이터 중으로부터 CU 의 PU 들에 대한 예측 데이터를 선택할 수도 있다. 일부의 예들에서, 예측 프로세싱 유닛 (100) 은 예측 데이터의 세트들의 레이트/왜곡 메트릭 (metric) 들에 기초하여 CU 의 PU 들에 대한 예측 데이터를 선택한다. 선택된 예측 데이터의 예측 블록들은 본원에서 선택된 예측 블록들로서 지칭될 수도 있다.
잔차 생성 유닛 (102) 은 CU 의 루마, Cb 및 Cr 코딩 블록들과, CU 의 PU 들의 선택된 예측 루마, Cb 및 Cr 블록들에 기초하여, CU 의 루마, Cb 및 Cr 잔차 블록들을 생성할 수도 있다. 예를 들어, 잔차 생성 유닛 (102) 은, 잔차 블록들에서의 각각의 샘플이 CU 의 코딩 블록에서의 샘플과, CU 의 PU 의 대응하는 선택된 예측 블록에서의 대응하는 샘플과의 사이의 차이와 동일한 값을 가지도록, CU 의 잔차 블록들을 생성할 수도 있다.
변환 프로세싱 유닛 (104) 은 CU 의 잔차 블록들을 CU 의 TU 들과 연관된 변환 블록들로 파티셔닝하기 위하여 쿼드-트리 파티셔닝을 수행할 수도 있다. 이에 따라, TU 는 루마 변환 블록 및 2 개의 대응하는 크로마 변환 블록들과 연관될 수도 있다. CU 의 TU 들의 루마 및 크로마 변환 블록들의 사이즈들 및 위치들은 CU 의 PU 들의 예측 블록들의 사이즈들 및 위치들에 기초할 수도 있고 이에 기초하지 않을 수도 있다.
변환 프로세싱 유닛 (104) 은 하나 이상의 변환들을 TU 의 변환 블록들에 적용함으로써 CU 의 각각의 TU 에 대한 변환 계수 블록들을 생성할 수도 있다. 변환 프로세싱 유닛 (104) 은 다양한 변환들을 TU 와 연관된 변환 블록에 적용할 수도 있다. 예를 들어, 변환 프로세싱 유닛 (104) 은 이산 코사인 변환 (discrete cosine transform; DCT), 방향성 변환 (directional transform), 또는 개념적으로 유사한 변환을 변환 블록에 적용할 수도 있다. 일부의 예들에서, 변환 프로세싱 유닛 (104) 은 변환들을 변환 블록에 적용하지 않는다. 이러한 예들에서는, 변환 블록이 변환 계수 블록으로서 취급될 수도 있다.
양자화 유닛 (106) 은 계수 블록에서의 변환 계수들을 양자화할 수도 있다. 양자화 프로세스는 변환 계수들의 일부 또는 전부와 연관된 비트 심도 (bit depth) 를 감소시킬 수도 있다. 예를 들어, n-비트 변환 계수는 양자화 동안에 m-비트 변환 계수로 버림 (round down) 될 수도 있고, 여기서, n 은 m 보다 더 크다. 양자화는 정보의 손실을 도입할 수도 있고, 이에 따라, 양자화된 변환 계수들은 원래의 것들보다 더 낮은 정밀도를 가질 수도 있다.
역양자화 유닛 (108) 및 역변환 프로세싱 유닛 (110) 은 계수 블록으로부터 잔차 블록을 재구성하기 위하여, 역양자화 및 역변환들을 계수 블록에 각각 적용할 수도 있다. 재구성 유닛 (112) 은 TU 와 연관된 재구성된 변환 블록을 생성하기 위하여, 재구성된 잔차 블록을, 예측 프로세싱 유닛 (100) 에 의해 생성된 하나 이상의 예측 블록들로부터의 대응하는 샘플들에 추가할 수도 있다. CU 의 각각의 TU 에 대한 변환 블록들을 이러한 방법으로 재구성함으로써, 비디오 인코더 (20) 는 CU 의 코딩 블록들을 재구성할 수도 있다.
필터 유닛 (114) 은 CU 와 연관된 코딩 블록들에서의 블록킹 아티팩트 (blocking artifact) 들을 감소시키기 위하여 하나 이상의 디블록킹 동작 (deblocking operation) 들을 수행할 수도 있다. 필터 유닛 (114) 이 재구성된 코딩 블록들에 대해 하나 이상의 디블록킹 동작들을 수행한 후, 디코딩된 픽처 버퍼 (116) 는 재구성된 코딩 블록들을 저장할 수도 있다. 즉, 다음으로, 주어진 프레임 또는 픽처에서의 디코딩된 비디오 블록들은, 추후의 모션 보상을 위해 이용된 참조 픽처들을 저장할 수도 있는 참조 픽처 메모리 (예컨대, 디코딩된 픽처 버퍼 (116)) 내에 저장된다. 인터-예측 프로세싱 유닛 (120) 은 다른 픽처들의 PU 들에 대해 인터 예측을 수행하기 위하여, 재구성된 코딩 블록들을 포함하는 참조 픽처를 이용할 수도 있다. 게다가, 인트라-예측 프로세싱 유닛 (126) 은 CU 와 동일한 픽처에서의 다른 PU 들에 대해 인트라 예측을 수행하기 위하여, 디코딩된 픽처 버퍼 (116) 에서의 재구성된 코딩 블록들을 이용할 수도 있다.
엔트로피 인코딩 유닛 (118) 은 비디오 인코더 (20) 의 다른 기능적 컴포넌트들로부터 데이터를 수신할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 양자화 유닛 (106) 으로부터 계수 블록들을 수신할 수도 있고, 예측 프로세싱 유닛 (100) 으로부터 신택스 엘리먼트들을 수신할 수도 있다. 엔트로피 인코딩 유닛 (118) 은 엔트로피-인코딩된 데이터를 생성하기 위하여, 데이터에 대해 하나 이상의 엔트로피 인코딩 동작들을 수행할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 데이터에 대하여, 컨텍스트-적응 가변 길이 코딩 (context-adaptive variable length coding; CAVLC) 동작, CABAC 동작, 가변-대-가변 (variable-to-variable; V2V) 길이 코딩 동작, 신택스-기반 컨텍스트-적응 2 진 산술 코딩 (syntax-based context-adaptive binary arithmetic coding; SBAC) 동작, 확률 간격 파티셔닝 엔트로피 (Probability Interval Partitioning Entropy; PIPE) 코딩 동작, 지수-골롬 (Exponential-Golomb) 인코딩 동작, 또는 또 다른 타입의 엔트로피 인코딩 동작을 수행할 수도 있다. 비디오 인코더 (20) 는 엔트로피 인코딩 유닛 (118) 에 의해 생성된 엔트로피-인코딩된 데이터를 포함하는 비트스트림을 출력할 수도 있다.
도 9 는 이 개시물의 기법들을 구현하도록 구성되는 일 예의 비디오 디코더 (30) 를 예시하는 블록도이다. 도 9 는 설명의 목적들을 위하여 제공되고, 이 개시물에서 대략 예시 및 설명된 바와 같은 기법들에 대해 제한하지 않는다. 설명의 목적들을 위하여, 이 개시물은 HEVC 코딩의 문맥에서 비디오 디코더 (30) 를 설명한다. 그러나, 이 개시물의 기법들은 다른 코딩 표준들 또는 방법들에 적용가능할 수도 있다.
도 9 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (150), 예측 프로세싱 유닛 (152), 역양자화 유닛 (154), 역변환 프로세싱 유닛 (156), 재구성 유닛 (158), 필터 유닛 (160), 및 디코딩된 픽처 버퍼 (162) 를 포함한다. 예측 프로세싱 유닛 (152) 은 모션 보상 유닛 (164) 및 인트라-예측 프로세싱 유닛 (166) 을 포함한다. 다른 예들에서, 비디오 디코더 (30) 는 더 많거나, 더 적거나, 또는 상이한 기능적 컴포넌트들을 포함할 수도 있다.
코딩된 픽처 버퍼 (CPB; 151) 는 비트스트림의 인코딩된 비디오 데이터 (예컨대, NAL 유닛들) 를 수신 및 저장할 수도 있다. 엔트로피 디코딩 유닛 (150) 은 비트스트림으로부터 신택스 엘리먼트들을 얻기 위하여, CPB (151) 로부터 NAL 유닛들을 수신할 수도 있고 NAL 유닛들을 파싱할 수도 있다. 엔트로피 디코딩 유닛 (150) 은 NAL 유닛들에서 엔트로피-인코딩된 신택스 엘리먼트들을 엔트로피 디코딩할 수도 있다. 예측 프로세싱 유닛 (152), 역양자화 유닛 (154), 역변환 프로세싱 유닛 (156), 재구성 유닛 (158), 및 필터 유닛 (160) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 디코딩된 비디오 데이터를 생성할 수도 있다.
비트스트림의 NAL 유닛들은 코딩된 슬라이스 NAL 유닛들을 포함할 수도 있다. 비트스트림을 디코딩하는 것의 일부로서, 엔트로피 디코딩 유닛 (150) 은 코딩된 슬라이스 NAL 유닛들로부터 신택스 엘리먼트들을 추출할 수도 있고 이를 엔트로피 디코딩할 수도 있다. 코딩된 슬라이스들의 각각은 슬라이스 헤더 및 슬라이스 데이터를 포함할 수도 있다. 슬라이스 헤더는 슬라이스에 속하는 신택스 엘리먼트들을 포함할 수도 있다.
비트스트림으로부터의 신택스 엘리먼트들을 디코딩하는 것에 추가하여, 비디오 디코더 (30) 는 CU 에 대해 디코딩 동작을 수행할 수도 있다. CU 에 대해 디코딩 동작을 수행함으로써, 비디오 디코더 (30) 는 CU 의 코딩 블록들을 재구성할 수도 있다.
CU 에 대해 디코딩 동작을 수행하는 것의 일부로서, 역양자화 유닛 (154) 은 CU 의 TU 들과 연관된 계수 블록들을 역양자화, 즉, 비양자화할 수도 있다. 역양자화 유닛 (154) 은 양자화도와, 마찬가지로, 역양자화 유닛 (154) 이 적용하기 위한 역양자화도를 결정하기 위하여 TU 의 CU 와 연관된 QP 값을 이용할 수도 있다. 즉, 압축 비율, 즉, 원래의 시퀀스 및 압축된 것을 나타내기 위해 이용된 비트들의 수의 비율은, 변환 계수들을 양자화할 때에 이용된 QP 의 값을 조절함으로써 제어될 수도 있다. 압축 비율은 또한, 채용된 엔트로피 코딩의 방법에 종속될 수도 있다.
역양자화 유닛 (154) 이 계수 블록을 역양자화한 후, 역변환 프로세싱 유닛 (156) 은 TU 와 연관된 잔차 블록을 생성하기 위하여 하나 이상의 역변환들을 계수 블록에 적용할 수도 있다. 예를 들어, 역변환 프로세싱 유닛 (156) 은 역 DCT, 역정수 변환, 역 카루넨-루베 변환 (Karhunen-Loeve transform; KLT), 역회전 변환, 역방향성 변환, 또는 또 다른 역변환을 계수 블록에 적용할 수도 있다.
PU 가 인트라 예측을 이용하여 인코딩될 경우, 인트라-예측 프로세싱 유닛 (166) 은 PU 에 대한 예측 블록들을 생성하기 위하여 인트라 예측을 수행할 수도 있다. 인트라-예측 프로세싱 유닛 (166) 은 공간적으로 이웃하는 PU 들의 예측 블록들에 기초하여 PU 에 대한 예측 루마, Cb 및 Cr 블록들을 생성하기 위하여 인트라 예측 모드를 이용할 수도 있다. 인트라-예측 프로세싱 유닛 (166) 은 비트스트림으로부터 디코딩된 하나 이상의 신택스 엘리먼트들에 기초하여 PU 에 대한 인트라 예측 모드를 결정할 수도 있다.
예측 프로세싱 유닛 (152) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 제 1 참조 픽처 리스트 (RefPicList0) 및 제 2 참조 픽처 리스트 (RefPicList1) 를 구성할 수도 있다. 또한, PU 가 인터 예측을 이용하여 인코딩될 경우, 엔트로피 디코딩 유닛 (150) 은 PU 에 대한 모션 정보를 얻을 수도 있다. 모션 보상 유닛 (164) 은 PU 의 모션 정보에 기초하여, PU 에 대한 하나 이상의 참조 영역들을 결정할 수도 있다. 모션 보상 유닛 (164) 은 PU 에 대한 하나 이상의 참조 블록들에서의 샘플들에 기초하여, PU 에 대한 예측 루마, Cb 및 Cr 블록들을 생성할 수도 있다.
이 개시물의 어딘가에서 설명된 바와 같이, 비디오 디코더 (30) 는 ARP 를 지원할 수도 있다. 도 9 의 예에서, 예측 프로세싱 유닛 (152) 은 고정된 참조 픽처 및 시간적 참조 픽처 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 픽처의 현재의 PU 의 모션 벡터를 스케일링할 수도 있다. 게다가, 예측 프로세싱 유닛 (152) 은 현재의 PU 에 대한 예측 블록을 결정할 수도 있고, 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정할 수도 있고, 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션에서의 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정할 수도 있다. 다음으로, 예측 프로세싱 유닛 (152) 은 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있다. 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다.
재구성 유닛 (158) 은 CU 의 루마, Cb 및 Cr 코딩 블록들을 재구성하기 위하여, CU 의 TU 들과 연관된 루마, Cb 및 Cr 변환 블록들과, CU 의 PU 들의 예측 루마, Cb 및 Cr 블록들, 즉, 적용 가능하다면, 인트라-예측 데이터 또는 인터-예측 데이터로부터의 잔차 값들을 이용할 수도 있다. 예를 들어, 재구성 유닛 (158) 은 CU 의 루마, Cb 및 Cr 코딩 블록들을 재구성하기 위하여, 루마, Cb 및 Cr 변환 블록들의 샘플들을 예측 루마, Cb 및 Cr 블록들의 대응하는 샘플들에 추가할 수도 있다.
필터 유닛 (160) 은 CU 의 루마, Cb 및 Cr 코딩 블록들과 연관된 블록킹 아티팩트들을 감소시키기 위하여 디블록킹 동작을 수행할 수도 있다. 비디오 디코더 (30) 는 CU 의 루마, Cb 및 Cr 코딩 블록들을 디코딩된 픽처 버퍼 (162) 내에 저장할 수도 있다. 디코딩된 픽처 버퍼 (162) 는 추후의 모션 보상, 인트라 예측, 및 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상에서의 제시를 위하여 참조 픽처들을 제공할 수도 있다. 즉, 다음으로, 주어진 프레임 또는 픽처에서의 디코딩된 비디오 블록들은, 추후의 모션 보상을 위해 이용된 참조 픽처들을 저장할 수도 있는 참조 픽처 메모리 (예컨대, 디코딩된 픽처 버퍼 (162)) 내에 저장된다. 예를 들어, 비디오 디코더 (30) 는 디코딩된 픽처 버퍼 (162) 에서의 루마, Cb 및 Cr 블록들에 기초하여, 다른 CU 들의 PU 들에 대해 인트라 예측 또는 인터 예측 동작들을 수행할 수도 있다. 이러한 방법으로, 비디오 디코더 (30) 는 비트스트림으로부터, 중요한 루마 계수 블록의 변환 계수 레벨들을 추출할 수도 있고, 변환 계수 레벨들을 역양자화할 수도 있고, 변환 블록을 생성하기 위하여 변환을 변환 계수 레벨들에 적용할 수도 있고, 변환 블록에 적어도 부분적으로 기초하여, 코딩 블록을 생성할 수도 있고, 디스플레이를 위하여 코딩 블록을 출력할 수도 있다.
도 10a 는 이 개시물의 하나 이상의 기법들에 따라, 현재의 CU 를 인코딩하기 위한 비디오 인코더 (20) 의 일 예의 동작을 예시하는 플로우차트이다. 비디오 인코더 (20) 는 현재의 CU 를 인코딩하기 위하여 ARP 를 이용할 때에 도 10a 의 일 예의 동작을 수행할 수도 있다. 도 10a 의 예에서, 비디오 인코더 (20) 는 현재의 CU 의 각각의 PU 에 대한 예측 블록을 생성할 수도 있다 (200). 비디오 인코더 (20) 는 하나 이상의 참조 블록들에 기초하여 PU 에 대한 예측 블록을 결정할 수도 있다. 예를 들어, PU 에 대한 예측 블록에서의 각각의 샘플은 참조 블록에서의 대응하는 샘플과 동일할 수도 있거나, 2 개의 참조 블록들에서의 대응하는 샘플들의 가중화된 평균과 동일할 수도 있다. 하나 이상의 참조 블록들의 각각은 시간적 참조 픽처의 실제의 또는 보간된 샘플들을 포함할 수도 있다.
또한, 비디오 인코더 (20) 는 현재의 CU 의 각각의 PU 에 대한 잔차 예측자를 결정할 수도 있다 (202). 일부의 예들에서, 비디오 인코더 (20) 는 PU 에 대한 잔차 예측자를 결정하기 위하여 도 11 의 일 예의 동작을 수행할 수도 있다. 비디오 인코더 (20) 가 현재의 CU 의 각각의 PU 에 대한 잔차 예측자들을 결정한 후, 비디오 인코더 (20) 는 현재의 CU 에 대한 최종 잔차 블록을 생성할 수도 있다 (204). 일부의 예들에서, 현재의 CU 에 대한 최종 잔차 블록에서의 각각의 샘플은 현재의 CU 의 코딩 블록에서의 샘플과, 현재의 CU 의 PU 에 대한 예측 블록 및 현재의 CU 에 대한 잔차 예측자에서의 대응하는 샘플들과의 사이의 차이를 표시할 수도 있다.
비디오 인코더 (20) 는 비트스트림에서, 현재의 CU 에 대한 최종 잔차 블록을 나타내는 데이터를 포함할 수도 있다 (206). 이 개시물의 어딘가에서 설명된 바와 같이, 비트스트림에서, 현재의 CU 에 대한 최종 잔차 블록을 나타내는 데이터를 포함하기 위하여, 비디오 인코더 (20) 는 최종 잔차 블록을 하나 이상의 변환 블록들로 파티셔닝할 수도 있고, 변환 및 양자화를 변환 블록들의 각각에 적용할 수도 있고, 양자화된 계수들을 나타내는 특정 신택스 엘리먼트들을 엔트로피-인코딩할 수도 있고, 비트스트림에서 결과적인 인코딩된 신택스 엘리먼트들을 포함할 수도 있다.
도 10b 는 이 개시물의 하나 이상의 기법들에 따라, 현재의 CU 를 디코딩하기 위한 비디오 디코더 (30) 의 일 예의 동작을 예시하는 플로우차트이다. 비디오 디코더 (30) 는 현재의 CU 를 디코딩하기 위하여 ARP 를 이용할 때에 도 10b 의 일 예의 동작을 수행할 수도 있다. 도 10b 의 예에서, 비디오 디코더 (30) 는 비트스트림에서의 데이터에 기초하여, 현재의 CU 에 대한 최종 잔차 블록을 결정할 수도 있다 (250). 예를 들어, 비디오 디코더 (30) 는 비트스트림으로부터, 현재의 CU 의 TU 들과 연관된 양자화된 계수들을 표시하는 신택스 엘리먼트들을 얻을 수도 있다. 또한, 이 예에서, 비디오 디코더 (30) 는 현재의 CU 에 대한 최종 잔차 블록을 결정하기 위하여 역양자화 및 역변환을 양자화된 계수들에 적용할 수도 있다.
또한, 비디오 디코더 (30) 는 현재의 CU 의 각각의 PU 에 대한 예측 블록을 생성할 수도 있다 (252). 비디오 디코더 (30) 는 하나 이상의 참조 블록들에 기초하여 PU 에 대한 예측 블록을 결정할 수도 있다. 예를 들어, PU 에 대한 예측 블록에서의 각각의 샘플은 참조 블록에서의 대응하는 샘플과 동일할 수도 있거나, 2 개의 참조 블록들에서의 대응하는 샘플들의 가중화된 평균과 동일할 수도 있다. 하나 이상의 참조 블록들의 각각은 시간적 참조 픽처의 실제의 또는 보간된 샘플들을 포함할 수도 있다.
게다가, 비디오 디코더 (30) 는 현재의 CU 의 각각의 PU 에 대한 잔차 예측자를 결정할 수도 있다 (254). 비디오 디코더 (30) 는 현재의 CU 의 PU 에 대한 잔차 예측자를 결정하기 위하여 도 11 의 일 예의 동작을 수행할 수도 있다. 다음으로, 비디오 디코더 (30) 는 현재의 CU 에 대한 코딩 블록을 재구성할 수도 있다 (256). 일부의 예들에서, 현재의 CU 에 대한 재구성된 코딩 블록에서의 각각의 샘플은 현재의 CU 에 대한 최종 잔차 블록, 현재의 CU 의 PU 에 대한 예측 블록, 및 잔차 예측자에서의 대응하는 샘플들의 합과 동일하다.
도 11 은 이 개시물의 하나 이상의 기법들에 따라, 현재의 PU 에 대한 잔차 예측자를 결정하기 위한 비디오 코더의 일 예의 동작을 예시하는 플로우차트이다. 도 11 의 예에서, 비디오 코더 (예컨대, 비디오 인코더 (20) 또는 비디오 디코더 (30)) 는 고정된 참조 픽처를 결정한다 (300). 비디오 코더는 이 개시물의 어딘가에서 제공된 고정된 참조 픽처를 결정하기 위한 일 예의 기법들 중의 임의의 것에 따라 고정된 참조 픽처를 결정할 수도 있다.
또한, 도 11 의 예에서, 비디오 코더는 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, POC 거리에 기초하여 현재의 PU 의 모션 벡터 (예컨대, RefPicList0 모션 벡터 또는 RefPicList1 모션 벡터) 를 스케일링한다 (302). 예를 들어, 비디오 코더는 POC 거리에 기초하여 현재의 PU 에 대한 RefPicList0 모션 벡터를 스케일링할 수도 있다. POC 거리는 현재의 픽처의 POC 값과, 현재의 PU 의 RefPicList0 타겟 참조 픽처의 POC 값과의 사이의 차이일 수도 있다. 이 예에서, 비디오 코더는 현재의 PU 의 RefPicList1 타겟 참조 픽처 및 고정된 참조 픽처 사이의 POC 거리에 기초하여 현재의 PU 에 대한 RefPicList1 모션 벡터를 스케일링할 수도 있다. 대안적으로, POC 거리는 현재의 픽처의 POC 값과, 고정된 참조 픽처의 POC 값과의 사이의 차이일 수도 있다.
게다가, 비디오 코더는 현재의 PU 에 대한 디스패리티 벡터를 결정할 수도 있다 (304). 다음으로, 비디오 코더는 디스패리티 참조 블록을 결정할 수도 있다 (306). 디스패리티 참조 블록에서의 샘플들은 현재의 PU 에 대한 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처에서의 실제의 또는 보간된 샘플들일 수도 있다. 또한, 비디오 코더는 스케일링된 모션 벡터와, 현재의 PU 의 디스패리티 벡터에 의해 표시된 디스패리티 참조 픽처에서의 위치에 기초하여, 고정된 참조 픽처에서의 시간적-디스패리티 참조 로케이션을 결정할 수도 있다 (308). 다음으로, 비디오 코더는 시간적-디스패리티 참조 블록을 결정할 수도 있다 (310). 시간적-디스패리티 참조 블록에서의 샘플들은 시간적-잔차 디스패리티 참조 로케이션과 연관되는 시간적-디스패리티 참조 픽처의 실제의 또는 보간된 샘플들일 수도 있다.
다음으로, 비디오 코더는 시간적-디스패리티 참조 블록 및 디스패리티 참조 블록에 기초하여, 잔차 예측자를 결정할 수도 있다 (312). 일부의 예들에서, 잔차 예측자에서의 각각의 샘플은 디스패리티 참조 블록에서의 샘플 및 시간적-디스패리티 참조 블록에서의 대응하는 샘플 사이의 차이를 표시한다. 잔차 예측자를 결정한 후에, 비디오 코더는 가중화 인자를 잔차 예측자에 적용할 수도 있다 (314).
도 12 는 이 개시물의 하나 이상의 기법들에 따라, 비디오 인코더 (20) 의 일 예의 동작을 예시하는 플로우차트이다. 도 12 의 예에서, 비디오 인코더 (20) 는 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 CU 의 현재의 PU 의 모션 벡터를 스케일링한다 (350). 도 12 의 예에서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시한다.
또한, 도 12 의 예에서, 비디오 인코더 (20) 는 현재의 PU 에 대한 예측 블록을 결정한다 (352). 게다가, 비디오 인코더 (20) 는 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정할 수도 있다 (354). 비디오 인코더 (20) 는 또한, 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정할 수도 있다 (356). 게다가, 비디오 인코더 (20) 는 현재의 PU 에 대한 잔차 예측자를 결정할 수도 있다 (358). 이 예에서, 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시한다. 또한, 이 예에서, 비디오 인코더 (20) 는 현재의 CU 에 대한 최종 잔차 블록을 결정할 수도 있다 (360). 이 예에서, 최종 잔차 블록은, 현재의 CU 에 대한 코딩 블록에서의 샘플들, 현재의 PU 에 대한 예측 블록에서의 샘플들, 및 현재의 PU 에 대한 잔차 예측자에서의 샘플들 사이의 차이들을 표시하는 샘플들을 포함한다. 최종 잔차 블록은 또한, 현재의 CU 에 대한 코딩 블록에서의 샘플들, 현재의 CU 의 하나 이상의 PU 들에 대한 예측 블록들에서의 샘플들, 및 현재의 CU 의 하나 이상의 PU 들에 대한 잔차 예측자들에서의 샘플들 사이의 차이들을 표시하는 샘플들을 포함할 수도 있다. 비디오 인코더 (20) 는 비트스트림에서, 현재의 CU 에 대한 최종 잔차 블록을 나타내는 데이터를 포함할 수도 있다 (362).
도 13 은 이 개시물의 하나 이상의 기법들에 따라, 비디오 디코더 (30) 의 일 예의 동작을 예시하는 플로우차트이다. 도 13 의 예에서, 비디오 디코더 (30) 는 현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 현재의 픽처의 현재의 PU 의 모션 벡터를 스케일링할 수도 있다 (400). 도 13 의 예에서, 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 현재의 액세스 유닛에 있고, 시간적 참조 픽처는 현재의 뷰에 있지만 현재의 액세스 유닛에 있지 않고, 현재의 PU 의 참조 인덱스는 현재의 픽처의 참조 픽처 리스트 내의 시간적 참조 픽처의 위치를 표시한다.
또한, 도 13 의 예에서, 비디오 디코더 (30) 는 현재의 PU 에 대한 예측 블록을 결정한다 (402). 게다가, 비디오 디코더 (30) 는 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션에서의 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정한다 (404). 비디오 디코더 (30) 는 또한, 현재의 PU 의 스케일링된 모션 벡터 및 디스패리티 벡터에 의해 표시된 로케이션에서의 고정된 참조 픽처의 샘플들에 기초하여, 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정한다 (406). 게다가, 비디오 디코더 (30) 는 현재의 PU 에 대한 잔차 예측자를 결정한다 (408). 현재의 PU 에 대한 잔차 예측자의 각각의 샘플은 현재의 PU 에 대한 시간적-디스패리티 참조 블록의 샘플 및 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시할 수도 있다. 도 13 의 예에서, 비디오 디코더 (30) 는 시그널링된 잔차 블록, 현재의 PU 에 대한 잔차 예측자, 및 현재의 PU 에 대한 예측 블록에 기초하여 코딩 블록을 재구성한다 (410).
제 1 예에서, 이 개시물은 비디오 데이터를 디코딩하는 방법을 설명하고, 상기 방법은, 현재의 비디오 유닛에 대해 잔차 예측이 가능하게 되는 것으로 결정하는 것에 응답하여 잔차 예측 프로세스를 수행하는 단계로서, 현재의 비디오 유닛은 현재의 액세스 유닛의 현재의 뷰에 있는 현재의 픽처에 속하고, 상기 잔차 예측 프로세스는, 비트스트림으로부터, 가중화 인자 인덱스를 디코딩하는 단계; 고정된 참조 픽처와, 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처와의 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 비디오 유닛의 모션 벡터를 스케일링하는 단계; 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 스케일링된 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 고정된 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 고정된 참조 픽처의 참조 블록을 결정하는 단계; 참조 비디오 유닛의 샘플 블록 및 고정된 참조 픽처의 참조 블록에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 시그널링된 잔차 블록, 가중화 인자 인덱스, 및 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 잔차 블록을 결정하는 단계를 포함하는, 상기 잔차 예측 프로세스를 수행하는 단계; 및 현재의 비디오 유닛에 대한 잔차 블록 및 현재의 비디오 유닛에 대한 예측 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 샘플 블록을 재구성하는 단계를 포함한다.
또한, 제 1 예에서, 고정된 참조 픽처는 참조 뷰에 있고, 현재의 픽처의 현재의 슬라이스에 대한 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하는 POC 값을 가진다. 이 예에서, 상기 방법은, 참조 비디오 유닛의 참조 픽처 리스트가 고정된 참조 픽처의 POC 값과 일치하는 POC 값을 가지는 참조 픽처를 포함하지 않을 때에 참조 비디오 유닛의 참조 픽처 리스트에서의 제 1 엔트리를 대체하는 단계를 더 포함할 수도 있다.
제 1 예에서, 고정된 참조 픽처는 제 1 고정된 참조 픽처이고, 현재의 비디오 유닛의 참조 인덱스는 현재의 비디오 유닛의 제 1 참조 인덱스이고, 현재의 비디오 유닛의 모션 벡터는 현재의 비디오 유닛의 제 1 모션 벡터이고, 제 1 고정된 참조 픽처의 POC 값은 현재의 픽처의 현재의 슬라이스에 대한 제 1 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고, 제 2 고정된 참조 픽처의 POC 값은 현재의 슬라이스에 대한 제 2 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고, 상기 방법은, 제 2 고정된 참조 픽처와, 현재의 비디오 유닛의 제 2 참조 인덱스에 의해 표시된 참조 픽처와의 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 비디오 유닛의 제 2 모션 벡터를 스케일링하는 단계; 및 스케일링된 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 제 2 고정된 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 제 2 고정된 참조 픽처의 참조 블록을 결정하는 단계를 더 포함하고, 상기 잔차 예측자 블록을 결정하는 단계는, 제 1 고정된 참조 픽처의 참조 블록 및 제 2 고정된 참조 픽처의 참조 블록에 적어도 부분적으로 기초하여, 조합된 참조 블록을 결정하는 단계; 및 참조 비디오 유닛의 샘플 블록 및 조합된 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계를 포함한다.
제 1 예에서, 고정된 참조 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 제 1 엔트리에 대응할 수도 있다. 또한, 제 1 예에서, 고정된 참조 픽처의 POC 값은 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 임의의 다른 참조 픽처들의 POC 값들보다 현재의 픽처의 POC 값에 더 근접할 수도 있다. 게다가, 제 1 예에서, 고정된 참조 픽처의 POC 값은, 참조 뷰에 속하며 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에 있는 임의의 다른 참조 픽처들의 POC 값들보다 현재의 픽처의 POC 값에 더 근접할 수도 있다. 또한, 제 1 예에서, 고정된 참조 픽처의 시간적 식별자는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮을 수도 있다. 또한, 제 1 예에서, 고정된 참조 픽처의 시간적 식별자는, 참조 뷰에 속하며 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에 있는 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮다. 또한, 제 1 예에서, 고정된 참조 픽처의 양자화 파라미터는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮을 수도 있다. 또한, 제 1 예에서, 고정된 참조 픽처의 양자화 파라미터는, 참조 뷰에 속하며 현재의 픽처의 참조 픽처 리스트에 있는 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮을 수도 있다. 또한, 제 1 예에서, 상기 방법은, 현재의 비디오 유닛에 대한 디스패리티 벡터를 결정하기 위한 NBDV 유도 프로세스를 수행하는 단계를 더 포함할 수도 있고, 고정된 참조 픽처는 NBDV 유도 프로세스에서 이용된 제 1 또는 제 2 후보 픽처이다. 또한, 제 1 예에서, 고정된 참조 픽처는 슬라이스 헤더, 픽처 파라미터 세트, 또는 비디오 파라미터 세트에서 시그널링될 수도 있다. 또한, 제 1 예에서, 상기 방법은, 현재의 비디오 유닛에 대한 스케일링된 모션 벡터에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 예측 블록을 결정하는 단계를 더 포함할 수도 있다. 또한, 제 1 예에서, 상기 방법은, 모션 벡터를 스케일링한 후에, 현재의 비디오 유닛의 모션 벡터를 정수 정밀도로 라운딩하는 단계를 더 포함할 수도 있고; 그리고 고정된 참조 픽처의 참조 블록을 결정하는 단계는, 라운딩된 스케일링된 모션 벡터와, 참조 비디오 유닛의 샘플 블록의 위치에 기초하여, 고정된 참조 픽처의 참조 블록을 결정하는 단계를 포함할 수도 있다. 또한, 제 1 예에서, 현재의 비디오 유닛의 모션 벡터는 서브-픽셀 정밀도 (sub-pixel precision) 를 가질 수도 있고, 고정된 참조 픽처의 참조 블록을 결정하는 단계는 고정된 참조 픽처의 참조 블록을 생성하기 위하여 이중-선형 보간 필터를 적용하는 단계를 포함할 수도 있고, 상기 방법은, 현재의 비디오 유닛에 대한 예측 블록을 생성하기 위하여, 이중-선형 보간 필터를, 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처의 샘플들에 적용하는 단계를 더 포함할 수도 있다. 또한, 제 1 예에서, 잔차 예측 프로세스는 현재의 비디오 유닛의 크로마 블록이 아니라, 현재의 비디오 유닛의 루마 블록에 대해 가능하게 될 수도 있다. 또한, 제 1 예에서, 잔차 예측 프로세스는 현재의 비디오 유닛의 루마 블록이 아니라, 현재의 비디오 유닛의 크로마 블록에 대해 가능하게 될 수도 있다. 또한, 제 1 예에서, 상기 방법은, 현재의 비디오 유닛에 대한 병합 후보 리스트를 생성하는 단계로서, 병합 후보 리스트는 하나 이상의 병합 후보들을 포함하고, 하나 이상의 병합 후보들의 각각은 모션 벡터, 참조 인덱스 및 가중화 인자 인덱스를 포함하는, 상기 병합 후보 리스트를 생성하는 단계; 및 병합 후보 리스트로부터 선택된 병합 후보를 결정하는 단계로서, 선택된 병합 후보의 모션 벡터는 현재의 비디오 유닛의 모션 벡터이고 선택된 병합 후보의 참조 인덱스는 현재의 비디오 유닛의 참조 인덱스인, 상기 선택된 병합 후보를 결정하는 단계를 더 포함할 수도 있고, 잔차 예측자 블록을 결정하는 단계는, 참조 비디오 유닛의 샘플 블록 및 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여 잔차 예측자 블록을 결정하는 단계; 및 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 선택된 병합 후보의 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계를 포함할 수도 있다. 또한, 제 1 예에서, 현재의 비디오 유닛은 현재의 CU 의 현재의 PU 일 수도 있고, 상기 방법은, 현재의 PU 가 병합 모드를 이용하여 코딩되고, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝될 때, 비트스트림으로부터, 현재의 PU 에 대한 가중화 인자 인덱스를 디코딩하는 단계; 및 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계를 더 포함할 수도 있고, 현재의 PU 가 병합 모드를 이용하여 코딩되지 않거나, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝되지 않을 때, 잔차 예측자 블록이 아니라, 현재의 PU 에 대한 시그널링된 잔차 블록에 기초하여 현재의 PU 에 대한 잔차 블록을 결정하는 단계를 더 포함할 수도 있다. 또한, 제 1 예에서, 고정된 참조 픽처는 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처의 슬라이스의 참조 픽처 리스트에서의 참조 픽처일 수도 있고, 고정된 참조 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 배정된 픽처와 동일한 POC 값을 가지고, 배정된 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 최소 참조 픽처 인덱스를 가지는 시간적 참조 픽처이다. 또한, 제 1 예에서, 현재의 뷰의 배정된 픽처와 동일한 액세스 유닛 내의 픽처가 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처의 참조 픽처 리스트에서 존재하지 않을 때, 고정된 참조 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 시간적 참조 픽처일 수도 있다. 또한, 제 1 예의 방법은 스케일러블 비디오 코딩에 적용될 수도 있으며, 여기서, 뷰는 계층으로서 취급되고 디스패리티 벡터는 제로 모션 벡터로서 취급된다. 또한, 하나 이상의 프로세서들을 포함하는 비디오 디코딩 디바이스는 제 1 예의 방법들 중의 임의의 것을 수행하도록 구성될 수도 있다. 또한, 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 1 예의 방법들 중의 임의의 것을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 2 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행하고, 상기 방법은, 현재의 비디오 유닛에 대해 잔차 예측이 가능하게 되는 것으로 결정하는 것에 응답하여 잔차 예측 프로세스를 수행하는 단계로서, 현재의 비디오 유닛은 현재의 액세스 유닛의 현재의 뷰에 있는 현재의 픽처에 속하고, 상기 잔차 예측 프로세스는, 고정된 참조 픽처와, 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처와의 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 비디오 유닛의 모션 벡터를 스케일링하는 단계; 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 스케일링된 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 고정된 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 고정된 참조 픽처의 참조 블록을 결정하는 단계; 참조 비디오 유닛의 샘플 블록 및 고정된 참조 픽처의 참조 블록에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 샘플 블록 및 현재-뷰 참조 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 초기 잔차 블록을 결정하는 단계로서, 현재-뷰 참조 블록은 현재의 비디오 유닛의 모션 벡터에 의해 표시된 로케이션에서, 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처에서의 샘플들에 기초하는, 상기 초기 잔차 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 초기 잔차 블록 및 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 비디오 유닛에 대한 최종 잔차 블록을 시그널링하는 단계를 포함한다. 또한, 제 2 예에서, 고정된 참조 픽처는 참조 뷰에 있을 수도 있고, 현재의 픽처의 현재의 슬라이스에 대한 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하는 POC 값을 가질 수도 있다. 또한, 제 2 예에서, 상기 방법은, 참조 비디오 유닛의 참조 픽처 리스트가 고정된 참조 픽처의 POC 값과 일치하는 POC 값을 가지는 참조 픽처를 포함하지 않을 때에 참조 비디오 유닛의 참조 픽처 리스트에서의 제 1 엔트리를 대체하는 단계를 더 포함할 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처는 제 1 고정된 참조 픽처일 수도 있고, 현재의 비디오 유닛의 참조 인덱스는 현재의 비디오 유닛의 제 1 참조 인덱스일 수도 있고, 현재의 비디오 유닛의 모션 벡터는 현재의 비디오 유닛의 제 1 모션 벡터이고, 제 1 고정된 참조 픽처의 POC 값은 현재의 픽처의 현재의 슬라이스에 대한 제 1 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치할 수도 있고, 제 2 고정된 참조 픽처의 POC 값은 현재의 슬라이스에 대한 제 2 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치할 수도 있고, 상기 방법은, 제 2 고정된 참조 픽처와, 현재의 비디오 유닛의 제 2 참조 인덱스에 의해 표시된 참조 픽처와의 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 비디오 유닛의 제 2 모션 벡터를 스케일링하는 단계; 및 스케일링된 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 제 2 고정된 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 제 2 고정된 참조 픽처의 참조 블록을 결정하는 단계를 더 포함할 수도 있고, 상기 잔차 예측자 블록을 결정하는 단계는, 제 1 고정된 참조 픽처의 참조 블록 및 제 2 고정된 참조 픽처의 참조 블록에 적어도 부분적으로 기초하여, 조합된 참조 블록을 결정하는 단계; 및 참조 비디오 유닛의 샘플 블록 및 조합된 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계를 포함한다. 또한, 제 2 예에서, 고정된 참조 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 제 1 엔트리에 대응할 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처의 POC 값은 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 임의의 다른 참조 픽처들의 POC 값들보다 현재의 픽처의 POC 값에 더 근접할 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처의 POC 값은, 참조 뷰에 속하며 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에 있는 임의의 다른 참조 픽처들의 POC 값들보다 현재의 픽처의 POC 값에 더 근접할 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처의 시간적 식별자는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮을 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처의 시간적 식별자는, 참조 뷰에 속하며 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에 있는 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮을 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처의 양자화 파라미터는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮을 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처의 양자화 파라미터는, 참조 뷰에 속하며 현재의 픽처의 참조 픽처 리스트에 있는 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮을 수도 있다. 또한, 제 2 예에서, 상기 방법은, 현재의 비디오 유닛에 대한 디스패리티 벡터를 결정하기 위한 NBDV 유도 프로세스를 수행하는 단계를 더 포함할 수도 있고, 고정된 참조 픽처는 NBDV 유도 프로세스에서 이용된 제 1 또는 제 2 후보 픽처이다. 또한, 제 2 예에서, 고정된 참조 픽처는 슬라이스 헤더, 픽처 파라미터 세트, 또는 비디오 파라미터 세트에서 시그널링될 수도 있다. 또한, 제 2 예에서, 상기 방법은, 현재의 비디오 유닛에 대한 스케일링된 모션 벡터에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 예측 블록을 결정하는 단계를 더 포함할 수도 있다. 또한, 제 2 예에서, 상기 방법은, 모션 벡터를 스케일링한 후에, 현재의 비디오 유닛의 모션 벡터를 정수 정밀도로 라운딩하는 단계를 더 포함할 수도 있고; 그리고 고정된 참조 픽처의 참조 블록을 결정하는 단계는, 라운딩된 스케일링된 모션 벡터와, 참조 비디오 유닛의 샘플 블록의 위치에 기초하여, 고정된 참조 픽처의 참조 블록을 결정하는 단계를 포함한다. 또한, 제 2 예에서, 현재의 비디오 유닛의 모션 벡터는 서브-픽셀 정밀도를 가질 수도 있고, 고정된 참조 픽처의 참조 블록을 결정하는 단계는 고정된 참조 픽처의 참조 블록을 생성하기 위하여 이중-선형 보간 필터를 적용하는 단계를 포함할 수도 있고, 상기 방법은, 현재의 비디오 유닛에 대한 예측 블록을 생성하기 위하여, 이중-선형 보간 필터를, 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처의 샘플들에 적용하는 단계를 더 포함할 수도 있다. 또한, 제 2 예에서, 잔차 예측 프로세스는 현재의 비디오 유닛의 크로마 블록이 아니라, 현재의 비디오 유닛의 루마 블록에 대해 가능하게 될 수도 있다. 또한, 제 2 예에서, 잔차 예측 프로세스는 현재의 비디오 유닛의 루마 블록이 아니라, 현재의 비디오 유닛의 크로마 블록에 대해 가능하게 될 수도 있다. 또한, 제 2 예에서, 상기 방법은, 현재의 비디오 유닛에 대한 병합 후보 리스트를 생성하는 단계로서, 병합 후보 리스트는 하나 이상의 병합 후보들을 포함하고, 하나 이상의 병합 후보들의 각각은 모션 벡터, 참조 인덱스 및 가중화 인자 인덱스를 포함하는, 상기 병합 후보 리스트를 생성하는 단계; 및 병합 후보 리스트로부터 병합 후보를 선택하는 단계로서, 선택된 병합 후보의 모션 벡터는 현재의 비디오 유닛의 모션 벡터이고 선택된 병합 후보의 참조 인덱스는 현재의 비디오 유닛의 참조 인덱스인, 상기 선택된 병합 후보를 결정하는 단계를 더 포함할 수도 있고, 잔차 예측자 블록을 결정하는 단계는, 참조 비디오 유닛의 샘플 블록 및 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여 잔차 예측자 블록을 결정하는 단계; 및 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 선택된 병합 후보의 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계를 포함한다. 또한, 제 2 예에서, 현재의 비디오 유닛은 현재의 CU 의 현재의 PU 일 수도 있고, 상기 방법은, 현재의 PU 가 병합 모드를 이용하여 코딩되고, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝될 때, 비트스트림에서, 현재의 PU 에 대한 가중화 인자 인덱스를 포함하는 단계; 및 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계를 더 포함할 수도 있고, 현재의 PU 가 병합 모드를 이용하여 코딩되지 않거나, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝되지 않을 때, 잔차 예측자 블록이 아니라, 현재의 PU 에 대한 시그널링된 잔차 블록에 기초하여 현재의 PU 에 대한 잔차 블록을 결정하는 단계를 더 포함할 수도 있다. 또한, 제 2 예에서, 고정된 참조 픽처는 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처의 슬라이스의 참조 픽처 리스트에서의 참조 픽처일 수도 있고, 고정된 참조 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 배정된 픽처와 동일한 POC 값을 가질 수도 있고, 배정된 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 최소 참조 픽처 인덱스를 가지는 시간적 참조 픽처일 수도 있다. 또한, 제 2 예에서, 현재의 뷰의 배정된 픽처와 동일한 액세스 유닛 내의 픽처가 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처의 참조 픽처 리스트에서 존재하지 않을 때, 고정된 참조 픽처는 현재의 픽처의 현재의 슬라이스의 참조 픽처 리스트에서의 시간적 참조 픽처일 수도 있다. 비디오 인코딩 디바이스는 제 2 예의 방법들 중의 임의의 것을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 2 예의 방법들 중의 임의의 것을 수행하도록 비디오 인코딩 디바이스를 구성한다.
제 3 예에서, 비디오 디코더는 비디오 데이터를 디코딩하는 방법을 수행할 수도 있고, 상기 방법은, SVC 비트스트림으로부터, 비트스트림의 현재의 계층에서의 현재의 PU 에 대한 가중화 인자 인덱스를 디코딩하는 단계; 참조 PU 를 결정하는 단계로서, 참조 PU 는 현재의 PU 와 동일한 시간 인스턴스에, 그리고 비트스트림의 참조 계층에 있는, 상기 참조 PU 를 결정하는 단계; 현재의 PU 의 모션 벡터, 참조 PU 의 샘플 블록의 위치, 및 참조 계층 픽처의 샘플들에 기초하여, 참조 계층 픽처의 참조 블록을 결정하는 단계로서, 참조 계층 픽처는 참조 계층에, 그리고 현재의 PU 또는 참조 PU 와는 상이한 시간 인스턴스에 있는, 상기 참조 블록을 결정하는 단계; 참조 PU 의 샘플 블록 및 참조 계층 픽처의 참조 블록에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 및 현재의 PU 에 대한 시그널링된 잔차 블록, 현재의 PU 에 대한 예측 블록, 가중화 인자 인덱스와 연관된 가중화 인자, 및 잔차 예측자 블록에 기초하여, 현재의 PU 에 대한 재구성된 샘플 블록을 생성하는 단계를 포함한다. 비디오 디코딩 디바이스는 제 3 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 또한, 비디오 디코딩 디바이스는 제 3 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 3 예의 방법을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 4 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행할 수도 있고, 상기 방법은, SVC 비트스트림에서, 비트스트림의 현재의 계층에서의 현재의 PU 에 대한 가중화 인자 인덱스를 시그널링하는 단계; 참조 PU 를 결정하는 단계로서, 참조 PU 는 현재의 PU 와 동일한 시간 인스턴스에, 그리고 비트스트림의 참조 계층에 있는, 상기 참조 PU 를 결정하는 단계; 현재의 PU 의 모션 벡터, 참조 PU 의 위치, 및 참조 계층 픽처의 샘플에 기초하여, 참조 계층 픽처의 참조 블록을 결정하는 단계로서, 참조 계층 픽처는 참조 계층에, 그리고 현재의 PU 또는 참조 PU 와는 상이한 시간 인스턴스에 있는, 상기 참조 블록을 결정하는 단계; 참조 PU 의 샘플 블록 및 참조 계층 픽처의 참조 블록에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 PU 에 대한 샘플 블록 및 현재-뷰 참조 블록에 적어도 부분적으로 기초하여, 현재의 PU 에 대한 초기 잔차 블록을 결정하는 단계로서, 현재-뷰 참조 블록은 현재의 PU 의 모션 벡터에 의해 표시된 로케이션에서, 현재의 PU 의 참조 인덱스에 의해 표시된 참조 픽처에서의 샘플들에 기초하는, 상기 초기 잔차 블록을 결정하는 단계; 현재의 PU 에 대한 초기 잔차 블록, 현재의 PU 에 대한 예측 블록, 가중화 인자 인덱스와 연관된 가중화 인자, 및 잔차 예측자 블록에 기초하여, 현재의 PU 에 대한 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 PU 에 대한 최종 잔차 블록을 시그널링하는 단계를 포함한다. 비디오 디코딩 디바이스는 제 4 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 인코딩 디바이스는 제 4 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 제 5 예에서, 컴퓨터-판독가능한 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 4 예의 방법을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 6 예에서, 비디오 디코더는 비디오 데이터를 디코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처에 속하는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터를 서브-펠 (sub-pel) 정밀도로부터 정수-펠 (integer-pel) 정밀도로 라운딩하는 단계; 라운딩된 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 참조 액세스 유닛의 참조 뷰에서의 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 참조 블록을 결정하는 단계; 참조 비디오 유닛의 샘플 블록 및 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 시그널링된 잔차 블록 및 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 잔차 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 잔차 블록 및 현재의 비디오 유닛에 대한 예측 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 샘플 블록을 재구성하는 단계를 포함한다. 또한, 제 6 예에서, 상기 방법은 현재의 비디오 유닛의 디스패리티 벡터를 서브-펠 정밀도로부터 정수-펠 정밀도로 라운딩하는 단계를 더 포함할 수도 있다. 또한, 제 6 예에서, 참조 픽처는 제 1 참조 픽처일 수도 있고, 상기 방법은, 라운딩된 모션 벡터, 현재의 비디오 유닛의 샘플 블록의 위치, 및 제 2 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 예측 블록을 결정하는 단계로서, 현재의 비디오 유닛의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 예측 블록을 결정하는 단계를 더 포함할 수도 있다. 또한, 제 6 예에서, 참조 픽처는 제 1 참조 픽처일 수도 있고, 현재의 비디오 유닛의 모션 벡터를 라운딩하기 이전에, 모션 벡터는 서브-펠 모션 벡터일 수도 있고, 상기 방법은, 서브-펠 모션 벡터, 현재의 비디오 유닛의 샘플 블록의 위치, 및 제 2 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 예측 블록을 결정하는 단계로서, 현재의 비디오 유닛의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 예측 블록을 결정하는 단계를 더 포함할 수도 있다. 또한, 제 6 예에서, 라운딩된 모션 벡터의 수평 컴포넌트는 ( mv[0] >> 2 ) << 2 와 동일할 수도 있고, 라운딩된 모션 벡터의 수직 컴포넌트는 ( mv[1] >> 2 ) << 2 와 동일할 수도 있고, 여기서, mv[0] 는 라운딩 이전의 모션 벡터의 수평 컴포넌트를 나타내고, mv[1] 은 라운딩 이전의 모션 벡터의 수직 컴포넌트를 나타낸다. 또한, 제 6 예에서, 라운딩된 모션 벡터의 수평 컴포넌트는 (( mv[0] + 2 ) >> 2) << 2 와 동일할 수도 있고, 라운딩된 모션 벡터의 수직 컴포넌트는 (( mv[1] + 2 ) >> 2 ) << 2 와 동일하고, 여기서, mv[0] 는 라운딩 이전의 모션 벡터의 수평 컴포넌트를 나타내고, mv[1] 은 라운딩 이전의 모션 벡터의 수직 컴포넌트를 나타낸다. 또한, 제 6 예에서, 라운딩된 모션 벡터의 수평 컴포넌트는 (( mv[0] + sign( mv[0] ) * 2 ) >> 2) << 2 와 동일할 수도 있고, 라운딩된 모션 벡터의 수직 컴포넌트는 (( mv[1] + sign( mv[1] ) * 2 ) >> 2) << 2 와 동일할 수도 있고, 여기서, mv[0] 는 라운딩 이전의 모션 벡터의 수평 컴포넌트를 나타내고, mv[1] 은 라운딩 이전의 모션 벡터의 수직 컴포넌트를 나타내고, sign( ) 는 함수의 파라미터가 0 이상일 경우에 1 을 반환하고 이와 다를 경우에는 0 을 반환하는 함수이다. 비디오 디코딩 디바이스는 제 6 예의 방법들 중의 임의의 것을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 디코딩 디바이스는 제 6 예의 방법들 중의 임의의 것을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 6 예의 방법들 중의 임의의 것을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 7 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처에 속하는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터를 서브-펠 정밀도로부터 정수-펠 정밀도로 라운딩하는 단계; 라운딩된 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 참조 액세스 유닛의 참조 뷰에서의 제 1 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 제 1 참조 블록을 결정하는 단계; 참조 비디오 유닛의 샘플 블록 및 제 1 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터 및 제 2 참조 픽처 내의 샘플들에 적어도 부분적으로 기초하여, 제 2 참조 블록을 결정하는 단계로서, 현재의 비디오 유닛의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 제 2 참조 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 샘플 블록 및 제 2 참조 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 초기 잔차 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 초기 잔차 블록 및 잔차 예측자 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 비디오 유닛에 대한 최종 잔차 블록을 시그널링하는 단계를 포함한다. 또한, 제 7 예에서, 상기 방법은 현재의 비디오 유닛의 디스패리티 벡터를 서브-펠 정밀도로부터 정수-펠 정밀도로 라운딩하는 단계를 더 포함할 수도 있다. 또한, 제 7 예에서, 제 2 참조 블록을 결정하는 단계는, 라운딩된 모션 벡터 및 제 2 참조 픽처 내의 샘플들에 적어도 부분적으로 기초하여, 제 2 참조 블록을 결정하는 단계를 포함할 수도 있다. 또한, 제 7 예에서, 현재의 비디오 유닛의 모션 벡터를 라운딩하기 이전에, 모션 벡터는 서브-펠 모션 벡터일 수도 있고, 제 2 참조 블록을 결정하는 단계는, 서브-펠 모션 벡터 및 제 2 참조 픽처 내의 샘플들에 적어도 부분적으로 기초하여, 제 2 참조 블록을 결정하는 단계를 포함할 수도 있다. 또한, 제 7 예에서, 라운딩된 모션 벡터의 수평 컴포넌트는 ( mv[0] >> 2 ) << 2 와 동일할 수도 있고, 라운딩된 모션 벡터의 수직 컴포넌트는 ( mv[1] >> 2 ) << 2 와 동일할 수도 있고, 여기서, mv[0] 는 라운딩 이전의 모션 벡터의 수평 컴포넌트를 나타내고, mv[1] 은 라운딩 이전의 모션 벡터의 수직 컴포넌트를 나타낸다. 또한, 제 7 예에서, 라운딩된 모션 벡터의 수평 컴포넌트는 (( mv[0] + 2 ) >> 2) << 2 와 동일할 수도 있고, 라운딩된 모션 벡터의 수직 컴포넌트는 (( mv[1] + 2 ) >> 2 ) << 2 와 동일할 수도 있고, 여기서, mv[0] 는 라운딩 이전의 모션 벡터의 수평 컴포넌트를 나타내고, mv[1] 은 라운딩 이전의 모션 벡터의 수직 컴포넌트를 나타낸다. 또한, 제 7 예에서, 라운딩된 모션 벡터의 수평 컴포넌트는 (( mv[0] + sign( mv[0] ) * 2 ) >> 2) << 2 와 동일할 수도 있고, 라운딩된 모션 벡터의 수직 컴포넌트는 (( mv[1] + sign( mv[1] ) * 2 ) >> 2) << 2 와 동일할 수도 있고, 여기서, mv[0] 는 라운딩 이전의 모션 벡터의 수평 컴포넌트를 나타내고, mv[1] 은 라운딩 이전의 모션 벡터의 수직 컴포넌트를 나타내고, sign( ) 는 함수의 파라미터가 0 이상일 경우에 1 을 반환하고 이와 다를 경우에는 0 을 반환하는 함수이다. 하나 이상의 프로세서들을 포함하는 비디오 인코딩 디바이스는 제 7 예의 방법들 중의 임의의 것을 수행하도록 구성될 수도 있다. 비디오 인코딩 디바이스는 제 7 예의 방법들 중의 임의의 것을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 7 예의 방법들 중의 임의의 것을 수행하도록 비디오 인코딩 디바이스를 구성한다.
제 8 예에서, 비디오 디코더는 비디오 데이터를 디코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처에 속하는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계로서, 현재의 비디오 유닛의 모션 벡터는 서브-펠 정밀도를 가지는 상기 참조 비디오 유닛을 결정하는 단계; 참조 픽처 내의 영역에 대응하는 참조 블록을 생성하기 위하여 이중-선형 보간 필터를 참조 픽처의 샘플들에 적용하는 단계로서, 참조 픽처는 참조 액세스 유닛의 참조 뷰에 있고 모션 벡터는 참조 비디오 유닛의 샘플 블록 및 참조 픽처 내의 영역 사이의 공간적 변위를 표시하는, 상기 이중-선형 보간 필터를 참조 픽처의 샘플들에 적용하는 단계; 참조 비디오 유닛의 샘플 블록 및 참조 블록에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 시그널링된 잔차 블록 및 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 최종 잔차 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 최종 잔차 블록 및 현재의 비디오 유닛에 대한 예측 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 샘플 블록을 재구성하는 단계를 포함한다. 하나 이상의 프로세서들을 포함하는 비디오 디코딩 디바이스는 제 8 예의 방법을 수행하도록 구성될 수도 있다. 비디오 디코딩 디바이스는 제 8 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 8 예의 방법을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 9 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처에 속하는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계로서, 현재의 비디오 유닛의 모션 벡터는 서브-펠 정밀도를 가지는, 상기 참조 비디오 유닛을 결정하는 단계; 제 1 참조 블록을 생성하기 위하여 이중-선형 보간 필터를 참조 픽처의 샘플들에 적용하는 단계로서, 제 1 참조 블록은 참조 픽처 내의 영역에 대응하고, 참조 픽처는 참조 액세스 유닛의 참조 뷰에 있고, 모션 벡터는 참조 비디오 유닛의 샘플 블록 및 참조 픽처 내의 영역 사이의 공간적 변위를 표시하는, 상기 이중-선형 보간 필터를 참조 픽처의 샘플들에 적용하는 단계; 참조 비디오 유닛의 샘플 블록 및 제 1 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터 및 제 2 참조 픽처 내의 샘플들에 적어도 부분적으로 기초하여, 제 2 참조 블록을 결정하는 단계로서, 현재의 비디오 유닛의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 제 2 참조 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 샘플 블록 및 제 2 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 초기 잔차 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 초기 잔차 블록 및 잔차 예측자 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛의 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 비디오 유닛에 대한 최종 잔차 블록을 시그널링하는 단계를 포함한다. 비디오 인코딩 디바이스는 제 9 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 인코딩 디바이스는 제 9 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 9 예의 방법을 수행하도록 비디오 인코딩 디바이스를 구성한다.
제 10 예에서, 비디오 디코더는 비디오 데이터를 디코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 비디오 유닛의 크로마 블록이 아니라, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처에 속하는 현재의 비디오 유닛의 루마 블록에 대해 잔차 예측 프로세스를 수행하는 단계로서, 현재의 비디오 유닛은 현재의 액세스 유닛의 현재의 뷰에 있는 현재의 픽처에 속하는, 상기 잔차 예측 프로세스를 수행하는 단계를 포함하고, 상기 잔차 예측 프로세스는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터, 참조 비디오 유닛의 루마 샘플 블록의 위치, 및 참조 픽처의 루마 샘플들에 적어도 부분적으로 기초하여, 루마 참조 블록을 결정하는 단계; 참조 비디오 유닛의 루마 샘플 블록 및 참조 픽처의 루마 참조 블록에 적어도 부분적으로 기초하여, 루마 잔차 예측자 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 시그널링된 루마 잔차 블록 및 루마 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 루마 잔차 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 루마 잔차 블록 및 현재의 비디오 유닛에 대한 루마 예측 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 루마 샘플 블록을 재구성하는 단계를 포함한다. 비디오 디코딩 디바이스는 제 10 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 인코딩 디바이스는 제 10 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 10 예의 방법을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 11 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 비디오 유닛의 크로마 블록이 아니라, 현재의 비디오 유닛의 루마 블록에 대한 잔차 예측 프로세스를 수행하는 단계로서, 현재의 비디오 유닛은 현재의 액세스 유닛의 현재의 뷰에 있는 현재의 픽처에 속하는, 상기 잔차 예측 프로세스를 수행하는 단계를 포함하고, 상기 잔차 예측 프로세스는, 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터, 참조 비디오 유닛의 루마 샘플 블록의 위치, 및 참조 픽처의 루마 샘플들에 적어도 부분적으로 기초하여, 제 1 루마 참조 블록을 결정하는 단계; 참조 비디오 유닛의 루마 샘플 블록 및 제 1 루마 참조 블록에 적어도 부분적으로 기초하여, 루마 잔차 예측자 블록을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터 및 제 2 참조 픽처 내의 루마 샘플들에 적어도 부분적으로 기초하여, 제 2 루마 참조 블록을 결정하는 단계로서, 현재의 비디오 유닛의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 제 2 루마 참조 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 루마 샘플 블록 및 제 2 루마 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 초기 루마 잔차 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 초기 루마 잔차 블록 및 루마 잔차 예측자 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 최종 루마 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 비디오 유닛에 대한 최종 루마 잔차 블록을 시그널링하는 단계를 포함한다. 비디오 인코딩 디바이스는 제 11 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 인코딩 디바이스는 제 11 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 11 예의 방법을 수행하도록 비디오 인코딩 디바이스를 구성한다.
제 12 예에서, 비디오 디코더는 비디오 데이터를 디코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 비디오 유닛의 루마 블록이 아니라, 현재의 비디오 유닛의 크로마 블록에 대해 잔차 예측 프로세스를 수행하는 단계로서, 현재의 비디오 유닛은 현재의 액세스 유닛의 현재의 뷰에 있는 현재의 픽처에 속하는, 상기 잔차 예측 프로세스를 수행하는 단계를 포함하고, 상기 잔차 예측 프로세스는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터, 참조 비디오 유닛의 루마 샘플 블록의 위치, 및 참조 픽처의 크로마 샘플들에 적어도 부분적으로 기초하여, 크로마 참조 블록을 결정하는 단계; 참조 비디오 유닛의 크로마 샘플 블록 및 크로마 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 크로마 잔차 예측자 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 시그널링된 크로마 잔차 블록 및 크로마 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 크로마 잔차 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 크로마 잔차 블록 및 현재의 비디오 유닛에 대한 크로마 예측 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 크로마 샘플 블록을 재구성하는 단계를 포함한다. 비디오 디코딩 디바이스는 제 12 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 디코딩 디바이스는 제 12 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 12 예의 방법을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 13 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 비디오 유닛의 루마 블록이 아니라, 현재의 비디오 유닛의 크로마 블록에 대한 잔차 예측 프로세스를 수행하는 단계로서, 현재의 비디오 유닛은 현재의 액세스 유닛의 현재의 뷰에 있는 현재의 픽처에 속하는, 상기 잔차 예측 프로세스를 수행하는 단계를 포함하고, 상기 잔차 예측 프로세스는, 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터, 참조 비디오 유닛의 루마 샘플 블록의 위치, 및 참조 픽처의 크로마 샘플들에 적어도 부분적으로 기초하여, 제 1 크로마 참조 블록을 결정하는 단계; 참조 비디오 유닛의 크로마 샘플 블록 및 제 1 크로마 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 크로마 잔차 예측자 블록을 결정하는 단계; 현재의 비디오 유닛의 모션 벡터 및 제 2 참조 픽처 내의 크로마 샘플들에 적어도 부분적으로 기초하여, 제 2 크로마 참조 블록을 결정하는 단계로서, 현재의 비디오 유닛의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 제 2 루마 참조 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 크로마 샘플 블록 및 제 2 크로마 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 초기 크로마 잔차 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 초기 크로마 잔차 블록 및 크로마 잔차 예측자 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 최종 크로마 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 비디오 유닛에 대한 최종 크로마 잔차 블록을 시그널링하는 단계를 포함한다. 비디오 인코딩 디바이스는 제 13 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 인코딩 디바이스는 제 13 예의 방법을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 13 예의 방법을 수행하도록 비디오 인코딩 디바이스를 구성한다.
제 14 예에서, 비디오 디코더는 비디오 데이터를 디코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처에 속하는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛에 대한 병합 후보 리스트를 생성하는 단계로서, 병합 후보 리스트는 하나 이상의 병합 후보들을 포함하고, 하나 이상의 병합 후보들의 각각은 모션 벡터, 참조 인덱스 및 가중화 인자 인덱스를 포함하는, 상기 병합 후보 리스트를 생성하는 단계; 병합 후보 리스트로부터 선택된 병합 후보를 결정하는 단계로서, 선택된 병합 후보의 모션 벡터는 현재의 비디오 유닛의 모션 벡터이고, 선택된 병합 후보의 참조 인덱스는 현재의 비디오 유닛의 참조 인덱스인, 상기 선택된 병합 후보를 결정하는 단계; 현재의 비디오 유닛의 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 참조 블록을 결정하는 단계; 참조 비디오 유닛의 샘플 블록 및 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 선택된 병합 후보의 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계; 현재의 비디오 유닛에 대한 시그널링된 잔차 블록 및 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 잔차 블록을 결정하는 단계; 및 현재의 비디오 유닛에 대한 잔차 블록 및 현재의 비디오 유닛에 대한 예측 블록에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 샘플 블록을 재구성하는 단계를 포함한다. 또한, 제 14 예에서, 참조 픽처는 고정된 참조 픽처일 수도 있고, 상기 방법은, 고정된 참조 픽처와, 현재의 비디오 유닛의 참조 인덱스에 의해 표시된 참조 픽처와의 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 비디오 유닛의 모션 벡터를 스케일링하는 단계를 더 포함할 수도 있다. 또한, 제 14 예에서, 상기 방법은 현재의 비디오 유닛의 모션 벡터를 서브-펠 정밀도로부터 정수-펠 정밀도로 라운딩하는 단계를 더 포함할 수도 있다. 비디오 디코딩 디바이스는 제 14 예의 방법들 중의 임의의 것을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 디코딩 디바이스는 제 14 예의 방법들 중의 임의의 것을 수행하기 위한 수단을 포함할 수도 있다.
제 15 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처에 속하는 현재의 비디오 유닛의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 비디오 유닛을 결정하는 단계; 현재의 비디오 유닛에 대한 병합 후보 리스트를 생성하는 단계로서, 병합 후보 리스트는 하나 이상의 병합 후보들을 포함하고, 하나 이상의 병합 후보들의 각각은 모션 벡터, 참조 인덱스 및 가중화 인자 인덱스를 포함하는, 상기 병합 후보 리스트를 생성하는 단계; 병합 후보 리스트로부터 선택된 병합 후보를 결정하는 단계로서, 선택된 병합 후보의 모션 벡터는 현재의 비디오 유닛의 모션 벡터이고, 선택된 병합 후보의 참조 인덱스는 현재의 비디오 유닛의 참조 인덱스인, 상기 선택된 병합 후보를 결정하는 단계; 현재의 비디오 유닛의 모션 벡터, 참조 비디오 유닛의 샘플 블록의 위치, 및 제 1 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 제 1 참조 블록을 결정하는 단계; 참조 비디오 유닛의 샘플 블록 및 제 1 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 선택된 병합 후보의 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계; 현재의 비디오 유닛의 모션 벡터 및 제 2 참조 픽처 내의 샘플들에 적어도 부분적으로 기초하여, 제 2 참조 블록을 결정하는 단계로서, 현재의 비디오 유닛의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 제 2 참조 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 샘플 블록 및 제 2 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 초기 잔차 블록을 결정하는 단계; 현재의 비디오 유닛에 대한 초기 잔차 블록 및 잔차 예측자 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 비디오 유닛에 대한 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 현재의 비디오 유닛에 대한 최종 잔차 블록을 시그널링하는 단계를 포함한다. 또한, 제 15 예에서, 제 1 참조 픽처는 고정된 참조 픽처일 수도 있고, 상기 방법은, 고정된 참조 픽처 및 제 2 참조 픽처와의 사이의 시간적 차이에 적어도 부분적으로 기초하여, 현재의 비디오 유닛의 모션 벡터를 스케일링하는 단계를 더 포함할 수도 있다. 또한, 제 15 예에서, 상기 방법은 현재의 비디오 유닛의 모션 벡터를 서브-펠 정밀도로부터 정수-펠 정밀도로 라운딩하는 단계를 더 포함할 수도 있다. 비디오 인코딩 디바이스는 제 15 예의 방법들 중의 임의의 것을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 인코딩 디바이스는 제 15 예의 방법들 중의 임의의 것을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 15 예의 방법들 중의 임의의 것을 수행하도록 비디오 인코딩 디바이스를 구성한다.
제 16 예에서, 비디오 디코더는 비디오 데이터를 디코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처의 현재의 CU 에 속하는 현재의 PU 의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 PU 를 결정하는 단계; 현재의 PU 의 모션 벡터, 참조 PU 의 샘플 블록의 위치, 및 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 참조 블록을 결정하는 단계; 참조 PU 의 샘플 블록 및 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 PU 가 병합 모드를 이용하여 코딩되고, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝될 때, 비트스트림으로부터, 현재의 PU 에 대한 가중화 인자 인덱스를 디코딩하는 단계; 및 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계; 현재의 PU 에 대한 시그널링된 잔차 블록 및 잔차 예측자 블록에 적어도 부분적으로 기초하여, 현재의 PU 에 대한 최종 잔차 블록을 결정하는 단계; 그리고, 현재의 PU 가 병합 모드를 이용하여 코딩되지 않거나, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝되지 않을 때, 잔차 예측자 블록이 아니라, 현재의 PU 에 대한 시그널링된 잔차 블록에 기초하여, 현재의 PU 에 대한 최종 잔차 블록을 결정하는 단계; 및 현재의 PU 에 대한 최종 잔차 블록 및 현재의 PU 에 대한 예측 블록에 적어도 부분적으로 기초하여, 현재의 CU 에 대한 샘플 블록을 재구성하는 단계를 포함한다. 또한, 제 16 예에서, 가중화 인자 인덱스는 0, 1, 또는 2 와 동일하도록 허용될 수도 있고, 여기서, 0 과 동일한 가중화 인자 인덱스는 0 의 가중화 인자와 연관되고, 1 과 동일한 가중화 인자 인덱스는 1 의 가중화 인자와 연관되고, 2 와 동일한 가중화 인자 인덱스는 0.5 의 가중화 인자와 연관된다. 또한, 제 6 예에서, 가중화 인자 인덱스는 1-비트 플래그일 수도 있다. 또한, 제 16 예에서, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되고, 가중화 인자 인덱스가 0 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 1 값과 동일할 수도 있고; 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되고, 가중화 인자 인덱스가 1 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 2 값과 동일할 수도 있다. 또한, 제 16 예에서, 제 1 값은 0.5 와 동일할 수도 있고 제 2 값은 1 과 동일할 수도 있다. 또한, 제 16 예에서, 제 1 값은 1 과 동일할 수도 있고 제 2 값은 0.5 와 동일할 수도 있다. 또한, 제 16 예에서, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되지 않고, 가중화 인자 인덱스가 0 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 1 값과 동일할 수도 있고; 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되지 않고, 가중화 인자 인덱스가 1 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 2 값과 동일할 수도 있다. 또한, 제 16 예에서, 제 1 값은 0 과 동일할 수도 있고 제 2 값은 1 과 동일할 수도 있다. 또한, 제 16 예에서, 제 1 값은 1 과 동일할 수도 있고 제 2 값은 0 과 동일할 수도 있다. 또한, 제 16 예에서, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되지 않을 때, 가중화 인자 인덱스는 항상 0 과 동일할 수도 있다. 비디오 디코딩 디바이스는 제 16 예의 방법들 중의 임의의 것을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 디코딩 디바이스는 제 16 예의 방법들 중의 임의의 것을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 16 예의 방법들 중의 임의의 것을 수행하도록 비디오 디코딩 디바이스를 구성한다.
제 17 예에서, 비디오 인코더는 비디오 데이터를 인코딩하는 방법을 수행할 수도 있고, 상기 방법은, 현재의 액세스 유닛의 현재의 뷰에서의 현재의 픽처의 현재의 CU 에 속하는 현재의 PU 의 디스패리티 벡터에 적어도 부분적으로 기초하여, 현재의 액세스 유닛의 참조 뷰에서의 참조 PU 를 결정하는 단계; 현재의 PU 의 모션 벡터, 참조 PU 의 샘플 블록의 위치, 및 참조 픽처의 샘플들에 적어도 부분적으로 기초하여, 제 1 참조 블록을 결정하는 단계; 참조 PU 의 샘플 블록 및 제 1 참조 블록 사이의 차이들에 적어도 부분적으로 기초하여, 잔차 예측자 블록을 결정하는 단계; 현재의 PU 의 모션 벡터 및 제 2 참조 픽처 내의 샘플들에 적어도 부분적으로 기초하여, 제 2 참조 블록을 결정하는 단계로서, 현재의 PU 의 참조 인덱스는 제 2 참조 픽처를 표시하는, 상기 제 2 참조 블록을 결정하는 단계; 현재의 PU 에 대한 샘플 블록 및 제 2 참조 블록에 적어도 부분적으로 기초하여, 현재의 PU 에 대한 초기 잔차 블록을 결정하는 단계; 현재의 PU 가 병합 모드를 이용하여 코딩되고, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝될 때, 잔차 예측자 블록에서의 각각의 개별 샘플에 대하여, 각각의 샘플이 가중화 인자 인덱스와 연관된 가중화 인자에 의해 승산된 각각의 샘플의 원래의 값과 대략 동일하도록, 잔차 예측자 블록을 수정하는 단계; 현재의 PU 에 대한 초기 잔차 블록 및 수정된 잔차 예측자 블록 사이의 차이들에 적어도 부분적으로 기초하여, 현재의 PU 에 대한 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 가중화 인자 인덱스 및 최종 잔차 블록을 시그널링하는 단계; 현재의 PU 가 병합 모드를 이용하여 코딩되지 않거나, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나, 현재의 CU 가 2Nx2N 파티셔닝 모드에 따라 파티셔닝되지 않을 때, 잔차 예측자 블록이 아니라, 현재의 PU 에 대한 초기 잔차 블록에 기초하여 현재의 PU 에 대한 최종 잔차 블록을 결정하는 단계; 및 비트스트림에서, 최종 잔차 블록을 시그널링하는 단계를 포함한다. 또한, 제 17 예에서, 가중화 인자 인덱스는 0, 1, 또는 2 와 동일하도록 허용될 수도 있고, 여기서, 0 과 동일한 가중화 인자 인덱스는 0 의 가중화 인자와 연관되고, 1 과 동일한 가중화 인자 인덱스는 1 의 가중화 인자와 연관되고, 2 와 동일한 가중화 인자 인덱스는 0.5 의 가중화 인자와 연관된다. 또한, 제 17 예에서, 가중화 인자 인덱스는 1-비트 플래그일 수도 있다. 또한, 제 17 예에서, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되고, 가중화 인자 인덱스가 0 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 1 값과 동일할 수도 있고; 현재의 PU 의 병합 후보 인덱스가 0 과 동일하고, 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되고, 가중화 인자 인덱스가 1 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 2 값과 동일할 수도 있다. 또한, 제 17 예에서, 제 1 값은 0.5 와 동일할 수도 있고 제 2 값은 1 과 동일할 수도 있다. 또한, 제 17 예에서, 제 1 값은 1 와 동일할 수도 있고 제 2 값은 0.5 와 동일할 수도 있다. 또한, 제 17 예에서, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되지 않고, 가중화 인자 인덱스가 0 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 1 값과 동일할 수도 있고; 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되지 않고, 가중화 인자 인덱스가 1 과 동일할 때, 가중화 인자 인덱스와 연관된 가중화 인자는 제 2 값과 동일할 수도 있다. 또한, 제 17 예에서, 제 1 값은 0 과 동일할 수도 있고 제 2 값은 1 와 동일할 수도 있다. 또한, 제 17 예에서, 제 1 값은 1 과 동일할 수도 있고 제 2 값은 0 과 동일할 수도 있다. 또한, 제 17 예에서, 현재의 PU 의 병합 후보 인덱스가 0 과 동일하지 않거나 병합 후보 리스트의 위치 0 에서의 병합 후보가 현재의 뷰 이외의 뷰로부터 유도되지 않을 때, 가중화 인자 인덱스는 항상 0 과 동일할 수도 있다. 비디오 인코딩 디바이스는 제 17 예의 방법들 중의 임의의 것을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수도 있다. 비디오 인코딩 디바이스는 제 17 예의 방법들 중의 임의의 것을 수행하기 위한 수단을 포함할 수도 있다. 컴퓨터-판독가능한 저장 매체는 명령들을 저장할 수도 있고, 상기 명령들은, 실행될 경우, 제 17 예의 방법들 중의 임의의 것을 수행하도록 비디오 인코딩 디바이스를 구성한다.
상기 예들 중의 임의의 것의 임의의 세부사항들은 이 개시물과 부합하는 다른 예들과 조합될 수도 있다. 하나 이상의 예들에서는, 설명된 기능들이 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현될 경우, 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터-판독가능한 매체 상에 저장되거나 컴퓨터-판독가능한 매체를 통해 송신될 수도 있고, 하드웨어-기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터-판독가능한 매체들은 데이터 저장 매체들과 같은 유형의 (tangible) 매체에 대응하는 컴퓨터-판독가능한 저장 매체들, 또는 예를 들어, 통신 프로토콜에 따라 하나의 로케이션로부터 또 다른 로케이션로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다. 이러한 방식으로, 컴퓨터-판독가능한 매체들은 일반적으로 (1) 비-일시적인 유형의 컴퓨터-판독가능한 저장 매체들, 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 이 개시물에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능한 매체를 포함할 수도 있다.
제한이 아닌 예로서, 이러한 컴퓨터-판독가능한 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 희망하는 프로그램 코드를 저장하기 위해 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터-판독가능한 매체로 적절하게 칭해진다. 예를 들어, 동축 케이블, 광섬유 케이블, 트위스트 페어 (twisted pair), 디지털 가입자 회선 (digital subscriber line; DSL), 또는 무선 기술들 예컨대, 적외선, 라디오 (radio), 및 마이크로파 (microwave) 를 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신될 경우, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL, 또는 무선 기술들 예컨대, 적외선, 라디오, 및 마이크로파는 매체의 정의 내에 포함된다. 그러나, 컴퓨터-판독가능한 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 순시적 매체 (transient medium) 들을 포함하는 것이 아니라, 그 대신에, 비-순시적인, 유형의 저장 매체들에 관한 것이라는 것을 이해해야 한다. 본원에서 이용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광학 디스크 (optical disc), 디지털 다기능 디스크 (digital versatile disc; DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크 (Blu-ray disc) 를 포함하고, 여기서 디스크 (disk) 들은 통상 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 들은 데이터를 레이저들로 광학적으로 재생한다. 상기의 조합들은 컴퓨터-판독가능한 매체들의 범위 내에 또한 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서 (digital signal processor; DSP) 들, 범용 마이크로프로세서들, 애플리케이션 특정 집적 회로 (application specific integrated circuit; ASIC) 들, 필드 프로그래밍가능한 로직 어레이 (field programmable logic array; FPGA) 들, 또는 다른 등가의 통합된 또는 개별 로직 회로부와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본원에서 이용된 바와 같은 용어 "프로세서" 는 상기한 구조 또는 본원에서 설명된 기술들의 구현을 위해 적당한 임의의 다른 구조 중의 임의의 것을 지칭할 수도 있다. 게다가, 일부의 양태들에서는, 본원에서 설명된 기능성이 인코딩 및 디코딩을 위해 구성되거나 조합된 코덱 (codec) 내에 통합되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
이 개시물의 기법들은 무선 핸드셋 (wireless handset), 집적 회로 (integrated circuit; IC) 또는 IC 들의 세트 (예컨대, 칩셋) 를 포함하는 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위하여 이 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하지는 않는다. 오히려, 위에서 설명된 바와 같이, 다양한 유닛들은 코덱 하드웨어 유닛 내에 조합될 수도 있거나, 적당한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명된 바와 같은 하나 이상의 프로세서들을 포함하는 상호동작하는 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이러한 그리고 다른 예들은 다음의 청구항들의 범위 내에 있다.
Claims (44)
- 비디오 데이터를 디코딩하는 방법으로서,
현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (Picture Order Count; POC) 거리와, 상기 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 상기 현재의 픽처의 현재의 예측 유닛 (prediction unit; PU) 의 모션 벡터를 스케일링하는 단계로서, 상기 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 상기 현재의 액세스 유닛에 있고, 상기 시간적 참조 픽처는 상기 현재의 뷰에 있지만 상기 현재의 액세스 유닛에 있지 않고, 상기 현재의 PU 의 참조 인덱스는 상기 현재의 픽처의 참조 픽처 리스트 내의 상기 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하는 단계;
상기 현재의 PU 에 대한 예측 블록을 결정하는 단계;
상기 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 상기 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하는 단계;
상기 현재의 PU 의 스케일링된 상기 모션 벡터 및 상기 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 상기 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하는 단계;
상기 현재의 PU 에 대한 잔차 예측자를 결정하는 단계로서, 상기 현재의 PU 에 대한 상기 잔차 예측자의 각각의 샘플은 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록의 샘플 및 상기 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 상기 현재의 PU 에 대한 잔차 예측자를 결정하는 단계; 및
시그널링된 잔차 블록, 상기 현재의 PU 에 대한 상기 잔차 예측자, 및 상기 현재의 PU 에 대한 상기 예측 블록에 기초하여 코딩 블록을 재구성하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 현재의 픽처의 각각의 PU 마다, 상기 고정된 참조 픽처 이외의 참조 픽처는, 상기 현재의 픽처의 상기 참조 픽처 리스트와 연관된 모션 벡터 및 상기 각각의 PU 의 상기 디스패리티 벡터에 기초하여, 상기 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 상기 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 고정된 참조 픽처는 제 1 고정된 참조 픽처이고, 상기 현재의 픽처의 상기 참조 픽처 리스트는 상기 현재의 픽처의 제 1 참조 픽처 리스트이고, 상기 시간적 참조 픽처는 제 1 시간적 참조 픽처이고, 상기 시간적-디스패리티 참조 블록은 제 1 시간적-디스패리티 참조 블록이고, 상기 현재의 PU 의 상기 모션 벡터는 상기 현재의 PU 의 제 1 모션 벡터이고,
상기 제 1 고정된 참조 픽처의 픽처 순서 카운트 (POC) 값은 상기 현재의 픽처의 상기 제 1 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고,
제 2 고정된 참조 픽처의 POC 값은 상기 현재의 픽처의 제 2 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고,
상기 방법은 상기 제 2 고정된 참조 픽처 및 제 2 시간적 참조 픽처 사이의 시간적 거리를 보상하기 위하여 상기 현재의 PU 의 제 2 모션 벡터를 스케일링하는 단계를 더 포함하고, 상기 현재의 PU 의 제 2 참조 인덱스는 상기 제 2 시간적 참조 픽처의, 상기 현재의 픽처의 상기 제 2 참조 픽처 리스트에서의 위치를 표시하고; 그리고
상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록을 결정하는 단계는,
스케일링된 상기 제 1 모션 벡터에 의해 표시된 상기 로케이션에서의 상기 제 1 고정된 참조 픽처의 샘플들에 기초하여 제 1 예측 시간적-디스패리티 참조 블록을 결정하는 단계;
스케일링된 상기 제 2 모션 벡터에 의해 표시된 로케이션에서의 상기 제 2 고정된 참조 픽처의 샘플들에 기초하여 제 2 예측 시간적-디스패리티 참조 블록을 결정하는 단계; 및
상기 제 1 및 제 2 예측 시간적-디스패리티 참조 블록들에 기초하여 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록을 결정하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 3 항에 있어서,
상기 현재의 픽처의 각각의 PU 마다, 상기 제 2 고정된 참조 픽처 이외의 참조 픽처는, 상기 현재의 PU 의 스케일링된 상기 제 2 모션 벡터 및 상기 현재의 PU 의 상기 디스패리티 벡터에 기초하여, 상기 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 상기 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 현재의 PU 에 대한 상기 예측 블록을 결정하는 단계는, 스케일링된 상기 모션 벡터에 의해 표시된 로케이션과 연관되는 배정된 참조 픽처의 샘플들에 기초하여 상기 예측 블록을 결정하는 단계를 포함하고, 상기 배정된 참조 픽처의 픽처 순서 카운트 (Picture Order Count; POC) 값은 상기 고정된 참조 픽처의 POC 값과 일치하고, 상기 배정된 참조 픽처는 상기 현재의 픽처와 동일한 뷰에 있는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 고정된 참조 픽처는 상기 현재의 픽처의 상기 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하는 픽처 순서 카운트 (POC) 값을 가지는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 현재의 뷰에 있는 배정된 픽처를 결정하는 단계;
상기 디스패리티 참조 픽처의 참조 픽처 리스트가 상기 배정된 픽처와 동일한 POC 값을 가지는 특정 참조-뷰 픽처를 포함할 때, 상기 고정된 참조 픽처를 상기 특정 참조-뷰 픽처로 설정하는 단계를 더 포함하고,
하기 기준들:
상기 배정된 픽처가 상기 현재의 픽처의 상기 참조 픽처 리스트에서 최소 참조 픽처 인덱스를 갖는 것;
상기 배정된 픽처의 상기 POC 값이 상기 현재의 픽처의 상기 참조 픽처 리스트에서의 임의의 다른 참조 픽처들의 POC 값들보다 상기 현재의 픽처의 POC 값에 더 근접한 것;
상기 배정된 픽처의 시간적 식별자가 상기 현재의 픽처의 상기 참조 픽처 리스트에서의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮은 것;
상기 배정된 픽처의 상기 양자화 파라미터가 상기 현재의 PU 의 상기 참조 픽처 리스트에서의 참조 픽처들 중에서 최저 양자화 파라미터인 것; 그리고
상기 배정된 참조 픽처는 슬라이스 헤더, 픽처 파라미터 세트, 또는 비디오 파라미터 세트에서 시그널링되는 것
중의 하나가 상기 배정된 참조 픽처를 특징화하는, 비디오 데이터를 디코딩하는 방법. - 제 7 항에 있어서,
상기 디스패리티 참조 픽처의 상기 참조 픽처 리스트가 상기 배정된 픽처와 동일한 POC 값을 가지는 임의의 참조 픽처를 포함하지 않을 때, 상기 고정된 참조 픽처를 상기 디스패리티 참조 픽처의 상기 참조 픽처 리스트에서의 또 다른 픽처로 설정하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 고정된 참조 픽처는 하기 기준들:
상기 고정된 참조 픽처가 상기 디스패리티 참조 픽처의 참조 픽처 리스트에서 최소 참조 픽처 인덱스를 갖는 것;
상기 고정된 참조 픽처의 POC 값이 상기 참조 뷰에 속하는 임의의 다른 참조 픽처의 POC 값들보다 상기 현재의 픽처의 POC 값에 더 근접한 것;
상기 고정된 참조 픽처의 상기 시간적 식별자는 상기 참조 뷰의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮은 것; 그리고
상기 고정된 참조 픽처의 상기 양자화 파라미터는 상기 참조 뷰의 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮은 것
중의 하나를 충족시키는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 방법은, 상기 현재의 PU 에 대한 상기 디스패리티 벡터를 결정하기 위한 이웃 블록들-기반 디스패리티 벡터 (neighboring blocks-based disparity vector; NBDV) 유도 프로세스를 수행하는 단계를 더 포함하고,
상기 고정된 참조 픽처는 상기 NBDV 유도 프로세스에서 이용된 제 1 또는 제 2 후보 픽처의 POC 값과 동일한 POC 값을 가지는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 방법은, 상기 모션 벡터를 스케일링한 후에, 상기 현재의 PU 의 스케일링된 상기 모션 벡터를 정수 정밀도로 라운딩하는 단계를 더 포함하고; 그리고
상기 시간적-디스패리티 참조 블록을 결정하는 단계는, 라운딩된 스케일링된 상기 모션 벡터 및 상기 디스패리티 참조 블록의 상기 위치에 기초하여, 상기 현재의 PU 에 대한 상기 잔차 예측자를 결정하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 현재의 PU 에 대한 상기 예측 블록을 결정하는 단계는, 이중-선형 필터를 상기 시간적 참조 픽처의 루마 및 크로마 컴포넌트들에 적용하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 현재의 PU 에 대한 상기 예측 블록을 결정하는 단계는, 이중-선형 필터를 배정된 참조 픽처의 루마 및 크로마 컴포넌트들에 적용하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 비디오 데이터를 인코딩하는 방법으로서,
현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 상기 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 상기 현재의 픽처의 현재의 코딩 유닛 (coding unit; CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하는 단계로서, 상기 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 상기 현재의 액세스 유닛에 있고, 상기 시간적 참조 픽처는 상기 현재의 뷰에 있지만 상기 현재의 액세스 유닛에 있지 않고, 상기 현재의 PU 의 참조 인덱스는 상기 현재의 픽처의 참조 픽처 리스트 내의 상기 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하는 단계;
상기 현재의 PU 에 대한 예측 블록을 결정하는 단계;
상기 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 상기 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하는 단계;
상기 현재의 PU 의 스케일링된 상기 모션 벡터 및 상기 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 상기 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하는 단계;
상기 현재의 PU 에 대한 잔차 예측자를 결정하는 단계로서, 상기 현재의 PU 에 대한 상기 잔차 예측자의 각각의 샘플은 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록의 샘플 및 상기 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 상기 현재의 PU 에 대한 잔차 예측자를 결정하는 단계;
상기 현재의 CU 에 대한 최종 잔차 블록을 결정하는 단계로서, 상기 최종 잔차 블록은 상기 현재의 CU 에 대한 코딩 블록에서의 샘플들, 상기 현재의 PU 에 대한 상기 예측 블록에서의 샘플들, 및 상기 현재의 PU 에 대한 상기 잔차 예측자에서의 샘플들 사이의 차이들을 표시하는 샘플들을 포함하는, 상기 최종 잔차 블록을 결정하는 단계; 및
비트스트림에서, 상기 현재의 CU 에 대한 상기 최종 잔차 블록을 나타내는 데이터를 포함하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 현재의 픽처의 각각의 PU 마다, 상기 고정된 참조 픽처 이외의 참조 픽처는, 상기 현재의 픽처의 상기 참조 픽처 리스트와 연관된 모션 벡터 및 상기 각각의 PU 의 상기 디스패리티 벡터에 기초하여, 상기 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 상기 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 고정된 참조 픽처는 제 1 고정된 참조 픽처이고, 상기 현재의 픽처의 상기 참조 픽처 리스트는 상기 현재의 픽처의 제 1 참조 픽처 리스트이고, 상기 시간적 참조 픽처는 제 1 시간적 참조 픽처이고, 상기 시간적-디스패리티 참조 블록은 제 1 시간적-디스패리티 참조 블록이고, 상기 현재의 PU 의 상기 모션 벡터는 상기 현재의 PU 의 제 1 모션 벡터이고,
상기 제 1 고정된 참조 픽처의 픽처 순서 카운트 (POC) 값은 상기 현재의 픽처의 상기 제 1 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고,
제 2 고정된 참조 픽처의 POC 값은 상기 현재의 픽처의 제 2 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고,
상기 방법은 상기 제 2 고정된 참조 픽처 및 제 2 시간적 참조 픽처 사이의 시간적 거리를 보상하기 위하여 상기 현재의 PU 의 제 2 모션 벡터를 스케일링하는 단계를 더 포함하고, 상기 현재의 PU 의 제 2 참조 인덱스는 상기 제 2 시간적 참조 픽처의, 상기 현재의 픽처의 상기 제 2 참조 픽처 리스트에서의 위치를 표시하고; 그리고
상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록을 결정하는 단계는,
스케일링된 상기 제 1 모션 벡터에 의해 표시된 상기 로케이션에서의 상기 제 1 고정된 참조 픽처의 샘플들에 기초하여 제 1 예측 시간적-디스패리티 참조 블록을 결정하는 단계;
스케일링된 상기 제 2 모션 벡터에 의해 표시된 로케이션에서의 상기 제 2 고정된 참조 픽처의 샘플들에 기초하여 제 2 예측 시간적-디스패리티 참조 블록을 결정하는 단계; 및
상기 제 1 및 제 2 예측 시간적-디스패리티 참조 블록들에 기초하여 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록을 결정하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 16 항에 있어서,
상기 현재의 픽처의 각각의 PU 마다, 상기 제 2 고정된 참조 픽처 이외의 참조 픽처는, 상기 현재의 PU 의 스케일링된 상기 제 2 모션 벡터 및 상기 현재의 PU 의 상기 디스패리티 벡터에 기초하여, 상기 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 상기 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 현재의 PU 에 대한 상기 예측 블록을 결정하는 단계는, 스케일링된 상기 모션 벡터에 의해 표시된 로케이션과 연관되는 배정된 참조 픽처의 샘플들에 기초하여 상기 예측 블록을 결정하는 단계를 포함하고, 상기 배정된 참조 픽처의 픽처 순서 카운트 (POC) 값은 상기 고정된 참조 픽처의 POC 값과 일치하고, 상기 배정된 참조 픽처는 상기 현재의 픽처와 동일한 뷰에 있는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 고정된 참조 픽처는 상기 현재의 픽처에 대한 상기 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하는 픽처 순서 카운트 (POC) 값을 가지는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 현재의 뷰에 있는 배정된 픽처를 결정하는 단계;
상기 디스패리티 참조 픽처의 참조 픽처 리스트가 상기 배정된 픽처와 동일한 POC 값을 가지는 특정 참조-뷰 픽처를 포함할 때, 상기 고정된 참조 픽처를 상기 특정 참조-뷰 픽처로 설정하는 단계를 더 포함하고,
하기 기준들:
상기 배정된 픽처가 상기 현재의 픽처의 상기 참조 픽처 리스트에서 최소 참조 픽처 인덱스를 갖는 것;
상기 배정된 픽처의 상기 POC 값이 상기 현재의 픽처의 상기 참조 픽처 리스트에서의 임의의 다른 참조 픽처들의 POC 값들보다 상기 현재의 픽처의 POC 값에 더 근접한 것;
상기 배정된 픽처의 시간적 식별자가 상기 현재의 픽처의 상기 참조 픽처 리스트에서의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮은 것;
상기 배정된 픽처의 상기 양자화 파라미터가 상기 현재의 PU 의 상기 참조 픽처 리스트에서의 참조 픽처들 중에서 최저 양자화 파라미터인 것; 그리고
상기 배정된 참조 픽처가 슬라이스 헤더, 픽처 파라미터 세트, 또는 비디오 파라미터 세트에서 시그널링되는 것
중의 하나가 상기 배정된 참조 픽처를 특징화하는, 비디오 데이터를 인코딩하는 방법. - 제 20 항에 있어서,
상기 디스패리티 참조 픽처의 상기 참조 픽처 리스트가 상기 배정된 픽처와 동일한 POC 값을 가지는 임의의 참조 픽처를 포함하지 않을 때, 상기 고정된 참조 픽처를 상기 디스패리티 참조 픽처의 상기 참조 픽처 리스트에서의 또 다른 픽처로 설정하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 고정된 참조 픽처는 하기 기준들:
상기 고정된 참조 픽처가 상기 디스패리티 참조 픽처의 참조 픽처 리스트에서 최소 참조 픽처 인덱스를 갖는 것;
상기 고정된 참조 픽처의 POC 값이 상기 참조 뷰에 속하는 임의의 다른 참조 픽처의 POC 값들보다 상기 현재의 픽처의 POC 값에 더 근접한 것;
상기 고정된 참조 픽처의 상기 시간적 식별자가 상기 참조 뷰의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮은 것; 그리고
상기 고정된 참조 픽처의 상기 양자화 파라미터가 상기 참조 뷰의 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮은 것
중의 하나를 충족시키는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 방법은, 상기 현재의 PU 에 대한 상기 디스패리티 벡터를 결정하기 위한 이웃 블록들-기반 디스패리티 벡터 (NBDV) 유도 프로세스를 수행하는 단계를 더 포함하고,
상기 고정된 참조 픽처는 상기 NBDV 유도 프로세스에서 이용된 제 1 또는 제 2 후보 픽처의 POC 값과 동일한 POC 값을 가지는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 방법은, 상기 모션 벡터를 스케일링한 후에, 상기 현재의 PU 의 스케일링된 상기 모션 벡터를 정수 정밀도로 라운딩하는 단계를 더 포함하고; 그리고
상기 시간적-디스패리티 참조 블록을 결정하는 단계는, 라운딩된 스케일링된 상기 모션 벡터 및 상기 디스패리티 참조 블록의 상기 위치에 기초하여, 상기 현재의 PU 에 대한 상기 잔차 예측자를 결정하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 현재의 PU 에 대한 상기 예측 블록을 결정하는 단계는, 이중-선형 필터를 상기 시간적 참조 픽처의 루마 및 크로마 컴포넌트들에 적용하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 14 항에 있어서,
상기 현재의 PU 에 대한 상기 예측 블록을 결정하는 단계는, 이중-선형 필터를 배정된 참조 픽처의 루마 및 크로마 컴포넌트들에 적용하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 비디오 코딩 디바이스로서,
참조 픽처들을 저장하는 메모리; 및
하나 이상의 프로세서들을 포함하고,
상기 하나 이상의 프로세서들은,
현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 상기 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 상기 현재의 픽처의 현재의 코딩 유닛 (coding unit; CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하는 것으로서, 상기 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 상기 현재의 액세스 유닛에 있고, 상기 시간적 참조 픽처는 상기 현재의 뷰에 있지만 상기 현재의 액세스 유닛에 있지 않고, 상기 현재의 PU 의 참조 인덱스는 상기 현재의 픽처의 참조 픽처 리스트 내의 상기 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하고;
상기 현재의 PU 에 대한 예측 블록을 결정하고;
상기 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 상기 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하고;
상기 현재의 PU 의 스케일링된 상기 모션 벡터 및 상기 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 상기 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하고; 그리고
상기 현재의 PU 에 대한 잔차 예측자를 결정하는 것으로서, 상기 현재의 PU 에 대한 상기 잔차 예측자의 각각의 샘플은 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록의 샘플 및 상기 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 상기 현재의 PU 에 대한 잔차 예측자를 결정하도록 구성되는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 현재의 픽처의 각각의 PU 마다, 상기 고정된 참조 픽처 이외의 참조 픽처는, 상기 현재의 픽처의 상기 참조 픽처 리스트와 연관된 모션 벡터 및 상기 각각의 PU 의 상기 디스패리티 벡터에 기초하여, 상기 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 상기 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 고정된 참조 픽처는 제 1 고정된 참조 픽처이고, 상기 현재의 픽처의 상기 참조 픽처 리스트는 상기 현재의 픽처의 제 1 참조 픽처 리스트이고, 상기 시간적 참조 픽처는 제 1 시간적 참조 픽처이고, 상기 시간적-디스패리티 참조 블록은 제 1 시간적-디스패리티 참조 블록이고, 상기 현재의 PU 의 상기 모션 벡터는 상기 현재의 PU 의 제 1 모션 벡터이고,
상기 제 1 고정된 참조 픽처의 픽처 순서 카운트 (POC) 값은 상기 현재의 픽처의 상기 제 1 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고,
제 2 고정된 참조 픽처의 POC 값은 상기 현재의 픽처의 제 2 참조 픽처 리스트에서의 참조 픽처의 POC 값과 일치하고,
상기 하나 이상의 프로세서들은 또한, 상기 제 2 고정된 참조 픽처 및 시간적 참조 픽처 사이의 시간적 거리를 보상하기 위하여 상기 현재의 PU 의 제 2 모션 벡터를 스케일링하도록 구성되고, 상기 현재의 PU 의 제 2 참조 인덱스는 제 2 시간적 참조 픽처의, 상기 현재의 픽처의 상기 제 2 참조 픽처 리스트에서의 위치를 표시하고; 그리고
상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록을 결정하기 위하여, 상기 하나 이상의 프로세서들은,
스케일링된 상기 제 1 모션 벡터에 의해 표시된 상기 로케이션에서의 상기 제 1 고정된 참조 픽처의 샘플들에 기초하여 제 1 예측 시간적-디스패리티 참조 블록을 결정하고;
스케일링된 상기 제 2 모션 벡터에 의해 표시된 로케이션에서의 상기 제 2 고정된 참조 픽처의 샘플들에 기초하여 제 2 예측 시간적-디스패리티 참조 블록을 결정하고; 그리고
상기 제 1 및 제 2 예측 시간적-디스패리티 참조 블록들에 기초하여 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록을 결정하는, 비디오 코딩 디바이스. - 제 29 항에 있어서,
상기 현재의 픽처의 각각의 PU 마다, 상기 제 2 고정된 참조 픽처 이외의 참조 픽처는, 상기 현재의 PU 의 스케일링된 상기 제 2 모션 벡터 및 상기 현재의 PU 의 상기 디스패리티 벡터에 기초하여, 상기 각각의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위하여 상기 참조 뷰에서의 모션 보상을 수행할 때에 액세스되지 않는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 현재의 PU 에 대한 상기 예측 블록을 결정하기 위하여, 상기 하나 이상의 프로세서들은, 스케일링된 상기 모션 벡터에 의해 표시된 로케이션과 연관되는 배정된 참조 픽처의 샘플들에 기초하여 상기 예측 블록을 결정하고, 상기 배정된 참조 픽처의 픽처 순서 카운트 (POC) 값은 상기 고정된 참조 픽처의 POC 값과 일치하고, 상기 배정된 참조 픽처는 상기 현재의 픽처와 동일한 뷰에 있는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 고정된 참조 픽처는 상기 현재의 픽처의 참조 픽처 리스트에서의 상기 참조 픽처의 POC 값과 일치하는 픽처 순서 카운트 (POC) 값을 가지는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은,
상기 현재의 뷰에 있는 배정된 픽처를 결정하고;
상기 디스패리티 참조 픽처의 참조 픽처 리스트가 상기 배정된 픽처와 동일한 POC 값을 가지는 특정 참조-뷰 픽처를 포함할 때, 상기 고정된 참조 픽처를 상기 특정 참조-뷰 픽처로 설정하도록 구성되고,
하기 기준들:
상기 배정된 픽처가 상기 현재의 픽처의 상기 참조 픽처 리스트에서 최소 참조 픽처 인덱스를 갖는 것;
상기 배정된 픽처의 상기 POC 값이 상기 현재의 픽처의 상기 참조 픽처 리스트에서의 임의의 다른 참조 픽처들의 POC 값들보다 상기 현재의 픽처의 POC 값에 더 근접한 것;
상기 배정된 픽처의 시간적 식별자는 상기 현재의 픽처의 상기 참조 픽처 리스트에서의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮은 것;
상기 배정된 픽처의 상기 양자화 파라미터는 상기 현재의 PU 의 상기 참조 픽처 리스트에서의 참조 픽처들 중에서 최저 양자화 파라미터인 것; 그리고
상기 배정된 참조 픽처는 슬라이스 헤더, 픽처 파라미터 세트, 또는 비디오 파라미터 세트에서 시그널링되는 것
중의 하나는 상기 배정된 참조 픽처를 특징화하는, 비디오 코딩 디바이스. - 제 33 항에 있어서,
상기 하나 이상의 프로세서들은, 상기 디스패리티 참조 픽처의 상기 참조 픽처 리스트가 상기 배정된 픽처와 동일한 POC 값을 가지는 임의의 참조 픽처를 포함하지 않을 때, 상기 하나 이상의 프로세서들이 상기 고정된 참조 픽처를 상기 디스패리티 참조 픽처의 상기 참조 픽처 리스트에서의 또 다른 픽처로 설정하도록 구성되는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 고정된 참조 픽처는 하기 기준들:
상기 고정된 참조 픽처가 상기 디스패리티 참조 픽처의 참조 픽처 리스트에서 최소 참조 픽처 인덱스를 갖는 것;
상기 고정된 참조 픽처의 POC 값이 상기 참조 뷰에 속하는 임의의 다른 참조 픽처의 POC 값들보다 상기 현재의 픽처의 POC 값에 더 근접한 것;
상기 고정된 참조 픽처의 상기 시간적 식별자가 상기 참조 뷰의 임의의 다른 참조 픽처의 시간적 식별자들보다 더 낮은 것; 그리고
상기 고정된 참조 픽처의 상기 양자화 파라미터가 상기 참조 뷰의 임의의 다른 참조 픽처의 양자화 파라미터들보다 더 낮은 것
중의 하나를 충족시키는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은 또한, 상기 현재의 PU 에 대한 상기 디스패리티 벡터를 결정하기 위한 이웃 블록들-기반 디스패리티 벡터 (NBDV) 유도 프로세스를 수행하도록 구성되고,
상기 고정된 참조 픽처는 상기 NBDV 유도 프로세스에서 이용된 제 1 또는 제 2 후보 픽처의 POC 값과 동일한 POC 값을 가지는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은 또한, 상기 모션 벡터를 스케일링한 후에, 상기 현재의 PU 의 상기 모션 벡터를 정수 정밀도로 라운딩하도록 구성되고; 그리고
상기 시간적-디스패리티 참조 블록을 결정하기 위하여, 상기 하나 이상의 프로세서들은, 라운딩된 스케일링된 상기 모션 벡터 및 상기 디스패리티 참조 블록의 상기 위치에 기초하여, 상기 현재의 PU 에 대한 상기 잔차 예측자를 결정하는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은, 이중-선형 필터를 상기 시간적 참조 픽처의 루마 및 크로마 컴포넌트들에 적용하도록 구성되는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은, 이중-선형 필터를 배정된 참조 픽처의 루마 및 크로마 컴포넌트들에 적용하도록 구성되는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은 또한, 시그널링된 잔차 블록, 상기 현재의 PU 에 대한 상기 잔차 예측자, 및 상기 현재의 PU 에 대한 상기 예측 블록에 기초하여 코딩 블록을 재구성하도록 구성되는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은 또한,
상기 현재의 CU 에 대한 최종 잔차 블록을 결정하는 것으로서, 상기 최종 잔차 블록은 상기 현재의 CU 에 대한 코딩 블록에서의 샘플들, 상기 현재의 PU 에 대한 상기 예측 블록에서의 샘플들, 및 상기 현재의 PU 에 대한 상기 잔차 예측자에서의 샘플들 사이의 차이들을 표시하는 샘플들을 포함하는, 상기 최종 잔차 블록을 결정하고; 그리고
비트스트림에서, 상기 현재의 CU 에 대한 상기 최종 잔차 블록을 나타내는 데이터를 포함하도록 구성되는, 비디오 코딩 디바이스. - 제 27 항에 있어서,
상기 하나 이상의 프로세서들은,
상기 현재의 PU 의 상기 모션 벡터를 상기 고정된 참조 픽처로 스케일링하고; 그리고
상기 예측 블록을 결정하기 위하여 상기 현재의 PU 의 스케일링된 상기 모션 벡터를 이용하도록 구성되는, 비디오 코딩 디바이스. - 비디오 코딩 디바이스로서,
현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 상기 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 상기 현재의 픽처의 현재의 코딩 유닛 (CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하기 위한 수단으로서, 상기 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 상기 현재의 액세스 유닛에 있고, 상기 시간적 참조 픽처는 상기 현재의 뷰에 있지만 상기 현재의 액세스 유닛에 있지 않고, 상기 현재의 PU 의 참조 인덱스는 상기 현재의 픽처의 참조 픽처 리스트 내의 상기 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하기 위한 수단;
상기 현재의 PU 에 대한 예측 블록을 결정하기 위한 수단;
상기 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 상기 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하기 위한 수단;
상기 현재의 PU 의 스케일링된 상기 모션 벡터 및 상기 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 상기 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하기 위한 수단; 및
상기 현재의 PU 에 대한 잔차 예측자를 결정하기 위한 수단으로서, 상기 현재의 PU 에 대한 상기 잔차 예측자의 각각의 샘플은 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록의 샘플 및 상기 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 상기 현재의 PU 에 대한 잔차 예측자를 결정하기 위한 수단을 포함하는, 비디오 코딩 디바이스. - 명령들을 저장한 비-일시적인 컴퓨터-판독가능한 저장 매체로서,
상기 명령들은, 실행될 경우, 비디오 코딩 디바이스를
현재의 픽처 및 시간적 참조 픽처 사이의 픽처 순서 카운트 (POC) 거리와, 상기 현재의 픽처 및 고정된 픽처 사이의 POC 거리와의 사이의 차이를 보상하기 위하여, 상기 현재의 픽처의 현재의 코딩 유닛 (coding unit; CU) 의 현재의 예측 유닛 (PU) 의 모션 벡터를 스케일링하게 하는 것으로서, 상기 현재의 픽처는 현재의 뷰에 있으며 현재의 액세스 유닛에 있고, 디스패리티 참조 픽처는 참조 뷰에 있으며 상기 현재의 액세스 유닛에 있고, 상기 시간적 참조 픽처는 상기 현재의 뷰에 있지만 상기 현재의 액세스 유닛에 있지 않고, 상기 현재의 PU 의 참조 인덱스는 상기 현재의 픽처의 참조 픽처 리스트 내의 상기 시간적 참조 픽처의 위치를 표시하는, 상기 모션 벡터를 스케일링하게 하고;
상기 현재의 PU 에 대한 예측 블록을 결정하게 하고;
상기 현재의 PU 의 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 상기 디스패리티 참조 픽처의 샘플들에 기초하여 디스패리티 참조 블록을 결정하게 하고;
상기 현재의 PU 의 스케일링된 상기 모션 벡터 및 상기 디스패리티 벡터에 의해 표시된 로케이션과 연관되는 고정된 참조 픽처의 샘플들에 기초하여, 상기 현재의 PU 에 대한 시간적-디스패리티 참조 블록을 결정하게 하고; 그리고
상기 현재의 PU 에 대한 잔차 예측자를 결정하게 하는 것으로서, 상기 현재의 PU 에 대한 상기 잔차 예측자의 각각의 샘플은 상기 현재의 PU 에 대한 상기 시간적-디스패리티 참조 블록의 샘플 및 상기 디스패리티 참조 블록의 대응하는 샘플 사이의 차이를 표시하는, 상기 현재의 PU 에 대한 잔차 예측자를 결정하게 하도록 구성하는, 비-일시적인 컴퓨터-판독가능한 저장 매체.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361775352P | 2013-03-08 | 2013-03-08 | |
US61/775,352 | 2013-03-08 | ||
US201361803368P | 2013-03-19 | 2013-03-19 | |
US61/803,368 | 2013-03-19 | ||
US201361832623P | 2013-06-07 | 2013-06-07 | |
US61/832,623 | 2013-06-07 | ||
US14/149,260 | 2014-01-07 | ||
US14/149,260 US9800857B2 (en) | 2013-03-08 | 2014-01-07 | Inter-view residual prediction in multi-view or 3-dimensional video coding |
PCT/US2014/017132 WO2014137596A1 (en) | 2013-03-08 | 2014-02-19 | Inter-view residual prediction in multi-view or 3-dimensional video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150126010A true KR20150126010A (ko) | 2015-11-10 |
KR101821030B1 KR101821030B1 (ko) | 2018-01-22 |
Family
ID=51487366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157027347A KR101821030B1 (ko) | 2013-03-08 | 2014-02-19 | 멀티-뷰 또는 3 차원 비디오 코딩에서의 인터-뷰 잔차 예측 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9800857B2 (ko) |
EP (1) | EP2965511A1 (ko) |
JP (1) | JP6339116B2 (ko) |
KR (1) | KR101821030B1 (ko) |
CN (1) | CN105009586B (ko) |
WO (1) | WO2014137596A1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180007345A (ko) * | 2016-07-12 | 2018-01-22 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 |
KR20180007336A (ko) * | 2016-07-12 | 2018-01-22 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 |
WO2019203517A1 (ko) * | 2018-04-15 | 2019-10-24 | 엘지전자 주식회사 | 영상 코딩 시스템에서 움직임 정보 도출 방법 및 장치 |
WO2020184977A1 (ko) * | 2019-03-11 | 2020-09-17 | 한국전자통신연구원 | 화면 내 블록 복사 기반 부호화/복호화 방법, 장치 및 비트스트림 저장매체 |
US11368713B2 (en) | 2018-08-29 | 2022-06-21 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatus of video coding using subblock-based temporal motion vector prediction |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL4124034T3 (pl) * | 2010-12-22 | 2024-01-03 | Lg Electronics Inc. | Predykcja wewnątrzramkowa w kodowaniu wideo |
EP3490259B1 (en) * | 2013-04-02 | 2021-10-13 | InterDigital Madison Patent Holdings, SAS | Enhanced temporal motion vector prediction for scalable video coding |
CN105308961B (zh) * | 2013-04-05 | 2019-07-09 | 三星电子株式会社 | 用于补偿亮度差的层间视频编码方法和设备以及层间视频解码方法和设备 |
WO2014163466A1 (ko) * | 2013-04-05 | 2014-10-09 | 삼성전자 주식회사 | 정수 픽셀의 위치와 관련하여 비디오의 부호화 및 복호화를 수행하는 방법과 그 장치 |
EP2932712A4 (en) * | 2013-06-11 | 2016-11-30 | Hfi Innovation Inc | METHOD FOR THE INTERMEDIATE REST PRESENTATION WITH REDUCED COMPLEXITY IN A THREE-DIMENSIONAL VIDEO CODING |
JP6261215B2 (ja) * | 2013-07-12 | 2018-01-17 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
WO2015056961A1 (ko) * | 2013-10-14 | 2015-04-23 | 삼성전자 주식회사 | 휘도 보상 여부에 따른 뷰 합성 예측 적용 방법 및 장치 |
JP6336058B2 (ja) | 2013-10-14 | 2018-06-06 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能 |
WO2015054811A1 (en) | 2013-10-14 | 2015-04-23 | Microsoft Corporation | Features of intra block copy prediction mode for video and image coding and decoding |
WO2015054813A1 (en) | 2013-10-14 | 2015-04-23 | Microsoft Technology Licensing, Llc | Encoder-side options for intra block copy prediction mode for video and image coding |
WO2015055143A1 (en) * | 2013-10-17 | 2015-04-23 | Mediatek Inc. | Method of motion information prediction and inheritance in multi-view and three-dimensional video coding |
BR112016015080A2 (pt) | 2014-01-03 | 2017-08-08 | Microsoft Technology Licensing Llc | Predição de vetor de bloco em codificação / decodificação de vídeo e imagem |
US10110925B2 (en) * | 2014-01-03 | 2018-10-23 | Hfi Innovation Inc. | Method of reference picture selection and signaling in 3D and multi-view video coding |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
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 |
US10542274B2 (en) | 2014-02-21 | 2020-01-21 | Microsoft Technology Licensing, Llc | Dictionary encoding and decoding of screen content |
EP3158734A1 (en) | 2014-06-19 | 2017-04-26 | Microsoft Technology Licensing, LLC | Unified intra block copy and inter prediction modes |
EP3917146A1 (en) | 2014-09-30 | 2021-12-01 | Microsoft Technology Licensing, LLC | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US20170310993A1 (en) * | 2014-10-08 | 2017-10-26 | Lg Electronics Inc. | Movement information compression method and device for 3d video coding |
US20160105678A1 (en) * | 2014-10-13 | 2016-04-14 | Microsoft Technology Licensing, Llc | Video Parameter Techniques |
WO2016124710A1 (en) * | 2015-02-05 | 2016-08-11 | Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-view video codec supporting residual prediction |
CN115002458A (zh) * | 2015-06-05 | 2022-09-02 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
US10659783B2 (en) | 2015-06-09 | 2020-05-19 | Microsoft Technology Licensing, Llc | Robust encoding/decoding of escape-coded pixels in palette mode |
US20180359468A1 (en) * | 2015-10-01 | 2018-12-13 | Lg Electronics Inc. | Image processing method on basis of inter prediction mode and apparatus therefor |
US9883137B2 (en) * | 2015-11-03 | 2018-01-30 | Qualcomm Incorporated | Updating regions for display based on video decoding mode |
US10200719B2 (en) * | 2015-11-25 | 2019-02-05 | Qualcomm Incorporated | Modification of transform coefficients for non-square transform units in video coding |
US10621731B1 (en) * | 2016-05-31 | 2020-04-14 | NGCodec Inc. | Apparatus and method for efficient motion estimation for different block sizes |
US20180048907A1 (en) * | 2016-08-11 | 2018-02-15 | Qualcomm Incorporated | Video coding tools for in-loop sample processing |
WO2018054269A1 (en) * | 2016-09-22 | 2018-03-29 | Mediatek Inc. | Method and apparatus for video coding using decoder side intra prediction derivation |
US10694202B2 (en) * | 2016-12-01 | 2020-06-23 | Qualcomm Incorporated | Indication of bilateral filter usage in video coding |
DK3541073T3 (da) * | 2016-12-05 | 2021-09-20 | Lg Electronics Inc | Fremgangsmåde og lagringsmedie til dekodning af et billede i et billedkodningssystem |
MX2019007219A (es) * | 2016-12-22 | 2019-09-05 | Kt Corp | Metodo y aparato para procesar señales de video. |
KR102559063B1 (ko) * | 2017-02-24 | 2023-07-24 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
EP3410717A1 (en) * | 2017-05-31 | 2018-12-05 | Thomson Licensing | Methods and apparatus for candidate list pruning |
US10785494B2 (en) * | 2017-10-11 | 2020-09-22 | Qualcomm Incorporated | Low-complexity design for FRUC |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
CN111801946B (zh) * | 2018-01-24 | 2024-07-19 | Vid拓展公司 | 用于具有降低的译码复杂性的视频译码的广义双预测 |
RU2020135518A (ru) * | 2018-04-06 | 2022-04-29 | Вид Скейл, Инк. | Метод двунаправленного оптического потока с упрощенным выведением градиента |
US10798394B2 (en) * | 2018-06-27 | 2020-10-06 | Avago Technologies International Sales Pte. Limited | Low complexity affine merge mode for versatile video coding |
JP2021526762A (ja) * | 2018-07-06 | 2021-10-07 | 三菱電機株式会社 | 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法 |
US10491912B1 (en) | 2018-07-09 | 2019-11-26 | Tencent America LLC | Method and apparatus for video coding |
EP3881548B1 (en) * | 2018-11-16 | 2023-08-30 | Sharp Kabushiki Kaisha | Systems and methods for deriving a motion vector prediction in video coding |
US11438583B2 (en) * | 2018-11-27 | 2022-09-06 | Tencent America LLC | Reference sample filter selection in intra prediction |
CN118632017A (zh) | 2018-12-21 | 2024-09-10 | 株式会社 Xris | 视频信号编码/解码方法及其装置 |
EP3928513A4 (en) * | 2019-02-20 | 2022-09-21 | Beijing Dajia Internet Information Technology Co., Ltd. | METHODS AND APPARATUS FOR ROUNDING, SHAPING AND STORING MOTION VECTOR FOR INTERPREDICTION |
CN114026867B (zh) * | 2019-07-09 | 2024-04-02 | 阿里巴巴集团控股有限公司 | 分辨率自适应视频编解码 |
US11375243B2 (en) * | 2019-07-17 | 2022-06-28 | Tencent America LLC | Method and apparatus for video coding |
BR112022020770A2 (pt) * | 2020-04-14 | 2022-11-29 | Op Solutions Llc | Métodos e sistemas de codificação de vídeo utilizando regiões de referência |
US20240015303A1 (en) * | 2022-07-06 | 2024-01-11 | Tencent America LLC | Local warp motion prediction modes |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101031423B1 (ko) | 2002-04-19 | 2011-04-26 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
JP4220284B2 (ja) * | 2003-03-28 | 2009-02-04 | 株式会社東芝 | フレーム補間方法、装置及びこれを用いた画像表示システム |
US7469069B2 (en) * | 2003-05-16 | 2008-12-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding image using image residue prediction |
TWI226803B (en) * | 2003-07-30 | 2005-01-11 | Mediatek Inc | Method for using memory to store motion vectors of decoded macroblocks |
JP4574444B2 (ja) | 2005-05-27 | 2010-11-04 | キヤノン株式会社 | 画像復号装置及び方法、画像符号化装置及び方法、コンピュータプログラム及び記憶媒体 |
WO2008053746A1 (fr) * | 2006-10-30 | 2008-05-08 | Nippon Telegraph And Telephone Corporation | Procédé de génération d'informations de référence prédictives, procédé de codage et de décodage d'image dynamiques, leur dispositif, leur programme et support de stockage contenant le programme |
US8594180B2 (en) * | 2007-02-21 | 2013-11-26 | Qualcomm Incorporated | 3D video encoding |
KR101752418B1 (ko) * | 2010-04-09 | 2017-06-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
JP5747559B2 (ja) | 2011-03-01 | 2015-07-15 | 富士通株式会社 | 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム |
GB2488816A (en) * | 2011-03-09 | 2012-09-12 | Canon Kk | Mapping motion vectors from a plurality of reference frames to a single reference frame |
US9247249B2 (en) | 2011-04-20 | 2016-01-26 | Qualcomm Incorporated | Motion vector prediction in video coding |
CN102752588B (zh) * | 2011-04-22 | 2017-02-15 | 北京大学深圳研究生院 | 使用空间缩放预测的视频编解码方法 |
US20140078254A1 (en) | 2011-06-15 | 2014-03-20 | Mediatek Inc. | Method and Apparatus of Motion and Disparity Vector Prediction and Compensation for 3D Video Coding |
US9819963B2 (en) * | 2011-07-12 | 2017-11-14 | Electronics And Telecommunications Research Institute | Inter prediction method and apparatus for same |
US20130188715A1 (en) | 2012-01-09 | 2013-07-25 | Qualcomm Incorporated | Device and methods for merge list reordering in video coding |
WO2013113134A1 (en) | 2012-02-02 | 2013-08-08 | Nokia Corporation | An apparatus, a method and a computer program for video coding and decoding |
US20130272409A1 (en) | 2012-04-12 | 2013-10-17 | Qualcomm Incorporated | Bandwidth reduction in video coding through applying the same reference index |
US9843801B2 (en) | 2012-07-10 | 2017-12-12 | Qualcomm Incorporated | Generalized residual prediction for scalable video coding and 3D video coding |
CN102946536B (zh) * | 2012-10-09 | 2015-09-30 | 华为技术有限公司 | 候选矢量列表构建的方法及装置 |
-
2014
- 2014-01-07 US US14/149,260 patent/US9800857B2/en active Active
- 2014-02-19 CN CN201480012130.5A patent/CN105009586B/zh active Active
- 2014-02-19 JP JP2015561379A patent/JP6339116B2/ja active Active
- 2014-02-19 WO PCT/US2014/017132 patent/WO2014137596A1/en active Application Filing
- 2014-02-19 EP EP14709051.8A patent/EP2965511A1/en not_active Ceased
- 2014-02-19 KR KR1020157027347A patent/KR101821030B1/ko active IP Right Grant
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180007345A (ko) * | 2016-07-12 | 2018-01-22 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 |
KR20180007336A (ko) * | 2016-07-12 | 2018-01-22 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 |
KR20210088475A (ko) * | 2016-07-12 | 2021-07-14 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 |
US11800113B2 (en) | 2016-07-12 | 2023-10-24 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and recording medium therefor |
WO2019203517A1 (ko) * | 2018-04-15 | 2019-10-24 | 엘지전자 주식회사 | 영상 코딩 시스템에서 움직임 정보 도출 방법 및 장치 |
US11368713B2 (en) | 2018-08-29 | 2022-06-21 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatus of video coding using subblock-based temporal motion vector prediction |
US11936901B2 (en) | 2018-08-29 | 2024-03-19 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatus of video coding using subblock-based temporal motion vector prediction |
WO2020184977A1 (ko) * | 2019-03-11 | 2020-09-17 | 한국전자통신연구원 | 화면 내 블록 복사 기반 부호화/복호화 방법, 장치 및 비트스트림 저장매체 |
US11985348B2 (en) | 2019-03-11 | 2024-05-14 | Electronics And Telecommunications Research Institute | Intra block copy-based encoding/decoding method and device, and bitstream storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20140253681A1 (en) | 2014-09-11 |
CN105009586B (zh) | 2018-05-25 |
JP6339116B2 (ja) | 2018-06-06 |
EP2965511A1 (en) | 2016-01-13 |
JP2016513907A (ja) | 2016-05-16 |
WO2014137596A1 (en) | 2014-09-12 |
KR101821030B1 (ko) | 2018-01-22 |
CN105009586A (zh) | 2015-10-28 |
US9800857B2 (en) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101821030B1 (ko) | 멀티-뷰 또는 3 차원 비디오 코딩에서의 인터-뷰 잔차 예측 | |
US9615090B2 (en) | Parsing syntax elements in three-dimensional video coding | |
KR102329912B1 (ko) | 디스패리티 벡터 유도 | |
US10158885B2 (en) | Simplified advanced motion prediction for 3D-HEVC | |
EP3162063B1 (en) | Filters for advanced residual prediction in video coding | |
US9277200B2 (en) | Disabling inter-view prediction for reference picture list in video coding | |
JP6407961B2 (ja) | ビデオコーディングにおける視差ベクトルリファインメント | |
US10009621B2 (en) | Advanced depth inter coding based on disparity of depth blocks | |
US9693077B2 (en) | Controlling sub prediction unit (sub-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding | |
KR20150034173A (ko) | 비디오 코딩에서의 디스패리티 벡터 선택 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |