JP2017505019A - マルチレイヤビデオコーディングのためのpoc値設計 - Google Patents

マルチレイヤビデオコーディングのためのpoc値設計 Download PDF

Info

Publication number
JP2017505019A
JP2017505019A JP2016538600A JP2016538600A JP2017505019A JP 2017505019 A JP2017505019 A JP 2017505019A JP 2016538600 A JP2016538600 A JP 2016538600A JP 2016538600 A JP2016538600 A JP 2016538600A JP 2017505019 A JP2017505019 A JP 2017505019A
Authority
JP
Japan
Prior art keywords
picture
poc
pictures
dpb
video
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.)
Granted
Application number
JP2016538600A
Other languages
English (en)
Other versions
JP6441354B2 (ja
JP2017505019A5 (ja
Inventor
ヘンドライ、フヌ
ワン、イェ−クイ
ラマスブラモニアン、アダルシュ・クリシュナン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017505019A publication Critical patent/JP2017505019A/ja
Publication of JP2017505019A5 publication Critical patent/JP2017505019A5/ja
Application granted granted Critical
Publication of JP6441354B2 publication Critical patent/JP6441354B2/ja
Active 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

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

Abstract

一例では、ビデオデータを復号する方法は、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータを復号すること、ここにおいて、第1のピクチャがアクセスユニット中に含まれ、を含む。方法はまた、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および、第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット内に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することを含む。

Description

[0001]本出願は、その全体が参照により本明細書に組み込まれる、2013年12月12日に出願された米国仮出願第61/915,497号の利益を主張する。
[0002]本開示は、ビデオコーディングに関する。
[0003]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話もしくは衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10、アドバンストビデオコーディング(AVC)、現在開発中の高効率ビデオコーディング(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)は、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測または時間的予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、および、コード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に2次元アレイで構成される量子化された変換係数は、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
[0006]概して、本開示は、参照ピクチャに関係するビデオデータをコーディングすることについてのエラーレジリエンスを改善するための技法について説明する。特に、本開示は、そのようなエラーレジリエンス(error resilience)を改善し得るピクチャ順序カウント(POC)値設計について説明する。これらの技法は、シングルレイヤビデオデータまたはマルチレイヤビデオデータをコーディングするときに使用され得る。概して、これらの技法は、POCリセットプロセスを実行するより前に、ピクチャ出力プロセスにおけるエラーレジリエンスを改善するために、復号ピクチャバッファ(DPB)に記憶されたピクチャを出力することを含む。たとえば、ビデオデコーダは、それにおいてPOCリセットが実行されるアクセスユニットの初期ピクチャを復号するより前に、DPBからすべてのピクチャを出力する(たとえば、出力のために必要とされるとマークされている、DPB内のすべてのピクチャを出力する)ように構成され得る。このようにして、DPBに記憶されたピクチャのPOC値は、整合された(aligned)ままであり得、それによって、アクセスユニットのピクチャが適切な順序で出力されることが可能になる。
[0007]本開示はまた、マルチレイヤビットストリーム中のピクチャのPOC値を適切に決定するための技法を含む。たとえば、本開示の態様によれば、ビデオデコーダは、復号されているピクチャのピクチャタイプを決定することと、ピクチャタイプに基づいて、復号されているピクチャのためのPOC最上位ビット(MSB)値を示すデータを復号することと、を行うように構成され得る。このようにして、復号されているピクチャのためのPOC MSB値は、マルチレイヤビットストリーム中の別のピクチャのPOC MSBを参照することなく、決定され得る。このようにしてPOC MSBを決定することは、(たとえば、マルチレイヤビットストリームのアップスイッチングまたはダウンスイッチングとともに発生し得るように)比較的多数のPOC値が、コーディング順序において復号されているピクチャに先行するピクチャから、復号されているピクチャを分離する場合に、エラーレジリエンスを改善し得る。
[0008]一例では、ビデオデータを復号する方法は、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータを復号することと、ここにおいて、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと、を含む。
[0009]別の例では、ビデオデータを符号化する方法は、ビデオエンコーダが、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータを符号化することと、ここにおいて、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと、を含む。
[0010]別の例では、ビデオデータをコーディングするためのデバイスは、マルチレイヤビデオデータを記憶するように構成された復号ピクチャバッファ(DPB)を備えるメモリを含む。このデバイスはまた、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングすることと、ここにおいて、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、DPB内に記憶されたすべてのピクチャを出力することと、を行うように構成された、ビデオコーダを含む。
[0011]別の例では、ビデオデータをコーディングするためのデバイスは、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングするための手段と、ここにおいて、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力するための手段と、を含む。
[0012]別の例では、非一時的コンピュータ可読記憶媒体は、命令を記憶しており、命令が、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングすることと、ここにおいて、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと、を行わせる。
[0013]別の例では、ビデオデータを復号する方法は、ビデオデコーダが、マルチレイヤビデオデータの第1のピクチャを復号することと、ここにおいて、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、ビデオデコーダが、第1のピクチャのためのピクチャ順序カウント(POC)最上位ビット(MSB)値を表すデータを復号することと、を含む。
[0014]別の例では、ビデオデータを符号化する方法は、ビデオエンコーダが、マルチレイヤビデオデータの第1のピクチャを符号化することと、ここにおいて、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、ビデオエンコーダが、第1のピクチャのためのピクチャ順序カウント(POC)最上位ビット(MSB)値を表すデータを符号化することと、を含む。
[0015]別の例では、ビデオデータをコーディングするためのデバイスは、マルチレイヤビデオデータを記憶するように構成されたメモリを含む。このデバイスはまた、マルチレイヤビデオデータの第1のピクチャをコーディングすることと、ここにおいて、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのピクチャ順序カウント(POC)最上位ビット(MSB)値を表すデータをコーディングすることと、を行うように構成された、ビデオコーダを含む。
[0016]別の例では、ビデオデータをコーディングするためのデバイスは、マルチレイヤビデオデータの第1のピクチャをコーディングするための手段と、ここにおいて、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのピクチャ順序カウント(POC)最上位ビット(MSB)値を表すデータをコーディングするための手段と、を含む。
[0017]別の例では、非一時的コンピュータ可読記憶媒体は、命令を記憶しており、命令が、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、マルチレイヤビデオデータの第1のピクチャをコーディングすることと、ここにおいて、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのピクチャ順序カウント(POC)最上位ビット(MSB)値を表すデータをコーディングことと、を行わせる。
[0018]1つまたは複数の例の詳細は、添付の図面および以下の説明において記載される。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
[0019]本開示の技法による、POC値情報をコーディングするための技法を利用し得る、例示的なビデオ符号化および復号システムを示すブロック図。 [0020]本開示の技法による、POC値情報をコーディングするための技法を実装し得る、ビデオエンコーダの一例を示すブロック図。 [0021]本開示の技法による、POC値情報をコーディングするための技法を実装し得る、ビデオデコーダの一例を示すブロック図。 [0022]本開示の技法による、POC値リセットを実行するより前に、DPBのピクチャを出力することを含む、データを符号化するための例示的な方法を示すフローチャート。 [0023]本開示の技法による、POC値リセットを実行するより前に、DPBのピクチャを出力することを含む、データを復号するための例示的な方法を示すフローチャート。 [0024]本開示の技法による、POC MSB値を示すデータを符号化することを含む、データを符号化するための例示的な方法を示すフローチャート。 [0025]本開示の技法による、POC MSB値を示すデータを復号することを含む、データを復号するための例示的な方法を示すフローチャート。
[0026]概して、本開示は、マルチレイヤビデオコーディングのために有益であり得る、ビデオコーディングのためのピクチャ順序カウント(POC)値設計について説明する。本開示は、マルチレイヤビデオコーディングにおけるPOC値のシグナリングおよび導出のための、様々な設計改良について説明する。しかしながら、本技法は、概して、マルチレイヤビデオコーディングに関して説明されるが、本開示の技法は、シングルレイヤビデオコーディングにも適用され得る。
[0027]POC値は、ピクチャの表示順序を示し得、概して、ピクチャを識別するために使用され得る。たとえば、0のPOC値を有するピクチャ(すなわち、0に等しいPOC値を有するピクチャ)は、1のPOC値を有するピクチャより前に表示される。現在のピクチャのブロックが参照ピクチャに対してインター予測されるとき、参照ピクチャは、参照ピクチャのためのPOC値を使用して識別され得る。より詳細には、参照ピクチャリスト中に含まれるべき参照ピクチャのためのPOC値が、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)などのパラメータセット、および/またはブロックに対応するスライスヘッダにおいてシグナリングされ得る。このようにして、ビデオエンコーダは、参照ピクチャリスト中の参照ピクチャの位置に対応する、参照ピクチャリストへのインデックスをシグナリングすることによって、参照ピクチャを識別し得、ビデオデコーダは、(POC値に基づいて)参照ピクチャリストを構築することと、参照ピクチャリスト中の参照ピクチャの位置を識別するために、参照インデックスを使用することとによって、参照ピクチャを識別し得る。
[0028]POC値は、最下位ビット(LSB)と最上位ビット(MSB)とからなり得る。コーディング中にピクチャのPOC値を無制限に(indefinitely)増加させるのではなく、ピクチャのPOC値のLSBは、0に等しくなるように周期的にリセットされ得る。POC値は、典型的に、瞬時デコーダリフレッシュ(IDR)ピクチャについてリセットされる。加えて、ビデオコーダは、POCリセットに関連付けられた現在のピクチャの前に処理され、復号ピクチャバッファ(DPB)に記憶されている、ピクチャのPOC値をデクリメントし得る。デクリメントされた参照ピクチャのPOC値は、そのようなピクチャの適切な出力順序を維持するために、負値を有し得る。
[0029]マルチレイヤビデオコーディング(たとえば、マルチビュービデオコーディング、スケーラブルビデオコーディングなど)では、DPBは「サブDPB」に区分され得、ビデオデータの各レイヤが、DPBの別々に管理されたサブDPBに割り当てられる。ビュー構成要素は、(表示順序または出力順序に関して)特定の時間における特定のレイヤまたはビューのための符号化されたピクチャを備え得る。アクセスユニットは、概して、共通の時間的インスタンスのためのすべてのビュー構成要素(たとえば、すべてのネットワークアブストラクションレイヤ(NAL)ユニット)を含むデータのユニットである。したがって、特定の時間的インスタンスのためのアクセスユニットは、それぞれのサブDPBからのそれぞれのビュー構成要素を含み得る。場合によっては、アクセスユニットは、マルチレイヤビットストリームに関連付けられたビュー構成要素のすべてよりも少ないものを含み得る。たとえば、ベースレイヤとエンハンスメントレイヤとを有するマルチレイヤビットストリームでは、場合によっては、アクセスユニットは、エンハンスメントレイヤのピクチャのみを含み得る。この例では、ビデオデコーダは、マルチレイヤビットストリームのエンハンスメントレイヤビュー構成要素のみを包含するアクセスユニットを受信し得る。
[0030]アクセスユニットのビュー構成要素は、典型的には、一緒に出力される(すなわち、実質的に同時に出力される)ように意図されており、その場合、ピクチャを出力することは、概して、DPBからピクチャを転送すること(たとえば、DBPから外部メモリにピクチャを記憶すること、DPBからディスプレイへピクチャを送ること、DPBからピクチャを除去することなど)を伴う。
ビデオコーダは、「出力のために必要とされる」および「参照のために使用されない」とマークされているピクチャをDPBから出力するために、出力およびバンピングプロセスを使用し得る。場合によっては、ピクチャ出力プロセスは、(1)ピクチャの復号前であるが、ピクチャの最初のスライスのスライスヘッダをパースした(parsing)後と、(2)ピクチャの最後の復号ユニットがコード化ピクチャバッファから除去されるときとを含めて、ピクチャごとに2回呼び出され得る。バンピングプロセスが呼び出されるとき、このプロセスは、選択されたアクセスユニットに属するピクチャを出力する。
[0031](たとえば、後述されるような)既存のPOC設計は、最適化されないことがある。たとえば、場合によっては、POC値をデクリメントすることは、レイヤ固有のプロセスであり得る。したがって、以下の例で説明されるように、レイヤのピクチャのPOC値またはPOC MSB値が、そのレイヤのピクチャの復号中にリセットされるとき、レイヤのためのサブDPB内のより早いピクチャ(たとえば、現在コーディングされているピクチャより前に処理され、サブDPBに記憶されているピクチャ)のPOC値は、他のサブDPB内のより早いピクチャのPOC値とクロスレイヤ整合されないことがある。クロスレイヤ整合(alignment)は、たとえば、アクセスユニットのピクチャが同時にまたはほぼ同時に出力されるように、アクセスユニットの各ピクチャが同じPOC値を有するときに発生する。既存のPOC設計では、上位レイヤ(たとえば、相対的により大きいレイヤ識別子を有するレイヤ)におけるピクチャのPOC値は、それぞれのレイヤにおけるピクチャの最初のスライスの復号が開始される後まで更新されないことがある。このようにしてPOCまたはPOC MSBを更新することは、DPB内で復号されたピクチャを包含するアクセスユニットごとのPOC値のクロスレイヤ整合を必要とする、バンピングプロセスを通したピクチャ出力についての問題を生じ得る。
[0032]説明のための一例では、マルチレイヤシーケンスが3つのレイヤ(たとえば、レイヤA、B、およびC)を有すると仮定する。加えて、特定のアクセスユニットが、そのためのPOCリセットが実行されるピクチャを含むと仮定する。この例では、ビデオデコーダは、(たとえば、POCリセットを実行するための指示をビットストリーム中で受信すると)アクセスユニットのレイヤAピクチャのPOC値をリセットし得る。ビデオデコーダはまた、適切な出力順序を維持するために、レイヤAのためのサブDPBに前に記憶されたレイヤAのピクチャをデクリメントし得る。しかしながら、レイヤAの最初のピクチャを復号する間、および、アクセスユニットのレイヤBピクチャを復号するより前に、レイヤBおよびCのためのそれぞれのサブDPBに記憶されているレイヤBおよびCのためのピクチャのPOC値は、レイヤAのサブDPBに記憶されたピクチャのPOC値と非整合に(クロスレイヤ整合されなく)なる。すなわち、アクセスユニットのレイヤBピクチャおよびレイヤCピクチャはまだリセットされていないので、レイヤBおよびCの各々のそれぞれのサブレイヤのPOC値もまだデクリメントされていない。
[0033]復号中のそのような非整合(non-alignment)は、ピクチャが不適切な順序でDPBから出力されることを引き起こし得る。たとえば、(たとえば、同じ時間的インスタンスを有する)アクセスユニットのピクチャは、典型的には、同じまたは実質的に同じ時間に出力されるように意図される。概して、ビデオコーダは、アクセスユニットのピクチャのPOC値に基づいて、アクセスユニットごとのベースでピクチャ(たとえば、一度に1つのアクセスユニットのピクチャ)を出力し得る。すなわち、ビデオコーダは、アクセスユニットのピクチャのPOC値と、アクセスユニットのピクチャが参照のために必要とされるか否かとに基づいて、出力のための特定のアクセスユニットを選択し得る。ビデオコーダは、DPB内で最小のPOC値を有し、もはや参照のために必要とされない、アクセスユニットのピクチャ(たとえば、出力のために必要とされるとマークされているピクチャ)を出力し得る。
[0034]ピクチャのためのPOC値が、(たとえば、上記で説明されたPOC値リセットのために)アクセスユニット内で非整合になるとき、ビデオコーダは、適切な順序でピクチャを出力しないことがある。たとえば、POC値がアクセスユニット内でクロスレイヤ整合されないとき、ビデオコーダは、別のアクセスユニットに移動するより前に、(単一の時間的インスタンスのための)あるアクセスユニットのすべてのピクチャを一緒に出力するのではなく、別のアクセスユニットからピクチャを出力するより前に、あるアクセスユニットのためのピクチャのすべてよりも少ないものを出力し得る。
[0035]本開示で説明されるPOC値設計は、様々な態様を含み、そのいずれかまたはすべては、単独または任意の組合せで実装され得る。本開示の技法は、上記で説明された問題を克服し得る。一例では、本開示の態様によれば、ビデオデコーダは、そのためのPOC値リセットが実行されるアクセスユニットを受信し得る。ビデオデコーダは、POC値リセットを実行するより前に、ビデオコーダの復号ピクチャバッファ(DPB)に記憶されたすべてのピクチャを出力し得る。すなわち、ビデオデコーダは、そのためのPOC値リセットが実行されるアクセスユニットの初期ピクチャを復号するより前に、出力のために必要とされるとマークされている、DPBに記憶されたすべてのピクチャを出力し得る。
[0036]このようにして、本開示の態様によれば、DPBに記憶されたピクチャのPOC値が、出力のときに整合されたままであり得る。すなわち、ビデオデコーダは、DPBに記憶されたピクチャのPOC値がそれらの前のクロスレイヤ整合されたPOC値を維持する(たとえば、マルチレイヤビットストリーム中で同じ時間的インスタンスを有するピクチャが、同じPOC値を維持する)ように、POC値リセットより前に、DPBに記憶されたピクチャを出力し得る。POCリセットより前に、このようにしてDPBのピクチャを出力することは、(同じアクセスユニット中であり、同じPOC値を有する)同じ時間的インスタンスのピクチャが同じまたは実質的に同じ時間に出力されることを保証する助けになり得る。
[0037]本開示の他の技法は、POC値の導出に関係する。以下でより詳細に説明されるように、POC値は、LSB値とMSB値との組合せからなり得る。ビデオコーダは、典型的には、マルチレイヤビットストリームの時間的サブレイヤ0における、復号順序において前のピクチャのPOC MSB値に基づいて、POC MSB値を導出し得る。したがって、現在のピクチャのためのPOC MSB値は、典型的には、コーディング順序において現在のピクチャに先行するピクチャのPOC MSB値に依存する。
[0038]このタイプのPOC MSB値依存性は、マルチレイヤビデオコーディングとともにアップスイッチングおよび/またはダウンスイッチングを実行するときに問題になり得る。たとえば、アップスイッチングは、追加のレイヤがマルチレイヤビットストリームに追加されるときに発生し得る。アップスイッチングは、たとえば、利用可能な帯域幅の量が、潜在的により良い閲覧体験(viewing experience)のために、ビデオデータの追加のレイヤが追加されることを可能にするために十分である場合に発生し得る。ダウンスイッチングは、たとえば、帯域幅または他の制約のために、ビデオデータのレイヤがマルチレイヤビットストリームから除去されるときに発生し得る。
[0039]1つの潜在的なPOC MSB値導出問題は、ダウンスイッチングされている比較的長い(たとえば、少なくとも、最大POC LSB期間の半分よりも長い)期間後に、ビデオコーダがアップスイッチングするとき、および、アップスイッチングを可能にするために使用されるイントラランダムアクセスポイント(IRAP)ピクチャタイプが、クリーンランダムアクセス(CRA)であるときに発生し得る。そのような場合には、ビデオコーダは、(それからPOC MSB値が導出される)コーディング順序において前のピクチャが古くなっている(obsolete)ので、アップスイッチングされている新しいレイヤの最初のピクチャのPOC MSB値を適切に決定することができないことがある。
[0040]説明のための一例では、マルチレイヤビットストリームは、第1のレイヤと第2のレイヤとを含み得る。ビデオコーダは、第1のレイヤと第2のレイヤとを処理することから、第1のレイヤのみを処理することへダウンスイッチングし得る。第2のレイヤの最後のピクチャは、この例では、50のPOC値を有し得る(すなわち、POC MSBは0であり、POC LSBは50である)。ビデオコーダは、第1のレイヤのみの250個のピクチャをコーディングし得る。次いで、ビデオコーダは、第1のレイヤと第2のレイヤの両方をコーディングするようにアップスイッチングし得る。概して、ビデオコーダは、(ダウンスイッチングより前の)第2のレイヤの最後のコード化されたピクチャに基づいて、(アップスイッチング後の)第2のレイヤの最初のピクチャのためのPOC値を、たとえば、50+250=300(たとえば、ダウンスイッチングより前の第2のレイヤの最後のピクチャ+第1のレイヤのみの250個のピクチャのPOC)として導出し得る。
[0041]ただし、8ビットLSB値では、256個の可能なPOC LSB値のみが利用可能である。上記の例では、あのそのPOC MSBは、アップスイッチング後の第2のレイヤの最初のピクチャについて、256だけ増加される(すなわち、POC MSBは256であり、POC LSBは44である)。したがって、アップスイッチング後の第2のレイヤの最初のピクチャのためのPOC値は、POC MSB値の次のサイクルにおけるものであり得る。たとえば、上記の例では、300は、256個の可能なPOC LSB値を超えるので、アップスイッチング後の第2のレイヤの最初のピクチャのためのPOC MSB値は、POC MSB値の新しいサイクルに関連付けられることになる。この例では、ビデオコーダが、POC MSB値の前のサイクル中に含まれるPOC MSB値を参照しなければならないので、ダウンスイッチングより前の第2のレイヤの最後のピクチャからのPOC MSB値は、アップスイッチング後の第2のレイヤの最初のピクチャのPOC MSB値を決定するためには、古いものにされている(has been rendered obsolete)。すなわち、ビデオコーダは、アップスイッチング後の第2のレイヤの最初のピクチャのPOC MSB値を導出するために、ダウンスイッチングより前の第2のレイヤの最後のピクチャを使用することができないことがある。このPOC MSB値参照問題は、ダウンスイッチングより前の第2のレイヤの最後のピクチャと、アップスイッチング後の第2のレイヤの最初のピクチャとの間の距離が、ダウンスイッチングとアップスイッチングとの間の256ピクチャサイクル長の半分よりも大きいときはいつでも生じ得る。
[0042]本開示のいくつかの技法は、上記で説明された問題を克服し得る。たとえば、本開示の態様によれば、ビデオデコーダは、復号されているピクチャのピクチャタイプを決定することと、ピクチャタイプ(すなわち、決定されたピクチャタイプ)に基づいて、復号されているピクチャのためのPOC MSB値を示すデータを復号することと、を行うように構成され得る。たとえば、概して、そのためのPOC MSB値がコーディングされるピクチャタイプのセットと、そのためのPOC MSB値がコーディングされないピクチャタイプの別のセットとがあり得る。ビデオコーダは、ピクチャのためのピクチャタイプが、そのためのPOC MSB値がコーディングされるピクチャタイプのセット中に含まれるときのみ、そのピクチャのためのPOC MSB値をコーディングし得る。このようにして、ビデオコーダは、マルチレイヤビットストリーム中の別のピクチャのPOC MSBを参照することなく、POC MSB値を示すデータを使用して、コーディングされているピクチャのためのPOC MSB値を決定し得る。このようにしてPOC MSBを決定することは、(たとえば、マルチレイヤビットストリームのレイヤによるアップスイッチングまたはダウンスイッチングとともに発生し得るように)比較的多数のPOC値が、コーディング順序において復号されているピクチャに先行するピクチャから、復号されているピクチャを分離する場合に、エラーレジリエンスを改善し得る。
[0043]上記で説明された例に本技法を適用すると、ビデオコーダは、第2のレイヤにアップスイッチングした後に第2のレイヤにおいて復号されている最初のピクチャが、CRAピクチャタイプであると決定し得る。この例では、ビデオデコーダは、ピクチャタイプがCRAであるという決定に基づいて、アップスイッチング後の第2のレイヤの最初のピクチャのためのPOC MSB値を示すデータを復号し得る。このようにして、ビデオデコーダは、ダウンスイッチングより前に復号された第2のレイヤの最後のピクチャのPOC MSBを参照する必要がない。上記の例は、CRAピクチャタイプに関して説明されているが、本技法はまた、リンク切断アクセス(BLA:broken link access)ピクチャタイプまたは他のピクチャタイプなど、他のピクチャタイプとともに実装され得る。
[0044]図1は、本開示の技法による、POC値を管理するための技法を利用し得る、例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを与えるソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14はワイヤレス通信に対応し(be equipped)得る。
[0045]宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が符号化されたビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。
[0046]いくつかの例では、符号化されたデータは、出力インターフェース22から記憶デバイスへ出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれをも含み得る。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、ウェブサーバ(たとえば、ウェブサイト用の)、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通して符号化されたビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または、ファイルサーバ上に記憶された符号化されたビデオデータにアクセスするために好適である、両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0047]本開示の技法は、ワイヤレス応用またはワイヤレス設定に必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の応用など、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話などの応用をサポートするために、一方向または両方向のビデオ送信をサポートするように構成され得る。
[0048]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、本開示の技法に従って、POC値情報をコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部のビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースをとり得る。
[0049]図1の示されるシステム10は一例にすぎない。本開示の技法による、POC値を管理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるが、これらの技法は、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0050]ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを包含するビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成ビデオの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き電話またはビデオ付き電話を形成し得る。しかしながら、上述されたように、本開示で説明される技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤードの応用に適用され得る。各場合において、キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0051]コンピュータ可読媒体16は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−rayディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、宛先デバイス14に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化されたビデオデータを受信し、その符号化されたビデオデータを包含しているディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0052]宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちのいずれかを備え得る。
[0053]ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法がソフトウェアに部分的に実装されるとき、デバイスは、ソフトウェアに対する命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するための1つまたは複数のプロセッサを使用してハードウェアにおいてそれらの命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれ得、そのいずれも、それぞれのデバイスにおいて、複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0054]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、オーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能であれば、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに適合し得る。
[0055]本開示は全般に、ビデオエンコーダ20が、ある情報をビデオデコーダ30のような別のデバイスに「シグナリング」することに言及することがある。ただし、ビデオエンコーダ20は、いくつかのシンタックス要素をビデオデータの様々な符号化された部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ20は、ビデオデータの様々な符号化された部分のヘッダに、いくつかのシンタックス要素を記憶することによって、データを「シグナリング」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ30によって受信および復号されるより前に、符号化および記憶され得る。したがって、「シグナリング」という用語は、そのような通信がリアルタイムもしくはほぼリアルタイムで行われるか、または、符号化時にシンタックス要素を媒体に記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号デバイスによって取り出され得るときなどに行われ得る、ある期間にわたって行われるかにかかわらず、概して、圧縮ビデオデータを復号するためのシンタックスまたは他のデータの通信を指し得る。
[0056]ビデオエンコーダ20およびビデオデコーダ30は、ビデオコーディング規格に従って動作し得る。例示的なビデオコーディング規格は、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と、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264とを含む。最近、新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)の設計が、ITU−T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT−VC)によって確定された。以下でHEVC WDと呼ばれる、最新のHEVCドラフト仕様が、http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O1003−v1.zipから入手可能である。HEVCに対するマルチビュー拡張、すなわちMV−HEVCも、JCT−3Vによって開発されている。以下でMV−HEVC WD6と呼ばれる、MV−HEVCの最近のワーキングドラフト(WD)が、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V−F1004−v6.zipから入手可能である。SHVCと称するHEVCに対するスケーラブル拡張も、JCT−VCによって開発されている。以下でSHVC WD4と呼ばれる、SHVCの最近のワーキングドラフト(WD)は、http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O1008−v1.zipから入手可能である。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、MPEG−2およびITU−T H.263が含まれる。
[0057]HEVCの規格化の取組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえばITU−T H.264/AVCに従う既存のデバイスに対して、ビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は、9つのイントラ予測符号化モードを提供するが、HMは、33ものイントラ予測符号化モードを提供し得る。
[0058]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含むツリーブロックまたは最大コーディングユニット(LCU)のシーケンスに分割され得ることを記載している。ビットストリーム内のシンタックスデータは、LCUにとってのサイズを定義し得、LCUは、ピクセルの個数に関して最大のコーディングユニットである。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)にスプリットされ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUにスプリットされる場合、CUに対応するノードは、4つのリーフノードを含み、その各々は、サブCUの1つに対応する。
[0059]4分木データ構造の各ノードは、対応するCUにシンタックスデータを与え得る。たとえば、4分木内のノードは、そのノードに対応するCUがサブCUにスプリットされるか否かを示すスプリットフラグを含み得る。CUのシンタックス要素は、繰り返して(recursively)定義され得、CUがサブCUにスプリットされるか否かに依存し得る。CUがさらにスプリットされない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的スプリットが存在しない場合でも、リーフCUの4つのサブCUはリーフCUとも呼ばれることになる。たとえば、16×16サイズのCUがさらにスプリットされない場合、この16×16CUが決してスプリットされなくても、4つの8×8サブCUはリーフCUとも呼ばれることになる。
[0060]CUは、CUがサイズの特異性(distinction)を有しないことを別にすれば、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、(サブCUとも呼ばれる)4つの子ノードにスプリットされ得、各子ノードは、今度は親ノードとなり、別の4つの子ノードにスプリットされ得る。4分木のリーフノードと呼ばれる、最後のスプリットされていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深度と呼ばれる、ツリーブロックがスプリットされ得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームはまた、最小コーディングユニット(SCU)を定義し得る。本開示は、「ブロック」という用語を、HEVCのコンテキストにおいて、CU、PU、もしくはTUのうちのいずれか、または他の規格のコンテキストにおいて、同様のデータ構造(たとえば、H.264/AVCのマクロブロックおよびそのサブブロック)を指すために使用する。
[0061]CUは、コーディングノードと、コーディングノードに関連付けられた予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64ピクセル以上をもつツリーブロックのサイズにまでわたり得る。各CUは、1つまたは複数のPUと1つまたは複数のTUとを包含し得る。CUに関連付けられたシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を記述し得る。区分モードは、CUがスキップモード符号化もしくは直接モード符号化されるのか、イントラ予測モード符号化されるのか、またはインター予測モード符号化されるのかの間で異なり得る。PUは、形状が非正方形に区分され得る。CUに関連付けられたシンタックスデータはまた、たとえば、4分木に従う1つまたは複数のTUへのCUの区分を記述し得る。TUは、形状が正方形または非正方形(たとえば、長方形)であってよい。
[0062]HEVC規格は、CUごとに異なり得る、TUに従う変換を可能にする。TUは、一般に、区分されたLCUのために定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。TUは、一般に、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは、変換ユニット(TU)と呼ばれることがある。TUに関連付けられたピクセル差分値は、変換係数を生成するために変換され得、変換係数は量子化され得る。
[0063]リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUのすべてまたは一部分に対応する空間的エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUに関するデータは、残差4分木(RQT)に含まれ得、残差4分木は、PUに対応するTUに関するイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
[0064]インター予測PU(より詳細には、PUが対応するCUのインター予測部分)のための動き情報は、参照ピクチャリスト識別子と、参照ピクチャリスト中の参照ピクチャの位置に対応する参照インデックスとを含み得る。ビデオエンコーダ20は、たとえば、(元の構築された参照ピクチャリストに対して行われたいかなる修正をも含む)参照ピクチャリストを構築し、(たとえば、絶対差分和(SAD)メトリクス、または同様のメトリクスに基づいて)参照ブロックとも呼ばれる、厳密に一致するブロックを識別するために、参照ピクチャリスト中の参照ピクチャの中で動き探索を実行し得る。参照ブロックのロケーションをシグナリングするために、ビデオエンコーダ20は、PUのための参照ピクチャリスト識別子と参照インデックスとを符号化し得る。さらに、ビデオエンコーダ20は、たとえば、スライスヘッダ中、および/または、PPSもしくはSPSなどのパラメータセット中で、参照ピクチャのためのPOC値を表すデータをシグナリングすることによって、参照ピクチャリスト中に含まれるべき参照ピクチャを表すデータを符号化し得る。
[0065]1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明されたように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、スプリットフラグは、リーフCUが4つの変換ユニットにスプリットされるか否かを示し得る。次いで、各変換ユニットは、さらなるサブTUにさらにスプリットされ得る。TUがこれ以上スプリットされないとき、そのTUはリーフTUと呼ばれることがある。一般に、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、一般に、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの一部分と元のブロックとの間の差分として計算し得る。TUは、必ずしも、PUのサイズに限定されるとは限らない。したがって、TUは、PUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUの対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0066]その上、リーフCUのTUは、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造にも関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは一般に、リーフCUに対応し、一方、CU4分木のルートノードは一般に、ツリーブロック(またはLCU)に対応する。スプリットされないRQTのTUは、リーフTUと呼ばれる。一般に、本開示は、別段の注記がない限り、CUおよびTUという用語を、それぞれ、リーフCUおよびリーフTUを指すために使用する。
[0067]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、一般に、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャの1つもしくは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定のサイズまたは可変のサイズを有してよく、指定されたコーディング規格に従ってサイズが異なり得る。
[0068]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測と、2N×2N、2N×N、N×2N、またはN×Nの対称PUサイズでのインター予測とをサポートする。HMは、また、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための、非対称区分をサポートする。非対称区分では、CUの一方の方向は区分されず、一方、他方の方向は、25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部で2N×0.5N PU、および下部で2N×1.5N PUに水平に区分される2N×2N CUを指す。
[0069]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法の観点からビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)、および水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、概して、垂直方向にNピクセル、および水平方向にNピクセルを有し、ここで、Nは非負整数値を表す。ブロック中のピクセルは、行および列に配置され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備え得、ここで、Mは必ずしもNに等しいとは限らない。
[0070]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、空間的領域(ピクセル領域とも呼ばれる)において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換し得る。
[0071]変換係数を生成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために、変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深度を低減し得る。たとえば、nビット値は、量子化中にmビット値に切り捨てられ得、ここで、nはmよりも大きい。
[0072]量子化に続いて、ビデオエンコーダは、変換係数を走査し、量子化された変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー(したがって、より低い周波数)係数を配置し、アレイの後部により低いエネルギー(したがって、より高い周波数)係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化された変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は、適応走査を実行し得る。1次元ベクトルを形成するために、量子化された変換係数を走査した後、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30によって使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
[0073]CABACを実行するために、ビデオエンコーダ20は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非ゼロであるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルの可変長コードを選択し得る。VLC中のコードワードは、比較的短いコードが優勢シンボル(more probable symbols)に対応し、一方、より長いコードが劣勢シンボル(less probable symbols)に対応するように、構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのための等長コードワードを使用することに勝るビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0074]ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中で、ビデオデコーダ30へ送り得る。GOPシンタックスデータは、それぞれのGOP中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化/予測モードを示し得る。
[0075]コード化されたビデオセグメントは、ビデオ電話、記憶、ブロードキャスト、またはストリーミングなどのアプリケーションに対処する「ネットワークフレンドリ」なビデオ表現を提供する、NALユニットに編成され得る。NALユニットは、ビデオコーディングレイヤ(VCL)NALユニットおよび非VCL NALユニットとしてカテゴリー分類され得る。VCLユニットは、コア圧縮エンジンからの出力を包含し得、ブロック、マクロブロック、および/またはスライスレベルのデータを含み得る。他のNALユニットは、非VCL NALユニットであり得る。いくつかの例では、通常は1次コード化ピクチャとして提示される、1つの時間インスタンス中のコード化されたピクチャは、1つまたは複数のNALユニットを含み得るアクセスユニット中に包含され得る。
[0076]上述されたように、ビデオエンコーダ20およびビデオデコーダ30は、一般に、MV−HEVCまたはSHVCなど、ビデオコーディング規格またはビデオコーディング規格の拡張に従って動作するように構成され得る。したがって、例として、本開示の技法は、MV−HEVCに関して以下で説明されるが、これらの技法は、SHVCなど、他のビデオコーディング規格または拡張に適用され得ることを理解されたい。
[0077]HEVCでは、NALユニットタイプによって識別され得るいくつかの異なるピクチャタイプがある。1つのピクチャタイプは、概して、IDRピクチャ、クリーンランダムアクセス(CRA)ピクチャ、時間的レイヤアクセス(TLA)ピクチャ、リンク切断アクセス(BLA)ピクチャ、STSA(ステップワイズ時間的サブレイヤアクセス)ピクチャ、リーディングピクチャ(すなわち、後述されるRASLピクチャおよびRADLピクチャ)、またはいくつかの他の異なるピクチャタイプを含み得る、ランダムアクセスピクチャタイプである。
[0078]CRAピクチャシンタックスは、オープンGOP動作として知られる効率的な時間的コーディング順序をサポートする、ランダムアクセスポイント(RAP)のロケーション、すなわち、デコーダがビットストリーム中でより早く現れたいかなるピクチャを復号する必要もなしに、ピクチャを正常に復号することを開始することができるビットストリーム中のロケーションにおける、独立してコード化されたピクチャの使用を指定する。ランダムアクセスのためのサポートは、チャネルスイッチングと、シーク動作と、動的ストリーミングサービスとを可能にするために必要とされ得る。復号順序においてCRAピクチャに後続し、表示順序においてCRAピクチャに先行する、いくつかのピクチャは、デコーダにおいて利用可能ではないピクチャへのインターピクチャ予測参照を包含し得る。したがって、これらの復号不可能なピクチャは、CRAポイントにおいてその復号プロセスを開始するデコーダによって破棄される。このために、そのような復号不可能なピクチャは、ランダムアクセススキップリーディング(RASL:random access skipped leading)ピクチャとして識別される。異なる元のコード化されたビットストリームからのスプライスポイント(splice points)のロケーションは、リンク切断アクセス(BLA)ピクチャによって示され得る。ビットストリームスプライシング動作は、単に、あるビットストリーム中のCRAピクチャのNALユニットタイプを、BLAピクチャを示す値に変更することと、他のビットストリーム中のRAPピクチャの位置において新しいビットストリームを連結することとによって実行され得る。
[0079]ビデオエンコーダ20およびビデオデコーダ30は、ビデオシーケンスの各ピクチャに、ピクチャの識別のためのPOC値を割り当て得る。ビデオエンコーダ20は、たとえば、スライスヘッダ中、および/または、PPSもしくはSPSなどのパラメータセット中で、参照ピクチャのためのPOC値を表すデータをシグナリングすることによって、参照ピクチャリスト中に含まれるべき参照ピクチャを表すデータを符号化し得る(および、ビデオデコーダ30は復号し得る)。特定のコード化されたピクチャのための、シンタックス要素PicOrderCntValによって表されるPOC値は、同じコード化されたビデオシーケンス中の他のピクチャに対する、ピクチャ出力プロセスにおけるピクチャの相対的順序を示す。
[0080]POC値は、LSBとMSBとを含む。POCは、MSBとLSBとを連結または加算することによって取得され得る。LSBは、スライスヘッダ中でシグナリングされ得、MSBは、現在のピクチャのNALユニットタイプと、NALユニットタイプランダムアクセススキップリーディング(RASL:random access skipped leading)もしくはランダムアクセス復号可能リーディング(RADL:random access decodable leading)のものではないか、またはサブレイヤ非参照ピクチャではなく、0に等しいtemporal_id値を有する、復号順序における前のピクチャのMSBおよびLSBとに基づいて、ビデオデコーダ30によって計算され得る。0に等しいTemporalIdと、現在のピクチャのnuh_layer_idに等しいnuh_layer_idとを有し、RASLピクチャ、RADLピクチャ、またはサブレイヤ非参照ピクチャではない、そのようなピクチャは、POCアンカーピクチャと呼ばれる。
[0081]現在のピクチャが、1に等しいNoRaslOutputFlagを有するイントラランダムアクセスポイント(IRAP)ピクチャであるか、またはビットストリームの最初のピクチャであるCRAピクチャであるとき、POC MSBの値は0に等しいと推論される(すなわち、コーダによって決定される)。マルチレイヤビットストリーム(たとえば、2つ以上のレイヤを有するSHVCまたはMV−HEVCビットストリーム)では、1つまたは2つ以上のピクチャがIRAPピクチャであるとともに1つまたは複数のピクチャが非IRAPピクチャであるアクセスユニットが存在し得る。そのようなAUは、非整合IRAP AUと呼ばれることがある。非整合IRAP AUを包含するビットストリームを復号するとき、シグナリングされたPOC LSB値に基づいてピクチャについて導出されたPOCが、アクセスユニット中のすべてのピクチャ(たとえば、各レイヤのピクチャ)がPicOrderCntValの同じ値を有するべきであるというビットストリーム要件に違反するようになることがあり得る。
[0082]したがって、場合によっては、POC値は、特定のアクセスユニット中のピクチャのPOC整合を維持するために、そのアクセスユニットのすべてのピクチャについてリセットされ得る。MV−HEVC WD5では、非整合IRAP AUがビットストリーム中に存在するときでも、AU中のすべてのピクチャのPOCが同じであるように現在のピクチャおよびDPB内のピクチャのPicOrderCntValの値が調整されるように、フラグpoc_reset_flagシンタックス要素が、ピクチャのPOCをリセットするために使用され得る。
[0083]2014年4月4日に出願された、Chen他の「CROSS−LAYER POC ALIGNMENT FOR MULTI−LAYER BITSTREAMS THAT MAY INCLUDE NON−ALIGNED IRAP PICTURES」という米国特許出願第14/245,115号は、2つのフラグであるpoc_msb_reset_flagとpoc_lsb_reset_flagとを使用する、POCリセットを達成する別の方法について説明している。前者のフラグは、PicOrderCntValのMSBをリセットし、後者のフラグは、PicOrderCntValのLSBをリセットする。これらのフラグの両方が、スライスヘッダ中でシグナリングされる。
[0084]2013年10月14日に出願された米国仮第61/890,868号は、POC MSBまたはPOCリセット指示のいずれかを包含するピクチャが失われるときの、正確なPOC値の回復のための情報を包含する、SEIメッセージを提案している。
[0085]Hannuksela他、「MV−HEVC/SHVC HLS:on POC value derivation」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコーディング共同研究部会(JCT−VC)、第15回会合:ジュネーブ、スイス、2013年10月23日〜11月1日、JCTVC−O0275v3(http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O0275−v3.zipにおいて入手可能)と、Sjoberg他、「HLS:Error robust POC alignment」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコーディング共同研究部会(JCT−VC)、第15回会合:ジュネーブ、スイス、2013年10月23日〜11月1日、JCTVC−O0176v3(http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O0176−v3.zipにおいて入手可能)とは、マルチレイヤビデオコーディングにおけるPOC値をシグナリングおよび導出するための他の方法を提案している。
[0086]2014年11月24日に出願された米国出願第14/552,129号は、2つのフラグ(すなわち、poc_msb_reset_flagおよびpoc_lsb_reset_flag)を2ビットPOCリセットインジケータに置き換えることを提案し、POCリセット期間の概念を導入しており、ここにおいて、各POCリセット期間は、2つの連続するPOCリセット期間について異なることが必要とされるPOCリセット期間識別子によって識別される。そのような概念によって、POCリセットが実行されるアクセスユニット中の1つまたは複数のピクチャの損失の場合に、デコーダがPOCのクロスレイヤ整合を保つことが可能であるように、POCリセット機構のエラーレジリエンシーが改善される。
[0087]ビデオエンコーダ20は、スライスをそれぞれのPOCリセット期間に割り当て得る。各POCリセット期間は、1つまたは複数のスライスを含み得る。したがって、POC値がPOCリセット期間の間にリセットされる(コーディング順序においてPOCリセット期間に先行する参照ピクチャのPOC値をリセットすることを含む)とき、ビデオエンコーダ20は、リセットされたPOC値に基づいて、参照ピクチャリスト中に含まれるべき参照ピクチャのPOC値をシグナリングし得る。
[0088]ビデオエンコーダ20およびビデオデコーダ30は、POC値を使用して、DPBに記憶されたピクチャのピクチャ出力とバンピング(bumping)とを実行し得る。ピクチャ出力およびバンピングプロセスは、DPBから「出力のために必要とされる」および「参照のために使用されない」とマークされているピクチャを出力するためのプロセスである。Ramasubramonian他、「MV−HEVC/SHVC HLS:Sub−DPB based DPB operations」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコーディング共同研究部会(JCT−VC)、第15回会合:ジュネーブ、スイス、2013年10月23日〜11月1日、JCTVC−O0217(http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O0217−v1.zipにおいて入手可能)の採用後、HEVC拡張のためのDPBのピクチャを出力およびバンピングするための概念は、次のことを組み込むように更新されている。
・レイヤごとの別個のDPB容量、いわゆるサブDPBを指定する
・レイヤにわたるサブDPB容量の共有はない
・各レイヤは、それ自体のパラメータ(最大ピクチャ、最大レイテンシ、最大並べ替え)を有する
・「出力レイヤセット」ごとの異なるパラメータ
・動作点の定義を、「レイヤセット」ではなく、出力レイヤセットに固有であるように変更する
変更後、ピクチャ出力およびバンピングプロセスは、次のように動作し、すなわち、デコーダ適合のために、ピクチャ出力プロセスは、(1)ピクチャの復号前であるが、ピクチャの最初のスライスのスライスヘッダをパースした後と、(2)ピクチャの最後の復号ユニットがコード化ピクチャバッファから除去されるときとを含めて、ピクチャごとに2回呼び出される。バンピングプロセスが呼び出されるとき、このプロセスは、選択されたアクセスユニットに属するすべてのピクチャを出力する。言い換えれば、バンピングプロセスは、それらのレイヤ識別にかかわらず、同じアクセスユニットに属するすべてのピクチャを出力するので、レイヤ固有のプロセスではない。
[0089]ピクチャ出力プロセスは、ピクチャが「出力のために必要とされない」および「参照のために必要とされない」とマークされているとき、復号ピクチャバッファのための記憶バッファを空にするためのプロセスである。ピクチャ出力プロセスは、特定のレイヤのために呼び出されるピクチャの除去が、他のレイヤからピクチャを除去しないものとするので、レイヤ固有に動作する。
[0090]ピクチャ出力、バンピングおよび除去を含む、DPBのための出力順序の例示的な動作は、JCTVC−O0217における追加と、MV−HEVC WD6への、Ramasubramonian他、「MV−HEVC/SHVC HLS:On flushing of decoded pictures from DPB based on NoOutputOfPriorPicsFlag」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコーディング共同研究部会(JCT−VC)、第15回会合:ジュネーブ、スイス、2013年10月23日〜11月1日、O0266(http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O0266−v1.zipにおいて入手可能)の追加とを含めた後、次のようになる。
C.5.2 出力順序DPBの動作
C.5.2.1 一般
復号ピクチャバッファはサブDPBからなり、各サブDPBは、1つのレイヤのみの復号されたピクチャの記憶のためのピクチャ記憶バッファを包含する。サブDPBのピクチャ記憶バッファの各々は、「参照のために使用される」とマークされているか、または将来の出力のために保持されている、復号されたピクチャを包含する。
DPBからのピクチャの出力および除去のためのプロセスと、ピクチャ復号、マーキング、追加のバンピング、および記憶のためのプロセスと、「バンピング」プロセスとが、以下で指定される。これらのプロセスは、ベースレイヤから開始して、ビットストリーム中のレイヤのnuh_layer_id値の昇順に、レイヤごとに独立して適用される。これらのプロセスが特定のレイヤに対して適用されるとき、ピクチャをクロップおよび出力し、ピクチャに「出力のために必要とされない」とマークし、いかなるレイヤのためのピクチャ記憶バッファをも空にし得る「バンピング」プロセスを除いて、特定のレイヤのためのサブDPBのみが影響を受ける。
ピクチャnおよび現在のピクチャを、nuh_layer_idの特定の値のためのアクセスユニットnのコード化されたピクチャまたは復号されたピクチャとし、ここにおいて、nは非負整数である。
これらのプロセスが、currLayerIdに等しいnuh_layer_idを有するレイヤに対して適用されるとき、変数MaxNumReorderPics、MaxLatencyIncreasePlus1、MaxLatencyPictures、およびMaxDecPicBufferingMinus1は、次のように導出される。
− Annex GまたはHにおいて指定されているプロファイルのうちの1つまたは複数に適合するCVSが、節2〜10、Annex F、およびAnnex GまたはHにおいて指定されている復号プロセスを適用することによって復号される場合、次のことが適用される。
− MaxNumReorderPicsは、アクティブなVPSのmax_vps_num_reorder_pics[TargetOptLayerSetIdx][HighestTid]に等しく設定される。
− MaxLatencyIncreasePlus1は、アクティブなVPSのシンタックス要素max_vps_latency_increase_plus1[TargetOptLayerSetIdx][HighestTid]の値に等しく設定される。
− MaxLatencyPicturesは、アクティブなVPSのVpsMaxLatencyPictures[TargetOptLayerSetIdx][HighestTid]に等しく設定される。
− MaxDecPicBufferingMinus1は、アクティブなVPSのシンタックス要素max_vps_dec_pic_buffering_minus1[TargetOptLayerSetIdx][currLayerId][HighestTid]の値に等しく設定される。
− そうでない(Annex Aにおいて指定されているプロファイルのうちの1つまたは複数に適合するCVSが、節2〜10において指定されている復号プロセスを適用することによって復号される)場合、次のことが適用される。
− MaxNumReorderPicsは、ベースレイヤのためのアクティブなSPSのsps_max_num_reorder_pics[HighestTid]に等しく設定される。
− MaxLatencyIncreasePlus1は、ベースレイヤのためのアクティブなSPSのsps_max_latency_increase_plus1[HighestTid]に等しく設定される。
− MaxLatencyPicturesは、ベースレイヤのためのアクティブなSPSのSpsMaxLatencyPictures[HighestTid]に等しく設定される。
− MaxDecPicBufferingMinus1は、ベースレイヤのためのアクティブなSPSのsps_max_dec_pic_buffering_minus1[HighestTid]に等しく設定される。
C.5.2.2 DPBからのピクチャの出力および除去
現在のピクチャが現在のレイヤにおけるピクチャ0ではない(すなわち、現在のピクチャが0のPOC値を有していない)とき、現在のピクチャ、すなわち、ピクチャnの復号前であるが、現在のピクチャの最初のスライスのスライスヘッダをパースした後の、DPBからの現在のレイヤにおけるピクチャの出力および除去は、現在のピクチャの最初の復号ユニットがCPBから除去されるときに瞬時に起こり、次のように進む。
− 従属節8.3.2において指定されているようなRPSのための復号プロセスが呼び出される。
− 現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであるか、または現在のアクセスユニット中のベースレイヤピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであり、NoClrasOutputFlagが1に等しい場合、次の順序付けられたステップが適用される。
1.変数NoOutputOfPriorPicsFlagは、次のようにテスト中のデコーダのために導出される。
− 現在のピクチャが、1に等しいNoRaslOutputFlagを有するCRAピクチャである場合、NoOutputOfPriorPicsFlagは、1に等しく設定される(no_output_of_prior_pics_flagの値にかかわらず)。
− そうでない場合、現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであり、現在のレイヤのためのアクティブなSPSから導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、またはsps_max_dec_pic_buffering_minus1[HighestTid]の値が、現在のレイヤにおいて先行するピクチャを復号するときに現在のレイヤについてアクティブであったSPSからそれぞれ導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、またはsps_max_dec_pic_buffering_minus1[HighestTid]の値と異なる場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagの値にかかわらず、テスト中のデコーダによって1に設定され得る(が、設定されるべきでない)。
注− これらの条件下では、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagに等しく設定することが好ましいが、テスト中のデコーダは、この場合にはNoOutputOfPriorPicsFlagを1に設定することが可能にされる。
− そうでない場合、現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャである場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagに等しく設定される。
− そうでない(現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャではなく、現在のアクセスユニット中のベースレイヤピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであり、NoClrasOutputFlagが1に等しい)場合、NoOutputOfPriorPicsFlagは1に等しく設定される。
2.テスト中のデコーダのために導出されたNoOutputOfPriorPicsFlagの値は、次のようにHRDに対して適用される。
− NoOutputOfPriorPicsFlagが1に等しい場合、サブDPB内のすべてのピクチャ記憶バッファは、それらが包含しているピクチャを出力せずに空にされ、サブDPBフルネス(sub-DPB fullness)は0に等しく設定される。
− そうでない(NoOutputOfPriorPicsFlagが0に等しい)場合、「出力のために必要とされない」および「参照のために使用されない」とマークされているピクチャを包含するすべてのピクチャ記憶バッファは(出力せずに)空にされ、サブDPB内のすべての空でないピクチャ記憶バッファは、従属節C.5.2.4において指定されている「バンピング」プロセスを繰り返し呼び出すことによって空にされ、サブDPBフルネスは0に等しく設定される。
− そうでない場合、現在のレイヤにおけるピクチャを包含しており、「出力のために必要とされない」および「参照のために使用されない」とマークされている、すべてのピクチャ記憶バッファは(ピクチャが出力されることなく)空にされる。空にされる各ピクチャ記憶バッファに対して、サブDPBフルネスは1だけデクリメントされる。次の条件のうちの1つまたは複数が真であるとき、空にされる各追加のピクチャ記憶バッファに対してサブDPBフルネスを1だけさらにデクリメントしながら、次の条件のいずれも真でなくなるまで、従属節C.5.2.4において指定されている「バンピング」プロセスが繰り返し呼び出される。
− 「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含するアクセスユニットの数は、MaxNumReorderPicsよりも大きい。
− MaxLatencyIncreasePlus1は0に等しくなく、それについて関連付けられた変数PicLatencyCountがMaxLatencyPictures以上である、「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含する、少なくとも1つのアクセスユニットがある。
− サブDPB内の現在のレイヤにおけるピクチャの数は、MaxDecPicBufferingMinus1+1以上である。
C.5.2.3 ピクチャ復号、マーキング、追加のバンピング、および記憶
この従属節において指定されているプロセスは、ピクチャnの最後の復号ユニットがCPBから除去されるときに瞬時に起こる。
PicOutputFlagは次のように更新される。
− 現在のアクセスユニットが、ターゲット出力レイヤにおいてピクチャを包含しておらず、alt_output_layer_flagが1に等しい場合、次の順序付けられたステップが適用される。
−リストnonOutputLayerPicturesは、1に等しいPicOutputFlagを有し、ならびに、TargetDecLayerIdList中に含まれており、ターゲット出力レイヤ上にないnuh_layer_id値を有する、アクセスユニットのピクチャのリストである。
−リストnonOutputLayerPicturesの中で最高のnuh_layer_id値を有するピクチャは、リストnonOutputLayerPicturesから除去される。
−リストnonOutputLayerPictures中に含まれる各ピクチャのためのPicOutputFlagは、0に等しく設定される。
− そうでない場合、ターゲット出力レイヤ中に含まれないピクチャのためのPicOutputFlagは、0に等しく設定される。
現在のピクチャが、1に等しいPicOutputFlagを有するとき、「出力のために必要とされる」とマークされており、出力順序において現在のピクチャに後続する、サブDPB内の現在のレイヤにおける各ピクチャについて、関連付けられた変数PicLatencyCountは、PicLatencyCount+1に等しく設定される。
現在のピクチャは、ピクチャの最後の復号ユニットが復号された後に復号されると見なされる。現在の復号されたピクチャは、サブDPB内の空のピクチャ記憶バッファ内に記憶され、次のことが適用される。
− 現在の復号されたピクチャが、1に等しいPicOutputFlagを有する場合、それは「出力のために必要とされる」とマークされ、その関連付けられた変数PicLatencyCountは、0に等しく設定される。
− そうでない(現在の復号されたピクチャが、0に等しいPicOutputFlagを有する)場合、それは「出力のために必要とされない」とマークされる。
現在の復号されたピクチャは、「短期参照のために使用される」とマークされる。
次の条件のうちの1つまたは複数が真であるとき、従属節C.5.2.4において指定されている「バンピング」プロセスが、次の条件のいずれも真でなくなるまで繰り返し呼び出される。
− 「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含するアクセスユニットの数は、MaxNumReorderPicsよりも大きい。
− MaxLatencyIncreasePlus1は0に等しくなく、それについて関連付けられた変数PicLatencyCountがMaxLatencyPictures以上である、「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含する、少なくとも1つのアクセスユニットがある。
C.5.2.4 「バンピング」プロセス
「バンピング」プロセスは、次の順序付きステップからなる。
1.出力のための最初のものである1つまたは複数のピクチャが、「出力のために必要とされる」とマークされたDPB内のすべてのピクチャのうちのPicOrderCntValの最小値を有するピクチャとして選択される。
2.これらのピクチャの各々が、nuh_layer_idの昇順で、ピクチャのためのアクティブSPS中で指定された適合クロッピングウィンドウを使用してクロップされ、クロップされたピクチャが出力され、そのピクチャが「出力のために必要とされない」とマークされる。
3.「参照のために使用されない」とマークされ、クロップおよび出力されたピクチャのうちの1つであったピクチャを包含する、各ピクチャ記憶バッファが空にされる。
[0091]本開示の技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、POC値リセットを実行するより前に、DPBからピクチャを出力し得る。たとえば、本開示の態様によれば、特定のアクセスユニットのためのPOC値リセットを実行するより前に、ビデオエンコーダ20およびビデオデコーダ30は、DPBに記憶されたすべてのピクチャを出力するように構成され得る。ビデオエンコーダ20およびビデオデコーダ30は、そのためのPOC値リセットが実行されるアクセスユニットの初期ピクチャをコーディングするより前に、「出力のために必要とされる」とマークされている、DPBに記憶されたすべてのピクチャを出力し得る。たとえば、ビデオエンコーダ20は、スライスヘッダをコーディングした後であるが、スライスのペイロードを符号化し、POC値を導出し、参照ピクチャリストを構築するより前に、出力プロセスを実行し得る。同様に、ビデオデコーダ30は、スライスヘッダをコーディングした後であるが、スライスのペイロードを復号し、POC値の導出、および参照ピクチャを復号するより前に、出力プロセスを実行し得る。
[0092]説明のための一例では、現在コーディング(符号化または復号)されているピクチャは、POCリセットピクチャ(たとえば、POCリセット期間においてコーディング順序で現在のレイヤの最初のピクチャである、1もしくは2に等しいpoc_reset_idcシンタックス要素、または3に等しいpoc_reset_idcシンタックス要素を有するピクチャ、)であり得る。この例では、現在のピクチャがPOCリセットピクチャであることに基づいて、ビデオエンコーダ20およびビデオデコーダ30は、現在のアクセスユニット(たとえば、現在のピクチャを包含するアクセスユニット)に属するピクチャを除いて、まだ出力されていないDPB内のすべての既存のピクチャを出力し得る。
[0093]このようにして、本開示の態様によれば、ビデオエンコーダ20およびビデオデコーダ30は、POC値リセットを実行するとき、DPBに記憶されたピクチャのためのPOC値整合を維持するように構成され得る。すなわち、ビデオエンコーダ20およびビデオデコーダ30は、POC値リセットより前に、(アクセスユニットごとではなく)一緒にDPBのピクチャを出力するように構成され得る。POCリセットより前に、このようにしてDPBのすべてのピクチャを出力することは、(同じアクセスユニット中であり、同じPOC値を有する)同じ時間的インスタンスのピクチャが同じまたは実質的に同じ時間に出力されることを保証する助けになり得る。加えて、場合によっては、すべてのより早いピクチャ(たとえば、DPBに記憶され、コーディング順序において現在コーディングされているピクチャより前に発生するピクチャ)を出力することは、ビデオエンコーダ20およびビデオデコーダ30が、アクセスユニットごとのベースでピクチャを出力するために必要とされるよりも比較的小さいバッファサイズを有して構成され得ることである。
[0094]本開示の技法による、ピクチャ出力と、バンピングと、除去とを含む、DPBからピクチャを出力する例示的な動作が、以下に記載される。このプロセスは、たとえば、上述された文書JCTVC−O0217およびJCTVC−O0266によって修正されるようなMV−HEVCのプロセスに関して説明される。以下の例示的な説明、シンタックステーブルおよびセマンティクスでは、(文書JCTVC−O0217およびJCTVC−O0266によって修正されるような)MV−HEVCに対する追加が、ital<<イタリック体>>italを使用して表され(なお、本翻訳文中において、本願の英文明細書におけるイタリック体表記部分を、ital<<…>>italのように表記する)、削除が、「除去」が前に付いた括弧付きのテキスト(たとえば、[除去:“除去されたテキスト”])を使用して表される。概して、「要件」に関するステートメントは、規格または規格拡張のテキストの一部を形成するものであり、本開示の技法の目的のための要件を形成しないものと理解されたい。場合によっては、そのような「要件」は、適用可能であると決定され得、次いで、たとえば、その決定に基づいてビデオコーダによって遵守され(adhered to)得る、ビットストリーム制約を含み得る)。
C.5.2.2 DPBからのピクチャの出力および除去
現在のピクチャが現在のレイヤにおけるピクチャ0ではないとき、現在のピクチャ、すなわち、ピクチャnの復号前であるが、現在のピクチャの最初のスライスのスライスヘッダをパースした後の、ital<<およびピクチャ順序カウントのための復号プロセスの呼出し前の>>ital、DPBからの現在のレイヤにおけるピクチャの出力および除去は、現在のピクチャの最初の復号ユニットがCPBから除去されるときに瞬時に起こり、次のように進む。
− ital<<現在のピクチャのpoc_reset_idcが0よりも大きく、現在のアクセスユニットがPOCリセット期間における最初のアクセスユニットであるとき、現在のアクセスユニットに属しておらず、「出力のために必要とされる」とマークされている、DPB内のすべてのピクチャが、DPB内の現在のアクセスユニット中にあるものを除いて、すべてのピクチャのうちのPicOrderCntValの最小値を有するピクチャから開始して、PicOrderCntVal値の昇順で出力され、PicOrderCntValの同じ値を有するピクチャが、nuh_layer_id値の昇順で出力される。ピクチャが出力されるとき、ピクチャは、ピクチャのためのアクティブSPS中で指定された適合クロッピングウィンドウを使用してクロップされ、クロップされたピクチャが出力され、そのピクチャが「出力のために必要とされない」とマークされる>>ital。
− ital<<ピクチャ順序カウントおよび>>ital、RPSのための復号プロセスが呼び出される。ital<<節2〜10において指定されている復号プロセスを使用して、Annex Aにおいて指定されているプロファイルのうちの1つまたは複数に適合するCVSを復号するとき、呼び出されるピクチャ順序カウントおよびRPSのための復号プロセスは、それぞれ従属節8.3.1および8.3.2において指定されているものである。Annex F、およびAnnex GまたはHにおいて指定されている復号プロセスを使用して、Annex GまたはHにおいて指定されているプロファイルのうちの1つまたは複数に適合するCVSを復号するとき、呼び出されるピクチャ順序カウントおよびRPSのための復号プロセスは、それぞれ従属節、エラー!参照元が見つかりません。およびエラー!参照元が見つかりません。において指定されているものである>>ital。
− 現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであるか、または現在のアクセスユニット中のベースレイヤピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであり、NoClrasOutputFlagが1に等しい場合、次の順序付けられたステップが適用される。
1.変数NoOutputOfPriorPicsFlagは、次のようにテスト中のデコーダのために導出される。
− 現在のピクチャが、1に等しいNoRaslOutputFlagを有するCRAピクチャである場合、NoOutputOfPriorPicsFlagは、1に等しく設定される(no_output_of_prior_pics_flagの値にかかわらず)。
− そうでない場合、現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであり、現在のレイヤのためのアクティブなSPSから導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、またはsps_max_dec_pic_buffering_minus1[HighestTid]の値が、現在のレイヤにおいて先行するピクチャを復号するときに現在のレイヤについてアクティブであったSPSからそれぞれ導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、またはsps_max_dec_pic_buffering_minus1[HighestTid]の値と異なる場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagの値にかかわらず、テスト中のデコーダによって1に設定され得る(が、設定されるべきでない)。
注− これらの条件下では、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagに等しく設定することが好ましいが、テスト中のデコーダは、この場合にはNoOutputOfPriorPicsFlagを1に設定することが可能にされる。
− そうでない場合、現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャである場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagに等しく設定される。
− そうでない(現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャではなく、現在のアクセスユニット中のベースレイヤピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであり、NoClrasOutputFlagが1に等しい)場合、NoOutputOfPriorPicsFlagは1に等しく設定される。
2.テスト中のデコーダのために導出されたNoOutputOfPriorPicsFlagの値は、次のようにHRDに対して適用される。
− NoOutputOfPriorPicsFlagが1に等しい場合、サブDPB内のすべてのピクチャ記憶バッファは、それらが包含しているピクチャを出力せずに空にされ、サブDPBフルネスは0に等しく設定される。
− そうでない(NoOutputOfPriorPicsFlagが0に等しい)場合、「出力のために必要とされない」および「参照のために使用されない」とマークされているピクチャを包含するすべてのピクチャ記憶バッファは(出力せずに)空にされ、サブDPB内のすべての空でないピクチャ記憶バッファは、従属節C.5.2.4において指定されている「バンピング」プロセスを繰り返し呼び出すことによって空にされ、サブDPBフルネスは0に等しく設定される。
− そうでない場合、現在のレイヤにおけるピクチャを包含しており、「出力のために必要とされない」および「参照のために使用されない」とマークされている、すべてのピクチャ記憶バッファは(出力せずに)空にされる。空にされる各ピクチャ記憶バッファに対して、サブDPBフルネスは1だけデクリメントされる。次の条件のうちの1つまたは複数が真であるとき[削除:空にされる各追加のピクチャ記憶バッファに対してサブDPBフルネスを1だけさらにデクリメントしながら]、次の条件のいずれも真でなくなるまで、従属節C.5.2.4において指定されている「バンピング」プロセスが繰り返し呼び出される。
− 「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含するアクセスユニットの数は、MaxNumReorderPicsよりも大きい。
− MaxLatencyIncreasePlus1は0に等しくなく、それについて関連付けられた変数PicLatencyCountがMaxLatencyPictures以上である、「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含する、少なくとも1つのアクセスユニットがある。
− サブDPB内の現在のレイヤにおけるピクチャの数は、MaxDecPicBufferingMinus1+1以上である。
C.5.2.3 ピクチャ復号、マーキング、追加のバンピング、および記憶
この従属節において指定されているプロセスは、ピクチャnの最後の復号ユニットがCPBから除去されるときに瞬時に起こる。[Ed.(MH):バージョン1デコーダが、ベースレイヤピクチャのCPB除去時間よりも遅くなり得る、AUのCPB除去時間において、ベースレイヤピクチャにマークし、ベースレイヤピクチャを記憶することになるので、この変更はバージョン1に準拠しないことがある。]
PicOutputFlagは次のように更新される。
− 現在のアクセスユニットが、ターゲット出力レイヤにおいてピクチャを包含しておらず、alt_output_layer_flagが1に等しい場合、次の順序付けられたステップが適用される。
− リストnonOutputLayerPicturesは、1に等しいPicOutputFlagを有し、ならびに、TargetDecLayerIdList中に含まれており、ターゲット出力レイヤ上にないnuh_layer_id値を有する、アクセスユニットのピクチャのリストである。
− リストnonOutputLayerPicturesの中で最高のnuh_layer_id値を有するピクチャは、リストnonOutputLayerPicturesから除去される。
− リストnonOutputLayerPictures中に含まれる各ピクチャのためのPicOutputFlagは、0に等しく設定される。
− そうでない場合、ターゲット出力レイヤ中に含まれないピクチャのためのPicOutputFlagは、0に等しく設定される。
現在のピクチャが、1に等しいPicOutputFlagを有するとき、「出力のために必要とされる」とマークされており、出力順序において現在のピクチャに後続する、サブDPB内の現在のレイヤにおける各ピクチャについて、関連付けられた変数PicLatencyCountは、PicLatencyCount+1に等しく設定される。
現在のピクチャは、ピクチャの最後の復号ユニットが復号された後に復号されると見なされる。現在の復号されたピクチャは、サブDPB内の空のピクチャ記憶バッファ内に記憶され、次のことが適用される。
− 現在の復号されたピクチャが、1に等しいPicOutputFlagを有する場合、それは「出力のために必要とされる」とマークされ、その関連付けられた変数PicLatencyCountは、0に等しく設定される。
− そうでない(現在の復号されたピクチャが、0に等しいPicOutputFlagを有する)場合、それは「出力のために必要とされない」とマークされる。
現在の復号されたピクチャは、「短期参照のために使用される」とマークされる。
次の条件のうちの1つまたは複数が真であるとき、従属節C.5.2.4において指定されている「バンピング」プロセスが、次の条件のいずれも真でなくなるまで繰り返し呼び出される。
− 「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含するアクセスユニットの数は、MaxNumReorderPicsよりも大きい。
− MaxLatencyIncreasePlus1は0に等しくなく、それについて関連付けられた変数PicLatencyCountがMaxLatencyPictures以上である、「出力のために必要とされる」とマークされた、DPB内の少なくとも1つの復号されたピクチャを包含する、少なくとも1つのアクセスユニットがある。
C.5.2.4 「バンピング」プロセス
「バンピング」プロセスは以下の順序付きステップからなる。
1.出力のための最初のものである1つまたは複数のピクチャが、「出力のために必要とされる」とマークされたDPB内のすべてのピクチャのうちのPicOrderCntValの最小値を有するピクチャとして選択される。
2.これらのピクチャの各々が、nuh_layer_idの昇順で、ピクチャのためのアクティブSPS中で指定された適合クロッピングウィンドウを使用してクロップされ、クロップされたピクチャが出力され、そのピクチャが「出力のために必要とされない」とマークされる。
「参照のために使用されない」とマークされ、クロップおよび出力されたピクチャのうちの1つであったピクチャを包含する、各ピクチャ記憶バッファが空にされ、ital<<関連付けられたサブDPBのフルネスが1だけデクリメントされる>>ital。
[0095]したがって、上記の例では、および本開示の態様によれば、ビデオエンコーダ20およびビデオデコーダ30は、マルチレイヤビデオデータの第1の受信レイヤのピクチャのPOC値のためのPOCリセットを示すデータ(たとえば、ital<<poc_reset_idc>>italシンタックス要素)に基づいて、POC値リセットより前に、(アクセスユニットごとではなく)一緒にDPBのピクチャを出力するように構成され得る。POCリセットより前に、このようにしてDPBのすべてのピクチャを出力することは、(同じアクセスユニット中であり、同じPOC値を有する)同じ時間的インスタンスのピクチャが同じまたは実質的に同じ時間に出力されることを保証する助けになり得る。
[0096]上述されたように、レイヤ固有のPOCリセット期間は、スライスセグメントヘッダ中でシグナリングされたPOCリセット期間識別子に基づいて指定され得る。すなわち、ビデオエンコーダ20およびビデオデコーダ30は、スライスセグメントヘッダ中でPOCリセット期間識別子を表すデータをそれぞれコーディングし得る。少なくとも1つのIRAPピクチャを包含するアクセスユニットに属する各非IRAPピクチャは、非IRAPピクチャを包含するレイヤにおいてPOCリセット期間の開始であり得る。すなわち、ビデオエンコーダ20は、非IRAPピクチャが新しいPOCリセット期間の開始であることを示すために、少なくとも1つのIRAPピクチャを包含するアクセスユニットの非IRAPピクチャのためのPOCリセットタイプを設定し得る。そのようなアクセスユニットにおいて、各ピクチャは、そのピクチャを包含するレイヤにおいてPOCリセット期間の開始となる。POC MSBのみ、またはPOC MSBとPOC LSBの両方のいずれかである、POCリセット、および、DPB内の同じレイヤのピクチャのPOC値の更新は、各POCリセット期間内の最初のピクチャのみに対して適用され得る。
[0097]ビデオエンコーダ20は、ビデオデコーダ30がスライスセグメントヘッダを有するスライスを含むレイヤにおけるピクチャのPOC値を導出するために使用し得る、スライスセグメントヘッダ中のPOC LSB値をシグナリングし得る。スライスセグメントヘッダ中でシグナリングされたPOC LSB値は、DPB内の同じレイヤのピクチャのPOC値を更新するために使用される、デルタPOC値の導出のため、および、現在のピクチャのPOC値のPOC MSBの導出のためにも使用され得る。現在のピクチャが、シグナリングされたそのようなPOC LSB値を有するとき、および、現在のピクチャに関連付けられたPOCアンカーピクチャがビットストリーム中に存在するとき、POCアンカーピクチャは、POCリセットまたはPOC MSBリセットのいずれかの指示を有する。現在のピクチャのためにシグナリングされたそのようなPOC LSB値は、現在のピクチャとしてのPOCリセット期間の最初のピクチャでもある、POCアンカーピクチャのPOC LSB値に等しい。
[0098]上述されたように、ビデオエンコーダ20およびビデオデコーダ30は、コーディング順序において現在のピクチャより前に発生するピクチャのPOC MSB値に基づいて、POC MSB値を導出し得る。たとえば、ビデオデコーダ30は、現在のピクチャのNALユニットタイプと、NALユニットタイプランダムアクセススキップリーディング(RASL:random access skipped leading)もしくはランダムアクセス復号可能リーディング(RADL:random access decodable leading)のものではないか、またはサブレイヤ非参照ピクチャではなく、0に等しいtemporal_id値を有する、復号順序における前のピクチャのMSBおよびLSBとに基づいて、現在のピクチャ(現在復号されているピクチャ)のためのMSB POC値を決定し得る。現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであるか、またはビットストリームの最初のピクチャであるCRAピクチャであるとき、POC MSBの値は0に等しいと推論され(すなわち、ビデオデコーダ30によって決定され)得る。
[0099]本開示の態様によれば、ビデオエンコーダ20およびビデオデコーダ30は、コーディングされているピクチャのピクチャタイプを決定することと、ピクチャタイプに基づいて、コーディングされているピクチャのためのPOC MSB値を示すデータをコーディング(符号化または復号)することとを行うように構成され得る。より詳細には、ビデオコーダは、ピクチャタイプに基づいて、POC MSB値を示すデータを選択的にコーディングし得る。たとえば、概して、そのためのPOC MSB値がコーディングされるピクチャタイプのセットと、そのためのPOC MSB値がコーディングされないピクチャタイプの別のセットとがあり得る。ビデオコーダは、ピクチャのためのピクチャタイプが、そのためのPOC MSB値がコーディングされるピクチャタイプのセット中に含まれるときのみ、そのピクチャのためのPOC MSB値をコーディングし得る。このようにして、ビデオエンコーダ20は、マルチレイヤビットストリーム中の別のピクチャのPOC MSBを参照することなく、コーディングされているピクチャのためのPOC MSB値を示し得、ビデオデコーダ30はそれを決定し得る。このようにしてPOC MSBを示し、決定することは、(たとえば、マルチレイヤビットストリームのアップスイッチングまたはダウンスイッチングとともに発生し得るように)比較的多数のPOC値が、コーディング順序において復号されているピクチャに先行するピクチャから、コーディングされているピクチャを分離する場合に、エラーレジリエンスを改善し得る。現在のピクチャのピクチャタイプが、そのためのPOC MSB値がコーディングされないピクチャタイプのセット中に含まれる場合、ビデオコーダは、現在のピクチャのためのPOC MSB値を決定するために、前に復号されたピクチャのPOC MSB値を使用し得る。
[0100]同じく、次の開示および表は、本開示の技法による例示的なシンタックスを含む。このシンタックスは、たとえば、上述された文書JCTVC−O0217およびJCTVC−O0266によって修正されるようなMV−HEVCのシンタックスに関して修正され得る。以下の例示的な説明、シンタックステーブルおよびセマンティクスでは、(文書JCTVC−O0217およびJCTVC−O0266によって修正されるような)MV−HEVCに対する追加が、イタリック体を使用して表され、削除が、「除去」が前に付いた括弧付きのテキスト(たとえば、[除去:“除去されたテキスト”])を使用して表される。概して、「要件」に関するステートメントは、規格または規格拡張のテキストの一部を形成するものであり、本開示の技法の目的のための要件を形成しないものと理解されたい。場合によっては、そのような「要件」は、適用可能であると決定され得、次いで、たとえば、その決定に基づいてビデオコーダによって遵守され得る、ビットストリーム制約を含み得る)。
[0101]次の数学関数の定義が、MV−HEVCに、たとえば、MV−HEVCの従属節5.8に追加され得る。
Figure 2017505019
[0102]次の追加のシンタックス関数が追加される。
ital<<more_data_in_slice_segment_header_extension()は、次のように指定される>>ital。
− ital<<(slice_segment_header()シンタックス構造における現在の位置)−(slice_segment_header_extension_lengthの直後の位置)が、(slice_segment_header_extension_length*8)未満である場合、more_data_in_slice_segment_header_extension()の戻り値はTRUEに等しい>>ital。
− ital<<そうでない場合、more_data_in_slice_segment_header_extension()の戻り値はFALSEに等しい>>ital。
[0103]次の定義が、従属節F.3に追加され得る。
F.3.1 ピクチャ順序カウント(POC)リセット期間:0に等しいpoc_reset_idcを有するアクセスユニットでインターリーブされてもされなくてもよい、0よりも大きいpoc_reset_idcと、poc_reset_period_idの同じ値とをすべてが有する、復号順序におけるital<<アクセスユニット>>italのシーケンス。
[0104]1つの代替として、POCリセット期間におけるピクチャは、レイヤ内で復号順序において連続であることが必要とされる。しかしながら、これらのピクチャが、同じレイヤにおいて0に等しいpoc_reset_idcを有するピクチャでインターリーブされることを可能にすることは、より柔軟であり、クラスタ化されたパケット損失に対するより良いエラーレジリエンスを達成するために、同じオーバーヘッドを使用することを可能にする。
[0105]次の表は、本開示の技法による、PPSのためのシンタックスの一例である。
Figure 2017505019
[0106]上の例では、0に等しいpps_extension_flagは、pps_extension_data_flagシンタックス要素がPPS RBSPシンタックス構造中に存在しないことを指定する。slice_segment_header_extension_present_flagが0に等しいとき、pps_extension_flagは、本仕様の本バージョンに適合するビットストリーム中で0に等しいものとし、pps_extension_flagのための1の値は、ITU−T|ISO/IECによる将来の使用のために確保され、デコーダは、PPS NALユニット中のpps_extension_flagのための値1に後続するすべてのデータを無視するものとする。
[0107]加えて、0に等しいpoc_reset_info_present_flagは、シンタックス要素poc_reset_idcが、PPSを参照するスライスのスライスセグメントヘッダ中に存在しないことを指定する。加えて、1に等しいpoc_reset_info_present_flagは、シンタックス要素poc_reset_idcが、PPSを参照するスライスのスライスセグメントヘッダ中に存在することを指定する。
[0108]加えて、0に等しいpps_extension2_flagは、pps_extension_data_flagシンタックス要素が、PPS RBSPシンタックス構造中に存在しないことを指定する。pps_extension2_flagは、本仕様の本バージョンに適合するビットストリーム中で0に等しいものとする。pps_extension2_flagのための1の値は、ITU−T|ISO/IECによる将来の使用のために確保される。デコーダは、PPS NALユニット中のpps_extension2_flagのための値1に後続するすべてのデータを無視するものとする。
[0109]次の表は、本開示の技法による、スライスヘッダのためのシンタックスの一例である。
Figure 2017505019
[0110]代替的に、poc_reset_period_idシンタックス要素は、たとえば、u(14)としてコーディングされた、異なるビット数を使用してシグナリングされ得る。
[0111]存在するとき、スライスセグメントヘッダシンタックス要素slice_pic_parameter_set_id、pic_output_flag、no_output_of_prior_pics_flag、slice_pic_order_cnt_lsb、short_term_ref_pic_set_sps_flag、short_term_ref_pic_set_idx、num_long_term_sps、num_long_term_pics、slice_temporal_mvp_enabled_flag、discardable_flag、cross_layer_bla_flag、inter_layer_pred_enabled_flag、num_inter_layer_ref_pics_minus1、poc_reset_idc、poc_reset_pic_id、full_poc_reset_flag、およびpoc_lsb_val、およびital<<poc_msb_val>>italの値は、コード化されたピクチャのすべてのスライスセグメントヘッダ中で同じものとする。存在するとき、スライスセグメントヘッダシンタックス要素lt_idx_sps[i]、poc_lsb_lt[i]、used_by_curr_pic_lt_flag[i]、delta_poc_msb_present_flag[i]、delta_poc_msb_cycle_lt[i]、およびinter_layer_pred_layer_idc[i]の値は、iの可能な値ごとに、コード化されたピクチャのすべてのスライスセグメントヘッダ中で同じものとする。
[0112]0に等しいシンタックス要素poc_reset_idcは、現在のピクチャのためのピクチャ順序カウント値の最上位ビットまたは最下位ビットのいずれもリセットされないことを指定する。1に等しいシンタックス要素poc_reset_idcは、現在のピクチャのためのピクチャ順序カウント値の最上位ビットのみがリセットされ得ることを指定する。2に等しいシンタックス要素poc_reset_idcは、現在のピクチャのためのピクチャ順序カウント値の最上位ビットと最下位ビットの両方がリセットされ得ることを指定する。3に等しいシンタックス要素poc_reset_idcは、現在のピクチャのためのピクチャ順序カウント値の最上位ビットのみ、または、最上位ビットと最下位ビットの両方のいずれかがリセットされ得、追加のピクチャ順序カウント情報がシグナリングされることを指定する。存在しないとき、シンタックス要素poc_reset_pocの値は、0に等しいと推論される(すなわち、明示的なシグナリングなしに、コーダによって決定される)。
[0113]次の制約が適用されることが、ビットストリーム適合の要件である。
− poc_reset_idcの値は、RASLピクチャ、RADLピクチャ、サブレイヤ非参照ピクチャ、または0よりも大きいTemporalId、ital<<または1に等しいdiscarable_flag>>italを有するピクチャについて、1または2に等しくないものとする。
− アクセスユニット中のすべてのピクチャのpoc_reset_idcの値は、同じものとする。
− アクセスユニット中の1つのピクチャが、nal_unit_typeの特定の値を有するIRAPピクチャであり、nal_unit_typeの異なる値を有する、同じアクセスユニット中の少なくとも1つの他のピクチャがあるとき、poc_reset_idcの値は、アクセスユニット中のすべてのピクチャについて1または2に等しいものとする。
− アクセスユニット中の0に等しいnuh_layer_idを有するピクチャが、IDRピクチャであり、同じアクセスユニット中の少なくとも1つの非IDRピクチャがあるとき、poc_reset_idcの値は、アクセスユニット中のすべてのピクチャについて2に等しいものとする。
− アクセスユニット中の0に等しいnuh_layer_idを有するピクチャが、IDRピクチャではないとき、poc_reset_idcの値は、アクセスユニット中の任意のピクチャについて2に等しくないものとする。
[0114]アクセスユニットのpoc_reset_idcの値は、アクセスユニット中のピクチャのpoc_reset_idcの値を指す。
[0115]シンタックス要素poc_reset_period_idは、POCリセット期間を識別する。シンタックス要素poc_reset_period_idの同じ値と、1または2に等しいシンタックス要素poc_reset_idcとを有する、同じレイヤにおける復号順序で連続する2つのピクチャがないものとする。
注−あるレイヤにおける複数のピクチャが、poc_reset_pic_idの同じ値を有することと、1または2に等しいpoc_reset_idcを有することとは、そのようなピクチャが復号順序で連続する2つのアクセスユニットにおいて発生しない限り、禁止されない。ピクチャ損失、ビットストリーム抽出、シーク、またはスプライシング動作のために、そのような2つのピクチャがビットストリーム中に現れる見込みを最小限に抑えるために、エンコーダは、(上記で指定された制約を受けて)poc_reset_pic_idの値を、POCリセット期間ごとにランダム値になるように設定するべきである。
[0116]次の制約が適用されることが、ビットストリーム適合の要件である。
− 1つのPOCリセット期間は、1または2に等しいpoc_reset_idcを有する2つ以上のアクセスユニットを含まないものとする。
− 1または2に等しいpoc_reset_idcを有するアクセスユニットは、POCリセット期間における最初のアクセスユニットであるものとする。
[0117]1に等しいシンタックス要素full_poc_reset_flagは、同じレイヤにおける復号順序において前のピクチャが同じPOCリセット期間に属していないとき、現在のピクチャのためのピクチャ順序カウント値の最上位ビットと最下位ビットの両方がリセットされることを指定する。0に等しいシンタックス要素full_poc_reset_flagは、同じレイヤにおける復号順序において前のピクチャが同じPOCリセット期間に属していないとき、現在のピクチャのためのピクチャ順序カウント値の最上位ビットのみがリセットされることを指定する。
[0118]シンタックス要素poc_lsb_valは、現在のピクチャのピクチャ順序カウントを導出するために使用され得る値を指定する。poc_lsb_valシンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
[0119]poc_reset_idcが3に等しく、また、現在のピクチャと同じレイヤ内である、1または2に等しいpoc_reset_idcを有する、および同じPOCリセット期間に属する、復号順序における前のピクチャpicAがビットストリーム中に存在するとき、picAは、現在のピクチャと同じレイヤ内である、RASLピクチャ、RADLピクチャまたはサブレイヤ非参照ピクチャではない、ならびに0に等しいTemporalId、ital<<および0に等しいdiscardable_flag>>italを有する、復号順序における前のピクチャと同じピクチャであるものとすること、ならびに、現在のピクチャのpoc_lsb_valの値は、picAのslice_pic_order_cnt_lsbの値に等しいものとすることが、ビットストリーム適合の要件である。
[0120]シンタックス要素ital<<poc_msb_valは、現在のピクチャが、0に等しいNoRaslOutputFlagを有するCRAピクチャであるとき、ピクチャ順序カウント値を導出するために使用される値を指定する。poc_msb_valの値は、両端値を含む0〜232−log2_max_pic_order_cnt_lsb_minus4−4の範囲内にあるものとする>>ital。
[0121]ここで、本開示の態様によれば、ビデオデコーダ30は、現在復号されているピクチャのピクチャタイプを決定し得る。(たとえば、上記の例示的なスライスセグメントヘッダの表における「if nal_unit_type...」ステートメントにおいて記載されたように)ピクチャのNALユニットタイプがCRAまたはBLAである場合、ビデオデコーダ30は、現在復号されているピクチャのPOC MSB値を示すデータ(たとえば、poc_msb_valシンタックス要素)を復号し得る。この例では、特定のピクチャタイプ(BLAおよびCRA)とシンタックス要素(poc_msb_val)が参照されるが、本技法はこのように限定されないことを理解されたい。すなわち、ビデオデコーダ30は、現在復号されているピクチャタイプが様々な他のピクチャタイプであることに基づいて、POC MSB値を示す様々な他のシンタックス要素を復号し得る。
[0122]ビデオデコーダ30は、0よりも大きいnuh_layer_idを有するコード化されたピクチャの復号を開始するための、次の復号プロセスを実行し得る。以下のプロセスにおいて参照される各「ピクチャ」は、完全コード化されたピクチャである。復号プロセスは、現在のピクチャCurrPicについて次のように動作する。
− 本明細書で説明されるように、NALユニットを復号する。
− 従属節F.8.3におけるプロセスは、スライスセグメントレイヤおよびそれ以上におけるシンタックス要素を使用した次の復号プロセスを指定する。
− ピクチャ順序カウントに関係する変数および関数は、従属節F.8.3.1において導出される。これは、ピクチャの最初のスライスセグメントについてのみ呼び出される必要がある。PicOrderCntValがアクセスユニット内で不変のままであるものとすることが、ビットストリーム適合の要件である。
− 従属節F.8.3.2におけるRPSのための復号プロセスが呼び出され、ここにおいて、CurrPicのnuh_layer_idに等しいnuh_layer_idを有する参照ピクチャのみが、「参照のために使用されない」または「長期参照のために使用される」とマークされ得、nuh_layer_idの異なる値を有するいかなるピクチャもマークされない。これは、ピクチャの最初のスライスセグメントについてのみ呼び出される必要がある。
− FirstPicInLayerDecodedFlag[nuh_layer_id]が0に等しいとき、従属節F.8.1.3において指定されている利用不可能な参照ピクチャを生成するための復号プロセスが呼び出され、これは、ピクチャの最初のスライスセグメントについてのみ呼び出される必要がある。
− FirstPicInLayerDecodedFlag[nuh_layer_id]が0に等しくなく、現在のピクチャが、1に等しいNoRaslOutputFlagを有するIRAPピクチャであるとき、従属節F.8.1.3において指定されている利用不可能な参照ピクチャを生成するための復号プロセスが呼び出され、これは、ピクチャの最初のスライスセグメントについてのみ呼び出される必要がある。
[0123]本開示の態様によれば、ビデオデコーダ30は、POC値のための次の復号プロセスを実行し得る。
このプロセスの出力は、PicOrderCntVal、現在のピクチャのピクチャ順序カウントである。
ピクチャ順序カウントは、マージモードにおける動きパラメータと動きベクトル予測とを導出するために、およびデコーダ適合チェック(従属節C.5参照)のために、ピクチャを識別するために使用される。
各コード化されたピクチャは、PicOrderCntValとして示されるピクチャ順序カウント変数に関連付けられる。
FirstPicInLayerDecodedFlag[nuh_layer_id]が1に等しく、poc_reset_idcが0よりも大きく、現在のピクチャがital<<現在のレイヤのための>>ital、POCリセット期間において復号順序でital<<最初のピクチャ>>italである場合、次のことが適用される。
− 変数pocMsbDelta、pocLsbDelta、およびDeltaPocValは、次のように導出される。
Figure 2017505019
− ital<<DPB内にあり、現在のピクチャと同じレイヤに属する各ピクチャのPicOrderCntValは、DeltaPocValだけデクリメントされる>>ital。
− 現在のピクチャのPicOrderCntValは、次のように導出される。
Figure 2017505019
− PrevPicOrderCnt[nuh_layer_id]の値は、次のように導出される。
− 現在のピクチャが、RASLピクチャ、RADLピクチャ、またはサブレイヤ非参照ピクチャではなく、現在のピクチャが、0に等しいTemporalId、ital<<および0に等しいdiscardable_flag>>italを有する場合、PrevPicOrderCnt[nuh_layer_id]は、PicOrderCntValに等しく設定される。
− そうでない場合、poc_reset_idcが3に等しいとき、PrevPicOrderCnt[nuh_layer_id]は、full_poc_reset_flag?0:poc_lsb_valに等しく設定される。
そうでない場合、次のことが適用される。
−現在のピクチャのPicOrderCntValは、次のように導出される。
Figure 2017505019
− PrevPicOrderCnt[nuh_layer_id]の値は、次のように導出される。
− 現在のピクチャが、RASLピクチャ、RADLピクチャ、またはサブレイヤ非参照ピクチャではなく、現在のピクチャが、0に等しいTemporalId、ital<<および0に等しいdiscardable_flag>>italを有する場合、PrevPicOrderCnt[nuh_layer_id]は、PicOrderCntValに等しく設定される。
そうでない場合、FirstPicInLayerDecodedFlag[nuh_layer_id]が0に等しく、poc_reset_idcが3に等しいとき、PrevPicOrderCnt[nuh_layer_id]は、full_poc_reset_flag?0:poc_lsb_valに等しく設定される。
PicOrderCntValの値は、両端値を含む−231〜231−1の範囲内にあるものとする。1つのCVSの中で、同じレイヤにおける任意の2つのコード化されたピクチャのためのPicOrderCntVal値は、同じではないものとする。
関数PicOrderCnt(picX)は、次のように指定される。
Figure 2017505019
関数DiffPicOrderCnt(picA,picB)は、次のように指定される。
Figure 2017505019
ビットストリームは、両端値を含む−215〜215−1の範囲内にはない、復号プロセスにおいて使用されるDiffPicOrderCnt(picA,picB)の値をもたらすデータを包含しないものとする。
注−Xを現在のピクチャとし、YおよびZを同じシーケンス中の2つの他のピクチャとすると、YおよびZは、DiffPicOrderCnt(X,Y)とDiffPicOrderCnt(X,Z)の両方が正であるか、または両方が負であるとき、Xからの同じ出力順序方向であると見なされる。
[0124]このようにして、ビデオエンコーダ20およびビデオデコーダ30は、マルチレイヤビデオデータの第1のピクチャをコーディングすることと、その場合、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのPOC MSB値を表すデータをコーディングすることと、を行うように構成された、ビデオコーダの例を表す。ビデオエンコーダ20およびビデオデコーダ30はまた、本開示の態様によれば、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのPOC値のためのPOCリセットを示すデータをコーディングすることと、その場合、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、DPB内に記憶されたすべてのピクチャを出力することと、を行うように構成され得る。
[0125]図2は、本開示の技法による、POC値を管理するための技法を実装し得る、ビデオエンコーダ20の一例を示すブロック図である。特に、ビデオエンコーダ20は、本開示の技法に従って、マルチレイヤビットストリームのピクチャのPOC値を管理するように構成され得る。上述されたように、ビデオエンコーダ20は、マルチビューおよび/またはスケーラブルビデオコーディングを実行するように適応され得る。たとえば、ビデオエンコーダ20は、SHVC、MV−HEVC、または3D−HEVCなどの1つまたは複数のビデオコーディング規格の拡張に適合するビットストリームを符号化するように構成され得る。ただし、特定のコーディング規格が参照されるが、本技法は、任意の1つのコーディング規格に固有のものではなく、将来のおよび/またはまだ開発されていない規格とともに実装され得ることを理解されたい。
[0126]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオ中の空間的冗長性を低減または除去するために、空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオ中の時間的冗長性を低減または除去するために、時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単一方向予測(Pモード)または双予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
[0127]図2に示されているように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内で現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、ビデオデータメモリ38と、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分ユニット48とを含む。ビデオブロックの再構築のために、ビデオエンコーダ20は、また、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。デブロッキングフィルタ(図2に図示せず)も、再構築されたビデオからブロッキネスアーティファクトを除去するために、ブロック境界をフィルタリングするために含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器62の出力をフィルタリングすることになる。追加のフィルタ(ループ内またはループ後)も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタリングし得る。
[0128]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。ビデオデータメモリ38は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ38内に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。参照ピクチャメモリ64は、たとえば、イントラコーディングモードまたはインターコーディングモードで、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する、DPBと呼ばれることがある。ビデオデータメモリ38および参照ピクチャメモリ64は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ38および参照ピクチャメモリ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ38は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0129]動き推定ユニット42および動き補償ユニット44は、時間的予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適当なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
[0130]その上、区分ユニット48は、前のコーディングパスでの前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット48は、最初にフレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいて、LCUの各々をサブCUに区分し得る。モード選択ユニット40は、サブCUへのLCUの区分を示す4分木データ構造をさらに生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと1つまたは複数のTUとを含み得る。
[0131]モード選択ユニット40は、たとえば、誤差結果に基づいて、コーディングモードのうちの1つ、すなわち、イントラまたはインターを選択し得、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に、参照フレームとしての使用のために符号化されたブロックを再構築するために加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0132]動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念上の目的から別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のスライス(または、他のコード化ユニット)内で符号化されている現在のブロックに対する参照ピクチャ(または、他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリクスによって決定され得るピクセル差分の観点で、符号化されるべきブロックと厳密に一致することが見出されるブロックである。
[0133]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUの動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0134]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴い得る。同じく、動き推定ユニット42および動き補償ユニット44は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいてそれを指す予測ブロックの位置を特定し得る。加算器50は、以下で説明されるように、符号化されている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット42は、ルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方に関して、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40は、ビデオスライスのビデオブロックを復号する際のビデオデコーダ30による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成することもできる。
[0135]動き推定ユニット42は、参照ピクチャメモリ64のDPB内に記憶された参照ピクチャを探索する。モード選択ユニット40は、ピクチャ、ピクチャのスライス、および/またはピクチャのシーケンスを符号化するために、どの参照ピクチャが使用されるべきであるかを決定し得る。ビデオエンコーダ20は、ピクチャ、スライス、またはシーケンスを符号化するために使用される参照ピクチャのためのピクチャ順序カウント(POC)値を符号化し得る。ビデオエンコーダ20は、スライスヘッダ、ならびに/または、PPSおよび/もしくはSPSなどのパラメータセット中で、参照ピクチャリスト中に含まれるべき参照ピクチャを示すPOC値を符号化し得る。
[0136]このようにして、ビデオデコーダ30などのビデオデコーダは、スライスヘッダおよび/または(1つまたは複数の)パラメータセット中で示された参照ピクチャを含めることによって、参照ピクチャリストを再生し得る。さらに、動き推定ユニット42によって生成された動きベクトルを使用して、ブロックを符号化した後、ビデオエンコーダ20は、ブロックについての動き情報を符号化し得、ただし、動き情報は、動きベクトルを表すデータと、参照ピクチャリストのための識別子と、参照ピクチャリスト中の参照ピクチャを識別する参照インデックスとを含み得る。
[0137]いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64内に記憶された参照ピクチャのサブ整数ピクセル位置のための値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0138]ビデオエンコーダ20はまた、POCリセット期間を形成し、それぞれのPOCリセット期間にスライスを割り当てるために、ピクチャのスライスのためのPOCリセット期間識別子のための値を符号化し得る。ビデオエンコーダ20は、ビデオデータの各レイヤ内で個々にPOCリセット期間にスライスを割り当て得る。その上、ビデオエンコーダ20は、スライスのためのPOCリセットタイプを決定し、スライスのためのPOCリセットタイプの指示のための値(たとえば、2ビット値)を符号化し得る。
[0139]図1に関して説明されたように、ビデオエンコーダ20は、適用可能なビデオコーディング規格によって確立された制限に従って構成され得る。たとえば、ビデオエンコーダ20は、各POCリセット期間における最初のピクチャが、POC値が完全または部分的にリセットされるべきであることを示すPOCリセットタイプを有することを保証し得る。さらに、ビデオエンコーダ20は、いくつかの例では、POCリセット期間のPOCアンカーピクチャのためのPOC LSB値を示し得る、POC LSB値を示す追加の情報を符号化し得る。
[0140]概して、上記で説明されたように、ビデオエンコーダ20は、コーディング順序において現在のピクチャより前にコーディングされたピクチャのPOC MSB値のPOC MSB値に基づいて、現在のピクチャのためのPOC MSB値を決定し得る。本開示の態様によれば、ビデオエンコーダ20はまた、ビットストリームのいくつかのピクチャのためのPOC MSB値を示す情報を符号化し得る。たとえば、本開示の態様によれば、ビデオエンコーダ20は、特定のピクチャタイプを有するピクチャのためのPOC MSB値を示すデータを符号化し得る。いくつかの例では、ビデオエンコーダ20は、ピクチャがCRAまたはBLAピクチャタイプを有することに基づいて、データ、CRAまたはBLAピクチャタイプを有するピクチャのためのPOC MSB値を符号化するように構成され得る。すなわち、そのような例では、ビデオエンコーダ20は、CRAピクチャタイプとBLAピクチャタイプとを含むピクチャタイプの最初のセットのみのためのPOC MSB値を符号化し得る。ビデオエンコーダ20は、他のピクチャタイプのためのPOC MSB値を符号化せず、代わりに、現在のピクチャより前に符号化されたピクチャに基づいて、POC MSB値を決定し得る。
[0141]場合によっては、ビデオエンコーダ20は、上記で説明された、指定されたピクチャタイプを有するピクチャ以外のピクチャのためのPOC MSB値を示すデータを符号化し得る。たとえば、場合によっては、ビデオエンコーダ20は、そのためのPOC値リセットが実行される任意のピクチャのためのPOC MSB値を示すデータを符号化し得る。
[0142]ビデオエンコーダ20はまた、参照ピクチャメモリ64のDPB内の参照ピクチャのバンピングおよび出力プロセスを管理し得る。本開示の態様によれば、ビデオエンコーダ20は、POC値リセットを実行するより前に、参照ピクチャメモリ64のDPBからピクチャを出力するように構成され得る。たとえば、本開示の態様によれば、特定のアクセスユニットのためのPOC値リセットを実行するより前に、ビデオエンコーダ20は、「出力のために必要とされる」とマークされている、参照ピクチャメモリのDPBに記憶されたすべてのピクチャを出力するように構成され得る。場合によっては、ビデオエンコーダ20は、アクセスユニットの初期ピクチャのためのスライスヘッダを符号化した後であるが、POC値を導出し、参照ピクチャリストを構築するより前に、出力プロセスを実行し得る。たとえば、ビデオエンコーダ20は、アクセスユニットの初期ピクチャのためのスライスヘッダを符号化した後であるが、スライスのペイロード(たとえば、スライスのビデオデータ)を符号化する前に、出力プロセスを実行し得る。
[0143]イントラ予測ユニット46は、上記で説明されたように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば別々の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用すべき適当なイントラ予測モードを選択し得る。
[0144]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
[0145]ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
[0146]ビデオエンコーダ20は、モード選択ユニット40からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する、1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTに概念的に類似する他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用され得る。いずれの場合でも、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、ピクセル値領域からの残差情報を、周波数領域などの変換領域に変換し得る。
[0147]変換処理ユニット52は、得られた変換係数を量子化ユニット54へ送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。いくつかの例では、量子化ユニット54は次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が、走査を実行し得る。
[0148]量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコーディングに続いて、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後で送信するかもしくは取り出すためにアーカイブされ得る。
[0149]逆量子化ユニット58および逆変換ユニット60は、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構築された残差ブロックに1つまたは複数の補間フィルタを適用し得る。加算器62は、参照ピクチャメモリ64に記憶するための再構築されたビデオブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに再構築された残差ブロックを加算する。再構築されたビデオブロックは、動き推定ユニット42および動き補償ユニット44によって、後続のビデオフレーム中のブロックをインターコーディングするために参照ブロックとして使用され得る。
[0150]このようにして、図2のビデオエンコーダ20は、マルチレイヤビデオデータの第1のピクチャを符号化することと、その場合、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのPOC MSB値を表すデータを符号化することと、を行うように構成された、ビデオエンコーダの一例を表す。ビデオエンコーダ20はまた、本開示の態様によれば、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのPOC値のためのPOCリセットを示すデータを符号化することと、その場合、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを符号化するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、DPB内に記憶されたすべてのピクチャを出力することと、を行うように構成され得る。
[0151]図3は、本開示の技法による、POC値を管理するための技法を実装し得る、ビデオデコーダ30の一例を示すブロック図である。上述されたように、ビデオデコーダ30は、マルチビューおよび/またはスケーラブルビデオコーディングを実行するように適応され得る。たとえば、ビデオデコーダ30は、SHVC、MV−HEVC、または3D−HEVCなどの1つまたは複数のビデオコーディング規格の拡張に適合するビットストリームを復号するように構成され得る。ただし、特定のコーディング規格が参照されるが、本技法は、任意の1つのコーディング規格に固有のものではなく、将来のおよび/またはまだ開発されていない規格とともに実装され得ることを理解されたい。
[0152]図3の例では、ビデオデコーダ30は、ビデオデータメモリ68と、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明された符号化パスに対して概ね逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて、予測データを生成し得、一方、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて、予測データを生成し得る。
[0153]ビデオデータメモリ68は、ビデオデコーダ30の構成要素によって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ68内に記憶されるビデオデータは、たとえば、コンピュータ可読媒体から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ68は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。参照ピクチャメモリ82は、たとえば、イントラコーディングモードまたはインターコーディングモードで、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する、DPBと呼ばれることがある。ビデオデータメモリ68および参照ピクチャメモリ82は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ68および参照ピクチャメモリ82は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ68は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0154]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す、符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化された係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他のシンタックス要素とを動き補償ユニット72へ転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0155]ビデオスライスが、イントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、現在のフレームまたはピクチャの以前に復号されたブロックから、シグナリングされたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームが、インターコード化(すなわち、B、P、またはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82のDPB内に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリストのリスト0とリスト1とを構築し得る。
[0156]より詳細には、ビデオデコーダ30は、PPSに対応するピクチャのスライスがPOCリセット情報を含むか否かを示すPPSを復号し得る。スライスがPOCリセット情報を含むと仮定すると、ビデオデコーダ30は、POCリセット情報を含むピクチャのスライスのスライスセグメントヘッダを復号し得る。POCリセット情報は、POCリセット期間識別子とPOCリセットタイプとを含み得る。
[0157]POCリセット期間識別子は、スライスが対応するPOCリセット期間を示し得る。POCリセットタイプは、スライスを含むピクチャのPOC値が完全にリセットされるか否か、または、POC値のMSBのみがリセットされることを示し得る。さらに、POCリセットタイプは、POCリセットが実行されるべきではないこと、または追加の情報がシグナリングされることを示し得る。POCリセットタイプが、追加の情報がシグナリングされることを示す場合、ビデオデコーダ30は、POC LSB値と、POC値が完全にリセットされるか、MSBのみがリセットされるかとを示し得る、追加の情報を復号し得る。
[0158]本開示の態様によれば、ビデオデコーダ30は、POCリセットを示す情報に基づいて、復号ピクチャバッファからピクチャを出力し得る。たとえば、ビデオデコーダ30は、POC値リセットを実行するより前に、参照ピクチャメモリ84のDPBからピクチャを出力するように構成され得る。すなわち、本開示の態様によれば、特定のアクセスユニットのためのPOC値リセットを実行するより前に、ビデオデコーダ30は、「出力のために必要とされる」とマークされている、参照ピクチャメモリのDPBに記憶されたすべてのピクチャを出力するように構成され得る。場合によっては、ビデオデコーダ30は、アクセスユニットの初期ピクチャのためのスライスヘッダを復号した後であるが、POC値を導出し、参照ピクチャリストを構築するより前に、出力プロセスを実行し得る。たとえば、ビデオデコーダ30は、アクセスユニットの初期ピクチャのためのスライスヘッダを復号した後であるが、スライスのペイロード(たとえば、スライスのビデオデータ)を復号する前に、出力プロセスを実行し得る。
[0159]概して、ビデオデコーダ30は、現在のピクチャのスライスのスライスヘッダ中で受信されたデータに基づいて、現在復号されているピクチャのためのPOC LSB値を決定し得る。ビデオデコーダ30は、コーディング順序において現在のピクチャより前にコーディングされたピクチャのPOC MSB値のPOC MSB値に基づいて、現在のピクチャのためのPOC MSB値を決定し得る。
[0160]本開示の態様によれば、場合によっては、ビデオデコーダ30は、ビットストリームのいくつかのピクチャのための符号化されたビットストリームから、POC MSB値を示すデータを復号し得る。たとえば、本開示の態様によれば、ビデオデコーダ30は、現在復号されているピクチャのためのピクチャタイプを決定し得る。ピクチャタイプに基づいて、ビデオデコーダ30は、復号順序において現在のピクチャより前にコーディングされたピクチャのPOC MSB値に基づいて、ピクチャのためのPOC MSB値を決定するのではなく、ピクチャのためのPOC MSB値を示すデータを復号し得る。
[0161]場合によっては、ビデオデコーダ30は、ピクチャタイプがCRAまたはBLAピクチャタイプであることに基づいて、現在のピクチャのためのPOC MSB値を示すデータを復号し得る。たとえば、ビデオデコーダ30は、CRAピクチャタイプとBLAピクチャタイプとを含むピクチャタイプの最初のセットのみのためのPOC MSB値を復号し得る。ビデオデコーダ30は、他のピクチャタイプのためのPOC MSB値を復号せず、代わりに、現在のピクチャより前に符号化されたピクチャに基づいて、POC MSB値を決定し得る。他の例では、ビデオデコーダ30は、追加または代替として、他のピクチャおよびピクチャタイプのためのPOC MSB値を示すデータを復号し得る。たとえば、本開示の態様によれば、ビデオデコーダ30は、そのためのPOC値リセットが実行される任意のピクチャのためのPOC MSB値を示すデータを復号し得る。
[0162]ビデオデコーダ30はまた、参照ピクチャリスト中に含まれるべき参照ピクチャのPOC値を復号し得る。ビデオデコーダ30は、スライスセグメントヘッダ中で、および/または、PPSもしくはSPSなどのパラメータセットから、これらのPOC値を復号し得る。次いで、ビデオデコーダ30は、復号されたPOC値によって識別された参照ピクチャを含む参照ピクチャリストを構築し得る。
[0163]スライスのための参照ピクチャリストを構築した後、ビデオデコーダ30は、スライスのブロックを復号し得る。動き補償ユニット72は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、復号されている現在のビデオブロックの予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。インター予測ブロックのための動き情報は、ブロックを予測するために使用すべき参照ピクチャリスト中の参照ピクチャを識別するために、参照ピクチャリスト識別子と参照インデックスとを含み得る。
[0164]動き補償ユニット72は、補間フィルタに基づいて補間を実行することもできる。動き補償ユニット72は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために、その補間フィルタを使用し得る。
[0165]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された、量子化された変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックに関してビデオデコーダ30によって計算される量子化パラメータQPYの使用を含み得る。
[0166]逆変換ユニット78は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0167]動き補償ユニット72が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器80は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。(コーディングループ中の、またはコーディングループ後のいずれかにおける)他のループフィルタも、ピクセルの遷移を平滑化し、または場合によっては、ビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、参照ピクチャメモリ82に記憶され、この参照ピクチャメモリ82は、後続の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ82はまた、復号されたビデオを、図1のディスプレイデバイス32などのディスプレイデバイス上に後で提示するために記憶する。
[0168]このようにして、図3のビデオデコーダ30は、マルチレイヤビデオデータの第1のピクチャを復号することと、その場合、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのPOC MSB値を表すデータをコーディングすることと、を行うように構成された、ビデオデコーダの一例を表す。ビデオデコーダ30はまた、本開示の態様によれば、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのPOC値のためのPOCリセットを示すデータを復号することと、その場合、第1のピクチャがアクセスユニット中に含まれ、第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット中に含まれない、DPB内に記憶されたすべてのピクチャを出力することと、を行うように構成され得る。
[0169]図4は、本開示の技法による、POC値リセットを実行するより前に、DPBのピクチャを出力することを含む、データを符号化するための例示的な方法を示すフローチャートである。加えて、図4の方法は、現在のブロックを符号化することを含む。現在のブロックは、現在のCU、または現在のCUの一部分を備え得る。ビデオエンコーダ20(図1および図2)に関して説明されるが、他のデバイスが図4の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0170]この例では、ビデオエンコーダ20は、現在のスライスをPOCリセット期間に割り当て得る(148)。たとえば、現在のスライスがアンカーピクチャの一部を形成する場合、ビデオエンコーダ20は、現在のスライスが前のPOCリセット期間識別子とは異なるPOCリセット期間識別子を有する新しいPOCリセット期間の開始を形成することをシグナリングし得る。代替的に、現在のスライスがアンカーピクチャの一部を形成しない場合、ビデオエンコーダ20は、現在のスライスが既存のPOCリセット期間の一部を形成することをシグナリングし得る。
[0171]次いで、ビデオエンコーダ20は、DPBに記憶されているすべてのピクチャを出力する(150)。たとえば、ビデオエンコーダ20は、現在のアクセスユニット中に含まれる、DPBに記憶されたいかなるピクチャをも除いて、「出力のために必要とされる」とマークされたすべてのピクチャを出力し得る。ビデオエンコーダ20は、現在のスライスをPOCリセット期間に割り当てた(たとえば、スライスヘッダを符号化した)後であるが、最初のスライスのビデオデータを符号化するより前に、DPBからピクチャを出力し得る。
[0172]次いで、ビデオエンコーダ20は、POCリセットを実行し、参照ピクチャリストを形成し得る(152)。ビデオエンコーダ20は、参照ピクチャリスト中に含まれた参照ピクチャのPOC値をさらにシグナリングする(154)。たとえば、ビデオエンコーダ20は、SPSもしくはPPSなどのパラメータセット中、および/またはスライスのためのスライスヘッダ中で、参照ピクチャのためのPOC値(または、POC値の部分、たとえば、POC LSB値)を符号化し得る。いくつかの参照ピクチャ(たとえば、長期参照ピクチャ)は、パラメータセット中でシグナリングされ得るのに対して、他の参照ピクチャ(たとえば、短期参照ピクチャ)は、スライスヘッダ中でシグナリングされ得る。
[0173]たとえば、現在のスライスのブロックのための、最良のレートひずみ特性を生じる参照ピクチャのセットを決定するために、参照ピクチャリストを形成するステップと、どのピクチャが参照ピクチャリスト中に含まれるかをシグナリングするステップとが、いくつかの異なる符号化パスを介して複数回実行され得ることを理解されたい。すなわち、ビデオエンコーダ20は、単一のブロックの個々の特性のみに基づくのではなく、現在のスライス中のすべてのブロックの特性に基づいて、参照ピクチャリスト中に含まれた参照ピクチャのセットを選択し得る。
[0174]次いで、ビデオエンコーダ20は、現在のスライスの現在のブロックを予測し得る(156)。たとえば、ビデオエンコーダ20は、現在のブロックの1つまたは複数の予測ユニット(PU)を計算し得る。より詳細には、動き推定ユニット42は、たとえば、SAD、SSD、MAD、MSD、または他の誤差計算メトリクスに基づいて、参照ブロックとして使用される一致するブロックを識別するために、参照ピクチャリストの参照ピクチャの中で現在のブロックの動き探索を実行し得る。動き推定ユニット42は、動き探索に基づいて、現在のブロックのための動きベクトルを生成し得る。次いで、ビデオエンコーダ20は、ブロックのための動き情報を符号化し得(158)、ブロックのための動き情報は、参照ブロックを一緒に識別する、動きベクトルのための動きベクトル差分値と、参照ピクチャリスト識別子と、参照インデックスとを含み得る。
[0175]次いで、ビデオエンコーダ20は、たとえば、変換ユニット(TU)を生成するために、現在のブロックのための残差ブロックを計算し得る(160)。残差ブロックを計算するために、ビデオエンコーダ20は、元のコーディングされていないブロックと現在のブロックのための予測ブロックとの間の差分を計算し得る。次いで、ビデオエンコーダ20は、残差ブロックの係数を変換および量子化し得る(162)。次に、ビデオエンコーダ20は、残差ブロックの量子化された変換係数を走査し得る(164)。走査中に、または走査に続いて、ビデオエンコーダ20は、係数をエントロピー符号化し得る(166)。たとえば、ビデオエンコーダ20は、CAVLCまたはCABACを使用して係数を符号化し得る。次いで、ビデオエンコーダ20は、ブロックのエントロピーコード化データを出力し得る(168)。
[0176]このようにして、図4の方法は、ビデオエンコーダが、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのPOC値のためのPOCリセットを示す符号化データを符号化することと、その場合、第1のピクチャがアクセスユニット中に含まれ、ならびに第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを符号化するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット内に含まれない、DPB内に記憶されたすべてのピクチャを出力することとを含む、方法の一例を表す。
[0177]図5は、本開示の技法による、POC値リセットを実行するより前に、DPBのピクチャを出力することを含む、データを復号するための例示的な方法を示すフローチャートである。加えて、図5の方法は、現在のブロックを復号することを含む。現在のブロックは、現在のCU、または現在のCUの一部分を備え得る。ビデオデコーダ30(図1および図3)に関して説明されるが、他のデバイスが図5の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0178]最初に、ビデオデコーダ30は、POCリセットを示すデータを復号する(200)。いくつかの例では、本明細書で説明されるように、POCリセットを示すデータは、現在のスライスのスライスセグメントヘッダ中に含まれるPOCリセット識別子であり得る。このような例では、ビデオデコーダ30は、POCリセットタイプ識別子をさらに復号し得る。図5の方法は、POCリセット期間識別子が、現在のスライスが新しいPOCリセット期間の一部であることを示すという仮定に基づいている。ビデオデコーダ30は、現在のピクチャが特定のアクセスユニット中の第1のピクチャ(たとえば、特定のアクセスユニットのすべてのピクチャの中の最下位レイヤ識別子を有するピクチャ)であることをさらに決定し得る。
[0179]ビデオデコーダ30は、DPBに記憶されたからすべてのピクチャを出力し得る(202)。たとえば、本開示の態様によれば、POC値リセットを示すデータに基づいて、ビデオデコーダ30は、現在のアクセスユニット中に含まれる、DPBに記憶されたいかなるピクチャをも除いて、「出力のために必要とされる」とマークされているすべてのピクチャをDPBから出力し得る。ビデオデコーダ30は、現在のスライスのためのスライスヘッダを復号した後であるが、POC値を導出し、参照ピクチャを復号するより前に、DPBからピクチャを出力し得る。
[0180]次いで、ビデオデコーダ30はPOC値をリセットし、たとえば、スライスセグメントヘッダ、および/または、PPSもしくはSPSなどのパラメータセットから、参照ピクチャリスト中に含まれるべき参照ピクチャのPOC値を復号する(204)。次いで、ビデオデコーダ30は、参照ピクチャリストを形成する(206)。
[0181]次に、ビデオデコーダ30は、現在のブロックのための動き情報を復号する(208)。動き情報は、たとえば、参照ピクチャリスト識別子と、参照ピクチャリストへの参照インデックスとを含み得る。次いで、ビデオデコーダ30は、たとえば、現在のブロックのための予測ブロックを計算するために、インター予測モードを使用して、現在のブロックを予測する(200)。より詳細には、ビデオデコーダ30は、どの参照ピクチャリストを使用するべきかを識別するために参照ピクチャリスト識別子と、参照ピクチャリスト中の参照インデックスを識別するために参照インデックスとを使用する。次いで、ビデオデコーダ30は、現在のブロックのための動きベクトルを復号し、識別された参照ピクチャ中の参照ブロックを識別する。
[0182]ビデオデコーダ30はまた、現在のブロックに対応する残差ブロックの係数のためのエントロピーコード化データなど、現在のブロックのためのエントロピーコード化データを受信し得る(212)。ビデオデコーダ30は、残差ブロックの係数を再生するために、エントロピーコード化データをエントロピー復号し得る(214)。次いで、ビデオデコーダ30は、量子化された変換係数のブロックを作成するために、再生された係数を逆走査し得る(216)。すなわち、逆走査を使用して、ビデオデコーダ30は、1次元ベクトルを2次元行列に変換する。次いで、ビデオデコーダ30は、残差ブロックを生成するために、係数を逆量子化および逆変換し得る(218)。最終的に、ビデオデコーダ30は、予測ブロックと残差ブロックとを組み合わせることによって現在のブロックを復号し得る(220)。
[0183]このようにして、図5の方法は、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのPOC値のためのPOCリセットを示すデータを復号すること、その場合、第1のピクチャがアクセスユニット中に含まれ、ならびに第1のピクチャのPOC値のためのPOCリセットを示すデータに基づいて、および第1のピクチャを復号するより前に、コーディング順序において第1のピクチャに先行する、およびアクセスユニット内に含まれない、DPB内に記憶されたすべてのピクチャを出力することを含む、方法の一例を表す。
[0184]図6は、本開示の技法による、POC MSB値を示すデータを符号化することを含む、データを符号化するための例示的な方法を示すフローチャートである。ビデオエンコーダ20(図1および図2)に関して説明されるが、他のデバイスが図6の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0185]この例では、ビデオエンコーダ20は、現在符号化されているピクチャのためのピクチャタイプを決定し得る(240)。場合によっては、現在のピクチャのピクチャタイプは、上記で説明されたCRA、BLA、または他のランダムアクセスピクチャタイプなど、ランダムアクセスピクチャタイプであり得る。
[0186]本開示の態様によれば、ピクチャタイプに基づいて、ビデオエンコーダ20は、現在のピクチャのためのPOC MSB値を示すデータを符号化するべきか否かを決定し得る(242)。たとえば、ビデオエンコーダ20は、POC MSB値いくつかのピクチャタイプを示すデータを符号化し得る。すなわち、ビデオエンコーダ20は、ピクチャがピクチャタイプの最初のセット中に含まれるときのみ、POC MSB値を符号化し得、ビデオエンコーダ20は、ピクチャがピクチャタイプの最初のセット中に含まれないとき、POC MSB値を符号化しなくてよい。説明のための一例では、ビデオエンコーダ20は、CRAまたはBLAピクチャタイプを有するピクチャのためのPOC MSB値を示すデータを符号化し得る。他の例では、ビデオエンコーダ20は、追加または代替として、他のピクチャおよびピクチャタイプのためのPOC MSB値を示すデータを符号化し得る。たとえば、本開示の態様によれば、ビデオエンコーダ20は、そのためのPOC値リセットが実行される任意のピクチャのためのPOC MSB値を示すデータを符号化し得る。
[0187]POC MSB値がシグナリングされる場合(ステップ242のyes分岐)、ビデオエンコーダ20は、POC MSB値を示すデータを符号化し得る。たとえば、ビデオエンコーダ20は、現在のピクチャのためのそのPOC MSB値を示す1つまたは複数のシンタックス要素を符号化し得る。
[0188]次いで、ビデオエンコーダ20は、決定されたPOC値を現在のピクチャの現在のスライスに割り当て得る246(246)。ビデオエンコーダ20はまた、現在のスライスを符号化し得る(248)。いくつかの例では、ビデオエンコーダ20は、図4の例のステップ156〜168に関して説明された技法と同様の技法を使用して、現在のスライスを符号化し得る。
[0189]このようにして、図6の方法は、ビデオエンコーダが、マルチレイヤビデオデータの第1のピクチャを符号化することと、その場合、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのPOC MSB値を表すデータを符号化することと、を含む方法の一例を表す。
[0190]図7は、本開示の技法による、POC MSB値を示すデータを復号することを含む、データを復号するための例示的な方法を示すフローチャートである。ビデオデコーダ30(図1および図3)に関して説明されるが、他のデバイスが図7の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0191]この例では、ビデオデコーダ30は、現在復号されているピクチャのためのピクチャタイプを決定し得る(260)。場合によっては、現在のピクチャのピクチャタイプは、上記で説明されたCRA、BLA、または他のランダムアクセスピクチャタイプなど、ランダムアクセスピクチャタイプであり得る。
[0192]本開示の態様によれば、ピクチャタイプに基づいて、ビデオデコーダ30は、現在のピクチャのためのPOC MSB値を示すデータを復号するべきか否かを決定し得る(262)。たとえば、ビデオデコーダ30は、復号順序において現在のピクチャより前にコーディングされたピクチャのPOC MSB値に基づいて、ピクチャのためのPOC MSB値を決定するのではなく、ピクチャのためのPOC MSB値を示すデータを復号し得る。すなわち、ビデオデコーダ30は、現在のピクチャがピクチャタイプの最初のセット中に含まれるときのみ、POC MSB値を復号し得、ビデオデコーダ30は、ピクチャがピクチャタイプの最初のセット中に含まれないとき、POC MSB値を復号しなくてよい。場合によっては、ビデオデコーダ30は、ピクチャタイプがCRAまたはBLAピクチャタイプであることに基づいて、現在のピクチャのためのPOC MSB値を示すデータを復号し得る。他の例では、ビデオデコーダ30は、追加または代替として、他のピクチャおよびピクチャタイプのためのPOC MSB値を示すデータを復号し得る。たとえば、本開示の態様によれば、ビデオデコーダ30は、そのためのPOC値リセットが実行される任意のピクチャのためのPOC MSB値を示すデータを復号し得る。
[0193]ビデオデコーダ30が、POC MSB値を示すデータを復号する場合(ステップ262のyes分岐)、ビデオデコーダ30は、POC MSB値を示すデータを復号し得る(264)。たとえば、ビデオデコーダ30は、現在のピクチャのためのPOC MSB値を示す1つまたは複数のシンタックス要素を復号し得る。ビデオデコーダ30が、POC MSB値を示すデータを復号しない場合(ステップ262のno分岐)、ビデオデコーダ30は、復号順序において現在のピクチャより前に復号されたピクチャのPOC MSB値に基づいて、現在のピクチャのためのPOC値を決定し得る。
[0194]次いで、ビデオデコーダ30は、決定されたPOC値を現在のピクチャの現在のスライスに割り当て得る246(266)。ビデオデコーダ30はまた、現在のスライスを復号し得る(270)。いくつかの例では、ビデオデコーダ30は、図5の例のステップ206〜220に関して説明された技法と同様の技法を使用して、現在のスライスを復号し得る。
[0195]このようにして、図7の方法は、ビデオデコーダが、マルチレイヤビデオデータの第1のピクチャを復号することと、その場合、第1のピクチャが第1のピクチャタイプを有し、第1のピクチャが第1のピクチャタイプを有することに基づいて、第1のピクチャのためのPOC MSB値を表すデータを復号することと、を含む方法の一例を表す。
[0196]例によっては、本明細書で説明された技法のうちのいずれかの、いくつかの動作またはイベントは、異なる順序で実行され得、追加、統合、または完全に除外され得る(たとえば、すべての説明された動作またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、動作またはイベントは、たとえば、マルチスレッドの処理、割込み処理、または多数のプロセッサを用いて、連続的ではなく同時に実行され得る。
[0197]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つもしくは複数の命令もしくはコード上に記憶され、またはこれを介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従う、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のために命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0198]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含むのではなく、代わりに、非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、一方、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲の中に含まれるべきである。
[0199]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の同等の集積された論理回路もしくは離散論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造のいずれか、または本明細書で説明された技法を実装するために好適な任意の他の構造を指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成されるか、または複合コーデックに組み込まれる、専用のハードウェアモジュールおよび/またはソフトウェアモジュール内で提供され得る。また、本技法は、1つまたは複数の回路または論理素子において完全に実装され得る。
[0200]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明されたような1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって提供され得る。
[0201]様々な例が、説明された。これらおよび他の例は、次の特許請求の範囲内に入る。
[0201]様々な例が、説明された。これらおよび他の例は、次の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、
マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータを復号することと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと、
を備える、方法。
[C2]
前記DPBに記憶されたすべてのピクチャを出力することが、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力することを備える、C1に記載の方法。
[C3]
すべてのピクチャを出力することが、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力することを備える、C1に記載の方法。
[C4]
前記POCリセットを示す前記データを復号することが、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータを復号することを備える、C1に記載の方法。
[C5]
前記POCリセットを示す前記データが、前記第1のピクチャを包含する前記アクセスユニットから開始するPOCリセット期間を示すデータを備える、C1に記載の方法。
[C6]
前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの前記第1のピクチャおよび任意の他のピクチャのためのPOC値リセットを実行することをさらに備える、C1に記載の方法。
[C7]
前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの各ピクチャを復号するための参照ピクチャリストを構築することをさらに備える、C1に記載の方法。
[C8]
前記DPBのすべてのピクチャを出力することが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を備える、C1に記載の方法。
[C9]
ビデオデータを符号化する方法であって、
ビデオエンコーダが、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータを符号化することと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと
を備える、方法。
[C10]
前記DPBに記憶されたすべてのピクチャを出力することが、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力することを備える、C9に記載の方法。
[C11]
すべてのピクチャを出力することが、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを符号化した後、および前記スライスのペイロードを符号化するより前に、すべてのピクチャを出力することを備える、C9に記載の方法。
[C12]
前記POCリセットを示す前記データを符号化することが、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータを符号化することを備える、C9に記載の方法。
[C13]
前記POCリセットを示す前記データが、前記第1のピクチャを包含する前記アクセスユニットから開始するPOCリセット期間を示すデータを備える、C9に記載の方法。
[C14]
前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの前記第1のピクチャおよび任意の他のピクチャのためのPOC値リセットを実行することをさらに備える、C9に記載の方法。
[C15]
前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの各ピクチャを符号化するための参照ピクチャリストを構築することをさらに備える、C9に記載の方法。
[C16]
前記DPBのすべてのピクチャを出力することが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を備える、C9に記載の方法。
[C17]
ビデオデータをコーディングするためのデバイスであって、
マルチレイヤビデオデータを記憶するように構成された復号ピクチャバッファ(DPB)を備えるメモリと、
前記マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングすることと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、前記DPB内に記憶されたすべてのピクチャを出力することと、
を行うように構成されたビデオコーダと、
を備える、デバイス。
[C18]
前記DPBに記憶されたすべてのピクチャを出力するために、前記ビデオコーダが、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力するように構成される、C17に記載のデバイス。
[C19]
すべてのピクチャを出力するために、前記ビデオコーダが、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力するように構成される、C17に記載のデバイス。
[C20]
前記POCリセットを示す前記データをコーディングするために、前記ビデオコーダが、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータを復号するように構成される、C17に記載のデバイス。
[C21]
前記POCリセットを示す前記データが、前記第1のピクチャを包含する前記アクセスユニットから開始するPOCリセット期間を示すデータを備える、C17に記載のデバイス。
[C22]
前記ビデオコーダが、前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの前記第1のピクチャおよび任意の他のピクチャのためのPOC値リセットを実行するようにさらに構成される、C17に記載のデバイス。
[C23]
前記ビデオコーダが、前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの各ピクチャを復号するための参照ピクチャリストを構築するようにさらに構成される、C17に記載のデバイス。
[C24]
前記DPBのすべてのピクチャを出力するために、前記ビデオコーダが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を行うように構成される、C17に記載のデバイス。
[C25]
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
のうちの少なくとも1つを備える、C17に記載のデバイス。
[C26]
ビデオデータをコーディングするためのデバイスであって、
マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングするための手段と、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力するための手段と、
を備える、デバイス。
[C27]
前記DPBに記憶されたすべてのピクチャを出力するための前記手段が、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力するための手段を備える、C26に記載のデバイス。
[C28]
すべてのピクチャを出力するための前記手段が、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力するための手段を備える、C26に記載のデバイス。
[C29]
前記POCリセットを示す前記データをコーディングするための前記手段が、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータをコーディングするための手段を備える、C26に記載のデバイス。
[C30]
前記DPBのすべてのピクチャを出力することが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力するための手段と、を備える、C26に記載のデバイス。
[C31]
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、
マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングすることと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと、
を行わせる、非一時的コンピュータ可読記憶媒体。
[C32]
前記DPBに記憶されたすべてのピクチャを出力するために、前記命令が前記プロセッサに、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力することを行わせる、C31に記載の非一時的コンピュータ可読記憶媒体。
[C33]
すべてのピクチャを出力するために、前記命令が前記プロセッサに、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力することを行わせる、C31に記載の非一時的コンピュータ可読記憶媒体。
[C34]
前記POCリセットを示す前記データをコーディングするために、前記命令が前記プロセッサに、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータをコーディングすることを行わせる、C31に記載の非一時的コンピュータ可読記憶媒体。
[C35]
前記DPBのすべてのピクチャを出力するために、前記命令が前記プロセッサに、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を行わせる、C31に記載の非一時的コンピュータ可読記憶媒体。

Claims (35)

  1. ビデオデータを復号する方法であって、
    マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータを復号することと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
    前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと、
    を備える、方法。
  2. 前記DPBに記憶されたすべてのピクチャを出力することが、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力することを備える、請求項1に記載の方法。
  3. すべてのピクチャを出力することが、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力することを備える、請求項1に記載の方法。
  4. 前記POCリセットを示す前記データを復号することが、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータを復号することを備える、請求項1に記載の方法。
  5. 前記POCリセットを示す前記データが、前記第1のピクチャを包含する前記アクセスユニットから開始するPOCリセット期間を示すデータを備える、請求項1に記載の方法。
  6. 前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの前記第1のピクチャおよび任意の他のピクチャのためのPOC値リセットを実行することをさらに備える、請求項1に記載の方法。
  7. 前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの各ピクチャを復号するための参照ピクチャリストを構築することをさらに備える、請求項1に記載の方法。
  8. 前記DPBのすべてのピクチャを出力することが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を備える、請求項1に記載の方法。
  9. ビデオデータを符号化する方法であって、
    ビデオエンコーダが、マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータを符号化することと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
    前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと
    を備える、方法。
  10. 前記DPBに記憶されたすべてのピクチャを出力することが、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力することを備える、請求項9に記載の方法。
  11. すべてのピクチャを出力することが、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを符号化した後、および前記スライスのペイロードを符号化するより前に、すべてのピクチャを出力することを備える、請求項9に記載の方法。
  12. 前記POCリセットを示す前記データを符号化することが、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータを符号化することを備える、請求項9に記載の方法。
  13. 前記POCリセットを示す前記データが、前記第1のピクチャを包含する前記アクセスユニットから開始するPOCリセット期間を示すデータを備える、請求項9に記載の方法。
  14. 前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの前記第1のピクチャおよび任意の他のピクチャのためのPOC値リセットを実行することをさらに備える、請求項9に記載の方法。
  15. 前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの各ピクチャを符号化するための参照ピクチャリストを構築することをさらに備える、請求項9に記載の方法。
  16. 前記DPBのすべてのピクチャを出力することが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を備える、請求項9に記載の方法。
  17. ビデオデータをコーディングするためのデバイスであって、
    マルチレイヤビデオデータを記憶するように構成された復号ピクチャバッファ(DPB)を備えるメモリと、
    前記マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングすることと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
    前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、前記DPB内に記憶されたすべてのピクチャを出力することと、
    を行うように構成されたビデオコーダと、
    を備える、デバイス。
  18. 前記DPBに記憶されたすべてのピクチャを出力するために、前記ビデオコーダが、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力するように構成される、請求項17に記載のデバイス。
  19. すべてのピクチャを出力するために、前記ビデオコーダが、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力するように構成される、請求項17に記載のデバイス。
  20. 前記POCリセットを示す前記データをコーディングするために、前記ビデオコーダが、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータを復号するように構成される、請求項17に記載のデバイス。
  21. 前記POCリセットを示す前記データが、前記第1のピクチャを包含する前記アクセスユニットから開始するPOCリセット期間を示すデータを備える、請求項17に記載のデバイス。
  22. 前記ビデオコーダが、前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの前記第1のピクチャおよび任意の他のピクチャのためのPOC値リセットを実行するようにさらに構成される、請求項17に記載のデバイス。
  23. 前記ビデオコーダが、前記DPBのすべてのピクチャを出力した後、前記アクセスユニットの各ピクチャを復号するための参照ピクチャリストを構築するようにさらに構成される、請求項17に記載のデバイス。
  24. 前記DPBのすべてのピクチャを出力するために、前記ビデオコーダが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を行うように構成される、請求項17に記載のデバイス。
  25. 前記デバイスが、
    集積回路、
    マイクロプロセッサ、または
    ワイヤレス通信デバイス
    のうちの少なくとも1つを備える、請求項17に記載のデバイス。
  26. ビデオデータをコーディングするためのデバイスであって、
    マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングするための手段と、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
    前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力するための手段と、
    を備える、デバイス。
  27. 前記DPBに記憶されたすべてのピクチャを出力するための前記手段が、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力するための手段を備える、請求項26に記載のデバイス。
  28. すべてのピクチャを出力するための前記手段が、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力するための手段を備える、請求項26に記載のデバイス。
  29. 前記POCリセットを示す前記データをコーディングするための前記手段が、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータをコーディングするための手段を備える、請求項26に記載のデバイス。
  30. 前記DPBのすべてのピクチャを出力することが、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力するための手段と、を備える、請求項26に記載のデバイス。
  31. 命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、
    マルチレイヤビデオデータの第1の受信レイヤの第1のピクチャのピクチャ順序カウント(POC)値のためのPOCリセットを示すデータをコーディングすることと、ここにおいて、前記第1のピクチャがアクセスユニット中に含まれ、
    前記第1のピクチャの前記POC値のための前記POCリセットを示す前記データに基づいて、および前記第1のピクチャを復号するより前に、コーディング順序において前記第1のピクチャに先行する、および前記アクセスユニット中に含まれない、復号ピクチャバッファ(DPB)内に記憶されたすべてのピクチャを出力することと、
    を行わせる、非一時的コンピュータ可読記憶媒体。
  32. 前記DPBに記憶されたすべてのピクチャを出力するために、前記命令が前記プロセッサに、出力のために必要とされるとマークされた、前記DPB内のすべてのピクチャを出力することを行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  33. すべてのピクチャを出力するために、前記命令が前記プロセッサに、前記第1のピクチャのビデオデータの初期のスライスのスライスヘッダを復号した後、および前記スライスのペイロードを復号するより前に、すべてのピクチャを出力することを行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  34. 前記POCリセットを示す前記データをコーディングするために、前記命令が前記プロセッサに、ビデオデータの前記第1のピクチャのスライスのためのPOCリセットインデックスを表すデータをコーディングすることを行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  35. 前記DPBのすべてのピクチャを出力するために、前記命令が前記プロセッサに、最小のピクチャ順序カウント(POC)値を有する前記DPBのピクチャから開始して、前記DPBの前記ピクチャの前記POC値の昇順で、前記DPBの前記ピクチャを出力することと、レイヤidの昇順で、前記DPBの同じPOC値を有するピクチャを出力することと、を行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
JP2016538600A 2013-12-12 2014-12-12 マルチレイヤビデオコーディングのためのpoc値設計 Active JP6441354B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361915497P 2013-12-12 2013-12-12
US61/915,497 2013-12-12
US14/567,710 2014-12-11
US14/567,710 US9942546B2 (en) 2013-12-12 2014-12-11 POC value design for multi-layer video coding
PCT/US2014/070023 WO2015089399A1 (en) 2013-12-12 2014-12-12 Poc value design for multi-layer video coding

Publications (3)

Publication Number Publication Date
JP2017505019A true JP2017505019A (ja) 2017-02-09
JP2017505019A5 JP2017505019A5 (ja) 2017-12-28
JP6441354B2 JP6441354B2 (ja) 2018-12-19

Family

ID=53370072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016538600A Active JP6441354B2 (ja) 2013-12-12 2014-12-12 マルチレイヤビデオコーディングのためのpoc値設計

Country Status (7)

Country Link
US (2) US9654774B2 (ja)
EP (1) EP3080993B1 (ja)
JP (1) JP6441354B2 (ja)
KR (1) KR102329648B1 (ja)
CN (1) CN105794211B (ja)
CA (1) CA2929719C (ja)
WO (2) WO2015089399A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103843341B (zh) * 2011-09-27 2017-06-13 瑞典爱立信有限公司 用于管理视频解码过程中的画面的解码器及其方法
WO2014186542A1 (en) * 2013-05-15 2014-11-20 Vid Scale, Inc. Single loop decoding based inter layer prediction
US10085034B2 (en) * 2013-07-12 2018-09-25 Sony Corporation Image coding apparatus and method
US9674544B2 (en) 2013-11-25 2017-06-06 Qualcomm Incorporated POC value design for multi-layer video coding
US9654774B2 (en) 2013-12-12 2017-05-16 Qualcomm Incorporated POC value design for multi-layer video coding
CN104754358B (zh) * 2013-12-27 2019-02-19 中兴通讯股份有限公司 码流的生成和处理方法、装置及系统
US10115377B2 (en) 2015-09-24 2018-10-30 Intel Corporation Techniques for video playback decoding surface prediction
KR102477964B1 (ko) * 2015-10-12 2022-12-16 삼성전자주식회사 미디어 전송 시스템에서 비디오 비트스트림의 임의 접근 및 재생을 가능하게 하는 기법
CN107886026B (zh) * 2016-09-30 2019-12-13 腾讯科技(深圳)有限公司 图形码处理方法及装置
US11284080B2 (en) * 2016-12-30 2022-03-22 Telefonaktiebolaget Lm Ericsson (Publ) Decoded picture buffer management for handling cross-picture data prediction
US20190141320A1 (en) * 2017-11-07 2019-05-09 Qualcomm Incorporated Enhanced reference picture management in video coding
JP2021534673A (ja) 2018-08-17 2021-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオコーディングにおける参照ピクチャ管理
CA3152933A1 (en) * 2019-09-24 2021-04-29 Ye-Kui Wang Support of mixed irap and non-irap pictures within an access unit in multi-layer video bitstreams
US11785205B2 (en) * 2019-12-24 2023-10-10 Qualcomm Incorporated Shared decoder picture buffer for multiple layers
US11356698B2 (en) * 2019-12-30 2022-06-07 Tencent America LLC Method for parameter set reference constraints in coded video stream
CN113286140B (zh) * 2021-05-11 2022-09-02 北京飞讯数码科技有限公司 一种视频编解码测试方法、装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013054951A1 (en) * 2011-10-13 2013-04-18 Sharp Kabushiki Kaisha Tracking a reference picture based on a designated picture on an electronic device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101668215A (zh) * 2003-02-18 2010-03-10 诺基亚有限公司 图像解码方法
JP5068947B2 (ja) * 2003-02-18 2012-11-07 ノキア コーポレイション ピクチャの符号化方法
EP2008461B1 (en) 2006-03-30 2015-09-16 LG Electronics Inc. A method and apparatus for decoding/encoding a multi-view video signal
CN101496407B (zh) * 2006-07-06 2013-02-06 汤姆逊许可证公司 用于针对多视角视频编码和解码解耦合帧号和/或图像顺序计数(poc)的方法和装置
US20120230409A1 (en) * 2011-03-07 2012-09-13 Qualcomm Incorporated Decoded picture buffer management
US20140254681A1 (en) 2013-03-08 2014-09-11 Nokia Corporation Apparatus, a method and a computer program for video coding and decoding
US9532052B2 (en) 2013-04-08 2016-12-27 Qualcomm Incorporated Cross-layer POC alignment for multi-layer bitstreams that may include non-aligned IRAP pictures
CN105981387B (zh) 2013-10-15 2019-09-27 诺基亚技术有限公司 用于处理视频的方法、装置和计算机可读存储介质
US9628820B2 (en) 2013-11-19 2017-04-18 Qualcomm Incorporated POC value design for multi-layer video coding
US9674544B2 (en) 2013-11-25 2017-06-06 Qualcomm Incorporated POC value design for multi-layer video coding
US9654774B2 (en) 2013-12-12 2017-05-16 Qualcomm Incorporated POC value design for multi-layer video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013054951A1 (en) * 2011-10-13 2013-04-18 Sharp Kabushiki Kaisha Tracking a reference picture based on a designated picture on an electronic device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ADARSH K. RAMASUBRAMONIAN, ET AL.: "MV-HEVC/SHVC HLS: On picture order count", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JCTVC-O0213, JPN6018040753, 15 October 2013 (2013-10-15), pages 1 - 10 *
YING CHEN, ET AL.: "MV-HEVC/SHVC HLS: Cross-layer POC alignment", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSIONS OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/W, vol. JCT3V-E0075, JPN6018040752, 16 July 2013 (2013-07-16), pages 1 - 4 *

Also Published As

Publication number Publication date
KR102329648B1 (ko) 2021-11-19
EP3080993B1 (en) 2024-01-17
US20150172655A1 (en) 2015-06-18
CN105794211B (zh) 2019-04-02
US9654774B2 (en) 2017-05-16
WO2015089415A1 (en) 2015-06-18
EP3080993A1 (en) 2016-10-19
CA2929719A1 (en) 2015-06-18
CN105794211A (zh) 2016-07-20
JP6441354B2 (ja) 2018-12-19
CA2929719C (en) 2022-11-01
KR20160096144A (ko) 2016-08-12
EP3080993C0 (en) 2024-01-17
US20150172667A1 (en) 2015-06-18
WO2015089399A1 (en) 2015-06-18
US9942546B2 (en) 2018-04-10
BR112016013141A2 (pt) 2017-08-08

Similar Documents

Publication Publication Date Title
JP6441354B2 (ja) マルチレイヤビデオコーディングのためのpoc値設計
KR102312763B1 (ko) 비디오 정보의 스케일러블 코딩을 위한 디바이스 및 방법
JP6117243B2 (ja) ビデオコーディング用のコーディングパラメータセットおよびnalユニットヘッダ
JP6009569B2 (ja) 参照ピクチャシグナリングおよび復号ピクチャバッファ管理
JP6513650B2 (ja) ビデオコーディングのための復号ピクチャバッファ動作
JP6158422B2 (ja) アラインされていないirapピクチャを含み得るマルチレイヤビットストリームのクロスレイヤpocアラインメント
KR102151834B1 (ko) 고효율 비디오 코딩 확장물들에서 타겟 출력 계층들의 선택
JP6169689B2 (ja) ビデオコーディングにおける長期参照ピクチャのランダムアクセスおよびシグナリング
JP6162228B2 (ja) ビデオコード化のための長期参照ピクチャについてのデータの信号伝達
JP6453355B2 (ja) マルチレイヤビデオコーディングのためのpoc値設計
JP2017522799A (ja) ビットストリームパーティションのためのhrdパラメータを信号伝達すること
JP6434044B2 (ja) ビデオ情報のスケーラブルコード化のための機器及び方法
JP2017514354A (ja) マルチレイヤ・ビデオコーディングのためのpoc値設計
JP6479798B2 (ja) マルチレイヤビデオコーディングのためのpoc値設計

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181010

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: 20181023

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181121

R150 Certificate of patent or registration of utility model

Ref document number: 6441354

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250