KR20130095282A - 스테레오 비디오 데이터의 코딩 - Google Patents

스테레오 비디오 데이터의 코딩 Download PDF

Info

Publication number
KR20130095282A
KR20130095282A KR1020137010403A KR20137010403A KR20130095282A KR 20130095282 A KR20130095282 A KR 20130095282A KR 1020137010403 A KR1020137010403 A KR 1020137010403A KR 20137010403 A KR20137010403 A KR 20137010403A KR 20130095282 A KR20130095282 A KR 20130095282A
Authority
KR
South Korea
Prior art keywords
enhancement layer
layer data
view
data
resolution
Prior art date
Application number
KR1020137010403A
Other languages
English (en)
Inventor
잉 천
홍창 왕
마르타 카르체비츠
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20130095282A publication Critical patent/KR20130095282A/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/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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

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)

Abstract

일 예에서, 제 1 해상도를 갖는 기초 계층 데이터 및 제 1 해상도를 갖는 향상 계층 데이터를 포함하는 비디오 데이터를 디코딩하는 방법은 기초 계층 데이터를 디코딩하는 단계를 포함하며, 기초 계층 데이터는 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함한다. 이 방법은 또한 디코딩 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하는 단계를 포함하며, 향상 데이터는 제 1 해상도를 가지며, 향상 계층 데이터를 디코딩하는 단계는 기초 계층 데이터의 적어도 일부에 관련된 향상 계층 데이터를 디코딩하는 단계를 포함한다.

Description

스테레오 비디오 데이터의 코딩{CODING STEREO VIDEO DATA}
본 개시물은 비디오 코딩에 관한 것으로, 좀더 구체적으로는, 스테레오 비디오 데이터의 코딩에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대정보 단말기들 (PDAs), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 리코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 원격 화상회의 디바이스들, 및 기타 등등을 포함한, 광범위한 디바이스들에 포함될 수도 있다. 디지털 비디오 디바이스들은 디지털 비디오 정보를 좀더 효율적으로 송수신하기 위해서, MPEG-2, MPEG-4, ITU-T H.263 또는 ITU-T H.264/MPEG-4, 파트 10, AVC (고도 비디오 코딩) 에 의해 정의된 표준들, 및 이런 표준들의 확장판들에 설명되는 것과 같은 비디오 압축 기법들을 구현한다.
비디오 압축 기법들은 비디오 시퀀스들에 고유한 리던던시를 감소시키거나 또는 제거하기 위해 공간 예측 및/또는 시간 예측을 수행한다. 블록-기반의 비디오 코딩에 있어, 비디오 프레임 또는 슬라이스는 매크로블록들로 파티셔닝될 수도 있다. 각각의 매크로블록은 더 파티셔닝될 수도 있다. 인트라-코딩된 (I) 프레임 또는 슬라이스에서 매크로블록들은 이웃하는 매크로블록들에 대한 공간 예측을 이용하여 인코딩된다. 인터-코딩된 (P 또는 B) 프레임 또는 슬라이스에서 매크로블록들은 동일한 프레임 또는 슬라이스에서의 이웃하는 매크로블록들에 대한 공간 예측 또는 다른 참조 프레임들에 대한 시간 예측을 이용할 수도 있다.
H.264/AVC 에 기초하여 새로운 비디오 코딩 표준들을 개발하려는 노력들이 이루어져 왔다. 하나의 이런 표준은 H.264/AVC 에 대한 스케일러블 확장판인 스케일러블 비디오 코딩 (SVC) 표준이다. 또 다른 표준은 H.264/AVC 에 대한 멀티뷰 확장판이 된 멀티-뷰 비디오 코딩 (MVC) 이다. MVC 의 합동 초안이 http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zip 에서 입수가능한, 2008년 7월, 독일, 하노버, 28차 JVT 회의, JVT-AB204, "Joint Draft 8.0 on Multiview Video Coding" 에 설명되어 있다. AVC 표준의 한 버전이 http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zip 에서 입수가능한, 2009년 2월, 스위스, 제네바, 30차 JVT 회의, JVT-AD007, "Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding - in preparation for ITU-T SG 16 AAP Consent (in integrated form)" 에 설명되어 있다. JVT-AD007 문서는 AVC 사양에서 SVC 와 MVC 를 통합한다.
일반적으로, 본 개시물은 스테레오 비디오 데이터, 예컨대, 3차원 (3D) 효과를 발생하는데 사용되는 비디오 데이터를 지원하는 기법들을 설명한다. 비디오에서 3차원의 효과를 발생하기 위해, 장면의 2개의 뷰들, 예컨대, 좌측 눈 뷰 및 우측 눈 뷰는, 동시에 또는 거의 동시에 나타낼 수도 있다. 본 개시물의 기법들은 기초 계층 및 하나 이상의 향상 계층들을 갖는 스케일러블 비트스트림 (scalable bitstream) 을 형성하는 것을 포함한다. 예를 들어, 본 개시물의 기법들은 개개의 프레임들을 포함하는 기초 계층 (base layer) 을 형성하는 것을 포함하며, 각각의 프레임들은 장면의 2개의 감소된 해상도 뷰들에 대한 데이터를 갖는다. 즉, 기초 계층의 프레임은 장면의 약간 상이한 수평 관점들로부터의 2개의 이미지들에 대한 데이터를 포함한다. 따라서, 기초 계층의 프레임들은 패킹된 (packed) 프레임들로서 지칭될 수도 있다. 기초 계층에 더해서, 본 개시물의 기법들은 기초 계층의 하나 이상의 뷰들의 풀 해상도 표현들에 대응하는 하나 이상의 향상 계층들 (enhancement layers) 을 형성하는 것을 포함한다. 향상 계층들은 예컨대, 기초 계층의 동일한 뷰에 대한 비디오 데이터에 대해 인터-계층 예측될 수도 있거나, 및/또는 예컨대, 향상 계층의 뷰와 함께 스테레오 뷰 쌍을 형성하는 기초 계층의 또 다른 뷰에 대한 비디오 데이터에 대해, 또는 상이한 향상 계층의 비디오 데이터에 대해, 인터-뷰 예측될 수도 있다. 향상 계층들 중 적어도 하나는 오직 스테레오 뷰들 중 하나의 코딩된 신호만을 포함한다.
일 예에서, 기초 계층 데이터 및 향상 계층 데이터를 포함하는 비디오 데이터를 디코딩하는 방법은 제 1 해상도를 갖는 기초 계층 데이터를 디코딩하는 단계를 포함하며, 기초 계층 데이터는 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함한다. 이 방법은 또한 제 1 해상도를 가지며 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하는 단계를 포함하며, 향상 데이터는 제 1 해상도를 가지며, 향상 계층 데이터를 디코딩하는 단계는 기초 계층 데이터의 적어도 일부에 관련된 향상 계층 데이터를 디코딩하는 단계를 포함한다. 이 방법은 또한 그 디코딩된 향상 계층 데이터를 디코딩된 향상 계층이 대응하는 디코딩된 기초 계층 데이터의 좌측 뷰 또는 우측 뷰 중 하나와 결합하는 단계를 포함한다.
또 다른 예에서, 기초 계층 데이터 및 향상 계층 데이터를 포함하는 비디오 데이터를 디코딩하는 장치는 비디오 디코더를 포함한다. 이 예에서, 비디오 디코더는 제 1 해상도를 갖는 기초 계층 데이터를 디코딩하도록 구성되며, 기초 계층 데이터는 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함한다. 비디오 디코더는 또한 제 1 해상도를 가지며 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하도록 구성되며, 향상 데이터는 제 1 해상도를 가지며, 향상 계층 데이터를 디코딩하는 단계는 기초 계층 데이터의 적어도 일부에 관련된 향상 계층 데이터를 디코딩하는 단계를 포함한다. 비디오 디코더는 또한 그 디코딩된 향상 계층 데이터를 디코딩된 향상 계층이 대응하는 디코딩된 기초 계층 데이터의 좌측 뷰 또는 우측 뷰 중 하나와 결합하도록 구성된다.
또 다른 예에서, 기초 계층 데이터 및 향상 계층 데이터를 포함하는 비디오 데이터를 디코딩하는 장치는 제 1 해상도를 갖는 기초 계층 데이터를 디코딩하는 수단을 포함하며, 기초 계층 데이터는 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함한다. 이 장치는 또한 제 1 해상도를 가지며 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하는 수단을 포함하며, 향상 데이터는 제 1 해상도를 가지며, 향상 계층 데이터를 디코딩하는 것은 기초 계층 데이터의 적어도 일부에 관련된 향상 계층 데이터를 디코딩하는 것을 포함한다. 이 장치는 또한 디코딩된 향상 계층 데이터를, 그 디코딩된 향상 계층이 대응하는 디코딩된 기초 계층 데이터의 좌측 뷰 또는 우측 뷰 중 하나와 결합하는 수단을 포함한다.
또 다른 예에서, 컴퓨터 프로그램 제품은, 실행될 때, 기초 계층 데이터 및 향상 계층 데이터를 갖는 비디오 데이터를 디코딩하는 디바이스의 프로세서로 하여금, 제 1 해상도를 갖는 기초 계층 데이터를 디코딩하도록 하는 명령들을 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함하며, 기초 계층 데이터는 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함한다. 명령들은 또한 프로세서로 하여금, 제 1 해상도를 갖고 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하도록 하며, 향상 데이터는 제 1 해상도를 가지며, 향상 계층 데이터를 디코딩하는 것은 기초 계층 데이터의 적어도 일부에 관련된 향상 계층 데이터를 디코딩하는 것을 포함한다. 이 명령들은 또한 프로세서로 하여금, 디코딩된 향상 계층 데이터를, 그 디코딩된 향상 계층이 대응하는 디코딩된 기초 계층 데이터의 좌측 뷰 또는 우측 뷰 중 하나와 결합하도록 한다.
또 다른 예에서, 기초 계층 데이터 및 향상 계층 데이터를 포함하는 비디오 데이터를 인코딩하는 방법은 제 1 해상도를 갖는 기초 계층 데이터를 인코딩하는 단계를 포함하며, 기초 계층 데이터는 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함한다. 이 방법은 또한 제 1 해상도를 가지며 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하는 단계를 포함하며, 향상 데이터는 제 1 해상도를 가지며, 향상 계층 데이터를 디코딩하는 단계는 기초 계층 데이터의 적어도 일부에 관련된 향상 계층 데이터를 디코딩하는 단계를 포함한다.
또 다른 예에서, 장면의 좌측 뷰 및 장면의 우측 뷰를 포함하는 비디오 데이터를 인코딩하는 장치는 비디오 인코더를 포함하며, 좌측 뷰는 제 1 해상도를 가지며 우측 뷰는 제 1 해상도를 갖는다. 이 예에서, 비디오 인코더는 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는 기초 계층 데이터를 인코딩하도록 구성된다. 비디오 인코더는 또한 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하도록 구성되며, 향상 데이터는 제 1 해상도를 갖는다. 비디오 인코더는 또한 기초 계층 데이터 및 향상 계층 데이터를 출력하도록 구성된다.
또 다른 예에서, 장면의 좌측 뷰 및 장면의 우측 뷰를 포함하는 비디오 데이터를 인코딩하는 장치는, 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는 기초 계층 데이터를 인코딩하는 수단을 포함하며, 좌측 뷰는 제 1 해상도를 가지며 우측 뷰는 제 1 해상도를 갖는다. 이 장치는 또한 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하는 수단을 포함하며, 향상 데이터는 제 1 해상도를 갖는다. 이 장치는 또한 기초 계층 데이터 및 향상 계층 데이터를 출력하는 수단을 포함한다.
또 다른 예에서, 컴퓨터 프로그램 제품은, 실행될 때, 비디오 데이터를 인코딩하는 디바이스의 프로세서로 하여금, 장면의 좌측 뷰 및 장면의 우측 뷰를 포함하는 비디오 데이터를 수신하도록 하는 명령들을 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함하며, 좌측 뷰는 제 1 해상도를 가지며 우측 뷰는 제 1 해상도를 갖는다. 이 명령들은 또한 프로세서로 하여금, 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전 및 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는 기초 계층 데이터를 인코딩하도록 한다. 이 명령들은 또한 프로세서로 하여금, 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하도록 하며, 향상 데이터는 제 1 해상도를 갖는다. 이 명령들은 또한 프로세서로 하여금, 기초 계층 데이터 및 향상 계층 데이터를 출력하도록 한다.
도 1 은 장면의 2개의 뷰들로부터의 화상들을 포함하는 스케일러블 멀티-뷰 비트스트림을 형성하는 기법들을 이용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 도시하는 블록도이다.
도 2a 는 2개의 감소된 해상도 화상들을 포함하는 기초 계층, 및 그 기초 계층으로부터의 각각의 풀 해상도 화상을 각각 포함하는 2개의 추가적인 향상 계층들을 갖는 스케일러블 멀티-뷰 비트스트림을 발생하는 기법들을 구현할 수도 있는 비디오 인코더의 일 예를 도시하는 블록도이다.
도 2b 는 2개의 감소된 해상도 화상들을 포함하는 기초 계층, 및 그 기초 계층에 대응하는 각각의 풀 해상도 화상을 각각 포함하는 2개의 추가적인 향상 계층들을 가지는 스케일러블 멀티-뷰 비트스트림을 발생하는 기법들을 구현할 수도 있는 비디오 인코더의 또 다른 예를 도시하는 블록도이다.
도 3 은 인코딩된 비디오 시퀀스를 디코딩하는 비디오 디코더의 일 예를 도시하는 블록도이다.
도 4 는 양자의 뷰들에 대해 감소된 해상도 화상들을 갖는 기초 계층 뿐만 아니라, 좌측 눈 뷰 화상의 풀 해상도 향상 계층을 형성하기 위해 비디오 인코더에 의해 결합된 좌측 눈 뷰 화상 및 우측 눈 뷰 화상을 도시하는 개념도이다.
도 5 는 양자의 뷰들에 대한 감소된 해상도 화상들을 갖는 기초 계층 뿐만 아니라, 우측 눈 뷰 화상의 풀 해상도 향상 계층을 형성하기 위해, 비디오 인코더에 의해 결합된 좌측 눈 뷰 화상 및 우측 눈 뷰 화상을 도시하는 개념도이다.
도 6 은 기초 계층, 풀 해상도 좌측 눈 뷰 화상, 및 풀 해상도 우측 눈 뷰 화상을 형성하기 위해 비디오 인코더에 의해 결합된 좌측 눈 뷰 화상 및 우측 눈 뷰 화상을 도시하는 개념도이다.
도 7 은 2개의 상이한 뷰들의 2개의 감소된 해상도 화상들을 갖는 기초 계층 뿐만 아니라, 제 1 향상 계층 및 제 2 향상 계층을 포함하는 스케일러블 멀티-뷰 비트스트림을 형성하고 인코딩하는 예시적인 방법을 도시하는 플로우차트이다.
도 8 은 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층을 갖는 스케일러블 멀티-뷰 비트스트림을 디코딩하는 예시적인 방법을 도시하는 플로우차트이다.
일반적으로, 본 개시물은 스테레오 비디오 데이터, 예컨대, 3차원의 시각적 효과를 발생하는데 사용되는 비디오 데이터를 지원하는 기법들에 관한 것이다. 비디오에서 3차원의 시각적 효과를 발생하기 위해, 장면의 2개의 뷰들, 예컨대, 좌측 눈 뷰 및 우측 눈 뷰가, 동시에 또는 거의 동시에 보여진다. 장면의 좌측 눈 뷰 및 우측 눈 뷰에 대응하는, 동일한 장면의 2개의 화상들은, 시청자의 좌측 눈과 우측 눈 사이의 수평 디스패리티 (horizontal disparity) 에 상당하는, 약간 상이한 수평 위치들로부터 캡처될 수도 있다. 좌측 눈 뷰 화상이 시청자의 좌측 눈에 의해 인지되고 우측 눈 뷰 화상이 시청자의 우측 눈에 의해 인지되도록, 이들 2개의 화상들을 동시에 또는 거의 동시에 디스플레이함으로써, 시청자는 3차원의 비디오 효과를 경험할 수도 있다.
본 개시물은 복수의 패킹된 (packed) 프레임들을 갖는 기초 계층 및 하나 이상의 풀 해상도 향상 계층들을 포함하는 스케일러블 멀티-뷰 비트스트림을 형성하는 기법들을 제공한다. 기초 계층의 패킹된 프레임들의 각각은 장면의 상이한 뷰들 (예컨대, "우측 눈 뷰" 및 "좌측 눈 뷰") 에 대응하는 2개의 화상들에 대한 데이터를 갖는 비디오 데이터의 단일 프레임에 대응할 수도 있다. 특히, 본 개시물의 기법들은 하나의 프레임으로 패킹되어 인코딩되는, 장면의 좌측 눈 뷰의 감소된 해상도 화상, 및 그 장면의 우측 눈 뷰의 감소된 해상도 화상을 갖는 기초 계층을 인코딩하는 것을 포함할 수도 있다. 게다가, 본 개시물의 기법들은 2개의 풀 해상도 향상 계층들을 인코딩하는 것을 포함하며, 2개의 풀 해상도 향상 계층들 각각은 기초 계층에 포함된 스테레오 쌍 중 하나의 뷰를 스케일러블 방법 (scalable manner) 으로 포함한다. 예를 들어, 기초 계층에 더해서, 본 개시물의 기법들은 우측 눈 뷰 또는 좌측 눈 뷰의 풀 해상도 화상을 갖는 제 1 향상 계층을 인코딩하는 것을 포함할 수도 있다. 본 개시물의 기법들은 또한 다른 하나의 각각의 뷰 (예컨대, 제 1 향상 계층에 포함되지 않는, 우측 눈 뷰 또는 좌측 눈 뷰) 의 풀 해상도 화상을 갖는 제 2 향상 계층을 인코딩하는 것을 포함할 수도 있다. 본 개시물의 일부 양태들에 따르면, 멀티-뷰 비트스트림은 스케일러블 방법으로 코딩될 수도 있다. 즉, 스케일러블 멀티-뷰 비트스트림을 수신하는 디바이스는 기초 계층 단독, 기초 계층과 하나의 향상 계층, 또는 기초 계층과 양자의 향상 계층들을 수신하여 이용할 수도 있다.
일부 예들에서, 본 개시물의 기법들은 비대칭적인 패킹된 프레임들의 사용에 관계될 수도 있다. 즉, 일부 예들에서, 기초 계층은 향상 계층으로 코딩되는 하나의 뷰에 대한 풀 해상도 화상, 및 기초 계층의 부분으로 코딩되는 다른 하나의 뷰에 대한 감소된 해상도 화상을 발생하기 위해 하나의 향상 계층과 결합될 수도 있다. 보편성의 손실 없이, (예컨대, 제 1 향상 계층으로부터의) 풀 해상도 화상이 우측 눈 뷰이고 감소된 해상도 화상이 기초 계층의 좌측 눈 뷰 부분이라고 가정한다. 이 방법에서, 목적지 디바이스는 3차원의 출력을 제공하기 위해 좌측 눈 뷰를 업샘플링할 수도 있다. 또, 이 예에서, 향상 계층은 (예컨대, 기초 계층에서 좌측 눈 뷰에 대한 데이터에 대해) 인터-계층 예측되거나, 및/또는 (예컨대, 기초 계층에서 우측 눈 뷰에 대한 데이터에 대해) 인터-뷰 예측될 수도 있다.
본 개시물은 일반적으로 화상을 뷰의 샘플로서 지칭한다. 본 개시물은 일반적으로 프레임을 특정의 시간 인스턴스를 나타내는 적어도 액세스 유닛의 부분으로 코딩되는 하나 이상의 화상들을 포함하는 것으로 지칭한다. 따라서, 프레임은 뷰의 샘플 (즉, 단일 화상) 에 대응하거나, 또는, 패킹된 프레임들의 경우, 다수의 뷰들로부터의 샘플들 (즉, 2개 이상 화상들) 을 포함할 수도 있다.
게다가, 본 개시물은 일반적으로 유사한 특성들을 갖는 프레임들의 시리즈를 포함할 수도 있는 "계층" 을 지칭한다. 본 개시물의 양태들에 따르면, "기초 계층" 은 패킹된 프레임들의 시리즈 (예컨대, 단일 시간 인스턴스에서 2개의 뷰들에 대한 데이터를 포함하는 프레임) 를 포함할 수도 있으며, 패킹된 프레임에 포함된 각각의 뷰의 각각의 화상은 감소된 해상도 (예컨대, 하프 해상도) 에서 인코딩될 수도 있다. 본 개시물의 양태들에 따르면, "향상 계층" 은 데이터를 기초 계층 단독으로 디코딩하는 것에 비해, 그 뷰에 대한 풀 해상도 화상을 상대적으로 더 높은 품질로 (예컨대, 감소된 왜곡으로) 재생하는데 사용될 수 있는 기초 계층의 뷰들 중 하나에 대한 데이터를 포함할 수도 있다. 일부 예들에 따르면, 위에서 언급한 바와 같이, (향상 계층의) 하나의 뷰의 풀 해상도 화상 및 기초 계층의 다른 하나의 뷰로부터의 감소된 해상도 화상이 스테레오 장면의 비대칭적인 표현을 형성하기 위해 결합될 수도 있다.
일부 예들에 따르면, 기초 계층은 2개의 화상들이 서브샘플링되어 코딩을 위해 단일 프레임으로 패킹될 수 있도록 하는 H.264/AVC 에 따를 수도 있다. 게다가, 향상 계층들은 기초 계층에 대해 및/또는 또 다른 향상 계층에 대해 코딩될 수도 있다. 일 예에서, 기초 계층은 특정의 프레임 패킹 배열로, 예컨대, 탑-바텀 (top-bottom), 사이드-바이-사이드 (side-by-side), 인터리브된 로우 (interleaved row), 인터리브된 칼럼 (interleaved column), 오점형 (quincunx) (예컨대, "체커보드"), 또는 다른 방법으로 단일 프레임으로 패킹되는, 하프 해상도 제 1 화상 (예컨대, "좌측 눈 뷰") 및 하프 해상도 제 2 화상 (예컨대, "우측 눈 뷰") 을 포함할 수도 있다. 게다가, 제 1 향상 계층은 기초 계층에 포함된 화상들 중 하나에 대응하는 풀 해상도 화상을 포함할 수도 있으며, 반면 제 2 향상 계층은 기초 계층에 포함된 다른 하나의 각각의 화상에 대응하는 또 다른 풀 해상도 화상을 포함할 수도 있다.
일 예에서, 제 1 향상 계층은 기초 계층의 제 1 뷰 (예컨대, 좌측 눈 뷰) 에 대응할 수도 있으며, 반면 제 2 향상 계층은 기초 계층의 제 2 뷰 (예컨대, 우측 눈 뷰) 에 대응할 수도 있다. 이 예에서, 제 1 향상 계층은 기초 계층의 좌측 눈 뷰로부터 인터-계층 예측되거나, 및/또는 기초 계층의 우측 눈 뷰로부터 인터-뷰 예측된 풀 해상도 프레임들을 포함할 수도 있다. 더욱이, 제 2 향상 계층은 기초 계층의 우측 눈 뷰로부터 인터-계층 예측되거나, 및/또는 기초 계층의 좌측 눈 뷰로부터 인터-뷰 예측되는 풀 해상도 프레임들을 포함할 수도 있다. 추가적으로 또는 이의 대안으로, 제 2 향상 계층은 제 1 향상 계층으로부터 인터-뷰 예측되는 풀 해상도 프레임들을 포함할 수도 있다.
또 다른 예에서, 제 1 향상 계층은 기초 계층의 제 2 뷰 (예컨대, 우측 눈 뷰) 에 대응할 수도 있으며, 반면 제 2 향상 계층은 기초 계층의 제 1 뷰 (예컨대, 좌측 눈 뷰) 에 대응할 수도 있다. 이 예에서, 제 1 향상 계층은 기초 계층의 우측 눈 뷰로부터 인터-계층 예측되거나, 및/또는 기초 계층의 좌측 눈 뷰로부터 인터-뷰 예측되는 풀 해상도 프레임들을 포함할 수도 있다. 더욱이, 제 2 향상 계층은 기초 계층의 좌측 눈 뷰로부터 인터-계층 예측되거나, 및/또는 기초 계층의 우측 눈 뷰로부터 인터-뷰 예측되는 풀 해상도 프레임들을 포함할 수도 있다. 추가적으로 또는 이의 대안으로, 제 2 향상 계층은 제 1 향상 계층으로부터 인터-뷰 예측되는 풀 해상도 프레임들을 포함할 수도 있다.
본 개시물의 기법들은 수신 디바이스, 예컨대 디코더를 갖는 클라이언트 디바이스로 하여금, 기초 계층, 기초 계층 및 향상 계층, 또는 기초 계층 및 2개의 향상 계층들을 수신하여 이용할 수 있도록 하는 스케일러블 코딩 포맷에 따라서 데이터를 코딩하는 것을 포함한다. 예를 들어, 여러 클라이언트 디바이스들은 동일한 표현의 상이한 동작 포인트들을 이용하는 것이 가능할 수도 있다.
특히, 동작 포인트가 단지 기초 계층에만 대응하고 클라이언트 디바이스가 2차원 (2D) 디스플레이가 가능한 일 예에서, 클라이언트 디바이스는 기초 계층을 디코딩하고 기초 계층의 뷰들 중 하나와 연관되는 화상들을 폐기할 수도 있다. 즉, 예를 들어, 클라이언트 디바이스는 기초 계층의 하나의 뷰 (예컨대, 좌측 눈 뷰) 와 연관되는 화상들을 디스플레이하고 기초 계층의 다른 하나의 뷰 (예컨대, 우측 눈 뷰) 와 연관되는 화상들을 폐기할 수도 있다.
동작 포인트가 기초 계층을 포함하고 클라이언트 디바이스가 스테레오 또는 3차원의 (3D) 디스플레이가 가능한 또 다른 예에서, 클라이언트 디바이스는 기초 계층을 디코딩하고, 기초 계층과 연관되는 양자의 뷰들의 화상들을 디스플레이할 수도 있다. 즉, 클라이언트 디바이스는 기초 계층을 수신하고, 본 개시물의 기법들에 따라서, 디스플레이를 위해 좌측 눈 뷰 및 우측 눈 뷰의 화상들을 재구성할 수도 있다. 클라이언트 디바이스는 화상들을 디스플레이하기 전에 기초 계층의 좌측 눈 뷰 및 우측 눈 뷰의 화상들을 업샘플링할 수도 있다.
또 다른 예에서, 동작 포인트 (operation point) 는 기초 계층 및 하나의 향상 계층을 포함할 수도 있다. 이 예에서, 2D "고정밀도" (HD) 디스플레이 능력을 갖는 클라이언트 디바이스는 기초 계층 및 하나의 향상 계층을 수신하고, 본 개시물의 기법들에 따라서, 향상 계층으로부터 단지 풀-해상도 뷰의 화상들을 재구성할 수도 있다. 본원에서 사용될 때, "고정밀도 (high definition)" 는 1920 x 1080 픽셀들의 네이티브 해상도를 지칭할 수도 있지만, "고정밀도" 를 구성하는 것은 상대적이며 다른 해상도들도 또한 "고정밀도" 인 것으로 간주될 수도 있는 것으로 해석되어야 한다.
동작 포인트가 기초 계층 및 하나의 향상 계층을 포함하고 클라이언트 디바이스가 스테레오 디스플레이 능력을 갖는 또 다른 예에서, 클라이언트 디바이스는 향상 계층의 풀-해상도 뷰의 화상들 뿐만 아니라, 기초 계층의 대향 (opposite) 뷰의 하프 해상도 화상들을 디코딩하고 재구성할 수도 있다. 그후, 클라이언트 디바이스는 디스플레이 전에 기초 계층의 하프 해상도 화상들을 업샘플링할 수도 있다.
또한 또 다른 예에서, 동작 포인트는 기초 계층 및 2개의 향상 계층들을 포함할 수도 있다. 이 예에서, 클라이언트 디바이스는 기초 계층 및 2개의 향상 계층들을 수신하고, 본 개시물의 기법들에 따라서, 3D HD 디스플레이에 대한 좌측 눈 뷰 및 우측 눈 뷰의 화상들을 재구성할 수도 있다. 따라서, 클라이언트 디바이스는 양자의 뷰들에 관련되는 풀 해상도 데이터를 제공하기 위해 향상 계층들을 이용할 수도 있다. 따라서, 클라이언트 디바이스는 양자의 뷰들의 네이티브 풀 해상도 화상들을 디스플레이할 수도 있다.
본 개시물의 기법들의 스케일러블 성질 (scalable nature) 은, 여러 클라이언트 디바이스들로 하여금, 기초 계층, 기초 계층과 하나의 향상 계층, 또는 기초 계층과 양자의 향상 계층들을 이용가능하도록 한다. 일부 양태들에 따르면, 단일 뷰를 디스플레이할 수 있는 클라이언트 디바이스는 단일 뷰 재구성을 제공하는 비디오 데이터를 이용할 수도 있다. 예를 들어, 이런 디바이스는 단일 뷰 표현을 제공하기 위해 기초 계층, 또는 기초 계층과 하나의 향상 계층을 수신할 수도 있다. 이 예에서, 클라이언트 디바이스는 또 다른 뷰와 연관되는 향상 계층 데이터를 요청하는 것을 회피하거나, 또는 또 다른 뷰와 연관되는 향상 계층 데이터를 수신하자 마자 폐기할 수도 있다. 디바이스가 제 2 뷰의 향상 계층 데이터를 수신하거나 또는 디코딩하지 않을 때, 디바이스는 기초 계층의 하나의 뷰로부터의 화상들을 업샘플링할 수도 있다.
다른 양태들에 따르면, 하나 보다 많은 뷰를 디스플레이할 수 있는 클라이언트 디바이스 (예컨대, 3차원의 텔레비전, 컴퓨터, 휴대형 디바이스, 또는 기타 등등) 는 기초 계층, 제 1 향상 계층, 및/또는 제 2 향상 계층으로부터의 데이터를 이용할 수도 있다. 예를 들어, 이런 디바이스는 장면의 3차원 표현을 기초 계층의 양자의 뷰들을 이용하여 제 1 해상도에서 발생하기 위해 기초 계층으로부터의 데이터를 이용할 수도 있다. 이의 대안으로, 이런 디바이스는 장면의 3차원 표현을 발생하기 위해 기초 계층 및 하나의 향상 계층으로부터의 데이터를 이용할 수도 있으며, 장면의 뷰들 중 하나는 장면의 다른 하나의 뷰보다 상대적으로 더 높은 해상도를 갖는다. 이의 대안으로, 이런 디바이스는 장면의 3차원 표현을 발생하기 위해 기초 계층 및 양자의 향상 계층들로부터의 데이터를 이용할 수도 있으며, 양자의 뷰들은 상대적으로 높은 해상도를 갖는다.
이 방법에서, 멀티미디어 콘텐츠의 표현은 3개의 계층들: 2개의 뷰들 (예컨대, 좌측 및 우측 뷰) 에 대한 비디오 데이터를 갖는 기초 계층, 2개의 뷰들 중 하나에 대한 제 1 향상 계층, 및 2개의 뷰들의 다른 하나에 대한 제 2 향상 계층을 포함할 수도 있다. 위에서 설명한 바와 같이, 2개의 뷰들은 2개의 뷰들의 데이터가 3차원의 효과를 발생하기 위해 디스플레이될 수도 있다는 점에서 스테레오 뷰 쌍을 형성할 수도 있다. 본 개시물의 기법들에 따르면, 제 1 향상 계층은 기초 계층에서 코딩된 대응하는 뷰 및/또는 기초 계층에서 코딩된 대향 뷰 중 어느 하나 또는 양자로부터 예측될 수도 있다. 제 2 향상 계층은 기초 계층에서 코딩된 대응하는 뷰 및/또는 제 1 향상 계층 중 어느 하나 또는 양자로부터 예측될 수도 있다. 본 개시물은 기초 계층의 대응하는 뷰로부터의 향상 계층의 예측을 "인터-계층 예측" 으로서 지칭하고, 대향 뷰로부터의 (기초 계층으로부터든 또는 또 다른 향상 계층으로부터든) 향상 계층의 예측을 "인터-뷰 예측" 으로서 지칭한다. 향상 계층들 중 어느 하나 또는 양자는 인터-계층 예측되거나 및/또는 인터-뷰 예측될 수도 있다.
본 개시물은 또한 계층 의존성들을 네트워크 추상화 계층 (NAL) 에서, 예컨대, NAL 유닛들의 보충 향상 정보 (SEI) 메시지들, 또는 시퀀스 파라미터 세트 (SPS) 로 시그널링하는 기법들을 제공한다. 본 개시물은 또한 (동일한 시간 인스턴스의) 액세스 유닛에서 NAL 유닛들의 디코딩 의존성을 시그널링하는 기법들을 제공한다. 즉, 본 개시물은 어떻게 특정의 NAL 유닛이 스케일러블 멀티-뷰 비트스트림의 다른 계층들을 예측하는데 사용되는지를 시그널링하는 기법들을 제공한다. H.264/AVC (고도 비디오 코딩) 의 예에서, 코딩된 비디오 세그먼트들은 NAL 유닛들로 조직화되며, 이 NAL 유닛들은 비디오 전화 통신, 스토리지, 브로드캐스트, 또는 스트리밍과 같은 애플리케이션들을 어드레싱하는 "네트워크-친화적인" 비디오 표현을 제공한다. NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들 및 비-VCL NAL 유닛들로 분류될 수 있다. VCL 유닛들은 코어 압축 엔진으로부터의 출력을 포함할 수도 있으며 블록, 매크로블록, 및/또는 슬라이스 레벨 데이터를 포함할 수도 있다. 다른 NAL 유닛들은 비-VCL NAL 유닛들일 수도 있다. 일부 예들에서, 하나의 시간 인스턴스에서 1차 코딩된 화상으로서 일반적으로 제시되는 코딩된 화상은 액세스 유닛에 포함될 수도 있으며, 이 액세스 유닛은 하나 이상의 NAL 유닛들을 포함할 수도 있다.
일부 예들에서, 본 개시물의 기법들은 스케일러블 비디오 인코딩 (SVC), 멀티뷰 비디오 코딩 (MVC), 또는 H.264/AVC 의 다른 확장판들과 같은 AVC (advanced video coding) 에 기초하여, H.264/AVC 코덱들 또는 코덱들에 적용될 수도 있다. 이런 코덱들은 SEI 메시지들이 액세스 유닛과 연관될 때 SEI 메시지들을 인식하도록 구성될 수도 있으며, SEI 메시지는 액세스 유닛 내에서 ISO 기반 미디어 파일 포맷 또는 MPEG-2 시스템 비트스트림으로 캡슐화될 수도 있다. 이 기법들은 또한 미래의 코딩 표준들, 예컨대, H.265/HEVC (high efficiency video coding) 에 적용될 수도 있다.
SEI 메시지들은 VCL NAL 유닛들로부터 코딩된 화상들 샘플들을 디코딩하는데 필요하지 않은 정보를 포함할 수도 있으며, 그러나 디코딩, 디스플레이, 에러 복원력 (error resilience), 및 다른 목적들에 관련된 프로세스들을 보조할 수도 있다. SEI 메시지들은 비-VCL NAL 유닛들에 포함될 수도 있다. SEI 메시지들은 일부 표준 사양들의 규범적인 (normative) 부분이며, 따라서 항상 표준 규격 디코더 구현에 강제적인 것은 아니다. SEI 메시지들은 시퀀스 레벨 SEI 메시지들 또는 화상 레벨 SEI 메시지들일 수도 있다. 일부 시퀀스 레벨 정보는 SVC 의 예에서는 스케일러빌리티 정보 SEI 메시지들과 같은 SEI 메시지들, 및 MVC 에서는 뷰 스케일러빌리티 정보 SEI 메시지들에 포함될 수도 있다. 이들 예시적인 SEI 메시지들은 예컨대, 동작 포인트들의 추출 및 동작 포인트들의 특성들에 관한 정보를 운반할 수도 있다.
H.264/AVC 는 프레임 패킹 SEI 메시지를 제공하며, 이 메시지는 2개의 화상들, 예컨대, 장면의 좌측 뷰 및 우측 뷰를 포함하는 프레임에 대한 프레임 패킹 유형을 나타내는 코덱-레벨 메시지이다. 예를 들어, 여러 유형들의 프레임 패킹 방법들이 2개의 프레임들의 공간 인터리빙에 지원된다. 지원되는 인터리빙 방법들은 체커보드, 칼럼 인터리빙, 로우 인터리빙, 사이드-바이-사이드, 탑-바텀, 및 체커보드 상향변환과 사이드-바이-사이드를 포함한다. 프레임 패킹 SEI 메시지는 2009년 10월, 중국, 서안, MPEG of ISO/IEC JTC1/SC29/WG11, N101303, "Information technology - Coding of audio-visual objects - Part 10: Advanced Video Coding, AMENDMENT 1: Constrained baseline profile, stereo high profile and frame packing arrangement SEI message" 에 설명되어 있으며, 이는 H.264/AVC 표준의 최신 버전에 포함된다. 이 방법에서, H.264/AVC 는 하나의 화상으로의 좌측 뷰 및 우측 뷰의 2개의 화상들의 인터리빙 및 비디오 시퀀스로의 이런 화상들을 코딩하는 것을 지원한다.
본 개시물은 인코딩된 비디오 데이터에 이용가능한 동작 포인트들을 나타내는 동작 포인트 SEI 메시지를 제공한다. 예를 들어, 본 개시물은 여러 감소된 해상도 및 풀 해상도 계층 조합들에 대한 동작 포인트들을 나타내는 동작 포인트 SEI 메시지를 제공한다. 이런 조합들은 상이한 프레임 레이트들에 대응하는 상이한 시간 서브세트들에 기초하여 추가로 분류될 수도 있다. 디코더는 이 정보를 이용하여, 비트스트림이 다수의 계층들을 포함하는지 여부를 결정하고, 기초 계층을 2개의 뷰들 및 향상 뷰들의 구성 화상들로 적절히 분리할 수도 있다.
게다가, 본 개시물의 일부 양태들에 따르면, 본 개시물의 기법들은 H.264/AVC 를 위한 시퀀스 파라미터 세트 ("SPS") 확장판을 제공하는 것을 포함한다. 예를 들어, 시퀀스 파라미터 세트는 비교적 큰 개수의 VCL NAL 유닛들을 디코딩하는데 사용될 수도 있는 정보를 포함할 수도 있다. 시퀀스 파라미터 세트는 연속적으로 코딩된 화상들, 소위 코딩된 비디오 시퀀스의 시리즈에 적용할 수도 있다. 일부 예들에 따르면, 본 개시물의 기법들은 (1) 기초 계층에서 좌측 눈 뷰의 화상들의 로케이션, (2) 풀 해상도 향상 계층들의 순서 (예컨대, 좌측 눈 뷰의 화상들이 우측 눈 뷰의 화상들 이전에 인코딩되는지 여부, 또는 반대의 경우도 마찬가지이다), (3) 풀 해상도 향상 계층들의 의존성 (예컨대, 향상 계층들이 기초 계층 또는 또 다른 향상 계층으로부터 예측되는지 여부), (4) 단일 뷰 화상의 풀 해상도에 대한 동작 포인트들의 지원 (예컨대, 기초 계층 및 하나의 대응하는 향상 계층의 화상들 중 하나에 대한 지원), (5) 비대칭적인 동작 포인트들의 지원 (예컨대, 하나의 뷰에 대한 풀 해상도 화상 및 다른 하나의 뷰에 대한 감소된 해상도 화상을 갖는 프레임들을 포함한 기초 계층에 대한 지원) (6) 인터-계층 예측의 지원, 및 (7) 인터-뷰 예측의 지원을 기술하기 위해 SPS 확장판을 제공하는 것과 관련될 수도 있다.
도 1 은 장면의 2개의 뷰들로부터의 화상들을 포함하는 스케일러블 멀티-뷰 비트스트림을 형성하는 기법들을 이용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 도시하는 블록도이다. 도 1 에 나타낸 바와 같이, 시스템 (10) 은 인코딩된 비디오를 목적지 디바이스 (14) 로 통신 채널 (16) 을 통해 송신하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 고정 또는 모바일 컴퓨팅 디바이스들, 셋톱 박스들, 게이밍 콘솔들, 디지털 미디어 플레이어들, 또는 기타 등등과 같은 광범위한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부의 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신 디바이스들, 예컨대 무선 핸드셋들, 소위 셀룰러 또는 위성 무선 전화기들, 또는 통신 채널 (16) 을 통해서 비디오 정보를 통신하는 임의의 무선 디바이스들을 포함할 수도 있으며, 이 경우 통신 채널 (16) 은 무선이다.
스케일러블 멀티-뷰 비트스트림을 형성하는 것과 관련한, 본 개시물의 기법들은, 그러나, 반드시 무선 애플리케이션들 또는 설정들에 제한되지는 않는다. 예를 들어, 이들 기법들은 오버-디-에어 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 인터넷 비디오 송신들, 저장 매체 상으로 인코딩되는 인코딩된 디지털 비디오, 또는 다른 시나리오들에 적용할 수도 있다. 따라서, 통신 채널 (16) 은 인코딩된 비디오 데이터의 송신에 적합한 무선 또는 유선 매체들 중 임의의 조합을 포함할 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 변조기/복조기 (모뎀) (22) 및 송신기 (24) 를 포함한다. 목적지 디바이스 (14) 는 수신기 (26), 모뎀 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 본 개시물에 따르면, 소스 디바이스 (12) 의 비디오 인코더 (20) 는 스케일러블 멀티-뷰 비트스트림, 예컨대, 기초 계층 및 하나 이상의 향상 계층들 (예컨대, 2개의 향상 계층들) 을 형성하는 기법들을 적용하도록 구성될 수도 있다. 예를 들어, 기초 계층은 장면의 상이한 뷰 (예컨대, 좌측 눈 뷰 및 우측 눈 뷰) 각각으로부터의 2개의 화상들에 대한 코딩된 데이터를 포함할 수도 있으며, 여기서, 비디오 인코더 (20) 는 양자의 화상들의 해상도를 감소시키고 화상들을 단일 프레임으로 결합한다 (예컨대, 각각의 화상은 풀 해상도 프레임의 해상도의 1/2 이다). 제 1 향상 계층은 기초 계층의 뷰들 중 하나의 풀 해상도 표현에 대한 코딩된 데이터를 포함할 수도 있으며, 반면, 제 2 향상 계층은 기초 계층의 다른 하나의 각각의 뷰에 대한 풀 해상도에 대한 코딩된 데이터를 포함할 수도 있다.
특히, 비디오 인코더 (20) 는 기초 계층에 관련된 향상 계층들을 인코딩하기 위해 인터-뷰 예측 및/또는 인터-계층 예측을 구현할 수도 있다. 예를 들어, 비디오 인코더 (20) 가 기초 계층의 좌측 눈 뷰의 화상들에 대응하는 향상 계층을 인코딩한다고 가정한다. 이 예에서, 비디오 인코더 (20) 는 기초 계층의 좌측 눈 뷰의 대응하는 화상들로부터 향상 계층을 예측하기 위해 인터-계층 예측 방식을 구현할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 향상 계층의 화상들을 예측하기 전에 기초 계층의 좌측 눈 뷰의 화상들을 재구성할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 향상 계층의 화상들을 예측하기 전에 기초 계층의 좌측 눈 뷰의 화상들을 업샘플링할 수도 있다. 비디오 인코더 (20) 는 재구성된 기초 계층에 기초하여 인터-계층 텍스처 예측을 수행함으로써, 또는 기초 계층의 모션 벡터들에 기초하여 인터-계층 모션 예측을 수행함으로써, 인터-계층 예측을 수행할 수도 있다. 추가적으로 또는 이의 대안으로, 비디오 인코더 (20) 는 기초 계층의 우측 눈 뷰의 화상들로부터 향상 계층을 예측하기 위해 인터-뷰 예측 방식을 구현할 수도 있다. 이 예에서, 비디오 인코더 (20) 는 향상 계층에 대한 인터-뷰 예측을 수행하기 전에 기초 계층의 우측 눈 뷰의 풀 해상도 화상들을 재구성할 수도 있다.
기초 계층의 좌측 눈 뷰의 풀 해상도 화상들에 대응하는 향상 계층에 더해, 비디오 인코더 (20) 는 또한 기초 계층의 우측 눈 뷰의 풀 해상도 화상들에 대응하는 또 다른 향상 계층을 인코딩할 수도 있다. 본 개시물의 일부 양태들에 따르면, 비디오 인코더 (20) 는 우측 눈 뷰의 향상 계층 화상들을 기초 계층에 대한 인터-뷰 예측 및/또는 인터-계층 예측을 이용하여 예측할 수도 있다. 게다가, 비디오 인코더 (20) 는 우측 눈 뷰의 향상 계층 화상들을 다른 하나의, 이전에 발생된 향상 계층 (예컨대, 좌측 눈 뷰와 대응하는 향상 계층) 에 대한 인터-뷰 예측을 이용하여 예측할 수도 있다.
다른 예들에서, 소스 디바이스 및 목적지 디바이스는 다른 구성요소들 또는 배열들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (12) 는 외부 카메라와 같은 외부 비디오 소스 (18) 로부터 비디오 데이터를 수신할 수도 있다. 이와 유사하게, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하는 대신, 외부 디스플레이 디바이스와 인터페이스할 수도 있다.
도 1 의 도시된 시스템 (10) 은 단지 일 예이다. 스케일러블 멀티-뷰 비트스트림을 발생하는 기법들은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 일반적으로 본 개시물의 기법들이 비디오 인코딩 디바이스에 의해 수행되지만, 기법들은 또한 "코덱" 으로 일반적으로 지칭되는, 비디오 인코더/디코더에 의해 수행될 수도 있다. 더욱이, 본 개시물의 기법들의 양태들은 또한 비디오 프리프로세서 또는 비디오 후처리 프로세서, 예컨대, 파일 캡슐화 유닛, 파일 캡슐화 해제 유닛, 비디오 멀티플렉서, 또는 비디오 디멀티플렉서에 의해 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 단지 소스 디바이스 (12) 가 목적지 디바이스 (14) 로의 송신을 위해 코딩된 비디오 유닛을 발생하는 이런 코딩 디바이스들의 예들이다. 일부 예들에서, 디바이스들 (12, 14) 은 디바이스들 (12, 14) 의 각각이 비디오 인코딩 및 디코딩 구성요소들을 포함하도록, 실질적으로 대칭적 방법으로 동작할 수도 있다. 그러므로, 시스템 (10) 은 예컨대, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 비디오 게이밍, 또는 비디오 전화 통신을 위해, 디바이스들 (12, 14) 사이에 1-방향 또는 2-방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 캡처 디바이스, 예컨대 비디오 카메라, 이전에 캡처된 비디오를 포함하는 비디오 아치브, 및/또는 비디오 콘텐츠 제공자로부터 배급된 비디오를 포함할 수도 있다. 추가 대안적인 예로서, 비디오 소스 (18) 는 컴퓨터 그래픽스-기반의 데이터를 소스 비디오, 또는 라이브 비디오, 아치브된 비디오, 및 컴퓨터 발생된 비디오의 조합으로서 발생할 수도 있다. 일부의 경우, 비디오 소스 (18) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 위에서 언급한 바와 같이, 그러나, 본 개시물에서 설명하는 기법들은 비디오 코딩에 일반적으로 적용할 수도 있으며, 모바일 또는 일반적으로 비-모바일 컴퓨팅 디바이스들에 의해 실행되는 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다. 어쨌든, 캡처된, 사전-캡처된, 또는 컴퓨터-발생된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다.
비디오 소스 (18) 는 2개 이상 뷰들로부터의 화상들을 비디오 인코더 (20) 로 제공할 수도 있다. 동일한 장면의 2개의 화상들은 2개의 화상들이 3차원의 효과를 발생하는데 사용될 수 있도록, 약간 상이한 수평 위치들로부터 동시에 또는 거의 동시에 캡처될 수도 있다. 이의 대안으로, 비디오 소스 (18) (또는, 소스 디바이스 (12) 의 또 다른 유닛) 는 제 1 뷰의 제 1 화상으로부터 제 2 뷰의 제 2 화상을 발생하기 위해 깊이 정보 또는 디스패리티 정보를 이용할 수도 있다. 깊이 또는 디스패리티 정보는 제 1 뷰를 캡처하는 카메라에 의해 결정될 수도 있거나, 또는 제 1 뷰에서의 데이터로부터 계산될 수도 있다.
MPEG-C 부분-3 은 비디오 스트림에서 화상에 대한 깊이 맵을 포함하기 위해 지정된 포맷을 제공한다. 이 사양은 2007년 1월, Morocoo, Marrakech, N81368, MPEG Doc, ISO/IEC JTC 1/SC 29/WG 11, "Text of ISO/IEC FDIS 23002-3 Representation of Auxiliary Video and Supplemental Information" 에 설명되어 있다. MPEG-C 파트 3 에서, 보조 비디오는 깊이 맵 또는 시차 맵 (parallax map) 일 수 있다. 깊이 맵을 나타낼 때, MPEG-C 파트-3 은 깊이 맵의 각각의 깊이 값 및 해상도를 나타내는데 사용되는 비트들의 개수의 관점에서, 유연성들을 제공할 수도 있다. 예를 들어, 이 맵은 그 맵에 의해 설명되는 이미지의, 폭의 1/4 및 높이의 1/2 일 수도 있다. 이 맵은 예컨대, 오직 휘도 성분만을 가진 H.264/AVC 비트스트림 내에 단색광의 비디오 샘플로서 코딩될 수도 있다. 이의 대안으로, 이 맵은 H.264/AVC 에 정의된 바와 같이, 보조 비디오 데이터로서, 코딩될 수도 있다. 본 개시물의 상황에서, 깊이 맵 또는 시차 맵은 1차 비디오 데이터와 동일한 해상도를 가질 수도 있다. H.264/AVC 사양이 코드 깊이 맵에의 보조 비디오 데이터의 사용을 현재 규정하고 있지 않지만, 본 개시물의 기법들은 이런 깊이 맵 또는 시차 맵을 이용하는 기법들과 함께 사용될 수도 있다.
인코딩된 비디오 정보는 모뎀 (22) 에 의해 통신 표준에 따라서 변조되어, 송신기 (24) 를 통해 목적지 디바이스 (14) 로 송신될 수도 있다. 모뎀 (22) 은 여러 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 구성요소들을 포함할 수도 있다. 송신기 (24) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함한, 데이터를 송신하기 위해 설계된 회로들을 포함할 수도 있다.
목적지 디바이스 (14) 의 수신기 (26) 는 채널 (16) 을 통해서 정보를 수신하고, 모뎀 (28) 이 그 정보를 복조한다. 또, 비디오 인코딩 프로세스는 스케일러블 멀티-뷰 비트스트림을 제공하기 위해 본원에서 설명되는 기법들 중 하나 이상을 구현할 수도 있다. 즉, 비디오 인코딩 프로세스는 2개의 뷰들의 감소된 해상도 화상들을 포함하는 기초 계층 뿐만 아니라, 기초 계층의 뷰들의 대응하는 풀 해상도 화상들을 포함하는 2개의 향상 계층들을 갖는 비트스트림을 제공하기 위해 본원에서 설명되는 기법들 중 하나 이상을 구현할 수도 있다.
채널 (16) 을 통해 통신된 정보는 매크로블록들 및 다른 코딩된 유닛들, 예컨대, GOPs 의 특성들 및/또는 프로세싱을 기술하는 구문 엘리먼트들을 포함하는, 비디오 인코더 (20) 에 의해 정의되고 또한 비디오 디코더 (30) 에 의해 사용되는 구문 정보를 포함할 수도 있다. 따라서, 비디오 디코더 (30) 는 기초 계층을 뷰들의 구성 화상들로 언패킹하고, 화상들을 디코딩하고, 그리고, 감소된 해상도 화상들을 풀 해상도로 업샘플링할 수도 있다. 비디오 디코더 (30) 는 또한 기초 계층에 포함된 하나 또는 양자의 뷰들의 풀 해상도 화상들을 발생하기 위해 하나 이상의 향상 계층들을 인코딩하고 하나 이상의 향상 계층들을 디코딩하는데 사용되는 방법 (예컨대, 예측 방법) 을 결정할 수도 있다. 디스플레이 디바이스 (32) 는 디코딩된 화상들을 사용자에게 디스플레이할 수도 있다.
디스플레이 디바이스 (32) 는 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 또 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디스플레이 디바이스를 포함할 수도 있다. 디스플레이 디바이스 (32) 는 멀티-뷰 비트스트림으로부터 2개의 화상들을 동시에 또는 거의 동시에 디스플레이할 수도 있다. 예를 들어, 디스플레이 디바이스 (32) 는 2개의 뷰들을 동시에 또는 거의 동시에 디스플레이가능한 입체 3차원 디스플레이 디바이스를 포함할 수도 있다.
사용자는 디스플레이 디바이스 (32) 가 액티브 안경들과 동기하여 좌측 뷰와 우측 뷰 사이에 빨리 스위칭할 수 있도록, 좌측 및 우측 렌즈들을 빨리 교대로 셔터하기 위해 액티브 안경들을 착용할 수도 있다. 이의 대안으로, 디스플레이 디바이스 (32) 는 2개의 뷰들을 동시에 디스플레이할 수도 있으며, 사용자는 적합한 뷰들을 사용자의 눈들을 통해 통과시키기 위해 뷰들을 필터링하는 (예컨대, 편광 렌즈들을 가진) 패시브 안경들을 착용할 수도 있다. 또한 또 다른 예로서, 디스플레이 디바이스 (32) 는 어떤 안경들도 요구되지 않는 무안경 (autostereoscopic) 디스플레이를 포함할 수도 있다.
도 1 의 예에서, 통신 채널 (16) 은 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들, 또는 무선 및 유선 매체들의 임의의 조합을 포함할 수도 있다. 통신 채널 (16) 은 근거리 네트워크, 광역 네트워크, 또는 글로벌 네트워크, 예컨대 인터넷과 같은 패킷-기반 네트워크를 형성할 수도 있다. 통신 채널 (16) 은 일반적으로 유선 또는 무선 매체들의 임의의 적합한 조합을 포함한, 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 송신하는 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 컬렉션을 나타낸다. 통신 채널 (16) 은 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 대안적으로, MPEG 4, 파트 10, AVC (고도 비디오 코딩) 으로 지칭되는 ITU-T H.264 표준과 같은 비디오 압축 표준에 따라서 동작할 수도 있다. 본 개시물의 기법들은, 그러나, 임의의 특정의 코딩 표준에 한정되지 않는다. 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다. 도 1 에 나타내지는 않지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있으며, 공통 데이터 스트림 또는 별개의 데이터 스트림들에서 양자의 오디오 및 비디오의 인코딩을 처리하기 위해 적합한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 순응할 수도 있다.
ITU-T H.264/MPEG-4 (AVC) 표준은 조인트 비디오 팀 (JVT) 으로 알려진 공동 파트너쉽의 결과물로서 ISO/IEC 동화상 전문가 그룹 (MPEG) 과 함께 ITU-T 비디오 코딩 전문가 그룹 (VCEG) 에 의해 형식화되었다. 일부 양태들에서, 본 개시물에서 설명하는 기법들은 일반적으로 H.264 표준에 순응하는 디바이스들에 적용될 수도 있다. H.264 표준은 본원에서 H.264 표준 또는 H.264 사양, 또는 H.264/AVC 표준 또는 사양으로서 지칭될 수도 있는, 2005년 3월, ITU-T Study 그룹에 의한, ITU-T 권고안 H.264, Advanced Video Coding for generic audiovisual services 에 설명되어 있다. 조인트 비디오 팀 (JVT) 은 H.264/MPEG-4 AVC 에 대한 확장판들에 대해 계속 노력을 들이고 있다.
본 개시물의 기법들은 H.264/AVC 표준에 대한 수정 확장판들을 포함할 수도 있다. 예를 들어, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 수정된 스케일러블 비디오 인코딩 (SVC), 멀티뷰 비디오 코딩 (MVC), 또는 H.264/AVC 의 다른 확장판들을 이용할 수도 있다. 일 예에서, 본 개시물의 기법들은 "기초 뷰" (예컨대, 본원에서 기초 계층으로 지칭됨) 및 하나 이상의 "향상 뷰들" (예컨대, 본원에서 향상 계층들로 지칭됨) 을 포함하는 "MFC" ("multi-view frame compatible") 로서 지칭되는 H.264/AVC 확장판을 포함한다. 즉, MFC 확장판의 "기초 뷰" 는 약간 상이한 수평 관점들에서, 그러나, 시간에서 거의 동시에 또는 거의 동시에 캡처된 장면의 2개의 뷰들의 감소된 해상도 화상들을 포함할 수도 있다. 이와 같이, MFC 확장판의 "기초 뷰" 는 본원에서 설명하는 바와 같이 다수의 "뷰들" (예컨대, 좌측 눈 뷰 및 우측 눈 뷰) 로부터의 화상들을 실제로 포함할 수도 있다. 게다가, MFC 확장판의 "향상 뷰 (enhancement view)" 는 "기초 뷰 (base view)" 에 포함된 뷰들 중 하나의 풀 해상도 화상들을 포함할 수도 있다. 예를 들어, MFC 확장판의 "향상 뷰" 는 "기초 뷰" 의 좌측 눈 뷰의 풀 해상도 화상들을 포함할 수도 있다. 또 다른 MFC 확장판의 "향상 뷰" 는 "기초 뷰" 의 우측 눈 뷰의 풀 해상도 화상들을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSPs), 주문형 집적회로들 (ASICs), 필드 프로그래밍가능 게이트 어레이들 (FPGAs), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 임의의 이들의 조합들과 같은 다양한 적합한 인코더 회로 중 임의의 인코더 회로로서 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 쪽이든 결합된 인코더/디코더 (코덱) 의 부분으로서 각각의 카메라, 컴퓨터, 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 셋톱 박스, 서버, 또는 기타 등등에 통합될 수도 있다.
비디오 시퀀스는 일반적으로 비디오 프레임들의 시리즈를 포함한다. 화상들의 그룹 (GOP) 은 일반적으로 하나 이상의 비디오 프레임들의 시리즈를 포함한다. GOP 는 GOP 에 포함된 다수의 프레임들을 기술하는 구문 데이터를 GOP 의 헤더, GOP 의 하나 이상의 프레임들의 헤더, 또는 어떤 다른 곳에 포함할 수도 있다. 각각의 프레임은 각각의 프레임에 대한 인코딩 모드를 기술하는 프레임 구문 데이터를 포함할 수도 있다. 비디오 인코더 (20) 는 비디오 데이터를 인코딩하기 위해 개개의 비디오 프레임들 내 비디오 블록들에 대해 일반적으로 동작한다. 비디오 블록은 매크로블록 또는 매크로블록의 파티션에 대응할 수도 있다. 비디오 블록들은 고정 또는 가변 사이즈들을 가질 수도 있으며, 지정된 코딩 표준에 따라서 사이즈가 다를 수도 있다. 각각의 비디오 프레임은 복수의 슬라이스들을 포함할 수도 있다. 각각의 슬라이스는 복수의 매크로블록들을 포함할 수도 있으며, 매크로블록들은 또한 서브-블록들로도 지칭되는 파티션들로 배열될 수도 있다.
일 예로서, ITU-T H.264 표준은 루마 성분들에 대해 16 X 16, 8 X 8, 또는 4 X 4, 그리고 크로마 성분들에 대해 8 x 8 과 같은 여러 블록 사이즈들에서 인트라 예측 뿐만 아니라, 루마 성분들에 대해 16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8 및 4 x 4, 그리고 크로마 성분들에 대해 대응하는 스케일링된 사이즈들과 같은 여러 블록 사이즈들에서 인터 예측을 지원한다. 본 개시물에서, "N x N" 및 "N X N" 은 수직 및 수평 치수들, 예컨대, 16 x 16 픽셀들 또는 16 X 16 픽셀들의 관점에서 블록의 픽셀 치수들을 지칭하기 위해 상호교환가능하게 사용될 수도 있다. 일반적으로, 16 x 16 블록은 수직 방향으로 16 개의 픽셀들 (y = 16) 및 수평 방향으로 16 개의 픽셀들 (x = 16) 을 가질 것이다. 이와 유사하게, N x N 블록은 일반적으로 수직 방향으로 N 개의 픽셀들과 수평 방향으로 N 개의 픽셀들을 가지며, 여기서, N 은 음이 아닌 정수 값이다. 블록에서 픽셀들은 로우들 및 칼럼들로 배열될 수도 있다. 더욱이, 블록들은 수직 방향에서와 같이 수평 방향에서 동일한 픽셀들의 개수를 반드시 가질 필요는 없다. 예를 들어, 블록들은 N x M 픽셀들을 포함할 수도 있으며, 여기서 M 은 반드시 N 과 같을 필요는 없다.
16 X 16 보다 작은 블록 사이즈들은 16 X 16 매크로블록의 파티션들로서 지칭될 수도 있다. 비디오 블록들은 픽셀 도메인에서 픽셀 데이터의 블록들, 또는 이산 코사인 변환 (DCT), 정수 변환, 웨이블릿 변환, 또는 코딩된 비디오 블록들과 예측 비디오 블록들 사이의 픽셀 차이들을 나타내는 잔여 비디오 블록 데이터와 개념적으로 유사한 변환과 같은 변환의 후속 적용과 같은 변환 도메인에서 변환 계수들의 블록들을 포함할 수도 있다. 일부의 경우, 비디오 블록은 변환 도메인에서 양자화되는 변환 계수들의 블록들을 포함할 수도 있다.
더 작은 비디오 블록들은 더 나은 해상도를 제공할 수 있으며, 높은 세부 레벨들을 포함하는 비디오 프레임의 로케이션들에 사용될 수도 있다. 일반적으로, 서브-블록들로서 종종 지칭되는, 매크로블록들 및 여러 파티션들은 비디오 블록들로 간주될 수도 있다. 게다가, 슬라이스는 매크로블록들 및/또는 서브-블록들과 같은 복수의 비디오 블록들인 것으로 간주될 수도 있다. 각각의 슬라이스는 비디오 프레임의 독립적으로 디코딩가능한 유닛일 수도 있다. 이의 대안으로, 프레임들 자체는 디코딩가능한 유닛들이거나, 또는 프레임의 다른 부분들은 디코딩가능한 유닛들로서 정의될 수도 있다. 용어 “코딩된 유닛" 은 또한 시퀀스, 또는 적용가능한 코딩 기법들에 따라서 또 다른 독립적으로 디코딩가능한 유닛으로 지칭되는, 전체 프레임, 프레임의 슬라이스, 화상들의 그룹 (GOP) 과 같은 비디오 프레임의 임의의 독립적으로 디코딩가능한 유닛을 지칭할 수도 있다.
예측 데이터 및 잔여 데이터를 발생하는 인트라-예측 또는 인터-예측 코딩 이후, 그리고 잔여 데이터에 적용되는 (H.264/AVC 에 사용되는 4 x 4 또는 8 x 8 정수 변환 또는 이산 코사인 변환 DCT 과 같은) 변환 계수들을 발생하는 임의의 변환들 이후, 변환 계수들의 양자화가 수행될 수도 있다. 양자화는 일반적으로 계수들을 나타내기 위해 사용되는 데이터의 양을 될 수 있는 대로 감소시키기 위해 변환 계수들이 양자화되는 프로세스를 지칭한다. 양자화 프로세스는 계수들의 일부 또는 모두와 연관되는 비트 깊이를 감소시킬 수도 있다. 예를 들어, n-비트 값은 양자화 동안 m-비트 값으로 라운드 다운 (round down) 될 수도 있으며, 여기서 n 은 m 보다 더 크다.
양자화 이후, 양자화되는 데이터의 엔트로피 코딩이 예컨대, 콘텐츠 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 가변 길이 코딩 (CABAC), 또는 또 다른 엔트로피 코딩 방법론에 따라서 수행될 수도 있다. 엔트로피 코딩을 위해 구성된 프로세싱 유닛, 또는 또 다른 프로세싱 유닛은, 양자화되는 계수들의 제로 런 길이 코딩, 및/또는 코딩된 블록 패턴 (CBP) 값들, 매크로블록 유형, 코딩 모드, (프레임, 슬라이스, 매크로블록, 또는 시퀀스와 같은) 코딩된 유닛에 대한 최대 매크로블록 사이즈, 또는 기타 등등과 같은 구문 정보의 발생과 같은 다른 프로세싱 기능들을 수행할 수도 있다.
비디오 인코더 (20) 는 예컨대, 프레임 헤더, 블록 헤더, 슬라이스 헤더, 또는 GOP 헤더 내의 블록-기반의 구문 데이터, 프레임-기반의 구문 데이터, 및/또는 GOP-기반의 구문 데이터와 같은, 구문 데이터를, 비디오 디코더 (30) 로 추가로 전송할 수도 있다. GOP 구문 데이터는 각각의 GOP 내 다수의 프레임들을 기술할 수도 있으며 프레임 구문 데이터는 대응하는 프레임을 인코딩하는데 사용되는 인코딩/예측 모드를 나타낼 수도 있다. 따라서, 비디오 디코더 (30) 는 표준 비디오 디코더를 포함할 수도 있으며, 반드시 본 개시물의 기법들을 실시하거나 이용하도록 특별히 구성될 필요가 없다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 적용가능한 경우, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSPs), 주문형 집적회로들 (ASICs), 필드 프로그래밍가능 게이트 어레이들 (FPGAs), 이산 로직 회로, 소프트웨어, 하드웨어, 펌웨어 또는 임의의 이들의 조합들과 같은, 다양한 적합한 인코더 또는 디코더 회로 중 임의의 회로로서 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들, 이들 중 어느 쪽이든 결합된 비디오 인코더/디코더 (코덱) 의 부분으로서 통합될 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 을 포함하는 장치는 집적 회로, 마이크로프로세서, 컴퓨팅 디바이스, 및/또는 무선 통신 디바이스, 예컨대 모바일 전화기를 포함할 수도 있다.
비디오 디코더 (30) 는 기초 계층 및 2개의 향상 계층들을 포함하는 스케일러블 멀티-뷰 비트스트림을 수신하도록 구성될 수도 있다. 비디오 디코더 (30) 는 기초 계층을 화상들의 2개의 대응하는 세트들, 예컨대, 좌측 눈 뷰의 감소된 해상도 화상들 및 우측 눈 뷰의 감소된 해상도 화상들로 언패킹하도록 추가로 구성될 수도 있다. 비디오 디코더 (30) 는 디코딩된 풀 해상도 화상들을 발생하기 위해 화상들을 디코딩하고 (예컨대, 내삽을 통해) 감소된 해상도 화상들을 업샘플링할 수도 있다. 게다가, 일부 예들에서, 비디오 디코더 (30) 는 기초 계층의 디코딩된 화상들을 참조하여, 기초 계층에 대응하는 풀 해상도 화상들을 포함하는 향상 계층들을 디코딩할 수도 있다. 즉, 비디오 디코더 (30) 는 또한 인터-뷰 및 인터-계층 예측 방법들을 지원할 수도 있다.
일부 예들에서, 비디오 디코더 (30) 는 목적지 디바이스 (14) 가 3차원의 데이터를 디코딩하고 디스플레이할 수 있는지 여부를 결정하도록 구성될 수도 있다. 그렇지 않으면, 비디오 디코더 (30) 는 수신된 기초 계층을 언패킹하지만, 감소된 해상도 화상들 중 하나를 폐기할 수도 있다. 비디오 디코더 (30) 는 또한 폐기된 기초 계층의 감소된 해상도 화상들에 대응하는 풀 해상도 향상 계층을 폐기할 수도 있다. 비디오 디코더 (30) 는 나머지 감소된 해상도 화상을 디코딩하고, 감소된 해상도 화상을 업샘플링하거나 업컨버팅하고, 비디오 디스플레이 (32) 로 하여금 2차원 비디오 데이터를 제시하기 위해 이 뷰로부터 화상들을 디스플레이하도록 할 수도 있다. 또 다른 예에서, 비디오 디코더 (30) 는 나머지 감소된 해상도 화상 및 대응하는 향상 계층을 디코딩하고, 비디오 디스플레이 (32) 로 하여금 2차원 비디오 데이터를 제시하기 위해 이 뷰로부터 화상들을 디스플레이하도록 할 수도 있다. 따라서, 비디오 디코더 (30) 는 프레임들의 모두를 디코딩하려고 시도하지 않고, 오직 프레임들의 부분만을 디코딩하고 그 디코딩된 화상들을 디스플레이 디바이스 (32) 에 제공할 수도 있다.
이 방법에서, 목적지 디바이스 (14) 가 3차원의 비디오 데이터를 디스플레이할 수 있던 없던, 목적지 디바이스 (14) 는 기초 계층 및 2개의 향상 계층들을 포함하는 스케일러블 멀티-뷰 비트스트림을 수신할 수도 있다. 따라서, 여러 디코딩 및 렌더링 능력들을 가진 여러 목적지 디바이스들은 비디오 인코더 (20) 로부터 동일한 비트스트림을 수신하도록 구성될 수도 있다. 즉, 일부 목적지 디바이스들은 3차원의 비디오 데이터를 디코딩하고 렌더링할 수도 있지만, 다른 것들은 3차원의 비디오 데이터를 디코딩하거나 및/또는 렌더링할 수 없을 수도 있으며, 또, 디바이스들의 각각은 동일한 스케일러블 멀티-뷰 비트스트림으로부터 데이터를 수신하여 이용하도록 구성될 수도 있다.
일부 예들에 따르면, 스케일러블 멀티-뷰 비트스트림은 수신된 인코딩된 데이터의 서브세트를 디코딩하고 디스플레이하는 것을 용이하게 하기 위해, 복수의 동작 포인트들을 포함할 수도 있다. 예를 들어, 본 개시물의 양태들에 따르면, 스케일러블 멀티-뷰 비트스트림은 4개 동작 포인트들: (1) 2개의 뷰들 (예컨대, 좌측 눈 뷰 및 우측 눈 뷰) 의 감소된 해상도 화상들을 포함하는 기초 계층, (2) 기초 계층, 및 좌측 눈 뷰의 풀 해상도 화상들을 포함하는 향상 계층, (3) 기초 계층, 및 우측 눈 뷰의 풀 해상도 화상들을 포함하는 향상 계층, 및 (4) 기초 계층, 제 1 향상 계층 및 제 2 향상 계층을 포함하고, 이 2개의 향상 계층들이 함께 양자의 뷰들에 대해 풀 해상도 화상들을 포함하도록 한다.
도 2a 는 장면의 2개의 뷰들의 감소된 해상도 화상들 (예컨대, 좌측 눈 뷰 및 우측 눈 뷰) 을 포함하는 기초 계층 뿐만 아니라, 기초 계층의 뷰들 중 하나의 풀 해상도 화상들을 포함하는 제 1 향상 계층 및 기초 계층의 다른 하나의 각각의 뷰로부터의 풀 해상도 화상들을 포함하는 제 2 향상 계층을 갖는 스케일러블 멀티-뷰 비트스트림을 발생하는 기법들을 구현할 수도 있는 비디오 인코더 (20) 의 일 예를 도시하는 블록도이다. 도 2a 의 어떤 구성요소들이 개념적인 목적들을 위해 단일 구성요소에 대해 나타내고 설명될 수도 있지만, 하나 이상의 기능적 유닛들을 포함할 수도 있는 것으로 해석되어야 한다. 게다가, 도 2a 의 어떤 구성요소들이 단일 구성요소에 대해 나타내고 설명될 수도 있지만, 이런 구성요소들은 하나 또는 하나 보다 많은 별개의 및/또는 통합되는 유닛들로 물리적으로 이루어질 수도 있다.
도 2a 에 대해, 그리고 본 개시물의 다른 곳에서, 비디오 인코더 (20) 는 비디오 데이터의 하나 이상의 프레임들을 인코딩하는 것으로 설명된다. 위에서 설명한 바와 같이, 계층 (예컨대, 기초 계층 및 향상 계층들) 은 멀티미디어 콘텐츠를 구성하는 프레임들의 시리즈를 포함할 수도 있다. 따라서, "기초 프레임" 은 기초 계층에서 비디오 데이터의 단일 프레임을 지칭할 수도 있다. 게다가, "향상 프레임" 은 향상 계층에서 비디오 데이터의 단일 프레임을 지칭할 수도 있다.
일반적으로, 비디오 인코더 (20) 는 매크로블록들, 또는 매크로블록들의 파티션들 또는 서브-파티션들을 포함한, 비디오 프레임들 내 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라 코딩은 주어진 비디오 프레임 내 비디오에서 공간 리던던시를 감소시키거나 또는 제거하기 위해 공간 예측에 의존한다. 인트라-모드 (I-모드) 는 여러 공간 기반의 압축 모드들 중 임의의 모드를 지칭할 수도 있으며, 단방향 예측 (P-모드) 또는 양방향 예측 (B-모드) 과 같은 인터-모드들 중 임의의 모드는 여러 시간-기반의 압축 모드들 중 임의의 모드를 지칭할 수도 있다. 인터-코딩은 비디오 시퀀스의 인접 프레임들 내 비디오에서 시간 리던던시를 감소시키거나 또는 제거하기 위해 시간 예측에 의존한다.
비디오 인코더 (20) 는 또한, 일부 예들에서, 향상 계층들의 인터-뷰 예측 및 인터-계층 예측을 수행하도록 구성될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 H.264/AVC 의 멀티-뷰 비디오 코딩 (MVC) 확장판에 따라서 인터-뷰 예측을 수행하도록 구성될 수도 있다. 게다가, 비디오 인코더 (20) 는 H.264/AVC 의 스케일러블 비디오 코딩 (SVC) 확장판에 따라서 인터-계층 예측을 수행하도록 구성될 수도 있다. 따라서, 향상 계층들은 기초 계층으로부터 인터-뷰 예측되거나 또는 인터-계층 예측될 수도 있다. 게다가, 하나의 향상 계층은 또 다른 향상 계층으로부터 인터-뷰 예측될 수도 있다.
도 2a 에 나타낸 바와 같이, 비디오 인코더 (20) 는 인코딩되는 비디오 화상 내에서 현재의 비디오 블록을 수신한다. 도 2a 의 예에서, 비디오 인코더 (20) 는 모션 보상 유닛 (44), 모션/디스패리티 추정 유닛 (42), 참조 프레임 스토어 (64), 합산기 (50), 변환 유닛 (52), 양자화 유닛 (54), 및 엔트로피 코딩 유닛 (56) 을 포함한다. 비디오 블록 재구성에 있어, 비디오 인코더 (20) 는 또한 역양자화 유닛 (58), 역변환 유닛 (60), 및 합산기 (62) 를 포함한다. 블록 경계들을 필터링하는 디블로킹 필터 (deblocking filter; 도 2a 에 미도시) 가 또한 재구성된 비디오로부터 블록킹 현상 아티팩트들을 제거하기 위해 포함될 수도 있다. 원할 경우, 디블로킹 필터는 일반적으로 합산기 (62) 의 출력을 필터링할 것이다.
인코딩 프로세스 동안, 비디오 인코더 (20) 는 코딩되는 비디오 화상 또는 슬라이스를 수신한다. 화상 또는 슬라이스는 다수의 비디오 블록들로 분할될 수도 있다. 모션 추정/디스패리티 유닛 (42) 및 모션 보상 유닛 (44) 은 하나 이상의 참조 프레임들에서 하나 이상의 블록들에 관련된 수신된 비디오 블록의 인터-예측 코딩을 수행한다. 즉, 모션 추정/디스패리티 유닛 (42) 은 상이한 시간 인스턴스의 하나 이상의 참조 프레임들에서 하나 이상의 블록들에 관련된 수신된 비디오 블록의 인터-예측 코딩, 예컨대, 모션 추정을 동일한 뷰의 하나 이상의 참조 프레임들을 이용하여 수행할 수도 있다. 게다가, 모션 추정/디스패리티 유닛 (42) 은 동일한 시간 인스턴스의 하나 이상의 참조 프레임들에서 하나 이상의 블록들에 관련된 수신된 비디오 블록의 인터-예측 코딩, 예컨대, 모션 디스패리티 (motion disparity) 를 상이한 뷰의 하나 이상의 참조 프레임들을 이용하여 수행할 수도 있다. 인트라 예측 유닛 (46) 은 공간 압축을 위해 코딩되는 블록과 동일한 프레임 또는 슬라이스에서 하나 이상의 이웃하는 블록들에 관련된 수신된 비디오 블록의 인트라-예측 코딩을 수행할 수도 있다. 모드 선택 유닛 (40) 은 예컨대, 에러 결과들에 기초하여 코딩 모드들, 즉, 인트라 또는 인터 중에서 하나를 선택하고, 잔여 블록 데이터를 발생하기 위해 최종 인트라- 또는 인터-코딩된 블록을 합산기 (50) 에 제공할 수 있으며, 참조 프레임에서의 사용을 위한 그 인코딩된 블록을 재구성하기 위해 합산기 (62) 에 제공할 수도 있다.
특히, 비디오 인코더 (20) 는 스테레오 뷰 쌍을 형성하는 2개의 뷰들로부터 화상들을 수신할 수도 있다. 2개의 뷰들은 뷰 0 및 뷰 1 로서 지칭될 수도 있으며, 이때, 뷰 0 은 좌측 눈 뷰 화상에 대응하고 뷰 0 는 우측 눈 뷰 화상에 대응한다. 뷰들은 상이하게 라벨링될 수도 있으며, 대신, 뷰 1 은 좌측 눈 뷰에 대응할 수도 있으며, 뷰 0 은 우측 눈 뷰에 대응할 수도 있는 것으로 해석되어야 한다.
일 예에서, 비디오 인코더 (20) 는 뷰 0 및 뷰 1 의 화상들을 감소된 해상도, 예컨대 하프 해상도에서 인코딩함으로써 기초 계층을 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 화상들을 코딩하기 전에 뷰 0 및 뷰 1 의 화상들을 1/2 의 비율 만큼 다운샘플링할 수도 있다. 비디오 인코더 (20) 는 인코딩된 화상들을 패킹된 프레임으로 추가로 패킹할 수도 있다. 예를 들어, 비디오 인코더 (20) 가 뷰 0 화상 및 뷰 1 화상을 수신하고, 각 화상이 h 의 픽셀들의 높이 및 w 의 픽셀들의 폭을 가지며, 여기서, w 및 h 는 음이 아닌, 논-제로 정수들인 것으로 가정한다. 비디오 인코더 (20) 는 뷰 0 화상 및 뷰 1 화상의 높이를 h/2 픽셀들의 높이로 다운샘플링하여, 그 다운샘플링된 뷰 1 위에 다운샘플링된 뷰 0 을 배열함으로써, 탑-바텀 배열된 패킹된 프레임을 형성할 수도 있다. 또 다른 예에서, 비디오 인코더 (20) 는 뷰 0 화상 및 뷰 1 화상의 폭을 w/2 픽셀들의 폭으로 다운샘플링하여, 그 다운샘플링된 뷰 0 를 다운샘플링된 뷰 1 의 관련된 좌측으로 배열함으로써, 사이드-바이-사이드 배열된 패킹된 프레임을 형성할 수도 있다. 사이드-바이-사이드 및 탑-바텀 프레임 패킹 배열들은 단지 예들로서 제공되며, 비디오 인코더 (20) 는 기초 프레임의 뷰 0 화상 및 뷰 1 화상을 체커보드 패턴, 인터리빙 칼럼들, 또는 인터리빙 로우들과 같은 다른 배열들로 패킹할 수도 있는 것으로 이해되어야 한다. 예를 들어, 비디오 인코더 (20) 는 H.264/AVC 사양에 따른 프레임 패킹을 지원할 수도 있다.
기초 계층에 더해서, 비디오 인코더 (20) 는 기초 계층에 포함된 뷰들에 대응하는 2개의 향상 계층들을 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 뷰 0 의 풀 해상도 화상들 뿐만 아니라, 뷰 1 의 풀 해상도 화상들을 인코딩할 수도 있다. 비디오 인코더 (20) 는 2개의 향상 계층들을 예측하기 위해 인터-뷰 예측 및 인터-계층 예측을 수행할 수도 있다.
비디오 인코더 (20) 는 스케일러블 멀티-뷰 비트스트림의 다양한 특성들을 나타내는 정보를 추가로 제공할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 기초 계층의 패킹 배열, 향상 계층들의 시퀀스 (예컨대, 뷰 0 에 대응하는 향상 계층이 뷰 1 에 대응하는 향상 계층 전후에 오는지 여부), 향상 계층들이 서로로부터 예측되는지 여부, 및 다른 정보를 나타내는 데이터를 제공할 수도 있다. 일 예로서, 비디오 인코더 (20) 는 이 정보를 연속적으로 코딩된 프레임들의 시리즈에 적용하는 시퀀스 파라미터 세트 (SPS) 확장판의 형태로 제공할 수도 있다. SPS 확장판은 이하의 표 1 의 예시적인 데이터 구조에 따라서 정의될 수도 있다:
Figure pct00001
표 1-seq_parameter_set_mfc_extension SPS 메시지
SPS 메시지는 비디오 디코더, 예컨대 비디오 디코더 (30) 에, 출력 디코딩된 화상이 나타낸 프레임 패킹 배열 방식을 이용하여 다수의 별개의 공간적으로 패킹된 구성 프레임들을 포함하는 프레임의 샘플들을 포함한다고 통지할 수도 있다. SPS 메시지는 또한 비디오 디코더 (30) 에 향상 프레임들의 특성들을 통지할 수도 있다.
특히, 비디오 인코더 (20) 는 각각의 구성 프레임의 상부 좌측 루마 샘플이 좌측 뷰에 속한다는 것을 나타내기 위해, 따라서, 어느 기초 계층의 부분들이 좌측 또는 우측 뷰에 대응하는지를 나타내기 위해, upper_left_frame_0 을 1 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 각각의 구성 프레임의 상부 좌측 루마 샘플이 우측 뷰에 속한다는 것을 나타내기 위해, upper_left_frame_0 을 0 의 값으로 설정할 수도 있다.
본 개시물은 또한 특정의 뷰의 인코딩된 화상을 "뷰 구성요소" 로서 지칭한다. 즉, 뷰 구성요소는 특정의 시간에 특정의 뷰 (및/또는 특정의 계층) 에 대한 인코딩된 화상을 포함할 수도 있다. 따라서, 액세스 유닛은 공통 시간 인스턴스의 모든 뷰 구성요소들을 포함하는 것으로서 정의될 수도 있다. 액세스 유닛들의 디코딩 순서, 및 액세스 유닛들의 뷰 구성요소들은, 반드시 출력 또는 디스플레이 순서와 동일할 필요는 없다.
비디오 인코더 (20) 는 각각의 액세스 유닛에서 뷰 구성요소들의 디코딩 순서를 규정하기 위해 left_view_enhance_first 를 설정할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 풀 해상도 좌측 뷰 프레임이 디코딩 순서에서 기초 프레임 NAL 유닛들을 뒤따르고 풀 해상도 우측 뷰 프레임이 디코딩 순서에서 풀 해상도 좌측 뷰 프레임을 뒤따른다는 것을 나타내기 위해 left_view_enhance_first 를 1 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 풀 해상도 우측 뷰 프레임이 디코딩 순서에서 기초 프레임 NAL 유닛들을 뒤따르고 풀 해상도 좌측 뷰 프레임이 디코딩 순서에서 풀 해상도 우측 뷰 프레임을 뒤따른다는 것을 나타내기 위해, left_view_enhance_first 를 0 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 풀 해상도 우측 뷰 프레임 및 풀 해상도 좌측 뷰 프레임의 디코딩이 독립적임을 나타내기 위해, full_left_right_dependent_flag 를 0 의 값으로 설정할 수도 있으며, 이것은 풀 해상도 좌측 뷰 프레임 및 풀 해상도 우측 뷰 프레임의 디코딩이 기초 뷰에 의존하고 서로에 의존하지 않는다는 것을 의미한다. 비디오 인코더 (20) 는 풀 해상도 프레임들 중 하나 (예컨대, 풀 해상도 우측 뷰 프레임 또는 풀 해상도 좌측 뷰 프레임) 가 다른 하나의 풀 해상도 프레임에 의존한다는 것을 나타내기 위해, full_left_right_dependent_flag 를 1 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 어떤 풀 해상도 단일 뷰 프리젠테이션에 대한 동작 포인트가 존재하지 않는다는 것을 나타내기 위해 one_view_full_idc 를 0 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 제 3 뷰 구성요소를 디코딩 순서로 추출한 후에 풀 해상도 단일 뷰 동작 포인트들이 허용된다는 것을 나타내기 위해, one_view_full_idc 를 1 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 이 값이 1 일 때 지원되는 동작 포인트들에 더해, 또한 제 2 뷰 구성요소를 디코딩 순서로 추출한 후에 풀 해상도 단일 뷰 동작 포인트들이 허용된다는 것을 나타내기 위해, one_view_full_idc 를 2 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 어떤 비대칭적인 동작 포인트들도 허용되지 않는다는 것을 나타내기 위해, asymmetric_flag 를 0 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 임의의 풀 해상도 단일 뷰 동작 포인트들이 디코딩될 때, 풀 해상도 뷰가, 그 기초 뷰에서 다른 하나의 뷰와 함께, 비대칭적인 표현을 형성하기 위해 허용되는 방식으로, 비대칭적인 동작 포인트들이 허용된다는 것을 나타내기 위해, asymmetric_flag 를 1 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 비트스트림이 코딩될 때 및 시퀀스 파라미터 세트가 활성일 때 어떤 인터-계층 예측도 사용되지 않는다는 것을 나타내기 위해 inter_layer_pred_disable_flag 를 1 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 인터-계층 예측이 사용될 것이라는 것을 나타내기 위해 inter_layer_pred_disable_flag 를 0 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 비트스트림이 코딩될 때 및 시퀀스 파라미터 세트가 활성일 때 어떤 인터-뷰 예측도 사용되지 않는다는 것을 나타내기 위해 inter_view_pred_disable_flag 를 1 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 인터-뷰 예측이 사용될 것이라는 것을 나타내기 위해 inter_view_pred_disable_flag 를 1 의 값으로 설정할 수도 있다.
SPS 확장판에 더해, 비디오 인코더 (20) 는 VUI 메시지를 제공할 수도 있다. 특히, 풀-해상도 프레임 (예컨대, 향상 프레임들 중 하나) 에 대응하는 비대칭적인 동작 포인트에 대해, 비디오 인코더는 기초 뷰의 크로핑 영역 (cropping area) 을 규정하기 위해 VUI 메시지를 제공할 수도 있다. 풀 해상도 뷰와 결합된 크로핑된 영역은 비대칭적인 동작 포인트에 대한 표현을 형성한다. 크로핑된 영역은 풀 해상도 화상이 비대칭적인 패킹된 프레임에서 감소된 해상도 화상과 식별될 수 있도록, 기술될 수도 있다.
비디오 인코더 (20) 는 또한 기초 프레임들 및 향상 프레임들의 여러 조합들에 대한 다수의 동작 포인트들을 정의할 수도 있다. 즉, 비디오 인코더는 다양한 동작 포인트들을 동작 포인트 SEI 에서 시그널링할 수도 있다. 일 예에서, 비디오 인코더 (20) 는 동작 포인트들을 다음의 표 2 에 제공된 SEI 메시지를 통해 제공할 수도 있다:
Figure pct00002
표 2-operation_point_info(payloadSize) SEI 메시지
본 개시물의 일부 양태들에 따르면, SEI 메시지는 또한 위에서 설명한 SPS 확장판의 부분일 수도 있다. 대부분의 비디오 코딩 표준들에서와 같이, H.264/AVC 는 에러-없는 비트스트림들에 대해 구문, 시맨틱들 (semantics), 및 디코딩 프로세스를 정의하며, 이중 임의의 것이 소정의 프로파일 또는 레벨에 순응한다. H.264/AVC 는 인코더를 규정하지 않지만, 인코더는 발생된 비트스트림들이 디코더에 대한 표준-규격인 것을 보장하는 일을 맡는다. 비디오 코딩 표준의 상황에서, "프로파일" 은 이들에게 적용할 알고리즘들, 피쳐들, 또는 툴들 및 제약들의 서브세트에 대응한다. H.264 표준에 의해 정의된 바와 같이, 예를 들어, "프로파일" 은 H.264 표준에 의해 지정된 전체 비트스트림 구문의 서브세트이다. "레벨" 은 화상들의 해상도, 비트 레이트, 및 매크로블록 (MB) 프로세싱 레이트에 관련되는, 예를 들어, 디코더 메모리 및 계산과 같은 디코더 리소스 소비의 제한들에 대응한다. 프로파일은 profile_idc (프로파일 표시자) 값으로 시그널링될 수도 있으며, 반면 레벨은 level_idc (레벨 표시자) 값으로 시그널링될 수도 있다.
표 2 의 예시적인 SEI 메시지는 비디오 데이터의 표현의 동작 포인트들을 기술한다. max_temporal_id 엘리먼트는 일반적으로 그 표현의 동작 포인트들에 대한 최대 프레임 레이트에 대응한다. SEI 메시지는 또한 동작 포인트들의 각각에 대한 레벨 및 비트스트림의 프로파일의 표시를 제공한다. 동작 포인트들의 level_idc 는 변할 수도 있으며, 그러나, 동작 포인트는 이전에 시그널링된 동작 포인트와 동일할 수도 있으며, 이때, temporal_id 는 index_j 이고 계층 id 는 index_i 이다. SEI 메시지는 temporal_id 값들의 각각에 대한 평균 프레임 레이트를 average_frame_rate 엘리먼트를 이용하여 추가로 기술한다. 이 예에서, 동작 포인트 SEI 메시지가 표현의 동작 포인트들의 특성들을 시그널링하는데 사용되지만, 다른 예들에서, 다른 데이터 구조들 또는 기법들은 동작 포인트들에 대한 유사한 특성들을 시그널링하는데 사용될 수도 있는 것으로 해석되어야 한다. 예를 들어, 시그널링은 시퀀스 파라미터 세트 멀티뷰 프레임 호환가능한 (MFC) 확장판의 부분을 형성할 수도 있다.
비디오 인코더 (20) 는 또한 NAL 유닛 헤더 확장판을 발생할 수도 있다. 본 개시물의 양태들에 따르면, 비디오 인코더 (20) 는 패킹된 기초 프레임에 대한 NAL 유닛 헤더, 및 향상 프레임들에 대한 별개의 NAL 유닛 헤더를 발생할 수도 있다. 일부 예들에서, 기초 계층 NAL 유닛 헤더는 향상 계층들의 뷰들이 기초 계층 NAL 유닛으로부터 예측된다는 것을 나타내기 위해 사용될 수도 있다. 향상 계층 NAL 유닛 헤더는 NAL 유닛이 제 2 뷰에 속하는지 여부를 나타내기 위해, 그리고 제 2 뷰가 좌측 뷰인지 여부를 유도하기 위해, 사용될 수도 있다. 더욱이, 향상 계층 NAL 유닛 헤더는 다른 하나의 풀 해상도 향상 프레임의 인터-뷰 예측에 사용될 수도 있다.
일 예에서, 기초 프레임에 대한 NAL 유닛 헤더는 하기 표 3 에 따라서 정의될 수도 있다:
Figure pct00003
표 3-nal_unit_header_base_view_extension NAL 유닛
비디오 인코더 (20) 는 현재의 NAL 유닛이 앵커 액세스 유닛에 속한다는 것을 규정하기 위해 anchor_pic_flag 를 1 의 값으로 설정할 수도 있다. 일 예에서, non_idr_flag 값이 0 일 때, 비디오 인코더 (20) 는 anchor_pic_flag 를 1 의 값으로 설정할 수도 있다. 또 다른 예에서, nal_ref_idc 값이 0 일 때, 비디오 인코더 (20) 는 anchor_pic_flag 를 0 의 값으로 설정할 수도 있다. 본 개시물의 일부 양태들에 따르면, anchor_pic_flag 의 값은 액세스 유닛의 모든 VCL NAL 유닛들에 대해 동일할 수도 있다.
비디오 인코더 (20) 는 현재의 뷰 구성요소 (예컨대, 현재의 계층) 의 프레임 0 구성요소 (예컨대, 좌측 뷰) 가 현재의 액세스 유닛에서 임의의 다른 뷰 구성요소 (예컨대, 다른 계층) 에 의한 인터-뷰 예측에 사용되지 않는다는 것을 규정하기 위해 inter_view_frame_0_flag 를 0 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 현재의 뷰 구성요소의 프레임 0 구성요소 (예컨대, 좌측 뷰) 가 현재의 액세스 유닛에서 다른 뷰 구성요소들에 의한 인터-뷰 예측에 사용될 수도 있다는 것을 나타내기 위해 inter_view_frame_0_flag 를 1 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 현재의 뷰 구성요소의 프레임 1 부분 (예컨대, 우측 뷰) 이 현재의 액세스 유닛에서 임의의 다른 뷰 구성요소에 의한 인터-뷰 예측에 사용되지 않는다는 것을 규정하기 위해 inter_view_frame_1_flag 를 0 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 현재의 뷰 구성요소의 프레임 1 부분이 현재의 액세스 유닛에서 다른 뷰 구성요소들에 의한 인터-뷰 예측에 사용될 수도 있다는 것을 규정하기 위해 inter_view_frame_1_flag 를 1 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 현재의 뷰 구성요소의 프레임 0 부분 (예컨대, 좌측 뷰) 이 현재의 액세스 유닛에서 임의의 다른 뷰 구성요소에 의한 인터-계층 예측에 사용되지 않는다는 것을 규정하기 위해 inter_layer_frame_0_flag 를 0 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 현재의 뷰 구성요소의 프레임 0 부분이 현재의 액세스 유닛에서 다른 뷰 구성요소들에 의한 인터-계층 예측에 사용될 수도 있다는 것을 규정하기 위해 inter_view_frame_0_flag 를 1 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 현재의 뷰 구성요소의 프레임 1 부분 (예컨대, 좌측 뷰) 이 현재의 액세스 유닛에서 임의의 다른 뷰 구성요소에 의한 인터-계층 예측에 사용되지 않는다는 것을 규정하기 위해 inter_layer_frame_1_flag 를 0 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 현재의 뷰 구성요소의 프레임 1 부분이 현재의 액세스 유닛에서 다른 뷰 구성요소들에 의한 인터-계층 예측에 사용될 수도 있다는 것을 규정하기 위해 inter_view_frame_1_flag 를 1 의 값으로 설정할 수도 있다.
또 다른 예에서, inter_view_frame_0_flag 및 inter_view_frame_1_flag 는 하나의 플래그로 결합될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 프레임 0 부분 또는 프레임 1 부분이 인터-뷰 예측에 사용될 수도 있으면, inter_view_flag, 즉, 위에서 설명한 inter_view_frame_0_flag 와 inter_view_frame_1_flag 의 조합을 나타내는 플래그를, 1 의 값으로 설정할 수도 있다.
또 다른 예에서, inter_layer_frame_0_flag 및 inter layer_frame_1_flag 는 하나의 플래그로 결합될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 프레임 0 부분 또는 프레임 1 부분이 인터-계층 예측에 사용될 수도 있으면, inter_layer_flag, 즉, inter_layer_frame_0_flag 와 inter layer_frame_1_flag 의 조합을 나타내는 플래그를, 1 의 값으로 설정할 수도 있다.
또 다른 예에서, inter_view_frame_0_flag 및 inter_layer_frame_0_flag 는 하나의 플래그로 결합될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 프레임 0 부분이 다른 뷰 구성요소들의 예측에 사용될 수도 있으면, inter_component_frame_0_flag, 즉, inter_view_frame_0_flag 와 inter_layer_frame_0_flag 의 조합을 나타내는 플래그를, 1 의 값으로 설정할 수도 있다.
또 다른 예에서, inter_view_frame_1_flag 및 inter_layer_frame_1_flag 는 하나의 플래그로 결합될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 프레임 1 부분이 다른 뷰 구성요소들의 예측에 대해 사용될 수도 있으면, inter_component_frame_1_flag, 즉, inter_view_frame_1_flag 와 inter_layer_frame_1_flag 의 조합을 나타내는 플래그를, 1 의 값으로 설정할 수도 있다.
또 다른 예에서, inter_view_flag 및 inter_layer_flag 는 하나의 플래그로 결합될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 프레임 0 부분 또는 프레임 1 부분이 인터-뷰 또는 인터-계층 예측에 사용될 수도 있으면, inter_component_flag, 즉, inter_view_flag 와 inter_layer_flag 의 조합을 나타내는 플래그를 1 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 부속 (belonging) 뷰 구성요소가 제 2 뷰 또는 제 3 뷰인지 여부를 나타내기 위해 second_view_flag 를 설정할 수도 있으며, 여기서, "부속 뷰 구성요소" 는 제 2 뷰 플래그가 대응하는 뷰 구성요소를 지칭한다. 예를 들어, 비디오 인코더 (20) 는 부속 뷰 구성요소가 제 2 뷰라는 것을 규정하기 위해 second_view_flag 를 1 의 값으로 설정할 수도 있다. 비디오 인코더 (20) 는 부속 뷰 구성요소가 제 3 뷰라는 것을 규정하기 위해 second_view_flag 를 0 의 값으로 설정할 수도 있다.
비디오 인코더 (20) 는 NAL 유닛에 대한 시간 식별자를 규정하기 위해 temporal_id 를 설정할 수도 있다. temporal_id 에의 값들의 할당이 서브-비트스트림 추출 프로세스에 의해 강제될 수도 있다. 일부 예들에 따르면, temporal_id 의 값은 액세스 유닛의 MFC 확장판 NAL 유닛들에서 모든 접두사 NAL 유닛들 및 코딩된 슬라이스에 대해 동일하다. 액세스 유닛이 nal_unit_type 이 5 이거나 또는 idr_flag 가 1 인 임의의 NAL 유닛을 포함할 때, temporal_id 는 0 일 수도 있다.
일 예에서, 풀 해상도 향상 프레임들에 대한 NAL 유닛 헤더는 다음의 표 4 에 따라서 정의될 수도 있다:
Figure pct00004
표 4-nal_unit_header_full_view_extension NAL 유닛
표 4 의 예시적인 NAL 유닛 헤더는 헤더가 대응하는 NAL 유닛들을 기술할 수도 있다. 비-idr-플래그는 NAL 유닛이 IDR (instantaneous decoding refresh) 화상인지 여부를 기술할 수도 있다. IDR 화상은 일반적으로 독립적으로 디코딩될 수 있는 화상들의 그룹 (GOP) 의 화상 (예컨대, 인트라-코딩된 화상) 이며, 화상들의 그룹에서 모든 다른 화상들이 GOP 의 IDR 화상 또는 다른 화상들에 상대적으로 디코딩될 수 있다. 따라서, 어떤 GOP 의 화상도 GOP 외부의 화상에 상대적으로 예측되지 않는다. anchor_pic_flag 는 대응하는 NAL 유닛이 앵커 화상, 즉, 모든 슬라이스들이 단지 동일한 액세스 유닛 내 슬라이스들을 참조하는 (즉, 어떤 인터-예측도 사용되지 않는) 코딩된 화상에 대응하는지 여부를 나타낸다. inter_view_flag 는 NAL 유닛에 대응하는 화상이 현재의 액세스 유닛에서 임의의 다른 뷰 구성요소에 의한 인터-뷰 예측에 사용되는지 여부를 나타낸다. second_view_flag 는 NAL 유닛에 대응하는 뷰 구성요소가 제 1 향상 계층 또는 제 2 향상 계층인지 여부를 나타낸다. temporal_id 값은 NAL 유닛에 대한 (프레임 레이트에 대응할 수도 있는) 시간 식별자를 규정한다.
모드 선택 유닛 (40) 은 미가공 비디오 데이터를 뷰 0 화상으로부터, 그리고, 시간에서 뷰 0 화상에 대응하는 뷰 1 화상으로부터 블록들의 유형으로 수신할 수도 있다. 즉, 뷰 0 화상 및 뷰 1 화상은 실질적으로 동일한 시간에 캡처되었을 수도 있다. 본 개시물의 일부 양태들에 따르면,뷰 0 화상 및 뷰 1 화상은 다운샘플링될 수도 있으며, 비디오 인코더는 다운샘플링된 화상들을 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 뷰 0 화상 및 뷰 1 화상을 패킹된 프레임으로 인코딩할 수도 있다. 비디오 인코더 (20) 는 또한 풀 해상도 향상 프레임들을 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 풀 해상도 뷰 0 화상을 포함하는 향상 프레임, 및 풀 해상도 뷰 1 화상을 포함하는 향상 프레임을 인코딩할 수도 있다. 비디오 인코더 (20) 는 향상 프레임들의 인터-계층 및 인터-뷰 예측을 용이하게 하기 위해 뷰 0 화상 및 뷰 1 화상의 디코딩된 버전들을 참조 프레임 스토어 (64) 에 저장할 수도 있다.
모션 추정/디스패리티 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념적인 목적들을 위해 개별적으로 도시될 수도 있다. 모션 추정은 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 발생하는 프로세스이다. 모션 벡터는, 예를 들어, 현재의 프레임 (또는, 다른 코딩된 유닛) 내 코딩되는 현재의 블록에 관련된 예측 참조 프레임 (또는, 다른 코딩된 유닛) 내 예측 블록의 변위를 나타낼 수도 있다. 예측 블록은 절대 차이 (SAD) 의 합, 정사각형 차이 (SSD) 의 합, 또는 다른 차이 메트릭들에 의해 결정될 수도 있는 픽셀 차이의 관점에서, 코딩되는 블록에 가깝게 매칭하는 것으로 발견되는 블록이다. 모션 벡터는 또한 매크로블록의 파티션의 변위를 나타낼 수도 있다. 모션 보상은 모션 추정/디스패리티 유닛 (42) 에 의해 결정되는 모션 벡터 (또는 변위 벡터) 에 기초하여 예측 블록을 페치하거나 발생하는 것을 수반할 수도 있다. 또, 모션 추정/디스패리티 유닛 (42) 및 모션 보상 유닛 (44) 은 일부 예들에서, 기능적으로 통합될 수도 있다.
모션 추정/디스패리티 유닛 (42) 은 비디오 블록을 참조 프레임 스토어 (64) 에서 참조 프레임의 비디오 블록들과 비교함으로써, 인터-코딩된 화상의 비디오 블록에 대한 모션 벡터 (또는 디스패리티 벡터) 를 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한 참조 프레임, 예컨대, I-프레임 또는 P-프레임의 서브-정수 픽셀들을 내삽할 수도 있다. ITU-T H.264 표준은 참조 프레임들의 "리스트들", 예컨대, 리스트 0 및 리스트 1 를 참조한다. 리스트 0 은 현재의 화상보다 빠른 디스플레이 순서를 갖는 참조 프레임들을 포함하며, 반면 리스트 1 은 현재의 화상보다 늦은 디스플레이 순서를 갖는 참조 프레임들을 포함한다. 모션 추정/디스패리티 유닛 (42) 은 참조 프레임 스토어 (64) 로부터의 하나 이상의 참조 프레임들의 블록들을 현재의 화상, 예컨대, P-화상 또는 B-화상의 인코딩되는 블록과 비교한다. 참조 프레임 스토어 (64) 에서 참조 프레임들이 서브-정수 픽셀들에 대한 값들을 포함할 때, 모션 추정/디스패리티 유닛 (42) 에 의해 계산된 모션 벡터는 참조 프레임의 서브-정수 픽셀 로케이션을 참조할 수도 있다. 모션 추정/디스패리티 유닛 (42) 은 계산된 모션 벡터를 엔트로피 코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송한다. 모션 벡터에 의해 식별되는 참조 프레임 블록은 예측 블록로서 지칭될 수도 있다. 모션 보상 유닛 (44) 은 참조 프레임의 예측 블록에 대한 잔여 에러 값들을 계산한다.
모션 추정/디스패리티 유닛 (42) 은 또한 인터-뷰 예측을 수행하도록 구성될 수도 있으며, 이 경우, 모션 추정/디스패리티 유닛 (42) 은 하나의 뷰 화상 (예컨대, 뷰 0) 의 블록들과 참조 프레임 뷰 화상 (예컨대, 뷰 1) 의 대응하는 블록들 사이에 변위 벡터들을 계산할 수도 있다. 대안적으로 또는 추가적으로, 모션 추정/디스패리티 유닛 (42) 은 인터-계층 예측을 수행하도록 구성될 수도 있다. 즉, 모션 추정/디스패리티 유닛 (42) 은 모션-기반의 인터-계층 예측을 수행하도록 구성될 수도 있으며, 이 경우, 모션 추정/디스패리티 유닛 (42) 은 기초 프레임과 연관되는 스케일링되는 모션 벡터들에 기초하여 예측자들을 계산할 수도 있다.
위에서 설명한 바와 같이, 인트라-예측 유닛 (46) 은 공간 압축을 제공하기 위해 코딩되는 블록과 동일한 프레임 또는 슬라이스에서 하나 이상의 이웃하는 블록들에 관련된 수신된 비디오 블록의 인트라-예측 코딩을 수행할 수도 있다. 일부 예들에 따르면, 인트라-예측 유닛 (46) 은 향상 프레임들의 인터-계층 예측을 수행하도록 구성될 수도 있다. 즉, 인트라-예측 유닛 (46) 은 텍스처 기반의 인터-계층 예측을 수행하도록 구성될 수도 있으며, 이 경우, 인트라-예측 유닛 (46) 은 기초 프레임을 업샘플링하여, 기초 프레임 및 향상 프레임에서 동일 장소에 위치된 텍스처들에 기초하여 예측자들을 계산할 수도 있다. 일부 예들에서, 인터-계층 텍스처 기반의 예측은 강제된 인트라 모드들로서 코딩되는 대응하는 기초 프레임에서 동일 장소에 위치된 블록들을 갖는 향상 프레임의 블록들에만 오직 이용가능하다. 예를 들어, 강제된 인트라 모드 블록은 인터-코딩되는 이웃하는 블록들로부터 임의의 샘플들을 참조하지 않고, 인트라-코딩된다.
본 개시물의 양태들에 따르면, 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층과 같은 계층들의 각각은, 독립적으로 인코딩될 수도 있다. 예를 들어, 비디오 인코더 (20) 가 3개의 계층들: (1) 뷰 0 (예컨대, 좌측 눈 뷰) 및 뷰 1 (예컨대, 우측 눈 뷰) 의 감소된 해상도 화상들을 가진 기초 계층, (2) 뷰 0 의 풀 해상도 화상을 가진 제 1 향상 계층, 및 (3) 뷰 1 의 풀 해상도 화상을 가진 제 2 향상 계층을 인코딩한다고 가정한다. 이 예에서 비디오 인코더 (20) 는 각각의 계층에 대해 상이한 코딩 모드들을 (예컨대, 모드 선택 유닛 (40) 을 통해) 구현할 수도 있다.
이 예에서, 모션 추정/디스패리티 유닛 (42) 및 모션 보상 유닛 (44) 은 기초 계층의 2개의 감소된 해상도 화상들을 인터-코딩하도록 구성될 수도 있다. 즉, 모션 추정/디스패리티 유닛 (42) 은 비디오 블록을 참조 프레임 스토어 (64) 내 참조 프레임의 비디오 블록들과 비교함으로써, 기초 프레임의 화상들의 비디오 블록에 대해 모션 벡터를 계산할 수도 있으며, 반면, 모션 보상 유닛 (44) 은 참조 프레임의 예측 블록에 대해 잔여 에러 값들을 계산할 수도 있다. 대안적으로 또는 추가적으로, 인트라-예측 유닛 (46) 은 기초 계층의 2개의 감소된 해상도 화상들을 인트라-코딩할 수도 있다.
비디오 인코더 (20) 는 또한 향상 계층들의 각각, 즉, 제 1 향상 계층 (예컨대, 뷰 0 에 대응함) 및 제 2 향상 계층 (예컨대, 뷰 1 에 대응함) 을 인트라-예측하거나, 인터-예측하거나, 인터-계층 예측하거나, 또는 인터-뷰 예측하기 위해 모션 추정/디스패리티 유닛 (42), 모션 보상 유닛 (44), 및 인트라-예측 유닛 (46) 을 구현할 수도 있다. 예를 들어, 인트라-예측 및 인터-예측 모드들에 더해, 비디오 인코더 (20) 는 제 1 향상 계층의 풀 해상도 화상들을 인터-계층 예측하기 위해, 기초 계층의 뷰 0 의 감소된 해상도 화상들을 이용할 수도 있다. 이의 대안으로, 비디오 인코더 (20) 는 제 1 향상 계층의 풀 해상도 화상들을 인터-뷰 예측하기 위해 기초 계층의 뷰 1 의 감소된 해상도 화상들을 이용할 수도 있다. 본 개시물의 일부 양태들에 따르면, 기초 계층의 감소된 해상도 화상들은 향상 계층들을 인터-계층 또는 인터-뷰 예측 방법들로 예측하기 전에 업샘플링되거나 또는 아니면 재구성될 수도 있다.
인터-계층 예측을 이용하여 제 1 향상 계층을 예측할 때, 비디오 인코더 (20) 는 텍스처 예측 또는 모션 예측 방법들을 이용할 수도 있다. 제 1 향상 계층을 예측하기 위해 텍스처 기반의 인터-계층 예측을 이용할 때, 비디오 인코더 (20) 는 기초 계층의 뷰 0 의 화상들을 풀 해상도로 업샘플링할 수도 있으며, 비디오 인코더 (20) 는 기초 계층의 뷰 0 의 화상들의 동일 장소에 위치된 텍스처를 제 1 향상 계층의 화상들에 대한 예측자로서 이용할 수도 있다. 비디오 인코더 (20) 는 기초 계층의 뷰 0 의 화상들을 적응적 필터들을 포함한 다양한 필터들을 이용하여 업샘플링할 수도 있다. 비디오 인코더 (20) 는 모션 보상되는 잔여치에 대해 위에서 설명한 바와 같은 동일한 방법을 이용하여 잔여치 (residual) (예컨대, 기초 계층의 뷰 0 의 화상들에서 예측자와 원래 텍스처 사이의 잔여치) 를 인코딩할 수도 있다. (예컨대, 도 1 에 나타낸 비디오 디코더 (30) 와 같은) 디코더에서, 디코더 (30) 는 픽셀 값들을 예측자 및 잔여 값들을 이용하여 재구성할 수도 있다.
기초 계층의 대응하는 감소된 해상도 화상들로부터 제 1 향상 계층을 예측하기 위해 모션 기반의 인터-계층 예측을 이용할 때, 비디오 인코더 (20) 는 기초 계층의 뷰 0 의 화상들과 연관되는 모션 벡터들을 스케일링할 수도 있다. 예를 들어, 뷰 0 의 화상들 및 뷰 1 의 화상들이 기초 계층에서 사이드-바이-사이드 패킹되는 배열에서, 비디오 인코더 (20) 는 감소된 해상도 기초 계층과 풀 해상도 향상 계층 사이의 차이를 보상하기 위해 기초 계층의 뷰 0 의 예측된 화상들과 연관되는 모션 벡터들을 수평 방향으로 스케일링할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 감소된 해상도 기초 계층과 연관되는 모션 벡터들과, 풀 해상도 향상 계층과 연관되는 모션 벡터들 사이의 차이를 기술하는 모션 벡터 차이 (MVD) 값을 시그널링함으로써, 기초 계층의 뷰 0 의 화상들과 연관되는 모션 벡터들을 추가로 정제할 수도 있다.
또 다른 예에서, 비디오 인코더 (20) 는 모션 스킵 기법을 이용하여 인터-계층 모션 예측을 수행할 수도 있으며, 이 모션 스킵 기법은 H.264/AVC 에 대한 Joint Multiview Video Model ("JMVM") 확장판에 정의되어 있다. JMVM 은 예를 들어, http://ftp3.itu.int/av-arch/jvt-site/2006_10_Hangzhou/JVT-U207.zip 으로부터 입수가능한, 2006년 10월 20-27일, China, Hangzhou, 21차 JVT 회의, JVT-U207 에 설명된 확장판이다. 모션 스킵 기법은 비디오 인코더 (20) 로 하여금 주어진 디스패리티에 의해 동일한 시간 인스턴스에서, 그러나 또 다른 뷰의 화상으로부터 모션 벡터들을 재사용가능하게 할 수도 있다. 일부 예들에서, 디스패리티 값은 모션 스킵 기법을 이용하는 각각의 블록 또는 슬라이스로 글로벌하게 시그널링되거나 또는 로컬로 확장될 수도 있다. 일부 양태들에 따르면, 비디오 인코더 (20) 는 향상 계층을 예측하는데 사용되는 기초 계층의 부분이 동일 장소에 위치되기 때문에, 디스패리티 값을 제로로 설정할 수도 있다.
인터-뷰 예측을 이용하여 제 1 향상 계층의 프레임들을 예측할 때, 비디오 인코더 (20) 는 인터-코딩과 유사하게, 향상 계층 프레임들의 블록들과 참조 프레임들의 대응하는 블록들 (예컨대, 기초 프레임의 뷰 1 의 화상들) 사이에 변위 벡터들을 계산하기 위해 모션 추정/디스패리티 유닛 (42) 을 이용할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 제 1 향상 계층을 예측하기 전에 기초 프레임의 뷰 1 의 화상들을 업샘플링할 수도 있다. 즉, 비디오 인코더 (20) 는 기초 계층의 뷰 1 구성요소의 화상들을 업샘플링하여, 예측 목적들로 이용될 수 있도록 그 업샘플링된 화상들을 참조 프레임 스토어 (64) 에 저장할 수도 있다. 일부 예들에 따르면, 비디오 인코더 (20) 는 기초 프레임의 참조 블록 또는 블록 파티션이 인터-코딩되었을 때 블록 또는 블록 파티션을 인코딩하기 위해 오직 인터-뷰 예측만을 이용할 수도 있다.
본 개시물의 일부 양태들에 따르면, 비디오 인코더 (20) 는 제 2 향상 계층 (예컨대, 뷰 1 에 대응함) 을 제 1 향상 계층과 유사하게 또는 동일하게 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 제 2 향상 계층 (예컨대, 뷰 1 의 풀 해상도 화상들) 을 인터-계층 예측을 이용하여 예측하기 위해 기초 계층의 뷰 1 의 감소된 해상도 화상들을 이용할 수도 있다. 비디오 인코더 (20) 는 또한 제 2 향상 계층을 인터-뷰 예측을 이용하여 예측하기 위해 기초 계층의 뷰 0 의 감소된 해상도 화상들을 이용할 수도 있다. 이 예에 따르면, 향상 계층들, 즉, 제 1 향상 계층과 제 2 향상 계층은 서로 의존하지 않는다. 더 정확히 말하면, 제 2 향상 계층은 예측 목적들을 위해 오직 기초 계층만을 이용한다.
추가적으로 또는 이의 대안으로, 비디오 인코더 (20) 는 예측 목적들을 위해 제 2 향상 계층 (예컨대, 뷰 1 의 풀 해상도 화상들) 을 제 1 향상 계층 (예컨대, 뷰 0 의 풀 해상도 화상들) 을 이용하여 인코딩할 수도 있다. 즉, 제 1 향상 계층은 제 2 향상 계층을 인터-뷰 예측을 이용하여 예측하기 위해 사용될 수도 있다. 예를 들어, 제 1 향상 계층으로부터의 뷰 0 의 풀 해상도 화상들은 제 2 향상 계층을 인코딩할 때 예측 목적들로 이용될 수 있도록, 참조 프레임 스토어 (64) 에 저장될 수도 있다.
변환 유닛 (52) 은 이산 코사인 변환 (DCT), 정수 변환, 또는 개념적으로 유사한 변환과 같은 변환을 잔여 블록에 적용하여, 잔여 변환 계수 값들을 포함하는 비디오 블록을 발생한다. 변환 유닛 (52) 은 DCT 에 개념적으로 유사한 H.264 표준에 의해 정의되는 변환들과 같은 다른 변환들을 수행할 수도 있다. 웨이블릿 변환들, 정수 변환들, 서브밴드 변환들 또는 다른 유형들의 변환들이 또한 사용될 수 있다. 어쨌든, 변환 유닛 (52) 은 잔여 블록에 변환을 적용하여, 잔여 변환 계수들의 블록을 발생한다. 변환 유닛 (52) 은 잔여 정보를 픽셀 값 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환할 수도 있다. 양자화 유닛 (54) 은 비트 레이트를 추가로 감소시키기 위해, 잔여 변환 계수들을 양자화한다. 양자화 프로세스는 계수들의 일부 또는 모두와 연관되는 비트 깊이를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 변경될 수도 있다.
양자화 이후, 엔트로피 코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 코딩 유닛 (56) 은 콘텐츠 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 가변 길이 코딩 (CABAC), 또는 또 다른 엔트로피 코딩 기법을 수행할 수도 있다. 엔트로피 코딩 유닛 (56) 에 의한 엔트로피 코딩 이후, 인코딩된 비디오는 또 다른 디바이스로 송신되거나 또는 추후 송신 또는 취출을 위해 아치브될 수도 있다. 컨텍스트 적응 가변 길이 코딩 (CABAC) 의 경우, 컨텍스트는 이웃하는 매크로블록들에 기초할 수도 있다.
일부의 경우, 엔트로피 코딩 유닛 (56) 또는 비디오 인코더 (20) 의 또 다른 유닛은 엔트로피 코딩에 더해, 다른 코딩 기능들을 수행하도록 구성될 수도 있다. 예를 들어, 엔트로피 코딩 유닛 (56) 은 매크로블록들 및 파티션들에 대한 CBP 값들을 결정하도록 구성될 수도 있다. 또한, 일부의 경우, 엔트로피 코딩 유닛 (56) 은 매크로블록 또는 그의 파티션에서 계수들의 런 길이 코딩을 수행할 수도 있다. 특히, 엔트로피 코딩 유닛 (56) 은 매크로블록 또는 파티션에서 변환 계수들을 스캔하고, 추가적인 압축을 위해 제로들의 런들 (runs) 을 압축하기 위해 지그-재그 스캔 또는 다른 스캔 패턴을 적용할 수도 있다. 엔트로피 코딩 유닛 (56) 은 또한 인코딩된 비디오 비트스트림에서 송신을 위해 적합한 구문 엘리먼트들을 가진 헤더 정보를 구성할 수도 있다.
역양자화 유닛 (58) 및 역변환 유닛 (60) 은 픽셀 도메인에서 잔여 블록을 재구성하기 위해, 예컨대, 참조 블록으로서 추후 사용을 위해, 역양자화 및 역변환을 각각 적용한다. 모션 보상 유닛 (44) 은 잔여 블록을 참조 프레임 스토어 (64) 의 프레임들의 하나의 예측 블록에 추가함으로써, 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한 모션 추정에서 사용을 위한 서브-정수 픽셀 값들을 계산하기 위해 하나 이상의 내삽 필터들을 재구성된 잔여 블록에 적용할 수도 있다. 합산기 (62) 는 재구성된 잔여 블록을 모션 보상 유닛 (44) 에 의해 발생된 모션 보상된 예측 블록에 가산하여, 참조 프레임 스토어 (64) 에의 저장을 위해 재구성된 비디오 블록을 발생한다. 재구성된 비디오 블록은 후속 비디오 프레임에서 블록을 인터-코딩하기 위해 모션 추정/디스패리티 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 참조 블록으로서 사용될 수도 있다.
인터-예측 및 인터-뷰 예측을 이용가능하도록 하기 위해, 위에서 설명한 바와 같이, 비디오 인코더 (20) 는 하나 이상의 참조 리스트들을 유지할 수도 있다. 예를 들어, ITU-T H.264 표준은 참조 프레임들의 "리스트들", 예컨대, 리스트 0 및 리스트 1 를 지칭한다. 본 개시물의 양태들은 인터-예측 및 인터-뷰 예측을 위해 참조 화상들의 유연한 순서를 제공하는 참조 화상 리스트를 구성하는 것과 관련된다. 본 개시물의 일부 양태들에 따르면, 비디오 인코더 (20) 는 H.264/AVC 사양에서 설명된 버전의 수정 버전에 따라서 참조 화상 리스트를 구성할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 H.264/AVC 사양에 개시된 바와 같이 참조 화상 리스트를 초기화할 수도 있으며, 이 H.264/AVC 사양은 인터-예측 목적들을 위해 참조 화상들을 유지한다. 본 개시물의 양태들에 따르면, 인터-뷰 참조 화상이 이후 리스트에 첨부된다.
비-기초 계층 구성요소 (예컨대, 제 1 또는 제 2 향상 계층) 를 인코딩할 때, 비디오 인코더 (20) 는 오직 하나의 인터-뷰 참조만을 이용할 수도 있다. 예를 들어, 제 1 향상 계층을 인코딩할 때, 인터-뷰 참조 화상은 동일한 액세스 유닛 내에서 기초 계층의 업샘플링된 대응하는 화상일 수도 있다. 이 예에서, full_left_right_dependent_flag 는 1 일 수도 있으며, depViewID 는 0 으로 설정될 수도 있다. 제 2 향상 계층을 인코딩할 때, 인터-뷰 참조 화상은 동일한 액세스 유닛 내에서 기초 계층의 업샘플링된 대응하는 화상일 수도 있다. 이 예에서, full_left_right_dependent_flag 는 0 일 수도 있으며, depViewID 는 0 으로 설정될 수도 있다. 이의 대안으로, 인터-뷰 참조 화상은 동일한 액세스 유닛 내에서 풀 해상도 제 1 향상 계층일 수도 있다. 따라서, full_left_right_dependent_flag 는 0 일 수도 있으며, depViewID 는 1 로 설정될 수도 있다. 클라이언트 디바이스는 향상 계층들을 성공적으로 디코딩하기 위해 어떤 데이터를 취출하는 것이 필요한 지를 결정하기 위해 이 정보를 이용할 수도 있다.
참조 화상 리스트는 참조 화상들의 순서를 유연하게 배열하도록 변경될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 하기 표 5 에 따라서 참조 화상 리스트를 구성할 수도 있다:
Figure pct00005
표 5-ref_pic_list_mfc_modification( )
표 5 의 예시적인 참조 화상 리스트 변경은 참조 화상 리스트들을 기술할 수도 있다. 예를 들어, abs_diff_pic_num_minus1, long_term_pic_num, 또는 abs_diff_view_idx_minus1 과 함께 modification_of_pic_nums_idc 는 어느 참조 화상들 또는 인터-뷰 단독 참조 구성요소들이 재맵핑되는지를 규정할 수도 있다. 인터-뷰 예측에 있어, 인터-뷰 참조 화상 및 현재의 화상은 디폴트로, 스테레오 콘텐츠의 2개의 대향 뷰들에 속할 수도 있다. 일부 예들에서, 인터-뷰 참조 화상은 기초 계층의 부분인 디코딩된 화상에 대응할 수도 있다. 따라서, 디코딩된 화상이 인터-뷰 예측에 사용되기 전에 업샘플링이 요구될 수도 있다. 기초 계층의 낮은 해상도 화상은 적응적 필터들, 뿐만 아니라 AVC 6-탭 내삽 필터: [1, -5, 20, 20, -5, 1] /32 를 포함한, 다양한 필터들을 이용하여, 업샘플링될 수도 있다.
또 다른 예에서, 인터-뷰 예측에 있어, 인터-뷰 참조 화상은 현재의 화상 (예컨대, 동일한 액세스 유닛에서 상이한 디코딩된 해상도) 과 동일한 뷰 및 상이한 뷰에 대응할 수도 있다. 그 경우, 표 6 (아래) 에 나타낸 바와 같이, collocated_flag 는 현재의 화상 및 인터-뷰 예측 화상이 동일한 뷰에 대응하는지 여부를 나타내기 위해 도입된다. collocated_flag 가 1 이면, 인터-뷰 참조 화상 및 현재의 화상은 둘다 동일한 뷰의 표현들 (예컨대, 인터-계층 텍스처 예측과 유사하게, 좌측 뷰 또는 우측 뷰) 일 수도 있다. collocated_flag 가 0 이면, 인터-뷰 참조 화상 및 현재의 화상은 상이한 뷰들의 표현들 (예컨대, 하나의 좌측 뷰 화상 및 하나의 우측 뷰 화상) 일 수도 있다.
Figure pct00006
표 6-ref_pic_list_mfc_modification( )
본 개시물의 일부 양태들에 따르면, modification_of_pic_nums_idc 의 값들은 표 7 (이하) 에 규정된다. 일부 예들에서, ref_pic_list_modification_flag_l0 또는 ref_pic_list_modification_flag_l1 직후에 따르는 first modification_of_pic_nums_idc 의 값은 3 이 아닐 수도 있다.
modification _ of _ pic _ nums _ idc 규정된 변경
0 abs_diff_pic_num_minus1 이 존재하며 화상 개수 예측 값으로부터 감산한 차이에 대응한다
1 abs_diff_pic_num_minus1 이 존재하며 화상 개수 예측 값에 추가하는 차이에 대응한다
2 long_term_pic_num 가 존재하며 참조 화상에 대한 장기 화상 개수를 규정한다
3 초기 참조 화상 리스트의 변경을 위해 루프를 종료한다
6 이런 값은 인터-뷰 참조가 사용된다는 것을 나타낸다
표 7-modification_of_pic_nums_idc
본 개시물의 양태들에 따르면, abs_diff_view_idx_minus1 plus 1 은 참조 화상 리스트에서 현재의 인덱스에 할당된 인터-뷰 참조 인덱스와 인터-뷰 참조 인덱스의 예측 값 사이의 절대 차이를 규정할 수도 있다. 위의 표 6 및 표 7 에 나타낸 구문에 대한 디코딩 프로세스 동안, modification_of_pic_nums_idc (표 7) 가 6 일 때, 인터-뷰 참조 화상은 현재의 참조 화상 리스트의 현재의 인덱스 위치에 할당될 것이다.
다음 프로시저는 단기 화상 개수 picNumLX 를 가진 화상을 인덱스 위치 refIdxLX 에 배치하고, 임의의 다른 나머지 화상들의 위치를 그 리스트에서 더 나중으로 시프트하고, refIdxLX 의 값을 증분하도록 수행된다:
Figure pct00007
여기서, viewID ( ) 는 각각의 뷰 구성요소의 view_id 로 복귀한다. 참조 화상이 기초 계층으로부터의 화상의 업샘플링된 버전일 때, viewID( ) 는 0 인 기초 계층의 동일한 view_id 로 복귀할 수도 있다. 참조 화상이 기초 계층에 속하지 않을 때 (예컨대, 참조 화상이 제 1 향상 계층일 때), viewID ( ) 는 1 (제 1 향상 계층) 또는 2 (제 2 향상 계층) 일 수도 있는 적합한 뷰의 view_id 로 복귀할 수도 있다.
비디오 인코더 (20) 는 또한 인코딩된 비디오 데이터를 적절히 디코딩하기 위해 인코딩된 비디오 데이터, 예컨대, 디코더 (디코더 (30), 도 1) 에 의해 사용되는 정보를 가진 구문을 제공할 수도 있다. 본 개시물의 일부 양태들에 따르면, 인터-계층 예측을 이용가능하도록 하기 위해, 비디오 인코더 (20) 는 (1) 어떤 블록들도 슬라이스에서 인터-계층 텍스처 예측되지 않거나, (2) 모든 블록들이 슬라이스에서 인터-계층 텍스처 예측되거나, 또는 (3) 일부 블록들이 인터-계층 텍스처 예측되고 일부 블록들이 슬라이스에서 인터-계층 텍스처 예측되지 않을 수도 있다는 것을 나타내기 위해, 구문 엘리먼트들을 슬라이스 헤더에 제공할 수도 있다. 게다가, 비디오 인코더 (20) 는 (1) 어떤 블록들도 슬라이스에서 인터-계층 모션 예측되지 않거나, (2) 모든 블록들이 슬라이스에서 인터-계층 모션 예측되거나, 또는 (3) 일부 블록들이 인터-계층 모션 예측될 수도 있으며 일부 블록들이 슬라이스에서 인터-계층 모션 예측되지 않을 수도 있다는 것을 나타내기 위해, 구문 엘리먼트들을 슬라이스 헤더에 제공할 수도 있다.
게다가, 인터-계층 예측을 이용가능하도록 하기 위해, 비디오 인코더 (20) 는 일부 구문 데이터를 블록 레벨에서 제공할 수도 있다. 예를 들어, 본 개시물의 양태들은 mb_base_texture_flag 로 명명된 구문 엘리먼트를 포함한다. 이 플래그는 인터-계층 텍스처 예측이 전체 블록 (예컨대, 전체 매크로블록) 에 대해 호출되는지 여부를 나타내기 위해 사용될 수도 있다. 비디오 인코더 (20) 는 대응하는 기초 계층에서 그 재구성된 픽셀들이 현재의 블록을 인터-계층 텍스처 예측을 이용하여 재구성하기 위해 참조로서 사용된다는 것을 시그널링하기 위해, mb_base_texture_flag 를 1 로 설정할 수도 있다. 게다가, 비디오 인코더는 잔여 코딩에 대한 구문 엘리먼트들 (즉, CBP, 8 x 8 변환 플래그, 및 계수들) 을 제외하고는, 현재의 블록에서 다른 구문 엘리먼트들의 코딩이 스킵된다는 것을 시그널링하기 위해, mb_base_texture_flag 를 1 로 설정할 수도 있다. 비디오 인코더 (20) 는 규칙적인 블록 코딩이 적용된다는 것을 시그널링하기 위해 mb_base_texture_flag 를 0 으로 설정할 수도 있다. 블록이 규칙적인 인트라-블록이면, 코딩 프로세스가 H.264/AVC 사양에 개시된 규칙적인 인트라-블록 코딩과 동일하다.
인터-계층 예측을 이용가능하도록 하기 위해, 비디오 인코더 (20) 는 다른 구문 데이터를 블록 레벨에서 제공할 수도 있다. 예를 들어, 본 개시물의 양태들은 비디오 인코더 (20) 가 파티션 mbPartIdx 을 인코딩하기 위해 인터-계층 예측을 이용할지 여부를 나타내기 위해 mbPart_texture_prediction_flag [mbPartIdx] 로 명명된 구문 엘리먼트를 포함한다. 이 플래그는 인터 16 x 16, 8 x 16, 16 x 8, 및 8 x 8 의 파티션 유형들, 그러나 일반적으로는 8 x 8 의 아래가 아닌 파티션 유형들을 가진 블록들에 적용할 수도 있다. 비디오 인코더 (20) 는 인터-계층 텍스처 예측이 대응하는 파티션에 적용된다는 것을 나타내기 위해 mbPart_texture_prediction_flag 를 1 로 설정할 수도 있다. 비디오 인코더 (20) 는 motion_prediction_flag_l0/1 [mbPartIdx] 를 호출하는 플래그가 코딩된다고 것을 나타내기 위해 mbPart_texture_prediction_flag 를 0 으로 설정할 수도 있다. 비디오 인코더 (20) 는 파티션 mbPartIdx 의 모션 벡터가 기초 계층에서 대응하는 파티션의 모션 벡터를 이용하여 예측될 수도 있다는 것을 나타내기 위해 motion_prediction_flag_l0/1를 1 로 설정할 수도 있다. 비디오 인코더 (20) 는 모션 벡터들이 H.264/ AVC 사양에서의 방법과 동일한 방법으로 재구성된다는 것을 나타내기 위해 motion_prediction_flag_l0/1 를 0 으로 설정할 수도 있다.
아래에 나타낸 표 8 은 블록 레벨 구문 엘리먼트들을 포함한다:
Figure pct00008
Figure pct00009
표 8-macroblock_layer_in_mfc_extension()
표 8 에 나타낸 예에서, 비디오 인코더 (20) 는 인터-계층 텍스처 예측이 전체 매크로블록에 적용된다는 것을 나타내기 위해 mb_base_texture_flag 를 1 로 설정할 수도 있다. 게다가, 비디오 인코더 (20) 는 구문 엘리먼트 mb_type 및 다른 관련되는 구문 엘리먼트들이 매크로블록에 "멀티-뷰 프레임 호환가능한" MFC 구조로 존재한다는 것을 나타내기 위해 mb_base_texture_flag 를 0 으로 설정할 수도 있다.
아래에 나타낸 표 9 는 또한 블록 레벨 구문 엘리먼트들을 포함한다:
Figure pct00010
Figure pct00011
표 9-mb_pred_in_mfc_extension( mb_type )
표 8 에 나타낸 예에서, 비디오 인코더 (20) 는 인터-계층 텍스처 예측이 대응하는 파티션 mbPartIdx 에 대해 호출된다는 것을 나타내기 위해 mbPart_texture_prediction_flag[ mbPartIdx ] 을 1 로 설정할 수도 있다. 비디오 인코더 (20) 는 어떤 인터-계층 텍스처 예측도 파티션 mbPartIdx 에 대해 호출되지 않는다는 것을 나타내기 위해 mbPart_texture_prediction_flag 를 0 으로 설정할 수도 있다. 게다가, 비디오 인코더 (20) 는, 기초 계층의 모션 벡터를 참조로서 이용한 대안적인 모션 벡터 예측 프로세스가 매크로블록 파티션 mbPartIdx 의 리스트 1/0 모션 벡터를 유도하는데 사용되고 매크로블록 파티션 mbPartIdx 의 리스트 1/0 참조 인덱스가 기초 계층으로부터 추정된다는 것을 나타내기 위해, motion_prediction_flag_l1/0[mbPartIdx] 을 1 로 설정할 수도 있다.
아래에 나타낸 표 10 은 또한 서브-블록들 레벨 구문 엘리먼트들을 포함한다:
Figure pct00012
Figure pct00013
표 10-sub_mb_pred_in_ mfc_extension( mb_type )
표 10 에 나타낸 예에서, 비디오 인코더 (20) 는 인터-계층 텍스처 (textural) 예측이 대응하는 파티션 mbPartIdx 에 호출된다는 것을 나타내기 위해, mbPart_texture_prediction_flag[ mbPartIdx ] 을 1 로 설정할 수도 있다. 비디오 인코더 (20) 는 어떤 인터 계층 텍스처 예측도 파티션 mbPartIdx 에 호출되지 않는다는 것을 나타내기 위해, mbPart_texture_prediction_flag 를 0 으로 설정할 수도 있다.
비디오 인코더 (20) 는, 기초 계층의 모션 벡터를 참조로서 이용하는, 대안적인 모션 벡터 예측 프로세스가 매크로블록 파티션 mbPartIdx 의 리스트 1/0 모션 벡터를 유도하는데 사용되고 매크로블록 파티션 mbPartIdx 의 리스트 1/0 참조 인덱스가 기초 계층으로부터 추정된다는 것을 나타내기 위해 motion_prediction_flag_l1/0[mbPartIdx] 를 1 로 설정할 수도 있다.
비디오 인코더 (20) 는 어떤 인터 계층 모션 예측도 매크로블록 파티션 mbPartIdx 에 대해 사용되지 않는다는 것을 나타내기 위해 motion_prediction_flag_l1/0[mbPartIdx] 플래그를 설정하지 않을 수도 있다 (예컨대, 어떤 플래그도 존재하지 않는다).
본 개시물의 일부 양태들에 따르면, 비디오 인코더 (20) 는 mb_base_texture_flag, mbPart_texture_prediction_flag 및 motion_prediction_flag_l1/0 를 슬라이스 헤더 레벨에서 인에이블하거나 또는 디스에이블할 수도 있다. 예를 들어, 슬라이스에서 모든 블록들이 동일한 특성들을 가질 때, 블록 레벨에서 대신, 슬라이스 레벨에서, 이들 특성들을 시그널링하는 것은 관련된 비트 절감들을 제공할 수도 있다.
이 방법에서, 도 2a 는 장면의 2개의 뷰들 (예컨대, 좌측 눈 뷰 및 우측 눈 뷰) 에 대응하는 2개의 감소된 해상도 화상들을 포함하는 기초 계층 뿐만 아니라, 2개의 추가적인 향상 계층들을 갖는 스케일러블 멀티-뷰 비트스트림을 발생하는 기법들을 구현할 수도 있는 비디오 인코더 (20) 의 일 예를 도시하는 블록도이다. 제 1 향상 계층은 기초 계층의 뷰들 중 하나의 풀 해상도 화상들을 포함할 수도 있으며, 반면 제 2 향상 계층은 기초 계층의 다른 하나의 각각의 뷰의 풀 해상도 화상들을 포함할 수도 있다.
또, 도 2a 의 어떤 구성요소들이 개념적인 목적들을 위해 단일 구성요소에 대해 나타내고 설명되지만, 하나 이상의 기능적 유닛들을 포함할 수도 있는 것으로 해석되어야 한다. 예를 들어, 도 2b 에 대해 좀더 자세히 설명한 바와 같이, 모션 추정/디스패리티 유닛 (42) 은 모션 추정 및 모션 디스패리티 계산들을 수행하는 별개의 유닛들로 이루어질 수도 있다.
도 2b 는 기초 계층 및 2개의 향상 계층들을 갖는 스케일러블 멀티-뷰 비트스트림을 발생하는 기법들을 구현할 수도 있는 비디오 인코더의 또 다른 예를 도시하는 블록도이다. 위에서 언급한 바와 같이, 비디오 인코더 (20) 의 어떤 구성요소들이 단일 구성요소에 대해 나타내고 설명되었을 수도 있지만, 하나 보다 많은 별개의 및/또는 통합된 유닛들을 포함할 수도 있다. 더욱이, 비디오 인코더 (20) 의 어떤 구성요소들은 동일한 물리적인 구성요소에 고도로 통합되거나, 또는 포함될 수도 있지만, 개념적인 목적들을 위해 개별적으로 도시될 수도 있다. 따라서, 도 2b 에 나타낸 예는 많은 동일한 구성요소들을 도 2a 에 나타낸 비디오 인코더 (20) 로서 포함할 수도 있지만, 3개의 계층들, 예컨대, 기초 계층 (142), 제 1 향상 계층 (84), 및 제 2 향상 계층 (86) 의 인코딩을 개념적으로 예시하기 위해 대안적인 배열로 나타낼 수도 있다.
도 2b 에 나타낸 예는 3개의 계층들을 포함하는 스케일러블 멀티-뷰 비트스트림을 발생하는 비디오 인코더 (20) 를 도시한다. 위에서 설명한 바와 같이, 계층들의 각각은 멀티미디어 콘텐츠를 구성하는 프레임들의 시리즈를 포함할 수도 있다. 본 개시물의 양태들에 따르면, 3개의 계층들은 기초 계층 (82), 제 1 향상 계층 (84), 및 제 2 향상 계층 (86) 을 포함한다. 일부 예들에서, 기초 계층 (142) 의 프레임은 2개의 사이드-바이-사이드 패킹된 감소된 해상도 화상들 (예컨대, 좌측 눈 뷰 ("B1") 및 우측 눈 뷰 ("B2")) 을 포함할 수도 있다. 제 1 향상 계층은 기초 계층의 좌측 눈 뷰의 풀 해상도 화상 ("E1") 을 포함할 수도 있으며, 제 2 향상 계층은 기초 계층의 우측 눈 뷰의 풀 해상도 화상 ("E2") 을 포함할 수도 있다. 기초 계층 배열 및 도 2b 에 나타낸 향상 계층들의 시퀀스는, 그러나, 단지 일 예로서 제공된다. 또 다른 예에서, 기초 계층 (82) 은 감소된 해상도 화상들을 대안적인 패킹 배열들 (예컨대, 탑-바텀, 로우 인터리브된, 칼럼 인터리브된, 체커보드, 및 기타 등등) 로 포함할 수도 있다. 더욱이, 제 1 향상 계층은 우측 눈 뷰의 풀 해상도 화상들을 포함할 수도 있지만, 제 2 향상 계층은 좌측 눈 뷰의 풀 해상도 화상들을 포함할 수도 있다.
도 2b 에 나타낸 예에서, 비디오 인코더 (20) 는 3개의 인트라-예측 유닛들 (46) 및 3개의 모션 추정/모션 보상 유닛들 (90) (예컨대, 도 2a 에 나타낸 결합된 모션 추정/디스패리티 유닛 (42) 및 모션 보상 유닛 (44) 과 유사하거나 또는 동일하게 구성될 수도 있다) 을 포함하며, 각각의 계층 (82 내지 86) 은 연관되는 인트라-예측 유닛 (46) 및 모션 추정/보상 유닛 (90) 을 갖는다. 게다가, 제 1 향상 계층 (84) 및 제 2 향상 계층 (86) 은 인터-계층 텍스처 예측 유닛 (100) 및 인터-계층 모션 예측 유닛 (102) 뿐만 아니라, 인터-뷰 예측 유닛 (100) 을 포함한 인터-계층 예측 유닛들 (파선 98 로 그룹화됨) 과 각각 연관된다. 도 2b 의 나머지 구성요소들은 도 2a 에 나타낸 구성요소들과 유사하게 구성될 수도 있다. 즉, 합산기들 (50) 및 참조 프레임 스토어 (64) 는 양자의 표현들에서와 유사하게 구성될 수도 있지만, 도 2b 의 변환 및 양자화 유닛 (114) 은 도 2a 에 나타낸 결합된 변환 유닛 (52) 및 양자화 유닛 (54) 과 유사하게 구성될 수도 있다. 게다가, 도 2b 의 역양자화/역변환 유닛/재구성/디블로킹 유닛 (122) 은 도 2a 에 나타낸 결합된 역양자화 유닛 (58) 및 역변환 유닛 (60) 과 유사하게 구성될 수도 있다. 모드 선택 유닛 (40) 는 예측 유닛들의 각각 사이에서 토글하는 스위치로서 도 2b 에 표시되며, 코딩 모드들, 즉, 인트라-, 인터-, 인터-계층 모션, 인터-계층 텍스처, 또는 인터-뷰 중 하나를, 예컨대, 에러 결과들에 기초하여, 선택할 수도 있다.
일반적으로, 비디오 인코더 (20) 는 기초 계층 (82) 을 도 2a 에 대해 위에서 설명한 인트라- 또는 인터-코딩 방법들을 이용하여 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 기초 계층 (82) 에 포함된 감소된 해상도 화상들을 인트라-예측 유닛 (46) 을 이용하여 인트라-코딩할 수도 있다. 비디오 인코더 (20) 는 기초 계층 (82) 에 포함된 감소된 해상도 화상들을 모션 추정/보상 유닛 (90) (예컨대, 도 2a 에 나타낸 결합된 모션 추정/디스패리티 유닛 (42) 및 모션 보상 유닛 (44) 과 유사하거나 또는 동일하게 구성될 수도 있다) 을 이용하여 인터-코딩할 수도 있다. 게다가, 비디오 인코더 (20) 는 제 1 향상 계층 (84) 또는 제 2 향상 계층을 인트라-예측 유닛 (46) 을 이용하여 인트라-코딩하거나, 또는 제 1 향상 계층 (84) 또는 제 2 향상 계층 (86) 을 모션 보상 추정/보상 유닛 (90) 을 이용하여 인터-코딩할 수도 있다.
본 개시물의 양태들에 따르면, 비디오 인코더 (20) 는 또한 제 1 향상 계층 (84) 및 제 2 향상 계층 (86) 을 인코딩하기 위해 어떤 다른 인터-뷰 또는 인터-계층 코딩 방법들을 구현할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 제 1 향상 계층 (84) 및 제 2 향상 계층 (86) 을 인코딩하기 위해 인터-계층 예측 유닛들 (파선 98 로 그룹화됨) 을 이용할 수도 있다. 예를 들어, 제 1 향상 계층 (84) 이 좌측 눈 뷰의 풀 해상도 화상들을 포함하는 예에 따르면, 비디오 인코더 (20) 는 기초 계층의 좌측 눈 뷰의 감소된 해상도 화상들 (예컨대, B1) 로부터 제 1 향상 계층 (84) 을 인터-계층 예측하기 위해 인터-계층 예측 유닛들 (98) 을 이용할 수도 있다. 더욱이, 비디오 인코더 (20) 는 기초 계층의 우측 눈 뷰의 감소된 해상도 화상들 (예컨대, B2) 로부터 제 2 향상 계층 (86) 을 인터-계층 예측하기 위해 인터-계층 예측 유닛들 (98) 을 이용할 수도 있다. 도 2b 에 나타낸 예에서, 인터-계층 예측 유닛들 (98) 은 기초 계층 (82) 과 연관되는 모션 추정/보상 유닛 (90) 으로부터 데이터 (예컨대, 모션 벡터 데이터, 텍스처 데이터, 및 기타 등등) 를 수신할 수도 있다.
도 2b 에 나타낸 예에서, 인터-계층 예측 유닛들 (98) 은 제 1 향상 프레임 (84) 및 제 2 향상 프레임 (86) 을 인터-계층 텍스처 예측하는 인터-계층 텍스처 예측 유닛 (100) 뿐만 아니라, 제 1 향상 프레임 (84) 및 제 2 향상 프레임 (86) 을 인터-계층 모션 예측하는 인터-계층 모션 예측 유닛 (102) 을 포함한다.
비디오 인코더 (20) 는 또한 제 1 향상 계층 (84) 및 제 2 향상 계층 (86) 을 인터-뷰 예측하기 위해 인터-뷰 예측 유닛들 (106) 을 포함할 수도 있다. 일부 예들에 따르면, 비디오 인코더 (20) 는 기초 계층의 우측 눈 뷰의 감소된 해상도 화상들 (B2) 로부터 제 1 향상 계층 (84) (예컨대, 좌측 눈 뷰의 풀 해상도 화상들) 을 인터-뷰 예측할 수도 있다. 이와 유사하게, 비디오 인코더 (20) 는 기초 계층의 좌측 눈 뷰의 감소된 해상도 화상들 (B1) 로부터 제 2 향상 계층 (86) (예컨대, 우측 눈 뷰의 풀 해상도 화상들) 을 인터-뷰 예측할 수도 있다. 더욱이, 일부 예들에 따르면, 비디오 인코더 (20) 는 또한 제 1 향상 계층 (84) 에 기초하여 제 2 향상 계층 (86) 을 인터-뷰 예측할 수도 있다.
변환 및 양자화 유닛 (114) 에 의해 수행되는 바와 같은, 잔여 변환 계수들의 변환 및 양자화 이후, 비디오 인코더 (20) 는 엔트로피 코딩 및 멀티플렉싱 유닛 (118) 으로, 양자화되는 잔여 변환 계수들의 엔트로피 코딩 및 멀티플렉싱을 수행할 수도 있다. 즉, 엔트로피 코딩 및 멀티플렉싱 유닛 (118) 은 양자화된 변환 계수들을 코딩할 수도 있으며, 예컨대, (도 2a 에 대해 설명한 바와 같이) 콘텐츠 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 가변 길이 코딩 (CABAC), 또는 또 다른 엔트로피 코딩 기법을 수행할 수도 있다. 게다가, 엔트로피 코딩 및 멀티플렉싱 유닛 (118) 은 코딩된 블록 패턴 (CBP) 값들, 매크로블록 유형, 코딩 모드, (프레임, 슬라이스, 매크로블록, 또는 시퀀스와 같은) 코딩된 유닛에 대한 최대 매크로블록 사이즈, 또는 기타 등등과 같은, 구문 정보를 발생할 수도 있다. 엔트로피 코딩 및 멀티플렉싱 유닛 (118) 은 이 압축된 비디오 데이터를 소위 "네트워크 추상화 계층 유닛들" 또는 NAL 유닛들로 포맷할 수도 있다. 각각의 NAL 유닛은 NAL 유닛에 저장된 데이터의 일종을 식별하는 헤더를 포함한다. 본 개시물의 일부 양태들에 따르면, 위에서 도 2a 에 대해 설명한 바와 같이, 비디오 인코더 (20) 는 제 1 및 제 2 향상 계층들 (84, 86) 에 대해서 보다는, 기초 계층 (82) 에 대해 상이한 NAL 포맷을 이용할 수도 있다.
또, 도 2b 에 나타낸 어떤 구성요소들이 별개의 유닛들로 나타내어질 수도 있지만, 비디오 인코더 (20) 의 어떤 구성요소들은 동일한 물리적인 구성요소에 고도로 통합되거나, 또는 포함될 수도 있는 것으로 이해되어야 한다. 따라서, 일 예로서, 도 2b 는 3개의 별개의 인트라-예측 유닛들 (46) 을 포함하지만, 비디오 인코더 (20) 는 인트라-예측을 수행하기 위해 동일한 물리적인 구성요소를 이용할 수도 있다.
도 3 은 인코딩된 비디오 시퀀스를 디코딩하는 비디오 디코더 (30) 의 일 예를 도시하는 블록도이다. 도 3 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (130), 모션 보상 유닛 (132), 인트라 예측 유닛 (134), 역양자화 유닛 (136), 역변환 유닛 (138), 참조 프레임 스토어 (142) 및 합산기 (140) 를 포함한다. 비디오 디코더 (30) 는 일부 예들에서, 비디오 인코더 (20) (도 2a 및 도 2b) 에 대해 설명된 인코딩 경로와는 일반적으로 반대인 디코딩 경로를 수행할 수도 있다.
특히, 비디오 디코더 (30) 는 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층을 포함하는 스케일러블 멀티-뷰 비트스트림을 수신하도록 구성될 수도 있다. 비디오 디코더 (30) 는 기초 계층에 대한 프레임 패킹 배열, 향상 계층들의 순서 뿐만 아니라, 스케일러블 멀티-뷰 비트스트림을 적절히 디코딩하기 위한 다른 정보를 나타내는 정보를 수신할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 "멀티-뷰 프레임 호환가능한" (MFC) SPS 및 SEI 메시지들을 해석하도록 구성될 수도 있다. 비디오 디코더 (30) 는 또한 멀티-뷰 비트스트림의 모든 3개의 계층들, 또는 오직 그 계층들 (예컨대, 기초 계층 및 제 1 향상 계층) 의 서브세트를 디코딩할지 여부를 결정하도록 구성될 수도 있다. 이 결정은 비디오 디스플레이 (32) (도 1) 가 3차원의 비디오 데이터를 디스플레이할 수 있는지 여부, 비디오 디코더 (30) 가 특정의 비트레이트 및/또는 프레임레이트의 다수의 뷰들을 디코딩하는 (그리고, 감소된 해상도 뷰를 업샘플링하는) 능력을 갖는지 여부, 또는 비디오 디코더 (30) 및/또는 비디오 디스플레이 (32) 에 관련한 다른 인자들에 기초할 수도 있다.
목적지 디바이스 (14) 가 3차원의 비디오 데이터를 디코딩 및/또는 디스플레이할 수 없을 때, 비디오 디코더 (30) 는 구성하는 감소된 해상도 인코딩된 화상들로 수신된 기초 계층을 언패킹한 후에, 감소된 해상도 인코딩된 화상들 중 하나를 폐기할 수도 있다. 따라서, 비디오 디코더 (30) 는 기초 계층의 절반 (예컨대, 좌측 눈 뷰의 화상들) 을 디코딩하기로 선택할 수도 있다. 게다가, 비디오 디코더 (30) 는 향상 계층들 중 단지 하나를 디코딩하도록 선택할 수도 있다. 즉, 비디오 디코더 (30) 는 기초 프레임의 보유하고 있는 감소된 해상도 화상들에 대응하는 향상 계층을 디코딩하는 동시에 기초 프레임의 폐기된 화상들에 대응하는 향상 계층을 폐기하기로 선택할 수도 있다. 향상 계층들 중 하나를 보유함으로써, 비디오 디코더 (30) 는 기초 계층의 보유하고 있는 화상들을 업샘플링하거나 또는 내삽하는 것과 관련되는 에러를 감소시킬 수도 있다.
목적지 디바이스 (14) 가 3차원의 비디오 데이터를 디코딩하여 디스플레이가능할 때, 비디오 디코더 (30) 는 수신된 기초 계층을 구성하는 감소된 해상도 인코딩된 화상들로 언패킹하여, 감소된 해상도 화상들의 각각을 디코딩할 수도 있다. 일부 예들에 따르면, 비디오 디코더 (30) 는 또한 비디오 디코더 (30) 및/또는 비디오 디스플레이 (32) 의 능력에 의존하여, 향상 계층들 중 하나 또는 양자를 디코딩할 수도 있다. 향상 계층들 중 하나 또는 양자를 보유함으로써, 비디오 디코더 (30) 는 기초 계층의 화상들을 업샘플링하거나 또는 내삽하는 것과 연관되는 에러를 감소시킬 수도 있다. 또, 디코더 (30) 에 의해 디코딩된 계층들은 비디오 디코더 (30) 및/또는 목적지 디바이스 (14) 및/또는 통신 채널 (16) (도 1) 의 능력에 의존할 수도 있다.
비디오 디코더 (30) 는 인터-뷰 인코딩된 화상들에 대한 변위 벡터들, 또는 인터- 또는 인터-계층 인코딩된 화상들, 예컨대, 기초 계층의 2개의 감소된 해상도 화상들 및 향상 계층의 2개의 풀 해상도 화상들에 대한 모션 벡터들을 취출할 수도 있다. 비디오 디코더 (30) 는 예측 블록을 취출하여 화상들의 블록을 디코딩하기 위해 변위 또는 모션 벡터들을 이용할 수도 있다. 일부 예들에서, 기초 계층의 감소된 해상도 화상들을 디코딩한 후, 비디오 디코더 (30) 는 디코딩된 화상들을 향상 계층 화상들과 동일한 해상도로 업샘플링할 수도 있다.
모션 보상 유닛 (132) 은 예측 데이터를 엔트로피 디코딩 유닛 (130) 으로부터 수신된 모션 벡터들에 기초하여 발생할 수도 있다. 모션 보상 유닛 (132) 은 예측 블록을 참조 프레임 스토어 (142) 내 참조 프레임들에서 식별하기 위해 비트스트림으로 수신된 모션 벡터들을 이용할 수도 있다. 인트라 예측 유닛 (134) 은 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해 비트스트림으로 수신된 인트라 예측 모드들을 이용할 수도 있다. 역양자화 유닛 (136) 은 비트스트림으로 제공되어 엔트로피 디코딩 유닛 (130) 에 의해 디코딩된 양자화되는 블록 계수들을 역양자화한다, 즉, 양자화 해제한다. 역양자화 프로세스는 예컨대, H.264 디코딩 표준에 의해 정의되는 바와 같은 종래의 프로세스를 포함할 수도 있다. 역양자화 프로세스는 또한 양자화의 정도, 및 이와 유사하게, 적용되어야 하는 역양자화의 정도를 결정하기 위해, 각각의 매크로블록에 대해 인코더 (20) 에 의해 계산된 양자화 파라미터 QPY 의 사용을 포함할 수도 있다.
역변환 유닛 (58) 은 픽셀 도메인에서 잔여 블록들을 발생하기 위해 역변환, 예컨대, 역 DCT, 역 정수 변환, 또는 개념적으로 유사한 역변환 프로세스를, 변환 계수들에 적용한다. 모션 보상 유닛 (132) 은 모션 보상되는 블록들을 발생하며, 될 수 있는 대로, 내삽 필터들에 기초하여 내삽을 수행한다. 서브-픽셀 정밀도를 가진 모션 추정에 사용되는 내삽 필터들에 대한 식별자들이 구문 엘리먼트들에 포함될 수도 있다. 모션 보상 유닛 (132) 은 참조 블록의 서브-정수 픽셀들에 대해 내삽된 값들을 계산하기 위해, 비디오 블록의 인코딩 동안 비디오 인코더 (20) 에 의해 사용될 때 내삽 필터들을 사용할 수도 있다. 모션 보상 유닛 (132) 은 비디오 인코더 (20) 에 의해 사용되는 내삽 필터들을 수신된 구문 정보에 따라서 결정하고 예측 블록들을 발생하기 위해 내삽 필터들을 이용할 수도 있다.
모션 보상 유닛 (132) 은 인코딩된 비디오 시퀀스의 프레임(들) 을 인코딩하는데 사용되는 매크로블록들의 사이즈들, 어떻게 인코딩된 비디오 시퀀스의 프레임의 각각의 매크로블록이 파티션되는지를 기술하는 파티션 정보, 어떻게 각각의 파티션이 인코딩되는지를 나타내는 모드들, 각각의 인터-인코딩된 매크로블록 또는 파티션에 대한 하나 이상의 참조 프레임들 (또는 리스트들), 및 인코딩된 비디오 시퀀스를 디코딩하는 다른 정보를 결정하기 위해, 구문 정보의 일부를 이용한다.
합산기 (140) 는 디코딩된 블록들을 형성하기 위해 잔여 블록들을 모션 보상 유닛 (132) 또는 인트라-예측 유닛에 의해 발생된 대응하는 예측 블록들과 합산한다. 원할 경우, 디블로킹 필터가 또한 블록킹 현상 아티팩트들을 제거하기 위해 디코딩된 블록들을 필터링하는데 적용될 수도 있다. 이후, 디코딩된 비디오 블록들은 참조 프레임 스토어 (142) 에 저장되며, 참조 프레임 스토어 (142) 는 후속 모션 보상을 위해 참조 블록들을 제공하며 또한 (도 1 의 디스플레이 디바이스 (32) 와 같은) 디스플레이 디바이스 상에의 프리젠테이션을 위해 디코딩된 비디오를 발생한다.
본 개시물의 일부 양태들에 따르면, 비디오 디코더 (30) 는 각각의 계층에 대해 개별적으로, 디코딩된 화상들, 예컨대, 참조 프레임 스토어 (142) 에 저장된 디코딩된 화상들을 관리할 수도 있다. 일부 예들에서, 비디오 디코더 (30) 는 디코딩된 화상들을 H.264/AVC 사양에 따라서 각각의 계층에 대해 개별적으로 관리한다. 비디오 디코더 (30) 는 비디오 디코더 (30) 가 대응하는 향상 계층을 디코딩한 후, 임의의 업샘플링된 디코딩된 화상들, 예컨대, 기초 계층으로부터의 디코딩된 화상들을 제거하고 향상 계층 예측 목적들을 위해 업샘플링될 수도 있다.
일 예에서, 비디오 디코더 (30) 는 좌측 눈 뷰 및 우측 눈 뷰의 감소된 해상도 화상들을 포함하는 기초 계층 뿐만 아니라, 기초 프레임의 좌측 눈 뷰의 풀 해상도 화상들을 포함하는 제 1 향상 계층을 갖는 인코딩된 스케일러블 멀티-뷰 비트스트림을 수신할 수도 있다. 이 예에서, 비디오 디코더 (30) 는 제 1 향상 계층을 인터-계층 예측하기 위해 기초 계층에 포함된 좌측 눈 뷰의 감소된 해상도 화상들을 디코딩하고 그 감소된 해상도 화상들을 업샘플링할 수도 있다. 즉, 비디오 디코더 (30) 는 제 1 향상 계층을 디코딩하기 전에 기초 계층의 감소된 해상도 화상들을 업샘플링할 수도 있다. 이후, 제 1 향상 계층을 디코딩하자 마자, 비디오 디코더 (30) 는 (예컨대, 기초 계층으로부터의) 좌측 눈 뷰의 업샘플링된 화상들을 참조 프레임 스토어 (142) 로부터 제거할 수도 있다.
비디오 디코더 (30) 는 디코딩된 화상들을 수신된 플래그들에 따라서 관리하도록 구성될 수도 있다. 예를 들어, 어떤 플래그들에, 어느 기초 계층의 화상들이 예측 목적들을 위해 업샘플링될 필요가 있는지를 식별하는, 수신된 인코딩된 비디오 데이터가 제공될 수도 있다. 일 예에 따르면, 비디오 디코더 (30) 가 일 ("1") 인 inter_view_frame_0_flag, inter_layer_frame_0_flag, 또는 inter_component_frame_0_flag 를 수신하면, 비디오 디코더 (30) 는 프레임 0 부분, 즉, 뷰 0 에 대응하는 기초 계층의 부분이 업샘플링되어야 한다고 식별할 수도 있다. 한편, 비디오 디코더가 일 ("1") 인 inter_view_frame_1_flag, inter_layer_frame_1_flag, 또는 inter_component_frame_1_flag 를 수신하면, 비디오 디코더 (30) 는 프레임 1 부분, 즉, 뷰 1 에 대응하는 기초 계층의 부분이 업샘플링되어야 한다고 식별할 수 있다.
본 개시물의 일부 양태들에 따르면, 비디오 디코더 (30) 는 서브-비트스트림들을 추출하여 디코딩하도록 구성될 수도 있다. 즉, 예를 들어, 비디오 디코더 (30) 는 스케일러블 멀티-뷰 비트스트림을 다양한 동작 포인트들을 이용하여 디코딩할 수도 있다 (30). 일부 예들에서, 비디오 디코더 (30) 는 기초 계층에 대응하는 (예컨대, H.264/AVC 사양에 따라서 패킹된) 프레임 패킹된 서브-비트스트림을 추출할 수도 있다. 비디오 디코더 (30) 는 또한 단일-뷰 동작 포인트를 디코딩할 수도 있다. 비디오 디코더 (30) 는 또한 비대칭적인 동작 포인트를 디코딩할 수도 있다.
디코더 (30) 는 도 2a 및 도 2b 에 나타낸 비디오 인코더 (20) 와 같은 인코더로부터 동작 포인트를 식별하는 구문 또는 명령들을 수신할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 변수 twoFullViewsFlag (존재하는 경우), 변수 twoHalfViewsFlag (존재하는 경우), 변수 tIdTarget (존재하는 경우), 및 변수 LeftViewFlag (존재하는 경우) 를 수신할 수도 있다. 이 예에서, 비디오 디코더 (30) 는 서브-비트스트림을 유도하기 위해 위에서 설명한 입력 변수들을 이용하여, 다음 동작들을 적용할 수도 있다:
1. 뷰 0, 1 및 2 를 목표 뷰로 마크한다.
2. twoFullViewsFlag 가 거짓일 때
a. 양자의 LeftViewFlag 및 left_view_enhance_first 가 1 또는 0 이면 ( (LeftViewFlag+left_view_enhance_first) %2 ==0), 뷰 2 를 비-목표 뷰로서 마크한다;
b. 그렇지 않으면, (LeftViewFlag+left_view_enhance_first) %2 = =1),
i. full_left_right_dependent_flag 가 1 이면, 뷰 1 을 비-목표 뷰로서 마크한다.
3. 모든 VCL NAL 유닛들을 마크하고, 다음 조건들의 임의의 조건이 참 인 데이터 NAL 유닛들을 "비트스트림으로부터 제거되는" 것으로서 필터링한 다:
a. temporal_id 가 tIdTarget 보다 더 크다,
b. nal_ref_idc 가 0 이고 inter_component_flag 가 0 이고 (또 는, 모든 다음 플래그들이 0 이다: inter_view_frame_0_flag, inter_view_frame_1_flag, inter_layer_frame_0_flag, inter_layer_frame_1_flag, inter_view_flag, 및 inter_layer_flag).
c. (2-second_view_flag) 인 view_id 를 가진 뷰는 비-목표 뷰이 다.
4. 모든 VCL NAL 유닛들이 "비트스트림으로부터 제거되는" 것으로서 마크되는 모든 액세스 유닛들을 제거한다.
5. 모든 VCL NAL 유닛들을 제거하고 "비트스트림으로부터 제거되는" 것으로서 마크되는 데이터 NAL 유닛들을 필터링한다.
6. twoHalfViewsFlag 가 1 일 때, 다음 NAL 유닛들을 제거한다:
a. nal_unit_type 을 가진 모든 NAL 유닛들은 NEWTYPE1 또는 NEWTYPE2 이다.
b. 모든 NAL 유닛들은 그것과 함께, (어쩌면, 새로운 유형을 가 진) SPS mfc 확장판 및 (상이한 SEI 유형들을 가진) 이 수정안에 정 의된 SEI 메시지들을 포함한다.
이 예에서, twoFullViewsFlag 가 이 하위 항에 대한 입력으로서 존재하지 않을 때, twoFullViewsFlag 는 1 인 것으로 추정된다. twoHalfViewsFlag 가 이 하위 항에 대한 입력으로서 존재하지 않을 때, twoHalfViewsFlag 가 0 인 것으로 추정된다. tIdTarget 가 이 하위 항에 대한 입력으로서 존재하지 않을 때, tIdTarget 는 7 인 것으로 추정된다. LeftViewFlag 가 이 하위 항의 입력으로서 존재하지 않을 때, LeftViewFlag 는 참인 것으로 추정된다.
비디오 디코더 (30) 에 대해 설명하지만, 다른 예들에서, 서브-비트스트림 추출은 또 다른 디바이스 또는 목적지 디바이스 (예컨대, 도 1 에 나타낸 목적지 디바이스 (14)) 의 구성요소에 의해 수행될 수도 있다. 예를 들어, 본 개시물의 일부 양태들에 따르면, 서브-비트스트림들은 속성들로서, 예컨대, 비디오 서비스의 매니페스트 (manifest) 의 부분으로서 포함되는 속성들로서 식별될 수도 있다. 이 예에서, 매니페스트는 클라이언트가 동작 포인트를 선택하기 위해 속성들을 이용할 수 있도록, 클라이언트 (예컨대, 목적지 디바이스 (14)) 가 임의의 특정의 비디오 표현을 플레이하기 시작하기 전에, 송신될 수도 있다. 즉, 클라이언트는 기초 계층 단독, 기초 계층과 하나의 향상 계층, 또는 기초 계층과 양자의 향상 계층들을 수신하도록 선택할 수도 있다.
도 4 는 좌측 눈 뷰 화상 (180) 및 우측 눈 뷰 화상 (182) 에 대응하는 감소된 해상도 화상들을 갖는 기초 계층 (184) 의 패킹된 프레임 ("기초 계층 프레임 (184)") 을 형성하기 위해, 비디오 인코더 (20) 에 의해 결합되는 좌측 눈 뷰 화상 (180) 및 우측 눈 뷰 화상 (182) 을 도시하는 개념도이다. 비디오 인코더 (20) 는 또한 좌측 눈 뷰 화상 (180) 에 대응하는 향상 계층 (186) 의 프레임 ("향상 계층 프레임 (186)") 을 형성한다. 이 예에서, 비디오 인코더 (20) 는 장면의 좌측 눈 뷰의 미가공 비디오 데이터를 포함한 화상 (180), 및 장면의 우측 눈 뷰의 미가공 비디오 데이터를 포함한 화상 (182) 을 수신한다. 좌측 눈 뷰는 뷰 0 에 대응할 수도 있으며, 반면, 우측 눈 뷰는 뷰 1 에 대응할 수도 있다. 화상들 (180, 182) 은 동일한 시간 인스턴스의 2개의 화상들에 대응할 수도 있다. 예를 들어, 화상들 (180, 182) 은 카메라들에 의해 실질적으로 동일한 시간에 캡처되었을 수도 있다.
도 4 의 예에서, 화상 (180) 의 샘플들 (예컨대, 픽셀들) 은 X 들로 표시되며, 반면 화상 (182) 의 샘플들은 O 들로 표시된다. 나타낸 바와 같이, 비디오 인코더 (20) 는 화상 (180) 을 다운샘플링하고, 화상 (182) 을 다운샘플링하고, 화상들을 결합하여 기초 계층 프레임 (184) 을 형성할 수도 있으며, 이것을 비디오 인코더 (20) 는 인코딩할 수도 있다. 이 예에서, 비디오 인코더 (20) 는 기초 계층 프레임 (184) 에서 다운샘플링된 화상 (180) 및 다운샘플링된 화상 (182) 을 사이드-바이-사이드 배열로 배열한다. 화상들 (180 및 182) 를 다운샘플링하고 사이드-바이-사이드 기초 계층 프레임 (184) 에서 다운샘플링된 화상을 배열하기 위해, 비디오 인코더 (20) 는 각각의 화상 (180 및 182) 의 교번하는 칼럼들을 데시메이트 (decimate) 할 수도 있다. 또 다른 예로서, 비디오 인코더 (20) 는 화상들 (180 및 182) 의 다운샘플링된 버전들을 발생하기 위해 화상들 (180 및 182) 의 교번하는 칼럼들을 전체적으로 제거할 수도 있다.
다른 예들에서, 그러나, 비디오 인코더 (20) 는 다운샘플링된 화상 (180) 및 다운샘플링된 화상 (182) 을 다른 배열들로 패킹할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 화상들 (180 및 182) 의 교번하는 칼럼들을 데시메이트할 수도 있다. 또 다른 예에서, 비디오 인코더 (20) 는 화상들 (180 및 182) 의 로우들을 데시메이트하거나 또는 제거하고, 다운샘플링된 화상들을 탑-바텀 또는 교번하는 배열로 배열할 수도 있다. 또한 또 다른 예에서, 비디오 인코더 (20) 는 샘플 화상들 (180 및 182) 을 오점형 (체커보드) 으로 형성하고 샘플들을 기초 계층 프레임 (184) 에 배열할 수도 있다.
기초 계층 프레임 (184) 에 더하여, 비디오 인코더 (20) 는 기초 계층 프레임 (184) 의 좌측 눈 뷰 (예컨대, 뷰 0) 의 화상에 대응하는 풀 해상도 향상 계층 프레임 (186) 을 인코딩할 수도 있다. 본 개시물의 일부 양태들에 따르면, 비디오 인코더 (20) 는 향상 계층 프레임 (186) 을, 앞에서 설명한 바와 같이, 인터-계층 예측 (파선 188 로 표시됨) 을 이용하여, 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 향상 계층 프레임 (186) 을 인터-계층 텍스처 예측과 함께 인터-계층 예측, 또는 인터-계층 모션 예측과 함께 인터-계층 예측을 이용하여 인코딩할 수도 있다. 추가적으로 또는 이의 대안으로, 비디오 인코더 (20) 는 향상 계층 프레임 (186) 을, 앞에서 설명한 바와 같이, 인터-뷰 예측 (파선 190 으로 표시됨) 을 이용하여, 인코딩할 수도 있다.
도 4 의 예시에서, 기초 계층 프레임 (184) 은 화상 (180) 으로부터의 데이터에 대응하는 X 들 및 화상 (182) 로부터의 데이터에 대응하는 O 들을 포함한다. 그러나, 화상들 (180 및 182) 에 대응하는 기초 계층 프레임 (184) 의 데이터가 다운샘플링에 뒤이어서, 화상들 (180 및 182) 의 데이터와 반드시 정확히 정렬될 필요는 없을 것이다라고 이해되어야 한다. 이와 유사하게, 인코딩 이후, 기초 계층 프레임 (184) 에서 화상들의 데이터는 화상들 (180, 182) 의 데이터와는 상이할 가능성이 있다. 따라서, 기초 계층 프레임 (184) 에서 하나의 X 또는 O 의 데이터가 화상들 (180, 182) 에서 대응하는 X 또는 O 와 반드시 동일하거나, 또는 기초 계층 프레임 (184) 에서 X 또는 O 가 화상들 (180, 182) 에서 X 또는 O 와 동일한 해상도인 것으로 가정해야 한다.
도 5 는 기초 계층 (184) 의 프레임 ("기초 계층 프레임 (184)") 및 우측 눈 뷰 화상 (182) 에 대응하는 향상 계층 (192) 의 프레임 ("향상 계층 프레임 (192)") 을 형성하기 위해 비디오 인코더 (20) 에 의해 결합된 좌측 눈 뷰 화상 (180) 및 우측 눈 뷰 화상 (182) 을 도시하는 개념도이다. 이 예에서, 비디오 인코더 (20) 는 장면의 좌측 눈 뷰의 미가공 비디오 데이터를 포함한 화상 (180), 및 장면의 우측 눈 뷰의 미가공 비디오 데이터를 포함한 화상 (182) 을 수신한다. 좌측 눈 뷰는 뷰 0 에 대응할 수도 있으며, 반면, 우측 눈 뷰는 뷰 1 에 대응할 수도 있다. 화상들 (180, 182) 은 동일한 시간 인스턴스의 2개의 화상들에 대응할 수도 있다. 예를 들어, 화상들 (180, 182) 은 카메라들에 의해 실질적으로 동일한 시간에 캡처되었을 수도 있다.
도 4 에 나타낸 예와 유사하게, 도 5 에 나타낸 예는 X 들로 나타낸 화상 (180) 의 샘플들 (예컨대, 픽셀들), 및 O 들로 나타낸 화상 (182) 의 샘플들을 포함한다. 나타낸 바와 같이, 비디오 인코더 (20) 는 도 4 에 나타낸 방법과 동일한 방법으로 기초 계층 프레임 (184) 을 형성하기 위해 화상 (180) 을 다운샘플링하여 인코딩하고, 화상 (182) 을 다운샘플링하여 인코딩하고, 그리고 화상들을 결합할 수도 있다.
기초 계층 프레임 (184) 에 더하여, 비디오 인코더 (20) 는 기초 계층 (184) 의 우측 눈 뷰의 화상 (예컨대, 뷰 1) 에 대응하는 풀 해상도 향상 계층 프레임 (192) 을 인코딩할 수도 있다. 본 개시물의 일부 양태들에 따르면, 비디오 인코더 (20) 는 향상 계층 프레임 (192) 을, 앞에서 설명한 바와 같이, 인터-계층 예측 (파선 188 로 표시됨) 을 이용하여 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 향상 계층 프레임 (192) 을 인터-계층 텍스처 예측과 함께 인터-계층 예측을 이용하거나, 또는 인터-계층 모션 예측과 함께 인터-계층 예측을 이용하여 인코딩할 수도 있다. 추가적으로 또는 이의 대안으로, 비디오 인코더 (20) 는 향상 계층 프레임 (192) 을, 앞에서 설명한 바와 같이, 인터-뷰 예측 (파선 190 으로 표시됨) 을 이용하여 인코딩할 수도 있다.
도 6 은 기초 계층 (184) 의 프레임 ("기초 계층 프레임 (184)), 좌측 눈 뷰 (180) 의 풀 해상도 화상을 포함하는 제 1 향상 계층의 프레임 ("제 1 향상 계층 프레임 (186)"), 및 우측 눈 뷰 (182) 의 풀 해상도 화상을 포함하는 제 2 향상 계층의 프레임 ("제 2 향상 계층 프레임 (192)") 을 형성하기 위해 비디오 인코더 (20) 에 의해 결합된 좌측 눈 뷰 화상 (180) 과 우측 눈 뷰 화상 (182) 을 도시하는 개념도이다. 이 예에서, 비디오 인코더 (20) 는 장면의 좌측 눈 뷰의 미가공 비디오 데이터를 포함한 화상 (180), 및 장면의 우측 눈 뷰의 미가공 비디오 데이터를 포함한 화상 (182) 을 수신한다. 좌측 눈 뷰는 뷰 0 에 대응할 수도 있으며, 반면, 우측 눈 뷰는 뷰 1 에 대응할 수도 있다. 화상들 (180, 182) 은 동일한 시간 인스턴스의 2개의 화상들에 대응할 수도 있다. 예를 들어, 화상들 (180, 182) 은 카메라들에 의해 실질적으로 동일한 시간에 캡처되었을 수도 있다.
도 4 및 도 5 에 나타낸 예들과 유사하게, 도 6 에 나타낸 예는 X 들로 나타낸 화상 (180) 의 샘플들 (예컨대, 픽셀들) 및 O 들로 나타낸 화상 (182) 의 샘플들을 포함한다. 나타낸 바와 같이, 비디오 인코더 (20) 는 기초 계층 프레임 (184) 을 도 4 및 도 5 에 나타낸 방법과 동일한 방법으로 형성하기 위해 화상 (180) 을 다운샘플링하여 인코딩하고, 화상 (182) 을 다운샘플링하여 인코딩하고, 그리고 화상들을 결합할 수도 있다.
기초 계층 프레임 (184) 에 더하여, 비디오 인코더 (20) 는 기초 계층 프레임 (184) 의 좌측 눈 뷰 화상 (예컨대, 뷰 0) 에 대응하는 제 1 향상 계층 프레임 (186) 을 인코딩할 수도 있다. 비디오 인코더 (20) 는 또한 기초 계층 프레임 (184) 의 우측 눈 뷰 화상 (예컨대, 뷰 1) 에 대응하는 제 2 향상 계층 프레임 (192) 을 인코딩할 수도 있다. 향상 계층 프레임들의 순서는, 그러나, 단지 일 예로서 제공된다. 즉, 다른 예들에서, 비디오 인코더 (20) 는 기초 계층 프레임 (184) 의 우측 눈 뷰의 화상에 대응하는 제 1 향상 계층 프레임, 및 기초 계층 프레임 (184) 의 좌측 눈 뷰의 화상에 대응하는 제 2 향상 계층 프레임을 인코딩할 수도 있다.
도 6 에 나타낸 예에서, 비디오 인코더 (20) 는 제 1 향상 계층 프레임 (186) 을, 앞에서 설명한 바와 같이, 기초 계층 프레임 (184) 에 기초한 인터-계층 예측 (파선 188 로 표시됨) 을 이용하여 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 제 1 향상 계층 프레임 (186) 을 기초 계층 프레임 (184) 에 기초한, 인터-계층 텍스처 예측과 함께 인터-계층 예측을 이용하거나, 또는 인터-계층 모션 예측과 함께 인터-계층 예측을 이용하여 인코딩할 수도 있다. 추가적으로 또는 이의 대안으로, 비디오 인코더 (20) 는 제 1 향상 계층 프레임 (186) 을, 앞에서 설명한 바와 같이, 기초 계층 프레임 (184) 에 기초한 인터-뷰 예측 (파선 190 으로 표시됨) 을 이용하여 인코딩할 수도 있다.
비디오 인코더 (20) 는 또한 제 2 향상 계층 프레임 (192) 을 위에서 설명한 바와 같이, 기초 계층 프레임 (184) 에 기초한 인터-계층 예측 (파선 194 로 표시됨) 을 이용하여 인코딩할 수도 있다. 즉, 비디오 인코더 (20) 는 기초 계층 프레임 (184) 에 기초한 인터-계층 텍스처 예측과 함께 인터-계층 예측, 또는 인터-계층 모션 예측과 함께 인터-계층 예측을 이용하여 제 2 향상 계층 프레임 (192) 을 인코딩할 수도 있다.
추가적으로 또는 이의 대안으로, 비디오 인코더 (20) 는 제 2 향상 계층 프레임 (192) 을 제 1 향상 계층 프레임 (186) 에 기초한 인터-뷰 예측 (파선 190 으로 표시됨) 을 이용하여 인코딩할 수도 있다.
본 개시물의 양태들에 따르면, 각각의 계층, 즉, 기초 계층 (184), 제 1 향상 계층 (186), 및 제 2 향상 계층 (192) 에 전용된 멀티-뷰 스케일러블 비트스트림의 대역폭의 양은 계층의 의존성들에 따라서 변할 수도 있다. 예를 들어, 일반적으로, 비디오 인코더 (20) 는 스케일러블 멀티-뷰 비트스트림의 대역폭의 50% 내지 60% 를 기초 계층 (184) 에 할당할 수도 있다. 즉, 기초 계층 (184) 과 연관되는 데이터는 비트스트림에 전용되는 전체 데이터의 50% 내지 60% 를 구성한다. 제 1 향상 계층 (186) 및 제 2 향상 계층 (192) 이 서로 의존하지 않으면 (예컨대, 제 2 향상 계층 (192) 이 예측 목적들을 위해 제 1 향상 계층 (186) 을 이용하지 않으면), 비디오 인코더 (20) 는 나머지 대역폭의 거의 동일한 양들을 각각의 향상 계층들 (186, 192) 의 각각에 할당할 수도 있다 (예컨대, 각각의 향상 계층 (186, 192) 각각에 대해 대역폭의 25% 내지 20%). 이의 대안으로, 제 2 향상 계층 (192) 이 제 1 향상 계층 (186) 으로부터 예측되면, 비디오 인코더 (20) 는 비교적 더 큰 양의 대역폭을 제 1 향상 계층 (186) 에 할당할 수도 있다. 즉, 비디오 인코더 (20) 는 대역폭의 거의 25% 내지 30% 퍼센트를 제 1 향상 계층 (186) 에, 그리고, 대역폭의 거의 15% 내지 20% 를 제 2 향상 계층 (192) 에 할당할 수도 있다.
도 7 은 2개의 상이한 뷰들의 2개의 감소된 해상도 화상들을 갖는 기초 계층 뿐만 아니라, 제 1 향상 계층 및 제 2 향상 계층을 포함하는 스케일러블 멀티-뷰 비트스트림을 형성하여 인코딩하는 예시적인 방법 (200) 을 도시하는 플로우차트이다. 도 1, 도 2a 및 도 2b 의 예시적인 구성요소들에 대해 일반적으로 설명되지만, 다른 인코더들, 인코딩 유닛들, 및 인코딩 디바이스들이 도 7 의 방법을 수행하도록 구성될 수도 있는 것으로 해석되어야 한다. 더욱이, 도 7 의 방법의 단계들은 반드시 도 7 에 나타낸 순서로 수행될 필요는 없으며, 더 적거나, 추가적이나, 또는 대안적인 단계들이 수행될 수도 있다.
도 7 의 예에서, 비디오 인코더 (20) 는 먼저 좌측 눈 뷰, 예컨대, 뷰 0 의 화상을 수신한다 (202). 비디오 인코더 (20) 는 또한 2개의 수신된 화상들이 스테레오 이미지 쌍을 형성하도록, 우측 눈 뷰, 예컨대, 뷰 1 의 화상을 수신할 수도 있다 (204). 좌측 눈 뷰 및 우측 눈 뷰는 또한 상보적 뷰 쌍으로도 지칭되는, 스테레오 뷰 쌍을 형성할 수도 있다. 우측 눈 뷰의 수신된 화상은 좌측 눈 뷰의 수신된 화상과 동일한 시간 로케이션에 대응할 수도 있다. 즉, 좌측 눈 뷰의 화상 및 우측 눈 뷰의 화상은 실질적으로 동일한 시간에 캡처되거나 또는 발생되었을 수도 있다. 이후, 비디오 인코더 (20) 는 좌측 눈 뷰 화상 및 우측 눈 뷰의 화상의 화상의 해상도를 감소시킬 수도 있다 (206). 일부 예들에서, 비디오 인코더 (20) 의 사전프로세싱 유닛은 그 화상들을 수신할 수도 있다. 일부 예들에서, 비디오 사전프로세싱 유닛은 비디오 인코더 (20) 외부에 있을 수도 있다.
도 7 의 예에서, 비디오 인코더 (20) 는 좌측 눈 뷰의 화상 및 우측 눈 뷰의 화상의 해상도를 감소시킨다 (206). 예를 들어, 비디오 인코더 (20) 는 수신된 좌측 눈 뷰 화상 및 우측 눈 뷰 화상을 (예컨대, 로우-방식, 칼럼-방식, 또는 오점형 (체커보드) 서브샘플링을 이용하여) 서브샘플링하고, 수신된 좌측 눈 뷰 화상 및 우측 눈 뷰 화상의 로우들 또는 칼럼들을 데시메이트하거나, 또는 아니면, 수신된 좌측 눈 뷰 화상 및 우측 눈 뷰 화상의 해상도를 감소시킬 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 좌측 눈 뷰의 대응하는 풀 해상도 화상의 폭의 절반 또는 높이의 절반을 갖는 2개의 감소된 해상도 화상들을 발생할 수도 있다. 비디오 프리프로세서를 포함하는 다른 예들에서, 비디오 프리프로세서는 우측 눈 뷰 화상의 해상도를 감소시키도록 구성될 수도 있다.
이후, 비디오 인코더 (20) 는 양자의 다운샘플링된 좌측 눈 뷰 화상 및 다운샘플링된 우측 눈 뷰 화상을 포함하는 기초 계층 프레임을 형성할 수도 있다 (208). 예를 들어, 비디오 인코더 (20) 는 사이드-바이-사이드 배열을 갖거나, 탑-바텀 배열을 갖거나, 우측 뷰 화상의 칼럼들과 인터리브된 좌측 뷰 화상의 칼럼들을 갖거나, 우측 뷰 화상의 로우들과 인터리브된 좌측 뷰 화상의 로우들을 갖거나, 또는 "체커보드" 유형 배열을 갖는 기초 계층 프레임을 형성할 수도 있다.
이후, 비디오 인코더 (20) 는 기초 계층 프레임을 인코딩할 수도 있다 (210). 본 개시물의 양태들에 따르면, 도 2a 및 도 2b 에 대해 설명한 바와 같이, 비디오 인코더 (20) 는 기초 계층의 화상들을 인트라- 또는 인터-코딩할 수도 있다. 기초 계층 프레임을 인코딩한 후, 비디오 인코더 (20) 는 이후 제 1 향상 계층 프레임을 인코딩할 수도 있다 (212). 도 7 에 나타낸 예에 따르면, 비디오 인코더 (20) 는 좌측 뷰 화상을 제 1 향상 계층 프레임으로서 인코딩하지만, 다른 예들에서, 비디오 인코더 (20) 는 우측 뷰 화상을 제 1 향상 계층 프레임으로서 인코딩할 수도 있다. 비디오 인코더 (20) 는 제 1 향상 계층 프레임을 인트라-, 인터-, 인터-계층 (예컨대, 인터-계층 텍스처 예측 또는 인터-계층 모션 예측), 또는 인터-뷰 코딩할 수도 있다. 비디오 인코더 (20) 는 기초 계층의 대응하는 감소된 해상도 화상 (예컨대, 좌측 눈 뷰의 화상) 을 예측 목적들을 위한 참조로서 이용할 수도 있다. 비디오 인코더 (20) 가 제 1 향상 계층 프레임을 인터-계층 예측을 이용하여 인코딩하면, 비디오 인코더 (20) 는 예측 목적들을 위해 먼저 기초 계층 프레임의 좌측 눈 뷰 화상을 업샘플링할 수도 있다. 이의 대안으로, 비디오 인코더 (20) 가 제 1 향상 계층 프레임을 인터-뷰 예측을 이용하여 인코딩하면, 비디오 인코더 (20) 는 예측 목적들을 위해 먼저 기초 계층 프레임의 우측 눈 뷰 화상을 업샘플링할 수도 있다.
제 1 향상 계층 프레임을 인코딩한 후, 비디오 인코더 (20) 는 이후 제 2 향상 계층 프레임을 인코딩할 수도 있다 (214). 도 7 에 나타낸 예에 따르면, 비디오 인코더 (20) 는 우측 뷰 화상을 제 2 향상 계층 프레임으로서 인코딩하지만, 다른 예들에서, 비디오 인코더 (20) 는 좌측 뷰 화상을 제 2 향상 계층 프레임으로서 인코딩할 수도 있다. 제 1 향상 계층 프레임과 유사하게, 비디오 인코더 (20) 는 제 2 향상 계층 프레임을 인트라-, 인터-, 인터-계층 (예컨대, 인터-계층 텍스처 예측 또는 인터-계층 모션 예측), 또는 인터-뷰 코딩할 수도 있다. 비디오 인코더 (20) 는 기초 계층 프레임의 대응하는 화상 (예컨대, 우측 눈 뷰의 화상) 을 예측 목적들을 위한 참조로서 이용하여 제 2 향상 계층 프레임을 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 가 제 2 향상 계층 프레임을 인터-계층 예측을 이용하여 인코딩하면, 비디오 인코더 (20) 는 예측 목적들을 위해 먼저 기초 계층 프레임의 우측 눈 뷰 화상을 업샘플링할 수도 있다. 이의 대안으로, 비디오 인코더 (20) 가 제 2 향상 계층 프레임을 인터-뷰 예측을 이용하여 인코딩하면, 비디오 인코더 (20) 는 예측 목적들을 위해 먼저 기초 계층 프레임의 좌측 눈 뷰 화상을 업샘플링할 수도 있다.
본 개시물의 양태들에 따르면, 비디오 인코더 (20) 는 또한 (또는, 대안적으로) 제 2 향상 계층 프레임을 예측하기 위해 제 1 향상 계층 프레임을 이용할 수도 있다. 즉, 비디오 인코더는 예측 목적들을 위해 제 2 향상 계층 프레임을 제 1 향상 계층을 이용하여 인터-뷰 인코딩할 수도 있다.
비디오 인코더 (20) 는 이후 인코딩된 계층들을 출력할 수도 있다 (216). 즉, 비디오 인코더 (20) 는 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층으로부터의 프레임들을 포함하는 스케일러블 멀티-뷰 비트스트림을 출력할 수도 있다. 일부 예들에 따르면, 비디오 인코더 (20), 또는 비디오 인코더 (20) 에 커플링된 유닛은, 인코딩된 계층들을 컴퓨터 판독가능 저장 매체에 저장하거나, 인코딩된 계층들을 브로드캐스트하거나, 인코딩된 계층들을 네트워크 송신 또는 네트워크 브로드캐스트를 통해 송신하거나, 또는 아니면, 인코딩된 비디오 데이터를 제공할 수도 있다.
또한, 비디오 인코더 (20) 는 기초 계층 프레임의 프레임 패킹 배열, 및 계층들이 비트스트림의 각각의 프레임에 대해 제공되는 순서를 나타내는 정보를 반드시 제공할 필요는 없는 것으로 이해되어야 한다. 일부 예들에서, 비디오 인코더 (20) 는 정보의 단일 세트, 예컨대, SPS 및 SEI 메시지들을, 비트스트림의 각각의 프레임에 대해 이 정보를 나타내는 전체 비트스트림에 제공할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 정보를 주기적으로, 예컨대, 각각의 비디오 단편, 화상들 (GOP) 의 그룹, 비디오 세그먼트 뒤에, 어떤 개수의 프레임들마다, 또는 다른 주기적인 간격들로 제공할 수도 있다. 비디오 인코더 (20), 또는 비디오 인코더 (20) 와 연관되는 또 다른 유닛은, 또한 일부 예들에서는 요구시, 예컨대, SPS 또는 SEI 메시지에 대한 클라이언트 디바이스로부터의 요청 또는 비트스트림의 헤더 데이터에 대한 일반적인 요청에 응답하여, SPS 및 SEI 메시지들을 제공할 수도 있다.
도 8 은 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층을 갖는 스케일러블 멀티-뷰 비트스트림을 디코딩하는 예시적인 방법 (240) 을 도시하는 플로우차트이다. 도 1 및 도 3 의 예시적인 구성요소들에 대해 일반적으로 설명되지만, 다른 디코더들, 디코딩 유닛들, 및 디코딩 디바이스들이 도 8 의 방법을 수행하도록 구성될 수도 있는 것으로 이해되어야 한다. 더욱이, 도 8 의 방법의 단계들은 도 8 에 나타낸 순서로 반드시 수행될 필요는 없으며, 더 적거나, 추가적이거나, 또는 대안적인 단계들이 수행될 수도 있다.
먼저, 비디오 디코더 (30) 는 어떤 표현 (representation) 의 포텐셜 동작 포인트들의 표시를 수신할 수도 있다 (242). 즉, 비디오 디코더 (30) 는 어느 계층들이 스케일러블 멀티-뷰 비트스트림으로 제공되는지의 표시 뿐만 아니라, 계층들의 의존성들을 수신할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 인코딩된 비디오 데이터에 관한 정보를 제공하는 SPS, SEI, 및 NAL 메시지들을 수신할 수도 있다. 일부 예들에서, 비디오 디코더 (30) 는 인코딩된 계층들을 수신하기 전에, 비트스트림에 대한 SPS 메시지를 이전에 수신하였을 수도 있으며, 이 경우 비디오 디코더 (30) 는 인코딩된 계층들을 수신하기 전에 스케일러블 멀티-뷰 비트스트림의 계층들을 이미 결정하였을 수도 있다. 일부 예들에서, 송신 제한들, 예컨대, 송신 매체의 대역폭 제한 사항들 또는 제한들은, 어떤 동작 포인트들이 이용불가능하도록, 향상 계층들이 악화되거나 폐기되게 할 수도 있다.
비디오 디코더 (30) 를 포함하는 클라이언트 디바이스 (예컨대, 도 1 의 목적지 디바이스 (14)) 는 또한 그의 디코딩 및 렌더링 능력들을 결정할 수도 있다 (244). 일부 예들에서, 비디오 디코더 (30) 또는 비디오 디코더 (30) 가 설치되는 클라이언트 디바이스는 3차원 표현을 위한 화상들을 디코딩 또는 렌더링하는 능력을 갖지 않을 수도 있거나, 또는 디코딩 향상 계층들 중 하나 또는 양자에 대한 화상들을 디코딩하는 능력을 갖지 않을 수도 있다. 또한 다른 예들에서, 네트워크에서 대역폭 이용가능성 (bandwidth availability) 은 기초 계층 및 하나 또는 양자의 향상 계층들의 취출을 방해할 수도 있다. 따라서, 클라이언트 디바이스는 동작 포인트를 비디오 디코더 (30) 의 디코딩 능력들, 비디오 디코더 (30) 가 설치되는 클라이언트 디바이스의 렌더링 능력들, 및/또는 현재의 네트워크 조건들에 기초하여 선택할 수도 있다 (246). 일부 예들에서, 클라이언트 디바이스는 예컨대, 가용 대역폭이 증가할 때 (하나의 또는 양자의 향상 계층들과 같은) 더 많은 데이터를 취출하기 위해, 또는 가용 대역폭이 감소할 때 (향상 계층들 중 단지 하나 또는 전무와 같은) 더 적은 데이터를 취출하기 위해, 상이한 동작 포인트에 대한 네트워크 조건들 및 요청 데이터를 새로운 네트워크 조건들에 기초하여 재평가하도록 구성될 수도 있다.
동작 포인트를 선택한 후, 비디오 디코더 (30) 는 스케일러블 멀티-뷰 비트스트림의 기초 계층을 디코딩할 수도 있다 (248). 예를 들어, 비디오 디코더 (30) 는 기초 계층의 좌측 눈 뷰의 화상 및 우측 눈 뷰의 화상을 디코딩하고, 그 디코딩된 화상들을 분리하고, 그리고 화상들을 풀 해상도로 업샘플링할 수도 있다. 일부 예들에 따르면, 비디오 디코더 (30) 는 먼저 기초 계층의 좌측 눈 뷰의 화상들 후, 기초 계층의 우측 눈 뷰의 화상들을 디코딩할 수도 있다. 비디오 디코더 (30) 가 디코딩된 기초 계층을 구성 화상들, 예컨대, 좌측 눈 뷰의 화상 및 우측 눈 뷰의 화상으로 분리한 후, 비디오 디코더 (30) 는 향상 계층들을 디코딩하는 참조를 위해 좌측 눈 뷰 화상 및 우측 눈 뷰 화상의 복사본을 저장할 수도 있다. 게다가, 기초 계층의 좌측 눈 뷰 화상 및 우측 눈 뷰 화상은 둘다 감소된 해상도 화상들일 수도 있다. 따라서, 비디오 디코더 (30) 는 좌측 눈 뷰 화상 및 우측 눈 뷰 화상의 풀 해상도 버전들을 형성하기 위해 예컨대, 손실 정보를 내삽함으로써 좌측 눈 뷰 화상 및 우측 눈 뷰 화상을 업샘플링할 수도 있다.
일부 예들에서, 비디오 디코더 (30) 또는 비디오 디코더 (30) 가 설치된 디바이스 (예컨대, 도 1 에 나타낸 목적지 디바이스 (14)) 는 향상 계층들 중 하나 또는 양자를 디코딩하는 능력을 갖지 않을 수도 있다. 다른 예들에서, 송신 제한들, 예컨대, 송신 매체의 대역폭 제한 사항들 또는 제한들은, 향상 계층들이 악화되거나 또는 폐기되도록 할 수도 있다. 다른 예들에서, 비디오 디스플레이 (32) 는 2개의 뷰들을 제시하는 능력을 갖지 않을 수도 있으며, 예컨대, 3-D 불가능할 수도 있다. 따라서, 도 8 에 나타낸 예에서, 비디오 디코더 (30) 는 (단계 246 의) 선택된 동작 포인트가 제 1 향상 계층을 디코딩하는 것을 포함하는지 여부를 결정한다 (250).
비디오 디코더 (30) 가 제 1 향상 계층을 디코딩하지 않거나, 또는 제 1 향상 계층이 비트스트림에 더 이상 존재하지 않으면, 비디오 디코더 (30) 는 기초 계층의 좌측 및 우측 눈 뷰 화상들을 업샘플링하고 (예컨대, 내삽하고) 좌측 눈 뷰 및 우측 눈 뷰 화상들의 업샘플링된 표현들을 비디오 디스플레이 (32) 로 전송할 수도 있으며, 그 비디오 디스플레이는 좌측 및 우측 눈 뷰 화상들을 동시에 또는 거의 동시에 디스플레이할 수도 있다 (252). 또 다른 예에서, 비디오 디스플레이 (32) 가 스테레오 (예컨대, 3D) 콘텐츠를 디스플레이하는 것이 불가능하면, 비디오 디코더 (30) 또는 비디오 디스플레이 (32) 는 디스플레이 이전에 좌측 눈 뷰 화상들 또는 우측 눈 뷰 화상들을 폐기할 수도 있다.
비디오 디코더 (30) 는 그러나, 제 1 향상 계층을 디코딩할 수도 있다 (254). 위에서 도 3 에 대해 설명한 바와 같이, 비디오 디코더 (30) 는 제 1 향상 계층을 디코딩하는데 비디오 디코더 (30) 를 돕기 위해 구문을 수신할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 인트라-, 인터-, 인터-계층 (예컨대, 텍스처 또는 모션), 또는 인터-뷰 예측이 제 1 향상 계층을 인코딩하는데 사용되었는지 여부를 결정할 수도 있다. 비디오 디코더 (30) 는 이후 이에 따라서 제 1 향상 계층을 디코딩할 수도 있다. 본 개시물의 일부 양태들에 따르면, 비디오 디코더 (30) 는 제 1 향상 계층을 디코딩하기 전에 기초 계층의 대응하는 화상을 업샘플링할 수도 있다.
위에서 설명한 바와 같이, 비디오 디코더 (30) 또는 비디오 디코더 (30) 가 설치된 디바이스는 디코딩 향상 계층들의 양자를 디코딩하는 능력을 갖지 않을 수도 있거나, 또는 송신 제한들이 제 2 향상 계층이 악화되게 하거나 또는 폐기되도록 할 수도 있다. 따라서, 제 1 향상 계층을 디코딩한 후, 비디오 디코더 (30) 는 선택된 동작 포인트 (단계 246) 가 제 2 향상 계층을 디코딩하는 것을 포함하는지 여부를 결정한다 (256).
비디오 디코더 (30) 가 제 2 향상 계층을 디코딩하지 않거나, 또는 제 2 향상 계층이 비트스트림에 더 이상 존재하지 않으면, 비디오 디코더 (30) 는 제 1 향상 계층과 연관되지 않는 기초 계층의 화상들을 폐기하고, 제 1 향상 계층과 연관되는 화상들을 디스플레이 (32) 로 전송할 수도 있다 (258). 즉, 스테레오 콘텐츠를 디스플레이할 수 없는 비디오 디스플레이 (32) 에 대해, 비디오 디코더 (30) 또는 비디오 디스플레이 (32) 는 디스플레이 전에 제 1 향상 계층과 연관되지 않는 기초 계층의 화상들을 폐기할 수도 있다. 예를 들어, 제 1 향상 계층이 풀 해상도 좌측 눈 뷰 화상들을 포함하면, 비디오 디코더 (30) 또는 디스플레이 (32) 는 디스플레이 전에 기초 계층의 우측 눈 뷰 화상들을 폐기할 수도 있다. 이의 대안으로, 제 1 향상 계층이 풀 해상도 우측 눈 뷰 화상들을 포함하면, 비디오 디코더 (30) 또는 디스플레이 (32) 는 디스플레이 전에 기초 계층의 좌측 눈 뷰 화상들을 폐기할 수도 있다.
또 다른 예에서, 비디오 디코더 (20) 가 제 2 향상 계층을 디코딩하지 않거나, 또는 제 2 향상 계층이 비트스트림에 더 이상 존재하지 않으면, 비디오 디코더 (30) 는 (예컨대, 기초 계층으로부터의) 하나의 업샘플링된 화상 및 (예컨대, 향상 계층으로부터의) 하나의 풀 해상도 화상을 디스플레이 (32) 로 전송할 수도 있으며, 그 디스플레이는 좌측 및 우측 눈 뷰 화상들을 동시에 또는 거의 동시에 디스플레이할 수도 있다. 즉, 제 1 향상 계층이 좌측 뷰 화상에 대응하면, 비디오 디코더 (30) 는 제 1 향상 계층으로부터의 풀 해상도 좌측 뷰 화상 및 기초 계층으로부터의 업샘플링된 우측 뷰 화상을 디스플레이 (32) 로 전송할 수도 있다. 이의 대안으로, 제 1 향상 계층이 우측 뷰 화상에 대응하면, 비디오 디코더 (30) 는 제 1 향상 계층으로부터의 풀 해상도 우측 뷰 화상 및 기초 계층으로부터의 업샘플링된 좌측 뷰 화상을 디스플레이 (32) 로 전송할 수도 있다. 디스플레이 (32) 는 하나의 풀 해상도 화상 및 하나의 업샘플링된 화상을 동시에 또는 거의 동시에 제시할 수도 있다.
비디오 디코더 (30) 는 그러나, 제 2 향상 계층을 디코딩할 수도 있다 (260). 위에서 도 3 에 대해 설명한 바와 같이, 비디오 디코더 (30) 는 제 2 향상 계층을 디코딩하는데 비디오 디코더 (30) 를 돕기 위해 구문을 수신할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 인트라-, 인터-, 인터-계층 (예컨대, 텍스처 또는 모션), 또는 인터-뷰 예측이 제 2 향상 계층을 인코딩하는데 사용되었는지 여부를 결정할 수도 있다. 비디오 디코더 (30) 는 이후 이에 따라서 제 2 향상 계층을 디코딩할 수도 있다. 본 개시물의 일부 양태들에 따르면, 비디오 디코더 (30) 는 제 1 향상 계층을 디코딩하기 전에 기초 계층의 대응하는 디코딩된 화상을 업샘플링할 수도 있다. 이의 대안으로, 제 2 향상 계층이 제 1 향상 계층에 기초하여 예측되었다고 디코더 (30) 가 결정하면, 디코더 (30) 는 제 2 향상 계층을 디코딩할 때 디코딩된 제 1 향상 계층을 이용할 수도 있다.
양자의 제 1 향상 계층 (254) 및 제 2 향상 계층 (260) 을 디코딩한 후, 비디오 디코더 (30) 는 향상 계층들로부터의 양자의 풀 해상도 좌측 뷰 화상 및 풀 해상도 우측 뷰 화상을 디스플레이 (32) 로 전송할 수도 있다. 디스플레이 (32) 는 풀 해상도 좌측 뷰 화상 및 풀 해상도 우측 뷰 화상을 동시에 또는 거의 동시에 제시할 수도 있다 (262).
일부 예들에서, 비디오 디코더 (30) 또는 비디오 디코더 (30) 가 설치된 디바이스 (예컨대, 도 1 에 나타낸 목적지 디바이스 (14)) 는 3차원의 비디오 플레이백이 불가능할 수도 있다. 이런 예들에서, 비디오 디코더 (30) 는 양자의 화상들을 디코딩하지 않을 수도 있다. 즉, 디코더 (30) 는 간단히 기초 계층의 좌측 눈 뷰 화상들을 디코딩하고 기초 계층의 우측 눈 뷰 화상들을 건너뛸 수도 있다 (예컨대, 폐기할 수도 있다). 게다가, 비디오 디코더 (30) 는 오직 기초 계층의 디코딩된 뷰에 대응하는 향상 계층만을 디코딩할 수도 있다. 이 방법에서, 디바이스들은 디바이스들이 3차원의 비디오 데이터를 디코딩하거나 및/또는 렌더링하는 것이 가능하던지 아니던지, 스케일러블 멀티-뷰 비트스트림을 수신하여 디코딩하는 것이 가능할 수도 있다.
비디오 인코더 및 비디오 디코더에 대해 일반적으로 설명되지만, 본 개시물의 기법들은 다른 디바이스들 및 코딩 유닛들에 구현될 수도 있다. 예를 들어, 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층을 포함하는 스케일러블 멀티-뷰 비트스트림을 형성하는 기법들은, 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층을 포함하는 단일 비트스트림을 형성하기 위해, 2개의 별개의 상보적 비트스트림들을 수신하여 2개의 비트스트림들을 트랜스코딩하도록 구성된 트랜스코더에 의해 수행될 수도 있다. 또 다른 예로서, 스케일러블 멀티-뷰 비트스트림을 분해하는 기법들은, 기초 계층, 제 1 향상 계층, 및 제 2 향상 계층을 포함하는 비트스트림을 수신하여 기초 계층의 각각의 뷰들에 대응하는 2개의 별개의 비트스트림들을 발생하도록 구성된 트랜스코더에 의해 수행될 수도 있으며, 2개의 별개의 비트스트림들 각각은 각각의 뷰에 대한 인코딩된 비디오 데이터를 포함한다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드들로서 컴퓨터 판독가능 매체 상에 저장되거나 컴퓨터 판독가능 매체를 통해 송신되어, 하드웨어-기반의 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체들을 포함할 수도 있으며, 이 저장 매체들은 데이터 저장 매체와 같은 유형의 매체, 또는 예컨대, 통신 프로토콜에 따라서 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체들에 대응한다. 이 방법에서, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시성인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에서 설명하는 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
일 예로서, 이에 한정하지 않고, 이런 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 저장, 자기디스크 저장, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 이중 권선, 디지털 가입자 회선 (DSL), 또는 무선 기술들 예컨대 적외선, 무선, 및 마이크로파를 이용하여, 명령들이 웹사이트, 서버, 또는 다른 원격 소오스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 이중 권선, DSL, 또는 무선 기술들, 예컨대 적외선, 무선, 및 마이크로파가 그 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속들, 캐리어 파들, 신호들, 또는 다른 일시적 매체를 포함하지 않으며, 그 대신, 비-일시성의, 유형의 저장 매체에 송신되는 것으로 해석되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며 본원에서, 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다. 앞에서 언급한 것들의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서들, 예컨대 하나 이상의 디지털 신호 프로세서들 (DSPs), 범용 마이크로프로세서들, 주문형 집적회로들 (ASICs), 필드 프로그래밍가능 로직 어레이들 (FPGAs), 또는 다른 등가의 통합 또는 이산 로직 회로에 의해 실행될 수도 있다. 따라서, 용어 “프로세서" 는, 본원에서 사용될 때, 전술한 구조 또는 본원에서 설명하는 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 구조를 지칭할 수도 있다. 게다가, 일부 양태들에서, 본원에서 설명하는 기능은 전용 하드웨어 및/또는 인코딩 및 디코딩을 위해 구성되는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱에 포함될 수도 있다. 또한, 이 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들로 전적으로 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 ICs 의 세트 (예컨대, 칩 세트) 를 포함한, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 여러 구성요소들, 모듈들, 또는 유닛들이 개시한 기법들을 수행하도록 구성되는 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로 하지는 않는다. 더 정확히 말하면, 위에서 설명한 바와 같이, 여러 유닛들이 코덱 하드웨어 유닛에 결합되거나, 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명한 바와 같은 하나 이상의 프로세서들을 포함한, 상호작용하는 하드웨어 유닛들의 컬렉션에 의해 제공될 수도 있다.

Claims (42)

  1. 기초 계층 데이터 (base layer data) 및 향상 계층 데이터 (enhancement layer data) 를 포함하는 비디오 데이터를 디코딩하는 방법으로서,
    제 1 해상도를 갖는 기초 계층 데이터를 디코딩하는 단계로서, 상기 기초 계층 데이터는, 상기 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전, 및 상기 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는, 상기 기초 계층 데이터를 디코딩하는 단계;
    상기 제 1 해상도를 가지며 상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하는 단계로서, 상기 향상 데이터는 상기 제 1 해상도를 가지며, 상기 향상 계층 데이터를 디코딩하는 단계는, 상기 기초 계층 데이터의 적어도 일부에 관련된 상기 향상 계층 데이터를 디코딩하는 단계를 포함하는, 상기 향상 계층 데이터를 디코딩하는 단계; 및
    디코딩된 상기 향상 계층 데이터를, 디코딩된 상기 향상 계층이 대응하는 디코딩된 상기 기초 계층 데이터의 상기 좌측 뷰 또는 상기 우측 뷰 중 하나의 뷰와 결합하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 방법은,
    상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 디코딩하는 단계를 더 포함하고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 디코딩하는 단계는, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 제 2 향상 계층 데이터를 디코딩하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  3. 제 2 항에 있어서,
    상기 제 2 향상 계층 데이터를 디코딩하는 단계는, 상기 제 2 향상 계층에 대응하는 상기 기초 계층 데이터의 뷰의 업샘플링된 버전으로부터 상기 제 2 향상 계층 데이터에 대한 인터-계층 예측 데이터를 취출하는 단계를 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 디코딩하는 방법.
  4. 제 2 항에 있어서,
    상기 제 2 향상 계층 데이터를 디코딩하는 단계는, 상기 제 1 해상도를 갖는 상기 기초 계층의 다른 뷰의 업샘플링된 버전과 상기 제 1 향상 계층 데이터 중 적어도 하나로부터 상기 제 2 향상 계층 데이터에 대한 인터-뷰 예측 데이터를 취출하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  5. 제 4 항에 있어서,
    상기 예측 데이터가, 상기 제 1 해상도를 갖는 상기 기초 계층의 상기 다른 뷰의 상기 업샘플링된 버전 또는 상기 제 1 향상 계층 데이터와 연관되는지 여부를 나타내는, 상기 제 2 향상 계층과 연관된 슬라이스 헤더에 로케이트되는 참조 화상 리스트 구성 데이터를 디코딩하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 제 1 향상 계층 데이터를 디코딩하는 단계는, 상기 제 1 향상 계층에 대응하는 상기 기초 계층 데이터의 뷰의 업샘플링된 버전으로부터 상기 제 1 향상 계층 데이터에 대한 인터-계층 예측 데이터를 취출하는 단계를 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 디코딩하는 방법.
  7. 제 1 항에 있어서,
    상기 제 1 향상 계층 데이터를 디코딩하는 단계는, 상기 기초 계층 데이터의 다른 뷰의 업샘플링된 버전으로부터 상기 제 1 향상 계층 데이터에 대한 인터-뷰 예측 데이터를 취출하는 단계를 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 디코딩하는 방법.
  8. 기초 계층 데이터 및 향상 계층 데이터를 포함하는 비디오 데이터를 디코딩하는 장치로서,
    제 1 해상도를 갖는 기초 계층 데이터를 디코딩하는 것으로서, 상기 기초 계층 데이터는, 상기 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전, 및 상기 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는, 상기 기초 계층 데이터를 디코딩하고;
    상기 제 1 해상도를 가지며 상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하는 것으로서, 상기 향상 데이터는 상기 제 1 해상도를 가지며, 상기 향상 계층 데이터를 디코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부에 관련된 상기 향상 계층 데이터를 디코딩하는 것을 포함하는, 상기 향상 계층 데이터를 디코딩하며;
    디코딩된 상기 향상 계층 데이터를, 디코딩된 상기 향상 계층이 대응하는 디코딩된 상기 기초 계층 데이터의 상기 좌측 뷰 또는 상기 우측 뷰 중 하나의 뷰와 결합하도록
    구성된 비디오 디코더를 포함하는, 비디오 데이터를 디코딩하는 장치.
  9. 제 8 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 비디오 디코더는 또한,
    상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 디코딩하도록 구성되고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 디코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 제 2 향상 계층 데이터를 디코딩하는 것을 포함하는, 비디오 데이터를 디코딩하는 장치.
  10. 제 9 항에 있어서,
    상기 제 2 향상 계층 데이터를 디코딩하기 위해, 상기 디코더는, 상기 제 2 향상 계층에 대응하는 상기 기초 계층 데이터의 상기 뷰의 업샘플링된 버전으로부터 상기 제 2 향상 계층 데이터에 대한 인터-계층 예측 데이터를 취출하도록 구성되고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 디코딩하는 장치.
  11. 제 9 항에 있어서,
    상기 제 2 향상 계층 데이터를 디코딩하기 위해, 상기 디코더는, 상기 제 1 해상도를 갖는 상기 기초 계층의 다른 뷰의 업샘플링된 버전과 상기 제 1 향상 계층 데이터 중 적어도 하나로부터 상기 제 2 향상 계층 데이터에 대한 인터-뷰 예측 데이터를 취출하도록 구성되는, 비디오 데이터를 디코딩하는 장치.
  12. 제 11 항에 있어서,
    상기 비디오 디코더는 또한, 상기 예측 데이터가, 상기 제 1 해상도를 갖는 상기 기초 계층의 상기 다른 뷰의 상기 업샘플링된 버전 또는 상기 제 1 향상 계층 데이터와 연관되는지 여부를 나타내는, 상기 제 2 향상 계층과 연관된 슬라이스 헤더에 로케이트되는 참조 화상 리스트 구성 데이터를 디코딩하도록 구성되는, 비디오 데이터를 디코딩하는 장치.
  13. 제 8 항에 있어서,
    상기 제 1 향상 계층 데이터를 디코딩하기 위해, 상기 디코더는, 상기 제 1 향상 계층에 대응하는 상기 기초 계층 데이터의 뷰의 업샘플링된 버전으로부터 상기 제 1 향상 계층 데이터에 대한 인터-계층 예측 데이터를 취출하도록 구성되고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 디코딩하는 장치.
  14. 제 8 항에 있어서,
    상기 제 1 향상 계층 데이터를 디코딩하기 위해, 상기 디코더는, 상기 기초 계층 데이터의 다른 뷰의 업샘플링된 버전으로부터 상기 제 1 향상 계층 데이터에 대한 인터-뷰 예측 데이터를 취출하도록 구성되고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 디코딩하는 장치.
  15. 제 8 항에 있어서,
    상기 장치는,
    집적 회로;
    마이크로프로세서; 및
    비디오 인코더를 포함하는 무선 통신 디바이스 중 적어도 하나를 포함하는, 비디오 데이터를 디코딩하는 장치.
  16. 기초 계층 데이터 및 향상 계층 데이터를 포함하는 비디오 데이터를 디코딩하는 장치로서,
    제 1 해상도를 갖는 기초 계층 데이터를 디코딩하는 수단으로서, 상기 기초 계층 데이터는, 상기 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전, 및 상기 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는, 상기 기초 계층 데이터를 디코딩하는 수단;
    상기 제 1 해상도를 가지며 상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하는 수단으로서, 상기 향상 데이터는 상기 제 1 해상도를 가지며, 상기 향상 계층 데이터를 디코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부에 관련된 상기 향상 계층 데이터를 디코딩하는 것을 포함하는, 상기 향상 계층 데이터를 디코딩하는 수단; 및
    디코딩된 상기 향상 계층 데이터를, 디코딩된 상기 향상 계층이 대응하는 디코딩된 상기 기초 계층 데이터의 상기 좌측 뷰 또는 상기 우측 뷰 중 하나의 뷰와 결합하는 수단을 포함하는, 비디오 데이터를 디코딩하는 장치.
  17. 제 16 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 장치는,
    상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 디코딩하는 수단을 더 포함하고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 디코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 제 2 향상 계층 데이터를 디코딩하는 것을 포함하는, 비디오 데이터를 디코딩하는 장치.
  18. 명령들을 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 명령은,
    실행될 때, 기초 계층 데이터 및 향상 계층 데이터를 갖는 비디오 데이터를 디코딩하는 디바이스의 프로세서로 하여금,
    제 1 해상도를 갖는 기초 계층 데이터를 디코딩하게 하는 것으로서, 상기 기초 계층 데이터는, 상기 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전, 및 상기 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는, 상기 기초 계층 데이터를 디코딩하게 하고;
    상기 제 1 해상도를 가지며 상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 디코딩하게 하는 것으로서, 상기 향상 데이터는 상기 제 1 해상도를 가지며, 상기 향상 계층 데이터를 디코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부에 관련된 상기 향상 계층 데이터를 디코딩하는 것을 포함하는, 상기 향상 계층 데이터를 디코딩하게 하고;
    디코딩된 상기 향상 계층 데이터를, 디코딩된 상기 향상 계층이 대응하는 디코딩된 상기 기초 계층 데이터의 상기 좌측 뷰 또는 상기 우측 뷰 중 하나의 뷰와 결합하게 하는, 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품.
  19. 제 18 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 컴퓨터 프로그램 제품은,
    상기 프로세서로 하여금, 상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 디코딩하게 하는 명령들을 더 포함하고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 디코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 향상 계층 데이터를 디코딩하는 것을 포함하는, 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품.
  20. 기초 계층 데이터 및 향상 계층 데이터를 포함하는 비디오 데이터를 인코딩하는 방법으로서,
    제 1 해상도를 갖는 기초 계층 데이터를 인코딩하는 단계로서, 상기 기초 계층 데이터는, 상기 제 1 해상도에 관련된 좌측 뷰의 감소된 해상도 버전, 및 상기 제 1 해상도에 관련된 우측 뷰의 감소된 해상도 버전을 포함하는, 상기 기초 계층 데이터를 인코딩하는 단계; 및
    제 1 해상도를 가지며 상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하는 단계로서, 상기 향상 데이터는 상기 제 1 해상도를 가지며, 상기 향상 계층 데이터를 디코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부에 관련된 상기 향상 계층 데이터를 디코딩하는 것을 포함하는, 상기 향상 계층 데이터를 인코딩하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  21. 제 20 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 방법은,
    상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 인코딩하는 단계를 더 포함하고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 인코딩하는 단계는, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 제 2 향상 계층 데이터를 인코딩하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  22. 제 21 항에 있어서,
    상기 제 2 향상 계층 데이터를 인코딩하는 단계는, 상기 제 2 향상 계층에 대응하는 상기 기초 계층 데이터의 뷰의 업샘플링된 버전으로부터 상기 제 2 향상 계층 데이터를 인터-계층 예측하는 단계를 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 인코딩하는 방법.
  23. 제 21 항에 있어서,
    상기 제 2 향상 계층 데이터를 인코딩하는 단계는, 상기 제 1 해상도를 갖는 상기 기초 계층의 다른 뷰의 업샘플링된 버전과 상기 제 1 향상 계층 데이터 중 적어도 하나로부터 상기 제 2 향상 계층 데이터를 인터-뷰 예측하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  24. 제 21 항에 있어서,
    상기 제 1 향상 계층 데이터와 상기 제 2 향상 계층 데이터 중 적어도 하나에 대해 인터-계층 예측이 가능한지 여부 및 인터-뷰 예측이 가능한지 여부를 나타내는 정보를 제공하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법.
  25. 제 21 항에 있어서,
    상기 기초 계층, 상기 제 1 향상 계층, 및 상기 제 2 향상 계층을 포함하는 표현의 동작 포인트들을 나타내는 정보를 제공하는 단계를 더 포함하고,
    상기 동작 포인트들을 나타내는 상기 정보는, 상기 동작 포인트들 각각에 포함된 계층들, 상기 동작 포인트들에 대한 최대 프레임 레이트를 나타내는 최대 시간 식별자, 상기 동작 포인트들이 순응하는 비디오 코딩 프로파일들을 나타내는 프로파일 표시자들, 상기 동작 포인트들이 순응하는 상기 비디오 코딩 프로파일들의 레벨들을 나타내는 레벨 표시자들, 및 상기 동작 포인트들에 대한 평균 프레임 레이트들을 나타내는, 비디오 데이터를 인코딩하는 방법.
  26. 제 21 항에 있어서,
    예측 데이터가, 상기 제 1 해상도를 갖는 상기 기초 계층의 다른 뷰의 업샘플링된 버전 또는 상기 제 1 향상 계층 데이터와 연관되는지 여부를 나타내는, 상기 제 2 향상 계층과 연관된 슬라이스 헤더에 로케이트되는 참조 화상 리스트 구성 데이터를 인코딩하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법.
  27. 제 20 항에 있어서,
    상기 향상 계층 데이터를 인코딩하는 단계는, 상기 기초 계층 데이터의 대응하는 좌측 뷰 또는 우측 뷰의 업샘플링된 버전으로부터 상기 향상 계층 데이터를 인터-계층 예측하는 단계를 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 인코딩하는 방법.
  28. 제 20 항에 있어서,
    상기 향상 계층 데이터를 인코딩하는 단계는, 상기 기초 계층 데이터의 대응하는 좌측 뷰 또는 우측 뷰의 대향 뷰의 업샘플링된 버전으로부터 상기 향상 계층 데이터를 인터-뷰 예측하는 단계를 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 인코딩하는 방법.
  29. 장면의 좌측 뷰 및 상기 장면의 우측 뷰를 포함하는 비디오 데이터를 인코딩하는 장치로서,
    상기 좌측 뷰는 제 1 해상도를 가지며,
    상기 우측 뷰는 상기 제 1 해상도를 가지며,
    상기 장치는,
    상기 제 1 해상도에 관련된 상기 좌측 뷰의 감소된 해상도 버전 및 상기 제 1 해상도에 관련된 상기 우측 뷰의 상기 감소된 해상도 버전을 포함하는 기초 계층 데이터를 인코딩하고, 상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하고, 상기 기초 계층 데이터 및 상기 향상 계층 데이터를 출력하도록 구성된 비디오 인코더를 포함하며,
    상기 향상 데이터는 상기 제 1 해상도를 갖는, 비디오 데이터를 인코딩하는 장치.
  30. 제 29 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 비디오 인코더는 또한,
    상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 인코딩하도록 구성되고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 인코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 제 2 향상 계층 데이터를 인코딩하는 것을 포함하는, 비디오 데이터를 인코딩하는 장치.
  31. 제 30 항에 있어서,
    상기 제 2 향상 계층 데이터를 인코딩하는 것은, 상기 제 2 향상 계층에 대응하는 상기 기초 계층 데이터의 뷰의 업샘플링된 버전으로부터 상기 제 2 향상 계층 데이터를 인터-계층 예측하는 것을 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 인코딩하는 장치.
  32. 제 30 항에 있어서,
    상기 제 2 향상 계층 데이터를 인코딩하는 것은, 상기 제 1 해상도를 갖는 상기 기초 계층의 다른 뷰의 업샘플링된 버전과 상기 제 1 향상 계층 데이터 중 적어도 하나로부터 상기 제 2 향상 계층 데이터를 인터-뷰 예측하는 것을 포함하는, 비디오 데이터를 인코딩하는 장치.
  33. 제 30 항에 있어서,
    상기 비디오 인코더는 또한, 상기 제 1 향상 계층 데이터와 상기 제 2 향상 계층 데이터 중 적어도 하나에 대해 인터-계층 예측이 가능한지 여부 및 인터-뷰 예측이 가능한지 여부를 나타내는 정보를 제공하도록 구성되는, 비디오 데이터를 인코딩하는 장치.
  34. 제 30 항에 있어서,
    상기 비디오 인코더는 또한, 상기 기초 계층, 상기 제 1 향상 계층, 및 상기 제 2 향상 계층을 포함하는 표현의 동작 포인트들을 나타내는 정보를 제공하도록 구성되고,
    상기 동작 포인트들을 나타내는 상기 정보는, 상기 동작 포인트들 각각에 포함된 계층들, 상기 동작 포인트들에 대한 최대 프레임 레이트를 나타내는 최대 시간 식별자, 상기 동작 포인트들이 순응하는 비디오 코딩 프로파일들을 나타내는 프로파일 표시자들, 상기 동작 포인트들이 순응하는 상기 비디오 코딩 프로파일들의 레벨들을 나타내는 레벨 표시자들, 및 상기 동작 포인트들에 대한 평균 프레임 레이트들을 나타내는, 비디오 데이터를 인코딩하는 장치.
  35. 제 30 항에 있어서,
    상기 비디오 인코더는 또한, 예측 데이터가, 상기 제 1 해상도를 갖는 상기 기초 계층의 다른 뷰의 업샘플링된 버전 또는 상기 제 1 향상 계층 데이터와 연관되는지 여부를 나타내는, 상기 제 2 향상 계층과 연관된 슬라이스 헤더에 로케이트되는 참조 화상 리스트 구성 데이터를 인코딩하도록 구성되는, 비디오 데이터를 인코딩하는 장치.
  36. 제 29 항에 있어서,
    상기 향상 계층 데이터를 인코딩하는 것은, 상기 기초 계층 데이터의 대응하는 좌측 뷰 또는 우측 뷰의 업샘플링된 버전으로부터 상기 향상 계층 데이터를 인터-계층 예측하는 것을 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 인코딩하는 장치.
  37. 제 29 항에 있어서,
    상기 향상 계층 데이터를 인코딩하는 것은, 상기 기초 계층 데이터의 대응하는 좌측 뷰 또는 우측 뷰의 대향 뷰의 업샘플링된 버전으로부터 상기 향상 계층 데이터를 인터-뷰 예측하는 것을 포함하고,
    상기 업샘플링된 버전은 상기 제 1 해상도를 갖는, 비디오 데이터를 인코딩하는 장치.
  38. 제 29 항에 있어서,
    상기 장치는,
    집적 회로;
    마이크로프로세서; 및
    상기 비디오 인코더를 포함하는 무선 통신 디바이스 중 적어도 하나를 포함하는, 비디오 데이터를 인코딩하는 장치.
  39. 장면의 좌측 뷰 및 상기 장면의 우측 뷰를 포함하는 비디오 데이터를 인코딩하는 장치로서,
    상기 좌측 뷰는 제 1 해상도를 가지며 상기 우측 뷰는 상기 제 1 해상도를 가지며,
    상기 장치는,
    상기 제 1 해상도에 관련된 상기 좌측 뷰의 감소된 해상도 버전 및 상기 제 1 해상도에 관련된 상기 우측 뷰의 상기 감소된 해상도 버전을 포함하는 기초 계층 데이터를 인코딩하는 수단;
    상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하는 수단으로서, 상기 향상 데이터는 상기 제 1 해상도를 갖는, 상기 향상 계층 데이터를 인코딩하는 수단; 및
    상기 기초 계층 데이터 및 상기 향상 계층 데이터를 출력하는 수단을 포함하는, 비디오 데이터를 인코딩하는 장치.
  40. 제 39 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 장치는,
    상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 인코딩하는 수단을 더 포함하고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 인코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 제 2 향상 계층 데이터를 인코딩하는 것을 포함하는, 비디오 데이터를 인코딩하는 장치.
  41. 명령들을 저장하고 있는 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 명령들은,
    실행될 때, 비디오 데이터를 인코딩하는 디바이스의 프로세서로 하여금,
    장면의 좌측 뷰 및 상기 장면의 우측 뷰를 포함하는 비디오 데이터를 수신하게 하는 것으로서, 상기 좌측 뷰는 제 1 해상도를 가지며, 상기 우측 뷰는 상기 제 1 해상도를 갖는, 상기 비디오 데이터를 수신하게 하고;
    상기 제 1 해상도에 관련된 상기 좌측 뷰의 감소된 해상도 버전 및 상기 제 1 해상도에 관련된 상기 우측 뷰의 상기 감소된 해상도 버전을 포함하는 기초 계층 데이터를 인코딩하게 하고;
    상기 좌측 뷰와 상기 우측 뷰 중 정확히 하나의 뷰에 대한 향상 데이터를 포함하는 향상 계층 데이터를 인코딩하게 하는 것으로서, 상기 향상 데이터는 상기 제 1 해상도를 갖는, 상기 향상 계층 데이터를 인코딩하게 하며;
    상기 기초 계층 데이터 및 상기 향상 계층 데이터를 출력하게 하는, 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품.
  42. 제 41 항에 있어서,
    상기 향상 계층 데이터는 제 1 향상 계층 데이터를 포함하고,
    상기 컴퓨터 프로그램 제품은,
    실행될 때, 비디오 데이터를 인코딩하는 디바이스의 프로세서로 하여금, 상기 제 1 향상 계층 데이터와는 개별적으로, 상기 제 1 향상 계층 데이터와 연관되지 않은 상기 좌측 뷰와 우측 뷰 중 정확히 하나의 뷰에 대한 제 2 향상 계층 데이터를 인코딩하게 하는 명령들을 더 포함하고,
    상기 제 2 향상 계층은 상기 제 1 해상도를 가지며,
    상기 제 2 향상 계층 데이터를 인코딩하는 것은, 상기 기초 계층 데이터의 적어도 일부 또는 상기 제 1 향상 계층 데이터의 적어도 일부에 관련된 상기 제 2 향상 계층 데이터를 인코딩하는 것을 포함하는, 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품.
KR1020137010403A 2010-09-24 2011-09-07 스테레오 비디오 데이터의 코딩 KR20130095282A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US38646310P 2010-09-24 2010-09-24
US61/386,463 2010-09-24
US201161480336P 2011-04-28 2011-04-28
US61/480,336 2011-04-28
US13/194,656 2011-07-29
US13/194,656 US20120075436A1 (en) 2010-09-24 2011-07-29 Coding stereo video data
PCT/US2011/050699 WO2012039936A1 (en) 2010-09-24 2011-09-07 Coding stereo video data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR20157008657A Division KR20150043547A (ko) 2010-09-24 2011-09-07 스테레오 비디오 데이터의 코딩

Publications (1)

Publication Number Publication Date
KR20130095282A true KR20130095282A (ko) 2013-08-27

Family

ID=45870253

Family Applications (2)

Application Number Title Priority Date Filing Date
KR20157008657A KR20150043547A (ko) 2010-09-24 2011-09-07 스테레오 비디오 데이터의 코딩
KR1020137010403A KR20130095282A (ko) 2010-09-24 2011-09-07 스테레오 비디오 데이터의 코딩

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR20157008657A KR20150043547A (ko) 2010-09-24 2011-09-07 스테레오 비디오 데이터의 코딩

Country Status (6)

Country Link
US (1) US20120075436A1 (ko)
EP (1) EP2619986A1 (ko)
JP (1) JP5866364B2 (ko)
KR (2) KR20150043547A (ko)
CN (1) CN103155571B (ko)
WO (1) WO2012039936A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015072626A1 (ko) * 2013-11-15 2015-05-21 광운대학교 산학협력단 다중 계층 비디오 코딩을 위한 계층 간 참조 픽쳐 생성 방법 및 장치

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289370B2 (en) 2005-07-20 2012-10-16 Vidyo, Inc. System and method for scalable and low-delay videoconferencing using scalable video coding
WO2012044487A1 (en) 2010-10-01 2012-04-05 Dolby Laboratories Licensing Corporation Optimized filter selection for reference picture processing
WO2011005624A1 (en) 2009-07-04 2011-01-13 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3d video delivery
KR20120020627A (ko) * 2010-08-30 2012-03-08 삼성전자주식회사 3d 영상 포맷을 이용한 영상 처리 장치 및 방법
WO2012047496A1 (en) * 2010-10-08 2012-04-12 Dolby Laboratories Licensing Corporation Scalable frame compatible multiview encoding and decoding methods
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
MX2013008691A (es) 2011-02-10 2013-08-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
CA2829493A1 (en) 2011-03-10 2012-09-13 Vidyo, Inc. Dependency parameter set for scalable video coding
KR101215152B1 (ko) 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US9420259B2 (en) 2011-05-24 2016-08-16 Comcast Cable Communications, Llc Dynamic distribution of three-dimensional content
TWI530161B (zh) * 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
WO2013009441A2 (en) * 2011-07-12 2013-01-17 Vidyo, Inc. Scalable video coding using multiple coding technologies
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9288505B2 (en) * 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
WO2013042359A1 (ja) * 2011-09-22 2013-03-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、および、動画像復号化装置
MX353235B (es) 2011-09-29 2018-01-08 Sharp Kk Star Dispositivo de decodificación de imágenes, método de decodificación de imágenes y dispositivo de codificación de imágenes.
BR112014007494B1 (pt) 2011-09-29 2022-05-31 Sharp Kabushiki Kaisha Dispositivo de decodificação de imagem, método de decodificação de imagem, e dispositivo de codificação de imagem
KR20130046534A (ko) * 2011-10-28 2013-05-08 삼성전자주식회사 영상 부호화 방법 및 장치 그리고 영상 복호화 방법 및 장치
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
US20130117418A1 (en) * 2011-11-06 2013-05-09 Akamai Technologies Inc. Hybrid platform for content delivery and transcoding
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
EP2777273B1 (en) 2011-11-11 2019-09-04 GE Video Compression, LLC Efficient multi-view coding using depth-map estimate for a dependent view
BR112014011425B1 (pt) 2011-11-11 2022-08-23 GE Video Compression, LLC. Codificação de multi-visualização eficiente utilizando estimativa e atualização de mapa por profundidade
EP2781091B1 (en) 2011-11-18 2020-04-08 GE Video Compression, LLC Multi-view coding with efficient residual handling
JP2013110540A (ja) * 2011-11-18 2013-06-06 Sony Corp 画像データ送信装置、画像データ送信方法、画像データ受信装置および画像データ受信方法
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
KR101977260B1 (ko) * 2011-12-04 2019-05-13 엘지전자 주식회사 입체영상 디스플레이가 가능한 디지털 방송 수신방법 및 수신장치
WO2013116539A1 (en) * 2012-02-01 2013-08-08 Futurewei Technologies, Inc. Scalable video coding extensions for high efficiency video coding
US10003810B2 (en) * 2012-03-22 2018-06-19 Mediatek Inc. Method and apparatus of scalable video coding
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
US10863170B2 (en) * 2012-04-16 2020-12-08 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding on the basis of a motion vector
US10205961B2 (en) * 2012-04-23 2019-02-12 Qualcomm Incorporated View dependency in multi-view coding and 3D coding
US9860555B2 (en) * 2012-05-22 2018-01-02 Lg Electronics Inc. Method and apparatus for processing video signal
CN103428523B (zh) * 2012-05-22 2015-07-08 华为技术有限公司 评估视频质量的方法和装置
US9648347B1 (en) * 2012-06-14 2017-05-09 Pixelworks, Inc. Disparity postprocessing and interpolation for motion estimation and motion correction
US9313486B2 (en) 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
MY172999A (en) 2012-07-09 2019-12-18 Vid Scale Inc Codec architecture for multiple layer video coding
CN108156463B (zh) 2012-08-29 2022-07-01 Vid拓展公司 用于可分级视频编码的运动矢量预测的方法和装置
US20140086328A1 (en) * 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
US9992490B2 (en) * 2012-09-26 2018-06-05 Sony Corporation Video parameter set (VPS) syntax re-ordering for easy access of extension parameters
EP2901688B1 (en) 2012-09-28 2019-10-23 Nokia Technologies Oy An apparatus and a method for video coding and decoding
BR112015000422B1 (pt) * 2012-09-28 2023-04-25 Sony Corporation Dispositivo e método de processamento de imagem
EP2904803A1 (en) 2012-10-01 2015-08-12 GE Video Compression, LLC Scalable video coding using derivation of subblock subdivision for prediction from base layer
WO2014055222A1 (en) * 2012-10-01 2014-04-10 Vidyo, Inc. Hybrid video coding techniques
US10178410B2 (en) 2012-10-03 2019-01-08 Mediatek Inc. Method and apparatus of motion information management in video coding
US9774927B2 (en) * 2012-12-21 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Multi-layer video stream decoding
US10805605B2 (en) * 2012-12-21 2020-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Multi-layer video stream encoding and decoding
US10021388B2 (en) 2012-12-26 2018-07-10 Electronics And Telecommunications Research Institute Video encoding and decoding method and apparatus using the same
KR20140087972A (ko) * 2012-12-26 2014-07-09 한국전자통신연구원 계층적 비디오 부호화에서 다중참조계층을 적용한 계층간 영상 부호화 및 복호화 방법 및 그 장치
US10419778B2 (en) 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
US10219006B2 (en) * 2013-01-04 2019-02-26 Sony Corporation JCTVC-L0226: VPS and VPS_extension updates
JP6139701B2 (ja) * 2013-01-07 2017-05-31 ヴィド スケール インコーポレイテッド スケーラブルビデオ符号化のための動き情報シグナリング
US20140218473A1 (en) * 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding
EP2804375A1 (en) 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
EP2804374A1 (en) * 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
CN105230017B (zh) * 2013-03-21 2019-08-06 索尼公司 图像编码装置和方法以及图像解码装置和方法
WO2014166096A1 (en) * 2013-04-11 2014-10-16 Mediatek Singapore Pte. Ltd. Reference view derivation for inter-view motion prediction and inter-view residual prediction
US9602822B2 (en) * 2013-04-17 2017-03-21 Qualcomm Incorporated Indication of cross-layer picture type alignment in multi-layer video coding
KR102325977B1 (ko) * 2013-07-08 2021-11-15 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치
AU2014288482A1 (en) * 2013-07-12 2015-02-26 Sony Corporation Image coding device and method
US10390031B2 (en) 2013-07-15 2019-08-20 Kt Corporation Method and apparatus for encoding/decoding scalable video signal
WO2015009009A1 (ko) * 2013-07-15 2015-01-22 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
US9648333B2 (en) * 2013-10-11 2017-05-09 Vid Scale, Inc. High level syntax for HEVC extensions
EP3059966B1 (en) * 2013-10-18 2021-01-13 LG Electronics Inc. Video decoding apparatus and method for decoding multi-view video
US20160255368A1 (en) * 2013-10-18 2016-09-01 Lg Electronics Inc. Method and apparatus for coding/decoding video comprising multi-view
WO2015060614A1 (ko) * 2013-10-22 2015-04-30 주식회사 케이티 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치
MX360338B (es) * 2013-10-29 2018-10-30 Kt Corp Metodo y dispositivo de codificacion/decodificacion de señal de video de multiples capas.
US10230999B2 (en) 2013-12-16 2019-03-12 Lg Electronics Inc. Signal transmission/reception device and signal transmission/reception method for providing trick play service
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
KR20150075042A (ko) 2013-12-24 2015-07-02 주식회사 케이티 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치
US9485456B2 (en) 2013-12-30 2016-11-01 Akamai Technologies, Inc. Frame-rate conversion in a distributed computing system
CN112887737B (zh) * 2014-01-03 2024-04-02 康普英国有限公司 用于hevc扩展处理的条件解析扩展语法
US10547834B2 (en) 2014-01-08 2020-01-28 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
US20150253974A1 (en) 2014-03-07 2015-09-10 Sony Corporation Control of large screen display using wireless portable computer interfacing with display controller
US10602161B2 (en) 2014-03-24 2020-03-24 Kt Corporation Multilayer video signal encoding/decoding method and device
US9813654B2 (en) * 2014-08-19 2017-11-07 Sony Corporation Method and system for transmitting data
US10469856B2 (en) * 2014-11-25 2019-11-05 Electronics And Telelcommunications Research Institute Apparatus and method for transmitting and receiving 3DTV broadcasting
US20180213216A1 (en) * 2015-06-16 2018-07-26 Lg Electronics Inc. Media data transmission device, media data reception device, media data transmission method, and media data rececption method
JP6528635B2 (ja) * 2015-10-05 2019-06-12 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US10798422B2 (en) * 2015-10-20 2020-10-06 Intel Corporation Method and system of video coding with post-processing indication
EP3394791B1 (en) 2015-12-24 2020-10-07 Datalogic IP Tech S.r.l. Coded information reader
US11039181B1 (en) 2016-05-09 2021-06-15 Google Llc Method and apparatus for secure video manifest/playlist generation and playback
US10595054B2 (en) 2016-05-10 2020-03-17 Google Llc Method and apparatus for a virtual online video channel
US11069378B1 (en) 2016-05-10 2021-07-20 Google Llc Method and apparatus for frame accurate high resolution video editing in cloud using live video streams
US10785508B2 (en) 2016-05-10 2020-09-22 Google Llc System for measuring video playback events using a server generated manifest/playlist
US10771824B1 (en) 2016-05-10 2020-09-08 Google Llc System for managing video playback using a server generated manifest/playlist
US11032588B2 (en) * 2016-05-16 2021-06-08 Google Llc Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
CN110537202B (zh) * 2017-04-10 2022-10-04 奥林巴斯株式会社 相关值运算装置
JP2017147749A (ja) * 2017-04-20 2017-08-24 シャープ株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム
US11425390B2 (en) * 2018-01-26 2022-08-23 Electronics And Telecommunications Research Institute Method and apparatus for image encoding and image decoding using temporal motion information
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
KR102030630B1 (ko) * 2018-04-30 2019-11-08 서울과학기술대학교 산학협력단 하이브리드 망 기반의 스테레오스코픽 3차원 360도 가상 현실 서비스 제공 시스템
KR102495915B1 (ko) 2018-04-30 2023-02-03 삼성전자 주식회사 스토리지 장치 및 상기 스토리지 장치를 포함하는 서버
FR3087309B1 (fr) * 2018-10-12 2021-08-06 Ateme Optimisation d'un sous-echantillonnage intervenant avant le codage d'images en compression
US10970882B2 (en) * 2019-07-24 2021-04-06 At&T Intellectual Property I, L.P. Method for scalable volumetric video coding
US10979692B2 (en) 2019-08-14 2021-04-13 At&T Intellectual Property I, L.P. System and method for streaming visible portions of volumetric video

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02126788A (ja) * 1988-11-07 1990-05-15 Nippon Telegr & Teleph Corp <Ntt> 複数ステレオ動画像符号化伝送方式
JP4104895B2 (ja) * 2002-04-25 2008-06-18 シャープ株式会社 立体画像符号化装置および立体画像復号装置
JPWO2003092304A1 (ja) * 2002-04-25 2005-09-08 シャープ株式会社 画像データ生成装置、画像データ再生装置、および画像データ記録媒体
KR100987775B1 (ko) * 2004-01-20 2010-10-13 삼성전자주식회사 영상의 3차원 부호화 방법
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
KR100732961B1 (ko) * 2005-04-01 2007-06-27 경희대학교 산학협력단 다시점 영상의 스케일러블 부호화, 복호화 방법 및 장치
MX2008003375A (es) * 2005-09-22 2008-03-27 Samsung Electronics Co Ltd Metodo para calcular vector de disparidad y metodo y aparato para codificar y descodificar pelicula de vision multiple utilizando el metodo de calculo de vector de disparidad.
MY159176A (en) * 2005-10-19 2016-12-30 Thomson Licensing Multi-view video coding using scalable video coding
JP2007180981A (ja) * 2005-12-28 2007-07-12 Victor Co Of Japan Ltd 画像符号化装置、画像符号化方法、及び画像符号化プログラム
US8331433B2 (en) * 2006-08-31 2012-12-11 Samsung Electronics Co., Ltd. Video encoding apparatus and method and video decoding apparatus and method
AU2007318376B2 (en) * 2006-11-09 2010-07-01 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
US8548056B2 (en) * 2007-01-08 2013-10-01 Qualcomm Incorporated Extended inter-layer coding for spatial scability
EP2119236A1 (en) * 2007-03-15 2009-11-18 Nokia Corporation System and method for providing improved residual prediction for spatial scalability in video coding
CA2650151C (en) * 2008-01-17 2013-04-02 Lg Electronics Inc. An iptv receiving system and data processing method
JP5416271B2 (ja) * 2009-04-20 2014-02-12 ドルビー ラボラトリーズ ライセンシング コーポレイション 多層映像配信のための適応補間フィルタ
CA2771433C (en) * 2010-08-09 2016-01-12 Panasonic Corporation Coding and decoding of stereoscopic images with base and enhancement layers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015072626A1 (ko) * 2013-11-15 2015-05-21 광운대학교 산학협력단 다중 계층 비디오 코딩을 위한 계층 간 참조 픽쳐 생성 방법 및 장치

Also Published As

Publication number Publication date
JP5866364B2 (ja) 2016-02-17
EP2619986A1 (en) 2013-07-31
CN103155571B (zh) 2016-02-17
JP2013542648A (ja) 2013-11-21
KR20150043547A (ko) 2015-04-22
CN103155571A (zh) 2013-06-12
US20120075436A1 (en) 2012-03-29
WO2012039936A1 (en) 2012-03-29

Similar Documents

Publication Publication Date Title
JP5866364B2 (ja) ステレオビデオデータの符号化
KR101436713B1 (ko) 비대칭 스테레오 비디오에 대한 프레임 패킹
US9288505B2 (en) Three-dimensional video with asymmetric spatial resolution
CN107409209B (zh) 用于线性模型预测模式的降取样处理
US9648318B2 (en) Performing residual prediction in video coding
US9667942B2 (en) Adaptive luminance compensation in three dimensional video coding
US9288506B2 (en) Signaling view synthesis prediction support in 3D video coding
EP2915334B1 (en) Target output layers in video coding
CN107408400B (zh) 用于处理视频数据的装置和方法
US9674519B2 (en) MPEG frame compatible video coding
US20130279576A1 (en) View dependency in multi-view coding and 3d coding
KR20140043483A (ko) 내부 뷰 모션 예측 (ivmp) 모드를 지원하는 mvc 기반 3dvc 코덱
JP2014515201A (ja) フル解像度フレーム互換ステレオスコピックビデオコーディングにおけるポストフィルタリング
EP2859724A1 (en) Method and apparatus of adaptive intra prediction for inter-layer and inter-view coding
CN114303374A (zh) 利用可切换滤波器的参考画面重采样
TW201223249A (en) Coding stereo video data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20150403

Effective date: 20160722