本発明は、ビデオの符号化・復号装置、方法、およびコンピュータプログラムに関する。
背景
消費者向け、業務用ビデオのピクチャレートが益々向上することは間違いないであろう。一方で、ピクチャレートは、デコーダまたは再生機により、その性能に応じて選択可能であることが有利であることが多い。例えば、再生機に120Hzのピクチャレートのビットストリームが送られても、計算資源の空きや、バッテリの充電レベル、および/または表示能力等により、30Hz版を復号する方が有利となりうるのである。このような調整(スケーリング)は、時間スケーラビリティをビデオの符号化および復号に適用することにより可能である。
ただ、時間スケーラビリティは、短い露出時間(例えば240Hz)で撮影されたビデオの場合、一時的にサブサンプリングにより30Hzで再生すると、欠損を生じるモーションブラーにより、不自然に映るという欠点をはらむ。また、時間スケーラビリティや露出時間のスケーリングを利用する際、低フレームレートとより高いフレームレートとで、露出時間が異なりうる。この場合、かなり複雑な状況に陥る可能性がある。
SHVCおよびMV−HEVC(高効率ビデオ符号化:H.265/HEVCまたはHEVCのスケーラブル(Scalable)拡張およびマルチビュー(MultiView)拡張)に対して、HLSオンリー(high-level-syntax-only)という設計方針が選択された。これは、HEVCシンタックスまたは復号処理に対して、スライスヘッダ以下の変更はないことを意味する。そのため、HEVCエンコーダおよびデコーダの実装が、SHVCおよびMV−HEVCに流用可能である。SHVCは、インターレイヤ処理という概念を利用する。これは具体的には、必要に応じて復号済み参照レイヤピクチャおよびその動きベクトル配列をリサンプリングし、さらに/あるいはカラーマッピング(例えば色域スケーリング用)を適用するための処理である。インターレイヤ処理と同様に、ピクチャレートのアップサンプリング(いわゆるフレームレートアップサンプリング)方法が復号の後処理に適用される。
現在のビデオの符号化規格の多くがHLSオンリー設計ということを考えると、現行の規格(例えばHEVC、SHVC)が流用可能なように、時間スケーラブルビットストリームの圧縮効率を向上する必要がある。
摘要
上述の課題を少なくとも緩和するために、本明細書では改良されたビデオの符号化方法を導入する。
第1の態様はビデオ信号を含むビットストリームを符号化するための方法を含み、前記方法は、
少なくとも第1の符号化ベースピクチャおよび第2の符号化ベースピクチャを含み、第1のアルゴリズムを用いて復号可能である第1のスケーラビリティレイヤを符号化することと、
前記第1および第2の符号化ベースピクチャをそれぞれ第1および第2の再構成ベースピクチャに再構成することと、
少なくとも前記第1および第2の再構成ベースピクチャから第2のアルゴリズムを用いて第3の再構成ベースピクチャを再構成することと、
少なくとも第1の符号化拡張ピクチャ、第2の符号化拡張ピクチャ、および第3の符号化拡張ピクチャを含み、再構成ピクチャを入力とするインターレイヤ予測を含む第3のアルゴリズムを用いて復号可能である第2のスケーラビリティレイヤを符号化することと、
前記第1、第2、および第3の再構成ベースピクチャをそれぞれインターレイヤ予測の入力とすることによって、前記第1、第2、および第3の符号化拡張ピクチャをそれぞれ第1、第2、および第3の再構成拡張ピクチャに再構成することと、を含み、
前記第1の再構成ベースピクチャおよび前記第2の再構成ベースピクチャは、前記第1のスケーラビリティレイヤのすべての再構成ピクチャの中で、前記第1のアルゴリズムの出力順で連続しており、
前記第3の再構成ベースピクチャは、出力順で前記第1の再構成ベースピクチャと前記第2の再構成ベースピクチャとの間にあり、
前記第1、第2、および第3の再構成拡張ピクチャは、前記第1のアルゴリズムの出力順でそれぞれ前記第1、第2、および第3の再構成ベースピクチャと一致する。
ある実施形態によると、前記方法は、
前記第1の符号化ベースピクチャおよび前記第2の符号化ベースピクチャは第1のプロファイルに準拠することを示すことと、
前記第3の再構成ベースピクチャを再構成するために必要な第2のプロファイルを示すことと、
前記第1の符号化拡張ピクチャ、前記第2の符号化拡張ピクチャ、および前記第3の符号化拡張ピクチャは第3のプロファイルに準拠することを示すことと、をさらに含み、
前記第1のプロファイル、前記第2のプロファイル、および前記第3のプロファイルは互いに異なり、前記第1のプロファイルは前記第1のアルゴリズムを示すものであり、前記第2のプロファイルは前記第2のアルゴリズムを示すものであり、前記第3のプロファイルは前記第3のアルゴリズムを示すものである。
ある実施形態によると、前記第1のスケーラビリティレイヤにおいて前記ベースピクチャを拡張することなく前記ピクチャレートを上げ、前記方法は以下のうちの少なくとも1つをさらに含む。
・ 前記第1のスケーラビリティレイヤの前記ピクチャに対応するピクチャがスキップ符号化されるように前記第2のスケーラビリティレイヤを符号化すること、
・ 前記第1のスケーラビリティレイヤの前記ピクチャに対応してピクチャが符号化されないように前記第2のスケーラビリティレイヤを符号化すること。
ある実施形態によると、前記方法は以下のうちの少なくとも1つをさらに含む。
・ 修正前の少なくとも前記第1および第2の再構成ベースピクチャから前記第3の再構成ベースピクチャを再構成し、第2の拡張レイヤの対応するピクチャを用いて前記第1、第2、および第3の再構成ベースピクチャを修正すること、
・ 前記第1および第2の再構成ベースピクチャを修正し、前記修正された第1および第2のベースピクチャを入力として用いて前記第3の再構成ベースピクチャを再構成すること、
・ 前記第2の拡張レイヤの対応する前記ピクチャを用いて前記第1および第2の再構成ベースピクチャを修正し、前記第2の拡張レイヤの前記再構成ピクチャを入力として用いて前記第3の再構成ベースピクチャを再構成すること。
ある実施形態によると、前記ピクチャレートを上げ、少なくとも1種類の拡張を前記第1のスケーラビリティレイヤの前記ベースピクチャに適用し、前記拡張は、信号対ノイズ拡張、空間拡張、サンプルビット深度の拡大、ダイナミックレンジの拡大、または色域の拡大のうちの少なくとも1つを含む。
第2の態様は装置に関し、前記装置は、
少なくとも1つのプロセッサおよび少なくとも1つのメモリを含み、前記少なくとも1つのメモリにはコードが格納され、該コードが前記少なくとも1つのプロセッサによって実行されると、前記装置に対して少なくとも、
少なくとも第1の符号化ベースピクチャおよび第2の符号化ベースピクチャを含み、第1のアルゴリズムを用いて復号可能である第1のスケーラビリティレイヤを符号化することと、
前記第1および第2の符号化ベースピクチャをそれぞれ第1および第2の再構成ベースピクチャに再構成することと、
少なくとも前記第1および第2の再構成ベースピクチャから第2のアルゴリズムを用いて第3の再構成ベースピクチャを再構成することと、
少なくとも第1の符号化拡張ピクチャ、第2の符号化拡張ピクチャ、および第3の符号化拡張ピクチャを含み、再構成ピクチャを入力とするインターレイヤ予測を含む第3のアルゴリズムを用いて復号可能である第2のスケーラビリティレイヤを符号化することと、
前記第1、第2、および第3の再構成ベースピクチャをそれぞれインターレイヤ予測の入力とすることによって、前記第1、第2、および第3の符号化拡張ピクチャをそれぞれ第1、第2、および第3の再構成拡張ピクチャに再構成することと、を実行させ、
前記第1の再構成ベースピクチャおよび前記第2の再構成ベースピクチャは、前記第1のスケーラビリティレイヤのすべての再構成ピクチャの中で、前記第1のアルゴリズムの出力順で連続しており、
前記第3の再構成ベースピクチャは、出力順で前記第1の再構成ベースピクチャと前記第2の再構成ベースピクチャとの間にあり、
前記第1、第2、および第3の再構成拡張ピクチャは、前記第1のアルゴリズムの出力順でそれぞれ前記第1、第2、および第3の再構成ベースピクチャと一致する。
第3の態様はコンピュータ可読記憶媒体に関し、前記記憶媒体には装置によって使用されるコードが格納され、該コードがプロセッサによって実行されると、前記装置に対して上述の動作を実行させる。
第4の態様は方法に関し、前記方法は、
第1のアルゴリズムを用いて、第1のスケーラビリティレイヤに含まれる第1および第2の符号化ベースピクチャをそれぞれ第1および第2の再構成ベースピクチャに復号することと、
少なくとも前記第1および第2の再構成ベースピクチャから第2のアルゴリズムを用いて第3の再構成ベースピクチャを再構成することと、
前記第1、第2、および第3の再構成ベースピクチャをそれぞれインターレイヤ予測の入力とすることによって、第3のアルゴリズムを用いて、第1、第2、および第3の符号化拡張ピクチャをそれぞれ第1、第2、および第3の再構成拡張ピクチャに復号することと、をさらに含み、
前記第1の再構成ベースピクチャおよび前記第2の再構成ベースピクチャは、前記第1のスケーラビリティレイヤのすべての再構成ピクチャの中で、前記第1のアルゴリズムの出力順で連続しており、
前記第3の再構成ベースピクチャは、出力順で前記第1の再構成ベースピクチャと前記第2の再構成ベースピクチャとの間にあり、
前記第3のアルゴリズムは再構成ピクチャを入力とするインターレイヤ予測を含み、前記第1、第2、および第3の再構成拡張ピクチャは、前記第1のアルゴリズムの出力順でそれぞれ前記第1、第2、および第3の再構成ベースピクチャと一致し、前記第1、第2、および第3の符号化拡張ピクチャは第2のスケーラビリティレイヤに含まれる。
ある実施形態によると、前記方法は、
前記第1の符号化ベースピクチャおよび前記第2の符号化ベースピクチャは第1のプロファイルに準拠することを示す第1の標示を復号することと、
前記第3の再構成ベースピクチャを再構成するために必要な第2のプロファイルを示す第2の標示を復号することと、
前記第1の符号化拡張ピクチャ、前記第2の符号化拡張ピクチャ、および前記第3の符号化拡張ピクチャは第3のプロファイルに準拠することを示す第3の標示を復号することと、
前記第1のプロファイル、前記第2のプロファイル、および前記第3のプロファイルは互いに異なり、前記第1のプロファイルは前記第1のアルゴリズムを示すものであり、前記第2のプロファイルは前記第2のアルゴリズムを示すものであり、前記第3のプロファイルは前記第3のアルゴリズムを示すものであり、
前記第1および第2の符号化ベースピクチャの前記復号の判定を、前記第1のプロファイルに対応している復号か否かに基づいて行うことと、
前記第3の再構成ベースピクチャの前記再構成の判定を、前記第2のプロファイルに対応している再構成か否か、および前記第1のプロファイルに対応している復号か否かに基づいて行うことと、
前記第1および第2の符号化拡張ピクチャの前記復号の判定を、前記第1および第3のプロファイルに対応している復号か否かに基づいて行うことと、
前記第3の拡張ピクチャの前記復号の判定を、前記第1および第3のプロファイルに対応している復号か否か、前記第2のプロファイルに対応している再構成か否かに基づいて行うことと、を含む。
ある実施形態によると、前記第1のスケーラビリティレイヤにおいて前記ベースピクチャを拡張することなく前記ピクチャレートを上げ、前記方法は以下のうちの少なくとも1つをさらに含む。
・ 前記第1のスケーラビリティレイヤの前記ピクチャに対応するピクチャがスキップ符号化されることを示す前記第2のスケーラビリティレイヤに関連する標示を符号化すること、
・ 前記第1のスケーラビリティレイヤの前記ピクチャに対応してピクチャが復号されないように前記第2のスケーラビリティレイヤを復号すること。
ある実施形態によると、前記方法は以下のうちの少なくとも1つをさらに含む。
・ 修正前の少なくとも前記第1および第2の再構成ベースピクチャから前記第3の再構成ベースピクチャを再構成し、第2の拡張レイヤの対応するピクチャを用いて前記第1、第2、および第3の再構成ベースピクチャを修正することと、
・ 前記第1および第2の再構成ベースピクチャを修正し、前記修正された第1および第2のベースピクチャを入力として用いて前記第3の再構成ベースピクチャを再構成することと、
・ 前記第2の拡張レイヤの対応する前記ピクチャを用いて前記第1および第2の再構成ベースピクチャを修正し、前記第2の拡張レイヤの前記再構成ピクチャを入力として用いて前記第3の再構成ベースピクチャを再構成すること。
ある実施形態によると、前記ピクチャレートを上げ、少なくとも1種類の拡張を前記第1のスケーラビリティレイヤの前記ベースピクチャに適用し、前記拡張は、信号対ノイズ拡張、空間拡張、サンプルビット深度の拡大、ダイナミックレンジの拡大、または色域の拡大のうちの少なくとも1つを含む。
第5の態様は装置に関し、前記装置は、
少なくとも1つのプロセッサおよび少なくとも1つのメモリを含み、前記少なくとも1つのメモリにはコードが格納され、該コードが前記少なくとも1つのプロセッサによって実行されると、前記装置に対して少なくとも、
第1のアルゴリズムを用いて、第1のスケーラビリティレイヤに含まれる第1および第2の符号化ベースピクチャをそれぞれ第1および第2の再構成ベースピクチャに復号することと、
少なくとも前記第1および第2の再構成ベースピクチャから第2のアルゴリズムを用いて第3の再構成ベースピクチャを再構成することと、
前記第1、第2、および第3の再構成ベースピクチャをそれぞれインターレイヤ予測の入力とすることによって、第3のアルゴリズムを用いて、第1、第2、および第3の符号化拡張ピクチャをそれぞれ第1、第2、および第3の再構成拡張ピクチャに復号することと、を実行させ、
前記第1の再構成ベースピクチャおよび前記第2の再構成ベースピクチャは、前記第1のスケーラビリティレイヤのすべての再構成ピクチャの中で、前記第1のアルゴリズムの出力順で連続しており、
前記第3の再構成ベースピクチャは、出力順で前記第1の再構成ベースピクチャと前記第2の再構成ベースピクチャとの間にあり、
前記第3のアルゴリズムは再構成ピクチャを入力とするインターレイヤ予測を含み、前記第1、第2、および第3の再構成拡張ピクチャは、前記第1のアルゴリズムの出力順でそれぞれ前記第1、第2、および第3の再構成ベースピクチャと一致し、前記第1、第2、および第3の符号化拡張ピクチャは第2のスケーラビリティレイヤに含まれる。
第6の態様はコンピュータ可読記憶媒体に関し、前記記憶媒体には装置によって使用されるコードが格納され、該コードがプロセッサによって実行されると、前記装置に対して上述の動作を実行させる。
以下の実施形態の詳細な開示から、本発明の上述のものを含む態様や関連する実施形態が明らかになるであろう。
本発明に対する理解を促すために、以下の添付の図面と関連付けて以下に説明する。
図1は、本発明の各実施形態が採用された電子デバイスを模式的に示す。
図2は、本発明の各実施形態を採用するに適したユーザ端末を模式的に示す。
図3は、無線および有線ネットワーク接続によって接続された、本発明の各実施形態が採用された電子デバイスを模式的に示す。
図4は、本発明の各実施形態を実施するに適したエンコーダを模式的に示す。
図5は、本発明の一実施形態による符号化方法のフローチャートである。
図6は、本発明の一実施形態による符号化の仕組みの概略図を示す。
図7は、本発明の一実施形態によるスキップ符号化ピクチャを用いた符号化方法を示す。
図8は、本発明の一実施形態による第2のスケーラビリティレイヤにおけるピクチャ符号化を用いない符号化方法を示す。
図9は、本発明の一実施形態による再構成ベースピクチャの修正による符号化方法を示す。
図10は、本発明の別の実施形態によるインターレイヤ予測およびピクチャレートのアップサンプリングに用いられる修正されたベースピクチャを用いた符号化方法を示す。
図11は、本発明の別の実施形態による符号化方法を示す。
図12は、本発明の別の実施形態によるさらに符号化方法を示す。
図13は、本発明の別の実施形態によるさらに符号化方法を示す。
図14は、本発明の別の実施形態によるさらに符号化方法を示す。
図15は、本発明の別の実施形態によるさらに符号化方法を示す。
図16は、本発明の実施形態を実施するに適したデコーダを概略的に示す。
図17は、各種実施形態を実装可能なマルチメディア通信システムの例の模式図を示す。
例示的実施形態の詳細な説明
動き補償予測に適した装置および利用可能な機構を以下に詳述する。まずは、図1、図2を参照する。図1は、本発明のある実施形態によるコーデックを有しうる例示的装置または電子デバイス50の概略的ブロック図として、例示的実施形態によるビデオ符号化システムのブロック図を示す。図2は、例示的実施形態による装置のレイアウトを示す。次に、図1および図2の各要素を説明する。
電子デバイス50は、例えば、無線通信システムにおける携帯端末またはユーザ端末であってもよい。ただし、本発明の各実施形態は、ビデオ映像の符号化および/または復号を必要とする可能性のある任意の電子デバイスや装置内に実装してもよいことを理解されたい。
デバイス50は、前記デバイスを収容、保護する筐体30を備えてもよい。デバイス50はさらに、液晶ディスプレイであるディスプレイ32を備えてもよい。本発明の別の実施形態では、ディスプレイは画像またはビデオ表示に適した表示技術を採用してもよい。デバイス50は、さらにキーパッド34を備えてもよい。本発明の別の実施形態では、任意の好適なデータまたはユーザインタフェース機構を利用してもよい。例えば、このユーザインタフェースは、タッチ感知ディスプレイの一部としてのバーチャルキーボードまたはデータ入力システムとして実現されてもよい。
デバイス50は、マイク36または任意の好適な音声入力(デジタル信号入力であってもアナログ信号入力であってもよい)を備えてもよい。デバイス50は、音声出力装置をさらに備えてもよい。本発明の各実施形態では、該音声出力装置は、受話口38、スピーカー、アナログ音声出力接続部またはデジタル音声出力接続部のいずれかであってもよい。デバイス50は、バッテリ40をさらに備えてもよい(または本発明の別の実施形態では、デバイスが、太陽電池、燃料電池、またはゼンマイ式発電機等の任意の好適な可搬性エネルギー装置によって電源供給されてもよい)。またデバイス50は、画像や動画の記録や撮像が可能なカメラ42を備えてもよい。デバイス50はさらに、別のデバイスとの短直線距離通信用の赤外線ポートを備えてもよい。別の実施形態では、デバイス50はさらに、例えばBluetooth(登録商標)無線接続またはUSB/FireWire有線接続等の、任意の好適な近距離通信手段を備えてもよい。
デバイス50は、これを制御するコントローラ56またはプロセッサを備えてもよい。コントローラ56は、メモリ58に接続されてもよい。本発明の実施形態において、メモリ58は、画像および音声のいずれの形式のデータ、および/またはコントローラ56において実行される命令を格納してもよい。コントローラ56はさらに、音声および/またはビデオデータの符号化・復号の実行や、コントローラが実行する符号化・復号の補助に適したコーデック回路54に接続されてもよい。
デバイス50は、ユーザ情報を提供し、ネットワークにおけるユーザを認証、承認するための認証情報の提供に適した、例えばUICC(Universal Integrated Circuit Card)およびUICCリーダー等のカードリーダー48およびスマートカード46をさらに備えてもよい。
デバイス50は、コントローラに接続され、例えば携帯通信ネットワーク、無線通信システム、または無線ローカルエリアネットワークと通信するための無線通信信号の生成に適した無線インタフェース回路52をさらに備えてもよい。デバイス50は、無線インタフェース回路52に接続され、無線インタフェース回路52で生成された無線周波数信号を単一または複数の別の装置に送信し、単一または複数の別の装置から無線周波数信号を受信するためのアンテナ44をさらに備えてもよい。
デバイス50は、個別のフレームを記録、検出可能なカメラを備えてもよい。該フレームはその後、コーデック54またはコントローラに送られて処理される。デバイス50は、伝送や格納の前に、別のデバイスから処理用のビデオ映像データを受信してもよい。デバイス50は、符号化/復号用の画像を無線または有線接続を介して受信してもよい。
図3は、本発明の各実施形態を利用可能なシステムの例を示している。システム10は、1つ以上のネットワークを介して通信可能な複数の通信デバイスを含む。システム10は、有線ネットワークおよび/または無線ネットワークの任意の組合せを含んでもよい。これらのネットワークとしては、GSM(登録商標)、UMTS(Universal Mobile Telecommunications System)、符号分割多元接続(Code Division Multiple Access:CDMA)ネットワーク等)、IEEE802.xのいずれかの規格で規定されるもの等の無線ローカルエリアネットワーク(Wireless Local Area Network:WLAN)、Bluetooth(登録商標)パーソナルエリアネットワーク、イーサネット(登録商標)ローカルエリアネットワーク、トークンリングローカルエリアネットワーク、広域ネットワーク、インターネット等が挙げられるが、これらに限定されない。
システム10は、本発明の各実施形態の実現に適した有線および無線通信のデバイスおよび/または装置50を備えてもよい。
例えば、図3に示すシステムは、携帯電話ネットワーク11と、インターネット28を表現したものとを示している。インターネット28への接続は、長距離無線接続、近距離無線接続、および各種有線接続を含んでもよいが、これらに限定されない。有線接続には、電話回線、ケーブル回線、電力線、その他同様の通信経路等が含まれるが、これらに限定されない。
システム10内に示される通信デバイスの例は、電子デバイスまたは装置50、携帯情報端末(Personal Digital Assistant:PDA)と携帯電話14との組合せ、PDA16、統合通信デバイス(Integrated Messaging Device:IMD)18、デスクトップコンピュータ20、ノート型コンピュータ22を含んでもよいが、これらに限定されない。デバイス50は固定型でもよく、移動する人が持ち運べる携帯型でもよい。また、デバイス50は移動手段に設けられてもよい。こうした移動手段には、自動車、トラック、タクシー、バス、列車、船、飛行機、自転車、バイク、その他同様の好適な移動手段を含んでもよいが、これらに限定されない。
実施形態はさらに、ディスプレイや無線通信に対応する性能を有しても有していなくてもよい、セットトップボックス、すなわちデジタルテレビ受信機、ハードウェア、ソフトウェア、またはエンコーダ/デコーダ実装の組合せを含むタブレットまたは(ノート型)パーソナルコンピュータ(PC)、各種オペレーティングシステム、チップセット、プロセッサ、DSPおよび/または組み込みシステム(ハードウェア/ソフトウェアベースの符号化を実現)で実施されてもよい。
いくつかのまたはさらなる装置は、呼び出しやメッセージを送受信して、基地局24への無線接続25を介してサービスプロバイダと通信してもよい。基地局24は、携帯電話ネットワーク11とインターネット28との間の通信を可能にするネットワークサーバ26に接続されてもよい。システムは、さらなる通信デバイスや、各種通信デバイスを含んでもよい。
通信デバイスは各種伝送技術を用いて通信してもよく、こうした技術には、CDMA、GSM(登録商標)、UMTS、時分割多元接続(Time Divisional Multiple Access:TDMA)、周波数分割多元接続(Frequency Division Multiple Access:FDMA)、TCP‐IP(Transmission Control Protocol‐Internet Protocol)、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、電子メール、インスタントメッセージングサービス(IMS)、Bluetooth(登録商標)、IEEE 802.11、その他同様の無線通信技術を含むが、これらに限定されない。本発明の様々な実施形態の実施に関わる通信デバイスは、様々な媒体を介して通信できる。こうした媒体には、無線、赤外線、レーザー、ケーブル接続、その他好適な接続が含まれるが、これらに限定されない。
電気通信およびデータネットワークにおいて、経路は、物理経路および論理経路のいずれであってもよい。物理経路は、ケーブルのような物理伝送媒体であってもよく、論理経路は、いくつかの論理経路の伝送を実現可能な多重化媒体における論理接続であってもよい。経路は、単一または複数の伝送機(または送信機)から単一または複数の受信機へ、例えばビットストリームのような情報信号を伝達するために使用できる。
リアルタイム転送プロトコル(Real-time Transport Protocol:RTP)は、音声やビデオのような、時限式媒体のリアルタイム伝送に広く利用されている。RTPは、ユーザデータグラムプロトコル(UDP)上で動作してもよい。UDPは、インターネットプロトコル(IP)上で動作してもよい。RTPは、www.ietf.org/rfc/rfc3550.txtから入手可能なインターネット技術タスクフォース(Internet Engineering Task Force:IETF)リクエスト・フォー・コメンツ(RFC)3550に規定されている。RTP伝送では、媒体データは、RTPパケットにカプセル化される。通常、各媒体の種類または媒体符号化形式は、専用のRTPペイロード形式を有する。
RTPセッションにより、RTPで通信する参加者群間が関連付けられる。該セッションは、多数のRTPストリームを伝送することも可能なグループ通信経路である。RTPストリームは、媒体データを含むRTPパケットのストリームである。RTPストリームは、特定のRTPセッションに属するSSRCで特定される。SSRCは、同期元またはRTPパケットヘッダにおける32ビットのSSRCフィールドである同期元識別子のいずれかを指す。同期元は、以下の特徴を有する。同期元からのすべてのパケットは同一のタイミングおよびシーケンス番号空間の一部を形成するし、これにより受信機は同期元からのパケットをグループ化して再生できる。同期元の例としては、マイクやカメラのような信号源からのパケットのストリームの送信機や、RTP混合器が挙げられる。各RTPストリームは、RTPセッション内で特有のSSRCにより特定される。RTPストリームは、論理経路とみなすことができる。
入手可能なメディアファイルフォーマット規格には、ISOによるメディアファイルフォーマット(ISO/IEC14496−12、「ISOBMFF」と略称される場合もある)、MPEG−4ファイルフォーマット(ISO/IEC14496−14、「MP4フォーマット」とも呼ばれる)、NAL単位構造化ビデオ用のファイルフォーマット(ISO/IEC14496−15)、および3GPPファイルフォーマット(3GPP TS 26.244、「3GPフォーマット」とも呼ばれる)が挙げられる。ISOファイルフォーマットは、上述のすべてのファイルフォーマット(ISOファイルフォーマット自体を除く)の導出のための基盤である。これらのファイルフォーマット(ISOファイルフォーマット自体を含む)は、一般的にファイルフォーマットのISOファミリーと呼ばれる。
ビデオコーデックは、入力されたビデオを保存/伝送に適した圧縮表現に変換するエンコーダと、その圧縮表現を可視形態に戻す展開を行うことができるデコーダとからなる。ビデオエンコーダおよび/またはビデオデコーダは、それぞれ分離していてもよい。すなわち、必ずしもコーデックを形成する必要はない。典型的なエンコーダは、ビデオをよりコンパクトな形態で(すなわち、「不可逆」圧縮で、結果として低いビットレートとなる)表現するために、元のビデオシーケンスの情報の一部を切り捨てる。ビデオエンコーダは、後述するように、画像シーケンスを符号化するために使用されてもよく、ビデオデコーダは、符号化された画像シーケンスを復号するために使用されてもよい。ビデオエンコーダ、またはビデオエンコーダや画像エンコーダのイントラ符号化部は、画像を符号化するために使用されてもよく、ビデオデコーダ、またはビデオデコーダや画像デコーダのインター復号部は、符号化された画像を復号するために使用されてもよい。
例えばITU−T H.263やH.264等の多くのエンコーダ実装例のような典型的なハイブリッドビデオエンコーダは、ビデオ情報を2段階で符号化する。第1段階で、例えば動き補償手段(符号化されるブロックと密接に対応する、先に符号化済みのビデオフレームの1つにあるエリアを探して示す手段)や空間手段(特定の方法で符号化されるブロックの周辺の画素値を用いる手段)によって、特定のピクチャエリア(または「ブロック」)の画素値が予測される。第2段階で、予測誤差、すなわち画素の予測ブロックとその画素の元のブロックとの間の差分が符号化される。これは通常、特定の変換(例えば、離散コサイン変換(Discrete Cosine Transform:DCT)やその変形)を用いて画素値の差分を変換し、係数を量子化し、量子化済み係数をエントロピー符号化することによって行われる。量子化処理の忠実度を変えることによって、エンコーダは画素表現の正確性(ピクチャ品質)と結果として得られる符号化ビデオ表現のサイズ(ファイルサイズまたは伝送ビットレート)との間のバランスを調整することができる。
インター予測は、時間予測、動き補償、または動き補償予測とも呼ばれ、時間冗長性を小さくする。インター予測では、予測は先に復号済みのピクチャに基づく。一方、イントラ予測は、同一のピクチャ内の隣接画素同士に相関がある可能性が高いという事実に基づく。イントラ予測は、空間ドメインまたは変換ドメインで行うことができる。すなわち、サンプル値または変換係数のいずれかを予測することができる。イントラ符号化では通常イントラ予測が利用され、インター予測は適用されない。
符号化処理の結果の1つとして、動きベクトルと量子化変換係数のような符号化パラメータセットが得られる。多くのパラメータは、最初に空間的または時間的に隣接するパラメータから予測することで、より効率的にエントロピー符号化することができる。例えば、動きベクトルは空間的に隣接する動きベクトルから予測されてもよく、動きベクトル予測器に対する相対差のみが符号化されてもよい。符号化パラメータの予測およびイントラ予測は、まとめてピクチャ内予測とも呼ばれる。
図4は、本発明の各実施形態の利用に適したビデオエンコーダのブロック図である。図4では2レイヤ用のエンコーダを示すが、図示のエンコーダを1つのみのレイヤを符号化するように簡略化してもよく、あるいは3つ以上のレイヤを符号化するように拡張してもよい。図4は、基本レイヤ用の第1のエンコーダ部520と、拡張レイヤ用の第2のエンコーダ部522とを備えるビデオエンコーダの実施形態を示す。第1のエンコーダ部520と第2のエンコーダ部522とはそれぞれ、受信するピクチャを符号化するために同様の要素を備えてもよい。エンコーダ部520、522は、画素予測器302、402と、予測誤差エンコーダ303、403と、予測誤差デコーダ304、404とを備える。図4はさらに、インター予測器306、406と、イントラ予測器308、408と、モード選択部310、410と、フィルタ316、416と、参照フレームメモリ318、418とを備える画素予測器302、402の実施形態を示す。第1のエンコーダ部500の画素予測器302は、インター予測器306(画像と動き補償参照フレーム318との差分を判定する)と、イントラ予測器308(現フレームまたはピクチャの処理済み部分のみに基づいて、画像ブロックの予測を判定する)の両者で符号化される動画ストリームの基本レイヤ画像を300枚受信する。インター予測器およびイントラ予測器の両方の出力は、モード選択部310に送られる。イントラ予測器308は、2つ以上のイントラ予測モードを備えてもよい。この場合、各モードにおいてイントラ予測が行われ、予測信号がモード選択部310に提供されてもよい。モード選択部310は、基本レイヤピクチャ300のコピーも受信する。同様に、第2のエンコーダ部522の画素予測器402は、インター予測器406(画像と動き補償参照フレーム418との差分を判定する)と、イントラ予測器408(現フレームまたはピクチャの処理済み部分のみに基づいて、画像ブロックの予測を判定する)の両者で符号化される動画ストリームの拡張レイヤ画像を400枚受信する。インター予測器およびイントラ予測器の両方の出力は、モード選択部410に送られる。イントラ予測器408は、2つ以上のイントラ予測モードを備えてもよい。この場合、各モードにおいてイントラ予測が行われ、予測信号がモード選択部410に提供されてもよい。モード選択部410は、拡張レイヤピクチャ400のコピーも受信する。
現在のブロックの符号化のためにいずれの符号化モードが選択されたかに応じて、インター予測器306、406の出力、任意のイントラ予測器モードの1つによる出力、またはモード選択部内のサーフェスエンコーダの出力が、モード選択部310、410の出力に送られる。モード選択部の出力は、第1の加算装置321、421に送られる。第1の加算装置は、基本レイヤピクチャ300/拡張レイヤピクチャ400から画素予測器302、402の出力を減算し、第1の予測誤差信号320、420を生成してもよい。当該信号は、予測誤差エンコーダ303、403に入力される。
画素予測器302、402はさらに、画像ブロック312、412の予測表現と予測誤差デコーダ304、404の出力338、438の組合せを予備再構成器339、439から受け取る。予備再構成された画像314、414が、イントラ予測器308、408と、フィルタ316、416とに送られてもよい。予備表現を受け取るフィルタ316、416は、その予備表現をフィルタリングし、参照フレームメモリ318、418に保存されうる最終再構成画像340、440を出力してもよい。参照フレームメモリ318は、インター予測器306に接続され、インター予測動作において後の基本レイヤピクチャ300と比較される参照画像として使用されてもよい。いくつかの実施形態では、基本レイヤが拡張レイヤのインターレイヤサンプル予測および/またはインターレイヤ動き情報予測の元として選択、標示されている場合、参照フレームメモリ318は、インター予測器406に接続され、インター予測動作において後の拡張レイヤピクチャ400と比較される参照画像として使用されてもよい。さらに、参照フレームメモリ418は、インター予測器406に接続され、インター予測動作において後の拡張レイヤピクチャ400と比較される参照画像として使用されてもよい。
いくつかの実施形態において、基本レイヤが拡張レイヤのフィルタリングパラメータ予測の元として選択、標示されている場合、第2のエンコーダ部522に対して、第1のエンコーダ部520のフィルタ316からのフィルタリングパラメータが提供されてもよい。
予測誤差エンコーダ303、403は、変換部342、442と量子化器344、444とを備える。変換部342、442は、第1の予測誤差信号320、420を変換ドメインに変換する。この変換は、例えばDCT変換である。量子化器344、444は、例えばDCT係数のような変換ドメイン信号を量子化し、量子化係数を生成する。
予測誤差デコーダ304、404は予測誤差エンコーダ303、403からの出力を受信し、予測誤差エンコーダ303、403とは逆の処理を実行して、復号予測誤差信号338、438を生成する。当該信号は、第2の加算装置339、439にて画像ブロック312、412の予測表現と組み合わされて、予備再構成画像314、414が生成される。予測誤差デコーダは、逆量子化器361、461と、逆変換部363、463とを備えるものとみなすことができる。逆量子化器361、461は、例えばDCT係数のような量子化係数値を逆量子化し、変換信号を再構成する。逆変換部363、463は再構成変換信号を逆変換する。逆変換部363、463の出力は、1つ以上の再構成ブロックを含む。予測誤差デコーダはさらに、さらなる復号情報やフィルタパラメータに基づき、1つ以上の再構成ブロックをフィルタリングしうるブロックフィルタを備えてもよい。
エントロピーエンコーダ330、430は、予測誤差エンコーダ303、403の出力を受信し、好適なエントロピー符号化/可変長符号化を信号に実行する。これによりエラー検出および修正が可能となる。エントロピーエンコーダ330、430の出力は、例えばマルチプレクサ528によりビットストリームに挿入されてもよい。
H.264/AVC規格は、ITU−T(国際電気通信連合の電気通信標準化部門)のビデオの符号化専門家グループ(VCEG)およびISO(国際標準化機構)/IEC(国際電気標準会議)の動画専門家グループ(MPEG)による統合ビデオチーム(JVT)によって開発された。H.264/AVC規格は、その元となる両標準化機構によって公開されており、ITU−T勧告H.264およびISO/IEC国際規格14496−10と呼ばれ、MPEG−4パート10高度ビデオ符号化方式(Advanced Video Coding:AVC)としても知られている。H.264/AVC規格には複数のバージョンがあり、それぞれが仕様に新たな拡張や特徴を統合している。これらの拡張には、スケーラブルビデオ符号化(Scalable Video Coding:SVC)やマルチビュービデオ符号化(Multiview Video Coding:MVC)が挙げられる。
高効率ビデオ符号化(High Efficiency Video Coding:H.265/HEVCまたはHEVC)規格のバージョン1は、VCEGとMPEGのビデオの符号化共同研究開発チーム(JCT−VC)によって開発された。この規格は、その元となる両標準化機構によって公開されており、ITU−T勧告H.265およびISO/IEC国際規格23008−2と呼ばれ、MPEG−Hパート2高効率ビデオ符号化として知られている。H.265/HEVCのバージョン2は、スケーラブル拡張、マルチビュー拡張、および忠実度範囲拡張を含み、それぞれSHVC、MV−HEVC、およびREXTと略称される。H.265/HEVCのバージョン2は、ITU−T勧告H.265(2014年10月)として先に刊行されており、2015年にISO/IEC23008−2の第2版として刊行される見込みである。H.265/HEVCのさらなる拡張版を開発する標準化プロジェクトも現在進められている。当該拡張版には、3次元およびスクリーンコンテンツ符号化拡張(それぞれ、3D−HEVC、SCCと略称される)が含まれている。
SHVC、MV−HEVC、および3D−HEVCは、HEVC規格のバージョン2の添付資料(Annex)Fに規定されている共通基準仕様を用いている。この共通基準は、例えば高レベルのシンタックスおよび意味を含む。これによって例えばインターレイヤ依存性等のビットストリームのレイヤの一部の特性や、インターレイヤ参照ピクチャを含む参照ピクチャリスト構造やマルチレイヤビットストリームに対するピクチャ順カウント導出等の復号処理が規定される。添付資料Fは、さらにHEVCの後続のマルチレイヤ拡張にも使用できる。以下において、ビデオエンコーダ、ビデオデコーダ、符号化方法、復号方法、ビットストリーム構造、および/または実施形態は、SHVCおよび/またはMV−HEVCといった特定の拡張を参照して説明されるが、これらはHEVCの任意のマルチレイヤ拡張にも広く適用可能であり、さらには任意のマルチレイヤビデオの符号化方式にも適用可能であることは理解されよう。
ここでは、H.264/AVCおよびHEVCの重要な定義やビットストリーム、符号化の構造、概念の一部が、実施形態を実施可能なビデオエンコーダやデコーダ、符号化方法、復号方法、ビットストリーム構造の例として説明される。H.264/AVCの重要な定義やビットストリーム、符号化の構造、概念の中にはHEVCにおける規格と同一のものもある。したがって、以下ではこれらも一緒に説明される。本発明の態様は、H.264/AVCやHEVCに限定されるものではなく、本明細書は本発明が部分的にまたは全体として実現される上で可能な原理を説明するためのものである。
先行する多くのビデオの符号化規格と同様に、H.264/AVCおよびHEVCは、エラーのないビットストリームのための復号処理に加えてビットストリームのシンタックスと意味についても規定している。符号化処理については規定されていないが、エンコーダは適合するビットストリームを生成する必要がある。ビットストリームとデコーダの適合性は、仮想参照デコーダ(Hypothetical Reference Decoder:HRD)を用いて検証できる。この規格は、伝送エラーや伝送損失対策を助ける符号化ツールを含むが、こうしたツールを符号化で用いることは任意に選択可能であって、誤ったビットストリームに対する復号処理は規定されていない。
現存の規格に関する記述においても例示的実施形態の記述と同様に、シンタックス要素はビットストリームで表されるデータの要素として定義することができる。シンタックス構造は、特定の順序でビットストリームにおいて共存する0以上のシンタックス要素として定義されてもよい。現存の規格に関する記述においても例示的実施形態の記述と同様に、「外部手段によって」や「外部手段を介して」という表現が使用できる。例えば、シンタックス構造や復号処理において用いられる変数の値といったエンティティは、「外部手段によって」該復号処理に提供されてもよい。「外部手段によって」という表現は、このエンティティがエンコーダによって作成されたビットストリームに含まれるものではなく、ビットストリームの外部から、例えば制御プロトコルを用いて持ち込まれたことを示しうる。これに代えて、または加えて、「外部手段によって」という表現は、該エンティティがエンコーダによって作成されたものではなく、例えばデコーダを用いるプレーヤまたは復号制御論理回路等によって作成されたことを示しうる。このデコーダは、変数値等の外部手段を入力するインタフェースを有してもよい。
H.264/AVCまたはHEVCエンコーダへの入力およびH.264/AVCまたはHEVCデコーダからの出力の基本単位は、それぞれピクチャである。エンコーダへの入力として与えられたピクチャはソースピクチャとも呼ばれ、デコーダによって復号されたピクチャは復号ピクチャとも呼ばれる。
ソースピクチャおよび復号ピクチャは、それぞれ以下のサンプル配列のセットのいずれかのような、1つ以上のサンプル配列からなっている。
・ 輝度(Luma)(Y)のみ(モノクロ)
・ 輝度および2つのクロマ(YCbCrまたはYCgCo)
・ 緑、青、赤(GBRまたはRGB)
・ その他の非特定モノクロまたは三刺激色サンプリングを示す配列(例えば、YZX、またはXYZ)
以下では、これらの配列は、実際に使用されている色表現方法に関わらず、輝度(LまたはY)およびクロマと呼ばれ、2つのクロマ配列はCbおよびCrとも呼ばれてもよい。実際に使用されている色表現方法は、例えばH.264/AVCおよび/またはHEVCのビデオユーザビリティ情報(VUI)シンタックスを使用して、符号化されたビットストリームにおいて示すことができる。ある成分が、3つのサンプル配列(輝度および2つのクロマ)のうちの1つから配列または単一のサンプルとして定義されるか、モノクロフォーマットのピクチャを構成する配列または配列の単一のサンプルとして定義されてもよい。
H.264/AVCおよびHEVCでは、ピクチャはフレームまたはフィールドのいずれかであってもよい。フレームは、輝度サンプルと場合により対応するクロマサンプルの行列を含む。フィールドは、フレームの1つおきのサンプル行の組であり、ソース信号がインターレースである場合、エンコーダ入力として用いられてもよい。クロマサンプル配列はなくてもよく(よって、モノクロサンプリングが使用される)、または輝度サンプル配列と比較されるときにサブサンプリングされてもよい。クロマフォーマットは、以下のようにまとめられる。
・ モノクロサンプリングでは、サンプル配列が1つのみ存在し、名目上輝度配列とみなされる。
・ 4:2:0サンプリングでは、2つのクロマ配列のそれぞれが輝度配列の半分の高さと半分の幅を有する。
・ 4:2:2サンプリングでは、2つのクロマ配列のそれぞれが輝度配列と同じ高さと半分の幅を有する。
・ 4:4:4サンプリングでは、別個の色平面が使用されない場合、2つのクロマ配列のそれぞれが輝度配列と同じ高さと幅を有する。
H.264/AVCおよびHEVCでは、サンプル配列を別個の色平面としてビットストリームに符号化し、そのビットストリームから別個に符号化された色平面をそれぞれ復号することができる。別個の色平面が使用される場合、そのそれぞれは(エンコーダおよび/またはデコーダによって)モノクロサンプリングのピクチャとして別々に処理される。
パーティショニングとは、1つのセットの各要素が正確にサブセットの1つであるように、そのセットを複数のサブセットに分割することと定義することができる。
H.264/AVCでは、マクロブロックとは、16×16ブロックの輝度サンプルと対応するクロマサンプルのブロックである。例えば、4:2:0サンプリングパターンでは、1つのマクロブロックには各クロマ成分について、1つの8×8ブロックのクロマサンプルを含む。H.264/AVCでは、ピクチャが1つ以上のスライスグループに分割(パーティショニング)され、1つのスライスグループには1つ以上のスライスを含む。H.264/AVCでは、スライスは整数のマクロブロックからなり、特定のスライスグループ内でラスタースキャンの順に連続している。
HEVC符号化および/または復号の動作の記述に関して、以下の用語が用いられる場合がある。符号化ブロックは、符号化ツリーブロックが符号化ブロックへパーティショニングにより分割されるように、何らかの値NについてのサンプルのN×Nブロックとして定義することができる。符号化ツリーブロック(CTB)は、ある成分の符号化ツリーブロックへパーティショニングにより分割されるように、何らかの値NについてのサンプルのN×Nブロックとして定義することができる。符号化ツリー単位(Coding Tree Unit:CTU)は、輝度サンプルの符号化ツリーブロックとして定義することができ、これは3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応する符号化ツリーブロックや、モノクロピクチャのサンプルまたは3つの別個の色平面やサンプルを符号化するために使用されるシンタックス構造を用いて符号化されるピクチャのサンプルの符号化ツリーブロックである。符号化単位(Coding Unit:CU)は、輝度サンプルの符号化ブロックとして定義することができ、これは3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応する符号化ブロックや、モノクロピクチャのサンプルまたは3つの別個の色平面やサンプルを符号化するために使用されるシンタックス構造を用いて符号化されるピクチャのサンプルの符号化ブロックである。
高効率ビデオ符号化(HEVC)コーデック等の一部のビデオコーデックでは、ビデオピクチャは、ピクチャのエリアを網羅する複数の符号化単位(CU)に分割される。CUは、CU内のサンプルに対する予測処理を定義する1つ以上の予測単位(Prediction Unit:PU)と、該CU内のサンプルに対する予測誤差符号化処理を定義する1つ以上の変換単位(Transform Unit:TU)からなる。通常CUは、正方形のサンプルブロックからなり、規定されている可能なCUサイズの組から選択可能なサイズを有する。最大許容サイズのCUは、最大符号化単位(Largest Coding Unit:LCU)または符号化ツリー単位(CTU)と呼ばれることもあり、ビデオピクチャは重なり合わないLCUに分割される。LCUは、例えば該LCUと分割の結果得られるCUを再帰的に分割することによってさらに小さいCUの組合せに分割されることもある。分割の結果得られる各CUは通常、少なくとも1つのPUとそれに関連する少なくとも1つのTUを有する。PUとTUはそれぞれ、予測処理と予測誤差符号化処理の粒度を上げるために、さらに小さい複数のPUとTUに分割されることもある。各PUは、そのPU内の画素に適用される予測の種類を定義する、該PUに関連した予測情報(例えば、インター予測されたPUに対しては動きベクトルの情報、イントラ予測されたPUに対してはイントラ予測の方向情報)を有する。
デコーダは、予測された画素ブロックの表現を形成して(エンコーダが作成し、圧縮表現に格納された、動き情報または空間情報を使用)、予測誤差を復号するために(空間画素ドメインで量子化された予測誤差信号を回復する、予測誤差符号化の逆操作を使用)、エンコーダと同様の予測手段を適用することによって出力ビデオを再構成する。予測および予測誤差復号手段の適用後、デコーダは、出力ビデオフレームを形成するために予測信号と予測誤差信号(画素値)を足し合わせる。デコーダ(およびエンコーダ)は、出力ビデオをディスプレイに送る、および/または後続フレーム用予測の参照としてビデオシーケンスに格納する前に、出力ビデオの品質を向上するために追加フィルタリング手段を適用することもできる。
フィルタリングは、例えば、デブロッキング、適応サンプルオフセット(Sample Adaptive Offset:SAO)、および/または適応ループフィルタリング(Adaptive Loop Filtering:ALF)のうちの1つ以上を含んでもよい。H.264/AVCはデブロッキングを含み、一方、HEVCはデブロッキングとSAOの両方を含む。
典型的なビデオコーデックでは、動き情報は、予測単位等の動き補償された画像ブロックのそれぞれに関連する動きベクトルで示される。こうした動きベクトルはそれぞれ、(エンコーダ側で)符号化されるピクチャまたは(デコーダ側で)復号されるピクチャの画像ブロックと、先に符号化または復号されたピクチャの1つにおける予測元ブロックとの間の移動量を表す。動きベクトルを効率よく表現するために、動きベクトルは通常、ブロック固有の予測動きベクトルに関して差動符号化されてもよい。典型的なビデオコーデックにおいて、予測動きベクトルは所定の方法、例えば、隣接ブロックの符号化/復号動きベクトルの中央値を計算することによって生成される。動きベクトル予測を行う別の方法は、時間参照ピクチャにおける隣接ブロックおよび/または同位置のブロックから予測候補のリストを作成し、選択された候補を動きベクトルの予測として信号で伝えるものである。動きベクトルの値の予測に加え、いずれの参照ピクチャが動き補償予測に用いられるかを予測することができ、この予測情報を例えば先に符号化/復号されたピクチャの参照インデックスによって表すことができる。参照インデックスは通常、時間参照ピクチャにおける隣接ブロックおよび/または同位置のブロックから予測される。また、典型的な高効率ビデオコーデックでは追加的な動き情報符号化/復号機構を用い、通常、マージングまたはマージモードと呼ばれる。ここで、すべての動きフィールド情報は、利用可能な参照ピクチャリストの各々について動きベクトルと対応する参照ピクチャインデックスを含んで、予測され、その他の変更/修正を行わずに使用される。同様に、動きフィールド情報の予測は、時間参照ピクチャにおける隣接ブロックおよび/または同位置のブロックの動きフィールド情報を用いて行われ、使用された動きフィールド情報は、利用可能な隣接/同位置のブロックの動きフィールド情報が含まれる動きフィールド候補のリストに信号で伝えられる。
典型的なビデオコーデックは、単予測と双予測の使用が可能である。単予測では単一の予測ブロックを符号化/復号対象ブロックに使用し、双予測では2つの予測ブロックを組み合わせて、符号化/復号対象ブロックに対する予測を実現する。一部のビデオコーデックでは、残差情報を加える前に予測ブロックのサンプル値が重み付けされる重み付け予測が可能である。例えば、乗法重み付け係数および加法補正値を適用することができる。一部のビデオコーデックによって実現される直接的な重み付け予測では、重み付け係数および補正値は、例えば許容される参照ピクチャインデックスごとにスライスヘッダにおいて符号化されてもよい。一部のビデオコーデックによって実現される間接的な重み付け予測では、重み付け係数および/または補正値は符号化されず、例えば参照ピクチャの相対ピクチャ順数(Relative Picture Order Count:POC)の距離に基づいて導出される。
典型的なビデオコーデックにおいて、動き補償後の予測残差は最初に(DCTのような)変換カーネルで変換され、次に符号化される。これは、残差間にも相関があり、こうした変換が多くの場合でこのような相関を小さくするのに役立ち、より高い効率での符号化を可能にするからである。
典型的なビデオエンコーダは、例えば所望のマクロブロックモードおよび関連する動きベクトルといった最適な符号化モードを探索するために、ラグランジュコスト関数を利用する。この種の費用関数は、非可逆符号化方法による(正確な、または推定された)画像歪みと、画像エリアの画素値を表現するのに必要である(正確な、または推定された)情報量を一緒に固定するために、重み付け係数λを使用する。
C=D+λR (式1)
ここで、Cは最小化すべきラグランジュコスト、Dはそのモードおよび考慮される動きベクトルによる画像歪み(例えば平均二乗誤差)、Rはデコーダで画像ブロックを再構成するために必要なデータ(候補の動きベクトルを表すためのデータ量を含む)を表すのに必要なビット数である。
ビデオ符号化規格および標準は、エンコーダが符号化ピクチャを符号化スライス等に分割可能にするものであってもよい。通常、スライス境界をまたぐピクチャ内予測は無効である。したがって、スライスは符号化ピクチャを独立に復号可能な部分に分割する方法だと考えられる。H.264/AVCおよびHEVCでは、スライス境界をまたぐピクチャ内予測が無効でもよい。したがって、スライスは符号化ピクチャを独立に復号可能な部分に分割する方法だと考えられることもあり、このため、伝送の基本単位とみなされることが多い。多くの場合、エンコーダは、ピクチャ内予測のどの種類がスライス境界をまたぐ際に止められているかをビットストリームで示してもよい。この情報は、デコーダの動作によって、どの予測ソースが利用可能であるかを決定する際等に考慮される。例えば、隣接するマクロブロックやCUが別のスライスに存在する場合、その隣接するマクロブロックやCUからのサンプルはイントラ予測には利用できないとみなされてもよい。
H.264/AVCまたはHEVCのエンコーダからの出力およびH.264/AVCまたはHEVCのデコーダへの入力のための基本単位はそれぞれ、ネットワーク抽象化層(Network Abstraction Layer:NAL)単位である。パケット指向ネットワークでの伝送や構造化ファイルへの格納に対して、NAL単位はパケットや同様の構造にカプセル化されてもよい。H.264/AVCおよびHEVCでは、フレーム構造を提供しない伝送や格納の環境に対してバイトストリームフォーマットが特定されている。バイトストリームフォーマットは、各NAL単位の先頭に開始コードを付与することによってNAL単位同士を分離する。NAL単位境界の誤検出を防止するために、エンコーダはバイト指向開始コードエミュレーション防止アルゴリズムを実行する。このアルゴリズムでは、開始コードが別の形で生じた場合にNAL単位ペイロードにエミュレーション防止バイトを追加する。パケット指向システムとストリーム指向システムとの間の直接的なゲートウェイ動作を可能とするために、バイトストリームフォーマットが使用されているか否かに関係なく常に開始コードエミュレーション防止が行われてもよい。NAL単位は、後続データの種類の標示を含むシンタックス構造と、未加工バイトシーケンスペイロード(RBSP)の形態で必要に応じてエミュレーション防止バイトを散在させたデータを含む複数のバイトとして定義することができる。RBSPは、NAL単位にカプセル化される整数のバイトを含むシンタックス構造として定義することができる。RBSPは空であるか、RBSPストップビットおよび0に等しい後続のビットが0個以上続くシンタックス要素を含むデータビット列の形態を持つかのいずれかである。
NAL単位はヘッダとペイロードからなる。H.264/AVCおよびHEVCでは、NAL単位ヘッダはNAL単位の種類を示す。
H.264/AVCのNAL単位ヘッダは2ビットのシンタックス要素であるnal_ref_idcを含み、これが0のときはNAL単位に含まれる符号化スライスが非参照ピクチャの一部であることを示し、0を超えるときはNAL単位に含まれる符号化スライスが参照ピクチャの一部であることを示す。SVCおよびMVCのNAL単位のヘッダは、スケーラビリティおよびマルチビュー階層に関する各種標示を追加で含んでもよい。
HEVCでは、規定されるNAL単位のすべての種類に対して2バイトのNAL単位ヘッダが使用される。NAL単位ヘッダには、1ビットの予約ビットと6ビットのNAL単位種類の標示、時間レベルに対する3ビットのnuh_temporal_id_plus1標示(1以上であることが必要な場合がある)、6ビットのnuh_layer_idシンタックス要素が含まれる。temporal_id_plus1シンタックス要素はNAL単位の時間識別子とみなされ、ゼロベースのTemporalID変数は次のように算出することができる。
TemporalID=temporal_id_plus1−1
TemporalIDが0のときは、最下位時間レベルに対応する。2つのNAL単位ヘッダバイトを含む開始コードエミュレーションを避けるために、temporal_id_plus1の値は0でない値が求められる。選択された値以上のTemporalIDを持つすべてのVCL−NAL単位を除外し、それ以外のすべてのVCL−NAL単位を含めることによって生成されたビットストリームが適合するものである。その結果、TIDと等しいTemporalIDを持つピクチャは、TIDを超えるTemporalIDを持つどのピクチャもインター予測の参照として使用しない。サブレイヤまたは時間サブレイヤは、TemporalID変数の特定の値を持つVCL−NAL単位および関連する非VCL−NAL単位からなる時間スケーラブルビットストリームの時間スケーラブルレイヤとして定義されてもよい。nuh_layer_idは、スケーラビリティレイヤ識別子として理解できる。
NAL単位は、ビデオ符号化層(Video Coding Layer:VCL)のNAL単位と、非VCL−NAL単位とに分類できる。VCL−NAL単位は通常、符号化スライスNAL単位である。H.264/AVCでは、符号化スライスNAL単位は1つ以上の符号化マクロブロックを表すシンタックス要素を含み、そのそれぞれが非圧縮ピクチャにおけるサンプルの1ブロックに対応する。HEVCでは、VCL−NAL単位は1つ以上のCUを表すシンタックス要素を含む。
H.264/AVCでは、符号化スライスNAL単位は、瞬時復号リフレッシュ(Instantaneous Decoding Refresh:IDR)ピクチャにおける符号化スライスまたは非IDRピクチャにおける符号化スライスであると示されうる。
HEVCにおいては、VCL−NAL単位のnal_unit_typeが、ピクチャ種類を示すととらえることができる。HEVCでは、ピクチャ種類の略語は、末尾(TRAIL)ピクチャ、時間サブレイヤアクセス(Temporal Sub-layer Access:TSA)、段階的時間サブレイヤアクセス(Step-wise Temporal Sub-layer Access:STSA)、ランダムアクセス復号可能先頭(Random Access Decodable Leading:RADL)ピクチャ、ランダムアクセススキップ先頭(Random Access Skipped Leading:RASL)ピクチャ、リンク切れアクセス(Broken Link Access:BLA)ピクチャ、瞬時復号リフレッシュ(IDR)ピクチャ、クリーンランダムアクセス(CRA)ピクチャと定義することができる。ピクチャ種類は、IRAP(intra random access point)ピクチャと、非IRAPピクチャに分けられる。
イントラランダムアクセスポイント(IRAP)ピクチャとも呼ばれるランダムアクセスポイント(RAP)ピクチャは、各スライスまたはスライスセグメントが16以上23以下の範囲にnal_unit_typeを有するピクチャである。独立したレイヤのIRAPピクチャは、イントラ符号化スライスのみを含む。nuh_layer_id値がcurrLayerIdの予測されたレイヤに属するIRAPピクチャは、P、B、Iスライスを含むことができ、nuh_layer_idがcurrLayerIdに等しいその他のピクチャからのインター予測を使用することができず、その直接参照レイヤからのインターレイヤ予測を使用してもよい。HEVCの現行バージョンでは、IRAPピクチャは、BLAピクチャ、CRAピクチャ、またはIDRピクチャであってもよい。基本レイヤを含むビットストリームの最初のピクチャは、該基本レイヤにおけるIRAPピクチャである。必須パラメータセットがアクティブ化される必要があるときに利用可能であるならば、独立レイヤのIRAPピクチャおよび該独立レイヤ内の復号順で後続のすべての非RASLピクチャは、復号順でIRAPピクチャより前のピクチャに復号処理を行うことなく、正しく復号することができる。アクティブ化する必要のあるときに必須パラメータセットが利用可能な場合、また、nuh_layer_idがcurrLayerIdに等しいレイヤの各直接参照レイヤの復号が初期化された場合(すなわち、nuh_layer_idがcurrLayerIdに等しいレイヤの直接参照レイヤのすべてのnuh_layer_id値に等しいrefLayerIdに対して、LayerInitializedFlag[ refLayerId ]が1に等しい)、nuh_layer_id値がcurrLayerIdの予測されたレイヤに属するIRAPピクチャと、nuh_layer_idがcurrLayerIdに等しい復号順で後続のすべての非RASLピクチャは、復号順でIRAPピクチャの前にあるnuh_layer_idがcurrLayerIdに等しいいずれのピクチャについても復号処理を行うことなく、正しく復号することができる。IRAPピクチャではないイントラ符号化スライスのみを含むビットストリームにピクチャが存在することもある。
HEVCでは、CRAピクチャが復号順でビットストリームの最初のピクチャであってもよく、ビットストリームの後の方で現れてもよい。HEVCではCRAピクチャによって、いわゆる先頭ピクチャが復号順でCRAピクチャの後であるが出力順ではそれより前になる。先頭ピクチャの中のいわゆるRASLピクチャは、参照としてCRAピクチャより前に復号されるピクチャを用いてもよい。復号順および出力順で共にCRAピクチャより後のピクチャは、CRAピクチャでランダムアクセスが行われる場合に復号可能となり、そのため、クリーンランダムアクセスは、IDRピクチャのクリーンランダムアクセス機能と同様にして実現される。
CRAピクチャは、関連するRADLまたはRASLピクチャを有することもある。CRAピクチャが復号順でビットストリームの最初のピクチャである場合、CRAピクチャは、復号順で符号化ビデオシーケンスの最初のピクチャであり、いずれの関連するRASLピクチャもデコーダから出力されず、復号できない可能性がある。その理由は、これらのピクチャにはビットストリームに現れないピクチャに対する参照が含まれる可能性があるためである。
先頭ピクチャは、出力順で関連するRAPピクチャよりも先のピクチャである。関連するRAPピクチャは、(存在する場合は)復号順で前のRAPピクチャである。先頭ピクチャはRADLピクチャまたはRASLピクチャのいずれかである。
すべてのRASLピクチャは、関連するBLAまたはCRAピクチャの先頭ピクチャである。関連するRAPピクチャがBLAピクチャまたはビットストリームにおける最初の符号化ピクチャである場合、RASLピクチャは出力されず、正しく復号されないかもしれない。その理由は、RASLピクチャにはビットストリームに現れないピクチャに対する参照が含まれる可能性があるためである。しかし、RASLピクチャの関連するRAPピクチャより前のRAPピクチャから復号が始まっていた場合、RASLピクチャを正しく復号することができる。RASLピクチャは、非RASLピクチャの復号処理のための参照ピクチャとして使用されない。すべてのRASLピクチャは、存在する場合、復号順で同一の関連するRAPピクチャのすべての末尾ピクチャよりも前にある。HEVC規格のドラフトの中には、RASLピクチャを破棄用タグ付き(Tagged for Discard:TFD)ピクチャと呼ぶものもあった。
すべてのRADLピクチャは先頭ピクチャである。RADLピクチャは、同一の関連するRAPピクチャにおける末尾ピクチャの復号処理のための参照ピクチャとして使用されない。すべてのRADLピクチャは、存在する場合、復号順で同一の関連するRAPピクチャのすべての末尾ピクチャよりも前にある。RADLピクチャは、復号順で関連するRAPピクチャより前のいずれのピクチャも参照しない。したがって、復号が関連するRAPピクチャから始まる場合、該RADLピクチャを正しく復号することができる。HEVC規格のドラフトの中には、RADLピクチャを復号可能先頭ピクチャ(Decodable Leading Picture:DLP)と呼ぶものもあった。
CRAピクチャから始まるビットストリームの一部が別のビットストリームに含まれる場合、このCRAピクチャに関連するRASLピクチャは、その参照ピクチャの一部が合成ビットストリームにも存在しない可能性があるため、正しく復号されない可能性がある。こうした接合動作を直接的に行うために、CRAピクチャのNAL単位種類は、それがBLAピクチャであることを示すように変更することができる。BLAピクチャに関連するRASLピクチャは正しく復号できない可能性があり、よって、出力/表示もされない。また、BLAピクチャに関連するRASLピクチャでは復号処理を省略することもある。
BLAピクチャが復号順でビットストリームの最初のピクチャであってもよく、ビットストリームの後の方で現れてもよい。各BLAピクチャは新たな符号化ビデオシーケンスを開始し、復号処理に対してIDRピクチャと同様の影響を及ぼす。しかし、BLAピクチャは、空でない参照ピクチャセットを特定するシンタックス要素を含む。BLAピクチャは、BLA_W_LPに等しいnal_unit_typeを有する場合、関連するRASLピクチャを有する場合もあり、これらのRASLピクチャはデコーダから出力されず、復号できない可能性がある。これは、これらのピクチャにはビットストリームに現れないピクチャに対する参照が含まれる可能性があるためである。BLAピクチャはBLA_W_LPに等しいnal_unit_typeを有する場合、関連するRADLピクチャを備えてもよく、これらのRADLピクチャは復号されるものとして特定される。BLAピクチャは、BLA_W_DLPに等しいnal_unit_typeを有する場合、関連するRASLピクチャを有さず、関連するRADLピクチャを備えてもよく、これらのRADLピクチャは復号されるものとして特定される。BLAピクチャは、BLA_N_LPに等しいnal_unit_typeを有する場合、関連する先頭ピクチャを有さない。
IDR_N_LPに等しいnal_unit_typeを有するIDRピクチャは、ビットストリームに関連する先頭ピクチャを有さない。IDR_W_LPに等しいnal_unit_typeを有するIDRピクチャは、ビットストリームに関連するRASLピクチャを有さず、ビットストリームに関連するRADLピクチャを備えてもよい。
nal_unit_typeの値が、TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12、またはRSV_VCL_N14に等しい場合、復号ピクチャは同一時間サブレイヤの他のピクチャに対する参照として使用されない。すなわち、HEVCでは、nal_unit_typeの値が、TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12、またはRSV_VCL_N14に等しい場合、復号ピクチャは、TemporalIDが同じ値のピクチャのRefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetLtCurrのいずれにも含まれない。nal_unit_typeがTRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12、またはRSV_VCL_N14に等しい符号化ピクチャは、TemporalIDが同じ値の他のピクチャの復号可能性に影響を与えないように破棄されてもよい。
末尾ピクチャは、出力順で関連するRAPピクチャより後のピクチャとして定義することができる。末尾ピクチャであるいずれのピクチャも、RADL_N、RADL_R、RASL_N、またはRASL_Rに等しいnal_unit_typeを有さない。先頭ピクチャであるピクチャはいずれも、復号順で、同一のRAPピクチャに関連するすべての末尾ピクチャより前であるように制限されてもよい。nal_unit_typeがBLA_W_DLPまたはBLA_N_LPであるBLAピクチャに関連するRASLピクチャは、ビットストリームには存在しない。BLA_N_LPに等しいnal_unit_typeを有するBLAピクチャまたはIDR_N_LPに等しいnal_unit_typeを有するIDRピクチャに関連するRADLピクチャは、ビットストリームには存在しない。CRAまたはBLAピクチャに関連するRASLピクチャはいずれも、出力順で、CRAまたはBLAピクチャに関連するいずれのRADLピクチャよりも前にあるように制限されてもよい。CRAピクチャに関連するRASLピクチャはいずれも、復号順でCRAピクチャよりも前にある他のいずれのRAPピクチャよりも、出力順で後になるように制限されてもよい。
HEVCでは、TSAとSTSAという2つのピクチャ種類があり、時間サブレイヤの切替えポイントを示すために使用することができる。TSAまたはSTSAピクチャの手前まで、およびTSAまたはSTSAピクチャのTemporalIDがN+1に等しくなるまで、TemporalIDがNまでの時間サブレイヤが復号されてきた場合、TSAまたはSTSAピクチャは、TemporalIDがN+1である(復号順で)すべての後続のピクチャの復号を可能にする。TSAピクチャ種類は、TSAピクチャ自体に加え、同一のサブレイヤにおいて復号順でそのTSAピクチャより後のすべてのピクチャに対して制限を加えてもよい。こうしたピクチャはいずれも、同一のサブレイヤにおいて復号順でTSAピクチャより前のピクチャからのインター予測の使用が許容されない。TSAの規定は、上位サブレイヤにおいて復号順でTSAピクチャに続くピクチャに対して制限をさらに加えてもよい。これらのピクチャはいずれも、TSAピクチャと同一または上位のサブレイヤに属する場合、復号順でTSAピクチャより前のピクチャに対する参照が許容されない。TSAピクチャは0を超えるTemporalIDを有する。STSAはTSAピクチャと同様であるが、上位サブレイヤにおいて復号順でSTSAピクチャより後のピクチャに対して制限を加えない。したがって、STSAピクチャが存在するサブレイヤに対してのみアップスイッチングが可能となる。
非VCL−NAL単位は、例えば、シーケンスパラメータセット、ピクチャパラメータセット、補助拡張情報(Supplemental Enhancement Information:SEI)NAL単位、アクセス単位区切り、シーケンスNAL単位の一端、ビットストリームNAL単位の一端、または補充データNAL単位のいずれかの種類であってもよい。パラメータセットは復号ピクチャの再構成に必要であってもよいが、他の非VCL−NAL単位の多くは、復号サンプル値の再構成には必要ない。アクセス単位区切りであるNAL単位が存在する場合、復号順でアクセス単位の第1のNAL単位となるようにしてもよい。すなわち、アクセス単位の開始を示すものであってもよい。符号化単位終了を示す、SEIメッセージやそれ専用のNAL単位のようなインジケータが、ビットストリームに含まれたり、ビットストリームから復号されたりしてもよいことが提案されている。この符号化単位終了インジケータは、当該インジケータが符号化ピクチャの終わりであるかを示す情報をさらに含んでもよい。その場合、当該符号化単位終了インジケータがアクセス単位の終了を示す、層の組合せについての情報をさらに含んでもよい。
符号化ビデオシーケンスで不変のパラメータがシーケンスパラメータセットに含まれてもよい。復号処理に必要なパラメータに加え、シーケンスパラメータセットがビデオユーザビリティ情報(Video Usability Information:VUI)を任意で含んでもよい。これは、バッファリングやピクチャ出力タイミング、レンダリング、およびリソース予約に重要なパラメータを含む。H.264/AVCでは、シーケンスパラメータセットを運ぶため、H.264/AVCのVCL−NAL単位用データすべてをシーケンスに含むシーケンスパラメータセットNAL単位、補助符号化ピクチャ用データを含むシーケンスパラメータセット拡張NAL単位、MVCおよびSVC VCL−NAL単位用のサブセット・シーケンスパラメータセットの3つのNAL単位が規定されている。HEVCでは、シーケンスパラメータセットRBSPには、1つ以上のピクチャパラメータセットRBSP、またはバッファリング期間SEIメッセージを含む1つ以上のSEI−NAL単位によって参照可能なパラメータが含まれる。ピクチャパラメータセットは、複数の符号化ピクチャで不変であるようなパラメータを含む。ピクチャパラメータセットRBSPは、1つ以上の符号化ピクチャの符号化スライスNAL単位によって参照可能なパラメータを含んでもよい。
HEVCでは、ビデオパラメータセット(VPS)は、0以上の符号化ビデオシーケンス全体に対して適用するシンタックス要素を含むシンタックス構造として定義することができる。該ビデオシーケンスは、各スライスセグメントヘッダにおいて探索されるシンタックス要素によって参照されるPPSにおいて探索されるシンタックス要素によって参照されるSPSにおいて探索されるシンタックス要素のコンテンツによって決定される。
ビデオパラメータセットRBSPは、1つ以上のシーケンスパラメータセットRBSPによって参照可能なパラメータを含んでもよい。
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)の間の関係および階層は次のように記述できる。VPSは、スケーラビリティおよび/または3Dビデオの背景において、パラメータセット階層でSPSの1段上に位置する。VPSは、すべての(スケーラビリティまたはビュー)レイヤにわたって全スライスに共通なパラメータを符号化ビデオシーケンス全体に含んでもよい。SPSは、特定の(スケーラビリティまたはビュー)レイヤにおける全スライスに共通なパラメータを符号化ビデオシーケンスの全体に含み、複数の(スケーラビリティまたはビュー)レイヤで共有されてもよい。PPSは、特定のレイヤ表現(1つのアクセス単位における1つのスケーラビリティまたはビューレイヤの表現)における全スライスに共通なパラメータを含み、これらのパラメータは複数のレイヤ表現における全スライスで共有される傾向にある。
VPSは、符号化ビデオシーケンス全体においてすべての(スケーラビリティまたはビュー)レイヤにわたって全スライスに適用可能なその他多くの情報を提供しうるが、さらにビットストリーム内のレイヤの依存関係に関する情報を提供してもよい。VPSは、基本VPSおよびVPS拡張の2つの部分を含むとみなされてもよく、このうち、VPS拡張が含まれるかは任意に選択可能であってもよい。HEVCでは、基本VPSは、vps_extension( )シンタックス構造を含まず、video_parameter_set_rbsp( )シンタックス構造を含むとみなされてもよい。video_parameter_set_rbsp( )シンタックス構造は、HEVCのバージョン1で既に規定されており、基本レイヤの復号に使用できるシンタックス要素を含む。HEVCでは、VPS拡張は、vps_extension( )シンタックス構造を含むとみなされてもよい。vps_extension( )シンタックス構造は、HEVCのバージョン2で特にマルチレイヤ拡張について規定されており、レイヤ依存関係を示すシンタックス要素等の1つ以上の非基本レイヤの復号に使用できるシンタックス要素を含む。
H.264/AVCおよびHEVCのシンタックスでは様々なパラメータセットの事例が許容され、各事例は固有の識別子で識別される。パラメータセットに必要なメモリ使用量を制限するために、パラメータセット識別値域は制限されている。H.264/AVCおよびHEVCでは、各スライスヘッダは、そのスライスを含むピクチャの復号に対してアクティブなピクチャパラメータセットの識別子を含む。各ピクチャパラメータセットは、アクティブなシーケンスパラメータセットの識別子を含む。その結果、ピクチャとシーケンスパラメータセットの伝送がスライスの伝送と正確に同期されている必要がない。実際に、アクティブシーケンスとピクチャパラメータセットはそれらが参照される前までに受け取られていれば十分であり、スライスデータ用のプロトコルよりも高い信頼性のある伝送機構を使って「帯域外」でパラメータセットを伝送することが可能になる。例えば、パラメータセットはリアルタイム転送プロトコル(Realtime Transport Protocol:RTP)セッション用のセッション記述でのパラメータとして含まれてもよい。パラメータセットは、帯域内で伝送される場合、エラー耐性を高めるために繰り返されることもある。
パラメータセットは、スライスや別のアクティブパラメータセットからの参照によってアクティブ化されてもよく、場合によっては、バッファリング期間SEIメッセージのような別のシンタックス構造からの参照によることもある。
SEI−NAL単位は1つ以上のSEIメッセージを含んでもよい。これらは出力ピクチャの復号には必要ないが、ピクチャ出力タイミング、レンダリング、エラー検出、エラー隠蔽、リソース予約等の関連処理を補助してもよい。複数のSEIメッセージがH.264/AVCおよびHEVCで規定され、ユーザデータのSEIメッセージによって組織や企業が独自に使用するSEIメッセージを規定できる。H.264/AVCおよびHEVCは、規定されたSEIメッセージのシンタックスと意味を含むが、受信側でメッセージを取り扱う処理については何も定義されない。その結果、エンコーダはSEIメッセージを作成する際、H.264/AVC規格やHEVC規格に従い、デコーダもそれぞれH.264/AVC規格やHEVC規格に準拠する必要があるが、SEIメッセージを出力順規定に準じて処理する必要はない。H.264/AVCおよびHEVCでSEIメッセージのシンタックスと意味を含める理由の1つは、異なるシステム仕様でも補助情報を同じ様に解釈し相互運用を可能にすることである。システム仕様は符号化側と復号側の両方で特定のSEIメッセージを使用できるように要求するものであり、受信側で特定のSEIメッセージを取り扱う処理も規定されてもよい。
HEVCでは、2種類のSEI−NAL単位、すなわち、互いに異なるnal_unit_type値を有する接尾SEI−NAL単位と接頭SEI−NAL単位がある。接尾SEI−NAL単位に含まれるSEIメッセージは、復号順で接尾SEI−NAL単位の前に置かれるVCL−NAL単位に関連付けられる。接頭SEI−NAL単位に含まれるSEIメッセージは、復号順で接頭SEI−NAL単位の後に置かれるVCL−NAL単位に関連付けられる。
符号化ピクチャは、あるピクチャの符号化された表現である。H.264/AVCにおける符号化ピクチャは、ピクチャの復号に必要なVCL−NAL単位を含む。H.264/AVCでは、符号化ピクチャは、プライマリ符号化ピクチャであっても、冗長符号化ピクチャであってもよい。プライマリ符号化ピクチャは、有効ビットストリームの復号処理に用いられる。一方、冗長符号化ピクチャは、プライマリ符号化ピクチャが正しく復号できない場合にのみ復号されるべき冗長表現である。HEVCでは、冗長符号化ピクチャは規定されていない。
H.264/AVCでは、アクセス単位(Access Unit:AU)が、プライマリ符号化ピクチャとそれに関連付けられるNAL単位を含む。H.264/AVCでは、アクセス単位内でのNAL単位の出現順序が次のように制限されている。任意選択のアクセス単位区切りのNAL単位は、アクセス単位の起点を示すことができる。この後に、0以上のSEI−NAL単位が続く。プライマリ符号化ピクチャの符号化スライスが次に現れる。H.264/AVCでは、プライマリ符号化ピクチャの符号化スライスの後に、0以上の冗長符号化ピクチャの符号化スライスが続いてもよい。冗長符号化ピクチャは、ピクチャまたはピクチャの一部の符号化された表現である。冗長符号化ピクチャは、例えば伝送損失や物理記憶媒体でのデータ破損等によってデコーダがプライマリ符号化ピクチャを受け取ることができない場合に復号されてもよい。
HEVCでは、符号化ピクチャは、ピクチャのすべての符号化ツリー単位を含むピクチャの符号化された表現として定義することができる。HEVCでは、アクセス単位(AU)は、特定の分類ルールに基づき互いに関連付けられ、復号順で連続し、nuh_layer_idが任意の特定の値である最大で1つのピクチャを含む、NAL単位の組と定義することができる。アクセス単位は、符号化ピクチャのVCL−NAL単位を含むことに加えて、非VCL−NAL単位を含んでもよい。
符号化ピクチャは、アクセス単位内で所定の順で現れる必要がある場合がある。例えば、nuh_layer_idがnuhLayerIdAに等しい符号化ピクチャは、同一のアクセス単位内でnuh_layer_idがnuhLayerIdAより大きいすべての符号化ピクチャよりも復号順で前に置かれる必要がある場合がある。
HEVCでは、ピクチャ単位は、符号化ピクチャのすべてのVCL−NAL単位およびこれに関連する非VCL−NAL単位を含むNAL単位の組と定義することができる。非VCL−NAL単位に対して関連するVCL−NAL単位は、所定の種類の非VCL−NAL単位については該非VCL−NAL単位よりも復号順で前のVCL−NAL単位と定義され、その他の種類の非VCL−NAL単位については該非VCL−NAL単位に対して復号順で次のVCL−NAL単位と定義することができる。VCL−NAL単位に対する関連する非VCL−NAL単位は、VCL−NAL単位が関連するVCL−NAL単位である非VCL−NAL単位と定義することができる。例えば、HEVCでは、関連するVCL−NAL単位は、nal_unit_typeがEOS_NUT、EOB_NUT、FD_NUT、またはSUFFIX_SEI_NUTに等しい、またはRSV_NVCL45..RSV_NVCL47あるいはUNSPEC56..UNSPEC63の範囲にある非VCL−NAL単位に対して復号順で前のVCL−NAL単位、もしくは復号順で次のVCL−NAL単位と定義することができる。
ビットストリームは、NAL単位ストリームまたはバイトストリームの形式で、符号化ピクチャおよび1つ以上の符号化ビデオシーケンスを形成する関連するデータの表現を形成する、ビットのシーケンスとして定義することができる。同一のファイルや、通信プロトコルの同一の接続のように、同一の論理経路において、第1のビットストリームの後に第2のビットストリームが続いてもよい。(ビデオの符号化において)基本ストリームは、1つ以上のビットストリームのシーケンスと定義することができる。第1のビットストリームの終端は特定のNAL単位によって示されてもよく、これはビットストリーム終端(End of Bitstrem:EOB)のNAL単位と呼ばれ、該ビットストリームの最後のNAL単位である。HEVCおよび現在検討中のその拡張版では、EOBのNAL単位は0に等しいnuh_layer_idを有する必要がある。
H.264/AVCでは、符号化ビデオシーケンスは、IDRアクセス単位から、次のIDRアクセス単位の手前までとビットストリームの終端とのうちのより早い方まで、復号順で連続したアクセス単位のシーケンスと定義される。
HEVCでは、符号化ビデオシーケンス(Coded Video Sequence:CVS)が、例えば、復号順で、NoRaslOutputFlagが1に等しいIRAPアクセス単位と、その後のNoRaslOutputFlagが1に等しいIRAPアクセス単位である任意のアクセス単位の手前までの、後続のすべてのアクセス単位を含む、NoRaslOutputFlagが1に等しいIRAPアクセス単位ではない0以上のアクセス単位とからなる、アクセス単位のシーケンスとして定義することができる。IRAPアクセス単位は、基本レイヤピクチャがIRAPピクチャであるアクセス単位として定義することができる。ビットストリームにおいて復号順で特定のレイヤの最初のピクチャである各IDRピクチャ、各BLAピクチャ、および各IRAPピクチャに対して、NoRaslOutputFlagの値が1に等しいのは、復号順で、同一の値のnuh_layer_idを有するシーケンスNAL単位の終端に続く最初のIRAPピクチャである。マルチレイヤHEVCでは、nuh_layer_idが、LayerInitializedFlag[ nuh_layer_id ]が0に等しく、IdDirectRefLayer[ nuh_layer_id ][ j ]に等しいすべてのrefLayerIdの値に対してLayerInitializedFlag[ refLayerId ]が1に等しくなる(ここで、jは0からNumDirectRefLayers[ nuh_layer_id ]−1までの範囲にある)場合に、各IRAPピクチャに対してNoRaslOutputFlagの値が1に等しくなる。この条件が満たされなければ、NoRaslOutputFlagの値がHandleCraAsBlaFlagに等しくなる。1に等しいNoRaslOutputFlagの影響として、NoRaslOutputFlagが設定されたIRAPピクチャに関連付けられているRASLピクチャがデコーダから出力されないことが挙げられる。デコーダを制御しうるプレーヤまたは受信機等の外部エンティティからデコーダに対してHandleCraAsBlaFlagの値を提供するための手段が設けられてもよい。例えばビットストリームにおける新たな位置を探索し、ブロードキャストを受け、復号を開始し、その後CRAピクチャから復号を開始するプレーヤによって、HandleCraAsBlaFlagは1に設定されてもよい。CRAピクチャに対してHandleCraAsBlaFlagが1に等しい場合、CRAピクチャはBLAピクチャと同様に取り扱われ、復号される。
HEVCでは、上記の仕様に加えて、またはこれに代えて、シーケンス終端(End of Sequence:EOS)のNAL単位とも呼ばれる特定のNAL単位がビットストリームに現れ、そのnuh_layer_idが0に等しい場合、符号化ビデオシーケンスが終了するように規定されてもよい。
HEVCでは、符号化ビデオシーケンスグループ(Coded Video Sequence Group:CVSG)は、例えば、既にアクティブではなかったVPS RBSPの最初のVpsRbspをアクティブ化するIRAPアクセス単位から、ビットストリームの終端と、最初のVpsRbspとは異なるVPS RBSPをアクティブ化するアクセス単位の手前までとのうちの復号順でより早い方までの、最初のVpsRbspがアクティブVPS RBSPである復号順で後続のすべてのアクセス単位からなる、復号順で連続する1つ以上のCVSと定義することができる。
H.264/AVCおよびHEVCのビットストリームシンタックスは、特定のピクチャが別のピクチャのインター予測のための参照ピクチャであるか否かを示す。符号化の任意の種類(I、P、B)のピクチャは、H.264/AVCおよびHEVCの参照ピクチャまたは非参照ピクチャでありうる。
HEVCでは、参照ピクチャセット(Reference Picture Set:RPS)のシンタックス構造と復号処理が使用される。あるピクチャに有効またはアクティブな参照ピクチャセットには、そのピクチャに対する参照として使われるすべての参照ピクチャと、復号順で後続の任意のピクチャに対して「参照に使用済」とマークされたままであるすべての参照ピクチャとが挙げられる。参照ピクチャセットには6つのサブセットがあり、それぞれRefPicSetStCurr0(またはRefPicSetStCurrBefore)、RefPicSetStCurr1(またはRefPicSetStCurrAfter)、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr、RefPicSetLtFollと呼ばれる。また、RefPicSetStFoll0およびRefPicSetStFoll1は、まとめて1つのサブセットRefPicSetStFollを形成するものとされてもよい。この6つのサブセットの表記法は次のとおりである。「Curr」は現ピクチャの参照ピクチャリストに含まれる参照ピクチャを表し、このため、現ピクチャに対するインター予測参照として使用されてもよい。「Foll」は現ピクチャの参照ピクチャリストに含まれない参照ピクチャを表すが、復号順で後続のピクチャでは参照ピクチャとして使用されてもよい。「St」は短期参照ピクチャを表し、通常、POC値の特定数の最下位ビットで識別されてもよい。「Lt」は長期参照ピクチャを表し、特定の方法で識別され、通常、現ピクチャに対するPOC値の差分は、前述した特定数の最下位ビットによって表されるものよりも大きい。「0」は現ピクチャのPOC値よりも小さいPOC値を持つ参照ピクチャを表す。「1」は現ピクチャのPOC値よりも大きいPOC値を持つ参照ピクチャを表す。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1はまとめて、参照ピクチャセットの短期サブセットと呼ばれる。RefPicSetLtCurrおよびRefPicSetLtFollはまとめて、参照ピクチャセットの長期サブセットと呼ばれる。
HEVCでは、参照ピクチャセットは、シーケンスパラメータセットで特定され、参照ピクチャセットへのインデックスを介してスライスヘッダ用に取り込まれてもよい。参照ピクチャセットはスライスヘッダで特定されてもよい。参照ピクチャセットは独立に符号化されてもよく、別の参照ピクチャセットから予測されてもよい(インターRPS予測と呼ばれる)。参照ピクチャセット符号化の両方の種類で、各参照ピクチャに対してフラグ(used_by_curr_pic_X_flag)が追加で送信される。このフラグは、その参照ピクチャが参照として現ピクチャに用いられる(*Currリストに含まれる)か否か(*Follリストに含まれる)を示す。現スライスが使う参照ピクチャセットに含まれるピクチャは「参照に使用」とマークされ、現スライスが使う参照ピクチャセットに含まれないピクチャは「参照に未使用」とマークされる。現ピクチャがIDRピクチャである場合、RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr、およびRefPicSetLtFollはすべて空に設定される。
復号ピクチャバッファ(Decoded Picture Buffer:DPB)はエンコーダおよび/またはデコーダで使用されてもよい。復号ピクチャをバッファする理由は2つある。1つはインター予測で参照するため、もう1つは復号ピクチャを出力順に並べ直すためである。H.264/AVCおよびHEVCは参照ピクチャのマーキングと出力の並べ換えの両方で相当な柔軟性を与えるため、参照ピクチャのバッファリングと出力ピクチャのバッファリングで別々のバッファを使うことはメモリリソースを浪費する可能性がある。このためDPBは、参照ピクチャと出力並べ換えのための統合された復号ピクチャバッファリング処理を含んでもよい。復号ピクチャは、参照として使用されず出力される必要がなくなると、DPBから削除されてもよい。
H.264/AVCおよびHEVC等の多くの符号化モードでは、インター予測用参照ピクチャは参照ピクチャリストへのインデックスで示される。このインデックスは可変長符号化で符号化されてもよい。可変長符号化によって多くの場合、インデックスを小さくして対応するシンタックス要素に対してより小さい値を持つことができる。H.264/AVCおよびHEVCでは、双予測(B)スライスにはそれぞれ2つの参照ピクチャリスト(参照ピクチャリスト0および参照ピクチャリスト1)が作成され、インター符号化(P)スライスにはそれぞれ1つの参照ピクチャリスト(参照ピクチャリスト0)が形成される。
参照ピクチャリスト0および参照ピクチャリスト1等の参照ピクチャリストは通常、2つのステップで作成される。第1ステップでは、初期参照ピクチャリストが作成される。初期参照ピクチャリストは例えば、frame_numやPOC、temporal_id(またはTemporalIDや類似のもの)、GOP構造等の予測階層に関する情報、またはこれらの組合せに基づいて作成されてもよい。第2ステップでは、参照ピクチャリスト並べ換え(Reference Picture List Reordering:RPLR)命令によって初期参照ピクチャリストが並べ換えられてもよい。RPLR命令は参照ピクチャリスト変更シンタックス構造とも呼ばれ、スライスヘッダに含まれてもよい。H.264/AVCでは、RPLR命令は、各参照ピクチャリストの先頭に並べられるピクチャを示す。第2ステップは参照ピクチャリスト変更処理とも呼ばれ、RPLR命令が参照ピクチャリスト変更シンタックス構造に含まれてもよい。参照ピクチャセットが用いられる場合、参照ピクチャリスト0はRefPicSetStCurr0、RefPicSetStCurr1、RefPicSetLtCurrをこの順序で含むように初期化されてもよい。参照ピクチャリスト1はRefPicSetStCurr1、RefPicSetStCurr0をこの順序で含むように初期化されてもよい。HEVCでは、初期参照ピクチャリストは参照ピクチャリスト変更シンタックス構造を通じて変更されてもよい。初期参照ピクチャリストのピクチャはリストに対するエントリインデックスを通じて識別されてもよい。換言すれば、HEVCでは、参照ピクチャリスト変更を最後の参照ピクチャリストにおける各エントリのループを含むシンタックス構造に符号化し、各ループエントリが初期参照ピクチャリストへの固定長符号化インデックスであり、最後の参照ピクチャリストにおける位置の昇順でピクチャを示す。
H.264/AVCおよびHEVCを含む多くの符号化規格は、参照ピクチャリストに対する参照ピクチャインデックスを導出するための復号処理が含まれてもよい。これによって、複数の参照ピクチャのいずれを使用して特定のブロックのインター予測を行うかが示されうる。参照ピクチャインデックスは、エンコーダによってビットストリームへと何らかのインター符号化モードで符号化されてもよく、または(エンコーダおよびデコーダによって)例えば何らかの他のインター符号化モードで隣接ブロックを使用して導出されてもよい。
スケーラブルビデオ符号化とは、コンテンツに関して、例えばビットレート、解像度、またはフレームレートが異なる複数の表現を1つのビットストリームが格納できるような符号化構造を指してもよい。このような場合、受信機は、その特性(例えば、ディスプレイ装置に最適な解像度)に応じて望ましい表現を抽出することができる。あるいは、サーバまたはネットワーク要素が、例えばネットワーク特性や受信機の処理能力に応じて受信機に送信されるように、ビットストリームの一部を抽出することもできる。スケーラブルビットストリームの特定の部分のみを復号することにより、有意な復号表現を生成することができる。スケーラブルビットストリームは、一般的には、利用可能な最低品質動画を提供する1層の「基本レイヤ」と、下位レイヤと共に受信、復号されるとビデオ品質を高める1または複数層の「拡張レイヤ」から構成される。拡張レイヤに対する符号化効率を高めるために、レイヤの符号化表現は、一般に下位レイヤに依存する。例えば、拡張レイヤの動き情報およびモード情報が下位レイヤから予測されてもよい。同様に、拡張レイヤ予測を作成するために、下位レイヤの画素データを用いることもできる。
スケーラブルビデオ符号化方式によっては、ビデオ信号は基本レイヤおよび1つ以上の拡張レイヤに符号化されてもよい。拡張レイヤは、例えば、時間分解能(すなわち、フレームレート)や空間分解能を上げたり、別のレイヤやその一部によって表されるビデオコンテンツの品質を単に上げたりしてもよい。各レイヤは、それぞれのすべての従属レイヤと合わせて、例えば、特定の空間分解能、時間分解能および品質レベルでのビデオ信号の一表現となる。本明細書では、すべての従属レイヤを伴うスケーラブルレイヤを「スケーラブルレイヤ表現」と呼ぶ。特定の忠実度で元の信号表現を生成するために、スケーラブルレイヤ表現に対応するスケーラブルビットストリームの一部が抽出され復号される。
スケーラビリティモードまたはスケーラビリティの次元には以下のものを含むが、これらに限定されない。
・ 品質スケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャよりも低い品質で符号化され、これは例えば基本レイヤにおいて、拡張レイヤにおけるものより大きな量子化パラメータ値(すなわち変換係数量子化に対してより大きなサイズの量子化ステップ)によって実現可能である。品質スケーラビリティは、後述のように細粒子または細粒度スケーラビリティ(Fine-Grain/Granularity Scalability:FGS)、中粒子または中粒度スケーラビリティ(Medium-Grain/Granularity Scalability:MGS)、および/または粗粒子または粗粒度スケーラビリティ(Coarse-Grain/Granularity Scalability:CGS)にさらに分類されてもよい。
・ 空間スケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャよりも低い解像度(すなわち、より少ないサンプル)で符号化される。空間スケーラビリティおよび品質スケーラビリティは、特にその粗粒子スケーラビリティ種類について、同種のスケーラビリティとみなされる場合がある。
・ ビット深度スケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャ(例えば10または12ビット)よりも低いビット深度(例えば8ビット)で符号化される。
・ 動的範囲スケーラビリティ:スケーラブルレイヤは、異なるトーンマッピング機能および/または異なる光学伝達機能を使用して得られた異なる動的範囲および/または画像を表す。
・ クロマフォーマットスケーラビリティ:基本レイヤピクチャは、拡張レイヤピクチャ(例えば4:4:4フォーマット)よりも、クロマサンプル配列(例えば4:2:0クロマフォーマットで符号化される)においてより低い空間解像度となる。
・ 色域スケーラビリティ:拡張レイヤピクチャは、基本レイヤピクチャよりも豊富な、または幅広い色表現範囲を有する。例えば、拡張レイヤは超高精細テレビ(UHDTV、ITU−R BT.2020規格)の色域を有し、一方、基本レイヤはITU−R BT.709規格の色域を有しうる。
・ ビュースケーラビリティは、マルチビュー符号化とも呼ばれる。基本レイヤは第1のビューを表し、拡張レイヤは第2のビューを表す。
・ 深度スケーラビリティは、深度が拡張された符号化とも呼ばれる。ビットストリームの1つまたはいくつかのレイヤはテクスチャビューを表し、他のレイヤは深度ビューを表してもよい。
・ 関心領域スケーラビリティ(後述)。
・ インターレース化−進行性スケーラビリティ(フィールド−フレームスケーラビリティとしても知られる):基本レイヤの符号化されたインターレース化ソースコンテンツ材料は、拡張レイヤによって拡張され、進行性ソースコンテンツを表す。基本レイヤにおける符号化されたインターレース化ソースコンテンツは、符号化フィールド、フィールド対を表す符号化フレーム、またはこれらの組合せを含んでもよい。インターレース化−進行性スケーラビリティでは、基本レイヤピクチャが再サンプル化され、1つ以上の拡張レイヤピクチャに適した参照ピクチャとなってもよい。
・ ハイブリッドコーデックスケーラビリティ(符号化規格スケーラビリティとしても知られる):ハイブリッドコーデックスケーラビリティでは、ビットストリームシンタックスや意味、ならびに基本レイヤおよび拡張レイヤの復号処理が、異なるビデオ符号化規格で規定されている。このため、基本レイヤピクチャは拡張レイヤピクチャとは異なる符号化規格またはフォーマットで符号化される。例えば、基本レイヤはH.264/AVCで符号化され、拡張レイヤはHEVCマルチレイヤ拡張で符号化されてもよい。外部基本レイヤピクチャは、拡張レイヤ復号処理用に外部手段から提供され、拡張レイヤ復号処理用の復号された基本レイヤピクチャとして扱われる復号されたピクチャと定義できる。SHVCまたはMV−HEVCでは外部基本レイヤピクチャが使用可能である。
スケーラビリティ種類のうちの多くが組み合わされて、まとめて適用されうることも理解されよう。例えば、色域スケーラビリティとビット深度スケーラビリティを組み合わせてもよい。
「レイヤ」という語は、ビュースケーラビリティや深度拡張等、スケーラビリティの任意の種類の文脈において使用することができる。拡張レイヤは、SNR拡張、空間拡張、マルチビュー拡張、深度拡張、ビット深度拡張、クロマフォーマット拡張、および/または色域拡張等の拡張の任意の種類を指してもよい。基本レイヤは、ベースビュー、SNR/空間スケーラビリティに対する基本レイヤ、または深度が拡張されたビデオの符号化に対するテクスチャベースビュー等のベースビデオシーケンスの任意の種類を指してもよい。
三次元(3D)ビデオコンテンツを提供するための各種技術が現在、調査、研究、開発されている。立体視または2ビュービデオにおいて、1つのビデオシーケンスまたはビューは左目用に、平行ビューは右目用に供されるものとする場合がある。同時により多くのビューを提供し、ユーザが異なる視点でコンテンツを観察可能にするようなビューポイントスイッチングや、裸眼立体視ディスプレイを可能にする用途のためには、2以上の平行ビューが必要である場合がある。
ビューは、1つのカメラまたは視点を表すピクチャのシーケンスとして定義することができる。ビューを表すピクチャは、ビュー成分とも呼ばれる。換言すれば、ビュー成分は単一のアクセス単位におけるビューの符号化された表現として定義することができる。マルチビュービデオの符号化では、ビットストリームにおいて2つ以上のビューが符号化される。複数のビューは通常、立体視用ディスプレイやマルチビュー裸眼立体視ディスプレイに表示されること、またはその他の3D構成に使用されることを目的としていることから、通常は同一のシーンを表し、コンテンツによっては異なる視点を表しながら部分的に重畳する。このように、マルチビュービデオの符号化にインタービュー予測を用いることによって、ビュー間の相関関係を活用し圧縮効率を向上させてもよい。インタービュー予測を実現する方法としては、第1のビュー中の符号化または復号されているピクチャの参照ピクチャリストに1つ以上のその他のビューの1つ以上の復号ピクチャを含めることが挙げられる。ビュースケーラビリティはこのようなマルチビュービデオの符号化またはマルチビュービデオのビットストリームを指してもよく、これらによって1つ以上の符号化されたビューを削除または省略することができ、その結果としてのビットストリームは適合性を保ちながら、元のものよりも少ない数のビューでビデオを表す。
関心領域(Region of Interest:ROI)の符号化は、より高い忠実度でのビデオ内の特定の領域の符号化を指すと定義することができる。エンコーダおよび/または他のエンティティが入力されたピクチャからROIを決定して符号化するための方法がいくつか知られている。例えば、顔検出を使用して顔をROIとして決定してもよい。これに加えて、またはこれに代えて、別の例では、フォーカスされた物体を検出してこれをROIとして決定し、フォーカスから外れた物体をROIではないと決定してもよい。これに加えて、またはこれに代えて、別の例では、物体への距離を推定または把握し、例えば深度センサに基づいて、ROIを背景よりもカメラに近い物体に決定してもよい。
ROIスケーラビリティは、スケーラビリティの一種であって、拡張レイヤによって参照レイヤピクチャの一部のみを、例えば空間的に、品質に応じ、ビット深度において、および/または別のスケーラビリティの次元で拡張するものと定義することができる。ROIスケーラビリティは他の種類のスケーラビリティと併用できることから、スケーラビリティの種類の新たな分類を形成するととらえることができる。異なる要件を伴う、ROI符号化に対する様々な異なる用途があるが、ROIスケーラビリティによって実現可能である。例えば、拡張レイヤを送信して、基本レイヤ内の領域の品質および/または解像度を向上させることができる。拡張レイヤおよび基本レイヤのビットストリームの両者を受け取ったデコーダは、両レイヤを復号し、復号ピクチャを互いに重ね、最終的に完成したピクチャを表示してもよい。
参照レイヤピクチャおよび拡張レイヤピクチャの空間対応は、1つ以上の種類のいわゆる参照レイヤ位置の補正値によって推定または標示されてもよい。HEVCでは、参照レイヤ位置補正値はエンコーダによってPPSに含められ、デコーダによってPPSから復号される。参照レイヤ位置補正値は、ROIスケーラビリティの実現以外の用途でも使用できる。参照レイヤ位置補正値は、スケール化参照レイヤ補正値、参照領域補正値、および再サンプリングフェーズセットのうちの1つまたは複数を含んでもよい。スケール化参照レイヤ補正値は、参照レイヤの復号ピクチャ中の参照領域の左上輝度サンプルと結び付く現ピクチャにおけるサンプル間の水平・垂直補正値と、参照レイヤの復号ピクチャ中の参照領域の右下輝度サンプルと結び付く現ピクチャにおけるサンプル間の水平・垂直補正値とを規定するものととらえることができる。他の方法としては、スケール化参照レイヤ補正値を考慮し、拡張レイヤピクチャの各コーナーサンプルに対するアップサンプリング化参照領域のコーナーサンプルの位置を規定する。スケール化参照レイヤ補正値を符号付きとしてもよい。参照領域補正値は、参照レイヤの復号ピクチャ中の参照領域の左上輝度サンプルと同じ復号ピクチャの左上輝度サンプルとの間の水平・垂直補正値と、参照レイヤの復号ピクチャ中の参照領域の右下輝度サンプルと同じ復号ピクチャの右下輝度サンプルとの間の水平・垂直補正値とを規定するものととらえることができる。参照領域補正値を符号付きとしてもよい。再サンプリングフェーズセットは、インターレイヤ予測のソースピクチャの再サンプリング処理に使用されるフェーズ補正値を規定するものととらえることができる。輝度成分およびクロマ成分に対して異なるフェーズ補正値が設けられてもよい。
ハイブリッドコーデックスケーラビリティは、時間、品質、空間、マルチビュー、深度向上、副画面、ビット深度、色域、クロマフォーマットおよび/またはROIスケーラビリティのような任意の種類のスケーラビリティと併用可能である。ハイブリッドコーデックスケーラビリティは、別種スケーラビリティと併用可能であるので、スケーラビリティの種類の異なる分類をなすものととらえることができる。
ハイブリッドコーデックスケーラビリティの使用は、例えば拡張レイヤビットストリームにおいて示唆されてもよい。例えば、マルチレイヤHEVCにおいては、VPS、例えばシンタックス要素vps_base_layer_internal_flagによりハイブリッドコーデックスケーラビリティの使用が示唆されてもよい。
スケーラブルビデオの符号化方式によっては、アクセス単位内のすべてのピクチャがIRAPピクチャとなるように、またはアクセス単位内のいずれのピクチャもIRAPピクチャではなくなるように、レイヤ間でIRAPピクチャを整合することが求められる場合がある。HEVCのマルチレイヤ拡張等のその他のスケーラブルビデオの符号化方式では、IRAPピクチャが不整合な場合を許容しうる。すなわち、アクセス単位内の1つ以上のピクチャがIRAPピクチャであり、アクセス単位内の1つ以上の別のピクチャがIRAPピクチャではなくてもよい。レイヤ間で整合されていないIRAPピクチャ等のスケーラブルビットストリームにより、例えば、基本レイヤ内にIRAPピクチャがより頻繁に出現するようにしてもよい。この場合、例えば空間解像度が小さいことから、符号化されたサイズがより小さくなるものであってもよい。復号のレイヤごとのスタートアップのための処理または機構が、ビデオ復号方式に含まれていてもよい。この場合、基本レイヤがIRAPピクチャを含むとデコーダがビットストリームの復号を開始し、その他のレイヤがIRAPピクチャを含むとこれらのレイヤの復号を段階的に開始する。換言すれば、復号機構または復号処理のレイヤごとのスタートアップにおいては、追加の拡張レイヤからの後続のピクチャが復号処理において復号されるにつれて、デコーダは復号されたレイヤの数を徐々に増やし(ここで、レイヤは、空間解像度、品質レベル、ビュー、さらに深度等の追加の成分やこれらの組合せの拡張を表してもよい)。復号されたレイヤの数が徐々に増えることは、例えばピクチャ品質(品質および空間スケーラビリティの場合)が徐々に向上することであると考えられる。
レイヤごとのスタートアップ機構によって、特定の拡張レイヤにおいて復号順で最初のピクチャの参照ピクチャに対して利用不可のピクチャが生成されてもよい。あるいは、デコーダは、レイヤの復号が開始されうるIRAPピクチャに復号順で先行するピクチャの復号を省略してもよい。これらの省略されうるピクチャは、エンコーダやビットストリーム内のその他のエンティティによって、特定可能となるようにラベル付けされていてもよい。例えば、1つ以上の特定のNAL単位の種類をこの目的で使用してもよい。これらのピクチャは、NAL単位の種類によって特定可能となるようにラベル付けされているか否か、または例えばデコーダによって推定されているか否かにかかわらず、クロスレイヤランダムアクセススキップ(CL−RAS)ピクチャと呼ばれてもよい。デコーダは、生成された利用不可のピクチャおよび復号されたCL−RASピクチャの出力を省略してもよい。
スケーラビリティは、2つの基本的な方法で利用可能となる。その1つは、スケーラブル表現の下位レイヤからの画素値またはシンタックスを予測するために新たな符号化モードを導入することであり、もう1つは、より高位のレイヤの参照ピクチャバッファ(例えば、復号ピクチャバッファ、DPB)に下位レイヤピクチャを配置することである。1つ目の方法は、より柔軟性が高く、多くの場合、符号化効率に優れる。ただし、参照フレームに基づくスケーラビリティという2つ目の方法は、可能な符号化効率上昇をほぼ完全に維持したまま、単一のレイヤコーデックに対する変化を最小に抑えて効率的に実行できる。基本的に、参照フレームに基づくスケーラビリティコーデックは、すべてのレイヤに対して同一のハードウェまたはソフトウェアを実行して実現でき、DPB管理は外部手段に任せてもよい。
品質スケーラビリティ(信号対ノイズ比(SNR)とも呼ばれる)および/または空間スケーラビリティに対するスケーラブルビデオエンコーダは、以下のように実現してもよい。基本レイヤについては、従来の非スケーラブルビデオエンコーダおよびデコーダを利用できる。拡張レイヤ用の参照ピクチャバッファおよび/または参照ピクチャリストには、基本レイヤの再構成/復号ピクチャが含まれる。空間スケーラビリティの場合、拡張レイヤピクチャの参照ピクチャリストへの挿入前に、再構成/復号された基本レイヤピクチャをアップサンプリングしてもよい。基本レイヤ復号ピクチャは、拡張レイヤの復号参照ピクチャの場合同様、拡張レイヤピクチャの符号化/復号のために参照ピクチャリスト(複数可)に挿入されてもよい。これにより、エンコーダはインター予測の参照として基本レイヤ参照ピクチャを選択して、それが使用されることを符号化ビットストリーム内の参照ピクチャインデックスで示してもよい。デコーダは、拡張レイヤは、拡張レイヤのインター予測の参照用に基本レイヤピクチャが使用されていることを、例えばビットストリームの参照ピクチャインデックスから復号する。拡張レイヤの予測の参照に使用される復号基本レイヤピクチャは、インターレイヤ参照ピクチャと呼ばれる。
前段落では拡張レイヤおよび基本レイヤの2つのスケーラビリティレイヤを有するスケーラブルビデオコーデックが説明されたが、その説明は、3つ以上のレイヤを有するスケーラビリティ階層の任意の2つのレイヤにも適用できることを理解されたい。この場合、符号化および/または復号処理において、第2の拡張レイヤは第1の拡張レイヤに左右されるため、第1の拡張レイヤは第2の拡張レイヤの符号化および/または復号における基本レイヤとみなすことができる。さらに、拡張レイヤの参照ピクチャバッファまたは参照ピクチャリスト内の2つ以上のレイヤからインターレイヤ参照ピクチャが得られることを理解されたい。これらインターレイヤ参照ピクチャはそれぞれ、符号化および/または復号されている拡張レイヤの基本レイヤまたは参照レイヤに存在するものと考えられる。参照レイヤピクチャアップサンプリングに加えてまたは代えて、それとは別種のインターレイヤ処理が実行されてもよいことが理解されよう。例えば、参照レイヤピクチャのサンプルのビット深度を拡張レイヤのビット深度に変換したり、サンプル値を参照レイヤの色空間から拡張レイヤの色空間にマッピングしたりしてもよい。
スケーラブルビデオの符号化および/または復号方式は、以下の特徴を有するマルチループ符号化および/または復号を利用してもよい。符号化/復号において、基本レイヤピクチャを再構成/復号して、同一のレイヤ内で符号化/復号順における後続のピクチャ用の動き補償参照ピクチャ、またはインターレイヤ(またはインタービューまたはインター成分)予測の参照に利用してもよい。再構成/復号された基本レイヤピクチャは、DPBに保存されてもよい。同様に、拡張レイヤピクチャを再構成/復号し、同一のレイヤ内で符号化/復号順における後続のピクチャ用の動き補償参照ピクチャ、または存在する場合、より高位の拡張レイヤに対するインターレイヤ(またはインタービューまたはインター成分)予測の参照に利用されてもよい。再構成/復号サンプル値に加えて、基本/参照レイヤのシンタックス要素値または基本/参照レイヤのシンタックス要素値から求めた変数をインターレイヤ/インター成分/インタービュー予測に利用してもよい。
インターレイヤ予測は、現ピクチャ(符号化または復号されている)のレイヤとは異なるレイヤからの参照ピクチャのデータ要素(例えば、サンプル値または動きベクトル)に応じた予測として定義できる。スケーラブルビデオエンコーダ/デコーダに適用できるインターレイヤ予測は多岐にわたる。利用可能なインターレイヤ予測の種類は、例えばビットストリームまたはビットストリーム内の特定のレイヤが符号化される符号化プロファイル、または復号の際にビットストリームまたはビットストリーム内の特定のレイヤが従う符号化プロファイルに基づいてもよい。これに加えて、またはこれに代えて、利用可能なインターレイヤ予測の種類は、スケーラビリティの種類、スケーラブルコーデックまたは使用されるビデオの符号化規格改定の種類(例えばSHVC、MV−HEVC、または3D−HEVC)に応じたものであってもよい。
インターレイヤ予測の種類は、インターレイヤサンプル予測、インターレイヤ動き予測、インターレイヤ残差予測の1つまたは複数を含むがこれに限定されない。インターレイヤサンプル予測では、少なくともインターレイヤ予測用のソースピクチャの再構成サンプル値のサブセットが現ピクチャのサンプル値を予測するための参照に使用される。インターレイヤ動き予測においては、少なくともインターレイヤ予測用のソースピクチャの動きベクトルのサブセットが現ピクチャの動きベクトル予測の参照に使用される。通常、参照ピクチャが動きベクトルに関連する予測情報も、インターレイヤ動き予測に含まれる。例えば、動きベクトル用の参照ピクチャの参照インデックスは、インターレイヤ予測され、さらに/あるいはピクチャ順序カウントまたはその他任意の参照ピクチャの識別がインターレイヤ予測されてもよい。場合によっては、インターレイヤ動き予測はさらにブロック符号化モード、ヘッダ情報、ブロックパーティショニング、および/またはその他同様のパラメータの予測を含んでもよい。場合によっては、ブロックパーティショニングのインターレイヤ予測のような符号化パラメータ予測は、別種のインターレイヤ予測としてみなされてもよい。インターレイヤ残差予測では、インターレイヤ予測用のソースピクチャの選択ブロックの予測誤差または残差を利用して、現ピクチャが予測される。3D−HEVCのようなマルチビュー+深度符号化では、成分交差的なインターレイヤ予測が適用されてもよい。当該予測では、深度ピクチャのような第1の種類のピクチャが、従来のテクスチャピクチャのような第2の種類のピクチャのインターレイヤ予測に影響を及ぼしうる。例えば、格差補償インターレイヤサンプル値および/または動き予測を適用してもよい。ここで、格差は少なくとも部分的に深度ピクチャから導出されてもよい。
直接参照レイヤは、直接参照レイヤとなる別のレイヤのインターレイヤ予測に使用できるレイヤとして定義できる。直接予測されたレイヤは、別のレイヤが直接参照レイヤとなるレイヤとして定義できる。間接参照レイヤは、第2のレイヤの直接参照レイヤではないが、第3のレイヤの直接参照レイヤとして定義できる。この第3のレイヤは、間接参照レイヤである第2のレイヤの直接参照レイヤまたはその直接参照レイヤの間接参照レイヤである。間接的に予測されたレイヤは、別のレイヤが間接参照レイヤとなるレイヤとして定義できる。独立レイヤは、直接参照レイヤを伴わないレイヤとして定義できる。換言すれば、独立レイヤはインターレイヤ予測により予測されていない。非基本レイヤは、基本レイヤ以外の任意のレイヤとして定義できる。基本レイヤはビットストリーム内の最下レイヤとして定義できる。独立非基本レイヤは、独立レイヤであり非基本レイヤであるレイヤとして定義できる。
インターレイヤ予測用のソースピクチャは、インターレイヤ参照ピクチャである、またはそれを導出するために使用される復号ピクチャとして定義できる。インターレイヤ参照ピクチャは、現ピクチャの予測用の参照ピクチャとして使用できる。マルチレイヤHEVC拡張版では、インターレイヤ参照ピクチャが現ピクチャのインターレイヤ参照ピクチャセットに含まれる。インターレイヤ参照ピクチャは、現ピクチャのインターレイヤ予測に使用できる参照ピクチャとして定義できる。符号化および/または復号処理では、インターレイヤ参照ピクチャを長期参照ピクチャとして扱ってもよい。参照レイヤピクチャは、現レイヤまたは現ピクチャ(復号または暗号化されている)のような、特定のレイヤの直接参照レイヤにおけるピクチャ、または特定のピクチャと定義できる。ただし、参照レイヤピクチャはインターレイヤ予測のソースピクチャでなくてもよい。参照レイヤピクチャと、インターレイヤ予測用のソースピクチャとは、同義で用いられうる。
インターレイヤ予測用のソースピクチャは、現ピクチャと同一のアクセス単位にあることが求められる。場合によっては、例えば再サンプリング、動きフィールドマッピング、またはその他のインターレイヤ処理が不要であれば、インターレイヤ予測用のソースピクチャと各インターレイヤ参照ピクチャは同一であってもよい。場合によっては、例えば再サンプリングにより参照レイヤのサンプリンググリッドを現ピクチャ(符号化または複号されている)のレイヤのサンプリンググリッドに合わせる必要があれば、インターレイヤ予測用のソースピクチャからインターレイヤ参照ピクチャを導出するように、インターレイヤ処理が適用される。当該インターレイヤ処理の例を以下の数段落に示す。
インターレイヤサンプル予測は、インターレイヤ予測用のソースピクチャのサンプル配列(複数可)の再サンプリングを含んでもよい。エンコーダおよび/またはデコーダは、拡張レイヤおよびその参照レイヤの対に対する水平倍率(例えば変数倍率Xに記憶される)および垂直倍率(例えば変数倍率Yに記憶される)を、例えば当該対に対する参照レイヤ位置補正値に基づいて導出してもよい。いずれか一方の倍率が1でなければ、インターレイヤ予測用のソースピクチャを再サンプリングして、拡張レイヤピクチャ予測のためのインターレイヤ参照ピクチャを生成してもよい。再サンプリングに使用する処理および/またはフィルタは、例えば符号化規格で事前に定義されてもよく、ビットストリーム内のエンコーダによって(例えば、事前に定義された再サンプリング処理またはフィルタ間のインデックスとして)示されてもよく、デコーダによってビットストリームから復号されてもよい。倍率の値に応じて、異なる再サンプリング処理が、エンコーダによって示されてもよく、デコーダによって復号されてもよく、エンコーダおよび/またはデコーダによって推測されてもよい。例えば、両方の倍率が1未満であれば、事前に定義されたダウンサンプリング処理が推測されてもよい。いずれの倍率も1を超える場合、事前に定義されたアップサンプリング処理が推測されてもよい。これに加えて、またはこれに代えて、処理されるサンプル配列に応じて、異なる再サンプリング処理がエンコーダによって示されてもよく、デコーダによって復号されてもよく、エンコーダおよび/またはデコーダによって推測されてもよい。例えば、第1の再サンプリング処理が輝度サンプル配列に利用されるものと推測され、第2の再サンプリング処理がクロマサンプル配列に利用されるものと推測されてもよい。
再サンプリングは、例えばピクチャに基づいて(インターレイヤ予測用のソースピクチャ全体、またはインターレイヤ予測用のソースピクチャの参照領域に対して)、スライスに基づいて(例えば、拡張レイヤスライスに対応する参照レイヤ領域に対して)、またはブロックに基づいて(例えば、拡張レイヤ符号化ツリー単位に対応する参照レイヤ領域に対して)実行されてもよい。決定された領域(例えば拡張レイヤピクチャにおけるピクチャ、スライス、または符号化ツリー単位)の再サンプリングは、例えば決定された領域におけるすべてのサンプル位置をループして、各サンプル位置にサンプルに基づく再サンプリング処理を行うことにより実行してもよい。ただし、決定された領域に対してさらに別の方法で再サンプリングすることが可能であることを理解されたい。例えば、あるサンプル位置のフィルタリングに、前回のサンプル位置の変数値を使用してもよい。
SHVCは、(限定的ではないが)色域スケーラビリティに対する3Dルックアップテーブル(LUT)に基づく重み付け予測またはカラーマッピング処理を可能とする。3DのLUT手法は以下に説明するとおりである。各色成分のサンプル値範囲はまず2つの範囲に分割し、最大2×2×2の八分円が得られる。さらに輝度範囲を四分割までできるため、最大8×2×2の八分円が得られる。各八分円において、色成分交差線形モデルが適用されて、カラーマッピングが行われる。各八分円について、4つの頂点がビットストリームに符号化、および/またはビットストリームから復号され、八分円内の線形モデルが表される。カラーマッピングテーブルが、各色成分に対して個別に、ビットストリームに符号化、および/またはビットストリームから復号される。カラーマッピングは3工程を含むものと考えられる。まず、所与の参照レイヤサンプル3つ組(Y、Cb、Cr)が属する八分円を決定する。次に、輝度およびクロマのサンプル位置を、色成分調整処理を適用して整列させてもよい。最後に、決定された八分円に特化した線形マッピングが適用される。このマッピングは成分交差的な性質を有する。すなわち、1つの色成分の入力値が別の色成分のマッピング値に影響を及ぼしうる。さらに、インターレイヤ再サンプリングも必要であれば、再サンプリング処理に対する入力はカラーマッピング済みのピクチャとなる。カラーマッピングでは、第1のビット深度のサンプルから、別のビット深度のサンプルまでマッピングしてもよい(ただしこれに限らない)。
MV−HEVC、SMV−HEVC、および参照インデックスに基づくSHVCソリューションでは、インターレイヤテクスチャ予測に対応するためにブロックレベルシンタックスおよび復号処理を変化させない。高レベルシンタックスのみが変更され(HEVCと比較した場合)、同一のアクセス単位の参照レイヤからの再構成ピクチャ(必要であればアップサンプリングされる)が現拡張レイヤピクチャの符号化のための参照ピクチャに使用できるようにする。参照ピクチャリストには、インターレイヤ参照ピクチャおよび時間参照ピクチャが含まれる。伝達される参照ピクチャインデックスは、現予測単位(PU)が時間参照ピクチャまたはインターレイヤ参照ピクチャによって予測されたものか否かを示すために使用される。この特徴の使用はエンコーダにより制御され、ビットストリームにおいて、例えばビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータ、および/またはスライスヘッダにより標示されてもよい。この標示(複数可)は、例えば拡張レイヤ、参照レイヤ、拡張レイヤおよび参照レイヤの対、特定のTemporalID値、特定のピクチャ種類(例えばRAPピクチャ)、特定のスライス種類(例えばPおよびBスライス。Iスライスは不可)、特定のPOC値のピクチャ、および/または特定のアクセス単位に対して特有であってもよい。標示(複数可)の範囲および/または持続性は、この標示そのものにとともに示されてもよく、推測されてもよい。
MV−HEVC、SMV−HEVC、および参照インデックスに基づくSHVCソリューションは、特定の処理により初期化されてもよい。当該処理では、インターレイヤ参照ピクチャ(複数可)が存在する場合に、初期参照ピクチャリスト(複数可)に含まれてもよく、以下のように実現される。例えば、まず時間参照を、HEVCにおける参照リスト構造と同様にして参照リスト(L0、L1)に加える。その後、時間参照の後ろにインターレイヤ参照を加えてもよい。例えば、インターレイヤ参照ピクチャは、上述のとおりVPS拡張から導出されたRefLayerId[ i ]変数等のレイヤ依存情報から得られてもよい。インターレイヤ参照ピクチャは、現拡張レイヤスライスがPスライスの場合に初期参照ピクチャリストL0に加えられ、現拡張レイヤスライスがBスライスの場合に初期参照ピクチャリストL0およびL1の両方に加えられてもよい。インターレイヤ参照ピクチャは特定の順序で参照ピクチャリストに加えられてもよく、順序は参照ピクチャリスト間で同一であっても同一でなくてもよい。例えば、インターレイヤ参照ピクチャを初期参照ピクチャリスト1に加える順序が、初期参照ピクチャリスト0の場合とは逆であってもよい。例えば、インターレイヤ参照ピクチャは、最初の参照ピクチャ0に対して、nuh_layer_idの昇順で挿入され、初期参照ピクチャリスト1の初期化には逆の順序が採用されてもよい。
符号化および/または復号処理において、インターレイヤ参照ピクチャを長期参照ピクチャとして扱ってもよい。
インターレイヤ動き予測は以下のとおりに実現できる。H.265/HEVCのTMVPのような時間動きベクトル予測処理により、異なるレイヤ間の動きデータの冗長性を実現できる。具体的には以下のとおりとなる。復号基本レイヤピクチャがアップサンプリングされると、それに合わせて基本レイヤピクチャの動きデータが拡張レイヤの解像度にマッピングされる。拡張レイヤピクチャが、例えばH.265/HEVCのTMVPのような時間動きベクトル予測機構により、基本レイヤピクチャからの動きベクトル予測を利用する場合、対応する動きベクトル予測器がマッピングされた基本レイヤ動きフィールドから生じる。これにより、異なるレイヤ間の動きデータの相関が利用され、スケーラブルビデオコーダの符号化効率が向上できる。
SHVC等では、インターレイヤ動き予測は、TMVP導出用の関連する参照ピクチャとしてのインターレイヤ参照ピクチャを設定して実行できる。2つのレイヤ間の動きフィールドマッピング処理は、例えばTMVP導出におけるブロックレベル復号処理変化を避けるために実行してもよい。動きフィールドマッピング特徴の利用は、エンコーダにより制御され、ビットストリームにおいて、例えばビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータ、および/またはスライスヘッダにより標示されてもよい。この標示(複数可)は、例えば拡張レイヤ、参照レイヤ、拡張レイヤおよび参照レイヤの対、特定のTemporalID値、特定のピクチャ種類(例えばRAPピクチャ)、特定のスライス種類(例えばPおよびBスライス。Iスライスは不可)、特定のPOC値のピクチャ、および/または特定のアクセス単位に対して特有であってもよい。標示(複数可)の範囲および/または持続性は、この標示そのものとともに示されてもよく、推測されてもよい。
空間スケーラビリティに対する動きフィールドマッピング処理では、アップサンプリングされたインターレイヤ参照ピクチャの動きフィールドは、インターレイヤ予測用の各ソースピクチャの動きフィールドに基づいて実現されてもよい。アップサンプリングされたインターレイヤ参照ピクチャの各ブロックの動きパラメータ(例えば、水平および/または垂直動きベクトル値および参照インデックスを含む)および/または予測モードは、インターレイヤ予測用のソースピクチャにおける関連するブロックの対応する動きパラメータおよび/または予測モードから導出できる。アップサンプリングされたインターレイヤ参照ピクチャの動きパラメータおよび/または予測モードの導出用のブロックサイズは、例えば16×16である。HEVCにおいて参照ピクチャの圧縮動きフィールドが利用されるTMVP導出処理でも同じく16×16ブロックサイズが利用される。
場合によっては、拡張レイヤ内のデータを、所定箇所以降切り捨てたり、あるいは任意の箇所で切り捨てたりしてもよい。各切り捨て位置は、画質が向上したことを表す追加データを含んでもよい。このようなスケーラビリティは高粒度スケーラビリティ(FGS)と呼ばれる。
MVC同様、MV−HEVCにおいても、インタービュー参照ピクチャは符号化または復号されている現ピクチャの参照ピクチャリスト(複数可)に含めてもよい。SHVCはマルチループ復号動作を利用する(この点がH.264/AVCのSVC拡張とは異なる)。SHVCは参照インデックスに基づく手法を採ると考えられる。すなわち、インターレイヤ参照ピクチャが、符号化または復号されている現ピクチャの1つ以上の参照ピクチャリストに含まれてもよい(上述の内容参照)。
拡張レイヤ符号化については、SHVC、MV−HEVC等に対してHEVC基本レイヤの概念や符号化ツールを利用できる。一方で、SHVC、MV−HEVC等のコーデックに対して、拡張レイヤの効率的な符号化のための参照レイヤにおいて符号化済みデータ(再構成ピクチャサンプルや、動きパラメータ、すなわち動き情報)を利用したインターレイヤ予測ツールを追加してもよい。
ビットストリームが必ずしも当該ビットストリームに含まれた基本レイヤ(すなわち、マルチレイヤHEVC拡張の場合、nuh_layer_idが0の層)または外部から提供された基本レイヤ(ハイブリッドコーデックスケーラビリティの場合)を有する必要はなく、最下層が独立した非基本レイヤであってもよいことが提案されている。ビットストリームにおいて、nuh_layer_idの値が最も低い層がビットストリームの基本レイヤともされうる。
HEVCにおいては、以下のとおりVPSフラグvps_base_layer_internal_flagおよびvps_base_layer_available_flagにより、基本レイヤの存在および可用性を示すことができる。すなわち、vps_base_layer_internal_flag is equalが1で、vps_base_layer_available_flagが1であれば、ビットストリームに基本レイヤが存在する。vps_base_layer_internal_flagが0で、vps_base_layer_available_flagが1であれば、マルチレイヤHEVC復号処理において、基本レイヤが外部手段により提供される。具体的には、符号化基本レイヤピクチャ、および当該符号化基本レイヤピクチャ用の何らかの変数およびシンタックス要素が、マルチレイヤHEVC復号処理に提供される。vps_base_layer_internal_flagが1で、vps_base_layer_available_flagが0であれば、基本レイヤは利用できない(ビットストリーム内に存在せず、外部手段からも提供されない)が、VPSは実際にはビットストリーム内に存在しない基本レイヤの情報を含む。vps_base_layer_internal_flagが0で、vps_base_layer_available_flagが0であれば、基本レイヤは利用できない(ビットストリーム内に存在せず、外部手段からも提供されない)が、VPSは実際には外部手段により提供されていない基本レイヤの情報を含む。
符号化規格は、例えばSVC、MVC、HEVCで規定されるようなサブビットストリーム抽出処理を含んでもよい。サブビットストリーム抽出処理は、NAL単位を取り除くことで、ビットストリームをサブビットストリーム(ビットストリームサブセットとも称する)に変換することに基づく。サブビットストリームも規格に準拠するものとなる。例えば、HEVCでは、TemporalIdの値が選択値よりを越えたすべてのVCL−NAL単位が除かれ、その他すべてのVCL−NAL単位を含むように生成されたビットストリームは、該規格から外れていない。
HEVC規格(バージョン2)は、3つのサブビットストリーム抽出処理を含む。HEVC規格の10節におけるサブビットストリーム抽出処理は、F.10.1節のものと同様である。ただし、得られたサブビットストリームのビットストリーム準拠要件は、F.10.1節の方が軽い。これにより、基本レイヤが外部からもたらされた(vps_base_layer_internal_flagが0)、または使用不能(vps_base_layer_available_flagが0)の場合でも、ビットストリームに対して処理が実施可能となる。HEVC規格(バージョン2)のF.10.3節では、基本レイヤ含まないサブビットストリームが生成されるサブビットストリーム抽出処理が指定される。これら3つのサブビットストリーム抽出処理における動作はすべて同様である。すなわち、サブビットストリーム抽出処理では、TemporalIdおよび/またはnuh_layer_id値のリストが入力され、TemporalIdの値が入力されたTemporalId値よりも大きい、またはnuh_layer_id値がnuh_layer_id値の入力リストに存在しないNAL単位を、すべてビットストリームから除くことで、サブビットストリーム(ビットストリームサブセットとも称する)が生成される。
符号化規格またはシステムにおいて、復号が実施されるスケーラブルレイヤおよび/またはサブレイヤを示し、さらに/あるいは復号されているスケーラブルレイヤおよび/またはサブレイヤを含むサブビットストリームに関連する可能性のある、「動作点」等が用語として使用されてもよい。HEVCでは、動作点は、別のビットストリーム、対象最高TemporalId、対象レイヤ識別子リストを入力としたサブビットストリーム抽出処理の動作により、別ビットストリームから生成されたビットストリームとして定義される。
復号処理により、復号されたピクチャが出力されるレイヤとして出力レイヤを定義してもよい。出力レイヤは、マルチレイヤビットストリームの復号されるサブセットに応じたものである。復号処理により出力されるピクチャは、例えばYUV色空間からRGBへの、色空間変換のような処理をさらに実施した後に表示されてもよい。ただし、それ以上の処理および/または表示は、デコーダおよび/または復号処理から外れたものとして、実施されなくてもよい。
マルチレイヤビデオビットストリームでは、動作点の定義は、対象出力レイヤ群を考慮したものであってもよい。例えば、動作点は、別のビットストリーム、対象最高時間サブレイヤ(例えば、対象最高TemporalId)、対象レイヤ識別子リストを入力としたサブビットストリーム抽出処理の動作により、別ビットストリームから生成され、出力レイヤ群と関連したビットストリームとして定義されてもよい。あるいは、動作点および関連した出力レイヤ群を表す用語として、主力動作点等のその他の用語を使用してもよい。例えば、MV−HEVC/SHVCにおいて、出力動作点は、入力ビットストリーム、対象最高TemporalId、対象レイヤ識別子リストを入力としたサブビットストリーム抽出処理の動作により、入力ビットストリームから生成され、出力レイヤ群と関連したビットストリームとして定義されてもよい。
スケーラブルマルチレイヤビットストリームにおいて、レイヤと時間サブレイヤの2つ以上の組合せを復号可能にするように、マルチレイヤ復号処理では(外部手段からの)対象出力動作点を入力としてもよい。例えば、出力動作点は、出力レイヤ群(OLS)と、復号される最高時間サブレイヤを特定することで、提供されてもよい。OLSは、必要レイヤまた不要レイヤに分類されるレイヤの群を表すものと定義されてもよい。必要レイヤは、出力レイヤまたは参照レイヤとして定義されてもよい。出力レイヤのピクチャは、復号処理により出力される。参照レイヤのピクチャは、任意の出力レイヤのピクチャの予測用の参照に直接または間接的に使用される。マルチレイヤHEVC拡張では、VPSはOLSの特定を含み、OLSのバッファリング要件とパラメータを特定可能である。不要レイヤは、出力レイヤ再構成用に復号される必要がないが、将来的に実施されうる拡張により符号化されるレイヤを含むようなレイヤ群に対するバッファリング要件を示すため、OLSに含まれてもよいレイヤと定義されてもよい。
各アクセス単位で最高レイヤが不変な使用事例およびビットストリームでは、一定の出力レイヤ群で十分であるが、当該群ではアクセス単位間で最高レイヤが変わるような使用事例に対応していない場合がある。したがって、同じアクセス単位内の出力レイヤにピクチャがなければ、エンコーダがビットストリーム内の複数の代替出力レイヤの使用を特定し、代替出力レイヤの使用の特定に応じて、デコーダが復号されたピクチャを1つの代替出力レイヤから出力することが提案されている。この代替出力レイヤを標示するにはいくつかの方法が挙げられる。例えば、出力レイヤ群における各出力レイヤは、最小の代替出力レイヤに関連付けられてもよく、各出力レイヤに対する代替出力レイヤ(複数可)の特定に、出力レイヤに基づくシンタックス要素(複数可)を利用してもよい。あるいは、代替出力レイヤ群のメカニズムは、単一の出力レイヤのみを含む出力レイヤ群に対する使用に限定されてもよく、出力レイヤ群の出力レイヤに対する代替出力レイヤ(複数可)の特定に、出力レイヤ群に基づくシンタックス要素(複数可)を利用してもよい。あるいは、HEVCで規定されているとおり、代替出力レイヤ群のメカニズムは、単一の出力レイヤのみを含む出力レイヤ群に対する使用に限定されてもよく、出力レイヤ群に基づくフラグ(HEVCにおけるalt_output_layer_flag[ olsIdx ])を利用して、出力レイヤの直接または間接参照レイヤが、出力レイヤ群の出力レイヤに対する代替出力レイヤであってもよいことを特定してもよい。あるいは、代替出力レイヤ群のメカニズムは、すべての指定された出力レイヤ群が単一の出力レイヤを含むビットストリームまたはCVSに対する使用に限定されてもよく、代替出力レイヤ(複数可)はビットストリームまたはCVSに基づくシンタックス要素(複数可)により示されてもよい。例えば、代替出力レイヤ(複数可)は、VPS内の代替出力レイヤを(例えば、それらのレイヤ識別子や直接または間接参照レイヤのリストのインデックスを使用して)列挙し、最小代替出力レイヤを(例えば、そのレイヤ識別子や直接または間接参照レイヤのリストにおけるインデックスを使用して)示し、または任意の直接または間接参照レイヤが代替出力レイヤであることを示すフラグを利用して、指定される。複数の代替出力レイヤが使用可能であれば、アクセス単位における、上記の示された最小代替出力レイヤまでレイヤ識別子降順の、第1直接または間接インターレイヤ参照ピクチャが出力されるよう指定されてもよい。
スケーラブル符号化で出力されるピクチャは、例えば以下のとおりに制御されてもよい。すなわち、単一レイヤビットストリームの場合と同様に、復号処理において、各ピクチャのPicOutputFlagがまず生成される。例えば、PicOutputFlagは、当該ピクチャに対するビットストリームに含まれるpic_output_flagを考慮して生成されてもよい。アクセス単位が復号されると、出力レイヤと、対応しうる代替出力レイヤを使用して、アクセス単位の各ピクチャに対するPicOutputFlagを更新してもよい。
ビットストリームにおいて代替出力レイヤのメカニズムの使用が指定されている場合、復号処理により出力された、復号されたピクチャを制御するため、復号プロセスは以下のとおりに動作してもよい。ここで、HEVCによる復号が使用され、alt_output_layer_flag[ TargetOlsIdx ]が1であるが、その他のコーデックを用いても同様に復号処理が実現できるものとする。ピクチャの復号が完了すると、当該ピクチャに対する可変PicOutputFlagが以下のとおりに設定されてもよい。
・ LayerInitializedFlag[ nuh_layer_id ]が0であれば、PicOutputFlagを0に設定する。
・ 上記条件が満たされない場合、現ピクチャがRASLピクチャであり、関連するIRAPピクチャのNoRaslOutputFlagが1であれば、PicOutputFlagを0に設定する。
・ 上記条件が満たされない場合、PicOutputFlagをpic_output_flagに等しくなるように設定する。ここで、pic_output_flagは、当該ピクチャに関連するシンタックス要素であり、例えば当該ピクチャの符号化されたスライスのスライスヘッダに存在する。
さらに、アクセス単位における最後のピクチャの復号が完了すると、(次のピクチャの復号前に)以下のとおりにアクセス単位の各復号されたピクチャのPicOutputFlagを更新してもよい。
・ alt_output_layer_flag[ TargetOlsIdx ]が1で、現アクセス単位が出力レイヤのピクチャを含まないまたはPicOutputFlagが0の出力レイヤにおけるピクチャを含む場合、以下のステップが順番に実行される。
○ リストnonOutputLayerPicturesを、PicOutputFlagが1で、nuh_layer_id値が出力レイヤの参照レイヤのnuh_layer_id値内であるアクセス単位のピクチャのリストに設定する。
○ リストnonOutputLayerPicturesが空でなければ、リストnonOutputLayerPicturesにおける最もnuh_layer_id値が高いピクチャを、リストnonOutputLayerPicturesから除く。
○ リストnonOutputLayerPicturesに含まれる各ピクチャのPicOutputFlagを0に設定する。
・ 上記条件が満たされない場合、出力レイヤに含まれないピクチャに対するPicOutputFlagを0に設定する。
前段落に記載のとおり、代替出力レイヤのメカニズムが使用される場合、アクセス単位のいずれの復号済みピクチャ(複数可)が復号処理によって出力されるかを判定可能となる前に、アクセス単位の復号が完了する必要がありうる。
ブロック、領域、またはピクチャのスキップ符号化は、スケーラブルビデオの符号化に応じて定義されてもよく、これにより、復号または再構成されたブロック、領域、またはピクチャはそれぞれインターレイヤ予測信号に等しくなる(例えば、単予測の場合、インターレイヤ参照ピクチャの各ブロック、領域、またはピクチャ)。スキップ符号化ブロック、領域、またはピクチャに対して予測エラーは符号化されず、したがってスキップ符号化ブロック、領域、またはピクチャに対して予測エラーは復号されない。符号化された予測エラーが利用不能であることが、例えばブロック単位で(例えばHEVCのcu_skip_flag等を使用する)、エンコーダで示され、および/またはデコーダで復号される。スキップ符号化ブロック、領域、またはピクチャに対して、インループフィルタがOFFであることが、例えば符号化規格で予め定義されるか、エンコーダで示され、デコーダにより復号されてもよい。重み付け予測がOFFであることが、例えば符号化規格で予め定義されるか、エンコーダで示され、デコーダにより復号されてもよい。
プロファイルは、復号/符号化規格または仕様により指定される全ビットストリームシンタックスのサブセットとして定義されてもよい。あるプロファイルのシンタックスによる限定下でも、復号されたピクチャの指定サイズのような、ビットストリームにおけるシンタックス要素による値によっては、エンコーダおよびデコーダの性能の大きな変動を要することが可能である。多くの場合、特定のプロファイルにおけるあらゆる可能性のあるシンタックスの利用を網羅したデコーダを実現するのは、非現実的且つ非経済的である。そのため、レベルを使用することができる。レベルとは、ビットストリームにおけるシンタックス要素や、符号化/復号規格または仕様で指定された変数の値に対する、所定の限定群と定義できる。これら限定は、値に対する単純な制限であってもよい。さらに/あるいは、値の数学的組合せ(例えば、ピクチャ幅×ピクチャ高さ×毎秒当たりの復号ピクチャ数)に対する限定であってもよい。レベルに対する限定を指定する手段は他にもある。レベルで指定される限定は、例えばマクロブロックや、所定時間(秒等)の符号化単位での最大ピクチャサイズ、最大ビットレート、最大データレートに関するものであってもよい。すべてのプロファイルに対して、同じレベル群が定義されてもよい。例えば、異なるプロファイル間で、各レベルの定義の態様の大部分またはすべてが共通となるように、異なるプロファイルを実現する端末間の相互運用性を向上することが望ましくありうる。階層(tier)は、ビットストリームにおけるシンタックス要素の値に対するレベル限定の、所定の分類として定義できる。ここで、レベル限定は階層に対して入れ子になっており、ある階層およびレベルに準拠するデコーダは、そのレベル以下の階層またはそれを下回る任意のレベルに準拠するすべてのビットストリームに対して復号が可能である。
多くの従来のビデオの符号化規格が、ビットストリームに適用される、プロファイル単位での適合性指標を指定しているが、マルチレイヤHEVC拡張では、レイヤ単位での適合性指標が指定されている。より正確には、各OLSの各必要レイヤに対して、プロファイル−指標単位(PTL)組が示される。ただし、より細粒度の、時間−サブレイヤ単位PTLシグナリングが可能である。すなわち、各OLSの各必要レイヤの各時間サブセットのPTLの組合せを示すことが可能である。HEVCデコーダのデコーダ性能は、PTL値のリストとして示すことができ、リスト要素の数はデコーダが対応するレイヤ数を示し、各PTL値は1レイヤに対する復号能力を示す。インターレイヤ予測の対象ではない非基本レイヤは、メインプロファイル等の、単一レイヤプロファイルに準拠するように示されてもよい。ただし、当該レイヤに対して、レイヤ単位の復号が適切に作用するには、いわゆる独立非基本レイヤ復号(Independent Non-Base Layer Decoding:INBLD)能力が必要となる。
消費者向け、業務用ビデオのピクチャレートが益々向上することは間違いないであろう。例えば、デジタルスチルカメラ、スマートフォンカメラ、アクションカメラのような消費者向け製品は、120Hzまたは240Hzのような高いピクチャレートでビデオを撮像可能である。今日のテレビは、数百Hzのピクチャレートの表示にも対応可能である。
一方で、ピクチャレートは、デコーダまたは再生機により、その性能に応じて選択可能であることが有利であることが多い。例えば、再生機に120Hzのピクチャレートのビットストリームが送られても、計算資源の空きや、バッテリの充電レベル、および/または表示能力等により、30Hz版を復号する方が有利となりうるのである。このような調整は、時間スケーラビリティをビデオの符号化および復号に適用することにより可能である。
ただ、時間スケーラビリティは、短い露出時間(例えば240Hz)で撮影されたビデオの場合、一時的にサブサンプリングにより30Hzで再生すると、欠損を生じるモーションブラーにより、不自然に映るという欠点をはらむ。時間スケーラビリティおよび露出時間スケーリングに関して、以下の2つの状況が生じうると考えられる。第1の状況として、低フレームレートの露出時間が、高フレームレートでも維持されることが考えられる。この場合、デコーダがモーションブラーに関する問題を比較的素直に対処できる。第2の状況として、フレームレート間で露出時間が異なる場合がある。この場合、かなり複雑な状況に陥る可能性がある。
SHVCおよびMV−HEVCに対して、HLSオンリー(high-level-syntax-only)という設計方針が選択された。これは、HEVCシンタックスまたは復号処理に対して、スライスヘッダ以下の変更はないことを意味する。そのため、HEVCエンコーダおよびデコーダの実装が、SHVCおよびMV−HEVCに流用可能である。SHVCは、インターレイヤ処理という概念を利用する。これは具体的には、必要に応じて復号済み参照レイヤピクチャおよびその動きベクトル配列をリサンプリングし、さらに/あるいはカラーマッピング(例えば色域スケーリング用)を適用するための処理である。
インターレイヤ処理と同様に、ピクチャレートのアップサンプリング(いわゆるフレームレートアップサンプリング)方法が復号の後処理に適用される。言い換えると、ピクチャレートのアップサンプリングアルゴリズムで生成されたピクチャは、符号化または復号における参照ピクチャとして使用されない。しかし、アップサンプリングされたピクチャを、符号化または復号における参照ピクチャとして使用すれば、時間スケーラブルビットストリームの圧縮効率の向上の機会が広がりうる。
現在のビデオの符号化規格の多くがHLSオンリー設計ということを考えると、現行の規格(例えばHEVC、SHVC)が流用可能なように、時間スケーラブルビットストリームの圧縮効率を向上する必要がある。
時間スケーラブルビットストリームの圧縮効率を向上するための、改良されたビデオ符号化方法を以下に示す。特定の実施形態において別途記載がない限り、符号化ベースピクチャという用語は、直接参照レイヤピクチャとして定義され、再構成ベースピクチャという用語は、インターレイヤ予測用のソースピクチャとして定義され、符号化拡張ピクチャという用語は、予測後レイヤの符号化ピクチャとして定義され、再構成拡張ピクチャという用語は、予測後レイヤの復号されたピクチャとして定義されてもよい。
図5に示す方法では、第1のスケーラビリティレイヤが符号化される(500)。第1のスケーラビリティレイヤは少なくとも第1の符号化ベースピクチャおよび第2の符号化ベースピクチャを含む。ここで前記第1のスケーラビリティレイヤは第1のアルゴリズムを用いて復号可能である。この方法はさらに、前記第1および第2の符号化ベースピクチャをそれぞれ、第1および第2の再構成ベースピクチャとして再構成すること(502)を含む。ここで前記第1の再構成ベースピクチャおよび前記第2の再構成ベースピクチャは、前記第1のスケーラビリティレイヤのすべての再構成ピクチャの中で、前記第1のアルゴリズムの出力順で連続している。この方法はさらに、第2のアルゴリズムを用いて、少なくとも前記第1および第2の再構成ベースピクチャから第3の再構成ベースピクチャを再構成すること(504)を含む。ここで前記第3の再構成ベースピクチャは、出力順で前記第1の再構成ベースピクチャと前記第2の再構成ベースピクチャとの間にある。この方法はさらに、少なくとも第1の符号化拡張ピクチャと、第2の符号化拡張ピクチャと、第3の符号化拡張ピクチャとを含む第2のスケーラビリティレイヤを符号化すること(506)を含む。ここで前記第2のスケーラビリティレイヤは、再構成ピクチャを入力とするインターレイヤ予測を含む第3のアルゴリズムを用いて復号可能である。この方法はさらに、前記第1、第2、および第3の再構成ベースピクチャをインターレイヤ予測の入力として、前記第1、第2、および第3の符号化拡張ピクチャをそれぞれ第1、第2、および第3の再構成拡張ピクチャに再構成すること(508)を含む。ここで前記第1、第2、および第3の再構成拡張ピクチャは、前記第1のアルゴリズムの出力順でそれぞれ前記第1、第2、および第3の再構成ベースピクチャと一致する。
言い換えると、HEVC等の既存のフォーマットに準拠する基本レイヤのピクチャレートについて、拡張レイヤ(向上したピクチャレートに対応する)もSHVCの等の既存のフォーマットに準拠するように、当該ピクチャレートを上げるメカニズムが提供される。
ある実施形態によると、前記第2および前記第3のアルゴリズムは動き補償予測アルゴリズムであって、前記第2のアルゴリズムは前記第1および第3のアルゴリズムとは異なる。したがって、この方法は、ピクチャレートのアップサンプリングに対して、例えばHEVCまたはSHVCに含まれる第1の動き補償予測アルゴリズム(すなわち、前記第3のアルゴリズム)とは異なる第2の動き補償予測アルゴリズム(すなわち、前記第2のアルゴリズム)を使用可能にするものである。ピクチャレート向上のため、第1および第2の動き補償予測を使い分ける(またはイントラ予測のようなその他の予測を利用する)ことは、エンコーダにより動的に選択された、ビットストリームにおいて示されたブロック単位で可能である。したがって、デコーダは第1および第2の動き補償予測間の動的な選択にも対応する。
多くの場合、第1の動き補償予測よりも、第2の動き補償予測アルゴリズムの方がより正確な予測信号を得られるため、上述のメカニズムは圧縮効率の向上を実現する。第1および第2の動き補償予測を使い分けること、必要であればその他の予測(イントラ予測等)を使用することが、ブロック単位で動的に実現可能なことから、第2の動き補償予測アルゴリズムはすべてのブロックに対してその他の予測方法よりも高性能である必要がない。したがって、上述のメカニズムは、あらゆる種類のコンテンツに対して、従来技術の方法よりも優れているか、少なくとも同等に動作する。
図6は、一実施形態によるメカニズムの仕組みの概略を示す。図6に示すメカニズムは、符号化および復号のいずれにも適用できる。例えば、HEVCエンコーダまたはデコーダにより、第1のスケーラビリティレイヤ600が符号化または復号される。第1のスケーラビリティレイヤ600は、第2のスケーラビリティレイヤ604よりも低ピクチャレートである。ピクチャレートのアップサンプリングアルゴリズム(すなわち、前記第2のアルゴリズム)を、第1のスケーラビリティレイヤの再構成または復号されたピクチャ600a、600cに適用して、第3の再構成ベースピクチャ602bを再構成する。ここで、符号a、b、c…は、ピクチャの出力順を示す。ピクチャレートのアップサンプリング方法はさらに、動きベクトルのような、第1のスケーラビリティレイヤの符号化データを利用してもよい。さらに、ピクチャレートのアップサンプリング方法を調整するための、さらなるデータを符号化または復号してもよい。例えば、SHVCエンコーダまたはデコーダにより第2のスケーラビリティレイヤ604を符号化または復号する。再構成ベースピクチャ600a、600c、602bをインターレイヤ予測の入力として、第2のスケーラビリティレイヤが符号化または復号される。例えば、再構成ベースピクチャ600a、600c、602bは第2のスケーラビリティレイヤを符号化または復号するための、外部基本レイヤピクチャとして扱ってもよい。これは、SHVCの場合、外部基本レイヤを利用した(すなわちvps_base_layer_internal_flagが0である)SHVCビットストリームへと、または当該SHVCビットストリームから、第2のスケーラビリティレイヤを符号化/復号することで実現できる。第1のスケーラビリティレイヤに(例えば、出力時間対応に関して)対応するピクチャが存在しない、第2のスケーラビリティレイヤ604のピクチャ604bについては、ピクチャレートのアップサンプリング方法により再構成されたピクチャ602bが、インターレイヤ予測の入力としての再構成ベースピクチャとして使用される。図6や後続の図面において、インター予測は第1のスケーラビリティレイヤ600内および/または第2のスケーラビリティレイヤ604内で用いられてもよいが、この場合のインター予測は図示されていないことを理解されたい。
ある実施形態によると、このメカニズムは、第1のスケーラビリティレイヤにおけるベースピクチャを向上することなく、ピクチャレートを上げるという目的のみに使用される。これは、非限定的な以下の方法を含む様々な方法で実現できる。
図7に示す一実施形態によると、エンコーダは図6と同様に動作するが、以下に説明するようにピクチャ754aおよび754cがそれぞれピクチャ604aおよび604cとは異なる方法で符号化される。エンコーダは、第1のスケーラビリティレイヤ750のピクチャに(例えば、出力時間対応に関して)対応するピクチャがスキップ符号化されるように、第2のスケーラビリティレイヤ754を符号化する。図7において、点線の各ボックス(754a、754c)が、スキップ符号化ピクチャを示す。ある実施形態によると、エンコーダは、第1のスケーラビリティレイヤ(750a、750c)のピクチャに対応する第2のスケーラビリティレイヤのピクチャ(754a、754c)がスキップ符号化されるという、第2のスケーラビリティレイヤに関連した標示を含む。ある実施形態によると、デコーダは、図6と同様に動作するが、以下に説明するようにピクチャ754aおよび754cがそれぞれピクチャ604aおよび604cとは異なる方法で復号される。デコーダは、上記の第2のスケーラビリティレイヤに関連した標示を復号し、第1のスケーラビリティレイヤのピクチャに対応する第2のスケーラビリティレイヤのピクチャの復号を省略して、その代わりに第1のスケーラビリティレイヤの復号されたピクチャを出力する。
図8に示す別の実施形態によると、エンコーダは図6で説明したのと同様に動作するが、ここではエンコーダは第1のスケーラビリティレイヤ850のピクチャに(例えば、出力時間対応に関して)対応してピクチャを符号化することなく、第2のスケーラビリティレイヤ854を符号化する。例えば、ビットストリームが第1のスケーラビリティレイヤ850および第2のスケーラビリティレイヤ854を両方含む場合、エンコーダは第1のスケーラビリティレイヤの符号化ピクチャ(例えば、850a)のみを含み、第2のスケーラビリティレイヤのピクチャを含まないアクセス単位のみを符号化可能である。別の例では、ビットストリームが第2のスケーラビリティレイヤ854を含むが第1のスケーラビリティレイヤ850を含まない場合、エンコーダは第2のスケーラビリティレイヤのピクチャが明示的または暗示的に不在であると示されたアクセス単位を符号化することができる。これは例えば、アクセス単位区切り等および/またはアクセス単位の符号化単位完了標示等を符号化することにより実現するが、当該アクセス単位区切り等および/または符号化単位完了標示等によって示されたアクセス単位内に第2のスケーラビリティレイヤの符号化ピクチャを含まない。ある実施形態によると、エンコーダは上述の代替出力レイヤのメカニズムを使用して、(例えばアクセス単位で)第2のスケーラビリティレイヤのピクチャが不在であれば、第1のスケーラビリティレイヤの対応するピクチャ(例えば、850a)を出力することを示す。ある実施形態によると、デコーダは図6で説明したのと同様に動作するが、ここではデコーダは第1のベースピクチャ850aまたは第2のベースピクチャ850cを含むアクセス単位における第2のスケーラビリティレイヤ854のピクチャが不在であることを特定し、不在の場合、再構成ベースピクチャ850aおよび850cを出力する。ある実施形態によると、デコーダは図6で説明したのと同様に動作するが、ここではデコーダは第1のベースピクチャ850aまたは第2のベースピクチャ850cを含むアクセス単位における第2のスケーラビリティレイヤ854のピクチャが不在であることを特定し、(例えば、上述のシグナリングにより)代替出力レイヤが使用中かを特定し、不在であるか代替出力レイヤが使用中であれば、再構成ベースピクチャ850aおよび850cを出力する。
ある実施形態によると、メカニズムは、第1のスケーラビリティレイヤのベースピクチャが修正されるように、ピクチャレートを上げるために利用される。修正は、例えば第1のスケーラビリティレイヤが示す第1のビデオシーケンスが、第2のスケーラビリティレイヤが示す第2のビデオシーケンスのための第2の露出時間よりも長いピクチャ撮影用の第1の露出時間で撮影された可能性があるため行われてもよい。この場合、第1および第2のビデオシーケンスが同じカメラによるものでも、ピクチャ同士で性質が異なりうる。例えば、第1のビデオシーケンスのピクチャの方が、モーションブラーが多い可能性がある。そこで、修正の目的は、再構成された第2のスケーラビリティレイヤが主観的に安定した品質を持つようにすることおよび/またはピクチャレートのアップサンプリングの適切な入力を実現することで、ピクチャレートのアップサンプリングにより生成されたピクチャのフィデリティを向上し、それにより圧縮の向上を実現することであってもよい。本実施形態も、非限定的な以下の方法を含む様々な方法で実現できる。
図9に示す一実施形態によると、ピクチャレートのアップサンプリングピクチャ902bの再構成に、再構成ベースピクチャ900a、900cが入力として使用される(修正前)。その後、例えば第2の拡張レイヤにおける対応するピクチャ904a、904b、904cを使用して、再構成ベースピクチャ900a、900c、902bが修正される。本実施形態はエンコーダおよび/またはデコーダに適用できる。本実施形態のエンコーダおよび/またはデコーダのその他の動作は、図6に示すものと同じである。
図10に示す別の実施形態によると、再構成ベースピクチャ1000a、1000cは、例えばボケ除去アルゴリズムによりまず修正される。本明細書において以下にボケ除去について言及する場合、任意のボケ除去アルゴリズムが使用できる。いくつかの実施形態では、例えば符号化規格において、ボケ除去アルゴリズムが予め定義される。いくつかの実施形態では、例えば符号化規格において、複数のボケ除去アルゴリズムが予め定義され、その内で使用されるものを、エンコーダによりビットストリームに示し、さらに/あるいはデコーダがビットストリームから復号する。ボケ除去アルゴリズムは、モーションブラーを除去すること、低減すること、および/または隠すことが目的であってもよい。修正されたベースピクチャ1002a、1002cを入力として、ピクチャレートのアップサンプリングピクチャ1002bを再構成する。修正されたベースピクチャ1002a、1002b、1002cは、第2のスケーラビリティレイヤにおける対応するピクチャ1004a、1004b、1004cのインターレイヤ予測における参照として使用してもよい。本実施形態のエンコーダおよび/またはデコーダのその他の動作は、図6に示すものと同じである。
図11に示すさらに別の実施形態によると、再構成ベースピクチャ1100a、1100cは、第2の拡張レイヤの対応するピクチャ1104a、1104cによりまず修正される。当該修正は、SHVCのような既存のアルゴリズムを用いてもよいし、新たなアルゴリズムを使用または部分的に導入してもよい。第2の拡張レイヤの再構成ピクチャ1104a、1104cは、ピクチャレートのアップサンプリングピクチャ1102bの再構成における入力に使用される。本実施形態はエンコーダおよび/またはデコーダに適用できる。本実施形態のエンコーダおよび/またはデコーダのその他の動作は、図6に示すものと同じである。
ある実施形態によると、エンコーダは例えば上述の実施形態のリストにおけるいずれが実現されているかを、ビットストリーム、例えばVPSのようなシーケンス単位シンタックス構造において示す。デコーダは、ビットストリーム、例えばVPSのようなシーケンス単位シンタックス構造から、例えば上述の実施形態のリストにおけるいずれが実現されているかを復号する。
ある実施形態によると、メカニズムは、ピクチャレートおよびその他1つまたは複数の種類の拡張の向上に使用される。その他の種類の拡張としては、信号対ノイズ(すなわち、画質、すなわち画像忠実度)拡張、空間拡張、サンプルビット深度の拡大、ダイナミックレンジの拡大、および/または色域の拡大が挙げられる。
第2のスケーラビリティレイヤは、SNR、空間、ビット深度、ダイナミックレンジ、および/または色域スケーラビリティのような、適切な種類のスケーラビリティが可能なように、符号化、または復号できる。再構成ベースピクチャは、リサンプリング、ビット深度拡張、および/またはカラーマッピングのようなインターレイヤ処理後、第2のスケーラビリティレイヤの参照ピクチャとして使用されてもよい。ピクチャレートのアップサンプリングと、いくつかの実施形態では再構成ベースピクチャの修正(例えば、ボケ除去)は、前記インターレイヤ処理の一部としてとらえても、前記インターレイヤ処理前に実施されてもよい。前記インターレイヤ処理前の前のベースピクチャを扱う場合、実施形態は、第1のスケーラビリティレイヤのベースピクチャが修正されるように、ピクチャレート向上に関する上述の実施形態の任意の実現とともに使用できる。したがって、実施形態は非限定的な以下の方法を含む、様々な方法で実現できる。
図12に示す一実施形態によると、第2のスケーラビリティレイヤにおける対応するピクチャ1204a、1204b、1204cを使用して拡張する前に、再構成ベースピクチャ1200a、1200cを入力として、ピクチャレートのアップサンプリングピクチャ1202bの再構成してもよい。この拡張により、例えばSNR、解像度、サンプルビット深度、ダイナミックレンジ、および/または色域についてベースピクチャが拡張される。前記拡張はさらに、例えばモーションブラー量低減のための、ベースピクチャの仮想的露出時間の修正を含んでもよい。本実施形態はエンコーダおよび/またはデコーダに適用できる。本実施形態のエンコーダおよび/またはデコーダのその他の動作は、図6に示すものと同じである。
図13に示す別の実施形態によると、再構成ベースピクチャ1300a、1300cは、例えばボケ除去アルゴリズムを用いてまず修正される。修正されたベースピクチャ1302a、1302cを入力として、ピクチャレートのアップサンプリングピクチャ1302bを再構成してもよい。修正されたベースピクチャ1302a、1302b、1302cは、第2のスケーラビリティレイヤの対応するピクチャ1304a、1304b、1304cのインターレイヤ予測における参照として使用してもよい。本実施形態はエンコーダおよび/またはデコーダに適用できる。本実施形態のエンコーダおよび/またはデコーダのその他の動作は、図6に示すものと同じである。
図14に示す別の実施形態によると、再構成ベースピクチャ1400a、1400cは、第2の拡張レイヤの対応するピクチャ1404a、1404cを用いてまず修正される。当該修正は、SHVCのような既存のアルゴリズムを用いてもよいし、新たなアルゴリズムを使用または部分的に導入してもよい。この修正により、例えばSNR、解像度、サンプルビット深度、ダイナミックレンジ、および/または色域についてベースピクチャが拡張される。前記修正はさらに、例えばモーションブラー量低減のための、ベースピクチャの仮想的露出時間の修正を含んでもよい。第2の拡張レイヤの再構成ピクチャ1404a、1404cは、ピクチャレートのアップサンプリングピクチャ1402bの再構成における入力として使用される。本実施形態はエンコーダおよび/またはデコーダに適用できる。本実施形態のエンコーダおよび/またはデコーダのその他の動作は、図6に示すものと同じである。
〔単一のビットストリームの使用〕
符号化、復号に適用可能なある実施形態によると、符号化、復号されるビットストリームは以下の特徴を有する。
・ 第1および第2のスケーラビリティレイヤが同一のビットストリーム内に存在する。
・ 第3の拡張ピクチャが、第1および第2のベースおよび拡張ピクチャよりも高い時間サブレイヤに存在する。
ビットストリームサブセットの符号化プロファイルに対するラベル付けは、以下のとおりにエンコーダにより示されるか、デコーダにより復号されてもよい。
・ 第1および第2のベースピクチャを含み、第2のスケーラビリティレイヤからのピクチャを含まないビットストリームサブセットに、HEVCのメインプロファイルのような第1の符号化プロファイルをラベル付けしてもよい。
・ 第1および第2の拡張ピクチャを含み、第3の拡張ピクチャを含まないビットストリームサブセットに、HEVCのスケーラブルメインプロファイルのような(第1の符号化プロファイルとは異なる)第2の符号化プロファイルをラベル付けしてもよい。
・ 第1、第2、および第3の拡張ピクチャを含むビットストリームサブセットに、第1および第2の符号化プロファイルとは異なり、スケーラブルハイプロファイルと称する第3の符号化プロファイルをラベル付けしてもよい。
HEVCの場合、上述の「ビットストリームサブセット」という用語は、出力動作点(HEVC仕様で定義)と解されてもよい。
本実施形態は、
・ 第1のスケーラビリティレイヤのベースピクチャが拡張されないようにピクチャレートを上げる、図7および図8に示す実施形態、
・ 第1のスケーラビリティレイヤのベースピクチャが修正されるようにピクチャレートを上げる、図9および図11に示す実施形態、
・ ピクチャレートと、その他あらゆる種類の拡張を向上する、図12および図14に示す実施形態、
のような実施形態とともに実現されてもよい。
スケーラブルハイプロファイルのインターレイヤ処理は、ピクチャレートのアップサンプリングに対する第2のアルゴリズムを含む。第1のスケーラビリティレイヤのベースピクチャが修正されるようにピクチャレートを上げる実施形態と、ピクチャレートと、その他あらゆる種類の拡張を向上する実施形態では、インターレイヤ処理は、例えば上述のモーションブラー低減のようなベースピクチャの修正を含んでもよい。ピクチャレートと、その他あらゆる種類の拡張を向上する実施形態では、スケーラブルハイプロファイルのインターレイヤ処理は、リサンプリング、ビット深度拡張、および/またはカラーマッピング等のその他のインターレイヤ処理を含んでもよい。
〔外部インターレイヤ処理を行わず、2つのビットストリームを使用〕
符号化、復号に適用可能なある実施形態によると、符号化、復号されるビットストリームは以下の特徴を有する。
・ 第1のスケーラビリティレイヤが第1のビットストリーム内に存在し、第2のスケーラビリティレイヤが第1のビットストリームとは異なる第2のビットストリーム内に存在する。
・ 第3の拡張ピクチャが、第1および第2の拡張ピクチャよりも高い時間サブレイヤに存在する。
ビットストリームおよびビットストリームサブセットの符号化プロファイルに対するラベル付けは、以下のとおりにエンコーダにより示されるか、デコーダにより復号されてもよい。
・ 第1のビットストリーム(すなわち、第1のスケーラビリティレイヤ)に、HEVCのメインプロファイルのような第1の符号化プロファイルをラベル付けしてもよい。
・ 第2のビットストリームは、外部基本レイヤを使用する(例えば、HEVCのvps_base_layer_internal_flagが0である)ことを示してもよい。
・ 第1および第2の拡張ピクチャを含み、第3の拡張ピクチャを含まないビットストリームサブセットに、HEVCのスケーラブルメインプロファイルのような(第1の符号化プロファイルとは異なる)第2の符号化プロファイルをラベル付けしてもよい。
・ 第2のビットストリーム、またはそれに等しい、第1、第2、および第3の拡張ピクチャを含むビットストリームサブセットに、(第1および第2の符号化プロファイルとは異なり)スケーラブルハイプロファイルと称する第3の符号化プロファイルをラベル付けしてもよい。
本実施形態は、
・ 第1のスケーラビリティレイヤのベースピクチャが修正されるようにピクチャレートを上げる、図11に示す実施形態、
・ ピクチャレートと、その他あらゆる種類の拡張を向上する、図14に示す実施形態、
のような実施形態とともに実現されてもよい。
スケーラブルハイプロファイルのインターレイヤ処理は、(拡張ピクチャに対応する外部ベースピクチャ不在で実施されるピクチャレートのアップサンプリングに対する)第2のアルゴリズムを含む。インターレイヤ処理は、例えば上述のモーションブラー低減のようなベースピクチャの修正を含んでもよい。ピクチャレートと、その他あらゆる種類の拡張を向上する実施形態では、スケーラブルハイプロファイルのインターレイヤ処理は、リサンプリング、ビット深度拡張、および/またはカラーマッピング等のその他のインターレイヤ処理を含んでもよい。
〔外部インターレイヤ処理を実行し、2つのビットストリームを使用〕
符号化、復号に適用可能なある実施形態によると、符号化、復号されるビットストリームは以下の特徴を有する。
・ 第1スケーラビリティレイヤが第1のビットストリーム内に存在し、第2のスケーラビリティレイヤが第1のビットストリームとは異なる第2のビットストリーム内に存在する。
・ 第3の拡張ピクチャが、第1および第2の拡張ピクチャよりも高い時間サブレイヤに存在する可能性があるが、必ずしもそうでなくてもよい。
ピクチャレートのアップサンプリングと、いくつかの形態におけるベースピクチャの修正(例えば、モーションブラー低減のため)は、第1のビットストリームおよび第2のビットストリームの復号とは異なるインターレイヤ処理により実現される。
エンコーダ、ファイルジェネレータ、パケット化装置等は、第1および第2のビットストリームには含まれないが、第1および第2のビットストリームの一方または両方に関連した標示により、外部インターレイヤ処理が使用されることを示してもよい。同様に、デコーダ、ファイルパーサ、デパケット化装置等は、第1および第2のビットストリームには含まれないが、第1および第2のビットストリームの一方または両方に関連した標示により、外部インターレイヤ処理が使用されることを解析してもよい。当該標示は例えば、外部インターレイヤ処理が使用されることを示す、第1および第2のビットストリームを含むファイルの一部、ストリーミングマニフェスト(例えばDASHのMPD)またはセッション記述(例えば、SDPを使用)のような記述の一部、および/または外部インターレイヤ処理が使用されるRTPペイロードフォーマットのようなパケットフォーマットの一部であってもよい。前記標示は、さらに、使用されるインターレイヤ処理の種類、および/またはボケ除去フィルタのフィルタカーネル値のようなインターレイヤ処理の入力に使用されるパラメータ値を特定するものであってもよい。標示の解析に対して、デコーダ、ファイルパーサ、デパケット化装置等またはそれらの組合せは、示されたインターレイヤ処理を実行して、第3のスケーラビリティレイヤのピクチャを再構成してもよい(図6等の例示的図に示す)。
本実施形態は、
・ 第1のスケーラビリティレイヤのベースピクチャが拡張されないようにピクチャレートを上げる、図7および図8に示す実施形態、
・ 第1のスケーラビリティレイヤのベースピクチャが修正されるようにピクチャレートを上げる、図9および図10に示す実施形態、
・ ピクチャレートと、その他あらゆる種類の拡張を向上する、図12および図13に示す実施形態、
のような実施形態とともに実現されてもよい。
〔第1のスケーラビリティレイヤの第3のベースピクチャ〕
例えば、図6、7、8、9、11、12、13、14を参照して上述したように、インターレイヤ処理の第3のベースピクチャの再構成に関するいくつかの実施形態を上述した。これら実施形態は、第3のスケーラビリティレイヤが第3の(符号化)ベースピクチャを含む場合でも同様に実施できることが理解されよう。第3の(符号化)ベースピクチャは、例えば、ピクチャレートのアップサンプリングアルゴリズム用のパラメータ値を含んでもよく、第3の符号化ベースピクチャは第3の再構成ベースピクチャに対応する。図6、7、8、9、11、12、13、14の実施形態の組に対応する実施形態、およびそれらの組のうちのいずれかの実施形態が適用可能なその他実施形態は、第3のベースピクチャが第1のスケーラビリティレイヤの一部である場合に適用できることが理解されよう。第3のベースピクチャが第1および第2のベースピクチャよりも高位の時間サブレイヤに存在することが、エンコーダにより示され、および/またはデコーダにより復号されてもよい。第1のプロファイルが第1および第2のベースピクチャ(例えばそれらの時間サブレイヤ)を含むが、第3のベースピクチャを含まないビットストリームサブセットに適用されることが、エンコーダにより示され、デコーダにより復号されてもよい。また、第1のプロファイルとは異なる第2のプロファイルが、第1および第2のベースピクチャに加えて第3のベースピクチャを含むビットストリームサブセットに適用されることが、エンコーダにより示され、デコーダにより復号されてもよい。
〔スケーラブルベース符号化〕
ある実施形態によると、上述のメカニズムは、ピクチャレートおよびその他の種類の拡張の向上に使用される。その他の種類の拡張としては、信号対ノイズ(すなわち、画質、画像忠実度)拡張、空間拡張、サンプルビット深度の拡大、ダイナミックレンジの拡大、および/または色域の拡大が挙げられる。ピクチャレートのアップサンプリング以外の拡張は、ピクチャレートのアップサンプリング前に実行される。SHVCのようなスケーラブル符号化を前記拡張に利用してもよい。言い換えると、予測レイヤにより、例えばSNR、解像度、サンプルビット深度、ダイナミックレンジ、および/または色域について基本レイヤが拡張されるように、ビットストリームを符号化または復号してもよい。
本実施形態は、
・ 第1のスケーラビリティレイヤのベースピクチャが拡張されないようにピクチャレートを上げる、図7および図8に示す実施形態、
・ 第1のスケーラビリティレイヤのベースピクチャが修正されるようにピクチャレートを上げる、図9、図10、図11に示す実施形態、
のような実施形態とともに実現されてもよい。
これらの実現について本実施形態に応じて解釈すると、再構成ベースピクチャは予測レイヤの再構成ピクチャとして解され、符号化ベースピクチャは、基本レイヤのピクチャと、予測レイヤの対応するピクチャの両方を含むものと解される。なお、本実施形態は単一の予測レイヤに限定されるものではなく、複数の予測レイヤが同様に使用可能であることが理解されよう。
〔スケーラビリティレイヤとしてのピクチャレートのアップサンプリング〕
ある実施形態によると、ピクチャレートのアップサンプリングや、いくつかの形態ではベースピクチャの修正(例えばモーションブラー低減)は、図15に示すような第3のスケーラビリティレイヤとして表される。例えば、第3のスケーラビリティレイヤ1502の符号化ピクチャは、ピクチャレートのアップサンプリングまたはベースピクチャの修正用のパラメータ値を含む。ある実施形態によると、修正された第1および第2のベースピクチャ1502a、1502cは、第3のスケーラビリティレイヤのスキップ符号化ピクチャとして符号化される。別の実施形態では、修正された第1および第2のベースピクチャ1502a、1502cは、(例えばモーションブラー低減のため)符号化される。ある実施形態によると、第1および第2の拡張ピクチャ1504a、1504cは、第2のスケーラビリティレイヤのスキップ符号化ピクチャとして符号化される。別の実施形態では、第1および第2の拡張ピクチャ1504a、1504cは、(例えばモーションブラー低減のため)符号化される。
ある実施形態によると、第3のスケーラビリティレイヤ1502は、第1のスケーラビリティレイヤ1500と同じビットストリーム内に存在する。別の実施形態では、第3のスケーラビリティレイヤ1502は、第1のスケーラビリティレイヤ1500とは異なるビットストリーム内に存在する。この場合、第1のスケーラビリティレイヤは第3のスケーラビリティレイヤの外部基本レイヤとして機能する。
ある実施形態によると、第2のスケーラビリティレイヤ1504は、第3のスケーラビリティレイヤ1502と同じビットストリーム内に存在する。別の実施形態では、第2のスケーラビリティレイヤ1504は、第3のスケーラビリティレイヤ1502とは異なるビットストリーム内に存在する。この場合、第3のスケーラビリティレイヤは第2のスケーラビリティレイヤの外部基本レイヤとして機能する。
上述の各実施形態は、以下の状態の1つとなるように、任意で組み合わせることができる。
・ 第1、第2、および第3のスケーラビリティレイヤが同一のビットストリーム内に存在する。
・ 第1のスケーラビリティレイヤが第1のビットストリーム内に存在し、第2および第3のスケーラビリティレイヤが第1のビットストリームとは異なる第2のビットストリーム内に存在する。
・ 第1および第3のスケーラビリティレイヤが第1のビットストリーム内に存在し、第2のスケーラビリティレイヤが第1のビットストリームとは異なる第2のビットストリーム内に存在する。
ある実施形態によると、スケーラビリティレイヤの符号化プロファイルに対するラベル付けは、以下のとおりにエンコーダにより示されるか、デコーダにより復号されてもよい。
・ 第1のスケーラビリティレイヤに、HEVCのメインプロファイルのような第1の符号化プロファイルがラベル付けされてもよい。
・ 第2のスケーラビリティレイヤに、HEVCのスケーラブルメインプロファイルのような第2の符号化プロファイルがラベル付けされてもよい。
・ 第3のスケーラビリティレイヤに、ここではピクチャレート拡張プロファイルと称される、(第1および第2の符号化プロファイルとは異なる)第3の符号化プロファイルがラベル付けされてもよい。
ある実施形態によると、第3のベースピクチャは第1および第2の修正ベースピクチャよりも高位のサブレイヤに存在する。ビットストリームサブセットレイヤの符号化プロファイルに対するラベル付けは、以下のとおりにエンコーダにより示されるか、デコーダにより復号されてもよい。
・ 第1のスケーラビリティレイヤに、HEVCのメインプロファイルのような第1の符号化プロファイルがラベル付けされてもよい。
・ 第2のスケーラビリティレイヤに、HEVCのスケーラブルメインプロファイルのような第2の符号化プロファイルがラベル付けされてもよい。
・ 第1および第2の修正ベースピクチャを含み(第1のスケーラビリティレイヤ、第2のスケーラビリティレイヤ、第3のベースピクチャを含まない)ビットストリームサブセットに、例えばインターレイヤボケ除去が適用されない場合はHEVCのスケーラブルメインプロファイル等の第2の符号化プロファイルがラベル付けされ、例えばインターレイヤボケ除去が適用される場合は、ここでは「アドバンストスケーラブルメインプロファイル」と称する第3の符号化プロファイルがラベル付けされてもよい。
・ 第3のスケーラビリティレイヤ(修正第1および第2のベースピクチャおよび第3のベースピクチャを含む)は、ここでは「スケーラブルピクチャレート拡張プロファイル」と称する、(第1および第2の符号化プロファイルとも、使用される場合は第3の符号化プロファイルとも異なる)第4の符号化プロファイルがラベル付けされてもよい。
ある実施形態によると、デコーダは、異なるレイヤとサブレイヤの組合せに関連したプロファイル標示を復号する。デコーダは、復号で対応するプロファイルと、レイヤとサブレイヤとの依存関係に基づき、どのレイヤおよびサブレイヤを復号するかを判定する。
ある実施形態によると、プロファイルが、独立レイヤ(最下サブレイヤから、任意の特定のサブレイヤまで)のサブレイヤ群に関連する場合、デコーダは復号のプロファイルに対応する場合はそれらサブレイヤを復号すると判定する。プロファイルが、予測レイヤ(最下サブレイヤから、任意の特定のサブレイヤまで)のサブレイヤ群に関連する場合、デコーダは復号のプロファイルに対応し、予測レイヤのサブレイヤ群のインターレイヤ予測の参照として直接または間接的に使用されうるレイヤおよびサブレイヤのプロファイルに対応する場合は、それらサブレイヤを復号すると判定する。
ある実施形態によると、プロファイルが独立レイヤ(すべてのサブレイヤを含む全体)に関連する場合、デコーダは復号のプロファイルに対応する場合、その独立レイヤを復号すると判定する。プロファイルが、予測レイヤに関連する場合、デコーダは復号のプロファイルに対応し、予測レイヤのインターレイヤ予測の参照として直接または間接的に使用されうるレイヤおよびサブレイヤのプロファイルに対応する場合は、その予測レイヤを復号すると判定する。
いくつかの実施形態で上述したとおり、異なるビットストリームサブセットにラベル付けをして、異なる符号化仕様および/またはそのプロファイルに対応するようにしてもよい。コンテナファイル(複数可)および/または送信もそれに応じて構成し、ビットストリームサブセットのすべてではなく一部を復号可能な受信機が、(コンテナファイルおよび/または通信プロトコル(いずれも複数可)から)受信するおよび/またはデカプセル化されるビットストリームサブセットを選択可能とすることができる。例えば、直接および間接参照レイヤのプロファイルから異なるプロファイルを使用させる異なる論理チャネルを、各レイヤまたは各サブレイヤに使用してもよい。論理チャネルのコンテンツの復号に必要なプロファイルは、例えばストリーミングマニフェスト(例えば、MPEG−DASHのMPD)またはセッション記述(例えば、SDPを使用)により、シグナリングされてもよい。これにより、異なるプロファイルを復号できる複数の受信機に対して、同一のビットストリームが使用でき、受信機が使用に合わせて適切なビットストリームサブセットを選択できるという利点が得られる。例えば、ビットストリームは、1つ以上のISO型メディアファイルフォーマット対応ファイルまたはセグメント(MPEG−DASH配信用)のいくつかのトラックに含まれてもよい。各トラックは、異なるプロファイルに対応する。このように構成された各トラックは、MPEG−DASHのMPD(等)の表現として通知できる。その後、ストリーミングクライアントがそのプロファイル復号性能に合わせて、どの表現(等)が要求され、これにより受信、復号されるかを選択する。
〔ピクチャレートのアップサンプリング方法〕
上述の方法は、概して、第1および第2のベースピクチャ間の動きを推定し、第1および第2の再構成ベースピクチャの動き補償を組み合わせることに基づく。したがって、ピクチャレートのアップサンプリング方法は、動きベクトルのような第1のスケーラビリティレイヤの符号化データを利用してもよい。さらに、ピクチャレートのアップサンプリング方法を調整するための、さらなるデータを符号化、復号してもよい。
一例として、第1および第2の再構成ベースピクチャを、エンコーダおよび/またはデコーダにおいて2つ以上のセグメントに分割してもよい。例えば、前景セグメントが第1および第2の再構成ベースピクチャから判断され、背景セグメントが前景セグメント外の領域からなるものと判断されてもよい。例えば、最初にピクチャを同様の色表現を持つスーパーピクセルごとに分割してもよい。次に、同様の動きベクトルを持つスーパーピクセルを併合してもよい。さらに、デコーダが復号可能なビットストリームのパラメータを含むことで、エンコーダにより分割が促進されてもよい。動きヒントとも称される動きパラメータは、セグメントごとにエンコーダにより示されてもよく、デコーダにより復号されてもよい。例えば、動きパラメータは、第1の再構成ベースピクチャのセグメントの、第2の再構成ベースピクチャにおける対応するセグメントに対するアフィン歪みを示してもよい。または、動きパラメータは、第1の再構成ベースピクチャのセグメントの、第3のベースピクチャにおける対応するセグメントに対するアフィン歪み、および/または第2の再構成ベースピクチャのセグメントの、第3のベースピクチャにおける対応するセグメントに対するアフィン歪みを記述するものであってもよい。さらに、ブロック単位の動きパラメータフィールドを、例えば離散コサイン変換等を利用して変換し、量子化してもよい。
上記例示的実施形態は、第3のベースピクチャ全体の再構成に基づいて説明した。エンコーダおよび/またはデコーダが、ブロック単位で実現可能であることが理解されよう。第3のベースピクチャは、全体的に再構成される必要はなく、第3の拡張ピクチャのインターレイヤ予測の参照に用いられる部分だけ再構成されてもよい。各ブロックに対して、当該ブロックの予測に用いられる参照ピクチャが最初にビットストリームから復号されるように、第3の拡張ピクチャ用のデコーダを実現してもよい。参照ピクチャがインターレイヤ参照ピクチャであれば、少なくとも復号されるブロックに関連するブロックを網羅した第3の再構成ベースピクチャのサブセットを形成するように、第2のアルゴリズムが適用される。その後、第3のベースピクチャの関連するブロックが、インターレイヤ予測の参照に用いられる。その他の場合(参照ピクチャがインターレイヤ参照ピクチャではない場合)には、例えばSHVCの従来の復号処理を使用できる。
上記例示的実施形態は、出力順が連続した2つの再構成ベースピクチャを入力として、出力順で当該連続した2つのベースピクチャ間に第3のベースピクチャを補間するピクチャレートのアップサンプリングに基づいて説明した。さらに/あるいは、上述のあらゆる実施形態は、以下の状況に適用できることが理解されよう。
・ 第2のアルゴリズムにより、2つの連続した再構成ベースピクチャの出力順で前または後に、第3のベースピクチャを外挿する。
・ 第2のアルゴリズムの入力として、3つ以上の再構成ベースピクチャを使用する。
・ 出力順が連続していない再構成ベースピクチャを、第2のアルゴリズムの入力として使用する。
・ 実施形態で第3のベースピクチャと記載される場合に、さらに追加で複数のベースピクチャが実現されてもよい。例えば、第2のアルゴリズムにより、出力順で第1のベースピクチャと第2のベースピクチャとの間に、2つのベースピクチャが生成されてもよい。
上述の実施形態は、様々な利点を有する。ピクチャレートのアップサンプリングの動き補償予測が、多スケーラビリティレイヤおよび(ビットストリームの一部としての)ピクチャレートのアップサンプリングのパラメータのオーバヘッドを確実に解消することで、少なくともHEVCのインター予測よりも優位となるように、改良される。
さらに、既存の形態(例えば、HEVC、SHVC)も直接利用可能である。追加的な部分はインターレイヤ処理として実現されるため、低レベルの符号化または復号処理には変更を加える必要がない。従来、インター予測用の追加の動きモデルや追加のインター予測モードを導入する場合には、低レベルの符号化および復号処理に変更が必要であった。したがって、本発明は、従来の教示と比較して、より素直に既存のコーデック形態に追加できよう。
さらに上述の実施形態は、復号された基本レイヤピクチャをインターレイヤ予測の入力とした、エンコーダまたはデコーダに対する時間スケーラビリティに対するハイブリッドコーデックスケーラビリティを実現可能とする。例えば、基本レイヤはピクチャレート 30Hzで、H.264/AVCにより符号化されてもよく、拡張レイヤはピクチャレート 120HzでSHVCにより符号化されてもよい。基本レイヤの復号されたピクチャは、ピクチャレートのアップサンプリングの入力に使用され、得られたピクチャはSHVC符号化/復号用の外部基本レイヤピクチャに使用される。
さらに、本発明に係るビットストリームは、既存のコーデックに対応する。言い換えると、ビットストリームのサブセットが、向上したピクチャレートに関連する符号化データを省略することも可能な、既存のデコーダ(例えば、HEVC)で復号できることが示される。
上述のように、本明細書に記載の実施形態は、符号化および復号動作のいずれにも等しく適用可能である。図16は、本発明の各実施形態の利用に適したビデオデコーダのブロック図を示す。図16は、2レイヤのデコーダ構造を示すが、説明される復号動作は単一レイヤのデコーダにも同様に適用できることが理解されよう。
ビデオデコーダ550は、ベースビュー成分用の第1のデコーダ部552と、非ベースビュー成分用の第2のデコーダ部554とを有する。ブロック556は、ベースビュー成分に関する情報を第1のデコーダ部552に伝達し、非ベースビュー成分に関する情報を第2のデコーダ部554に伝達するデマルチプレクサを示す。参照符号P'nは、画像ブロックの予測された表現を示す。参照符号D'nは、再構成予測誤差信号を示す。ブロック704、804は、予備再構成画像(I'n)を示す。参照符号R'nは、最終再構成画像を示す。ブロック703、803は、逆変換(T−1)を示す。ブロック702、802、は逆量子化を示す(Q−1)を示す。ブロック701、801、はエントロピー復号(E−1)を示す。ブロック705、805は、参照フレームメモリ(RFM)を示す。ブロック706、806は、予測(P)(インター予測またはイントラ予測)を示す。ブロック707、807は、フィルタリング(F)を示す。ブロック708、808は、復号予測誤差情報と予測されたベースビュー/非ベースビュー成分を組み合わせて予備再構成画像(I'n)を得るために使用されるものであってもよい。予備再構成およびフィルタリング済みベースビュー画像は、第1のデコーダ部552から出力709されてもよく、予備再構成およびフィルタリング済みベースビュー画像は第1のデコーダ部554から出力809されてもよい。
ここで、デコーダは復号動作を実行可能な任意の動作単位を網羅するものと解されるべきであり、その例として、プレーヤ、受信機、ゲートウェイ、デマルチプレクサおよび/またはデコーダが挙げられる。
図17は、各種実施形態が実現可能な例示的マルチメディア通信システムを示す図である。データソース1700は、ソース信号を提供する。当該信号は、アナログフォーマット、非圧縮デジタルフォーマット、圧縮デジタルフォーマット、あるいはこれらの組合せであってもよい。エンコーダ1710は、データフォーマット変換やソース信号フィルタリングのような前処理を含んでもよく、または当該処理に接続されていてもよい。エンコーダ1710はソース信号を符号化して符号化メディアビットストリームを得る。復号されるビットストリームは、実質的に任意の種類のネットワークに存在しうるリモート装置から直接的または間接的に受信されてもよい。ビットストリームは、ローカルハードウェアまたはソフトウェアから受信されてもよい。エンコーダ1710は、1以上の媒体の種類(音声、動画等)を符号化可能であってもよい。あるいは、2以上のエンコーダ1710に、異なる媒体の種類のソース信号を符号化することが求められてもよい。エンコーダ1710はさらに、グラフィックやテキスト等、合成して生成された入力を取得してもよく、あるいは合成メディアの符号化ビットストリームを生成可能であってもよい。以下では、簡潔に説明するため、1種類のみの媒体の1つの符号化メディアビットストリームに対する処理を検討する。ただし、通常ではリアルタイムブロードキャストサービスは複数のストリームを含む(通常、少なくとも1つの音声、動画、テキスト字幕付きストリーム)。さらに、システムが多数のエンコーダを含みうるが、一般性を損なわない範囲で簡潔に説明するために単一のエンコーダ1710のみが図示されていることを理解されたい。また本明細書での記載や例示は符号化処理を具体的に表しているが、同じ概念、原理を対応する復号処理に適用したり、その逆の運用をしたりすることがあってもよいことが当業者には理解されよう。
符号化メディアビットストリームは、ストレージ1720に送信されてもよい。ストレージ1720は、符号化メディアビットストリームを格納する任意の種類のマスメモリを含んでもよい。ストレージ1720における符号化メディアビットストリームのフォーマットは、基本自立型ビットストリームフォーマット(elementary self-contained bitstream format)であってもよく、1つ以上の符号化メディアビットストリームが1つのコンテナファイルにカプセル化されてもよい。1つ以上のメディアビットストリームが1つのコンテナファイルにカプセル化される場合、ファイル作成機(図示せず)を使用して1以上のメディアビットストリームをファイルに保存し、ファイルフォーマットメタデータを生成してもよい。このデータもファイルに保存してもよい。エンコーダ1710またはストレージ1720がファイル作成機を有してもよく、あるいはファイル作成機がエンコーダ1710またはストレージ1720に対して動作可能に取り付けられてもよい。システムによっては「ライブ」で動作するものもある。すなわち、ストレージを省き、エンコーダ1710からの符号化メディアビットストリームを直接、送信機1730に伝送する。符号化メディアビットストリームはその後、必要に応じて、サーバとも呼ばれる送信機1730に送られてもよい。伝送に利用されるフォーマットは、基本自立型ビットストリームフォーマット、パケットストリームフォーマット、または1つ以上の符号化メディアビットストリームをコンテナファイルにカプセル化したものであってもよい。エンコーダ1710、ストレージ1720、送信機1730は同一の物理的デバイスに設けられても、別々のデバイスに設けられてもよい。エンコーダ1710および送信機1730は、ライブのリアルタイムコンテンツを扱ってもよい。その場合、符号化メディアビットストリームは通常、永久に記憶されることはなく、コンテンツエンコーダ1710および/または送信機1730に短期間保存され、処理遅延、送信遅延、符号化媒体ビットレートの変動の平滑化が図られる。
送信機1730は、通信プロトコルスタックを用いて符号化メディアビットストリームを送信する。このスタックにはリアルタイムトランスポートプロトコル(RTP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスファープロトコル(HTTP)、トランスミッションコントロールプロトコル(TCP)、およびインターネットプロトコル(IP)の1つまたは複数を含んでもよいが、これらに限定されるものではない。送信機は、パケット化装置(図示せず)を備えてもよく、または動作可能であるように当該装置に取り付けられてもよい。通信プロトコルスタックがパケット指向の場合、送信機1730またはパケット化装置は、符号化メディアビットストリームをパケットへとカプセル化する。例えば、RTPが用いられる場合、送信機1730またはパケット化装置は、RTPペイロードフォーマットに従って符号化メディアビットストリームをRTPパケットへとカプセル化する。各媒体の種類は、通常、専用のRTPペイロードフォーマットを有する。システムには2つ以上の送信機1730が含まれうるが、説明を単純にするため、以下の説明では1つの送信機1730のみを示す。同様に、システムに2つ以上のパケット化装置を含んでもよい。
ストレージ1720または送信機1730へのデータ入力のためにメディアコンテンツがコンテナファイルにカプセル化される場合、送信機1730は、「送信ファイルパーサ」(図示せず)を備えてもよく、または動作可能であるように当該装置に取り付けられてもよい。特に、コンテナファイルがそのように伝送されず、含められた符号化メディアビットストリームの少なくとも1つが通信プロトコルを介して伝送用にカプセル化される場合、送信ファイルパーサは、符号化メディアビットストリームの通信プロトコルを介して運ばれるのに適した部分を配置する。送信ファイルパーサは、パケットヘッダやペイロード等、通信プロトコル用の正しいフォーマットの作成を支援してもよい。マルチメディアコンテナファイルには、通信プロトコルで含められたメディアビットストリームの少なくとも1つをカプセル化するために、ISOベースメディアファイルフォーマットのヒントトラックのようなカプセル化指示が含まれてもよい。
送信機1730は、通信ネットワークを通じてゲートウェイ1740に接続されてもよく、そうでなくてもよい。これに加えて、またはこれに代えて、ゲートウェイはミドルボックスと呼ばれてもよい。システムは一般的に任意の数のゲートウェイや同様の装置を含んでもよいが、説明を単純にするため、以下の説明では1つのゲートウェイ1740のみを示す。ゲートウェイ1740は、各種機能を実行してもよい。こうした機能には、ある通信プロトコルスタックに従うパケットストリームを別の通信プロトコルスタックに従うものに変換することや、データストリームのマージおよびフォーク、ダウンリンクおよび/または受信機の容量に応じたデータストリームの操作等がある。データストリームの操作とは、例えば現在のダウンリンクネットワーク条件に応じた転送ストリームのビットレートの制御等である。ゲートウェイ1740の例としては、マルチポイント会議制御単位(Multipoint Conference Control Unit:MCU)、テレビ電話の回路交換・パケット交換間ゲートウェイ、PoC(Push-to-talk over Cellular)サーバ、DVB−H(Digital Video Broadcasting-Handheld)システムでのIPエンキャプスレータ、ブロードキャスト伝送をローカルで家庭の無線ネットワークに転送するセットトップボックスやその他の装置が挙げられる。ゲートウェイ1740は、RTPが用いられる場合はRTP混合器またはRTP変換器とも呼ばれ、RTP接続の終点として動作してもよい。ゲートウェイ1740に代えて、または加えて、システムにはビデオシーケンスまたはビットストリームを連結させるスプライサが含まれてもよい。
システムは1つ以上の受信機1750を備える。受信機1750は通常、送信信号を受信して復調し、符号化メディアビットストリームにデカプセル化(de-capsulating)することができる。受信機1750は、デパケット化装置を備えてもよく、または動作可能であるように当該装置に取り付けられてもよい。デパケット化装置は、使用中の通信プロトコルのパケットペイロードから、メディアデータをデカプセル化する。符号化メディアビットストリームは、記憶ストレージ1760に送られてもよい。記憶ストレージ1760は、符号化メディアビットストリームを格納する任意の種類の大容量メモリを備えてもよい。これに代えて、またはこれに加えて、記憶ストレージ1760は、ランダムアクセスメモリ等の計算メモリを備えてもよい。記憶ストレージ1760における符号化メディアビットストリームのフォーマットは、基本自立型ビットストリームフォーマットであってもよく、1つ以上の符号化メディアビットストリームが1つのコンテナファイルにカプセル化されてもよい。音声ストリームと動画ストリームといった複数の符号化メディアビットストリームが互いに関連し合って存在する場合、通常コンテナファイルが使用され、受信機1750は、入力ストリームからコンテナファイルを生成するコンテナファイル生成器を備えるか、それに取り付けられる。システムによっては「ライブ」で動作するものもある。すなわち、記憶ストレージ1760を省き、受信機1750からの符号化メディアビットストリームを直接デコーダ1770に伝送する。システムによっては、記録済みストリームの直近10分間の抜粋のような記録済みストリームの最新部分が記憶ストレージ1760に保持され、それ以前に記録されたデータが記憶ストレージ1760から削除される。
符号化メディアビットストリームは、記憶ストレージ1760からデコーダ1770に送られてもよい。音声ストリームと動画ストリームといった多数の符号化メディアビットストリームが関連し合って存在し、コンテナファイルにカプセル化される場合、または1つのメディアビットストリームがコンテナファイルにカプセル化される場合(例えばアクセスを容易にするため)、このコンテナファイルから各符号化メディアビットストリームをデカプセル化するためにファイルパーサ(図示せず)が使用される。記憶ストレージ1760またはデコーダ1770はファイルパーサを備えてもよく、または記憶ストレージ1760かデコーダ1770のいずれかにファイルパーサが取り付けられていてもよい。システムは多数のデコーダを備えてもよいが、普遍性を欠くことなく説明を単純にするために、本明細書では1つのデコーダ1770のみを示す。
符号化メディアビットストリームはデコーダ1770によってさらに処理され、このデコーダの出力が1つ以上の非圧縮メディアストリームでもよい。最後に、レンダラ1780は、非圧縮メディアストリームを例えばラウドスピーカやディスプレイに再生してもよい。受信機1750、記憶ストレージ1760、デコーダ1770、およびレンダラ1780は、同一の物理的デバイスに設けられても、別々のデバイスに設けられてもよい。
上述の例示的実施形態がエンコーダを参照して説明されている点に関し、結果として得られるビットストリームとデコーダも対応する要素を備えうることも理解されるべきである。同様に、例示的実施形態がデコーダを参照して説明されている点に関し、デコーダによって復号されるビットストリームを生成する構造および/またはコンピュータプログラムをエンコーダが備えうることも理解されるべきである。
前述された本発明の実施形態では、装置が関与する処理に対する理解を促すため、別々のエンコーダ装置とデコーダ装置に関するコーデックを説明しているが、こうした装置やその構造、動作が単一のエンコーダ・デコーダ装置/構造/動作として実装されうることも理解されよう。さらに、コーダとデコーダが共通要素の一部または全部を共有してもよい。
前述の例では、電子デバイス内のコーデックにおいて動作する本発明の実施形態について説明しているが、請求項に定義している発明は、任意のビデオコーデックの一部として実装されうることを理解されたい。したがって、例えば、本発明の実施形態は、固定または有線通信経路を介してビデオの符号化を実施しうるビデオコーデックに実装されてもよい。
ユーザ端末が本発明の上述の各実施形態に記載されたようなビデオコーデックを備えてもよい。「ユーザ端末」という用語には、携帯電話、携帯型データ処理装置、または携帯型Webブラウザ等の任意の好適な種類の無線ユーザ端末を含むことが意図されている。
地上波公共移動通信ネットワーク(Public Land Mobile Network:PLMN)が、追加の要素として上述のビデオコーデックを含んでもよい。
本発明の種々の実施形態は、概して、ハードウェア、特定用途向け回路、ソフトウェア、論理回路、またはそれらの任意の組合せで実装されてもよい。例えば、一部の態様がハードウェアで実装され、他の態様がコントローラ、マイクロプロセッサ、またはその他のコンピュータデバイスによって実行されうるファームウェアやソフトウェアで実装されてもよいが、本発明はこれに限定されない。本発明の種々の態様はブロック図、フローチャート、または他の図的表現によって図示および説明されるが、本明細書に記載するこれらのブロック、装置、システム、技術、または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、特定用途向け回路や論理回路、汎用のハードウェア、コントローラ、その他のコンピュータデバイス、またはそれらの組合せとして実装されてもよいと理解されるべきである。
本発明の実施形態は、プロセッサエンティティ内等に設けられる携帯装置のデータプロセッサによって実行可能な、あるいはハードウェア、またはソフトウェアおよびハードウェアの組合せによって実行可能な、コンピュータソフトウェアによって実装されてもよい。この点について、図中の論理フローのいずれのブロックも、プログラムのステップ、または相互接続された論理回路、ブロック、機能、またはプログラムステップ、論理回路、ブロック、および機能の組合せを表していてもよいことが理解されよう。上記ソフトウェアは、メモリチップ、プロセッサ内に実装されたメモリブロック、ハードディスクやフロッピーディスク等の磁気媒体、例えばDVDやそのデータ変種、CD等の光学媒体等の物理的媒体に格納されてもよい。
前記メモリはローカルの技術環境に適した任意の種類のものであってもよく、半導体ベースのメモリデバイス、磁気メモリデバイスおよびシステム、光学メモリデバイスおよびシステム、固定メモリおよび着脱式メモリ等の任意の好適なデータ格納技術を用いて実装されてもよい。前記データプロセッサはローカルの技術環境に適した任意の種類のものであってもよく、この例として1つ以上の汎用コンピュータ、専用コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ(Digital Signal Processor:DSP)、およびマルチコアプロセッサアーキテクチャによるプロセッサが挙げられるが、これらに限定されるものではない。
本発明の実施形態は、集積回路モジュールのような、様々な要素で実施することもできる。集積回路の設計は、概して高度に自動化されたプロセスである。論理レベルの設計を、半導体基板上にエッチングおよび形成するための半導体回路設計に変換する複雑で強力なソフトウェアツールが利用可能である。
カリフォルニア州マウンテンビューのSynopsys,Inc.や、カリフォルニア州サンノゼのCadence Designのような業者が提供するプログラムは、定評のある設計ルールと実績のある設計モジュールのライブラリに基づいて、半導体チップ上に導電経路や要素を自動的に配する。半導体回路の設計が完了すると、その設計は、OpusやGDSII等の標準的な電子フォーマットで半導体製造設備、いわゆるfabに送られて製造されてもよい。
前述の説明は、非限定的な例によって、本発明の例示的な実施形態を十分かつ詳細に記述している。しかし、こうした前述の説明を、添付する図面および特許請求の範囲と併せて考慮すれば、種々の変更および適応が可能であることは、本願に関連する技術分野の当業者には明らかであろう。さらに、本発明が教示するこうした事項のすべておよび同様の変形は、そのすべてが請求項の範囲内にある。