KR20160106097A - Mpeg-2 시스템들에 의한 hevc 확장판 비트스트림들 및 버퍼 모델의 운반 - Google Patents

Mpeg-2 시스템들에 의한 hevc 확장판 비트스트림들 및 버퍼 모델의 운반 Download PDF

Info

Publication number
KR20160106097A
KR20160106097A KR1020167020654A KR20167020654A KR20160106097A KR 20160106097 A KR20160106097 A KR 20160106097A KR 1020167020654 A KR1020167020654 A KR 1020167020654A KR 20167020654 A KR20167020654 A KR 20167020654A KR 20160106097 A KR20160106097 A KR 20160106097A
Authority
KR
South Korea
Prior art keywords
hevc
video
stream
buffer
layer
Prior art date
Application number
KR1020167020654A
Other languages
English (en)
Other versions
KR102122110B1 (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 KR20160106097A publication Critical patent/KR20160106097A/ko
Application granted granted Critical
Publication of KR102122110B1 publication Critical patent/KR102122110B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Thin Film Transistor (AREA)

Abstract

비디오 디코더는 버퍼 모델에서, 비디오 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립한다. 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림일 수도 있다. 동일한 버퍼 모델이 기본 스트림들이 스케일러블 고효율 비디오 코딩 (SHVC), 멀티-뷰 HEVC (MV-HEVC), 또는 3D-HEVC 비트스트림들을 포함하는지 여부에 관계없이 사용된다. 더욱이, 비디오 디코더는 액세스 유닛을 디코딩한다.

Description

MPEG-2 시스템들에 의한 HEVC 확장판 비트스트림들 및 버퍼 모델의 운반{CARRIAGE OF HEVC EXTENSION BITSTREAMS AND BUFFER MODEL WITH MPEG-2 SYSTEMS}
본 출원은 2014년 1월 8일에 출원된 미국 가특허 출원번호 제 61/925,191호의 이익을 주장하며, 이의 전체 내용이 본원에 참고로 포함된다.
기술 분야
본 개시물은 비디오 코딩에, 좀더 자세하게는, HEVC 멀티-계층 확장판 비트스트림들의 운반에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 태블릿 컴퓨터들, 스마트폰들, 개인 휴대정보 단말기들 (PDA들), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 리코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 원격 화상회의 디바이스들, 셋-탑 디바이스들 등을 포함한, 광범위한 디바이스들에 포함될 수 있다.
다양한 디바이스들이 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, AVC (Advanced Video Coding) 에 의해 정의된 표준들, HEVC (High Efficiency Video Coding) 표준, 및 이런 표준들의 확장판들에서 설명되는 것들과 같은, 비디오 압축 기법들을 구현할 수도 있다. 멀티-뷰 HEVC (MV-HEVC), 스케일러블 HEVC (SHVC), 및 3차원 HEVC (3D-HEVC) 는 HEVC 표준에 대한 멀티-계층 확장판들의 예들이다.
일반적으로, 본 개시물은 MPEG-2 시스템들에 의한, 멀티뷰 HEVC (MV-HEVC), 스케일러블 HEVC (SHVC), 및 3차원의 HEVC (3D-HEVC) 확장판 비트스트림들을 포함한, 고-효율 비디오 코딩 (HEVC) 멀티-계층 확장판 비트스트림들의 운반을 위한 기법들을 기술한다. 본 개시물의 하나 이상의 기법들에 따르면, 비디오 디코더는 버퍼 모델에서, 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립한다. 데이터 스트림은 전송 스트림 또는 프로그램 스트림일 수도 있다. 기본 스트림들이 SHVC, MV-HEVC, 또는 3D-HEVC 비트스트림들을 포함하는지 여부에 관계없이 동일한 버퍼 모델이 사용된다. 더욱이, 비디오 디코더는 액세스 유닛을 디코딩한다.
일 양태에서, 본 개시물은 비디오 데이터를 디코딩하는 방법을 기술하며, 본 방법은 복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하는 단계; 버퍼 모델에서, 비디오 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립하는 단계로서, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 그리고 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용되는, 상기 조립하는 단계; 및 액세스 유닛을 디코딩하는 단계를 포함하며, 액세스 유닛은 비디오 데이터의 하나 이상의 픽처들을 포함한다.
다른 양태에서, 본 개시물은 비디오 데이터를 저장하도록 구성된 메모리; 및 하나 이상의 프로세서들을 포함하는 비디오 디코딩 디바이스를 기술하며, 상기 프로세서들은, 복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하고; 버퍼 모델에서, 비디오 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립하고; 그리고 액세스 유닛을 디코딩하도록 구성되며, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 그리고 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용되며, 액세스 유닛은 비디오 데이터의 하나 이상의 픽처들을 포함한다.
다른 양태에서, 본 개시물은 복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하는 수단; 버퍼 모델에서, 비디오 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립하는 수단으로서, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 그리고 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용되는, 상기 조립하는 수단; 및 액세스 유닛을 디코딩하는 수단으로서, 액세스 유닛은 비디오 데이터의 하나 이상의 픽처들을 포함하는, 상기 디코딩하는 수단을 포함하는 비디오 디코딩 디바이스를 기술한다.
다른 양태에서, 본 개시물은 안에 명령들을 저장하고 있는 컴퓨터-판독가능 데이터 저장 매체를 기술하며, 상기 명령들은, 실행될 때, 비디오 디코딩 디바이스로 하여금, 복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하고; 버퍼 모델에서, 비디오 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립하고; 그리고 액세스 유닛을 디코딩하도록 하며, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 그리고 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용되며, 액세스 유닛은 비디오 데이터의 하나 이상의 픽처들을 포함한다.
본 개시물의 하나 이상의 양태들의 세부 사항들이 첨부도면 및 아래의 상세한 설명에서 개시된다. 본 개시물에서 설명된 기법들의 다른 특징들, 목적들, 및 이점들은 설명, 도면들로부터, 그리고 청구범위로부터 명백히 알 수 있을 것이다.
도 1 은 본 개시물의 기법들을 이용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 단일-계층 HEVC (High Efficiency Video Coding) 에 대한 예시적인 전송 스트림 시스템 목표 디코더 (T-STD) 모델 확장판들을 예시하는 개념도이다.
도 3 은 HEVC 시간 비디오 서브세트들의 계층화된 전송을 위한 예시적인 T-STD 모델 확장판들을 예시하는 개념도이다.
도 4 는 본 개시물의 하나 이상의 기법들에 따른, HEVC 계층화된 비디오 서브-비트스트림들에 대한 예시적인 T-STD 모델 확장판을 예시하는 개념도이다.
도 5 는 본 개시물의 하나 이상의 기법들에 따른, HEVC 계층화된 비디오 서브-비트스트림들에 대한 예시적인 P-STD 모델 확장판들을 예시하는 개념도이다.
도 6 은 본 개시물의 기법들을 구현할 수도 있는 예시적인 비디오 인코더를 예시하는 블록도이다.
도 7 은 본 개시물의 기법들을 구현할 수도 있는 예시적인 비디오 디코더를 예시하는 블록도이다.
도 8 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 디코더의 예시적인 동작을 예시하는 플로우차트이다.
도 9 는 본 개시물의 하나 이상의 기법들에 따른, 액세스 유닛을 조립하고 디코딩하는 비디오 디코더의 예시적인 동작을 예시하는 플로우차트이다.
본 개시물은 MPEG-2 시스템들에 의한, 멀티뷰 HEVC (MV-HEVC), 스케일러블 HEVC (SHVC), 및 3차원의 HEVC (3D-HEVC) 확장판 비트스트림들을 포함한, HEVC 멀티-계층 확장판 비트스트림들의 운반을 위한 기법들을 기술한다. MV-HEVC 에서, 다수의 뷰들이 예컨대, 상이한 관점들에 대해 코딩될 수도 있다. SHVC 에서, 다수의 계층들이 예컨대, 공간 스케일러빌리티, 시간 스케일러빌리티, 또는 품질 스케일러빌리티를 지원하기 위해 코딩될 수도 있다. 3D-HEVC 에서, 다수의 뷰들이 코딩된, 3D 표현들을 지원하기 위해, 예컨대, 텍스쳐 및 심도 성분들로 코딩될 수도 있다. 일반적으로, MV-HEVC 에서의 뷰, SHVC 에서의 계층, 또는 3D-HEVC 에서의 뷰는 각각 일반적으로 계층으로 지칭될 수도 있다. 그러므로, SHVC, MV-HEVC, 및 3D-HEVC 는 계층화된 HEVC 또는 멀티-계층 HEVC 코딩 기법들로서 일괄하여 지칭될 수도 있다.
MPEG-2 시스템들 사양은 압축된 멀티미디어 (비디오 및 오디오) 데이터 스트림들이 디지털 송신 또는 스토리지에 적합한 단일 데이터 스트림을 형성하기 위해 다른 데이터와 함께 멀티플렉싱될 수 있는 방법을 기술한다. MPEG-2 시스템들 사양은 프로그램 스트림 및 전송 스트림의 컨셉들을 정의한다. 프로그램 스트림들은 디지털 스토리지 서비스로부터의 단일 프로그램의 스토리지 및 디스플레이를 위해 바이어스되며 프로그램 스트림은 에러 없는 환경들에서 사용을 위해 의도된다. 이에 반해, 전송 스트림들은 잠재적으로 에러가 나기 쉬운 채널들을 통한 다수의 프로그램들의 동시적인 전달을 위해 의도된다. 프로그램 스트림들 및 전송 스트림들은 패킷화 기본 스트림 (PES) 패킷들을 포함한다. 프로그램 스트림들 및 전송 스트림들의 PES 패킷들은 하나 이상의 기본 스트림들에 속한다. 기본 스트림은 프로그램의 단일, 디지털 코딩된 (가능하면 MPEG-압축된) 구성요소이다. 예를 들어, 프로그램의 코딩된 비디오 또는 오디오 부분은 기본 스트림일 수 있다.
비디오 디코더는 프로그램 스트림들 및 전송 스트림들의 PES 패킷들을 수신한다. 비디오 디코더는 PES 패킷들로부터 획득된 비디오 데이터를 디코딩할 수도 있다. 계층화된 HEVC 에서, 액세스 유닛 (AU) 은 동일한 시간 인스턴스, 그러나 상이한 계층들과 연관된 픽처들을 포함할 수도 있다. 액세스 유닛의 픽처들을 디코딩하기 전에, 비디오 디코더는 PES 패킷들에서의 데이터로부터 그 액세스 유닛에 대응하는 인코딩된 데이터를 재조립하는 것을 필요로 할 수도 있다. 다시 말해서, 비디오 디코더는 디코딩 준비가 된 상태에서 액세스 유닛에 대응하는 인코딩된 데이터를 가질 필요가 있을 수도 있다.
2013년 7월, 오스트리아, 비엔나, Gruneberg 등, "Text of ISO/IEC 13818-1: 2013 / Final Draft Amendment 3 - Transport of HEVC video over MPEG-2 Systems", ISO/IEC JTC1/SC29/WG11 MPEG105/N13656 (본원에서, "n13656" 또는 "FDAM 3") 는 MPEG-2 시스템들에서의 HEVC 비디오의 전송을 기술한다. 더욱이, Chen 등, "Carriage of HEVC extension streams with MPEG-2 Systems", MPEG 입력 문서 m31430, 즉, 2013년 10월, 스위스, 제네바, 제 106차 MPEG 회의, MPEG 입력 문서 m31430 (본원에서, "MPEG 입력 문서 m31430") 는, MPEG-2 시스템들에 의한 HEVC 확장판 스트림들의 운반의 기본적인 설계를 제안하였다. HEVC 확장판 스트림들은 SHVC, MV-HEVC, 및 3D-HEVC 를 따르는 HEVC 스트림들이다. FDAM 3 도 MPEG 입력 문서 m31430 도 비디오 디코더가 HEVC 확장판 스트림들의 액세스 유닛들을 어떻게 조립하는지를 기술하지 않는다. 예를 들어, FDAM 3 도 MPEG 입력 문서 m31430 도 비디오 디코더가 HEVC 확장판 스트림들의 액세스 유닛들의 재조립을 위해 사용할 수 있는 버퍼 모델을 기술하지 않는다.
본 개시물의 하나 이상의 기법들에 따르면, 비디오 디코더는 버퍼 모델에서, 전송 스트림 또는 프로그램 스트림과 같은, 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립한다. 기본 스트림들이 SHVC, MV-HEVC, 또는 3D-HEVC 비트스트림들을 포함하는지 여부에 관계없이 동일한 버퍼 모델이 사용된다. 비디오 디코더는 그후 액세스 유닛을 디코딩할 수도 있다. 버퍼링 모델을 이용함으로써, 비디오 디코더는 디코딩 준비가 된 액세스 유닛들로의 재조립을 위해 전송 스트림 또는 프로그램 스트림의 PES 패킷들로부터 데이터를 정렬 (marshall) 하는 것이 가능하다. SHVC, MV-HEVC, 및 3D-HEVC 에 대해 통합된 버퍼 모델을 이용하는 것은 SHVC, MV-HEVC, 및 3D-HEVC 를 지원하는 비디오 디코더의 추가된 복잡성을 최소화할 수도 있다.
도 1 은 MPEG-2 시스템들에 의한, 멀티뷰 HEVC (MV-HEVC), 스케일러블 HEVC (SHVC), 및 3차원의 HEVC (3D-HEVC) 확장판 비트스트림들을 포함한, HEVC 멀티-계층 확장판 비트스트림들의 운반을 위한 기법들과 같은, 본 개시물의 여러 기법들을 이용하도록 구성될 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 예시하는 블록도이다.
도 1 에 나타낸 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 추후에 디코딩되는 인코딩된 비디오 데이터를 제공하는 소스 디바이스 (12) 를 포함한다. 특히, 소스 디바이스 (12) 는 인코딩된 비디오 데이터를 목적지 디바이스 (14) 에 컴퓨터-판독가능 매체 (16) 를 통해서 제공한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋-탑 박스들, 소위 "스마트" 폰들과 같은 전화기 핸드셋들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스, 또는 기타 등등을 포함한, 광범위한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부의 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신용으로 탑재될 수도 있다.
목적지 디바이스 (14) 는 인코딩된 비디오 데이터를 컴퓨터-판독가능 매체 (16) 를 통해서 수신할 수도 있다. 컴퓨터-판독가능 매체 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동시킬 수 있는 임의 종류의 매체 또는 디바이스를 포함할 수도 있다. 일 예에서, 컴퓨터-판독가능 매체 (16) 는 소스 디바이스 (12) 로 하여금 인코딩된 비디오 데이터를 직접 목적지 디바이스 (14) 로 실시간으로 송신할 수 있게 하는, 송신 채널과 같은, 통신 매체를 포함할 수도 있다.
인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라서 변조되어 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들과 같은, 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 근거리 네트워크, 광역 네트워크, 또는 글로벌 네트워크, 예컨대 인터넷과 같은 패킷-기반 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
일부 예들에서, 인코딩된 데이터는 출력 인터페이스 (22) 로부터 컴퓨터-판독가능 저장 매체, 예컨대 비일시성 컴퓨터-판독가능 저장 매체, 즉, 데이터 저장 디바이스로 출력될 수도 있다. 이와 유사하게, 인코딩된 데이터는 입력 인터페이스에 의해 저장 디바이스로부터 액세스될 수도 있다. 저장 디바이스는 하드 드라이브, Blu-ray 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비-휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산된 또는 로컬 액세스되는 비일시성 데이터 저장 매체들 중 임의의 데이터 저장 매체를 포함할 수도 있다. 추가 예에서, 저장 디바이스는 소스 디바이스 (12) 에 의해 발생된 인코딩된 비디오를 저장할 수도 있는 파일 서버 또는 또 다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 디바이스 (14) 는 저장 디바이스로부터, 예컨대, 스트리밍 또는 다운로드를 통해서, 저장된 비디오 데이터에 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신하는 것이 가능한 임의 종류의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예컨대, 웹사이트용), FTP 서버, NAS (network attached storage) 디바이스들, 또는 로칼 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷 접속을 포함한, 임의의 표준 데이터 접속을 통해서, 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하는데 적합한, 무선 채널 (예컨대, Wi-Fi 접속), 유선 접속 (예컨대, DSL, 케이블 모뎀 등), 또는 양쪽의 조합을 포함할 수도 있다. 저장 디바이스로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
본 개시물의 기법들은 오버-디-에어 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 인터넷 스트리밍 비디오 송신들, 예컨대 HTTP 를 통한 동적 적응 스트리밍 (DASH), 데이터 저장 매체 상에 인코딩된 디지털 비디오, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들과 같은, 다양한 유선 또는 무선 멀티미디어 애플리케이션들 중 임의의 애플리케이션의 지원 하에 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 비디오 전화 통신과 같은, 지원 애플리케이션들로의 단방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 다른 예들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 다른 구성요소들 또는 배열들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (12) 는 비디오 데이터를 외부 카메라와 같은 외부 비디오 소스로부터 수신할 수도 있다. 이와 유사하게, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하는 대신, 외부 디스플레이 디바이스와 인터페이스할 수도 있다.
본 개시물은 HEVC 코딩 확장판들, 특히, MV-HEVC, SHVC, 및 3D-HEVC 코딩 확장판들의 상황에서 비디오 인코더 (20) 및 비디오 디코더 (30) 를 기술한다. 그러나, 본 개시물의 기법들은 다른 비디오 코딩 표준들 또는 방법들에 적용가능할 수도 있다. 본 개시물에서 설명하는 기법들은 비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스들, 예컨대 스플라이싱 (splicing) 엔진들, 미디어 인지 네트워크 엘리먼트들, 스트리밍 서버들, 라우터들, 및 코딩된 비디오 비트스트림들을 인코딩하거나, 디코딩하거나, 조립하거나, 구성하거나, 추출하거나, 또는 아니면 프로세싱하는 다른 디바이스들에 의해 수행될 수도 있다.
도 1 의 예시된 시스템 (10) 은 단지 일 예이다. 본 개시물에서 설명되는 기법들은 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 일반적으로 본 개시물의 기법들은 비디오 인코더 (20) /비디오 디코더 (30) 에 의해 수행되지만, 그 기법들은 또한 "코덱" 으로서 일반적으로 지칭되는, 비디오 인코더/디코더에 의해 수행될 수도 있다. 더욱이, 본 개시물의 기법들은 또한 비디오 프리프로세서에 의해 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 단지 코딩 디바이스들의 예들이며, 여기서, 소스 디바이스 (12) 는 목적지 디바이스 (14) 로의 송신을 위해 코딩된 비디오 데이터를 발생한다. 일부 예들에서, 디바이스들 (12, 14) 은 디바이스들 (12, 14) 의 각각이 비디오 인코딩 및 디코딩 구성요소들을 포함하도록, 실질적으로 대칭적 방식으로 동작할 수도 있다. 그러므로, 시스템 (10) 은 예컨대, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 비디오 전화 통신을 위해, 비디오 디바이스들 (12, 14) 사이에 단방향 또는 양방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 카메라와 같은 비디오 캡쳐 디바이스, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 및/또는 비디오 콘텐츠 제공자로부터 비디오를 수신하는 비디오 공급 인터페이스를 포함할 수도 있다. 추가 대안적인 예로서, 비디오 소스 (18) 는 컴퓨터 그래픽스-기반의 데이터를 소스 비디오, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터 발생된 비디오의 조합으로서 발생할 수도 있다. 일부 예들에서, 비디오 소스 (18) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 스마트 폰들 또는 태블릿 컴퓨터들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 위에서 언급한 바와 같이, 본 개시물에서 설명하는 기법들은 비디오 코딩에 일반적으로 적용가능할 수도 있으며, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다. 각 경우, 캡쳐되거나, 사전-캡쳐되거나, 또는 컴퓨터-발생된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 정보는 그후 출력 인터페이스 (22) 에 의해 컴퓨터-판독가능 매체 (16) 상으로 출력될 수도 있다.
컴퓨터-판독가능 매체 (16) 는 무선 브로드캐스트 또는 유선 네트워크 송신과 같은, 일시성 매체, 또는 데이터 저장 매체들 (즉, 비일시성 저장 매체들) 을 포함할 수도 있다. 일부 예들에서, 네트워크 서버 (미도시) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 수신하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로, 예컨대, 네트워크 송신을 통해서 제공할 수도 있다. 이와 유사하게, 디스크 스탬핑 설비와 같은 매체 생산 설비의 컴퓨팅 디바이스는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 수신하고 그 인코딩된 비디오 데이터를 포함하는 디스크를 제조할 수도 있다. 따라서, 컴퓨터-판독가능 매체 (16) 는 여러 예들에서, 여러 형태들의 하나 이상의 컴퓨터-판독가능 매체들을 포함하는 것으로 이해될 수도 있다.
본 개시물은 일반적으로 어떤 정보를 비디오 디코더 (30) 와 같은 또 다른 디바이스로 "시그널링하는" 비디오 인코더 (20) 를 참조할 수도 있다. 비디오 인코더 (20) 는 어떤 신택스 엘리먼트들을 비디오 데이터의 여러 인코딩된 부분들과 연관시킴으로써 정보를 시그널링할 수도 있는 것으로 이해되어야 한다. 즉, 비디오 인코더 (20) 는 어떤 신택스 엘리먼트들을 비디오 데이터의 여러 인코딩된 부분들의 헤더들에 또는 페이로드들에 저장하여 데이터를 "시그널링할" 수도 있다. 일부의 경우, 이런 신택스 엘리먼트들은 비디오 디코더 (30) 에 의해 수신되어 디코딩되기 전에 인코딩되어 저장될 수도 있다 (예컨대, 컴퓨터-판독가능 매체 (24) 에 저장될 수도 있다). 따라서, 용어 "시그널링" 은 일반적으로 압축된 비디오 데이터를 디코딩하기 위한 신택스 또는 다른 데이터의 통신을 지칭할 수도 있으며, 이런 통신이 인코딩 시에 신택스 엘리먼트들을 매체에 저장할 때에 일어날지도 모르는 것과 같이, 실시간으로 또는 거의-실시간으로 일어나든 또는 어떤 기간에 걸쳐서 일어나든, 이 신택스 엘리먼트들은 그후 이 매체에 저장되어진 후 임의의 시간에 디코딩 디바이스에 의해 취출될 수도 있다.
목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 컴퓨터-판독가능 매체 (16) 로부터 정보를 수신한다. 컴퓨터-판독가능 매체 (16) 의 정보는 블록들 및 다른 코딩된 유닛들, 예컨대, GOP들의 특성들 및/또는 프로세싱을 기술하는 신택스 엘리먼트들을 포함하는, 비디오 인코더 (20) 에 의해 정의되고 또한 비디오 디코더 (30) 에 의해 사용되는, 신택스 정보를 포함할 수도 있다. 디스플레이 디바이스 (32) 는 그 디코딩된 비디오 데이터를 사용자에게 디스플레이하며, 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 프로젝션 디바이스, 또 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디바이스를 포함할 수도 있다.
도 1 에 나타내지는 않지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있으며, 오디오 및 비디오 양쪽의 인코딩을 공통 데이터 스트림 또는 별개의 데이터 스트림들로 처리하기에 적합한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능한 경우, MUX-DEMUX 유닛들은, 일 예로서, ITU H.223 멀티플렉서 프로토콜, 또는 다른 프로토콜들, 예컨대, 사용자 데이터그램 프로토콜 (UDP) 을 따를 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은, 적용가능한 경우, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직 회로, 소프트웨어, 하드웨어, 펌웨어 또는 임의의 이들의 조합들과 같은, 다양한 적합한 인코더 또는 디코더 회로 중 임의의 회로로서 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 쪽이든 결합된 비디오 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 를 포함하는 디바이스는 집적 회로, 마이크로프로세서, 및/또는 무선 통신 디바이스, 예컨대 셀룰러 전화기를 포함할 수도 있다.
예시적인 비디오 코딩 표준들은 ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual 및 그의 스케일러블 비디오 코딩 (SVC) 및 멀티뷰 비디오 코딩 (MVC) 확장판들을 포함한, (또한, ISO/IEC MPEG-4 AVC 로서 알려진) ITU-T H.264 를 포함한다. ITU-T H.264 | ISO/IEC 14496-10 은 H.264/AVC 비디오 코딩 표준을 정의한다. ITU-T H.264 | ISO/IEC 14496-10 의 특정의 부속서들은 H.264/AVC 비디오 코딩 표준의 확장판들을 정의한다. 예를 들어, ITU-T H.264 | ISO/IEC 14496-10 의 부속서 B 는 H.264/AVC 에 대한 바이트 스트림 포맷을 정의한다. ITU-T H.264 | ISO/IEC 14496-10 의 부속서 G 는 H.264/AVC 의 SVC 확장판을 정의한다. ITU-T H.264 | ISO/IEC 14496-10 의 부속서 H 는 H.264/AVC 의 MVC 확장판을 정의한다.
최근, 새로운 비디오 코딩 표준, 즉 고효율 비디오 코딩 (HEVC) 의 설계가 ITU-T 비디오 코딩 전문가 그룹 (VCEG) 와 ISO/IEC 동화상 전문가 그룹 (MPEG) 의 비디오 코딩에 관한 합동 연구팀 (JCT-VC) 에 의해 종료되었다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 본 개시물에서 언급된 바와 같은, HEVC 표준, 그리고 좀더 자세하게는, HEVC 표준의 멀티-뷰 HEVC (MV-HEVC), 스케일러블 HEVC (SHVC), 또는 3D-HEVC 확장판들에 따라서 동작할 수도 있다. HEVC 는 예컨대, ITU-T H.264/AVC 와 같은, 다른 프로세스들에 따라서 코딩을 수행하도록 구성된 디바이스들에 대해, 비디오 코딩 디바이스들의 여러 추가적인 능력들을 가정한다. 예를 들어, H.264 는 9개의 인트라-예측 인코딩 모드들을 제공하는 반면, HEVC 의 참조 모델은 35개의 만큼이나 많은 인트라-예측 인코딩 모드들을 제공할 수도 있다.
ITU-T SG 16 WP 3 와 ISO/IEC JTC 1/SC 29/WG 11 의 JCT-VC (Joint Collaborative Team on Video Coding), 14차 회의: 2013년 7월 25일 - 8월 2일, 오스트리아, 비엔나, 본원에서 "HEVC WD" 또는 "HEVC" 로서 지칭되는, HEVC 초안 사양, Wang 등, 문서 JCTVC-N1003_v1 는, http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip 으로부터 입수가능하다. 권고안 ITU-T H.265 | ISO/IEC 23008-2 는 HEVC 표준의 최종 버전이다.
3D 비디오 코딩 확장판 개발을 위한 합동 작업팀 (JCT-3V) 은 HEVC 에 대한 멀티뷰 확장판, 즉 MV-HEVC 를 개발하고 있다. 본원에서 "MV-HEVC WD5" 또는 "MV-HEVC" 로 지칭되는, MV-HEVC 의 최신 작업 초안 (WD), 즉, ITU-T SG 16 WP 3 와 ISO/IEC JTC 1/SC 29/WG 11 의 3D 비디오 코딩 확장판 개발에 관한 합동 작업팀, 5차 회의: 오스트리아, 비엔나, 2013년 7월 27일 - 8월 2일, Tech 등, 문서 JCT3V-E1004-v6 는, http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zip 으로부터 입수가능하다.
ITU-T SG 16 WP 3 와 ISO/IEC JTC 1/SC 29/WG 11 의 3D 비디오 코딩 확장판 개발에 관한 합동 작업팀, 5차 회의: 2013년 7월 27일 - 8월 2일, 오스트리아, 비엔나, Tech 등, 문서 JCT3V-E1001-v3, (본원에서, "JCT3V-E1001" 또는 "3D-HEVC") 는 HEVC 의 3D 확장판, 즉 3D-HEVC 의 최신 작업 초안이다. JCT3V-E1001 은 http://phenix.int-evry.fr/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zip 로부터 입수가능하다.
JCT-VC 는 또한 SHVC 로 불리는, HEVC 에 대한 스케일러블 확장판을 개발 중이다. ITU-T SG 16 WP 3 와 ISO/IEC JTC 1/SC 29/WG 11 의 JCT-VC (Joint Collaborative Team on Video Coding), 14차 회의: 2013년 7월 27일 - 8월 2일, 오스트리아, 비엔나, Chen 등, 문서 JCTVC-N1008_v3 (본원에서, "SHVC WD3"또는 간단히, "SHVC") 는, SHVC 의 최신 작업 초안 (WD) 이다. SHVC WD3 은 http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1008-v3.zip 으로부터 입수가능하다.
Flynn 등, 문서 JCTVC-N1005_v1, 즉, ITU-T SG 16 WP 3 와 ISO/IEC JTC 1/SC 29/WG 11 의 JCT-VC (Joint Collaborative Team on Video Coding), 13차 회의: 2013년 4월 18-26일, 한국, 인천, 문서 JCTVC-N1005, (본원에서, JCTVC-N1005) 는 HEVC 의 범위 확장판의 최신 작업 초안이다. JCTVC-N1005 는 http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1005-v3.zip 으로부터 입수가능하다.
일반적으로, HEVC 는 비디오 픽처 (또는, "프레임") 가 코딩 트리 유닛들 (CTU들) 로서 지칭되는 최대 코딩 유닛들의 시퀀스로 분할될 수도 있다고 규정한다. CTU 는 루마 및 크로마 샘플들을 각각 포함한, 코딩 트리 블록들 (CTB), 예컨대, 루마 CTB 및 크로마 CTB들로서 지칭되는, 대응하는 루마 및 크로마 성분들을 포함할 수도 있다. 비트스트림 내 신택스 데이터는 CTU 에 대한 사이즈를 정의할 수도 있으며, 이 최대 코딩 유닛은 픽셀들의 수의 관점에서 최대 코딩 유닛이다. 슬라이스는 코딩 순서에서 다수의 연속되는 CTB들을 포함한다. 픽처는 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각각의 CTB 는 쿼드트리 파티셔닝 구조에 따라 하나 이상의 코딩 유닛들 (CU들) 로 분할될 수도 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하며, 동시에, 루트 노드는 CTB 에 대응한다. CU 가 4개의 서브-CU들로 분할되면, CU 에 대응하는 노드는 4개의 리프 노드들을 포함하며, 그 리프 노드 각각은 서브-CU들 중 하나에 대응한다. CU 는 루마 샘플들의 코딩 블록 및 루마 샘플 어레이, Cb 샘플 어레이, 및 Cr 샘플 어레이를 가지는 픽처의 크로마 샘플들의 2개의 대응하는 코딩 블록들, 및 코딩 블록들의 샘플들을 코딩하는데 사용되는 신택스 구조들을 포함할 수도 있다. 단색 픽처들 또는 3개의 별개의 칼라 평면들을 가지는 픽처들에서, CU 는 단일 코딩 블록 및 코딩 블록의 샘플들을 코딩하는데 사용되는 신택스 구조들을 포함할 수도 있다.
쿼드트리 데이터 구조의 각각의 노드는 대응하는 CU 에 대한 신택스 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리에서 노드는 그 노드에 대응하는 CU 가 서브-CU들로 분할되는지의 여부를 나타내는 분할 플래그를 포함할 수도 있다. CU 에 대한 신택스 엘리먼트들은 회귀적으로 정의될 수도 있으며, CU 가 서브-CU들로 분할되는지의 여부에 의존할 수도 있다. CU 가 추가로 분할되지 않으면, 리프-CU 로서 지칭된다. 리프-CU 의 4개의 서브-CU들은 또한 원래 리프-CU 의 명시적인 분할이 없더라도 리프-CU들로 지칭될 수도 있다. 예를 들어, 16x16 사이즈에서 CU 가 추가로 분할되지 않으면, 4개의 8x8 서브-CU들은 16x16 CU 가 전혀 분할되지 않았더라도 리프-CU들로서 지칭될 수도 있다.
HEVC 에서의 CU 는 CU 가 사이즈 구별을 갖지 않는다는 점을 제외하고는, H.264 표준의 매크로블록과 유사한 목적을 갖는다. 예를 들어, CTB 는 4개의 자식 노드들 (또한, 서브-CU들로서 지칭됨) 로 분할될 수도 있으며, 각각의 자식 노드는 결국 부모 노드일 수도 있으며 또 다른 4개의 자식 노드들로 분할될 수도 있다. 쿼드트리의 리프 노드로서 지칭되는, 최종, 미분할된 자식 노드는 리프-CU 로서 또한 지칭되는, 코딩 노드를 포함한다. 코딩된 비트스트림과 연관되는 신택스 데이터는 최대 CU 깊이로서 지칭되는, CTB 가 분할될 수도 있는 최대 횟수를 정의할 수도 있으며, 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다. 따라서, 일부 예들에서, 비트스트림은 또한 최소 코딩 유닛을 정의할 수도 있다.
CU 는 코딩 노드, 및 그 코딩 노드와 연관되는 하나 이상의 예측 유닛들 (PU들) 및 하나 이상의 변환 유닛들 (TU들) 를 포함한다. 본 개시물은 HEVC 의 상황에서의, CU, 예측 유닛 (PU), 변환 유닛 (TU), 또는 그의 파티션 중 임의의 파티션, 또는 다른 표준들의 상황에서의 유사한 데이터 구조들을 지칭하기 위해 용어 "블록" 을 이용할 수도 있다. CU 의 사이즈는 코딩 노드의 사이즈에 대응한다. CU 의 사이즈는 8x8 픽셀들로부터 64x64 픽셀들 이상의 최대치를 갖는 CTB 의 사이즈까지 이를 수도 있다.
CU 와 연관되는 신택스 데이터는 하나 이상의 PU들로의 CU 의 파티셔닝을 기술할 수도 있다. 일반적으로, PU 는 CU 의 모두 또는 부분에 대응하는 공간 영역을 나타낸다. 파티셔닝 모드들은 CU 가 스킵되는지 또는 직접 모드 인코딩될지, 인트라-예측 모드 인코딩될지, 또는 인터-예측 모드 인코딩될지 여부의 사이에 상이할 수도 있다. PU들은 비-정사각형 형태로 파티셔닝될 수도 있거나, 또는 본 개시물에서 설명되는 바와 같이 심도 코딩의 경우 비-직사각형 형태인 파티션들을 포함할 수도 있다. CU 의 PU 는 루마 샘플들의 예측 블록, 크로마 샘플들의 2개의 대응하는 예측 블록들, 및 예측 블록들을 예측하는데 사용되는 신택스 구조들을 포함할 수도 있다. 단색 픽처들 또는 3개의 별개의 칼라 평면들을 가지는 픽처들에서, PU 는 단일 예측 블록 및 예측 블록을 예측하는데 사용되는 신택스 구조들을 포함할 수도 있다. 비디오 인코더 (20) 는 CU 의 각각의 PU 의 예측 블록들 (예컨대, 루마, Cb, 및 Cr 예측 블록들) 에 대해 예측 블록들 (예컨대, 루마, Cb, 및 Cr 예측 블록들) 을 발생시킬 수도 있다.
PU 는 PU 에 대한 참조 샘플들을 취출하기 위한 데이터를 포함할 수도 있다. 참조 샘플들은 참조 블록으로부터의 픽셀들일 수도 있다. 일부 예들에서, 참조 샘플들은 참조 블록으로부터 획득되거나, 또는 예컨대, 내삽 또는 다른 기법들에 의해 발생될 수도 있다. 또한, PU 는 예측에 관련된 데이터를 포함한다. 예를 들어, PU 가 인트라-모드 인코딩될 때, PU 에 대한 데이터는 잔차 쿼드트리 (RQT) 에 포함될 수도 있으며, PU 에 대응하는 TU 에 대한 인트라-예측 모드를 기술하는 데이터를 포함할 수도 있다.
또 다른 예로서, PU 가 인터-모드 인코딩될 때, PU 는 PU 에 대한 하나 이상의 모션 벡터들을 정의하는 데이터를 포함할 수도 있다. PU 에 대한 모션 벡터를 정의하는 데이터는 예를 들어, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도 (예컨대, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 픽처, 및/또는 모션 벡터에 대한 참조 픽처 리스트 (예컨대, RefPicList 0 또는 RefPicList 1) 를 기술할 수도 있다.
HEVC 는 여러 PU 사이즈들에서 예측을 지원한다. 특정의 CU 의 사이즈가 2Nx2N 이라고 가정하면, HEVC 는 2Nx2N 또는 NxN 의 PU 사이즈들에서는 인트라-예측을, 그리고 2Nx2N, 2NxN, Nx2N, 또는 NxN 의 대칭적인 PU 사이즈들에서는 인터 예측을 지원한다. 2Nx2N 의 사이즈를 가지는 PU 는 PU 가 상주하는 CU 와 동일한 사이즈이다. HEVC 는 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에서 인터-예측에 대해 비대칭적인 파티셔닝을 지원한다. 비대칭적인 파티셔닝에서, CU 의 하나의 방향은 파티셔닝되지 않지만, 다른 방향은 25% 및 75% 로 파티셔닝된다. 25% 파티션에 대응하는 CU 의 부분은 "상부 (Up)", "하부 (Down)", "좌측 (Left)", 또는 "우측 (Right)" 의 표시가 뒤따르는 "n" 으로 표시된다. 따라서, 예를 들어, "2NxnU" 는 상부에서 2Nx0.5N PU 로 그리고 하부에서 2Nx1.5N PU 로 수평으로 파티셔닝된 2Nx2N CU 를 지칭한다. 심도 코딩에 대해, JCT3V-E1001 는 설명하는 바와 같은, 비-직사각형의 파티션들을 포함한, 심도 모델링 모드들 (DMM들) 에 따른 PU들의 파티셔닝을 더 지원한다.
본 개시물에서, "NxN" 및 "N 바이 N" 은 수직 및 수평 치수들의 관점에서 비디오 블록의 픽셀 치수들, 예컨대, 16x16 픽셀들 또는 16 바이 16 픽셀들을 지칭하기 위해 상호교환가능하게 사용될 수도 있다. 일반적으로, 16x16 블록은 수직 방향으로 16개의 픽셀들 (y = 16) 및 수평 방향으로 16개의 픽셀들 (x = 16) 을 가질 것이다. 이와 유사하게, NxN 블록은 일반적으로 수직 방향으로 N 개의 픽셀들 및 수평 방향으로 N 개의 픽셀들을 가지며, 여기서 N 은 음이 아닌 정수 값을 나타낸다. 블록에서 픽셀들은 로우들 및 칼럼들로 배열될 수도 있다. 더욱이, 블록들은 수직 방향에서와 같이 수평 방향에서 동일한 픽셀들의 개수를 반드시 가질 필요는 없다. 예를 들어, 블록들은 NxM 픽셀들을 포함할 수도 있으며, 여기서 M 은 반드시 N 과 같을 필요는 없다.
CU 와 연관되는 신택스 데이터는 또한 쿼드트리에 따른 하나 이상의 TU들로의 CU 의 파티셔닝을 기술할 수도 있다. TU 는 정사각형 또는 비-정사각형 (예컨대, 직사각형) 의 형태일 수 있다. CU 의 TU 는 루마 샘플들의 변환 블록, 크로마 샘플들의 2개의 대응하는 변환 블록들, 및 변환 블록 샘플들을 변환하는데 사용되는 신택스 구조들을 포함할 수도 있다. 단색 픽처들 또는 3개의 별개의 칼라 평면들을 가지는 픽처들에서, TU 는 단일 변환 블록 및 변환 블록의 샘플들을 변환하는데 사용되는 신택스 구조들을 포함할 수도 있다. HEVC 표준은 TU들에 따른 변환들을 가능하게 한다. 비디오 인코더 (20) 는 TU들과 연관되는 픽셀 차이 값들을 변환하여, 변환 계수들을 발생시킬 수도 있다.
일부 예들에서, CU 의 TU들의 사이즈들은 CU 의 PU들의 사이즈들에 기초하지만, 이것은 항상 사실이 아닐 수도 있다. 게다가, 일부 예들에서, TU들은 PU들 보다 작거나 동일한 사이즈이다. CU 에 대응하는 잔차 샘플들 (즉, 픽셀 차이 값들) 은 "잔차 쿼드 트리" (RQT) 로서 알려져 있는 쿼드트리 구조를 이용하여 더 작은 유닛들 (즉, 변환 블록들) 로 세분될 수도 있다. 즉, 리프-CU 는 리프-CU 가 어떻게 TU들로 파티셔닝되는 지를 나타내는 쿼드트리를 포함할 수도 있다. TU 쿼드트리의 루트 노드 (즉, RQT) 는 일반적으로 리프-CU 에 대응한다. RQT 의 리프 노드들은 TU들에 대응한다. 분할되지 않은 RQT 의 TU들은 리프-TU들로서 지칭된다. 일반적으로, 본 개시물은 달리 언급하지 않는 한, 리프-CU 및 리프-TU 를 각각 지칭하기 위해 용어들 CU 및 TU 를 사용한다.
TU 는 위에서 설명한 바와 같이, RQT (또한, TU 쿼드트리 구조로서 지칭됨) 를 이용하여 규정될 수도 있다. 예를 들어, 분할 플래그는 리프-CU 가 4개의 TU들로 분할되는지 여부를 나타낼 수도 있다. 그 후, 각각의 TU 는 추가적인 서브-TU들로 추가로 분할될 수도 있다. TU 가 추가로 분할되지 않을 때, TU 는 리프-CU 로서 지칭될 수도 있다. 일부 예들에서, 인트라 코딩에 있어, 리프-CU 에 속하는 모든 리프-TU들은 동일한 인트라 예측 모드를 공유한다. 즉, 동일한 인트라 예측 모드가 일반적으로 리프-CU 의 모든 TU들에 대해 예측된 값들을 계산하기 위해 적용된다. 인트라 코딩에 있어, 비디오 인코더 (20) 는 각각 리프-TU 에 대한 잔차 값을 인트라 예측 모드를 이용하여, TU 에 대응하는 CU 의 부분과 원래 블록 사이의 차이로서 계산할 수도 있다. TU 는 PU 의 사이즈에 반드시 제한되지는 않는다. 따라서, TU들은 PU 보다 더 크거나 또는 더 작을 수도 있다. 인트라 코딩에 있어, PU 는 동일한 CU 에 대한 대응하는 리프-TU 와 동일 위치에 배치될 수도 있다. 일부 예들에서, 리프-TU 의 최대 사이즈는 대응하는 리프-CU 의 사이즈에 대응할 수도 있다.
CU 의 PU들을 이용한 규칙적인 트라-예측 또는 인터 예측 코딩 이후, 비디오 인코더 (20) 는 CU 의 TU들에 대한 잔차 데이터를 계산할 수도 있다. PU들은 공간 도메인 (또한, 픽셀 도메인으로 지칭됨) 에서 예측 픽셀 데이터를 발생하는 방법 또는 모드를 기술하는 신택스 데이터를 포함할 수도 있으며, TU들은, 규칙적인 잔차 코딩을 위해, 이산 코사인 변환 (DCT), 정수 변환, 웨이블릿 변환, 또는 잔차 비디오 데이터에 개념적으로 유사한 변환과 같은 변환의 적용 이후 변환 도메인에서의 계수들을 포함할 수도 있다. 잔차 데이터는 인코딩되지 않은 픽처의 픽셀들과 PU들에 대응하는 예측 값들 사이의 픽셀 차이들에 대응할 수도 있다. 비디오 인코더 (20) 는 CU 에 대한 잔차 데이터를 포함하는 TU들을 형성하고, 그후 그 TU들을 변환하여, 그 CU 에 대한 변환 계수들을 발생할 수도 있다.
변환 계수들을 생성하는 임의의 변환들 이후, 비디오 인코더 (20) 는 변환 계수들의 양자화를 수행할 수도 있다. 양자화는 일반적으로 계수들을 나타내는데 사용되는 데이터의 양을 가능한 한 감축하기 위해 변환 계수들이 양자화되는 프로세스를 지칭하며, 추가적인 압축을 제공한다. 양자화 프로세스는 그 계수들의 일부 또는 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 예를 들어, n-비트 값은 양자화 동안 m-비트 값까지 라운드 다운 (round down) 될 수도 있으며, 여기서, n 은 m 보다 더 크다.
양자화 이후, 비디오 인코더 (20) 는 양자화된 변환 계수들을 스캐닝하여, 양자화된 변환 계수들을 포함하는 2차원 매트릭스로부터 1차원 벡터를 발생할 수도 있다. 스캐닝은 어레이의 앞부분에 더 높은 에너지 (따라서, 더 낮은 주파수) 계수들을 배치하고, 그리고 어레이의 뒷부분에 더 낮은 에너지 (따라서, 더 높은 주파수) 계수들을 배치하도록 설계될 수도 있다.
일부 예들에서, 비디오 인코더 (20) 는 엔트로피 인코딩될 수 있는 직렬화된 벡터를 발생하기 위해, 미리 정의된 스캐닝 순서를 이용하여, 양자화된 변환 계수들을 스캐닝할 수도 있다. 다른 예들에서, 비디오 인코더 (20) 는 적응적 스캐닝을 수행할 수도 있다. 양자화된 변환 계수들을 스캐닝하여 1차원 벡터를 형성한 후, 비디오 인코더 (20) 는 HEVC 에서 사용된 바와 같이, 1차원 벡터를 예컨대, 컨텍스트 적응 2진 산술 코딩 (CABAC) 또는 다른 엔트로피 인코딩 방법론에 따라서 엔트로피 인코딩할 수도 있다. 다른 엔트로피 코딩 프로세스들의 예들은 컨텍스트-적응 가변 길이 코딩 (CAVLC), 신택스-기반 컨텍스트-적응 2진 산술 코딩 (SBAC), 및 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩을 포함한다. 비디오 인코더 (20) 는 또한 비디오 데이터를 디코딩할 때에 비디오 디코더 (30) 에 의해 사용하기 위한 인코딩된 비디오 데이터와 연관되는 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다.
비디오 시퀀스는 일반적으로 일련의 픽처들을 포함한다. 본원에서 설명되는 바와 같이, "픽처" 및 "프레임" 은 교환가능하게 사용될 수도 있다. 픽처의 각각의 슬라이스는 각각의 슬라이스에 대한 인코딩 모드를 기술하는 슬라이스 신택스 데이터를 포함할 수도 있다. 비디오 인코더 (20) 는 일반적으로 비디오 데이터를 인코딩하기 위해 개개의 비디오 슬라이스들 내 비디오 블록들에 대해 동작한다. 비디오 블록은 CU 내 코딩 노드에 대응할 수도 있다. 비디오 블록들은 고정 또는 가변 사이즈들을 가질 수도 있으며, 규정된 코딩 표준에 따라서 사이즈가 상이할 수도 있다.
비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는 심도 데이터의 인트라-픽처 예측 코딩 및 심도 데이터의 인터-예측 코딩을 수행할 수도 있다. HEVC 에서, CU 의 사이즈가 2Nx2N 이라고 가정하면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 인트라 예측에 대해서는 2Nx2N 또는 NxN 의 다양한 PU 사이즈들을, 그리고 인터 예측에 대해서는 2Nx2N, 2NxN, Nx2N, NxN 의 대칭 PU 사이즈들, 또는 유사한 사이즈들을 지원할 수도 있다. 비디오 인코더 및 비디오 디코더는 또한 인터-예측에 대해서 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에 대한 비대칭적인 파티셔닝을 지원할 수도 있다.
비디오 인코더 (20) 는 코딩된 픽처들 및 연관되는 데이터의 표현을 형성하는 비트들의 시퀀스를 포함하는 비트스트림을 출력할 수도 있다. 용어 "비트스트림" 은 네트워크 추상화 계층 (NAL) 유닛 스트림 (예컨대, NAL 유닛들의 시퀀스) 또는 바이트 스트림 (예컨대, HEVC 표준의 부속서 B 에 규정된 바와 같은 시작 코드 접두부들 및 NAL 유닛들을 포함하는 NAL 유닛 스트림의 캡슐화) 을 지칭하는데 사용되는 공통 용어일 수도 있다. NAL 유닛은 NAL 유닛에서의 데이터의 형태, 및 그 데이터를 원시 바이트 시퀀스 페이로드 (RBSP) 의 유형으로 에뮬레이션 방지 비트들과 필요에 따라 섞어서 포함하는 바이트들의 표시를 포함하는 신택스 구조이다.
NAL 유닛들의 각각은 NAL 유닛 헤더를 포함할 수도 있으며 RBSP 를 캡슐화할 수도 있다. NAL 유닛 헤더는 NAL 유닛 유형 코드를 나타내는 신택스 엘리먼트와 같은, 다양한 신택스 엘리먼트들을 포함할 수도 있다. NAL 유닛 헤더에 포함된 임의의 신택스 엘리먼트는 본원에서 NAL 유닛 헤더 신택스 엘리먼트로서 지칭될 수도 있다. NAL 유닛의 NAL 유닛 헤더에 의해 규정된 NAL 유닛 유형 코드는 NAL 유닛의 유형을 나타낸다. RBSP 는 NAL 유닛 내에 캡슐화된 정수의 바이트들을 포함하는 신택스 구조일 수도 있다. 일부의 경우, RBSP 는 제로 비트들을 포함한다.
상이한 유형들의 NAL 유닛들이 상이한 유형들의 RBSP들을 캡슐화할 수도 있다. 예를 들어, NAL 유닛의 제 1 유형은 픽처 파라미터 세트 (PPS) 에 대한 RBSP 를 캡슐화할 수도 있으며, NAL 유닛의 제 2 유형은 슬라이스 세그먼트에 대한 RBSP 를 캡슐화할 수도 있으며, NAL 유닛의 제 3 유형은 보충 향상 정보 (SEI) 에 대한 RBSP 를 캡슐화할 수도 있으며, 기타 등등을 캡슐화할 수도 있다. (파라미터 세트들 및 SEI 메시지들에 대한 RBSP들과는 반대로) 비디오 코딩 데이터에 대한 RBSP들을 캡슐화하는 NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들로서 지칭될 수도 있다. 파라미터 세트들 (예컨대, 비디오 파라미터 세트들 (VPS들), 시퀀스 파라미터 세트들 (SPS들), PPS들, 등) 을 포함하는 NAL 유닛들은 파라미터 세트 NAL 유닛들로서 지칭될 수도 있다. SEI 메시지들을 포함하는 NAL 유닛들은 SEI NAL 유닛들로서 지칭될 수도 있다. 보충 향상 정보 (SEI) 는 VCL NAL 유닛들로부터의 코딩된 픽처들의 샘플들을 디코딩하는데 필요하지 않은 정보를 포함한다.
비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 발생되는 비트스트림을 수신할 수도 있다. 게다가, 비디오 디코더 (30) 는 비트스트림을 파싱하여, 비트스트림으로부터 신택스 엘리먼트들을 획득할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터 획득된 신택스 엘리먼트들에 적어도 부분적으로 기초하여 비디오 데이터의 픽처들을 복원할 수도 있다. 비디오 데이터를 복원하는 프로세스는 일반적으로 비디오 데이터를 인코딩하기 위해 비디오 인코더 (20) 에 의해 수행되는 프로세스와 반대일 수도 있다. 예를 들어, 비디오 디코더 (30) 는 현재의 CU 의 PU들에 대한 예측 블록들을 결정하기 위해 PU들의 모션 벡터들을 이용할 수도 있다. 게다가, 비디오 디코더 (30) 는 현재의 CU 의 TU들의 계수 블록들을 역양자화할 수도 있다. 비디오 디코더 (30) 는 계수 블록들에 관해 역변환들을 수행하여, 현재의 CU 의 TU들의 변환 블록들을 복원할 수도 있다. 비디오 디코더 (30) 는 현재의 CU 의 PU들에 대한 예측 블록들의 샘플들을 현재의 CU 의 TU들의 변환 블록들의 대응하는 샘플들에 가산함으로써, 현재의 CU 의 코딩 블록들을 복원할 수도 있다. 픽처의 각각의 CU 에 대해 코딩 블록들을 복원함으로써, 비디오 디코더 (30) 는 그 픽처를 복원할 수도 있다.
멀티-뷰 코딩에서, 상이한 뷰포인트들로부터의 동일한 장면의 다수의 뷰들이 존재할 수도 있다. 용어 "액세스 유닛" 은 동일한 시간 인스턴스에 대응하는 픽처들의 세트를 지칭하기 위해 사용될 수도 있다. 따라서, 비디오 데이터는 시간 경과에 따라 발생하는 액세스 유닛들의 시리즈로서 개념화될 수도 있다. "뷰 성분" 은 단일 액세스 유닛에서의 뷰의 코딩된 표현일 수도 있다. 본 개시물에서, "뷰" 는 동일한 뷰 식별자와 연관되는 뷰 성분들의 시퀀스 또는 세트를 지칭할 수도 있다. 뷰 성분은 텍스쳐 뷰 성분 및 심도 뷰 성분을 포함할 수도 있다.
텍스쳐 뷰 성분 (즉, 텍스쳐 픽처) 은 단일 액세스 유닛에서 뷰의 텍스쳐의 코딩된 표현일 수도 있다. 텍스쳐 뷰는 뷰 순서 인덱스의 동일한 값과 연관되는 텍스쳐 뷰 성분들의 시퀀스일 수도 있다. 뷰의 뷰 순서 인덱스는 다른 뷰들에 상대적인 뷰의 카메라 위치를 나타낼 수도 있다. "심도 뷰 성분 (즉, 심도 픽처)" 은 단일 액세스 유닛에서의 뷰의 심도의 코딩된 표현일 수도 있다. 심도 뷰는 뷰 순서 인덱스의 동일한 값과 연관되는 하나 이상의 심도 뷰 성분들의 시퀀스 또는 세트일 수도 있다.
MV-HEVC 에서, 3D-HEVC 및 SHVC, 비디오 인코더는 일련의 NAL 유닛들을 포함하는 비트스트림을 발생시킬 수도 있다. 비트스트림의 상이한 NAL 유닛들은 비트스트림의 상이한 계층들과 연관될 수도 있다. 계층은 동일한 계층 식별자를 가지는 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들의 세트로서 정의될 수도 있다. 계층은 멀티-뷰 비디오 코딩에서의 뷰와 상응할 수도 있다. 멀티-뷰 비디오 코딩에서, 계층은 상이한 시간 인스턴스들을 가지는 동일한 계층의 모든 뷰 성분들을 포함할 수 있다. 각각의 뷰 성분은 특정의 시간 인스턴스에서 특정의 뷰에 속하는 비디오 장면의 코딩된 픽처일 수도 있다. 3D 비디오 코딩의 일부 예들에서, 계층은 특정의 뷰의 모든 코딩된 심도 픽처들 또는 특정의 뷰의 코딩된 텍스쳐 픽처들을 포함할 수도 있다. 3D 비디오 코딩의 다른 예들에서, 계층은 특정의 뷰의 텍스쳐 뷰 성분들 및 심도 뷰 성분들 양쪽을 포함할 수도 있다. 이와 유사하게, 스케일러블 비디오 코딩의 상황에서, 계층은 다른 계층들에서의 코딩된 픽처들과는 상이한 비디오 특성들을 가지는 코딩된 픽처들에 일반적으로 대응한다. 이러한 비디오 특성들은 공간 해상도 및 품질 레벨 (예컨대, 신호-대-잡음비) 을 일반적으로 포함한다. HEVC 및 그의 확장판들에서, 시간 스케일러빌리티는 특정의 시간 레벨을 가지는 픽처들의 그룹을 서브-계층으로서 정의함으로써 하나의 계층 내에서 얻어질 수도 있다.
비트스트림의 각각의 개개의 계층에 대해, 하부 계층에서의 데이터는 임의의 더 높은 계층에서의 데이터에 대한 참조 없이 디코딩될 수도 있다. 스케일러블 비디오 코딩에서, 예를 들어, 기초 계층에서의 데이터는 향상 계층에서의 데이터에 대한 참조 없이 디코딩될 수도 있다. 일반적으로, NAL 유닛들은 단지 단일 계층의 데이터를 캡슐화할 수도 있다. 따라서, 비트스트림의 최고 나머지 계층의 데이터를 캡슐화하는 NAL 유닛들은 비트스트림의 나머지 계층들에서의 데이터의 디코딩가능성 (decodability) 에 영향을 미침이 없이 비트스트림으로부터 제거될 수도 있다. 멀티-뷰 코딩 및 3D-HEVC 에서, 더 높은 계층들은 추가적인 뷰 성분들을 포함할 수도 있다. SHVC 에서, 더 높은 계층들은 신호 대 잡음 비 (SNR) 향상 데이터, 공간 향상 데이터, 및/또는 시간 향상 데이터를 포함할 수도 있다. MV-HEVC, 3D-HEVC 및 SHVC 에서, 계층은 비디오 디코더가 임의의 다른 계층의 데이터에 대한 참조 없이 그 계층에서의 픽처들을 디코딩할 수 있으면 "기초 계층" 으로서 지칭될 수도 있다. 기초 계층은 HEVC 베이스 사양 (예컨대, HEVC WD) 을 따를 수도 있다.
SVC 에서, 기초 계층 이외의 계층들은 "향상 계층들" 로서 지칭될 수도 있으며, 비트스트림으로부터 디코딩되는 비디오 데이터의 시각적 품질을 향상시키는 정보를 제공할 수도 있다. SVC 는 공간 해상도, 신호-대-잡음비 (즉, 품질) 또는 시간 레이트를 향상시킬 수 있다. 스케일러블 비디오 코딩 (예컨대, SHVC) 에서, "계층 표현" 은 단일 액세스 유닛에서 공간 계층의 코딩된 표현일 수도 있다. 설명의 용이성을 위해, 본 개시물은 뷰 성분들 및/또는 계층 표현들을 "뷰 성분들/계층 표현들" 또는 간단히 "픽처들" 로서 지칭할 수도 있다.
계층들을 구현하기 위해, NAL 유닛들의 헤더들은 nuh_reserved_zero_6bits 신택스 엘리먼트들을 포함할 수도 있다. HEVC WD 에서, nuh_reserved_zero_6bits 신택스 엘리먼트가 예약된다. 그러나, MV-HEVC, 3D-HEVC, 및 SVC 에서, nuh_reserved_zero_6bits 신택스 엘리먼트는 nuh_layer_id 신택스 엘리먼트로서 지칭된다. nuh_layer_id 신택스 엘리먼트는 계층의 식별자를 규정한다. 상이한 값들을 규정하는 nuh_layer_id 신택스 엘리먼트들을 가지는 비트스트림의 NAL 유닛들은 비트스트림의 상이한 계층들에 속한다.
일부 예들에서, NAL 유닛의 nuh_layer_id 신택스 엘리먼트는, NAL 유닛이 멀티-뷰 코딩 (예컨대, MV-HEVC), 3DV 코딩 (예컨대, 3D-HEVC), 또는 스케일러블 비디오 코딩 (예컨대, SHVC) 에서의 기초 계층에 관련되면 0 과 동일하다. NAL 유닛이 멀티-뷰 코딩, 3DV, 또는 스케일러블 비디오 코딩에서의 기초 계층에 관련되지 않으면, NAL 유닛의 nuh_layer_id 신택스 엘리먼트는 비-제로 값을 가질 수도 있다.
더욱이, 계층 내 일부 뷰 성분들/계층 표현들은 동일한 계층 내 다른 뷰 성분들/계층 표현들에 대한 참조 없이 디코딩될 수도 있다. 따라서, 계층의 어떤 뷰 성분들/계층 표현들의 데이터를 캡슐화하는 NAL 유닛들은 계층에서의 다른 뷰 성분들/계층 표현들의 디코딩가능성에 영향을 미침이 없이 비트스트림으로부터 제거될 수도 있다. 이러한 뷰 성분들/계층 표현들의 데이터를 캡슐화하는 NAL 유닛들을 제거하는 것은 비트스트림의 프레임 레이트를 감소시킬 수도 있다. 계층 내 다른 뷰 성분들/계층 표현들에 대한 참조 없이 디코딩될 수도 있는 계층 내 뷰 성분들/계층 표현들의 서브세트는 본원에서 "서브-계층" 또는 "시간 서브-계층" 으로서 지칭될 수도 있다.
NAL 유닛들은 NAL 유닛들의 시간 식별자들 (즉, TemporalIds) 을 규정하는 temporal_id 신택스 엘리먼트들을 포함할 수도 있다. NAL 유닛의 시간 식별자는 NAL 유닛이 속하는 서브-계층을 식별한다. 따라서, 계층의 각각의 서브-계층은 상이한 시간 식별자를 가질 수도 있다. 일반적으로, 계층의 제 1 NAL 유닛의 시간 식별자가 동일 계층의 제 2 NAL 유닛의 시간 식별자 미만이면, 제 1 NAL 유닛에 의해 캡슐화되는 데이터는 제 2 NAL 유닛에 의해 캡슐화되는 데이터에 대한 참조 없이 디코딩될 수도 있다.
비트스트림은 복수의 동작 지점들과 연관될 수도 있다. 비트스트림의 각각의 동작 지점은 계층 식별자들의 세트 (예컨대, nuh_layer_id 값들의 세트) 및 시간 식별자와 연관된다. 계층 식별자들의 세트는 OpLayerIdSet 로서 표시될 수도 있으며, 시간 식별자는 TemporalID 로서 표시될 수도 있다. NAL 유닛의 계층 식별자가 계층 식별자들의 동작 지점의 세트 내에 있고 NAL 유닛의 시간 식별자가 동작 지점의 시간 식별자보다 작거나 같으면, NAL 유닛은 동작 지점과 연관된다. 따라서, 동작 지점은 비트스트림에서 NAL 유닛들의 서브세트 (예컨대, 적합한 서브세트) 에 대응할 수도 있다.
MPEG-2 시스템들 사양은 압축된 멀티미디어 (비디오 및 오디오) 데이터 스트림들이 디지털 송신 또는 스토리지에 적합한 단일 데이터 스트림을 형성하기 위해 다른 데이터와 함께 멀티플렉싱될 수 있는 방법을 기술한다. MPEG-2 TS 의 최근의 사양은 ITU-T 권고안 H.222.0, 2012년 6월 버전 (본원에서, "MPEG-2 TS") 이며, 여기서, AVC (Advanced Video Coding) 및 AVC 확장판들의 지원이 제공된다. 최근, HEVC 에 대한 MPEG-2 TS 의 수정안이 개발되었다. 최근의 문서는 2013년 7월, MPEG 출력 문서 N13656 에서의, "Text of ISO/IEC 13818-1: 2013 / Final Draft Amendment 3 - Transport of HEVC video over MPEG-2 Systems" 이다.
MPEG-2 시스템들 사양은 기본 스트림의 컨셉을 정의한다. 구체적으로 설명하면, 기본 스트림은 프로그램의 단일, 디지털 코딩된 (가능하면 MPEG-압축된) 구성요소이다. 예를 들어, 프로그램의 코딩된 비디오 또는 오디오 부분은 기본 스트림일 수 있다. 기본 스트림은 프로그램 스트림 또는 전송 스트림으로 멀티플렉싱되기 전에 먼저 패킷화 기본 스트림 (PES) 으로 변환된다. 동일한 프로그램 내에서, stream_id는 하나의 기본 스트림에 속하는 PES-패킷들을 다른 PES-패킷들과 식별하는데 사용된다.
게다가, MPEG-2 시스템들 사양은 프로그램 스트림 및 전송 스트림의 컨셉들을 정의한다. 프로그램 스트림들 및 전송 스트림들은 상이한 애플리케이션들을 목표로 하는 2개의 대안적인 멀티플렉스들이다. 프로그램 스트림들은 디지털 스토리지 서비스로부터의 단일 프로그램의 스토리지 및 디스플레이를 위해 바이어스되며, 프로그램 스트림은 에러들에 다소 민감하기 때문에 에러 없는 환경들에서 사용을 위해 의도된다. 이에 반해, 전송 스트림들은 잠재적으로 에러가 나기 쉬운 채널들을 통한 다수의 프로그램들의 동시적인 전달을 위해 의도된다. 일반적으로, 전송 스트림은 단일 전송 스트림이 많은 독립적인 프로그램들을 수용할 수 있도록, 브로드캐스팅과 같은 멀티-프로그램 애플리케이션들을 위해 고안된 멀티플렉스이다. 프로그램 스트림은 그에 속하는 기본 스트림들을 단지 포함하며, 대개 가변 길이 패킷들을 가지는 패킷들을 포함한다
프로그램 스트림에서, 기여하는 기본 스트림들로부터 유도되는 PES-패킷들은 '팩들' 로 편성된다. 팩 (pack) 은 팩-헤더, 옵션적인 시스템 헤더, 및 기여하는 기본 스트림들 (즉, 프로그램 스트림의 기본 스트림들) 중 임의의 기본 스트림으로부터 취한 임의 개수의 PES-패킷들을, 임의의 순서로 포함한다. 시스템 헤더는 프로그램 스트림의 최대 데이터 레이트, 기여하는 프로그램 스트림의 비디오 및 오디오 기본 스트림들의 개수, 및 추가적인 타이밍 정보와 같은, 프로그램 스트림의 특성들의 요약을 포함한다. 디코더 (30) 와 같은, 디코더는 시스템 헤더에 포함된 정보를 이용하여, 디코더가 프로그램 스트림을 디코딩하는 것이 가능한지 여부를 결정할 수도 있다.
전송 스트림은 일련의 전송 패킷들을 포함한다. 전송 패킷들은 PES-패킷들의 형태이다. 전송 패킷들의 각각은 188-바이트 길이이다. 전송 스트림들에서의 짧은, 고정된 길이 패킷들의 사용은 전송 스트림들이 프로그램 스트림들 만큼 에러들에 민감하지 않다는 것을 의미한다. 또, Reed-Solomon 인코딩과 같은, 표준 에러 보호 프로세스를 통해서 전송 패킷을 프로세싱하는 것은 각각의 188-바이트-길이 전송 패킷에 추가적인 에러 보호를 제공할 수도 있다. 전송 스트림의 향상된 에러 복원력은 전송 스트림이 브로드캐스트 환경에서 발견되는 채널들과 같은, 에러가 나기 쉬운 채널들에서 살아남을 더 나은 기회를 가진다는 것을 의미한다. 전송 스트림들의 증가된 에러 복원력 및 전송 스트림으로 많은 동시적인 프로그램들을 운반하는 능력이 주어지면, 전송 스트림들이 2개의 멀티플렉스들 (즉, 프로그램 스트림들 및 전송 스트림들) 중 분명히 더 나은 것 처럼 보일지도 모른다. 그러나, 전송 스트림은 프로그램 스트림보다 좀더 복잡한 멀티플렉스이며, 그 결과 생성하고 디멀티플렉싱하는 것이 더 어렵다.
전송 패킷의 제 1 바이트는 0x47 인, 동기화 바이트이다. 단일 전송 스트림은 많은 패킷화된 기본 스트림들을 각각 포함하는 많은 상이한 프로그램들을 운반할 수도 있다. 게다가, 전송 패킷은 13-비트 패킷 식별자 (PID) 필드를 포함한다. PID 필드는 하나의 기본 스트림의 데이터를 포함하는 전송 패킷들을 다른 기본 스트림들의 데이터를 운반하는 전송 패킷들과 식별하는데 사용된다. 각각의 기본 스트림이 고유한 PID 값을 부여 받도록 보장하는 것이 멀티플렉서의 책무이다. 전송 패킷의 최종 바이트는 연속성 카운트 필드이다. 연속성 카운트 필드의 값은 동일한 기본 스트림에 속하는 연속적인 전송 패킷들 사이에 증분된다. 연속성 카운트 필드의 값을 증분시키는 것은 디코더 (30) 와 같은, 디코더로 하여금, 전송 패킷의 손실 또는 이득을 검출하고, 잠재적으로 그렇지 않으면 전송 패킷의 손실 또는 이득으로부터 초래할 지도 모르는 에러들을 감출 수 있도록 한다.
전송 패킷이 속하는 기본 스트림이 전송 패킷의 PID 값에 기초하여 결정될 수도 있지만, 디코더는 어느 기본 스트림들이 어느 프로그램에 속하는지를 결정가능해야 할 수도 있다. 따라서, 프로그램 특정의 정보는 프로그램들과 구성요소 기본 스트림들 사이의 관계를 명시적으로 규정한다. 예를 들어, 프로그램 특정의 정보는 프로그램과 프로그램에 속하는 기본 스트림들 사이의 관계를 규정할 수도 있다. 전송 스트림의 프로그램 특정의 정보는 프로그램 맵 테이블 (PMT), 프로그램 연관 테이블 (PAT), 조건부 액세스 테이블, 및 네트워크 정보 테이블을 포함할 수도 있다.
전송 스트림으로 운반되는 모든 프로그램은 프로그램 맵 테이블 (PMT) 과 연관된다. PMT 는 하나 보다 많은 프로그램을 포함하기 위해 허용된다. 예를 들어, 전송 스트림으로 운반되는 다수의 프로그램들은 동일한 PMT 와 연관될 수도 있다. 프로그램과 연관된 PMT 는 프로그램 및 프로그램을 포함하는 기본 스트림들에 관한 세부 사항들을 제공한다. 예를 들어, 수 3 을 가지는 프로그램은 PID 33 을 가지는 비디오, PID 57 을 가지는 영어 오디오, PID 60 을 가지는 중국어 오디오를 포함할 수도 있다. 다시 말해서, 이 예에서, PMT 는 전송 패킷들이 33 과 동일한 값들을 가지는 PID 필드들을 포함하는 기본 스트림이 3 과 동일한 수 (예컨대, program_number) 를 가지는 프로그램의 비디오를 포함하고, 전송 패킷들이 57 과 동일한 값들을 가지는 PID 필드들을 포함하는 기본 스트림이 수 3 을 가지는 프로그램의 영어 (English) 오디오를 포함하고, 그리고 전송 패킷들이 60 과 동일한 값들을 가지는 PID 필드들을 포함하는 기본 스트림이 수 3 을 가지는 프로그램의 중국어 (Chinese) 오디오를 포함한다고 규정할 수도 있다.
기본적인 PMT 는 MPEG-2 시스템들 사양에 규정된 많은 디스크립터들 중 일부로 장식될 수도 있다. 다시 말해서, PMT 는 하나 이상의 디스크립터들을 포함할 수도 있다. 디스크립터들은 프로그램에 관한 추가적인 정보 또는 프로그램의 구성요소 기본 스트림들을 운반한다. 디스크립터들은 비디오 인코딩 파라미터들, 오디오 인코딩 파라미터들, 언어 식별 정보, 팬 (pan)-및-스캐닝 정보, 조건 액세스 세부 사항들, 저작권 정보 등을 포함할 수도 있다. 브로드캐스터 또는 다른 사용자는 요구되면, 추가적인 사설 디스크립터들을 정의할 수도 있다. 비디오 관련된 구성요소 기본 스트림들에서는, 또한 계층구조 디스크립터가 존재한다. 계층구조 디스크립터는 계층적으로-코딩된 비디오, 오디오, 및 사설 스트림들의 구성요소들을 포함하는 프로그램 엘리먼트들을 식별하는 정보를 제공한다. 사설 스트림들은 프로그램 특정의 정보의 스트림과 같은, 메타데이터를 포함할 수도 있다. 일반적으로, 프로그램 엘리먼트는 프로그램에 포함되는 데이터 또는 기본 스트림들 중 하나 (즉, 프로그램의 구성요소 기본 스트림) 이다. MPEG-2 전송 스트림들에서, 프로그램 엘리먼트들은 대개 패킷화된다. MPEG-2 프로그램 스트림들에서, 프로그램 엘리먼트들은 패킷화되지 않는다.
프로그램 스트림의 프로그램-특정의 정보는 프로그램 스트림 맵 (PSM) 을 포함할 수도 있다. 프로그램 스트림의 PSM 은 프로그램 스트림에서의 기본 스트림들의 설명 및 서로에 대한 기본 스트림들의 관계들을 제공한다. 전송 스트림으로 운반될 때, 이 구조는 변경되지 않아야 한다. PSM 은 stream_id 값이 0xBC 일 때 PES 패킷으로서 존재한다.
위에서 나타낸 바와 같이, 전송 스트림의 프로그램-특정의 정보는 프로그램 연관 테이블 (PAT) 을 포함할 수도 있다. 전송 스트림의 PAT 는 전송 스트림에 이용가능한 모든 프로그램들의 완전한 리스트를 포함한다. PAT 는 PID 값 0 을 항상 갖는다. 다시 말해서, 0 과 동일한 PID 값들을 가지는 전송 패킷들은 PAT 를 포함한다. PAT 는 개개의 프로그램과 연관된 프로그램 맵 테이블을 포함하는 전송 패킷들의 PID 값과 함께 전송 스트림의 각각의 개개의 프로그램을 리스트한다. 예를 들어, 위에서 설명된 예시적인 PMT 에서, PAT 는 프로그램 수 3 의 기본 스트림들을 규정하는 PMT 가 1001 의 PID 를 가진다고 규정하는 정보를 포함할 수도 있으며, 다른 PMT 가 1002 의 다른 PID 를 가진다고 규정하는 정보를 포함할 수도 있다. 다시 말해서, 이 예에서, PAT 는 PID 필드들이 1001 과 동일한 값들을 가지는 전송 패킷들이 프로그램 수 3 의 PMT 를 포함한다고 규정할 수도 있으며, PAT 는 PID 필드들이 1002 와 동일한 값들을 가지는 전송 패킷들이 다른 프로그램의 PMT 를 포함한다고 규정할 수도 있다.
더욱이, 위에서 나타낸 바와 같이, 전송 스트림의 프로그램-특정의 정보는 네트워크 정보 테이블 (NIT) 을 포함할 수도 있다. 전송 스트림의 PAT 에 규정된, 프로그램 수 제로는, 특별한 의미를 갖는다. 구체적으로 설명하면, 프로그램 수 0 은 NIT 를 가리킨다. 전송 스트림의 NIT 는 옵션적이며, 존재할 때, NIT 는 전송 스트림을 운반하는 물리 네트워크에 관한 정보를 제공한다. 예를 들어, NIT 는 채널 주파수들, 위성 트랜스폰더 세부 사항들, 변조 특성들, 서비스 발신자, 서비스 이름 및 이용가능한 대안 네트워크들의 세부 사항들과 같은 정보를 제공할 수도 있다.
위에서 나타낸 바와 같이, 전송 스트림의 프로그램-특정의 정보는 조건부 액세스 테이블 (CAT) 을 포함할 수도 있다. CAT 는 전송 스트림 내 임의의 기본 스트림이 스크램블링되면 존재해야 한다. CAT 는 사용중인 스크램블링 시스템(들) 의 세부 사항들을 제공하며, 조건 액세스 관리 및 자격 (entitlement) 정보를 포함하는 전송 패킷들의 PID 값들을 제공한다. MPEG-2 는 이 정보의 포맷을 규정하지 않는다.
위에서 나타낸 바와 같이, PMT 는 프로그램에 관한 정보 또는 프로그램의 구성요소 기본 스트림을 운반하는 하나 이상의 디스크립터들을 포함할 수도 있다. PMT 에서 하나 이상의 디스크립터들은 계층구조 디스크립터를 포함할 수도 있다. MPEG-2 전송 스트림 (TS) 에서, 계층구조 디스크립터는 상이한 기본 스트림들에서의 서브-비트스트림들의 계층구조를 시그널링하도록 설계된다. 계층구조 디스크립터는 계층적으로-코딩된 비디오, 오디오, 및 사설 스트림들의 구성요소들을 포함하는 프로그램 엘리먼트들을 식별하는 정보를 제공한다. 하기 표 2-49 는 계층구조 디스크립터의 신택스를 나타낸다. 표 2-49 에 뒤이은 패러그라프들은 계층구조 디스크립터의 필드들의 의미들을 기술한다.
표 2-49 - 계층구조 디스크립터
Figure pct00001

temporal_ scalability _flag - 1-비트 플래그는, '0' 으로 설정될 때, 연관된 프로그램 엘리먼트가 hierarchy_embedded_layer_index 에 의해 참조되는 프로그램 엘리먼트로부터 기인하는 비트-스트림의 프레임 레이트를 향상시킨다는 것을 표시한다. 이 플래그에 대해 '1' 의 값이 예약된다.
spatial_ scalability _flag - 1-비트 플래그는, '0' 으로 설정될 때, 연관된 프로그램 엘리먼트가 hierarchy_embedded_layer_index 에 의해 참조되는 프로그램 엘리먼트로부터 기인하는 비트-스트림의 공간 해상도를 향상시킨다는 것을 표시한다. 이 플래그에 대해 '1' 의 값이 예약된다.
quality_ scalability _flag - 1-비트 플래그는, '0' 으로 설정될 때, 연관된 프로그램 엘리먼트가 hierarchy_embedded_layer_index 에 의해 참조되는 프로그램 엘리먼트로부터 기인하는 비트-스트림의 SNR 품질 또는 충실도를 향상시킨다는 것을 표시한다. 이 플래그에 대해 '1' 의 값이 예약된다.
hierarchy_type - 연관된 계층구조 계층과 그의 계층구조-내장된 계층 사이의 계층구조적 관계는 (아래에 나타낸) 표 2-50 에 정의된다. 스케일러빌리티가 하나 보다 많은 차원에서 적용되면, 이 필드는 '8' 의 값 ("결합된 스케일러빌리티") 으로 설정되어야 하며, 그에 따라서 플래그들 temporal_scalability_flag, spatial_scalability_flag 및 quality_scalability_flag 가 설정되어야 한다. MVC 비디오 서브-비트스트림들에 대해, 이 필드는 shall be 세트 to '9' 의 값 ("MVC 비디오 서브 비트스트림") 으로 설정되어야 하며, 플래그들 temporal_scalability_flag, spatial_scalability_flag 및 quality_scalability_flag 는 '1' 로 설정되어야 한다. MVC 베이스 뷰 서브-비트스트림들에 대해, hierarchy_type 필드는 '15' 의 값으로 설정되어야 하며, 플래그들 temporal_scalability_flag, spatial_scalability_flag 및 quality_scalability_flag 는 '1' 로 설정되어야 한다.
hierarchy_layer_index - hierarchy_layer_index 는 코딩 계층 계층구조들의 표에서 그 연관된 프로그램 엘리먼트의 고유한 인덱스를 정의하는 6-비트 필드이다. 인덱스들은 단일 프로그램 정의 내에서 고유해야 한다. 권고안 ITU T H.264 | ISO/IEC 14496-10 의 부속서 G 에 정의된 하나 이상의 프로파일들을 따르는 AVC 비디오 스트림들의 비디오 서브-비트스트림들에 대해, 이것은 동일한 액세스 유닛의 비디오 서브-비트스트림들의 연관된 SVC 의존성 표현들이 hierarchy_layer_index 의 증가 순서로 재-조립되면 비트스트림 순서가 정정되는 방법으로 할당되는 프로그램 엘리먼트 인덱스이다. 권고안 ITU-T H.264 | ISO/IEC 14496-10 의 부속서 H 에 정의된 하나 이상의 프로파일들을 따르는 AVC 비디오 스트림들의 MVC 비디오 서브-비트스트림들에 대해, 이것은 동일한 액세스 유닛의 MVC 비디오 서브-비트스트림들의 연관된 MVC 뷰-구성요소 서브세트들이 hierarchy_layer_index 의 증가 순서로 재-조립되면 비트스트림 순서가 정정되는 방법으로 할당되는 프로그램 엘리먼트 인덱스이다.
tref _present_flag - 1-비트 플래그는, '0' 으로 설정될 때, TREF 필드가 연관된 기본 스트림에서의 PES 패킷 헤더들에 존재할 수도 있다는 것을 나타낸다. 이 플래그에 대해 '1' 의 값이 예약된다.
hierarchy_embedded_layer_index - hierarchy_embedded_layer_index 는 디코딩 순서에서 이 hierarchy_descriptor 와 연관된 기본 스트림의 디코딩 전에 액세스되어야 하며 존재하여야 하는 프로그램 엘리먼트의 hierarchy_layer_index 를 정의하는 6-비트 필드이다. hierarchy_embedded_layer_index 필드는 hierarchy_type 값이 15 이면 정의되지 않는다.
hierarchy_channel - hierarchy_channel 은 순서정렬된 세트 송신 채널들의 세트에서 그 연관된 프로그램 엘리먼트의 의도된 채널 수를 나타내는 6-비트 필드이다. 가장 강건한 송신 채널은 전체 송신 계층구조 정의에 대한 이 필드의 최저 값에 의해 정의된다. 주어진 hierarchy_channel 은 여러 프로그램 엘리먼트들에 동시에 할당될 수도 있다.
하기 표 2-50 은 계층구조 디스크립터의 hierarchy_type 필드의 값들의 의미를 기술한다.
표 2-50 - hierarchy_type 필드 값들
Figure pct00002
위에서 나타낸 바와 같이, PMT 는 프로그램에 관한 정보 또는 프로그램의 구성요소 기본 스트림을 운반하는 하나 이상의 디스크립터들을 포함할 수도 있다. MPEG-2 TS 에서, 2개의 디스크립터들, 즉 SVC 확장판 디스크립터 및 MVC 확장판 디스크립터는 SVC 및 MVC 에 대한 서브-비트스트림들의 특성들을 각각 시그널링한다. 게다가, 동작 지점들의 특성들을 기술하는 MVC 동작 지점 디스크립터가 존재한다. 3개의 디스크립터들의 신택스 및 의미들은 아래에 제공된다.
권고안 ITU T H.264 | ISO/IEC 14496-10 의 부속서 G 에 정의된 하나 이상의 프로파일들을 따르는 AVC 비디오 스트림들의 비디오 서브-비트스트림들에 대해, SVC 확장판 디스크립터는 연관된 비디오 서브-비트스트림을 (까지) 재-조립하는 것으로부터 기인하는 AVC 비디오 스트림에 관한 정보를 제공하며, 연관된 비디오 서브-비트스트림의 스케일러빌리티 및 재-조립에 관한 정보를 제공한다. 권고안 ITU-T H.264 | ISO/IEC 14496-10 의 부속서 G 에 정의된 하나 이상의 프로파일들을 따르는 AVC 비디오 스트림의 비디오 서브-비트스트림들 중의 임의의 서브-비트스트림과 연관된 하나의 SVC 확장판 디스크립터가 존재할 수도 있다. 표 2-96 은 SVC 확장판 디스크립터의 신택스를 기술한다. 패러그라프들 다음 표 2-96 은 SVC 확장판 디스크립터의 필드들의 의미들을 기술한다.
표 2-96 - SVC 확장판 디스크립터
Figure pct00003
폭 (width) - 이 16-비트 필드는 재-조립된 AVC 비디오 스트림의 최대 이미지 폭 해상도를 픽셀들로 나타낸다.
높이 (height) - 이 16-비트 필드는 재-조립된 AVC 비디오 스트림의 최대 이미지 높이 해상도를 픽셀들로 나타낸다.
frame_rate - 이 16-비트 필드는 재-조립된 AVC 비디오 스트림의 최대 프레임 레이트를, 프레임들/256 초로 나타낸다.
average_ bitrate - 이 16-비트 필드는 재-조립된 AVC 비디오 스트림의 평균 비트 레이트를, 초 당 kbit 로 나타낸다.
maximum_ bitrate - 이 16-비트 필드는 재-조립된 AVC 비디오 스트림의 최대 비트 레이트를, 초 당 kbit 로 나타낸다.
dependency_id - 이 3-비트 필드는 비디오 서브-비트스트림과 연관된 dependency_id 의 값을 나타낸다.
quality_id_start - 이 4-비트 필드는 연관된 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 NAL 유닛 헤더 신택스 엘리먼트의 quality_id 의 최소 값을 나타낸다. quality_id 는 NAL 유닛에 대한 품질 식별자를 규정한다.
quality_id_end - 이 4-비트 필드는 연관된 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 NAL 유닛 헤더 신택스 엘리먼트의 quality_id 의 최대 값을 나타낸다.
temporal_id_start - 이 3-비트 필드는 연관된 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 NAL 유닛 헤더 신택스 엘리먼트의 temporal_id 의 최소 값을 나타낸다.
temporal_id_end - 이 3-비트 필드는 연관된 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 NAL 유닛 헤더 신택스 엘리먼트의 temporal_id 의 최대 값을 나타낸다.
no_ sei _ nal _unit_present - 이 1-비트 플래그는, '1' 로 설정될 때, 어떤 SEI NAL 유닛들도 연관된 비디오 서브-비트스트림에 존재하지 않는다는 것을 나타낸다. no_sei_nal_unit_present 플래그가 모든 SVC 비디오 서브-비트스트림들에 대해 '1' 로 설정되고 SVC 의 AVC 비디오 서브-비트스트림에 대해 '1' 로 설정되지 않거나 또는 존재하지 않는 경우, 임의의 SEI NAL 유닛들은, 존재 한다면, SVC 의 AVC 비디오 서브-비트스트림에 포함된다. SVC 확장판 디스크립터가 모든 비디오 서브-비트스트림들에 부재하면, SEI NAL 유닛들은 SVC 비디오 서브-비트스트림의 임의의 SVC 의존성 표현에 존재할 수도 있으며, 액세스 유닛 재-조립 전에 권고안 ITU-T H.264 | ISO/IEC 14496-10 에 정의된 바와 같이 액세스 유닛 내에서 NAL 유닛들의 순서를 재-순서정렬하는 것을 필요로 할 수도 있다.
권고안 ITU-T H.264 | ISO/IEC 14496-10 의 부속서 H 에 정의된 하나 이상의 프로파일들을 따르는 AVC 비디오 스트림들의 MVC 비디오 서브-비트스트림들에 대해, MVC 확장판 디스크립터는 연관된 MVC 비디오 서브-비트스트림을 (까지) 재-조립하는 것으로부터 기인하는 AVC 비디오 스트림에 관한 정보를 제공하며, 그 포함된 MVC 비디오 서브-비트스트림에 관한, 그리고 그 연관된 MVC 비디오 서브-비트스트림의 재-조립에 대한 정보를 제공한다. 권고안 ITU-T H.264 | ISO/IEC 14496-10 의 부속서 H 에 정의된 하나 이상의 프로파일들에 따르는 AVC 비디오 스트림의 (0x20 과 동일한 stream_type 을 가지는) MVC 비디오 서브-비트스트림들 중 임의의 서브-비트스트림과 연관된 하나의 MVC 확장판 디스크립터가 존재할 수도 있다. MVC 비디오 서브-비트스트림이 MVC 베이스 뷰 서브-비트스트림일 때, MVC 확장판 디스크립터는 0x1B 와 동일한 stream_type 에 대한 연관된 PMT 또는 PSM 에 존재하여야 한다. 표 2-97 은 MVC 확장판 디스크립터의 신택스를 기술한다. 표 2-97 에 뒤따르는 패러그라프들은 MVC 확장판 디스크립터의 특정의 필드들의 의미들을 기술한다.
표 2-97 - MVC 확장판 디스크립터
Figure pct00004

average_ bitrate - 이 16-비트 필드는 재-조립된 AVC 비디오 스트림의 평균 비트 레이트를, 초 당 kbits 로 나타낸다. 0 으로 설정될 때, 평균 비트 레이트는 표시되지 않는다.
maximum_ bitrate - 이 16-비트 필드는 재-조립된 AVC 비디오 스트림의 최대 비트 레이트를, 초 당 kbits 로 나타낸다. 0 으로 설정될 때, 최대 비트 레이트는 표시되지 않는다.
view_order_index_min - 이 10-비트 필드는 연관된 MVC 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 뷰 순서 인덱스의 최소 값을 나타낸다.
view_order_index_max - 이 10-비트 필드는 연관된 MVC 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 뷰 순서 인덱스의 최대 값을 나타낸다.
temporal_id_start - 이 3-비트 필드는 연관된 MVC 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 NAL 유닛 헤더 신택스 엘리먼트의 temporal_id 의 최소 값을 나타낸다.
temporal_id_end - 이 3-비트 필드는 연관된 MVC 비디오 서브-비트스트림에 포함된 모든 NAL 유닛들의 NAL 유닛 헤더 신택스 엘리먼트의 temporal_id 의 최대 값을 나타낸다.
no_ sei _ nal _unit_present - 이 1-비트 플래그는, '1' 로 설정될 때, 어떤 SEI NAL 유닛들도 연관된 비디오 서브-비트스트림에 존재하지 않는다는 것을 나타낸다. no_sei_nal_unit_present 플래그가 모든 MVC 비디오 서브-비트스트림들에 대해 '1' 로 설정되고 MVC 의 AVC 비디오 서브-비트스트림에 대해 '1' 로 설정되지 않거나 또는 존재하지 않는 경우, 임의의 SEI NAL 유닛들은, 존재 한다면, MVC 의 AVC 비디오 서브-비트스트림에 포함된다. MVC 확장판 디스크립터가 모든 MVC 비디오 서브-비트스트림들에 부재할 때, SEI NAL 유닛들은 MVC 비디오 서브-비트스트림의 임의의 MVC 뷰 성분 서브세트에 존재할 수도 있으며, 액세스 유닛 재-조립 전에 권고안 ITU-T H.264 | ISO/IEC 14496-10 에 정의된 바와 같이 액세스 유닛 내에서 NAL 유닛들의 순서를 재-순서정렬하는 것을 필요로 할 수도 있다.
no_prefix_ nal _unit_present - 이 1-비트 플래그는 '1' 로 설정될 때, 어떤 접두부 NAL 유닛들도 MVC 의 AVC 비디오 서브-비트스트림 또는 MVC 비디오 서브-비트스트림들에 존재하지 않는다는 것을 나타낸다. 이 비트가 '0' 으로 설정될 때, 접두부 NAL 유닛들이 MVC 의 AVC 비디오 서브-비트스트림에만 단지 존재한다는 것을 나타낸다.
MVC 동작 지점 디스크립터는 하나 이상의 동작 지점들에 대한 프로파일 및 레벨 정보를 나타낸다.
하나 이상의 동작 지점들의 각각은 하나 이상의 MVC 비디오 서브-비트스트림들의 세트로 구성된다. 존재하면, MVC 동작 지점 디스크립터는 program_map_section 에서 program_info_length 필드 바로 다음에 뒤따르는 데이터 엘리먼트들의 그룹에 포함되어야 한다. MVC 동작 지점 디스크립터가 프로그램 설명 내에 존재할 때, 적어도 하나의 계층구조 디스크립터는 동일한 프로그램에 존재하는 각각의 MVC 비디오 서브-비트스트림에 대해 존재하여야 한다. 상이한 프로파일들을 표시하기 위해, 프로파일 당 하나의 MVC 동작 지점 디스크립터가 요구된다. 표 2-100 은 MVC 동작 지점 디스크립터의 신택스를 규정한다. 패러그라프들 다음 표 2-100 은 MVC 동작 지점 디스크립터의 필드들의 의미들을 기술한다.
표 2-100 - MVC 동작 지점 디스크립터
Figure pct00005

profile_idc - 이 8-비트 필드는 MVC 비트스트림에 대한 이 디스크립터 내에서 설명된 모든 동작 지점들의, 권고안 ITU-T H.264 | ISO/IEC 14496-10 에 정의된 바와 같은, 프로파일을 나타낸다.
constraint_ set0 _flag, constraint_ set1 _flag, constraint_ set2 _flag, constraint_set3_flag, constraint_ set4 _flag, constraint_ set5 _flag - 이들 필드들은 권고안 ITU T H.264 | ISO/IEC 14496-10 에 정의된 이들 필드들에 대한 의미들에 따라서 코딩되어야 한다.
AVC _compatible_flags - AVC_compatible_flags 의 의미들은 권고안 ITU-T H.264 | ISO/IEC 14496-10 에 정의된 바와 같은, 시퀀스 파라미터 세트에서 constraint_set2 플래그와 level_idc 필드 사이의 2 비트들에 대해 정의된 필드(들)의 의미들과 정확히 동일하다.
level_count - 이 8-비트 필드는 동작 지점들이 기술되는 레벨들의 수를 나타낸다.
level_idc - 이 8-비트 필드는 권고안 ITU-T H.264 | ISO/IEC 14496-10 에 정의된 바와 같은, 데이터 엘리먼트들의 다음 그룹들에 의해 기술된 동작 지점들에 대한 MVC 비트스트림의 레벨을 나타낸다.
operation_points_count - 이 8-비트 필드는 데이터 엘리먼트들의 다음 그룹에 포함된 리스트에 의해 설명된 동작 지점들의 수를 나타낸다.
applicable_temporal_id - 이 3-비트 필드는 재-조립된 AVC 비디오 스트림에서 VCL NAL 유닛들의 temporal_id 의 최고 값을 나타낸다.
num _target_output_views - 이 8-비트 필드는 연관된 동작 지점에 대한 출력을 목표로 하는, 뷰들의 수의 값을 나타낸다.
ES _count - 이 8-비트 필드는 데이터 엘리먼트들의 다음 그룹에 포함된 ES_reference 값들의 수를 나타낸다. 데이터 엘리먼트들의 다음 그룹에 포함된 기본 스트림들은 MVC 비디오 비트스트림의 동작 지점을 함께 형성한다. 값 0xff 가 예약된다.
ES _reference - 이 6-비트 필드는 비디오 서브-비트스트림을 식별하는 계층구조 디스크립터에 존재하는 계층구조 계층 인덱스 값을 나타낸다. 단일 동작 지점, 예컨대, 전체 MVC 비디오 비트스트림에 대한, 프로파일 및 레벨이 AVC 비디오 디스크립터를 이용하여 시그널링될 수 있다. 그 밖에, MVC 는 상이한 프로파일들 및/또는 레벨들을 필요로 할 수 있는 상이한 뷰 서브세트들을 디코딩하는 것이 가능하다. MVC 동작 지점 디스크립터의 사양은 다수의 동작 지점들에 대한 상이한 프로파일들 및 레벨들의 표시를 지원한다.
HEVC 비디오 스트림에 대해, HEVC 비디오 디스크립터는 프로파일 및 레벨 파라미터들과 같은, 그 HEVC 비디오 스트림의 코딩 파라미터들을 식별하기 위한 기본적인 정보를 제공한다. HEVC 시간 비디오 서브-비트스트림 또는 HEVC 시간 비디오 서브세트에 대해, HEVC 비디오 디스크립터는 적용할 기본 스트림에 포함된 연관된 HEVC 최고 시간 서브-계층 표현과 같은 정보를 제공한다. 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 0 과 동일한 TemporalId 와 연관된, 시간 서브-계층의 모든 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들을 포함하며, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 1 로부터 활성 시퀀스 파라미터 세트에 포함된 sps_max_sub_layers_minus1 과 동일하거나 또는 더 작은 값까지의 TemporalId 의 인접한 범위와 연관된 모든 시간 서브-계층들의 모든 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들을 추가적으로 포함할 수도 있는, HEVC 시간 비디오 서브-비트스트림. HEVC 시간 비디오 서브세트는 하나 이상의 시간 서브-계층들의 모든 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들을 포함하며, 각각의 시간 서브-계층은 대응하는 HEVC 시간 비디오 서브-비트스트림에 존재하지 않으며 TemporalId 는 인접한 값들의 범위를 형성하는 각각의 시간 서브-계층과 연관된다.
하기 표 X-1 은 HEVC 비디오 디스크립터의 신택스를 나타낸다. 표 X-1 에 뒤따르는 패러그라프들은 HEVC 비디오 디스크립터에서 필드들의 의미 정의들을 제공한다.
표 X-1 - HEVC 비디오 디스크립터
Figure pct00006

profile_space, tier_flag, profile_idc, profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc - HEVC 비디오 디스크립터가 HEVC 비디오 스트림에 또는 HEVC 완전 시간 표현에 적용되면, 이들 필드들은 대응하는 HEVC 비디오 스트림 또는 HEVC 완전 시간 표현에 대해, general_profile_space, general_tier_flag, general_profile_idc, general_profile_compatibility_flag[i], general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag, general_frame_only_constraint_flag, general_reserved_zero_44bits, general_level_idc 에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 의미들을 따라서 각각 코딩되어야 하며, 그리고, HEVC 비디오 디스크립터가 연관되는 전체 HEVC 비디오 스트림 또는 HEVC 완전 시간 표현은 이들 필드들에 의해 시그널링된 정보를 따라야 한다.
HEVC 비디오 디스크립터가 대응하는 HEVC 최고 시간 서브-계층 표현이 HEVC 완전 시간 표현 (즉, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 활성 시퀀스 파라미터 세트에 포함된 바와 같은 sps_max_sub_layers_minus1+1 과 동일한 TemporalId 를 가지는 시간 서브-계층까지의 모든 시간 서브-계층들을 포함하는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같은 서브-계층 표현) 이 아닌 HEVC 시간 비디오 서브-비트스트림 또는 HEVC 시간 비디오 서브세트에 적용될 때, profile_space, tier_flag, profile_idc, profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc 는 대응하는 HEVC 최고 시간 서브-계층 표현에 대해, sub_layer_profile_space, sub_layer_tier_flag, sub_layer_profile_idc, sub_layer_profile_compatibility_flag[i], sub_layer_progressive_source_flag, sub_layer_interlaced_source_flag, sub_layer_non_packed_constraint_flag, sub_layer_frame_only_constraint_flag, sub_layer_reserved_zero_44bits, sub_layer_level_idc 에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 의미들을 따라서 각각 코딩되어야 하며, 그리고, HEVC 비디오 디스크립터가 연관되는 전체 HEVC 최고 시간 서브-계층 표현은 이들 필드들에 의해 시그널링되는 정보에 따라야 한다. HEVC 완전 시간 표현은 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 활성 시퀀스 파라미터 세트에 포함된 바와 같은 sps_max_sub_layers_minus1+1 과 동일한 TemporalId 를 가지는 시간 서브-계층까지의 모든 시간 서브-계층들을 포함하는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같은 서브-계층 표현이다. HEVC 최고 시간 서브-계층 표현은 연관된 HEVC 시간 비디오 서브-비트스트림 또는 HEVC 시간 비디오 서브세트에서, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이, TemporalId 의 최고 값을 가지는 시간 서브-계층의 서브-계층 표현이다.
주 X2 - HEVC 비디오 스트림에서의 하나 이상의 시퀀스들에서, 그 레벨은 HEVC 비디오 디스크립터에서 시그널링되는 레벨보다 낮을 수도 있지만, 또한 HEVC 비디오 디스크립터에서 시그널링되는 프로파일의 서브세트인 프로파일이 발생할 수도 있다. 그러나, 전체 HEVC 비디오 스트림에서, 존재하면, HEVC 비디오 디스크립터에서 시그널링되는 프로파일에 포함되는 단지 전체 비트스트림 신택스의 서브세트들만이 사용되어야 한다. HEVC 비디오 스트림에서의 시퀀스 파라미터 세트들이 상이한 프로파일들을 시그널링하고, 그리고 어떤 추가적인 제약들도 시그널링되지 않으면, 그 스트림은 전체 스트림이 어느 프로파일을, 있다면, 따르는지를 결정하기 위해 검사를 필요로 할 수도 있다. HEVC 비디오 디스크립터가 단일 프로파일에 따르지 않는 HEVC 비디오 스트림과 연관되면, HEVC 비디오 스트림은, HEVC 비디오 디스크립터들이 각각의 이러한 서브-스트림에 대해 단일 프로파일을 시그널링할 수 있도록, 2개 이상의 서브-스트림들로 파티셔닝되어야 한다.
temporal_layer_subset_flag - 이 1-비트 플래그는, '1' 로 설정될 때, 시간 계층들의 서브세트를 기술하는 신택스 엘리먼트들이 이 디스크립터에 포함된다는 것을 나타낸다. 이 필드는 HEVC 시간 비디오 서브세트들에 대해, 그리고 HEVC 시간 비디오 서브-비트스트림들에 대해, 1 로 설정되어야 한다. '0' 으로 설정될 때, 신택스 엘리먼트들 temporal_id_min 및 temporal_id_max 는 이 디스크립터에 포함되지 않는다.
HEVC _still_present_flag - 이 1-비트 필드는, '1' 로 설정될 때, HEVC 비디오 스트림 또는 HEVC 최고 시간 서브-계층 표현이 HEVC 정지 화상들을 포함할 수도 있다는 것을 나타낸다. '0' 으로 설정될 때, 연관된 HEVC 비디오 스트림은 HEVC 정지 화상들을 포함하지 않아야 한다.
주 X3 -권고안 ITU-T H.265 | ISO/IEC 23008-2 에 따르면, IDR 픽처들은 0 과 동일한 TemporalId 값과 항상 연관되며, 그 결과, HEVC 비디오 디스크립터가 HEVC 시간 비디오 서브세트에 적용되면, HEVC 정지 화상들이 연관된 HEVC 시간 비디오 서브-비트스트림에만 단지 존재할 수 있다.
HEVC _24_temporal_picture_present_flag - 이 1-비트 플래그는, '1' 로 설정될 때, 연관된 HEVC 비디오 스트림 또는 HEVC 최고 시간 서브-계층 표현이 HEVC 24-시간 픽처들을 포함할 수도 있다는 것을 나타낸다. HEVC 24-시간 픽처의 정의에 대해, 정보 기술 -- 동화상들 및 관련 오디오 정보의 일반적인 코딩: 시스템들, 수정안 3, MPEG-2 시스템들을 통한 HEVC 비디오의 전송의 2.1.97 을 참조한다. 이 플래그가 '0' 으로 설정되면, 연관된 HEVC 비디오 스트림은 임의의 HEVC 24-시간 픽처를 포함하지 않아야 한다.
temporal_id_min - 이 3-비트 필드는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이, 연관된 기본 스트림에서 모든 HEVC 액세스 유닛들의 TemporalId 의 최소 값을 나타낸다.
temporal_id_max - 이 3-비트 필드는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이, 연관된 기본 스트림에서 모든 HEVC 액세스 유닛들의 TemporalId 의 최대 값을 나타낸다.
Chen 등, "Carriage of HEVC extension streams with MPEG-2 Systems", MPEG 입력 문서 m31430, 즉, 2013년 10월, 스위스, 제네바, 제 106차 MPEG 회의, MPEG 입력 문서 m31430 (본원에서, "MPEG 입력 문서 m31430") 는, MPEG-2 시스템들에 의한 HEVC 확장판 스트림들의 운반의 기본적인 설계를 제안하였다. 구체적으로 설명하면, MPEG 입력 문서 m31430 는 서브-비트스트림들이 동작 지점들을 형성하기 위해 함께 조립된다고 제안하였다. 이 서브-비트스트림들의 조립은 일반적이며, SHVC, MV-HEVC 또는 심지어 3D-HEVC 와 같은 임의의 HEVC 멀티-계층 확장판 표준에 대해 유효하게 작동한다.
MPEG 입력 문서 m31430 의 일부 기본적인 설계 원리들은 다음과 같이 요약된다. 먼저, 2013년 7월, 오스트리아, 비엔나, Gruneberg 등, "Text of ISO/IEC 13818-1: 2013 / Final Draft Amendment 3 - Transport of HEVC video over MPEG-2 Systems", ISO/IEC JTC1/SC29/WG11 MPEG105/N13656 (본원에서, "n13656" 또는 "FDAM 3") 에서의 계층구조 디스크립터가 시간 서브-계층들의 계층구조를 형성하기 위해 사용된다. 이와 유사하게, 계층구조 디스크립터는 다수의 계층들이 수반될 때 단지 시간 스케일러빌리티에 대해서만 사용된다.
제 2 설계 원리는 계층들 (예컨대, 뷰들, 기초 계층들, 향상 계층들) 의 계층구조를 형성하기 위해, MPEG 입력 문서 m31430 에서, 새로운 디스크립터, 즉 계층구조 확장판 디스크립터의 도입을 포함한다. 특히, 계층구조 확장판 디스크립터는 계층적으로-코딩된 비디오, 오디오, 및 사설 스트림들의 구성요소들을 포함하는 프로그램 엘리먼트들을 식별하는 정보를 제공한다. MPEG 입력 문서 m31430 은 각각의 기본 스트림이 어떤 하나 보다 많은 계층도 포함하지 않는다고 가정한다. 따라서, 계층구조 확장판 디스크립터는 단지 하나의 고유한 계층에 대응하는 기본 스트림에만 관계한다. 문서 m31430 에 제시된 바와 같은, 계층구조 확장판 디스크립터의 신택스 및 의미들은, 아래에 복사된다.
표 2-49 - 계층구조 확장판 디스크립터
Figure pct00007
2.6.98 계층구조 확장판 디스크립터에서의 필드들의 의미 정의
계층구조 확장판 디스크립터가 존재할 때, 상이한 기본 스트림들에 존재하는 계층들의 의존성을 규정하는데 사용된다. 시간 서브-계층들의 집성은, 그러나, ISO/IEC 13818-1 의 개정안 3 에 규정된 바와 같이, 계층구조 디스크립터에 의해 실현된다.
extension_dimension_bits - 0 과 동일한 nuh_layer_id 를 가지는 계층의 프로그램 엘리먼트로부터 기인하는 기초 계층으로부터의 연관된 프로그램 엘리먼트의 가능한 향상을 나타내는 16-비트 필드.
향상 치수들에의 비트들의 할당은 다음과 같다.
Figure pct00008
1 과 동일한 i-번째 비트는 대응하는 향상 치수가 존재한다는 것을 나타낸다.
hierarchy_layer_index - hierarchy_layer_index 는 코딩 계층 계층구조들의 표에서 그 연관된 프로그램 엘리먼트의 고유한 인덱스를 정의하는 6-비트 필드이다. 인덱스들은 단일 프로그램 정의 내에서 고유해야 한다. 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 G 또는 H 에 정의된 하나 이상의 프로파일들을 따르는 HEVC 비디오 스트림들의 비디오 서브-비트스트림들에 대해, 이것은 동일한 액세스 유닛의 비디오 서브-비트스트림들의 연관된 의존성 계층들이 hierarchy_layer_index 의 증가 순서로 재-조립되면 비트스트림 순서가 정정되는 방법으로 할당되는 프로그램 엘리먼트 인덱스이다.
tref _present_flag - 1-비트 플래그는, '0' 으로 설정될 때, TREF 필드가 연관된 기본 스트림에서의 PES 패킷 헤더들에 존재할 수도 있다는 것을 나타낸다. 이 플래그에 대해 '1' 의 값이 예약된다.
nuh _layer_id - 6-비트 필드는 이 hierarchy_extension_descriptor() 와 연관된 기본 스트림에서의 NAL 유닛들의 최고 nuh_layer_id 를 규정한다.
temporal_id - 3-비트 필드는 이 hierarchy_extension_descriptor() 와 연관된 기본 스트림에서의 NAL 유닛들의 최고 TemporalId 를 규정한다.
num _embedded_layers - 디코딩 순서에서 이 hierarchy_extension_descriptor() 와 연관된 기본 스트림의 디코딩 전에 액세스되어야 하며 존재하여야 하는 직접 의존적인 프로그램 엘리먼트들의 수를 규정하는 6-비트 필드.
hierarchy_ ext _embedded_layer_index - hierarchy_ext_embedded_layer_index 는 디코딩 순서에서 이 hierarchy_extension_descriptor 와 연관된 기본 스트림의 디코딩 전에 액세스되어야 하며 존재하여야 하는 프로그램 엘리먼트의 hierarchy_layer_index 를 정의하는 6-비트 필드이다. 이 필드는 hierarchy_type 값이 15 이면 정의되지 않는다.
hierarchy_channel - hierarchy_channel 은 순서정렬된 세트 송신 채널들의 세트에서 그 연관된 프로그램 엘리먼트의 의도된 채널 수를 나타내는 6-비트 필드이다. 가장 강건한 송신 채널은 전체 송신 계층구조 정의에 대한 이 필드의 최저 값에 의해 정의된다.
주 - 주어진 hierarchy_channel 은 여러 프로그램 엘리먼트들에 동시에 할당될 수도 있다.
제 3 설계 원리는 계층구조 확장판 디스크립터가 MV-HEVC/SHVC 코딩 사양들의 VPS 확장판에서와 유사한 스케일러빌리티 유형들을 시그널링하기 위한 일반적인 설계를 포함한다는 것이다. 게다가, 다수의 의존적인 기본 스트림들이 현재의 기본 스트림에 대해 시그널링될 수도 있다.
제 4 설계 원리는 HEVC 확장판 디스크립터의 제안이다. HEVC 확장판 디스크립터는 FDAM 3 에서와 같이 HEVC 비디오 디스크립터의 부분으로서 포함될 수 있다. HEVC 확장판 디스크립터는 MV-HEVC/SHVC 에서의 출력 계층 세트에 각각 대응하는 동작 지점들을 시그널링한다. 출력 계층 세트는 출력될 비트스트림의 계층들의 세트이다. 비트스트림은 또한 비디오 디코더가 출력하지 않지만 출력 계층 세트를 디코딩하기 위해 비디오 디코더에 의해 사용되는 참조 계층들을 포함할 수도 있다. 동작 지점들의 구성은 출력 계층 세트에 속하는 계층들을 규정함으로써, 계층구조 확장판 디스크립터에 의존한다. 프로파일, 티어, 및 레벨, 뿐만 아니라 비트레이트 및 프레임 레이트를 포함한, 각각의 동작 지점의 특성들이 이 디스크립터에서 시그널링된다.
일반적으로, "프로파일" 은 비트스트림 신택스의 서브세트를 지칭할 수도 있다. "티어들" 및 "레벨들" 은 각각의 프로파일 내에 규정될 수도 있다. 티어의 레벨은 비트스트림에서의 신택스 엘리먼트들의 값들에 가해지는 규정된 제약들의 세트일 수도 있다. 이들 제약들은 값들에 대한 간단한 한계들일 수도 있다. 대안적으로, 제약들은 값들의 산술적 조합들 (예컨대, 픽처 폭 곱하기 픽처 높이 곱하기 초 당 디코딩된 픽처들의 개수) 에 관한 제약들의 유형을 취할 수도 있다. 일반적으로, 낮은 티어에 대해 규정된 레벨은 높은 티어에 대해 규정된 레벨보다 더 많이 속박된다.
m31430 에서 설명된 바와 같은 HEVC 확장판 디스크립터의 신택스가 아래에 재현된다. 표 X 에 뒤이은 패러그라프들은 HEVC 확장판 디스크립터의 의미들을 제공한다.
표 X - HEVC 확장판 디스크립터
Figure pct00009
num _operation_points - 8-비트 필드는 이 디스크립터에서의 규정된 동작 지점들의 수를 규정한다.
profile_space - 2-비트 필드는 0 내지 31 의 범위인 i 의 모든 값들에 대해 profile_idc 의 해석을 위한 상황을 규정한다. profile_space 는 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 또는 하위 조항 G.11 에 또는 하위 조항 H.11 에 규정된 값들과는 다른 값들을 할당받지 않아야 한다. profile_idc 의 다른 값들은 ITU-T | ISO/IEC 에 의해 미래 사용을 위해 예약된다.
tier_flag - 1-비트 필드는 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 또는 하위 조항 G.11 또는 하위 조항 H.11 에 규정된 바와 같이 level_idc 의 해석을 위한 티어 상황을 규정한다.
profile_idc - profile_space 가 0 과 동일할 때, CVS 가 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 에 규정된 바와 같이 따르는 프로파일을 표시하는 5-비트 필드. profile_idc shall 은 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 또는 G.11 또는 H.11 에 규정된 값들과는 다른 값들을 할당받지 않아야 한다. profile_idc 의 다른 값들은 ITU-T | ISO/IEC 에 의해 미래 사용을 위해 예약된다.
profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc - HEVC 확장판 비디오 디스크립터가 HEVC 확장판 비디오 스트림에 적용될 때, 이들 필드들은 대응하는 HEVC 비디오 스트림 또는 HEVC 확장판 비디오 스트림 또는 HEVC 완전 시간 표현에 대해, general_profile_space, general_tier_flag, general_profile_idc, general_profile_compatibility_flag[i], general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag, general_frame_only_constraint_flag, general_reserved_zero_44bits, general_level_idc 에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 의미들에 따라서 각각 코딩되어야 하며, 그리고, HEVC 비디오 디스크립터가 연관되는 전체 HEVC 비디오 스트림 또는 HEVC 완전 시간 표현은 이들 필드들에 의해 시그널링된 정보에 따라야 한다.
level_idc - 8-비트 필드는 CVS 가 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A, G.11 또는 H.11 에 규정된 바와 같이 따르는 레벨을 나타낸다. level_idc 는 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A, G.11 또는 H.11 에 규정된 값들과는 다른 level_idc 의 값들을 할당받지 않아야 한다. level_idc 의 다른 값들은 ITU-T | ISO/IEC 에 의해 미래 사용을 위해 예약된다.
max_temporal_id - 3-비트 필드는 i-번째 동작 지점에서의 계층들의 NAL 유닛들의 최고 TemporalId 를 규정한다.
reserved_zero_5bits - '0' 의 값으로 예약된 5-비트 필드.
hevc _output_layer_flag - 1-비트 필드는, 값 '1' 로 할당될 때, i 와 동일한 nuh_layer_id 를 가지는 계층이 출력 계층 세트에 속하고 i-번째 동작 지점이 디코딩될 때에 출력을 위해 요구된다는 것을 나타낸다. 값 '0' 으로 할당될 때, i 와 동일한 nuh_layer_id 를 가지는 계층은 출력 계층 세트에 속하지 않는다. i-번째 hevc_output_layer_flag 가 '1' 과 동일할 때, i-번째 hevc_layer_present_flag 의 값은 '1' 과 동일하여야 한다.
average_ bitrate - 16-비트 필드는 i-번째 동작 지점에 대응하는 HEVC 확장판 비디오 스트림의 평균 비트 레이트를, 초 당 kbit 로 나타낸다.
maximum_ bitrate - 16-비트 필드는 i-번째 동작 지점에 대응하는 HEVC 확장판 비디오 스트림의 최대 비트 레이트를, 초 당 kbit 로 나타낸다.
frame_rate - 16-비트 필드는 i-번째 동작 지점에 대응하는 HEVC 확장판 비디오 스트림의 최대 프레임 레이트를, 프레임들/256 초로 나타낸다.
MPEG 입력 문서 m31430 에서, MPEG-2 전송 스트림 또는 프로그램 스트림에서 정의된 바와 같은 다수의 기본 스트림들로부터의 픽처들의 버퍼 관리는 제공되어 있지 않다. 예를 들어, MPEG 입력 문서 m31430 은 멀티-계층 HEVC 에 대한 (예컨대, SHVC, MV-HEVC, 또는 3D-HEVC 에 대한) 전송 스트림 시스템 목표 디코더 (T-STD) 모델들 또는 프로그램 스트림 시스템 목표 디코더 모델들을 기술하지 않는다. 그 결과, 기존 버퍼링 모델들은 멀티-계층 HEVC 와 호환불가능할 수도 있다.
본 개시물은 MPEG 입력 문서 m31430 에 기초한 HEVC 확장판 비트스트림들의 운반을 위한 기법들을 제공한다. 본 개시물의 기법들은 별개로 또는 서로 조합하여 사용될 수도 있다.
본 개시물의 제 1 기법에 따르면, (전송 스트림 시스템 목표 디코더 (T-STD) 모델들 및 프로그램 스트림 시스템 목표 디코더 (P-STD) 모델들을 포함한) SHVC, MV-HEVC 및 3D-HEVC 버퍼 모델들은 동일한 계층 기반의 모델로 통합된다. 다시 말해서, 하나의 T-STD 모델이 SHVC, MV-HEVC 및 3D-HEVC 에 적용될 수도 있으며 하나의 P-STD 모델이 SHVC, MV-HEVC 및 3D-HEVC 에 적용될 수도 있다. 하나의 대안예에서, 이러한 모델들은 H.264 에 대한 MVC 에 대해 이루어지는 바와 같은 T-STD 모델 및 P-STD 모델과 유사한 방법으로 설계될 수 있다.
이러한 방법으로, 비디오 디코더 (30) 는 버퍼 모델 (예컨대, P-STD 모델 또는 T-STD 모델) 에서, 데이터 스트림 (즉, 전송 스트림 또는 프로그램 스트림) 의 복수의 기본 스트림들로부터 액세스 유닛을 조립할 수도 있다. 비디오 디코더 (30) 는 기본 스트림들이 SHVC, MV-HEVC, 또는 3D-HEVC 비트스트림들을 포함하는지 여부에 관계없이 동일한 버퍼 모델을 이용한다. 그 후에, 비디오 디코더 (30) 는 액세스 유닛을 디코딩할 수도 있다. 다시 말해서, 비디오 디코더 (30) 는 액세스 유닛의 코딩된 픽처들을 디코딩할 수도 있다.
위에서 나타낸 바와 같이, 전송 스트림들 및 프로그램 스트림들은 PES 패킷들의 개개의 시리즈를 포함한다. 전송 스트림 또는 프로그램 스트림의 각각의 개개의 PES 패킷은 복수의 기본 스트림들에서의 기본 스트림과 연관된다. 따라서, 전송 스트림 또는 프로그램 스트림은 복수의 기본 스트림들을 포함한다고 말할 수도 있다. 기본 스트림들은 비디오 스트림들, 오디오 스트림들, 및 사설 스트림들을 포함할 수도 있다. 본 개시물의 하나 이상의 기법들에 따르면, 비트스트림의 각각의 개개의 계층의 각각의 개개의 시간 서브-계층은 상이한 기본 스트림에 대응할 수도 있다. 이것은 미디어 인지 네트워크 엘리먼트 (MANE) 또는 다른 디바이스로 하여금, PES 패킷들의 페이로드들에서의 HEVC 데이터를 파싱하거나 해석함이 없이, 특정의 계층들 및 특정의 시간 서브-계층들과 연관된 PES 패킷들을 선택적으로 포워딩하도록 할 수도 있다. 대신, MANE 또는 다른 디바이스가 PES 패킷 헤더들에서의 데이터 및 전송 스트림 또는 프로그램 스트림의 프로그램 특정의 정보에서의 여러 디스크립터들 (예컨대, HEVC 계층구조 디스크립터들, HEVC 확장판 디스크립터들, 등) 에서의 데이터에 기초하여, 특정의 PES 패킷들을 포워딩할지 여부를 결정가능할 수도 있다.
목표 디코더 (예컨대, 비디오 디코더 (30)) 는 액세스 유닛의 픽처들을 디코딩하기 전에 비트스트림의 액세스 유닛들을 재조립해야 할 수도 있다. 다시 말해서, 목표 디코더는 액세스 유닛의 픽처들을 디코딩하는데 요구되는 데이터가 액세스 유닛에 대한 디코딩 시간에서 이용가능하도록 보장해야 할 수도 있다. 전송 스트림들은 전송 패킷들에서 에러들 (예컨대, 손실 PES 패킷들, 지터, 변조 (corruption), 등) 이 있을 수도 있는, 잠재적으로 에러가 나기 쉬운 채널들 (예컨대, 인터넷) 을 통한 프로그램들의 전달을 위해 의도된다. 그러므로, 목표 디코더가 전송 스트림으로부터의 비디오를 디코딩하고 있을 때, 목표 디코더는 액세스 유닛의 픽처들을 디코딩하는데 요구되는 데이터가 즉시 이용가능하다고 가정할 수 없다. 대신, 목표 디코더는 전송 스트림의 각각의 프로그램에 대한 버퍼링 모델을 구현할 수도 있다. 전송 스트림에 버퍼링 모델은 프로그램과 연관된 각각의 개개의 기본 비디오 스트림 (즉, 비디오 스트림을 포함하는 기본 스트림) 에 대한 버퍼들의 개개의 세트를 포함할 수도 있다.
본 개시물의 제 1 기법의 일 예에 따르면, 기본 비디오 스트림 n 에 대한 버퍼들의 세트는 기본 비디오 스트림에 대한 전송 버퍼 TBn, 기본 비디오 스트림에 대한 멀티플렉싱 버퍼 MBn, 및 기본 비디오 스트림에 대한 HEVC 계층 픽처 서브세트 버퍼 VSBn 을 포함할 수도 있다. 목표 디코더가 전송 스트림의 PES 패킷들을 수신함에 따라서, 목표 디코더는 상이한 기본 스트림들에 속하는 전송 스트림의 PES 패킷들이 상이한 전송 버퍼들에 저장되도록 전송 스트림을 디멀티플렉싱한다. 다시 말해서, 프로그램과 연관된 각각의 개개의 기본 스트림에 대해, 비디오 코더는 개개의 기본 스트림에 속하는 전송 스트림의 각각의 개개의 PES 패킷에 대해, 개개의 PES 패킷을 개개의 기본 스트림에 대한 버퍼 (예컨대, 전송 버퍼) 에 저장할 수도 있다. 따라서, 기본 스트림 n 에 대한 전송 버퍼 TBn 는 기본 비디오 스트림 n 에 속하는 전송 패킷들을 수신한다.
목표 디코더는 레이트 Rxn 에서 전송 버퍼로부터 전송 패킷들을 제거한다. 전송 버퍼 TBn 에 어떤 데이터도 존재하지 않으면, 레이트 Rxn 은 0 이다. 그렇지 않고, 전송 버퍼 TBn 에 데이터가 존재하면, 레이트 Rxn 은 비트 레이트와 동일하다. 본 개시물에서 다른 어딘가에서 설명된 바와 같이, 목표 디코더는 제 1 인자 (즉, CpbBrNalFactor), 제 2 인자 (즉, CpbBrVclFactor), 및 제 3 인자 (즉, BitRate[ SchedSelIdx ]) 에 기초하여 비트 레이트를 결정할 수도 있다. 제 1, 제 2, 및 제 3 인자들은 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된다.
목표 디코더가 기본 스트림 n 에 대한 전송 버퍼 TBn 으로부터 전송 패킷을 제거할 때, 목표 디코더는 전송 패킷을 기본 스트림 n 에 대한 멀티플렉싱 버퍼 MBn 에 추가한다. 목표 디코더는 멀티플렉싱 버퍼 MBn 로부터 한번에 한 바이트씩 데이터를 제거한다. 목표 디코더가 멀티플렉싱 버퍼 MBn 로부터 바이트를 제거할 때, 목표 디코더는 그 바이트가 PES 패킷 (예컨대, 전송 패킷) 헤더 바이트에 없으면 그 바이트를 기본 스트림 n 에 대한 HEVC 계층 픽처 서브세트 버퍼 VSBn 에 삽입한다.
따라서, 프로그램과 연관된 각각의 개개의 기본 스트림에 대해, 목표 디코더는 개개의 기본 스트림에 대한 전송 버퍼로부터 PES 패킷들을 제거할 수도 있다. 더욱이, 목표 디코더는 개개의 기본 스트림에 대한 멀티플렉싱 버퍼에, 개개의 기본 스트림에 대한 전송 버퍼로부터 제거된 PES 패킷들을 저장할 수도 있다. 목표 디코더는 개개의 기본 스트림에 대한 멀티플렉싱 버퍼로부터 바이트들을 제거할 수도 있다. 더욱이, 목표 디코더는 개개의 기본 스트림에 대한 HEVC 계층 픽처 서브세트 버퍼에, 개개의 기본 스트림에 대한 멀티플렉싱 버퍼로부터 제거된 바이트들을 저장할 수도 있다.
이러한 방법으로, HEVC 계층 픽처 서브세트 버퍼 VSBn 은 전송 패킷들의 페이로드 바이트들을 수신한다. HEVC 계층 픽처 서브세트 버퍼 VSBn 은 HEVC 계층 픽처 서브세트들에 대한 조립 지점으로서 기능한다. 본 개시물에서 사용될 때, HEVC 계층 픽처 서브세트는 계층 식별자 세트 (즉, 계층 식별자 값들의 세트) 와 연관된 액세스 유닛의 HEVC 계층 픽처들의 세트이다. HEVC 계층 픽처는 (아래에 재현된) N13656 의 섹션 2.17.1 에 규정된 제약들을 가지는 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에 정의된 바와 같은 코딩된 픽처이다.
목표 디코더는 액세스 유닛에 대한 디코딩 시간에서 HEVC 계층 픽처 서브세트 버퍼 VSBn 로부터 액세스 유닛에 대응하는 데이터를 제거한다. 예를 들어, 액세스 유닛 AH(j) 의 픽처들을 디코딩하기 위해, 목표 디코더는 기본 스트림 n 에 대한 HEVC 계층 픽처 버퍼 VSBn 으로부터, 디코딩 시간 tdn(jn) 에 대응하는 HEVC 계층 픽처 서브세트 VSn(jn) 을 제거할 수도 있다. tdn(jn) 은 기본 스트림 n 에 대한 HEVC 계층 픽처 서브세트 VSn(jn) 의 목표 디코더에서, 초로 측정된, 디코딩 시간을 나타낸다. jn 은 HEVC 계층 픽처 서브세트 VSn(jn) 을 정의하는 계층 식별자 세트에의 인덱스이다. 게다가, 목표 디코더는 기본 스트림들 n+1 내지 n+m 에 대한 HEVC 계층 픽처 버퍼들 VSBn+1 내지 VSBn +m 로부터, HEVC 계층 픽처 서브세트들 VSn +1(jn +1) 내지 VSn +m(jn +m) 을 제거하며, 여기서, HEVC 계층 픽처 서브세트들 VSn+1(jn+1) 내지 VSn+m(jn+m) (즉, tdn +1(jn +1) 내지 tdn+m(jn+m)) 에 대한 디코딩 시간들은 tdn(jn) 과 동일하다. 액세스 유닛은 VSBn 으로부터 VSBn+m 까지 제거된 HEVC 계층 서브세트들의 조합일 수도 있다.
이러한 방법으로, 프로그램과 연관된 각각의 개개의 기본 스트림에 대해, 버퍼 모델은 개개의 기본 스트림에 대한 버퍼 (예컨대, HEVC 계층 픽처 버퍼) 를 포함한다. 액세스 유닛은 개개의 기본 스트림에 대한 개개의 HEVC 계층 픽처 서브세트를 포함한다. 개개의 HEVC 계층 픽처 서브세트는 개개의 계층 식별자 세트와 연관되는 액세스 유닛의 HEVC 계층 픽처들을 포함한다. HEVC 계층 픽처들의 각각은 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에 정의된 바와 같은 코딩된 픽처이다. 프로그램과 연관된 각각의 개개의 기본 스트림에 대해, 목표 디코더는 개개의 기본 스트림에 대한 버퍼로부터, 개개의 기본 스트림에 대한 개개의 HEVC 계층 픽처 서브세트를 제거할 수도 있다. 목표 디코더는 액세스 유닛에 개개의 HEVC 계층 픽처 서브세트를 포함시킬 수도 있다.
프로그램 스트림에 대한 버퍼링 모델 (즉, P-STD 모델) 은, 프로그램 스트림에서의 PES 패킷들이 전송 스트림들과 연관된 에러들 (예컨대, 지터, 손실, 등) 없이 이용가능하다고 목표 디코더가 가정할 수 있기 때문에, 전송 스트림에 대한 버퍼링 모델 (즉, T-STD 모델) 보다 더 간단할 수도 있다. 본 개시물의 하나 이상의 기법들에 따르면, 비트스트림의 각각의 개개의 계층의 각각의 개개의 시간 서브-계층은 프로그램 스트림의 상이한 기본 스트림에 대응할 수도 있다. 더욱이, P-STD 모델은 프로그램 스트림의 각각의 개개의 기본 스트림에 대한 HEVC 계층 픽처 서브세트 버퍼를 포함할 수도 있다. 목표 디코더가 프로그램 스트림의 PES 패킷들을 수신함에 따라서, 목표 디코더는 상이한 기본 스트림들에 속하는 PES 패킷들이 상이한 HEVC 계층 픽처 서브세트 버퍼들에 저장되도록 프로그램 스트림을 디멀티플렉싱한다. 목표 디코더는 HEVC 계층 픽처 서브세트 버퍼들로부터 액세스 유닛에 대응하는 데이터를 전송 스트림들에 대해 위에서 설명한 방법과 동일한 방법으로 제거할 수도 있다.
일부 예들에서, 목표 디코더는 수신된 전송 스트림들 또는 프로그램 스트림들의 콘텐츠에 따라서, 상이한 버퍼 모델들을 이용한다. 예를 들어, 프로그램에 HEVC 계층들의 세트가 존재한다고, 그리고, ITU-T 권고안 H.265 | ISO/IEC 23008-2 의 부속서 G 또는 부속서 H 에 정의된 바와 같은 하나 이상의 프로파일들에 부합하는 HEVC 확장판 비디오 스트림인 복수의 기본 스트림들에 적어도 하나의 HEVC 계층화된 비디오 서브-비트스트림이 존재한다고 결정하는 것에 응답하여, 목표 디코더는 액세스 유닛을 조립할 때에 사용하기 위해 본 개시물의 제 1 기법에 대해 설명된 버퍼 모델을 선택할 수도 있다.
본 개시물의 예시적인 제 2 기법에 따르면, 각각의 HEVC 계층화된 비디오 스트림은 T-STD 모델 및/또는 P-STD 모델을 가질 수 있다. HEVC 계층화된 비디오 서브-비트스트림은 하나 이상의 HEVC 계층화된 비디오 서브-스트림들로부터 조립될 수도 있으며, HEVC 확장판 디스크립터에 동작 지점으로 표현된다. 다시 말해서, HEVC 계층화된 비디오 스트림은 동작 지점에 대응하며, HEVC 계층화된 비디오 서브-비트스트림들으로부터 조립된다. HEVC 계층화된 비디오 서브-비트스트림은 nuh_layer_id (계층 식별자) 의 동일한 값을 가지는 VCL NAL 유닛들 및 그들의 연관된 비-VCL NAL 유닛들을 포함하는 다수의 HEVC 비디오 계층 서브-비트스트림들을 포함한다. 예를 들어, HEVC 계층화된 비디오 서브-비트스트림은 HEVC 확장판 비디오 스트림의 HEVC 계층 세트에 속하는 nuh_layer_id 를 가지는 모든 VCL NAL 유닛들, 및 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 F 또는 부속서 G 에 정의된 하나 이상의 프로파일들에 따르는 연관된 비-VCL NAL 유닛들이 되도록 정의될 수도 있다. T-STD 및 P-STD 는 본 개시물에서 위에서 그리고 다른 어딘가에 설명된 방법으로 동작할 수도 있다. 따라서, 일부 예들에서, 비디오 디코더 (30) 는 비디오 데이터 스트림의 각각의 개개의 HEVC 계층화된 비디오 스트림에 대한 버퍼 모델의 별개의 인스턴스들을 이용하여 액세스 유닛들을 조립할 수도 있다. 이러한 예들에서, 각각의 개개의 HEVC 계층화된 비디오 스트림은 복수의 HEVC 비디오 계층 서브-비트스트림들을 포함하며, 그리고 복수의 HEVC 비디오 계층 서브-비트스트림들의 각각의 개개의 HEVC 비디오 계층 서브-비트스트림은 동일한 계층 식별자 값을 가지는 VCL NAL 유닛들을 포함한다.
앞에서 나타낸 바와 같이, 계층구조 확장판 디스크립터는 계층적으로-코딩된 비디오, 오디오, 및 사설 스트림들의 구성요소들을 포함하는 프로그램 엘리먼트들을 식별하는 정보를 제공하는 디스크립터이다. 다시 말해서, 계층구조 확장판 디스크립터는 계층구조 확장판 디스크립터에 대응하는 프로그램 엘리먼트에 관한 정보를 제공한다. 계층구조 확장판 디스크립터는 디코딩 순서에서, 계층구조 확장판 디스크립터와 연관된 기본 스트림의 디코딩 전에 액세스되어 존재해야 하는 각각의 직접 의존적인 프로그램 엘리먼트에 대한 hierarchy_ext_embedded_layer_index 필드를 포함할 수도 있다. 다시 말해서, 계층구조 확장판 디스크립터는 복수의 hierarchy_ext_embedded_layer_index 필드들을 포함할 수도 있다. 계층구조 확장판 디스크립터의 각각의 개개의 hierarchy_ext_embedded_layer_index 필드는 대응하는 프로그램 엘리먼트 (즉, 계층구조 확장판 디스크립터에 대응하는 프로그램 엘리먼트) 에 대한 개개의 직접 의존적인 프로그램 엘리먼트를 식별한다. 대응하는 프로그램 엘리먼트에 대한 개개의 직접 의존적인 프로그램 엘리먼트는, 목표 디코더가 대응하는 프로그램 엘리먼트를 디코딩할 수 있기 전에 목표 디코더에 이용가능해야 하는 프로그램 엘리먼트이다. 예를 들어, 대응하는 프로그램 엘리먼트는 비-기초 계층에 대한 데이터를 포함할 수도 있으며, 개개의 직접 의존적인 프로그램 엘리먼트는 기초 계층에 대한 데이터를 포함할 수도 있다. 개개의 프로그램 엘리먼트들이 개개의 계층들에 대응할 수도 있기 때문에, 계층구조 확장판 디스크립터의 각각의 개개의 hierarchy_ext_embedded_layer_index 는 계층구조 확장판 디스크립터에 대응하는 계층을 디코딩하는데 요구되는 개개의 참조 계층을 식별할 수도 있다. 이러한 방법으로, 액세스 유닛을 조립할 때, 목표 디코더는 현재의 동작 지점의 출력 계층에 대응하는 디스크립터에서의 하나 이상의 필드들에 기초하여, 현재의 동작 지점의 출력 계층을 디코딩하는데 요구되는 참조 계층들을 식별할 수도 있다.
본 개시물의 제 3 기법에 따르면, T-STD 또는 P-STD 모델에서의 다수의 스트림들로부터 액세스 유닛 내 HEVC 계층 픽처들을 조립할 때, 연관된 계층구조 확장판 디스크립터에 표시된 hierarchy_ext_embedded_layer_index 값들이 현재의 동작 지점의 출력 계층들을 디코딩하는데 요구되는 참조 계층들을 식별하는데 사용된다. 예를 들어, j-번째 액세스 유닛 AH(j) 를 재조립할 때, 목표 디코더는 전송 스트림 또는 프로그램 스트림에서 프로그램의 각각의 프로그램 엘리먼트에 대한 HEVC 계층 픽처 서브세트 버퍼들로부터 HEVC 계층 픽처 서브세트들을 수집할 수도 있다. 목표 디코더는 다음이 적용되는 경우, HEVC 계층 픽처 서브세트들을 수집한다:
Figure pct00010
값 y 는 계층 식별자를 나타낸다. 값 y 는 0 보다 크거나 같다.
Figure pct00011
HEVC 계층 픽처 서브세트 VSy +1(jy +1) 은 계층 y+1 에 대한 프로그램 엘리먼트에 대응한다. y ≥ 0 이기 때문에, 계층 식별자 y+1 을 가지는 계층은 비-기초 계층이다.
Figure pct00012
tdy +1(jy +1) 은 VSy+1(jy+1) 에 대한 디코딩 시간 스탬프 (DTS) 값을 표시한다.
Figure pct00013
계층구조 확장판 디스크립터는 계층 y+1 에 대한 프로그램 엘리먼트 (즉, 대응하는 프로그램 엘리먼트) 에 대응한다.
Figure pct00014
계층구조 확장판 디스크립터는 제로 이상의 hierarchy_ext_embedded_layer_index 필드들을 포함한다.
Figure pct00015
각각의 개개의 hierarchy_ext_embedded_layer_index 필드에 대해:
o 개개의 hierarchy_ext_embedded_layer_index 필드는 대응하는 프로그램 엘리먼트에 대한 개개의 직접 의존적인 프로그램 엘리먼트를 식별하는 개개의 값을 갖는다.
o VSy(jy) 는 개개의 직접 의존적인 프로그램 엘리먼트에 대응하는 HEVC 계층 픽처 서브세트이다.
o tdy(jy) 는 VSy(jy) 에 대한 DTS 값이다.
o tdy(jy) 는 tdy+1(jy+1) 와 동일하다.
본 개시물의 제 4 기법에 따르면, 현재의 HEVC MPEG-2 시스템들에서와 같은 HEVC 타이밍 및 HRD 디스크립터가 각각의 동작 지점에 대해 존재할 수 있다. 다시 말해서, 각각의 개개의 동작 지점에 대해, 개개의 HEVC 타이밍 및 HRD 디스크립터가 존재할 수 있다. HEVC 타이밍 및 HRD 디스크립터는 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이, 연관된 HEVC 비디오 스트림 또는 그의 HEVC 최고 시간 서브-계층 표현에 대한, 타이밍 및 HRD 파라미터들을 각각 제공한다. HEVC 타이밍 및 HRD 디스크립터의 예시적인 신택스는 아래에 섹션 2.6.95 에 제공된다.
본 개시물의 제 4 기법의 일 예에서, HEVC_extension_descriptor 에서, 각각의 동작 지점의 루프에서, HEVC 타이밍 및 HRD 디스크립터가 존재할 수 있다. 위에 나타낸 바와 같이, HEVC 확장판 디스크립터는 includes 루프 (즉, "for( i=0; i < num_operation_points; i++) { … }") 를 포함하며, 여기서, 루프의 각각의 개개의 반복 (iteration) 은 개개의 동작 지점에 대한 일련의 엘리먼트들 (예컨대, profile_space, tier_flag, profile_idc, 등) 에 대응한다. 이 예에서, 개개의 동작 지점에 대한 엘리먼트들은 HEVC 타이밍 및 HRD 디스크립터를 더 포함한다.
본 개시물의 제 4 기법의 다른 예에서, HEVC 타이밍 및 HRD 디스크립터는 디코딩될 계층들의 동일한 계층 식별자 세트를 공유하는 동작 지점들에 대해 단지 한번만 존재한다. 다른 예에서, HEVC 타이밍 및 HRD 디스크립터는 모든 출력 계층 세트들의 모든 동작 지점들에 대해 단지 한번만 존재한다.
본 개시물의 제 5 기법은 계층 픽처 구분문자 NAL 유닛을 수반한다. 계층 픽처 구분문자 NAL 유닛은 HEVC 에서의 NAL 유닛 헤더와 동일한 동일한 신택스 구조를 포함할 수도 있으며, 다음 신택스 엘리먼트들: forbidden_zero_bit, nal_unit_type, nuh_layer_id, 및 nuh_temporal_id_plus1 을 가질 수도 있다. forbidden_zero_bit 신택스 엘리먼트는 0 과 항상 동일한 1-비트 신택스 엘리먼트이다. nal_unit_type 신택스 엘리먼트는 NAL 유닛에 포함되는 RBSP 데이터 구조의 형태를 규정한다. nuh_layer_id 신택스 엘리먼트는 NAL 유닛이 속하는 계층의 식별자를 규정한다. 상이한 값들을 규정하는 nuh_layer_id 신택스 엘리먼트들을 가지는 NAL 유닛들은 비트스트림의 상이한 계층들에 속한다. nuh_temporal_id_plus1 신택스 엘리먼트, 마이너스 1 은, NAL 유닛에 대한 시간 식별자를 규정한다.
본 개시물의 제 5 기법의 일부 예들에 따르면, 계층 픽처 구분문자 NAL 유닛의 nal_unit_type 신택스 엘리먼트는 0x30 (즉, 48) 으로 설정된다. 다른 예들에서, 계층 픽처 구분문자 NAL 유닛의 nal_unit_type 신택스 엘리먼트는 0x30 내지 0x3F (즉, 48 내지 63) 의 범위에서의 값을 갖는다. HEVC 사양은 0x30 내지 0x3F 의 범위에서의 값들을 "미규정됨 (unspecified)" 으로서 마크한다.
본 개시물의 제 5 기법의 일부 예들에 따르면, 계층 픽처 구분문자 NAL 유닛에서의 nuh_layer_id 및 nuh_temporal_id_plus1 신택스 엘리먼트들은 계층 픽처 구분문자 NAL 유닛에 바로 뒤따르는 VCL NAL 유닛들과 연관된 픽처의 nuh_layer_id 및 nuh_temporal_id_plus1 신택스 엘리먼트들과 동일하게 설정된다. 0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림 (즉, ITU-T 권고안 H.264 | ISO/IEC 23008 의 부속서 G 또는 부속서 H 에 정의된 바와 같은 하나 이상의 프로파일들에 부합하는 HEVC 확장판 비디오 스트림을 포함하는 기본 스트림) 에서, 정확히 하나의 LPD_nal_unit (즉, 계층 프리젠테이션 구분문자 NAL 유닛) 은 LPD_nal_unit 의 값들과 동일한 nuh_layer_id 및 nuh_temporal_id_plus1 의 값들을 가지는 모든 NAL 유닛들보다 선행할 수도 있다. 다른 예들에서, 계층 픽처 구분문자 NAL 유닛에서 nuh_layer_id 및 nuh_temporal_id_plus1 신택스 엘리먼트들의 값들은 0 및 0 으로 고정된다. 더욱이, 일부 예들에서, 계층 픽처 구분문자 NAL 유닛의 nuh_temporal_id_plus1 신택스 엘리먼트는 계층 픽처 구분문자 NAL 유닛이 계층 픽처 구분문자 NAL 유닛이라는 것을 표시하기 위해 0 으로 설정된다. 일부 예들에서, 0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 정확히 하나의 LPD_nal_unit 는 LPD_nal_unit 의 값과 동일한 nuh_layer_id 의 값을 가지는 모든 NAL 유닛들보다 선행할 수도 있다. 일부 예들에서, 0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 정확히 하나의 LPD_nal_unit 이 최소 값이 LPD_nal_unit 의 nuh_layer_id 와 동일한 HEVC 계층 식별자 세트에 속하는 값을 가지는 모든 NAL 유닛들보다 선행할 수도 있다.
제안된 솔루션의 작업 초안 텍스트는 본 개시물에서 이 상세한 설명의 끝에 일 예로서 개시된다 (그리고, "정보 기술 -- 동화상들 및 관련 오디오 정보의 일반적인 코딩: 시스템들, 수정안 3, MPEG-2 시스템들을 통한 HEVC 비디오의 전송" 이란 제목이 붙여진다). 새로 추가된 텍스트는 굵은 이탤릭체 로 표시된다. 완전히 새로운 서브-섹션에 대해서는, 단지 서브-섹션 타이틀만이 굵은 이탤릭체 로 표시될 수도 있다. 사양 텍스트의 구현예는 MV-HEVC, SHVC 또는 3D-HEVC 와 같은 HEVC 계층화된 비디오가 아닌, 단지 HEVC 비디오의 전송만을 포함하는 MPEG 출력 문서 N13656 에 기초한다. 다음 텍스트는 도 X-1, X-2, 2-15, 및 X-4 을 참조한다. 도 X-1 은 본 개시물의 도 2 로서 나타내어진다. 따라서, 도 2 는 단일 계층 HEVC 에 대한 예시적인 T-STD 모델 확장판들을 예시하는 개념도이다. 도 X-2 는 본 개시물의 도 3 로서 나타내어진다. 따라서, 도 3 은 본 개시물의 하나 이상의 기법들에 따른, HEVC 시간 비디오 서브세트들의 계층화된 전송을 위한 예시적인 T-STD 모델 확장판들을 예시하는 개념도이다. 도 2 내지 도 15 는 본 개시물의 도 4 로서 나타내어진다. 따라서, 도 4 는 본 개시물의 하나 이상의 기법들에 따른, HEVC 계층화된 비디오 서브-비트스트림들을 가지는 권고안 ITU-T H.265 | ISO/IEC 23008-2 비디오에 대한 예시적인 T-STD 모델 확장판을 예시하는 개념도이다. 도 X-4 는 본 개시물의 도 5 로서 나타내어진다. 따라서, 도 5 는 본 개시물의 하나 이상의 기법들에 따른, HEVC 계층화된 비디오 서브-비트스트림들을 가지는 권고안 ITU-T H.265 | ISO/IEC 23008-2 비디오에 대한 예시적인 P-STD 모델 확장판들을 예시하는 개념도이다.
정보 기술 -- 동화상들 및 관련 오디오 정보의 일반적인 코딩: 시스템들
수정안 3
MPEG-2 시스템들을 통한 HEVC 비디오의 전송
조항 1.2.2
다음 참조사항들을 추가한다:
- 권고안 ITU-T H.265, 고효율 비디오 코딩
- ISO/IEC 23008-2, 정보 기술 - 이종적인 환경들에서의 고효율 코딩 및 매체들 전달 - 부분 2: 고효율 비디오 코딩
조항 2.1.95 내지 2.1.109
2.1.94 뒤에 다음 정의들을 추가한다:
2.1.95 HEVC 비디오 스트림: 권고안 ITU-T H. 265 | ISO/IEC 23008-2 부속서 B, 부속서 F 또는 부속서 G 에 규정된 바와 같은 바이트 스트림 . 이것은 HEVC 계층화된 비디오 스트림 또는 HEVC 기초 계층 비디오 서브- 비트스트림의 공통 용어 (joint term) 이다.
2.1.96 HEVC 액세스 유닛: 섹션 2.17.1 에 규정된 제약들을 가지는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같은 액세스 유닛.
2.1.97 HEVC 24-시간 픽처 (시스템): 미래에 24 시간 이상인 프리젠테이션 시간을 가지는 HEVC 액세스 유닛. 이 정의의 목적을 위해, HEVC 액세스 유닛 n 은 초기 도달 시간 tai(n) 과 DPB 출력 시간 to, dpb(n) 사이의 차이가 24 시간 이상이면 미래에 24 시간 이상인 프리젠테이션 시간을 갖는다.
2.1.98 HEVC 슬라이스: HEVC 독립적인 슬라이스 세그먼트, 및 동일한 HEVC 액세스 유닛 내에서 (있다면) 다음 HEVC 독립적인 슬라이스 세그먼트보다 선행하는 제로 이상의 후속 HEVC 의존적인 슬라이스 세그먼트들.
2.1.99 HEVC 슬라이스 세그먼트: 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이 0 내지 9 및 16 내지 23 의 범위에서의 nal_unit_type 을 가지는 byte_stream_nal_unit.
2.1.100 HEVC 의존적인 슬라이스 세그먼트: 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이 1 과 동일한 값으로 설정된 슬라이스 헤더에서 신택스 엘리먼트 dependent_slice_segment_flag 를 가지는 HEVC 슬라이스 세그먼트.
2.1.101 HEVC 독립적인 슬라이스 세그먼트: 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된 바와 같이 0 으로 설정되거나 또는 0 과 동일한 것으로 추론되는 슬라이스 헤더에서 신택스 엘리먼트 dependent_slice_segment_flag 를 가지는 HEVC 슬라이스 세그먼트.
2.1.102 슬라이스들의 HEVC 타일: 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된 바와 같은 타일의 코딩된 표현을 형성하는 하나 이상의 연속된 HEVC 슬라이스들.
2.1.103 HEVC 정지 화상 (시스템): HEVC 정지 화상은 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이, 이 IDR 픽처를 정확하게 디코딩하기에 충분한 정보를 운반하는, VPS, SPS 및 PPS NAL 유닛들보다 앞서는 IDR 픽처를 포함하는 HEVC 액세스 유닛으로 이루어진다. HEVC 정지 화상보다 선행하여, 다른 HEVC 정지 화상 또는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된 바와 같은, 선행하는 코딩된 비디오 시퀀스를 종결시키는 시퀀스 NAL 유닛의 단부 (End of Sequence NAL unit) 가 있어야 한다.
2.1.104 HEVC 비디오 시퀀스 (시스템): 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된 바와 같은 코딩된 비디오 시퀀스.
2.1.105 HEVC 비디오 서브- 비트스트림: 그들의 원래 순서에서의 HEVC 비디오 스트림의 NAL 유닛들의 서브세트.
2.1.106 HEVC 시간 비디오 서브- 비트스트림: 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 0 과 동일한 TemporalId 와 연관된, 시간 서브-계층의 모든 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들을 포함하며, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 1 로부터 활성 시퀀스 파라미터 세트에 포함된 sps_max_sub_layers_minus1 과 동일하거나 또는 더 작은 값까지의 TemporalId 의 인접한 범위와 연관된 모든 시간 서브-계층들의 모든 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들을 추가적으로 포함할 수도 있는, HEVC 비디오 서브- 비트스트림.
2.1.107 HEVC 시간 비디오 서브세트: 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 하나 이상의 시간 서브-계층들의 모든 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들을 포함하고, 각각의 시간 서브-계층이 대응하는 HEVC 시간 비디오 서브- 비트스트림에 존재하지 않으며 TemporalId 가 인접한 값들의 범위를 형성하는 각각의 시간 서브-계층과 연관되는, HEVC 비디오 서브- 비트스트림.
주 X1 2.17.1 에 규정된 HEVC 의 전송에 대한 제약들에 따르면, HEVC 비디오 스트림의 각각의 시간 서브-계층은, 계층구조 디스크립터들과 연관되는 기본 스트림들의 세트에서 운반되는, HEVC 시간 비디오 서브- 비트스트림에, 또는 정확히 하나의 HEVC 시간 비디오 서브세트에 존재한다. 이것은 동일한 시간 서브-계층의 다수의 포함을 방지하고, 2.17.3 에 규정된 바와 같은 계층구조 디스크립터들에 따라서 연관된 HEVC 시간 비디오 서브세트들과의 HEVC 시간 비디오 서브- 비트스트림의 집성을 가능하게 한다.
2.1.108 HEVC 최고 시간 서브-계층 표현: 연관된 HEVC 시간 비디오 서브- 비트스트림 또는 HEVC 시간 비디오 서브세트에서, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같은, TemporalId 의 최고 값을 가지는 시간 서브-계층의 서브-계층 표현.
2.1.109 HEVC 완전 시간 표현: 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같이, 활성 시퀀스 파라미터 세트에 포함된 바와 같은 sps_max_sub_layers_minus1+1 과 동일한 TemporalId 를 가지는 시간 서브-계층까지의 모든 시간 서브-계층들을 포함하는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같은 서브-계층 표현.
[Ed. (CY): 새로 도입된 정의들은 재순서정렬되어야 한다.]
2.1.110 HEVC 계층 픽처 : 섹션 2.17.1 에 규정된 제약들을 가지는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에 정의된 바와 같은 코딩된 픽처. HEVC 계층 픽처는 특정의 nuh_layer_id 와 연관된다.
2.1.111 HEVC 계층 픽처 서브세트 : 계층 식별자 세트와 연관된 액세스 유닛의 HEVC 계층 픽처들.
2.1.112 HEVC 확장판 비디오 스트림 : 권고안 ITU-T H.265 | ISO/IEC 23008-2 G.11 또는 H.11 에 정의된 하나 이상의 프로파일들을 따르는 비디오 비트스트림. [Ed (CY): HEVC 비디오 스트림 또는 HEVC 계층화된 비디오 스트림으로 대체될 수 있다.]
2.1.113 HEVC 비디오 시퀀스 (시스템) : 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된 바와 같은 코딩된 비디오 시퀀스.
2.1.114 HEVC 기초 계층 : HEVC 확장판 비디오 스트림에서 0 과 동일한 nuh_layer_id 를 가지는 계층.
2.1.115 HEVC 기초 계층 비디오 서브- 비트스트림 : 0 과 동일한 nuh_layer_id 를 가지는 모든 VCL 및 비-VCL NAL 유닛들을 포함하는 비디오 서브-비트스트림.
2.1.116 HEVC 계층 : NAL 유닛 헤더 신택스 엘리먼트에서, 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에서 정의된 바와 같이, nuh_layer_id 의 특정의 값을 가지는 모든 VCL NAL 유닛들 및 연관된 비-VCL NAL 유닛들을 포함하는, HEVC 확장판 비디오 스트림의 계층.
2.1.117 HEVC 계층 식별자 세트 : nuh_layer_id 값들의 세트.
2.1.118 HEVC 계층 세트 : HEVC 계층 식별자 세트를 형성하는 nuh_layer_id 값들을 가지는 HEVC 계층들을 포함하는 비디오 서브-비트스트림.
2.1.119 HEVC 계층화된 비디오 스트림 : 하나 이상의 HEVC 계층화된 비디오 서브-스트림들로부터 조립되었을 수도 있으며 HEVC 확장판 디스크립터에 동작 지점으로서 표현되는 HEVC 계층화된 비디오 서브-비트스트림.
2.1.120 HEVC 계층화된 비디오 서브- 비트스트림 : HEVC 계층화된 비디오 서브-비트스트림은 HEVC 확장판 비디오 스트림의 HEVC 계층 세트에 속하는 nuh_layer_id 를 가지는 모든 VCL NAL 유닛들, 및 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 F (또는, 부속서 G) 에 정의된 하나 이상의 프로파일들을 따르는 연관된 비-VCL NAL 유닛들인 것으로 정의된다.
2.1.121 동작 지점 : 동작 지점은 목표 시간 레벨을 나타내는 temporal_id 값 및 목표 출력 계층들을 나타내는 nuh_layer_id 값들의 세트에 의해 식별된다. 하나의 동작 지점은 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 E 또는 부속서 G (부속서 H) 에 정의된 하나 이상의 프로파일들을 따르는 HEVC 기초 계층 비디오 서브-비트스트림, 또는 HEVC 계층화된 비디오 스트림과 연관된다.
조항 2.4.2.6
다음 2 개의 패러그라프들을 대체한다:
시스템 목표 디코더 버퍼들을 통한 임의의 데이터의 지연은 정지 화상 비디오 데이터 및 ISO/IEC 14496 스트림들을 제외하고는, 1 초 이하이어야 한다. 구체적으로 말하면: 모든 j 및 액세스 유닛 An(j) 에서의 모든 바이트들 i 에 대해, tdn(j) - t(i) ≤ 1 초 이다.
을,
시스템 목표 디코더 버퍼들을 통한 임의의 데이터의 지연은 정지 화상 비디오 데이터, ISO/IEC 14496 및 ISO/IEC 23008-2 스트림들을 제외하고는, 1 초 이하이어야 한다. 구체적으로 말하면: 모든 j 및 액세스 유닛 An(j) 에서의 모든 바이트들 i 에 대해, tdn(j) - t(i) ≤ 1 초 이다.
으로 , 대체한다.
ISO/IEC 14496 스트림들에 대해, 지연은 모든 j, 및 액세스 유닛 An(j) 에서의 모든 바이트들 i 에 대해, tdn(j) - t(i) ≤ 10 초로 속박된다.
를,
ISO/IEC 14496 및 ISO/IEC 23008-2 스트림들에 대해, 지연은 모든 j, 및 액세스 유닛 An(j) 에서의 모든 바이트들 i 에 대해, tdn(j) - t(i) ≤ 10 초로 속박된다.
으로 대체한다.
조항 2.4.2.11
2.4.2.10 바로 뒤에 다음을 새로운 하위 조항으로 추가한다:
2.4.2.11, HEVC 의 운반을 위한 T-STD 확장판들:
HEVC 비디오 스트림들의 디코딩을 위한 T-STD 확장판들 및 T-STD 파라미터들은 2.17.2 및 2.17.3 에 정의된다. P-STD 확장판들 및 P-STD 파라미터들을 포함한 프로그램 스트림 지원은 HEVC 비디오 스트림들에 대해 규정되지 않는다.
조항 2.4.3.5
discontinuity_ indicator 를 규정하는 섹션에서, "이 조항의 목적을 위해, 기본 스트림 액세스 지점은 다음과 같이 정의된다 (For the purpose of this clause, an elementary stream access point is defined as follows)" 로 시작된 불릿 표시된 리스트의 단부에 추가한다:
Figure pct00016
HEVC 비디오 스트림들 또는 HEVC 시간 비디오 서브-비트스트림들 - HEVC 액세스 유닛의 제 1 바이트. HEVC 비디오 시퀀스에서 이 및 모든 후속 HEVC 액세스 유닛들에서 참조되는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된 바와 같은, VPS, SPS 및 PPS 파라미터 세트들은, 바이트 스트림에서 이 액세스 지점 뒤에, 그리고 그들의 활성화 전에 제공되어야 한다.
elementary_stream_priority_ indicator 를 규정하는 섹션에, 다음을 추가한다:
HEVC 비디오 스트림들 또는 HEVC 시간 비디오 서브-비트스트림들 또는 HEVC 시간 비디오 서브세트들의 경우에, 이 필드는 단지 페이로드가 2 로 설정된 slice_type 을 가지는 슬라이스로부터의 하나 이상의 바이트들을 포함하는 경우에만 '1' 로 설정될 수도 있다. '0' 의 값은 페이로드가 '1' 로 설정된 이 비트를 가지지 않는 모든 다른 패킷들과 동일한 우선순위를 가진다는 것을 나타낸다.
조항 2.4.3.7
표 2-22, stream_id 할당들에서,
Figure pct00017
을,
Figure pct00018
으로 대체한다:
PTS ( 프리젠테이션 시간 스탬프) 를 규정하는 섹션에, 다음을 추가한다:
HEVC 비디오 스트림들, HEVC 시간 비디오 서브-비트스트림들 및 HEVC 시간 비디오 서브세트들에 대해, PTS 가 PES 패킷 헤더에 존재하면, PTS 는 이 PES 패킷에서 시작하는 제 1 HEVC 액세스 유닛을 참조해야 한다. 각각의 HEVC 액세스 유닛에 대해, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에서 정의된 바와 같은 STD 모델과 HRD 모델 사이에 일관성을 달성하기 위해, STD 에서의 PTS 값은 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이, HRD 에서의 공칭 DPB 출력 시간과 동일한 시점으로서, 그들의 개개의 클록들의 정확도 내에서, 표시해야 한다.
DTS (디코딩 시간 스탬프) 를 규정하는 섹션에, 다음을 추가한다:
HEVC 비디오 스트림들, HEVC 시간 비디오 서브-비트스트림들 및 HEVC 시간 비디오 서브세트들에 대해, DTS 가 PES 패킷 헤더에 존재하면, PTS 는 이 PES 패킷에서 시작하는 제 1 HEVC 액세스 유닛을 참조해야 한다. 각각의 HEVC 액세스 유닛에 대해, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에서 정의된 바와 같은 STD 모델과 HRD 모델 사이에 일관성을 달성하기 위해, STD 에서의 DTS 값은 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이, HRD 에서의 공칭 CPB 제거 시간 t r 과 동일한 시점으로서, 그들의 개개의 클록들의 정확도 내에서, 표시해야 한다.
조항 2.4.4.9
표 2-34, 스트림 유형 할당들에서,
Figure pct00019
을,
Figure pct00020
으로 대체한다.
조항 2.6.1
표 2- 45 를 다음으로 대체한다:
표 2-45 - 프로그램 및 프로그램 엘리먼트 디스크립터들
Figure pct00021
Figure pct00022
Figure pct00023

조항 2.6.6
표 2- 50 에서 값 15 에 대한 설명을 대체한다:
표 2-50 - hierarchy_type 필드 값들
Figure pct00024

조항 2.6.11
표 2-54 바로 뒤에 다음을 추가한다:
표 2-xx 는 PES 패킷 헤더에서의 data_alignment_indicator 가 '1' 의 값을 가질 때 HEVC 에 대한 정렬 유형을 기술한다.
표 2- xx - HEVC 비디오 스트림 정렬 값들
Figure pct00025
조항 2.6.88
AMD8 -1 을 다음으로 대체한다:
AMD8 -1 - 확장판 디스크립터
Figure pct00026

조항 2.6.89
AMD8 -2 바로 뒤에 다음을 추가한다:
HEVC _timing_and_ HRD _descriptor() - 이 구조는 2.6.95 및 2.6.96 에 정의된다.
AMD8 - 2 를 다음으로 대체한다:
AMD8 -2: 확장판 디스크립터 태그 값들
Figure pct00027

조항 2.6.93 내지 2.6.96
조항 2.6.92 바로 뒤에 새로운 하위 조항들로서 다음을 추가한다:
2.6.93 HEVC 비디오 디스크립터
HEVC 비디오 스트림에 대해, HEVC 비디오 디스크립터는 그 HEVC 비디오 스트림의 코딩 파라미터들, 예컨대 프로파일 및 레벨 파라미터들을 식별하는 기본적인 정보를 제공한다. HEVC 시간 비디오 서브-비트스트림 또는 HEVC 시간 비디오 서브세트에 대해, HEVC 비디오 디스크립터는 적용할 기본 스트림에 포함되는 연관된 HEVC 최고 시간 서브-계층 표현과 같은 정보를 제공한다.
표 X-1 - HEVC 비디오 디스크립터
Figure pct00028

2.6.94 HEVC 비디오 디스크립터에서의 필드들의 의미 정의
profile_space, tier_flag, profile_idc, profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc - HEVC 비디오 디스크립터가 HEVC 비디오 스트림에 또는 HEVC 완전 시간 표현에 적용되면, 이들 필드들은 대응하는 HEVC 비디오 스트림 또는 HEVC 완전 시간 표현에 대해, general_profile_space, general_tier_flag, general_profile_idc, general_profile_compatibility_flag[i], general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag, general_frame_only_constraint_flag, general_reserved_zero_44bits, general_level_idc 에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 의미들을 따라서 각각 코딩되어야 하며, 그리고, HEVC 비디오 디스크립터가 연관되는 전체 HEVC 비디오 스트림 또는 HEVC 완전 시간 표현은 이들 필드들에 의해 시그널링된 정보를 따라야 한다.
HEVC 비디오 디스크립터가 대응하는 HEVC 최고 시간 서브-계층 표현이 HEVC 완전 시간 표현이 아닌 HEVC 시간 비디오 서브-비트스트림 또는 HEVC 시간 비디오 서브세트에 적용될 때, 이들 필드들은 대응하는 HEVC 최고 시간 서브-계층 표현에 대해, sub_layer_profile_space, sub_layer_tier_flag, sub_layer_profile_idc, sub_layer_profile_compatibility_flag[i], sub_layer_progressive_source_flag, sub_layer_interlaced_source_flag, sub_layer_non_packed_constraint_flag, sub_layer_frame_only_constraint_flag, sub_layer_reserved_zero_44bits, sub_layer_level_idc 에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 의미들을 따라서 각각 코딩되어야 하며, 그리고, HEVC 비디오 디스크립터가 연관되는 전체 HEVC 최고 시간 서브-계층 표현은 이들 필드들에 의해 시그널링되는 정보에 따라야 한다.
주 X2 - HEVC 비디오 스트림에서의 하나 이상의 시퀀스들에서, 그 레벨은 HEVC 비디오 디스크립터에서 시그널링되는 레벨보다 낮을 수도 있지만, 또한 HEVC 비디오 디스크립터에서 시그널링되는 프로파일의 서브세트인 프로파일이 발생할 수도 있다. 그러나, 전체 HEVC 비디오 스트림에서, 존재하면, HEVC 비디오 디스크립터에서 시그널링되는 프로파일에 포함되는 단지 전체 비트스트림 신택스의 서브세트들만이 사용되어야 한다. HEVC 비디오 스트림에서의 시퀀스 파라미터 세트들이 상이한 프로파일들을 시그널링하고, 그리고 어떤 추가적인 제약들도 시그널링되지 않으면, 그 스트림은 전체 스트림이 어느 프로파일을, 있다면, 따르는지를 결정하기 위해 검사를 필요로 할 수도 있다. HEVC 비디오 디스크립터가 단일 프로파일에 따르지 않는 HEVC 비디오 스트림과 연관되면, HEVC 비디오 스트림은, HEVC 비디오 디스크립터들이 각각의 이러한 서브-스트림에 대해 단일 프로파일을 시그널링할 수 있도록, 2개 이상의 서브-스트림들로 파티셔닝되어야 한다.
temporal_layer_subset_flag - 이 1-비트 플래그는, '1' 로 설정될 때, 시간 계층들의 서브세트를 기술하는 신택스 엘리먼트들이 이 디스크립터에 포함된다는 것을 나타낸다. 이 필드는 HEVC 시간 비디오 서브세트들에 대해, 그리고 HEVC 시간 비디오 서브-비트스트림들에 대해, 1 로 설정되어야 한다. '0' 으로 설정될 때, 신택스 엘리먼트들 temporal_id_min 및 temporal_id_max 는 이 디스크립터에 포함되지 않는다.
HEVC _still_present_flag - 이 1-비트 필드는, '1' 로 설정될 때, HEVC 비디오 스트림 또는 HEVC 최고 시간 서브-계층 표현이 HEVC 정지 화상들을 포함할 수도 있다는 것을 나타낸다. '0' 으로 설정될 때, 연관된 HEVC 비디오 스트림은 HEVC 정지 화상들을 포함하지 않아야 한다.
주 X3 -권고안 ITU-T H.265 | ISO/IEC 23008-2 에 따르면, IDR 픽처들은 0 과 동일한 TemporalId 값과 항상 연관되며, 그 결과, HEVC 비디오 디스크립터가 HEVC 시간 비디오 서브세트에 적용되면, HEVC 정지 화상들이 연관된 HEVC 시간 비디오 서브-비트스트림에만 단지 존재할 수 있다.
HEVC _24_temporal_picture_present_flag - 이 1-비트 플래그는, '1' 로 설정될 때, 연관된 HEVC 비디오 스트림 또는 HEVC 최고 시간 서브-계층 표현이 HEVC 24-시간 픽처들을 포함할 수도 있다는 것을 나타낸다. HEVC 24-시간 픽처의 정의에 대해서는, 2.1.97 을 참조한다. 이 플래그가 '0' 으로 설정되면, 연관된 HEVC 비디오 스트림은 임의의 HEVC 24-시간 픽처를 포함하지 않아야 한다.
temporal_id_min - 이 3-비트 필드는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이, 연관된 기본 스트림에서 모든 HEVC 액세스 유닛들의 TemporalId 의 최소 값을 나타낸다.
temporal_id_max - 이 3-비트 필드는 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 바와 같이, 연관된 기본 스트림에서 모든 HEVC 액세스 유닛들의 TemporalId 의 최대 값을 나타낸다.
hevc _extension_present_flag - 이 1-비트 플래그는, ' 1' 로 설정될 때, HEVC 확장판 디스크립터가 HEVC 비디오 디스크립터의 부분으로서 존재한다는 것을 나타낸다. ' 0' 으로 설정될 때, HEVC 확장판 디스크립터는 존재하지 않는다.
2.6.95 HEVC 타이밍 및 HRD 디스크립터
HEVC 비디오 스트림, HEVC 시간 비디오 서브-비트스트림 또는 HEVC 시간 비디오 서브세트에 대해, HEVC 타이밍 및 HRD 디스크립터는 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이, 연관된 HEVC 비디오 스트림 또는 그의 HEVC 최고 시간 서브-계층 표현에 대한, 타이밍 및 HRD 파라미터들을 각각 제공한다.
표 X-2 - HEVC 타이밍 및 HRD 디스크립터
Figure pct00029

2.6.96 HEVC 타이밍 및 HRD 디스크립터에서의 필드들의 의미 정의
hrd _management_valid_flag - 이 1-비트 플래그는 단지 전송 스트림들에서의 사용을 위해서만 정의된다. HEVC 타이밍 및 HRD 디스크립터가 전송 스트림으로 운반되는 HEVC 최고 시간 서브-계층 표현에, 또는 HEVC 비디오 스트림에 연관될 때, 다음이 적용된다.
hrd _management_valid_flag 가 '1' 로 설정되면, 버퍼링 기간 SEI 및 픽처 타이밍 SEI 메시지들은, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이, 연관된 HEVC 비디오 스트림 또는 HEVC 최고 시간 서브-계층 표현에 존재하여야 한다. 이들 버퍼링 기간 SEI 메시지들은 코딩된 nal_initial_cpb_removal_delaynal _initial_ cpb _removal_delay_offset 값들을 운반하여야 하며, NAL HRD 에 대한 nal _initial_alt_removal_delaynal_initial_alt_cpb_removal_delay_offset 값들을 추가적으로 운반할 수도 있다. hrd _management_valid_flag 가 '1' 로 설정되면, 2.17.2 에 정의된 바와 같은 T-STD 에서 MBn 로부터 EBn 로의 각각의 바이트의 전송 또는 2.17.3 에서 정의된 바와 같은 T-STD 에서 MBn , k 로부터 EBn 로의 전송은, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 규정된 바와 같은, cpb _ cnt _ minus1 와 동일한 SchedSelIdx 에 대한, 코딩된 nal _initial_alt_ cpb _removal_delaynal_initial_alt_cpb_removal_delay_offset 값들로부터, 또는 코딩된 nal_initial_cpb_removal_delaynal _initial_ cpb _removal_delay_ offset 으로부터 결정되는 것과 같은, NAL HRD 에서의 CPB 로의 그 바이트에 대한 전달 스케쥴에 따라야 한다. hrd _management_valid_flag 가 '0' 으로 설정되면, 누설 (leak) 방법이 2.17.2 에서 정의된 바와 같은 T-STD 에서 MBn 으로부터 EBn 까지의 전송 또는 2.17.3 에서 정의된 바와 같은 T-STD 에서 MBn,k 로부터 EBn 으로의 전송을 위해 사용되어야 한다.
picture_and_timing_info_present_flag - 이 1-비트 플래그는, '1' 로 설정될 때, 90-kHz 시스템 클록에의 정확한 맵핑을 위한 90kHz_flag 및 파라미터들이 이 디스크립터에 포함된다는 것을 나타낸다.
90kHz_flag - 이 1-비트 플래그는, '1' 로 설정될 때, HEVC 시간 베이스의 주파수가 90 kHz 임을 나타낸다.
N, K - HEVC 비디오 스트림 또는 HEVC 최고 시간 서브-계층 표현에 대해, HEVC 시간 베이스의 주파수는 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 E 에 규정된 바와 같이, VUI 파라미터들에서의 신택스 엘리먼트 vui _temporal_scale 에 의해 정의된다. HEVC temporal_scale 과 STC 사이의 관계는 이 디스크립터에서의 파라미터들 N 및 K 에 의해 다음과 같이 정의되어야 한다.
temporal_scale = (N x system_clock_frequency) / K
90kHz_flag 가 '1' 로 설정되면, N 은 1 과 동일하고 K 는 300 과 동일하다. 90kHz_flag 가 '0' 으로 설정되면, N 및 K 의 값들은 N 및 K 필드들의 코딩된 값들로 제공된다.
주 X4 - 이것은 예를 들어, 어떤 PTS 또는 DTS 도 PES 헤더에서 인코딩되지 않는 HEVC 액세스 유닛들에 대해 디코더들에서 PTS 및 DTS 시간스탬프들의 계산에 요구될 때, 90 kHz 유닛들에의 temporal_ scale 의 유닛들로 표현된 시간의 맵핑을 가능하게 한다.
num _units_in_tick - 이 32-비트 필드는 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 E 에서 VUI 파라미터들에서의 vui _ num _units_in_tick 필드와 정확히 동일한 방법으로 코딩된다. 이 필드에 의해 제공되는 정보는 전체 HEVC 비디오 스트림 또는 HEVC 타이밍 및 HRD 디스크립터가 연관되는 HEVC 최고 시간 서브-계층 표현에 적용되어야 한다.
2.6.97 계층구조 확장판 디스크립터
계층구조 확장판 디스크립터는 계층적으로-코딩된 비디오, 오디오, 및 사설 스트림들의 구성요소들을 포함하는 프로그램 엘리먼트들을 식별하는 정보를 제공한다. (표 2-49 참조)
표 2-49 - 계층구조 확장판 디스크립터
Figure pct00030

2.6.98 계층구조 확장판 디스크립터에서의 필드들의 의미 정의
계층구조 확장판 디스크립터가 존재할 때, 상이한 기본 스트림들에 존재하는 계층들의 의존성을 규정하는데 사용된다. 시간 서브-계층들의 집성은, 그러나, ISO/IEC 13818-1 의 개정안 3 에 규정된 바와 같이, 계층구조 디스크립터에 의해 실현된다.
extension_dimension_bits - 0 과 동일한 nuh_layer_id 를 가지는 계층의 프로그램 엘리먼트로부터 기인하는 기초 계층으로부터의 연관된 프로그램 엘리먼트의 가능한 향상을 나타내는 16-비트 필드.
향상 치수들에의 비트들의 할당은 다음과 같다.
Figure pct00031
1 과 동일한 i-번째 비트는 대응하는 향상 치수가 존재한다는 것을 나타낸다.
hierarchy_layer_index - 연관된 프로그램 엘리먼트의 고유한 인덱스 in 코딩 계층 계층구조들의 표를 정의하는 6-비트 필드이다. 인덱스들은 단일 프로그램 정의 내에서 고유해야 한다. 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 F 에 정의된 하나 이상의 프로파일들을 따르는 HEVC 비디오 스트림들의 비디오 서브-비트스트림들에 대해, 이것은 동일한 액세스 유닛의 비디오 서브-비트스트림들의 연관된 의존성 계층들이 hierarchy_layer_index 의 증가 순서로 재-조립되면 비트스트림 순서가 정정되는 방법으로 할당되는 프로그램 엘리먼트 인덱스이다.
tref _present_flag - 1-비트 플래그는, '0' 으로 설정될 때, TREF 필드가 연관된 기본 스트림에서의 PES 패킷 헤더들에 존재할 수도 있다는 것을 나타낸다. 이 플래그에 대해 '1' 의 값이 예약된다.
nuh _layer_id - 6-비트 필드는 이 hierarchy_extension_descriptor() 와 연관된 기본 스트림에서 NAL 유닛들의 최고 nuh_layer_id 를 규정한다.
temporal_id - 3-비트 필드는 이 hierarchy_extension_descriptor() 와 연관된 기본 스트림에서 NAL 유닛들의 최고 TemporalId 를 규정한다.
num _embedded_layers - 디코딩 순서에서 이 hierarchy_extension_descriptor() 와 연관된 기본 스트림의 디코딩 전에 액세스되어야 하며 존재하여야 하는 직접 의존적인 프로그램 엘리먼트들의 수를 규정하는 6-비트 필드.
hierarchy_ ext _embedded_layer_index - 디코딩 순서에서 이 hierarchy_extension_descriptor 와 연관된 기본 스트림의 디코딩 전에 액세스되어야 하며 존재하여야 하는 프로그램 엘리먼트의 hierarchy_layer_index 를 정의하는 6-비트 필드. 이 필드는 hierarchy_type 값이 15 이면 정의되지 않는다.
hierarchy_channel - 순서정렬된 세트 송신 채널들의 세트에서 그 연관된 프로그램 엘리먼트의 의도된 채널 수를 나타내는 6-비트 필드. 가장 강건한 송신 채널은 전체 송신 계층구조 정의에 대한 이 필드의 최저 값에 의해 정의된다.
주 - 주어진 hierarchy_channel 은 여러 프로그램 엘리먼트들에 동시에 할당될 수도 있다.
2.6.99 HEVC 확장판 디스크립터
표 X - HEVC 확장판 디스크립터
Figure pct00032

2.6.100 HEVC 확장판 디스크립터에서의 필드들의 의미 정의
num _operation_points - 이 디스크립터에 의해 규정된 동작 지점들의 수를 규정하는 8-비트 필드.
profile_space - 2-비트 필드는 0 내지 31 의 범위인 i 의 모든 값들에 대해 profile_idc 의 해석을 위한 상황을 규정한다. profile_space 는 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 또는 하위 조항 G.11 에 또는 하위 조항 H.11 에 규정된 값들과는 다른 값들을 할당받지 않아야 한다. profile_idc 의 다른 값들은 ITU-T | ISO/IEC 에 의해 미래 사용을 위해 예약된다.
tier_flag - 1-비트 필드는 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 또는 하위 조항 G.11 또는 하위 조항 H.11 에 규정된 바와 같이 level_idc 의 해석을 위한 티어 상황을 규정한다.
profile_idc - profile_space 가 0 과 동일할 때, CVS 가 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 에 규정된 바와 같이 따르는 프로파일을 표시하는 5-비트 필드. profile_idc shall 은 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A 또는 G.11 또는 H.11 에 규정된 값들과는 다른 값들을 할당받지 않아야 한다. profile_idc 의 다른 값들은 ITU-T | ISO/IEC 에 의해 미래 사용을 위해 예약된다.
profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc - HEVC 확장판 비디오 디스크립터가 HEVC 확장판 비디오 스트림에 적용될 때, 이들 필드들은 대응하는 HEVC 비디오 스트림 또는 HEVC 확장판 비디오 스트림 또는 HEVC 완전 시간 표현에 대해, general_profile_space, general_tier_flag, general_profile_idc, general_profile_compatibility_flag[i], general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag, general_frame_only_constraint_flag, general_reserved_zero_44bits, general_level_idc 에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 정의된 의미들에 따라서 각각 코딩되어야 하며, 그리고, HEVC 비디오 디스크립터가 연관되는 전체 HEVC 비디오 스트림 또는 HEVC 완전 시간 표현은 이들 필드들에 의해 시그널링된 정보에 따라야 한다.
level_idc - 8-비트 필드는 CVS 가 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A, G.11 또는 H.11 에 규정된 바와 같이 따르는 레벨을 나타낸다. level_idc 는 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 A, G.11 또는 H.11 에 규정된 값들과는 다른 level_idc 의 값들을 할당받지 않아야 한다. level_idc 의 다른 값들은 ITU-T | ISO/IEC 에 의해 미래 사용을 위해 예약된다.
max_temporal_id - i-번째 동작 지점에서의 계층들의 NAL 유닛들의 최고 TemporalId 를 규정하는 3-비트 필드.
reserved_zero_5bits - '0' 의 값으로 예약된 5-비트 필드.
hevc _output_layer_flag - 1-비트 필드는, 값 ' 1' 로 할당될 때, j 와 동일한 nuh _layer_ id 를 가지는 계층이 출력 계층 세트에 속하고 i-번째 동작 지점이 디코딩될 때에 출력을 위해 요구된다는 것을 나타낸다. 값 ' 0' 으로 할당될 때, j 와 동일한 nuh _layer_ id 를 가지는 계층은 i-번째 동작일 때 출력에 요구되지 않는다. j-번째 hevc _output_layer_flag 가 '1' 과 동일할 때, j-번째 hevc_layer_present_flag 의 값은 '1' 과 동일해야 한다.
hevc _layer_flag - 1-비트 필드는, 값 ' 1' 로 할당될 때, j 와 동일한 nuh_layer_id 가 계층 식별자 세트에 속한다는 것을 나타내며, 그 계층 식별자 세트의 각각의 엔트리가 i-번째 동작 지점이 디코딩될 때 디코딩되도록 요구되는 계층을 식별한다. 값 ' 0' 으로 할당될 때, i 와 동일한 nuh _layer_id 는 계층 식별자 세트에 속하지 않는다.
average_ bitrate - i-번째 동작 지점에 대응하는 HEVC 확장판 비디오 스트림의 평균 비트 레이트를 , 초 당 1000 비트들로 표시하는 16-비트 필드.
maximum_ bitrate - i-번째 동작 지점에 대응하는 HEVC 확장판 비디오 스트림의 최대 비트 레이트를 , 초 당 kbit 로 표시하는, 16-비트 필드.
frame_rate - 16-비트 필드가 i-번째 동작 지점에 대응하는 HEVC 확장판 비디오 스트림의 최대 픽처 레이트를 , in 256 초 당 픽처들로 나타낸다.
조항 2.17
조항 2.16 다음에 다음을 새로운 하위 조항으로서 추가한다:
2.17 HEVC 의 운반
2.17.1 HEVC 의 전송에 대한 제약들
HEVC 비디오 스트림들, HEVC 시간 비디오 서브-비트스트림들 또는 HEVC 시간 비디오 서브세트들에 대해, 다음 제약들이 추가적으로 적용된다:
Figure pct00033
각각의 HEVC 액세스 유닛은 액세스 유닛 구분문자 NAL 유닛을 포함해야 한다;
주 X5 - HEVC 는 액세스 유닛 구분문자 NAL 유닛이, 존재 한다면, HEVC 액세스 유닛 내 제 1 NAL 유닛일 것을 필요로 한다. 액세스 유닛 구분문자 NAL 유닛들은 HEVC 액세스 유닛들 사이의 경계를 검출하는 능력을 간소화한다.
Figure pct00034
HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림은 ITU-T 권고안 H.222.0 | ISO/IEC 13818-1 프로그램의 엘리먼트이어야 하며, 이 기본 스트림에 대한 stream_type 은 0x24 와 동일하여야 한다.
Figure pct00035
HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림을 디코딩하는데 필요한, ITU-T 권고안 H.265 | ISO/IEC 23008-2 에 규정된 바와 같은, 비디오 파라미터 세트들, 시퀀스 파라미터 세트들 및 픽처 파라미터 세트들은 그 HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림을 운반하는 기본 스트림 내에 존재하여야 한다.
Figure pct00036
동일한 ITU-T 권고안 H.222.0 | ISO/IEC 13818-1 프로그램의 엘리먼트인 각각의 HEVC 시간 비디오 서브세트에 대해, 이 기본 스트림에 대한 stream_type 은 0x25 와 동일하여야 한다.
Figure pct00037
ITU-T 권고안 H.222.0 | ISO/IEC 13818-1 프로그램이 하나 보다 많은 HEVC 시간 비디오 서브세트, 또는 하나 보다 많은 HEVC 시간 비디오 서브-비트스트림 및 적어도 하나의 HEVC 시간 비디오 서브세트를 포함할 때, 2.6.7 에 정의된 바와 같은 계층구조 디스크립터는 0x24 또는 0x25 와 동일한 스트림 유형을 가지는 모든 연관된 기본 스트림들에 대해 존재하여야 한다. 계층구조 디스크립터들은 모든 HEVC 시간 비디오 서브-비트스트림들 및 모든 HEVC 시간 비디오 서브세트들의 의존성들을 나타내기 위해 사용되어야 한다.
Figure pct00038
계층구조 디스크립터를 가지는, 0x24 와 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 계층구조 디스크립터에서의 hierarchy_type 는 15 와 동일하여야 한다.
Figure pct00039
계층구조 디스크립터를 가지는, 0x25 와 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 계층구조 디스크립터에서의 hierarchy_type 는 3 과 동일하여야 한다.
Figure pct00040
HEVC 시간 비디오 서브세트의 HEVC 최고 시간 서브-계층 표현을 디코딩하는데 필요한, ITU-T 권고안 H.265 | ISO/IEC 23008-2 에 규정된 바와 같은, 비디오 파라미터 세트들, 시퀀스 파라미터 세트들 및 픽처 파라미터 세트들은 계층구조 디스크립터에 의해 연관된 HEVC 시간 비디오 서브-비트스트림을 운반하는 기본 스트림 내에 존재하여야 한다.
Figure pct00041
섹션 2.17.3 에 규정된 바와 같은, 계층구조 디스크립터들에 따른 연관된 HEVC 시간 비디오 서브세트들을 가지는 HEVC 시간 비디오 서브-비트스트림의 집성은 유효한 HEVC 비디오 스트림을 초래하여야 한다.
주 X6 - 최종 HEVC 비디오 스트림은 정수들의 인접한 범위를 형성하는 TemporalId 값들을 가지는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 에 규정된 바와 같은, 시간 서브-계층들의 세트를 포함한다.
Figure pct00042
각각의 HEVC 픽처는 계층 픽처 구분문자 NAL 유닛을 포함하여야 한다;
Figure pct00043
0 보다 큰 nuh_layer_id 를 가지는 각각의 HEVC 픽처는 0x26 과 동일한 stream_type 을 가지는 기본 스트림 내에 포함되어야 하거나, 또는 0x25 와 동일한 stream_type 을 가지며 0 과 동일한 nuh_layer_id 를 가지는 HEVC 픽처들을 포함하는 기본 스트림 내에 포함되어야 한다.
Figure pct00044
계층구조 디스크립터를 가지는 0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 계층구조 디스크립터에서의 hierarchy_type 은 3 과 동일하여야 한다.
2.14.3.9 계층 픽처 구분문자 NAL 유닛
표 X-1 을 참조한다.
표 X+1 - 계층 픽처 구분문자 NAL 유닛
Figure pct00045
2.14.3.10 계층 픽처 구분문자 NAL 유닛의 의미들
forbidden_zero_bit - 0x0 과 동일하여야 한다
nal _unit_type - 0x30 과 동일하여야 한다
nuh _layer_id - NAL 유닛의 계층 식별자를 규정한다.
nuh _temporal_id_ plus1 - nuh_temporal_id_plus1 마이너스 1 은 NAL 유닛에 대한 시간 식별자를 규정한다. nuh_temporal_id_plus1 의 값은 0 과 동일하지 않아야 한다.
0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 정확히 하나의 LPD_nal_unit 이 LPD_nal_unit 의 값과 동일한 nuh_layer_id 의 값을 가지는 모든 NAL 유닛들보다 선행할 수도 있다.
PES 패킷들에서의 운반
ITU-T 권고안 H.265 | ISO/IEC 23008-2 비디오는, PMT 에서의 할당된 스트림-유형 값 (표 2-34 참조) 에 의해 ITU-T 권고안 H.265 | ISO/IEC 23008-2 비디오 스트림을 시그널링하는 동시에, 비디오에 할당된 16 개의 stream_id 값들 중 하나를 이용하여, PES 패킷들에서 PES _packet_data_ bytes 로서 운반된다. 전체 스트림이 따르는 프로파일 및 티어 뿐만 아니라, HEVC 비디오 스트림에서 일어날 수도 있는 최고 레벨은 HEVC 비디오 디스크립터를 이용하여 시그널링되어야 한다. 전체 스트림의 서브-비트스트림이 따르는 프로파일들 및 타일들 뿐만 아니라 HEVC 비디오 스트림에서 일어날 수도 있는 다른 레벨들은 HEVC 확장판 비디오 디스크립터를 이용하여 시그널링되어야 한다. HEVC 비디오 디스크립터가 HEVC 비디오 스트림, HEVC 시간 비디오 서브-비트스트림, HEVC 시간 비디오 서브세트와 연관되면, 이 디스크립터는 프로그램 맵 테이블에서의 개개의 기본 스트림 엔트리에 대한 디스크립터 루프에서 운반되어야 한다. 이 권고안 | 국제 표준은 프로그램의 상황에서 ITU-T 권고안 H.265 | ISO/IEC 23008-2 스트림들의 제시를 규정하지 않는다.
PES 패킷화를 위해, 어떤 특정의 데이터 정렬 제약들도 적용되지 않는다. 동기화 및 STD 관리를 위해, PTS들 그리고, 적합한 경우, DTS들은 ITU-T 권고안 H.265 | ISO/IEC 23008-2 비디오 기본 스트림 데이터를 운반하는 PES 패킷의 헤더에서 인코딩된다. PTS 및 DTS 인코딩에 대해, 제약들 및 의미들은 2.17.1 에 정의된 바와 같이 적용된다.
DPB 버퍼 관리
ITU-T 권고안 H.222.0 | ISO/IEC 13818-1 을 통한 HEVC 비디오 스트림, HEVC 시간 비디오 서브-스트림들 또는 HEVC 시간 비디오 서브세트의 운반은 버퍼 DPB 의 사이즈에 영향을 주지 않는다. HEVC 비디오 스트림, HEVC 시간 비디오 서브-비트스트림 또는 HEVC 시간 비디오 서브-비트스트림 및 STD 에서의 그의 연관된 HEVC 시간 비디오 서브세트들의 디코딩을 위해, DPB 의 사이즈는 ITU-T 권고안 H.265 | ISO/IEC 23008-2 에 정의된 바와 같다. DPB 는 ITU-T 권고안 H.265 | ISO/IEC 23008-2 의 부속서 C 또는 조항 F.13 (조항들 C.3 및 C.5) 에 규정된 바와 같이 관리되어야 한다. 디코딩된 HEVC 액세스 유닛은 HEVC 액세스 유닛의 디코딩 시에, 따라서 HEVC 액세스 유닛의 CPB 제거 시간에, 동시적으로 (instantaneously) DPB 에 들어간다. 디코딩된 HEVC 액세스 유닛은 DPB 출력 시간에 제시된다. HEVC 비디오 스트림, HEVC 시간 비디오 서브-비트스트림, HEVC 시간 비디오 서브세트 또는 HEVC 확장판 비디오 스트림이 HEVC 액세스 유닛들의 CPB 제거 시간 및 DPB 출력 시간을 결정하기에 불충분한 정보를 제공하면, 이들 순시치들 (time instants) 은 다음과 같은 PTS 및 DTS 시간스탬프들로부터 STD 모델에서 결정되어야 한다:
1) HEVC 액세스 유닛 n 의 HEVC 계층 픽처들의 CPB 제거 시간은 DTS(n) 로 표시되는 시점이며, 여기서, DTS(n) 은 HEVC 액세스 유닛 n 의 DTS 값이다. [Ed. (CY): MV-HEVC 및 SHVC 는 다음 2개의 HRD 동작 모드들을 지원한다: 첫번째 HRD 동작 모드는 액세스 유닛에서의 모든 HEVC 계층 픽처들에 대해 동일한 CPB 제거 시간을 가정하며, 두번째 HRD 동작 모드는 상이한 HEVC 계층 픽처들에 대해 상이한 CPB 제거 시간들을 가정할 수도 있다. 제 1 모드는 전형적이며, MVC 및 SVC 에서와 동일하다. 현재, 단지 제 1 모드만이 현재의 사양 텍스트에서 지원된다. 추가적인 연구들이 제 2 모드의 지원을 위해 요구된다.]
2) HEVC 액세스 유닛 n 의 HEVC 계층 픽처들의 DPB 출력 시간은 PTS(n) 로 표시되는 시점이며, 여기서, PTS(n) 은 HEVC 액세스 유닛 n 의 PTS 값이다.
주 X7 - 신택스 구조 hrd _parameters() 에서의 low_delay_ hrd _flag 가 1 로 설정되는 HEVC 비디오 시퀀스들은 각각의 HEVC 액세스 유닛의 DPB 출력 시간 및 CPB 제거 시간을 결정하기에 충분한 정보를 운반한다. 따라서, STD 언더플로우가 일어날 수도 있는 HEVC 액세스 유닛들에 대해, CPB 제거 시간 및 DPB 출력 시간은 HRD 파라미터들에 의해 정의되며, DTS 및 PTS 시간스탬프들에 의해 정의되지 않는다.
주 X8 - HEVC 비디오 스트림은 ITU-T 권고안 H.265 | ISO/IEC 23008-2 의 부속서 C 에 규정된 바와 같이 HRD 에의 HEVC 비디오 스트림의 순응성을 결정하기 위한 정보를 운반할 수도 있다. 이 정보의 존재는 '1' 로 설정된 hrd_management_valid_flag 를 가지는 HEVC 타이밍 및 HRD 디스크립터를 이용하여 전송 스트림에서 시그널링될 수 있다. 이 정보의 존재에 관계없이, T-STD 에의 HEVC 비디오 스트림의 순응성 (compliance) 은, 바이트가 T-STD 에서의 EBn 로 전달되고 그로부터 제거되는 정확히 동일한 시점에 HEVC 비디오 스트림에서의 각각의 바이트가 HRD 에서의 CPB 로 전달되고 그로부터 제거될 때 CPB 에 대한 HRD 버퍼 관리 요구사항들이 만족되도록 보장한다.
2.17.2 단일 계층 HEVC 에 대한 T-STD 확장판들
ITU-T 권고안 H.222.0 | ISO/IEC 13818-1 프로그램에 HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림이 존재하고 그리고 동일한 ITU-T 권고안 H.222.0 | ISO/IEC 13818-1 프로그램에 이 stream_type 0x24 의 기본 스트림과 연관된 어떤 EVC 시간 비디오 서브세트도 존재하지 않을 때, 2.4.2 에서 기술된 바와 같은 T-STD 모델은 도 X-1 에 예시된 바와 같이 그리고 아래에 규정된 바와 같이 확장된다.
도 X-1 - 단일 계층 HEVC 에 대한 T-STD 모델 확장판들
TB n , MB n , EB n 버퍼 관리
다음 추가적인 표기들이 T-STD 확장판들을 기술하기 위해 사용되며, 위에 도 X-1 에 예시된다.
t(i) 전송 스트림의 i-번째 바이트가 시스템 목표 디코더에 들어가는 시간을 초로 나타낸다
TBn 기본 스트림 n 에 대한 전송 버퍼이다
TBS 바이트들로 측정된, 전송 버퍼 TBn 의 사이즈이다
MBn 기본 스트림 n 에 대한 멀티플렉싱 버퍼이다
MBSn 바이트들로 측정된, 멀티플렉싱 버퍼 MBn 의 사이즈이다
EBn HEVC 비디오 스트림에 대한 기본 스트림 버퍼이다
j HEVC 비디오 스트림의 HEVC 액세스 유닛에의 인덱스이다
An(j) HEVC 비디오 비트스트림의 j-번째 액세스 유닛이다
tdn(j) 초로 측정된, 시스템 목표 디코더에서의 An(j) 의 디코딩 시간이다
Rxn 아래에 규정된 바와 같은, 전송 버퍼 TBn 으로부터 멀티플렉스 버퍼 MBn 으로의 전송율이다.
Rbxn 아래에 규정된 바와 같은, 멀티플렉스 버퍼 MBn 로부터 기본 스트림 버퍼 EBn 로의 전송율이다.
다음이 적용된다:
Figure pct00046
수신된 HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림에 대해 정확히 하나의 전송 버퍼 TBn 이 존재하며, 여기서, 사이즈 TBS 는 512 바이트들에 고정된다.
Figure pct00047
HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림에 대해 정확히 하나의 멀티플렉싱 버퍼 MBn 이 존재하며, 여기서, 멀티플렉싱 버퍼 MB 의 사이즈 MBSn 은 다음과 같이 속박된다:
MBSn = BSmux + BSoh + CpbBrNalFactor × MaxCPB[tier, level] - cpb_size
여기서, BSoh, 패킷 오버헤드 버퍼링은, 다음과 같이 정의된다:
BSoh = (1/750) 초 × max{ CpbBrNalFactor × MaxBR[tier, level], 2 000 000 bit/s}
그리고, BSmux, 추가적인 멀티플렉스 버퍼링은, 다음과 같이 정의된다:
BSmux = 0.004 초 × max{ CpbBrNalFactor × MaxBR[tier, level], 2 000 000 bit/s}
MaxCPB[tier, level] 및 MaxBR[tier, level] 은 HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림의 티어 및 레벨에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 A 로부터 얻어진다. cpb_size 는 HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림에 포함되는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 E 에 규정된 바와 같은, HRD 파라미터들로부터 얻어진다.
Figure pct00048
계층구조 디스크립터들에 의해 연관된 수신된 기본 스트림들의 세트에서의 모든 기본 스트림들에 대해 정확히 하나의 기본 스트림 버퍼 EBn 이 존재하며, 전체 사이즈 EBSn 은 다음과 같다
EBSn = cpb_size (바이트로 측정됨)
여기서, cpb_size 는 HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림에 포함되는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 E 에 규정된 바와 같은, HRD 파라미터들로부터 얻어진다.
Figure pct00049
TBn 으로부터 MBn 으로의 전송은 다음과 같이 적용된다:
TBn 에 어떤 데이터도 없을 때, Rxn 은 제로와 동일하다. 그렇지 않으면:
Rxn = bit_rate
여기서, bit_rate 는 바이트 스트림 포맷에 대한 CPB 로의 데이터 흐름의, CpbBrNalFactor / CpbBrVclFactor x BitRate[ SchedSelIdx ] 이며, BitRate[ SchedSelIdx ] 는 NAL HRD 파라미터들이 HEVC 비디오 스트림의 VUI 파라미터들에 존재할 때 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 E 에 정의된 것과 같다.
주 X9 - 부속서 E 는 또한 NAL HRD 파라미터들이 VUI 에 존재하지 않을 때 프로파일, 티어 및 레벨에 기초하여 BitRate[ SchedSelIdx] 에 대한 디폴트 값들을 규정한다.
Figure pct00050
MBn 으로부터 EBn 으로의 전송은 다음과 같이 적용된다:
기본 스트림에 대해 '1' 로 설정된 hrd _management_valid_ flag 를 가지는 EVC _timing_and_ HRD _descriptor 가 존재하면, MBn 으로부터 EBn 으로의 데이터의 전송은 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이 기본 스트림의 CPB 에의 데이터 도달을 위해 HRD 정의된 방식을 따라야 한다.
그렇지 않으면, 누설 방법이 다음과 같이 MBn 로부터 EBn 으로 데이터를 전송하는데 사용되어야 한다:
Rbxn = CpbBrNalFactor × MaxBR[tier, level]
여기서, MaxBR[tier, level] 은 HEVC 비디오 스트림 또는 HEVC 시간 비디오 서브-비트스트림의 티어 및 레벨에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 A 로부터 얻어진다.
MBn 에 PES 패킷 페이로드 데이터가 있고, 그리고 버퍼 EBn 가 풀이 아니면, PES 패킷 페이로드가 MBn 으로부터 EBn 으로 Rbxn 과 동일한 레이트에서 전송된다. EBn 이 풀이면, 데이터가 MBn 으로부터 제거되지 않는다. 데이터의 바이트가 MBn 으로부터 EBn 으로 전송될 때, MBn 에 있고 그 바이트에 선행하는 모든 PES 패킷 헤더 바이트들이 동시적으로 제거되고 폐기된다. MBn 에 어떤 PES 패킷 페이로드 데이터도 존재하지 않을 때, 어떤 데이터도 MBn 으로부터 제거되지 않는다. MBn 에 들어가는 모든 데이터가 거기에 떠난다. 모든 PES 패킷 페이로드 데이터 바이트들이 MBn 을 떠나자 마자 동시적으로 EBn 에 들어간다.
STD 지연
시스템 목표 디코더들 버퍼들 TBn, MBn, 및 EBn 을 통한 HEVC 정지 화상 데이터 이외의 임의의 ITU-T 권고안 H.265 | ISO/IEC 23008-2 데이터의 STD 지연은 모든 j, 및 액세스 유닛 An(j) 에서의 모든 바이트들 i 에 대해, tdn(j) - t(i) ≤ 10 초에 의해 속박되어야 한다.
시스템 목표 디코더들 TBn, MBn, 및 EBn 을 통한 임의의 HEVC 정지 화상 데이터의 지연은 모든 j, 및 액세스 유닛 An(j) 에서의 모든 바이트들 i 에 대해, tdn(j) - t(i) ≤ 60 초에 의해 속박되어야 한다.
버퍼 관리 조건들
전송 스트림들은 버퍼 관리를 위한 다음 조건들이 만족되도록 속박되어야 한다:
Figure pct00051
각각의 TBn 은 오버플로우되지 않아야 하며 적어도 매 초마다 한번 비워져야 한다.
Figure pct00052
각각의 MBn, EBn, 및 DPB 는 오버플로우되지 않아야 한다.
Figure pct00053
EBn 는 '1' 로 설정된 low_delay_ hrd _ flag 를 가지는 HEVC 비디오 시퀀스에 대해 VUI 파라미터들이 존재할 때를 제외하고는, 언더플로우되지 않아야 한다. An(j) 의 하나 이상의 바이트들이 EBn 에 디코딩 시간 tdn(j) 에 존재하지 않을 때 HEVC 액세스 유닛 An(j) 에 대해 EBn 의 언더플로우가 일어난다.
2.17.3 HEVC 시간 비디오 서브세트들의 계층화된 전송을 위한 T-STD 확장판들
ITU-T 권고안 H.222.0 | ISO/IEC 13818-1 프로그램에 유형 0x25 의 적어도 하나의 연관된 기본 스트림 및 HEVC 비디오 서브-비트스트림이 존재할 때, 2.4.2 에 기술된 바와 같은 T-STD 모델은 도 X-2 에 예시된 바와 같이 그리고 아래에 규정된 바와 같이 확장된다.
도 X-2 - HEVC 시간 비디오 서브세트들의 계층화된 전송을 위한 T-STD 모델 확장판들
다음 추가적인 표기들이 T-STD 확장판들을 기술하기 위해 사용되며, 위에 도 X-2 에 예시된다.
t(i) 전송 스트림의 i-번째 바이트가 시스템 목표 디코더에 들어가는 시간을 초로 나타낸다
H 계층구조 디스크립터들에 의해 동일한 HEVC 시간 비디오 서브-비트스트림과 연관되는, 수신된 HEVC 시간 비디오 서브세트들의 수이다.
k 정확히 하나의 HEVC 시간 비디오 서브-비트스트림 및 계층구조 디스크립터들에 의해 연관되는 H HEVC 시간 비디오 서브세트들을 포함하는 H+1 수신된 기본 스트림들을 식별하는 인덱스이다. 0 과 동일한 인덱스 값 k 는 HEVC 시간 비디오 서브-비트스트림을 포함하는 기본 스트림을 식별하며, 1 로부터 H 까지의 인덱스 값들 k 는 연관된 HEVC 시간 비디오 서브세트들을 식별한다.
ESn ,k k 가 0 과 동일한 경우 k-번째 HEVC 시간 비디오 서브세트 또는 HEVC 시간 비디오 서브-비트스트림을 포함하는 수신된 기본 스트림이다,
ESn ,H 수신된 기본 스트림들의 세트에 존재하는 최고 HEVC 시간 비디오 서브세트를 포함하는 수신된 기본 스트림이다
PIDH ESn,H 를 식별하는 패킷 식별자 값이다
j 출력 액세스 유닛들에의 인덱스이다
An(j) HEVC 완전 시간 표현의 j-번째 액세스 유닛이다
tdn(j) 시스템 목표 디코더에서의 An(j) 의 디코딩 시간이다
TBn ,k 기본 스트림 k 에 대한 전송 버퍼이다
TBSn ,k 바이트들로 측정된, 전송 버퍼 TBn,k 의 사이즈이다
MBn,k 기본 스트림 k 에 대한 멀티플렉싱 버퍼이다
MBSn ,k 바이트들로 측정된, 멀티플렉싱 버퍼 MBn,k 의 사이즈이다
EBn 수신된 HEVC 시간 비디오 서브-비트스트림 ESn ,0 및 수신된 HEVC 시간 비디오 서브세트들 ESn ,1 내지 ESn,H 에 대한 기본 스트림 버퍼이다
EBSn 바이트들로 측정된, 기본 스트림 버퍼 EBn 의 사이즈이다
Rxn ,k 아래에 규정된 바와 같은, k-번째 전송 버퍼 TBn,k 로부터 k-번째 멀티플렉스 버퍼 MBn,k 까지의 전송율이다
Rbxn ,k 아래에 규정된 바와 같은 k-번째 멀티플렉스 버퍼 MBn,k 로부터 기본 스트림 버퍼 EBn 까지의 전송율이다
주 X10 - 인덱스 n 은, 여기서 사용될 때, 수신된 기본 스트림들 및 연관된 버퍼들이 어떤 HEVC 시간 비디오 서브-비트스트림 및 그의 연관된 HEVC 시간 비디오 서브세트들에 속한다는 것을 나타내며, 이들 기본 스트림들 및 연관된 버퍼들을 다른 기본 스트림들 및 버퍼들과 식별하고, 도 X-1 에서의 표기와 일관성을 유지한다.
TB n ,k , MB n ,k , EB n 버퍼 관리
다음이 적용된다:
Figure pct00054
각각의 수신된 기본 스트림 ESn,k 에 대해 하나의 전송 버퍼 TBn,k 가 존재하며, 여기서, 사이즈 TBSn,k 는 512 바이트들에 고정된다.
Figure pct00055
각각의 수신된 기본 스트림 ESn,k 에 대해 하나의 멀티플렉스 버퍼 MBn,k 가 존재하며, 여기서, 멀티플렉스 버퍼 MBn,k 의 사이즈 MBSn,k 는 다음과 같이 속박된다:
MBSn,k = BSmux + BSoh + CpbBrNalFactor × MaxCPB[tier, level] - cpb_size (바이트들로 측정됨)
여기서, BSoh, 즉 패킷 오버헤드 버퍼링, 및 BSmux, 즉, 추가적인 멀티플렉스 버퍼링은, 조항 2.17.2 에 규정된 것과 동일하며;
MaxCPB[tier, level] 및 MaxBR[tier, level] 은 ESn,k 와 연관된 HEVC 최고 시간 서브-계층 표현의 티어 및 레벨에 대한 HEVC 의 티어 및 레벨 사양으로부터 얻어지며;
cpb_size 는 ESn,k 와 연관된 HEVC 최고 시간 서브-계층 표현에 포함되는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 E 에 규정된 바와 같은, HRD 파라미터들로부터 얻어진다.
Figure pct00056
수신된 기본 스트림들 ESn,0 내지 ESn,H 의 세트에서의 H + 1 기본 스트림들에 대해 정확히 하나의 기본 스트림 버퍼 EBn 이 존재하며, 전체 사이즈 EBSn 은 다음과 같다
EBSn = cpb_size (바이트들로 측정됨)
여기서, cpb_size 는 ESn,H 와 연관된 HEVC 최고 시간 서브-계층 표현에 포함되는, 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 E 에 규정된 바와 같은, HRD 파라미터들로부터 얻어진다.
Figure pct00057
TBn,k 로부터 MBn,k 로의 전송은 다음과 같이 적용된다:
TBn,k 에 어떤 데이터도 없을 때, Rxn,k 는 제로와 동일하다. 그렇지 않으면:
Rxn,k = bit_rate
여기서, bit_rate 는 조항 2.17.2 에 규정된 것과 동일하다.
Figure pct00058
MBn,k 로부터 EBn 으로의 전송은 다음과 같이 적용된다:
HEVC_timing_and_HRD_descriptor 가 존재하고 동시에 hrd_management_valid_flag 가 HEVC 비디오 서브-비트스트림에 대해 '1' 로 설정되면, MBn,k 로부터 EBn 으로의 데이터의 전송은 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이 기본 스트림 ESn,H 의 CPB 에의 데이터 도달을 위해 HRD 정의된 방식을 따라야 한다.
그렇지 않으면, 누설 방법이 다음과 같이 데이터를 MBn,k 로부터 EBn 으로 전송하는데 사용되어야 한다:
Rbxn,k = CpbBrNalFactor × MaxBR[tier, level]
여기서, MaxBR[tier, level] 은 ESn,k 와 연관된 HEVC 비디오 스트림 또는 HEVC 최고 시간 서브-계층 표현의 티어 및 레벨에 대한 권고안 ITU-T H.265 | ISO/IEC 23008-2 의 부속서 A 에서 바이트 스트림 포맷에 대해 정의된다.
MBn,k 에 PES 패킷 페이로드 데이터가 존재하고 EBn 이 풀이 아니면, PES 패킷 페이로드가 MBn,k 로부터 EBn 으로 Rbxn,k 와 동일한 레이트에서 전송된다. EBn 이 풀이면, 데이터가 MBn,k 로부터 제거되지 않는다. 데이터의 바이트가 MBn,k 로부터 EBn 으로 전송될 때, MBn,k 에 있고 그 바이트에 선행하는 모든 PES 패킷 헤더 바이트들이 동시적으로 제거되고 폐기된다. MBn,k 에 존재하는 어떤 PES 패킷 페이로드 데이터도 없을 때, MBn,k 로부터 어떤 데이터도 제거되지 않는다. MBn,k 에 들어가는 모든 데이터가 거기를 떠난다. 모든 PES 패킷 페이로드 데이터 바이트들이 MBn,k 를 떠나자 마자 동시적으로 EBn 에 들어간다.
기본 스트림 버퍼 EBn 의 출력 시, 기본 스트림들은, 어느 기본 스트림 ESn,k 에 각각의 HEVC 액세스 유닛이 속하는지에 관계없이, 모든 HEVC 액세스 유닛들을 오름 DTS 순서로 제거하고 그들을 HEVC 디코더 DH 로 전송함으로써 집성된다.
STD 지연
시스템 목표 디코더들 버퍼들 TBn,k, MBn,k, 및 EBn 을 통한 HEVC 정지 화상 데이터 이외의 임의의 ITU-T 권고안 H.265 | ISO/IEC 23008-2 데이터의 STD 지연은 액세스 유닛 An(j) 에서의 모든 k, 모든 j, 및 모든 바이트들 i 에 대해 tdn(j) - t(i) ≤ 10 초로 속박되어야 한다.
시스템 목표 디코더들 TBn ,k, MBn ,k, 및 EBn 을 통한 임의의 HEVC 정지 화상 데이터의 지연은 액세스 유닛 An(j) 에서의 모든 k, 모든 j, 및 모든 바이트들 i 에 대해 tdn(j) - t(i) ≤ 60 초로 속박되어야 한다.
버퍼 관리 조건들
전송 스트림들은 버퍼 관리를 위한 다음 조건들이 만족되도록 속박되어야 한다:
Figure pct00059
각각의 TBn,k 은 오버플로우되지 않아야 하며 적어도 매 초마다 한번 비워져야 한다.
Figure pct00060
각각의 MBn,k, EBn, 및 DPB 는 오버플로우되지 않아야 한다.
Figure pct00061
EBn 는 '1' 로 설정된 low_delay_ hrd _ flag 를 가지는 HEVC 비디오 시퀀스에 대해 VUI 파라미터들이 존재할 때를 제외하고는, 언더플로우되지 않아야 한다. An(j) 의 하나 이상의 바이트들이 EBn 에 디코딩 시간 tdn(j) 에 존재하지 않을 때 HEVC 액세스 유닛 An(j) 에 대해 EBn 의 언더플로우가 일어난다.
2.17.4 HEVC 계층화된 비디오 서브- 비트스트림의 계층화된 전송을 위한 T-STD 확장판들
2.17.2 또는 2.17.3 에 기술된 T-STD 모델은, 수신된 기본 스트림이 stream_type 0x24 또는 0x25 의 비디오 서브-비트스트림이면, 즉, 단지 HEVC 기초 계층 비디오 서브-비트스트림 또는 기초 계층의 HEVC 시간 비디오 서브세트가 수신되어 디코딩되면, 적용된다.
2.6.97 에서 정의된 바와 같이, 의존성들이 계층구조 확장판 디스크립터에서 시그널링될 수도 있는, 권고안 ITU-T H.222.0 | ISO/IEC 13818-1 프로그램에서의 HEVC 계층화된 비디오 서브-비트스트림들의 세트가 존재할 때, 그리고, 0x26 과 동일한 stream_type 의 값을 가지는 수신된 기본 스트림들의 세트에 HEVC 계층화된 비디오 서브-비트스트림들 중 적어도 하나가 존재할 때, 2.14.3.1 에 기술된 바와 같은 T-STD 모델은 도 X-3 에 예시된 바와 같이 그리고 아래에서 규정된 바와 같이 확장된다.
도 2 내지 도 15 - HEVC 계층화된 비디오 서브- 비트스트림들을 가지는 권고안 ITU-T H.265 | ISO/IEC 23008-2 비디오에 대한 T-STD 모델 확장판들
다음 추가적인 표기들이 T-STD 확장판들을 기술하기 위해 사용되며, 위에 도 2 내지 도 15 에 예시된다.
ESn n-번째 HEVC 계층화된 비디오 서브-비트스트림과 연관된 수신된 기본 스트림이며, 여기서, n 은 기초 계층을 포함하는 HEVC 계층 식별자 서브세트에 대해 값 0 에서 시작하여 계층 식별자 서브세트들의 최소 nuh_layer_id 에 따라서 순서정렬되는, HEVC 계층 식별자 서브세트들에의 인덱스이다
ESH 수신된 기본 스트림들의 모든 HEVC 계층화된 비디오 서브-비트스트림들에 존재하는 최고 nuh_layer_id 를 가지는 계층들을 포함하는 H-번째 HEVC 계층화된 비디오 서브-비트스트림과 연관된 수신된 기본 스트림이다
j 재-조립된 액세스 유닛들에의 인덱스이다
jn n-번째 HEVC 계층화된 비디오 서브-비트스트림과 연관된 기본 스트림 ESn 의 HEVC 계층 식별자 세트들에의 인덱스이다
VSn(jn) ESn 과 연관된 HEVC 계층화된 비디오 서브-비트스트림의 jn-번째 HEVC 계층 픽처 서브세트이다
AH(j) ESH 와 연관된 H-번째 HEVC 계층 픽처 서브세트를 (까지) 재-조립하는 것으로부터 기인하는 j-번째 액세스 유닛이다
tdn(jn) HEVC 계층 픽처 서브세트 VSn(jn) 의 시스템 목표 디코더에서, 초로 측정된, 디코딩 시간이다
tdH(j) HEVC 계층 픽처 서브세트 VSH(jH) 를 (까지) 재-조립하는 것으로부터 기인하는 j-번째 액세스 유닛 AH(j) 의 시스템 목표 디코더에서, 초로 측정된, 디코딩 시간이다
TBn 기본 스트림 ESn 에 대한 전송 버퍼이다
TBSn 바이트들로 측정된, 전송 버퍼 TBn 의 사이즈이다
MBn 기본 스트림 ESn 에 대한 멀티플렉싱 버퍼이다
MBSn 바이트들로 측정된 멀티플렉싱 버퍼 MBn 의 사이즈이다
VSBn 기본 스트림 ESn 에 대한 HEVC 계층 픽처 서브세트 버퍼이다
VSBSn 바이트들로 측정된, HEVC 계층 픽처 서브세트 버퍼 VSBn 의 사이즈이다
EBH HEVC 기초 계층 비디오 서브-비트스트림을 포함한, HEVC 계층화된 비디오 서브-비트스트림에 대한 기본 스트림 버퍼이다
EBSH 바이트들로 측정된, 기본 스트림 버퍼 EBH 의 사이즈이다
Rxn 아래에 규정된 바와 같은, TBn 으로부터 MBn 으로의 전송율
Rbxn 아래에 규정된 바와 같은, MBn 으로부터 VSBn 으로의 전송율
PES 패킷들에서의 운반
HEVC 액세스 유닛에 대한 HEVC 계층 픽처 서브세트들의 올바른 재-조립을 위해, 다음이 적용된다:
Figure pct00062
HEVC 계층 픽처 서브세트 시작 (start) 당 PES 패킷이 존재하여야 한다, 즉, 많아 봐야 하나의 HEVC 계층 픽처 서브세트가 동일한 PES 패킷에서 시작할 수도 있다;
Figure pct00063
PTS 그리고, 적용가능한 경우, DTS 값은 각각의 HEVC 계층 픽처 서브세트의 PES 헤더에서 제공되어야 한다
DPB 버퍼 관리
재-조립된 HEVC 비디오 스트림에 대한 DPB 버퍼 관리는, 기본 스트림 ESH 에서의 HEVC 계층화된 비디오 서브-비트스트림의 HEVC 계층 픽처 서브세트와 연관된, HEVC 액세스 유닛 타이밍 값들을, DTS 또는 CPB 제거 시간, 및 PTS 또는 DPB 제거 시간으로서 이용함으로써, 2.17.2 또는 2.17.3 에 따라야 한다.
TB n , MB n , EB n 버퍼 관리
다음이 적용된다:
Figure pct00064
도 X-3 에 나타낸 바와 같은 기본 스트림들에 포함되는, HEVC 기초 계층 비디오 서브-비트스트림을 포함한, 수신된 HEVC 계층화된 비디오 서브-비트스트림들의 세트에서의 각각의 수신된 기본 스트림에 대해, 2.14.3.1 에서 정의된 바와 같이, 정확히 하나의 전송 버퍼 TB 가 존재한다.
Figure pct00065
기본 스트림 ES0 에서의 HEVC 기초 계층 비디오 서브-비트스트림에 대해 정확히 하나의 멀티플렉싱 버퍼 MB0 가 존재하며, 여기서, 멀티플렉싱 버퍼 MBS0 의 사이즈는 다음과 같이 속박된다:
MBS0 = BSmux,0 + BSoh,0 + CpbBrNalFactor × MaxCPB[tier, level]0 - cpb_size0
여기서, BSmux,0, BSoh,0 는 기본 스트림 ES0 에서의 HEVC 기초 계층 비디오 서브-비트스트림에 대해 2.14.3.1 에 정의된다.
여기서, 기본 스트림 ES0 에 대한 MaxCPB[tier, level]0 및 cpb_size0 는 2.14.3.1 에서와 같이 정의된다.
주 1 - HRD 파라미터들이 HEVC 계층화된 비디오 서브-비트스트림들 중 적어도 하나에 존재하면, 그들 파라미터들은 멀티플렉싱 버퍼들 할당을 불필요하게 증가시키지 않도록 하기 위해서 주의깊게 처리되어야 한다.
Figure pct00066
0 과 동일하지 않은 nuh_layer_id 값과 연관된 각각의 수신된 기본 스트림에 대해 정확히 하나의 멀티플렉싱 버퍼 MBn 가 존재하며, 여기서, 수신된 기본 스트림들의 세트에서 각각의 멀티플렉싱 버퍼 MBSn 의 사이즈는 다음과 같이 속박된다:
MBSn = BSmux,n + BSoh,n
여기서, BSmux,n, BSoh,n 은 기본 스트림 ESn 에서의 HEVC 계층화된 비디오 서브-비트스트림을 (까지) 재-조립하는 것으로부터 기인하는 HEVC 비디오 스트림에 대해 2.14.3.1 에 정의된다.
Figure pct00067
도 X-3 에 나타낸 바와 같은 수신된 기본 스트림들의 세트에서의 모든 기본 스트림들에 대해 정확히 하나의 기본 스트림 버퍼 EBH 가 존재하며, 그의 사이즈 EBSH 는 다음 값을 갖는다:
EBSH = cpb_sizeH
여기서, cpb_sizeH 는 재-조립된 HEVC 비디오 스트림에 대해 2.14.3.1 에서 정의된 바와 같은 기본 스트림 ESH 에서 HEVC 계층화된 비디오 서브-비트스트림에 대한 cpb_size 이다.
Figure pct00068
도 X-3 에 나타낸 바와 같은 수신된 기본 스트림들의 세트에서의 각각의 기본 스트림에 대해 정확히 하나의 HEVC 계층 픽처 서브세트 버퍼 VSBn 이 존재하며, 여기서, 수신된 기본 스트림들의 세트에서의 각각의 HEVC 계층 픽처 서브세트 버퍼 VSBn 은 EBH 내에 할당된다. 개개의 VSBn 의 사이즈 VSBSn 이 속박되지 않더라도, 사이즈들 VSBSn 의 합계는 다음과 같이 속박된다:
EBSH = ∑n (VSBSn)
Figure pct00069
TBn 으로부터 MBn 으로의 전송은 다음과 같이 적용된다:
레이트 Rxn:
TBn 에 어떤 데이터도 없으면, Rxn 은 제로와 동일하다.
그렇지 않으면: Rxn = bit_rate
여기서, bit_rate 는 바이트 스트림 포맷에 대한 CPB 로의 데이터 흐름의, CpbBrNalFactor / CpbBrVclFactor x BitRate[ SchedSelIdx ] 이며, BitRate[ SchedSelIdx ] 는 NAL HRD 파라미터들이 HEVC 계층화된 비디오 서브-비트스트림에 대한 VPS 에 존재할 때 권고안 ITU-T H.265 | ISO/IEC 23008-2 에서 정의된 것과 동일하다.
Figure pct00070
MBn 으로부터 VSBn 으로의 전송은 다음과 같이 적용된다:
HEVC_timing_and_HRD_descriptor 가 존재하고 동시에 hrd_management_valid_flag 가 기본 스트림 ESH 에 대해 '1' 로 설정되면, MBn 으로부터 VSBn 으로의 데이터의 전송은 권고안 ITU T H.265 | ISO/IEC 23008-2 의 부속서 C 에 정의된 바와 같이 기본 스트림 ESH 의 CPB 에의 데이터 도달을 위해 HRD 정의된 방식을 따라야 한다.
그렇지 않으면, 누설 방법은 다음과 같이 데이터를 MBn 으로부터 VSBn 으로 전송하는데 사용되어야 한다:
레이트 Rbxn:
Rbxn = CpbBrNalFactor × MaxBR[tier, level]n
여기서, MaxBR[tier, level]n 은 기본 스트림 ESn 에서의 연관된 HEVC 계층화된 비디오 서브-비트스트림 n (까지) 을 재조립하는 것으로부터 기인하는 HEVC 비디오 스트림의 레벨에 대한 권고안 ITU T H.265 | ISO/IEC 23008-2 에서의 표 A.1 (레벨 한계들) 에서 바이트 스트림 포맷에 대해 정의된다. MBn 에 PES 패킷 페이로드 데이터가 있고, 그리고 버퍼 EBH 가 풀이 아니면, PES 패킷 페이로드가 MBn 으로부터 VSBn 으로 Rbxn 과 동일한 레이트에서 전송된다. EBH 가 풀이면, 데이터가 MBn 으로부터 제거되지 않는다. 데이터의 바이트가 MBn 으로부터 VSBn 으로 전송될 때, MBn 에 있고 그 바이트에 선행하는 모든 PES 패킷 헤더 바이트들이 동시적으로 제거되고 폐기된다. MBn 에 어떤 PES 패킷 페이로드 데이터도 존재하지 않을 때, 어떤 데이터도 MBn 으로부터 제거되지 않는다. MBn 에 들어가는 모든 데이터가 거기에 떠난다. 모든 PES 패킷 페이로드 데이터 바이트들이 MBn 을 떠나자 마자 동시적으로 VSBn 에 들어간다. [Ed (CY): 최근의 MV-HEVC 사양에 기초하여 업데이트됨.]
액세스 유닛 재-조립 및 EB 제거
다음은 HEVC 액세스 유닛 AH(j) 를 초래하는 액세스 유닛 재-조립을 규정한다:
i) 아래 규칙을 따르는 j-번째 액세스 유닛 AH(j) 에 대해 HEVC 계층 처 서브세트들을 조립한다 :
Figure pct00071
액세스 유닛 AH(j) 에 대해 수집된 HEVC 계층 픽처 서브세트들 VSy+1(jy+1) 및 각각의 VSy(jy) 에 대해, 여기서 VSy 는 연관된 계층구조 확장판 디스크립터에 표시된 hierarchy_ext_embedded_layer_index 의 각각의 값에 의해 식별되는 프로그램 엘리먼트와 연관되며, VSy+1(jy+1) 의 tdy+1(jy+1) 의 DTS 값은 DTS 값 VSy(jy) 의 tdy(jy) 와 동일하여야 한다.
주 3 - 어떤 계층구조 확장판 디스크립터도 존재하지 않으면, VSy 는 HEVC 기초 계층 비디오 서브-비트스트림과 연관되며 VSy +1 은 HEVC 계층화된 비디오 서브-비트스트림과 연관된다.
[Ed. (CY): MVC 및 SVC 에 대한 SEI 메시지들의 재순서정렬이 여기서 제거된다.]
다음은 버퍼 EBH 로부터 액세스 유닛 AH(j) 의 제거를 규정한다:
디코딩 시간 tdH(j) 에서, HEVC 액세스 유닛 AH(j) 는 재-조립되어야 하며, 버퍼 EBH 로부터의 제거에 이용가능하다. 디코딩 시간 tdH(j) 는 재-조립된 AVC 비디오 스트림에서의 정보로부터 유도된 것과 같은, 기본 스트림 ESH 에서의 HEVC 계층 픽처 서브세트들과 연관되는 CPB 제거 시간에 의해, 또는 DTS 에 의해, 규정된다.
STD 지연
재-조립된 HEVC 액세스 유닛들에 대한 STD 지연은 2.17.1 에 규정된 제약들을 따라야 한다.
버퍼 관리 조건들
전송 스트림들은 버퍼 관리를 위한 다음 조건들이 만족되도록 속박되어야 한다:
Figure pct00072
각각의 TBn 은 오버플로우되지 않아야 하며 적어도 매 초마다 한번 비워져야 한다.
Figure pct00073
각각의 MBn, EBH, 및 DPB 는 오버플로우되지 않아야 한다.
Figure pct00074
EBH 는 '1' 로 설정된 low_delay_hrd_flag 를 가지는 재-조립된 AVC 비디오 스트림의 AVC 비디오 시퀀스에 대해 VUI 파라미터들이 존재할 때를 제외하고는, 언더플로우되지 않아야 한다. AH(j) 의 하나 이상의 바이트들이 EBH 에 디코딩 시간 tdH(j) 에 존재하지 않을 때 HEVC 액세스 유닛 AH(j) 에 대해 EBH 의 언더플로우가 일어난다.
2.17.5 HEVC 계층화된 비디오 서브- 비트스트림에 대한 P-STD 확장판들
디코딩된 기본 스트림이 stream_type 0x24 또는 0x25 의 비디오 서브-비트스트림이면, 즉, 단지 HEVC 기초 계층 비디오 서브-비트스트림만이 디코딩되면, P-STD 모델이 적용된다.
2.6.99 에서 정의된 바와 같이 계층 식별자 서브세트 값들이 HEVC_extension_descriptor 에서 시그널링될 수도 있는 권고안 ITU-T H.222.0 | ISO/IEC 13818-1 프로그램에 디코딩된 HEVC 계층화된 비디오 서브-비트스트림들의 세트가 존재할 때, 그리고, 0x26 과 동일한 stream_type 의 값을 가지는 디코딩된 기본 스트림들의 세트에 HEVC 계층화된 비디오 서브-비트스트림들 중 적어도 하나가 존재할 때, 2.14.3.2 에 기술된 바와 같은 P-STD 모델은, 도 X-4 에 예시된 바와 같이 그리고 아래에 규정된 바와 같이 확장된다.
도 X-4 - HEVC 계층화된 비디오 서브- 비트스트림들을 가지는 권고안 ITU-T H.265 | ISO/IEC 23008-2 비디오에 대한 P-STD 모델 확장판들
다음 추가적인 표기들이 P-STD 확장판들을 기술하기 위해 사용되며, 위에 도 X-4 에 예시된다.
ESn n-번째 HEVC 계층화된 비디오 서브-비트스트림과 연관된 수신된 기본 스트림이며, 여기서, n 은 기초 계층을 포함하는 HEVC 계층 식별자 서브세트에 대해 값 0 에서 시작하여 각각의 HEVC 계층 식별자 서브세트에 포함된 최소 nuh_layer_id 에 따라서 순서정렬되는, HEVC 계층 식별자 서브세트들에의 인덱스이다
ESH 수신된 기본 스트림들의 모든 HEVC 계층 식별자 서브세트들에 존재하는 최고 nuh_layer_id 를 가지는 HEVC 계층 픽처들을 포함하는 H-번째 계층화된 비디오 서브-비트스트림과 연관된 수신된 기본 스트림이다
j 재-조립된 액세스 유닛들에의 인덱스이다
jn N-번째 HEVC 계층 픽처 서브세트와 연관된 기본 스트림의 HEVC 계층 픽처 서브세트들에의 인덱스이다
VSn(jn) ESn 과 연관된 HEVC 계층화된 비디오 서브-비트스트림의 jn-번째 HEVC 계층 픽처 서브세트이다
AH(j) ESH 와 연관된 H-번째 HEVC 계층 픽처 서브세트를 (까지) 재-조립하는 것으로부터 기인하는 j-번째 액세스 유닛이다
tdn(jn) HEVC 계층 픽처 서브세트 VSn(jn) 의 시스템 목표 디코더에서, 초로 측정된, 디코딩 시간이다
tdH(j) HEVC 계층 픽처 서브세트 VSH(jH) 를 (까지) 재-조립하는 것으로부터 기인하는 j-번째 액세스 유닛 AH(j) 의 시스템 목표 디코더에서, 초로 측정된, 디코딩 시간이다
BH 모든 디코딩된 HEVC 계층화된 비디오 서브-비트스트림들에 대한 입력 버퍼이다
BSH 바이트들로 측정된, 입력 버퍼 BH 의 사이즈이다
VSBn 기본 스트림 ESn 에 대한 HEVC 계층화된 픽처 서브세트 버퍼이다
VSBSn 바이트들로 측정된, HEVC 계층화된 픽처 서브세트 버퍼 VSBn 의 사이즈이다
PES 패킷들에서의 운반
HEVC 액세스 유닛에 대한 HEVC 계층 픽처 서브세트들의 올바른 재-조립을 위해, 다음이 적용된다:
Figure pct00075
HEVC 계층 픽처 시작 (start) 당 PES 패킷이 존재하여야 한다, 즉, 많아 봐야 하나의 HEVC 계층 픽처 서브세트가 동일한 PES 패킷에서 시작할 수도 있다;
Figure pct00076
PTS 그리고, 적용가능한 경우, DTS 값은 각각의 HEVC 계층 픽처 서브세트의 PES 헤더에서 제공되어야 한다.
DPB 버퍼 관리
재-조립된 HEVC 비디오 스트림에 대한 DPB 버퍼 관리는, 기본 스트림 ESH 에서의 HEVC 계층화된 비디오 서브-비트스트림의 HEVC 계층 픽처 서브세트들과 연관된, HEVC 액세스 유닛 타이밍 값들을, DTS 또는 CPB 제거 시간, 및 PTS 또는 DPB 제거 시간으로서 이용함으로써, MPEG-2 TS 의 2.14.3.1 에 따라야 한다.
Bn 버퍼 관리
다음이 적용된다:
Figure pct00077
도 X-4 에 나타낸 바와 같은 디코딩된 기본 스트림들의 세트에서의 모든 기본 스트림들에 대해 정확히 하나의 기본 스트림 버퍼 BH 가 존재하며, 여기서, BSH 의 사이즈는 기본 스트림 ESH 의 PES 패킷 헤더에서의 P STD_buffer_size 필드에 의해 정의된다.
Figure pct00078
도 X-4 에 나타낸 바와 같은 디코딩된 기본 스트림들의 세트에서의 각각의 기본 스트림에 대해 정확히 하나의 HEVC 계층 픽처 서브세트 버퍼 VSBn 이 존재하며, 여기서, 디코딩된 기본 스트림들의 세트에서의 각각의 HEVC 계층 서브세트 버퍼 VSBn 은 BSH 내에 할당된다. 개개의 VSBn 의 사이즈 VSBSn 이 속박되지 않더라도, 사이즈들 VSBSn 의 합계는 다음과 같이 속박된다:
BSH = ∑n (VSBSn)
여기서, BSH 는 재-조립된 AVC 비디오 스트림에 대해, 2.14.3.2 에 정의된 바와 같은, 기본 스트림 ESH 에서의 MVC 비디오 서브-비트스트림에 대한 입력 버퍼의 사이즈이다.
액세스 유닛 재-조립 및 B 제거
다음은 AVC 액세스 유닛 AH(j) 를 초래하는 액세스 유닛 재-조립을 규정한다:
i) 아래 규칙을 따르는 j-번째 액세스 유닛 AH(j) 에 대해 HEVC 계층 픽처 서브세트들을 조립한다:
Figure pct00079
액세스 유닛 AH(j) 에 대해 수집된 HEVC 계층 픽처 서브세트 VSy+1(jy+1) 및 각각의 VSy(jy) 에 대해, 여기서 VSy 는 연관된 계층구조 확장판 디스크립터에 표시된 hierarchy_ext_embedded_layer_index 의 각각의 값에 의해 식별되는 프로그램 엘리먼트와 연관되며, VSy+1(jy+1) 의 tdy+1(jy+1) 의 DTS 값은 DTS 값 VSy(jy) 의 tdy(jy) 와 동일하여야 한다.
다음은 버퍼 BH 로부터 액세스 유닛 AH(j) 의 제거를 규정한다:
디코딩 시간 tdH(jH) 에서, HEVC 액세스 유닛 AH(jH) 은 재-조립되어야 하며, 버퍼 BH 로부터의 제거에 이용가능하다. 디코딩 시간 tdH(j) 는 재-조립된 AVC 비디오 스트림에서의 정보로부터 유도된 것과 같은, 기본 스트림 ESH 에서의 HEVC 계층 픽처 서브세트들과 연관되는 CPB 제거 시간에 의해, 또는 DTS 에 의해, 규정된다.
STD 지연
재-조립된 HEVC 액세스 유닛들에 대한 STD 지연은 2.17.1 에 규정된 제약들에 따라야 한다.
버퍼 관리 조건들
프로그램 스트림들은 버퍼 관리에 대한 다음 조건들이 만족되도록 속박되어야 한다:
Figure pct00080
BH 는 오버플로우되지 않아야 한다.
Figure pct00081
BH 는 '1' 로 설정된 low_delay_hrd_flag 를 가지는 재-조립된 HEVC 비디오 스트림의 HEVC 비디오 시퀀스에 대해 VUI 파라미터들이 존재할 때, 또는 trick_mode 상태가 참일 때를 제외하고는, 언더플로우되지 않아야 한다. AH(j) 의 하나 이상의 바이트들이 BH 에 디코딩 시간 tdH(j) 에 존재하지 않을 때 AVC 액세스 유닛 AH(j) 에 대해 BH 의 언더플로우가 일어난다.
본 개시물에서 설명하는 기법들은 비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스들, 예컨대 스플라이싱 엔진들, 미디어 인지 네트워크 엘리먼트들 (MANEs), 스트리밍 서버들, 라우터들, 및 코딩된 비디오 비트스트림들을 인코딩하거나, 디코딩하거나, 조립하거나, 구성하거나, 추출하거나 또는 아니면 프로세싱하는 다른 디바이스들과 같은, 다양한 비디오 프로세싱 디바이스들 중 임의의 디바이스에 의해 수행될 수도 있다.
도 6 은 MPEG-2 시스템들에 의한, 멀티뷰 HEVC (MV-HEVC), 스케일러블 HEVC (SHVC), 및 3차원의 HEVC (3D-HEVC) 확장판 비트스트림들을 포함한, HEVC 멀티-계층 확장판 비트스트림들의 운반을 위한 기법들과 같은, 본 개시물의 기법들을 구현하도록 구성될 수도 있는 예시적인 비디오 인코더 (20) 를 예시하는 블록도이다.
본 개시물은 HEVC 코딩, 그리고 좀더 자세하게는, MV-HEVC, SHVC, 및 3D-HEVC 코딩 확장판들의 상황에서 비디오 인코더 (20) 를 기술한다. 그러나, 본 개시물의 기법들은 다른 비디오 코딩 표준들 또는 방법들에 적용가능할 수도 있다. 따라서, 도 6 은 설명의 목적들을 위해 제공되며 본 개시물에서 넓게 예시되고 설명된 바와 같은 기법들의 한정으로 간주되지 않아야 한다.
도 6 의 예에서, 비디오 인코더 (20) 는 예측 프로세싱 유닛 (100), 비디오 데이터 메모리 (101), 잔차 발생 유닛 (102), 변환 프로세싱 유닛 (104), 양자화 유닛 (106), 역양자화 유닛 (108), 역변환 프로세싱 유닛 (110), 복원 유닛 (112), 필터 유닛 (114), 디코딩된 픽처 버퍼 (116), 및 엔트로피 인코딩 유닛 (118) 을 포함한다. 예측 프로세싱 유닛 (100) 은 인터-예측 프로세싱 유닛 (120) 및 인트라-예측 프로세싱 유닛 (126) 을 포함한다. 인터-예측 프로세싱 유닛 (120) 은 모션 추정 (ME) 유닛 (122) 및 모션 보상 (MC) 유닛 (124) 을 포함한다.
예측 프로세싱 유닛 (100) 의 구성요소들은 텍스쳐 인코딩 및 심도 인코딩 양쪽을 수행하는 것으로 설명된다. 일부 예들에서, 텍스쳐 및 심도 인코딩은 예측 프로세싱 유닛 (100) 의 동일한 구성요소들 또는 예측 프로세싱 유닛 (100) 내 상이한 구성요소들에 의해 수행될 수도 있다. 예를 들어, 일부 구현예들에서 별개의 텍스쳐 및 심도 인코더들이 제공될 수도 있다. 또한, 다수의 텍스쳐 및 심도 인코더들은 예컨대, 멀티뷰 플러스 심도 코딩을 위한 다수의 뷰들을 인코딩하기 위해 제공될 수도 있다. 비디오 인코더 (20) 는 도 6 에 나타낸 기능적 구성요소들보다 더 많거나, 더 적거나, 또는 상이한 기능적 구성요소들을 포함할 수도 있다.
일부 예들에서, 예측 프로세싱 유닛 (100) 은 MV-HEVC, SHVC, 또는 3D-HEVC 에 따라서, 예컨대, 본 개시물에서 설명되는 변경사항들 및/또는 추가사항들을 조건으로 하여, 실질적으로 동작할 수도 있다. 예측 프로세싱 유닛 (100) 은 신택스 정보를 엔트로피 인코딩 유닛 (118) 에 제공할 수도 있다. 신택스 정보는 예를 들어, 어느 예측 모드들이 사용되었는지 및 이러한 모드들에 관한 정보를 표시할 수도 있다.
비디오 인코더 (20) 는 인코딩되는 비디오 데이터를 수신한다. 비디오 데이터 메모리 (101) 는 비디오 인코더 (20) 의 구성요소들에 의해 인코딩될 비디오 데이터를 저장할 수도 있다. 비디오 데이터 메모리 (101) 에 저장된 비디오 데이터는 예를 들어, 비디오 소스 (18) 로부터 획득될 수도 있다. 디코딩된 픽처 버퍼 (116) 는 예컨대, 인트라- 또는 인터-코딩 모드들에서 비디오 인코더 (20) 에 의해 비디오 데이터를 인코딩할 때에 사용하기 위해 참조 비디오 데이터를 저장하는 참조 픽처 메모리일 수도 있다. 비디오 데이터 메모리 (101) 및 디코딩된 픽처 버퍼 (116) 는 동기 DRAM (SDRAM) 을 포함한 동적 랜덤 액세스 메모리 (DRAM), 자기저항 RAM (MRAM), 저항 RAM (RRAM), 또는 다른 유형들의 메모리 디바이스들과 같은, 다양한 메모리 디바이스들 중 임의의 메모리 디바이스에 의해 형성될 수도 있다. 비디오 데이터 메모리 (101) 및 디코딩된 픽처 버퍼 (116) 는 동일한 메모리 디바이스 또는 별개의 메모리 디바이스들에 의해 제공될 수도 있다. 여러 예들에서, 비디오 데이터 메모리 (101) 는 비디오 인코더 (20) 의 다른 구성요소들과의 온칩, 또는 그들 구성요소들에 대한 오프-칩일 수도 있다.
비디오 인코더 (20) 는 비디오 데이터의 픽처의 슬라이스에서의 각각의 복수의 코딩 트리 유닛들 (CTU들) 을 인코딩할 수도 있다. CTU들의 각각은 픽처의 동일-사이즈의 루마 코딩 트리 블록들 (CTB들) 및 대응하는 크로마 CTB들과 연관될 수도 있다. CTU 를 인코딩하는 것의 일부로서, 예측 프로세싱 유닛 (100) 은 쿼드-트리 파티셔닝을 수행하여, CTU 의 CTB들을 계속해서-더 작은 블록들로 분할할 수도 있다. 더 작은 블록은 CU들의 코딩 블록들일 수도 있다. 예를 들어, 예측 프로세싱 유닛 (100) 은 CTU 와 연관되는 CTB 를 4개의 동일-사이즈로된 서브-블록들로 파티셔닝하고, 서브-블록들 중 하나 이상을 4개의 동일-사이즈로된 서브-서브-블록들로, 그리고 기타 등등으로 파티셔닝할 수도 있다.
비디오 인코더 (20) 는 CU들의 인코딩된 표현들 (즉, 코딩된 CU들) 을 발생하기 위해 CTB 의 CU들을 인코딩할 수도 있다. CU 를 인코딩하는 것의 일부로서, 예측 프로세싱 유닛 (100) 은 CU 의 하나 이상의 PU들 중에서 CU 와 연관되는 코딩 블록들을 파티셔닝할 수도 있다. 따라서, 각각의 PU 는 루마 예측 블록 및 대응하는 크로마 예측 블록들과 연관될 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 여러 사이즈들을 가지는 PU들을 지원할 수도 있다. 위에서 나타낸 바와 같이, CU 의 사이즈는 CU 의 루마 코딩 블록의 사이즈를 지칭할 수도 있으며, PU 의 사이즈는 루마 PU 의 예측 블록의 사이즈를 지칭할 수도 있다. 특정의 CU 의 사이즈가 2Nx2N 이라고 가정하면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 인트라 예측에 대해서는 2Nx2N 또는 NxN 의 PU 사이즈들을, 그리고 인터 예측에 대해서는 2Nx2N, 2NxN, Nx2N, NxN, 또는 등등의 대칭 PU 사이즈들을 지원할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 또한 인터 예측에 대해서 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에 대한 비대칭적인 파티셔닝을 지원할 수도 있다. 본 개시물의 양태들에 따르면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 또한 심도 인터 코딩을 위한 PU 의 비-직사각형의 파티션들을 지원한다.
인터-예측 프로세싱 유닛 (120) 은 CU 의 각각의 PU 에 대해 인터 예측을 수행함으로써, PU 에 대한 예측 데이터를 발생시킬 수도 있다. PU 에 대한 예측 데이터는 PU 의 예측 블록들 및 PU 에 대한 모션 정보를 포함할 수도 있다. 인터-예측 프로세싱 유닛 (120) 은 PU 가 I 슬라이스, P 슬라이스, 또는 B 슬라이스 내에 있는지에 따라서, CU 의 PU 에 대해 상이한 동작들을 수행할 수도 있다. I 슬라이스에서, 모든 PU들은 인트라 예측된다. 그러므로, PU 가 I 슬라이스에 있으면, 인터-예측 프로세싱 유닛 (120) 은 PU 에 관해 인터 예측을 수행하지 않는다. 따라서, I-모드에서 인코딩되는 블록들에 대해, 예측 블록은 동일한 픽처 내에서 이전에-인코딩된 이웃하는 블록들로부터 공간 예측을 이용하여 형성된다.
PU 가 P 슬라이스 내에 있을 때, 모션 추정 (ME) 유닛 (122) 은 참조 픽처들의 리스트 (예컨대, "RefPicList0") 에서의 참조 픽처들을 PU 에 대한 참조 영역에 대해 탐색할 수도 있다. 참조 픽처들은 디코딩된 픽처 버퍼 (116) 에 저장될 수도 있다. PU 에 대한 참조 영역은 PU 의 샘플 블록들에 가장 가깝게 대응하는 샘플 블록들을 포함하는, 참조 픽처 내, 영역일 수도 있다. 모션 추정 (ME) 유닛 (122) 은 PU 에 대한 참조 영역을 포함하는 참조 픽처의 RefPicList0 에서의 위치를 나타내는 참조 인덱스를 발생시킬 수도 있다.
게다가, 인터-코딩을 위해, 모션 추정 (ME) 유닛 (122) 은 PU 의 코딩 블록과, 참조 영역과 연관되는 참조 로케이션 사이의 공간 변위를 나타내는 모션 벡터 (MV) 를 발생시킬 수도 있다. 예를 들어, MV 는 현재의 픽처에서의 좌표들로부터 참조 픽처에서의 좌표들까지 오프셋을 제공하는 2차원 벡터일 수도 있다. 모션 추정 (ME) 유닛 (122) 은 참조 인덱스 및 MV 를 PU 의 모션 정보로서 출력할 수도 있다. 모션 보상 (MC) 유닛 (124) 은 PU 의 모션 벡터에 의해 표시되는 참조 로케이션에서의 실제 또는 내삽된 샘플들에 기초하여, PU 의 예측 샘플 블록들을 발생시킬 수도 있다.
PU 가 B 슬라이스 내에 있을 때, 모션 추정 유닛 (122) 은 PU 에 대해 단방향-예측 또는 양방향-예측을 수행할 수도 있다. PU 에 대한 단방향-예측을 수행하기 위해, 모션 추정 유닛 (122) 은 RefPicList0 또는 제 2 참조 픽처 리스트 ("RefPicList1") 의 참조 픽처들을 PU 에 대한 참조 영역에 대해 탐색할 수도 있다. 모션 추정 (ME) 유닛 (122) 은 참조 영역을 포함하는 참조 픽처의 RefPicList0 또는 RefPicList1 에서의 위치를 나타내는 참조 인덱스, PU 의 샘플 블록과 참조 영역과 연관되는 참조 로케이션 사이의 공간 변위를 나타내는 MV, 및 참조 픽처가 RefPicList0 또는 RefPicList1 에 있는지 여부를 나타내는 하나 이상의 예측 방향 표시자들을, PU 의 모션 정보로서 출력할 수도 있다. 모션 보상 (MC) 유닛 (124) 은 PU 의 모션 벡터에 의해 표시되는 참조 영역에서의 실제 또는 내삽된 샘플들에 적어도 부분적으로 기초하여, PU 의 예측 블록들을 발생시킬 수도 있다.
PU 에 대한 양방향 인터-예측을 수행하기 위해, 모션 추정 유닛 (122) 은 RefPicList0 에서의 참조 픽처들을 PU 에 대한 참조 영역에 대해 탐색할 수도 있으며, 또한 RefPicList1 에서의 참조 픽처들을 PU 에 대한 또 다른 참조 영역에 대해 탐색할 수도 있다. 모션 추정 (ME) 유닛 (122) 은 참조 영역들을 포함하는 참조 픽처들의 RefPicList0 및 RefPicList1 에서의 위치들을 나타내는 참조 픽처 인덱스들을 발생시킬 수도 있다. 게다가, 모션 추정 (ME) 유닛 (122) 은 참조 영역들과 연관되는 참조 로케이션과 PU 의 샘플 블록 사이의 공간 변위들을 나타내는 MV들을 발생시킬 수도 있다. PU 의 모션 정보는 PU 의 참조 인덱스들 및 MV들을 포함할 수도 있다. 모션 보상 (MC) 유닛 (124) 은 PU 의 모션 벡터에 의해 표시되는 참조 영역에서의 실제 또는 내삽된 샘플들에 적어도 부분적으로 기초하여, PU 의 예측 블록들을 발생시킬 수도 있다.
인트라-예측 프로세싱 유닛 (126) 은 PU 에 대해 인트라 예측을 수행함으로써, PU 에 대한 예측 데이터를 발생시킬 수도 있다. PU 에 대한 인트라-예측 데이터는 PU 에 대한 예측 블록들 및 여러 신택스 엘리먼트들을 포함할 수도 있다. 인트라-예측 프로세싱 유닛 (126) 은 I 슬라이스들, P 슬라이스들, 및 B 슬라이스들에서의 PU들에 대해 인트라 예측을 수행할 수도 있다. PU 상에 인트라 예측을 수행하기 위해, 인트라-예측 프로세싱 유닛 (126) 은 다수의 인트라 예측 모드들을 이용하여 예측 PU 에 대한 데이터의 다수의 세트들을 발생시키고, 그후 허용가능한 또는 최적의 코딩 성능을, 예컨대, 레이트-왜곡 최적화 기법들을 이용하여 얻는 인트라-예측 모드들 중 하나를 선택할 수도 있다.
일부 인트라 예측 모드들을 이용하여 예측 PU 에 대한 데이터의 세트를 발생시키기 위해, 인트라-예측 프로세싱 유닛 (126) 은 공간 이웃하는 PU들의 샘플 블록들로부터 PU 의 샘플 블록들을 가로질러 인트라 예측 모드와 연관되는 방향으로 샘플들을 확장할 수도 있다. 이웃하는 PU들은 PU들, CU들, 및 CTU들에 대해 좌-우, 상-하 인코딩 순서를 가정하면, PU 의 상측에, 우상부에, 좌상부에, 또는 좌측에 있을 수도 있다. 인트라-예측 프로세싱 유닛 (126) 은 다수의 인트라 예측 모드들, 예컨대, 33개의 방향 인트라 예측 모드들을 이용할 수도 있다. 일부 예들에서, 인트라 예측 모드들의 수는 PU 와 연관되는 영역의 사이즈에 의존할 수도 있다.
예측 프로세싱 유닛 (100) 은 PU들에 대해 인터-예측 프로세싱 유닛 (120) 에 의해 발생된 예측 데이터, 또는 PU들에 대해 인트라-예측 프로세싱 유닛 (126) 에 의해 발생된 예측 데이터 중으로부터, CU 의 PU들에 대한 예측 데이터를 선택할 수도 있다. 일부 예들에서, 예측 프로세싱 유닛 (100) 은 예측 데이터의 세트들의 레이트/왜곡 메트릭들에 기초하여, CU 의 PU들에 대한 예측 데이터를 선택한다. 선택된 예측 데이터의 예측 블록들은 본원에서 선택된 예측 블록들로서 지칭될 수도 있다.
잔차 발생 유닛 (102) 은 CU 의 코딩 블록 (예컨대, 루마, Cb 또는 Cr 코딩 블록) 및 CU 의 PU들의 선택된 인터- 또는 인트라-예측 블록 (예컨대, 루마, Cb 또는 Cr 예측 블록) 에 기초하여, CU 의 잔차 블록 (예컨대, 루마, Cb 또는 Cr 잔차 블록) 을 발생시킬 수도 있다. 예를 들어, 잔차 발생 유닛 (102) 은 잔차 블록들에서의 각각의 샘플이 CU 의 코딩 블록에서의 샘플과 CU 의 PU 의 대응하는 선택된 예측 샘플 블록에서, 즉, 적용가능한 경우, 루마 또는 크로마 픽셀 값에서의, 대응하는 샘플 사이의 차이와 동일한 값을 가지도록, CU 의 잔차 블록들을 발생시킬 수도 있다.
변환 프로세싱 유닛 (104) 은 쿼드-트리 파티셔닝을 수행하여, CU 와 연관되는 잔차 블록들을 CU 의 TU들과 연관되는 변환 블록들로 파티셔닝할 수도 있다. 따라서, TU 는 루마 변환 블록 및 2개의 크로마 변환 블록들과 연관될 수도 있다. CU 의 TU들의 루마 및 크로마 변환 블록들의 사이즈들 및 위치들은 CU 의 PU들의 예측 블록들의 사이즈들 및 위치들에 기초하거나 또는 기초하지 않을 수도 있다. "잔차 쿼드-트리" (RQT) 로서 알려진 쿼드-트리 구조는 그 영역들 각각과 연관되는 노드들을 포함할 수도 있다. CU 의 TU들은 RQT 의 리프 노드들에 대응할 수도 있다.
규칙적인 잔차 코딩을 위해, 변환 프로세싱 유닛 (104) 은 하나 이상의 변환들을 TU 의 변환 블록들에 적용함으로써, CU 의 각각의 TU 에 대한 변환 계수 블록들을 발생시킬 수도 있다. 변환 프로세싱 유닛 (104) 은 여러 변환들을 TU 와 연관되는 변환 블록에 적용할 수도 있다. 예를 들어, 변환 프로세싱 유닛 (104) 은 변환 블록에 이산 코사인 변환 (DCT), 방향성 변환, 또는 개념적으로 유사한 변환을 적용할 수도 있다. 일부 예들에서, 변환 프로세싱 유닛 (104) 은 변환들을 변환 블록에 적용하지 않는다. 이러한 예들에서, 변환 블록은 변환 계수 블록으로서 취급될 수도 있다.
양자화 유닛 (106) 은, 규칙적인 잔차 코딩을 위해, 계수 블록에서의 잔차 변환 계수들을 양자화할 수도 있다. 양자화 프로세스는 그 변환 계수들의 일부 또는 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 예를 들어, n-비트 변환 계수는 양자화 동안 m-비트 변환 계수로 라운드 다운될 수도 있으며, 여기서, n 은 m 보다 더 크다. 양자화 유닛 (106) 은 CU 와 연관되는 양자화 파라미터 (QP) 값에 기초하여, CU 의 TU 의 계수 블록을 양자화할 수도 있다. 비디오 인코더 (20) 는 CU 와 연관되는 QP 값을 조정함으로써 CU 와 연관되는 계수 블록들에 적용되는 양자화의 정도를 조정할 수도 있다. 양자화는 정보의 손실을 도입할 수도 있으며, 따라서 양자화된 변환 계수들은 원래 정밀도들보다 낮은 정밀도를 가질 수도 있다.
역양자화 유닛 (108) 및 역변환 프로세싱 유닛 (110) 은 역양자화 및 역변환들을 계수 블록에 각각 적용하여, 계수 블록으로부터 잔차 블록을 복원할 수도 있다. 복원 유닛 (112) 은 그 복원된 잔차 블록을 예측 프로세싱 유닛 (100) 에 의해 발생되는 하나 이상의 예측 샘플 블록들로부터의 대응하는 샘플들에 가산하여, TU 와 연관되는 복원된 변환 블록을 생성할 수도 있다. 이 방법으로 CU 의 각각의 TU 에 대한 변환 블록들을 복원함으로써, 비디오 인코더 (20) 는 CU 의 코딩 블록들을 복원할 수도 있다.
필터 유닛 (114) 은 복원된 CU 와 연관되는 코딩 블록들에서 블록킹 아티팩트들과 같은 아티팩트들을 감소시키기 위해, 하나 이상의 필터링 동작들을 수행할 수도 있다. 필터링 동작들은 블록 경계들에서 블록킹 현상을 제거하기 위한 디블록킹, 픽셀 전이들을 평활화하기 위한 루프 필터링, 픽셀 전이들을 평활화하기 위한 샘플 적응적 오프셋 필터링, 또는 가능하면 다른 유형들의 필터링 동작들 또는 기법들 중 하나 이상을 포함할 수도 있다. 디코딩된 픽처 버퍼 (116) 는 필터 유닛 (114) 이 복원된 코딩 블록들에 관해 하나 이상의 디블록킹 동작들을 수행한 후 그 복원된 코딩 블록들을 저장할 수도 있다. 인터-예측 프로세싱 유닛 (120) 은 그 복원된 코딩 블록들을 포함하는 참조 픽처를 이용하여, 다른 픽처들의 PU들에 관해 인터 예측을 수행할 수도 있다. 게다가, 인트라-예측 프로세싱 유닛 (126) 은 디코딩된 픽처 버퍼 (116) 에서의 복원된 코딩 블록들을 이용하여, CU 와 동일한 픽처에서의 다른 PU들에 관해 인트라 예측을 수행할 수도 있다.
엔트로피 인코딩 유닛 (118) 은 비디오 인코더 (20) 의 여러 기능적 구성요소들로부터 데이터를 수신할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 양자화 유닛 (106) 으로부터 계수 블록들을 수신할 수도 있으며 예측 프로세싱 유닛 (100) 으로부터 신택스 엘리먼트들을 수신할 수도 있다. 엔트로피 인코딩 유닛 (118) 은 데이터에 대해 하나 이상의 엔트로피 인코딩 동작들을 수행하여, 엔트로피-인코딩된 데이터를 발생시킬 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 CABAC 동작을 수행할 수도 있다. 다른 엔트로피 코딩 프로세스들의 예들은 컨텍스트-적응 가변 길이 코딩 (CAVLC), 신택스-기반 컨텍스트-적응 2진 산술 코딩 (SBAC), 및 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩을 포함한다. HEVC 에서, CABAC 이 사용된다. 비디오 인코더 (20) 는 엔트로피 인코딩 유닛 (118) 에 의해 발생된 엔트로피-인코딩된 데이터를 포함하는 비트스트림을 출력할 수도 있다. 예를 들어, 비트스트림은 2진 신택스 엘리먼트들 또는 2진화된 신택스 엘리먼트들의 빈들을 표시하는 비트들을 포함할 수도 있다.
도 7 은 MPEG-2 시스템들에 의한, 멀티뷰 HEVC (MV-HEVC), 스케일러블 HEVC (SHVC), 및 3차원의 HEVC (3D-HEVC) 확장판 비트스트림들을 포함한, HEVC 멀티-계층 확장판 비트스트림들의 운반을 위한 기법들과 같은, 본 개시물의 기법들을 수행하도록 구성된 예시적인 비디오 디코더 (30) 를 예시하는 블록도이다. 도 7 은 예시의 목적들을 위해 제공되며, 본 개시물에서 넓게 예시되고 설명된 바와 같은 기법들의 한정으로 간주되지 않아야 한다. 본 개시물은 HEVC 코딩 확장판들, 특히, MV-HEVC, SHVC, 및 3D-HEVC 코딩 확장판들의 상황에서, 비디오 디코더 (30) 를 기술한다. 그러나, 본 개시물의 기법들은 다른 비디오 코딩 표준들 또는 방법들에 적용가능할 수도 있다. 따라서, 도 7 은 설명의 목적들을 위해 제공되며 본 개시물에서 넓게 예시되고 설명된 바와 같은 기법들의 한정으로 간주되지 않아야 한다.
도 7 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (150), 예측 프로세싱 유닛 (152), 역양자화 유닛 (154), 역변환 프로세싱 유닛 (156), 복원 유닛 (158), 필터 유닛 (160), 및 디코딩된 픽처 버퍼 (162) 를 포함한다. 예측 프로세싱 유닛 (152) 은 인터-예측을 위한 모션 보상 (MC) 유닛 (164) 및 인트라-예측 프로세싱 유닛 (166) 을 포함한다. 예시의 용이성을 위해, 예측 프로세싱 유닛 (152) 의 구성요소들은 텍스쳐 디코딩 및 심도 디코딩 양쪽을 수행하는 것으로 설명된다. 일부 예들에서, 텍스쳐 및 심도 디코딩은 예측 프로세싱 유닛 (152) 의 동일한 구성요소들 또는 예측 프로세싱 유닛 (152) 내 상이한 구성요소들에 의해 수행될 수도 있다. 예를 들어, 일부 구현예들에서 별개의 텍스쳐 및 심도 디코더들이 제공될 수도 있다. 또한, 다수의 텍스쳐 및 심도 디코더들은 예컨대, 멀티뷰 플러스 심도 코딩을 위한 다수의 뷰들을 디코딩하기 위해 제공될 수도 있다. 어느 경우에나, 예측 프로세싱 유닛 (152) 은 3D-HEVC 프로세스와 같은 3D 코딩 프로세스의 부분으로서 텍스쳐 데이터 및 심도 데이터를 인트라- 또는 인터-디코딩하도록 구성될 수도 있다.
따라서, 예측 프로세싱 유닛 (152) 은 MV-HEVC, SHVC, 또는 3D-HEVC 에 따라서, 본 개시물에서 설명되는 변경사항들 및/또는 추가사항들을 조건으로 하여, 실질적으로 동작할 수도 있다. 예측 프로세싱 유닛 (152) 은 엔트로피 디코딩 유닛 (150) 을 통해서, 인트라-디코딩된 또는 인터-디코딩된 심도 데이터에 대한 인코딩된 비디오 비트스트림으로부터 잔차 데이터를 획득하고, 인트라-예측된 또는 인터-예측된 심도 데이터 및 잔차 데이터를 이용하여 CU들을 복원할 수도 있다. 일부 예들에서, 비디오 디코더 (30) 는 도 7 에 나타낸 것보다 더 많거나, 더 적거나, 또는 상이한 기능적 구성요소들을 포함할 수도 있다.
비디오 디코더 (30) 는 인코딩된 비디오 비트스트림을 수신할 수도 있다. 코딩된 픽처 버퍼 (CPB) (151) 는 비트스트림의 인코딩된 비디오 데이터 (예컨대, NAL 유닛들) 을 수신하여 저장할 수도 있다. CPB (151) 에 저장된 비디오 데이터는 예를 들어, 컴퓨터-판독가능 매체 (16) 로부터, 예컨대, 카메라와 같은 로컬 비디오 소스로부터, 비디오 데이터의 유선 또는 무선 네트워크 통신을 통해서, 또는 물리적인 데이터 저장 매체들에 액세스함으로써 획득될 수도 있다. CPB (151) 는 인코딩된 비디오 비트스트림으로부터 인코딩된 비디오 데이터를 저장하는 비디오 데이터 메모리를 형성할 수도 있다. 디코딩된 픽처 버퍼 (162) 는 예컨대, 인트라- 또는 인터-코딩 모드들에서 비디오 디코더 (30) 에 의해 비디오 데이터를 디코딩할 때에 사용하기 위해 참조 비디오 데이터를 저장하는 참조 픽처 메모리일 수도 있다. CPB (151) 및 디코딩된 픽처 버퍼 (162) 는 동기 DRAM (SDRAM) 을 포함한 동적 랜덤 액세스 메모리 (DRAM), 자기저항 RAM (MRAM), 저항 RAM (RRAM), 또는 다른 유형들의 메모리 디바이스들과 같은, 다양한 메모리 디바이스들 중 임의의 메모리 디바이스에 의해 형성될 수도 있다. CPB (151) 및 디코딩된 픽처 버퍼 (162) 는 동일한 메모리 디바이스 또는 별개의 메모리 디바이스들에 의해 제공될 수도 있다. 여러 예들에서, CPB (151) 는 비디오 디코더 (30) 의 다른 구성요소들과의 온칩, 또는 그들 구성요소들에 대한 오프-칩일 수도 있다.
엔트로피 디코딩 유닛 (150) 은 비트스트림을 파싱하여, 비트스트림으로부터 엔트로피-인코딩된 신택스 엘리먼트들을 디코딩한다. 일부 예들에서, 엔트로피 디코딩 유닛 (150) 은 CABAC 코더를 이용하여 비트스트림에서의 비트들로부터, 신택스 엘리먼트들에 대한 빈들을 디코딩하도록 구성될 수도 있다. 엔트로피 디코딩 유닛 (150) 은 CABAC 코더를 이용하여, 인트라- 또는 인터-코딩 모드들을 포함한, 상이한 코딩 모드들에 대한 다양한 다른 신택스 엘리먼트들을 디코딩할 수도 있다.
예측 프로세싱 유닛 (152), 역양자화 유닛 (154), 역변환 프로세싱 유닛 (156), 복원 유닛 (158), 및 필터 유닛 (160) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여, 디코딩된 비디오 데이터를 발생시킬 수도 있다. 비트스트림은 일련의 NAL 유닛들을 포함할 수도 있다. 비트스트림의 NAL 유닛들은 코딩된 슬라이스 NAL 유닛들을 포함할 수도 있다. 비트스트림을 디코딩하는 것의 일부로서, 엔트로피 디코딩 유닛 (150) 은 코딩된 슬라이스 NAL 유닛들로부터 신택스 엘리먼트들을 추출하여 엔트로피 디코딩할 수도 있다. 비트스트림의 일부 신택스 엘리먼트들은 엔트로피 인코딩되거나 또는 디코딩되지 않는다.
코딩된 슬라이스들 각각은 슬라이스 헤더 및 슬라이스 데이터를 포함할 수도 있다. 슬라이스 헤더는 슬라이스에 관련된 신택스 엘리먼트들을 포함할 수도 있다. 슬라이스 헤더에서의 신택스 엘리먼트들은 슬라이스를 포함하는 픽처와 연관되는 PPS 를 식별하는 신택스 엘리먼트를 포함할 수도 있다. PPS 는 SPS 를 참조할 수도 있으며, 결과적으로 VPS 를 참조할 수도 있다. 엔트로피 디코딩 유닛 (150) 은 또한 SEI 메시지들과 같은, 신택스 정보를 포함할 수도 있는 다른 엘리먼트들을 엔트로피 디코딩할 수도 있다. 슬라이스 헤더, 파라미터 세트들, 또는 SEI 메시지들 중 임의의 것에서의 디코딩된 신택스 엘리먼트들은 본원에서 설명되는 예시적인 기법들에 따라서 시그널링되는 것으로 본원에서 설명되는 정보를 포함할 수도 있다. 이러한 신택스 정보는 텍스쳐 또는 심도 블록들의 디코딩 및 복원을 위해 예측 프로세싱 유닛 (152) 에 제공될 수도 있다.
비디오 디코더 (30) 는 비-파티셔닝된 CU들 및 PU들에 대해 복원 동작을 수행할 수도 있다. 복원 동작을 수행하기 위해, 비디오 디코더 (30) 는 CU 의 각각의 TU 에 대해 복원 동작을 수행할 수도 있다. CU 의 각각의 TU 에 대해 복원 동작을 수행함으로써, 비디오 디코더 (30) 는 CU 의 블록들을 복원할 수도 있다. CU 의 TU 에 대해 복원 동작을 수행하는 것의 일부로서, 역양자화 유닛 (154) 은 TU 와 연관되는 계수 블록들을 역양자화할 수도 있다, 즉, 양자화 해제할 수도 있다. 역양자화 유닛 (154) 은 TU 의 CU 와 연관되는 QP 값을 이용하여, 적용할 역양자화 유닛 (154) 에 대한 양자화의 정도 및 이와 유사하게, 역양자화의 정도를 결정할 수도 있다. 즉, 압축 비, 즉, 원래 시퀀스 및 압축된 시퀀스를 표현하는데 사용되는 비트수의 비는, 변환 계수들을 양자화할 때 사용되는 QP 의 값을 조정함으로써 제어될 수도 있다. 압축 비는 또한 채용되는 엔트로피 코딩의 방법에 의존할 수도 있다.
역양자화 유닛 (154) 이 계수 블록을 역양자화한 후, 역변환 프로세싱 유닛 (156) 은 TU 와 연관되는 잔차 블록을 발생하기 위해, 하나 이상의 역변환들을 계수 블록에 적용할 수도 있다. 예를 들어, 역변환 프로세싱 유닛 (156) 은 역 DCT, 역 정수 변환, 역 Karhunen-Loeve 변환 (KLT), 역 회전 변환, 역 방향 변환, 또는 또 다른 역변환을 계수 블록에 적용할 수도 있다.
PU 가 인트라-예측을 이용하여 인코딩되면, 인트라-예측 프로세싱 유닛 (166) 은 인트라 예측을 수행하여, PU 에 대한 예측 블록들을 발생시킬 수도 있다. 인트라-예측 프로세싱 유닛 (166) 은 인트라 예측 모드를 이용하여, 공간적으로-이웃하는 PU들의 예측 블록들에 기초하여 PU 에 대한 예측 블록들 (예컨대, 루마, Cb 및 Cr 예측 블록들) 을 발생시킬 수도 있다. 인트라-예측 프로세싱 유닛 (166) 은 비트스트림으로부터 디코딩된 하나 이상의 신택스 엘리먼트들에 기초하여, PU 에 대한 인트라 예측 모드를 결정할 수도 있다.
PU 가 인터-예측을 이용하여 인코딩되면, MC 유닛 (164) 은 인트라 예측을 수행하여, PU 에 대한 인터-예측 블록을 발생시킬 수도 있다. MC 유닛 (164) 은 인터 예측 모드를 이용하여, 다른 픽처들 또는 뷰들에서의 블록들에 기초하여 PU 에 대한 예측 블록들 (예컨대, 루마, Cb 및 Cr 예측 블록들) 을 발생시킬 수도 있다. MC 유닛 (164) 은 비트스트림으로부터 디코딩된 하나 이상의 신택스 엘리먼트들에 기초하여 PU 에 대한 인터 예측 모드를 결정하고, 그리고 모션 벡터들, 예측 방향, 및 참조 픽처 인덱스들과 같은, 모션 정보를 수신하거나 또는 결정할 수도 있다.
인터-예측을 위해, MC 유닛 (164) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여, 제 1 참조 픽처 리스트 (RefPicList0) 및 제 2 참조 픽처 리스트 (RefPicList1) 를 구성할 수도 있다. PU 가 인터 예측을 이용하여 인코딩되면, 엔트로피 디코딩 유닛 (150) 은 PU 에 대한 모션 정보를 추출하거나 또는 결정할 수도 있다. MC 유닛 (164) 은 PU 의 모션 정보에 기초하여, PU 에 대한 하나 이상의 참조 블록들을 결정할 수도 있다. 모션 보상 (MC) 유닛 (164) 은 PU 에 대한 하나 이상의 참조 블록들에서의 샘플들 블록들에 기초하여, PU 에 대한 예측 블록들 (예컨대, 루마, Cb 및 Cr 예측 블록들) 을 발생시킬 수도 있다.
복원 유닛 (158) 은 적용가능한 경우, CU 의 TU들의 변환 블록들 (예컨대, 루마, Cb 및 Cr 변환 블록들) 및 CU 의 PU들의 예측 블록들 (예컨대, 루마, Cb 및 Cr 예측 블록들), 즉, 인트라-예측 데이터 또는 인터-예측 데이터를 이용하여, CU 의 코딩 블록들 (예컨대, 루마, Cb 및 Cr 코딩 블록들) 을 복원할 수도 있다. 예를 들어, 복원 유닛 (158) 은 루마, Cb 및 Cr 변환 블록들의 잔차 샘플들을 예측 루마, Cb 및 Cr 블록들의 대응하는 샘플들에 추가하여, CU 의 루마, Cb 및 Cr 코딩 블록들을 복원할 수도 있다.
필터 유닛 (160) 은 CU 의 코딩 블록들 (예컨대, 루마, Cb 및 Cr 코딩 블록들) 과 연관되는 블록킹 아티팩트들을 감소시키기 위해 디블록킹 동작을 수행할 수도 있다. 비디오 디코더 (30) 는 CU 의 코딩 블록들 (예컨대, 루마, Cb 및 Cr 코딩 블록들) 을 디코딩된 픽처 버퍼 (162) 에 저장할 수도 있다. 디코딩된 픽처 버퍼 (162) 는 후속 모션 보상, 인트라 예측, 및 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상에의 프리젠테이션을 위해, 참조 픽처들을 제공할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 디코딩된 픽처 버퍼 (162) 에서의 루마, Cb, 및 Cr 블록들에 기초하여, 다른 CU들의 PU들에 관해 인트라 예측 또는 인터 예측 동작들을 수행할 수도 있다.
본 개시물에서 설명되는 여러 기법들은 비디오 인코더 (20) (도 1 및 도 6) 및/또는 비디오 디코더 (30) (도 1 및 도 7) 에 의해 수행될 수도 있으며, 이 비디오 인코더와 디코더는 비디오 코더로서 일반적으로 지칭될 수도 있다. 게다가, 비디오 코딩은 적용가능한 경우, 비디오 인코딩 및/또는 비디오 디코딩을 일반적으로 지칭할 수도 있다.
본 개시물의 기법들은 MV-HEVC, SHVC, 및 3D-HEVC 에 대해 설명되지만, 기법들은 이에 한정되지 않는다. 위에서 설명된 기법들은 또한 다른 현재의 표준들 또는 미래 표준들에도 적용가능할 수도 있다.
도 8 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 디코더 (30) 의 예시적인 동작을 예시하는 플로우차트이다. 도 8 의 동작 및 본 개시물의 다른 플로우차트들의 동작들은 예들로서 제공된다. 본 개시물의 기법들에 따른 다른 동작들은 더 많거나, 더 적거나, 또는 상이한 액션들을 포함할 수도 있다.
도 8 의 예에서, 비디오 디코더 (30) 는 복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신한다 (200). 더욱이, 비디오 디코더 (30) 는 버퍼 모델에서, 비디오 데이터 스트림의 복수의 기본 스트림들로부터 액세스 유닛을 조립한다 (202). 이 예에서, 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림일 수도 있다. 기본 스트림들이 스케일러블 고효율 비디오 코딩 (SHVC), 멀티-뷰 HEVC (MV-HEVC), 또는 3D-HEVC 비트스트림들을 포함하는지 여부에 관계없이 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용된다. 더욱이, 도 8 의 예에서, 비디오 디코더 (30) 는 액세스 유닛을 디코딩할 수도 있다 (204). 액세스 유닛은 비디오 데이터의 하나 이상의 픽처들을 포함할 수도 있다.
도 9 는 본 개시물의 하나 이상의 기법들에 따른, 액세스 유닛을 조립하고 디코딩하는 비디오 디코더 (30) 의 예시적인 동작을 예시하는 플로우차트이다. 도 9 의 예에서, 비디오 디코더 (30) 는 액세스 유닛에 대한 기본 스트림들 (예컨대, 프로그램 엘리먼트들) 의 세트를 결정할 수도 있다 (250). 비디오 디코더 (30) 는 액세스 유닛에 대한 기본 스트림들의 세트를 여러 방법들로 결정할 수도 있다.
예를 들어, 비디오 디코더 (30) 는 현재의 동작 지점을 디코딩하고 있을 수도 있다. 이 예에서, HEVC 확장판 디스크립터는 현재의 동작 지점에 대한 hevc_output_layer_flags 를 규정할 수도 있다. hevc_output_layer_flags 는 특정의 계층들이 현재의 동작 지점에 대한 출력 계층 세트에 있는지 여부를 표시한다. 따라서, 이 예에서, 비디오 디코더 (30) 는 현재의 동작 지점에 대한 hevc_output_layer_flags 에 기초하여, 현재의 동작 지점에 대한 출력 계층 세트를 결정할 수도 있다. 이 예에서, 현재의 동작 지점에 대한 출력 계층 세트에서 각각의 개개의 출력 계층에 대해, 비디오 디코더 (30) 는 기본 스트림들의 세트를 결정할 수도 있다. 설명의 용이성을 위해, 본 개시물은 결정된 기본 스트림들의 세트를 기본 스트림들의 출력 세트로서 지칭한다. 기본 스트림들의 출력 세트에서 각각의 개개의 기본 스트림은 현재의 동작 지점의 개개의 출력 계층에 대응한다.
더욱이, 이 예에서, 기본 스트림들의 출력 세트의 각각의 개개의 기본 스트림은 hierarchy_ext_embedded_layer_index 필드들의 개개의 세트를 포함하는 개개의 계층구조 확장판 디스크립터와 연관된다. hierarchy_ext_embedded_layer_index 필드들의 개개의 세트는 개개의 기본 스트림에 대한 의존적인 기본 스트림들을 식별한다. 비디오 디코더 (30) 는 액세스 유닛에 대한 기본 스트림들의 세트에서 기본 스트림들의 출력 세트의 각각의 기본 스트림에 대한 기본 스트림들 및 의존적인 기본 스트림들의 출력 세트를 포함한다.
더욱이, 도 9 의 예에서, 비디오 디코더 (30) 는 액세스 유닛에 대한 기본 스트림들의 세트가 임의의 프로세싱되지 않은 기본 스트림들을 포함하는지 여부를 결정한다 (252). 액세스 유닛에 대한 기본 스트림들의 세트가 하나 이상의 프로세싱되지 않은 기본 스트림들을 포함한다고 결정하는 것에 응답하여 (252 의 "예"), 비디오 디코더 (30) 는 프로세싱되지 않은 기본 스트림들 중 하나 (즉, 현재의 기본 스트림) 에 대한 HEVC 계층 픽처 서브세트 버퍼로부터 HEVC 계층 픽처 서브세트를 제거할 수도 있다 (254). HEVC 계층 픽처 서브세트의 각각의 픽처는 액세스 유닛의 디코딩 시간 스탬프와 동일한 디코딩 시간스탬프를 갖는다. 비디오 디코더 (30) 는 재조립된 액세스 유닛에 HEVC 계층 픽처 서브세트를 포함시킬 수도 있다 (256). 현재의 기본 스트림은 따라서 프로세싱될 것으로 간주된다. 비디오 디코더 (30) 는 그후 액세스 유닛에 대한 기본 스트림들의 세트가 하나 이상의 프로세싱되지 않은 기본 스트림들을 포함하는지 여부를 다시 결정할 수도 있다 (252).
어떤 나머지 프로세싱되지 않은 기본 스트림들도 존재하지 않으면, 비디오 디코더 (30) 는 재조립된 액세스 유닛에, 액세스 유닛에 대해 기본 스트림들의 세트의 각각의 기본 스트림에 대한 HEVC 계층 픽처 서브세트를 포함시키고 있다. 따라서, 어떤 나머지 프로세싱되지 않은 기본 스트림들이 존재하지 않는다고 결정하는 것에 응답하여 (252 의 "아니오"), 비디오 디코더 (30) 는 액세스 유닛의 픽처들을 디코딩할 수도 있다 (258).
다음 패러그라프들은 본 개시물의 기법들의 여러 예들을 설명한다.
예 1. 비디오 데이터를 프로세싱하는 방법으로서, MPEG-2 시스템에 의한 HEVC 확장판 스트림들의 운반을 위해, 동일한 계층 기반의 모델에서 통합되는 SHVC, MV-HEVC 및 3D-HEVC 버퍼 모델들을 이용하는 것을 포함하는, 비디오 데이터를 프로세싱하는 방법.
예 2. 제 1 항에 있어서,
상기 버퍼 모델들은 T-STD 모델들 및 P-STD 모델들을 포함하는, 비디오 데이터를 프로세싱하는 방법.
예 3. 예 1 에 있어서, 상기 버퍼 모델들은 MVC 에 사용되는 T-STD 모델 및 P-STD 모델과 유사한, 비디오 데이터를 프로세싱하는 방법.
예 4. 비디오 데이터를 프로세싱하는 방법으로서, MPEG-2 시스템에 의한 HEVC 확장판 스트림들의 운반을 위해, 각각의 HEVC 계층화된 비디오 스트림에 대해 T-STD 모델 및/또는 P-STD 모델을 이용하는 것을 포함하며, 각각의 HEVC 계층화된 비디오 스트림은 HEVC 계층화된 비디오 서브-비트스트림들로부터 조립되는 동작 지점에 대응하는, 비디오 데이터를 프로세싱하는 방법.
예 5. 예 4 에 있어서, HEVC 계층화된 비디오 서브-비트스트림은 nuh_layer_id (계층 식별자) 의 동일한 값을 가지는 VCL NAL 유닛들 및 그들의 연관된 비-VCL NAL 유닛들을 포함하는 다수의 HEVC 비디오 계층 서브-비트스트림들을 포함하는, 비디오 데이터를 프로세싱하는 방법.
예 6. 비디오 데이터를 프로세싱하는 방법으로서, MPEG-2 시스템에 의한 HEVC 확장판 스트림들의 운반을 위해, T-STD 또는 P-STD 모델에서 다수의 스트림들로부터의 액세스 유닛 내에서 HEVC 계층 픽처들을 조립할 때, using 현재의 동작 지점의 출력 계층들을 디코딩하는데 요구되는 참조 계층들을 식별하기 위해 연관된 계층구조 확장판 디스크립터에 표시된 hierarchy_ext_embedded_layer_index 값들을 이용하는 것을 포함하는, 비디오 데이터를 프로세싱하는 방법.
예 7. 비디오 데이터를 프로세싱하는 방법으로서, MPEG-2 시스템에 의한 HEVC 확장판 스트림들의 운반을 위해, using 적어도 일부 동작 지점들에 대해 현재의 HEVC MPEG-2 시스템들에서와 같은 HEVC 타이밍 및 HRD 디스크립터를 이용하는 것을 포함하는, 비디오 데이터를 프로세싱하는 방법.
예 8. 예 7 에 있어서, 상기 HEVC 타이밍 및 HRD 디스크립터는 각각의 동작 지점에 대해 존재할 수도 있는, 비디오 데이터를 프로세싱하는 방법.
예 9. 예 7 에 있어서, HEVC_extension_descriptor 에서, 각각의 동작 지점의 루프에서, HEVC 타이밍 및 HRD 디스크립터를 이용하는 것을 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
예 10. 예 7 내지 예 9 중 어느 한 예에 있어서, 이러한 HEVC 타이밍 및 HRD 디스크립터는 디코딩될 계층들의 동일한 계층 식별자 세트를 공유하는 동작 지점들에 대해 단지 한번만 존재하는, 비디오 데이터를 프로세싱하는 방법.
예 11. 예 7 내지 예 9 중 어느 한 예에 있어서, 이러한 HEVC 타이밍 및 HRD 디스크립터는 모든 출력 계층 세트들의 모든 동작 지점들에 대해 단지 한번만 존재하는, 비디오 데이터를 프로세싱하는 방법.
예 12. 비디오 데이터를 프로세싱하는 방법에 있어서, MPEG-2 시스템에 의한 HEVC 확장판 스트림들의 운반을 위해, using 계층 픽처 구분문자 NAL 유닛을 이용하는 것을 포함하는, 비디오 데이터를 프로세싱하는 방법.
예 13. 예 12 에 있어서, 상기 계층 픽처 구분문자 NAL 유닛은 HEVC 에서의 NAL 유닛 헤더와 동일한 신택스 구조를 포함하며, 다음 신택스 엘리먼트들: forbidden_zero_bit, nal_unit_type, nuh_layer_id, 및 nuh_temporal_id_plus1 을 가지는, 비디오 데이터를 프로세싱하는 방법.
예 14. 예 12 에 있어서, 상기 계층 픽처 구분문자 NAL 유닛의 nal_unit_type 은 0x30 (즉, 48) 로 설정되는, 비디오 데이터를 프로세싱하는 방법.
예 15. 예 12 에 있어서, HEVC 사양에서 "미규정됨" 으로서 마크된, 0x30 내지 0x3F (즉, 48 내지 63) 의 범위에서의 상이한 NAL 유닛 유형은 계층 픽처 구분문자 NAL 유닛에 대해 사용되는, 비디오 데이터를 프로세싱하는 방법.
예 16. 예 12 에 있어서, nuh_layer_id 및 nuh_temporal_id_plus1 의 값들은 VCL NAL 유닛들이 계층 픽처 구분문자 NAL 유닛에 바로 뒤따르는 연관된 픽처의 값들과 동일하게 설정되는, 비디오 데이터를 프로세싱하는 방법.
예 17. 예 16 에 있어서, 0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 정확히 하나의 LPD_nal_unit 는 LPD_nal_unit 의 값들과 동일한 nuh_layer_id 및 nuh_temporal_id_plus1 의 값들을 가지는 모든 NAL 유닛들보다 선행할 수도 있는, 비디오 데이터를 프로세싱하는 방법.
예 18. 예 16 에 있어서, nuh_layer_id 및 nuh_temporal_id_plus1 의 값들은 0 및 0 으로 고정되는, 비디오 데이터를 프로세싱하는 방법.
예 19. 예 16 에 있어서, nuh_temporal_id_plus1 은 이 NAL 유닛이 계층 픽처 구분문자 NAL 유닛이라는 것을 표시하기 위해 0 으로 설정되는, 비디오 데이터를 프로세싱하는 방법.
예 20. 예 16 에 있어서, 0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 정확히 하나의 LPD_nal_unit 는 LPD_nal_unit 의 값과 동일한 nuh_layer_id 의 값을 가지는 모든 NAL 유닛들보다 선행할 수도 있는, 비디오 데이터를 프로세싱하는 방법.
예 21. 예 16 에 있어서, 0x26 과 동일한 stream_type 을 가지는 각각의 기본 스트림에서, 정확히 하나의 LPD_nal_unit 는 최소 값이 LPD_nal_unit 의 nuh_layer_id 와 동일한 HEVC 계층 식별자 세트에 속하는 값을 가지는 모든 NAL 유닛들보다 선행할 수도 있는, 비디오 데이터를 프로세싱하는 방법.
예 22. 예 1 내지 예 21 의 방법들의 임의의 조합을 포함하는, 비디오 데이터를 조립하는 방법.
예 23. 예 1 내지 예 21 의 방법들의 임의의 조합을 포함하는 방법.
예 24. 비디오 데이터를 프로세싱하는 디바이스로서, 비디오 데이터를 저장하는 메모리; 및 예 1 내지 예 23 중 어느 한 예의 방법을 수행하도록 구성된 하나 이상의 프로세서들을 포함하는, 비디오 데이터를 프로세싱하는 디바이스.
예 25. 예 24 에 있어서, 상기 디바이스는 비디오 디코더인, 비디오 데이터를 프로세싱하는 디바이스.
예 26. 예 24 에 있어서, 상기 디바이스는 비디오 인코더인, 비디오 데이터를 프로세싱하는 디바이스.
예 27. 예 24 에 있어서, 상기 디바이스는 비트스트림 스플라이싱 디바이스인, 비디오 데이터를 프로세싱하는 디바이스.
예 28. 예 24 에 있어서, 상기 디바이스는 미디어 인지 네트워크 엘리먼트인, 비디오 데이터를 프로세싱하는 디바이스.
예 29. 비디오 데이터를 프로세싱하는 디바이스로서, 예 1 내지 예 23 중 어느 한 예의 방법을 수행하는 수단을 포함하는, 디바이스.
예 30. 예 29 에 있어서, 비디오 인코더 또는 비디오 디코더를 포함하는, 비디오 데이터를 프로세싱하는 디바이스.
예 31. 비디오 프로세싱 디바이스의 하나 이상의 프로세서들로 하여금, 예 1 내지 예 23 중 어느 한 예의 방법을 수행하도록 하는 명령들을 포함하는 비일시성 컴퓨터-판독가능 저장 매체.
하나 이상의 예들에서, 본원에서 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터-판독가능 매체 상에 저장되거나 또는 컴퓨터-판독가능 매체를 통해서 송신될 수도 있으며, 하드웨어-기반의 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터-판독가능 매체는 컴퓨터-판독가능 저장 매체들을 포함할 수도 있으며, 이 컴퓨터-판독가능 저장 매체들은 데이터 저장 매체들과 같은 유형의 매체, 또는 예컨대, 통신 프로토콜에 따라서 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체들에 대응한다. 이런 방법으로, 컴퓨터-판독가능 매체들은 일반적으로 (1) 비일시성 유형의 컴퓨터-판독가능 저장 매체, 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에서 설명하는 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수도 있다.
일 예로서, 이에 한정하지 않고, 이런 컴퓨터-판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 무선 기술들, 예컨대 적외선, 라디오, 및 마이크로파를 이용하여 명령들이 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 무선 기술들 예컨대 적외선, 라디오, 및 마이크로파가 그 매체의 정의에 포함된다. 그러나, 컴퓨터-판독가능 저장 매체 및 데이터 저장 매체는 접속부들, 반송파들, 신호들, 또는 다른 일시성 매체를 포함하지 않고, 그 대신, 비-일시성 유형의 저장 매체로 송신되는 것으로 해석되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 Blu-ray 디스크를 포함하며, 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다. 앞에서 언급한 것들의 결합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 용어 "프로세서" 는, 본원에서 사용될 때 전술한 구조 중 임의의 구조 또는 본원에서 설명하는 기법들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 게다가, 일부 양태들에서, 본원에서 설명하는 기능은 인코딩 및 디코딩을 위해 구성되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱에 포함될 수도 있다. 또한, 이 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들로 전적으로 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예컨대, 칩 세트) 를 포함한, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 개시한 기법들을 수행하도록 구성되는 디바이스들의 기능적 양태들을 강조하기 위해서 여러 구성요소들, 모듈들, 또는 유닛들이 본 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로 하지는 않는다. 대신, 위에서 설명한 바와 같이, 여러 유닛들이 코덱 하드웨어 유닛에 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명한 바와 같은 하나 이상의 프로세서들을 포함한, 상호작용하는 하드웨어 유닛들의 컬렉션으로 제공될 수도 있다.
여러 예들이 설명되었다. 이들 및 다른 예들은 다음 청구항들의 범위 이내이다.

Claims (32)

  1. 비디오 데이터를 디코딩하는 방법으로서,
    복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하는 단계;
    버퍼 모델에서, 상기 비디오 데이터 스트림의 상기 복수의 기본 스트림들로부터 액세스 유닛을 조립하는 단계로서, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 그리고 상기 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이, 동일한 버퍼 모델이 상기 액세스 유닛을 조립하는데 사용되는, 상기 액세스 유닛을 조립하는 단계; 및
    상기 액세스 유닛을 디코딩하는 단계로서, 상기 액세스 유닛은 상기 비디오 데이터의 하나 이상의 픽처들을 포함하는, 상기 액세스 유닛을 디코딩하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림들은 스케일러블 고효율 비디오 코딩 (SHVC), 멀티-뷰 HEVC (MV-HEVC), 또는 3D-HEVC 비트스트림들을 포함하는, 비디오 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 비디오 데이터 스트림의 각각의 개개의 HEVC 계층화된 비디오 스트림에 대해 상기 버퍼 모델의 별개의 인스턴스들을 이용하여 액세스 유닛들을 조립하는 단계를 더 포함하며,
    상기 각각의 개개의 HEVC 계층화된 비디오 스트림은 복수의 HEVC 비디오 계층 서브-비트스트림들을 포함하며,
    상기 복수의 HEVC 비디오 계층 서브-비트스트림들의 각각의 개개의 HEVC 비디오 계층 서브-비트스트림은 동일한 계층 식별자 값을 가지는 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들을 포함하는, 비디오 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 버퍼를 포함하며,
    상기 액세스 유닛은 상기 개개의 기본 스트림에 대한 개개의 HEVC 계층 픽처 서브세트를 포함하며,
    상기 개개의 HEVC 계층 픽처 서브세트는 개개의 계층 식별자 세트와 연관되는 상기 액세스 유닛의 HEVC 계층 픽처들을 포함하며,
    상기 HEVC 계층 픽처들의 각각은 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에 정의된 바와 같은 코딩된 픽처이며,
    상기 액세스 유닛을 조립하는 단계는, 상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 개개의 기본 스트림에 대한 상기 버퍼로부터 상기 개개의 기본 스트림에 대한 상기 개개의 HEVC 계층 픽처 서브세트를 제거하는 단계; 및
    상기 액세스 유닛에 상기 개개의 HEVC 계층 픽처 서브세트를 포함시키는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  5. 제 4 항에 있어서,
    상기 액세스 유닛을 조립하는 단계는,
    현재의 동작 지점의 출력 계층에 대응하는 디스크립터에서의 하나 이상의 필드들에 기초하여, 상기 현재의 동작 지점의 상기 출력 계층을 디코딩하는데 요구되는 참조 계층들을 식별하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  6. 제 4 항에 있어서,
    상기 비디오 데이터 스트림은 전송 스트림이며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 개개의 기본 스트림에 대한 상기 버퍼는 상기 개개의 기본 스트림에 대한 제 1 버퍼이며,
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 2 버퍼를 포함하며;
    상기 방법은, 상기 개개의 기본 스트림에 속하는 상기 전송 스트림의 각각의 개개의 패킷화 기본 스트림 (PES) 패킷에 대해, 상기 개개의 PES 패킷을 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼에 저장하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  7. 제 6 항에 있어서,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 3 버퍼를 포함하며;
    상기 방법은,
    상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 PES 패킷들을 제거하는 단계;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 제거된 상기 PES 패킷들을 저장하는 단계;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 바이트들을 제거하는 단계; 및
    상기 개개의 기본 스트림에 대한 상기 제 1 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 제거된 상기 바이트들을 저장하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  8. 제 1 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 방법은, 상기 프로그램에 HEVC 계층들의 세트가 존재하고 그리고 ITU-T 권고안 H.265 | ISO/IEC 23008-2 의 부속서 G 또는 부속서 H 에 정의된 바와 같은 하나 이상의 프로파일들에 부합하는 HEVC 확장판 비디오 스트림인 상기 복수의 기본 스트림들에 적어도 하나의 HEVC 계층화된 비디오 서브-비트스트림이 존재한다고 결정하는 것에 응답하여, 상기 액세스 유닛을 조립할 때에 사용할 상기 버퍼 모델을 선택하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  9. 비디오 디코딩 디바이스로서,
    비디오 데이터를 저장하도록 구성된 메모리; 및
    하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은,
    복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하고;
    버퍼 모델에서, 상기 비디오 데이터 스트림의 상기 복수의 기본 스트림들로부터 액세스 유닛을 조립하는 것으로서, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 상기 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이, 상기 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용되는, 상기 액세스 유닛을 조립하고;
    상기 액세스 유닛을 디코딩하는 것으로서, 상기 액세스 유닛은 상기 비디오 데이터의 하나 이상의 픽처들을 포함하는, 상기 액세스 유닛을 디코딩하도록 구성되는, 비디오 디코딩 디바이스.
  10. 제 9 항에 있어서,
    상기 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림들은 스케일러블 고효율 비디오 코딩 (SHVC), 멀티-뷰 HEVC (MV-HEVC), 또는 3D-HEVC 비트스트림들을 포함하는, 비디오 디코딩 디바이스.
  11. 제 9 항에 있어서,
    상기 하나 이상의 프로세서들은 상기 비디오 데이터 스트림의 각각의 개개의 HEVC 계층화된 비디오 스트림에 대해 상기 버퍼 모델의 별개의 인스턴스들을 이용하여 액세스 유닛들을 조립하도록 구성되며,
    상기 각각의 개개의 HEVC 계층화된 비디오 스트림은 복수의 HEVC 비디오 계층 서브-비트스트림들을 포함하며,
    상기 복수의 HEVC 비디오 계층 서브-비트스트림들의 각각의 개개의 HEVC 비디오 계층 서브-비트스트림은 동일한 계층 식별자 값을 가지는 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들을 포함하는, 비디오 디코딩 디바이스.
  12. 제 9 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 버퍼를 포함하며,
    상기 액세스 유닛은 상기 개개의 기본 스트림에 대한 개개의 HEVC 계층 픽처 서브세트를 포함하며,
    상기 개개의 HEVC 계층 픽처 서브세트는 개개의 계층 식별자 세트와 연관되는 상기 액세스 유닛의 HEVC 계층 픽처들을 포함하며,
    상기 HEVC 계층 픽처들의 각각은 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에서 정의된 바와 같은 코딩된 픽처이며,
    상기 액세스 유닛을 조립하는 것의 일부로서, 상기 하나 이상의 프로세서들은, 상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 개개의 기본 스트림에 대한 상기 버퍼로부터 상기 개개의 기본 스트림에 대한 상기 개개의 HEVC 계층 픽처 서브세트를 제거하고;
    상기 개개의 HEVC 계층 픽처 서브세트를 상기 액세스 유닛에 포함시키는, 비디오 디코딩 디바이스.
  13. 제 12 항에 있어서,
    상기 액세스 유닛을 조립하는 것의 일부로서, 상기 하나 이상의 프로세서들은,
    현재의 동작 지점의 출력 계층에 대응하는 디스크립터에서의 하나 이상의 필드들에 기초하여, 상기 현재의 동작 지점의 상기 출력 계층을 디코딩하는데 요구되는 참조 계층들을 식별하는, 비디오 디코딩 디바이스.
  14. 제 12 항에 있어서,
    상기 비디오 데이터 스트림은 전송 스트림이며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 개개의 기본 스트림에 대한 상기 버퍼는 상기 개개의 기본 스트림에 대한 제 1 버퍼이며,
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 2 버퍼를 포함하며;
    상기 하나 이상의 프로세서들은, 상기 개개의 기본 스트림에 속하는 상기 전송 스트림의 각각의 개개의 패킷화 기본 스트림 (PES) 패킷에 대해, 상기 개개의 PES 패킷을 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼에 저장하도록 구성되는, 비디오 디코딩 디바이스.
  15. 제 14 항에 있어서,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 3 버퍼를 포함하며;
    상기 하나 이상의 프로세서들은,
    상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 PES 패킷들을 제거하고;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 제거된 상기 PES 패킷들을 저장하고;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 바이트들을 제거하고; 그리고
    상기 개개의 기본 스트림에 대한 상기 제 1 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 제거된 상기 바이트들을 저장하도록
    구성되는, 비디오 디코딩 디바이스.
  16. 제 9 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 하나 이상의 프로세서들은, 상기 프로그램에 HEVC 계층들의 세트가 존재하고 그리고 ITU-T 권고안 H.265 | ISO/IEC 23008-2 의 부속서 G 또는 부속서 H 에 정의된 바와 같은 하나 이상의 프로파일들에 부합하는 HEVC 확장판 비디오 스트림인 상기 복수의 기본 스트림들에 적어도 하나의 HEVC 계층화된 비디오 서브-비트스트림이 존재한다고 결정하는 것에 응답하여, 상기 액세스 유닛을 조립할 때에 사용할 상기 버퍼 모델을 선택하도록 추가로 구성되는, 비디오 디코딩 디바이스.
  17. 비디오 디코딩 디바이스로서,
    복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하는 수단;
    버퍼 모델에서, 상기 비디오 데이터 스트림의 상기 복수의 기본 스트림들로부터 액세스 유닛을 조립하는 수단으로서, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 상기 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이, 상기 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용되는, 상기 액세스 유닛을 조립하는 수단; 및
    상기 액세스 유닛을 디코딩하는 수단으로서, 상기 액세스 유닛은 상기 비디오 데이터의 하나 이상의 픽처들을 포함하는, 상기 액세스 유닛을 디코딩하는 수단을 포함하는, 비디오 디코딩 디바이스.
  18. 제 17 항에 있어서,
    상기 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림들은 스케일러블 고효율 비디오 코딩 (SHVC), 멀티-뷰 HEVC (MV-HEVC), 또는 3D-HEVC 비트스트림들을 포함하는, 비디오 디코딩 디바이스.
  19. 제 17 항에 있어서,
    상기 비디오 데이터 스트림의 각각의 개개의 HEVC 계층화된 비디오 스트림에 대해 상기 버퍼 모델의 별개의 인스턴스들을 이용하여 액세스 유닛들을 조립하는 수단을 더 포함하며,
    상기 각각의 개개의 HEVC 계층화된 비디오 스트림은 복수의 HEVC 비디오 계층 서브-비트스트림들을 포함하며,
    상기 복수의 HEVC 비디오 계층 서브-비트스트림들의 각각의 개개의 HEVC 비디오 계층 서브-비트스트림은 동일한 계층 식별자 값을 가지는 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들을 포함하는, 비디오 디코딩 디바이스.
  20. 제 17 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 버퍼를 포함하며,
    상기 액세스 유닛은 상기 개개의 기본 스트림에 대한 개개의 HEVC 계층 픽처 서브세트를 포함하며,
    상기 개개의 HEVC 계층 픽처 서브세트는 개개의 계층 식별자 세트와 연관되는 상기 액세스 유닛의 HEVC 계층 픽처들을 포함하며,
    상기 HEVC 계층 픽처들의 각각은 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에서 정의된 바와 같은 코딩된 픽처이며,
    상기 액세스 유닛을 조립하는 것은, 상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 개개의 기본 스트림에 대한 상기 버퍼로부터 상기 개개의 기본 스트림에 대한 상기 개개의 HEVC 계층 픽처 서브세트를 제거하는 것; 및
    상기 액세스 유닛에 상기 개개의 HEVC 계층 픽처 서브세트를 포함시키는 것을 포함하는, 비디오 디코딩 디바이스.
  21. 제 20 항에 있어서,
    상기 액세스 유닛을 조립하는 것은,
    현재의 동작 지점의 출력 계층에 대응하는 디스크립터에서의 하나 이상의 필드들에 기초하여, 상기 현재의 동작 지점의 상기 출력 계층을 디코딩하는데 요구되는 참조 계층들을 식별하는 것을 포함하는, 비디오 디코딩 디바이스.
  22. 제 20 항에 있어서,
    상기 비디오 데이터 스트림은 전송 스트림이며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 개개의 기본 스트림에 대한 상기 버퍼는 상기 개개의 기본 스트림에 대한 제 1 버퍼이며,
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 2 버퍼를 포함하며;
    상기 비디오 디코딩 디바이스는, 상기 개개의 기본 스트림에 속하는 상기 전송 스트림의 각각의 개개의 패킷화 기본 스트림 (PES) 패킷에 대해, 상기 개개의 PES 패킷을 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼에 저장하는 수단을 더 포함하는, 비디오 디코딩 디바이스.
  23. 제 22 항에 있어서,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 3 버퍼를 포함하며;
    상기 비디오 디코딩 디바이스는,
    상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 PES 패킷들을 제거하는 수단;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 제거된 상기 PES 패킷들을 저장하는 수단;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 바이트들을 제거하는 수단; 및
    상기 개개의 기본 스트림에 대한 상기 제 1 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 제거된 상기 바이트들을 저장하는 수단을 더 포함하는, 비디오 디코딩 디바이스.
  24. 제 17 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 비디오 디코딩 디바이스는, 상기 프로그램에 HEVC 계층들의 세트가 존재하고 그리고 ITU-T 권고안 H.265 | ISO/IEC 23008-2 의 부속서 G 또는 부속서 H 에 정의된 바와 같은 하나 이상의 프로파일들에 부합하는 HEVC 확장판 비디오 스트림인 상기 복수의 기본 스트림들에 적어도 하나의 HEVC 계층화된 비디오 서브-비트스트림이 존재한다고 결정하는 것에 응답하여, 상기 액세스 유닛을 조립할 때에 사용할 상기 버퍼 모델을 선택하는 수단을 더 포함하는, 비디오 디코딩 디바이스.
  25. 저장된 명령들을 가지는 컴퓨터-판독가능 데이터 저장 매체로서,
    상기 명령들은, 실행될 때, 비디오 디코딩 디바이스로 하여금,
    복수의 기본 스트림들을 포함하는 비디오 데이터 스트림을 수신하게 하고;
    버퍼 모델에서, 상기 비디오 데이터 스트림의 상기 복수의 기본 스트림들로부터 액세스 유닛을 조립하게 하는 것으로서, 상기 비디오 데이터 스트림은 전송 스트림 또는 프로그램 스트림이며, 상기 기본 스트림들이 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림 중 임의의 비트스트림을 포함하는지 여부에 관계없이 상기 액세스 유닛을 조립하는데 동일한 버퍼 모델이 사용되는, 상기 액세스 유닛을 조립하게 하고; 그리고
    상기 액세스 유닛을 디코딩하게 하는 것으로서, 상기 액세스 유닛은 상기 비디오 데이터의 하나 이상의 픽처들을 포함하는, 상기 액세스 유닛을 디코딩하게 하는, 컴퓨터-판독가능 데이터 저장 매체.
  26. 제 25 항에 있어서,
    상기 복수의 상이한 유형들의 멀티-계층 코딩된 비트스트림들은 스케일러블 고효율 비디오 코딩 (SHVC), 멀티-뷰 HEVC (MV-HEVC), 또는 3D-HEVC 비트스트림들을 포함하는, 컴퓨터-판독가능 데이터 저장 매체.
  27. 제 25 항에 있어서,
    상기 명령들은, 추가로, 상기 비디오 디코딩 디바이스로 하여금,
    상기 비디오 데이터 스트림의 각각의 개개의 HEVC 계층화된 비디오 스트림에 대해 상기 버퍼 모델의 별개의 인스턴스들을 이용하여 액세스 유닛들을 조립하게 하며,
    상기 각각의 개개의 HEVC 계층화된 비디오 스트림은 복수의 HEVC 비디오 계층 서브-비트스트림들을 포함하며,
    상기 복수의 HEVC 비디오 계층 서브-비트스트림들의 각각의 개개의 HEVC 비디오 계층 서브-비트스트림은 동일한 계층 식별자 값을 가지는 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들을 포함하는, 컴퓨터-판독가능 데이터 저장 매체.
  28. 제 25 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 버퍼를 포함하며,
    상기 액세스 유닛은 상기 개개의 기본 스트림에 대한 개개의 HEVC 계층 픽처 서브세트를 포함하며,
    상기 개개의 HEVC 계층 픽처 서브세트는 개개의 계층 식별자 세트와 연관되는 상기 액세스 유닛의 HEVC 계층 픽처들을 포함하며,
    상기 HEVC 계층 픽처들의 각각은 권고안 ITU-T H.265 | ISO/IEC 23008-2 부속서 F 에 정의된 바와 같은 코딩된 픽처이며,
    상기 액세스 유닛을 조립하는 것의 일부로서, 상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해, 상기 명령들은, 상기 비디오 디코딩 디바이스로 하여금,
    상기 개개의 기본 스트림에 대한 상기 버퍼로부터 상기 개개의 기본 스트림에 대한 상기 개개의 HEVC 계층 픽처 서브세트를 제거하게 하고; 그리고
    상기 개개의 HEVC 계층 픽처 서브세트를 상기 액세스 유닛에 포함시키게 하는, 컴퓨터-판독가능 데이터 저장 매체.
  29. 제 28 항에 있어서,
    상기 액세스 유닛을 조립하는 것의 일부로서, 상기 명령들은, 상기 비디오 디코딩 디바이스로 하여금,
    현재의 동작 지점의 출력 계층에 대응하는 디스크립터에서의 하나 이상의 필드들에 기초하여, 상기 현재의 동작 지점의 상기 출력 계층을 디코딩하는데 요구되는 참조 계층들을 식별하게 하는, 컴퓨터-판독가능 데이터 저장 매체.
  30. 제 28 항에 있어서,
    상기 비디오 데이터 스트림은 전송 스트림이며,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 개개의 기본 스트림에 대한 상기 버퍼는 상기 개개의 기본 스트림에 대한 제 1 버퍼이며,
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 2 버퍼를 포함하며;
    상기 명령들은 추가로, 상기 비디오 디코딩 디바이스로 하여금, 상기 개개의 기본 스트림에 속하는 상기 전송 스트림의 각각의 개개의 패킷화 기본 스트림 (PES) 패킷에 대해, 상기 개개의 PES 패킷을 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼에 저장하게 하는, 컴퓨터-판독가능 데이터 저장 매체.
  31. 제 30 항에 있어서,
    상기 프로그램과 연관된 각각의 개개의 기본 스트림에 대해:
    상기 버퍼 모델은 상기 개개의 기본 스트림에 대한 제 3 버퍼를 포함하며;
    상기 명령들은 추가로, 상기 비디오 디코딩 디바이스로 하여금,
    상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 PES 패킷들을 제거하게 하고;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 2 버퍼로부터 제거된 상기 PES 패킷들을 저장하게 하고;
    상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 바이트들을 제거하게 하고; 그리고
    상기 개개의 기본 스트림에 대한 상기 제 1 버퍼에, 상기 개개의 기본 스트림에 대한 상기 제 3 버퍼로부터 제거된 상기 바이트들을 저장하게 하는, 컴퓨터-판독가능 데이터 저장 매체.
  32. 제 25 항에 있어서,
    상기 비디오 데이터 스트림은 프로그램을 포함하며,
    상기 명령들은 추가로, 상기 비디오 디코딩 디바이스로 하여금, 상기 프로그램에 HEVC 계층들의 세트가 존재하고 그리고 ITU-T 권고안 H.265 | ISO/IEC 23008-2 의 부속서 G 또는 부속서 H 에 정의된 바와 같은 하나 이상의 프로파일들에 부합하는 HEVC 확장판 비디오 스트림인 상기 복수의 기본 스트림들에 적어도 하나의 HEVC 계층화된 비디오 서브-비트스트림이 존재한다고 결정하는 것에 응답하여, 상기 액세스 유닛을 조립할 때에 사용할 상기 버퍼 모델을 선택하게 하는, 컴퓨터-판독가능 데이터 저장 매체.
KR1020167020654A 2014-01-08 2015-01-08 Mpeg-2 시스템들에 의한 hevc 확장판 비트스트림들 및 버퍼 모델의 운반 KR102122110B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461925191P 2014-01-08 2014-01-08
US61/925,191 2014-01-08
US14/591,649 2015-01-07
US14/591,649 US10567804B2 (en) 2014-01-08 2015-01-07 Carriage of HEVC extension bitstreams and buffer model with MPEG-2 systems
PCT/US2015/010559 WO2015105934A1 (en) 2014-01-08 2015-01-08 Carriage of hevc extension bitstreams and buffer model with mpeg-2 systems

Publications (2)

Publication Number Publication Date
KR20160106097A true KR20160106097A (ko) 2016-09-09
KR102122110B1 KR102122110B1 (ko) 2020-06-11

Family

ID=53496204

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167020654A KR102122110B1 (ko) 2014-01-08 2015-01-08 Mpeg-2 시스템들에 의한 hevc 확장판 비트스트림들 및 버퍼 모델의 운반

Country Status (16)

Country Link
US (1) US10567804B2 (ko)
EP (1) EP3092814A1 (ko)
JP (1) JP6553054B2 (ko)
KR (1) KR102122110B1 (ko)
CN (1) CN106063287B (ko)
AU (1) AU2015204790C1 (ko)
CA (1) CA2932442C (ko)
CL (1) CL2016001719A1 (ko)
IL (1) IL246147B (ko)
MX (1) MX370171B (ko)
MY (1) MY189813A (ko)
PH (1) PH12016501217B1 (ko)
RU (1) RU2685233C2 (ko)
SA (1) SA516371468B1 (ko)
SG (2) SG10201805774WA (ko)
WO (1) WO2015105934A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150103895A1 (en) * 2013-10-13 2015-04-16 Sharp Laboratories Of America, Inc. Electronic devices for signaling multiple initial buffering parameters
US20170171563A1 (en) * 2014-02-24 2017-06-15 Sharp Kabushiki Kaisha Restrictions on signaling
US10205949B2 (en) * 2014-05-21 2019-02-12 Arris Enterprises Llc Signaling for addition or removal of layers in scalable video
CA3083172C (en) * 2014-05-21 2022-01-25 Arris Enterprises Llc Individual buffer management in transport of scalable video
US9699480B2 (en) * 2014-06-13 2017-07-04 Sharp Laboratories Of America, Inc. Level limits
US9998765B2 (en) 2014-07-16 2018-06-12 Qualcomm Incorporated Transport stream for carriage of video coding extensions
US10306269B2 (en) 2014-10-10 2019-05-28 Qualcomm Incorporated Operation point for carriage of layered HEVC bitstream
US20160112724A1 (en) * 2014-10-15 2016-04-21 Qualcomm Incorporated Hrd descriptor and buffer model of data streams for carriage of hevc extensions
US20160234528A1 (en) * 2015-02-09 2016-08-11 Arris Enterprises, Inc. Carriage of video coding for browsers (vcb) video over mpeg-2 transport streams
EP3313043B1 (en) * 2016-10-19 2019-08-07 Sandvine Incorporated ULC System and method for determining quality of a media stream
CN106782623A (zh) * 2017-01-12 2017-05-31 浙江新盛蓝科技有限公司 一种视频播放器
CN110546960B (zh) * 2017-05-01 2022-09-06 真实网络公司 多层视频流传输系统和方法
US10917650B2 (en) * 2018-07-11 2021-02-09 Cisco Technology, Inc. Resilient transmission of raw video streams over an IP communication network
US10796443B2 (en) * 2018-10-17 2020-10-06 Kneron, Inc. Image depth decoder and computing device
WO2020188271A1 (en) * 2019-03-20 2020-09-24 V-Nova International Limited Temporal signalling for video coding technology
KR20220042125A (ko) 2019-08-10 2022-04-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브픽처 디코딩에서의 버퍼 관리
EP4131963A4 (en) * 2020-03-25 2023-10-18 Panasonic Intellectual Property Corporation of America CODING APPARATUS, DECODING APPARATUS, CODING METHOD AND DECODING METHOD
CN113225584B (zh) * 2021-03-24 2022-02-22 西安交通大学 一种基于编码和缓存的跨层联合的视频传输方法、系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106921A1 (en) * 2010-10-25 2012-05-03 Taiji Sasaki Encoding method, display apparatus, and decoding method
US20150189322A1 (en) * 2014-01-02 2015-07-02 Vid Scale, Inc. Sub-bitstream Extraction Process for HEVC Extensions

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101021831B1 (ko) 2006-08-24 2011-03-17 노키아 코포레이션 미디어 파일에서 트랙 관계를 표시하는 시스템 및 방법
GB0700381D0 (en) 2007-01-09 2007-02-14 Mitsubishi Electric Inf Tech Generalised Hypothetical Reference Decoder for Scalable Video Coding with Bitstream Rewriting
US9167246B2 (en) 2008-03-06 2015-10-20 Arris Technology, Inc. Method and apparatus for decoding an enhanced video stream
US9179125B2 (en) * 2009-01-06 2015-11-03 Lg Electronics Inc. Method for processing three dimensional (3D) video signal and digital broadcast receiver for performing the method
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US20150016547A1 (en) * 2013-07-15 2015-01-15 Sony Corporation Layer based hrd buffer management for scalable hevc

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106921A1 (en) * 2010-10-25 2012-05-03 Taiji Sasaki Encoding method, display apparatus, and decoding method
US20150189322A1 (en) * 2014-01-02 2015-07-02 Vid Scale, Inc. Sub-bitstream Extraction Process for HEVC Extensions

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Information technology - Generic coding of moving pictures and associated audio information - Part 1:Systems AMENDMENT 3/AMENDMENT_ISO/IEC 13818-1:2013 FDAM 3_ISO/IEC JTC 1_Secretariat, ISO, 2013년 9월 *
Sam Narasimhan, Ajay Luthra, "Consideration of buffer management issues and layer management in HEVC scalability", (JCTVC-M0254), JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 13th Meeting: Inch *
SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Amendment 3/ITU-T규격 문서(H시리즈), 2009년 3월 *
Ye-Kui Wang, Solutions considered for NAL unit header and video parameter set for HEVC extensions, JCTVC-J1007 /JCT-VC of ITU-T, 2012년 7월, P1~P6 *

Also Published As

Publication number Publication date
CL2016001719A1 (es) 2017-02-10
RU2016127197A (ru) 2018-02-09
MX370171B (es) 2019-12-04
WO2015105934A1 (en) 2015-07-16
KR102122110B1 (ko) 2020-06-11
NZ720689A (en) 2021-07-30
RU2685233C2 (ru) 2019-04-17
PH12016501217A1 (en) 2016-08-15
IL246147B (en) 2019-12-31
JP2017508339A (ja) 2017-03-23
SG11201604247UA (en) 2016-07-28
US10567804B2 (en) 2020-02-18
US20150195578A1 (en) 2015-07-09
SA516371468B1 (ar) 2020-09-26
MY189813A (en) 2022-03-09
AU2015204790C1 (en) 2019-07-04
RU2016127197A3 (ko) 2018-07-02
IL246147A0 (en) 2016-07-31
MX2016008897A (es) 2016-09-16
CN106063287A (zh) 2016-10-26
CN106063287B (zh) 2020-07-28
EP3092814A1 (en) 2016-11-16
CA2932442C (en) 2021-01-26
SG10201805774WA (en) 2018-08-30
BR112016015903A2 (pt) 2017-08-08
PH12016501217B1 (en) 2016-08-15
JP6553054B2 (ja) 2019-07-31
AU2015204790A1 (en) 2016-06-16
AU2015204790B2 (en) 2019-01-31
CA2932442A1 (en) 2015-07-16

Similar Documents

Publication Publication Date Title
KR102122110B1 (ko) Mpeg-2 시스템들에 의한 hevc 확장판 비트스트림들 및 버퍼 모델의 운반
KR102383621B1 (ko) Hrd 디스크립터 및 hevc 확장판들의 캐리지를 위한 데이터 스트림들의 버퍼 모델의 설계
EP2898698B1 (en) Bitstream properties in video coding
KR102315232B1 (ko) Mpeg-2 시스템들을 이용한 비디오 코딩 표준 확장 비트스트림 데이터의 캐리지
KR101669778B1 (ko) 비디오 코딩에서의 가상 참조 디코더 파라미터들
KR102140860B1 (ko) 계층화된 hevc 비트스트림들의 캐리지를 위한 동작 포인트
KR101924254B1 (ko) 비디오 데이터에 대한 파일 포맷
KR101968425B1 (ko) 비디오 코딩 확장본들의 캐리지를 위한 전송 스트림
BR112016008953B1 (pt) Condução de dados de fluxo de bits com extensão- padrão de codificação de vídeo com o uso de sistemas de mpeg-2
BR112016015903B1 (pt) Método e dispositivo de decodificação de dados de vídeo, e, memória legível por computador

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right