KR20150104158A - 비디오 코딩에 있어서의 비-네스팅된 sei 메시지들 - Google Patents

비디오 코딩에 있어서의 비-네스팅된 sei 메시지들 Download PDF

Info

Publication number
KR20150104158A
KR20150104158A KR1020157021121A KR20157021121A KR20150104158A KR 20150104158 A KR20150104158 A KR 20150104158A KR 1020157021121 A KR1020157021121 A KR 1020157021121A KR 20157021121 A KR20157021121 A KR 20157021121A KR 20150104158 A KR20150104158 A KR 20150104158A
Authority
KR
South Korea
Prior art keywords
sei message
nested
sei
bitstream
nal unit
Prior art date
Application number
KR1020157021121A
Other languages
English (en)
Other versions
KR101776448B1 (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 KR20150104158A publication Critical patent/KR20150104158A/ko
Application granted granted Critical
Publication of KR101776448B1 publication Critical patent/KR101776448B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N13/0048
    • 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/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

디바이스는, 비트스트림으로부터, 비트스트림에 있어서 다른 SEI 메시지 내에 네스팅되지 않은 비-네스팅된 보충 인핸스먼트 정보 (SEI) 메시지를 획득한다. 더욱이, 디바이스는, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정한다. 비-네스팅된 SEI 메시지는, 비트스트림의 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하다. SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일하다. 더욱이, 디바이스는 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱한다.

Description

비디오 코딩에 있어서의 비-네스팅된 SEI 메시지들{NON-NESTED SEI MESSAGES IN VIDEO CODING}
본 출원은 2013년 1월 7일자로 출원된 미국 가특허출원 제61/749,786호의 이익을 주장하며, 그 전체 내용은 본 명세서에 참조로 통합된다.
본 개시는 비디오 인코딩 및 디코딩에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인용 디지털 보조기들 (PDA들), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-북 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 소위 "스마트 폰들", 비디오 텔레컨퍼런싱 디바이스들, 비디오 스트리밍 디바이스들 등을 포함한, 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, 어드밴스드 비디오 코딩 (AVC) 에 의해 정의된 표준들, 고 효율 비디오 코딩 (HEVC) 표준, 및 그러한 표준들의 확장들에서 설명된 기술들과 같은 비디오 압축 기술들을 구현한다. 비디오 디바이스들은 그러한 비디오 압축 기술들을 구현함으로써 디지털 비디오 정보를 더 효율적으로 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
비디오 압축 기술들은 비디오 시퀀스들에 고유한 리던던시를 감소 또는 제거하기 위해 공간 (인트라-픽처) 예측 및/또는 시간 (인터-픽처) 예측을 수행한다. 블록 기반 비디오 코딩에 대해, 비디오 슬라이스 (예를 들어, 비디오 프레임 또는 비디오 프레임의 부분) 는 비디오 블록들로 파티셔닝될 수도 있다. 픽처의 인트라-코딩된 (I) 슬라이스에서의 비디오 블록들은 동일 픽처의 이웃 블록들에서의 레퍼런스 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 픽처의 인터-코딩된 (P 또는 B) 슬라이스에서의 비디오 블록들은 동일 픽처의 이웃 블록들에서의 레퍼런스 샘플들에 대한 공간 예측, 또는 다른 레퍼런스 픽처들에서의 레퍼런스 샘플들에 대한 시간 예측을 이용할 수도 있다. 픽처들은 프레임들로서 지칭될 수도 있으며, 레퍼런스 픽처들은 레퍼런스 프레임들로서 지칭될 수도 있다.
공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 발생시킨다. 잔차 데이터는 코딩될 오리지널 블록과 예측 블록 간의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 레퍼런스 샘플들의 블록을 포인팅하는 모션 벡터에 따라 인코딩되고, 잔차 데이터는 코딩된 블록과 예측 블록 간의 차이를 나타낸다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가적인 압축을 위해, 잔차 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어, 잔차 계수들을 발생시킬 수도 있으며, 그 후, 이 잔차 계수들은 양자화될 수도 있다. 2차원 어레이로 초기에 배열되는 양자화된 계수들은 계수들의 1차원 벡터를 생성하기 위해 스캐닝될 수도 있으며, 엔트로피 코딩이 훨씬 더 많은 압축을 달성하도록 적용될 수도 있다.
멀티뷰 코딩 비트스트림은, 예를 들어, 다중의 관점들로부터 인코딩 뷰들에 의해 생성될 수도 있다. 멀티뷰 코딩 양태들을 이용하는 일부 3차원 (3D) 비디오 표준들이 개발되었다. 예를 들어, 상이한 뷰들은 좌안 뷰 및 우안 뷰를 송신하여 3D 비디오를 지원할 수도 있다. 대안적으로, 일부 3D 비디오 코딩 프로세스들은 소위 멀티뷰 플러스 심도 코딩을 적용할 수도 있다. 멀티뷰 플러스 심도 코딩에 있어서, 3D 비디오 비트스트림은 텍스처 뷰 컴포넌트들뿐 아니라 심도 뷰 컴포넌트들도 포함할 수도 있다. 예를 들어, 각각의 뷰는 하나의 텍스처 뷰 컴포넌트 및 하나의 심도 뷰 컴포넌트를 포함할 수도 있다.
일반적으로, 본 개시는 비디오 코딩에 있어서 비-네스팅된 보충 인핸스먼트 정보 (SEI) 의 이용을 설명한다. 비-네스팅된 SEI 메시지들은, 스케일러블 네스팅 SEI 메시지들에 포함되지 않은 SEI 메시지들이다. 구체적으로, 본 개시는, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 비-네스팅된 SEI 메시지를 획득하는 비디오 프로세서를 설명한다. 더욱이, 비디오 프로세서는, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정한다. 비-네스팅된 SEI 메시지는, 비트스트림의 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하다. SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일하다. 비디오 프로세서는, 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱할 수도 있다.
일 예에 있어서, 본 개시는 비디오 데이터를 프로세싱하는 방법을 설명하며, 그 방법은 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 비트스트림에 있어서 다른 SEI 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하는 단계; 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정하는 단계로서, 비-네스팅된 SEI 메시지는 비트스트림의 VCL NAL 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하는 단계; 및 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱하는 단계를 포함한다.
다른 예에 있어서, 본 개시는 하나 이상의 프로세서들을 포함하는 비디오 프로세싱 디바이스를 설명하며, 그 하나 이상의 프로세서들은 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 비트스트림에 있어서 다른 SEI 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하고; 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정하는 것으로서, 비-네스팅된 SEI 메시지는 비트스트림의 VCL NAL 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하고; 그리고 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱하도록 구성된다.
다른 예에 있어서, 본 개시는 비디오 프로세싱 디바이스를 설명하며, 그 비디오 프로세싱 디바이스는 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 비트스트림에 있어서 다른 SEI 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하는 수단; 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정하는 수단으로서, 비-네스팅된 SEI 메시지는 비트스트림의 VCL NAL 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하는 수단; 및 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱하는 수단을 포함한다.
다른 예에 있어서, 본 개시는 명령들이 저장된 컴퓨터 판독가능 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 비트스트림에 있어서 다른 SEI 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하고; 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정하는 것으로서, 비-네스팅된 SEI 메시지는 비트스트림의 VCL NAL 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하고; 그리고 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱하도록, 비디오 프로세싱 디바이스를 구성한다.
본 개시의 하나 이상의 예들의 상세들은 첨부 도면들 및 하기의 설명에 기재된다. 다른 특징들, 목적들, 및 이점들은 그 설명, 도면들, 및 청구항들로부터 명백할 것이다.
도 1 은 본 개시에서 설명된 기술들을 활용할 수도 있는 예시적인 비디오 코딩 시스템을 도시한 블록 다이어그램이다.
도 2 는 본 개시에서 설명된 기술들을 구현할 수도 있는 예시적인 비디오 인코더를 도시한 블록 다이어그램이다.
도 3 은 본 개시에서 설명된 기술들을 구현할 수도 있는 예시적인 비디오 디코더를 도시한 블록 다이어그램이다.
도 4 는 본 개시의 하나 이상의 기술들에 따른, 비디오 프로세서의 예시적인 동작을 도시한 블록 다이어그램이다.
도 5 는 비트스트림 부합성 (conformance) 테스트의 부분을 수행하기 위한 예시적인 동작을 도시한 플로우차트이다.
비디오 인코더는, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림을 생성할 수도 있다. 비트스트림은 네트워크 추상화 계층 (NAL) 유닛들의 시리즈를 포함할 수도 있다. NAL 유닛은, NAL 유닛 내의 데이터의 타입의 표시, 및 필요에 따라 에뮬레이션 방지 비트들로 산재된 RBSP (raw byte sequence payload) 의 형태로 그 데이터를 포함하는 바이트들을 포함하는 신택스 구조일 수도 있다. NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들 및 비-VCL NAL 유닛들을 포함할 수도 있다. VCL NAL 유닛들은 픽처들의 코딩된 슬라이스들을 포함할 수도 있다. 비-VCL NAL 유닛은 비디오 파라미터 세트 (VPS), 시퀀스 파라미터 세트 (SPS), 픽처 파라미터 세트 (PPS), 하나 이상의 보충 인핸스먼트 정보 (SEI) 메시지들, 또는 다른 타입들의 데이터를 캡슐화할 수도 있다.
더욱이, 비트스트림의 NAL 유닛들은 비트스트림의 상이한 계층들과 연관될 수도 있다. 스케일러블 비디오 코딩 (SVC) 에 있어서, 베이스 계층 이외의 계층들은 "인핸스먼트 계층들" 로서 지칭될 수도 있으며, 비디오 데이터의 플레이백의 품질을 개선시키는 데이터를 포함할 수도 있다. 멀티뷰 코딩 및 3차원 비디오 (3DV) 코딩에 있어서, 계층들은 상이한 뷰들과 연관된 데이터를 포함할 수도 있다. 비트스트림의 각각의 계층은 상이한 계층 식별자와 연관된다. 부가적으로, NAL 유닛들은 시간 식별자들을 포함할 수도 있다. 동작 포인트는 비트스트림의 시간 계층들의 서브세트이다. 비트스트림의 각각의 동작 포인트는 계층 식별자들의 세트 (즉, nuh_reserved_zero_6bits 값들의 세트) 및 시간 식별자를 갖는다. NAL 유닛이 동작 포인트에 대한 계층 식별자들의 세트에서 계층 식별자를 명시하고 NAL 유닛의 시간 식별자가 동작 포인트의 시간 식별자보다 작거나 같으면, NAL 유닛은 동작 포인트와 연관된다.
상기 나타낸 바와 같이, 비트스트림은, SEI 메시지들을 캡슐화하는 NAL 유닛들을 포함할 수도 있다. 하나 이상의 SEI 메시지들을 캡슐화하는 NAL 유닛은 본 명세서에서 SEI NAL 유닛으로서 지칭된다. SEI 메시지의 일 타입은 스케일러블 네스팅 SEI 메시지이다. 스케일러블 네스팅 SEI 메시지는, 하나 이상의 부가적인 SEI 메시지들을 포함하는 SEI 메시지이다. 스케일러블 네스팅 SEI 메시지에 포함되지 않은 SEI 메시지는 본 명세서에서 비-네스팅된 SEI 메시지로서 지칭된다.
SEI 메시지들의 특정 타입들은, 오직 특정 동작 포인트들에만 적용가능한 정보를 포함한다. 예를 들어, 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들, 및 디코딩 유닛 SEI 메시지들은 오직 특정 동작 포인트들에만 적용가능하다. 따라서, 그러한 SEI 메시지들에 있어서의 정보를 이용하기 위해, 비디오 프로세서는 어느 동작 포인트들이 SEI 메시지들에 적용가능한지를 결정할 수도 있다. SEI 메시지들의 다른 타입들은 오직 특정 계층들에만 적용가능하다. 따라서, 그러한 SEI 메시지들에 있어서의 정보를 이용하기 위해, 비디오 프로세서는 어느 계층들이 SEI 메시지들에 적용가능한지를 결정할 수도 있다.
이전의 비디오 코딩 규격들에서는 특정한 비-네스팅된 SEI 메시지들이 적용되는 동작 포인트들 또는 계층들에 관한 명확한 표시들이 제공되지 않았다. 결과적으로, 비디오 디코더는 그러한 비-네스팅된 SEI 메시지들을 이용할 수 없을 수도 있다. 따라서, 비트스트림에 있어서 그러한 비-네스팅된 SEI 메시지들의 포함은 비트들의 낭비일 수도 있다.
본 개시의 하나 이상의 기술들에 따르면, 비디오 프로세서는 비-네스팅된 SEI 메시지가 버퍼링 픽처 SEI 메시지인지, 픽처 타이밍 SEI 메시지인지, 또는 디코딩 유닛 SEI 메시지인지를 결정할 수도 있다. 비-네스팅된 SEI 메시지가 이들 3개 타입들의 SEI 메시지 중 하나이면, 비디오 프로세서는 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트를 결정할 수도 있다. 일 예에 있어서, 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트의 모든 NAL 유닛들의 최고의 시간 식별자는, 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 시간 식별자와 동일하다. 더욱이, 이 예에 있어서, 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트의 모든 NAL 유닛들의 계층 식별자들의 세트는, 0 부터 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자까지의 범위의 모든 정수 값들을 포함한다.
더욱이, 본 개시의 하나 이상의 기술들에 따르면, 비-네스팅된 SEI 메시지가 버퍼링 픽처 SEI 메시지, 픽처 타이밍 SEI 메시지, 또는 디코딩 유닛 SEI 메시지 이외의 SEI 메시지 타입이면, 비디오 코더는 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정할 수도 있다. 구체적으로, 비-네스팅된 SEI 메시지는, 오직 비트스트림의 VCL NAL 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에만 적용할 수도 있다. 이러한 방식으로, 비-네스팅된 SEI 메시지의 타입들에 대한 적용가능한 동작 포인트들 또는 계층들이 명확히 명시된다.
도 1 은 본 개시의 기술들을 활용할 수도 있는 예시적인 비디오 코딩 시스템 (10) 을 도시한 블록 다이어그램이다. 본 명세서에서 사용된 바와 같이, 용어 "비디오 코더" 는 일반적으로 비디오 인코더들 및 비디오 디코더들 양자를 지칭한다. 본 개시에 있어서, 용어들 "비디오 코딩" 또는 "코딩" 은 일반적으로 비디오 인코딩 또는 비디오 디코딩을 지칭할 수도 있다.
도 1 에 도시된 바와 같이, 비디오 코딩 시스템 (10) 은 소스 디바이스 (12) 및 목적지 디바이스 (14) 를 포함한다. 소스 디바이스 (12) 는 인코딩된 비디오 데이터를 생성한다. 이에 따라, 소스 디바이스 (12) 는 비디오 인코딩 디바이스 또는 비디오 인코딩 장치로서 지칭될 수도 있다. 목적지 디바이스 (14) 는 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수도 있다. 이에 따라, 목적지 디바이스 (14) 는 비디오 디코딩 디바이스 또는 비디오 디코딩 장치로서 지칭될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 비디오 코딩 디바이스들 또는 비디오 코딩 장치들의 예들일 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크탑 컴퓨터들, 모바일 컴퓨팅 디바이스들, 노트북 (예를 들어, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑 박스들, 소위 "스마트" 폰들과 같은 전화기 핸드셋들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 차량내 컴퓨터들 등을 포함하여 광범위한 디바이스들을 포함할 수도 있다.
목적지 디바이스 (14) 는 소스 디바이스 (12) 로부터의 인코딩된 비디오 데이터를 채널 (16) 을 통해 수신할 수도 있다. 채널 (16) 은 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동 가능한 하나 이상의 매체들 또는 디바이스들을 포함할 수도 있다. 일 예에 있어서, 채널 (16) 은, 소스 디바이스 (12) 로 하여금 인코딩된 비디오 데이터를 직접 목적지 디바이스 (14) 로 실시간으로 송신할 수 있게 하는 하나 이상의 통신 매체들을 포함할 수도 있다. 이 예에 있어서, 소스 디바이스 (12) 는 인코딩된 비디오 데이터를 무선 통신 프로토콜과 같은 통신 표준에 따라 변조할 수도 있고, 변조된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수도 있다. 하나 이상의 통신 매체들은 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들과 같은 무선 및/또는 유선 통신 매체들을 포함할 수도 있다. 하나 이상의 통신 매체들은 로컬 영역 네트워크, 광역 네트워크, 또는 글로벌 네트워크 (예를 들어, 인터넷) 와 같은 패킷 기반 네트워크의 부분을 형성할 수도 있다. 하나 이상의 통신 매체들은 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는 다른 장비를 포함할 수도 있다.
다른 예에 있어서, 채널 (16) 은, 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 저장하는 저장 매체를 포함할 수도 있다. 이 예에 있어서, 목적지 디바이스 (14) 는 예를 들어, 디스크 액세스 또는 카드 액세스를 통해 저장 매체에 액세스할 수도 있다. 저장 매체는 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 적합한 디지털 저장 매체들과 같은 다양한 국부적으로 액세스된 데이터 저장 매체들을 포함할 수도 있다.
추가의 예에 있어서, 채널 (16) 은, 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 저장하는 파일 서버 또는 다른 중간 저장 디바이스를 포함할 수도 있다. 이 예에 있어서, 목적지 디바이스 (14) 는 파일 서버 또는 다른 중간 저장 디바이스에 저장된 인코딩된 비디오 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다. 파일 서버는, 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신하는 것이 가능한 서버의 타입일 수도 있다. 예시적인 파일 서버들은 웹 서버들 (예를 들어, 웹 사이트용), 파일 전송 프로토콜 (FTP) 서버들, 네트워크 접속형 저장 (NAS) 디바이스들, 및 로컬 디스크 드라이브들을 포함한다.
목적지 디바이스 (14) 는 인코딩된 비디오 데이터에 인터넷 커넥션과 같은 표준 데이터 커넥션을 통해 액세스할 수도 있다. 데이터 커넥션들의 예시적인 타입들은 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하기에 적합한 무선 채널들 (예를 들어, Wi-Fi 커넥션들), 유선 커넥션들 (예를 들어, 디지털 가입자 라인 (DSL), 케이블 모뎀 등), 또는 이들 양자의 조합들을 포함할 수도 있다. 인코딩된 비디오 데이터의 파일 서버로부터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들 양자의 조합일 수도 있다.
본 개시의 기술들은 무선 어플리케이션들 또는 설정들에 한정되지 않는다. 그 기술들은, 공중 경유 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예를 들어, 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상의 저장을 위한 비디오 데이터의 인코딩, 데이터 저장 매체 상에 저장된 비디오 데이터의 디코딩, 또는 다른 어플리케이션들과 같은 다양한 멀티미디어 어플리케이션들의 지원으로 비디오 코딩에 적용될 수도 있다. 일부 예들에 있어서, 비디오 코딩 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 비디오 전화와 같은 어플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 은 단지 예일 뿐이고, 본 개시의 기술들은, 인코딩 디바이스와 디코딩 디바이스 간의 임의의 데이터 통신을 반드시 포함하지는 않는 비디오 코딩 설정들 (예를 들어, 비디오 인코딩 또는 비디오 디코딩) 에 적용할 수도 있다. 다른 예들에 있어서, 데이터는 로컬 메모리로부터 취출되거나 네트워크 상으로 스트리밍되는 등등이다. 비디오 인코딩 디바이스는 데이터를 인코딩하고 메모리에 저장할 수도 있고/있거나 비디오 디코딩 디바이스는 데이터를 메모리로부터 취출하고 디코딩할 수도 있다. 다수의 예들에 있어서, 인코딩 및 디코딩은, 서로 통신하지 않지만 단순히 데이터를 메모리로 인코딩하고/하거나 데이터를 메모리로부터 취출하고 디코딩하는 디바이스들에 의해 수행된다.
도 1 의 예에 있어서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 일부 예들에 있어서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 비디오 소스 (18) 는 비디오 캡쳐 디바이스, 예를 들어, 비디오 카메라, 이전에 캡쳐된 비디오 데이터를 포함하는 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 비디오 피드 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽스 시스템, 또는 비디오 데이터의 그러한 소스들의 조합을 포함할 수도 있다.
비디오 인코더 (20) 는 비디오 소스 (18) 로부터의 비디오 데이터를 인코딩할 수도 있다. 일부 예들에 있어서, 소스 디바이스 (12) 는 인코딩된 비디오 데이터를 출력 인터페이스 (22) 를 통해 목적지 디바이스 (14) 로 직접 송신한다. 다른 예들에 있어서, 인코딩된 비디오 데이터는 또한, 디코딩 및/또는 플레이백을 위한 목적지 디바이스 (14) 에 의한 추후 액세스를 위해 저장 매체 또는 파일 서버 상에 저장될 수도 있다.
도 1 의 예에 있어서, 목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부 예들에 있어서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 포함한다. 입력 인터페이스 (28) 는 인코딩된 비디오 데이터를 채널 (16) 상으로 수신할 수도 있다. 비디오 디코더 (30) 는 인코딩된 비디오 데이터를 디코딩할 수도 있다. 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 디스플레이할 수도 있다. 디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합될 수도 있거나 또는 그 외부에 있을 수도 있다. 디스플레이 디바이스 (32) 는 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 별도의 로직, 하드웨어, 또는 이들의 임의의 조합들과 같은 다양한 적절한 회로 중 임의의 회로로서 구현될 수도 있다. 기술들이 부분적으로 소프트웨어로 구현되면, 디바이스는 적절한 비-일시적인 컴퓨터 판독가능 저장 매체에 소프트웨어에 대한 명령들을 저장할 수도 있으며, 본 개시의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하여 하드웨어로 명령들을 실행할 수도 있다. (하드웨어, 소프트웨어, 하드웨어와 소프트웨어의 조합 등을 포함한) 임의의 전술한 바는 하나 이상의 프로세서들인 것으로 고려될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 하나는 개별 디바이스에 있어서 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다.
본 개시는 일반적으로 특정 정보를, 비디오 디코더 (30) 와 같은 다른 디바이스로 "시그널링"하는 비디오 인코더 (20) 를 언급할 수도 있다. 용어 "시그널링" 은 일반적으로, 압축된 비디오 데이터를 디코딩하는데 사용되는 다른 데이터 및/또는 신택스 엘리먼트들의 통신을 지칭할 수도 있다. 그러한 통신은 실시간 또는 준-실시간으로 발생할 수도 있다. 대안적으로, 그러한 통신은, 신택스 엘리먼트들을, 인코딩 시 인코딩된 비트스트림으로 컴퓨터 판독가능 저장 매체에 저장할 경우 (그 후, 이 매체에 저장된 이후 임의의 시간에서 디코딩 디바이스에 의해 취출될 수도 있음) 에 발생할 수도 있는 것과 같이 시간 기간에 걸쳐 발생할 수도 있다.
일부 예들에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 스케일러블 비디오 코딩 (SVC) 확장, 멀티뷰 비디오 코딩 (MVC) 확장, 및 MVC 기반 3DV 확장을 포함하여 ISO/IEC MPEG-4 비주얼 및 ITU-T H.264 (ISO/IEC MPEG-4 AVC 로서도 또한 공지됨) 와 같은 비디오 압축 표준에 따라 동작한다. 일부 경우들에 있어서, H.264/AVC 의 MVC 기반 3DV 확장에 부합하는 임의의 비트스트림은, H.264/AVC 의 MVC 확장에 따르는 서브-비트스트림을 항상 포함한다. 더욱이, H.264/AVC 로의 3차원 비디오 (3DV) 코딩 확장, 즉, AVC 기반 3DV 를 생성하기 위한 진행중인 노력이 존재한다. 다른 예들에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, 및 ITU-T H.264, ISO/IEC 비주얼에 따라 동작할 수도 있다.
다른 예들에 있어서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 ITU-T 비디오 코딩 전문가 그룹 (VCEG) 및 ISO/IEC 모션 픽처 전문가 그룹 (MPEG) 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 개발된 고효율 비디오 코딩 (HEVC) 에 따라 동작할 수도 있다. "HEVC 워킹 드래프트 8" 로서 지칭되는 다가오는 HEVC 표준의 드래프트는 Bross 등의 "High Efficiency Video Coding (HEVC) text specification draft 8", ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 JCT-VC (Joint Collaborative Team on Video Coding), 제10차 회의, 스톡홀롬, 스웨덴, 2012년 7월,에 기술되어 있다. "HEVC 워킹 드래프트 9" 로서 지칭되는 다가오는 HEVC 표준의 다른 드래프트는 Bross 등의 "High Efficiency Video Coding (HEVC) text specification draft 9", ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 JCT-VC (Joint Collaborative Team on Video Coding), 제11차 회의, 상하이, 중국, 2012년 10월,에 기술되어 있다. 더욱이, HEVC 에 대해 스케일러블 비디오 코딩, 멀티뷰 코딩, 및 3DV 확장들을 생성하기 위한 진행중인 노력들이 존재한다. HEVC 의 스케일러블 비디오 코딩 확장은 SHEVC 로서 지칭될 수도 있다. HEVC 의 3DV 확장은 HEVC 기반 3DV 또는 HEVC-3DV 로서 지칭될 수도 있다.
HEVC 및 다른 비디오 코딩 규격들에 있어서, 비디오 시퀀스는 통상적으로 픽처들의 시리즈를 포함한다. 픽처들은 또한 "프레임들"로서 지칭될 수도 있다. 픽처는 SL, SCb, 및 SCr 로 표기되는 3개의 샘플 어레이들을 포함할 수도 있다. SL 은 루마 샘플들의 2차원 어레이 (즉, 블록) 이다. SCb 는 Cb 크로미넌스 샘플들의 2차원 어레이이다. SCr 는 Cr 크로미넌스 샘플들의 2차원 어레이이다. 크로미넌스 샘플들은 또한, 본 명세서에서 "크로마" 샘플들로서 지칭될 수도 있다. 다른 경우들에 있어서, 픽처는 단색일 수도 있으며 오직 루마 샘플들의 어레이만을 포함할 수도 있다.
픽처의 인코딩된 표현을 생성하기 위해, 비디오 인코더 (20) 는 코딩 트리 유닛들 (CTU들) 의 세트를 생성할 수도 있다. CTU들 각각은 루마 샘플들의 코딩 트리 블록, 크로마 샘플들의 2개의 대응하는 코딩 트리 블록들, 및 코딩 트리 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 단색 픽처들 또는 3개의 별개의 컬러 평면들을 갖는 픽처들에 있어서, CTU 는 단일의 코딩 트리 블록, 및 그 코딩 트리 블록의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 코딩 트리 블록은 샘플들의 NxN 블록일 수도 있다. CTU 는 또한 "트리 블록" 또는 "최대 코딩 유닛" (LCU) 로서 지칭될 수도 있다. HEVC 의 CTU들은 H.264/AVC 와 같은 다른 표준들의 매크로블록들과 대체로 유사할 수도 있다. 하지만, CTU 는 반드시 특정 사이즈로 한정되지는 않으며, 하나 이상의 코딩 유닛들 (CU들) 을 포함할 수도 있다. 슬라이스는 래스터 스캔 순서에 있어서의 연속적으로 순서화된 정수 개수의 CTU들을 포함할 수도 있다.
코딩된 CTU 를 생성하기 위해, 비디오 인코더 (20) 는 CTU 의 코딩 트리 블록들에 대해 쿼드 트리 파티셔닝을 재귀적으로 수행하여, 코딩 트리 블록들을 코딩 블록들로 분할할 수도 있고, 따라서, 명칭이 "코딩 트리 유닛들" 이다. 코딩 블록은 샘플들의 NxN 블록일 수도 있다. CU 는 루마 샘플들의 코딩 블록, 및 루마 샘플 어레이, Cb 샘플 어레이, 및 Cr 샘플 어레이를 갖는 픽처의 크로마 샘플들의 2개의 대응하는 코딩 블록들, 그리고 코딩 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 단색 픽처들 또는 3개의 별개의 컬러 평면들을 갖는 픽처들에 있어서, CU 는 단일의 코딩 블록, 및 그 코딩 블록의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다.
비디오 인코더 (20) 는 CU 의 코딩 블록을 하나 이상의 예측 블록들로 파티셔닝할 수도 있다. 예측 블록은, 동일한 예측이 적용되는 샘플들의 직사각형 (즉, 정사각형 또는 비-정사각형) 블록이다. CU 의 예측 유닛 (PU) 은 루마 샘플들의 예측 블록, 크로마 샘플들의 2개의 대응하는 예측 블록들, 및 예측 블록들을 예측하는데 사용된 신택스 구조들을 포함할 수도 있다. 단색 픽처들 또는 3개의 별개의 컬러 평면들을 갖는 픽처들에 있어서, PU 는 단일의 예측 블록, 및 그 예측 블록을 예측하는데 사용된 신택스 구조들을 포함할 수도 있다. 비디오 인코더 (20) 는 CU 의 각각의 PU 의 루마, Cb 및 Cr 예측 블록들에 대한 예측 루마, Cb, 및 Cr 블록들을 생성할 수도 있다.
비디오 인코더 (20) 는 인트라 예측 또는 인터 예측을 이용하여 PU 에 대한 예측 블록들을 생성할 수도 있다. 비디오 인코더 (20) 가 인트라 예측을 이용하여 PU 의 예측 블록들을 생성하면, 비디오 인코더 (20) 는 PU 와 연관된 픽처의 디코딩된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다. 비디오 인코더 (20) 가 인터 예측을 이용하여 PU 의 예측 블록들을 생성하면, 비디오 인코더 (20) 는 PU 와 연관된 픽처 이외의 하나 이상의 픽처들의 디코딩된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
비디오 인코더 (20) 가 CU 의 하나 이상의 PU들에 대한 예측 루마, Cb, 및 Cr 블록들을 생성한 후, 비디오 인코더 (20) 는 CU 에 대한 루마 잔차 블록을 생성할 수도 있다. CU 의 루마 잔차 블록에서의 각각의 샘플은 CU 의 예측 루마 블록들 중 하나에서의 루마 샘플과 CU 의 오리지널 루마 코딩 블록에서의 대응하는 샘플 간의 차이를 나타낸다. 부가적으로, 비디오 인코더 (20) 는 CU 에 대한 Cb 잔차 블록을 생성할 수도 있다. CU 의 Cb 잔차 블록에서의 각각의 샘플은 CU 의 예측 Cb 블록들 중 하나에서의 Cb 샘플과 CU 의 오리지널 Cb 코딩 블록에서의 대응하는 샘플 간의 차이를 나타낼 수도 있다. 비디오 인코더 (20) 는 또한, CU 에 대한 Cr 잔차 블록을 생성할 수도 있다. CU 의 Cr 잔차 블록에서의 각각의 샘플은 CU 의 예측 Cr 블록들 중 하나에서의 Cr 샘플과 CU 의 오리지널 Cr 코딩 블록에서의 대응하는 샘플 간의 차이를 나타낼 수도 있다.
더욱이, 비디오 인코더 (20) 는 쿼드 트리 파티셔닝을 이용하여, CU 의 루마, Cb, 및 Cr 잔차 블록들을 하나 이상의 루마, Cb, 및 Cr 변환 블록들로 분해할 수도 있다. 변환 블록은, 동일한 변환이 적용되는 샘플들의 직사각형 (예를 들어, 정사각형 또는 비-정사각형) 블록이다. CU 의 변환 유닛 (TU) 은 루마 샘플들의 변환 블록, 크로마 샘플들의 2개의 대응하는 변환 블록들, 및 변환 블록 샘플들을 변환하는데 사용된 신택스 구조들을 포함할 수도 있다. 따라서, CU 의 각각의 TU 는 루마 변환 블록, Cb 변환 블록, 및 Cr 변환 블록과 연관될 수도 있다. TU 와 연관된 루마 변환 블록은 CU 의 루마 잔차 블록의 서브-블록일 수도 있다. Cb 변환 블록은 CU 의 Cb 잔차 블록의 서브-블록일 수도 있다. Cr 변환 블록은 CU 의 Cr 잔차 블록의 서브-블록일 수도 있다. 단색 픽처들 또는 3개의 별개의 컬러 평면들을 갖는 픽처들에 있어서, TU 는 단일의 변환 블록, 및 그 변환 블록의 샘플들을 변환하는데 사용된 신택스 구조들을 포함할 수도 있다.
비디오 인코더 (20) 는 TU 의 루마 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 루마 계수 블록을 생성할 수도 있다. 계수 블록은 변환 계수들의 2차원 어레이일 수도 있다. 변환 계수는 스칼라량일 수도 있다. 비디오 인코더 (20) 는 TU 의 Cb 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 Cb 계수 블록을 생성할 수도 있다. 비디오 인코더 (20) 는 TU 의 Cr 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 Cr 계수 블록을 생성할 수도 있다.
계수 블록 (예를 들어, 루마 계수 블록, Cb 계수 블록 또는 Cr 계수 블록) 을 생성한 후, 비디오 인코더 (20) 는 계수 블록을 양자화할 수도 있다. 양자화는 일반적으로, 변환 계수들이 그 변환 계수들을 나타내는데 사용되는 데이터의 양을 가능하게는 감소시키도록 양자화되어 추가 압축을 제공하는 프로세스를 지칭한다. 비디오 인코더 (20) 가 계수 블록을 양자화한 후, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들에 대해 컨텍스트-적응형 바이너리 산술 코딩 (CABAC) 을 수행할 수도 있다.
비디오 인코더 (20) 는 코딩된 픽처들 및 관련 데이터의 표현을 형성하는 비트들의 시퀀스를 포함하는 비트스트림을 출력할 수도 있다. 비트스트림은 네트워크 추상화 계층 (NAL) 유닛들의 시퀀스를 포함할 수도 있다. NAL 유닛은, NAL 유닛 내의 데이터의 타입의 표시, 및 필요에 따라 에뮬레이션 방지 비트들로 산재된 RBSP (raw byte sequence payload) 의 형태로 그 데이터를 포함하는 바이트들을 포함하는 신택스 구조이다. NAL 유닛들 각각은 NAL 유닛 헤더를 포함하고 RBSP 를 캡슐화한다. 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 유닛들은 비디오 코딩 계층 (NCL) NAL 유닛들로서 지칭될 수도 있다.
비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 생성된 비트스트림을 수신할 수도 있다. 부가적으로, 비디오 디코더 (30) 는 비트스트림을 파싱하여, 비트스트림으로부터 신택스 엘리먼트들을 획득할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터 획득된 신택스 엘리먼트들에 적어도 부분적으로 기초하여 비디오 데이터의 픽처들을 복원할 수도 있다. 비디오 데이터를 복원하기 위한 프로세스는 일반적으로, 비디오 인코더 (20) 에 의해 수행된 프로세스에 역일 수도 있다. 부가적으로, 비디오 디코더 (30) 는 현재 CU 의 TU들과 연관된 계수 블록들을 역양자화할 수도 있다. 비디오 디코더 (30) 는 계수 블록들에 대해 역변환들을 수행하여 현재 CU 의 TU들과 연관된 변환 블록들을 복원할 수도 있다. 비디오 디코더 (30) 는 현재 CU 의 PU들에 대한 예측 블록들의 샘플들을, 현재 CU 의 TU들의 변환 블록들의 대응하는 샘플들에 부가함으로써, 현재 CU 의 코딩 블록들을 복원할 수도 있다. 픽처의 각각의 CU 에 대한 코딩 블록들을 복원함으로써, 비디오 디코더 (30) 는 픽처를 복원할 수도 있다.
멀티뷰 코딩에 있어서, 상이한 뷰포인트들로부터 동일한 장면의 다중의 뷰들이 존재할 수도 있다. 용어 "액세스 유닛" 은, 동일한 시간 인스턴스에 대응하는 픽처들의 세트를 지칭하도록 사용된다. 따라서, 비디오 데이터는 시간에 걸쳐 발생하는 액세스 유닛들의 시리즈로서 개념화될 수도 있다. "뷰 컴포넌트" 는 단일의 액세스 유닛에서의 뷰의 코딩된 표현일 수도 있다. 본 개시에 있어서, "뷰" 는 동일한 뷰 식별자와 연관된 뷰 컴포넌트들의 시퀀스를 지칭할 수도 있다. 뷰 컴포넌트들의 예시적인 타입들은 텍스처 뷰 컴포넌트들 및 심도 뷰 컴포넌트들을 포함한다.
멀티뷰 코딩은 인터-뷰 예측을 지원한다. 인터-뷰 예측은 HEVC 에서 사용된 인터 예측과 유사하며, 동일한 신택스 엘리먼트들을 사용할 수도 있다. 하지만, 비디오 코더가 (PU 와 같은) 현재의 비디오 유닛에 대해 인터-뷰 예측을 수행할 경우, 비디오 인코더 (20) 는, 현재의 비디오 유닛과 동일한 액세스 유닛에 있지만 상이한 뷰에 있는 픽처를 레퍼런스 픽처로서 사용할 수도 있다. 이와 대조적으로, 종래의 인터 예측은 오직 상이한 액세스 유닛들에서의 픽처들만을 레퍼런스 픽처들로서 사용한다.
멀티뷰 코딩에 있어서, 비디오 디코더 (예를 들어, 비디오 디코더 (30)) 가 그 뷰에서의 픽처들을, 임의의 다른 뷰에서의 픽처들에 대한 레퍼런스없이 디코딩할 수 있다면, 뷰는 "베이스 뷰" 로서 지칭될 수도 있다. 비-베이스 뷰들 중 하나에서 픽처를 코딩할 경우, (비디오 인코더 (20) 또는 비디오 디코더 (30) 와 같은) 비디오 코더는, 픽처가 비디오 코더가 현재 코딩하고 있는 픽처와 동일한 시간 인스턴스 (즉, 액세스 유닛) 내지만 상이한 뷰에 있으면, 그 픽처를 레퍼런스 픽처 리스트에 부가할 수도 있다. 다른 인터 예측 레퍼런스 픽처들과 유사하게, 비디오 코더는 인터-뷰 예측 레퍼런스 픽처를 레퍼런스 픽처 리스트의 임의의 포지션에 삽입할 수도 있다.
비디오 코딩 표준들은 비디오 버퍼링 모델들을 명시한다. H.264/AVC 및 HEVC 에 있어서, 버퍼링 모델은 "가설 레퍼런스 디코더" 또는 "HRD" 로서 지칭된다. HEVC 워킹 드래프트 8 에 있어서, HRD 는 부록 C 에 기술된다.
HRD 는 데이터가 디코딩을 위해 어떻게 버퍼링되는지 및 디코딩된 데이터가 출력을 위해 어떻게 버퍼링되는지를 기술한다. 예를 들어, HRD 는 코딩된 픽처 버퍼 ("CPB"), 디코딩된 픽처 버퍼 ("DPB"), 및 비디오 디코딩 프로세스의 동작을 기술한다. CPB 는 HRD 에 의해 명시된 디코딩 순서로 액세스 유닛들을 포함하는 선입선출 버퍼이다. DPB 는 HRD 에 의해 명시된 레퍼런스, 출력 재순서화, 또는 출력 지연을 위해 디코딩된 픽처들을 유지하는 버퍼이다. CPB 및 DPB 의 거동은 수학적으로 명시될 수도 있다. HRD 는 타이밍, 버퍼 사이즈들, 및 비트 레이트들에 대한 제약들을 직접 부과할 수도 있다. 더욱이, HRD 는 다양한 비트스트림 특성들 및 통계들에 대한 제약들을 간접적으로 부과할 수도 있다.
H.264/AVC 및 HEVC 에 있어서, 비트스트림 부합성 및 디코더 부합성이 HRD 규격의 부분들로서 명시된다. 즉, HRD 모델은 비트스트림이 비디오 코딩 규격에 부합하는지 여부를 결정하기 위한 테스트들, 및 디코더가 비디오 코딩 규격에 부합하는지 여부를 결정하기 위한 테스트들을 명시한다. 비록 HRD 가 디코더의 일종으로서 명명되더라도, 비디오 인코더들이 통상적으로 HRD 를 이용하여 비트스트림 부합성을 보장하고 비디오 디코더들은 통상적으로 HRD 를 필요로 하지 않는다.
H.264/AVC 및 HEVC 양자는 비트스트림 또는 HRD 부합성의 2개 타입들, 즉, 타입 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_3bytes, 및 trailing_zero_8bits 신택스 엘리먼트들.
디바이스가 비트스트림이 비디오 코딩 표준에 부합하는지 여부를 결정하는 비트스트림 부합성을 수행할 경우, 디바이스는 비트스트림의 동작 포인트를 선택할 수도 있다. 그 후, 디바이스는 선택된 동작 포인트에 적용가능한 HRD 파라미터들의 세트를 결정할 수도 있다. 디바이스는 선택된 동작 포인트에 적용가능한 HRD 파라미터들의 세트를 이용하여, HRD 의 거동을 구성할 수도 있다. 더 상세하게는, 디바이스는 HRD 파라미터들의 적용가능한 세트를 이용하여, 가설 스트림 스케줄러 (HSS), CPB, 디코딩 프로세스, DPB 등과 같은 HRD 의 특정 컴포넌트들의 거동을 구성할 수도 있다. 후속적으로, HSS 는 특정 스케줄에 따라 비트스트림의 코딩된 비디오 데이터를 HRD 의 CPB 에 삽입할 수도 있다.
더욱이, 비트스트림 부합성 테스트를 수행하는 것의 부분으로서, 디바이스는 CPB 에 있어서 코딩된 비디오 데이터를 디코딩하는 디코딩 프로세스를 유발할 수도 있다. 디코딩 프로세스는 디코딩된 픽처들을 DPB 에 출력할 수도 있다. 디바이스가 HRD 를 통해 데이터를 이동시킴에 따라, 디바이스는 제약들의 특정 세트가 만족된채로 남겨지는지 여부를 결정할 수도 있다. 예를 들어, 디바이스는, HRD 가 선택된 동작 포인트의 동작 포인트 표현을 디코딩하고 있는 동안 오버플로우 조건 또는 언더플로우 조건이 CPB 또는 DPB 에서 발생하는지 여부를 결정할 수도 있다. 디바이스는 이러한 방식으로 비트스트림의 각각의 동작 포인트를 선택 및 프로세싱할 수도 있다. 비트스트림의 어떠한 동작 포인트도 제약들이 위반되게 하지 않으면, 디바이스는 비트스트림이 비디오 코딩 표준에 부합한다고 결정할 수도 있다.
H.264/AVC 및 HEVC 양자는 디코더 부합성의 2개 타입들, 즉, 출력 타이밍 디코더 부합성 및 출력 순서 디코더 부합성을 명시한다. 특정 프로파일, 계층 및 레벨에 대한 부합성을 주장하는 디코더는 HEVC 와 같은 비디오 코딩 표준의 비트스트림 부합성 요건들에 부합하는 모든 비트스트림들을 성공적으로 디코딩할 수 있다. 본 개시에 있어서, "프로파일" 은 비트스트림 신택스의 서브세트를 지칭할 수도 있다. "계층들" 및 "레벨들" 은 각각의 프로파일 내에서 명시될 수도 있다. 계층의 레벨은 비트스트림에 있어서 신택스 엘리먼트들의 값들에 부과된 제약들의 명시된 세트일 수도 있다. 이들 제약들은 값들에 대한 단순한 한계들일 수도 있다. 대안적으로, 제약들은 값들의 산술적 조합들에 대한 제약들의 형태 (예를 들어, 픽처 폭 곱하기 픽처 높이 곱하기 초당 디코딩된 픽처들의 수) 를 취할 수도 있다. 통상적으로, 하위 계층에 대해 명시된 레벨은 상위 계층에 대해 명시된 레벨보다 더 제약된다.
디바이스가 테스트 대상 디코더 (DUT) 가 비디오 코딩 규격에 부합하는지 여부를 결정하기 위한 디코더 부합성을 수행할 경우, 디바이스는 비디오 코딩 표준에 부합하는 비트스트림을 HRD 및 DUT 양자에 제공할 수도 있다. HRD 는 비트스트림 부합성 테스트에 관하여 상기 설명된 방식으로 비트스트림을 프로세싱할 수도 있다. 디바이스는, DUT 에 의해 출력되는 디코딩된 픽처들의 순서가 HRD 에 의해 출력되는 디코딩된 픽처들의 순서와 일치하면 DUT 가 비디오 코딩 표준에 부합한다고 결정할 수도 있다. 더욱이, 디바이스는, DUT 가 디코딩된 픽처들을 출력하는 타이밍이 HRD 가 디코딩된 픽처들을 출력하는 타이밍과 일치하면 DUT 가 비디오 코딩 표준에 부합한다고 결정할 수도 있다.
H.264/AVC 및 HEVC HRD 모델들에 있어서, 디코딩 및/또는 CPB 제거는 액세스 유닛 기반일 수도 있다. 즉, HRD 는 완전한 액세스 유닛들을 한꺼번에 디코딩하고 완전한 액세스 유닛들을 CPB 로부터 제거하는 것으로 가정된다. 더욱이, H.264/AVC 및 HEVC HRD 모델들에 있어서, 픽처 디코딩은 순시적이라고 가정된다. 비디오 디코더 (20) 는, 픽처 타이밍 SEI 메시지들에 있어서, 액세스 유닛들의 디코딩을 시작하기 위한 디코딩 시간들을 시그널링할 수도 있다. 실제 어플리케이션들에 있어서, 부합하는 비디오 디코더가 액세스 유닛들의 디코딩을 시작하기 위해 시그널링된 디코딩 시간들을 엄격히 따르면, 특정 디코딩된 픽처를 출력하기 위한 가장 이른 가능한 시간은 그 특정 픽처의 디코딩 시간 플러스 그 특정 픽처를 디코딩하는데 필요한 시간과 동일하다. 하지만, 실제 세계에 있어서, 픽처를 디코딩하는데 필요한 시간은 제로와 동일할 수 없다.
HRD 파라미터들은 HRD 의 다양한 양태들을 제어할 수도 있다. 즉, HRD 는 HRD 파라미터들에 의존할 수도 있다. HRD 파라미터들은 초기 CPB 제거 지연, CPB 사이즈, 비트 레이트, 초기 DPB 출력 지연, 및 DPB 사이즈를 포함할 수도 있다. 비디오 인코더 (20) 는 비디오 파라미터 세트 (VPS) 및/또는 시퀀스 파라미터 세트 (SPS) 에서 명시된 hrd_parameters() 신택스 구조에 있어서 이들 HRD 파라미터들을 시그널링할 수도 있다. 개별 VPS들 및/또는 SPS들은 HRD 파라미터들의 상이한 세트들에 대한 다중의 hrd_parameters() 신택스 구조들을 포함할 수도 있다. 일부 예들에 있어서, 비디오 인코더 (20) 는 버퍼링 주기 SEI 메시지들 또는 픽처 타이밍 SEI 메시지들에 있어서 HRD 파라미터들을 시그널링할 수도 있다.
상기 설명된 바와 같이, 비트스트림의 동작 포인트는 계층 식별자들의 세트 (즉, nuh_reserved_zero_6bits 값들의 세트) 및 시간 식별자와 연관된다. 동작 포인트 표현은, 동작 포인트와 연관된 각각의 NAL 유닛을 포함할 수도 있다. 동작 포인트 표현은 오리지널 비트스트림과는 상이한 프레임 레이트 및/또는 비트 레이트를 가질 수도 있다. 이는, 동작 포인트 표현이 오리지널 비트스트림의 일부 픽처들 및/또는 데이터의 일부를 포함하지 않을 수도 있기 때문이다. 따라서, 비디오 디코더 (30) 가 오리지널 비트스트림을 프로세싱할 경우에 CPB 및/또는 DPB 로부터의 데이터를 특정 레이트로 제거하려 하면 그리고 비디오 디코더 (30) 가 동작 포인트 표현을 프로세싱할 경우에 CPB 및/또는 DPB 로부터의 데이터를 동일한 레이트로 제거하려 하면, 비디오 디코더 (30) 는 CPB 및/또는 DPB 로부터의 너무 많거나 너무 적은 데이터를 제거할 수도 있다. 이에 따라, 비디오 인코더 (20) 는 상이한 동작 포인트들에 대한 HRD 파라미터들의 상이한 세트들을 시그널링할 수도 있다. 예를 들어, 비디오 인코더 (20) 는, 상이한 동작 포인트들에 대한 HRD 파라미터들을 포함하는 다중의 hrd_parameters() 신택스 구조들을 VPS 에 포함할 수도 있다.
하기의 표 1 은 HEVC 에 있어서의 hrd_parameters() 신택스 구조에 대한 예시적인 신택스이다.
Figure pct00001
상기 표 1 및 본 개시의 다른 신택스 표들의 예에 있어서, 타입 디스크립터 (ue(v)) 를 갖는 신택스 엘리먼트들은 좌측 비트 우선인 0차 지수 골롬 (Exp-Golomb) 코딩을 이용하여 인코딩된 가변 길이 부호미표시 정수들일 수도 있다. 표 1 및 다음의 표들의 예에 있어서, n 이 음이 아닌 정수인 형태 u(n) 의 디스크립터들을 갖는 신택스 엘리먼트들은 길이 n 의 부호미표시 값들이다.
H.264/AVC 및 HEVC 양자에서 지원된 SEI 메커니즘은 비디오 인코더들 (예를 들어, 비디오 인코더 (20)) 로 하여금 출력 픽처들의 샘플 값들의 정확한 디코딩에 요구되지 않은 그러한 메타데이터를 비트스트림에 포함할 수 있게 하지만, 픽처 출력 타이밍, 디스플레이 뿐만 아니라 손실 검출 및 은닉과 같은 다양한 다른 목적들을 위해 사용될 수 있다. 비디오 인코더 (20) 는 SEI 메시지들을 이용하여, 픽처들의 샘플 값들의 정확한 디코딩에 요구되지 않은 메타데이터를 비트스트림에 포함할 수도 있다. 하지만, 비디오 디코더 (30) 또는 다른 디바이스들은 다양한 다른 목적들을 위해 SEI 메시지들에 포함된 메타데이터를 이용할 수도 있다. 예를 들어, 비디오 디코더 (30) 또는 다른 디바이스는 픽처 출력 타이밍, 픽처 디스플레이, 손실 검출, 및 에러 은닉을 위해 SEI 메시지들에 있어서의 메타데이터를 이용할 수도 있다.
비디오 인코더 (20) 는 하나 이상의 SEI NAL 유닛들을 액세스 유닛에 포함할 수도 있다. 즉, 임의의 수의 SEI NAL 유닛들이 액세스 유닛과 연관될 수도 있다. 더욱이, 각각의 SEI NAL 유닛은 하나 이상의 SEI 메시지들을 포함할 수도 있다. 즉, 비디오 인코더들은 임의의 수의 SEI NAL 유닛들을 액세스 유닛에 포함할 수 있으며, 각각의 SEI NAL 유닛은 하나 이상의 SEI 메시지들을 포함할 수도 있다. SEI NAL 유닛은 NAL 유닛 헤더 및 페이로드를 포함할 수도 있다. SEI NAL 유닛의 NAL 유닛 헤더는 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 적어도 포함한다. 제 1 신택스 엘리먼트는 SEI NAL 유닛의 계층 식별자를 명시한다. 제 2 신택스 엘리먼트는 SEI NAL 유닛의 시간 식별자를 명시한다.
네스팅된 SEI 메시지는, 스케일러블 네스팅 SEI 메시지들에 포함된 SEI 메시지를 지칭한다. 비-네스팅된 SEI 메시지는, 스케일러블 네스팅 SEI 메시지들에 포함되지 않은 SEI 메시지를 지칭한다. SEI NAL 유닛의 페이로드는 네스팅된 SEI 메시지 또는 비-네스팅된 SEI 메시지를 포함할 수도 있다.
HEVC 표준은 SEI 메시지들의 다양한 타입들에 대한 신택스 및 시맨틱스를 기술한다. 하지만, HEVC 표준은, SEI 메시지들이 표준의 디코딩 프로세스에는 영향을 주지 않기 때문에 SEI 메시지들의 핸들링을 기술하진 않는다. HEVC 표준에 있어서 SEI 메시지들을 갖는 하나의 이유는 보조 데이터가 HEVC 를 이용하여 상이한 시스템들에서 동일하게 해석될 수 있게 하기 위한 것이다. HEVC 를 이용한 규격들 및 시스템들은 비디오 인코더들에게 특정 SEI 메시지들을 생성하도록 요구할 수도 있거나, 또는 수신된 SEI 메시지들의 특정 타입들의 특정 핸들링을 정의할 수도 있다.
하기의 표 2 는 HEVC 에서 명시된 SEI 메시지들을 열거하며 그 목적들을 간략히 기술한다.
Figure pct00002
HEVC 워킹 드래프트 9 에 있어서, HRD 동작들은 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들에서 그리고 때때로 또한 디코딩 유닛 정보 SEI 메시지들에서 시그널링된 파라미터들을 요구한다.
더욱이, HEVC 워킹 드래프트 9 에 있어서, 네스팅된 SEI 메시지에 적용가능한 동작 포인트들, 계층들, 또는 서브-계층들은 스케일러블 네스팅 SEI 메시지의 시맨틱스에 의해 명시된다. 즉, 각각의 SEI 메시지에 대해 지속성 범위로서 또한 지칭되는 적용가능한 액세스 유닛들은 SEI 메시지의 시맨틱스에 의해 명시되고, 네스팅된 SEI 메시지에 대한 적용가능한 동작 포인트들 또는 계층들 또는 서브-계층들은 스케일러블 네스팅 SEI 메시지의 시맨틱스에 의해 그리고 어플리케이션 동작 포인트들 또는 계층들 또는 서브-계층들 내에서 명시된다. 하지만, HEVC 워킹 드래프트 9 에 있어서, 동작 포인트들, 계층들, 또는 서브-계층들이 비-네스팅된 SEI 메시지들에 적용가능한지는 명확하지 않다. 결과적으로, 비디오 디코더들은 비-네스팅된 SEI 메시지들을 이용할 수 없을 수도 있다. 예를 들어, 버퍼링 SEI 메시지들, 네스팅된 픽처 타이밍 SEI 메시지들, 및 네스팅된 디코딩 유닛 정보 SEI 메시지들은 HRD 파라미터들을 포함할 수도 있다. 설명의 용이를 위해, SEI 메시지들의 이들 타입들은 본 명세서에서 "HRD SEI 메시지 타입들" 로서 지칭될 수도 있다.
HEVC 워킹 드래프트 9 에 있어서, 오직 HRD SEI 메시지 타입들에 속하는 네스팅된 SEI 메시지들만이 HRD 동작들에서 이용될 수도 있다. 이와 대조적으로, HRD SEI 메시지 타입들에 속하는 비-네스팅된 SEI 메시지들은 HRD 동작들에서 이용되지 않을 수도 있다. 즉, HEVC 워킹 드래프트 9 에 있어서, 오직 네스팅된 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들 및 디코딩 유닛 정보 SEI 메시지들만이 HRD 동작들에서 이용되도록 선택될 수도 있지만, 비-네스팅된 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들 및 디코딩 유닛 정보 SEI 메시지들은, 비록 존재할 경우라도, HRD 동작들에서의 이용을 위해 결코 선택되지 않는다.
본 개시의 기술들은 비-네스팅된 SEI 메시지의 각각의 타입으로 하여금 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트들, 계층들, 또는 서브-계층들을 표시하게 하는 설계를 제공한다. 예를 들어, 본 개시의 기술들에 따르면, 비-네스팅된 SEI 메시지들의 각각의 타입에 대한 적용가능한 동작 포인트들 또는 계층들 또는 서브-계층들이 명확히 명시되고, HRD 동작들에 있어서의 비-네스팅된 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들 및 디코딩 유닛 정보 SEI 메시지들의 선택 및 이용이 명시된다.
(비디오 디코더 (30) 와 같은) 디바이스는, 비-네스팅된 SEI 메시지가 적용가능한 하나 이상의 동작 포인트들, 계층들, 또는 서브-계층들의 세트를 결정할 수도 있다. 디바이스는, 비-네스팅된 SEI 메시지에 적어도 부분적으로 기초하여, 하나 이상의 HRD 파라미터들을 변경할 수도 있다. HRD 파라미터들은 비디오 디코더 (30) 가 동작 포인트들, 계층들, 또는 서브-계층들을 어떻게 디코딩하는지의 다양한 양태들을 제어할 수도 있다. 비디오 디코더 (30) 는 비디오 데이터를 디코딩할 경우 변경된 HRD 파라미터들을 이용할 수도 있다.
본 개시의 기술들에 따르면, SEI 메시지는, 오직 SEI 메시지가 네스팅된 SEI 메시지일 경우에만 SEI 메시지를 포함하는 SEI NAL 유닛의 시간 ID 보다 더 작은 시간 ID들을 갖는 계층들에 적용가능할 수도 있다. 비-네스팅된 SEI 메시지는, 비-네스팅된 SEI 메시지를 포함하는 SEI NAL 유닛의 시간 ID 보다 더 작은 시간 ID들을 갖는 계층들에 적용가능하지 않다. 즉, SEI 메시지를 포함하는 SEI NAL 유닛의 시간 레벨보다 더 작은 시간 레벨 (TemporalId) 을 갖는 계층들에 적용될 SEI 메시지에 대해, SEI 메시지는 네스팅되어야 한다. 즉, 비-네스팅된 SEI 메시지는 더 작은 TemporalId 값들을 갖는 계층들에는 적용가능하지 않다.
더욱이, 본 개시의 기술들에 따르면, HRD SEI 메시지 타입들 이외의 SEI 메시지 타입 (즉, 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들, 및 디코딩 유닛 SEI 메시지들 이외의 SEI 메시지 타입) 에 속하는 비-네스팅된 SEI 메시지를 포함하는 SEI NAL 유닛은 SEI NAL 유닛을 포함하는 액세스 유닛과 동일한 시간 ID를 갖도록 요구될 수도 있다. 즉, 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들, 및 디코딩 유닛 정보 SEI 메시지들 이외의 SEI 메시지들의 임의의 현재 명시된 타입들의 비-네스팅된 SEI 메시지들을 포함하는 SEI NAL 유닛은 SEI NAL 유닛을 포함하는 액세스 유닛과 동일한 TemporalId 를 갖도록 요구된다.
예를 들어, payloadType 은 SEI 메시지의 타입을 명시할 수도 있다. 더욱이, 동작 포인트는 OpLayerIdSet 로서 표기되는 nuh_reserved_zero_6bits 값들의 세트, 및 OpTid 로서 표기되는 TemporalId 값에 의해 식별된다. payloadType 이 0 (버퍼링 주기), 1 (픽처 타이밍), 또는 130 (디코딩 유닛 정보) 과 동일하면, 비-네스팅된 SEI 메시지는, SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_temporal_id_plus1 마이너스 1 과 동일한 OpTid 를 갖고 그리고 0 부터 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_reserved_zero_6bits 까지의 범위의 모든 정수 값들을 포함하는 OpLayerIdSet 를 갖는 동작 포인트에 적용가능하다. nuh_temporal_id_plus1, 마이너스 1 은 SEI NAL 유닛의 시간 ID 를 명시한다. nuh_reserved_zero_6bits 는 계층 식별자를 명시할 수도 있다. 따라서, 비-네스팅된 SEI 메시지는, SEI NAL 유닛의 시간 식별자와 동일한 시간 식별자를 갖고 그리고 0 으로부터 SEI NAL 유닛의 계층 식별자까지의 범위에 포함된 계층 식별자들의 세트를 갖는 동작 포인트에 적용가능할 수도 있다.
따라서, 본 개시의 일부 예시적인 기술들에 있어서, (비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스와 같은) 디바이스는 비트스트림으로부터 비-네스팅된 SEI 메시지를 획득할 수도 있으며, 여기서, 비-네스팅된 SEI 메시지는 HRD 동작들에 대한 초기 지연들을 나타내는 버퍼링 주기 SEI 메시지, HRD 동작들에 대한 픽처 출력 시간들 및 픽처/서브-픽처 제거 시간들을 나타내는 픽처 타이밍 SEI 메시지, 또는 HRD 동작들에 대한 서브-픽처 제거 시간들을 나타내는 디코딩 유닛 SEI 메시지이다. 더욱이, 디바이스는 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트를 결정할 수도 있다. 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트의 모든 NAL 유닛들의 최고의 시간 식별자는, 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 시간 식별자와 동일하다. 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트의 모든 NAL 유닛들의 계층 식별자들의 세트는, 0 부터 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자의 값까지의 범위의 모든 정수 값들을 포함한다. 부가적으로, 디바이스는, 제 2 의 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들의 값들에 부분적으로 기초하여, 제 2 의 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트에 관한 HRD 동작 (예를 들어, 비트스트림 부합성 테스트, 디코더 부합성 테스트 등) 을 수행할 수도 있다.
그렇지 않으면, payloadType 이 2, 3, 6, 9, 15, 16, 17, 19, 22, 23, 45, 47, 128, 129, 131, 또는 134 와 동일할 경우, 비-네스팅된 SEI 메시지는 VCL NAL 유닛들이 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_reserved_zero_6bits 와 동일한 nuh_reserved_zero_6bits 을 갖는 계층에 적용할 수도 있고, SEI 메시지를 포함하는 SEI NAL 유닛의 TemporalId 는 SEI 메시지를 포함하는 액세스 유닛의 TemporalId 와 동일할 것이다.
payloadType 이 2, 3, 6, 9, 15, 16, 17, 19, 22, 23, 45, 47, 128, 129, 131, 또는 134 와 동일할 경우, 비-네스팅된 SEI 메시지는 다음 중 하나이다: 각각, 출력 픽처들의 픽처 애스팩트비와는 상이한 픽처 애스팩트비로 디스플레이하는 것과 연관된 데이터를 포함하는 팬-스캔 직사각형 SEI 메시지; 특정 제약들을 충족하도록 비트 레이트를 조정하기 위한 데이터를 포함하는 필러 페이로드 SEI 메시지; 클린 랜덤 액세스 또는 점진적인 디코딩 리프레시를 위한 정보를 포함하는 복구 포인트 SEI 메시지; 장면 변경들 및 천이들과 연관된 정보를 포함하는 장면 정보 SEI 메시지; 비디오 콘텐츠의 스틸 이미지 스냅샷으로서 관련 디코딩된 픽처를 라벨링하기 위한 표시를 포함하는 픽처 스냅샷 SEI 메시지; 이동 장면보다는 픽처의 품질의 점진적 정세를 나타내는 연속적인 픽처들의 세그먼트의 시작과 연관된 정보를 포함하는 점진적 정세 세그먼트 시작 SEI 메시지; 연속적인 픽처들의 세그먼트의 종단과 연관된 정보를 포함하는 점진적 정세 세그먼트 종단 SEI 메시지; 필름 그레인 효과들을 합성하는 것과 연관된 정보를 포함하는 필름 그레인 특성 SEI 메시지; 사후-필터 설계를 위해 제안된 사후-필터 계수들 또는 상관 정보와 연관된 정보를 포함하는 사후 필터 힌트 SEI 메시지; 인코딩에서 이용된 또는 가정된 것과는 다른 컬러 공간에 재맵핑하는 것과 연관된 정보를 포함하는 톤 맵핑 정보 SEI 메시지; 입체 비디오를 비트스트림으로 패킹하는 것과 연관된 정보를 포함하는 프레임 패킹 배열 SEI 메시지; 출력 픽처들이 디스플레이될 경우 출력 픽처들에 적용될 플립핑 및/또는 회전을 명시하는 정보를 포함하는 디스플레이 배향 SEI 메시지; 비트스트림의 시간 및 인터 예측 구조를 설명하는 정보를 포함하는 픽처 정보 구조 SEI 메시지; 활성 파라미터 세트에 대한 정보를 포함하는 활성 파라미터 세트들 SEI 메시지; 0 과 동일한 시간 식별자들을 갖는 코딩된 픽처들이 손실될 때를 검출하는 것과 연관된 정보를 포함하는 시간 서브-계층 제로 인덱스 SEI 메시지; 또는 비-네스팅된 SEI 메시지가 적용하는 슬라이스 세그먼트들이 현재 픽처의 리프레시된 영역에 속하는지 여부를 나타내는 정보를 포함하는 영역 리프레시 정보 SEI 메시지.
이러한 방식으로, (비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스와 같은) 디바이스는, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 비트스트림에 있어서 다른 SEI 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득할 수도 있다. 더욱이, 디바이스는, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정할 수도 있으며, 여기서, 비-네스팅된 SEI 메시지는, 비트스트림의 VCL NAL 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하다. SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일하다. 비디오 코더는, 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱할 수도 있다. 일부 예들에 있어서, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱하는 것은, 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 디코딩하는 것을 포함한다.
도 2 는 본 개시의 기술들을 구현할 수도 있는 예시적인 비디오 인코더 (20) 를 도시한 블록 다이어그램이다. 도 2 는 설명의 목적들로 제공되며, 본 개시에 대체로 예시화되고 설명된 바와 같은 기술들의 한정으로서 고려되지 않아야 한다. 설명의 목적들로, 본 개시는 HEVC 코딩의 컨텍스트에 있어서의 비디오 인코더 (20) 를 설명한다. 하지만, 본 개시의 기술들은 다른 코딩 표준들 또는 방법들에 적용가능할 수도 있다.
도 2 의 예에 있어서, 비디오 인코더 (20) 는 예측 프로세싱 유닛 (100), 잔차 생성 유닛 (102), 변환 프로세싱 유닛 (104), 양자화 유닛 (106), 역양자화 유닛 (108), 역변환 프로세싱 유닛 (110), 복원 유닛 (112), 필터 유닛 (114), 디코딩된 픽처 버퍼 (116), 및 엔트로피 인코딩 유닛 (118) 을 포함한다. 예측 프로세싱 유닛 (100) 은 인터 예측 프로세싱 유닛 (120) 및 인트라 예측 프로세싱 유닛 (126) 을 포함한다. 인터 예측 프로세싱 유닛 (120) 은 모션 추정 유닛 (122) 및 모션 보상 유닛 (124) 을 포함한다. 다른 예들에 있어서, 비디오 인코더 (20) 는 더 많거나, 더 적거나, 또는 상이한 기능 컴포넌트들을 포함할 수도 있다.
비디오 인코더 (20) 는 비디오 데이터를 수신할 수도 있다. 비디오 인코더 (20) 는 비디오 데이터의 픽처의 슬라이스에서 각각의 CTU 를 인코딩할 수도 있다. CTU들 각각은, 픽처의 동일하게 사이징된 루마 코딩 트리 블록들 (CTB들) 및 대응하는 CTB들과 연관될 수도 있다. CTU 를 인코딩하는 부분으로서, 예측 프로세싱 유닛 (100) 은 쿼드 트리 파티셔닝을 수행하여, CTU 의 CTB들을 점진적으로 더 작은 블록들로 분할할 수도 있다. 더 작은 블록들은 CU들의 코딩 블록들일 수도 있다. 예를 들어, 예측 프로세싱 유닛 (100) 은 CTU 와 연관된 CTB 를 4개의 동일하게 사이징된 서브블록들로 파티셔닝할 수도 있고, 그 서브블록들 중 하나 이상을 4개의 동일하게 사이징된 서브-서브블록들로 파티셔닝할 수도 있는 등등이다.
비디오 인코더 (20) 는 CTU 의 CU들을 인코딩하여 CU들의 인코딩된 표현들 (즉, 코딩된 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 사이즈들에 대한 비대칭적인 파티셔닝을 지원할 수도 있다.
인터 예측 프로세싱 유닛 (120) 은 CU 의 각각의 PU 에 대해 인터 예측을 수행함으로써 PU 에 대한 예측 데이터를 생성할 수도 있다. PU 에 대한 예측 데이터는, PU 의 예측 블록들 및 PU 에 대한 모션 정보를 포함할 수도 있다. 인터 예측 프로세싱 유닛 (120) 은, PU 가 I 슬라이스인지 P 슬라이스인지 또는 B 슬라이스인지에 의존하여 CU 의 PU 에 대해 상이한 동작들을 수행할 수도 있다. I 슬라이스에 있어서, 모든 PU들은 인트라 예측된다. 따라서, PU 가 I 슬라이스에 있으면, 인터 예측 프로세싱 유닛 (120) 은 PU 에 대해 인터 예측을 수행하지 않는다.
PU 가 P 슬라이스에 있으면, 모션 추정 유닛 (122) 은 PU 에 대한 레퍼런스 영역을 위해 레퍼런스 픽처들의 리스트 (예를 들어, "RefPicList0") 에서 레퍼런스 픽처들을 탐색할 수도 있다. PU 에 대한 레퍼런스 영역은, 레퍼런스 픽처 내에서, PU 의 예측 블록들에 가장 근접하게 대응하는 샘플들을 포함하는 영역일 수도 있다. 모션 추정 유닛 (122) 은, PU 에 대한 레퍼런스 영역을 포함하는 레퍼런스 픽처의 RefPicList0 에서의 포지션을 표시하는 레퍼런스 인덱스를 생성할 수도 있다. 부가적으로, 모션 추정 유닛 (122) 은, 레퍼런스 영역과 연관된 레퍼런스 위치와 PU 의 코딩 블록 간의 공간 변위를 표시하는 모션 벡터를 생성할 수도 있다. 예를 들어, 모션 벡터는, 현재 픽처에서의 좌표들로부터 레퍼런스 픽처에서의 좌표들까지의 오프셋을 제공하는 2차원 벡터일 수도 있다. 모션 추정 유닛 (122) 은 PU 의 모션 정보로서 레퍼런스 인덱스 및 모션 벡터를 출력할 수도 있다. 모션 보상 유닛 (124) 은 PU 의 모션 정보에 의해 표시된 레퍼런스 위치에서의 실제 및 보간된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
PU 가 B 슬라이스에 있으면, 모션 추정 유닛 (122) 은 PU 에 대해 단방향 예측 또는 양방향 예측을 수행할 수도 있다. PU 에 대해 단방향 예측을 수행하기 위해, 모션 추정 유닛 (122) 은 PU 에 대한 레퍼런스 영역을 위해 RefPicList0 또는 제 2 레퍼런스 픽처 리스트 ("RefPicList1") 의 레퍼런스 픽처들을 탐색할 수도 있다. 모션 추정 유닛 (122) 은, PU 의 모션 정보로서, 레퍼런스 영역을 포함하는 레퍼런스 픽처의 RefPicList0 또는 RefPicList1 에서의 포지션을 표시하는 레퍼런스 인덱스, 레퍼런스 영역과 연관된 레퍼런스 위치와 PU 의 예측 블록 간의 공간 변위를 표시하는 모션 벡터, 및 레퍼런스 픽처가 RefPicList0 에 있는지 또는 RefPicList1 에 있는지를 표시하는 하나 이상의 예측 방향 표시자들을 출력할 수도 있다. 모션 보상 유닛 (124) 은 PU 의 모션 벡터에 의해 표시된 레퍼런스 위치에서의 실제 또는 보간된 샘플들에 적어도 부분적으로 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
PU 에 대해 양방향 인터 예측을 수행하기 위해, 모션 추정 유닛 (122) 은 PU 에 대한 레퍼런스 영역을 위해 RefPicList0 에 있어서의 레퍼런스 픽처들을 탐색할 수도 있고, 또한 PU 에 대한 다른 레퍼런스 영역을 위해 RefPicList1 에 있어서의 레퍼런스 픽처들을 탐색할 수도 있다. 모션 추정 유닛 (122) 은, 레퍼런스 영역들을 포함하는 레퍼런스 픽처들의 RefPicList0 및 RefPicList1 에서의 포지션들을 표시하는 레퍼런스 인덱스들을 생성할 수도 있다. 부가적으로, 모션 추정 유닛 (122) 은, PU 의 예측 블록과 레퍼런스 영역들과 연관된 레퍼런스 위치들 간의 공간 변위들을 표시하는 모션 벡터들을 생성할 수도 있다. PU 의 모션 정보는 PU 의 모션 벡터들 및 레퍼런스 인덱스들을 포함할 수도 있다. 모션 보상 유닛 (124) 은 PU 의 모션 벡터들에 의해 표시된 레퍼런스 위치들에서의 실제 또는 보간된 샘플들에 적어도 부분적으로 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
인트라 예측 프로세싱 유닛 (126) 은 PU 에 대해 인트라 예측을 수행함으로써 PU 에 대한 예측 데이터를 생성할 수도 있다. PU 에 대한 예측 데이터는, PU 에 대한 예측 블록들 및 다양한 신택스 엘리먼트들을 포함할 수도 있다. 인트라 예측 프로세싱 유닛 (126) 은 I 슬라이스들, P 슬라이스들, 및 B 슬라이스들에 있어서 PU들에 대해 인트라 예측을 수행할 수도 있다.
PU 에 대해 인트라 예측을 수행하기 위해, 인트라 예측 프로세싱 유닛 (126) 은 다중의 인트라 예측 모드들을 이용하여, PU 에 대한 예측 블록들의 다중의 세트들을 생성할 수도 있다. 특정 인트라 예측 모드를 이용하여 인트라 예측을 수행할 경우, 인트라 예측 프로세싱 유닛 (126) 은 이웃 블록들로부터의 샘플들의 특정 세트를 이용하여 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들의 예측 블록들의 사이즈들 및 포지션들에 기초할 수도 있거나 기초하지 않을 수도 있다.
변환 프로세싱 유닛 (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) 은 하나 이상의 디블록킹 (deblocking) 동작들을 수행하여, CU 와 연관된 코딩 블록들에서의 블록킹 아티팩트들을 감소시킬 수도 있다. 디코딩된 픽처 버퍼 (116) 는, 필터 유닛 (114) 이 복원된 코딩 블록들에 대해 하나 이상의 디블록킹 동작들을 수행한 이후 복원된 코딩 블록들을 저장할 수도 있다. 인터 예측 프로세싱 유닛 (120) 은 복원된 코딩 블록들을 포함하는 레퍼런스 픽처를 이용하여, 다른 픽처들의 PU들에 대해 인터 예측을 수행할 수도 있다. 부가적으로, 인트라 예측 프로세싱 유닛 (126) 은 디코딩된 픽처 버퍼 (116) 에 있어서의 복원된 코딩 블록들을 이용하여, CU 와 동일한 픽처에 있어서의 다른 PU들에 대해 인트라 예측을 수행할 수도 있다.
엔트로피 인코딩 유닛 (118) 은 비디오 인코더 (20) 의 다른 기능 컴포넌트들로부터 데이터를 수신할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 양자화 유닛 (106) 으로부터 계수 블록들을 수신할 수도 있고, 예측 프로세싱 유닛 (100) 으로부터 신택스 엘리먼트들을 수신할 수도 있다. 엔트로피 인코딩 유닛 (118) 은 데이터에 대해 하나 이상의 엔트로피 인코딩 동작들을 수행하여 엔트로피 인코딩된 데이터를 생성할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 컨텍스트 적응형 가변 길이 코딩 (CAVLC) 동작, CABAC 동작, V2V (variable-to-variable) 길이 코딩 동작, 신택스 기반 컨텍스트 적응형 바이너리 산술 코딩 (SBAC) 동작, 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩 동작, 지수-골롬 인코딩 동작, 또는 다른 타입의 엔트로피 인코딩 동작을 데이터에 대해 수행할 수도 있다. 비디오 인코더 (20) 는 엔트로피 인코딩 유닛 (118) 에 의해 생성된 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수도 있다.
도 3 은 본 개시의 기술들을 구현하도록 구성된 예시적인 비디오 디코더 (30) 를 도시한 블록 다이어그램이다. 도 3 은 설명의 목적들로 제공되며, 본 개시에 대체로 예시화되고 설명된 바와 같은 기술들에 대해 한정하는 것은 아니다. 설명의 목적들로, 본 개시는 HEVC 코딩의 컨텍스트에 있어서의 비디오 디코더 (30) 를 설명한다. 하지만, 본 개시의 기술들은 다른 코딩 표준들 또는 방법들에 적용가능할 수도 있다.
도 3 의 예에 있어서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (150), 예측 프로세싱 유닛 (152), 역양자화 유닛 (154), 역변환 프로세싱 유닛 (156), 복원 유닛 (158), 필터 유닛 (160), 및 디코딩된 픽처 버퍼 (162) 를 포함한다. 예측 프로세싱 유닛 (152) 은 모션 보상 유닛 (164) 및 인트라 예측 프로세싱 유닛 (166) 을 포함한다. 다른 예들에 있어서, 비디오 디코더 (30) 는 더 많거나, 더 적거나, 또는 상이한 기능 컴포넌트들을 포함할 수도 있다.
코딩된 픽처 버퍼 (CPB) (151) 는 비트스트림의 인코딩된 비디오 데이터 (예를 들어, NAL 유닛들) 를 수신 및 저장할 수도 있다. 엔트로피 디코딩 유닛 (150) 은 NAL 유닛들을 CPB (151) 로부터 수신하고, NAL 유닛들을 파싱하여 비트스트림으로부터 신택스 엘리먼트들을 획득할 수도 있다. 엔트로피 디코딩 유닛 (150) 은 NAL 유닛들에 있어서의 엔트로피 인코딩된 신택스 엘리먼트들을 엔트로피 디코딩할 수도 있다. 예측 프로세싱 유닛 (152), 역양자화 유닛 (154), 역변환 프로세싱 유닛 (156), 복원 유닛 (158), 및 필터 유닛 (160) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 디코딩된 비디오 데이터를 생성할 수도 있다.
비트스트림의 NAL 유닛들은 코딩된 슬라이스 NAL 유닛들을 포함할 수도 있다. 비트스트림을 디코딩하는 부분으로서, 엔트로피 디코딩 유닛 (150) 은 코딩된 슬라이스 NAL 유닛들로부터 신택스 엘리먼트들을 추출 및 엔트로피 디코딩할 수도 있다. 디코딩된 슬라이스들 각각은 슬라이스 헤더 및 슬라이스 데이터를 포함할 수도 있다. 슬라이스 헤더는 슬라이스에 관련된 신택스 엘리먼트들을 포함할 수도 있다.
비트스트림으로부터 신택스 엘리먼트들을 디코딩하는 것에 부가하여, 비디오 디코더 (30) 는 CU 에 대해 디코딩 동작을 수행할 수도 있다. CU 에 대해 디코딩 동작을 수행함으로써, 비디오 디코더 (30) 는 CU 의 코딩 블록들을 복원할 수도 있다.
CU 에 대해 디코딩 동작을 수행하는 부분으로서, 역양자화 유닛 (154) 은 CU 의 TU들과 연관된 계수 블록들을 역양자화, 즉, 탈양자화할 수도 있다. 역양자화 유닛 (154) 은 TU 의 CU 와 연관된 QP 값을 이용하여, 양자화도 및 유사하게, 적용할 역양자화 유닛 (154) 에 대한 역양자화도를 결정할 수도 있다. 즉, 압축 비율, 즉, 오리지널 시퀀스 및 압축된 시퀀스를 나타내는데 사용된 비트들의 수의 비율은, 변환 계수들을 양자화할 경우에 사용된 QP 의 값을 조정함으로써 제어될 수도 있다. 압축 비율은 또한, 채용된 엔트로피 코딩의 방법에 의존할 수도 있다.
역양자화 유닛 (154) 이 계수 블록을 역양자화한 이후, 역변환 프로세싱 유닛 (156) 은 TU 와 연관된 잔차 블록을 생성하기 위해 계수 블록에 하나 이상의 역변환들을 적용할 수도 있다. 예를 들어, 역변환 프로세싱 유닛 (156) 은 역 DCT, 역 정수 변환, 역 KLT (Karhunen-Loeve transform), 역 회전 변환, 역 지향성 변환, 또는 다른 역변환을 계수 블록에 적용할 수도 있다.
PU 가 인트라 예측을 이용하여 인코딩되면, 인트라 예측 프로세싱 유닛 (166) 은 인트라 예측을 수행하여 PU 에 대한 예측 블록들을 생성할 수도 있다. 인트라 예측 프로세싱 유닛 (166) 은 인트라 예측 모드를 이용하여, 공간적으로 이웃하는 PU들의 예측 블록들에 기초하여 PU 에 대한 예측 루마, Cb, 및 Cr 블록들을 생성할 수도 있다. 인트라 예측 프로세싱 유닛 (166) 은 비트스트림으로부터 디코딩된 하나 이상의 신택스 엘리먼트들에 기초하여 PU 에 대한 인트라 예측 모드를 결정할 수도 있다.
예측 프로세싱 유닛 (152) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 제 1 레퍼런스 픽처 리스트 (RefPicList0) 및 제 2 레퍼런스 픽처 리스트 (RefPicList1) 를 구성할 수도 있다. 더욱이, PU 가 인터 예측을 이용하여 인코딩되면, 엔트로피 디코딩 유닛 (150) 은 PU 에 대한 모션 정보를 획득할 수도 있다. 모션 보상 유닛 (164) 은, PU 의 모션 정보에 기초하여, PU 에 대한 하나 이상의 레퍼런스 영역들을 결정할 수도 있다. 모션 보상 유닛 (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들에 대해 인트라 예측 또는 인터 예측 동작들을 수행할 수도 있다. 이러한 방식으로, 비디오 디코더 (30) 는, 비트스트림으로부터, 유효 루마 계수 블록의 변환 계수 레벨들을 추출하고, 변환 계수 레벨들을 역양자화하고, 변환 계수 레벨들에 변환을 적용하여 변환 블록을 생성하고, 변환 블록에 적어도 부분적으로 기초하여, 코딩 블록을 생성하며, 디스플레이를 위해 코딩 블록을 출력할 수도 있다.
일부 예들에 있어서, (비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스와 같은) 비디오 프로세서는 비트스트림 부합성 테스트를 수행하여, 비트스트림이 비디오 코딩 규격에 부합하는지 여부를 결정할 수도 있다. 이러한 비트스트림은 BitstreamToDecode 또는 디코딩할 비트스트림으로서 지칭될 수도 있다. BitstreamToDecode 는 비디오 프로세서에 의해 수신된 비트스트림 또는 비디오 프로세서에 의해 수신된 비트스트림의 서브-비트스트림과 동일할 수도 있다. HEVC 워킹 드래프트 9 의 하위절 C.1 은 HEVC 의 HRD 그리고 비트스트림 및 디코더 부합성을 체크하기 위한 HRD 의 이용을 기술한다. 구체적으로, HEVC 워킹 드래프트 9 의 하위절 C.1 은 비트스트림 부합성 테스트에 적용된 순서화된 단계들의 시리즈를 명시한다. 본 개시의 하나 이상의 예시적인 기술들에 따르면, 순서화된 단계들의 이러한 시리즈를 기술하는 HEVC 워킹 드래프트 9 의 하위절 C.1 의 부분은, 비-네스팅된 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들 및 디코딩 유닛 정보 SEI 메시지들이 HRD 동작들에서의 이용을 위해 선택될 수 있도록 다음과 같이 변경된다:
다중의 테스트들이 비트스트림의 부합성을 체크하기 위해 필요할 수도 있으며, 이는 다음에서 테스트 대상 비트스트림으로서 지칭된다. 각각의 테스트에 대해, 다음의 단계들이 열거된 순서로 적용된다:
1. TargetOp 로서 표기된 테스트 대상 동작 포인트가 선택된다. TargetOp 의 OpLayerIdSet 는 TargetOp 와 연관된 비트스트림 서브세트에 존재하는 nuh_reserved_zero_6bits 값들의 세트를 포함하며, 이는 테스트 대상 비트스트림에 존재하는 nuh_reserved_zero_6bits 값들의 서브세트이다. TargetOp 의 OpTid 는 TargetOp 와 연관된 비트스트림 서브세트에 존재하는 최고의 TemporalId 와 동일하다.
2. TargetDecLayerIdSet 는 TargetOp 의 OpLayerIdSet 로 설정되고, HighestTid 는 TargetOp 의 OpTid 로 설정되고, BitstreamToDecode 는 TargetOp 와 연관된 비트스트림 서브세트, 즉, 입력들로서 테스트 대상 비트스트림, HighestTid 및 TargetDecLayerIdSet 를 갖는 HEVC 워킹 드래프트 9 의 하위절 10.1 에서 명시된 바와 같은 서브-비트스트림 추출 프로세스의 출력으로 설정된다.
3. TargetOp 에 적용가능한 hrd_parameters() 신택스 구조 및 sub_layer_hrd_parameters() 신택스 구조가 선택된다. TargetDecLayerIdSet 가 테스트 대상 비트스트림에 존재하는 모든 nuh_reserved_zero_6bits 값들을 포함하면, 활성 시퀀스 파라미터 세트에 있어서의 (또는 이 규격에서 명시되지 않은 외부 수단을 통해 제공된) hrd_parameters() 신택스 구조가 선택된다. 그렇지 않으면, TargetOp 에 적용하는 활성 비디오 파라미터 세트에 있어서의 (또는 이 규격에서 명시되지 않은 일부 외부 수단을 통해 제공된) hrd_parameters() 신택스 구조가 선택된다. 선택된 hrd_parameters() 신택스 구조 내에서, BitstreamToDecode 가 타입 I 비트스트림이면, 조건 "if(vcl_hrd_parameters_present_flag)" 을 즉시 따르는 sub_layer_hrd_parameters(HighestTid) 신택스 구조가 선택되고 변수 NalHrdModeFlag 는 0 과 동일하게 설정되고; 그렇지 않고 (BitstreamToDecode 가 타입 II 비트스트림이면), 조건 "if(vcl_hrd_parameters_present_flag)" (이 경우, 변수 NalHrdModeFlag 는 0 과 동일하게 설정됨) 또는 조건 "if(nal_hrd_parameters_present_flag)" (이 경우, 변수 NalHrdModeFlag 는 1 과 동일하게 설정됨) 중 어느 하나를 즉시 따르는 sub_layer_hrd_parameters(HighestTid) 신택스 구조가 선택된다. BitstreamToDecode 가 타입 II 비트스트림이고 NalHrdModeFlag 가 0 과 동일할 경우, 필러 데이터 NAL 유닛들을 제외한 모든 비-VLC NAL 유닛들은 BitstreamToDecode 로부터 폐기되고, 나머지 비트스트림은 BitstreamToDecode 에 할당된다.
4. TargetOp 에 적용가능한 (
Figure pct00003
BitstreamToDecode 에 존재하거나 또는 이 규격에서 명시되지 않은 외부 수단을 통해 이용가능한) 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛이 HRD 초기화 포인트로서 선택되고 액세스 유닛 0 으로서 지칭된다.
5. 액세스 유닛 0 으로부터 시작하는 BitstreamToDecode 에서의 각각의 액세스 유닛에 대해, 액세스 유닛과 연관되고 TargetOp 에 적용하는 (
Figure pct00004
BitstreamToDecode 에 존재하거나 또는 이 규격에서 명시되지 않은 외부 수단을 통해 이용가능한) 버퍼링 주기 SEI 메시지가 선택되고, 액세스 유닛과 연관되고 TargetOp 에 적용하는 (
Figure pct00005
BitstreamToDecode 에 존재하거나 또는 이 규격에서 명시되지 않은 외부 수단을 통해 이용가능한) 픽처 타이밍 SEI 메시지가 선택되며, SubPicCpbFlag 가 1 과 동일하고 sub_pic_cpb_params_in_pic_timing_sei_flag 가 0 과 동일할 경우, 액세스 유닛에서의 디코딩 유닛들과 연관되고 TargetOp 에 적용하는 (
Figure pct00006
BitstreamToDecode 에 존재하거나 또는 이 규격에서 명시되지 않은 외부 수단을 통해 이용가능한) 디코딩 유닛 정보 SEI 메시지들이 선택된다.
6. SchedSelIdx 의 값이 선택된다. 선택된 SchedSelIdx 는 0 내지 cpb_cnt_minus1[HighestTid] 의 범위에 있을 것이고, 여기서, cpb_cnt_minus1[HighestTid] 는 상기 선택된 바와 같은 sub_layer_hrd_parameters(HighestTid) 신택스 구조에서 구해진다.
7. 액세스 유닛 0 에서의 코딩된 픽처가 CRA_NUT 또는 BLA_W_LP 와 동일한 nal_unit_type 을 갖고 선택된 버퍼링 주기 SEI 메시지에서의 rap_cpb_params_present_flag 가 1 과 동일할 경우, 다음 중 어느 하나가 초기 CPB 제거 지연 및 지연 오프셋의 선택을 위해 적용된다.
- initial_cpb_removal_delay[SchedSelIdx] 및 initial_cpb_removal_offset[SchedSelIdx] 에 의해 표현된 디폴트 초기 CPB 제거 지연 및 지연 오프셋은 상기 단계 3 하에서 명시된 바와 같은 NalHrdModeFlag 에 의존하여 선택되고, 변수 DefaultInitCpbParamsFlag 는 1 과 동일하게 설정된다.
- initial_alt_cpb_removal_delay[SchedSelIdx] 및 initial_alt_cpb_removal_offset[SchedSelIdx] 에 의해 표현된 대안적인 초기 CPB 제거 지연 및 지연 오프셋은 상기 단계 3 하에서 명시된 바와 같은 NalHrdModeFlag 에 의존하여 선택되고, 변수 DefaultInitCpbParamsFlag 는 0 과 동일하게 설정되고, 액세스 유닛 0 과 연관된 RASL 액세스 유닛들은 BitstreamToDecode 로부터 폐기되며 나머지 비트스트림은 여전히 BitstreamToDecode 에 할당된다.
8. 선택된 hrd_parameters() 신택스 구조에서의 sub_pic_cpb_params_present_flag 가 1 과 동일할 경우, CPB 는 액세스 유닛 레벨 (이 경우, 변수 SubPicCpbFlag 는 0 과 동일하게 설정됨) 에서 또는 서브-픽처 레벨 (이 경우, 변수 SubPicCpbFlag 는 1 과 동일하게 설정됨) 에서 동작하도록 스케줄링된다.
상기 텍스트의 취소선 부분들은, 본 개시의 기술들에 따라, HEVC 워킹 드래프트 9 의 하위절 C.1 로부터 제거된 텍스트를 나타낸다. 상기 나타낸 바와 같이, 버퍼링 주기 SEI 메시지들은 HRD 동작들의 초기 지연들을 나타낸다. 취소선 부분들을 제거하는 것의 결과로서, 비디오 프로세서는, 버퍼링 주기 SEI 메시지가 스케일러블 네스팅 SEI 메시지에 있는지 여부와 무관하게, 단계 4 에서, TargetOp 에 적용가능한 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛을 HRD 초기화 포인트로서 선택할 수도 있다. TargetOp 는 BitstreamToDecode 에서의 계층 식별자들의 세트이다. 따라서, 비-네스팅된 버퍼링 주기 SEI 메시지가 TargetOp 에 적용가능할 경우, 비디오 프로세서는 비-네스팅된 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛을 HRD 초기화 포인트로서 선택할 수도 있다. 비디오 프로세서는 선택된 액세스 유닛에서 HRD 를 초기화할 수도 있다. HRD 초기화 포인트는 또한 액세스 유닛 0 으로서 지칭될 수도 있다. HRD 초기화 포인트는, HRD 동작 동안 평가되는 제 1 액세스 유닛일 수도 있다.
유사하게, 단계 5 에서, 비디오 프로세서는, 버퍼링 주기 SEI 메시지가 스케일러블 네스팅 SEI 메시지에 있는지 여부와 무관하게 버퍼링 주기 SEI 메시지를 선택할 수도 있다. 더욱이, 단계 5 에서, 비디오 프로세서는, 픽처 타이밍 SEI 메시지가 스케일러블 네스팅 SEI 메시지에 있는지 여부와 무관하게 픽처 타이밍 SEI 메시지를 선택할 수도 있다. 더욱이, 단계 5 에서, 비디오 프로세서는, 디코딩 유닛 정보 SEI 메시지가 버퍼링 주기 SEI 메시지에 있는지 여부와 무관하게 디코딩 유닛 정보 SEI 메시지를 선택할 수도 있다. 따라서, 비디오 프로세서는 비트스트림으로부터 비-네스팅된 SEI 메시지를 획득할 수도 있으며, 여기서, 비-네스팅된 SEI 메시지는 버퍼링 주기 SEI 메시지, 픽처 타이밍 SEI 메시지, 또는 디코딩 유닛 SEI 메시지이다. 더욱이, 디코딩할 비트스트림에서의 각각의 개별 액세스 유닛에 대해, 비디오 프로세서는, 비-네스팅된 SEI 메시지가 액세스 유닛과 연관되고 비-네스팅된 SEI 메시지가 디코딩할 비트스트림에서의 계층 식별자들의 세트에 적용가능할 경우 개별 액세스 유닛에 대한 비-네스팅된 SEI 메시지를 선택할 수도 있다. 비디오 프로세서는 개별 액세스 유닛에 관하여 HRD 동작에서의 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들을 이용할 수도 있다.
상기 나타낸 바와 같이, 비-네스팅된 SEI 메시지들의 일부 타입들 (예를 들어, 버퍼링 주기 SEI 메시지들, 픽처 타이밍 SEI 메시지들, 디코딩 유닛 정보 SEI 메시지들 등) 은 특정 동작 포인트들에 적용가능하다. 더욱이, 비-네스팅된 SEI 메시지들의 일부 타입들은 특정 계층들에 적용가능하다. 본 개시의 하나 이상의 기술들에 따르면, 다음은 비-네스팅된 SEI 메시지들의 특정 타입들에 대한 적용가능한 동작 포인트들 또는 계층들을 명시한다.
비디오 프로세서는 비트스트림으로부터 비-네스팅된 SEI 메시지를 획득할 수도 있다. 부가적으로, 비디오 프로세서는, 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들에 기초하여, 비-네스팅된 SEI 메시지에 대한 페이로드 타입 변수 (예를 들어, "payloadType") 를 결정할 수도 있다. 비-네스팅된 SEI 메시지의 payloadType 이 0 과 동일 (즉, 비-네스팅된 SEI 메시지가 버퍼링 주기 SEI 메시지) 하거나, 비-네스팅된 SEI 메시지의 payloadType 이 1 과 동일 (즉, 비-네스팅된 SEI 메시지가 픽처 타이밍 SEI 메시지) 하거나, 또는 비-네스팅된 SEI 메시지의 payloadType 이 130 과 동일 (즉, 비-네스팅된 SEI 메시지가 디코딩 유닛 정보 SEI 메시지) 하면, 비-네스팅된 SEI 메시지는, 비-네스팅된 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_temporal_id_plus1 마이너스 1 과 동일한 OpTid 를 갖고 그리고 0 부터 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_reserved_zero_6bits 까지의 범위의 모든 정수 값들을 포함하는 OpLayerIdSet 를 갖는 동작 포인트에 적용가능하다. 그렇지 않으면, 비-네스팅된 SEI 메시지의 payloadType 이 2, 3, 6, 9, 15, 16, 17, 19, 22, 23, 45, 47, 128, 129, 131, 또는 134 와 동일할 경우, 비-네스팅된 SEI 메시지는, VCL NAL 유닛들이 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_reserved_zero_6bits 와 동일한 nuh_reserved_zero_6bits 을 갖는 계층에 적용가능하고, SEI 메시지를 포함하는 SEI NAL 유닛의 TemporalId 는 SEI 메시지를 포함하는 액세스 유닛의 TemporalId 와 동일할 것이다. 일부 예들에 있어서, 버퍼링 주기 SEI 메시지, 픽처 타이밍 SEI 메시지 또는 디코딩 유닛 정보 SEI 메시지가 네스팅된 SEI 메시지로서 존재할 경우, (동일한 콘텐츠를 갖는) 동일한 SEI 메시지는 비-네스팅된 SEI 메시지로서 동시에 복제되지 않는다.
본 개시의 다른 예시적인 기술들에 따르면, 비-네스팅된 SEI 메시지들의 각각의 타입에 대해 적용가능한 동작 포인트들 또는 계층들이 다음과 같이 명시된다. 비-네스팅된 SEI 메시지의 payloadType 이 0 과 동일 (즉, 비-네스팅된 SEI 메시지가 버퍼링 주기 SEI 메시지) 하거나, 비-네스팅된 SEI 메시지의 payloadType 이 1 과 동일 (즉, 비-네스팅된 SEI 메시지가 픽처 타이밍 SEI 메시지) 하거나, 또는 비-네스팅된 SEI 메시지의 payloadType 이 130 과 동일 (즉, 비-네스팅된 SEI 메시지가 디코딩 유닛 정보 SEI 메시지) 하면, 비-네스팅된 SEI 메시지는, 비-네스팅된 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_temporal_id_plus1 마이너스 1 과 동일한 OpTid 를 갖고 그리고 0 부터 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_reserved_zero_6bits 까지의 범위의 모든 정수 값들을 포함하는 OpLayerIdSet 를 갖는 동작 포인트에 적용가능하다. 그렇지 않으면, 비-네스팅된 SEI 메시지의 payloadType 이 2, 3, 6, 9, 15, 16, 17, 19, 22, 23, 45, 47, 128, 129, 131, 134 와 동일할 경우, 비-네스팅된 SEI 메시지는, VCL NAL 유닛들이 SEI 메시지를 포함하는 SEI NAL 유닛의 nuh_reserved_zero_6bits 보다 크거나 같은 nuh_reserved_zero_6bits 을 갖는 계층에 적용가능하고, SEI 메시지를 포함하는 SEI NAL 유닛의 TemporalId 는 SEI 메시지를 포함하는 액세스 유닛의 TemporalId 와 동일할 것이다. 동일한 액세스 유닛에 있어서 SEI 메시지들을 포함하는 SEI NAL 유닛들에서 nuh_reserved_zero_6bits 의 상이한 값들과 연관된 동일 타입의 임의의 2개의 비-네스팅된 SEI 메시지들에 대해, nuh_reserved_zero_6bits 의 더 큰 값과 연관된 비-네스팅된 SEI 메시지는 VCL NAL 유닛들이 nuh_reserved_zero_6bits 의 더 큰 값보다 크거나 같은 nuh_reserved_zero_6bits 를 갖는 계층들에 적용가능하다. 일부 예들에 있어서, 버퍼링 주기 SEI 메시지, 픽처 타이밍 SEI 메시지 또는 디코딩 유닛 정보 SEI 메시지가 네스팅된 SEI 메시지로서 존재할 경우, (동일한 콘텐츠를 갖는) 동일한 SEI 메시지는 비-네스팅된 SEI 메시지로서 동시에 복제되지 않아야 한다.
도 4 는 본 개시의 하나 이상의 기술들에 따른, 비디오 프로세싱 디바이스의 예시적인 동작 (200) 을 도시한 플로우차트이다. 도 4 의 예에 있어서, (비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스와 같은) 비디오 프로세서는, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 비트스트림에 있어서 다른 SEI 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득할 수도 있다 (202). 더욱이, 비디오 프로세서는, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층을 결정할 수도 있으며, 여기서, 비-네스팅된 SEI 메시지는, 비트스트림의 VCL NAL 유닛들이 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하다 (204). SEI NAL 유닛의 시간 식별자는 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일하다. 부가적으로, 비디오 프로세서는, 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 비-네스팅된 SEI 메시지가 적용가능한 비트스트림의 계층의 비디오 데이터를 프로세싱할 수도 있다 (206).
도 5 는 비트스트림 부합성 테스트의 부분을 수행하기 위한 예시적인 동작 (250) 을 도시한 플로우차트이다. 도 5 의 예에 있어서, 비디오 프로세서 (예를 들어, 비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스) 는 테스트 대상 동작 포인트 (즉, "TargetOp") 를 선택할 수도 있다 (252). TargetOp 의 계층 식별자 세트 (즉, OpLayerIdSet) 는 TargetOp 와 연관된 비트스트림 서브세트에 존재하는 nuh_reserved_zero_6bits 값들의 세트를 포함하며, 이는 테스트 대상 비트스트림에 존재하는 nuh_reserved_zero_6bits 값들의 서브세트이다.
더욱이, 비디오 프로세서는 TargetDecLayerIdSet, HighestTid, 및 BitstreamToDecode 를 설정할 수도 있다 (254). 일부 예들에 있어서, 비디오 프로세서는 TargetDecLayerIdSet 를 TargetOp 의 OpLayerIdSet 로 설정할 수도 있다. 더욱이, 비디오 프로세서는 HighestTid 를, TargetOp 와 연관된 비트스트림 서브세트에 존재하는 최고의 시간 식별자로 설정할 수도 있다. 부가적으로, 비디오 프로세서는 BitstreamToDecode 를, TargetOp 와 연관된 비트스트림 서브세트로 설정할 수도 있다.
다음으로, 비디오 프로세서는 TargetOp 에 적용가능한 hrd_parameters() 신택스 구조 및 sub_layer_hrd_parameters() 신택스 구조를 선택할 수도 있다 (256). 일부 예들에 있어서, TargetDecLayerIdSet 가 테스트 대상 비트스트림에 존재하는 모든 nuh_reserved_zero_6bits 값들을 포함하면, 비디오 프로세서는 활성 시퀀스 파라미터 세트에 있어서의 (또는 외부 수단을 통해 제공된) hrd_parameters() 신택스 구조를 선택한다. 그렇지 않으면, 비디오 프로세서는 TargetOp 에 적용가능한 활성 비디오 파라미터 세트에 있어서의 (또는 일부 외부 수단을 통해 제공된) hrd_parameters() 신택스 구조를 선택할 수도 있다. 선택된 hrd_parameters() 신택스 구조 내에서, BitstreamToDecode 가 타입 I 비트스트림이면, 비디오 프로세서는 조건 "if(vcl_hrd_parameters_present_flag)" 을 즉시 따르는 sub_layer_hrd_parameters(HighestTid) 신택스 구조를 선택할 수도 있으며, 비디오 프로세서는 변수 NalHrdModeFlag 가 0 과 동일하게 설정되도록 설정될 수도 있다. 그렇지 않으면 (즉, BitstreamToDecode 가 타입 II 비트스트림이면), 비디오 프로세서는 조건 "if(vcl_hrd_parameters_present_flag)" (이 경우, 변수 NalHrdModeFlag 는 0 과 동일하게 설정됨) 또는 조건 "if(nal_hrd_parameters_present_flag)" (이 경우, 변수 NalHrdModeFlag 는 1 과 동일하게 설정됨) 중 어느 하나를 즉시 따르는 sub_layer_hrd_parameters(HighestTid) 신택스 구조를 선택한다. BitstreamToDecode 가 타입 II 비트스트림이고 NalHrdModeFlag 가 0 과 동일할 경우, 비디오 프로세서는 필러 데이터 NAL 유닛들을 제외한 모든 비-VLC NAL 유닛들을 BitstreamToDecode 로부터 폐기할 수도 있고, 비디오 프로세서는 나머지 비트스트림을 BitstreamToDecode 에 할당할 수도 있다.
더욱이, 비디오 프로세서는 TargetOp 에 적용가능한 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛을, 액세스 유닛 0 (즉, HRD 초기화 포인트) 으로서, 선택할 수도 있다 (258). 본 개시의 하나 이상의 예시적인 기술들에 따르면, 비디오 프로세서는 버퍼링 주기 SEI 메시지가 스케일러블 네스팅 SEI 메시지에서의 BitstreamToDecode 에 존재하는지 또는 비-네스팅된 버퍼링 주기 SEI 메시지로서 BitstreamToDecode 에 존재하는지 여부에 무관하게 버퍼링 주기 SEI 메시지를 선택할 수도 있다.
다음으로, 액세스 유닛 0 으로부터 시작하는 BitstreamToDecode 에 있어서 각각의 액세스 유닛에 대해, 비디오 프로세서는, 액세스 유닛과 연관되고 TargetOp 에 적용가능한 버퍼링 주기 SEI 메시지를 선택할 수도 있다 (260). 본 개시의 하나 이상의 예시적인 기술들에 따르면, 비디오 프로세서는 버퍼링 주기 SEI 메시지가 스케일러블 네스팅 SEI 메시지에서의 BitstreamToDecode 에 존재하는지 또는 비-네스팅된 버퍼링 주기 SEI 메시지로서 BitstreamToDecode 에 존재하는지 여부에 무관하게 버퍼링 주기 SEI 메시지를 선택할 수도 있다.
부가적으로, 액세스 유닛 0 으로부터 시작하는 BitstreamToDecode 에 있어서 각각의 액세스 유닛에 대해, 비디오 프로세서는, 액세스 유닛과 연관되고 TargetOp 에 적용가능한 픽처 타이밍 SEI 메시지를 선택할 수도 있다 (262). 본 개시의 하나 이상의 예시적인 기술들에 따르면, 비디오 프로세서는 픽처 타이밍 SEI 메시지가 스케일러블 네스팅 SEI 메시지에서의 BitstreamToDecode 에 존재하는지 또는 비-네스팅된 픽처 타이밍 SEI 메시지로서 BitstreamToDecode 에 존재하는지 여부에 무관하게 픽처 타이밍 SEI 메시지를 선택할 수도 있다.
더욱이, 액세스 유닛 0 으로부터 시작하는 BitstreamToDecode 에 있어서 각각의 액세스 유닛에 대해, SubPicCpbFlag 가 1 과 동일하고 sub_pic_cpb_params_in_pic_timing_sei_flag 가 0 과 동일할 경우, 비디오 프로세서는, 액세스 유닛에서의 디코딩 유닛들과 연관되고 TargetOp 에 적용하는 디코딩 유닛 정보 SEI 메시지를 선택할 수도 있다 (264). 본 개시의 하나 이상의 예시적인 기술들에 따르면, 비디오 프로세서는 디코딩 유닛 정보 SEI 메시지가 스케일러블 네스팅 SEI 메시지들에서의 BitstreamToDecode 에 존재하는지 또는 비-네스팅된 디코딩 유닛 정보 SEI 메시지들로서 BitstreamToDecode 에 존재하는지 여부에 무관하게 디코딩 유닛 정보 SEI 메시지들을 선택할 수도 있다. SubPicCpbFlag 는, CPB 가 액세스 유닛 레벨 또는 서브-픽처 레벨에서 동작하도록 스케줄링되는지 여부를 나타내는 변수이다. sub_pic_cpb_params_in_pic_timing_sei_flag 는, 서브-픽처 CPB 제거 지연 파라미터들이 픽처 타이밍 SEI 메시지들에서 존재하는지 여부 및 디코딩 유닛 정보 SEI 메시지들이 이용가능한지 여부를 나타내는 신택스 엘리먼트이다.
다음으로, 비디오 프로세서는 SchedSelIdx 의 값을 선택할 수도 있다 (266). 선택된 SchedSelIdx 는 0 내지 cpb_cnt_minus1[HighestTid] 의 범위에 있을 것이고, 여기서, cpb_cnt_minus1[HighestTid] 는 상기 선택된 바와 같은 sub_layer_hrd_parameters(HighestTid) 신택스 구조에서 구해진다. cpb_cnt_minus1[] 는 hrd_parameters() 신택스 구조에서의 신택스 엘리먼트들의 어레이이다. cpb_cnt_minus1[i] 는, HighestTid 가 i 와 동일할 경우, 코딩된 비디오 시퀀스의 비트스트림에서의 대안적인 CPB 규격들의 수를 나타낸다.
액세스 유닛 0 에서의 코딩된 픽처가 CRA_NUT 또는 BLA_W_LP 와 동일한 nal_unit_type 을 갖고 선택된 버퍼링 주기 SEI 메시지에서의 rap_cpb_params_present_flag 가 1 과 동일할 경우, 비디오 프로세서는 초기 CPB 제거 지연 및 지연 오프셋을 선택할 수도 있다 (268). 버퍼링 주기 SEI 메시지는 initial_cpb_removal_delay[i] 신택스 엘리먼트들, initial_cpb_removal_offset[i] 신택스 엘리먼트들, 및 rap_cpb_params_present_flag 신택스 엘리먼트를 포함할 수도 있다. rap_cpb_params_present_flag 신택스 엘리먼트는 initial_alt_cpb_removal_delay[i] 및 initial_alt_cpb_removal_offset[i] 신택스 엘리먼트들이 버퍼링 주기 SEI 메시지에 존재하는지 여부를 나타낸다. initial_cpb_removal_delay[i] 및 initial_alt_cpb_removal_delay[i] 는 i번째 CPB 에 대해 각각 디폴트 및 대안적인 초기 CPB 제거 지연들을 명시한다. initial_cpb_removal_offset[i] 및 initial_alt_cpb_removal_offset[i] 는 i번째 CPB 에 대해 각각 디폴트 및 대안적인 초기 CPB 제거 오프셋들을 명시하여, CPB 에 대한 코딩된 데이터 유닛들의 초기 전달 시간을 명시한다.
다음 중 어느 하나는 초기 CPB 제거 지연 및 지연 오프셋의 선택을 위해 적용할 수도 있다. 먼저, 비디오 프로세서는, 상기 명시된 바와 같은 NalHrdModeFlag 에 의존하여, initial_cpb_removal_delay[SchedSelIdx] 및 initial_cpb_removal_offset[SchedSelIdx] 에 의해 표현된 디폴트 초기 CPB 제거 지연 및 지연 오프셋을 선택할 수도 있으며, 변수 DefaultInitCpbParamsFlag 는 1 과 동일하게 설정된다. 둘째, 비디오 프로세서는, 상기 명시된 바와 같은 NalHrdModeFlag 에 의존하여, initial_alt_cpb_removal_delay[SchedSelIdx] 및 initial_alt_cpb_removal_offset[SchedSelIdx] 에 의해 표현된 대안적인 초기 CPB 제거 지연 및 지연 오프셋을 선택할 수도 있고, 변수 DefaultInitCpbParamsFlag 는 0 과 동일하게 설정되고, 액세스 유닛 0 과 연관된 RASL (Random Access Skipped Leading) 액세스 유닛들은 BitstreamToDecode 로부터 폐기되며 나머지 비트스트림은 여전히 BitstreamToDecode 에 할당된다.
더욱이, 선택된 hrd_parameters() 신택스 구조에서의 sub_pic_cpb_params_present_flag 가 1 과 동일할 경우, 비디오 프로세서는 액세스 유닛 레벨 (이 경우, 변수 SubPicCpbFlag 는 0 과 동일하게 설정됨) 에서 또는 서브-픽처 레벨 (이 경우, 변수 SubPicCpbFlag 는 1 과 동일하게 설정됨) 에서 동작하도록 CPB 를 스케줄링할 수도 있다 (270). sub_pic_cpb_params_present_flag 는 서브-픽처 CPB 제거 지연 파라미터들이 존재하는지 여부 및 CPB 가 액세스 유닛 레벨 또는 서브-픽처 레벨에서 동작할 수도 있는지 여부를 나타내는 hrd_parameters() 신택스 구조에서의 신택스 엘리먼트이다.
하나 이상의 예들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 예를 들어, 통신 프로토콜에 따라 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 데이터 저장 매체 또는 통신 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비-일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시에서 설명된 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 컴퓨터 프로그램 제품이 컴퓨터 판독가능 매체를 포함할 수도 있다.
한정이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 커넥션들, 캐리어파들, 신호들, 또는 다른 일시적 매체를 포함하지 않지만 대신 비-일시적인 유형의 저장 매체로 지향됨을 이해해야 한다. 본 명세서에서 사용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저들을 이용하여 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적된 또는 별도의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본 명세서에서 사용되는 바와 같은 용어 "프로세서" 는 본 명세서에서 설명된 기술들의 구현에 적절한 전술한 구조 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수도 있다. 부가적으로, 일부 양태들에 있어서, 본 명세서에서 설명된 기능은 인코딩 및 디코딩을 위해 구성되고 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시의 기술들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여 매우 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 오히려, 상기 설명된 바와 같이, 다양한 유닛들은 적절한 소프트웨어 및/또는 펌웨어와 함께 상기 설명된 바와 같은 하나 이상의 프로세서들을 포함하여 코덱 하드웨어 유닛으로 결합되거나 상호운용식 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (19)

  1. 비디오 데이터를 프로세싱하는 방법으로서,
    비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 상기 비트스트림에 있어서 다른 보충 인핸스먼트 정보 (SEI) 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하는 단계;
    상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층을 결정하는 단계로서, 상기 비-네스팅된 SEI 메시지는 상기 비트스트림의 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들이 상기 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, 상기 SEI NAL 유닛의 시간 식별자는 상기 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하는 단계; 및
    상기 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층의 비디오 데이터를 프로세싱하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 SEI NAL 유닛은 NAL 유닛 헤더 및 페이로드를 포함하고,
    상기 SEI NAL 유닛의 상기 NAL 유닛 헤더는 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 적어도 포함하고,
    상기 제 1 신택스 엘리먼트는 상기 SEI NAL 유닛의 계층 식별자를 명시하고,
    상기 제 2 신택스 엘리먼트는 상기 SEI NAL 유닛의 시간 식별자를 명시하며, 그리고
    상기 SEI NAL 유닛의 페이로드는 상기 비-네스팅된 SEI 메시지를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  3. 제 1 항에 있어서,
    상기 비-네스팅된 SEI 메시지는,
    출력 픽처들의 픽처 애스펙트비와는 상이한 픽처 애스펙트비로 디스플레이하는 것과 연관된 데이터를 포함하는 팬-스캔 직사각형 SEI 메시지,
    특정 제약들을 충족하도록 비트 레이트를 조정하기 위한 데이터를 포함하는 필러 페이로드 SEI 메시지,
    클린 랜덤 액세스 또는 점진적인 디코딩 리프레시를 위한 정보를 포함하는 복구 포인트 SEI 메시지,
    장면 변경들 및 천이들과 연관된 정보를 포함하는 장면 정보 SEI 메시지,
    비디오 콘텐츠의 스틸 이미지 스냅샷으로서 관련 디코딩된 픽처를 라벨링하기 위한 표시를 포함하는 픽처 스냅샷 SEI 메시지,
    이동 장면보다는 픽처의 품질의 점진적 정세를 나타내는 연속적인 픽처들의 세그먼트의 시작과 연관된 정보를 포함하는 점진적 정세 세그먼트 시작 SEI 메시지,
    상기 연속적인 픽처들의 세그먼트의 종단과 연관된 정보를 포함하는 점진적 정세 세그먼트 종단 SEI 메시지,
    필름 그레인 효과들을 합성하는 것과 연관된 정보를 포함하는 필름 그레인 특성 SEI 메시지,
    사후-필터 설계를 위해 제안된 사후-필터 계수들 또는 상관 정보와 연관된 정보를 포함하는 사후 필터 힌트 SEI 메시지,
    인코딩에서 이용된 또는 가정된 것과는 다른 컬러 공간에 재맵핑하는 것과 연관된 정보를 포함하는 톤 맵핑 정보 SEI 메시지,
    입체 비디오를 상기 비트스트림으로 패킹하는 것과 연관된 정보를 포함하는 프레임 패킹 배열 SEI 메시지,
    상기 출력 픽처들이 디스플레이될 경우 상기 출력 픽처들에 적용될 플립핑 및/또는 회전을 명시하는 정보를 포함하는 디스플레이 배향 SEI 메시지,
    상기 비트스트림의 시간 및 인터 예측 구조를 설명하는 정보를 포함하는 픽처 정보 구조 SEI 메시지,
    활성 파라미터 세트에 대한 정보를 포함하는 활성 파라미터 세트들 SEI 메시지,
    0 과 동일한 시간 식별자들을 갖는 코딩된 픽처들이 손실될 때를 검출하는 것과 연관된 정보를 포함하는 시간 서브-계층 제로 인덱스 SEI 메시지, 또는
    비-네스팅된 SEI 메시지가 적용하는 슬라이스 세그먼트들이 현재 픽처의 리프레시된 영역에 속하는지 여부를 나타내는 정보를 포함하는 영역 리프레시 정보 SEI 메시지
    중 하나인, 비디오 데이터를 프로세싱하는 방법.
  4. 제 3 항에 있어서,
    상기 비디오 데이터를 프로세싱하는 방법은, 상기 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들에 기초하여, 상기 비-네스팅된 SEI 메시지에 대한 페이로드 타입 변수를 결정하는 단계를 더 포함하고,
    상기 비-네스팅된 SEI 메시지에 대한 상기 페이로드 타입 변수는 상기 비-네스팅된 SEI 메시지의 페이로드 타입을 나타내며,
    상기 비-네스팅된 SEI 메시지에 대한 상기 페이로드 타입 변수는 2, 3, 6, 9, 15, 16, 17, 19, 22, 23, 45, 47, 128, 129, 131, 또는 134 와 동일한, 비디오 데이터를 프로세싱하는 방법.
  5. 제 1 항에 있어서,
    상기 비-네스팅된 SEI 메시지는 제 1 비-네스팅된 SEI 메시지이고,
    상기 비디오 데이터를 프로세싱하는 방법은,
    상기 비트스트림으로부터, 가설 레퍼런스 디코더 (HRD) 동작들에 대한 초기 지연들을 나타내는 제 2 비-네스팅된 버퍼링 주기 SEI 메시지를 획득하는 단계,
    상기 제 2 비-네스팅된 버퍼링 주기 SEI 메시지가 TargetOp 에 적용가능할 경우, 상기 제 2 비-네스팅된 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛을 HRD 초기화 포인트로서 선택하는 단계로서, 상기 TargetOp 는 디코딩할 비트스트림에서의 계층 식별자들의 세트이고 상기 디코딩할 비트스트림은 상기 비트스트림 또는 상기 비트스트림의 서브-스트림인, 상기 제 2 비-네스팅된 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛을 선택하는 단계; 및
    선택된 상기 액세스 유닛에서 HRD 를 초기화하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  6. 제 1 항에 있어서,
    상기 비-네스팅된 SEI 메시지는 제 1 비-네스팅된 SEI 메시지이고,
    상기 비디오 데이터를 프로세싱하는 방법은,
    상기 비트스트림으로부터 제 2 비-네스팅된 SEI 메시지를 획득하는 단계로서, 상기 제 2 비-네스팅된 SEI 메시지는 HRD 동작들에 대한 초기 지연들을 나타내는 버퍼링 주기 SEI 메시지, HRD 동작들에 대한 픽처 출력 시간들 및 픽처/서브-픽처 제거 시간들을 나타내는 픽처 타이밍 SEI 메시지, 또는 HRD 동작들에 대한 서브-픽처 제거 시간들을 나타내는 디코딩 유닛 SEI 메시지인, 상기 제 2 비-네스팅된 SEI 메시지를 획득하는 단계, 및
    디코딩할 비트스트림에서의 각각의 개별 액세스 유닛에 대해:
    상기 비-네스팅된 SEI 메시지가 상기 액세스 유닛과 연관되고 상기 비-네스팅 SEI 메시지가 상기 디코딩할 비트스트림에서의 계층 식별자들의 세트에 적용가능할 경우 상기 개별 액세스 유닛에 대한 상기 비-네스팅 SEI 메시지를 선택하는 단계로서, 상기 디코딩할 비트스트림은 상기 비트스트림 또는 상기 비트스트림의 서브-스트림인, 상기 비-네스팅된 SEI 메시지를 선택하는 단계; 및
    상기 개별 액세스 유닛에 관하여 HRD 동작에서의 상기 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들을 이용하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  7. 제 1 항에 있어서,
    상기 비-네스팅된 SEI 메시지는 제 1 비-네스팅된 SEI 메시지이고,
    상기 비디오 데이터를 프로세싱하는 방법은,
    상기 비트스트림으로부터 제 2 비-네스팅된 SEI 메시지를 획득하는 단계로서, 상기 제 2 비-네스팅된 SEI 메시지는 HRD 동작들에 대한 초기 지연들을 나타내는 버퍼링 주기 SEI 메시지, HRD 동작들에 대한 픽처 출력 시간들 및 픽처/서브-픽처 제거 시간들을 나타내는 픽처 타이밍 SEI 메시지, 또는 HRD 동작들에 대한 서브-픽처 제거 시간들을 나타내는 디코딩 유닛 SEI 메시지인, 상기 제 2 비-네스팅된 SEI 메시지를 획득하는 단계;
    상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트를 결정하는 단계로서, 상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 상기 동작 포인트의 모든 NAL 유닛들의 최고의 시간 식별자는, 상기 제 2 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 시간 식별자와 동일하고, 상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 상기 동작 포인트의 모든 NAL 유닛들의 계층 식별자들의 세트는, 0 부터 상기 제 2 비-네스팅된 SEI 메시지를 캡슐화하는 상기 SEI NAL 유닛의 계층 식별자까지의 범위의 모든 정수 값들을 포함한, 상기 동작 포인트를 결정하는 단계; 및
    상기 제 2 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들의 값들에 부분적으로 기초하여, 상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 상기 동작 포인트에 관한 HRD 동작을 수행하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  8. 하나 이상의 프로세서들을 포함하는 비디오 프로세싱 디바이스로서,
    상기 하나 이상의 프로세서들은,
    비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 상기 비트스트림에 있어서 다른 보충 인핸스먼트 정보 (SEI) 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하고;
    상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층을 결정하는 것으로서, 상기 비-네스팅된 SEI 메시지는 상기 비트스트림의 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들이 상기 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, 상기 SEI NAL 유닛의 시간 식별자는 상기 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하며; 그리고
    상기 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층의 비디오 데이터를 프로세싱하도록
    구성되는, 비디오 프로세싱 디바이스.
  9. 제 8 항에 있어서,
    상기 SEI NAL 유닛은 NAL 유닛 헤더 및 페이로드를 포함하고,
    상기 SEI NAL 유닛의 상기 NAL 유닛 헤더는 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 적어도 포함하고,
    상기 제 1 신택스 엘리먼트는 상기 SEI NAL 유닛의 계층 식별자를 명시하고,
    상기 제 2 신택스 엘리먼트는 상기 SEI NAL 유닛의 시간 식별자를 명시하며, 그리고
    상기 SEI NAL 유닛의 페이로드는 상기 비-네스팅된 SEI 메시지를 포함하는, 비디오 프로세싱 디바이스.
  10. 제 8 항에 있어서,
    상기 비-네스팅된 SEI 메시지는,
    출력 픽처들의 픽처 애스펙트비와는 상이한 픽처 애스펙트비로 디스플레이하는 것과 연관된 데이터를 포함하는 팬-스캔 직사각형 SEI 메시지,
    특정 제약들을 충족하도록 비트 레이트를 조정하기 위한 데이터를 포함하는 필러 페이로드 SEI 메시지,
    클린 랜덤 액세스 또는 점진적인 디코딩 리프레시를 위한 정보를 포함하는 복구 포인트 SEI 메시지,
    장면 변경들 및 천이들과 연관된 정보를 포함하는 장면 정보 SEI 메시지,
    비디오 콘텐츠의 스틸 이미지 스냅샷으로서 관련 디코딩된 픽처를 라벨링하기 위한 표시를 포함하는 픽처 스냅샷 SEI 메시지,
    이동 장면보다는 픽처의 품질의 점진적 정세를 나타내는 연속적인 픽처들의 세그먼트의 시작과 연관된 정보를 포함하는 점진적 정세 세그먼트 시작 SEI 메시지,
    상기 연속적인 픽처들의 세그먼트의 종단과 연관된 정보를 포함하는 점진적 정세 세그먼트 종단 SEI 메시지,
    필름 그레인 효과들을 합성하는 것과 연관된 정보를 포함하는 필름 그레인 특성 SEI 메시지,
    사후-필터 설계를 위해 제안된 사후-필터 계수들 또는 상관 정보와 연관된 정보를 포함하는 사후 필터 힌트 SEI 메시지,
    인코딩에서 이용된 또는 가정된 것과는 다른 컬러 공간에 재맵핑하는 것과 연관된 정보를 포함하는 톤 맵핑 정보 SEI 메시지,
    입체 비디오를 상기 비트스트림으로 패킹하는 것과 연관된 정보를 포함하는 프레임 패킹 배열 SEI 메시지,
    상기 출력 픽처들이 디스플레이될 경우 상기 출력 픽처들에 적용될 플립핑 및/또는 회전을 명시하는 정보를 포함하는 디스플레이 배향 SEI 메시지,
    상기 비트스트림의 시간 및 인터 예측 구조를 설명하는 정보를 포함하는 픽처 정보 구조 SEI 메시지,
    활성 파라미터 세트에 대한 정보를 포함하는 활성 파라미터 세트들 SEI 메시지,
    0 과 동일한 시간 식별자들을 갖는 코딩된 픽처들이 손실될 때를 검출하는 것과 연관된 정보를 포함하는 시간 서브-계층 제로 인덱스 SEI 메시지, 또는
    비-네스팅된 SEI 메시지가 적용하는 슬라이스 세그먼트들이 현재 픽처의 리프레시된 영역에 속하는지 여부를 나타내는 정보를 포함하는 영역 리프레시 정보 SEI 메시지
    중 하나인, 비디오 프로세싱 디바이스.
  11. 제 10 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들에 기초하여, 상기 비-네스팅된 SEI 메시지에 대한 페이로드 타입 변수를 결정하도록 구성되고, 상기 비-네스팅된 SEI 메시지에 대한 상기 페이로드 타입 변수는 상기 비-네스팅된 SEI 메시지의 페이로드 타입을 나타내고,
    상기 비-네스팅된 SEI 메시지에 대한 상기 페이로드 타입 변수는 2, 3, 6, 9, 15, 16, 17, 19, 22, 23, 45, 47, 128, 129, 131, 또는 134 와 동일한, 비디오 프로세싱 디바이스.
  12. 제 8 항에 있어서,
    상기 비-네스팅된 SEI 메시지는 제 1 비-네스팅된 SEI 메시지이고,
    상기 하나 이상의 프로세서들은 추가로,
    상기 비트스트림으로부터, 가설 레퍼런스 디코더 (HRD) 동작들에 대한 초기 지연들을 나타내는 제 2 비-네스팅된 버퍼링 주기 SEI 메시지를 획득하고,
    상기 제 2 비-네스팅된 버퍼링 주기 SEI 메시지가 TargetOp 에 적용가능할 경우, 상기 비-네스팅된 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛을 HRD 초기화 포인트로서 선택하는 것으로서, 상기 TargetOp 는 디코딩할 비트스트림에서의 계층 식별자들의 세트이고 상기 디코딩할 비트스트림은 상기 비트스트림 또는 상기 비트스트림의 서브-스트림인, 상기 비-네스팅된 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛을 선택하며; 그리고
    선택된 상기 액세스 유닛에서 HRD 를 초기화하도록
    구성되는, 비디오 프로세싱 디바이스.
  13. 제 8 항에 있어서,
    상기 비-네스팅된 SEI 메시지는 제 1 비-네스팅된 SEI 메시지이고,
    상기 하나 이상의 프로세서들은 추가로,
    상기 비트스트림으로부터 제 2 비-네스팅된 SEI 메시지를 획득하는 것으로서, 상기 제 2 비-네스팅된 SEI 메시지는 HRD 동작들에 대한 초기 지연들을 나타내는 버퍼링 주기 SEI 메시지, HRD 동작들에 대한 픽처 출력 시간들 및 픽처/서브-픽처 제거 시간들을 나타내는 픽처 타이밍 SEI 메시지, 또는 HRD 동작들에 대한 서브-픽처 제거 시간들을 나타내는 디코딩 유닛 SEI 메시지인, 상기 제 2 비-네스팅된 SEI 메시지를 획득하며, 그리고
    디코딩할 비트스트림에서의 각각의 개별 액세스 유닛에 대해:
    상기 비-네스팅된 SEI 메시지가 상기 액세스 유닛과 연관되고 상기 비-네스팅 SEI 메시지가 상기 디코딩할 비트스트림에서의 계층 식별자들의 세트에 적용가능할 경우 상기 개별 액세스 유닛에 대한 상기 비-네스팅 SEI 메시지를 선택하는 것으로서, 상기 디코딩할 비트스트림은 상기 비트스트림 또는 상기 비트스트림의 서브-스트림인, 상기 비-네스팅된 SEI 메시지를 선택하며; 그리고
    상기 개별 액세스 유닛에 관하여 HRD 동작에서의 상기 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들을 이용하도록
    구성되는, 비디오 프로세싱 디바이스.
  14. 제 8 항에 있어서,
    상기 비-네스팅된 SEI 메시지는 제 1 비-네스팅된 SEI 메시지이고,
    상기 하나 이상의 프로세서들은 추가로,
    상기 비트스트림으로부터 제 2 비-네스팅된 SEI 메시지를 획득하는 것으로서, 상기 제 2 비-네스팅된 SEI 메시지는 HRD 동작들에 대한 초기 지연들을 나타내는 버퍼링 주기 SEI 메시지, HRD 동작들에 대한 픽처 출력 시간들 및 픽처/서브-픽처 제거 시간들을 나타내는 픽처 타이밍 SEI 메시지, 또는 HRD 동작들에 대한 서브-픽처 제거 시간들을 나타내는 디코딩 유닛 SEI 메시지인, 상기 제 2 비-네스팅된 SEI 메시지를 획득하고;
    상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 동작 포인트를 결정하는 것으로서, 상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 상기 동작 포인트의 모든 NAL 유닛들의 최고의 시간 식별자는, 상기 제 2 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 시간 식별자와 동일하고, 상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 상기 동작 포인트의 모든 NAL 유닛들의 계층 식별자들의 세트는, 0 부터 상기 제 2 비-네스팅된 SEI 메시지를 캡슐화하는 상기 SEI NAL 유닛의 계층 식별자까지의 범위의 모든 정수 값들을 포함한, 상기 동작 포인트를 결정하며; 그리고
    상기 제 2 비-네스팅된 SEI 메시지의 하나 이상의 신택스 엘리먼트들의 값들에 부분적으로 기초하여, 상기 제 2 비-네스팅된 SEI 메시지에 적용가능한 상기 동작 포인트에 관한 HRD 동작을 수행하도록
    구성되는, 비디오 프로세싱 디바이스.
  15. 제 8 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 비-네스팅된 SEI 메시지에서의 상기 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층의 비디오 데이터를 디코딩하도록 구성되는, 비디오 프로세싱 디바이스.
  16. 비디오 프로세싱 디바이스로서,
    비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 상기 비트스트림에 있어서 다른 보충 인핸스먼트 정보 (SEI) 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하는 수단;
    상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층을 결정하는 수단으로서, 상기 비-네스팅된 SEI 메시지는 상기 비트스트림의 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들이 상기 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, 상기 SEI NAL 유닛의 시간 식별자는 상기 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하는 수단; 및
    상기 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층의 비디오 데이터를 프로세싱하는 수단을 포함하는, 비디오 프로세싱 디바이스.
  17. 제 16 항에 있어서,
    상기 SEI NAL 유닛은 NAL 유닛 헤더 및 페이로드를 포함하고,
    상기 SEI NAL 유닛의 상기 NAL 유닛 헤더는 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 적어도 포함하고,
    상기 제 1 신택스 엘리먼트는 상기 SEI NAL 유닛의 계층 식별자를 명시하고,
    상기 제 2 신택스 엘리먼트는 상기 SEI NAL 유닛의 시간 식별자를 명시하며, 그리고
    상기 SEI NAL 유닛의 페이로드는 상기 비-네스팅된 SEI 메시지를 포함하는, 비디오 프로세싱 디바이스.
  18. 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행될 경우,
    비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 상기 비트스트림에 있어서 다른 보충 인핸스먼트 정보 (SEI) 메시지 내에 네스팅되지 않은 비-네스팅된 SEI 메시지를 획득하고;
    상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층을 결정하는 것으로서, 상기 비-네스팅된 SEI 메시지는 상기 비트스트림의 비디오 코딩 계층 (VCL) 네트워크 추상화 계층 (NAL) 유닛들이 상기 비-네스팅된 SEI 메시지를 캡슐화하는 SEI NAL 유닛의 계층 식별자와 동일한 계층 식별자들을 갖는 계층들에 적용가능하고, 상기 SEI NAL 유닛의 시간 식별자는 상기 SEI NAL 유닛을 포함하는 액세스 유닛의 시간 식별자와 동일한, 상기 비트스트림의 계층을 결정하며; 그리고
    상기 비-네스팅된 SEI 메시지에서의 하나 이상의 신택스 엘리먼트들에 부분적으로 기초하여, 상기 비-네스팅된 SEI 메시지가 적용가능한 상기 비트스트림의 계층의 비디오 데이터를 프로세싱하도록
    비디오 프로세싱 디바이스를 구성하는, 컴퓨터 판독가능 저장 매체.
  19. 제 18 항에 있어서,
    상기 SEI NAL 유닛은 NAL 유닛 헤더 및 페이로드를 포함하고,
    상기 SEI NAL 유닛의 상기 NAL 유닛 헤더는 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 적어도 포함하고,
    상기 제 1 신택스 엘리먼트는 상기 SEI NAL 유닛의 계층 식별자를 명시하고,
    상기 제 2 신택스 엘리먼트는 상기 SEI NAL 유닛의 시간 식별자를 명시하며, 그리고
    상기 SEI NAL 유닛의 페이로드는 상기 비-네스팅된 SEI 메시지를 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020157021121A 2013-01-07 2013-12-26 비디오 코딩에 있어서의 비-네스팅된 sei 메시지들 KR101776448B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361749786P 2013-01-07 2013-01-07
US61/749,786 2013-01-07
US14/036,873 US9521393B2 (en) 2013-01-07 2013-09-25 Non-nested SEI messages in video coding
US14/036,873 2013-09-25
PCT/US2013/077828 WO2014107396A1 (en) 2013-01-07 2013-12-26 Non-nested sei messages in video coding

Publications (2)

Publication Number Publication Date
KR20150104158A true KR20150104158A (ko) 2015-09-14
KR101776448B1 KR101776448B1 (ko) 2017-09-07

Family

ID=51060659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157021121A KR101776448B1 (ko) 2013-01-07 2013-12-26 비디오 코딩에 있어서의 비-네스팅된 sei 메시지들

Country Status (8)

Country Link
US (1) US9521393B2 (ko)
EP (1) EP2941887A1 (ko)
JP (1) JP6235042B2 (ko)
KR (1) KR101776448B1 (ko)
CN (1) CN104919802B (ko)
BR (1) BR112015015802B1 (ko)
TW (1) TWI523492B (ko)
WO (1) WO2014107396A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021054811A1 (ko) * 2019-09-20 2021-03-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374585B2 (en) * 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
EP3058747B1 (en) * 2013-10-15 2019-11-20 Nokia Technologies Oy Scalable video encoding and decoding using syntax element
US9794558B2 (en) * 2014-01-08 2017-10-17 Qualcomm Incorporated Support of non-HEVC base layer in HEVC multi-layer extensions
US9819948B2 (en) * 2014-06-18 2017-11-14 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
CN111901599B (zh) * 2014-06-27 2024-05-14 松下知识产权经营株式会社 再现装置
US9800898B2 (en) 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
EP3010231A1 (en) 2014-10-17 2016-04-20 Thomson Licensing Method for color mapping a video signal based on color mapping data and method of encoding a video signal and color mapping data and corresponding devices
US10536695B2 (en) 2015-09-09 2020-01-14 Qualcomm Incorporated Colour remapping information supplemental enhancement information message processing
US10958989B2 (en) * 2016-02-25 2021-03-23 Synamedia Limited Framework for embedding data in encoded video
EP3226561A1 (en) * 2016-03-31 2017-10-04 Thomson Licensing Method and apparatus for coding a video into a bitstream carrying region-based post processing parameters into an sei nesting message
US10554981B2 (en) * 2016-05-10 2020-02-04 Qualcomm Incorporated Methods and systems for generating regional nesting messages for video pictures
US10582201B2 (en) * 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
US10368099B2 (en) * 2016-08-09 2019-07-30 Qualcomm Incorporated Color remapping information SEI message signaling for display adaptation
GB2554667B (en) * 2016-09-30 2021-10-20 Apical Ltd Image processing
PT3523970T (pt) 2016-10-05 2022-10-07 Dolby Laboratories Licensing Corp Mensagens de informação de volume de cor de origem
US10999605B2 (en) 2017-01-10 2021-05-04 Qualcomm Incorporated Signaling of important video information in file formats
US10764575B2 (en) * 2017-03-03 2020-09-01 Qualcomm Incorporated Coding MCTS-nested SEI messages to exclude other SEI messages that are not MCTS-nested
CN114402623B (zh) * 2019-04-19 2023-06-09 北京达佳互联信息技术有限公司 用于嵌入图像的补充增强信息消息
CN114845112B (zh) * 2019-09-24 2023-04-04 华为技术有限公司 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器
WO2021061391A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Hrd parameters for layer based conformance testing
AU2020320295A1 (en) * 2019-09-24 2022-04-21 Huawei Technologies Co., Ltd. Scalable nesting SEI messages for specified layers
WO2021188810A1 (en) * 2020-03-20 2021-09-23 Bytedance Inc. Constraints on reference picture lists for subpictures
JP2023522224A (ja) 2020-04-20 2023-05-29 バイトダンス インコーポレイテッド 参照ピクチャリスト上の制約
JP2023526375A (ja) * 2020-05-22 2023-06-21 北京字節跳動網絡技術有限公司 サブピクチャサブビットストリーム抽出処理におけるスケーリングウィンドウ
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 字节跳动有限公司 访问单元中图片信息的信令
KR20230020428A (ko) 2020-06-09 2023-02-10 바이트댄스 아이엔씨 서브픽처 서브비트스트림 추출 프로세스에서 추가 향상 정보의 처리
JP2023529421A (ja) * 2020-06-09 2023-07-10 バイトダンス インコーポレイテッド 映像コーディングにおける補足強化情報の制約
KR20230019850A (ko) * 2020-06-09 2023-02-09 바이트댄스 아이엔씨 서브픽처 레벨 및 버퍼링 정보의 시그널링
CN117528004A (zh) * 2020-06-09 2024-02-06 字节跳动有限公司 多层视频比特流的子比特流提取
EP3972269A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Subpicture entity groups in video coding
US20220103847A1 (en) 2020-09-29 2022-03-31 Lemon Inc. Dependent random access point indication in video bitstreams
US11930222B1 (en) * 2021-03-30 2024-03-12 Amazon Technologies, Inc. Encoding video for film grain synthesis
EP4344477A4 (en) * 2021-06-28 2024-05-22 Beijing Bytedance Network Tech Co Ltd IMPROVED SIGNAGE FOR ADDITIONAL IMPROVEMENT INFORMATION
CN114745600B (zh) * 2022-06-10 2022-09-27 中国传媒大学 一种基于sei的视频标签标注方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007148909A1 (en) 2006-06-19 2007-12-27 Lg Electronics, Inc. Method and apparatus for processing a vedeo signal
US8699583B2 (en) * 2006-07-11 2014-04-15 Nokia Corporation Scalable video coding and decoding
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
TWI392368B (zh) 2006-11-17 2013-04-01 Lg Electronics Inc 視訊訊號之解碼方法、解碼裝置及其電腦可讀取媒介
US8199796B2 (en) 2006-12-22 2012-06-12 Newport Media, Inc. Physical layer aware video encoding for mobile TV applications
US9179157B2 (en) 2007-01-05 2015-11-03 Thomson Licensing Hypothetical reference decoder for scalable video coding
MX2009007240A (es) 2007-01-08 2009-08-07 Nokia Corp Sistema y procedimiento para proporcionar y usar señalizacion predeterminada de puntos de interoperabilidad para flujos de medios transcodificados.
KR101741050B1 (ko) 2007-04-17 2017-05-29 톰슨 라이센싱 멀티뷰 비디오 코딩을 위한 가설의 참조 디코더
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
BR122012021796A2 (pt) 2007-10-05 2015-08-04 Thomson Licensing Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc)
TWI353792B (en) 2008-08-07 2011-12-01 Acer Inc Method, program for computer readable media, and p
US9357275B2 (en) 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
KR101678321B1 (ko) * 2012-07-02 2016-11-21 노키아 테크놀로지스 오와이 비디오 코딩을 위한 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021054811A1 (ko) * 2019-09-20 2021-03-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
BR112015015802A2 (pt) 2017-07-11
EP2941887A1 (en) 2015-11-11
US20140192149A1 (en) 2014-07-10
JP2016506695A (ja) 2016-03-03
JP6235042B2 (ja) 2017-11-22
CN104919802A (zh) 2015-09-16
US9521393B2 (en) 2016-12-13
CN104919802B (zh) 2018-10-12
BR112015015802B1 (pt) 2022-09-27
WO2014107396A1 (en) 2014-07-10
TW201440487A (zh) 2014-10-16
KR101776448B1 (ko) 2017-09-07
TWI523492B (zh) 2016-02-21

Similar Documents

Publication Publication Date Title
KR101776448B1 (ko) 비디오 코딩에 있어서의 비-네스팅된 sei 메시지들
KR102054040B1 (ko) 멀티-계층 비디오 코덱들에 대한 멀티-모드 추출의 지원
KR101677867B1 (ko) 비디오 코딩에서 네스트된 sei 메세지들에 대한 서브-비트스트림 적용가능성
KR101984368B1 (ko) 하나 이상의 계층들을 포함하는 파티션과 연관된 프로파일, 티어 및 레벨에 기초하여 디코더의 능력을 결정하는 것에 의해 멀티-계층 비디오 데이터를 디코딩하기 위한 방법 및 디바이스

Legal Events

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