JP6452798B2 - ビデオコーディング拡張の搬送のためのトランスポートストリーム - Google Patents

ビデオコーディング拡張の搬送のためのトランスポートストリーム Download PDF

Info

Publication number
JP6452798B2
JP6452798B2 JP2017500958A JP2017500958A JP6452798B2 JP 6452798 B2 JP6452798 B2 JP 6452798B2 JP 2017500958 A JP2017500958 A JP 2017500958A JP 2017500958 A JP2017500958 A JP 2017500958A JP 6452798 B2 JP6452798 B2 JP 6452798B2
Authority
JP
Japan
Prior art keywords
syntax element
operating point
ptl
descriptor
sets
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2017500958A
Other languages
English (en)
Other versions
JP2017525276A5 (ja
JP2017525276A (ja
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 JP2017525276A publication Critical patent/JP2017525276A/ja
Publication of JP2017525276A5 publication Critical patent/JP2017525276A5/ja
Application granted granted Critical
Publication of JP6452798B2 publication Critical patent/JP6452798B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本出願は、その内容全体が参照により組み込まれている、2014年7月16日に出願した米国仮特許出願第62/025,432号の利益を主張するものである。
本開示は、ビデオ処理に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4, Part 10, アドバンストビデオコーディング(AVC)、高効率ビデオコーディング(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライスの中のビデオブロックは、同じピクチャにおける隣接ブロックの中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライスの中のビデオブロックは、同じピクチャにおける隣接ブロックの中の参照サンプルに対する空間予測、または他の参照ピクチャの中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
空間予測または時間予測が、コーディングされるべきブロックに対する予測ブロックをもたらす。残差データが、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データはピクセル領域から変換領域に変換されてよく、結果として残差係数をもたらし、残差係数は次いで量子化され得る。最初に2次元アレイに配置される量子化係数は、係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
たとえば複数の観点からのビューを符号化することによって、マルチビューコーディングビットストリームが生成され得る。マルチビューコーディング態様を利用するいくつかの3次元(3D)ビデオ規格が開発されている。たとえば、異なるビューが、3Dビデオをサポートするために左眼ビューおよび右眼ビューを送信し得る。代替的に、いくつかの3Dビデオコーディングプロセスは、いわゆるマルチビュープラス深度コーディングを適用し得る。マルチビュープラス深度コーディングでは、3Dビデオビットストリームが、テクスチャビュー構成要素だけではなく深度ビュー構成要素も含み得る。たとえば、各ビューは、1つのテクスチャビュー構成要素および1つの深度ビュー構成要素を含み得る。
本開示の技法は、マルチレイヤビデオデータの搬送のためのMPEG-2ストリームに関する技法を含む。たとえば、本開示の特定の技法は、高効率ビデオコーディング(HEVC)拡張、たとえば、マルチビューHEVC(MV-HEVC)、3次元HEVC(3D-HEVC)、およびスケーラブルHEVC(SHVC)の搬送のためのMPEG-2トランスポートストリームに関する。本開示のいくつかの技法によれば、現在のプログラム要素を復号する前に復号順序で存在する必要があるプログラム要素のレイヤインデックスを示すシンタックス要素を含む記述子が、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかの指示も含む。本開示の1つまたは複数の追加の技法によれば、プログラムのための記述子が、プロファイル、ティア、レベル(PTL)情報のセットを指定するシンタックス要素を含み、PTL情報のセットのうちのどれが動作点の特定のレイヤに適用されるかを示すシンタックス要素も含む。
一例では、本開示は、ビデオデータを処理する方法について説明し、本方法は、1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のPTLシンタックス要素セットを取得するステップであって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、ステップと、第1の記述子またはプログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得するステップであって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、ステップと、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の各それぞれのレイヤに関して、それぞれの動作点シンタックス要素セットにおけるそれぞれのシンタックス要素に基づいて、PTLシンタックス要素セットのうちのどれが、それぞれのレイヤに割り当てられたPTL情報を指定するかを判断するステップであって、それぞれの動作点が複数のレイヤを有する、ステップとを備える。
別の例では、本開示は、ビデオデータを処理する方法について説明し、本方法は、1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のPTLシンタックス要素セットをシグナリングするステップであって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、ステップと、第1の記述子またはプログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングするステップであって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定し、それぞれの動作点の各それぞれのレイヤについて、それぞれの動作点シンタックス要素が、それぞれの動作点のそれぞれのレイヤに割り当てられたPTL情報を指定する複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、それぞれの動作点が複数のレイヤを有する、ステップとを備える。
別の例では、本開示は、ビデオデータを処理するためのデバイスについて説明し、本デバイスは、符号化ビデオデータを記憶するように構成されたデータ記憶媒体と、1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、符号化ビデオデータを備える1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のPTLシンタックス要素セットを取得することであって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、取得することと、第1の記述子またはプログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得することであって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、取得することと、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の各それぞれのレイヤに関して、それぞれの動作点シンタックス要素セットにおけるそれぞれのシンタックス要素に基づいて、PTLシンタックス要素セットのうちのどれが、それぞれのレイヤに割り当てられたPTL情報を指定するかを判断することであって、それぞれの動作点が複数のレイヤを有する、判断することとを行うように構成される。
別の例では、本開示は、ビデオデータを処理するためのデバイスについて説明し、本デバイスは、符号化ビデオデータを記憶するように構成されたデータ記憶媒体と、1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、符号化ビデオデータを備える1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のPTLシンタックス要素セットをシグナリングすることであって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、シグナリングすることと、第1の記述子またはプログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングすることであって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定し、それぞれの動作点の各それぞれのレイヤについて、それぞれの動作点シンタックス要素が、それぞれの動作点のそれぞれのレイヤに割り当てられたPTL情報を指定する複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、それぞれの動作点が複数のレイヤを有する、シグナリングすることとを行うように構成される。
別の例では、本開示は、ビデオデータを処理するためのデバイスについて説明し、本デバイスは、1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のPTLシンタックス要素セットを取得するための手段であって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、手段と、第1の記述子またはプログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得するための手段であって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、手段と、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の各それぞれのレイヤに関して、それぞれの動作点シンタックス要素セットにおけるそれぞれのシンタックス要素に基づいて、PTLシンタックス要素セットのうちのどれが、それぞれのレイヤに割り当てられたPTL情報を指定するかを判断するための手段であって、それぞれの動作点が複数のレイヤを有する、手段とを備える。
別の例では、本開示は、ビデオデータを処理するためのデバイスについて説明し、本デバイスは、1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のPTLシンタックス要素セットをシグナリングするための手段であって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、手段と、第1の記述子またはプログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングするための手段であって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定し、それぞれの動作点の各それぞれのレイヤについて、それぞれの動作点シンタックス要素が、それぞれの動作点のそれぞれのレイヤに割り当てられたPTL情報を指定する複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、それぞれの動作点が複数のレイヤを有する、手段とを備える。
別の例では、本開示は、実行されたとき、ビデオ処理デバイスの1つまたは複数のプロセッサに、1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のPTLシンタックス要素セットを取得することであって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、取得することと、第1の記述子またはプログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得することであって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、取得することと、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の各それぞれのレイヤに関して、それぞれの動作点シンタックス要素セットにおけるそれぞれのシンタックス要素に基づいて、PTLシンタックス要素セットのうちのどれが、それぞれのレイヤに割り当てられたPTL情報を指定するかを判断することであって、それぞれの動作点が複数のレイヤを有する、判断することとを行わせる命令を記憶したコンピュータ可読データ記憶媒体について説明する。
別の例では、本開示は、実行されたとき、ビデオ処理デバイスの1つまたは複数のプロセッサに、1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のPTLシンタックス要素セットをシグナリングすることであって、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備え、第1の記述子がトランスポートストリームにある、シグナリングすることと、第1の記述子またはプログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングすることであって、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定し、それぞれの動作点の各それぞれのレイヤについて、それぞれの動作点シンタックス要素が、それぞれの動作点のそれぞれのレイヤに割り当てられたPTL情報を指定する複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、それぞれの動作点が複数のレイヤを有する、シグナリングすることとを行わせる命令を記憶したコンピュータ可読データ記憶媒体について説明する。
本開示の1つまたは複数の例の詳細を、添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
本開示で説明する技法を利用し得る例示的なビデオコーディングシステムを示すブロック図である。 例示的なビデオエンコーダを示すブロック図である。 例示的なビデオデコーダを示すブロック図である。 本開示の技法による、ビデオデータを処理するための第1の例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを処理するための第2の例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを処理するための第3の例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを処理するための第4の例示的な動作を示すフローチャートである。
高効率ビデオコーディング(HEVC)は、最近規格化されたビデオコーディング規格である。マルチレイヤHEVCは、マルチレイヤをサポートするHEVCの拡張を指す用語である。マルチビューHEVC(MV-HEVC)、3次元HEVC(3D-HEVC)、およびスケーラブルHEVC(SHVC)は、マルチレイヤHEVCの例示的なタイプである。MV-HEVCおよび3D-HEVCでは、異なるレイヤは異なるビューに対応し得る。SHVCは、ベースレイヤおよびエンハンスメントレイヤを規定する。エンハンスメントレイヤは、ベースレイヤのフレームレートまたはピクチャ品質の向上をもたらすことができる。
レイヤ内のいくつかのピクチャは、同じレイヤ内の他のピクチャを参照せずに復号され得る。したがって、レイヤのいくつかのピクチャのデータをカプセル化しているネットワークアブストラクションレイヤ(NAL)ユニットは、レイヤの中の他のピクチャの復号可能性に影響を与えることなく、ビットストリームから除去され得る。そのようなピクチャのデータをカプセル化しているNALユニットを除去すると、ビットストリームのフレームレートが低下し得る。レイヤ内の他のピクチャを参照せずに復号され得るレイヤ内のピクチャのサブセットは、本明細書では「サブレイヤ」または「時間サブレイヤ」と呼ばれ得る。
MPEG-2システム仕様は、デジタル送信または記憶に適した単一のデータストリームを形成するために、圧縮されたマルチメディア(ビデオおよびオーディオ)データストリームが他のデータとともに多重化され得る方法について説明している。HEVCおよびマルチレイヤHEVCは、MPEG-2システム仕様におけるデータストリームを形成するために多重化され得るビデオデータの例示的なタイプである。MPEG-2システム仕様は、プログラムストリームおよびトランスポートストリームの概念を定義する。プログラムストリームは、デジタル記憶サービスからの単一のプログラムの記憶および表示に向いている。一般に、プログラムストリームは、エラーのない環境での使用を目的とする。対照的に、トランスポートストリームは、潜在的にエラーを起こしやすいチャネルを介した複数のプログラムの同時配信を目的とする。プログラムストリームおよびトランスポートストリームは、パケット化エレメンタリストリーム(PES)パケットを含む。プログラムストリームおよびトランスポートストリームのPESパケットは、1つまたは複数のエレメンタリストリームに属する。エレメンタリストリームは、プログラムの、単一のデジタル的にコーディングされた(場合によっては、HEVC圧縮またはマルチレイヤHEVC圧縮された)構成要素である。たとえば、プログラムのコーディングされたビデオまたはオーディオの部分は、エレメンタリストリームであり得る。
トランスポートストリームは、プログラムまたはプログラムのエレメンタリストリームに関するさらなる情報を伝達する1つまたは複数の記述子を含み得る。たとえば、記述子は、ビデオ符号化パラメータ、オーディオ符号化パラメータ、言語識別情報、パンアンドスキャン情報、限定アクセスの詳細、著作権情報などを含み得る。ブロードキャスタまたは他のユーザは、必要であれば追加のプライベート記述子を定義することができる。ビデオ関連構成要素エレメンタリストリームでは、記述子は、1つまたは複数の階層記述子を含み得る。階層記述子は、階層的にコーディングされたビデオ、オーディオ、およびプライベートストリームの構成要素を含むプログラム要素を識別する情報を提供する。プライベートストリームは、プログラム固有情報のストリームなど、メタデータを含み得る。一般に、プログラム要素は、プログラムに含まれるデータまたはエレメンタリストリームのうちの1つ(すなわち、プログラムの構成要素エレメンタリストリーム)である。MPEG-2トランスポートストリームでは、プログラム要素は通常、パケット化される。MPEG-2プログラムストリームでは、プログラム要素はパケット化されない。
記述子は、符号化ビデオデータとは別個のものである。したがって、Media Aware Network Element(MANE)などのデバイスは、符号化ビデオデータを復号またはさもなければ分析することなく、トランスポートストリームおよびプログラムストリームに対して様々な機能を実行するために、記述子を使用することが可能であり得る。たとえば、HEVCを使用してビデオデータが符号化される場合、デバイスは、トランスポートストリームまたはプログラムストリームに対して特定の機能を実行するために記述子を使用するために、HEVC符号化ビデオデータを復号するように構成される必要がない。たとえば、デバイスは、宛先デバイスに特定のプログラム要素を転送するべきかどうかを判断するためのプロセスの一部として記述子を使用することが可能であり得る。
プログラムの各それぞれのレイヤの各それぞれの時間サブレイヤは、プログラムの異なるプログラム構成要素(たとえば、エレメンタリストリーム)に対応し得る。上記に示したように、記述子は階層記述子を含み得る。各それぞれの階層記述子は、対応するプログラム構成要素、ひいてはそれぞれの時間サブレイヤに関する情報を提供する。たとえば、階層記述子は、階層記述子に対応する時間サブレイヤを復号するために必要とされる埋め込み時間サブレイヤを指定するシンタックス要素を含み得る。さらに、階層記述子は、対応する時間サブレイヤが埋め込み時間サブレイヤと比較して時間スケーラビリティを提供する(たとえば、フレームレートを上昇させる)かどうか、埋め込み時間サブレイヤと比較して空間スケーラビリティを提供する(たとえば、ピクチャ解像度を上昇させる)かどうか、埋め込み時間サブレイヤと比較して品質スケーラビリティを提供する(たとえば、信号対雑音の品質または忠実度(fidelity)を向上させる)かどうか、などを指定するシンタックス要素を含むことができる。階層記述子は、対応する時間サブレイヤを復号することが、異なるレイヤに対応するプログラム構成要素を復号することに依存するかどうかを示さない。
1つまたは複数の階層記述子に加えて、MPEG-2トランスポートストリームまたはプログラムストリームにおいてシグナリングされる記述子は、1つまたは複数の階層拡張記述子を含むことができる。各階層拡張記述子は、対応するプログラム構成要素、ひいてはそれぞれの時間サブレイヤに関する追加情報を提供することができる。階層記述子とは異なり、階層拡張記述子は、階層拡張記述子に対応する時間サブレイヤを正常に復号するために、どのレイヤが復号される必要があるかを示すことができる。
階層拡張記述子は、階層拡張記述子に対応する時間サブレイヤを復号するために、どの時間サブレイヤが必要とされるかを、当該時間サブレイヤがあるとしても識別しない。言い換えれば、階層拡張記述子は、時間依存性を記述することができない。したがって、階層記述子が、時間依存性だけを記述するために使用されるのに対し、他のタイプの依存性は、階層拡張記述子を使用して記述される。結果として、階層拡張記述子の解釈は、階層記述子に依存する。言い換えれば、デバイスは、階層拡張記述子に対応するプログラム構成要素を復号するために、どの他のプログラム構成要素が復号される必要があるかを十分に判断することが可能ではないことがある。したがって、対応する階層記述子の存在なしには階層拡張記述子が使用され得ないことがある。
本開示の特定の技法は、階層記述子に対する階層拡張記述子の依存性を断つことができる。したがって、本開示の技法によれば、デバイスは、対応する階層記述子の存在なしに階層拡張記述子を使用することができる。たとえば、コンピューティングデバイスは、現在のプログラム要素がビットストリームのフレームレートを向上させる(たとえば、上昇させる)かどうかを判断することができる。この例では、コンピューティングデバイスは、現在のプログラム要素に対応する記述子(たとえば、階層拡張記述子)の中に、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要があるプログラム要素のレイヤインデックスを示すシンタックス要素を含めることができる。記述子は、トランスポートストリームにあり得る。他の例では、記述子は、プログラムストリームまたは他の場所にある。この例では、コンピューティングデバイスは、現在のプログラム要素に対応する記述子の中に、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかの指示を含める。
階層記述子および階層拡張記述子に加えて、トランスポートストリームまたはプログラムストリームの記述子は、HEVC動作点記述子およびHEVC拡張記述子を含み得る。HEVC動作点記述子は、動作点を記述している情報を含む。動作点は、ビットストリームのNALユニットのサブセットである。動作点は、レイヤ識別子セットおよび最大時間識別子によって定義され得る。いくつかの事例では、動作点は、識別されたレイヤのうちの1つに属する、最大時間識別子以下の時間識別子を有するビットストリームの各NALユニットから成る。
HEVC動作点記述子とHEVC拡張記述子の両方は、プロファイル、ティア、およびレベル(PTL)情報を示すシンタックス要素を含む。一般に、ビデオコーディング規格の「プロファイル」は、ビデオコーディング規格に存在する特徴およびツールのサブセットである。言い換えれば、プロファイルは、どのコーディングツールが使用され得るかを定義する。たとえば、ビデオエンコーダの場合、プロファイルは、前記プロファイルに適合するコード化ビットストリームを生成するためにビデオエンコーダが使用することができるコーディングツールのセットであり得る。ビデオデコーダの場合、プロファイルは、前記プロファイルに適合するビットストリームを復号することが可能であるためにビデオデコーダが有しなければならないコーディングツールのセットを意味し得る。
レベルは、ビデオコーディング規格のシンタックス要素および変数によって取られ得る値に対する制約の定義されたセットである。ティアは、ビットストリームの中のシンタックス要素の値または変数の値に課されたレベル制約の指定されたカテゴリであり、レベル制約がティア内にネストされ、あるティアおよびレベルに適合するデコーダが、同じティアまたはそのレベルもしくはそのレベルを下回る任意のレベルのより低いティアに適合するすべてのビットストリームを復号することが可能になる。したがって、ティアのレベルは、ビットストリームの中のシンタックス要素またはビットストリームを復号する際に使用される変数の値に課される制約の指定されたセットである。
上記に示したように、HEVC動作点記述子とHEVC拡張記述子の両方は、PTL情報を示すシンタックス要素を含む。しかしながら、HEVC動作点記述子およびHEVC拡張記述子におけるPTL情報のシグナリングは、PTL情報がコーデックレベルにおいて、たとえば、SHVCおよびMV-HEVCにおいてシグナリングされる方法と整合しない。たとえば、コーデックレベルでは、動作点に含まれる各レイヤは、それ自体のPTL情報を割り当てられる。しかしながら、これは、HEVC動作点記述子およびHEVC拡張記述子では当てはまらない。
本開示の追加の技法は、そのような記述子におけるPTL情報のシグナリングを、コーデックレベルにおけるPTL情報のシグナリングと整合させることができる。たとえば、本開示の特定の技法は、プログラムに対応する記述子(たとえば、HEVC拡張記述子)において、プログラムの動作点のセットの各それぞれのレイヤに関するPTL情報を指定することができる。一例では、コンピューティングデバイスは、1つまたは複数のエレメンタリストリームを備えるプログラムのための記述子において、複数のPTLシンタックス要素セットをシグナリングする。記述子は、トランスポートストリームにあり得る。この例では、プログラムの複数の動作点の各それぞれの動作点の各それぞれのレイヤについて、コンピューティングデバイスまたは別のデバイスは、それぞれの動作点のそれぞれのレイヤにそれぞれのPTL情報を割り当てることができる。さらに、この例では、コンピューティングデバイスは、プログラムのための記述子において、複数の動作点シンタックス要素セットをシグナリングする。この例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットは、複数の動作点のそれぞれの動作点を指定する。この例では、それぞれの動作点の各それぞれのレイヤについて、それぞれの動作点シンタックス要素は、それぞれの動作点のそれぞれのレイヤに割り当てられたそれぞれのPTL情報を指定する複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含む。
図1は、本開示の技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、総称的に、ビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、総称的に、ビデオ符号化またはビデオ復号を指す場合がある。
図1に示すように、ビデオコーディングシステム10は、ソースデバイス12および宛先デバイス14を含む。ソースデバイス12は、符号化ビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス14は、ソースデバイス12によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータ、ビデオ会議機器などを含む、広範囲のデバイスを備え得る。
宛先デバイス14は、符号化ビデオデータをソースデバイス12からチャネル16を介して受信し得る。チャネル16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動させることが可能な1つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12がリアルタイムで符号化ビデオデータを宛先デバイス14に直接送信することを可能にする、1つまたは複数の通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス14に送信し得る。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、ワイヤレスおよび/またはワイヤードの通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット)などの、パケットベースネットワークの一部を形成し得る。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にする他の機器を含み得る。
別の例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14は、たとえば、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、または符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体などの、ローカルにアクセスされる様々なデータ記憶媒体を含み得る。
さらなる例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス14は、ファイルサーバまたは他の中間記憶デバイスにおいて記憶された符号化ビデオデータに、ストリーミングまたはダウンロードを介してアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶するとともに符号化ビデオデータを宛先デバイス14に送信することが可能なタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブを含む。
宛先デバイス14は、インターネット接続などの標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。データ接続の例示的なタイプは、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、デジタル加入者回線(DSL)、ケーブルモデムなど)、または両方の組合せを含み得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってよい。
本開示の技法は、ワイヤレスの用途またはセッティングに限定されない。技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえば、インターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の用途などの様々なマルチメディア用途をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオテレフォニーなどの用途をサポートするために、片方向または双方向のビデオ送信をサポートするように構成され得る。
図1は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間に必ずしもデータ通信を含まないビデオコーディングのセッティング(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データは、ローカルメモリから、ネットワークを介してストリーミングされて、または類似のやり方で取り出される。ビデオ符号化デバイスがデータを符号化するとともにメモリに記憶してよく、かつ/またはビデオ復号デバイスがメモリからデータを取り出すとともに復号してもよい。多くの例では、互いに通信しないが、単にデータを符号化するとともにメモリに記憶し、かつ/またはメモリからデータを取り出すとともに復号するデバイスによって、符号化および復号が実行される。
図1の例では、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオデータをビデオコンテンツプロバイダから受信するためのビデオフィードインターフェース、および/もしくはビデオデータを生成するためのコンピュータグラフィックスシステム、またはビデオデータのそのようなソースの組合せを含み得る。
ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス12は、符号化ビデオデータを宛先デバイス14に出力インターフェース22を介して直接送信する。他の例では、復号および/または再生のために宛先デバイス14によって後でアクセスできるように、符号化ビデオデータはまた、記憶媒体またはファイルサーバへ記憶され得る。
図1の例では、宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、およびディスプレイデバイス32を含む。いくつかの例では、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、符号化ビデオデータをチャネル16を介して受信し得る。ビデオデコーダ30は、符号化ビデオデータを復号し得る。ディスプレイデバイス32は、復号ビデオデータを表示し得る。ディスプレイデバイス32は、宛先デバイス14と一体化されてよく、または宛先デバイス14の外部にあってもよい。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスを備え得る。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェア、またはそれらの任意の組合せなどの、様々な適切な回路のいずれかとして実装され得る。技法が部分的にソフトウェアで実装される場合、本開示の技法を実行するために、デバイスは、ソフトウェアのための命令を適切な非一時的コンピュータ可読記憶媒体に記憶し得、1つまたは複数のプロセッサを使用するハードウェアにおいて命令を実行し得る。前述のもののいずれか(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)は、1つまたは複数のプロセッサであると見なされてよい。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、それらのいずれかが、組み合わされたエンコーダ/デコーダ(コーデック)の一部としてそれぞれのデバイスの中で一体化されてよい。
本開示は、一般に、ビデオデコーダ30などの別のデバイスに特定の情報を「シグナリングする」ビデオエンコーダ20を参照することがある。「シグナリングすること」という用語は、概して、シンタックス要素、および/または圧縮ビデオデータを復号するために使用される他のデータの値の通信を指すことがある。そのような通信は、リアルタイムで、またはほぼリアルタイムで発生し得る。代替的に、そのような通信は、符号化の時点において符号化ビットストリームの中のシンタックス要素をコンピュータ可読記憶媒体に記憶し、次いで、シンタックス要素が、この媒体に記憶された後の任意の時点において復号デバイスによって取り出され得るときに発生し得るような、時間の範囲にわたって発生することもある。
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、国際標準化機構(ISO)/IEC MPEG-4 Visual、およびITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られる)(それのスケーラブルビデオコーディング(SVC)拡張と、マルチビュービデオコーディング(MVC)拡張と、MVCベースの3次元ビデオ(3DV)拡張とを含む)など、ビデオ圧縮規格に従って動作する。いくつかの事例では、H.264/AVCのMVCベースの3DV拡張に適合するビットストリームは常に、H.264/AVCのMVC拡張に準拠するサブビットストリームを含む。さらに、ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のH.264/AVCに対する3DVコーディング拡張(すなわち、AVCベースの3DV)に従って動作し得る。他の例では、ビデオエンコーダ20およびビデオデコーダ30は、国際電気通信連合電気通信標準化部門(ITU-T) H.261、国際標準化機構(ISO)/国際電気標準会議(IEC) Moving Picture Experts Group(MPEG)-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、およびITU-T H.264、ISO/IEC Visualに従って動作し得る。言い換えれば、ビデオコーディング規格は、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、およびITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られる)(それのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む)を含む。
他の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって開発された高効率ビデオコーディング(HEVC)に従って動作し得る。HEVCは、「Rec.ITU-T H.265 | ISO/IEC 23008-2」と呼ばれることがある。以下でHEVC WDと呼ばれるHEVCドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。以下で「HEVC Version 1」と呼ばれるHEVCのバージョンは、https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.265-201304-S!!PDF-E&type=itemsから入手可能である。SHVCという名のHEVCに対するスケーラブル拡張も、JCT-VCによって開発されている最中である。SHVCの、以下でSHVC WD3と呼ばれる最近のワーキングドラフト(WD)は、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1008-v3.zipから入手可能である。HEVCの範囲拡張の最近のワーキングドラフト(WD)は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1005-v3.zipから入手可能である。
さらに、ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHEVCに関するスケーラブルビデオコーディング拡張、マルチビューコーディング拡張、および3DV拡張に従って動作し得る。HEVCのスケーラブルビデオコーディング拡張は、SHVCと呼ばれることがある。HEVCに対するマルチビュー拡張、すなわちMV-HEVCも、JCT-3Vによって開発されている最中である。以下でMV-HEVC WD5と呼ばれるMV-HEVCの最近のワーキングドラフト(WD)は、http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zipから入手可能である。HEVCの3DV拡張は、HEVCベースの3DVまたは3D-HEVCと呼ばれることがある。HEVCの3D拡張、すなわち3D-HEVCの最近のワーキングドラフト(WD)は、http://phenix.int-evry.fr/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zipから入手可能である。
HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、およびSCrと示される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書で「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロであってよく、ルーマサンプルのアレイだけを含んでよい。
ピクチャの符号化表現を生成するために、ビデオエンコーダ20が、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備えてもよい。モノクロピクチャ、または3つの別個の色平面を有するピクチャでは、CTUは、単一のコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備えてもよい。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックと概して類似であり得る。しかしながら、CTUは、必ずしも特定のサイズに限定されず、1つまたは複数のコーディングユニット(CU)を含んでよい。スライスは、ラスタ走査順序において連続的に順序付けられた整数個のCTUを含み得る。
コード化CTUを生成するために、ビデオエンコーダ20がCTUのコーディングツリーブロック上で4分木区分を再帰的に実行してコーディングツリーブロックをコーディングブロックに分割してよく、したがって、「コーディングツリーユニット」という名前である。コーディングブロックは、サンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、CbサンプルアレイおよびCrサンプルアレイを有するピクチャのルーマサンプルのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備えてもよい。モノクロピクチャ、または3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備えてもよい。
ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの、長方形(すなわち、正方形または非正方形)のブロックである。CUの予測ユニット(PU)は、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロピクチャ、または3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックを予測するために使用されるシンタックス構造とを備えてもよい。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックに対して、予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成し得る。
ビデオエンコーダ20は、PUに関する予測ブロックを生成するために、イントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。本開示では、「に基づいて」という句は、「に少なくとも部分的に基づいて」を示し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。
インター予測をサポートするために、ビデオエンコーダ20は、1つまたは複数の参照ピクチャリストを生成し得る。これらの参照ピクチャリストは、RefPicList0およびRefPicList1と呼ばれ得る。いくつかの例では、ビデオエンコーダ20は、異なるピクチャまたはピクチャの異なるスライスに関して異なる参照ピクチャリストを生成し得る。したがって、異なるピクチャおよび/またはスライスの異なるPUは、RefPicList0およびRefPicList1の異なるバージョンに関連付けられ得る。
さらに、ビデオエンコーダ20がインター予測を使用してPUの予測ブロックを生成するとき、ビデオエンコーダはPUの動き情報をシグナリングし得る。動き情報は、PUの参照インデックスおよびPUの動きベクトルを含み得る。PUの参照インデックスは、PUに関連する参照ピクチャリストのうちの1つの中の、参照ピクチャの位置を示し得る。PUの動きベクトルは、PUの予測ブロックと参照ピクチャにおける参照ロケーションとの間の空間変位を示し得る。ビデオエンコーダ20は、参照ロケーションに関連する参照ピクチャのサンプルを使用して、PUに関する予測ブロックを生成し得る。PUは2つの参照ピクチャに関連付けられ得るので、PUは、2つの参照インデックスおよび2つの動きベクトルを有し得る。したがって、PUは、RefPicList0参照インデックスおよびRefPicList1参照インデックスを有し得る。PUのRefPicList0参照インデックスは、RefPicList0のPUのバージョンにおける参照ピクチャを示す。PUのRefPicList1参照インデックスは、RefPicList1のPUのバージョンにおける参照ピクチャを示す。同様に、PUは、RefPicList0動きベクトルおよびRefPicList1動きベクトルを有し得る。PUのRefPicList0動きベクトルは、RefPicList0のPUのバージョンにおける参照ピクチャにおける参照ロケーションを示し得る。PUのRefPicList1動きベクトルは、RefPicList1のPUのバージョンにおける参照ピクチャにおける参照ロケーションを示し得る。
ビデオエンコーダ20は、ビットストリームにおいてPUの参照インデックスおよび動きベクトルをシグナリングし得る。言い換えれば、ビデオエンコーダ20は、ビットストリームの中に、PUの参照インデックスおよび動きベクトルを示すデータを含めることができる。ビデオデコーダ30は、RefPicList0および/またはRefPicList1のPUのバージョンを再構成することができ、PUの参照インデックスおよび動きベクトルを使用して、PUに関する1つまたは複数の予測ブロックを決定し得る。ビデオデコーダ30は、PUに関する予測ブロックを残差データとともに使用して、サンプルを復号し得る。
ビデオエンコーダ20がCUのPUに関する予測ブロックを生成した後、ビデオエンコーダ20は、CUに関する残差ブロックを生成し得る。CUの残差ブロックの各サンプルは、CUのPUの予測ブロックのうちの1つの中のサンプルとCUのコーディングブロックのうちの1つの中の対応するサンプルとの間の差分を示し得る。たとえば、ビデオエンコーダ20は、CUの1つまたは複数のPUに関する予測ルーマブロックを生成し得、ビデオエンコーダ20は、CUに関するルーマ残差ブロックを生成し得る。CUのルーマ残差ブロックの中の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルとCUの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CUに関するCb残差ブロックを生成し得る。CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルとCUの元のCbコーディングブロックの中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUに関するCr残差ブロックを生成し得る。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルとCUの元のCrコーディングブロックの中の対応するサンプルとの間の差分を示し得る。
さらに、ビデオエンコーダ20は、4分木区分を使用して、CUの残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)に分解し得る。変換ブロックは、同じ変換が適用されるサンプルの、長方形(たとえば、正方形または非正方形)のブロックであってよい。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備えてもよい。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられ得る。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロピクチャ、または3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備えてもよい。
ビデオエンコーダ20は、1つまたは複数の変換をTUの変換ブロックに適用して、TUに関する係数ブロックを生成し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。たとえば、ビデオエンコーダ20は、1つまたは複数の変換をTUのルーマ変換ブロックに適用して、TUに関するルーマ係数ブロックを生成し得る。ビデオエンコーダ20は、1つまたは複数の変換をTUのCb変換ブロックに適用して、TUに関するCb係数ブロックを生成し得る。ビデオエンコーダ20は、1つまたは複数の変換をTUのCr変換ブロックに適用して、TUに関するCr係数ブロックを生成し得る。
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化とは、概して、変換係数が量子化されて、場合によっては、変換係数を表すために使用されるデータの量を低減し、さらなる圧縮をもたらすプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。
ビデオエンコーダ20は、コード化ピクチャの表現および関連したデータを形成するビットのシーケンスを含むビットストリームを出力し得る。「ビットストリーム」という用語は、ネットワークアブストラクションレイヤ(NAL)ユニットストリーム(たとえば、NALユニットのシーケンス)またはバイトストリーム(たとえば、HEVC規格のAnnex Bによって指定されているように、スタートコードプレフィックスおよびNALユニットを含むNALユニットストリームのカプセル化)のいずれかを指すために使用される総称であり得る。NALユニットは、NALユニットにおけるデータのタイプの指示と、必要に応じてエミュレーション防止ビットを散在させたローバイトシーケンスペイロード(RBSP)の形式による、そのデータを含むバイトとを含むシンタックス構造である。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をカプセル化してよく、以下同様である。(パラメータセット用およびSEIメッセージ用のRBSPではなく)ビデオコーディングデータ用のRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれることがある。パラメータセット(たとえば、VPS、SPS、PPSなど)を含むNALユニットは、パラメータセットNALユニットと呼ばれ得る。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって実行されるプロセスと相反であり得る。たとえば、ビデオデコーダ30は、PUの動きベクトルを使用して、現在CUのPUに関する予測ブロックを決定し得る。加えて、ビデオデコーダ30は、現在CUのTUに関連する係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、現在CUのTUに関連する変換ブロックを再構成し得る。ビデオデコーダ30は、現在CUのPUに関する予測ブロックのサンプルを、現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを再構成し得る。ピクチャのCUごとにコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。
マルチビューコーディングでは、異なる視点からの同じシーンの複数のビューがあり得る。マルチビューコーディングのコンテキストでは、「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指すために使用され得る。したがって、ビデオデータは、経時的に発生する一連のアクセスユニットとして概念化され得る。「ビュー構成要素」は、単一のアクセスユニットにおけるビューのコード化表現であり得る。本開示では、「ビュー」は、同じビュー識別子に関連するビュー構成要素のシーケンスを指し得る。いくつかの例では、ビュー構成要素は、テクスチャビュー構成要素(すなわち、テクスチャピクチャ)または深度ビュー構成要素(すなわち、深度ピクチャ)であり得る。
マルチビューコーディングは、ビュー間予測をサポートする。ビュー間予測は、HEVCにおいて使用されるインター予測と類似しており、同じシンタックス要素を使用し得る。しかしながら、ビデオコーダが(PUなどの)現在のビデオユニットに対してビュー間予測を実行するとき、ビデオエンコーダ20は、参照ピクチャとして、現在のビデオユニットと同じアクセスユニットの中であるが、異なるビューの中にあるピクチャを使用し得る。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニットの中のピクチャだけを使用する。
マルチビューコーディングでは、ビューは、ビデオデコーダ(たとえば、ビデオデコーダ30)がビューの中のピクチャを、任意の他のビューの中のピクチャを参照せずに復号することができる場合に、「ベースビュー」と呼ばれ得る。非ベースビューのうちの1つの中のピクチャをコーディングするとき、(ビデオエンコーダ20またはビデオデコーダ30などの)ビデオコーダはピクチャを、ピクチャが異なるビューの中であるがビデオコーダが現在コーディングしているピクチャと同じ時間インスタンス(すなわち、アクセスユニット)内にある場合に、参照ピクチャリストに追加し得る。他のインター予測参照ピクチャと同様に、ビデオコーダは、参照ピクチャリストの任意の位置にビュー間予測参照ピクチャを挿入し得る。
たとえば、NALユニットは、ヘッダ(すなわち、NALユニットヘッダ)およびペイロード(たとえば、RBSP)を含み得る。NALユニットヘッダは、nuh_reserved_zero_6bitsシンタックス要素を含み得る。異なる値を指定する、nuh_reserved_zero_6bitシンタックス要素とも称され得る、nuh_layer_idシンタックス要素を有するNALユニットは、ビットストリームの異なる「レイヤ」に属する。したがって、マルチビューコーディング、3DV、またはSVCでは、NALユニットのnuh_layer_idシンタックス要素は、NALユニットのレイヤ識別子(すなわち、レイヤID)を指定する。NALユニットのnuh_layer_idシンタックス要素は、NALユニットがマルチビューコーディング、3DVコーディング、またはSVCにおけるベースレイヤに関係する場合に、0に等しい。ビットストリームのベースレイヤにおけるデータは、ビットストリームの任意の他のレイヤを参照せずに復号され得る。NALユニットがマルチビューコーディング、3DV、またはSVCにおけるベースレイヤに関係しない場合、nuh_layer_idシンタックス要素は非0値を有し得る。マルチビューコーディングおよび3DVコーディングでは、ビットストリームの異なるレイヤは、異なるビューに対応し得る。SVCでは、ベースレイヤ以外のレイヤは、「エンハンスメントレイヤ」と呼ばれることがあり、ビットストリームから復号されたビデオデータの視覚的品質を向上させる情報を提供し得る。
さらに、レイヤ内のいくつかのピクチャは、同じレイヤ内の他のピクチャを参照せずに復号され得る。したがって、レイヤのいくつかのピクチャのデータをカプセル化しているNALユニットは、レイヤの中の他のピクチャの復号可能性に影響を与えることなく、ビットストリームから除去され得る。そのようなピクチャのデータをカプセル化しているNALユニットを除去すると、ビットストリームのフレームレートが低下し得る。レイヤ内の他のピクチャを参照せずに復号され得るレイヤ内のピクチャのサブセットは、本明細書では「サブレイヤ」または「時間サブレイヤ」と呼ばれ得る。
NALユニットは、temporal_idシンタックス要素を含み得る。NALユニットのtemporal_idシンタックス要素は、NALユニットの時間識別子を指定する。NALユニットの時間識別子は、NALユニットが関連付けられるサブレイヤを識別する。したがって、ビットストリームの各サブレイヤは、異なる時間識別子に関連付けられ得る。第1のNALユニットの時間識別子が第2のNALユニットの時間識別子よりも小さい場合、第1のNALユニットによってカプセル化されたデータは、第2のNALユニットによってカプセル化されたデータを参照せずに復号され得る。
ビットストリームは、複数の動作点に関連付けられ得る。ビットストリームの各動作点は、レイヤ識別子セット(すなわち、nuh_reserved_zero_6bits値のセット)および時間識別子に関連付けられる。レイヤ識別子セットはOpLayerIdSetとして示され得、時間識別子はTemporalIDとして示され得る。NALユニットのレイヤ識別子が動作点のレイヤ識別子セットの中にあり、NALユニットの時間識別子が動作点の時間識別子以下である場合、NALユニットは動作点に関連付けられる。動作点表現は、動作点に関連付けられるビットストリームサブセットである。動作点表現は、動作点に関連付けられる各NALユニットを含み得る。いくつかの例では、動作点表現は、動作点に関連付けられないVCL NALユニットを含まない。
メディアアウェアネットワーク要素(MANE)17は、複数のサブレイヤとともに符号化されるHEVCビットストリームにビットストリームシニング(bitstream thining)を適用し得る。MANE17は、各々が1つまたは複数のプロセッサおよびデータ記憶媒体を備え得る、様々なタイプのコンピューティングデバイスを備え得る。ビットストリームにおける任意の点において、MANE17は、より低いサブレイヤ(すなわち、より低い時間識別子に関連するサブレイヤ)の中のピクチャのための復号プロセスがより高いサブレイヤ(すなわち、より高い時間識別子に関連するサブレイヤ)のNALユニットに依存しないので、より低いサブレイヤの中のピクチャが依然として復号可能であることに基づいて、より高いサブレイヤのNALユニットを除去し始めることができる。ある値よりも高い時間識別子を有するすべてのNALユニットを除去するアクションは、時間ダウン切替えと呼ばれ得る。時間ダウン切替えは、常に可能であり得る。
「時間アップ切替え」という用語は、その点まで転送されていないあるサブレイヤのNALユニットを転送し始めるアクションを指し得る。時間アップ切替えは、切り替えられるレイヤの中のピクチャのいずれも、切替えが実行されたビットストリームにおける点の前の同じサブレイヤの中のいかなるピクチャにも依存しない場合にだけ可能であり得る。したがって、「時間サブレイヤ切替え点」という用語は、ピクチャと同じサブレイヤの中にあり、復号順序においてピクチャに先行する任意の他のピクチャに対する依存性を有しないピクチャを指し得る。
HEVCおよび他のビデオコーディング規格は、プロファイル、ティア、およびレベルを指定する。プロファイル、ティア、およびレベルは、ビットストリームに対する制限、したがって、ビットストリームを復号するために必要とされる能力に対する制限を指定する。プロファイル、ティア、およびレベルはまた、個々のデコーダ実装形態の間の相互運用点を示すために使用され得る。各プロファイルは、ビデオコーディング規格に存在するアルゴリズム特徴およびツールのサブセットを指定する。ビデオエンコーダは、プロファイルにおいてサポートされるすべての特徴を利用する必要はない。ティアの各レベルは、シンタックス要素および変数が有し得る値に対する制限のセットを指定し得る。すべてのプロファイルとともに、ティアおよびレベル定義の同じセットが使用され得るが、個々の実装形態は、サポートされるプロファイルごとに、異なるティア、およびティア内の異なるレベルをサポートし得る。所与のプロファイルの場合、ティアのレベルは概して、特定のデコーダの処理負荷およびメモリ能力に対応し得る。ビデオデコーダの能力は、特定のプロファイル、ティア、およびレベルの制約に適合するビデオストリームを復号する能力に関して指定され得る。そのようなプロファイルごとに、そのプロファイルのためにサポートされるティアおよびレベルも表され得る。いくつかのビデオデコーダは、特定のプロファイル、ティア、またはレベルを復号することが可能ではないことがある。
HEVCでは、プロファイル、ティア、およびレベルは、シンタックス構造のprofile_tier_level( )シンタックス構造によってシグナリングされ得る。profile_tier_level( )シンタックス構造は、VPSおよび/またはSPSに含まれ得る。profile_tier_level( )シンタックス構造は、general_profile_idcシンタックス要素、general_tier_flagシンタックス要素、およびgeneral_level_idcシンタックス要素を含み得る。general_profile_idcシンタックス要素は、コード化ビデオシーケンス(CVS)が適合するプロファイルを示し得る。general_tier_flagシンタックス要素は、general_level_idcシンタックス要素の解釈のためのティアコンテキストを示し得る。general_level_idcシンタックス要素は、CVSが適合するレベルを示し得る。これらのシンタックス要素の他の値が予約され得る。
ビデオデコーダの能力は、プロファイル、ティア、およびレベルの制約に適合するビデオストリームを復号する能力に関して指定され得る。そのようなプロファイルごとに、そのプロファイルのためにサポートされるティアおよびレベルも表され得る。いくつかの例では、ビデオデコーダは、HEVCにおいて指定された値の間のgeneral_profile_idcシンタックス要素の予約済み値が、指定されたプロファイルの間の中間能力を示すとは推測しない。しかしながら、ビデオデコーダは、HEVCにおいて指定された値の間のgeneral_tier_flagシンタックス要素の特定の値に関連するgeneral_level_idcシンタックス要素の予約済み値が、ティアの指定されたレベルの間の中間能力を示すと推測し得る。
MPEG-2システム仕様は、デジタル送信または記憶に適した単一のデータストリームを形成するために、圧縮されたマルチメディア(ビデオおよびオーディオ)データストリームが他のデータとともに多重化され得る方法について説明している。MPEG-2 TSの仕様は、AVCおよびAVC拡張のサポートが提供される、ITU-T勧告H.222.0、2012年6月バージョン(以下、「H.222.0」)である。HEVCに関するMPEG-2 TSの修正が開発されている。最新の文書は、2013年7月のMPEG文書w13656における「Text of ISO/IEC 13818-1: 2013 / Final Draft Amendment 3 - Transport of HEVC video over MPEG-2 Systems」(以下、「FDAM 3」)である。最近、レイヤードHEVCの搬送のためのMPEG-2 TSの修正が開始された。最新の文書は、2014年7月のMPEG文書w14562における「Text of ISO/IEC 13818-1:2013 / Study of PDAM 7 - Carriage of Layered HEVC」(以下、「PDAM 7のStudy」)である。
MPEG-2システム仕様では、エレメンタリストリームは、プログラムの、単一のデジタル的にコーディングされた(場合によっては、MPEG圧縮された)構成要素である。たとえば、プログラムのコーディングされたビデオまたはオーディオの部分は、エレメンタリストリームであり得る。エレメンタリストリームは最初に、プログラムストリームまたはトランスポートストリームに多重化される前にパケット化エレメンタリストリーム(PES)に変換される。同じプログラム内で、stream_idが、あるエレメンタリストリームに属するPESパケットを別のエレメンタリストリームに属するPESパケットと区別するために使用され得る。
MPEG-2システム仕様では、プログラムストリームおよびトランスポートストリームは、異なる用途を対象とする2つの代替的なマルチプレクスである。プログラムストリームは、デジタル記憶サービスからの単一のプログラムの記憶および表示に向いている。プログラムストリームはエラーに影響されやすいことがあるので、プログラムストリームは主に、エラーのない環境での使用を目的とする。
プログラムストリームは、プログラムストリームに属するエレメンタリストリームを備え、通常、可変長パケットを含む。プログラムストリームでは、寄与するエレメンタリストリームから導出されたPESパケットは、「パック」に編成される。パックは、パック-ヘッダ、随意のシステムヘッダ、および任意の順序による寄与するエレメンタリストリームのいずれかから取られた任意の数のPESパケットを備える。システムヘッダは、最大データレート、寄与するビデオおよびオーディオエレメンタリストリームの数、さらなるタイミング情報など、プログラムストリームの特性の概要を含む。デコーダは、システムヘッダに含まれる情報を使用して、デコーダがプログラムストリームを復号することが可能であるかどうかを判断し得る。
トランスポートストリームは主に、潜在的にエラーを起こしやすいチャネルを介したいくつかのプログラムの同時配信を目的とする。トランスポートストリームは、単一のトランスポートストリームが多くの独立したプログラムを受け入れることができるように、ブロードキャストなどのマルチプログラム用途のために考案されたマルチプレクスである。トランスポートストリームは、一連のトランスポートパケットを備える。いくつかの事例では、トランスポートパケットの各々は、188バイト長である。短い固定長パケットの使用は、トランスポートストリームがプログラムストリームほどエラーに影響されやすくはないことを意味する。さらに、各188バイト長のトランスポートパケットは、リードソロモン符号化などの標準的エラー保護プロセスを通じてトランスポートパケットを処理することによって、さらなるエラー保護を与えられ得る。トランスポートストリームの改善されたエラー耐性は、トランスポートパケットが、ブロードキャスト環境で見られるチャネルなど、エラーを起こしやすいチャネルを切り抜けるより高い可能性を有することを意味する。トランスポートストリームは明らかに、より高いエラー耐性および多くの同時プログラムを搬送する能力を有する、2つのマルチプレクスのうちの良い方であるように見えるかもしれない。しかしながら、トランスポートストリームは、プログラムストリームよりも高度なマルチプレクスであり、結果として、作成およびデマルチプレクスがより難しい。
トランスポートパケットの第1のバイトは、同期バイトであり、いくつかの事例では0x47である。単一のトランスポートストリームが、各々が多くのパケット化エレメンタリストリームを備える、多くの異なるプログラムを搬送し得る。パケット識別子(PID)フィールドが、あるエレメンタリストリームのデータを含むトランスポートパケットを他のエレメンタリストリームのデータを搬送するトランスポートパケットと区別するために使用される。いくつかの事例では、PIDは13ビットである。各エレメンタリストリームが一意のPID値を与えられるようにすることは、マルチプレクサの役目である。トランスポートパケットの最後のバイトは、連続カウントフィールドである。連続カウントフィールドは、同じエレメンタリストリームに属する連続するトランスポートパケットの間で増分される。これは、デコーダがトランスポートパケットの損失または獲得を検出し、そのような事象から場合により生じ得るエラーを潜在的に隠すことを可能にし得る。
トランスポートパケットがどのエレメンタリストリームに属するかは、PID値に基づいて明らかであるが、どのエレメンタリストリームがどのプログラムに属するかをデコーダが知る必要がある。したがって、トランスポートストリームは、プログラムと構成要素エレメンタリストリームとの間の関係を明示的に指定するためのプログラム固有情報(PSI)を備える。
プログラム固有情報は、1つまたは複数のプログラムマップテーブル(PMT)を含み得る。トランスポートストリームにおいて搬送される各プログラムは、関連Program Map Tableを有する。PMTは、プログラムおよびプログラムを構成するエレメンタリストリームに関する詳細を与える。たとえば、番号3を有するプログラムがあり、プログラムは、PID33を有するビデオ、PID57を有する英語オーディオ、およびPID60を有する中国語オーディオを含む。PMTは、2つ以上のプログラムに関する詳細を含み得る。
基本的プログラムマップテーブルは、MPEG-2システム仕様内で指定された多くの記述子のうちのいくつかを含み得る。そのような記述子は、プログラムまたはそれの構成要素エレメンタリストリームに関するさらなる情報を伝達する。記述子は、ビデオ符号化パラメータ、オーディオ符号化パラメータ、言語識別情報、パンアンドスキャン情報、限定アクセスの詳細、著作権情報などを含み得る。ブロードキャスタまたは他のユーザは、必要であれば追加のプライベート記述子を定義することができる。本開示の他の箇所で詳細に述べるように、ビデオ関連構成要素エレメンタリストリームでは、階層記述子もあり得、階層記述子は、階層的にコーディングされたビデオ、オーディオ、およびプライベートストリームの構成要素を含むプログラム要素を識別するための情報を提供する。
PMTに加えて、PSIは、Program Stream Map(PSM)を含み得る。PSMは、プログラムストリームにおけるエレメンタリストリームおよびエレメンタリストリームの互いの関係の記述を提供する。トランスポートストリームにおいて搬送されるとき、プログラムストリームマップは変更されない。PSMは、stream_id値が0xBCであるときに、PESパケットとして存在する。
さらに、PSIは、プログラム関連付けテーブル(PAT)を含み得る。プログラム関連付けテーブルは、トランスポートストリームにおいて利用可能なすべてのプログラムの完全なリストを含む。いくつかの例では、PATは常にPID値0を有する。各プログラムは、プログラムのプログラムマップテーブルを含むトランスポートパケットのPID値とともに記載される。PSIはまた、ネットワーク情報テーブル(NIT)および限定アクセステーブル(CAT)を含み得る。PATにおいて指定されたプログラム番号0は、NITを指す。NITは随意であり、存在するとき、チャネル周波数、衛星トランスポンダの詳細、変調特性、サービスオリジネータ、サービス名および利用可能な代替ネットワークの詳細など、トランスポートストリームを搬送する物理ネットワークに関する情報を提供する。トランスポートストリーム内の任意のエレメンタリストリームがスクランブルされる場合、CATが存在しなければならない。CATは、使用中のスクランブリングシステムの詳細を提供し、限定アクセス管理および資格付与情報を含むトランスポートパケットのPID値を提供する。この情報のフォーマットは、MPEG-2システム仕様内で指定されていない。
MPEG-2トランスポートストリームでは、階層記述子が、異なるエレメンタリストリームにおけるサブビットストリームの階層をシグナリングするように設計される。階層記述子は、階層的にコーディングされたビデオ、オーディオ、およびプライベートストリームの構成要素を含むプログラム要素を識別するための情報を提供する。(下のTable 2-49参照)
Figure 0006452798
Table 2-49では、temporal_scalability_flagは、「0」に設定されたときに、関連プログラム要素が、hierarchy_embedded_layer_indexによって参照されるプログラム要素から生じるビットストリームのフレームレートを向上させることを示す1ビットフラグである。このフラグの「1」の値が予約される。
spatial_scalability_flagは、「0」に設定されたときに、関連プログラム要素が、hierarchy_embedded_layer_indexによって参照されるプログラム要素から生じるビットストリームの空間解像度を向上させることを示す1ビットフラグである。このフラグの「1」の値が予約される。
quality_scalability_flagは、「0」に設定されたときに、関連プログラム要素が、hierarchy_embedded_layer_indexによって参照されるプログラム要素から生じるビットストリームの信号対雑音比(SNR)の品質または忠実度を向上させることを示す1ビットフラグである。このフラグの「1」の値が予約される。
hierarchy_typeは、階層タイプを示す。関連階層レイヤとそれの階層埋め込みレイヤとの間の階層的関係は、以下で提示されるTable 2-50において定義される。スケーラビリティが2つ以上の次元において適用される場合、hierarchy_typeは「8」の値(「複合スケーラビリティ」)に設定されるものとし、それに応じてフラグtemporal_scalability_flag、spatial_scalability_flagおよびquality_scalability_flagは設定されるものとする。MVCビデオサブビットストリームの場合、hierarchy_typeは「9」の値(「MVCビデオサブビットストリーム」)に設定されるものとし、フラグtemporal_scalability_flag、spatial_scalability_flagおよびquality_scalability_flagは「1」に設定されるものとする。MVCベースビューサブビットストリームの場合、hierarchy_typeは「15」の値に設定されるものとし、フラグtemporal_scalability_flag、spatial_scalability_flagおよびquality_scalability_flagは「1」に設定されるものとする。
hierarchy_layer_indexは、コーディングレイヤ階層のテーブルにおける関連プログラム要素の一意のインデックスを定義する6ビットフィールドである。インデックスは、単一のプログラム定義内で一意であるものとする。Rec. ITU-T H.264 | ISO/IEC 14496-10のAnnex Gにおいて定義された1つまたは複数のプロファイルに適合するAVCビデオストリームのビデオサブビットストリームの場合、これは、同じアクセスユニットのビデオサブビットストリームの関連SVC依存性表現がhierarchy_layer_indexの昇順で再アセンブルされる場合にビットストリーム順序が正しくなる方法で割り当てられるプログラム要素インデックスである。Rec. ITU-T H.264 | ISO/IEC 14496-10のAnnex Hにおいて定義された1つまたは複数のプロファイルに適合するAVCビデオストリームのMVCビデオサブビットストリームの場合、これは、同じアクセスユニットのMVCビデオサブビットストリームの関連MVCビュー構成要素サブセットがhierarchy_layer_indexの昇順で再アセンブルされる場合にビットストリーム順序が正しくなる方法で割り当てられるプログラム要素インデックスである。
tref_present_flagは、「0」に設定されたときに、TREFフィールドが関連エレメンタリストリームにおけるPESパケットヘッダに存在し得ることを示す1ビットフラグである。このフラグの「1」の値が予約される。
hierarchy_embedded_layer_indexは、このhierarchy_descriptorに関連するエレメンタリストリームの復号の前にアクセスされる必要および復号順序で存在する必要があるプログラム要素のhierarchy_layer_indexを定義する6ビットフィールドである。hierarchy_embedded_layer_indexは、hierarchy_type値が15である場合に定義されない。
hierarchy_channelは、送信チャネルの順序付きセットにおける関連プログラム要素の意図されたチャネル番号を示す6ビットフィールドである。最もロバストな送信チャネルが、全体的な送信階層定義に関してこのフィールドの最低値によって定義され得る。所与のhierarchy_channelが同時に、いくつかのプログラム要素に割り当てられ得る。
Figure 0006452798
MPEG-2 TSでは、階層拡張記述子は、対応するプログラム構成要素、ひいてはそれぞれの時間サブレイヤに関する追加情報を提供することができる。たとえば、階層拡張記述子が存在するとき、階層拡張記述子は、異なるエレメンタリストリームに存在するレイヤの依存性を指定するために使用される。階層記述子とは異なり、階層拡張記述子は、階層拡張記述子に対応する時間サブレイヤを正常に復号するために、どのレイヤが復号される必要があるかを示すことができる。下のTable 7-3は、FDAM 3において指定される、階層拡張記述子のシンタックスを示す。
Figure 0006452798
上のTable 7-3では、extension_dimension_bitsは、0に等しいnuh_layer_idを有するレイヤのプログラム要素から生じるベースレイヤからの関連プログラム要素の可能な向上を示す16ビットフィールドである。エンハンスメント次元に対するビットの割振りは、次のとおりである。
Figure 0006452798
1に等しいextension_dimension_bitsの第iのビットは、対応するエンハンスメント次元が存在することを示す。
hierarchy_layer_indexは、コーディングレイヤ階層のテーブルにおける関連プログラム要素の一意のインデックスを定義する6ビットフィールドである。インデックスは、単一のプログラム定義内で一意であるものとする。Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex GまたはHにおいて定義された1つまたは複数のプロファイルに適合するHEVCビデオストリームのビデオサブビットストリームの場合、これは、同じアクセスユニットのビデオサブビットストリームの関連依存性レイヤがhierarchy_layer_indexの昇順で再アセンブルされる場合にビットストリーム順序が正しくなる方法で割り当てられるプログラム要素インデックスである。
tref_present_flagは、「0」に設定されたときに、TREFフィールドが関連エレメンタリストリームにおけるPESパケットヘッダに存在し得ることを示す1ビットフラグである。このフラグの「1」の値が予約される。
nuh_layer_idは、このhierarchy_extension_descriptor()に関連するエレメンタリストリームにおけるNALユニットの最高nuh_layer_idを指定する6ビットフィールドである。
temporal_idは、このhierarchy_extension_descriptor()に関連するエレメンタリストリームにおけるNALユニットの最高TemporalIdを指定する3ビットフィールドである。
num_embedded_layersは、このhierarchy_extension_descriptor()に関連するエレメンタリストリームの復号の前にアクセスされる必要および復号順序で存在する必要がある直接依存プログラム要素の数を指定する6ビットフィールドである。
hierarchy_ext_embedded_layer_indexは、このhierarchy_extension_descriptorに関連するエレメンタリストリームの復号の前にアクセスされる必要および復号順序で存在する必要があるプログラム要素のhierarchy_layer_indexを定義する6ビットフィールドである。このフィールドは、hierarchy_type値が15である場合に定義されない。
hierarchy_channelは、送信チャネルの順序付きセットにおける関連プログラム要素の意図されたチャネル番号を示す6ビットフィールドである。最もロバストな送信チャネルが、全体的な送信階層定義に関してこのフィールドの最低値によって定義され得る。所与のhierarchy_channelが同時に、いくつかのプログラム要素に割り当てられ得る。他の例では、階層記述子のシンタックス要素は、異なるセマンティクスを有し得る。
PDAM 7のStudyでは、階層拡張記述子(すなわち、hierarchy_extension_descriptor)は、時間依存性を記述することができない。そうではなく、拡張記述子(たとえば、hierarchy_descriptor)が時間依存性だけを記述するために使用されるのに対し、他のタイプの依存性が階層拡張記述子を使用して記述されるような方法で、拡張記述子とともに使用されるように、階層拡張記述子は設計された。階層拡張記述子および拡張記述子のこの設計は、階層拡張記述子が拡張記述子の存在なしには使用できないような依存性をもたらす。
本開示の特定の技法は、この依存性に対処し得る。たとえば、階層拡張記述子に、時間スケーラビリティを示すための指示が含まれ得る。たとえば、階層拡張記述子は、プログラム要素がビットストリームのフレームレートを向上させるかどうかの指示を含み得る。いくつかの例では、時間スケーラビリティの指示は、階層拡張記述子のextension_dimension_bitsシンタックス要素の一部であり得る。これは、次のように時間スケーラビリティの記述をサポートするためにextension_dimension_bitsシンタックス要素のセマンティクスを更新することによって行われ得る。extension_dimension_bitsシンタックス要素の16ビットすべてが0に等しいとき、それは時間エンハンスメントを示す。たとえば、特定の値(たとえば、0)に等しいシンタックス要素(たとえば、extension_dimension_bits)のすべてのビットは、プログラム要素がビットストリームのフレームレートを向上させることを示す。
階層拡張記述子は、他の方法で時間スケーラビリティを示し得る。たとえば、extension_dimension_bitsシンタックス要素の予約済みビットのうちの1つが、時間スケーラビリティを示すために使用され得る。たとえば、シンタックス要素(たとえば、extension_dimension_bits)の単一ビットは、プログラム要素がビットストリームのフレームレートを向上させるかどうかを示し得る。一例では、extension_dimension_bitsシンタックス要素に1ビットが追加され、それによりextension_dimension_bitsシンタックス要素は17ビットを有する。この例では、追加ビットは時間スケーラビリティを示す。たとえば、シンタックス要素(たとえば、extension_dimension_bits)は17ビットから成ることができ、シンタックス要素の最後のビットは、プログラム要素がビットストリームのフレームレートを向上させるかどうかを示し得る。
したがって、本開示の一例によれば、MANE17またはソースデバイス12などのビデオ処理デバイスは、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかを判断し得る。現在のプログラム要素は、符号化ビデオデータを含み得る。ビデオ処理デバイスは、ビデオ符号化デバイス、ビデオ復号デバイス、MANEのような中間ビデオデバイス、ビデオストリーミングデバイス、符号化ビデオデータを含むファイルを生成するコンピューティングデバイス、または別のタイプのデバイスなど、ビデオデータを処理するように構成されたデバイスであるか、またはそのようなデバイスを備え得る。この例では、ビデオ処理デバイスは、現在のプログラム要素に対応する記述子(たとえば、階層拡張記述子)の中に、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要があるプログラム要素のレイヤインデックスを示すシンタックス要素(たとえば、hierarchy_ext_embedded_layer_indexシンタックス要素)を含めることができる。この例では、ビデオ処理デバイスは、現在のプログラム要素に対応する記述子の中に、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかの指示を含めることができる。いくつかの例では、プログラム要素の各々は、それぞれの時間サブレイヤに対応する。
対応する例では、MANE17または宛先デバイス14などのビデオ処理デバイスは、現在のプログラム要素に対応する記述子(たとえば、階層拡張記述子)の中のシンタックス要素(たとえば、hierarchy_ext_embedded_layer_indexシンタックス要素)に基づいて、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要があるプログラム要素を決定し得る。この例では、ビデオ処理デバイスは、現在のプログラム要素に対応する記述子の中の指示に基づいて、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかを判断し得る。この例では、ビットストリームは、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要がある1つまたは複数のプログラム要素のセットから生じ得る。
PDAM 7のStudyでは、HEVC動作点記述子(たとえば、hevc_operation_point_descriptor)およびHEVC拡張記述子(たとえば、hevc_extension_descriptor)は、動作点情報をシグナリングするための手段を提供する。そのような動作点情報は、プロファイル、ティア、およびレベル(PTL)情報のシグナリングを含む。しかしながら、HEVC動作点記述子およびHEVC拡張記述子における動作点に関するPTL情報のシグナリングは、コーデックレベルにおける、すなわち、SHVCおよびMV-HEVC規格におけるPTL情報のシグナリングと整合しない。コーデックレベルでは、動作点に含まれる各レイヤは、それ自体のPTL情報を割り当てられる。
本開示の追加の技法は、この問題に対処し得る。たとえば、本開示の技法によれば、動作点およびPTL情報は次のようにシグナリングされる。各々がPTL情報を含む、PTL情報セットのリストが、プログラムのための記述子においてシグナリングされる。プログラムに利用可能である動作点のリストも、記述子においてシグナリングされる。いくつかの例では、動作点のリストを含む記述子は、PTL情報セットのリストを含む記述子とは異なる記述子である。他の例では、動作点のリストを含む記述子は、PTL情報セットのリストを含む記述子と同じ記述子である。復号されるべきレイヤとして動作点に含まれる(すなわち、動作点を復号するために使用されるサブビットストリームに含まれるような)各レイヤは、PTL情報のセットを参照するインデックスを与えられる。他の例では、出力レイヤとして動作点に含まれる各レイヤは、PTL情報のセットを参照するインデックスを与えられる。
したがって、本開示の一例によれば、ソースデバイス12、MANE17または別のデバイスなどのビデオ処理デバイスは、1つまたは複数のエレメンタリストリームを備えるプログラムのための記述子において、複数のPTLシンタックス要素セットをシグナリングし得る。1つまたは複数のエレメンタリストリームは、符号化ビデオデータを備え得る。プログラムの複数の動作点の各それぞれの動作点の各それぞれのレイヤについて、ビデオ処理デバイスは、それぞれの動作点のそれぞれのレイヤにそれぞれのPTL情報を割り当てることができる。さらに、ビデオ処理デバイスは、プログラムのためのその記述子またはプログラムのための別の記述子において、複数の動作点シンタックス要素セットをシグナリングし得る。この例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットは、複数の動作点のそれぞれの動作点を指定する。さらに、この例では、それぞれの動作点の各それぞれのレイヤについて、それぞれの動作点シンタックス要素は、それぞれの動作点のそれぞれのレイヤに割り当てられたそれぞれのPTL情報を指定する複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含む。
対応する例では、MANE17、宛先デバイス14または別のデバイスなどのビデオ処理デバイスは、1つまたは複数のエレメンタリストリームを備えるプログラムのための記述子から、複数のPTLシンタックス要素セットを取得し得る。この例では、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットは、それぞれのPTL情報を指定するシンタックス要素を備え得る。さらに、この例では、ビデオ処理デバイスは、プログラムのための記述子から、複数の動作点シンタックス要素セットを取得し得る。この例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットは、複数の動作点のそれぞれの動作点を指定する。さらに、この例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の各それぞれのレイヤに関して、それぞれの動作点シンタックス要素セットにおけるそれぞれのシンタックス要素に基づいて、PTLシンタックス要素セットのうちのどれが、それぞれのレイヤに割り当てられたPTL情報を指定するかを判断し得る。
PDAM 7のStudyのサブクローズ2.17.4において説明される動作点のエレメンタリストリームの集約は、次のように要約され得る。hevc_operation_point_descriptorまたはhevc_extension_descriptorのいずれかにおいて、動作点がシグナリングされる場合、動作点に関するHEVCレイヤリストが、エレメンタリストリームまたは記述子における動作点に関して記述されたレイヤリストに基づいて確立される。一方、hevc_operation_point_descriptorもhevc_extension_descriptorも存在しない場合、各エレメンタリストリームが動作点と見なされ、HEVCレイヤリストがhierarchy_descriptorまたはhierarchy_extension_descriptorのいずれかに基づいて確立される。他の場合、動作点のデフォルトリストがPDAM 7のStudyのTable Amd 7-5に記述されている。Table Amd.7-5を下に再現する。
Figure 0006452798
エレメンタリストリームの集約のための上記方法は、少なくとも以下の問題を有し得る。エレメンタリストリームの集約のための上記方法に伴う第1の問題では、動作点のための記述子が存在しないとき、各エレメンタリストリームが動作点であると仮定される。これは、Hattoriら、「Text of ISO/IEC 13818-1:2013/FDAM 5 - Transport of MVC depth video sub-bitstream and support for HEVC low delay coding mode」、ISO/IEC JTC1/SC29/WG11、MPEG2014/N14315、2014年4月、バレンシア、スペイン(以下、「ISO/IEC 13818-1:2013のAmendment 5」)に対する後方互換性問題を有し得る。ISO/IEC 13818-1:2013のAmendment 5では、HEVC時間ビデオサブビットストリームは、それの関連するHEVC時間ビデオサブセットのすべてとともに、1動作点と見なされる。言い換えれば、参照エレメンタリストリームの時間面だけを向上させるエレメンタリストリームは、別の動作点であるとは見なされない。したがって、動作点のための記述子が存在しないとき、ストリームタイプ0x24、0x27および0x29を有するエレメンタリストリームだけが、単独で動作点と見なされるべきであるのに対し、ストリームタイプ0x25、0x28および0x2Aを有するエレメンタリストリームは、それらのエレメンタリストリームが向上させるタイプ0x24、0x27および0x29を有するエレメンタリストリームに関連付けられる動作点の一部と見なされるべきである。PDAM7のStudyでは、タイプ0x24は、HEVCビデオストリームまたはHEVC時間ビデオサブビットストリームまたはHEVCベースサブ区分を示す。さらに、PDAM7のStudyでは、タイプ0x27は、ITU-T Rec. H.265 | ISO/IEC 23008-2のAnnex Gにおいて定義された1つまたは複数のプロファイルに適合するHEVCビデオストリームのTemporalId 0を含むHEVCエンハンスメントサブ区分を示す。さらに、PDAM7のStudyでは、タイプ0x28は、ITU-T Rec. H.265 | ISO/IEC 23008-2のAnnex Gにおいて定義された1つまたは複数のプロファイルに適合するHEVCビデオストリームのHEVC時間エンハンスメントサブ区分を示す。PDAM8のStudyでは、タイプ0x29は、ITU-T Rec. H.265 | ISO/IEC 23008-2のAnnex Hにおいて定義された1つまたは複数のプロファイルに適合するHEVCビデオストリームのTemporalId 0を含むHEVCエンハンスメントサブ区分を示す。PDAM7のStudyでは、タイプ0x2Aは、ITU-T Rec. H.265 | ISO/IEC 23008-2のAnnex Hにおいて定義された1つまたは複数のプロファイルに適合するHEVCビデオストリームのHEVC時間エンハンスメントサブ区分を示す。
エレメンタリストリームの集約のための上記方法に伴う第2の問題では、hevc_operation_point_descriptorおよびhevc_extension_descriptorが新しいhevc_extension_descriptorに置き換えられることが提案される。結果的に、動作点のエレメンタリストリームの集約のための記述子も更新されなければならない。PDAM7のStudyにおいて定義されるように、HEVCレイヤ構成要素集約は、Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex Fにおいて定義される有効なアクセスユニットをもたらす、HEVCレイヤリストによって示される順序でのHEVCレイヤリストにおいて示されるすべてのHEVCサブ区分からの同じ出力時間を有するすべてのHEVCレイヤ構成要素の連結であり得る。
本開示の技法によれば、エレメンタリストリームの集約は次のように変更され得る。プログラムに関して動作点情報を搬送する記述子が存在する場合、記述子において記述される各動作点に関するHEVCレイヤリストが、動作点に関する情報に基づいて確立され、動作点のために含まれるレイヤを含むものとする。一方、プログラムに関して動作点情報を搬送する記述子が存在しない場合、ストリームタイプ0x24、0x27および0x29を有する各エレメンタリストリームESiは、単一のターゲット動作点OPiに対応する。LayerIdの昇順に従って順序付けられた、ESiおよびESiのためのhierarchy_extension_descriptorのシンタックス要素hierarchy_ext_embedded_layer_indexが指すエレメンタリストリーム(存在する場合)に含まれるレイヤの集約は、HEVCレイヤリストをもたらす。hierarchy_ext_embedded_layer_indexによってシグナリングされるエレメンタリストリームがさらなる依存性を有する場合、これらの依存性は再帰的方法でプリペンドされるものとする。
本開示は、HEVC拡張の搬送のための設計MPEG-2トランスポートストリーム(TS)のための改善について説明する。本開示の技法の概要をここで与え、いくつかの技法の詳細な実装形態を後のセクションで提供する。これらの技法のうちのいくつかは、独立して適用されてよく、それらのうちのいくつかは、組み合わせて適用されてよい。
図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は、ビデオデータメモリ121をさらに含み得る。ビデオデータメモリ121は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶してもよい。ビデオデータメモリ121に記憶されるビデオデータは、たとえば、ビデオソース18から取得されてもよい。復号ピクチャバッファ116は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ121および復号ピクチャバッファ116は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成されてもよい。ビデオデータメモリ121および復号ピクチャバッファ116は、同じメモリデバイスまたは別個のメモリデバイスによって備えられてよい。様々な例では、ビデオデータメモリ121は、ビデオエンコーダ20の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。
ビデオエンコーダ20は、ビデオデータを受信し得る。ビデオエンコーダ20は、ビデオデータのピクチャのスライスの中の各CTUを符号化し得る。ビデオエンコーダ20は、CTUのCUを符号化して、CUの符号化表現(すなわち、コード化CU)を生成し得る。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの中でCUに関連付けられたコーディングブロックを区分し得る。したがって、各PUは、ルーマ予測ブロックおよび対応するクロマ予測ブロックに関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。CUのサイズは、CUのルーマコーディングブロックのサイズを指すことがあり、PUのサイズは、PUのルーマ予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測に対して2N×2NまたはN×NとしてのPUサイズ、およびインター予測に対して2N×2N、2N×N、N×2N、N×N、または類似のものとしての対称のPUサイズをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測に対して2N×nU、2N×nD、nL×2N、およびnR×2NとしてのPUサイズ向けの非対称区分をサポートし得る。
インター予測処理ユニット120は、インター予測をCUの各PUに対して実行することによって、PUに関する予測データを生成し得る。PUに関する予測データは、PUの予測ブロックおよびPUに関する動き情報を含み得る。インター予測処理ユニット120は、PUがIスライスの中にあるのか、Pスライスの中にあるのか、それともBスライスの中にあるのかに応じて、CUのPUのための異なる動作を実行し得る。Iスライスでは、すべてのPUがイントラ予測される。したがって、PUがIスライスの中にある場合、インター予測処理ユニット120は、インター予測をPUに対して実行しない。
PUがPスライスの中にある場合、動き推定ユニット122は、PUに関する参照領域を求めて参照ピクチャのリスト(たとえば、「RefPicList0」)の中の参照ピクチャを検索し得る。PUに関する参照領域は、PUの予測ブロックに最も密に対応するサンプルを含む、参照ピクチャ内の領域であり得る。動き推定ユニット122は、PUに関する参照領域を含む参照ピクチャのRefPicList0の中での位置を示す参照インデックスを生成し得る。加えて、動き推定ユニット122は、PUのコーディングブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示す動きベクトルを生成し得る。たとえば、動きベクトルは、現在のピクチャの中の座標から参照ピクチャの中の座標までのオフセットを提供する2次元ベクトルであってよい。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動きベクトルによって示された参照ロケーションにおける実際のサンプルまたは補間されたサンプルに基づいて、PUの予測ブロックを生成し得る。
PUがBスライスの中にある場合、動き推定ユニット122は、PUに対して単予測または双予測を実行し得る。PUに対して単予測を実行するために、動き推定ユニット122は、PUに関する参照領域を求めてRefPicList0または第2の参照ピクチャリスト(「RefPicList1」)の参照ピクチャを検索し得る。動き推定ユニット122は、PUの動き情報として、参照領域を含む参照ピクチャのRefPicList0またはRefPicList1の中での位置を示す参照インデックス、PUの予測ブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示す動きベクトル、および参照ピクチャがRefPicList0の中にあるのか、それともRefPicList1の中にあるのかを示す1つまたは複数の予測方向インジケータを出力し得る。動き補償ユニット124は、PUの動きベクトルによって示された参照ロケーションにおける実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成し得る。
PUに対して双方向インター予測を実行するために、動き推定ユニット122は、PUに関する参照領域を求めてRefPicList0の中の参照ピクチャを検索し得、また、PUに関する別の参照領域を求めてRefPicList1の中の参照ピクチャを検索し得る。動き推定ユニット122は、参照領域を含む参照ピクチャのRefPicList0およびRefPicList1の中での位置を示す参照インデックスを生成し得る。加えて、動き推定ユニット122は、参照領域に関連付けられた参照ロケーションとPUの予測ブロックとの間の空間変位を示す動きベクトルを生成し得る。PUの動き情報は、PUの参照インデックスおよび動きベクトルを含み得る。動き補償ユニット124は、PUの動きベクトルによって示された参照ロケーションにおける実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成し得る。
イントラ予測処理ユニット126は、イントラ予測をPUに対して実行することによって、PUに関する予測データを生成し得る。PUに関する予測データは、PUに関する予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライスの中のPUに対して、イントラ予測を実行し得る。
イントラ予測をPUに対して実行するために、イントラ予測処理ユニット126は、複数のイントラ予測モードを使用して、PUに関する予測ブロックの複数のセットを生成し得る。特定のイントラ予測モードを使用してイントラ予測を実行するとき、イントラ予測処理ユニット126は、隣接ブロックからのサンプルの特定のセットを使用して、PUに関する予測ブロックを生成し得る。PU、CU、およびCTUに対して左から右、上から下への符号化順序を仮定すると、隣接ブロックは、PUの予測ブロックの上、右上、左上、または左であってよい。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、たとえば、33方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUの予測ブロックのサイズに依存し得る。
予測処理ユニット100は、PUに対してインター予測処理ユニット120によって生成される予測データ、またはPUに対してイントラ予測処理ユニット126によって生成される予測データの中から、CUのPUに関する予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、CUのPUに関する予測データを選択する。選択される予測データの予測ブロックは、選択予測ブロックと本明細書で呼ばれることがある。
残差生成ユニット102は、CUのコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)およびCUのPUの選択予測ブロック(たとえば、予測ルーマブロック、予測Cbブロック、および予測Crブロック)に基づいて、CUの残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット102は、残差ブロックの中の各サンプルがCUのコーディングブロックの中のサンプルとCUのPUの対応する選択予測ブロックの中の対応するサンプルとの間の差分に等しい値を有するような、CUの残差ブロックを生成し得る。
変換処理ユニット104は、4分木区分を実行して、CUの残差ブロックをCUのTUに関連付けられた変換ブロックに区分し得る。したがって、TUは、ルーマ変換ブロックおよび2つの対応するクロマ変換ブロックに関連付けられ得る。CUのTUのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいてもよく、基づかなくてもよい。
変換処理ユニット104は、1つまたは複数の変換をTUの変換ブロックに適用することによって、CUのTUごとに変換係数ブロックを生成し得る。変換処理ユニット104は、TUに関連付けられたブロックを変換するために、様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に類似の変換を、変換ブロックに適用し得る。いくつかの例では、変換処理ユニット104は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われてよい。
量子化ユニット106は、係数ブロックの中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。たとえば、nビット変換係数は、量子化中にmビット変換係数に切り捨てられてよく、nはmよりも大きい。量子化ユニット106は、CUに関連する量子化パラメータ(QP)値に基づいて、CUのTUに関連する係数ブロックを量子化し得る。ビデオエンコーダ20は、CUに関連したQP値を調整することによって、CUに関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化が情報の損失をもたらすことがあり、したがって、量子化変換係数の精度は元の精度よりも低い場合がある。
逆量子化ユニット108および逆変換処理ユニット110は、それぞれ、逆量子化および逆変換を係数ブロックに適用して、係数ブロックから残差ブロックを再構成し得る。再構成ユニット112は、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに、再構成された残差ブロックを加算して、TUに関連付けられ再構成された変換ブロックを生成し得る。このようにしてCUのTUごとに変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構成し得る。
フィルタユニット114は、1つまたは複数のデブロッキング動作を実行して、CUに関連したコーディングブロックにおけるブロッキングアーティファクトを低減し得る。フィルタユニット114が1つまたは複数のデブロッキング動作を再構成されたコーディングブロックに対して実行した後、復号ピクチャバッファ116は、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、インター予測を他のピクチャのPUに対して実行するために、再構成されたコーディングブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット126は、CUと同じピクチャの中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ116の中の再構成されたコーディングブロックを使用し得る。
エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット118は、係数ブロックを量子化ユニット106から受信し得、シンタックス要素を予測処理ユニット100から受信し得る。エントロピー符号化ユニット118は、エントロピー符号化されたデータを生成するために、1つまたは複数のエントロピー符号化動作をデータに対して実行し得る。たとえば、エントロピー符号化ユニット118は、CABAC動作、CAVLC動作、可変長-可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率間隔区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成された、エントロピー符号化されたデータを含むビットストリームを出力し得る。
図3は、例示的なビデオデコーダ30を示すブロック図である。図3は説明のために提供され、広く例示されるとともに本開示で説明されるような技法の限定でない。説明のために、本開示は、HEVCコーディングのコンテキストにおけるビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
図3の例では、ビデオデコーダ30は、エントロピー復号ユニット150、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、フィルタユニット160、および復号ピクチャバッファ162を含む。予測処理ユニット152は、動き補償ユニット164およびイントラ予測処理ユニット166を含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能の構成要素を含んでよい。
いくつかの例では、ビデオデコーダ30は、ビデオデータメモリをさらに含み得る。ビデオデータメモリは、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶してもよい。ビデオデータメモリに記憶されたビデオデータは、たとえば、チャネル16から、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得されてもよい。ビデオデータメモリは、コード化ピクチャバッファ(CPB)151および復号ピクチャバッファ162を形成し得る。CPB151は、符号化ビデオビットストリームからの符号化ビデオデータを記憶する。復号ピクチャバッファ162は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。CPB151および復号ピクチャバッファ162は、SDRAMを含むDRAM、MRAM、RRAM(登録商標)、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成されてもよい。CPB151および復号ピクチャバッファ162は、同じメモリデバイスまたは別個のメモリデバイスによって備えられてよい。様々な例では、ビデオデータメモリは、ビデオデコーダ30の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。
CPB151は、ビットストリームの符号化ビデオデータ(たとえば、NALユニット)を受信および記憶し得る。エントロピー復号ユニット150は、CPB151からNALユニットを受信し、NALユニットを構文解析して、ビットストリームからシンタックス要素を取得し得る。エントロピー復号ユニット150は、NALユニットの中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから取得されたシンタックス要素に基づいて、復号ビデオデータを生成し得る。
ビットストリームのNALユニットは、コード化スライスNALユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット150は、コード化スライスNALユニットを構文解析し、コード化スライスNALユニットからシンタックス要素をエントロピー復号し得る。コード化スライスの各々は、スライスヘッダおよびスライスデータを含み得る。スライスヘッダは、スライスに関係しているシンタックス要素を含み得る。
シンタックス要素をビットストリームから復号することに加えて、ビデオデコーダ30は、CUに対して復号動作を実行し得る。CUに対して復号動作を実行することによって、ビデオデコーダ30は、CUのコーディングブロックを再構成し得る。
CUに対して復号動作を実行することの一部として、逆量子化ユニット154は、CUのTUに関連付けられた係数ブロックを逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)し得る。逆量子化ユニット154は、逆量子化ユニット154が適用するべき量子化の程度と、同様に逆量子化の程度とを決定するために、TUのCUに関連したQP値を使用し得る。すなわち、圧縮比、すなわち、元のシーケンスおよび圧縮されたシーケンスを表すために使用されるビット数の比が、変換係数を量子化するときに使用されるQPの値を調整することによって制御され得る。圧縮比はまた、採用されるエントロピーコーディングの方法に依存し得る。
逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連付けられた残差ブロックを生成するために、1つまたは複数の逆変換を係数ブロックに適用し得る。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
PUがイントラ予測を使用して符号化されている場合、イントラ予測処理ユニット166は、イントラ予測を実行して、PUに関する予測ブロックを生成し得る。イントラ予測処理ユニット166は、イントラ予測モードを使用して、空間的に隣接するPUの予測ブロックに基づいて、PUに関する予測ブロック(たとえば、予測ルーマブロック、予測Cbブロック、および予測Crブロック)を生成し得る。イントラ予測処理ユニット166は、ビットストリームから復号された1つまたは複数のシンタックス要素に基づいて、PUに対するイントラ予測モードを決定し得る。
予測処理ユニット152は、ビットストリームから抽出されたシンタックス要素に基づいて、第1の参照ピクチャリスト(RefPicList0)および第2の参照ピクチャリスト(RefPicList1)を構成し得る。さらに、PUがインター予測を使用して符号化されている場合、エントロピー復号ユニット150は、PUに関する動き情報を取得し得る。動き補償ユニット164は、PUの動き情報に基づいて、PUに関する1つまたは複数の参照領域を決定し得る。動き補償ユニット164は、PUに関する1つまたは複数の参照ブロックにおけるサンプルに基づいて、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は、ビットストリームから有意ルーマ係数ブロックの変換係数レベルを抽出し、変換係数レベルを逆量子化し、変換係数レベルに変換を適用して変換ブロックを生成し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、コーディングブロックを表示のために出力し得る。
本開示のこの以下のセクションは、本開示の特定の技法の例示的な実装形態の詳細について説明する。以下のセクションでは、下線付きの文字は、追加された文字を示す。
上述のように、階層拡張記述子に、時間スケーラビリティを示すための指示が含まれ得る。たとえば、階層拡張記述子は、プログラム要素がビットストリームのフレームレートを向上させるかどうかの指示を含み得る。下のTable Amd.7-3は、時間スケーラビリティを受け入れるための階層拡張記述子の例示的なシンタックステーブルである。
Figure 0006452798
Table Amd. 7-3(表6)の例では、no_temporal_scalability_flagは、「0」に設定されたときに、関連プログラム要素が、hierarchy_embedded_layer_indexによって参照されるプログラム要素から生じるビットストリームのフレームレートを向上させることを示す1ビットフラグである。このフラグの「1」の値が予約される。hierarchy_extension_descriptorの他のシンタックス要素のセマンティクスは、上記で示したように同じままであり得る。したがって、いくつかの例では、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかの指示は、ベースレイヤと比較して、現在のプログラム要素の向上を示すシンタックス要素とは別個の1ビットフラグから成り得る。
階層拡張記述子において時間スケーラビリティを示す別の例では、extension_dimension_bitsのセマンティクスは次のように更新される。
extension_dimension_bits - 0に等しいnuh_layer_idを有するレイヤのプログラム要素から生じるベースレイヤからの関連プログラム要素の可能な向上を示す16ビットフィールド。extension_dimension_bitsが0に等しいとき、それは、関連プログラム要素が、hierarchy_embedded_layer_indexによって参照されるプログラム要素から生じるビットストリームのフレームレートを向上させることを示す。
したがって、本開示のいくつかの例では、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかの指示は、ベースレイヤと比較して、現在のプログラム要素の向上を示すシンタックス要素(たとえば、extension_dimension_bits)の一部であり得る。さらに、いくつかのそのような例では、特定の値(たとえば、0)に等しいシンタックス要素のすべてのビットは、現在のプログラム要素がビットストリームのフレームレートを向上させることを示す。
階層拡張記述子において時間スケーラビリティを示す別の例では、シンタックス要素extension_dimension_bitsの予約済みビットのうちの1つが、時間スケーラビリティを示すために使用される。したがって、本開示のいくつかの例では、シンタックス要素(たとえば、extension_dimension_bits)の単一ビットは、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかを示す。この例は、下でTable Amd. 7-4に示すように、Table 7-4を変更することによって実施され得る。
Figure 0006452798
上記で示したように、本開示の特定の技法は、記述子において、動作点の各レイヤに関するPTL情報を示すことを実現する。これらの技法は、様々なやり方で実施され得る。たとえば、動作点およびPTL情報のシグナリングは、下の表に示すシンタックスを含むHEVC拡張記述子を使用して実施され得る。
Figure 0006452798
上の表では、num_profile_tier_levelは、この記述子によって指定されたプロファイル、ティア、およびレベル構造の数を指定する8ビットフィールドである。したがって、いくつかの例では、ビデオ処理デバイスは、プログラムのための記述子の中のシンタックス要素(たとえば、num_profile_tier_level)に基づいて、複数のPTLシンタックス要素セットにおけるPTLシンタックス要素セットの数を決定し得る。同様に、いくつかの例では、ビデオ処理デバイスは、プログラムのための第1の記述子において、複数のPTLシンタックス要素セットにおけるPTLシンタックス要素セットの数を示すシンタックス要素(たとえば、num_profile_tier_level)をシグナリングし得る。
profile_spaceは、0〜31の範囲におけるiのすべての値に関するprofile_idcの解釈のためのコンテキストを指定する2ビットフィールドである。この例では、profile_spaceは、Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex AもしくはサブクローズG.11において、またはサブクローズH.11において指定された値以外の値を割り当てられないものとする。profile_idcの他の値は、ITU-T | ISO/IECによって将来使用するために予約される。
tier_flagは、Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex AもしくはサブクローズG.11またはサブクローズH.11において指定されるようなlevel_idcの解釈のためのティアコンテキストを指定する1ビットフィールドである。
profile_idcは、profile_spaceが0に等しいときに、Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex AもしくはG.11またはH.11において指定されるように、指定された動作点に含まれるHEVCサブ区分およびこのサブ区分が依存するすべてのHEVCサブ区分のHEVCレイヤ集約から生じるCVSが適合するプロファイルが、Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex AもしくはG.11またはH.11において指定された値以外の値を割り当てられないものとすることを示す5ビットフィールドである。profile_idcの他の値は、ITU-T | ISO/IECによって将来使用するために予約される。
profile_compatibility_indication、progressive_source_flag、interlaced_source_flag、non_packed_constraint_flag、frame_only_constraint_flag、reserved_zero_44bits、level_idc - HEVC拡張ビデオ記述子がHEVCエンハンスメントサブ区分に適用されるとき、これらのフィールドは、対応するHEVCサブ区分に関して、それぞれgeneral_profile_space、general_tier_flag、general_profile_idc、general_profile_compatibility_flag[i]、general_progressive_source_flag、general_interlaced_source_flag、general_non_packed_constraint_flag、general_frame_only_constraint_flag、general_reserved_zero_44bits、general_level_idcについてRec. ITU-T H.265 | ISO/IEC 23008-2において定義されたセマンティクスに従ってコーディングされるものとし、HEVCビデオ記述子が関連付けられるHEVCサブ区分と、このサブ区分が依存するすべてのHEVCサブ区分とのHEVCレイヤ集約から生じるHEVCビデオストリームは、これらのフィールドによってシグナリングされた情報に適合するものとする。
level_idcは、Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex A、G.11またはH.11において指定されるようにCVSが適合するレベルを示す8ビットフィールドである。level_idcは、Rec. ITU-T H.265 | ISO/IEC 23008-2のAnnex A、G.11またはH.11において指定された値以外のlevel_idcの値を割り当てられないものとする。level_idcの他の値は、ITU-T | ISO/IECによって将来使用するために予約される。
したがって、いくつかの例では、ビデオ処理デバイスは、それぞれのPTLシンタックス要素セットにおけるそれぞれのプロファイルシンタックス要素(たとえば、profile_idc)に基づいて、コード化ビデオシーケンスが適合するプロファイルを決定し得る。さらに、ビデオ処理デバイスは、それぞれのPTLシンタックス要素セットにおけるそれぞれのティアシンタックス要素(たとえば、tier_flag)に基づいて、それぞれのPTLシンタックス要素セットにおけるそれぞれのレベルインジケータシンタックス要素(たとえば、level_idc)の解釈のためのコンテキストを決定し得る。そのような例では、ビデオ処理デバイスは、それぞれのPTLシンタックス要素セットにおけるそれぞれのレベルインジケータシンタックス要素に基づいて、コード化ビデオシーケンスが適合するレベルを決定し得る。
同様に、いくつかの例では、複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットについて、ビデオ処理デバイスは、それぞれのPTLシンタックス要素セットにおいて、コード化ビデオシーケンスが適合するプロファイルを指定するそれぞれのプロファイルシンタックス要素(たとえば、profile_idc)をシグナリングし得る。さらに、ビデオ処理デバイスは、それぞれのPTLシンタックス要素セットにおいて、それぞれのティアシンタックス要素(たとえば、tier_flag)をシグナリングし得る。それぞれのティアシンタックス要素は、それぞれのPTLシンタックス要素セットにおけるそれぞれのレベルインジケータシンタックス要素(たとえば、level_idc)の解釈のためのコンテキストを指定し得る。そのような例では、ビデオ処理デバイスは、それぞれのPTLシンタックス要素セットにおいて、それぞれのレベルインジケータシンタックス要素をシグナリングし得る。それぞれのレベルインジケータシンタックス要素は、コード化ビデオシーケンスが適合するレベルを示し得る。
num_operation_pointsは、この記述子によって指定された動作点の数を指定する8ビットフィールドである。したがって、いくつかの例では、ビデオ処理デバイスは、記述子の中のシンタックス要素(たとえば、num_operation_points)に基づいて、複数の動作点シンタックス要素セットにおける動作点シンタックス要素セットの数を決定し得る。同様に、いくつかの例では、ビデオ処理デバイスは、複数の動作点シンタックス要素セットにおける動作点シンタックス要素セットの数を示すシンタックス要素(たとえば、num_operation_points)を記述子においてシグナリングし得る。他の例では、シンタックス要素は、PTLシンタックス要素セットを含む記述子とは別個の記述子の中のシンタックス要素に基づいて決定され得る。同様に、いくつかの例では、ビデオ処理デバイスは、PTLシンタックス要素セットを含む記述子とは別個の記述子において、このシンタックス要素をシグナリングし得る。
max_temporal_idは、第iの動作点におけるレイヤのNALユニットの最高TemporalIdを指定する3ビットフィールドである。
num_layers_in_operation_pointは、第iの動作点に含まれるレイヤの数を指定する6ビットフィールドである。したがって、いくつかの例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点のレイヤの数をシグナリングし得る。同様に、いくつかの例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、ビデオ処理デバイスは、記述子の中のシンタックス要素(たとえば、num_layers_in_operation_point)に基づいて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点のレイヤの数を決定し得る。他の例では、シンタックス要素(たとえば、num_layers_in_operation_point)は、PTLシンタックス要素セットを含む記述子とは別個の記述子においてシグナリングされ得る。
layer_id_includedは、第iの動作点に含まれるレイヤのnuh_layer_idを指定する6ビットフィールドである。
output_layer_flagは、値「1」を割り当てられたときに、layer_id_includedに等しいnuh_layer_idを有するレイヤが、第iの動作点が復号されたときの出力レイヤであることを示す1ビットフィールドである。output_layer_flagが値「0」を割り当てられたとき、layer_id_includedに等しいnuh_layer_idを有するレイヤは、第iの動作点が復号されたときの出力レイヤではない。
ptl_indexは、第iの動作点における第jのレイヤに割り当てられるプロファイル、ティア、およびレベルのインデックスを指定する8ビットフィールドである。
average_bitrateは、第iの動作点に対応するHEVCレイヤードビデオビットストリームの、1秒当たり1000ビットでの平均ビットレートを示す16ビットフィールドである。
maximum_bitrateは、第iの動作点に対応するHEVCレイヤードビデオビットストリームの、1秒当たりkbitでの最大ビットレートを示す16ビットフィールドである。
constant_frame_rate_modeは、以下で指定されるframe_rateがどのように解釈されるかを指定する1ビットフィールドである。
frame_rateは、第iの動作点に対応するHEVCレイヤードビデオビットストリームの最大ピクチャレートを示す15ビットフィールドである。constant_frame_rate_modeが0に等しい場合、frame_rateは、1秒当たりフレームで測定される。一方、constant_frame_rate_modeが1に等しい場合、frame_rateは、1.001秒当たりフレームで測定される。
したがって、いくつかの例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の最大時間識別子を指定するそれぞれの第1のシンタックス要素(たとえば、max_temporal_id)をシグナリングし得る。さらに、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の平均ビットレートを指定するそれぞれの第2のシンタックス要素(たとえば、average_bit_rate)をシグナリングし得る。ビデオ処理デバイスはまた、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の最大ビットレートを指定するそれぞれの第3のシンタックス要素(たとえば、maximum_bit_rate)をシグナリングし得る。ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点に対応する高効率ビデオコーディング(HEVC)レイヤードビデオストリームの最大ピクチャレートを指定するそれぞれの第4のシンタックス要素(たとえば、frame_rate)をシグナリングし得る。
同様に、いくつかの例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットにおけるそれぞれの第1のシンタックス要素(たとえば、max_temporal_id)に基づいて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の最大時間識別子を決定し得る。ビデオ処理デバイスはまた、それぞれの動作点シンタックス要素セットにおけるそれぞれの第2のシンタックス要素(たとえば、average_bit_rate)に基づいて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の平均ビットレートを決定し得る。さらに、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットにおけるそれぞれの第3のシンタックス要素(たとえば、maximum_bit_rate)に基づいて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の最大ビットレートを決定し得る。その上、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットにおけるそれぞれの第4のシンタックス要素(たとえば、frame_rate)に基づいて、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点に対応する高効率ビデオコーディング(HEVC)レイヤードビデオストリームの最大ピクチャレートを決定し得る。
上記で示したように、本開示の特定の技法は、エレメンタリストリームの集約を変更する。いくつかの例によれば、1つまたは複数の動作点に関するHEVCレイヤリストは、次のように指定される。プログラムマップテーブル(PMT)がhevc_extension_descriptorを含む場合、LayerId値の増加する値に従って順序付けられた、シンタックス要素layer_id_includedによって動作点に含められた示されるレイヤの集約は、HEVCレイヤリストをもたらす。他の場合、ストリームタイプ0x24、0x27および0x29を有する各エレメンタリストリームESiは、単一のターゲット動作点OPiに対応する。LayerIdの昇順に従って順序付けられた、ESiおよびESiのためのhierarchy_extension_descriptorのシンタックス要素hierarchy_ext_embedded_layer_indexが指すエレメンタリストリーム(存在する場合)に含まれるレイヤの集約は、HEVCレイヤリストをもたらす。hierarchy_ext_embedded_layer_indexによってシグナリングされるESがさらなる依存性を有する場合、これらの依存性は再帰的方法でプリペンドされるものとする。ストリームタイプ0x25、0x28または0x2Aを有する各エレメンタリストリームESjは、それが向上させるエレメンタリストリームに関連付けられる動作点の一部と見なされる。
図4Aは、本開示の技法による、ビデオデータを処理するための第1の例示的な動作を示すフローチャートである。本開示のフローチャートは例である。本開示の技法による他の例は、より多数の、より少数の、または異なるアクションを含んでよい。さらに、いくつかの例では、アクションは、異なる順序で、または並行して実行されてよい。
図4Aの例では、MANE17、ソースデバイス12または別のデバイスなどのビデオ処理デバイスは、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかを判断する(400)。図4Aの例では、ビットストリームは、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要がある1つまたは複数のプログラム要素のセットから生じ得る。
さらに、ビデオ処理デバイスは、現在のプログラム要素に対応する記述子の中に、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要があるプログラム要素のレイヤインデックスを示すシンタックス要素を含める(402)。ビデオ処理デバイスは、現在のプログラム要素に対応する記述子の中に、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかの指示を含める(404)。
図4Bは、本開示の技法による、ビデオデータを処理するための第2の例示的な動作を示すフローチャートである。図4Bの例では、MANE17、宛先デバイス14または別のデバイスなどのビデオ処理デバイスは、現在のプログラム要素に対応する記述子の中のシンタックス要素に基づいて、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要があるプログラム要素を決定する(450)。
さらに、ビデオ処理デバイスは、現在のプログラム要素に対応する記述子の中の指示に基づいて、現在のプログラム要素がビットストリームのフレームレートを向上させるかどうかを判断する(452)。図4Bの例では、ビットストリームは、現在のプログラム要素を復号する前にアクセスされる必要および復号順序で存在する必要がある1つまたは複数のプログラム要素のセットから生じる。
図5Aは、本開示の技法による、ビデオデータを処理するための第3の例示的な動作を示すフローチャートである。図5Aの動作は、図4Aの例示的な動作とともに実行され得る。図5Aの例では、ソースデバイス12、MANE17または別のデバイスなどのビデオ処理デバイスは、1つまたは複数のエレメンタリストリームを備えるプログラムのための記述子において、複数のPTLシンタックス要素セットをシグナリングする(500)。
さらに、ビデオ処理デバイスは、プログラムのためのその記述子または異なる記述子(たとえば、第1または第2の記述子)において、複数の動作点シンタックス要素セットをシグナリングする(502)。図5Aの例では、複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットは、複数の動作点のそれぞれの動作点を指定する。それぞれの動作点の各それぞれのレイヤについて、それぞれの動作点シンタックス要素セットは、それぞれの動作点のそれぞれのレイヤに割り当てられたPTL情報を指定する複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含む。それぞれの動作点は、複数のレイヤを有し得る。第1および/または第2の記述子は、トランスポートストリームにあり得る。他の例では、第1および/または第2の記述子は、プログラムストリームまたは他の場所にある。
図5Bは、本開示の技法による、ビデオデータを処理するための第4の例示的な動作を示すフローチャートである。図5Bの動作は、図4Bの例示的な動作とともに実行され得る。
図5Bの例では、MANE17、宛先デバイス14または別のデバイスなどのビデオ処理デバイスは、1つまたは複数のエレメンタリストリームを備えるプログラムのための記述子から、複数のPTLシンタックス要素セットを取得する(550)。複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットは、それぞれのPTL情報を指定するシンタックス要素を備える。さらに、ビデオ処理デバイスは、プログラムのためのその記述子または別の記述子(たとえば、第1または第2の記述子)から、複数の動作点シンタックス要素セットを取得する(552)。複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットは、複数の動作点のそれぞれの動作点を指定する。第1および/または第2の記述子は、トランスポートストリームにあり得る。他の例では、第1および/または第2の記述子は、プログラムストリームまたは他の場所にある。
複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、ビデオ処理デバイスは、それぞれの動作点シンタックス要素セットによって指定されたそれぞれの動作点の各それぞれのレイヤに関して、それぞれの動作点シンタックス要素セットにおけるそれぞれのシンタックス要素に基づいて、PTLシンタックス要素セットのうちのどれが、それぞれのレイヤに割り当てられたPTL情報を指定するかを判断する(554)。それぞれの動作点は、複数のレイヤを有し得る。
以下のパラグラフは、本開示の例の選択を記載する。
[実施例1]
ビデオデータを処理する方法であって、階層拡張記述子の中に時間スケーラビリティの指示を含めるステップを備える方法。
[実施例2]
指示は、ベースレイヤのプログラム要素から生じるベースレイヤからの関連プログラム要素の可能な向上を示す拡張次元ビットシンタックス要素の一部である、実施例1の方法。
[実施例3]
特定の値に等しい拡張次元ビットシンタックス要素のすべてのビットは時間エンハンスメントを示す、実施例2の方法。
[実施例4]
拡張次元ビットシンタックス要素の予約済みビットは時間スケーラビリティを示す、実施例2または3の方法。
[実施例5]
拡張次元ビットシンタックス要素は、時間スケーラビリティを示す追加ビットを含む、実施例2から4のいずれかの方法。
[実施例6]
ビデオデータを処理する方法であって、階層拡張記述子から時間スケーラビリティの指示を取得するステップを備える方法。
[実施例7]
指示は、ベースレイヤのプログラム要素から生じるベースレイヤからの関連プログラム要素の可能な向上を示す拡張次元ビットシンタックス要素の一部である、実施例6の方法。
[実施例8]
特定の値に等しい拡張次元ビットシンタックス要素のすべてのビットは時間エンハンスメントを示す、実施例7の方法。
[実施例9]
拡張次元ビットシンタックス要素の予約済みビットは時間スケーラビリティを示す、実施例7または8のいずれかの方法。
[実施例10]
拡張次元ビットシンタックス要素は、時間スケーラビリティを示す追加ビットを含む、実施例7から9のいずれかの方法。
[実施例11]
ビデオデータを処理する方法であって、プログラムのための記述子において、プロファイル、ティア、レベル(PTL)情報のセットをシグナリングするステップを備え、PTL情報がプロファイル、ティア、およびレベル情報を含む、方法。
[実施例12]
プログラムのための記述子において、プログラムに利用可能である動作点のリストをシグナリングするステップをさらに備える、実施例11の方法。
[実施例13]
記述子は第1の記述子であり、プログラムのための第2の記述子において、プログラムに利用可能である動作点のリストをシグナリングするステップをさらに備える、実施例11または12のいずれかの方法。
[実施例14]
復号されるべきレイヤとして動作点のうちの1つに含まれる各レイヤが、PTL情報の1つまたは複数のセットの中からのPTL情報のセットを参照するインデックスに対応する、実施例11から13のいずれかの方法。
[実施例15]
出力レイヤとして動作点のうちの1つに含まれる各レイヤが、PTL情報の1つまたは複数のセットの中からのPTL情報のセットを参照するインデックスに対応する、実施例11から14のいずれかの方法。
[実施例16]
ビデオデータを処理する方法であって、プログラムのための記述子から、プロファイル、ティア、レベル(PTL)情報のセットを取得するステップを備え、PTL情報がプロファイル、ティア、およびレベル情報を含む、方法。
[実施例17]
プログラムのための記述子から、プログラムに利用可能である動作点のリストを取得するステップをさらに備える、実施例16の方法。
[実施例18]
記述子は第1の記述子であり、プログラムのための第2の記述子から、プログラムに利用可能である動作点のリストを取得するステップをさらに備える、実施例16または17のいずれかの方法。
[実施例19]
復号されるべきレイヤとして動作点のうちの1つに含まれる各レイヤが、PTL情報の1つまたは複数のセットの中からのPTL情報のセットを参照するインデックスに対応する、実施例16から18のいずれかの方法。
[実施例20]
出力レイヤとして動作点のうちの1つに含まれる各レイヤが、PTL情報の1つまたは複数のセットの中からのPTL情報のセットを参照するインデックスに対応する、実施例16から19のいずれかの方法。
[実施例21]
ビデオデータを処理する方法であって、プログラムに関して動作点情報を搬送する記述子が存在する場合に、記述子において記述される各それぞれの動作点に関する高効率ビデオコーディング(HEVC)レイヤリストを、それぞれの動作点に関する情報に基づいて確立するステップを備え、HEVCレイヤリストは、それぞれの動作点に関して含まれるレイヤを含み、プログラムに関して動作点情報を搬送する記述子が存在しない場合に、ストリームタイプ0x24、0x27および0x29を有する各エレメンタリストリームは、単一のターゲット動作点に対応する、方法。
[実施例22]
記述子はプログラムマップテーブルにある、実施例21の方法。
[実施例23]
ビデオデータを処理するためのデバイスであって、ビデオデータを記憶するように構成されたメモリと、実施例7から28のいずれかの方法を実行するための1つまたは複数のプロセッサとを備えるデバイス。
[実施例24]
ビデオデータを処理するためのデバイスであって、実施例1から22のいずれかの方法を実行するための手段を備えるデバイス。
[実施例25]
実行されたとき、1つまたは複数のプロセッサに実施例1から22のいずれかの方法を実行させる命令を記憶したコンピュータ可読データ記憶媒体。
1つまたは複数の例において、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装された場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶またはコンピュータ可読媒体を介して送信されてもよく、ハードウェアベースの処理ユニットによって実行されてもよい。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでよい。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法を実施するための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品がコンピュータ可読媒体を含んでもよい。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形式の所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含んでもよい。また、いかなる接続も適切にコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書において使用されるとき、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、一方、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せは、コンピュータ可読媒体の範囲内に同じく含まれるものとする。
命令は、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価の集積論理回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に適した任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で提供されてよく、または組み合わされたコーデックに組み込まれてもよい。さらに、いくつかの態様では、本明細書で説明した機能は、MANE中のものなど、ビデオデータを処理するために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内で提供されてよい。また、本技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
本開示の技法は、ワイヤレス通信デバイス(たとえば、ワイヤレスハンドセット)、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装されてもよい。たとえば、ビデオデータを処理するためのデバイスは、符号化ビデオデータを復号するように構成されたビデオデコーダを備える集積回路、符号化ビデオデータを復号するように構成されたビデオデコーダを備えるマイクロプロセッサ、符号化ビデオデータを復号するように構成されたビデオデコーダを備えるワイヤレスハンドセットなどを備え得る。様々な構成要素、モジュール、またはユニットが、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されるが、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わされてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、上記で説明したような1つもしくは複数のプロセッサを含む相互動作可能なハードウェアユニットの集合によって提供されてよい。
様々な例が説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
10 ビデオコーディングシステム
12 ソースデバイス
14 宛先デバイス
16 チャネル
17 メディアアウェアネットワーク要素(MANE)
18 ビデオソース
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
30 ビデオデコーダ
32 ディスプレイデバイス
100 予測処理ユニット
102 残差生成ユニット
104 変換処理ユニット
106 量子化ユニット
108 逆量子化ユニット
110 逆変換処理ユニット
112 再構成ユニット
114 フィルタユニット
116 復号ピクチャバッファ
118 エントロピー符号化ユニット
120 インター予測処理ユニット
121 ビデオデータメモリ
122 動き推定ユニット
124 動き補償ユニット
126 イントラ予測処理ユニット
150 エントロピー復号ユニット
151 コード化ピクチャバッファ(CPB)
152 予測処理ユニット
154 逆量子化ユニット
156 逆変換処理ユニット
158 再構成ユニット
160 フィルタユニット
162 復号ピクチャバッファ
164 動き補償ユニット
166 イントラ予測処理ユニット

Claims (31)

  1. マルチレイヤビデオデータの搬送のためのMPEG-2トランスポートストリームを処理する方法であって、
    1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットを取得するステップであって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、ステップと、
    前記第1の記述子または前記プログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得するステップであって、前記第1の記述子および前記第2の記述子が前記MPEG-2トランスポートストリームのプログラムマップテーブルにあり、前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、ステップと、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の各それぞれのレイヤに関して、前記それぞれのレイヤに関するそれぞれのシンタックス要素に基づいて、前記PTLシンタックス要素セットのうちのどれが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられた前記PTL情報を指定するかを判断するステップであって、前記それぞれのシンタックス要素が前記それぞれの動作点シンタックス要素セットにあり、前記それぞれの動作点が複数のレイヤを有する、ステップと
    を備える方法。
  2. 前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットについて、
    前記それぞれのPTLシンタックス要素セットにおけるそれぞれのプロファイルシンタックス要素に基づいて、コード化ビデオシーケンスが適合するプロファイルを決定するステップと、
    前記それぞれのPTLシンタックス要素セットにおけるそれぞれのティアシンタックス要素に基づいて、前記それぞれのPTLシンタックス要素セットにおけるそれぞれのレベルインジケータシンタックス要素の解釈のためのコンテキストを決定するステップと、
    前記それぞれのPTLシンタックス要素セットにおける前記それぞれのレベルインジケータシンタックス要素に基づいて、前記コード化ビデオシーケンスが適合するレベルを決定するステップと
    をさらに備える、請求項1に記載の方法。
  3. 前記プログラムのための前記第1の記述子の中のシンタックス要素に基づいて、前記複数のPTLシンタックス要素セットにおけるPTLシンタックス要素セットの数を決定するステップ
    をさらに備える、請求項1に記載の方法。
  4. 前記第1の記述子または前記第2の記述子の中のシンタックス要素に基づいて、前記複数の動作点シンタックス要素セットにおける動作点シンタックス要素セットの数を決定するステップ
    をさらに備える、請求項1に記載の方法。
  5. 前記複数の動作点シンタックス要素セットを取得するステップは、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記第1の記述子または前記第2の記述子の中のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点のレイヤの数を決定するステップ
    を備える、請求項1に記載の方法。
  6. 前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第1のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大時間識別子を決定するステップと、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第2のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の平均ビットレートを決定するステップと、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第3のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大ビットレートを決定するステップと、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第4のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点に対応する高効率ビデオコーディング(HEVC)レイヤードビデオストリームの最大ピクチャレートを決定するステップと
    をさらに備える、請求項1に記載の方法。
  7. マルチレイヤビデオデータの搬送のためのMPEG-2トランスポートストリームを処理する方法であって、
    1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットをシグナリングするステップであって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、ステップと、
    前記第1の記述子または前記プログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングするステップであって、
    前記第1の記述子および前記第2の記述子が前記MPEG-2トランスポートストリームのプログラムマップテーブルにあり、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが前記複数の動作点のそれぞれの動作点を指定し、
    前記それぞれの動作点の各それぞれのレイヤについて、前記それぞれの動作点シンタックス要素セットが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられたPTL情報を指定する前記複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、前記それぞれの動作点が複数のレイヤを有する、ステップと
    を備える方法。
  8. 前記複数のPTLシンタックス要素セットをシグナリングするステップは、
    前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットについて、
    前記それぞれのPTLシンタックス要素セットにおいて、コード化ビデオシーケンスが適合するプロファイルを指定するそれぞれのプロファイルシンタックス要素をシグナリングするステップと、
    前記それぞれのPTLシンタックス要素セットにおいて、それぞれのティアシンタックス要素をシグナリングするステップであって、前記それぞれのティアシンタックス要素が、前記それぞれのPTLシンタックス要素セットにおけるそれぞれのレベルインジケータシンタックス要素の解釈のためのコンテキストを指定する、ステップと、
    前記それぞれのPTLシンタックス要素セットにおいて、前記それぞれのレベルインジケータシンタックス要素をシグナリングするステップであって、前記それぞれのレベルインジケータシンタックス要素が、前記コード化ビデオシーケンスが適合するレベルを示す、ステップと
    を備える、請求項7に記載の方法。
  9. 前記プログラムのための前記第1の記述子において、前記複数のPTLシンタックス要素セットにおけるPTLシンタックス要素セットの数を示すシンタックス要素をシグナリングするステップ
    をさらに備える、請求項7に記載の方法。
  10. 前記第1の記述子または前記第2の記述子において、前記複数の動作点シンタックス要素セットにおける動作点シンタックス要素セットの数を示すシンタックス要素をシグナリングするステップ
    をさらに備える、請求項7に記載の方法。
  11. 前記複数の動作点シンタックス要素セットをシグナリングするステップは、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点のレイヤの数をシグナリングするステップ
    を備える、請求項7に記載の方法。
  12. 前記複数の動作点シンタックス要素セットをシグナリングするステップは、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大時間識別子を指定するそれぞれの第1のシンタックス要素をシグナリングするステップと、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の平均ビットレートを指定するそれぞれの第2のシンタックス要素をシグナリングするステップと、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大ビットレートを指定するそれぞれの第3のシンタックス要素をシグナリングするステップと、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点に対応する高効率ビデオコーディング(HEVC)レイヤードビデオストリームの最大ピクチャレートを指定するそれぞれの第4のシンタックス要素をシグナリングするステップと
    を備える、請求項7に記載の方法。
  13. マルチレイヤビデオデータの搬送のためのMPEG-2トランスポートストリームを処理するためのデバイスであって、
    符号化ビデオデータを記憶するように構成されたデータ記憶媒体と、
    1つまたは複数のプロセッサと
    を備え、前記1つまたは複数のプロセッサは、
    前記符号化ビデオデータを備える1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットを取得することであって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、取得することと、
    前記第1の記述子または前記プログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得することであって、前記第1の記述子および前記第2の記述子が前記MPEG-2トランスポートストリームのプログラムマップテーブルにあり、前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、取得することと、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の各それぞれのレイヤに関して、前記それぞれのレイヤに関するそれぞれのシンタックス要素に基づいて、前記PTLシンタックス要素セットのうちのどれが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられた前記PTL情報を指定するかを判断することであって、前記それぞれのシンタックス要素が前記それぞれの動作点シンタックス要素セットにあり、前記それぞれの動作点が複数のレイヤを有する、判断することと
    を行うように構成される、デバイス。
  14. 前記1つまたは複数のプロセッサは、
    前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットについて、
    前記それぞれのPTLシンタックス要素セットにおけるそれぞれのプロファイルシンタックス要素に基づいて、コード化ビデオシーケンスが適合するプロファイルを決定することと、
    前記それぞれのPTLシンタックス要素セットにおけるそれぞれのティアシンタックス要素に基づいて、前記それぞれのPTLシンタックス要素セットにおけるそれぞれのレベルインジケータシンタックス要素の解釈のためのコンテキストを決定することと、
    前記それぞれのPTLシンタックス要素セットにおける前記それぞれのレベルインジケータシンタックス要素に基づいて、前記コード化ビデオシーケンスが適合するレベルを決定することと
    を行うように構成される、請求項13に記載のデバイス。
  15. 前記1つまたは複数のプロセッサは、
    前記プログラムのための前記第1の記述子の中のシンタックス要素に基づいて、前記複数のPTLシンタックス要素セットにおけるPTLシンタックス要素セットの数を決定する
    ように構成される、請求項13に記載のデバイス。
  16. 前記1つまたは複数のプロセッサは、
    前記第1の記述子または前記第2の記述子の中のシンタックス要素に基づいて、前記複数の動作点シンタックス要素セットにおける動作点シンタックス要素セットの数を決定する
    ように構成される、請求項13に記載のデバイス。
  17. 前記1つまたは複数のプロセッサは、前記複数の動作点シンタックス要素セットをシグナリングすることの一部として、前記1つまたは複数のプロセッサが、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点のレイヤの数をシグナリングする
    ように構成される、請求項13に記載のデバイス。
  18. 前記1つまたは複数のプロセッサは、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第1のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大時間識別子を決定することと、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第2のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の平均ビットレートを決定することと、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第3のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大ビットレートを決定することと、
    前記それぞれの動作点シンタックス要素セットにおけるそれぞれの第4のシンタックス要素に基づいて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点に対応する高効率ビデオコーディング(HEVC)レイヤードビデオストリームの最大ピクチャレートを決定することと
    を行うように構成される、請求項13に記載のデバイス。
  19. 前記符号化ビデオデータを復号するように構成されたビデオデコーダを備える集積回路、
    前記符号化ビデオデータを復号するように構成されたビデオデコーダを備えるマイクロプロセッサ、または
    前記符号化ビデオデータを使用してピクチャを復号するように構成されたビデオデコーダおよび前記復号されたピクチャを表示するように構成されたディスプレイを備えるワイヤレスハンドセット
    のうちの少なくとも1つを備える、請求項13に記載のデバイス。
  20. 前記1つまたは複数のプロセッサは、前記符号化ビデオデータを復号するように構成され、前記デバイスは、前記復号したビデオデータを表示するように構成されたディスプレイをさらに備える、請求項13に記載のデバイス。
  21. マルチレイヤビデオデータの搬送のためのMPEG-2トランスポートストリームを処理するためのデバイスであって、
    符号化ビデオデータを記憶するように構成されたデータ記憶媒体と、
    1つまたは複数のプロセッサと
    を備え、前記1つまたは複数のプロセッサは、
    前記符号化ビデオデータを備える1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットをシグナリングすることであって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、シグナリングすることと、
    前記第1の記述子または前記プログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングすることであって、
    前記第1の記述子および前記第2の記述子が前記MPEG-2トランスポートストリームのプログラムマップテーブルにあり、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが前記複数の動作点のそれぞれの動作点を指定し、
    前記それぞれの動作点の各それぞれのレイヤについて、前記それぞれの動作点シンタックス要素セットが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられたPTL情報を指定する前記複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、前記それぞれの動作点が複数のレイヤを有する、シグナリングすることと
    を行うように構成される、デバイス。
  22. 前記1つまたは複数のプロセッサは、前記複数のPTLシンタックス要素セットをシグナリングすることの一部として、前記1つまたは複数のプロセッサが、
    前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットについて、
    前記それぞれのPTLシンタックス要素セットにおいて、コード化ビデオシーケンスが適合するプロファイルを指定するそれぞれのプロファイルシンタックス要素をシグナリングすることと、
    前記それぞれのPTLシンタックス要素セットにおいて、それぞれのティアシンタックス要素をシグナリングすることであって、前記それぞれのティアシンタックス要素が、前記それぞれのPTLシンタックス要素セットにおけるそれぞれのレベルインジケータシンタックス要素の解釈のためのコンテキストを指定する、シグナリングすることと、
    前記それぞれのPTLシンタックス要素セットにおいて、前記それぞれのレベルインジケータシンタックス要素をシグナリングすることであって、前記それぞれのレベルインジケータシンタックス要素が、前記コード化ビデオシーケンスが適合するレベルを示す、シグナリングすることと
    を行うように構成される、請求項21に記載のデバイス。
  23. 前記1つまたは複数のプロセッサは、
    前記プログラムのための前記第1の記述子において、前記複数のPTLシンタックス要素セットにおけるPTLシンタックス要素セットの数を示すシンタックス要素をシグナリングする
    ように構成される、請求項21に記載のデバイス。
  24. 前記1つまたは複数のプロセッサは、
    前記第1の記述子または前記第2の記述子において、前記複数の動作点シンタックス要素セットにおける動作点シンタックス要素セットの数を示すシンタックス要素をシグナリングする
    ように構成される、請求項21に記載のデバイス。
  25. 前記1つまたは複数のプロセッサは、前記複数の動作点シンタックス要素セットをシグナリングすることの一部として、前記1つまたは複数のプロセッサが、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点のレイヤの数をシグナリングする
    ように構成される、請求項21に記載のデバイス。
  26. 前記1つまたは複数のプロセッサは、前記複数の動作点シンタックス要素セットをシグナリングすることの一部として、前記1つまたは複数のプロセッサが、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大時間識別子を指定するそれぞれの第1のシンタックス要素をシグナリングすることと、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の平均ビットレートを指定するそれぞれの第2のシンタックス要素をシグナリングすることと、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の最大ビットレートを指定するそれぞれの第3のシンタックス要素をシグナリングすることと、
    前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点に対応する高効率ビデオコーディング(HEVC)レイヤードビデオストリームの最大ピクチャレートを指定するそれぞれの第4のシンタックス要素をシグナリングすることと
    を行うように構成される、請求項21に記載のデバイス。
  27. 集積回路、
    マイクロプロセッサ、または
    ワイヤレスハンドセット
    のうちの少なくとも1つを備える、請求項21に記載のデバイス。
  28. マルチレイヤビデオデータの搬送のためのMPEG-2トランスポートストリームを処理するためのデバイスであって、
    1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットを取得するための手段であって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、手段と、
    前記第1の記述子または前記プログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得するための手段であって、前記第1の記述子および前記第2の記述子が前記MPEG-2トランスポートストリームのプログラムマップテーブルにあり、前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、手段と、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の各それぞれのレイヤに関して、前記それぞれのレイヤに関するそれぞれのシンタックス要素に基づいて、前記PTLシンタックス要素セットのうちのどれが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられた前記PTL情報を指定するかを判断するための手段であって、前記それぞれのシンタックス要素が前記それぞれの動作点シンタックス要素セットにあり、前記それぞれの動作点が複数のレイヤを有する、手段と
    を備えるデバイス。
  29. マルチレイヤビデオデータの搬送のためのMPEG-2トランスポートストリームを処理するためのデバイスであって、
    1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットをシグナリングするための手段であって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、手段と、
    前記第1の記述子または前記プログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングするための手段であって、
    前記第1の記述子および前記第2の記述子が前記MPEG-2トランスポートストリームのプログラムマップテーブルにあり、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが前記複数の動作点のそれぞれの動作点を指定し、
    前記それぞれの動作点の各それぞれのレイヤについて、前記それぞれの動作点シンタックス要素セットが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられたPTL情報を指定する前記複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、前記それぞれの動作点が複数のレイヤを有する、手段と
    を備えるデバイス。
  30. 実行されたとき、ビデオ処理デバイスの1つまたは複数のプロセッサに、
    1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子から、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットを取得することであって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、取得することと、
    前記第1の記述子または前記プログラムのための第2の記述子から、複数の動作点シンタックス要素セットを取得することであって、前記第1の記述子および前記第2の記述子がMPEG-2トランスポートストリームのプログラムマップテーブルにあり、前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが複数の動作点のそれぞれの動作点を指定する、取得することと、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットについて、前記それぞれの動作点シンタックス要素セットによって指定された前記それぞれの動作点の各それぞれのレイヤに関して、前記それぞれのレイヤに関するそれぞれのシンタックス要素に基づいて、前記PTLシンタックス要素セットのうちのどれが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられた前記PTL情報を指定するかを判断することであって、前記それぞれのシンタックス要素が前記それぞれの動作点シンタックス要素セットにあり、前記それぞれの動作点が複数のレイヤを有する、判断することと
    を行わせる命令を記憶したコンピュータ可読データ記憶媒体。
  31. 実行されたとき、ビデオ処理デバイスの1つまたは複数のプロセッサに、
    1つまたは複数のエレメンタリストリームを備えるプログラムのための第1の記述子において、複数のプロファイル、ティア、レベル(PTL)シンタックス要素セットをシグナリングすることであって、前記複数のPTLシンタックス要素セットの各それぞれのPTLシンタックス要素セットが、それぞれのPTL情報を指定するシンタックス要素を備える、シグナリングすることと、
    前記第1の記述子または前記プログラムのための第2の記述子において、複数の動作点シンタックス要素セットをシグナリングすることであって、
    前記第1の記述子および前記第2の記述子がMPEG-2トランスポートストリームのプログラムマップテーブルにあり、
    前記複数の動作点シンタックス要素セットの各それぞれの動作点シンタックス要素セットが前記複数の動作点のそれぞれの動作点を指定し、
    前記それぞれの動作点の各それぞれのレイヤについて、前記それぞれの動作点シンタックス要素セットが、前記それぞれの動作点の前記それぞれのレイヤに割り当てられたPTL情報を指定する前記複数のPTLシンタックス要素セットのそれぞれのPTLシンタックス要素セットを識別するそれぞれのシンタックス要素を含み、前記それぞれの動作点が複数のレイヤを有する、シグナリングすることと
    を行わせる命令を記憶したコンピュータ可読データ記憶媒体。
JP2017500958A 2014-07-16 2015-07-16 ビデオコーディング拡張の搬送のためのトランスポートストリーム Expired - Fee Related JP6452798B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462025432P 2014-07-16 2014-07-16
US62/025,432 2014-07-16
US14/800,480 2015-07-15
US14/800,480 US9998765B2 (en) 2014-07-16 2015-07-15 Transport stream for carriage of video coding extensions
PCT/US2015/040717 WO2016011234A1 (en) 2014-07-16 2015-07-16 Transport stream for carriage of video coding extensions

Publications (3)

Publication Number Publication Date
JP2017525276A JP2017525276A (ja) 2017-08-31
JP2017525276A5 JP2017525276A5 (ja) 2018-08-23
JP6452798B2 true JP6452798B2 (ja) 2019-01-16

Family

ID=55075696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017500958A Expired - Fee Related JP6452798B2 (ja) 2014-07-16 2015-07-16 ビデオコーディング拡張の搬送のためのトランスポートストリーム

Country Status (10)

Country Link
US (2) US9998765B2 (ja)
EP (1) EP3170309B1 (ja)
JP (1) JP6452798B2 (ja)
KR (1) KR101968425B1 (ja)
CN (1) CN106664447B (ja)
AU (1) AU2015289591A1 (ja)
BR (1) BR112017000251A2 (ja)
ES (1) ES2874073T3 (ja)
TW (2) TWI679880B (ja)
WO (2) WO2016011237A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998765B2 (en) 2014-07-16 2018-06-12 Qualcomm Incorporated Transport stream for carriage of video coding extensions
US10306269B2 (en) 2014-10-10 2019-05-28 Qualcomm Incorporated Operation point for carriage of layered HEVC bitstream
US10419768B2 (en) * 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
WO2020166643A1 (ja) * 2019-02-15 2020-08-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
EP4097979A4 (en) 2020-02-29 2023-07-26 Beijing Bytedance Network Technology Co., Ltd. RESTRICTIONS ON HIGH-LEVEL SYNTAX ELEMENTS
WO2021233449A1 (en) 2020-05-22 2021-11-25 Beijing Bytedance Network Technology Co., Ltd. Reserved bits in general constraint information of a video

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL167288A (en) * 1997-04-01 2012-03-29 Sony Corp Image encryption device, image encryption method, image decryption device, image decryption method, and appropriate medium
KR20120083747A (ko) * 2011-01-18 2012-07-26 삼성전자주식회사 방송통신 융합형 서비스를 위한 전송 방법 및 장치
AU2012225416B2 (en) * 2011-03-10 2015-08-27 Vidyo, Inc. Signaling number of active layers in video coding
US9787979B2 (en) 2012-04-06 2017-10-10 Vidyo, Inc. Level signaling for layered video coding
US20140079116A1 (en) * 2012-09-20 2014-03-20 Qualcomm Incorporated Indication of interlaced video data for video coding
RU2015115467A (ru) 2012-09-28 2016-11-20 Шарп Кабусики Кайся Устройство декодирования изображений
US9432664B2 (en) * 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US9554162B2 (en) 2012-11-12 2017-01-24 Lg Electronics Inc. Apparatus for transreceiving signals and method for transreceiving signals
KR20150092119A (ko) * 2012-11-30 2015-08-12 소니 주식회사 화상 처리 장치 및 방법
US10419778B2 (en) * 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
CA2908853C (en) * 2013-04-08 2019-01-15 Arris Technology, Inc. Signaling for addition or removal of layers in video coding
US10567804B2 (en) 2014-01-08 2020-02-18 Qualcomm Incorporated Carriage of HEVC extension bitstreams and buffer model with MPEG-2 systems
US9998765B2 (en) 2014-07-16 2018-06-12 Qualcomm Incorporated Transport stream for carriage of video coding extensions

Also Published As

Publication number Publication date
AU2015289591A1 (en) 2017-01-12
KR101968425B1 (ko) 2019-04-11
TWI679880B (zh) 2019-12-11
TW201615018A (en) 2016-04-16
US20160021375A1 (en) 2016-01-21
EP3170309B1 (en) 2021-03-10
ES2874073T3 (es) 2021-11-04
TWI643491B (zh) 2018-12-01
WO2016011237A1 (en) 2016-01-21
WO2016011234A1 (en) 2016-01-21
TW201615016A (en) 2016-04-16
US20160021398A1 (en) 2016-01-21
BR112017000251A2 (pt) 2017-11-14
CN106664447A (zh) 2017-05-10
US9998765B2 (en) 2018-06-12
EP3170309A1 (en) 2017-05-24
CN106664447B (zh) 2019-06-11
JP2017525276A (ja) 2017-08-31
KR20170032311A (ko) 2017-03-22

Similar Documents

Publication Publication Date Title
US9712871B2 (en) Determination bitstream decoding capability in video coding
US9521393B2 (en) Non-nested SEI messages in video coding
KR102383621B1 (ko) Hrd 디스크립터 및 hevc 확장판들의 캐리지를 위한 데이터 스트림들의 버퍼 모델의 설계
AU2013330284B2 (en) Sub-bitstream applicability to nested SEI messages in video coding
EP2898698B1 (en) Bitstream properties in video coding
JP6495261B2 (ja) Mpeg−2システムを使用したビデオコーディング規格拡張ビットストリームデータの搬送
KR102172130B1 (ko) 비디오 데이터에 대한 파일 포맷
US20150103888A1 (en) Support of multi-mode extraction for multi-layer video codecs
JP6452798B2 (ja) ビデオコーディング拡張の搬送のためのトランスポートストリーム
WO2016130771A1 (en) Signaling of operation points for carriage of hevc extensions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180625

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180713

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181211

R150 Certificate of patent or registration of utility model

Ref document number: 6452798

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees