KR102388226B1 - 멀티-계층 비디오 코딩에서의 적합성 및 상호운용성 향상 - Google Patents

멀티-계층 비디오 코딩에서의 적합성 및 상호운용성 향상 Download PDF

Info

Publication number
KR102388226B1
KR102388226B1 KR1020167036054A KR20167036054A KR102388226B1 KR 102388226 B1 KR102388226 B1 KR 102388226B1 KR 1020167036054 A KR1020167036054 A KR 1020167036054A KR 20167036054 A KR20167036054 A KR 20167036054A KR 102388226 B1 KR102388226 B1 KR 102388226B1
Authority
KR
South Korea
Prior art keywords
bitstream
vps
sei messages
output operation
layer
Prior art date
Application number
KR1020167036054A
Other languages
English (en)
Other versions
KR20170023844A (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 KR20170023844A publication Critical patent/KR20170023844A/ko
Application granted granted Critical
Publication of KR102388226B1 publication Critical patent/KR102388226B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/187Methods 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 a scalable video layer
    • 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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 개시물은 비디오 데이터를 처리하는 디바이스들 및 방법들을 제공한다. 상기 방법은 수신된 비디오 데이터로부터 출력 동작 포인트를 추출하는 단계를 포함할 수 있다. 출력 동작 포인트가 기본 계층만을 출력으로서 갖는 전체 비트스트림 및 전체 비트스트림의 시간 서브 세트 중 하나에 대응하는 경우, 본 방법은 제 1 비트스트림 적합성 테스트를 수행하는 단계를 포함할 수 있다. 출력 동작 포인트가, 기본 계층만이 출력되는, 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 상기 계층 세트의 시간적 세브 세트 중 하나에 대응하는 경우, 본 방법은 제 2 비트스트림 적합성 테스트를 수행하는 단계를 포함할 수 있다. 출력 동작 포인트가 상기 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 상기 OLS 의 시간적 서브 세트 중 하나에 대응하는 경우, 본 방법은 제 3 비트스트림 적합성 테스트를 수행하는 단계를 포함할 수있다.

Description

멀티-계층 비디오 코딩에서의 적합성 및 상호운용성 향상{CONFORMANCE AND INOPERABILITY IMPROVEMENTS IN MULTI-LAYER VIDEO CODING}
이 개시물은 멀티-계층 비디오 코딩 분야에 관련된다. 특히, 이 개시물은 프로파일, 티어 (tier) 및 레벨 정보의 시그널링, 출력 계층 세트들의 시그널링, 가상 참조 디코더 (hypothetical reference decoder; HRD) 파라미터들의 사용, 그리고 비트스트림 적합성 테스트들을 포함하는 멀티-계층 비디오 코딩에서의 적합성 (conformance) 및 상호운용성 (interoperability) 향상을 위한 방법에 관련된다.
디지털 비디오 기능들은, 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 정보 단말 (personal digital assistant; PDA) 들, 랩톱 또는 데스크톱 컴퓨터들, 태블릿 컴퓨터들, 전자책 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화들, 소위 "스마트폰들", 화상 원격회의 디바이스들, 비디오 스트리밍 디바이스들 및 기타 등등을 포함하는 광범위한 디바이스들 내에 편입될 수 있다. 디지털 비디오 디바이스들은 하나 이상의 비디오 코딩 기술들을 구현한다. 비디오 디바이스들은 이러한 비디오 코딩 기술들을 구현함으로써 디지털 비디오 정보를 더욱 효율적으로 송신하고, 수신하고, 인코딩하고, 디코딩하고, 및/또는 저장할 수도 있다.
비디오 코딩 기술들은, 제한 없이, ITU-T H.261, ISO/IEC MPEG-1 비주얼 (Visual), ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼, 및 ITU-T H.264 또는 ISO/IEC MPEG-4 진보된 비디오 코딩 (AVC) (그 스케일러블 비디오 코딩 (Scalable Video Coding; SVC) 및 멀티-뷰 비디오 코딩 (MVC) 확장들을 포함하는), 그리고 비교적 새로운 고효율 비디오 코딩 (HEVC) 표준들에 서술된 기술들을 포함한다. HEVC 표준은 최근 ITU-T (International Telecommunication Union's Telecommunication Standardization Sector) 의 비디오 코딩 전문가 그룹 (Video Coding Experts Group; VCEG) 및 ISO(International Organization for Standardization) 및 IEC(International Electrotechnical Commission) 에 의해 형성된 모션 픽처 전문가 그룹 (Motion Picture Experts Group; MPEG) 의 비디오 코딩에 관한 합동 협력 팀 (Joint Collaboration Team on Video Coding; JCT-VC) 에 의해 완결되었다. 이하에서 "HEVC WD10" 으로서 지칭된 최신 HEVC 작업 초안 (WD) 사양은 http:// phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip 로부터 입수가능하다. MV-HEVC 로 지칭되는 HEVC 에 대한 멀티-뷰 확장은 JCT-3V 에 의해 개발되고 있다. 이하에서 MV-HEVC WD3 로 지칭되는 것의 최근의 작업 초안은 http:// phenix.it-sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1004-v4.zip 으로부터 입수가능하다. SHVC 로 지칭되는 HEVC 에의 스케일러블 확장은 JCT-3V 에 의해 개발되고 있다. 이하에서 SHVC WD2 으로서 지칭된 SHVC 의 최근의 작업 초안 (WD) 은 http:// phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M1008-v1.zip 으로부터 입수가능하다.
비디오 코딩 기법들은 비디오 시퀀스들에 내재된 중복성을 감소시키거나 제거하기 위한 공간적 (인트라-픽처 (intra-picture)) 예측 및/또는 시간적 (인터-픽처 (inter-picture)) 예측을 포함한다. 블록-기반 비디오 코딩을 위하여, 비디오 슬라이스 (예컨대, 비디오 프레임 또는 비디오 프레임의 부분) 는 비디오 블록들로 파티셔닝 (partitioning) 될 수도 있으며, 이 비디오 블록들은 또한, 트리블록 (treeblock) 들, 코딩 유닛 (coding unit; CU) 들 및/또는 코딩 노드들로서 지칭될 수도 있다. 픽처의 인트라-코딩된 (I) 슬라이스에서의 비디오 블록들은 동일한 픽처에서의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측을 이용하여 인코딩된다. 픽처의 인터-코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 픽처에서의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측, 또는 다른 참조 픽처들에서의 참조 샘플들에 대한 시간적 예측을 이용할 수도 있다. 픽처들은 프레임들로서 지칭될 수도 있고, 참조 픽처들은 참조 프레임들로서 지칭될 수도 있다.
공간적 또는 시간적 예측은 코딩 되어야 할 블록에 대한 예측 블록으로 귀착된다. 잔차 데이터 (residual data) 는 코딩되어야 할 원래의 블록과 예측 블록과의 사이의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 지시하는 모션 벡터와, 코딩된 블록 및 예측 블록 사이의 차이를 표시하는 잔차 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가의 압축을 위하여, 잔차 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어 잔차 변환 계수들로 귀착될 수도 있고, 그 후 이들은 양자화될 수도 있다. 초기에 2 차원 어레이로 배치된 양자화된 변환 계수들은 변환 계수들의 1 차원 벡터를 생성하기 위해 스캔될 수도 있고, 엔트로피 코딩은 훨씬 더 많은 압축을 달성하기 위해 적용될 수도 있다.
멀티-뷰 코딩 비트스트림은 예를 들면, 다수의 관점들과 같은 인코딩 뷰들에 의해 생성될 수도 있다. 일부 삼차원 (3D) 비디오 표준들은 멀티뷰 코딩 양태들을 이용하도록 개발되어 오고 있다. 예를 들어, 상이한 뷰들은 3D 비디오를 지원하기 위해 왼쪽 및 오른쪽 눈의 관점들을 송신할 수도 있다. 대안적으로, 일부 3D 비디오 코딩 프로세스들은 이른바 멀티뷰 플러스 깊이 코딩에 적용될 수도 있다. 멀티뷰 플러스 깊이 코딩에서는, 3D 비트스트림에 텍스처 뷰 컴포넌트들 뿐만 아니라 깊이 뷰 컴포넌트들이 포함될 수도 있다. 예를 들어, 각각의 뷰는 하나의 텍스처 뷰 컴포넌트 및 하나의 깊이 뷰 컴포넌트를 포함할 수도 있다.
일반적으로, 이 개시물은 멀티-계층 비디오 코딩에서의 적합성 및 상호운용성에 관한 방법에 관련된다. 이 개시물의 시스템들, 방법들, 및 디바이스들은 각각 일부 혁신적인 양태들을 가지며, 그 단 하나가 본원에서 개시된 바람직한 속성들을 단독으로 담당하지는 않는다.
본 개시의 일 양태는 비디오 데이터를 처리하는 방법을 제공한다. 이 방법은 복수의 출력 동작 포인트를 갖는 코딩된 비디오 데이터를 수신하는 단계를 포함할 수 있다. 상기 방법은 또한 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 단계를 포함할 수 있다. 본 방법은 기본 계층만이 출력되는 전체 비트스트림 및 전체 비트스트림의 시간적 서브 세트 중 하나에 대응하는 선택된 출력 동작 포인트에 응답하여, 선택된 출력 동작 포인트에 대한 제 1 비트스트림 적합성 테스트 (conformance test) 를 수행하는 단계를 포함하고, 제 1 비트스트림 적합성 테스트는 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트, 및 하나 이상의 네스팅되지 않은 (non-nested) 보충 향상 정보 (SEI) 메시지들에 기초한다. 본 방법은 또한, 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여, 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하는 단계를 포함하고, 제 2 비트스트림 적합성 테스트는 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트 및 직접 네스팅된 (nested) SEI 메시지들에 기초한다. 선택된 출력 동작 포인트가 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (output layer set; OLS) 및 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여, 본 방법은 또한 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하는 단계를 포함하고, 제 3 비트스트림 적합성 테스트는 활성 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트 및 간접 네스팅된 SEI 메시지들에 기초한다.
본 발명의 다른 양태는 비디오 데이터를 처리하기 위한 디바이스를 제공한다. 상기 디바이스는 코딩된 비디오 데이터를 저장하도록 구성된 메모리를 가질 수 있으며, 상기 코딩된 비디오 데이터는 복수의 출력 동작 포인트를 갖는다. 상기 디바이스는 또한 메모리에 동작 가능하게 결합되고 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하도록 구성된 프로세서를 가질 수 있다. 기본 계층만이 출력되는 전체 비트스트림 및 전체 비트스트림의 시간 서브 세트 중 하나에 대응하는 선택된 출력 동작 포인트에 응답하여, 프로세서는 또한 선택된 출력 동작에 대한 제 1 비트스트림 적합성 테스트를 수행하도록 구성될 수 있으며, 제 1 비트스트림 적합성 테스트는 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트, 및 하나 이상의 네스팅되지 않은 보충 향상 정보 (SEI) 메시지들에 기초한다. 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여, 프로세서는 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하도록 구성되며, 제 2 비트스트림 적합성 테스트는 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트 및 직접 네스팅된 SEI 메시지들에 기초한다. 선택된 출력 동작 포인트가 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여, 프로세서는 또한 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하도록 구성될 수 있으며, 제 3 비트스트림 적합성 테스트는 활성 VPS 내의 시퀀스-레벨 파라미터들의 세트 및 간접 네스팅된 SEI 메시지들에 기초한다.
본 발명의 다른 양태는 비디오 데이터를 처리하는 장치를 제공한다. 상기 장치는 코딩된 비디오 데이터를 저장하기 위한 메모리 수단을 가질 수 있으며, 상기 비디오 데이터는 복수의 출력 동작 포인트들을 갖는다. 장치는 또한 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하기 위해 메모리 수단에 동작 가능하게 결합된 디코더 수단을 가질 수 있다. 디코더 수단은 기본 계층만이 출력되는 전체 비트스트림 및 전체 비트스트림의 시간 서브 세트 중 하나에 대응하는 선택된 출력 동작 포인트에 응답하여, 선택된 출력 동작에 대한 제 1 비트스트림 적합성 테스트를 수행할 수 있고, 제 1 비트스트림 적합성 테스트는 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트, 및 하나 이상의 네스팅되지 않은 보충 향상 정보 (SEI) 메시지들에 기초한다. 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여, 디코더 수단은 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하며, 제 2 비트스트림 적합성 테스트는 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트 및 직접 네스팅된 SEI 메시지들에 기초한다. 선택된 출력 동작 포인트가 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여, 디코더 수단은 또한 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하며, 제 3 비트스트림 적합성 테스트는 활성 VPS 내의 시퀀스-레벨 파라미터들의 세트 및 간접 네스팅된 SEI 메시지들에 기초한다.
본 발명의 다른 양태는 비디오 데이터를 처리하기 위한 비 일시적 컴퓨터 판독 가능 매체를 제공한다. 비 일시적 컴퓨터 판독 가능 매체는 프로세서에 의해 실행될 때 컴퓨터로 하여금 복수의 출력 동작 포인트를 갖는 코딩된 비디오 데이터를 수신하게 하는 명령을 포함할 수 있다. 명령들은 또한 컴퓨터로 하여금 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하도록 할 수 있다. 명령들은 기본 계층만이 출력되는 전체 비트스트림 및 전체 비트스트림의 시간 서브 세트 중 하나에 대응하는 선택된 출력 동작 포인트에 응답하여, 프로세서는 또한 선택된 출력 동작에 대한 제 1 비트스트림 적합성 테스트를 수행하게 할 수 있으며, 제 1 비트스트림 적합성 테스트는 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트, 및 하나 이상의 네스팅되지 않은 보충 향상 정보 (SEI) 메시지들에 기초한다. 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여, 명령들은 또한 컴퓨터로 하여금 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하게 하고, 제 2 비트스트림 적합성 테스트는 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트 및 직접 네스팅된 SEI 메시지들에 기초한다. 선택된 출력 동작 포인트가 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여, 명령들은 또한 컴퓨터로 하여금 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하게 하며, 제 3 비트스트림 적합성 테스트는 활성 VPS 내의 시퀀스-레벨 파라미터들의 세트 및 간접 네스팅된 SEI 메시지들에 기초한다.
본 개시물의 다른 특징들 및 이점들은, 예시로서, 본 개시물의 양태들을 나타내는 다음의 설명으로부터 명백해질 것이다.
그 구조 및 동작의 양자에 대한, 본 개시물의 실시형태들의 세부사항들은 유사한 참조 번호들이 유사한 부분들을 지칭하는 동반된 도면들의 연구에 의해 부분적으로 얻어질 수도 있으며:
도 1 은 비디오 코딩 시스템의 기능적인 블록도이고;
도 2 는 도 1 의 비디오 인코더의 기능적인 블록도이고;
도 3 은 도 1 의 비디오 디코더의 기능적인 블록도이고;
도 4 는 적합성 테스트 구현 방법을 개시하는 흐름도이다.
일반적으로, 본 개시물은 멀티-계층 비디오 코딩에서의 적합성 및 상호운용성에 관한 방법에 관련된다. 방법들의 일부는 프로파일, 티어 (tier) 및 레벨 정보의 시그널링, 출력 계층 세트들의 시그널링, HRD 파라미터들의 사용, 그리고 비트스트림 적합성 테스트들을 포함한다.
본 개시물은 프로파일, 티어 (tier) 및 레벨 정보의 시그널링, 출력 계층 세트들의 시그널링, HRD 파라미터들의 사용, 그리고 비트스트림 적합성 테스트들에 관한 현재 HEVC 사양의 특정한 단점들을 식별한다. 이 단점들의 일부는 다음을 포함한다:
0 번째 출력 계층 세트 (OLS) 를 제외하고, 다른 기본-계층-출력-전용 OLS 에 대한 최적의 티어 및 레벨은 비디오 파라미터 세트 (VPS) 의 확장 부분에서 시그널링될 수 있다. 기본-계층-출력-전용 OLS 는 오직 하나의 출력 계층을 가지고, 오직 하나의 출력 계층이 기본 계층인 OLS 이다. HEVC가 기본 VPS에서 시그널링되는 각각의 계층 세트에 대한 VPS 확장에서 시그널링되는 기본-계층만을 출력하는 OLS를 요구하지 않기 때문에 이러한 시그널링은 필요하지 않다. 전체 비트스트림에 대한 프로파일, 티어, 및 레벨 정보가 VPS 기본 (base) 에서 대신 시그널링된다. 그러므로, HEVC 버전 1 포인트의 관점에서, 전체 비트스트림의 티어 및 레벨에 대한 제약 조건만을 확인하면서, 자신의 HRD 파라미터들을 가진 모든 동작 포인트들에 대해 비트스트림 적합성 테스트들을 수행하는 것은 이상적이지 않다. 이는 적합성 테스트를 여전히 만족시키면서 전체 비트스트림에 대응하는 동작 포인트 이외의 모든 동작 포인트들에 대한 HRD 파라미터가 최적보다 훨씬 "더 높게" 되는 것을 허용할 수 있다.
HEVC 는 VPS 확장에서 기본-계층-출력-전용 OLS 의 시그널링을 허용한다. 그러나, 기본 VPS 는 이미 이러한 역할을 충족시킨다. 따라서, VPS 확장에서의 이러한 시그널링은 불필요하고, 결과적으로 오버헤드가 증가한다.
HEVS 표준은 일부 비트스트림 적합성 테스트들에서 사용되기 위해 선택되어야 하는 SEI 메시지들에 관련된, 네스팅되지 않은 그리고 직접 네스팅된 버퍼링 주기 (buffering period; BP), 픽처 타이밍(picture timing; PT) 및 디코딩 유닛 정보 (decoding unit information; DUI) 보충 향상 정보 (supplemental enhancement information; SEI) 메시지들의 적용 가능성에 관해서는 불확실하다.
프로파일, 티어, 레벨 (PTL) 신택스 구조의 사용은 비트스트림 적합성 테스트 동안 명확하게 규정되지 않는다. 예를 들어, 기본-계층-출력-전용 OLS 에 대한 일부 비스트트림 적합성 테스트들은 누락 (missing) 되어 있다. hrd_parameters() 신택스 구조 및 BP, PT, 및 DUI SEI 메시지들의 사용은 일부 적합성 테스트들에 대해 명확하지 않다.
첨부된 도면들과 관련하여 이하에서 기재된 상세한 설명은 다양한 실시형태들의 설명으로서 의도된 것이고, 본 개시물이 실시될 수도 있는 실시형태들만을 나타내도록 의도된 것은 아니다. 상세한 설명은 실시형태들의 철저한 이해를 제공하는 목적을 위한 특정 세부사항들을 포함한다. 그러나, 당해 분야의 당업자들에게는 이러한 특정 세부사항이 없는 개시 내용이 명백할 것이다. 일부의 사례들에서는, 잘 알려진 구조들 및 컴포넌트들이 설명의 간결함을 위하여 간략화된 형태로 도시되어 있다.
비디오 코딩 시스템
도 1 은 비디오 코딩 시스템 (10) 의 기능적인 블록도이다. 비디오 코딩 시스템 ("시스템") 은 본 개시물에서 설명된 양태들에 따라 방법들을 사용할 수도 있다. 본원에서 설명된 바와 같이, 용어 "비디오 코더" 는 일반적으로 비디오 인코더들 및 비디오 디코더들의 양자를 지칭한다. 본 개시물에서, 용어들 "비디오 코딩" 또는 "코딩" 은 일반적으로 비디오 인코딩 및 비디오 디코딩을 지칭할 수도 있다.
도 1 에 도시된 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 추후에 디코딩될 인코딩된 비디오 데이터를 생성하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 데스크톱 컴퓨터들, 노트북 (예를 들면, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 박스 (set-top box) 들, 소위 "스마트" 폰들과 같은 전화 핸드셋들, 소위 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 콘솔들, 차량내 컴퓨터들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위한 디바이스들을 포함할 수도 있다. 경우에 따라서는, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 위해 구비될 수도 있다.
목적지 디바이스 (14) 는 링크 (16) 를 통해 디코딩되어야 할 인코딩된 비디오 데이터를 수신할 수도 있다. 링크 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동시킬 수 있는 일 타입의 매체 또는 디바이스를 포함할 수도 있다. 일 실시형태에서, 링크 (16) 는 소스 디바이스 (12) 가 인코딩된 비디오 데이터를 실시간으로 목적지 디바이스 (14) 로 직접 송신하는 것을 가능하게 하기 위한 통신 매체를 포함할 수도 있다. 소스 디바이스 (12) 는 무선 통신 프로토콜과 같은 통신 표준에 따라 인코딩된 비디오 데이터를 변조할 수도 있고, 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 라디오 주파수 (radio frequency; RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷-기반 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하기 위하여 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
인코딩된 데이터는 출력 인터페이스 (22) 로부터 저장 디바이스 (34) 로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 목적지 디바이스 (14) 의 입력 인터페이스 (28) 에 의해 저장 디바이스 (34) 로부터 액세스될 수도 있다. 저장 디바이스 (34) 는 하드 드라이브, 블루-레이 (Blu-ray) 디스크들, DVD 들, CD-ROM 들, 플래시 메모리, 휘발성 또는 비-휘발성 메모리, 또는 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은, 분산되거나 국소적으로 액세스된 다양한 데이터 저장 매체들 중의 임의의 것을 포함할 수도 있다. 추가의 실시형태들에서, 저장 디바이스 (34) 는 컴퓨터-판독가능 저장 매체는 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오를 저장할 수도 있는 파일 서버 또는 또 다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 저장 디바이스 (34) 로부터의 저장된 비디오 데이터를 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있으며 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수 있는 임의의 타입의 서버일 수도 있다. 일 예의 파일 서버들은 (예컨대, 웹사이트를 위한) 웹 서버, FTP 서버, 네트워크 연결 저장 (network attached storage; NAS) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷 접속을 포함하는 임의의 표준 데이터 접속을 통해 인코딩된 비디오 데이터를 액세스할 수도 있다. 이것은, 파일 서버 상에 저장된 인코딩된 비디오 데이터를 액세스하기 위해 적당한 무선 채널 (예컨대, Wi-Fi 접속), 유선 접속 (예컨대, DSL, 케이블 모뎀 등), 또는 양자의 조합을 포함할 수도 있다. 저장 디바이스 (34) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 양자의 조합일 수도 있다.
본 개시물의 방법들은 무선 어플리케이션들 또는 세팅들에 한정될 필요는 없다. 방법들은 오버-디-에어 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예를 들면, 인터넷을 통한, 스트리밍 비디오 송신들, 데이터 저장 매체 상으로 인코딩되는 디지털 비디오, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들과 같은, 임의의 다양한 멀티미디어 애플리케이션들의 지원 하에서 비디오 코딩에 적용될 수도 있다. 일부의 실시형태들에서, 시스템 (10) 은 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 및/또는 화상 통화 (video telephony) 와 같은 애플리케이션들을 지원하기 위하여 일방향 (one-way) 또는 양방향 (two-way) 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20) 및 출력 인터페이스 (22) 를 포함한다. 일부 경우들에서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 소스 디바이스 (12) 에서, 비디오 소스 (18) 는 소스 예컨대 비디오 캡처 디바이스, 예를 들어, 비디오 카메라, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 비디오를 비디오 콘텐츠 제공자로부터 수신하기 위한 비디오 피드 인터페이스, 및/또는 소스 비디오로서 컴퓨터 그래픽 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합을 포함할 수도 있다. 하나의 예로서, 비디오 소스 (18) 가 비디오 카메라인 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 본 개시물에서 설명되는 방법들은 일반적으로 비디오 코딩에 적용가능할 수도 있고, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다.
비디오 인코더 (20) 는 캡처된, 미리 캡처된, 또는 컴퓨터 생성된 비디오를 인코딩할 수도 있다. 추가적으로, 일부 실시형태들에서, 비디오 디코더 (30) 는 제 1 비스트스트림의 파라미터 세트 ID 및 고유한 파라미터 세트 ID 에 기초하여 제 1 스트림과 제 2 비트스트림을 구별할 수도 있다. 다른 예시들에서, 소스 디바이스 (12) 의 출력 인터페이스 (22) 는 링크 (16) 를 통하여 목적지 디바이스 (14) 로 직접 인코딩된 비디오 데이터를 송신할 수도 있다. 인코딩된 비디오 데이터는 또한 (또는 대안적으로) 디코딩 및/또는 플레이백을 위해 목적지 디바이스 (14) 또는 다른 디바이스들에 의한 추후 액세스를 위해 저장 디바이스 (34) 상에 저장될 수도 있다.
디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부 경우들에서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 포함할 수도 있다. 목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 링크 (16) 를 통해 인코딩된 비디오 데이터를 수신한다. 링크 (16) 를 통해 통신된, 또는 저장 디바이스 (34) 상에 제공된, 인코딩된 비디오 데이터는, 비디오 데이터를 디코딩함에 있어서, 비디오 디코더 (30) 와 같은 비디오 디코더에 의한 이용을 위해 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 엘리먼트들을 포함할 수도 있다. 이러한 신택스 엘리먼트들은, 통신 매체 상에 송신되거나, 저장 매체 상에 저장되거나, 또는 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 포함될 수도 있다.
디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합되거나, 또는 그 외부에 있을 수도 있다. 일부 예들에서, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함할 수도 있고 또한 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수도 있다. 다른 예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 다양한 디스플레이 디바이스들, 예컨대, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스 중 임의의 것을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 집적 회로 (ASIC) 들, 필드 프로그래밍가능 게이트 어레이 (FPGA) 들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합과 같은 다양한 적합한 인코더 회로부 중 임의의 것으로서 구현될 수도 있다. 이 방법들이 부분적으로 소프트웨어로 구현되면, 디바이스는 그 소프트웨어에 대한 명령들을 적합한 비일시적 컴퓨터 판독가능 매체에 저장할 수도 있고 그 명령들을 하드웨어로 하나 이상의 프로세서들을 이용하여 실행함으로써 본 개시물의 방법들을 수행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 하나는 조합된 인코더/디코더 (CODEC) 의 부분으로서 각각의 디바이스에 통합될 수도 있다.
HEVC 표준화 노력은 HEVC 테스트 모델 (HM) 로 지칭되는 비디오 코딩 디바이스의 모델을 포함하는 것에 기초한다. HM 은 예컨대, ITU-T H.264/AVC 에 따른 존재하는 디바이스들에 관련된 비디오 코딩 디바이스들의 몇 가지 추가적인 능력들을 가정한다. 예를 들어, H.264 가 9 인트라-예측 인코딩 모드들을 제공하는 반면, HM 은 최대 33 인트라-예측 인코딩 모드들을 제공한다.
일반적으로, HM 의 워킹 모델은 루마 (luma) 및 크로마 (chroma) 샘플 모두를 포함하는 트리블록들의 시퀀스 또는 최대 코딩 유닛 (LCU) 으로 분할될 수도 있는 비디오 프레임 또는 픽처를 설명한다. 트리블록은 H.264 표준의 매크로블록과 유사한 목적을 가진다. 슬라이스는 코딩 순서에 따른 다수의 연속하는 트리블록들을 포함한다. 비디오 프레임 또는 픽처는 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각 트리블록은 쿼드트리에 따른 코딩 유닛 (CU) 들로 분할될 수도 있다. 예를 들어, 쿼드트리의 루트 노드로서의 트리블록은 4 개의 자식 노드들로 분할될 수도 있고, 각각의 자식 노드는 다시 부모 노드가 될 수도 있고 다른 4 개의 자식 노드들로 분할될 수도 있다. 결국, 쿼드트리의 리프 (leaf) 노드로서의 분할되지 않은 자식 노드는 코딩 노드, 예컨대, 코딩된 비디오 블록을 포함한다. 코딩된 비트스트림과 연관된 신택스 데이터는 트리 블록이 분할될 수 있는 최대의 수를 정의할 수도 있고, 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다.
CU 는 코딩 노드와 코딩 노드와 연관된 예측 유닛 (PU) 들 및 변환 유닛 (PU) 들을 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하고, 정방형의 형상을 띄어야 한다. CU 의 사이즈는 8x8 픽셀들부터 64x64 픽셀들 이상의 최대치를 갖는 트리블록의 사이즈까지의 범위에 있을 수도 있다. 각 CU 는 하나 이상의 PU 들 및 하나 이상의 TU 들을 포함할 수도 있다. CU 와 연관된 신택스 데이터는, 예를 들어, CU 를 하나 이상의 PU 로 파티셔닝하는 것을 설명할 수도 있다. 파티셔닝 모드들은 CU 가 스킵 또는 인코딩된 다이렉트 모드, 인코딩된 인트라-예측 모드, 또는 인코딩된 인터-예측 모드 중 어느 것에 해당하는 지를 구별할 수도 있다. PU 는 비-정방형 향상으로 파티셔닝 될 수도 있다. CU 와 연관된 파티셔닝 데이터는, 예를 들어, CU 를 쿼드트리에 따른 하나 이상의 TU 로 파티셔닝 하는 것을 설명할 수도 있다. TU 는 정방형 또는 비-정방형의 형상을 띌 수도 있다.
HEVC 표준은 상이한 CU 들에 대해 상이해질 수도 있는 TU 들에 따른 변환을 허용한다. TU 들은 비록 항상 그렇지는 않을 수도 있지만, 파티셔닝된 LCU 에 대해 정의된 주어진 CU 내에서의 PU 들의 사이즈에 기초하여 사이즈가 정해질 수 있다. TU 들은 PU 들과 동일하거나 작은 사이즈가 될 수 있다. 일부 예시들에서, CU 에 대응하는 잔차 샘플들은 "잔차 쿼드트리 (RQT)" 로 알려진 쿼드트리 구조를 사용하여 보다 작은 유닛드로 더 분할될 수도 있다. RQT 의 리프 노드들은 변환 유닛 (TU) 들로 지칭될 수도 있다. TU 들과 연관된 픽셀 차이 값은, 양자화될 수도 있는, 변환 계수를 생산하기 위해 변환될 수도 있다.
일반적으로, PU 는 예측 프로세스에 관련된 데이터를 포함한다. 예를 들어, PU 가 인트라-모드 인코딩되면, PU 는 PU 에 대한 인트라-예측 모드를 설명하는 데이터를 포함할 수도 있다. 다른 예로서, PU 가 인터-모드 인코딩되면, PU 는 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. PU 에 대한 모션 벡터를 정의하는 데이터는, 예를 들어, 모션 벡터의 수평 요소, 모션 벡터의 수직 요소, 모션 벡터에 대한 해상도 (예컨대, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터 포인트로의 참조 픽처, 및/또는 모션 벡터에 대한 참조 픽처 리스트 (List 0, List 1, List C) 를 설명할 수도 있다.
일반적으로, TU 는 변환 및 양자화 프로세스들에 사용된다. 하나 이상의 PU 들을 갖는 주어진 CU 는 하나 이상의 변환 유닛 (TU) 들을 포함할 수도 있다. 이하의 예측에서, 비디오 인코더 (20) 는 PU 에 대응하는 잔차 값들을 계산할 수도 있다. 잔차 값들은 엔트로피 코딩을 위해 연속된 변환 계수들을 생산하기 위해 변환 계수들로 변환되고, 양자화되고, 그리고 TU 들을 사용하여 스캔될 수도 있다. 여기서 사용된 용어 "비디오 블록" 은 일반적으로 CU 의 코딩 노드를 지칭할 수도 있다. 일부 특정한 경우들에서, 본 개시물은 또한 트리 블록, 예컨대, LCU, 또는 코딩 노드, PU 들 TU 들을 포함하는 CU 를 지칭하기 위해 용어 "비디오 블록" 을 사용할 수도 있다.
비디오 인코더 (20) 는 인코딩된 비디오 데이터를 포함하는 비트스트림을 생성할 수 있다. 비트스트림은 일련의 네트워크 추상화 계층 (NAL) 단위를 포함할 수 있다. 비트스트림의 NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들 및 비-VCL NAL 유닛들을 포함할 수 있다. VCL NAL 유닛들은 픽처들의 코딩된 슬라이스들을 포함할 수 있다. 비-VCL NAL 유닛은 VPS, 시퀀스 파라미터 세트 (sequence parameter set; SPS), 픽처 파라미터 세트 (picture parameter set; PPS), SEI, 또는 데이터의 다른 타입들을 포함할 수 있다. VPS 는 0 개 이상의 전체 코딩된 비디오 시퀀스들에 적용하는 신택스 엘리먼트들을 포함할 수도 있는 신택스 구조이다. SPS 는 0 개 이상의 전체 코딩된 비디오 시퀀스들에 적용하는 신택스 엘리먼트들을 포함할 수도 있는 신택스 구조이다. 단일 VPS 는 다수의 SPS 들에 적용 가능할 수도 있다. PPS 는 0 개 이상의 전체 코딩된 비디오 시퀀스들에 적용하는 신택스 엘리먼트들을 포함할 수도 있는 신택스 구조이다. 단일 SPS 는 다수의 PPS 들에 적용 가능할 수도 있다. 일반적으로, HEVC 표준에 의해 정의된 것과 같이, VPS, SPS 및 PPS 의 다양한 양태가 형성될 수도 있다. 비디오 인코더 (20) 는 비트스트림에서, 픽처들의 샘플 값들의 디코딩을 교정하기 위해 요구되지 않는 메타데이터를 포함하기 위해 SEI 메시지들을 사용할 수도 있다. 그러나, 비디오 디코더 (30) 또는 다른 디바이스들은 다양한 다른 목적들을 위해 SEI 메시지들에 포함된 메타데이터를 사용할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 픽처 출력 타이밍, 픽처 디스플레이, 손실 탐지 (loss detection), 및 오류 은폐 (error concealment) 를 위해 SEI 메시지들 내의 메타데이터를 사용할 수도 있다.
고 레벨 신택스 (High Level Syntax)
NAL 유닛들은 비디오 인코더 (20) 에 의해 인코딩되고 비디오 디코더 (30) 로 송신된 신택스 엘리먼트들을 포함할 수도 있다. 비트스트림의 구조를 설명하거나 파라미터 세트들 (예컨대, SPS, VPS, PPS 등) 과 같은 픽처 내의 다수의 픽처들 또는 다수의 코딩된 블록 영역에 적용되는 정보를 제공하는 신택스 엘리먼트, 참조 픽처 관리 신택스, 및 SEI 메시지는 HEVC의 "고 레벨 신택스"(high-level syntax, HLS) 부분으로 알려져 있다.
특히, HEVC는본 개시물과 관련하여 다음 양태들을 이용한다 :
파라미트 세트 구조: 디코딩된 비디오의 여러 영역들의 디코딩을 위해 공유될 수 있는 정보를 포함하는 파라미터 세트들. 파라미터 세트 구조는 디코딩 프로세스에 필수적인 데이터 전달을 위한 견고한(robust) 메커니즘을 제공한다.
보충 향상 정보 ( SEI ) : 신택스는 SEI 로 알려진 다양한 타입의 메타데이터에 대한 지원을 포함한다. 이러한 데이터는 비디오 픽처들의 타이밍, 비디오 신호에서 사용된 색 공간의 적절한 해석, 3 차원 입체 (stereoscopic) 프레임 패킹 정보, 기타 디스플레이 힌트 정보 등에 대한 정보를 제공한다.
도 2 는 도 1 의 비디오 인코더의 기능적 블록 다이어그램이다. 비디오 인코더 (20) 는 캡처된 디오 데이터를 수신하고 비디오 데이터를 비디오 블록들로 파티셔닝하도록 구성된 파티셔닝 모듈 (35) 을 포함할 수 있다. 파티셔닝 모듈 (35) 은 비디오 데이터를 슬라이스들, 타일들 또는 다른 큰 유닛들로 분할할 수 있다. 파티셔닝 모듈 (35) 은 또한 예를 들면, LCU들 및 CU들의 쿼드트리 구조에 따라 비디오 블록들을 파티셔닝 할 수 있다. 비디오 인코더 (20) 는 슬라이스를 다수의 비디오 블록들 (및 가능하게는 타일들로서 지칭되는 비디오 블록들의 세트들) 로 분할할 수 있다.
비디오 인코더 (20) 는 또한 파티셔닝 모듈 (35) 에 동작 가능하게 커플링되고 파티셔닝된 비디오 데이터를 수신하도록 구성된 예측 모듈 (41) 을 가질 수 있다. 예측 모듈 (41) 은 에러 결과들 (예를 들어, 코딩 레이트 및 왜곡 (distortion) 의 레벨) 에 기초하여 현재 비디오 블록에 대해 복수의 인트라 코딩 모드들 중 하나 또는 복수의 인터 코딩 모드들 중 하나와 같은 복수의 가능한 코딩 모드들 중 하나를 선택할 수 있다. 예측 모듈 (41) 은 비디오 인코더 (20) 가 비디오 슬라이스들 내에서 비디오 블록들의 인트라-코딩 및 인터-코딩을 수행하게 할 수 있다. 인트라-코딩은 주어진 비디오 프레임이나 픽처 내에서 비디오의 공간 중복을 줄이거나 제거하기 위해 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내의 비디오에서 시간적 중복을 감소시키거나 제거하기 위해 공간 예측에 의존한다. 인트라-모드 (I 모드) 는 여러 공간 기반 압축 모드 중 하나를 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양방향 예측 (B 모드) 와 같은 인터-모드들은 여러 시간 기반 압축 모드 중 하나를 지칭할 수도 있다.
예측 모듈 (41) 은 모션 추정 모듈 (42), 모션 보상 모듈 (44) 및 인트라-예측 모듈 (46) 을 포함할 수 있다. 이들 컴포넌트들 각각은 비디오 인코더 (20) 내의 하나 이상의 프로세서에 동작 가능하게 연결되거나 통합될 수 있다. 개념적 목적을 위해 개별적으로 논의되었지만, 모션 추정 모듈 (42), 모션 보상 모듈 (44) 및 인트라-예측 모듈 (46) 은 고도로 (highly) 통합될 수 있다.
모션 추정 모듈 (42) 은 비디오 시퀀스에 대한 사전에 결정된 패턴에 따라 비디오 슬라이스에 대한 인터-예측 모드를 결정하도록 구성될 수 있다. 하나 이상의 참조 필처들에서 하나 이상의 예측 블록들에 관련된 현재 비디오 블록의 그러한 인터-예측 또는 인터-예측 코딩은 시간적 압축을 제공할 수도 있다. 사전에 결정된 패턴은 P 슬라이스들, B 슬라이스들 또는 GPB 슬라이스들로서 시퀀스 내의 비디오 슬라이스들을 지정할 수도 있다. 본 명세서에서 사용되는 모션 추정은 일반적으로 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스를 지칭할 수도 있다. 예를 들어, 모션 벡터는 참조 프레임 또는 참조 픽처 내의 예측 블록에 관련된 현재 비디오 프레임 또는 픽처 내의 비디오 블록의 PU의 변위를 지시할 수도 있다. 참조 프레임들은 예측 모듈 (41) 에 동작 가능하게 커플링된 참조 픽처 메모리 (64) 에 저장될 수 있다. 참조 프레임 메모리 (64) 는 본 명세서에서 디코딩된 화상 버퍼 (DPB) 를 더 포함할 수 있다. 참조 프레임 메모리 (64), 또는 DPB는 필터 모듈 (63) 이 재구성된 코딩 블록들에 대해 디블록킹 동작을 수행 한 후에 재구성된 코딩 블록들을 저장할 수 있다.
예측 블록은 절대 차의 합 (sum of absolute difference; SAD), 제곱의 차의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭에 의해 결정될 수도 있는 픽셀 차이의 관점에서 코딩될 비디오 블록의 PU와 근접하게 일치하는 것으로 발견 된 블록이다. 일부 예시들에서, 모션 예측 모듈 ("예측 모듈") (41) 은 참조 픽처 메모리 (64) 에 저장된 참조 픽처들의 서브-정수 픽셀 위치들에 대한 값을 계산할 수 있다. 예를 들어, 예측 모듈 (41) 은 참조 픽처의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 다른 분수 픽셀 위치들을 보간할 수 있다. 그러므로, 모션 추정 모듈 (42) 은 전체 픽셀 위치들 및 분수 픽셀 위치들에 관련된 모션 검색을 수행하고 분수 픽셀 정밀도로 모션 벡터를 출력할 수도 있다.
모션 추정 모듈 (42) 은 PU의 위치를 참조 픽처의 예측 블록의 위치와 비교함으로써 인터-코딩된 슬라이스 내의 비디오 블록의 PU에 대한 모션 벡터를 계산할 수 있다. 참조 픽처는 제 1 참조 픽처 리스트 (List 0) 또는 제 2 참조 픽처 리스트 (List 1) 로부터 선택될 수 있고, 각각은 참조 픽처 메모리 (64)에 저장된 하나 이상의 참조 픽처를 식별한다. 모션 추정 모듈 (42) 은 계산 된 모션 벡터를 모션 보상 모듈 (44) 및 엔트로피 인코딩 모듈 (56)로 보낸다.
모션 보상은 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 인출하거나 생성하는 것을 포함할 수 있다. 이것은 서브-픽셀 정밀도로의 보간을 포함할 수 있다. 현재 비디오 블록의 PU에 대한 모션 벡터를 수신하면, 모션 보상 모듈 (44) 은 모션 벡터가 가리키는 예측 블록을 참조 픽처 리스트들 중 하나에 위치시킬 수 있다. 모션 보상 모듈 (44) 은 또한 비디오 슬라이스의 비디오 블록들을 디코딩할 때 비디오 디코더 (30) 에 의해 사용하기 위한 비디오 블록들 및 비디오 슬라이스와 연관된 신택스 엘리먼트를 생성할 수 있다.
예측 모듈 (41) 내의 인트라-예측 모듈 (46) 은 공간적 압축을 제공하기 위해 동일한 프레임 또는 슬라이스 내의 하나 이상의 이웃하는 블록에 관련된 현재 비디오 블록의 인트라-예측 코딩을 수행할 수 있다. 인트라-예측 모듈 (46) 은 상술 한 바와 같이 모션 추정 모듈 (42) 및 모션 보상 모듈 (44) 에 의해 수행된 인터-예측에 대한 대안으로서, 현재 블록을 인트라-예측할 수 있다. 특히, 인트라-예측 모듈 (46) 은 현재 블록을 인코딩하는데 사용하기 위한 인트라-예측 모드를 결정할 수도 있다. 일부 예시들에서, 인트라-예측 모듈 (46) 은, 예컨대, 별도의 인코딩 패스들 동안, 다양한 인트라-예측 모드를 사용하여 현재 블록을 인코딩할 수도 있다. 예를 들어, 인트라-예측 모듈 (46) 은 다양한 테스트된 인트라-예측 모드에 대한 레이트-왜곡 분석을 사용하여 레이트-왜곡 값들을 계산하고, 테스트된 모드들 중에서 최상의 레이트-왜곡 특성을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 인코딩된 블록과 인코딩된 블록을 생성하기 위해 인코딩되었던, 인코딩되지 않은 오리지널 블록간에, 비트 전송률 (즉, 비트 수) 뿐만 아니라 왜곡 (또는 에러) 의 양을 결정할 수 있다. 인트라-예측 모듈 (46) 은 어떤 인트라-예측 모드가 블록에 대해 최상의 레이트-왜곡 값을 나타내는지를 결정하기 위해 다양한 인코딩된 블록에 대한 왜곡들 및 레이트들로부터 비율을 계산할 수도 있다.
인트라-예측 모듈 (46) 은 블록에 대한 선택된 인트라-예측 모드를 나타내는 정보를 엔트로피 인코딩 모듈 (56) 에 제공할 수 있다. 엔트로피 인코딩 모듈 (56) 은 선택된 인트라-예측 모드를 나타내는 정보를 인코딩할 수 있다. 비디오 인코더 (20) 는 복수의 인트라 예측 모드 인덱스 테이블 및 복수의 수정된 인트라-예측 모드 인덱스 테이블들 (코드 워드 맵핑 테이블이라고도 지칭됨) 을 포함할 수도 있는 송신된 비트스트림 내의 구성 데이터 및 컨텍스트들의 각각에 대해 사용하기 위한 인트라-예측 모드, 인트라-예측 모드 인덱스 테이블, 수정된 인트라-예측 모드 인덱스 테이블의 가장 가능성 있는 지시를 포함할 수 있다.
예측 모듈 (41) 이 인터-예측 또는 인트라-예측을 통해 현재 비디오 블록에 대한 예측 블록을 생성 한 후, 비디오 인코더 (20) 는 현재 비디오 블록으로부터 예측 블록을 감산하는 것에 의해 잔차 비디오 블록을 형성한다. 이 프로세스는 픽셀 차이 값을 초래할 수 있다. 픽셀 차이 값들은 블록에 대한 잔차 데이터를 형성하며, 루마 및 크로마 차이 컴포넌트들을 모두 포함할 수 있다. 예측 모듈 (41) 및 분할 모듈 (35) 에 동작 가능하게 커플링된 합산기 (50) 는 이 감산 연산을 수행하도록 구성될 수 있는 컴포넌트 또는 컴포넌트들을 나타낸다.
잔차 블록의 잔차 비디오 데이터는 하나 이상의 TU들에 포함될 수 있으며, 합산기 (50) 에 동작 가능하게 커플링된 변환 모듈 (52)에 적용될 수도 있다. 변환 모듈 (52) 은 변환을 사용하여 잔차 비디오 데이터를 잔차 변환 계수들로, 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 수행할 수 있다. 변환 모듈 (52) 은 잔차 비디오 데이터를 픽셀 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환할 수 있다. 예측 모듈 (41) 은 잔차 블록 데이터를 생성하기 위하여 결과적인 인트라- 또는 인터-코딩된 블록을 합산기 (50) 에 제공할 수 있다. 결과적인 인트라- 또는 인터-코딩된 블록은 참조 픽처로서 사용하기 위해 인코딩된 블록을 재구성하기위한 합산기 (62) 에 더 제공될 수 있다.
비디오 인코더 (20) 는 합산기 (62) 에 동작 가능하게 커플링된 필터 모듈 (63) 을 포함할 수 있다. 필터 모듈 (63) 은 디블로킹 필터, ALF (adaptive loop filter) 및 샘플 적응 오프셋 (SAO) 필터와 같은 하나 이상의 루프 필터를 나타낼 수 있다. 필터 모듈 (63) 이 루프 필터로서 도 2에 도시되어 있지만, 다른 구성들에서, 필터 모듈 (63) 은 포스트 루프 필터로 구현될 수 있다. 필터 모듈 (63) 은 참조 픽처를 참조 픽처 메모리 (64)에 제공할 수 있다.
변환 모듈 (52) 은 결과적인 변환 계수를 양자화 모듈 (54) 에 보낼 수 있다. 양자화 모듈 (54) 은 변환 계수를 양자화하여 비트 전송률을 더 감소시킬 수 있다. 양자화 프로세스는 계수들의 일부 또는 전부와 관련된 비트 깊이를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정하는 것에 의해 수정될 수도 있다. 일부 예시들에서, 양자화 모듈 (54) 은 그 후에 양자화된 변환 계수들을 포함하는 행렬의 스캔을 수행할 수 있다. 일부 실시형태들에서, 엔트로피 인코딩 모듈 (56) 은 스캔을 수행할 수도 있다.
양자화 후에, 엔트로피 인코딩 모듈 (56) 은 양자화된 변환 계수들을 엔트로피 인코딩할 수 있다. 예를 들어, 엔트로피 인코딩 모듈 (56) 은 컨텍스트 적응 가변 길이 코딩 (context adaptive variable length coding; CAVLC), 컨텍스트 적응 이진 산술 코딩 (context adaptive binary arithmetic coding; CABAC), 신택스-기반 컨텍스트-적응 이진 산술 코딩 (syntax-based context-adaptive binary arithmetic coding; SBAC), 확률 간격 파티셔닝 엔트로피 (Probability Interval Partitioning Entropy; PIPE), 또는 다른 엔트로피 인코딩 방법론을 수행할 수도 있다. 비디오 인코더 (20) 는 또한 비디오 데이터를 디코딩할 때 비디오 디코더 (30)에 의해 사용하기 위해 인코딩된 비디오 데이터와 연관된 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다.
엔트로피 인코딩 모듈 (56) 에 의한 엔트로피 인코딩 후에, 인코딩된 비트스트림은 비디오 디코더 (30) 에 전송될 수 있다. 비트스트림은 또한 비디오 디코더 (30) 에 의한 추후 송신 또는 회수를 위해 보관될 수 있다. 엔트로피 인코딩 모듈 (56) 은 또한 코딩되는 현재 비디오 슬라이스에 대한 모션 벡터들 및 다른 신택스 엘리먼트들을 엔트로피 인코딩할 수 있다.
비디오 인코더 (20) 는 또한 엔트로피 인코딩 모듈 (56) 에 동작 가능하게 결합 된 역 양자화 모듈 (58) 을 포함할 수 있다. 역 변환 모듈 (60) 은 또한 역 양자화 모듈 (58) 및 합산기 (62)에 동작 가능하게 결합될 수 있다. 역 양자화 모듈 (58) 및 역변환 모듈 (60) 은 나중에 참조 픽처의 참조 블록으로서 사용하기 위해 화소 영역 내의 잔차 블록을 재구성하기 위하여 각각 역 양자화 및 역변환을 적용할 수 있다. 모션 보상 모듈 (44) 은 잔차 블록을 참조 픽처 리스트들 중 하나 내의 참조 픽처들 중 하나의 예측 블록에 가산함으로써 참조 블록을 계산할 수 있다. 합산기 (62) 는 참조 픽처 메모리 (64) 에 저장하기 위한 참조 블록을 생성하기 위하여 모션 보상 모듈 (44) 에 의해 생성된 모션 보상된 예측 블록에 재구성된 잔차 블록을 더할 수 있다. 참조 블록은 후속하는 비디오 프레임 또는 픽처 내의 블록을 인터-예측 하기 위해 참조 블록으로서 모션 추정 모듈 (42) 및 모션 보상 모듈 (44) 에 의해 사용될 수 있다.
일부 예시들에서, 비디오 인코더 (20) 는 비트스트림을 생성한다. 비디오 인코더 (20) 에 의해 생성 된 비트스트림은 비트스트림으로부터 서브-비트스트림으로서 추출될 수 있는 다수의 동작 포인트들을 포함할 수도 있다. 동작 포인트들은, 예를 들어, 다중 프레임 레이트들 뿐만 아니라 다중 계층들 및/또는 뷰들을 포함할 수도 있다. 비디오 인코더 (20) 는 VPS에서 출력 동작 포인트들을 나타내는 정보를 인코딩할 수도 있다. 일부 예시들에서, 비트스트림과 연관된 VPS 에서 비디오 인코더 (20) 가 시그널링하는 동작 포인트들의 각각에 대해, 동작 포인트 신택스 구조는 주어진 동작 포인트의 서브-비트스트림에 속하는 비트스트림 내의 NAL 유닛들을 식별하기 위해 사용된 계층 식별자들 (ID) 의 세트를 특정한다. 이러한 방식으로, 주어진 동작 포인트의 서브-비트스트림을 구성하는 NAL 유닛들은 NAL 유닛들의 계층 식별자들에 기초하여 오리지널 비트스트림으로부터 추출될 수도 있다.
일부 경우들에서, 비디오 인코더 (20) 는 아래에서 상세히 설명되는 바와 같이, 하나 이상의 동작 포인트들에 관련된 HRD 파라미터들을 추가로 인코딩할 수도 있다. 이 경우, 비디오 인코더 (20) 는 VPS 내의 HRD 파라미터 정보를 시그널링한다. 비디오 인코더 (20) 는 생성된 각각의 비트스트림이 순응 비트스트림임을 보장하기 위해 HRD의 구현을 포함할 수 있다. HRD 구현은 또한 디코더들 (예를 들어, 비디오 디코더 (30)) 및 비트스트림 분석기와 같은 다른 엔티티의 일부가 되어 비트스트림이 순응 비트스트림인지 여부를 검사할 수도 있다. 아래에서보다 상세히 설명되는 바와 같이, HRD 파라미터들을 가지는 하나 이상의 동작 포인트들 각각에 대해, HRR 파라미터 신택스 구조는 주어진 동작의 서브-비트스트림의 적합성을 검사하는데 사용되는 HRD를 정의하는 HRD 파라미터들의 세트를 특정할 수도 있다.
본 명세서에서, 동작 포인트는 다른 비트스트림, 타깃 최고 시간적_ID (target highest temporal_ID) 및 타깃 계층 식별자 목록을 입력으로 한 서브-비트스트림 추출 프로세스의 동작에 의해 다른 비트스트림으로부터 생성된 비트스트림이다. 보다 구체적으로, "동작 포인트들" 은 시간적으로 및/또는 다수의 계층들 및/또는 뷰들로 스케일러블한 오리지널 비트스트림으로부터 추출될 수있는 서브-비트스트림들이다. 즉, 동작 포인트는 다른 비트스트림, 타깃 최고 시간적_ID (target highest temporal_ID) 및 타깃 계층 식별자 목록을 입력으로 한 서브-비트스트림 추출 프로세스의 동작에 의해 다른 비트스트림으로부터 생성된 비트스트림이다.
비트스트림은 동작 포인트의 뷰 (들) 를 포함하는 하나 이상의 뷰들을 포함한다. 타깃 최고 시간적_ID 는 시간적 서브 세트를 정의한다. 타깃 계층 리스트는 다음과 같은 계층들의 집합을 포함한다 : 동작 포인트에 대해 디코딩될 계층들의 세트, 출력 동작 포인트에 대해 출력될 계층들의 세트. 출력 동작 포인트는, 특히, 출력 계층들의 세트, 즉, 출력될 계층들인 출력 계층 세트에서 식별된 계층들과 관련된다. 일반적으로, 각 비트스트림은 하나 이상의 출력 계층 세트들을 포함할 수 있다. 각 출력 계층 세트는 하나 이상의 출력 동작 포인트들을 포함할 수 있다. 비트스트림 적합성 테스트는 대응하는 서브-비트스트림이 순응 비트스트림인지를 보장하기 위해 각 출력 동작 포인트에 대해 수행된다.
용어 "계층 세트"는 디코딩될 계층들의 세트를 지칭하는데 사용된다. "계층 세트"는 계층 세트가 시간적 ID의 특정 값과 연관되어 있지 않다는 점을 제외하고 동작 포인트와 유사하다. 오히려, 계층들에 존재하는 시간적 서브-계층들은 모두 계층 세트에 속한다. 유사하게, 계층 세트는 가능한 최고 시간적 ID와 연관되어 있다고 말할 수 있다. 따라서, 계층들에 존재하는 시간적 서브-계층들은 모두 계층 세트에 속한다. 계층 세트는 동작 포인트가 비트스트림으로부터 도출될 수 있는 것과 동일한 방식으로 비트스트림으로부터 도출될 수 있으며, 최고 시간적 ID가 가능한 가장 높은 값이다.
용어 "출력 계층 세트" 는 출력 계층들이 특정되는 계층 세트를 지칭한다. 그러므로, 디코딩될 계층들의 세트가 계층 세트로서 특정되는 동안, 출력될 계층들의 세트는 출력 계층 세트에 대해 특정된다. 일부 예시들에서, 출력 계층 세트는 대응하는 계층 세트에 대한 인덱스를 포함하는 것에 의해 대응하는 계층 세트를 식별하며, 대응하는 계층 세트는 디코딩될 계층을 식별한다. 다른 예시들에서, 출력 계층 세트는 다른 방식으로 대응하는 계층 세트를 식별한다.
출력을 타겟으로 하지 않는 계층 세트 내의 계층들은, 예를 들어, 인터-계층 (또는 인터-뷰) 예측을 위해 사용될 때, 여전히 디코딩될 수도 있다. 출력을 타겟으로 하는 계층은 디코딩될 계층의 서브 세트다 : 디코딩될 레이어 중 하나, 일부 또는 전체가 출력 대상이 될 수도 있다. 용어 "서브 세트"는 출력될 계층이 디코딩될 계층의 엄격한 (strict) 서브 세트라는 것을 반드시 의미하지는 않는다는 것을 이해해야 한다. 즉, 일부 예시들에서, 디코딩될 계층들 및 출력될 계층은 동일하다. 그러므로, 출력 계층 세트와 출력 작업 포인트 사이의 구별은 전술 한 바와 같이 계층 세트와 동작 포인트 사이의 구별과 유사하다.
서브-비트스트림은 출력을 식별하는 계층 식별자들 (출력 동작 포인트에 대한 계층을 식별하는) 및 시간적 서브-계층 식별자들 (출력 동작 포인트에 대한 시간적 서브 세트를 식별하는) 의 값들에 기초하여 비트스트림으로부터 추출될 수도 있다. 출력 동작 포인트는 비트스트림 내의 VPS에서 시그널링될 수 있다. 각각의 동작 포인트들에 대해, 동작 포인트 신택스 구조는 주어진 동작 포인트의 서브-비트스트림에 속하는 비트스트림 내의 네트워크 추상화 계층 (NAL) 유닛들을 식별하는데 사용되는 계층 식별자들의 세트를 특정한다. 이렇게 하여, 주어진 출력 동작 포인트의 서브-비트스트림을 구성하는 NAL 유닛들은 NAL 유닛들의 계층 식별자 및 출력 동작 포인트와 연관된 최고 시간적 ID에 기초하여, 오리지널 비트스트림으로부터 추출될 수도 있다. NAL 유닛들은 코딩된 비디오 데이터의 컴포넌트이고; 코딩된 비디오 데이터는 NAL 유닛들로 조직화된다.
도 3은 도 1의 비디오 디코더를 도시하는 블록도이다. 설명을 위해, 본 개시물은 HEVC 코딩의 맥락에서 비디오 디코더 (30)를 설명한다. 그러나, 본 개시물은 다른 코딩 표준들 또는 방법들에 적용될 수도 있다.
비디오 디코더 (30) 는 엔트로피 디코딩 모듈 (70), 예측 모듈 (71), 역 양자화 모듈 (76), 역 변환 모듈 (78), 합산기 (80), 필터 모듈 (84) 및 디코딩된 픽처 버퍼 (DBP) (82) 를 포함할 수 있다. 예측 모듈 (71) 은 모션 보상 모듈 (72) 및 인트라-예측 모듈 (74) 을 포함할 수 있다. 다른 예시들에서, 비디오 디코더 (30) 는 더 많거나 적거나 또는 상이한 기능 컴포넌트들을 포함할 수 있다.
코딩된 화상 버퍼 (CPB) (90) 는 비트스트림의 인코딩된 비디오 데이터 (예를 들어, NAL 유닛들) 를 수신 및 저장할 수도 있다. 엔트로피 디코딩 모듈 (70) 은 CPB (90) 로부터 NAL 유닛들을 수신하고 신택스 엘리먼트를 디코딩하기 위해 NAL 유닛을 파싱할 수도 있다. 엔트로피 디코딩 모듈 (70) 은 엔트로피-인코딩된 신택스 엘리먼트들을 NAL 유닛들에서 엔트로피 디코딩할 수 있다. 예측 모듈 (71), 역 양자화 모듈 (76), 역변환 모듈 (78), 합산기 (80) 및 필터 모듈 (84) 은 비트스트림으로부터 추출된 신택스 엘리먼트에 기초하여 디코딩된 비디오 데이터를 생성할 수 있다.
비트스트림의 NAL 유닛들은 코딩된 슬라이스 NAL 유닛들을 포함할 수 있다. 비트스트림을 디코딩하는 것의 일부로서, 엔트로피 디코딩 모듈 (70) 은 코딩된 슬라이스 NAL 유닛들로부터 신택스 엘리먼트들을 추출하고 엔트로피 디코딩할 수 있다. 코딩된 슬라이스들의 각각은 슬라이스 헤더 및 슬라이스 데이터를 포함할 수 있다. 슬라이스 헤더는 슬라이스와 관련된 신택스 엘리먼트들을 포함할 수 있다. 슬라이스 헤더에서의 신택스 엘리먼트들은 슬라이스를 포함하는 픽처와 연관된 PPS를 식별하는 신택스 엘리먼트를 포함할 수 있다.
비트스트림으로부터 신택스 엘리먼트들을 디코딩하는 것에 부가하여, 비디오 디코더 (30) 는 파티셔닝되지 않은 CU에 대한 재구성 동작을 수행할 수도 있다. 파티셔닝되지 않은 CU에 대한 재구성 동작을 수행하기 위해, 비디오 디코더 (30) 는 CU의 각 TU에 대한 재구성 동작을 수행할 수 있다. CU의 각 TU에 대한 재구성 동작을 수행하는 것에 의해, 비디오 디코더 (30) 는 CU의 잔차 블록을 재구성할 수 있다.
CU의 TU에 대한 재구성 연산의 일부로서, 역 양자화 모듈 (76) 은 TU와 연관된 계수 블록들을 역 양자화, 즉 양자화해제 (de-quantize) 할 수 있다. 역 양자화 모듈 (76) 은 양자화의 정도를 결정하기 위해 TU의 CU와 연관된 양자화 파라미터 (QP) 값을 사용할 수 있고, 마찬가지로, 역 양자화 모듈 (76) 이 적용될 역 양자화의 정도가 적용될 수 있다. 즉, 오리지널 시퀀스와 압축 된 비트를 나타내는 데 사용된 비트들의 수의 비율인, 압축비 (compression ratio) 는 변환 계수들을 양자화 할 때 사용되는 QP의 값을 조정하는 것에 의해 제어될 수도 있다. 압축비는 또한 사용 된 엔트로피 코딩 방법에 의존할 수도 있다.
역 양자화 모듈 (76) 이 계수 블록을 역 양자화 한 후에, 역 변환 모듈 (78) 은 TU와 관련된 잔차 블록을 생성하기 위해 계수 블록에 하나 이상의 역변환들을 적용할 수도 있다. 예를 들어, 역변환 모듈 (78) 은 계수 블록에 역 DCT, 역 정수 변환, 역 방향 변환, 또는 다른 역변환을 적용할 수도 있다.
PU가 인트라 예측을 사용하여 인코딩되는 경우, 인트라-예측 모듈 (74) 은 PU에 대한 예측 블록을 생성하기 위해 인트라-예측을 수행할 수 있다. 인트라 예측 모듈 (74) 은 공간적으로 이웃하는 PU의 예측 블록에 기초하여 PU에 대한 예측 루마, Cb 및 Cr 블록들을 생성하기 위해 인트라-예측 모드를 사용할 수도 있다. 인트라-예측 모듈 (74) 은 비트스트림으로부터 디코딩된 하나 이상의 신택스 엘리먼트들에 기초하여 PU에 대한 인트라 예측 모드를 결정할 수도 있다.
예측 모듈 (71) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 제 1 참조 픽처 리스트 (RefPicList0) 및 제 2 참조 픽처 리스트 (RefPicList1) 를 구성할 수 있다. 나아가, PU가 인터 예측을 사용하여 인코딩되는 경우, 엔트로피 디코딩 모듈 (70) 은 PU에 대한 모션 정보를 추출할 수 있다. 모션 보상 모듈 (72) 은 PU의 모션 정보에 기초하여, PU에 대한 하나 이상의 참조 영역을 결정할 수도 있다. 모션 보상 모듈 (72) 은 PU에 대한 하나 이상의 참조 블록들에서의 샘플 블록들에 기초하여 PU-에 대한 예측 루마, Cb 및 Cr 블록들을 생성할 수 있다.
합산기 (80) 는 CU 의 루마, Cb 및 Cr 코딩 블록들을 재구성하기 위해, CU의 TU와 연관된 루마, Cb 및 Cr 변환 블록들과, CU의 PU의 예측 루마, Cb 및 Cr 블록들, 즉 인트라-예측 데이터 또는 인터-예측 데이터를 적용 가능한 것으로서, 사용할 수 있다. 예를 들어, 합산기 (80) 는 CU의 루마, Cb 및 Cr 코딩 블록을 재구성하기 위해, 루마, Cb 및 Cr 변환 블록들의 샘플들을 예측 루마, Cb 및 Cr 블록들의 대응하는 샘플들에 더할 수 있다. 필터 모듈 (84) 은 예를 들어 디블로킹 필터 일 수 있고, 디블로킹 동작을 수행하여 CU의 루마, Cb 및 Cr 코딩 블록들과 연관된 블로킹 아티팩트들을 감소시킬 수 있다. 그 후, 비디오 디코더 (30) 는 CU의 루마, Cb 및 Cr 코딩 블록들을 디코딩된 픽처 버퍼 (82) 에 저장할 수 있다. 디코딩된 픽처 버퍼 (82) 는 후속하는 모션 보상, 인트라 예측 및 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스상의 프리젠 테이션을위한 참조 픽처를 제공할 수 있다. 예를 들어, 비디오 디코더 (30) 는 디코딩된 픽처 버퍼 (82) 의 루마, Cb 및 Cr 블록들에 기초하여 다른 CU들의 PU들에 대해 인트라 예측 또는 인터 예측 동작을 수행할 수 있다. 그러므로, 비디오 디코더 (30) 는, 비트스트림으로부터, 중요 루마 계수 블록의 변환 계수 레벨들을 디코딩하고, 변환 계수 레벨들을 역 양자화하고, 변환 블록을 생성하기 위해 변환 계수 레벨들에 변환을 적용하고, 변환 블록에 적어도 부분적으로 기초하여 코딩 블록을 생성하고, 디스플레이를 위한 코딩 블록을 출력할 수 있다.
서브- 비트스트림 추출
비디오 코딩 표준들은 서브-비트스트림 추출 프로세스를 지원하기 위한 다양한 특징들을 포함할 수도 있다. 예를 들어, 비트스트림의 비디오 데이터는 한 계층들의 세트로 분할될 수도 있다. 각각의 계층들에 대해, 하위 계층의 데이터는 상위 계층의 데이터를 참조하지 않고 디코딩될 수도 있다. 개별 NAL 유닛은 단일 계층의 데이터만 캡슐화한다. 그러므로, 비트스트림의 최상위 나머지 (remaining) 계층의 데이터를 캡슐화하는 NAL 유닛들은 비트스트림의 나머지 하위 계층에서의 데이터의 디코딩 가능성에 영향을 미치지 않고 비트스트림으로부터 제거될 수도 있다. SVC, SHVC 및 다른 스케일러블 비디오 코딩 방법들에서, 상위 계층들은 하위 계층들에서의 픽처의 품질을 향상시키고 (품질 확장성), 하위 계층들에서의 픽처들의 공간적 포맷을 확장시키고 (공간적 확장성), 하위 계층에서의 픽처의 시간적 비율을 향상시키는 (시간적 확장성) 향상 데이터를 포함할 수도 있다. MVC, MV-HEVC 및 다른 3 차원 비디오 코딩에서, 상위 계층들은 추가적인 뷰들을 포함할 수도 있다.
NAL 유닛들은 NAL 유닛의 시간적 식별자를 특정할 수 있다. 제 1 NAL 유닛의 시간적 식별자가 제 2 NAL 유닛의 시간적 식별자보다 작은 경우, 제 1 NAL 유닛에 의해 캡슐화된 데이터는 제 2 NAL 유닛에 의해 캡슐화된 데이터를 참조하지 않고 디코딩될 수도 있다.
비트스트림의 각각의 동작 포인트는 계층 식별자들의 세트 및 시간적 식별자와 연관된다. 계층 식별자들의 세트는 OpLayerIdSet로 표시될 수 있고 시간적 식별자는 TemporalId로 표시될 수 있다. NAL 유닛의 계층 식별자가 계층 식별자들의 동작 포인트의 세트이고, NAL 유닛의 시간적 식별자가 동작 포인트의 시간적 식별자보다 작거나 같으면 NAL 유닛이 동작 포인트와 연관된다. 서브-비트스트림은 동작 포인트와 관련된 비트스트림 서브 세트이다. 서브-비트스트림은 동작 포인트와 관련된 각각의 NAL 유닛을 포함할 수 있다. 서브-비트스트림은 동작 포인트와 관련되지 않은 VCL NAL 유닛들을 포함하지 않는다.
가상 참조 디코더 (Hypothetical Reference Decoder)
비디오 코딩 표준은 HRD라고도 지칭되는 비디오 버퍼링 모델을 특정한다. HRD는 디코딩을 위해 데이터를 버퍼링하는 방법과 출력을 위해 디코딩된 데이터를 버퍼링하는 방법을 설명한다. 예를 들어, HRD는 비디오 코딩 시스템 (10) 의 CPB 및 DPB의 동작을 설명한다. CPB 및 DPB는 각각 CPB (90) (도 3) 및 참조 픽처 메모리 (64) (도 2) 를 포함할 수 있다. 일부 실시형태들에서, DPB는 또한 DPB (82) (도 3) 와 유사할 수 있다. CPB는 HRD에 의해 특정된 디코딩 순서로 액세스 유닛들을 포함하는 선입 선출 (FIFO) 버퍼 일 수 있다. DPB는 참조, 출력 재정렬, 또는 HRD에 의해 특정된 출력 지연을 위해 디코딩된 픽처들을 저장하는 버퍼이다.
비디오 인코더 (20) 는 시퀀스-레벨 HRD 파라미터들의 세트를 시그널링할 수 있다. 시퀀스-레벨의 HRD 파라미터들은 HRD의 다양한 양태들을 제어한다. 시퀀스-레벨 HRD 파라미터들은 최초 CPB 제거 지연, CPB 크기, 비트 전송률, 최초 DPB 출력 지연 및 DPB 크기를 포함한다. 이러한 시퀀스-레벨 HRD 파라미터들은 VPS 및/또는 SPS에 특정된 hrd_parameters() 신택스 구조로 코딩된다. 픽처-레벨 또는 서브-픽처 레벨 HRD 파라미터들은 BP, PT 또는 DUI SEI 메시지에서 특정될 수 있다.
(예를 들어, 동작 포인트의) 서브-비트스트림은 오리지널 비트스트림과 상이한 프레임 레이트 및/또는 비트 전송률을 가질 수 있다. 이는 서브-비트스트림이 오리지널 비트스트림의 일부 픽처들 및/또는 데이터의 일부를 포함하지 않을 수도 있기 때문일 수 있다. 그러므로, 비디오 디코더 (20) 가 오리지널 비트스트림을 처리할 때 및 비디오 디코더 (30) 가 특정한 레이트로 CPB 및/또는 DPB로부터 데이터를 제거해야 하는 경우, 특정한 레이트로 CPB 및/또는 DPB로부터 데이터를 제거한다면 서브-비트스트림을 처리할 때, 비디오 디코더 (30) 는 CPB 및/또는 DPB로부터 너무 많거나 또는 너무 적은 데이터를 제거할 수 있다. 따라서, 비디오 인코더 (20) 는 상이한 동작 포인트들에 대해 HRD 파라미터들의 상이한 세트둘울 시그널링할 수 있다. HEVC에서, 비디오 인코더 (20) 는 VPS에서 HRD 파라미터들의 세트들을 시그널링할 수 있거나 또는 비디오 인코더 (20) 는 SPS에서 HRD 파라미터들의 세트들을 시그널링할 수 있다.
HEVC의 일부 버전들에서, VPS 내의 HRD 파라미터들의 세트들만이 HRD 동작들을 위해 선택된다. 즉, 비록 HRD 파라미터들이 SPS들에 제공될 수 있지만, SPS들 내의 HRD 파라미터들의 세트들은 HRD 동작들을 위한 HEVC 비디오 디코더들에 의해 선택되지 않는다. 비디오 디코더 (30) 는 비트스트림의 VPS를 파싱 및 디코딩할 수 있다. 따라서, 비디오 디코더 (30) 는 VPS의 HRD 파라미터들의 세트들을 파싱 및 디코딩할 수 있다. 이것은 비트스트림이 비-기본 계층 NAL 유닛들을 포함하는지 여부에 관계없이 발생할 수 있다.
비디오 인코더 (20) 는 일련의 픽처들에 적용 가능한 SPS를 포함하는 비트스트림을 생성할 수 있다. 일부 실시형태들에서, SPS는 HRD 파라미터들의 세트를 포함한다. HRD 파라미터들의 세트는 타겟 계층 식별자들의 세트와 매칭하는 계층 식별자들의 세트를 갖는 비트스트림의 각각의 동작 포인트에 적용 가능하다. 그러므로, SPS들 내의 HRD 파라미터들의 세트들은 낭비되지 않고, HRD 동작들을 위해 사용될 수도 있다. 예를 들어, 디바이스는 VPS 내의 HRD 파라미터들의 세트와 SPS 내의 HRD 파라미터들의 세트 중 특정 동작 포인트에 적용 가능한 HRD 파라미터들의 세트를 선택할 수도 있다. 비디오 인코더 (20) 는 특정 동작 포인트에 적용 가능한 HRD 파라미터들의 세트에 적어도 부분적으로 기초하여, 특정 동작 포인트와 연관된 비트스트림 서브 세트가 비디오 코딩 표준을 준수하는지 여부를 테스트하는 비트스트림 적합성 테스트를 수행할 수도 있다.
예를 들어, 비디오 인코더 (20), 비디오 디코더 (30), 또는 콘텐츠 전달 네트워크 (content delivery network; CDN) 디바이스, 미디어 인식 네트워크 엘리먼트 (Media-Aware Network Element; MANE) 와 같은 다른 유형의 디바이스는, 동작 포인트에 대한 서브-비트스트림 상에서 비트스트림 적합성 테스트를 수행할 수 있다. 비트스트림 적합성 테스트는 서브-비트스트림이 HEVC와 같은 비디오 코딩 표준을 준수하는지를 검증 할 수 있다.
H.264/AVC 및 HEVC에서, 비트스트림 적합성 및 디코더 적합성은 HRD 명세의 일부로서 특정된다. HRD 모델은 비트스트림이 표준을 준수하는지 여부를 결정하는 테스트를 지정하고 디코더가 표준을 준수하는지 여부를 결정하기 위한 테스트를 특정한다. HRD는 일종의 디코더라 지칭되지만, 비디오 인코더 (20) 는 비트스트림 적합성을 보정하기 위해 HRD 를 사용할 수 있는 반면, 비디오 디코더 (30) 는 HRD를 실제로 요구하지 않을 수도 있다.
2 가지 유형의 비트스트림 서브 세트는 HRD 순응, 즉 타입 I 및 타입 II를 조건으로 한다. 타입 I 비트스트림은 비트스트림 내의 모든 액세스 유닛들에 대한 VCL NAL 유닛 및 필러 데이터 NAL 유닛만을 포함하는 NAL 유닛 스트림이다. 유형 II 비트스트림은 VCL NAL 유닛들 및 비트스트림의 모든 액세스 유닛들에 대한 필러 데이터 NAL 유닛 외에도 다음 중 적어도 하나 이상을 포함하는 NAL 단위 스트림이다: 필러 데이터 NAL 유닛들 이외의 추가적인 비-VCL NAL 유닛들; 및 NAL 단위 스트림으로부터 바이트 스트림을 형성하는 모든 leading_zero_8bits, zero_byte, start_coded_prefix_one_3 bytes 및 trailing_zero_8bits 신택스 엘리먼트들.
디바이스 (예컨대, 비디오 인코더 (20)) 가 비트스트림이 비디오 코딩 표준을 준수하는지를 결정하는 비트스트림 적합성 테스트를 수행할 때, 디바이스는 비트스트림의 동작 포인트를 선택할 수 있다. 그 후에 디바이스는 선택된 동작 포인트에 적용할 수 있는 HRD 파라미터들의 세트를 결정할 수 있다. 디바이스는 HRD의 동작을 구성하기 위하여 선택된 동작 포인트에 적용 가능한 HRD 파라미터들의 세트를 사용할 수 있다. 특히, 디바이스는 적용 가능한 HRD 파라미터들의 세트를 사용하여 가상 스트림 스케줄러 (hypothetical stream scheduler; HSS), CPB, 디코딩 프로세스, DPB 등과 같은 HRD의 특정 컴포넌트들의 동작을 구성할 수 있다.
게다가, 디바이스는 CPB (90) 내의 코딩된 비디오 데이터를 디코딩하는 디코딩 프로세스를 호출할 수도 있다. 디코딩 프로세스는 디코딩된 픽처를 DPB (82)로 출력할 수도 있다. 디바이스는 HRD를 통해 데이터를 이동 시키므로, 디바이스는 특정한 제약 조건들의 세트가 만족된 채로 남아 있는지의 여부를 결정할 수도 있다. 예를 들어, 디바이스는 HRD가 선택된 동작 포인트의 서브-비트스트림을 디코딩하는 동안 CPB (90) 또는 DPB (82) 에서 오버 플로우 또는 언더 플로우 상태가 발생 하는지 여부를 결정할 수도 있다. 디바이스는 이러한 방식으로 비트스트림의 각 동작 포인트를 선택하고 처리할 수도 있다. 비트스트림의 동작 포인트가 제약 조건에 위반되지 않으면, 디바이스는 비트스트림이 비디오 코딩 표준을 준수하는지를 결정할 수도 있다.
H.264/AVC 및 HEVC는 두 가지 유형의 디코더 적합성, 즉 출력 타이밍 디코더 적합성 및 출력 순서 디코더 적합성을 특정한다. 특정 프로파일, 티어 및 레벨 (profile, tier and level, PTL) 을 따르는 디코더 (예컨대, 비디오 디코더 (30)) 는 HEVC와 같은, 비디오 코딩 표준의 비트스트림 적합성 요구 사항을 따르는 모든 비트스트림들을 성공적으로 디코딩하는 것이 가능하다. 본 명세서에 사용 된, "프로파일" 은 일반적으로 비트스트림 신택스의 서브 세트를 지칭할 수 있다. "티어들" 및 "레벨들" 은 각 프로파일에서 특정할 수 있다. 티어의 레벨은 비트스트림의 신택스 엘리먼트들의 값들에 부과 된 특정된 제약조건들의 세트일 수도 있다. 이러한 제약 조건은 다양한 값에 대한 단순한 제한 일 수도 있다. 대안적으로, 이들은 값들의 산술 조합들 (예컨대, 픽처 폭에 픽처 높이를 곱한 것과 초당 디코딩된 픽처들의 수를 곱한 값) 의 제약 조건의 형태를 취할 수도 있다. 하위 티어에 특정된 레벨은 상위 티어에 특정된 레벨보다 보다 제한된다.
HEVC 표준은 비디오 데이터의 내용에 기초하여 2 세트의 비트스트림 적합성 테스트들을 규정한다. 비트스트림 적합성 테스트의 제 1 세트는 전체 비트스트림에 존재하는 VCL NAL 유닛의 모든 nuh_layer_id 값들을 포함하는 활성 VPS에 의해 특정된 계층 세트가 존재하는지 여부에 상관없이, 전체 비트스트림 및 시간적 서브 세트들의 적합성을 테스트하는 것이다. 비트스트림 적합성 테스트의 제 2 세트는 활성 VPS 및 그들의 시간적 서브 세트들에 의해 특정된 계층 세트의 적합성을 테스트하기 위한 것이다. 이러한 모든 테스트들에 대해, 디코딩 프로세스가 호출될 때, 오직 기본 계층 픽처들 (즉, 0과 동일한 nuh_layer_id를 갖는 픽처들) 만이 디코딩되고 다른 픽처들은 디코더에 의해 무시된다.
기본 VPS 에서 시그널링된 계층 세트들
일부 예에서, 비디오 인코더 (20) 는 VPS에서 하나 이상의 계층 세트들을 시그널링할 수 있다. HEVC 표준에 의해 정의된 VPS는 각 슬라이스 세그먼트 헤더에 있는 pic_parameter_set_id 신택스 엘리먼트에 의해 참조되는 PPS에 있는, seq_parameter_set_id 신택스 엘리먼트에 의해 참조되는 SPS에서 발견되는 video_parameter_set_id 신택스 엘리먼트의 내용에 의해 결정되는 바와 같이, 0 개 이상의 전체 코딩된 비디오 시퀀스들에 적용되는 신택스 엘리먼트들을 포함하는 신택스 구조이다.
VPS들은 전체 코딩된 비디오 시퀀스들에 적용되기 때문에, VPS는 드물게 변경되는 신택스 엘리먼트들을 포함한다. HEVC의 일부 버전에서의 VPS, SPS 및 PPS 메커니즘은 드물게 변경되는 정보의 송신을 코딩된 비디오 블록 데이터의 송신과 분리한다. HEVC에서, VPS, SPS 또는 PPS의 식별자 (ID) 는 각 파라미터 세트에 대해 코딩될 수 있다. 각각의 SPS는 SPS ID 및 VPS ID를 포함하고, 각각의 PPS는 PPS ID 및 SPS ID를 포함하고, 각각의 슬라이스 헤더는 PPS ID 및 가능하게는 APS ID를 포함한다. 따라서, ID 는 서로 다른 인스턴스들에서 사용될 적절한 파라미터 세트를 식별하는데 사용될 수 있다.
VPS는 기본 VPS 및 VPS 확장의 두 부분을 포함한다. 초판에서 정의된 기본 VPS는 HEVC 버전 1 호환 계층 및 계층 세트들에 대응하는 동작 포인트들과 관련된 정보를 포함한다. 기본 VPS는 또한 시간적 계층들의 최대 수를 포함하는 시간적 확장성 정보를 포함한다. VPS 확장은 기본 계층 이외의 추가적인 계층들과 관련된 정보를 포함한다.
MV-HEVC WD8 및 SHVC WD6에서, 기본 VPS에서 시그널링되는 모든 계층 세트들은 단 하나의 출력 계층이 기본 계층인 출력 계층 세트들 (OLS) 과 동등하다. 이것은 일반적으로 "기본-계층-출력-전용 OLS" 라고 칭한다. 일반적으로 0 번째 OLS는 기본-계층-출력-전용 OLS 들 중 하나이지만, 기본-계층-출력-전용 OLS인 다른 OLS들이 있을 수 있다. 이는 HEVC 사양의 부록 A에 정의된 프로파일들을 준수하는 비디오 디코더 (30) 및 그들의 대응하는 HRD 들이, OLS 가 디코딩되었을 때, 향상 계층의 모든 비트들이 CPB 동작들에서 카운팅될지라도, 향상 계층들을 무시하고, 오직 기본 계층만을 디코딩하기 때문이다.
일부 예시들에서, VPS 확장에서 기본-계층-출력-전용 OLS들의 시그널링이 또한 허용된다. 그러나, 이것은 기본 VPS들에서 이미 달성 되었기 때문에, VPS 확장에서의 이러한 시그널링은 비트들의 낭비에 해당할 수 있다. 그러므로, 일부 실시형태들에서, HEVC 표준은 VPS 확장에서 기본-계층-출력-전용 OLS들의 시그널링을 허용하지 않을 수 있다.
추가적으로, 전체 비트스트림이 기본 VPS에서 시그널링된 계층 세트에 대응하는지 여부에 관계없이, 이는 또한 기본-계층-출력-전용 OLS와 동등하다. 편의상, 기본 계층이 아닌 적어도 하나의 출력 계층이 있는 OLS는 일반적으로 본 명세서에서 "비-기본-계층-출력-전용 OLS" 라고 지칭된다.
프로파일, 티어 , 레벨
PTL 정보는 유사한 기능적 요구 사항들을 갖는 다양한 애플리케이션들에 걸쳐 상호운용 가능한 방식으로 표준 (예컨대, HEVC) 을 구현하기 위한 적합성 포인트들을 특정한다. 프로파일은 준수하는 비트스트림을 생성하는 데 사용될 수 있는 코딩 도구들 또는 알고리즘들의 집합을 정의하는 반면, 레벨은 디코더 프로세싱 로드 및 메모리 능력들에 대응하는 비트스트림의 키 파라미터들에 제약 조건을 설정한다. 레벨 제한들은 최대 샘플 비율, 최대 픽처 크기, 최대 비트 전송률, DPB의 최소 압축 비율 및 용량, 및 압축된 데이터를 데이터 흐름 관리 목적으로 디코딩하기 전에 저장하는 코딩된 픽처 버퍼 (CPB) 와 관련하여 설립된다. HEVC의 설계에서, 최대 비트 전송률 및 CPB 용량의 관점에서만 다른 요구 사항을 가진 일부 애플리케이션들이 존재하는 것으로 판명되었다.
프로파일은 전체 비트스트림에 대응하는 것을 포함하여, 모든 기본-계층-출력-전용 OLS에 대해 동일하다. 이는 기본 계층이 외부에 제공된 경우에도 마찬가지이다. 예를 들어, 이와 같은 경우, 기본 VPS의 PTL 신택스 구조는 모두 0 비트만을 포함한다.
기본 계층이 비트스트림에 있을 때, 모든 기본-계층-출력-전용 OLS에 대한 프로파일은 기본 계층에 대한 활성 SPS 의 신택스 구조 및 활성 VPS 의 기본 부분에서의 PTL 신택스 구조인, 활성 VPS 의 제 1 PTL 신택스 구조에서만 시그널링된다.
기본 계층 및 활성 VPS의 제 1 PTL 신택스 구조에서 활성 SPS의 PTL 신택스 구조에서 시그널링된 티어 및 레벨은 전체 비트스트림에 대한 것이며, 이는 계층 세트 또는 VPS 에서 시그널링된 OLS 에 대응할 수도 있고 그렇지 않을 수도 있다. 그러나, 상술한 바와 같이, 전체 비트스트림은 기본-계층-출력-전용 OLS에 대응할 수 있다.
이러한 예시에서, 기본 VPS는, 계층 세트 내의 오직 기본 계층 자체만을 포함하는 0 번째 OLS를 포함하여, 시그널링된 다른 기본-계층-출력-전용 OLS에 대한 티어 및 레벨 정보를 포함하지 않는다. 따라서, 전체 비트스트림의 티어와 레벨은, 비록 잠재적으로 최적 속도 (optimum rate) 에 미치지 못할지라도, 전체 비트스트림에 대응하는 것이 아니라 기본-계층-출력-전용 OLS 들중 어느 것에 적용될 수 있다. 이것은 티어 및 레벨 정보가 전체 비트스트림에 대해 식별되기 때문일 수 있다. 그러므로, 전체 비트스트림의 서브 세트에 대해 티어 및 프로파일 정보가 차선책이 될 수 있다. 예를 들어, 전체 비트스트림의 서브 세트에 대한 최적 레벨은 전체 비트스트림의 하위 레벨보다 낮을 수 있다.
0 번째 OLS를 제외하고, 다른 기본-계층-출력-전용 OLS에 대한 최적의 티어 및 레벨 정보는 VPS 확장에서 시그널링될 수 있지만, 이는 요구되지는 않는다. 이것은 기본 VPS에서 시그널링된 각 계층 세트에 대하여, VPS 확장에서 시그널링된 하나의 기본-계층-출력-전용 OLS를 가질 필요가 없기 때문일 수 있다.
HEVC 버전 1의 관점에서, 자신의 HRD 파라미터 및 전체 비트스트림에 대한 티어 및 레벨 정보만을 사용하는 비트스트림 적합성 테스트는 최적이 아니다. 이는, 여전히 적합성 테스트들을 통과하는 동안, 전체 비트스트림에 대응하는 하나의 HRD 파라미터가 아니라, 모든 동작 포인트들에 대한 HRD 파라미터들이 차선책이 되는 것을 허용할 수 있다. 그러므로, 적합성 테스트들에 대한 특정 변경 사항들이 고려되어야 한다. 이는 도 4 와 함께 이하에서 설명된다.
hrd _parameters() 신택스 구조들에서의 HRD 파라미터들
HEVC는 비트 전송률의 변동 및 일정하거나 거의 일정한 비트 전송률로 송신할 때의 압축된 비디오의 변동을 핸들링하기 위해 비디오 버퍼링 모델들을 특정한다. 따라서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 HRD를 사용하여, CPB 또는 DPB의 데이터를 버퍼링 할 수 있다. HRD는 디코딩을 위해 데이터를 버퍼링하는 방법과 출력을 위해 디코딩된 데이터를 버퍼링하는 방법을 설명한다.
HRD는 다양한 동작 포인트들에서 비트스트림 및 디코더 적합성을 검사하는데 사용될 수 있다. 전술 한 바와 같이, 동작 포인트는 타겟 계층들 및 타겟 최상위 시간적 계층의 리스트를 포함하는 서브-비트스트림 추출에 사용되는 파라미터들을 정의한다. 특정 비트스트림에 대해 다수의 동작 포인트들이 특정될 수 있다. 출력 계층들이 특정된 동작 포인트들은, 여기서, 일반적으로 출력 동작 포인트들이라고 지칭된다.
비디오 코딩 표준들에서, 순응적인 비트스트림은 비디오 인코더 (20) 의 출력에 연결된 HRD에 의해 디코딩가능해야하고, 프리-디코더 버퍼, 디코더 및 출력/디스플레이 유닛 (예컨대, 표시 장치 (32)) 중 적어도 하나로 구성되어야 한다.
비트스트림은 버퍼 오버 플로우 또는 언더 플로우 없이 HRD에 의해 디코딩 가능하다면 순응적이다. 버퍼 오버 플로우는 버퍼가 가득 찼을 때 더 많은 비트들이 버퍼에 놓일 때 발생한다. 버퍼 언더 플로우는 디코딩/플레이백을 위해 버퍼에서 비트를 가져올 때, 일부 비트들이 버퍼에 없을 때 발생한다.
비디오 인코더 (20) 는 인코딩된 픽처 크기에 제약 조건을 부과하고 필요한 버퍼 크기 및 시동 (start-up) 지연을 결정하는 것을 보조하기 위해 HRD 파라미터들의 세트를 시그널링할 수 있다.
HRD의 경우, 두 가지 유형의 HRD 파라미터 세트들 (NAL HRD 파라미터들 및 VCL HRD 파라미터들) 이 사용될 수 있다. 일부 예시들에서, 시퀀스-레벨 HRD 파라미터 세트들은 SPS 신택스 구조 또는 VPS 신택스 구조의 일부일 수도 있는 hrd_parameters() 신택스 구조를 통해 시그널링된다
hrd_parameters() 신택스 구조 내에서, 3 개의 구문 엘리먼트들만이 DPB 동작들과 관련된다. 다른 엘리먼트들은 CPB 동작들에만 해당된다. 이 세 가지 DPB 관련 구문 엘리먼트들은 다음과 같다:
fixed_pic_rate_general_flag [i],
fixed_pic_rate_within_cvs_flag [i], 및
elemental_duration_in_tc_minus1 [i], TemporalId의 각 값에 대한 하나의 세트.
픽처들이 크로스-계층 정렬될 때, 즉, 각각의 액세스 유닛 (AU) 이 계층 세트 내의 각 계층에 대한 픽처를 가지며, 고정 픽처 비율이 사용되는 경우, 계층 세트에 적용되는 hrd_parameters() 신택스 구조는 계층 세트와 연관된 모든 OLS들에 적용될 수 있다. 그러나, 다른 상황들에서는 계층 집합에 적용되는 hrd_parameters() 신택스 구조가 기본-계층-출력-전용 OLS보다 계층 세트와 관련된 다른 모든 OLS들에 적용되지 않을 수도 있다.
다시 말하면, VPS 확장에서 특정된 OLS들에 대한 VPS 확장에서 hrd_parameters() 신택스 구조의 시그널링을 이용가능하게 하는 것이 필요하다.
네스팅되지 않고 직접 네스팅된 BP/PT/ DUI SEI 메시지의 적용 가능성
SEI 메시지는 비디오 화상의 타이밍, 비디오 신호에 사용 된 색 공간의 적절한 해석, 3 차원 입체 프레임 패킹 정보, 다른 디스플레이 힌트 정보 등에 대한 정보를 포함할 수 있다. BP, PT 및 DUI SEI 메시지는 화상-레벨 및 부-화상 레벨 HRD 파라미터를 포함한다. 네스팅되지 않은 BP, PT 및 DUI SEI 메시지는 VPS에서 시그널링된 레이어 세트 또는 OLS에 해당하는지 여부에 관계없이 전체 비트스트림에 적용할 수 있다.
직접 네스팅된 BP, PT 및 DUI SEI 메시지들은 간접적으로 네스팅되는 것 대신 스케일러블 네스팅 (nesting) SEI 메시지들에 직접 포함 된 BP, PT 및 DUI SEI 메시지를 지칭한다. 간접적으로 네스팅된 것은 스케일러블 네스팅 SEI 메시지들에 차례로 포함된 비트스트림 파티션 네스팅 SEI 메시지에 포함된 SEI 메시지들을 지칭한다. 네스팅되지 않은 SEI 메시지는 직접 또는 간접적으로 네스팅되는 대신 SEI NAL 장치에 직접 포함된다.
HEVC 버전 1에 따르면, 직접 네스팅 된 BP, PT 및 DUI SEI 메시지들은 베이스 계층-출력-전용-OLS와 동등한, 베이스 VPS에서 시그널링된 계층 세트들에 대응하는 동작 포인트들에 적용된다. 일부 예시들에서 직접 네스팅된 BP, PT 및 DUI SEI 메시지들은 직접 그것들을 네스팅하는 것에 의해 비-기본-계층-출력-전용-OLS들에 이러한 SEI 메시지들을 연관시킬 방법이 없으므로, 비-기본-계층-출력-전용 OLS에 적용되지 않는다.
그러나, 일부 예시들에서, 네스팅되지 않고 직접 네스팅된 BP, PT 및 DUI SEI 메시지들의 적용 가능성은 현재의 표준에 기초하여 명확하지 않다. 따라서, 어떤 SEI 메시지들이 일부 비트스트림 적합성 테스트에서 사용되도록 선택되어야 하는지는 종종 불분명하다.
일부 실시형태들에서, 어떤 SEI 메시지들이 어떤 적합성 테스트와 관련되는지를 특정하는 것이 유익할 수 있다. 그러므로, 직접 네스팅된 SEI 메시지들은 기본-계층-출력-전용-OLS에 해당하는 동작 포인트들과 함께 사용하도록 선택될 수 있다. 일부 실시형태들에서, 직접적으로 네스팅된 SEI 메시지들만이 기본-계층- 출력-전용 OLS들에 대응하는 동작 포인트들과 함께 사용되도록 선택될 수 있다. 이것은 일부 모호성을 제거할 수 있다. 일부 다른 실시형태들에서, SEI 메시지들은 BP, PT 및 DUI SEI 메시지들 중 하나 일 수 있다.
일부 실시형태들에서, 간접적으로 네스팅된 SEI 메시지들은 VPS 확장에서 특정 된 비-기본-계층-출력-전용 OLS에 적용될 수 있다. 일부 다른 실시형태들에서, 간접적으로 네스팅된 SEI 메시지들은 BP, PT 및 DUI SEI 메시지들 중 하나 일 수 있다.
비트스트림 적합성 테스트들
제 0 OLS를 제외하고, 일부 예시들에서, 기본-계층-출력-전용 OLS에 대한 최적의 티어 및 레벨 정보는 VPS 확장에서 시그널링될 수 있다. HEVC에서는 이것이 필요하지 않을 수도 있다. 이것은 비디오 인코더 (20) 가 기본 VPS에서 시그널링된 각 계층 세트에 대한 VPS 확장에서 기본-계층-출력-전용 OLS를 시그널링할 필요가 없기 때문이다. VPS 기반에서는, 오직 한 세트의 PTL 정보 만 시그널링되지만, 예를 들어, 다수의 hrd_parameters() 구조가 각 기본-계층-출력-전용 OLS에 대해 하나씩 시그널링될 수 있다. 그러므로, 기본-계층-출력-전용 OLS의 적합성 포인트들에 대한 비트스트림 적합성은 그들 자신의 HRD 파라미터들에 대해 테스트된다. 그러나 제약 조건들은 전체 비트스트림의 티어 및 레벨 정보에 대해서만 검사된다. 이것은 VPS 기반에서 시그널링된 유일한 PTL 정보이며, VPS 기반에 의해 특정된 모든 기본-계층-출력-전용 OLS에 의해 공유된다. 기존 요구 사항들은 적합성 테스트를 통과하면서 전체 비트스트림에 해당하는 동작 포인트가 아니라 모든 동작 포인트들에 대한 HRD 파라미터들이 최적이 아닌 "높음 (higher)" 이 되도록한다. 일부 예시들에서, 티어 및 레벨 정보는 많은 HRD 파라미터들에 대한 상한을 제공한다. 그러므로 전체 비트스트림의 티어 또는 레벨은 기본-계층-출력-전용 OLS의 최적 티어 또는 레벨보다 높을 수 있다. 따라서, 각각의 내용에 따라 서로 다른 기본-계층-출력-전용 OLS에 대한 비트스트림 적합성 테스트를 구현하는 것이 유리할 수 있다. 이는 서로 다른 기본-계층-출력-전용 OLS에 대해 서로 다른 티어 및 레벨 정보를 시그널링하는 것에 의해 성취될 수 있다.
일부 실시형태들에서, 비트스트림 적합성 테스트의 3 가지 세트들이 구현될 수 있다. 비트스트림 적합성 테스트들의 제 1 세트는 전체 비트스트림에 존재하는 VCL NAL 유닛들의 모든 nuh_layer_id 값들을 포함하는 활성 VPS에 의해 특정된 계층 세트가 존재하는지 여부에 상관없이, 전체 비트스트림 및 그것의 시간적 서브 세트들의 적합성을 테스트하는 것이다. 비트스트림 적합성 테스트들의 제 2 세트는 활성 VPS의 기본 부분 (예컨대, VPS베이스)에 의해 특정된 계층 세트들 및 그들의 시간적 서브 세트들의 적합성을 테스트하기위한 것이다. 이러한 모든 테스트들에 대해, 디코딩 프로세스가 호출될 때, 기본 계층 픽처들 (즉, 0과 동일한 nuh_layer_id를 갖는 픽처들) 만 디코딩되고 다른 픽처들은 디코더에 의해 무시된다. 비트스트림 적합성 테스트들의 제 3 세트는 활성 VPS의 VPS 확장에 의해 특정된 OLS들 및 그 OLS들의 시간적 서브 세트들의 적합성을 테스트하기 위해 구현될 수 있다.
일부 실시형태들에서, 3 개의 적합성 테스트들은 하나 이상의 출력 동작 포인트들에서 수행된다. 출력 동작 포인트들은 비트스트림을 구성하는 코딩된 비디오 데이터로부터 선택되고 추출될 수 있다. 일부 실시형태들에서, 출력 동작 포인트들의 선택은 파라미터 세트들 (예컨대, SPS, VPS, PPS) 의 내용 및 비트스트림의 내용에 기초한다.
일부 경우에, 선택된 출력 동작 포인트는 계층 식별자 리스트 (OpLayerIdList) 및 타겟 최고 시간 ID (OpTid) 를 선택하는 것에 의해 테스트 중인 출력 동작 포인트 (또한 "목표 Op"로 표시됨) 로서 식별될 수 있다. 계층 식별자 리스트는 비트스트림에 존재하는 VCL NAL 유닛들의 모든 계층 ID들 (nuh_layer_id) 을 포함하거나 활성 VPS에 의해 특정된 계층 세트의 계층 ID들을 포함한다. 이러한 예시에서, 제 1 또는 제 2 비트스트림 적합성 테스트들 중 하나가 선택된 출력 동작 포인트에 적용된다.
전술 한 바와 같이, 제 3 비트스트림 적합성 테스트는 활성 VPS의 VPS 확장 부분 및 그들의 시간적 서브 세트들에 의해 지정된 OLS들에 적용된다. 비트스트림 적합성 테스트들의 제 3 테스트에서의 각 테스트에 대해 출력 동작 포인트 또는 포인트들이 제 1 및 제 2 비트스트림 적합성 테스트들과 약간 다른 방식으로 선택될 수 있다. 선택된 출력 동작 포인트 (예컨대, 테스트중인 출력 동작 포인트 또는 TargetOp) 는 VPS 확장에서 타겟 OLS 및 OLS 내의 최고 시간적 ID (HighestTid) 를 식별하는 것에 의해 선택된다.
도 4는 적합성 테스트 구현 방법을 설명하는 흐름도이다. 블록 (410)에서, 코딩 시스템 (10) 은 복수의 출력 동작 포인트들을 포함하는 코딩된 비디오 데이터를 수신할 수 있다. 코딩된 비디오 데이터는 또한 각 출력 동작 포인트들에 대해 어떤 계층들이 출력되어야 하는지에 대한 지시를 포함할 수 있다. 지시는 파라미터 세트 (예컨대, VPS, SPS) 에 포함될 수 있다. 출력 동작 포인트가 전체 비트스트림 또는 전체 비트스트림의 시간적 서브 세트; 또는 VPS 에 의해 특정된 계층 세트 또는 계층 세트의 시간적 서브 세트에 대응하는 경우, 지시는 또한 암시적일 수 있다. 암시적인 경우에는, 오직 기본 계층만이 출력될 것이다. 블록 (415) 에서, 코딩 시스템 (10) 은 비트스트림 적합성 테스트에 따라 테스트될 출력 동작 포인트를 추출할 수 있다. 출력 동작 포인트는 OLS들의 식별, OLS들의 시간적 서브 세트들, 전체 비트스트림의 시간적 서브 세트들, 또는 VPS기본 또는 VPS 확장에서 달리 지시된 바에 기초하여 선택될 수 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 를 포함하는 하나 이상의 프로세서들 (프로세서) 는 그 내용들에 기초하여 출력 동작 포인트 (예컨대, 코딩된 비디오 데이터) 에 대한 주어진 적합성 테스트를 구현할 수 있다.
예를 들어, 판정 블록 (420) 에서, 선택된 출력 동작 포인트가 기본 계층만이 출력되는 전체 비트스트림 또는 전체 비트스트림의 시간적 서브 세트에 대응하면, 방법 (400) 은 블록 (430)으로 이동할 수 있다. 블록 (430) 에서, 프로세서 (예컨대, HRD) 는 기본 계층에 대한 활성 SPS 내의 시퀀스-레벨 HRD 파라미터들의 세트 및 네스팅되지 않은 SEI 메시지들 (예컨대, BP, PT 및 DUI) 에 기초하여 선택된 출력 동작 포인트에 대한 제 1 비트스트림 적합성 테스트를 수행할 수 있다. 시퀀스-레벨 HRD 파라미터들의 세트는 활성 SPS의 hrd_parameters() 신택스 구조에서 특정될 수 있다. 일부 실시형태들에서, 제 1 비트스트림 적합성 테스트는 활성 SPS 내의 PTL 신택스 구조에 더 기초할 수 있다.
선택된 출력 동작 포인트가 결정 블록 (420) 에서 기본 계층만이 출력되는 전체 비트스트림 또는 전체 비트스트림의 시간적 서브 세트에 대응하지 않으면, 방법 (400) 은 결정 블록 (440) 으로 이동한다. 결정 블록 (440) 에서, 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 VPS 기본 또는 계층 세트의 시간적 서브 세트에 의해 특정된 계층 세트 중 하나에 대응하면, 프로세서는 블록 (450) 에서 제 2 비트스트림 적합성 테스트를 수행할 수 있다. 제 2 비트스트림 적합성 테스트는 기본 VPS의 시퀀스-레벨 HRD 파라미터들의 세트 및 직접 네스팅된 BP, PT 또는 DUI SEI 메시지들을 기반으로 선택된 출력 동작 포인트에서 수행될 수 있다. 시퀀스-레벨 HRD 파라미터들의 세트는 활성 VPS 기반의 hrd_parameters() 신택스 구조에서 특정될 수 있다.
판정 블록 (440) 에서, 코딩된 비디오 데이터가 기본 계층만이 출력되는 활성 VPS 의 기본 부분 또는 계층 세트의 시간적 서브 세트 중 하나에 대응하지 않으면, 코딩된 비디오 데이터는 블록 (460) 에 도시 된 바와 같이, 활성 VPS의 VPS 확장 또는 OLS의 시간적 서브 세트에 의해 특정된 OLS 중 하나에 대응한다. 블록 (470) 에서, 프로세서 (예컨대, HRD) 는, 활성 VPS 의 기본 또는 확장 부분에서의 시퀀스-레벨 HRD 파라미터들의 세트 및 간접 네스팅된 BP, PT 또는 DUI SEI 메시지들 기반으로 선택된 출력 동작 포인트에서 제 3 비트스트림 적합성 테스트를 수행할 수 있다. 시퀀스-레벨 HRD 파라미터들의 세트는 활성 VPS의 기본 또는 확장 부분에 있는 hrd_parameters() 신택스 구조에서 특정될 수 있다. 따라서, 세 가지 개별 유형의 적합성 테스트들을 통해, 상이한 유형들의 출력 동작 포인트들에 대한 비트스트림 적합성 테스트가 명확하고 효율적으로 특정되고 HEVC 버전 1 의 사양과 역 호환 (backward compatible) 된다.
일부 실시형태들에서, VPS 확장에서 특정된 모든 OLS들 중에서 기본-계층-출력 전용 OLS가 있다면, 활성 VPS의 기본 부분에서 적용 가능한 hrd_parameters() 신택스 구조 및 적용 가능한 직접 네스팅된 BP, PT 및 DUI SEI 메시지가 사용된다. 기존 신택스 및 프로세스는 HEVC 버전 1과 역 호환되는 방식으로 이를 허용하지만, VPS 확장에서 특정된 다른 OLS들에게는 허용되지 않는다.
비-기본-계층-출력 전용 OLS가 전체 비트스트림 내의 모든 계층들을 포함한다면, 여전히 간접적으로 네스팅된 BP, PT 및 DUI SEI 메시지들만이 사용될 수도 있고, 전체 비트스트림 내의 모든 계층들을 포함하는 기본-계층-출력-전용 OLS 에 대해 네스팅되지 않음으로서, 네스팅되지 않은 메시지들은 그렇지 않다.
PTL 신택스 구조의 사용은 VPS 확장에서 특정된 모든 OLS들 중에서 기본-계층-출력-전용 OLS 및 비-기본-계층-출력-전용 OLS 모두에 대해 동일하다. 기본 VPS 또는 VPS 확장에서 가장 적절하게 적용 가능한 PTL 신택스 구조가 사용된다.
비-베이스-계층-출력 전용 OLS가 전체 비트스트림 내의 모든 계층을 포함한다면, 여전히 VPS의 PTL 신택스 구조 만이 사용될 수 있고, SPS 활성의 PTL 신택스 구조의 것은 아니다 기본 레이어의 경우 전체 비트스트림의 모든 레이어를 포함하는 기본 레이어 출력 전용 OLS 용이다.
본 명세서에 개시된 정보 및 신호들은 다양한 상이한 기술들 및 방법들 중 임의의 것을 이용하여 표현될 수 있다. 예를 들어, 위의 설명의 전반에 걸쳐 언급될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩 (chip) 들은 전압들, 전류들, 전자기파들, 자기 장들 또는 입자들, 광학 장들 또는 입자들, 또는 이들의 임의의 조합으로 표현될 수 있다.
본 명세서에 개시된 실시형태들과 관련되어 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양쪽의 조합들로서 구현될 수 있다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 및 단계들을 그들의 기능성 관점에서 일반적으로 상술되었다. 이러한 기능성이 하드웨어로서 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 각각의 특정 애플리케이션에 대한 다양한 방법들로 설명된 기능성을 구현할 수도 있지만, 이러한 구현 판정들은 본 개시물의 범위로부터의 벗어남을 야기시키는 것으로 해석되어서는 안된다.
본 명세서에서 설명되는 실시형태들은, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 이러한 실시형태들은 범용 컴퓨터들, 무선 통신 디바이스 핸드셋들, 또는 무선 통신 디바이스 핸드셋들 및 다른 디바이스들에서의 애플리케이션을 포함하는 다수의 용도들을 가진 집적 회로 디바이스들과 같은 다양한 디바이스들 중 임의의 디바이스에서 구현될 수도 있다. 모듈들 또는 컴포넌트들로서 설명되는 임의의 피처들은 통합 로직 디바이스에서 함께, 또는 별개의 그러나 상호동작가능한 로직 디바이스들로서 개별적으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 이 방법들은, 실행될 때, 상술된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 부분을 형성할 수 있다. 컴퓨터 판독가능 매체는 메모리 또는 데이터 저장 매체들, 예컨대 동기식 동적 랜덤 액세스 메모리 (SDRAM) 와 같은 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리 (EEPROM), 플래시 메모리, 자기 또는 광학 데이터 저장 매체들 등을 포함할 수 있다. 이 방법들은 부가적으로, 또는 대안적으로, 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 반송하거나 또는 통신하고 컴퓨터에 의해 액세스되거나, 판독되거나, 및/또는 실행될 수 있는, 전파된 신호들 또는 파동들과 같은, 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다.
프로그램 코드는 하나 이상의 디지털 신호 프로세서 (DSP) 들, 범용 마이크로프로세서들, 주문형 집적 회로 (ASIC) 들, 필드 프로그래밍가능 게이트 어레이 (FPGA) 들, 또는 다른 등가의 집적 또는 이산 로직 회로부와 같은 하나 이상의 프로세서들을 포함하는 프로세서에 의해 실행될 수 있다. 이러한 프로세서는 본 개시물에서 설명되는 방법들 및 프로세스들 중 임의의 방법 또는 프로세스를 수행하도록 구성될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있다; 그러나 대안적으로, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로도 구현될 수 있다. 이에 따라, 본 명세서에 사용된 바와 같은 용어 "프로세서" 는 전술한 구조 중 임의의 구조, 전술한 구조의 임의의 조합, 또는 본 명세서에서 설명된 방법들의 구현에 적합한 임의의 다른 구조 또는 장치를 지칭할 수 있다. 또한, 일부 양태들에서, 본 명세서에서 설명되는 기능성은 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈 또는 하드웨어 모듈 내에 제공되거나, 또는 조합된 비디오 인코더-디코더 (코덱) 에 포함될 수 있다.
비록 본 개시물의 실시형태들이 특정 실시형태에 대해 설명되었지만, 본 개시 물의 다양한 변형들이 가능하다. 예를 들어, 다양한 구성 요소들의 수를 늘리거나 줄일 수 있으며, 주파수, 다른 시스템 파라미터, 또는 파라미터들의 조합을 결정하기 위해 공급 전압을 결정하는 모듈들과 단계들은 수정될 수 있다. 추가적으로, 다양한 실시형태들의 특징들은 상술 한 것과 상이한 조합들로 조합될 수 있다.
당업자들은 본원에서 개시된 실시형태와 관련하여 설명된 다양한 예시적인 블록들 및 모듈들이 다양한 형태들로 구현될 수 있다는 것을 인식할 것이다. 일부의 블록들 및 모듈들은 일반적으로 그 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 어떻게 구현되는지는 전체적인 시스템에 부과된 설계 제약들에 종속된다. 당업자들은 각각의 특정한 애플리케이션을 위한 다양한 방법들로 설명된 기능성을 구현할 수 있지만, 이러한 구현 판단들은 개시물의 범위로부터의 이탈을 야기시키는 것으로 해석되지 않아야 한다. 게다가, 모듈, 블록 또는 단계 내의 기능들의 그룹은 설명의 용이함을 위한 것이다. 특정 기능들 또는 단계들은 개시물로부터 이탈하지 않으면서, 하나의 모듈 또는 블록으로부터 이동될 수 있거나 모듈들 또는 블록들을 가로질러 분산될 수 있다.
개시된 실시형태의 상기 설명은 당해 분야의 당업자가 본 개시물의 구상되는 요지를 제조하거나 이용하는 것을 가능하게 하도록 제공된다. 이 실시형태들에 대한 다양한 수정들은 당해 분야의 당업자들에게 용이하게 명백할 것이고, 본원에서 설명된 일반적인 원리들은 개시물의 사상 또는 범위로부터 이탈하지 않으면서 다른 실시형태에 적용될 수 있다. 이에 따라, 본원에서 제시된 설명 및 도면들은 개시물의 현재 바람직한 구현예를 나타내고, 그러므로, 본 개시물에 의해 대략 구상되는 요지를 나타낸다는 것을 이해해야 한다. 본 개시물의 범위는 당해 분야의 당업자들에게 자명해질 수도 있는 다른 실시형태를 완전히 망라하고, 본 개시물의 범위는 이에 따라, 첨부된 청구항들 이외의 어느 것에 의해서도 제한되지 않는다는 것을 추가로 이해해야 한다.

Claims (30)

  1. 비디오 데이터를 처리하는 방법으로서,
    복수의 출력 동작 포인트들을 갖는 코딩된 비디오 데이터를 수신하는 단계;
    상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 단계로서, 상기 선택된 출력 동작 포인트는 전체 비트스트림의 서브-비트스트림인, 상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 단계; 및
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 전체 비트스트림 및 상기 기본 계층만이 출력되는 상기 전체 비트스트림의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 1 비트스트림 적합성 테스트를 수행하는 단계로서, 상기 제 1 비트스트림 적합성 테스트는 하나 이상의 네스팅되지 않은 보충 향상 정보 (SEI) 메시지들 및 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트에 기초하고, 상기 하나 이상의 네스팅되지 않은 SEI 메시지들의 각각의 네스팅되지 않은 SEI 메시지들은 SEI 네트워크 추상 계층 (NAL) 유닛에 직접 포함되는, 상기 제 1 비트스트림 적합성 테스트를 수행하는 단계,
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 상기 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하는 단계로서, 상기 제 2 비트스트림 적합성 테스트는 직접 네스팅된 SEI 메시지들 및 상기 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 직접 네스팅된 SEI 메시지들은 스케일러블 네스팅 SEI 메시지들에 직접 포함되는, 상기 제 2 비트스트림 적합성 테스트를 수행하는 단계,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 상기 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하는 단계로서, 상기 제 3 비트스트림 적합성 테스트는 간접 네스팅된 SEI 메시지들 및 상기 활성 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 간접 네스팅된 SEI 메시지들은 비트스트림 파티션 네스팅 SEI 메시지들에 포함되고, 상기 비트스트림 파티션 네스팅 SEI 메시지는 스케일러블 네스팅 SEI 메시지에 포함되는, 상기 제 3 비트스트림 적합성 테스트를 수행하는 단계를 포함하는, 비디오 데이터를 처리하는 방법.
  2. 제 1 항에 있어서,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 기본 부분에서 식별된 OLS 에 대응할 때에만, 직접 네스팅된 SEI 메시지들을 적용하는 단계를 더 포함하고, 상기 직접 네스팅된 SEI 메시지들은 버퍼 주기 (BP), 픽처 타이밍 (PT), 및 디코더 유닛 정보 (DUI) SEI 메시지들 중 하나인, 비디오 데이터를 처리하는 방법.
  3. 제 1 항에 있어서,
    상기 선택된 출력 동작 포인트가 상기 VPS 확장에서 특정된 OLS 에 대응할 때에만, 상기 간접 네스팅된 SEI 메시지들을 적용하는 단계를 더 포함하고, 상기 간접 네스팅된 SEI 메시지들은 BP, PT, 및 DUI SEI 메시지들 중 하나인, 비디오 데이터를 처리하는 방법.
  4. 제 1 항에 있어서,
    상기 SPS, 상기 기본 VPS, 및 상기 VPS 확장 중 하나에서의 hrd_parameters() 신택스 구조에 상기 시퀀스-레벨 HRD 파라미터들의 세트를 포함시키는 단계를 더 포함하는, 비디오 데이터를 처리하는 방법.
  5. 제 1 항에 있어서,
    상기 SEI 메시지들은 BP, PT, 및 DUI SEI 메시지들 중 하나를 포함하는, 비디오 데이터를 처리하는 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제 1 항에 있어서,
    상기 제 3 비트스트림 적합성 테스트는 또한 상기 기본 VPS 및 상기 VPS 확장 중 하나에 위치하는 간접 네스팅된 SEI 메시지들 및 상기 활성 VPS 내의 상기 시퀀스-레벨 HRD 파라미터들의 세트에 기초하는, 비디오 데이터를 처리하는 방법.
  10. 제 1 항에 있어서,
    상기 코딩된 비디오 데이터의 상기 복수의 출력 동작 포인트들로부터 상기 선택된 출력 동작 포인트를 선택하는 단계를 더 포함하는, 비디오 데이터를 처리하는 방법.
  11. 비디오 데이터를 처리하기 위한 디바이스로서,
    복수의 출력 동작 포인트들을 갖는 코딩된 비디오 데이터를 저장하도록 구성된 메모리; 및
    상기 메모리에 동작 가능하게 커플링된 프로세서를 포함하고,
    상기 프로세서는,
    상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 것으로서, 상기 선택된 출력 동작 포인트는 전체 비트스트림의 서브-비트스트림인, 상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 것을 행하고; 그리고
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 전체 비트스트림 및 상기 기본 계층만이 출력되는 상기 전체 비트스트림의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 1 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 1 비트스트림 적합성 테스트는 하나 이상의 네스팅되지 않은 보충 향상 정보 (SEI) 메시지들 및 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트에 기초하고, 상기 하나 이상의 네스팅되지 않은 SEI 메시지들의 각각의 네스팅되지 않은 SEI 메시지들은 SEI 네트워크 추상 계층 (NAL) 유닛에 직접 포함되는, 상기 제 1 비트스트림 적합성 테스트를 수행하는 것을 행하고,
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 상기 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 2 비트스트림 적합성 테스트는 직접 네스팅된 SEI 메시지들 및 상기 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 직접 네스팅된 SEI 메시지들은 스케일러블 네스팅 SEI 메시지들에 직접 포함되는, 상기 제 2 비트스트림 적합성 테스트를 수행하는 것을 행하며,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 상기 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 3 비트스트림 적합성 테스트는 간접 네스팅된 SEI 메시지들 및 상기 활성 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 간접 네스팅된 SEI 메시지들은 비트스트림 파티션 네스팅 SEI 메시지들에 포함되고, 상기 비트스트림 파티션 네스팅 SEI 메시지는 스케일러블 네스팅 SEI 메시지에 포함되는, 상기 제 3 비트스트림 적합성 테스트를 수행하는 것을 행하도록 구성되는, 비디오 데이터를 처리하기 위한 디바이스.
  12. 제 11 항에 있어서,
    상기 프로세서는,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 기본 부분에서 식별된 OLS 에 대응할 때에만, 직접 네스팅된 SEI 메시지들을 적용하도록 더 구성되고, 상기 직접 네스팅된 SEI 메시지들은 버퍼 주기 (BP), 픽처 타이밍 (PT), 및 디코더 유닛 정보 (DUI) SEI 메시지들 중 하나인, 비디오 데이터를 처리하기 위한 디바이스.
  13. 제 11 항에 있어서,
    상기 프로세서는,
    상기 선택된 출력 동작 포인트가 상기 VPS 확장에서 특정된 OLS 에 대응할 때에만, 상기 간접 네스팅된 SEI 메시지들을 적용하도록 더 구성되고, 상기 간접 네스팅된 SEI 메시지들은 BP, PT, 및 DUI SEI 메시지들 중 하나인, 비디오 데이터를 처리하기 위한 디바이스.
  14. 제 11 항에 있어서,
    상기 시퀀스-레벨 HRD 파라미터들의 세트는 상기 SPS, 상기 기본 VPS, 및 상기 VPS 확장 중 하나에서의 hrd_parameters() 신택스 구조에 포함되는, 비디오 데이터를 처리하기 위한 디바이스.
  15. 제 11 항에 있어서,
    상기 SEI 메시지들은 BP, PT, 및 DUI SEI 메시지들 중 하나를 포함하는, 비디오 데이터를 처리하기 위한 디바이스.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제 11 항에 있어서,
    상기 제 3 비트스트림 적합성 테스트는 또한 상기 기본 VPS 및 상기 VPS 확장 중 하나에 위치하는 간접 네스팅된 SEI 메시지들 및 상기 활성 VPS 내의 상기 시퀀스-레벨 HRD 파라미터들의 세트에 기초하는, 비디오 데이터를 처리하기 위한 디바이스.
  20. 제 11 항에 있어서,
    상기 프로세서는,
    상기 코딩된 비디오 데이터의 상기 복수의 출력 동작 포인트들로부터 상기 선택된 출력 동작 포인트를 선택하도록 더 구성되는, 비디오 데이터를 처리하기 위한 디바이스.
  21. 비디오 데이터를 처리하기 위한 장치로서,
    복수의 출력 동작 포인트들을 갖는 코딩된 비디오 데이터를 저장하기 위한 메모리 수단; 및
    상기 메모리 수단에 동작 가능하게 커플링된 디코더 수단을 포함하고,
    상기 디코더 수단은,
    상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 것으로서, 상기 선택된 출력 동작 포인트는 전체 비트스트림의 서브-비트스트림인, 상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 것을 행하고; 그리고
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 전체 비트스트림 및 상기 기본 계층만이 출력되는 상기 전체 비트스트림의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 1 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 1 비트스트림 적합성 테스트는 하나 이상의 네스팅되지 않은 보충 향상 정보 (SEI) 메시지들 및 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트에 기초하고, 상기 하나 이상의 네스팅되지 않은 SEI 메시지들의 각각의 네스팅되지 않은 SEI 메시지들은 SEI 네트워크 추상 계층 (NAL) 유닛에 직접 포함되는, 상기 제 1 비트스트림 적합성 테스트를 수행하는 것을 행하고,
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 상기 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 2 비트스트림 적합성 테스트는 직접 네스팅된 SEI 메시지들 및 상기 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 직접 네스팅된 SEI 메시지들은 스케일러블 네스팅 SEI 메시지들에 직접 포함되는, 상기 제 2 비트스트림 적합성 테스트를 수행하는 것을 행하며,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 상기 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 3 비트스트림 적합성 테스트는 간접 네스팅된 SEI 메시지들 및 상기 활성 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 간접 네스팅된 SEI 메시지들은 비트스트림 파티션 네스팅 SEI 메시지들에 포함되고, 상기 비트스트림 파티션 네스팅 SEI 메시지는 스케일러블 네스팅 SEI 메시지에 포함되는, 상기 제 3 비트스트림 적합성 테스트를 수행하는 것을 행하기 위한 것인, 비디오 데이터를 처리하기 위한 장치.
  22. 제 21 항에 있어서,
    상기 디코더 수단은 적어도 하나의 프로세서에 의해 구현되는 가상 참조 디코더인, 비디오 데이터를 처리하기 위한 장치.
  23. 제 21 항에 있어서,
    상기 디코더 수단은,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 상기 기본 VPS 에서 식별된 OLS 에 대응할 때에만, 직접 네스팅된 SEI 메시지들을 적용하도록 더 구성되고, 상기 직접 네스팅된 SEI 메시지들은 버퍼 주기 (BP), 픽처 타이밍 (PT), 및 디코더 유닛 정보 (DUI) SEI 메시지들 중 하나인, 비디오 데이터를 처리하기 위한 장치.
  24. 제 21 항에 있어서,
    상기 디코더 수단은,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 상기 VPS 확장에서 식별된 OLS 에 대응할 때에만, 상기 간접 네스팅된 SEI 메시지들을 적용하도록 구성되고, 상기 간접 네스팅된 SEI 메시지들은 BP, PT, 및 DUI SEI 메시지들 중 하나인, 비디오 데이터를 처리하기 위한 장치.
  25. 명령들을 포함하는 비-일시적 컴퓨터-판독 매체로서,
    상기 명령들은, 프로세서에 의해 실행될 때 컴퓨터로 하여금,
    복수의 출력 동작 포인트들을 갖는 코딩된 비디오를 수신하게 하고;
    상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 것으로서, 상기 선택된 출력 동작 포인트는 전체 비트스트림의 서브-비트스트림인, 상기 복수의 출력 동작 포인트들로부터 선택된 출력 동작 포인트를 추출하는 것을 행하게 하고; 그리고
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 전체 비트스트림 및 상기 기본 계층만이 출력되는 상기 전체 비트스트림의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 1 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 1 비트스트림 적합성 테스트는 하나 이상의 네스팅되지 않은 보충 향상 정보 (SEI) 메시지들 및 기본 계층에 대한 활성 시퀀스 파라미터 세트 (SPS) 내의 시퀀스-레벨 가상 참조 디코더 (HRD) 파라미터들의 세트에 기초하고, 상기 하나 이상의 네스팅되지 않은 SEI 메시지들의 각각의 네스팅되지 않은 SEI 메시지들은 SEI 네트워크 추상 계층 (NAL) 유닛에 직접 포함되는, 상기 제 1 비트스트림 적합성 테스트를 수행하는 것을 행하게 하고,
    상기 선택된 출력 동작 포인트가 기본 계층만이 출력되는 활성 비디오 파라미터 세트 (VPS) 의 기본 VPS 에 의해 특정된 계층 세트 및 상기 계층 세트의 시간적 세브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 2 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 2 비트스트림 적합성 테스트는 직접 네스팅된 SEI 메시지들 및 상기 기본 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 직접 네스팅된 SEI 메시지들은 스케일러블 네스팅 SEI 메시지들에 직접 포함되는, 상기 제 2 비트스트림 적합성 테스트를 수행하는 것을 행하게 하며,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 VPS 확장에 의해 특정된 출력 계층 세트 (OLS) 및 상기 OLS 의 시간적 서브 세트 중 하나에 대응하는 것에 응답하여,
    상기 선택된 출력 동작 포인트에 대해 제 3 비트스트림 적합성 테스트를 수행하는 것으로서, 상기 제 3 비트스트림 적합성 테스트는 간접 네스팅된 SEI 메시지들 및 상기 활성 VPS 내의 시퀀스-레벨 HRD 파라미터들의 세트에 기초하고, 상기 간접 네스팅된 SEI 메시지들은 비트스트림 파티션 네스팅 SEI 메시지들에 포함되고, 상기 비트스트림 파티션 네스팅 SEI 메시지는 스케일러블 네스팅 SEI 메시지에 포함되는, 상기 제 3 비트스트림 적합성 테스트를 수행하는 것을 행하게 하는, 비-일시적 컴퓨터-판독 가능 매체.
  26. 제 25 항에 있어서,
    상기 명령들은 또한, 상기 컴퓨터로 하여금,
    상기 선택된 출력 동작 포인트가 상기 활성 VPS 의 기본 부분에서 식별된 OLS 에 대응할 때에만, 직접 네스팅된 SEI 메시지들을 적용하게 하고, 상기 직접 네스팅된 SEI 메시지들은 버퍼 주기 (BP), 픽처 타이밍 (PT), 및 디코더 유닛 정보 (DUI) SEI 메시지들 중 하나인, 비-일시적 컴퓨터-판독 가능 매체.
  27. 제 25 항에 있어서,
    상기 명령들은 또한, 상기 컴퓨터로 하여금,
    상기 선택된 출력 동작 포인트가 상기 VPS 확장에서 특정된 OLS 에 대응할 때에만, 상기 간접 네스팅된 SEI 메시지들을 적용하게 하고, 상기 간접 네스팅된 SEI 메시지들은 BP, PT, 및 DUI SEI 메시지들 중 하나인, 비-일시적 컴퓨터-판독 가능 매체.
  28. 제 25 항에 있어서,
    상기 시퀀스-레벨 HRD 파라미터들의 세트는 상기 SPS, 상기 기본 VPS, 및 상기 VPS 확장 중 하나에서의 hrd_parameters() 신택스 구조에 포함되는 비-일시적 컴퓨터-판독 가능 매체.
  29. 제 25 항에 있어서,
    상기 간접 네스팅된 SEI 메시지들은 버퍼링 주기 (BP) 네스팅 SEI 메시지에 포함되고, 상기 BP 네스팅 SEI 메시지들은 스케일러블 네스팅 SEI 메시지에 포함되는, 비-일시적 컴퓨터-판독 가능 매체.
  30. 제 25 항에 있어서,
    하나 이상의 비-기본-계층-출력-전용 OLS 들은 상기 제 3 비트스트림 적합성 테스트를 거치고, 상기 제 3 비트스트림 적합성 테스트는 상기 기본 VPS 및 상기 VPS 확장 중 하나에서의 hrd_parameters() 신택스 구조에 더 기초하는, 비-일시적 컴퓨터-판독 가능 매체.
KR1020167036054A 2014-06-24 2015-06-15 멀티-계층 비디오 코딩에서의 적합성 및 상호운용성 향상 KR102388226B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462016549P 2014-06-24 2014-06-24
US62/016,549 2014-06-24
US14/737,898 US10432951B2 (en) 2014-06-24 2015-06-12 Conformance and inoperability improvements in multi-layer video coding
US14/737,898 2015-06-12
PCT/US2015/035853 WO2015200026A1 (en) 2014-06-24 2015-06-15 Conformance and inoperability improvements in multi-layer video coding

Publications (2)

Publication Number Publication Date
KR20170023844A KR20170023844A (ko) 2017-03-06
KR102388226B1 true KR102388226B1 (ko) 2022-04-18

Family

ID=54870867

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167036054A KR102388226B1 (ko) 2014-06-24 2015-06-15 멀티-계층 비디오 코딩에서의 적합성 및 상호운용성 향상

Country Status (9)

Country Link
US (1) US10432951B2 (ko)
EP (1) EP3162068B1 (ko)
JP (1) JP6549619B2 (ko)
KR (1) KR102388226B1 (ko)
CN (1) CN106464922B (ko)
CA (1) CA2952607C (ko)
ES (1) ES2714279T3 (ko)
HU (1) HUE041990T2 (ko)
WO (1) WO2015200026A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019208677A1 (ja) * 2018-04-27 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
KR102606330B1 (ko) * 2019-02-28 2023-11-24 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
CN113519164A (zh) 2019-03-02 2021-10-19 北京字节跳动网络技术有限公司 对分割结构的限制
WO2020184928A1 (ko) * 2019-03-11 2020-09-17 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
CN113785575A (zh) * 2019-03-21 2021-12-10 佳稳电子有限公司 处理图片分割的影像编码方法、影像解码方法及其装置
US11375223B2 (en) * 2019-09-20 2022-06-28 Tencent America LLC Method for signaling output layer set with sub-picture
AU2020320295A1 (en) * 2019-09-24 2022-04-21 Huawei Technologies Co., Ltd. Scalable nesting SEI messages for specified layers
WO2021061391A1 (en) 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Hrd parameters for layer based conformance testing
EP4026050A4 (en) * 2019-09-24 2022-11-23 Huawei Technologies Co., Ltd. IMAGE INFORMATION AND DECODE UNIT INFORMATION ON TIME SCALABILITY
KR20220070325A (ko) * 2019-10-07 2022-05-30 후아웨이 테크놀러지 컴퍼니 리미티드 서브 비트스트림 추출의 sps 오류 방지
WO2021117644A1 (en) * 2019-12-11 2021-06-17 Sharp Kabushiki Kaisha Systems and methods for signaling output layer set information in video coding
CN114946174A (zh) 2020-01-09 2022-08-26 字节跳动有限公司 层间参考图片的存在的信令通知
WO2021201548A1 (ko) * 2020-03-30 2021-10-07 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
KR20220163403A (ko) 2020-03-30 2022-12-09 엘지전자 주식회사 Dpb 파라미터를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
WO2021201541A1 (ko) * 2020-03-30 2021-10-07 엘지전자 주식회사 Dpb 파라미터의 개수 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
US20230156230A1 (en) * 2020-03-30 2023-05-18 Lg Electronics Inc. Image encoding/decoding method and device for signaling information relating to ptl, dpb, and hrd in sps, and computer-readable recording medium storing bitstream
KR20220162741A (ko) * 2020-03-30 2022-12-08 엘지전자 주식회사 Hrd 파라미터를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
CN115668927A (zh) * 2020-04-01 2023-01-31 Lg电子株式会社 基于输出层集合确定是否参考参数集的图像编码/解码方法和设备及发送比特流的方法
JP7488360B2 (ja) * 2020-04-02 2024-05-21 エルジー エレクトロニクス インコーポレイティド Dpb関連情報及びptl関連情報をシグナリングする画像符号化/復号化方法及び装置、並びにビットストリームを保存したコンピュータ可読記録媒体
EP4140135A4 (en) 2020-05-22 2023-10-11 ByteDance Inc. TECHNIQUES FOR GENERATING A COMPLIANT OUTPUT BIT SUB-STREAM
CR20230152A (es) 2020-05-22 2023-05-15 Ge Video Compression Llc Codificador de video, decodificador de video, métodos para codificar y decodificar y flujo de datos de video para realizar conceptos avanzados de codificación de video (divisional exp. n°2022-0589)
CN117834916A (zh) 2020-05-22 2024-04-05 字节跳动有限公司 访问单元中图片信息的信令
KR20230017817A (ko) * 2020-05-25 2023-02-06 엘지전자 주식회사 멀티 레이어 기반 영상 코딩 장치 및 방법
WO2021246841A1 (ko) * 2020-06-06 2021-12-09 엘지전자 주식회사 레이어 정보 시그널링 기반 영상 코딩 장치 및 방법
CN117528004A (zh) * 2020-06-09 2024-02-06 字节跳动有限公司 多层视频比特流的子比特流提取
JP2023542214A (ja) * 2020-09-25 2023-10-05 北京字節跳動網絡技術有限公司 サブビットストリーム抽出
AU2022215576A1 (en) * 2021-02-03 2023-09-07 Dexcom, Inc. Systems and methods for risk based insulin delivery conversion

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1455534A1 (en) 2003-03-03 2004-09-08 Thomson Licensing S.A. Scalable encoding and decoding of interlaced digital video data
JP4190428B2 (ja) 2004-01-14 2008-12-03 株式会社東芝 データ伝送方法およびデータ伝送機
US20160165230A9 (en) 2012-04-16 2016-06-09 Texas Instruments Incorporated Color Component Checksum Computation in Video Coding
US9654802B2 (en) 2012-09-24 2017-05-16 Qualcomm Incorporated Sequence level flag for sub-picture level coded picture buffer parameters
US9154785B2 (en) 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US20140301477A1 (en) * 2013-04-07 2014-10-09 Sharp Laboratories Of America, Inc. Signaling dpb parameters in vps extension and dpb operation
JP6212212B2 (ja) * 2013-10-11 2017-10-11 ヴィド スケール インコーポレイテッド Hevc拡張のための高レベル構文
WO2015056158A1 (en) * 2013-10-14 2015-04-23 Nokia Technologies Oy Multi-layer hypothetical reference decoder
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US20170150160A1 (en) * 2014-06-17 2017-05-25 Sharp Kabushiki Kaisha Bitstream partitions operation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Y-K. Wang, et al. HEVCv1/MV-HEVC/SHVC HLS: Conformance cleanups. JCT-VC of ITU-T and ISO/IEC. JCTVC-R0272 Ver.1, Jun. 25, 2014, pp.1-4

Also Published As

Publication number Publication date
KR20170023844A (ko) 2017-03-06
CA2952607C (en) 2022-11-29
WO2015200026A1 (en) 2015-12-30
JP6549619B2 (ja) 2019-07-24
CN106464922A (zh) 2017-02-22
CN106464922B (zh) 2019-07-30
US20150373346A1 (en) 2015-12-24
EP3162068A1 (en) 2017-05-03
HUE041990T2 (hu) 2019-06-28
US10432951B2 (en) 2019-10-01
JP2017525234A (ja) 2017-08-31
EP3162068B1 (en) 2018-12-05
ES2714279T3 (es) 2019-05-28
CA2952607A1 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
KR102388226B1 (ko) 멀티-계층 비디오 코딩에서의 적합성 및 상호운용성 향상
KR102387848B1 (ko) 비디오 코딩에서 0 번째 출력 계층 세트를 위한 프로파일, 티어, 레벨
KR102220256B1 (ko) 비디오 정보의 스케일러블 코딩을 위한 디바이스 및 방법
JP6545722B2 (ja) パラメータセットにおいて異なる数のビデオ信号情報シンタックス構造を選択的にシグナリングするためのシステムおよび方法
JP6117243B2 (ja) ビデオコーディング用のコーディングパラメータセットおよびnalユニットヘッダ
US9451256B2 (en) Reusing parameter sets for video coding
CA2951522C (en) Extensible design of nesting supplemental enhancement information (sei) messages
KR102119296B1 (ko) Hevc 멀티-계층 확장물들에서 비-hevc 기본 계층의 지원
KR102148548B1 (ko) 비디오 코딩에서의 동작 포인트들에 대한 계층 식별자들의 시그널링
CA2922408C (en) Inter-view dependency type in mv-hevc
CA2914357C (en) Signaling of bit rate information and picture rate information in vps
US20140219363A1 (en) Inter-layer syntax prediction control

Legal Events

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