[0020]本開示は、長期基準ピクチャのシグナリング、及び、瞬時復号リフレッシュ(instantaneous decoding refresh)(IDR)ピクチャと、クリーンランダムアクセス(clean random access(CRA)ピクチャと、ブロークンリンクアクセス(broken link access(BLA)ピクチャと、を含むランダムアクセスポイントピクチャに関するパラメータの改良されたコーディングに関する様々な技法について説明する。
[0021]映像コーディング規格は、ITU−H.261、ISO/IEC MPEG−1 Visual、ITU−H.262又はISO/IEC MPEG−2 Visual、ITU−H.263、ISO/IEC MPEG−4 Visual及びITU−T H.264(ISO/IEC MPEG−4 AVCとも呼ばれる)を含み、スケーラブル映像コーディング(SVC)と、マルチビュー映像コーディング(MVC)拡張とを含む。さらに、ITU−Tビデオコーディングエキスパーツグループ(VCEG)及びISO/IECモーションピクチャエキスパーツグループ(MPEG)の映像コーディングに関する共同作業チーム(JCT−VC)によって現在策定中の新しい映像コーディング規格、すなわち、高効率映像コーディング(High Efficiency Video Coding(HEVC)、が存在する。HEVCの最近のワーキングドラフト(WD)は、以後HEVC WD7と呼ばれ、http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v5.zipから入手可能である。
[0022]概して、映像コーディングは、個々のピクチャをコーすることを含む。各ピクチャは、ブロック(例えば、HEVCにおけるコーディングユニット又は“CU”)に分割し、予測的にコーディングすることができる。予測は、概して、空間(すなわち、イントラピクチャ予測)又は時間(すなわち、インターピクチャ予測)であることができる。例えば、三次元映像コーディングに関する、多層映像コーディング技法では、ピクチャのブロックは、インナーレイヤコーディング又はインタービューコーディングすることもでき、インターピクチャ時間予測と実質的に同様の方法である。本開示の技法は、主に、インター予測、例えば、時間予測、が対象である。時間的インター予測では、現在のピクチャは、1つの時間的方向のピクチャ(例えば、現在のピクチャよりも早い表示値を有するピクチャ又は現在のピクチャよりも遅い表示値を有するピクチャ)からインター予測することができる。1つの時間的方向におけるインター予測は、典型的には、単一方向予測と呼ばれ、“Pモード”予測により行われる。2つの時間的方向におけるインター予測、すなわち、現在のピクチャよりも早い表示順序を有するピクチャ及び現在のピクチャよりも遅い表示順序を有するピクチャから予測されるブロック、は、典型的には、両方向予測と呼ばれ、“Bモード”予測により行われる。
[0023]インター予測を行うときには、映像コーダは、典型的には、1つ以上の基準ピクチャリストを構築する。例えば、“リスト0”は、現在のピクチャの表示順序もよりも早い表示順序を有する基準ピクチャを含むことができ、“リスト1”は、現在のピクチャの表示順序よりも遅い表示順序を有する基準ピクチャを含むことができる。このように、現在のピクチャの特定のブロックに関する基準ピクチャを識別するために、映像コーダは、基準ピクチャがいずれのリストに入っているか、及びリストへのインデックスを示す構文要素をコーディングすることができる。基準ピクチャを識別するこの方法は、ピクチャを直接識別するよりも少ないビットを使用することができる。
[0024]基準ピクチャは、2つのタイプの基準ピクチャ、すなわち、長期基準ピクチャ(LTRP)及び短期基準ピクチャ(STRP)、を含むことができる。今度は、HEVCにおけるLTRP及びそれらのシグナリングについて説明される。基準ピクチャは、1に等しいnal_ref_flagを有するピクセルであると定義される。基準ピクチャには、復号順序で後続するピクチャの復号プロセスにおけるインター予測のために使用することができるサンプルが入っている。長期基準ピクチャは、“長期基準のために使用される”と表示される基準ピクチャであると定義される。
[0025]上記のように、映像コーダは、現在のインター予測コーディングされたピクチャに関する1つ以上の基準ピクチャリストを構築することができる。映像コーダは、基準ピクチャセットから基準ピクチャリストを構築することができる。映像コーダは、基準ピクチャセットを構築する方法を表すデータをさらにコーディングすることができ、それは、いずれのLTRPが基準ピクチャセットに含められるべきかを示すデータをコーディングすることを含むことができる。例えば、映像コーダは、現在のピクチャのスライスに関するスライスヘッダにおいて、スライスのデータをコーディングするためにいずれのLTRPが基準ピクチャセットに含められるべきかを表すデータをコーディングすることができる。代替として、LTRPを表すデータは、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、又はその他の該データ構造内に含めることができる。すなわち、PPSは、現在のスライスを含む現在のピクチャに対応することができ、他方、SPSは、現在のピクチャを含むピクチャのシーケンスに対応することができる。
[0026]LTRPを表すデータは、LTRPに関するピクチャオーダーカウント(POC)値を表すデータを含むことができる。本開示は、LTRPに関するPOC値のコーディングを対象とする技法について説明する。POC値は、概して、ビットのシーケンスに対応する。従って、LTRPに関するPOC値は、2つの部分、すなわち、最上位ビット(MSB)及び最下位ビット(LSB)、でコーディングすることができる。所定のPOC値のMSB及びLSBは、連結されたときに、完全なPOC値を形成する。MSB及びLSBは、別々にコーディングすることができる。LTRPに関するPOC値のMSBは、2つ以上のLTRPに関するPOC値が同じLSBを有するときにコーディングすることができる。
[0027]本開示の技法により、映像コーダ、例えば、映像符号器又は映像復号器は、例えば、LTPRに関するPOC値のMSBをコーディングするために予測コーディング法を使用するように構成することができる。映像コーダは、現在のピクチャを適切に復号するために受信されていなければならないピクチャに関するPOC値として基準POCを決定することができる。現在のピクチャは、基準ピクチャ、例えば、LTRP、を有するため、現在のピクチャはインター予測コーディングされると仮定される。従って、現在のピクチャを適切に復号するために受信されていなければならないピクチャは、直近のランダムアクセスポイント(RAP)ピクチャ、現在のピクチャに関するその他の基準ピクチャ、又は現在のピクチャ自体さえも含むことができる。本開示の技法は、概して、現在のピクチャ自体又は直近のRAPピクチャのいずれかとして現在のピクチャを適切に復号するために受信されていなければならないピクチャに関して説明されるが、その他のピクチャ、例えば、現在のピクチャが依存するその他のピクチャ、も同様に使用できることが理解されるべきである。
[0028]幾つかの例では、映像コーダは、現在のピクチャに関するLTRPのPOC値に関する基準POC値を、現在のピクチャ自体に関するPOC値又は(コーディング順序、例えば、符号化順序又は復号順序で)直近のRAPピクチャに関するPOC値のいずれかであると決定することができる。いずれの場合も、映像コーダは、基準POC値のMSBを、LTRPに関するPOC値のMSBに関する予測値として使用することができる。従って、映像コーダは、基準POC値のMSBと、LTRPに関するPOC値(LTRP POC値と時々呼ばれる)のMSBとの間の差分を表す差分値をコーディングすることができる。例えば、映像符号器は、LTRPに関するPOC値から基準POC値のMSBを減じることによって差分を計算し、次に差分を符号化することができる。他の例として、映像復号器は、差分を復号し、次に、LTRPに関するMSBを再生(reproduce)するために基準POC値のMSBに差分を加えることができる。
[0029]さらに、映像コーダは、基準POC値を得るためにいずれのピクチャが使用されるかを表す構文要素をコーディングすることができる。すなわち、映像コーダは、LTRPに関する基準POCが現在のピクチャ又は直近のRAPピクチャのいずれに対応するかを示す構文要素に関する値をコーディングすることができる。例えば、映像符号器は、例えば、これらの2つのPOCのうちのどちらが最低の差分値を生成するかの決定に基づいて、基準POCが現在のピクチャに関するPOC値に対応すべきか又は直近のRAP値に対応すべきかを決定することができる。他の例として、映像復号器は、基準POCが現在のピクチャに関するPOCであるか又は直近のRAPピクチャに関するPOCであるかを決定するために構文要素を復号し及び構文要素に関する復号された値を使用することができる。
[0030]上述されるように、本開示は、RAPピクチャのコーディング及び処理に関連する技術についても説明する。RAPピクチャは、IDRピクチャと、CRAピクチャと、BLAピクチャとを含む。復号順序でRAPピクチャに後続するが、出力順序(又は表示順序)でRAPピクチャに先行するピクチャは、RAPピクチャと関連付けられたリーディングピクチャ(leading picture)(又はRAPピクチャのリーディングピクチャ)と呼ばれる。特定のCRA又はBLAピクチャに関して、関連付けられたリーディングピクチャの一部は、CRA又はBLAピクチャがビットストリーム内の最初のピクチャであるときでさえも正確に復号可能である。これらのリーディングピクチャは、復号可能リーディングピクチャ(DLP)と呼ばれ、その他のリーディングピクチャは、復号不能リーディングピクチャ(NLP)と呼ばれる。NLPは、最新のHEVCドラフト仕様では廃棄タグ付き(TFD)ピクチャとも呼ばれる。
[0031]この節では、HEVC WD7におけるLTRPのシグナリングについて説明される。SPS内のフラグは、コーディングされた映像シーケンスに関してLTRPがシグナリングされるかどうかを示す。スライスヘッダにおいて、LTRPのピクチャオーダーカウント(POC)値のLSB値が明示でシグナリングされる。LTRPと同じLSBビットを有する基準ピクチャがDPB内に2つ以上存在する場合は、LTRPのPOCのMSBビットがシグナリングされる。最後に、シグナリングされたLTRPを基準のために現在のピクチャによって使用することができるかどうかを示すためにフラグが使用される。
[0032]今度は、ランダムアクセス及びビットストリームスプライシングが説明される。ランダムアクセスは、映像ビットストリーム内における第1のコーディングされたピクチャでないコーディングされたピクチャから始める映像ビットストリームの復号を意味する。ビットストリームへのランダムアクセスは、多くの映像アプリケーション、例えば、放送及びストリーミング、例えば、ユーザが異なるチャネル間で切り換わるために、映像の特定の部分にジャンプする、又は(例えば、ビットレート、フレームレート、空間解像度、等の)ストリーム適合化のために異なるビットストリームに切り換わる、において必要である。この特徴は、ランダムアクセスピクチャ又はランダムアクセスポイントを、多くの場合は定期的な間隔で、ビットストリーム内に挿入することによって可能にされる。
[0033]ビットストリームスプライシングは、2つ以上のビットストリーム又はそれらの一部分の連結を意味する。例えば、スライシングされたビットストリームを生成するために、第1のビットストリームを第2のビットストリームに、おそらくそれらのビットストリームのうちの1つ又は両方をある程度修正することによって添付することができる。第2のビットストリーム内の第1のコーディングされたピクチャは、スプライシングポイントとも呼ばれる。従って、スライシングされたビットストリーム内のスプライシングポイントに後続するピクチャは、第2のビットストリームから発生し、スライシングされたビットストリーム内のスプライシングポイントに先行するピクチャは、第1のビットストリームから発生する。
[0034]ビットストリームのスプライシングは、ビットストリームスプライサ(splicer)によって行われる。ビットストリームスプライサは、しばしば、軽量級であり、符号器よりもインテリジェント度がはるかに低い。例えば、それらは、エントロピー復号及び符号化能力を装備することができない。
[0035]ビットストリーム切り換えは、適合的ストリーミング環境において使用することができる。ビットストリームへの切り換えにおけるある一定のピクチャでのビットストリーム切り換え動作は、実効的には、スプライシングポイントがビットストリーム切り換えポイント、すなわち、ビットストリームへの切り換えからの第1のピクチャ、であるビットストリームスプライシング動作である。
[0036]今度は、ランダムアクセスポイント(RAP)ピクチャについて説明される。AVC又はHEVCにおいて規定される瞬時復号リフレッシュ(IDR)ピクチャをランダムアクセスのために使用することができる。しかしながら、復号順序でIDRピクチャに後続するピクチャは、IDRピクチャの以前に復号されたピクチャは基準として使用することができず、ランダムアクセスに関してIDRピクチャに依存するビットストリームは、大幅により低いコーディング効率を有する可能性がある。
[0037]コーディング効率を向上させるために、HEVCでは、復号順序ではCRAピクチャに後続し、出力順序ではそれに先行するピクチャがCRAピクチャよりも前に復号されたピクチャを基準として使用するのを可能にするためにクリーンランダム(CRA)ピクチャの概念が導入された。復号順序ではCRAピクチャに後続するが出力順序ではCRAピクチャに先行するピクチャは、CRAピクチャと関連付けられたリーディングピクチャ(又は、CRAピクチャのリーディングピクチャ)と呼ばれる。CRAピクチャのリーディングピクチャは、現在のCRAピクチャより前のIDR又はCRAピクチャから復号が開始した場合は正確に復号可能である。しかしながら、CRAピクチャのリーディングピクチャは、CRAピクチャからのランダムアクセスが生じたときには正確に復号できない。従って、リーディングピクチャは、典型的には、ランダムアクセス復号中に廃棄される。復号がどこから開始するかに依存して利用可能でないことがある基準ピクチャからの誤り伝播を防止するために、復号順序及び出力順序の両方においてCRAピクチャに後続するすべてのピクチャが、(リーディングピクチャを含む)復号順序又は出力順序のいずれかにおいてCRAピクチャに先行するピクチャを基準として使用しないものとする。
[0038]HEVCでは、CRAピクチャの導入後に、CRAピクチャの概念に基づいてブロークンリンクアクセス(BLA)ピクチャの概念がさらに導入された。BLAピクチャは、典型的には、CRAピクチャの位置においてのビットストリームのスライシングから発生し、スプライシングされたビットストリーム内において、スプライシングポイントCRAピクチャは、BLAピクチャに変更される。
[0039]IDRピクチャ、CRAピクチャ及びBLAピクチャは、総称して、ランダムアクセスポイント(RAP)ピクチャと呼ばれる。BLAピクチャとCRAピクチャの間の相違点は、次の通りである。CRAピクチャに関しては、関連付けられたリーディングピクチャは、復号が復号順序においてCRAピクチャよりも前のRAPピクチャから開始する場合は正確に復号可能であり、CRAピクチャからのランダムアクセスが生じたときには正確に復号できない(すなわち、復号がCRAピクチャから開始したとき、換言すると、CRAピクチャがビットストリーム内の第1のピクチャであるとき)。BLAピクチャに関しては、関連付けられたリーディングピクチャは、復号が復号順序においてBLAピクチャよりも前のRAPピクチャから開始したときでさえも、すべての場合において正確に復号可能でない。
[0040]特定のCRA又はBLAピクチャに関して、関連付けられたリーディングピクチャの一部は、CRA又はBLAピクチャがビットストリーム内の第1のピクチャであるときでさえも正確に復号可能である。これらのリーディングピクチャは、復号可能リーディングピクチャ(DLP)と呼ばれ、その他のリーディングピクチャは、復号不能リーディングピクチャ(NLP)と呼ばれる。NLPは、最新のHEVCドラフト仕様では廃棄タグ付き(TFD)ピクチャとも呼ばれる。
[0041]今度は、BLAピクチャへのCRAピクチャの変更について説明される。BLAピクチャは、例えば、同時係属出願中の、共通して譲渡された米国仮特許出願第61/643,100号(出願日:2012年5月4日)においては、ブロークンリンクCRA(BLC)ピクチャとも呼ばれた。該米国仮特許出願は、ここにおける引用によってもその内容全体がここに組み入れられている。以下において説明される方法は、同様の方法でのBLA又はBLAピクチャへのCRAピクチャの変更を可能にするために米国仮特許出願第61/643,100号において説明されている。
[0042]BLCピクチャへのCRAピクチャの単純な書き換えを可能にするために、no_output_of_prior_pics_flagをCRAピクチャのスライスヘッダに添付することに加えて、no_output_of_prior_pics_flagは、可能な限り早期にスライスヘッダ内に含められるべきであり、エントロピーコーディングされたSHパラメータの後でない、例えば、first_slice_in_pic_flagの直後が好ましい。
[0043]より悪い事態が発生するおそれがある。すなわち、2つのバック・ツー・バック(back−to−back)BLCピクチャが同じPOC LSBを有することになり、それらは、random_access_pic_idのみによって区別することが可能である(又はrap_pic_idに改名する)。従って、rap_pic_idに関して固定長コーディングを使用すること、及び、例えば、CRAピクチャ及びBLAピクチャの両方に関して、可能な限り早期にスライスヘッダ内に含めることか好ましく、エントロピーコーディングされたスライシングされたヘッダパラメータの後ではなく、例えば、first_slice_in_pic_flag及びno_output_of_prior_pics_flagの直後が好ましい。ピクチャ境界検出のために使用することができるその他のスライスヘッダ構文要素に関しても同様である。例えば、pic_parameter_set_id、及びPOC LSB(すなわち、pic_order_cnt_lsb)。
[0044]幾つかの問題が存在する可能性がある。例えば、既存のLTRPシグナリング方法は、誤りに弱い(例えば、POC LSBのみを通じてのLTRPのシグナリング)又は効率的でない(例えば、シーケンスパラメータセット又はピクチャパラメータセットにおいてLTRPをシグナリングするのが可能でない)。CRAピクチャをBLAピクチャに変更するための既存の方法は、no_output_of_prior_pics_flagの変更を要求し、rap_pic_idのコーディングに関してビットを浪費することがある。本開示の技法は、上述される問題を克服するために実装することができる。これらの技法が以下においてさらに詳細に説明される。
[0045]図1は、本開示において説明される技法を利用することができる映像符号化及び復号システム例10を示したブロック図である。図1において示されるように、システム10は、行先デバイス14によってのちに復号されるべき符号化された映像データを生成するソースデバイス12を含む。ソースデバイス12及び行先デバイス14は、広範なデバイスを備えることができ、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆる“スマート”フォン、いわゆる“スマート”パッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイス、等を含む。幾つかの場合は、ソースデバイス12及び行先デバイス14は、無線通信のために装備することができる。
[0046]行先デバイス14は、リンク16を介して復号されるべき符号化された映像データを受信することができる。リンク16は、符号化された映像データをソースデバイス12から行先デバイス14に移動させることが可能なタイプの媒体又はデバイスを備えることができる。一例では、リンク16は、ソースデバイス12が符号化された映像データをリアルタイムで直接行先デバイス14に送信するのを可能にする通信媒体を備えることができる。符号化された映像データは、通信規格、例えば、無線通信プロトコル、によりを変調することができ、及び行先デバイス14に送信することができる。通信媒体は、無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的送信ライン、を備えることができる。通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又はソースデバイス12から行先デバイス14への通信を容易にするのに役立つことができるその他のあらゆる装置を含むことができる。
[0047]代替として、符号化されたデータは、出力インタフェース22から記憶デバイス34に出力することができる。同様に、符号化されたデータは、入力インタフェースによって記憶デバイス34からアクセスすることができる。記憶デバイス34は、様々な分散された又はローカルでアクセスされるデータ記憶媒体、例えば、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は非揮発性メモリ、又は符号化された映像データを格納するためのその他の適切なデジタル記憶媒体を含むことができる。さらなる例では、記憶デバイス36は、ソースデバイス12によって生成された符号化された映像を保持することができるファイルサーバ又は他の中間的な記憶デバイスに対応することができる。
[0048]行先デバイス14は、ストリーミング又はダウンロードを介して記憶デバイス36から格納された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納すること及び符号化された映像データを行先デバイス14に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、(例えば、ウェブサイトのための)ウェブサーバと、FTPサーバと、ネットワーク接続記憶(NAS)デバイスと、ローカルディスクドライブと、を含む。行先デバイス14は、インターネット接続を含む標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。これは、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム、等)、又は両方の組み合わせを含むことができる。記憶デバイス34からの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
[0049]本開示の技法は、無線の用途またはセッティングには必ずしも限定されない。それらの技法は、映像コーディングに適用することができ、様々なマルチメディア用途、例えば、オーバー・ザ・エアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体への格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートする。幾つかの例では、システム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、等の用途をサポートするために1方向又は2方向の映像送信をサポートするように構成することができる。
[0050]図1の例では、ソースデバイス12は、映像ソース18と、映像符号器20と、出力インタフェース22と、を含む。幾つかの場合は、出力インタフェース22は、変調器/復調器(モデム)及び/又は送信機を含むことができる。ソースデバイス12において、映像ソース18は、ソース、例えば、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、映像コンテンツプロバイダからの映像を受信するための映像フィードインタフェース、及び/又は、コンピュータグラフィックスデータをソース映像として生成するためのコンピュータグラフィックスシステム、又は該ソースの組み合わせ、を含むことができる。一例として、映像ソース18がビデオカメラである場合は、ソースデバイス12及び行先デバイス14は、いわゆるカメラフォン又はビデオフォンであることができる。しかしながら、本開示において説明される技法は、映像コーディング全般に適用可能であり、無線及び/又は有線用途に適用することができる。
[0051]キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、映像符号器20によって符号化することができる。符号化された映像データは、ソースデバイス12の出力インタフェース22を介して行先デバイス14に直接送信することができる。符号化された映像データは、復号及び/又は再生のために行先デバイス14又はその他のデバイスによってのちにアクセスするために記憶媒体34に格納することもできる(又は代替で)。
[0052]行先デバイス14は、入力インタフェース28と、映像復号器30と、表示装置32と、を含む。幾つかの場合は、入力インタフェース28は、受信機及び/又はモデムを含むことができる。行先デバイス14の入力インタフェース28は、リンク16を通じて符号化された映像データを受信する。符号化された映像データは、リンク16を通じて通信されるか、又は記憶デバイス36で提供され、映像データを復号する際の映像復号器、例えば、映像復号器30、による使用のために映像符号器20によって生成された様々な構文要素を含むことができる。該構文要素は、通信媒体で送信された符号化された映像データとともに含めること、記憶媒体に格納すること、又はファイルサーバに格納することができる。
[0053]表示装置32は、行先デバイス14と一体化することができ又は外部に存在することができる。幾つかの例では、行先デバイス14は、一体化された表示装置を含むことができ及び外部の表示装置とインタフェースするように構成することもできる。その他の例では、行先デバイス14は、表示装置であることができる。概して、表示装置32は、復号された映像データをユーザに表示し、様々な表示装置、例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置、のうちのいずれかを備えることができる。
[0054]映像符号器20及び映像復号器30は、映像圧縮規格、例えば、現在策定中の高効率映像コーディング(HEVC)規格、により動作することができ、及び、HEVCテストモデル(HM)に準拠することができる。2012年7月2日現在において、HEVCの最近のドラフトを、http://wg11.sc29.org/jct/doc_end_user/current_document.php?id=5885/JCTVC-I1003-v5から入手可能であり、ここにおける引用によってその内容全体が組み入れられている。代替として、映像符号器20及び映像復号器30は、その他の独占規格又は工業規格、例えば、ITU−T H.264規格、代替でMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれる、又は該規格の拡張版により動作することができる。しかしながら、本開示の技法は、いずれの特定のコーディング規格にも制限されない。映像圧縮規格のその他の例は、MPEG−2、ITU−T H.263、及びオープンの形式、例えば、VP8、を含む。
[0055]図1には示されていないが、幾つかの態様では、映像符号器20及び映像復号器30は、各々、音声符号器及び復号器と一体化することができ、及び、共通のデータストリーム又は別々のデータストリーム内の音声及び映像の両方の符号化を取り扱うための該当するMUX−DEMUXユニット、又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合は、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル(UDP)に準拠することができる。
[0056]映像符号器20及び映像復号器30は、各々、様々な適切な符号器回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内において部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納することができ及び本開示の技法を実行するために1つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイスにおいて結合された符号器/復号器(CODEC)の一部として一体化することができる。
[0057]JCT−VCは、HEVC規格の策定作業中である。HEVC標準化努力は、HEVCテストモデル(HM)と呼ばれる映像コーディングデバイスの進化中のモデルに基づく。HMは、例えば、ITU−T H.264/AVCによる既存のデバイスと比較して幾つかの追加の映像コーディングデバイス能力を仮定している。例えば、H.264は、9つのイントラ予測符号化モードを提供する一方で、HMは、33ものイントラ予測符号化モードを提供することができる。
[0058]概して、HMのワーキングモデルでは、映像フレーム又はピクチャは、ツリーブロックのシーケンス又はルマサンプルとクロマサンプルの両方を含む最大コーディングユニット(LCU)に分割することができると記述している。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有することができる。スライスは、コーディング順序で連続する幾つかのツリーブロックを含む。映像フレーム又はピクチャは、1つ以上のスライスに分割することができる。各ツリーブロックは、四分木によりコーディングユニット(CU)に分割することができる。例えば、ツリーブロックは、四分木のルートノードとして、4つの子ノードに分割することができ、各子ノードは、親ノードであることができ、他の4つの子ノードに分割することができる。最終的な、分割されない子ノードは、四分木の葉ノードとして、コーディングノード、すなわち、コーディングされた映像ブロックを備える。コーディングされたビットストリームと関連付けられた構文データは、ツリーブロックを分割することができる最大回数を定義することができ、及び、コーディングノードの最小サイズを定義することもできる。
[0059]CUは、コーディングノードと、そのコーディングノードと関連付けられた予測ユニット(PU)及び変換ユニット(U)を含む。CUのサイズは、コーディングノードのサイズに対応し、形状は正方形でなければならない。CUのサイズは、8×8ピクセルからツリーブロックのサイズまでの範囲であることができ、最大サイズは64×64ピクセル以上である。各CUには、1つ以上のPU及び1つ以上のTUが入ることができる。CUと関連付けられた構文データは、例えば、1つ以上のPUへのCUの分割を記述することができる。分割モードは、CUがスキップ又は直接モード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかの間で異なることができる。PUは、形状が非正方形に分割することができる。CUと関連付けられた構文データは、例えば、四分木による1つ以上のTUへのCUの分割も記述することができる。TUの形状は、正方形であっても非正方形であってもよい。
[0060]HEVC規格は、TUによる変形を考慮しており、異なるCUごとに異なることができる。TUは、典型的には、分割されたLCUに関して定義される所定のCU内のPUのサイズに基づいてサイズが設定されるが、常にそうであるわけではない。TUは、典型的には、PUと同じサイズであるか又はそれよりも小さい。幾つかの例では、CUに対応する残差サンプルは、“残差四分木(RQT)”と呼ばれる四分木構造を用いてより小さいユニットに細分割することができる。RQTの葉ノードは、変換ユニット(TU)と呼ぶことができる。TUと関連付けられたピクセル差分値は、変換係数を生成するために変換することができ、それらは量子化することができる。
[0061]概して、PUは、予測プロセスに関連するデータを含む。例えば、PUがイントラモード符号化されるときには、PUは、PUに関するイントラ予測モードを記述するデータを含むことができる。他の例として、PUがインターモード符号化されるときには、PUは、PUに関する動きベクトルを定義するデータを含むことができる。PUに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する分解能(例えば、1/4ピクセル精度又は1/8ピクセル精度)、動きベクトルが指し示す基準ピクチャ、及び/又は動きベクトルに関する基準ピクチャリスト(例えば、リスト0、リスト1、又はリストC)を記述することができる。
[0062]概して、TUは、変換プロセス及び量子化プロセスのために使用される。1つ以上のPUを有する所定のCUは、1つ以上の変換ユニット(TU)も含むことができる。予測後、映像符号器20は、PUに対応する残差値を計算することができる。残差値は、ピクセル差分値を備え、それらは、エントロピーコーディングのためのシリアライズされた(serialized)変換係数を生成するために変換係数に変換し、量子化し、及びTUを用いて走査することができる。本開示は、典型的に、CUのコーディングノードを意味するために用語“映像ブロック”を使用する。幾つかの特定の事例では、本開示は、コーディングノード、PU及びTUを含むツリーブロック、すなわち、LCU、又はCUを意味するために用語“映像ブロック”を使用することもある。
[0063]映像シーケンスは、典型的には、一連の映像フレーム又はピクチャを含む。ピクチャのグループ(GOP)は、概して、映像ピクチャのうちの一連の1つ以上を備える。GOPは、GOP内に含まれるピクチャ数を記述する構文データをGOPのヘッダ、1つ以上のピクチャのヘッダ、又はその他の場所において含むことができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器20は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに対して動作する。映像ブロックは、CU内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格によりサイズが異なることができる。
[0064]一例として、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の1方の方向が分割されず、他方の方向が25%及び75%に分割される。25%の分割に対応するCUの部分は、“n”によって示され、“上(Up)”、“下(Down)”、“左(Left)”、又は“右(Right)”の表示文字によって後続される。従って、例えば、“2N×nU”は、水平に分割され、最上部が2N×0.5N PU、最下部が2N×1.5N PUである2N×2N CUを意味する。
[0065]本開示においては、“N×N”及び“N by N”は、垂直及び水平の寸法に関するブロックのピクチャ寸法を意味するために互換可能な形で使用することができ、例えば、16×16ピクセル又は16 by 16ピクセル。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)及び水平方向に16ピクセル(x=16)を有することになる。同様に、N×Nブロックは、概して、垂直方向にNのピクセル及び水平方向にNのピクセルを有し、ここで、Nは、負でない整数値を表す。ブロック内のピクセルは、行及び列で配列することができる。さらに、ブロックは、水平方向と垂直方向で必ずしも同じピクセル数を有する必要がない。例えば、ブロックは、N×Mピクセルを備えることができ、ここで、Mは必ずしもNと等しくない。
[0066]CUのPUを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器20は、CUのTUに関する残差データを計算することができる。PUは、空間領域(ピクセル領域とも呼ばれる)においてピクセルデータを備えることができ、及び、TUは、変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後に変換領域において係数を備えることができる。残差データは、符号化されないピクチャのピクセルとPUに対応する予測値との間のピクセル差分に対応することができる。映像符号器20は、CUに関する残差データを含むTUを形成することができ、次に、CUに関する変換係数を生成するためにTUを変換することができる。
[0067]変換係数を生成するための変換に引き続き、映像符号器20は、それらの変換係数の量子化を行うことができる。量子化は、概して、係数を表すために使用されるデータ量を低減させ、さらなる圧縮を提供するために変換係数が量子化されるプロセスを意味する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を低減させることができる。例えば、量子化中にnビット値が切り捨てられてmビット値になり、ここで、nはmよりも大きい。
[0068]幾つかの例では、映像符号器20は、エントロピー符号化することができるシリアライズされたベクトルを生成するために量子化された変換係数を走査するために予め定義された走査順序を利用することができる。その他の例では、映像符号器20は、適応型走査を行うことができる。一次元ベクトルを形成するために量子化された変換係数を走査後は、映像符号器20は、例えば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔パーティショニングエントロピー(PIPE)コーディング又は他のエントロピー符号化法により一次元ベクトルをエントロピー符号化することができる。映像符号器20は、映像データを復号する際に映像復号器30によって使用するための符号化された映像データと関連付けられた構文要素もエントロピー符号化することができる。
[0069]CABACを行うために、映像符号器20は、コンテキストモデル内のコンテキストを送信されるべきシンボルに割り当てることができる。コンテキストは、例えば、シンボルの近隣値がゼロでないかどうかに関連することができる。CAVLCを行うために、映像符号器20は、送信されるべきシンボルに関する可変長コードを選択することができる。VLCにおけるコードワードは、相対的により短いコードがより確率の高いシンボルに対応し、より長いコードがより確率の低いシンボルに対応するような形で構築することができる。このように、VLCの使用は、例えば、送信されるべき各シンボルに関して等しい長さのコードワードを使用することと比較してビットの節約を達成することができる。確率決定は、シンボルに割り当てられたコンテキストに基づくことができる。
[0070]本開示の技法により、映像符号器20及び映像復号器30は、LTRPに関するPOC値のMSBのコーディング及びRAPピクチャのコーディングに関連する様々な技法を実行するように構成することができる。一例では、フラグ、delta_poc_lt_curr_pic_flag[i]が、例えば、スライスヘッダ内に加えられ、スライスヘッダ内のフラグdelta_poc_msb_present_flag[i]が取り除かれ、及び、num_long_term_picsが0よりも大きいときはフィールドdelta_poc_msb_cycle_lt[i]が存在する。すなわち、映像符号器20及び映像復号器30は、delta_poc_msb_present_flag[i]に関するよりも、delta_poc_lt_curr_pic_flag[i]に関する値をコーディングするように構成することができる。この例では、delta_poc_lt_curr_pic_flag[i]が1に等しい場合は、現在のピクチャ及び現在のピクチャの長期基準ピクチャセットに含められるべきLTRPのPOC値間の差分がシグナリングされる。そうでない場合は、復号順序で前RAPピクチャのPOC値と現在のピクチャの長期基準ピクチャセットに含められるべきLTRPのPOC値との間の差分がシグナリングされる。
[0071]他の例では、上記の第1の例に加えて、シーケンスパラメータセット(SPS)内のLTRPのシグナリングがイネーブルにされる。代替として、SPSに加えて又はSPSの代替として、LTRPのシグナリングは、ピクチャパラメータセット(PPS)内にあることができる。
[0072]他の例では、CRAピクチャのスライスヘッダ内のno_output_of_prior_pics_flagの値が1に等しくされように指示される。
[0073]他の例では、rap_pic_idは、u(N)記述子を用いてコーディングされ、Nは、5、6、7、8、又は9であり、スライスヘッダ内で早期に、あらゆるエントロピーコーディングされた構文要素よりも前に、置かれる。HEVCにより、“U(N)”は、Nビットを用いた構文要素のコーディングを表す。従って、rap_pic_idは、本開示の技法により、5、6、7、8、又は9ビットを用いてコーディングすることができる。
[0074]映像符号器20及び映像復号器30は、様々な方法で、現在のピクチャのLTRPに関するPOC値(及び、特に、POC値のMSB)をコーディングするように構成することができる。3つの技法例(実装例1、2、及び3と呼ばれる)が以下において説明される。概して、これらの技法例は、現在のピクチャを適切に復号するために受信されていなければならないピクチャ、例えば、直近のランダムアクセスポイント(RAP)ピクチャ又は現在のピクチャ自体、に関するPOC値のMSBからLTRPに関するPOC値のMSBを予測することを含む。
[0075]実装例1に関する構文が以下の表1に示される。映像符号器20及び/又は映像復号器30は、以下の表1において定義される意味論に基づいて、以下の表1によりスライスヘッダをコーディングするように構成することができる。実装例1に関して本開示によって説明される構文、意味論、及び復号プロセスの変更が、以下のHEVC WD7に関して示され、ここで、追加は下線付きのテキストによって表され、削除は、削除線付きのテキストによって表される。
[0076]表1において示されるように、HEVC WD7のスライスヘッダ構文に関して構文要素delta_poc_lt_curr_pic_flag[i]が追加され、構文要素delta_poc_msb_present_flag[i]及び条件文“if(delta_poc_msb_present_flag[i])”が削除される。新しい構文要素に関する意味論が以下において説明され、poc_lsb_lt[i]に関する意味論を以下のように変更することができる。
[0077]poc_lsb_lt[i]は、現在のピクチャの長期基準ピクチャセットに含まれているi番目の長期基準ピクチャのピクチャオーダーカウント値の最下位ビットの値を指定する。poc_lsb_lt[i]構文要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
[0078]delta_poc_lt_curr_pic_flag[i]は、(delta_poc_msb_cycle_lt[i]とともに)現在のピクチャの長期基準ピクチャセットに含まれているi番目の長期基準ピクチャのピクチャオーダーカウント値の最上位ビットの値を決定するために使用される。
[0080]delta_poc_msb_cycle_lt[i]は、(delta_poc_lt_curr_pic_flag[i]とともに)現在のピクチャの長期基準ピクチャセットに含まれているi番目の長期基準ピクチャのピクチャオーダーカウント値の最上位ビットの値を決定するために使用される。
[0082]PicOrderCntMsbは、現在のピクチャのピクチャオーダーカウント値と現在のピクチャのpic_order_cnt_lsbとの間の差分であり、PrevRapPicPocMsbは、復号順序で前RAPピクチャのPicOrderCntVal値と復号順序で前RAPピクチャのpic_order_cnt_lsbとの間の差分である。
[0083]Abs(PicOrderCntVal−PocLt[i])
の値は、1乃至224−1(含む)の範囲内であるものとし、ここで、PicOrderCntValは、現在のピクチャのピクチャオーダーカウント値である。
[0084]次は、実装例1による、基準ピクチャセットに関する復号プロセス例である。
・・・
−現在のピクチャが、ビットストリーム内の最初のコーディングされたピクチャであるCRAピクチャ、IDRピクチャ又はBLAピクチャである場合は、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、及びPotLtFollはすべて空に設定され、NumPocStCurrBefore、NumPocStCurrAfter、NumPocStFoll、NumPocLtCurr、及びNumPotLtFollはすべて0に設定される。
・・・
1.次が適用される。
2.RefPicSetLtCurr及びRefPicSetLtFollに含まれるすべての基準ピクチャは、“長期基準のために使用される”という表示がされる。
3.次が適用される。
4.RefPicSetStCurrBefore、RefPicSetStCurrAfter及びRefPicSetStFollに含まれるすべての基準ピクチャは、“短期基準のために使用される”という表示がされる。
5.RefPicSetLtCurr、RefPicSetLtFoll、RefPicSetStCurrBefore、RefPicSetStCurrAfter及びRefPicSetStFollに含まれていない復号ピクチャバッファ内のすべての基準ピクチャは、“基準のために使用されない”という表示がされる。
[0085]実装例2が以下において説明される。映像符号器20及び/又は映像復号器30は、以下の表2及び表3においてそれぞれ定義される意味論に基づき、以下の表2によりシーケンスパラメータセットを、及び以下の表3によりスライスヘッダをコーディングするように構成することができる。
[0086]HEVC WD7に関する構文、意味論、及び復号プロセスの変更が以下において提供され、ここで、追加は下線付きのテキストによって表され、削除は、削除線付きのテキストによって表される。上記の実装例1に関する追加及び変更は、二重下線付きのテキストを用いて表される。
[0087]実装例2に関する構文及び意味論は以下の表2及び3に示される。
[0090]表3において示されるように、HEVC WD7のスライスヘッダ構文に関して、構文要素delta_poc_lt_curr_pic_flag[i]、num_long_term_sps、及びlt_idx_sps[i]が追加され、他方、構文要素delta_poc_msb_present_flag[i]及び条件文“if(delta_poc_msb_present_flag[i]”)が削除される。さらに、長期基準ピクチャの数に関する新しい条件文が追加される。新しい構文要素に関する意味論が以下において説明され、poc_lsb_lt[i]に関する意味論を以下のように変更することができる。
[0094]poc_lsb_lt[i]は、現在のピクチャの長期基準ピクチャセット内に含まれるi番目の長期基準ピクチャのピクチャオーダーカウント値の最下位ビットの値を指定する。poc_lsb_lt[i]構文要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
[0096]delta_poc_lt_curr_pic_flag[i]は、(delta_poc_msb_cycle_lt[i]とともに)現在のピクチャの長期基準ピクチャセットに含まれているi番目の長期基準ピクチャのピクチャオーダーカウント値の最上位ビットの値を決定するために使用される。
[0098]delta_poc_msb_cycle_lt[i]は、(delta_poc_lt_curr_pic_flag[i]とともに)現在のピクチャの長期基準ピクチャセットに含まれているi番目の長期基準ピクチャのピクチャオーダーカウント値の最上位ビットの値を決定するために使用される。
[0100]PicOrderCntMsbは、現在のピクチャのピクチャオーダーカウント値と現在のピクチャのpic_order_cnt_lsbとの間の差分であり、PrevRapPicPocMsbは、復号順序で前RAPピクチャのPicOrderCntVal値と復号順序で前RAPピクチャのpic_order_cnt_lsbとの間の差分である。
[0102]基準ピクチャセットに関する復号プロセスは、次の擬似コード及びその説明に準拠することができる。
[0103]実装例3が以下において説明される。映像符号器20及び/又は映像復号器30は、以下の表4及び表5においてそれぞれ定義される意味論に基づき、以下の表4によりシーケンスパラメータセットを、及び以下の表5によりスライスヘッダをコーディングするように構成することができる。
[0104]HEVC WD7に関する構文、意味論、及び復号プロセスの変更が以下において提供され、ここで、追加は下線付きのテキストによって表され、削除は、削除線付きのテキストによって表される。
[0105]実装例3に関する構文及び意味論は以下の表4及び5に示される。
[0106]表4において定義される新しい構文要素に関する意味論が、この例に関して、以下において説明される。
[0107]num_long_term_ref_pics_spsは、シーケンスパラメータセットにおいて指定される長期基準ピクチャの数を指定する。num_long_term_ref_pics_spsの値は、0乃至32(この数字を含む)の範囲内であるものとする。
[0108]1に等しいsps_lt_poc_delta_flag[i]は、sps_lt_poc_bits[i]がシーケンスパラメータセットにおいて指定されるi番目の長期基準ピクチャのピクチャオーダーカウントとRAPピクチャのピクチャオーダーカウント値との間の差分を表すことを指定する。0に等しいsps_lt_poc_delta_flag[i]は、sps_lt_poc_bits[i]がシーケンスパラメータセットにおいて指定されるi番目の長期基準ピクチャのピクチャオーダーカウントの最下位ビットを表すことを指定する。
[0109]sps_lt_poc_len[i]plus log2_max_pic_order_cnt_lsb_minus4 plus4は、sps_lt_poc_bits[i]を表すために使用されるビット数を指定する。
[0110]変数MaxPicOrderCntLsb2は、この例では、次のように導き出される。
[0111]
sps_lt_poc_bits[i]は、(その他の構文要素とともに)シーケンスパラメータセットにおいて指定されるi番目の長期基準ピクチャのピクチャオーダーカウントを決定するために使用される。sps_lt_poc_bits[i]を表すために使用されるビット数は、sps_lt_poc_len[i]+log2_max_pic_order_cnt_lsb_minus4+4に等しいものとする。
[0112]表5の新しい構文要素に関する意味論が、この例に関して、以下において説明される。
[0113]num_long_term_picsは、現在のピクチャの長期基準ピクチャセット内に含められ及びスライスヘッダにおいて直接シグナリングされる長期基準ピクチャの数を指定する。num_long_term_picsの値は、0乃至sps_max_dec_pic_buffering[sps_max_temporal_layers_minus1]−NumNegativePics[StRpsIdx]−NumPositivePics[StRpsIdx]−num_long_term_sps(含む)の範囲内であるものとする。存在しないときには、num_long_term_picsの値は、0に等しいと推論される。
[0114]num_long_term_spsは、アクティブシーケンスパラメータセットにおいて指定され及び現在のピクチャの長期基準ピクチャセット内に含められるべき長期基準ピクチャの数を指定する。num_long_term_spsが存在しない場合は、その値は、0に等しいと推論される。num_long_term_spsの値は、0乃至Min(num_long_term_ref_pics_sps,max_dec_pic_buffering[max_temporal_layers_minus1]−NumNegativePics[StRpsIdx]−NumPositivePics[StRpsIdx]−num_long_term_pics)(含む)の範囲内であるものとする。
[0115]lt_idx_sps[i]は、アクティブシーケンスパラメータセットにおいて指定される長期基準ピクチャセットのリストに従い、言及されたシーケンスパラメータセットから現在のピクチャの長期基準ピクチャセットに継承されたi番目の長期基準ピクチャのインデックスを指定する。lt_idx_sps[i]の値は、0乃至num_long_term_ref_pics_sps−1(含む)の範囲内であるものとする。
[0116]0に等しいdelta_poc_lt_curr_pic_flag[i]は、現在のピクチャの長期基準ピクチャセット内に含まれるべきi番目の長期基準ピクチャのピクチャオーダーカウント値と復号順序で前RAPピクチャのピクチャオーダーカウント値との間の差分を表すことを指定する。1に等しいdelta_poc_lt_curr_pic_flag[i]は、現在のピクチャのピクチャオーダーカウント値と現在のピクチャの長期基準ピクチャセット内に含まれるべきi番目の長期基準ピクチャのピクチャオーダーカウント値との間の差分を表すことを指定する。
[0117]delta_poc_lt_len[i]は、delta_poc_lt_bits[i]を表すために使用されるビット数を指定する。
[0118]delta_poc_lt_bits[i]は、(その他の構文要素とともに)現在のピクチャの長期基準ピクチャセットに含められるべきi番目の長期基準ピクチャのピクチャオーダーカウント値を決定するために使用される。delta_poc_lt_bits[i]を表すために使用されるビット数は、delta_poc_lt_len[i]に等しいものとする。存在しないときには、delta_poc_lt_bits[i]の値は、0に等しいと推論される。
[0119]変数PotLt[i]は、この例では、次のように導き出される。
[0120]PicOderCntValは、現在のピクチャのピクチャオーダーカウント値であり、PrevRapPicPocは、復号順序で前RAPピクチャのピクチャオーダーカウント値であり、PicOrderCntMsbは、PicOrderCntValと現在のピクチャのpic_order_cnt_lsbとの間の差分である。
[0121]Abs(PicOrderCntVal−PocLt[i])の値は、1乃至2 24 −1(含む)の範囲内であるものとする。
[0126]代替として、構文要素delta_poc_lt_bits[i]は、delta_poc_lt_bits_minus1[i]としてコーディングすることができる。
[0127]代替として、構文要素delta_poc_lt_len[i]は、シグナリングされず、delta_poc_lt_bits[i]は、ue(v)としてコーディングされる。
[0128]代替として、moreLtDataFlagは、アクティブシーケンスパラメータセットから継承されたすべての長期基準ピクチャに関してさえも1に設定することができる。この場合の、変数PocLt[i]の導出は、次のようになる。
[0129]変数PocLt[i]は、次のように導き出される。
[0130]実装例3により、基準ピクチャセットに関する復号プロセスは、上述されるように、実装例2における復号プロセスと同じであることができる。
[0131]本開示の幾つかの技法により、以下において説明されるように、映像コーダ(例えば、映像符号器20及び/又は映像復号器30)は、CRAピクチャをBLAピクチャに変更することができる。さらに加えて又は代替として、中間デバイス、例えば、トランスコーディングデバイス、メディアアウェアネットワーク要素(media aware network element)(MANE)、又はその他の該デバイスは、CRAピクチャをBLAピクチャに変換するように構成することができる。
[0132]フラグno_output_of_prior_pics_flagは、スライスヘッダに含めることができ及びあらゆるエントロピーコーディングされた構文要素の前に存在することができる。しかしながら、(DPBからの復号されたピクチャの出力及び削除を含む)復号プロセス全体において、IDRピクチャ及びBLAピクチャのスライスヘッダ内のno_output_of_prior_pics_flagが使用され、他方、CRAピクチャのスライスヘッダ内のno_output_of_prior_pics_flagは使用されない。従って、より良い解決方法は、no_output_of_prior_pics_flagの値は、CRAピクチャに関しては1に等しくなるように指図することである。このようにして、CRAピクチャをBLAピクチャに変更するときには、no_output_of_prior_pics_flagの値は、1に等しいとしてそのままにすることができる。従って、いずれにせよフラグはスライスヘッダ内に含めることができる。
[0133]構文要素rap_pic_idは、スライスヘッダに含めることができ及びあらゆるエントロピーコーディングされた構文要素の前に存在することができ及び固定長コーディングすることができる。現在では、rap_pic_idの値範囲は、0乃至65535(含む)である。従って、同じ値範囲を有し及び固定長コーディングを用いることで、rap_pic_idは、16ビットを用いて、u(16)としてコーディングされる。しかしながら、常に16ビットを使用することは、スライスヘッダ内において相当のオーバーヘッドになる可能性がある。rap_pic_idの目的は、NALユニットタイプの同じ値を有するバック・ツー・バック(back−to−back)CRA RAPピクチャ(例えば、バック・ツー・バックCRAピクチャ、バック・ツー・バックBLAピクチャ、又はバック・ツー・バックIDRRピクチャ)に関するピクチャ境界検出のためだけであるため、0乃至65535(含む)よりも小さい値範囲、例えば、0乃至255(含む)も適切に機能するはずである。従って、より良い解決方法は、u(N)を使用すること及びそれをスライスヘッダ内の早期、あらゆるエントロピーコーディングされた構文要素の前、に置くことであり、ここで、Nは、rap_pic_idのコーディングのために5、6、7、8、又は9である。
[0134]上記では別々の実装が説明されているが、概して、実装1、2、及び3のいずれの技法もあらゆる組み合わせで組み合わせることができることが理解されるべきである。従って、映像コーディングデバイス、例えば、映像符号器20及び映像復号器30は、実装1、2、又は3のうちの1つの技法を単独で実行するように、又は、実装1及び2、1及び3、2及び3、又は、1、2、及び3からの技法を含む組み合わせを実行するように構成することができる。
[0135]このようにして、映像符号器20及び映像復号器30は、基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と長期基準ピクチャ(LTRP)POC値のMSBとの間の差分を表す値をコーディングするように構成することができ、基準POC値は、現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャに対応する。特に、表1、3、及び5の例では、構文要素delta_poc_msb_cycle_lt[i]は、該差分値を表すデータに対応する。表1、3、及び5の構文要素delta_poc_lt_curr_pic_flag[i]は、LTRP POC値のMSBがランダムアクセスポイント(RAP)ピクチャに関するPOC値又は現在のピクチャに関するPOC値のいずれから予測されるかを示す構文要素の代表例である。従って、映像符号器20は、直近のRAPピクチャに関するPOC値のMSB又は現在のピクチャに関するPOC値のMSBのいずれかに関するLTRPに関するPOC値のMSBを符号化することができ、及び、delta_poc_lt_curr_pic_flag[i]に関する値をコーディングすることによってこれらのピクチャのうちのどちらが使用されるかをシグナリングすることができる。
[0136]同様に、映像復号器30は、delta_poc_lt_curr_pic_flag[i]による指示に従い、直近のRAPピクチャに関するPOC値のMSB又は現在のピクチャに関するPOC値のMSBのいずれかに関するLTRPに関するPOC値のMSBを復号することができる。特に、delta_poc_lt_curr_pic_flag[i]が、i番目のLTRPに関するPOC値は現在のピクチャのPOC値から予測されるように指示するときには、映像復号器30は、LTRPに関するPOC値のMSBを再生するために現在のピクチャのPOC値にMSB POC差分値を追加することができる。他方、delta_poc_lt_curr_pic_flag[i]が、i番目のLTRPに関するPOC値はRAPピクチャのPOC値から予測されるように示すときには、映像復号器30は、LTRPに関するPOC値のMSBを再生するためにRAPピクチャのPOC値にMSB POC差分値を追加することができる。(例えば、スライスヘッダ内に)delta_poc_lt_curr_pic_flag[i]に関する値が存在しない例では、映像復号器30は、現在のピクチャがLTRPを有さないと推論することができる。
[0137]さらに、現在のピクチャの各LTRPに関するPOC値を復号後に(それらのいずれもがコーディングされたMSB値を含むことができる)、映像復号器30は、復号されたPOC値によって示されるLTRPを含む基準ピクチャセットを構築することができる。次に、映像復号器30は、基準ピクチャセットから基準ピクチャリストを生成し、及び、現在のピクチャのブロック、又は現在のピクチャの現在のスライスを復号するために基準ピクチャリストを使用することができる。
[0138]図2は、本開示において説明される技法を実装することができる映像符号器例20を示したブロック図である。映像符号器20は、映像スライス内の映像ブロックのイントラ及びインターコーディングを行うことができる。イントラコーディングは、所定の映像フレーム又はピクチャ内の映像の空間的冗長性を低減又は除去するために空間予測に依存する。インターコーディングは、映像シーケンスの隣接するフレーム又はピクチャ内の映像の時間的冗長性を低減又は除去するために時間予測に依存する。イントラモード(Iモード(登録商標))は、幾つかの空間に基づく圧縮モードのうちのいずれを意味することができる。インターモード、例えば、単一方向性予測(Pモード)又は両方向性予測(Bモード)は、幾つかの時間に基づく圧縮モードのうちのいずれかを意味することができる。
[0139]図2の例では、映像符号器20は、分割モジュール35と、予測モジュール41と、フィルタモジュール63と、基準ピクチャメモリ64と、加算器50と、変換モジュール52と、量子化モジュール54と、エントロピー符号化モジュール56と、を含む。予測モジュール41は、動き推定モジュール42と、動き補償モジュール44と、イントラ予測モジュール46と、を含む。映像ブロックの再構築に関して、映像符号器20は、逆量子化モジュール58と、逆変換モジュール60と、加算器62と、も含む。フィルタモジュール63は、1つ以上のループフィルタ、例えば、デブロッキングフィルタ、アダプティブループフィルタ(ALF)、及びサンプルアダプティブオフセット(SAO)フィルタ、を表すことが意図される。図2では、フィルタモジュール63は、インループフィルタとして示されているが、その他の構成では、フィルタモジュール63は、ポストループフィルタとして実装することができる。
[0140]図2において示されるように、映像符号器20は、映像データを受信し、分割モジュール35は、データを映像ブロックに分割する。この分割は、スライス、タイル、又はその他のより大きいユニットへの分割、及び、例えば、LCU及びCUの四分木構造による、映像ブロック分割も含むことができる。映像符号器20は、概して、符号化されるべき映像スライス内の映像ブロックを符号化するコンポーネントを例示する。スライスは、複数の映像ブロック(及びおそらくタイルと呼ばれる映像ブロックの組)に分割することができる。予測モジュール41は、誤り結果(例えば、コーディングレート及び歪みのレベル)に基づいて現在の映像ブロックに関する複数の可能なコーディングモードのうちの1つ、例えば、複数のイントラコーディングモードのうちの1つ又は複数のインターコーディングモードのうちの1つ、を選択することができる。予測モジュール41は、結果的に得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に及び基準ピクチャとしての使用ための符号化されたブロックを再構築するために加算器62に提供することができる。
[0141]予測モジュール41内のイントラ予測モジュール46は、空間的圧縮を提供するためにコーディングされるべき現在のブロックと同じフレーム又はスライス内の1つ以上の近隣ブロックに関して現在の映像ブロックのイントラ予測コーディングを行うことができる。予測モジュール41内の動き推定モジュール42及び動き補償モジュール44は、時間的圧縮を提供するために1つ以上の基準ピクチャ内の1つ以上の予測ブロックに関して現在の映像ブロックのインター予測コーディングを行う。
[0142]動き推定モジュール42は、映像シーケンスに関する予め決定されたパターンに従って映像スライスに関するインター予測モードを決定するように構成することができる。予め決定されたパターンは、シーケンス内の映像スライスをPスライス、Bスライス又はGPBスライスとして指定することができる。動き推定モジュール42及び動き補償モジュール44は、高度に一体化することができるが、概念上の目的のために別々に示されている。動き推定は、動き推定モジュール42によって行われ、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、基準ピクチャ内の予測ブロックに対する現在の映像フレーム又はピクチャ内の映像ブロックのPUの変位を示すことができる。
[0143]予測ブロックは、ピクセル差分の点でコーディングされるべき映像ブロックのPUに密接にマッチングすることが判明しているブロックであり、差分絶対値和(SAD)、差分二乗和(SSD)、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器20は、基準ピクチャメモリ64に格納された基準ピクチャの整数未満のピクセル位置に関する値を計算することができる。例えば、映像符号器20は、基準ピクチャの1/4ピクセル位置、1/8ピクセル位置、又はその他の分数のピクセル位置の値を内挿することができる。従って、動き推定モジュール42は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数のピクセル精度を有する動きベクトルを出力することができる。
[0144]動き推定モジュール42は、インターコーディングされたスライス内の映像ブロックのPUの位置を基準ピクチャの予測ブロックの位置と比較することによってそのPUに関する動きベクトルを計算する。基準ピクチャは、第1の基準ピクチャリスト(リスト0)又は2の基準ピクチャリスト(リスト1)から選択することができ、それらの各々は、基準ピクチャメモリ64に格納された1つ以上の基準ピクチャを識別する。動き推定モジュール42は、計算された動きベクトルをエントロピー符号化モジュール56及び動き補償モジュール44に送信する。
[0145]動き補償は、動き補償モジュール44によって行われ、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成し、サブピクチャ精度で内挿を行うことを含む。現在の映像ブロックのPUに関する動きベクトルを受信した時点で、動き補償モジュール44は、基準ピクチャリストのうちの1つにおいて動きベクトルが指し示す予測ブロックの位置を突き止めることができる。映像符号器20は、コーディング中の現在の映像ブロックのピクセル値から予測ブロックのピクチャ値を減じることによって残差映像ブロックを形成し、ピクセル差分値を形成する。ピクセル残差値は、ブロックに関する残差データを形成し、ルマ及びクロマ差分成分の両方を含むことができる。加算器50は、この減算動作を行うコンポーネント又はコンポーネント(複数)を表す。動き補償モジュール44は、映像スライスの映像ブロックを復号する際に映像復号器30によって使用するために映像ブロック及び映像スライスと関連付けられた構文要素を生成することもできる。
[0146]イントラ予測モジュール46は、上述されるように、動き推定モジュール42及び動き補償モジュール44によって行われるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測モジュール46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。幾つかの例では、イントラ予測モジュール46は、例えば、別々の符号化パス(encoding pass)中に、様々なイントラ予測モードを用いて現在のブロックを符号化することができ、及び、イントラ予測モジュール46(又は、幾つかの例では、モード選択モジュール40)は、使用すべき適当なイントラ予測モードを試験されたモードから選択することができる。例えば、イントラ予測モジュール46は、様々な試験されたイントラ予測モードに関するレート−歪み解析を用いてレート−歪み値を計算すること、及び、試験されたモードの中で最良のレート−歪み特性を有するイントラ予測モードを選択することができる。レート−歪み解析は、概して、符号化されたブロックを生成するために符号化されたブロックとオリジナルの符号化されないブロックとの間の歪み(又は誤り)の量、及び符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測モジュール46は、いずれのイントラ予測モードがブロックに関する最良のレート−歪み値を呈するかを決定するために様々な符号化されたブロックに関する歪み及びレートから比率を計算することができる。
[0147]いずれの場合も、ブロックに関するイントラ予測モードを選択後は、イントラ予測モジュール46は、ブロックに関する選択されたイントラ予測モードを示す情報をエントロピーコーディングモジュール56に提供することができる。エントロピーコーディングモジュール56は、本開示の技法により選択されたイントラ予測モードを示す情報を符号化することができる。映像符号器20は、送信されたビットストリーム内に構成データを含めることができ、それらは、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、様々なブロックに関するコンテキクストを符号化する定義、最も可能性の高いイントラ予測モードのインディケーション、イントラ予測モードインデックステーブル、及び各コンテキストに関して使用すべき修正されたイントラ予測モードインデックステーブルを含むことができる。
[0148]予測モジュール41がインター予測又はイントラ予測のいずれかを介して現在の映像ブロックに関する予測ブロックを生成後は、映像符号器20は、現在の映像ブロックから予測ブロックを減じることによって残差映像ブロックを形成する。残差ブロック内の残差映像データは、1つ以上のTU内に含めることができ及び変換モジュール52に適用することができる。変換モジュール52は、変換、例えば、離散コサイン変換(DCT)又は概念的に類似の変換、を用いて残差映像データを残差変換係数に変換する。変換モジュール52は、残差映像データをピクセル領域から変換領域、例えば、周波数領域、に変換することができる。
[0149]変換モジュール52は、その結果得られた変換係数を量子化モジュール54に送信することができる。量子化モジュール54は、ビットレートをさらに低減させるために変換係数を量子化する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を低減させることができる。量子化度は、量子化パラメータを調整することによって変更することができる。幾つかの例では、量子化モジュール54は、量子化された変換係数を含む行列の走査を行うことができる。代替として、エントロピー符号化モジュール56は、走査を行うことができる。
[0150]量子化に引き続き、エントロピー符号化モジュール56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化モジュール56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE)コーディング、又はその他のエントロピー符号化法又は技法を実行することができる。エントロピー符号化モジュール56によるエントロピー符号化に引き続き、符号化されたビットストリームは、映像復号器30に送信すること、又は、映像復号器30によるのちの送信又は取り出しのためにアーカイブに保存することができる。エントロピー符号化モジュール56は、コーディング中の現在の映像スライスに関する動きベクトル及びその他の構文要素をエントロピー符号化することもできる。
[0151]逆量子化モジュール58及び逆変換モジュール60は、基準ピクチャの基準ブロックとしてののちの使用のためにピクセル領域において残差ブロックを再構築するために逆量子化及び逆変換をそれぞれ適用する。動き補償モジュール44は、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償モジュール44は、動き推定における使用のために整数未満のピクセル値を計算するために1つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。加算器62は、基準ピクチャメモリ64での格納のための基準ブロックを生成するために動き補償モジュール44によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。基準ブロックは、後続する映像フレーム又はピクチャ内のブロックをインター予測するための基準ブロックとして動き推定モジュール42及び動き補償モジュール44によって使用することができる。
[0152]図2の映像符号器20は、長期基準ピクチャ(LTRP)に関する現在のピクチャの少なくとも一部分を符号化し、LTRPに関するLTRPピクチャオーダーカウント(POC)値を決定し、及び、基準POC値の最上位ビット(MSB)とLTRP POC値のMSBとの間の差分を表す値を符号化するように構成された映像符号器の例を表し、基準POC値は、現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャに対応する。
[0153]特に、映像符号器20は、現在のピクチャに関する基準ピクチャセットを構築することができる。映像符号器20は、基準ピクチャセット内のピクチャのうちのいずれがLTRPであるかを決定することもできる。映像符号器20は、図1に関して上述されるように、基準ピクチャセット内のLTRPの数を表す値、例えば、表1、3、及び5内のnum_long_term_picsに関する値、をコーディングすることができる。映像符号器20は、基準ピクチャセット内のLTRPの各々に関するPOC値をさらに符号化することができる。本開示の技法により、映像符号器20は、LTRPに関するPOC値の最上位ビット(MSB)をコーディング時に基準コーディング技法を使用することができる。
[0154]例えば、映像符号器20は、現在のピクチャを適切に復号するために受信されていなければならないピクチャに関するPOC値として基準POC値を決定することができる。現在のピクチャを適切に復号するために受信されていなければならないピクチャは、例えば、現在のピクチャ自体又は符号化順序で直近のランダムアクセスポイント(RAP)ピクチャに対応することができる。映像符号器20は、例えば、表1、3、及び5のdelta_poc_lt_curr_pic_flag[i]に関する値をコーディングすることによって基準POCが現在のピクチャ又は直近のRAPピクチャのいずれに対応するかをシグナリングすることができる。次に、映像符号器20は、LTRP POC値に関するMSBと基準POC値のMSBとの間の差分を表す差分値を符号化することができる。この差分値は、表1、3、及び5のdelta_poc_msb_cycle_lt[i]に対応することができる。
[0155]図3は、本開示の技法を実装することができる映像復号器例30を示したブロック図である。
[0156]図3の例において、映像復号器30は、エントロピー復号モジュール80と、予測モジュール81と、逆量子化モジュール86と、逆変換モジュール88と、加算器90と、フィルタモジュール91と、基準ピクチャメモリ92と、を含む。予測モジュール81は、動き補償モジュール82と、イントラ予測モジュール84と、を含む。映像復号器30は、幾つかの例では、図2からの映像符号器20に関して説明される符号化パスと概して相互的な復号パスを行うことができる。
[0157]復号プロセス中には、映像復号器30は、符号化された映像スライスの映像ブロックを表す符号化された映像ビットストリーム及び関連付けられた構文要素を映像符号器20から受信する。映像復号器30は、符号化された映像ビットストリームをネットワークエンティティ29から受信することができる。ネットワークエンティティ29は、例えば、上述される技法のうちの1つ以上を実装するように構成されたサーバ、メディアアウェアネットワーク要素(MANE)、映像エディタ/スプライサ、又はその他の該デバイスであることができる。上述されるように、本開示において説明される技法の一部は、ネットワークエンティティ29が符号化された映像ビットストリームを映像復号器30に送信する前にネットワークエンティティ29によって実装することができる。幾つかの映像復号システムでは、ネットワークエンティティ29及び映像復号器30は、別個のデバイスの一部であることができ、その他の例では、ネットワークエンティティ29に関して説明される機能は、映像復号器30を備える同じデバイスによって実行することができる。
[0158]映像復号器30のエントロピー復号モジュール80は、量子化された係数、動きベクトル、及びその他の構文要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号モジュール80は、動きベクトル及びその他の構文要素を予測モジュール81に転送する。映像復号器30は、映像スライスレベル及び/又は映像ブロックレベルで構文要素を受信することができる。
[0159]映像スライスがイントラコーディングされた(I)スライスとしてコーディングされるときには、予測モジュール81のイントラ予測モジュール84は、シグナリングされたイントラ予測モード及び現在のフレーム又はピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。映像フレームがインターコーディングされた(すなわち、B、P又はGPB)スライスとしてコーディングされるときには、予測モジュール81の動き補償モジュール82は、動きベクトル及びエントロピー復号モジュール80から受信されたその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つから生成することができる。映像復号器30は、基準ピクチャメモリ92に格納された基準ピクチャに基づいてデフォルト構築技法を用いて基準フレームリスト、リスト0及びリスト1、を構築することができる。
[0160]動き補償モジュール82は、動きベクトル及びその他の構文要素を構文解析することによって現在の映像スライスの映像ブロックに関する予測情報を決定し、復号中の現在の映像ブロックに関する予測ブロックを生成するために予測情報を使用する。例えば、動き補償モジュール82は、映像スライス、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスに関する基準ピクチャリストのうちの1つ以上に関する構築情報、スライスの各インター符号化された映像ブロックに関する動きベクトル、スライスの各インターコーディングされた映像ブロックに関するインター予測状態、及び現在の映像スライス内の映像ブロックを復号するためのその他の情報の映像ブロックをコーディングするために使用される予測モード(例えば、イントラ又はインター予測)を決定するために受信された構文要素の一部を使用する。
[0161]動き補償モジュール82は、内挿フィルタに基づいて内挿を行うこともできる。動き補償モジュール82は、基準ブロックの整数未満のピクチャに関する内挿値を計算するために映像ブロックの符号化中に映像符号器20によって使用される内挿フィルタを使用することができる。この場合は、動き補償モジュール82は、受信された構文要素から映像符号器20によって使用される内挿フィルタを決定すること及び予測ブロックを生成するために内挿フィルタを使用することができる。
[0162]逆量子化モジュール86は、ビットストリーム内で提供され、エントロピー復号モジュール80によって復号された量子化された変換係数を逆量子化する、すなわち、量子化解除する。逆量子化プロセスは、量子化度、そして同様に、適用されるべき逆量子化度、を決定するために映像スライス内の各映像ブロックに関して映像符号器20によって計算された量子化パラメータを使用することを含むことができる。逆変換モジュール88は、ピクセル領域において残差ブロックを生成するために逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換プロセスを変換係数に適用する。
[0163]動き補償モジュール82が動きベクトル及びその他の構文要素に基づいて現在の映像ブロックに関する予測ブロックを生成した後は、映像復号器30は、逆変換モジュール88からの残差ブロックを、動き補償モジュール82によって生成された対応する予測ブロックと加算することによって復号された映像ブロックを形成する。加算器90は、この加算動作を行うコンポーネント又はコンポーネント(複数)を表す。希望される場合は、ピクセル遷移を平滑化するか、又は映像品質を向上するために(コーディングループ内又はコーディングループ後の)ループフィルタを使用することもできる。フィルタモジュール91は、1つ以上のループフィルタ、例えば、デブロッキングフィルタ、アダプティブループフィルタ(ALF)、及びサンプルアダプティブオフセット(SAO)フィルタ、を表すことが意図される。図3では、フィルタモジュール91は、インループフィルタとして示されているが、その他の構成では、フィルタモジュール91は、ポストループフィルタとして実装することができる。所定のフレーム又はピクチャ内の復号された映像ブロックは、基準ピクチャメモリ92に格納され、それは、後続する動き補償のために使用される基準ピクチャを格納する。基準ピクチャメモリ92は、表示装置、例えば、図1の表示装置32、でののちの提示のために復号された映像も格納する。
[0164]映像復号器30は、基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と長期基準ピクチャ(LTRP)POC値のMSBとの間の差分を表す値を復号し、復号された値及び基準POC値に基づいてLTRP POC値のMSBを決定し、及びLTRP POC値に少なくとも部分的に基づいてLTRPに関する現在のピクチャの少なくとも一部分を復号するように構成された映像復号器の例を表し、基準POC値は、現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャに対応する。
[0165]特に、映像復号器30は、基準ピクチャリストに含めるべきLTRPに関するPOC値のMSBと、基準POC値のMSBとの間の差分を表す差分値を復号することができる。基準POC値は、現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャ、例えば、現在のピクチャ自体又は符号化順序で直近のランダムアクセスポイント(RAP)ピクチャ、に対応することができる。映像復号器30は、上述されるように、表1、3、及び5によりdelta_poc_lt_curr_pic_flag[i]を復号することができ、現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャが現在のピクチャ自体であるか又は直近のRAPピクチャであるかを示すことができる。すなわち、delta_poc_lt_curr_pic_flag[i]値は、i番目のLTRPに関するPOC値のMSBが現在のピクチャのPOC値又は直近のRAPピクチャのPOC値のいずれかから予測されるかを示すことができる。従って、映像復号器30は、差分値を復号し、基準POC値のMSBに差分値を加えることができる。映像復号器30は、MSBをPOC値の復号されたLSBと連結することによってLTRPに関するPOC値をさらに再構築することができる。映像復号器30は、この再構築されたPOC値を基準ピクチャセットに加えることもできる。
[0166]図4は、ネットワーク100の一部を形成するデバイスの組例を示すブロック図である。この例では、ネットワーク100は、ルーティングデバイス104A、104B(ルーティングデバイス104)と、トランスコーディングデバイス106と、を含む。ルーティングデバイス104及びトランスコーディングデバイス106は、ネットワーク100の一部を形成することができる少数のデバイスを表すことが意図される。その他のネットワークデバイス、例えば、スイッチ、ハブ、ゲートウェイ、ファイアウォール、ブリッジ、及びその他の該デバイス、もネットワーク100内に含めることができる。さらに、サーバデバイス102とクライアントデバイス108との間のネットワーク経路に沿って追加のネットワークデバイスを提供することができる。幾つかの例では、サーバデバイス102は、ソースデバイス12(図1)に対応することができ、クライアントデバイス108は、行先デバイス14(図1)に対応することができる。
[0167]概して、ルーティングデバイス104は、ネットワーク100を通じてネットワークデータをやり取りするために1つ以上のルーティングプロトコルを実装する。幾つかの例では、ルーティングデバイス104は、プロキシ又はキャッシュ動作を行うように構成することができる。従って、幾つかの例では、ルーティングデバイス104は、プロキシデバイスと呼ぶことができる。概して、ルーティングデバイス104は、ネットワーク100を通じてルートを見つけるためにルーティングプロトコルを実行する。該ルーティングプロトコルを実行することによって、ルーティングデバイス104Bは、それ自体からルーティングデバイス104Aを介してサーバデバイス102までのネットワークルートを見つけることができる。
[0168]図5は、コーディングされた映像ピクチャ120乃至152のシーケンスを示した概念図である。ピクチャは、階層的予測構造内での位置を示すために異なった陰影が付けられる。例えば、ピクチャ120、136、及び152は、ピクチャ120、136、及び152が階層的予測構造の最上部にあることを表すために黒色の陰影付きである。ピクチャ120、136、及び152は、例えば、単一方向のその他のピクチャ(例えば、Pピクチャ)から予測されるイントラコーディングされたピクチャ又はインターコーディングされたピクチャを備えることができる。イントラコーディングされるときには、ピクチャ120、136、152は、同じピクチャ内のデータのみから予測される。インターコーディングされるときには、例えば、ピクチャ136は、ピクチャ136からピクチャ120への破線矢印によって示されるように、ピクチャ120のデータに関してコーディングすることができる。ピクチャ136、152は、ピクチャのグループ(GOP)154、156のそれぞれの主要ピクチャを形成する。
[0169]ピクチャ128、144は、符号化階層においてピクチャ120、136、及び152に次に後続することを示すために暗い陰影が付けられている。ピクチャ128、144は、単一方向性の、インターモード予測符号化されたピクチャを備えることができる。例えば、ピクチャ128は、ピクチャ120及び136のデータから予測することができ、ピクチャ144は、ピクチャ136及び152から予測することができる。ピクチャ124、132、140、及び148は、それらが符号化階層においてピクチャ120、136、及び152に次に後続することを示すために薄い陰影が付けられている。ピクチャ124、132、140、及び148は、単一方向性の、インターモード予測符号化されたピクチャを備えることもできる。例えば、ピクチャ124は、ピクチャ120及び128から予測することができ、ピクチャ132は、ピクチャ128及び136から予測することができ、ピクチャ140は、ピクチャ136及び144から予測することができ、及び、ピクチャ148は、ピクチャ144及び152から予測することができる。概して、基準ピクチャが依然として復号されたピクチャバッファにおいてバッファリングされると仮定し、及び、基準ピクチャが現在のコーディング中のピクチャよりも早期にコーディングされたと仮定した場合、階層内においてより下位にあるピクチャは、階層内においてより高位にある基準ピクチャから符号化することができる。
[0170]最後に、ピクチャ122、126、130、134、138、142、146、及び150は、これらのピクチャが階層内において最後であることを示すために白色の陰影が付けられている。ピクチャ122、126、130、134、138、142、146、及び150は、単一方向性の、インターモード予測符号化されたピクチャであることができる。ピクチャ122は、ピクチャ120及び124から予測することができ、ピクチャ126は、ピクチャ124及び128から予測することができ、ピクチャ130は、ピクチャ128及び132から予測することができ、及び、ピクチャ134は、ピクチャ132及び136から予測することができ、ピクチャ138は、ピクチャ136及び140から予測することができ、ピクチャ142は、ピクチャ140及び144から予測することができ、ピクセル146は、ピクチャ144及び148から予測することができ、ピクチャ150は、ピクチャ148及び152から予測することができる。繰り返すと、コーディング階層内においてより下位にあるピクチャは、コーディング階層内においてより高位にある基準ピクチャから符号化することができることが理解されるべきである。例えば、さらに加えて又は代替として、ピクチャ122、126、1390、又は134のすべては、ピクチャ120、136、又は128のいずれかに関して予測することができる。
[0171]ピクチャ120乃至152は、表示順序で示される。すなわち、復号に引き続き、ピクチャ120は、ピクチャ122の前に表示され、ピクチャ122は、ピクチャ124の前に表示され、以下同様である。上述されるように、POC値は、概して、ピクチャに関する表示順を記述し、それは、生ピクチャが符号化される前にキャプチャされるか又は生成された順序と実質的に同じでもある。しかしながら、符号化階層に起因して、ピクチャ120乃至152は、異なる順序で復号することができる。さらに、符号化されている間に、ピクチャ120乃至152は、ピクチャ120乃至152に関する符号化されたデータを含むビットストリームにおいて復号順に配置することができる。例えば、ピクチャ136は、GOP154のピクチャの中で最後に表示することができる。しかしながら、符号化階層に起因して、ピクチャ136は、GOP154の最初に復号することができる。すなわち、例えば、ピクチャ128を適切に復号するために、ピクチャ136は、ピクチャ128に関する基準ピクチャとして働くために最初に復号する必要がある。同様に、ピクチャ128は、ピクチャ124、126、130、及び132に関する基準ピクチャとして働くことができ、従って、ピクチャ124、126、130、及び132の前に復号する必要がある。
[0172]さらに、幾つかのピクチャは、長期基準ピクチャとして取り扱うことができ、その他のピクチャは、短期基準ピクチャとして取り扱うことができる。例えば、ピクチャ120及び136が長期基準ピクチャを表し、ピクチャ128、124、及び132は短期基準ピクチャを表すと仮定する。この例では、ピクチャ122及び126は、ピクチャ120、136、128、又は124のうちのいずれかに関して予測することができるが、ピクチャ130及び134は、ピクチャ120、136、128、又は132のうちのいずれかに関して予測することができるということになる。換言すると、ピクチャ124は、ピクチャ130及び134をコーディング時には基準として利用することができないことがある。他の例として、ピクチャ120及び136が長期基準ピクチャを表し、ピクチャ128、124、及び132が短期基準ピクチャを表すと仮定すると、ピクチャ128、124、及び132は、ピクチャ138、142、146、及び150をコーディング時に基準として利用できないことがある。
[0173]映像符号器20及び映像復号器30は、基準ピクチャセットを用いて、ピクチャ122乃至134、138乃至150のすべて又は一部分、及び潜在的にピクチャ136及び/又はピクチャ152をインターコーディングするように構成することができる。例えば、ピクチャ120、136、及び152をコーディング後に、映像符号器20及び映像復号器30は、ピクチャ128をコーディングすることができる。従って、ピクチャ120、136、及び/又は152は、ピクチャ128に関する基準ピクチャセット内に含めることができる。ピクチャ128をコーディング後は、映像符号器20及び映像復号器30は、ピクチャ124をコーディングするために進むことができる。従って、ピクチャ120、136、152、及び/又は128は、ピクチャ124に関する基準ピクチャセット内に含めることができる。
[0174]本開示の技法により、映像コーダ、例えば、映像符号器20及び/又は映像復号器30は、基準ピクチャオーダーカウント(POC)値を用いて長期基準ピクチャ(LTRP)のPOC値の最上位ビット(MSB)をコーディングすることができる。すなわち、映像コーダは、基準POC値を決定すること及び基準POC値に関するMSBとLTRP POC値のMSBとの間の差分を表す値をコーディングすることができる。映像コーダは、基準POC値が、現在のピクチャ、すなわち、LTRPが基準ピクチャとして使用され及び現在コーディング中であるピクチャ、を適切に復号するために受信されていなければならないピクチャに対応するとさらに決定することができる。基準POC値は、さらに加えて又は代替として、現在のピクチャとLTRPとを含むビットストリームが該当する映像コーディング規格、例えば、HEVC、に準拠するために受信されていなければならないピクチャに対応することができる。
[0175]例えば、基準POC値は、現在のピクチャ自体に対応することができる。当然のことであるが、現在のピクチャを適切に復号するために、現在のピクチャに関するデータが受信されていなければならない。他の例として、基準POC値は、(復号順序で)直近のランダムアクセスポイント(RAP)ピクチャに対応することができる。現在のピクチャがインターコーディングされたピクチャであると仮定すると、現在のピクチャは、RAPピクチャから又はRAPピクチャから直接的に又は間接的に予測される他のピクチャから予測することができる。基準POCが対応することができるピクチャのその他の例は、その他のイントラコーディングされたピクチャであり、その他のRAPピクチャと、現在のピクチャが依存する(例えば、直接的又は間接的に予測される)その他のピクチャと、を含む。
[0176]例えば、現在のピクチャがピクチャ132であり、及びピクチャ128がピクチャ132に関する長期基準ピクチャであると仮定する。図5の例では、ピクチャ136は、RAPピクチャとして働くことができる。ピクチャ120も、RAPピクチャとして働くことができるが、この例では、ピクチャ136が、ピクチャ132に関して、復号順序で直近のRAPピクチャであるとみなすことができる。従って、映像コーダは、ピクチャ128のPOC値に関するMSBを決定し、ピクチャ128のPOC値に関するMSBと、ピクチャ132を適切に復号するためにデータが受信されていなければならないピクチャ、例えば、ピクチャ132自体又はピクチャ136のPOC値に関するMSBとの間の差分をコーディングすることができる。
[0177]さらに、映像コーダは、ピクチャ128(この例では、LTRP)のMSBが、ピクチャ136(この例では、復号順序において直近のRAPピクチャ)のPOC値から又はピクチャ132(この例では、現在のピクチャ)から予測される、のいずれであるかを示す構文要素をコーディングすることができる。すなわち、構文要素は、ピクチャ132を適切に復号するためにデータが受信されていなければならないピクチャがピクチャ132自体又はピクチャ136のいずれであるかを示すことができる。例えば、映像符号器20は、ピクチャ132に関するPOC値又はピクチャ136に関するPOC値のいずれを基準POC値として使用すべきかを決定することができる。映像符号器20は、例えば、これらの2つのピクチャのうちのどちらが最低のPOC差分値を生成するかに基づいて2つのピクチャのうちの1つを選択することができる。映像符号器20は、それらのピクチャのうちのどれが基準POC値を得るために使用されるかを示す構文要素に関する値をコーディングすることができる。映像符号器20は、すなわち、ピクチャ128に関するPOC値のMSBと指示されたピクチャに関するPOC値のMSBとの間の差分を計算することによって、指示されたピクチャに関するPOC値を基準POC値として使用することができる。映像復号器30は、同様に、基準POC値を得るべきピクチャを決定し、及び、指示されたピクチャに関するPOC値のMSBに復号された差分値を加えることによってピクチャ128に関するPOC値を再生するために構文要素を使用することができる。
[0178]映像コーダは、様々な位置のうちの1つにおいて構文要素をコーディングすることができる。例えば、映像コーダは、現在のピクチャ(上例では、ピクチャ132)のスライスのスライスヘッダにおいて構文要素をコーディングすることができる。構文要素をコーディングするために使用することができるスライスヘッダの例が、表1、3、及び5に関して上述される。表1、3、及び5において、delta_poc_lt_curr_pic_flag[i]は、上述される構文要素(すなわち、LTRPのMSBが復号順序で直近のRAPピクチャのPOC値及び現在のピクチャのいずれから予測されるかを示す構文要素)の例を表す。インデックス値iは、現在のピクチャ、例えば、ピクチャ132、に対応する。表1、3、及び5において示されるように、映像コーダは、delta_poc_msb_present_flag[i]に関する値をコーディングする必要がなく、実際、この構文要素に関する値をコーディングするのを省くことができる。すなわち、スライスヘッダは、構文要素delta_poc_msb_present_flag[i]を含む必要がない。
[0179]代替として、映像コーダは、LTRPのMSBが、パラメータセット、例えば、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、映像パラメータセット(VPS)、又はその他のパラメータセット、内の復号順序で直近のRAPピクチャのPOC値及び現在のピクチャのいずれから予測されるかを示す構文要素をコーディングすることができる。
[0180]映像コーダは、LTRP(上述される例におけるピクチャ128)のPOC値のLSBを表す値をさらにコーディングすることができる。例えば、映像符号器20は、ピクチャ128に関するPOC値をMSB及びLSBに分割し、上述されるように差分値を用いてMSBを符号化し、及び、例えば、エントロピー符号化技法を用いてLSBを符号化することができる。他方、映像復号器30は、差分値を用いてMSB及びLSBを復号し、次に、MSB及びLSBを連結してクチャ128に関するPOC値を再生することができる。映像復号器30は、ピクチャ128に関する再生されたPOC値に基づいて、ピクチャ128を基準ピクチャセットにさらに加えることができる。差分値及びLSBは、現在のピクチャ、例えば、ピクチャ132、のスライスのスライスヘッダにおいてコーディングすることができることが理解されるべきである。基準ピクチャセットにLTRPを加えた後は、映像復号器30は、基準ピクチャセットから基準ピクチャリストを生成及び/又は修正するために基準ピクチャリスト構築技法(及び潜在的に基準ピクチャリスト修正技法)を使用することができ、それは、映像復号器30が現在のピクチャ、例えば、ピクチャ132、を復号するために究極的に使用することができる。
[0181]図6は、基準ピクチャセット内に含められるべきピクチャを表すデータを符号化するための方法例を示したフローチャートである。特に、図6は、予測コーディング技法を用いて長期基準ピクチャ(LTRP)の最上位ビット(MSB)を復号するための方法の一例を表す。すなわち、図6の方法は、現在のピクチャを復号するためにデータが受信されていなければならないピクチャ(例えば、現在のピクチャ自体又は直近のランダムアクセスポイント(RAP)ピクチャ)のMSBからLTRPのMSBを予測することを含むことができる。主に映像符号器20によって行われるとして説明されているが、図6の方法は、その他のデバイス、例えば、図4のトランスコーディングデバイス106、又は図4のルーティングデバイス104A、104Bによって行うことができることが理解されるべきである。
[0182]最初に、映像符号器20は、現在のピクチャに関する基準ピクチャセットを決定することができる(180)。例えば、映像符号器20は、現在のピクチャの各ブロック(例えば、各CU)がどのようにして符号化されるべきかを決定するために複数の符号化パス(encoding pass)を行うことができ、いずれの潜在的な基準ピクチャがブロックを符号化するための基準ピクチャとして使用されるべきかを含む。映像符号器20は、一組の可能な基準ピクチャのうちのどれが特定のブロックに関する基準ピクチャとして使用されるべきかを決定するためにレート−歪み最適化(RDO)技法を使用することができる。映像符号器20は、究極的には、決定された基準ピクチャを含む基準ピクチャセットを構築することができる。図6には示されていないが、映像符号器20は、基準ピクチャセットから(又は別個の基準ピクチャセットから)現在のピクチャに関する1つ以上の基準ピクチャリストを構築し、及び、指示する各ブロックに関する動き情報を符号化することもできる。
[0183]映像符号器20は、基準ピクチャセット(存在する場合)に含まれている基準ピクチャのうちのどれが長期基準ピクチャ(LTRP)であるかを決定することもできる(182)。概して、映像符号器20は、基準ピクチャが復号順序でLTRPに後続する複数のピクチャによって基準のために使用されるときにその基準ピクチャがLTRPであるとみなされるべきであると決定することができる。繰り返すと、映像符号器20は、基準ピクチャがLTRPであると最良の形でみなされるかどうかを決定するために、幾つかのピクチャにわたって、複数の符号化パスを実行できることが理解されるべきである。幾つかの基準ピクチャは、デフォルトによってLTRP、例えば、RAPピクチャ、とみなすことができる。幾つかの例では、映像符号器20は、基準ピクチャセットに含まれるLTRPの数を表す値、例えば、表1、3、及び5のnum_long_term_pics、を符号化することができる。
[0184]映像符号器20は、基準ピクチャセットの次のLTRPに関するPOC値の最下位ビット(LSB)を符号化することができる(184)。第1のLTRPは、LTRPに関するPOC値のLSBがコーディングされている前の“次の”LTRPであるとみなすことができる。他方、映像符号器20は、LTRPに関するPOC値のLSBを符号化するために基準ピクチャセット内に含まれるLTRPの組全体を通じて繰り返すことができる。
[0185]映像符号器20は、現在のLTRPに関するPOC値のLSBが以前のLTRPに関するPOC値のLSBと同じであるかどうかを決定することもできる(186)。現在のLTRPに関するPOC値のLSBが、少なくとも1つの以前のLTRPに関するPOC値のLSBと同じである(186の“はい”分岐)場合は、映像符号器20は、現在のLTRPに関するPOC値の最上位ビット(MSB)を符号化することができる。特に、本開示の技法により、映像符号器20は、基準POC値、例えば、現在のピクチャのPOC値又は符号化順序で現在のピクチャに直近のRAPピクチャのPOC値のいずれか、を決定することができる(188)。
[0186]映像符号器20は、現在のLTRPに関するPOC値のMSBに関してどちらが最小のPOC差分を生成するかに基づいてこれらのPOC値のうちのいずれを基準POC値として使用すべきかを決定することができる。次に、映像符号器20は、LTRPに関する基準POCを識別するデータ、例えば、上述されるように、表1、3、及び/又は5によるdelta_poc_lt_curr_pic_flag[i]に関する値、を符号化することができる(190)。その他の例では、映像符号器20は、SPS、PPS、又はその他のデータ構造においてこの情報を符号化することができる。映像符号器20は、基準POC値に関して現在のLTRPに関するPOC値のMSBを符号化することもできる(192)。すなわち、映像符号器20は、現在のLTRPに関するPOC値のMSBと基準POC値のMSBとの間の差分を計算し、この差分を符号化することができる。
[0187]他方、現在のLTRPに関するPOC値のLSBが、すべての以前のLTRPに関するPOC値のLSBと同じでない(186の“いいえ”分岐)場合、又は、LTRPのMSBを符号化後は、映像符号器20は、基準ピクチャセットの現在のLTRPが基準ピクチャセットの最後のLTRPであるかどうかを決定することができる(194)。そうでない(すなわち、POC値がまだ符号化されていないLTRPが基準ピクチャセット内にさらに存在する(194の“いいえ”)場合は、映像符号器20は、基準ピクチャセット内の次のLTRPのPOC値を符号化することができる。しかしながら、基準ピクチャセット内のすべてのLTRPに関するすべてのPOC値が符号化された後は(194の“はい”分岐)、映像符号器20は、符号化されたデータを出力することができる(196)。
[0188]このように、図6の方法は、映像データを符号化する方法の例を表し、長期基準ピクチャ(LTRP)に関して現在のピクチャの少なくとも一部分を符号化することと、LTRPに関するLTRPピクチャオーダーカウント(POC)値を決定することと、基準POC値の最上位ビット(MSB)とLTRP POC値のMSBとの間の差分を表す値を符号化することと、を含み、基準POC値は、現在のピクチャを適切に復号するためにデータが受信されなければならないピクチャに対応する。
[0189]図7は、基準ピクチャセットに含められるべきピクチャを表すデータを復号するための方法例を示したフローチャートである。特に、図7は、予測コーディング技法を用いて長期基準ピクチャ(LTRP)の最上位ビット(MSB)を復号するための方法の一例を表す。すなわち、図7の方法は、現在のピクチャを復号するためにデータが受信されていなければならないピクチャ(例えば、現在のピクチャ自体又は直近のランダムアクセスポイント(RAP))のMSBからLTRPのMSBを予測することを含むことができる。主に映像復号器30によって行われるとして説明されているが、図7の方法は、その他のデバイス、例えば、図4のトランスコーディングデバイス106、又は図4のルーティングデバイス104A、104Bによって行うことができることが理解されるべきである。
[0190]最初に、映像復号器30は、現在のピクチャに関する基準ピクチャセットに含められるべきLTRPの数を決定することができる(200)。例えば、映像復号器30は、表1、3、及び5により、現在のピクチャに関するnum_long_term_pics構文要素を復号することができる。その他の例では、映像復号器30は、SPS、PPS、又はその他のデータ構造からこの情報を復号することができる。次に、映像復号器30は、次のLTRPに関するPOC値のLSBを復号することができる(202)。次のLTRPは、例えば、基準ピクチャに関するデータをカプセル化するNALユニットのNALユニットヘッダにおいて、長期基準のために使用されるとして示される基準ピクチャに対応することができる。
[0191]次に、映像復号器30は、現在のLTRPに関するPOC値のLSBが以前のLTRPに関するPOC値のLSBと同じであるかどうかを決定することができる。現在のLTRPに関するPOC値のLSBが、少なくとも1つの以前のLTRPに関するPOC値のLSBと同じである(204の“はい”分岐)場合は、映像復号器30は、現在のLTRPに関するPOC値の最上位ビット(MSB)を復号することができる。特に、本開示の技法により、映像復号器30は、LTRPに関する基準POCを識別するデータ、例えば、上述されるように、表1、3、及び/又は5によるdelta_poc_lt_curr_pic_flag[i]に関する値、を復号することができる。この値は、現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャ、例えば、現在のピクチャ自体又は直近のRAPピクチャ、を識別することができる。
[0192]映像復号器30は、基準POC値に関するLTRPに関するPOC値のMSBを復号することができる(208)。すなわち、映像復号器30は、現在のLTRPに関するPOC値のMSBを再生する(reproduce)ために、復号された差分値を加え、次に、復号された差分値を基準POC値のMSBに加えることができる。映像復号器30は、例えば、現在のLTRPに関するPOC値のMSBを現在のLTRPに関するPOC値のLSBと連結することによって、現在のLTRPに関するPOC値をさらに再生することができる(210)。次に、映像復号器30は、LTRPに関するPOC値を基準ピクチャセットに加えることができる。
[0193]映像復号器30は、直近のLTRPが基準ピクチャセットの最後のLTRPであるかどうかを決定することができる(212)。そうでない(212の“いいえ”分岐)場合は、映像復号器30は、次のLTRPのPOC値を復号することができる。すべてのLTRPに関するPOC値が復号されており及びLTRPが基準ピクチャセットに加えられた後は(212の“はい”分岐)、映像復号器30は、基準ピクチャセットを用いて現在のピクチャを復号することができる(214)。例えば、映像復号器30は、基準ピクチャセットから基準ピクチャリストを生成することができる。次に、映像復号器30は、各々のブロックに関する基準ピクチャを決定するために、現在のピクチャの各インター予測されたブロックに関して動き情報を復号することができ、基準ピクチャリスト識別子及び/又は基準ピクチャリスト内への基準インデックスを含むことができる。
[0194]このように、図7の方法は、映像データを復号する方法の一例を表し、基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と長期基準ピクチャ(LTRP)POC値のMSBとの間の差分を表す値を復号することと、復号された値及び基準POC値に基づいてLTRP POC値のMSBを決定することと、LTRP POC値に少なくとも部分的に基づいてLTRPに関する現在のピクチャの少なくとも一部分を復号することと、を含み、基準POC値は、現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャに対応する。
[0195]1つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらのあらゆる組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において1つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応する。このように、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
[0196]さらにその他の例では、本開示は、格納されたデータ構造を備えるコンピュータによって読み取り可能な媒体を企図し、データ構造は、本開示に一致する符号化されたビットストリームを含む。特に、データ構造は、ここにおいて説明されるNALユニット設計を含むことができる。
[0197]一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるRAM、ROM、EEPROM、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザディスク(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、ブルーレイディスク(disc)と、を含み、ここで、diskは、通常は磁気的にデータを複製し、discは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
[0198]命令は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
[0199]本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように1つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
[0200]様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] 映像データを復号する方法であって、
基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と長期基準ピクチャ(LTRP)POC値のMSBとの間の差分を表す値を復号することであって、前記基準POC値は、現在のピクチャのPOC値又は復号順序で前記現在のピクチャに先行し、前記現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャのPOC値に対応することと、
前記復号された値及び前記基準POC値に基づいて前記LTRP POC値の前記MSBを決定することと、
前記LTRP POC値に少なくとも部分的に基づいて前記LTRPに関する前記現在のピクチャの少なくとも一部分を復号することと、を備える、方法。
[C2] 前記LTRP POC値の前記MSBが、ランダムアクセスポイント(RAP)ピクチャに関するPOC値又は前記現在のピクチャに関するPOC値のいずれから予測されるかを示す構文要素を復号することと、
前記復号された値及び前記構文要素に基づいて前記LTRPに関する前記POC値の前記MSBを再生することと、をさらに備えるC1に記載の方法。
[C3] 前記LTRPに関するPOC値を再生することは、
前記LTRPに関する前記POC値が前記現在のピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記現在のピクチャ前記POC値に加えることと、
前記LTRPに関する前記POC値が前記RAPピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記RAPピクチャの前記POC値に加えることと、を備えるC2に記載の方法。
[C4] 前記構文要素は、delta_poc_lt_curr_pic_flag[i]を備え、iは、前記LTRPに対応するインデックスを表すC2に記載の方法。
[C5] 前記構文要素を復号することは、前記現在のピクチャのスライスに関するスライスヘッダを復号することを備え、前記スライスヘッダは、前記構文要素を含むC2に記載の方法。
[C6] 前記スライスヘッダを復号することは、delta_poc_msb_present_flag[i]を復号せずに前記スライスヘッダを復号することを備えるC5に記載の方法。
[C7] 前記スライスヘッダは、delta_poc_msb_present_flag[i]を含まないC5に記載の方法。
[C8] 前記構文要素が後続するピクチャに関して存在しないときには、前記後続するピクチャに関する長期基準ピクチャが存在しないと決定することをさらに備えるC2に記載の方法。
[C9] 前記値を復号することは、前記現在のピクチャのスライスのスライスヘッダ、前記現在のピクチャを含むピクチャのシーケンスに関するシーケンスパラメータセット(SPS)、及び前記現在のピクチャに関するピクチャパラメータセット(PPS)のうちの少なくとも1つを復号することを備えるC1に記載の方法。
[C10] 前記現在のピクチャを適切に復号するためにデータが受信されていなければならない前記ピクチャは、ランダムアクセスポイント(RAP)ピクチャを備えるC1に記載の方法。
[C11]前記RAPピクチャは、復号順序で前記現在のピクチャに先行する、復号順序で最後のRAPピクチャを備えるC10に記載の方法。
[C12] 前記基準POC値は、前記現在のピクチャの前記POC値に対応するC1に記載の方法。
[C13] 前記LTRP POC値の最下位ビット(LSB)を復号することと、
前記LTRP POC値を再生するために前記LTRP POC値の前記MSBを前記LTRP POC値のLSBと連結することと、
前記再生されたLTRP POC値に基づいて前記LTRPを基準ピクチャセットに加えることと、をさらに備えるC1に記載の方法。
[C14] 映像データを符号化する方法であって、
長期基準ピクチャ(LTRP)に関する現在のピクチャの少なくとも一部分を符号化することと、
前記LTRPに関するLTRPピクチャオーダーカウント(POC)値を決定することと、
基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と前記LTRP
POC値のMSBとの間の差分を表す値を符号化することと、を備え、前記基準POC値は、現在のピクチャのPOC値又は復号順序で前記現在のピクチャに先行し、前記現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャのPOC値に対応する、方法。
[C15] 前記LTRP POC値の前記MSBが、ランダムアクセスポイント(RAP)ピクチャに関するPOC値又は前記現在のピクチャに関するPOC値のいずれから予測されるかを示す構文要素を符号化することをさらに備えるC14に記載の方法。
[C16] 前記構文要素を符号化することは、前記現在のピクチャのスライスに関するスライスヘッダを符号化することを備え、前記スライスヘッダは、前記構文要素を含むC15に記載の方法。
[C17] 後続するピクチャに関する長期基準ピクチャが存在しないことを決定することと、
前記決定に基づいて、前記後続するピクチャに関する前記構文要素のコーディングをスキップすることと、をさらに備えるC15に記載の方法。
[C18] 前記値を符号化することは、前記現在のピクチャのスライスのスライスヘッダ、前記現在のピクチャを含むピクチャのシーケンスに関するシーケンスパラメータセット(SPS)、及び前記現在のピクチャに関するピクチャパラメータセット(PPS)のうちの少なくとも1つを符号化することを備えるC14に記載の方法。
[C19] 前記現在のピクチャを適切に復号するためにデータが受信されていなければならない前記ピクチャは、ランダムアクセスポイント(RAP)ピクチャを備えるC14に記載の方法。
[C20]前記RAPピクチャは、復号順序で前記現在のピクチャに先行する、復号順序で最後のRAPピクチャを備えるC19に記載の方法。
[C21] 前記基準POC値は、前記現在のピクチャの前記POC値に対応するC14に記載の方法。
[C22] 映像データを復号するためのデバイスであって、
基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と長期基準ピクチャ(LTRP)POC値のMSBとの間の差分を表す値を復号し、
前記復号された値及び前記基準POC値に基づいて前記LTRP POC値の前記MSBを決定し、及び
前記LTRP POC値に少なくとも部分的に基づいて前記LTRPに関する前記現在のピクチャの少なくとも一部分を復号するように構成された映像復号器を備え、前記基準POC値は、現在のピクチャのPOC値又は復号順序で前記現在のピクチャに先行し、前記現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャのPOC値に対応する、デバイス。
[C23] 前記映像復号器は、前記LTRP POC値の前記MSBが、ランダムアクセスポイント(RAP)ピクチャに関するPOC値又は前記現在のピクチャに関するPOC値のいずれから予測されるかを示す構文要素を復号し、及び
前記復号された値及び前記構文要素に基づいて前記LTRPに関する前記POC値の前記MSBを再生するようにさらに構成されるC22に記載のデバイス。
[C24] 前記LTRPに関する前記POC値を再生するために、前記映像復号器は、前記LTRPに関する前記POC値が前記現在のピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記現在のピクチャ前記POC値に加え、及び前記LTRPに関する前記POC値が前記RAPピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記RAPピクチャの前記POC値に加えるように構成されるC23に記載のデバイス。
[C25] 前記構文要素は、delta_poc_lt_curr_pic_flag[i]を備え、iは、前記LTRPに対応するインデックスを表すC23に記載のデバイス。
[C26] 前記映像復号器は、前記現在のピクチャのスライスに関するスライスヘッダを復号するように構成され、前記スライスヘッダは、前記構文要素を含むC23に記載のデバイス。
[C27] 前記映像復号器は、delta_poc_msb_present_flag[i]を復号せずに前記スライスヘッダを復号するように構成されるC26に記載のデバイス。
[C28] 前記スライスヘッダは、delta_poc_msb_present_flag[i]を含まないC26に記載のデバイス。
[C29] 前記映像復号器は、前記構文要素が後続するピクチャに関して存在しないときには、前記後続するピクチャに関する長期基準ピクチャが存在しないと決定するようにさらに構成されるC23に記載のデバイス。
[C30] 前記値を復号するために、前記映像復号器は、前記現在のピクチャのスライスのスライスヘッダ、前記現在のピクチャを含むピクチャのシーケンスに関するシーケンスパラメータセット(SPS)、及び前記現在のピクチャに関するピクチャパラメータセット(PPS)のうちの少なくとも1つを復号するように構成されるC22に記載のデバイス。
[C31] 前記現在のピクチャを適切に復号するためにデータが受信されていなければならない前記ピクチャは、ランダムアクセスポイント(RAP)ピクチャを備えるC22に記載のデバイス。
[C32] 前記RAPピクチャは、復号順序で前記現在のピクチャに先行する、復号順序で最後のRAPピクチャを備えるC31に記載のデバイス。
[C33] 前記基準POC値は、前記現在のピクチャの前記POC値に対応するC22に記載のデバイス。
[C34] 前記映像復号器は、前記LTRP POC値の最下位ビット(LSB)を復号し、前記LTRP POC値を再生するために前記LTRP POC値の前記MSBを前記LTRP POC値のLSBと連結し、及び前記再生されたLTRP POC値に基づいて前記LTRPを基準ピクチャセットに加えるようにさらに構成されるC22に記載のデバイス。
[C35] 映像データを復号するためのデバイスであって、
基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と長期基準ピクチャ(LTRP)POC値のMSBとの間の差分を表す値を復号するための手段であって、前記基準POC値は、現在のピクチャのPOC値又は復号順序で前記現在のピクチャに先行し、前記現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャのPOC値に対応する手段と、
前記復号された値及び前記基準POC値に基づいて前記LTRP POC値の前記MSBを決定するための手段と、
前記LTRP POC値に少なくとも部分的に基づいて前記LTRPに関する前記現在のピクチャの少なくとも一部分を復号するための手段と、を備える、デバイス。
[C36] 前記LTRP POC値の前記MSBが、ランダムアクセスポイント(RAP)ピクチャに関するPOC値又は前記現在のピクチャに関するPOC値のいずれから予測されるかを示す構文要素を復号するための手段と、
前記復号された値及び前記構文要素に基づいて前記LTRPに関する前記POC値の前記MSBを再生するための手段と、をさらに備えるC35に記載のデバイス。
[C37] 前記LTRPに関する前記POC値を再生するための前記手段は、
前記LTRPに関する前記POC値が前記現在のピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記現在のピクチャ前記POC値に加えるための手段と、
前記LTRPに関する前記POC値が前記RAPピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記RAPピクチャの前記POC値に加えるための手段と、を備えるC36に記載のデバイス。
[C38] 前記構文要素が後続するピクチャに関して存在しないときには、前記後続するピクチャに関する長期基準ピクチャが存在しないと決定するための手段をさらに備えるC36に記載のデバイス。
[C39] 前記値を復号するための前記手段は、前記現在のピクチャのスライスのスライスヘッダ、前記現在のピクチャを含むピクチャのシーケンスに関するシーケンスパラメータセット(SPS)、及び前記現在のピクチャに関するピクチャパラメータセット(PPS)のうちの少なくとも1つを復号するための手段を備えるC35に記載のデバイス。
[C40] 前記現在のピクチャを適切に復号するためにデータが受信されていなければならない前記ピクチャは、ランダムアクセスポイント(RAP)ピクチャを備えるC35に記載のデバイス。
[C41] 前記RAPピクチャは、復号順序で前記現在のピクチャに先行する、復号順序で最後のRAPピクチャを備えるC40に記載のデバイス。
[C42] 前記基準POC値は、前記現在のピクチャの前記POC値に対応するC35に記載のデバイス。
[C43] コンピュータによって読み取り可能な記憶媒体であって、実行されたときに、
基準ピクチャオーダーカウント(POC)値の最上位ビット(MSB)と長期基準ピクチャ(LTRP)POC値のMSBとの間の差分を表す値を復号し、
前記復号された値及び前記基準POC値に基づいて前記LTRP POC値の前記MSBを決定し、及び
前記LTRP POC値に少なくとも部分的に基づいて前記LTRPに関する前記現在のピクチャの少なくとも一部分を復号することをプロセッサに行わせる命令を格納し、前記基準POC値は、現在のピクチャのPOC値又は復号順序で前記現在のピクチャに先行し、前記現在のピクチャを適切に復号するためにデータが受信されていなければならないピクチャのPOC値に対応する、コンピュータによって読み取り可能な記憶媒体。
[C44] 前記LTRP POC値の前記MSBが、ランダムアクセスポイント(RAP)ピクチャに関するPOC値又は前記現在のピクチャに関するPOC値のいずれから予測されるかを示す構文要素を復号し、及び
前記復号された値及び前記構文要素に基づいて前記LTRPに関する前記POC値の前記MSBを再生することを前記プロセッサに行わせる命令をさらに備えるC43に記載のコンピュータによって読み取り可能な記憶媒体。
[C45] 前記LTRPに関する前記POC値を再生することを前記プロセッサに行わせる前記命令は、
前記LTRPに関する前記POC値が前記現在のピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記現在のピクチャ前記POC値に加え、及び
前記LTRPに関する前記POC値が前記RAPピクチャの前記POC値から予測されることを前記構文要素が示すときには、前記LTRPに関する前記POC値の前記MSBを再生するために前記MSB POC差分値を前記RAPピクチャの前記POC値に加えることを前記プロセッサに行わせる命令を備えるC44に記載のコンピュータによって読み取り可能な記憶媒体。
[C46] 前記構文要素が後続するピクチャに関して存在しないときには、前記後続するピクチャに関する長期基準ピクチャが存在しないと決定することを前記プロセッサに行わせる命令さらに備えるC43に記載のコンピュータによって読み取り可能な記憶媒体。
[C47] 前記値を復号することを前記プロセッサに行わせる命令は、前記現在のピクチャのスライスのスライスヘッダ、前記現在のピクチャを含むピクチャのシーケンスに関するシーケンスパラメータセット(SPS)、及び前記現在のピクチャに関するピクチャパラメータセット(PPS)のうちの少なくとも1つを復号することを前記プロセッサに行わせる命令を備えるC43に記載のコンピュータによって読み取り可能な記憶媒体。
[C48] 前記現在のピクチャを適切に復号するためにデータが受信されていなければならない前記ピクチャは、ランダムアクセスポイント(RAP)ピクチャを備えるC43に記載のコンピュータによって読み取り可能な記憶媒体。
[C49]前記RAPピクチャは、復号順序で前記現在のピクチャに先行する、復号順序で最後のRAPピクチャを備えるC48に記載のコンピュータによって読み取り可能な記憶媒体。
[C50] 前記基準POC値は、前記現在のピクチャの前記POC値に対応するC43に記載のコンピュータによって読み取り可能な記憶媒体。