KR101492781B1 - 슬라이스 헤더 예측을 위한 슬라이스 헤더 3차원 비디오 익스텐션 - Google Patents

슬라이스 헤더 예측을 위한 슬라이스 헤더 3차원 비디오 익스텐션 Download PDF

Info

Publication number
KR101492781B1
KR101492781B1 KR1020147004644A KR20147004644A KR101492781B1 KR 101492781 B1 KR101492781 B1 KR 101492781B1 KR 1020147004644 A KR1020147004644 A KR 1020147004644A KR 20147004644 A KR20147004644 A KR 20147004644A KR 101492781 B1 KR101492781 B1 KR 101492781B1
Authority
KR
South Korea
Prior art keywords
slice
depth
texture
view
slice header
Prior art date
Application number
KR1020147004644A
Other languages
English (en)
Other versions
KR20140032508A (ko
Inventor
잉 천
예-쿠이 왕
마르타 카르체비츠
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140032508A publication Critical patent/KR20140032508A/ko
Application granted granted Critical
Publication of KR101492781B1 publication Critical patent/KR101492781B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

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

일 실시예에서, 비디오 코더는 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들을 코딩하고, 액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 프로세싱하는 것으로서, 텍스쳐 슬라이스는 코딩된 하나 이상의 블록들, 및 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함하는, 텍스쳐 슬라이스를 프로세싱하고, 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 코딩하고, 뷰의 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분에 대한 심도 슬라이스를 프로세싱하는 것으로서, 심도 슬라이스는 코딩된 심도 정보, 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함하는, 심도 슬라이스를 프로세싱하도록 구성되며, 상기 텍스쳐 슬라이스 또는 상기 심도 슬라이스를 프로세싱하는 것은 적어도 하나의 구문 엘리먼트를 예측하는 것을 포함한다.

Description

슬라이스 헤더 예측을 위한 슬라이스 헤더 3차원 비디오 익스텐션{SLICE HEADER THREE-DIMENSIONAL VIDEO EXTENSION FOR SLICE HEADER PREDICTION}
본 출원은 2011년 7월 22일자에 출원된 미국 가출원 번호 제 61/510,738호, 2011년 8월 11일자에 출원된 제 61/522,584호, 2011년 11월 26일자에 출원된 제 61/563,772호, 2012년 2월 6일자에 출원된 제 61/595,612호, 2012년 4월 13일자에 출원된 제 61/624,031호 및 2012년 4월 23일자로 출원된 제 61/637,212 호의 이익을 주장하며, 이의 각각은 본원에서 전체적으로 참고로 포함된다.
본 개시물은 비디오 코딩, 예컨대, 3차원 비디오 데이터를 코딩하는 분야에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전, 디지털 직접 브로드캐스트 시스템들, 무선 전화기 핸드셋들과 같은 무선 통신 디바이스들, 무선 브로드캐스트 시스템들, 개인 휴대정보 단말기들 (PDAs), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 리코딩 디바이스들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들 등을 포함한, 광범위한 디바이스들에 포함될 수 있다. 디지털 비디오 디바이스들은 디지털 비디오를 좀더 효율적으로 송수신하기 위해, MPEG-2, MPEG-4, 또는 H.264/MPEG-4, 파트 10, AVC (Advanced Video Coding) 과 같은, 비디오 압축 기법들을 구현한다. 비디오 압축 기법들은 비디오 시퀀스들에 고유한 리던던시를 감소시키거나 또는 제거하기 위해 공간 및 시간 예측을 수행한다.
비디오 압축 기법들은 비디오 시퀀스들에 고유한 리던던시를 감소시키거나 또는 제거하기 위해 공간 예측 및/또는 시간 예측을 수행한다. 블록-기반의 비디오 코딩에 있어, 비디오 프레임 또는 슬라이스는 매크로블록들로 파티셔닝될 수도 있다. 각각의 매크로블록은 더 파티셔닝될 수도 있다. 인트라-코딩된 (I) 프레임 또는 슬라이스에서 매크로블록들은 이웃하는 매크로블록들에 대한 공간 예측을 이용하여 인코딩된다. 인터-코딩된 (P 또는 B) 프레임 또는 슬라이스에서 매크로블록들은 동일한 프레임 또는 슬라이스에서의 이웃하는 매크로블록들에 대한 공간 예측 또는 다른 참조 프레임들에 대한 시간 예측을 이용할 수도 있다.
비디오 데이터가 인코딩된 후, 비디오 데이터는 송신 또는 저장을 위해 패킷화될 수도 있다. 비디오 데이터는 ISO (International Organization for Standardization) 베이스 미디어 파일 포맷 및 그의 익스텐션들, 예컨대, AVC 와 같은 다양한 표준들 중 임의의 표준에 대응하는 비디오 파일로 조합될 수도 있다.
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 회의, "Joint Draft 8.0 on Multiview Video Coding", JVT-AB204 에 설명되어 있다. AVC 표준의 버전은 http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zip 으로부터 입수가능한, 2009년 2월, 스위스, 제노바, 30차 JVT 회의, "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) 비디오 렌더링을 지원하는 기법들을 기술한다. 특히, 본 개시물의 기법들은 3D 비디오 콘텐츠를 코딩하고 디코딩하는 것에 관한 것이다. 본 개시물은 또한 비디오 데이터의 코딩된 블록 유닛들에 대한 시그널링 기법들을 제안한다. 예를 들어, 본 개시물은 대응하는 심도 뷰 성분들에 대한 텍스쳐 뷰 성분들의 슬라이스 헤더에 포함된 구문 엘리먼트들을 재사용하는 것 및 역으로, 텍스쳐 뷰 성분들에 대한 심도 뷰 성분들의 슬라이스 헤더에 포함된 구문 엘리먼트들을 재사용하는 것을 제안한다. 게다가, 본 개시물은 헤더 정보, 예를 들어, 텍스쳐 뷰 성분들에 대한 심도 뷰 성분들의 슬라이스 헤더 정보에서의 구문 엘리먼트들을 재사용하는 것을 제안한다.
3D 코덱에서, 특정의 시간 인스턴스에서 비디오 데이터의 각각의 뷰의 뷰 성분은 텍스쳐 뷰 성분 및 심도 뷰 성분을 포함할 수도 있다. 텍스쳐 뷰 성분은 휘도 (Y) 성분 및 색차 (Cb 및 Cr) 성분들을 포함할 수도 있다. 휘도 (휘도) 및 색차 (컬러) 성분들은 본원에서 일괄하여 "텍스쳐" 성분들로서 지칭된다. 심도 뷰 성분은 이미지의 심도 맵으로부터 올 수도 있다. 3D 이미지 렌더링에서, 심도 맵들은 예컨대, 대응하는 텍스쳐 성분들에 대한, 심도 값들을 대표하는 심도 성분들을 포함한다. 심도 뷰 성분들은 주어진 뷰잉 관점으로부터 가상 뷰들을 발생하는데 사용될 수도 있다.
심도 성분들 및 텍스쳐 성분들에 대한 구문 엘리먼트들은 코딩된 블록 유닛으로 시그널링될 수도 있다. 또한, 본 개시물에서 "코딩된 블록들" 로서 간단히 지칭되는, 코딩된 블록 유닛들은 ITU-T H.264/AVC (Advanced Video Coding) 에서의 매크로블록들 또는 HEVC (High Efficiency Video Coding) 의 코딩 유닛들에 대응할 수도 있다.
일 양태에서, 비디오 데이터를 코딩하는 방법은 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록을 코딩하는 것을 포함한다. 본 방법은 액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 프로세싱하는 것을 더 포함하며, 텍스쳐 슬라이스는 코딩된 하나 이상의 블록, 및 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함한다. 본 방법은 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 코딩하는 것을 더 포함한다. 본 방법은 뷰의 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분에 대한 심도 슬라이스를 프로세싱하는 것을 더 포함하며, 심도 슬라이스는 코딩된 심도 정보, 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함한다. 텍스쳐 슬라이스 또는 심도 슬라이스를 프로세싱하는 것은 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 또는 참조 슬라이스 헤더로부터 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 중 적어도 하나의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 것을 더 포함할 수도 있으며, 참조 슬라이스 헤더는 동일 액세스 유닛의 뷰 성분으로부터 기인한다.
다른 양태에서, 본 개시물은 데이터를 코딩하는 디바이스를 설명한다. 본 디바이스는 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들을 코딩하고, 텍스쳐 액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 프로세스하는 것으로서, 텍스쳐 슬라이스는 코딩된 하나 이상의 블록들, 및 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함하는, 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 프로세스하고, 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 코딩하고, 뷰의 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분에 대한 심도 슬라이스를 프로세싱하는 것으로서, 심도 슬라이스는 코딩된 심도 정보, 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함하는, 심도 뷰 성분에 대한 심도 슬라이스를 프로세싱하도록 구성되고, 텍스쳐 슬라이스 또는 심도 슬라이스를 프로세싱하는 것은 각각, 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 또는 참조 슬라이스 헤더로부터 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 중 적어도 하나의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 것을 포함하며, 참조 슬라이스 헤더는 동일한 액세스 유닛의 뷰 성분으로부터 기인한다.
또 다른 양태에서, 본 개시물은 설명된 기법들 중 하나에서 실행하도록 구성될 수도 있는 컴퓨터 프로그램 제품을 설명한다. 컴퓨터 프로그램 제품은 명령들이 저장된 컴퓨터 판독가능 저장 매체를 포함하며, 명령들은 실행될 때 비디오 코딩 디바이스의 프로세서로 하여금, 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들을 코딩하게 한다. 상기 명령들은 또한, 프로세서로 하여금 액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 프로세스하게 하며, 텍스쳐 슬라이스는 코딩된 하나 이상의 블록들, 및 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함한다. 명령들은 또한, 프로세서로 하여금, 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 코딩하게 한다. 추가로, 명령들은 또한, 프로세서로 하여금 뷰의 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분에 대한 심도 슬라이스를 프로세싱하게 하며, 심도 슬라이스는 코딩된 심도 정보, 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하며, 텍스쳐 슬라이스 또는 심도 슬라이스를 프로세싱하는 것은 각각, 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 또는 참조 슬라이스 헤더로부터 심도 실라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 중 적어도 하나의 세트의 적어도 하나의 구문 엘리먼트를 예측하며, 참조 슬라이스 헤더는 동일한 액세스 유닛의 뷰 성분으로부터 기인한다.
다른 양태에서, 비디오 데이터를 프로세싱하는 디바이스가 설명되며, 본 디바이스는 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들을 코딩하기 위한 수단을 포함한다. 본 디바이스는 액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 프로세싱하는 수단으로서, 텍스쳐 슬라이스는 코딩된 하나 이상의 블록, 및 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함하는, 텍스쳐 슬라이스를 프로세싱하는 수단, 및 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 코딩하는 수단을 더 포함한다. 본 디바이스는 뷰의 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분에 대한 심도 슬라이스를 프로세싱하는 수단으로서, 심도 슬라이스는 코딩된 심도 정보, 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함하는, 심도 슬라이스를 프로세싱하는 수단을 더 포함하고, 텍스쳐 슬라이스 또는 심도 슬라이스를 프로세싱하는 수단은 각각, 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 또는 참조 슬라이스 헤더로부터 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 중 적어도 하나의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 수단을 더 포함할 수도 있으며, 참조 슬라이스 헤더는 동일 액세스 유닛의 뷰 성분으로부터 기인한다.
본 개시물에서 설명하는 기법들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 소프트웨어는 프로세서에서 실행될 수도 있으며, 이 프로세서는 마이크로프로세서, 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA), 또는 디지털 신호 프로세서 (DSP), 또는 다른 등가의 통합 또는 이산 로직 회로와 같은 하나 이상의 프로세서들을 지칭할 수도 있다. 기법들을 실행하는 명령들을 포함하는 소프트웨어는 컴퓨터-판독가능 매체에 초기에 저장되고, 프로세서에 의해 로드되어 실행될 수도 있다.
본 개시물은 또한 프로세서로 하여금, 본 개시물에서 설명하는 바와 같은 다양한 기법들 중 임의의 기법을 수행하도록 하는 명령들을 포함하는 컴퓨터-판독가능 매체들을 고려한다. 일부의 경우, 컴퓨터-판독가능 매체는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있으며, 이 컴퓨터 프로그램 제품은 제조업자들에게 판매되거나 및/또는 디바이스에 사용될 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수도 있으며, 일부 경우, 또한 패키징 재료들을 포함할 수도 있다.
하나 이상의 본 개시물의 양태들의 세부 사항들이 첨부도면 및 아래의 상세한 설명에서 개시된다. 본 개시물에서 설명하는 본 기법들의 다른 특징들, 목적들, 및 이점들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백히 알 수 있을 것이다.
도 1 은 본 개시물의 기법들에 따른, 비디오 인코딩 및 디코딩 시스템의 일 예를 예시하는 블록도이다.
도 2 는 본 개시물의 기법들에 따른, 도 1 의 비디오 인코더의 일 예를 좀더 상세히 예시하는 블록도이다.
도 3 은 본 개시물의 기법들에 따른, 멀티-뷰 비디오 디코딩 순서의 일례를 나타내는 개념도이다.
도 4 는 본 개시물의 기법들에 따른 멀티 뷰 비디오 코딩을 위한 MVC 예측 구조의 일 예의 다이어그램이다.
도 5 는 본 개시물의 기법들에 따른, 도 1 의 비디오 디코더의 예를 더 자세하게 나타낸 블록도이다.
도 6 은 본 개시물의 기법들에 따른, 비디오 코더의 예시적인 동작을 나타내는 흐름도이다.
본 개시물은 인코더가 적용될 수도 있으며 디코더가 적어도 비디오 인코딩 또는 디코딩 프로세스의 적어도 인터-예측 스테이지 동안 사용할 수도 있는 기법들을 기술한다. 설명되는 기법들은 3차원 ("3D") 비디오 콘텐츠의 코딩에 관련된다. 3D 비디오 콘텐츠는 예를 들어, 멀티뷰 비디오 플러스 심도 ("MVD") 코딩된 블록들로서 표현될 수도 있다. 즉, 이들 기법들은 멀티뷰 비디오 코딩 (MVC) 비트스트림을 리셈블링 (resembling) 하는 비트스트림을 인코딩하거나 또는 디코딩하는데 적용될 수도 있으며, 여기서 MVC 비트스트림의 임의의 또는 모든 뷰들은 심도 정보를 더 포함할 수도 있다. 본원에서 설명된 바와 같이, 시그널링은 코딩된 비트스트림으로 발생한다.
좀더 구체적으로는, 본 개시물에 따른 일부 기법들은 텍스쳐 뷰 성분들 및 심도 뷰 성분들을 갖는 적어도 하나의 2차원 이미지의 수신을 수반한다. 일부 텍스쳐 뷰 성분들 및 심도 뷰 성분들은 단일 코딩된 블록으로 함께 또는 별개의 블록들로서 인코딩될 수도 있다. 이미지는 이미지들의 슬라이스들로 분할될 수도 있다. 텍스쳐 뷰 성분들을 코딩하기 위한 구문 엘리먼트들은 슬라이스 헤더로 시그널링될 수도 있다. 심도 뷰 성분들에 대한 일부 구문 엘리먼트들은 심도 뷰 성분들에 대응하는 텍스쳐 뷰 성분들에 대한 구문 엘리먼트들로부터 예측될 수도 있다. 본 개시물의 기법들은 2차원 비디오 데이터에 대한 추정된 심도 맵 데이터에 기초하여, 2차원 비디오 데이터로부터 3차원의 비디오 데이터를 렌더링하는데 사용되는 데이터의 인코딩, 디코딩, 및 시그널링에 관한 것이다. 일부 예들에서, 텍스쳐 뷰 성분들은 심도 정보를 인코딩하는데 사용되는 것과는 상이한 기법들을 이용하여 인코딩된다. 본 개시물에서, 용어 "코딩" 은 인코딩 및 디코딩 중 어느 하나 또는 양자를 지칭할 수도 있다.
심도 추정 및 가상 뷰 합성에 기초한 비디오 변환이 예컨대, 3D 비디오 애플리케이션들에 대한, 3D 이미지들을 생성하는데 사용된다. 특히, 장면의 가상 뷰들이 장면의 3D 뷰를 생성하는데 사용될 수도 있다. 장면의 기존 뷰에 기초한 장면의 가상 뷰의 발생은 종래에는 가상 뷰를 합성하기 전에 오브젝트 심도 값들을 추정함으로써 달성된다. 심도 추정은 스테레오 쌍들 또는 단안의 콘텐츠로부터 오브젝트들과 카메라 플레인 사이의 절대 또는 상대 거리들을 추정하는 프로세스이다. 본원에서 사용될 때, 심도 정보는 3차원의 비디오, 예컨대, 심도 맵 (예컨대, 픽셀 당 기준으로 심도 값들) 또는 시차 맵 (예컨대, 픽셀 당 기준으로 수평 디스패리티) 을 형성할 때에 유용한 정보를 포함한다.
그레이-레벨 이미지 심도 맵으로 통상 표현되는, 추정된 심도 정보는 심도 이미지 기반 렌더링 (DIBR) 기법들을 이용하여 가상 뷰들에 대한 임의의 각도를 발생하는데 사용될 수 있다. 멀티-뷰 시퀀스들이 효율적인 인터-뷰 압축의 도전들에 직면하는 전통적인 3차원의 텔레비전 (3DTV) 시스템들에 비해서, 심도 맵 기반의 시스템은 오직 하나 또는 조금의 뷰들을 효율적으로 인코딩될 수 있는 심도 맵(들) 과 함께 송신함으로써 대역폭의 사용을 감소시킬 수도 있다. 심도 맵 기반의 변환에 이용되는 심도 맵(들) 은 심도 맵(들) 이 뷰 합성에 사용되기 전에 최종 사용자들에 의해 (예컨대, 스케일링을 통해서) 제어가능할 수 있다. 커스터마이즈된 가상 뷰들은 상이한 양의 인지된 심도로 발생될 수도 있다. 또한, 심도의 추정은 오직 하나의 뷰 2D 콘텐츠가 이용가능한 단안의 비디오를 이용하여 수행될 수 있다.
본 개시물의 일부 기법들은 H.264/AVC (어드밴스드 비디오 코딩) 표준의 멀티 뷰 비디오 코딩 (MVC) 익스텐션을 참조하여 설명된다. MVC 의 최근의 합동 초안은 http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007에서 입수가능한 JVT-AD007, "Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding" (30차 JVT 회의, 스위스 제네바, 2009년 1월-2월) 에 설명되어 있으며, 이는 본원에서 참조로서 포함된다. 다음 설명은 H.264/AVC 관점에서 이루어지지만, 본 개시물의 기법들은 다른 멀티 뷰 비디오 코딩 프로세스들 또는 현재 제안된 비디오 코딩 표준들에 대한 장래의 멀티 뷰 비디오 코딩 프로세스에의 이용에도 적용가능할 수도 있다.
H.264/AVC 에서, 각각의 NAL (network abstraction layer) 유닛은, 코딩된 비디오 데이터를 포함하는 경우에 슬라이스 헤더를 갖는다. 슬라이스 헤더는 다음의 정보를 포함할 수도 있다: 슬라이스 어드레스, 시작 매크로블록의 로케이션, 슬라이스 타입, 이용되는 PPS (picture parameter set), 및 슬라이스의 초기 양자화 파라미터 (QP) 와 PPS 에서 시그널링된 QP 사이의 델타 QP, 참조 픽쳐들의 순서 (frame_num) 및 참조 픽쳐의 디스플레이 순서 (예를 들어, 픽쳐 순서 카운트 (POC)), 참조 픽쳐 리스트 구성 관련 구문 엘리먼트들, 메모리 관리 제어 동작 관련 구문 엘리먼트들, 가중처리된 예측 관련 구문 엘리먼트들.
본원에 개시된 기술들은 동일한 뷰의 공동 위치된 텍스쳐 뷰 성분들에 대한 슬라이스 헤더에 저장된 구문 엘리먼트들로부터 심도 뷰 성분에 대한 구문 엘리먼트를 예측하는데 적용될 수도 있다. 예를 들어, 심도 슬라이스 및 텍스쳐 슬라이스에 공통인 구문 엘리먼트들의 값들은 텍스쳐 뷰 성분들에 대한 슬라이스 헤더에는 포함될 수도 있지만, 연관된 뷰 성분들에 대한 슬라이스 헤더에는 포함되지 않을 수도 있다. 즉, 비디오 인코더 또는 디코더는 심도 뷰 성분들에 대한 슬라이스 헤더에 존재하지 않는 텍스쳐 뷰 성분들에 대한 슬라이스 헤더에서의 심도 슬라이스 및 텍스쳐 슬라이스에 공통인 구문 엘리먼트들을 코딩할 수도 있다. 예를 들어, 제 1 값은 텍스쳐 뷰 성분들에 대한 슬라이스 헤더에서 제 1 구문 엘리먼트에 대해 정의될 수도 있다. 심도 뷰 성분들에 대한 슬라이스 헤더는 또한 제 1 구문 엘리먼트를 공유하며, 이는 제 1 구문 엘리먼트가 텍스쳐 슬라이스 헤더 및 심도 슬라이스 헤더 양쪽 모두에 공통임을 의미한다. 심도 뷰 성분들에 대한 제 1 구문 엘리먼트는 제 2 값을 갖는다. 그러나, 심도 뷰 성분에 대한 슬라이스 헤더는 제 1 구문 엘리먼트를 포함하지 않는다. 본원에서 설명된 기법들에 따르면, 제 1 구문 엘리먼트의 제 2 값은 제 1 값으로부터 예측될 수도 있다.
본 개시물은 슬라이스 헤더 예측을 위한 다음의 기법들을 제공한다. 본 개시물의 일 예에 따르면, 예측은 슬라이스 헤더 레벨로 제어되고, 참조 슬라이스 헤더는 현재 뷰와 동일한 액세스 유닛의 동일한 뷰에서의 뷰 성분인 것으로서, 또는 현재 뷰와 동일한 액세스 유닛의 AVC 호환가능 기본 뷰 텍스쳐인 것으로서 정의될 수도 있다.
다른 예에서, 심도 뷰 성분의 참조 슬라이스 헤더는 디코딩 순서에 있어서 제 1 뷰의 심도 뷰 성분의 슬라이스 헤더 또는 동일 뷰에서의 텍스쳐 뷰 성분의 슬라이스 헤더일 수도 있다. 다른 예에서, 델타 뷰 순서 인덱스 id 가 동일한 액세스 유닛에 있어서 슬라이스 헤더가 예측되어지는 뷰가 어느 것인지를 나타내도록 시그널링될 수도 있다.
몇몇 실시예들에서, 플래그는 참조 슬라이스 헤더가 특정 뷰의 텍스쳐 뷰 성분으로부터 기인하는지 또는 심도 뷰 성분으로부터 기인하는지를 나타내도록 시그널링될 수도 있다. 다른 예에서, 슬라이스 헤더 익스텐션에서의 구문 엘리먼트들은, 슬라이스 헤더에 존재하는 경우, AVC 슬라이스 헤더에서의 슬라이스 헤더 구문 엘리먼트들과 상이한 방식으로 재정렬 (reorder) 될 수도 있다.
또 다른 예에서, 구문 엘리먼트들, slice_type, num_ref_idx_l0_active_minus1, num_ref_idx_l1_active_minus1 및 참조 픽쳐 리스트 변경이 선택적으로 예측될 수도 있다. 즉, 이들은 각각의 슬라이스 헤더 3DV 익스텐션에서의 제어 플래그에 기초하여 예측될 수도 또는 예측되지 않을 수도 있다. 참조 픽쳐 리스트 변경의 예측이 인에이블되는 경우, 새롭게 도입된 참조 픽쳐 리스트 제외 구문 테이블 또는 참조 픽쳐 리스트 삽입 구문 테이블에 기초하여 참조 픽쳐 리스트 변경을 정제하는 것도 가능할 수도 있다.
본 개시물의 다른 예에서, 심도 또는 텍스쳐 뷰 성분이 나타내어진 후, 액세스 유닛에서의 소정의 뷰 성분의 슬라이스의 슬라이스 ID 는 추가로 시그널링될 수도 있다. 몇몇 예들에서, 소정의 뷰 성분을 포함하는 액세스 유닛은 심도 또는 텍스쳐 뷰 성분에 대응하는 동일한 액세스 유닛일 수도 있다.
본 개시물의 다른 예에서, 슬라이스 ID 는 각각의 뷰 성분의 각각의 슬라이스에 대해 시그널링될 수도 있다. 슬라이스 ID 는 NAL 유닛 헤더에서 또는 슬라이스 헤더에서 시그널링될 수도 있다. 추가로, 위의 표시들은 슬라이스 헤더 3DV 익스텐션에서 시그널링될 수도 있다.
본 개시물의 기법들은 블록 기반 인터 코딩을 이용할 수도 있다. 블록 기반의 인터 코딩은 비디오 시퀀스의 연속하는 코딩된 유닛들의 비디오 블록들 사이의 시간 리던던시를 감소시키거나 또는 제거하기 위해 시간 예측에 의존하는 코딩 기법이다. 코딩된 유닛들은 비디오 프레임들, 비디오 프레임들의 슬라이스들, 화상들의 그룹들, 또는 인코딩된 비디오 블록들의 또 다른 정의된 유닛을 포함할 수도 있다. 인터 코딩에 있어, 비디오 인코더는 2개 이상의 인접한 코딩된 유닛들의 비디오 블록들 사이에 모션을 추정하기 위해 모션 추정 및 모션 보상을 수행한다. 모션 추정을 위한 기법들을 이용하여, 비디오 인코더는 하나 이상의 참조 프레임들 또는 다른 코딩된 유닛들에서의 대응하는 예측 비디오 블록들에 대한 비디오 블록들의 변위를 나타내는 모션 벡터들을 발생한다. 모션 보상을 위한 기법들을 이용하여, 비디오 인코더는 그 모션 벡터들을 이용하여, 하나 이상의 참조 프레임들 또는 다른 코딩된 유닛들로부터 예측 비디오 블록들을 발생한다. 모션 보상 이후, 비디오 인코더는 코딩되고 있는 원래 비디오 블록들로부터 예측 비디오 블록들을 감산함으로써 잔여 비디오 블록들을 계산한다.
참조 뷰 성분들 (RVCs) 은 다수의 텍스쳐 또는 심도 슬라이스들을 포함할 수도 있다. 참조 뷰 성분들이 다수의 슬라이스들을 포함하는, 일부 예들에서, 동일 장소에 배치된 슬라이스가 현재의 슬라이스의 구문 엘리먼트들을 결정할 때에 사용될 수도 있다. 이의 대안으로, RVC 에서의 제 1 슬라이스가 현재의 슬라이스의 구문 엘리먼트들을 결정하는데 사용될 수도 있다. 다른 예들에서, RVC 에서의 또 다른 슬라이스가 현재의 슬라이스의 공통 구문 엘리먼트들을 결정하는데 사용될 수도 있다.
도 1 은 본 개시물의 기법들에 따른, 비디오 인코딩 및 디코딩 시스템 (10) 의 일 예를 예시하는 블록도이다. 도 1 의 예에 나타낸 바와 같이, 시스템 (10) 은 인코딩된 비디오를 링크 (15) 를 통해서 목적지 디바이스 (16)로 송신하는 소스 디바이스 (12) 를 포함한다. 링크 (15)는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (16)로 이동시킬 수 있는 임의 종류의 매체 또는 디바이스를 포함할 수도 있다. 일 예에서, 링크 (15)는 소스 디바이스 (12) 로 하여금 인코딩된 비디오 데이터를 목적지 디바이스 (16)로 직접 실시간으로 송신가능하도록 하는 통신 매체를 포함한다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라서 변조되어 목적지 디바이스 (16)로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들과 같은, 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 근거리 네트워크, 광역 네트워크, 또는 글로벌 네트워크, 예컨대 인터넷과 같은 패킷-기반 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (16)로 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (16)는 광범위한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부 예들에서, 소스 디바이스 (12) 및 목적지 디바이스 (16)중 어느 하나 또는 양자는 무선 통신 디바이스들, 예컨대 무선 핸드셋들, 소위 셀룰러 또는 위성 무선 전화기들, 또는 링크 (15) 를 거쳐서 비디오 정보를 통신할 수 있는 임의의 무선 디바이스들을 포함할 수도 있으며, 이 경우, 링크 (15) 는 무선이다. 그러나, 텍스쳐 및 심도 정보 양자를 포함하는 비디오 데이터의 코딩 블록들에 관련한, 본 개시물의 기법들은 반드시 무선 애플리케이션들 또는 설정들에 한정되지는 않는다. 이 기법들은 또한 물리적인 와이어들, 광 섬유들 또는 다른 물리적인 또는 무선 매체들을 통해서 통신하는 디바이스들을 포함한, 광범위한 다른 설정들 및 디바이스들에 유용할 수도 있다. 게다가, 인코딩 또는 디코딩 기법들은 또한 임의의 다른 디바이스와 반드시 통신할 필요가 없는 독립형 디바이스에 적용될 수도 있다. 예를 들어, 비디오 디코더 (28) 는 디지털 미디어 플레이어 또는 다른 디바이스에 상주하여, 스트리밍, 다운로드 또는 저장 매체들을 통해서 인코딩된 비디오 데이터를 수신할 수도 있다. 그러므로, 서로 통신하고 있는 소스 디바이스 (12) 및 목적지 디바이스 (16)의 서술이 예시적인 구현의 예시의 목적을 위해 설명되며, 일반적으로 다양한 환경들, 애플리케이션들 또는 구현예들에서 비디오 코딩하는데 적용가능할 수도 있는 본 개시물에서 설명하는 기법들에 대한 한정으로 간주되지 않아야 한다.
대안으로서, 인코딩된 데이터는 출력 인터페이스 (24) 로부터 저장 디바이스 (17) 로 출력될 수도 있다. 이와 유사하게, 인코딩된 데이터는 저장 디바이스 (17) 로부터 비디오 디코더 (28) 에 의해 액세스될 수도 있다. 저장 디바이스 (17) 는 하드 드라이브, 블루-레이 디스크들, DVDs, CD-ROMs, 플래시 메모리, 휘발성 또는 비-휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산된 또는 국부적으로 액세스되는 데이터 저장 매체들 중 임의의 데이터 저장 매체를 포함할 수도 있다. 추가 예에서, 저장 디바이스 (17) 는 소스 디바이스 (12) 에 의해 발생되는 인코딩된 비디오를 유지할 수도 있는 파일 서버 또는 또다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 디바이스 (16) 는 저장된 비디오 데이터에 저장 디바이스 (17) 로부터 스트리밍 또는 다운로드를 통해서 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (16) 로 송신하는 것이 가능한 임의 종류의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예컨대, 웹사이트용), FTP 서버, NAS (network attached storage) 디바이스들, 또는 로칼 디스크 드라이브를 포함한다. 목적지 디바이스 (16) 는 인터넷 접속을 포함한, 임의의 표준 데이터 접속을 통해서, 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버 상에 저장된 인코딩된 비디오 데이터에 액세스하는데 적합한, 무선 채널 (예컨대, Wi-Fi 접속), 유선 접속 (예컨대, DSL, 케이블 모뎀 등), 또는 양자의 조합을 포함할 수도 있다. 저장 디바이스 (17) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (20), 심도 프로세싱 유닛 (21), 비디오 인코더 (22), 및 출력 인터페이스 (24) 를 포함한다. 목적지 디바이스 (16)는 입력 인터페이스 (26), 비디오 디코더 (28), 및 디스플레이 디바이스 (30) 를 포함한다. 본 개시물에 따르면, 소스 디바이스 (12) 의 비디오 인코더 (22) 는 본 개시물의 기법들 중 하나 이상의 기법들을 비디오 인코딩 프로세스의 부분으로서 적용하도록 구성될 수도 있다. 이와 유사하게, 목적지 디바이스 (16)의 비디오 디코더 (28) 는 본 개시물의 기법들 중 하나 이상의 기법들을 비디오 디코딩 프로세스의 부분으로서 적용하도록 구성될 수도 있다.
비디오 인코더 (22) 는 또한 변환, 양자화, 및 엔트로피 코딩 프로세스들을 적용하여, 잔여 블록들의 통신과 연관되는 비트 레이트를 추가로 감소시킬 수도 있다. 변환 기법들은 이산 코사인 변환들 (DCTs) 또는 개념적으로 유사한 프로세스들을 포함할 수도 있다. 이의 대안으로, 웨이블릿 변환들, 정수 변환들, 또는 다른 유형들의 변환들이 이용될 수도 있다. DCT 프로세스에서, 일 예로서, 픽셀 값들의 세트가 주파수 도메인에서 픽셀 값들의 에너지를 나타내는 변환 계수들로 변환된다. 비디오 인코더 (22) 는 또한 변환 계수들을 양자화할 수도 있는데, 일반적으로 대응하는 변환 계수와 연관되는 비트수를 감소시키는 프로세스를 수반할 수도 있다. 엔트로피 코딩은 비트스트림으로의 출력을 위해 일괄 압축하는 하나 이상의 프로세스들을 포함할 수도 있으며, 여기서, 압축된 데이터는 예를 들어, 코딩 모드들의 시퀀스, 모션 정보, 코딩된 블록 패턴들, 및 양자화된 변환 계수들을 포함할 수도 있다. 엔트로피 코딩의 예들은 컨텍스트 적응 가변 길이 코딩 (CAVLC) 및 컨텍스트 적응 2진 산술 코딩 (CABAC) 을 포함하지만, 이에 한정되지 않는다.
코딩된 비디오 블록은 예측 블록을 생성하거나 또는 식별하는데 사용될 수 있는 예측 정보, 및 원래 블록을 재생성하기 위해 예측 블록에 적용될 수 있는 데이터의 잔여 블록으로 표현될 수도 있다. 예측 정보는 데이터의 예측 블록을 식별하는데 사용되는 하나 이상의 모션 벡터들을 포함할 수도 있다. 모션 벡터들을 이용하여, 비디오 디코더 (28) 는 잔여 블록들을 코딩하는데 사용되었던 예측 블록들을 재구성할 수도 있다. 따라서, 잔여 블록들의 세트 및 모션 벡터들의 세트 (그리고, 가능한 한 일부 추가적인 구문) 이 주어지면, 비디오 디코더 (28) 는 원래 인코딩되었던 비디오 프레임을 재구성할 수 있다. 모션 추정 및 모션 보상에 기초한 인터-코딩은 연속적인 비디오 프레임들 또는 다른 유형들의 코딩된 유닛들이 종종 유사하기 때문에, 과도한 데이터 손실 없이 상대적으로 높은 압축의 양들을 달성할 수 있다. 인코딩된 비디오 시퀀스는 잔여 데이터, (인터-예측 인코딩될 때) 모션 벡터들, 인트라-예측을 위한 인트라-예측 모드들의 표시들, 및 구문 엘리먼트들의 블록들을 포함할 수도 있다.
비디오 인코더 (22) 는 또한 인트라-예측 기법들을 이용하여, 공통 프레임 또는 슬라이스의 이웃하는 비디오 블록들에 대해 비디오 블록들을 인코딩할 수도 있다. 이러한 방법으로, 비디오 인코더 (22) 는 블록들을 공간적으로 예측한다. 비디오 인코더 (22) 는 일반적으로 여러 공간 예측 방향들에 대응하는 다양한 인트라-예측 모드들로 구성될 수도 있다. 모션 추정과 같이, 비디오 인코더 (22) 는 블록의 휘도 성분에 기초하여 인트라-예측 모드를 선택하고, 그후 인트라-예측 모드를 재사용하여 블록의 색차 성분들을 인코딩하도록 구성될 수도 있다. 더욱이, 본 개시물의 기법들에 따르면, 비디오 인코더 (22) 는 블록의 심도 성분을 인코딩하기 위해 인트라-예측 모드를 재사용할 수도 있다.
블록의 심도 성분을 인코딩하는데 모션 및 인트라-예측 모드 정보를 재사용함으로써, 이들 기법들은 심도 맵들을 인코딩하는 프로세스를 단순화할 수도 있다. 더욱이, 본원에서 설명되는 기법들은 비트스트림 효율을 향상시킬 수도 있다. 즉, 비트스트림은 심도 뷰 성분들의 슬라이스에 대한 슬라이스 헤더로 추가적인 구문 엘리먼트를 시그널링하는 대신, 텍스쳐 뷰 성분에 대한 슬라이스 헤더로 일부 구문 엘리먼트들을 한번 (once) 표시하는 것을 단지 필요로 한다.
옵션적으로, 텍스쳐 뷰 성분은 또한 그의 대응하는 심도 뷰 성분을 동일한 방법으로 재사용할 수도 있다.
또, 도 1 의 예시된 시스템 (10) 은 단지 일 예이다. 본 개시물의 여러 기법들은 블록-기반의 예측 인코딩을 지원하는 임의의 인코딩 디바이스에 의해, 또는 블록-기반의 예측 디코딩을 지원하는 임의의 디코딩 디바이스에 의해 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (16)는 단지 코딩 디바이스들의 예들이며, 여기서, 소스 디바이스 (12) 는 목적지 디바이스 (16)로의 송신을 위해 코딩된 비디오 데이터를 발생한다. 일부의 경우, 디바이스들 (12 및 16) 은 디바이스들 (12 및 16) 의 각각이 비디오 인코딩 및 디코딩 성분들을 포함하도록, 실질적으로 대칭적 방법으로 동작할 수도 있다. 그러므로, 시스템 (10) 은 예컨대, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 비디오 전화 통신을 위해, 비디오 디바이스 (12) 와 비디오 디바이스 (16) 사이의 1-방향 또는 2-방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (20) 는 비디오 캡쳐 디바이스, 예컨대 비디오 카메라, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 또는 비디오 콘텐츠 제공자로부터 배급된 비디오를 포함한다. 이의 대안으로, 비디오 소스 (20) 는 컴퓨터 그래픽스-기반의 데이터를 소스 비디오, 또는 라이브 비디오, 아카이브된 비디오, 및/또는 컴퓨터 발생된 비디오의 조합으로서 발생할 수도 있다. 일부의 경우, 비디오 소스 (20) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (16)는 소위 카메라 폰들 또는 비디오 폰들, 또는 비디오 데이터를 조작하도록 구성된 다른 모바일 디바이스들, 예컨대 태블릿 컴퓨팅 디바이스들일 수도 있다. 각 경우에, 캡쳐된, 사전-캡쳐된 또는 컴퓨터-발생된 비디오는 비디오 인코더 (22) 에 의해 인코딩될 수도 있다. 비디오 소스 (20) 는 뷰를 캡쳐하여 심도 프로세싱 유닛 (21) 에 포워드한다.
비디오 소스 (20) 는 뷰 2 에서의 오브젝트들에 대한 심도 이미지의 계산을 위해 뷰 2 를 심도 프로세싱 유닛 (21) 에 전송한다. 일부 예들에서, 뷰 2 는 하나 보다 많은 뷰를 포함한다. 심도 이미지는 비디오 소스 (20) 에 의해 캡쳐된 뷰 2 에서의 오브젝트들에 대해 결정된다. 심도 프로세싱 유닛 (21) 은 뷰 2 의 이미지에서의 오브젝트들에 대한 심도 값들을 자동적으로 계산하도록 구성된다. 예를 들어, 심도 프로세싱 유닛 (21) 은 휘도 정보에 기초하여 오브젝트들에 대한 심도 값들을 계산한다. 일부 예들에서, 심도 프로세싱 유닛 (21) 은 사용자로부터 심도 정보를 수신하도록 구성된다. 일부 예들에서, 비디오 소스 (20) 는 2개의 장면의 뷰들을 상이한 관점들에서 캡쳐하고, 그후 2개의 뷰들에서의 오브젝트들 사이의 디스패리티에 기초하여 그 장면 내 오브젝트들에 대한 심도 정보를 계산한다. 여러 예들에서, 비디오 소스 (20) 는 표준 2차원 카메라, 입체적인 장면의 뷰를 제공하는 2개의 카메라 시스템, 다수의 장면의 뷰들을 캡쳐하는 카메라 어레이, 또는 하나의 뷰 플러스 심도 정보를 캡쳐하는 카메라를 포함한다.
심도 프로세싱 유닛 (21) 은 텍스쳐 뷰 성분들 (4) 및 심도 뷰 성분들 (6) 을 비디오 인코더 (22) 에 전송한다. 심도 프로세싱 유닛 (21) 은 또한 비디오 인코더 (22) 에 직접 뷰 2 를 전송할 수도 있다. 심도 정보 (6) 는 뷰 2 에 대한 심도 맵 이미지를 포함한다. 심도 맵 이미지는 디스플레이되는 영역 (예컨대, 블록, 슬라이스, 또는 프레임) 과 연관되는 픽셀들의 각각의 영역에 대한 심도 값들의 맵을 포함할 수도 있다. 픽셀들의 영역은 단일 픽셀 또는 하나 이상의 픽셀들의 그룹을 포함한다. 심도 맵들의 일부 예들은 픽셀 당 하나의 심도 성분을 갖는다. 다른 예들에서, 픽셀 당 다수의 심도 성분들이 있다. 심도 맵들은 텍스쳐 데이터와 실질적으로 유사한 방식으로, 예컨대, 다른, 이전에 코딩된 심도 데이터에 대한 인트라-예측 또는 인터-예측을 이용하여 코딩될 수도 있다. 다른 예들에서, 심도 맵들은 텍스쳐 데이터가 코딩되는 방식과는 상이한 방식으로 코딩된다.
심도 맵은 일부 예들에서 추정될 수도 있다. 하나 보다 많은 뷰가 존재할 때, 스테레오 매칭이 심도 맵들을 추정하는데 사용될 수 있다. 그러나, 2D 대 3D 변환에서, 심도를 추정하는 것이 더 어려울 수도 있다. 그럼에도 불구하고, 여러 방법들에 의해 추정된 심도 맵이 심도-이미지-기반의 렌더링 (DIBR) 에 기초하여 3D 렌더링하는데 사용될 수도 있다.
비디오 소스 (20) 가 다수의 장면의 뷰들을 포함할 수도 있으며 심도 프로세싱 유닛 (21) 이 다수의 뷰들에 기초하여 심도 정보를 계산할 수도 있지만, 소스 디바이스 (12) 는 일반적으로 장면의 각각의 뷰에 대한 하나의 뷰 플러스 심도 정보를 송신할 수도 있다.
뷰 2 가 디지털 정지 화상일 때, 비디오 인코더 (22) 는 예를 들어, JPEG (Joint Photographic Experts Group) 이미지로서 뷰 2 를 인코딩하도록 구성될 수도 있다. 뷰 2 가 비디오 데이터의 프레임일 때, 비디오 인코더 (22) 는 예를 들어, 동화상 전문가 그룹 (MPEG), ISO (International Organization for Standardization)/IEC (International Electrotechnical Commission) MPEG-1 Visual, ISO/IEC MPEG-2 Visual, ISO/IEC MPEG-4 Visual, International Telecommunication Union (ITU) H.261, ITU-T H.262, ITU-T H.263, ITU-T H.264/MPEG-4, H.264 AVC (Advanced Video Coding), 차기 HEVC (High Efficiency Video Coding) 표준 (또한, H.265 로도 지칭됨), 또는 다른 비디오 인코딩 표준들과 같은, 비디오 코딩 표준에 따라서 제 1 뷰 (50) 를 인코딩하도록 구성된다. 비디오 인코더 (22) 는 인코딩된 이미지와 함께 심도 정보 (6) 를 포함하여 코딩된 블록 (8) 을 형성할 수도 있으며, 코딩된 블록은 심도 정보 (6) 와 함께 인코딩된 이미지 데이터를 포함한다. 비디오 인코더 (22) 는 코딩된 블록 (8) 을 출력 인터페이스 (24) 로 전달한다. 코딩된 블록 (8) 은 코딩된 블록 (8) 과 함께 시그널링 정보를 포함한 비트스트림으로 링크 (15) 를 거쳐서 입력 인터페이스 (26) 로 전달될 수도 있다.
인코딩된 비디오 정보는 텍스쳐 성분들 (4) 및 심도 정보 (6) 를 포함한다. 텍스쳐 성분들 (4) 은 비디오 정보의 휘도 (루마) 및 색차 (크로마) 성분들을 포함할 수도 있다. 루마 성분들은 일반적으로 휘도를 기술하지만, 색차 성분들은 일반적으로 컬러의 휴들 (hues) 을 기술한다. 심도 프로세싱 유닛 (21) 은 뷰 2 의 심도 맵으로부터 심도 정보 (6) 를 추출한다. 비디오 인코더 (22) 는 텍스쳐 뷰 성분들 (4) 및 심도 뷰 성분들 (6) 을 인코딩된 비디오 데이터의 단일 코딩된 블록 (8) 으로 인코딩될 수도 있다. 이와 유사하게, 비디오 인코더 (22) 는 루마 성분에 대한 모션 또는 인트라-예측 모드 정보가 크로마 성분들 및 심도 성분에 대해 재사용되도록 블록을 인코딩할 수도 있다. 텍스쳐 뷰 성분들에 대해 사용되는 구문 엘리먼트들이 심도 뷰 성분들에 대한 유사한 구문 엘리먼트들을 예측하는데 사용될 수도 있다.
일부 예들에서, 심도 맵 뷰 성분은 대응하는 텍스쳐 뷰 성분이 인터-뷰 예측 기법들을 이용하여 인코딩되는 경우에도 인터-뷰 예측 기법들을 이용하여 인코딩되지 않을 수도 있다. 예를 들어, 심도 맵 뷰 성분은 대응하는 텍스쳐 뷰 성분이 인터-뷰 예측을 이용하여 예측될 때 인트라-뷰 예측을 이용하여 예측될 수도 있다. 예를 들어, 텍스쳐 뷰 성분을 예측하는 인터-뷰는 텍스쳐 뷰 성분에 대응하는 뷰와는 상이한 뷰의 데이터로부터 텍스쳐 뷰 정보를 예측한다. 이에 반해, 심도 뷰 정보를 예측하는 인트라-뷰는 심도 뷰 정보에 대응하는 뷰와 동일한 뷰의 데이터로부터 심도 정보를 예측한다.
상이한 예측 기법들을 이용함에도 불구하고, 심도 맵 뷰 성분에 대한 일부 구문 엘리먼트들은 대응하는 텍스쳐 뷰 성분의 슬라이스 헤더에서의 대응하는 구문 엘리먼트들로부터 예측될 수도 있다. 그러나, 심도 맵 뷰 성분에 대한 슬라이스 헤더 정보는 참조 화상 리스트 구성에 관련된 정보를 포함할 수도 있다. 즉, 참조 화상 리스트 구성에 관련된 정보는 심도 맵 뷰 성분에 대한 슬라이스 헤더로 시그널링될 수도 있다. 예를 들어, 사용되는 참조 화상들의 수 및 어느 참조 화상들이 심도 맵 뷰 성분을 예측하는데 사용되는지의 표시가 심도 맵 뷰 성분에 대한 슬라이스 헤더로 시그널링될 수도 있다. 유사한 정보가 또한 대응하는 텍스쳐 뷰 성분에 대한 슬라이스 헤더로 시그널링될 수도 있다.
일부 예들에서, 소스 디바이스 (12) 는 코딩된 블록 (8) 을 통신 표준, 예컨대, 코드분할 다중접속 (CDMA) 또는 또 다른 통신 표준에 따라서 변조하는 모뎀을 포함한다. 모뎀은 여러 믹서들, 필터들, 증폭기들 또는 신호 변조용으로 설계된 다른 구성요소들을 포함할 수도 있다. 출력 인터페이스 (24) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함한, 데이터를 송신하도록 설계된 회로들을 포함할 수도 있다. 코딩된 블록 (8) 은 출력 인터페이스 (24) 및 링크 (15) 를 통해서 목적지 디바이스 (16)로 송신된다. 일부 예들에서, 통신 채널을 통해서 송신하는 대신, 소스 디바이스 (12) 는 텍스쳐 및 심도 성분들을 갖는 블록들을 포함한, 인코딩된 비디오 데이터를, 디지털 비디오 디스크 (DVD), 블루-레이 디스크, 플래시 드라이브 등과 같은 저장 디바이스 (32) 상에 저장한다.
목적지 디바이스 (16)의 입력 인터페이스 (26) 는 링크 (15) 를 거쳐서 정보를 수신한다. 일부 예들에서, 목적지 디바이스 (16)는 그 정보를 복조하는 모뎀을 포함한다. 출력 인터페이스 (24) 와 유사하게, 입력 인터페이스 (26) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함한, 데이터를 수신하도록 설계된 회로들을 포함할 수도 있다. 일부의 경우, 출력 인터페이스 (24) 및/또는 입력 인터페이스 (26) 는 수신 회로 및 송신 회로 양자를 포함하는 단일 송수신기 구성요소 내에 포함될 수도 있다. 모뎀은 여러 믹서들, 필터들, 증폭기들 또는 신호 복조용으로 설계된 다른 구성요소들을 포함할 수도 있다. 일부의 경우, 모뎀은 변조 및 복조 양자를 수행하는 구성요소들을 포함할 수도 있다.
또, 비디오 인코더 (22) 에 의해 수행되는 비디오 인코딩 프로세스는 인터-예측 인코딩 동안, 본원에서 설명되는 기법들 중 하나 이상을 구현할 수도 있으며, 모션 추정 및 모션 보상, 및 인트라-예측 인코딩을 포함할 수도 있다. 비디오 디코더 (28) 에 의해 수행되는 비디오 디코딩 프로세스는 또한 이런 기법들을 디코딩 프로세스의 모션 보상 스테이지 동안 수행할 수도 있다.
용어 "코더 (coder)" 는 본원에서 비디오 인코딩 또는 비디오 디코딩을 수행하는 특수화된 컴퓨터 디바이스 또는 장치를 지칭하기 위해 사용된다. 용어 "코더" 는 일반적으로 임의의 비디오 인코더, 비디오 디코더, 또는 결합된 인코더/디코더 (코덱) 를 지칭한다. 용어 "코딩" 은 인코딩 또는 디코딩을 지칭한다. 용어들 "코딩된 블록", "코딩된 블록 유닛", 또는 "코딩된 유닛" 은 전체 프레임, 프레임의 슬라이스, 비디오 데이터의 블록, 또는 사용되는 코딩 기법들에 따라서 정의되는 또 다른 독립적으로 디코딩가능한 유닛과 같은, 비디오 프레임의 임의의 독립적으로 디코딩가능한 유닛을 지칭할 수도 있다.
디스플레이 디바이스 (30) 는 그 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 또 다른 유형의 디스플레이 디바이스와 같은, 다양한 하나 이상의 디스플레이 디바이스들 중 임의의 디스플레이 디바이스를 포함할 수도 있다. 일부 예들에서, 디스플레이 디바이스 (30) 는 3차원의 플레이백이 가능한 디바이스에 대응한다. 예를 들어, 디스플레이 디바이스 (30) 는 뷰어가 착용한 안경과 함께 사용되는 입체 디스플레이를 포함할 수도 있다. 안경은 능동 안경들 (능동 안경) 을 포함할 수도 있으며, 이 경우, 디스플레이 디바이스 (30) 는 능동 안경들의 렌즈들의 교번하는 셔터링과 동기하여, 상이한 뷰들의 이미지들 사이에 빨리 교번한다. 이의 대안으로, 안경은 수동 안경을 포함할 수도 있으며, 이 경우 디스플레이 디바이스 (30) 는 상이한 뷰들로부터의 이미지들을 동시에 디스플레이하며, 수동 안경들은 상이한 뷰들 사이를 필터링하기 위해 일반적으로 직교 방향들로 편광된 편광 렌즈들을 포함할 수도 있다.
도 1 의 예에서, 링크 (15) 는 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들, 또는 무선 매체와 유선 매체들의 임의의 조합을 포함할 수도 있다. 링크 (15) 는 근거리 네트워크, 광역 네트워크, 또는 글로벌 네트워크, 예컨대 인터넷과 같은 패킷-기반 네트워크의 일부를 형성할 수도 있다. 링크 (15) 는 일반적으로 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (16)로 송신하기 위한, 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 컬렉션을 나타낸다. 링크 (15) 는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (16)로 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 는 MPEG 4, 파트 10, AVC (Advanced Video Coding) 으로서 대안적으로 기술되는, ITU-T H.264 표준과 같은 비디오 압축 표준에 따라서 동작할 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 에 의해 사용될 수도 있는 ITU H.264/AVC 표준에 기초하는 추가적인 비디오 압축 표준들은 스케일러블 비디오 코딩 (SVC) 표준을 포함하며, 이 표준은 ITU H.264/AVC 표준에 대한 스케일러블 익스텐션이다. 비디오 인코더 (22) 및 비디오 디코더 (28) 가 따라서 동작할 수도 있는 또 다른 표준은 ITU H.264/AVC 표준에 대한 멀티-뷰 익스텐션인 멀티-뷰 비디오 코딩 (MVC) 표준을 포함한다. 본 개시물의 기법들은, 그러나, 임의의 특정의 비디오 코딩 표준에 한정되지 않는다.
일부 양태들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있으며, 오디오 및 비디오 양자의 인코딩을 공통 데이터 스트림 또는 별개의 데이터 스트림들로 처리하기 위해 적합한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능한 경우, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 다른 프로토콜들, 예컨대, 사용자 데이터그램 프로토콜 (UDP) 을 따를 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSPs), 주문형 집적회로들 (ASICs), 필드 프로그래밍가능 게이트 어레이들 (FPGAs), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 임의의 이들의 조합들로서 구현될 수도 있다. 본 개시물의 기법들 중 임의의 기법 또는 모두가 소프트웨어로 구현될 때, 구현하는 디바이스는 소프트웨어에 대한 명령들을 저장하거나 및/또는 실행하기 위한 하드웨어, 예컨대, 명령들을 저장하기 위한 메모리 및 명령들을 실행하기 위한 하나 이상의 프로세싱 유닛들을 추가로 포함할 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 쪽이든 각각의 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 서버 등에서 인코딩 및 디코딩 능력들을 제공하는 결합된 코덱의 부분으로서 통합될 수도 있다.
비디오 시퀀스는 전형적으로 비디오 화상들로서 지칭되는, 비디오 프레임들의 시리즈를 포함한다. 비디오 인코더 (22) 는 비디오 데이터를 인코딩하기 위해 개개의 비디오 프레임들 내 비디오 블록들에 대해 작용할 수도 있다. 비디오 블록들은 고정 또는 가변 사이즈들을 가질 수도 있으며, 규정된 코딩 표준에 따라서 사이즈가 상이할 수도 있다. 각각의 비디오 프레임은 하나 이상의 슬라이스들의 시리즈를 포함한다. ITU-T H.264 표준에서, 예를 들어, 각각의 슬라이스는 서브-블록들로 배열될 수도 있는 일련의 매크로블록들을 포함한다. H.264 표준은 루마 성분들에 대해 16 x 16, 8 x 8, 또는 4 x 4, 그리고 크로마 성분들에 대해 8 x 8 와 같은 2차원 (2D) 비디오 인코딩에 대한 여러 블록 사이즈들에서 인트라 예측 뿐만 아니라, 루마 성분들에 대해 16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8 및 4 x 4, 그리고 크로마 성분들에 대해 대응하는 스케일링된 사이즈들과 같은 여러 블록 사이즈들에서 인터 예측을 지원한다. 비디오 블록들은 예컨대, 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환 프로세스와 같은 변환 프로세스 이후에, 픽셀 데이터의 블록들, 또는 변환 계수들의 블록들을 포함할 수도 있다. 이들 기법들은 3D 비디오로 확장될 수도 있다.
ITU-T H.264 표준의 2D 매크로블록들은 그 비디오 프레임 또는 슬라이스에 대한 연관되는 루마 및 크로마 성분들 (즉, 텍스쳐 성분들) 과 함께 심도 맵 또는 시차 맵으로부터 심도 정보를 인코딩함으로써 3D로 확장될 수도 있다. 시차 맵핑 (또한, 가상 변위 맵핑 또는 오프셋 맵핑으로 지칭됨) 은 시야각의 함수 및 픽셀 로케이션에서의 높이 맵에 기초하여 픽셀 로케이션에서 텍스쳐 뷰 성분들을 대체한다. 비디오 인코더 (22) 는 심도 정보를 단색광의 비디오로서 인코딩할 수도 있다.
코딩된 블록과 같은 비디오 블록들을 인코딩하기 위해, 비디오 인코더 (22) 는 인트라- 또는 인터 예측을 수행하여 하나 이상의 예측 블록들을 발생한다. 비디오 인코더 (22) 는 인코딩되는 원래 비디오 블록들로부터 예측 블록들을 감산하여, 잔여 블록들을 발생한다. 따라서, 잔여 블록들은 코딩중인 블록들과 예측 블록들 사이의 픽셀 단위 차이들을 나타낼 수도 있다. 비디오 인코더 (22) 는 잔여 블록들에 대해 변환을 수행하여 변환 계수들의 블록들을 발생할 수도 있다. 인트라- 또는 인터-기반의 예측 코딩 및 변환 기법들에 이어서, 비디오 인코더 (22) 는 그 변환 계수들을 양자화할 수도 있다. 양자화는 일반적으로 계수들을 나타내는데 사용되는 데이터의 양을 가능한 한 감소시키기 위해 계수들이 양자화되는 프로세스를 지칭한다. 양자화 이후, 엔트로피 코딩이 컨텍스트 적응 가변 길이 코딩 (CAVLC) 또는 컨텍스트 적응 2진 산술 코딩 (CABAC) 과 같은, 엔트로피 코딩 방법론에 따라서 수행될 수도 있다. 비디오 인코더 (22) 에 의해 수행되는 인코딩 프로세스의 추가적인 세부 사항들이 아래에서 도 2 에 대해서 설명된다.
HEVC (High Efficiency Video Coding) 로서 현재 지칭되는 새로운 비디오 코딩 표준을 개발하려는 노력들이 현재 계속되고 있다. 차기 표준은 또한 H.265 로서 지칭된다. 이 표준화 노력들은 HEVC 테스트 모델 (HM) 로서 지칭되는 비디오 코딩 디바이스의 모델에 기초한다. HM 은 예컨대, ITU-T H.264/AVC 에 따른 디바이스들을 넘어서는 비디오 코딩 디바이스들의 여러 능력들을 가정한다. 예를 들어, H.264 는 9개의 인트라-예측 인코딩 모드들을 포함하는 반면, HM 은 33개 만큼이나 많은 인트라-예측 인코딩 모드들을 포함한다. HEVC 는 본원에서 설명하는 바와 같은 슬라이스 헤더 정보 기법들을 지원하도록 확장될 수도 있다.
HM 비디오 데이터의 블록을 코딩 유닛 (CU) 으로서 지칭한다. 비트스트림 내 구문 데이터는 최대 코딩 유닛 (LCU) 을 정의하며, 이 최대 코딩 유닛은 픽셀들의 개수의 관점에서 최대 코딩 유닛이다. 일반적으로, CU 가 사이즈 구별을 갖지 않는다는 점을 제외하고는, CU 는 H.264 의 매크로블록과 유사한 목적을 갖는다. 코딩된 블록은 HM 표준에 따른 CU 일 수도 있다. 따라서, CU 는 서브-CUs 로 분할될 수도 있다. 일반적으로, CU 에 대한 본 개시물에서의 언급들은 화상의 최대 코딩 유닛 (LCU) 또는 LCU 의 서브-CU 를 지칭할 수도 있다. LCU 는 서브-CUs 로 분할될 수도 있으며, 각각의 서브-CU 는 서브-CUs 로 분할될 수도 있다. 비트스트림에 대한 구문 데이터는 LCU 가 분할되는 최대 횟수를 정의할 수도 있으며, 이는 CU 깊이로 지칭된다. 따라서, 비트스트림은 또한 가장 작은 코딩 유닛 (SCU) 을 정의할 수도 있다. 본 개시물은 또한 CU, 예측 유닛 (PU), 또는 변환 유닛 (TU) 중 임의의 것을 지칭하기 위해 용어 "블록" 을 사용한다.
LCU 는 쿼드트리 데이터 구조와 연관될 수도 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하며, 여기서, 루트 노드는 LCU 에 대응한다. CU 가 4개의 서브-CUs 로 분할되면, CU 에 대응하는 노드는 4개의 잎 노드들을 포함하며, 각각의 잎 노드는 서브-CUs 중 하나에 대응한다. 쿼드트리 데이터 구조의 각각의 노드는 대응하는 CU 에 대해 구문 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리에서 노드는 그 노드에 대응하는 CU 가 서브-CUs 로 분할될지 여부를 나타내는 분할 플래그를 포함할 수도 있다. CU 에 대한 구문 엘리먼트들은 회귀적으로 정의될 수도 있으며, CU 가 서브-CUs 로 분할되는지 여부에 의존할 수도 있다.
분할되지 않은 CU 는 하나 이상의 예측 유닛들 (PUs) 을 포함할 수도 있다. 일반적으로, PU 는 대응하는 CU 의 모두 또는 부분을 나타내며, PU 에 대한 참조 샘플을 취출하기 위한 데이터를 포함한다. 예를 들어, PU 가 인트라-모드 인코딩될 때, PU 는 PU 에 대한 인트라-예측 모드를 기술하는 데이터를 포함할 수도 있다. 또 다른 예로서, PU 가 인터-모드 인코딩될 때, PU 는 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. 모션 벡터를 정의하는 데이터는 예를 들어, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도 (예컨대, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 프레임, 및/또는 모션 벡터에 대한 참조 리스트 (예컨대, 리스트 0 또는 리스트 1) 를 기술할 수도 있다. 모션 벡터는 또한 텍스쳐 뷰 성분들 및 심도 뷰 성분들에 대해 상이한 해상도들을 갖는 것으로 취급될 수도 있다. PU(s) 를 정의하는 CU 에 대한 데이터는 또한 예를 들어, 하나 이상의 PUs 로의 CU 의 파티셔닝을 기술할 수도 있다. 모드들을 파티셔닝하는 것은 CU 가 코딩되지 않거나, 인트라-예측 모드 인코딩되거나, 또는 인터-예측 모드 인코딩되는지 여부에 따라 상이할 수도 있다.
하나 이상의 PUs 를 갖는 CU 는 또한 하나 이상의 변환 유닛들 (TUs) 을 포함할 수도 있다. PU 를 이용한 예측 이후, 비디오 인코더 (22) 는 PU 에 대응하는 CU 의 부분에 대해 잔여 값을 계산할 수도 있다. 이 잔여 값은 변환되고, 스캐닝되고, 그리고 양자화될 수도 있다. TU 는 PU 의 사이즈에 반드시 제한될 필요는 없다. 따라서, TUs 는 동일한 CU 에 대한 대응하는 PUs 보다 더 크거나 또는 더 작을 수도 있다. 일부 예들에서, TU 의 최대 사이즈는 대응하는 CU 의 사이즈에 대응할 수도 있다.
위에서 언급한 바와 같이, 인트라-예측은 동일한 화상의 이전에 코딩된 CUs 로부터 화상의 현재의 CU 의 PU 를 예측하는 것을 포함한다. 좀더 구체적으로는, 비디오 인코더 (22) 는 특정의 인트라-예측 모드를 이용하여 화상의 현재의 CU 를 인트라-예측할 수도 있다. HM 인코더는 33개까지의 인트라-예측 모드들로 구성될 수도 있다. 따라서, 방향 인트라-예측 모드들과 방향 변환들 사이의 일-대-일 맵핑을 지원하기 위해, HM 인코더들 및 디코더들은 각각의 지원되는 변환 사이즈에 대한 66 개의 매트릭스들을 저장할 필요가 있을 것이다. 더욱이, 모든 33개의 인트라-예측 모드들이 지원되는 블록 사이즈들은 상대적으로 큰 블록들, 예컨대, 32 x 32 픽셀들, 64 x 64 픽셀들, 또는 심지어 더 큰 픽셀들일 수도 있다.
목적지 디바이스 (16)에서, 비디오 디코더 (28) 는 인코딩된 비디오 데이터 (8) 를 수신한다. 비디오 디코더 (28) 는 코딩된 블록과 같은 수신된 인코딩된 비디오 데이터 (8) 을 CAVLC 또는 CABAC 와 같은 엔트로피 코딩 방법론에 따라서 엔트로피 디코딩하여, 양자화된 계수들을 획득한다. 비디오 디코더 (28) 는 역양자화 (양자화 해제) 및 역변환 함수들을 적용하여 픽셀 도메인에서 잔여 블록을 재구성한다. 비디오 디코더 (28) 는 또한 인코딩된 비디오 데이터에 포함된 제어 정보 또는 구문 정보 (예컨대, 코딩 모드, 모션 벡터들, 필터 계수들을 정의하는 구문 등) 에 기초하여, 예측 블록을 발생한다. 비디오 디코더 (28) 는 예측 블록과 재구성된 잔여 블록의 총합을 계산하여, 디스플레이를 위해 재구성된 비디오 블록을 발생한다. 비디오 디코더 (28) 에 의해 수행되는 예시적인 디코딩 프로세스의 추가적인 세부 사항들이 아래에서 도 5 에 대해서 설명된다.
본원에서 설명하는 바와 같이, Y 는 휘도를 나타낼 수도 있으며, Cb 및 Cr 은 3차원의 YCbCr 컬러 공간의 2개의 상이한 색차의 값들 (예컨대, 청색 및 적색 휴들) 을 나타낼 수도 있으며, D 는 심도 정보를 나타낼 수도 있다. 일부 예들에서, 각각의 픽셀 로케이션은 3차원의 컬러 공간에 대해 3개 픽셀 값들 및 픽셀 로케이션의 심도에 대해 하나의 픽셀 값을 실제로 정의할 수도 있다. 다른 예들에서, 크로마 성분 당 상이한 개수의 루마 성분들이 있을 수도 있다. 예를 들어, 크로마 성분 당 4개의 루마 성분들이 있을 수도 있다. 게다가, 심도 및 텍스쳐 성분들은 상이한 해상도들을 가질 수도 있다. 이러한 예에서, 텍스쳐 뷰 성분들 (예를 들어, 루마 성분들) 과 심도 뷰 성분들 사이에 일-대-일 관계가 있을 수도 있다. 본 개시물의 기법들은, 그러나, 단순성의 목적들을 위해 하나의 치수들에 대한 예측을 지칭할 수도 있다. 기법들이 픽셀 값들에 대해 하나의 치수들로 설명되는 한, 유사한 기법들이 다른 치수들로 확장될 수도 있다. 특히, 본 개시물의 일 양태에 따르면, 비디오 인코더 (22) 및/또는 비디오 디코더 (28) 는 픽셀들의 블록을 획득할 수도 있으며, 여기서, 픽셀들의 블록은 텍스쳐 뷰 성분들 및 심도 뷰 성분들을 포함한다.
일부 예들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 모션 보상 동안 하나 이상의 내삽 필터링 기법들을 이용할 수도 있다. 즉, 비디오 인코더 (22) 및/또는 비디오 디코더 (28) 는 내삽 필터를 풀 정수 픽셀 위치들의 세트들을 포함하는 필터 서포트에 적용할 수도 있다.
목적지 디바이스 (16)의 비디오 디코더 (28) 는 하나 이상의 코딩된 블록들을 인코딩된 비디오 비트스트림의 부분으로서, 텍스쳐 뷰 성분들에 관련한 구문 엘리먼트들을 포함한, 추가 정보와 함께, 수신한다. 비디오 디코더 (28) 는 코딩된 블록 (8) 및 구문 엘리먼트들에 기초하여 3D 플레이백을 위해 비디오 데이터를 렌더링할 수도 있다. 본 개시물의 기법들에 따르면, 그리고, 이하에 더 자세히 설명하는 바와 같이, 텍스쳐 뷰 성분들 (4) 에 대해 시그널링된 구문 엘리먼트들은 심도 뷰 성분들 (6) 에 대한 구문 엘리먼트들을 예측하는데 사용될 수도 있다. 구문 엘리먼트들은 텍스쳐 뷰 성분들 (4) 에 대한 슬라이스 헤더로 시그널링될 수도 있다. 심도 뷰 성분들 (6) 에 대한 대응하는 구문 엘리먼트들은 텍스쳐 뷰 성분들 (4) 에 대한 관련된 구문 엘리먼트들로부터 결정될 수도 있다.
심도 뷰 성분들 (6) 에 대한 일부 구문 엘리먼트들은 텍스쳐 뷰 성분들 (4) 에 대한 슬라이스 헤더에서 시그널링될 수도 있다. 대안으로서, 텍스쳐 뷰 성분들 (4) 에 대한 일부 구문 엘리먼트들은 심도 뷰 성분들 (6) 에 대한 슬라이스 헤더에서 시그널링될 수도 있다. 일 예에서, 소스 디바이스 (12) 의 비디오 인코더 (22) 는 참조 슬라이스 헤더로부터 현재 뷰의 슬라이스 헤더에 대한 구문 엘리먼트를 예측하고, 예측된 구문 엘리먼트들에 기초하여 현재 뷰를 코딩하도록 구성될 수도 있다. 본 개시물의 다른 예에 따르면, 목적지 디바이스 (16) 의 비디오 디코더 (30) 는 참조 슬라이스 헤더로부터 현재 뷰의 슬라이스 헤더에 대한 구문 엘리먼트를 예측하고, 예측된 구문 엘리먼트들에 기초하여 현재 뷰를 코딩하도록 구성될 수도 있다.
본 개시물의 기법들은 슬라이스 헤더 3DV 익스텐션을 기술한다. 본 기법은 동일한 액세스 유닛의 그리고 동일한 뷰의 공동 위치된 텍스쳐 뷰 성분들에 대한 슬라이스 헤더에 저장된 구문 엘리먼트들로부터 심도 뷰 성분에 대한 구문 엘리먼트들을 예측하도록 적용될 수도 있다. 액세스 유닛은 텍스쳐 뷰 성분들 및 대응하는 심도 뷰 성분들을 포함하는 NAL (network abstraction layer) 일 수도 있다. 구문 엘리먼트들의 예측은 슬라이스 헤더 레벨에서 제어될 수도 있다. 심도 뷰 성분 또는 텍스쳐 뷰 성분의 슬라이스 헤더에서의 일부 구문 엘리먼트들은 참조 슬라이스 헤더로부터 에측될 수도 있다.
일 예에서, 참조 슬라이스 헤더는 예측된 구문 엘리먼트들과 동일한 액세스 유닛의 동일한 뷰에서의 뷰 성분으로부터 기인하거나 또는 동일 액세스 유닛의 AVC (Advanced Video Coding) 호환가능 기본 뷰 텍스쳐로부터 기인한다. 대안으로서, 심도 뷰 성분의 참조 슬라이스 헤더는 디코딩 순서에서의 첫번째 뷰의 심도 뷰 성분의 슬라이스 헤더 또는 동일한 뷰의 텍스쳐 뷰 성분의 슬라이스 헤더이다. 델타 뷰 순서 인덱스 ID 는 동일 액세스 유닛에서 슬라이스 헤더가 기인하는 것이 어느 뷰인지를 나타내도록 시그널링될 수도 있다. 추가의 예들에서, 참조 슬라이스 헤더가 심도 뷰 성분 또는 텍스쳐 뷰 성분으로부터 기인하는지의 여부를 나타내는 플래그가 시그널링될 수도 있다. 특정 뷰가 코딩된 비트스트림에서 시그널링될 수도 있다.
슬라이스 헤더 예측에 대한 다른 익스텐션들은 AVC 슬라이스 헤더에서의 슬라이스 헤더 구문 엘리먼트들에 이용되는 것과 상이한 순서로 슬라이스 헤더의 구문 엘리먼트들을 정렬하는 것을 포함할 수도 있다. 다른 예들에서, 각각의 슬라이스 헤더 3DV 익스텐션에서의 제어 플래그는 slice_type, num_ref_idx_l0_active_minus1, num_ref_idx_l1_active_minus1 및 참조 픽쳐 리스트 변경이 예측되는지의 여부를 나타낼 수도 있다. 몇몇 기법에서, 참조 픽쳐 리스트 변경의 예측이 인에이블되는 경우, 참조 픽쳐 리스트 변경은 새롭게 도입된 참조 픽쳐 리스트 제외 구문 테이블 또는 참조 픽쳐 리스트 삽입 구문 테이블에 기초하여 정제될 수도 있다.
일부 예들에서, 상술한 플래그들 또는 다른 표시들은 슬라이스 헤더 3DV 익스텐션에서만 시그널링된다. 심도 또는 텍스쳐 뷰 성분이 나타내어진 후, 액세스 유닛에서의 주어진 뷰 성분의 슬라이스의 슬라이스 ID 가 추가로 시그널링될 수도 있다. 추가로, 슬라이스 ID 는 슬라이스 헤더에서 또는 대응하는 NAL (Network Abstraction Layer) 유닛 헤더에서 각각의 뷰 성분의 각각의 슬라이스에 대하여 시그널링될 수도 있다.
도 2 는 도 1 의 비디오 인코더 (22) 의 일 예를 더 자세히 예시하는 블록도이다. 비디오 인코더 (22) 는 본 개시물의 기법들에 부합하여, 심도 뷰 성분들에 대한 구문 엘리먼트들을 예측하는데 사용될 수도 있는 텍스쳐 뷰 성분들에 대한 구문 엘리먼트들을 시그널링하는 블록 유닛들을 인코딩한다. 비디오 인코더 (22) 는 "코더" 로서 지칭되는, 특수화된 비디오 컴퓨터 디바이스 또는 장치의 일 예이다. 도 2 에 나타낸 바와 같이, 비디오 인코더 (22) 는 소스 디바이스 (12) 의 비디오 인코더 (22) 에 대응한다. 그러나, 다른 예들에서, 비디오 인코더 (22) 는 상이한 디바이스에 대응할 수도 있다. 추가적인 예들에서, (예를 들어, 다른 인코더/디코더 (코덱들) 과 같은) 다른 유닛들이 또한 비디오 인코더 (22) 에 의해 수행되는 기법들과 유사한 기법들을 수행할 수 있다.
비디오 인코더 (22) 는 인트라-코딩 구성요소들이 예시의 용이를 위해 도 2 에 도시되지 않지만, 비디오 프레임들 내 블록들의 인트라-코딩 및 인터-코딩 중 적어도 하나를 수행할 수도 있다. 인트라 코딩은 주어진 비디오 프레임 내 비디오에서 공간 리던던시를 감소시키거나 제거하기 위해 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접 프레임들 내 비디오에서 시간 리던던시를 감소시키거나 제거하기 위해 시간 예측에 의존한다. 인트라-모드 (I-모드) 는 공간-기반의 압축 모드를 지칭할 수도 있다. 예측 (P-모드) 또는 양방향 (B-모드) 와 같은 인터-모드들은 시간 기반의 압축 모드들을 지칭할 수도 있다. 본 개시물의 기법들은 인터 코딩 및 인트라-코딩 동안 적용된다. 그러나, 예시의 단순성 및 용이성을 위해, 공간 예측 유닛과 같은 인트라-코딩 유닛들은 도 2 에 예시되지 않는다.
도 2 에 나타낸 바와 같이, 비디오 인코더 (22) 는 인코딩되는 비디오 프레임 내 비디오 블록을 수신한다. 일 예에서, 비디오 인코더 (22) 는 텍스쳐 뷰 성분들 (4) 및 심도 뷰 성분들 (6) 을 수신한다. 또 다른 예에서, 비디오 인코더는 비디오 소스 (20) 로부터 뷰 2 를 수신한다.
도 2 의 예에서, 비디오 인코더 (22) 는 예측 프로세싱 유닛 (32) 예측 코딩 유닛 (MCU), 멀티-뷰 비디오 플러스 심도 (MVD) 유닛 (33), 메모리 (34), 제 1 가산기 (48), 변환 프로세싱 유닛 (38), 양자화 유닛 (40), 및 엔트로피 코딩 유닛 (46) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (22) 는 또한 역양자화 유닛 (42), 역변환 프로세싱 유닛 (44), 제 2 가산기 (51), 및 디블로킹 유닛 (43) 을 포함한다. 디블로킹 유닛 (43) 은 블록 경계들을 필터링하여 재구성된 비디오로부터 블록킹 현상 아티팩트들을 제거하는 디블로킹 필터이다. 비디오 인코더 (22) 에 포함되면, 디블로킹 유닛 (43) 은 일반적으로 제 2 가산기 (51) 의 출력을 필터링할 것이다. 디블로킹 유닛 (43) 은 하나 이상의 텍스쳐 뷰 성분들에 대한 디블로킹 정보를 결정할 수도 있다. 디블로킹 유닛 (43) 은 또한 심도 맵 성분에 대한 디블로킹 정보를 결정할 수도 있다. 일부 예들에서, 하나 이상의 텍스쳐 성분들에 대한 디블로킹 정보는 심도 맵 성분에 대한 디블로킹 정보와 상이할 수도 있다. 일 예에서, 도 2 에 나타낸 바와 같이, 변환 프로세싱 유닛 (38) 은 HEVC 의 관점에서 "TU" 와 대조적으로, 기능 블록을 나타낸다.
멀티-뷰 비디오 플러스 심도 (MVD) 유닛 (33) 은 텍스쳐 뷰 성분들 (4) 및 심도 뷰 성분들 (6) 과 같은 텍스쳐 성분들 및 심도 정보를 포함하는 하나 이상의 비디오 블록들 (도 2에 "비디오 블록" 로 라벨링됨) 을 수신한다. MVD 유닛 (33) 은 블록 유닛에서 심도 성분들을 인코딩하기 위해 비디오 인코더 (22) 에 기능을 제공한다. MVD 유닛 (33) 은 텍스쳐 뷰 성분들 및 심도 뷰 성분들을, 결합되든 또는 별개로든, 예측 프로세싱 유닛 (32) 에 예측 프로세싱 유닛 (32) 으로 하여금 심도 정보를 프로세싱가능하도록 하는 포맷으로 전송한다. MVD 유닛 (33) 은 또한 변환 프로세싱 유닛 (38) 으로 심도 뷰 성분들이 비디오 블록에 포함된다는 것을 시그널링할 수도 있다. 다른 예들에서, 예측 프로세싱 유닛 (32), 변환 프로세싱 유닛 (38), 양자화 유닛 (40), 엔트로피 코딩 유닛 (46) 등과 같은, 비디오 인코더 (22) 의 각각의 유닛은 텍스쳐 뷰 성분들에 더하여 심도 정보를 프로세싱하는 기능을 포함한다.
일반적으로, 비디오 인코더 (22) 는 모션 보상 유닛 (37) 이 동일한 블록의 심도 성분에 대한 예측된 값을 계산할 때 블록의 휘도 성분에 대해 계산된 모션 벡터들을 재사용하도록 구성된다는 점에서, 심도 정보를 색차 정보와 유사한 방법으로 인코딩한다. 이와 유사하게, 비디오 인코더 (22) 의 인트라-예측 유닛은 심도 뷰 성분을 인트라-예측을 이용하여 인코딩할 때 휘도 성분에 대해 (즉, 휘도 성분의 분석에 기초하여) 선택된 인트라-예측 모드를 사용하도록 구성될 수도 있다.
예측 프로세싱 유닛 (32) 은 모션 추정 (ME) 유닛 (35) 및 모션 보상 (MC) 유닛 (37) 을 포함한다. 예측 프로세싱 유닛 (32) 은 텍스쳐 성분들에 대해서 뿐만 아니라 픽셀 로케이션들에 대해 심도 정보를 예측한다. 하나 이상의 내삽 필터들 (39) ("필터 (39)" 로서 지칭함) 은 예측 프로세싱 유닛 (32) 에 포함될 수도 있으며, 모션 추정 및/또는 모션 보상의 부분으로서 내삽을 수행하기 위해 ME 유닛 (35) 및 MC 유닛 (37) 의 하나 또는 양자에 의해 호출될 수도 있다. 내삽 필터 (39) 는 매우 많은 상이한 유형들의 내삽 및 내삽-형 필터링을 용이하게 하는 복수의 상이한 필터들을 실제로 나타낼 수도 있다. 따라서, 예측 프로세싱 유닛 (32) 은 복수의 내삽 또는 내삽-형 필터들을 포함할 수도 있다.
인코딩 프로세스 동안, 비디오 인코더 (22) 는 코딩되는 비디오 블록 (도 2 에서 "비디오 블록" 으로 라벨링됨) 을 수신하고, 예측 프로세싱 유닛 (32) 은 인터-예측 코딩을 수행하여, 예측 블록 (도 2 에서 "예측 블록" 으로 라벨링됨) 을 발생한다. 예측 블록은 텍스쳐 뷰 성분들 및 심도 뷰 정보 양자를 포함한다. 구체적으로 설명하면, ME 유닛 (35) 은 모션 추정을 수행하여 메모리 (34) 내 예측 블록을 식별할 수도 있으며, MC 유닛 (37) 은 모션 보상을 수행하여 예측 블록을 발생할 수도 있다.
모션 추정은 일반적으로 모션 벡터들을 발생하는 프로세스로 간주되며, 이 프로세스는 비디오 블록들에 대한 모션을 추정한다. 모션 벡터는, 예를 들어, 현재의 프레임 (또는, 다른 코딩된 유닛) 내 코딩되는 블록에 상대적인, 예측 또는 참조 프레임 (또는, 다른 코딩된 유닛, 예컨대, 슬라이스) 내 예측 블록의 변위를 나타낼 수도 있다. 모션 벡터는 풀-정수 또는 서브-정수 픽셀 정밀도를 가질 수도 있다. 예를 들어, 모션 벡터의 수평 성분 및 수직 성분 양자는 각각의 풀 정수 성분들 및 서브-정수 성분들을 가질 수도 있다. 참조 프레임 (또는, 프레임의 부분) 은 시간적으로 현재의 비디오 블록이 속하는 비디오 프레임 (또는, 비디오 프레임의 부분) 의 전후에 로케이트될 수도 있다. 모션 보상은 일반적으로 메모리 (34) 로부터 예측 블록을 페치하거나 또는 발생하는 프로세스로 간주되며, 이 프로세스는 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 데이터를 내삽하거나 또는 아니면 발생하는 것을 포함할 수도 있다.
ME 유닛 (35) 은 비디오 블록을 하나 이상의 참조 프레임들 (예컨대, 이전 및/또는 후속 프레임) 의 참조 블록들을 비교함으로써, 코딩되는 비디오 블록에 대한 적어도 하나의 모션 벡터를 계산한다. 참조 프레임들에 대한 데이터는 메모리 (34) 에 저장될 수도 있다. ME 유닛 (35) 은 모션 추정을 분수 픽셀 정밀도로 수행할 수도 있는데, 이는 종종 분수 픽셀, 분수 pel, 서브-정수, 또는 서브-픽셀 모션 추정으로서 지칭된다. 분수 픽셀 모션 추정에서, ME 유닛 (35) 은 정수 픽셀 로케이션 이외의 로케이션까지의 변위를 나타내는 모션 벡터를 계산한다. 따라서, 모션 벡터는 분수 픽셀 정밀도, 예컨대, 1/2-픽셀 정밀도, 1/4-픽셀 정밀도, 1/8 픽셀 정밀도, 또는 다른 분수 픽셀 정밀도들을 가질 수도 있다. 이러한 방법으로, 분수 픽셀 모션 추정은 예측 프로세싱 유닛 (32) 으로 하여금, 정수-픽셀 (또는, 풀-픽셀) 로케이션들보다 더 높은 정밀도를 갖는 모션을 추정가능하게 하며, 따라서, 예측 프로세싱 유닛 (32) 은 더 정확한 예측 블록을 발생한다. 분수 픽셀 모션 추정은 예측 프로세싱 유닛 (32) 으로 하여금, 심도 정보를 제 1 해상도에서 예측가능하게 하고, 텍스쳐 성분들을 제 2 해상도에서 예측가능하게 한다. 예를 들어, 텍스쳐 성분들은 풀-픽셀 정밀도로 예측되지만, 심도 정보는 1/2-픽셀 정밀도로 예측된다. 다른 예들에서, 모션 벡터의 다른 해상도들이 심도 정보 및 텍스쳐 성분들에 대해 사용될 수도 있다.
ME 유닛 (35) 은 모션 추정 프로세스 동안 임의의 필요한 내삽들을 위해 하나 이상의 필터들 (39) 을 호출할 수도 있다. 일부 예들에서, 메모리 (34) 는 예컨대, 가산기 (51) 에 의해 필터들 (39) 을 이용하여 계산될 수도 있는 서브-정수 픽셀들에 대한 내삽된 값들을 저장할 수도 있다. 예를 들어, 가산기 (51) 는 필터들 (39) 을 메모리 (34) 에 저장될 재구성된 블록들에 적용할 수도 있다.
일단 예측 프로세싱 유닛 (32) 이 예측 블록을 발생하였으면, 비디오 인코더 (22) 는 코딩중인 원래 비디오 블록으로부터 예측 블록을 감산함으로써, 잔여 비디오 블록 (도 2 에서 "잔여 블록" 으로 라벨링됨) 을 형성한다. 이 감산은 원래 비디오 블록에서의 심도 정보 또는 예측 블록에서의 심도 정보로부터의 심도 맵에 대해서 뿐만 아니라, 원래 비디오 블록에서의 텍스쳐 성분들과 예측 블록에서의 텍스쳐 성분들 사이에 일어날 수도 있다. 가산기 (48) 는 이 감산 동작을 수행하는 구성요소 또는 구성요소들을 나타낸다.
변환 프로세싱 유닛 (38) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔여 블록에 적용하여, 잔여 변환 블록 계수들을 포함하는 비디오 블록을 발생한다. 변환 프로세싱 유닛 (38) 은 HEVC 에 의해 정의된 바와 같은 CU 의 TU 와는 대조적으로, 비디오 데이터의 블록의 잔여 계수들에 변환을 적용하는 비디오 인코더 (22) 의 구성요소를 나타내는 것으로 이해되어야 한다. 변환 프로세싱 유닛 (38) 은, 예를 들어, DCT 와 개념적으로 유사한, H.264 표준에 정의된 변환들과 같은, 다른 변환들을 수행할 수도 있다. 이런 변환들은 예를 들어, (Karhunen-Loeve theorem 변환들과 같은) 방향 변환들, 웨이블릿 변환들, 정수 변환들, 서브밴드 변환들, 또는 다른 유형들의 변환들을 포함한다. 어쨌든, 변환 프로세싱 유닛 (38) 은 그 변환을 잔여 블록에 적용하여, 잔여 변환 계수들의 블록을 발생한다. 변환 프로세싱 유닛 (38) 은 대응하는 잔여 블록들에서 텍스쳐 성분들 및 심도 정보 양자에 동일한 유형의 변환을 적용할 수도 있다. 각각의 텍스쳐 및 심도 성분에 대해 별개의 잔여 블록들이 존재할 것이다. 이 변환은 잔여 정보를 픽셀 도메인으로부터 주파수 도메인으로 변환한다.
양자화 유닛 (40) 은 비트 레이트를 추가로 감소시키기 위해 잔여 변환 계수들을 양자화한다. 양자화 프로세스는 그 계수들의 일부 또는 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 양자화 유닛 (40) 은 심도 이미지 코딩 잔여분 (residue) 을 양자화할 수도 있다. 양자화 이후, 엔트로피 코딩 유닛 (46) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 코딩 유닛 (46) 은 CAVLC, CABAC, 또는 또 다른 엔트로피 코딩 방법론을 수행할 수도 있다.
엔트로피 코딩 유닛 (46) 은 또한 코드 하나 이상의 모션 벡터들을 코딩하고, 예측 프로세싱 유닛 (32) 또는 비디오 인코더 (22) 의 다른 구성요소, 예컨대 양자화 유닛 (40) 으로부터 획득된 정보를 지원할 수도 있다. 하나 이상의 예측 구문 엘리먼트들은 코딩 모드, 하나 이상의 모션 벡터들에 대한 데이터 (예컨대, 수평 및 수직 성분들, 참조 리스트 식별자들, 리스트 인덱스들, 및/또는 모션 벡터 해상도 시그널링 정보), 사용되는 내삽 기법의 표시, 필터 계수들의 세트, 루마 성분의 해상도에 대한 심도 이미지의 상대적인 해상도의 표시, 심도 이미지 코딩 잔여에 대한 양자화 매트릭스, 심도 이미지에 대한 디블로킹 정보, 또는 예측 블록의 발생과 연관되는 다른 정보를 포함할 수도 있다. 이들 예측 구문 엘리먼트들은 시퀀스 레벨에서 또는 화상 레벨에서 포함될 수도 있다.
하나 이상의 구문 엘리먼트들은 또한 루마 성분과 심도 성분 사이의 양자화 파라미터 (QP) 차이를 포함할 수도 있다. QP 차이는 슬라이스 레벨에서 시그널링될 수도 있으며, 텍스쳐 뷰 성분들에 대한 슬라이스 헤더에 포함될 수도 있다. 다른 구문 엘리먼트들이 또한 심도 뷰 성분에 대한 코딩된 블록 패턴, 심도 뷰 성분에 대한 델타 QP, 모션 벡터 차이, 또는 예측 블록의 발생과 연관되는 다른 정보를 포함한, 코딩된 블록 유닛 레벨에서 시그널링될 수도 있다. 모션 벡터 차이는 텍스쳐 성분들의 목표 모션 벡터와 모션 벡터 사이의 델타 값으로서, 또는 목표 모션 벡터 (즉, 코딩중인 블록의 모션 벡터) 와 블록 (예컨대, CU 의 PU) 에 대한 이웃하는 모션 벡터들로부터의 예측자 사이의 델타 값으로서 시그널링될 수도 있다. 엔트로피 코딩 유닛 (46) 에 의한 엔트로피 코딩 이후, 인코딩된 비디오 및 구문 엘리먼트들은 또 다른 디바이스로 송신되거나 또는 추후 송신 또는 취출을 위해 (예를 들어, 메모리 (34) 에) 아카이브될 수도 있다.
역양자화 유닛 (42) 및 역변환 프로세싱 유닛 (44) 은 역양자화 및 역변환을 각각 적용하여, 예컨대, 참조 블록으로 추후 사용을 위해, 픽셀 도메인에서 잔여 블록을 재구성한다. 재구성된 잔여 블록 (도 2 에서 "재구성된 잔여 블록" 으로 라벨링됨) 은 변환 프로세싱 유닛 (38) 에 제공되는 잔여 블록의 재구성된 버전을 나타낼 수도 있다. 재구성된 잔여 블록은 양자화 및 역양자화 동작들에 의해 초래되는 세부 손실로 인해, 가산기 (48) 에 의해 발생된 잔여 블록과 상이할 수도 있다. 가산기 (51) 는 재구성된 잔여 블록을 예측 프로세싱 유닛 (32) 에 의해 발생된 모션 보상된 예측 블록에 가산하여, 메모리 (34) 에의 저장을 위해 재구성된 비디오 블록을 발생한다. 재구성된 비디오 블록은 후속 비디오 프레임 또는 후속 코딩된 유닛에서 블록 유닛을 후속하여 코딩하는데 사용될 수도 있는 참조 블록으로서 예측 프로세싱 유닛 (32) 에 의해 사용될 수도 있다.
이러한 방법으로, 비디오 인코더 (22) 는 이미지의 뷰를 나타내는 뷰 성분을 포함하는 코딩된 블록 유닛을 수신하고, 텍스쳐 구문 엘리먼트들을 포함하는 하나 이상의 텍스쳐 뷰 성분들에 대한 텍스쳐 슬라이스 헤더를 발생하도록 구성된 비디오 인코더의 일 예를 나타내며, 상기 뷰 성분은 하나 이상의 텍스쳐 뷰 성분들 및 심도 뷰 성분을 포함하며, 상기 심도 뷰 성분에 대한 심도 구문 엘리먼트들은 텍스쳐 슬라이스 헤더에서의 텍스쳐 구문 엘리먼트들로부터 결정될 수 있다.
일부의 경우, 텍스쳐 뷰 성분들 및 심도 뷰 성분들의 코딩에 관련한 정보는 코딩된 비트스트림에의 포함을 위해 하나 이상의 구문 엘리먼트들로서 나타내어진다. 일부 예들에서, 심도 슬라이스 헤더는 시작하는 미소 블록의 슬라이스 어드레스 로케이션, 슬라이스 유형, 사용되는 화상 파라미터 세트 (PPS), 슬라이스의 초기 QP 와 PPS 로 시그널링된 QP 사이의 델타 QP, 참조 화상들의 순서 (frame_num 로 표현됨), 및 현재의 화상 (POC) 의 디스플레이 순서 중 적어도 하나를 포함한 구문 엘리먼트들을 포함한다. 심도 슬라이스 헤더는 또한 참조 화상 리스트 구성 및 관련되는 구문 엘리먼트들, 메모리 관리 제어 동작 및 관련되는 구문 엘리먼트들, 및 가중된 예측 및 관련되는 구문 엘리먼트들 중 적어도 하나를 포함할 수도 있다.
도 3 은 본 개시물의 기법들에 따른, 예시적인 멀티 뷰 디코딩 순서를 나타내는 개념도이다. 통상의 MVC 디코딩 순서 (즉, 비트스트림 순서) 가 도 3 에 도시된다. 디코딩 순서 정렬은 시간 우선 코딩으로 지칭된다. 각각의 액세스 유닛은 하나의 출력 시간 인스턴스에 대하여 모든 뷰들의 코딩된 픽쳐들을 포함하도록 정의된다. 액세스 유닛들의 디코딩 순서는 출력 또는 디스플레이 순서와 일치하지 않을 수도 있다.
도 3 은 멀티-뷰 비디오 코딩을 위한 MVC (MVC) 예측 구조의 일 예의 다이어그램이다. MVC 는 H.264/AVC 의 익스텐션이다. 도 4 는 멀티 뷰 비디오 코딩을 위한 (각각의 뷰 내의 인터 픽쳐 예측 및 인터-뷰 예측 양쪽 모두를 포함하는) 통상의 MVC 예측 구조를 나타낸다. MVC 예측 구조는 각각의 뷰 및 인터-뷰 예측 내에 양자의 인터-화상 예측을 포함한다. 도 3 에서, 예측들은 화살표들로 표시되며, 여기서, 지시도달 오브젝트는 예측 참조를 위해 지시출발 오브젝트를 이용한다. 도 4 의 MVC 예측 구조는 시간-우선 (time-first) 디코딩 순서 배열과 함께 사용될 수도 있다. 시간-우선 디코딩 순서에서, 각각의 액세스 유닛은 하나의 출력 시간 인스턴스에 대한 모든 뷰들의 코딩된 화상들을 포함하도록 정의될 수도 있다. 액세스 유닛들의 디코딩 순서는 출력 또는 디스플레이 순서와 동일하지 않을 수도 있다.
MVC 에서, 인터-뷰 예측은 H.264/AVC 모션 보상의 구문을 이용하지만, 상이한 뷰에서의 화상이 참조 화상으로서 삽입될 수 있게 하는 디스패리티 모션 보상에 의해 지원된다. 2개의 뷰들의 코딩은 또한 MVC 에 의해 지원될 수 있을 것이다. MVC 인코더는 2개보다 많은 뷰들을 3D 비디오 입력으로서 취할 수도 있으며, MVC 디코더는 멀티-뷰 표현을 디코딩할 수 있다. MVC 디코더를 가진 렌더러는 다수의 뷰들을 가진 3D 비디오 콘텐츠를 디코딩할 수 있다.
동일한 액세스 유닛에서의 (즉, 동일한 시간 인스턴스를 가진) 화상들은 MVC 에서 인터-뷰 예측될 수 있다. 비-베이스 뷰들 중 하나에서 화상을 코딩할 때, 화상은 상이한 뷰에서지만 동일한 시간 인스턴스를 가지면, 참조 화상 리스트에 추가될 수도 있다. 인터-뷰 예측 참조 화상은 마치 유사한 임의의 인터 예측 참조 화상처럼 참조 화상 리스트의 임의의 위치에 삽입될 수도 있다.
도 4 에 도시된 바와 같이, 뷰 성분은 참조를 위한 다른 뷰들에서의 뷰 성분들을 이용할 수도 있다. MVC, 인터-뷰 예측은 다른 뷰에서의 뷰 성분이 인터 예측 참조인 것처럼 실현될 수도 있다. 가능한 인터-뷰 참조들은 SPS (Sequence Parameter Set) MVC 익스텐션에서 시그널링될 수도 있다. 가능한 인터-뷰 참조들은 참조 픽쳐 리스트 구성 프로세스에 의해 변경될 수도 있고, 이 프로세스는 인터 예측 또는 인터-뷰 예측 참조들의 유연성있는 순서화를 가능하게 한다. 아래의 테이블 1 은 예시적인 SPS MVC 익스텐션을 나타낸다.
Figure 112014017427987-pct00001
테이블 1 - 예시적인 SPS MVC 익스텐션
이에 반해, HEVC 에서, 슬라이스 헤더는 H.264/AVC 에서의 설계 원리와 유사한 설계 원리를 따른다. 개념적으로, HEVC 와 H.264/AVC 양쪽 모두는 VCL (Video Coding Layer) 및 NAL (Network Abstraction Layer) 를 포함한다. VCL 은 블록 파티셔닝, 인터 및 인트라 예측, 변환 기반 코딩, 엔트로피 코딩, 루프 필터링 등을 포함하는 모든 로우 레벨 신호 프로세싱을 포함한다. NAL 은 코딩된 데이터 및 관련 정보를 NAL 유닛들로 캡슐화하며, 그 포맷은 비디오 송신 및 애플리케이션 시스템들에 친화적이다. 게다가, HEVC 슬라이스 헤더는 현재의 HEVC 사양에서의 적응적 루프 필터 (ALF) 파라미터 구문을 포함할 수도 있다. 일부 예들에서, 심도 슬라이스 헤더는 하나 이상의 적응적 루프 필터 파라미터들을 포함한다.
H.264/AVC와 유사하게, HEVC 비트스트림은 복수의 액세스 유닛들을 포함하며, 각각의 액세스 유닛은 별도의 캡쳐링 또는 프리젠테이션 시간을 갖는 픽쳐와 연관된 코딩된 데이터를 포함한다.
각각의 액세스 유닛은 NAL 유닛들로 분할되고, NAL 유닛은 하나 이상의 VCL NAL 유닛들 (즉, 코딩된 슬라이스 NAL 유닛들) 및 제로 이상의 비-VCL NAL 유닛들, 예를 들어, 파라미터 세트 NAL 유닛들, 또는 SEI (Supplemental Enhancement Information) NAL 유닛들을 포함한다. 각각의 NAL 유닛은 NAL 유닛 헤더 및 NAL 유닛 페이로드를 포함한다. NAL 유닛 헤더에서의 정보는 스트림에 대한 지능형 미디어 인식 동작들, 이를 테면, 스트림 적응을 위하여 MANEs (Media Aware Network Elements) 라 또한 불리는 미디어 게이트웨이들에 의해 액세스된다.
H.264/AVC 에 비교되는 HEVC 의 차이점은 픽쳐 내에서의 코딩 구조이다. HEVC 에서, 각각의 픽쳐는 최대 64x64 루마 샘플들의 트리블록들로 분할된다. 트리블록들은 일반 쿼드트리 세그먼테이션 구조를 이용하여 보다 작은 CU (Coding Unit) 들로 회귀적으로 분할될 수 있다. CU들은 PU (Prediction Unit) 들 및 TU (Transform Unit) 들로 추가로 분할될 수 있다. 예측 유닛 (PU) 들은 인트라 및 인터 예측에 이용될 수도 있다. 변환 유닛들은 변환 및 양자화를 위해 정의될 수도 있다. HEVC 는 TU 사이즈들의 수에 대한 정수 변환들을 포함한다.
예측 코딩된 픽쳐들은 일방향-예측 및 양방향-예측 슬라이스들을 포함할 수 있다. 픽쳐 코딩 구조들을 생성하는데 있어서의 유연성은 H.264/AVC 와 대략적으로 대등한다. HEVC 인코더에서의 VCL 은 코딩된 픽쳐의 사이즈와 무관하게, IP 네트워크들에서 일반적으로 찾아지는 MTU (Maximum Transmission Unit) 사이즈들에 대해 채택가능하도록 설계된 구문 구조들을 생성하고 HEVC 디코더는 이들 구문 구조를 소비한다. 픽쳐 세그먼테이션은 슬라이스들 전반에 걸쳐 실현될 수도 있다. 트리블록 내의 슬라이스 바운더리들의 생성을 허용하는 "FGS (fine granularity slices)" 의 개념이 포함된다.
H.264/AVC 에서와 같이, 인루프 디블록킹 필터가 재구성된 픽쳐에 적용될 수도 있다. HEVC 는 또한 디블록킹 필터링 후에 적용될 수도 있는 두개의 인루프 필터들: SAO (Sample Adaptive Offset) 및 ALF (Adaptive Loop Filter) 를 포함한다.
H.264/AVC 에 비교되는 HEVC 의 다른 차이점은 하이 레벨 병렬 아키텍쳐들에서의 프로세싱을 가능하게 하도록 설계된 VCL-기반 코딩 툴들의 이용가능성이다. HEVC 와 H.264/AVC 양쪽 모두에서와 같은 정규의 슬라이스들은 병렬 프로세싱 목적으로 이용될 수도 있다. 정규 슬라이스들 이외에도, 3개의 새로운 병렬 프로세싱 툴들, 즉, 엔트로피 슬라이스들, 타일들 및 웨이브프론트 병렬 프로세싱이 이용가능하다.
현재 개발되는 HEVC (high efficiency video coding) 표준은 또한 슬라이스 헤더들을 이용한다. HEVC 에서, 슬라이스 헤더는 H.264/AVC 에서의 설계와 동일한 설계 원리를 따른다. HEVC 에서의 슬라이스 헤더는 또한 ALF (adaptive loop filter) 파라미터 구문을 포함한다. 그러나, 슬라이스 헤더 내에 적응성 루프 필터 파라미터들을 두어야 하는지의 여부는 논란의 여지가 있다.
H.264/MVC 및 HEVC 에서의 슬라이스 헤더의 현재 구성은 몇몇 결함들을 나타낸다. 예를 들어, 일부 구문 엘리먼트들은 경량이 아니며, 모든 "비경량" 구문 엘리먼트들에 이용되는 예측 기법들을 허용하는 것은 바람직하지 않을 수도 있다. 예를 들어, 전체 참조 픽쳐 리스트 변경 구문 테이블의 예측은 바람직하지 않을 수도 있다. 추가로, 동일한 뷰 성분들 간의 슬라이스 헤더 예측이 항상 바람직한 효율을 생성하는 것이 아닐 수도 있다.
본 개시물의 기법들의 컨텍스트에서, 슬라이스 헤더 구문 엘리먼트들에 대한 구문 예측은 현재 슬라이스 헤더에 의한 이용을 위하여, 다른 슬라이스 헤더 (예를 들어, 참조 슬라이스 헤더) 로부터의 구문 엘리먼트들을 복제, 또는 삽입하는 것을 수반할 수도 있다. 복제 또는 삽입될 구문 엘리먼트들은 플래그 또는 인덱스에 의해 지정될 수도 있다. 추가로, 플래그 또는 인덱스는 참조 슬라이스 헤더를 지정할 수도 있다.
3DV 코덱에서, 특정의 시간 인스턴스에서 각각의 뷰의 뷰 성분은 텍스쳐 뷰 성분 및 심도 뷰 성분을 포함할 수도 있다. 슬라이스 구조는 에러 회복 목적들에 사용될 수도 있다. 그러나, 심도 뷰 성분은 대응하는 텍스쳐 뷰 성분이 정확히 수신될 때 단지 의미 있을 지도 모른다. 심도 뷰 성분에 대한 구문 엘리먼트들을 모두 포함하는 것은 심도 뷰 성분의 NAL 유닛에 대한 슬라이스 헤더를 상대적으로 크게 할 수도 있다. 심도 슬라이스 헤더의 사이즈는 텍스쳐 뷰 성분들에 대한 텍스쳐 슬라이스 헤더에서의 구문 엘리먼트들로부터 일부 구문 엘리먼트들을 예측함으로써 감소될 수도 있다. 추가로, 뷰에 대한 슬라이스 헤더의 사이즈는 다른 뷰의 구문 엘리먼트들로부터의 일부 구문 엘리먼트를 예측함으로써 감소될 수도 있다.
비트스트림은 멀티뷰 비디오 플러스 심도 블록 유닛들 및 구문 엘리먼트들을 예를 들어, 도 1 의 소스 디바이스 (12) 와 목적지 디바이스 (16)사이에 전송하는데 사용될 수도 있다. 비트스트림은 코딩 표준 ITU H.264/AVC 을 따를 수도 있으며, 특히, 멀티-뷰 비디오 코딩 (MVC) 비트스트림 구조를 따른다. 즉, 일부 예들에서, 비트스트림은 H.264/AVC 의 MVC 익스텐션을 따른다. 다른 예들에서, 비트스트림은 HEVC 의 멀티뷰 익스텐션 또는 또 다른 표준의 멀티뷰 익스텐션을 따른다. 또한 다른 예들에서, 다른 코딩 표준들이 사용된다.
전형적인 MVC 비트스트림 순서 (디코딩 순서) 배열은 시간-우선 코딩이다. 각각의 액세스 유닛은 하나의 출력 시간 인스턴스에 대해 모든 뷰들의 코딩된 화상들을 포함하도록 정의된다. 액세스 유닛들의 디코딩 순서는 출력 또는 디스플레이 순서에 동일하거나 동일하지 않을 수도 있다. 일반적으로, MVC 예측은 각각 뷰 내 인터-화상 예측 및 인터-뷰 예측 양자를 포함할 수도 있다. MVC 에서, 인터-뷰 예측은 H.264/AVC 모션 보상의 구문을 사용하지만 상이한 뷰에서의 화상이 참조 화상으로서 사용될 수 있게 하는 디스패리티 모션 보상에 의해 지원될 수도 있다.
2개의 뷰들의 코딩은 MVC 에 의해 지원된다. MVC 의 이점들 중 하나는, MVC 인코더가 2개 보다 많은 뷰들을 3D 비디오 입력으로서 취할 수 있고 MVC 디코더가 2개의 뷰들을 멀티-뷰 표현으로 디코딩할 수 있다는 점이다. 따라서, MVC 디코더를 가진 렌더러는 3D 비디오 콘텐츠를 다수의 뷰들을 갖는 것으로 취급할 수도 있다. 이전에, MVC 는 보충 강화 정보 (SEI) 메시지들 (스테레오 정보 또는 공간 인터리빙 화상들) 을 가진 H.264/AVC 와 유사하게, 심도 맵 입력을 프로세싱하지 않았다.
H.264/AVC 표준에서, 네트워크 추상화 층 (NAL) 유닛들은 비디오 전화 통신, 스토리지, 또는 스트리밍 비디오와 같은 애플리케이션들을 어드레싱하는 "네트워크-친화적인" 비디오 표현을 위해 정의된다. NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들 및 비-VCL NAL 유닛들로 분류될 수 있다. VCL 유닛들은 코어 압축 엔진을 포함하고, 블록, 매크로블록 (MB), 및 슬라이스 레벨들을 포함할 수도 있다. 다른 NAL 유닛들은 비-VCL NAL 유닛들이다.
2D 비디오 인코딩 예에서, 각각의 NAL 유닛은 1 바이트 NAL 유닛 헤더 및 가변 사이즈의 페이로드를 포함한다. 5 비트들이 NAL 유닛 유형을 규정하는데 사용된다. NAL 유닛이 다른 화상들 (NAL 유닛들) 에 의해 참조되는 관점에서 얼마나 중요한지를 나타내는 nal_ref_idc 에 대해 3 비트들이 사용된다. 예를 들어, nal_ref_idc 을 0 과 같이 설정하는 것은 NAL 유닛이 인터 예측에 사용되지 않는다는 것을 의미한다. H.264/AVC 가 스케일러블 비디오 코딩 (SVC) 표준과 같은 3D 비디오 인코딩을 포함하도록 확장되므로, NAL 헤더는 2D 시나리오의 NAL 헤더와 유사할 수도 있다. 예를 들어, NAL 유닛 헤더에서 하나 이상의 비트들은 NAL 유닛이 4-구성요소 NAL 유닛이라는 것을 식별하는데 사용된다.
NAL 유닛 헤더들은 또한 MVC NAL 유닛들에 대해 사용될 수도 있다. 그러나, MVC 에서, NAL 유닛 헤더 구조는 접두사 NAL 유닛들 및 MVC 코딩된 슬라이스 NAL 유닛들을 제외하고는 유지될 수도 있다. MVC 코딩된 슬라이스 NAL 유닛들은 4-바이트 헤더 및 NAL 유닛 페이로드를 포함할 수도 있으며, NAL 유닛 페이로드는 도 1 의 코딩된 블록 (8) 과 같은 블록 유닛을 포함할 수도 있다. MVC NAL 유닛 헤더에서의 구문 엘리먼트들은 priority_id, temporal_id, anchor_pic_flag, view_id, non_idr_flag 및 inter_view_flag 를 포함할 수도 있다. 다른 예들에서, 다른 구문 엘리먼트들이 MVC NAL 유닛 헤더에 포함된다.
구문 엘리먼트 anchor_pic_flag 는 화상이 앵커 화상 또는 비-앵커 화상인 지를 나타낼 수도 있다. 앵커 화상들, 및 출력 순서 (즉, 디스플레이 순서) 에서 그들에 뒤따르는 모든 화상들은 디코딩 순서 (즉, 비트스트림 순서) 에서 이전 화상들의 디코딩 없이 정확히 디코딩될 수 있으며, 따라서 무작위 액세스 지점들로서 사용될 수 있다. 앵커 화상들 및 비-앵커 화상들은 상이한 의존성들을 가질 수 있으며, 이 양자는 시퀀스 파라미터 세트로 시그널링될 수도 있다.
MVC 에서 정의된 비트스트림 구조는 2개의 구문 엘리먼트들: view_id 및 temporal_id 로 특징화될 수도 있다. 구문 엘리먼트 view_id 는 각 뷰의 식별자를 나타낼 수도 있다. NAL 유닛 헤더에서의 이 식별자는 디코더에서의 NAL 유닛들의 용이한 식별 및 디스플레이를 위한 디코딩된 뷰들의 빠른 액세스를 가능하게 한다. 구문 엘리먼트 temporal_id 는 시간 스케일러빌리티 계층 (시간 스케일러빌리티 계층) 또는, 간접적으로는, 프레임 레이트를 나타낼 수도 있다. 예를 들어, 더 작은 최대 temporal_id 값을 가진 NAL 유닛들을 포함하는 동작 지점 (operation point) 은 더 큰 최대 temporal_id 값을 가진 동작 지점보다 더 낮은 프레임 레이트를 가질 수도 있다. 더 높은 temporal_id 값을 가진 코딩된 화상들은 뷰 내에서 더 낮은 temporal_id 값들을 가진 코딩된 화상들에 일반적으로 의존하며, 그러나 더 높은 temporal_id 을 가진 임의의 코딩된 화상에 의존하지 않을 수도 있다.
NAL 유닛 헤더에서 구문 엘리먼트들 view_id 및 temporal_id 는 비트스트림 추출 및 적응 양자를 위해 사용될 수도 있다. 구문 엘리먼트 priority_id 는 간단한 하나의-경로 비트스트림 적응 프로세스에 주로 사용될 수도 있다. 구문 엘리먼트 inter_view_flag 는 이 NAL 유닛이 상이한 뷰에서 또 다른 NAL 유닛을 인터-뷰 예측하는데 사용되는 지를 나타낼 수도 있다.
MVC 는 또한 시퀀스 파라미터 세트들 (SPSs) 을 채용하고 SPS MVC 익스텐션 (extension) 을 포함할 수도 있다. 파라미터 세트들이 H.264/AVC 에서 시그널링하는데 사용된다. 시퀀스 파라미터 세트들은 시퀀스-레벨 헤더 정보를 포함한다. 화상 파라미터 세트들 (PPSs) 은 드물게 변하는 화상-레벨 헤더 정보를 포함한다. 파라미터 세트들에 의해, 이 드물게 변하는 정보는 각각의 시퀀스 또는 화상에 대해 항상 반복되는 것은 아니며, 따라서 코딩 효율이 향상된다. 더욱이, 파라미터 세트들의 사용은 헤더 정보의 대역외 송신을 가능하게 하여, 에러 회복을 위한 여분의 송신들의 요구를 회피하도록 한다. 대역외 송신의 일부 예들에서, 파라미터 세트 NAL 유닛들은 다른 NAL 유닛들과는 상이한 채널 상에서 송신된다. MVC 에서, 뷰 의존성은 SPS MVC 익스텐션으로 시그널링될 수도 있다. 모든 인터-뷰 예측은 SPS MVC 익스텐션에 의해 규정된 범위 내에서 이루어질 수도 있다.
일부 이전 3D 비디오 인코딩 기법들에서, 콘텐츠는 예컨대, YCbCr 컬러 공간에서의 컬러 성분들은 하나 이상의 NAL 유닛들로 코딩되는 반면 심도 이미지는 하나 이상의 별개의 NAL 유닛들로 코딩되는 방법으로 코딩된다. 그러나, 어떤 단일 NAL 유닛도 액세스 유닛의 텍스쳐 및 심도 이미지들의 코딩된 샘플들을 포함하지 않을 때, 여러 문제들이 일어날 수도 있다. 예를 들어, 3D 비디오 디코더에서, 각각의 프레임의 텍스쳐 및 심도 이미지 양자를 디코딩한 후, 심도 맵 및 텍스쳐에 기초한 뷰 렌더링이 가상 뷰들을 발생하기 위해 활성화될 것으로 예상된다. 액세스 유닛에 대한 텍스쳐의 NAL 유닛 및 심도 이미지의 NAL 유닛이 순차적인 방법으로 코딩되면, 뷰 렌더링은 전체 액세스 유닛이 디코딩될 때까지 시작하지 않을 수도 있다. 이것은 3D 비디오가 렌더링되는데 소요하는 시간에서의 증가를 초래할 수도 있다.
더욱이, 텍스쳐 이미지 및 연관되는 심도 맵 이미지는 일부 정보를 시퀀스 레벨, 화상 레벨, 슬라이스 레벨, 및 블록 레벨과 같은, 코덱에서의 여러 레벨들에서 공유할 수도 있다. 이 정보를 2개의 NAL 유닛들로 코딩하는 것은 그 정보를 공유하거나 또는 예측할 때 여분의 구현 부담을 일으킬 수도 있다. 따라서, 인코더는 모션 추정을, 프레임에 대해 두번, 즉, 텍스쳐에 대해 한번, 그리고 심도 맵에 대해 다시 한번, 수행해야 할 수도 있다. 이와 유사하게, 디코더는 모션 보상을 프레임에 대해 2번 수행할 필요가 있을 수도 있다.
본원에서 설명하는 바와 같이, 기법들이 예컨대, 3D 비디오를 지원하기 위해, MVC 와 같은, 기존 표준들에 추가된다. 멀티-뷰 비디오 플러스 심도 (MVD) 가 3D 비디오 프로세싱을 위해 MVC 에 추가될 수도 있다. 3D 비디오 인코딩 기법들은 예를 들어, 시야각 (view angle) 을 부드럽게 변경하거나 또는 수렴 (convergence) 또는 심도 지각 (depth perception) 을 역방향 또는 순방향으로 조정하기 위해 기존 비디오 표준들에 더 유연성 및 확장성을 포함할 수도 있으며, 이는 예를 들어, 디바이스들의 사양들 또는 사용자 선호사항들에 기초할 수도 있다. 코딩 표준들은 또한 3D 비디오에서 가상 뷰들의 발생을 위해 심도 맵들을 이용하도록 확장될 수도 있다.
다음의 표들은 본 개시물의 기법들을 구현하는 예시적인 구문 엘리먼트들을 나타낸다.
Figure 112014017427987-pct00002
테이블 2 - 슬라이스 헤더 3dv 익스텐션
1 과 같은 구문 엘리먼트, ref _ pic _ list _ inherit _ flag 참조 픽쳐 리스트 구성 관련 구문 엘리먼트들이 참조 슬라이스 헤더의 것과 동일함을 나타낸다. 0 과 같은 구문 엘리먼트, ref _ pic _ list _ inherit _ flag 는 참조 픽쳐 리스트 구성 관련 구문 엘리먼트들이 참조 슬라이스 헤더의 것과 동일하지 않고 이 슬라이스 헤더에 추가로 존재할 수도 있음을 나타낸다.
1 과 같은 구문 엘리먼트, ref _ pic _ inside _ view _ or _ base _ view _ flag 는 참조 슬라이스 헤더가 동일 액세스 유닛의 현재 뷰 성분에 이미 존재하였던 텍스쳐 또는 심도 뷰 성분으로부터의 슬라이스 헤더임을 나타낸다. 0 과 같은 구문 엘리먼트, ref_pic_inside_view_or_base_view_flag 는 참조 슬라이스 헤더가 AVC 호환가능 기능 뷰 (텍스쳐) 의 슬라이스 헤더임을 나타낸다.
다른 예로서, 1 과 같은 ref _ pic _ inside _ view _ or _ base _ view _ flag 는 참조 슬라이스 헤더가 기본 뷰의 심도 뷰 성분의 슬라이스 헤더임을 나타낼 수도 있다. 0 과 같은 ref _ pic _ inside _ view _ or _ base _ view _ flag 는 참조 슬라이스 헤더가 기본 뷰의 텍스쳐 또는 심도의 슬라이스 헤더인지의 여부를 시그널링하도록 추가적인 플래그가 도입됨을 나타낼 수도 있다.
구문 엘리먼트, NumRefxDelta 는 현재 슬라이스 헤더에서 시그널링된 num_ref_idx_lx_active_minus1 의 값과 참조 슬라이스 헤더에서의 num_ref_idx_lx_active_minus1 의 값 사이의 차이와 동일하도록 유도된다.
Figure 112014017427987-pct00003
테이블 3 - 참조 픽쳐 리스트 제외 구문 테이블 또는 참조 픽쳐 리스트 삽입 구문 엘리먼트
1 과 같은 구문 엘리먼트, ref _ pic _ list _ insertion _ lx 는 RefPicListx 의 참조 픽쳐들이 참조 슬라이스 헤더의 구문 엘리먼트들을 추종하여 구성된 RefPicListx 에 추가됨을 나타낸다. 0 과 같은 구문 엘리먼트, ref_pic_list_insertion_lx 는 RefPicListx 의 참조 픽쳐들이 참조 슬라이스 헤더의 구문 엘리먼트들을 추종하여 구성된 RefPicListx 에 추가되지 않음을 나타낸다.
1 과 같은 구문 엘리먼트, excluding _ from _ begining _ or _ ending _ lx 는 RefPicListx 의 참조 픽쳐들이 참조 슬라이스 헤더의 구문 엘리먼트들을 추종하여 구성된 RefPicListx 로부터 제외됨을 나타낸다. 0 과 같은 구문 엘리먼트, excluding_from_begining_or_ending_lx 는 참조 픽쳐 변경 구문이 RefPicListx에 대하여 시그널링될 수도 있음을 나타낸다. 따라서, RefPicListx 에 대한 참조 픽쳐 리스트 구성은 이 슬라이스 헤더에서 시그널링된 구문에 기초한다. 존재하지 않는 경우, 이 플래그는 0 과 같은 것으로 추론된다.
구문 엘리먼트 NewRPLRFlagx 는 다음과 같이 설정된다:
if (ref_pic_list_inserion_lx) NewRPLRFlagx = false;
else if (ref_pic_list_exclusing_lx) NewRPLRFlagx = false;
else NewRPLRFlagx = true
참조 픽쳐 리스트 삽입에 대한 디코딩 프로세스는 참조 픽쳐 리스트 변경 (RPLM) 과 유사하며, 시작 picNumber 는 다음과 같이 설정된다. 참조 픽쳐는 (참조 슬라이스 헤더에서의 구문에 의해 생성된) 리스트의 시작에 삽입되면, picNumber 는 새로운 RPLM 의 시작 번호와 동일하게 설정된다. 참조 픽쳐들이 리스트의 끝에 삽입되면, picNumber 는 RPLM 에 기초하여 마지막 기록된 프레임의 수로 설정된다.
Figure 112014017427987-pct00004
테이블 4 - 참조 픽쳐 리스트 변경 구문 엘리먼트들
테이블 5 는 다른 예시적인 슬라이스 헤더 3DV 익스텐션을 나타낸다.
Figure 112014017427987-pct00005
Figure 112014017427987-pct00006
Figure 112014017427987-pct00007
Figure 112014017427987-pct00008
테이블 5 - 슬라이스 헤더 3DV 익스텐션
각각의 뷰 성분에 대 시퀀스 파라미터 세트에서 미리 정해지거나 또는 시그널링될 수도 있음을 주지한다. 즉, 각각의 뷰 성분은 텍스쳐 뷰 성분 또는 심도 뷰 성분인지의 여부와 무관하게, SPS 에서 미리 정해지거나 또는 시그널링될 수도 있다.
구문 엘리먼트 delta _ view _ idx 는 현재 슬라이스 헤더가 뷰 성분의 어느 뷰 순서 인덱스로부터 예측되어지는지를 특정한다. 현재 뷰의 VOIdx (뷰 순서 인덱스)빼기 delta_view_idx 는 참조 뷰 성분의 뷰 순서 인덱스이다. delta_view_idx 가 0 과 같을 때, 참조 뷰 성분은 동일한 액세스 유닛에서의 동일한 뷰의 이전에 코딩된 비디오 성분이다. 참조 뷰 성분이 상이한 뷰 (이를 테면 A) 에 있다면, 상이한 뷰 (뷰 A) 는 현재 뷰의 종속적 뷰이어야 한다. 상이한 뷰 (뷰 A) 는 현재 뷰에 직접 또는 간접으로 종속하는 뷰이어야 한다.
플래그, from _ texture _ depth _ flag 가 슬라이스 헤더 내에 포함될 수도 있다. from_texture_depth_flag 가 1 과 같은 경우, 참조 뷰 성분은 텍스쳐 뷰 성분이다. from_texture_depth_flag 이 0 과 같은 경우, 이는 참조 뷰 성분이 심도 뷰 성분인 것으로 나타내어진다.
구문 엘리먼트, slice _ id _ in _ ref _ view _ component 는 참조 뷰 성분에서의 슬라이스의 ID 를 특정한다. 슬라이스 헤더가 기본 뷰의 텍스쳐에 속하는 뷰 성분으로부터 예측되는 경우, slice _ id _ in _ ref _ view _ component 가 0 이어야 한다.
구문 엘리먼트, slice _ id 는 현재 뷰 성분에서의 현재 슬라이스의 식별자를 특정한다. slice _ id 의 값은 좌측 상단 코딩 블록을 포함하는 슬라이스에 대해 0 과 같을 수도 있다. slice _ id 의 값은 디코딩 순서에서 각각의 슬라이스에 대해 1 씩 증가할 수도 있다.
대안으로서, 일부 예에서, 위의 조건 "if (delta_view_idx > 0)" 은 구문 테이블로부터 제거될 수 있다. 그 경우에, from _ texture _ depth _ flag 이 항상 시그널링될 수 있다.
대안으로서, 구문 엘리먼트, slice _ id 는 기본 뷰의 텍스쳐가 아닌 임의의 뷰 성분에 대하여 추가로 시그널링될 수도 있다.
대안으로서, slice _ id 의 값은 오직 뷰 성분에서의 각각의 슬라이스에 대해 별개의 것이도록만 요구될 수도 있다. 이러한 예에서, slice _ id 는 좌측 상단 블록을 포함하는 슬라이스에 대해 0 일 필요가 없다.
다음은 H.264/AVC 에 따른 일반 비디오 코딩 프로세스를 설명한다. 비디오 시퀀스는 일반적으로, 비디오 프레임들의 시리즈를 포함한다. 픽쳐들의 그룹 (GOP) 은 일반적으로 하나 이상의 비디오 프레임들의 시리즈를 포함한다. GOP 는 GOP 의 헤더, GOP 의 하나 이상의 프레임들의 헤더에, 또는 다른 곳에, GOP 에 포함된 다수의 프레임들을 기술하는 구문 데이터를 포함할 수도 있다. 각각의 프레임은 각각의 프레임에 대한 인코딩 모드를 기술하는 프레임 구문 데이터를 포함할 수도 있다. 비디오 인코더 및 디코더들은 일반적으로 비디오 데이터를 인코딩 및/또는 디코딩하기 위해 개개의 비디오 슬라이스들 내 비디오 블록들에 대해 동작한다. 비디오 블록은 매크로블록 또는 매크로 블록의 파티션에 대응할 수도 있다. 비디오 블록들은 고정 또는 가변 사이즈들을 가질 수도 있으며, 규정된 코딩 표준에 따라서 사이즈가 상이할 수도 있다. 각각의 비디오 프레임은 복수의 슬라이스들을 포함할 수도 있다. 각각의 슬라이스는 서브블록들이라고 또한 지칭되는 파티션들로 정렬될 수도 있는, 복수의 매크로블록들을 포함할 수도 있다.
일 예로서, 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 곱하기 N" 은 수직 및 수평 치수들의 관점에서 블록의 픽셀 치수들, 예컨대, 16 x 16 픽셀들 또는 16 곱하기 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 (group of pictures) 또는 적용가능한 코딩 기법에 따라 정의된 다른 독립적으로 디코딩가능한 유닛을 지칭할 수도 있다.
예측 데이터 및 잔여 데이터를 생성하기 위해 인트라 예측 또는 인터 예측 코딩에 이어서, 그리고 변환 계수들을 생성하기 위해 잔여 데이터에 적용된 임의의 변환 (이를 테면, H.264/AVC 에서 이용된 4x4 또는 8x8 정수 변환, 또는 이산 코사인 변환 (DCT)) 에 이어서, 변환 계수들의 양자화가 수행될 수도 있다. 양자화는 일반적으로 계수들을 나타내는데 사용되는 데이터의 양을 가능한 한 감소시키기 위해 계수들이 양자화되는 프로세스를 지칭한다. 양자화 이후, 엔트로피 코딩이 컨텍스트 적응 가변 길이 코딩 (CAVLC) 또는 컨텍스트 적응 2진 산술 코딩 (CABAC) 과 같은, 엔트로피 코딩 방법론에 따라서 수행될 수도 있다. 비디오 인코더 (22) 에 의해 수행되는 인코딩 프로세스의 추가적인 세부 사항들이 아래에서 도 2 에 대해서 설명된다. 양자화 프로세스는 그 계수들의 일부 또는 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 예를 들어, n-비트 값은 양자화 동안에 m-비트 값 아래로 라운딩처리될 수도 있으며, 여기에서 n m 보다 크다.
양자화에 이어, 양자화된 데이터의 엔트로피 코딩이, 예를 들어, CAVLC (content adaptive variable length coding), CABAC (context adaptive binary arithmetic coding), PIPE (probability interval partitioning entropy) 또는 다른 엔트로피 코딩 방법론에 따라 수행될 수도 있다. 엔트로피 코딩을 위해 구성된 프로세싱 유닛, 또는 다른 프로세싱 유닛은 양자화 계수들의 제로 런 길이 코딩 및/또는 구문 정보, 코딩 유닛 (이를 테면, 프레임, 슬라이스, 매크로블록, 또는 시퀀스) 에 대한 CBP (coded block pattern) 값들, 매크로블록 타입, 코딩 모드, 최대 매크로블록 사이즈 등의 생성과 같은 다른 프로세싱을 수행할 수도 있다.
비디오 인코더는 또한 블록 기반 구문 데이터, 프레임 기반 구문 데이터, 및/또는 GOP-기반 구문 데이터와 같은 구문 데이터를 비디오 디코더에 예를 들어, 프레임 헤더, 블록 헤더, 슬라이스 헤더, 또는 GOP 헤더에서 생성할 수도 있다. GOP 구문 데이터는 각각의 GOP 에서의 프레임들의 수를 기술할 수도 있고, 프레임 구문 데이터는 대응하는 프레임을 인코딩하는데 이용된 인코딩/예측 모드를 나타낼 수도 있다. 비디오 디코더는 디코딩 프로세스에서 구문 데이터를 해석 및 이용할 수도 있다.
H.264/AVC 에서, 코딩된 비디오 비트들은 NAL (Network Abstraction Layer) 유닛들로 구성되며, NAL은 비디오 전화, 스토리지, 브로드캐스트, 또는 스트리밍과 같은 애플리케이션들을 어드레싱하는 "네트워크 친화적인" 비디오 표현을 제공한다. NAL 유닛들은 VCL (Video Coding Layer) NAL 유닛 및 비-VCL NAL 유닛들로 카테고리화될 수도 있다. VCL 유닛들은 코어 압축 엔진을 포함하고, 블록, MB 및 슬라이스 레벨들을 포함한다. 다른 NAL 유닛은 비-VCL NAL 유닛들이다.
각각의 NAL 유닛은 1 바이트 NAL 유닛 헤더를 포함한다. 5 비트들은 NAL 유닛 타입을 특정하는데 이용되고, 3 비트들은 NAL 유닛이 다른 픽쳐들 (NAL 유닛들) 에 의해 참조되는 관점에서 얼마나 중요한지를 나타내는 nal_ref_idc 에 이용된다. 0과 같은 값은 NAL 유닛이 인터 예측에 이용되지 않음을 나타낸다.
파라미터 세트들은 SPS (sequence parameter sets) 에서 시퀀스 레벨 헤더 정보를 포함하고, PPS (picture parameter sets) 에 덜 빈번하게 변경하는 픽쳐 레벨 헤더 정보를 포함한다. 파라미터 세트들에서, 이 덜 빈번하게 변경하는 정보는 각각의 시퀀스 또는 픽쳐에 대하여 반복될 필요가 없어 이에 따라 코딩 효율이 향상된다. 또한, 파라미터 세트들의 이용은 헤더 정보의 대역외 송신을 가능하게 하여, 에러 허용을 위한 리던던트 송신의 필요성을 회피시킨다. 대역외 송신에 있어서, 파라미터 세트 NAL 유닛들은 다른 NAL 유닛들과는 상이한 채널을 통하여 송신될 수도 있다.
MVC에서, 인터-뷰 예측은 H.264/AVC 모션 보상의 구문을 이용하는 디스패리티 보상에 의해 지원되지만, 다른 뷰에서의 픽쳐가 참조 픽쳐로서 이용되는 것을 허용한다. 즉, MVC 에서의 픽쳐들은 인터-뷰 예측 및 코딩될 수도 있다. 디스패리티 벡터들은 시간 예측에서 모션 벡터들과 유사한 방식으로 인터-뷰 예측에 이용될 수도 있다. 그러나, 모션의 표시를 제공하기 보다는, 디스패리티 벡터는 상이한 뷰의 참조 프레임에 대한 예측 블록에서의 데이터의 오프셋을 나타내어, 공통 장면의 카메라 관점의 수평방향 오프셋을 고려한다. 이 방식으로, 모션 보상 유닛은 인터-뷰 예측에 대한 디스패리티 보상을 수행할 수도 있다.
위에 설명된 바와 같이, H.264/AVC 에서, NAL 유닛은 1-바이트 헤더 및 가변 사이즈의 페이로드를 포함한다. MVC 에서, 프리픽스 NAL 유닛들 및 4-바이트 헤더 및 NAL 유닛 페이로드를 포함하는 MVC 코딩된 슬라이스 NAL 유닛들을 제외하고 그러한 구조가 유지된다. MVC NAL 유닛 헤더에서의 구문 엘리먼트들은 priority _ id, temporal_id, anchor _ pic _ flag, view _ id, non _ idr _ flaginter _ view _ flag 를 포함한다.
anchor _ pic _ flag 구문 엘리먼트는 픽쳐가 앵커 픽쳐 또는 비앵커 픽쳐인지의 여부를 나타낸다. 앵커 픽쳐 및 출력 순서 (즉, 디스플레이 순서) 에서 이 앵커 픽쳐를 따르는 모든 픽쳐는 디코딩 순서 (즉, 비트스트림 순서) 에서의 이전 픽쳐의 디코딩 없이도 정확하게 디코딩될 수 있고, 따라서, 랜덤 액세스 포인트로서 이용될 수도 있다. 앵커 픽쳐들 및 비앵커 픽쳐들은 다른 종속성들을 가지며, 양쪽 모두 시퀀스 파라미터 세트에서 시그널링된다.
MVC에서 정의된 비트스트림 구조는 두개의 구문 엘리먼트: view _ idtemporal_id 에 의해 특징화된다. 구문 엘리머트 view _ id 는 각각의 뷰의 식별자를 나타낸다. NAL 유닛 헤더에서의 표시는 디코더에서의 NAL 유닛들의 용이한 식별 및 디스플레이에 대한 디코딩된 뷰의 신속한 액세스를 가능하게 한다. 구문 엘리먼트 temporal_id 는 시간 스케일링능력 계층성 또는 간적접으로 프레임 레이트를 나타낸다. 보다 작은 최대 temporal _ id 값을 갖는 NAL 유닛들을 포함하는 동작 포인트는 보다 큰 최대 temporal _ id 값을 갖는 동작 포인트보다 보다 낮은 프레임 레이트를 갖는다. 보다 높은 temporal _ id 값을 갖는 코딩 픽쳐는 일반적으로 뷰 내에서 낮은 temporal _ id 값을 갖는 코딩 픽쳐에 종속하며, 더 높은 temporal _ id 을 갖는 어떠한 코딩 픽쳐에도 종속하지 않는다.
NAL 유닛 헤더에서의 구문 엘리먼트들 view _ idtemporal _ id 은 비트스트림 추출 및 적응 양쪽 모두에 이용된다. NAL 유닛 헤더에서의 다른 구문 엘리먼트는 priority _ id 이며, 이는 간단한 1-패스 비트스트림 적응 프로세스에 이용된다. 즉, 비트스트림 추출 및 적응을 사전 프로세싱할 때, 비트스트림을 수신 또는 취출하는 디바이스가 priority _ id 값을 이용하여 NAL 유닛들 중의 우선순위를 결정할 수도 있으며, 이는 하나의 비트스트림이 가변 코딩 및 렌더링 능력들을 갖는 다중 목적지 디바이스들로 전송하는 것을 허용한다.
inter _ view _ flag 구문 엘리먼트는 NAL 유닛이 상이한 뷰에서의 다른 NAL 유닛을 인터-뷰 예측하는데 이용될 것임을 나타낸다.
MVC 에서, 뷰 종속성은 SPS MVC 익스텐션에서 시그널링된다. 모든 인터-뷰 예측은 SPS MVC 익스텐션에 의해 특정된 범위 내에서 행해진다. 뷰 종속성은 뷰가 다른 뷰에 종속하는지, 예를 들어, 인터-뷰 예측을 위해 종속하는지의 여부를 나타낸다. 첫번째 뷰가 두번째 뷰의 데이터로부터 예측되는 경우, 첫번째 뷰는 두번째 뷰에 종속한다고 말한다. 아래의 테이블 6 은 SPS에 대한 MVC 익스텐션의 일 예를 나타낸다.
테이블 6
Figure 112014017427987-pct00009
도 5 는 본 개시물의 기법들에 따른, 도 1 의 비디오 디코더 (28) 의 일 예를 좀더 상세히 예시하는 블록도이다. 비디오 디코더 (28) 는 "코더" 로서 지칭되는, 특수화된 비디오 컴퓨터 디바이스 또는 장치의 일 예이다. 도 5 에 나타낸 바와 같이, 비디오 디코더 (28) 는 목적지 디바이스 (14) 의 비디오 디코더 (28) 에 대응한다. 그러나, 다른 예들에서, 비디오 디코더 (28) 는 상이한 디바이스에 대응한다. 추가적인 예들에서, (예를 들어, 다른 인코더/디코더 (코덱들) 과 같은) 다른 유닛들이 또한 비디오 디코더 (28) 와 유사한 기법들을 수행할 수 있다.
비디오 디코더 (28) 는 그 수신된 비트스트림을 엔트로피 디코딩하여 양자화된 계수들 및 예측 구문 엘리먼트들을 발생하는 엔트로피 디코딩 유닛 (52) 을 포함한다. 비트스트림은 3D 비디오 및 구문 엘리먼트들을 렌더링하기 위해 각각의 픽셀 로케이션에 대한 텍스쳐 성분들 및 심도 성분을 갖는 코딩된 블록들을 포함한다. 예측 구문 엘리먼트들은 코딩 모드, 하나 이상의 모션 벡터들, 사용되는 내삽 기법을 식별하는 정보, 내삽 필터링에 사용하기 위한 계수들, 및 예측 블록의 발생과 연관되는 다른 정보 중 적어도 하나를 포함한다.
예측 구문 엘리먼트들, 예컨대, 계수들이, 예측 프로세싱 유닛 (55) 으로 포워딩된다. 예측 프로세싱 유닛 (55) 은 심도 구문 예측 모듈 (66) 을 포함한다. 고정된 필터의 계수들에 대한, 또는 서로에 대한, 계수들을 코딩하는데 예측이 사용되면, 예측 프로세싱 유닛 (55) 은 구문 엘리먼트들을 디코딩하여, 실제 계수들을 정의한다. 심도 구문 예측 모듈 (66) 은 텍스쳐 뷰 성분들에 대한 텍스쳐 구문 엘리먼트들로부터 심도 뷰 성분들에 대한 심도 구문 엘리먼트들을 예측한다.
양자화가 예측 구문 엘리먼트들 중 임의의 엘리먼트에 적용되면, 역양자화 유닛 (56) 은 이런 양자화를 제거한다. 역양자화 유닛 (56) 은 인코딩된 비트스트림에서 그 코딩된 블록들의 각각의 픽셀 로케이션에 대한 심도 및 텍스쳐 성분들을 상이하게 취급할 수도 있다. 예를 들어, 심도 성분이 텍스쳐 성분들과는 상이하게 양자화되었을 때, 역양자화 유닛 (56) 은 심도 및 텍스쳐 성분들을 별개로 프로세싱한다. 필터 계수들은, 예를 들어, 본 개시물에 따라서 예측 코딩되고 양자화될 수도 있으며, 이 경우, 역양자화 유닛 (56) 이 이런 계수들을 예측 디코딩하여 역양자화하기 위해 비디오 디코더 (28) 에 의해 사용된다.
예측 프로세싱 유닛 (55) 은 예측 구문 엘리먼트들 및 메모리 (62) 에 저장된 하나 이상의 이전에 디코딩된 블록들에 기초하여, 비디오 인코더 (22) 의 예측 프로세싱 유닛 (32) 에 대해 위에서 자세히 설명한 방법과 아주 동일한 방법으로, 예측 데이터를 발생한다. 특히, 예측 프로세싱 유닛 (55) 은 모션 보상 동안 본 개시물의 멀티-뷰 비디오 플러스 심도 기법들 중 하나 이상을 수행하여, 텍스쳐 성분들 뿐만 아니라 심도 성분들을 포함하는 예측 블록을 발생한다. (코딩된 블록 뿐만 아니라) 예측 블록은 심도 성분들 대 텍스쳐 성분들에 대해 상이한 해상도를 가질 수도 있다. 예를 들어, 심도 성분들은 1/4-픽셀 정밀도를 갖지만, 텍스쳐 성분들은 풀-정수 픽셀 정밀도를 갖는다. 이와 같이, 본 개시물의 기법들 중 하나 이상이 예측 블록을 발생할 때에 비디오 디코더 (28) 에 의해 사용된다. 일부 예들에서, 예측 프로세싱 유닛 (55) 은 본 개시물의 내삽 및 내삽-형 필터링 기법들에 사용되는 필터들을 포함하는 모션 보상 유닛을 포함할 수도 있다. 모션 보상 성분은 예시의 단순성 및 용이성을 위해 도 5 에 도시되지 않는다.
역양자화 유닛 (56) 은 양자화된 계수들을 역양자화한다, 즉 양자화 해제한다. 역양자화 프로세스는 H.264 디코딩에 대해 또는 임의의 다른 디코딩 표준에 대해 정의된 프로세스이다. 역변환 프로세싱 유닛 (58) 은 픽셀 도메인에서 잔여 블록들을 발생시키기 위해 변환 계수들에 역변환, 예컨대, 역 DCT 또는 개념적으로 유사한 역변환 프로세스를 적용한다. 가산기 (64) 는 잔여 블록을 예측 프로세싱 유닛 (55) 에 의해 발생된 대응하는 예측 블록과 합산하여, 비디오 인코더 (22) 에 의해 인코딩된 원래 블록의 재구성된 버전을 형성한다. 원할 경우, 디블로킹 필터는 또한 블록킹 현상 아티팩트들을 제거하기 위해, 디코딩된 블록들을 필터링하는데 적용된다. 디코딩된 비디오 블록들은 그후 메모리 (62) 에 저장되며, 메모리는 후속 모션 보상을 위해 참조 블록들을 포함하며 또한 (도 1 의 디스플레이 디바이스 (30) 와 같은) 디스플레이 디바이스를 구동하기 위해 디코딩된 비디오를 발생한다.
디코딩된 비디오는 3D 비디오를 렌더링하는데 이용될 수도 있다. 3D 비디오는 3차원 가상 뷰를 포함할 수도 있다. 심도 정보는 그 블록에서의 각각의 픽셀에 대해 수평 오프셋 (수평 디스패리티) 을 결정하는데 이용된다. 오클루젼 처리 (Occlusion handling) 가 또한 가상 뷰를 발생하기 위해 수행될 수 있다. 심도 뷰 성분들에 대한 구문 엘리먼트들은 텍스쳐 뷰 성분들에 대한 구문 엘리먼트들로부터 예측될 수도 있다.
도 6 은 본 개시물의 기법들에 따르는, 비디오 코더의 예시적인 동작을 나타내는 흐름도이다. 일부 예들에서, 비디오 코더는 비디오 인코더, 이를 테면, 도 1 및 도 2 의 비디오 인코더 (22) 이다. 다른 예에서, 비디오 코더는 비디오 디코더, 이를 테면, 도 1 및 도 5 에 도시된 비디오 디코더 (28) 이다.
비디오 데이터를 코딩하는 예시적인 방법은 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들을 코딩하는 것 (102) 을 포함한다. 예를 들어, 비디오 디코더 (28) 는 비디오 데이터의 인코딩된 블록을 수신한다. 다른 예에서, 비디오 인코더 (22) 는 비디오 데이터의 인코딩된 블록을 수신한다.
본 예는 액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 프로세싱하는 것을 더 포함하며, 텍스쳐 슬라이스는 코딩된 하나 이상의 블록들, 및 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함한다 (104). 예를 들어, 비디오 디코더 (28) 는 인코딩된 텍스쳐 슬라이스를 수신한다. 다른 예에서, 비디오 인코더 (22) 는 텍스쳐 슬라이스를 생성한다.
본 예는 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 코딩하는 것 (106) 을 더 포함한다. 본 방법은 또한 뷰의 텍스쳐 뷰 성분에 대응하는 심도 뷰 성분에 대한 심도 슬라이스를 프로세싱하는 것을 포함하며, 심도 슬라이스는 코딩된 심도 정보, 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함한다 (108). 텍스쳐 슬라이스 또는 심도 슬라이스를 프로세싱하는 것은 각각, 텍스쳐 슬라이스를 나타내는 구문 엘리먼트들의 세트 또는 참조 슬라이스 헤더로부터의 심도 슬라이스의 특징들을 구문 엘리먼트들의 세트 중 적어도 하나의 세트의 적어도 하나의 구문 엘리먼트를 포함할 수도 있으며, 여기에서 참조 슬라이스 헤더는 동일한 액세스 유닛의 뷰 성분으로부터 기인한다.
일부 예들에서, 예측된 구문 엘리먼트들에 기초하여 현재 뷰를 코딩하는 것은 현재 뷰를 인코딩하는 것을 포함한다. 다른 예들에서, 예측된 구문 엘리먼트들에 기초하여 현재 뷰를 코딩하는 것은 현재 뷰를 디코딩하는 것을 포함한다.
참조 슬라이스 헤더는 텍스쳐 뷰 성분 또는 심도 뷰 성분 중 하나일 수도 있다. 참조 슬라이스 헤더는 동일 액세스 유닛의 AVC (Advanced Video Coding) 호환가능 기본 텍스쳐 뷰를 포함할 수도 있다. 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트는 AVC 슬라이스 헤더와 상이한 순서에 있다. 예를 들어, AVC 슬라이스 헤더는 구문 엘리먼트들의 전형적인 특정 순서를 가질 수도 있다.
일부 예들에서, 참조 슬라이스 헤더를 나타내는 인덱스가 시그널링된다. 이 인덱스는 델타 뷰 순서로서 시그널링될 수도 있고, 델타 뷰 순서는 현재 뷰에 대한 참조 슬라이스 헤더의 로케이션을 나타낸다. 참조 슬라이스 헤더는 현재 뷰와 동일한 액세스 유닛에서의 다른 뷰와 연관된 연관될 수도 있다. 본 방법은 슬라이스 헤더 익스텐션에서 구문 엘리먼트를 시그널링하는 것을 더 포함할 수도 있다.
참조 슬라이스 헤더가 심도 뷰 성분 또는 텍스쳐 뷰 성분에 대응하는지를 나타내는 플래그를 시그널링할 수도 있다. 나타내어진 심도 또는 텍스쳐 뷰 성분의 심도 슬라이스 또는 텍스쳐 슬라이스의 슬라이스 ID 는 각각 슬라이스 헤더에서 또한 시그널링될 수도 있다. 본 방법은 또한 심도 슬라이스 및 텍스쳐 슬라이스에 대한 슬라이스 ID 를 시그널링하는 것을 포함할 수도 있고, 여기에서 슬라이스 ID 는 뷰 성분의 NAL (network abstraction layer) 유닛의 NAL 유닛 헤더 또는 슬라이스 헤더 중 적어도 하나에서 시그널링된다. 다른 예에서, 본 방법은 또한 심도 슬라이스 및 텍스쳐 슬라이스에 대한 슬라이스 ID 를 시그널링하는 것을 포함할 수도 있고, 여기에서, 슬라이스 ID 는 각각 심도 뷰 성분 및 텍스쳐 뷰 성분의 NAL (network abstraction layer) 유닛을 포함하는 액세스 유닛에서 시그널링된다. 본원에 설명된 바와 같이 시그널링은 코딩된 비트스트림이다.
예를 들어, 비디오 디코더 (28) 는 슬라이스 ID 를 수신한다. 비디오 디코더 (28) 는 참조 슬라이스 헤더를 나타내는 인덱스를 수신한다. 일부 예들에서, 인덱스는 델타 뷰 순서를 포함하고, 여기에서 델타 뷰 순서는 현재 뷰에 대한 참조 슬라이스 헤더의 로케이션을 나타내며, 참조 슬라이스 헤더는 현재 뷰와 동일한 액세스 유닛에서의 다른 뷰와 연관된 연관된다. 비디오 디코더 (28) 는 참조 슬라이스 헤더가 심도 뷰 성분 또는 텍스쳐 뷰 성분에 대응하는지를 나타내는 플래그를 수신한다. 다른 예에서, 비디오 디코더 (28) 는 나타내어진 심도 또는 텍스쳐 뷰 성분의 심도 슬라이스 또는 텍스쳐 슬라이스의 슬라이스 ID 를 각각 수신한다. 비디오 디코더 (28) 는 심도 슬라이스 또는 텍스쳐 슬라이스의 슬라이스 ID 를 수신하며, 여기에서, 슬라이스 ID 는 뷰 성분의 NAL (network abstraction layer) 유닛의 NAL 유닛 헤더 또는 슬라이스 헤더 중 적어도 하나에서 시그널링된다. 비디오 디코더 (28) 는 심도 슬라이스 또는 텍스쳐 슬라이스의 슬라이스 ID 를 수신하며, 여기에서, 슬라이스 ID 는 각각 심도 뷰 성분 및 텍스쳐 뷰 성분의 NAL (network abstraction layer) 유닛을 포함하는 액세스 유닛에서 시그널링된다. 또한, 비디오 디코더 (28) 는 슬라이스 헤더 익스텐션에서 구문 엘리먼트를 수신한다.
일부 예들에서, 구문 엘리먼트는 참조 픽쳐 리스트이다. 참조 픽쳐 리스트는 참조 픽쳐 리스트 계승 플래그를 갖는 참조 슬라이스 헤더로부터 예측될 수도 있으며, 1 의 값을 갖는 참조 픽쳐 리스트 계승 플래그는 현재 뷰에 대한 참조 픽쳐 리스트 구성 구문 엘리먼트들이 참조 슬라이스 헤더로부터 복제됨을 나타내고, 0의 값을 갖는 참조 픽쳐 리스트 계승 플래그는 현재 뷰에 대한 참조 픽쳐 리스트 구성 구문 엘리먼트들이 참조 슬라이스 헤더로부터 복제되지 않음을 나타낸다. 다른 예에서, 참조 픽쳐 리스트는 참조 픽쳐 리스트 삽입 플래그를 가진 참조 슬라이스 헤더로부터 예측될 수도 있으며, 1 의 값을 가진 참조 픽쳐 리스트 삽입 플래그는 참조 슬라이스 헤더로부터의 참조 슬라이스 픽쳐들이 현재 뷰의 참조 픽쳐 리스트에 추가됨을 나타낸다. 다른 예에서, 참조 픽쳐 리스트는 현재 뷰의 참조 픽쳐쳐 리스트에 추가된다. 다른 예에서, 참조 픽쳐 리스트는 참조 픽쳐 제외 플래그를 갖는 참조 슬라이스 헤더로부터 예측될 수도 있으며, 1 의 값을 갖는 참조 픽쳐 제외 플래그는 참조 슬라이스 헤더로부터의 참조 픽쳐가 현재 뷰의 참조 픽쳐 리스트로부터 제외됨을 나타낸다. 일부 예에서, 본 방법은 참조 픽쳐 리스트 변경의 예측이 인에이블되는 경우에, 적어도 참조 픽쳐 리스트 제외 구문 테이블 또는 참조 픽쳐 리스트 삽입 구문 테이블에 기초하여 참조 픽쳐 리스트 변경을 변경하는 것을 더 포함한다.
비디오 코더는 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 텍스쳐 슬라이스 헤더를 포함하는 텍스쳐 슬라이스를 수신한다 (102). 예를 들어, 비디오 코더는 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 코딩된 블록들과 연돤된 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 수신하고, 텍스쳐 슬라이스는 인코딩된 하나 이상의 블록들, 및 텍스쳐 슬라이스의 특성들을 나타내는 텍스쳐 슬라이스 헤더를 포함한다. 본 방법은 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 심도 슬라이스 헤더를 포함하는 심도 슬라이스를 수신하는 것을 더 포함한다 (104). 예를 들어, 비디오 코더는 텍스쳐 뷰 성분에 대응하는 심도 정보의 하나 이상의 코딩된 블록들과 연관된 심도 뷰 성분에 대한 심도 슬라이스를 수신하며, 여기에서, 심도 슬라이스는 심도 정보의 하나 이상의 코딩된 블록들, 및 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 심도 슬라이스 헤더를 포함한다. 일부 예들에서, 심도 뷰 성분 및 텍스쳐 뷰 성분 양쪽 모두는 뷰와 액세스 유닛에 속한다.
본 방법은 제 1 슬라이스를 코딩하는 것을 더 포함하며, 여기에서, 제 1 슬라이스는 텍스쳐 슬라이스 및 심도 슬라이스를 포함하며, 여기에서 제 1 슬라이스는 제 1 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 슬라이스 헤더를 갖는다 (106). 예를 들어, 비디오 인코더 (22) 는 제 1 슬라이스를 인코딩하며, 여기에서 제 1 슬라이스는 텍스쳐 슬라이스와 심도 슬라이스 중 하나를 포함하며, 제 1 슬라이스는 제 1 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 슬라이스 헤더를 갖는다. 일 예에서, 슬라이스 헤더는 연관된 슬라이스를 코딩하는데 이용되는 모든 구문 엘리먼트들을 포함한다. 다른 예에서, 비디오 디코더 (28) 는 제 1 슬라이스를 디코딩하며, 여기에서 제 1 슬라이스는 텍스쳐 슬라이스 및 심도 슬라이스 중 하나를 포함하며, 제 1 슬라이스는 제 1 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 슬라이스 헤더를 갖는다.
본 방법은 제 1 슬라이스의 슬라이스 헤더로부터 제 1 슬라이스에 대한 공통 구문 엘리먼트들을 결정하는 것을 더 포함한다 (108). 또한, 본 방법은 결정된 공통 구문 엘리먼트들에 적어도 부분적으로 기초하여 제 1 슬라이스를 코딩한 후 제 1 슬라이스를 코딩ㅎ는 것을 포함하며, 여기에서, 제 2 슬라이스는 제 1 슬라이스에 공통인 구문 엘리먼트들에 대한 값들을 제외하는 제 2 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 슬라이스 헤더를 갖는다 (110). 예를 들어, 비디오 인코더 (22) 는 결정된 공통 구문 엘리먼트들에 적어도 부분적으로 기초하여 제 1 슬라이스를 코딩한 후 제 2 슬라이스를 인코딩할 수도 있으며, 여기에서, 제 2 슬라이스는 제 1 슬라이스가 아닌 텍스쳐 슬라이스 및 심도 슬라이스 중 하나를 포함하며, 제 2 슬라이스는 제 1 슬라이스에 공통인 구문 엘리먼트들에 대한 값들을 제외한, 제 2 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 슬라이스 헤더를 갖는다. 이와 유사하게, 비디오 디코더 (28) 는 결정된 공통 구문 엘리먼트들에 적어도 부분적으로 기초하여 제 1 슬라이스를 코딩한 후 제 2 슬라이스를 디코딩할 수도 있으며, 여기에서, 제 2 슬라이스는 제 1 슬라이스가 아닌 텍스쳐 슬라이스 및 심도 슬라이스 중 하나를 포함하며, 제 2 슬라이스는 제 1 슬라이스에 공통인 구문 엘리먼트들에 대한 값들을 제외한, 제 2 슬라이스의 특성들을 나타내는 구문 엘리먼트들을 포함하는 슬라이스 헤더를 갖는다.
다른 예들에서, 본 방법은 어느 구문 엘리먼트들이 시퀀스 파라미터 세트에서의 제 2 슬라이스의 슬라이스 헤더에서 명시적으로 시그널링되는지의 표시를 시그널링하는 것을 더 포함한다.
다른 예들에서, 적어도 하나의 심도 구문 엘리먼트가 결정되어 심도 뷰 성분의 슬라이스 헤더에서 시그널링된다. 적어도 하나의 심도 구문 엘리먼트들은 픽쳐 파라미터 세트 식별자, 슬라이스의 양자화 파라미터와 픽쳐 파라미터 세트에서 시그널링된 양자화 파라미터 사이의 양자화 파라미터 차이, 코딩된 블록 유닛의 시작 위치, 참조 픽쳐들의 순서, 또는 심도 뷰 성분의 현재 픽쳐의 디스플레이 순서를 포함할 수도 있다. 예를 들어 제 2 슬라이스의 슬라이스 헤더는 적어도 참조 픽쳐 파라미터 세트의 식별 정보의 시그널링된 구문 엘리먼트를 포함한다. 다른 예에서, 제 2 슬라이스의 슬라이스 헤더는 적어도 제 2 슬라이스의 양자화 파라미터와 픽쳐 파라미터 세트에서 시그널링되는 양자화 파라미터의 양자화 파라미터 차이를 포함한다. 다른 예에서, 제 2 슬라이스의 슬라이스 헤더는 적어도 코딩된 블록의 시작 위치의 시그널링된 구문 엘리먼트를 포함한다. 또한, 제 2 슬라이스의 슬라이스 헤더는 제 2 슬라이스의 프레임 수, 및 픽쳐 순서 카운트 중 적어도 하나를 포함할 수도 있다. 다른 예에서, 제 2 슬라이스의 슬라이스 헤더는 참조 픽쳐 리스트 구성과 관련된 구문 엘리먼트들, 각각의 리스트에 대한 액티브 참조 프레임들의 수, 참조 픽쳐 리스트 변경 구문 테이블들, 및 예측 가중치 테이블 중 적어도 하나를 포함한다.
코딩된 블록 유닛의 시작 위치는 코딩된 블록의 시작 위치가 텍스쳐 슬라이스 헤더 또는 심도 슬라이스 헤더에서 시그널링되지 않을 때 제로인 것으로 결정될 수도 있다. 적어도 하나의 텍스쳐 뷰 성분의 루프 필터 파라미터가 시그널링될 수도 있으며, 심도 뷰 성분에 이용되는 루프 필터 파라미터를 나타내는 플래그 세트는 적어도 하나의 텍스쳐 뷰 성분에 대한 루프 필터 파라미터의 플래그 세트와 동일하다. 예를 들어, 제 2 슬라이스의 슬라이스 헤더는 제 2 슬라이스에 대한 적응성 루프 필터링 파라미터들 또는 디블록킹 필터 파리미터들에 관련된 구문 엘리먼트들 중 적어도 하나를 포함한다.
다른 예에서, 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들은 인터-뷰 예측을 이용하여 인코딩되는 한편, 프레임의 대응하는 부분에 대한 심도 값은 인트라 뷰 예측을 이용하여 인코딩된다. 텍스쳐 뷰 성분들 및 심도 뷰 성분들을 갖는 비디오 프레임은 제 1 뷰에 대응할 수도 있다. 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들을 인코딩하는 것은 제 2 뷰의 데이터에 관한 텍스쳐 정보를 나타내는 비디오 데이터의 블록들 중 적어도 하나의 적어도 일부분을 예측하는 것을 포함할 수도 있으며, 제 2 뷰는 제 1 뷰와 상이하다. 프레임의 일부분에 대한 심도 값들을 나타내는 심도 정보를 인코딩하는 것은 제 1 뷰의 데이터에 관한 심도 값들을 나타내는 심도 정보의 적어도 일부분을 예측하는 것을 더 포함한다. 심도 슬라이스 헤더는 심도 맵 뷰 성분에 대한 참조 픽쳐 리스트 구성을 나타내는 구문 엘리먼트들을 추가로 시그널링할 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 하나 이상의 명령들 또는 코드들로서 컴퓨터-판독가능 매체 상에 저장되거나 송신되어, 하드웨어-기반의 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터-판독가능 매체는 컴퓨터-판독가능 저장 매체들을 포함할 수도 있으며, 이 컴퓨터-판독가능 저장 매체들은 데이터 저장 매체와 같은 유형의 매체, 또는 예컨대, 통신 프로토콜에 따라서 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체들에 대응한다. 이러한 방법으로, 컴퓨터-판독가능 매체들은 일반적으로 (1) 비일시성 유형의 컴퓨터-판독가능 저장 매체 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에서 설명하는 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수도 있다.
일 예로서, 이에 한정하지 않고, 이런 컴퓨터-판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 이중 권선, 디지털 가입자 회선 (DSL), 또는 무선 기술들 예컨대, 적외선, 무선, 및 마이크로파를 이용하여 명령들이 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 이중 권선, DSL, 또는 무선 기술들, 예컨대 적외선, 무선, 및 마이크로파가 그 매체의 정의에 포함된다. 그러나, 컴퓨터-판독가능 저장 매체들 및 데이터 저장 매체들이 접속부들, 캐리어 파들, 신호들, 또는 다른 일시적인 매체들을 포함하지 않고, 대신 비일시성 유형의 저장 매체들에 관련되는 것으로 이해되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며, 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다. 앞에서 언급한 것들의 조합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSPs), 범용 마이크로프로세서들, 주문형 집적회로들 (ASICs), 필드 프로그래밍가능 로직 어레이들 (FPGAs), 또는 다른 등가의 통합 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 용어 "프로세서" 는, 본원에서 사용될 때 전술한 구조 중 임의의 구조 또는 본원에서 설명하는 기법들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 게다가, 일부 양태들에서, 본원에서 설명하는 기능 전용 하드웨어 및/또는 인코딩 및 디코딩을 위해 구성되는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱에 포함될 수도 있다. 또한, 이 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들로 전적으로 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 ICs 의 세트 (예컨대, 칩 세트) 를 포함한, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 개시한 기법들을 수행하도록 구성되는 디바이스들의 기능적 양태들을 강조하기 위해서 여러 구성요소들, 모듈들, 또는 유닛들이 본 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로 하지는 않는다. 더 정확히 말하면, 위에서 설명한 바와 같이, 여러 유닛들이 코덱 하드웨어 유닛에 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명한 바와 같은 하나 이상의 프로세서들을 포함한, 상호작용하는 하드웨어 유닛들의 컬렉션으로 제공될 수도 있다.
본 개시물의 여러 예들이 설명되었다. 이들 및 다른 예들은 다음 청구항들의 범위 이내이다.

Claims (56)

  1. 비디오 데이터를 디코딩하는 방법으로서,
    상기 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 상기 비디오 데이터의 하나 이상의 블록들을 디코딩하는 단계;
    액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 수신하는 단계로서, 상기 텍스쳐 슬라이스는 코딩된 상기 하나 이상의 블록들, 및 상기 텍스쳐 슬라이스의 특성들을 나타내는 구문 (syntax) 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함하는, 상기 텍스쳐 슬라이스를 수신하는 단계;
    상기 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 디코딩하는 단계; 및
    상기 현재 뷰의 텍스쳐 뷰 성분에 대응하는 상기 현재 뷰의 심도 뷰 성분에 대한 심도 슬라이스를 수신하는 단계로서, 상기 심도 슬라이스는 코딩된 상기 심도 정보, 및 상기 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함하는, 상기 심도 슬라이스를 수신하는 단계를 포함하며,
    상기 텍스쳐 슬라이스를 수신하는 단계는, 참조 슬라이스 헤더로부터 상기 텍스쳐 슬라이스의 특성들을 나타내는 상기 텍스쳐 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 단계를 포함하거나, 또는
    상기 심도 슬라이스를 수신하는 단계는, 상기 참조 슬라이스 헤더로부터 상기 심도 슬라이스의 특성들을 나타내는 상기 심도 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 단계를 포함하는 것
    중 적어도 하나이며,
    상기 참조 슬라이스 헤더는 상기 현재 뷰와 동일한 상기 액세스 유닛의 다른 뷰와 연관된 뷰 성분으로부터 유래하는, 비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 다른 뷰와 연관된 텍스쳐 뷰 성분 또는 심도 뷰 성분 중 하나로부터의 슬라이스 헤더를 포함하는, 비디오 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 동일한 액세스 유닛의 AVC (Advanced Video Coding) 호환가능 기본 텍스쳐 뷰와 연관된 슬라이스 헤더를 포함하는, 비디오 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 텍스쳐 슬라이스의 특성들을 나타내는 상기 구문 엘리먼트들의 세트 및 상기 심도 슬라이스의 특성들을 나타내는 상기 구문 엘리먼트들의 세트를 AVC 슬라이스 헤더 순서와 상이한 순서로 정렬하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 참조 슬라이스 헤더를 나타내는 인덱스를 수신하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  7. 제 6 항에 있어서,
    상기 인덱스는 델타 뷰 순서를 포함하고,
    상기 델타 뷰 순서는 상기 현재 뷰에 대한 상기 참조 슬라이스 헤더의 로케이션을 나타내는, 비디오 데이터를 디코딩하는 방법.
  8. 제 6 항에 있어서,
    상기 참조 슬라이스 헤더가 상기 다른 뷰와 연관된 심도 뷰 성분 또는 텍스쳐 뷰 성분에 대응하는지를 나타내는 플래그를 수신하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  9. 제 8 항에 있어서,
    각각, 나타내어진 상기 심도 뷰 성분 또는 상기 텍스쳐 뷰 성분의 상기 심도 슬라이스 또는 상기 텍스쳐 슬라이스의 슬라이스 ID 를 수신하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  10. 제 8 항에 있어서,
    상기 심도 슬라이스 및 상기 텍스쳐 슬라이스의 슬라이스 ID 를 수신하는 단계를 더 포함하고,
    상기 슬라이스 ID 는 상기 슬라이스 헤더, 또는 상기 뷰 성분의 NAL (network abstraction layer) 유닛의 NAL 유닛 헤더 중 적어도 하나에서 시그널링되는, 비디오 데이터를 디코딩하는 방법.
  11. 제 8 항에 있어서,
    상기 심도 슬라이스 및 상기 텍스쳐 슬라이스에 대한 슬라이스 ID 를 수신하는 단계를 더 포함하며,
    상기 슬라이스 ID 는 각각, 상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분의 NAL (network abstraction layer) 유닛을 포함하는 액세스 유닛에서 시그널링되는, 비디오 데이터를 디코딩하는 방법.
  12. 제 1 항에 있어서,
    슬라이스 헤더 익스텐션에서 상기 구문 엘리먼트를 수신하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  13. 제 1 항에 있어서,
    상기 구문 엘리먼트는 참조 픽쳐 리스트이고,
    상기 참조 픽쳐 리스트는 참조 픽쳐 리스트 계승 플래그 (reference picture list inherit flag) 를 가진 상기 참조 슬라이스 헤더로부터 예측되고,
    1 의 값을 가진 상기 참조 픽쳐 리스트 계승 플래그는 상기 현재 뷰에 대한 참조 픽쳐 리스트 구성 구문 엘리먼트들이 상기 참조 슬라이스 헤더로부터 복제됨을 나타내고,
    0 의 값을 가진 상기 참조 픽쳐 리스트 계승 플래그는 상기 현재 뷰에 대한 참조 픽쳐 리스트 구성 구문 엘리먼트들이 상기 참조 슬라이스 헤더로부터 복제되지 않음을 나타내는, 비디오 데이터를 디코딩하는 방법.
  14. 제 1 항에 있어서,
    상기 구문 엘리먼트는 참조 픽쳐 리스트이고,
    상기 참조 픽쳐 리스트는 참조 픽쳐 리스트 삽입 플래그를 가진 상기 참조 슬라이스 헤더로부터 예측되고,
    1 의 값을 가진 상기 참조 픽쳐 리스트 삽입 플래그는 상기 참조 슬라이스 헤더로부터의 참조 픽쳐들이 상기 현재 뷰의 상기 참조 픽쳐 리스트에 추가됨을 나타내는, 비디오 데이터를 디코딩하는 방법.
  15. 제 1 항에 있어서,
    상기 구문 엘리먼트는 참조 픽쳐 리스트이고,
    상기 참조 픽쳐 리스트는 참조 픽쳐 제외 플래그를 가진 상기 참조 슬라이스 헤더로부터 예측되고,
    1 의 값을 가진 상기 참조 픽쳐 제외 플래그는 상기 참조 슬라이스 헤더로부터의 참조 픽쳐들이 상기 현재 뷰의 상기 참조 픽쳐 리스트로부터 제거됨을 나타내는, 비디오 데이터를 디코딩하는 방법.
  16. 제 1 항에 있어서,
    참조 픽쳐 리스트 변경의 예측이 인에이블되는 경우에 상기 참조 픽쳐 리스트 변경을, 참조 픽쳐 리스트 제외 구문 테이블 또는 참조 픽쳐 리스트 삽입 구문 테이블 중 적어도 하나에 기초하여 변경하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  17. 삭제
  18. 삭제
  19. 데이터를 코딩하는 디바이스로서,
    비디오 디코더를 포함하고,
    상기 비디오 디코더는,
    비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 비디오 데이터의 하나 이상의 블록들을 디코딩하고;
    액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 수신하는 것으로서, 상기 텍스쳐 슬라이스는 코딩된 상기 하나 이상의 블록들, 및 상기 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함하는, 상기 텍스쳐 슬라이스를 수신하고;
    상기 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 디코딩하고;
    상기 현재 뷰의 상기 텍스쳐 뷰 성분에 대응하는 상기 현재 뷰의 심도 뷰 성분에 대한 심도 슬라이스를 수신하는 것으로서, 상기 심도 슬라이스는 코딩된 상기 심도 정보, 및 상기 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함하는, 상기 심도 슬라이스를 수신하도록 구성되며,
    상기 텍스쳐 슬라이스 또는 상기 심도 슬라이스를 수신하기 위해, 상기 비디오 디코더는,
    참조 슬라이스 헤더로부터 상기 텍스쳐 슬라이스의 특성들을 나타내는 상기 텍스쳐 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 것, 또는
    상기 참조 슬라이스 헤더로부터 상기 심도 슬라이스의 특성들을 나타내는 상기 심도 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 것 중 적어도 하나를 수행하도록 구성되고,
    상기 참조 슬라이스 헤더는 상기 현재 뷰와 동일한 상기 액세스 유닛의 다른 뷰와 연관된 뷰 성분으로부터 유래하는, 데이터를 코딩하는 디바이스.
  20. 제 19 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 다른 뷰와 연관된 텍스쳐 뷰 성분 또는 심도 뷰 성분 중 하나로부터의 슬라이스 헤더를 포함하는, 데이터를 코딩하는 디바이스.
  21. 제 19 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 동일한 액세스 유닛의 AVC (Advanced Video Coding) 호환가능 기본 텍스쳐 뷰와 연관된 슬라이스 헤더를 포함하는, 데이터를 코딩하는 디바이스.
  22. 제 19 항에 있어서,
    상기 비디오 코더는 또한, 상기 텍스쳐 슬라이스의 특성들을 나타내는 상기 구문 엘리먼트들의 세트 및 상기 심도 슬라이스의 특성들을 나타내는 상기 구문 엘리먼트들의 세트를 AVC 슬라이스 헤더 순서와 상이한 순서로 정렬하도록 구성되는, 데이터를 코딩하는 디바이스.
  23. 삭제
  24. 제 19 항에 있어서,
    상기 비디오 디코더는 또한, 상기 참조 슬라이스 헤더를 나타내는 인덱스를 수신하도록 구성되는, 데이터를 코딩하는 디바이스.
  25. 제 24 항에 있어서,
    상기 인덱스는 델타 뷰 순서를 포함하고,
    상기 델타 뷰 순서는 상기 현재 뷰에 대한 상기 참조 슬라이스 헤더의 로케이션을 나타내는, 데이터를 코딩하는 디바이스.
  26. 제 19 항에 있어서,
    상기 비디오 디코더는 또한, 상기 참조 슬라이스 헤더가 상기 다른 뷰와 연관된 심도 뷰 성분 또는 텍스쳐 뷰 성분에 대응하는지를 나타내는 플래그를 수신하도록 구성되는, 데이터를 코딩하는 디바이스.
  27. 제 24 항에 있어서,
    상기 비디오 디코더는 또한, 나타내어진 상기 심도 뷰 성분 또는 상기 텍스쳐 뷰 성분의 상기 심도 슬라이스 또는 상기 텍스쳐 슬라이스의 슬라이스 ID 를 수신하도록 구성되는, 데이터를 코딩하는 디바이스.
  28. 제 24 항에 있어서,
    상기 비디오 디코더는 또한, 상기 심도 슬라이스 및 상기 텍스쳐 슬라이스에 대한 슬라이스 ID 를 수신하도록 구성되며,
    상기 슬라이스 ID 는 상기 슬라이스 헤더, 또는 상기 뷰 성분의 NAL (network abstraction layer) 유닛의 NAL 유닛 헤더 중 적어도 하나에서 수신되는, 데이터를 코딩하는 디바이스.
  29. 제 24 항에 있어서,
    상기 비디오 디코더는 또한, 상기 심도 슬라이스 및 상기 텍스쳐 슬라이스에 대한 슬라이스 ID 를 수신하도록 구성되며,
    상기 슬라이스 ID 는 각각, 상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분의 NAL (network abstraction layer) 유닛을 포함하는 액세스 유닛에서 시그널링되는, 데이터를 코딩하는 디바이스.
  30. 제 24 항에 있어서,
    상기 비디오 디코더는 또한, 슬라이스 헤더 익스텐션에서 상기 구문 엘리먼트를 수신하도록 구성되는, 데이터를 코딩하는 디바이스.
  31. 제 19 항에 있어서,
    상기 구문 엘리먼트는 참조 픽쳐 리스트이고,
    상기 참조 픽쳐 리스트는 참조 픽쳐 리스트 계승 플래그 (reference picture list inherit flag) 를 가진 상기 참조 슬라이스 헤더로부터 예측되고,
    1 의 값을 가진 상기 참조 픽쳐 리스트 계승 플래그는 상기 현재 뷰에 대한 참조 픽쳐 리스트 구성 구문 엘리먼트들이 상기 참조 슬라이스 헤더로부터 복제됨을 나타내고,
    0 의 값을 가진 상기 참조 픽쳐 리스트 계승 플래그는 상기 현재 뷰에 대한 참조 픽쳐 리스트 구성 구문 엘리먼트들이 상기 참조 슬라이스 헤더로부터 복제되지 않음을 나타내는, 데이터를 코딩하는 디바이스.
  32. 제 19 항에 있어서,
    상기 구문 엘리먼트는 참조 픽쳐 리스트이고,
    상기 참조 픽쳐 리스트는 참조 픽쳐 리스트 삽입 플래그를 가진 상기 참조 슬라이스 헤더로부터 예측되고,
    1 의 값을 가진 상기 참조 픽쳐 리스트 삽입 플래그는 상기 참조 슬라이스 헤더로부터의 참조 픽쳐들이 상기 현재 뷰의 상기 참조 픽쳐 리스트에 추가됨을 나타내는, 데이터를 코딩하는 디바이스.
  33. 제 19 항에 있어서,
    상기 구문 엘리먼트는 참조 픽쳐 리스트이고,
    상기 참조 픽쳐 리스트는 참조 픽쳐 제외 플래그를 가진 상기 참조 슬라이스 헤더로부터 예측되고,
    1 의 값을 가진 상기 참조 픽쳐 제외 플래그는 상기 참조 슬라이스 헤더로부터의 참조 픽쳐들이 상기 현재 뷰의 상기 참조 픽쳐 리스트로부터 제거됨을 나타내는, 데이터를 코딩하는 디바이스.
  34. 제 19 항에 있어서,
    상기 비디오 디코더는 또한, 참조 픽쳐 리스트 변경의 예측이 인에이블되는 경우에 상기 참조 픽쳐 리스트 변경을, 참조 픽쳐 리스트 제외 구문 테이블 또는 참조 픽쳐 리스트 삽입 구문 테이블 중 적어도 하나에 기초하여 변경하도록 구성되는, 데이터를 코딩하는 디바이스.
  35. 삭제
  36. 삭제
  37. 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 비디오 디코딩 디바이스의 하나 이상의 프로세서로 하여금,
    비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 상기 비디오 데이터의 하나 이상의 블록들을 디코딩하게 하고;
    액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 수신하게 하는 것으로서, 상기 텍스쳐 슬라이스는 코딩된 상기 하나 이상의 블록들, 및 상기 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함하는, 상기 텍스쳐 슬라이스를 수신하게 하고;
    상기 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 디코딩하게 하고;
    상기 현재 뷰의 텍스쳐 뷰 성분에 대응하는 상기 현재 뷰의 심도 뷰 성분에 대한 심도 슬라이스를 수신하게 하는 것으로서, 상기 심도 슬라이스는 코딩된 상기 심도 정보, 및 상기 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함하는, 상기 심도 슬라이스를 수신하게 하며,
    상기 하나 이상의 프로세서로 하여금 상기 텍스쳐 슬라이스를 수신하게 하거나 또는 상기 심도 슬라이스를 수신하게 하는 명령들은 상기 하나 이상의 프로세서로 하여금,
    참조 슬라이스 헤더로부터 상기 텍스쳐 슬라이스의 특성들을 나타내는 상기 텍스쳐 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 것, 또는
    상기 참조 슬라이스 헤더로부터 상기 심도 슬라이스의 특성들을 나타내는 상기 심도 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 것 중 적어도 하나를 수행하게 하는 명령들을 포함하고,
    상기 참조 슬라이스 헤더는 상기 현재 뷰와 동일한 상기 액세스 유닛의 다른 뷰와 연관된 뷰 성분으로부터 유래하는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  38. 제 37 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 다른 뷰와 연관된 텍스쳐 뷰 성분 또는 심도 뷰 성분 중 하나로부터의 슬라이스 헤더를 포함하는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  39. 제 37 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 동일한 액세스 유닛의 AVC (Advanced Video Coding) 호환가능 기본 텍스쳐 뷰와 연관된 슬라이스 헤더를 포함하는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  40. 삭제
  41. 제 37 항에 있어서,
    상기 명령들은 또한, 상기 비디오 디코딩 디바이스의 하나 이상의 프로세서로 하여금,
    참조 슬라이스 헤더를 나타내는 인덱스를 수신하게 하고,
    상기 인덱스는 델타 뷰 순서를 포함하고,
    상기 델타 뷰 순서는 상기 현재 뷰에 대한 상기 참조 슬라이스 헤더의 로케이션을 나타내는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  42. 제 37 항에 있어서,
    상기 명령들은 또한, 상기 비디오 디코딩 디바이스의 하나 이상의 프로세서로 하여금,
    상기 참조 슬라이스 헤더가 상기 다른 뷰와 연관된 심도 뷰 성분 또는 텍스쳐 뷰 성분에 대응하는지를 나타내는 플래그를 수신하게 하는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  43. 제 37 항에 있어서,
    상기 명령들은 또한, 상기 비디오 디코딩 디바이스의 하나 이상의 프로세서로 하여금,
    각각, 나타내어진 상기 심도 뷰 성분 또는 상기 텍스쳐 뷰 성분의 상기 심도 슬라이스 또는 상기 텍스쳐 슬라이스의 슬라이스 ID 를 수신하게 하는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  44. 제 37 항에 있어서,
    상기 명령들은 또한, 상기 비디오 디코딩 디바이스의 하나 이상의 프로세서로 하여금,
    상기 심도 슬라이스 및 상기 텍스쳐 슬라이스의 슬라이스 ID 를 수신하게 하고,
    상기 슬라이스 ID 는 상기 슬라이스 헤더, 또는 상기 뷰 성분의 NAL (network abstraction layer) 유닛의 NAL 유닛 헤더 중 적어도 하나에서 수신되는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  45. 제 37 항에 있어서,
    상기 명령들은 또한, 상기 비디오 디코딩 디바이스의 하나 이상의 프로세서로 하여금,
    상기 심도 슬라이스 및 상기 텍스쳐 슬라이스에 대한 슬라이스 ID 를 수신하게 하고,
    상기 슬라이스 ID 는 각각, 상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분의 NAL (network abstraction layer) 유닛을 포함하는 액세스 유닛에서 수신되는, 명령들이 저장된 컴퓨터 판독가능 저장 매체.
  46. 삭제
  47. 비디오 디코더를 포함하는 비디오 데이터를 프로세싱하는 디바이스로서,
    상기 비디오 디코더는,
    상기 비디오 데이터의 프레임의 적어도 일부분의 텍스쳐 정보를 나타내는 상기 비디오 데이터의 하나 이상의 블록들을 디코딩하는 수단;
    액세스 유닛과 연관된 현재 뷰의 텍스쳐 뷰 성분에 대한 텍스쳐 슬라이스를 수신하는 수단으로서, 상기 텍스쳐 슬라이스는 코딩된 상기 하나 이상의 블록들, 및 상기 텍스쳐 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 텍스쳐 슬라이스 헤더를 포함하는, 상기 텍스쳐 슬라이스를 수신하는 수단;
    상기 프레임의 적어도 일부분에 대한 심도 값들을 나타내는 심도 정보를 디코딩하는 수단; 및
    상기 현재 뷰의 상기 텍스쳐 뷰 성분에 대응하는 상기 현재 뷰의 심도 뷰 성분에 대한 심도 슬라이스를 수신하는 수단으로서, 상기 심도 슬라이스는 코딩된 상기 심도 정보, 및 상기 심도 슬라이스의 특성들을 나타내는 구문 엘리먼트들의 세트를 포함하는 심도 슬라이스 헤더를 포함하는, 상기 심도 슬라이스를 수신하는 수단을 포함하며,
    상기 텍스쳐 슬라이스를 수신하는 수단은, 참조 슬라이스 헤더로부터 상기 텍스쳐 슬라이스의 특성들을 나타내는 상기 텍스쳐 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 수단을 포함하거나, 또는
    상기 심도 슬라이스를 수신하는 수단은, 상기 참조 슬라이스 헤더로부터 상기 심도 슬라이스의 특성들을 나타내는 상기 심도 슬라이스 헤더의 상기 구문 엘리먼트들의 세트의 적어도 하나의 구문 엘리먼트를 예측하는 수단을 포함하는 것
    중 적어도 하나이며,
    상기 참조 슬라이스 헤더는 상기 현재 뷰와 동일한 상기 액세스 유닛의 다른 뷰와 연관된 뷰 성분으로부터 유래하는, 비디오 데이터를 프로세싱하는 디바이스.
  48. 제 47 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 다른 뷰와 연관된 텍스쳐 뷰 성분 또는 심도 뷰 성분 중 하나로부터의 슬라이스 헤더를 포함하는, 비디오 데이터를 프로세싱하는 디바이스.
  49. 제 47 항에 있어서,
    상기 참조 슬라이스 헤더는 상기 동일한 액세스 유닛의 AVC (Advanced Video Coding) 호환가능 기본 텍스쳐 뷰와 연관된 슬라이스 헤더를 포함하는, 비디오 데이터를 프로세싱하는 디바이스.
  50. 삭제
  51. 제 47 항에 있어서,
    상기 비디오 디코더는 상기 참조 슬라이스 헤더를 나타내는 인덱스를 수신하는 수단을 더 포함하며,
    상기 인덱스는 델타 뷰 순서를 포함하고,
    상기 델타 뷰 순서는 상기 현재 뷰에 대한 상기 참조 슬라이스 헤더의 로케이션을 나타내는, 비디오 데이터를 프로세싱하는 디바이스.
  52. 제 47 항에 있어서,
    상기 비디오 디코더는 상기 참조 슬라이스 헤더가 상기 다른 뷰와 연관된 심도 뷰 성분 또는 텍스쳐 뷰 성분에 대응하는지를 나타내는 플래그를 수신하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하는 디바이스.
  53. 제 47 항에 있어서,
    상기 비디오 디코더는 각각, 나타내어진 상기 심도 뷰 성분 또는 상기 텍스쳐 뷰 성분의 상기 심도 슬라이스 또는 상기 텍스쳐 슬라이스의 슬라이스 ID 를 수신하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하는 디바이스.
  54. 제 47 항에 있어서,
    상기 비디오 디코더는 상기 심도 슬라이스 및 상기 텍스쳐 슬라이스에 대한 슬라이스 ID 를 수신하는 수단을 더 포함하며,
    상기 슬라이스 ID 는 상기 슬라이스 헤더, 또는 상기 뷰 성분의 NAL (network abstraction layer) 유닛의 NAL 유닛 헤더 중 적어도 하나에서 수신되는, 비디오 데이터를 프로세싱하는 디바이스.
  55. 제 47 항에 있어서,
    상기 비디오 디코더는 상기 심도 슬라이스 및 상기 텍스쳐 슬라이스에 대한 슬라이스 ID 를 수신하는 수단을 더 포함하며,
    상기 슬라이스 ID 는 각각, 상기 심도 뷰 성분 및 상기 텍스쳐 뷰 성분의 NAL (network abstraction layer) 유닛을 포함하는 액세스 유닛에서 수신되는, 비디오 데이터를 프로세싱하는 디바이스.
  56. 삭제
KR1020147004644A 2011-07-22 2012-07-20 슬라이스 헤더 예측을 위한 슬라이스 헤더 3차원 비디오 익스텐션 KR101492781B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201161510738P 2011-07-22 2011-07-22
US61/510,738 2011-07-22
US201161522584P 2011-08-11 2011-08-11
US61/522,584 2011-08-11
US201161563772P 2011-11-26 2011-11-26
US61/563,772 2011-11-26
US201261595612P 2012-02-06 2012-02-06
US61/595,612 2012-02-06
US201261624031P 2012-04-13 2012-04-13
US61/624,031 2012-04-13
US201261637212P 2012-04-23 2012-04-23
US61/637,212 2012-04-23
US13/553,628 2012-07-19
US13/553,628 US9521418B2 (en) 2011-07-22 2012-07-19 Slice header three-dimensional video extension for slice header prediction
PCT/US2012/047705 WO2013016233A1 (en) 2011-07-22 2012-07-20 Slice header three-dimensional video extension for slice header prediction

Publications (2)

Publication Number Publication Date
KR20140032508A KR20140032508A (ko) 2014-03-14
KR101492781B1 true KR101492781B1 (ko) 2015-02-12

Family

ID=46642623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147004644A KR101492781B1 (ko) 2011-07-22 2012-07-20 슬라이스 헤더 예측을 위한 슬라이스 헤더 3차원 비디오 익스텐션

Country Status (11)

Country Link
US (1) US9521418B2 (ko)
EP (1) EP2735155B1 (ko)
JP (2) JP5805872B2 (ko)
KR (1) KR101492781B1 (ko)
CN (1) CN103718559A (ko)
BR (1) BR112014001462B1 (ko)
CA (1) CA2842678A1 (ko)
ES (1) ES2634100T3 (ko)
HU (1) HUE033045T2 (ko)
RU (1) RU2549168C1 (ko)
WO (1) WO2013016233A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9554128B2 (en) * 2011-09-13 2017-01-24 Hfi Innovation Inc. Method and apparatus for reduction of deblocking filter
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
CN104601976A (zh) * 2012-01-31 2015-05-06 索尼公司 图像处理装置和图像处理方法
JP5947405B2 (ja) * 2012-02-01 2016-07-06 ノキア テクノロジーズ オーユー ビデオ符号化方法および装置
WO2013129822A1 (ko) * 2012-02-27 2013-09-06 세종대학교산학협력단 영상 부호화와 복호화 장치 및 영상을 부호화와 복호화하는 방법
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
JP2013198059A (ja) * 2012-03-22 2013-09-30 Sharp Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム
US9398284B2 (en) 2012-08-16 2016-07-19 Qualcomm Incorporated Constructing reference picture lists for multi-view or 3DV video coding
US9998727B2 (en) 2012-09-19 2018-06-12 Qualcomm Incorporated Advanced inter-view residual prediction in multiview or 3-dimensional video coding
US20150350684A1 (en) * 2012-09-20 2015-12-03 Sony Corporation Image processing apparatus and method
US9432664B2 (en) 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US10075728B2 (en) * 2012-10-01 2018-09-11 Inria Institut National De Recherche En Informatique Et En Automatique Method and device for motion information prediction refinement
US9854268B2 (en) * 2012-10-03 2017-12-26 Hfi Innovation Inc. Method and apparatus of motion data buffer reduction for three-dimensional video coding
US9749627B2 (en) 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
CN105103543B (zh) * 2013-04-12 2017-10-27 寰发股份有限公司 兼容的深度依赖编码方法
JP2015019326A (ja) * 2013-07-12 2015-01-29 ソニー株式会社 符号化装置および符号化方法、並びに、復号装置および復号方法
US10264290B2 (en) 2013-10-25 2019-04-16 Microsoft Technology Licensing, Llc Hash-based block matching in video and image coding
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
CN105556971B (zh) * 2014-03-04 2019-07-30 微软技术许可有限责任公司 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
CN105393537B (zh) 2014-03-04 2019-08-27 微软技术许可有限责任公司 用于基于散列的块匹配的散列表构建和可用性检查
US20150373350A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Temporal motion vector prediction (tmvp) indication in multi-layer codecs
US10681372B2 (en) 2014-06-23 2020-06-09 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
RU2679981C2 (ru) 2014-09-30 2019-02-14 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Основанные на хешах решения кодера для кодирования видео
US10506244B2 (en) 2015-03-06 2019-12-10 Qualcomm Incorporated Method and apparatus for video coding using adaptive tile sizes
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US10805611B2 (en) * 2016-10-18 2020-10-13 Mediatek Inc. Method and apparatus of constrained sequence header
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US9991929B1 (en) * 2017-06-02 2018-06-05 Rockwell Collins, Inc. Streaming compression of periodic binary avionic data
EP3509308A1 (en) 2018-01-05 2019-07-10 Koninklijke Philips N.V. Apparatus and method for generating an image data bitstream
CN114697663B (zh) 2018-08-17 2024-01-30 华为技术有限公司 对编码视频位流进行解码的方法,解码设备以及译码系统
US11140403B2 (en) * 2018-12-20 2021-10-05 Tencent America LLC Identifying tile from network abstraction unit header
US20200314411A1 (en) * 2019-03-29 2020-10-01 Alibaba Group Holding Limited Synchronizing an illumination sequence of illumination sources with image capture in rolling shutter mode
US11182630B2 (en) 2019-03-29 2021-11-23 Advanced New Technologies Co., Ltd. Using an illumination sequence pattern for biometric authentication
WO2021054720A1 (ko) * 2019-09-16 2021-03-25 엘지전자 주식회사 가중 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
KR20220065988A (ko) 2020-11-14 2022-05-23 송정원 사용자 선호도와 위치 정보를 고려한 중고제품 거래 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158129A1 (en) * 2007-08-15 2010-06-24 Polin Lai Methods and apparatus for motion skip mode in multi-view coded video using regional disparity vectors

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107705A (en) 1990-03-30 1992-04-28 Schlumberger Technology Corporation Video system and method for determining and monitoring the depth of a bottomhole assembly within a wellbore
US5329369A (en) 1990-06-01 1994-07-12 Thomson Consumer Electronics, Inc. Asymmetric picture compression
US5821986A (en) 1994-11-03 1998-10-13 Picturetel Corporation Method and apparatus for visual communications in a scalable network environment
US5852565A (en) 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
JP3466032B2 (ja) 1996-10-24 2003-11-10 富士通株式会社 動画像符号化装置および復号化装置
US6310919B1 (en) 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
US6125147A (en) 1998-05-07 2000-09-26 Motorola, Inc. Method and apparatus for reducing breathing artifacts in compressed video
US6665344B1 (en) 1998-06-29 2003-12-16 Zenith Electronics Corporation Downconverting decoder for interlaced pictures
US6452969B1 (en) 1998-09-28 2002-09-17 Thomson Licensing S.A. Transform domain inverse motion compensation having fractional pel accuracy
US6732052B2 (en) 2000-09-29 2004-05-04 Baker Hughes Incorporated Method and apparatus for prediction control in drilling dynamics using neural networks
CA2413058C (en) 2001-11-27 2012-01-17 Samsung Electronics Co., Ltd. Node structure for representing 3-dimensional objects using depth image
KR100481732B1 (ko) 2002-04-20 2005-04-11 전자부품연구원 다 시점 동영상 부호화 장치
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
US7801217B2 (en) 2002-10-01 2010-09-21 Thomson Licensing Implicit weighting of reference pictures in a video encoder
US8761252B2 (en) 2003-03-27 2014-06-24 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
US7001065B2 (en) 2003-05-05 2006-02-21 Ray Dishaw Oilfield thread makeup and breakout verification system and method
US20050041736A1 (en) 2003-05-07 2005-02-24 Bernie Butler-Smith Stereoscopic television signal processing method, transmission system and viewer enhancements
KR100586883B1 (ko) 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
KR100596705B1 (ko) 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US7079156B1 (en) 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
US7006700B2 (en) 2004-06-25 2006-02-28 Avocent Corporation Digital video compression command priority
US20060012719A1 (en) 2004-07-12 2006-01-19 Nokia Corporation System and method for motion prediction in scalable video coding
KR100888963B1 (ko) 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US7616824B2 (en) 2004-12-08 2009-11-10 Ecole Polytechnique Fédérale de Lausanne (EPFL) CM - Ecublens Method for spatially scalable video coding
EP1849303A2 (en) 2005-02-18 2007-10-31 THOMSON Licensing Method for deriving coding information for high resolution pictures from low resolution pictures
US7925097B2 (en) 2005-02-18 2011-04-12 Sanyo Electric Co., Ltd. Image display method, image coding apparatus, and image decoding apparatus
CN101176346A (zh) 2005-04-01 2008-05-07 Lg电子株式会社 可对视频信号缩放地进行编码和解码的方法
US20060233258A1 (en) 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
JP3996631B2 (ja) 2005-09-09 2007-10-24 松下電器産業株式会社 画像処理方法、画像記録方法、画像処理装置および画像ファイルフォーマット
US8239766B2 (en) 2005-09-27 2012-08-07 Qualcomm Incorporated Multimedia coding techniques for transitional effects
KR100825737B1 (ko) 2005-10-11 2008-04-29 한국전자통신연구원 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱
MY159176A (en) 2005-10-19 2016-12-30 Thomson Licensing Multi-view video coding using scalable video coding
EP1977608B1 (en) 2006-01-09 2020-01-01 LG Electronics, Inc. Inter-layer prediction method for video signal
EP1982517A4 (en) * 2006-01-12 2010-06-16 Lg Electronics Inc MULTIVATE VIDEO PROCESSING
BRPI0621709A2 (pt) 2006-05-23 2012-09-18 Halliburton Energy Serv Inc aparelho, sistema e método para operação de perfilagem remota, e, meio legìvel por computador
JP4915992B2 (ja) 2006-09-12 2012-04-11 オリンパスイメージング株式会社 ズームレンズ
TWI332799B (en) 2006-09-13 2010-11-01 Realtek Semiconductor Corp A video data source system and an analog back end device
BRPI0716957A2 (pt) 2006-10-13 2013-10-29 Thomson Licensing Sintaxe de gerenciamento de lista de imagens de referência para codificação de vídeo de múltiplas vistas
JP5170786B2 (ja) 2006-10-25 2013-03-27 韓國電子通信研究院 マルチビュービデオのスケーラブルコーディングおよびデコーディング方法、ならびにコーディングおよびデコーディング装置
EP1933564A1 (en) 2006-12-14 2008-06-18 Thomson Licensing Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction
US7606666B2 (en) 2007-01-29 2009-10-20 Schlumberger Technology Corporation System and method for performing oilfield drilling operations using visualization techniques
TW200845758A (en) 2007-05-03 2008-11-16 Nat Univ Chung Cheng Fast intra coding algorithms for dynamic definition adjustment
WO2008117963A1 (en) * 2007-03-23 2008-10-02 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
US8160149B2 (en) 2007-04-03 2012-04-17 Gary Demos Flowfield motion compensation for video compression
KR101418627B1 (ko) 2007-04-04 2014-07-15 톰슨 라이센싱 참조 화상 리스트 관리
TR201809177T4 (tr) * 2007-04-12 2018-07-23 Dolby Int Ab Video kodlama ve kod çözmede döşeme.
US8488677B2 (en) * 2007-04-25 2013-07-16 Lg Electronics Inc. Method and an apparatus for decoding/encoding a video signal
WO2008147125A1 (en) 2007-05-29 2008-12-04 Lg Electronics Inc. A method and an apparatus for processing a video signal
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
DE102007049351A1 (de) 2007-10-15 2009-04-16 Siemens Ag Verfahren und Vorrichtung zum Erstellen eines kodierten Ausgangsvideostroms aus mindestens zwei kodierten Eingangsvideoströmen, sowie Verwendung der Vorrichtung und kodierter Eingangsvideostrom
US7878268B2 (en) 2007-12-17 2011-02-01 Schlumberger Technology Corporation Oilfield well planning and operation
EP2232875A2 (en) 2008-01-11 2010-09-29 Thomson Licensing Video and depth coding
US8577660B2 (en) 2008-01-23 2013-11-05 Schlumberger Technology Corporation Three-dimensional mechanical earth modeling
HUE031487T2 (en) 2008-04-16 2017-07-28 Ge Video Compression Llc Bit depth scalability
US8527248B2 (en) 2008-04-18 2013-09-03 Westerngeco L.L.C. System and method for performing an adaptive drilling operation
WO2009130561A1 (en) 2008-04-21 2009-10-29 Nokia Corporation Method and device for video coding and decoding
TW200945909A (en) 2008-04-22 2009-11-01 Novatek Microelectronics Corp Synchronization signal extraction device and related method
EP2338281A4 (en) 2008-10-17 2012-08-15 Nokia Corp SHARING THE MOTION VECTOR IN 3D VIDEO CODING
US9113196B2 (en) 2008-11-10 2015-08-18 Lg Electronics Inc. Method and device for processing a video signal using inter-view prediction
US8760495B2 (en) 2008-11-18 2014-06-24 Lg Electronics Inc. Method and apparatus for processing video signal
KR101158491B1 (ko) 2008-12-08 2012-06-20 한국전자통신연구원 다시점 영상 부호화, 복호화 방법 및 그 장치.
KR101260613B1 (ko) 2008-12-26 2013-05-03 닛뽕빅터 가부시키가이샤 화상 부호화 장치, 화상 부호화 방법 및 그 프로그램 및 화상 복호화 장치, 화상 복호화 방법 및 그 프로그램
WO2010078350A1 (en) 2008-12-30 2010-07-08 Kirk Hobbs Mobile platform for monitoring a wellsite
US8514942B2 (en) 2008-12-31 2013-08-20 Entropic Communications, Inc. Low-resolution video coding content extraction
WO2010079921A2 (ko) 2009-01-12 2010-07-15 엘지 전자 주식회사 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치
CN105472369B (zh) 2009-01-29 2017-09-12 杜比实验室特许公司 视频装置
KR101972962B1 (ko) 2009-02-19 2019-04-26 톰슨 라이센싱 3d 비디오 포맷
US20100246683A1 (en) 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
EP2420068A4 (en) 2009-04-13 2012-08-08 Reald Inc ENCRYPTION, DECOMPOSITION AND DISTRIBUTION OF STEREOSCOPIC VIDEO CONTENT WITH REINFORCED RESOLUTION
JP5416271B2 (ja) 2009-04-20 2014-02-12 ドルビー ラボラトリーズ ライセンシング コーポレイション 多層映像配信のための適応補間フィルタ
CN104486612B (zh) 2009-04-27 2016-11-30 Lg电子株式会社 用于广播发射机的3d视频数据处理方法及广播接收机
CN102577375B (zh) 2009-05-01 2016-08-17 汤姆森特许公司 用于三维视频的层间依赖性信息
KR101353115B1 (ko) 2009-08-03 2014-01-21 제너럴 인스트루먼트 코포레이션 비디오 컨텐트를 인코딩하는 방법
RU2423018C2 (ru) * 2009-08-04 2011-06-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ и система для преобразования стереоконтента
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101636539B1 (ko) 2009-09-10 2016-07-05 삼성전자주식회사 입체영상 압축 처리 방법 및 장치
BR112012008988B1 (pt) 2009-10-14 2022-07-12 Dolby International Ab Método, meio legível não transitório e aparelho para processamento de mapa de profundidade
KR101631451B1 (ko) 2009-11-16 2016-06-20 엘지전자 주식회사 영상표시장치 및 그 동작방법
KR101703327B1 (ko) 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US8938011B2 (en) 2010-01-27 2015-01-20 Dolby Laboratories Licensing Corporation Methods and systems for reference processing in image and video codecs
JP6013920B2 (ja) 2010-02-15 2016-10-25 トムソン ライセンシングThomson Licensing ビデオコンテンツを処理するための装置および方法
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
FI3955579T3 (fi) 2010-04-13 2023-08-16 Ge Video Compression Llc Videokoodaus käyttäen kuvien monipuurakenteen alaosioita
CN103155568B (zh) 2010-07-08 2016-07-27 杜比实验室特许公司 用于使用参考处理信号进行多层图像和视频传输的系统和方法
US20120079583A1 (en) 2010-09-23 2012-03-29 Microsoft Corporation Offload reads and writes
US20120075436A1 (en) 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
JP5855570B2 (ja) 2010-09-30 2016-02-09 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
US9035939B2 (en) 2010-10-04 2015-05-19 Qualcomm Incorporated 3D video control system to adjust 3D video rendering based on user preferences
US20130311147A1 (en) 2011-02-01 2013-11-21 Halliburton Energy Services, Inc. Drilling optimization
CN103444182B (zh) 2011-02-09 2017-09-12 Lg电子株式会社 存储运动信息的方法和使用该方法导出时间运动矢量预测值的方法
US9565449B2 (en) 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
JP4893862B1 (ja) 2011-03-11 2012-03-07 オムロン株式会社 画像処理装置、および画像処理方法
US20120274664A1 (en) 2011-04-29 2012-11-01 Marc Fagnou Mobile Device Application for Oilfield Data Visualization
KR20160003334A (ko) * 2011-06-15 2016-01-08 미디어텍 인크. 3d 비디오 코딩에서의 텍스처 이미지 압축 방법 및 장치
JP5749595B2 (ja) 2011-07-27 2015-07-15 日本電信電話株式会社 画像伝送方法、画像伝送装置、画像受信装置及び画像受信プログラム
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US20130127987A1 (en) 2011-11-18 2013-05-23 Qualcomm Incorporated Signaling depth ranges for three-dimensional video coding
EP2781091B1 (en) 2011-11-18 2020-04-08 GE Video Compression, LLC Multi-view coding with efficient residual handling
JP5947405B2 (ja) 2012-02-01 2016-07-06 ノキア テクノロジーズ オーユー ビデオ符号化方法および装置
US9584711B2 (en) 2012-04-04 2017-02-28 Schlumberger Technology Corporation Imaging methods and systems for controlling equipment in remote environments
US20130287093A1 (en) 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
US20140218473A1 (en) 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100158129A1 (en) * 2007-08-15 2010-06-24 Polin Lai Methods and apparatus for motion skip mode in multi-view coded video using regional disparity vectors

Also Published As

Publication number Publication date
KR20140032508A (ko) 2014-03-14
JP2016027714A (ja) 2016-02-18
JP5805872B2 (ja) 2015-11-10
EP2735155A1 (en) 2014-05-28
JP6022652B2 (ja) 2016-11-09
CN103718559A (zh) 2014-04-09
BR112014001462B1 (pt) 2022-03-08
ES2634100T3 (es) 2017-09-26
HUE033045T2 (hu) 2017-11-28
CA2842678A1 (en) 2013-01-31
JP2014526194A (ja) 2014-10-02
WO2013016233A1 (en) 2013-01-31
US20130057646A1 (en) 2013-03-07
US9521418B2 (en) 2016-12-13
EP2735155B1 (en) 2017-05-03
BR112014001462A2 (pt) 2017-02-21
RU2549168C1 (ru) 2015-04-20

Similar Documents

Publication Publication Date Title
KR101492781B1 (ko) 슬라이스 헤더 예측을 위한 슬라이스 헤더 3차원 비디오 익스텐션
KR101733852B1 (ko) 3차원의 비디오 코덱들에서 심도 맵들에 대한 슬라이스 헤더 예측
KR101617970B1 (ko) 심도 범위 변동을 갖는 모션 심도 맵들의 코딩
KR101521373B1 (ko) 코딩 멀티뷰 비디오 플러스 심도 콘텐츠
US20120236934A1 (en) Signaling of multiview video plus depth content with a block-level 4-component structure
KR101874669B1 (ko) 멀티뷰 비디오 코딩(mvc)호환가능한 3 차원 비디오 코딩(3dvc)을 위한 네스팅된 sei 메시지들
KR20150010739A (ko) 비대칭 텍스처 및 심도 분해능들에 기초한 뷰 합성

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 5