KR101756615B1 - 디코딩 방법, 디코딩 장치 및 프로그램 기록 매체 - Google Patents

디코딩 방법, 디코딩 장치 및 프로그램 기록 매체 Download PDF

Info

Publication number
KR101756615B1
KR101756615B1 KR1020167035740A KR20167035740A KR101756615B1 KR 101756615 B1 KR101756615 B1 KR 101756615B1 KR 1020167035740 A KR1020167035740 A KR 1020167035740A KR 20167035740 A KR20167035740 A KR 20167035740A KR 101756615 B1 KR101756615 B1 KR 101756615B1
Authority
KR
South Korea
Prior art keywords
video
syntax
flag
hrd
vui
Prior art date
Application number
KR1020167035740A
Other languages
English (en)
Other versions
KR20170000391A (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 KR20170000391A publication Critical patent/KR20170000391A/ko
Application granted granted Critical
Publication of KR101756615B1 publication Critical patent/KR101756615B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • 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

Landscapes

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

Abstract

비디오 코딩 시스템의 동작 방법은 비디오 비트스트림을 수신하는 단계; 비디오 비트스트림으로부터 비디오 구문(video syntax)을 추출하는 단계; 비디오 구문에 기초하여 비디오 비트스트림으로부터 시간 계층을 추출하는 단계; 및 디바이스 상에 디스플레이하기 위해 시간 계층에 기초하여 비디오 스트림을 형성하는 단계를 포함한다.

Description

디코딩 방법, 디코딩 장치 및 프로그램 기록 매체{DECODING METHOD, DECODING APPARATUS AND PROGRAM RECORDING MEDIUM}
관련 출원의 상호 참조
본 출원은 2013년 2월 1일자로 출원된, 발명의 명칭이 "시간 확장성을 갖는 비디오 코딩 시스템 및 그 동작 방법(VIDEO CODING SYSTEM WITH TEMPORAL SCALABILITY AND METHOD OF OPERATION THEREOF)"인 미국 특허 출원 제13/757,679호에 관련된 발명 요지를 포함한다. 그의 발명 요지는 참조 문헌으로서 그 전체가 본 명세서에 포함된다.
본 출원은 2013년 2월 1일자로 출원된, 발명의 명칭이 "낮은 지연을 갖는 비디오 코딩 시스템 및 그 동작 방법(VIDEO CODING SYSTEM WITH LOW DELAY AND METHOD OF OPERATION THEREOF)"인 미국 특허 출원 제13/757,685호에 관련된 발명 요지를 포함한다. 그의 발명 요지는 참조 문헌으로서 그 전체가 본 명세서에 포함된다.
본 출원은 2012년 7월 2일자로 출원된 미국 가특허 출원 제61/667,269호, 2012년 7월 30일자로 출원된 미국 가특허 출원 제61/677,302호, 및 2013년 2월 1일자로 출원된 미국 정규 특허 출원 제13/757,624호에 기초하여 우선권을 주장하고, 그들의 발명 요지는 참조 문헌으로서 그 전체가 본 명세서에 포함된다.
본 발명은 일반적으로 비디오 시스템에 관한 것으로서, 보다 상세하게는 비디오 코딩 시스템에 관한 것이다.
고품질 비디오를 스마트폰, 고화질 텔레비전, 자동차 정보 시스템, 및 화면을 갖는 다른 비디오 디바이스로 배포하는 일이 최근에 엄청나게 증가하였다. 비디오 콘텐츠를 지원하는 아주 다양한 정보 디바이스들은 다수의 유형의 비디오 콘텐츠가 상이한 크기, 품질, 및 연결 능력을 갖는 디바이스들에 제공될 것을 필요로 한다.
비디오는 2차원 단일 뷰 비디오로부터 고해상도 3차원 영상을 갖는 멀티뷰 비디오로 진화하였다. 비디오의 전송을 더 효율적이도록 만들기 위해, 상이한 비디오 코딩 및 압축 방식들은 최소량의 데이터로부터 최상의 픽처를 획득하려고 시도해왔다. MPEG(Moving Pictures Experts Group)은 표준화된 데이터 시퀀스 및 알고리즘에 기초하여 양호한 비디오 품질을 가능하게 하는 표준들을 개발하였다. H.264(MPEG4 Part 10)/Advanced Video Coding 설계는 이전의 MPEG-2 형식보다 전형적으로 2배 정도 코딩 효율이 개선되었다. 비디오의 품질은 비디오에서의 데이터의 조작 및 압축에 의존한다. 비디오가 비디오를 상이한 해상도들 및 특징 세트들을 갖는 디스플레이 디바이스들로 송신하는 데 사용되는 다양한 대역폭들을 수용하도록 수정될 수 있다. 그렇지만, 보다 대화면이고 보다 고품질 비디오를 배포하는 것 또는 보다 복잡한 비디오 기능은 부가의 대역폭 및 개선된 비디오 압축을 필요로 한다.
이와 같이, 상이한 크기, 해상도 및 연결을 갖는 넓은 범위의 디바이스에 걸쳐 양호한 픽처 품질 및 특징들을 전달할 수 있는 비디오 코딩 시스템이 여전히 필요하다. 점점 더 많은 범위의 지능적 디바이스들에서 비디오를 제공하라는 요구가 증가하는 것에 따라, 이 문제들에 대한 해답들을 찾아내는 것이 점점 더 중요해지고 있다. 소비자 기대의 증가 및 시장에서의 의미있는 제품 차별화를 위한 기회의 감소와 함께, 상업적 경쟁 압력의 지속적인 증가를 고려하여, 이 문제들에 대한 해답들을 찾아내는 것이 아주 중요하다. 그에 부가하여, 비용을 절감하고 효율 및 성능을 향상시키며 경쟁 압력을 충족시킬 필요성은 이 문제들에 대한 해답을 찾아내야 하는 불가결한 필요성에 훨씬 더 큰 긴급성을 부가한다.
이 문제들에 대한 해결책들이 오랫동안 조사되었지만, 이전의 개발들은 어떤 해결책들도 개시하거나 제안하지 않았으며, 따라서 당업자는 이 문제들에 대한 해결책들을 오랫동안 알지 못하였다.
일 실시예에 의하면, 비디오 스트림이 비디오 표현 필드를 포함하는지 여부를 나타내는 복수의 서브계층에 걸쳐 공통의 플래그를 포함하는 VUI(Video Usability Information)를 설정하는 설정부와, 상기 비디오 스트림을 인코딩하여, 상기 설정부에 의해 설정된 상기 VUI를 포함하는 인코딩 비트 스트림을 생성하는 인코딩부를 포함하는 인코딩 장치가 제공된다. 해당 인코딩 장치를 제어하는 프로세서를 기능시키기 위한 프로그램을 저장한 컴퓨터 판독가능 기록 매체도 또한 제공된다.
다른 실시예에 의하면, 인코딩 장치에 있어서, 비디오 스트림이 비디오 표현 필드를 포함하는지 여부를 나타내는 복수의 서브계층에 걸쳐 공통의 플래그를 포함하는 VUI(Video Usability Information)를 설정하는 단계와, 상기 비디오 스트림을 인코딩하여, 설정된 상기 VUI를 포함하는 인코딩 비트 스트림을 생성하는 단계를 포함하는 방법이 제공된다.
본 발명의 특정 실시예들은 앞서 언급한 것들에 부가하여 또는 그 대신에 다른 측면들을 가진다. 이 측면들은 첨부 도면들을 참조하여 기술된 이하의 상세한 설명을 읽어보면 당업자에게 명백하게 될 것이다.
도 1은 본 발명의 일 실시예에서의 비디오 코딩 시스템의 블록도.
도 2는 비디오 비트스트림의 한 예를 나타낸 도면.
도 3은 HEVC(High Efficiency Video Coding) VUI(Video Usability Information) 구문의 한 예를 나타낸 도면.
도 4는 HEVC VUI 제1 확장 구문의 한 예를 나타낸 도면.
도 5는 HEVC VUI 제2 확장 구문의 한 예를 나타낸 도면.
도 6은 HRD 구문의 한 예를 나타낸 도면.
도 7은 HRD 서브계층 구문의 한 예를 나타낸 도면.
도 8은 HRD VUI 구문의 한 예를 나타낸 도면.
도 9는 비디오 코딩 시스템의 기능 블록도.
도 10은 비디오 코딩 시스템의 제어 흐름을 나타낸 도면.
도 11은 본 발명의 추가의 실시예에서의 비디오 코딩 시스템의 동작 방법의 플로우차트.
이하의 실시예들은 당업자가 본 발명을 제조 및 사용할 수 있게 하도록 충분히 상세히 기술되어 있다. 다른 실시예들이 본 개시 내용에 기초하여 명백하게 될 것이라는 것과 본 발명의 범주를 벗어나지 않으면서 공정 또는 기계적 변경이 행해질 수 있다는 것을 잘 알 것이다.
이하의 설명에서, 본 발명의 완전한 이해를 제공하기 위해 다수의 구체적인 상세가 주어져 있다. 그렇지만, 본 발명이 이들 구체적인 상세 없이 실시될 수 있다는 것이 명백할 것이다. 본 발명을 불명료하게 하는 것을 피하기 위해, 일부 공지된 회로들, 시스템 구성들, 및 공정 단계들이 상세히 개시되지 않는다.
마찬가지로, 시스템의 실시예들을 나타낸 도면들은 준도식적(semi-diagrammatic)이고 축척대로 되어 있지 않으며, 특히, 치수들 중 일부는 표현의 명확함을 위한 것이고, 도면들에서 크게 과장되어 도시되어 있다. 다수의 실시예들이 일부 특징들을 공통으로 가지는 것으로 개시되고 기술되어 있지만, 명확함 및 그의 예시, 설명 및 이해의 편의를 위해, 서로 유사한 그리고 동일한 특징들이 통상적으로 동일한 참조 번호들로 기술될 것이다.
"구문"이라는 용어는 데이터 구조체를 기술하는 요소들의 세트를 의미한다. 본 명세서에서 언급되는 "모듈"이라는 용어는 본 발명에서 사용된 문맥에 따라 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있다.
이제 도 1을 참조하면, 본 발명의 일 실시예에서의 비디오 코딩 시스템(100)의 블록도가 동 도면에 도시되어 있다. 비디오 인코더(102)는 비디오 콘텐츠(108)를 수신하고, 비디오 비트스트림(110)을 디코딩하여 디스플레이 인터페이스(120) 상에 디스플레이하기 위해 비디오 디코더(104)로 송신할 수 있다.
비디오 인코더(102)는 비디오 콘텐츠(108)를 수신하여 인코딩할 수 있다. 비디오 인코더(102)는 비디오 콘텐츠(108)를 상이한 형태로 인코딩하는 유닛이다. 비디오 콘텐츠(108)는 물체들의 장면의 디지털 표현으로서 정의된다. 예를 들어, 비디오 콘텐츠(108)는 하나 이상의 디지털 비디오 카메라들의 디지털 출력일 수 있다.
인코딩은 비디오 콘텐츠(108)를 상이한 형태로 계산적으로 수정하는 것으로서 정의된다. 예를 들어, 인코딩은 비디오 비트스트림(110)을 전송하는 데 필요한 데이터의 양을 감소시키기 위해 비디오 콘텐츠(108)를 비디오 비트스트림(110)으로 압축할 수 있다.
다른 예에서, 비디오 콘텐츠(108)는 압축되는 것, 시각적으로 향상되는 것, 하나 이상의 뷰들로 분리되는 것, 해상도가 변경되는 것, 종횡비가 변경되는 것, 또는 이들의 조합에 의해 인코딩될 수 있다. 다른 예시적인 예에서, 비디오 콘텐츠(108)는 HEVC(High-Efficiency Video Coding)/H.265 초안 표준에 따라 인코딩될 수 있다.
비디오 인코더(102)는 비디오 콘텐츠(108)를 인코딩하여 비디오 비트스트림(110)을 형성할 수 있다. 비디오 비트스트림(110)은 비디오 콘텐츠(108)와 연관된 정보를 표현하는 비트 시퀀스로서 정의된다. 예를 들어, 비디오 비트스트림(110)은 비디오 콘텐츠(108)의 압축을 표현하는 비트 시퀀스일 수 있다. 다른 예에서, 비디오 비트스트림(110)은 시간에 따라 직렬로 전송되는 비디오 콘텐츠(108)을 표현하는 일련의 비트들이다.
비디오 인코더(102)는 각종의 방식들로 장면에 대한 비디오 콘텐츠(108)를 수신할 수 있다. 예를 들어, 실세계에서의 물체들을 표현하는 비디오 콘텐츠(108)는 비디오 카메라, 다수의 카메라들로 포착되거나, 컴퓨터로 생성되거나, 파일로서 제공되거나, 이들의 조합일 수 있다.
비디오 콘텐츠(108)는 각종의 비디오 특징들을 포함할 수 있다. 예를 들어, 비디오 콘텐츠(108)는 단일 뷰 비디오, 멀티뷰 비디오, 입체 비디오, 또는 이들의 조합을 포함할 수 있다. 추가의 예에서, 비디오 콘텐츠(108)는 3D 안경 없이 3차원(3D) 비디오 보는 것을 지원하기 위한 4개 이상의 카메라들의 멀티뷰 비디오일 수 있다.
비디오 인코더(102)는 비디오 구문(114)을 사용해 비디오 콘텐츠(108)를 인코딩하여 비디오 비트스트림(110)을 생성할 수 있다. 비디오 구문(114)은 비디오 콘텐츠(108)를 인코딩 및 디코딩하는 코딩 방법을 기술하는 정보 요소들의 세트로서 정의된다. 비디오 비트스트림(110)은 HEVC(High-Efficiency Video Coding)/H.265 표준과 같은 비디오 구문(114)에 부합하고, HEVC 비디오 비트스트림, UHD(Ultra High Definition) 비디오 비트스트림, 또는 이들의 조합을 포함할 수 있다. 비디오 비트스트림(110)은 비디오 구문(114)을 포함할 수 있다.
비디오 비트스트림(110)은 비디오 콘텐츠(108)의 영상을 표현하는 정보 및 비디오 콘텐츠(108)의 인코딩에 연관된 관련 제어 정보를 포함할 수 있다. 예를 들어, 비디오 비트스트림(110)은 비디오 구문(114)의 출현 및 비디오 콘텐츠(108)의 출현을 포함할 수 있다.
비디오 코딩 시스템(100)은 비디오 비트스트림(110)을 디코딩하는 비디오 디코더(104)를 포함할 수 있다. 비디오 디코더(104)는 비디오 비트스트림(110)을 수신하고 비디오 비트스트림(110)을 수정하여 비디오 스트림(112)을 형성하는 유닛으로서 정의된다.
비디오 디코더(104)는 비디오 구문(114)을 사용해 비디오 비트스트림(110)을 디코딩하여 비디오 스트림(112)을 형성할 수 있다. 디코딩은 비디오 비트스트림(110)을 계산적으로 수정하여 비디오 스트림(112)을 형성하는 것으로서 정의된다. 예를 들어, 디코딩은 비디오 비트스트림(110)을 압축 해제하여 디스플레이 인터페이스(120) 상에 디스플레이하기 위한 형식으로 된 비디오 스트림(112)을 형성할 수 있다.
비디오 스트림(112)은 비디오 콘텐츠(108)의 계산적으로 수정된 버전으로서 정의된다. 예를 들어, 비디오 스트림(112)은 상이한 해상도를 갖는 비디오 콘텐츠(108)의 수정된 출현을 포함할 수 있다. 비디오 스트림(112)은 비디오 콘텐츠(108)로부터의 크로핑된 디코딩된 픽처들을 포함할 수 있다.
추가의 예에서, 비디오 스트림(112)은 비디오 콘텐츠(108)와 상이한 종횡비, 상이한 프레임 레이트, 상이한 입체 뷰들, 상이한 보기 순서, 또는 이들의 조합을 가질 수 있다. 비디오 스트림(112)은 상이한 색 파라미터, 색 평면, 콘트라스트, 색상(hue), 또는 이들의 조합을 포함하는 상이한 시각적 특성들을 가질 수 있다.
비디오 코딩 시스템(100)은 디스플레이 프로세서(118)를 포함할 수 있다. 디스플레이 프로세서(118)는 디스플레이 인터페이스(120) 상에 디스플레이하기 위해 비디오 디코더(104)로부터 비디오 스트림(112)을 수신할 수 있다. 디스플레이 인터페이스(120)는 비디오 스트림(112)의 시각적 표현을 제시할 수 있는 유닛이다.
예를 들어, 디스플레이 인터페이스(120)는 스마트폰 디스플레이, 디지털 프로젝터, DVD 플레이어 디스플레이, 또는 이들의 조합을 포함할 수 있다. 비디오 코딩 시스템(100)이 비디오 디코더(104), 디스플레이 프로세서(118), 및 디스플레이 인터페이스(120)를 개별적인 유닛들로서 나타내고 있지만, 비디오 디코더(104)가 디스플레이 프로세서(118) 및 디스플레이 인터페이스(120)를 포함할 수 있다는 것을 잘 알 것이다.
비디오 인코더(102)는 통신 경로(106)를 통해 비디오 비트스트림(110)을 비디오 디코더(104)로 송신할 수 있다. 통신 경로(106)는 데이터 전송에 적당한 각종의 네트워크들일 수 있다.
예를 들어, 통신 경로(106)는 무선 통신, 유선 통신, 광, 초음파, 또는 이들의 조합을 포함할 수 있다. 위성 통신, 셀룰러 통신, 블루투스, IrDA(Infrared Data Association standard), WiFi(wireless fidelity), 및 WiMAX(worldwide interoperability for microwave access)는 통신 경로(106)에 포함될 수 있는 무선 통신의 예들이다. 이더넷, DSL(digital subscriber line), FTTH(fiber to the home), 및 POTS(plain old telephone service)는 통신 경로(106)에 포함될 수 있는 유선 통신의 예들이다.
비디오 코딩 시스템(100)은 각종의 비디오 코딩 구문 구조체들을 이용할 수 있다. 예를 들어, 비디오 코딩 시스템(100)은 HEVC(High Efficiency Video Coding)/H.265 작업 초안 버전을 사용하여 비디오 정보를 인코딩 및 디코딩할 수 있다. HEVC 작업 초안 버전은 참조 문헌으로서 그 전체가 포함되어 있는 문서들에 기술되어 있다. 참조 문헌으로서 그 전체가 포함되어 있는 문서들은 다음과 같은 것들을 포함한다:
B. Bross, W. Han, J Ohm, G. Sullivan, T. Wiegand, "High-Efficiency Video Coding (HEVC) text specification draft 8", JCTVC-J1003 d7, July 2012 (Stockholm).
B. Bross, W. Han, J. Ohm, G. Sullivan, T. Wiegand, "High Efficiency Video Coding (HEVC) text specification draft 7" JCTVC-I1003 d4, May 2012 (Geneva).
M. Haque, K. Sato, A. Tabatabai, T. Suzuki, "HEVC VUI Parameters with Extension Hooks", JCTVC-J0270, July 2012 (Stockholm).
M. Haque, A. Tabatabai, "Extension of HEVC VUI Syntax Structure", JCTVC-I0263, May 2012.
M. Haque, "AHG10: VUI and HRD syntax designs agreed by the BoG on VPS and NUH", JCTVC-J0548rl, July 2012.
이제 도 2를 참조하면, 비디오 비트스트림(110)의 한 예가 동 도면에 도시되어 있다. 비디오 비트스트림(110)은 도 1의 비디오 콘텐츠(108)의 인코딩된 출현을 포함하고, 도 1의 디스플레이 인터페이스(120) 상에 디스플레이하기 위한 도 1의 비디오 스트림(112)을 형성하기 위해 비디오 구문(114)을 사용하여 디코딩될 수 있다.
비디오 비트스트림(110)은 구문 유형(syntax type)(202)으로 나타낸 바와 같이 각종의 비디오 유형들을 포함할 수 있다. 구문 유형(202)은 비디오 비트스트림(110)을 인코딩 및 디코딩하는 데 사용되는 비디오 코딩의 유형의 표시자로서 정의된다. 예를 들어, 비디오 콘텐츠(108)는 AVC(advanced video coding)(204), SVC(scalable video coding)(206), MVC(multiview video coding)(208), MVD(multiview video plus depth)(210), 및 SSV(stereoscopic video)(212)에 대한 구문 유형(202)을 포함할 수 있다.
AVC(advanced video coding)(204) 및 SVC(scalable video coding)(206)는 단일 뷰 기반 비디오를 인코딩하여 비디오 비트스트림(110)을 형성하는 데 사용될 수 있다. 단일 뷰 기반 비디오는 단일 카메라로부터 생성된 비디오 콘텐츠(108)를 포함할 수 있다.
MVC(multiview video coding)(208), MVD(multiview video plus depth)(210), 및 SSV(stereoscopic video)(212)는 2개 이상의 뷰들을 가지는 비디오 콘텐츠(108)를 인코딩하는 데 사용될 수 있다. 예를 들어, 멀티뷰 비디오는 다수의 카메라들로부터의 비디오 콘텐츠(108)를 포함할 수 있다.
비디오 구문(114)은 엔트리 식별자(entry identifier)(216)를 포함할 수 있다. 엔트리 식별자(216)는 다수의 코딩된 비디오 시퀀스들을 구별하기 위한 값이다. 코딩된 비디오 시퀀스들은 단일 뷰 비디오, 멀티뷰 비디오, 또는 입체 비디오에 대한 상이한 비트 레이트, 프레임 레이트, 해상도, 또는 스케일러블 계층들을 가지는 비디오 콘텐츠(108)의 출현들을 포함할 수 있다.
비디오 구문(114)은 비디오 콘텐츠(108)에서의 각각의 프레임과 연관된 엔트리들의 수를 식별하기 위한 엔트리 카운트(214)를 포함할 수 있다. 엔트리 카운트(214)는 비디오 콘텐츠(108)에 표현되는 엔트리들의 최대 수이다.
비디오 구문(114)은 반복 식별자(iteration identifier)(218)를 포함할 수 있다. 반복 식별자(218)는 비디오 콘텐츠(108)의 개별적인 반복들을 구별하기 위한 값이다.
비디오 구문(114)은 반복 카운트(iteration count)(220)를 포함할 수 있다. 반복 카운트(220)는 비디오 콘텐츠(108)의 반복들의 최대 횟수를 나타내는 값이다.
스케일러블 비디오 코딩의 경우, 반복 카운트라는 용어는 스케일러블 비디오 코딩의 경우에 상이한 스케일러블 비디오 계층들에 연계된 정보 엔트리들의 수를 나타내는 데 사용될 수 있다. 멀티뷰 비디오 코딩의 경우, 반복 카운트는 비디오 콘텐츠(108)의 뷰들의 수에 연계된 동작점들의 수를 나타내는 데 사용될 수 있다.
예를 들어, 스케일러블 비디오 코딩에서, 비디오 콘텐츠(108)는 비디오 비트스트림(110)의 다중 계층 출현들을 형성하기 위해 부가의 향상 계층들(enhancement layers)을 갖는 기본 계층(base layer)을 포함하도록 인코딩될 수 있다. 기본 계층은 최저 해상도, 프레임 레이트, 또는 품질을 가질 수 있다.
향상 계층들은 비디오의 품질을 향상시키기 위해 사용되는 부가의 잔여 정보에 의한 점진적인 세밀화들을 포함할 수 있다. 스케일러블 비디오 계층 확장은 스케일러블 비디오 코딩을 다루기 위해 확장될 수 있는 HEVC의 새로운 기준 표준을 포함할 수 있다.
비디오 구문(114)은 동작 식별자(operation identifier)(222)를 포함할 수 있다. 동작 식별자(222)는 비디오 콘텐츠(108)의 개별적인 동작점들을 구별하기 위한 값이다. 동작점들은 타이밍 정보, NAL(network abstraction layer) HRD(hypothetical referenced decoder) 파라미터들, VCL(video coding layer) HRD 파라미터들, pic_struct_present_flag 요소, 또는 이들의 조합과 같은, 멀티뷰 비디오 코딩을 위해 존재하는 정보 엔트리들이다.
비디오 구문(114)은 동작 카운트(operation count)(224)를 포함할 수 있다. 동작 카운트(224)는 비디오 콘텐츠(108)의 동작들의 최대 수를 나타내는 값이다.
동작점들은 멀티뷰 및 3D 비디오에 대한 상이한 카메라들에 의해 생성된 뷰들과 같은 다양한 뷰들로부터의 코딩된 비디오 시퀀스들의 생성에 연계되어 있다. 멀티뷰 비디오 코딩의 경우, 동작점은 목표 출력 뷰(target output view) 및 목표 출력 뷰에 의존하는 다른 뷰들을 가지는 비디오 비트스트림(110)의 서브셋과 연관되어 있다. 다른 뷰들은, 서브비트스트림(sub-bitstream) 추출 프로세스를 사용하여 도출되는 경우, 목표 출력 뷰에 의존한다. 2개 이상의 동작점이 비디오 비트스트림(110)의 동일한 서브셋과 연관되어 있을 수 있다. 예를 들어, 동작점을 디코딩하는 것은 동작점에 대응하는 비디오 비트스트림의 서브셋을 디코딩하는 것 그리고 이어서 도 1의 디바이스(102) 상에 디스플레이하기 위해 비디오 스트림(112)의 일부분으로서 목표 출력 뷰들을 출력하는 것을 말한다.
비디오 구문(114)은 뷰 식별자(view identifier)(226)를 포함할 수 있다. 뷰 식별자(226)는 비디오 콘텐츠(108)의 개별적인 뷰들을 구별하기 위한 값이다.
비디오 구문(114)은 뷰 카운트(view count)(228)를 포함할 수 있다. 뷰 카운트(228)는 비디오 콘텐츠(108)의 뷰들의 최대 수를 나타내는 값이다.
예를 들어, 단일 뷰는 단일 카메라에 의해 생성된 비디오일 수 있다. 멀티뷰 비디오는 장면에서 보이는 물체들로부터 상이한 위치들 및 거리들에 있는 다수의 카메라들에 의해 생성될 수 있다.
비디오 콘텐츠(108)는 각종의 비디오 특성들을 포함할 수 있다. 예를 들어, 비디오 콘텐츠(108)는 UHD(Ultra High Definition) 비디오와 같은 고해상도 비디오일 수 있다. 비디오 콘텐츠(108)는 7680 x 4320, 8K x 2K, 4K x 2K, 또는 이들의 조합의 해상도들을 포함하는, 3840 x 2160 또는 그 이상의 픽셀 해상도를 가질 수 있다. 비디오 콘텐츠(108)가 고해상도 비디오를 지원하지만, 비디오 콘텐츠(108)가 또한 HD(high definition) 비디오와 같은 보다 낮은 해상도들을 지원할 수 있다는 것을 잘 알 것이다. 비디오 구문(114)은 비디오 콘텐츠(108)의 해상도를 지원할 수 있다.
비디오 콘텐츠(108)는 15 fps(frames per second), 24 fps, 25 fps, 30 fps, 50 fps, 60 fps, 및 120 fps를 포함하는 각종의 프레임 레이트들을 지원할 수 있다. 개별적인 프레임 레이트들이 기술되어 있지만, 비디오 콘텐츠(108)가 초당 0 프레임 및 그 이상의 고정 및 가변 프레임 레이트를 지원할 수 있다는 것을 잘 알 것이다. 비디오 구문(114)은 비디오 콘텐츠(108)의 프레임 레이트를 지원할 수 있다.
비디오 비트스트림(110)은 하나 이상의 시간 계층들(230)을 포함할 수 있다. 시간 계층들(230)은 명시된 프레임 레이트로 비디오 스트림(112)을 표현하는 비디오 비트스트림(110)의 일부분들로서 정의된다. 시간 계층들(230) 각각은 fps(frames per second)로 표현되는 상이한 프레임 레이트로 비디오 스트림(112)을 표현할 수 있다. 시간 계층들(230)은 하위 계층들을 비롯하여 상위 계층들을 갖는 계층구조를 형성할 수 있다.
예를 들어, 시간 계층들(230)의 제1 출현(232)은 비디오 스트림(112)의 15 fps 출현을 나타낼 수 있고, 시간 계층들(230)의 제2 출현(234)은 비디오 스트림(112)의 30 fps 출현을 나타낼 수 있으며, 시간 계층들(230)의 제3 출현(236)은 비디오 스트림(112)의 60 fps 출현을 나타낼 수 있다. 시간 계층들(230) 각각은 비디오 콘텐츠(108)를 나타내는 비디오 프레임들(238)을 포함할 수 있다.
시간 계층들(230)의 제1 출현(232)은 15 fps로 비디오 스트림(112)을 형성하기 위해 비디오 콘텐츠(108)를 인코딩하는 기본 계층을 나타낼 수 있다. 시간 계층들(230)의 제2 출현(234)은 시간 계층들(230)의 제1 출현(232)과 같은 기본 계층과 비디오 콘텐츠(108)의 비디오 스트림(112) 사이의 차이를 30 fps로 표현할 수 있다.
제2 출현(234)은 기본 계층의 프레임들과 비디오 콘텐츠(108)를 디스플레이하는 데 필요한 새로운 프레임들 사이의 차이를 30 fps로 표현하는 프레임들을 포함할 수 있다. 시간 계층들(230)의 제3 출현(236)은 시간 계층들(230)의 제2 출현(234)과 비디오 콘텐츠 사이의 차이를 60 fps로 표현할 수 있다.
한 예시적인 예에서, 스마트폰에 대한 도 1의 비디오 디코더(104)는 제1 출현(232) 및 제2 출현(234)으로부터의 정보를 포함할 수 있는 비디오 비트스트림(110)으로부터 30 fps로 시간 계층들(230)의 제2 출현(234)을 추출할 수 있다. 비디오 비트스트림(110)의 크기를 감소시키기 위해, 시간 계층들(230)의 제3 출현(236)으로부터의 비디오 비트스트림(110) 내의 정보는 폐기될 수 있다.
이제 도 3을 참조하면, HEVC(High Efficiency Video Coding) VUI(Video Usability Information) 구문(302)의 한 예가 동 도면에 도시되어 있다. HEVC VUI 구문(302)은 도 1의 비디오 콘텐츠(108)에 대한 부가의 애플리케이션 사용가능성 특징들을 가능하게 하기 위해 도 1의 비디오 비트스트림(110)에 관한 정보를 포함한다.
HEVC VUI 구문(302)은 도 3의 HEVC VUI 구문 테이블에서의 요소들을 기술하고 있다. HEVC VUI 구문(302)의 요소들은 도 3의 HEVC VUI 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다.
HEVC VUI 구문(302)은 vui_parameters 요소와 같은 HEVC VUI 구문 헤더(303)를 포함한다. HEVC VUI 구문 헤더(303)는 HEVC VUI 구문(302)을 식별하기 위한 기술자이다. HEVC VUI 구문(302)은 비디오 비트스트림(110)을 인코딩 및 디코딩하는 데 사용된다.
HEVC VUI 구문(302)은 비디오 비트스트림(110)에 관한 각종의 정보를 포함할 수 있다. HEVC VUI 구문(302)은 비디오 콘텐츠(108)에 대한 종횡비, 오버스캔, 비디오 신호 유형, 크로마, NAL HRD 값들, 비트스트림 제한들, 또는 이들의 조합에 관한 정보를 포함할 수 있다.
HEVC VUI 구문(302)은 비디오 콘텐츠(108)의 종횡비에 관한 종횡비 정보를 포함할 수 있다. HEVC VUI 구문(302)은 종횡비 플래그(304), 종횡비 표시자(306), 종횡비 폭(308), 및 종횡비 높이(310), 또는 이들의 조합을 포함할 수 있다.
HEVC VUI 구문(302)은 부가의 종횡비 정보가 비디오 비트스트림(110)에 인코딩되어 있다는 것을 나타내는 aspect_ratio_info_present_flag 요소와 같은 종횡비 플래그(304)를 포함할 수 있다. 종횡비 플래그(304)는 종횡비 정보가 비디오 비트스트림(110)에 있지 않다는 것을 나타내는 0의 값 및 종횡비 정보가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 1의 값을 가질 수 있다.
종횡비 표시자(306)는 비디오 콘텐츠(108)의 종횡비를 기술하는 값이다. 예를 들어, aspect_ratio_idc 요소와 같은 종횡비 표시자(306)는 비디오 콘텐츠(108)에 대한 사전 정의된 종횡비들의 열거형 목록(enumerated list)에 대한 인덱스 값을 포함할 수 있다. 추가의 예에서, 종횡비 표시자(306)는 종횡비가 종횡비 폭(308) 및 종횡비 높이(310)에 대한 개개의 값들에 의해 기술될 수 있다는 것을 나타내는 값을 포함할 수 있다.
sar_width 요소와 같은 종횡비 폭(308)은 비디오 콘텐츠(108)의 폭을 기술할 수 있다. sar_height 요소와 같은 종횡비 높이(310)는 비디오 콘텐츠(108)의 높이를 기술할 수 있다. 종횡비 폭(308) 및 종횡비 높이(310)는 비, 픽셀, 라인, 인치, 센티미터, 또는 이들의 조합으로 된 비디오 콘텐츠의 치수들을 기술할 수 있다.
HEVC VUI 구문(302)은 비디오 콘텐츠(108)에 대한 오버스캔 정보(overscan information)를 포함할 수 있다. HEVC VUI 구문(302)은 오버스캔 존재 플래그(overscan present flag)(312) 및 오버스캔 적절 플래그(overscan appropriate flag)(314)를 포함할 수 있다.
오버스캔은 도 1의 비디오 스트림(112)의 크로핑된 디코딩된 픽처들의 경계들 근방에 있는 일부 부분들이 비디오 스트림(112)의 디스플레이 영역에서 보이지 않는 디스플레이 프로세스로서 정의된다. 언더스캔(underscan)은 비디오 스트림(112)의 크로핑된 디코딩된 픽처들 전체가 디스플레이 영역에서 보이지만 디스플레이 영역 전체에 걸쳐 있지 않는 디스플레이 프로세스로서 정의된다.
오버스캔 존재 플래그(312)는 오버스캔 정보가 비디오 비트스트림(110)에 포함되어 있는지를 나타낼 수 있다. overscan_info_present_flag와 같은 오버스캔 존재 플래그(312)는 오버스캔 정보가 비디오 비트스트림에 존재한다는 것을 나타내는 1의 값 또는 오버스캔 정보가 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
오버스캔 적절 플래그(314)는 비디오 비트스트림(110)에 인코딩된 비디오 콘텐츠(108)가 오버스캔을 사용하여 디스플레이될 수 있다는 것을 나타낼 수 있다. overscan_appropriate_flag 요소와 같은 오버스캔 적절 플래그(314)는 비디오 스트림(112)의 크로핑된 디코딩된 픽처들이 오버스캔을 사용하여 디스플레이하기에 적당하다는 것을 나타내는 1의 값을 가질 수 있다. 오버스캔 적절 플래그(314)는 비디오 스트림(112)의 크로핑된 디코딩된 픽처들이 시각적으로 중요한 정보를 포함하고 오버스캔을 사용하여 디스플레이되어서는 안된다는 것을 나타내는 0의 값을 가질 수 있다.
HEVC VUI 구문(302)은 비디오 콘텐츠(108)에 대한 비디오 신호 유형 정보를 포함할 수 있다. HEVC VUI 구문(302)은 비디오 신호 존재 플래그(316), 비디오 형식(317), 비디오 전체 범위 플래그(video full range flag)(318), 색 설명 존재 플래그(color description present flag)(320), 3원색(color primaries)(322), 전달 특성(324), 및 행렬 계수(326)를 포함할 수 있다.
video_signal_type_present_flag 요소와 같은 비디오 신호 존재 플래그(316)는 비디오 신호 유형 정보가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타낼 수 있다. 비디오 신호 존재 플래그(316)는 부가의 비디오 신호 유형 정보가 비디오 비트스트림(110)에 존재한다는 것을 나타내는 1의 값을 가질 수 있다. 비디오 신호 존재 플래그(316)는 어떤 비디오 신호 유형 정보도 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
video_format 요소와 같은 비디오 형식(317)은 비디오의 형식을 나타낼 수 있다. video_full_range_flag 요소와 같은 비디오 전체 범위 플래그(318)는 비디오 비트스트림(110)에 인코딩되어 있는 비디오 콘텐츠(108)에 대한 블랙 레벨과 루마 신호 및 크로마 신호의 범위를 나타낼 수 있다.
colour_description_present_flag 요소와 같은 색 설명 존재 플래그(320)는 비디오 비트스트림(110)에서의 색 설명 정보의 존재를 나타낼 수 있다. 색 설명 존재 플래그(320)는 부가의 색 설명 정보가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 1의 값을 가질 수 있다. 색 설명 존재 플래그(320)는 어떤 다른 색 설명 정보도 포함되어 있지 않다는 것을 나타내는 0의 값을 가질 수 있다. 색 설명 정보는 3원색(322), 전달 특성(324) 및 행렬 계수(326)를 포함할 수 있다.
3원색(322)은 비디오 콘텐츠(108)에서 사용되는 색 구성표(color scheme)를 나타낼 수 있다. 예를 들어, colour_primaries 요소와 같은 3원색(322)은 소스 원색들(source primaries)의 색도 좌표들을 나타낼 수 있다.
전달 특성(324)은 비디오 콘텐츠(108)의 광-전자 전달 특성(opto-electronic transfer characteristics)을 나타낼 수 있다. 예를 들어, transfer_characteristics 요소와 같은 전달 특성(324)은 사전 정의된 디스플레이 특성들의 세트를 기술하는 열거형 값일 수 있다.
행렬 계수(326)는 3원색(322)으로 표시된 적색, 녹색 및 청색 원색들로부터 루마 신호 및 크로마 신호를 도출하는 데 사용되는 계수를 나타낼 수 있다. matrix_coefficient 요소와 같은 행렬 계수(326)는 적색, 청색 및 녹색 색 좌표들의 세트를 루마 및 크로마 대응물들로 계산적으로 변환하는 데 사용되는 행렬 계수일 수 있다.
HEVC VUI 구문(302)은 비디오 콘텐츠(108)에 대한 크로마 정보를 포함할 수 있다. HEVC VUI 구문(302)은 크로마 위치 정보 존재 플래그(chroma loc information present flag)(328), 크로마 상부 필드 샘플(330), 크로마 하부 필드 샘플(332), 및 중성 크로마 플래그(neutral chroma flag)(334)를 포함할 수 있다.
chroma_loc_info_present_flag 요소와 같은 크로마 위치 정보 존재 플래그(328)는 부가의 크로마 정보가 비디오 비트스트림(110)에 존재하는지를 나타낼 수 있다. 크로마 위치 정보 존재 플래그(328)는 부가의 크로마 정보가 존재한다는 것을 나타내는 1의 값 또는 어떤 부가의 크로마 정보도 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다. 부가의 크로마 정보는 크로마 상부 필드 샘플(330) 및 크로마 하부 필드 샘플(332)을 포함할 수 있다.
chroma_sample_loc_type_top_field 요소와 같은 크로마 상부 필드 샘플(330)은 비디오 비트스트림(110)에서 상부 필드에 대한 크로마 샘플들의 위치를 명시하는 열거형 값일 수 있다. chroma_sample_loc_type_bottom_field 요소와 같은 크로마 하부 필드 샘플(332)은 비디오 비트스트림(110)에서 하부 필드에 대한 크로마 샘플들의 위치를 명시하는 열거형 값일 수 있다.
neutral_chroma_indication_flag 요소와 같은 중성 크로마 플래그(334)는 디코딩된 크로마 샘플들이 1인지를 나타낼 수 있다. 예를 들어, 중성 크로마 플래그(334)가 1의 값을 가지는 경우, 디코딩된 크로마 샘플들 전부가 1로 설정된다. 중성 크로마 플래그(334)가 0의 값을 가지는 경우, 디코딩된 크로마 샘플들이 1로 제한되지 않는다.
HEVC VUI 구문(302)은 비디오 비트스트림(110)에 관한 필드 시퀀스 정보를 포함할 수 있다. HEVC VUI 구문(302)은 필드 시퀀스 플래그(336), 타이밍 정보 존재 플래그(338), 틱 단위(340), 시간 스케일(344), 및 고정 픽처 레이트 플래그(346)를 포함할 수 있다.
field_seq_flag와 같은 필드 시퀀스 플래그(336)는 코딩된 비디오 시퀀스 정보가 필드들을 나타내는 비디오를 포함하는지를 나타낼 수 있다. 필드 시퀀스 플래그(336)는 필드들의 존재를 나타내는 1의 값 및 필드들이 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
timing_info_present_flag 요소와 같은 타이밍 정보 존재 플래그(338)는 타이밍 정보가 비디오 비트스트림(110)에 포함되어 있는지를 나타낼 수 있다. 타이밍 정보 존재 플래그(338)는 타이밍 정보가 비디오 비트스트림(110)에 있다는 것을 나타내는 1의 값 및 타이밍 정보가 비디오 비트스트림(110)에 포함되어 있지 않다는 것을 나타내는 0의 값을 가질 수 있다.
num_units_in_tick 요소와 같은 틱 단위(340)는 시간 스케일(344)의 주파수로 동작하는 클럭의 시간 단위들의 수를 나타낼 수 있다. 예를 들어, 틱 단위(340)는 비디오 비트스트림(110)에서 표현될 수 있는 최소 시간 간격에 대응할 수 있다. time_scale 요소와 같은 시간 스케일(344)은 1초 내에 지나가는 시간 단위들의 수이다.
fixed_pic_rate_flag 요소와 같은 고정 픽처 레이트 플래그(346)는 비디오 스트림(112)의 출력 순서에서 2개의 연속적인 픽처들 사이의 시간 거리가 제약되는지를 나타낼 수 있다. 고정 픽처 레이트 플래그(346)는 어떤 제약도 적용되지 않는다는 것을 나타내는 0의 값 및 시간 거리가 제약된다는 것을 나타내는 1의 값을 가진다.
HEVC VUI 구문(302)은 가상 참조 디코더 파라미터들에 관련된 정보를 포함할 수 있다. HEVC VUI 구문(302)은 NAL HRD 파라미터 존재 플래그(348), VCL HRD 파라미터 존재 플래그(352), 및 HRD 파라미터 구조체(350)를 포함할 수 있다.
nal_hrd_parameters_present_flag 요소와 같은 NAL HRD 파라미터 존재 플래그(348)는 NAL HRD 파라미터 정보의 존재를 나타낼 수 있다. NAL HRD 파라미터 존재 플래그(348)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 HEVC VUI 구문(302)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
vcl_hrd_parameters_present_flag 요소와 같은 VCL HRD 파라미터 존재 플래그(352)는 VCL에 대한 HRD 정보의 존재를 나타낼 수 있다. VCL HRD 파라미터 존재 플래그(352)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 HEVC VUI 구문(302)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
HRD 파라미터 구조체(350)는 VCL에 대한 가상 참조 디코더 파라미터들을 포함한다. HRD 파라미터 구조체(350)는 이하의 HRD 구문 섹션에 상세히 기술되어 있다. HRD 파라미터 구조체(350)는 HRD 구문의 한 출현이다.
NAL HRD 파라미터 존재 플래그(348) 또는 VCL HRD 파라미터 존재 플래그(352)가 1의 값을 가지는 경우, HEVC VUI 구문(302)은 부가의 HRD 파라미터들 및 비트스트림 파라미터들을 포함할 수 있다. HEVC VUI 구문(302)은 저지연 HRD 플래그(354), 서브픽처 코딩된 픽처 버퍼(CPB) 파라미터 존재 플래그(356), 및 서브단위 틱(358)을 포함할 수 있다.
HEVC VUI 구문(302)은 low_delay_hrd_flag 요소와 같은 저지연 HRD 플래그(354)를 포함할 수 있다. 저지연 HRD 플래그(354)는 HRD 동작 모드를 나타낼 수 있다.
HEVC VUI 구문(302)은 sub_pic_cpb_params_present_flag 요소와 같은 서브픽처 CPB 파라미터 존재 플래그(356)를 포함할 수 있다. 서브픽처 CPB 파라미터 존재 플래그(356)는 서브픽처 CPB 파라미터들이 비디오 비트스트림(110)에 존재하는지를 나타낼 수 있다.
서브픽처 CPB 파라미터 존재 플래그(356)가 1의 값을 가지는 경우, HEVC VUI 구문(302)은 num_of_units_in_sub_tick 요소와 같은 서브단위 틱(358)을 포함할 수 있다. 서브단위 틱(358)은 타이밍 보조 향상 정보(SEI) 메시지들을 제거하기 전에 기다리는 틱들의 수를 나타낼 수 있다.
NAL HRD 파라미터 존재 플래그(348) 또는 VCL HRD 파라미터 존재 플래그(352)가 1의 값을 가지는 경우, HEVC VUI 구문(302)은 비트스트림 파라미터들을 포함할 수 있다. HEVC VUI 구문(302)은 비디오 비트스트림(110)에 관한 비트스트림 제한 정보를 포함할 수 있다. HEVC VUI 구문(302)은 비트스트림 제한 플래그(360), 타일 고정 구조체 플래그(tiles fixed structure flag)(362), 움직임 벡터 플래그(motion vector flag)(364), 픽처 디노미네이션별 최대 바이트(max bytes per picture denomination)(366), 최소 cu 디노미네이션별 최대 비트(maximum bits per minimum cu denomination)(368), 최대 움직임 벡터 수평 길이(maximum motion vector horizontal length)(370), 및 최대 움직임 벡터 수직 길이(maximum motion vector vertical length)(372)를 포함할 수 있다.
bitstream_restriction_flag 요소와 같은 비트스트림 제한 플래그(360)는 코딩된 비디오 시퀀스 비트스트림 제한 파라미터들이 비디오 비트스트림(110)에 존재한다는 것을 나타낸다. 비트스트림 제한 플래그(360)는 비트스트림 제한 파라미터들이 존재하는 경우의 1의 값 및 비트스트림 제한 파라미터들이 비디오 비트스트림(110)에 존재하지 않는 경우의 0의 값을 가진다. 비트스트림 제한 파라미터들은 타일 고정 구조체 플래그(362), 움직임 벡터 플래그(364), 픽처 디노미네이션별 최대 바이트(366), 최소 cu 디노미네이션별 최대 비트(368), 최대 움직임 벡터 수평 길이(370), 및 최대 움직임 벡터 수직 길이(372)를 포함할 수 있다.
tiles_fixed_structure_flag 요소와 같은 타일 고정 구조체 플래그(362)는 코딩된 비디오 시퀀스에서의 각각의 픽처가 동일한 수의 타일들을 가진다는 것을 나타낼 수 있다. 타일 고정 구조체 플래그(362)는 고정된 타일들을 나타내는 1의 값 및 다른 것을 나타내는 0의 값을 가질 수 있다.
motion_vector_over_pic_boundaries_flag 요소와 같은 움직임 벡터 플래그(364)는 픽처 경계 밖의 어떤 샘플도 예측을 위해 사용되지 않는다는 것을 나타낼 수 있다. 움직임 벡터 플래그(364)가 1의 값을 가지는 경우, 픽처 경계 밖의 하나 이상의 샘플들은 예측을 위해 사용될 수 있고, 그렇지 않은 경우, 어떤 샘플들도 예측을 위해 사용되지 않는다.
max_bytes_per_pic_denom 요소와 같은 픽처 디노미네이션별 최대 바이트(366)는 코딩된 비디오 시퀀스 내의 임의의 코딩된 픽처와 연관된 VCL NAL 단위들의 크기들의 합에 대한 최대 바이트 수를 나타내는 값이다. 픽처 디노미네이션별 최대 바이트(366)가 0의 값을 가지는 경우, 어떤 한계들도 나타내지 않는다. 그렇지 않은 경우, 이는 어떤 코딩된 픽처들도 비디오 비트스트림(110)에서 픽처 디노미네이션별 최대 바이트(366) 초과의 바이트로 표현되어서는 안된다는 비트스트림 적합성(bitstream conformance)의 요건이다.
max_bits_per_min_cu_denom 요소와 같은 최소 cu 디노미네이션별 최대 비트(368)는 코딩된 비디오 시퀀스의 임의의 픽처에서 임의의 코딩 블록에 대한 코딩 단위 데이터의 코딩된 비트들의 수에 대한 상한을 나타내는 값이다. 최소 cu 디노미네이션별 최대 비트(368)가 0의 값을 가지는 경우, 어떤 한계들도 나타내지 않는다. 그렇지 않은 경우, 이는 어떤 코딩 단위도 비트스트림에서 최소 cu 디노미네이션별 최대 비트(368) 초과로 표현되어서는 안된다는 비트스트림 적합성의 요건이다.
log2_max_mv_length_horizontal 요소와 같은 최대 움직임 벡터 수평 길이(370)는 비디오 비트스트림(110) 내의 모든 픽처들에 대한 디코딩된 수평 움직임 벡터 성분의 최대 절대값을 나타낸다. log2_max_mv_length_vertical 요소와 같은 최대 움직임 벡터 수직 길이(372)는 비디오 비트스트림(110) 내의 모든 픽처들에 대한 디코딩된 수직 움직임 벡터 성분의 최대 절대값을 나타낸다.
이제 도 4를 참조하면, HEVC VUI 제1 확장 구문(402)의 한 예가 동 도면에 도시되어 있다. HEVC VUI 제1 확장 구문(402)은 도 1의 비디오 비트스트림(110)에서의 도 2의 시간 계층들(230)의 각각의 출현에 대한 개별적인 타이밍 정보를 제공한다.
HEVC VUI 제1 확장 구문(402)은 도 4의 HEVC VUI 제1 확장 구문 테이블에서의 요소들을 기술하고 있다. HEVC VUI 제1 확장 구문(402)의 요소들은 도 4의 HEVC VUI 제1 확장 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다. 예를 들어, HEVC VUI 제1 확장 구문(402)은 도 3의 HEVC VUI 구문(302)의 확장일 수 있다.
HEVC VUI 제1 확장 구문(402)은 vui_parameters 요소와 같은 HEVC VUI 제1 확장 구문 헤더(404)를 포함한다. HEVC VUI 제1 확장 구문 헤더(404)는 HEVC VUI 제1 확장 구문(402)을 식별하기 위한 기술자이다. HEVC VUI 제1 확장 구문(402)은 비디오 비트스트림(110)을 인코딩 및 디코딩하는 데 사용된다.
HEVC VUI 제1 확장 구문(402)은 비디오 비트스트림(110)에서의 각각의 시간 계층에 대한 필드 시퀀스 플래그(336) 및 타이밍 정보 존재 플래그(338)에 관련된 VUI 파라미터들의 서브셋을 포함할 수 있다. 제1 또는 제2와 같은 용어들은 식별 목적으로만 사용되고, 임의의 순서, 우선권, 중요성 또는 우선순위를 나타내지 않는다.
HEVC VUI 제1 확장 구문(402)은 도 1의 비디오 비트스트림(110)에서의 각각의 프레임과 연관된 시간 계층들의 최대 수를 식별하기 위한 vui_max_temporal_layers_minus1 요소와 같은 시간 계층 카운트(406)를 포함할 수 있다. 시간 계층 카운트(406)는 시간 계층 카운트(406)를 0부터 시간 계층들의 수 - 1까지 매핑하기 위한 엔트리들의 수 - 1을 나타낸다.
HEVC VUI 제1 확장 구문(402)은 시간 계층 관련 정보를 나타내는 루프 구조체를 포함할 수 있다. 루프는 0부터 시간 계층 카운트(406)까지 시간 계층들(230)의 각각의 출현과 연관된 정보를 나타내기 위한 [i]와 같은 반복자를 포함할 수 있다. HEVC VUI 제1 확장 구문(402)은 시간 계층 카운트(406)와 같은, 시간 계층들(230)의 다수의 출현들에 대해 개별적인 구문 요소들을 지원한다.
HEVC VUI 제1 확장 구문(402)은 도 4의 HEVC VUI 제1 확장 구문 테이블에 기술된 것과 같은 요소들을 포함하고 있다. HEVC VUI 제1 확장 구문(402)의 요소들은 도 4의 HEVC VUI 제1 확장 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다.
HEVC VUI 제1 확장 구문(402)은 필드 시퀀스 플래그(336), 타이밍 정보 존재 플래그(338), 틱 단위(340), 시간 스케일(344), 및 고정 픽처 레이트 플래그(346)와 같은 타이밍 정보를 포함하고 있다. HEVC VUI 제1 확장 구문(402)은 NAL HRD 파라미터 존재 플래그(348), HRD 파라미터 구조체(350), VCL HRD 파라미터 존재 플래그(352), 저지연 HRD 플래그(354), 서브픽처 CPB 파라미터 존재 플래그(356), 및 서브단위 틱(358)과 같은 NAL HRD 정보를 포함할 수 있다.
HEVC VUI 제1 확장 구문(402)은 시간 계층들(230)의 각각의 출현에 대한 필드 시퀀스 정보를 포함할 수 있다. HEVC VUI 제1 확장 구문(402)은 필드 시퀀스 플래그(336), 타이밍 정보 존재 플래그(338), 틱 단위(340), 시간 스케일(344), 및 고정 픽처 레이트 플래그(346)를 포함할 수 있다.
HEVC VUI 제1 확장 구문(402)은 시간 계층들(230)의 각각의 출현에 대한 가상 참조 디코더 파라미터들을 포함할 수 있다. HEVC VUI 제1 확장 구문(402)은 NAL HRD 파라미터 존재 플래그(348), VCL HRD 파라미터 존재 플래그(352), 및 HRD 파라미터 구조체(350)를 포함할 수 있다.
nal_hrd_parameters_present_flag 요소와 같은 NAL HRD 파라미터 존재 플래그(348)는 NAL HRD 파라미터 정보의 존재를 나타낼 수 있다. NAL HRD 파라미터 존재 플래그(348)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
vcl_hrd_parameters_present_flag 요소와 같은 VCL HRD 파라미터 존재 플래그(352)는 VCL에 대한 HRD 정보의 존재를 나타낼 수 있다. VCL HRD 파라미터 존재 플래그(352)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
HEVC VUI 제1 확장 구문(402)은 HRD 파라미터 구조체(350)를 포함할 수 있다. HRD 파라미터 구조체(350)는 가상 참조 디코더를 기술하는 파라미터들을 포함할 수 있다. HRD 파라미터 구조체(350)는 이하의 섹션들에서 추가로 정의된다.
NAL HRD 파라미터 존재 플래그(348) 또는 VCL HRD 파라미터 존재 플래그(352)가 1의 값을 가지는 경우, HEVC VUI 제1 확장 구문(402)은 저지연 HRD 플래그(354), 서브픽처 CPB 파라미터 존재 플래그(356), 및 서브단위 틱(358)을 포함할 수 있다.
HEVC VUI 제1 확장 구문(402)은 비트스트림, VUI 확장, 및 루프 구조체 외부에 있는 RBSP 정보에 관한 정보를 포함할 수 있다. 비트스트림, VUI 확장, 및 RBSP 정보는 시간 계층들 전부에 대해 일정하다.
HEVC VUI 제1 확장 구문(402)은 VUI 확장 정보가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 vui_extension_flag 요소와 같은 VUI 확장 플래그(408)를 포함할 수 있다. VUI 확장 플래그(408)는 VUI 확장 정보가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 1의 값 및 그렇지 않은 것을 나타내는 0의 값을 가질 수 있다.
HEVC VUI 제1 확장 구문(402)은 부가의 데이터가 RBSP에 있다는 것을 나타내는 more_rbsp_data 요소와 같은 추가 RBSP 데이터 플래그(410)를 포함할 수 있다. 추가 RBSP 데이터 플래그(410)는 부가의 데이터가 RBSP에 있을 때의 1의 값 및 그렇지 않은 경우의 0의 값을 가질 수 있다.
HEVC VUI 제1 확장 구문(402)은 VUI 확장 데이터가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 VUI_extension_data_flag 요소와 같은 VUI 확장 데이터 플래그(412)를 포함할 수 있다. VUI 확장 데이터 플래그(412)는 VUI 확장 데이터가 비디오 비트스트림(110)에 포함되어 있을 때의 1의 값 및 그렇지 않은 경우의 0의 값을 가질 수 있다.
HEVC VUI 제1 확장 구문(402)은 RBSP 데이터에 플래깅하기 위한 데이터 구조체인 rbsp_trailing_bits 요소와 같은 RBSP 후미 비트(414)를 포함할 수 있다. RBSP 후미 비트(414)는 RBSP에 대한 정지 비트를 나타내기 위한 rbsp_stop_one_bit 요소와 같은 RBSP 데이터를 포함할 수 있다.
시간 계층의 각각의 출현을 지원하기 위해 HEVC VUI 제1 확장 구문(402)을 사용하여 도 1의 비디오 콘텐츠(108)를 인코딩 및 디코딩하는 것이 시간 계층들(230)의 각각의 출현의 표현에 대한 보다 세밀한 제어를 제공한다는 것을 알았다. 시간 계층들(230)의 각각의 출현에 대한 정보를 제공하는 것은 도 1의 비디오 스트림(112)의 디스플레이의 품질을 향상시킨다.
이제 도 5를 참조하여, HEVC VUI 제2 확장 구문(502)의 한 예가 동 도면에 도시되어 있다. HEVC VUI 제2 확장 구문(502)은 도 1의 비디오 비트스트림(110)에서의 모든 시간 계층들에 대한 필드 시퀀스 플래그(336) 및 타이밍 정보 존재 플래그(338)에 관련된 VUI 파라미터들의 단일 출현을 포함할 수 있다.
HEVC VUI 제2 확장 구문(502)은 도 5의 HEVC VUI 제2 확장 구문 테이블에서의 요소들을 기술하고 있다. HEVC VUI 제2 확장 구문(502)의 요소들은 도 5의 HEVC VUI 제2 확장 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다. 예를 들어, HEVC VUI 제2 확장 구문(502)은 도 3의 HEVC VUI 구문(302)의 확장일 수 있다.
HEVC VUI 제2 확장 구문(502)은 vui_parameters 요소와 같은 HEVC VUI 제2 확장 구문 헤더(504)를 포함한다. HEVC VUI 제2 확장 구문 헤더(504)는 HEVC VUI 제2 확장 구문(502)을 식별하기 위한 기술자이다.
HEVC VUI 제2 확장 구문(502)은 도 2의 시간 계층들(230) 각각에 대한 HRD 파라미터 구조체(350)를 갖는 루프를 포함한다. 제1 또는 제2와 같은 용어들은 식별 목적으로만 사용되고, 임의의 순서, 우선권, 중요성 또는 우선순위를 나타내지 않는다.
HEVC VUI 제2 확장 구문(502)은 필드 시퀀스 플래그(336), 타이밍 정보 존재 플래그(338), 틱 단위(340), 시간 스케일(344), 및 고정 픽처 레이트 플래그(346)와 같은 공통의 타이밍 정보 세트를 포함하고 있다. 공통의 타이밍 정보 세트는 시간 계층들(230)의 모든 출현들에 걸쳐 일정하다.
HEVC VUI 제2 확장 구문(502)은 비디오 비트스트림(110)에서의 각각의 프레임과 연관된 시간 계층들의 최대 수를 식별하기 위한 vui_max_temporal_layers_minus1 요소와 같은 시간 계층 카운트(406)를 포함할 수 있다. 시간 계층 카운트(406)는 시간 계층 카운트(406)를 0부터 시간 계층들의 수 - 1까지 매핑하기 위한 엔트리들의 수 - 1을 나타낸다.
HEVC VUI 제2 확장 구문(502)은 시간 계층 관련 정보를 나타내는 루프 구조체를 포함할 수 있다. 루프는 0부터 시간 계층 카운트(406)까지 시간 계층들(230)의 각각의 출현과 연관된 정보를 나타내기 위한 [i]와 같은 반복자를 포함할 수 있다. HEVC VUI 제2 확장 구문(502)은 시간 계층 카운트(406)와 같은, 시간 계층들(230)의 다수의 출현들에 대해 개별적인 구문 요소들을 지원한다.
HEVC VUI 제2 확장 구문(502)은 도 5의 HEVC VUI 제2 확장 구문 테이블에 기술된 것과 같은 요소들을 포함하고 있다. HEVC VUI 제2 확장 구문(502)의 요소들은 도 5의 HEVC VUI 제2 확장 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다.
HEVC VUI 제2 확장 구문(502)은 시간 계층들(230)의 각각의 출현에 대한 가상 참조 디코더 파라미터들을 포함할 수 있다. HEVC VUI 제2 확장 구문(502)은 NAL HRD 파라미터 존재 플래그(348), VCL HRD 파라미터 존재 플래그(352), 및 HRD 파라미터 구조체(350)를 포함할 수 있다.
nal_hrd_parameters_present_flag 요소와 같은 NAL HRD 파라미터 존재 플래그(348)는 NAL HRD 파라미터 정보의 존재를 나타낼 수 있다. NAL HRD 파라미터 존재 플래그(348)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
vcl_hrd_parameters_present_flag 요소와 같은 VCL HRD 파라미터 존재 플래그(352)는 VCL에 대한 HRD 정보의 존재를 나타낼 수 있다. VCL HRD 파라미터 존재 플래그(352)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
HEVC VUI 제2 확장 구문(502)은 HRD 파라미터 구조체(350)를 포함할 수 있다. HRD 파라미터 구조체(350)는 가상 참조 디코더를 기술하는 파라미터들을 포함할 수 있다. HRD 파라미터 구조체(350)는 이하의 섹션들에서 추가로 정의된다.
NAL HRD 파라미터 존재 플래그(348) 또는 VCL HRD 파라미터 존재 플래그(352)가 1의 값을 가지는 경우, HEVC VUI 제2 확장 구문(502)은 저지연 HRD 플래그(354) 및 서브픽처 CPB 파라미터 존재 플래그(356)를 포함할 수 있다. 서브픽처 CPB 파라미터 존재 플래그(356)가 1인 경우, HEVC VUI 제2 확장 구문(502)은 num_units_in_sub_tick 요소와 같은 서브단위 틱(358)을 포함할 수 있다.
HEVC VUI 제2 확장 구문(502)은 비트스트림, VUI 확장, 및 루프 구조체 외부에 있는 RBSP 정보에 관한 정보를 포함할 수 있다. 비트스트림, VUI 확장, 및 RBSP 정보는 시간 계층들 전부에 대해 일정하다.
HEVC VUI 제2 확장 구문(502)은 VUI 확장 정보가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 vui_extension_flag 요소와 같은 VUI 확장 플래그(408)를 포함할 수 있다. VUI 확장 플래그(408)는 VUI 확장 정보가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 1의 값 및 그렇지 않은 것을 나타내는 0의 값을 가질 수 있다.
HEVC VUI 제2 확장 구문(502)은 부가의 데이터가 RBSP에 있다는 것을 나타내는 more_rbsp_data 요소와 같은 추가 RBSP 데이터 플래그(410)를 포함할 수 있다. 추가 RBSP 데이터 플래그(410)는 부가의 데이터가 RBSP에 있을 때의 1의 값 및 그렇지 않은 경우의 0의 값을 가질 수 있다.
HEVC VUI 제2 확장 구문(502)은 VUI 확장 데이터가 비디오 비트스트림(110)에 포함되어 있다는 것을 나타내는 VUI_extension_data_flag 요소와 같은 VUI 확장 데이터 플래그(412)를 포함할 수 있다. VUI 확장 데이터 플래그(412)는 VUI 확장 데이터가 비디오 비트스트림(110)에 포함되어 있을 때의 1의 값 및 그렇지 않은 경우의 0의 값을 가질 수 있다.
HEVC VUI 제2 확장 구문(502)은 RBSP 데이터에 플래깅하기 위한 데이터 구조체인 rbsp_trailing_bits 요소와 같은 RBSP 후미 비트(414)를 포함할 수 있다. RBSP 후미 비트(414)는 rbsp_stop_one_bit 요소와 같은 RBSP 데이터를 포함할 수 있다.
시간 스케일링을 지원하기 위해 HEVC VUI 제2 확장 구문(502)을 사용하여 도 1의 비디오 콘텐츠(108)를 인코딩 및 디코딩하는 것이 비디오 비트스트림(110)의 크기를 감소시키고 비디오 버퍼링의 필요성을 감소시킨다는 것을 알았다. 비디오 비트스트림(110)의 크기를 감소시키는 것은 기능을 향상시키고 도 1의 비디오 스트림(112)의 디스플레이의 성능을 향상시킨다.
시간 계층들(230)의 각각의 출현에 대해 개별적으로 시간 스케일링을 지원하기 위해 HEVC VUI 제2 확장 구문(502)을 사용하여 비디오 콘텐츠(108)를 인코딩 및 디코딩하는 것이 비디오 비트스트림(110)의 크기를 감소시키고 비디오 버퍼링의 필요성을 감소시킨다는 것을 알았다. 비디오 비트스트림(110)의 크기를 감소시키는 것은 기능을 향상시키고 도 1의 비디오 스트림(112)의 디스플레이의 성능을 향상시킨다.
이제 도 6을 참조하면, HRD 구문(602)의 한 예가 동 도면에 도시되어 있다. HRD 구문(602)은 가상 참조 디코더와 연관된 파라미터들을 기술한다.
HRD 구문(602)은 도 6의 HRD 구문 테이블에 기술된 바와 같은 요소들을 포함한다. HRD 구문(602)의 요소들은 도 6의 HRD 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다.
HRD 구문(602)은 hrd_parameters 요소와 같은 HRD 구문 헤더(604)를 포함할 수 있다. HRD 구문 헤더(604)는 HRD 구문(602)을 식별하기 위한 기술자이다.
HRD 구문(602)은 타이밍 존재 정보(timing present information), NAL HRD 파라미터, VCL HRD 파라미터, 및 고정 픽처 레이트 정보를 포함하는 도 3의 HRD 파라미터 구조체(350)를 포함할 수 있다. 타이밍 존재 정보는 타이밍 정보 존재 플래그(338), 틱 단위(340), 및 시간 스케일(344)을 포함할 수 있다.
timing_info_present_flag 요소와 같은 타이밍 정보 존재 플래그(338)는 타이밍 정보가 도 1의 비디오 비트스트림(110)에 포함되어 있는지를 나타낼 수 있다. 타이밍 정보 존재 플래그(338)는 타이밍 정보가 비디오 비트스트림(110)에 있다는 것을 나타내는 1의 값 및 타이밍 정보가 비디오 비트스트림(110)에 포함되어 있지 않다는 것을 나타내는 0의 값을 가질 수 있다.
num_units_in_tick 요소와 같은 틱 단위(340)는 시간 스케일(344)의 주파수로 동작하는 클럭의 시간 단위들의 수를 나타낼 수 있다. 예를 들어, 틱 단위(340)는 비디오 비트스트림(110)에서 표현될 수 있는 최소 시간 간격에 대응할 수 있다. time_scale 요소와 같은 시간 스케일(344)은 1초 내에 지나가는 시간 단위들의 수이다.
nal_hrd_parameters_present_flag 요소와 같은 NAL HRD 파라미터 존재 플래그(348)는 NAL HRD 파라미터 정보의 존재를 나타낼 수 있다. NAL HRD 파라미터 존재 플래그(348)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
vcl_hrd_parameters_present_flag 요소와 같은 VCL HRD 파라미터 존재 플래그(352)는 VCL에 대한 HRD 정보의 존재를 나타낼 수 있다. VCL HRD 파라미터 존재 플래그(352)는 HRD 파라미터 구조체(350)가 존재한다는 것을 나타내는 1의 값 및 HRD 파라미터 구조체(350)가 비디오 비트스트림(110)에 존재하지 않는다는 것을 나타내는 0의 값을 가질 수 있다.
NAL HRD 파라미터 존재 플래그(348) 또는 VCL HRD 파라미터 존재 플래그(352)가 1의 값을 가지는 경우, HRD 파라미터 구조체(350)는 부가의 요소들을 포함할 수 있다. 예를 들어, HRD 파라미터 구조체(350)는 서브픽처 CPB 파라미터 존재 플래그(356), 비트 레이트 스케일(612), CPB 크기 스케일(614), 초기 CPB 제거 지연 길이(616), CPB 제거 지연 길이(618), 및 DPB 출력 지연 길이(620)를 포함할 수 있다.
sub_pic_cpb_params_present_flag 요소와 같은 서브픽처 CPB 파라미터 존재 플래그(356)는 서브픽처 CPB 파라미터들이 비디오 비트스트림(110)에 존재하는지를 나타낼 수 있다. 서브픽처 CPB 파라미터 존재 플래그(356)가 1의 값을 가지는 경우, HRD 파라미터 구조체(350)는 비디오 비트스트림(110)에서 표현될 수 있는 최소 시간 간격을 명시하는 tick_divisor_minus2 요소와 같은 틱 제수(tick divisor)(610)를 포함할 수 있다.
HRD 파라미터 구조체(350)는 bit_rate_scale 요소와 같은 비트 레이트 스케일(612)을 포함할 수 있다. 비트 레이트 스케일(612)은 코딩된 픽처 버퍼의 최대 입력 비트 레이트를 명시한다.
HRD 파라미터 구조체(350)는 cpb_size_scale 요소와 같은 CPB 크기 스케일(614)을 포함할 수 있다. CPB 크기 스케일(614)은 CPB의 크기를 결정하기 위한 것이다.
HRD 파라미터 구조체(350)는 initial_cpb_removal_delay_length_minus1 요소와 같은 초기 CPB 제거 지연 길이(616)를 포함할 수 있다. 초기 CPB 제거 지연 길이(616)는 버퍼링 기간 SEI 메시지의 요소들 initial_cpb_removal_delay 및 initial_cpb_removal_delay_offset의 비트 길이를 나타낸다.
HRD 파라미터 구조체(350)는 cpb_removal_delay_length_minus1 요소와 같은 CPB 제거 지연 길이(618)를 포함할 수 있다. CPB 제거 지연 길이(618)는 픽처 타이밍 SEI 메시지에서의 요소들 cpb_removal_delay의 비트 길이를 명시할 수 있다.
HRD 파라미터 구조체(350)는 dpb_output_delay_length_minus1 요소와 같은 DPB 출력 지연 길이(620)를 포함할 수 있다. DPB 출력 지연 길이(620)는 디코딩된 픽처 버퍼(DPB)의 크기를 나타낸다.
HRD 파라미터 구조체(350)는 도 2의 시간 계층들(230)의 각각의 출현에 대한 파라미터들의 세트를 포함할 수 있다. HRD 파라미터 구조체(350)는 시간 계층들(230)의 각각의 출현에 대한 파라미터들을 기술하는, [i]와 같은 반복자를 사용하는 루프 구조체를 포함할 수 있다.
HRD 파라미터 구조체(350)는 MaxNumSubLayersMinus1 요소와 같은 서브계층 카운트(630)를 포함할 수 있다. 서브계층 카운트(630)는 비디오 비트스트림(110)에서의 서브계층들의 최대 수를 나타낸다. HRD 파라미터 구조체(350)는 공통의 HRD 정보가 존재하는지를 나타낼 수 있는 commonInfPresentFlag 요소와 같은 공통 정보 존재 플래그(603)를 포함할 수 있다.
HRD 파라미터 구조체(350)는 비디오 비트스트림(110)에서의 임의의 2개의 연속적인 픽처들의 HRD 출력 시간들 사이의 시간 거리가 제약되는지를 나타내는 fixed_pic_rate_flag 요소와 같은 고정 픽처 레이트 플래그(346)를 포함할 수 있다. 고정 픽처 레이트 플래그(346)가 1의 값을 가지는 경우, 임의의 2개의 연속적인 픽처들 사이의 시간 거리가 제약되고, 제약되지 않는 경우 0의 값을 가진다.
고정 픽처 레이트 플래그(346)가 1의 값을 가지는 경우, HRD 파라미터 구조체(350)는 pic_duration_in_tc_minus1 요소와 같은 픽처 지속기간(622)을 포함할 수 있다. 픽처 지속기간(622)은 코딩된 비디오 시퀀스에서의 출력 순서에서 임의의 2개의 연속적인 픽처들의 HRD 출력 시간들 사이의 시간 거리를 나타낼 수 있다.
HRD 파라미터 구조체(350)는 low_delay_hrd_flag 요소와 같은 저지연 HRD 플래그(354)를 포함할 수 있다. 저지연 HRD 플래그(354)는 HRD 동작 모드를 나타낼 수 있다.
HRD 파라미터 구조체(350)는 cpb_cnt_minus1 요소와 같은 CPB 카운트(626)를 포함할 수 있다. CPB 카운트(626)는 비디오 비트스트림(110)에서의 대안의 CPB 규격의 수를 나타낼 수 있다.
NAL HRD 파라미터 존재 플래그(348) 또는 VCL HRD 파라미터 존재 플래그(352)가 1의 값을 가지는 경우, HRD 파라미터 구조체(350)는 시간 계층들(230)의 각각의 출현에 대한 hrd_parameters_sub_layer 요소와 같은 HRD 파라미터 서브계층(628)을 포함할 수 있다. HRD 파라미터 서브계층(628)은 각각의 서브계층에 관련된 파라미터들을 기술할 수 있다.
HRD 구문(602)을 사용하여 도 1의 비디오 콘텐츠(108)을 인코딩 및 디코딩하는 것이 비디오 비트스트림(110)의 크기를 감소시킬 수 있고 도 1의 비디오 스트림(112)을 디스플레이하는 데 필요한 비디오 버퍼링의 양을 감소시킨다는 것을 알았다. 비디오 비트스트림(110)의 크기를 감소시키는 것은 기능을 향상시키고 비디오 스트림(112)의 디스플레이의 성능을 향상시킨다.
이제 도 7을 참조하면, HRD 서브계층 구문(702)의 한 예가 동 도면에 도시되어 있다. HRD 서브계층 구문(702)은 가상 참조 디코더 서브계층들과 연관된 파라미터들을 기술한다.
HRD 서브계층 구문(702)은 도 7의 HRD 서브계층 구문 테이블에 기술된 바와 같은 요소들을 포함한다. HRD 서브계층 구문(702)의 요소들은 도 7의 HRD 서브계층 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다.
HRD 서브계층 구문(702)은 hrd_parameters_sub_layer 요소와 같은 HRD 서브계층 구문 헤더(704)를 포함할 수 있다. HRD 서브계층 구문 헤더(704)는 HRD 서브계층 구문(702)을 식별하기 위한 기술자이다.
HRD 서브계층 구문(702)은 코딩된 픽처 버퍼의 각각의 출현에 대한 파라미터들의 세트를 정의하는 루프 구조체를 포함할 수 있다. 루프 구조체는 SchedSelIdx 요소와 같은 스케줄 선택 인덱스에 기초한 크기로 되어 있다.
HRD 서브계층 구문(702)은 도 2의 시간 계층들(230)의 특성들을 기술할 수 있다. 시간 계층들(230)은 또한 도 1의 비디오 비트스트림(110)의 서브계층들로서 지정될 수 있다.
HRD 서브계층 구문(702)은 bit_rate_value_minus1 요소와 같은 비트 레이트 값(706)을 포함할 수 있다. 비트 레이트 값(706)은 코딩된 픽처 버퍼의 각각의 출현에 대한 최대 입력 비트 레이트를 명시하는 데 사용될 수 있다.
HRD 서브계층 구문(702)은 cpb_size_value_minus1 요소와 같은 CPB 크기 값(708)을 포함할 수 있다. CPB 크기 값(708)은 코딩된 픽처 버퍼의 각각의 출현에 대한 크기를 결정하는 데 사용될 수 있다.
HRD 서브계층 구문(702)은 cbr_flag 요소와 같은 CBR 플래그(710)를 포함할 수 있다. CBR 플래그(710)는 코딩된 픽처 버퍼의 각각의 출현에 대한 비디오 비트스트림(110)을 디코딩하는 동작 모드를 나타낸다. CBR 플래그(710)가 1의 값을 가지는 경우, 가상 스트림 배달 스케줄(hypothetical stream delivery schedule)(HSS)은 일정한 비트 레이트 모드(constant bit rate mode)에서 동작한다. 그렇지 않은 경우, 비디오 비트스트림(110)은 간헐적 비트 레이트 모드(intermittent bit rate mode)에서 동작한다.
HRD 서브계층 구문(702)은 비디오 비트스트림(110)의 시간 계층들(230)의 서브계층들을 나타낼 수 있다. HRD 서브계층 구문(702)은 서브계층들 중 하나 또는 시간 계층들(230) 중 하나를 선택하는 데 그리고 비디오 비트스트림(110)으로부터 다른 서브계층들의 출현들의 제거를 가능하게 하는 데 사용될 수 있다.
서브계층들 또는 시간 계층들(230)의 출현들을 제거하는 것은 비디오 비트스트림(110) 내의 데이터의 전체 볼륨을 감소시킬 수 있고, 더 나은 전송, 개선된 저장 대역폭 제어 및 조절을 위한 도 1의 비디오 콘텐츠(108)의 비트 레이트 감소 또는 크기 조정을 가능하게 할 수 있다. 서브계층 또는 시간 계층 관련 HRD 파라미터들을 제공하는 것은 도 1의 비디오 스트림(112)을 생성하기 위해 보다 양호하고 보다 매끄러운 비트스트림 디코딩을 가능하게 한다.
HRD 서브계층 구문(702)을 사용하는 것이 개개의 서브계층들의 처리에 대해 보다 세밀한 제어를 가능하게 함으로써 개선된 성능을 제공한다는 것을 알았다. HRD 서브계층 구문(702)의 개개의 출현들을 사용하는 것은 상이한 서브계층들 간의 개개의 차이들을 이용함으로써 개선된 처리 속도를 제공할 수 있다.
이제 도 8을 참조하면, HRD VUI 구문(802)의 한 예가 동 도면에 도시되어 있다. HRD VUI 구문(802)은 가상 참조 디코더와 연관된 파라미터들을 기술한다.
HRD VUI 구문(802)은 도 8의 HRD VUI 구문 테이블에 기술된 바와 같은 요소들을 포함한다. HRD VUI 구문(802)의 요소들은 도 8의 HRD VUI 구문 테이블에 기술된 바와 같이 계층적 구조로 배열되어 있다. 예를 들어, HRD VUI 구문(802)은 도 3의 HEVC VUI 구문(302)의 확장일 수 있다.
HRD VUI 구문(802)은 vui_parameters 요소와 같은 HRD VUI 구문 헤더(804)를 포함할 수 있다. HRD VUI 구문 헤더(804)는 HRD VUI 구문(802)을 식별하기 위한 기술자이다.
HRD VUI 구문(802)은 hrd_parameters 요소와 같은 HRD 파라미터 구조체(350)를 포함할 수 있다. HRD 파라미터 구조체(350)는 도 2의 시간 계층들(230) 각각 또는 그들의 각각의 서브계층에 대한 가상 참조 디코더 파라미터들을 포함하고 있다.
HRD VUI 구문(802)은 타이밍 존재 정보, NAL HRD 파라미터, VCL HRD 파라미터, 및 고정 픽처 레이트 정보를 포함하는 고정 HRD 관련 파라미터들을 HRD 파라미터 구조체(350)로 대체한다. HRD 파라미터 구조체(350)는 시간 계층들(230) 각각 또는 그들의 서브계층들 각각에 대한 HRD 파라미터들의 세트를 제공한다.
HRD VUI 구문(802)은 sps_max_sub_layers_minus1 요소로부터의 값을 할당받을 수 있는 도 6의 서브계층 카운트(630)를 포함할 수 있다. sps_max_sub_layers_minus1 요소는 순차 파라미터 세트(sequence parameter set)(SPS) 구문에서 정의될 수 있다. HRD VUI 구문(802)은 공통 HRD 정보의 존재를 나타내는 공통 정보 존재 플래그(603)를 포함할 수 있다.
서브계층들은 도 1의 비디오 비트스트림(110)에서의 시간 계층들(230) 또는 다른 유형의 비디오 계층들을 나타낼 수 있다. 시간 계층들(230)의 총수는 서브계층 카운트(630)에 의해 표현될 수 있다.
HRD VUI 구문(802)에서의 필드 시퀀스 플래그(336)는 인터레이스된 픽처링 코딩(interlaced picturing coding)을 지원할 수 있다. HRD VUI 구문(802)에서 비디오 형식(317)을 제공하는 것은 비디오 콘텐츠(108)에 의해 사용되는 비디오 시스템의 결정을 간단화시킴으로써 향상된 기능을 제공할 수 있다.
비디오 전체 범위 플래그(318)는 블랙 레벨과 루마 및 크로마 신호의 범위를 나타낼 수 있다. 색 설명 존재 플래그(320)는 3원색(322), 전달 특성(324), 및 행렬 계수(326)와 같은 비디오 비트스트림(110)에서의 색 설명 정보의 존재를 나타낼 수 있다.
HRD VUI 구문(802)은 비디오 비트스트림(110)의 디코딩을 향상시키기 위한 메타데이터를 포함할 수 있다. 비트스트림 제한 플래그(360), 타일 고정 구조체 플래그(362), 움직임 벡터 플래그(364), 픽처 디노미네이션별 최대 바이트(366), 최소 cu 디노미네이션별 최대 비트(368), 최대 움직임 벡터 수평 길이(370), 및 최대 움직임 벡터 수직 길이(372)는 비디오 비트스트림(110)의 디코딩을 제어하는 데 사용될 수 있다.
HRD VUI 구문(802)에서 HRD 파라미터 구조체(350)를 사용하는 것이 모든 서브계층들에 대해 공통의 HRD 파라미터들을 사용하는 대신에 개개의 서브계층들의 처리에 대해 보다 세밀한 제어를 가능하게 함으로써 개선된 성능을 제공한다는 것을 알았다. HRD 파라미터 구조체(350)의 개개의 출현들을 사용하는 것은 상이한 서브계층들 간의 개개의 차이들을 이용함으로써 개선된 처리 속도를 제공할 수 있다.
이제 도 9를 참조하면, 비디오 코딩 시스템(100)의 기능 블록도가 동 도면에 도시되어 있다. 비디오 코딩 시스템(100)은 제1 디바이스(102), 제2 디바이스(104), 및 통신 경로(106)를 포함할 수 있다.
제1 디바이스(102)는 통신 경로(106)를 통해 제2 디바이스(104)와 통신할 수 있다. 제1 디바이스(102)는 제1 디바이스 전송(932)에서 통신 경로(106)를 통해 제2 디바이스(104)로 정보를 송신할 수 있다. 제2 디바이스(104)는 제2 디바이스 전송(934)에서 통신 경로(106)를 통해 제1 디바이스(102)로 정보를 송신할 수 있다.
예시를 위해, 비디오 코딩 시스템(100)은 클라이언트 디바이스로서 제1 디바이스(102)를 갖는 것으로 도시되어 있지만, 비디오 코딩 시스템(100)이 상이한 유형의 디바이스로서의 제1 디바이스(102)를 가질 수 있다는 것을 잘 알 것이다. 예를 들어, 제1 디바이스는 서버일 수 있다. 추가의 예에서, 제1 디바이스(102)는 비디오 인코더(102), 비디오 디코더(104), 또는 이들의 조합일 수 있다.
또한 예시를 위해, 비디오 코딩 시스템(100)은 서버로서 제2 디바이스(104)를 갖는 것으로 도시되어 있지만, 비디오 코딩 시스템(100)이 상이한 유형의 디바이스로서의 제2 디바이스(104)를 가질 수 있다는 것을 잘 알 것이다. 예를 들어, 제2 디바이스(104)는 클라이언트 디바이스일 수 있다. 추가의 예에서, 제2 디바이스(104)는 비디오 인코더(102), 비디오 디코더(104), 또는 이들의 조합일 수 있다.
본 발명의 이 실시예에서 설명의 간략함을 위해, 제1 디바이스(102)는 비디오 카메라, 스마트폰, 또는 이들의 조합과 같은 클라이언트 디바이스로서 기술될 것이다. 본 발명은 디바이스들의 유형에 대한 이 선택으로 제한되지 않는다. 이 선택은 본 발명의 한 예이다.
제1 디바이스(102)는 제1 제어 유닛(908)을 포함할 수 있다. 제1 제어 유닛(908)은 제1 제어 인터페이스(914)를 포함할 수 있다. 제1 제어 유닛(908)은 비디오 코딩 시스템(100)의 지능을 제공하기 위해 제1 소프트웨어(912)를 실행할 수 있다.
제1 제어 유닛(908)은 다수의 상이한 방식들로 구현될 수 있다. 예를 들어, 제1 제어 유닛(908)은 프로세서, 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 유한 상태 기계(finite state machine)(FSM), 디지털 신호 처리기(DSP), 또는 이들의 조합일 수 있다.
제1 제어 인터페이스(914)는 제1 제어 유닛(908)과 제1 디바이스(102) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다. 제1 제어 인터페이스(914)는 또한 제1 디바이스(102)의 외부와의 통신을 위해 사용될 수 있다.
제1 제어 인터페이스(914)는 다른 기능 유닛들로부터 또는 외부 소스들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 또는 다른 목적지들로 전송할 수 있다. 외부 소스들 및 외부 목적지들은 제1 디바이스(102) 외부에 있는 소스들 및 목적지들을 말한다.
어느 기능 유닛들 또는 외부 유닛들이 제1 제어 인터페이스(914)와 인터페이스되어 있는지에 따라, 제1 제어 인터페이스(914)는 상이한 방식들로 구현될 수 있고 상이한 구현들을 포함할 수 있다. 예를 들어, 제1 제어 인터페이스(914)는 전기 회로, MEMS(microelectromechanical system), 광 회로, 무선 회로, 유선 회로, 또는 이들의 조합으로 구현될 수 있다.
제1 디바이스(102)는 제1 저장 유닛(904)을 포함할 수 있다. 제1 저장 유닛(904)은 제1 소프트웨어(912)를 저장할 수 있다. 제1 저장 유닛(904)은 또한 영상, 구문 정보, 비디오, 지도, 프로파일, 디스플레이 기본 설정, 센서 데이터, 또는 이들의 임의의 조합과 같은 관련 정보를 저장할 수 있다.
제1 저장 유닛(904)은 휘발성 메모리, 비휘발성 메모리, 내부 메모리, 외부 메모리, 또는 이들의 조합일 수 있다. 예를 들어, 제1 저장 유닛(904)은 비휘발성 랜덤 액세스 메모리(NVRAM), 플래시 메모리, 디스크 저장 장치와 같은 비휘발성 저장 장치, 또는 정적 랜덤 액세스 메모리(SRAM)와 같은 휘발성 저장 장치일 수 있다.
제1 저장 유닛(904)은 제1 저장 인터페이스(918)를 포함할 수 있다. 제1 저장 인터페이스(918)는 제1 저장 유닛(904)과 제1 디바이스(102) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다. 제1 저장 인터페이스(918)는 또한 제1 디바이스(102)의 외부와의 통신을 위해 사용될 수 있다.
제1 디바이스(102)는 제1 영상 유닛(906)을 포함할 수 있다. 제1 영상 유닛(906)은 현실 세계로부터 도 1의 비디오 콘텐츠(108)를 포착할 수 있다. 제1 영상 유닛(906)은 디지털 카메라, 비디오 카메라, 광 센서, 또는 이들의 임의의 조합을 포함할 수 있다.
제1 영상 유닛(906)은 제1 영상 인터페이스(916)를 포함할 수 있다. 제1 영상 인터페이스(916)는 제1 영상 유닛(906)과 제1 디바이스(102) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다.
제1 영상 인터페이스(916)는 다른 기능 유닛들로부터 또는 외부 소스들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 또는 다른 목적지들로 전송할 수 있다. 외부 소스들 및 외부 목적지들은 제1 디바이스(102) 외부에 있는 소스들 및 목적지들을 말한다.
어느 기능 유닛들 또는 외부 유닛들이 제1 영상 유닛(906)과 인터페이스되어 있는지에 따라, 제1 영상 인터페이스(916)는 상이한 구현들을 포함할 수 있다. 제1 영상 인터페이스(916)는 제1 제어 인터페이스(914)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
제1 저장 인터페이스(918)는 다른 기능 유닛들로부터 또는 외부 소스들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 또는 다른 목적지들로 전송할 수 있다. 외부 소스들 및 외부 목적지들은 제1 디바이스(102) 외부에 있는 소스들 및 목적지들을 말한다.
어느 기능 유닛들 또는 외부 유닛들이 제1 저장 유닛(904)과 인터페이스되어 있는지에 따라, 제1 저장 인터페이스(918)는 상이한 구현들을 포함할 수 있다. 제1 저장 인터페이스(918)는 제1 제어 인터페이스(914)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
제1 디바이스(102)는 제1 통신 유닛(910)을 포함할 수 있다. 제1 통신 유닛(910)은 제1 디바이스(102)로 그리고 그로부터의 외부 통신을 가능하게 하기 위한 것일 수 있다. 예를 들어, 제1 통신 유닛(910)은 제1 디바이스(102)가 제2 디바이스(104), 주변 장치 또는 컴퓨터 데스크톱과 같은 부속물, 및 통신 경로(106)와 통신할 수 있게 할 수 있다.
제1 통신 유닛(910)은 또한 제1 디바이스(102)가 통신 경로(106)의 일부로서 기능할 수 있게 하는 통신 허브로서 기능할 수 있고, 통신 경로(106)에 대한 종단점 또는 단말 유닛으로 제한되지 않는다. 제1 통신 유닛(910)은 통신 경로(106)와 상호작용하기 위한 마이크로전자회로 또는 안테나와 같은 능동 및 수동 구성요소들을 포함할 수 있다.
제1 통신 유닛(910)은 제1 통신 인터페이스(920)를 포함할 수 있다. 제1 통신 인터페이스(920)는 제1 통신 유닛(910)과 제1 디바이스(102) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다. 제1 통신 인터페이스(920)는 다른 기능 유닛들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 전송할 수 있다.
어느 기능 유닛들이 제1 통신 유닛(910)과 인터페이스되어 있는지에 따라, 제1 통신 인터페이스(920)는 상이한 구현들을 포함할 수 있다. 제1 통신 인터페이스(920)는 제1 제어 인터페이스(914)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
제1 디바이스(102)는 제1 사용자 인터페이스(902)를 포함할 수 있다. 제1 사용자 인터페이스(902)는 사용자(도시 생략)가 제1 디바이스(102)와 인터페이스하고 상호작용할 수 있게 한다. 제1 사용자 인터페이스(902)는 제1 사용자 입력(도시 생략)을 포함할 수 있다. 제1 사용자 입력은 터치 스크린, 제스처, 움직임 검출, 버튼, 슬라이더, 노브, 가상 버튼, 음성 인식 제어, 또는 이들의 임의의 조합을 포함할 수 있다.
제1 사용자 인터페이스(902)는 제1 디스플레이 인터페이스(120)를 포함할 수 있다. 제1 디스플레이 인터페이스(120)는 사용자가 제1 사용자 인터페이스(902)와 상호작용할 수 있게 할 수 있다. 제1 디스플레이 인터페이스(120)는 디스플레이, 비디오 화면, 스피커, 또는 이들의 임의의 조합을 포함할 수 있다.
제1 제어 유닛(908)은 비디오 코딩 시스템(100)에 의해 생성된 비디오 정보를 제1 디스플레이 인터페이스(120) 상에 디스플레이하기 위해 제1 사용자 인터페이스(902)와 함께 동작할 수 있다. 제1 제어 유닛(908)은 또한 제1 디스플레이 인터페이스(120) 상에 디스플레이하기 위해 제1 저장 유닛(904)으로부터 비디오 정보를 수신하는 것을 비롯한 비디오 코딩 시스템(100)의 다른 기능들을 위해 제1 소프트웨어(912)를 실행할 수 있다. 제1 제어 유닛(908)은 제1 통신 유닛(910)을 통해 통신 경로(106)와 상호작용하기 위해 제1 소프트웨어(912)를 추가로 실행할 수 있다.
예시를 위해, 제1 디바이스(102)는 제1 사용자 인터페이스(902), 제1 저장 유닛(904), 제1 제어 유닛(908), 및 제1 통신 유닛(910)을 가지는 것으로 분할되어 있을 수 있지만, 제1 디바이스(102)가 상이한 분할을 가질 수 있다는 것을 잘 알 것이다. 예를 들어, 제1 소프트웨어(912)는 그의 기능의 일부 또는 전부가 제1 제어 유닛(908) 및 제1 통신 유닛(910)에 있을 수 있도록 상이하게 분할될 수 있다. 또한, 제1 디바이스(102)는 명확함을 위해 도 10에 도시되지 않은 다른 기능 유닛들을 포함할 수 있다.
비디오 코딩 시스템(100)은 제2 디바이스(104)를 포함할 수 있다. 제2 디바이스(104)는 다중 디바이스 환경에서 제1 디바이스(102)와 본 발명을 구현하도록 최적화될 수 있다. 제2 디바이스(104)는 제1 디바이스(102)에 비해 부가의 또는 더 높은 성능 처리 능력을 제공할 수 있다.
제2 디바이스(104)는 제2 제어 유닛(948)을 포함할 수 있다. 제2 제어 유닛(948)은 제2 제어 인터페이스(954)를 포함할 수 있다. 제2 제어 유닛(948)은 비디오 코딩 시스템(100)의 지능을 제공하기 위해 제2 소프트웨어(952)를 실행할 수 있다.
제2 제어 유닛(948)은 다수의 상이한 방식들로 구현될 수 있다. 예를 들어, 제2 제어 유닛(948)은 프로세서, 임베디드 프로세서, 마이크로프로세서, 하드웨어 제어 로직, 하드웨어 유한 상태 기계, 디지털 신호 처리기, 또는 이들의 조합일 수 있다.
제2 제어 인터페이스(954)는 제2 제어 유닛(948)과 제2 디바이스(104) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다. 제2 제어 인터페이스(954)는 또한 제2 디바이스(104)의 외부와의 통신을 위해 사용될 수 있다.
제2 제어 인터페이스(954)는 다른 기능 유닛들로부터 또는 외부 소스들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 또는 다른 목적지들로 전송할 수 있다. 외부 소스들 및 외부 목적지들은 제2 디바이스(104) 외부에 있는 소스들 및 목적지들을 말한다.
어느 기능 유닛들 또는 외부 유닛들이 제2 제어 인터페이스(954)와 인터페이스되어 있는지에 따라, 제2 제어 인터페이스(954)는 상이한 방식들로 구현될 수 있고 상이한 구현들을 포함할 수 있다. 예를 들어, 제2 제어 인터페이스(954)는 전기 회로, MEMS(microelectromechanical system), 광 회로, 무선 회로, 유선 회로, 또는 이들의 조합으로 구현될 수 있다.
제2 디바이스(104)는 제2 저장 유닛(944)을 포함할 수 있다. 제2 저장 유닛(944)은 제2 소프트웨어(952)를 저장할 수 있다. 제2 저장 유닛(944)은 또한 영상, 구문 정보, 비디오, 지도, 프로파일, 디스플레이 기본 설정, 센서 데이터, 또는 이들의 임의의 조합과 같은 관련 정보를 저장할 수 있다.
제2 저장 유닛(944)은 휘발성 메모리, 비휘발성 메모리, 내부 메모리, 외부 메모리, 또는 이들의 조합일 수 있다. 예를 들어, 제2 저장 유닛(944)은 비휘발성 랜덤 액세스 메모리(NVRAM), 플래시 메모리, 디스크 저장 장치와 같은 비휘발성 저장 장치, 또는 정적 랜덤 액세스 메모리(SRAM)와 같은 휘발성 저장 장치일 수 있다.
제2 저장 유닛(944)은 제2 저장 인터페이스(958)를 포함할 수 있다. 제2 저장 인터페이스(958)는 제2 저장 유닛(944)과 제2 디바이스(104) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다. 제2 저장 인터페이스(958)는 또한 제2 디바이스(104)의 외부와의 통신을 위해 사용될 수 있다.
제2 저장 인터페이스(958)는 다른 기능 유닛들로부터 또는 외부 소스들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 또는 다른 목적지들로 전송할 수 있다. 외부 소스들 및 외부 목적지들은 제2 디바이스(104) 외부에 있는 소스들 및 목적지들을 말한다.
어느 기능 유닛들 또는 외부 유닛들이 제2 저장 유닛(944)과 인터페이스되어 있는지에 따라, 제2 저장 인터페이스(958)는 상이한 구현들을 포함할 수 있다. 제2 저장 인터페이스(958)는 제2 제어 인터페이스(954)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
제2 디바이스(104)는 제2 영상 유닛(946)을 포함할 수 있다. 제2 영상 유닛(946)은 현실 세계로부터 비디오 콘텐츠(108)를 포착할 수 있다. 제1 영상 유닛(906)은 디지털 카메라, 비디오 카메라, 광 센서, 또는 이들의 임의의 조합을 포함할 수 있다.
제2 영상 유닛(946)은 제2 영상 인터페이스(956)를 포함할 수 있다. 제2 영상 인터페이스(956)는 제2 영상 유닛(946)과 제2 디바이스(104) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다.
제2 영상 인터페이스(956)는 다른 기능 유닛들로부터 또는 외부 소스들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 또는 다른 목적지들로 전송할 수 있다. 외부 소스들 및 외부 목적지들은 제2 디바이스(104) 외부에 있는 소스들 및 목적지들을 말한다.
어느 기능 유닛들 또는 외부 유닛들이 제2 영상 유닛(946)과 인터페이스되어 있는지에 따라, 제2 영상 인터페이스(956)는 상이한 구현들을 포함할 수 있다. 제2 영상 인터페이스(956)는 제1 제어 인터페이스(914)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
제2 디바이스(104)는 제2 통신 유닛(950)을 포함할 수 있다. 제2 통신 유닛(950)은 제2 디바이스(104)로 그리고 그로부터의 외부 통신을 가능하게 할 수 있다. 예를 들어, 제2 통신 유닛(950)은 제2 디바이스(104)가 제1 디바이스(102), 주변 장치 또는 컴퓨터 데스크톱과 같은 부속물, 및 통신 경로(106)와 통신할 수 있게 할 수 있다.
제2 통신 유닛(950)은 또한 제2 디바이스(104)가 통신 경로(106)의 일부로서 기능할 수 있게 하는 통신 허브로서 기능할 수 있고, 통신 경로(106)에 대한 종단점 또는 단말 유닛으로 제한되지 않는다. 제2 통신 유닛(950)은 통신 경로(106)와 상호작용하기 위한 마이크로전자회로 또는 안테나와 같은 능동 및 수동 구성요소들을 포함할 수 있다.
제2 통신 유닛(950)은 제2 통신 인터페이스(960)를 포함할 수 있다. 제2 통신 인터페이스(960)는 제2 통신 유닛(950)과 제2 디바이스(104) 내의 다른 기능 유닛들 간의 통신을 위해 사용될 수 있다. 제2 통신 인터페이스(960)는 다른 기능 유닛들로부터 정보를 수신할 수 있거나, 정보를 다른 기능 유닛들로 전송할 수 있다.
어느 기능 유닛들이 제2 통신 유닛(950)과 인터페이스되어 있는지에 따라, 제2 통신 인터페이스(960)는 상이한 구현들을 포함할 수 있다. 제2 통신 인터페이스(960)는 제2 제어 인터페이스(954)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
제2 디바이스(104)는 제2 사용자 인터페이스(942)를 포함할 수 있다. 제2 사용자 인터페이스(942)는 사용자(도시 생략)가 제2 디바이스(104)와 인터페이스하고 상호작용할 수 있게 한다. 제2 사용자 인터페이스(942)는 제2 사용자 입력(도시 생략)을 포함할 수 있다. 제2 사용자 입력은 터치 스크린, 제스처, 움직임 검출, 버튼, 슬라이더, 노브, 가상 버튼, 음성 인식 제어, 또는 이들의 임의의 조합을 포함할 수 있다.
제2 사용자 인터페이스(942)는 제2 디스플레이 인터페이스(943)를 포함할 수 있다. 제2 디스플레이 인터페이스(943)는 사용자가 제2 사용자 인터페이스(942)와 상호작용할 수 있게 할 수 있다. 제2 디스플레이 인터페이스(943)는 디스플레이, 비디오 화면, 스피커, 또는 이들의 임의의 조합을 포함할 수 있다.
제2 제어 유닛(948)은 비디오 코딩 시스템(100)에 의해 생성된 정보를 제2 디스플레이 인터페이스(943) 상에 디스플레이하기 위해 제2 사용자 인터페이스(942)와 함께 동작할 수 있다. 제2 제어 유닛(948)은 또한 제2 디스플레이 인터페이스(943) 상에 디스플레이하기 위해 제2 저장 유닛(944)으로부터 비디오 정보를 수신하는 것을 비롯한 비디오 코딩 시스템(100)의 다른 기능들을 위해 제2 소프트웨어(952)를 실행할 수 있다. 제2 제어 유닛(948)은 제2 통신 유닛(950)을 통해 통신 경로(106)와 상호작용하기 위해 제2 소프트웨어(952)를 추가로 실행할 수 있다.
예시를 위해, 제2 디바이스(104)는 제2 사용자 인터페이스(942), 제2 저장 유닛(944), 제2 제어 유닛(948), 및 제2 통신 유닛(950)을 가지는 것으로 분할되어 있을 수 있지만, 제2 디바이스(104)가 상이한 분할을 가질 수 있다는 것을 잘 알 것이다. 예를 들어, 제2 소프트웨어(952)는 그의 기능의 일부 또는 전부가 제2 제어 유닛(948) 및 제2 통신 유닛(950)에 있을 수 있도록 상이하게 분할될 수 있다. 또한, 제2 디바이스(104)는 명확함을 위해 도 10에 도시되지 않은 다른 기능 유닛들을 포함할 수 있다.
제1 통신 유닛(910)은 제1 디바이스 전송(932)에서 정보를 제2 디바이스(104)로 송신하기 위해 통신 경로(106)와 결합될 수 있다. 제2 디바이스(104)는 통신 경로(106)의 제1 디바이스 전송(932)으로부터 제2 통신 유닛(950)에서 정보를 수신할 수 있다.
제2 통신 유닛(950)은 제2 디바이스 전송(934)에서 정보를 제1 디바이스(102)로 송신하기 위해 통신 경로(106)와 결합될 수 있다. 제1 디바이스(102)는 통신 경로(106)의 제2 디바이스 전송(934)으로부터 제1 통신 유닛(910)에서 비디오 정보를 수신할 수 있다. 비디오 코딩 시스템(100)은 제1 제어 유닛(908), 제2 제어 유닛(948), 또는 이들의 조합에 의해 실행될 수 있다.
제1 디바이스(102) 내의 기능 유닛들은 개별적으로 그리고 다른 기능 유닛들과 독립적으로 동작할 수 있다. 예시를 위해, 비디오 코딩 시스템(100)은 제1 디바이스(102)의 동작에 의해 기술되어 있다. 제1 디바이스(102)가 비디오 코딩 시스템(100)의 모듈들 및 기능들 중 임의의 것을 동작시킬 수 있다는 것을 잘 알 것이다. 예를 들어, 제1 디바이스(102)는 제1 제어 유닛(908)을 동작시키는 것으로 기술될 수 있다.
제2 디바이스(104) 내의 기능 유닛들은 개별적으로 그리고 다른 기능 유닛들과 독립적으로 동작할 수 있다. 예시를 위해, 비디오 코딩 시스템(100)은 제2 디바이스(104)의 동작에 의해 기술되어 있다. 제2 디바이스(104)가 비디오 코딩 시스템(100)의 모듈들 및 기능들 중 임의의 것을 동작시킬 수 있다는 것을 잘 알 것이다. 예를 들어, 제2 디바이스(104)는 제2 제어 유닛(948)을 동작시키는 것으로 기술되어 있다.
예시를 위해, 비디오 코딩 시스템(100)은 제1 디바이스(102) 및 제2 디바이스(104)의 동작에 의해 기술되어 있다. 제1 디바이스(102) 및 제2 디바이스(104)가 비디오 코딩 시스템(100)의 모듈들 및 기능들 중 임의의 것을 동작시킬 수 있다는 것을 잘 알 것이다. 예를 들어, 제1 디바이스(102)는 제1 제어 유닛(908)을 동작시키는 것으로 기술되어 있지만, 제2 디바이스(104)가 또한 제1 제어 유닛(908)을 동작시킬 수 있다는 것을 잘 알 것이다.
이제 도 10을 참조하면, 도 1의 비디오 코딩 시스템(100)의 제어 흐름(1000)이 동 도면에 도시되어 있다. 제어 흐름(1000)은 비디오 스트림(110)을 수신하는 것, 도 1의 비디오 구문(114)을 추출하는 것, 비디오 비트스트림(110)을 디코딩하는 것, 및 도 1의 비디오 스트림(112)을 디스플레이하는 것에 의해 도 1의 비디오 비트스트림(110)을 디코딩하는 것을 기술하고 있다.
비디오 코딩 시스템(100)은 수신 모듈(1002)을 포함할 수 있다. 수신 모듈(1002)은 도 1의 비디오 인코더(102)에 의해 인코딩된 비디오 비트스트림(110)을 수신할 수 있다.
비디오 비트스트림(110)은 각종의 방식들로 수신될 수 있다. 예를 들어, 비디오 비트스트림(110)은 도 1의 비디오 인코더(102)로부터 스트리밍 직렬 비트스트림, 사전 인코딩된 비디오 파일(도시 생략)로서, 도 1의 통신 경로(106)를 통해 디지털 메시지(도시 생략)로, 또는 이들의 조합으로 수신될 수 있다.
비디오 비트스트림(110)은 도 1의 비디오 콘텐츠(108)를 상이한 프레임 레이트들로 표현하기 위해 도 2의 시간 계층들(230) 중 하나 이상을 포함할 수 있다. 수신 모듈(1002)은 비디오 비트스트림(110)의 크기를 감소시키기 위해 시간 계층들(230)을 선택적으로 필터링할 수 있다.
예를 들어, 수신 모듈(1002)은 60 fps, 30 fps, 및 15 fps와 같은 3개의 상이한 프레임 레이트들에 대한 시간 계층들(230)을 가지는 비디오 비트스트림(110)을 수신할 수 있다. 수신 모듈(1002)은 시간 계층들(230)의 60 fps 및 30 fps 출현들을 제거하기 위해 비디오 비트스트림(110)을 필터링하고, 시간 계층들(230)의 15 fps 출현만을 처리할 수 있다.
비디오 코딩 시스템(100)은 구문 획득 모듈(1004)을 포함할 수 있다. 구문 획득 모듈(1004)은 비디오 비트스트림(110)의 비디오 구문(114)을 식별하고 추출할 수 있다.
구문 획득 모듈(1004)은 비디오 비트스트림(110)에 대한 비디오 구문(114)을 각종의 방식들로 추출할 수 있다. 구문 획득 모듈(1004)은 비디오 구문(114)의 존재를 나타내는 비디오 사용가능성 정보 헤더가 있는지 비디오 비트스트림(110)을 검색함으로써 비디오 구문(114)을 추출할 수 있다. 다른 예에서, 비디오 구문(114)은 비디오 구문(114)을 비디오 비트스트림(110)의 비디오 영상 데이터로부터 분리시키기 위해 디멀티플렉서(도시 생략)를 사용하여 비디오 비트스트림(110)으로부터 추출될 수 있다.
또 다른 예에서, 비디오 구문(114)은 시퀀스 파라미터 세트 RBSP(Raw Byte Sequence Payload) 구문을 추출함으로써 비디오 비트스트림(110)으로부터 추출될 수 있다. 시퀀스 파라미터 세트 RBSP는 네트워크 추상화 계층 단위에 캡슐화되어 있는 정수개의 바이트들을 포함하는 구문 구조체이다. RBSP는 비어 있을 수 있거나 구문 요소들 및 그에 뒤이은 RBSP 정지 비트 그리고 그에 뒤이은 0개 이상의 부가 비트들(0으로 되어 있음)를 포함하는 데이터 비트 열의 형태를 가질 수 있다.
또 다른 예에서, 비디오 구문(114)은 개개의 요소들을 추출함으로써 비디오 비트스트림(110)의 직렬 비트스트림으로부터 시간별로 추출될 수 있는데, 그 이유는 요소들이 직렬 비트스트림에서 이용가능하기 때문이다. 비디오 코딩 시스템(100)은 이전의 추출된 요소들의 값들에 기초하여 나중의 요소들을 선택적으로 추출할 수 있다. 비디오 코딩 시스템(100)은 도 3의 저지연 HRD 플래그(354)의 이전에 수신된 값에 기초하여 도 3의 HRD 파라미터 구조체(350)를 처리할 수 있다.
구문 획득 모듈(1004)이 저지연 HRD 플래그(354)의 이전에 추출된 출현들에 기초하여 HRD 파라미터 구조체(350)를 사용해 비디오 비트스트림(110)을 동적으로 디코딩하는 것에 의해 성능을 향상시킬 수 있다는 것을 알았다. 저지연 HRD 플래그(354)를 수신하는 것은 HRD 파라미터 구조체(350)를 적용할 때 CPB에서 허용되는 지연의 레벨을 변경하는 것에 의해 디코딩 성능을 향상시킨다.
다른 예에서, 비디오 비트스트림(110)이 파일 형태로 수신되는 경우, 비디오 구문(114)은 비디오 비트스트림(110)을 포함하는 파일의 파일 확장자를 검사하는 것에 의해 검출될 수 있다. 또 다른 예에서, 비디오 비트스트림(110)이 도 1의 통신 경로(106)를 거쳐 디지털 메시지로서 수신되는 경우, 비디오 구문(114)은 디지털 메시지의 구조체의 일부분으로서 제공될 수 있다.
구문 획득 모듈(1004)은 도 2의 구문 유형(202)에 기초하여 비디오 구문(114)의 개개의 요소들을 추출할 수 있다. 구문 유형(202)은 AVC 비디오, SVC 비디오, MVC 비디오, MVD 비디오, SSV 비디오, 또는 이들의 조합을 포함할 수 있다.
예를 들어, 구문 획득 모듈(1004)은 도 3의 HEVC VUI 구문(302), 도 4의 HEVC VUI 제1 확장 구문(402), 도 5의 HEVC VUI 제2 확장 구문(502), 또는 이들의 조합과 같은 비디오 구문(114)을 추출할 수 있다. 구문 획득 모듈(1004)은 도 6의 HRD 구문(602), 도 7의 HRD 서브계층 구문(702), 또는 이들의 조합을 포함하는 비디오 구문(114)을 추출할 수 있다.
구문 획득 모듈(1004)은 비디오 구문(114)을 각종의 방식들로 추출할 수 있다. 예를 들어, 구문 획득 모듈(1004)은 비디오 비트스트림(110)으로부터 HEVC VUI 구문(302)과 같은 비디오 구문(114)을 추출할 수 있다. HEVC VUI 구문(302)은 시간 계층들(230)의 모든 출현들에 대해 HRD 구문(602)의 하나의 출현을 포함할 수 있다. HEVC VUI 구문(302)은 시간 계층들(230)의 모든 출현들에 대해 HEVC VUI 구문(302)의 요소들의 하나의 출현을 포함할 수 있다.
다른 예에서, 구문 획득 모듈(1004)은 비디오 비트스트림(110)으로부터 HEVC VUI 제1 확장 구문(402)과 같은 비디오 구문(114)을 추출할 수 있다. HEVC VUI 제1 확장 구문(402)은 시간 계층들(230)의 개개의 출현들 각각에 대해 HRD 구문(602)의 하나의 출현을 포함할 수 있다.
HEVC VUI 제1 확장 구문(402)은 시간 계층들(230)의 개개의 출현 각각에 대한 도 3의 필드 시퀀스 플래그(336), 도 3의 타이밍 정보 존재 플래그(338), 도 3의 틱 단위(340), 도 3의 시간 스케일(344), 및 도 3의 고정 픽처 레이트 플래그(346)의 개개의 출현들을 포함할 수 있다. HEVC VUI 제1 확장 구문(402)은 시간 계층들(230)의 개개의 출현 각각에 대한 도 3의 NAL HRD 파라미터 존재 플래그(348), 도 3의 VCL HRD 파라미터 존재 플래그(352), 도 3의 저지연 HRD 플래그(354), 도 3의 서브픽처 CPB 파라미터 존재 플래그(356), 및 도 3의 서브단위 틱(358)을 포함할 수 있다.
또 다른 예에서, 구문 획득 모듈(1004)은 비디오 비트스트림(110)으로부터 HEVC VUI 제2 확장 구문(502)과 같은 비디오 구문(114)을 추출할 수 있다. HEVC VUI 제2 확장 구문(502)은 시간 계층들(230)의 모든 출현들에 대한 필드 시퀀스 플래그(336), 타이밍 정보 존재 플래그(338), 틱 단위(340), 시간 스케일(344), 및 고정 픽처 레이트 플래그(346)의 하나의 출현을 포함할 수 있다. HEVC VUI 제2 확장 구문(502)은 시간 계층들(230)의 개개의 출현 각각에 대한 NAL HRD 파라미터 존재 플래그(348), VCL HRD 파라미터 존재 플래그(352), 저지연 HRD 플래그(354), 서브픽처 CPB 파라미터 존재 플래그(356), 및 서브단위 틱(358)을 포함할 수 있다.
비디오 코딩 시스템(100)은 디코딩 모듈(1006)을 포함할 수 있다. 디코딩 모듈(1006)은 비디오 구문(114)을 사용해 비디오 비트스트림(110)을 디코딩하여 비디오 스트림(112)을 형성할 수 있다. 디코딩 모듈(1006)은 시간 계층 획득 모듈(1008) 및 시간 계층 디코딩 모듈(1010)을 포함할 수 있다.
디코딩 모듈(1006)은 HEVC VUI 구문(302), HEVC VUI 제1 확장 구문(402), HEVC VUI 제2 확장 구문(502), 또는 이들의 조합을 사용해 비디오 비트스트림(110)을 디코딩할 수 있다. 디코딩 모듈(1006)은 HRD 구문(602), HRD 서브계층 구문(702), 도 8의 HRD VUI 구문(802), 또는 이들의 조합을 사용해 시간 계층들(230)을 식별하고 추출할 수 있다.
시간 계층 획득 모듈(1008)은 비디오 비트스트림(110)으로부터 추출할 시간 계층들(230)을 식별하여 비디오 스트림(112)을 형성할 수 있다. 시간 계층 획득 모듈(1008)은 시간 계층들(230)을 각종의 방식들로 식별할 수 있다.
예를 들어, 시간 계층 획득 모듈(1008)은 HEVC VUI 제1 확장 구문(402) 또는 HEVC VUI 제2 확장 구문(502)으로부터 도 4의 시간 계층 카운트(406)를 추출하는 것에 의해 시간 계층들(230)을 식별할 수 있다. 시간 계층 카운트(406)는 비디오 비트스트림(110)에서의 시간 계층들(230)의 총수를 나타낸다. 다른 예에서, 시간 계층 획득 모듈(1008)은 비디오 비트스트림(110)에서의 시간 계층들(230) 모두에 적용할 HEVC VUI 구문(302)으로부터 HRD 구문(602)의 단일 출현을 추출함으로써 시간 계층들을 식별할 수 있다.
시간 계층 디코딩 모듈(1010)은 시간 계층 획득 모듈(1008)로부터 시간 계층들(230)을 수신하고 시간 계층들(230)을 디코딩하여 비디오 스트림(112)을 형성할 수 있다. 시간 계층 디코딩 모듈(1010)은 시간 계층들(230)을 각종의 방식들로 디코딩할 수 있다.
예를 들어, 시간 계층 디코딩 모듈(1010)은 HRD 구문(602)을 사용하여 시간 계층들(230)을 디코딩할 수 있다. 다른 예에서, 시간 계층 디코딩 모듈(1010)은 HRD 서브계층 구문(702)을 사용하여 시간 계층들(230)을 디코딩할 수 있다. 시간 계층 디코딩 모듈(1010)은 시간 계층들(230)을 디코딩하고 시간 계층들(230) 중 하나를 선택하여 비디오 스트림(112)을 형성할 수 있다.
HRD 구문(602)의 파라미터들은 코딩된 픽처 버퍼에서의 데이터 버퍼링의 레이트를 제어하는 것을 비롯하여 비디오 비트스트림(110)의 매끄러운 디코딩을 관리하는 데 사용될 수 있다. 타이밍 정보 존재 플래그(338), 서브픽처 CPB 파라미터 존재 플래그(356), 비트 레이트 스케일(612), CPB 크기 스케일(614), CPB 제거 지연 길이(618), 및 DPB 출력 지연 길이(620)는 코딩된 픽처 버퍼 및 디코딩된 픽처 버퍼로의 데이터의 흐름을 조절하는 데 사용될 수 있다.
비디오 코딩 시스템(100)은 디스플레이 모듈(1012)을 포함할 수 있다. 디스플레이 모듈(1012)은 디코딩 모듈(1006)로부터 비디오 스트림(112)을 수신하고 도 1의 디스플레이 인터페이스(120) 상에 디스플레이할 수 있다. 비디오 스트림(112)은 시간 계층들(230)의 하나 이상의 출현들을 포함할 수 있다.
비디오 콘텐츠(108)의 물리적 객체들의 광학 영상들로부터 도 9의 디스플레이 인터페이스(120)의 픽셀 요소들 상에 비디오 스트림(112)을 디스플레이하는 것으로의 물리적 변환의 결과, 실제 세계에서 디스플레이 인터페이스(120)의 픽셀 요소들에 대한 물리적 변화들이 일어나고, 픽셀 요소의 이러한 전기 상태의 변화는 비디오 코딩 시스템(100)의 동작에 기초한다. 비디오 콘텐츠(108)에 포착된 물체들의 움직임과 같은 실제 세계에서의 변화들이 일어날 때, 움직임 자체는 비디오 콘텐츠(108)에 대한 업데이트들 - 이는 비디오 코딩 시스템(100)의 계속된 동작을 위해 디스플레이 인터페이스(120)의 픽셀 요소들에서의 변화들로 다시 변환됨 - 과 같은 부가의 정보를 생성한다.
제1 디바이스(102)의 도 9의 제1 소프트웨어(912)는 비디오 코딩 시스템(100)을 포함할 수 있다. 예를 들어, 제1 소프트웨어(912)는 수신 모듈(1002), 구문 획득 모듈(1004), 디코딩 모듈(1006), 및 디스플레이 모듈(1012)을 포함할 수 있다.
도 9의 제1 제어 유닛(908)은 수신 모듈(1002)이 비디오 비트스트림(110)을 수신하도록 제1 소프트웨어(912)를 실행할 수 있다. 제1 제어 유닛(908)은 구문 획득 모듈(1004)이 비디오 비트스트림(110)으로부터 비디오 구문(114)을 식별하고 추출하도록 제1 소프트웨어(912)를 실행할 수 있다. 제1 제어 유닛(908)은 디코딩 모듈(1006)이 비디오 스트림(112)을 형성하도록 제1 소프트웨어(912)를 실행할 수 있다. 제1 제어 유닛(908)은 디스플레이 모듈(1012)이 비디오 스트림(112)을 디스플레이하도록 제1 소프트웨어(912)를 실행할 수 있다.
도 1의 제2 디바이스(104)의 도 9의 제2 소프트웨어(952)는 비디오 코딩 시스템(100)을 포함할 수 있다. 예를 들어, 제2 소프트웨어(952)는 수신 모듈(1002), 구문 획득 모듈(1004), 및 디코딩 모듈(1006)을 포함할 수 있다.
도 9의 제2 제어 유닛(948)은 수신 모듈(1002)이 비디오 비트스트림(110)을 수신하도록 제2 소프트웨어(952)를 실행할 수 있다. 제2 제어 유닛(948)은 구문 획득 모듈(1004)이 비디오 비트스트림(110)으로부터 비디오 구문(114)을 식별하고 추출하도록 제2 소프트웨어(952)를 실행할 수 있다. 제2 제어 유닛(948)은 디코딩 모듈(1006)이 도 1의 비디오 스트림(112)을 형성하도록 제2 소프트웨어(952)를 실행할 수 있다. 제2 제어 유닛(948)은 디스플레이 모듈(1012)이 비디오 스트림(112)을 디스플레이하도록 제2 소프트웨어를 실행할 수 있다.
비디오 코딩 시스템(100)은 제1 소프트웨어(912)와 제2 소프트웨어(952) 간에 분할되어 있을 수 있다. 예를 들어, 제2 소프트웨어(952)는 구문 획득 모듈(1004), 디코딩 모듈(1006), 및 디스플레이 모듈(1012)을 포함할 수 있다. 제2 제어 유닛(948)은 이전에 기술된 바와 같이 제2 소프트웨어(952) 상에 분할된 모듈들을 실행할 수 있다.
한 예시적인 예에서, 비디오 코딩 시스템(100)은 제1 디바이스(102) 상의 비디오 인코더(102) 및 제2 디바이스(104) 상의 비디오 디코더(104)를 포함할 수 있다. 비디오 디코더(104)는 도 1의 디스플레이 프로세서(118) 및 디스플레이 인터페이스(120)를 포함할 수 있다.
제1 소프트웨어(912)는 수신 모듈(1002) 및 구문 획득 모듈(1004)을 포함할 수 있다. 도 9의 제1 저장 유닛(904)의 크기에 따라, 제1 소프트웨어(912)는 비디오 코딩 시스템(100)의 부가의 모듈들을 포함할 수 있다. 제1 제어 유닛(908)은 이전에 기술된 바와 같이 제1 소프트웨어(912) 상에 분할된 모듈들을 실행할 수 있다.
제1 제어 유닛(908)은 비디오 비트스트림(110)을 제2 디바이스(104)로 송신하기 위해 도 9의 제1 통신 유닛(910)을 동작시킬 수 있다. 제1 제어 유닛(908)은 도 9의 제1 영상 유닛(906)을 동작시키기 위해 제1 소프트웨어(912)를 동작시킬 수 있다. 도 9의 제2 통신 유닛(950)은 비디오 스트림(112)을 통신 경로(106)를 거쳐 제1 디바이스(102)로 송신할 수 있다.
비디오 코딩 시스템(100)은 모듈 기능들 또는 순서를 한 예로서 기술하고 있다. 모듈들이 상이하게 분할될 수 있다. 예를 들어, 구문 획득 모듈(1004) 및 디코딩 모듈(1006)이 결합될 수 있다. 모듈들 각각은 개별적으로 그리고 다른 모듈들과 독립적으로 동작할 수 있다.
게다가, 하나의 모듈에서 생성된 데이터가 서로 직접 결합되는 일 없이 다른 모듈에 의해 사용될 수 있다. 예를 들어, 구문 획득 모듈(1004)은 비디오 비트스트림(110)을 수신 모듈(1002)로부터 수신할 수 있다.
모듈들은 다양한 방식들로 구현될 수 있다. 수신 모듈(1002), 구문 획득 모듈(1004), 디코딩 모듈(1006), 및 디스플레이 모듈(1012)은 제1 제어 유닛(908) 또는 제2 제어 유닛(948) 내에서 하드웨어 가속기(도시 생략)로서 구현될 수 있거나, 제1 디바이스(102) 또는 제2 디바이스(104)에서 제1 제어 유닛(908) 또는 제2 제어 유닛(948) 외부에서 하드웨어 가속기(도시 생략)로서 구현될 수 있다.
이제 도 11을 참조하면, 본 발명의 추가의 실시예에서의 도 1의 비디오 코딩 시스템(100)의 동작 방법(1100)의 플로우차트가 동 도면에 도시되어 있다. 방법(1100)은 블록(1102)에서 비디오 비트스트림을 수신하는 단계; 블록(1104)에서 비디오 비트스트림으로부터 비디오 구문(video syntax)을 추출하는 단계; 블록(1106)에서 비디오 구문에 기초하여 비디오 비트스트림으로부터 시간 계층(temporal layer)을 추출하는 단계; 및 블록(1108)에서 디바이스 상에 디스플레이하기 위해 시간 계층에 기초하여 비디오 스트림을 형성하는 단계를 포함한다.
본 발명이 따라서 수많은 측면들을 가진다는 것을 알았다. 본 발명은 귀중하게도 비용을 감소시키고, 시스템을 단순화시키며, 성능을 향상시키는 과거의 경향을 지원하고 충족시킨다. 본 발명의 이들 및 기타 귀중한 측면들은 결과적으로 기술의 상태를 적어도 그 다음 레벨로 발전시킨다.
이와 같이, 본 발명의 비디오 코딩 시스템이 HD(high definition) 응용들에 대한 비디오 콘텐츠를 효율적으로 코딩 및 디코딩하기 위한 중요하고 지금까지 알려지지 않았으며 이용가능하지 않았던 해결책들, 능력들, 및 기능 측면들을 제공한다는 것을 알았다. 얻어진 프로세스들 및 구성들은 간단하고, 비용 효과적이며, 복잡하지 않고, 아주 다목적이고 효과적이며, 놀랍게도 그리고 명백하게도 공지의 기술들을 적응시킴으로써 구현될 수 있으며, 따라서 종래의 제조 공정들 및 기술들과 완전히 호환되게 비디오 코딩 디바이스들을 효율적으로 그리고 경제적으로 제조하는 데 아주 적합하다. 얻어진 프로세스들 및 구성들은 간단하고, 비용 효과적이며, 복잡하지 않고, 아주 다목적이며, 정확하고, 민감하며, 효과적이고, 즉각적인, 효율적인 그리고 경제적인 제조, 응용 및 이용을 위해 공지된 구성요소들을 적응시킴으로써 구현될 수 있다.
본 발명이 구체적인 최적의 실시 형태와 관련하여 기술되어 있지만, 이상의 설명을 바탕으로 많은 대안들, 수정들, 및 변형들이 당업자에게는 자명하게 될 것임을 잘 알 것이다. 그에 따라, 본 발명은 포함된 청구항들의 범주 내에 속하는 이러한 대안들, 수정들, 및 변형들 전부를 포괄하는 것으로 보아야 한다. 본 명세서에 지금까지 기재되거나 첨부 도면들에 도시되어 있는 모든 내용들은 예시적이고 비제한적인 의미로 해석되어야만 한다.

Claims (12)

  1. 비디오 스트림이 비디오 표현 필드를 포함하는지 여부를 나타내는 field_seq_flag로서, 시간계층의 모든 출현에 걸쳐 공통의 field_seq_flag를 포함하는 VUI(Video Usability Information) 파라미터를 설정하는 설정부와,
    상기 설정부에 접속되고, 상기 시간계층에 기초하여 상기 비디오 스트림을 인코딩하여, 상기 설정부에 의해 설정된 상기 VUI를 포함하는 인코딩 비트 스트림을 생성하는 인코딩부
    를 포함하는 비디오 코딩 시스템에서의 동작을 위한 인코딩 장치.
  2. 제1항에 있어서, 상기 설정부는, 상기 시간계층의 모든 출현에 걸쳐 공통의 구문으로서 상기 VUI 파라미터를 설정하는, 비디오 코딩 시스템에서의 동작을 위한 인코딩 장치.
  3. 인코딩 장치에 있어서, 비디오 스트림이 비디오 표현 필드를 포함하는지 여부를 나타내는 field_seq_flag로서, 시간계층의 모든 출현에 걸쳐 공통의 field_seq_flag를 포함하는 VUI(Video Usability Information) 파라미터를 설정하는 단계와,
    상기 시간계층에 기초하여 상기 비디오 스트림을 인코딩하여, 설정된 상기 VUI를 포함하는 인코딩 비트 스트림을 생성하는 단계
    를 포함하는 비디오 코딩 시스템에서의 동작을 위한 인코딩 방법.
  4. 제3항에 있어서, 상기 VUI 파라미터는, 상기 시간계층의 모든 출현에 걸쳐 공통의 구문으로서 설정되는, 비디오 코딩 시스템에서의 동작을 위한 인코딩 방법.
  5. 제1항에 있어서, 상기 VUI 파라미터는, timing_info_present_flag을 더 포함하는, 비디오 코딩 시스템에서의 동작을 위한 인코딩 장치.
  6. 제5항에 있어서, 상기 timing_info_present_flag에 관련한 모든 VUI 파라미터는 상기 시간계층의 모든 출현에 걸쳐 공통인, 비디오 코딩 시스템에서의 동작을 위한 인코딩 장치.
  7. 제1항에 있어서, 상기 설정부는, 상기 시간계층의 모든 출현에 공통하고 있는 HRD 파라미터를 설정하기 위한 것인, 비디오 코딩 시스템에서의 동작을 위한 인코딩 장치.
  8. 제1항에 있어서, 상기 설정부는, 상기 시간계층의 개별적인 출현 각각에 관한 HRD 파라미터를 설정하기 위한 것인, 비디오 코딩 시스템에서의 동작을 위한 인코딩 장치.
  9. 제3항에 있어서, 상기 VUI 파라미터는, timing_info_present_flag을 더 포함하는, 비디오 코딩 시스템에서의 동작을 위한 인코딩 방법.
  10. 제9항에 있어서, 상기 timing_info_present_flag에 관련한 모든 VUI 파라미터는 상기 시간계층의 모든 출현에 걸쳐 공통인, 비디오 코딩 시스템에서의 동작을 위한 인코딩 방법.
  11. 제3항에 있어서, 상기 시간계층의 모든 출현에 공통하고 있는 가상 참조 디코더 (HRD) 파라미터를 설정하는 단계를 더 포함하는, 비디오 코딩 시스템에서의 동작을 위한 인코딩 방법.
  12. 제3항에 있어서, 상기 시간계층의 개별적인 출현 각각에 관한 HRD 파라미터를 설정하는 단계를 더 포함하는, 비디오 코딩 시스템에서의 동작을 위한 인코딩 방법.

KR1020167035740A 2012-07-02 2013-07-01 디코딩 방법, 디코딩 장치 및 프로그램 기록 매체 KR101756615B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261667269P 2012-07-02 2012-07-02
US61/667,269 2012-07-02
US201261677302P 2012-07-30 2012-07-30
US61/677,302 2012-07-30
US13/757,624 US9912941B2 (en) 2012-07-02 2013-02-01 Video coding system with temporal layers and method of operation thereof
US13/757,624 2013-02-01
PCT/US2013/048890 WO2014008170A1 (en) 2012-07-02 2013-07-01 Video coding system with temporal layers and method of operation thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147036701A Division KR101721305B1 (ko) 2012-07-02 2013-07-01 디코딩 방법, 디코딩 장치 및 프로그램 기록 매체

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020177017927A Division KR20170081279A (ko) 2012-07-02 2013-07-01 디코딩 장치 및 방법
KR1020177017928A Division KR20170081280A (ko) 2012-07-02 2013-07-01 인코딩 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170000391A KR20170000391A (ko) 2017-01-02
KR101756615B1 true KR101756615B1 (ko) 2017-07-10

Family

ID=49778128

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020147036701A KR101721305B1 (ko) 2012-07-02 2013-07-01 디코딩 방법, 디코딩 장치 및 프로그램 기록 매체
KR1020177017927A KR20170081279A (ko) 2012-07-02 2013-07-01 디코딩 장치 및 방법
KR1020177017928A KR20170081280A (ko) 2012-07-02 2013-07-01 인코딩 장치 및 방법
KR1020167035740A KR101756615B1 (ko) 2012-07-02 2013-07-01 디코딩 방법, 디코딩 장치 및 프로그램 기록 매체

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020147036701A KR101721305B1 (ko) 2012-07-02 2013-07-01 디코딩 방법, 디코딩 장치 및 프로그램 기록 매체
KR1020177017927A KR20170081279A (ko) 2012-07-02 2013-07-01 디코딩 장치 및 방법
KR1020177017928A KR20170081280A (ko) 2012-07-02 2013-07-01 인코딩 장치 및 방법

Country Status (6)

Country Link
US (3) US9912941B2 (ko)
EP (1) EP2853091B1 (ko)
JP (4) JP5950039B2 (ko)
KR (4) KR101721305B1 (ko)
CN (2) CN108235006B (ko)
WO (1) WO2014008170A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10110890B2 (en) 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
US20140003534A1 (en) * 2012-07-02 2014-01-02 Sony Corporation Video coding system with temporal scalability and method of operation thereof
US9648322B2 (en) * 2012-07-10 2017-05-09 Qualcomm Incorporated Coding random access pictures for video coding
US8989508B2 (en) * 2012-09-28 2015-03-24 Sharp Kabushiki Kaisha Electronic device for signaling a sub-picture buffer parameter
TWI676389B (zh) 2013-07-15 2019-11-01 美商內數位Vc專利控股股份有限公司 至少一種色彩轉換之編碼方法和編碼器、解碼器、顯示裝置、編碼視訊訊號、電腦程式製品及處理器可讀式媒體
US9794595B2 (en) * 2014-03-18 2017-10-17 Qualcomm Incorporated Derivation of end of sequence NAL unit information for multi-layer bitstreams
US10063867B2 (en) * 2014-06-18 2018-08-28 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US20160234522A1 (en) * 2015-02-05 2016-08-11 Microsoft Technology Licensing, Llc Video Decoding
US10148969B2 (en) * 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
CN109121020B (zh) * 2018-09-12 2020-01-17 中国地质大学(武汉) 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备
CN109121019B (zh) * 2018-09-12 2020-01-17 中国地质大学(武汉) 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备
HRP20230760T1 (hr) 2019-03-11 2023-11-10 Dolby Laboratories Licensing Corporation Signalizacija informacija koje se odnose na kut blende
EP3939317A1 (en) 2019-03-11 2022-01-19 Dolby Laboratories Licensing Corporation Video coding using reference picture resampling supporting region of interest
US11877000B2 (en) 2019-08-06 2024-01-16 Dolby Laboratories Licensing Corporation Canvas size scalable video coding
BR112022005394A2 (pt) 2019-09-24 2022-06-21 Huawei Tech Co Ltd Simplificação de dependência de mensagem sei em codificação de vídeo
WO2021061390A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message for single layer ols
CN117478900A (zh) * 2019-09-24 2024-01-30 华为技术有限公司 用于实现时间可适性的图像时序和解码单元信息
US11478075B2 (en) 2020-06-09 2022-10-25 Armadillo Tough LLC Foldable shelving
CN113225584B (zh) * 2021-03-24 2022-02-22 西安交通大学 一种基于编码和缓存的跨层联合的视频传输方法、系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110043701A1 (en) 2009-08-20 2011-02-24 Canon Kabushiki Kaisha Video processing apparatus and method for controlling the same

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023491B2 (en) * 2001-02-28 2006-04-04 Thomson Licensing Method and device for displaying frozen pictures on video display device
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US8615038B2 (en) 2004-12-06 2013-12-24 Nokia Corporation Video coding, decoding and hypothetical reference decoder
JP2006260611A (ja) * 2005-03-15 2006-09-28 Toshiba Corp 情報記憶媒体、情報再生装置、情報再生方法、及びネットワーク通信システム
CN101248668A (zh) 2005-08-26 2008-08-20 汤姆森特许公司 使用时间分层的特技播放
MY162367A (en) 2007-01-05 2017-06-15 Thomson Licensing Hypothetical reference decoder for scalable video coding
CA2675955C (en) * 2007-01-18 2013-07-23 Nokia Corporation Carriage of sei messages in rtp payload format
WO2008127536A2 (en) 2007-04-12 2008-10-23 Thomson Licensing Methods and apparatus for video usability information (vui) for scalable video coding (svc)
SI3264780T1 (sl) * 2007-04-18 2020-08-31 Dolby International Ab Kodirni sistemi, pri katerih se uporablja dodatni niz sekvenčnih parametrov za skalabilno kodiranje videa ali večpogledno kodiranje
US20100142613A1 (en) 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
US9188850B2 (en) * 2007-09-10 2015-11-17 L-3 Communications Corporation Display system for high-definition projectors
JP5264919B2 (ja) 2007-10-05 2013-08-14 トムソン ライセンシング マルチビュービデオ(mvc)符号化システム内にビデオユーザビリティ情報(vui)を取り込む方法及び装置
US20100232520A1 (en) 2007-11-05 2010-09-16 Zhenyu Wu Scalable video coding method for fast channel change and increased error relilience
CN101232620A (zh) * 2008-02-27 2008-07-30 杭州华三通信技术有限公司 视频解码方法和装置以及实现视频数据存储的方法和装置
WO2010041858A2 (en) 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for decoding a video signal
US20100091841A1 (en) 2008-10-07 2010-04-15 Motorola, Inc. System and method of optimized bit extraction for scalable video coding
US8948241B2 (en) * 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
KR101712098B1 (ko) * 2009-09-04 2017-03-03 삼성전자 주식회사 구문 요소에 기초한 비트스트림 생성 방법 및 장치
US8611414B2 (en) 2010-02-17 2013-12-17 University-Industry Cooperation Group Of Kyung Hee University Video signal processing and encoding
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
WO2012010928A1 (en) 2010-07-20 2012-01-26 Nokia Corporation A media streaming apparatus
RU2517299C2 (ru) 2010-08-09 2014-05-27 Панасоник Корпорэйшн Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений и устройство декодирования изображений
US20120183077A1 (en) 2011-01-14 2012-07-19 Danny Hong NAL Unit Header
EP2664151A4 (en) * 2011-01-14 2016-01-20 Vidyo Inc HIGH-COATED SYNTAX FOR TIMELY SCALABILITY
WO2012122246A1 (en) 2011-03-10 2012-09-13 Vidyo, Inc. Dependency parameter set for scalable video coding
US9565449B2 (en) 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
GB2488830B (en) 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
US20130343465A1 (en) * 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US10110890B2 (en) 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
US20140003534A1 (en) 2012-07-02 2014-01-02 Sony Corporation Video coding system with temporal scalability and method of operation thereof
US9648322B2 (en) 2012-07-10 2017-05-09 Qualcomm Incorporated Coding random access pictures for video coding
US9380289B2 (en) 2012-07-20 2016-06-28 Qualcomm Incorporated Parameter sets in video coding
US9154785B2 (en) 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110043701A1 (en) 2009-08-20 2011-02-24 Canon Kabushiki Kaisha Video processing apparatus and method for controlling the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Munsi Haque, ‘AHG10: VUI and HRD syntax designs agreed by the BoG on VPS and NUH’, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 July 2012, JCTVC-J0548

Also Published As

Publication number Publication date
JP6128261B2 (ja) 2017-05-17
EP2853091A1 (en) 2015-04-01
EP2853091A4 (en) 2016-03-09
KR101721305B1 (ko) 2017-03-29
KR20170000391A (ko) 2017-01-02
US10327005B2 (en) 2019-06-18
US9912941B2 (en) 2018-03-06
JP2016181912A (ja) 2016-10-13
JP2015529033A (ja) 2015-10-01
CN104396260B (zh) 2018-05-04
KR20150024863A (ko) 2015-03-09
WO2014008170A1 (en) 2014-01-09
JP2017153112A (ja) 2017-08-31
CN108235006B (zh) 2021-12-24
JP2017153113A (ja) 2017-08-31
CN108235006A (zh) 2018-06-29
KR20170081279A (ko) 2017-07-11
US20180063542A1 (en) 2018-03-01
US20140003487A1 (en) 2014-01-02
JP5950039B2 (ja) 2016-07-13
US10659799B2 (en) 2020-05-19
CN104396260A (zh) 2015-03-04
KR20170081280A (ko) 2017-07-11
US20190215523A1 (en) 2019-07-11
EP2853091B1 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
KR101756615B1 (ko) 디코딩 방법, 디코딩 장치 및 프로그램 기록 매체
KR101963486B1 (ko) 인코딩된 비트스트림을 생성하기 위하여 영상 데이터를 인코딩하기 위한 방법 및 인코딩 디바이스
JP6390775B2 (ja) 復号装置及び復号方法

Legal Events

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