KR101662963B1 - 3d 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램 - Google Patents
3d 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR101662963B1 KR101662963B1 KR1020157001333A KR20157001333A KR101662963B1 KR 101662963 B1 KR101662963 B1 KR 101662963B1 KR 1020157001333 A KR1020157001333 A KR 1020157001333A KR 20157001333 A KR20157001333 A KR 20157001333A KR 101662963 B1 KR101662963 B1 KR 101662963B1
- Authority
- KR
- South Korea
- Prior art keywords
- view
- picture
- block
- information
- texture
- Prior art date
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- H04N13/0048—
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
뷰 합성 예측이 깊이 맵, 디스패리티 정보 또는 또다른 뷰 내 동일-위치에 있는 참조 프레임의 다른 범위 정보를 활용하는 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다. 제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록 및 제 1 미압축된 텍스처 블록과 연관된 범위 정보가 획득된다. 범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보가 도출된다. 디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들이 획득된다. 참조 샘플들을 이용함으로써 뷰 합성 예측이 수행되어 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득한다.
Description
본 발명은 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
본 단원은 청구범위에서 인용되는 본 발명의 배경 또는 맥락을 제공하려는 것이다. 본 단원에 있는 설명은 실행될 수도 있겠으나, 반드시 이전에 상상되거나 실행되었던 것이 아닌 개념을 포함할 수 있다. 그러므로, 본 명세서에서 달리 지적하지 않는 한, 본 단원에서 기술된 설명은 본 출원에 있는 설명과 청구범위에 대한 종래 기술이 아니며 또한 본 단원에 포함된다고 하여 종래 기술인 것으로 인정되지 않는다.
비디오 코딩 시스템은 입력 비디오를 저장/전송에 맞게 압축된 표현으로 변환하는 인코더 및 압축된 비디오 표현을 다시 시청가능한 형태로 압축해제하는 디코더를 포함할 수 있다. 인코더는 비디오를 좀더 밀집한 형태로 표현하기 위하여, 예를 들면, 그렇지 않았다면 필요하였을지도 모를 비트레이트보다 더 낮은 비트 레이트로 비디오 정보를 저장/전송하기 위하여 원 비디오 시퀀스에서 일부 정보를 없앴을 수 있다.
스케일러블 비디오 코딩은 하나의 비트스트림이 콘텐츠의 여러 가지 표현을 상이한 비트 레이트, 해상도, 프레임 레이트 및/또는 다른 타입의 스케일러빌리티로 갖고 있을 수 있는 코딩 구조를 말한다. 스케일러블 비트스트림은 이용할 수 있는 최하위 품질 비디오를 제공하는 베이스 계층(a base layer) 및 하위 계층과 함께 수신되고 디코딩될 때 비디오 품질을 강화시키는 하나 이상의 강화 계층(enhancement layers)으로 이루어질 수 있다. 강화 계층의 코딩 효율을 개선하기 위하여, 그 계층의 코딩된 표현은 하위 계층에 달려 있을 수 있다. 그의 종속한 모든 계층과 함께 각각의 계층은 어떤 공간 해상도, 시간 해상도, 품질 레벨, 및/또는 다른 타입의 스케일러빌리티의 동작 점에서 비디오 신호의 한가지 표현이다.
3차원(3D) 비디오 콘텐츠를 제공하기 위한 다양한 기술이 현재 연구되고 개발되고 있다. 특히, 시청자가 특정한 뷰포인트(viewpoint)에서 단지 한 쌍의 스테레오 비디오만을 볼 수 있고 다른 뷰포인트에서는 다른 한 쌍의 스테레오 비디오를 볼 수 있는 멀티뷰 애플리케이션(multiview applications)에 대한 열성적인 연구가 집중되고 있다. 그러한 멀티뷰 애플리케이션에 대한 가장 실행 가능한 접근 방법들 중 하나는 단지 제한된 개수의 입력 뷰(input views), 예를 들면, 모노 또는 스테레오 비디오에 더하여 몇 가지 보충 데이터가 디코더 측으로 제공되고 나면 필요한 모든 뷰들이 그 디코더에 의해 디스플레이 상에서 디스플레이되도록 국부적으로 렌더링(즉, 합성)되는 것으로 드러났다.
3D 비디오 콘텐츠를 인코딩할 때, 어드밴스드 비디오 코딩(Advanced Video Coding) 표준 H.264/AVC 또는 H.264/AVC의 멀티뷰 비디오 코딩(Multiview Video Coding) MVC 확장과 같은 비디오 압축 시스템이 사용될 수 있다.
일부 실시예는 어떤 뷰의 현재 텍스처 블록에 대한 뷰 합성 예측 블록(a view synthesis prediction block)이 그 동일한 뷰에 대한 동일-위치에 있는 깊이/디스패리티 블록에 기초하여 형성되는 백워드 뷰 합성 예측(a backward view synthesis prediction)을 수행하는 메커니즘을 제공한다. 일부 실시예는 인코딩 및 디코딩 동작뿐만 아니라 인-루프 뷰 합성 예측(in-loop view synthesis prediction)을 위한 블록 기반의 낮은 복잡도로 구현할 수 있게 하는 뷰 합성을 수행하기 위한 동작의 집합을 명시한다. 일부 실시예에서, 제 1 뷰의 프레임의 현재 블록이 인코딩하기 위해 선택되며, 제 1 뷰의 프레임의 현재 블록이 인코딩하기 위해 선택된다. 현재 블록의 텍스처 블록과 연관된 범위 정보가 획득된다. 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보가 범위 정보에 기초하여 도출되며, 그 디스패리티 정보에 기초하여 참조 영역이 도출된다. 뷰 합성 예측이 참조 영역을 이용하여 수행되어 현재 블록의 예측을 획득한다.
본 발명의 제 1 양태에 따르면, 방법이 제공되며, 이 방법은,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하는 단계와,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하는 단계와,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하는 단계와,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 단계와,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하는 단계를 포함한다.
본 발명의 제 2 양태에 따르면, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되며, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서가 장치로 하여금,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하게 하고,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하게 하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하게 하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하게 하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하게 하도록 구성된다.
본 발명의 제 3 양태에 따르면, 컴퓨터가 제공되며, 이 컴퓨터는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하고,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득한다.
본 발명의 제 4 양태에 따르면, 장치가 제공되며, 이 장치는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하는 수단과,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하는 수단과,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하는 수단과,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 수단과,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하는 수단을 포함한다.
본 발명의 제 5 양태에 따르면, 방법이 제공되며, 이 방법은,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하는 단계와,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하는 단계와,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하는 단계와,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 단계와,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하는 단계를 포함한다.
본 발명의 제 6 양태에 따르면, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되며, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서가 장치로 하여금,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하게 하고,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하게 하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하게 하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하게 하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하게 하도록 구성된다.
본 발명의 제 7 양태에 따르면, 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공되며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 적어도,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하고,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하는 동작을 수행하게 한다.
본 발명의 제 8 양태에 따르면, 장치가 제공되며, 이 장치는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하는 수단과,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하는 수단과,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하는 수단과,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 수단과,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하는 수단을 포함한다.
본 발명의 제 9 양태에 따르면, 비디오 코더가 제공되며, 이 코더는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하고,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하기 위해 구성된다.
본 발명의 제 10 양태에 따르면, 비디오 디코더가 제공되며, 이 디코더는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하고,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플을 구하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하기 위해 구성된다.
본 발명의 보다 나은 이해를 위하여, 이제 예로서 첨부 도면이 참조될 것이다.
도 1은 스테레오스코픽 카메라 구성의 간략화된 2D 모델을 도시한다.
도 2는 멀티뷰 카메라 구성의 간략화된 모델을 도시한다.
도 3은 멀티뷰 오토스테레오스코픽 디스플레이(multiview autostereoscopic display (ASD))의 간략화된 모델을 도시한다.
도 4는 DIBR-기반 3DV 시스템의 간략화된 모델을 도시한다.
도 5는 비디오 플러스 깊이 데이터의 일예를 도시한다.
도 6은 제 1 및 제 2 코딩된 뷰에서 텍스처 이미지와 깊이 이미지 간의 수평-수직 및 디스패리티 대응관계를 시각화한 도면을 도시한다.
도 7(a)는 인트라 예측을 위한 후보로서 사용되는 현재 코딩된 블록의 공간 이웃을 도시한다.
도 7(b)는 인터 예측을 위한 후보로서 사용되는 현재 코딩된 블록의 시간 이웃을 도시한다.
도 8은 뷰 합성 가능한 멀티-뷰 비디오 인코더(a view synthesis enabled multi-view video encoder)의 일예를 간략화된 블록도로서 도시한다.
도 9는 뷰 합성 가능한 멀티-뷰 비디오 디코더의 일예를 간략화된 블록도로서 도시한다.
도 10은 본 발명의 일부 실시예를 이용하기에 적합한 전자 장치를 개략적으로 도시한다.
도 11은 본 발명의 일부 실시예를 이용하기에 적합한 사용자 장비를 개략적으로 도시한다.
도 12는 무선 및 유선 네트워크 접속을 이용하여 연결된 본 발명의 실시예를 이용하는 전자 장치를 개략적으로 추가 도시한다.
도 13은 예시적인 실시예에 따른 인코딩 방법을 흐름도로서 도시한다.
도 14는 예시적인 실시예에 따른 디코딩 방법을 흐름도로서 도시한다.
도 1은 스테레오스코픽 카메라 구성의 간략화된 2D 모델을 도시한다.
도 2는 멀티뷰 카메라 구성의 간략화된 모델을 도시한다.
도 3은 멀티뷰 오토스테레오스코픽 디스플레이(multiview autostereoscopic display (ASD))의 간략화된 모델을 도시한다.
도 4는 DIBR-기반 3DV 시스템의 간략화된 모델을 도시한다.
도 5는 비디오 플러스 깊이 데이터의 일예를 도시한다.
도 6은 제 1 및 제 2 코딩된 뷰에서 텍스처 이미지와 깊이 이미지 간의 수평-수직 및 디스패리티 대응관계를 시각화한 도면을 도시한다.
도 7(a)는 인트라 예측을 위한 후보로서 사용되는 현재 코딩된 블록의 공간 이웃을 도시한다.
도 7(b)는 인터 예측을 위한 후보로서 사용되는 현재 코딩된 블록의 시간 이웃을 도시한다.
도 8은 뷰 합성 가능한 멀티-뷰 비디오 인코더(a view synthesis enabled multi-view video encoder)의 일예를 간략화된 블록도로서 도시한다.
도 9는 뷰 합성 가능한 멀티-뷰 비디오 디코더의 일예를 간략화된 블록도로서 도시한다.
도 10은 본 발명의 일부 실시예를 이용하기에 적합한 전자 장치를 개략적으로 도시한다.
도 11은 본 발명의 일부 실시예를 이용하기에 적합한 사용자 장비를 개략적으로 도시한다.
도 12는 무선 및 유선 네트워크 접속을 이용하여 연결된 본 발명의 실시예를 이용하는 전자 장치를 개략적으로 추가 도시한다.
도 13은 예시적인 실시예에 따른 인코딩 방법을 흐름도로서 도시한다.
도 14는 예시적인 실시예에 따른 디코딩 방법을 흐름도로서 도시한다.
본 발명 및 본 발명과 관련한 실시예의 여러 양태를 이해하기 위하여, 아래에서는 비디오 코딩의 몇 가지 밀접하게 관련된 양태를 간략히 설명한다.
이 단원에서는 몇 가지 주요 정의, 비트스트림 및 코딩 구조, 및 H.264/AVC의 개념이 일부 실시예가 구현될 수 있는 비디오 인코더, 디코더, 인코딩 방법, 디코딩 방법, 및 비트스트림 구조의 예로서 설명된다. 본 발명의 양태는 H.264/AVC으로 제한되지 않지만, 오히려 본 발명이 부분적으로 또는 전체적으로 실현될 수 있는 것 이외에 한가지 가능한 근거에 대하여 설명이 제공된다.
H.264/AVC 표준은 국제 전기통신 연합(ITU-T)의 전기통신 표준화 부분의 비디오 코딩 전문가 그룹(Video Coding Experts Group (VCEG))과 국제 표준화 기구(International Standardisation Organisation (ISO))/국제 전기기술 위원회(International Electrotechnical Commission (IEC))의 동화상 전문가 그룹(Moving Picture Experts Group (MPEG))의 조인트 비디오 팀(Joint Video Team (JVT))에 의해 개발되었다. H.264/AVC 표준은 양쪽의 부모 표준화 기구에 의해 공표되며, 이것은 ITU-T 권고안 H.264 및 ISO/IEC 국제 표준 14496-10이라고도 지칭되며, 또한 MPEG-4 파트 10 어드밴스드 비디오 코딩(Advanced Video Coding (AVC))이라고도 알려져 있다. H.264/AVC 표준의 복수개 버전이 있는데, 각각의 버전은 사양의 새로운 확장 부분들 또는 특징 부분들을 통합하고 있다. 이러한 확장 부분은 스케일러블 비디오 코딩(Scalable Video Coding (SVC)) 및 멀티뷰 비디오 코딩(Multiview Video Coding (MVC))을 포함한다.
초기의 많은 비디오 코딩 표준에 유사하게, H.264/AVC에서 비트스트림 신택스 및 시맨틱뿐만 아니라 오류 없는 비트스트림을 위한 디코딩 프로세스가 명시되어 있다. 인코딩 프로세스는 명시되어 있지 않지만, 인코더는 규칙을 준수하는 비트스트림을 발생하여야 한다. 비트스트림 및 디코더 적합성(conformance)은 H.264/AVC의 부록 C에서 명시된 가상 참조 디코더(Hypothetical Reference Decoder (HRD))를 이용하여 검증될 수 있다. 표준은 전송 오류 및 손실에 대처하는데 도움이 되는 코딩 툴을 포함하고 있지만, 인코딩 시에 툴의 사용은 선택사양이며 오류가 발생한 비트스트림의 처리를 위한 아무런 디코딩 프로세스도 명시되어 있지 않다.
H.264/AVC 인코더로의 입력 및 H.264/AVC 디코더의 출력의 단위 유닛(elementary unit)은 픽처이다. 픽처는 프레임이거나 필드일 수 있다. 프레임은 전형적으로 루마 샘플(luma samples) 및 대응하는 크로마 샘플(chroma samples)의 매트릭스를 포함한다. 소스 신호가 비월주사(interlace)될 때, 필드는 프레임의 일련의 교번 샘플 로우들(alternate sample rows)이며 인코더 입력으로서 사용될 수 있다. 매크로블록(MB)은 루마 샘플의 16x16 블록 및 크로마 샘플의 대응 블록이다. 블록은 경계 샘플들을 가지며, 경계 샘플들은 샘플 중 최상위 및 최하위 로우 그리고 샘플 중 최좌측 및 최우측 컬럼에 있는 샘플들로 이루어진다. 부호화 또는 디코딩되는 다른 블록에 인접한 경계 샘플들은 예를 들면 인트라 예측에서 사용될 수 있다. 크로마 픽처는 루마 픽처와 비교할 때 서브샘플될 수 있다. 예를 들면, 4:2:0 샘플링 패턴에서, 크로마 픽처의 공간 해상도는 두 좌표 축을 따라서 놓인 루마 픽처의 공간 해상도의 절반이며, 그 결과 매크로블록은 각 크로마 컴포넌트 당 크로마 샘플들의 하나의 8x8 블록을 포함한다. 픽처는 하나 이상의 슬라이스 그룹으로 분할되고, 슬라이스 그룹은 하나 이상의 슬라이스를 포함하고 있다. 슬라이스는 특정한 슬라이스 그룹 내에서 래스터 스캔 순서로 연속하는 정수개의 매크로블록으로 이루어진다.
H.264/AVC 인코더의 출력 및 H.264/AVC 디코더의 입력의 단위 유닛은 네트워크 추상 계층(Network Abstraction Layer (NAL)) 유닛이다. 부분적으로 유실되거나 손상된 NAL 유닛을 디코딩하기는 일반적으로 어렵다. 패킷-중심 네트워크를 통해 전송하거나 구조화된 파일로 저장하기 위해, NAL 유닛은 일반적으로 패킷 또는 유사한 구조로 캡슐화된다. 프레이밍 구조를 제공하지 않는 전송 또는 저장 환경을 위해 바이트스트림 포맷이 H.264/AVC에서 정의되었다. 바이트스트림 포맷은 각 NAL 유닛의 앞 단에다 시작 코드를 붙임으로써 NAL 유닛들을 서로 구분한다. NAL 유닛 경계의 오검출을 방지하기 위해, 인코더는 바이트-중심의 시작 코드 에뮬레이션 방지 알고리즘(byte-oriented start code emulation prevention algorithm)을 구동하는데, 이는 알고리즘을 구동하지 않아서 시작 코드가 발생하였을 경우에 에뮬레이션 방지 바이트를 NAL 유닛 페이로드에 첨가하는 알고리즘이다. 패킷-중심 시스템과 스트림-중심 시스템 사이에서 올바른 게이트웨이 동작을 가능할 수 있도록 하기 위하여, 바이트스트림 포맷이 사용 중이든 그렇지 않든 간에 시작 코드 에뮬레이션 방지가 항시 수행된다.
다른 많은 비디오 코딩 표준처럼, H.264/AVC은 코딩된 픽처를 슬라이스로 분할할 수 있게 한다. 픽처-내 예측(In-picture prediction)은 슬라이스 경계 전체에서 디스에이블된다. 따라서, 슬라이스는 코딩된 픽처를 독립적으로 디코딩가능한 조각으로 나누는 방식처럼 간주될 수 있고, 그러므로 슬라이스는 전송을 위한 단위 유닛이다.
H.264/AVC의 몇몇 프로파일은 코딩된 픽처 당 여덟 슬라이스 그룹까지 사용할 수 있다. 하나 보다 많은 슬라이스 그룹이 사용되고 있을 때, 픽처는 슬라이스 그룹 맵 유닛으로 분할되며, 이 맵 유닛은 매크로블록-적응적 프레임-필드(macroblock-adaptive frame-field (MBAFF)) 코딩이 사용되고 있을 때는 두 개의 수직으로 이어진 매크로블록과 동일하며 그렇지 않으면 한 매크로블록과 동일하다. 픽처 파라미터 세트는 픽처의 각 슬라이스 그룹 맵 유닛이 특별한 슬라이스 그룹과 연관되어 있다는 것에 기초하는 데이터를 갖고 있다. 슬라이스 그룹은 인접하지 않은 맵 유닛들을 비롯한, 임의의 슬라이스 그룹 맵 유닛을 가질 수 있다. 픽처에 대해 하나 보다 많은 슬라이스 그룹이 명시될 때, 표준의 플렉서블 매크로블록 오더링(flexible macroblock ordering (FMO)) 특징이 사용된다.
H.264/AVC에서, 슬라이스는 래스터 스캔 순서의 특정 슬라이스 그룹 내에서 하나 이상의 연속하는 매크로블록(또는 MBAFF가 사용되고 있을 때는 매크로블록 쌍)으로 구성된다. 만일 단 하나의 슬라이스 그룹이 사용되고 있으면, H.264/AVC 슬라이스는 래스터 스캔 순서대로 연속하는 매크로블록을 가지며 그러므로 이전의 많은 코딩 표준들에서의 슬라이스와 유사하다. H.264/AVC의 몇몇 프로파일에서, 코딩된 픽처의 슬라이스들은 비트스트림에서 서로에 대하여 임의의 순서로 발생할 수 있는데, 이것은 임의 슬라이스 정렬(arbitrary slice ordering (ASO)) 특징이라고 지칭된다. 그렇지 않으면, 슬라이스들은 분명 비트스트림에서 래스터 스캔 순서일 것이다.
NAL 유닛은 헤더와 페이로드로 구성된다. NAL 유닛 헤더는 NAL 유닛의 타입을 표시하며 또한 NAL 유닛에 포함된 코딩된 슬라이스가 참조 픽처 또는 비-참조 픽처(non-reference picture)의 일 부분인지의 여부를 표시한다. SVC 및 MVC NAL 유닛의 헤더는 스케일러빌리티 및 멀티뷰 계층구조(multiview hierarchy)에 관련된 각종 표시를 부가적으로 포함할 수 있다.
H.264/AVC의 NAL 유닛은 비디오 코딩 계층(Video Coding Layer (VCL)) NAL 유닛 및 논(non)-VCL NAL 유닛으로 분류될 수 있다. VCL NAL 유닛은 코딩된 슬라이스 NAL 유닛, 코딩된 슬라이스 데이터 파티션 NAL 유닛 또는 VCL 프리픽스 NAL 유닛이다. 코딩된 슬라이스 NAL 유닛은 하나 이상의 코딩된 매크로블록들을 나타내는 신택스 요소를 포함하며, 각각의 코딩된 매크로블록은 압축되지 않은 픽처 내 샘플들의 블록에 대응한다. 코딩된 슬라이스 NAL 유닛은 네 가지 타입, 즉, 순간 디코딩 리플레시(Instantaneous Decoding Refresh (IDR)) 픽처에서의 코딩된 슬라이스, 논(non)-IDR 픽처에서의 코딩된 슬라이스, (알파 평면과 같은) 예비 코딩된 픽처의 코딩된 슬라이스, 그리고 (베이스 계층에서 존재하지 않는 SVC 슬라이스 또는 베이스 뷰에서 존재하지 않는 MVC 슬라이스의 경우) 코딩된 슬라이스 확장이 있다. 한 세트의 세 개의 코딩된 슬라이스 데이터 파티션 NAL 유닛은 동일한 신택스 요소를 코딩된 슬라이스로서 갖고 있다. 코딩된 슬라이스 데이터 파티션 A는 매크로블록 헤더 및 슬라이스의 움직임 벡터를 포함하며, 반면 코딩된 슬라이스 데이터 파티션 B 및 C는 각기 인트라 매크로블록 및 인터 매크로블록에 대해 코딩된 잔차 데이터(residual data)를 포함한다. 슬라이스 데이터 파티션을 지원하는 것은 H.264/AVC의 일부 프로파일에서 포함될 뿐이라는 것을 주목하자. VCL 프리픽스 NAL 유닛은 SVC 및 MVC 비트스트림에서 베이스 계층의 코딩된 슬라이스의 앞에 나오며 연관된 코딩된 슬라이스의 스케일러빌리티 계층구조의 표시를 갖고 있다.
H.264/AVC의 논-VCL NAL 유닛은 다음과 같은 타입 중 하나, 즉 시퀀스 파라미터 세트, 픽처 파라미터 세트, 보충 강화 정보(supplemental enhancement information (SEI)) NAL 유닛, 액세스 유닛 구분자(an access unit delimiter), 시퀀스 NAL 유닛의 끝, 스트림 NAL 유닛의 끝, 또는 필러 데이터 NAL 유닛(a filler data NAL unit) 일 수 있다. 파라미터 세트는 디코딩된 픽처의 재구성을 위해 필수적이며, 반면 다른 논-VCL NAL 유닛은 디코딩된 샘플 값들의 재구성에는 필요하지 않으며 아래에서 제시된 다른 목적으로 사용된다.
코딩된 비디오 시퀀스를 통해 변동되지 않고 유지되는 많은 파라미터들은 시퀀스 파라미터 세트에 포함된다. 디코딩 프로세스에 필수적인 파라미터들 이외에도, 시퀀스 파라미터 세트는 선택사양으로 비디오 유용성 정보(video usability information (VUI))를 포함할 수 있는데, 이 정보는 버퍼링, 픽처 출력 타이밍, 렌더링, 및 자원 예약하는데 중요한 파라미터를 포함한다. 픽처 파라미터 세트는 여러 코딩된 픽처에서 변동되지 않을 것 같은 그러한 파라미터를 갖고 있다. H.264/AVC 비트스트림에는 아무 픽처 헤더도 존재하지 않지만 각 슬라이스 헤더에서 자주 바뀌는 픽처-레벨 데이터가 반복되며 픽처 파라미터 세트는 그대로 남아 있는 픽처-레벨 파라미터를 가지고 있다. H.264/AVC 신택스는 시퀀스 및 픽처 파라미터 세트의 많은 인스턴스를 허용하며, 각각의 인스턴스는 고유 식별자로 식별된다. 각각의 슬라이스 헤더는 슬라이스로 구성된 픽처의 디코딩을 위해 액티브 상태인 픽처 파라미터의 식별자를 포함하며, 각각의 픽처 파라미터 세트는 액티브 시퀀스 파라미터 세트의 식별자를 갖고 있다. 따라서, 픽처 및 시퀀스 파라미터 세트의 전송은 슬라이스의 전송과 정확하게 동기되어야 하는 것은 아니다. 그 대신, 액티브 시퀀스 및 픽처 파라미터 세트는 이들이 참조되기 전 어느 때라도 수신되면 그것으로 충분하며, 이로써 슬라이스 데이터에 대해 사용된 프로토콜과 비교하여 더욱 신뢰성 있는 전송 메커니즘을 이용하여 파라미터 세트를 전송하는 것이 가능해진다. 예를 들면, 파라미터 세트는 H.264/AVC 실시간 전송 프로토콜(Real-time Transport Protocol (RTP)) 세션의 세션 디스크립션 내의 파라미터로서 포함될 수 있다. 파라미터 세트가 대역 내(in-band) 전송되는 경우, 파라미터 세트는 오류 강인성(error robustness)을 개선하기 위해 반복될 수 있다.
H.264/AVC의 SEI NAL 유닛은 하나 이상의 SEI 메시지를 포함하는데, 이 SEI 메시지는 출력 픽처의 디코딩에 필요하지 않고, 픽처 출력 타이밍, 렌더링, 오류 검출, 오류 은닉, 및 자원 예약과 같은 관련된 프로세스에서 도움이 된다. H.264/AVC에는 여러 SEI 메시지가 명시되어 있으며, 사용자 데이터 SEI 메시지는 조직 및 회사가 자체적인 사용을 위해 SEI 메시지를 명시할 수 있게 한다. H.264/AVC은 명시된 SEI 메시지의 신택스 및 시맨틱을 포함하지만, 수신 측에서 그 메시지를 다루기 위한 어느 프로세스도 정의되어 있지 않다. 따라서, 인코더는 SEI 메시지를 생성할 때 H.264/AVC 표준을 따르는 것이 요구되며, H.264/AVC 표준에 준수하는 디코더는 출력 순서 적합성에 맞추어 SEI 메시지를 처리하는 것이 요구되지 않는다. SEI 메시지의 신택스 및 시맨틱을 H.264/AVC에 포함시키는 이유 중 하나는 다양한 시스템 사양들이 보충 정보를 동일하게 해석할 수 있게 하고 그래서 상호 정보교환(interoperate)할 수 있게 하기 위함이다. 이것은 시스템 사양이 인코딩 측에서 및 디코딩 측에서 모두 특정 SEI 메시지의 사용을 필요로 할 수 있고, 부가적으로는 특정 SEI 메시지를 수신 측에서 다루기 위한 프로세스가 명시될 수 있도록 하기 위함이다.
H.264/AVC에서 코딩된 픽처는 그 픽처를 디코딩하는데 필요한 VCL NAL 유닛으로 구성된다. 코딩된 픽처는 일차 코딩된 픽처(a primary coded picture) 또는 여분의 코딩된 픽처(a redundant coded picture)일 수 있다. 일차 코딩된 픽처는 유효한 비트스트림의 디코딩 프로세스에서 사용되는 반면, 여분의 코딩된 픽처는 일차 코딩된 픽처가 성공적으로 디코딩될 수 없을 때 디코딩만이라도 되어야 하는 여분의 표현이다.
H.264/AVC에서, 액세스 유닛은 일차 코딩된 픽처 및 이와 연관된 NAL 유닛을 포함한다. 액세스 유닛 내에서 NAL 유닛의 출현 순서는 다음과 같이 제한된다. 선택사양의 액세스 유닛 구분자 NAL 유닛은 액세스 유닛의 시작을 표시할 수 있다. 이것 다음에는 0개 이상의 SEI NAL 유닛이 이어진다. 일차 코딩된 픽처의 코딩된 슬라이스 또는 슬라이스 데이터 파티션들은 다음에 나오고, 그 다음에는 0개 이상의 여분의 코딩된 픽처의 코딩된 슬라이스들이 뒤이어 나온다.
MVC에서 액세스 유닛은 디코딩 순서대로 연속하면서 하나 이상의 뷰 컴포넌트로 이루어진 정확히 하나의 일차 코딩된 픽처를 포함하는 한 세트의 NAL 유닛으로 정의된다. 일차 코딩된 픽처 이외에도, 액세스 유닛은 또한 하나 이상의 여분의 코딩된 픽처, 하나의 보조적으로 코딩된 픽처, 또는 코딩된 픽처의 슬라이스 또는 슬라이스 데이터 부분을 포함하지 않는 다른 NAL 유닛을 포함할 수 있다. 액세스 유닛을 디코딩하면 하나 이상의 디코딩된 뷰 컴포넌트로 이루어진 하나의 디코딩된 픽처가 생긴다. 다시 말해서, MVC에서 액세스 유닛은 하나의 출력 시간 인스턴스에 대한 뷰들의 뷰 컴포넌트들을 갖는다.
MVC에서 뷰 컴포넌트는 단일 액세스 유닛에서 뷰의 코딩된 표현이라고 지칭된다.
뷰-간 예측(inter-view prediction)은 MVC에서 사용될 수 있으며 동일한 액세스 유닛의 상이한 뷰 컴포넌트의 디코딩된 샘플로부터 뷰 컴포넌트의 예측을 말한다. MVC에서, 뷰-간 예측은 인터 예측과 유사하게 실현된다. 예를 들면, 뷰-간 참조 픽처는 인터 예측을 위한 참조 픽처와 동일한 참조 픽처 리스트(들)에 배치되며, 참조 인덱스뿐만 아니라 움직임 벡터는 뷰-간 및 인터 참조 픽처에 대해 유사하게 부호화되거나 추론된다.
MVC에서 앵커 픽처(an anchor picture)는 모든 슬라이스들이 동일한 액세스 유닛 내 슬라이스들만을 참조할 수 있는, 즉, 뷰-간 예측이 사용되지만 어떠한 인터 예측도 사용되지 않으며, 출력 순서에서 다음에 오는 모든 코딩된 픽처들이 디코딩 순서로 코딩된 픽처에 앞선 임의의 픽처로부터 인터 예측을 사용하지 않는, 코딩된 픽처이다. 뷰-간 예측은 논-베이스 뷰(non-base view)의 일부인 IDR 뷰 컴포넌트를 위해 사용될 수 있다. MVC에서 베이스 뷰는 코딩된 비디오 시퀀스에서 뷰 순서 인덱스의 최대 값을 갖는 뷰이다. 베이스 뷰는 다른 뷰와 무관하게 디코딩될 수 있으며 뷰-간 예측을 사용하지 않는다. 베이스 뷰는 H.264/AVC의 베이스라인 프로파일(Baseline Profile) 또는 하이 프로파일(High Profile)과 같이, 단일-뷰 프로파일만을 지원하는 H.264/AVC 디코더에 의해 디코딩될 수 있다.
MVC 표준에서, MVC 디코딩 프로세스의 많은 서브-프로세스들은 H.264/AVC 표준의 서브-프로세스 사양에서의 용어 "픽처", "프레임", 및 "필드"를 "뷰 컴포넌트", "프레임 뷰 컴포넌트", 및 "필드 뷰 컴포넌트"로 각기 대체함으로써 H.264/AVC 표준의 각각의 서브-프로세스를 사용한다. 마찬가지로, 용어 "픽처", "프레임", 및 "필드"는 다음의 설명에서 종종 "뷰 컴포넌트", "프레임 뷰 컴포넌트", 및 "필드 뷰 컴포넌트"를 의미하는 것으로 사용된다.
코딩된 비디오 시퀀스는 IDR 액세스 유닛을 포함하여 이 유닛부터 다음 IDR 액세스 유닛을 제외한 이 유닛까지, 또는 비트스트림의 끝까지의, 어느 것이든 먼저 나오는, 디코딩 순서에서 연속하는 액세스 유닛들의 시퀀스로 정의된다.
픽처 그룹(group of pictures (GOP)) 및 그의 특성은 다음과 같이 정의될 수 있다. GOP는 임의의 이전의 픽처가 디코딩되었는지와 무관하게 디코딩될 수 있다. 오픈 GOP(an open GOP)는 오픈 GOP의 첫 인트라 픽처로부터 디코딩이 시작할 경우에 출력 순서에서 첫 인트라 픽처에 앞선 픽처가 정확하게 디코딩 가능하지 않을 수도 있는 그런 픽처 그룹이다. 다시 말해서, 오픈 GOP의 픽처는 (인터 예측에서) 이전의 GOP에 속하는 픽처를 참조할 수 있다. H.264/AVC 디코더는 H.264/AVC 비트스트림에서 복구 지점(recovery point) SEI 메시지로부터 오픈 GOP를 시작하는 인트라 픽처를 인식할 수 있다. 클로즈드 GOP(a closed GOP)는 클로즈드 GOP의 처음의 인트라 픽처로부터 디코딩이 시작할 경우에 모든 픽처가 정확하게 디코딩될 수 없는 그러한 픽처 그룹이다. 다시 말해서, 클로즈드 GOP 내에 있는 어느 픽처도 이전 GOP 내에 있는 임의의 픽처를 참조하지 않는다. H.264/AVC에서, 클로즈드 GOP는 IDR 액세스 유닛으로부터 시작한다. 그 결과, 클로즈드 GOP 구조는 오픈 GOP 구조와 비교하여 잠재적인 오류 내성을 더 많이 갖지만, 그 대가로 아마도 압축 효율이 낮아진다. 오픈 GOP 코딩 구조는 참조 픽처의 선택 시 융통성이 더 많으므로 압축 시 잠재적으로 더 효과적이다.
H.264/AVC의 비트스트림 신택스는 특정 픽처가 임의의 다른 픽처의 인터 예측을 위한 참조 픽처인지의 여부를 표시한다. 임의의 코딩 타입(I, P, B, SP)의 픽처는 H.264/AVC에서 참조 픽처 또는 비-참조 픽처일 수 있다. NAL 유닛 헤더는 NAL 유닛의 타입을 표시하며 NAL 유닛에 포함된 코딩된 슬라이스가 참조 픽처 또는 비-참조 픽처의 일부분인지의 여부를 표시한다.
고 효율 비디오 코딩(a High Efficiency Video Coding (HEVC)) 표준을 명시하기 위해 진행중인 비디오 코딩 표준화 프로젝트가 있다. HEVC의 주요 정의, 비트스트림 및 코딩 구조, 그리고 개념의 많은 부분이 H.264/AVC의 것과 동일하거나 유사하다. HEVC의 일부 주요 정의, 비트스트림 및 코딩 구조, 그리고 개념은 이 단원에서 일부 실시예가 구현될 수 있는 비디오 인코더, 디코더, 인코딩 방법, 디코딩 방법, 및 비트스트림 구조의 예로서 설명된다. 본 발명의 양태는 HEVC으로 제한되지 않고, 오히려 본 발명이 부분적으로 또는 전체적으로 실현될 수 있는 것 이외에 한 가지 가능한 근거에 대해 설명된다.
H.264/AVC과 유사하게, HEVC 비트스트림은 다수의 액세스 유닛으로 구성되며, 각각의 액세스 유닛은 픽처와 연관된 코딩된 데이터를 포함한다. 각각의 액세스 유닛은 NAL 유닛으로 나뉘어지며, NAL 유닛은 하나 이상의 VCL NAL 유닛(즉, 코딩된 NAL 유닛) 및 0개 이상의 논-VCL NAL 유닛, 예를 들면, 파라미터 세트 NAL 유닛 또는 보충 강화 정보(SEI) NAL 유닛을 포함한다. 각각의 NAL 유닛은 NAL 유닛 헤더와 NAL 유닛 페이로드를 포함한다. 초안 HEVC 표준에서, 2-바이트 NAL 유닛 헤더는 모든 명시된 NAL 유닛 타입에 대해 사용된다. NAL 유닛 헤더의 첫 바이트는 하나의 예약된 비트와, 이 액세스 유닛에 실린 픽처가 참조 픽처 또는 비-참조 픽처인지 여부를 기본적으로 표시하는 1-비트 표시의 nal_ref_idc, 및 6-비트의 NAL 유닛 타입 표시를 포함한다. NAL 유닛 헤더의 두 번째 바이트는 시간 레벨에 대한 3-비트의 temporal_id 표시 및 초안 HEVC 표준에서 1이라는 값을 갖도록 요구된 5-비트의 예약된 필드(reserved_one_5bits라고 칭함)를 포함한다. 5-비트 예약된 필드는 미래의 스케일러블 및 3D 비디오 확장과 같은 확장에 의해 사용될 것으로 예상된다. 이러한 다섯 비트는 스케일러빌리티 계층구조에 관한 정보, 이를 테면quality_id 또는 유사한 것, dependency_id 또는 유사한 것, 임의의 다른 타입의 계층 식별자, 뷰 순서 인덱스 또는 유사한 것, 뷰 식별자, 만일 특정 식별자 값보다 큰 모든 NAL 유닛이 비트스트림으로부터 제거된 경우이면 유효 서브-비트스트림 추출을 표시하는 SVC의 priority_id와 유사한 식별자를 전달할 것이라고 예상된다. 보편성을 잃지 않고, 일부 예의 실시예에서, 가변 LayerId는 예를 들면 다음과 같이 reserved_one_5bits의 값으로부터 도출된다. 즉, LayerId = reserved_one_5bits - 1.
초안 HEVC 표준에서, 픽처 분할(picture partitioning)에 관한 몇가지 주요 정의 및 개념은 아래와 같이 정의된다. 분할은 하나의 세트를 서브세트들로 나누어서 그 세트의 각 요소가 서브세트들 중 바로 하나에 속하게 하는 것이라고 정의된다.
비디오 픽처는 픽처의 영역을 커버링하는 코딩 유닛(coding units (CU))으로 나뉘어질 수 있다. 코딩 유닛은 코딩 유닛 내 샘플들에 대한 예측 프로세스를 정의하는 하나 이상의 예측 유닛(prediction units (PU)) 및 코딩 유닛 내 샘플들에 대한 예측 오류 코딩 프로세스를 정의하는 하나 이상의 변환 유닛(transform units (TU))으로 구성된다. 코딩 유닛은 가능한 코딩 유닛 크기들의 사전정의된 세트로부터 크기를 선택할 수 있는 사각 블록의 샘플들로 구성될 수 있다. 허용된 최대 크기의 코딩 유닛은 최대 코딩 유닛(a largest coding unit (LCU))이라고 명명될 수 있으며 비디오 픽처는 중첩하지 않는 최대 코딩 유닛들로 나뉘어질 수 있다. 최대 코딩 유닛은 예를 들면, 최대 코딩 유닛을 반복하여 분리하고 그 결과적인 코딩 유닛을 반복적으로 분리함으로써 더 작은 코딩 유닛들의 조합으로 더 분리될 수 있다. 각각의 결과적인 코딩 유닛은 적어도 하나의 예측 유닛 및 그와 연관된 적어도 하나의 변환 유닛을 가질 수 있다. 각각의 예측 유닛 및 변환 유닛은 예측 및 예측 오류 코딩 프로세스의 그래뉴러리티를 높이기 위해 각기 더 작은 예측 유닛 및 변환 유닛으로 더 분리될 수 있다. 각각의 예측 유닛은 그와 연관되어 그 예측 유닛 내 픽셀에 대하여 무슨 종류의 예측이 적용될 것인지를 정의하는 예측 정보(예를 들면, 인터 예측된 예측 유닛에 대한 움직임 벡터 정보 및 인트라 예측된 예측 유닛에 대한 인트라 예측 방향성 정보)를 갖는다. 유사하게, 각각의 변환 유닛은 그 변환 유닛 내 샘플들에 대한 예측 오류 디코딩 프로세스를 기술하는 (예를 들면, DCT 계수 정보를 비롯한) 정보와 연관된다. 예측 오류 코딩이 각 코딩 유닛 마다 적용할지 적용할지 적용하지 않을지의 여부가 코딩 유닛 레벨에서 신호될 수 있다. 코딩 유닛과 연관된 어떤 예측 오류 잔차도 없는 경우, 그 코딩 유닛에 대한 변환 유닛이 없다고 간주될 수 있다. 이미지를 코딩 유닛으로 나누는 것, 그리고 코딩 유닛을 예측 유닛 및 변환 유닛으로 나누는 것은 비트스트림에서 신호되어 디코더로 하여금 이들 유닛의 의도된 구조를 재생하게 할 수 있게 한다.
H.264/AVC 및 HEVC을 포함하는, 많은 하이브리드 비디오 코덱은 비디오 정보를 두 가지 국면에서 인코딩한다. 첫 번째 국면에서, 특정 픽처 영역 또는 "블록" 내 픽셀 또는 샘플 값이 예측된다. 이들 픽셀 또는 샘플 값은 예를 들면, 코딩되는 블록에 밀접하게 대응하는 이전에 인코딩된 비디오 프레임들 중 한 프레임 내에서 영역을 찾아 표시하는 과정을 포함하는 움직임 보상 메커니즘에 의해 예측될 수 있다. 부가적으로, 픽셀 또는 샘플 값은 공간 구역 관계를 찾고 표시하는 과정을 포함하는 공간 메커니즘에 의해 예측될 수 있다.
이전에 코딩된 이미지로부터의 이미지 정보를 이용하는 예측 접근 방법은 인터 예측 방법이라고도 부르며 또한 시간 예측 및 움직임 보상이라고도 지칭될 수 있다. 동일한 이미지 내의 이미지 정보를 이용하는 예측 접근 방법은 인트라 예측 방법이라고도 부른다.
두 번째 국면은 픽셀 또는 샘플의 예측된 블록과 원래의 픽셀 또는 샘플의 블록 간의 오차를 부호화하는 국면이다. 이것은 명시된 변환을 이용하여 픽셀 또는 샘플 값의 차를 변환함으로써 성취될 수 있다. 이러한 변환은 이산 코사인 변환(DCT) 또는 그의 변형본일 수 있다. 오차를 변환한 후, 변환된 오차는 양자화되고 엔트로피 인코딩된다.
양자화 프로세스의 충실도를 변화시킴으로써, 인코더는 픽셀 또는 샘플 표현의 정확도(즉, 픽처의 시각 품질)와 결과적으로 인코딩된 비디오 표현의 크기(즉, 파일 크기 또는 전송 비트 레이트) 간의 균형을 제어할 수 있다.
디코더는 (인코더에 의해 생성되어 이미지의 압축된 표현으로 저장된 움직임 또는 공간 정보를 이용하여) 픽셀 또는 샘플 블록의 예측된 표현을 형성하기 위하여 인코더에 의해 사용된 것과 유사한 예측 메커니즘 및 예측 오류 디코딩(공간 도메인에서 양자화된 예측 오차 신호를 복원하는 예측 오류 코딩의 역 동작)을 적용함으로써 출력 비디오를 재구성한다.
픽셀 또는 샘플 예측 및 오차 디코딩 프로세스를 적용한 후, 디코더는 예측 및 예측 오차 신호(픽셀 또는 샘플 값)를 결합하여 출력 비디오 프레임을 형성한다.
디코더(및 인코더)는 또한 출력 비디오의 품질을 개선하기 위하여 부가적인 필터링 프로세스를 적용한 다음 이를 디스플레이하기 위해 전달하며/전달하거나 비디오 시퀀스에서 다음에 오는 픽처를 위한 예측 참조로서 저장할 수 있다.
H.264/AVC 및 HEVC을 비롯한, 많은 비디오 코덱에서, 움직임 정보는 각각의 움직임 보상된 이미지 블록과 연관된 움직임 벡터로 표시된다. 이러한 움직임 벡터는 각기 (인코더 측에서) 코딩될 또는 (디코더 측에서) 디코딩될 픽처 내 이미지 블록과 이전에 코딩된 또는 디코딩된 픽처들 중 한 픽처 내 예측 소스 블록의 변위를 나타낸다. H.264/AVC 및 HEVC은 다른 많은 비디오 압축 표준처럼, 픽처를 사각형들의 메시로 분리하는데, 각 사각형 마다 참조 픽처들 중 한 픽처 내 유사 블록이 인터 예측을 위해 표시된다. 예측 블록의 위치는 부호화되는 블록에 비교된 예측 블록의 위치를 표시하는 움직임 벡터로서 코딩된다. 움직임 벡터를 효과적으로 표현하기 위하여, 움직임 벡터는 블록-별 예측된 움직임 벡터에 대하여 상이하게 코딩될 수 있다. 많은 비디오 코덱에서, 예측된 움직임 벡터는 사전에 정의된 방식으로, 예를 들면 인접 블록들의 인코딩된 또는 디코딩된 움직임 벡터의 중간 값(median)을 계산함으로써 생성된다. 움직임 벡터 예측을 생성하는 다른 방식은 시간 참조 픽처 내 인접 블록들 및/또는 동일-위치에 있는 블록들로부터 후보 예측들의 리스트를 만들고 선택한 후보를 움직임 벡터 예측자(motion vector predictor)로서 신호하는 것이다. 움직임 벡터 값을 예측하는 것 이외에도, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 시간 참조 픽처 내 인접 블록들 및/또는 동일-위치에 있는 블록들로부터 예측될 수 있다. 더욱이, 많은 고 효율 비디오 코덱은 종종 합치는/합병 모드(merge mode)라고 부르는 부가적인 움직임 정보 코딩/디코딩 메커니즘을 이용하는데, 이 메커니즘에서 각각의 이용 가능한 참조 픽처 리스트 마다 움직임 벡터 및 대응하는 참조 픽처 인덱스를 포함하는 모든 움직임 필드 정보가 임의의 수정/정정 없이 예측되고 사용된다. 유사하게, 움직임 필드 정보를 예측하는 것은 시간 참조 픽처 내 인접 블록들 및/또는 동일-위치에 있는 블록들의 움직임 필드 정보를 이용하여 실행되며 사용된 움직임 필드 정보는 이용 가능한 인접 블록들/동일-위치에 있는 블록들의 움직임 필드 정보로 채워진 움직임 필드 후보 리스트의 리스트 중에서 표시된다.
인터 예측 프로세스는 다음과 같은 인자들 중 하나 이상을 이용하는 것을 특징으로 할 수 있다.
움직임 벡터 표현의 정확도. 예를 들면, 움직임 벡터는 쿼터-픽셀 정확도(quarter-pixel accuracy)를 가질 수 있으며, 부분-픽셀 위치(fractional-pixel positions)에 있는 샘플 값은 유한 임펄스 응답(FIR) 필터를 이용하여 구할 수 있다.
인터 예측을 위한 블록 분할. H.264/AVC 및 HEVC을 비롯한, 많은 코딩 표준은 움직임 벡터가 인코더에서 움직임-보상된 예측에 적용되는 블록의 크기 및 형상을 선택할 수 있게 하며, 디코더가 인코더에서 수행된 움직임-보상된 예측을 재생할 수 있도록 비트스트림에서 선택된 크기 및 형상을 표시할 수 있게 해준다.
인터 예측을 위한 참조 픽처의 개수. 인터 예측의 소스는 이전에 디코딩된 픽처이다. H.264/AVC 및 HEVC을 비롯한, 많은 코딩 표준은 블록 단위로 사용된 참조 픽처의 인터 예측 및 선택을 위해 복수개의 참조 픽처를 저장할 수 있게 한다. 예를 들면, 참조 픽처는 H.264/AVC에서는 매크로블록 또는 매크로블록 분할 단위로 그리고 HEVC에서는 PU 또는 CU 단위로 선택될 수 있다. H.264/AVC 및 HEVC과 같은 많은 코딩 표준은 디코더가 하나 이상의 참조 픽처 리스트를 생성할 수 있게 하는 비트스트림 내 신택스 구조를 포함한다. 참조 픽처 리스트에 대한 참조 픽처 인덱스는 복수개 참조 픽처들 중 하나가 특정 블록의 인터 예측을 위해 사용되는지를 표시하는데 사용될 수 있다. 참조 픽처 인덱스는 몇몇 인터 코딩 모드에서 인코더에 의해 비트스트림으로 코딩될 수 있거나 또는 몇몇 다른 인터 코딩 모드에서 예를 들면 이웃 블록을 이용하여 (인코더 및 디코더에 의해) 도출될 수 있다.
움직임 벡터 예측. 비트스트림에서 움직임 벡터를 효과적으로 표현하기 위하여, 움직임 벡터는 블록-별 예측된 움직임 벡터에 대하여 상이하게 코딩될 수 있다. 많은 비디오 코덱에서, 예측된 움직임 벡터는 사전에 정의된 방식으로, 예를 들면, 인접 블록들의 인코딩된 또는 디코딩된 움직임 벡터의 중간 값을 계산함으로써 생성된다. 움직임 벡터 예측을 생성하는 다른 방식은 시간 참조 픽처 내 인접 블록들 및/또는 동일-위치에 있는 블록들로부터 후보 예측들의 리스트를 만들고 선택한 후보를 움직임 벡터 예측자로서 신호하는 것이다. 움직임 벡터 값을 예측하는 것 이외에도, 이전에 코딩된/디코딩된 픽처의 참조 인덱스가 예측될 수 있다. 참조 인덱스는 통상 시간 참조 픽처 내 인접 블록들 및/또는 동일-위치에 있는 블록들로부터 예측된다. 움직임 벡터의 차분 코딩은 전형적으로 슬라이스 경계 전체에 걸쳐 디스에이블된다.
다중-가설 움직임-보상 예측( Multi - hypothesis motion - compensated prediction). H.264/AVC 및 HEVC는 P 슬라이스(본 명세서에서 단방향-예측 슬라이스(uni-predictive slices)이라 지칭함) 내 단일 예측 블록을 사용할 수 있게 하거나 또는 B 슬라이스라고 지칭되기도 하는 양방향-예측 슬라이스(bi-predictive slices)에 대해 두 개의 움직임-보상 예측 블록의 선형적 결합을 가능하게 한다. B 슬라이스 내 개개의 블록은 양방향-예측, 단방향-예측 또는 인트라-예측될 수 있으며, P 슬라이스 내 개개의 블록은 단방향-예측 또는 인트라-예측될 수 있다. 양방향-예측 픽처에 대한 참조 픽처는 출력 순서에서 후속 픽처 및 이전 픽처가 되는 것으로 제한되지 않고, 오히려 어느 참조 픽처라도 사용될 수 있다.
H.264/AVC 및 HEVC과 같은 많은 코딩 표준에서, 참조 픽처 리스트 0라고 지칭되는 하나의 참조 픽처 리스트가 P 및 SP 슬라이스에 대해 구성되며, 두 개의 참조 픽처 리스트, 즉 리스트 0 및 리스트 1는 B 슬라이스에 대해 구성된다. B 슬라이스의 경우, 예측을 위한 참조 픽처들이 서로와 또는 현재 픽처와 임의의 디코딩 순서 관계 또는 출력 순서 관계를 가질 수 있을지라도, 순방향으로의 예측은 참조 픽처 리스트 0 내의 참조 픽처로부터 예측하는 것을 말할 수 있으며, 역방향으로의 예측은 참조 픽처 리스트 1 내의 참조 픽처로부터 예측하는 것을 말할 수 있다. 일부 실시예에서, 재생 순서 또는 출력 순서에서 현재 픽처보다 이른 참조 픽처들이 내림차순에 따라서 리스트 0에 넣어지며, 현재 픽처 보다 늦은 참조 픽처들이 올림차순에 따라서 리스트 1에 넣어진다. 참조 픽처들은 참조 픽처와 현재 픽처 사이의 거리에 따라서 분류될 수 있다.
멀티뷰 비디오는 코덱을 제공하기 때문에, 뷰-간 리던던시, 디코딩된 뷰-간 프레임들을 활용할 가능성 역시 참조 픽처 버퍼에서도 포함될 수 있다.
가중 예측( Weighted prediction ). 많은 코딩 표준은 인터(P) 픽처의 예측 블록에 대해 1이라는 예측 가중치를 사용하며 B 픽처의 각 예측 블록에 대해서는 0.5라는 예측 가중치를 사용한다(결과적으로 평균화하는 것임). H.264/AVC은 P 및 B 슬라이스 둘 다에 대해 가중 예측을 허용한다. 묵시적 가중 예측(implicit weighted prediction)에서, 가중치는 픽처 오더 카운트(picture order counts)에 비례하는 반면, 명시적 가중 예측(explicit weighted prediction)에서는 예측 가중치는 명시적으로 표시된다.
많은 비디오 코덱에서, 움직임 보상 이후 예측 잔차(prediction residual)가 일차로 (DCT와 같은) 변환 커널로 변환된 다음 코딩된다. 그 이유는 종종 잔차 중에서 약간의 상관이 여전히 존재한다는 것이며 많은 경우에서 변환은 이러한 상관을 줄이는데 도움이 될 수 있고 더욱 효과적인 코딩을 제공할 수 있다.
초안 HEVC에서, 각각의 PU는 그와 연관되고 그 PU 내 픽셀들에 무슨 종류의 예측이 적용될 것인지를 정의하는 예측 정보(예를 들면, 인터 예측된 PU에 대한 움직임 벡터 정보 및 인트라 예측된 PU에 대한 인트라 예측 방향성 정보)를 갖고 있다. 유사하게, 각각의 TU는 상기 TU 내 샘플에 대한 예측 오차 디코딩 프로세스를 기술하는 정보(예를 들면, DCT 계수 정보를 포함함)와 연관된다. 예측 오차 코딩이 CU마다 적용되는지 또는 적용되지 않는지의 여부는 일반적으로 CU 레벨에서 신호될 수 있다. CU와 연관된 예측 오차 잔차가 없는 경우, 이것은 상기 CU에 대해 TU가 없다고 간주될 수 있다.
H.264/AVC 및 HEVC과 같은 비디오 코딩 표준에서 많은 신택스 요소는 인코더에서 엔트로피-코딩되며 디코더에서 엔트로피-디코딩된다. 엔트로피 코딩은 예를 들면 컨텍스트 적응 이진 산술 코딩(context adaptive binary arithmetic coding (CABAC)), 컨텍스트-기반 가변 길이 코딩(context-based variable length coding), 허프만 코딩(Huffman coding), 또는 임의의 유사한 엔트로피 코딩을 이용하여 수행될 수 있다.
많은 비디오 인코더는 라그랑지안 비용 함수(Lagrangian cost function)를 활용하여 레이트-왜곡 최적 코딩 모드(rate-distortion optimal coding modes), 예를 들면, 희망하는 매크로블록 모드 및 연관된 움직임 벡터를 찾는다. 이러한 유형의 비용 함수는 가중 인수 또는 λ를 이용하여 손실 코딩 방법(lossy coding methods)으로 인한 정확한 또는 추정한 이미지 왜곡과 이미지 영역 내 픽셀/샘플 값을 표현하는데 필요한 정보의 정확한 또는 추정한 양을 함께 결합한다. 라그랑지안 비용 함수는 하기 수학식으로 표현될 수 있다.
C = D + λR
여기서 C는 최소화될 라그랑지안 비용이고, D는 현재 모드 및 움직임 벡터가 고려된 이미지 왜곡(예를 들면, 원래 이미지 블록 내 픽셀/샘플 값과 코딩된 이미지 블록 내 픽셀/샘플 값 사이의 평균 제곱 오차)이고, λ는 라그랑지안 계수이며, R은 (후보 움직임 벡터를 표현하는 데이터의 양을 포함하여) 디코더에서 이미지 블록을 재구성하는데 필요한 데이터를 표현하는데 필요한 비트 수이다.
몇몇 코딩 포맷 및 코덱에서는 소위 단기간 참조 픽처(short-term reference picture)와 장기간 참조 픽처(long-term reference pictures)를 구별한다. 이러한 구별은 시간 직접 모드(temporal direct mode) 또는 묵시적 가중 예측에서 움직임 벡터조정(scaling)과 같은 일부 디코딩 프로세스에 영향을 줄 수 있다. 만일 시간 직접 모드에서 사용된 참조 픽처들이 둘 다 단기간 참조 픽처이면, 예측 시 사용된 움직임 벡터는 현재 픽처와 각각의 기준 픽처 간의 POC 차에 따라서 조정될 수 있다. 그러나, 만일 시간 직접 모드에서 사용된 적어도 하나의 참조 픽처가 장기간 참조 픽처이면, 움직임 벡터의 디폴트 조정작업(default scaling)이 사용되는데, 예를 들면, 움직임을 절반으로 조정하는 작업이 사용될 수 있다. 유사하게, 만일 단기간 참조 픽처가 묵시적 가중 예측에 사용되면, 예측 가중치는 현재 픽처의 POC와 참조 픽처의 POC 간의 POC 차에 따라서 조정될 수 있다. 그러나, 만일 장기간 참조 픽처가 묵시적 가중 예측에 사용되면, 묵시적 가중 예측에서 양방향-예측된 블록에 대해 0.5라는 디폴트 예측 가중치가 사용될 수 있다.
H.264/AVC과 같은 몇몇 비디오 코딩 방식은 복수의 참조 픽처와 관련된 각종 디코딩 프로세스에서 사용되는 frame_num 신택스 요소를 포함한다. H.264/AV에서, IDR 픽처의 frame_num의 값은 0이다. 논-IDR 픽처의 frame_num의 값은 1씩 증분되는 디코딩 순서에서 이전 참조 픽처의 frame_num와 같다(모듈로 연산에서, 즉 frame_num의 값은 frame_num가 최대 값이 된 다음에 0으로 덮힌다(wrap over)).
H.264/AVC 및 HEVC은 픽처 오더 카운트(picture order count (POC))의 개념을 포함한다. POC의 값은 각 픽처마다 도출되며 출력 순서에서 픽처 위치의 증가에 따라 줄어들지 않는다. 그러므로, POC는 픽처들의 출력 순서를 표시한다. POC는 디코딩 프로세스에서, 예를 들면, 양방향-예측 슬라이스의 시간 직접 모드에서 움직임 벡터의 묵시적 조정을 위해, 가중 예측에서 묵시적으로 도출된 가중치를 위해, 그리고 참조 픽처 리스트 초기화를 위해 디코딩 프로세스에서 사용될 수 있다. 뿐만 아니라, POC는 출력 순서 적합성의 검증 시 사용될 수 있다. H.264/AVC에서, POC는 이전 IDR 픽처 또는 모든 픽처를 "참조용으로 사용되지 않음"으로 표기하는 메모리 관리 제어 동작을 갖고 있는 픽처에 대해 명시된다.
H.264/AVC은 디코더에서 메모리 소비량을 제어하기 위하여 디코딩된 참조 픽처를 표기하는 프로세스를 명시하고 있다. 인터 예측에 사용된, M이라 불리는, 참조 픽처의 최대 수(maximum number)는 시퀀스 파라미터 세트에서 정해진다. 참조 픽처가 디코딩될 때, 참조 픽처는 "참조용으로 사용됨"이라고 표기된다. 만일 참조 픽처가 "참조용으로 사용됨"이라 표기된 M개 픽처보다 많이 디코딩되었다면, 적어도 하나의 픽처는 "참조용으로 사용되지 않음"이라고 표기된다. 디코딩된 참조 픽처를 표기하는 동작은 적응적 메모리 제어(adaptive memory control) 및 슬라이딩 윈도우(sliding window)라는 두 가지 방식이 있다. 디코딩된 참조 픽처를 표기하는 동작 모드는 픽처 단위로 선택된다. 적응적 메모리 제어는 픽처를 "참조용으로 사용되지 않음"이라고 표기하는 명시적인 표시를 가능하게 하며 또한 장기간 인덱스를 단기간 참조 픽처에 할당할 수 있다. 적응적 메모리 제어는 메모리 관리 제어 동작(memory management control operation (MMCO)) 파라미터가 비트스트림에서 존재할 것을 요구한다. 만일 슬라이딩 윈도우 동작 모드가 사용 중에 있고 M 픽처가 "참조용으로 사용됨"이라고 표기되어 있으면, "참조용으로 사용됨"이라 표기된 단기간 참조 픽처들 중 처음 디코딩되었던 픽처인 단기간 참조 픽처는 "참조용으로 사용되지 않음"이라고 표기된다. 다시 말해서, 슬라이딩 윈도우 동작 모드는 결과적으로 단기간 참조 픽처들 사이에서 선입선출 버퍼링 동작을 수행하게 만든다.
H.264/AVC에서 메모리 관리 제어 동작 중 한 가지는 현재 픽처를 제외한 모든 참조 픽처를 "참조용으로 사용되지 않음"이라고 표기되게 한다. 순간 디코딩 리프레시(instantaneous decoding refresh (IDR)) 픽처는 인트라-코딩된 슬라이스만을 가지고 있으며 참조 픽처의 유사한 "리셋"을 일으킨다.
초안 HEVC 표준에서, 참조 픽처 표기 신택스 구조 및 관련한 디코딩 프로세스는 사용되지 않고, 대신 유사한 목적을 위해 참조 픽처 세트(reference picture set (RPS)) 신택스 구조 및 디코딩 디코딩 프로세스가 사용된다. 픽처에 대해 유효한 또는 활성의 참조 픽처 세트는 픽처에 대해 참조로서 사용된 모든 참조 픽처 및 디코딩 순서에서 임의의 후속 픽처에 대해 "참조용으로 사용됨"이라고 표기된 채로 유지되는 모든 참조 픽처를 포함한다. 참조 픽처 세트에는 RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, RefPicSetStFoll1, RefPicSetLtCurr, 및 RefPicSetLtFoll 라고 지칭되는 여섯 서브세트가 있다. 여섯 서브세트의 주석은 다음과 같다. "Curr"은 현재 픽처의 참조 픽처 리스트에 포함되어 있는 참조 픽처를 말하며 그래서 현재 픽처의 인터 예측 참조로서 사용될 수 있다. "Foll"은 현재 픽처의 참조 픽처 리스트에는 포함되어 있지 않지만 디코딩 순서에서 후속하는 픽처에서 참조 픽처로서 사용될 수 있는 참조 픽처를 말한다. "St"는 단기간 참조 픽처를 말하는 것으로, 이 픽처는 일반적으로 이들의 POC 값의 최하위 비트들의 특정 개수를 통해 식별될 수 있다. "Lt"는 장기간 참조 픽처를 말하는 것으로, 이 픽처는 특별하게 식별되며 일반적으로는 현재 픽셀에 대비하여 최하위 비트들의 언급된 특정 개수로 표현될 수 있는 것보다 더 큰 차의 POC 값을 갖는다. "0"는 현재 픽처의 POC 값보다 작은 POC 값을 갖는 참조 픽처를 말한다. "1"은 현재 픽처의 POC 값보다 큰 POC 값을 갖는 참조 픽처를 말한다. RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, 및 RefPicSetStFoll1는 일괄하여 참조 픽처 세트의 단기간 서브세트라고 지칭된다. RefPicSetLtCurr 및 RefPicSetLtFoll는 일괄하여 참조 픽처 세트의 장기간 서브세트라고 지칭된다.
HEVC에서, 참조 픽처 세트는 시퀀스 파라미터 세트에서 명시될 수 있으며 참조 픽처 세트에 붙은 인덱스를 통해 슬라이스 헤더에서 사용하게 될 수 있다. 참조 픽처 세트는 또한 슬라이스 헤더에서도 명시될 수 있다. 참조 픽처 세트의 장기간 서브세트는 일반적으로 슬라이스 헤더에서만 명시되며, 반면 동일한 참조 픽처 세트의 단기간 서브세트는 픽처 파라미터 세트 또는 슬라이스 헤더에서 명시될 수 있다. 참조 픽처 세트는 독립적으로 코딩될 수 있거나 다른 참조 픽처 세트로부터 예측될 수 있다(인터-RPS 예측이라고 알려져 있음). 참조 픽처 세트가 독립적으로 코딩될 때, 신택스 구조는 상이한 타입의 참조 픽처들, 즉 현재 픽처보다 낮은 POC 값을 가진 단기간 참조 픽처, 현재 픽처보다 높은 POC 값을 가진 단기간 참조 픽처, 및 장기간 참조 픽처를 모두 반복하는 세 개의 루프까지 포함한다. 각각의 루프 엔트리는 "참조용도로 사용됨"이라고 표기되는 픽처를 명시한다. 일반적으로, 픽처는 차이가 나는 POC 값으로 명시된다. 인터-RPS 예측은 현재 픽처의 참조 픽처가 이전에 디코딩된 픽처의 참조 픽처 세트로부터 예측될 수 있다는 사실을 이용한다. 이것은 현재 픽처의 모든 참조 픽처가 이전 픽처의 참조 픽처이거나 이전에 디코딩된 픽처 그 자체이기 때문이다. 이들 픽처 중 어느 픽처가 참조 픽처가 되어야 하는지 그리고 현재 픽처의 예측에 사용되어야 하는지를 표시하는 것이 필요할 뿐이다. 참조 픽처 세트 코딩의 두 가지 타입에서, 플래그(used_by_curr_pic_X_flag)는 참조 픽처가 (*Curr 리스트에 포함된) 현재 픽처에 의해 참조용으로 사용되는지 또는 (*Foll 리스트에 포함된) 현재 픽처에 의해 참조용으로 사용되는지를 표시하는 각 참조 픽처마다 부가적으로 송신된다. 현재 슬라이스에 의해 사용된 참조 픽처 세트에 포함된 픽처는 "참조용으로 사용됨"이라고 표기되며, 현재 슬라이스에 의해 사용된 참조 픽처 세트에 포함되지 않은 픽처는 "참조용으로 사용되지 않음"이라고 표기된다. 만일 현재 픽처가 IDR 픽처이면, RefPicSetStCurr0, RefPicSetStCurr1, RefPicSetStFoll0, RefPicSetStFoll1, RefPicSetLtCurr, 및 RefPicSetLtFoll은 모두 비어있음(empty)로 설정된다.
디코딩된 픽처 버퍼(a Decoded Picture Buffer (DPB))는 인코더에서 및/또는 디코더에서 사용될 수 있다. 디코딩된 픽처를 버퍼하는 두 가지 이유는 인터 예측에서 참조하기 위한 것과 디코딩된 픽처를 출력 순서로 재배열하기 위함이다. H.264/AVC 및 HEVC은 참조 픽처 표기와 출력 재배열의 둘 다에 대해 상당한 융통성을 제공하고 있으므로, 참조 픽처 버퍼링 및 출력 픽처 버퍼링을 위한 별개의 버퍼는 메모리 자원을 낭비할 수 있다. 그래서, DPB는 참조 픽처 및 출력 재배열을 위한 통일화된 디코딩된 픽처 버퍼링 프로세스를 포함할 수 있다. 디코딩된 픽처는 이 픽처가 더 이상 참조로서 사용되지 않고 출력할 필요 없을 때 DPB로부터 제거될 수 있다.
H.264/AVC 및 HEVC의 많은 코딩 모드에서, 인터 예측을 위한 참조 픽처는 참조 픽처 리스트에 붙은 인덱스로 표시된다. 인덱스는 통상적으로 인덱스가 작을 수록 대응하는 신택스 요소가 더 짧은 값을 갖는 가변 길이 코딩으로 코딩된다. H.264/AVC 및 HEVC에서, 두 참조 픽처 리스트(참조 픽처 리스트 0 및 참조 픽처 리스트 1)는 각각의 양방향-예측 (B) 슬라이스마다 생성되며, 하나의 참조 픽처 리스트(참조 픽처 리스트 0)는 각각의 인터-코딩된 (P) 슬라이스마다 형성된다. 게다가, HEVC에서 B 슬라이스의 경우, 병합 리스트라고도 지칭되는 결합된 리스트(리스트 C)는 최종 참조 픽처 리스트(리스트 0 및 리스트 1)가 구성된 이후에 구성된다. 결합된 리스트는 B 슬라이스 내에서 단방향 예측(단일-방향 예측이라고도 알려짐)에 사용될 수 있다.
참조 픽처 리스트 0 및 참조 픽처 리스트 1과 같은 참조 픽처 리스트는 전형적으로 두 단계로 구성된다. 첫 번째로, 초기의 참조 픽처 리스트가 생성된다. 초기의 참조 픽처 리스트는 예를 들면 frame_num, POC, temporal_id, 또는 GOP 구조와 같은 예측 계층구조에 관한 정보 또는 이들의 임의의 조합에 기초하여 생성될 수 있다. 두 번째로, 초기의 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조(reference picture list modification syntax structure)라고도 알려진, 슬라이스 헤더에 포함될 수 있는, 참조 픽처 리스트 재배열(reference picture list reordering (RPLR)) 명령어에 의해 재배열될 수 있다. RPLR 명령어는 각각의 참조 픽처 리스트의 시작 부분에 배열되는 픽처를 표시한다. 이러한 두 번째 단계는 또한 참조 픽처 리스트 수정 프로세스라고도 지칭될 수 있으며, RPLR 명령어는 참조 픽처 리스트 수정 신택스 구조에 포함될 수 있다. 만일 참조 픽처 세트가 사용되면, 참조 픽처 리스트 0은 처음에 RefPicSetStCurr0을, 뒤이어 RefPicSetStCurr1을, 뒤이어 RefPicSetLtCurr을 포함하도록 초기화될 수 있다. 참조 픽처 리스트 1은 먼저 RefPicSetStCurr1을, 뒤이어 RefPicSetStCurr0을 포함하도록 초기화될 수 있다. 초기의 참조 픽처 리스트는 참조 픽처 리스트 수정 신택스 구조를 통해 수정될 수 있는데, 이 구조에서 초기의 참조 픽처 리스트 내 픽처는 리스트의 엔트리 인덱스를 통해 식별될 수 있다.
멀티뷰 비디오는 인코더 및 디코더를 제공하기 때문에, 뷰-간 리던던시, 디코딩된 뷰-간 프레임을 이용할 가능성 역시 참조 픽처 리스트(들)에도 포함될 수 있다.
HEVC에서 결합된 리스트는 다음과 같이 구성될 수 있다. 만일 결합 리스트에 대한 수정 플래그가 제로이면, 결합 리스트는 묵시적 메커니즘에 의해 구성되며, 그렇지 않으면 비트스트림에 포함된 참조 픽처 결합 명령어에 의해 구성된다. 묵시적 메커니즘에서, 리스트 C 내 참조 픽처들은 리스트 0의 첫 엔트리로부터 시작하여, 그 다음에는 리스트 1의 첫 엔트리가 이어지는 방식으로 인터리빙된 방식으로 리스트 0 및 리스트 1로부터의 참조 픽처들과 매핑된다. 이미 리스트 C에서 매핑된 임의의 참조 픽처는 다시 매핑되지 않는다. 명시적 메커니즘에서, 리스트 C 내 엔트리들의 개수가 표시되며, 뒤이어 리스트 0 또는 리스트 1 내 엔트리로부터 리스트 C의 각 엔트리까지의 매핑이 이어진다. 또한, 리스트 0 및 리스트 1이 같으면, 인코더는 ref_pic_list_combination_flag를 0으로 설정하여 리스트 1로부터의 어느 참조 픽처도 매핑되지 않는다는 것과 리스트 C가 리스트 0와 같다는 것을 표시하는 옵션을 갖는다.
초안 HEVC 코덱과 같은 통상의 고 효율 비디오 코덱은 블록/PU의 모든 움직임 정보가 예측되고 임의의 수정/교정 없이 사용되는, 흔히 합치는/병합 모드/프로세스/메커니즘이라 불리는 부가적인 움직임 정보 코딩/디코딩 메커니즘을 이용한다. PU에 대하여 전술한 움직임 정보는 1) 'PU가 오직 참조 픽처 리스트 0만을 이용하여 단방향-예측되는지' 또는 'PU가 오직 참조 픽처 리스트 1만을 이용하여 단방향-예측되는지' 또는 'PU가 두 참조 픽처 리스트 0 및 리스트 1을 이용하여 양방향-예측되는지'에 관한 정보, 2) 참조 픽처 리스트 0에 대응하는 움직임 벡터 값, 3) 참조 픽처 리스트0 내 참조 픽처 인덱스, 4) 참조 픽처 리스트1에 대응하는 움직임 벡터 값, 5) 참조 픽처 리스트1 내 참조 픽처 인덱스를 포함한다. 유사하게, 움직임 정보를 예측하는 것은 시간 참조 픽처 내 인접 블록들 및/또는 동일-위치에 있는 블록들의 움직임 정보를 이용하여 수행된다. 전형적으로, 종종 병합 리스트라 불리는 리스트는 이용 가능한 인접 블록들/동일-위치에 있는 블록들과 연관된 움직임 예측 후보들을 포함시킴으로써 구성되며 리스트 내에서 선택된 움직임 예측 후보의 인덱스가 신호된다. 그런 다음, 선택된 후보의 움직임 정보는 현재 PU의 움직임 정보로 복사된다. 병합 메커니즘이 CU 전체에서 사용되고 CU에 대한 예측 신호가 재구성 신호로서 이용될 때, 즉, 예측 잔차가 처리되지 않을 때, 이러한 방식으로 CU를 코딩/디코딩하는 것은 통상적으로 스킵 모드(skip mode) 또는 병합 기반 스킵 모드라고 말한다. 스킵 모드 이외에도, 병합 메커니즘은 또한 개개의 PU에 대해서도 사용되며(스킵 모드처럼 반드시 CU 전체에 대해서는 아님), 이 경우 예측 잔차는 예측 품질을 개선하기 위해 활용될 수 있다. 이러한 방식의 예측 모드는 전형적으로 인터-병합 모드(inter-merge mode)라고 명명된다.
참조 픽처 표기를 위한 신택스 구조는 비디오 코딩 시스템에서 존재할 수 있다. 예를 들면, 픽처의 디코딩이 완료되었을 때, 디코딩된 참조 픽처 표기 신택스 구조는, 만일 존재한다면, 픽처를 "참조용으로 사용되지 않음" 또는 "장기간 참조용으로 사용됨"이라고 적응적으로 표기하는데 사용될 수 있다. 만일 디코딩된 참조 픽처 표기 신택스 구조가 존재하지 않으면 그리고 "참조용으로 사용됨"이라고 표기된 픽처의 개수가 더 이상 늘어날 수 없으면, 기본적으로 (디코딩 순서에서) 가장 먼저 디코딩된 참조 픽처를 참조용으로 사용되지 않음이라고 표기하는 슬라이딩 윈도우 참조 픽처 표기(sliding window reference picture marking)가 사용될 수 있다.
H.264/AVC 및 그의 MVC 확장에서 명시된 움직임 벡터(MV) 예측은 동일 이미지의 이웃 블록들에 존재(공간 상관)할 수 있거나 또는 이전에 코딩된 이미지에 존재(시간 상관)할 수 있는 상관을 이용한다. 도 7(a)는 현재 코딩된 블록(cb)의 공간 이웃을 도시하며 도 7(b)는 H.264/AVC에서 움직임 벡터 예측을 위한 후보로서 사용되는 현재 코딩된 블록의 시간 이웃을 도시한다.
현재 블록(cb)의 움직임 벡터는 움직임 추정 및 움직임 보상 프로세스를 통해 추정될 수 있으며 차분 펄스 부호 변조(differential pulse code modulation (DPCM))로 부호화되어 MVd(x,y)=MV(x,y)-MVp(x,y)처럼 움직임 벡터 예측(MVp)과 실제 움직임 벡터(MV) 간의 잔차의 형태로 전송될 수 있다.
현재 파티션 또는 서브-파티션의 바로 위(블록 B), 대각방향으로 오른쪽 위(블록 C), 및 바로 왼쪽(블록 A)의 매크로블록 파티션 또는 서브파티션의 움직임 벡터의 중간값이 계산될 수 있다.
일부 실시예에서, 움직임 벡터 예측(MVp)의 추정은 다음과 같이 명시될 수 있다. 즉,
공간 이웃 블록(A, B, C) 중 오직 한 블록만이 현재 블록과 동일한 참조 인덱스를 갖고 있을 때, 하기 수학식 1과 같다.
하나 보다 많은 또는 어느 이웃 블록(A, B, C)도 현재 블록과 동일한 참조 인덱스를 갖지 않을 때, 하기 수학식 2와 같다.
여기서, mvLXA, mvLXB, mvLXC는 공간적으로 이웃하는 블록들의 (reference_frame_id 없는) 움직임 벡터이다.
몇몇 상황에서, P_SKIP 모드 또는 B_SKIP 모드가 이용될 수 있다. P_SKIP 모드에서, 현재 블록의 참조 프레임 인덱스는 항시 0이며 이용된 리스트는 제 1 리스트 0(refldxLO = 0)이다. 움직임 벡터는 현재 블록의 바로 왼쪽 블록(블록 A) 및 바로 위쪽 블록(블록 B)만을 이용함으로써 추정된다. 만일 바로 왼쪽 블록과 바로 위쪽 블록이 존재하지 않으면, 제로 값의 움직임 벡터 예측(MVp)이 선택된다. P_SKIP 모드에서 MV=MVp이 아니기 때문에, 어느 움직임 벡터 차(dMV)도 전송되지 않는다.
B_SKIP 모드에서, 두 가지 움직임 벡터 예측 추정 프로세스, 즉 움직임 벡터 예측이 도 7(a)에 도시된 것처럼 공간 이웃 블록으로부터 계산되는 공간 직접 모드, 또는 움직임 벡터 예측이 7(b)에 도시된 것처럼 시간 이웃 블록으로부터 계산되는 시간 직접 모드가 이용될 수 있다.
움직임 벡터 예측 프로세스는 다음과 같은 값의 추정을 포함한다.
a. 참조 인덱스들 refldxL0, refldxL1
b. 움직임 벡터들 mvL0 및 mvL1.
공간 직접 모드에서, 참조 인덱스 예측 및 움직임 벡터 예측의 프로세스는 두 참조 픽처 리스트(참조 픽처 리스트 0, 참조 픽처 리스트 1)에 대해 독립적으로 실행된다. 최소의 양(positive)의 참조 인덱스가 각 리스트에서 선택되며 움직임 벡터 예측 프로세스는 각 참조 픽처 리스트 마다 적용되어 mvpL0 및 mvpL1를 생성한다.
움직임 벡터 예측(mvpLX)의 각 컴포넌트는 움직임 벡터(mvLXA, mvLXB, 및 mvLXC)의 대응하는 벡터 컴포넌트의 중간값으로 주어진다.
시간 직접 모드에서, 리스트 0 및 리스트 1에 대한 현재 블록의 움직임 벡터는 (시간 방향으로) 이웃하는 블록으로부터 움직임 벡터의 시간 보간을 통해 계산될 수 있다. 현재 프레임으로부터 참조된 프레임까지의 픽처 오더 카운트(POC) 거리는 보간의 인수로서 이용될 수 있다.
여기서 TDb는 현재 프레임과 리스트0 내 참조 프레임 간의 픽처 오더 카운트 거리이고, TDd는 리스트0 및 리스트1 내 참조 프레임들 간의 픽처 오더 카운트 거리이며, MVc는 참조 픽처 리스트0로부터 동일-위치에 있는 블록의 움직임 벡터이다.
그 다음, 본 발명의 실시예의 더 나은 이해를 위하여, 삼차원(3D) 멀티뷰 애플리케이션 및 그와 밀접하게 관련된 깊이 및 디스패리티 정보의 개념이 간략히 설명된다.
스테레오스코픽 비디오 콘텐츠는 시청자의 왼쪽 및 오른쪽 눈에 개별적으로 보이는 오프셋 이미지들의 쌍으로 이루어진다. 이러한 오프셋 이미지들은 특정 스테레오스코픽 카메라 구성(stereoscopic camera setup)을 이용하여 촬영되며 카메라들 사이에는 특별한 스테레오 베이스라인 거리(stereo baseline distance)가 있다고 가정한다.
도 1은 그러한 스테레오스코픽 카메라 구성의 간략화된 2D 모델을 도시한다. 도 1에서 C1 및 C2는 스테레오스코픽 카메라 구성의 카메라, 특히 카메라의 중심 위치를 나타내며, b는 두 카메라의 중심선(즉, 스테레오 베이스라인) 사이의 거리이고, f는 카메라의 초점 길이이며 X는 촬영되는 실제 3D 장면 내의 물체이다. 실 세계 물체(X)는 카메라(C1 및 C2)에 의해 촬영된 이미지 내 상이한 위치에 투사되는데, 이들 위치는 각기 x1 및 x2로 표시된다. 이미지의 절대 좌표에서 x1과 x2 사이의 수평 거리는 디스패리티(disparity)라고 부른다. 카메라 구성에 의해 촬영된 이미지는 스테레오스코픽 이미지라고 부르며, 이러한 이미지 내에 존재하는 디스패리티는 깊이의 환영(illusion of depth)을 만들거나 강화시킨다. 이미지가 시청자의 왼쪽과 오른쪽 눈에 개별적으로 보일 수 있게 하기 위해, 시청자에 의해 특정한 3D 안경이 사용될 필요가 있을 수 있다. 디스패리티를 적응시키는 것은 스테레오스코픽 비디오 콘텐츠를 다양한 디스플레이 상에서 편안히 보일 수 있게 조절하는 주요한 특징이다.
그러나, 디스패리티 적응은 간단한 프로세스는 아니다. 이것은 베이스라인 거리가 상이한(즉, b가 가변적임) 추가적인 카메라 뷰를 갖는 것 또는 실 세계에서 이용할 수 없는 가상 카메라 뷰의 렌더링을 필요로 한다. 도 2는 이러한 해결책에 어울리는 그러한 멀티뷰 카메라 구성의 간략화된 모델을 도시한다. 이러한 구성은 스테레오스코픽 베이스라인에 대하여 여러 이산적인 값으로 촬영된 스테레오스코픽 비디오 콘텐츠를 제공하는 것이 가능하고 따라서 스테레오스코픽 디스플레이가 시청 조건에 맞는 한 쌍의 카메라를 선택할 수 있게 한다.
3D 비전의 더욱 진보된 접근 방법은 안경을 필요로 하지 않는 멀티뷰 오토스테레오스코픽 디스플레이(a multiview autostereoscopic display (ASD))(300)를 갖는 것이다. ASD는 한번에 하나보다 많은 뷰를 방사하지만, 가장 오른쪽 뷰포인트에서 보았을 때 뷰의 가운데에서 집이 보이는 도 3에 도시된 바와 같이, 이러한 방사는 시청자가 특정한 뷰포인트로부터 오직 스테레오 쌍만을 보는 방식으로 공간 내에 국한된다. 더욱이, 시청자는 예를 들면, 가장 왼쪽 뷰포인트에서 보았을 때 뷰의 오른쪽 경계에서 집이 보이는 도 3에서, 상이한 뷰포인트로부터 다른 하나의 스테레오 쌍을 보는 것이 가능하다. 그러므로, 연속 뷰가 스테레오 쌍이고 이들 뷰가 적절하게 배열되는 경우 운동 시차 보기(motion parallax viewing)가 지원된다. ASD 기술은 예를 들면 52 개 이상의 상이한 영상을 동시에 보여줄 수 있으며, 그 중 오직 스테레오 쌍만이 특정 뷰포인트로부터 눈에 보일 수 있다. 이것은 예를 들면 거실 환경에서 안경 없이 다중 사용자 3D 비전을 지원한다.
앞에서 기술된 스테레오스코픽 및 ASD 애플리케이션은 디스플레이에서 멀티뷰 비디오를 이용할 수 있을 것을 전제로 한다. H.264/AVC 비디오 코딩 표준의 MVC 확장은 디코더 측에서 멀티뷰 기능을 가능하게 한다. MVC 비트스트림의 베이스 뷰는 스테레오스코픽 및 멀티뷰 콘텐츠를 기존 서비스에 용이하게 도입시켜주는 임의의 H.264/AVC 디코더에 의해 디코딩될 수 있다. MVC은 인접한 뷰가 어떻게 상관되는지에 따라서, 모든 뷰들의 독립적인 코딩과 비교하여 상당한 비트레이트를 절감하는 결과를 가져올 수 있는 뷰-간 예측을 가능하게 한다. 그러나, MVC 코딩된 비디오의 비트레이트는 통상 뷰의 개수에 비례한다. ASD가 예를 들면, 입력으로서 52개의 뷰를 필요로 할 수 있다는 것을 고려한다면, 그러한 뷰의 개수에 맞는 총 비트레이트는 이용 가능한 대역폭의 제한을 요구할 것이다.
결과적으로, 그러한 멀티뷰 애플리케이션에 더욱 실현 가능한 해결책은 입력 뷰의 개수를 제한하는 것, 예를 들면, 모노 또는 스테레오 뷰에다 몇 가지 보충 데이터를 더 한 것으로 제한하고, 필요한 모든 뷰를 디코더 측에서 국부적으로 렌더링(즉, 합성)하는 것임을 알게 되었다. 뷰 렌더링을 위한 여러 이용 가능한 기술 중에서, 깊이 이미지-기반 렌더링(depth image-based rendering (DIBR))이 경쟁력 있는 대안인 것으로 알려져 있다.
DIBR-기반 3DV 시스템의 간략화된 모델이 도 4에 도시된다. 3D 비디오 코덱의 입력은 스테레오스코픽 베이스라인(b0)를 가진 스테레오스코픽 비디오 및 대응하는 깊이 정보를 포함한다. 그러면 3D 비디오 코덱은 베이스라인 관계(bi < b0)의 두 입력 뷰 사이에서 다수의 가상 뷰를 합성한다. DIBR 알고리즘은 두 입력 뷰의 밖에 있고 이들 사이에 존재하지 않은 뷰의 외삽(extrapolation)을 가능하게 해줄 수 있다. 유사하게, DIBR 알고리즘은 텍스처의 단일 뷰 및 각각의 깊이 뷰로부터 뷰 합성을 가능하게 해줄 수 있다. 그러나, DIBR-기반 멀티뷰 렌더링을 가능하게 하기 위하여, 디코더 측에서 텍스처 데이터가 대응하는 깊이 데이터와 함께 이용할 수 있어야 한다.
그러한 3DV 시스템에서, 깊이 정보는 인코더 측에서 각 비디오 프레임마다 깊이 픽처(깊이 맵으로도 알려짐)의 형태로 생성된다. 깊이 맵은 픽셀-당(per-pixel) 깊이 정보를 가진 이미지이다. 깊이 맵 내 각 샘플은 카메라가 놓인 평면으로부터 각 텍스처 샘플의 거리를 나타낸다. 다시 말해서, 만일 z 축이 카메라의 촬영 축을 따라 놓여 있으면(그래서 카메라가 놓인 평면에 직교하면), 깊이 맵 내 샘플은 z축 상의 값을 나타낸다.
깊이 정보는 다양한 수단에 의해 구할 수 있다. 예를 들면, 3D 장면의 깊이는 촬영 카메라에 의해 기록된 디스패리티로부터 계산될 수 있다. 깊이 추정 알고리즘은 스테레오스코픽 뷰를 입력으로서 취하고 그 뷰의 두 오프셋 이미지 사이의 로컬 디스패리티를 계산한다. 각각의 이미지는 중첩하는 블록들 내 픽셀 단위로 처리되며, 각 픽셀 블록마다 오프셋 이미지 내 매칭 블록에 대하여 수평방향으로 국한된 검색이 수행된다. 일단 픽셀-별(pixel-wise) 디스패리티가 계산되면, 대응하는 깊이 값(z)은 수학식 3에 의해 계산된다.
수학식에서 도 1에 도시된 것처럼 f는 카메라의 초점 길이이며 b는 카메라 사이의 베이스라인 거리이다. 또한, d는 두 카메라 사이에서 관측된 디스패리티를 말하며, 카메라 오프셋(△d)은 두 카메라의 광학 중심의 있을 수 있는 수평 오배치(misplacement)를 나타낸다.
대안으로 또는 앞에서 설명한 스테레오 뷰 깊이 추정에 부가하여, 깊이 값은 비행시간(time-of-flight (TOF)) 원리를 이용하여, 예를 들면 광원, 예를 들면, 장면을 조명하기 위한 적외선 방사체를 갖추고 있는 카메라를 이용하여 구할 수 있다. 그러한 조명기는 예를 들면, 10-1000 MHz 사이의 주파수에 필요한 강도 변조 전자파 방사(intensity modulated electromagnetic emission)를 발생하도록 구성될 수 있는데, 이것은 LED 또는 레이저 다이오드를 사용하는 것을 필요로 할 수 있다. 적외선 광은 일반적으로 조명이 드러나지 않게 하는데 사용된다. 장면 내 물체로부터 반사된 광은 이미지 센서에 의해 검출되고, 동시에 조명기와 동일한 주파수로 변조된다. 이미지 센서는 광학 장치, 즉 반사된 광을 모으는 렌즈 및 조명기와 동일한 파장을 가진 광만을 통과시켜서 배경 광을 억압하는데 조력하는 광 대역통과 필터를 갖고 있다. 이미지 센서는 각 픽셀마다 광이 조명기로부터 물체 및 뒷면까지 이동하는데 걸린 시간을 측정한다. 물체까지의 거리는 조명 변조에서 위상 시프트로서 표현되는데, 이것은 장면 내 각 픽셀마다 동시에 샘플링된 데이터로부터 결정될 수 있다.
깊이-강화된 멀티뷰 코딩의 경우, 뷰 합성은 인코더의 인코딩 루프 및 디코더의 디코딩 루프에서 이용될 수 있으며, 그래서 뷰 합성 예측(a view synthesis prediction (VSP))을 제공할 수 있다. 뷰 합성 픽처(참조 컴포넌트)는 코딩된 텍스처 뷰 및 깊이 뷰로부터 합성될 수 있으며 뷰 합성 예측을 위해 사용될 수 있는 샘플을 포함할 수 있다. 현재의 뷰의 코딩을 위한 뷰 합성 예측을 가능하게 하기 위하여, 동일한 액세스 유닛의 이전에 코딩된 텍스처 및 깊이 뷰 컴포넌트가 뷰 합성을 위해 사용될 수 있다. 동일한 액세스 유닛의 이전에 코딩된 텍스처 및 깊이 뷰 컴포넌트를 이용하는 그러한 뷰 합성은 포워드 뷰 합성(a forward view synthesis) 또는 포워드-프로젝티드 뷰 합성(a forward-projected view synthesis)이라고 지칭될 수 있으며, 유사하게 그러한 뷰 합성을 이용하는 뷰 합성 예측은 포워드 뷰 합성 예측 또는 포워드-프로젝티드 뷰 합성 예측이라고 지칭될 수 있다.
뷰 합성 픽처는 합성 참조 컴포넌트라고도 지칭될 수 있는데, 이는 뷰 합성 예측을 위해 사용될 수 있는 샘플을 포함하고 있는 것으로 정의될 수 있다. 합성 참조 컴포넌트는 뷰 합성 예측을 위한 참조 픽처로서 사용될 수 있지만, 통상 출력되거나 디스플레이되지 않는다. 통상적으로 뷰 합성 픽처는 코딩 또는 디코딩되고 있는 픽처에 대하여 카메라 위치가 동일하여 카메라 파라미터가 동일하다고 가정하는 경우에 생성된다. 인코딩 루프의 예는 도 8에 도시된다.
뷰 합성 예측의 뷰 합성 알고리즘의 실시예는 깊이 맵(d)을 디스패리티(D)로의 변환을 이용하여 합성된 타겟 이미지(t(x+D,y) 내 새로운 픽셀 위치에 있는 소스 픽처(s(x,y)의 픽셀들을 다음과 같이 매핑할 수 있다.
텍스처 픽처의 프로젝션의 경우, s(x,y)는 텍스처 이미지의 샘플이며, d(s(x,y))는 s(x,y)와 연관된 깊이 맵 값이다. 만일 합성을 위해 사용된 참조 프레임이 4:2:0 샘플링을 이용한다면(즉, 크로마 컴포넌트 픽처가 두 좌표 축을 따라서 놓인 루마 컴포넌트의 공간 해상도의 절반의 공간 해상도를 갖는다면), 크로마 컴포넌트는 샘플 값을 반복함으로써 4:4:4까지 업-샘플될 수 있다.
뷰 합성 예측은 서브-픽셀 정확도의 와핑(warping)을 포함할 수 있는데, 이를 위해 와핑에 앞서 참조 프레임에 대해 업-샘플링이 수행될 수 있으며 합성된 프레임은 다시 원래 해상도로 다운-샘플링될 수 있다.
뷰 합성 프로세스는 개념적인 두 단계, 즉 포워드 와핑(forward warping) 및 홀 메움(hole filling)으로 이루어질 수 있다. 포워드 와핑에서, 참조 프레임의 각 픽셀은 예를 들면 전술한 수학식을 이용하여 합성된 이미지에 매핑된다. 참조 프레임으로부터 복수개의 픽셀이 합성된 뷰 내 동일한 샘플 위치에 매핑될 때, 더 큰 깊이 값과 연관된 (카메라에 더 가까운) 픽셀은 그 샘플 위치를 나타내도록 선택될 수 있다. 모든 픽셀을 와핑한 후에는 참조 프레임으로부터 매핑된 샘플 값을 갖지 않는 몇몇 홀들이 존재할 수 있으며, 이들 홀 픽셀들은 예를 들면 라인-기반 방향성 홀 메움 방법을 이용하여 채워질 수 있는데, 이 때 "홀"은 두개의 논-홀 픽셀들(non-hole pixels) 사이에 수평 라인에 놓인 연이은 홀 픽셀들이라고 정의된다. 홀 내 홀 픽셀들은 더 작은 (카메라에서 더 멀리 있는) 깊이 샘플 값을 갖는 두 개의 인접한 논-홀 픽셀 중 하나에 의해 메워질 수 있다.
와핑 및 홀 메움은 예를 들면 다음과 같이 하나의 처리 루프에서 수행될 수 있다. 입력 참조 이미지의 각각의 픽셀 로우는 예를 들면 좌에서 우로 횡단되며, 입력 참조 이미지 내 각각의 픽셀은 다음과 같이 처리된다. 즉,
전술한 깊이-패리티 매핑/와핑 수학식에 따라서 현재 픽셀이 타겟 합성 이미지에 매핑된다. 깊이 경계 주변의 픽셀들은 하나의 픽셀이 두 이웃 위치에 매핑되는 스플래팅(splatting)을 이용할 수 있다. 경계 검출은 참조 프레임의 각 라인에 있는 모든 N개 픽셀에 대해 수행될 수 있다. 만일 픽셀의 깊이 샘플 값과 (그 픽셀의 우측의 N-픽셀인) 동일한 라인에 있는 이웃 픽셀의 깊이 샘플 값 간의 차가 임계치 (합성된 이미지에 대한 정수 와핑 정밀도의 M개 픽셀들의 디스패리티 차에 해당함)를 초과하면, 픽셀은 깊이-경계 픽셀이라고 간주될 수 있다. 깊이-경계 픽셀 및 그 깊이-경계 픽셀의 우측의 K개 이웃 픽셀들은 스플래팅을 이용할 수 있다. 더 구체적으로, N=4xUpRefs 이고, M=4, K=16xUpRefs-1 이며, 여기서 UpRefs는 와핑하기 전 참조 이미지의 업-샘플링 비율이다.
현재 픽셀이 z-버퍼링을 겪을 때, 즉 이전에 와핑된 픽셀이 없든 또는 이미 와핑된 픽셀이 더 작은 깊이 값을 갖든 현재 픽셀이 한 위치에 와핑될 때, 반복이 유효하다고 정의되고 후속하는 단계가 수행될 수 있다. 그렇지 않으면, 반복이 효과적이지 않다고 정의되며 입력 참조 이미지 내 다음 픽셀에서부터 처리가 계속 이어진다.
만일 이러한 반복과 이전의 유효한 반복의 매핑된 위치들 사이에서 갭이 있다면, 홀이 식별될 수 있다.
만일 홀이 식별되었고 현재 매핑된 위치가 이전에 매핑된 위치의 우측에 있다면, 홀이 메워질 수 있다.
만일 홀이 식별되었고 현재의 반복이 픽셀을 이전의 유효한 반복의 매핑된 위치의 우측에 매핑하였다면, 이렇게 매핑된 위치의 바로 좌측의 연이은 픽셀들은 이들이 홀이었으면 업데이트될 수 있다.
뷰 합성된 픽처를 좌측의 참조 뷰로부터 생성하기 위하여, 참조 이미지는 먼저 플립되고(fliped) 그런 다음 전술한 와핑 및 홀 메움의 프로세스가 사용되어 중간 합성된 픽처를 생성할 수 있다. 중간 합성된 픽처는 플립되어서 합성된 픽처를 구할 수 있다. 대안으로, 전술한 프로세스는 수평 방향 및 순서를 역 발상하여 기본적으로 뷰 합성 예측을 위한 깊이-대-디스패리티 매핑, 경계-인식 스플래팅, 및 다른 프로세스를 수행하도록 변경될 수 있다.
다른 예시적인 실시예에서, 뷰 합성 예측은 다음을 포함할 수 있다. 뷰 합성 픽처를 도출하기 위한 본 예제의 프로세스의 입력은 텍스처 뷰 컴포넌트의 디코딩된 루마 컴포넌트(srcPicY)와, srcPicY 의 해상도로 업-샘플링된 두 크로마 컴포넌트(srcPicCb 및 srcPicCr), 및 깊이 픽처(DisPic)이다.
뷰 합성 픽처를 도출하기 위한 예제의 프로세스의 출력은 디스패리티-기반 와핑(disparity-based warping)을 통해 생성된 합성 참조 컴포넌트(vspPic)의 샘플 어레이이며, 이것은 다음과 같은 의사 코드로 예시될 수 있다.
여기서 함수 "Disparity()"는 공간 위치(i,j)에서 깊이 맵 값을 디스패리티 값(dX)으로 변환하며, PicHeigh는 픽처의 높이이고, PicWidth는 픽처의 폭이고, srcTexturePicY는 소스 텍스처 픽처이고, outputPicY 는 출력 픽처의 Y 컴포넌트이고, outputPicCb는 출력 픽처의 Cb 컴포넌트이며, outputPicCr는 출력 픽처의 Cr 컴포넌트이다.
디스패리티는 두 뷰들(b) 사이의 평행이동, 카메라의 초점 길이(f) 및 깊이 맵 표현의 파라미터들(Znear, Zfar)과 같은 카메라 설정치를 고려하여 아래에 도시된 바와 같이 계산된다.
앞에서 기술된 프로세스로부터 발생하는 vspPic 픽처는 홀 및/또는 폐색(occlusions)과 같은 각종 와핑 인공물을 특색으로 포함할 수 있으며, 이러한 인공물을 억제하기 위하여, 홀 메우기와 같은 다양한 후처리 작업이 적용될 수 있다.
그러나, 이러한 작업은 계산 복잡도를 줄이기 위해서 회피될 수 있는데, 이것은 뷰 합성 픽처(vspPic)가 예측을 위한 참조 픽처에 이용되며 디스플레이에는 출력되지 않을 수 있기 때문이다.
합성된 픽처{outputPicY, outputPicCb, outputPicCr}는 뷰-간 참조 픽처에 대하여 수행된 것과 유사한 방식으로 참조 픽처 리스트 내에 포함될 수 있다. 뷰 합성 예측의 경우에 참조 픽처 리스트를 이용한 신호하기 및 동작은 H.264/AVC 또는 HEVC에서 명시된 것과 그대로 동일하거나 유사하다.
유사하게, 뷰 합성 예측에서 움직임 정보를 도출하는 프로세스 및 이것의 애플리케이션은 H.264/AVC 또는 HEVC의 인터 예측 및 뷰-간 예측에 대해 명시된 프로세스와 그대로 동일하거나 유사하다.
뷰 합성 예측을 3D 비디오 인코딩/디코딩 프로세스에 도입하는 것은 움직임 정보 시그널링 및 디코딩과 같은 저급 동작에는 영향을 미치지 않을 수 있고, 그래서 기존 H.264/AVC 또는 HEVC 코딩 표준과의 낮은 수준의 호환성을 보존할 수 있다.
대안으로 또는 부가적으로, 뷰 합성 예측을 위한 특정한 코딩 모드는 인코더에 의해 비트스트림 내에서 명시되고 신호될 수 있다. 예를 들면, VSP 스킵/직접 모드(a VSP skip/direct mode)에서, 움직임 벡터 차분 (디)코딩 및 예를 들어 변환-기반 코딩을 이용하는 잔차 예측 오차의 (디)코딩은 마찬가지로 생략될 수 있다. 예를 들면, 만일 매크로 블록이 스킵/다이렉트 모드를 이용하여 코딩될 것이라고 비트스트림 내에 표시되어 있으면, 매크로 블록은 VSP 프레임이 참조로서 사용될지의 여부를 비트스트림 내에 추가 표시될 수 있다.
본 발명의 일부 예시적인 실시예에 따른 인코더는 다음과 같은 동작 중 하나 이상을 포함할 수 있다. 본 출원에서 디코딩을 위한 디코더 측에도 유사한 원리가 적용할 수도 있다는 것을 주목하여야 한다.
뷰(#N) 내 텍스처/비디오의 블록(Cb)의 코딩/디코딩은, VSP 소스 이미지로서 사용되어 뷰 합성 프로세스에 필요한 이미지 샘플을 제공하는, Ti라고도 지칭되는, 뷰(#i) (여기서 i≠N)의 참조 텍스처/비디오 데이터를 사용하여 수행된다.
아래에서는 일부 실시예의 몇 가지 특징적인 양태가 요약된다.
깊이/
디스패리티
정보 d(
Cb
)의 유용성
텍스처/비디오 뷰(#N) 내 블록(Cb)의 코딩/디코딩은 이러한 텍스처 정보(Cb) 및 범위 정보와 연관되어 있으면서 텍스처 블록의 코딩/디코딩하기 전에 이용 가능한 깊이 정보, 깊이 맵 정보, 디스패리티 정보 또는 임의의 다른 범위 정보(d(Cb))를 이용하여 수행될 수 있다.
VSP
을 위한 참조 영역 R(
Cb
)
일부 실시예에서, 텍스처 블록(Cb)의 뷰 합성 예측은 뷰(#M) (여기서 M!=N)의 참조 VSP 이미지 내 참조 영역(R(Cb)) 내 픽셀 또는 참조 샘플 값을 생성 또는 산출하는 결과를 가져온다. 일부 실시예에서, 참조 영역(R(Cb))의 샘플들은 텍스처 블록(C(b))에 대한 예측 블록일 수 있으며, 반면 일부 다른 실시예에서 참조 영역(R(Cb))의 샘플들은 예를 들어 참조 영역(R(Cb)) 내에서 움직임-보상 예측 및/또는 서브-픽셀 값 보간을 통해 또는 상이한 뷰들로부터 획득된 복수개 참조 영역들(R(Cb))의 조인트 프로세싱을 통해 텍스처 블록(C(b))에 대한 예측 블록의 샘플들을 도출하는데 사용될 수 있다.
백워드
프로젝션
일부 실시예에서, 뷰 합성 예측의 프로세스는 백워드 프로젝션 접근 방법을 이용하여 수행되며 다음과 같은 단계를 활용할 수 있다. 즉,
뷰(#N) 내 코딩된 블록(C(b))과 연관된 범위 정보(dN(C(b))는 현재 뷰(#N) 및 참조 뷰(#i)의 샘플들 사이의 공간 좌표 오프셋을 명시하는 디스패리티 정보 (Di(C(b))로 변환된다.
디스패리티 정보(Di(C(b))로의 변환은 픽셀-단위의 접근 방법으로 수행될 수 있는데, 이 접근 방법에서 현재 뷰(#N)의 디스패리티 정보(Di(C(b))의 모든 샘플마다, 종속적인 디스패리티 정보(Di(C(b))가 계산되거나 추정된다. 대안으로, 디스패리티로의 변환은 도출된 범위 정보 값(dN(Cb'))이, 예를 들면 범위 정보 값들(dN(Cb))을 평균함으로써, 미디언 필터를 범위 정보 값들(dN(Cb))에 적용함으로써, 또는 임의의 다른 함수 또는 필터를 범위 정보 값들(dN(Cb)) 내 모든 샘플들에 적용함으로써, 획득되도록 블록-단위로 수행될 수 있다. 그런 다음, 도출된 범위 정보 값(dN(Cb'))은 예를 들면, 깊이-대-디스패리티 매핑을 이용하여 각각의 디스패리티 값(Di(Cb'))으로 변환될 수 있다. 대안으로, 디스패리티로의 변환은 예를 들면 각각의 디스패리티 값(Di(Cb'')을 생성하기 위해 디스패리티 정보(Di(Cb))의 값들을 평균함으로써, 미디언 필터를 디스패리티 정보(Di(Cb))의 값들에다 적용함으로써, 또는 임의의 다른 함수 또는 필터를 디스패리티 정보(Di(Cb)) 내 모든 샘플들에 적용함으로써 디스패리티 정보(Di(Cb))가 처리되도록 블록-단위로 수행될 수 있다.
디스패리티 정보(Di(Cb)) 또는 각각의 Di(Cb') 또는 Di(Cb'')는 참조 뷰(#i)의 텍스처 내 샘플 값을 찾는데 활용될 수 있으며 이러한 텍스처 샘플들의 범위 정보(di(Cb)), 예를 들면 참조 뷰(#i) 내 깊이 맵 이미지의 샘플들과 연관될 수 있다. 만일 디스패리티 정보(Di(Cb))가 디스패리티 값의 블록이면, 텍스처 참조 뷰(#i)의 샘플 값은 픽셀-단위로 찾을 수 있다. 만일 디스패리티 정보(Di(Cb))가 픽셀 블록에 대한 단일의 디스패리티 값을 나타내면, 텍스처 참조 뷰(#i)의 샘플 값은 블록-단위로 찾을 수 있다. 찾아낸 샘플들은 R(C(b)를 형성하는데 사용될 수 있다. 찾아내기 및/또는 복사하기 동작은 또한 프로젝팅, 매핑, 필터링 또는 와핑이라고 지칭될 수 있다.
참조 영역(R(Cb))의 생성은 참조 뷰(#i)(즉 Ti)의 픽셀들의 각종 처리, 예를 들면, 공간 또는 시간 필터링, 루미턴스 변동을 보상하기 위해 가중된 예측 파라미터를 이용한 필터링, 또는 폐색이나 홀 또는 기타의 것을 다루기 위한 비-선형적 처리를 포함할 수 있다. 그러한 처리는 픽셀을 참조 영역(R(Cb))에 프로젝팅하기 전 또는 프로젝팅한 후에 수행될 수 있다.
뷰 합성 예측에서 백워드 프로젝션의 결과는 참조 영역(R(Cb))의 도출 순서가 임의적일 수 있다는 것이다. 다시 말해서, VSP 이미지 내 참조 영역(R(Cb))의 픽셀 값은 각 블록(C(b))마다 독립적으로 생성될 수 있으며, 처리된 C(b)(들)의 순서에 관해서는 아무런 종속 관계도 없다고 추정된다. 그러므로, 참조 영역(R(Cb))의 동일한 픽셀 값은 단일의 C(b)에 대하여 뷰 합성 프로세스에 의해 또는 프레임-레벨 전체의 뷰 합성 프로세스에 의해 생성될 수 있다. 이러한 특성은 H.264/MVC와 같은 기존의 코딩 방법과 비교하여 블록-레벨의 코딩/디코딩에서 변동을 필요로 하지 않을 수 있는 프레임-레벨 또는 슬라이스-레벨로서의 백워드 뷰 합성 예측을 구현할 수 있게 한다. 그러나, 이러한 특성은 또한 메모리 양을 더 적게 소비할 수 있는 블록-레벨의 구현을 가능하게 할 수 있다.
아래에서는 일부 실시예의 몇 가지 보충적인 특징적 양태가 요약된다. 게다가 이러한 양태 중 한 가지 이상의 양태는 앞에서 열거된 양태들과 함께 사용될 수 있다.
하나를 초과하는
VSP
참조 프레임으로부터 블록-기반의 다중-가설 예측
양방향의 또는 임의의 다른 형태의 다중-가설 예측은 둘 이상의 참조 VSP 프레임을 참조로서 사용할 수 있다. 양방향은 예를 들면 뷰들 간의 조명 차를 보상하기 위해 가중될 수 있다.
복수개
VSP
소스 이미지로부터 샘플-기반 R(
Cb
)의 도출
만일 복수개 VSP 소스 이미지가 R(Cb) 샘플 값 계산에 이용할 수 있으면, 다양한 처리가 R(Cb)의 실제 텍스처 샘플을 생성하는데 적용될 수 있다. 이러한 처리는 이것으로 제한되지 않지만 (예를 들면, 깊이 값이 더 가까운 텍스처 샘플이 선택될 수 있거나 또는 더 작은 깊이 값이 선택될 수 있는) 조건적 선택(conditional selection) 또는 복수개 후보들을 샘플들에 결합하기(aggregating multiple candidates into samples)를 포함할 수 있다.
깊이/
디스패리티
-기반 R(
Cb
)의 도출
di(Cb) 및 dN(Cb)의 대응하는 샘플 값들은 절대차의 합(a Sum of Absolute Differences (SAD))과 같은 다양한 유사성(different similarity) 또는 차 메트릭(difference metrics)를 이용하여 비교될 수 있다. 차 메트릭은 블록(di(Cb)) 또는 di(Cb)의 개개 샘플에 대해 도출될 수 있다. 만일 차가 특정 범위에 속하면, 디스패리티(Di(Cb))에 의해 명시되는 참조 뷰(#i)의 텍스처 샘들들은 참조 영역(R(Cb))의 샘플 값들을 생성하기 위해 이용될 수 있다.
아래에서는 일부 실시예가 더 상세히 기술된다.
도 8은 일부 예시적인 실시예에 따라서 뷰 합성 예측을 이용하여 텍스처 코딩의 움직임 추정/움직임 보상 예측 체인의 예시적인 실시예의 플로우차트를 도시한다. 뷰 합성 예측은 반드시 완전한 VSP 프레임을 생성할 필요는 없고, 움직임 추정/움직임 보상 예측 체인으로부터의 요청에 의거하여 참조 영역(R(Cb))만을 생성할 수 있다.
도 5는 비디오 플러스 깊이 데이터(video plus depth data)의 일예를 도시한다. 도 5에서, 블록(152)은 텍스처(150)의 현재 코딩된 블록(C(b))을 도시하며 블록(156)은 이러한 텍스처의 범위 정보(d(Cb)), 예를 들면 깊이 맵(151)과 연관된다. 텍스처(150)의 다른 블록들(153, 154, 155)은 현재 블록(cb)의 좌측편에 있는 이웃 블록(S), 현재 블록(cb)의 우측 상단 코너에 있는 이웃 블록(T) 및 텍스처(150) 내 비-이웃 블록(a non-neighboring block)(U)을 나타낸다. 블록들(157, 158, 159)은 각기 텍스처 블록(S, T, U)의 범위 정보(d(S), d(T), d(U))를 예시한다.
아래에서는 코딩된 멀티뷰 플러스 깊이 비디오 코딩(coded multiview plus depth video coding (MVD)) 데이터가 아마도 병렬 카메라 구성을 이용하여 촬영된 복수개 비디오를 나타내는 텍스처 및 깊이 맵 컴포넌트를 갖고 있다고 가정하며, 이렇게 촬영된 뷰들은 교정되고 있다.
용어 Ti 및 di은 뷰(#i)의 텍스처 컴포넌트 및 깊이 맵 컴포넌트를 각기 나타낸다. MVD 데이터의 텍스처 및 깊이 맵 컴포넌트는 상이한 코딩 순서, 예를 들면 T0d0T1d1 또는 d0d1 T0T1으로 코딩될 수 있다. 일부 실시예에서, 텍스처 컴포넌트(Ti) 및 깊이 맵 컴포넌트(di)가 텍스처 컴포넌트(Ti)의 코딩/디코딩에서 활용되기 전에 깊이 맵 컴포넌트(di)가 이용 가능하다고(디코딩된다고) 가정된다.
아래에서, 현재 블록(Cb)에 대한 픽셀-기반의 백워드 비디오 합성 예측에 기초하는 제 1 실시예가 더 상세히 설명된다. 예를 들면, 다음과 같은 가정이 사용될 수 있다. 즉, 코딩 순서는 T0d0T1d1이고, 텍스처 컴포넌트(Ti)는 비디오 합성 예측으로 코딩되었으며, 현재 코딩된 블록(Cb1)은 파티션 16x16을 갖는다. 현재 코딩된 블록(Cb1)은 깊이 맵 데이터(d(Cb1))와 연관되며 깊이 맵 데이터는 16x16의 동일한 크기의 블록으로 구성된다. 일부 실시예에서, 멀티뷰 플러스 깊이 코딩은 다음과 같은 단계를 이용하여 구현될 수 있다.
깊이-대-
디스패리티
변환
깊이 맵 데이터(d(Cb1))의 블록은 디스패리티 샘플들의 블록(D(Cb1))으로 변환된다. 변환의 프로세스는 다음의 수학식에 따라서 또는 이것의 정수 연산 구현에 따라서 수행될 수 있다.
여기서 d0는 뷰(#0)의 깊이 맵 값이고, Z는 실제 깊이 값이며, D는 특정 뷰의 디스패리티이다.
파라미터(f, b, Z_near 및 Z-far)는 카메라 구성으로부터 도출될 수 있는데, 즉 사용된 초점 길이(f), 뷰(#0)와 뷰(#i) 사이의 카메라 분리(b) 및 깊이 범위(Z_near, Z-far)는 깊이 맵 변환의 파라미터들을 나타낸다. 결과적인 디스패리티 값(D)은 뷰(#1)의 공간 좌표를 뷰(#1)의 공간 좌표로 변환하는데 적용된 수평 좌표 오프셋(dX)으로서 적용된다.
일반적으로, 수학식(5)는 부동소숫점 연산을 구현하기 위해 가정된다. 그러나, 샘플링 그리드의 유한 특성 때문에, 디스패리티 값은 가장 가까운 정수로 반올림되거나(이 예에서는 픽셀-대-픽셀 대응관계가 성취된다) 또는 일부 서브-픽셀 정확도로 반올림될 수 있다(이 예에서는 참조 이미지(Ti)는 요구된 정확도로 업-샘들되어야 한다). 이런 원리로, 수학식(5)를 이용하여 계산된 디스패리티 값은 서브-픽셀 정확도로 표현된 움직임 벡터 컴포넌트(mv_x)와 다를 바 없다.
텍스처
픽셀을 R(
Cb
)로 프로젝션하기
깊이 맵 값(d1(i,j))의 하나하나마다 디스패리티(D1(i,j))가 계산되며, 이 디스패리티는 뷰(#0) 내 연관된 텍스처 픽셀들의 위치를 찾기 위해 적용된다. 현재 코딩된 뷰(#1)와 뷰(#i) 사이에 적용되는 디스패리티 값들은 현재의 객체와 연관된, 뷰(#1) 내 텍스처 픽셀들의 위치를 제공한다. 지적된 위치로부터 페치되는 픽셀들은 현재 블록(Cb)의 크기와 동일한 크기를 가질 수 있는 참조 블록(R(Cb)) 내 픽셀들을 생성하는데 이용된다.
일부 실시예에서, 참조 블록(R(Cb))은 예를 들면 움직임 벡터 코딩 또는 유사한 코딩을 통해 Cb와 R(Cb) 간의 변위의 세분할(refinement)을 가능하게 하기 위해 현재 블록(Cb) 보다 크기가 더 클 수 있다. 그렇게 더 큰 R(Cb)는 예를 들면 매핑된 픽셀들을 R(Cb) 내 단일의 샘플 위치보다 큰 영역으로 스플래팅함으로써 및/또는 R(Cb)를 도출하기 위해 C(b)보다 큰 깊이/디스패리티 블록을 이용함으로써 발생될 수 있다.
디스패리티 정보를 서브-픽셀 정확도로 활용하는 경우, 디스패리티 값(DX)은 VSP 소스 이미지 및 현재 코딩된 이미지의 해상도의 차를 반영하도록 재조정될 수 있으며 R(Cb)의 픽셀들은 보간 프로세스를 통해 생성될 수 있고, 여기서 Ti의 N개의 가장 가까운 샘플들은 예를 들면 다음과 같이 하나의 샘플을 생성하는데 사용될 수 있다.
여기서 인덱스 용어 "A:B"는 A와 B 사이의 범위에 속하는 모든 인덱스들을 명시한다. 이러한 특정한 예에서, 이것은 보간 함수가 i+DX - N/2 와 i+DX + N/2-1 사이의 범위에 위치하는 모든 Ti 픽셀들을 고려한다는 것을 의미한다.
보간의 다른 예는 이것으로 제한되지 않지만 H.264/AVC 및 HEVC에서 이용된 인-루프 보간(in-loop interpolations)을 포함할 수 있다.
일부 실시예에서, R(Cb) 생성을 위해 표시된 비디오 합성 예측 소스의 픽셀들은 연관된 범위 정보의 추가적인 분석을 받거나 또는 다음의 처리에 따라서 이웃들을 샘플링할 수 있다.
여기서 di는 뷰(#i)의 범위 정보이고, dl은 뷰(#1)의 깊이 맵 정보이며 function은 처리 함수이다.
일부 실시예에서, 다수의 비디오 합성 예측 소스 이미지들은 R(Cb)를 생성하기 위해 이용할 수 있다. R(Cb) 생성을 위해 이용된 특정한 비디오 합성 예측 소스는 비트스트림 내에서 디코더로 신호될 수 있거나 도출 프로세스를 통해 디코더에서 도출될 수 있다.
인코더는 율-왜곡 최적화(a Rate-Distortion Optimization (RDO))를 통해 또는 일부 다른 비용 메트릭의 최적화를 통해 비디오 합성 예측 소스 이미지를 선택할 수 있다. 그러한 실시예에서, 선택된 비디오 합성 예측 소스 이미지는 현재 텍스처 블록의 비디오 합성 예측 기반 코딩에 이용되며 선택된 비디오 합성 예측 소스 이미지의 식별은 디코더 측으로 신호된다.
사용된 비디오 합성 예측 소스 이미지에 관해 신호하는 비제한적인 예는 블록 파티션 레벨에서 움직임 벡터 컴포넌트와 연관된 참조 프레임 인덱스의 신호하기, 매크로-블록 레벨 또는 그 이하 레벨에서 명시된 파티셔닝 정보(예를 들면, 코딩 모드)를 통해 신호하기, 슬라이스-레벨(현재 슬라이스의 모든 비디오 합성 예측 코딩된 텍스처 블록들에 대한 비디오 합성 예측에서 사용될 식별된 비디오 합성 예측 소스 이미지)에서 신호하기, 또는 시퀀스 파라미터 세트 또는 그 이하의 파라미터 세트를 통해 신호하기(현재 시퀀스의 모든 비디오 합성 예측 코딩된 텍스처는 비디오 합성 예측에서 이용된 식별된 비디오 합성 예측 소스 이미지로 코딩됨)를 포함할 수 있다.
또 다른 실시예에서, 한 세트의 비디오 합성 예측 소스 후보들은 사전에 명시될 수 있으며/있거나 미리 디코더와 교신될 수 있다. 그러한 실시예에서, 인코더는 특정한 후보의 인덱스를 신호할 수 있거나, 또는 예를 들면 이미 코딩된 정보로부터 인덱스를 추출함으로써, 디코더 측에서 이용할 수 있는 정보로부터 비디오 합성 예측 소스 이미지의 식별을 도출하는 방법에 관한 인덱스를 신호할 수 있다.
인코더 및 디코더는 인코더 측 및 디코더 측에서 동일한 명시된 도출 프로세스를 통해 R(Cb)의 비디오 합성 예측 소스 이미지 또는 R(Cb)의 개개 샘플들을 도출할 수 있다. 그러한 도출 프로세스에 관한 비제한적인 예는, 깊이 의존적 선택(depth dependent selection)(예를 들면, 깊이 값이 d(Cb)에 가장 가까운 비디오 합성 예측 소스 또는 (카메라에 가장 가까운 3D 장면의 객체를 나타내는) 더 작은 깊이 값의 비디오 합성 예측 소스가 선택됨), 또는 이전에 코딩된 블록 또는 이웃 블록으로부터 최적한 비디오 합성 예측 소스의 도출을 포함할 수 있다. 도출 프로세스는 샘플-단위 또는 블록-단위일 수 있다. 만일 도출 프로세스가 블록-단위인 경우, 도출은 d(Cb) 및 각각의 후보 R(Cb) 블록의 평균하기와 같은 필터링하기를 포함할 수 있다.
일부 실시예에서, 인코더 및 디코더는 사전에 정의된 한 세트의 도출 프로세스를 활용할 수 있다. 활용된 프로세스의 인덱스는 매크로-블록 레벨 또는 그 이하의 레벨에서, 슬라이스 레벨 또는 그 이하의 레벨에서, 시퀀스 파라미터 셋 또는 그 이하의 파라미터 셋에서 디코더로 신호될 수 있거나 또는 활용된 코딩 프로파일에 의해 명시될 수 있다.
R(
Cb
)로부터
Cb
를 예측하기
현재 블록(Cb)은 움직임 보상 예측을 위한 통상의 방식으로 R(Cb)로부터 예측될 수 있고, 참조 인덱스는 특정한 참조 VSP 이미지를 가리키며, 움직임 벡터 컴포넌트(mv_x 및 mv_y)는 이러한 참조 프레임 내 특정 공간 위치를 참조하고 있다.
참조 인덱스 및 움직임 벡터 컴포넌트는 통상적인 방식으로 코딩될 수 있으며 디코더로 전송될 수 있다.
일부 실시예에서, Cb는 부화소 움직임 벡터(fractional-pel motion vectors)를 사용하여 R(Cb)로부터 예측될 수 있으며, 따라서 참조 영역(R(Cb))은 현재 블록(Cb)보다 큰 블록 크기를 갖는다.
일부 실시예에서, 현재 블록(Cb)에 대한 비디오 합성 예측은 제로 움직임 벡터(Mv_x=mv_y=0)를 이용하여 R(Cb)로부터 생성될 수 있다. 그러한 실시예에서, 참조 영역(R(Cb))은 현재 블록(Cb)과 동일한 블록 크기를 가질 수 있다.
일부 실시예에서, 잔차 움직임 벡터 정보는 선험적으로 인식하는 것이라고 간주될 수 있거나 또는 디코더 측에서 도출될 수 있으며, 잔차 움직임 벡터는 디코더로 전송되지 않는다. 디코더 측에서 움직임 벡터를 도출하는 것은 예를 들면 특정한 검색 범위 내에서 또는 예를 들면 현재 블록(Cb)에 대하여 어떤 공간 위치를 가진 인접한 공간 블록 또는 어떤 시간 또는 뷰-간 블록들으로부터 선택될 수 있는 후보 움직임 벡터들 중에서, 절대차의 합과 같은 특정한 유사성/차 메트릭을 이용하는, 깊이/디스패리티 차를 최소화하는 것에 기반할 수 있다.
일부 실시예에서, 참조 비디오 합성 예측 이미지의 참조 인덱스는 선험적으로 인식되는 것으로 간주되거나 또는 디코더 측에서 도출될 수 있다. 즉 참조 비디오 합성 예측 이미지의 참조 인덱스는 디코더에 전송되지 않는다.
일부 실시예에서, 현재 블록(Cb)의 코딩/디코딩을 위한 비디오 합성 예측 이미지의 사용은 움직임 정보 신호하기의 일부로서 참조 인덱스의 형태로 전송되지 않고, 그 대신 대안 형태의 신호하기의 형태를 이용하여 전송될 수 있다. 그러한 신호하기의 비제한적인 예는, 현재 블록(Cb)에 대한 비디오 합성 예측의 사용을 명시하는 특정 플래그의 사용을 포함할 수 있다. 그러한 플래그는 매크로블록 레벨에서 신호될 수 있거나 또는 H.264/AVC-기반 코덱에서 블록 파티션-레벨을 통해, HEVC-기반 코덱에서 코딩 유닛(CU) 레벨 또는 그 이하 레벨을 통해 신호될 수 있거나, 또는 HEVC 코덱에서처럼 디코더 측에서 선험적으로 인식된 예측 후보들의 인덱스를 통해 신호될 수 있다. 플래그는 CABAC-코딩되거나 또는 일부 다른 산술 코덱또는 그와 유사한 코덱으로 코딩될 수 있고 그래서 반드시 비트스트림에서 비트로 표현될 필요는 없다.
아래에서, 뷰 합성 예측에서 범위 정보의 처리에 기반하는 제 2 실시예가 더 상세히 설명된다. 제 2 실시예는 아래에 도시된 바와 같이 제 1 실시예와 상이한다.
수학식(5)에서 도시된 것처럼 디스패리티로의 변환에 앞서, 멀티뷰 플러스 깊이 비디오 코딩의 깊이 컴포넌트는 예를 들면 아래에서 도시된 바와 같은 몇 가지 처리를 받을 수 있다.
깊이 맵은 선형 및/또는 비-선형 필터링, 평균 또는 미디언 필터링을 포함할 수 있는 각종 필터링을 받을 수 있다.
평균 필터링의 경우, 디스패리티 값(d(Cb))의 평균이 계산되고 수학식(5)에서 활용되어 전체 블록(Cb)에 대한 단일의 평균 디스패리티 값(D(Cb))을 생성한다. 즉,
대안으로, 평균 필터링 대신 미디언 필터링이 이용될 수 있다.
대안으로, 깊이 맵 데이터의 최소 또는 최대 값이 수학식(5)에서 이용될 수 있다. 즉,
일부 실시예에서, 픽셀-단위의 디스패리티는 수학식(5)에서 명시된 것처럼 디스패리티 값(d(Cb))으로부터 생성될 수 있으며, 이 단계 다음에는 현재 블록(Cb)을 나타내는 단일의 디스패리티 값이 디스패리티 도메인에서 연산을 통해 생성될 수 있다. 단일의 디스패리티 값은 선형 처리 또는 비-선형 처리를 통해 생성될 수 있으며, 이러한 처리의 비제한적인 예는 평균, 미디언 또는 최소/최대 연산을 포함한다.
일부 실시예에서, 디스패리티 값(d(Cb))에 적용된 디스패리티 값(d(Cb))의 서브-샘플링 연산은 수학식(5)에서 현재 블록(Cb)의 깊이 맵 표현을 제공하는데 사용될 수 있다.
또 다른 실시예에서, 현재 블록(Cb)의 깊이 맵 표현은 이전에 코딩된 깊이 맵 컴포넌트(뷰)로부터 또는 이전에 코딩된 텍스처 블록으로부터 도출될 수 있다.
또 다른 실시예에서, 현재 블록(Cb)의 표현을 위한 깊이 맵 후보들은 현재 블록(Cb)을 코딩/디코딩하기 전에 인코더 및 디코더에서 이용할 수 있다. 현재 블록(Cb)의 코딩/디코딩에 이용된 특정한 깊이 값의 인덱스는 비트스트림에서 신호될 수 있거나 또는 인코더 및 디코더 측에서 도출될 수 있다.
이후 제 1 실시예의 다른 단계는 제 1 실시예와 관련하여 앞에서 도시된 바와 동일한 방식으로 수행될 수 있다.
아래에서, RDO를 이용한 다방향 뷰 합성 예측을 기반으로 하는 제 3 실시예가 더 상세히 설명된다.
멀티뷰 3D 비디오 코딩의 경우, VSP 프레임은 복수개 참조 뷰들로부터 뷰 합성을 통해 생성될 수 있다. 예를 들면, 3-뷰 코딩을 가정하면, 멀티뷰 플러스 깊이 비디오 컴포넌트는 T0-d0-d1-d2-T1-T2 순서대로 코딩될 수 있다. 이러한 순서에 따라서, 텍스처 뷰(T1)는 뷰 합성 예측을 이용할 수 있으며 대응하는 VSP 프레임은 뷰(#0)로부터 프로젝트될 수 있다. 대조적으로, 텍스처 뷰(T2)는 뷰(#0) 및 뷰(#1)로부터 생성된 VSP 프레임을 이용할 수 있다. 그러므로, 이는 코딩/디코딩을 위해 복수개 VSP 프레임을 이용할 수 있거나 또는 상충하는 VSP 프레임들이 뷰 합성 예측의 품질을 개선하기 위해 융합될 수 있다.
디코더 측에서 복수개 참조 VSP 프레임들을 생성하고 다루는 것은 계산적인 복잡성 및 메모리 할당의 면에서 디코더에게 요구하는 것일 수 있다. 그러나, 일부 실시예에서 제안된 방식은 블록 레벨에서 수행되기 때문에, 참조 영역(R(Cb))만이 생성되며, 반드시 완전한 프레임을 필요로 하는 것은 아니다.
깊이 대 디스패리티 변환에 관한 제 3 실시예의 디코딩 동작은 제 1 및 제 2 실시예와 상이하다. 디코더는 비트스트림으로부터 뷰 합성 예측이 수행되어야하는 뷰(view_id)를 명시하는 표시자를 읽거나 또는 디코더에서 이용 가능한 정보로부터 그 표시자를 추출한다. 상이한 view_id (VSP 방향)은 평행이동 파람(translation param)(b) 또는 초점 길이와 같이, 깊이 대 디스패리티 변환으로의 상이한 입력을 가질 것이며 결과적으로 상이한 디스패리티 값을 초래할 수 있다. 그런 다음, 디코더는 아무런 변동없이 제 1 실시예 또는 제 2 실시예의 다른 단계를 수행할 수 있다.
대조적으로, 인코더는 이용 가능한 모든 뷰들에 대해 제 1 및 제 2 실시예를 전부 수행하였을 것이고, 결과적으로 코딩된 뷰가 여러 번 복사될 수 있다. 일부의 율-왜곡 최적화에서 최소 비용을 제공하는 view_id가 코딩을 위해 선택될 수 있고 디코더 측으로 신호될 수 있다.
대안으로, 인코더는 이용 가능한 정보로부터 뷰 합성 예측 방향에 관한 정보를 추출할 수 있고 신호를 하지 않고 현재 블록(Cb)의 코딩을 수행할 수 있다. 그러한 실시예에서, 디코더는 디코더 측에서 대응하는 절차대로 view_id를 추출할 것이다. 예를 들면, 인코더 및 디코더는 카메라 평행이동의 면에서 물리적으로 현재의 뷰에 가장 가까운 VSP 소스 프레임을 선택할 수 있다. 만일 카메라 평행이동의 면에서 현재 뷰에 똑같이 가까운 두 개(또는 그 이상)의 뷰가 있으면, 인코더 및 디코더는 뷰 순서 인덱스가 더 작은 뷰를 선택하는 것과 같은 결정론적 법칙(deterministic rule)에 기초하여 뷰들 중에서 선택할 수 있다.
아래에서는 깊이-인식 선택을 이용한 다방향 뷰 합성 예측을 기반으로 하는 제 4 실시예가 더 상세히 설명된다.
제 3 실시예에 대한 대안으로 또는 부가적으로, 뷰 합성 예측 방향은 현재 블록(Cb)을 코딩/디코딩하기 전에 인코더/디코더 측에서 이용 가능한 깊이 정보에 기초하여 인코더 및 디코더 측에서 선택될 수 있다.
뷰(#0)로부터 뷰 합성 예측(D0) 및 뷰(#1)로부터 뷰 합성 예측(D1)에 대응하는 뷰(#2) 내 깊이 정보(d(Cb))가 현재 블록(Cb)을 코딩하기 전에 인코더 및 디코더 측에서 모두 이용 가능하기 때문에, 이것은 현재 블록(Cb)에 대한 바람직한 뷰 합성 예측 방향에 관한 판단에 이용될 수 있다. 예를 들면, d(Cb)와 VSP(D) 사이의 최소 유클리드 거리를 제공하는 방향이 예측을 위해 선택될 수 있다.
상이한 왜곡 매트릭이 제 4 실시예에서 활용될 수 있다는 것을 주목하여야 한다.
아래에서, 양방향 VSP를 기반으로 하는 제 5 실시예가 더 상세히 설명된다.
제 3 및 제 4 실시예에 대한 대안으로 또는 부가적으로, 뷰(#2) 내 현재 블록(Cb)은 양방향 뷰 합성 예측을 이용하여 예측될 수 있다. 그러한 실시예들에서, 참조 영역(R0(Cb) 및 R1(Cb))은 참조 뷰(#0 및 #1)로부터 생성되고 뷰(#2) 내 현재 블록(Cb)의 예측을 위해 가중 예측의 형태로 사용될 것이다.
아래에서, 이전의 실시예(들)의 단일-, 멀티-, 또는 양-방향 뷰 합성 예측의 가중에 기반한 제 6 실시예가 더 상세히 설명된다.
일부 실시예에서, 디코더 측 또는 인코더 측의 어느 곳에서도 완전한 VSP 프레임이 이용 가능하지 않으며, 그래서 통상의 방법에서 완전한 프레임으로부터 가중 예측을 위한 가중치를 추정하는데는 필요한 계산, 메모리 사용, 및 메모리 액세스 대역폭의 점에서 비용이 소요될 것이다. 뿐만 아니라, 가중 파라미터들의 픽처 순서 카운트(POC)-기반 계산을 활용하는 것은, 뷰 합성 예측으로부터 말미암은 이미지의 품질에 아무것도 반영되지 않을 것이므로, 최적하지도 않을 것이다.
그러나, 뷰 합성 예측은 특정한 뷰(뷰 합성 예측 방향)로부터 실제 픽셀 값의 프로젝션을 가정하기 때문에, 그러한 픽셀에 대한 가중 파라미터들, 예를 들면 뷰(#0)로부터 뷰-간 예측 뷰(#2)를 위해 사용된 재사용 wp1 파라미터 및 뷰(#1)로부터 뷰-간 예측 뷰(#2)를 위해 사용된 재사용 wp2 파라미터는 대응하는 뷰로부터 물려받을 수 있다.
제 1 내지 제 4 실시예에서, 특정 뷰로부터 프로젝트된 픽셀 데이터(R(Cb))는 대응하는 가중 파라미터를 이용하여 재조정(정규화)될 수 있다. 제 5 실시예에서, 픽셀 데이터(R(Cb))는 뷰(#0) 및 뷰(#1)로부터 프로젝트된 픽셀 데이터의 가중 평균으로서 계산될 것이다.
대안으로 또는 부가적으로, 가중 예측 파라미터는 인코더 측 또는 디코더 측에서 이용 가능한 깊이 정보에 기초하여 추정될 수 있다.
대안으로, 두 Wp1 및 Wp2를 반환하는 함수가 정의될 수 있다. 즉, [Wp1, Wp2] = function(d(Cb), VSP_D1, VSP_D2). 예를 들면, 이 함수는 다음과 같이 명시될 수 있다.
여기서 sad(d(Cb), VDP_Dx)는 d(Cb) 내 샘플들 및 VSP Dx 내 대응 샘플들의 각각의 쌍들 간의 절대 차들의 합을 반환한다. 그러면, Total_Cost가 Costl+Cost2 로 명시된다. 마지막으로, Wp1이 Cost2/Total_Cost로 명시되며 Wp2는 Cost1/Total_Cost로 명시된다(이때 가중 예측의 가중치들은 1까지 합산한다고 가정한 것이다).
인코더(800)의 예는 도 8에서 간략화된 블록도로서 도시되며 예시적인 실시예에 따른 인코더의 동작은 도 13의 흐름도로서 도시된다. 인코더(800)는 인코딩하기 위한 텍스처 뷰의 현재 프레임의 블록을 수신한다(802). 블록은 현재 블록(Cb)이라고도 부를 수 있다. 현재 블록은 감산 요소와 같은 제 1 결합기(804)에 제공되고, 움직임 추정기(806)에도 제공된다. 움직임 추정기(806)는 이전에 인코딩된 프레임(들)을 저장하는 프레임 버퍼(812)에 액세스하거나 또는 움직임 추정기(806)는 다른 수단을 통해 하나 이상의 이전에 인코딩된 프레임들의 하나 이상의 블록들을 제공받을 수 있다. 움직임 추정기(806)는 하나 이상의 이전에 코딩된 블록들 중 어느 블록이 이 블록을 현재 블록에 대한 예측 참조로서 사용하기에 양호한 기준을 제공할지의 여부를 검사한다. 만일 적절한 예측 참조가 발견되면, 움직임 추정기(806)는 선택된 블록이 현재 프레임 내 현재 블록의 위치에 대해 참조 프레임 내 어디에 위치하는지를 표시하는 움직임 벡터를 계산한다. 움직임 벡터 정보는 제 1 엔트로피 인코더(814)에 의해 인코딩될 수 있다. 예측 참조의 정보는 예측된 블록을 계산하는 움직임 예측기(810)에 또한 제공된다.
제 1 결합기(804)는 현재 블록과 예측된 블록(808) 간의 차를 결정한다. 이 차는 예를 들면, 현재 블록의 픽셀 값들과 예측된 블록의 대응하는 픽셀 값들 간의 차를 계산함으로써 결정될 수 있다. 이 차는 예측 오차(a prediction error)라고 부를 수 있다. 예측 오차는 변환 요소(816)에 의해 변환 도메인으로 변환된다. 이러한 변환은 예를 들면, 이산 코사인 변환(a discrete cosine transform (DCT))일 수 있다. 변환된 값은 양자화기(818)에 의해 양자화된다. 양자화된 값은 제 2 엔트로피 인코더(820)에 의해 인코딩될 수 있다. 양자화된 값은 또한 변환된 값을 재구성하는 역 양자화기(822)에 제공될 수 있다. 그런 다음 재구성된 변환된 값은 역 변환 요소(824)에 의해 역변환되어 재구성된 예측 오차 값을 구한다. 재구성된 예측 오차 값은 제 2 결합기(826)에 의해 예측된 블록과 결합되어 현재 블록의 재구성된 블록 값을 구한다. 재구성된 블록 값은 정렬 요소(828)에 의해 올바른 순서대로 정렬되고 프레임 버퍼(812)에 저장된다.
일부 실시예에서, 인코더(800)는 하나 이상의 다른 뷰(832)의 텍스쳐 뷰 프레임 및 깊이 정보(834)(예를 들면, 깊이 맵)를 이용하여, 예를 들면 앞의 여러 실시예에서 설명한 것처럼 현재 블록과 또다른 뷰내 동일 위치에 있는 블록의 깊이 맵에 기초하여, 다른 뷰(836)를 합성할 수 있는 뷰 합성 예측기(830)를 또한 포함한다. 다른 텍스처 뷰 프레임(832) 및/또는 합성된 뷰(836)는 움직임 추정기(806)가 현재 블록에 대한 예측 참조를 선택할 때 다른 뷰 및/또는 합성된 뷰를 사용할 수 있도록 프레임 버퍼(812)에 저장될 수 있다.
뷰 합성 기반 예측, 뷰-간 예측, 및 계층-간 예측에 이용된 움직임 벡터 컴포넌트들은 그들의 적용성 범위, 즉 일련의 신택스 요소들 및 일련의 디코딩 동작들을 정의하는 적용성 범위에서 제한 받을 수 있다. 예를 들면, 움직임 벡터 컴포넌트 또는 예측 값 대비 움직임 벡터 컴포넌트 차의 값 범위 및/또는 정도(precision)가 제한될 수 있다. 또한, 일부 실시예에서, 뷰 합성 기반 예측, 뷰-간 예측, 및/또는 계층-간 예측에 이용된 차분 움직임 벡터 컴포넌트들은 인터 예측 또는 시간 움직임-보상 예측에 이용된 차분 움직임 벡터 컴포넌트와 비교하여 상이한 초기 컨텍스트를 가질 수 있다. 뿐만 아니라, 일부 실시예에서, 뷰 합성 기반 예측, 뷰-간 예측, 및/또는 계층-간 예측에 이용된 차분 움직임 벡터 컴포넌트들은 인터 예측 또는 시간 움직임-보상 예측의 차분 움직임 벡터 컴포넌트들의 이진화와 비교하여 컨텍스트-기반 연산 코딩 및 디코딩에 대해서는 상이하게 이진화될 수 있다.
인코더가 프레임 또는 픽처의 블록의 텍스처 정보를 인코딩할 때, 인코더는 현재 블록의 범위 정보가 이용 가능한지의 여부를 결정(102)할 수 있다. 이러한 결정은 현재 블록의 뷰와 동일한 뷰에 대해 동일-위치에 있는 깊이/디스패리티 블록이 메모리에 존재하는지 또는 그렇지 않고 뷰 합성 예측에 이용 가능한지의 여부를 검사하는 과정을 포함할 수 있다. 인코딩될 블록은 도 13에서 블록(100)으로 설명된 인코더로 입력된다. 만일 이러한 결정이 현재 블록의 뷰와 동일한 뷰에 대해 동일-위치에 있는 깊이/디스패리티 블록이 뷰 합성 예측에 이용 가능하다고 표시하면, 현재 블록의 텍스처 블록에 대한 뷰 합성 예측이 수행되어 참조 영역(R(Cb))을 획득한다. 만일 이러한 결정이 현재 블록의 뷰와 동일한 뷰에 대해 동일-위치에 있는 깊이/디스패리티 블록이 뷰 합성 예측에 이용 가능하지 않다고 표시하면, 통상의 움직임 예측이 적용(114)될 수 있다. 도 13에 도시된 실시예에서, 뷰 합성 예측은 범위 정보를 현재 뷰(#N) 및 참조 뷰(#i)의 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보로 변환하는 과정(104)을 포함한다. 디스패리티 정보는 참조 뷰(#i)의 텍스처 내 샘플 값들을 찾기 위해(106) 사용된다. 참조 뷰(#i)의 텍스처 내에서 찾은 샘플 값들은 참조 영역(R(Cb))에 복사(108)될 수 있다. 현재 블록의 텍스처 블록에 대한 뷰 합성 예측은 또한 참조 뷰(#i)의 샘플들을 처리하는 과정(110)을 포함할 수 있다. 이러한 처리과정(110)는 복사하기(108) 전 또는 그 후에 수행될 수 있다. 만일 처리과정(110)이 복사 이전에 수행되면, 처리된 값들 또는 그 값들 중 일부는 참조 영역(R(Cb))의 샘플들에 복사된다.
참조 영역(R(Cb))이 구성되었을 때, 현재 블록(Cb)은 참조 영역(R(Cb))의 정보에 기초하여 예측(112)될 수 있다.
아래에서, 디코더(900)의 예시적인 실시예의 동작이 도 9 및 도 14의 흐름도를 참조하여 설명될 것이다. 디코더(900)는 인코딩된 비디오 정보를 포함하는 비트스트림 또는 비트스트림의 일부(902)를 수신(200)한다. 인코딩된 비디오 정보는 예측 오차 값, 움직임 벡터, 참조 인덱스 등을 포함할 수 있다. 본 발명에서 이러한 모든 정보가 동일한 비트스트림에 포함될 필요는 없고, 이 정보의 일부는 상이한 종류의 신택스 요소를 이용하여 상이한 비트스트림에서 전송될 수 있다는 것을 주목하여야 한다.
아래에서, 움직임 벡터 처리와 관련하는 디코딩에 관해 주로 설명되며 블록의 재구성과 같은 다른 디코딩 동작(904)의 설명은 본 명세서에서 대부분 생략될 것이다.
디코더(900)는 수신되고 엔트로피 인코딩된 정보를 디코딩하는 엔트로피 디코더(906)를 포함할 수 있다. 디코딩된 정보는 움직임 벡터 디코더(908)에 제공될 수 있다. 움직임 벡터 디코더(908)는 디코딩된 정보를 검사하여 참조 인덱스 또는 현재 블록에 대한 참조 타입을 나타내는 다른 종류의 참조 표시가 수신된 비트스트림에 포함되었는지의 여부를 결정하는 참조 타입 검사 요소(910)를 포함할 수 있다. 만일 참조 표시가 수신되었다면, 참조 타입 검사 요소(910)는 참조 표시에 기초하여 참조 타입을 결정할 수 있다(202). 만일 참조 표시가 수신되지 않았으면, 참조 타입 검사 요소(910)는 다른 데이터를 사용하여 참조 타입을 결정할 수 있다.
움직임 벡터 디코더(908)는 현재 블록에 대한 움직임 벡터 컴포넌트를 재구성할 수 있는 움직임 벡터 재구성 요소(912)를 더 포함할 수 있다.
만일 참조 표시가 현재 블록이 통상의 인트라 예측을 이용하여 예측되었다고 표시하면, 현재 블록은 수신된 예측 오차 정보 및 현재 프레임과 동일한 프레임 내에서 이전에 디코딩된 블록의 정보를 이용하여 재구성될 수 있다(220). 만일 표시가 현재 블록이 통상의 인터 예측을 이용하여 예측되었다고 표시하면, 움직임 벡터 정보 및 예측 오차 정보는 예측 참조, 즉 인코더(800)가 현재 프레임에 대한 예측 참조를 재구성(220)할 때 사용하였던 이전에 디코딩된 다른 프레임의 블록과 함께 디코딩되어 사용된다.
만일 참조 표시가 현재 블록이 뷰 합성 예측을 이용하여 예측된 것이라고 표시하면(204), 일부 실시예에서는 디코더(900)에 의해 다음과 같은 동작이 수행될 수 있다. 디코더(900)는 뷰 합성 예측을 위한 소스로서 사용된 이미지(들)의 정보를 도출할 수 있거나(206) 또는 그 정보를 인코더(800)로부터 수신할 수 있으며 그 소스 이미지들을 사용하여 인코더 측에 대응하는 절차를 이용하여 VSP 블록을 생성할 수 있다(208).
만일 참조 표시가 현재 블록이 뷰 합성 예측을 이용하여 예측되지 않았다고 표시하면(204), 현재 블록을 디코딩하기 위한 다른 예측 방법이 사용될 수 있다(210).
예시적인 실시예에서, 예를 들면 H.264/AVC 또는 초안 HEVC에서 명시된 바와 같은 산술 연산자, 논리 연산자, 관계 연산자, 비트 연산자(bit-wise operators), 대입 연산자(assignment operators), 및 범위 표시를 위한 일반적인 표시가 사용될 수 있다. 뿐만 아니라, 예를 들면 H.264/AVC 또는 초안 HEVC에서 명시된 바와 같은 일반적인 수학적 함수가 사용될 수 있으며 예를 들면, H.264/AVC 또는 초안 HEVC에서 명시된 바와 같이 연산자들의 우선 순서 및 실행 순서(좌에서 우로 또는 우에서 좌로)의 일반적인 순서가 사용될 수 있다.
예시적인 실시예에서, 다음과 같은 기술자(descriptors)가 각 신택스 요소의 분석 프로세스(parsing process)를 명시하는데 사용될 수 있다.
- ae(v): 컨텍스트-적응 산술(context-adaptive arithmetic (CABAC)) 엔트로피-코딩된 신택스 요소.
- b(8): 임의의 패턴의 비트 스트링을 갖는 바이트(8 비트).
- se(v): 좌측 비트 먼저 나오는 부호붙임 정수형 Exp-Golomb-코딩된 신택스 요소.
- u(n): n 비트를 이용하는 무부호 정수. n이 신택스 테이블에서 "v"일 때, 비트의 개수는 다른 신택스 요소의 값에 종속하는 방식으로 변동된다. 이러한 기술자의 분석 프로세스는 최상위 비트가 먼저 기록된 무부호 정수의 이진 표현으로서 해석된 비트스트림에서 n개의 다음 비트들에 의해 명시된다.
- ue(v): 좌측 비트 먼저 나오는 무부호 정수형 Exp-Golomb-코딩된 신택스 요소.
Exp-Golomb 비트 스트링은 예를 들면 하기 테이블을 이용하여 코드 번호(codeNum)로 변환될 수 있다.
Exp-Golomb 비트 스트링에 대응하는 코드 번호는 예를 들면 하기 테이블을 이용하여 se(v)로 변환될 수 있다.
본 발명의 실시예가 중점적으로 특정한 코딩 표준 및 그의 확장 표준을 이용하여 기술되었지만, 본 발명은 다른 코덱, 비트스트림 포맷, 및 코딩 구조에도 적용될 수 있다.
아래에서 기술되는 바와 같이, 한가지 해결책으로 조합될 수 있는 다음과 같은 요소들이 제공되거나, 또는 이들 요소들이 개별적으로 활용될 수 있다. 앞에서 설명한 바와 같이, 비디오 인코더 및 비디오 디코더는 모두 전형적으로 예측 메커니즘을 적용하며, 그래서 다음과 같은 요소들도 유사하게 비디오 인코더 및 비디오 디코더에 모두 적용할 수 있다.
앞에서 제시된 다양한 실시예에서, 코딩/디코딩되는 현재 블록(cb)에 이웃하는 블록이 선택된다. 이웃 블록을 선택하는 예는 (예를 들면, 도 7(a)에 도시된 것처럼) 공간 이웃을 포함한다. 다른 예는 (예를 들면, 도 7(b)에 도시된 것처럼) 동일 뷰의 이전 및/또는 나중 프레임 내의 시간 이웃, 인접한 뷰 내의 공간 이웃, 상이한 계층 내의 공간 이웃, 및 합성된 뷰 내의 공간 이웃을 포함한다. 본 발명의 양태는 이웃 블록을 선택하는 전술한 방법으로 제한되지 않고, 오히려 본 발명의 다른 실시예가 부분적으로 또는 전체적으로 실현될 수 있는 것 이외에 한가지 가능한 기준에 대하여 설명이 제공된다.
많은 실시예가 루마(luma)의 예측에 관하여 설명되었지만, 많은 코딩 장치에서 크로마(chroma) 예측 정보는 사전에 결정된 관계를 이용하여 루마 예측 정보로부터 도출될 수 있다는 것이 이해될 것이다. 예를 들면, 루마의 경우 크로마 컴포넌트 예측을 위한 동일한 참조 샘플이 사용된다고 추정될 수 있다.
다음은 본 발명의 실시예를 구현하는데 적합한 장치 및 가능한 메커니즘을 더 상세히 기술한다. 이것과 관련하여, 먼저 본 발명의 실시예에 따른 코덱을 포함할 수 있는 예시적인 장치 또는 전자 장치(50)의 개략적인 블록도를 도시하는 도 10이 참조된다.
전자 장치(50)는 예를 들면, 무선 통신 시스템의 이동 단말기 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지를 인코딩하고 디코딩하는 또는 인코딩하거나 디코딩하는데 필요할 수 있는 모든 전자 기기 또는 장치 내에서 실행될 수 있다는 것이 인식될 것이다.
장치(50)는 이 장치를 내장하여 보호하는 하우징(30)을 포함할 수 있다. 장치(50)는 또한 액정 디스플레이 형태의 디스플레이(32)를 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 디스플레이하는데 적합한 임의의 적절한 디스플레이 기술일 수 있다. 장치(50)는 키패드(34)를 더 포함할 수 있다. 본 발명의 다른 실시예에서, 임의의 적절한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예를 들면, 사용자 인터페이스는 터치-감응 디스플레이의 일부로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치는 마이크로폰(36) 또는 디지털 또는 아날로그 신호 입력일 수 있는 임의의 적절한 오디오 입력을 포함할 수 있다. 장치(50)는 본 발명의 실시예에서 수화기(38), 스피커, 또는 아날로그 오디오 또는 디지털 오디오 입력 접속부 중 어느 하나일 수 있는 오디오 출력 장치를 더 포함할 수 있다. 장치(50)는 또한 배터리(40)를 포함할 수 있다(또는 본 발명의 다른 실시예에서 장치는 태양 전지, 연료 전지 또는 태엽작동 발전기와 같은 임의의 적절한 이동 에너지 장치에 의해 동력을 공급받을 수 있다). 장치는 다른 장치와의 단거리 시선 통신을 위한 적외선 포트(42)를 더 포함할 수 있다. 다른 실시예에서, 장치(50)는 예를 들면 블루투스 무선 연결 또는 USB/파이어와이어 유선 연결과 같은 임의의 적절한 단거리 통신 솔루션을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 컨트롤러(56) 또는 프로세서를 포함할 수 있다. 컨트롤러(56)는 본 발명의 실시예에서 이미지 및 오디오 데이터 형태의 두 가지 데이터를 저장할 수 있으며/있거나 컨트롤러(56)에서 실행을 위한 명령어를 또한 저장할 수 있는 메모리(58)에 연결될 수 있다. 컨트롤러(56)는 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 실행하기에 적절한 또는 컨트롤러(56)에 의해 실행된 코딩 및 디코딩 시에 보조하는데 적절한 코덱 회로(54)에 또한 연결될 수 있다.
장치(50)는 카드 리더(48) 및 스마트 카드(46), 예를 들면, 사용자 정보를 제공하고 네트워크에서 사용자의 인증 및 승인에 필요한 인증 정보를 제공하는데 적합한 UICC 및 UICC 리더를 더 포함할 수 있다.
장치(50)는 컨트롤러에 연결되며 그리고, 예를 들면, 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 근거리 네트워크와 통신을 위한 무선 통신 신호를 발생하기에 적합한 무선 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에 연결되어 무선 인터페이스 회로(52)에서 발생된 무선 주파수 신호를 다른 장치(들)에 전송하고 다른 장치(들)로부터 무선 주파수 신호를 수신하기 위한 안테나(44)를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 장치(50)는 개개의 프레임을 기록 또는 검출한 다음 처리를 위해 코덱(54) 또는 컨트롤러에 전달할 수 있는 카메라를 포함할 수 있다. 본 발명의 다른 실시예에서, 장치는 다른 기기로부터 처리를 위한 비디오 이미지 데이터를 수신한 다음 전송 및/또는 저장할 수 있다. 본 발명의 다른 실시예에서, 장치(50)는 코딩/디코딩을 위한 이미지를 무선 또는 유선 연결을 통해 수신할 수 있다.
도 12에 대해, 본 발명의 실시예가 활용될 수 있는 시스템의 일예가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 복수의 통신 기기를 포함한다. 시스템(10)은 이것으로 제한되지 않지만 (GSM, UMTS, CDMA 네트워크 등과 같은) 무선 셀룰러 텔레폰 네트워크, IEEE 802.x 표준 중 임의의 표준에 의해 정의된 바와 같은 무선 근거리 네트워크(WLAN), 블루투스 개인 영역 네트워크, 이더넷 근거리 네트워크, 토큰 링 근거리 네트워크, 광역 네트워크, 및 인터넷을 포함하는 유선 또는 무선 네트워크들의 임의의 조합을 포함할 수 있다.
시스템(10)은 본 발명의 실시예를 구현하기에 적합한 유선 및 무선 통신 기기 또는 장치(50)를 둘 다 포함할 수 있다.
예를 들면, 도 12에 도시된 시스템은 모바일 텔레폰 네트워크(11) 및 인터넷(28)의 표현을 보여준다. 인터넷(28)과의 연결은 이것으로 제한되지 않지만 장거리 무선 연결, 단거리 무선 연결, 및 이것으로 제한되지 않지만 전화선, 케이블선, 전력선, 및 유사 통신 경로를 비롯한 각종 유선 연결을 포함할 수 있다.
시스템(10)에서 도시된 예시적인 통신 기기들은 이것으로 제한되지 않지만, 전자 기기 또는 장치(50), 개인 휴대정보 단말(PDA)과 모바일 텔레폰(14)의 겸용, PDA(16), 통합 메시징 기기(integrated messaging device (IMD))(18), 데스크톱 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있다. 장치(50)는 고정형일 수 있거나 이동하는 개인이 휴대할 때는 이동형일 수 있다. 장치(50)는 또한 이것으로 제한되지 않지만 차, 트럭, 택시, 버스, 열차, 보트, 비행기, 자전거, 모터사이클 또는 임의의 유사하고 적절한 방식의 이송 수단을 포함하는 방식의 이송 수단 내에 배치될 수 있다.
일부의 장치 또는 또 다른 장치는 기지국(24)과의 무선 연결(25)을 통하여 서비스 공급자와 호 및 메시지를 송수신하고 통신할 수 있다. 기지국(24)은 모바일 텔레폰 네트워크(11)와 인터넷(28) 간의 통신을 가능하게 해주는 네트워크 서버(26)에 연결될 수 있다. 시스템은 추가적인 통신 기기 및 각종 형태의 통신 기기를 포함할 수 있다.
통신 기기는 이것으로 제한되지 않지만, 코드 분할 다중 액세스(code division multiple access (CDMA)), 글로벌구 이동 통신 시스템(global systems for mobile communications (GSM)), 범용 이동 통신 시스템(universal mobile telecommunications system (UMTS)), 시분할 다중 액세스(time divisional multiple access (TDMA)), 주파수 분할 다중 액세스(frequency division multiple access (FDMA)), 전송 제어 프로토콜-인터넷 프로토콜(transmission control protocol-internet protocol (TCP-IP)), 단문 메시징 서비스(short messaging service (SMS)), 멀티미디어 메시징 서비스(multimedia messaging service (MMS)), 이메일, 인스턴스 메시징 서비스(instant messaging service (IMS)), 블루투스, IEEE 802.11 및 임의의 유사한 무선 통신 기술을 비롯한 각종 전송 기술을 이용하여 통신할 수 있다. 본 발명의 여러 실시예를 구현하는데 연루된 통신 기기는 이것으로 제한되지 않지만 무선, 적외선, 레이저, 케이블 연결, 및 임의의 적합한 연결을 비롯한 각종 미디어를 이용하여 통신할 수 있다.
비록 전술한 예가 전자 장치 내 코덱 내부에서 동작하는 본 발명의 실시예를 기술할지라도, 아래에 기술된 바와 같은 본 발명은 임의의 비디오 코덱의 일부로서 구현될 수 있다는 것이 인식될 것이다. 그러므로, 예를 들면, 본 발명의 실시예는 고정된 또는 유선의 통신 경로를 통해 비디오 코딩을 구현할 수 있는 비디오 코덱에서 구현될 수 있다.
그러므로, 사용자 장비는 전술한 본 발명의 실시예에서 기술된 것과 같은 비디오 코덱을 포함할 수 있다. 사용자 장비라는 용어는 모바일 텔레폰, 휴대용 데이터 처리 장치 또는 휴대용 웹 브라우저와 같은 임의의 적절한 형태의 무선 사용자 장비를 포함하는 것으로 의도하는 것이 인식될 것이다.
뿐만 아니라 공중 육상 모바일 네트워크(public land mobile network (PLMN))의 요소들 또한 전술한 바와 같은 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 여러 실시예는 하드웨어 또는 특수 목적 회로, 소프트웨어, 로직 또는 이들의 조합으로 구현될 수 있다. 예를 들면, 비록 본 발명이 이것으로 제한되지 않지만, 일부 양태는 하드웨어로 구현될 수 있는 반면, 다른 양태는 컨트롤러, 마이크로프로세서 또는 다른 컴퓨팅 장치에 의해 실행될 수 있는 펌웨어 또는 소프트웨어로 구현될 수 있다. 본 발명의 다양한 양태가 블록도, 플로우 차트로서 또는 일부 다른 회화적 표현을 이용하여 묘사되고 기술될 수 있지만, 본 출원에 기술된 이러한 블록, 장치, 시스템, 기술 또는 방법은, 비제한적인 예로서, 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로 또는 로직, 범용 하드웨어 또는 컨트롤러 또는 다른 컴퓨팅 기기, 또는 이들의 몇몇 조합으로 구현될 수 있다는 것이 이해될 것이다.
본 발명의 실시예는 프로세서 엔티티에서와 같은 모바일 기기의 데이터 프로세서에 의해 실행가능한 컴퓨터 소프트웨어에 의해, 또는 하드웨어에 의해, 또는 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다. 또한, 이것과 관련하여, 도면에서처럼 로직 흐름의 임의의 블록들은 프로그램 단계, 또는 상호연결된 로직 회로, 블록 및 기능, 또는 프로그램 단계 및 로직 회로, 블록 및 기능의 조합을 표현할 수 있다는 것을 주목하여야 한다. 소프트웨어는 메모리 칩, 또는 프로세서 내부에 구현된 메모리 블록과 같은 그러한 물리적 매체, 하드 디스크나 플로피 디스크와 같은 자기 매체, 및 예를 들면, DVD 및 그의 데이터 이형체인 CD와 같은 광학 매체 상에 저장될 수 있다.
메모리는 국부적 기술 환경에 적합한 임의 형태의 것일 수 있으며 반도체-기반 메모리 장치, 자기 메모리 장치 및 시스템, 광학 메모리 장치 및 시스템, 고정 메모리 및 제거가능 메모리와 같은 임의의 적합한 데이터 저장 기술을 이용하여 구현될 수 있다. 데이터 프로세서는 국부적 기술 환경에 적합한 모든 형태의 것일 수 있으며, 비제한적인 예로서 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(DSPS) 및 멀티-코어 프로세서 아키텍처에 기반한 프로세서 중 하나 이상을 포함할 수 있다.
본 발명의 실시예는 집적 회로 모듈과 같은 각종 컴포넌트에서 실시될 수 있다. 집적 회로의 디자인은 전반적으로 고도로 자동화된 프로세스이다. 복잡하고 강력한 소프트웨어 툴은 로직 레벨 디자인을 반도체 기판 상에서 에칭되고 형성되게 준비된 반도체 회로 디자인으로 변환하는데 이용가능하다.
캘리포니아, 마운틴 뷰 소재의 Synopsys Inc.와 캘리포니아 산호세 소재의 Cadence Design에 의해 제공된 것과 같은 프로그램은 자동적으로 전도체를 라우트하고 잘 설정된 디자인 룰 및 사전-저장된 디자인 모듈의 라이브러리를 이용하여 반도체 칩상에 컴포넌트를 배치한다. 일단 반도체 회로의 디자인이 완성되면, 표준화된 전자 포맷(예를 들면, Opus 또는 GDSII 등)의 결과적인 디자인은 반도체 제조 설비 또는 제조용 "팹(fab)"으로 전달될 수 있다.
전술한 설명은 본 발명의 예시적인 실시예의 풍부하고 유익한 설명을 예시적이고 비제한적인 예로서 제공하였다. 그러나, 첨부 도면 및 첨부의 청구범위와 함께 읽어볼 때 전술한 설명을 고려하여 관련 기술에서 통상의 지식을 가진 자들에게는 여러 가지 수정과 적응이 자명해질 수 있다. 그러나, 본 발명의 가르침의 그러한 모든 변형 및 유사한 변형은 그럼에도 본 발명의 범위 내에 속할 것이다.
다음과 같이 몇 가지 예가 제공될 것이다.
제 1 예에 따르면, 방법이 제공되며, 이 방법은,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하는 단계와,
제 1 텍스처 블록과 연관된 범위 정보를 획득하는 단계와,
범위 정보에 기초하여 제 2 뷰 내 참조 픽처를 참조하여 디스패리티 정보를 도출하는 단계와,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 단계와,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하는 단계를 포함한다.
일부 실시예에서, 방법은 참조 블록을 획득하기 위해 둘 이상의 참조 뷰들을 제공하는 단계를 포함한다.
일부 실시예에서, 방법은 제 1 뷰 내 현재 블록의 텍스처의 샘플들과 제 2 뷰 내 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하는 단계를 포함한다.
일부 실시예에서, 방법은,
제 2 뷰의 텍스처 내 참조 샘플들을 찾기 위해 디스패리티 정보를 이용하는 단계와,
찾은 참조 샘플 값들에 기초하여 예측된 샘플 값들을 획득하는 단계를 포함한다.
일부 실시예에서, 참조 영역의 샘플 값들을 획득하는 단계는,
참조 뷰의 텍스처의 샘플 값들을 필터링하는 단계와,
참조 뷰의 텍스처의 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하는 단계
중 하나 이상의 단계를 포함한다.
일부 실시예에서, 방법은 필터링 단계에서 하나보다 많은 참조 프레임의 샘플 값들을 이용하는 단계를 포함한다.
일부 실시예에서, 방법은 필터링 단계에서 하나보다 많은 참조 뷰의 샘플 값들을 이용하는 단계를 포함한다.
일부 실시예에서, 방법은 참조 프레임으로서 참조 VSP 프레임을 이용하는 단계를 포함한다.
일부 실시예에서, 방법은 둘 이상의 소스 프레임들로부터 참조 VSP 프레임을 생성하는 단계를 포함한다.
일부 실시예에서, 방법은 둘 이상의 소스 뷰들로부터 참조 VSP 프레임을 생성하는 단계를 포함한다.
일부 실시예에서, 방법은 둘 이상의 뷰 합성 방법들을 이용하여 참조 VSP 프레임을 생성하는 단계를 포함한다.
일부 실시예에서, 방법은,
둘 이상의 소스 프레임들로부터 또는 둘 이상의 뷰 합성 방법들을 이용하여 둘 이상의 참조 VSP 프레임들을 생성하는 단계와,
참조 VSP 프레임으로서 사용될 둘 이상의 참조 VSP 프레임들 중 하나를 선택하는 단계를 포함한다.
일부 실시예에서, 방법은,
하나 이상의 참조 프레임의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 뷰 합성 예측 방법들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 VSP 소스 프레임들의 표시
중 적어도 하나를 제공하는 단계를 포함한다.
일부 실시예에서, 방법은,
표시를 코딩된 비트스트림을 통해 디코더에 신호하는 단계와,
디코더 측에서 사전에 정의된 의사 결정 과정을 통해 이전에 디코딩된 텍스처 및/또는 범위 정보로부터 표시의 세분화를 도출하는 단계
중 적어도 하나를 제공하는 단계를 포함한다.
일부 실시예에서, 방법은 비디오 시퀀스의 픽셀, 블록, 슬라이스 또는 완전한 텍스처를 인코딩 또는 디코딩하기 위해 상기 표시를 적용하는 단계를 포함한다.
일부 실시예에서, 방법은 참조 블록이 선택될 수 있는 참조 픽처들로서 사용되는 픽처들을 표시하는 적어도 제 1 참조 픽처 리스트를 제공하는 단계를 포함한다.
일부 실시예에서, 방법은 모바일 통신 장치에서 비디오 정보를 인코딩하는데 사용된다.
일부 실시예에서, 비디오 정보는 멀티뷰 비디오 정보이다.
본 발명의 제 2 예에 따르면, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되며, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서가 장치로 하여금,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하게 하고,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하게 하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하게 하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하게 하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하게 하도록 구성된다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 추가로 참조 블록을 획득하기 위한 둘 이상의 참조 뷰들을 제공하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 추가로, 제 1 뷰 내 현재 블록의 텍스처의 샘플들과 제 2 뷰 내 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
제 2 뷰의 텍스처 내 참조 샘플들을 찾기 위해 디스패리티 정보를 이용하게 하고,
찾은 참조 샘플 값들에 기초하여 예측된 샘플 값들을 획득하게 한다.
장치의 일부 실시예에서, 참조 영역의 샘플 값들을 획득하는 것은,
참조 뷰의 텍스처의 샘플 값들을 필터링하는 것과,
참조 뷰의 텍스처의 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하는 것
중 하나 이상을 포함한다
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 필터링 과정에서 하나보다 많은 참조 프레임의 샘플 값들을 이용하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 필터링 과정에서 하나보다 많은 참조 뷰의 샘플 값들을 이용하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 참조 프레임으로서 참조 VSP 프레임을 이용하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 둘 이상의 소스 프레임들로부터 참조 VSP 프레임을 생성하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 둘 이상의 소스 뷰들로부터 참조 VSP 프레임을 생성하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 둘 이상의 뷰 합성 방법들을 이용하여 참조 VSP 프레임을 생성하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
둘 이상의 소스 프레임들로부터 또는 둘 이상의 뷰 합성 방법들을 이용하여 둘 이상의 참조 VSP 프레임들을 생성하게 하고,
참조 VSP 프레임으로서 사용될 둘 이상의 참조 VSP 프레임들 중 하나를 선택하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
하나 이상의 참조 프레임들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 뷰 합성 예측 방법들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 VSP 소스 프레임들의 표시
중 적어도 하나를 제공하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
표시를 코딩된 비트스트림을 통해 디코더에 신호하는 것과,
디코더 측에서 사전에 정의된 의사 결정 과정을 통해 이전에 디코딩된 텍스처 및/또는 범위 정보로부터 표시의 세분화를 도출하는 것
중 적어도 하나를 제공하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 비디오 시퀀스의 픽셀, 블록, 슬라이스 또는 완전한 텍스처를 인코딩 또는 디코딩하기 위해 상기 표시를 적용하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 참조 블록이 선택될 수 있는 참조 픽처들로서 사용되는 픽처들을 표시하는 적어도 제 1 참조 픽처 리스트를 제공하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 모바일 통신 장치에서 방법을 이용하여 비디오 정보를 인코딩하게 한다.
장치의 일부 실시예에서, 비디오 정보는 멀티뷰 비디오 정보이다.
본 발명의 제 3 예에 따르면, 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공되며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 적어도,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 픽처를 획득하고,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하는 것을 수행하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 참조 블록을 획득하기 위해 둘 이상의 참조 뷰들을 제공하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 제 1 뷰 내 현재 블록의 텍스처의 샘플들과 제 2 뷰 내 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
제 2 뷰의 텍스처 내 참조 샘플들을 찾기 위해 디스패리티 정보를 이용하게 하고,
찾은 참조 샘플 값들에 기초하여 예측된 샘플 값들을 획득하게 한다.
컴퓨터 프로그램 제품의 일부 실시예에서, 참조 영역의 샘플 값들을 획득하는 것은,
참조 뷰의 텍스처의 샘플 값들을 필터링하는 것과,
참조 뷰의 텍스처의 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하는 것
중 하나 이상을 포함한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 필터링 과정에서 하나보다 많은 참조 프레임의 샘플 값들을 이용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 필터링 과정에서 하나보다 많은 참조 뷰의 샘플 값들을 이용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 참조 프레임으로서 참조 VSP 프레임을 이용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 둘 이상의 소스 프레임들로부터 참조 VSP 프레임을 생성하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 둘 이상의 소스 뷰들로부터 참조 VSP 프레임을 생성하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 둘 이상의 뷰 합성 방법들을 이용하여 참조 VSP 프레임을 생성하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
둘 이상의 소스 프레임들로부터 또는 둘 이상의 뷰 합성 방법들을 이용하여 둘 이상의 참조 VSP 프레임들을 생성하게 하고,
참조 VSP 프레임으로서 사용될 둘 이상의 참조 VSP 프레임들 중 하나를 선택하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
하나 이상의 참조 프레임들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 뷰 합성 예측 방법들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 VSP 소스 프레임들의 표시
중 적어도 하나를 제공하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
표시를 코딩된 비트스트림을 통해 디코더에 신호하는 것과,
디코더 측에서 사전에 정의된 의사 결정 과정을 통해 이전에 디코딩된 텍스처 및/또는 범위 정보로부터 표시의 세분화를 도출하는 것
중 적어도 하나를 제공하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 비디오 시퀀스의 픽셀, 블록, 슬라이스 또는 완전한 텍스처를 인코딩 또는 디코딩하기 위해 상기 표시를 적용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 참조 블록이 선택될 수 있는 참조 픽처들로서 사용되는 픽처들을 표시하는 적어도 제 1 참조 픽처 리스트를 제공하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 모바일 통신 장치에서 방법을 사용하여 비디오 정보를 인코딩하게 한다.
컴퓨터 프로그램 제품의 일부 실시예에서, 비디오 정보는 멀티뷰 비디오 정보이다.
본 발명의 제 4 양태에 따르면, 장치가 제공되며, 이 장치는,
제 1 뷰를 나타내는 제 1 미압축된 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하는 수단과,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하는 수단과,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하는 수단과,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 수단과,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하는 수단을 포함한다.
제 5 예에 따르면, 방법이 제공되며, 이 방법은,
제 1 뷰의 프레임의 현재 블록에 관련하는 인코딩된 정보를 포함하는 비트스트림을 수신하는 단계와,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하는 단계와,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하는 단계와,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하는 단계와,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 단계와,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하는 단계를 포함한다.
일부 실시예에서, 방법은 참조 블록을 획득하기 위해 둘 이상의 참조 뷰들을 제공하는 단계를 포함한다.
일부 실시예에서, 방법은 제 1 뷰 내 현재 블록의 텍스처의 샘플들과 제 2 뷰 내 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하는 단계를 포함한다.
일부 실시예에서, 방법은,
제 2 뷰의 텍스처 내 참조 샘플들을 찾기 위해 디스패리티 정보를 이용하는 단계와,
찾은 참조 샘플 값들에 기초하여 예측된 샘플 값들을 획득하는 단계를 포함한다.
방법의 일부 실시예에서, 참조 영역의 샘플 값들을 획득하는 단계는,
참조 뷰의 텍스처의 샘플 값들을 필터링하는 단계와,
참조 뷰의 텍스처의 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하는 단계
중 하나 이상을 포함한다.
일부 실시예에서, 방법은 필터링 단계에서 하나보다 많은 참조 프레임의 샘플 값들을 이용하는 단계를 포함한다.
일부 실시예에서, 방법은 필터링 단계에서 하나보다 많은 참조 뷰의 샘플 값들을 이용하는 단계를 포함한다.
일부 실시예에서, 방법은 참조 프레임으로서 참조 VSP 프레임을 이용하는 단계를 포함한다.
일부 실시예에서, 방법은 둘 이상의 소스 프레임들로부터 참조 VSP 프레임을 생성하는 단계를 포함한다.
일부 실시예에서, 방법은 둘 이상의 소스 뷰들로부터 참조 VSP 프레임을 생성하는 단계를 포함한다.
일부 실시예에서, 방법은 둘 이상의 뷰 합성 방법들을 이용하여 참조 VSP 프레임을 생성하는 단계를 포함한다.
일부 실시예에서, 방법은,
둘 이상의 소스 프레임들로부터 또는 둘 이상의 뷰 합성 방법들을 이용하여 둘 이상의 참조 VSP 프레임들을 생성하는 단계와,
참조 VSP 프레임으로서 사용될 둘 이상의 참조 VSP 프레임들 중 하나를 선택하는 단계를 포함한다.
일부 실시예에서, 방법은,
하나 이상의 참조 프레임들의 표시와,
참조 블록을 생성하는데 이용된 하나 이상의 뷰 합성 예측 방법들의 표시와,
참조 블록을 생성하는데 이용된 하나 이상의 VSP 소스 프레임들의 표시
중 적어도 하나를 제공하는 단계를 포함한다.
일부 실시예에서, 방법은,
인코더로부터 코딩된 비트스트림을 통해 표시를 획득하는 단계와,
디코더 측에서 사전에 정의된 의사 결정 과정을 통해 이전에 디코딩된 텍스처 및/또는 범위 정보로부터 표시의 세분화를 도출하는 단계
중 적어도 하나를 제공하는 단계를 포함한다.
일부 실시예에서, 방법은 비디오 시퀀스의 픽셀, 블록, 슬라이스 또는 완전한 텍스처를 디코딩하기 위해 상기 표시를 적용하는 단계를 포함한다.
일부 실시예에서, 방법은 참조 블록이 선택될 수 있는 참조 픽처들로서 사용되는 픽처들을 표시하는 적어도 제 1 참조 픽처 리스트를 제공하는 단계를 포함한다.
일부 실시예에서, 방법은 모바일 통신 장치에서 방법을 이용하여 비디오 정보를 인코딩하는 단계를 포함한다.
방법의 일부 실시예에서, 비디오 정보는 멀티뷰 비디오 정보이다.
제 6 예에 따르면, 적어도 하나의 프로세서 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되며, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서가 장치로 하여금,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하게 하고,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하게 하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하게 하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하게 하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 참조 블록을 획득하기 위해 둘 이상의 참조 뷰들을 제공하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 추가로, 제 1 뷰 내 현재 블록의 텍스처의 샘플들과 제 2 뷰 내 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
제 2 뷰의 텍스처 내 참조 샘플들을 찾기 위해 디스패리티 정보를 이용하게 하고,
찾은 참조 샘플 값들에 기초하여 예측된 샘플 값들을 획득하게 한다.
장치의 일부 실시예에서, 참조 영역의 샘플 값들을 획득하는 것은,
참조 뷰의 텍스처의 샘플 값들을 필터링하는 것과,
참조 뷰의 텍스처의 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하는 것
중 하나 이상을 포함한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 필터링 과정에서 하나보다 많은 참조 프레임의 샘플 값들을 이용하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 필터링 과정에서 하나보다 많은 참조 뷰의 샘플 값들을 이용하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 참조 프레임으로서 참조 VSP 프레임을 이용하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 둘 이상의 소스 프레임들로부터 참조 VSP 프레임을 생성하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 둘 이상의 소스 뷰들로부터 참조 VSP 프레임을 생성하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 둘 이상의 뷰 합성 방법들을 이용하여 참조 VSP 프레임을 생성하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
둘 이상의 소스 프레임들로부터 또는 둘 이상의 뷰 합성 방법들을 이용하여 둘 이상의 참조 VSP 프레임들을 생성하게 하고,
참조 VSP 프레임으로서 사용될 둘 이상의 참조 VSP 프레임들 중 하나를 선택하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
하나 이상의 참조 프레임들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 뷰 합성 예측 방법들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 VSP 소스 프레임들의 표시
중 적어도 하나를 제공하게 한다.
장치의 일부 실시예에서, 상기 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한,
코딩된 비트스트림을 통해 인코더로부터 표시를 획득하는 것과,
디코더 측에서 사전에 정의된 의사 결정 과정을 통해 이전에 디코딩된 텍스처 및/또는 범위 정보로부터 표시의 세분화를 도출하는 것
중 적어도 하나를 수행하게 한다.
장치의 일부 실시예에서, 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 비디오 시퀀스의 픽셀, 블록, 슬라이스 또는 완전한 텍스처를 디코딩하기 위해 상기 표시를 적용하게 한다.
장치의 일부 실시예에서, 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 참조 블록이 선택될 수 있는 참조 픽처들로서 사용되는 픽처들을 표시하는 적어도 제 1 참조 픽처 리스트를 제공하게 한다.
장치의 일부 실시예에서, 적어도 하나의 메모리에는 코드가 저장되고, 이 코드는 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 또한 모바일 통신 장치에서 방법을 이용하여 비디오 정보를 인코딩하게 한다.
장치의 일부 실시예에서, 비디오 정보는 멀티뷰 비디오 정보이다.
제 7 예에 따르면, 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 프로그램 제품이 제공되며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 적어도,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하고,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하는 것을 수행하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 참조 블록을 획득하기 위해 둘 이상의 참조 뷰들을 제공하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 제 1 뷰 내 현재 블록의 텍스처의 샘플들과 제 2 뷰 내 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
제 2 뷰의 텍스처 내 참조 샘플들을 찾기 위해 디스패리티 정보를 이용하게 하고,
찾은 참조 샘플 값들에 기초하여 예측된 샘플 값들을 획득하게 한다.
컴퓨터 프로그램 제품의 일부 실시예에서, 참조 영역의 샘플 값들을 획득하는 것은,
참조 뷰의 텍스처의 샘플 값들을 필터링하는 것과,
참조 뷰의 텍스처의 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하는 것
중 하나 이상을 포함한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 필터링 과정에서 하나보다 많은 참조 프레임의 샘플 값들을 이용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 필터링 과정에서 하나보다 많은 참조 뷰의 샘플 값들을 이용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 참조 프레임으로서 참조 VSP 프레임을 이용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 둘 이상의 소스 프레임들로부터 참조 VSP 프레임을 생성하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 둘 이상의 소스 뷰들로부터 참조 VSP 프레임을 생성하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 둘 이상의 뷰 합성 방법들을 이용하여 참조 VSP 프레임을 생성하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
둘 이상의 소스 프레임들로부터 또는 둘 이상의 뷰 합성 방법들을 이용하여 둘 이상의 참조 VSP 프레임들을 생성하게 하고,
참조 VSP 프레임으로서 사용될 둘 이상의 참조 VSP 프레임들 중 하나를 선택하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
하나 이상의 참조 프레임들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 뷰 합성 예측 방법들의 표시와,
참조 블록을 생성하기 위해 이용된 하나 이상의 VSP 소스 프레임들의 표시
중 적어도 하나를 제공하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금,
인코더로부터 코딩된 비트스트림을 통해 표시를 획득하는 것과,
디코더 측에서 사전에 정의된 의사 결정 과정을 통해 이전에 디코딩된 텍스처 및/또는 범위 정보로부터 표시의 세분화를 도출하는 것
중 적어도 하나를 수행하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 비디오 시퀀스의 픽셀, 블록, 슬라이스 또는 완전한 텍스처를 디코딩하기 위해 상기 표시를 적용하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 참조 블록이 선택될 수 있는 참조 픽처들로서 사용되는 픽처들을 표시하는 적어도 제 1 참조 픽처 리스트를 제공하게 한다.
일부 실시예에서, 컴퓨터 프로그램 제품은 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하며, 이 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 모바일 통신 장치에서 방법을 사용하여 비디오 정보를 인코딩하게 한다.
컴퓨터 프로그램 제품의 일부 실시예에서, 비디오 정보는 멀티뷰 비디오 정보인 것을 포함한다.
제 8 예에 따르면, 장치가 제공되며, 이 장치는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하는 수단과,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하는 수단과,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하는 수단과,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하는 수단과,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하는 수단을 포함한다.
제 9 예에 따르면, 비디오 코더가 제공되며, 이 비디오 코더는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 미압축된 텍스처 블록을 획득하고,
제 1 미압축된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 미압축된 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하기 위해 구성된다.
제 10 예에 따르면, 비디오 디코더가 제공되며, 이 비디오 디코더는,
제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 인코딩된 텍스처 블록을 획득하고,
제 1 인코딩된 텍스처 블록과 연관된 범위 정보를 획득하고,
범위 정보에 기초하여 제 2 뷰 내 참조 프레임을 참조하여 디스패리티 정보를 도출하고,
디스패리티 정보에 기초하여 제 2 뷰의 참조 샘플들을 획득하고,
참조 샘플들을 이용함으로써 뷰 합성 예측을 수행하여 제 1 인코딩된 텍스처 블록을 디코딩하기 위한 참조 블록을 획득하기 위해 구성된다.
Claims (33)
- 제 1 뷰를 나타내는 제 1 코딩된 깊이 픽처(a first coded depth picture)를 획득하는 단계와,
상기 제 1 코딩된 깊이 픽처에 기초하여 제 1 디코딩된 깊이 픽처(a first decoded depth picture)를 재구성하는 단계와,
상기 제 1 뷰를 나타내는 제 1 텍스처 픽처(a first texture picture)의 제 1 텍스처 블록을 획득하는 단계와,
상기 제 1 디코딩된 깊이 픽처로부터 상기 제 1 텍스처 블록과 연관된 범위 정보(ranging information)를 획득하는 단계와,
상기 범위 정보에 기초하여 제 2 뷰 내 참조 픽처를 참조하여 디스패리티 정보(disparity information)를 도출하는 단계와,
상기 제 1 텍스처 블록을 인코딩하는 것과 상기 제 1 텍스처 블록을 디코딩하는 것 중 적어도 하나를 수행하기 위한 참조 블록을 획득하기 위해 상기 디스패리티 정보에 기초하여 뷰 합성 예측을 이용하여 상기 제 2 뷰의 참조 샘플들을 획득하는 단계를 포함하는
방법.
- 제 1 항에 있어서,
상기 범위 정보에 기초하여 제 3 뷰 내 제 2 참조 픽처를 참조하여 디스패리티 정보를 도출하는 단계와,
상기 디스패리티 정보에 기초하여 상기 제 3 뷰의 참조 샘플들을 획득하는 단계와,
상기 참조 블록을 획득하기 위해 상기 제 2 뷰의 상기 참조 샘플들 및 상기 제 3 뷰의 상기 참조 샘플들을 이용하는 단계를 더 포함하는
방법.
- 제 1 항에 있어서,
상기 제 1 텍스처 블록의 샘플들과 상기 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하는 단계를 더 포함하는
방법.
- 제 1 항에 있어서,
상기 참조 픽처 내 상기 참조 샘플들을 찾기(locating) 위해 상기 디스패리티 정보를 이용하는 단계와,
상기 찾은 참조 샘플들에 기초하여 상기 참조 블록에 대한 참조 샘플 값들을 획득하는 단계와,
상기 참조 샘플 값들을 필터링하는 단계와,
상기 참조 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하는 단계를 더 포함하는
방법.
- 제 1 항에 있어서,
상기 참조 블록이 선택되는 참조 픽처들로서 사용되는 픽처들을 나타내는 적어도 제 1 참조 픽처 리스트를 제공하는 단계를 더 포함하는
방법.
- 제 1 항에 있어서,
상기 범위 정보를 획득하는 단계는,
상기 제 1 뷰를 나타내는 제 1 디코딩된 깊이 픽처를 재구성 또는 디코딩하고 상기 제 1 디코딩된 깊이 픽처로부터 상기 범위 정보를 획득하는 단계와,
코딩 순서로 상기 제 1 텍스처 픽처에 선행하는 깊이 픽처들로부터 상기 범위 정보를 획득하는 단계와,
코딩 순서로 상기 제 1 텍스처 블록에 선행하는 텍스처 블록들로부터 상기 범위 정보를 획득하는 단계
중 적어도 하나를 포함하는
방법.
- 제 1 항에 있어서,
상기 범위 정보 또는 상기 디스패리티 정보를,
상기 범위 정보 또는 상기 디스패리티 정보를 필터링하는 방식과,
상기 범위 정보 또는 상기 디스패리티 정보를 서브샘플링하는 방식과,
상기 범위 정보 또는 상기 디스패리티 정보로부터 하나의 디스패리티 값을 도출하는 방식
중 적어도 하나의 방식으로 처리하는 단계를 더 포함하는
방법.
- 제 1 뷰를 나타내는 제 1 코딩된 깊이 픽처를 획득하고,
상기 제 1 코딩된 깊이 픽처에 기초하여 제 1 디코딩된 깊이 픽처를 재구성하고,
상기 제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 텍스처 블록을 획득하고,
상기 제 1 텍스처 블록과 연관된 범위 정보를 획득하고,
상기 범위 정보에 기초하여 제 2 뷰 내 참조 픽처를 참조하여 디스패리티 정보를 도출하고,
상기 제 1 텍스처 블록을 인코딩하는 것과 상기 제 1 텍스처 블록을 디코딩하는 것 중 적어도 하나를 수행하기 위한 참조 블록을 획득하기 위해 상기 디스패리티 정보에 기초하여 뷰 합성 예측을 이용하여 상기 제 2 뷰의 참조 샘플들을 획득하도록 구성되는
장치.
- 제 8 항에 있어서,
상기 장치는,
상기 범위 정보에 기초하여 제 3 뷰 내 제 2 참조 픽처를 참조하여 디스패리티 정보를 도출하고,
상기 디스패리티 정보에 기초하여 상기 제 3 뷰의 참조 샘플들을 획득하고,
상기 참조 블록을 획득하기 위해 상기 제 2 뷰의 상기 참조 샘플들 및 상기 제 3 뷰의 상기 참조 샘플들을 이용하도록 더 구성되는
장치.
- 제 8 항에 있어서,
상기 장치는 상기 제 1 텍스처 블록의 샘플들과 상기 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하도록 더 구성되는
장치.
- 제 8 항에 있어서,
상기 장치는,
상기 참조 픽처 내 상기 참조 샘플들을 찾기 위해 상기 디스패리티 정보를 이용하고,
상기 찾은 참조 샘플들에 기초하여 상기 참조 샘플 값들을 획득하고,
상기 참조 샘플 값들을 필터링하고,
상기 참조 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하도록 더 구성되는
장치.
- 제 8 항에 있어서,
상기 장치는 상기 참조 블록이 선택되는 참조 픽처들로서 사용되는 픽처들을 나타내는 적어도 제 1 참조 픽처 리스트를 제공하도록 더 구성되는
장치.
- 제 8 항에 있어서,
상기 장치는,
상기 제 1 뷰를 나타내는 제 1 디코딩된 깊이 픽처를 재구성 또는 디코딩하고 상기 제 1 디코딩된 깊이 픽처로부터 상기 범위 정보를 획득하는 것과,
코딩 순서로 상기 제 1 텍스처 픽처에 선행하는 깊이 픽처들로부터 상기 범위 정보를 획득하는 것과,
코딩 순서로 상기 제 1 텍스처 블록에 선행하는 텍스처 블록들로부터 상기 범위 정보를 획득하는 것
중 적어도 하나를 수행하도록 또한 구성됨으로써 범위 정보를 획득하도록 구성되는
장치.
- 제 8 항에 있어서,
상기 장치는,
상기 범위 정보 또는 상기 디스패리티 정보를 필터링하는 방식과,
상기 범위 정보 또는 상기 디스패리티 정보를 서브샘플링하는 방식과,
상기 범위 정보 또는 상기 디스패리티 정보로부터 하나의 디스패리티 값을 도출하는 방식
중 적어도 하나의 방식으로 상기 범위 정보 또는 상기 디스패리티 정보를 처리하도록 더 구성되는
장치.
- 하나 이상의 명령어의 하나 이상의 시퀀스를 포함하는 컴퓨터 판독가능한 저장 매체로서,
상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 적어도,
제 1 뷰를 나타내는 제 1 코딩된 깊이 픽처를 획득하는 것과,
상기 제 1 코딩된 깊이 픽처에 기초하여 제 1 디코딩된 깊이 픽처를 재구성하는 것과,
상기 제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 텍스처 블록을 획득하는 것과,
상기 제 1 텍스처 블록과 연관된 범위 정보를 획득하는 것과,
상기 범위 정보에 기초하여 제 2 뷰 내 참조 픽처를 참조하여 디스패리티 정보를 도출하는 것과,
상기 제 1 텍스처 블록을 인코딩하는 것과 상기 제 1 텍스처 블록을 디코딩하는 것 중 적어도 하나를 수행하기 위한 참조 블록을 획득하기 위해 상기 디스패리티 정보에 기초하여 뷰 합성 예측을 이용하여 상기 제 2 뷰의 참조 샘플들을 획득하는 것을 수행하게 하는
컴퓨터 판독가능한 저장 매체.
- 제 15 항에 있어서,
하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 장치로 하여금,
상기 범위 정보에 기초하여 제 3 뷰 내 제 2 참조 픽처를 참조하여 디스패리티 정보를 도출하게 하고,
상기 디스패리티 정보에 기초하여 상기 제 3 뷰의 참조 샘플들을 획득하게 하고,
상기 참조 블록을 획득하기 위해 상기 제 2 뷰의 상기 참조 샘플들 및 상기 제 3 뷰의 상기 참조 샘플들을 이용하게 하는
컴퓨터 판독가능한 저장 매체.
- 제 15 항에 있어서,
하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 장치로 하여금 상기 제 1 텍스처 블록의 샘플들과 상기 참조 샘플들 간의 공간 좌표 오프셋을 명시하는 디스패리티 정보를 도출하게 하는
컴퓨터 판독가능한 저장 매체. - 제 15 항에 있어서,
하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 장치로 하여금,
상기 참조 픽처 내 상기 참조 샘플들을 찾기 위해 상기 디스패리티 정보를 이용하게 하고,
상기 찾은 참조 샘플들에 기초하여 상기 참조 샘플 값들을 획득하게 하고,
상기 참조 샘플 값들을 필터링하게 하고,
상기 참조 샘플 값들을 하나 이상의 가중 예측 파라미터들을 이용하여 필터링하게 하는
컴퓨터 판독가능한 저장 매체.
- 제 15 항에 있어서,
하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 장치로 하여금 상기 참조 블록이 선택되는 참조 픽처들로서 사용되는 픽처들을 나타내는 적어도 제 1 참조 픽처 리스트를 제공하게 하는
컴퓨터 판독가능한 저장 매체.
- 제 15 항에 있어서,
하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 장치로 하여금,
상기 제 1 뷰를 나타내는 제 1 디코딩된 깊이 픽처를 재구성 또는 디코딩하고 상기 제 1 디코딩된 깊이 픽처로부터 상기 범위 정보를 획득하는 것과,
코딩 순서로 상기 제 1 텍스처 픽처에 선행하는 깊이 픽처들로부터 상기 범위 정보를 획득하는 것과,
코딩 순서로 상기 제 1 텍스처 블록에 선행하는 텍스처 블록들로부터 상기 범위 정보를 획득하는 것
중 적어도 하나에 따라서 상기 범위 정보를 획득하게 하는
컴퓨터 판독가능한 저장 매체.
- 제 15 항에 있어서,
하나 이상의 명령어의 하나 이상의 시퀀스를 포함하고, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 장치로 하여금,
상기 범위 정보 또는 상기 디스패리티 정보를 필터링하는 방식과,
상기 범위 정보 또는 상기 디스패리티 정보를 서브샘플링하는 방식과,
상기 범위 정보 또는 상기 디스패리티 정보로부터 하나의 디스패리티 값을 도출하는 방식
중 적어도 하나의 방식으로 상기 범위 정보 또는 상기 디스패리티 정보를 처리하게 하는
컴퓨터 판독가능한 저장 매체.
- 비디오 인코더로서,
제 1 뷰를 나타내는 제 1 코딩된 깊이 픽처를 획득하고,
상기 제 1 코딩된 깊이 픽처에 기초하여 제 1 디코딩된 깊이 픽처를 재구성하고,
상기 제 1 뷰를 나타내는 제 1 텍스처 픽처의 제 1 텍스처 블록을 획득하고,
상기 제 1 텍스처 블록과 연관된 범위 정보를 획득하고,
상기 범위 정보에 기초하여 제 2 뷰 내 참조 픽처를 참조하여 디스패리티 정보를 도출하고,
상기 제 1 텍스처 블록을 인코딩하기 위한 참조 블록을 획득하기 위해 상기 디스패리티 정보에 기초하여 뷰 합성 예측을 이용하여 상기 제 2 뷰의 참조 샘플들을 획득하도록 구성된
비디오 인코더. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261662076P | 2012-06-20 | 2012-06-20 | |
US61/662,076 | 2012-06-20 | ||
PCT/FI2013/050662 WO2014009598A1 (en) | 2012-06-20 | 2013-06-17 | An apparatus, a method and a computer program for 3d video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150032714A KR20150032714A (ko) | 2015-03-27 |
KR101662963B1 true KR101662963B1 (ko) | 2016-10-05 |
Family
ID=49774112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157001333A KR101662963B1 (ko) | 2012-06-20 | 2013-06-17 | 3d 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램 |
Country Status (10)
Country | Link |
---|---|
US (1) | US9998726B2 (ko) |
EP (1) | EP2865184B1 (ko) |
KR (1) | KR101662963B1 (ko) |
CN (1) | CN104521238B (ko) |
CA (1) | CA2876344C (ko) |
ES (1) | ES2864222T3 (ko) |
PL (1) | PL2865184T3 (ko) |
RU (1) | RU2611240C2 (ko) |
WO (1) | WO2014009598A1 (ko) |
ZA (1) | ZA201500317B (ko) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7983835B2 (en) | 2004-11-03 | 2011-07-19 | Lagassey Paul J | Modular intelligent transportation system |
JP5747559B2 (ja) * | 2011-03-01 | 2015-07-15 | 富士通株式会社 | 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム |
US9609341B1 (en) * | 2012-04-23 | 2017-03-28 | Google Inc. | Video data encoding and decoding using reference picture lists |
US20140002595A1 (en) * | 2012-06-29 | 2014-01-02 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Apparatus, system and method for foreground biased depth map refinement method for dibr view synthesis |
CA2885408C (en) * | 2012-09-28 | 2021-11-30 | Sony Corporation | Image processing device and method |
US20140092978A1 (en) * | 2012-10-01 | 2014-04-03 | Nokia Corporation | Method and apparatus for video coding |
US9699450B2 (en) * | 2012-10-04 | 2017-07-04 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
US9154785B2 (en) * | 2012-10-08 | 2015-10-06 | Qualcomm Incorporated | Sub-bitstream applicability to nested SEI messages in video coding |
JP2014082541A (ja) * | 2012-10-12 | 2014-05-08 | National Institute Of Information & Communication Technology | 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置 |
CN109982094A (zh) * | 2013-04-02 | 2019-07-05 | Vid拓展公司 | 针对可伸缩视频编码的增强型时间运动向量预测 |
US10158876B2 (en) * | 2013-04-10 | 2018-12-18 | Qualcomm Incorporated | Backward view synthesis prediction |
EP2932720A4 (en) * | 2013-04-10 | 2016-07-27 | Mediatek Inc | METHOD AND APPARATUS FOR DIVIDING VECTOR DIVIDER FOR THREE-DIMENSIONAL AND MULTI-VIEW VIDEO CODING |
US10080036B2 (en) * | 2013-05-16 | 2018-09-18 | City University Of Hong Kong | Method and apparatus for depth video coding using endurable view synthesis distortion |
JP6128987B2 (ja) * | 2013-06-25 | 2017-05-17 | オリンパス株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
EP3059968A4 (en) * | 2013-10-18 | 2017-05-31 | LG Electronics Inc. | Method and apparatus for decoding multi-view video |
AU2014373904B2 (en) | 2014-01-03 | 2018-03-08 | Commscope Uk Limited | Conditionally parsed extension syntax for HEVC extension processing |
US9699462B2 (en) * | 2014-01-03 | 2017-07-04 | Futurewei Technologies, Inc. | System and method for estimating view synthesis distortion |
US10244223B2 (en) * | 2014-01-10 | 2019-03-26 | Ostendo Technologies, Inc. | Methods for full parallax compressed light field 3D imaging systems |
KR102329126B1 (ko) * | 2014-03-14 | 2021-11-19 | 삼성전자주식회사 | 인터 레이어 비디오의 복호화 및 부호화를 위한 머지 후보 리스트 구성 방법 및 장치 |
CA2943121C (en) | 2014-03-18 | 2020-09-08 | Arris Enterprises Llc | Scalable video coding using reference and scaled reference layer offsets |
WO2015139203A1 (en) | 2014-03-18 | 2015-09-24 | Mediatek Singapore Pte. Ltd. | Dlt signaling in 3d video coding |
US9716884B2 (en) * | 2014-03-20 | 2017-07-25 | Hfi Innovation Inc. | Method of signaling for mode selection in 3D and multi-view video coding |
US9986251B2 (en) * | 2014-05-01 | 2018-05-29 | Arris Enterprises Llc | Reference layer and scaled reference layer offsets for scalable video coding |
US9939253B2 (en) * | 2014-05-22 | 2018-04-10 | Brain Corporation | Apparatus and methods for distance estimation using multiple image sensors |
CA2950749C (en) | 2014-05-30 | 2019-02-19 | Arris Enterprises Llc | Reference layer offset parameters for inter-layer prediction in scalable video coding |
US9514525B2 (en) * | 2014-07-31 | 2016-12-06 | Apple Inc. | Temporal filtering for image data using spatial filtering and noise history |
WO2016123774A1 (zh) * | 2015-02-05 | 2016-08-11 | 华为技术有限公司 | 编解码方法和编解码器 |
US11330284B2 (en) | 2015-03-27 | 2022-05-10 | Qualcomm Incorporated | Deriving motion information for sub-blocks in video coding |
CN107431797B (zh) | 2015-04-23 | 2019-10-11 | 奥斯坦多科技公司 | 用于全视差光场显示***的方法和装置 |
JP7036599B2 (ja) | 2015-04-23 | 2022-03-15 | オステンド・テクノロジーズ・インコーポレーテッド | 奥行き情報を用いて全方向視差を圧縮したライトフィールドを合成する方法 |
EP3298577B1 (en) * | 2015-05-18 | 2019-11-27 | Nokia Technologies Oy | Filtering depth map image using texture and depth map images |
US10448030B2 (en) * | 2015-11-16 | 2019-10-15 | Ostendo Technologies, Inc. | Content adaptive light field compression |
EP4072141A1 (en) * | 2016-03-24 | 2022-10-12 | Intellectual Discovery Co., Ltd. | Method and apparatus for encoding/decoding video signal |
US10453431B2 (en) | 2016-04-28 | 2019-10-22 | Ostendo Technologies, Inc. | Integrated near-far light field display systems |
EP3466079B1 (en) * | 2016-05-24 | 2023-07-12 | Nokia Technologies Oy | Method and an apparatus and a computer program for encoding media content |
KR102550931B1 (ko) | 2016-11-29 | 2023-07-04 | 삼성전자주식회사 | 스테레오 매칭 방법 및 장치 |
US11087292B2 (en) * | 2017-09-01 | 2021-08-10 | Allstate Insurance Company | Analyzing images and videos of damaged vehicles to determine damaged vehicle parts and vehicle asymmetries |
US10645417B2 (en) * | 2017-10-09 | 2020-05-05 | Google Llc | Video coding using parameterized motion model |
GB2568253B (en) * | 2017-11-08 | 2022-08-31 | Displaylink Uk Ltd | Stereoscopic image data compression |
CN113302935A (zh) * | 2019-01-02 | 2021-08-24 | 瑞典爱立信有限公司 | 视频编码/解码***中的端运动细化 |
CN111479116A (zh) * | 2019-01-23 | 2020-07-31 | 上海天荷电子信息有限公司 | 等比特精度预测、映射和分段编码的数据压缩方法和装置 |
KR102660120B1 (ko) * | 2019-06-24 | 2024-04-22 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 이중 예측 옵티컬 플로 계산 및 이중 예측 보정에서 블록 레벨 경계 샘플 그레이디언트 계산을 위한 정수 그리드 참조 샘플의 위치를 계산하는 방법 |
US11805236B2 (en) | 2020-05-11 | 2023-10-31 | Niantic, Inc. | Generating stereo image data from monocular images |
CN111724422B (zh) * | 2020-06-29 | 2024-01-09 | 深圳市慧鲤科技有限公司 | 图像处理方法及装置、电子设备及存储介质 |
CN111953985B (zh) * | 2020-08-14 | 2024-04-05 | 上海数迹智能科技有限公司 | 一种基于tof深度相机的图像处理方法及可存储介质 |
WO2022155950A1 (zh) * | 2021-01-25 | 2022-07-28 | 京东方科技集团股份有限公司 | 虚拟视点合成方法、电子设备和计算机可读介质 |
WO2023028965A1 (en) * | 2021-09-02 | 2023-03-09 | Nvidia Corporation | Hardware codec accelerators for high-performance video encoding |
CN116708739A (zh) * | 2022-02-28 | 2023-09-05 | 逐点半导体(上海)有限公司 | 用于3d图形中运动矢量的方法和*** |
CN117381773A (zh) * | 2023-10-14 | 2024-01-12 | 广州市西克传感器有限公司 | 一种基于视觉的白车身定位*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090290643A1 (en) | 2006-07-12 | 2009-11-26 | Jeong Hyu Yang | Method and apparatus for processing a signal |
US8923399B2 (en) | 2007-01-24 | 2014-12-30 | Lg Electronics Inc. | Method and an apparatus for processing a video signal |
US8913105B2 (en) * | 2009-01-07 | 2014-12-16 | Thomson Licensing | Joint depth estimation |
RU2421933C2 (ru) * | 2009-03-24 | 2011-06-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Система и способ формирования и воспроизведения трехмерного видеоизображения |
US9774882B2 (en) * | 2009-07-04 | 2017-09-26 | Dolby Laboratories Licensing Corporation | Encoding and decoding architectures for format compatible 3D video delivery |
US20130176390A1 (en) * | 2012-01-06 | 2013-07-11 | Qualcomm Incorporated | Multi-hypothesis disparity vector construction in 3d video coding with depth |
-
2013
- 2013-06-13 US US13/916,977 patent/US9998726B2/en active Active
- 2013-06-17 CN CN201380042551.8A patent/CN104521238B/zh active Active
- 2013-06-17 EP EP13817171.5A patent/EP2865184B1/en active Active
- 2013-06-17 WO PCT/FI2013/050662 patent/WO2014009598A1/en active Application Filing
- 2013-06-17 CA CA2876344A patent/CA2876344C/en active Active
- 2013-06-17 ES ES13817171T patent/ES2864222T3/es active Active
- 2013-06-17 RU RU2014153261A patent/RU2611240C2/ru active
- 2013-06-17 KR KR1020157001333A patent/KR101662963B1/ko active IP Right Grant
- 2013-06-17 PL PL13817171T patent/PL2865184T3/pl unknown
-
2015
- 2015-01-16 ZA ZA2015/00317A patent/ZA201500317B/en unknown
Non-Patent Citations (1)
Title |
---|
3-D video representation using depth maps, Proceedings of the IEEE, vol.99 no.4 (2011.04.30.)* |
Also Published As
Publication number | Publication date |
---|---|
ES2864222T3 (es) | 2021-10-13 |
PL2865184T3 (pl) | 2021-06-28 |
WO2014009598A1 (en) | 2014-01-16 |
ZA201500317B (en) | 2016-12-21 |
EP2865184B1 (en) | 2021-02-17 |
CA2876344A1 (en) | 2014-01-16 |
EP2865184A1 (en) | 2015-04-29 |
CN104521238B (zh) | 2018-07-20 |
RU2014153261A (ru) | 2016-08-10 |
US20130342644A1 (en) | 2013-12-26 |
US9998726B2 (en) | 2018-06-12 |
RU2611240C2 (ru) | 2017-02-21 |
KR20150032714A (ko) | 2015-03-27 |
CN104521238A (zh) | 2015-04-15 |
CA2876344C (en) | 2017-05-16 |
EP2865184A4 (en) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101662963B1 (ko) | 3d 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램 | |
US20200275072A1 (en) | Efficient multi-view coding using depth-map estimate for a dependent view | |
KR101682999B1 (ko) | 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램 | |
KR101664758B1 (ko) | 비디오 코딩 방법 및 장치 | |
KR101630564B1 (ko) | 비디오 코딩을 위한 방법 및 장치 | |
US9930363B2 (en) | Harmonized inter-view and view synthesis prediction for 3D video coding | |
US20130229485A1 (en) | Apparatus, a Method and a Computer Program for Video Coding and Decoding | |
US20140009574A1 (en) | Apparatus, a method and a computer program for video coding and decoding | |
US20150245063A1 (en) | Method and apparatus for video coding | |
US20140218473A1 (en) | Method and apparatus for video coding and decoding | |
US20140098883A1 (en) | Method and apparatus for video coding | |
WO2013030452A1 (en) | An apparatus, a method and a computer program for video coding and decoding | |
WO2013159330A1 (en) | An apparatus, a method and a computer program for video coding and decoding | |
WO2013113134A1 (en) | An apparatus, a method and a computer program for video coding and decoding | |
WO2013159300A1 (en) | An apparatus, a method and a computer program for video coding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |