KR20150067319A - 비디오 코딩에서 네스트된 sei 메세지에 적용가능한 동작 포인트들의 식별 - Google Patents

비디오 코딩에서 네스트된 sei 메세지에 적용가능한 동작 포인트들의 식별 Download PDF

Info

Publication number
KR20150067319A
KR20150067319A KR1020157011900A KR20157011900A KR20150067319A KR 20150067319 A KR20150067319 A KR 20150067319A KR 1020157011900 A KR1020157011900 A KR 1020157011900A KR 20157011900 A KR20157011900 A KR 20157011900A KR 20150067319 A KR20150067319 A KR 20150067319A
Authority
KR
South Korea
Prior art keywords
nested sei
sei message
scalable
operating points
syntax element
Prior art date
Application number
KR1020157011900A
Other languages
English (en)
Other versions
KR101719935B1 (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 KR20150067319A publication Critical patent/KR20150067319A/ko
Application granted granted Critical
Publication of KR101719935B1 publication Critical patent/KR101719935B1/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

디바이스는 인코딩된 비디오 비트스트림에서의 스케일러블 네스트형 보충 강화 정보 (SEI) 메세지로부터, 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 디코딩한다. 추가로, 그 디바이스는 네스트된 SEI 메세지가 적용되는 임의의 동작 포인트들에 관한 동작을 수행하기 위해 네스트된 SEI 메세지의 하나 이상의 신택스 엘리먼트들을 사용한다.

Description

비디오 코딩에서 네스트된 SEI 메세지에 적용가능한 동작 포인트들의 식별{IDENTIFICATION OF OPERATION POINTS APPLICABLE TO NESTED SEI MESSAGE IN VIDEO CODING}
본 출원은 2012년 10월 8일자로 출원된 미국 특허 가출원 제61/711,098호를 우선권 주장하며, 그 전체 내용은 참조로 본원에 통합된다.
기술 분야
본 개시물은 비디오 인코딩 및 디코딩에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인휴대 정보단말들 (PDA들), 랩톱 또는 데스크톱 컴퓨터들, 태블릿 컴퓨터들, e-북 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 이른바 "스마트 폰들", 비디오 원격회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함한 넓은 범위의 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263 또는 ITU-T H.264/MPEG-4, 파트 10, 고급 비디오 코딩 (AVC) 에 의해 규정된 표준들, 현재 개발중인 고 효율 비디오 코딩 (High Efficiency Video Coding, HEVC) 표준, 및 이러한 표준들의 확장물들에 기재된 것들과 같은 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 이러한 비디오 압축 기법들을 구현하는 것에 의해 디지털 비디오 정보를 더 효율적으로 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
비디오 압축 기법들은 공간적 (화상 내) 예측 및/또는 시간적 (화상 간) 예측을 수행하여 비디오 시퀀스들에 내재하는 리던던시를 감소시키거나 제거한다. 블록 기반 비디오 코딩의 경우, 비디오 슬라이스 (즉, 비디오 프레임 또는 비디오 프레임의 부분) 가 비디오 블록들로 파티셔닝될 수도 있다. 화상의 인트라 코딩된 (I) 슬라이스에서의 비디오 블록들은 동일한 화상의 이웃 블록들에서의 참조 샘플들에 관한 공간적 예측을 이용하여 인코딩된다. 화상의 인터 코딩된 (P 또는 B) 슬라이스에서의 비디오 블록들은 동일한 화상의 이웃 블록들에서의 참조 샘플들에 관한 공간적 예측 또는 다른 참조 화상들에서의 참조 샘플들에 관한 시간적 예측을 이용할 수도 있다. 화상들은 프레임들이라고 지칭될 수도 있고, 참조 화상들은 참조 프레임들이라고 지칭될 수도 있다.
공간적 또는 시간적 예측은 코딩될 블록에 대한 예측 블록으로 나타나게 된다. 잔차 데이터는 코딩될 원본 블록과 예측 블록 사이의 화소 차이들을 나타낸다. 인터 코딩된 블록이 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터에 따라 인코딩되고, 잔차 데이터는 코딩된 블록 및 예측 블록 사이의 차이를 나타낸다. 인트라 코딩된 블록이 인트라 코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가 압축을 위해, 잔차 데이터는 화소 도메인으로부터 변환 도메인으로 변환될 수도 있으며, 결과적으로 잔차 계수들이 생겨나며, 그 계수들은 그 다음에 양자화될 수도 있다. 처음에는 2차원 어레이로 배열된 양자화된 계수들은, 계수들의 1차원 벡터를 생성하기 위하여 스캐닝될 수도 있고, 엔트로피 코딩이 더 많은 압축을 달성하기 위해 적용될 수도 있다.
멀티뷰 코딩 비트스트림이, 예컨대, 다수의 관점들에서 뷰들을 인코딩함으로써 생성될 수도 있다. 멀티뷰 코딩 양태들을 사용하는 일부 3차원 (3D) 비디오 표준들이 개발되어 있다. 예를 들어, 상이한 뷰들이 3D 비디오를 지원하기 위해 좌측 및 우측 눈 뷰들을 전송할 수도 있다. 대안으로, 일부 3D 비디오 코딩 프로세스들이 이른바 멀티뷰 플러스 깊이 (multiview plus depth) 코딩을 적용할 수도 있다. 멀티뷰 플러스 깊이 코딩에서, 3D 비디오 비트스트림이 텍스처 뷰 성분들뿐만 아니라, 깊이 뷰 성분들도 포함할 수도 있다. 예를 들어, 각각의 뷰는 하나의 텍스처 뷰 성분과 하나의 깊이 뷰 성분을 포함할 수도 있다.
일반적으로, 본 개시물은 가설 참조 디코더 (HRD) 파라미터들의 시그널링 및 비디오 코딩에서 보충 강화 정보 (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 메세지를 인코딩된 비디오 비트스트림에서 시그널링하는 단계를 포함한다.
또 다른 예에서, 본 개시물은 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 스케일러블 네스트형 SEI 메세지를 생성하도록 구성된 하나 이상의 프로세서들을 포함하는 비디오 인코딩 디바이스를 설명한다. 하나 이상의 프로서들은 또한 스케일러블 네스트형 SEI 메세지를 인코딩된 비디오 비트스트림에서 시그널링하도록 구성된다.
또 다른 예에서, 본 개시물은 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 스케일러블 네스트형 SEI 메세지를 생성하는 수단을 포함하는 비디오 인코딩 디바이스를 설명한다. 그 비디오 인코딩 디바이스는 또한 스케일러블 네스트형 SEI 메세지를 인코딩된 비디오 비트스트림에서 시그널링하는 수단을 포함한다.
또 다른 예에서, 본 개시물은 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 명령들은, 비디오 인코딩 디바이스에 의해 실행되는 경우, 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 스케일러블 네스트형 SEI 메세지를 생성하도록 비디오 인코딩 디바이스를 구성한다. 명령들은 또한, 실행되는 경우, 스케일러블 네스트형 SEI 메세지를 인코딩된 비디오 비트스트림에서 시그널링하도록 비디오 인코딩 디바이스를 구성한다.
본 개시물의 하나 이상의 예들의 상세는 첨부 도면들 및 다음의 설명에서 언급된다. 다른 특징들, 목적들, 및 장점들은 상세한 설명, 도면들, 및 청구항들로부터 명확하게 될 것이다.
도 1은 본 개시물에서 설명되는 기법들을 이용할 수도 있는 일 예의 비디오 코딩 시스템을 도시하는 블록도이다.
도 2는 본 개시물에서 설명되는 기법들을 구현할 수도 있는 일 예의 비디오 인코더를 도시하는 블록도이다.
도 3은 본 개시물에서 설명되는 기법들을 구현할 수도 있는 일 예의 비디오 디코더를 도시하는 블록도이다.
도 4는 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더의 일 예의 동작을 도시하는 흐름도이다.
도 5는 본 개시물의 하나 이상의 기법들에 따른, 디바이스의 일 예의 동작을 도시하는 흐름도이다.
도 6은 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더의 일 예의 동작을 도시하는 흐름도이다.
도 7은 본 개시물의 하나 이상의 기법들에 따른, 디바이스의 일 예의 동작을 도시하는 흐름도이다.
도 8은 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더의 일 예의 동작을 도시하는 흐름도이다.
도 9는 본 개시물의 하나 이상의 기법들에 따른, 디바이스의 일 예의 동작을 도시하는 흐름도이다.
비디오 인코더가 인코딩된 비디오 데이터를 포함하는 비트스트림을 생성할 수도 있다. 비트스트림이 인코딩된 비디오 데이터를 포함하기 때문에, 비트스트림은 본원에서 인코딩된 비디오 비트스트림이라고 지칭될 수도 있다. 그 비트스트림은 일련의 네트워크 추상화 계층 (NAL) 유닛들을 포함할 수도 있다. NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들 및 비-VCL NAL 유닛들을 포함할 수도 있다. VCL NAL 유닛들은 화상들의 코딩된 슬라이스들을 포함할 수도 있다. 비-VCL NAL 유닛이, 비디오 파라미터 세트 (VPS), 시퀀스 파라미터 세트 (SPS), 화상 파라미터 세트 (PPS), 보충 강화 정보 (SEI), 또는 다른 유형들의 데이터를 포함할 수도 있다. VPS가, 0 이상의 전체 코딩된 비디오 시퀀스들에 적용되는 신택스 엘리먼트들을 포함할 수도 있는 신택스 구조이다. SPS가, 0 이상의 전체 코딩된 비디오 시퀀스들에 적용되는 신택스 엘리먼트들을 포함할 수도 있는 신택스 구조이다. 단일 VPS가 다수의 SPS들에 적용가능할 수도 있다. PPS가, 0 이상의 전체 코딩된 화상들에 적용되는 신택스 엘리먼트들을 포함할 수도 있는 신택스 구조이다. 단일 SPS가, 다수의 PPS들에 적용가능할 수도 있다.
디바이스, 이를테면 콘텐츠 전달 네트워크 (CDN) 디바이스, 미디어 인식 네트워크 엘리먼트 (MANE), 비디오 인코더, 또는 비디오 디코더가, 비트스트림으로부터 서브-비트스트림을 추출할 수도 있다. 그 디바이스는 비트스트림으로부터 특정한 NAL 유닛들을 제거함으로써 서브-비트스트림 추출 프로세스를 수행할 수도 있다. 결과적인 서브-비트스트림은 비트스트림의 남아있는, 비-제거 NAL 유닛들을 포함한다. 일부 예들에서, 서브-비트스트림으로부터 디코딩된 비디오 데이터는 더 낮은 프레임 레이트를 가질 수도 있고 그리고/또는 원래의 비트스트림보다 적은 뷰들을 나타낼 수도 있다.
비디오 코딩 표준들은 서브-비트스트림 추출 프로세스를 지원하는 다양한 특징들을 포함할 수도 있다. 예를 들어, 비트스트림의 비디오 데이터는 계층들의 세트로 분할될 수도 있다. 계층들의 각각에 대해, 더 낮은 계층에서의 데이터는 임의의 더 높은 계층에서의 데이터에 대한 참조 없이 디코딩될 수도 있다. NAL 유닛들은 단일 계층의 데이터를 단지 캡슐화한다. 따라서, 비트스트림의 최상의 나머지 계층의 데이터를 캡슐화하는 NAL 유닛들은 그 비트스트림의 나머지 계층들에서의 데이터의 디코딩능력 (decodability) 에 영향을 미치는 일 없이 그 비트스트림으로부터 제거될 수도 있다. 스케일러블 비디오 코딩 (SVC) 에서, 더 높은 계층들이, 더 낮은 계층들에서의 화상들의 품질을 개선하는 (품질 확장성), 더 낮은 계층들에서의 화상들의 공간적 포맷을 확장하는 (공간적 확장성), 또는 더 낮은 계층들에서의 화상들의 시간적 레이트를 증대시키는 (시간적 확장성) 향상 데이터를 포함할 수도 있다. 멀티-뷰 코딩 (MVC) 및 3차원 비디오 (3DV) 코딩에서, 더 높은 계층들이 부가적인 뷰들을 포함할 수도 있다.
각각의 NAL 유닛은 헤더와 페이로드를 포함할 수도 있다. NAL 유닛들의 헤더들은 nuh_reserved_zero_6bits 신택스 엘리먼트들을 포함할 수도 있다. NAL 유닛이 MVC, 3DV 코딩, 또는 SVC에서의 기본 계층에 관련되면, 그 NAL 유닛의 nuh_reserved_zero_6bits 신택스 엘리먼트는 0과 동일하다. 비트스트림의 기본 계층에서의 데이터는 그 비트스트림의 임의의 다른 계층에서의 데이터에 대한 참조 없이 디코딩될 수도 있다. NAL 유닛이 MVC, 3DV, 또는 SVC에서의 기본 계층에 관련되지 않으면, nuh_reserved_zero_6bits 신택스 엘리먼트는 다른 0이 아닌 값들을 가질 수도 있다. 구체적으로는, NAL 유닛이 MVC, 3DV, 또는 SVC에서의 기본 계층에 관련되지 않으면, NAL 유닛의 nuh_reserved_zero_6bits 신택스 엘리먼트는 NAL 유닛에 연관된 계층을 식별하는 계층 식별자를 특정한다.
더욱이, 계층 내의 일부 화상들이 동일한 계층 내의 다른 화상들에 대한 참조 없이 디코딩될 수도 있다. 따라서, 계층의 특정한 화상들의 데이터를 캡슐화하는 NAL 유닛들은 그 계층에서의 다른 화상들의 디코딩능력에 영향을 미치는 일 없이 비트스트림으로부터 제거될 수도 있다. 예를 들어, 짝수 화상 순서 카운트 (POC) 값들을 갖는 화상들이 홀수 POC 값들을 갖는 화상들에 대한 참조 없이 디코딩가능할 수도 있다. 이러한 화상들의 데이터를 캡슐화하는 NAL 유닛들을 제거하는 것은 비트스트림의 프레임 레이트를 감소시킬 수도 있다. 계층 내의 다른 화상들에 대한 참조 없이 디코딩될 수도 있는 그 계층 내의 화상들의 서브세트가 "서브-계층" 또는 "시간적 서브-계층"이라고 지칭될 수도 있다.
NAL 유닛들은 nuh_temporal_id_plus1 신택스 엘리먼트들을 포함할 수도 있다. NAL 유닛의 nuh_temporal_id_plus1 신택스 엘리먼트는 NAL 유닛의 시간 식별자를 특정할 수도 있다. 제 1 NAL 유닛의 시간 식별자가 제 2 NAL 유닛의 시간 식별자보다 작으면, 제 1 NAL 유닛에 의해 캡슐화된 데이터는 제 2 NAL 유닛에 의해 캡슐화된 데이터에 대한 참조 없이 디코딩될 수도 있다.
비트스트림의 동작 포인트들은 각각이 계층 식별자들의 세트 (즉, nuh_reserved_zero_6bits 값들의 세트) 및 시간 식별자와 연관된다. 계층 식별자들의 세트는 OpLayerIdSet로서 표시될 수도 있고 시간 식별자는 TemporalID로서 표시될 수도 있다. NAL 유닛의 계층 식별자가 동작 포인트의 계층 식별자들의 세트 내에 있고 NAL 유닛의 시간 식별자가 동작 포인트의 시간 식별자보다 작거나 같으면, 그 NAL 유닛은 그 동작 포인트와 연관된다. 동작 포인트 표현이 동작 포인트와 연관되는 비트스트림 서브세트 (즉, 서브-비트스트림) 이다. 동작 포인트의 동작 포인트 표현은 동작 포인트와 연관되는 각각의 NAL 유닛을 포함할 수도 있다. 동작 포인트 표현은 동작 포인트와 연관되지 않는 VCL NAL 유닛들을 포함하지 않는다.
외부 소스가 동작 포인트에 대한 타겟 계층 식별자들의 세트를 특정할 수도 있다. 예를 들어, 콘텐츠 전달 네트워크 (CDN) 디바이스가 타겟 계층 식별자들의 세트를 특정할 수도 있다. 이 예에서, CDN 디바이스는 동작 포인트를 식별하기 위해 타겟 계층 식별자들의 세트를 사용할 수도 있다. CDN 디바이스는 그 다음에 동작 포인트에 대한 동작 포인트 표현을 추출하고, 원래의 비트스트림 대신에, 동작 포인트 표현을 클라이언트 디바이스로 포워딩할 수도 있다. 동작 포인트 표현을 추출하고 클라이언트 디바이스로 포워딩하는 것은 비트스트림의 비트 레이트를 감소시킬 수도 있다.
더욱이, 비디오 코딩 표준들은 비디오 버퍼링 모델들을 특정한다. 비디오 버퍼링 모델은 "가설 참조 디코더" 또는 "HRD"라고 또한 지칭될 수도 있다. HRD는 데이터가 디코딩을 위해 버퍼링될 방법과 디코딩된 데이터가 출력을 위해 버퍼링되는 방법을 설명한다. 예를 들면, HRD는 코딩된 화상 버퍼 ("CPB") 와 비디오 디코더에서의 디코딩된 화상 버퍼 ("DPB") 의 동작을 설명한다. CPB는 HRD에 의해 특정된 디코딩 순서로 액세스 유닛들을 포함하는 선입선출 버퍼이다. DPB는 HRD에 의해 특정된 참조, 출력 재순서화, 또는 출력 지연을 위해 디코딩된 화상들을 보유하는 버퍼이다.
비디오 인코더가 HRD 파라미터들의 세트를 시그널링할 수도 있다. HRD 파라미터들은 HRD의 다양한 양태들을 제어한다. HRD 파라미터들은 초기 CPB 제거 지연, CPB 사이즈, 비트 레이트, 초기 DPB 출력 지연, 및 DPB 사이즈를 포함할 수도 있다. 이들 HRD 파라미터들은 VPS 및/또는 SPS에서 특정된 hrd_parameters( ) 신택스 구조에서 코딩될 수도 있다. HRD 파라미터들은 버퍼링 기간 SEI 메시지들 또는 화상 타이밍 SEI 메시지들에서 또한 특정될 수도 있다.
위에서 설명된 바와 같이, 동작 포인트 표현이 원래의 비트스트림과는 상이한 프레임 레이트 및/또는 비트 레이트를 가질 수도 있다. 이는 동작 포인트 표현이 일부 화상들 및/또는 원래의 비트스트림의 데이터의 일부를 포함하지 않을 수도 있기 때문이다. 따라서, 비디오 디코더가 원래의 비트스트림을 프로세싱하는 경우에 특정 레이트에서 CPB 및/또는 DPB로부터 데이터를 제거하는 것이었다면 그리고 비디오 디코더가 동작 포인트 표현을 프로세싱하는 경우에 동일한 레이트에서 CPB 및/또는 DPB로부터 데이터를 제거하는 것이었다면, 비디오 디코더는 CPB 및/또는 DPB로부터 너무 많거나 또는 너무 적은 데이터를 제거할 수도 있다. 따라서, 비디오 인코더는 상이한 동작 포인트들에 대한 HRD 파라미터들의 상이한 세트들을 시그널링할 수도 있다. 신흥 고-효율 비디오 코딩 (HEVC) 표준에서, 비디오 인코더는 VPS에서 HRD 파라미터들의 세트들을 시그널링할 수도 있거나 또는 비디오 인코더는 SPS에서 HRD 파라미터들의 세트들을 시그널링할 수도 있다.
HRD 파라미터들의 세트는 모든 시간적 서브-계층들에 공통인 정보의 세트를 옵션으로 포함한다. 시간적 서브-계층이, 특정 시간 식별자를 갖는 VCL NAL 유닛들과 연관된 비-VCL NAL 유닛들로 이루어진 시간적 스케일러블 비트스트림의 시간적 스케일러블 계층이다. 공통 정보의 세트 외에도, HRD 파라미터들의 세트들은 개개의 시간적 서브-계층들에게 특정한 신택스 엘리먼트들의 세트를 포함할 수도 있다. 공통 정보의 세트가 HRD 파라미터들의 다수의 세트들에 공통이기 때문에, HRD 파라미터들의 다수의 세트들에서 공통 정보의 세트를 시그널링하는 것은 불필요할 수도 있다. HEVC에 대한 일부 제안들에서, HRD 파라미터들의 세트가 VPS에서의 HRD 파라미터들의 제 1 세트인 경우 공통 정보는 HRD 파라미터들의 세트에서 제시될 수도 있거나 또는 HRD 파라미터들의 세트가 제 1 동작 포인트에 연관되는 경우 공통 정보는 HRD 파라미터들의 세트에서 제시될 수도 있다.
그러나, VPS에는 HRD 파라미터들의 다수의 세트들이 있는 경우, HRD 파라미터들의 세트들에 대해 공통 정보의 다수의 상이한 세트들을 갖는 것이 바람직할 수도 있다. 이는 많은 수들의 HRD 파라미터 신택스 구조들이 VPS에 있는 경우에 특히 참일 수도 있다. 따라서, 제 1 HRD 파라미터 신택스 구조가 아닌 HRD 파라미터 신택스 구조들에서 공통 정보의 세트들을 갖는 것이 바람직할 수도 있다.
본 개시물의 기법들은 HRD 파라미터 신택스 구조들의 공통 정보가 임의의 HRD 파라미터 신택스 구조에 대해 명시적으로 시그널링되는 것을 허용하는 설계를 제공한다. 다르게 말하면, 본 개시물의 기법들은 모든 서브-계층들에 대해 공통인 정보가 임의의 hrd_parameters( ) 신택스 구조에 대해 명시적으로 시그널링되는 것을 허용할 수도 있다. 이는 코딩 효율을 개선할 수도 있다.
따라서, 본 개시물의 하나 이상의 기법들에 따라, 디바이스, 이를테면 비디오 디코더 또는 다른 디바이스가, 복수의 HRD 파라미터 신택스 구조들을 포함하는 VPS에서의 신택스 엘리먼트에 적어도 부분적으로 기초하여, VPS에서의 특정 HRD 파라미터 신택스 구조가 비트스트림의 각각의 서브-계층에 공통인 HRD 파라미터들의 세트를 포함하는지의 여부를 결정할 수도 있다. 그 디바이스는 VPS로부터 신택스 엘리먼트를 디코딩할 수도 있다. 하나 이상의 HRD 파라미터 신택스 구조들이 VPS에서의 코딩 순서에서 특정 HRD 파라미터 신택스 구조 전에 발생할 수도 있다. 특정 HRD 파라미터 신택스 구조가 비트스트림의 각각의 서브-계층에 공통인 HRD 파라미터들의 세트를 포함한다는 결정에 응답하여, 디바이스는, 비트스트림의 각각의 서브-계층에 공통인 HRD 파라미터들의 세트를 포함한 특정 HRD 파라미터 신택스 구조를 사용하여 동작을 수행할 수도 있다.
더욱이, 비디오 인코더가 스케일러블 네스트형 SEI 메시지들을 생성할 수도 있다. 스케일러블 네스트형 SEI 메시지가 하나 이상의 SEI 메시지들을 포함한다. 스케일러블 네스트형 SEI 메시지에 네스트된 SEI 메시지들은 동작 포인트에 연관된 HRD 파라미터들 또는 다른 정보를 포함할 수도 있다. HEVC에 대한 일부 제안들은 하나의 SEI 메시지가 다수의 동작 포인트들에 적용되는 것을 허용하지 않는다. 이는 비트 레이트 효율을 감소시킬 수도 있는데, 비디오 인코더로 하여금 동일한 정보를 갖는 다수의 SEI 메시지들을 시그널링하게 할 수도 있기 때문이다. 따라서, 본 개시물의 기법들은 하나의 SEI 메시지가 다수의 동작 포인트들에 적용되는 것을 허용할 수도 있다. 예를 들면, 스케일러블 네스트형 SEI 메시지가, 스케일러블 네스트형 SEI 메시지 내의 네스트된 SEI 메시지들에 적용가능한 다수의 동작 포인트들을 특정하는 신택스 엘리먼트들을 포함할 수도 있다.
덧붙여서, SEI NAL 유닛들은, NAL 유닛들의 다른 유형들처럼, NAL 유닛 헤더와 NAL 유닛 바디를 포함한다. SEI NAL 유닛의 NAL 유닛 바디는 SEI 메시지, 이를테면 스케일러블 네스트형 SEI 메시지 또는 다른 유형의 SEI 메시지를 포함할 수도 있다. 다른 NAL 유닛들처럼, SEI NAL 유닛의 NAL 유닛 헤더는 nuh_reserved_zero_6bits 신택스 엘리먼트와 nuh_temporal_id_plus1 신택스 엘리먼트를 포함할 수도 있다. 그러나, HEVC에 대한 일부 제안들에서, SEI NAL 유닛의 NAL 유닛 헤더의 nuh_reserved_zero_6bits 신택스 엘리먼트 및/또는 nuh_temporal_id_plus1 신택스 엘리먼트는 SEI NAL 유닛에 의해 캡슐화된 SEI 메시지 (또는 SEI 메시지들) 에 적용가능한 동작 포인트를 결정하는데 사용되지 않는다. 그러나, SEI NAL 유닛 헤더의 이들 신택스 엘리먼트들은 시그널링된 비트들의 수를 감소시키기 위하여 재사용될 수 있다. 따라서, 본 개시물의 기법들에 따라, SEI NAL 유닛에서의 네스트된 SEI 메시지들에 적용가능한 동작 포인트가 SEI NAL 유닛의 NAL 유닛 헤더에서의 계층 식별 정보에 의해 나타내어진 동작 포인트인지의 여부를 나타내기 위해 신택스 엘리먼트가 스케일러블 네스트형 SEI 메시지에서 시그널링될 수도 있다. SEI NAL 유닛의 NAL 유닛 헤더에서의 계층 식별 정보는 NAL 유닛 헤더의 nuh_reserved_zero_6bits의 값 및 nuh_temporal_id_plus1의 값을 포함할 수도 있다.
도 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, 케이블 모뎀 등), 또는 양쪽 모두의 조합들을 포함할 수도 있다. 파일 서버로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 양쪽 모두의 조합일 수도 있다.
본 개시물의 기법들은 무선 애플리케이션들 또는 설정 (setting) 들로 제한되지 않는다. 그 기법들은, 다양한 멀티미디어 애플리케이션들, 이를테면 OTA (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예컨대, 인터넷을 통한 스트리밍 비디오 송신들 중 임의의 것의 지원 하의 비디오 코딩, 데이터 저장 매체 상의 저장을 위한 비디오 데이터의 인코딩, 데이터 저장 매체 상에 저장된 비디오 데이터의 디코딩, 또는 다른 애플리케이션들에 적용될 수도 있다. 일부 예들에서, 비디오 코딩 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 화상 통화와 같은 애플리케이션들을 지원하기 위해 단방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1은 단지 일 예이고 본 개시물의 기법들은 인코딩 및 디코딩 디바이스들 간에 임의의 데이터 통신을 반드시 포함하지는 않는 비디오 코딩 설정들 (예컨대, 비디오 인코딩 또는 비디오 디코딩) 에 적용될 수도 있다. 다른 예들에서, 데이터는 로컬 메모리로부터 취출되며, 네트워크를 통해 스트리밍되는 등등이 된다. 비디오 인코딩 디바이스가 데이터를 인코딩하고 메모리에 저장할 수도 있으며, 그리고/또는 비디오 디코딩 디바이스가 메모리로부터 데이터를 취출하고 디코딩할 수도 있다. 많은 예들에서, 인코딩 및 디코딩은, 서로 통신하지 않지만 단순히 데이터를 메모리에 인코딩하고 및/또는 메모리로부터 데이터를 취출하고 디코딩하는 디바이스들에 의해 수행된다.
도 1의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 구비한다. 일부 예들에서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 구비할 수도 있다. 비디오 소스 (18) 는 비디오 캡처 디바이스, 예컨대, 비디오 카메라, 이전에 캡처된 비디오 데이터를 포함한 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하는 비디오 피드 인터페이스, 및/또는 비디오 데이터를 생성하는 컴퓨터 그래픽 시스템, 또는 비디오 데이터의 이러한 소스들의 조합을 포함할 수도 있다.
비디오 인코더 (20) 는 비디오 소스 (18) 로부터의 비디오 데이터를 인코딩할 수도 있다. 일부 예들에서, 소스 디바이스 (12) 는 출력 인터페이스 (22) 를 통해 목적지 디바이스 (14) 로 인코딩된 비디오 데이터를 직접 송신할 수도 있다. 다른 예들에서, 인코딩된 비디오 데이터는 또한 디코딩 및/또는 플레이백을 위한 목적지 디바이스 (14) 에 의한 나중의 액세스를 위해 저장 매체 또는 파일 서버 상에 저장될 수도 있다.
도 1의 예에서, 목적지 디바이스 (14) 는 입력 인터페이스 (26), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 구비한다. 일부 예들에서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 구비한다. 입력 인터페이스 (28) 는 채널 (16) 을 통해 인코딩된 비디오 데이터를 수신할 수도 있다. 디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합되거나 또는 그것 외부에 있을 수도 있다. 대체로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 디스플레이한다. 디스플레이 디바이스 (32) 는 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들을 포함할 수도 있다.
비디오 인코더 (20) 와 비디오 디코더 (30) 각각은 다양한 적합한 회로, 이를테면 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 개별 로직, 하드웨어, 또는 그것들의 임의의 조합 중 임의의 것으로서 구현될 수도 있다. 그 기법들이 부분적으로 소프트웨어로 구현되면, 디바이스가 적합한 비일시적 컴퓨터 판독가능 저장 매체 내에 소프트웨어에 대한 명령을 저장할 수도 있고 하나 이상의 프로세서들을 사용하여 하드웨어에서 그 명령들을 실행하여 본 개시물의 기법들을 수행할 수도 있다. 전술한 바 (하드웨어, 소프트웨어, 하드웨어 및 소프트웨어의 조합 등을 포함) 의 임의의 것은 하나 이상의 프로세서들이라고 간주될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들 내에 구비될 수도 있고, 그것들 중 어느 하나는 결합형 인코더/디코더 (CODEC) 의 일부로서 개별 디바이스 내에 통합될 수도 있다.
본 개시물은 다른 디바이스, 이를테면 비디오 디코더 (30) 에 특정한 정보를 "시그널링하는" 비디오 인코더 (20) 에 일반적으로 관련이 있다. 용어 "시그널링"은 일반적으로는 압축된 비디오 데이터를 디코딩하는데 사용되는 신택스 엘리먼트들 및/또는 다른 데이터의 통신을 말할 수도 있다. 이러한 통신은 실시간 또는 거의 실시간으로 일어날 수도 있다. 대안으로, 이러한 통신은, 인코딩 시에 신택스 엘리먼트들을 인코딩된 비트스트림으로 컴퓨터 판독가능 저장 매체에 저장하고 그 신택스 엘리먼트들이 이 매체에 저장된 후의 임의의 시간에 디코딩 디바이스에 의해 취출될 수도 있는 경우에 일어날 수도 있는 것과 같이, 어떤 기간 (span of time) 에 걸쳐 일어날 수도 있다.
일부 예들에서, 비디오 인코더 (20) 와 비디오 디코더 (30) 는, ISO/IEC MPEG-4 비주얼 그리고 SVC (Scalable Video Coding) 확장물, MVC (Multiview Video Coding) 확장물, MVC 기반 3DV 확장물을 포함한 ITU-T H.264 (또한 ISO/IEC MPEG-4 AVC로 알려짐) 와 같은 비디오 압축 표준에 따라 동작한다. 일부 경우들에서, MVC 기반 3DV 을 따르는 임의의 비트스트림은 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 et al., "High Efficiency Video Coding (HEVC) text specification draft 8," Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting, Stockholm, Sweden, July 2012』에 기재되어 있으며, 이는 2013년 6월 13일 현재, http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip으로부터 입수가능하다. "HEVC 규격 초안 9"이라고 지칭되는 새로 나올 HEVC 표준의 다른 초안이, 『"High Efficiency Video Coding (HEVC) text specification draft 9," Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting, Shanghai, China, October 2012』에 기재되어 있으며, 이는 2013년 6월 13일 현재, http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v13.zip으로부터 입수가능하다. 더욱이, HEVC에 대한 SVC, MVC, 및 3DV 확장물들을 생성하려는 노력이 지속되고 있다. HEVC의 3DV 확장물은 HEVC 기반 3DV 또는 HEVC-3DV라고 지칭될 수도 있다.
HEVC 및 다른 비디오 코딩 표준들에서, 비디오 시퀀스가 일련의 화상들을 통상 포함한다. 화상들은 "프레임들"이라고 또한 지칭될 수도 있다. 화상이, SL, SCb 및 SCr로 표시되는 3 개의 샘플 어레이들을 포함할 수도 있다. SL은 루마 샘플들의 2차원 어레이 (즉, 블록) 이다. SCb는 Cb 색차 샘플들의 2차원 어레이이다. SCr은 Cr 색차 샘플들의 2차원 어레이이다. 색차 샘플들은 본원에서 "크로마" 샘플들이라고 또한 지칭될 수도 있다. 다른 경우들에서, 화상이 모노크롬일 수도 있고 루마 샘플들의 어레이만을 포함할 수도 있다.
화상의 인코딩된 표현을 생성하기 위해, 비디오 인코더 (20) 는 코딩 트리 유닛들 (CTU들) 의 세트를 생성할 수도 있다. CTU들의 각각은, 루마 샘플들의 코딩 트리 블록, 크로마 샘플들의 2 개의 대응 코딩 트리 블록들, 및 코딩 트리 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들일 수도 있다. 코딩 트리 블록이 샘플들의 NxN 블록일 수도 있다. CTU가 "트리 블록" 또는 "최대 코딩 유닛 (LCU)" 이라고 또한 지칭될 수도 있다. HEVC의 CTU들은 다른 표준들, 이를테면 H.264/AVC의 매크로블록들과 대체로 유사할 수도 있다. 그러나, CTU가 특정 사이즈로 반드시 제한되는 것은 아니고 하나 이상의 코딩 유닛들 (CU들) 을 포함할 수도 있다. 슬라이스가 래스터 스캔으로 연속하여 순서화된 정수 수의 CTU들을 포함할 수도 있다.
코딩된 CTU를 생성하기 위해, 비디오 인코더 (20) 는 CTU의 코딩 트리 블록들에 대해 쿼드트리 파티셔닝을 재귀적으로 수행하여 코딩 트리 블록들을 코딩 블록들로 나눌 수도 있으며, 그래서 그 이름이 "코딩 트리 유닛들"이다. 코딩 블록이 샘플들의 NxN 블록이다. CU가, 루마 샘플 어레이, Cb 샘플 어레이 및 Cr 샘플 어레이를 가지는 화상의 루마 샘플들의 코딩 블록 및 크로마 샘플들의 2 개의 대응 코딩 블록들과, 그리고 코딩 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들일 수도 있다. 비디오 인코더 (20) 는 CU의 코딩 블록을 하나 이상의 예측 블록들로 파티셔닝할 수도 있다. 예측 블록이 동일한 예측이 적용되는 샘플들의 직사각형 (즉, 정사각형 또는 정사각형 아닌) 블록일 수도 있다. CU의 예측 유닛 (PU) 이 화상의 루마 샘플들의 예측 블록, 크로마 샘플들의 2 개의 대응하는 예측 블록들, 및 예측 블록 샘플들을 예측하는데 사용된 신택스 구조들일 수도 있다. 비디오 인코더 (20) 는 CU의 각각의 PU의 루마, Cb 및 Cr 예측 블록들에 대한 예측 루마, Cb 및 Cr 블록들을 생성할 수도 있다.
비디오 인코더 (20) 는 PU에 대한 예측 블록들을 생성하기 위해 인트라 예측 또는 인터 예측을 사용할 수도 있다. 비디오 인코더 (20) 가 PU의 예측 블록들을 생성하기 위해 인트라 예측을 사용하면, 비디오 인코더 (20) 는 그 PU에 연관된 화상의 디코딩된 샘플들에 기초하여 그 PU의 예측 블록들을 생성할 수도 있다.
비디오 인코더 (20) 가 PU의 예측 블록들을 생성하기 위해 인터 예측을 사용하면, 비디오 인코더 (20) 는 그 PU에 연관된 화상 이외의 하나 이상의 화상들의 디코딩된 샘플들에 기초하여 그 PU의 예측 블록들을 생성할 수도 있다. 비디오 인코더 (20) 는 PU의 예측 블록들을 생성하기 위해 단-예측 (uni-prediction) 또는 양-예측 (bi-prediction) 을 사용할 수도 있다. 비디오 인코더 (20) 가 단-예측을 사용하여 PU에 대한 예측 블록들을 생성하는 경우, 그 PU는 단일 모션 벡터를 가질 수도 있다. 비디오 인코더 (20) 가 양-예측을 사용하여 PU에 대한 예측 블록들을 생성하는 경우, 그 PU는 두 개의 모션 벡터들을 가질 수도 있다.
비디오 인코더 (20) 가 CU의 하나 이상의 PU들에 대한 예측 루마, Cb 및 Cr 블록들을 생성한 후, 비디오 인코더 (20) 는 그 CU에 대한 루마 잔차 블록을 생성할 수도 있다. CU의 루마 잔차 블록에서의 각각의 샘플은 CU의 예측 루마 블록들 중 하나의 예측 루마 블록에서의 루마 샘플 및 CU의 원래의 루마 코딩 블록에서의 대응하는 샘플 사이의 차이를 나타낸다. 덧붙여서, 비디오 인코더 (20) 는 CU에 대한 Cb 잔차 블록을 생성할 수도 있다. CU의 Cb 잔차 블록에서의 각각의 샘플은 CU의 예측 Cb 블록들 중 하나의 예측 Cb 블록에서의 Cb 샘플 및 CU의 원래의 Cb 코딩 블록에서의 대응하는 샘플 사이의 차이를 나타낼 수도 있다. 비디오 인코더 (20) 는 CU에 대한 Cr 잔차 블록을 또한 생성할 수도 있다. CU의 Cr 잔차 블록에서의 각각의 샘플은 CU의 예측 Cr 블록들 중 하나의 예측 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 잔차 블록의 서브-블록일 수도 있다.
비디오 인코더 (20) 는 하나 이상의 변환들을 TU의 루마 변환 블록에 적용하여 그 TU에 대한 루마 계수 블록을 생성할 수도 있다. 계수 블록이 변환 계수들의 2차원 어레이일 수도 있다. 변환 계수가 스칼라 양일 수도 있다. 비디오 인코더 (20) 는 하나 이상의 변환들을 TU의 Cb 변환 블록에 적용하여 TU에 대한 Cb 계수 블록을 생성할 수도 있다. 비디오 인코더 (20) 는 하나 이상의 변환들을 TU의 Cr 변환 블록에 적용하여 TU에 대한 Cr 계수 블록을 생성할 수도 있다.
계수 블록 (예컨대, 루마 계수 블록, Cb 계수 블록 또는 Cr 계수 블록) 을 생성한 후, 비디오 인코더 (20) 는 그 계수 블록을 양자화할 수도 있다. 양자화는 변환 계수들이 그 변환 계수들을 표현하는데 사용된 데이터의 양을 가능한 한 줄이도록 양자화되어서, 추가의 압축을 제공하는 프로세스를 일반적으로 말한다. 비디오 인코더 (20) 가 계수 블록을 앙자화한 후, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들에 대해 콘텍스트 적응 이진 산술 코딩 (CABAC) 을 수행할 수도 있다. 비디오 인코더 (20) 는 엔트로피 인코딩된 신택스 엘리먼트들을 비트스트림으로 출력할 수도 있다.
비디오 인코더 (20) 는 엔트로피 인코딩된 신택스 엘리먼트들을 포함하는 비트스트림을 출력할 수도 있다. 그 비트스트림은 코딩된 화상들의 표현 및 연관된 데이터를 형성하는 비트들의 시퀀스를 포함할 수도 있다. 그 비트스트림은 네트워크 추상화 계층 (NAL) 유닛들의 시퀀스를 포함할 수도 있다. NAL 유닛들의 각각은 NAL 유닛 헤더를 포함하고 원시 바이트 시퀀스 페이로드 (RBSP) 를 캡슐화한다. NAL 유닛 헤더는 NAL 유닛 유형 코드를 나타내는 신택스 엘리먼트를 포함할 수도 있다. NAL 유닛의 NAL 유닛 헤더에 의해 특정된 NAL 유닛 유형 코드는 NAL 유닛의 유형을 나타낸다. RBSP가 NAL 유닛 내에 캡슐화되는 정수 수의 바이트들을 포함하는 신택스 구조일 수도 있다. 일부 경우들에서, RBSP가 0 비트들을 포함한다.
상이한 유형들의 NAL 유닛들이 상이한 유형들의 RBSP들을 캡슐화할 수도 있다. 예를 들어, 제 1 유형의 NAL 유닛이 화상 파라미터 세트 (PPS) 에 대한 RBSP를 캡슐화할 수도 있으며, 제 2 유형의 NAL 유닛이 코딩된 슬라이스에 대한 RBSP를 캡슐화할 수도 있으며, 제 3 유형의 NAL 유닛이 SEI에 대한 RBSP를 캡슐화할 수도 있다는 등등이다. 비디오 코딩 데이터에 대한 RBSP들 (파라미터 세트들 및 SEI 메시지들에 대한 RBSP과는 대조적임) 을 캡슐화하는 NAL 유닛들은, 비디오 코딩 계층 (VCL) NAL 유닛들이라고 지칭될 수도 있다.
비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 생성된 비트스트림을 수신할 수도 있다. 덧붙여서, 비디오 디코더 (30) 는 비트스트림으로부터 신택스 엘리먼트들을 디코딩하기 위해 그 비트스트림을 파싱할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터 디코딩된 신택스 엘리먼트들에 적어도 부분적으로 기초하여 비디오 데이터의 화상들을 복원할 수도 있다. 비디오 데이터를 복원하는 프로세스는 비디오 인코더 (20) 에 의해 수행된 프로세스에 일반적으로 역일 수도 있다. 예를 들면, 비디오 디코더 (30) 는 현재 CU의 PU들에 대한 예측 블록들을 결정하기 위해 그 PU들의 모션 벡터들을 사용할 수도 있다. 덧붙여서, 비디오 디코더 (30) 는 현재 CU의 TU들에 연관된 변환 계수 블록들을 역 양자화할 수도 있다. 비디오 디코더 (30) 는 현재 CU의 TU들에 연관된 변환 블록들을 복원하기 위해 변환 계수 블록들에 대해 역 변환들을 수행할 수도 있다. 비디오 디코더 (30) 는 현재 CU의 PU들에 대한 예측 블록들의 샘플들을 현재 CU의 TU들의 변환 블록들의 대응하는 샘플들에 가산함으로써 현재 CU의 코딩 블록들을 복원할 수도 있다. 화상의 각각의 CU에 대한 코딩 블록들을 복원함으로써, 비디오 디코더 (30) 는 그 화상을 복원할 수도 있다.
멀티-뷰 코딩에서는, 동일한 장면의 상이한 관점들로부터의 다수의 뷰들이 있을 수도 있다. 용어 "액세스 유닛"은 동일한 시간 인스턴스에 대응하는 화상들의 세트를 지칭하는데 사용된다. 따라서, 비디오 데이터는 시간이 지남에 따라 발생하는 일련의 액세스 유닛들로서 개념화될 수도 있다. "뷰 성분"이 단일 액세스 유닛에서의 뷰의 코딩된 표현일 수도 있다. 본 개시물에서, "뷰"가 동일한 뷰 식별자에 연관된 뷰 성분들의 시퀀스를 지칭할 수도 있다.
멀티-뷰 코딩은 뷰 간 예측을 지원한다. 뷰 간 예측은 HEVC에서 사용된 인터 예측과 유사하고, 동일한 신택스 엘리먼트들을 사용할 수도 있다. 그러나, 비디오 코더가 현재 비디오 유닛 (이를테면 PU) 에 대해 뷰 간 예측을 수행하는 경우, 비디오 인코더 (20) 는, 참조 화상으로서, 현재 비디오 유닛과 동일한 액세스 유닛에 있지만 상이한 뷰에 있는 화상을 사용할 수도 있다. 그 반면, 기존의 인터 예측은 상이한 액세스 유닛들에서의 화상들만을 참조 화상들로서 사용한다.
멀티-뷰 코딩에서, 비디오 디코더 (예컨대, 비디오 디코더 (30)) 가 뷰에서의 화상들을 임의의 다른 뷰에서의 화상들에 대한 참조 없이 디코딩할 수 있다면, 그 뷰는 "기본 뷰 (base view)"라고 지칭될 수도 있다. 비-기본 뷰 (non-base view) 들 중 하나의 비-기본 뷰에서의 화상을 코딩하는 경우, 그 화상이 비디오 코더가 현재 코딩하고 있는 화상과는 상이한 뷰에 있지만 동일한 시간 인스턴스 (즉, 액세스 유닛) 내에 있다면, 비디오 코더 (이를테면 비디오 인코더 (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에서, 비트스트림 적합성 (conformance) 과 디코더 적합성이 HRD 사양의 일부들로서 특정된다. 다르게 말하면, HRD 모델은 비트스트림이 표준을 따르는지의 여부를 결정하는 테스트들과 디코더가 표준을 따르는지의 여부를 결정하는 테스트들을 특정한다. 비록 HRD는 디코더의 일종로서 명명되고 있지만, 비디오 인코더들은 비트스트림 적합성을 보장하기 위해 HRD를 통상 사용하는 반면, 비디오 디코더들은 HRD를 통상 필요로 하지 않는다.
H.264/AVC 및 HEVC 양쪽 모두는 비트스트림 또는 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_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 양쪽 모두는 디코더 적합성의 두 가지 유형들, 즉 출력 타이밍 디코더 적합성 및 출력 순서 디코더 적합성을 특정한다. 특정 프로파일, 티어 (tier) 및 레벨에 대해 적합성을 주장하는 디코더가, 비디오 코딩 표준, 이를테면 HEVC의 비트스트림 적합성 요건들에 부합하는 모든 비트스트림들을 성공적으로 디코딩할 수 있다. 본 개시물에서, "프로파일"이 비트스트림 신택스의 서브세트일 수도 있다. "티어들"과 "레벨들"이 각각의 프로파일 내에서 특정될 수도 있다. 티어의 레벨이, 비트스트림에서 신택스 엘리먼트들의 값들에 부과되는 제약조건들의 특정된 세트일 수도 있다. 이들 제약조건들은 값들에 대한 단순한 제한들일 수도 있다. 다르게는, 이들 제약조건들은 값들의 산술적 조합들 (예컨대, 화상 폭 곱하기 화상 높이 곱하기 초 당 디코딩된 화상들의 수) 에 대한 제약조건들의 형태를 취할 수도 있다. 통상, 더 낮은 티어에 특정된 레벨이 더 높은 티어에 특정된 레벨보다 더 제약된다.
DUT (decoder under test) 가 비디오 코딩 표준을 따르는지의 여부를 결정하기 위해 디바이스가 디코더 적합성 테스트를 수행하는 경우, 그 디바이스는, HRD 및 DUT 양쪽 모두에, 비디오 코딩 표준을 따르는 비트스트림을 제공할 수도 있다. HRD는 비트스트림 적합성 테스트에 관해 위에서 설명된 방식으로 비트스트림을 프로세싱할 수도 있다. 그 디바이스는, DUT에 의해 출력된 디코딩된 화상들의 순서가 HRD에 의해 출력된 디코딩된 화상들의 순서와 매칭되면, DUT가 비디오 코딩 표준에 부합한다고 결정할 수도 있다. 더구나, 그 디바이스는, DUT가 디코딩된 화상들을 출력하는 타이밍이 HRD가 디코딩된 화상들을 출력하는 타이밍과 매칭되면, DUT가 비디오 코딩 표준에 부합한다고 결정할 수도 있다.
H.264/AVC 및 HEVC HRD 모델들에서, 디코딩 또는 CPB 제거는 액세스 유닛 기반일 수도 있다. 다시 말하면, HRD는 완전한 액세스 유닛들을 한 번에 디코딩하고 완전한 액세스 유닛들을 CPB로부터 제거하는 것으로 가정된다. 더욱이, H.264/AVC 및 HEVC HRD 모델들에서, 화상 디코딩은 순간적이라고 가정된다. 비디오 인코더 (20) 는, 화상 타이밍 SEI 메시지들에서, 액세스 유닛들의 디코딩을 시작하기 위해 디코딩 시간들을 시그널링할 수도 있다. 실제 애플리케이션들에서, 준수하는 비디오 디코더가 액세스 유닛들의 디코딩을 시작하기 위해 시그널링된 디코딩 시간들을 엄격히 추종하면, 특정 디코딩된 화상을 출력하기 위한 가장 빠른 가능한 시간은 당해 특정 화상의 디코딩 시간 더하기 당해 특정 화상을 디코딩하는데 필요한 시간과 동일하다. 그러나, 실제 세계에서, 화상을 디코딩하는데 필요한 시간은 0과 동일하지 않을 수 있다.
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) 는, VPS에서 상이한 동작 포인트들에 대한 HRD 파라미터들을 포함하는 다수의 hrd_parameters( ) 신택스 구조들을 포함할 수도 있다.
HEVC 규격 초안 8에서, HRD 파라미터들의 세트는 모든 시간적 서브-계층들에 공통인 정보의 세트를 옵션으로 포함한다. 다르게 말하면, HRD 파라미터들의 세트는 임의의 시간적 서브-계층들을 포함하는 동작 포인트들에 적용가능한 공통 신택스 엘리먼트들의 세트를 옵션으로 포함할 수도 있다. 시간적 서브-계층이 특정 값의 TemporalId를 갖는 VCL NAL 유닛들과 연관된 비-VCL NAL 유닛들로 이루어진 시간적 스케일러블 비트스트림의 시간적 스케일러블 계층일 수도 있다. 공통 정보의 세트 외에도, HRD 파라미터들의 세트들은 개개의 시간적 서브-계층들에게 특정한 신택스 엘리먼트들의 세트를 포함할 수도 있다. 예를 들면, hrd_parameters( ) 신택스 구조는, 모든 서브-계층들에 공통이고 서브-계층 특정 정보를 항상 포함하는 정보의 세트를 옵션으로 포함할 수도 있다. 공통 정보의 세트가 HRD 파라미터들의 다수의 세트들에 공통이기 때문에, HRD 파라미터들의 다수의 세트들에서 공통 정보의 세트를 시그널링하는 것은 불필요할 수도 있다. 오히려, HEVC 규격 초안 8에서, HRD 파라미터들의 세트가 VPS에서의 HRD 파라미터들의 제 1 세트인 경우 공통 정보는 HRD 파라미터들의 세트에서 제시될 수도 있거나 또는 HRD 파라미터들의 세트가 제 1 동작 포인트 인덱스에 연관되는 경우 공통 정보는 HRD 파라미터들의 세트에서 제시될 수도 있다. 예를 들면, HEVC 규격 초안 8은 hrd_parameters( ) 신택스 구조가 VPS에서의 제 1 hrd_parameters( ) 신택스 구조인 경우 또는 hrd_parameters( ) 신택스 구조가 제 1 동작 포인트 인덱스와 연관되는 경우 공통 정보의 존재를 지원한다.
아래의 표 1은 HEVC에서의 hrd_parameters( ) 신택스 구조에 대한 일 예의 신택스 구조이다.
Figure pct00001
HRD 파라미터들
위의 표 1의 예 및 본 개시물의 다른 신택스 표들에서, 유형 기술자 ue(v) 를 갖는 신택스 엘리먼트들은, 좌측 비트를 첫째로 하는 0차 지수 골롬 (Exp-Golomb) 코딩을 사용하여 인코딩된 가변 길이 부호없는 정수들일 수도 있다. 표 1의 예 및 다음의 표들에서, n이 음이 아닌 정수인 형태 u(n) 의 기술자를 갖는 신택스 엘리먼트들은, 길이 n의 부호없는 값들이다.
표 1의 예의 신택스에서, "if(commonInfPresentFlag){ … }" 블록에서의 신택스 엘리먼트들은 HRD 파라미터 신택스 구조의 공통 정보이다. 다르게 말하면, HRD 파라미터들의 세트의 공통 정보는 신택스 엘리먼트들 timing_info_present_flag, num_units_in_tick, time_scale, nal_hrd_parameters_present_flag, vcl_hrd_parameters_present_flag, sub_pic_cpb_params_present_flag, tick_divisor_minus2, du_cpb_removal_delay_length_minus1, bit_rate_scale, cpb_size_scale, initial_cpb_removal_delay_length_minus1, cpb_removal_delay_length_minus1, 및 dpb_output_delay_length_minus1을 포함할 수도 있다.
더욱이, 표 1의 예에서, 신택스 엘리먼트들 fixed_pic_rate_flag[i], pic_duration_in_tc_minus1[i], low_delay_hrd_flag[i], 및 cpb_cnt_minus1[i]는 서브-계층 특정 HRD 파라미터들의 세트일 수도 있다. 다르게 말하면, hrd_parameter( ) 신택스 구조의 이들 신택스 엘리먼트들은 특정 서브-계층을 포함하는 동작 포인트들에만 적용가능할 수도 있다. 따라서, hrd_parameters( ) 신택스 구조의 HRD 파라미터들은, 옵션으로-포함된 공통 정보 외에도, 비트스트림의 특정 서브-계층에 특정한 서브-계층 특정 HRD 파라미터들의 세트를 포함할 수도 있다.
fixed_pic_rate_flag[i] 신택스 엘리먼트는, HighestTid가 i와 동일한 경우, 출력 순서에서 임의의 두 개의 연속적인 화상들의 HRD 출력 시간들 간의 시간적 거리가 특정 방도로 제약된다는 것을 나타낼 수도 있다. HighestTid는 (예컨대, 동작 포인트의) 최고의 시간적 서브-계층을 식별하는 변수일 수도 있다. pic_duration_in_tc_minus1[i] 신택스 엘리먼트는, HighestTid가 i와 동일한 경우, 코딩된 비디오 시퀀스에서의 출력 순서에서 임의의 연속적인 화상들의 HRD 출력 시간들 간의 시간적 거리를 클록 틱 (tick) 들로 특정할 수도 있다. low_delay_hrd_flag[i] 신택스 엘리먼트는, HEVC 규격 초안 8의 부록 C에서 특정된 바와 같이, HighestTid가 i와 동일한 경우, HRD 동작 모드를 특정할 수도 있다. cpb_cnt_minus1[i] 신택스 엘리먼트는, HighestTid가 i와 동일한 경우, 코딩된 비디오 시퀀스의 비트스트림에서의 대안적 CPB 사양들의 수를 특정할 수도 있는데, 하나의 대안적 CPB 사양은 CPB 파라미터들의 특정 세트를 사용한 하나의 특정 CPB 동작을 지칭한다.
비디오 인코더 (20) 는 SEI 메시지들을 사용하여 화상들의 샘플 값들의 올바른 디코딩에 필요하지 않은 메타데이터를 비트스트림에서 포함할 수도 있다. 그러나, 비디오 디코더 (30) 또는 다른 디바이스들은 다양한 다른 목적들을 위해 SEI 메시지들에 포함된 메타데이터를 사용할 수도 있다. 예를 들어, 비디오 디코더 (30) 또는 다른 디바이스는 화상 출력 타이밍, 화상 디스플레잉, 손실 검출, 및 에러 은닉을 위해 SEI 메시지들에서의 메타데이터를 사용할 수도 있다.
비디오 인코더 (20) 는 액세스 유닛에서 하나 이상의 SEI NAL 유닛들을 포함할 수도 있다. 다르게 말하면, 임의의 수의 SEI NAL 유닛들이 액세스 유닛과 연관될 수도 있다. 더욱이, 각각의 SEI NAL 유닛은 하나 이상의 SEI 메시지들을 포함할 수도 있다. HEVC 표준은 다양한 유형들의 SEI 메시지들에 대한 신택스 및 시맨틱스를 설명한다. 그러나, HEVC 표준은 SEI 메시지들의 핸들링을 설명하지 않는데, SEI 메시지들이 규범적인 (normative) 디코딩 프로세스에 영향을 미치지 않기 때문이다. HEVC 표준에서 SEI 메시지들을 가지고 있는 하나의 이유는, 보충 데이터가 HEVC를 사용하여 상이한 시스템들에서 동일하게 해석되는 것을 가능하게 한다는 것이다. HEVC를 사용하는 사양들 및 시스템들은 비디오 인코더들이 특정한 SEI 메시지들을 생성하는 것을 요구할 수도 있거나 또는 특정 유형들의 수신된 SEI 메시지들의 특정 핸들링을 정의할 수도 있다. 아래의 표 2는, HEVC에서 특정된 SEI 메시지들을 열거하고 그것들의 목적들을 간략히 설명한다.
SEI 메시지 목적
버퍼링 기간 가설 참조 디코더(HRD) 동작에 대한 초기 지연들
화상 타이밍 HRD 동작에 대한 화상 출력 시간 및 화상/서브-화상 제거 시간
팬-스캔 직사각형 출력 화상들의 화상 애스팩트 비(PAR)와는 상이한 PAR에서 디스플레이
충전제 페이로드 특정 제약조건들에 부합하도록 비트레이트를 조정
등록된 사용자 데이터
미등록된 사용자 데이터
외부 엔티티들에 의해 특정될 SEI 메시지들
복구 지점 깨끗한 랜덤 액세스에 대한 부가적인 정보. 점진적 디코딩 리프레시.
장면 정보 장면 변경들 및 전환들에 대한 정보
풀-프레임 스냅샷 연관된 디코딩된 화상을 비디오 콘텐츠의 정지-이미지 스냅샷으로서 라벨링하는 표시
프로그레시브 리파인 세그먼트 특정한 연속적인 화상들이 움직이는 장면보다는 화상의 품질의 프로그레시브 리파인을 나타냄을 표시한다
필름 그레인 특성들 디코더들이 필름 그레인을 합성하는 것을 가능하게 한다
블록화제거 필터 디스플레이 선호 디스플레이된 화상들이 루프-내 블록화제거 필터 프로세스를 받아야하는지의 여부를 권유한다
사후-필터 힌트 제안된 사후-필터 계수들 또는 사후-필터 설계에 대한 상관 정보를 제공
톤 매핑 정보 인코딩에서 사용된 또는 가정된 것과는 다른 컬러 공간으로의 매핑
프레임 패킹 배열 입체 비디오의 HEVC 비트스트림 속으로의 패킹
디스플레이 배향 출력 화상들이 디스플레이되는 경우에 그 출력 화상들에 적용되어야 하는 플리핑 및/또는 회전을 특정한다
필드 표시 인터레이스된 비디오 콘텐츠 및/또는 필드 코딩에 관련된, 예컨대, 화상이 프로그레시브 프레임, 필드, 또는 두 개의 인터리브된 필드들을 포함하는 프레임인지의 여부를 나타내는 정보를 제공한다
디코딩된 화상 해시 에러 검출에 사용될 수도 있는 디코딩된 화상의 체크섬
서브-화상 타이밍 HRD 동작에 대한 서브-화상 제거 시간
액티브 파라미터 세트들 액티브 VPS, SPS 등에 대한 정보를 제공한다
화상들의 설명을 위한 구조 비트스트림의 시간적 및 인터 예측 구조를 설명한다
SEI 메시지들의 개요
2012년 9월 24일자로 출원된 미국 특허 가출원 제61/705,102호는, SEI 메시지들에서의 지연 및 타이밍 정보의 시그널링 및 선택을 포함한 HRD 파라미터들의 시그널링 및 선택을 위한 다양한 방법들을 설명한다. 『Hannuksela et al., "AHG9: Operation points in VPS and nesting SEI," Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 11th Meeting, Shanghai, CN, 10-19 Oct. 2012』, 문서 번호 JCTVC-K0180v1는, 2013년 6월 13일 현재 http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K0180-v1.zip에서 입수가능한 것으로, SEI 메시지들의 네스팅을 위한 메커니즘뿐만 아니라 HRD 파라미터들의 시그널링을 위한 다른 방법을 제공한다.
HRD 파라미터들을 시그널링하는 현존 기법들에는 여러 문제들 또는 단점들이 있다. 예를 들어, 현존 기법들은 HRD 파라미터들의 세트가 다수의 동작 포인트들에 의해 공유될 것을 허용하지 않을 수도 있다. 그러나, 동작 포인트들의 수가 많은 경우, 각각의 동작 포인트에 대한 HRD 파라미터들의 상이한 세트들을 생성하기 위해 비트스트림의 적합성을 보장하는 것을 시도하는 비디오 인코더 (20) 또는 다른 유닛에게는 부담이 될 수도 있다. 오히려, 비트스트림 적합성은 각각의 동작 포인트가 HRD 파라미터들의 세트와 연관되게 하지만 HRD 파라미터들의 특정 세트가 다수의 동작 포인트들에 의해 공유될 수도 있도록 함으로써 보장될 수도 있다. 본 개시물의 하나 이상의 기법들은 HRD 파라미터들의 하나의 세트가 다수의 동작 포인트들에 의해 공유되는 것을 허용하는 설계를 제공할 수도 있다. 다르게 말하면, HRD 파라미터들의 단일 세트가 다수의 동작 포인트들에 적용가능할 수도 있다. 이 설계는 비트스트림의 적합성을 보장하는 것을 시도하는 비디오 인코더 (20) 또는 다른 유닛이 복잡도 및 적합성 간을 트레이드-오프하는 것을 허용할 수도 있다.
HRD 파라미터들을 시그널링하는 현존 기법들에 있는 문제들 또는 단점들의 다른 예에서, HRD 파라미터들의 다수의 세트들이 VPS에 있는 경우, HRD 파라미터들의 세트들에 대해 공통 정보의 다수의 상이한 세트들을 갖는 것이 바람직할 수도 있다. 이는 많은 수들의 HRD 파라미터 신택스 구조들이 VPS에 있는 경우에 특히 참일 수도 있다. 따라서, 제 1 HRD 파라미터 신택스 구조가 아닌 HRD 파라미터 신택스 구조들에서 공통 정보의 세트들을 갖는 것이 바람직할 수도 있다. 예를 들면, 특히 hrd_parameters( ) 신택스 구조들의 총 수가 비교적 많은 경우, 다수의 hrd_parameters( ) 신택스 구조들이 VPS에 있는 경우에 증가된 성능을 제공하기 위해, 제 1 hrd_parameters( ) 신택스 구조의 공통 정보 이외의 또는 제 1 동작 포인트 인덱스의 공통 정보 이외의 hrd_parameters( ) 신택스 구조들에 대해 상이한 공통 정보를 가지는 것이 바람직할 수도 있다.
본 개시물의 하나 이상의 기법들은 HRD 파라미터들의 세트들의 공통 정보가 HRD 파라미터들의 임의의 세트에 대해 명시적으로 시그널링되는 것을 허용하는 설계를 제공한다. 예를 들면, 본 개시물의 기법들은 모든 서브-계층들에 대해 공통인 정보가 임의의 hrd_parameters( ) 신택스 구조에 대해 명시적으로 시그널링되는 것을 허용할 수도 있다.
이런 식으로, 비디오 인코더 (20) 는, 비트스트림에서, HRD 파라미터들을 각각 포함하는 복수의 HRD 파라미터 신택스 구조들을 포함하는 VPS 를 시그널링할 수도 있다. 복수의 HRD 파라미터 신택스 구조들에서의 각각의 개별 HRD 파라미터 신택스 구조에 대해, VPS 는, 개별 HRD 파라미터 신택스 구조의 HRD 파라미터들이 비트스트림의 특정 서브-계층에게 특정한 서브-계층 특정 HRD 파라미터 정보의 세트 외에도 HRD 파라미터들의 공통 세트를 포함하는지의 여부를 나타내는 신택스 엘리먼트를 더 포함한다. HRD 파라미터들의 공통 세트는 비트스트림의 모든 서브-계층들에 공통이다.
마찬가지로, 비디오 디코더 (30) 또는 다른 디바이스는, 비트스트림으로부터, HRD 파라미터들을 각각 포함하는 복수의 HRD 파라미터 신택스 구조들을 포함하는 VPS 를 디코딩할 수도 있다. 복수의 HRD 파라미터 신택스 구조들에서의 각각의 개별 HRD 파라미터 신택스 구조에 대해, VPS 는, 개별 HRD 파라미터 신택스 구조의 HRD 파라미터들이 HRD 파라미터들의 공통 세트를 포함하는지의 여부를 나타내는 신택스 엘리먼트를 더 포함할 수도 있다. 비디오 디코더 (30) 또는 다른 디바이스는 HRD 파라미터 신택스 구조들 중 적어도 하나의 HRD 파라미터들을 사용하여 동작을 수행할 수도 있다.
더욱이, SEI 메시지들의 네스팅을 위한 현존 방법들은 여러 문제들 또는 단점들을 가질 수도 있다. 예를 들어, 시그널링 HRD 파라미터들의 현존 기법들은 하나의 SEI 메시지가 다수의 동작 포인트들에 적용되는 것을 허용하지 않을 수도 있다. 본 개시물의 기법들은 하나의 SEI 메시지가 다수의 동작 포인트들에 적용되는 것을 허용하는 설계를 제공할 수도 있다.
특히, 스케일러블 네스트형 SEI 메시지가, 스케일러블 네스트형 SEI 메시지 내에 네스트된 SEI 메시지들에 적용가능한 다수의 동작 포인트들을 특정하는 신택스 엘리먼트들을 포함할 수도 있다. 다르게 말하면, 스케일러블 네스트형 SEI 메시지들은 SEI 메시지들을 비트스트림 서브 세트 (예컨대, 동작 포인트 표현) 와 또는 특정 계층들 및 서브-계층들과 연관시키는 메커니즘을 제공할 수도 있다.
이런 식으로, 비디오 인코더 (20) 는 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 스케일러블 네스트형 SEI 메시지를 생성할 수도 있다. 더욱이, 비디오 인코더 (20) 는 스케일러블 네스트형 SEI 메시지를 비트스트림에서 시그널링할 수도 있다.
이런 식으로, 비디오 디코더 (30) 또는 다른 디바이스는, 비디오 코딩 프로세스에서, 스케일러블 네스트형 SEI 메시지로부터, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 적용되는 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 디코딩할 수도 있다. 더욱이, 비디오 디코더 (30) 또는 다른 디바이스는 네스트된 SEI 메시지의 신택스 엘리먼트들 중 하나 이상에 적어도 부분적으로 기초하여 동작을 수행할 수도 있다.
SEI 메시지들을 네스팅하는 현존 기법들에 있는 문제들 또는 단점들의 다른 예는, SEI 메시지들을 네스팅하는 현존 기법들이 현재 SEI NAL 유닛에 의해 캡슐화된 스케일러블 네스트된 SEI 메시지들에 적용가능한 동작 포인트를 결정하기 위해 현재 SEI NAL 유닛에서 계층 식별자 신택스 엘리먼트 (예컨대, nuh_reserved_zero_6bits) 의 값을 사용하지 않는다는 사실에 관한 것이다.
본 개시물의 기법들은 SEI NAL 유닛에서의 네트스된 SEI 메시지들에 적용가능한 동작 포인트가 SEI NAL 유닛의 NAL 유닛 헤더에서의 계층 식별 정보에 의해 나타내어진 동작 포인트인지의 여부를 시그널링하는 설계를 제공한다. SEI NAL 유닛의 NAL 유닛 헤더에서의 계층 식별 정보는 NAL 유닛 헤더의 nuh_reserved_zero_6bits의 값 및 nuh_temporal_id_plus1의 값을 포함할 수도 있다. 다르게 말하면, 본 개시물의 기법들은, 네스트된 SEI 메시지들이 현재 SEI NAL 유닛의 NAL 유닛 헤더에 포함된 계층 식별 정보에 의해 식별된 디폴트 동작 포인트에 적용되는지의 여부의 시그널링을 통해, 현재 SEI NAL 유닛 (즉, 스케일러블 네스트형 SEI 메시지를 포함하는 SEI NAL 유닛) 의 NAL 유닛 헤더에서의 계층 식별 정보 (예컨대, nuh_reserved_zero_6bits 및 nuh_temporal_id_plus1의 값) 의 사용을 위한 설계를 제공할 수도 있다.
이런 식으로, 비디오 인코더 (20) 는, SEI NAL 유닛에 의해 캡슐화된 스케일러블 네스트형 SEI 메시지에, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능한지의 여부를 나타내는 신택스 엘리먼트를 포함할 수도 있다. 디폴트 서브-비트스트림은 SEI NAL 유닛의 NAL 유닛 헤더에서 특정된 계층 식별자 및 그 NAL 유닛 헤더에서 특정된 시간 식별자에 의해 정의된 동작 포인트의 동작 포인트 표현일 수도 있다. 더욱이, 비디오 인코더 (20) 는 스케일러블 네스트형 SEI 메시지를 포함하는 비트스트림을 출력할 수도 있다.
마찬가지로, 디바이스, 이를테면 비디오 디코더 (30) 또는 다른 디바이스는, SEI NAL 유닛에 의해 캡슐화된 스케일러블 네스트형 SEI 메시지에서의 신택스 엘리먼트에 적어도 부분적으로 기초하여, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능한지의 여부를 결정할 수도 있다. 앞에서와 같이, 디폴트 서브-비트스트림은 SEI NAL 유닛의 NAL 유닛 헤더에서 특정된 계층 식별자 및 그 NAL 유닛 헤더에서 특정된 시간 식별자에 의해 정의된 동작 포인트의 동작 포인트 표현일 수도 있다. 네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능한 경우, 디바이스는 디폴트 서브-비트스트림에 대한 동작에서 네스트된 SEI 메시지를 사용할 수도 있다. 예를 들어, 네스트된 SEI 메시지는 하나 이상의 HRD 파라미터들을 포함할 수도 있다. 이 예에서, 디바이스는 디폴트 서브-비트스트림이 비디오 코딩 표준, 이를테면 HEVC 을 따르는지의 여부를 결정하는 비트스트림 적합성 테스트를 수행하기 위해 하나 이상의 HRD 파라미터들을 사용할 수도 있다. 대안으로, 이 예에서, 디바이스는 비디오 디코더 (30) 가 디코더 적합성 테스트를 충족시키는지의 여부를 결정하기 위해 하나 이상의 HRD 파라미터들을 사용할 수도 있다.
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에 대해 인터 예측을 수행하지 않는다. 따라서, I-모드에서 인코딩된 블록들에 대해, 예측 블록은 동일한 프레임 내의 이전에 인코딩된 이웃 블록들로부터 공간 예측을 사용하여 형성된다.
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에 대한 예측 블록을 생성할 수도 있다. PU들, CU들, 및 CTU들에 대한 좌측에서 우측으로, 상단에서 하단으로의 인코딩 순서를 가정하면, 이웃하는 PU들은 PU의 상측, 우상측, 좌상측, 또는 좌측에 있을 수도 있다. 인트라 예측 프로세싱 유닛 (126) 은 다양한 수들의 인트라 예측 모드들, 예컨대, 33 개의 방향성 인트라 예측 모드들을 사용할 수도 있다. 일부 예들에서, 인트라 예측 모드들의 수는 PU의 예측 블록들의 사이즈에 의존할 수도 있다.
예측 프로세싱 유닛 (100) 은 CU의 PU들에 대한 예측 데이터를, 그 PU들에 대해 인터 예측 프로세싱 유닛 (120) 에 의해 생성된 예측 데이터 또는 그 PU들에 대해 인트라 예측 프로세싱 유닛 (126) 에 의해 생성된 예측 데이터 중에서 선택할 수도 있다. 일부 예들에서, 예측 프로세싱 유닛 (100) 은 예측 데이터의 세트들의 레이트/왜곡 메트릭들에 기초하여 CU의 PU들에 대한 예측 데이터를 선택한다. 선택된 예측 데이터의 예측 블록들은 본원에서는 선택된 예측 블록들이라고 지칭될 수도 있다.
잔차 생성 유닛 (102) 은, CU의 루마, Cb 및 Cr 코딩 블록 및 그 CU의 PU들의 선택된 예측 루마, Cb 및 Cr 블록들에 기초하여, CU의 루마, Cb 및 Cr 잔차 블록들을 생성할 수도 있다. 예를 들면, 잔차 생성 유닛 (102) 은 CU의 잔차 블록들에서의 각각의 샘플이 그 CU의 코딩 블록에서의 샘플 및 그 CU의 PU의 대응하는 선택된 예측 블록에서의 대응하는 샘플 사이의 차이와 동일한 값을 가지도록 CU의 잔차 블록들을 생성할 수도 있다.
변환 프로세싱 유닛 (104) 은 쿼드트리 파티셔닝을 수행하여 CU의 잔차 블록들을 그 CU의 TU들에 연관된 변환 블록들로 파티셔닝할 수도 있다. 따라서, TU가 루마 변환 블록 및 2 개의 대응하는 크로마 변환 블록들에 연관될 수도 있다. CU의 TU들의 루마 및 크로마 변환 블록들의 사이즈들 및 포지션들은 그 CU의 PU들의 예측 블록들의 사이즈들 및 포지션들에 기초할 수도 있거나 또는 기초하지 않을 수도 있다. "잔차 쿼드 트리" (RQT) 로 알려진 쿼드트리 구조는 지역들의 각각에 연관된 노드들을 포함할 수도 있다. CU의 TU들은 RQT의 리프 노드들에 대응할 수도 있다.
변환 프로세싱 유닛 (104) 은 CU의 각각의 TU에 대한 변환 계수 블록들을, 하나 이상의 변환들을 TU의 변환 블록들에 적용함으로써 생성할 수도 있다. 변환 프로세싱 유닛 (104) 은 다양한 변환들을 TU에 연관된 변환 블록에 적용할 수도 있다. 예를 들어, 변환 프로세싱 유닛 (104) 은 이산 코사인 변환 (DCT), 방향성 변환, 또는 개념적으로 유사한 변환을 변환 블록에 적용할 수도 있다. 일부 예들에서, 변환 프로세싱 유닛 (104) 은 변환들을 변환 블록에 적용하지 않는다. 그런 예들에서, 변환 블록은 변환 계수 블록으로서 다루어질 수도 있다.
양자화 유닛 (106) 은 계수 블록에서의 변환 계수들을 양자화할 수도 있다. 양자화 프로세스는 변환 계수들의 일부 또는 전부에 연관된 비트 깊이를 감소시킬 수도 있다. 예를 들어, n-비트 변환 계수는 양자화 동안에 m-비트 변환 계수로 버림될 (rounded down) 수도 있으며, 여기서 n은 m보다 크다. 양자화 유닛 (106) 은 CU에 연관된 양자화 파라미터 (QP) 값에 기초하여 그 CU의 TU에 연관된 계수 블록을 양자화할 수도 있다. 비디오 인코더 (20) 는 CU에 연관된 QP 값을 조정함으로써 그 CU에 연관된 계수 블록들에 적용되는 양자화 정도를 조정할 수도 있다. 양자화는 정보의 손실을 도입할 수도 있고, 그러므로, 양자화된 변환 계수들은 원래의 것들보다 낮은 정밀도를 가질 수도 있다.
역 양자화 유닛 (108) 과 역 변환 프로세싱 유닛 (110) 은 계수 블록으로부터 잔차 블록을 복원하기 위해 역 양자화 및 역 변환들을 계수 블록에 각각 적용할 수도 있다. 복원 유닛 (112) 은 TU에 연관된 복원된 변환 블록을 생성하기 위해 복원된 잔차 블록을 예측 프로세싱 유닛 (100) 에 의해 생성된 하나 이상의 예측 블록들로부터의 대응하는 샘플들에 가산할 수도 있다. CU의 각각의 TU에 대한 변환 블록들을 이런 식으로 복원함으로써, 비디오 인코더 (20) 는 CU의 코딩 블록들을 복원할 수도 있다.
필터 유닛 (114) 은 하나 이상의 블록화제거 동작들을 수행하여 CU에 연관된 코딩 블록들에서의 블록화 아티팩트들을 감소시킬 수도 있다. 디코딩된 화상 버퍼 (116) 는, 필터 유닛 (114) 이 복원된 코딩 블록들에 대해 하나 이상의 블록화제거 동작들을 수행한 후에 복원된 코딩 블록들을 저장할 수도 있다. 인터 예측 프로세싱 유닛 (120) 은 다른 화상들의 PU들에 대해 인터 예측을 수행하기 위해 복원된 코딩 블록들을 포함하는 참조 화상을 사용할 수도 있다. 덧붙여서, 인트라 예측 프로세싱 유닛 (126) 은 CU와 동일한 화상에서의 다른 PU들에 대해 인트라 예측을 수행하기 위해 디코딩된 화상 버퍼 (116) 에서의 복원된 코딩 블록들을 사용할 수도 있다.
엔트로피 인코딩 유닛 (118) 은 비디오 인코더 (20) 의 다른 기능성 컴포넌트들로부터 데이터를 수신할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 양자화 유닛 (106) 으로부터 계수 블록들을 수신할 수도 있고 예측 프로세싱 유닛 (100) 으로부터 신택스 엘리먼트들을 수신할 수도 있다. 엔트로피 인코딩 유닛 (118) 은 데이터에 대해 하나 이상의 엔트로피 인코딩 동작들을 수행하여 엔트로피 인코딩된 데이터를 생성할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (118) 은 그 데이터에 대해 콘텍스트 적응 가변 길이 코딩 (CAVLC) 동작, CABAC 동작, 가변 대 가변 (V2V) 길이 코딩 동작, 신택스 기반 콘텍스트 적응 이진 산술 코딩 (SBAC) 동작, 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩 동작, 지수-골롬 인코딩 동작, 또는 다른 유형의 엔트로피 인코딩 동작을 수행할 수도 있다. 비디오 인코더 (20) 는 엔트로피 인코딩 유닛 (118) 에 의해 생성된 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수도 있다. 예를 들면, 그 비트스트림은 CU에 대한 RQT를 표현하는 데이터를 포함할 수도 있다.
위에서 나타낸 바와 같이, 본 개시물의 기법들은 HRD 파라미터 신택스 구조들의 공통 정보가 VPS에서 임의의 HRD 파라미터 신택스 구조에 대해 명시적으로 시그널링되는 것을 허용하는 설계를 제공할 수도 있다. HRD 파라미터 신택스 구조들의 공통 정보가 VPS에서 임의의 HRD 파라미터에 대해 명시적으로 시그널링되는 것을 가능하게 하기 위해, 비디오 인코더 (20) 는 아래의 표 3에 도시된 예의 신택스에 부합하는 VPS 신택스 구조들을 생성할 수도 있다.
Figure pct00002
VPS 신택스 구조
표 3의 이텔릭체 부분들은 표 3의 신택스 및 HEVC 규격 초안 8로부터의 대응하는 표 간의 차이들을 나타낸다. 더욱이, 표 3의 예의 신택스에서, num_ops_minus1 신택스 엘리먼트는 VPS에 존재하는 operation_point( ) 신택스 구조들의 수를 특정한다. hrd_applicable_ops_minus1[i] 신택스 엘리먼트는 i-번째 hrd_parameters( ) 신택스 구조가 적용되는 동작 포인트들의 수를 특정한다. hrd_op_idx[i][j] 신택스 엘리먼트는 VPS에서의 i-번째 hrd_parameters( ) 신택스 구조가 적용되는 j-번째 동작 포인트를 특정한다. 위에서 간략히 언급된 바와 같이, 본 개시물의 기법들은 HRD 파라미터들의 하나의 세트가 다수의 동작 포인트들에 공유되는 것을 허용할 수도 있다. hrd_applicable_ops_minus1[i] 신택스 엘리먼트들과 hrd_op_idx[i][j]는 HRD 파라미터들의 세트가 적용되는 동작 포인트들을 나타내는 역할을 할 수도 있다. HRD 파라미터들의 단일 세트에 적용가능하게 되는 것이 다수의 동작 포인트들에게는 허용되지 않는 일부 예들에서, hrd_applicable_ops_minus1[i] 신택스 엘리먼트들 및 hrd_op_idx[i][j] 신택스 엘리먼트들은 표 3으로부터 생략된다.
표 3의 예의 신택스에서, VPS가 표 3에서 cprms_present_flag[i]로서 나타내어진 공통 파라미터들 존재 플래그들 (즉, 신택스 엘리먼트들) 의 세트를 포함할 수도 있다. 1과 동일한 cprms_present_flag[i] 신택스 엘리먼트가, 모든 서브-계층들에 대해 공통인 HRD 파라미터들이 VPS에서의 i-번째 hrd_parameters( ) 신택스 구조에 존재함을 특정한다. 0과 동일한 cprms_present_flag[i] 신택스 엘리먼트가, 모든 서브-계층들에 공통인 HRD 파라미터들이 VPS에서의 i-번째 hrd_parameters( ) 신택스 구조에 존재하지 않고 대신 VPS에서의 (i - 1)-번째 hrd_parameters( ) 신택스 구조와 동일하게 되도록 유도된다는 것을 특정한다.
cprms_present_flag[0]은 1과 동일하게 되도록 유추될 수도 있다. 다시 말하면, VPS에서의 (코딩 순서에서) 제 1 hrd_parameters( ) 신택스 구조가 모든 서브-계층들에 공통인 HRD 파라미터들을 포함한다는 것을 디바이스가 자동으로 결정 (즉, 유추) 할 수도 있다. 결과적으로, VPS에서 시그널링된 제 1 HRD 파라미터 신택스 구조는 HRD 파라미터들의 공통 세트를 포함한다. VPS에서의 하나 이상의 후속 HRD 파라미터 신택스 구조들은 HRD 파라미터들의 상이한 공통 세트들을 포함할 수도 있다.
위에서 간략히 언급된 바와 같이, 본 개시물의 기법들은 HRD 파라미터 신택스 구조들의 공통 정보 (즉, 서브-계층들의 각각에 공통인 HRD 파라미터들) 가 임의의 HRD 파라미터 신택스 구조에 대해 명시적으로 시그널링되는 것을 허용할 수도 있다. 표 3의 cprms_present_flag[i] 신택스 엘리먼트는 HRD 파라미터 신택스 구조들 중 어느 것이 서브-계층들의 각각에 공통인 HRD 파라미터들의 세트를 포함하는지를 비디오 디코더 (30) 또는 다른 디바이스가 결정하는 것을 가능하게 할 수도 있다. 따라서, 제 1 HRD 파라미터 신택스 구조가 HRD 파라미터들의 공통 세트를 항상 포함할 수도 있는 반면, VPS에서 시그널링된 하나 이상의 HRD 파라미터 신택스 구조들은 HRD 파라미터들의 공통 세트를 포함하지 않는다. 디바이스가 VPS의 HRD 파라미터 신택스 구조들 중 어느 것이 HRD 파라미터들의 공통 세트들을 포함하는지를 결정하기 위해 cprms_present_flag[i] 신택스 엘리먼트들을 사용할 수도 있다.
HRD 파라미터 신택스 구조가 모든 서브-계층들에 공통인 HRD 파라미터들을 포함하는지의 여부에 상관없이 그 HRD 파라미터 신택스 구조 (예컨대, hrd_parameters( ) 신택스 구조) 는 서브-계층-특정 HRD 파라미터들의 세트를 포함할 수도 있다. 특정 HRD 파라미터 신택스 구조가 HRD 파라미터들의 공통 세트를 포함하지 않는다고 비디오 디코더 (30) 또는 다른 디바이스가 결정하는 경우, 비디오 디코더 (30) 또는 다른 디바이스는 이전의 HRD 파라미터 신택스 구조에 연관된 HRD 파라미터들의 공통 세트와 그 특정 HRD 파라미터 신택스 구조의 서브-계층-특정 HRD 파라미터들의 세트를 사용하여 동작을 수행할 수도 있다. 이전의 HRD 파라미터 신택스 구조는 코딩 순서에서 특정 HRD 파라미터 신택스 구조 전에 VPS에서 시그널링된 HRD 파라미터들의 세트일 수도 있다. 이전의 HRD 파라미터 신택스 구조가 HRD 파라미터들의 공통 세트를 포함하면, 이전의 HRD 파라미터 신택스 구조에 연관된 HRD 파라미터들의 공통 세트는 이전의 HRD 파라미터 신택스 구조에 포함된 HRD 파라미터들의 공통 세트이다. 이전의 HRD 파라미터 신택스 구조가 HRD 파라미터들의 공통 세트를 포함하지 않으면, 이전의 HRD 파라미터 신택스 구조에 연관된 HRD 파라미터들의 공통 세트가 코딩 순서에서 이전의 HRD 파라미터 신택스 구조 전의 HRD 파라미터 신택스 구조에 연관된 HRD 파라미터들의 공통 세트라고 디바이스가 결정할 수도 있다.
위에서 언급했듯이, 디바이스가 서브-계층 특정 HRD 파라미터들 및 HRD 파라미터들의 공통 세트를 사용하여 동작을 수행할 수도 있다. 이 동작 동안, 디바이스는 HRD 파라미터들 중 하나 이상에 따라 CPB의 동작을 관리하며, 비디오 데이터를 디코딩하고, HRD 파라미터들 중 하나 이상에 따라 DPB에서의 디코딩된 화상들을 관리할 수도 있다. 다른 예에서, 서브-계층 특정 HRD 파라미터들 및 HRD 파라미터들의 공통 세트는 비트스트림 적합성 테스트 또는 디코더 적합성 테스트를 수행하는데 사용될 수도 있다.
더욱이, 일부 예들에서, 스케일러블 네스트형 SEI 메시지가 SEI 메시지들을 비트스트림 서브 세트들 (예컨대, 동작 포인트 표현들) 과 또는 특정 계층들 및 서브-계층들과 연관시키는 메커니즘을 제공한다. 일부 이러한 예들에서, 스케일러블 네스트형 SEI 메시지가 하나 이상의 SEI 메시지들을 포함할 수도 있다. 스케일러블 네스트형 SEI 메시지에 포함된 SEI 메시지가 네스트된 SEI 메시지라고 지칭될 수도 있다. 스케일러블 네스트형 SEI 메시지에 포함되지 않은 SEI 메시지가 비-네스트된 SEI 메시지라고 지칭될 수도 있다. 일부 예들에서, 스케일러블 네스트형 SEI 메시지에서의 네스트된 SEI 메시지가 HRD 파라미터들의 세트를 포함할 수도 있다.
일부 예들에서, 메시지들의 어떤 유형들이 네스트될 수도 있는지에 대해 여러 제한들이 있다. 예를 들어, 버퍼링 기간 SEI 메시지와 임의의 다른 유형의 SEI 메시지가 동일한 스케일러블 네스트형 SEI 메시지 내에 네스트되지 않을 수도 있다. 버퍼링 기간 SEI 메시지가 HRD 동작에 대한 초기 지연들을 나타낼 수도 있다. 다른 예에서, 화상 타이밍 SEI 메시지와 임의의 다른 유형의 SEI 메시지가 동일한 스케일러블 네스트형 SEI 메시지 내에 네스트되지 않을 수도 있다. 화상 타이밍 SEI 메시지가 HRD 동작에 대한 화상 출력 시간 및 화상/서브-화상 제거 시간을 나타낼 수도 있다. 다른 예들에서, 화상 타이밍 SEI 메시지와 서브-화상 타이밍 SEI 메시지가 동일한 스케일러블 네스트형 SEI 메시지에 네스트될 수도 있다. 서브-화상 타이밍 SEI 메시지가 SEI 메시지에 연관된 디코딩된 유닛에 대한 CPB 제거 지연 정보를 제공할 수도 있다.
위에서 나타낸 바와 같이, 본 개시물의 하나 이상의 기법들은 하나의 SEI 메시지가 다수의 동작 포인트들에 적용되는 것을 허용할 수도 있다. 더욱이, 본 개시물의 하나 이상의 기법들은 SEI NAL 유닛에서의 네스트된 SEI 메시지에 적용가능한 동작 포인트가 SEI NAL 유닛의 NAL 유닛 헤더에서의 계층 식별 정보에 의해 나타내어진 동작 포인트인지의 여부를 비디오 인코더 (20) 가 시그널링하는 것을 가능하게 할 수도 있다. 덧붙여서, 본 개시물의 하나 이상의 기법들은 차분 코딩을 통해 계층 식별자들의 명시적 코딩의 효율을 증가시킬 수도 있다. 아래의 표 4에 도시된 예의 신택스와 수반되는 시맨틱스는 이들 기법들을 구현할 수도 있다.
Figure pct00003
스케일러블 네스트형 SEI 메시지
표 4의 예에서, 이탤릭체 부분들이 HEVC 규격 초안 8로부터의 차이들을 나타낼 수도 있다. 구체적으로는, 표 4의 예의 신택스에서, 0과 동일한 bitstream_subset_flag 신택스 엘리먼트가 스케일러블 네스트형 SEI 메시지에 네스트된 SEI 메시지들이 특정 계층들 및 서브-계층들에 적용된다는 것을 특정한다. 스케일러블 네스트형 SEI 메시지에 네스트된 SEI 메시지들이 아래에서 특정된 바와 같은 스케일러블 네스트형 SEI 메시지의 신택스 엘리먼트들에 의해 특정된 입력들로 HEVC 규격 초안 8의 하위절 10.1의 서브-비트스트림 추출 프로세스로부터 생긴 서브-비트스트림에 적용되는 것을 1과 동일한 bitstream_subset_flag 신택스 엘리먼트가 특정한다. HEVC 규격 초안 8의 하위절 10.1은 비트스트림으로부터 서브-비트스트림 (즉, 동작 포인트 표현) 을 추출하는 동작을 설명한다. 구체적으로는, HEVC 규격 초안 8의 하위절 10.1은 tIdTarget보다 큰 시간 식별자들 (예컨대, TemporalID) 또는 targetDecLayerIdSet에서의 값들 중에 있지 않은 계층 식별자들 (예컨대, nuh_reserved_zero_6bits) 을 갖는 모든 NAL 유닛들을 비트스트림으로부터 제거함으로써 서브-비트스트림이 도출된다는 것을 규정한다. tIdTarget 및 targetDecLayerIdSet는 비트스트림 추출 프로세스의 파라미터들이다. 일부 예들에서, 네스트된 SEI 메시지들이 화상 버퍼링 SEI 메시지들, 화상 타이밍 SEI 메시지들 또는 서브-화상 타이밍 SEI 메시지들이면, bitstream_subset_flag 신택스 엘리먼트는 1과 동일하다. 그렇지 않으면, 그런 예들에서, bitstream_subset_flag 신택스 엘리먼트는 0과 동일하다.
더욱이, 표 4의 예의 신택스에서, 스케일러블 네스트형 SEI 메시지는 bitstream_subset_flag 신택스 엘리먼트가 1과 동일하면 default_op_applicable_flag 신택스 엘리먼트를 포함한다. 1과 동일한 default_op_applicable_flag 신택스 엘리먼트가, 네스트된 SEI 메시지들 (즉, 스케일러블 네스트형 SEI 메시지 내에 네스트된 SEI 메시지들) 이, 현재 SEI NAL 유닛의 시간 식별자 (TemporalId) 와 동일한 tIdTarget과 0 내지 현재 SEI NAL 유닛의 nuh_reserved_zero_6bits의 범위의 nuh_reserved_zero_6bits의 모든 값들로 이루어진 targetDecLayerIdSet를 입력들로 하여 HEVC 규격 초안 8의 하위절 10.1의 서브-비트스트림 추출 프로세스의 출력인 디폴트 서브-비트스트림에 적용된다는 것을 특정한다. 따라서, 디폴트 서브-비트스트림은 현재 SEI NAL 유닛의 시간 식별자보다 큰 시간 식별자들 또는 0 내지 현재 SEI NAL 유닛의 계층 식별자 (예컨대, nuh_reserved_zero_6bits) 의 범위의 계층 식별자들을 갖는 모든 NAL 유닛들을 비트스트림으로부터 제거함으로써 도출되는 비트스트림일 수도 있다. 예를 들면, 디폴트 서브-비트스트림은 비트스트림의 서브세트일 수도 있고, 디폴트 서브-비트스트림은 NAL 유닛 헤더의 계층 식별자 신택스 엘리먼트에 의해 나타내어진 계층 식별자보다 큰 계층 식별자들을 갖거나 또는 NAL 유닛 헤더의 시간적 계층 식별자 신택스 엘리먼트 (예컨대, nuh_temporal_id_plus1) 에 의해 나타내어진 시간 식별자보다 큰 시간 식별자들을 갖는 비트스트림의 VCL NAL 유닛들을 포함하지 않을 수도 있다. 0과 동일한 default_op_applicable_flag 신택스 엘리먼트가 네스트된 SEI 메시지들이 디폴트 서브-비트스트림에 적용되지 않음을 특정한다.
표 4의 예의 신택스에서, 스케일러블 네스트형 SEI 메시지는 bitstream_subset_flag 신택스 엘리먼트가 1과 동일하면 nesting_num_ops_minus1 신택스 엘리먼트를 포함한다. nesting_num_ops_minus1 신택스 엘리먼트 더하기 1은, 스케일러블 네스트형 SEI 메시지에서의 nesting_op_idx[i] 신택스 엘리먼트들의 수를 특정한다. 따라서, nesting_num_ops_minus1 신택스 엘리먼트 더하기 1이 0보다 크면, nesting_num_ops_minus1 신택스 엘리먼트는 네스트된 SEI 메시지들이 적용가능한 다수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 스케일러블 네스트형 SEI 메시지가 포함하는지의 여부를 나타낼 수도 있다. 이런 식으로, 디바이스가, 스케일러블 네스트형 SEI 메시지로부터, 네스트된 SEI 메시지가 적용되는 동작 포인트들의 수를 나타내는 신택스 엘리먼트 (nesting_num_ops_minus1) 를 디코딩할 수도 있다. nesting_num_ops_minus1 신택스 엘리먼트가 존재하지 않는 경우, nesting_num_ops_minus1의 값은 0과 동일한 것으로 유추될 수도 있다. 따라서, bitstream_subset_flag 신택스 엘리먼트가 0과 동일하면, 스케일러블 네스트형 SEI 메시지는 nesting_op_idx[i] 신택스 엘리먼트들을 포함하지 않는다.
nestingLayerIdSet[0]이 all_layers_flag 신택스 엘리먼트와, 존재하는 경우, 0 내지 nesting_num_layers_minus1의 범위의 모든 값들 (i) 에 대한 nesting_layer_id_delta[i] 신택스 엘리먼트에 의해 특정됨을 0과 동일한 nesting_op_flag 신택스 엘리먼트가 특정한다. nestingLayerIdSet[] 신택스 엘리먼트들은 계층 식별자들의 어레이이다. 1과 동일한 nesting_op_flag 신택스 엘리먼트는 nestingLayerIdSet[i]가 nesting_op_idx[i] 신택스 엘리먼트에 의해 특정됨을 특정한다. 존재하지 않는 경우, nesting_op_flag의 값은 1과 동일한 것으로 유추된다.
nesting_max_temporal_id_plus1[i] 신택스 엘리먼트는 변수 maxTemporalId[i]를 특정한다. 표 4의 예의 신택스에서, nesting_max_temporal_id_plus1[i] 신택스 엘리먼트의 값은 현재 SEI NAL 유닛 (즉, 스케일러블 네스트된 SEI 메시지를 포함하는 NAL 유닛) 의 nuh_temporal_id_plus1 신택스 엘리먼트의 값보다 크다. 변수 maxTemporalId[i]는 nesting_max_temporal_id_plus1[i] - 1과 동일하게 설정된다.
nesting_op_idx[i] 신택스 엘리먼트는 세트 nestingLayerIdSet[i]를 특정하는데 사용된다. 세트 nestingLayerIdSet[i]는 0 내지 op_num_layer_id_values_minus1[nesting_op_idx]의 범위의 i의 모든 값들에 대한 op_layer_id[nesting_op_idx][i]로 이루어질 수도 있다. 액티브 VPS 는 op_layer_id[ ][ ] 및 op_num_layer_values_minus1[ ] 값들을 특정할 수도 있다.
더욱이, 표 4의 예의 신택스에서, 0과 동일한 all_layers_flag 신택스 엘리먼트는 세트 nestingLayerIdSet[0]이 0 내지 nesting_num_layers_minus1의 범위의 모든 값들 (i) 에 대한 nestingLayerId[i]로 이루어짐을 특정한다. 변수 nestingLayerId[i]는 아래에서 설명된다. 1과 동일한 all_layers_flag 신택스 엘리먼트가, 세트 nestingLayerIdSet가 현재 SEI NAL 유닛의 nuh_reserved_zero_6bits보다 크거나 같은 현재 액세스 유닛에 존재하는 nuh_reserved_zero_6bits의 모든 값들로 이루어짐을 특정한다.
nesting_num_layers_minus1 신택스 엘리먼트 더하기 1은, 스케일러블 네스트형 SEI 메시지에서의 nesting_layer_id_delta[i] 신택스 엘리먼트들의 수를 특정한다. nesting_layer_id_delta[i] 신택스 엘리먼트가, i 가 0과 동일한 경우, 세트 nestingLayerIdSet[0]에 포함된 제 1 (즉, 0-번째) nuh_reserved_zero_6bits 값과 현재 SEI NAL 유닛의 nuh_reserved_zero_6bits 신택스 엘리먼트 사이의 차이를 특정한다. nesting_layer_id_delta[i] 신택스 엘리먼트가, i 가 0보다 큰 경우, 세트 nestingLayerIdSet[0]에 포함된 i-번째 및 (i - 1)-번째 nuh_reserved_zero_6bits 값들 간의 차이를 특정한다.
변수 nestingLayerId[i]는 다음과 같이 유도될 수도 있는데, nuh_reserved_zero_6bits는 현재 SEI NAL 유닛의 NAL 유닛 헤더로부터 온다.
Figure pct00004
세트 nestingLayerIdSet[0]는 0 내지 nesting_num_layers_minus1의 범위의 모든 i 값들에 대한 nestingLayerId[i]로 이루어지도록 설정된다. bitstream_subset_flag 신택스 엘리먼트가 0과 동일한 경우, 네스트된 SEI 메시지들은 현재 SEI NAL 유닛의 nuh_reserved_zero_6bits와 동일한 또는세트 nestingLayerIdSet[0]에 포함된 nuh_reserved_zero_6bits를 갖는 그리고 현재 SEI NAL 유닛의 nuh_temporal_id_plus1 내지 maxTemporalId[0] + 1의 범위의 nuh_temporal_id_plus1을 갖는 NAL 유닛들에 적용된다. bitstream_subset_flag 신택스 엘리먼트가 1과 동일한 경우, 네스트된 SEI 메시지들은, maxTemporalId[i]와 동일한 tIdTarget 및 0 내지 nesting_num_ops_minus1의 범위의 각각의 i 값에 대한 nestingLayerIdSet[i]와 동일한 targetDecLayerIdSet를 입력들로 하여 HEVC 규격 초안 8의 하위절 10.1의 서브-비트스트림 추출 프로세스의 출력에 적용되고, default_op_applicable_flag 신택스 엘리먼트가 1과 동일한 경우, 네스트된 SEI 메시지들은 또한 디폴트 서브-비트스트림에 적용된다. 추출된 서브-비트스트림은 maxTemporalId[i]보다 큰 시간 식별자들 또는 0 내지 nesting_num_ops_minus1의 범위의 계층 식별자들을 갖는 모든 NAL 유닛들을 제거하여 생성될 수도 있다.
이런 식으로, 네스트된 SEI 메시지가 적용되는 복수의 동작 포인트들에서의 적어도 하나의 개별 동작 포인트에 대해, 디바이스 (예컨대, 비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스, 이를테면 콘텐츠 전달 네트워크 디바이스) 가, 스케일러블 네스트형 SEI 메시지로부터, 제 1 신택스 엘리먼트 (예컨대, nesting_max_temporal_id_plus1[i]) 및 제 2 신택스 엘리먼트 (예컨대, nesting_op_idx[i]) 를 디코딩할 수도 있다. 더욱이, 그 디바이스는, 제 1 신택스 엘리먼트에 적어도 부분적으로 기초하여, 개별 동작 포인트의 최대 시간 식별자를 결정할 수도 있다. 그 디바이스는, 제 2 신택스 엘리먼트에 적어도 부분적으로 기초하여, 개별 동작 포인트의 계층 식별자들의 세트를 결정할 수도 있다.
표 4의 예에서, nesting_zero_bit 신택스 엘리먼트는 0과 동일하다. nesting_zero_bit 신택스 엘리먼트는 스케일러블 네스트형 SEI 메시지가 바이트 정렬되는 것을 보장하는 역할을 할 수도 있다. 스케일러블 네스트형 SEI 메시지는 스케일러블 네스트형 SEI 메시지에서의 비트들의 수가 8로 나누어질 수 있는 경우 바이트 정렬될 수도 있다.
더욱이, 표 4의 예에서, sei_message( ) 신택스 구조들은 SEI 메시지들을 포함한다. 따라서, 디바이스가, 스케일러블 네스트형 SEI 메시지로부터, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 복수의 네스트된 SEI 메시지들을 디코딩할 수도 있다. 네스트된 SEI 메시지들의 각각은 복수의 신택스 엘리먼트들 (예컨대, nesting_max_temporal_id_plus1[i], nesting_op_idx[i] 등) 에 의해 식별된 동작 포인트들의 모두에 적용가능할 수도 있다.
대안적 예에서, 스케일러블 네스트형 SEI 메시지들은 아래의 표 5의 예의 신택스에 부합할 수도 있다. 표 5의 예의 신택스에서, 스케일러블 네스트형 SEI 메시지가, 본 개시물의 하나 이상의 기법들에 따라, 코딩 플래그들의 사용을 통해 계층 식별자들의 명시적 코딩의 효율을 증가시킬 수도 있다.
Figure pct00005
스케일러블 네스트형 SEI 메시지
표 5의 예에서, 이탤릭체 부분들은 HEVC 규격 초안 8로부터의 차이들을 보여준다. 표 5에 도시된 바와 같이, bitstream_subset_flag 신택스 엘리먼트, default_op_applicable_flag 신택스 엘리먼트, nesting_num_ops_minus1 신택스 엘리먼트, nesting_max_temporal_id_plus1 신택스 엘리먼트, nesting_op_idx[i] 신택스 엘리먼트, 및 nesting_zero_bit 신택스 엘리먼트는 표 4에 관해 위에서 설명된 바와 동일한 시맨틱스를 가질 수도 있다.
더욱이, 표 5의 예에서, 변수 minLayerId는 nuh_reserved_zero_6bits + 1과 동일하게 설정되는데, nuh_reserved_zero_6bits는 현재 SEI NAL 유닛의 NAL 유닛 헤더로부터 온다. 세트 nestingLayerIdSet[0]이 all_layers_flag 신택스 엘리먼트와, 존재하는 경우, 0 내지 nesting_max_layer_id - minLayerId - 1의 범위의 모든 값들 (i) 에 대한 nesting_layer_id_included_flag[i]에 의해 특정됨을 0과 동일한 nesting_op_flag 신택스 엘리먼트가 특정한다. 1과 동일한 nesting_op_flag 신택스 엘리먼트가 세트 nestingLayerIdSet[i]가 nesting_op_idx[i] 신택스 엘리먼트에 의해 특정됨을 특정한다. nesting_op_flag 신택스 엘리먼트가 존재하지 않는 경우, nesting_op_flag의 값은 1과 동일한 것으로 유추된다.
표 5의 예에서, 0과 동일한 all_layers_flag 신택스 엘리먼트는 세트 nestingLayerIdSet[0]이 0 내지 nesting_max_layer_id - minLayerId의 범위의 모든 i 값들에 대한 nestingLayerId[i]로 이루어짐을 특정한다. nestingLayerId[i] 변수는 아래에서 설명된다. 표 5의 예에서, 1과 동일한 all_layers_flag는, 세트 nestingLayerIdSet가 현재 SEI NAL 유닛의 nuh_reserved_zero_6bits 신택스 엘리먼트보다 크거나 같은 현재 액세스 유닛에 존재하는 nuh_reserved_zero_6bits의 모든 값들로 이루어짐을 특정한다.
더욱이, 표 5의 예에서, nesting_max_layer_id 신택스 엘리먼트는 세트 nestingLayerIdSet[0]에서의 nuh_reserved_zero_6bits의 최대 값을 특정한다. 1과 동일한 nesting_layer_id_included_flag[i] 신택스 엘리먼트가 i + minLayerId와 동일한 nuh_reserved_zero_6bits의 값이 세트 nestingLayerIdSet[0]에 포함됨을 특정한다. 0과 동일한 nesting_layer_id_included_flag[i] 신택스 엘리먼트가 i + minLayerId와 동일한 nuh_reserved_zero_6bits의 값이 세트 nestingLayerIdSet[0]에 포함되지 않음을 특정한다.
변수 nestingNumLayersMinus1와 0 내지 nestingNumLayersMinus1의 범위의 모든 i 값들에 대한 변수들 nestingLayerId[i]는 다음과 같이 도출될 수 있다:
Figure pct00006
세트 nestingLayerIdSet[0]는 0 내지 nestingNumLayersMinus1의 범위의 모든 i 값들에 대한 nestingLayerId[i]로 이루어지도록 설정될 수도 있다.
bitstream_subset_flag 신택스 엘리먼트가 0과 동일한 경우, 네스트된 SEI 메시지들은, 현재 SEI NAL 유닛의 nuh_reserved_zero_6bits 신택스 엘리먼트와 동일한 또는 세트 nestingLayerIdSet[0]에 포함된 nuh_reserved_zero_6bits를 갖는 그리고 현재 SEI NAL 유닛의 nuh_temporal_id_plus1 신택스 엘리먼트 내지 maxTemporalId[0] + 1의 범위의 nuh_temporal_id_plus1을 갖는 NAL 유닛들에 적용될 수도 있다.
스케일러블 네스트된 SEI 메시지의 bitstream_subset_flag 신택스 엘리먼트가 1과 동일한 경우, 네스트된 SEI 메시지들은, maxTemporalId[i]와 동일한 tIdTarget 및 0 내지 nesting_num_ops_minus1의 범위의 각각의 i 값에 대한 nestingLayerIdSet[i]와 동일한 targetDecLayerIdSet를 입력들로 하여 하위절 10.1의 서브-비트스트림 추출 프로세스의 출력에 적용될 수도 있고, default_op_applicable_flag 신택스 엘리먼트가 1과 동일한 경우, 네스트된 SEI 메시지들은 또한 디폴트 서브-비트스트림에 적용된다.
도 3은 본 개시물의 기법들을 구현하도록 구성되는 일 예의 비디오 디코더 (30) 를 도시하는 블록도이다. 도 3은 설명의 목적으로 제공되고 본 개시물에서 폭넓게 예시되고 설명된 바와 같은 기법들로 제한하고 있지는 않다. 설명의 목적으로, 본 개시물은 HEVC 코딩의 맥락에서 비디오 디코더 (30) 를 설명한다. 그러나, 본 개시물의 기법들은 다른 코딩 표준들 또는 방법들에 적용가능할 수도 있다.
도 3의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (150), 예측 프로세싱 유닛 (152), 역 양자화 유닛 (154), 역 변환 프로세싱 유닛 (156), 복원 유닛 (158), 필터 유닛 (160), 및 디코딩된 화상 버퍼 (162) 를 구비한다. 예측 프로세싱 유닛 (152) 은 모션 보상 유닛 (164) 과 인트라 예측 프로세싱 유닛 (166) 을 구비한다. 다른 예들에서, 비디오 디코더 (30) 는 더 많거나, 더 적거나, 또는 상이한 기능성 컴포넌트들을 포함할 수도 있다.
코딩된 화상 버퍼 (CPB) (151) 가 비트스트림의 인코딩된 비디오 데이터 (예컨대, NAL 유닛들) 를 수신하고 저장할 수도 있다. 엔트로피 디코딩 유닛 (150) 은 CPB (151) 로부터 NAL 유닛들을 수신하고 신택스 엘리먼트들을 디코딩하기 위해 그 NAL 유닛들을 파싱할 수도 있다. 엔트로피 디코딩 유닛 (150) 은 NAL 유닛들에서의 엔트로피 인코딩된 신택스 엘리먼트들을 엔트로피 디코딩할 수도 있다. 예측 프로세싱 유닛 (152), 역 양자화 유닛 (154), 역 변환 프로세싱 유닛 (156), 복원 유닛 (158), 및 필터 유닛 (160) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 디코딩된 비디오 데이터를 생성할 수도 있다.
비트스트림의 NAL 유닛들은 코딩된 슬라이스 NAL 유닛들을 포함할 수도 있다. 비트스트림을 디코딩하는 부분으로서, 엔트로피 디코딩 유닛 (150) 은 코딩된 슬라이스 NAL 유닛들로부터 신택스 엘리먼트들을 추출하고 엔트로피 디코딩할 수도 있다. 코딩된 슬라이스들의 각각은 슬라이스 헤더 및 슬라이스 데이터를 포함할 수도 있다. 슬라이스 헤더는 슬라이스에 관한 신택스 엘리먼트들을 포함할 수도 있다. 슬라이스 헤더에서의 신택스 엘리먼트들은 슬라이스를 포함하는 화상에 연관된 PPS를 식별하는 신택스 엘리먼트를 포함할 수도 있다.
비트스트림으로부터 신택스 엘리먼트들을 디코딩하는 것 외에도, 비디오 디코더 (30) 는 비-파티셔닝된 CU에 대해 복원 동작을 수행할 수도 있다. 비-파티셔닝된 CU에 대해 복원 동작을 수행하기 위해, 비디오 디코더 (30) 는 CU의 각각의 TU에 대해 복원 동작을 수행할 수도 있다. CU의 각각의 TU에 대한 복원 동작을 수행함으로써, 비디오 디코더 (30) 는 CU의 잔차 블록들을 복원할 수도 있다.
CU의 TU에 대해 복원 동작을 수행하는 부분으로서, 역 양자화 유닛 (154) 은 TU에 연관된 계수 블록들을 역 양자화, 즉, 탈양자화 (de-quantization) 할 수도 있다. 역 양자화 유닛 (154) 은 TU의 CU에 연관된 QP 값을 사용하여 양자화 정도를 결정하고, 비슷하게, 역 양자화 유닛 (154) 에 대해 적용할 역 양자화 정도를 결정할 수도 있다. 다시 말하면, 압축 비율, 즉, 원래의 시퀀스 및 압축된 것을 표현하는데 사용된 비트들의 수의 비율은, 변환 계수들을 양자화하는 경우에 사용된 QP의 값을 조정함으로써 제어될 수도 있다. 압축 비율은 또한 채용된 엔트로피 코딩하는 방법에 의존할 수도 있다.
역 양자화 유닛 (154) 이 계수 블록을 역 양자화한 후, 역 변환 프로세싱 유닛 (156) 은 TU에 연관된 잔차 블록을 생성하기 위하여 하나 이상의 역 변환들을 계수 블록에 적용할 수도 있다. 예를 들어, 역 변환 프로세싱 유닛 (156) 은 역 DCT, 역 정수 변환, 역 카루넨-뢰베 변환 (Karhunen-Loeve transform; KLT), 역 회전 변환, 역 방향성 변환, 또는 다른 역 변환을 계수 블록에 적용할 수도 있다.
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) 는, 비트스트림으로부터, 중대한 루마 계수 블록의 변환 계수 레벨들을 추출하며, 그 변환 계수 레벨들을 역 양자화하며, 그 변환 계수 레벨들에 변환을 적용하여 변환 블록을 생성하며, 그 변환 블록에 적어도 부분적으로 기초하여, 코딩 블록을 생성하고, 그 코딩 블록을 디스플레이를 위해 출력할 수도 있다.
도 4는 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더 (20) 의 일 예의 동작 (200) 을 도시하는 흐름도이다. 도 4의 예에서, 비디오 인코더 (20) 는 HRD 파라미터들을 각각 포함하는 복수의 HRD 파라미터 신택스 구조들을 포함하는 VPS 를 생성할 수도 있다 (202). 복수의 HRD 파라미터 신택스 구조들에서의 각각의 개별 HRD 파라미터 신택스 구조에 대해, VPS 는, 개별 HRD 파라미터 신택스 구조의 HRD 파라미터들이 비트스트림의 특정 서브-계층에게 특정한 서브-계층 특정 HRD 파라미터 정보의 세트 외에도 HRD 파라미터들의 공통 세트를 포함하는지의 여부를 나타내는 신택스 엘리먼트를 더 포함하는데, HRD 파라미터들의 공통 세트는 그 비트스트림의 모든 서브-계층들에 공통이다. 더욱이, 비디오 인코더 (20) 는 비트스트림에서 VPS 를 시그널링할 수도 있다 (204).
도 5는 본 개시물의 하나 이상의 기법들에 따른, 디바이스의 일 예의 동작 (250) 을 도시하는 흐름도이다. 동작 (250) 은 비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스에 의해 수행될 수도 있다. 도 5의 예에서 도시된 바와 같이, 그 디바이스는, 비트스트림으로부터, HRD 파라미터들을 각각 포함하는 복수의 HRD 파라미터 신택스 구조들을 포함하는 VPS 를 디코딩할 수도 있다 (252). 복수의 HRD 파라미터 신택스 구조들에서의 각각의 개별 HRD 파라미터 신택스 구조에 대해, VPS 는, 개별 HRD 파라미터 신택스 구조의 HRD 파라미터들이 HRD 파라미터들의 공통 세트를 포함하는지의 여부를 나타내는 신택스 엘리먼트를 더 포함한다.
더욱이, 그 디바이스는 HRD 파라미터 신택스 구조들 중 적어도 하나의 HRD 파라미터들을 사용하여 동작을 수행할 수도 있다 (254). 일부 예들에서, 비트스트림은 특정 동작 포인트의 동작 포인트 표현을 포함할 수도 있으며, 특정 HRD 파라미터 신택스 구조가 특정 동작 포인트에 적용가능할 수도 있고, 그 디바이스는 특정 HRD 파라미터 신택스 구조의 HRD 파라미터들을 사용하는 동작을 수행할 수도 있다. 예를 들어, 그 디바이스는 HRD 파라미터 신택스 구조에 동작가능한 동작 포인트가 비디오 코딩 표준, 이를테면 HEVC 을 따르는지의 여부를 결정하는 비트스트림 적합성 테스트를 수행하기 위해 HRD 파라미터들을 사용할 수도 있다. 다른 예에서, 그 디바이스는 디코더 적합성 테스트를 수행하기 위해 HRD 파라미터들을 사용할 수도 있다.
HRD 파라미터들의 공통 세트는 비트스트림의 모든 서브-계층들에 공통일 수도 있다. 일부 예들에서, 각각의 HRD 파라미터 신택스 구조의 HRD 파라미터들은 비트스트림의 특정 서브-계층에 특정한 서브-계층 특정 HRD 파라미터들의 세트를 포함한다. 일부 예들에서, 서브-계층-특정 HRD 파라미터들의 세트들의 각각은, 신택스 엘리먼트 (예컨대, 출력 순서에서의 임의의 두 개의 연속적인 화상들의 HRD 출력 시간들 간의 시간적 거리를 나타냄), 코딩된 비디오 시퀀스의 비트스트림에서의 대안적 코딩된 화상 버퍼 사양들의 수를 나타내는 신택스 엘리먼트를 포함한다. 일부 예들에서, 특정 HRD 파라미터 신택스 구조가 HRD 파라미터들의 공통 세트를 포함하지 않는다고 디바이스가 결정하는 경우, 그 디바이스는 이전의 HRD 파라미터 신택스 구조에 연관된 HRD 파라미터들의 공통 세트 및 특정 HRD 파라미터 신택스 구조의 서브-계층-특정 HRD 파라미터들의 세트를 사용하여 동작을 수행할 수도 있다.
도 6은 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더 (20) 의 일 예의 동작 (300) 을 도시하는 흐름도이다. 도 6의 예에서 도시된 바와 같이, 비디오 인코더 (20) 는 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 스케일러블 네스트형 SEI 메시지를 생성할 수도 있다 (302). 더욱이, 비디오 인코더 (20) 는 비트스트림에서 스케일러블 네스트형 SEI 메시지를 시그널링할 수도 있다 (304).
도 7은 본 개시물의 하나 이상의 기법들에 따른, 디바이스의 일 예의 동작 (350) 을 도시하는 흐름도이다. 비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스가 동작 (350) 을 수행할 수도 있다. 도 7의 예에서 도시된 바와 같이, 디바이스가, 스케일러블 네스트형 SEI 메시지로부터, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 디코딩할 수도 있다 (352). 일부 예들에서, 그 디바이스는, 스케일러블 네스트형 SEI 메시지로부터, 스케일러블 네스트형 SEI 메시지가 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는지의 여부를 나타내는 신택스 엘리먼트 (예컨대, nesting_num_ops_minus1) 를 디코딩할 수도 있다.
더욱이, 그 디바이스는 동작 포인트들 중 네스트된 SEI 메시지가 적용되는 임의의 동작 포인트에 관하여 동작을 수행하기 위해 네스트된 SEI 메시지의 하나 이상의 신택스 엘리먼트들을 사용할 수도 있다 (354). 예를 들어, 그 디바이스는 동작 포인트들 중 네스트된 SEI 메시지가 적용되는 임의의 동작 포인트가 비디오 코딩 표준, 이를테면 HEVC 을 따르는지의 여부를 결정하는 비트스트림 적합성 테스트에서 네스트된 SEI 메시지의 신택스 엘리먼트들을 사용할 수도 있다. 다른 예에서, 그 디바이스는 디코더 적합성 테스트를 수행하기 위해 네스트된 SEI 메시지의 신택스 엘리먼트들을 사용할 수도 있다.
도 8은 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더 (20) 의 일 예의 동작 (400) 을 도시하는 흐름도이다. 도 8의 예에서 도시된 바와 같이, 비디오 인코더 (20) 는, SEI NAL 유닛에 의해 캡슐화된 스케일러블 네스트형 SEI 메시지에, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능한지의 여부를 나타내는 신택스 엘리먼트 (예컨대, default_op_applicable_flag) 를 포함할 수도 있다 (402). 디폴트 서브-비트스트림은 SEI NAL 유닛의 NAL 유닛 헤더에서 특정된 계층 식별자 및 그 NAL 유닛 헤더에서 특정된 시간 식별자에 의해 정의된 동작 포인트의 동작 포인트 표현이다. NAL 유닛 헤더에서의 제 1 신택스 엘리먼트 (예컨대, nuh_reserved_zero_6bits) 가 계층 식별자를 나타낼 수도 있고 NAL 유닛 헤더에서의 제 2 신택스 엘리먼트 (예컨대, nuh_reserved_temporal_id_plus1) 가 시간 식별자를 나타낼 수도 있다.
도 8의 예에서, 비디오 인코더 (20) 는, 스케일러블 네스트형 SEI 메시지에, 부가적인 동작 포인트의 시간 식별자 및 부가적인 동작 포인트의 최대 계층 식별자를 식별하는 하나 이상의 부가적인 신택스 엘리먼트들을 포함할 수도 있다 (404). 더욱이, 비디오 인코더 (20) 는 비트스트림에서 스케일러블 네스트형 SEI 메시지를 시그널링할 수도 있다 (406). 일부 예들에서, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능한지의 여부를 나타내는 신택스 엘리먼트는, 제 1 신택스 엘리먼트라고 지칭될 수도 있고 비디오 인코더 (20) 는 스케일러블 네스트형 SEI 메시지에 제 2 신택스 엘리먼트 (예컨대, bitstream_subset_flag) 를 포함할 수도 있다. 제 2 신택스 엘리먼트는 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지들이 비트스트림으로부터 추출된 서브-비트스트림에 적용될지의 여부 또는 네스트된 SEI 메시지들이 특정 계층들 및 비트스트림의 서브-계층들에 적용될지의 여부를 나타낼 수도 있다. 비디오 인코더 (20) 는 네스트된 SEI 메시지들이 비트스트림으로부터 추출된 서브-비트스트림에 적용되는 것을 제 2 신택스 엘리먼트가 나타내는 경우에만 제 1 신택스 엘리먼트를 포함할 수도 있다.
도 9는 본 개시물의 하나 이상의 기법들에 따른, 디바이스의 일 예의 동작 (450) 을 도시하는 흐름도이다. 비디오 인코더 (20), 비디오 디코더 (30), 또는 다른 디바이스가 동작 (450) 을 수행할 수도 있다. 도 9의 예에서 도시된 바와 같이, 그 디바이스는, 스케일러블 네스트형 SEI 메시지의 제 1 신택스 엘리먼트 (예컨대, bitstream_subset_flag) 에 적어도 부분적으로 기초하여, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 비트스트림으로부터 추출된 서브-비트스트림에 적용될지의 여부를 결정할 수도 있다 (452). 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 비트스트림으로부터 추출된 서브-비트스트림에 적용된다는 결정에 응답하여 (452의 "예"), 그 디바이스는 스케일러블 네스트형 SEI 메시지에서의 디폴트 동작 포인트 신택스 엘리먼트 (예컨대, default_op_applicable_flag) 를 디코딩할 수도 있다 (454). 디폴트 동작 포인트 신택스 엘리먼트는 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능한지의 여부를 나타낼 수도 있다.
디폴트 서브-비트스트림은 SEI NAL 유닛의 NAL 유닛 헤더에서 특정된 계층 식별자 및 그 NAL 유닛 헤더에서 특정된 시간 식별자에 의해 정의된 동작 포인트의 동작 포인트 표현일 수도 있다. 일부 예들에서, NAL 유닛 헤더에서의 제 1 신택스 엘리먼트 (예컨대, nuh_reserved_zero_6bits) 는 계층 식별자를 나타내고 NAL 유닛 헤더에서의 제 2 신택스 엘리먼트 (예컨대, nuh_reserved_temporal_id_plus1) 는 시간 식별자를 나타낸다. 디폴트 서브-비트스트림은 비트스트림의 서브세트일 수도 있고, 디폴트 서브-비트스트림은, NAL 유닛 헤더의 제 1 신택스 엘리먼트에 의해 나타내어진 계층 식별자보다 큰 계층 식별자들을 갖는 또는 NAL 유닛 헤더의 제 2 신택스 엘리먼트에 의해 나타내어진 시간 식별자보다 큰 시간 식별자들을 갖는 비트스트림의 VCL NAL 유닛들을 포함하지 않는다.
더욱이, 그 디바이스는, SEI NAL 유닛에 의해 캡슐화된 스케일러블 네스트형 SEI 메시지에서의 신택스 엘리먼트 (예컨대, default_op_applicable_flag) 에 적어도 부분적으로 기초하여, 스케일러블 네스트형 SEI 메시지에 의해 캡슐화된 네스트된 SEI 메시지가 비트스트림의 디폴트 서브-비트스트림에 적용가능한지의 여부를 결정할 수도 있다 (456). 일부 예들에서, 스케일러블 네스트형 SEI 메시지는 복수의 네스트된 SEI 메시지들을 캡슐화한다. 이러한 예들에서, 디바이스는, 신택스 엘리먼트 (예컨대, default_op_applicable_flag) 에 기초하여, 스케일러블 네스트형 SEI 메시지에서의 네스트된 SEI 메시지의 각각이 디폴트 서브-비트스트림에 적용가능한지의 여부를 결정할 수도 있다.
네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능한 경우 (456의 "예"), 디바이스는 디폴트 서브-비트스트림에 대한 동작에서 네스트된 SEI 메시지를 사용할 수도 있다 (458). 예를 들어, 네스트된 SEI 메시지는 HRD 파라미터들의 세트를 포함할 수도 있다. 이 예에서, 디바이스는 디폴트 서브-비트스트림이 비디오 코딩 표준, 이를테면 HEVC 을 따르는지의 여부를 테스트하는 동작에서 네스트된 SEI 메시지에서의 HRD 파라미터들을 사용할 수도 있다. 다른 예에서, 디바이스는 네스트된 SEI 메시지에서의 HRD 파라미터들을 디코더 적합성 테스트에서 사용할 수도 있다. 다른 예에서, 디바이스는 디폴트 서브-비트스트림에 대한 디코딩 동작에서 네스트된 SEI 메시지를 사용할 수도 있다. 다른 예에서, 초기 CPB 제거 지연들이 적절한 초기 엔드 대 엔드 지연을 설정하기 위해 시스템을 안내하는데 사용될 수도 있고, DPB 출력 시간들은 비디오가 RTP를 통해 전송되는 경우 RTP 타임스탬프들을 도출하는데 사용될 수도 있다.
그렇지 않고, 네스트된 SEI 메시지가 디폴트 서브-비트스트림에 적용가능하지 않은 경우 (456의 "아니오") 또는 스케일러블 네스트형 SEI 메시지가 비트스트림으로부터 추출된 서브-비트스트림에 적용되지 않는 경우 (452의 "아니오"), 디바이스는 디폴트 서브-비트스트림에 대한 동작에서 네스트된 SEI 메시지를 사용하지 않는다 (460). 예를 들어, 디바이스는, 스케일러블 네스트형 SEI 메시지에서의 하나 이상의 부가적인 신택스 엘리먼트들 (예컨대, nesting_max_temporal_id_plus1[i], nesting_op_idx[i] 등) 에 기초하여, 제 2 동작 포인트의 시간 식별자와 제 2 동작 포인트의 최대 계층 식별자를 결정할 수도 있다. 이 예에서, 디바이스는 부가적인 서브-비트스트림에 대한 동작에서 네스트된 SEI 메시지를 사용할 수도 있는데, 부가적인 서브-비트스트림은 제 2 동작 포인트의 동작 포인트 표현이다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그것들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 또는 그것을 통해 송신될 수도 있고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은, 데이터 저장 매체들과 같은 유형의 (tangible) 매체에 대응하는 컴퓨터 판독가능 저장 매체들, 또는 예컨대 통신 프로토콜에 따라 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다. 이런 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적 (non-transitory) 인 유형의 (tangible) 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 반송파와 같은 통신 매체에 해당할 수도 있다. 데이터 저장 매체들은 본 개시물에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
비제한적인 예로, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 소망의 프로그램 코드를 컴퓨터에 의해 액세스될 수 있는 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다. 예를 들어, 명령들이 웹사이트, 서버, 또는 다른 원격 자원으로부터 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 회선 (DSL), 또는 무선 기술들 이를테면 적외선, 라디오, 및/또는 마이크로파를 이용하여 송신된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술은 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 커넥션들, 반송파들, 신호들, 또는 다른 일시적인 매체들을 포함하지 않지만, 대신 비일시적 (non-transient), 유형의 저장 매체들을 지향하고 있음이 이해되어야 한다. 디스크 (disk 및 disc) 는 본원에서 사용되는 바와 같이, 콤팩트 디스크 (compact disc, CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크를 포함하는데, disk들은 보통 데이터를 자기적으로 재생하지만, disc들은 레이저들로써 광적으로 데이터를 재생한다. 상기한 것들의 조합들은 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서들, 이를테면 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그램가능 로직 어레이들 (FPGA들), 또는 다른 동등한 집적 또는 개별 로직 회로에 의해 실행될 수도 있다. 따라서, 본원에서 사용되는 바와 같은 용어 "프로세서"는 앞서의 구조 또는 본원에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 말할 수도 있다. 덧붙여서, 일부 양태들에서, 본원에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성되는, 또는 결합형 코덱 (codec) 으로 통합되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 본 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들 내에 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적회로 (IC) 또는 IC들의 세트 (예컨대, 칩 셋) 를 포함하는 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하지는 않는다. 대신에, 위에서 설명된 바와 같이, 다양한 유닛들은 코덱 하드웨어 유닛에 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명된 바와 같은 하나 이상의 프로세서들을 포함하는, 상호운용적 하드웨어 유닛들의 컬렉션에 의해 제공될 수도 있다.
다양한 예들이 설명되어 있다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (36)

  1. 비디오 데이터를 프로세싱하는 방법으로서,
    인코딩된 비디오 비트스트림에서의 스케일러블 네스트형 보충 강화 정보 (SEI) 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 디코딩하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 디코딩하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  3. 제 1 항에 있어서,
    상기 네스트된 SEI 메세지는 가설 참조 디코더 (HRD) 파라미터들의 세트를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  4. 제 1 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 디코딩하는 단계를 더 포함하며,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 비디오 데이터를 프로세싱하는 방법.
  5. 제 1 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 디코딩하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  6. 제 1 항에 있어서,
    상기 복수의 신택스 엘리먼트들을 디코딩하는 단계는,
    상기 네스트된 SEI 메세지가 적용되는 상기 복수의 동작 포인트들에서의 적어도 하나의 개별 동작 포인트에 대하여,
    상기 스케일러블 네스트형 SEI 메세지로부터, 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 디코딩하는 단계,
    상기 제 1 신택스 엘리먼트에 적어도 부분적으로 기초하여, 상기 개별 동작 포인트의 최대 시간 식별자를 결정하는 단계, 및
    상기 제 2 신택스 엘리먼트에 적어도 부분적으로 기초하여, 상기 개별 동작 포인트의 계층 식별자들의 세트를 결정하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  7. 하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은,
    인코딩된 비디오 비트스트림에서의 스케일러블 네스트형 보충 강화 정보 (SEI) 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 디코딩하도록
    구성되는, 디바이스.
  8. 제 7 항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 디코딩하도록
    구성되는, 디바이스.
  9. 제 7 항에 있어서,
    상기 네스트된 SEI 메세지는 가설 참조 디코더 (HRD) 파라미터들의 세트를 포함하는, 디바이스.
  10. 제 7 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 디코딩하도록
    구성되며,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 디바이스.
  11. 제 7 항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 디코딩하도록
    구성되는, 디바이스.
  12. 제 7 항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 네스트된 SEI 메세지가 적용되는 상기 복수의 동작 포인트들에서의 적어도 하나의 개별 동작 포인트에 대하여, 상기 하나 이상의 프로세서들이
    상기 스케일러블 네스트형 SEI 메세지로부터, 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 디코딩하고,
    상기 제 1 신택스 엘리먼트에 적어도 부분적으로 기초하여, 상기 개별 동작 포인트의 최대 시간 식별자를 결정하며, 그리고
    상기 제 2 신택스 엘리먼트에 적어도 부분적으로 기초하여, 상기 개별 동작 포인트의 계층 식별자들의 세트를 결정하도록
    구성되는, 디바이스.
  13. 인코딩된 비디오 비트스트림에서의 스케일러블 네스트형 보충 강화 정보 (SEI) 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 디코딩하는 수단을 포함하는, 디바이스.
  14. 제 13 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 디코딩하는 수단; 및
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 디코딩하는 수단을 더 포함하는, 디바이스.
  15. 제 13 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 디코딩하는 수단을 더 포함하며,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 디바이스.
  16. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 디바이스에 의해 실행되는 경우,
    인코딩된 비디오 비트스트림에서의 스케일러블 네스트형 보충 강화 정보 (SEI) 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 디코딩하도록
    상기 디바이스를 구성하는, 컴퓨터 판독가능 저장 매체.
  17. 제 16 항에 있어서,
    상기 명령들은 추가로,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 디코딩하고; 그리고
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 디코딩하도록
    상기 디바이스를 구성하는, 컴퓨터 판독가능 저장 매체.
  18. 제 16 항에 있어서,
    상기 명령들은 추가로,
    상기 스케일러블 네스트형 SEI 메세지로부터, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 디코딩하도록
    상기 디바이스를 구성하며,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 컴퓨터 판독가능 저장 매체.
  19. 비디오 데이터를 인코딩하는 방법으로서,
    스케일러블 네스트형 보충 강화 정보 (SEI) 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 상기 스케일러블 네스트형 SEI 메세지를 생성하는 단계; 및
    상기 스케일러블 네스트형 SEI 메세지를 인코딩된 비디오 비트스트림에서 시그널링하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  20. 제 19 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지는, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 포함하는, 비디오 데이터를 인코딩하는 방법.
  21. 제 19 항에 있어서,
    상기 네스트된 SEI 메세지는 가설 참조 디코더 (HRD) 파라미터들의 세트를 포함하는, 비디오 데이터를 인코딩하는 방법.
  22. 제 19 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지에서, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 포함하는 단계를 더 포함하며,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 비디오 데이터를 인코딩하는 방법.
  23. 제 19 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지에서, 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 포함하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법.
  24. 제 19 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지를 생성하는 단계는, 상기 네스트된 SEI 메세지가 적용되는 상기 복수의 동작 포인트들에서의 적어도 하나의 개별 동작 포인트에 대하여, 상기 스케일러블 네스트형 SEI 메세지에서, 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 포함하는 단계를 포함하며,
    상기 제 1 신택스 엘리먼트는 상기 개별 동작 포인트의 최대 시간 식별자를 표시하고, 상기 제 2 신택스 엘리먼트는 상기 개별 동작 포인트의 계층 식별자들의 세트를 표시하는, 비디오 데이터를 인코딩하는 방법.
  25. 비디오 인코딩 디바이스로서,
    하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은,
    스케일러블 네스트형 보충 강화 정보 (SEI) 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 상기 스케일러블 네스트형 SEI 메세지를 생성하고; 그리고
    상기 스케일러블 네스트형 SEI 메세지를 인코딩된 비디오 비트스트림에서 시그널링하도록
    구성되는, 비디오 인코딩 디바이스.
  26. 제 25 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지는, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 포함하는, 비디오 인코딩 디바이스.
  27. 제 25 항에 있어서,
    상기 네스트된 SEI 메세지는 가설 참조 디코더 (HRD) 파라미터들의 세트를 포함하는, 비디오 인코딩 디바이스.
  28. 제 25 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 스케일러블 네스트형 SEI 메세지에서, 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 포함하도록 구성되며,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 비디오 인코딩 디바이스.
  29. 제 25 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 스케일러블 네스트형 SEI 메세지에서, 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 포함하도록 구성되는, 비디오 인코딩 디바이스.
  30. 제 25 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 네스트된 SEI 메세지가 적용되는 상기 복수의 동작 포인트들에서의 적어도 하나의 개별 동작 포인트에 대하여, 상기 하나 이상의 프로세서들이 상기 스케일러블 네스트형 SEI 메세지에서, 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트를 포함하도록 구성되며,
    상기 제 1 신택스 엘리먼트는 상기 개별 동작 포인트의 최대 시간 식별자를 표시하고, 상기 제 2 신택스 엘리먼트는 상기 개별 동작 포인트의 계층 식별자들의 세트를 표시하는, 비디오 인코딩 디바이스.
  31. 비디오 인코딩 디바이스로서,
    스케일러블 네스트형 보충 강화 정보 (SEI) 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 상기 스케일러블 네스트형 SEI 메세지를 생성하는 수단; 및
    상기 스케일러블 네스트형 SEI 메세지를 인코딩된 비디오 비트스트림에서 시그널링하는 수단을 포함하는, 비디오 인코딩 디바이스.
  32. 제 31 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지는, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 포함하고,
    상기 스케일러블 네스트형 SEI 메세지는 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 포함하는, 비디오 인코딩 디바이스.
  33. 제 31 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지는 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 포함하고,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 비디오 인코딩 디바이스.
  34. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 비디오 인코딩 디바이스에 의해 실행되는 경우,
    스케일러블 네스트형 보충 강화 정보 (SEI) 메세지에 의해 캡슐화된 네스트된 SEI 메세지가 적용되는 복수의 동작 포인트들을 식별하는 복수의 신택스 엘리먼트들을 포함하는 상기 스케일러블 네스트형 SEI 메세지를 생성하고; 그리고
    상기 스케일러블 네스트형 SEI 메세지를 인코딩된 비디오 비트스트림에서 시그널링하도록
    상기 비디오 인코딩 디바이스를 구성하는, 컴퓨터 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지는, 상기 스케일러블 네스트형 SEI 메세지가 상기 동작 포인트들을 식별하는 상기 복수의 신택스 엘리먼트들을 포함하는지 여부를 표시하는 신택스 엘리먼트를 포함하고,
    상기 스케일러블 네스트형 SEI 메세지는 상기 네스트된 SEI 메세지가 적용되는 동작 포인트들의 개수를 표시하는 신택스 엘리먼트를 포함하는, 컴퓨터 판독가능 저장 매체.
  36. 제 34 항에 있어서,
    상기 스케일러블 네스트형 SEI 메세지는 상기 스케일러블 네스트형 SEI 메세지에 의해 캡슐화된 복수의 네스트된 SEI 메세지들을 포함하고,
    상기 네스트된 SEI 메세지들의 각각은 상기 복수의 신택스 엘리먼트들에 의해 식별된 상기 동작 포인트들 모두에 적용가능한, 컴퓨터 판독가능 저장 매체.
KR1020157011900A 2012-10-08 2013-09-20 비디오 코딩에서 네스트된 sei 메세지에 적용가능한 동작 포인트들의 식별 KR101719935B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261711098P 2012-10-08 2012-10-08
US61/711,098 2012-10-08
US13/954,681 US9380317B2 (en) 2012-10-08 2013-07-30 Identification of operation points applicable to nested SEI message in video coding
US13/954,681 2013-07-30
PCT/US2013/060925 WO2014058599A1 (en) 2012-10-08 2013-09-20 Identification of operation points applicable to nested sei message in video coding

Publications (2)

Publication Number Publication Date
KR20150067319A true KR20150067319A (ko) 2015-06-17
KR101719935B1 KR101719935B1 (ko) 2017-03-24

Family

ID=50432659

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020157011901A KR101677867B1 (ko) 2012-10-08 2013-09-20 비디오 코딩에서 네스트된 sei 메세지들에 대한 서브-비트스트림 적용가능성
KR1020157011900A KR101719935B1 (ko) 2012-10-08 2013-09-20 비디오 코딩에서 네스트된 sei 메세지에 적용가능한 동작 포인트들의 식별
KR1020157011899A KR101697886B1 (ko) 2012-10-08 2013-09-20 가설 참조 디코더 파라미터 신택스 구조

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020157011901A KR101677867B1 (ko) 2012-10-08 2013-09-20 비디오 코딩에서 네스트된 sei 메세지들에 대한 서브-비트스트림 적용가능성

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157011899A KR101697886B1 (ko) 2012-10-08 2013-09-20 가설 참조 디코더 파라미터 신택스 구조

Country Status (30)

Country Link
US (3) US9154785B2 (ko)
EP (3) EP2904782B1 (ko)
JP (3) JP6013614B2 (ko)
KR (3) KR101677867B1 (ko)
CN (3) CN104685891B (ko)
AP (1) AP3952A (ko)
AR (2) AR093288A1 (ko)
AU (2) AU2013330284B2 (ko)
BR (2) BR112015007763B1 (ko)
CA (2) CA2885807C (ko)
CO (1) CO7350643A2 (ko)
DK (1) DK2904782T3 (ko)
EC (1) ECSP15018127A (ko)
ES (2) ES2727814T3 (ko)
HK (2) HK1207775A1 (ko)
HU (2) HUE043479T2 (ko)
IL (2) IL237948A (ko)
MA (1) MA37971B1 (ko)
MX (1) MX341437B (ko)
MY (2) MY172252A (ko)
PH (2) PH12015500625A1 (ko)
PT (1) PT2904782T (ko)
RU (2) RU2643463C2 (ko)
SA (1) SA515360254B1 (ko)
SG (2) SG11201501833PA (ko)
SI (1) SI2904782T1 (ko)
TW (2) TWI565299B (ko)
UA (2) UA116363C2 (ko)
WO (3) WO2014058599A1 (ko)
ZA (1) ZA201502498B (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185992A (zh) * 2012-02-08 2014-12-03 汤姆逊许可公司 用于使用假设参考解码器的超低延迟模式的方法和装置
US9912941B2 (en) 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
US10110890B2 (en) 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
US9154785B2 (en) 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US9992492B2 (en) * 2012-10-09 2018-06-05 Cisco Technology, Inc. Providing a common set of parameters for sub-layers of coded video
CN104704850A (zh) 2012-10-09 2015-06-10 思科技术公司 对位流中的图像格式转换的在先解码的图像的输出管理
US9374585B2 (en) * 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
WO2015056158A1 (en) * 2013-10-14 2015-04-23 Nokia Technologies Oy Multi-layer hypothetical reference decoder
WO2015056179A1 (en) * 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding using syntax element
EP3051820B1 (en) * 2013-10-22 2020-12-02 Huawei Technologies Co. Ltd. Image decoding device and image decoding method
US10063867B2 (en) 2014-06-18 2018-08-28 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US9918091B2 (en) 2014-06-20 2018-03-13 Qualcomm Incorporated Systems and methods for assigning a minimum value to a syntax structure in a parameter set
US10432951B2 (en) 2014-06-24 2019-10-01 Qualcomm Incorporated Conformance and inoperability improvements in multi-layer video coding
US9800898B2 (en) 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
WO2016180486A1 (en) * 2015-05-12 2016-11-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Composite scalable video streaming
US10129558B2 (en) * 2015-09-21 2018-11-13 Qualcomm Incorporated Supplement enhancement information (SEI) messages for high dynamic range and wide color gamut video coding
US10244249B2 (en) 2015-09-21 2019-03-26 Qualcomm Incorporated Fixed point implementation of range adjustment of components in video coding
US10349067B2 (en) * 2016-02-17 2019-07-09 Qualcomm Incorporated Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks
US10397443B2 (en) * 2016-03-01 2019-08-27 Qualcomm Incorporated Methods and systems for generating color remapping information supplemental enhancement information messages for video
US12011298B2 (en) * 2016-04-13 2024-06-18 Cryos Technologes Inc. Membrane-based foot imaging apparatus including a camera for monitoring foot positioning
CA3112712C (en) 2016-10-05 2023-09-12 Dolby Laboratories Licensing Corporation Source color volume information messaging
US10728559B2 (en) * 2017-07-07 2020-07-28 Qualcomm Incorporated Precision of computation and signaling of dynamic range adjustment and color remapping information
WO2019065587A1 (en) * 2017-09-29 2019-04-04 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR SIGNALING INFORMATION ASSOCIATED WITH A CONSTITUTIVE IMAGE
CN111699652B (zh) * 2018-02-07 2023-10-10 Lg电子株式会社 在无线通信***中发送信号的方法及支持该方法的装置
CN109905715B (zh) * 2019-02-26 2021-07-06 北京世纪好未来教育科技有限公司 ***sei数据的码流转换方法及***
US11856231B2 (en) * 2019-05-30 2023-12-26 Sharp Kabushiki Kaisha Systems and methods for signaling hypothetical reference decoder parameters in video coding
JP7403245B2 (ja) * 2019-06-21 2023-12-22 キヤノン株式会社 画像復号装置、画像復号方法
JP7480791B2 (ja) * 2019-06-27 2024-05-10 ホアウェイ・テクノロジーズ・カンパニー・リミテッド V-pcc用の仮想参照デコーダ
EP3977746A4 (en) 2019-07-05 2022-08-03 Huawei Technologies Co., Ltd. BITSTREAM EXTRACTION FOR VIDEO CODING WITH SIGNALING IDENTIFIERS
EP4022777A4 (en) * 2019-09-24 2022-11-23 Huawei Technologies Co., Ltd. DECODED PICTURE BUFFER OPERATION FOR RESOLUTION CHANGES
MX2022003550A (es) * 2019-09-24 2022-06-02 Huawei Tech Co Ltd Pruebas de conformidad hrd en ols.
JP7419507B2 (ja) * 2019-09-24 2024-01-22 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Olsのためのスケーラブルネスティングseiメッセージ
CN114424527B (zh) * 2019-09-24 2023-07-11 华为技术有限公司 所有层可伸缩嵌套式sei消息的设置方法和装置
CN117478900A (zh) * 2019-09-24 2024-01-30 华为技术有限公司 用于实现时间可适性的图像时序和解码单元信息
JP7431330B2 (ja) 2019-12-26 2024-02-14 バイトダンス インコーポレイテッド ビデオコーディングにおけるプロファイル、層及びレイヤの指示
CN114868158A (zh) 2019-12-26 2022-08-05 字节跳动有限公司 层级视频中的解码图片缓冲区参数的信令通知
KR20220121804A (ko) 2019-12-27 2022-09-01 바이트댄스 아이엔씨 파라미터 세트들에서의 서브픽처 시그널링
WO2021142363A1 (en) 2020-01-09 2021-07-15 Bytedance Inc. Decoding order of different sei messages
IL304023A (en) * 2020-05-22 2023-08-01 Ge Video Compression Llc Video encoder, video decoder, encoding and decoding methods, and video data sequencing to implement advanced video coding concepts
WO2021237123A1 (en) 2020-05-22 2021-11-25 Bytedance Inc. Sei message handling in video sub-bitstream extraction process
CN115699765A (zh) 2020-05-22 2023-02-03 字节跳动有限公司 访问单元中图片信息的信令
AU2022271427B2 (en) * 2020-05-22 2024-01-18 Ge Video Compression, Llc Video encoder, video decoder, methods for encoding and decoding and video data stream for realizing advanced video coding concepts
KR20230020426A (ko) 2020-06-09 2023-02-10 바이트댄스 아이엔씨 비디오 코딩에서 서브픽처 레벨 정보 시그널링
CN117528004A (zh) 2020-06-09 2024-02-06 字节跳动有限公司 多层视频比特流的子比特流提取
CA3182204A1 (en) * 2020-06-09 2021-12-16 Ye-Kui Wang Signaling constraints in non-scalable nested video syntax elements
US11962936B2 (en) 2020-09-29 2024-04-16 Lemon Inc. Syntax for dependent random access point indication in video bitstreams
CN116868575A (zh) * 2020-12-17 2023-10-10 Lg电子株式会社 生成/接收包括nal单元信息的媒体文件的方法和装置及发送媒体文件的方法
WO2022220724A1 (en) * 2021-04-12 2022-10-20 Telefonaktiebolaget Lm Ericsson (Publ) Message referencing

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW262619B (en) 1995-06-06 1995-11-11 United Microelectronics Corp Shrinking device for code table of variable length decoder
EP1346568A1 (en) * 2000-12-04 2003-09-24 Koninklijke Philips Electronics N.V. Recording arrangement for the error-tolerant recording of an information signal
TWI259378B (en) 2004-02-26 2006-08-01 Cablesoft Tech Inc An automatic addressing control method for MSO CATV system
US8615038B2 (en) 2004-12-06 2013-12-24 Nokia Corporation Video coding, decoding and hypothetical reference decoder
KR100878371B1 (ko) 2005-04-19 2009-01-15 돌비 스웨덴 에이비 공간적 오디오 파라미터들의 효율적인 부호화를 위한에너지 종속 양자화
RU2407217C2 (ru) 2005-10-11 2010-12-20 Нокиа Корпорейшн Система и способ для эффективной адаптации масштабируемых потоков
JP2009512306A (ja) * 2005-10-11 2009-03-19 ノキア コーポレイション スケーラブルビデオコーディングのためのデコードされたピクチャーの効率的なバッファマネージメント
EP1977604B1 (en) * 2006-01-11 2014-03-19 Nokia Corporation Method for a backward -compatible encapsulation of a scalable coded video signal into a sequence of aggregate data units
US20070230564A1 (en) 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
WO2008005124A2 (en) * 2006-07-05 2008-01-10 Thomson Licensing Methods and apparatus for multi-view video encoding and decoding
US8699583B2 (en) 2006-07-11 2014-04-15 Nokia Corporation Scalable video coding and decoding
US7860147B2 (en) 2006-08-16 2010-12-28 Harris Corporation Method of communicating and associated transmitter using coded orthogonal frequency division multiplexing (COFDM)
US20080089411A1 (en) 2006-10-16 2008-04-17 Nokia Corporation Multiple-hypothesis cross-layer prediction
WO2008046243A1 (en) 2006-10-16 2008-04-24 Thomson Licensing Method and device for encoding a data stream, method and device for decoding a data stream, video indexing system and image retrieval system
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
AU2007342468B2 (en) * 2007-01-05 2011-11-24 Interdigital Vc Holdings, Inc. Hypothetical reference decoder for scalable video coding
KR101455161B1 (ko) 2007-01-08 2014-10-28 톰슨 라이센싱 비디오 스트림 스플라이싱을 위한 방법 및 장치
GB0700381D0 (en) * 2007-01-09 2007-02-14 Mitsubishi Electric Inf Tech Generalised Hypothetical Reference Decoder for Scalable Video Coding with Bitstream Rewriting
WO2008130528A2 (en) * 2007-04-17 2008-10-30 Thomson Licensing Hypothetical reference decoder for multiview video coding
WO2008126059A2 (en) * 2007-04-17 2008-10-23 Nokia Corporation Feedback based scalable video coding
JP5026584B2 (ja) * 2007-04-18 2012-09-12 トムソン ライセンシング 符号化システム
US20090003431A1 (en) * 2007-06-28 2009-01-01 Lihua Zhu Method for encoding video data in a scalable manner
US20100142613A1 (en) 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
US9712833B2 (en) 2007-06-26 2017-07-18 Nokia Technologies Oy System and method for indicating temporal layer switching points
JP5153674B2 (ja) * 2008-02-26 2013-02-27 キヤノン株式会社 動画像符号化装置及び動画像符号化方法
US8369415B2 (en) * 2008-03-06 2013-02-05 General Instrument Corporation Method and apparatus for decoding an enhanced video stream
FR2932050B1 (fr) 2008-06-03 2010-05-21 Canon Kk Procede et dispositif de transmission de donnees video
JP5462259B2 (ja) 2008-07-16 2014-04-02 シズベル インターナショナル エス.アー. トラックおよびトラックサブセットグループ化の方法および装置
WO2010021665A1 (en) 2008-08-20 2010-02-25 Thomson Licensing Hypothetical reference decoder
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
JP5267886B2 (ja) 2009-04-08 2013-08-21 ソニー株式会社 再生装置、記録媒体、および情報処理方法
KR20120081022A (ko) 2009-05-01 2012-07-18 톰슨 라이센싱 3d 비디오 코딩 포맷
US8948241B2 (en) 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
CN103119934B (zh) * 2010-07-20 2017-02-22 诺基亚技术有限公司 一种流媒体传输装置
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9716920B2 (en) * 2010-08-05 2017-07-25 Qualcomm Incorporated Signaling attributes for network-streamed video data
US9635355B2 (en) 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding
WO2013030458A1 (en) 2011-08-31 2013-03-07 Nokia Corporation Multiview video coding and decoding
US9591361B2 (en) 2011-09-07 2017-03-07 Qualcomm Incorporated Streaming of multimedia data from multiple sources
US9998726B2 (en) 2012-06-20 2018-06-12 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US9241158B2 (en) 2012-09-24 2016-01-19 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US8989508B2 (en) * 2012-09-28 2015-03-24 Sharp Kabushiki Kaisha Electronic device for signaling a sub-picture buffer parameter
US9154785B2 (en) 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Miska M. Hannuksela, ‘AHG9: Operation points in VPS and nesting SEI’, JCTVC-K0180, JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 11th Meeting: Shanghai, CN, 01 Oct. 2012* *
Miska M. Hannuksela, ‘AHG9: Operation points in VPS and nesting SEI’, JCTVC-K0180r1, JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 11th Meeting: Shanghai, CN,14 Oct. 2012 *
Y-K WANG, ‘AHG9: On HRD and related general issues’, JCTVC-K0126, JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 11th Meeting: Shanghai, CN, 01 Oct. 2012 *

Also Published As

Publication number Publication date
AP2015008363A0 (en) 2015-04-30
TW201436536A (zh) 2014-09-16
DK2904782T3 (en) 2018-04-30
SI2904782T1 (en) 2018-05-31
CO7350643A2 (es) 2015-08-10
CA2885807C (en) 2018-04-03
SG11201501832UA (en) 2015-05-28
RU2643463C2 (ru) 2018-02-01
SG11201501833PA (en) 2015-05-28
HK1207775A1 (en) 2016-02-05
US20140098896A1 (en) 2014-04-10
WO2014058598A1 (en) 2014-04-17
UA116998C2 (uk) 2018-06-11
CN104704842B (zh) 2018-04-20
ES2727814T3 (es) 2019-10-18
KR20150056877A (ko) 2015-05-27
MA37971B1 (fr) 2016-10-31
BR112015007763B1 (pt) 2022-08-02
UA116363C2 (uk) 2018-03-12
EP2904782B1 (en) 2018-01-17
KR101697886B1 (ko) 2017-01-18
CA2885670A1 (en) 2014-04-17
PT2904782T (pt) 2018-04-23
US20140098894A1 (en) 2014-04-10
RU2015117520A (ru) 2016-11-27
CA2885807A1 (en) 2014-04-17
CN104685891A (zh) 2015-06-03
US9380317B2 (en) 2016-06-28
AR094449A1 (es) 2015-08-05
HUE038492T2 (hu) 2018-10-29
HK1209550A1 (en) 2016-04-01
MX341437B (es) 2016-08-18
MY172252A (en) 2019-11-20
EP2904787B1 (en) 2019-02-27
AU2013330284B2 (en) 2017-06-08
US9319703B2 (en) 2016-04-19
BR112015007763A2 (pt) 2017-07-04
IL237948A (en) 2016-11-30
MA37971A1 (fr) 2016-03-31
WO2014058599A1 (en) 2014-04-17
ECSP15018127A (es) 2015-12-31
CN104685891B (zh) 2018-07-20
AU2013330284A1 (en) 2015-04-23
IL237949B (en) 2019-10-31
CN104685892B (zh) 2019-02-22
JP2015532551A (ja) 2015-11-09
CN104704842A (zh) 2015-06-10
JP6077124B2 (ja) 2017-02-08
EP2904784B1 (en) 2018-12-19
PH12015500625B1 (en) 2015-05-11
EP2904784A1 (en) 2015-08-12
ZA201502498B (en) 2017-09-27
RU2633100C2 (ru) 2017-10-11
HUE043479T2 (hu) 2019-08-28
KR101677867B1 (ko) 2016-11-18
JP2015536114A (ja) 2015-12-17
CA2885670C (en) 2017-07-18
JP2015537420A (ja) 2015-12-24
MX2015004383A (es) 2015-06-10
ES2663692T3 (es) 2018-04-16
PH12015500742A1 (en) 2015-05-25
SA515360254B1 (ar) 2016-08-15
PH12015500742B1 (en) 2015-05-25
TW201429256A (zh) 2014-07-16
WO2014058600A1 (en) 2014-04-17
US20140098895A1 (en) 2014-04-10
KR20150067318A (ko) 2015-06-17
AP3952A (en) 2016-12-21
RU2015117436A (ru) 2016-11-27
IL237949A0 (en) 2015-05-31
JP6013614B2 (ja) 2016-10-25
AU2013330372A1 (en) 2015-04-16
TWI533674B (zh) 2016-05-11
JP6062558B2 (ja) 2017-01-18
AU2013330372B2 (en) 2017-07-06
TWI565299B (zh) 2017-01-01
MY168739A (en) 2018-11-29
EP2904787A1 (en) 2015-08-12
BR112015007761B1 (pt) 2022-08-09
BR112015007761A2 (pt) 2017-07-04
PH12015500625A1 (en) 2015-05-11
KR101719935B1 (ko) 2017-03-24
AR093288A1 (es) 2015-05-27
US9154785B2 (en) 2015-10-06
CN104685892A (zh) 2015-06-03
EP2904782A1 (en) 2015-08-12

Similar Documents

Publication Publication Date Title
KR101719935B1 (ko) 비디오 코딩에서 네스트된 sei 메세지에 적용가능한 동작 포인트들의 식별
EP3058743B1 (en) Support of multi-mode extraction for multi-layer video codecs
US9521393B2 (en) Non-nested SEI messages in video coding
US10003815B2 (en) Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
WO2014015279A1 (en) Parameter sets in video coding
WO2015009712A1 (en) Tiles and wavefront processing in multi-layer context
KR20140142255A (ko) 3차원 비디오 코딩을 위한 네트워크 추상화 계층 (nal) 단위 헤더 설계

Legal Events

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