下記において、発明のいくつかの実施形態を、1つのビデオ・コーディング装置と関連して記述される。しかし、発明はこの特定の装置に制限されないということに留意されたい。実際、異なる実施形態が、参照ピクチャの取り扱いに改良が要求されるいかなる環境においても広く適用されている。例えば、本願発明は、ストリーミングシステム、DVDプレーヤ、デジタルテレビ受信器、パーソナル・ビデオ・レコーダ、パーソナルコンピュータ上のシステムおよびコンピュータ・プログラム、ハンドヘルドコンピュータ、および通信装置のようなビデオ・コーディング・システム、並びに、トランスコーダおよびビデオデータが取り扱われるクラウド・コンピューティング装置のようなネットワーク要素に適用できる。
下記において、いくつかの実施形態を、コーディング、デコーディングと参照する取り決めを使用して、記載する。これは、実施形態を、デコーディングやエンコーディングに適用することができることを示す。
H.264/AVC標準は、国際電気通信連合の電気通信標準化部門(ITU−T)のビデオ・コーディング専門家グループ(VCEG)のジョイントビデオチーム(JVT)と、国際電気技術委員会(IEC)の国際標準化メカニズム(ISO)の動画像専門家グループ(MPEG)により開発された。H.264/AVC標準は、母体となる標準化メカニズムの両者により公表され、ITU−T勧告H.264およびMPEG−4Part10高度動画像圧縮コーディング標準(AVC)としても知られているISO/IEC国際標準14496−10と言われている。H.264/AVC標準には複数のバージョンがあり、それぞれは、新しい拡張または特徴を仕様に統合している。これらの拡張には、スケーラブル・ビデオ・コーディング(SVC)およびマルチビューコーディング(MVC)が含まれる。
Joint Collaborative TeamによるHigh Efficiency Video Coding(HEVC)の現在進行中の標準化プロジェクト、つまり、VCEGおよびMPEGのVideo Coding(JCT−VC)がある。
H.264/AVCおよびHEVCを記載するときには、例示的実施形態と同様に、例えば、H.264/AVCまたはHEVC草案において指定されているような算術演算子、論理演算子、関係演算子、二値演算子、代入演算子、および範囲表記のための共通の表記が使用できる。更に、例えば、H.264/AVCまたはHEVC草案において指定されているような共通の数学的関数を使用でき、例えば、H.264/AVCまたはHEVC草案において指定されているような演算子の優先権および実行順(左から右、または右から左)の共通の順を使用できる。
例としての実施形態においては、下記のディスクリプタが、各シンタックス要素の構文解析プロセスを指定するために使用できる。
− b(8):任意のパターンのビット列を有するバイト(8ビット)
− se(v):左ビットを最初とする符号付き整数型指数ゴロム符号化シンタックス要素
− u(n):nビットを使用する符号なしの整数。シンタックス・テーブルでnが「v」のときは、ビット数は、他のシンタックス要素の値に依存して変化する。このディスクリプタに対する構文解析プロセスは、最初に書かれた最上位ビットを有する符号なし整数の2進表現として解釈されたビットストリームから、n個の次のビットにより指定される。
− ue(v):左ビットを最初とする符号なし整数型指数ゴロム符号化シンタックス要素。
指数ゴロムビット列は、例えば、下記のテーブルを使用してコード番号(codeNum)に変換できる。
指数ゴロムビット列に対応するコード番号は、例えば、下記のテーブルを使用してse(v)に変換できる。
H.264/AVCおよびHEVCを記載するときには、例示的実施形態と同様に、シンタックス構造、シンタックス要素のセマンティックス、および、復号化プロセスは次のように指定できる。ビットストリームにおけるシンタックス要素はボールド・タイプで表現される。各シンタックス要素は、その名前(すべて下線文字の付いた小文字)で記述され、オプションとしては、1つまたは2つのシンタックス・カテゴリ、および、符号化表現の方法に対する1つまたは2つのディスクリプタで記述される。復号化プロセスの動作は、シンタックス要素の値、および以前に復号化されたシンタックス要素の値に従う。シンタックス要素の値がシンタックス・テーブルまたはテキストで使用されるときは、それは正規の(つまり、ボールドでない)タイプで現れる。いくつかの場合においては、シンタックス・テーブルはシンタックス要素値から導出された他の変数の値を使用できる。そのような変数は、シンタックス・テーブルまたはテキストに、下線文字なしで、小文字と大文字が混合した名前を付けられて現れる。大文字で始まる変数は、現在シンタックス構造およびすべての依存シンタックス構造の復号化のために導出される。大文字で始まる変数は、変数の発生源のシンタックス構造に言及することなく、後続のシンタックス構造のための復号化プロセスにおいて使用できる。小文字で始まる変数は、それらが導出されたコンテキスト内でのみ使用される。いくつかの場合においては、シンタックス要素値または変数値に対する「記憶のための(mnemonic)」名前が、それらの数値と交換可能に使用される。「記憶のための」名前は、関連付けられた数値なしで使用されることもときどきある。値と名前の関連付けは、テキストにおいて指定される。名前は、下線文字により分離された1つ以上の文字のグループから構成される。各グループは、大文字から始まり、より多くの大文字を含むことができる。
H.264/AVCおよびHEVCを記載するときには、例示的実施形態と同様に、シンタックス構造は下記を使用して指定できる。中括弧で囲まれたステートメントのグループは、複合ステートメントであり、機能的には単一のステートメントとして取り扱われる。「while」構造は、条件が真であるかどうかのテストを示し、真の場合は、ステートメント(または複合ステートメント)の評価を、条件がもはや真でなくなるまで繰り返し指定する。「do...while」構造は、いったんステートメントの評価を指定し、それに続いて、条件が真であるかどうかのテストを指定し、真の場合は、条件がもはや真でなくなるまでのステートメントの繰り返し評価を指定する。「if...else」構造は、条件が真であるかどうかのテストを指定し、条件が真の場合は、最初のステートメントの評価を指定し、それ以外の場合は、代替ステートメントの評価を指定する。この構造の「else」部分と、関連代替ステートメントは、代替ステートメントの評価が必要でない場合は省略される。「for」構造は、初期ステートメントの評価を指定し、それに続いて、条件のテストを指定し、条件が真の場合は、最初のステートメントと、後続するステートメントの繰り返し評価を、条件がもはや真でなくなるまで指定する。
H.264/AVCとHEVCのいくつかの重要な定義、ビットストリームとコーディング構造、およびコンセプトが、ビデオ・エンコーダ、デコーダ、符号化方法、復号化方法、およびビットストリーム構造の例としてこの節では記述され、実施形態を実現できる。H.264/AVCのいくつかの重要な定義、ビットストリームとコーディング構造、およびコンセプトは、HEVC標準草案と同じであるため、この両者は以下にまとめて記述される。本願発明の態様はH.264/AVCまたはHEVCに制限されず、記述は1つの可能な基盤に対して行われ、その基盤に基づいて、本願発明を部分的または全体を実現できる。
多くの以前のビデオ・コーディング標準に類似して、エラーフリービットストリームに対する復号化プロセスと共に、ビットストリーム・シンタックスとセマンティックスが、H.264/AVCおよびHEVCにおいて指定されている。符号化プロセスは指定されていないが、エンコーダは、規格に準拠しているビットストリームを生成しなければならない。ビットストリームとデコーダが、規格に準拠しているかは、仮想参照デコーダ(HRD)により検証可能である。この標準は、送信エラーと紛失に対処することを支援するコーディングツールを含んでいるが、符号化におけるツールの使用はオプションであり、復号化プロセスはエラーのあるビットストリームに対しては指定されていない。
H.264/AVCまたはHEVCエンコーダへの入力と、H.264/AVCまたはHEVCデコーダの出力それぞれのための要素ユニットは、ピクチャである。H.264/AVCおよびHEVCにおいては、ピクチャはフレームまたはフィールドである。フレームは、ルマ・サンプルと、対応するクロマ・サンプルとのマトリックスを備えている。フィールドは、フレームの交互のサンプル行のセットであり、ソース信号がインタレースされているときに、エンコーダ入力として使用できる。クロマ・ピクチャは、ルマ・ピクチャと比較されるときに、サブサンプリングできる。例えば、4:2:0サンプリングパターンにおいては、クロマ・ピクチャの空間解像度は、両方の座標軸に沿ってルマ・ピクチャの半分である。
パーティション分割は、そのセットの各要素が、そのサブセットのちょうど1つにあるように、セットのサブセットへの分割と定義することができる。ピクチャ分割は、ピクチャの、より小さなオーバラップしないユニットへの分割として定義することができる。ブロック分割は、サブブロックなど、ブロックの、より小さなオーバラップしないユニットへの分割として定義することができる。いくつかの場合においては、ブロック分割という用語は、たとえば、スライスへのピクチャの分割、および、各々のスライスの、H.264/AVCのマクロ・ブロックなど、より小さなユニットへの分割、などの分割の複数のレベルをカバーすると考えることができる。ピクチャなどの同じユニットは、複数の分割をすることができることに留意する。例えば、HEVC標準草案のコーディング・ユニットは、予測ユニットに、そして、別の4分木によって、別々に変換ユニットに分割することができる。
H.264/AVCにおいて、マクロ・ブロックはルマ・サンプルの16×16ブロックと、クロマ・サンプルの対応ブロックである。例えば、4:2:0サンプリングパターンにおいては、マクロ・ブロックは、各クロマ構成要素当たり、クロマ・サンプルの1つの8×8ブロックを含んでいる。H.264/AVCにおいては、ピクチャは1つ以上のスライス・グループにパーティション分割(種類ごとに分割すること)され、スライス・グループは1つ以上のスライスを含んでいる。H.264/AVCにおいては、スライスは、特定のスライス・グループ内のラスタ・スキャンにおいて連続して順序付けられている整数個のマクロ・ブロックから構成されている。
HEVC標準化の過程の間に、例えば、ピクチャパーティション分割ユニットについての用語が発展した。次の段落では、HEVC用語の非制限的ないくつかの例が提供される。
HEVC標準の1つの草案版においては、ビデオピクチャは、ピクチャの領域をカバーするコーディング・ユニット(CU)に分割される。CUは、CU内のサンプルに対する予測プロセスを定義する1つ以上の予測ユニット(PU)と、CUにおけるサンプルに対する予測エラーコーディングプロセスを定義する1つ以上の変換ユニット(TU)から構成されている。典型的には、CUは、可能なCUサイズの予め定義されたセットから選択可能なサイズのサンプルの正方形ブロックから構成されている。最大可能サイズのCUは、典型的にはLCU(最大コーディング・ユニット)と言われ、ビデオピクチャは、重なりのないLCUに分割される。LCUは、例えば、LCUと、結果としてのCUを再帰的に分割することにより、より小さなCUの組み合わせに更に分割可能である。各結果としてのCUは、少なくとも1つのPUと、そのPUと結びついている少なくとも1つのTUを有している。各PUとTUは、予測と予測エラー符号化プロセスそれぞれの粒度を高めるために、より小さなPUとTUに更に分割可能である。各PUは、PUと関連付けられ、どの種類の予測がそのPU内の画素に対して適用されるべきかを定義する予測情報を有することができる(例えば、インタ予測されたPUに対する動きベクトル情報、および、イントラ予測されたPUに対するイントラ予測指向性情報)。同様に、各TUは、TU内のサンプルに対する予測エラー復号化プロセスを記述する情報と関連付けることができる。(例えば、DCT係数情報を含んでいる)。CUレベルで、予測エラーコーディングが、各CUに対して適用されるか否かを信号伝達することができる。CUと関連付けられた予測エラー残差がない場合は、CUに対するTUはないと考えることが可能である。いくつかの実施形態において、PUの分割は、CUを4つの等しいサイズの正方形PUに分割するか、またはCUを、2つの長方形のPUに、対称または非対称に、垂直または水平方向に分割することにより、実現することができる。画像のCUへの分割、およびCUのPUとTUへの分割は、ビットストリームにおいて信号伝達され、デコーダがこれらのユニットの意図されている構造を再生することが可能になる。
デコーダは、(エンコーダにより作成され、画像の圧縮表現に格納されている動きまたは空間情報を使用して)画素またはサンプルブロックの予測表現を形成するためにエンコーダにより使用されるものと類似している予測メカニズムおよび、予測エラー復号化(空間ドメインにおける量子化予測エラー信号を回復するための予測エラーコーディングの逆の動作)を適用することにより出力ビデオを再構築する。予測および予測エラー復号化手段を適用した後に、デコーダは、予測と予測エラー信号(画素またはサンプル値)を合成して、出力ビデオフレームを形成する。デコーダ(およびエンコーダ)は、また、ビデオ・シーケンスにおいて後で出現するピクチャのための予測参照としての表示および/または格納のために出力ビデオを渡す前に、出力ビデオの品質を向上するために追加的なフィルタリング手段を適用することもできる。
HEVC標準草案においては、ピクチャはタイルにパーティション分割可能であり、タイルは長方形であり、整数個のLCUを含んでいる。HEVC標準草案においては、タイルへのパーティション分割は、規則的グリッドを形成し、このグリッドにおいては、タイルの高さと幅は最大で1LCU分だけ互いに異なる。HEVC草案においては、スライスは、1つの独立したスライス・セグメントおよび、同じアクセス・ユニットの中における次の独立したスライス・セグメント(もしあれば)に先行する、すべての後続に従属するスライス・セグメント(もしあれば)に含まれる整数個のコーディング・ツリー・ユニットであると定義される。HEVC草案においては、スライス・セグメントは、タイル・スキャンにおいて連続して連続して順序付けられ、単一のNALユニットに含まれる整数個のコーディング・ツリー・ユニットであると定義される。各々のピクチャの、スライス・セグメントへの分割(division)は、分割(partitioning)である。HEVC草案においては、独立スライス・セグメントは、そのスライス・セグメント・ヘッダのシンタックス要素の値が、先行するスライス・セグメントに対する値から推測されないスライス・セグメントであると定義される。そして、従属スライス・セグメントは、そのスライス・セグメント・ヘッダのいくつかのシンタックス要素の値が、復号化する順序において、先行する独立スライス・セグメントに対する値から推測されないスライス・セグメントであると定義される。HEVC草案においては、スライス・ヘッダは、現在のスライス・セグメントである、あるいは、現在の従属スライス・セグメントに先行する独立スライス・セグメントである独立スライス・セグメントのスライス・セグメント・ヘッダであると定義される。そして、スライス・セグメント・ヘッダは、そのスライス・セグメントにおいて表われた第1のまたはすべてのコーディング・ツリー・ユニットに関係するデータ要素を含むコード化されたスライス・セグメントの一部であると定義される。HEVC草案においては、スライスは、整数個のCUから構成されている。CUは、タイル内で、またはタイルが使用されていなときはピクチャ内で、LCUのラスタ・スキャン順でスキャンされる。LCU内においては、CUは特定のスキャン順を有している。
HEVCWD5における基本コーディング・ユニットは、ツリーブロックである。ツリーブロックは、ルマ・サンプルのN×Nブロックと、3つのサンプル・アレイを有しているピクチャのクロマ・サンプルの2つの対応するブロック、または、モノクロ・ピクチャ、または、3枚の別個の色版を使用して符号化されたピクチャのサンプルのN×Nブロックである。ツリーブロックは、異なるコーディングおよび復号化プロセスに対してパーティション分割できる。ツリーブロックのパーティション分割部は、3つのサンプル・アレイを有しているピクチャに対するツリーブロックのパーティション分割に起因するルマ・サンプルのブロックおよび2つの対応するクロマ・サンプルのブロック、または、モノクロ・ピクチャ、または3枚の別個の色版を使用して符号化されたピクチャに対するツリーブロックのパーティション分割に起因するルマ・サンプルのブロックである。各ツリーブロックには、イントラまたはインタ予測および変換コーディングに対するブロックサイズを識別するために、パーティション分割信号伝達がアサインされる。パーティション分割は、再帰的四分木パーティション分割である。四分木のルートはツリーブロックと関連付けられている。四分木は、コーディングノードと言われるリーフに到達するまで分割される。コーディングノードは2つのツリー、つまり、予測ツリーと変換ツリーのルートノードである。予測ツリーは、予測ブロックの場所とサイズを指定する。予測ツリーと、関連付けられている予測データは、予測ユニットと言われる。変換ツリーは、変換ブロックの場所とサイズを指定する。変換ツリーと、関連付けられている変換データは、変換ユニットと言われる。ルマおよびクロマに対する分割情報は、予測ツリーに対しては同一であり、変換ツリーに対しては同一であってもなくてもよい。コーディングノードと、関連付けられている予測および変換ユニットは、一緒に、コーディング・ユニットを形成する。
HEVCーWD5においては、ピクチャはスライスとタイルに分割される。スライスはツリーブロックのシーケンスであってよいが、(いわゆる精細粒度のスライスを参照するときは)変換ユニットと予測ユニットが一致する位置において、ツリーブロック内に自身の境界を有することもできる。スライス内のツリーブロックは、ラスタ・スキャン順で符号化および復号化される。1次符号化ピクチャに対しては、各ピクチャのスライスへの分割はパーティション分割である。
HEVCWD5においては、タイルは、1つの列および1つの行において共起し、タイル内で、ラスタ・スキャンにおいて連続して順序付けられている整数個のツリーブロックと定義される。1次符号化ピクチャに対しては、各ピクチャのタイルへの分割はパーティション分割である。タイルは、ピクチャ内では、ラスタ・スキャンにおいて連続して順序付けられている。スライスは、タイル内では、ラスタ・スキャンにおいて連続しているツリーブロックを含むが、これらのツリーブロックは、ピクチャ内では、ラスタ・スキャンにおいて連続である必要はない。スライスとタイルは、ツリーブロックの同じシーケンスを含む必要はない。タイルは、2つ以上のスライスに含まれているツリーブロックを備えることができる。同様に、スライスは、いくつかのタイルに含まれているツリーブロックを備えることができる。
コーディング・ユニットとコーディング・ツリー・ブロックの間の差異は、例えば、下記のように定義できる。スライスは、タイル内の、またはタイルが使用されないときはピクチャ内のラスタ・スキャン順における1つ以上のコーディング・ツリー・ユニット(CTU)のシーケンスと定義できる。各CTUは、1つのルマ・コーディング・ツリー・ブロック(CTB)と、可能性としては(使用されているクロマ・フォーマットによっては)2つのクロマCTBを備えることがあり得る。CTUは、ルマ・サンプルのコーディング・ツリー・ブロック、3つのサンプル・アレイを有するピクチャのクロマ・サンプルの2つの対応するコーディング・ツリー・ブロック、または、モノクロ・ピクチャあるいは、3つの別々の色平面およびサンプルをコード化するのに用いられるシンタックス構造を用いて符号化されるピクチャのサンプルのコーディング・ツリー・ブロックとして定義することができる、スライスのコーディング・ツリー・ユニットへの分割は、分割と考えることができる。CTBは、Nのある値に対するサンプルのNxNブロックとして定義することができる。3つのサンプル・アレイを有するピクチャを構成するアレイの1つの区分け、または、モノクロ・フォーマットにおけるピクチャあるいはコーディング・ツリー・ブロックへの3つの別々の色平面を用いて符号化されたピクチャを構成するアレイの1つの区分けは、分割と考えることができる。コーディング・ブロックは、Nのある値に対するサンプルのNxNブロックとして定義することができる。コーディング・ツリー・ブロックのコーディング・ブロックへの区分けは、分割と考えることができる。
図8は、四角の符号化ユニット(実線)に分割された2つのタイルからなるピクチャの例を示す。これは、長方形の予測ユニット(破線)に、さらに分割されている。
H.264/AVCおよびHEVCにおいては、ピクチャ内予測は、スライス境界をわたっては機能しないようにできる。このため、スライスは、符号化ピクチャを独立して復号化可能な部分に分割する方法と見なすことが可能であり、したがって、スライスは、変換のための要素ユニットを見なされることがよくある。多くの場合、エンコーダは、スライス境界をわたってどのタイプのピクチャ内予測が機能停止にされたかをビットストリームにおいて示すことができ、デコーダの動作は、例えば、どの予測ソースが利用可能であるかを結論するときに、この情報を考慮する。例えば、隣接するマクロ・ブロックまたはCUからのサンプルは、隣接するマイクロブロックまたはCUが異なるスライスに存在している場合は、イントラ予測に対しては利用できないと見なすことができる。
シンタックス要素は、ビットストリームにおいて表現されるデータの要素として定義できる。シンタックス構造は、指定された順序でビットストリームに共に存在しているゼロ個以上のシンタックス要素として定義できる。
H.264/AVCまたはHEVCエンコーダの出力、およびH.264/AVCまたはHEVCデコーダの入力それぞれに対する要素ユニットは、ネットワーク抽象化層(NAL)ユニットである。パケット指向のネットワーク上の移送、または構造化ファイルへの格納に対しては、NALユニットは、パケットまたは類似の構造にカプセル化できる。バイトストリーム・フォーマットは、フレーミング構造を提供しない送信または格納環境に対して、H.264/AVCおよびHEVCにおいて指定されている。バイトストリーム・フォーマットは、各NALユニットの前部に開始コードを貼り付けることにより、NALユニットを互いに分離する。NALユニット境界の偽検出を回避するために、エンコーダは、バイト指向開始コード・エミュレーション防止アルゴリズムを起動し、このアルゴリズムは、開始コードが別に出現していた場合は、NALユニット・ペイロードにエミュレーション防止バイトを追加する。例えば、パケットおよびストリーム指向システム間の単純なゲートウェイ動作を可能にするために、開始コード・エミュレーション防止を、バイトストリーム・フォーマットが使用されている、いないに拘わらず、常に行うことができる。NALユニットは、後に続くデータのタイプを示す表示と、エミュレーション防止バイトと共に、必要なものとして散在しているロー・バイト・シーケンス・ペイロード(RBSP)の形のそのデータを含むバイトを含んでいるシンタックス構造として定義できる。ロー・バイト・シーケンス・ペイロード(RBSP)は、NALユニットにおいてカプセル化された整数個のバイトを含んでいるシンタックス構造として定義できる。RBSPは空であるか、または、RBSP停止ビットが続き、ゼロ個以上の0に等しい後続ビットが続くシンタックス要素を含むデータ・ビット列の形を有している。
NALユニットは、ヘッダおよびペイロードから構成されている。H.264/AVCおよびHEVCにおいては、NALユニット・ヘッダは、NALユニットのタイプと、NALユニットに含まれている符号化スライスが、参照ピクチャまたは非参照ピクチャの一部であるかどうかを示している。
H.264/AVCNALユニット・ヘッダは、2ビットのnal_ref_idcシンタックス要素を含み、これは、0に等しいときは、NALユニットに含まれている符号化スライスは、非参照ピクチャの一部であることを示し、0より大きいときは、NALユニットに含まれている符号化スライスは、参照ピクチャの一部であることを示す。SVCおよびMVCNALユニットに対するヘッダは、スケーラビリティおよびマルチビュー階層に関連する種々の表示を追加的に含むことができる。
HEVC標準草案においては、2バイトのNALユニット・ヘッダが、すべての指定されたNALユニット・タイプに対して使用される。NALユニット・ヘッダの最初のバイトは、1つの予約ビットと、このアクセス・ユニットにおいて保持されているピクチャが、参照ピクチャまたは非参照ピクチャであるかを主に示す1ビット表示のnal_ref_flagと、6ビットのNALユニット・タイプ表示とを含んでいる。NALユニット・ヘッダの第2バイトは、時間レベルに対する3ビットのtemporal_id表示と、HEVC標準草案においては1に等しい値を有することが要求される、5ビットの予約フィールド(reserved_one_5bitsと呼ばれる)を含んでいる。temporal_idシンタックス要素は、NALユニットに対する時間識別子と見なすことができ、TemporalId変数は、temporal_idの値に等しいと定義できる。5ビットの予約フィールドは、将来のスケーラブルおよび3Dビデオ拡張のような拡張により使用されると予想されている。これらの5つのビットは、quality_idまたは類似物、dependency_idまたは類似物、任意の他のタイプの層識別子、ビュー順序インデックスまたは類似物、ビュー識別子、特定の識別子値より大きいすべてのNALユニットが、ビットストリームから取り除かれるならば、有効なサブ・ビットストリーム抽出を示すSVCのpriority_idに類似した識別子など、スケーラビリティ階層に関する情報をもたらすことが予期される。一般性を失うことなく、いくつかの例示的実施形態においては、変数LayerIdは、reserved_one_5bitsの値から、例えば、LayerId=reserved_one_5bits−1のようにして導出される。
より最近のHEVC標準草案においては、2バイトのNALユニット・ヘッダが、すべての指定NALユニット・タイプに対して使用される。NALユニット・ヘッダは、1予約ビット、6ビットのNALユニット・タイプ表示、6ビットの予約フィールド(reserved_zero_6bitsと呼ばれる)、および、時間レベルに対する3ビットのtemporal_id_plus1表示を含んでいる。temporal_id_plus1シンタックス要素は、NALユニットに対する時間識別子と見なすことができ、ゼロベースTemporalId変数は、TemporalId=temporal_id_plus1−1のように導出できる。0に等しいTemporalIdは、最も低い時間レベルに対応している。temporal_id_plus1の値は、2NALユニット・ヘッダ・バイトを含む開始コード・エミュレーションを回避するために、非ゼロであることが要求される。一般性を失うことなく、いくつかの例としての実施形態においては、変数LayerIdは、reserved_zero_6bitsの値から、例えば、LayerId=reserved_zero_6bitsのように導出される。文書JCTVC−K1007など、HEVCのスケーラブル拡張に対するいくつかの設計において、reserved_zero_6bitsは、例えば、nuh_layer_idと呼ばれる層識別子フィールドと置き換えられる。以下において、LayerId、nuh_layer_idおよびlayer_idは、特に明記しない限り、相互交換可能的に使用される。
reserved_one_5bits、reserved_zero_6bits、および/または、NALユニット・ヘッダにおける類似のシンタックス要素は、スケーラビリティ階層についての情報を保持していると予想される。例えば、reserved_one_5bits、reserved_zero_6bits、および/または類似のシンタックス要素から導出されたLayerId値は、quality_idまたはそれに類似のもの、任意の他の層識別子、ビュー順序インデックスまたはそれに類似のもの、ビュー識別子、NALユニットが深度またはテクスチャに関与しているかどうかの表示、つまりdepth_flagまたはそれに類似のもの、または、特定の識別子の値よりも大きなNALユニットのすべてがビットストリームから除去された場合に、有効なサブ・ビットストリームの抽出を示しているSVCのpriority_idに類似した識別子のような、異なるスケーラビリティ次元を記述している変数またはシンタックス要素の値にマップできる。reserved_one_5bits、reserved_zero_6bits、および/または、類似のシンタックス要素は、スケーラビリティ特性を示している1つ以上のシンタックス要素にパーティション分割できる。例えば、reserved_one_5bits、reserved_zero_6bits、および/または、類似のシンタックス要素のうちのある数のビットは、dependency_idまたはそれに類似のものに対して使用でき、一方、reserved_one_5bits、reserved_zero_6bits、および/または類似のシンタックス要素のうちの別のある数のビットは、quality_idまたはそれに類似のものに対して使用できる。代替として、LayerId値またはそれに類似のものの、異なるスケーラビリティ次元を記述している変数またはシンタックス要素の値へのマッピングは、例えば、ビデオ・パラメータ・セット、シーケンス・パラメータ・セット、または他のシンタックス構造において提供できる。
NALユニットは、ビデオ・コーディング層(VCL)NALユニットと、非VCLNALユニットに分類可能である。VCLNALユニットは、典型的には符号化スライスNALユニットである。H.264/AVCにおいては、符号化スライスNALユニットは、それぞれが非圧縮ピクチャにおけるサンプルのブロックに対応している1つ以上の符号化マクロ・ブロックを表現しているシンタックス要素を含んでいる。HEVC標準草案においては、符号化スライスNALユニットは、1つ以上のCUを表現しているシンタックス要素を含んでいる。
H.264/AVCにおいては、コード化スライスNALユニットは、瞬間復号化リフレッシュ(IDR)ピクチャにおけるコード化スライス、または非IDRピクチャにおけるコード化スライスとして示すことが可能である。
HEVC標準草案においては、符号化スライスNALユニットは、下記のタイプの1つとして示すことが可能である。
HEVC標準草案においては、ピクチャ・タイプに対する略語を下記のように定義できる。後置(TRAIL)ピクチャ、時間的サブ・レイヤ・アクセス(TSA)、ステップ状時間的サブ・レイヤ・アクセス(STSA)、ランダム・アクセス復号化可能リーディング(RADL)ピクチャ、ランダム・アクセス・スキップ・リーディング(RASL)ピクチャ、破壊リンク・アクセス(BLA)ピクチャ、瞬間的復号化リフレッシュ(IDR)ピクチャ、クリーン・ランダム・アクセス(CRA)ピクチャ。
ランダム・アクセス・ポイント・ピクチャ(RAP)は、16から23の範囲(16、23を含む)において、各スライスまたはスライス・セグメントが、nal_unit_typeを有するピクチャである。RAPピクチャは、イントラ符号化スライスのみを含み、BLAピクチャ、CRAピクチャまたはIDRピクチャであることができる。ビットストリームにおける第1のピクチャは、RAPピクチャである。必要なパラメータ・セットが利用できるならば、それらをアクティブにする必要があるときは、復号化する順序において、RAPピクチャおよびすべての後続する非RASLピクチャは、復号化する順序において、RAPピクチャに先行するいかなるピクチャの復号化プロセスを実行することなく、正しく復号化することができる。ビットストリームに、RAPピクチャでないイントラ符号化スライスだけを含むピクチャが存在する。
HEVCにおいて、CRAピクチャは、復号化順序において、ビットストリームにおける第1のピクチャであることができる、または、ビットストリームにおけるもっと後に現れることができる。HEVCにおけるCRAピクチャは、CRAピクチャに復号化順において後続するが、しかし、出力順においてそれに先行する、いわゆる、リーディング・ピクチャを許容する。リーディング・ピクチャのいくつか、いわゆるRASLピクチャは、参照として、CRAピクチャの前に復号化されたピクチャを使用することができる。復号化順序と出力順序との両方において、CRAピクチャに続くピクチャは、ランダム・アクセスがCRAピクチャで実行されるならば、復号化可能である。そして、それゆえに、IDRピクチャのクリーン・ランダム・アクセス機能と同様に、クリーン・ランダム・アクセスが、達成される。
CRAピクチャは、RADLまたはRASLピクチャを結びつけることができた。CRAピクチャが、復号化順序において、ビットストリームの第1のピクチャであるとき、CRAピクチャは、復号化順序において、符号化ビデオ・シーケンスの第1のピクチャであり、いかなる結合されたRASLピクチャも、デコーダにより出力されず、ビットストリームに存在しないピクチャへ参照を含むことができるので、復号化可能にできない。
リーディング・ピクチャは、出力順で結合RAPピクチャに先行するピクチャである。結合RAPピクチャは、復号化順序において、前のRAPピクチャである(存在するならば)。リーディング・ピクチャは、RADLピクチャあるはRASLピクチャのいずれかである。
すべてのRASLピクチャは、結合BLAまたはCRAピクチャのリーディング・ピクチャである。結合RAPピクチャが、BLAピクチャであるか、または、ビットストリームの第1の符号化ピクチャであるとき、RASLピクチャは、出力ではなく、RASLピクチャが、ビットストリームに存在しないピクチャへの参照を含むことできるので、正しく復号化可能であることができない。しかしながら、RASLピクチャの結合RAPピクチャの前に、復号化が、RAPピクチャから開始したならば、RASLピクチャは、正しく復号化されることができる。RASLピクチャは、非RASLピクチャの復号化プロセスのための参照ピクチャとして使用されない。存在するとき、復号化順序において、すべてのRASLピクチャは、同じ結合RAPピクチャのすべての後置ピクチャに先行する。HEVC標準のいくつかの初期の草案版においては、RASLピクチャは、TFD(Tagged for Discard)ピクチャと呼ばれていた。
すべてのRADLピクチャは、リーディング・ピクチャである。RADLピクチャは、同一の結合RAPピクチャの後置ピクチャの復号化プロセスのための参照ピクチャとして使用されない。存在するとき、復号化順序において、すべてのRADLピクチャは、同じ結合RAPピクチャのすべての後置ピクチャに先行する。RADLピクチャは、復号化順序において、結合RAPピクチャに先行するいずれのピクチャも参照しない。したがって、復号化が結合RAPピクチャから開始するとき、正しく、復号化することができる。HEVC標準のいくつかの初期の草案版においては、RADLピクチャは、DLP(Decodable Leading Picture)と言われた。
CRAピクチャから開始するビットストリームの一部が別のビットストリームに含まれているときは、CRAピクチャと関連付けられているRASLピクチャは正しく復号化できない。なぜなら、その参照ピクチャのいくつかは結合されたビットストリームには存在しないからである。そのようなスプライシング動作を単純にするために、CRAピクチャのNALユニット・タイプを、それがBLAピクチャであることを示すように変更可能である。BLAピクチャと関連付けられているRASLピクチャは正しく復号することはできず、そのため、出力/表示されるものではない。さらに、BLAピクチャと関連付けられているRASLピクチャは復号化から省略することができる。
BLAピクチャは、復号化順序において、ビットストリームにおける第1のピクチャであることができる、または、ビットストリームにおけるもっと後に現れることができる。各々のBLAピクチャは、新しい符号化ビデオ・シーケンスを開始し、IDRピクチャとして復号化プロセスに同様の効果を有する。しかしながら、BLAピクチャは、空でない参照ピクチャ・セットを特定するシンタックス要素を含む。BLAピクチャが、BLA_W_LPに等しいnal_unit_typeを有するとき、それは、結合RASLピクチャを有することができる。それは、デコーダによる出力ではなく、ビットストリームに存在しないピクチャへ参照を含むことができるので、復号化可能であることができない。BLAピクチャが、BLA_W_LPに等しいnal_unit_typeを有するとき、それは、また、結合RASLピクチャを有することができる。それは、復号化されるように特定されている。BLAピクチャが、BLA_W_DLPに等しいnal_unit_typeを有するとき、それは、結合RASLピクチャを有さないが、結合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のいずれにおいても含まれていないからである。TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12、または、RSV_VCL_N14に等しいnal_unit_typeの符号化ピクチャは、同じTemporalIdの値を有する他のピクチャの復号化可能性に影響を与えることなく廃棄できる。
後置ピクチャは、出力順で結合RAPピクチャに続くピクチャとして定義できる。後置ピクチャであるいかなるピクチャも、RADL_N、RADL_R、RASL_NまたはRASL_Rに等しいnal_unit_typeを持たない。リーディング・ピクチャであるいかなるピクチャも、復号化順序において、同一のRAPピクチャと結合しているすべての後置ピクチャに先行するように制約されることができる。BLA_W_DLPまたはBLA_N_LPと等しいnal_unit_type有する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つのピクチャ・タイプが存在する。NまでのTemporalIdの時間サブ層が、TSAまたはSTSAピクチャまで(ただし、両者は除く)復号化され、TSAまたはTSAピクチャがN+1に等しいTemporalIdを有するようになると、TSAまたはSTSAピクチャは、N+1に等しいTemporalIdを有するすべての(復号化順において)後続するピクチャの復号化を可能にする。TSAピクチャ・タイプは、TSAピクチャ自身と、TSAピクチャに復号化順において後続する同じサブ層におけるすべてのピクチャとに制約を課すことができる。これらのピクチャのいずれも、TSAピクチャに復号化順において先行する同じサブ層におけるいずれのピクチャからのインタ予測を使用することが許容されない。TSAの定義は、TSAピクチャに復号化順において後続する上位のサブ層におけるピクチャに対して制約を更に課すことができる。これらのピクチャのいずれも、TSAピクチャに復号化順において先行するピクチャが、TSAピクチャと同じ、または上位のサブ層に属している場合は、そのピクチャを参照すること許容されない。TSAピクチャは、0より大きいTemporalIdを有している。STSAはTSAピクチャに類似しているが、STSAピクチャに復号化順において後続する上位サブ層におけるピクチャに制約を課さず、そのため、STSAピクチャが存在するサブ層上のみへのアップスイッチングを可能にする。
スケーラブルおよび/またはマルチビュー・ビデオ符号化において、少なくともピクチャを符号化するための以下の原則、および/または、ランダム・アクセス特性を有するアクセス・ユニットが、サポートされ得る。−層間予測/ビュー間予測を用いないイントラ符号化ピクチャ。そのようなピクチャは、それが存在する層/ビューへのランダム・アクセス能力を可能にする。−インタ予測を用いない(すなわち、時間的予測)しかし、許容された層間予測/ビュー間予測を用いたピクチャ。すべての前記参照層/ビューが利用可能とすると、そのようなピクチャは、そのピクチャが存在する層/ビューの復号化を開始することを可能にする。シングル・ループ復号化において、符号化された参照層/ビューが利用可能であれば、十分でありえる(これは、例えば、IDRピクチャが、SVCにおいて、0より大きいdependency_idを有する場合であり得る)。マルチ・ループ復号化において、参照層/ビューが復号化されることが必要でありえる。そのようなピクチャは、たとえば、ステップワイズ層アクセス(STLA)ピクチャ、または、強化層RAPピクチャとして参照されることができる。−アンカー・アクセス・ユニットまたは完全RAPアクセス・ユニットは、すべての層においてイントラ符号化ピクチャおよびSTLAピクチャだけを含むように定義することができる。マルチ・ループ復号化において、そのようなアクセス・ユニットは、すべての層/ビューへのランダム・アクセスを可能にする。そのようなアクセス・ユニットの例は、MVCアンカー・アクセス・ユニットである(そのタイプの中で、IDRアクセス・ユニットは特殊なケースである)。−ステップワイズRAPアクセス・ユニットは、ベース層におけるRAPピクチャを含むように定義されることができるが、すべての強化層においてRAPピクチャを含む必要はない。ステップワイズRAPアクセス・ユニットは、ベース層復号化を開始することを可能にする、一方、強化層復号化は、強化層がRAPピクチャを含むとき、開始することができる。そして、(マルチ・ループ復号化の場合)すべてのその参照層/ビューは、そのポイントにおいて復号化される。
非VCLNALユニットは、例えば、シーケンス・パラメータ・セット、ピクチャ・パラメータ・セット、補足エンハンスメント情報(SEI)NALユニット、アクセス・ユニット・デリミッタ、エンド・オブ・シーケンスNALユニット、エンド・オブ・ストリームNALユニット、または、フィラーデータNALユニットのタイプの1つであってよい。パラメータ・セットは、復号化ピクチャの再構築に必要であり得るが、他の非VCLNALユニットの多くは、復号化サンプル値の再構築には必要でない。
符号化ビデオ・シーケンスにおいて不変のパラメータは、シーケンス・パラメータ・セットに含むことができる。復号化プロセスにより必要とされ得るパラメータに加えて、シーケンス・パラメータ・セットは、オプションとして、ビデオユーザビリティ情報(VUI)を含むことができ、このVUIは、バッファリング、ピクチャ出力タイミング、レンダリング、およびリソース予約のために重要であり得るパラメータを含んでいる。シーケンス・パラメータ・セットを保持するために、H.264/AVCにおいて指定されている3つのNALユニットがある。これは、このシーケンスにおいてH.264/AVC VCL NALユニットに対するすべてのデータを含むシーケンス・パラメータ・セットNALユニット(7に等しいNALユニット・タイプを有している)、補助符号化ピクチャに対するデータを含むシーケンス・パラメータ・セット拡張NALユニット、および、MCVとSVCVCLNALユニットに対するサブセットシーケンス・パラメータ・セットである。H.264/AVCのシーケンス・パラメータ・セットNALユニット(7に等しいNALユニット・タイプを有している)に含まれているシンタックス構造は、シーケンス・パラメータ・セットデータ、seq_parameter_set_data、またはベースSPSデータと言うことができる。例えば、プロファイル、レベル、ピクチャ・サイズ、およびクロマサンプリングフォーマットは、ベースSPSデータに含むことができる。ピクチャ・パラメータ・セットは、いくつかの符号化ピクチャにおいて不変でありそうなパラメータを含んでいる。
HEVC草案においては、また、ここでは、適応パラメータ・セット(APS)として参照されるパラメータ・セットの別のタイプが存在し、このAPSは、いくつかの符号化スライスにおいて、不変でありそうであるが、例えば、各ピクチャまたは各数枚のピクチャに対しては変化し得るパラメータを含んでいる。HEVC草案においては、APSシンタックス構造は、量子化行列(QM)、適応サンプル・オフセット(SAO)、適応ループ・フィルタリング(ALF)、およびデブロッキング・フィルタリングに関連するパラメータまたはシンタックス要素を含んでいる。HEVC草案においては、APSはNALユニットであり、いかなる他のNALユニットからの参照または予測なしで符号化される。aps_idシンタックス要素として参照される識別子は、APSNALユニットに含まれ、特定のAPSを参照するために、スライス・ヘッダに含まれ、使用される。
HEVC標準草案は、また、ビデオ・パラメータ・セット(VPS)と呼ばれるパラメータ・セットの更に別のタイプを含み、このVPSは、例えば、文書JCTVC−H0388(http://phenix.int−evry.fr/jct/doc_end_user/documents/8_San%20Jose/wgll/JCTVC−H0388−v4.zip)において提案された。ビデオ・パラメータ・セットRBSPは、1つ以上のシーケンス・パラメータ・セットRBSPにより参照可能なパラメータを含むことができる。
VPS、SPS、および、PPSの間の関係と階層は、次のように記述できる。VPSは、パラメータ・セット階層において、および、スケーラビリティおよび/または3DVのコンテキストにおいて、SPSの1つ上のレベルに存在している。VPSは、符号化ビデオ・シーケンス全体において、すべての(スケーラビリティまたはビュー)層にわたるすべてのスライスに対して共通なパラメータを含むことができる。SPSは、符号化ビデオ・シーケンス全体において、特定の(スケーラビリティまたはビュー)層におけるすべてのスライスに対して共通なパラメータを含み、複数の(スケーラビリティまたはビュー)層により共有できる。PPSは、特定の層表現(1つのアクセス・ユニットにおける1つのスケーラビリティまたはビュー層の表現)におけるすべてのスライスに共通で、複数の層表現においてすべてのスライスにより共有されそうなパラメータを含んでいる。
VPSは、符号化ビデオ・シーケンス全体において、すべての(スケーラビリティまたはビュー)層にわたるすべてのスライスに適用可能な多くの他の情報と共に、ビットストリームにおける層の依存性関係についての情報を提供できる。HEVCのスケーラブル拡張においては、VPSは、例えば、NALユニット・ヘッダから導出されたLayerId値の、例えば、SVCおよびMVCと同様に定義される層に対するdependency_id、quality_id、view_id、およびdepth_flagに対応する、1つ以上のスケーラビリティ次元値へのマッピングを含むことができる。VPSは、層表現の1つ以上の時間サブ層(あるTemporalId値以下のVCLNALユニットから構成されている)に対するプロファイルおよび/またはレベルと共に、1つ以上の層に対するプロファイルおよびレベル情報を含むことができる。
VPSの部分であることを意図したVPS拡張の例示的シンタックスは、次のように提供される。提示されたVPS拡張は,とりわけ依存関係を提供する。
提示されたVPS拡張のセマンティックスは、次の段落に記載されているように指定することができる。
vps_extension_byte_alignment_reserved_one_bitは、1に等しく、バイト境界合わせを達成するのに用いる。scalability_mask[i]は、第iスケーラビリティ次元に対応するdimension_idシンタックス要素が、下の表に、存在することを示す。0に等しいscalability_mask[i]は、第iスケーラビリティ次元に対応するdimension_idシンタックス要素が、存在しないことを示す。
dimension_id_len_minus1[j]プラス1は、ビットにおいて、dimension_id[i][j]シンタックス要素の長さを指定する。vps_nuh_layer_id_present_flagは、layer_id_in_nuh[i]シンタックスが存在するかどうかを特定する。layer_id_in_nuh[i]は、第i層のVCL NALユニットにおける、nuh_layer_idシンタックス要素の値を指定する。存在しない場合には、layer_id_in_nuh[i]の値は、iに等しいと推測される。変数LayerIdInVps[layer_id_in_nuh[i]]は、iに等しく設定される。dimension_id[i][j]は、第i層の第jスケーラビリティ次元タイプの識別子を特定する。存在しない場合には、dimension_id[i][j]の値は、0に等しいと推測される。dimension_id[i][j]の表現のために使われるビットの数は、dimension_id_len_minus1[j]+ 1ビットである。変数ScalabilityId[layerIdInVps][scalabilityMaskIndex]、DependencyId[layerIdInNuh]、DepthFlag[layerIdInNuh]、および、ViewOrderIdx[layerIdInNuh]は、以下のように導出される。
for (i = 0; i <= vps_max_layers_minus1; i++) {
for( smIdx= 0, j =0; smIdx< 16; smIdx ++ )
if( ( i != 0 ) && scalability_mask[ smIdx ] )
ScalabilityId[ i ][ smIdx ] = dimension_id[ i ][ j++ ]
else
ScalabilityId[ i ][ smIdx ] = 0
DependencyId[ layer_id_in_nuh[ i ] ] = ScalabilityId[ i ][ 0 ]
DepthFlag[ layer_id_in_nuh[ i ] ] = ScalabilityId[ i ][ 1 ]
ViewId[ layer_id_in_nuh[ i ] ] = ScalabilityId[ i ][ 2 ]
}
num_direct_ref_layers[i]は、第i層が直接に参照する層の数を特定する。
H.264/AVCおよびHEVCシンタックスは、パラメータ・セットの多くのインスタンスを許容し、各インスタンスは、固有の識別子により識別される。パラメータ・セットに対して必要なメモリの使用量を制限するために、パラメータ・セット識別子に対する値の範囲が制限されている。H.264/AVCおよびHEVC標準草案においては、各スライス・ヘッダは、スライスを含むピクチャの復号化に対してアクティブなピクチャ・パラメータの識別子を含み、各ピクチャ・パラメータ・セットは、アクティブシーケンス・パラメータ・セットの識別子を含んでいる。HEVC標準においては、スライス・ヘッダはAPS識別子を追加的に含んでいる。したがって、ピクチャとシーケンス・パラメータ・セットの送信は、スライスの送信と正確に同期している必要はない。その代わりに、アクティブ・シーケンスとピクチャ・パラメータ・セットが、それらが参照される前に、いずれかの時点において受信されることで十分であり、これにより、スライス・データに対して使用されるプロトコルと比較して、より信頼性のある送信メカニズムを使用する「アウト・オブ・バンド」でのパラメータ・セットの送信が可能となる。例えば、パラメータ・セットは、リアルタイム・トランスポート・プロトコル(RTP)セッションに対するセッション記述におけるパラメータとして含むことができる。パラメータ・セットがインバンドで送信される場合は、このパラメータ・セットはエラー・ロバストネスを改善するために、繰り返すことが可能である。
パラメータ・セットは、スライスから、または、別のアクティブパラメータ・セットから、または、ある場合には、バッファリング・ピリオドSEIメッセージのような別のシンタックス構造からの参照により起動できる。下記に、HEVC標準草案におけるパラメータ・セットの起動の非制限的な例を挙げる。
各適応パラメータ・セットRBSPは、復号化プロセスの動作の開始時点においてはアクティブではないと考えられる。多くても1つの適応パラメータ・セットRBSPが、復号化プロセスの動作の間のいずれの所与の時点においてアクティブと考えられ、いずれの特定の適応パラメータ・セットRBSPの起動は、それまでアクティブであった適応パラメータ・セットRBSP(もしあれば)の起動が停止する結果となる。
適応パラメータ・セットRBSP(aps_idの特定の値を有している)がアクティブでなく、符号化スライスNALユニットにより(aps_idのその値を使用して)参照されるときに、適応パラメータ・セットRBSPは起動される。この適応パラメータ・セットRBSPは、それが、別の適応パラメータ・セットRBSPの起動により起動を停止されるまではアクティブ適応パラメータ・セットRBSPと呼ばれる。aps_idのその特定の値を有している適応パラメータ・セットRBSPは、その起動に先行する復号化プロセスにおいて利用可能であり、外部手段を通して適応パラメータ・セットが提供されない限り、適応パラメータ・セットNALユニットのtemporal_idに等しい、または、それより小さいtemporal_idを有する、少なくとも1つのアクセス・ユニットに含まれる。
各ピクチャ・パラメータ・セットRBSPは、復号化プロセスの動作の開始時点においては、当初アクティブではないと考えられる。多くても1つのピクチャ・パラメータ・セットRBSPが、復号化プロセスの動作の間のいずれの所与の時点においてアクティブと考えられ、いずれの特定のピクチャ・パラメータ・セットRBSPの起動は、それまでアクティブであったピクチャ・パラメータ・セットRBSP(もしあれば)の起動が停止する結果となる。
ピクチャ・パラメータ・セットRBSP(pic_parameter_set_idの特定の値を有している)がアクティブでなく、符号化スライスNALユニット、または符号化スライス・データ・パーティション分割ANALユニットにより(pic_parameter_set_idのその値を使用して)参照されるときに、ピクチャ・パラメータ・セットRBSPは起動される。このピクチャ・パラメータ・セットRBSPは、それが、別のピクチャ・パラメータ・セットRBSPの起動により起動を停止されるまでは、アクティブ・ピクチャ・パラメータ・セットRBSPと呼ばれる。pic_parameter_set_idのその特定の値を有しているピクチャ・パラメータ・セットRBSPは、その起動に先行する復号化プロセスにおいて利用可能であり、外部手段を通してピクチャ・パラメータ・セットが提供されない限り、ピクチャ・パラメータ・セットNALユニットのtemporal_idに等しい、または、それより小さいtemporal_idを有する少なくとも1つのアクセス・ユニットに含まれる。
各シーケンス・パラメータ・セットRBSPは、復号化プロセスの動作の開始時点においては、当初アクティブではないと考えられる。多くても1つのシーケンス・パラメータ・セットRBSPが、復号化プロセスの動作の間のいずれの所与の時点においてもアクティブと考えられ、いずれの特定のシーケンス・パラメータ・セットRBSPの起動は、それまでアクティブであったシーケンス・パラメータ・セットRBSP(もしあれば)の起動が停止する結果となる。
シーケンス・パラメータ・セットRBSP(seq_parameter_set_idの特定の値を有している)が、まだアクティブではなく、ピクチャ・パラメータ・セットRBSPの起動により(seq_parameter_set_idの値を使用して)参照されるときに、または、バッファリング・ピリオドSEIメッセージを含むSEI NALユニットにより(seq_parameter_set_idの値を使用して)参照されるときに、シーケンス・パラメータ・セットRBSPは起動される。このシーケンス・パラメータ・セットRBSPは、それが、別のシーケンス・パラメータ・セットRBSPの起動により起動を停止されるまではアクティブシーケンス・パラメータ・セットRBSPと呼ばれる。seq_parameter_set_idの特定の値を有しているシーケンス・パラメータ・セットRBSPは、外部手段を通してシーケンス・パラメータ・セットが提供されない限り、0に等しいtemporal_idを有する少なくとも1つのアクセス・ユニットに含まれた状態で、その起動に先行する復号化プロセスにおいて利用可能である。起動されたシーケンス・パラメータ・セットRBSPは、符号化ビデオ・シーケンス全体の間アクティブであり続ける。
各ビデオ・パラメータ・セットRBSPは、復号化プロセスの動作の開始時点においては最初のうちはアクティブではないと考えられる。多くても1つのビデオ・パラメータ・セットRBSPが、復号化プロセスの動作の間のいずれの所与の時点においてアクティブと考えられ、いずれの特定のビデオ・パラメータ・セットRBSPの起動は、それまでアクティブであったビデオ・パラメータ・セットRBSP(もしあれば)の起動が停止する結果となる。
ビデオ・パラメータ・セットRBSP(video_parameter_set_idの特定の値を有している)がまだアクティブではなく、シーケンス・パラメータ・セットRBSPの起動により(video_parameter_set_idの値を使用して)参照されるときに、ビデオ・パラメータ・セットRBSPは起動される。このビデオ・パラメータ・セットRBSPは、それが、別のビデオ・パラメータ・セットRBSPの起動により起動を停止されるまでは、アクティブ・ビデオ・パラメータ・セットRBSPと呼ばれる。video_parameter_set_idの特定の値を有しているビデオ・パラメータ・セットRBSPは、外部手段を通してビデオ・パラメータ・セットが提供されない限り、0に等しいtemporal_idを有する少なくとも1つのアクセス・ユニットに含まれた状態で、その起動に先行する復号化プロセスにおいて利用可能である。起動されたビデオ・パラメータ・セットRBSPは、符号化ビデオ・シーケンス全体の間アクティブであり続ける。
HEVC標準草案における復号化プロセスの動作中は、アクティブ・ビデオ・パラメータ・セット、アクティブ・シーケンス・パラメータ・セット、アクティブ・ピクチャ・パラメータ・セットRBSP、および、アクティブ適応パラメータ・セットRBSPのパラメータの値は、有効であると考えられる。SEIメッセージの解釈に対して、アクティブ・ビデオ・パラメータ・セット、アクティブ・シーケンス・パラメータ・セット、アクティグ・ピクチャ・パラメータ・セットRBSP、および、アクティブ適応パラメータ・セットRBSPの値は、同じアクセス・ユニットにおける符号化ピクチャのVCL NALユニットに対する復号化プロセスの動作に対して、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メッセージの取り扱いに対するプロセスの使用を要求できることが意図されている。
符号化ピクチャは、ピクチャの符号化表現である。H.264/AVCにおける符号化ピクチャは、ピクチャの復号化に対して要求されるVCL NALユニットを備えている。H.264/AVCにおいては、符号化ピクチャは、1次符号化ピクチャ、または、冗長符号化ピクチャであることができる。1次符号化ピクチャは、有効ビットストリームの復号化プロセスにおいて使用され、一方、冗長符号化ピクチャは、1次符号化ピクチャの復号化に成功できなかったときには、復号化のみされるべき冗長表現である。HEVE草案においては、冗長符号化ピクチャは指定されていない。
H.264/AVCおよびHEVCにおいては、アクセス・ユニットは、1次符号化ピクチャおよびそれと関連付けられているNALユニットを備えている。H.264/AVCにおいては、アクセス・ユニット内でのNALユニットの出現順は、下記のように抑制される。オプションであるアクセス・ユニット・デリミッタNALユニットは、アクセス・ユニットの開始を示すことができる。その後に、ゼロ個以上のSEINALユニットが続く。1次符号化ピクチャの符号化スライスが次に出現する。H.264/AVCにおいては、1次符号化ピクチャの符号化スライスには、ゼロ個以上の冗長符号化ピクチャのための符号化スライスが続くことができる。冗長符号化ピクチャは、ピクチャまたはピクチャの一部の符号化表現である。冗長符号化ピクチャは、例えば、送信中の紛失、または、物理的記憶媒体における破壊のために、デコーダにより1次符号化ピクチャが受信されない場合に復号化できる。
H.264/AVCにおいては、アクセス・ユニットはまた、補助符号化ピクチャも含むことができ、補助符号化ピクチャは1次符号化ピクチャを補足するピクチャであり、例えば、表示プロセスにおいて使用できる。補助符号化ピクチャは、例えば、アルファ・チャネル、または、復号化ピクチャにおけるサンプルの透明度レベルを指定するアルファ・プレーンとして使用できる。アルファ・チャネルまたはプレーンは、出力ピクチャが、少なくとも部分的には透明にピクチャを上下に重ねることにより形成される層化構成要素またはレンダリング・システムにおいて使用できる。補助符号化ピクチャは、モノクロ冗長符号化ピクチャと同じシンタックスおよびセマンティックス制約を有している。H.264/AVCにおいては、補助符号化ピクチャは、1次符号化ピクチャと同じ数のマクロ・ブロックを含んでいる。
H.264/AVCにおいては、符号化ビデオ・シーケンスは、IDRアクセス・ユニット(これを含めて)から、次のIDRアクセス・ユニット(ただし、これを除いて)、または、ビットストリームの最後、のうちのいずれか先に出現する方までの、復号化順において連続するアクセス・ユニットのシーケンスと定義される。HEVC標準草案においては、符号化ビデオ・シーケンスは、復号化順に、ビットストリームにおける最初のアクセス・ユニットであるCRAアクセス・ユニット、および、これまでのすべての後続アクセス・ユニットを含むが、いかなる後続IDRまたはBLAアクセス・ユニットをも含まない、ゼロ個以上の非IDRおよび非BLAアクセス・ユニットが続くIDRアクセス・ユニットまたはBLAアクセス・ユニットから構成されるアクセス・ユニットのシーケンスと定義される。
ピクチャのグループ(GOP)とその特性は、下記のように定義できる。GOPは、いかなるピクチャがその前に復号化されたかにも関係なく復号化可能である。オープンGOPとは、初期イントラ・ピクチャに出力順において先行するピクチャが、復号化がオープンGOPの初期イントラ・ピクチャから開始するときは、正しく復号化されない可能性のあるピクチャのグループである。言い換えると、オープンGOPのピクチャは、前のGOPに属しているピクチャであるということができる(インタ予測において)。H.264/AVCデコーダは、H.264/AVCビットストリームにおけるリカバリ・ポイントSEIメッセージからオープンGOPを開始するイントラ・ピクチャを認識可能である。HEVCデコーダは、オープンGOPを開始するイントラ・ピクチャを認識可能であるが、それは、特定のNALユニット・タイプとCRANALユニット・タイプがその符号化スライスに対して使用されているからである。クローズドGOPは、復号化がクローズドGOPの初期イントラ・ピクチャから開始するときに、すべてのピクチャを正しく復号化可能なピクチャのグループである。言い換えると、クローズドGOPにおけるピクチャは、前のGOPにおける、いかなるピクチャをも指さない、H.264/AVCおよびHEVCにおいては、クローズドGOPは、IDRアクセス・ユニットから開始する。HEVCにおいては、クローズドGOPは、また、BLA_W_DLPまたはBLA_N_LPピクチャからも開始できる。結果として、クローズドGOP構造は、オープンGOP構造と比較して、より強いエラー耐性能力を有している。しかしながら、圧縮効率における可能な減少のコストにおいて、である。オープンGOPコーディング構造は、参照ピクチャの選択におけるより高い柔軟性のために、潜在的には圧縮においてより効率的である。
ストラクチャオブピクチャズ(SOP:StructureofPictures)は、復号化順において連続している1つ以上の符号化ピクチャと定義でき、SOPにおいては、復号化順における最初の符号化ピクチャは、最も下位の時間サブ層における参照ピクチャであり、復号化順において潜在的に最初の符号化ピクチャを除く符号化ピクチャは何れもRAPピクチャではない。ピクチャの相対的な復号化順は、ピクチャ内部の数字により示される。前のSOPにおけるいかなるピクチャも、現在SOPにおけるいかなるピクチャよりも復号化順において前であり、次のSOPにおけるいかなるピクチャも、現在SOPにおけるいかなるピクチャよりも復号化順において後である。ピクチャのグループ(GOP)という用語は、ときどきは、SOPという用語と交換可能に使用でき、上記のように、クローズドGOPまたはオープンGOPのセマンティックスではなく、SOPのセマンティックスと同じセマンティックスを有している。
H.264/AVCおよびHEVCのビットストリーム・シンタックスは、特定のピクチャが、別のピクチャの何れかのインタ予測のための参照ピクチャであるかどうかを示している。任意のコーディング・タイプ(I、P、B)のピクチャも、H.264/AVCおよびHEVCにおける参照ピクチャまたは非参照ピクチャであることができる。H.264/AVCにおいては、NALユニット・ヘッダは、NALユニットのタイプと、NALユニットに含まれている符号化スライスが参照ピクチャまたは非参照ピクチャの一部であるかどうかとを示している。
H.264/AVCおよびHEVCを含む多くのハイブリッドビデオ・コーデックは、ビデオ情報を2つのフェーズにおいて符号化する。第1フェーズにおいては、あるピクチャ領域または「ブロック」における、画素またはサンプル値が予測される。これらの画素またはサンプル値は、例えば、符号化されているブロックに緊密に対応する、以前に符号化されたビデオフレームの1つにおける領域を見出して示すことを含む動き補償メカニズムにより予測することができる。追加的に、画素またはサンプル値は、空間領域関係を見出して示すことを含む空間的メカニズムにより予測可能である。
以前に符号化された画像からの画像情報を使用する予測アプローチは、また、インタ予測法とも呼ぶことができ、時間予測および動き補償とも言うことができる。同じ画像内の画像情報を使用する予測アプローチは、イントラ予測法とも呼ぶことができる。
第2フェーズは、画素またはサンプルの予測されたブロックと、画素またはサンプルの元々のブロックとの間のエラーをコーディングすることの1つである。これは、推定された変換を使用して、画素またはサンプル値における差を変換することにより達成できる。この変換は離散コサイン変換(DCT)またはその変形であってよい。差を変換した後に、変換された差は量子化されエントロピ符号化される。
量子化プロセスの忠実度を変えることにより、エンコーダは、画素またはサンプル表現の精度(つまり、ピクチャの視覚的品質)と、結果としての符号化ビデオ表現のサイズ(つまり、ファイルサイズまたは送信ビット・レート)との間のバランスを制御可能である。
デコーダは、(エンコーダにより作成され、画像の圧縮表現に格納されている動きまたは空間情報を使用して)画素またはサンプルブロックの予測表現を形成するためにエンコーダにより使用されるものと類似している予測メカニズムおよび予測エラー復号化(空間ドメインにおける量子化予測エラー信号を回復するための予測エラーコーディングの逆の動作)を適用することにより出力ビデオを再構築する。
画素またはサンプル予測およびエラー復号化プロセスを適用した後に、デコーダは、出力ビデオフレームを形成するために、予測と予測エラー信号(画素またはサンプル値)を結合する。
デコーダ(およびエンコーダ)は、また、ビデオ・シーケンスにおいて後で出現するピクチャのための予測参照としての表示および/または格納のために出力ビデオを渡す前に、出力ビデオの品質を向上するために、追加的なフィルタリングプロセスを適用することもできる。
フィルタ処理は、参照画像からのブロッキング、リンギング等の種々のアーチファクトを減らすのに用いることができる。逆変換残余の追加が続く動き補償の後に、再構築ピクチャが得られる。このピクチャは、ブロッキング、リンギング等の種々のアーチファクトを持ち得る。アーチファクトを除去するために、種々の後処理操作を適用することができる。後処理ピクチャが動き補償ループにおける参照として使用されるならば、後処理操作/フィルタは、通常、ループ・フィルタと呼ばれる。ループ・フィルタを使用することによって、参照ピクチャの品質は、増加する。結果として、より良いコーディング効率を達成することができる。
フィルタ処理は、例えば、デブロッキング・フィルタ、サンプル適用オフセット(SAO)フィルタおよび/または適応ループ・フィルタ(ALF)を含むことができる。
デブロッキング・フィルタは、ループ・フィルタの1つとして使うことができる。デブロッキング・フィルタは、H.264/AVCとHEVC標準で利用できる。デブロッキング・フィルタの目的は、ブロックの境界で起こるブロッキング・アーチファクトを取り除くことである。これは、ブロック境界に沿ったフィルタ処理によって達成することができる。
SAOにおいて、ピクチャは、各々の領域に対して別々のSAO決定がなされる領域に分割される。領域のSAO情報は、SAOパラメータ適合ユニット(SAOユニット)にカプセル化され、HEVCにおいて、SAOパラメータを適応させるための基本的ユニットは、CTUである(したがって、SAO領域は、対応するCTUによってカバーされるブロックである)。
SAOアルゴリズムにおいて、CTUにおけるサンプルは、規則のセットにしたがって分類され、サンプルの各々の分類されたセットは、オフセット値を追加することによって強化される。ビットストリームにおいてオフセット値が信号伝達される。1)バンド・オフセット、2)エッジ・オフセットの2種類のオフセットがある。CTUに対して、無SAO、または、バンド・オフセット、または、エッジ・オフセットのいずれかが使用される。使用すべき無SAO、または、バンド・オフセット、または、エッジ・オフセットの選択は、例えば、レート歪み最適化(RDO)によるエンコーダによって決定し、デコーダに信号伝達することができる。
バンド・オフセットにおいて、サンプルの値の全体範囲は、いくつか実施形態において、32の等幅バンドに分割される。例えば、8ビット・ サンプルに対して、バンド幅は、8(=256/32)である。32バンドのうち、4つが選択され、選ばれたバンドの各々に対して、異なるオフセットが、信号伝達される。選択決定は、エンコーダによってなされ、以下のように、信号伝達される。第1のバンドのインデックスが信号伝達され、そして、次に、以下の4つのバンドが、選ばれたものであると推測される。バンド・オフセットは、スムーズな領域におけるエラーを訂正するのに、有用であることができる。
エッジ・オフセット・タイプにおいて、エッジ・オフセット(EO)タイプは、各々のタイプが1)垂直、2)水平、3)135度斜線、および、4)45度斜線の方向に結びついた4つの可能なタイプ(または、エッジ分類)から選ばれることができる。方向の選択は、エンコーダによって与えられ、デコーダに信号伝達される。各々のタイプは、角度に基づく所与のサンプルに対する2つの隣接サンプルの位置を定義する。次に、CTUの各々のサンプルは、2つの隣接サンプルの値に対するサンプル値の比較に基づいて、5つのカテゴリーのうちの1つに分類される。この5つのカテゴリーは、1.現在のサンプル値は、2つの隣接サンプルより小さい、2.現在のサンプル値は、隣接のものの1つより小さく、隣接の他のものと等しい、3.現在のサンプル値は、隣接のものの1つより大きく、隣接の他のものと等しい、4.現在のサンプル値は、2つの隣接サンプルより大きい、5.上記のいずれでもない、のように記述される。
これらの5つのカテゴリーは、デコーダに信号伝達することを要求されない。なぜなら、この分類は、再構築されたサンプルだけに基づいているからである。これらは、エンコーダとデコーダとの両方で利用可能であり、同一のものであり得る。エッジ・オフセット・タイプCTUの各々のサンプルが、この5つのカテゴリーのうちの1つに分類された後に、最初の4つのカテゴリーの各々に対するオフセット値が、決定され、デコーダに信号伝達される。各々のカテゴリーに対するオフセットが、対応するカテゴリーに結びついたサンプル値に追加される。エッジ・オフセットは、リンギング・アーチファクトを訂正するのに効果的でありえる。
SAOパラメータは、CTUデータにおいて、インタリーブして信号伝達することができる。CTUの上に、スライス・ヘッダは、SAOがスライスにおいて使用されているか否かを指定するシンタックス要素を含む。SAOが使用されているならば、2つの追加のシンタックス要素が、SAOがCbおよびCrコンポーネントに適用されるか否かを指定する。各CTUに対して、1)SAOパラメータを左のCTUからコピーすること、2)SAOパラメータを上のCTUからコピーすること、または、3)新規のSAOパラメータを信号伝達すること、の3つのオプションが存在する。
SAOの特定のインプリメンテーションが、上で記述されたが、上記のインプリメンテーションと同様なSAOの他のインプリメンテーション実現も、また、可能であることを理解すべきである。例えば、CTUデータでインタリーブされたSAOパラメータを信号伝達するのではなくて、4分木セグメンテーションを用いたピクチャ・ベースの信号伝達を、使用することができる。SAOパラメータをマージすること(すなわち、CTU左または上のものと同じパラメータを使用すること)、または、4分木構造は、たとえば、レート歪み最適化プロセスによってエンコーダによって決定することができる。
適応ループ・フィルタ(ALF)は、再構築されたサンプルの品質を強化する別の方法である。これは、そのループにおけるサンプル値をフィルタ処理することによって達成することができる。ALFは、フィルタ係数が、エンコーダによって決定され、ビットストリームに符号化される有限インパルス応答(FIR)フィルタである。エンコーダは、例えば、最小二乗法またはウィーナ・フィルタ最適化を用いて、オリジナルの圧縮されていないピクチャに対して歪曲を最小にしようと試みるフィルタ係数を選ぶことができる。たとえば、フィルタ係数は、適合パラメータ・セットまたはスライス・ヘッダに存在することができる、または、それらは、CUに対するスライス・データに、他のCU特定データのインタリーブ方法において現れることができる。
H.264/AVCおよびHEVCを含む多くのビデオ・コーデックにおいては、動き情報は、各動き補償画像ブロックと関連付けられている動きベクトルにより示される。これらの動きベクトルのそれぞれは、符号化(エンコーダにおいて)または復号化(デコーダにおいて)されるピクチャにおける画像ブロックの変位と、以前に符号化または復号化された画像(またはピクチャ)の1つにおける予測ソースブロックとを表している。多くの他のビデオ圧縮標準のように、H.264/AVCおよびHEVCは、ピクチャを長方形のメッシュに分割し、各長方形に対しては、参照ピクチャの1つにおける類似のブロックがインタ予測のために示されている。予測ブロックの位置は、符号化されているブロックに対する予測ブロックの場所を示す動きベクトルとして符号化される。
インタ予測プロセスは、例えば、下記のファクタの1つ以上を使用して特徴付けることができる。
[動きベクトル表現の精度]
例えば、動きベクトルは、1/4画素精度、1/2画素精度、または、全画素精度であることができ、分数画素場所におけるサンプル値は、有限インパルス応答(FIR)フィルタを使用して得ることができる。
[インタ予測のためのブロックパーティション分割]
H.264/AVCおよびHEVCを含む多くのコーディング標準は、エンコーダにおける動き補償予測のために動きベクトルが適用されるブロックのサイズと形状の選択を可能にし、デコーダが、エンコーダにおいて行われた動き補償予測を再生できるように、ビットストリームにおいて選択されたサイズと形状を示す。
[インタ予測のための参照ピクチャ数]
インタ予測のソースは、以前に復号化されたピクチャである。H.264/AVCおよびHEVCを含む多くのコーディング標準は、インタ予測のための複数の参照ピクチャの格納、および、ブロック・ベースでの使用される参照ピクチャの選択を可能にする。例えば、参照ピクチャは、H.264/AVCにおいてはマクロ・ブロックまたはマクロ・ブロック・パーティション分割部ベースで選択でき、HEVCにおいてはPUまたはCUベースで選択できる。H.264/AVCおよびHEVCのような多くのコーディング標準は、デコーダが1つ以上の参照ピクチャ・リストを作成することを可能にするシンタックス構造をビットストリームに含んでいる。参照ピクチャ・リストへの参照ピクチャ・インデックスは、複数の参照ピクチャのうちの何れが、特定のブロックに対するインタ予測に使用されるかを示すために使用できる。参照ピクチャ・インデックスは、エンコーダにより、あるインタコーディング・モードにおいてビットストリームに符号化でき、または、例えば、ある他のインタコーディング・モードにおいては、隣接ブロックを使用して導出できる(エンコーダまたはデコーダにより)。
[動きベクトル予測]
動きベクトルを、ビットストリームにおいて効率的に表現するために、動きベクトルを、ブロック特有の予測された動きベクトルに関して、異なるように符号化できる。多くのビデオ・コーデックにおいては、予測された動きベクトルは、予め定義された方法、例えば、隣接ブロックの符号化または復号化された動きベクトルの中央値を計算することにより作成される。動きベクトル予測を作成する別の方法は、先進的動きベクトル予測(AMVP)と呼ばれることがあるが、時間参照ピクチャにおける隣接ブロックおよび/または共に位置しているブロックから候補予測のリストを生成して、選択された候補を動きベクトル予測子として信号伝達することである。動きベクトル値を予測することに加えて、以前に符号化/復号化されたピクチャの参照インデックスを予測可能である。参照インデックスは、典型的には、時間参照ピクチャにおける隣接ブロックおよび/または共に位置しているブロックから予測される。動きベクトルの差分コーディングは、典型的には、スライス境界をわたって機能が停止される。
[多重仮説動き補償予測]
H.264/AVCおよびHEVCは、Pスライスにおける単一の予測ブロック(ここでは、単方向予測スライスと言う)、または、Bスライスとも言われる、双方向予測スライスに対する2つの動き補償予測ブロックの線形結合の使用を可能にする。Bスライスにおける個々のブロックは、双方向予測、単方向予測、またはイントラ予測でき、Pスライスにおける個々のブロックは、単方向予測またはイントラ予測できる。双方向予測ピクチャのための参照ピクチャは、出力順における後続ピクチャおよび先行ピクチャに制限されることはなく、いかなる参照ピクチャも使用できる。H.264/AVCおよびHEVCのような多くのコーディング標準においては、参照ピクチャ・リスト0と言われる1つの参照ピクチャ・リストが、Pスライスに対して構築され、2つの参照ピクチャ・リストであるリスト0とリスト1が、Bスライスに対して構築される。Bスライスに対しては、前方向における予測が、参照ピクチャ・リスト0における参照ピクチャからの予測を参照でき、後方向における予測が、参照ピクチャ・リスト1における参照ピクチャからの予測を参照できるときは、予測のための参照ピクチャは、互いに、または現在のピクチャに対していかなる復号化または出力順関係も有することができる。
[重み付け予測]
多くのコーディング標準は、ピクチャ間(P)の予測ブロックに対しては1の予測重み、Bピクチャの各予測ブロックに対しては、0.5の予測重み(平均化という結果になる)を使用する。H.264/AVCは、PおよびBスライス両者に対する重み付け予測を可能にする。暗黙的重み付け予測においては、重みはピクチャ順序カウントに比例し、一方、明示的重み付け予測においては、予測重みは明示的に示される。明示的重み付け予測のための重みは、たとえば、スライス・ヘッダ、ピクチャ・ヘッダ、ピクチャ・パラメータ・セット、適応パラメータ・セット、または、任意の同様なシンタックス構造のシンタックス構造の1つ以上において示すことができる。
多くのビデオ・コーデックにおいては、動き補償後の予測残差は、まず変換カーネル(DCTのような)により変換されて、その後に符号化される。その理由は、残差間にある相関関係が依然として存在していることがよくあり、変換は多くの場合に、この相関関係を削減可能で、より効率的なコーディングを提供可能であるからである。
HEVC草案においては、各PUは、PUと関連付けられ、どの種類の予測がそのPU内の画素に対して適用されるかを定義する予測情報を有している(例えば、インタ予測されたPUに対する動きベクトル情報、および、イントラ予測されたPUに対するイントラ予測指向性情報)。同様に、各TUは、TU内のサンプルに対する予測エラー復号化プロセスを記述する情報と関連付けられている(例えば、DCT係数情報を含んでいる)。CUレベルで、予測エラーコーディングが、各CUに対して適用されるか否かを信号伝達することができる。CUと関連付けられた予測エラー残差がない場合は、CUに対するTUはないと考えることができる。
いくつかのコーディング・フォーマットおよびコーデックにおいては、いわゆる短期参照ピクチャと長期参照ピクチャとが区別される。この区別は、時間ダイレクト・モードまたは暗黙的重み付け予測における動きベクトルのスケーリングのようなある復号化プロセスに影響を与え得る。時間ダイレクト・モードに使用される参照ピクチャの両者が、短期参照ピクチャである場合は、予測において使用される動きベクトルは、現在のピクチャと参照ピクチャの各々との間のピクチャ順序カウント(POC)差にしたがってスケーリングできる。しかし、時間ダイレクト・モードのための少なくとも1つの参照ピクチャが、長期参照ピクチャの場合は、動きベクトルのデフォルト・スケーリングが使用でき、例えば、動きを半分にするスケーリングが使用できる。同様に、短期参照ピクチャが、暗黙的重み付け予測に対して使用される場合は、予測重みは、現在のピクチャのPOCと参照ピクチャのPOCの間のPOC差にしたがってスケーリングできる。しかし、長期参照ピクチャが、暗黙的重み付け予測に対して使用される場合は、双方向予測されたブロックに対する暗黙的重み付け予測における0.5のような、デフォルトの予測重みを使用できる。
H.264/AVCのようないくつかのビデオ・コーディングフォーマットは、複数の参照ピクチャに関連する種々の復号化プロセスに使用されるframe_numシンタックス要素を含んでいる。H.264/AVCにおいては、IDRピクチャに対するframe_numの値は0である。非IDRピクチャに対するframe_numの値は、復号化順において先行する参照ピクチャのframe_numを1だけ増分したものと等しい(モジュロ演算においては、つまり、frame_numの値は、frame_numの最大値の後に0にラップ・オーバーする)。
H.264/AVCおよびHEVCは、ピクチャ順序カウント(POC)のコンセプトを含んでいる。POCの値は各ピクチャに対して導出され、出力順に増大していくピクチャの場所に対して非減少的である。したがって、POCは、ピクチャの出力順を示している。POCは、例えば、双方向予測スライスの時間ダイレクト・モードにおける動きベクトルの暗黙的スケーリング、重み付け予測における暗黙的に導出された重み、および参照ピクチャ・リスト初期化のための復号化プロセスにおいて使用できる。更に、POCは、出力順が規格に準拠しているかを検証するために使用できる。H.264/AVCにおいては、POCは、先行IDRピクチャ、または、すべてのピクチャを「参照に使用されていない」としてマークするメモリ管理制御動作を含むピクチャに対して指定されている。
H.264/AVCは、デコーダにおけるメモリ消費を制御するために、復号化された参照ピクチャ・マーキングのためのプロセスを指定する。Mと呼ばれる、インタ予測に使用される参照ピクチャの最大数は、シーケンス・パラメータ・セットにおいて決定される。参照ピクチャが復号化されるときは、「参照に使用されている」としてマークされる。参照ピクチャの復号化により、Mピクチャを超える数のピクチャが、「参照に使用されている」としてマークされると、少なくとも1つのピクチャは「参照に使用されていない」としてマークされる。復号化された参照ピクチャ・マーキングに対しては、適応メモリ制御およびスライディング・ウィンドウという2つのタイプの動作がある。復号化された参照ピクチャ・マーキングに対する動作モードは、ピクチャ・ベースで選択される。適応メモリ制御は、どのピクチャが「参照に使用されていない」としてマークされているかを明示的に信号伝達することを可能にし、また、短期参照ピクチャに対して長期インデックスを割り当てることもできる。適応メモリ制御は、ビットストリームにおいて、メモリ管理制御動作(MMCO)パラメータの存在を要求できる。MMCOパラメータは、復号化された参照ピクチャ・マーキング・シンタックス構造に含めることができる。スライディング・ウィンドウ動作モードが使用中で、「参照に使用されている」としてマークされているM個のピクチャが存在する場合は、「参照に使用されている」としてマークされている短期参照ピクチャの中で、最初に復号化されたピクチャである短期参照ピクチャが、「参照に使用されていない」としてマークされる。言い換えると、スライディング・ウィンドウ動作モードは、短期参照ピクチャにおけるFIFO(先入れ先出し)バッファリング動作という結果になる。
H.264/AVCにおけるメモリ管理制御動作の1つは、現在のピクチャを除くすべての参照ピクチャを、「参照に使用されていない」としてマークさせる。瞬間復号化リフレッシュ(IDR)ピクチャは、イントラ符号化されたスライスのみを含み、参照ピクチャの類似の「リセット」を引き起こす。
HEVC標準草案においては、参照ピクチャ・マーキング・シンタックス構造および関連する復号化プロセスは使用されず、その代わり、参照ピクチャ・セット(RPS)シンタックス構造および復号化プロセスが同様の目的のために使用される。ピクチャに対して有効またはアクティブな参照ピクチャ・セットは、ピクチャに対する参照として使用されるすべての参照ピクチャ、および、復号化順において後続するいかなるピクチャに対しても「参照に使用されている」としてマークされて続けているすべての参照ピクチャを含んでいる。参照ピクチャ・セットに対しては、6つのサブセットがあり、すなわち、それらは、RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr、および、RefPicSetLtFollと呼ばれる。この6つのサブセットの表記法は次の通りである。「Curr」は、現在のピクチャの参照ピクチャ・リストに含まれている参照ピクチャを表し、そのため、現在のピクチャに対するインタ予測参照として使用できる。「Foll」は、現在のピクチャの参照ピクチャ・リストに含まれていない参照ピクチャを指すが、参照ピクチャとして復号化順において後続するピクチャにおいて使用できる。「St」は短期参照ピクチャを指し、短期参照ピクチャは、一般的に、POC値の最下位ビットのある数を通して識別できる。「Lt」は長期参照ピクチャを示し、長期参照ピクチャは具体的に識別され、一般的に、上記の最下位ビットのある数により表現可能なものよりも大きな、現在のピクチャに対するPOC値の差を有している。「0」は、現在のピクチャのPOC値よりも小さな値を有している参照ピクチャを指している。「1」は、現在のピクチャのPOC値よりも大きな値を有している参照ピクチャを指している。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、および、RefPicSetStFoll1は、まとめて、参照ピクチャ・セットの短期サブセットと呼ばれる。RefPicSetLtCurrおよびRefPicSetLtFollは、まとめて、参照ピクチャ・セットの長期サブセットと呼ばれる。
HEVC標準草案においては、参照ピクチャ・セットは、シーケンス・パラメータ・セットにおいて指定でき、参照ピクチャ・セットへのインデックスを通してスライス・ヘッダにおいて使用させるようにできる。参照ピクチャ・セットは、また、スライス・ヘッダにおいても指定できる。参照ピクチャ・セットの長期サブセットは、一般的には、スライス・ヘッダにおいてのみ指定されるが、同じ参照ピクチャ・セットの短期サブセットは、ピクチャ・パラメータ・セットまたはスライス・ヘッダにおいて指定できる。参照ピクチャ・セットは、独立して符号化、または別の参照ピクチャ・セットから予測できる(インタRPS予測として知られている)。参照ピクチャ・セットが独立して符号化されるときは、シンタックス構造は、異なるタイプの参照ピクチャ、つまり、現在のピクチャよりも小さなPOC値の短期参照ピクチャ、現在のピクチャよりも大きなPOC値の短期参照ピクチャ、および、長期参照ピクチャに対して繰り返される最大3つのループを含んでいる。各ループのエントリは、ピクチャが「参照に使用されている」とマークされることを指定する。一般的には、ピクチャは、差分POC値で指定される。インタRPS予測は、現在のピクチャの参照ピクチャ・セットが、先行して復号化されたピクチャの参照ピクチャ・セットから予測可能であるという事実を利用する。これは、現在のピクチャのすべての参照ピクチャが、先行するピクチャの参照ピクチャか、先行して復号化されたピクチャ自身の何れかであるからである。これらのピクチャの何れが参照ピクチャとなるべきか、そして現在のピクチャの予測に使用されるべきかを示すことのみが必要である。参照ピクチャ・セットコーディングの両者のタイプにおいては、フラグ(used_by_curr_pic_X_flag)が追加的に各参照ピクチャに対して送られて、参照ピクチャが現在のピクチャにより参照のために使用されているか(*Currリストに含まれている)かいないか(*Follリストに含まれている)を示している。現在スライスにより使用されている参照ピクチャ・セットに含まれているピクチャは、「参照に使用されている」とマークされ、現在のスライスにより使用されている参照ピクチャ・セットに含まれていないピクチャは、「参照に使用されていない」とマークされる。現在のピクチャがIDRピクチャの場合は、RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr、および、RefPicSetLtFollは、すべて空に設定される。
復号化ピクチャバッファ(DPB)は、エンコーダおよび/またはデコーダにおいて使用できる。復号化ピクチャに対してバッファリングを行う理由は2つあり、1つはインタ予測における参照のためと、もう1つは、復号化ピクチャを出力順にする再順序化のためである。H.264/AVCおよびHEVCは、参照ピクチャ・マーキングと出力再順序化の両者に対して非常に高い柔軟性を提供するので、参照ピクチャ・バッファリングと出力ピクチャ・バッファリングに対する別個のバッファは、メモリ・リソースを浪費する可能性がある。そのため、DPBは、参照ピクチャおよび出力再順序化に対する統合された復号化ピクチャ・バッファリング・プロセスを含むことができる。復号化ピクチャは、それが、もはや参照として使用されず、出力にも必要でなくなったときは、DPBから除去できる。
H.264/AVCおよびHEVCの多くのコーディング・モードにおいては、インタ予測のための参照ピクチャは、参照ピクチャ・リストへのインデックスにより示される。インデックスは、可変長コーディングにおより符号化でき、通常は、対応するシンタックス要素に対してより短い値を、より小さなインデックスが有するようにさせる。H.264/AVCおよびHEVCにおいては、2つの参照ピクチャ・リスト(参照ピクチャ・リスト0と参照ピクチャ・リスト1)が、各双方向予測(B)スライスに対して生成され、1つの参照ピクチャ・リスト(参照ピクチャ・リスト0)が、各インタ符号化(P)スライスに対して形成される。加えて、HEVC標準草案におけるBスライスに対しては、結合リスト(リストC)が、最終参照ピクチャ・リスト(List0およびList1)が構築された後に構築される。結合リストは、Bスライス内で、単方向予測(単一方向予測としても知られている)に使用できる。
参照ピクチャ・リスト0および参照ピクチャ・リスト1のような参照ピクチャ・リストは、2ステップで構築することができる。最初に、初期参照ピクチャ・リストが生成される。初期参照ピクチャ・リストは、例えば、frame_num、POC、temporal_id、またはGOP構造のような予測階層の情報、または、それらの任意の組み合わせに基づいて、生成できる。2番目に、初期参照ピクチャ・リストは、参照ピクチャ・リスト修正シンタックス構造としても知られている、スライス・ヘッダに含めることができる参照ピクチャ・リスト再順序化(RPLR)コマンドにより再順序化できる。RPLRコマンドは、各参照ピクチャ・リストの先頭に順序化されたピクチャを示している。この第2ステップは、参照ピクチャ・リスト修正プロセスと言うこともでき、RPLRコマンドは、参照ピクチャ・リスト修正シンタックス構造に含むことができる。参照ピクチャ・セットが使用される場合、参照ピクチャ・リスト0は、RefPicSetStCurr0を最初に、そしてそれに続いてRefPicSetStCurr1、更にそれに続いて、RefPicSetLtCurrを含むように初期化できる。参照ピクチャ・リスト1は、RefPicSetStCurr1を最初に、そしてそれに続いてRefPicSetStCurr0を含むように初期化できる。初期参照ピクチャ・リストは、参照ピクチャ・リスト修正シンタックス構造を通して修正でき、初期参照ピクチャ・リストリストにおけるピクチャは、リストへのエントリ・インデックスを通して識別することができる。
HEVC標準草案における結合リストは、下記のように構築できる。結合リストに対する修正フラグがゼロの場合は、結合リストは、暗黙的メカニズムにより構築され、それ以外の場合は、ビットストリームに含まれている参照ピクチャ結合コマンドにより構築される。暗黙的メカニズムにおいては、リストCにおける参照ピクチャは、リスト0の第1エントリから開始して、リスト1の第1エントリが続くという具合にインタリーブ方式で、リスト0およびリスト1から、参照ピクチャにマップされる。リストCにおいてすでにマップされたいかなる参照ピクチャも二度はマップされない、明示的メカニズムにおいては、リストCにおけるエントリ数が信号伝達され、それに続いて、リスト0またはリスト1におけるエントリから、リストCにおける各エントリへのマッピングが行われる。加えて、リスト0とリスト1が同一のときは、エンコーダは、リスト1からの参照ピクチャはマップされず、リストCはリスト0と等価であることを示すために、ref_pic_list_combination_flagを0に設定するオプションを有している。
高度動きベクトル予測 (AMVP)は、たとえば、以下の通りに動作することができる。一方、他の類似的な高度動きベクトル予測の実現も、また、たとえば、異なる候補位置セット、および、候補位置セットの候補位置で可能である。2つの空間的運動ベクトル予測値(MVP)を、導出することができ、また、時間的運動ベクトル予測値(TMVP)を、導出することができる。それらは、図6に示される位置、すなわち、現在の予測ブロック600より上に位置する3つの空間的運動ベクトル予測値候補位置603、604、605(B0、B1、B2)、および、左に位置する2つ 601、602(A0、A1)、の間で選択されることができる。各々の候補セット(B0、B1、B2)または(A0、A1)の定義済み順序において利用可能な(例えば、同一のスライスに存在する、インタ符号化されているなど)第1の運動ベクトル予測値は、動きベクトル・コンペティションにおいて、その予測方向(上または左)を表すために、選択することができる。時間的運動ベクトル予測値のための参照インデックスは、スライス・ヘッダにおいてエンコーダによって示すことができる(例えばcollocated_ref_idxシンタックス要素として)。同じ位置のピクチャから得られる運動ベクトルは、時間的運動ベクトル予測値の参照ピクチャ、同じ位置のピクチャ、そして、現在のピクチャのピクチャ順序カウント差異の割合にしたがって、スケールすることができる。更に、同一の候補を削除するために、候補の間で冗長検査を実行することができる。これは、候補リストにおいて、ゼロ動きベクトルを含むことになり得る。この動きベクトル予測値は、ビットストリームで、たとえば、空間的運動ベクトル予測値の方向(上または左)、または、時間的運動ベクトル予測値候補の選択を示すことによって示すことができる。
動きベクトル値を予測することに加えて、以前に符号化/復号化されたピクチャの参照インデックスを予測可能である。参照インデックスは、時間参照ピクチャにおける隣接ブロックおよび/または共に位置しているブロックから予測される。
HEVCコーデック草案のような多くの高効率ビデオ・コーデックは、しばしばマージング/マージ・モード/プロセス/メカニズムと呼ばれる、追加的動き情報コーディング/復号化メカニズムを採用しており、ブロック/PUのすべての動き情報は、何の修正/補正もなく予測されて使用される。PUに対する前述した動き情報は、1)「PUは参照ピクチャ・リスト0のみを使用して単方向予測された」か、または「PUは参照ピクチャ・リスト1のみを使用して単方向予測された」か、または「PUは参照ピクチャ・リスト0およびリスト1の両者を使用して双方向予測された」かについての情報、2)参照ピクチャ・リスト0に対応する動きベクトル値、3)参照ピクチャ・リスト0における参照ピクチャ・インデックス、4)参照ピクチャ・リスト1に対応する動きベクトル値、および、5)参照ピクチャ・リスト1における参照ピクチャ・インデックスを備えることができる。同様に、動き情報を予測することは、隣接ブロックおよび/または時間参照ピクチャにおける共に位置しているブロックの動き情報を使用して行われる。しばしばマージリストと呼ばれるリストは、利用可能な隣接/共に位置しているブロックと関連付けられている動き予測候補を含むことにより構築でき、リストにおける選択された動き予測候補のインデックスは信号伝達され、選択された候補の動き情報は、現在のPUの動き情報にコピーされる。マージメカニズムがCU全体に対して採用され、CUに対する予測信号が再構築信号として使用され、つまり、予測残差は処理されないときは、このタイプのCUのコーディング/復号化は、典型的にはスキップ・モードまたはマージ・ベース・スキップ・モードと名づけられる。スキップ・モードに加えて、マージメカニズムはまた、個々のPUに対して(必ずしもスキップ・モードにおけるようなCU全体に対してではなく)採用することもでき、この場合、予測残差は、予測品質を向上するために利用できる。このタイプの予測モードは典型的にはマージ間モードと呼ばれる。
エンコーダによりビットストリームに作成され、デコーダによりビットストリームから復号化され、結合参照ピクチャ・リストのコンテンツを示している参照ピクチャ・リスト結合シンタックス構造があってもよい。シンタックス構造は、参照ピクチャ・リスト0および参照ピクチャ・リスト1は、単方向予測されている予測ユニットに使用される、追加的参照ピクチャ・リスト結合として結合されていることを示すことができる。シンタックス構造はフラグを含むことができ、フラグはある値に等しいときは、参照ピクチャ・リスト0と参照ピクチャ・リスト1は同一であることを示し、そのため、参照ピクチャ・リスト0は参照ピクチャ・リスト結合として使用される。シンタックス構造は、それぞれが参照ピクチャ・リスト(リスト0またはリスト1)および、指定されたリストへの参照インデックスを指定するエントリのリストを含むことができ、エントリは、結合参照ピクチャ・リストに含まれる参照ピクチャを指定する。
復号化参照ピクチャ・マーキングのためのシンタックス構造は、ビデオ・コーディング・システムにおいて存在できる。例えば、ピクチャの復号化が完了すると、復号化参照ピクチャ・マーキング・シンタックス構造は、もし存在すれば、ピクチャを「参照に使用されていない」または「長期参照に使用されている」として適応的にマークするために使用できる。復号化参照ピクチャ・マーキング・シンタックス構造が存在せず、「参照に使用されている」とマークされたピクチャの数がこれ以上増加することが可能でない場合は、スライディング・ウィンドウ参照ピクチャ・マーキングを使用でき、これは基本的に、最も早い(復号化順において)復号化参照ピクチャを参照に使用されていないとしてマークする。
孤立領域として知られているコーディング技術は、ピクチャ内予測およびインタ予測を一緒に抑制することに基づいている。ピクチャにおける孤立領域は、いずれのマクロ・ブロック(または同様なものの)位置をも含むことが可能で、ピクチャは、互いに重ならないゼロ個以上の孤立領域を含むことが可能である。残存領域は、もし存在すれば、ピクチャの孤立領域の何れによってもカバーされていないピクチャの領域である。孤立領域を符号化するときは、少なくともいくつかのタイプのピクチャ内予測は、その境界をわたって機能が停止される。残存領域は、同じピクチャの孤立領域から予測できる。
符号化孤立領域は、同じ符号化ピクチャのいかなる他の孤立または残存領域の存在なしに復号化可能である。残存領域の前に、ピクチャのすべての孤立領域を復号化することが必要となる。いくつかのインプリメンテーションにおいては、孤立領域または残存領域は、少なくとも1つのスライスを含んでいる。
孤立領域が互いから予測されるピクチャは、孤立領域ピクチャ・グループにグループ化できる。孤立領域は、同じ孤立領域ピクチャ・グループ内の他のピクチャにおける対応する孤立領域からインタ予測可能であるが、他の孤立領域、または孤立領域ピクチャ・グループの外からのインタ予測は、可能とされない。残存領域は、いかなる孤立領域からもインタ予測できる。結合された孤立領域の形状、位置、およびサイズは、孤立領域ピクチャ・グループにおいてピクチャ毎に発展できる。
H.264/AVCコーデックにおける孤立領域のコーディングは、スライス・グループに基づくことができる。マクロ・ブロック位置のスライス・グループへのマッピングは、ピクチャ・パラメータ・セットにおいて指定できる。H.264/AVCシンタックスは、あるスライス・グループパターンを符号化するためのシンタックスを含んでおり、そのシンタックスは、スタティック(static)およびエボルビング(evolving)という2つのタイプに分類可能である。スタティック・スライス・グループは、ピクチャ・パラメータ・セットが有効である限りは不変のままであるが、エボルビング・スライス・グループは、ピクチャ・パラメータ・セットにおける対応するパラメータと、スライス・ヘッダにおけるスライス・グループ変化サイクル・パラメータとにしたがって、ピクチャ毎に変化可能である。スタティック・スライス・グループ・パターンは、インタリーブ形状、市松模様、長方形指向、および自由形状を含む。エボルビング・スライス・グループ・パターンは、水平ワイプ、垂直ワイプ、ボックス・イン、および、ボックス・アウトを含む。長方形指向パターンとエボルビング・パターンは、孤立領域のコーディングに対して特に適しており、下記に、よりていねいに記述される。
長方形指向スライス・グループパターンに対しては、ピクチャ領域内に、所望の数の長方形が指定される。前景スライス・グループは、対応する長方形内のマクロ・ブロック位置を含んでいるが、より早く指定されたスライス・グループにより既に割り当てられているマクロ・ブロック位置は除外される。残存スライス・グループは、フォアグラウンド・スライス・グループによりカバーされていないマクロ・ブロックを含んでいる。
エボルビング・スライス・グループは、マクロ・ブロック位置のスキャン順、および、ピクチャ当たりのマクロ・ブロック数における、スライス・グループのサイズの変化率を示すことにより指定される。各符号化ピクチャは、スライス・グループ変化サイクル・パラメータ(スライス・ヘッダにおいて搬送される)と関係付けられている。変化率を掛けた変化サイクルは、第1スライス・グループにおけるマクロ・ブロック数を示している。第2スライス・グループは、残りのマクロ・ブロック位置を含んでいる。
H.264/AVCにおいては、ピクチャ内予測は、スライス・グループ境界がスライス境界にあるために、スライス・グループ境界をわたっての機能は停止される。したがって、各スライス・グループは、孤立領域または残存領域である。
各スライス・グループは、ピクチャ内に識別番号を有している。エンコーダは、符号化されるべきスライス・グループと同じ識別番号を有しているスライス・グループに属している復号化マクロ・ブロックのみを参照するように動きベクトルを制限することができる。エンコーダは、いくつかのソースサンプルが分数画素内挿において必要であり、すべてのソースサンプルは、特定のスライス・グループ内にあるべきであるという事実を考慮すべきである。
H.264/AVCコーデックは、デブロッキングループ・フィルタを含んでいる。ループ・フィルタ処理は、各4×4ブロック境界に適用されるが、ループ・フィルタ処理は、スライス境界においてエンコーダにより機能を停止することが可能である。ループ・フィルタ処理がスライス境界において機能を停止された場合、デコーダにおける完全再構築ピクチャが、緩やかなランダム・アクセスを行うときに達成可能である。それ以外の場合は、再構築ピクチャは、回復ポイントの後でも、コンテンツにおいて不完全であることがある。
H.264/AVC標準の回復ポイントSEIメッセージおよび動き抑制スライス・グループ・セットSEIメッセージは、いくつかのスライス・グループが、制限された動きベクトルにより孤立領域として符号化されていることを示すために使用可能である。デコーダは、例えば、より速いランダム・アクセスを達成するため、または残存領域を無視することで処理時間を節約するために、その情報を利用できる。
サブ・ピクチャのコンセプトがHEVCに対して、例えば、文書JCTVC−I0356<http://phenix.int−evry.fr/jct/doc_end_user/documents/9_Geneva/wgll/JCTVC−I0356−v1.zip>において提案されており、それは、H.264/AVCの長方形の孤立領域または長方形の動き抑制スライス・グループ・セットに類似している。JCTVC−I0356において提案されているサブ・ピクチャのコンセプトを下記に記述するが、サブ・ピクチャは他の方法でも同様に、しかし、下記に記述されるものとは同一ではないように定義できることが理解されるべきである。サブ・ピクチャのコンセプトにおいては、ピクチャは、予め定義された長方形領域にパーティション分割される。各サブ・ピクチャは、ピクチャを構成しているすべてのサブ・ピクチャが、SPS、PPS、および参照ピクチャ・セットのような同じ全体的な情報を共有するということ以外は、独立したピクチャとして処理される。サブ・ピクチャは、幾何学的にタイルに類似している。その特性は下記の通りである。サブ・ピクチャは、シーケンス・レベルで指定された、LCU整列された長方形領域である。ピクチャにおけるサブ・ピクチャは、ピクチャのサブ・ピクチャラスタ・スキャンにおいてスキャンできる。各サブ・ピクチャは新しいスライスを開始する。複数のタイルがピクチャに存在する場合は、サブ・ピクチャ境界とタイル境界を整列できる。サブ・ピクチャをわたってのループ・フィルタ処理はできない。サブ・ピクチャの外では、サンプル値と動き情報は予測できず、サブ・ピクチャの外側の1つ以上のサンプル値を使用して導出された分数サンプル場所におけるサンプル値は何れも、サブ・ピクチャ内のいかなるサンプルをインタ予測するためには使用できない。動きベクトルがサブ・ピクチャの外側の領域を指し示している場合は、ピクチャ境界に対して定義されたパディング(詰め込み)プロセスを適用できる。LCUは、サブ・ピクチャが2つ以上のタイルを含んでいない限り、サブ・ピクチャ内でラスタ順にスキャンされる。サブ・ピクチャ内のタイルは、サブ・ピクチャのタイルラスタ・スキャンにおいてスキャンされる。タイルは、デフォルトである1つのピクチャあたり1つのタイルという場合を除いて、サブ・ピクチャ境界を横切ることはできない。ピクチャレベルで利用可能なすべてのコーディングメカニズムは、サブ・ピクチャレベルでサポートされる。
スケーラブル・ビデオ・コーディングは、1つのビットストリームが、異なるビット・レート、解像度、および/またはフレーム・レートでのコンテンツの複数の表現を含むことが可能なコーディング構造のことを指す。これらの場合、受け手側は、その特性(例えば、装置のディスプレイの解像度に最もよく整合する解像度)に依存して、所望の表現を抽出可能である。代替的に、サーバまたはネットワーク要素は、受け手側に送信されるビットストリームの部分を、例えば、ネットワーク特性または受け手側の処理能力に依存して、抽出可能である。
スケーラブル・ビットストリームは、利用可能な最も低画質のビデオを提供するベース層と、下位の層と共に受信および復号化されたときに、ビデオ画質を向上する1つ以上のエンハンスメント層とから構成できる。エンハンスメント層は、時間解像度(つまりフレーム・レート)、空間解像度、または、単に、別の層またはその一部により表現されるビデオ・コンテンツの品質を向上することができる。エンハンスメント層に対するコーディング効率を改善するために、その層の符号化表現は、下位の層に依存することができる。例えば、エンハンスメント層の動きおよびモード情報は、下位の層から予測可能である。同様に、下位の層の画素データは、エンハンスメント層に対する予測を作成するために使用可能である。
各スケーラブル層は、その依存層すべてと共に、ある空間解像度、時間解像度、および品質レベルにおけるビデオ信号の1つの表現である。この文書においては、スケーラブル層を、その依存層すべてと共に、「スケーラブル層表現」と言う。スケーラブル層表現に対応するスケーラブル・ビットストリームの部分は、ある忠実度における元々の信号の表現を生成するために抽出および復号化可能である。
いくつかの場合においては、エンハンスメント層におけるデータは、ある位置以降を、または任意の場所でトランケートすること(ある場所以降を切り捨てること)が可能であり、各トランケーションの場所は、益々向上されている視覚品質を表現している追加的データを含むことができる。そのようなスケーラビリティは、精細粒度スケーラビリティ(FGS)と言われる。FGSはSVC標準のいくつかの草案バージョンに含まれていたが、最終SVC標準からは結局は除外された。FGSは、SVC標準のいくつかの草案バージョンとの関連において続いて検討される。トランケートできないエンハンスメント層により提供されるスケーラビリティは、粗粒度スケーラビリティ(CGS)と言われる。CGSは、従来の品質(SNR)スケーラビリティと空間スケーラビリティをまとめて含んでいる。SVC標準は、いわゆる中間粒度スケーラビリティ(MGS)をサポートしており、このスケーラビリティにおいては、品質エンハンスメントピクチャは、SNRスケーラブル層ピクチャと類似して符号化されるが、0より大きなquality_idシンタックス要素を有することにより、FGS層ピクチャと類似して、ハイレベル・シンタックス要素により示される。
SVCは、層間予測メカニズムを使用し、ある情報は、現在再構築されている層以外の層、または次の下位層から予測可能である。層間予測が可能な情報には、イントラテクスチャ、動きおよび残差データが含まれる。層間動き予測は、ブロックコーディング・モード、ヘッダ情報などの予測を含み、下位層からの動きは、上位層の予測に使用できる。イントラ・コーディングの場合、周囲のマクロ・ブロックからの、または下位層の共に位置しているマクロ・ブロックからの予測が可能である。これらの予測技術は、先行して符号化されたアクセス・ユニットからの情報を採用しないので、イントラ予測技術と言われる。更に、下位層からの残差データはまた、現在層の予測にも採用可能である。
SVCは、シングル・ループ復号化として知られているコンセプトを指定している。シングル・ループ復号化は、抑制イントラテクスチャ予測モードを使用ことにより機能するようになり、それにより、層間イントラテクスチャ予測は、ベース層の対応するブロックが、イントラマクロ・ブロック(MB)の内部に位置しているマクロ・ブロック(MB)に適用可能である。同時に、ベース層におけるイントラMBは、抑制イントラ予測を使用する(例えば、1に等しいシンタックス要素「constrained_intra_pred_flag」を有している)。シングル・ループ復号化においては、デコーダは、再生が所望されるスケーラブル層(「所望層」または「目標層」と呼ばれる)に対してのみ動き補償と完全ピクチャ再構築を行うので、それにより、復号化の煩雑さを相当に削減する。層間予測(それが層間イントラテクスチャ予測、層間動き予測、または層間残差予測であろうとなかろうと)に使用されていないMBのデータのすべてまたは一部は、所望層の再構築に必要ないので、所望層以外のすべての層が完全に復号化される必要はない。シングル復号化ループは、ほとんどのピクチャの復号化に必要であるが、第2復号化ループは、予測参照として必要であるが、出力または表示には必要なく、いわゆるキーピクチャ(これに対しては、「store_ref_base_pic_flag」は1に等しい)に対してのみ再構築されるベース表現を再構築するために選択的に適用される。
SVC草案におけるスケーラビリティ構造は、3つのシンタックス要素、「temporal_id」、「dependency_id」、および「quality_id」により特徴付けられる。シンタックス要素「temporal_id」は、時間スケーラビリティ階層、または間接的には、フレーム・レートを示すために使用される。より小さな最大「temporal_id」値のピクチャを備えているスケーラブル層表現は、より大きな最大「temporal_id」のピクチャを備えているスケーラブル層表現よりも、より小さなフレーム・レートを有している。所与の時間層は典型的には、下位の時間層(つまり、より小さな「temporal_id」値の時間層)に依存するが、いかなる上位の時間層にも依存しない。シンタックス要素「dependency_id」は、CGS層間コーディング依存性階層(前述したように、SNRおよび空間スケーラビリティの両者を含む)を示すために使用される。いずれの時間レベル位置においても、より小さな「dependency_id」値のピクチャは、より大きな「dependency_id」値のピクチャのコーディングのための層間予測に使用できる。シンタックス要素「quality_id」は、FGSまたはMGS層の品質レベル階層を示すために使用される。いずれの時間位置においても、同じ「dependency_id」値であれば、QLに等しい「quality_id」のピクチャは、層間予測のために、QL−1に等しい「quality_id」のピクチャを使用する。0より大きい「quality_id」の符号化スライスは、トランケーション可能FGSスライスまたは非トランケーション可能MGSスライスの何れかとして符号化できる。
簡単のために、「dependency_id」の同じ値を有している1つのアクセス・ユニットにおける、すべてのデータ・ユニット(例えば、SVCに関連するネットワーク抽象化層ユニットまたはNALユニット)は、依存性ユニットまたは依存性表現と言う。1つの依存性ユニット内では、「quality_id」の同じ値を有しているすべてのデータ・ユニットは、品質ユニットまたは層表現と言われる。
復号化ベースピクチャとしても知られているベース表現は、0に等しい「quality_id」を有しており、「store_ref_base_pic_flag」が1に等しいように設定されている依存性ユニットのビデオ・コーディング層(VCL)NALユニットを復号化した結果としての復号化ピクチャである。復号化ピクチャとも言われるエンハンスメント表現は、最上位の依存性表現のために存在しているすべての層表現が復号化される規則的復号化プロセスの結果である。
前述したように、CGSは空間スケーラビリティとSNRスケーラビリティの両者を含んでいる。空間スケーラビリティは、最初は、異なる解像度のビデオの表現をサポートするために設計された。各時間インスタンスに対して、VCLNALユニットは同じアクセス・ユニットにおいて符号化され、これらのVCLNALユニットは、異なる解像度に対応することが可能である。復号化の間、低解像度のVCLNALユニットは、高解像度のピクチャの最終復号化および再構築によりオプションとして受け継がれることが可能な動きフィールドおよび残差を提供する。以前のビデオ圧縮標準と比較すると、SVCの空間スケーラビリティは、ベース層が、エンハンスメント層のクロップされ(出力画像の形態に合わせて上下左右の画素が切り出され)、およびズームされ(拡大/縮小され)たバージョンであることを可能にするために一般化された。
MGS品質層は、FGS品質層と同様に、「quality_id」により示される。各依存性ユニット(同じ「dependency_id」を有している)に対しては、0に等しい「quality_id」の層があり、0より大きい「quality_id」の他の層もあり得る。0より大きな「quality_id」のこれらの層は、スライスがトランケーション可能なスライスとして符号化されたかどうかに依存して、MGS層またはFGS層の何れかである。
FGSエンハンスメント層の基本形状においては、層間予測のみが使用される。したがって、FGSエンハンスメント層は、復号化されたシーケンスにおいていかなるエラー伝搬も引き起こすことなく、自由にトランケーションが可能である。しかし、FGSの基本形状は、低圧縮効率の影響を受ける。この問題は、低品質ピクチャのみがインタ予測参照に使用されるために起こる。したがって、FGS強化ピクチャがインタ予測参照として使用されるべきであるということが提案されている。しかし、これは、何らかのFGSデータが破棄されたときに、符号化と復号化の間の、ドリフトとも言われる不整合を引き起こす。
SVC標準草案の1つの特徴は、FGSNALユニットを自由にドロップまたはトランケートすることが可能であることであり、SVCV標準の特徴は、MGSNALユニットを自由に、ビットストリームの準拠状態に影響を与えることなく、自由にドロップすることが可能である(しかし、トランケートすることはできない)ことである。上記に検討したように、FGSまたはMGSデータが、符号化の間のインタ予測参照に使用されたときは、データのドロッピングまたはトランケーションは、デコーダ側およびエンコーダ側における復号化ピクチャ間の不整合という結果になる。この不整合はドリフトとも言われる。
FGSまたはMGSデータのドロッピングまたはトランケーションによるドリフトを制御するために、SVCは下記のソリューションを適用した。ある依存性ユニットにおいては、(0に等しい「quality_id」のCGSピクチャのみと、下位層に依存するすべてのデータを復号化することによる)ベース表現は、復号化ピクチャバッファに格納される。「dependency_id」の同じ値の後続する依存性ユニットを符号化するときは、FGSまたはMGSNALユニットを含むすべてのNALユニットは、インタ予測参照にベース表現を使用する。したがって、先行するアクセス・ユニットにおけるFGSまたはMGSNALユニットのドロッピングまたはトランケーションによるすべてのドリフトは、このアクセス・ユニットにおいて止められる。「dependency_id」の同じ値の他の依存性ユニットに対しては、すべてのNALユニットは、高いコーディング効率のために、インタ予測参照に復号化ピクチャを使用する。
各NALユニットは、NALユニット・ヘッダにおいて、シンタックス要素「use_ref_base_pic_flag」を含んでいる。この要素の値が1に等しいときは、NALユニットの復号化は、インタ予測プロセスの間に参照ピクチャのベース表現を使用する。シンタックス要素「store_ref_base_pic_flag」は、現在のピクチャのベース表現を、インタ予測に使用する将来ピクチャのために格納する(1に等しいとき)か、否か(0に等しいとき)を指定する。
0より大きい「quality_id」のNALユニットは、参照ピクチャ・リスト構築および重み付け予測に関連するシンタックス要素を含んでいない。つまり、シンタックス要素「num_ref_ative_lx_minus1」(x=0または1)、参照ピクチャ・リスト再順序化シンタックス・テーブル、および重み付け予測シンタックス・テーブルは、存在しない。したがって、MGSまたはFGS層は、これらのシンタックス要素を、必要なときは、同じ依存性ユニットの、0に等しい「quality_id」のNALユニットから受け継がなければならない。
SVCにおいては、参照ピクチャ・リストは、ベース表現のみか(「use_ref_base_pic_flag」が1に等しいとき)または「ベース表現」とマークされていない復号化ピクチャのみ(「use_ref_base_pic_flag」が0に等しいとき)の何れかにより構成されるが、同時に両者から構成されることはない。
H.264/AVCビットストリームにおいては、1つの符号化ビデオ・シーケンスにおける符号化ピクチャは、同じシーケンス・パラメータ・セットを使用し、復号化プロセスの間のいずれの時間インスタンスにおいても、1つのシーケンス・パラメータ・セットのみがアクティブである。SVCにおいては、異なるスケーラブル層からの符号化ピクチャは、異なるシーケンス・パラメータ・セットを使用できる。異なるシーケンス・パラメータ・セットが使用された場合、復号化プロセスの間のいずれの時間インスタンスにおいても、2つ以上のアクティブシーケンスピクチャ・パラメータ・セットが存在し得る。SVC仕様においては、上層に対するシーケンスピクチャ・パラメータ・セットは、アクティブシーケンスピクチャ・パラメータ・セットとして表わされ、残りは、層アクティブシーケンスピクチャ・パラメータ・セットと言われる。いずれの所与のアクティブシーケンスピクチャ・パラメータ・セットも、アクティブシーケンスラメータセットが参照される層におけるコード化ビデオ・シーケンスを通して、不変のままで留まる。
スケーラブル・ネスティングSEIメッセージがSVCにおいて指定されている。スケーラブル・ネスティングSEIメッセージは、SEIメッセージを、示されている依存性表現または他のスケーラブル層のような、ビットストリームのサブセットと関連付けるためのメカニズムを提供する。スケーラブル・ネスティングSEIメッセージは、スケーラブル・ネスティングSEIメッセージ自体ではない、1つ以上のSEIメッセージを含んでいる。スケーラブル・ネスティングSEIメッセージに含まれているSEIメッセージは、ネステッドSEIメッセージと言われる。スケーラブル・ネスティングSEIメッセージに含まれていないSEIメッセージは、非ネステッドSEIメッセージと言われる。
品質スケーラビリティ(信号対雑音比またはSNRとしても知られている)および/または空間スケーラビリティのためのスケーラブル・ビデオ・エンコーダは、下記のように実現できる。ベース層に対しては、従来の非スケーラブル・ビデオ・エンコーダおよびデコーダが使用できる。ベース層の再構築/復号化ピクチャは、エンハンスメント層用の参照ピクチャバッファおよび/または参照ピクチャ・リストに含まれている。空間スケーラビリティの場合は、再構築/復号化ベース層ピクチャは、エンハンスメント層ピクチャ用の参照ピクチャ・リストに挿入される前に、アップサンプリングできる。ベース層復号化ピクチャは、エンハンスメント層の復号化参照ピクチャと同様に、エンハンスメント層ピクチャのコーディング/復号化のための参照ピクチャ・リストに挿入できる。したがって、エンコーダは、ベース層参照ピクチャを、インタ予測参照として選択でき、その使用を、符号化ビットストリームにおける参照ピクチャ・インデックスにより示すことができる。デコーダは、ビットストリームから、例えば、参照ピクチャ・インデックスから、ベース層ピクチャが、エンハンスメント層に対するインタ予測参照として使用されていることを復号化する。復号化ベース層ピクチャが、エンハンスメント層に対する予測参照として使用されるときは、それは層間参照ピクチャと言われる。
適応解像度変更は、たとえば、ビデオ会議使用ケースにおいて、ビデオ・シーケンスの中での解像度をダイナミックに変更することを指す。適応解像度変更は、例えば、より良いネットワーク適合とエラー障害許容力のために使用することができる。異なるコンテンツに対するネットワーク要求の変更により良く適合するために、品質に加えて時間的/空間的解像度の両方を変更できることが望ましいことがあり得る。適応解像度変更は、また、速いスタートを可能にすることができる。ここで、セッションのスタート・アップ時間は、最初に低解像度フレームを送り、そして、次に、解像度を増やすことで増加することができる。適応解像度変更は、さらに、会議の組み立てにおいて使用することができる。例えば、人が話し始めるとき、その人の対応する解像度を、増加することができる。IDRフレームでこれを行うことは、IDRフレームとしての品質における「ブリップ」に、遅延が顕著に増加しないように、比較的低い品質で符号化されることを必要とさせることができる。
前段落では、エンハンスメント層とベース層の2つのスケーラビリティ層のスケーラブル・ビデオ・コーデックを記述したが、その記述は、2つの層より多いスケーラビリティ階層における任意の2つの層に対しても一般化することができることが理解される必要がある。この場合、符号化および/または復号化プロセスにおいては、第2エンハンスメント層は、第1エンハンスメント層に依存でき、したがって、第1エンハンスメント層は、第2エンハンスメント層の符号化および/または復号化のためのベース層と見なすことができる。更に、エンハンスメント層の参照ピクチャバッファまたは参照ピクチャ・リストにおける1つの層よりも多くからの層間参照ピクチャがあり得、これらの層間参照ピクチャのそれぞれは、符号化および/または復号化されているエンハンスメント層のためのベース層または参照層に存在すると考えることもできることが理解される必要がある。
前述したように、MVCはH.264/AVCの拡張である。H.264/AVCの定義、コンセプト、シンタックス構造、セマンティックス、および復号化プロセスの多くが、そのまま、またはある一般化または抑制を伴ってMVCにも適用される。MVCのいくつかの定義、コンセプト、シンタックス構造、セマンティックス、および復号化プロセスが、下記に記述される。
MVCにおけるアクセス・ユニットは、復号化順において連続しており、1つ以上のビュー構成要素から構成されている正確に1つの1次符号化ピクチャを含んでいるNALユニットのセットとして定義される。1次符号化ピクチャに加えて、アクセス・ユニットは、また、1つ以上の冗長符号化ピクチャ、1つの補助符号化ピクチャ、または、符号化ピクチャのスライスまたはスライス・データ・パーティション分割部を含んでいない他のNALユニットを含むことができる。アクセス・ユニットの復号化は、復号化に影響を与え得る復号化エラー、ビットストリームエラー、または他のエラーが起きないときは、1つ以上の復号化ビュー構成要素から構成される1つの復号化ピクチャという結果になる。言い換えると、MVCにおけるアクセス・ユニットは、1つの出力時間インスタンスに対するビューのビュー構成要素を含んでいる。
MVCにおけるビュー構成要素は、単一のアクセス・ユニットにおけるビューの符号化表現と言われる。
ビュー間予測はMVCにおいて使用でき、同じアクセス・ユニットの異なるビュー構成要素の復号化サンプルからのビュー構成要素の予測のことを指す。MVCにおいては、ビュー間予測は、インタ予測と同様に実現される。例えば、ビュー間参照ピクチャは、インタ予測のための参照ピクチャと同じ参照ピクチャ・リストに置かれ、動きベクトルと共に、参照インデックスはビュー間およびインタ参照ピクチャに対してと同様に符号化または推測される。
アンカピクチャは符号化ピクチャであり、すべてのスライスは同じアクセス・ユニット内のスライスのみを参照できる。つまり、ビュー間予測を使用できるが、インタ予測は使用されず、出力順において後続するすべての符号化ピクチャは、符号化ピクチャに復号化順において先行するいずれのピクチャからのインタ予測も使用しない。ビュー間予測は、非ベース・ビューの一部であるIDRビュー構成要素に使用できる。MVCにおけるベース・ビューは、符号化ビデオ・シーケンスにおけるビュー順序インデックスの最小値を有しているビューである。ベース・ビューは、他のビューとは独立して復号化可能で、ビュー間予測を使用しない。ベース・ビューは、H.264/AVCのベースラインプロファイルまたはハイプロファイルのような、シングルビュープロファイルのみをサポートしているH.264/AVCデコーダにより復号化可能である。
MVC標準においては、MVC復号化プロセスのサブプロセスの多くは、H.264/AVC標準のサブプロセス仕様における用語「ピクチャ」、「フレーム」、および「フィールド」を、「ビュー構成要素」、「フレームビュー構成要素」、および「フィールドビュー構成要素」に、それぞれに置き換えることにより、H.264/AVC標準の各サブプロセスを使用する。同様に、用語「ピクチャ」、「フレーム」、および「フィールド」は、下記においては、「ビュー構成要素」、「フレームビュー構成要素」、および「フィールドビュー構成要素」それぞれを意味するためにしばしば使用される。
前述したように、MVCビットストリームの非ベース・ビューは、サブセットシーケンス・パラメータ・セットNALユニットを参照できる。MVCに対するサブセットシーケンス・パラメータ・セットは、ベースSPSデータ構造およびシーケンス・パラメータ・セットMVC拡張データ構造を含んでいる。MVCにおいては、異なるビューからの符号化ピクチャは、異なるシーケンス・パラメータ・セットを使用できる。MVCにおけるSPS(具体的には、MVCにおけるSPSのシーケンス・パラメータ・セットMVC拡張部)は、ビュー間予測のためのビュー依存性情報を含むことが可能である。これは、例えば、ビュー依存性ツリーを構築するために、シグナリング処理可能メディアゲートウェイにより使用できる。
SVCおよびMVCにおいて、プレフィックスNALユニットは、復号化順序において、ベース層/ビュー符号化スライスに対するVCL−NALユニットに、すぐに先行するNALユニットとして定義することができる。復号化順序において、プレフィックスNALユニットにすぐに続くNALユニットは、結合NALユニットと呼ばれることができる。プレフィックスNALユニットは、結合NALユニットと結びついたデータを含み、これは、結合NALユニットの部分であると考えることができる。プレフィックスNALユニットは、SVCまたはMVC復号化プロセスが使用中であるとき、ベース層/ビュー符号化スライスの復号化に影響するシンタックス要素を含むのに用いることができる。H.264/AVCベース層/ビュー・デコーダは、その復号化プロセスにおいて、プレフィックスNALユニットを省略することができる。
スケーラブル・マルチビュー・コーディングにおいては、同じビットストリームは、複数のビューの符号化ビュー構成要素を含むことができ、少なくともいくつかの符号化ビュー構成要素は、品質および/または空間スケーラビリティを使用して符号化できる。
テクスチャ・ビューとは、通常のビデオ・コンテンツを表現し、例えば、通常のカメラを使用して捕捉され、普通は、ディスプレイ上でのレンダリングに適切なビューのことである。テクスチャ・ビューは、典型的には、3つの構成要素、つまり、1つのルマ構成要素と2つのクロマ構成要素を有するピクチャを備えている。下記においては、テクスチャ・ビューは典型的には、別途、例えばルマ・テクスチャ・ピクチャおよびクロマ・テクスチャ・ピクチャの用語で示されない限り、すべてのその構成要素ピクチャまたはカラー構成要素を備えている。
深度ビューとは、カメラセンサからのテクスチャ・サンプルの距離情報、またはテクスチャ・ビューサンプルと、別のビューにおけるそれぞれのテクスチャ・サンプルの間のディスパリティまたはパララックス、または類似の情報を表現するビューのことである。深度ビューは、テクスチャ・ビューのルマ構成要素と類似している1つの構成要素を有している深度ピクチャ(深度マップとしても知られている)を備えることができる。深度マップは、画素毎の深度情報またはそれに類似のものを有している画像である。例えば、深度マップにおける各サンプルは、それぞれのテクスチャ・サンプルまたは複数のテクスチャ・サンプルの、カメラが存在するプレーンからの距離を表現している。言い換えれば、z軸がカメラの撮影軸に沿っている(したがって、カメラが存在するプレーンに直交している)場合は、深度マップにおけるサンプルは、z軸上の値を表現する。深度マップ値のセマンティックスは、例えば、下記を含むことができる。1.符号化深度ビュー構成要素における各ルマ・サンプル値は、リアルワールド距離(Z)値の逆数、つまり1/Zであって、8ビットルマ表現のために、0から255(両者の値も含めて)の範囲のような、ルマ・サンプルの動的範囲において正規化された逆数を表現する。正規化は、量子化1/Zが、ディスパリティに関して一様な方法で行うことができる。2.符号化深度ビュー構成要素における各ルマ・サンプル値は、リアルワールド距離(Z)値の逆数、つまり1/Zであって、8ビットルマ表現のために、0から255(両者の値も含めて)の範囲のような、ルマ・サンプルの動的範囲に、区分的線形マッピングのようなマッピング関数f(1/Z)またはテーブルを使用してマップされる逆数を表現する。言い換えれば、深度マップ値は、関数f(1/Z)の適用という結果になる。3.符号化深度ビュー構成要素における各ルマ・サンプル値は、8ビットルマ表現のために、0から255(両者の値も含めて)の範囲のような、ルマ・サンプルの動的範囲において正規化されたリアルワールド距離(Z)値を表現する。4.符号化深度ビュー構成要素における各ルマ・サンプル値は、現在の深度ビューから別の、示されたまたは導出された深度ビューまたはビューの場所までのディスパリティまたはパララックス値を表現する。
深度ビュー、深度ビュー構成要素、深度ピクチャ、および深度マップのような語句は、種々の実施形態を記述するために使用されるが、深度マップ値のいかなるセマンティックスも、制限されることはないが、上記の実施形態を含む種々の実施形態において使用できることが理解されるべきである。例えば、本願発明の実施形態は、サンプル値がディスパリティ値を示す深度ピクチャに対して適用できる。
符号化深度マップを含んでいるビットストリームを作成または修正する符号化システムまたは任意の他のエンティティは、深度サンプルのセマンティックスおよび深度サンプルのビットストリームへの量子化方式の情報を作成して含むことができる。深度サンプルのセマンティックスおよび深度サンプルの量子化方式のそのような情報は、例えば、ビデオ・パラメータ・セット構造、シーケンス・パラメータ・セット構造、またはSEIメッセージに含むことができる。
深度強化ビデオとは、1つ以上の深度ビューを有している深度ビデオと関連付けられている1つ以上のビューを有しているテクスチャビデオのことである。深度強化ビデオの表現のために多数のアプローチが使用でき、このアプローチにはビデオプラス深度(V+D)、マルチビュー・ビデオプラス深度(MVD)、および層化深度ビデオ(LDV)の使用が含まれる。ビデオプラス深度(V+D)表現においては、テクスチャのシングルビューおよびそれぞれの深度のビューが、テクスチャピクチャおよび深度ピクチャそれぞれのシーケンスとして表現される。MVD表現は、多数のテクスチャ・ビューおよびそれぞれの深度ビューを含む。LDV表現においては、中心ビューのテクスチャおよび深度は従来通りに表現されるが、他のビューのテクスチャおよび深度は部分的に表現され、中間ビューの正しいビュー合成に対して要求される非遮蔽領域のみをカバーする。
テクスチャ・ビュー構成要素は、単一のアクセス・ユニットにおけるビューのテクスチャの符号化表現と定義できる。深度強化ビデオビットストリームにおけるテクスチャ・ビュー構成要素は、それにより、シングルビューまたはマルチビューデコーダは、たとえ深度ビューを復号化する能力を有していなくても、テクスチャ・ビューを復号化できるように、シングルビューテクスチャビットストリームまたはマルチビューテクスチャビットストリームと互換性のある方法で符号化できる。例えば、H.264/AVCデコーダはシングルテクスチャ・ビューを、深度強化H.264/AVCビットストリームから復号化できる。テクスチャ・ビュー構成要素は、代替として、H.264/AVCまたはMVCデコーダのようなシングルビューまたはマルチビューテクスチャ復号化が可能なデコーダが、例えば、深度ベースコーディングツールを使用しているために、テクスチャ・ビュー構成要素を復号化できないような方法で符号化できる。深度ビュー構成要素は、単一のアクセス・ユニットにおけるビューの深度の符号化表現と定義できる。ビュー構成要素対は、同じアクセス・ユニット内の同じビューのテクスチャ・ビュー構成要素と深度ビュー構成要素と定義できる。
深度強化ビデオは、テクスチャおよび深度が互いに独立して符号化されるように符号化できる。例えば、テクスチャ・ビューは、1つのMVCビットストリームとして、そして深度ビューは別のMVCビットストリームとして符号化できる。深度強化ビデオはまた、テクスチャと深度が一緒に符号化されるようにも符号化できる。テクスチャおよび深度ビューの一緒のコーディングの形状においては、テクスチャピクチャのいくつかの復号化サンプル、またはテクスチャピクチャの復号化のためのデータ要素は、深度ピクチャのいくつかの復号化サンプル、または、深度ピクチャの復号化プロセスにおいて得られるデータ要素から予測または導出される。代替として、または、追加的に、深度チャピクチャのいくつかの復号化サンプル、または深度ピクチャの復号化のためのデータ要素は、テクスチャピクチャのいくつかの復号化サンプル、または、テクスチャピクチャの復号化プロセスにおいて得られるデータ要素から予測または導出される。別のオプションにおいては、テクスチャの符号化ビデオデータおよび深度の符号化ビデオデータは、互いからは予測されず、または一方は、他方に基づいては符号化/復号化されないが、符号化テクスチャおよび深度ビューは、符号化において同じビットストリームに多重化でき、復号化においてビットストリームから多重分離できる。更に別のオプションにおいては、テクスチャの符号化ビデオデータは、例えば、スライス層の下においては、深度の符号化ビデオデータからは予測されないが、テクスチャ・ビューおよび深度ビューのハイレベルコーディング構造のいくつかは、共有でき、または互いから予測できる。例えば、符号化深度スライスのスライス・ヘッダは、符号化テクスチャスライスのスライス・ヘッダから予測できる。更に、パラメータ・セットのいくつかは、符号化テクスチャ・ビューと符号化深度ビューの両者により使用できる。
深度強化ビデオ・フォーマットは、いかなる符号化されたビューによっても表現されない、カメラ位置における仮想ビューまたはピクチャの生成を可能にする。一般的に、任意の深度−画像・ベース・レンダリング(DIBR)アルゴリズムを、ビュー合成に使用することができる。
ビュー合成ピクチャは、また、合成参照コンポーネントと呼ぶことができる。これは、ビュー合成予測のために使用することができるサンプルを含むように定義することができる。合成参照コンポーネントは、ビュー合成予測のための参照ピクチャとして使うことができるが、しかし、典型的には、出力、または、表示されない。ビュー合成ピクチャは、符号化されるか、復号化されるピクチャに関しては、同じカメラ・パラメータを仮定する同じカメラ位置に対して生成することができる。
ビュー合成ピクチャを、ビュー間参照ピクチャで行ったのと同様にして、参照ピクチャ・リストに導入することができる。ビュー合成予測の場合における、参照ピクチャ・リストでの信号伝達および動作は、H.264/AVCまたはHEVCで指定されているものと同一であるか類似しているままでありえる。
VSPに起因する合成ピクチャは、例えば、時間またはビュー間参照フレームに続く初期参照ピクチャ・リストであるリスト0とリスト1に含むことができる。しかしながら、参照ピクチャ・リスト修正シンタックス(つまり、RPLRコマンド)は、VSP参照ピクチャをサポートするように拡張できるため、エンコーダは、参照ピクチャ・リストを任意の順序に順序付けすることが可能で、最終順序をビットストリームにおいてRPLRコマンドで表示して、デコーダに同じ最終順序を有する参照ピクチャ・リストを再構築させることが可能である。
動き情報導出などの、ビュー合成参照ピクチャから予測するプロセスは、H.264/AVCまたはHEVCのインター、層間、および、ビュー間予測に対して指定されたプロセスと同一であるか、類似しているままでありえる。代替として、または、追加的に、ビュー合成予測のための特定の符号化モードは、ビットストリームにおいて、エンコーダによって指定され、信号伝達されることができる。言い換えると、VSPは、代替的に、また、いくつかの符号化および復号化の構成において、イントラ、インター、ビュー間および他の符号化モードから別のモードとして使用することができる。例えば、VSPスキップ/直接モードにおいて、動きベクトル差異コーディング(デコーディング)、および、たとえば、変換ベース・コーディングを使用した残差予測誤差のコーディング(デコーディング)は、また、省略することができる。例えば、マクロ・ブロックが、ビットストリームで、スキップ/直接モードを使用して符号化されることを示すことができるならばそれは、さらに、VSPフレームが参照として使用されているか否かを示すことができる。代替として、または、追加的に、完全なビュー合成参照ピクチャよりむしろ、または、それに加えて、ビュー合成参照ブロックは、エンコーダやデコーダで生成することができ、種々の予測プロセスに対する予測参照として使用することができる。
多くのビデオ・エンコーダは、例えば、所望のマクロ・ブロック・モードおよび関連動きベクトルのようなレートディストーション最適コーディング・モードを見出すために、ラグランジアン・コスト関数を利用する。このタイプのコスト関数は、画像領域における、損失のあるコーディング法に起因する正確または推定画像ディストーションと、画像領域における画素/サンプル値を表現するために要求される情報の正確または推定量を一緒につなぎ合わせるために、重み付けファクタまたはλを使用する。ラグランジアン・コスト関数は、方程式
C=D+λR
で表現でき、ここで、Cは最小化されるラグランジアン・コスト、Dは、現在考慮されているモードおよび動きベクトルの画像ディストーション(例えば、元々の画像ブロックと符号化画像ブロックにおける画素/サンプル値の間の最小二乗誤差)、λはラグランジアン係数、そして、Rは、デコーダにおいて画像ブロックを再構築するために必要なデータを表現するために必要なビット数である(候補の動きベクトルを表現するためのデータ量も含まれている)。
コーディング標準は、サブ・ビットストリーム抽出プロセスを含むことができ、例えば、SVC、MVC、およびHEVCにおいて指定されている。サブ・ビットストリーム抽出プロセスは、NALユニットをサブ・ビットストリームに移動することによりビットストリームを変換することに関連している。サブ・ビットストリームは依然として標準に準拠している。例えば、HEVC標準草案においては、選択された値より大きいtemporal_idを有しているすべてのVCL NALユニットを除外し、その他のすべてのVCL NALユニットを含むことにより作成されるビットストリームは、準拠状態に留まっている。HEVC標準草案の別のバージョンにおいて、サブ・ビットストリーム抽出プロセスは、入力としてTemporalIdやLayerIdの値のリストを取得し、入力TemporalId値より大きいTemporalId、または、LayerIdの値の入力リストにおける値の間にはないlayer_id値を有する、ビットストリームからすべてのNALユニットを取り除くことによってサブ・ビットストリーム(ビットストリーム・サブセットとしても知られる)を導出する。
HEVC草案においては、デコーダが使用する動作点は、以下の通り、変数TargetDecLayerIdSetおよびHighestTidを通してセットすることができる。復号化されるべきVCL−NALユニットのlayer_idに対する値のセットを指定するリストTargetDecLayerIdSetは、デコーダ制御ロジックなど、外部手段により指定することができる。外部手段で指定されない場合には、リストTargetDecLayerIdSetは、layer_idに対する1つの値を含み、これは、ベース層を示す(すなわち、HEVC標準草案で、0に等しい)。最も高い時間的サブ・レイヤを識別する変数HighestTidは、外部手段で指定されることができる。外部手段で指定されない場合には、HighestTidは、例えば、HEVC標準草案における、sps_max_sub_layers_minus1の値など、符号化ビデオ・シーケンスまたはビットストリームに存在することができる最も高いTemporalId値にセットされる。サブ・ビットストリーム抽出プロセスは、入力としてTargetDecLayerIdSetおよびHighestTidに適用することができる。その出力は、BitstreamToDecodeと呼ばれるビットストリームに割り当てられる。復号化プロセスは、BitstreamToDecodeにおける各々の符号化ピクチャにたいして動作することができる。
図9は、そこで種々の実施形態をインプリメントすることができる一般的なマルチメディア通信システムのグラフィック表現である。図9で示すように、データ・ソース900は、アナログ、非圧縮デジタルまたは圧縮デジタル・フォーマット、あるいは、これらの任意のフォーマットの組合せで、ソース信号を提供する。エンコーダ910は、ソース信号を、符号化メディア・ビットストリームに符号化する。復号化されるべきビットストリームは、仮想的に任意のタイプのネットワークの中に位置するリモート・デバイスから直接または間接的に受信することができることに留意する。追加的に、ビットストリームは、ローカル・ハードウェアまたはソフトウェアから受信することができる。エンコーダ910は、オーディオおよびビデオなどの、1つより多いメディア・タイプを符号化することができる。または、1つ以上のエンコーダ910が、ソース信号の異なるメディア・タイプを符号化するのに要求される。エンコーダ910は、また、グラフィクスやテキストなどの、合成的に生成された入力を得ることができる。あるいは、それは、合成メディアの符号化されたビットストリームを生成することができる。下記においては、1つのメディア・タイプの1つの符号化されたメディア・ビットストリームの処理だけを、説明を単純化するために考慮する。しかしながら、典型的には、マルチメディア・サービスはいくつかのストリームを含む(典型的には、少なくとも1つのオーディオおよびビデオ・ストリーム)ことに留意する。また、システムは、多くのエンコーダを含むことができるが、図9においては、一般性を失うことなく、説明を単純化するために、1つのエンコーダ910だけが、表されることに留意する。ここに含まれたテキストと例が、特に符号化プロセスを記述することができるけれども、当業者は、同じ概念よび原則も、対応する復号化プロセスに適用することができ、および、その逆もあり得ることを理解することが、さらに理解されなければならない。
符号化メディア・ビットストリームは、ストレージ920へ移される。ストレージ920は、符号化メディア・ビットストリームを格納するために任意のタイプの大容量メモリを備えることができる。ストレージ920における符号化メディア・ビットストリームのフォーマットは、基本自己内蔵型ビットストリーム・フォーマットであることができる。または、1つ以上の符号化メディア・ビットストリームを、コンテナ・ファイルにカプセル化することができる。1つ以上のメディア・ビットストリームをコンテナ・ファイルにカプセル化する場合には、ファイル発生器(図示せず)は、ファイルのもう1つのメディア・ビットストリームを格納するために使用することができ、ファイル・フォーマット・メタデータをつくり、これも、また、ファイルに格納される。エンコーダ910またはストレージ920は、ファイル発生器を備えることができる。または、ファイル発生器は、任意選択的に、エンコーダ910またはストレージ920に動作的に接続される。いくつかのシステムは、「ライブ」動作し、すなわち、ストレージを省略し、符号化メディア・ビットストリームを、エンコーダ910から、直接センダー930へ移送する。符号化メディア・ビットストリームは、次に、センダー930に移送される。これは、また、必要に応じて、サーバとも呼ばれる。伝送において使用されるフォーマットは、基本自己内蔵型ビットストリーム・フォーマット、パケット・ストリーム・フォーマットであることができる、あるいは、1つ以上の符号化メディア・ビットストリームを、コンテナ・ファイルにカプセル化することができる。エンコーダ910、ストレージ920およびサーバ930は、同一の物理的デバイスに存在することができる。あるいは、それらは、別のデバイスに含まれることができる。エンコーダ910およびサーバ930は、ライブ・リアルタイム・コンテンツで動作することができる。この場合、符号化メディア・ビットストリームは、典型的には永久には格納されないが、コンテンツ・エンコーダ910、および/またはサーバ930に短い期間、バッファされ、遅延、移送遅延および符号化メディアビット・レートの処理において、バリエーションを滑らかにする。
サーバ930は、通信プロトコル・スタックを用いて符号化メディア・ビットストリームを送信する。スタックは、RTP(Real−Time Transport)プロトコル、UDP(User Datagram Protocol)およびとインターネット・プロトコル(IP)を含む。しかし、これらに限定されるものではない。通信プロトコル・スタックが、パケット指向であるとき、サーバ930は、符号化メディア・ビットストリームをパケットにカプセル化する。例えば、RTPが使用されるとき、サーバ930は、RTPペイロード・フォーマットにしたがって、符号化メディア・ビットストリームをRTPパケットにカプセル化する。典型的には、各々のメディア・タイプには、専用のRTPペイロード・フォーマットがある。システムは、複数のサーバ930を含むことができるが、簡単のために、以下の説明では、1つのサーバ930のみを考慮することに再び留意する。
メディア・コンテンツが、ストレージ920に対する、または、データをセンダー930に入力するために、コンテナ・ファイルにカプセル化されるならば、センダー930は、「ファイル送信パーサ」(図示しない)を含む、あるいは、それに動作的に接続することができる。特に、コンテナ・ファイルが同様に移送されないが、含まれた符号化メディア・ビットストリームの少なくとも1つが、通信プロトコルでの移送のためにカプセル化されるならば、ファイル送信パーサは、通信プロトコルで搬送される符号化メディア・ビットストリームの適切な部分に位置する。ファイル送信パーサは、また、例えば、パケット・ヘッダおよびペイロードなど、通信プロトコルのための正しいフォーマットを構築する際に助けとなる。マルチメディア・コンテナ・ファイルは、通信プロトコル上で含まれたメディア・ビットストリームの少なくとも1つのカプセル化のためにISOベース・メディア・ファイル・フォーマットにおけるヒント・トラックなどのカプセル化命令を含むことができる。
サーバ930は、通信ネットワークを通して、ゲートウェイ940に接続していても、接続していなくてもよい。また、あるいは、代替的に、ミドル・ボックスまたはメディア・アウェア・ネットワーク要素(MANE)と言われるゲートウェイ940は、本願1つの通信プロトコル・スタックから別の通信プロトコル・スタックにしたがって、パケット・ストリームの翻訳、データ・ストリームのマージングとフォーキング、および、優勢なダウンリンク・ネットワーク状態にしたがってフォワードされたストリームのビット・レートをコントロールすることなど、ダウンリンクやレシーバ能力にしたがって、データ・ストリームの操作など、異なるタイプの機能を実行することができる。ゲートウェイ940の例は、マルチポイント会議コントロール・ユニット(MCU)、回線スイッチおよびパケット・スイッチ・ビデオ電話の間のゲートウェイ、PoC(Push−to−talk over Cellular)サーバ、DVB−H(digital video broadcasting−handheld)システムにおけるIPエンカプシュレータまたは、放送伝送をローカルにホーム・ワイヤレス・ネットワークにフォワードするセットトップ・ボックスを含む。RTPが使用されるとき、ゲートウェイ940は、RTPミキサーまたはRTPトランスレータと呼ばれ、RTP接続のエンド・ポイントとして働くことができる。センダー930とレシーバ950の間の接続におけるゲートウェイは、ゼロから任意数だけ存在し得る。
システムは、1つ以上のレシーバ950を含み、それは、典型的には、符号化メディア・ビットストリームに送られた信号を受信し、復調し、および/または、カプセルから取り出すことができる。符号化メディア・ビットストリームは、レコーディング・ストレージ955へ移送される。レコーディング・ストレージ955は、符号化メディア・ビットストリームを格納するための任意タイプの大容量メモリを備えることができる。レコーディング・ストレージ955は、代替的に、または、追加的に、ランダム・アクセス・メモリなどの計算メモリを備えることができる。レコーディング・ストレージ955における符号化メディア・ビットストリームのフォーマットは、基本自己内蔵型ビットストリーム・フォーマットであることができる、あるいは、1つ以上の符号化メディア・ビットストリームを、コンテナ・ファイルにカプセル化することができる。互いに結びついたオーディオ・ストリームとビデオ・ストリームなどの、多重の符号化メディア・ビットストリームが存在する場合には、コンテナ・ファイルが、典型的には使用され、そして、レシーバ950は、力ストリームからコンテナ・ファイルを生成するコンテナ・ファイル生成器を含む、あるいは、それに接続することができる。いくつかのシステムは、「ライブ」動作し、すなわち、レコーディング・ストレージ955を省略し、符号化メディア・ビットストリームを、レシーバ950から、直接デコーダ960へ移送する。いくつかのシステムにおいて、レコードされたストリームのごく最近の部分だけ、例えば、レコードされたストリームのごく最近の10分の抜粋、が、レコーディング・ストレージ955の中で維持され、一方、いかなる初期のレコードされたデータも、レコーディング・ストレージ955から廃棄される。
符号化メディア・ビットストリームは、レコーディング・ストレージ955からデコーダ960へ移送される。オーディオ・ストリームとビデオ・ストリームなどの、多くの符号化メディア・ビットストリームがあり、互いに関連して、コンテナ・ファイルにカプセル化される、または、単一のメディア・ビットストリームが、例えば、より簡単なアクセスのためにコンテナ・ファイルにカプセル化されるならば、ファイル・パーサ(図示せず)を、コンテナ・ファイルから各々の符号化メディア・ビットストリームをカプセルから取り出すのに用いる。レコーディング・ストレージ955またはデコーダ960は、ファイル・パーサ、を備えることができる。あるいは、ファイル・パーサは、レコーディング・ストレージ955またはデコーダ960に接続される。
符号化メディア・ビットストリームは、デコーダ960でさらに処理されることができ、その出力は、1つ以上の非圧縮メディア・ストリームである。最後に、レンダリング装置970は、非圧縮メディア・ストリームを、たとえば、スピーカまたはディスプレイで、再生することができる。レシーバ950、レコーディング・ストレージ955、デコーダ960およびレンダリング装置970は、同一の物理的デバイスに存在することができる。あるいは、それらは、別のデバイスに含まれることができる。
HEVCのスケーラブルな拡張、または、HEVCと同様の単一層符号化スキームに対する任意のスケーラブルな拡張において、RAPピクチャは、以下の特性の1つ以上を持つように指定することができる。
− 0より大きいnuh_layer_idを有するRAPピクチャのNALユニット・タイプ値は、強化層ランダム・アクセス・ポイントを示すために使用することができる。
− 強化層RAPピクチャは、すべてのその参照層が、EL RAPピクチャの前に復号化されたときに、その強化層の復号化を開始することを可能にするピクチャとして定義することができる。
− 層間予測は、0より大きいnuh_layer_idを有するCRA NALユニットに対して許容される。一方、インタ予測は、認められない。
− CRA NALユニットは、層にわたって整列する必要はない。言い換えれば、CRA NALユニット・タイプは、nuh_layer_idの特定の値を有するすべてのVCL NALユニットに対して使用することができる。一方、別のNALユニット・タイプは、同一のアクセス・ユニットのnuh_layer_idの別の特定の値を有するすべてのVCL−NALユニットに対して使用することができる。
− BLAピクチャは、0に等しいnuh_layer_idを有する。
− IDRピクチャは、0より大きいnuh_layer_idを有することができ、それらは、層間予測であることができる。一方、インタ予測は、認められない。
− IDRピクチャは、層にない、あるいは、すべての層におけるアクセス・ユニットに存在する。すなわち、IDR nal_unit_typeは、完全なIDRアクセス・ユニットを示す。ここで、すべての層の復号化を開始することができる。
− STLAピクチャ(STLA_W_DLPおよびSTLA_N_LP)は、それぞれ、0より大きいnuh_layer_idを有するNALユニット・タイプ、BLA_W_DLPおよびBLA_N_LPで示すことができる。STLAピクチャは、さもなければ、0より大きいnuh_layer_idを有するIDRピクチャと同一でありえる。しかし、層にわたって整列する必要はない。
− ベース層におけるBLAピクチャの後に、強化層がRAPピクチャを含み、すべてのその参照層の復号化が開始されたとき、強化層の復号化が、開始される。
− 強化層の復号化がCRAピクチャから始まるとき、そのRASLピクチャは、BLAピクチャのRASLピクチャと同様に取り扱われる。
− 層ダウン・スイッチングまたは参照ピクチャの意図的でない損失は、失った参照ピクチャから識別される。この場合、関連した強化層の復号化は、その強化層の上の次のRAPピクチャだけから続ける。
下記において、適応解像度変更(ARC)使用ケースのいくらか詳細が、スケーラブル・ビデオ・コーディング・フレームワークを使用して、更に詳細に記述される。スケーラブル・ビデオ・コーディングが、解像度変更のためのメカニズムを本来的に含んでいるので、適応解像度変更は、図7に示されるように、効率的にサポートすることができた。
図7の例において、スイッチングは、ピクチャ3で起こり、デコーダは、BL0−BL1−BL2−BL3−EL3−EL4−EL6−EL6...のピクチャでのビットストリームを受信する。ピクチャBL0ーBL3は、ベース層のピクチャであり、ピクチャEL3−EL6...は、強化層のピクチャである。この例では、ピクチャBL0−BL3、および、EL4−EL6は、イントラ層予測だけを使用する。しかし、ピクチャEL3は、層間予測を使用することもできる。
いくつかの例示的インプリメンテーションにおいては、シーケンス・レベル信号伝達を、ビットストリームにおいて解像度変更があるかどうかをデコーダに示すために使用することができる。これは、例えば、2つのフラグを使うことにより、または、シーケンス・レベルの他の指標により、実行することができる。これらのフラグは、inter_layer_pred_for_el_rap_only_flag、および、single_layer_for_non_rap_flagと呼ぶことができる。このinter_layer_pred_for_el_rap_only_flagは、ビデオ・パラメータ・セットVPSに配置することができ、強化層におけるランダム・アクセス・ピクチャ(RAP)だけが、層間予測を利用することができること、および、強化層における非RAPピクチャは、決して層間予測を利用しないことを示す。single_layer_for_non_rap_flagは、符号化ビデオ・シーケンスは、適応解像度変更操作を実行するように拘束されていることを信号伝達するのに用いることができる。single_layer_for_non_rap_flagは、とりわけ、スイッチング・ピクチャを除いて、シーケンスの各々のAUは、単一の層から単一のピクチャを含む(これは、BL画像であっても、そうでなくてもよい)こと、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを示す。
VPSにおけるこれらの制限を示すことは、デコーダが、デコーダ資源は、セッション・スタートにしかるべく割り当てることができるように、スケーラビリティは、解像度変更を達成することを除いて使用されないことを知ることを可能にする。加えて、SHVCデコーダは、いくつかのアクセス・ユニットが、BLピクチャを必ずしも含むというわけではないことを知っている必要があり得る。これは、次の場合に有用である。SHVCデコーダには、低解像度ビットストリーム(例えば、720p)を復号化する能力があると仮定する。適応解像度変更が使用され、そして、スイッチングが、720pから1080pまで起こるならば、それは、受信されたビットストリームのすべてのピクチャを復号化して、表示することができないであろうことをデコーダに示すメカニズムがなければならない。
2つのフラグで機能を分離する1つの理由は、エンコーダは、当初すべてのアクセス・ユニットに対して、2つの層を送るが、ミドル・ボックスは、複数の受信者に対して、ビットストリームを異なるようにのトリムすることができることである。たとえば、ミドル・ボックスは、いくつかの受信者に対してだけベース層、いくつかの受信者に対して適応解像度変更可能ビットストリーム、および、いくつかの受信者に対して両方の層を送ることができた。この場合、エンコーダは、inter_layer_pred_for_el_rap_only_flagを1に、single_layer_for_non_rap_flagを0にセットできる。ミドル・ボックスが、このスケーラブル・ビットストリーム、適応解像度変更可能ビットストリームにをトリムするならば、ミドル・ボックスは、single_layer_for_non_rap_flagを、対応するビットストリームに対して、1に等しくセットすることができる。いくつかの実施形態において、ミドル・ボックスは、レシーバの能力、および/または選好、および/またはモード選択(例えば、符号化プロファイルとレベルの選択)を得る。そして、しかるべく、移送されたストリームをトリップする。能力や選好やモード選択は、たとえば、SDPオファー/アンサー・メカニズムを通して得ることができる。あるいは、レシーバで使用している特定のレシーバや特定の器材に対する能力や選好やモード選択に関する情報を有するサーバから受信することができる。
ミドル・ボックスに対する上の例と同様に、プレーヤまたはデコーダは、また、すべてのアクセス・ユニットに対して2つ以上の層を受信することもできるが、どの空間的分解能を復号化するのかについて、たとえば、利用可能な計算資源、および/または、空きメモリ、および/または、ディスプレイ・ウィンドウ・サイズに基づいて、決めることができる。プレーヤやデコーダは、復号化プロセスより前に、または、復号化プロセスの一部としてのどちらでも、ビットストリームから不必要な、復号化のために必要とされない、符号化ピクチャを取り除くことができる。たとえば、強化層のための解像度が、デコーダの出力として望ましく、inter_layer_pred_for_el_rap_only_flagが1に等しいならばベース層のピクチャは、復号化順序で次であるEL RAPピクチャの後に取り除くことができる。
single_layer_for_non_rap_flagが1と等しいとき、エンコーダ、ミドル・ボックスまたはプレーヤなどビットストリームをつくったエンティティは、たとえば、output_flag、または、0に等しい同様の標示を有するそのようなベース層ピクチャを割り当てることによって、出力するものではないEL RAPピクチャも含むアクセス・ユニットのベース層ピクチャを構成することができる。
いくつかの実施形態において、ミドル・ボックスは、エンコーダから符号化されたビットストリームを受信し、ビットストリームやビットストリームの修正版を1人以上の受信者に送るネットワーク要素であり得る。
vps_extensionシンタックスの例が、以下に記述される。
1に等しいinter_layer_pred_for_el_rap_only_flagは、0より大きいlayer_idを有する、いかなる非RAPピクチャも、層間予測を使用しないことを示す。0に等しいinter_layer_pred_for_el_rap_only_flagは、0より大きいlayer_idを有する、いかなる非RAPピクチャも、層間予測を使用するしても、使用しなくてもよいことを示す。
inter_layer_pred_for_el_rap_only_flagが1に等しいとき、num_direct_ref_layers[layerId]および、ref_layer_id[layerId][j]は、layerIdに等しいlayer_idを有するRAPピクチャに適用する。一方、layerIdに等しいlayer_idを有する非RAPピクチャは、実際に、層間予測に対して、ref_layer_id[layerId][j]によって示される層を使用しない。
1と等しいsingle_layer_for_non_rap_flagは、すべてのアクセス・ユニットにおけるVCL−NALユニットが、同じlayer_id値を持つこと、あるいは、または、2つのlayer_idの値は、アクセス・ユニットにおけるVCL−NALユニットによって使用され、より大きなlayer_id値を有するピクチャは、RAPピクチャであることを示す。0に等しいsingle_layer_for_non_rap_flaghは、layer_idの値は、他の部分において特定されるであろう制約を越えて、制約されても、されなくてもよいことを示す。
上の機能は、強化層い対して新規のNALユニット・タイプを導入することによって、代替的にインプリメントされることができた。そして、それは、Rate Quality Layer Access(RQLA)と呼ばれることができる。適応解像度変更に適用できることが示されるELピクチャは、略記されたRQLAであることができる。RQLAピクチャは、イントラ・ピクチャ予測と層間予測にみを利用することができ、インタ予測(すなわち、時間的予測)を使用しない。可能なシーケンス・レベル信号伝達の代わりに、またはそれに加えて、同じ強化層において、RQLAピクチャに続くピクチャを制約することは、例えば、次のように制約することができる。表示順序において、RQLAピクチャに続く任意のピクチャは、i)ディスプレイ順序でRQLAピクチャに先行する同じ層の他のどのピクチャへの依存もない、ii)非RAPピクチャに対する層間予測でない、の2つの制約を持つことができる。代替として、または、追加的に、制約は、復号化順序に相対的であることができる。復号化順序のRQLAピクチャに続く任意のピクチャは、i)復号化順序でRQLAピクチャに先行する同じ層の他のどのピクチャへの依存もない、ii)非RAPピクチャに対する層間予測でない、の2つの制約を持つことができる。
これは、たとえば、以下の通りに示されることができた。現在のピクチャがRQLAピクチャであるとき、層間予測のみが使用され、時間的予測は利用されない。現在のピクチャが、ディスプレイ順序において、現在のピクチャのものと等しいいLayerIdを有するRQLAピクチャに続くピクチャであるとき、表示順序において、RQLAピクチャに先行したRefPicSetStCurrBefore、RefPicSetStCurrAfter、または、RefPicSetLtCurrに含まれるピクチャが存在しない。現在のピクチャが、ディスプレイ順序において、現在のピクチャのものと等しいいLayerIdを有するRQLAピクチャに続くピクチャであるとき、層間予測は利用されない。
RQLAピクチャは、(強化層における)RAPピクチャとみなすことができる。
RQLAピクチャに対する復号化を含む復号化操作は、以下のy9おうに特定することができる。
現在のピクチャが、0に等しいnuh_layer_idを有するとき、以下を適用する。
− 現在のピクチャが、ビットストリームにおける第1のピクチャであるCRAピクチャ、または、IDRピクチャ、または、BLAピクチャであるとき、変数LayerInitialisedFlag[0]は、1に等しくセットされ、変数LayerInitialisedFlag[i]は、1から63までのiのすべての値に対して、1に等しくセットされる。
− ベース層ピクチャに対する復号化プロセスは、例えば、HEVC仕様にしたがって、適用される。
現在のピクチャが0より大きいnuh_layer_idを持つとき、現在のピクチャCurrPicの復号化に対して、次が適用される。以下の手順のステップ(それらの全部またはサブセットにおいて)は、スライス・セグメント層、および上において、シンタックス要素を使用している復号化プロセスを指定する。
− ピクチャ・オーダー・カウントに関する変数は、同じアクセス・ユニットにおける、0に等しいnuh_layer_idを有するピクチャに対するのと同じ値に等しくセットされる。
− (例えば、前に記述されたような)参照ピクチャ・セットに対する復号化プロセス。ここで、参照ピクチャは、「参照に不使用」または、「長期の参照のために使用される」とマークすることができる(これは、ピクチャの第1のスライス・セグメントに対して呼び出す必要があるだけである)。
− CurrPicが、IDRピクチャであるとき、LayerInitialisedFlag[nuh_layer_id]は、1に等しく設定される。
− CurrPicが、CRAピクチャ、STLAピクチャ、または、RQLAピクチャの1つであり、LayerInitialised[nuh_layer_id]が、0と等しく、LayerInitialisedFlag[refLayerId]が、ref_layer_id[nuh_layer_id][j]に等しい、すべてのrefLayerIdの値に対して1と等しく、ここで、jは、0から、num_direct_ref_layers[nuh_layer_id]−1の範囲にあるとき、次が適用される。
− LayerInitialisedFlag[nuh_layer_id]が、1と等しく設定される。
− CurrPicがCRAピクチャであるとき、利用不可の参照ピクチャを生成するために復号化プロセスを呼び出すことができる。
− LayerInitialisedFlag[nuh_layer_id]が、以下の全てが真であるとき0と等しく設定される。
− CurrPicが、非RAPピクチャである。
− LayerInitialisedFlag[nuh_layer_id]が、1と等しい。
− 次の1つ以上が真である。
− RefPicSetStCurrBefore[i]のあらゆる値が、iが、0からNumPocStCurrBefore−1までの範囲で、「参照ピクチャでない」と等しい。
− iが、0からNumPocStCurrAfter−1までの範囲で、RefPicSetStCurrAfter[i]のあらゆる値が、「参照ピクチャでない」と等しい。
−iが、0からNumPocLtCurr−1までの範囲で、RefPicSetLtCurr[i]のあらゆる値が、「参照ピクチャでない」と等しい。
− LayerInitialisedFlag[nuh_layer_id]が、1と等しいとき、ピクチャのスライスが、復号化される。LayerInitialisedFlag[nuh_layer_id]が、0と等しいとき、ピクチャのスライスが、復号化されない。
− PicOutputFlag(ピクチャ出力をコントロール、0のとき、ピクチャは、デコーダにより出力されない、1のとき、ピクチャは、例えば、1に等しいno_output_of_prior_pics_flag、または、同様のコマンドを有するIDRピクチャによってその後キャンセルされない限り、デコーダにより出力される)は、以下のようにセットされる。
− LayerInitialisedFlag[nuh_layer_id]が、0と等しいならば、PicOutputFlagは、0と等しく設定される。
− それ以外の場合は、現在のピクチャがRASLピクチャであり、復号化順序において、同じnuh_layer_iを有する前のRAPピクチャが、CRAピクチャであり、LayerInitialisedFlag[nuh_layer_id]の値が、CRAピクチャのものの復号化プロセスの開始時点において、0と等しかったならば、PicOutputFlagは、0と等しく設定される。
− それ以外の場合は、PicOutputFlagは、pic_output_flagと等しく設定される。−PまたはBスライスの各々に対する復号化プロセスの初めにおいて、参照ピクチャ・リスト構築のための復号化プロセスは、参照ピクチャ・リスト0(RefPicList0)、Bスライスを復号化するときに、参照ピクチャ・リスト1(RefPicList1)の導出のために呼び出される。
− 現在のピクチャのすべてのスライスが復号化されたあと、次が適用される。
− 復号化されたピクチャは、「短期参照のために使用」と、マークされる。
− TemporalIdが、HighestTidと等しいならば、層間予測にために必要でない非参照ピクチャに対するマーキング処理が。入力としてのnuh_layer_idと等しいlatestDecLayerIdで、呼び出される。
この標示は、以下の通りに、代替的、または、追加的にインプリメントするkとおができた。上で提示された2つのフラグは、例示的実施形態として提供される。一方、エンコーダが、本願発明の種々の実施形態の使用を示す、および、デコーダがその使用を結論する他の例示的実施形態も、また、可能であることが理解される必要がある。たとえば、inter_layer_pred_for_el_rap_only_flagの代わりに、またはそれに加えて、ビデオ・パラメータ・セット、および/または、1つ以上の標示を含んでいる他のどのシンタックス構造も、参照層を示す2つのループ、1つは、1に等しいlayer_idを有する非RAPピクチャに対するもの、および、もう1つは、iに等しいlayer_idを有するRAPピクチャに対するものを含むことができる。別の例において、single_layer_for_non_rap_flagの代わりに、またはそれに加えて、アクセス・ユニットに存在するlayer_idの値を、示すことができる。
この1つ以上の標示を、たとえば、SEIメッセージ、または、シーケンス・パラメータ・セット、または、他のどのシンタックス構造でも配置することができる。
その標示は、ベース層からのイントラ・ピクチャ・サンプルだけが使用される(ベース層の復号化されたシンタックス要素の値が、層間予測のために使用されない)符号化方法を指すことができた。これは、特に、ベース層シンタックスは、強化層デコーダのためにアクセスできないかもしれない標準的なスケーラビリティ・シナリオに役立つことができる。
適応解像度変更概念は、例えば、品質スケーラビリティ、ビット深度スケーラビリティ、空間的スケーラビリティ、および、クロマ・フォーマット・スケーラビリティ使用ケースに対して有用でありえた。
適応解像度変更概念は、また、エンコーダへの入力し、続いて、デコーダの出力が、フレーム・パックされる、例えば、立体的ビデオ表現を含むときに、適用できる。
適応解像度変更概念は、また、ビューが、本願発明の記述における層と考えることができる、マルチビュー・ビデオ符号化に適用される。1に等しいinter_layer_pred_for_el_rap_only_flagは、したがって、非ベース・ビューにおいて、RAPピクチャだけが、ビュー間予測を利用することができることを示す。一方、ビューの中の予測は、非ベース・ビューにおいて、非RAPピクチャをとらない。1と等しいsingle_layer_for_non_rap_flagは、符号化されたビデオ・シーケンスは、ビューポイントが、切り替えられるとき以外は単一ビューを含むことを示す。ビューポイント・スイッチングが起こるアクセス・ユニットは、2つのビューを含み、そこにスイッチされるビューは、そこからスイッチされるビューにおけるピクチャからビュー間予測するこができるRAPピクチャを含む。
その1つ以上の標示は、1つ以上の目標層(層間予測を使用して)および、1つ以上の参照層の特定の組合せであることを示すことができた。
より低い解像度へのスイッチングは、例えば、次の方法の1つ以上において可能にできる。より低解像度層におけるピクチャは、層間予測なしで、RAPピクチャとして符号化することができる。適応解像度アップスイッチングが可能または実行されたアクセス・ユニットにおいて、より低解像度ピクチャは、長期参照ピクチャとして格納することができる。解像度ダウン・スイッチングを、後のアクセス・ユニットで、より低い解像度ビューにおいて、インタ予測参照として長期ピクチャを用いて可能にすることができる。エンコーダは、上記のモードの間で、適応的に、たとえば、符号化ツリーブロック・ベースで、選択することができる、そして、ビットストリームにおいて選択されたモードを示すことができる。デコーダは、ビットストリームからモードを復号化することができ、そして、それゆえに、エンコーダにより決定した適応的選択を複製することができる。より高い解像度層のピクチャは、ダウン・サンプルすることができ、下層の上でRAPピクチャを再構築するとき、層間予測に対して利用することができる。
いわゆるハイパーテキスト・トランスファー・プロトコル(HTTP)は、ビデオ・ストリーミング・アプリケーションでなど、インターネットをわたるリアルタイム・マルチメディア・コンテンツの配送のために広く使われてきた。ユーザ・データグラム・プロトコル(UDP)の上のリアルタイム移送プロトコル(RTP)の使用と違って、HTTPは、構成するのがより簡単でありえ、ファイアウォールやネットワーク・アドレス変換器(NAT)を渡ることを許されることができる。それゆえに、また、HTTPは、マルチメディアのストリーミング・アプリケーションに適用できる。
HTTPの上のストリーミングは、クライアント・デバイスでの再生のために、通常のウェブ・サーバからHTTPの上にオーディオとビデオを送るのに用いることができる。HTTPの上のストリーミングを、生放送と事前レコードされたコンテンツ(ビデオ・オン・デマンド)の両方に対して使用することができる。異なるビット・レートの複数の代替ストリームを、利用することができ、クライアント・ソフトウェアは、例えば、ネットワーク帯域幅が変わった場合に、異なるストリームの間でスイッチするることができる。ストリーミングは、また、メディア暗号化、および、HTTPS上のユーザ認証を提供することができ、例えば、そのコンテンツの無許可の利用に対して、コンテンツ・プロバイダが、その作品を保護することを可能にする。
図15は、HTTPの上のストリーミングに対する簡略化システムを表す。メディア152(例えば、オーディオ、ビデオ、テキスト)は、メディア・エンコーダ154によって、移送ストリーム156を生成するために符号化される。移送ストリーム156は、ストリーム・セグメント器158により、セグメント化される。セグメントは、別々のファイル162として格納することができる、または、セグメントは、リクエスト・ベースで、たとえば、ウェブ・ブラウザ160でスクリプトを実行することによって、移送ストリーム156から生成されることができる。セグメントは、クライアント166によるHTTP GET要求に応じてHTTP(応答)メッセージの中でウェブ・サーバ160から配布されることができる164。次に、受信クライアント166は、受信したセグメントを格納することができ、そして、セグメントからメディア・コンテンツを復号化することができる。
いくつかの実施形態において、そのセグメントを含むファイルは、メディア・セグメント・ファイルと呼ぶことができる。それらは、特定の期間のオーディオやビデオやテキストを含むことができる。たとえば、その期間は、約10秒、15秒、または、いくつかの他の長さであることができる。各々のセグメントが、同じ期間を持つ必要はないが、異なるセグメントにおいて、および/または、異なる実施形態において異なることができる。
また、インデックスファイルまたはプレイリストを提供することができる。それは、クライアントにメディア・セグメント・ファイルの位置(例えば、URL)を与えることができる。プレイリストは、生放送に対応するために、定期的にリフレッシュすることができる、ここで、メディア・セグメント・ファイルを、絶えず生成することができる。
HTTP(DASH)の上のダイナミックな適応ストリーミングにおいて、マルチメディア・コンテンツは、キャプチャされ、HTTPサーバに格納され、HTTPを使用して配送されることができる。コンテンツは、利用可能なコンテンツのマニフェスト、その種々の代替、それらのURLアドレス、および、他の特性を記述するメディア・表現記述(MPD)、および、単一または複数ファイルにおいてチャンクの形で実際のマルチメディア・ビットストリームを含むセグメントの2つの部分でサーバに格納されることができる。コンテンツをプレイするために、DASHクライアントは、例えば、HTTP、電子メール、サム・ドライブ、放送、または、他の移送方法を使用してMPDを獲得することができる。MPDを解析することによって、DASHクライアントは、プログラム・タイミング、メディア・コンテンツ可用性、メディア・タイプ、解像度、最小および最大帯域幅、および、マルチメディア・コンポーネントの種々の符号化された代替物、アクセス可能性の特徴と要求されたデジタル権利管理(DRM)、ネットワークの上のメディア・コンポーネント位置、および、他のコンテンツ特性の存在を知ることができる。この情報を使用して、DASHクライアントは、適切な符号化された代替物を選ぶことができ、例えば、HTTP GET要求を使用して、セグメントをフェッチすることによりコンテンツにストリーミングを開始することができる。ネットワーク・スループット・バリエーションを可能にする適切なバッファリングの後に、クライアントは、後続するセグメントのフェッチを続けることができ、および、また、ネットワーク帯域幅位相変動をモニターすることができる。十分なバッファを維持するために、(より低い、あるいは、より高いビット・レートを有する)異なる代替のセグメントをフェッチすることによって、クライアントは、利用可能帯域幅に適応する方法を決定することができる。
メディア表現記述(MPD)は、HTTPの上のダイナミックな適応ストリーミングを確立するために、クライアントに対して情報を提供することができる。MPDは、GETセグメント要求をするために、例えば、各々のセグメントのHTTP− URLなどのメディア表現を記述している情報を含むことができる。DASHにおいて、階層データ・モデルを、図14で示すように、メディア表現を構築するために使用することができる。メディア表現は、一連の1つ以上の期間を含むことができる。各々の期間は、1つ以上のグループを含むことができ、各々のグループは、1つ以上の適合セットを含むことができ、各々の適合セットは、1つ以上の表現を含むことができ、そして、各々の表現は、1つ以上のセグメントを含むことができる。表現は、メディア・コンテンツ代替的選択のうちの1つ、または、それらのサブセットである。そして、それは、エンコーディング選択によって、例えば、ビット・レート、解像度、言語、コーデック、その他によって、異なることができる。セグメントは、メディア・データの特定の期間と復号化するメタデータを含むことができ、含まれたメディア・コンテンツを提示することができる。セグメントは、URI(uniform resource indicator)によって識別されることができ、HTTP GET要求によって要求されることができる。
DASHサービスは、オンデマンド・サービスまたはライブ・サービスとして提供されることができる。前者において、MPDは、静的であり、メディア表現のすべてのセグメントは、コンテンツ・プロバイダがMPDをパブリッシュするときに、すでに利用可能である。しかしながら、後者においては、MPDは、MPDによって使用されるセグメントURL構築方法に応じて、静的、または、動的であることができる。セグメントは、コンテンツ・プロバイダによって、コンテンツが生成され、DASHクライアントにパブリッシュされるときに、連続的につくられることができる。セグメントURL構築方法は、テンプレート・ベース・セグメントURL構築方法、または、セグメント・リスト生成方法のいずれかであり得る。前者において、DASHクライアントは、セグメントを要請する前にMPDを更新することなく、セグメントURLを構築することができる。後者で、DASHクライアントは、セグメントURLを得るために、定期的に更新されたMPDをダウンロードする必要があり得る。それゆえに、ライブ・サービスのために、テンプレート・ベース・セグメントURL構築方法は、セグメント・リスト発生方法より優れていることができる。
メディア・セグメントは、通常の速度のプレイバックのために、メディア・データの特定の期間を含むことができる。そのような期間は、メディア・セグメント期間、または、セグメント期間と言うことができる。コンテンツ製作者またはサービス・プロバイダは、サービスの所望の特性にしたがって、セグメント期間を選択することができる。たとえば、比較的短いセグメント期間は、短いエンドツーエンドの待ち時間を達成するためにライブ・サービスにおいて使用することができる。その理由は、セグメントは、DASHに対するメディア・データを生成する別々のユニットであるから、セグメント期間は、DASHクライアントによって認められるエンドツーエンド待ち時間の下限であることができることである。コンテンツ生成は、メディア・データの全部のセグメントが、サーバに利用可能となるような方法で行うことができる。さらに、多くのクライアント・インプリメンテーションは、GET要求のためのユニットとしてセグメントを使用することができる。このため、いくつかのライブ・サービスの準備において、DASHクライアントによって、セグメントは、全部のメディア・セグメントの期間が、利用可能であり、ならびに、符号化され、セグメントにカプセル化されているときにだけ、要求されることができる。オンデマンドのサービスに対して、セグメント期間を選択すいる異なる戦略を、使用できる。
セグメントは、サブセグメントにさらに分割されることができ、その各々は、完全なアクセス・ユニットを含む。サブセグメントは、セグメント・インデックスによってインデックスを付けることができ、それは、各々のサブセグメントに対して、表現時間範囲とバイト範囲をマップする情報を含み、バイト範囲HTTP要求を使用している特定のサブセグメントに対するHTTP GET要求をするのに用いることができる。比較的長いセグメント期間が使用されるならば、サブセグメントは、ビット・レート適応に対して合理的でフレキシブルなHTTP応答のサイズを保つのに用いることができる。
各々のメディア・セグメントは、ユニークなURL(おそらく、バイト範囲で)、インデックス、および、明示的または黙示的な開始時間と期間を割り当てられることができる。各々のメディア・セグメントは、少なくとも1つのストリーム・アクセス・ポイントを含むことができ、それは、ランダム・アクセスまたはメディア・ストリームにおけるスイッチ・ツー・ポイントである。ここで、復号化は、そのポイントの前方からのデータだけを使用して開始することができる。
複数パートのセグメントのダウンロードを可能にするために、セグメント・インデックス・ボックスを使用してサブセグメントを信号伝達する方法を、利用することができる。このボックスは、そのセグメントにおけるサブセグメントとストリーム・アクセス・ポイントを、それらの期間とバイト・オフセットを信号伝達することによって記述する。DASHクライアントは、部分的HTTP GET要求を使用しているサブセグメントを要求するために、インデクシング情報を使用することができる。セグメントのインデクシング情報は、そのセグメントの初めに単一のボックスに置く、あるいは、そのセグメントの多くのインデクシング・ボックスの間に広げることができる。階層的、デイジー・チェーン、およびハイブリッドなど、拡散の異なる方法が可能である。この技術は、セグメントの初めに大きなボックスを追加することを避けることができ、したがって、可能性がある初期のダウンロード遅延を防ぐことができる。MPEG−DASHは、ISOベース・メディア・ファイル・フォーマットおよびMPEG−2移送ストリームに対するセグメント・コンテナ・フォーマットを定義する。
DASHは、メディア表現タイムラインおよびセグメント可用性時間を含む異なるタイムラインを指定する。前者は、グローバル・コモン表現タイムラインにマップされるメディア・コンテンツを有するアクセス・ユニットの表現時間を示す。メディア表現タイムラインは、DASHがシームレスに異なるメディア・コンポーネントを同期させるのを可能にすることができる。これらは、異なるコーディング技術で符号化され、コモン・タイムラインを共有する。後者は、ウォール・クロック時間を示し、HTTP URLによって識別できるセグメントの可用性時間をクライアントに信号伝達するために使用する。ウォール・クロック時間をそのセグメントに割り当てられるセグメントの可用性時間と比較することによって、DASHクライアントは、特定のセグメントの可用性時間を識別することができる。セグメント可用性時間は、ライブ・サービスと呼ぶ、メディア・セグメントのライブ配送において使用することができる。ライブ・サービスに対して、セグメント可用性時間は、セグメントによって異なり、特定のセグメントの可用性時間は、メディア表現タイムラインにおけるそのセグメントの位置に依存することができる。オンデマンド・サービスに対して、セグメント可用性時間は、すべてのセグメントに対して同じであることができる。
DASHは、速度整合(rate adaptation)を、ネットワーク帯域幅の変化にマッチするために、適合セットの中での異なる表現からメディア・セグメントやサブセグメントをダイナミックに要求することによって、サポートする。DASHクライアントが、表現をスイッチ・アップ/ダウンするとき、表現の中の符号化依存性を、考慮する必要があり得る。メディア復号化において、表現スイッチは、ランダム・アクセス・ポイント(RAP)においてのみ起こることができる。これは、H.264/AVCのようなビデオ符号化技術において使用することができる。復号化されないメディア・データの要求および移送を避けるために、RAPを、メディア・セグメントやサブセグメントの初めに整列することができ、MPDやセグメント・インデックス・ボックスを、メディア・セグメントやサブセグメントの初めにおいて、RAPのアライメントを示すために、使用することができる。したがって、DASHクライアントは、どのセグメントやサブセグメントが、表現スイッチングが実行されるとき、行先の表現の第1のセグメントおよび/またはサブセグメントが、RAPによりスタートし、ソースのセグメントやサブセグメント、および、行先の表現が、(時間的に)整列するように要求するかを結論することができる。DASHにおいて、SAP(Stream Access Point)と名づけられたより一般的な概念が、表現をアクセルし、表現間でスイッチングするために、コーデック独立ソリューションを提供するために導入される。DASHにおいて、SAPは、メディア・ストリームの再生が、(初期化セグメント、もしあれば、において初期化データによって先行される)その位置の前方から開始される表現データに含まれた情報だけを用いて開始されるのを可能にする表現の位置として指定される。それゆえに、表現スイッチングを、SAPにおいて実行することができる。
コンテンツ・プロバイダは、スイッチングをより単純にすることができるように、複数の表現のセグメントとサブセグメントをつくることができる。簡単はケースにおいて、各々のセグメント、そして、サブセグメントが、SAPからスタートし、セグメントとサブセグメントの境界が、適合セットの表現全体で整列する。そのような場合には、DASHクライアントは、セグメントまたはサブセグメントを要求することによりオリジナル表現から新規の表現へのエラー・ドリフトなしで、表現をスイッチすることができる。DASHにおいて、セグメントとサブセグメントを構築する制約は、エラー・ドリフトを導入することなく、DASHクライアントが、表現をスイッチすることを容易にするために、MPDおよびセグメント・インデックスにおいて指定される。DASHにおいて指定されているプロファイルの使用法の1つは、セグメントおよびサブセグメント等を構築する制約の異なるレベルを提供することである。
DASH標準は、メディア・セッションの速いスタート・アップを可能にするメカニズムを含む。これは、例えば、以下のように行われる。ビデオは、表現に分割され、各々の表現は、異なる品質と解像度でありえる。各々の表現は、例えば、60秒続くことができるセグメントから成ることができる。図14は、いくつかのDASH表現のもう少し詳細を表す。各々のセグメントは、ストリーム・アクセス・ポイントからスタートすることができる。ここで、セグメントの中のピクチャは、異なるセグメントからの他のいかなるピクチャも参照することなく、符号化される。このように、DASHクライアントは、その平均帯域幅よりより低いビット・レート表現でスタートすることができ、そして、素早くそのバッファを満たし、次に、それは、より高い解像度のセグメントにスイッチし、そして、再生を続ける。
層間予測は、そのセグメントの中のより高い空間解像度を有する第1のピクチャと低い空間解像度のピクチャとの間で利用されることができる。たとえば、より高い空間解像度を有する第1のピクチャは、より低い空間解像度を有する最後のピクチャの1つ以上を使用して、層間予測されることができる。これは、より高い解像度を有する第1のピクチャがイントラ予測された、あるいは、もしそうであるなら、独立して復号化できるピクチャである状況と比較してビット・レート・セービングを可能にすることができる。
いくつかの実施形態は、DASHに対する、より高い符号化効率、および、より短い起動時間を可能にすることができる。これは、また、より頻繁でないIRAPピクチャ(そして、それゆえに、より長いセグメントまたはサブセグメント)を含むことができる。IRAPピクチャの頻度は、ランダム・アクセス、に十分であるように選択されることのみが必要で、および、ビット・レート・スケーリングからである。一方、バッファ占有レベルを構築することは、ARCを使用することで取り扱うことができる。
DASHセッションの間の起動時間の改善は、スケーラブルHEVC概念、より詳細には、SHVCの中の適応解像度変更(ARC)概念を利用することによって達成することができる。SHVCは、解像度スイッチングが起こるアクセス・ユニットを除いて、単一の層ビットストリームの送信を可能にする。図7は、SHVCのARC概念を図示する。いくつかの実施形態において、以下の特徴を有する(ARC表現と呼ばれる)DASHの中の表現を、利用することができる。この例は、図10の中で表される。表現100は、より小さな解像度(例えば、図10の中のセグメント102)から始めて、セグメントの期間内に、より高い解像度(例えば、図10の中のセグメント104および106)へスイッチングし、そして、そのセグメントは、より高い解像度で終わるセグメント102、104、106を含むことができる。ARC表現の中のセグメントは、SHVCで符号化することができる。ここで、single_layer_for_non_irap_flag(これは、本願明細書においては、また、single_layer_for_non_rap_flagと呼ばれる)は、真である。これは、より高い解像度のスイッチング・ピクチャは、改善された符号化効率の予測のための参照として、アップサンプリングされたより低い解像度のピクチャを使用することを意味することができる。
single_layer_for_non_irap_flagの値は、single_layer_for_non_irap_flagが真であることを示すために、例えば、1にセットすることができる。
解像度スイッチングを実行するとき、DASHクライアントは、ARC表現の1つのセグメントだけをフェッチし、そして、その後、それ以上解像度セグメントをフェッチすることができる。
いくつかの実施形態において、ARC表現のセグメントのピクチャは、より低い解像度表現において、前のセグメントのピクチャから予測することができる。たとえば、図10を参照すると、ARC表現のセグメントにおけるいくつかの720p解像度ピクチャは、表現1における(解像度720pを持つ)前のセグメントのピクチャから予測することができる。いくつかの実施形態において、ARC表現の中のセグメントは、SAPから始めることができ、そして、それゆえに、いかなる表現ででも、以前のセグメントから独立して、符号化および/または復号化することができる。
いくつかの実施形態において、行先(より高解像度)表現のセグメントのピクチャは、ARC表現の前のセグメントのピクチャから、DASHクライアントにおいて、予測することができる。たとえば、図10を参照して、表現2のセグメントにおけるいくつかの1080p解像度ピクチャは、ARC表現の中の前のセグメントのピクチャから、DASHクライアントにおいて、予測することができる。より高い解像度表現が、ARC表現の中のピクチャを参照として使用することなく符号化されたので、エンコーダと、このパラグラフで記述されているように動作しているDASHクライアントとの間で、復号化されたサンプルの値においてドリフトが存在し得る。そのドリフトは、より高い解像度表現の次のSAPが復号化されるときに、存在しなくなることができる。いくつかの実施形態において、より高い解像度表現のセグメントは、SAPから始めることができ、以前のセグメントから予測することができない。
DASHクライアントは、解像度スイッチングのために、ARC表現を使用して、次の操作を実行することができる(説明のための図11a−図11cを参照)。セッションが始められたあと、DASHクライアントは、利用可能帯域幅を見積もり、MPDを分析し、速いスタート・アップのためにセッションを開始する適切な解像度、および、クライアントのバッファが比較的に満杯になったとき継続するための最適解像度を決定することができる。これらのパラメータに基づいて、クライアントは、適切な表現の中で適切なセグメントを要求することができる。より高い解像度へのスイッチングの所望の時間に、クライアントは、ARC表現110から、適切なセグメント112、114、116を要求することができる。図11aの例において、図10のセグメント114が、スイッチング・セグメントとして使用される。図11bの例において、セグメント112は、スイッチング・セグメントとして使用される。図11aの例において、セグメント116は、スイッチング・セグメントとして使用される。ARCセグメント110が要請され、そして、スイッチングが、より高い解像度に起こったあと、クライアントは、より高い解像度セグメントをダウンロードし続けることができる。これらのセグメントは、図11a−図11cの中の参照番号108で図示される。クライアントの帯域幅が変化する(たとえば、増加する)、ならば、同様の操作を実行することができる。DASHクライアントは、たとえば、復号化されなかった、および/または、最後まで再生されていない、受信し、バッファされたメディア・データの占有または期間に基づいて、解像度スイッチングを決定することができる。
2つ以上の解像度が適合セットに存在するならば、別々のARC表現を、各々の表現の間でスイッチするのに用いることができる。図12aは、そのような適合化セットの例を表す。図12Bは、より低い解像度(この例では720p)からより高い解像度(この例では1080p)へのスイッチングを、図12aの適合化セットの表現1および2を使用して、さらに、もっと、より高い解像度(この例では、4K×2K)へのスイッチングを、表現3を使用して、図示する。それぞれ、図12cは、より低い解像度(この例では720p)から、より高い解像度(この例では1080p)へのスイッチングを、図12aの適合化セットの表現1、2と3を使用して図示する加えて、異なる特性(例えば、異なるポイントにおいて起こるスイッチング・ポイント)を持つ異なるARC表現は、適合セットで利用することができる。これのいくつかの例は、図13に描かれている。
いくつかのインプリメンテーションと種々の代替が、以下に記述される。スイッチングのために使用されるセグメントは、集められ、別々の表現に含まれることができる。次の属性は、この表現のために用いることができる。@startWidth属性は、ビデオ・セグメントの初めのピクチャの水平視覚表現サイズを指定することができる。@startHeight属性は、ビデオ・セグメントの初めのピクチャの垂直視覚表現サイズを指定することができる。@switchPoint属性は、解像度は、(@startWidth、@startHeight)で指定される解像度から(@width、@height)へ変化するスイッチング・ポイントを指定することができる。
上記の説明は、属性@width、@heightのセマンティックスが、この表現のためのセグメントの終わりにおいてピクチャ・サイズに対応して修正されることを仮定することに留意する。しかしながら、これは、マイナーなインプリメンテーションの詳細であり、他の代替を、同様に使用することができる。
上記は、例えば、以下のような、MPDにおいてインプリメントすることができる。この例では、表現id=3は、ARCセグメントを保持する提案された表現である。この例では、いくつかの追加的属性が存在し、帯域幅パラメータの値は、表現3のセグメントが、より低い解像度でスタートするので、表現2より低い。
MPDまたは任意の他のマニフェストは、表現のための初期バッファリング要求に関する情報を含むことができる。たとえば、MPD属性において、@minBufferTimeおよび@bandwidthは、初期バッファリング要求を特徴づける。それらのセマンティックスは下記のように定義できる。ビット/秒(bps)において、@bandwidth属性の値を有する帯域幅の仮定的固定ビット・レート・チャネルを考える。次に、表現が、このビット・レートにおいて連続的に配送されるならば、@startWithSAPによって、または、任意のセグメント・インデックス・ボックスによって、示される任意のSAPにおいて開始して、クライアントは、再生が、@minBufferTime * @bandwidthビットが受信されたあとに(すなわち、第1のビットが受信されたの後、@minBufferTimeのときに)始まるとして、連続的に最後まで再生するために十分なデータがあることを確信することがありえる。
ARC表現に対して、初期のバッファ要求に関する情報は、セグメントのシーケンスに関するように定義することができる。ここで、第1のセグメントは、ARCセグメント(例えば、720pから1080pまでの解像度)であり、続くセグメントは、より高い解像度(例えば、1080p)である。たとえば、@minBufferTimeおよび@bandwidthは、ARC表現に対して、以下のように指定することができる。ビット/秒(bps)において、@bandwidth属性の値を持つ帯域幅の仮定的固定ビット・レート・チャネルを考える。次に、この(ARC)表現の第1のセグメントに、宛先の表現のセグメントのシーケンスが続き、すべてのこれらのセグメントが、このビット・レートで連続的に配送されるならば、@startWithSAPによっても示された任意のSAPにおいて始まり、クライアントは、再生が、@minBufferTime * @bandwidthビットが受信されたあとに(すなわち、第1のビットが受信されたの後、@minBufferTimeのときに)始まるとして、連続的に最後まで再生するために十分なデータがあることを確信することがありえる。
DASHクライアントは、ARC表現に関係する初期バッファリング要求に関する情報を受信して、解釈する。クライアントは、利用可能なビット・レートを推定し、および/または、予期される利用可能なビット・レートを決定する他の手段を持つことができる。クライアントは、予期される利用可能なビット・レートは、より高い解像度(例えば1080p)に適合しているが、1080pの表現は、長い初期バッファリング時間を必要とするかもしれないことを決定することができる。したがって、クライアントは、より高い解像度のセグメントが続くARC表現のセグメントを要求することができる。
いくつかの実施形態において、1つの解像度から別のものへのスイッチングに使用されるセグメントを含むだけである異なる表現を使用することができる。さらに、同様の操作を、例えば、以下のように、代替的な方法で、実行することもできる。異なる解像度へのスイッチングは、また、セグメントの中ではなく、セグメントの間で起こることあり得る。たとえば、ARC表現の中の第1のセグメントは、HD解像度であり得、ARC表現の中の第2のセグメントは、UHD解像度であり得る。その場合には、第2のセグメントの第1のピクチャは、第1のセグメントの最後のピクチャ依存することがあり得る。これは、例えば、セグメント間のオーバラップを許すことによって構成することができる(つまり、低い解像度セグメントは、同時間高い解像度セグメントより1つのピクチャだけ長く続くことができる。)。
実施形態がセグメントを参照して記述されたが、この実施形態は、その代わりに、または、それに追加して、サブセグメントを参照して同様に実現できることが理解される必要がある。
実施形態がDASH、および/またはMPDを参照して記述されたが、この実施形態は、HTTPまたは類似したプロトコルの上の任意のストリーミング、および/または、任意のマニフェスト・フォーマットを参照して同様に実現できることが理解される必要がある。
図4aは、例示的実施形態にしたがって、ビデオ符号化および復号化のためのブロック図を示す。この実施形態においては、エンコーダは、ピクセル予測器302、予測エラー・エンコーダ303および、予測誤差デコーダ304を備える。図4aは、インタ予測器306、イントラ予測器308、モード・セレクタ310、フィルタ316、および参照フレーム・メモリ318を備えるものとして画素予測器302の実施形態を示している。この実施形態においては、モードセレクタ310は、ブロック・プロセッサ381およびコスト評価器382を備えている。エンコーダは、ビットストリームのエントロピ符号化のためのエントロピ・エンコーダ330を更に備えている。
図4bは、ベース層符号化要素410、および、強化層符号化要素420を備える空間スケーラビリティ符号化装置400の実施形態を表す。ベース層符号化要素410は、入力ビデオ信号402を、ベース層ビットストリーム418に符号化し、および、それぞれ、強化層符号化要素420は、入力ビデオ信号402を強化層ビットストリーム428に符号化する。空間スケーラビリティ符号化装置400は、また、ベース層表現の解像度と、強化層表現とが、互いに異なるならば、入力ビデオ信号のダウンサンプリングのためのダウン・サンプル器404を備えることができる。たとえば、ベース層と強化層との間のスケーリング・ファクタは、1:2であることができ、ここで、強化層の解像度は、ベース層の解像度の2倍である(水平および垂直の両方の方向で)。
ベース層符号化要素410および強化層符号化要素420は、図4aの中で表されるエンコーダと同様の要素を備えることができる。あるいは、それらは、互いに異なることができる。
ベース層符号化要素410は、例えば、次のように、図4aのエンコーダを参照して、入力ビデオ信号のフレームを符号化する。画素予測器302は、符号化されるべき画像300を、インタ予測器306(画像と、動き補償参照フレーム318の間の差を決定する)と、イントラ予測器308(現在のフレームまたはピクチャの既に処理された部分のみに基づいて、画像ブロックに対する予測を決定する)の両者において受信する。インタ予測器およびイントラ予測器両者の出力は、モードセレクタ310に送られる。インタ予測器306とイントラ予測器308との両者は、2つ以上のイントラ予測モードを有することができる。そのため、インタ予測およびイントラ予測は各モードについて行うことができ、予測された信号は、モードセレクタ310に提供できる。モードセレクタ310はまたは、画像300のコピーも受信する。
モードセレクタ310は、現在のブロックを符号化するために、どの符号化モードを使用するかを決定する。モードセレクタ310が、インタ予測モードを使用すると決めた場合は、モードセレクタ310は、インタ予測器306の出力を、モードセレクタ310の出力に送る。モードセレクタ310がイントラ予測モードを使用すると決めた場合は、モードセレクタ310は、イントラ予測モードの1つの出力を、モードセレクタ310の出力に送る。
モードセレクタ310は、コスト評価器ブロック382において、コーディング・モード、および、動きベクトル、参照インデックス、およびインタ予測方向などのパラメータ値の間で、典型的にはブロック・ベースで選択するために、例えば、ラグランジアン・コスト関数を使用できる。この種のコスト関数は、損失のあるコーディング方法に起因する(正確または推定)画像ディストーションと、画像領域で画素値を表現するために要求される情報の(正確または推定)量とを一緒に結び付けるために、重み付けファクタであるlambdaを使用できる。C=D+lambda×R、ここで、Cは最小化されるラグランジアン・コスト、Dは、モードおよびそのパラメータでの画像ディストーション(例えば、平均二乗誤差)、および、Rは、デコーダにおいて画像ブロックを再構築するための必要なデータを表現するために必要なビット数である(例えば、候補の動きベクトルを表現するためのデータ量を含んでいる)。
モードセレクタの出力は、第1合計装置321に送られる。第1合計装置は、画素予測器302の出力を画像300から減算して、予測エラー・エンコーダ303に入力される第1予測エラー信号320を生成する。
画素予測器302は、予備再構築器339から、画像ブロック312の予測表現と、予測エラー・デコーダ304の出力338の組み合わせとを更に受信する。予備再構築画像314は、イントラ予測器308およびフィルタ316に送ることができる。予備表現を受信するフィルタ316は、予備表現のフィルタ処理を行うことができ、参照フレーム・メモリ318に保存できる最終再構築画像340を出力する。参照フレーム・メモリ318は、インタ予測動作において将来画像300と比較される参照画像として使用されるために、インタ予測器306に接続できる。多くの実施形態において、参照フレーム・メモリ318は、2つ以上の復号化ピクチャを格納可能であってよく、その復号化ピクチャの1つ以上は、インタ予測器306により、インタ予測動作において、将来画像300と比較される参照ピクチャとして使用できる。参照フレーム・メモリ318は、いくつかの場合においては、復号化ピクチャバッファとも言われる。
多くの実施形態において、参照フレーム・メモリ318は、異なる層の復号化されたピクチャを格納することができる、または、異なる層の復号化されたピクチャでを格納するための異なる参照フレーム・メモリがあり得る。
画素予測器302の動作は、任意の画素予測アルゴリズムを行うように構成できる。
画素予測器302は、また、予測値を画素予測器302から出力する前に、予測値をフィルタ処理するためのフィルタ385もまた備えることができる。
フィルタ316は、参照画像からのブロッキング、リンギング等の種々のアーチファクトを減らすのに用いることができる。
フィルタ316は、例えば、デブロッキング・フィルタ、サンプル適応オフセット(SAO)フィルタ、および/または、適応ループ・フィルタ(ALF)を備えることができる。いくつかの実施形態において、エンコーダは、ピクチャのどの領域をフィルタ処理すべきか、例えば、RDOに基づいて、フィルタ係数を決定し、この情報は、デコーダに信号伝達される。
適応解像度変更を実行して、ベース層を変更するとき、符号化要素410は、例えば、動き情報、および、強化層符号化要素420へのブロック分割に関する情報など、ベース層符号化データ(または、いくつかの強化層データ)に関する情報を提供することができる。強化層符号化要素420は、ベース層データを構築するのに、どの参照フレームが使用されたかを決定するために、このデータを使用することができる。ここで、同じ参照フレームを、強化層の上の現在のブロックの動き予測を実行するときに、使用することができる。この操作は、たとえば、図7における図EL3を符号化するときに実行することができる。
強化層符号化要素420が、強化層の画像の領域(例えば、CTU)を符号化しているとき、それは、ベース層のどの領域が、強化層における符号化されるべき領域に対応するかを決定する。たとえば、対応する領域の位置は、ベースおよび強化層の間の空間解像度スケーリング・ファクタでCTUの座標をスケールすることによって計算することができる。強化層符号化要素420は、また、サンプル適応オフセット・フィルタおよび/または適応ループ・フィルタを強化層の上の現在のCTUを符号化するのに、使用するべきかどうかを調べることもできる。強化層符号化要素420が、この領域に対してサンプル適応フィルタおよび/または、適応ループ・フィルタを使用することに決めるならば、強化層符号化要素420は、また、現在の強化層ブロックに対して参照ブロックを構築するときに、ベース層のサンプル値をフィルタ処理するために、サンプル適応フィルタおよび/または適応ループ・フィルタを使用することができる。ベース層の対応するブロックとフィルタ処理モードとが決定されたときに、ベース層の再建されたサンプルは、次に、例えば参照フレーム・メモリ318から読み出され、フィルタ処理のためにフィルタ440に提供される。しかしながら、強化層符号化要素420が、この領域に対してサンプル適応フィルタおよび適応ループ・フィルタを使用しないことに決めるならば、強化層符号化要素420は、また、ベース層のサンプル値をフィルタ処理するために、サンプル適応フィルタおよび適応ループ・フィルタを使用することもできない。
強化層符号化要素420が、SAOフィルタを選択したならば、それは、上で提示されるSAOアルゴリズムを利用することができる。
予測エラー・エンコーダ303、403は、変換ユニット342、442と量子化器344、444を備える。変換ユニット342、442は、第1の予測エラー信号320、420を変換ドメインに変換する。その変換は、たとえば、DCT変換である。量子化器344、444は、量子化された係数を形成するために、変換ドメイン信号、例えばDCT係数を量子化する。
予測エラー・デコーダ304、404は、予測エラー・エンコーダ303、403から出力を受信し、復号化された予測エラー信号338、438を生成するために予測エラー・エンコーダ303、403の逆のプロセスを実行する。これは、第2の合計デバイス339、439において、画像ブロック312、412の予測表現と結合されるとき、予備再構築画像314、414を生成する。予測エラー・デコーダは、逆量子化器361、461および逆変換ユニット363、463を備えると考えることができる。逆量子化器は、量子化された係数値、例えば、DCT係数を、変換信号を再構築するように逆量子化し、逆変換ユニットは、再構築された変換信号に変換するために逆変換を実行する。ここで、逆変換ユニット363、463の出力は、再構築されたブロックを含む。予測エラー・デコーダは、さらに復号化された情報およびフィルタ・パラメータにしたがって、再構築されたマクロ・ブロックをフィルタ処理することができるマクロ・ブロック・フィルタを備えることもできる。
エントロピ・エンコーダ330、430は、予測エラー・エンコーダ303、403の出力を受信し、エラー検出・訂正能力を提供するために、その信号の上で、適切なエントロピ符号化/可変長符号化を実行することができる。エントロピ・エンコーダ330、430の出力は、例えばマルチプレクサ508によりビットストリームに挿入することができる。
いくつかの実施形態において、フィルタ440は、サンプル適応フィルタを備え、いくつかの他の実施形態において、フィルタ440は、適応ループ・フィルタを備え、更に、いくつかの他の実施形態において、フィルタ440は、サンプル適応フィルタと適応ループ・フィルタとの両方を備える。
ベース層と強化層との解像度が、互いに異なるならば、フィルタ処理したベース層サンプルの値は、アップサンプル器450によってアップサンプリングされる必要があり得る。アップサンプル器450の出力すなわち、アップサンプリングされフィルタ処理されたベース層サンプル値は、次に、強化層の現在のブロックに対するピクセル値の予測のための参照として強化層符号化要素420に提供される。
完全性のために、適切なデコーダが、この後に記述される。しかしながら、いくつかのデコーダは、強化層データを処理することができない。ここで、デコーダは、すべての受信した画像を復号化することができない。デコーダは、inter_layer_pred_for_el_rap_only_flagおよびsingle_layer_for_non_rap_flagなどの2つのフラグの値を決定するために、受信したビットストリームを調べることができる。第1のフラグの値が、強化層におけるランダム・アクセス・ピクチャのみが、層間予測を利用することができ、強化層における非RAPピクチャは、決して層間予測を利用しないことを示すならば、デコーダは、層間予測はRAPピクチャで使用されるだけであることを推論することができる。
デコーダ側において、同様の操作が、画像ブロックを再構築するために実行される。図5aは、本願発明の実施形態を使用するために適切であるビデオ・デコーダのブロック図を示す。図5bは、ベース層復号化要素810、および、強化層復号化要素820を備える空間スケーラビリティ復号化装置800のブロック図を示す。ベース層復号化要素810は、符号化されたベース層ビットストリーム802をベース層復号化ビデオ信号818に復号化する。そして、それぞれ、強化層復号化要素820は、符号化強化層ビットストリーム804を強化層復号化ビデオ信号828に復号化する。空間スケーラビリティ復号化装置800は、再構築されたベース層ピクセル値をフィルタ処理するためのフィルタ840、および、フィルタ処理され再構築されたベース層ピクセル値をアップサンプリングするためのアップサンプル器850を備えることもできる。
ベース層復号化要素810、および、強化層復号化要素820は、図4aの中で表されるエンコーダと同様の要素を備えることができる。あるいは、それらは、互いに異なることができる。言い換えれば、ベース層復号化要素810および、強化層復号化要素820の両方が、図5aに示されるそのデコーダの要素のすべてまたはいくつかを含むことができる。いくつかの実施形態において、同じデコーダ回路を、ベース層復号化要素810、および、強化層復号化要素820の操作を実行するために使用することができる。ここで、デコーダは、それが現在復号化している層がわかっている。
デコーダは、受信信号上のエントロピ復号化を実行するエントロピ・デコーダ700を示す。したがって、エントロピ・デコーダは、上述のエンコーダのエントロピ・エンコーダ330への逆操作を実行する。デコーダ700は、エントロピ復号化の結果を予測エラー・デコーダ702およびピクセル予測器704に出力する。
ピクセル予測器704は、エントロピ・デコーダ700の出力を受信する。エントロピ・デコーダ700の出力は、現在のブロックのエンコーディングにおいて使用される予測モードの標示を含むことができる。ピクセル予測器704の中の予測値セレクタ714は、復号化されている現在のブロックは、強化層ブロックであることを決定することができる。そのため、予測値セレクタ714は、現在の強化層ブロックを復号化している間に、ベース層予測ブロックをフィルタ処理するために、ベース層など別の層の対応するブロックからの情報を使用するために選択することができる。エンコーダによって強化層予測において使用する前にベース層予測ブロックがフィルタ処理されたことの標示は、デコーダにより受信されることができた。ここで、再構築プロセッサー791は、再構築されたベース層ブロック値をフィルタ840に提供するために、また、どの種類のフィルタ、例えば、SAOフィルタおよび/または適応ループ・フィルタ、が使用されたかについて決定するために、その標示を使用することができる。あるいは、変更された復号化モードを使用すべきか否かを決定する他の方法があり得る。
予測値セレクタは、第1の結合器713に、画像ブロック716の予測された表現を出力することができる。画像ブロック716の予測された表現は、予備再構築画像718を生成するために、再構築された予測エラー信号712とともに使用される。予備再構築画像718は、予測値セレクタ714において使用することができる。あるいは、フィルタ720にパスすることができる。フィルタ720は、最終再構築信号722を出力するフィルタ処理を適用する。最終再構築信号722は、参照フレーム・メモリ724に格納することができる。参照フレーム・メモリ724は、予測操作のために予測値セレクタ714にさらに接続している。
予測エラー・デコーダ702は、エントロピ・デコーダ700の出力を受信する。予測エラー・デコーダ702の逆量子化器792は、エントロピ・デコーダ700の出力を逆量子化することができ、逆変換ブロック793は、逆量子化器792によって、逆量子化された信号出力に逆変換操作を実行することができる。エントロピ・デコーダ700の出力は、また、予測エラー信号は、適用されないことになっていることを示すことができる。この場合、予測エラー・デコーダは、すべて0の出力信号を生成する。
デコーダは、対応するベース層ブロックを復号化し、そのからの、修正のための情報をデコーダで使用することができると仮定する。強化層ブロックに対応するベース層のピクセルの現在のブロックは、デコーダでサーチすることができる。または、デコーダは、ベース・ブロックおよび/またはベース・ブロックのどの情報を修正プロセスに使用するかを示すビットストリームから情報を受信して、復号化することができる。
いくつかの実施形態において、ベース層は、H.264/AVCまたはHEVC以外の別の標準で符号化することができる。
また、HEVC SAOおよびHEVC ALF後置フィルタを含むベース層データのためのプレプロセッサーとして使用される任意の強化層後処理モジュールを使用することが可能である。強化層後処理モジュールは、ベース層データで動作しているときに、修正されることができる。たとえば、特定のモードを無効にすることができ、または、特定の新規のモードを追加することができる。
図1は、ビデオ・コーディング・システムのブロック図を、例示的実施形態にしたがって、本願発明の実施形態に係るコーデックを組み込むことができる例示的装置または電子デバイス50の模式ブロック図として示す。図2は、例示的実施形態にしたがって、装置のレイアウトを示す。図1および図2の要素を次に説明する。
電子装置50は、例えば、無線通信システムの携帯端末またはユーザ機器であってよい。しかしながら、本願発明の実施形態は、符号化および復号化、または、ビデオ画像の符号化または復号化を要求できる任意の電子デバイスまたは装置の内部でインプリメントすることができることが認識される。
装置50は、そのデバイスを組み込み、そして保護するための筐体30を備えることができる。装置50は、液晶ディスプレイの形状のディスプレイ32を更に備えることができる。発明の他の実施形態においては、ディスプレイは、画像またはビデオを表示するのに適しているいかなる適切なディスプレイ技術であってもよい。装置50は、キーパッド34を更に備えることができる。本願発明の他の実施形態において、任意の適切なデータまたはユーザインタフェースメカニズムを採用できる。例えば、ユーザインタフェースは、タッチ感知ディスプレイの一部としての、仮想キーボードまたはデータ・エントリ・システムとしてインプリメントすることができる。この装置は、マイクロフォン36またはデジタルまたはアナログ信号入力であってよい任意の適切なオーディオ入力を備えることができる。装置50は、本願発明の実施形態においては、イヤフォン38、スピーカ、または、アナログ・オーディオまたはデジタル・オーディオ出力接続のうちのいずれか1つであることができるオーディオ出力デバイスを更に備えることができる。装置50はまた、バッテリ40(または、本願発明の他の実施形態においては、装置は、太陽電池、燃料電池、または、クロックワーク発電機(clockwork generator)のような任意の適切な可動エネルギー装置により動力を与えることができる)も備えることができる。その装置は、画像またはビデオを記録または撮像可能なカメラ42を更に備えることができる。いくつかの実施形態においては、装置50は、他のデバイスへのショートレンジ見通し内通信用の赤外線ポートを更に備えることができる。他の実施形態においては、装置50は、例えば、ブルートゥース無線接続、または、USB/ファイヤワイヤ有線接続のような任意の適切なショートレンジ通信ソリューションを更に備えることができる。
装置50は、装置50を制御するためのコントローラ56またはプロセッサを備えることができる。コントローラ56は、発明の実施形態においては、画像の形状のデータとオーディオデータの両者を格納でき、および/または、コントローラ56上での実現のための指令もまた格納できる、メモリ58に接続できる。コントローラ56は、オーディオおよび/またはビデオデータのコーディングと復号化を行うため、または、コントローラ56により行われるコーディングと復号化を支援するために適切なコーデック回路54に更に接続することができる。
装置50は、例えば、ユーザ情報を提供し、ネットワークにおけるユーザの承認および認可のための承認情報を提供するために適しているUICCおよびUICCリーダーのようなカードリーダー48およびスマートカード46を更に備えることができる。
装置50は、コントローラに接続され、例えば、セルラ通信ネットワーク、無線通信システム、または無線ローカル・エリア・ネットワークとの通信のための無線通信信号を生成するために適している無線インタフェース回路52を備えることができる。装置50は、無線インタフェース回路52に接続され、無線インタフェース回路52で生成された無線周波数信号を他の装置に送信し、他の装置から無線周波数信号を受信するためのアンテナ44を更に備えることができる。
本願発明のいくつかの実施形態においては、装置50は、個々のフレームを記録または検出可能なカメラを備えており、個々のフレームは、処理のためにコーデック54またはコントローラに送られる。本願発明のいくつかの実施形態においては、装置は、送信および/または格納に先行して、別の装置から、処理のためにビデオ画像データを受信できる。本願発明のいくつかの実施形態においては、装置50は、無線または有線接続で、コーディング/復号化のために画像を受信できる。
図3は、ビデオ・コーディングのための設備を示しており、例示的実施形態にしたがって、複数の装置、ネットワーク、およびネットワーク要素を備えている。図3に関して、本発明の実施形態を利用可能なシステムの例が示されている。システム10は、1つ以上のネットワークを介して通信可能な複数の通信装置を備えている。システム10は、無線セルラ電話ネットワーク(GSM、UMTS、CDMAネットワークなどのような)、IEEE802.x標準のいずれかにより定義される無線ローカル・エリア・ネットワーク(WLAN)、ブルートゥース・パーソナル・エリア・ネットワーク、イーサネット(登録商標)・ローカル・エリア・ネットワーク、トークン・リング・ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、および、インターネットを備えることができる。ただし、これらに制限されるものではない。
システム10は、本願発明の実施形態をインプリメントするために適切な有線および無線通信装置または装置50を含むことができる。例えば、図3に示されているシステムは、携帯電話ネットワーク11と、インターネット28の表現を示している。インターネット28への接続は、ロングレンジワイヤレス接続、ショートレンジワイヤレス接続、および、制限されるものではないが、例えば、電話線、ケーブル線、電源線、および、類似の通信経路を含む種々の有線接続を含むことができる。しかし、これらに制限されるものではない。
システム10において示されている例示的通信デバイスは、電子デバイスまたは装置50、個人情報端末(PDA)と携帯電話14の組み合わせ、PDA16、統合メッセージグ・デバイス(IMD)18、デスクトップ・コンピュータ20、ノートブック・コンピュータ22を含むことができる。しかし、これらに制限されるものではない。装置50は、静止型、または、移動している個人により持ち運ばれるときは可動型であってよい。装置50はまた、車、トラック、タクシー、バス、列車、ボート、飛行機、自転車、モータバイク、または、輸送の類似の適切なモードを含む輸送のモードに位置することもできる。ただし、それらに制限されるものではない。
いくつかのまたは更なる装置は、呼(コール)とメッセージを送受信でき、基地局24への無線接続25により、サービス・プロバイダを通信できる。基地局24は、携帯電話ネットワーク11とインターネット28の間の通信を可能にするネットワーク・サーバ26に接続できる。システムは、追加的通信デバイスおよび種々のタイプの通信デバイスを含むことができる。
通信装置は、コード分割多重アクセス(CDMA)、グローバル移動通信システム(GSM)、ユニバーサル移動電気通信システム(UMTS)、時間分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、送信制御プロトコル−インターネットプロトコル(TCP−IP)、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、電子メール、インスタントメッセージングサービス(IMS)、ブルートゥース、IEEE802.11、および、類似の無線通信技術を含む種々の送信技術を使用して通信できる。しかし、それらに制限されるものではない。本発明の種々の実施形態を実現することに関連する通信装置は、無線、赤外線、レーザー、ケーブル接続、および、任意の適切な接続を含む種々のメディアを使用して通信できる。しかし、それらに制限されるものではない。
以上のとおり、アクセス・ユニットは、異なるビューの、そして、異なるスケーラブルな層の異なるコンポーネント・タイプ(例えば、主要なテクスチャ・コンポーネント、冗長なテクスチャ・コンポーネント、補助コンポーネント、深度/ディスパリティ・コンポーネントなど)のスライスを含むことができる。コンポーネント・ピクチャは、依存表現、層表現、テクスチャ・ビュー・コンポーネント、深度ビュー・コンポーネント、深度マップ、または、その他のための集合的用語として定義されることができる。符号化されたコンポーネント・ピクチャは、コンポーネント・ピクチャ・デリミタNALユニットを用いて互いから分離することができる。これは、また、コンポーネント・ピクチャの符号化したスライスの復号化のために使用される共通のシンタックス要素の値を持っていることできる。アクセス・ユニットは、依存性および層表現と共に、符号化したテクスチャおよび深度ビュー・コンポーネントなど比較的かなり多数のコンポーネント・ピクチャから成ることができる。いくつかのコンポーネント・ピクチャの符号化したサイズは、比較的小さいことがあり得る。たとえば、それらは、ベース・ビューまたはベース層に対してデルタを表すと考えることができるから、深度コンポーネント・ピクチャは、圧縮するのが比較的簡単でありえるからである。コンポーネント・ピクチャ・デリミタNALユニットが、ビットストリームに存在するとき、コンポーネント・ピクチャは、コンポーネント・ピクチャ・デリミタNALユニット、および、アクセス・ユニットの終わりまで、または、次のコンポーネント・ピクチャ・デリミタNALユニットまで後続する符号化したスライスNALユニット、ただし、復号化する順序において、より早いものはどれも除く、として定義されることができる。
上記において、いくつかの実施形態が、特定のタイプのパラメータ・セットに関して記述された。しかしながら、実施形態は、ビットストリームにおける、任意のパラメータ・セットまたは、他のシンタックス構造で実現できることを理解する必要がある。
上記において、いくつかの実施形態が、標示、シンタックス要素、および/またはシンタックス構造を、ビットストリームに、または、符号化ビデオ・シーケンスに符号化することに関して、および/または、標示、シンタックス要素、および/またはシンタックス構造を、ビットストリームから、または、符号化ビデオ・シーケンスから復号化することに関して記述された。しかしながら、実施形態は、標示、シンタックス要素、および/またはシンタックス構造を、符号化スライスなど、ビットストリームまたはビデオ符号化層データを含む符号化ビデオ・シーケンスの外部にあるシンタックス構造またはデータ・ユニットに符号化するときに、および/または、標示、シンタックス要素、および/または、シンタックス構造からのシンタックス構造または、ビットストリームの外部にあるデータ・ユニット、または、符号化スライスなど、ビデオ符号化層データを含む符号化ビデオ・シーケンスを復号化するときに、実現することができることを理解する必要がある。たとえば、いくつかの実施形態において、上の任意の実施形態にしたがう標示は、ビデオ・パラメータ・セットまたはシーケンス・パラメータ・セットに符号化することができる。これは、たとえば、SDPなどのコントロール・プロトコルを使用して、符号化ビデオ・シーケンスから外部に伝達することができる。同じ例を続けると、レシーバは、たとえば、コントロール・プロトコルを使用して、ビデオ・パラメータ・セットまたはシーケンス・パラメータ・セットを得ることができ、復号化のために、ビデオ・パラメータ・セットまたはシーケンス・パラメータ・セットを提供することができる。
上記において、いくつかの実施形態が、符号化/復号化方法、または、コンポーネント間依存性を有するツールに関して記述された。実施形態は、記述された符号化/復号化方法に特有でありえないが、いかなる同様の符号化/復号化方法またはツールででも実現することができることが理解される必要がある。
上記において、例示的実施形態が、ビットストリームのシンタックスの助けで記述された。しかしながら、対応する構造やコンピュータ・プログラムは、ビットストリームを生成するためのエンコーダ、および/またはビットストリームを復号化するためのデコーダに存在することができることを理解する必要がある。同様に、例示的実施形態が、エンコーダを参照して記述されたが、結果として生じるビットストリームとデコーダは、それらの中に、対応する要素を持つことが理解される必要がある。同様に、例示的実施形態が、デコーダを参照して記述されたが、エンコーダは、デコーダにより復号化されるべきビットストリームを生成するための構造やコンピュータ・プログラムを有することが理解される必要がある。
上記において、いくつかの実施形態が、強化層とベース層を参照して記述された。強化層の参照層であるかぎり、ベース層は、任意の他の層と同様であることが理解される必要がある。エンコーダは、ビットストリームに、2つ以上の層を符号化することができ、デコーダは、ビットストリームから、2つ以上の層を復号化できることが理解されることが必要である。実施形態は、強化層とその参照層との任意のペアで実現することができる。同様に、多くの実施形態は、2つ以上の層を考慮して実現できる。
上記の例は、電子装置内のコーデック内で動作する本願発明の実施形態を記述しているが、下記に記述されるような発明は、任意のビデオ・コーデックの一部として実現できることが認識される。このため、例えば、発明の実施形態は、ビデオ・コーディングを、固定または有線通信経路上で実現できるビデオ・コーデックにおいて実現できる。
このため、ユーザ機器は、上記の本願発明の実施形態において記述されたようなビデオ・コーデックを備えることができる。ユーザ機器という用語は、携帯電話、携帯型データ処理装置、または携帯型ウェブ・ブラウザのような任意の適切なタイプのワイヤレス・ユーザ機器をカバーすることを意図されていることが理解されるべきである。
更に、公衆ランドモバイルネットワーク(PLMN)の要素もまた、上記のようなビデオ・コーデックを備えることができる。
一般的に、発明の種々の実施形態は、ハードウェアまたは特定用途回路、ソフトウェア、論理回路、またはそれらの任意の組み合わせにおいて実現できる。例えば、いくつかの形態はハードウェアにおいて実現でき、一方、他の形態は、発明がそれに制限されることはないが、コントローラ、マイクロプロセッサ、または他のコンピューティング装置により実行されるファームウェアまたはソフトウェアで実現できる。発明の種々の形態を、ブロック図またはフローチャートとして、または、いくつかの他の図による表現を使用して、例示および記述できるが、ここで記述された、これらのブロック、装置、システム、技術、または、方法は、非制限的な例としてあげると、ハードウェア、ソフトウェア、ファームウェア、特殊用途回路、または、論理回路、汎用ハードウェア、または、コントローラ、または、他のコンピューティング・デバイス、または、それらのある組み合わせにより実現できることがよく理解されるべきである。
この発明の実施形態は、プロセッサ・エンティティにおけるような携帯デバイスのデータ・プロセッサ、または、ハードウェア、または、ソフトウェアおよびハードウェアの組み合わせにより実行可能なコンピュータソフトウェアにより実現できる。更に、この点に関して、図におけるような論理フローの任意のブロックが、プログラム・ステップ、または、相互接続論理回路、ブロックおよび機能、または、プログラム・ステップと論理回路、ブロックおよび機能の組み合わせを表現できることに留意する。ソフトウェアは、メモリ・チップ、または、プロセッサ内において実現されたメモリブ・ロックのような物理的媒体、ハード・ディスクまたはフロッピ・ディスクのような磁気媒体、および、例えばDVDのような光媒体、およびそのデータ変形例であるCDのような媒体に格納できる。
発明の種々の実施形態は、メモリに存在し、適切な装置に発明を実行させるコンピュータ・プログラム・コードの支援により実現可能である。例えば、ターミナル・デバイスは、メモリにおけるデータ、コンピュータ・プログラム・コードを取り扱い、受信し、送信するための回路および電子機器、および、そのコンピュータ・プログラム・コードを起動すると、ターミナル・デバイスに実施形態の特徴を実行させるプロセッサを備えることができる。更に、また、ネットワーク装置は、メモリにおけるデータ、コンピュータ・プログラム・コードを取り扱い、受信し、送信するための回路および電子機器、および、コンピュータ・プログラム・コードを起動すると、ネットワーク・デバイスに実施形態の特徴を実行させるプロセッサを備えることができる。
このメモリは、局所的技術環境に適切ないかなるタイプであってもよく、半導体ベース・メモリ・デバイス、磁気メモリ・デバイスおよびシステム、光学メモリ・デバイスおよびシステム、固定メモリおよびリムーバブル・メモリのような任意の適切なデータ格納技術を使用して実現できる。データ・プロセッサは、局所的技術環境に適切ないかなるタイプであってもよく、汎用コンピュータ、特殊用途コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、および、マルチコア・プロセッサ・アーキテクチャに基づくプロセッサの1つ以上を含むことができる。ただし、これらは、非制限的な例としてあげたものである。
発明の実施形態は、集積回路モジュールのような種々の構成要素において実施できる。集積回路の設計は、一般的には高度に自動化されたプロセスである。複雑および強力なソフトウェアツールが、論理レベルの設計を、半導体基板上でのエッチングおよび形成が容易な半導体回路設計への変換に利用可能である。
カリフォルニアのマウンテンビューのSynopsysInc.およびカリフォルニアのサンホセのCadenceDesignにより提供されるようなプログラムは、予め格納されている設計モジュールのライブラリと共に、良好に確立された設計規則を使用して、半導体チップ上に導体を自動的に配線し、構成要素を自動的に位置させる。半導体回路の設計が完了すると、結果としての設計は、標準化された電子フォーマット(例えば、Opus、GDSII、または類似のもの)で、半導体製造施設または製造のための「ファブ」へ送ることができる。
上記の記述は、例示であり、非制限的な例として、本願発明の例示的実施形態の完全で有益な説明を提供した。しかしながら、種々の修正と改作は、添付の図面と特許請求項範囲とともに読まれるとき、前述の説明の観点から、当業者にとって明らかなものとなる。しかしながら、本願発明の教示のそのような、また、類似した修正は、本願発明の範囲に依然として入るものである。
下記に、いくつかの例が提供される。
第1の例、にしたがって、層間予測を使用しないで、第1の層の上の第1の解像度を有する第1の画像をエンコードするステップと、前記第1の層と前記第2の層との間での層間予測を使用して、また、前記第1の層から前記第2の層へのスイッチング・ポイントを提供するために、前記第2の層からのピクチャを使用して時間的予測を使用しないで、第2の層の上の第2の解像度を有する第2の画像をエンコードするステップと、インタ予測を用いずに、前記第2の層上の前記第2のピクチャの前のピクチャを時間的に参照することなく、第2の層の上の第2の解像度を有する第3の画像をエンコードするステップと、前記第1の、および、第3のピクチャが、インタ予測を用いずに、符号化されており、前記第2の画像が、層間予測を使用しているが、時間的予測を使用することなく、エンコードされている標示を符号化するステップと、を含む方法が提供される。
いくつかの実施形態において、本願の方法は、シーケンス・レベルにおいて前記標示を信号伝達するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を信号伝達するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を信号伝達するステップと、シーケンス・パラメータにおける標示を信号伝達するステップと、のうちの1つ以上を含む。
いくつかの実施形態において、本願の方法は、前記標示を、第1の指標および第2の指標として提供するステップを含む。
いくつかの実施形態において、本願の方法は、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを示す前記第1の指標を使用するステップと、スイッチング・ポイントにおけるピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを示す前記第2の指標を使用するステップと、を含む。
いくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_rap_flagである。
いくつかの実施形態において、ネットワーク抽象化層ユニット・タイプは、スイッチング・ポイントを示し、ネットワーク抽象化層ユニット・タイプで示されるピクチャの後のどんなピクチャでも、層間予測を使用せず、ネットワーク抽象化層ユニット・タイプで示されたピクチャの前のピクチャを参照しないことを示すために、使用される。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングのベース層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの強化層である。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングの第1の強化層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの別の強化層である。
いくつかの実施形態において、前記第1の層は、マルチビュー・ビデオ・コーディングの第1のビューであり、そして、第2の層はマルチビュー・ビデオ符号化の第2のビューである。前記第2の層は、該マルチビュー・ビデオ・コーディングの第2のビューである。
いくつかの実施形態において、第2のピクチャは、イントラ符号化ピクチャ、時間的予測のないピクチャ、アンカー・アクセス・ユニット、ランダム・アクセス・ピクチャ、または、ステップワイズ・ランダム・アクセス・ピクチャ、のピクチャ・タイプのうちの1つである。
いくつかの実施形態において、本願の方法は、ビデオ表示の解像度変更、品質スケーラビリティ、ビット深度スケーラビリティ、空間スケーラビリティ、クロマ・フォーマット・スケーラビリティ、のうちの少なくとも1つに対して前記第2のピクチャを使用するステップを含む。
いくつかの実施形態において、本願の方法は、ネットワーク・エレメントにより、ビデオ表現の少なくとも1つのアクセス・ユニットに対して前記第1の層と前記第2の層の符号化されたピクチャを受信するステップと、前記ビデオ表現が受信者に送られるべきフォーマットを決定することステップと、を含み、前記決定に基づいて、この方法は、前記受取人に、前記ビデオ表現の1つの層のみを送信するステップ、または、前記受取人に、前記第1の層および前記第2の層の両方を送信するステップ、を更に含む。
第2の例にしたがって、少なくとも1つのプロセッサと、コンピュータ・プログラム・コードを含む少なくとも1つのメモリとを備える装置が提供される。前記少なくとも1つのメモリと、前記プログラムコードとは、前記少なくとも1つのプロセッサにより、前記装置に、層間予測を使用しないで、第1の層の上の第1の解像度を有する第1の画像をエンコードさせ、前記第1の層と前記第2の層との間での層間予測を使用して、また、前記第1の層から前記第2の層へのスイッチング・ポイントを提供するために、前記第2の層からのピクチャを使用して時間的予測を使用しないで、第2の層の上の第2の解像度を有する第2の画像をエンコードさせ、インタ予測を用いずに、前記第2の層上の前記第2のピクチャの前のピクチャを時間的に参照することなく、第2の層の上の第2の解像度を有する第3の画像をエンコードさせ、前記第1および第3の画像は、インタ予測を用いずに、エンコードされていること、前記第2の画像が、層間予測を使用しているが、時間的予測を使用することなく、エンコードされていることの指標を符号化させるように構成される。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、シーケンス・レベルにおいて前記標示を信号伝達するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を信号伝達するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を信号伝達するステップと、シーケンス・パラメータにおける標示を信号伝達するステップと、を実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、前記標示を、第1の指標および第2の指標として提供させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを示す前記第1の指標を使用するステップと、スイッチング・ピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを示す前記第2の指標を使用するステップと、を実行させる。
いくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_rap_flagである。
いくつかの実施形態において、ネットワーク抽象化層ユニット・タイプは、スイッチング・ポイントを示すのに、また、ネットワーク抽象化層ユニット・タイプで示されるピクチャの後のどんなピクチャも、層間予測を使用せず、ネットワーク抽象化層ユニット・タイプで示されたピクチャの前のピクチャを参照しないことを示すために、用いられる。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングのベース層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの強化層である。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングの第1の強化層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの別の強化層である。
いくつかの実施形態において、前記第1の層は、マルチビュー・ビデオ・コーディングの第1のビューであり、前記第2の層は、該マルチビュー・ビデオ・コーディングの第2のビューである。
いくつかの実施形態において、第2のピクチャは、イントラ符号化ピクチャ、時間的予測のないピクチャ、アンカー・アクセス・ユニット、ランダム・アクセス・ピクチャ、または、ステップワイズ・ランダム・アクセス・ピクチャ、のピクチャ・タイプのうちの1つである。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、ビデオ表示の解像度変更、品質スケーラビリティ、ビット深度スケーラビリティ、空間スケーラビリティ、クロマ・フォーマット・スケーラビリティ、のうちの1つに対して前記第2のピクチャを使用させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、ビデオ表現の少なくとも1つのアクセス・ユニットに対して前記第1の層と前記第2の層の符号化されたピクチャを、ネットワーク・エレメントによって受信するステップと、前記ビデオ表現が受信者に送られるべきフォーマットを決定するステップと、を実行させる。ここで、前記決定に基づいて、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、前記受信者へビデオ表現の層の1つのみを送るステップ、または、前記受信者に、前記第1の層と前記第2の層との両方を送るステップを更に実行させる。
第3の例にしたがって、少なくとも1つのプロセッサで実行されるとき、装置またはシステムに、層間予測を使用しないで、第1の層の上の第1の解像度を有する第1の画像をエンコードさせ、前記第1の層と前記第2の層との間での層間予測を使用して、また、前記第1の解像度から前記第2の解像度へのスイッチング・ポイントを提供するために、前記第2の層からのピクチャを使用して時間的予測を使用しないで、第2の層の上の第2の解像度を有する第2の画像をエンコードさせ、インタ予測を用いずに、前記第2の層上の前記第2のピクチャの前のピクチャを時間的に参照することなく、第2の層の上の第2の解像度を有する第3の画像をエンコードさせ、前記第1および第3の画像は、インタ予測を用いずに、エンコードされていること、前記第2の画像が、層間予測を使用しているが、時間的予測を使用することなく、エンコードされていることの指標を符号化させるように構成されたコンピュータ・プログラム・コードを備える、固定コンピュータ読取り可能媒体において具体化されるコンピュータ・プログラム・プロダクトが提供される。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、シーケンス・レベルにおいて前記標示を信号伝達するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を信号伝達するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を信号伝達するステップと、シーケンス・パラメータにおける標示を信号伝達するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、前記標示を、第1の指標および第2の指標として提供するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを示す前記第1の指標を使用するステップと、スイッチング・ピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを示す前記第2の指標を使用するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_rap_flagである。
いくつかの実施形態において、ネットワーク抽象化層ユニット・タイプは、スイッチング・ポイントを示し、前記ネットワーク抽象化層ユニット・タイプで示される前記ピクチャに続いているどんなピクチャでも、層間予測を使用せず、ネットワーク抽象化層ユニット・タイプで示されたピクチャの前のピクチャを参照しないことを示すために、使用される。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングのベース層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの強化層である。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングの第1の強化層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの別の強化層である。
いくつかの実施形態において、前記第1の層は、マルチビュー・ビデオ・コーディングの第1のビューであり、前記第2の層は、該マルチビュー・ビデオ・コーディングの第2のビューである。
いくつかの実施形態において、第2のピクチャは、イントラ符号化ピクチャ、時間的予測のないピクチャ、アンカー・アクセス・ユニット、ランダム・アクセス・ピクチャ、または、ステップワイズ・ランダム・アクセス・ピクチャ、のピクチャ・タイプのうちの1つである。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、ビデオ表示の解像度変更、品質スケーラビリティ、空間スケーラビリティ、クロマ・フォーマット・スケーラビリティ、のうちの少なくとも1つに対して前記第2のピクチャを使用させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、ビデオ表現の少なくとも1つのアクセス・ユニットに対して前記第1の層と前記第2の層の符号化されたピクチャを、ネットワーク・エレメントによって受信するステップと、前記ビデオ表現が受信者に送られるべきフォーマットを決定するステップと、を実行させる。ここで、前記決定に基づいて、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、前記受信者へビデオ表現の層の1つのみを送るステップ、または、前記受信者に、前記第1の層と前記第2の層との両方を送るステップを更に実行させる、ように構成されたコンピュータ・プログラム・コードを備える。
第4の例にしたがって、第1の層を、層間予測を使用しないで、第1の解像度を着ている第1のピクチャを符号化することする手段と、前記第1の層と前記第2の層との間での層間予測を使用して、また、前記第1の層から前記第2の層へのスイッチング・ポイントを提供するために、前記第2の層からのピクチャを使用して時間的予測を使用しないで、第2の層の上の第2の解像度を有する第2の画像をエンコードするための手段と、インタ予測を用いずに、前記第2の層上の前記第2のピクチャの前のピクチャを時間的に参照することなく、第2の層の上の第2の解像度を有する第3の画像をエンコードするための手段と、前記第1および第3の画像は、インタ予測を用いずに、エンコードされていること、前記第2の画像が、層間予測を使用しているが、時間的予測を使用することなく、エンコードされていることの指標をエンコードするための手段とを備える装置が提供される。
第5の例にしたがって、スイッチング・ポイントがビットストリーム中に存在するかどうかを決定するために1つ以上の標示を受信するを含む方法が提供される。ここで、スイッチング・ポイントが存在し、そのスイッチング・ポイントが層間予測を使用して符号化したピクチャを指す場合には、この方法は、該スイッチング・ポイントの前に、前記第1の層における1つ以上のピクチャを復号化するステップと、該スイッチング・ポイントに結びついた1つ以上のピクチャを復号化するステップと、該スイッチング・ポイントの後に、前記第2の層における1つ以上のピクチャを復号化するステップと、を更に含む。
いくつかの実施形態において、本願の方法は、シーケンス・レベルにおいて前記1つ以上の標示を受信するステップと、前記1つ以上の標示をネットワーク抽象化層におけるユニットのタイプとして受信するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける前記1つ以上の標示を受信するステップと、シーケンス・パラメータにおける前記1つ以上の標示を受信するステップと、のうちの1つ以上を含む。
いくつかの実施形態において、本願の方法は、前記標示を、第1の指標および第2の指標として受信するステップを含む。
いくつかの実施形態において、本願の方法は、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されるか否かを決定するために前記第1の指標を使用するステップと、スイッチング・ピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含むか否か、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができるか否かを決定するために前記第2の指標を使用するステップと、を含む。
いくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_rap_flagである。
いくつかの実施形態において、ネットワーク抽象化層ユニット・タイプは、スイッチング・ポイントを示し、ネットワーク抽象化層ユニット・タイプで示されるピクチャの後のどんなピクチャでも、層間予測を使用せず、ネットワーク抽象化層ユニット・タイプで示されたピクチャの前のピクチャを参照しないことを示すために、使用される。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングのベース層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの強化層である。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングの第1の強化層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの別の強化層である。
いくつかの実施形態において、前記第1の層は、マルチビュー・ビデオ・コーディングの第1のビューであり、前記第2の層は、該マルチビュー・ビデオ・コーディングの第2のビューである。
いくつかの実施形態において、第2のピクチャは、イントラ符号化ピクチャ、時間的予測のないピクチャ、アンカー・アクセス・ユニット、ランダム・アクセス・ピクチャ、または、ステップワイズ・ランダム・アクセス・ピクチャ、のピクチャ・タイプのうちの1つである。
いくつかの実施形態において、本願の方法は、ビデオ表示の解像度変更、品質スケーラビリティ、ビット深度スケーラビリティ、空間スケーラビリティ、クロマ・フォーマット・スケーラビリティ、のうちの少なくとも1つに対して前記第2のピクチャを使用するステップを含む。
第6の例にしたがって、少なくとも1つのプロセッサと、コンピュータ・プログラム・コードを含んでいる少なくとも1つのメモリとを備える装置が提供される。前記少なくとも1つのメモリと、前記プログラムコードとは、前記少なくとも1つのプロセッサにより、前記装置に、スイッチング・ポイントがビットストリーム中に存在するかどうかを決定するために、1つ以上の標示を受信させるように構成される。ここで、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、スイッチング・ポイントが存在し、そのスイッチング・ポイントが層間予測を使用して符号化したピクチャを指す場合には、該スイッチング・ポイントの前に、前記第1の層における1つ以上のピクチャを復号化することと、該スイッチング・ポイントに結びついた1つ以上のピクチャを復号化することと、該スイッチング・ポイントの後に、前記第2の層における1つ以上のピクチャを復号化することと、を実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、シーケンス・レベルにおいて前記1つ以上の標示を受信するステップと、ネットワーク抽象化層におけるユニットのタイプとして前記1つ以上の標示を受信するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける前記1つ以上の標示を受信するステップと、シーケンス・パラメータにおける前記1つ以上の標示を受信するステップと、を実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、前記標示を、第1の指標および第2の指標として受信するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されるかどうかを決定するのに前記第1の指標を使用するステップと、スイッチング・ピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができるか否かを決定するのに前記第2の指標を使用するステップと、を実行させる。
いくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_rap_flagである。
いくつかの実施形態において、ネットワーク抽象化層ユニット・タイプは、スイッチング・ポイントを示し、ネットワーク抽象化層ユニット・タイプで示されるピクチャの後のどんなピクチャも、層間予測を使用せず、ネットワーク抽象化層ユニット・タイプで示されたピクチャの前のピクチャを参照しないことを示すために、使用される。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングのベース層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの強化層である。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングの第1の強化層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの別の強化層である。
いくつかの実施形態において、前記第1の層は、マルチビュー・ビデオ・コーディングの第1のビューであり、前記第2の層は、該マルチビュー・ビデオ・コーディングの第2のビューである。
いくつかの実施形態において、第2のピクチャは、イントラ符号化ピクチャ、時間的予測のないピクチャ、アンカー・アクセス・ユニット、ランダム・アクセス・ピクチャ、または、ステップワイズ・ランダム・アクセス・ピクチャ、のピクチャ・タイプのうちの1つである。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、ビデオ表示の解像度変更、品質スケーラビリティ、ビット深度スケーラビリティ、空間スケーラビリティ、クロマ・フォーマット・スケーラビリティ、のうちの1つに対して前記第2のピクチャを使用させる。
第7の例にしたがって、少なくとも1つのプロセッサで実行されるとき、装置またはシステムに、スイッチング・ポイントがビットストリーム中に存在するかどうかを決定するために、1つ以上の標示を受信させるように構成されたコンピュータ・プログラム・コードを備える、固定コンピュータ読取り可能媒体において具体化されるコンピュータ・プログラム・プロダクトが提供される。ここで、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、スイッチング・ポイントが存在し、そのスイッチング・ポイントが層間予測を使用して符号化したピクチャを指す場合には、該スイッチング・ポイントの前に、前記第1の層における1つ以上のピクチャを復号化することと、該スイッチング・ポイントに結びついた1つ以上のピクチャを復号化することと、該スイッチング・ポイントの後に、前記第2の層における1つ以上のピクチャを復号化すること、とを実行させる。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、シーケンス・レベルにおいて前記1つ以上の標示を受信するステップと、ネットワーク抽象化層の一種のユニットとして、1つ以上の標示を受信するステップと、補足的な強化情報ネットワーク抽象化層ユニットで、1つ以上の標示を受信するステップと、シーケンス・パラメータにおける前記1つ以上の標示を受信するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、前記標示を、第1の指標および第2の指標として受信するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されるかどうかを決定するのに前記第1の指標を使用するステップと、スイッチング・ピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができるか否かを決定するのに前記第2の指標を使用するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_rap_flagである。
いくつかの実施形態において、ネットワーク抽象化層ユニット・タイプは、スイッチング・ポイントを示し、ネットワーク抽象化層ユニット・タイプで示されるピクチャの後のどんなピクチャも、層間予測を使用せず、ネットワーク抽象化層ユニット・タイプで示されたピクチャの前のピクチャを参照しないことを示すために、使用される。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングのベース層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの強化層である。
いくつかの実施形態において、前記第1の層は、スケーラブルなビデオ・コーディングの第1の強化層であり、前記第2の層は、該スケーラブルなビデオ・コーディングの別の強化層である。
いくつかの実施形態において、前記第1の層は、マルチビュー・ビデオ・コーディングの第1のビューであり、前記第2の層は、該マルチビュー・ビデオ・コーディングの第2のビューである。
いくつかの実施形態において、第2のピクチャは、イントラ符号化ピクチャ、時間的予測のないピクチャ、アンカー・アクセス・ユニット、ランダム・アクセス・ピクチャ、または、ステップワイズ・ランダム・アクセス・ピクチャ、のピクチャ・タイプのうちの1つである。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、ビデオ表示の解像度変更、品質スケーラビリティ、ビット深度スケーラビリティ、空間スケーラビリティ、クロマ・フォーマット・スケーラビリティ、のうちの少なくとも1つに対して前記第2のピクチャを使用させるように構成されたコンピュータ・プログラム・コードを備える。
第8の例にしたがって、スイッチング・ポイントがビットストリーム中に存在するかどうかを決定するために1つ以上の標示を受信するための手段と、該スイッチング・ポイントの前に、前記第1の層における1つ以上のピクチャを復号化し、該スイッチング・ポイントに結びついた1つ以上のピクチャを復号化し、スイッチング・ポイントが存在し、そのスイッチング・ポイントが層間予測を使用して符号化したピクチャを指す場合には、該スイッチング・ポイントの後に、前記第2の層における1つ以上のピクチャを復号化するための手段とを備える装置が提供される。
第9の例にしたがって、第1の解像度を有するピクチャの第1のセットを第1の表現に符号化するステップと、前記第1の解像度から第2の解像度へのスイッチング・ポイントを提供するために、ピクチャの第1セットからのインタ予測を用いて、また、時間的予測を使用しないで、ピクチャの第2のセットを第2の表現に符号化するステップと、インタ予測を用いずに、前記第2の表現のピクチャの前記第2のセットの以前のピクチャを時間的に参照することなく、第2の解像度を有するピクチャの第3のセットを第3の表現に符号化するステップと、ピクチャの前記第1の、および、第3のセットが、インタ予測を用いずに、符号化されており、および、層間予測を使用しているが、時間的予測を使用することなく、ピクチャの前記第2のセットのうちの少なくとも1つのピクチャは、符号化されていること標示を符号化するステップと、を含む方法が提供される。
いくつかの実施形態において、本願の方法は、適合化セットに、第1の表現、第2の表現および第3の表現を符号化するステップを含む。
いくつかの実施形態において、本願の方法は、ファイルに適合化セットを格納するステップと、そのファイルのコンテンツのメディア表現記述を提供するステップとを含む。
いくつかの実施形態において、本願の方法は、シーケンス・レベルにおいて前記標示を信号伝達するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を信号伝達するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を信号伝達するステップと、シーケンス・パラメータにおける標示を信号伝達するステップと、のうちの1つ以上を含む。
いくつかの実施形態において、本願の方法は、前記標示を、第1の指標および第2の指標として提供するステップを含む。
いくつかの実施形態において、本願の方法は、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを示す前記第1の指標を使用するステップと、スイッチング・ポイントにおけるピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを示す前記第2の指標を使用するステップと、を含む。
本願方法のいくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_irap_flagである。
いくつかの実施形態において、本願の方法は、第2の表現を送信する要求を受信するステップを含む。
いくつかの実施形態において、本願の方法は、ピクチャのセットを含む表現のメディア表現記述を送信する要求を受信するステップを含む。
いくつかの実施形態において、本願の方法は、HTTPの上のダイナミックな適応ストリーミング、電子メール、サム・ドライブ、放送のうちの1つ以上を使用するセグメントを送信するステップを含む。
第10の例、にしたがって、少なくとも1つのプロセッサと、コンピュータ・プログラム・コードを含んでいる少なくとも1つのメモリとを備える装置が提供される。前記少なくとも1つのメモリと、前記プログラムコードとは、前記少なくとも1つのプロセッサにより、前記装置に、第1の解像度を有するピクチャの第1のセットを第1の表現に符号化させ、前記第1の解像度から第2の解像度へのスイッチング・ポイントを提供するために、ピクチャの第1セットからのインタ予測を用いて、また、時間的予測を使用しないで、ピクチャの第2のセットを第2の表現に符号化させ、インタ予測を用いずに、前記第2の表現のピクチャの前記第2のセットの以前のピクチャを時間的に参照することなく、第2の解像度を有するピクチャの第3のセットを第3の表現に符号化させ、ピクチャの第1のおよび第3のセットは、インタ予測を用いずに、符号化され、ピクチャの第2セットの少なくとも1つのピクチャは、層間予測を用いて、しかし、時間的予測を用いずに符号化されることの指標を符号化させるように構成される。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、適合化セットに、第1の表現、第2の表現および第3の表現を符号化するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、適合化セットをファイルに格納し、そのファイルのコンテンツのメディア表現記述を提供することを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、シーケンス・レベルにおいて前記標示を信号伝達するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を信号伝達するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を信号伝達するステップと、シーケンス・パラメータにおける標示を信号伝達するステップと、を実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、前記標示を、第1の指標および第2の指標として提供するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを示す前記第1の指標を使用するステップと、スイッチング・ポイントにおけるピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを示す前記第2の指標を使用するステップと、を実行させる。
本願装置のいくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_irap_flagである。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、第2の表現を送信する要求を受信するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、ピクチャのセットを含む表現のメディア表現記述を送信する要求を受信するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、HTTPの上のダイナミックな適応ストリーミング、電子メール、サム・ドライブ、放送のうちの1つ以上を使用して前記セグメントを送信させる。
第11の例にしたがって、コンピュータ読み取り可能な配布媒体において具体化され、少なくとも1つのプロセッサで実行されるとき、装置またはシステムに、第1の解像度を有するピクチャの第1のセットを第1の表現に符号化させ、前記第1の解像度から第2の解像度へのスイッチング・ポイントを提供するために、ピクチャの第1セットからのインタ予測を用いて、また、時間的予測を使用しないで、ピクチャの第2のセットを第2の表現に符号化させ、インタ予測を用いずに、前記第2の表現のピクチャの前記第2のセットの以前のピクチャを時間的に参照することなく、第2の解像度を有するピクチャの第3のセットを第3の表現に符号化させ、ピクチャの前記第1の、および、第3のセットが、インタ予測を用いずに、符号化されており、層間予測を使用しているが、時間的予測を使用することなく、ピクチャの前記第2のセットのうちの少なくとも1つのピクチャは、符号化されていることの標示を符号化させるように構成されたコンピュータ・プログラム・コードを備える、コンピュータ・プログラム・プロダクトが提供される。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、第1の表現、第2の表現、および、第3の表現を、適合化セットに符号化することを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、適合化セットをファイルに格納し、そのファイルのコンテンツのメディア表現記述を提供することを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、シーケンス・レベルにおいて前記標示を信号伝達するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を信号伝達するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を信号伝達するステップと、シーケンス・パラメータにおける標示を信号伝達するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、前記標示を、第1の指標および第2の指標として提供するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを示す前記第1の指標を使用するステップと、スイッチング・ポイントにおけるピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含むこと、および、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを示す前記第2の指標を使用するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
コンピュータ・プログラム・プロダクトのいくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_irap_flagである。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、第2の表現を送信する要求を受信するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、ピクチャのセットを含む表現のメディア表現記述を送信する要求を受信するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、HTTPの上のダイナミックな適応ストリーミング、電子メール、サム・ドライブ、放送のうちの1つ以上をセグメントを送信させるように構成されたコンピュータ・プログラム・コードを備える。
第12の例にしたがって、ピクチャの第1の、および、第3のセットが、インタ予測を用いずに、符号化されており、ピクチャの第2のセットのうちの少なくとも1つのピクチャは、層間予測を使用しているが、時間的予測を使用することなく、符号化されていることの標示を復号化するステップと、第1の解像度を有するピクチャの前記第1のセットを第1の表現に復号化するステップと、前記第1の解像度から第2の解像度へのスイッチング・ポイントを提供するために、ピクチャの第1セットからのインタ予測を用いて、また、時間的予測を使用しないで、ピクチャの第2のセットを第2の表現から復号化するステップと、インタ予測を用いずに、前記第2の表現のピクチャの前記第2のセットの以前のピクチャを時間的に参照することなく、第2の解像度を有するピクチャの第3のセットを第3の表現から復号化するステップと、を含む方法が提供される。
いくつかの実施形態において、本願の方法は、適合化セットからの第1の表現、第2の表現および第3の表現を復号化するステップを含む。
いくつかの実施形態において、本願の方法は、ファイルとして適合化セットを受信するステップと、そのファイルのコンテンツのメディア表現記述を受信するステップと、を含む。
いくつかの実施形態において、本願の方法は、シーケンス・レベルにおいて前記標示を受信するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を受信するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を受信するステップと、シーケンス・パラメータにおける標示を受信するステップと、のうちの1つ以上を含む。
いくつかの実施形態において、本願の方法は、前記標示を、第1の指標および第2の指標として受信するステップを含む。
いくつかの実施形態において、本願の方法は、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを決定するために第1の指標を使用するステップと、スイッチング・ポイントにおけるピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを決定するために第2の指標を使用するステップと、を含む。
本願方法のいくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_irap_flagである。
いくつかの実施形態において、本願の方法は、第2の表現を送信することの要求を送信するステップを含む。
いくつかの実施形態において、本願の方法は、ピクチャのセットを含む表現のメディア表現記述を送信する要求を送信するステップを含む。
いくつかの実施形態において、本願の方法は、HTTPの上のダイナミックな適応ストリーミング、電子メール、サム・ドライブ、放送のうちの1つ以上を使用するセグメントを受信するステップを含む。
第13の例にしたがって、少なくとも1つのプロセッサと、コンピュータ・プログラム・コードを含んでいる少なくとも1つのメモリを備える装置が提供される。前記少なくとも1つのメモリと、前記プログラムコードとは、前記少なくとも1つのプロセッサにより、前記装置に、ピクチャの第1の、および、第3のセットが、インタ予測を用いずに、符号化されており、ピクチャの第2のセットのうちの少なくとも1つのピクチャは、層間予測を使用しているが、時間的予測を使用することなく、符号化されていることの標示を復号化させ、第1の解像度を有するピクチャの前記第1のセットを第1の表現に復号化させ、前記第1の解像度から第2の解像度へのスイッチング・ポイントを提供するために、ピクチャの第1セットからのインタ予測を用いて、また、時間的予測を使用しないで、ピクチャの第2セットを第2の表現から復号化させ、インタ予測を用いずに、前記第2の表現のピクチャの前記第2のセットの以前のピクチャを時間的に参照することなく、前記第2の解像度を有するピクチャの前記第3のセットを、第3の表現から復号化させるように構成される。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、適合化セットからの第1の表現、第2の表現および第3の表現を復号化するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、ファイルとして適合化セットを受信するステップと、そのファイルのコンテンツのメディア表現記述を受信するステップと、を実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、シーケンス・レベルにおいて前記標示を受信するするステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を受信するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を受信するステップと、シーケンス・パラメータにおける標示を受信するステップと、を実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、前記標示を、第1の指標および第2の指標として受信するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを決定するために前記第1の指標を使用させ、スイッチング・ポイントにおけるピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを決定するために前記第2の指標を使用させる。
本願装置のいくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_irap_flagである。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、第2の表現を送信する要求を送信するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、ピクチャのセットを含む表現のメディア表現記述を送信する要求を送信するステップを実行させる。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、その装置に、HTTPの上のダイナミックな適応ストリーミング、電子メール、サム・ドライブ、放送のうちの1つ以上を使用するセグメントを受信させる。
第14の例にしたがって、少なくとも1つのプロセッサで実行されるとき、装置またはシステムに、ピクチャの第1の、および、第3のセットが、インタ予測を用いずに、符号化されており、ピクチャの第2のセットのうちの少なくとも1つのピクチャは、層間予測を使用しているが、時間的予測を使用することなく、符号化されていることの標示を復号化させ、第1の解像度を有するピクチャの前記第1のセットを第1の表現に復号化させ、前記第1の解像度から第2の解像度へのスイッチング・ポイントを提供するために、ピクチャの第1セットからのインタ予測を用いて、また、時間的予測を使用しないで、ピクチャの第2セットを第2の表現から復号化させ、インタ予測を用いずに、前記第2の表現のピクチャの前記第2のセットの以前のピクチャを時間的に参照することなく、前記第2の解像度を有するピクチャの前記第3のセットを、第3の表現から復号化させるように構成されたコンピュータ・プログラム・コードを備える、固定コンピュータ読取り可能メディアの上で具体化されるコンピュータ・プログラム・プロダクトが提供される。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、適合化セットからの第1の表現、第2の表現および第3の表現を復号化するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、ファイルとして適合化セットを受信するステップと、そのファイルのコンテンツのメディア表現記述を受信するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、シーケンス・レベルにおいて前記標示を受信するステップと、ネットワーク抽象化層におけるユニットのタイプにより前記標示を受信するステップと、補足エンハンスメント情報ネットワーク抽象化層ユニットにおける標示を受信するステップと、シーケンス・パラメータにおける標示を受信するステップと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
本願装置のいくつかの実施形態において、コードを格納している前記少なくとも1つのメモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置に、少なくとも、前記標示を、第1の指標および第2の指標として受信させる。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、符号化されたビデオ・シーケンスが、適応解像度変更操作を実行することを強制されることを決定するために前記第1の指標を使用することと、スイッチング・ポイントにおけるピクチャを除いて、各々のアクセス・ユニットが、単一の層からの単一のピクチャを含み、スイッチングが起こるアクセス・ユニットは、2つの層からのピクチャを含み、層間スケーラビリティ・ツールを使用することができることを決定するために前記第2の指標を使用することと、を実行させるように構成されたコンピュータ・プログラム・コードを備える。
コンピュータ・プログラム・プロダクトのいくつかの実施形態において、第1の指標は、inter_layer_pred_for_el_rap_only_flagであり、第2の指標は、single_layer_for_non_irap_flagである。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、第2の表現を送信する要求を送信するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、前記装置または前記システムに、少なくとも、ピクチャのセットを含む表現のメディア表現記述を送信する要求を送信するステップを実行させるように構成されたコンピュータ・プログラム・コードを備える。
いくつかの実施形態において、コンピュータ・プログラム・プロダクトは、前記少なくとも1つのプロセッサにより実行されるとき、その装置またはシステムに、HTTPの上のダイナミックな適応ストリーミング、電子メール、サム・ドライブ、放送のうちの1つ以上を使用するセグメントを受信させるように構成されたコンピュータ・プログラム・コードを備える。