KR20140096161A - 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 시퀀스 레벨 정보 - Google Patents

멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 시퀀스 레벨 정보 Download PDF

Info

Publication number
KR20140096161A
KR20140096161A KR1020147017823A KR20147017823A KR20140096161A KR 20140096161 A KR20140096161 A KR 20140096161A KR 1020147017823 A KR1020147017823 A KR 1020147017823A KR 20147017823 A KR20147017823 A KR 20147017823A KR 20140096161 A KR20140096161 A KR 20140096161A
Authority
KR
South Korea
Prior art keywords
view
depth
texture
views
operating point
Prior art date
Application number
KR1020147017823A
Other languages
English (en)
Other versions
KR101638713B1 (ko
Inventor
잉 천
예-쿠이 왕
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140096161A publication Critical patent/KR20140096161A/ko
Application granted granted Critical
Publication of KR101638713B1 publication Critical patent/KR101638713B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Generation (AREA)
  • Studio Circuits (AREA)

Abstract

일반적으로, 비디오 데이터의 심도 및 텍스처 컴포넌트들을 별도로 코딩하기 위한 기법들이 설명된다. 하나 이상의 프로세서들을 포함하는 비디오 데이터를 프로세싱하기 위한 비디오 코딩 디바이스가 이 기법들을 수행할 수도 있다. 하나 이상의 프로세서들은 심도 컴포넌트들의 특징을 설명하는 제 1 시퀀스 레벨 정보를 결정하고, 비디오 데이터의 동작점의 특징을 설명하는 제 2 시퀀스 레벨 정보를 결정하도록 구성될 수도 있다.

Description

멀티뷰 비디오 코딩(MVC)호환가능한 3 차원 비디오 코딩(3DVC)을 위한 시퀀스 레벨 정보{SEQUENCE LEVEL INFORMATION FOR MULTIVIEW VIDEO CODING (MVC) COMPATIBLE THREE-DIMENSIONAL VIDEO CODING (3DVC)}
본 개시물은 2011 년 11 월 30 일자로 출원된 미국 가출원 제 61/565,376 호, 2011 년 12 월 1 일자로 출원된 미국 가출원 제 61/565,938 호, 2011 년 12 월 22 일자로 출원된 미국 가출원 제 61/579,631 호, 및 2012 년 1 월 6 일자로 출원된 미국 가출원 제 61/584,009 호의 우선권을 주장하고, 그 각각의 내용들은 참조를 위해 그 전체가 본원에 포함된다.
본 개시물은 비디오 코딩에 관한 것으로, 특히, 3 차원 비디오 코딩 (3DVC) 에 관한 것이다.
디지털 비디오 기능들은, 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 정보 단말 (personal digital assistant; PDA) 들, 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, 전자책 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화들, 소위 "스마트폰들", 화상 원격회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 어드밴스드 비디오 코딩 (Advanced Video Coding; AVC), 현재 개발 중에 있는 고효율 비디오 코딩 (High Efficiency Video Coding; HEVC) 표준에 의해 정의된 표준들, 및 이러한 표준들의 익스텐션 (extension) 들에 설명된 바와 같은 비디오 압축 기술들을 구현한다. 비디오 디바이스들은 이러한 비디오 압축 기술들을 구현함으로써 디지털 비디오 정보를 더 효율적으로 송신하고, 수신하고, 인코딩하고, 디코딩하고, 및/또는 저장할 수도 있다.
비디오 압축 기술들은 비디오 시퀀스들에 고유한 중복성 (redundancy) 을 감소시키거나 제거하기 위해 공간적 (인트라-픽처) 예측 및/또는 시간적 (인터-픽처) 예측을 수행한다. 블록-기반 비디오 코딩을 위해, 비디오 슬라이스 (즉, 픽처 또는 픽처의 일부분) 는 비디오 블록들로 파티셔닝될 수도 있으며, 비디오 블록들은 트리블록들, 코딩 유닛 (coding unit; CU) 들 및/또는 코딩 노드들이라고 또한 지칭될 수도 있다. 픽처의 인트라-코딩된 (I) 슬라이스 내의 비디오 블록들은 동일한 픽처 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측을 이용하여 인코딩된다. 픽처의 인터-코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 픽처 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측, 또는 다른 참조 픽처들 내의 참조 샘플들에 대한 시간적 예측을 이용할 수도 있다.
공간적 또는 시간적 예측은 코딩될 블록에 대한 예측 블록을 초래한다. 잔여 데이터는 코딩될 원래의 블록과 예측 블록 사이의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터와, 코딩된 블록 및 예측 블록 사이의 차이를 표시하는 잔여 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드와 잔여 데이터에 따라 인코딩된다. 추가의 압축을 위해, 잔여 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어 잔여 변환 계수들을 초래할 수도 있고, 그 후 이들은 양자화될 수도 있다. 초기에 2 차원 어레이로 배치된 양자화된 변환 계수들은 변환 계수들의 1 차원 벡터를 생성하기 위해 스캐닝될 수도 있고, 엔트로피 코딩은 훨씬 더 많은 압축을 달성하기 위해 적용될 수도 있다.
일반적으로, 본 개시물은 3 차원 비디오 코딩 (three-dimensional video coding; 3DVC) 을 위한 기술들을 설명한다. 특히, 본 개시물은 H.264/어드밴스드 비디오 코딩 (AVC) 표준의 3DVC 익스텐션을 이용하여 3DVC 를 수행하기 위한 기술들을 설명한다. 3DVC 익스텐션은 심도 데이터를 갖는 비디오 데이터의 다수의 뷰들을 인코딩하기 위한 비디오 코딩 기술을 정의한다. 각각의 뷰는 공통의 장면의 대응하는 비디오 데이터가 캡처되었던 상이한 관점, 또는 각도에 대응할 수도 있다. 3DVC 의 맥락에서, 각각의 뷰는 텍스처 뷰 및 심도 뷰 (depth view) 를 포함할 수도 있다. 하나의 시간 인스턴스에서의 뷰의 코딩된 표현은 뷰 컴포넌트이다. 뷰 컴포넌트는 심도 뷰 컴포넌트 및 텍스처 뷰 컴포넌트를 포함할 수도 있다. 본 개시물의 기술들은 멀티뷰 비디오 데이터 플러스 심도 데이터를 코딩하는 경우 3DVC 를 위해 뷰의 텍스처 컴포넌트 및 심도 컴포넌트들 양자 모두의 핸들링을 가능하게 하는 것에 일반적으로 관련된다. 기술들은 MVC 와의 3DVC 의 호환성을 촉진할 수도 있다.
하나의 예에서, 심도 컴포넌트 및 텍스처 컴포넌트를 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 코딩하는 방법은, 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화하는 단계, 및 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩하는 단계를 포함한다.
또 다른 예에서, 심도 컴포넌트 및 텍스처 컴포넌트로 이루어진 뷰 컴포넌트를 포함하는 비디오 데이터를 코딩하는 비디오 코딩 디바이스는, 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화하고, 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩하도록 구성된 프로세서를 포함한다.
또 다른 예에서, 심도 컴포넌트 및 텍스처 컴포넌트로 이루어진 뷰 컴포넌트를 포함하는 비디오 데이터를 코딩하는 비디오 코딩 디바이스는, 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화하기 위한 수단, 및 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩하기 위한 수단을 포함한다.
또 다른 예에서, 비일시적 컴퓨터 판독가능 저장 매체는, 실행되는 경우, 비디오 코딩 디바이스의 하나 이상의 프로세서들로 하여금, 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화하게 하고, 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩하게 하는 명령들을 저장한다.
또 다른 예에서, 심도 컴포넌트 및 텍스처 컴포넌트를 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 방법이 설명된다. 방법은, 비디오 데이터의 뷰 컴포넌트를 프로세싱하는 경우 적용되는 보충 강화 정보 메시지를 결정하는 단계, 및 보충 강화 정보 메시지에 추가하여 뷰 컴포넌트의 심도 컴포넌트에 적용되는 네스팅된 보충 강화 정보 메시지를 결정하는 단계를 포함한다.
또 다른 예에서, 심도 컴포넌트 및 텍스처 컴포넌트로 이루어진 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 디바이스가 설명된다. 디바이스는, 비디오 데이터의 뷰 컴포넌트를 프로세싱하는 경우 적용되는 보충 강화 정보 메시지를 결정하고, 뷰 컴포넌트의 심도 컴포넌트를 프로세싱하는 경우 보충 강화 정보 메시지에 추가하여 적용되는 네스팅된 보충 강화 정보 메시지를 결정하도록 구성된 프로세서를 포함한다.
또 다른 예에서, 심도 컴포넌트 및 텍스처 컴포넌트로 이루어진 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 디바이스가 설명된다. 디바이스는, 비디오 데이터의 뷰 컴포넌트를 프로세싱하는 경우 적용되는 보충 강화 정보 메시지를 결정하기 위한 수단, 및 뷰 컴포넌트의 심도 컴포넌트를 프로세싱하는 경우 보충 강화 정보 메시지에 추가하여 적용되는 네스팅된 보충 강화 정보 메시지를 결정하기 위한 수단을 포함한다.
또 다른 예에서, 비일시적 컴퓨터 판독가능 저장 매체는, 실행되는 경우, 심도 컴포넌트 및 텍스처 컴포넌트로 이루어진 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 디바이스의 하나 이상의 프로세서들로 하여금, 비디오 데이터의 뷰 컴포넌트를 프로세싱하는 경우 적용되는 보충 강화 정보 메시지를 결정하게 하는 것으로서, 상기 뷰 컴포넌트는 심도 컴포넌트 및 텍스처 컴포넌트 양자 모두를 포함하는, 상기 보충 강화 정보 메시지를 결정하게 하고, 뷰 컴포넌트의 심도 컴포넌트를 프로세싱하는 경우 보충 강화 정보 메시지에 추가하여 적용되는 네스팅된 보충 강화 정보 메시지를 결정하게 하는 명령들을 저장한다.
또 다른 예에서, 비디오 코딩 방법은, 심도 컴포넌트를 디코딩된 픽처 버퍼에 저장하는 단계, 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석하는 단계, 및 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여 디코딩된 픽처 버퍼로부터 심도 컴포넌트를 제거하는 단계를 포함한다.
또 다른 예에서, 비디오 데이터를 코딩하도록 구성된 비디오 코딩 디바이스는, 디코딩된 픽처 버퍼와, 심도 컴포넌트를 디코딩된 픽처 버퍼에 저장하고, 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석하며, 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여 디코딩된 픽처 버퍼로부터 심도 컴포넌트를 제거하도록 구성된 프로세서를 포함한다.
또 다른 예에서, 비디오 데이터를 코딩하는 비디오 코딩 디바이스는, 심도 컴포넌트를 디코딩된 픽처 버퍼에 저장하기 위한 수단, 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석하기 위한 수단, 및 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여 디코딩된 픽처 버퍼로부터 심도 컴포넌트를 제거하기 위한 수단을 포함한다.
또 다른 예에서, 비일시적 컴퓨터 판독가능 저장 매체는, 실행되는 경우, 비디오 코딩 디바이스의 하나 이상의 프로세서들로 하여금, 심도 컴포넌트를 디코딩된 픽처 버퍼에 저장하게 하고, 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석하게 하며, 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여 디코딩된 픽처 버퍼로부터 심도 컴포넌트를 제거하게 하는 명령들을 저장한다.
또 다른 예에서, 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 방법은, 심도 컴포넌트들의 특징들을 설명하는 제 1 시퀀스 레벨 정보를 결정하는 단계, 및 비디오 데이터의 동작 포인트의 특징들을 설명하는 제 2 시퀀스 레벨 정보를 결정하는 단계를 포함한다.
또 다른 예에서, 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 비디오 코딩 디바이스가 설명된다. 비디오 코딩 디바이스는, 심도 컴포넌트들의 특징들을 설명하는 제 1 시퀀스 레벨 정보를 결정하고, 비디오 데이터의 동작 포인트의 특징들을 설명하는 제 2 시퀀스 레벨 정보를 결정하도록 구성된 하나 이상의 프로세서들을 포함한다.
또 다른 예에서, 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 비디오 코딩 디바이스가 설명된다. 비디오 코딩 디바이스는, 심도 컴포넌트들의 특징들을 설명하는 제 1 시퀀스 레벨 정보를 결정하기 위한 수단, 및 비디오 데이터의 동작 포인트의 특징들을 설명하는 제 2 시퀀스 레벨 정보를 결정하기 위한 수단을 포함한다.
또 다른 예에서, 비일시적 컴퓨터 판독가능 저장 매체는, 실행되는 경우, 비디오 코딩 디바이스의 하나 이상의 프로세서들로 하여금, 비디오 데이터의 하나 이상의 심도 컴포넌트들의 특징들을 설명하는 제 1 시퀀스 레벨 정보를 결정하게 하는 것으로서, 비디오 데이터는 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는 뷰 컴포넌트를 포함하는, 상기 제 1 시퀀스 레벨 정보를 결정하게 하며, 비디오 데이터의 동작 포인트의 특징들을 설명하는 제 2 시퀀스 레벨 정보를 결정하게 하는 명령들을 저장한다.
본 개시물의 하나 이상의 예들의 세부사항들은 첨부한 도면들 및 아래의 설명에 기술된다. 본 개시물에서 설명된 기술들의 다른 특징들, 목적들 및 장점들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
도 1 은 본 개시물에서 설명된 기술들을 사용할 수도 있는 일 예의 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 도 1 의 예에 도시된 비디오 인코더를 더욱 상세하게 예시하는 블록도이다.
도 3 은 도 1 의 예에 도시된 비디오 디코더를 더욱 상세하게 예시하는 블록도이다.
도 4 는 도 1 의 예에 도시된 캡슐화 유닛을 더욱 상세하게 예시하는 블록도이다.
도 5 는 일 예의 멀티뷰 비디오 코딩 (MVC) 예측 패턴을 예시하는 개념도이다.
도 6 은 본 개시물에서 설명된 기술들의 다양한 양태들에 따라 MVC-호환가능한 3DVC 를 위한 파라미터 세트 활성화를 구현함에 있어서의 비디오 코딩 디바이스의 동작을 예시하는 흐름도이다.
도 7 은 본 개시물에서 설명된 기술들에 따라 MVC-호환가능한 3DVC 를 위한 네스팅된 (nested) 보충 강화 정보 (supplemental enhancement information; SEI) 메시지들을 발생시키기 위해 멀티뷰 비디오 데이터를 프로세싱하는 일 예의 동작을 예시하는 흐름도이다.
도 8 은 본 개시물에서 설명된 기술들에 따라 MVC-호환가능한 3DVC 를 위한 디코딩된 픽처 버퍼로부터 텍스처 및 심도 컴포넌트들을 별개로 제거함에 있어서의 비디오 코딩 디바이스의 일 예의 동작을 예시하는 흐름도이다.
도 9 는 본 개시물에서 설명된 기술들에 따라 MVC-호환가능한 3DVC 를 위한 시퀀스 레벨 정보를 결정함에 있어서의 비디오 코딩 디바이스의 일 예의 동작을 예시하는 흐름도이다.
어떤 비디오 코딩 시스템들에 따르면, 데이터 압축을 달성하기 위해, 모션 추정 및 모션 보상은 비디오 시퀀스에서 시간적 중복성을 감소시키기 위해 이용될 수도 있다. 이 경우, 코딩되고 있는 현재의 비디오 블록의 값들을 예측하기 위해 이용될 수 있는 비디오 데이터의 예측 블록, 예를 들어, 또 다른 비디오 픽처 또는 슬라이스로부터의 블록을 식별하는 모션 벡터가 발생될 수 있다. 잔여 데이터의 블록을 생성하기 위해, 예측 비디오 블록의 값들은 현재의 비디오 블록의 값들로부터 감산된다. 모션 정보 (예를 들어, 모션 벡터, 모션 벡터 인덱스들, 예측 방향들, 또는 다른 정보) 는 잔여 데이터와 함께, 비디오 인코더로부터 비디오 디코더로 통신된다. 디코더는 (모션 벡터에 기초하여) 동일한 예측 블록을 위치시킬 수 있고, 잔여 데이터를 예측 블록의 데이터와 조합함으로써 인코딩된 비디오 블록을 재구성할 수 있다.
멀티뷰 비디오 코딩 (Multiview Video Coding; MVC) 은 비디오 데이터의 다수의 뷰 (view) 들을 코딩하기 위한 비디오 코딩 프로세스이다. 일반적으로, 각각의 뷰는 공통의 장면의 대응하는 비디오 데이터가 캡처되었던 상이한 관점 (perspective) 또는 각도에 대응한다. 3 차원 비디오 코딩 (3DVC) 은 MVC 플러스 심도 코딩을 이용하여 수행될 수도 있다. ITU-T H.264/AVC 표준에 대한 3DVC 익스텐션은 현재 개발 중에 있다. 3DVC 익스텐션을 추가하기 위한 H.264/AVC 표준에 대한 보정의 작업 초안이 "WD on MVC Extensions for Inclusion of Depth Maps" ISO/IEC/JTC1/SC29/WG11/N12351, Geneva, Switzerland, 2011 년 11월 ("3DVC WD") 에 설명된다. 심도 맵 (depth map) 들의 포함을 위한 MVC 익스텐션들이라고 또한 지칭되는 3DVC 익스텐션은 3D 비디오 데이터의 디스플레이를 지원하기 위한 뷰 (view) 들을 코딩하기 위한 기술들을 정의한다.
예를 들어, 3D 비디오에서는, 2 개의 뷰들 (예를 들어, 인간 시청자의 좌안 및 우안 뷰들) 이 상이한 편광을 이용하여 동시에 또는 거의 동시에 디스플레이될 수도 있고, 시청자는 시청자의 눈들의 각각이 뷰들의 각각의 하나를 받아들이도록 수동형의 편광된 안경을 착용할 수도 있다. 대안으로, 시청자는 각각의 눈을 독립적으로 개폐하는 능동형 안경을 착용할 수도 있고, 디스플레이는 안경과 동기화하여 각각의 눈의 이미지들 사이에서 신속하게 교대로 일어날 수도 있다.
각각의 뷰 (예를 들어, 좌안 및 우안 뷰들) 는 개별적으로 코딩될 수도 있지만, 3DVC 에서는, 뷰들 중 하나는 뷰의 심도 컴포넌트를 이용하여 다른 뷰로부터 재구성된다. 이러한 이유로, 3DVC 의 이러한 형태는 멀티뷰 비디오 코딩 플러스 심도 (MVC + D) 라고 또한 지칭될 수도 있다. 예시하자면, 뷰의 지정한 픽처 (여기서, 뷰의 이 지정한 픽처는 뷰의 "뷰 컴포넌트" 라고 지칭될 수도 있음) 의 심도 맵은 좌안 뷰와 우안 뷰 사이의 차이로서 연산될 수도 있다. 인코더는 좌안 뷰를 예를 들어, 뷰 컴포넌트의 소위 "텍스처 컴포넌트" 로서 인코딩할 수도 있고, 심도 맵은 뷰 컴포넌트의 소위 "심도 컴포넌트" 로서 인코딩될 수도 있다.
다음으로, 디코더는 뷰 컴포넌트의 텍스처 컴포넌트 및 뷰 컴포넌트의 심도 컴포넌트를 디코딩할 수도 있고, 심도 컴포넌트를 이용하여 (좌안 뷰를 나타내는) 텍스처 컴포넌트로부터 우안 뷰를 재구성할 수도 있다. 단지 하나의 뷰 및 대응하는 심도 맵을 이러한 방식으로 인코딩함으로써, 3DVC 는 좌안 뷰 및 우안 뷰 양자 모두를 3DVC 데이터의 별도의 뷰들로서 독립적으로 인코딩하는 것에 비해 좌안 및 우안 뷰 양자 모두를 더욱 효율적으로 인코딩할 수도 있다.
뷰의 텍스처 및 심도 컴포넌트들을 인코딩하는 경우 비디오 인코더는 통상적으로, 텍스처 및 심도 컴포넌트들을 구별하기 위한 임의의 방법을 제공하지 않으면서 텍스처 및 심도 컴포넌트들 양자 모두를 뷰 컴포넌트들로서 핸들링하거나 또는 이와 달리 프로세싱한다. 즉, 3DVC 는 동일한 뷰 컴포넌트의 심도 컴포넌트들과는 별개로 텍스처 컴포넌트들을 개별적으로 프로세싱하기 위한 방법을 제공하지 않으면서 뷰 컴포넌트들의 핸들링 또는 코딩을 제공한다. 3DVC 에서의 이러한 구분의 결여는 더 작은 코딩 효율 및/또는 재구성된 비디오 데이터의 더 낮은 품질을 초래할 수도 있다.
예를 들어, 심도 컴포넌트는 이 뷰 컴포넌트의 공동 핸들링을 수용하기 위해 대응하는 텍스처 컴포넌트와 동일한 해상도에서 지정되도록 현재 요구될 수도 있다. 그러나, (텍스처 컴포넌트의 해상도와 비교하여) 더 높은 해상도의 심도 컴포넌트는, 시청자의 시각적 시스템이 예상하는 것을 더욱 양호하게 모방하는 더 양호하고 더 실감형의 3D 비디오가 발생할 수도 있다는 점에서 3 차원 (3D) 비디오 재생을 초래할 수도 있다. 또한, (텍스처 컴포넌트의 해상도에 비해) 더 낮은 해상도의 심도 컴포넌트는 어떤 사례들에서 동일하거나 유사한 실감형의 3D 경험을 제공할 수도 있지만, 코딩될 때에 더 적은 비트들을 소비할 수도 있고, 이에 따라 코딩 효율을 증가시킬 수도 있다. 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 가능하게 하는 것을 실패함으로써, 3DVC 는 코딩 효율을 감소시킬 수도 있고, 및/또는 (종종 시청 경험의 측면에서) 재구성된 비디오 데이터의 더 낮은 품질을 제공할 수도 있다.
본 개시물의 기술들은 3DVC 비디오 데이터를 프로세싱 또는 코딩하는 경우 뷰의 텍스처 컴포넌트들 및 심도 컴포넌트들의 별도의 또는 독립적인 핸들링을 가능하게 하는 것과 일반적으로 관련된다. 예를 들어, 본 개시물은 시퀀스 파라미터 세트 (sequence parameter set; SPS) 에서 심도 맵 시퀀스의 픽처 사이즈를 시그널링하는 것을 제안한다. 이 시그널링 기술들은 비디오 인코딩 및/또는 디코딩 프로세스 동안에 인코더에 의해 적용될 수도 있고 디코더에 의해 이용될 수도 있다. 설명된 기술들은 비디오 컨텐츠의 픽처들의 코딩에 관련된다. 인코딩된 픽처들은 본 개시물의 기술들에 따라, 시퀀스 파라미터 세트 내의 신택스 엘리먼트들로서 시그널링될 수도 있는, 선택된 높이 및 폭의 블록과 같은 유닛 사이즈를 가질 수도 있다. 텍스처 뷰 시퀀스들 및 심도 맵 시퀀스들에 대한 신택스 엘리먼트들은 시퀀스 파라미터 세트에서 시그널링될 수도 있다.
더욱 구체적으로, 심도 맵 시퀀스가 대응하는 텍스처 뷰 시퀀스와는 상이한 해상도를 가질 때, 기술들은 신택스 정보를 시그널링하는 것을 포함한다. 3DVC 는 각각의 뷰에 대한 심도 맵 시퀀스를 갖는 다수의 뷰들을 코딩하는 것을 포함할 수도 있다. 이 심도 맵 시퀀스들은 텍스처 뷰 시퀀스들과는 상이한 해상도를 가질 수도 있다. 이 경우, 텍스처 및 심도 네트워크 추상화 계층 (network abstraction layer; NAL) 유닛들이 간단하게 함께 멀티플렉싱될 때에는, 심도 뷰 컴포넌트 및 텍스처 뷰 컴포넌트가 동일한 시퀀스 파라미터 세트 (SPS) 를 공유할 수 없다. 현재의 SPS MVC 익스텐션에서는 심도를 갖거나 갖지 않는 상이한 레벨들을 표시하는 것이 가능하지 않을 수도 있다. AVC 설계 원리에서는, 픽처 사이즈를 포함하는 하나를 초과하는 시퀀스 파라미터 세트를 활성화하는 것이 가능하지 않을 수도 있다. 따라서, 2 개의 상이한 픽처 사이즈들을 가지는 것은 다수의 시퀀스 파라미터 세트들을 활성화하는 것을 초래할 수도 있다.
본 개시물의 기술들은, 3DVC 시퀀스가 대응하는 텍스처 뷰와는 상이한 공간 해상도를 갖는 심도 맵을 포함하는 경우 AVC 및 MVC 스테레오에 기초하여 3DVC 시퀀스를 표시하기 위해 이용될 수 있다. 이러한 독립적인 핸들링을 가능하게 함으로써, 본 개시물에서 설명된 기술들의 다양한 양태들은 비트 절감들 (또는 다시 말해서, 멀티뷰 비디오 데이터의 더욱 효율적인 코딩) 및/또는 (인지된 시청 경험의 측면에서 다시 측정될 수도 있는) 재구성된 비디오 데이터의 더욱 양호한 품질을 촉진할 수도 있다.
다음의 설명은 3DVC 의 맥락에 있는 것으로 이해되어야 하고, 여기서 MVC 에 대한 지칭은 3DVC 익스텐션에서 MVC 플러스 심도 코딩에 관련되므로 MVC 를 지칭하는 것으로 이해되어야 한다. 즉, MVC 가 H.264 에 대한 익스텐션이고, 3DVC 가 MVC 를 이용하는 H.264 의 추가의 익스텐션이면, 3DVC 는 MVC 의 모든 양태들을 통합하거나 또는 이와 달리 "승계" 하는 것으로 고려될 수도 있다. 3DVC 는 3DVC 를 지원하는 그러한 비디오 디코더들에 대한 심도 맵들을 또한 포함하는 MVC-준수 비트스트림을 제공하기 위해 본원에서 설명된 방식으로 적합한 곳에서 MVC 를 확장하거나 또는 이와 달리 MVC 를 추가할 수도 있다. 다시 말해서, 일부 예들에서는, 기술들이 MVC 와 역호환 가능한 (또는 다시 말해서, 3DVC 를 지원하지만 MVC 를 지원하지는 않는 비디오 디코더에 의해 디코딩될 수 있는) 3DVC 비트스트림의 발생을 제공할 수도 있다. 다음의 기술들은 3DVC 의 맥락에서 각각 설명되지만, 이 기술들은 일부 사례들에서, 텍스처 뷰 컴포넌트들 및 심도 뷰 컴포넌트들 양자 모두를 갖는 3D 비디오 데이터를 코딩하는 다른 방법들로 확장될 수도 있다.
도 1 은 멀티뷰 코딩에 있어서의 모션 벡터 예측을 위한 기술들을 사용할 수도 있는 일 예의 비디오 인코딩 및 디코딩 시스템 (10) 을 예시하는 블록도이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 이후의 시간에 디코딩될 인코딩된 비디오 데이터를 제공하는 소스 디바이스 (12) 를 포함한다. 특히, 소스 디바이스 (12) 는 컴퓨터 판독가능 매체 (16) 를 통해 비디오 데이터를 목적지 디바이스 (14) 로 제공한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 슬레이트 (slate) 컴퓨터들, 셋탑 박스들, 소위 "스마트" 폰들과 같은 전화 핸드셋들, 소위 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 콘솔들, 비디오 스트리밍 디바이스, 등을 포함하는 광범위한 디바이스들 중 임의의 것을 포함할 수도 있다. 일부의 경우들에 있어서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 위해 구비될 수도 있다.
목적지 디바이스 (14) 는 컴퓨터 판독가능 매체 (16) 를 통해 디코딩될 인코딩된 비디오 데이터를 수신할 수도 있다. 컴퓨터 판독가능 매체 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 전송할 수 있는 임의의 유형의 매체 또는 디바이스를 포함할 수도 있다. 하나의 예에서, 컴퓨터 판독가능 매체 (16) 는 소스 디바이스 (12) 가 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 직접 실시간으로 또는 거의 실시간으로 송신하는 것을 가능하게 하기 위한 통신 매체를 포함할 수도 있다.
인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조될 수도 있고, 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 패킷-기반 네트워크, 예컨대, 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하기 위해 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
일부 예들에서, 인코딩된 데이터는 소스 디바이스 (12) 의 송신기 (24) 로부터 저장 디바이스로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 목적지 디바이스 (14) 의 수신기 (26) 에 의해 저장 디바이스로부터 액세스될 수도 있다. 저장 디바이스는 하드 드라이브, 블루레이 디스크들, DVD 들, CD-ROM 들, 플래시 메모리, 휘발성 또는 비-휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적당한 디지털 저장 매체들과 같은 다양한 분산된 또는 국부적으로 액세스되는 데이터 저장 매체들 중 임의의 것을 포함할 수도 있다. 추가의 예에서, 저장 디바이스는 소스 디바이스 (12) 에 의해 발생되는 인코딩된 비디오를 저장할 수도 있는 파일 서버 또는 또 다른 중간 저장 디바이스에 대응할 수도 있다.
목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 저장 디바이스로부터의 저장된 비디오 데이터를 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있으며 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수 있는 임의의 유형의 서버일 수도 있다. 일 예의 파일 서버들은 (예를 들어, 웹사이트를 위한) 웹 서버, FTP 서버, 네트워크 연결 저장 (network attached storage; NAS) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷 접속을 포함하는 임의의 표준 데이터 접속을 통해 인코딩된 비디오 데이터를 액세스할 수도 있다. 이것은 무선 채널 (예를 들어, Wi-Fi 접속), 유선 접속 (예를 들어, DSL, 케이블 모뎀, 등), 또는 파일 서버 상에 저장되는 인코딩된 비디오 데이터를 액세스하기에 적당한 이 둘의 조합을 포함할 수도 있다. 저장 디바이스로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 그 조합일 수도 있다.
본 개시물의 기술들은 무선 애플리케이션들 또는 설정들에 반드시 제한되지 않는다. 기술들은 다양한 멀티미디어 애플리케이션들 중 임의의 것, 예컨대, 오버-디-에어 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, HTTP 를 통한 동적 적응 스트리밍 (dynamic adaptive streaming over HTTP; DASH) 과 같은 인터넷 스트리밍 비디오 송신들, 데이터 저장 매체 상으로 인코딩되는 디지털 비디오, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들의 지원 하에서 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 및/또는 화상통화와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 캡슐화 유닛 (encapsulation unit; 21), 및 출력 인터페이스 (22) 를 포함한다. 목적지 디바이스 (14) 는 입력 인터페이스 (28), 디캡슐화 유닛 (decapsulation unit; 29), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부 예들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 다른 컴포넌트들 및 배치들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (12) 는 외부 카메라와 같은 외부 비디오 소스 (18) 로부터 비디오 데이터를 수신할 수도 있다. 마찬가지로, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스 (32) 를 포함하기보다는, 외부 디스플레이 디바이스와 인터페이스할 수도 있다.
도 1 의 예시된 시스템 (10) 은 단지 일 예이다. 멀티뷰 코딩 (3DVC 포함) 에 있어서의 모션 벡터 예측을 위한 기술들은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 일반적으로, 본 개시물의 기술들은 비디오 인코딩 디바이스에 의해 수행되지만, 기술들은 "CODEC" 이라고 통상적으로 지칭되는 비디오 인코더/디코더에 의해 또한 수행될 수도 있다. 또한, 본 개시물의 기술들은 비디오 프리프로세서 (video preprocessor) 에 의해 또한 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 소스 디바이스 (12) 가 목적지 디바이스 (14) 로의 송신을 위한 코딩된 비디오 데이터를 발생시키는 이러한 코딩 디바이스들의 예들에 불과하다. 일부 예들에서, 디바이스들 (12, 14) 은, 디바이스들 (12, 14) 의 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 이에 따라, 시스템 (10) 은 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 또는 화상전화를 위해, 비디오 디바이스들 (12, 14) 사이에서 일방향 또는 양방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 카메라와 같은 비디오 캡처 디바이스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브 (video archive), 및/또는 비디오 컨텐츠 제공자로부터 비디오를 수신하기 위한 비디오 공급 인터페이스를 포함할 수도 있다. 추가의 대안으로서, 비디오 소스 (18) 는 컴퓨터 그래픽-기반 데이터를 소스 비디오로서, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터-발생된 비디오의 조합으로서 발생할 수도 있다. 일부의 경우들에 있어서, 비디오 소스 (18) 가 비디오 카메라인 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 위에서 언급된 바와 같이, 본 개시물에서 설명된 기술들은 일반적으로 비디오 코딩에 적용가능할 수도 있고, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다. 각각의 경우에 있어서, 캡처된, 프리-캡처된, 또는 컴퓨터-발생된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 다음으로, 인코딩된 비디오 정보는 출력 인터페이스 (22) 에 의해 컴퓨터 판독가능 매체 (16) 상으로 출력될 수도 있다.
비디오 소스 (18) 는 일반적으로 장면의 복수의 뷰들을 비디오 인코더 (20) 에 제공할 수도 있다. 비디오 소스 (18) 는 뷰들에 대한 카메라 관점들의 위치들을 표시하는 정보를 또한 제공할 수도 있다. 비디오 소스 (18) 는 이 정보를 비디오 인코더 (20) 에 제공할 수도 있거나, 정보를 캡슐화 유닛 (21) 에 직접 제공할 수도 있다.
캡슐화 유닛 (21) 은 뷰 식별자들을 멀티미디어 컨텐츠의 뷰들에 할당하기 위해 뷰들에 대한 카메라 관점들의 상대적인 위치들을 표시하는 정보를 이용할 수도 있다. 캡슐화 유닛 (21) 은 멀티미디어 컨텐츠의 하나 이상의 표현들을 형성할 수도 있고, 여기서, 표현들의 각각은 하나 이상의 뷰들을 포함할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 상이한 방식들로, 예를 들어, 상이한 프레임 레이트들, 상이한 비트 레이트들, 상이한 해상도들, 또는 다른 이러한 상이함들로 각각의 뷰를 인코딩할 수도 있다. 따라서, 캡슐화 유닛 (21) 은 다양한 특징들, 예를 들어, 비트 레이트, 프레임 레이트, 해상도, 등을 갖는 다양한 표현들을 형성할 수도 있다.
해상도들의 각각은 목적지 디바이스 (14) 에 의해 취출될 수 있는 각각의 비트스트림들에 대응할 수도 있다. 캡슐화 유닛 (21) 은 예를 들어, 멀티미디어 컨텐츠를 위한 미디어 프리젠테이션 설명 (media presentation description) 데이터 구조 내에서, 각각의 표현 내에 포함된 뷰들에 대한 뷰 식별자들 (view_id 들) 의 범위의 표시를 제공할 수도 있다. 예를 들어, 캡슐화 유닛 (21) 은 표현의 뷰들에 대한 최대 뷰 식별자 및 최소 뷰 식별자의 표시를 제공할 수도 있다. MPD 는 멀티미디어 컨텐츠의 복수의 표현들의 각각에 대한 출력을 타겟으로 한 뷰들의 최대 수들의 표시 (indication) 들을 더 제공할 수도 있다. 일부 예들에서, MPD 또는 그 데이터는 표현(들) 에 대한 매니페스트 (manifest) 에 저장될 수도 있다.
컴퓨터 판독가능 매체 (16) 는 무선 브로드캐스트 또는 유선 네트워크 송신과 같은 일시적인 매체들, 또는 하드 디스크, 플래시 드라이브, 컴팩트 디스크, 디지털 비디오 디스크, 블루레이 디스크, 또는 다른 컴퓨터 판독가능 매체들과 같은 저장 매체들 (즉, 비 일시적 저장 매체들) 을 포함할 수도 있다. 일부 예들에서, 네트워크 서버 (도시되지 않음) 는 예를 들어, 네트워크 송신을 통해, 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신할 수도 있고 인코딩된 비디오 데이터를 목적지 디바이스 (14) 에 제공할 수도 있다. 유사하게, 디스크 스탬핑 설비와 같은 매체 생산 설비의 컴퓨팅 디바이스는 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신할 수도 있고, 인코딩된 비디오 데이터를 포함하는 디스크를 생산할 수도 있다. 그러므로, 컴퓨터 판독가능 매체 (16) 는 다양한 예들에서, 다양한 형태들의 하나 이상의 컴퓨터 판독가능 매체들을 포함하는 것으로 이해될 수도 있다.
목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 컴퓨터 판독가능 매체 (16) 로부터 정보를 수신한다. 컴퓨터 판독가능 매체 (16) 의 정보는, 블록들 및 다른 코딩된 유닛들, 예를 들어, GOP 들의 특징들 및/또는 프로세싱을 설명하는 신택스 엘리먼트들을 포함하는 신택스 정보로서, 비디오 인코더 (20) 에 의해 정의되며 비디오 디코더 (30) 에 의해 또한 이용되는 신택스 정보를 포함할 수도 있다. 목적지 디바이스 (14) 의 디캡슐화 유닛 (29) 은 비트스트림 (또는 MVC 의 맥락에서 "동작 포인트" 라고 지칭되는 비트스트림의 서브세트) 으로부터의 SEI 메시지들을 디캡슐화하는 유닛을 나타낼 수도 있다. 디캡슐화 유닛 (29) 은 SEI 메시지들과 같은 캡슐화된 인코딩된 비트스트림으로부터 데이터를 디캡슐화하기 위해 캡슐화 유닛 (29) 에 의해 수행되는 것들과 반대인 순서로 동작들을 수행할 수도 있다. 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 또 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각, 적용가능하다면, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 집적 회로 (ASIC) 들, 필드 프로그래밍가능 게이트 어레이 (FPGA) 들, 이산 로직 회로부, 소프트웨어, 하드웨어, 펌웨어 또는 그 임의의 조합들과 같은 다양한 적당한 인코더 또는 디코더 회로부 중 임의의 것으로서 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들 내에 포함될 수도 있고, 인코더들 또는 디코더들의 어느 하나는 조합된 비디오 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 를 포함하는 디바이스는 집적 회로, 마이크로프로세서, 및/또는 셀룰러 전화와 같은 무선 통신 디바이스를 포함할 수도 있다.
도 1 에 도시되지 않았지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있고, 공통의 데이터 스트림 또는 별도의 데이터 스트림들에서의 오디오 및 비디오 양자 모두의 인코딩을 핸들링하기 위해 적합한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능한 경우, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (user datagram protocol; UDP) 과 같은 다른 프로토콜들을 준수할 수도 있다.
도 1 에 도시된 예에서, 시스템 (10) 은 라우터 (36) 를 갖는 서버/컨텐츠 전달 네트워크 (34) 를 또한 포함한다. 일부 예들에서, 소스 디바이스 (12) 는 위에서 설명된 바와 같이, 다양한 무선 또는 유선 송신 또는 저장 매체들을 통해 서버/컨텐츠 전달 네트워크 (34) 와 통신할 수도 있다. 또한, 도 1 의 예에서 별개로 도시되어 있지만, 일부 예들에서는, 소스 디바이스 (12) 및 서버/컨텐츠 전달 네트워크 (34) 가 동일한 디바이스를 포함한다. 서버/컨텐츠 전달 네트워크 (34) 는 (소스 디바이스 (12) 의 비디오 인코더 (20) 로부터의) 코딩된 비디오 데이터의 하나 이상의 버전들을 저장할 수도 있고, 목적지 디바이스 (14) 및 비디오 디코더 (30) 에 의한 액세스를 위해 이러한 코딩된 비디오 데이터를 이용가능하게 할 수도 있다. 일부 예들에서, 라우터 (36) 는 코딩된 비디오 데이터를 요청된 포맷으로 목적지 디바이스 (14) 에 제공하는 것을 담당할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 현재 개발 중에 있는 고효율 비디오 코딩 (HEVC) 표준과 같은 비디오 코딩 표준에 따라 동작할 수도 있고, HEVC 테스트 모델 (HEVC Test Model; HM) 을 준수할 수도 있다. 대안으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 MPEG-4, Part 10, 어드밴스드 비디오 코딩 (AVC) 으로서 대안으로 지칭되는 ITU-T H.264 표준과 같은 다른 독점적인 또는 산업적인 표준들, 또는 H.264 에 대한 MVC 익스텐션 및/또는 3DVC 익스텐션을 포함하는 이러한 표준들의 익스텐션들에 따라 동작할 수도 있다. 그러나, 본 개시물의 기술들은 임의의 지정한 코딩 표준에 제한되지 않는다. 비디오 코딩 표준들의 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다.
ITU-T H.264/MPEG-4 (AVC) 표준은 합동 비디오 팀 (Joint Video Team; JVT) 이라고 알려진 집단 파트너쉽의 산물로서 ISO/IEC 동화상 전문가 그룹 (Moving Picture Experts Group; MPEG) 과 함께 ITU-T 비디오 코딩 전문가 그룹 (Video Coding Experts Group; VCEG) 에 의해 공식화되었다. 일부 양태들에서, 본 개시물에서 설명된 기술들은 H.264 표준을 일반적으로 준수하는 디바이스들에 적용될 수도 있다. H.264 표준은, 본원에서 H.264 표준 또는 H.264 사양, 또는 H.264/AVC 표준 또는 사양이라고 지칭될 수도 있는, 2005 년 3월자의 ITU-T Study Group 에 의한 ITU-T 추천안 H.264, Advanced Video Coding for generic audiovisual services (일반적인 시청각 서비스들을 위한 어드밴스드 비디오 코딩) 에 설명된다. H.264/AVC 는 스케일러블 비디오 코딩 (scalable video coding; SVC) 익스텐션들 및 MVC 익스텐션들을 포함한다. 추가적으로, 심도 맵들의 포함에 의해 MVC 를 이용하는 3DVC 익스텐션을 제공하기 위한 추가의 개발이 있다. 합동 비디오 팀 (JVT) 은 H.264/MPEG-4 AVC 에 대한 익스텐션들에 계속 노력을 들인다. 3DVC 상황 내에서 설명되었지만, 본 개시물에서 설명된 기술들은 텍스처 및 심도 컴포넌트들 양자 모두를 포함하는 3D 비디오를 인코딩 및 디코딩할 수 있는 다른 비디오 코딩 알고리즘들에 대하여 구현될 수도 있다.
비디오 인코더 (20) 는 예를 들어, 픽처 헤더, 블록 헤더, 슬라이스 헤더, 또는 GOP 헤더에서, 블록-기반 신택스 데이터, 픽처-기반 신택스 데이터, 및 GOP-기반 신택스 데이터와 같은 신택스 데이터를 비디오 디코더 (30) 로 전송할 수도 있다. GOP 신택스 데이터는 각각의 GOP 에서 픽처들의 수를 설명할 수도 있고, 픽처 신택스 데이터는 대응하는 픽처를 인코딩하기 위해 이용되는 인코딩/예측 모드를 표시할 수도 있다.
일부 예들에서, 비디오 인코더 (20) 는, 비디오 데이터를 디코딩하는 경우 이용될 수도 있는 어떤 파라미터 세트들을 발생시킬 수도 있고, 비디오 디코더 (30) 는 이를 수신할 수도 있다. 예를 들어, 파라미터 세트들은 (시퀀스 파라미터 세트 (SPS) 들 내의) 시퀀스-레벨 헤더 정보 및 (픽처 파라미터 세트 (PPS) 들 내의) 빈번하지 않게 변화하는 픽처-레벨 헤더 정보를 포함할 수도 있다. 파라미터 세트들 (예를 들어, PPS 및 SPS) 로, 빈번하지 않게 변화하는 정보는 각각의 시퀀스 (예를 들어, 픽처들의 시퀀스) 또는 픽처에 대해 반복될 필요가 없고, 이에 따라 코딩 효율이 개선될 수도 있다. 게다가, 파라미터 세트들의 이용은 중요한 헤더 정보의 대역외 (out-of-band) 송신을 가능하게 할 수도 있어서, 에러 복원을 위한 중복적인 송신들에 대한 필요성을 회피할 수도 있다. 대역외 송신의 예들에서, 파라미터 세트 NAL 유닛은 보충 강화 정보 (SEI) NAL 유닛들과 같은 다른 NAL 유닛들과는 상이한 채널 상에서 송신될 수도 있다.
SEI NAL 유닛들 (SEI 메시지들이라고 지칭됨) 은 비디오 코딩 계층 (video coding layer; VCL) NAL 유닛들로부터의 코딩된 픽처들의 샘플들을 디코딩하기 위해 필요하지 않은 정보를 포함할 수도 있지만, 디코딩, 디스플레이, 에러 복원, 및 다른 목적들과 관련된 프로세스들을 보조할 수도 있다. SEI 메시지들은 비-VCL NAL 유닛들 내에 포함될 수도 있다. SEI 메시지들은 일부의 표준 사양들의 규범 부분에 포함될 수도 있고, 따라서 표준 준수 디코더 구현을 위해 항상 의무적인 것은 아니다. SEI 메시지들은 시퀀스 레벨 SEI 메시지들 또는 픽처 레벨 SEI 메시지들일 수도 있다. 일부 시퀀스 레벨 정보는 SVC 의 예에서의 스케일러빌러티 (scalability) 정보 SEI 메시지들 및 MVC 에서의 뷰 스케일러빌러티 정보 SEI 메시지들과 같이, SEI 메시지들 내에 포함될 수도 있다. 뷰 스케일러빌러티 정보 SEI 메시지들은 H.264 에 대한 3DVC 익스텐션에 대해 시퀀스 레벨 정보를 또한 제공할 수도 있다. 캡슐화 유닛 (21) 은 이 SEI 메시지들을 형성할 수도 있고, 이 SEI 메시지들을, 하나의 예로서, 인코딩된 비디오 데이터의 전달을 협상함에 있어서 이용하기 위한 서버/컨텐츠 전달 네트워크 (34) 에 제공할 수도 있다.
캡슐화 유닛 (30) 은, 페이로드, 예를 들어, 오디오 데이터, 비디오 데이터, 또는 NAL 유닛이 대응하는 전송 또는 프로그램 스트림을 설명하는 데이터뿐만 아니라, NAL 이 속하는 프로그램을 식별하는 헤더를 포함하는 NAL 유닛들을 형성할 수도 있다. 예를 들어, H.264/AVC 에서는, NAL 유닛이 1-바이트 헤더 및 변동하는 사이즈의 페이로드를 포함한다. 하나의 예에서, NAL 유닛 헤더는 priority_id 엘리먼트, temporal_id 엘리먼트, anchor_pic_flag 엘리먼트, view_id 엘리먼트, non_idr_flag 엘리먼트, 및 inter_view_flag 엘리먼트를 포함한다. 기존의 MVC 에서는, H.264 에 의해 정의된 NAL 유닛은, 4-바이트 MVC NAL 유닛 헤더 및 NAL 유닛 페이로드를 포함하는, 프리픽스 NAL 유닛들 및 MVC 코딩된 슬라이스 NAL 유닛들을 제외하고는 유지된다.
일부 예들에서, 비디오 인코더 (20) 는 MVC 플러스 심도 정보를 이용하여, H.264 의 3DVC 익스텐션을 준수하는 3DVC 비트스트림을 인코딩할 수도 있다. MVC 의 최신 합동 초안은 "Advanced video coding for generic audiovisual services", ITU-T 추천안 H.264, 2010 년 3 월에 설명되어 있는 한편, 3DVC 의 작업 초안은, 위에서 설명된 "WD on MVC Extensions for Inclusion of Depth Maps", ISO/IEC/JTC1/SC29/WG11/N12351, Geneva, Switzerland, 2011 년 11 월에 설명된다. 다시, MVC 에 대한 본 개시물 내에서의 지칭은 3DVC 의 맥락 내에서 MVC 플러스 심도에 대한 지칭인 것으로 이해되어야 한다. 즉, MVC 는 본 개시물에서, 3DVC 가 MVC 를 통합하거나 "빌드 오프 (build off)" 한다는 의미에서 3DVC 에 관련된다고 지칭된다.
H.264 에 대한 3DVC 익스텐션에서는, 뷰가 텍스처 및 심도를 포함한다. 뷰의 텍스처 부분은 텍스처 뷰로 명명되고, 뷰의 심도 부분은 심도 뷰로 명명된다. 하나의 액세스 유닛 내의 뷰의 텍스처 부분, 즉, 액세스 유닛 내의 텍스처 뷰는 텍스처 뷰 컴포넌트로 명명된다. 하나의 액세스 유닛 내의 뷰의 심도 부분, 즉, 액세스 유닛 내의 심도 뷰는 심도 뷰 컴포넌트로 명명된다. 용어 뷰 컴포넌트는 하나의 액세스 유닛 내의 뷰이고, 집합적으로 동일한 액세스 유닛 내의 텍스처 뷰 컴포넌트 및 심도 뷰 컴포넌트 양자 모두를 지칭한다.
H.264/AVC 의 익스텐션들에서는, 다수의 차원들에서 VCL NAL 유닛의 특징들을 설명하기 위해, NAL 유닛 헤더를 1 바이트로부터 4 바이트로 확장하기 위한 NAL 유닛 헤더 익스텐션에서 신택스 엘리먼트들이 추가될 수도 있다. 따라서, MVC 익스텐션에서의 VCL NAL 유닛은 H.264/AVC 표준에서의 NAL 유닛 헤더보다 더 긴 NAL 유닛 헤더를 포함할 수도 있다. H.264/AVC 에 대한 MVC 익스텐션은 본 개시물에서 "MVC/AVC" 라고 지칭될 수도 있다.
MVC/AVC NAL 유닛은 MVC/AVC NAL 유닛 헤더 익스텐션 뿐만 아니라, NAL 유닛 유형을 포함하는 1-바이트 NAL 유닛 헤더를 포함할 수도 있다. 하나의 예로서, MVC/AVC NAL 유닛 헤더 익스텐션은 다음 표에서의 신택스 엘리먼트들을 포함할 수도 있다:
NAL 유닛 헤더 익스텐션 신택스
Figure pct00001
상기 표에서, idr_flag 엘리먼트는 NAL 유닛이 폐쇄된-GOP 랜덤 액세스 포인트로서 이용될 수 있는 순간 디코더 리프레쉬 (instantaneous decoder refresh; IDR) 또는 뷰-IDR (V-IDR) 픽처에 속하는지 여부를 표시할 수도 있다. 예를 들어, IDR 픽처와, 디스플레이 순서 및 비트스트림 순서 양자 모두에서 IDR 픽처를 후행하는 픽처들의 전부는 비트스트림 순서 또는 디스플레이 순서의 어느 하나에서 이전의 픽처들을 디코딩하지 않으면서 적절히 디코딩될 수 있다.
priority_id 엘리먼트는 (예를 들어, 단일-패스 적응 프로세스와 같이) 비디오 디코더 (30) 및/또는 디스플레이 디바이스 (32) 의 변화하는 네트워크 조건들 및/또는 기능들에 따라 비트스트림을 변동시키는 비트스트림 적응 프로세스와 함께 이용될 수도 있다. view_id 엘리먼트는, 예를 들어, 인터-뷰 (inter-view) 예측을 위해 MVC 디코더 내부에서 그리고 예를 들어, 렌더링 (rendering) 을 위해 디코더 외부에서 이용될 수도 있는, NAL 유닛이 속하는 뷰에 대한 뷰 식별자를 표시하기 위해 이용될 수도 있다. 일부 사례들에서, view_id 는 미리 정의된 카메라 id 와 동일하게 설정될 수도 있고, 상대적으로 클 수도 있다. temporal_id 엘리먼트는, 지정한 프레임 레이트에 대응할 수도 있는 현재의 NAL 유닛의 시간적 레벨을 표시하기 위해 이용될 수도 있다.
anchor_pic_flag 엘리먼트는, NAL 유닛이 개방-GOP 랜덤 액세스 포인트로서 이용될 수 있는 앵커 픽처 (anchor picture) 에 속하는지 여부를 표시하기 위해 이용될 수도 있다. 예를 들어, 앵커 픽처들과, 디스플레이 순서에서 앵커 픽처를 후행하는 모든 픽처들은 디코딩 순서 (즉, 비트스트림 순서) 에서 이전의 픽처들을 디코딩하지 않으면서 적절히 디코딩될 수도 있고, 따라서, 랜덤 액세스 포인트들로서 이용될 수도 있다. 앵커 픽처들 및 비-앵커 픽처들은 상이한 뷰 종속성들을 가질 수도 있고, 이 둘은 SPS 에서 시그널링될 수도 있다.
즉, 본원에서 설명된 바와 같이, 뷰 종속성은 현재 코딩되고 있는 뷰가 종속되는 뷰를 일반적으로 지칭할 수도 있다. 다시 말해서, 뷰 종속성들은 어느 뷰들로부터 현재 코딩되고 있는 뷰가 예측될 수 있는지를 기술할 수도 있다. 일부 예들에 따르면, SPS MVC 익스텐션에서는 뷰 종속성이 시그널링될 수도 있다. 이러한 예들에서, 모든 인터-뷰 예측은 SPS MVC 익스텐션에 의해 지정된 범위 내에서 행해질 수도 있다. inter_view_flag 엘리먼트는 NAL 유닛이 다른 뷰들 내의 NAL 유닛들에 대한 인터-뷰 예측을 위해 이용되는지 여부를 표시하기 위해 이용될 수도 있다.
MVC 비트스트림의 베이스 뷰 (base view) 에 대한 NAL 유닛 헤더 정보 (4-바이트일 수도 있음) 를 전달하기 위해, 프리픽스 NAL 유닛이 MVC 에서 정의될 수도 있다. MVC 의 맥락에서, 베이스 뷰 액세스 유닛은, NAL 유닛 헤더만을 포함할 수도 있는, 베이스 뷰 액세스 유닛에 대한 프리픽스 NAL 유닛뿐만 아니라, 지정한 뷰의 현재의 시간 인스턴스 (time instance) 의 VCL NAL 유닛들을 포함할 수도 있다. 프리픽스 NAL 유닛이 (예를 들어, 단일 뷰를 디코딩하는 것과 같은) 디코딩을 위해 요구되지 않을 경우, 디코더는 프리픽스 NAL 유닛을 무시 및/또는 폐기할 수도 있다.
SPS MVC/AVC 익스텐션에 대하여, MVC SPS 는 인터-뷰 예측의 목적들을 위해 이용될 수도 있는 뷰들을 표시할 수도 있다. 예를 들어, 잠재적인 인터-뷰 참조들이 SPS MVC/AVC 익스텐션에서 시그널링될 수도 있고, 인터 예측 또는 인터-뷰 예측 참조들의 유연성 있는 순서화를 가능하게 하는 참조 픽처 리스트 구성 프로세스에 의해 수정될 수도 있다. 일 예의 MVC/AVC SPS 는 아래의 표에 기술된다.
일 예의 MVC SPS
Figure pct00002
Figure pct00003
일부 예들에 따르면, SPS MVC 익스텐션에서는 뷰 종속성이 시그널링될 수도 있다. 모든 인터-뷰 예측은 SPS MVC 익스텐션에 의해 지정된 범위 내에서 행해질 수도 있다. 즉, SPS 는 현재 코딩되고 있는 뷰에 의한 예측의 목적들을 위해 어느 뷰들이 참조될 수도 있는지를 기술할 수도 있다. 상기 표 2 에서, num_anchor_refs_l0[i] 엘리먼트는 List 0 에 대한 초기화된 참조 픽처 리스트 (예를 들어, RefPicList0) 에서의 인터-뷰 예측을 위한 뷰 컴포넌트들의 수를 지정할 수도 있다.
추가적으로, anchor_ref_l0[i][j] 엘리먼트는 초기화된 RefPicList0 에서의 인터-뷰 예측을 위한 j 번째 뷰 컴포넌트의 view_id 를 지정할 수도 있다. num_anchor_refs_l1[i] 엘리먼트는 리스트 1 에 대한 초기화된 참조 픽처 리스트 (예를 들어, RefPicList1) 에서의 인터-뷰 예측을 위한 뷰 컴포넌트들의 수를 지정할 수도 있다. anchor_ref_l1[i][j] 엘리먼트는 초기화된 RefPicList1 에서의 인터-뷰 예측을 위한 j 번째 뷰 컴포넌트의 view_id 를 지정할 수도 있다.
num_non_anchor_refs_l0[i] 엘리먼트는 초기화된 RefPicList0 에서의 인터-뷰 예측을 위한 뷰 컴포넌트들의 수를 지정할 수도 있다. non_anchor_ref_l0[i][j] 엘리먼트는 초기화된 RefPicList0 에서의 인터-뷰 예측을 위한 j 번째 뷰 컴포넌트의 view_id 를 지정할 수도 있다. num_non_anchor_refs_l1[i] 엘리먼트는 초기화된 RefPicList1 에서의 인터-뷰 예측을 위한 뷰 컴포넌트들의 수를 지정할 수도 있다. non_anchor_ref_l1[i][j] 엘리먼트는 초기화된 RefPicList 에서의 인터-뷰 예측을 위한 j 번째 뷰 컴포넌트의 view_id 를 지정할 수도 있다.
초기화된 또는 "초기의" 참조 픽처 리스트는 뷰 컴포넌트들을 인터-뷰 예측할 목적들을 위해 이용되는 최종 참조 픽처 리스트와 동일하거나 상이할 수도 있다. 즉, 어떤 참조 후보들 (즉, 인터-뷰 예측을 위해 이용될 수도 있는 참조 픽처들) 은 초기의 참조 픽처 리스트로부터 제거될 수도 있다 (예를 들어, 중복적인 픽처들). 추가적으로, 아래에서 더욱 상세하게 설명되는 바와 같이, 참조 후보들은 최종 참조 픽처 리스트를 형성하기 위해 초기의 참조 픽처 리스트로부터 재순서화될 수도 있다.
이 예에서, MVC 에 따르면, 앵커 픽처들 및 비-앵커 픽처들에 대한 뷰 종속성들은 별개로 유지되고 시그널링된다. 즉, 비디오 코더는 총 4 개의 참조 픽처 리스트들 (예를 들어, List 0, 비-앵커 픽처들; List 1, 비-앵커 픽처들; List 0, 앵커 픽처들; List 1, 앵커 픽처들) 을 결정할 수도 있다. 추가적으로, 상기 표 2 에 도시된 바와 같이, 비디오 디코더 (30) 에 뷰 종속성을 표시하기 위해 별도의 시그널링이 요구된다. 즉, SPS 는 anchor_refs 및 non_anchor_refs 양자 모두에 대한 별도의 List 0 및 List 1 시그널링을 포함할 수도 있다.
또한, 표 2 에 따르면, 비-앵커 뷰 컴포넌트들에 대한 인터-뷰 종속성은 앵커 뷰 컴포넌트들에 대한 인터-뷰 종속성의 서브세트이다. 즉, 예를 들어, 앵커 뷰의 뷰 컴포넌트는 뷰 3 및 4 와 같은 하나를 초과하는 다른 뷰로부터 예측될 수도 있다. 그러나, 비-앵커 뷰는 뷰 3 (앵커 뷰의 서브세트) 의 픽처들로부터 예측되기만 할 수도 있다. 이렇게 하여, 앵커 및 비-앵커 뷰 컴포넌트들에 대한 뷰 종속성들은 별개로 유지될 수도 있다.
추가적으로, 표 2 에서, num_level_values_signalled 는 코딩된 비디오 시퀀스에 대해 시그널링된 레벨 값들의 수를 지정할 수도 있다. level_idc[i] 엘리먼트는 코딩된 비디오 시퀀스에 대해 시그널링된 i 번째 레벨 값을 지정할 수도 있다. num_applicable_ops_minus1[i] 플러스 1 엘리먼트는 level_idc1[i] 에 의해 표시된 레벨이 적용되는 동작 포인트들의 수를 지정할 수도 있다. applicable_op_temporal_id[i][j] 엘리먼트는 level_idc[i] 에 의해 표시된 레벨이 적용되는 j 번째 동작 포인트의 temporal_id 를 지정할 수도 있다.
applicable_op_num_target_views_minus1[i][j] 엘리먼트는 level_idc[i] 에 의해 표시된 레벨이 적용되는 j 번째 동작 포인트에 대한 타겟 출력 뷰들의 수를 지정할 수도 있다. applicable_op_target_view_id[i][j][k] 엘리먼트는 level_idc[i] 에 의해 표시된 레벨이 적용되는 j 번째 동작 포인트에 대한 k 번째 타겟 출력 뷰를 지정할 수도 있다. applicable_op_num_views_minus1[i][j] 엘리먼트는, level_idc[i] 에 의해 표시된 레벨이 적용되는 j 번째 동작 포인트에서, 타겟 출력 뷰들에 종속적이지만 타겟 출력 뷰들에 속하지는 않는 뷰들을 포함하는 뷰들의 수를 지정할 수도 있다.
따라서, MVC 를 위한 SPS 에서는, 참조 픽처 List 0 및 참조 픽처 List 1 을 형성하기 위해 이용될 수도 있는 뷰들의 수가 각각의 뷰에 대해 시그널링될 수도 있다. 추가적으로, MVC 를 위한 SPS 에서 시그널링되는 바와 같이, 앵커 픽처에 대한 예측 관계는 동일한 뷰의 (MVC 의 SPS 에서 시그널링되는) 비-앵커 픽처에 대한 예측 관계와는 상이할 수도 있다.
아래에서 더욱 상세하게 설명되는 바와 같이, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 참조 픽처 리스트들을 구성하는 경우 시간적 및 뷰 예측 참조들을 유연성 있게 배치할 수도 있다. 유연성 있는 배치를 허용하는 것은 잠재적인 코딩 효율 이득뿐만 아니라, 에러 복원도 제공하며, 이것은 참조 픽처 섹션 및 중복적인 픽처 메커니즘들이 뷰 차원으로 확장될 수도 있기 때문이다. 일 예에서, 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 다음의 단계들에 따라 참조 픽처 리스트를 구성할 수도 있다:
1) 다른 뷰들로부터의 참조 픽처들이 고려되지 않도록, 시간적 (즉, 인트라-뷰) 참조 픽처들에 대한 참조 픽처 리스트를 초기화한다.
2) MVC SPS 익스텐션에서 픽처들이 발생하는 순서에서 리스트의 끝에 인터-뷰 참조 픽처들을 첨부한다.
3) 인트라-뷰 및 인터-뷰 참조 픽처들 양자 모두에 대하여 참조 픽처 리스트 재순서화 (reference picture list reordering; RPLR) 프로세스를 적용한다. 인터-뷰 참조 픽처들은 MVC SPS 익스텐션에서 지정된 바와 같이 그 인덱스 값들에 의해 RPLR 커맨드들에서 식별될 수도 있다.
MVC 에서, 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 멀티뷰 비디오 데이터를 디코딩하는 경우 제로 또는 하나의 픽처 파라미터 세트 (PPS) 를 활성 PPS 로서, 그리고 제로 이상의 뷰 PPS (VPPS) 를 활성 VPPS 로서 활성화할 수도 있고, 여기서, 각각의 활성 VPPS 는 특히, 최대 뷰 순서 인덱스 값보다 더 작은 지정한 뷰 순서 인덱스 값에 대해 활성이다. 즉, 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 액세스 유닛 내의 멀티뷰 비디오 데이터의 모든 뷰 컴포넌트에 적용되는 PPS 를 활성화할 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 액세스 유닛 내의 뷰 컴포넌트들의 서브세트에만 적용되는 VPPS 를 또한 활성화할 수도 있다. 일부 사례들에서, VPPS 는 VPPS 가 활성화되었던 그러한 뷰들에 대해 PPS 에서 지정된 하나 이상의 신택스 엘리먼트들을 무효화하는 하나 이상의 신택스 엘리먼트들을 포함할 수도 있다. 일부 사례들에서, VPPS 는 VPPS 가 활성화되었던 그러한 뷰들에 대해 PPS 에서 지정된 하나 이상의 신택스 엘리먼트들을 증대시키는 하나 이상의 신택스 엘리먼트들을 포함할 수도 있다.
또한, MVC 에서, 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 멀티뷰 비디오 데이터를 디코딩하는 경우 제로 또는 하나의 MVC 시퀀스 파라미터 세트 (SPS) 를 활성 MVC SPS 로서 제로 이상의 뷰 SPS (VSPS) 를 활성 VSPS 로서 활성화할 수도 있고, 여기서, 각각의 활성 VSPS 는 특히, 최대 뷰 순서 인덱스 값보다 더 작은 지정한 뷰 순서 인덱스 값에 대해 활성이다. 즉, 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 하나 이상의 액세스 유닛들 내에서 멀티뷰 비디오 데이터의 모든 뷰 컴포넌트에 적용되는 SPS 를 활성화할 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 하나 이상의 액세스 유닛들에서 뷰 컴포넌트들의 서브세트에만 적용되는 VSPS 를 또한 활성화할 수도 있다. 일부 사례들에서, VSPS 는 VSPS 가 활성화되었던 그러한 뷰들에 대한 SPS 에서 지정된 하나 이상의 신택스 엘리먼트들을 무효화하는 하나 이상의 신택스 엘리먼트들을 포함할 수도 있다. 일부 사례들에서, VSPS 는 VSPS 가 활성화되었던 그러한 뷰들에 대한 SPS 에서 지정된 하나 이상의 신택스 엘리먼트들을 증대시키는 하나 이상의 신택스 엘리먼트들을 포함할 수도 있다.
추가적으로, MVC 는 단일 비트스트림으로부터 다양한 소위 동작 부분들을 파싱 또는 추출하기 위한 기능성을 제공한다. 각각의 동작 포인트는 변동하는 시간적 프레임 레이트들 및 공간적 해상도들에서 인코딩되는 멀티뷰 비디오 데이터의 뷰들의 상이한 조합을 나타낼 수도 있다. 다시 말해서, 동작 포인트는 뷰 차원 (뷰들의 수를 반영함), 시간적 차원 (프레임 레이트를 반영함) 및 공간적 차원 (공간적 해상도를 반영함) 을 포함하는 3 개의 차원들에서의 멀티뷰 비디오 데이터의 인코딩을 지칭할 수도 있다.
동작 포인트는 타겟 시간적 레벨을 나타내는 temporal_id 값과, 타겟 출력 뷰들을 나타내는 view_id 값들의 세트에 의해 식별될 수도 있다. 하나의 동작 포인트는, temporal_id 값과 동일한 tIdTarget 과, 입력들로서 view_id 값들의 세트로 구성되는 viewIdTargetList 로 H.264/AVC 의 3 차원 비디오 코딩 (3DVC) 익스텐션의 하위 조항 H.8.5.3 에서 지정된 바와 같이 서브-비트스트림 추출 프로세스를 이용하여 유도되는 비트스트림 서브세트로서, 타겟 출력 뷰들 및 타겟 출력 뷰들이 종속되는 모든 다른 뷰들로 구성되는 비트스트림 서브세트와 연관된다. 하나를 초과하는 동작 포인트는 동일한 비트스트림 서브세트와 연관될 수도 있다. 3DVC 가 "동작 포인트가 디코딩된다" 라고 기술하는 경우 그것은 동작 포인트에 대응하는 비트스트림 서브세트와, 타겟 출력 뷰들의 후속 출력의 디코딩을 지칭한다. 다시 말해서, 각각의 동작 포인트는 어떤 시간적 레벨 및/또는 공간적 해상도 또는 레벨에서의 출력을 타겟으로 한 뷰들의 수로 표현된다.
시퀀스 파라미터 세트 MVC 익스텐션에서는, 상이한 동작 포인트들이 level_idc 값들로 시그널링될 수도 있다. 다음의 신택스 엘리먼트들은 레벨 정의 신택스 엘리먼트들이라고 명명된다.
Figure pct00004
MVC SPS 익스텐션에서 시그널링되는 각각의 level_idc 에 대하여, 새로운 level_idc_depth 는 3D 비디오 (3DV) SPS 익스텐션에서 시그널링된다. 따라서, 모든 MVC 동작 포인트들이 동일한 level_idc[i] 를 가지는 것으로 가정될 경우, 심도 컴포넌트들을 포함하고 3DVC 동작 포인트들을 구성한 후, 3DVC 동작 포인트들은 level_idc_depth[i] 의 동일한 레벨을 가질 것이다. 상세한 신택스 설계는 다음과 같이 도시된다.
Figure pct00005
추가적으로, MVC 는, 제거될 뷰 컴퓨넌트와 동일한 액세스 유닛에서 뷰 컴포넌트를 디코딩하는 경우 뷰 컴포넌트가 인터-뷰 참조를 위해 더 이용되지 않고 뷰 컴포넌트가 출력을 위해 이용되지 않을 경우에는, 디코딩된 픽처 버퍼 (decoded picture buffer; DPB) 로부터 뷰 컴포넌트가 제거될 수도 있다고 규정한다.
현재, 3DVC 는 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들 사이를 구별하기 위한 방법을 전혀 제공하지 않으며, 여기서, 용어 "뷰 컴포넌트" 는 3D 멀티뷰 비디오 데이터에 의해 지정된 뷰의 픽처를 지칭한다. 그 결과, 뷰의 텍스처 및 심도 컴포넌트들을 인코딩하는 경우 비디오 인코더는 통상적으로, 텍스처 및 심도 컴포넌트들 사이를 구별하기 위한 임의의 방법을 제공하지 않으면서 MVC 에 대해 위에서 설명된 것과 유사한 방식으로 텍스처 및 심도 컴포넌트들 양자 모두를 뷰 컴포넌트들로서 핸들링하거나 또는 이와 달리 프로세싱한다. 즉, 3DVC 는 심도 컴포넌트들과는 별개로 텍스처 컴포넌트들을 개별적으로 프로세싱하기 위한 방법을 제공하지 않으면서 뷰 컴포넌트들의 핸들링 또는 코딩을 현재 제공한다. 3DVC 에서의 이러한 구분의 결여는 더 작은 코딩 효율 및/또는 재구성된 비디오 데이터의 더 낮은 품질을 초래할 수도 있다.
예를 들어, 심도 컴포넌트는 이 뷰 컴포넌트의 공동 핸들링을 수용하기 위해 대응하는 텍스처 컴포넌트와 동일한 해상도에서 지정되도록 현재 요구될 수도 있다. 그러나, (텍스처 컴포넌트의 해상도와 비교하여) 더 높은 해상도의 심도 컴포넌트는, 시청자의 시각적 시스템이 예상하는 것을 더욱 양호하게 모방하는 더 양호하고 더 실감형의 3D 비디오가 발생할 수도 있다는 점에서 3 차원 (3D) 비디오 재생을 초래할 수도 있다. 또한, (텍스처 컴포넌트의 해상도에 비해) 더 낮은 해상도의 심도 컴포넌트는 어떤 사례들에서 동일하거나 유사한 실감형의 3D 경험을 제공할 수도 있지만, 코딩될 때에 더 적은 비트들을 소비할 수도 있고, 이에 따라 코딩 효율을 증가시킬 수도 있다. 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 가능하게 하는 것에 실패함으로써, 3DVC 는 코딩 효율을 감소시킬 수도 있고, 및/또는 (종종 시청 경험의 측면에서) 재구성된 비디오 데이터의 더 낮은 품질을 제공할 수도 있다.
본 개시물의 기술들은 3D 비디오 데이터를 프로세싱 또는 코딩하는 경우 뷰의 텍스처 컴포넌트들 및 심도 컴포넌트들의 별도의 또는 독립적인 핸들링을 가능하게 하는 것과 일반적으로 관련된다. 예를 들어, 시퀀스 파라미터 세트 (SPS) 3DVC 익스텐션은 3DVC 관련 프로파일들에 대해 추가될 수 있다. 이 SPS 3DVC 익스텐션 내부에서는, 다음 중 하나 이상이 시그널링될 수도 있고: 심도 맵 시퀀스들의 픽처 사이즈, 심도 맵 시퀀스들에 의해 디스플레이될 픽처의 사이즈, 및 고려되는 심도 맵 픽처들을 갖는 동작 포인트들의 레벨들, 지정한 레벨의 각각은 SPS MVC 익스텐션에서 이미 정의되었던 레벨에 대응한다. 디스플레이될 픽처의 사이즈는 디스플레이 디바이스에 의해 출력되는 디코딩된 픽처일 수도 있다.
3DVC 코덱에서는, 지정한 시간 인스턴스에서의 비디오 데이터의 각각의 뷰의 뷰 컴포넌트가 텍스처 뷰 컴포넌트 및 심도 뷰 컴포넌트를 포함할 수도 있다. 텍스처 뷰 컴포넌트는 휘도 (Y) 컴포넌트들 및 색차 (Cb 및 Cr) 컴포넌트들을 포함할 수도 있다. 휘도 (밝기) 및 색차 (컬러) 컴포넌트들은 집합적으로 "텍스처" 컴포넌트들이라고 본원에서 지칭된다. 심도 뷰 컴포넌트는 이미지의 심도 맵으로부터 나올 수도 있다. 3D 이미지 렌더링에서는, 심도 맵들이 심도 컴포넌트들을 포함하고, 제공된 시청 관점으로부터 가상의 뷰들을 발생시키기 위해 이용될 수 있다. 심도 컴포넌트들 및 텍스처 컴포넌트들에 대한 신택스 엘리먼트들은 코딩된 블록 유닛으로 시그널링될 수도 있다. 본 개시물에서 "코딩된 블록들" 이라고 간단하게 또한 지칭되는 코딩된 블록 유닛들은 ITU-T H.264/AVC (어드밴스드 비디오 코딩) 에서의 매크로블록들에 대응할 수도 있다.
본 개시물은, 비디오 인코딩 및/또는 디코딩 프로세스의 인터-예측 단계 동안에 인코더에 의해 적용될 수도 있고 디코더에 의해 이용될 수도 있는 시그널링 기술들을 설명한다. 설명된 기술들은 3 차원 ("3D) 비디오 컨텐츠의 코딩에 관련된다. 3D 비디오 컨텐츠는 예를 들어, 멀티뷰 비디오 플러스 심도 ("multiview video plus depth; MVD") 코딩된 블록들로서 표현될 수도 있다. 더욱 구체적으로, 기술들은 텍스처 뷰 컴포넌트들 및 심도 뷰 컴포넌트들을 갖는 적어도 하나의 2 차원 이미지의 수신을 포함한다. 일부의 텍스처 뷰 컴포넌트들 및 심도 정보는 단일의 코딩된 블록으로 또는 별도의 블록들로서 함께 코딩될 수도 있다. 이미지는 이미지들의 슬라이스들로 분리될 수도 있다. 텍스처 뷰 컴포넌트들 및 심도 뷰 컴포넌트들을 코딩하기 위한 신택스 엘리먼트들은 시퀀스 파라미터 세트에서 시그널링될 수도 있다. 심도 뷰 컴포넌트들은 텍스처 뷰 컴포넌트들로부터 예측될 수도 있거나 또는 이로부터 예측되지 않을 수도 있다.
비디오 코딩 표준의 맥락에서, "프로파일" 은 알고리즘들, 피처 (feature) 들, 또는 툴 (tool) 들과, 이들에 적용되는 제약들의 서브세트에 대응한다. 예를 들어, H.264 표준에 의해 정의된 바와 같이, "프로파일" 은 H.264 표준에 의해 지정되는 전체 비트스트림 신택스의 서브세트이다. "레벨" 은, 픽처들의 해상도, 비트 레이트, 및 매크로블록 (MB) 프로세싱 레이트에 관련되는, 예를 들어, 디코더 메모리 및 연산과 같은 디코더 자원 소비의 제한들에 대응한다. 프로파일은 profile_idc (프로파일 표시자) 값으로 시그널링될 수도 있는 반면, 레벨은 level_idc (레벨 표시자) 값으로 시그널링될 수도 있다.
H.264/AVC 표준에서, 네트워크 추상화 계층 (NAL) 유닛들은 화상전화, 저장, 또는 스트리밍 비디오와 같은 애플리케이션들을 다루기 위해 "네트워크-친화적" 비디오 표현을 제공하도록 정의된다. NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들 및 비-VCL NAL 유닛들로 분류될 수 있다. VCL 유닛들은 코어 압축 엔진을 포함할 수도 있고, 블록, 매크로블록 (MB), 및 슬라이스 레벨들을 포함할 수도 있다. 다른 NAL 유닛들은 비-VCL NAL 유닛들이다.
2D 비디오 인코딩을 위해, 각각의 NAL 유닛은 1 바이트 NAL 유닛 헤더와, 변동하는 사이즈의 페이로드를 포함할 수도 있다. NAL 유닛 유형을 지정하기 위해 5 비트들이 이용될 수도 있다. 다른 픽처들 (NAL 유닛들) 에 의해 참조되는 측면에서 NAL 유닛이 얼마나 중요한지를 표시하는 nal_ref_idc 에 대하여 3 비트들이 이용될 수도 있다. 예를 들어, nal_ref_idc 를 0 과 동일하게 설정하는 것은 NAL 유닛이 인터 예측을 위해 이용되지 않는다는 것을 의미한다. H.264/AVC 가 스케일러블 비디오 코딩 (SVC) 표준과 같은 3D 비디오 인코딩을 포함하도록 확장될 수도 있으므로, NAL 헤더는 2D 시나리오의 NAL 헤더와 유사할 수도 있다. 예를 들어, NAL 유닛 헤더 내의 하나 이상의 비트들은 NAL 유닛의 4-컴포넌트 NAL 유닛인 것을 식별하기 위해 이용될 수도 있다.
NAL 유닛 헤더들은 MVC NAL 유닛들에 대해 또한 이용될 수도 있다. 그러나, MVC 에서, NAL 유닛 헤더 구조는 프리픽스 NAL 유닛들 및 MVC 코딩된 슬라이스 NAL 유닛들을 제외하고는 유지될 수도 있다. 본 개시물의 기술들은 슈퍼 (super) SPS 를 시그널링하기 위해 이용될 수도 있는 상이한 NAL 유닛 유형을 제공한다.
다음의 표는 본 개시물의 하나의 양태에 따라, 시퀀스 파라미터 세트 RBSP 신택스의 하나의 예를 제공한다. 예를 들어, 이 표와 연관된 예시적인 목적들만을 위해, 텍스처 및 심도는 동일한 view_id 값을 가지고 nal_unit_type 은 텍스처 및 심도를 구별하기 위해 이용된다고 가정될 수도 있다. 아래에서, 굵게 표시된 항목들은 MVC 에 대한 3DVC 익스텐션을 위한 작업 초안의 현재 또는 이전의 버전들과 비교하여, 본 개시물의 예들에 따라 추가되거나, 업데이트되거나, 또는 변경되었던 항목들을 나타낸다. 또한, 아래의 표의 부록 G 와 같은 부록들에 대한 참조는 H.264 비디오 코딩 표준의 부록들을 참조한다.
Figure pct00006
위에서 도시된 표에 따르면, 1 과 동일한 3 dvc _ vui _ parameter _ present _ flag 는 3dvc_vui_parameters_extension( ) 가 존재한다는 것을 표시한다. 3dvc_vui_parameter_present_flag 가 0 과 동일한 경우 그 플래그는 3dvc_vui_parameters_extension( ) 가 존재하지 않는다는 것을 표시한다. 예를 들어, 3 dvc _ vui _ parameter _ present _ flag 는 본 개시물의 기술들 중 일부를 통합하는 익스텐션이 시퀀스 파라미터 세트에서 존재한다는 것을 표시한다.
일부 예들에서, MVC 프로파일들 (예를 들어, 스테레오 하이 또는 멀티뷰 하이) 을 갖는 서브세트 SPS 는 3DV 프로파일들을 갖는 서브세트 SPS 의 SPS id 와 동일한 SPS id 를 가질 수도 있으므로, 텍스처 뷰 컴포넌트들은 상이한 프로파일들에서 상이한 컨텐츠를 갖는 동일한 SPS_id 를 참조할 것이다. 예를 들어, MVC 를 갖는 서브세트 SPS 는 텍스처를 가지기만 하는 동작 포인트에 대응할 수도 있다. 3DV 프로파일들을 갖는 서브세트 SPS 의 SPS id 와 동일한 SPS id 를 갖는 것은 텍스처를 포함하기만 하였던 동작 포인트가 미디어 인지 네트워크 엘리먼트 (media aware network element; MANE) 와 같은 디코더 또는 네트워크 디바이스에 의해 추출되는 것을 가능하게 할 수도 있다.
멀티뷰 하이 프로파일은 임의적인 수의 뷰들을 지원한다. 스테레오 하이 프로파일은 2-뷰 입체 비디오를 지원한다. 다른 예들에서, 본원에서 설명된 기술들은 다른 MVC 프로파일들을 이용하는 예들에 적용될 수도 있다.
다음의 표는 시퀀스 파라미터 세트 3DVC 익스텐션에 대한 익스텐션 신택스 엘리먼트들의 예를 제공한다.
Figure pct00007
하나의 예에서, 시퀀스 파라미터 세트 3DVC 익스텐션은 코딩된 비디오 시퀀스에서의 다른 뷰들보다 더 높은 해상도를 갖는 추가적인 뷰들의 인터-뷰 종속성 관계들을 지정한다. 더 낮은 해상도를 갖는 다른 뷰들의 텍스처 뷰 컴포넌트들은 부록 H 를 준수하는 서브-비트스트림에 속한다. 시퀀스 파라미터 세트 3DVC 익스텐션은 심도 뷰 컴포넌트들의 종속성을 또한 지정한다. 더 높은 해상도의 뷰들은 다른 뷰들의 2 배의 폭, 동일한 높이 또는 2 배의 높이, 또는 동일한 폭을 가질 수 있다. 일부 예들에서, 더 높은 해상도의 뷰들은 다른 뷰들의 단지 2 배의 폭, 동일한 높이 또는 2 배의 높이, 또는 동일한 폭을 가질 수 있다.
심도 뷰 컴포넌트들에 대한 chroma_format_idc 는 4:0:0 과 동일한 것으로 추론된다.
신택스 엘리먼트 disable _ depth _ inter _ view _ flag 는 m22583 에서 동일한 명칭을 갖는 플래그에서와 동일한 시맨틱 (semantic) 들을 가질 수도 있다. 신택스 엘리먼트 depth _ pic _ width _ in _ mbs _ minus1 플러스 1 은 매크로블록들의 유닛들 내의 각각의 심도 뷰 컴포넌트 픽처의 폭을 지정한다. 매크로블록들의 유닛들 내의 심도 뷰 컴포넌트들의 픽처 폭에 대한 변수는 다음과 같이 유도될 수도 있다:
PicWidthInMbs = pic_width_in_mbs_minus1 + 1 (1)
루마 컴포넌트에 대한 심도 뷰 컴포넌트들의 픽처 폭에 대한 변수는 다음과 같이 유도된다:
PicWidthInSamplesL = PicWidthInMbs * 16 (2)
일부 예들에서, 신택스 엘리먼트 depth _ pic _ height _ in _ map _ units _ minus1 플러스 1 은 심도 뷰 컴포넌트들의 디코딩된 프레임의 슬라이스 그룹 맵 유닛들 내의 높이를 지정한다. 변수들 PicHeightInMapUnits 및 PicSizeInMapUnits 은 다음과 같이 유도된다:
PicHeightInMapUnits = pic_height_in_map_units_minus1 + 1 (3)
PicSizeInMapUnits = PicWidthInMbs * PicHeightInMapUnits (4)
일부 예들에서, 신택스 엘리먼트 depth _ frame _ cropping _ flag 가 1 과 동일한 경우 depth _ frame _ cropping _ flag 는 프레임 크롭핑 (cropping) 오프셋 파라미터들이 심도 뷰 컴포넌트들에 대한 시퀀스 파라미터 세트에서 다음으로 후행한다는 것을 지정한다. 0 과 동일한 depth _ frame _ cropping _ flag 는 프레임 크롭핑 오프셋 파라미터들이 심도 뷰 컴포넌트들에 대해 존재하지 않는다는 것을 지정한다.
신택스 엘리먼트들 depth _ frame _ crop _ left _ offset, depth_frame_crop_right_offset, depth _ frame _ crop _ top _ offset, 및 depth_frame_crop_bottom_offset 는 출력을 위한 프레임 좌표들에서 지정된 직사각형 영역의 측면에서, 디코딩 프로세스로부터 출력되는 코딩된 비디오 시퀀스에서의 심도 뷰 컴포넌트들의 픽처들의 샘플들을 지정할 수도 있다. 이 오프셋들은 디코딩된 심도 뷰 컴포넌트들의 픽처들에 대한 크롭핑 윈도우를 정의할 수도 있다.
일부 예들에서, 신택스 엘리먼트 level _ idc _ depth[i] 는 심도 뷰 컴포넌트들을 갖는 코딩된 비디오 시퀀스에 대해 시그널링되는 i 번째 레벨 값을 지정한다.
서브-비트스트림을 생성하기 위해 MVC 비트스트림으로부터 하나 이상의 뷰들을 추출하는 것이 가능하다. 타겟 출력 뷰들의 소정의 타당한 세트를 갖는 서브-비트스트림은 동작 포인트라고 지칭된다. 뷰 종속성들로 인해, 타겟 출력 뷰들의 세트는 서브-비트스트림 내에 포함된 뷰들의 서브세트일 수 있다. 타겟 출력 뷰들은 서브-비트스트림 내에 포함된 뷰들과 또한 동일할 수 있다. 그러나, 서비스 제공자가 큰 수의 뷰들을 갖는 동작 포인트를 지원하는 것을 의도하지 않을 경우, 타겟 출력 뷰들의 수는 포함된 뷰들의 서브세트일 수 있다. 포함된 뷰들은 디코딩될 뷰들이라는 것에 주목해야 한다.
동작 포인트는 타겟 시간적 레벨을 나타내는 temporal_id 값과, 타겟 출력 뷰들을 나타내는 view_id 값들의 세트에 의해 식별된다. 하나의 동작 포인트는, temporal_id 값과 동일한 tIdTarget 과, 입력들로서 view_id 값들의 세트로 구성되는 viewIdTargetList 로 하위 조항 H.8.5.3 에서 지정된 바와 같이 서브-비트스트림 추출 프로세스를 이용하여 유도되는 비트스트림 서브세트로서, 타겟 출력 뷰들 및 타겟 출력 뷰들이 종속되는 모든 다른 뷰들로 구성되는 비트스트림 서브세트와 연관된다. 하나를 초과하는 동작 포인트는 동일한 비트스트림 서브세트와 연관될 수도 있다. 3DVC 가 "동작 포인트가 디코딩된다" 라고 기술하는 경우 그것은 동작 포인트에 대응하는 비트스트림 서브세트와, 타겟 출력 뷰들의 후속 출력의 디코딩을 지칭한다.
본원에서 설명된 기술들에 따르면, 3DVC SPS 익스텐션에 대한 동작 포인트들의 구성은, 심도 뷰 컴포넌트들이 연관되는 것을 제외하고는, MVC SPS 익스텐션에서의 그것들과 동일할 수도 있다. 다시 말해서, level_idc[i] 와 동일한 레벨을 갖는 MVC SPS 익스텐션에서 시그널링되는 각각의 동작 포인트에 대하여, 대응하는 동작 포인트는 타겟 출력 뷰들 및 temporal_id 값의 동일한 집합으로 3DVC SPS 익스텐션에서 가능하게 되지만, 심도 컴포넌트를 포함하는 각각의 뷰 컴포넌트에 대하여, level_idc_depth[i] 의 레벨을 더 포함한다.
대안으로, 3DV 프로파일을 갖는 현재의 SPS 의 SPS MVC 익스텐션에서 시그널링된 level_idc 값들은 항상 심도 NAL 유닛들을 포함하는 동작 포인트들에 대한 것이고, 따라서 신택스 엘리먼트 level_idc_depth[i] 는 3DVC 를 위한 일부 사례들에서는 시그널링되지 않는다. 예를 들어, 본원에 설명된 기술들에 따라, SPS MVC 익스텐션을 포함하는 3DV 프로파일을 갖는 SPS 에서 level_idc 값들을 시그널링하는 경우는, level_idc 값들이 심도 NAL 유닛들을 포함하는 동작들에 대한 것이므로, 신택스 엘리먼트 level_idc_depth[i] 가 시그널링되지 않는다.
다음의 표는 3DVC 비디오 유용성 정보 (Video Usability Information; VUI) 파라미터들 익스텐션에 대한 일 예의 시맨틱들을 제공한다.
Figure pct00008
위에서 직접 도시된 일 예의 표에서, 1 과 동일한 depth _ present _ flag[i] 현재의 동작 포인트가 각각의 뷰에 대한 심도 뷰 컴포넌트를 포함한다는 것을 표시한다. 0 과 동일한 depth _ present _ flag[i] 는 현재의 동작 포인트가 임의의 심도 뷰 컴포넌트를 포함하지 않는다는 것을 표시한다.
다른 신택스 엘리먼트들은 동일한 명칭들을 갖는 MVC VUI 파라미터들 익스텐션에서의 시맨틱들과 동일한 시맨틱들을 가질 수도 있다.
대안으로, depth _ present _ idc[i] 가 시그널링될 수도 있다. 1 과 동일한 엘리먼트 depth _ present _ idc[i] 는 현재의 동작 포인트가 각각의 뷰의 심도 뷰 컴포넌트를 포함한다는 것을 표시할 수도 있다. 일부 예들에서, depth _ present _ idc[i] 를 0 또는 2 와 동일하게 설정하는 것은 현재의 동작 포인트가 텍스처 뷰 컴포넌트들만을 포함한다는 것을 표시할 수도 있다. 다른 예들에서, depth _ present _ idc[i] 를 0과 동일하게 설정하는 것은 현재의 동작 포인트가 임의의 심도 뷰 컴포넌트를 포함하지 않는다는 것을 표시할 수도 있다. 다른 예들에서, depth _ present _ idc[i] 를 2 와 동일하게 설정하는 것은 현재의 동작 포인트가 임의의 심도 뷰 컴포넌트를 포함하지 않는다는 것을 표시할 수도 있다.
또 다른 예에서, 심지어 동일한 뷰에 속하는 심도 뷰 컴포넌트 및 텍스처 뷰 컴포넌트는 시그널링되는 상이한 view_id 값들을 가질 수도 있다. 그러나, 심도 뷰 컴포넌트들은 텍스처와 동일한 뷰 종속성을 여전히 공유할 수도 있다. 일부 예들에서, SPS 3DVC 익스텐션은 view_id 값들의 맵핑을 포함한다.
다음의 표는 SPS 3DVC 익스텐션의 또 다른 예를 제공한다.
Figure pct00009
신택스 엘리먼트 view _ id _ depth[i] 는 i 와 동일한 VOIdx 를 갖는 심도 뷰의 view_id 를 지정하고, 그것은 view_id[i] 와 동일한 view_id 를 가지는 텍스처 뷰를 갖는 뷰에 속한다.
또 다른 예에서, 모든 다른 양태들을 동일하게 유지하면, level_idc_depth 값들은 SPS MVC 익스텐션에서 시그널링되는 level_idc 값들과 동일한 방식으로 시그널링될 수 있다.
또 다른 예에서, 심도 뷰 컴포넌트들은 상이한 seq_parameter_set_data( ) 를 공유할 수도 있다. 이와 같이, 심도 뷰 컴포넌트들의 폭 및 높이가 시그널링된다. 하나의 예에서, seq_parameter_set_data( ) 신택스는, 일부 예들에서 4:0:0 일 수도 있는 chorma_format_idc 를 포함할 수도 있다. 이 예들에서, 심도 뷰 예측 관계는 텍스처 뷰 예측 관계와 동일한 예측 관계를 여전히 공유할 수도 있다.
다음의 표는 본 개시물의 하나의 양태에 따라, 심도 뷰 컴포넌트들이 동일한 seq_parameter_set_data( ) 를 공유하는 경우 대하여 서브세트 시퀀스 파라미터 세트 RBSP 신택스에 대한 신택스 엘리먼트들의 예를 제공한다.
Figure pct00010
다음의 표는 본 개시물의 하나의 양태에 따라, 심도 뷰 컴포넌트들이 동일한 seq_parameter_set_data( ) 를 공유하는 경우 대하여 일 예의 시퀀스 파라미터 세트 3dVC 익스텐션 신택스를 제공한다.
Figure pct00011
일부 예들에서, 상기 표들의 일부에 도시된 신택스 엘리먼트들 중 일부의 신택스 엘리먼트의 시맨틱들은 이 표들의 다른 것들에 대해 설명된 유사한 신택스 엘리먼트들과 유사하거나 동일할 수도 있다.
또 다른 예에서는, 새로운 NAL 유닛 유형이 제공될 수도 있다. NAL 유닛 유형은 3DV 프로파일에 대한 슈퍼 SPS 를 시그널링하기 위해 이용되는, 15 와 같은 값을 가질 수도 있다. 다음 3 개의 표들은 3DV 프로파일에 대한 슈퍼 SPS 에 대한 신택스 엘리먼트들에 대응할 수도 있다. 일부 예들에서, 슈퍼 SPS 는 심도 뷰 컴포넌트들 및 텍스처 컴포넌트들 양자 모두를 시그널링할 수도 있다.
다음의 표는 슈퍼 시퀀스 파라미터 세트 RBSP 신택스의 하나의 예를 제공한다. 다음의 표의 SPS 3DVC 익스텐션 신택스는 새로운 NAL 유닛 유형을 이용하여 시그널링될 수도 있다.
Figure pct00012
다음의 표는 본원에 설명된 기술들에 따라, SPS 3DVC 익스텐션 신택스의 하나의 예를 제공한다. 다음의 표의 SPS 3DVC 익스텐션 신택스는 새로운 NAL 유닛 유형을 이용하여 시그널링될 수도 있다.
Figure pct00013
다음의 표는 본원에 설명된 기술들에 따라, 3DVC VUI 파라미터들 익스텐션 신택스의 하나의 예를 제공한다. 다음의 표의 3DVC VUI 파라미터들 익스텐션 신택스는 새로운 NAL 유닛 유형을 이용하여 시그널링될 수도 있다.
Figure pct00014
일부 예들에서, 상기 표들에 도시된 신택스 엘리먼트들 중 일부의 신택스 엘리먼트의 시맨틱들은 상기한 표들의 다른 것들에 대해 설명된 유사한 신택스 엘리먼트들과 유사하거나 동일할 수도 있다. MVC SPS 익스텐션에 정의된 레벨들은 심도 NAL 유닛들을 고려하여 동작 포인트들에 적용될 수도 있다. 3DV 관련 프로파일에서는, 하나의 SPS, 하나의 서브세트 SPS, 및 하나의 슈퍼세트 (superset) SPS 가 동시에 활성화될 수 있다.
그 결과, MVC 는 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 제공하기 위해 3DVC 를 통해 확장될 수도 있다. 이러한 독립적인 핸들링을 가능하게 함으로써, 본 개시물에서 설명된 기술들의 다양한 양태들은 비트 절감 (또는 다시 말해서, 멀티뷰 비디오 데이터의 더욱 효율적인 코딩) 및/또는 (인지된 시청 경험의 측면에서 다시 측정될 수도 있는) 재구성된 비디오 데이터의 더욱 양호한 품질을 촉진할 수도 있다.
예를 들어, 본 개시물에서 설명된 기술들의 다양한 양태들은 비디오 코딩 디바이스 (소스 디바이스 (12) 및/또는 목적지 디바이스 (14) 와 같이, 비디오 인코더 및/또는 비디오 디코더를 포함하는 임의의 디바이스를 지칭하기 위해 본 개시물에서 이용된 용어를 나타낼 수도 있음) 가 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화하는 것을 가능하게 할 수도 있다. 뷰 순서 인덱스는 액세스 유닛의 대응하는 뷰 컴포넌트의 디코딩 순서를 설명할 수도 있다. 뷰 순서 인덱스는 비트스트림의 뷰 컴포넌트를 식별하기 위해 픽처 순서 카운트 (picture order count; POC) 값 또는 프레임 값과 함께 이용될 수 있다. 그러므로, 기술들의 이 양태는, 뷰 컴포넌트의 텍스처 컴포넌트에 대해서만 활성화되며 동일한 뷰 컴포넌트의 대응하는 심도 컴포넌트에 적용되지 않는, PPS 또는 SPS 와 같은 파라미터 세트를 제공할 수도 있다. 이와 관련하여, 비디오 코딩 디바이스는 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 심도 컴포넌트가 아니라, 뷰 컴포넌트의 텍스처 컴포넌트만을 코딩할 수도 있다.
추가적으로, 비디오 코딩 디바이스는 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 뷰 컴포넌트의 심도 컴포넌트에 대한 파라미터 세트를 활성화할 수도 있다. 즉, 일부 사례들에서, 비디오 코딩 디바이스는 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처-지정 파라미터 세트를 활성화할 수도 있고, 다음으로, 특히, 동일한 뷰 컴포넌트의 심도 컴포넌트에 대한 또 다른 파라미터 세트를 활성화할 수도 있다. 그 결과, 비디오 코딩 디바이스는 활성화된 텍스처 파라미터 세트가 아니라, 뷰 컴포넌트의 심도 컴포넌트에 대해 활성화된 파라미터 세트에 기초하여 뷰 컴포넌트의 심도 컴포넌트를 코딩할 수도 있다. 비디오 코딩 디바이스는 활성화된 텍스처 파라미터 세트에 기초하여 텍스처 컴포넌트를 코딩할 수도 있다. 이렇게 하여, 기술들은 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들에 대한, PPS 또는 SPS 와 같은 파라미터 세트들의 별도의 활성화를 촉진할 수도 있어서, MVC-호환가능한 3DVC 뷰 내의 심도 및 텍스처 컴포넌트들의 별도의 핸들링 또는 프로세싱을 용이하게 하기 위한 방법을 제공할 수도 있다.
본 개시물에서 설명된 기술들의 다양한 양태들은, 비디오 코딩 디바이스가 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들 양자 모두에 또는 뷰 컴포넌트의 심도 컴포넌트에만 적용되는 네스팅된 보충 정보 (SEI) 메시지를 결정하는 것을 가능하게 함으로써 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 또한 촉진할 수도 있다. 용어 "네스팅된 SEI 메시지" 는, 또 다른 SEI 메시지의 범위 내에서 네스팅된 SEI 메시지가 효과적으로 "네스팅 (nested)" 되도록 또 다른 SEI 메시지의 다양한 부분들을 통합하는 SEI 메시지를 지칭한다. 네스팅된 SEI 메시지가 심도 컴포넌트에만 적용되는 것을 가능하게 함으로써, 기술들의 이 양태들은 텍스처 및 심도 컴포넌트들의 별도의 핸들링을 다시 촉진할 수도 있다.
비디오 코딩 디바이스 (즉, 도 1 의 예에서 소스 디바이스 (12) 및/또는 목적지 디바이스 (14)) 는 멀티뷰 비디오 데이터의 뷰 컴포넌트의 코딩에 적용되는 보충 강화 정보 메시지를 결정하기 위해 기술들의 이 양태들을 수행할 수도 있다. 이 SEI 메시지는, 그것이 지정한 뷰 컴포넌트에 대해 적용되고 임의의 네스팅된 SEI 메시지들에 대한 범위를 설정하는 것을 반영하기 위해 페어런트 (parent) SEI 메시지라고 지칭될 수도 있다. 다음으로, 비디오 코딩 디바이스는 뷰 컴포넌트의 심도 컴포넌트를 코딩하는 경우 보충 강화 정보 메시지에 추가하여 적용되는 네스팅된 보충 강화 정보 메시지를 결정할 수도 있다. 이 네스팅된 SEI 메시지는 페어런트 SEI 메시지를 식별할 수도 있고, 이 네스팅된 SEI 메시지는 페어런트 SEI 메시지가 적용되는 뷰 컴포넌트의 심도 컴포넌트에 적용되기만 한다는 것을 표시할 수도 있다. 다음으로, 비디오 코딩 디바이스는 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 심도 컴포넌트를 프로세싱할 수도 있다.
통상적으로, 네스팅된 SEI 메시지는, 네스팅된 SEI 메시지가 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들 양자 모두에 또는 심도 컴포넌트에만 적용되는지 여부를 표시하는 플래그 또는 다른 식별자를 포함한다. 따라서, 일부 사례들에서, 비디오 코딩 디바이스는, 뷰 컴포넌트의 심도 컴포넌트를 처리하기만 하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는 것으로 결정할 수도 있고, 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트가 아니라, 뷰 컴포넌트의 심도 컴포넌트만을 프로세싱한다. 대안으로, 비디오 코딩 디바이스는, 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는 것으로 결정할 수도 있고, 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱한다. 또한, 기술들의 이 양태들은 뷰 컴포넌트의 심도 및 텍스처 컴포넌트들의 별도의 핸들링 또는 프로세싱을 다시 용이하게 한다.
본 개시물에서 설명된 기술들의 다른 양태들은, 비디오 코딩 디바이스가 디코딩된 픽처 버퍼로부터 텍스처 및 심도 컴포넌트들을 별개로 제거하는 것을 가능하게 함으로써, 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 촉진할 수도 있다. 디코딩된 픽처 버퍼는 현재의 뷰 컴포넌트를 코딩함에 있어서 이용하기 위한 참조 픽처들을 저장할 수 있는 메모리 또는 다른 컴퓨터 판독가능 매체를 지칭한다. 본 개시물에 기술된 기술들은 텍스처 및 심도 컴포넌트들의 별도의 핸들링을 가능하게 하므로, 비디오 코딩 디바이스는, 뷰 컴포넌트 (및 이에 따라, 그 뷰 컴포넌트의 심도 및 텍스처 컴포넌트들) 가 동일한 참조 픽처들을 이용하여 코딩되었던 기존의 MVC 와 반대로, 동일한 뷰 컴포넌트의 심도 컴포넌트를 코딩하는 경우 이용되는 것들과는 상이한 참조 픽처들을 이용하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩할 수도 있다. 그 결과, 참조 뷰 컴포넌트의 심도 컴포넌트들이 동일한 참조 뷰 컴포넌트의 텍스처 컴포넌트들보다 이전에, 디코딩된 픽처 버퍼로부터 제거될 수도 있으며 참조 뷰 컴포넌트의 텍스처 컴포넌트가 동일한 참조 뷰 컴포넌트의 심도 컴포넌트보다 이전에, 디코딩된 픽처 버퍼로부터 제거될 수도 있는 사례들이 있을 수도 있다.
동작 시에, 비디오 코딩 디바이스는, 심도 컴포넌트를 디코딩된 픽처 버퍼에 저장하고 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석함으로써, 본 개시물에서 설명된 기술들을 수행할 수도 있다. 다음으로, 비디오 코딩 디바이스는 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여, 디코딩된 픽처 버퍼로부터 심도 컴포넌트를 제거할 수도 있다. 즉, 비디오 코딩 디바이스는 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여, 동일한 참조 뷰 컴포넌트의 텍스처 컴포넌트를 제거하지 않으면서 디코딩된 픽처 버퍼로부터 참조 뷰 컴포넌트의 심도 컴포넌트를 제거할 수도 있다. 비디오 코딩 디바이스는 심도 컴포넌트를 제거하기 이전에, 심도 컴포넌트가 타겟 출력 뷰에 속하지 않고 심도 컴포넌트가 제로와 동일한 값을 갖는 네트워크 추상화 계층 참조 식별 코드와 연관되는 것 (심도 컴포넌트를 캡슐화하는 NAL 유닛의 컨텐츠가 인터-픽처 예측을 위한 참조 픽처들을 구성하기 위해 이용되지 않는 것을 의미함) 으로 결정함으로써 이 심도 컴포넌트를 제거를 위해 적합한 것으로 검증할 수도 있다.
본 개시물에서 설명된 기술들의 추가적인 양태들은 또한, 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 허용하거나 또는 이와 달리 용이하게 할 수도 있다. 예를 들어, 동작 포인트들의 측면에서, 기술들은 비디오 코딩 디바이스가 제 1 신택스 엘리먼트, 제 2 신택스 엘리먼트, 및 제 3 신택스 엘리먼트를 포함하는 SEI 메시지를 발생시키는 것을 가능하게 할 수도 있고, 여기서, 제 1 신택스 엘리먼트는 동작 포인트가 심도 컴포넌트를 포함하는지 여부를 표시한다. 동작 포인트가 심도 컴포넌트를 포함하는 경우 비디오 코딩 디바이스는 제 2 신택스 엘리먼트가 동작 포인트의 타겟 출력 뷰가 직접 종속되고 있는 심도 컴포넌트들의 수를 표시하도록 정의할 수도 있고, 제 3 신택스 엘리먼트가 동작 포인트의 타겟 출력 뷰가 직접 종속되고 있는 심도 컴포넌트들을 식별하도록 정의할 수도 있다.
일부 사례들에서, 동작 포인트들은 동작 포인트들의 제 1 서브세트 및 동작 포인트들의 제 2 서브세트를 포함할 수도 있고, 여기서, 제 1 서브세트 내의 각각의 동작 포인트는 텍스처 컴포넌트만을 포함하고, 제 2 서브세트 내의 각각의 동작 포인트는 심도 컴포넌트를 포함한다. 다음으로, 비디오 코딩 디바이스는 프로파일 식별자가 3D 비디오 코딩과 연관되는 소정의 값과 동일한 것으로 결정할 수도 있고, 프로파일 식별자가 소정의 값과 동일한 것으로 결정하는 것에 응답하여, 서브세트 SPS 가 제 1 SPS 익스텐션 및 제 2 SPS 익스텐션을 포함하도록 서브세트 SPS 를 발생시킬 수도 있다. 제 1 SPS 익스텐션은 제 1 서브세트와, 제 1 서브세트 내의 동작 포인트들이 속하는 레벨들을 표시할 수도 있다. 제 2 SPS 익스텐션은 제 2 서브세트와, 제 2 서브세트 내의 동작 포인트들이 속하는 레벨들을 표시할 수도 있다. 이렇게 하여, 기술들은 동작 포인트들이 텍스처 및 심도 컴포넌트들에 대해 별개로 그리고 레벨에 의해 정의되는 것을 허용할 수도 있다.
기술들의 이 양태는 멀티뷰 비디오 코딩을 위해 동작 포인트들이 비트스트림으로부터 더욱 용이하게 추출되는 것을 허용하기 위해, 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 레버리지로 활용할 수도 있다. 동작 포인트가 심도를 포함하는지 여부를 시그널링함으로써, 비디오 디코더 (30) 와 같은 비디오 디코더는 어느 동작 포인트가 비디오 디코더 (30) 의 능력들을 최적으로 수용하는지를 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 심도를 포함하지 않는 뷰들을 이용하여 멀티뷰 비디오 코딩을 수행하도록 최적화될 수도 있어서, 좌안 및 우안 관점들 양자 모두가 별도의 픽처들로서 제공되는 멀티뷰 비디오 데이터를 선호할 수도 있다. 대안으로, 비디오 디코더 (30) 는 심도-기반 멀티뷰 비디오 데이터에 대해 최적화될 수도 있지만, 2 개 이상의 뷰들보다는 단일 뷰를 수용하기만 할 수도 있다. 인코딩된 멀티뷰 비디오 데이터가 언제 심도를 포함하는지와, 심도를 포함하는 경우 동작 포인트의 타겟 출력 뷰들이 직접 종속되는 심도 컴포넌트들의 수를 시그널링함으로써, 비디오 디코더 (30) 는 비디오 디코더 (30) 의 기능들 또는 최적화들을 수용하는 동작 포인트를 선택할 수도 있다.
추가적으로, 비디오 코딩 디바이스는 동작 포인트들이 속하는 레벨들을 시그널링하기 위해 본 개시물에서 설명된 기술들의 양태들을 수행할 수도 있고, 여기서, 동작 포인트들의 적어도 일부는 심도 컴포넌트들을 포함할 수도 있다. 다음으로, 비디오 코딩 디바이스는 프로파일 식별자가 3D 비디오 코딩과 연관되는 소정의 값과 동일한 것으로 결정할 수도 있고, 프로파일 식별자가 소정의 값과 동일한 것으로 결정하는 것에 응답하여, 서브세트 SPS 가 동작 포인트들 및 동작 포인트들이 속하는 레벨들을 시그널링하는 MVC SPS 익스텐션을 포함하도록, 서브세트 SPS 를 발생시킬 수도 있다. 이 예에서, 동작 포인트들의 각각은 하나 이상의 출력 뷰들을 지정할 수도 있고, 여기서, 출력 뷰들의 각각은 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두를 포함한다.
또 다른 사례들에서, 비디오 코딩 디바이스는 MVC 프로세스에서 동작 포인트에 대해 디코딩될 뷰들의 수를 표시하는 신택스 엘리먼트를 SPS 에서 발생하기 위해 본 개시물에서 설명된 기술들을 수행할 수도 있고, 여기서, 뷰들의 각각은 다수의 텍스처 컴포넌트들 중 하나와, 다수의 심도 컴포넌트들 중 하나를 가진다. 다음으로, 비디오 코딩 디바이스는 동작 포인트에 대해 디코딩될 텍스처 컴포넌트들의 수와, 동작 포인트에 대해 디코딩될 심도 컴포넌트들의 수를 SPS 에서 시그널링할 수도 있다. 다시, 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 용이하게 하는 것에 의하여, 기술들은 동작 포인트들을 형성하기 위해 이 심도 및 텍스처 컴포넌트들이 어떻게 사용되는지에 대한 시그널링을 제공할 수도 있다.
도 2 는 멀티뷰 비디오 데이터를 코딩하기 위해 본 개시물에서 설명된 기술들을 구현할 수도 있는 일 예의 비디오 인코더 (20) 를 예시하는 블록도이다. 비디오 인코더 (20) 는 인코딩될 비디오 데이터를 수신한다. 도 2 의 예에서, 비디오 인코더 (20) 는 모드 선택 유닛 (40), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 엔트로피 인코딩 유닛 (56), 및 참조 픽처 메모리 (64) 를 포함한다. 모드 선택 유닛 (40) 은 또한 모션/디스패리티 (motion/disparity) 추정 유닛 (42), 모션 보상 유닛 (44), 인트라 예측 유닛 (46), 및 파티션 (partition) 유닛 (48) 을 포함한다.
비디오 블록 재구성을 위해, 비디오 인코더 (20) 는 역양자화 유닛 (58), 역변환 프로세싱 유닛 (60), 및 합산기 (62) 를 또한 포함한다. 디블록킹 필터 (deblocking filter; 도 2 에 도시되지 않음) 는 블록 경계들을 필터링하여 재구성된 비디오로부터 블록화 아티팩트 (blockiness artifact) 들을 제거하기 위해 또한 포함될 수도 있다. 희망하는 경우, 디블록킹 필터는 통상적으로 합산기 (62) 의 출력을 필터링할 것이다. (루프 내의 또는 루프 이후의) 추가적인 루프 필터들은 디블록킹 필터에 추가하여 또한 이용될 수도 있다. 이러한 필터들은 간결함을 위해 도시되어 있지 않지만, 희망하는 경우, (인-루프 (in-loop) 필터로서) 합산기 (50) 의 출력을 필터링할 수도 있다.
모드 선택 유닛 (40) 은 하나 이상의 뷰들로부터 블록들의 형태로 원시 비디오 데이터 (raw video data) 를 수신할 수도 있다. 모드 선택 유닛 (40) 은 예를 들어, 에러 결과들에 기초하여 코딩 모드들, 인트라 또는 인터 중 하나를 선택할 수도 있고, 결과적인 인트라-코딩된 또는 인터-코딩된 블록을, 잔여 블록 데이터를 발생시키기 위해 합산기 (50) 에, 그리고 참조 픽처로서의 이용을 위한 인코딩된 블록을 재구성하기 위해 합산기 (62) 에 제공한다. 모드 선택 유닛 (40) 은 모션 벡터들, 인트라-모드 표시자들, 파티션 정보, 및 다른 이러한 신택스 정보와 같은 신택스 엘리먼트들을 엔트로피 인코딩 유닛 (56) 에 또한 제공한다.
모션/디스패리티 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념적인 목적들을 위해 별개로 예시된다. 모션/디스패리티 추정 유닛 (42) 에 의해 수행되는 모션 추정은 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 발생시키는 프로세스이다. 모션 벡터는 예를 들어, 현재의 픽처 내에서 코딩되고 있는 현재의 블록 (또는 다른 코딩된 유닛) 에 관해 참조 픽처 내의 예측 블록 (또는 다른 코딩된 유닛) 에 관한 현재의 픽처 내의 비디오 블록의 PU 의 변위를 표시할 수도 있다.
예측 블록은, 절대차의 합 (sum of absolute difference; SAD), 제곱차의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있는 블록으로서, 픽셀 차이의 측면에서, 코딩될 블록과 밀접하게 정합하는 것으로 판명되는 블록이다. 일부 예들에서, 비디오 인코더 (20) 는 참조 픽처 버퍼라고 또한 지칭될 수도 있는 참조 픽처 메모리 (64) 에 저장된 참조 픽처들의 정수-미만 (sub-integer) 픽셀 위치들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 참조 픽처의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 다른 분수 픽셀 위치들의 값들을 보간할 수도 있다. 그러므로, 모션/디스패리티 추정 유닛 (42) 은 전체 픽셀 위치들 및 분수 픽셀 위치들에 관해 모션 검색을 수행할 수도 있고, 분수 픽셀 정밀도 (fractional pixel precision) 를 갖는 모션 벡터를 출력할 수도 있다.
모션/디스패리티 추정 유닛 (42) 은 PU 의 위치를 참조 픽처의 예측 블록의 위치와 비교함으로써 인터-코딩된 슬라이스 내의 비디오 블록의 PU 에 대한 모션 벡터들을 계산한다. 모션 추정/디스패리티 유닛 (42) 은 인터-뷰 예측을 수행하도록 또한 구성될 수도 있고, 이 경우에, 모션 추정/디스패리티 유닛 (42) 은 하나의 뷰 픽처 (예를 들어, 뷰 0) 의 블록들과, 참조 뷰 픽처 (예를 들어, 뷰 1) 의 대응하는 블록들 사이의 변위 벡터들을 계산할 수도 있다. 일반적으로, 모션/디스패리티 벡터에 대한 데이터는 참조 픽처 리스트, 참조 픽처 리스트로의 인덱스 (ref_idx), 수평 컴포넌트, 및 수직 컴포넌트를 포함할 수도 있다. 참조 픽처는 제 1 참조 픽처 리스트 (List 0), 제 2 참조 픽처 리스트 (List 1), 또는 조합된 참조 픽처 리스트 (List C) 로부터 선택될 수도 있고, 이 리스트들의 각각은 참조 픽처 메모리 (64) 에 저장된 하나 이상의 참조 픽처들을 식별한다. 조합된 리스트에 대하여, 비디오 인코더 (20) 는 조합된 리스트로 삽입될 (첨부될) 2 개의 리스트들 (즉, List 0 및 List 1) 로부터 엔트리들을 교대로 선택한다. 엔트리가 이미 조합된 리스트로 넣어질 때, POC 번호를 체크함으로써, 비디오 인코더 (20) 는 엔트리를 다시 삽입하지 않을 수도 있다. 각각의 리스트 (즉, List 0 또는 List 1) 에 대하여, 비디오 인코더 (20) 는 참조 인덱스의 상승 순서에 기초하여 엔트리들을 선택할 수도 있다.
모션/디스패리티 추정 유닛 (42) 은 참조 픽처의 예측 블록을 식별하는 모션/디스패리티 벡터를 발생시켜 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송할 수도 있다. 즉, 모션/디스패리티 추정 유닛 (42) 은, 예측 블록을 포함하는 참조 픽처 리스트, 예측 블록의 픽처를 식별하는 참조 픽처 리스트로의 인덱스, 및 식별된 픽처 내에서 예측 블록을 위치시키기 위한 수평 및 수직 컴포넌트들을 식별하는 모션 벡터 데이터를 발생시키고 이를 전송할 수도 있다.
모션 보상 유닛 (44) 에 의해 수행되는 모션 보상은 모션/디스패리티 추정 유닛 (42) 에 의해 결정된 모션/디스패리티 벡터에 기초하여 예측 블록을 페치 (fetch) 또는 발생시키는 것을 포함할 수도 있다. 다시, 모션/디스패리티 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 일부 예들에서 기능적으로 통합될 수도 있다. 현재의 비디오 블록의 PU 에 대한 모션 벡터를 수신할 시에는, 모션 보상 유닛 (44) 은 모션 벡터가 참조 픽처 리스트들 중 하나에서 가리키는 예측 블록을 위치시킬 수도 있다.
합산기 (50) 는 위에서 논의된 바와 같이, 코딩되고 있는 현재의 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산하여 픽셀 차이 값들을 형성함으로써 잔여 비디오 블록을 형성한다. 일반적으로, 모션/디스패리티 추정 유닛 (42) 은 루마 컴포넌트들에 관해 모션 추정을 수행하고, 모션 보상 유닛 (44) 은 크로마 컴포넌트들 및 루마 컴포넌트들 양자 모두에 대한 루마 컴포넌트들에 기초하여 계산된 모션 벡터들을 이용한다. 모드 선택 유닛 (40) 은 비디오 슬라이스의 비디오 블록들을 디코딩할 시에 비디오 디코더 (30) 에 의한 이용을 위한 비디오 슬라이스 및 비디오 블록들과 연관된 신택스 엘리먼트들을 또한 발생시킬 수도 있다.
인트라 예측 유닛 (46) 은 위에서 설명된 바와 같이, 모션/디스패리티 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행되는 인터-예측에 대한 대안으로서, 현재의 블록을 인트라-예측할 수도 있다. 특히, 인트라 예측 유닛 (46) 은 현재의 블록을 인코딩하기 위해 이용하기 위한 인트라-예측 모드를 결정할 수도 있다. 일부 예들에서, 인트라 예측 유닛 (46) 은 예를 들어, 별도의 인코딩 패스들 동안에 다양한 인트라-예측 모드들을 이용하여 현재의 블록을 인코딩할 수도 있고, 인트라 예측 유닛 (46) (또는 일부 예들에서, 모드 선택 유닛 (40)) 은 테스팅된 모드들로부터 이용하기 위한 적합한 인트라-예측 모드를 선택할 수도 있다.
예를 들어, 인트라 예측 유닛 (46) 은 다양한 테스팅된 인트라-예측 모드들에 대한 레이트-왜곡 (rate-distortion) 분석을 이용하여 레이트-왜곡 값들을 계산할 수도 있고, 테스팅된 모드들 중에서 최적의 레이트-왜곡 특징들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 일반적으로, 인코딩된 블록을 생성하기 위해 이용되는 비트레이트 (즉, 비트들의 수) 뿐만 아니라, 인코딩된 블록과, 인코딩된 블록을 생성하기 위해 인코딩되었던 원래의 인코딩되지 않은 블록 사이의 왜곡 (또는 에러) 의 양을 결정한다. 인트라 예측 유닛 (46) 은 어느 인트라-예측 모드가 블록에 대한 최적의 레이트-왜곡 값을 나타내는지를 결정하기 위해, 다양한 인코딩된 블록들에 대한 레이트들 및 왜곡들로부터 비율들을 계산할 수도 있다.
블록에 대한 인트라-예측 모드를 선택한 후, 인트라 예측 유닛 (46) 은 블록에 대한 선택된 인트라-예측 모드를 표시하는 정보를 엔트로피 인코딩 유닛 (56) 에 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은 선택된 인트라-예측 모드를 표시하는 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 는, 복수의 인트라-예측 모드 인덱스 표들 및 복수의 수정된 인트라-예측 모드 인덱스 표들 (또한 코드워드 맵핑 표들이라고 지칭됨) 을 포함할 수도 있는 송신된 비트스트림 구성 데이터에서, 다양한 블록들에 대한 인코딩 컨텍스트들의 정의들과, 가장 가능성 있는 인트라-예측 모드, 인트라-예측 모드 인덱스 표, 및 컨텍스트들의 각각에 대해 이용하기 위한 수정된 인트라-예측 모드 인덱스 표의 표시들을 포함할 수도 있다.
비디오 인코더 (20) 는 코딩되고 있는 원래의 비디오 블록으로부터 모드 선택 유닛 (40) 으로부터의 예측 데이터를 감산함으로써 잔여 비디오 블록을 형성한다. 합산기 (50) 는 이 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 프로세싱 유닛 (52) 은 이산 코사인 변환 (discrete cosine transform; DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔여 블록에 적용하여, 잔여 변환 계수 값들을 포함하는 비디오 블록을 생성한다. 변환 프로세싱 유닛 (52) 은 DCT 와 개념적으로 유사한 다른 변환들을 수행할 수도 있다. 웨이블릿 (wavelet) 변환들, 정수 변환들, 서브-대역 (sub-band) 변환들 또는 다른 유형들의 변환들이 또한 이용될 수도 있다. 어떤 경우에나, 변환 프로세싱 유닛 (52) 은 그 변환을 잔여 블록에 적용하여, 잔여 변환 계수들의 블록을 생성한다. 변환은 잔여 정보를 픽셀 값 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환할 수도 있다.
변환 프로세싱 유닛 (52) 은 결과적인 변환 계수들을 양자화 유닛 (54) 으로 전송할 수도 있다. 양자화 유닛 (54) 은 비트 레이트를 더욱 감소시키기 위해 변환 계수들을 양자화한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 심도를 감소시킬 수도 있다. 양자화 정도는 양자화 파라미터를 조절함으로써 수정될 수도 있다. 일부 예들에서는, 다음으로, 양자화 유닛 (54) 이 양자화된 변환 계수들을 포함하는 행렬의 스캔을 수행할 수도 있다. 대안으로, 엔트로피 인코딩 유닛 (56) 은 스캔을 수행할 수도 있다.
양자화에 후속하여, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 컨텍스트 적응 가변 길이 코딩 (context adaptive variable length coding; CAVLC), 컨텍스트 적응 이진 산술 코딩 (context adaptive binary arithmetic coding; CABAC), 신택스-기반 컨텍스트-적응 이진 산술 코딩 (syntax-based context-adaptive binary arithmetic coding; SBAC), 확률 간격 파티셔닝 엔트로피 (probability interval partitioning entropy; PIPE) 코딩 또는 또 다른 엔트로피 코딩 기술을 수행할 수도 있다. 컨텍스트-기반 엔트로피 코딩의 경우에는, 컨텍스트가 이웃하는 블록들에 기초할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 코딩에 후속하여, 인코딩된 비트스트림은 또 다른 디바이스 (예를 들어, 비디오 디코더 (30)) 로 송신될 수도 있거나, 이후의 송신 또는 취출을 위해 아카이브될 수도 있다.
역양자화 유닛 (58) 및 역변환 프로세싱 유닛 (60) 은 예를 들어, 참조 블록으로서의 이후의 이용을 위해 픽셀 도메인에서 잔여 블록을 재구성하기 위해 역양자화 및 역변환을 각각 적용한다. 모션 보상 유닛 (44) 은 잔여 블록을 참조 픽처 메모리 (64) 의 픽처들 중 하나의 픽처의 예측 블록에 추가함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 모션 추정 시에 이용하기 위한 정수-미만 픽셀 값들을 계산하기 위해 하나 이상의 보간 필터들을 재구성된 잔여 블록에 또한 적용할 수도 있다. 합산기 (62) 는 참조 픽처 메모리 (64) 에 저장하기 위한 재구성된 비디오 블록을 생성하기 위해, 재구성된 잔여 블록을 모션 보상 유닛 (44) 에 의해 생성되는 모션 보상된 예측 블록에 추가한다. 재구성된 비디오 블록은 후속 픽처에서 블록을 인터-코딩하기 위한 참조 블록으로서, 모션/디스패리티 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 이용될 수도 있다.
비디오 인코더 (20) 는 위에서 설명된 바와 같이, 엔트로피 인코딩 유닛 (56) 또는 비디오 인코더 (20) 의 또 다른 인코딩 유닛에 의해 인코딩될 수도 있는 다수의 신택스 엘리먼트들을 발생시킬 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 위에서 설명된 바와 같이, 3DVC 비트스트림에 대한 신택스 엘리먼트들을 발생시키고 인코딩할 수도 있고, 여기서, 다시 이 3DVC 비트스트림은 MVC 와 역호환 가능할 수도 있다. 즉, MVC 를 지원하지만 3DVC 를 지원하지 않는 비디오 디코더는 본 개시물에서 설명된 기술들에 따라 인코딩된 3DVC 비트스트림을 여전히 디코딩할 수도 있다.
비디오 인코더 (20) 는 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화할 수도 있다. 다시 말해서, 비디오 인코더 (20) 는 이 텍스처 파라미터 세트가 동일한 뷰 컴포넌트의 대응하는 심도 컴포넌트에 적용되지 않도록, 뷰 컴포넌트의 텍스처 컴포넌트에 대해서만, PPS 또는 SPS 와 같은 파라미터 세트를 활성화할 수도 있다. 이와 관련하여, 비디오 인코더 (20) 는 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 심도 컴포넌트가 아니라, 뷰 컴포넌트의 텍스처 컴포넌트만을 인코딩할 수도 있다.
특히, 비디오 인코더 (20) 의 모드 선택 유닛 (40) 은 모드, 예를 들어, 인트라-뷰 예측 (픽처들이 모두 동일한 뷰에 대응하는 시간적 또는 인터-픽처 예측을 포함할 수도 있음), 인터-뷰 예측 또는 인트라-예측을 선택함으로써 파라미터 세트를 활성화할 수도 있다. 모드 선택 유닛 (40) 은 픽처를 코딩하는 반복 (iteration) 들의 각각을 분석할 수도 있고, 여기서, 각각의 반복은 상이한 파라미터들을 포함할 수도 있다. 픽처를 코딩하는 다양한 반복을 선택하는 경우 모드 선택 유닛 (40) 은 픽처들, 뷰, 뷰 컴포넌트, 심도 컴포넌트 및/또는 텍스처 컴포넌트의 지정한 시퀀스에 대한 파라미터 세트를 효과적으로 활성화할 수도 있다. 또한, 모드 선택 유닛 (40) 은 아래에서 더욱 상세하게 설명되는 방식으로 동일한 뷰 컴포넌트에 각각 속하는 텍스처 및 심도 컴포넌트들에 대한 상이한 파라미터 세트들을 이러한 방식으로 활성화할 수도 있다.
추가적으로, 모드 선택 유닛 (40) 은 3DVC 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 뷰 컴포넌트의 심도 컴포넌트에 대한 파라미터 세트를 활성화할 수도 있다. 즉, 일부 사례들에서, 모드 선택 유닛 (40) 은 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처-지정 파라미터 세트를 활성화할 수도 있고, 다음으로, 특히, 동일한 뷰 컴포넌트의 심도 컴포넌트에 대한 또 다른 파라미터 세트를 활성화할 수도 있다. 그 결과, 모드 선택 유닛 (40) 은 활성화된 텍스처 파라미터 세트가 아니라, 뷰 컴포넌트의 심도 컴포넌트에 대해 활성화된 파라미터 세트에 기초하여, 뷰 컴포넌트의 심도 컴포넌트를 인코딩할 수도 있다. 모드 선택 유닛 (40) 은 활성화된 텍스처 파라미터 세트에 기초하여 텍스처 컴포넌트를 인코딩할 수도 있다. 이렇게 하여, 기술들은 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들에 대한, PPS 또는 SPS 와 같은 파라미터 세트들의 별도의 활성화를 촉진할 수도 있어서, 3DVC 에서 심도 및 텍스처 컴포넌트들의 별도의 핸들링 또는 프로세싱을 용이하게 하기 위한 방법을 제공할 수도 있다.
비디오 인코더 (20) 는 또한, 도 2 의 예에서 참조 픽처 메모리 (64) 로서 도시되어 있는 디코딩된 픽처 버퍼로부터 텍스처 및 심도 컴포넌트들을 별개로 제거할 수도 있다. 본 개시물에서 기술된 기술들은 텍스처 및 심도 컴포넌트들의 별도의 핸들링을 가능하게 하므로, 비디오 인코더 (20) 는, 뷰 컴포넌트 (및, 이에 따라, 그 뷰 컴포넌트의 심도 및 텍스처 컴포넌트들) 가 동일한 참조 픽처들을 이용하여 코딩되었던 기존의 3DVC 와 반대로, 동일한 뷰 컴포넌트의 심도 컴포넌트를 코딩하는 경우 이용되는 것들과는 상이한 참조 픽처들을 이용하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩할 수도 있다. 그 결과, 참조 뷰 컴포넌트의 심도 컴포넌트들이 동일한 참조 뷰 컴포넌트의 텍스처 컴포넌트들보다 이전에, 디코딩된 픽처 버퍼로부터 제거될 수도 있으며, 참조 뷰 컴포넌트의 텍스처 컴포넌트가 동일한 참조 뷰 컴포넌트의 심도 컴포넌트보다 이전에, 디코딩된 픽처 버퍼로부터 제거될 수도 있는 사례들이 있을 수도 있다.
동작 시에, 비디오 인코더 (20) 의 모드 선택 유닛 (40) 은 본 개시물에서 설명된 기술들을 수행하도록 구성될 수도 있다. 모드 선택 유닛 (40) 은 심도 컴포넌트를 참조 픽처 메모리 (64) 에 저장할 수도 있고, 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석할 수도 있다. 다음으로, 모드 선택 유닛 (40) 은 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여, 참조 픽처 메모리 (64) 로부터 심도 컴포넌트를 제거할 수도 있다. 즉, 모드 선택 유닛 (40) 은 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여, 동일한 참조 뷰 컴포넌트의 텍스처 컴포넌트를 제거하지 않으면서 참조 픽처 메모리 (64) 로부터 참조 뷰 컴포넌트의 심도 컴포넌트를 제거할 수도 있다. 모드 선택 유닛 (40) 은 심도 컴포넌트를 제거하기 이전에, 심도 컴포넌트가 타겟 출력 뷰에 속하지 않고 심도 컴포넌트가 제로와 동일한 값을 갖는 네트워크 추상화 계층 참조 식별 코드와 연관되는 것 (심도 컴포넌트를 캡슐화하는 NAL 유닛의 컨텐츠가 인터-픽처 예측을 위한 참조 픽처들을 구성하기 위해 이용되지 않는 것을 의미함) 으로 결정함으로써 이 심도 컴포넌트를 제거를 위해 적합한 것으로 검증할 수도 있다.
도 3 은 멀티뷰 비트스트림을 디코딩하기 위해 본 개시물에서 설명된 기술들을 구현할 수도 있는 일 예의 비디오 디코더 (30) 를 예시하는 블록도이다. 도 3 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (80), 모션 보상 유닛 (82) 및 인트라 예측 유닛 (84) 을 갖는 예측 유닛 (81), 역양자화 유닛 (86), 역변환 유닛 (88), 합산기 (90), 및 참조 픽처 메모리 (92) 를 포함한다.
디코딩 프로세스 동안, 비디오 디코더 (30) 는 인코딩된 비디오 슬라이스의 비디오 블록들 및 연관된 신택스 엘리먼트들을 나타내는 인코딩된 비디오 비트스트림을 비디오 인코더 (20) 로부터 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (80) 은 양자화된 계수들, 모션 벡터들, 및 다른 신택스 엘리먼트들을 발생시키기 위해 비트스트림을 엔트로피 디코딩한다. 엔트로피 디코딩 유닛 (80) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 예측 유닛 (81) 으로 포워딩한다. 비디오 디코더 (30) 는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 신택스 엘리먼트들을 수신할 수도 있다.
예를 들어, 비디오 디코더 (30) 는 NAL 유닛에 저장된 데이터의 유형 (예를 들어, VCL 데이터 및 비-VCL 데이터) 을 식별하는 NAL 유닛 헤더를 갖는 다수의 NAL 유닛들을 수신할 수도 있다. 파라미터 세트들은 SPS, PPS 와 같은 시퀀스-레벨 헤더 정보, 또는 위에서 설명된 다른 파라미터 세트를 포함할 수도 있다.
본 개시물의 양태들에 따르면, 비디오 디코더 (30) 는 3DVC 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화할 수도 있다. 더욱 구체적으로, 엔트로피 디코딩 유닛 (80) 은 비트스트림으로부터 파라미터 세트들을 파싱할 수도 있고, 파라미터 세트들을 디코딩할 수도 있고, 디코딩된 파라미터 세트들을 예측 유닛 (81), 역양자화 유닛 (86) 및 역변환 프로세싱 유닛 (88) 과 같은 비디오 디코더 (30) 의 다른 컴포넌트들에 제공할 수도 있다. 이 컴포넌트들의 각각은 현재 활성인 파라미터 세트들을 참조할 수도 있고, 이러한 의미에서, 비디오 디코더 (30) 는 비디오 디코더 (30) 의 각각의 컴포넌트에 대한 파라미터 세트를 활성화한다.
아무튼, 뷰 순서 인덱스는 위에서 언급된 바와 같이, 액세스 유닛의 대응하는 뷰 컴포넌트의 디코딩 순서를 설명할 수도 있다. 뷰 순서 인덱스는 비트스트림의 뷰 컴포넌트를 식별하기 위해 픽처 순서 카운트 (POC) 값 또는 프레임 값과 함께 이용될 수 있다. 그러므로, 기술들의 이 양태는, 뷰 컴포넌트의 텍스처 컴포넌트에 대해서만 활성화되며 동일한 뷰 컴포넌트의 대응하는 심도 컴포넌트에 적용되지 않는, PPS 또는 SPS 와 같은 파라미터 세트를 제공할 수도 있다. 이와 관련하여, 비디오 디코더 (30) 는 활성화된 텍스처 파라미터 세트에 기초하여, 뷰 컴포넌트의 심도 컴포넌트가 아니라, 뷰 컴포넌트의 텍스처 컴포넌트만을 디코딩할 수도 있다.
추가적으로, 비디오 디코더 (30) 는 3DV 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 뷰 컴포넌트의 심도 컴포넌트에 대한 파라미터 세트를 활성화할 수도 있다. 즉, 일부 사례들에서, 비디오 코딩 디바이스는 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처-지정 파라미터 세트를 활성화할 수도 있고, 다음으로, 특히, 동일한 뷰 컴포넌트의 심도 컴포넌트에 대한 또 다른 파라미터 세트를 활성화할 수도 있다. 그 결과, 비디오 디코더 (30) 는, 활성화된 텍스처 파라미터 세트가 아니라, 뷰 컴포넌트의 심도 컴포넌트에 대해 활성화된 파라미터 세트에 기초하여 뷰 컴포넌트의 심도 컴포넌트를 코딩할 수도 있다. 비디오 디코더 (30) 는 활성화된 텍스처 파라미터 세트에 기초하여 텍스처 컴포넌트를 디코딩할 수도 있다. 이렇게 하여, 기술들은 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들에 대한, PPS 또는 SPS 와 같은 파라미터 세트들의 별도의 활성화를 촉진할 수도 있어서, 3DVC 에서 심도 및 텍스처 컴포넌트들의 별도의 핸들링 또는 프로세싱을 용이하게 하기 위한 방법을 제공할 수도 있다.
상세하게는, 기술들의 이 양태는 비디오 코더 (비디오 인코더 및/또는 비디오 디코더 양자 모두 또는 어느 하나를 일반적으로 지칭할 수도 있음) 가 심도 컴포넌트 및 텍스처 컴포넌트의 각각에 대한 별도의 파라미터 세트를 활성화하는 것을 가능하게 할 수도 있다. 시퀀스 및 픽처 파라미터 세트 메커니즘은 코딩된 매크로블록 데이터의 송신으로부터 빈번하지 않게 변화하는 정보의 송신을 효과적으로 분리시킬 수도 있다. 일부 애플리케이션들에서, 시퀀스 및 픽처 파라미터 세트들은 신뢰성 있는 전송 메커니즘을 이용하여 대역외로 전달될 수도 있다. 픽처 파라미터 세트 원시 바이트 시퀀스 페이로드 (또는 픽처 파라미터 세트를 참조하기 위한 또 다른 더욱 공식적인 방법인 "RBSP; raw byte sequence payload") 는 하나 이상의 뷰 컴포넌트들의 하나 이상의 텍스처 또는 심도 컴포넌트들의 코딩된 슬라이스 NAL 유닛에 의해 참조될 수 있는 파라미터들을 포함한다. 시퀀스 파라미터 세트 RBSP 는 하나 이상의 픽처 파라미터 세트 또는 하나 이상의 버퍼링 주기 SEI 메시지들에 의해 참조될 수 있는 파라미터들을 포함한다.
디코딩 프로세스의 동작 동안의 임의의 소정의 순간에, 심도 뷰들을 포함하는 3DVC 비트스트림을 디코딩하는 경우 비디오 디코더 (30) 는 제로 또는 하나의 활성 픽처 파라미터 세트들, 제로 이상의 활성 텍스처 픽처 파라미터 세트들, 및 제로 이상의 활성 뷰 픽처 파라미터 세트들을 활성화할 수도 있다. 각각의 활성 텍스처 픽처 파라미터 세트는 특히, 최대 뷰 순서 인덱스 값 이하인 지정한 뷰 순서 인덱스 값에 대해 활성이고, 각각의 활성 뷰 픽처 파라미터 세트는 특히, 최대 뷰 순서 인덱스 값보다 작은 지정한 뷰 순서 인덱스 값에 대해 활성이다.
유사하게, 디코딩 프로세스의 동작 동안의 소정의 순간에, 비디오 디코더 (30) 는 제로 또는 하나의 활성 MVC 시퀀스 파라미터 세트들, 제로 이상의 활성 텍스처 MVC 시퀀스 파라미터 세트들, 및 제로 이상의 활성 뷰 MVC 시퀀스 파라미터 세트들을 활성화할 수도 있다. 각각의 활성 텍스처 MVC 시퀀스 파라미터 세트는 특히, 최대 뷰 순서 인덱스 값 이하인 지정한 뷰 순서 인덱스 값에 대해 활성이고, 각각의 활성 뷰 MVC 시퀀스 파라미터 세트는 특히, 최대 뷰 순서 인덱스 값보다 작은 지정한 뷰 순서 인덱스 값에 대해 활성이다.
이러한 의미에서, 3DVC 를 위한 파라미터 세트의 활성화는, (MVC 에서 현재 지원되지 않는 심도 뷰 컴포넌트들을 어떻게 핸들링할 것인지에 대한 사례들을 포함하는) 본원에서 언급된 그러한 차이들을 제외하고는, MVC 에서의 파라미터 세트들의 활성화와 유사하다. 또한, MVC 는, 3DVC 와 같은 MVC 를 이용하여 익스텐션들로 보내진 추가적인 신택스 엘리먼트들이 3DVC-지정 신택스 엘리먼트들을 지정하기 위해 사용할 수도 있는 각각의 파라미터 세트에서 다수의 예약된 비트들을 제공한다. 이 예약된 비트들을 제공함으로써, 이 예약 비트들이 H.264/AVC 에 대한 MVC 익스텐션과 관련되지 않거나 이 MVC 익스텐션에서 지정되지 않은 신택스 엘리먼트들을 지정하기 위해 사용될 수도 있더라도, 파라미터 세트들은 MVC 와 역호환 가능성을 유지한다. 이러한 이유로, MVC 파라미터 세트가 MVC 에 관련되지 않은 추가적인 신택스 엘리먼트들을 포함할 수도 있더라도, 예약된 비트들이 MVC 파라미터 세트들 내에 존재하면, 이 파라미터 세트들은 MVC 파라미터 세트들이라고 지칭된다.
픽처 및 시퀀스 파라미터 세트들에 대한 상세한 활성화 프로세스는 다음과 같다. 비디오 디코더 (30) 는 디코딩 프로세스의 동작의 시작 시에 각각의 픽처 파라미터 세트 RBSP 를 활성이 아닌 것으로 초기에 고려한다. 기껏해야, 비디오 디코더 (30) 는 디코딩 프로세스의 동작 동안의 임의의 소정의 순간에 하나의 픽처 파라미터 세트 RBSP 를 활성 픽처 파라미터 세트 RBSP 로서 활성화한다. 임의의 지정한 픽처 파라미터 세트 RBSP 가 활성 픽처 파라미터 세트 RBSP 가 될 때, 비디오 디코더 (30) 는 (만약 있다면) 이전-활성 픽처 파라미터 세트 RBSP 를 효과적으로 비활성화 (de-activate) 한다.
활성 픽처 파라미터 세트 RBSP 에 추가하여, 비디오 디코더 (30) 는 특히, 타겟 출력 뷰들에 속하거나, 타겟 출력 뷰들에 속하는 텍스처 컴포넌트들을 디코딩함에 있어서 인터-뷰 예측을 통해 참조될 수도 있는 텍스처 컴포넌트들 (최대 뷰 순서 인덱스 값 ("VOIdxMax") 이하의 지정한 뷰 순서 인덱스 값 ("VOIdx") 을 가짐) 에 대하여 제로 이상의 픽처 파라미터 세트 RBSP 들을 활성화할 수도 있다. 이러한 픽처 파라미터 세트 RBSP 는 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 라고 지칭된다. 활성 픽처 파라미터 세트 RBSP 들에 대한 한정들은 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 들에 또한 적용된다.
게다가, 비디오 디코더 (30) 는 특히, 타겟 출력 뷰들에 속하거나, 타겟 출력 뷰들에 속하는 심도 컴포넌트들을 디코딩함에 있어서 인터-뷰 예측을 통해 참조될 수도 있는 뷰 컴포넌트들 (VOIdxMax 보다 작은 VOIdx 의 지정한 값을 가짐) 에 대하여 제로 이상의 픽처 파라미터 세트 RBSP 들을 활성화할 수도 있다. 이러한 픽처 파라미터 세트 RBSP 는 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 라고 지칭된다. 활성 픽처 파라미터 세트 RBSP 들에 대한 한정들은 VOIdxMax 보다 작은 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 들에 또한 적용된다.
픽처 파라미터 세트 RBSP (pic_parameter_set_id 의 지정한 값을 가짐) 가 활성 픽처 파라미터 세트 RBSP 가 아니고, 픽처 파라미터 세트 RBSP 가 심도 컴포넌트에 속하며 (pic_parameter_set_id 의 그 값을 이용하는) VOIdxMax 와 동일한 VOIdx 를 갖는 코딩된 슬라이스 NAL 유닛에 의해 참조될 때, 비디오 디코더 (30) 는 픽처 파라미터 세트 RBSP 를 활성화할 수도 있다. 심도 컴포넌트에 속하는 코딩된 슬라이스 NAL 유닛은 21 과 동일한 nal_unit_type 을 가질 수도 있다. 이 픽처 파라미터 세트 RBSP 는, 또 다른 픽처 파라미터 세트 RBSP 가 활성 픽처 파라미터 세트 RBSP 가 될 때에 픽처 파라미터 세트 RBSP 가 비활성화될 때까지 활성 픽처 파라미터 세트 RBSP 라고 불린다. pic_parameter_set_id 의 그 지정한 값을 갖는 픽처 파라미터 세트 RBSP 는 픽처 파라미터 세트 RBSP 의 활성화 이전에 디코딩 프로세스에 의해 이용가능할 것이다.
픽처 파라미터 세트 RBSP (pic_parameter_set_id 의 지정한 값을 가짐) 가 VOIdxMax 보다 작은 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트가 아니고, 픽처 파라미터 세트 RBSP 가 (즉, 21 과 동일한 nal_unit_type 을 갖는) 심도 컴포넌트에 속하며 (pic_parameter_set_id 의 그 값을 이용하는) VOIdx 의 지정한 값을 갖는 코딩된 슬라이스 NAL 유닛에 의해 참조될 때, 비디오 디코더 (30) 는 VOIdx 의 지정한 값을 갖는 뷰 컴포넌트들에 대한 픽처 파라미터 세트 RBSP 를 활성화한다. 이 픽처 파라미터 세트 RBSP 는, 또 다른 픽처 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 가 될 때에 픽처 파라미터 세트 RBSP 가 비활성화될 때까지 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 라고 불린다. pic_parameter_set_id 의 그 지정한 값을 갖는 픽처 파라미터 세트 RBSP 는 픽처 파라미터 세트 RBSP 의 활성화 이전에 디코딩 프로세스에 의해 이용가능할 것이다.
픽처 파라미터 세트 RBSP (pic_parameter_set_id 의 지정한 값을 가짐) 가 VOIdxMax 이하인 VOIdx 의 지정한 값에 대한 활성 텍스처 픽처 파라미터 세트가 아니고, 픽처 파라미터 세트 RBSP 가 (즉, 1, 5 또는 20 과 동일한 nal_unit_type 을 갖는) 텍스처 컴포넌트에 속하며 (pic_parameter_set_id 의 그 값을 이용하는) VOIdx 의 지정한 값을 갖는 코딩된 슬라이스 NAL 유닛에 의해 참조될 때, 비디오 디코더 (30) 는 VOIdx 의 지정한 값을 갖는 심도 컴포넌트들에 대한 픽처 파라미터 세트 RBSP 를 활성화한다. 이 픽처 파라미터 세트 RBSP 는, 또 다른 픽처 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 텍스처 픽처 파라미터 세트 RBSP 가 될 때에 픽처 파라미터 세트 RBSP 가 비활성화될 때까지 VOIdx 의 지정한 값에 대한 활성 텍스처 픽처 파라미터 세트 RBSP 라고 불린다. pic_parameter_set_id 의 그 지정한 값을 갖는 픽처 파라미터 세트 RBSP 는 픽처 파라미터 세트 RBSP 의 활성화 이전에 디코딩 프로세스에 의해 이용가능할 것이다.
코딩된 픽처에 대한 활성 픽처 파라미터 세트 RBSP 에 대하여 pic_parameter_set_id 의 값을 포함하는 임의의 픽처 파라미터 세트 NAL 유닛은, 픽처 파라미터 세트 NAL 유닛이 이 코딩된 픽처의 최종 VCL NAL 유닛을 후행하고 또 다른 코딩된 픽처의 최초 VCL NAL 유닛을 선행하지 않으면, 이 코딩된 픽처에 대한 활성 픽처 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다. 코딩된 픽처에 대한 VOIdxMax 보다 작은 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 에 대하여 pic_parameter_set_id 의 값을 포함하는 임의의 픽처 파라미터 세트 NAL 유닛은, 픽처 파라미터 세트 NAL 유닛이 이 코딩된 픽처의 최종 VCL NAL 유닛을 후행하고 또 다른 코딩된 픽처의 최초 VCL NAL 유닛을 선행하지 않으면, 이 코딩된 픽처에 대한 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다. 코딩된 픽처에 대한 VOIdx 의 지정한 값에 대한 활성 텍스처 픽처 파라미터 세트 RBSP 에 대하여 pic_parameter_set_id 의 값을 포함하는 임의의 픽처 파라미터 세트 NAL 유닛은, 픽처 파라미터 세트 NAL 유닛이 이 코딩된 픽처의 최종 VCL NAL 유닛을 후행하고 또 다른 코딩된 픽처의 최초 VCL NAL 유닛을 선행하지 않으면, 이 코딩된 픽처에 대한 VOIdx 의 지정한 값에 대한 활성 텍스처 픽처 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다.
비디오 디코더 (30) 는 초기에, 각각의 MVC 시퀀스 파라미터 세트 RBSP 가 디코딩 프로세스의 동작의 시작 시에 활성이 아닌 것으로 결정한다. 다시, MVC 시퀀스 파라미터 세트들에 대한 참조는, MVC 를 승계하거나 그렇지 않을 경우에 채택하며 (이 파라미터 세트들은 추가적인 3DVC 지정 신택스 엘리먼트들을 추가함으로써 수정될 수도 있지만) 이에 따라, MVC 시퀀스 파라미터 세트들을 통합하는, 3DVC 상황 내에서 MVC 시퀀스 파라미터 세트들을 참조한다. 기껏해야, 비디오 디코더 (30) 는 하나의 MVC 시퀀스 파라미터 세트 RBSP 가 디코딩 프로세스의 동작 동안의 임의의 소정의 순간에 활성 MVC 시퀀스 파라미터 세트 RBSP 인 것으로 결정한다. 임의의 지정한 MVC 시퀀스 파라미터 세트 RBSP 가 활성 MVC 시퀀스 파라미터 세트 RBSP 가 될 때, 비디오 디코더 (30) 는 (만약 있다면) 이전-활성 MVC 시퀀스 파라미터 세트 RBSP 를 비활성화한다.
활성 MVC 시퀀스 파라미터 세트 RBSP 는 시퀀스 파라미터 세트 RBSP 또는 서브세트 시퀀스 파라미터 세트 RBSP의 어느 하나이다. 시퀀스 파라미터 세트 RBSP 들은 MVC 스케일러블 네스팅 SEI 메시지 또는 3DV 스케일러블 네스팅 SEI 메시지에 포함되지 않는 버퍼링 주기 SEI 메시지들, 또는 1 또는 5 와 동일한 nal_unit_type 을 갖는 코딩된 슬라이스 NAL 유닛들에 의해 활성화된다. 서브세트 시퀀스 파라미터 세트들은 3DV 스케일러블 네스팅 SEI 메시지에 포함되는 버퍼링 주기 SEI 메시지들 또는 코딩된 슬라이스 MVC 익스텐션 NAL 유닛들 (21 과 동일한 nal_unit_type) 에 의해 활성화된다. 시퀀스 파라미터 세트 RBSP 및 서브세트 시퀀스 파라미터 세트 RBSP 는 seq_parameter_set_id 의 동일한 값을 가질 수도 있다.
활성 MVC 시퀀스 파라미터 세트 RBSP 에 추가하여, 비디오 디코더 (30) 는 특히, 타겟 출력 뷰들에 속하거나, 타겟 출력 뷰들에 속하는 뷰 컴포넌트들을 디코딩함에 있어서 인터-뷰 예측을 통해 참조될 수도 있는 뷰 컴포넌트들 (VOIdxMax 보다 작은 VOIdx 의 지정한 값을 가짐) 에 대하여 제로 이상의 MVC 시퀀스 파라미터 세트 RBSP 들을 활성화할 수도 있다. 이러한 MVC 시퀀스 파라미터 세트 RBSP 는 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 라고 지칭된다. 활성 MVC 시퀀스 파라미터 세트 RBSP 들에 대한 한정들은 VOIdxMax 보다 작은 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 들에 또한 적용된다.
게다가, 비디오 디코더 (30) 는 특히, 타겟 출력 뷰들에 속하거나, 타겟 출력 뷰들에 속하는 텍스처 컴포넌트들을 디코딩함에 있어서 인터-뷰 예측을 통해 참조될 수도 있는 텍스처 컴포넌트들 (VOIdxMax 이하인 VOIdx 의 지정한 값을 가짐) 에 대하여 제로 이상의 MVC 시퀀스 파라미터 세트 RBSP 들을 활성화할 수도 있다. 이러한 MVC 시퀀스 파라미터 세트 RBSP 는 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 라고 지칭된다. 활성 MVC 시퀀스 파라미터 세트 RBSP 들에 대한 한정들은 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 들에 또한 적용된다.
다음의 설명에 대하여, 버퍼링 주기 SEI 메시지를 활성화하는 것은 다음과 같이 지정된다.
- VOIdxMax 가 VOIdxMin 과 동일하고, 액세스 유닛이 MVC 스케일러블 네스팅 SEI 메시지에 포함되지 않으며 3DVC 스케일러블 네스팅 SEI 메시지에 포함되지 않는 버퍼링 주기 SEI 메시지를 포함할 경우, 이 버퍼링 주기 SEI 메시지는 활성화 버퍼링 주기 SEI 메시지이다.
- 그렇지 않을 경우, VOIdxMax 가 VOIdxMin 과 동일하지 않고, 액세스 유닛이 3DVC 스케일러블 네스팅 SEI 메시지에 포함되며 디코딩되고 있는 동작 포인트와 연관되는 버퍼링 주기 SEI 메시지를 포함할 경우, 이 버퍼링 주기 SEI 메시지는 활성화 버퍼링 주기 SEI 메시지이다.
- 그렇지 않을 경우, 액세스 유닛은 활성화 버퍼링 주기 SEI 메시지를 포함하지 않는다.
seq_parameter_set_id 의 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 7 과 동일함) 가 이미 활성 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 시퀀스 파라미터 세트 RBSP 가 (seq_parameter_set_id 의 그 값을 이용하는) 픽처 파라미터 세트 RBSP 의 활성화에 의해 참조되고, 픽처 파라미터 세트 RBSP 가 1 또는 5 와 동일한 nal_unit_type 을 갖는 코딩된 슬라이스 NAL 유닛에 의해 활성화되고 (픽처 파라미터 세트 RBSP 는 활성 픽처 파라미터 세트 RBSP 가 되고, VOIdxMax 는 VOIdxMin 과 동일하고, 액세스 유닛에서 심도 컴포넌트가 없음), 액세스 유닛이 활성화 버퍼링 주기 SEI 메시지를 포함하지 않을 때, 비디오 디코더 (30) 는 시퀀스 파라미터 세트 RBSP 를 활성화할 수도 있다. 이 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 활성 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 활성 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP 는 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
seq_parameter_set_id 의 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 7 과 동일함) 가 이미 활성 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 시퀀스 파라미터 세트 RBSP 가 3DV 스케일러블 네스팅 SEI 메시지에 포함되지 않는 (seq_parameter_set_id 의 그 값을 이용하는) 활성화 버퍼링 주기 SEI 메시지에 의해 참조되고, VOIdxMax 가 VOIdxMin 과 동일하고, 액세스 유닛에서 심도 컴포넌트가 없을 때, 비디오 디코더 (30) 는 시퀀스 파라미터 세트 RBSP 를 활성화한다. 이 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 활성 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 활성 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP 는 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
seq_parameter_set_id 의 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 7 과 동일함) 가 이미 활성 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 서브세트 시퀀스 파라미터 세트 RBSP 가 (seq_parameter_set_id 의 그 값을 이용하는) 픽처 파라미터 세트 RBSP 의 활성화에 의해 참조되고, 픽처 파라미터 세트 RBSP 가 21 과 동일한 nal_unit_type 을 가지며 VOIdxMax 와 동일한 VOIdx 를 갖는 코딩된 슬라이스 NAL 유닛에 의해 활성화되고 (픽처 파라미터 세트 RBSP 가 활성 픽처 파라미터 세트 RBSP 가 됨), 액세스 유닛이 활성화 버퍼링 주기 SEI 메시지를 포함하지 않을 때, 비디오 디코더 (30) 는 서브세트 시퀀스 파라미터 세트 RBSP 를 활성화할 수도 있다. 이 서브세트 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 활성 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 서브세트 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 활성 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP 는 그 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
seq_parameter_set_id 의 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 15 와 동일함) 가 이미 활성 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 서브세트 시퀀스 파라미터 세트 RBSP 가 3DV 스케일러블 네스팅 SEI 메시지에 포함되는 (seq_parameter_set_id 의 그 값을 이용하는) 활성화 버퍼링 주기 SEI 메시지에 의해 참조될 때, 비디오 디코더 (30) 는 서브세트 시퀀스 파라미터 세트 RBSP 를 활성화한다. 이 서브세트 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 활성 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 서브세트 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 활성 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP 는 서브세트 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
다음의 설명에 대하여, VOIdx 의 지정한 값에 대한 활성화 텍스처 버퍼링 주기 SEI 메시지는 다음과 같이 지정된다.
액세스 유닛이, MVC 스케일러블 네스팅 SEI 메시지에 포함되며 연관된 비트스트림 서브세트에서의 최대 VOIdx 가 VOIdx 의 지정한 값과 동일한 동작 포인트와 연관되는 하나 또는 하나를 초과하는 버퍼링 주기 SEI 메시지를 포함할 경우, 디코딩 순서에서의 이 버퍼링 주기 SEI 메시지들의 최초의 것은 VOIdx 의 지정한 값에 대한 활성화 텍스처 버퍼링 주기 SEI 메시지이다.
- 그렇지 않을 경우, 액세스 유닛이 MVC 스케일러블 SEI 메시지 또는 3DV 스케일러블 네스팅 SEI 메시지에 포함되지 않는 버퍼링 주기 SEI 메시지를 포함할 경우, 이 버퍼링 주기 SEI 메시지는 VOIdxMin 과 동일한 VOIdx 의 지정한 값에 대한 활성화 텍스처 버퍼링 주기 SEI 메시지이다.
- 그렇지 않을 경우, 액세스 유닛은 VOIdx 의 지정한 값에 대한 활성화 텍스처 버퍼링 주기 SEI 메시지를 포함하지 않는다.
seq_parameter_set_id 의 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 7 과 동일함) 가 이미 VOIDxMin 과 동일한 VOIdx 에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 시퀀스 파라미터 세트 RBSP 가 (seq_parameter_set_id 의 그 값을 이용하는) 픽처 파라미터 세트 RBSP 의 활성화에 의해 참조되고, 픽처 파라미터 세트 RBSP 가 1 또는 5 와 동일한 nal_unit_type 을 갖는 코딩된 슬라이스 NAL 유닛에 의해 활성화될 (픽처 파라미터 세트 RBSP 는 VOIdxMin 과 동일한 VOIdx 에 대한 활성 텍스처 픽처 파라미터 세트 RBSP 가 됨) 때, 비디오 디코더 (30) 는 VOIdxMin 과 동일한 VOIdx 를 갖는 텍스처 컴포넌트들에 대한 시퀀스 파라미터 세트 RBSP 를 활성화할 수도 있다. 이 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 VOIdxMin 과 동일한 VOIdx 에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 VOIdxMin 과 동일한 VOIdx 에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP 는 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
seq_parameter_set_id 의 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 7 과 동일함) 가 이미 VOIdxMin 과 동일한 VOIdx 에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 시퀀스 파라미터 세트 RBSP 가 MVC 스케일러블 네스팅 SEI 메시지 또는 3DV 스케일러블 네스팅 SEI 메시지에 포함되지 않는 (seq_parameter_set_id 의 그 값을 이용하는) 활성화 텍스처 버퍼링 주기 SEI 메시지에 의해 참조될 때, 비디오 디코더 (30) 는 VOIdxMin 과 동일한 VOIdx 를 갖는 텍스처 컴포넌트들에 대한 시퀀스 파라미터 세트 RBSP 를 활성화할 수도 있다. 이 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 동일한 VOIdx 에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 VOIdxMin 과 동일한 VOIdx 에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 시퀀스 파라미터 세트 RBSP 는 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
seq_parameter_set_id 의 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 15 와 동일함) 가 이미 VOIdxMax 이하인 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 서브세트 시퀀스 파라미터 세트 RBSP 가 (seq_parameter_set_id 의 그 값을 이용하는) 픽처 파라미터 세트 RBSP 의 활성화에 의해 참조되고, 픽처 파라미터 세트 RBSP 는 VOIdx 의 지정한 값을 갖는 코딩된 슬라이스 MVC 익스텐션 NAL 유닛 (nal_unit_type 이 20 과 동일함) 에 의해 활성화될 (픽처 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 텍스처 픽처 파라미터 세트 RBSP 가 됨) 때, 비디오 디코더 (30) 는 VOIdx 의 지정한 값을 갖는 텍스처 컴포넌트들에 대한 서브세트 시퀀스 파라미터 세트 RBSP 를 활성화할 수도 있다. 이 서브세트 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 서브세트 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 활성 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP 는 서브세트 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
seq_parameter_set_id 의 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 15 와 동일함) 가 이미 VOIdxMax 이하인 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 서브세트 시퀀스 파라미터 세트 RBSP 가 MVC 스케일러블 네스팅 SEI 메시지에 포함되며 VOIdx 의 지정한 값과 연관되는 (seq_parameter_set_id 의 그 값을 이용하는) 활성화 텍스처 버퍼링 주기 SEI 메시지에 의해 참조될 때, 비디오 디코더 (30) 는 VOIdx 의 지정한 값을 갖는 텍스처 컴포넌트들에 대한 이 서브세트 시퀀스 파라미터 세트 RBSP 를 활성화할 수도 있다. 이 서브세트 시퀀스 파라미터 세트 RBSP 는 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 될 때에 서브세트 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP 는 서브세트 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
다음의 사양에 대하여, VOIdx 의 지정한 값에 대한 활성화 뷰 버퍼링 주기 SEI 메시지가 다음과 같이 지정된다.
- 액세스 유닛이, 3DVC 스케일러블 네스팅 SEI 메시지에 포함되며 연관된 비트스트림 서브세트에서의 최대 VOIdx 가 VOIdx 의 지정한 값과 동일한 동작 포인트와 연관되는 하나 또는 하나를 초과하는 버퍼링 주기 SEI 메시지를 포함할 경우, 디코딩 순서에서 이 버퍼링 주기 SEI 메시지들의 최초의 것은 VOIdx 의 지정한 값에 대한 활성화 뷰 버퍼링 주기 SEI 메시지이다.
- 그렇지 않을 경우, 액세스 유닛은 VOIdx 의 지정한 값에 대한 활성화 뷰 버퍼링 주기 SEI 메시지를 포함하지 않는다.
seq_parameter_set_id 의 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 15 와 동일함) 가 이미 VOIdxMan 보다 작은 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 서브세트 시퀀스 파라미터 세트 RBSP 가 (seq_parameter_set_id 의 그 값을 이용하는) 픽처 파라미터 세트 RBSP 의 활성화에 의해 참조되고, 픽처 파라미터 세트 RBSP 는, 21 과 동일한 nal_unit_type 을 가지며 VOIdx 의 지정한 값을 갖는 코딩된 슬라이스 NAL 유닛에 의해 활성화될 (픽처 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 RBSP 가 됨) 때, 비디오 디코더 (30) 는 VOIdx 의 지정한 값을 갖는 뷰 컴포넌트들에 대한 서브세트 시퀀스 파라미터 세트 RBSP 를 활성화한다. 이 서브세트 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 가 될 때, 또는 VOIdx 의 지정한 값 이하인 VOIdxMax 를 갖는 액세스 유닛을 디코딩하는 경우 서브세트 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP 는 서브세트 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
seq_parameter_set_id 의 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP (nal_unit_type 이 15 와 동일함) 가 이미 VOIdxMax 보다 작은 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 가 아니고, 서브세트 시퀀스 파라미터 세트 RBSP 가, 3DV 스케일러블 네스팅 SEI 메시지에 포함되며 VOIdx 의 지정한 값과 연관되는 (seq_parameter_set_id 의 그 값을 이용하는) 활성화 뷰 버퍼링 주기 SEI 메시지에 의해 참조될 때, 비디오 디코더 (30) 는 VOIdx 의 지정한 값을 갖는 뷰 컴포넌트들에 대한 이 서브세트 시퀀스 파라미터 세트 RBSP 를 활성화한다. 이 서브세트 시퀀스 파라미터 세트 RBSP 는, 또 다른 MVC 시퀀스 파라미터 세트 RBSP 가 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP가 될 때, 또는 VOIdx 의 지정한 값 이하인 VOIdxMax 를 갖는 액세스 유닛을 디코딩하는 경우 서브세트 시퀀스 파라미터 세트 RBSP 가 비활성화될 때까지 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 라고 불린다. seq_parameter_set_id 의 그 지정한 값을 갖는 서브세트 시퀀스 파라미터 세트 RBSP 는 서브세트 시퀀스 파라미터 세트 RBSP 의 활성화 이전의 디코딩 프로세스에 의해 이용가능할 것이다.
부록 A 또는 부록 H 또는 제안된 부록 I 내지 H.264/AVC 에 지정되지 않은 profile_idc 의 값을 포함하는 MVC 시퀀스 파라미터 세트 RBSP 는 픽처 파라미터 세트 RBSP 의 활성화에 의해 활성 픽처 파라미터 세트 RBSP, 또는 활성 뷰 픽처 파라미터 세트 RBSP, 또는 활성 텍스처 픽처 파라미터 세트 RBSP (seq_parameter_set_id 의 그 값을 이용함) 이라고 지칭되지 않거나, 버퍼링 주기 SEI 메시지 (seq_parameter_set_id 의 그 값을 이용함) 에 의해 참조될 것이다. 부록 A 또는 부록 H 또는 제안된 부록 I 내지 H.264/AVC 에 지정된 profile_idc 의 값을 포함하는 MVC 시퀀스 파라미터 세트 RBSP 는 부록 A 또는 부록 H 또는 제안된 부록 I 내지 H.264/AVC 에 지정된 프로파일들에 대한 디코딩에서 무시된다.
다음의 제약들을 따르는 것은 비트스트림 준수의 요건이다:
- VOIdx 의 각각의 지정한 값에 대하여, 코딩된 비디오 시퀀스의 모든 코딩된 슬라이스 NAL 유닛들 (1, 5, 20, 또는 21 과 동일한 nal_unit_type 을 가짐) 은 (pic_parameter_set_id 의 값에 의해 참조되는 픽처 파라미터 세트 RBSP 를 통해) seq_parameter_set_id 의 동일한 값을 참조할 것이다.
- MVC 스케일러블 네스팅 SEI 메시지에 포함되지 않은 버퍼링 주기 SEI 메시지에서의 seq_parameter_set_id 의 값은 동일한 액세스 유닛에서 (pic_parameter_set_id 의 값을 통해) 1 또는 5 와 동일한 nal_unit_type 을 갖는 코딩된 슬라이스 NAL 유닛들에 의해 참조되는 픽처 파라미터 세트 RBSP 에서의 seq_parameter_set_id 의 값과 동일할 것이다.
- MVC 스케일러블 네스팅 SEI 메시지에 포함되며 VOIdx 의 지정한 값과 연관되는 버퍼링 주기 SEI 메시지에서의 seq_parameter_set_id 의 값은 동일한 액세스 유닛에서 (pic_parameter_set_id 의 값을 통해) VOIdx 의 지정한 값을 갖는 1, 5, 또는 20 과 동일한 nal_unit_type 을 갖는 코딩된 슬라이스 NAL 유닛들에 의해 참조되는 픽처 파라미터 세트 RBSP 에서의 seq_parameter_set_id 의 값과 동일할 것이다.
- 3DVC 스케일러블 네스팅 SEI 메시지에 포함되며 VOIdx 의 지정한 값과 연관되는 버퍼링 주기 SEI 메시지에서의 seq_parameter_set_id 의 값은 동일한 액세스 유닛에서 (pic_parameter_set_id 의 값을 통해) VOIdx 의 지정한 값을 갖는 21 과 동일한 nal_unit_type 을 갖는 코딩된 슬라이스 NAL 유닛들에 의해 참조되는 픽처 파라미터 세트 RBSP 에서의 seq_parameter_set_id 의 값과 동일할 것이다.
VOIdx 의 상이한 값들에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 들은 동일한 MVC 시퀀스 파라미터 세트 RBSP 일 수도 있다. VOIdx 의 지정한 값에 대한 활성 MVC 시퀀스 파라미터 세트 RBSP 및 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 는 동일한 MVC 시퀀스 파라미터 세트 RBSP 일 수도 있다.
VOIdx 의 상이한 값들에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 들은 동일한 MVC 시퀀스 파라미터 세트 RBSP 일 수도 있다. VOIdx 의 지정한 값에 대한 활성 MVC 시퀀스 파라미터 세트 RBSP 및 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 는 동일한 MVC 시퀀스 파라미터 세트 RBSP 일 수도 있다. VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 및 VOIdx 의 지정한 값에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 는 동일한 MVC 시퀀스 파라미터 세트 RBSP 일 수도 있다.
코딩된 픽처에 대한 활성 MVC 시퀀스 파라미터 세트 RBSP 가 시퀀스 파라미터 세트 RBSP 일 때, 이 코딩된 픽처를 포함하며 활성 MVC 시퀀스 파라미터 세트 RBSP 에 대한 seq_parameter_set_id 의 값을 갖는 코딩된 비디오 시퀀스에서의 임의의 시퀀스 파라미터 세트 RBSP 는 활성 MVC 시퀀스 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다.
코딩된 픽처에 대한 활성 MVC 시퀀스 파라미터 세트 RBSP 가 서브세트 시퀀스 파라미터 세트 RBSP 일 때, 이 코딩된 픽처를 포함하며 활성 MVC 시퀀스 파라미터 세트 RBSP 에 대한 seq_parameter_set_id 의 값을 갖는 코딩된 비디오 시퀀스에서의 임의의 서브세트 시퀀스 파라미터 세트 RBSP 는 활성 MVC 시퀀스 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다.
VOIdx 의 각각의 지정한 값에 대하여, 다음이 적용된다:
코딩된 픽처에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 시퀀스 파라미터 세트 RBSP 일 때, 이 코딩된 픽처를 포함하며 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 에 대한 seq_parameter_set_id 의 값을 갖는 코딩된 비디오 시퀀스에서의 임의의 시퀀스 파라미터 세트 RBSP 는 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다.
코딩된 픽처에 대한 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 가 서브세트 시퀀스 파라미터 세트 RBSP 일 때, 이 코딩된 픽처를 포함하며 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 에 대한 seq_parameter_set_id 의 값을 갖는 코딩된 비디오 시퀀스에서의 임의의 서브세트 시퀀스 파라미터 세트 RBSP 는 활성 텍스처 MVC 시퀀스 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다.
코딩된 픽처에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 는 서브세트 시퀀스 파라미터 세트 RBSP 이고, 이 코딩된 픽처를 포함하며 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 에 대한 seq_parameter_set_id 의 값을 갖는 코딩된 비디오 시퀀스에서의 임의의 서브세트 시퀀스 파라미터 세트 RBSP 는 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 의 컨텐츠와 동일한 컨텐츠를 가질 것이다.
픽처 파라미터 세트 RBSP 들 또는 MVC 시퀀스 파라미터 세트 RBSP 들이 비트스트림 내에서 전달될 경우, 이 제약들은 픽처 파라미터 세트 RBSP 들 또는 MVC 시퀀스 파라미터 세트 RBSP 들을 각각 포함하는 NAL 유닛들에 대해 순서 제약을 부과한다. 그렇지 않을 경우 (픽처 파라미터 세트 RBSP 들 또는 MVC 시퀀스 파라미터 세트 RBSP 들이 이 추천안 | H.264 비디오 코딩 표준에 대한 국제 표준에서 지정되지 않음), 이들은 이 제약들을 준수하도록 적시의 방식으로 디코딩 프로세스에 의해 이용가능해야 한다.
존재하는 경우 시퀀스 파라미터 세트 익스텐션 RBSP 는 시퀀스 파라미터 세트 RBSP 의 기능들과 유사한 기능을 갖는 파라미터들을 포함한다. 시퀀스 파라미터 세트 익스텐션 RBSP 의 신택스 엘리먼트들에 대한 제약들을 확립할 목적들을 위해, 그리고 시퀀스 파라미터 세트 익스텐션 RBSP 의 활성화를 결정할 목적들을 위해, 시퀀스 파라미터 세트 익스텐션 RBSP 는 seq_parameter_set_id 의 동일한 값을 갖는 선행하는 시퀀스 파라미터 세트 RBSP 의 부분으로 고려될 것이다. 시퀀스 파라미터 세트 RBSP 의 활성화 이전에 seq_parameter_set_id 의 동일한 값을 갖는 시퀀스 파라미터 세트 익스텐션 RBSP 가 후행하지 않는 시퀀스 파라미터 세트 RBSP 가 존재하는 경우 시퀀스 파라미터 세트 익스텐션 RBSP 및 그 신택스 엘리먼트들은 활성 MVC 시퀀스 파라미터 세트 RBSP 에 대해 존재하지 않는 것으로 고려될 것이다. 시퀀스 파라미터 세트 익스텐션 RBSP 들의 컨텐츠들은, 부록 A 에 지정된 프로파일들의 하나 이상을 준수하는 베이스 텍스처 뷰로서, 부록 I 에 지정된 하나 이상의 프로파일들을 준수하는 코딩된 비디오 시퀀스의 베이스 텍스처 뷰가 디코딩될 때에 적용되기만 한다. 서브세트 시퀀스 파라미터 세트 RBSP 들은 시퀀스 파라미터 세트 익스텐션 RBSP 가 후행하지 않을 것이다.
시퀀스 파라미터 세트들 익스텐션 RBSP 들은 서브세트 시퀀스 파라미터 세트 RBSP 의 부분으로 고려되지 않고, 서브세트 시퀀스 파라미터 세트 RBSP 들은 시퀀스 파라미터 세트 익스텐션 RBSP 가 후행하지 않아야 한다.
VOIdxMax 와 동일한 VOIdx 를 갖는 뷰 컴포넌트들에 대하여, MVC 시퀀스 파라미터 세트들 및 픽처 파라미터 세트들 내의 신택스 엘리먼트들의 값들 (및 그 신택스 엘리먼트들로부터 유도된 변수들의 값들) 과 다른 신택스 엘리먼트들 사이의 관계에 대해 표현되는 모든 제약들은 활성 MVC 시퀀스 파라미터 세트 및 활성 픽처 파라미터 세트에만 적용되는 제약들의 표현들이다. VOIdxMax 보다 작은 VOIdx 의 지정한 값을 갖는 뷰 컴포넌트들에 대하여, MVC 시퀀스 파라미터 세트들 및 픽처 파라미터 세트들 내의 신택스 엘리먼트들의 값들 (및 그 신택스 엘리먼트들로부터 유도된 변수들의 값들) 과 다른 신택스 엘리먼트들 사이의 관계에 대해 표현되는 모든 제약들은 VOIdx 의 지정한 값에 대한 활성 뷰 픽처 파라미터 세트 및 활성 뷰 MVC 시퀀스 파라미터 세트에만 적용되는 제약들의 표현들이다.
비트스트림에서 전혀 활성화되지 않은 (즉, MVC 시퀀스 파라미터 세트 RBSP 가 결코 활성 MVC 시퀀스 파라미터 세트 또는 활성 뷰 MVC 시퀀스 파라미터 세트가 되지 않음), 부록 A, 부록 H 또는 제안된 부록 I 에 지정된 profile_idc 값들 중 하나의 값과 동일한 profile_idc 를 갖는 임의의 MVC 시퀀스 파라미터 세트 RBSP 가 존재할 경우, MVC 시퀀스 파라미터 세트 RBSP 의 신택스 엘리먼트들은, MVC 시퀀스 파라미터 세트 RBSP 가 이와 달리 준수하는 비트스트림에서 참조를 위해 활성화되었을 경우에 지정된 제약들을 준수할 값들을 가질 것이다. 비트스트림에서 결코 활성화되지 않은 (즉, 픽처 파라미터 세트 RBSP 가 결코 활성 픽처 파라미터 세트 또는 활성 뷰 픽처 파라미터 세트가 되지 않음) 임의의 픽처 파라미터 세트 RBSP 가 존재할 경우, 픽처 파라미터 세트 RBSP 의 신택스 엘리먼트들은, 픽처 파라미터 세트 RBSP 가 이와 달리 준수하는 비트스트림에서 참조를 위해 활성화되었을 경우에 지정된 제약들을 준수할 값들을 가질 것이다.
디코딩 프로세스의 동작 동안, VOIdxMax 와 동일한 VOIdx 를 갖는 뷰 컴포넌트들에 대하여, 활성 픽처 파라미터 세트 및 활성 MVC 시퀀스 파라미터 세트의 파라미터들의 값들은 효과가 있는 것으로 고려될 것이다 (하나의 예에서, 디코딩하는 경우 적용됨을 의미함). VOIdxMax 보다 작은 VOIdx 의 지정한 값을 갖는 뷰 컴포넌트들에 대하여, VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 및 활성 뷰 픽처 파라미터 세트의 파라미터들의 값들은 효과가 있는 것으로 고려될 것이다. VOIdxMax 와 동일한 VOIdx 를 갖는 뷰 컴포넌트 또는 전체 액세스 유닛에 적용되는 SEI 메시지들의 해석을 위해, 동일한 액세스 유닛에 대한 활성 MVC 시퀀스 파라미터 세트 및 활성 픽처 파라미터 세트의 파라미터들의 값들은 SEI 메시지 시맨틱들에서 이와 다르게 지정되지 않으면, 효과가 있는 것으로 고려될 것이다. VOIdxMax 보다 작은 VOIdx 의 지정한 값을 갖는 뷰 컴포넌트들에 적용되는 SEI 메시지들의 해석을 위해, 동일한 액세스 유닛에 대한 VOIdx 의 지정한 값에 대한 활성 뷰 MVC 시퀀스 파라미터 세트 및 활성 뷰 픽처 파라미터 세트의 파라미터들의 값들은 SEI 메시지 시맨틱들에서 이와 달리 지정되지 않으면, 효과가 있는 것으로 고려될 것이다.
임의의 활성 MVC SPS 또는 활성 뷰 MVC SPS 에 대하여, MVC SPS 익스텐션에서의 신택스 엘리먼트들의 부분은 이 SPS 를 참조하는 심도 뷰들에만 적용되는 반면, MVC SPS 익스텐션에서의 신택스 엘리먼트들의 일부의 다른 부분들은 집적으로 이 SPS 를 참조하는 심도 뷰들 및 대응하는 텍스처 뷰들 양자 모두에 집합적으로 적용된다. 더욱 구체적으로, MVC SPS 익스텐션의 뷰 종속성 정보는 심도 뷰들에만 적용되고, 레벨 정의들은 집합적으로 동작 포인트들에 적용되고, 동작 포인트들의 각각은 심도 뷰들 및 그 대응하는 텍스처 뷰들 양자 모두를 포함한다.
일부 사례들에서, 본 개시물의 기술들은 비디오 디코더 (30) 가 심도 뷰들을 포함하는 비트스트림의 코딩 동안에, 뷰 순서 인덱스 값에 대한 텍스처 픽처 파라미터 세트 (PPS) 또는 텍스처 MVC 시퀀스 파라미터 세트 (SPS) 를 활성화하는 것을 가능하게 할 수도 있다.
일부 사례들에서, 비디오 디코더 (30) 는 비트스트림의 코딩 동안에 활성 PPS 를 활성화할 수도 있고, 비트스트림의 코딩 동안에 뷰 순서 인덱스 값에 대한 활성 뷰 PPS 를 활성화할 수도 있고, 비트스트림의 코딩 동안에 뷰 순서 인덱스 값에 대한 활성 뷰 MVC SPS 를 활성화할 수도 있고, 비트스트림의 코딩 동안에 활성 MVC SPS 를 활성화할 수도 있다.
일부 사례들에서, 텍스처 PPS 를 활성화하는 것은, PPS RBSP 가 뷰 순서 인덱스 값에 대한 활성 텍스처 PPS 가 아니고, PPS RBSP 가 양자 모두 텍스처 컴포넌트에 속하며 뷰 순서 인덱스 값을 지정하여 PPS RBSP 를 활성화하는 코딩된 슬라이스 네트워크 추상화 계층 (NAL) 유닛에 의해 참조될 때, 뷰 순서 인덱스 값을 지정하는 심도 컴포넌트들에 대하여, PPS 원시 바이트 시퀀스 페이로드 (RBSP) 를 활성화하는 것을 포함할 수도 있다. 비디오 디코더 (30) 는 위에서 설명된 바와 같이 텍스처 PPS 및 텍스처 MVC SPS 를 또한 활성화할 수도 있다.
아무튼, 비디오 슬라이스가 인트라-코딩된 (I) 슬라이스일 때, 예측 유닛 (81) 의 인트라 예측 유닛 (84) 은 활성 파라미터 세트들을 고려하여 현재의 픽처의 이전에 디코딩된 블록들로부터의 데이터 및 시그널링된 인트라 예측 모드에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 발생시킬 수도 있다. 픽처가 인터-코딩된 (즉, B, P 또는 PB 일반화 (GPB)) 슬라이스로서 코딩될 때, 예측 유닛 (81) 의 모션 보상 유닛 (82) 은 다시 활성 파라미터 세트들을 고려하여, 엔트로피 디코딩 유닛 (80) 으로부터 수신된 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 참조 픽처 리스트들 중의 하나 내에서 참조 픽처들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는 참조 픽처 메모리 (92) 에 저장된 참조 픽처들에 기초하여 디폴트 구성 기술들을 이용하여 참조 픽처 리스트들, List 0 및 List 1 (또는 조합된 리스트, List c) 을 구성할 수도 있다.
모션 보상 유닛 (82) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱함으로써 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 디코딩되고 있는 현재의 비디오 블록에 대한 예측 블록들을 생성하기 위해 예측 정보를 이용한다. 예를 들어, 모션 보상 유닛 (82) 은 비디오 슬라이스의 비디오 블록들을 코딩하기 위해 이용되는 예측 모드 (예를 들어, 인트라-예측 또는 인터-예측), 인터-예측 슬라이스 유형 (예를 들어, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 참조 픽처 리스트들 중 하나 이상에 대한 구성 정보, 슬라이스의 각각의 인터-인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터-코딩된 비디오 블록에 대한 인터-예측 상태, 및 현재의 비디오 슬라이스에서 비디오 블록들을 디코딩하기 위한 다른 정보를 결정하기 위해 수신된 신택스 엘리먼트들 중 일부를 이용한다.
역양자화 유닛 (86) 은 비트스트림에서 제공되며 엔트로피 디코딩 유닛 (80) 에 의해 디코딩되는 양자화된 변환 계수들을 역양자화, 즉, 양자화해제 (de-quantize) 한다. 역양자화 프로세스는 양자화 정도와, 마찬가지로, 적용되어야 할 역자화의 정도를 결정하기 위해 비디오 슬라이스 내의 각각의 비디오 블록에 대해 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터의 이용을 포함할 수도 있다.
역변환 프로세싱 유닛 (88) 은 픽셀 도메인에서 잔여 블록들을 생성하기 위해, 역변환, 예를 들어, 역 DCT, 역정수 변환, 또는 개념적으로 유사한 역변환 프로세스를 변환 계수들에 적용한다. 역변환 프로세싱 유닛 (88) 은 잔여 데이터에 변환들이 적용되었던 방식을 결정할 수도 있다.
모션 보상 유닛 (82) 이 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재의 비디오 블록에 대한 예측 블록을 발생시킨 후, 비디오 디코더 (30) 는 역변환 프로세싱 유닛 (88) 으로부터의 잔여 블록들을 모션 보상 유닛 (82) 에 의해 발생된 대응하는 예측 블록들과 합산함으로써 디코딩된 비디오 블록을 형성한다. 합산기 (90) 는 이 합산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 희망하는 경우, 디블록킹 필터는 블록화 아티팩트들을 제거하기 위해 디코딩된 블록들을 필터링하도록 또한 적용될 수도 있다. (코딩 루프 내의 또는 코딩 루프 이후의) 다른 루프 필터들은 픽셀 전이 (transition) 들을 평활화하기 위해, 또는 이와 달리 비디오 품질을 개선시키기 위해 또한 이용될 수도 있다. 다음으로, 소정의 픽처 내의 디코딩된 비디오 블록들은 후속 모션 보상을 위해 이용되는 참조 픽처들을 저장하는 참조 픽처 메모리 (92) 에 저장된다. 참조 픽처 메모리 (92) 는 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상에서의 이후의 프리젠테이션을 위한 디코딩된 비디오를 또한 저장한다.
본 개시물에서 설명된 기술들의 다른 양태들은 비디오 코딩 디바이스가 디코딩된 픽처 버퍼로부터 텍스처 및 심도 컴포넌트들을 별개로 제거하는 것을 가능하게 함으로써, 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 촉진할 수도 있다. 디코딩된 픽처 버퍼는 현재의 뷰 컴포넌트를 코딩함에 있어서 이용하기 위한 참조 픽처들을 저장할 수 있는 메모리 또는 다른 컴퓨터 판독가능 매체를 지칭한다. 디코딩된 픽처 버퍼는 도 3 의 예에서 참조 픽처 메모리 (92) 로서 도시된다. 본 개시물에서 기술된 기술들은 텍스처 및 심도 컴포넌트들의 별도의 핸들링을 가능하게 하므로, 비디오 디코더 (30) 는, 뷰 컴포넌트 (그리고 이에 따라, 그 뷰 컴포넌트의 심도 및 텍스처 컴포넌트들) 가 MVC 에서의 뷰들의 동일한 참조 픽처들의 소정 처리를 이용하여 코딩되었던 기존의 3DVC 와는 반대로, 동일한 뷰 컴포넌트의 심도 컴포넌트를 코딩하는 경우 이용되는 것들과는 상이한 참조 픽처들을 이용하여 뷰 컴포넌트의 텍스처 컴포넌트를 디코딩할 수도 있다. 그 결과, 참조 뷰 컴포넌트의 심도 컴포넌트들이 동일한 참조 뷰 컴포넌트의 텍스처 컴포넌트들보다 이전에, 디코딩된 픽처 버퍼로부터 제거될 수도 있으며, 참조 뷰 컴포넌트의 텍스처 컴포넌트가 동일한 참조 뷰 컴포넌트의 심도 컴포넌트보다 이전에, 디코딩된 픽처 버퍼로부터 제거될 수도 있는 사례들이 있을 수도 있다.
동작 시에, 비디오 디코더 (30) 는 심도 컴포넌트를 참조 픽처 메모리 (92) 에 저장함으로써, 그리고 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석함으로써, 본 개시물에서 설명된 기술들을 수행할 수도 있다. 다음으로, 비디오 디코더 (30) 는 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여, 참조 픽처 메모리 (92) 로부터 심도 컴포넌트를 제거할 수도 있다. 즉, 비디오 디코더 (30) 는 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여, 동일한 참조 뷰 컴포넌트의 텍스처 컴포넌트를 제거하지 않으면서 참조 픽처 메모리 (92) 로부터 참조 뷰 컴포넌트의 심도 컴포넌트를 제거할 수도 있다. 비디오 디코더 (30) 는 심도 컴포넌트를 제거하기 이전에, 심도 컴포넌트가 타겟 출력 뷰에 속하지 않고 심도 컴포넌트가 제로와 동일한 값을 갖는 네트워크 추상화 계층 참조 식별 코드와 연관되는 것 (심도 컴포넌트를 캡슐화하는 NAL 유닛의 컨텐츠가 인터-픽처 예측을 위한 참조 픽처들을 구성하기 위해 이용되지 않는 것을 의미함) 으로 결정함으로써 이 심도 컴포넌트를 제거를 위해 적합한 것으로 검증할 수도 있다.
즉, 3DVC (다시, MVC 플러스 심도 또는 MVC + D 라고 또한 지칭될 수도 있음) 에서는, 각각의 뷰의 텍스처 또는 심도의 일부분은 그 자신의 참조 픽처 마킹 프로세스들을 가진다. 타겟 출력 뷰들에 속하는 텍스처 및 심도 컴포넌트들은 동시에 출력될 수도 있다.
타겟 출력 뷰에 속하지 않고 0 과 동일한 nal_ref_idc 를 가지는 심도 컴포넌트에 대하여, 비디오 디코더 (30) 는, 3DV 프로파일을 포함하는 서브세트 SPS 의 MVC SPS 익스텐션에서 시그널링되는 뷰 종속성을 분석함으로써, 심도 컴포넌트가 인터-뷰 참조를 위해 결코 이용되지 않고 활성 뷰 MVC 시퀀스 파라미터 세트 RBSP 로서 현재 활성화되어 있으면, DPB 로부터 심도 컴포넌트를 제거할 수도 있다. 다시, 본 개시물에서의 MVC 에 대한 지칭은 위에서 언급된 바와 같이, H.264 의 제안된 익스텐션인 3DVC 의 맥락에서의 MVC 를 지칭한다.
예를 들어, 본 개시물의 기술들은 비디오 코더 (비디오 인코더 (20) 및/또는 비디오 디코더 (30) 양자 모두 또는 어느 하나를 지칭할 수도 있음) 가 디코딩된 픽처 버퍼에 심도 컴포넌트를 저장하는 것을 가능하게 할 수도 있고, 심도 컴포넌트는 타겟 출력 뷰에 속하지 않고 0 과 동일한 nal_ref_idc 를 가질 수도 있다. 게다가, 비디오 코더는 심도 컴포넌트가 인터-뷰 참조에 결코 이용되는지 않는지 여부를 결정하기 위해 뷰 종속성을 분석할 수도 있다. 추가적으로, 비디오 코더는 인터-뷰 참조를 위해 심도 컴포넌트가 결코 이용되지 않는 것으로 결정하는 것에 응답하여 디코딩된 픽처 버퍼로부터 심도 컴포넌트를 제거하는 것을 포함할 수도 있다. 뷰 종속성은 서브세트 SPS 의 MVC 시퀀스 파라미터 세트 (SPS) 익스텐션에서 시그널링될 수도 있고, 서브세트 SPS 는 3DV 프로파일을 포함할 수도 있고, 서브세트 SPS 는 활성 뷰 MVC 시퀀스 파라미터 세트로서 현재 활성화될 수도 있다. 비디오 인코더는 심도 컴포넌트를 인코딩할 수도 있다. 대안으로, 비디오 코더는 심도 컴포넌트를 디코딩할 수도 있다.
기술들의 다양한 양태들이 비디오 인코더 (20) 또는 비디오 디코더 (30) 중 하나에 대하여 위에서 설명되어 있지만, 일부 사례들에서, 기술들은 비디오 인코더 (20) 및 비디오 디코더 (30) 양자 모두에 의해 동일하거나 상반되는 방식으로 구현될 수도 있다. 그 결과, 기술들은 비디오 인코더 (20) 및 비디오 디코더 (30) 중 양자 모두 또는 하나만을 지칭하기 위해 본 개시물에서 이용된 용어를 나타낼 수도 있는 비디오 코더에 의해 일반적으로 구현될 수도 있다. 그러므로, 이 기술들은 이와 관련하여 제한되지 않아야 하고, 임의의 비디오 코더에 의해 일반적으로 구현될 수도 있다.
도 4 는 캡슐화 유닛 (21) 을 더욱 상세하게 예시하는 블록도이다. 도 4 의 예에서, 캡슐화 유닛 (21) 은 비디오 입력 인터페이스 (100), 오디오 입력 인터페이스 (102), 비디오 파일 생성 유닛 (104), 및 비디오 파일 출력 인터페이스 (106) 를 포함한다. 이 예에서, 비디오 파일 생성 유닛 (104) 은 보충 강화 정보 (SEI) 메시지 발생 유닛 (108), 뷰 식별자 (ID) 할당 유닛 (110), 표현 생성 유닛 (112), 및 동작 포인트 생성 유닛 (114) 을 포함한다.
비디오 입력 인터페이스 (100) 및 오디오 입력 인터페이스 (102) 는 인코딩된 비디오 및 오디오 데이터를 각각 수신한다. 도 1 의 예에서 도시되지 않았지만, 소스 디바이스 (12) 는 각각 오디오 데이터를 발생시키고 오디오 데이터를 인코딩하기 위한 오디오 소스 및 오디오 인코더를 또한 포함할 수도 있다. 다음으로, 캡슐화 유닛 (21) 은 비디오 파일을 형성하기 위해 인코딩된 오디오 데이터 및 인코딩된 비디오 데이터를 캡슐화할 수도 있다. 비디오 입력 인터페이스 (100) 및 오디오 입력 인터페이스 (102) 는 데이터가 인코딩됨에 따라 인코딩된 비디오 및 오디오 데이터를 수신할 수도 있고, 컴퓨터 판독가능 매체로부터 인코딩된 비디오 및 오디오 데이터를 취출할 수도 있다. 인코딩된 비디오 및 오디오 데이터를 수신할 시에는, 비디오 입력 인터페이스 (100) 및 오디오 입력 인터페이스 (102) 는 비디오 파일로의 어셈블리를 위해 인코딩된 비디오 및 오디오 데이터를 비디오 파일 생성 유닛 (104) 으로 전달한다.
비디오 파일 생성 유닛 (104) 은 그것에 기인한 기능들 및 절차들을 수행하도록 구성된 하드웨어, 소프트웨어, 및/또는 펌웨어를 포함하는 제어 유닛에 대응할 수도 있다. 제어 유닛은 일반적으로 캡슐화 유닛 (21) 에 기인한 기능들을 더욱 수행할 수도 있다. 비디오 파일 생성 유닛 (104) 이 소프트웨어 및/또는 펌웨어에 내장되는 예들에 대하여, 캡슐화 유닛 (21) 은 명령들을 실행하기 위한 비디오 파일 생성 유닛 (104) 및 프로세싱 유닛을 위한 명령들을 포함하는 컴퓨터 판독가능 매체를 포함할 수도 있다. 비디오 파일 생성 유닛 (104) 의 서브-유닛들 (이 예에서는, SEI 메시지 발생 유닛 (108), 뷰 ID 할당 유닛 (110), 표현 생성 유닛 (112), 및 동작 포인트 생성 유닛 (114)) 의 각각은 개별적인 하드웨어 유닛들 및/또는 소프트웨어 모듈들로서 구현될 수도 있고, 기능적으로 통합되거나 추가적인 서브-유닛들로 더욱 분리될 수도 있다.
비디오 파일 생성 유닛 (104) 은 예를 들어, 하나 이상의 마이크로프로세서들, 주문형 집적 회로 (ASIC) 들, 필드 프로그래밍가능 게이트 어레이 (FPGA) 들, 디지털 신호 프로세서 (DSP) 들, 또는 그 임의의 조합과 같은 임의의 적당한 프로세싱 유닛 또는 프로세싱 회로부에 대응할 수도 있다. 비디오 파일 생성 유닛 (104) 은 명령들을 실행하기 위한 프로세서뿐만 아니라, SEI 메시지 발생 유닛 (108), 뷰 ID 할당 유닛 (110), 표현 생성 유닛 (112), 및 동작 포인트 생성 유닛 (114) 중 임의의 것 또는 전부에 대한 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체를 더 포함할 수도 있다.
일반적으로, 비디오 파일 생성 유닛 (104) 은 수신된 오디오 및 비디오 데이터를 포함하는 하나 이상의 비디오 파일들을 생성할 수도 있다. 비디오 파일 생성 유닛 (104) 은 2 개 이상의 뷰들을 포함하는 멀티미디어 컨텐츠에 대한 미디어 프리젠테이션 설명 (media presentation description; MPD) 을 구성할 수도 있다. 다른 예들에서, 비디오 파일 생성 유닛 (104) 은 멀티미디어 컨텐츠에 대한 MPD 의 데이터와 유사한 데이터를 저장하는 매니페스트를 생성할 수도 있다. SEI 메시지 발생 유닛 (108) 은 SEI 메시지들을 발생시키는 유닛을 나타낼 수도 있다. 뷰 ID 할당 유닛 (110) 은 뷰 식별자들을 멀티미디어 컨텐츠의 뷰들의 각각에 할당할 수도 있다. 표현 생성 유닛 (112) 은 멀티미디어 컨텐츠에 대한 하나 이상의 표현들을 구성할 수도 있고, 표현들의 각각은 멀티미디어 컨텐츠에 대한 뷰들 중 하나 이상을 포함할 수도 있다. 일부 예들에서, 뷰 ID 할당 유닛 (110) 은 표현들 내에 포함된 뷰들에 대한 뷰 식별자들의 최대치 및 최소치를 표시하는 MPD 및/또는 표현들 내의 데이터 (예를 들어, 표현들에 대한 헤더 데이터) 를 포함할 수도 있다. 추가적으로, 표현 생성 유닛 (112) 은 더 큰 뷰 ID 들이 카메라 관점들을 갖는 뷰들에 대응하는지 여부를 표시하는 MPD 내의 정보를 더 작은 뷰 ID 들을 갖는 뷰들에 대한 카메라 관점들의 우측 또는 좌측에 제공할 수도 있다.
일부 예들에서, 동일한 뷰는 상이한 프레임 레이트들, 상이한 비트 레이트들, 상이한 인코딩 방식들, 또는 다른 차이들과 같은 다양한 인코딩 특징들을 이용하여 인코딩될 수도 있다. 표현 생성 유닛 (112) 은 공통의 표현 내에 포함된 각각의 뷰가 동일한 인코딩 특징들에 따라 인코딩되는 것을 보장할 수도 있다. 이러한 방식으로, 표현에 대한 MPD 및/또는 헤더 데이터는 표현에서 모든 뷰들에 적용되는 표현에 대한 특성들 (또는 속성들) 의 세트를 시그널링할 수도 있다. 또한, 표현 생성 유닛 (112) 은 잠재적으로 상이한 인코딩 특징들을 가질지라도, 동일한 뷰들을 포함하는 다수의 표현들을 생성할 수도 있다. 일부 예들에서, 표현 생성 유닛 (112) 은 개별적인 표현들 내의 멀티미디어 컨텐츠의 각각의 뷰를 캡슐화할 수도 있다. 이러한 예들에서는, 하나를 초과하는 뷰를 출력하기 위해, 목적지 디바이스 (14) 가 멀티미디어 컨텐츠의 2 개 이상의 표현들을 요청할 수도 있다.
동작 포인트 생성 유닛 (114) 은 멀티미디어 컨텐츠의 하나 이상의 표현들에 대한 동작 포인트들을 생성할 수도 있다. 일반적으로, 동작 포인트는 출력을 위해 타겟으로 한 표현 내의 뷰들의 서브세트에 대응하고, 여기서, 뷰들의 각각은 공통의 시간적 레벨을 공유한다. H.264/AVC 사양에 의해 정의된 바와 같이: 동작 포인트는 타겟 시간적 레벨을 나타내는 temporal_id 값 및 타겟 출력 뷰들을 나타내는 view_id 값들의 세트에 의해 식별된다. 하나의 동작 포인트는, 타겟 출력 뷰들타겟 출력 뷰들이 종속되는 모든 다른 뷰들로 구성되는 비트스트림 서브세트로서, temporal_id 값과 동일한 tIdTarget과, 입력들로서 view_id 값들의 세트로 구성되는 viewIdTargetList 로 하위 조항 H.8.5.3 에서 지정된 바와 같이 서브- 비트스트림 추출 프로세스를 이용하여 유도되는 비트스트림 서브세트와 연관된다. 하나를 초과하는 동작 포인트는 동일한 비트스트림 서브세트와 연관될 수도 있다. 사양들이 "동작 포인트가 디코딩된다" 라고 기술하는 경우 그것은 동작 포인트에 대응하는 비트스트림 서브세트와, 타겟 출력 뷰들의 후속 출력의 디코딩을 지칭한다.
본 개시물에서 설명된 기술들에 따르면, SEI 메시지 발생 유닛 (108) 은 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들 양자 모두에 또는 뷰 컴포넌트의 심도 컴포넌트에만 적용되는 네스팅된 보충 정보 (SEI) 메시지를 결정할 수도 있다. 네스팅된 SEI 메시지가 심도 컴포넌트에만 적용되는 것을 가능하게 함으로써, 기술들의 이 양태들은 텍스처 및 심도 컴포넌트들의 별도의 핸들링을 다시 촉진할 수도 있다.
SEI 메시지 발생 유닛 (108) 은 멀티뷰 비디오 데이터의 뷰 컴포넌트의 코딩에 적용되는 보충 강화 정보 메시지를 결정하기 위해 기술들의 이 양태들을 수행할 수도 있다. 다음으로, SEI 메시지 발생 유닛 (108) 은, 뷰 컴포넌트의 심도 컴포넌트를 프로세싱하는 경우 보충 강화 정보 메시지에 추가하여 적용되는 네스팅된 보충 강화 정보 메시지를 결정할 수도 있다. 다음으로, SEI 메시지 발생 유닛 (108) 은 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 심도 컴포넌트를 인코딩할 수도 있다.
통상적으로, 네스팅된 SEI 메시지는, 네스팅된 SEI 메시지가 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들 양자 모두에 또는 심도 컴포넌트에만 적용되는지 여부를 표시하는 플래그 또는 다른 식별자를 포함한다. 따라서, 일부 사례들에서, SEI 메시지 발생 유닛 (108) 은, 뷰 컴포넌트의 심도 컴포넌트를 처리하기만 하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는 것으로 결정할 수도 있고, 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트가 아니라, 뷰 컴포넌트의 심도 컴포넌트만을 프로세싱한다. 대안으로, SEI 메시지 발생 유닛 (108) 은, 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는 것으로 결정할 수도 있고, 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩한다. 또한, 기술들의 이 양태들은 뷰 컴포넌트의 심도 및 텍스처 컴포넌트들의 별도의 핸들링 또는 프로세싱을 다시 용이하게 한다.
이 플래그는 심도 컴포넌트들을 포함하는 동작 포인트들에 대한 SEI 메시지들의 네스팅을 위해 SEI 메시지를 나타낼 수도 있는 "3DV 스케일러블 네스팅 SEI 메시지" 라고 지칭되는 SEI 메시지에 대해 정의될 수도 있다. 다음의 표는 일 예의 3DV 스케일러블 네스팅 SEI 메시지 신택스를 예시한다.
Figure pct00015
상기 표에서, 1 과 동일한 sei _ view _ applicability _ flag[i] 는 네스팅된 SEI 메시지가 sei_view_id[i] 와 동일한 view_id 를 갖는 뷰의 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두에 적용된다는 것을 표시한다. 0 과 동일한 sei_view_applicability_flag[i] 는 네스팅된 SEI 메시지가 sei_view_id[i] 와 동일한 view_id 를 갖는 뷰의 심도 컴포넌트에만 적용된다는 것을 표시한다.
상기 표에서, 1 과 동일한 sei _ op _ view _ applicability _ flag[i] 는 네스팅된 SEI 메시지가 sei_op_view_id[i] 와 동일한 view_id 를 갖는 뷰의 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두에 적용된다는 것을 표시한다. 0 과 동일한 sei_op_view_applicability_flag[i] 는 네스팅된 SEI 메시지가 sei_op_view_id[i] 와 동일한 view_id 를 갖는 뷰의 심도 컴포넌트에만 적용된다는 것을 표시한다.
3DV 스케일러블 네스팅 SEI 메시지의 다른 신택스 엘리먼트들의 시맨틱들은 MVC 스케일러블 네스팅 SEI 메시지의 시맨틱들과 동일하다.
대안으로, SEI 메시지가 하나의 뷰 컴포넌트에 대해 네스팅될 때, SEI 메시지는 이 뷰 컴포넌트의 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두에 대해 네스팅될 수도 있다. 이 경우, SEI 메시지 발생 유닛 (108) 은 MVC 스케일러블 네스팅 SEI 메시지의 신택스와 유사한 3DV 스케일러블 네스팅 SEI 메시지의 신택스와, MVC 스케일러블 네스팅 SEI 메시지의 시맨틱들과 유사한 3DV 스케일러블 네스팅 SEI 메시지의 시맨틱들을 정의한다. 더 이전에 정의된 바와 같이, 3DV 스케일러블 네스팅 SEI 메시지의 시맨틱들에서는, 뷰 컴포넌트가 텍스처 컴포넌트 및 심도 컴포넌트를 포함할 수도 있다 (그리고 이들로 구성될 수도 있음). H.264/AVC 에 대한 3DVC 익스텐션을 지칭할 수도 있는 제안된 부록 I 의 맥락에서는, MVC 스케일러블 네스팅 SEI 메시지의 시맨틱들이 다음과 같이 변화된다. MVC 스케일러블 네스팅 SEI 메시지의 시맨틱들은 "텍스처 컴포넌트들" 에 의해 대체되는 "뷰 컴포넌트들" 의 모든 사례들을 준용한다. 다음의 표는 MVC 스케일러블 네스팅 SEI 메시지의 신택스를 제시한다.
Figure pct00016
심도 및 텍스처 컴포넌트들의 별도의 핸들링을 더욱 용이하게 하기 위해, SEI 메시지 발생 유닛 (108) 은, 제 1 신택스 엘리먼트, 제 2 신택스 엘리먼트, 및 제 3 신택스 엘리먼트를 포함하는 3D 뷰 스케일러빌러티 SEI 메시지라고 지칭되는 SEI 메시지를 발생시킬 수도 있고, 여기서, 제 1 신택스 엘리먼트는 동작 포인트가 심도 컴포넌트를 포함하는지 여부를 표시한다. 동작 포인트가 심도 컴포넌트를 포함하는 경우 SEI 메시지 발생 유닛 (108) 은 동작 포인트의 타겟 출력 뷰가 직접 종속되는 심도 컴포넌트들의 수를 표시하기 위해 제 2 신택스 엘리먼트를 정의할 수도 있고, 동작 포인트의 타겟 출력 뷰가 직접 종속되는 심도 컴포넌트들을 식별하기 위해 제 3 신택스 엘리먼트들을 정의할 수도 있다.
일부 사례들에서, 동작 포인트들은 동작 포인트들의 제 1 서브세트 및 동작 포인트들의 제 2 서브세트를 포함할 수도 있고, 여기서, 제 1 서브세트 내의 각각의 동작 포인트는 텍스처 컴포넌트만을 포함하고, 제 2 서브세트 내의 각각의 동작 포인트는 심도 컴포넌트를 포함한다. 다음으로, SEI 메시지 발생 유닛 (108) 은 프로파일 식별자가 3D 비디오 코딩과 연관되는 소정의 값과 동일한 것으로 결정할 수도 있고, 프로파일 식별자가 소정의 값과 동일한 것으로 결정하는 것에 응답하여, 서브세트 SPS 가 제 1 SPS 익스텐션 및 제 2 SPS 익스텐션을 포함하도록 서브세트 SPS 를 발생시킬 수도 있다. 제 1 SPS 익스텐션은 제 1 서브세트와, 제 1 서브세트 내의 동작 포인트들이 속하는 레벨들을 표시할 수도 있다. 제 2 SPS 익스텐션은 제 2 서브세트와, 제 2 서브세트 내의 동작 포인트들이 속하는 레벨들을 표시할 수도 있다. 이렇게 하여, 기술들은 동작 포인트들이 텍스처 및 심도 컴포넌트들에 대해 별개로 그리고 레벨에 의해 정의되는 것을 허용할 수도 있다.
이러한 방식으로, 비디오 코딩 디바이스는 심도 컴포넌트들의 특징들을 설명하는 제 1 시퀀스 레벨 정보를 결정할 수도 있고, 비디오 데이터의 동작 포인트의 특징들을 설명하는 제 2 시퀀스 레벨 정보를 결정할 수도 있다. 일부 예들에서, 제 1 시퀀스 레벨 정보는 심도 컴포넌트들의 뷰 종속성을 지정하는 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함한다. 또한, 비디오 코딩 디바이스는 3 차원 비디오 코딩 시퀀스 파라미터 세트에서 표시된 심도 컴포넌트들에 대한 하나 이상의 참조 픽처들을 식별하는 참조 픽처 리스트를 결정할 수도 있다.
일부 예들에서, 제 2 시퀀스 레벨 정보는, 동작 포인트에 대하여, 타겟 출력 뷰들의 리스트, 동작 포인트를 디코딩하는 경우 디코딩될 텍스처 뷰들의 수, 및 동작 포인트를 디코딩하는 경우 디코딩될 심도 뷰들의 수를 설명하였던 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하고, 여기서, 디코딩될 텍스처 뷰들의 수는 심도 뷰들의 수와는 상이하다. 일부 예들에서, 비디오 코딩 디바이스는 타겟 출력 뷰들의 리스트에서 지정된 타겟 출력 뷰들의 각각에 대하여, 이용가능하다면, 하나 이상의 심도 컴포넌트들을 더욱 타겟으로 할 수도 있다.
일부 예들에서, 비디오 코딩 디바이스는 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지를 비디오 데이터의 일부로서 지정할 수도 있고, 여기서, 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지는 심도 컴포넌트들을 갖지 않는 동작 포인트의 설명 또는 심도 컴포넌트들을 갖는 동작 포인트의 설명을 포함한다. 일부 사례들에서, SEI 메시지는 동작 포인트가 심도 컴포넌트들을 포함하는지 여부에 대한 표시를 포함한다. 또한, 일부 예들에서, SEI 메시지는 동작 포인트의 디코딩을 위해 동작 포인트가 심도 컴포넌트들, 및 직접 종속적인 텍스처 뷰들과 함께 직접 종속적인 심도 뷰들을 포함하는지 여부에 대한 표시를 포함한다.
기술들의 이 양태는 멀티뷰 비디오 코딩을 위해 동작 포인트들이 비트스트림으로부터 더욱 용이하게 추출되는 것을 허용하기 위해, 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 레버리지로 활용할 수도 있다. 동작 포인트가 심도를 포함하는지 여부를 시그널링함으로써, 비디오 디코더 (30) 와 같은 비디오 디코더는 어느 동작 포인트가 비디오 디코더 (30) 의 능력들을 최적으로 수용하는지를 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 심도를 포함하지 않는 뷰들을 이용하여 멀티뷰 비디오 코딩을 수행하도록 최적화될 수도 있어서, 좌안 및 우안 관점들 양자 모두가 별도의 픽처들로서 제공되는 멀티뷰 비디오 데이터를 선호할 수도 있다. 대안으로, 비디오 디코더 (30) 는 심도-기반 멀티뷰 비디오 데이터에 대해 최적화될 수도 있지만, 2 개 이상의 뷰들보다는 단일 뷰를 수용하기만 할 수도 있다. 인코딩된 멀티뷰 비디오 데이터가 언제 심도를 포함하는지와, 심도를 포함하는 경우 동작 포인트의 타겟 출력 뷰들이 직접 종속되는 심도 컴포넌트들의 수를 시그널링함으로써, 비디오 디코더 (30) 는 비디오 디코더 (30) 의 기능들 또는 최적화들을 수용하는 동작 포인트를 선택할 수도 있다.
동작 시에, 하나의 예에서, 3D 뷰 스케일러빌러티 정보 SEI 메시지는 다음의 표에서 도시된 바와 같이 지정된 신택스 엘리먼트들을 가질 수도 있다.
Figure pct00017
Figure pct00018
Figure pct00019
대안으로, 3D 뷰 스케일러빌러티 정보 SEI 메시지들은 다음 표에서 정의된 바와 같은 신택스 엘리먼트들을 가질 수도 있다.
Figure pct00020
3DV 뷰 스케일러빌러티 메시지의 다른 신택스 엘리먼트들의 시맨틱들은 MVC 뷰 스케일러빌러티 정보 SEI 메시지의 시맨틱들과 동일하다. 뷰 스케일러빌러티 정보 SEI 내의 신택스 엘리먼트들은 부록 H 에서와 동일한 시맨틱들을 가지지만, 심도 컴포넌트들을 잠재적으로 포함할 수도 있는 동작 포인트들에 적용된다.
상기 표들에서, 1 과 동일한 op_with_depth_flag[i] 는 현재의 동작 포인트가 심도 뷰들을 포함하는 것을 표시한다. 0 과 동일한 op_with_depth_flag[i] 는 현재의 동작 포인트가 임의의 심도 뷰들을 포함하지 않는다는 것을 표시한다. num_directly_dependent_views[i] 및 directly_dependent_view_id[i][j] 은 동작 포인트가 텍스처 및 심도 양자 모두를 포함할 경우에 (0 과 동일한 op_with_depth_flag[i]) 동작 포인트의 텍스처 컴포넌트들에만 적용된다. 대안으로, 2 개의 신택스 엘리먼트들의 명칭들은 상기한 바와 동일한 시맨틱들을 갖는 num_directly_dependent_texture_views[i] 및 directly_dependent_texture_view_id[i][j] 로 각각 변경된다. 3DV 뷰 스케일러빌러티 메시지의 다른 신택스 메시지들의 시맨틱들은 MVC 뷰 스케일러빌러티 정보 SEI 메시지의 시맨틱들과 동일하다.
상기 표들에서, num_directly_dependent_depth_views[i] 는 현재의 동작 포인트의 타겟 출력 뷰가 현재의 동작 포인트의 표현 내에서 직접 종속적인 심도 뷰들의 수를 지정한다. num_directly_dependent_depth_views[i] 의 값은 0 내지 16 까지의 범위일 것이다.
상기 표들에서, directly_dependent_depth_view_id[i][j] 는 현재의 동작 포인트의 타겟 출력 뷰의 심도 뷰가 현재의 동작 포인트의 표현 내에서 직접 종속적인 j 번째 뷰의 view_id 를 지정한다. directly_dependent_depth_view_id[i][j] 의 값은 0 내지 1023 까지의 범위일 것이다.
다른 예들에서, 심도 단독 동작 포인트들은 이 SEI 메시지에서 시그널링될 수도 있고, 이에 따라, 다음의 표에서 도시된 바와 같이, 표시 op_texture_depth_idc[i] 가 추가된다.
Figure pct00021
상기 표에서, 0 과 동일한 op_texture_depth_idc[i] 는 현재의 동작 포인트들이 텍스처 컴포넌트들만을 포함한다는 것을 표시한다. 1 과 동일한 op_texture_depth_idc[i] 신택스 엘리먼트는 현재의 동작 포인트가 텍스처 컴포넌트들 및 심도 컴포넌트들 양자 모두를 포함한다는 것을 표시한다. 2 와 동일한 op_texture_depth_idc[i] 신택스 엘리먼트는 현재의 동작 포인트가 심도 컴포넌트들만을 포함한다는 것을 표시한다. Num_directly_dependent_views[i] 및 directly_dependent_view_id[i][j] 는 동작 포인트가 텍스처를 포함할 경우에 (0 또는 1 과 동일한 op_texture_depth_idc[i]) 동작 포인트의 텍스처 컴포넌트들에만 적용된다. Num_directly_dependent_views[i] 및 directly_dependent_view_id[i][j] 는 동작 포인트가 텍스처만을 포함할 경우에 (2 와 동일한 op_texture_depth_idc[i]) 동작 포인트의 심도 컴포넌트들에만 적용된다.
일부 예들에서는, 개시물의 기술들에 따르면, 비디오 인코더가 제 1 신택스 엘리먼트, 제 2 신택스 엘리먼트, 및 제 3 신택스 엘리먼트를 포함하는 SEI 메시지를 발생시킬 수도 있다. 제 1 신택스 엘리먼트는 동작 포인트가 심도 컴포넌트를 포함하는지 여부를 표시한다. 동작 포인트가 심도 뷰를 포함할 경우, 제 2 신택스 엘리먼트는 동작 포인트의 타겟 출력 뷰가 직접적으로 종속되는 심도 컴포넌트들의 수를 표시하고, 제 3 신택스 엘리먼트들은 동작 포인트의 타겟 출력 뷰가 직접 종속되는 심도 컴포넌트들을 식별한다. 비디오 인코더는 심도 컴포넌트들을 인코딩할 수도 있다.
일부의 이러한 예들에서, 비디오 인코더는 SEI 메시지가 제 4 신택스 엘리먼트 및 제 5 신택스 엘리먼트들을 포함하도록 SEI 메시지를 발생시킬 수도 있다. 동작 포인트가 텍스처 및 심도 컴포넌트들 양자 모두를 가질 경우, 제 4 신택스 엘리먼트는 얼마나 많은 텍스처 컴포넌트들이 동작 포인트와 연관되는지를 표시하고, 제 5 신택스 엘리먼트들은 동작 포인트의 타겟 출력 뷰가 직접 종속되는 텍스처 컴포넌트들을 식별한다.
대안으로, 비디오 인코더는 SEI 메시지에서 심도-단독 동작 포인트들을 시그널링할 수도 있다. 예를 들어, 비디오 인코더는 제 1 신택스 엘리먼트가 동작 포인트가 텍스처 컴포넌트들만을 포함하는지, 텍스처 컴포넌트들 및 심도 컴포넌트들 양자 모두를 포함하는지, 또는 심도 컴포넌트들만을 포함하는지 여부를 표시하도록 SEI 메시지를 발생시킬 수도 있다.
게다가, 일부 예들에서, 본 개시물의 기술들은 제 1 신택스 엘리먼트, 제 2 신택스 엘리먼트, 및 제 3 신택스 엘리먼트들을 포함하는 SEI 메시지를 수신하는 비디오 디코더를 제공할 수도 있다. 제 1 신택스 엘리먼트는 동작 포인트가 심도 컴포넌트를 포함하는지 여부를 표시한다. 동작 포인트가 심도 뷰를 포함할 경우, 제 2 신택스 엘리먼트는 동작 포인트의 타겟 출력 뷰가 직접 종속되는 심도 컴포넌트들의 수를 표시하고, 제 3 신택스 엘리먼트들은 동작 포인트의 타겟 출력 뷰가 직접 종속되는 심도 컴포넌트들을 식별한다. 비디오 디코더는 심도 컴포넌트들을 디코딩할 수도 있다.
게다가, SEI 메시지는 제 4 신택스 엘리먼트 및 제 5 신택스 엘리먼트들을 포함할 수도 있다. 동작 포인트가 텍스처 및 심도 컴포넌트들 양자 모두를 가질 경우, 제 4 신택스 엘리먼트는 얼마나 많은 텍스처 컴포넌트들이 동작 포인트와 연관되는지를 표시하고, 제 5 신택스 엘리먼트들은 동작 포인트의 타겟 출력 뷰가 직접 종속되는 텍스처 컴포넌트들을 식별한다.
대안으로, SEI 메시지는 SEI 메시지에서의 심도-단독 동작 포인트들을 시그널링할 수도 있다. 예를 들어, 제 1 신택스 엘리먼트는 동작 포인트가 텍스처 컴포넌트들만을 포함하는지, 텍스처 컴포넌트들 및 심도 컴포넌트들 양자 모두를 포함하는지, 또는 심도 컴포넌트들만을 포함하는지 여부를 표시할 수도 있다.
동작 포인트들과, 텍스처 및 심도 컴포넌트들의 별도의 핸들링을 잠재적으로 제공하기 위해 동작 포인트들을 적응시키거나 수정하는 것에 대하여, 본 개시물에서 설명된 기술들의 다양한 양태들은 심도 컴포넌트들을 포함하는 동작 포인트들의 레벨들의 시그널링을 4 개의 상이한 방법들로 제공할 수도 있다: 1) SPS 신택스 엘리먼트들을 재이용하는 것, 2) 3DVC SPS 익스텐션에서 유사한 신택스 엘리먼트들을 이용하는 것, 3) 3DVC SPS 익스텐션에서 더 많은 신택스 엘리먼트들을 추가하는 것, 및 4) 3DVC SPS 익스텐션에서 더 많은 신택스 엘리먼트들의 교대 세트를 이용하는 것.
첫 번째 방법, 즉, SPS 신택스 엘리먼트들을 재이용하는 것에 대하여, MVC SPS 익스텐션에서의 레벨 정의들 신택스 엘리먼트들은 심도 컴포넌트들을 포함하는 동작 포인트들을 표시하기 위해 이용된다. 서브세트 SPS 의 일부로서 MVC SPS 익스텐션에서 시그널링되는 각각의 동작 포인트는 3D 비디오 프로파일들 중 하나에 속하는 profile_idc 를 포함한다. 각각의 동작 포인트는 출력 뷰들의 수를 지정하고, 출력 뷰들의 각각은 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두를 포함한다. 동작 포인트 생성 유닛 (114) 은 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 용이하게 하기 위해 이 첫 번째 방법을 구현할 수도 있다.
두 번째 방법, 즉, 3DV SPS 익스텐션에서 유사한 신택스 엘리먼트들을 이용하는 것에 대하여, MVC SPS 익스텐션에서의 레벨 정의들 신택스 엘리먼트들은 텍스처 컴포넌트만을 포함하는 동작 포인트들을 표시하기 위해 여전히 이용될 수도 있다. 서브세트 SPS 의 3DVC SPS 익스텐션에서는, 유사한 레벨 정의들이 추가되어, 심도 컴포넌트들을 포함하는 동작 포인트들을 표시한다. 동작 포인트 생성 유닛 (114) 은 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 용이하게 하기 위해 이 두 번째 방법을 구현할 수도 있다. 다음의 신택스 표들은 유사한 신택스 엘리먼트들을 예시한다.
Figure pct00022
Figure pct00023
Figure pct00024
상기 신택스 표에서, 각각의 동작 포인트는 num_target_views_minus1[i][j]+1 뷰들을 가지며, 그 각각은 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두를 포함한다. 따라서, 신택스 엘리먼트들의 시맨틱들은, 각각의 뷰가 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두를 포함하거나, 또는 동등하게는, 각각의 뷰 컴포넌트가 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두를 포함하는 것을 제외하고는, SPS MVC 익스텐션에서의 신택스 엘리먼트들의 시맨틱들과 동일하다.
세 번째 방법, 즉, 3DV SPS 익스텐션에서 더 많은 신택스 엘리먼트들을 추가하는 것에 대하여, 3DV SPS 익스텐션은 MVC SPS 익스텐션에서 시그널링되는 동작 포인트들 외에 시그널링될 필요가 있는 텍스처 컴포넌트들을 포함하는 더 많은 동작 포인트들을 추가할 수도 있다. 이 경우, 동작 포인트 생성 유닛 (114) 은 다음의 신택스 표에서 도시된 바와 같이, 현재의 동작 포인트가 심도 컴포넌트를 포함하는지 아닌지의 여부를 표시하기 위해 추가적인 플래그를 추가할 수도 있다.
Figure pct00025
상기 표에서, 1 과 동일한 applicable_op_with_depth_flag[i][j] 는 현재의 동작 포인트 (i 및 j 에 의해 식별됨) 에서, 각각의 타겟 출력 뷰가 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두를 포함한다는 것을 표시하고, 0 과 동일한 이 플래그는 현재의 동작 포인트에서, 각각의 타겟 출력 뷰에 대하여 텍스처만을 포함한다는 것을 표시한다. 3DVC 스케일러블 네스팅 SEI 메시지의 다른 신택스 엘리먼트들의 시맨틱들은 MVC 스케일러블 네스팅 SEI 메시지의 시맨틱들과 동일하다.
네 번째 방법, 즉, 3DV SPS 익스텐션에서 더 많은 신택스 엘리먼트들의 교대 세트를 이용하는 것에 대하여, 심도 단독 동작 포인트들이 있을 수도 있다. 이 사례에서, 동작 포인트 생성 유닛 (114) 은 각각의 동작 포인트에 대한 3 개의 상이한 경우들: 텍스처 단독, 심도 단독, 및 텍스처 및 심도 양자 모두를 시그널링하기 위해 2-비트 표시를 추가할 수도 있다. 다음의 표는 SPS 3DVC 익스텐션에 추가될 이 새로운 신택스 엘리먼트들을 예시한다:
Figure pct00026
상기 표에서, 0 과 동일한 applicable_op_with_texture_depth_idc[i][j] 는, 현재의 동작 포인트 (i 및 j 에 의해 식별됨) 에서, 각각의 타겟 출력 뷰가 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두를 포함한다는 것을 표시하고, 1 과 동일한 applicable_op_with_texture_depth_idc[i][j] 는 현재의 동작 포인트가 각각의 타겟 출력 뷰에 대해 텍스처만을 포함한다는 것을 표시하고, 2 와 동일한 applicable_op_with_texture_depth_idc[i][j] 는 현재의 동작 포인트가 각각의 타겟 출력 뷰에 대해 심도만을 포함한다는 것을 표시한다. 대안으로, applicable_op_with_texture_depth_idc[i][j] 는 ue(v) 로서 코딩될 수 있다.
일부 사례들에서는, 3DV 동작 포인트에 대하여, 심도 뷰들은 상이한 인터-뷰 종속성들을 가질 수도 있으므로, 2 개의 상이한 뷰 종속성들이 예를 들어, 활성 텍스처 MVC SPS 및 활성 뷰 MVC SPS 에서 시그널링될 수도 있다. 하나의 예는 심도에 대하여 인터-뷰 종속성이 전혀 없을 수도 있다는 것이다. 이 경우, applicable_op_num_views_minus1 [i][j] 의 시맨틱들은 명확하지 않다. MVC 의 맥락에서, applicable_op_num_views_minus1[i][j] 는 지정 동작 포인트에 대해 디코딩될 뷰들의 수를 지정한다.
일부 예들에서는, 텍스처 및 심도에 대하여 동일한 뷰 종속성이 가정될 수 있다. 텍스처 및 심도의 뷰 종속성들이 동일할 경우, 이 신택스 엘리먼트 (즉, applicable_op_num_views_minus1[i][j]) 의 시맨틱들은 디코딩될 뷰들의 수에 정렬되도록 유지될 수 있지만, 각각의 뷰가 텍스처 및 심도를 포함하는 것으로 암시된다.
일부 예들에서는, 텍스처 및 심도 양자 모두에 대해 디코딩될 뷰들의 정확한 수들이 시그널링된다. 다음의 표는 기술들의 이 양태를 통합하는 시퀀스 파라미터 세트 3DVC 익스텐션의 신택스 엘리먼트들을 예시한다:
Figure pct00027
상기 표에서, applicable_op_num_views_minus1[i][j] 플러스 1 은 level_idc[i] 에 의해 표시된 레벨이 적용되는 j 번째 동작 포인트에 대응하는 타겟 출력 뷰들을 디코딩하기 위해 요구되는 텍스처 뷰들의 수를 지정한다. Applicable_op_num_views_depth_minus1[i][j] 플러스 1 은 level_idc[i] 에 의해 표시된 레벨이 적용되는 j 번째 동작 포인트에 대응하는 타겟 출력 뷰들을 디코딩하기 위해 요구되는 심도 뷰들의 수를 지정한다. 대안으로, applicable_op_num_views_depth_minus1[i][j] 는 추가되지 않지만, applicable_op_num_views_minus1[i][j] 의 시맨틱들은 변경된다. Applicable_op_num_views_minus1[i][j] 플러스 1 은 level_idc[i] 에 의해 표시된 레벨이 적용되는 j 번째 동작 포인트에 대응하는 타겟 출력 뷰들을 디코딩하기 위해 요구되는 텍스처 뷰들의 수 플러스 심도 뷰들의 수를 지정한다.
일부 사례들에서, 본 개시물의 기술들은 시퀀스 파라미터 세트에서, 동작 포인트에 대해 디코딩될 텍스처 뷰들의 수 및 동작 포인트에 대해 디코딩될 심도 뷰들의 수를 시그널링하는 것을 제공한다. 텍스처 뷰들의 수 및 심도 뷰들의 수를 시그널링하는 것은, 시퀀스 파라미터 세트에서, 동작 포인트에 대해 디코딩될 뷰들의 수를 표시하는 신택스 엘리먼트를 발생시키는 것을 포함할 수도 있고, 뷰들의 각각은 텍스처 뷰들 중 하나와, 심도 뷰들 중 하나를 가질 수도 있다. 텍스처 뷰들의 수 및 심도 뷰들의 수를 시그널링하는 것은, 시퀀스 파라미터 세트에서, 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 발생시키는 것을 포함할 수도 있고, 제 1 신택스 엘리먼트는 동작 포인트에 대해 디코딩될 텍스처 뷰들의 수를 지정할 수도 있고, 제 2 신택스 엘리먼트는 동작 포인트에 대해 디코딩될 심도 뷰들의 수를 지정할 수도 있다. 텍스처 뷰들의 수 및 심도 뷰들의 수를 시그널링하는 것은, 시퀀스 파라미터 세트에서, 동작 포인트에 대해 디코딩될 텍스처 뷰들의 수 플러스 동작 포인트에 대해 디코딩될 심도 뷰들의 수를 표시하는 신택스 엘리먼트를 발생시키는 것을 포함할 수도 있다.
일부 예들에서, 본 개시물의 기술들은 동작 포인트에 대해 디코딩될 텍스처 뷰들의 수 및 동작 포인트에 대해 디코딩될 심도 뷰들의 수를 시그널링하는 시퀀스 파라미터 세트를 수신하는 것을 제공할 수도 있다. 이러한 예들에서, 시퀀스 파라미터 세트는 동작 포인트에 대해 디코딩될 뷰들의 수를 표시하는 신택스 엘리먼트를 포함할 수도 있고, 뷰들의 각각은 텍스처 뷰들 중 하나와, 심도 뷰들 중 하나를 가질 수도 있다. 시퀀스 파라미터 세트는 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 포함할 수도 있고, 제 1 신택스 엘리먼트는 동작 포인트에 대해 디코딩될 텍스처 뷰들의 수를 지정할 수도 있고, 제 2 신택스 엘리먼트는 동작 포인트에 대해 디코딩될 심도 뷰들의 수를 지정할 수도 있다. 시퀀스 파라미터 세트는 동작 포인트에 대해 디코딩될 텍스처 뷰들의 수 플러스 동작 포인트에 대해 디코딩될 심도 뷰들의 수를 표시하는 신택스 엘리먼트를 포함할 수도 있다.
기술들의 다양한 양태들이 캡슐화 유닛 (21) 에 의해 수행되는 것으로 위에서 설명되고 있지만, 그 기술들은 디캡슐화 유닛 (29) 에 의해 동일하거나 상반되는 방식으로 수행될 수도 있다. 또한, 캡슐화 유닛 (21) 에 의해 수행되는 것으로 위에서 설명된 기술들의 다양한 양태들은 또한, 다른 구현들에서, (비디오 인코더 (20) 에 의해 수행되는 동작들과 동일하거나 상반되는 동작들을 수행하는 비디오 디코더 (30) 와 함께) 비디오 인코더 (20) 에 의해 수행될 수도 있다. 따라서, 지정한 구현이 도 1 내지 도 3 의 예들에서 도시되어 있지만, 그 기술들은 이 예에 제한되어야 하는 것이 아니라, 멀티뷰 비디오 데이터에 의해 지정된 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들의 별도의 핸들링을 제공하는 다른 구현들에 적용될 수도 있다.
도 5 는 일 예의 MVC 예측 패턴을 예시하는 개념적인 도면이다. MVC 의 다음의 설명은 3DVC 가 MVC 플러스 심도를 통합한다는 의미에서, 다시 3DVC 에 관련된다. 따라서, MVC 의 설명과, MVC 에 의해 제공되는 다양한 예측들은 3DVC 와, 3DVC 에 관련되는 본 개시물에서 설명된 기술들을 이해하기 위한 상황을 제공하기 위해 설명된다.
도 5 의 예에서는, 8 개의 뷰들이 예시되어 있고, 12 개의 시간적인 위치들이 각각의 뷰에 대해 예시된다. 일반적으로, 도 5 의 각각의 행은 뷰에 대응하는 반면, 각각의 열은 시간적인 위치를 표시한다. 뷰들의 각각은 뷰 식별자 ("view_id") 를 이용하여 식별될 수도 있고, 이 뷰 식별자는 다른 뷰들에 대한 상대적인 카메라 위치를 표시하기 위해 이용될 수도 있다. 도 5 에 도시된 예에서, 뷰 ID 들은 "S0" 내지 "S7" 로서 표시되지만, 수치인 뷰 ID 들이 또한 이용될 수도 있다. 추가적으로, 시간적인 위치들의 각각은 픽처들의 디스플레이 순서를 표시하는 픽처 순서 카운트 (POC) 값을 이용하여 식별될 수도 있다. 도 4 에 도시된 예에서, POC 값들은 "T0" 내지 "T11" 로서 식별된다.
MVC 는 H.264/AVC 디코더들에 의해 디코딩 가능한 소위 베이스 뷰를 가지며 스테레오 뷰 쌍은 MVC 에 의해 지원될 수 있지만, MVC 는 2 개를 초과하는 뷰들을 3D 비디오 입력으로서 지원할 수도 있다. 따라서, MVC 디코더를 가지는 클라이언트의 렌더러 (renderer) 는 다수의 뷰들을 갖는 3D 비디오 컨텐츠를 예상할 수도 있다.
도 5 의 픽처들은 글자를 포함하는 음영처리된 블록을 이용하여 표시되어, 대응하는 픽처가 인트라-코딩되는지 (즉, I-프레임), 하나의 방향에서 인터-코딩되는지 (즉, P-프레임으로서), 또는 다수의 방향들에서 인터-코딩되는지 (즉, B-프레임으로서) 여부를 나타낸다. 일반적으로, 예측들은 화살표들에 의해 표시되고, 여기서, 포인티드-투 (pointed-to) 픽처는 예측 참조를 위해 포인트-프롬 (point-from) 객체를 이용한다. 예를 들어, 시간적인 위치 (T0) 에서의 뷰 (S2) 의 P-프레임은 시간적인 위치 (T0) 에서의 뷰 (S0) 의 I-프레임으로부터 예측된다. 도 5 에 도시된 픽처들의 각각은 뷰 컴포넌트라고 지칭될 수도 있다.
단일 뷰 비디오 인코딩과 마찬가지로, 멀티뷰 비디오 시퀀스의 픽처들은 상이한 시간적인 위치들에서 픽처들에 대하여 예측에 의해 인코딩될 수도 있다. 예를 들어, 시간적인 위치 (T1) 에서의 뷰 (S0) 의 b-프레임은 시간적인 위치 (T0) 에서의 뷰 (S0) 의 I-프레임으로부터 자신에게 지시된 화살표를 가지며, b-프레임이 I-프레임으로부터 예측된다는 것을 표시한다. 그러나, 추가적으로, 멀티뷰 비디오 인코딩의 맥락에서는, 픽처들이 인터-뷰 예측될 수도 있다. 즉, 뷰 컴포넌트는 참조를 위한 다른 뷰들에서 뷰 컴포넌트들을 이용할 수 있다. MVC 에서, 예를 들어, 인터-뷰 예측은 또 다른 뷰에서의 뷰 컴포넌트가 인터-예측 참조인 것처럼 실현된다. 잠재적인 인터-뷰 참조들은 SPS MVC 익스텐션에서 시그널링될 수도 있고, 참조 픽처 리스트 구성 프로세스에 의해 수정될 수도 있고, 이 참조 픽처 리스트 구성 프로세스는 인터-예측 또는 인터-뷰 예측 참조들의 유연성 있는 순서화를 가능하게 한다.
도 5 는 인터-뷰 예측의 다양한 예들을 제공한다. 도 5 의 예에서, 뷰 (S1) 의 픽처들은 동일한 시간적인 위치들에서의 뷰들 (S0 및 S2) 의 픽처들의 픽처들로부터 예측되는 인터-뷰 뿐만 아니라, 뷰 (S1) 의 상이한 시간적인 위치들에서의 픽처들로부터 예측되는 것으로 예시된다. 예를 들어, 시간적인 위치 (T1) 에서의 뷰 (S1) 의 b-프레임은 시간적인 위치 (T1) 에서의 뷰들 (S0 및 S2) 의 b-프레임들 뿐만 아니라, 시간적인 위치들 (T0 및 T2) 에서의 뷰 (S1) 의 B-프레임들의 각각으로부터 예측된다.
도 5 의 예에서, 대문자 "B" 및 소문자 "b" 는 상이한 인코딩 방법들보다는, 픽처들 사이의 상이한 계층적 관계들을 표시하도록 의도된 것이다. 일반적으로, 대문자 "B" 프레임들은 소문자 "b" 프레임들보다 예측 계층에서 상대적으로 더 높다. 도 5 는 상이한 음영처리의 레벨들을 이용하여 예측 계층에서의 변동들을 또한 예시하며, 여기서, 더 큰 양의 음영처리 (즉, 상대적으로 더 어두운) 픽처들은 적은 음영처리를 갖는 (즉, 상대적으로 더 밝은) 그러한 픽처들보다 예측 계층에서 더 높다. 예를 들어, 도 5 의 모든 I-프레임들은 완전 음영처리로 예시되는 반면, P-프레임들은 다소 더 밝은 음영처리를 가지며, B-프레임들 (및 소문자 b-프레임들) 은 서로에 대해 상대적인 다양한 음영처리의 레벨들을 가지지만, P-프레임들 및 I-프레임들의 음영처리보다는 항상 더 밝다.
일반적으로, 예측 계층에서 상대적으로 더 높은 픽처들은 계층에서 상대적으로 더 낮은 픽처들을 디코딩하기 전에 디코딩되어야 하므로, 계층에서 상대적으로 더 높은 그러한 픽처들은 계층에서 상대적으로 더 낮은 픽처들의 디코딩 동안에 참조 픽처들로서 이용될 수 있다는 점에서, 예측 계층은 뷰 순서 인덱스들에 관련된다. 뷰 순서 인덱스는 액세스 유닛에서 뷰 컴포넌트들의 디코딩 순서를 표시하는 인덱스이다. 뷰 순서 인덱스들은 SPS 와 같은 파라미터 세트에서 암시될 수도 있다.
이러한 방식으로, 참조 픽처들로서 이용되는 픽처들은 참조 픽처들을 참조하여 인코딩되는 픽처들을 디코딩하기 전에 디코딩될 수도 있다. 뷰 순서 인덱스는 액세스 유닛에서 뷰 컴포넌트들의 디코딩 순서를 표시하는 인덱스이다. MVC/AVC 에 따르면, 각각의 뷰 순서 인덱스 i 에 대하여, 대응하는 view_id 가 시그널링된다. 뷰 컴포넌트들의 디코딩은 뷰 순서 인덱스들의 상승 순서를 따른다. 모든 뷰들이 제시될 경우, 뷰 순서 인덱스들의 세트는 제로로부터 뷰들의 모든 수보다 하나 적은 것까지의 연속적으로 순서화된 세트를 포함한다.
일부 사례들에서, 전체 비트스트림의 서브세트는 MVC 를 여전히 준수하는 서브-비트스트림을 형성하기 위해 추출될 수 있다. 예를 들어, 서버에 의해 제공되는 서비스, 용량, 지원, 및 하나 이상의 클라이언트들의 디코더들의 기능들, 및/또는 하나 이상의 클라이언트들의 선호도에 기초하여 지정 애플리케이션들이 요구할 수도 있는 다수의 가능한 서브-비트스트림들이 있다. 예를 들어, 클라이언트는 3 개의 뷰들만을 요구할 수도 있고, 2 개의 시나리오들이 있을 수도 있다. 하나의 예에서, 하나의 클라이언트는 평활한 시청 경험을 요구할 수도 있고 view_id 값들 S0, S1, 및 S2 를 갖는 뷰들을 선호할 수도 있는 반면, 또 다른 클라이언트는 뷰 스케일러빌러티를 요구할 수도 있고 view_id 값들 S0, S2, 및 S4 를 갖는 뷰들을 선호할 수도 있다. 이 서브-비트스트림들 양자 모두는 독립적인 MVC 비트스트림들로서 디코딩될 수 있고 동시에 지원될 수 있다.
도 5 는 위에서 언급된 바와 같이 8 개의 뷰들 (S0 - S7) 을 도시하지만, MVC/AVC 익스텐션은 1024 에 이르는 뷰들을 지원하고, NAL 유닛이 속하는 뷰를 식별하기 위해 NAL 유닛 헤더 내의 view_id 를 이용한다. 뷰 순서 인덱스는 NAL 유닛 헤더의 부분으로서 시그널링될 수도 있다. 즉, 비교의 목적들을 위해, 뷰 순서 인덱스는 MVC/AVC 익스텐션의 NAL 유닛 헤더에서 시그널링되는 view_id 를 대체할 수도 있다. 뷰 순서는 액세스 유닛에서 뷰들의 순서화를 일반적으로 설명하고, 뷰 순서 인덱스는 액세스 유닛의 뷰 순서에서 지정한 뷰를 식별한다. 즉, 뷰 순서 인덱스는 액세스 유닛의 대응하는 뷰 컴포넌트의 디코딩 순서를 설명한다.
따라서, SPS 는 뷰들에 대한 view_id 들과, 뷰들에 대한 뷰 순서 인덱스들 사이의 관계를 제공할 수도 있다. SPS 에서 뷰 순서 인덱스 및 데이터를 이용하면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 NAL 유닛 헤더에서의 MVC/AVC 의 10 비트 view_id 를 뷰 순서 인덱스에 의해 대체할 수도 있고, 이것은 MAV/AVC 방식에 비해 비트 절감을 초래할 수도 있다.
뷰들에 대한 view_id 들과 뷰 순서 인덱스들 사이의 관계를 제공하는 일 예의 SPS 는 아래의 표에서 제공된다:
시퀀스 파라미터 세트 MVC 익스텐션
Figure pct00028
상기 표에서 도시된 SPS 는 코딩된 비디오 시퀀스에 대한 인터-뷰 종속성 관계들을 지정한다. SPS 는 코딩된 비디오 시퀀스에 대한 동작 포인트들의 서브세트에 대한 레벨 값들을 또한 지정한다. 코딩된 비디오 시퀀스에 의해 참조되는 모든 SPS 들은 동일해야 한다. 그러나, view_id[i] 에 의해 식별된 일부 뷰들은 코딩된 비디오 시퀀스에서 존재하지 않을 수도 있다. 추가적으로, SPS 에 의해 설명되는 일부 뷰들 또는 시간적인 서브세트들은 원래의 코딩된 비디오 시퀀스로부터 제거되었을 수도 있고, 따라서, 코딩된 비디오 시퀀스에서 존재하지 않을 수도 있다. 그러나, SPS 에서의 정보는 나머지 뷰들 및 시간적인 서브세트들에 항상 적용될 수도 있다.
상기 표에서, num_views_minus1 플러스 1 신택스 엘리먼트는 코딩된 비디오 시퀀스에서의 코딩된 뷰들의 최대 수를 지정한다. num_view_minus1 의 값은 0 내지 31 까지의 범위일 수도 있다. 일부 사례들에서, 코딩된 비디오 시퀀스에서의 뷰들의 실제적인 수는 num_views_minus1 플러스 1 보다 작을 수도 있다. view_id[i] 엘리먼트는 i 와 동일한 뷰 순서 인덱스를 갖는 뷰의 뷰 식별자를 지정한다. view_level[i] 엘리먼트는 i 와 동일한 뷰 순서 인덱스를 갖는 뷰의 view_level 을 지정한다. 일부 예들에서, 미리 정의된 값 (VL) 에 이르는 view_level 을 갖는 모든 뷰 컴포넌트들은 VL 보다 더 큰 view_level 을 갖는 임의의 뷰 컴포넌트를 디코딩하지 않으면서 디코딩 가능할 수도 있다.
num_ref_views[i] 엘리먼트는, i 와 동일한 뷰 순서 인덱스를 갖는 뷰 컴포넌트들을 디코딩하는 경우 초기 참조 픽처 리스트 RefPicList0 및 RefPicList1 에서 인터-뷰 예측을 위한 뷰 컴포넌트들의 수를 지정한다. num_ref_views[i] 엘리먼트의 값은 Min (15, num_views_minus1) 보다 더 크지 않을 수도 있다. num_ref_views[0] 의 값은 0 과 동일할 수도 있다. 추가적으로, ref_view_idx[i][j] 엘리먼트는, i 와 동일한 뷰 순서 인덱스를 갖는 뷰 컴포넌트를 디코딩하는 경우 초기 참조 픽처 리스트 RefPicList0 및 RefPicList1 에서 인터-뷰 예측을 위한 j 번째 뷰 컴포넌트의 뷰 순서 인덱스를 지정할 수도 있다. ref_view_idx[i][j] 의 값은 0 내지 31 까지의 범위일 수도 있다.
도 6 은 본 개시물에서 설명된 기술들의 다양한 양태들에 따라 파라미터 세트 활성화를 구현함에 있어서의 비디오 코딩 디바이스의 동작을 예시하는 흐름도이다. 초기에, 비디오 디코더 (30) 와 같은 비디오 코딩 디바이스는 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 순서 인덱스 값을 결정할 수도 있다 (130). 이 순서 인덱스 값은 도 5 에 대하여 위에서 더욱 상세하게 설명된다. 위에서 설명된 바와 같이, 다음으로, 비디오 디코더 (30) 는 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당되는 결정된 뷰 순서 인덱스 값에 적어도 기초하여 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 파라미터 세트로서 활성화할 수도 있다 (132). 이 텍스처 파라미터 세트를 활성화한 후, 다음으로, 비디오 인코더 (30) 는 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩할 수도 있다 (134).
일부 사례들에서, 비디오 디코더 (30) 는 활성화된 텍스처 파라미터 세트에 기초하여 뷰 컴포넌트의 심도 컴포넌트가 아니라, 뷰 컴포넌트의 텍스처 컴포넌트만을 코딩한다. 일부 사례들에서, 비디오 디코더 (30) 는 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 뷰 컴포넌트의 심도 컴포넌트에 대하여 또 다른 파라미터 세트를 활성화하고, 위에서 설명된 방식으로 활성화된 텍스처 파라미터가 아니라, 뷰 컴포넌트의 심도 컴포넌트에 대해 활성화된 파라미터 세트에 기초하여 뷰 컴포넌트의 심도 컴포넌트를 디코딩한다. 따라서, 도 6 의 예에서 명시적으로 도시되지 않았지만, 추가적인 파라미터 세트들이 심도 컴포넌트에 대해 개별적으로 활성화될 수도 있고, 다음으로, 비디오 디코더 (30) 는 텍스처 컴포넌트가 아니라 심도 컴포넌트를 디코딩하기 위해 이를 이용할 수도 있다.
상기 설명된 사례들 중 일부에서, 비디오 디코더 (30) 는 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 멀티뷰 비디오 데이터의 뷰 컴포넌트를 코딩하기 위한 시퀀스 파라미터 세트를 활성화할 수도 있다. 또한, 위에서 언급된 바와 같이, 비디오 디코더 (30) 는, 텍스처 시퀀스 파라미터 세트에 의해 지정된 하나 이상의 신택스 엘리먼트들이 활성화된 시퀀스 파라미터 세트에 의해 지정된 하나 이상의 신택스 엘리먼트들을 무효화하거나 증대시키도록, 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 시퀀스 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 시퀀스 파라미터 세트로서 활성화할 수도 있다.
상기 설명된 예들 중 일부에서, 비디오 디코더 (30) 는, 텍스처 픽처 파라미터 세트에 의해 지정된 하나 이상의 신택스 엘리먼트들이 활성화된 시퀀스 파라미터 세트에 의해 지정된 하나 이상의 신택스 엘리먼트들을 무효화하거나 증대시키도록, 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 픽처 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 픽처 파라미터 세트로서 활성화할 수도 있다.
상기 설명된 예들 중 일부에서, 비디오 디코더 (30) 는 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 픽처 파라미터 세트를 멀티뷰 비디오 데이터의 뷰 컴포넌트에 대한 뷰 픽처 파라미터 세트로서 활성화할 수도 있다. 추가적으로, 다음으로, 비디오 디코더 (30) 는, 텍스처 픽처 파라미터 세트에 의해 지정된 하나 이상의 신택스 엘리먼트들이 활성화된 뷰 픽처 파라미터 세트에 의해 지정된 하나 이상의 신택스 엘리먼트들을 무효화하거나 증대시키도록, 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여 픽처 파라미터 세트를 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 픽처 파라미터 세트로서 활성화함으로써, 파라미터 세트를 텍스처 파라미터 세트로서 활성화할 수도 있다.
일부 예들에서, 다음으로, 비디오 디코더 (30) 는, 멀티뷰 비디오 데이터의 뷰 컴포넌트에 할당된 뷰 순서 인덱스 값에 적어도 기초하여, 시퀀스 파라미터 세트 및 픽처 파라미터 중 하나 이상을, 뷰 컴포넌트의 텍스처 컴포넌트에 대한 텍스처 시퀀스 파라미터 세트 및 텍스처 픽처 파라미터 세트로서 각각 활성화함으로써, 파라미터 세트를 텍스처 파라미터 세트로서 활성화할 수도 있다.
도 6 에 대하여 도시되고 설명된 단계들은 단지 하나의 예로서 제공된다는 것을 또한 이해해야 한다. 즉, 도 6 의 예에서 도시된 단계들은 반드시 도 6 에 도시된 순서로 수행될 필요가 없으며, 더 적거나, 추가적인, 또는 대안적인 단계들이 수행될 수도 있다. 또한, 기술들은 지정한 비디오 코더, 즉, 비디오 디코더 (30) 에 대하여 위에서 설명되어 있지만, 기술들은 비디오 인코더 (20) 를 포함하는 임의의 비디오 코더에 의해 구현될 수도 있다.
도 7 은 본 개시물에서 설명된 기술들에 따라 네스팅된 SEI 메시지들을 발생시키기 위해 멀티뷰 비디오 데이터를 프로세싱하는 일 예의 동작을 예시하는 흐름도이다. 아래의 지정한 유닛, 즉, 캡슐화 유닛 (21) 에 대하여 설명되었지만, 기술들은 목적지 디바이스 (14) 및, 특히, 목적지 디바이스 (14) 의 디캡슐화 유닛 (29) 을 포함하는 임의의 비디오 코딩 디바이스에 의해 일반적으로 구현될 수도 있다.
초기에, 캡슐화 유닛 (21) 은 인코딩된 멀티뷰 비디오 데이터를 수신하고, 위에서 설명된 방식으로 멀티뷰 비디오 데이터의 뷰 컴포넌트를 프로세싱하는 경우 적용되는 보충 강화 정보 (SEI) 메시지를 결정하는 SEI 메시지 발생 유닛 (108) 을 호출한다 (140). 위에서 설명된 바와 같이, SEI 메시지 발생 유닛 (108) 은 네스팅된 SEI 메시지가 뷰 컴포넌트의 텍스처 및 심도 컴포넌트들 양자 모두에 또는 뷰 컴포넌트의 심도 컴포넌트에만 적용되는지 여부를 또한 결정할 수도 있다 (141). 네스팅된 SEI 메시지가 심도 컴포넌트에만 적용되는 것으로 결정할 시에는 ("아니오" 141), SEI 메시지 발생 유닛 (108) 은 보충 강화 정보 메시지에 추가하여 뷰 컴포넌트의 심도 컴포넌트에만 적용되는 네스팅된 보충 강화 정보 메시지를 결정할 수도 있다 (142). 그러나, 네스팅된 SEI 메시지가 심도 및 텍스처 컴포넌트들 양자 모두에 적용되는 것으로 결정할 시에는 ("예" 141), SEI 메시지 발생 유닛 (108) 은 보충 강화 정보 메시지에 추가하여 뷰 컴포넌트의 텍스처 컴포넌트 및 심도 컴포넌트 양자 모두에 적용되는 네스팅된 보충 강화 정보 메시지를 결정할 수도 있다 (143). 다음으로, 비디오 파일 생성 유닛 (104) 은 SEI 메시지 및 네스팅된 SEI 메시지 양자 모두를 포함하는 비디오 파일을 발생시킬 수도 있다 (144).
일부 사례들에서, 캡슐화 유닛 (21) 은 이 비디오 파일을 발생시키고, 컨텐츠 전달 네트워크 (34) 의 비디오 서버와 같은, 라우터 (36) 또는 또 다른 디바이스 (이 둘은 도 1 의 예에 대하여 위에서 설명됨) 에 이 비디오 파일을 제공한다. 다음으로, 이 디바이스는 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 심도 컴포넌트를 프로세싱할 수도 있다.
일부 예들에서, 캡슐화 유닛 (21) 은 뷰 컴포넌트의 심도 컴포넌트를 코딩하기만 하는 경우 페어런트 보충 강화 정보 메시지에 추가하여 적용되는 네스팅된 보충 강화 정보 메시지를 결정한다. 이 사례에서, 다음으로, 라우터 (36) 는 페어런트 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트가 아니라, 뷰 컴포넌트의 심도 컴포넌트만을 프로세싱할 수도 있다.
위에서 언급된 바와 같이, 캡슐화 유닛 (21) 은, 뷰 컴포넌트의 텍스처 컴포넌트를 코딩하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는지 여부를 결정할 수도 있다. 그 결과, 이 사례에서, 라우터 (36) 는, 뷰 컴포넌트의 텍스처 컴포넌트를 코딩하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는지 여부의 결정을 기초로, 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱할 수도 있다.
뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱하는 경우 네스팅된 보충 강화 메시지가 보충 강화 정보 메시지에 추가하여 적용되는 것으로 결정하면, 라우터 (36) 는 네스팅된 보충 강화 정보 메시지가 심도 컴포넌트에만, 또는 뷰 컴포넌트 및 심도 컴포넌트 양자 모두에 적용되는지 아닌지의 여부를 지정하는 플래그를 네스팅된 보충 강화 정보 메시지에서 식별할 수도 있고, 식별된 플래그에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 코딩하는 경우 네스팅된 보충 강화 메시지가 보충 강화 정보 메시지에 추가하여 적용되는 것으로 결정할 수도 있다. 플래그는 보충 강화 정보 뷰 적용가능성 플래그 및 보충 강화 정보 동작 뷰 적용가능성 플래그 중 하나 이상을 포함할 수도 있다.
일부 사례들에서, 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는지 여부를 결정하는 경우, 라우터 (36) 는 뷰 컴포넌트의 심도 컴포넌트 및 뷰 컴포넌트의 텍스처 컴포넌트 양자 모두를 프로세싱하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는 것으로 결정할 수도 있다. 이 사례에서, 라우터 (36) 는 보충 강화 정보 메시지 및 네스팅된 보충 강화 정보 메시지에 기초하여 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱할 수도 있다.
일부 사례들에서, 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되는지 여부를 결정하는 경우, 라우터 (36) 는 뷰 컴포넌트의 텍스처 컴포넌트가 아니라 뷰 컴포넌트의 심도 컴포넌트를 코딩하는 경우 네스팅된 보충 강화 정보 메시지가 보충 강화 정보 메시지에 추가하여 적용되기만 한다고 결정할 수도 있다. 그 결과, 라우터 (36) 는 네스팅된 보충 강화 정보 메시지에 기초하는 것이 아니라, 보충 강화 정보 메시지에 기초하여, 뷰 컴포넌트의 텍스처 컴포넌트를 프로세싱할 수도 있다.
도 7 은 하나의 예를 제공하는 것에 불과한 것을 또한 이해해야 한다. 즉, 도 7 의 예에서 도시된 단계들은 반드시 도 7 에 도시된 순서로 수행될 필요가 없고, 더 적거나, 추가적인, 또는 대안적인 단계들이 수행될 수도 있다.
도 8 은 본 개시물에서 설명된 기술들에 따라 디코딩된 픽처 버퍼로부터 텍스처 및 심도 컴포넌트들을 별개로 제거함에 있어서의 비디오 코딩 디바이스의 일 예의 동작을 예시하는 흐름도이다. 도 8 에 도시된 예는 비디오 디코더 (30; 도 1 및 도 3) 에 의해 수행되는 것으로 일반적으로 설명된다. 그러나, 도 8 에 대하여 설명된 프로세스는 다양한 다른 프로세서들, 프로세싱 유닛들, 인코더/디코더 (CODEC) 들과 같은 하드웨어-기반 코딩 유닛들, 등에 의해 수행될 수도 있다.
일반적으로, 비디오 디코더 (30) 는 뷰 컴포넌트 (멀티뷰 비디오 데이터에 의해 지정됨) 의 심도 컴포넌트 및 텍스처 컴포넌트를, 도 3 의 예에서 참조 픽처 메모리 (92) 로서 도시되어 있는 디코딩된 픽처 버퍼에 저장할 수도 있다 (150). 다음으로, 비디오 디코더 (30) 는 인터-뷰 예측을 위해 심도 컴포넌트가 이용되는지 여부를 결정하기 위해 뷰 종속성을 분석할 수도 있다 (여기서, 이러한 뷰 종속성은 도 5 의 예에 대하여 위에서 반영될 수도 있음; 152). 비디오 디코더 (30) 는 심도 컴포넌트에 대해서만 이 뷰 종속성을 분석할 수도 있고, 참조 픽처 메모리 (92) 로부터 연관된 텍스처 컴포넌트를 제거하는 것을 시도하는 경우 뷰 종속성을 별개로 분석할 수도 있다. 일부 사례들에서, 뷰 종속성은 서브세트 시퀀스 파라미터 세트의 멀티뷰 비디오 코딩 시퀀스 파라미터 세트 익스텐션에서 시그널링된다. 서브세트 시퀀스 파라미터 세트는 3 차원 비디오 프로파일을 포함할 수도 있고, 뷰 종속성을 분석하는 경우 활성 뷰 멀티뷰 비디오 코딩 시퀀스 파라미터 세트로서 활성화된다. 아무튼, 다음으로, 비디오 디코더 (30) 는 인터-뷰 예측을 위해 심도 컴포넌트가 이용되지 않는 것으로 결정하는 것에 응답하여, 텍스처 컴포넌트를 제거하지 않으면서 참조 픽처 메모리 (92) 로부터 심도 컴포넌트를 제거할 수도 있다 (154).
이 심도 컴포넌트를 제거하기 전에, 비디오 디코더 (30) 는, 심도 컴포넌트가 타겟 출력 뷰에 속하지 않고 제로와 동일한 값을 갖는 네트워크 추상화 계층 참조 식별 코드와 연관되는 것으로 결정함으로써, 심도 컴포넌트를 제거를 위해 적합한 것으로 자격부여할 수도 있다. 심도 및 텍스처 컴포넌트들의 별도의 핸들링을 잠재적으로 제공한 결과로, 비디오 디코더 (30) 는 텍스처 컴포넌트와는 상이한 심도 컴포넌트에 대한 하나 이상의 참조 픽처들을 결정할 수도 있다. 즉, 비디오 디코더 (30) 는, 적어도, 심도 컴포넌트에 대한 하나 이상의 참조 픽처들을 식별하는 참조 픽처 리스트를 결정하고 텍스처 컴포넌트에 대한 하나 이상의 추가적인 참조 픽처들을 식별하는 참조 픽처 리스트를 결정함으로써, 심도 컴포넌트에 대한 하나 이상의 참조 픽처들을 결정할 수도 있고, 텍스처 컴포넌트에 대해 결정된 하나 이상의 추가적인 참조 픽처들은 심도 컴포넌트에 대해 결정된 하나 이상의 참조 픽처들과는 상이하다.
심도 컴포넌트에 대한 참조 픽처 리스트를 결정함에 있어서, 비디오 디코더 (30) 는, 텍스처 컴포넌트를 마킹하는 것과는 별개로, 심도 컴포넌트에 대한 참조 픽처 리스트를 식별하기 위해 이용되는, 비디오 인코더 (20) 에 의한 심도 및 텍스처 컴포넌트들의 마킹들에 기초하여, 심도 컴포넌트 및 텍스처 컴포넌트에 대한 참조 픽처 리스트를 결정할 수도 있다. 일부 사례들에서, 하나 이상의 신택스 엘리먼트들은 심도 컴포넌트에 대해 결정된 참조 픽처 리스트로 심도 컴포넌트를 별개로 마킹하기 위해 이용될 수도 있고, 하나 이상의 신택스 엘리먼트들은 텍스처 컴포넌트에 대해 결정된 참조 픽처 리스트로 텍스처 컴포넌트를 별개로 마킹하기 위해 이용된다.
일부 사례들에서, 비디오 디코더 (30) 는 심도 컴포넌트 및 텍스처 컴포넌트가 디스플레이를 위해 출력될 타겟 출력 뷰에 속하는 것으로 결정할 수도 있고, 심도 컴포넌트 및 텍스처 컴포넌트를 동시에 또는 거의 동시에 출력할 수도 있다.
도 8 의 예에 대하여 도시되고 설명된 단계들은 하나의 예에 불과한 것으로서 제공된다는 것을 이해해야 한다. 즉, 도 8 의 예에서 도시된 단계들은 반드시 도 8 에 도시된 순서로 수행될 필요가 없고, 더 적거나, 추가적인, 또는 대안적인 단계들이 수행될 수도 있다.
도 9 는 본 개시물에서 설명된 기술들에 따라 MVC-호환가능한 3DVC 를 위한 시퀀스 레벨 정보를 결정함에 있어서의 비디오 코딩 디바이스의 일 예의 동작을 예시하는 흐름도이다. 도 8 에 도시된 예는 비디오 디코더 (30; 도 1 및 도 3) 에 의해 수행되는 것으로 일반적으로 설명된다. 그러나, 도 8 에 대하여 설명된 프로세스는 다양한 다른 프로세서들, 프로세싱 유닛들, 인코더/디코더 (CODEC) 들과 같은 하드웨어-기반 코딩 유닛들, 등에 의해 수행될 수도 있다는 것을 이해해야 한다.
위에서 설명된 바와 같이, 비디오 디코더 (30) 는 심도 컴포넌트들의 특징들을 설명하는 제 1 시퀀스 레벨 정보를 결정할 수도 있고, 비디오 데이터의 동작 포인트의 특징들을 설명하는 제 2 시퀀스 레벨 정보를 결정할 수도 있다 (160, 162). 또한, 비디오 디코더 (30) 는 3 차원 비디오 코딩 시퀀스 파라미터 세트에서 표시된 심도 컴포넌트들에 대한 하나 이상의 참조 픽처들을 식별하는 참조 픽처 리스트를 결정할 수도 있다.
일부 예들에서, 제 2 시퀀스 레벨 정보는, 동작 포인트에 대하여, 타겟 출력 뷰들의 리스트, 동작 포인트를 디코딩하는 경우 디코딩될 텍스처 뷰들의 수, 및 동작 포인트를 디코딩하는 경우 디코딩될 심도 뷰들의 수를 설명한 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하고, 여기서, 디코딩될 텍스처 뷰들의 수는 심도 뷰들의 수와는 상이하다. 일부 예들에서, 비디오 디코더 (30) 는 타겟 출력 뷰들의 리스트에서 지정된 타겟 출력 뷰들의 각각에 대하여, 이용가능하다면, 하나 이상의 심도 컴포넌트들을 더욱 타겟으로 할 수도 있다.
일부 예들에서, 비디오 디코더 (30) 는 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지를 비디오 데이터의 일부로서 지정할 수도 있고, 여기서, 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지는 심도 컴포넌트들을 갖지 않는 동작 포인트의 설명 또는 심도 컴포넌트들을 갖는 동작 포인트의 설명을 포함한다. 일부 사례들에서, SEI 메시지는 동작 포인트가 심도 컴포넌트들을 포함하는지 여부에 대한 표시를 포함한다. 또한, 일부 예들에서, SEI 메시지는 동작 포인트의 디코딩을 위해 동작 포인트가 심도 컴포넌트들, 및 직접 종속적인 텍스처 뷰들과 함께 직접 종속적인 심도 뷰들을 포함하는지 여부에 대한 표시를 포함한다.
도 9 의 예에 대하여 도시되고 설명된 단계들은 하나의 예에 불과한 것으로서 제공된다는 것을 이해해야 한다. 즉, 도 9 의 예에서 도시된 단계들은 반드시 도 9 에 도시된 순서로 수행될 필요가 없고, 더 적은, 추가적인, 또는 대안적인 단계들이 수행될 수도 있다.
본 개시물에 대하여 설명된 어떤 신택스 엘리먼트들은 설명의 목적들을 위해 일 예의 명칭들로 제공되었지만, 본 개시물에서 설명된 개념들은 명칭에 관계없이 임의의 신택스 엘리먼트들에 더욱 일반적으로 적용가능하다는 것을 이해해야 한다. 예를 들어, 어떤 양태들은 "뷰 순서 인덱스", "view_order_index" 또는 "view_idx" 를 지칭하지만, 이러한 신택스 엘리먼트는 미래의 코딩 표준에서 대안적인 명칭을 부여받을 수도 있다는 것을 이해해야 한다.
본 개시물의 어떤 기술들은 H.264 표준에 대하여 설명되어 있지만, 기술들은 반드시 지정한 코딩 표준에 제한되지 않는다는 것을 이해해야 한다. 즉, 기술들은 위에서 설명된 바와 같이, 예를 들어, 더 짧고 및/또는 덜 복잡한 NAL 유닛들 및 파라미터 세트들을 통해, 3DVC 에서 코딩 효율들을 달성하는 것에 더욱 일반적으로 관련된다.
예에 따라서는, 본원에서 설명된 방법들 중 임의의 것의 어떤 작업들 또는 이벤트들이 상이한 시퀀스에서 수행될 수 있거나, 추가될 수 있거나, 병합될 수 있거나, 또는 완전히 배제 (예를 들어, 모든 설명된 작업들 또는 이벤트들이 방법의 실시를 위해 필요한 것은 아님) 될 수도 있다는 것을 이해해야 한다. 또한, 어떤 예들에서는, 작업들 또는 이벤트들이 순차적이기보다는, 예를 들어, 멀티-스레딩된 (multi-threaded) 프로세싱, 인터럽트 프로세싱, 또는 다수의 프로세서들을 통해 동시에 수행될 수도 있다. 추가적으로, 본 개시물의 어떤 양태들은 명확함의 목적들을 위해 단일 모듈 또는 유닛에 의해 수행되는 것으로 설명되어 있지만, 본 개시물의 기술들은 비디오 코더와 연관된 유닛들 또는 모듈들의 조합에 의해 수행될 수도 있다는 것을 이해해야 한다.
하나 이상의 예들에서는, 설명된 기능들이 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현될 경우, 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터 판독가능 매체 상에 저장되거나 컴퓨터 판독가능 매체를 통해 송신될 수도 있고, 하드웨어-기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들, 또는 예를 들어, 통신 프로토콜에 따라 하나의 장소로부터 또 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다.
이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비 일시적 유형의 컴퓨터 판독가능 저장 매체들, 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 개시물에서 설명된 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 예로서, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장, 또는 다른 자기적 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 희망하는 프로그램 코드를 저장하기 위해 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터 판독가능 매체라고 적절하게 칭해진다. 예를 들어, 동축 케이블, 광섬유 케이블, 트위스트 페어 (twisted pair), 디지털 가입자 회선 (digital subscriber line; DSL), 또는 적외선, 라디오 (radio), 및 마이크로파 (microwave) 와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신될 경우, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다.
그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 일시적인 매체들을 포함하는 것이 아니라, 그 대신에, 비 일시적, 유형의 저장 매체들에 관한 것이라는 것을 이해해야 한다. 본원에서 이용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광학 디스크 (optical disc), 디지털 다기능 디스크 (digital versatile disc; DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크 (Blu-ray disc) 를 포함하고, 여기서 디스크 (disk) 들은 통상 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 들은 데이터를 레이저들로 광학적으로 재생한다. 상기의 조합들은 컴퓨터 판독가능 매체들의 범위 내에 또한 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서 (digital signal processor; DSP) 들, 범용 마이크로프세서들, 주문형 집적회로 (ASIC) 들, 필드 프로그래밍가능 로직 어레이 (FPGA) 들, 또는 다른 등가의 통합된 또는 이산 로직 회로부와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본원에서 이용된 바와 같은 용어 "프로세서" 는 상기한 구조 중의 임의의 것 또는 본원에서 설명된 기술들의 구현을 위해 적당한 임의의 다른 구조를 지칭할 수도 있다. 추가적으로, 일부 양태들에서는, 본원에서 설명된 기능성이 인코딩 및 디코딩을 위해 구성되거나 조합된 코덱 내에 통합되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들 내에서 완전히 구현될 수 있다.
본 개시물의 기술들은 무선 핸드셋, 집적 회로 (IC) 또는 IC 들의 세트 (예를 들어, 칩셋) 를 포함하는 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하지는 않는다. 오히려, 위에서 설명된 바와 같이, 다양한 유닛들은 코덱 하드웨어 유닛 내에 조합될 수도 있거나, 적당한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명된 바와 같은 하나 이상의 프로세서들을 포함하는 상호동작 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
개시물의 다양한 예들이 설명되었다. 이러한 그리고 다른 양태들은 다음의 청구항들의 범위 내에 있다.

Claims (36)

  1. 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하는 방법으로서,
    상기 심도 컴포넌트들의 특징을 설명하는 제 1 시퀀스 레벨 정보를 결정하는 단계; 및
    상기 비디오 데이터의 동작 포인트의 특징을 설명하는 제 2 시퀀스 레벨 정보를 결정하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 시퀀스 레벨 정보는 상기 심도 컴포넌트들의 뷰 종속성 (view dependedncy) 을 지정하는 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  3. 제 2 항에 있어서,
    상기 3 차원 비디오 코딩 시퀀스 파라미터 세트에서 표시된 상기 심도 컴포넌트들에 대한 하나 이상의 참조 픽처들을 식별하는 참조 픽처 리스트를 결정하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  4. 제 2 항에 있어서,
    상기 제 2 시퀀스 레벨 정보는, 상기 동작 포인트에 대해, 타겟 출력 뷰들의 리스트, 상기 동작 포인트를 디코딩하는 경우 디코딩될 텍스처 뷰들의 수, 및 상기 동작 포인트를 디코딩하는 경우 디코딩될 심도 뷰들의 수를 설명한 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하고,
    상기 디코딩될 텍스처 뷰들의 수는 상기 심도 뷰들의 수와 상이한, 비디오 데이터를 프로세싱하는 방법.
  5. 제 4 항에 있어서,
    상기 타겟 출력 뷰들의 리스트에 지정된 상기 타겟 출력 뷰들 각각에 대해, 이용 가능한 경우 상기 하나 이상의 심도 컴포넌트들을 타겟으로 하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  6. 제 1 항에 있어서,
    상기 비디오 데이터의 일부로서 3 차원 비디오 코딩 스케일러빌러티 정보 보충 강화 정보 (supplemental enhancement information; SEI) 메시지를 지정하는 단계를 더 포함하고,
    상기 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지는 상기 심도 컴포넌트들을 갖지 않는 상기 동작 포인트의 설명 또는 상기 심도 컴포넌트들을 갖는 상기 동작 포인트의 설명을 포함하는, 비디오 데이터를 프로세싱하는 방법.
  7. 제 6 항에 있어서,
    상기 SEI 메시지는 상기 동작 포인트가 상기 심도 컴포넌트들을 포함하는지 여부의 표시 (indication) 를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  8. 제 6 항에 있어서,
    상기 SEI 메시지는, 상기 동작 포인트가 상기 동작 포인트의 디코딩을 위해 상기 심도 컴포넌트들 및 직접 종속적인 텍스처 뷰들과 함께 직접 종속적인 심도 뷰들을 포함하는지 여부의 표시를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  9. 제 1 항에 있어서,
    상기 비디오 데이터는 H.264/어드밴스드 비디오 코딩 표준에 대한 3 차원 비디오 코딩 익스텐션을 따르고, H.264/어드밴스드 비디오 코딩 표준에 대한 멀티뷰 비디오 코딩 익스텐션과 역호환되는, 비디오 데이터를 프로세싱하는 방법.
  10. 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하기 위한 비디오 코딩 디바이스로서,
    상기 심도 컴포넌트들의 특징을 설명하는 제 1 시퀀스 레벨 정보를 결정하고, 상기 비디오 데이터의 동작 포인트의 특징을 설명하는 제 2 시퀀스 레벨 정보를 결정하도록 구성된 하나 이상의 프로세서들을 포함하는, 비디오 코딩 디바이스.
  11. 제 10 항에 있어서,
    상기 제 1 시퀀스 레벨 정보는 상기 심도 컴포넌트들의 뷰 종속성을 지정하는 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하는, 비디오 코딩 디바이스.
  12. 제 11 항에 있어서,
    상기 프로세서는 또한, 상기 3 차원 비디오 코딩 시퀀스 파라미터 세트에서 표시된 상기 심도 컴포넌트들에 대한 하나 이상의 참조 픽처들을 식별하는 참조 픽처 리스트를 결정하도록 구성되는, 비디오 코딩 디바이스.
  13. 제 11 항에 있어서,
    상기 제 2 시퀀스 레벨 정보는, 상기 동작 포인트에 대해, 타겟 출력 뷰들의 리스트, 상기 동작 포인트를 디코딩하는 경우 디코딩될 텍스처 뷰들의 수, 및 상기 동작 포인트를 디코딩하는 경우 디코딩될 심도 뷰들의 수를 설명한 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하고,
    상기 디코딩될 텍스처 뷰들의 수는 상기 심도 뷰들의 수와 상이한, 비디오 코딩 디바이스.
  14. 제 13 항에 있어서,
    상기 프로세서는 또한, 상기 타겟 출력 뷰들의 리스트에 지정된 상기 타겟 출력 뷰들 각각에 대해, 이용 가능한 경우 상기 하나 이상의 심도 컴포넌트들을 타겟으로 하도록 구성되는, 비디오 코딩 디바이스.
  15. 제 10 항에 있어서,
    상기 프로세서는 또한, 상기 비디오 데이터의 일부로서 3 차원 비디오 코딩 스케일러빌러티 정보 보충 강화 정보 (SEI) 메시지를 지정하도록 구성되고,
    상기 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지는 상기 심도 컴포넌트들을 갖지 않는 상기 동작 포인트의 설명 또는 상기 심도 컴포넌트들을 갖는 상기 동작 포인트의 설명을 포함하는, 비디오 코딩 디바이스.
  16. 제 15 항에 있어서,
    상기 SEI 메시지는 상기 동작 포인트가 상기 심도 컴포넌트들을 포함하는지 여부의 표시를 포함하는, 비디오 코딩 디바이스.
  17. 제 15 항에 있어서,
    상기 SEI 메시지는, 상기 동작 포인트가 상기 동작 포인트의 디코딩을 위해 상기 심도 컴포넌트들 및 직접 종속적인 텍스처 뷰들과 함께 직접 종속적인 심도 뷰들을 포함하는지 여부의 표시를 포함하는, 비디오 코딩 디바이스.
  18. 제 1 항에 있어서,
    상기 비디오 데이터는 H.264/어드밴스드 비디오 코딩 표준에 대한 3 차원 비디오 코딩 익스텐션을 따르고, H.264/어드밴스드 비디오 코딩 표준에 대한 멀티뷰 비디오 코딩 익스텐션과 역호환되는, 비디오 코딩 디바이스.
  19. 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는 뷰 컴포넌트를 포함하는 비디오 데이터를 프로세싱하기 위한 비디오 코딩 디바이스로서,
    상기 심도 컴포넌트들의 특징을 설명하는 제 1 시퀀스 레벨 정보를 결정하기 위한 수단; 및
    상기 비디오 데이터의 동작 포인트의 특징을 설명하는 제 2 시퀀스 레벨 정보를 결정하기 위한 수단을 포함하는, 비디오 코딩 디바이스.
  20. 제 19 항에 있어서,
    상기 제 1 시퀀스 레벨 정보는 상기 심도 컴포넌트들의 뷰 종속성을 지정하는 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하는, 비디오 코딩 디바이스.
  21. 제 20 항에 있어서,
    상기 3 차원 비디오 코딩 시퀀스 파라미터 세트에서 표시된 상기 심도 컴포넌트들에 대한 하나 이상의 참조 픽처들을 식별하는 참조 픽처 리스트를 결정하기 위한 수단을 더 포함하는, 비디오 코딩 디바이스.
  22. 제 20 항에 있어서,
    상기 제 2 시퀀스 레벨 정보는, 상기 동작 포인트에 대해, 타겟 출력 뷰들의 리스트, 상기 동작 포인트를 디코딩하는 경우 디코딩될 텍스처 뷰들의 수, 및 상기 동작 포인트를 디코딩하는 경우 디코딩될 심도 뷰들의 수를 설명한 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하고,
    상기 디코딩될 텍스처 뷰들의 수는 상기 심도 뷰들의 수와 상이한, 비디오 코딩 디바이스.
  23. 제 22 항에 있어서,
    상기 타겟 출력 뷰들의 리스트에서 지정된 상기 타겟 출력 뷰들 각각에 대해, 이용 가능한 경우 상기 하나 이상의 심도 컴포넌트들을 타겟으로 하기 위한 수단을 더 포함하는, 비디오 코딩 디바이스.
  24. 제 10 항에 있어서,
    상기 비디오 데이터의 일부로서 3 차원 비디오 코딩 스케일러빌러티 정보 보충 강화 정보 (supplemental enhancement information; SEI) 메시지를 지정하기 위한 수단을 더 포함하고,
    상기 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지는 상기 심도 컴포넌트들을 갖지 않는 상기 동작 포인트의 설명 또는 상기 심도 컴포넌트들을 갖는 상기 동작 포인트의 설명을 포함하는, 비디오 코딩 디바이스.
  25. 제 24 항에 있어서,
    상기 SEI 메시지는 상기 동작 포인트가 상기 심도 컴포넌트들을 포함하는지 여부의 표시를 포함하는, 비디오 코딩 디바이스.
  26. 제 24 항에 있어서,
    상기 SEI 메시지는, 상기 동작 포인트가 상기 동작 포인트의 디코딩을 위해 상기 심도 컴포넌트들 및 직접 종속적인 텍스처 뷰들과 함께 직접 종속적인 심도 뷰들을 포함하는지 여부의 표시를 포함하는, 비디오 코딩 디바이스.
  27. 제 10 항에 있어서,
    상기 비디오 데이터는 H.264/어드밴스드 비디오 코딩 표준에 대한 3 차원 비디오 코딩 익스텐션을 따르고, H.264/어드밴스드 비디오 코딩 표준에 대한 멀티뷰 비디오 코딩 익스텐션과 역호환되는, 비디오 코딩 디바이스.
  28. 명령들을 저장하고 있는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 실행되는 경우, 비디오 코딩 디바이스의 하나 이상의 프로세서들로 하여금,
    비디오 데이터의 하나 이상의 심도 컴포넌트들의 특징을 설명하는 제 1 시퀀스 레벨 정보를 결정하게 하는 것으로서, 상기 비디오 데이터는 상기 하나 이상의 심도 컴포넌트들 및 하나 이상의 텍스처 컴포넌트들을 포함하는, 상기 제 1 시퀀스 레벨 정보를 결정하게 하며;
    상기 비디오 데이터의 동작 포인트의 특징을 설명하는 제 2 시퀀스 레벨 정보를 결정하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  29. 제 28 항에 있어서,
    상기 제 1 시퀀스 레벨 정보는 상기 심도 컴포넌트들의 뷰 종속성을 지정하는 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  30. 제 29 항에 있어서,
    실행되는 경우 상기 하나 이상의 프로세서들로 하여금, 상기 3 차원 비디오 코딩 시퀀스 파라미터 세트에서 표시된 상기 심도 컴포넌트들에 대한 하나 이상의 참조 픽처들을 식별하는 참조 픽처 리스트를 결정하게 하는 명령들을 또한 저장하고 있는, 비일시적 컴퓨터 판독가능 저장 매체.
  31. 제 29 항에 있어서,
    상기 제 2 시퀀스 레벨 정보는, 상기 동작 포인트에 대해, 타겟 출력 뷰들의 리스트, 상기 동작 포인트를 디코딩하는 경우 디코딩될 텍스처 뷰들의 수, 및 상기 동작 포인트를 디코딩하는 경우 디코딩될 심도 뷰들의 수를 설명한 3 차원 비디오 코딩 시퀀스 파라미터 세트를 포함하고,
    상기 디코딩될 텍스처 뷰들의 수는 상기 심도 뷰들의 수와 상이한, 비일시적 컴퓨터 판독가능 저장 매체.
  32. 제 31 항에 있어서,
    실행되는 경우 상기 하나 이상의 프로세서들로 하여금, 상기 타겟 출력 뷰들의 리스트에서 지정된 상기 타겟 출력 뷰들 각각에 대해, 이용 가능한 경우 상기 하나 이상의 심도 컴포넌트들을 타겟으로 하게 하는 명령들을 또한 저장하고 있는, 비일시적 컴퓨터 판독가능 저장 매체.
  33. 제 28 항에 있어서,
    실행되는 경우 상기 하나 이상의 프로세서들로 하여금, 상기 비디오 데이터의 일부로서 3 차원 비디오 코딩 스케일러빌러티 정보 보충 강화 정보 (SEI) 메시지를 지정하게 하는 명령들을 또한 저장하고 있고,
    상기 3 차원 비디오 코딩 스케일러빌러티 정보 SEI 메시지는 상기 심도 컴포넌트들을 갖지 않는 상기 동작 포인트의 설명 또는 상기 심도 컴포넌트들을 갖는 상기 동작 포인트의 설명을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  34. 제 33 항에 있어서,
    상기 SEI 메시지는 상기 동작 포인트가 상기 심도 컴포넌트들을 포함하는지 여부의 표시를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  35. 제 33 항에 있어서,
    상기 SEI 메시지는, 상기 동작 포인트가 상기 동작 포인트의 디코딩을 위해 상기 심도 컴포넌트들 및 직접 종속적인 텍스처 뷰들과 함께 직접 종속적인 심도 뷰들을 포함하는지 여부의 표시를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  36. 제 28 항에 있어서,
    상기 비디오 데이터는 H.264/어드밴스드 비디오 코딩 표준에 대한 3 차원 비디오 코딩 익스텐션을 따르고, H.264/어드밴스드 비디오 코딩 표준에 대한 멀티뷰 비디오 코딩 익스텐션과 역호환되는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020147017823A 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 시퀀스 레벨 정보 KR101638713B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161565376P 2011-11-30 2011-11-30
US61/565,376 2011-11-30
US201161565938P 2011-12-01 2011-12-01
US61/565,938 2011-12-01
US201161579631P 2011-12-22 2011-12-22
US61/579,631 2011-12-22
US201261584009P 2012-01-06 2012-01-06
US61/584,009 2012-01-06
US13/689,560 US10200708B2 (en) 2011-11-30 2012-11-29 Sequence level information for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US13/689,560 2012-11-29
PCT/US2012/067303 WO2013082431A1 (en) 2011-11-30 2012-11-30 Sequence level information for multiview video coding (mvc) compatible three-dimensional video coding (3dvc)

Publications (2)

Publication Number Publication Date
KR20140096161A true KR20140096161A (ko) 2014-08-04
KR101638713B1 KR101638713B1 (ko) 2016-07-11

Family

ID=48466494

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020167017304A KR20160085358A (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 파라미터 세트들의 활성화
KR1020147017952A KR101632814B1 (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 심도 컴포넌트 제거
KR1020147017823A KR101638713B1 (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 시퀀스 레벨 정보
KR1020147017955A KR20140096166A (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 파라미터 세트들의 활성화
KR1020167014427A KR20160068980A (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 네스팅된 sei 메시지들
KR1020147017822A KR101874669B1 (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 네스팅된 sei 메시지들

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020167017304A KR20160085358A (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 파라미터 세트들의 활성화
KR1020147017952A KR101632814B1 (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 심도 컴포넌트 제거

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020147017955A KR20140096166A (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 파라미터 세트들의 활성화
KR1020167014427A KR20160068980A (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 네스팅된 sei 메시지들
KR1020147017822A KR101874669B1 (ko) 2011-11-30 2012-11-30 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 네스팅된 sei 메시지들

Country Status (14)

Country Link
US (4) US10200708B2 (ko)
EP (4) EP2786573B1 (ko)
JP (6) JP5902314B2 (ko)
KR (6) KR20160085358A (ko)
CN (4) CN104137550B (ko)
BR (1) BR112014012946B1 (ko)
DK (1) DK2786574T3 (ko)
ES (2) ES2718818T3 (ko)
HU (2) HUE043051T2 (ko)
IN (2) IN2014CN03602A (ko)
PL (1) PL2786574T3 (ko)
PT (1) PT2786574T (ko)
SI (1) SI2786574T1 (ko)
WO (4) WO2013082517A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010117129A2 (en) * 2009-04-07 2010-10-14 Lg Electronics Inc. Broadcast transmitter, broadcast receiver and 3d video data processing method thereof
EP4017006B1 (en) 2011-09-22 2023-09-20 LG Electronics, Inc. Method and apparatus for signaling image information, and decoding method and apparatus using same
US10200708B2 (en) 2011-11-30 2019-02-05 Qualcomm Incorporated Sequence level information for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US20130222537A1 (en) * 2012-02-29 2013-08-29 Qualcomm Incorporated Bitstream extraction in three-dimensional video
JP6376470B2 (ja) * 2012-04-03 2018-08-22 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
KR20130116782A (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
KR20140019221A (ko) * 2012-07-17 2014-02-14 한국전자통신연구원 인루프 필터링 방법 및 이를 이용하는 장치
US9479779B2 (en) 2012-10-01 2016-10-25 Qualcomm Incorporated Sub-bitstream extraction for multiview, three-dimensional (3D) and scalable media bitstreams
US9357199B2 (en) 2013-01-04 2016-05-31 Qualcomm Incorporated Separate track storage of texture and depth views for multiview coding plus depth
US9374581B2 (en) 2013-01-07 2016-06-21 Qualcomm Incorporated Signaling of picture order count to timing information relations for video timing in video coding
CA2908115C (en) 2013-07-08 2019-02-12 Mediatek Singapore Pte. Ltd. Method of simplified cabac coding in 3d video coding
CA2909550C (en) * 2013-07-15 2018-04-24 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3d video coding
KR20150012206A (ko) 2013-07-24 2015-02-03 한국전자통신연구원 3차원 콘텐츠의 부호화 방법 및 장치
CA2921759C (en) * 2013-10-17 2018-05-15 Mediatek Inc. Method of motion information prediction and inheritance in multi-view and three-dimensional video coding
US9716900B2 (en) * 2014-06-20 2017-07-25 Qualcomm Incorporated Extensible design of nesting supplemental enhancement information (SEI) messages
US9075945B1 (en) * 2014-06-27 2015-07-07 Google Inc. Method for implementing efficient entropy decoder by using high level synthesis
GB2534136A (en) * 2015-01-12 2016-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US9683834B2 (en) * 2015-05-27 2017-06-20 Intel Corporation Adaptable depth sensing system
WO2017124298A1 (zh) * 2016-01-19 2017-07-27 北京大学深圳研究生院 视频编码、解码方法及其帧间预测方法、装置和系统
WO2017179592A1 (ja) * 2016-04-12 2017-10-19 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
JP6518982B2 (ja) 2016-11-07 2019-05-29 Soinn株式会社 動作転移装置、動作転移方法及び動作転移プログラムが格納された非一時的なコンピュータ可読媒体
EP3563571A4 (en) * 2016-12-30 2020-02-12 Telefonaktiebolaget LM Ericsson (publ) DECODED IMAGE BUFFER MEMORY MANAGEMENT FOR PROCESSING PREDICTION OF CROSS IMAGE DATA
US11463671B2 (en) * 2018-07-09 2022-10-04 Lg Electronics Inc. Video transmitting method, video transmitting device, video receiving method and video receiving device
US10924751B2 (en) * 2019-03-18 2021-02-16 Tencent America LLC Data unit and parameter set design for point cloud coding
US11706428B2 (en) * 2020-04-06 2023-07-18 Tencent America LLC Method for signaling picture header in coded video stream
US11991376B2 (en) * 2020-04-09 2024-05-21 Intel Corporation Switchable scalable and multiple description immersive video codec
KR20230019850A (ko) 2020-06-09 2023-02-09 바이트댄스 아이엔씨 서브픽처 레벨 및 버퍼링 정보의 시그널링
US20220417543A1 (en) * 2021-06-28 2022-12-29 Tencent America LLC Multiview view position supplementary enhancement information message

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100014553A (ko) * 2007-04-25 2010-02-10 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
KR20110116239A (ko) * 2009-02-19 2011-10-25 톰슨 라이센싱 3d 비디오 포맷

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4119269B2 (ja) 2002-02-01 2008-07-16 松下電器産業株式会社 動画像符号化方法および動画像復号化方法
JP4562999B2 (ja) 2002-07-11 2010-10-13 パナソニック株式会社 画像復号化方法および画像復号化装置
DK1742479T3 (da) 2002-07-11 2009-12-14 Panasonic Corp Multihypotese B-billede virtuel displaybuffer med lån af plads i H.264 post-dekoder bufferen
JP2007511938A (ja) 2003-10-31 2007-05-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ信号の符号化方法
US7415069B2 (en) 2003-12-09 2008-08-19 Lsi Corporation Method for activation and deactivation of infrequently changing sequence and picture parameter sets
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
KR20050113501A (ko) 2004-05-29 2005-12-02 삼성전자주식회사 에이치 264 비디오 디코더를 위한 구문 분석기
US20060015919A1 (en) 2004-07-13 2006-01-19 Nokia Corporation System and method for transferring video information
DE102005037226A1 (de) 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch markieren von Registern
US20070086521A1 (en) 2005-10-11 2007-04-19 Nokia Corporation Efficient decoded picture buffer management for scalable video coding
WO2007114612A1 (en) 2006-03-30 2007-10-11 Lg Electronics Inc. A method and apparatus for decoding/encoding a video signal
US8699583B2 (en) 2006-07-11 2014-04-15 Nokia Corporation Scalable video coding and decoding
WO2008048515A2 (en) 2006-10-13 2008-04-24 Thomson Licensing Method for reference picture management involving multiview video coding
CN104093031B (zh) 2006-10-16 2018-07-20 诺基亚技术有限公司 在多视点视频编码中实施已解码缓存器管理的系统和方法
US20100027615A1 (en) 2006-10-24 2010-02-04 Purvin Bibhas Pandit Picture identification for multi-view video coding
DK2103136T3 (en) 2006-12-21 2017-12-04 Thomson Licensing METHODS AND APPARATUS FOR IMPROVED SIGNALING USING HIGH-LEVEL SYNTHOLOGY FOR MULTIVIEW VIDEO AND DECODING
JP5273816B2 (ja) 2007-01-04 2013-08-28 トムソン ライセンシング 高レベル・シンタックスを用いてマルチ・ビュー符号化ビデオにおいてビデオ・エラー隠蔽を行う方法および装置
TR201905670T4 (tr) 2007-01-04 2019-05-21 Interdigital Madison Patent Holdings Yüksek düzey sözdiziminde iletilen çoklu görüntülü bilgi için yöntemler ve aparat.
WO2008084443A1 (en) 2007-01-09 2008-07-17 Nokia Corporation System and method for implementing improved decoded picture buffer management for scalable video coding and multiview video coding
KR101741050B1 (ko) 2007-04-17 2017-05-29 톰슨 라이센싱 멀티뷰 비디오 코딩을 위한 가설의 참조 디코더
US20100142613A1 (en) 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
BR122012021796A2 (pt) 2007-10-05 2015-08-04 Thomson Licensing Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc)
US8553781B2 (en) 2007-12-07 2013-10-08 Thomson Licensing Methods and apparatus for decoded picture buffer (DPB) management in single loop decoding for multi-view video
CN101911700A (zh) 2008-01-11 2010-12-08 汤姆逊许可证公司 视频和深度编码
BRPI0911672A2 (pt) * 2008-04-25 2018-03-13 Thomson Licensing modos de pulo intervisualizações com profundidade
CN102257818B (zh) 2008-10-17 2014-10-29 诺基亚公司 3d视频编码中运动向量的共享
US8061451B2 (en) * 2008-10-17 2011-11-22 Strata Directional Technology, Llc Vertical drilling system for controlling deviation
EP2348732A4 (en) 2008-11-10 2012-05-09 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING VIDEO SIGNAL BY INTER-VIEW PREDICTION
WO2010058955A2 (ko) 2008-11-18 2010-05-27 엘지전자 주식회사 영상 신호 처리 방법 및 장치
US8750632B2 (en) 2008-12-26 2014-06-10 JVC Kenwood Corporation Apparatus and method for encoding images from multiple viewpoints and associated depth information
JP2010157824A (ja) 2008-12-26 2010-07-15 Victor Co Of Japan Ltd 画像符号化装置、画像符号化方法およびそのプログラム
WO2010085361A2 (en) 2009-01-26 2010-07-29 Thomson Licensing Frame packing for video coding
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
EP2425626A2 (en) 2009-05-01 2012-03-07 Thomson Licensing Inter-layer dependency information for 3dv
US8780999B2 (en) 2009-06-12 2014-07-15 Qualcomm Incorporated Assembling multiview video coding sub-BITSTREAMS in MPEG-2 systems
US8675730B2 (en) * 2009-07-13 2014-03-18 Nvidia Corporation Macroblock grouping in a destination video frame to improve video reconstruction performance
US8948241B2 (en) 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US20110109617A1 (en) 2009-11-12 2011-05-12 Microsoft Corporation Visualizing Depth
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US10200708B2 (en) 2011-11-30 2019-02-05 Qualcomm Incorporated Sequence level information for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
JP6787667B2 (ja) 2012-09-21 2020-11-18 ノキア テクノロジーズ オサケユイチア ビデオコーディングのための方法と装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100014553A (ko) * 2007-04-25 2010-02-10 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
KR20110116239A (ko) * 2009-02-19 2011-10-25 톰슨 라이센싱 3d 비디오 포맷

Also Published As

Publication number Publication date
PT2786574T (pt) 2019-05-09
ES2718818T3 (es) 2019-07-04
BR112014012952A2 (pt) 2017-06-13
US10158873B2 (en) 2018-12-18
JP6242802B2 (ja) 2017-12-06
US20130135431A1 (en) 2013-05-30
EP2786570A1 (en) 2014-10-08
KR20140096166A (ko) 2014-08-04
JP5902314B2 (ja) 2016-04-13
KR101632814B1 (ko) 2016-06-22
JP2017022723A (ja) 2017-01-26
WO2013082513A1 (en) 2013-06-06
CN104115493A (zh) 2014-10-22
CN104126305B (zh) 2018-01-19
CN104115494A (zh) 2014-10-22
CN104115494B (zh) 2018-06-08
KR101638713B1 (ko) 2016-07-11
IN2014CN03591A (ko) 2015-07-03
WO2013082517A1 (en) 2013-06-06
ES2719768T3 (es) 2019-07-12
BR112014012946A2 (pt) 2017-06-13
IN2014CN03602A (ko) 2015-07-03
DK2786574T3 (en) 2019-04-08
US10200708B2 (en) 2019-02-05
WO2013082431A1 (en) 2013-06-06
CN104137550B (zh) 2018-05-29
EP2786574A1 (en) 2014-10-08
EP2786572A1 (en) 2014-10-08
HUE043051T2 (hu) 2019-07-29
US9473752B2 (en) 2016-10-18
KR20160085358A (ko) 2016-07-15
US10154276B2 (en) 2018-12-11
CN104126305A (zh) 2014-10-29
HUE043055T2 (hu) 2019-07-29
JP2015503288A (ja) 2015-01-29
BR112014012946B1 (pt) 2022-06-14
CN104137550A (zh) 2014-11-05
US20130136176A1 (en) 2013-05-30
US20130135433A1 (en) 2013-05-30
JP2015500589A (ja) 2015-01-05
SI2786574T1 (sl) 2019-04-30
CN104115493B (zh) 2017-08-04
EP2786573B1 (en) 2019-01-02
KR20140096165A (ko) 2014-08-04
PL2786574T3 (pl) 2019-06-28
KR101874669B1 (ko) 2018-07-04
JP2015503286A (ja) 2015-01-29
WO2013082438A1 (en) 2013-06-06
JP5905598B2 (ja) 2016-04-20
JP2016197869A (ja) 2016-11-24
KR20160068980A (ko) 2016-06-15
KR20140096160A (ko) 2014-08-04
EP2786574B1 (en) 2019-01-09
EP2786573A1 (en) 2014-10-08
JP2015505178A (ja) 2015-02-16
US20130135434A1 (en) 2013-05-30

Similar Documents

Publication Publication Date Title
KR101638713B1 (ko) 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 시퀀스 레벨 정보
JP6022652B2 (ja) スライスヘッダ予測のためのスライスヘッダ三次元映像拡張
JP5698391B2 (ja) マルチビュービデオプラス深度コンテンツのコーディング
KR20150105434A (ko) 3d 비디오에서의 뷰 합성

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 4