(57)【特許請求の範囲】
【請求項１】
ビデオデータをコード化する方法であって、
アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージをコード化することを備え、前記アクティブなＶＰＳの前記識別子は、固定長コード化され、ＳＥＩネットワーク抽象化層（ＮＡＬ）ユニットは前記ＳＥＩメッセージを備え、他のＳＥＩメッセージはいずれも、前記ＳＥＩ ＮＡＬユニットに含まれない、方法。
【請求項２】
前記ＳＥＩメッセージのペイロードは、前記アクティブなＶＰＳの前記識別子を備える、請求項１に記載の方法。
【請求項３】
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージにおいて任意のエントロピーコード化シンタックスエレメントの前にコード化される、請求項１に記載の方法。
【請求項４】
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージ内の第１のシンタックスエレメントとしてコード化される、請求項１に記載の方法。
【請求項５】
前記ＳＥＩ ＮＡＬユニットを含むために、前記ビデオデータの各ランダムアクセスポイント（ＲＡＰ）アクセスユニットをコード化することをさらに備える、請求項１に記載の方法。
【請求項６】
前記ＳＥＩメッセージをコード化することは、前記アクティブなＶＰＳの前記識別子を含む前記ＳＥＩメッセージを符号化することを備える、請求項１に記載の方法。
【請求項７】
前記ＳＥＩメッセージをコード化することは、前記アクティブなＶＰＳの前記識別子を含む前記ＳＥＩメッセージを復号することと、前記アクティブなＶＰＳの前記識別子によって識別された前記ＶＰＳを使用してビデオデータを復号することとを備える、請求項１に記載の方法。
【請求項８】
前記アクティブなＶＰＳの前記識別子は、vps_idを備える、請求項１に記載の方法。
【請求項９】
実行されると、前記１つまたは複数のプロセッサに、請求項１〜８のいずれか一項に記載の方法を実行させる命令をさらに記憶したコンピュータ可読記憶媒体。
【請求項１０】
ビデオデータをコード化するためのデバイスであって、
アクティブなビデオパラメータセット（ＶＰＳ）に関連付けられたデータを記憶するための手段と、
補足強化情報（ＳＥＩ）メッセージ内のアクティブなビデオパラメータセット（ＶＰＳ）のインジケーションを含む前記ＳＥＩメッセージをコード化するための手段と
を備え、前記アクティブなＶＰＳの前記インジケーションは、固定長コード化され、前記ＳＥＩメッセージに含まれ、ＳＥＩネットワーク抽象化層（ＮＡＬ）ユニットは前記ＳＥＩメッセージを備え、他のＳＥＩメッセージはいずれも、前記ＳＥＩ ＮＡＬユニットに含まれない、デバイス。
【請求項１１】
前記ＳＥＩ ＮＡＬユニットを含むために、ビデオデータの各ランダムアクセスポイント（ＲＡＰ）アクセスユニットをコード化するための手段をさらに備える、請求項１０に記載のデバイス。
【請求項１２】
前記アクティブなＶＰＳの識別子は、前記ＳＥＩメッセージにおいて任意のエントロピーコード化シンタックスエレメントの前にコード化され、前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージ内の第１のシンタックスエレメントとしてコード化される、請求項１０に記載のデバイス。
【請求項１３】
前記ＳＥＩメッセージをコード化するための前記手段は、前記ＳＥＩメッセージを復号するための手段を備え、前記デバイスは、
前記ビデオデータを表示するように構成されたディスプレイをさらに備える、請求項１０〜１２のいずれかに記載のデバイス。
【請求項１４】
前記ＳＥＩメッセージをコード化するための前記手段は、前記ＳＥＩメッセージを符号化するための手段を備え、前記デバイスは、
前記ビデオデータをキャプチャするように構成されたカメラをさらに備える、請求項１０〜１２のいずれかに記載のデバイス。
【請求項１５】
前記デバイスは、
集積回路、
マイクロプロセッサ、または、
ワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項１０〜１３のいずれかに記載のデバイス。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]  本願は、すべての内容が参照により本明細書に組み込まれる、２０１２年７月９日に出願された米国特許仮出願第６１／６６９，５５６号の利益を主張する。
【技術分野】
【０００２】
[0002]  本開示は一般に、ビデオデータの処理に関し、より具体的には、１つ以上のビデオコード化規格に適用可能な技法に関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ能力は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラまたは衛星無線電話、いわゆる「スマートフォン」、ビデオテレビ会議デバイス、ビデオストリーミングデバイス、トランスコーダ、ルータ、または他のネットワークデバイス、等を含む、幅広い範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６３、ＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４，パート１０，ＡＶＣ（Advanced Video Coding）によって定義されている規格、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格、企業所有の規格（proprietary standard）、ＶＰ８のようなオープンビデオ圧縮形式、およびそのような規格、技法、または形式の拡張したものに記述されているもののような、ビデオ圧縮技法を実現する。ビデオデバイスは、そのようなビデオ圧縮技法を実現することによってより効率的にデジタルビデオ情報を送信、受信、符号化、復号、および／または記憶することができる。
【０００４】
[0004]  ビデオ圧縮技法は、ビデオシーケンスに内在する冗長性を低減または除去するために、空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を実行する。ブロックベースビデオコード化の場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部）が、ツリーブロック、コード化ユニット（ＣＵ）、および／またはコード化ノードとも呼ばれうるビデオブロックへと区分化されうる。ピクチャのイントラコード化（Ｉ）スライス内のビデオブロックは、同一のピクチャ内の隣接ブロックにおける参照サンプルに対して空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同一のピクチャ内の隣接ブロックにおける参照サンプルに対して空間予測を、または他の参照ピクチャ内の参照サンプルに対して時間予測を使用しうる。ピクチャは、フレームと呼ばれ、参照ピクチャは、参照フレームと呼ばれうる。
【０００５】
[0005]  空間予測または時間予測は、コード化されるべきブロックについての予測ブロックに帰着する。残差データは、コード化されるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとにしたがって符号化される。イントラコード化ブロックは、イントラコード化モードおよび残差データにしたがって符号化される。さらなる圧縮のために、残差データは、ピクセルドメインから変換ドメインへと変換され、その結果、残差変換係数がもたらされ、それはその後、量子化されうる。変換係数の１次元ベクトルを生成するために、当初は２次元アレイで配列されている量子化変換係数が走査され、より一層の圧縮を達成するために、エントロピーコード化が適用されうる。
【発明の概要】
【０００６】
[0006]  一例では、本開示は、補足強化情報（ＳＥＩ）メッセージをコード化するための技法について説明する。いくつかの例では、ＳＥＩメッセージは、アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含みうる。いくつかの例では、識別子は、固定長コード化されうる。
【０００７】
[0007]  一例では、本開示は、アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージをコード化することを含む、ビデオデータをコード化する方法について説明しており、ここにおいて、アクティブなＶＰＳの識別子は、固定長コード化される。
【０００８】
[0008]  別の例では、本開示は、アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージをコード化するように構成されたプロセッサを含む、ビデオデータをコード化するためのデバイスについて説明しており、ここにおいて、アクティブなＶＰＳの識別子は、固定長コード化される。
【０００９】
[0009]  別の例では、本開示は、アクティブなビデオパラメータセット（ＶＰＳ）に関連付けられたデータを記憶するための手段と、補足強化情報（ＳＥＩ）メッセージ内のアクティブなビデオパラメータセット（ＶＰＳ）のインジケーションを含むＳＥＩメッセージをコード化するための手段とを含む、ビデオデータをコード化するためのデバイスについて説明しており、ここにおいて、アクティブなＶＰＳのインジケーションは、固定長コード化され、ＳＥＩメッセージに含まれる。
【００１０】
[0010]  別の例では、本開示は、コンピュータ可読記憶媒体について説明している。コンピュータ可読記憶媒体は、命令を格納しており、これらの命令は、実行されると、１つ以上のプロセッサに、アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージをコード化させ、ここにおいて、アクティブなＶＰＳの識別子は、固定長コード化される。
【００１１】
[0011]  １つ以上の例の詳細が、添付の図面および以下の説明において示される。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]  図１は、本開示で説明される技法を利用しうる例となるビデオ符号化および復号システムを例示するブロック図である。
【図２】[0013]  図２は、本開示で説明される技法を実現しうる例となるビデオエンコーダを例示するブロック図である。
【図３】[0014]  図３は、本開示で説明される技法を実現しうる例となるビデオデコーダを例示するブロック図である。
【図４】[0015]  図４は、ネットワークの一部分を形成する例となるデバイスのセットを例示するブロック図である。
【図５】[0016]  図５は、本開示の１つ以上の例に係る、例となる方法を例示するフローチャートである。
【図６】[0017]  図６は、本開示の１つ以上の例に係る、別の例となる方法を例示するフローチャートである。
【図７】[0018]  図７は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートである。
【図８】[0019]  図８は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートである。
【図９】[0020]  図９は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートである。
【図１０】[0021]  図１０は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートである。
【発明を実施するための形態】
【００１３】
[0022]  本開示は、様々なビデオコード化改善点（improvement）について説明する。以下、いくつかのビデオコード化規格が説明される。ビデオコード化規格には、ＩＴＵ−Ｔ Ｈ．２６１、ＩＳＯ／ＩＥＣ ＭＰＥＧ−１ Ｖｉｓｕａｌ、ＩＴＵ−Ｔ Ｈ．２６２、またはＩＳＯ／ＩＥＣ ＭＰＥＧ−２ Ｖｉｓｕａｌ、ＩＴＵ−Ｔ Ｈ．２６３、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ Ｖｉｓｕａｌ、および、ＩＴＵ−Ｔ Ｈ．２６４（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られている）が含まれており、それは、スケーラブルビデオコード化（ＳＶＣ）とＭＶＣ（Multiview Video Coding）拡張を含む。
【００１４】
[0023]  加えて、新しいビデオコード化規格、すなわち、高効率ビデオコード化（ＨＥＶＣ）が、ＩＴＵ−Ｔ ＶＣＥＧ（Video Coding Experts Group）とＩＳＯ／ＩＥＣ ＭＰＥＧ（Motion Picture Experts Group）とからなるＪＣＴ−ＶＣ（Joint Collaboration Team on Video Coding）によって開発中である。ＨＥＶＣの最近のワーキングドラフト（ＷＤ）は、下文においてＨＥＶＣ ＷＤと呼ばれ、http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zipから入手可能である。ＨＥＶＣ ＷＤ７は、その全体が参照により本明細書に組み込まれる。
【００１５】
[0024]  ＨＥＶＣのより最近の最新のワーキングドラフト（ＷＤ）は、下文においてＨＥＶＣ ＷＤ９と呼ばれ、http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v10.zipから入手可能である。ＨＥＶＣ ＷＤ９は、その全体が参照により本明細書に組み込まれる。
【００１６】
[0025]  ある例では、本開示の技法にしたがって、様々なシステム、方法、およびデバイスが、補足強化情報（ＳＥＩ）メッセージをコード化しうる。いくつかの例では、ＳＥＩメッセージは、アクティブなビデオパラメータセット（ＶＰＳ）の識別子、例えば、vps_id、を含みうる。いくつかの例では、アクティブなＶＰＳの識別子は、固定長コード化されうる。追加的に、アクティブなＶＰＳの識別子は、ＳＥＩメッセージ内の第１のシンタックスエレメントのようなＳＥＩメッセージの初期位置で、任意のエントロピーコード化、例えばｕｅ（ｖ）コード化されたＳＥＩメッセージのシンタックスエレメントの前に、または、例えば、ＳＥＩメッセージの最初の２つ、３つ、４つ、または５つのシンタックスエレメント内で、コード化されうる。したがって、望ましいのは、エントロピー復号が、アクティブなＶＰＳを決定する必要がないことである。これはまた、一般に、それ程高度でないデバイス（less sophisticated device）が、デコーダを必要とすることなくアクティブなＶＰＳの識別子にアクセスすることを可能にする。
【００１７】
[0026]  以下、パラメータセットが説明される。ＨＥＶＣ ＷＤ７では、ビデオ、シーケンス、ピクチャ、および適応パラメータセットメカニズムは、稀にしか変化しない情報の送信を、コード化ブロックデータの送信から結合解除する。ビデオ、シーケンス、ピクチャ、および適応パラメータセットは、いくつかのアプリケーションでは、「帯域外」で伝達されうる。すなわち、コード化ビデオデータを含むユニットと共には移送されない。帯域外送信は、典型的に信頼性がある。
【００１８】
[0027]  ＨＥＶＣ ＷＤ７では、ＶＰＳ、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、または適応パラメータセット（ＡＰＳ）の識別子は、「ｕｅ（ｖ）」を使用してコード化される。各ＳＰＳは、ＳＰＳ識別（ＩＤ）およびＶＰＳ ＩＤを含み、各ＰＰＳは、ＰＰＳ ＩＤおよびＳＰＳ ＩＤを含み、各スライスヘッダは、ＰＰＳ ＩＤおよび恐らくはＡＰＳ ＩＤを含む。たとえＶＰＳがサポートされていても、シーケンスレベルの情報パラメータの大半は、依然としてＳＰＳにしか存在しない。
【００１９】
[0028]  ＶＰＳは、一般に、高レベルのパラメータ情報を伝達しうる。例えば、ＶＰＳは、ビデオパラメータセットを参照するコード化ビデオシーケンスに対してインター予測が追加的に制限されるかどうかを特定しうる。ＶＰＳは、また、ビットストリームに存在しうる時間サブレイヤの最大数と、ピクチャ記憶バッファのユニット内の復号ピクチャバッファの必要とされるサイズとを特定しうる。ＶＰＳは、復号順序では任意のピクチャに先行し出力順序ではそのピクチャの後に続くピクチャの許容最大数と、出力順序ではコード化ビデオシーケンス内の任意のピクチャに先行し復号順序ではそのピクチャの次にくるピクチャの最大数とを示しうる。ＶＰＳは、ビデオパラメータセットＲＢＳＰ（raw byte sequence payload）に存在するvps_extension_data_flagシンタックス構造の数、および、ビデオパラメータセットＲＢＳＰシンタックス構造にvps_extension_data_flagシンタックスエレメントが存在しないこと、を特定しうる。
【００２０】
[0029]  いくつかのケースでは、vps_extension_data_flagは、任意の値を有し、ＨＥＶＣ ＷＤ９で特定されるプロフィールへの適合性（conformance）に影響を及ぼさない。いくつかの例では、デバイスにとって、ビットストリームの処理の初期にそのような情報へのアクセスを有することは好ましいものでありうる。本明細書で説明される技法にしたがって、コーダは、これらの技法を使用してより初期にこの情報を処理しうる。例えば、ビデオエンコーダは、ＶＰＳメッセージが固定長であるためエントロピーコード化されない事例では、それを早期に（sooner）符号化しうる。別の例として、ビデオデコーダは、そのような情報を含むビットストリームの復号を、それが固定長であるためエントロピー復号されない場合、早期に完了することができる。さらに、メディアアウェアネットワークエレメント（ＭＡＮＥ）のようなそれ程高度でないデバイスは、ＶＰＳ情報がエントロピー復号されなくてもよいのでデコーダを必要とすることなく情報へのアクセスを有しうる。
【００２１】
[0030]  以下、ランダムアクセス（Random access）およびビットストリームスプライシング（bitstream splicing）が説明される。ランダムアクセスとは、ビットストリームの第１のコード化ピクチャではないコード化ピクチャから開始するビデオビットストリームの復号を指す。例えば、ユーザが、異なるチャネル間で切り替えるために、ビデオの特定の部分にジャンプするために、または、ストリーム適応（ビットレート、フレームレート、空間解像度、等の）のため異なるビットストリームに切り替えるために、例えば、ブロードキャスティングおよびストリーミングのような大半のビデオアプリケーションでは、ビットストリームへのランダムアクセスが必要とされる。この特徴は、ランダムアクセスピクチャまたはランダムアクセスポイントを、一定の間隔で何度もビデオビットストリームに挿入することで可能となる。
【００２２】
[0031]  ビットストリームスプライシングとは、２つ以上のビットストリームまたはその一部の連結を指す。例えば、恐らくはこれらのビットストリームのうちの一方または両方への多少の変更を伴って、第１のビットストリームが第２のビットストリームに付け加えられ、スプライスされたビットストリームが生成されうる。第２のビットストリーム内の第１のコード化ピクチャは、スライシングポイントとも呼ばれる。したがって、連結されたビットストリームでは、スプライシングポイントの前のピクチャは、第１のビットストリームからのものであり、スプライシングポイント以降のピクチャは、第２のビットストリームからの物でありうる。
【００２３】
[0032]  ビットストリームのスプライシングは、ビットストリームスプライサ（splicer）によって実行されうる。ビットストリームスプライサは、エンコーダよりも複雑性が低く、それよりもインテリジェントでないことが多い。例えば、それらは、エントロピー復号および符号化能力が備わっていない可能性がある。
【００２４】
[0033]  ビットストリーム切替は、適応ストリーミング環境で使用されうる。切替先のビットストリーム（swithc-to bitstream）内の特定のピクチャにおけるビットストリーム切替動作は、事実上、スプライシングポイントがビットストリーム切替ポイント、すなわち、切替先のビットストリームの第１のピクチャであるビットストリームススプライシング動作である。
【００２５】
[0034]  以下、ランダムアクセスポイント（ＲＡＰ）ピクチャが説明される。ＡＶＣまたはＨＥＶＣで特定されるような瞬間復号リフレッシュ（ＩＤＲ）ピクチャがランダムアクセスに使用されうる。しかしながら、復号順序でＩＤＲピクチャの次にくるピクチャはＩＤＲピクチャの前に復号されたピクチャを参照として使用することができないため、ランダムアクセスのためにＩＤＲピクチャに依存するビットストリームは、かなり低いコード化効率性を有する可能性がある。
【００２６】
[0035]  コード化効率を改善するために、クリーンランダムアクセス（ＣＲＡ）ピクチャのコンセプトがＨＥＶＣに導入されており、それは、復号順序ではＣＲＡピクチャの次にくるが出力順序ではそれに先行するピクチャが、このＣＲＡピクチャの前に復号されたピクチャを参照として使用することを可能にした。復号順序ではＣＲＡピクチャの次にくるが出力順序ではＣＲＡピクチャに先行するピクチャは、ＣＲＡピクチャに関連付けられた先頭ピクチャ（leading picture）（または、ＣＲＡピクチャの先頭ピクチャ）と呼ばれる。ＣＲＡピクチャの先頭ピクチャは、現在のＣＲＡピクチャの前のＩＤＲまたはＣＲＡピクチャから復号が開始する場合、正確に復号可能である。しかしながら、ＣＲＡピクチャの先頭ピクチャは、ＣＲＡピクチャからのランダムアクセスが生じる場合、正確には復号できない可能性があり、よって、先頭ピクチャは、典型的に、ランダムアクセス復号中に破棄されうる。復号がどこから開始するかに依存して利用できない可能性のある参照ピクチャからの誤差伝搬を防ぐために、復号順序および出力順序の両方でＣＲＡピクチャの次にくるすべてのピクチャは、復号順序か出力順序のいずれかでＣＲＡピクチャに先行するピクチャ（これは先頭ピクチャを含む）をどれも参照として使用するべきではない。
【００２７】
[0036]  ＣＲＡピクチャの導入後に、かつ、ＣＲＡピクチャのコンセプトに基づいて、リンク切断アクセス（ＢＬＡ）ピクチャのコンセプトがさらにＨＥＶＣに導入されている。ＢＬＡピクチャは、典型的に、ＣＲＡピクチャの位置のビットストリームスプライシングから始まり、このスプライスされたビットストリームで、スプライシングポイントのＣＲＡピクチャがＢＬＡピクチャに変更される。ＩＤＲピクチャ、ＣＲＡピクチャ、およびＢＬＡピクチャは、総称して、ＲＡＰピクチャと呼ばれる。
【００２８】
[0037]  ＢＬＡピクチャとＣＲＡピクチャとの最も根本的な違いは、次の通りである。ＣＲＡピクチャについて、関連した先頭ピクチャは、復号順序でＣＲＡピクチャの前のＲＡＰピクチャから復号が開始した場合には正確に復号可能であり、ＣＲＡピクチャからのランダムアクセスが発生した場合（すなわち、ＣＲＡピクチャから復号が開始した場合、すなわち換言すると、ＣＲＡピクチャがビットストリームの第１のピクチャである場合）には正確に復号できない可能性がありうる。ＢＬＡピクチャについて、関連した先頭ピクチャは、復号順序でＢＬＡピクチャの前のＲＡＰピクチャから復号が開始した場合であっても、すべてのケースで正確に復号できない可能性がある。
【００２９】
[0038]  特定のＣＲＡまたはＢＬＡピクチャについて、関連した先頭ピクチャのうちのいくつかは、ＣＲＡまたはＢＬＡピクチャがビットストリームにおける第１のピクチャである場合でも、正確に復号可能である。これらの先頭ピクチャは、復号可能先頭ピクチャ（ＤＬＰ）と呼ばれ、他の先頭ピクチャは、復号不可能先頭ピクチャ（ＮＬＰ）と呼ばれる。ＮＬＰは、最新のＨＥＶＣドラフト規格では、ＴＦＤ（tagged for discard）ピクチャとも呼ばれる。
【００３０】
[0039]  ヘッダパラメータセット（ＨＰＳ）が説明される。
【００３１】
[0040]  ＪＣＴＶＣ−Ｊ０１０９（http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0109-v1.zipで入手可能である）では、ヘッダパラメータセット（ＨＰＳ）が提案されている。スライスヘッダ内のシンタックスエレメントの大半は、ＨＰＳから予測されうることが多い。ＪＣＴＶＣ−Ｊ０１０９は、その全体が参照により本明細書に組み込まれる。
【００３２】
[0041]  以下、様々な問題が説明される。
【００３３】
[0042]  文書ＪＶＴＶＣ−Ｊ０２１６（http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0216-v2.zipで入手可能である）は、スライスヘッダだけを構文解析することによるスライス損失の検出を可能にするために次の変更点を提案している：（１）現在のシンタックスエレメントfirst_slice_in_pic_flag（ｕ（１）でコード化されている）を、slice_idx_in_pic（ｕｅ（ｖ）でコード化されている）と置き換えること；（２）flag last_slice_in_pic_flag（ｕ（１）でコード化されている）を追加すること。ＪＣＴＶＣ−Ｊ０２１６は、その全体が参照により本明細書に組み込まれる。
【００３４】
[0043]  しかしながら、ＪＶＴＶＣ−Ｊ０２１６の方法は、スライスヘッダだけを構文解析することによるピクチャのスライス損失の検出を可能にしうるが、どのコード化ツリーブロックが失われたかを知ることはできない可能性がある。この情報は、スライス損失がある場合でも、ハードウェアデコーダ実現のために重要でありうる単一パス復号を可能にするのに役立ちうる。
【００３５】
[0044]  文書ＪＣＴＶＣ−Ｊ０２６１（http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0261-v1.zipで入手可能である）は、ＩＤＲアクセスユニットのためのアクティブなＶＰＳのＩＤを示すｕｅ（ｖ）コード化されたvps_idを含むことによって、新しいＳＥＩメッセージで、また、回復ポイントＳＥＩメッセージで、アクセスユニットデミリッタ内のアクティブなＶＰＳを示すことを提案している。しかしながら、そのような解決策に基づいても、エントロピー復号は依然としてアクティブなＶＰＳを見つける必要がある。ＪＣＴＶＣ−Ｊ０２６１は、その全体が参照により本明細書に組み込まれる。
【００３６】
[0045]  以下、スライス損失検出に関連した例が説明される。これらの例のあらゆる詳細は、任意の組み合わせで使用されうる。一例では、シンタックスエレメントnum_slices_minus1（ｕｅ（ｖ）コード化された）が、ＡＰＳまたはＨＰＳでシグナリングされる。num_slices_minus1の値は、ピクチャ内のスライスの数を特定する。同一のアクセスユニットのすべてのスライスの受信に応じて、スライスの数Ｎがnum_slices_minus1+1よりも小さい場合、num_slices_minus1+1-N個のスライスが失われている。
【００３７】
[0046]  一例では、スライスに含まれるコード化ツリーブロックの数がスライスヘッダでシグナリングされうる。値０は、ピクチャが１つのスライスしか有さないことを示す。
【００３８】
[0047]  一例では、スライスの各々に含まれるコード化ツリーブロックの数が、ＡＰＳまたはＨＰＳでシグナリングされ、スライスＩＤが、スライスヘッダでシグナリングされる。
【００３９】
[0048]  一例では、各スライスのスライスエンドアドレス（例えば、コード化ツリーブロックのユニット内の）が、ＨＰＳまたはスライスヘッダでシグナリングされる。
【００４０】
[0049]  一例では、各スライスに含まれるコード化ツリーブロックの数がシグナリングされる場合、end_of_slice_flagはシグナリングされず、スライスのエンドは、スライスに含まれるコード化ツリーブロックの数に等しい復号されているコード化ツリーブロックの数から推測される。
【００４１】
[0050]  以下、アクティブなＶＰＳをシグナリングする例が説明される。これらの代替例のあらゆる詳細が任意の組み合わせで使用されうる。これらは、また、本明細書で説明されたスライス損失検出技法の１つ以上との任意の組み合わせで使用されうる。
【００４２】
[0051]  一例では、新しいＳＥＩメッセージは、アクティブなＶＰＳのvps_idしか含まず、このvps_idは、例えば、ｕ（５）で固定長コード化され、ＳＥＩ ＮＡＬユニットが、この新しいＳＥＩメッセージを含む場合、他のＳＥＩメッセージはいずれもＳＥＩ ＮＡＬユニットには含まれないものとする。そのようなＳＥＩ ＮＡＬユニットは、任意のＲＡＰアクセスユニットに含まれるものとし、他のアクセスユニットに含まれうる。
【００４３】
[0052]  一例では、アクティブなＶＰＳ ＩＤは、ＲＡＰピクチャのスライスヘッダで反復され、任意のエントロピーコード化シンタックスエレメントの前に、スライスヘッダの初期位置で固定長コード化（例えば、ｕ（５））される。それゆえに、ビデオエンコーダは、ＶＰＳメッセージを、それが固定長であるためエントロピーコード化されないことから、早期に符号化しうる。別の例では、ビデオデコーダは、そのような情報を含むビットストリームの復号を、それが固定長でありよってエントロピー復号されない場合、早期に完了することができる。さらに、ＭＡＮＥのようなそれ程高度でないデバイスは、ＶＰＳ情報がエントロピー復号される必要がないため、デコーダを必要とせずに情報へのアクセスを有しうる。
【００４４】
[0053]  一例では、２バイトだけの長さを有する新しいＮＡＬユニットタイプが定義されており、第１のバイトは、ＨＥＶＣ ＷＤ７で現在定義されている他のＮＡＬユニットタイプと同じであり、第２のバイトは、アクティブなＶＰＳ ＩＤのためのＮ個のビットと、８−Ｎ個のリザーブドビットとを含み、２＾Ｎの値は、ＡＰＳ ＩＤ＋１の最大値以上とする。Ｎが８に等しい場合、ＶＰＳ ＩＤ＋１が第２のバイトでシグナリングされる。Ｎが８に等しくない場合、１つの値としての８−Ｎ個のリサーブドビットは、１以上でなければならない。１つの代替では、３バイトだけの長さを有する新しいＮＡＬユニットタイプが定義されており、それは、２バイトである同一（現在のＨＥＶＣ ＮＡＬユニットと）のＮＡＬユニットヘッダを有し、第３のバイトは、アクティブなＶＰＳ ＩＤのためのＮ個のビットと、８−Ｎ個のリザーブドビットとを含み、２＾Ｎの値は、ＡＰＳ ＩＤ＋１の最大値以上とする。Ｎが８に等しい場合、ＶＰＳ ＩＤ＋１は、第２のバイトでシグナリングされる。Ｎが８に等しくない場合、１つの値としての８−Ｎ個のリサーブドビットは、１以上でなければならない。
【００４５】
[0054]  一例では、ＶＰＳ ＮＡＬユニットのＮＡＬユニットヘッダの第２のバイト内の１ビットは、ＶＰＳ ＮＡＬユニットを含むアクセスユニットに対して、ＶＰＳがアクティブなＶＰＳであることを示すために使用される。
【００４６】
[0055]  図１は、本開示で説明されている技法を利用しうる例となるビデオ符号化および復号システム１０を例示するブロック図である。図１に示されるように、システム１０は、宛先デバイス１４によって後の時間に復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、いわゆる「スマート」パッドのような電話ハンドセット、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイス、等を含む、任意の幅広い種類のデバイスを備えうる。いくつかのケースでは、ソースデバイス１２および宛先デバイス１４がワイヤレス通信のために備わっている可能性がある。
【００４７】
[0056]  宛先デバイス１４は、復号されるべき符号化ビデオデータを、リンク１６を介して受信しうる。リンク１６は、符号化ビデオデータをソースデバイス１２から宛先デバイス１４に動かすことができるあらゆるタイプの媒体またはデバイスを備えうる。一例では、リンク１６は、ソースデバイス１２が符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にする通信媒体を備えうる。符号化ビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイス１４に送信されうる。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つ以上の物理送信回線のような、任意のワイヤレスおよび／またはワイヤード（wired）通信媒体を備えうる。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバルネットワークといった、パケットベースネットワークの一部分を形成しうる。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を容易にするのに有用でありうるその他の機器を含みうる。
【００４８】
[0057]  代替的に、符号化データは、出力インターフェース２２から記憶デバイス３４に出力されうる。同様に、符号化データは、入力インターフェースによって記憶デバイス３４からアクセスされうる。記憶デバイス３４は、ハードドライブ、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するためのその他の適したデジタル記憶媒体のような、任意の様々な分散型または局所的にアクセスされるデータ記憶媒体を含みうる。さらなる例では、記憶デバイス３４は、ソースデバイス１２によって生成された符号化ビデオを保持するファイルサーバまたは別の中間記憶デバイスに対応しうる。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、記憶デバイス３４から記憶されているビデオデータにアクセスしうる。ファイルサーバは、符号化ビデオデータを記憶すること、およびその符号化ビデオデータを宛先デバイス１４に送信することが可能なあらゆるタイプのサーバでありうる。例となるファイルサーバは、ウェブサーバ（例えば、ウェブサイト用の）、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、符号化ビデオデータに、インターネット接続を含む任意の標準のデータ接続を通じてアクセスしうる。これは、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデム等）、または、ファイルサーバに記憶されている符号化ビデオデータへのアクセスに適しているその両方の組み合わせを含みうる。記憶デバイス３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組み合わせでありうる。
【００４９】
[0058]  本開示の技法は、必ずしも、ワイヤレスアプリケーションまたは設定に制限されるわけではない。本技法は、無線経由（over-the-air）テレビ放送、ケーブルテレビ放送（transmission）、衛星テレビ放送、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体上への記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されているデジタルビデオの復号、あるいは他のアプリケーション等の、任意の様々なマルチメディアアプリケーションを支援して、ビデオコード化に適用されうる。いくつかの例では、システム１０は、単方向または双方向のビデオ送信をサポートして、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話通信のようなアプリケーションをサポートするように構成されうる。
【００５０】
[0059]  図１の例では、ソースデバイス１２は、ビデオソース１８、ビデオエンコーダ２０、出力インターフェース２２を含む。いくつかのケースでは、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含みうる。ソースデバイス１２では、ビデオソース１８は、例えば、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインタフェース、および／または、ソースビデオとしてコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステムのようなビデオキャプチャデバイスなどのソース、あるいは、そのようなソースの組み合わせを含みうる。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ電話またはビデオ電話を形成しうる。しかしながら、本開示で説明される技法は、一般に、ビデオコード化に適用可能であり、ワイヤレスおよび／またはワイヤードアプリケーションに適用可能でありうる。
【００５１】
[0060]  キャプチャされたビデオ、事前にキャプチャされているビデオ、またはコンピュータによって生成されたビデオは、ビデオエンコーダ２０によって符号化されうる。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信されうる。符号化ビデオデータは同様に（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスに備えて記憶デバイス３４に記憶されうる。
【００５２】
[0061]  ある例では、ソースデバイス１２または宛先デバイス１４のようなデバイスは、ＳＥＩメッセージをコード化しうる。ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含みうる。追加的に、vps_idは、固定長コード化されうる。例えば、ソースデバイス１２は、アクティブなＶＰＳのvps_idを含む固定長コード化されたＳＥＩメッセージを符号化しうる。同様に、宛先デバイス１４は、アクティブなＶＰＳのvps_idを含みうる固定長コード化されたＳＥＩメッセージを復号しうる。
【００５３】
[0062]  本開示の例にしたがって、ＳＥＩメッセージにおける固定長コード化を用いたアクティブなビデオパラメータセットＩＤのシグナリングは、ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダによって実行されうる。より具体的には、いくつかの例において、ビデオエンコーダ２０は、カプセル化ユニット、ＳＥＩメッセージ生成ユニット、または、ＳＥＩメッセージを生成しうる他のユニットを含みうる。他のビデオエンコーダ２０は、エントロピーエンコーダをバイパスモードで使用し、その間に、エントロピーデコーダは、非エントロピー符号化を実行する。エントロピーデコーダは、ＳＥＩメッセージを生成しうる。
【００５４】
[0063]  アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されたＳＥＩメッセージを使用することにより、ソースデバイス１２は、どのＶＰＳがアクティブなＶＰＳであるかについての情報を宛先デバイス１４のようなシステム１０内の他のデバイスが知るように、アクティブなＶＰＳと通信することができる。ソースデバイス１２からの通信に関する「全体像」をシステム１０内のデバイスに提供するために、これらのデバイスにこの情報を届けることは重要でありうる。宛先デバイス１４にＶＰＳをより迅速に提供することで、宛先デバイス１４は、例えば、いくつの層およびいくつのビューがピクチャについて存在するかについてのデータを有することができる。
【００５５】
[0064]  上述されたように、ＶＰＳは、一般に、高レベルのパラメータ情報を提供しうる。ＶＰＳは、（１）インター予測が、ビデオパラメータセットを参照するコード化ビデオシーケンスについて追加的に制限されるかどうか、（２）ビットストリームに存在しうる時間サブレイヤの最大数、（３）ピクチャ記憶バッファのユニット内の復号ピクチャバッファの必要とされるサイズ、（４）復号順序で任意のピクチャに先行するピクチャの許容最大数、（５）出力順序でそのピクチャの後に続くピクチャの許容最大数、（６）出力順序で、コード化ビデオシーケンス内の任意のピクチャに先行しうるピクチャの最大数、（７）復号順序でそのピクチャの次にくることができるピクチャの最大数、（８）ビデオパラメータセットＲＢＳＰ（raw byte sequence payload）に存在するvps_extension_data_flagシンタックス構造の数、（９）どのvps_extension_data_flagシンタックスエレメントもビデオパラメータセットＲＢＳＰシンタックス構造に存在していないこと、を特定しうる。他の高レベルなパラメータ情報もまた、ＶＰＳに含まれうる。
【００５６】
[0065]  宛先デバイス１４は、入力インターフェース２８、ビデオデコーダ３０、およびディスプレイデバイス３２を含む。いくつかのケースでは、入力インターフェース２８は、受信機および／またはモデムを含みうる。宛先デバイス１４の入力インターフェース２８は、符号化ビデオデータを、リンク１６を通して受信する。リンク１６を通して通信されるか、または、記憶デバイス３４上に提供される符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ３０のようなビデオデコーダが使用するための、ビデオエンコーダ２０によって生成された様々なシンタックスエレメントを含みうる。そのようなシンタックスエレメントは、通信媒体上で送信されるか、記憶媒体上に記憶されるか、または、ファイルサーバに記憶されうる符号化ビデオデータとともに含まれうる。
【００５７】
[0066]  ビデオデコーダ３０は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを復号しうる。vps_idは、固定長コード化されうる。追加的に、ＳＥＩメッセージは、ＶＰＳのvps_idだけを含みうる。いくつかの例では、ビデオデコーダ３０は、カプセル除去ユニット、ＳＥＩメッセージ構文解析ユニット、または、ＳＥＩメッセージを処理または構文解析しうる他のユニットを含みうる。他のビデオデコーダ３０は、ＳＥＩメッセージを処理するためにエントロピーデコーダをバイパスモードで使用し、その間、エントロピーデコーダは、非エントロピー復号を実行する。アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されるＳＥＩメッセージを使用することで、宛先デバイス１４は、どのＶＰＳがアクティブなＶＰＳであるかについての情報を知ることができる。本明細書で説明されるように、例となる宛先デバイス１４は、どのＶＰＳがアクティブであるかを示すために、ＳＥＩメッセージを受信しうる。いくつかの例では、宛先デバイス１４は、そのようなメッセージを、多くても、コーダビデオシーケンスにつき一度、または、どんなに頻繁でもそのようなメッセージがソースデバイス１２によって送信される度に、受信しうる。
【００５８】
[0067]  例となるシステム１０は、メディアアウェアネットワークエレメント（ＭＡＮＥ）のようなより複雑でないまたはよりインテリジェントでないデバイスがこの情報にアクセスできるように、固定長コード化されたＳＥＩメッセージを使用しうる。例えば、固定長を使用することによって、いくつかの例は、アクティブなビデオパラメータセットＩＤにアクセスするために、受信されたデータをエントロピー復号する必要がない。別の例では、ＮＡＬタイプは、アクティブなビデオパラメータセットＩＤ情報だけをヘッダに含みうる。
【００５９】
[0068]  いくつかの例は、ディスプレイデバイス３２を含みうる。ディスプレイデバイス３２は、宛先デバイス１４と一体化されうるか、または、その外部にある。いくつかの例では、宛先デバイス１４は、一体化されたディスプレイデバイスを含むことができ、外部のディスプレイデバイスとインターフェース接続するようにも構成されうる。他の例では、宛先デバイス１４は、ディスプレイデバイスでありうる。一般に、ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、のような任意の様々なディスプレイデバイスまたは別のタイプのディスプレイデバイスを備えうる。
【００６０】
[0069]  本明細書で説明されるように、ビデオエンコーダ２０およびビデオデコーダ３０は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージをコード化し、vps_idは、固定長コード化されうる。ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格のようなビデオ圧縮規格にしたがって動作し、ＨＥＶＣテストモデル（ＨＭ）に一致しうる。ＨＥＶＣの最近のドラフトは、２０１２年７月９日付けでhttp://wg11.sc29.org/jct/doc_end_user/current_document.php?id=5885/JCTVC-I1003-v5から入手可能であり、その全体の内容は、参照により本明細書に組み込まれる。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、別名ＭＰＥＧ４，パート１０，ＡＶＣ（Advanced Video Coding）と呼ばれるＩＴＵ−Ｔ Ｈ．２６４規格またはそのような規格を拡張したもののような、他の企業所有の規格または業界の規格にしたがって動作しうる。しかしながら、本開示の技法は、任意の特定のコード化規格に限定されるわけではない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ Ｈ．２６３に加え、ＶＰ８のようなオープン形式が含まれる。
【００６１】
[0070]  いくつかの例では、ＳＥＩネットワーク抽象層（ＮＡＬ）ユニットがＳＥＩメッセージを含みうる。いくつかの例では、他のＳＥＩメッセージはいずれも、ＳＥＩ ＮＡＬユニットに含まれない。ＳＥＩ ＮＡＬユニットは、また、ビデオデータのすべてのＲＡＰアクセスユニットに含まれることができ、他のタイプのアクセスユニットに含まれうる。例えば、アクティブなＶＰＳのvps_idだけを含む新しいＳＥＩメッセージが使用されうる。ＳＥＩ ＮＡＬユニットが、この新しいＳＥＩメッセージを含むとしても、vps_idは、例えば、ｕ（５）で、固定長コード化されることができる。ある例では、他のＳＥＩメッセージはいずれも、ＳＥＩ ＮＡＬユニットに含まれない。そのようなＳＥＩ ＮＡＬユニットは、任意のＲＡＰアクセスユニットに含まれることができ、他のアクセスユニットに含まれうる。
【００６２】
[0071]  図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、各々、オーディオエンコーダおよびデコーダと一体化され、共通のデータストリームまたは別個のデータストリームにおけるオーディオおよびビデオの両方の符号化に対処するために、適切なＭＵＸ−ＤＥＭＵＸユニットまたは他のハードウェアおよびソフトウェアを含みうる。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ．Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに一致しうる。
【００６３】
[0072]  本明細書で説明されるように、ソースデバイス１２内のビデオエンコーダ２０は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージの符号化を実行し、vps_idは、固定長コード化されうる。追加的に、宛先デバイス１４内のビデオデコーダ３０は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージを復号し、vps_idは固定長コード化されうる。ビデオエンコーダ２０およびビデオデコーダ３０は、各々、１つ以上のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせのような、任意の適した様々なエンコーダ回路として実現されうる。本技法がソフトウェアで部分的に実現される場合、デバイスは、適切かつ非一時的なコンピュータ可読媒体にソフトウェアのための命令を記憶することができ、本開示の技法を実行するために、１つ以上のプロセッサを使用してハードウェアにおいてこれらの命令を実行することができる。ビデオエンコーダ２０およびビデオデコーダ３０のどちらかは、１つ以上のエンコーダまたはデコーダに含まれ、それらのどちらかは、それぞれのデバイスにおいて、結合されたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として一体化されうる。
【００６４】
[0073]  一般に、ＴＵは、変換および量子化プロセスに使用される。１つ以上のＰＵを有する所与のＣＵはまた、１つ以上の変換ユニット（ＴＵ）を含みうる。予測に続いて、ビデオエンコーダ２０は、ＰＵに対応する残差値を算出しうる。残差値は、エントロピーコード化のための直列変換係数を生成するために、変換係数へと変換され、量子化され、ＴＵを使用して走査されうる生成しピクセル差分値を備える。本開示は典型的に、ＣＵのコード化ノードを指すために、「ビデオブロック」という用語を使用する。いくつかの特定のケースでは、本開示はまた、ツリーブロック、すなわち、コード化ノードならびにＰＵおよびＴＵを含むＬＣＵまたはＣＵを指すために、「ビデオブロック」という用語を使用しうる。
【００６５】
[0074]  ビデオシーケンスは典型的に、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ（ＧＯＰ）は一般に、一連の１つ以上のビデオピクチャを備える。ＧＯＰは、ＧＯＰのヘッダ、ピクチャの１つ以上のヘッダ、または他の場所に、ＧＯＰに含まれるピクチャの数を説明するシンタックスデータを含みうる。ピクチャの各スライスは、それぞれのスライスについての符号化モードを説明するスライスシンタックスデータを含みうる。ビデオエンコーダ２０は典型的に、ビデオデータを符号化するために、個別のビデオスライス内のビデオブロック上で動作する。ビデオブロックは、ＣＵ内のコード化ノードに対応しうる。ビデオブロックは、一定のサイズまたは可変のサイズを有することができ、指定のコード化規格に住居してサイズが異なりうる。
【００６６】
[0075]  例として、ＨＭは、様々なＰＵサイズの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると想定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズのイントラ予測と、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称ＰＵサイズのインター予測をサポートする。ＨＭは、また、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵのサイズにおけるインターｐｒルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８ｅｄｉｃｔｉｏｎのための非対称区分化をサポートしうる。非対称区分化において、ＣＵの一方の方向は区分化されず、他方の方向は、２５％および７５％に区分化される。２５％区分化に対応するＣＵの一部分は、「ｎ」とその後に続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」のインジケーションで示される。したがって、例えば、「２Ｎ×ｎＵ」は、上には２Ｎ×０．５Ｎ個のＰＵ、下には２Ｎ×１．５Ｎ個のＰＵを有する状態で水平に区分化された２Ｎ×２Ｎ個のＣＵを指す。
【００６７】
[0076]  本開示では、「Ｎ×Ｎ（NxN）」および「ＮかけるＮ（N by N）」は、例えば１６×１６ピクセルまたは１６かける１６ピクセル、のように、垂直および水平のディメンションの観点から、ビデオブロックのピクセルディメンションを指すために交換可能に使用されうる。一般に、１６×１６個のブロックは、垂直方向に１６ピクセル（ｙ＝１６）を、水平方向における１６ピクセル（ｘ＝１６）を有するだろう。同様に、Ｎ×Ｎ個のブロックは、一般に、垂直ディメンションにＮ個のピクセルを、水平ディメンションにＮ個のピクセルを有し、ここで、Ｎは、負以外の整数値を表す。ブロック内のピクセルは、行と列に配列されうる。さらに、ブロックは、必ずしも垂直方向と同数のピクセルを水平方向で有する必要はない。例えば、ブロックは、Ｎ×Ｍ個のピクセルを備えることができ、ここで、Ｍは、必ずしもＮに等しいわけではない。
【００６８】
[0077]  ＣＵのＰＵを使用したイントラ予測またはインター予測コード化に続いて、ビデオエンコーダ２０は、ＣＵのＴＵについての残差データを算出しうる。ＰＵは、空間ドメイン（ピクセルドメインとも呼ばれる）にピクセルデータを備え、ＴＵは、例えば、離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または、概念的に類似した変換のような変換を、残差ビデオデータに適用した後に変換ドメインに係数を備えうる。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応しうる。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次に、ＴＵを変換して、ＣＵのための変換係数を生成しうる。
【００６９】
[0078]  変換係数を生成するための任意の変換に続いて、ビデオエンコーダ２０は、変換係数の量子化を実行しうる。量子化は一般に、恐らくは係数を表すために使用されるデータ量を低減するために変換係数が量子化されるプロセスを指し、それは、さらなる圧縮を提供する。量子化プロセスは、これらの係数のうちのいくつかまたはすべてに関連付けられたビット深度を低減することができる。例えば、ｎビット値は、量子化の間にｍビット値まで端数を切り捨てられ、ここで、ｎはｍよりも大きい。
【００７０】
[0079]  いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化されることができる直列ベクトルを生成するために、既定の走査順序を利用して、量子化変換係数を走査しうる。他の例では、ビデオエンコーダ２０は、適応走査を実行しうる。一次元ベクトルを形成するために量子化変換係数を走査した後、ビデオエンコーダ２０は、例えば、コンテンツ適応型可変長コード化（ＣＡＶＬＣ）、コンテンツ適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテンツ適応型バイナリ算術コード化（ＳＢＡＣ）、確率区間分割エントロピー（ＰＩＰＥ）コード化、あるいは別のエントロピー符号化方法にしたがって、一次元ベクトルをエントロピー符号化しうる。ビデオエンコーダ２０は、また、ビデオデータの復号でビデオデコーダ３０が使用するための符号化ビデオデータに関連付けられたシンタックスエレメントをエントロピー符号化しうる。
【００７１】
[0080]  ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当てうる。コンテキストは、例えば、シンボルの隣接値が非ゼロであるか否かに関連しうる。ＣＡＶＬＣを行うために、ビデオエンコーダ２０は、送信されるべきシンボルに対して可変長コードを選択しうる。ＶＬＣ内のコードワードは、より長いコードがより可能性の低いシンボルに対応する一方で比較的短いコードがより可能性の高いシンボルに対応するように構築されうる。このように、ＶＬＣの使用は、例えば、送信されるべき各シンボルに対して等しい長さのコードワードを使用することを通じてビット節約を達成しうる。確率決定は、シンボルに割り当てられたコンテキストに基づきうる。
【００７２】
[0081]  本明細書で説明されるように、ビデオエンコーダ２０およびビデオデコーダ３０は、また、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージをコード化しうる。vps_idは、固定長コード化されうる。ビデオエンコーダ２０は、アクティブなＶＰＳのvps_idを含む固定長ＳＥＩメッセージを符号化しうる。ビデオデコーダ３０は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを復号しうる。アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されたＳＥＩメッセージを使用することで、宛先デバイス１４は、どのＶＰＳがアクティブなＶＰＳであるかに関する情報を知ることができる。これは、いくつか例を挙げれば、ビットストリームに存在しうる時間サブレイヤの最大数、または、ピクチャ記憶バッファのユニット内の復号ピクチャバッファの必要なサイズを提供しうる。
【００７３】
[0082]  図２は、本開示で説明される技法を実現しうる例となるビデオエンコーダ２０を例示するブロック図である。ある例では、ビデオエンコーダ２０は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージを符号化する。vps_idは、固定長コード化されうる。図２に例示される例では、ビデオエンコーダ２０は、ＳＥＩメッセージを生成するカプセル化ユニット６６を含む。本開示の例にしたがって、ＳＥＩメッセージにおける固定長コード化を用いたアクティブなビデオパラメータセットＩＤのシグナリングがカプセル化ユニット６６によって実行されうる。ビデオエンコーダ２０のカプセル化ユニット６６は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを符号化しうる。追加的に、vps_idは、固定長コード化されうる。アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されるＳＥＩメッセージを使用することにより、ソースデバイス１２は、どのＶＰＳがアクティブなＶＰＳであるかについての情報を宛先デバイス１４のようなシステム１０内の他のデバイスが知るように、アクティブなＶＰＳに通信することができる。
【００７４】
[0083]  いくつかの例では、エントロピーエンコーダ５６は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージを符号化しえ、vps_idは、固定長コード化されうる。エントロピーデコーダは、バイパスモードで機能しえ、その間、カプセル化ユニット６６というよりはむしろ、エントロピーデコーダが、非エントロピー符号化を実行し、ＳＥＩメッセージを生成する。
【００７５】
[0084]  別の例では、カプセル化ユニットまたは何らかの他のユニットは、エントロピー符号化モジュール５６の後に続く。例えば、ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含みえ、それは、固定長コード化され、カプセル化ユニットまたはエントロピーエンコーダの後に続く他のユニットによって符号化されうる。固定長コード化を使用することで、カプセル化ユニット６６またはvps_idを含むＳＥＩメッセージを生成する他のユニットは、エントロピー符号化が一般に必要とされないため、送出（outgoing）ビットストリームにおいて、より初期にこの機能を実行することができる。
【００７６】
[0085]  ビデオエンコーダ２０は、他のデコーダ機能性を実行しうる。例えば、ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラおよびインターコード化を実行しうる。イントラコード化は、所与のビデオフレームまたはピクチャ内のビデオにおける空間冗長性を低減または除去するために、空間予測に依存する。インターコード化は、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオにおける時間冗長性を低減または除去するために、時間予測に依存する。イントラモード（Ｉモード）は、数個の空間ベース圧縮モードのうちのいずれかを指しうる。単方向の予測（Ｐモード）または双予測（Ｂモード）のようなインターモードは、いくつかの時間ベース圧縮モードのいずれかを指しうる。それゆえに、ビデオエンコーダ２０は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージをコード化し、ビデオスライス内のビデオブロックのイントラおよびインターコード化を実行し、vps_idは、固定長コード化される。
【００７７】
[0086]  図２の例では、ビデオエンコーダ２０は、区分化モジュール３５、予測処理ユニット４１、フィルタモジュール６３、参照ピクチャメモリ６４、加算器５０、変換モジュール５２、量子化モジュール５４、およびエントロピー符号化モジュール５６を含む。予測処理ユニット４１は、動き推定モジュール４２、動き補償モジュール４４、およびイントラ予測処理ユニット４６を含む。ビデオブロック復元の場合、ビデオエンコーダ２０はまた、逆量子化モジュール５８、逆変換処理ユニット６０、および加算器６２を含む。フィルタモジュール６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタとして１つ以上のフィルタを表すことを目的としている。フィルタモジュール６３はループフィルタ内にあるものとして図２に示されているが、他の構成では、フィルタモジュール６３は、ポストループフィルタとして実現されうる。
【００７８】
[0087]  図２に示されているように、ビデオエンコーダ２０は、ビデオデータを受信し、区分化モジュール３５は、データをビデオブロックへと区分化する。この区分化はまた、スライス、タイル、または他のより大きいユニットへと区分化すること、ならびに、例えば、ＬＣＵおよびＣＵの四分木構造にしたがって、ビデオブロック区分化することを含みうる。ビデオエンコーダ２０は一般に、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを例示する。スライスは、複数のビデオブロックへと（そして恐らくは、タイルと呼ばれるビデオブロックのセットへと）分割されうる。予測処理ユニット４１は、誤差結果（例えば、歪みのコード化レートおよびレベル）に基づいて、現在のビデオブロックに対して、複数のイントラコード化モードのうちの１つ、または、複数のインターコード化モードのうちの１つなど、複数の可能なコード化モードのうちの１つを選択しうる。予測処理ユニット４１は、結果として得られるイントラまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に、参照ピクチャとして使用するための符号化ブロックを復元するために加算器６２に提供しうる。
【００７９】
[0088]  予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を提供するためにコード化されるべき現在のブロックと同一のフレームまたはスライスにおける１つ以上の隣接ブロックに対して現在のビデオブロックのイントラ予測コード化を実行しうる。予測処理ユニット４１内の動き推定モジュール４２および動き補償ジュール４４は、時間圧縮を提供するために、１つ以上の参照ピクチャ内の１つ以上の予測ブロックに対して現在のビデオブロックのインター予測コード化を実行する。
【００８０】
[0089]  動き推定モジュール４２は、ビデオシーケンスに対してあらかじめ決定されたパターンにしたがって、ビデオスライスについてインター予測モードを決定するように構成されうる。あらかじめ決定されたパターンは、シーケンス内のビデオスライスを、Ｐスライス、Ｂスライス、またはＧＰＢスライスと指定しうる。動き推定モジュール４２および動き補償モジュール４４は、高度に統合されうるが、概念上の目的で別個に例示されている。動き推定モジュール４２によって実行される動き推定は、ビデオブロックに対して動きを推定する、動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの転移を示しうる。
【００８１】
[0090]  予測ブロックは、ピクセル差分の観点で、コード化されるべきビデオブロックのＰＵに厳密に一致することがわかったブロックであり、それは、差分絶対値の和（ＳＡＤ）、平方差分の和（ＳＳＤ）、または他の差分メトリックによって決定されうる。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶されている参照ピクチャのサブ整数ピクセル位置についての値を算出しうる。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間しうる。したがって、動き推定モジュール４２は、フルピクセル位置および分数ピクセル位置に対して動き探索を実行し、動きベクトルを分数ピクセル精度で出力しうる。
【００８２】
[0091]  動き推定モジュール４２は、ＰＵの位置を、参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス内のビデオブロックのＰＵについての動きベクトルを算出する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択されることができ、それらの各々は、参照ピクチャメモリ６４に記憶されている１つ以上の参照ピクチャを識別する。動き推定モジュール４２は、算出された動きベクトルを、エントロピー符号化モジュール５６および動き補償モジュール４４に送る。
【００８３】
[0092]  動き補償モジュール４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックを取り出すことまたは生成することを伴い、恐らくは、サブピクセル精度に対して補間を実行する。現在のビデオブロックのＰＵについての動きベクトルの受信に応じて、動き補償モジュール４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指し示す予測ブロックを位置特定しうる。ビデオエンコーダ２０は、コード化されている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を差し引くことによって残差ビデオブロックを形成し、ピクセル差分値を形成する。ピクセル差分値は、ブロックについての残差データを形成し、輝度および彩度の両方の差分成分を含みうる。加算器５０は、この減算演算を実行する１つのコンポーネントまたは複数のコンポーネントを表す。動き補償モジュール４４は、また、ビデオスライスのビデオブロックを復号する際のビデオデコーダ３０による使用のために、ビデオブロックおよびビデオスライスに関連付けられたシンタックスエレメントを生成しうる。
【００８４】
[0093]  イントラ予測処理ユニット４６は、上述されたような、動き推定モジュール４２および動き補償モジュール４４によって実行されるインター予測の代わりとして、現在のブロックをイントラ予測しうる。具体的には、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定しうる。いくつかの例では、イントラ予測処理ユニット４６は、例えば、別個の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化し、イントラ予測処理ユニット４６（または、いくつかの例では、モード選択モジュール４０）は、使用すべき適切なイントラ予測モードを、テスト済みモードから選択しうる。例えば、イントラ予測処理ユニット４６は、様々なテスト済みイントラ予測モードに対してレート歪み分析を使用してレート歪み値を算出し、テスト済みモードの中で最良のレート歪み特性を有するイントラ予測モードを選択うる。レート歪み分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間で歪み（または誤差）の量、および、符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがこのブロックに対して最良のレート歪み値を示すかを決定するために、様々な符号化ブロックについて、この歪みおよびレートから比を算出しうる。
【００８５】
[0094]  いずれのケースにおいても、ブロックに対してイントラ予測モードを選択した後、イントラ予測処理ユニット４６は、ブロックに対して選択されたイントラ予測モードを示す情報を、エントロピー符号化モジュール５６に提供しうる。エントロピー符号化モジュール５６は、本開示の技法にしたがって、選択されたイントラ予測モードを示す情報を符号化しうる。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）を含みうる送信されたビットストリーム構成データに、様々なブロックについての符号化コンテキストの定義、最も可能性の高いイントラ予測モードのインジケーション、イントラ予測モードインデックステーブル、および、コンテキストの各々に対して使用すべき変更されたイントラ予測モードインデックステーブルを含めうる。
【００８６】
[0095]  予測処理ユニット４１がインター予測またはイントラ予測を介して現在のビデオブロックについての予測ブロックを生成した後に、ビデオエンコーダ２０は、予測ブロックを現在のビデオブロックから差し引くことによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、１つ以上のＴＵに含まれ、変換処理ユニット５２に適用されうる。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）のような変換または概念的に類似した変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、この残差ビデオデータを、ピクセルドメインから、周波数ドメインのような変換ドメインにコンバートしうる。
【００８７】
[0096]  変換処理ユニット５２は、結果として得られた変換係数を量子化モジュール５４に送ることができる。量子化モジュール５４は、この変換係数を量子化して、ビットレートをさらに低減させる。この量子化プロセスは、係数のいくつかまたはすべてに関連付けられたビット深度を低減させることができる。量子化の程度（degree of quantization）は、量子化パラメータを調整することによって変更されうる。いくつかの例では、量子化モジュール５４は、次に、量子化された変換係数を含む行列の走査を実行しうる。代替的に、エントロピー符号化モジュール５６は、走査を実行しうる。
【００８８】
[0097]  量子化に続いて、エントロピー符号化モジュール５６は、この量子化された変換係数をエントロピー符号化しうる。例えば、エントロピー符号化モジュール５６は、コンテンツ適応型可変長コード化（ＣＡＶＬＣ）、コンテンツ適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテンツ適応型バイナリ算術コード化（ＳＢＡＣ）、確率区間分割エントロピー（ＰＩＰＥ）コード化、あるいは別のエントロピー符号化方法または技法を実行しうる。エントロピー符号化モジュール５６によるエントロピー符号化に続いて、符号化されたビットストリームが、ビデオデコーダ３０に送信されるか、あるいは、ビデオデコーダ３０によって後に送信または検索するために保管されうる。エントロピー符号化モジュール５６は、また、コード化されている現在のビデオスライスについての動きベクトルおよび他のシンタックスエレメントをエントロピー符号化しうる。
【００８９】
[0098]  逆量子化モジュール５８および逆変換処理ユニット６０は、それぞれ、逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後に使用するためにピクセルドメインで残差ブロックを復元する。動き補償モジュール４４は、残差ブロックを、参照ピクチャリストのうちの１つにある参照ピクチャのうちの１つの予測ブロックに追加することで、参照ブロックを算出しうる。動き補償モジュール４４はまた、動き推定において使用するためのサブ整数ピクセル値を算出するために、復元された残差ブロックに１つ以上の補間フィルタを適用しうる。加算器６２は、復元された残差ブロックを、動き補償モジュール４４によって生成された動き補償された予測ブロックに追加して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャにけるブロックをインター予測するために、動き推定モジュール４２および動き補償モジュール４４によって参照ブロックとして使用されうる。
【００９０】
[0099]  上述されたように、図２のビデオエンコーダ２０は、本明細書で説明される技法のうちの１つ以上を実現するように構成されたビデオエンコーダの例を表す。ある例では、ビデオエンコーダ２０は、ＳＥＩメッセージをコード化しうる。例えば、カプセル化ユニット６６が、ＳＥＩメッセージをコード化する。ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含みうる。追加的に、vps_idは、固定長コード化されうる。他の例では、エントロピー符号化モジュール５６は、固定長コード化されうるアクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージを符号化しうる。
【００９１】
[0100]  本開示の例にしたがって、ＳＥＩメッセージにおける固定長コード化を用いたアクティブなビデオパラメータセットＩＤのシグナリングは、カプセル開催化ユニット６６、エントロピー符号化モジュール５６、または何らかの他のユニットのような、ビデオエンコーダ２０内の１つ以上のコンポーネントによって実行されうる。いくつかのビデオエンコーダでは、ユニットのグループが使用されうる。例えば、あるユニットは、ＳＥＩメッセージが生成される場合であり、別のユニットは、ＳＥＩメッセージを生成しる。
【００９２】
[0101]  例となるエンコーダ２０では、アクティブなＶＰＳのvps_idを含む固定長ＳＥＩメッセージの生成により、ビデオエンコーダは、どのＶＰＳがアクティブなＶＰＳであるかについての情報をシステム１０内の他のデバイスが知るように、アクティブなＶＰＳに通信することができる。例えば、図１に示されるように、宛先デバイス１４は、どのＶＰＳがアクティブなＶＰＳであるかについての情報を受信しうる。
【００９３】
[0102]  本明細書で説明されるように、例となるシステムは、より複雑でないまたはよりインテリジェントでないシステムが情報にアクセスしうるように、固定長を使用しうる。例えば、固定長を使用することによって、いくつかの例は、アクティブなビデオパラメータセットＩＤにアクセスするために、受信されたデータをエントロピー復号する必要はない可能性がある。別の例では、ＮＡＬタイプは、ヘッダに、アクティブなビデオパラメータセットＩＤ情報だけを含みうる。
【００９４】
[0103]  図３は、本開示の技法を実現しうる例となるビデオデコーダ３０を例示するブロック図である。ある例では、ビデオデコーダ３０は、ＳＥＩメッセージを復号する。ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含みうる。vps_idは、固定長コード化されうる。図３に例示される例では、ビデオデコーダ３０は、ＳＥＩメッセージを処理または構文解析するカプセル除去ユニット９４を含む。本開示の例にしたがって、ＳＥＩメッセージにおける固定長コード化を用いたアクティブなビデオパラメータセットＩＤの処理は、カプセル除去ユニット９４によって実行されうる。ビデオデコーダ３０のカプセル除去ユニット９４は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを復号しうる。追加的に、vps_idは、固定長コード化されうる。アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されるＳＥＩメッセージを使用することは、どのＶＰＳがアクティブなＶＰＳであるかに関する情報を宛先デバイス１４に提供しうる。
【００９５】
[0104]  いくつかの例では、エントロピー復号モジュール８０は、アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されうるＳＥＩメッセージを復号しうる。エントロピー復号モジュール８０は、バイパスモードで機能することができ、その間、カプセル除去ユニット９４というよりはむしろ、エントロピー復号モジュール８０が、非エントロピー復号を実行し、ＳＥＩメッセージを復号する。他の例となるビデオデコーダでは、ＳＥＩメッセージは、エントロピー復号モジュールに先行する何らかのユニットによって復号されうる。
【００９６】
[0105]  他の例では、カプセル除去ユニット９４または他の何らかのユニットは、エントロピー復号モジュール８０に先行する。例えば、ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されることができ、カプセル除去ユニット９４またはエントロピー復号モジュール８０に先行する他のユニットによって復号されうる。
【００９７】
[0106]  図３の例では、ビデオデコーダ３０は、エントロピー復号モジュール８０、予測処理ユニット８１、逆量子化ユニット８６、逆変換モジュール８８、加算器９０、フィルタモジュール９１、および参照ピクチャメモリ９２を含む。予測処理ユニット８１は、動き補償モジュール８２およびイントラ予測処理ユニット８４を含む。ビデオデコーダ３０は、いくつかの例では、図２のビデオエンコーダ２０に関して説明された符号化パスと一般に互恵的な復号パスを実行しうる。
【００９８】
[0107]  復号プロセスの間、ビデオデコーダ３０は、符号化ビデオスライスのビデオブロックおよび関連シンタックスエレメントを表す符号化されたビデオビットストリームを、ビデオエンコーダ２０から受信する。ビデオデコーダ３０は、符号化されたビデオビットストリームをネットワークエンティティ２９から受信しうる。ネットワークエンティティ２９は、例えば、サーバ、メディアアウェアネットワークエレメント（ＭＡＮＥ）、ビデオエディタ／スプライサ、あるいは、上述された技法のうちの１つ以上を実現するように構成された他のそのようなデバイスでありうる。上述されたように、本開示で説明される技法のうちのいくつかは、ネットワークエンティティ２９が、符号化されたビデオビットストリームをビデオデコーダ３０に送信する前に、ネットワークエンティティ２９によって実現されうる。いくつかのビデオ復号システムでは、ネットワークエンティティ２９およびビデオデコーダ３０は、別個のデバイスの一部であり、他の事例では、ネットワークエンティティ２９について説明された機能性は、ビデオデコーダ３０を備える同一のデバイスによって実行されうる。
【００９９】
[0108]  本開示の例にしたがって、ネットワークエンティティ２９は、ＳＥＩメッセージを処理または構文解析しうる。例えば、ネットワークエンティティ２９は、ＳＥＩメッセージを処理するＭＡＮＥでありうる。ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含みうる。追加的に、vps_idは、固定長コード化されうる。アクティブなＶＰＳのvps_idを含み、かつ、固定長コード化されたＳＥＩメッセージを使用することは、どのＶＰＳが、ビデオデコーダを含まないデバイスでありうるネットワークエンティティ２９へのアクティブなＶＰＳであるかについての情報を宛先デバイス１４に提供しうる。それゆえに、これにより、ＭＡＮＥ、ビデオエディタ／スプライサのようなネットワークデバイス２９または他のそのようなデバイスは、ＶＰＳ情報へのアクセスを有することができる。
【０１００】
[0109]  それゆえに、ネットワークエンティティ２９について上述されたように、例となるエンコーダ２０は、送信信号が、より複雑でないまたはよりインテリジェントでないデバイス、例えば、ネットワークエンティティ２９によって受信された処理されるように固定長を使用し、それによって、より複雑でないまたはよりインテリジェントでないデバイスは、ビデオエンコーダ２０によってビットストリーム内で符号化されたＶＰＳ情報にアクセスしうる。例えば、ビデオエンコーダ２０は、カプセル化ユニット６６、エントロピー符号化モジュール５６、または、他の何らかのユニットを通して、いくつかの例となるデバイスが、アクティブなビデオパラメータセットＩＤにアクセスするために、受信されたデータをエントロピー復号する必要なくなるように、ＳＥＩメッセージを固定長コード化しうる。それゆえに、エントロピーデコーダを含まないデバイスは、vps_idを含むＳＥＩメッセージを処理しうる。本開示の技法にしたがって、ネットワークエンティティ２９、例えば、ＭＡＮＥは、フル復号を行うことなく、例えば、恐らくは、エントロピー復号することなく、ＳＥＩメッセージを復号することができる。ネットワークエンティティ２９は、フル復号を行うことなくＳＥＩメッセージを復号することができるため、それはまた、ビットストリーム自体を十分に復号する必要なく、ＳＥＩメッセージ内のＶＰＳに基づいて、ダウンストリームメディア配信選択を行いうる。
【０１０１】
[0110]  ビデオデコーダ３０のエントロピー復号モジュール８０は、量子化係数、動きベクトル、および他のシンタックスエレメントを生成するためにビットストリームをエントロピー復号する。エントロピー復号モジュール８０は、動きベクトルおよび他のシンタックスエレメントを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックスエレメントを受信しうる。
【０１０２】
[0111]  ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化された場合、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モード、および、現在のフレームまたはピクチャの以前に復号されたブロックからのデータに基づいて現在のビデオスライスのビデオブロックについての予測データを生成しうる。インターコード化（すなわち、Ｂ、Ｐ、またはＧＰＢ）スライスとしてビデオフレームがコード化される場合、予測処理ユニット８１の動き補償モジュール８２は、エントロピー復号モジュール８０から受信された動きベクトルおよび他のシンタックスエレメントに基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つにある参照ピクチャのうちの１つから生成されうる。ビデオデコーダ３０は、参照フレームリスト、リスト０およびリスト１を、デフォルト構築技法を使用して、参照ピクチャメモリ９２に記憶されている参照ピクチャに基づき構築しうる。
【０１０３】
[0112]  動き補償モジュール８２は、動きベクトルおよび他のシンタックスエレメントを構文解析することによって、現在のビデオスライスのビデオブロックについての予測情報を決定し、この予測情報を使用して、復号されている現在のビデオブロックについての予測ブロックを生成する。例えば、動き補償モジュール８２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラまたはインター予測）を決定するために、受信されたシンタックスエレメントのうちのいくつかを使用する。インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）、スライスについての参照ピクチャリストのうちの１つ以上に関する構築情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測ステータス、および、現在のビデオスライス内のビデオブロックを復号するための他の情報。
【０１０４】
[0113]  動き補償モジュール８２は、また、補間フィルタに基づいて補間を実行しうる。動き補償モジュール８２は、参照ブロックのサブ整数ピクセルに対して補間された値を算出するためにビデオブロックの符号化中に、ビデオエンコーダ２０によって使用されるような補間フィルタを使用しうる。このケースでは、動き補償モジュール８２は、受信されたシンタックスエレメントから、ビデオエンコーダ２０によって使用される補間フィルタを決定し、この補間フィルタを使用して、予測ブロックを生成しうる。
【０１０５】
[0114]  逆量子化モジュール８６は、ビットストリームで提供され、エントロピー復号モジュール８０によって復号される量子化された変換係数を逆量子化、すなわち非量子化（de quantize）する。逆量子化プロセスは、適用されるべき量子化の程度、および同様に、逆量子化の程度を決定するために、ビデオスライス内の各ビデオブロックについてビデオエンコーダ２０によって算出された量子化パラメータの使用を含みうる。逆変換処理ユニット８８は、逆変換、例えば、逆ＤＣＴ、逆整数変換、または概念的に類似した逆変換プロセスを変換係数に適用して、ピクセルドメインで残差ブロックを生成する。
【０１０６】
[0115]  動き補償モジュール８２が、動きベクトルまたは他のシンタックスエレメントに基づいて現在のビデオブロックについての予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを、動き補償モジュール８２によって生成された対応予測ブロックと合計することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を行う１つのコンポーネントまたは複数のコンポーネントを表す。望まれる場合、ループフィルタは（コード化ループ内またはコード化ループ後のいずれかの）、また、ピクセル遷移を平滑化するために、そうでなければビデオ品質を改善するために使用されうる。フィルタモジュール９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタとして１つ以上のループフィルタを表すことを目的としている。フィルタモジュール９１はループフィルタ内にあるものとして図３に示されているが、他の構成では、フィルタモジュール９１は、ポストループフィルタとして実現されうる。所与のフレームまたはピクチャ内の復号ビデオブロックは、次に、参照ピクチャメモリ９２に記憶され、これは、後続の動き補償に使用される参照ピクチャを記憶する。参照ピクチャメモリ９２はまた、図１のディスプレイデバイス３２のようなディスプレイデバイス上に後に提示するために、復号ビデオを記憶する。
【０１０７】
[0116]  図３のビデオデコーダ３０は、本明細書で説明された技法のうちの１つ以上を実現するように構成されたビデオデコーダの例を表す。様々な例となる方法は、アクティブなＶＰＳのvps_idだけを含むＳＥＩメッセージをコード化することができ、ここで、vps_idは、固定長コード化され、ＳＥＩ ＮＡＬユニットはＳＥＩメッセージを含み、他のＳＥＩメッセージは、ＳＥＩ ＮＡＬユニットには含まれない。例えば、ビデオデコーダ３０は、ＳＥＩメッセージをコード化する。ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含みうる。追加的に、vps_idは、固定長コード化されうる。ある例では、ＳＥＩ ＮＡＬユニットは、また、ビデオデータのすべてのＲＡＰアクセスユニットに含まれることができ、また、他のタイプのアクセスユニットに含まれうる。
【０１０８】
[0117]  図４は、ネットワーク１００の一部分を形成するデバイスの例となるセットを例示するブロック図である。この例では、ネットワーク１００は、ルーティングデバイス１０４Ａ、１０４Ｂ（ルーティングデバイス１０４）、およびトランスコード化デバイス１０６を含む。ルーティングデバイス１０４およびトランスコード化デバイス１０６は、ネットワーク１００の一部を形成しうる少数のデバイスを表すことを目的としている。スイッチ、ハブ、ゲートウェイ、ファイヤーウォール、ブリッジのような他のネットワークデバイス、および他のそのようなデバイスもまた、ネットワーク１００に含まれうる。さらに、追加のネットワークデバイスが、サーバデバイス１０２とクライアントデバイス１０８との間のネットワーク経路に沿って提供されうる。いくつかの例では、サーバデバイス１０２は、ソースデバイス１２（図１）に対応し、クライアントデバイス１０８は、宛先デバイス１４（図１）に対応しうる。
【０１０９】
[0118]  一般に、ルーティングデバイス１０４は、ネットワーク１００を通じてネットワークデータを交換するために、１つ以上のルーティングプロトコルを実現する。いくつかの例では、ルーティングデバイス１０４は、プロキシまたはキャッシュ動作を実行するように構成されうる。したがって、いくつかの例では、ルーティングデバイス１０４は、プロキシデバイスと呼ばれうる。一般に、ルーティングデバイス１０４は、ネットワーク１００を通るルートを発見するために、ルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス１４０Ｂは、それ自体から、ルーティングデバイス１０４Ａを介してサーバデバイス１０２へ続くネットワークルートを発見しうる。
【０１１０】
[0119]  本開示の技法は、ルーティングデバイス１０４およびトランスコード化デバイス１０６のようなネットワークデバイスによって実現されることができるが、これはまた、クライアントデバイス１０８によっても実現されうる。このように、ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８は、本開示の特許請求の範囲の部分に記載されている技法を含む、本開示の技法を実行するように構成されたデバイスの例を表す。さらに、図１のデバイスと、図２に示されたエンコーダと、図３に示されたデコーダは、また、本開示の特許請求の範囲部分に記載されている技法を含む、本開示の技法を実行するように構成されうる例示的なデバイスである。例えば、ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８のようなネットワークデバイスは、ＳＥＩメッセージをコード化しうる。ＳＥＩメッセージは、アクティブなＶＰＳのvps_idを含みうる。追加的に、vps_idは、固定長コード化されうる。例えば、ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージを符号化することができ、このvps_idは、固定長コード化されうる。いくつかのソースデバイス１２では、ビデオエンコーダ２０は、符号化を実行しうる。別の例では、ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８は、アクティブなＶＰＳのvps_idを含みうるＳＥＩメッセージを復号することができ、このvps_idは、固定長コード化されうる。
【０１１１】
[0120]  本開示の例にしたがって、ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８は、ビデオデータ、および、ＳＥＩメッセージのような他のメッセージを符号化または復号しうる。一般に、ルーティングデバイス１０４は、ＭＡＮＥを備え、トランスコード化デバイス１０６およびクライアントデバイス１０８は、一般に、コーダを含みうる。例えば、トランスコード化デバイス１０６は、ビットストリームを復号し、それをトランスコード化し、結果として得られたトランスコード化ビットストリームを符号化しうる。別の例では、一般に、クライアントデバイス１０８は、クライアントデバイスでまたはその近くで後に閲覧されうるビデオを含みうるビットストリームを復号しうる。
【０１１２】
[0121]  いくつかの例では、これらのデバイス（一般に、ルーティングデバイス１０４）は、すべてのメッセージまたはビデオデータを十分には復号しない可能性がある。例えば、ルーティングデバイス１０４は、ビットストリームを受信し、その中のＳＥＩメッセージを処理または構文解析しうる。例えば、ルーティングデバイス１０４がＭＡＮＥである場合、いくつかの例では、それは、ＳＥＩメッセージを十分に復号することなく処理しうる。ＳＥＩメッセージは、ビットストリーム全体を復号することなく、デバイスが処理または構文解析することができるアクティブなＶＰＳのvps_idを含みうる。これにより、ルーティングデバイス１０４は、例えば、ビットストリームを異なるクライアントデバイス１０８にルーティングすることができる。これは、様々な理由により行われうる。例えば、異なるクライアントデバイスは、異なるビデオデータまたは異なるビビデオ品質をエンドユーザに提供している可能性があるため。それゆえに、異なるビットストリームは、これらのクライアントデバイス１０８に向けられうる。固定長コード化を使用したvps_idを有するＳＥＩメッセージを符号化することによって、ＭＡＮＥは、この情報へのアクセスを有しうる。
【０１１３】
[0122]  それゆえに、ネットワークエンティティ２９について上述されているように、ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８は、例えば、カプセル化ユニット６６、エントロピー符号化モジュール５６、または、ＳＥＩメッセージを固定長コード化しうる他の何らかのユニットを通して、ビデオエンコーダ２０によって、ビットストリーム内の符号化されたＶＰＳ情報にアクセスしうるより複雑でないまたはよりインテリジェントでないデバイスでありうる。それゆえに、いくつかの例では、ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８は、アクティブなビデオパラメータセットＩＤにアクセスするために、受信されたデータをエントロピー復号する必要がない可能性があるが、依然として、vps_idを含むＳＥＩメッセージを処理しうる。ルーティングデバイス１０４、トランスコード化デバイス１０６、およびクライアントデバイス１０８は、フル復号を行うことなくＳＥＩメッセージを復号することができるため、それらはまた、ビットストリーム自体を十分に復号する必要なく、ＳＥＩメッセージ内のＶＰＳに基づいて、ダウンストリームメディア配信選択を行いうる。
【０１１４】
[0123]  本開示の例にしたがって、ビデオコーダは、ＳＥＩメッセージにおける固定長コード化を用いたアクティブなビデオパラメータセットＩＤをシグナリングし、ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダによって実行されうる。例となるシステムでは、ＳＥＩメッセージは、どのＶＰＳがアクティブなであるかを示すために、多くてもコーダビデオシーンスにつき一度送信されうる。換言すると、いくつかの例では、ビデオコーダは、ビットストリームの一部分を形成するＳＥＩメッセージを生成しうる。これらのＳＥＩメッセージは、ＩＤＲピクチャにつき一度、または、ＰＬＡピクチャにつき一度、発生しうる。他の例では、ビデオコーダは、しかしながら、異なる間隔でＳＥＩメッセージを送信しうる。
【０１１５】
[0124]  ビデオデータをコード化するための例となる装置は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージをコード化するように構成された１つ以上のプロセッサを含みうる。vps_idは、固定長コード化される。本明細書で説明されるように、例となるシステムは、より複雑でないまたはよりインテリジェントでないシステムが情報にアクセスしうるように、固定長コード化を使用しうる。例えば、固定長コード化を使用することによって、いくつかの例は、アクティブなビデオパラメータセットＩＤにアクセスするために、受信されたデータをエントロピー復号する必要がない可能性がある。
【０１１６】
[0125]  一例には、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを符号化するように構成された１つ以上のプロセッサを有するビデオエンコーダが含まれうる。vps_idは、固定長コード化される。ビデオエンコーダ２０は、さらに、（１）例えば、予測モジュール４１において、参照ビデオブロックを生成するために、決定されたイントラモードを使用して現在のブロックを予測し、（２）例えば、加算器５０において、参照ブロックと現在のブロックとの間の差分を備える残差ブロックを決定し、（３）例えば、エントロピー符号化モジュール５６からビットストリームに残差ブロックを含めるように構成されうる。
【０１１７】
[0126]  別の例では、装置は、ビデオデコーダを備えうる。ビデオデコーダは、アクティブなビデオパラメータセット（ＶＰＳ）のvps_idを含むＳＥＩメッセージを復号するように構成された１つ以上のプロセッサを含みうる。vps_idは、固定長コード化されうる。加えて、装置は、（１）現在のブロックに関連付けられた残差ビデオブロックを、符号化されたビットストリームから取得し、（２）現在のブロックについての識別されたイントラモードを使用して現在のブロックを予測することによって参照ブロックを生成し、（３）参照ブロックと受信された残差ビデオブロックとの組み合わせから現在のブロックについての値を決定するようにさらに構成されうる。
【０１１８】
[0127]  図５は、本開示の１つ以上の例に係る、例となる方法を例示するフローチャートである。ある例では、ビデオエンコーダ２０またはビデオデコーダ３０のようなコーダが、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージをコード化しうる（５００）。例えば、ビデオエンコーダ２０では、カプセル化ユニット６６、エントロピー符号化モジュール５６、または、他のユニットは、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを生成しうる。それゆえに、ビデオエンコーダ２０は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを符号化しうる。別の例では、ビデオデコーダ３０は、カプセル除去ユニット９４、エントロピー復号モジュール８０、または、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを構文解析するかそうでなければ処理する他のユニットを含みうる。それゆえに、ビデオデコーダ３０は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを復号しうる。いくつかの例では、ＭＡＮＥ、または、エントロピーデコーダを含まない可能性のある他のネットワークエンティティが、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを復号しうる。
【０１１９】
[0128]  vps_idは、固定長コード化されうる（５０２）。いくつかの例では、ＳＥＩメッセージは、ＶＰＳのvps_idだけを含みうる。別の例では、ＳＥＩメッセージは、ＶＰＳのvps_idから構成されるかまたは根本的にＶＰＳのvps_idから構成される。すなわち、いくつかの例では、ＳＥＩメッセージは、ＶＰＳのvps_idを含み、その他のものはほとんどまたはまったく含まない。
【０１２０】
[0129]  ソースデバイス１２は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを送信しうるか、または、宛先デバイスは、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを受信しうる（５０４）。ある例では、ソースデバイス１２の出力インターフェース２２は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを送信しうる。別の例では、宛先デバイス１４の入力インターフェース２８は、アクティブなＶＰＳのvps_idを含むＳＥＩメッセージを受信しうる。一般に、ある例では、ソースデバイス１２は、アクティブなＶＰＳのＶＰＳ＿ＩＤを含むＳＥＩメッセージを固定長符号化し、次に、符号化ＳＥＩメッセージを送信しうる。宛先デバイス１４は、次に、固定長符号化ＳＥＩメッセージを受信し、そして、受信された固定長符号化ＳＥＩメッセージを復号しうる。
【０１２１】
[0130]  ある例では、ＳＥＩ ＮＡＬユニットがＳＥＩメッセージを含みうる。いくつかのケースでは、他のＳＥＩメッセージはいずれもＳＥＩ ＮＡＬユニットには含まれない。ＳＥＩ ＮＡＬユニットは、また、ビデオデータのすべてのＲＡＰアクセスユニットに含まれることができ、さらに、他のタイプのアクセスユニットに含まれうる。
【０１２２】
[0131]  本明細書で説明されるように、いくつかの例では、デバイスにとって、ビットストリームの処理の初期にＶＰＳ情報へのアクセスを有することが望ましい。本明細書で説明された技法にしたがって、コーダは、これらの技法を使用してより初期にこの情報を処理しうる。例えば、ビデオエンコーダは、それが固定長であるためエントロピーコード化されない場合に、早期にＶＰＳメッセージを符号化しうる。別の例として、ビデオデコーダは、それが固定長であるためエントロピー復号される場合、早期にそのような情報を含むビットストリームの復号を完了することができる。さらに、メディアアウェアネットワークエレメント（ＭＡＮＥ）のようなそれ程高度でないデバイスは、ＶＰＳ情報がエントロピー復号される必要がないため、デコーダを必要とすることなく情報へのアクセスを有しうる。
【０１２３】
[0132]  図６は、本開示の１つ以上の例に係る、別の例となる方法を例示するフローチャートである。ビデオエンコーダ２０またはビデオデコーダ３０のようなコーダは、ＡＰＳまたはヘッダパラメータセット（ＨＰＳ）内のシンタックスエレメントnum_slices_minus1をコード化することができ、ここにおいて、num_slices_minus1の値は、対応ピクチャ内のスライスの数を特定する（６００）。
【０１２４】
[0133]  いくつかの例では、これらの関数はまた、カプセル化ユニット６６、カプセル除去ユニット９４の一部分、またはビデオデコーダ３０またはビデオエンコーダの他の一部分でありうるシンタックスコード化ユニットによって提供されうる。例えば、ビデオエンコーダ２０内のカプセル化ユニット６６は、シンタックス符号化ユニットのシンタックスエレメントを符号化しうる。シンタックスエレメント符号化ユニットマットは、ＡＰＳまたはヘッダパラメータセット（ＨＰＳ）内のnum_slices_minus1を符号化し、ここにおいて、num_slices_minus1の値は、対応ピクチャ内のスライスの数を特定し、一方で、ビデオデコーダは、ＡＰＳまたはヘッダパラメータセット（ＨＰＳ）内のシンタックスエレメントnum_slices_minus1をコード化しうる。num_slices_minus1の値は、対応ピクチャ内のスライスの数を特定する。別の例では、シンタックス復号ユニットは、シンタックスエレメントを復号するために使用されうる。ビデオデコーダ３０はまた、対応ピクチャ内のすべてのスライスが受信されたか否かを、実際に受信されたスライスの数およびnum_slices_minus1の値に基づいて決定しうる（６０２）。これは、例えば、実際に受信されたスライスの数とnum_slices_minus1の値とを比較する比較器によって実行されうる。いくつかの例では、シンタックスエレメントについての値、例えば「０」は、ピクチャが１つのスライスしか有さないことを示す。様々な例では、ビデオコーダは、ビデオエンコーダ２０またはビデオデコーダ３０でありうる。追加的に、ビデオコーダは、いくつかの例では互いに独立してステップ６００および６０２を実行しうる。
【０１２５】
[0134]  図７は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートであり、スライスヘッダ内の別のシンタックスエレメントをコード化し、この別のシンタックスエレメントはスライスＩＤである（７００）。ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダは、エンコーダ内のシンタックス符号化ユニットにおけるシンタックスエレメントをコード化しうる。このコーダは、また、スライスヘッダ内のシンタックスエレメントをコード化し、このシンタックスエレメントは、スライスに含まれるコード化ツリーブロックの数のインジケーションである（７０２）。いくつかの例では、これらの関数はまた、カプセル化ユニット６６またはカプセル除去ユニット９４の一部分あるいはビデオデコーダ２０またはビデオエンコーダの他の一部分でありうるシンタックスコード化ユニットによって提供されうる。いくつかの例では、シンタックスエレメントについての値、例えば「０」は、ピクチャが１つのスライスしか有さないことを示す。このコーダは、ヘッダパラメータセットまたはスライスヘッダ内の各スライスに関連付けられたスライスエンドアドレスをコード化しうる（７０４）。いくつかの例では、これらの機能は、また、カプセル化ユニット６６またはカプセル除去ユニット９４内のシンタックス符号化ユニットのようなシンタックスコード化ユニットによって提供されうる。スライスエンドアドレスは、いくつかの例ではコード化ツリーブロックのユニットで特定されうる。いくつかの例では、ビデオコーダは、いくつかの例では互いに独立してステップ７００、７０２、および７０４を実行しうる。
【０１２６】
[0135]  図８は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートである。ビデオエンコーダ２０またはビデオデコーダ３０のようなコーダは、スライスのためのコード化ツリーブロックの数を示すシンタックスエレメントを復号しうる（８００）。いくつかの例では、これらの関数は、カプセル化ユニット６６またはカプセル除去ユニット９４の一部分あるいはビデオデコーダ３０またはビデオエンコーダ２０の他の一部分でありうるシンタックスコード化ユニットによって提供されうる。コーダは、復号されたコード化ツリーブロックの合計数がスライスのためのコード化ツリーブロックの数に等しい場合に、スライスエンドフラグを推測しうる（８０２）。いくつかの例では、これらの関数はまた、カプセル化ユニット６６またはカプセル除去ユニット９４の一部分あるいはビデオデコーダ３０またはビデオエンコーダ２０の他の一部分でありうるシンタックス符号化ユニットのようなシンタックスコード化ユニットによって提供されうる。追加的に、いくつかの例では、ビデオコーダは、いくつかの例では互いに独立してステップ８００および８０２を実行しうる。
【０１２７】
[0136]  図９は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートである。ビデオエンコーダ２０またはビデオデコーダ３０のようなコーダは、任意のエントロピーコード化シンタックスエレメントの前に、スライスヘッダ内の固定長コードとして、ＲＡＰピクチャのスライスヘッダ内でのアクティブなＶＰＳ ＩＤの反復をコード化しうる（９００）。いくつかの例では、これらの関数は、カプセル化ユニット６６またはカプセル除去ユニット９４の一部あるいはビデオデコーダ３０またはビデオエンコーダ２０の他の一部分でありうるシンタックスコード化ユニットによって提供されうる。いくつかの例では、これらの関数はまた、カプセル化ユニット６６またはカプセル除去ユニット９４の一部あるいはビデオデコーダ３０またはビデオエンコーダ２０の他の一部分でありうるシンタックス符号化ユニットのようなシンタックスコード化ユニットによって提供されうる。このコーダは、２バイトの長さのＮＡＬユニットをコード化しうる。第１のバイトは、高効率ビデオコード化ワーキングドラフト７（ＨＥＶＣ ＷＤ７）で現在定義されている他のＮＡＬユニットタイプと同じである。第２のバイトは、アクティブなＶＰＳ ＩＤのためのＮ個のビットと、８−Ｎ個のリザーブドビットを含むことができ、２＾Ｎの値はＡＰＳ ＩＤ＋１の最大値以上である（９０２）。くつかの例では、これらの関数はまた、カプセル化ユニット６６またはカプセル除去ユニット９４の一部あるいはビデオデコーダ３０またはビデオエンコーダ２０の他の一部分でありうるシンタックス符号化ユニットのようなシンタックスコード化ユニットによって提供されうる。いくつかの例では、Ｎは８に等しく、ＶＰＳ ＩＤ＋１は第２のバイトでコード化される。他の例では、Ｎが８に等しくない場合、８−Ｎ個のリザーブドビットは１以上である。追加的に、いくつかの例では、ステップ９００および９０２は、いくつかの例では、互いに独立して実行されうる。
【０１２８】
[0137]  図１０は、本開示の１つ以上の例に係る、例となる方法を例示する別のフローチャートである。ビデオエンコーダ２０またはビデオデコーダ３０のようなコーダは、３バイトの長さを有するＮＡＬユニットをコード化しうる。ＮＡＬユニットは、現在の高効率ビデオコード化（ＨＥＶＣ）ＮＡＬユニットに対応するＮＡＬユニットヘッダの一部分を定義する２バイトと、アクティブなＶＰＳ ＩＤのためのＮ個のビットおよび８−Ｎ個のリザーブドビットを含む第３のバイトとを有する。２＾Ｎの値はＡＰＳ ＩＤ＋１の最大値以上である（１０００）。いくつかの例では、これらの機能は、カプセル化ユニット６６またはカプセル除去ユニット９４の一部分でありうるシンタックスコード化ユニットによって提供されうる。ある例では、Ｎは８に等しく、ＶＰＳ ＩＤ＋１は第２のバイトでシグナリングされる。別の例では、Ｎが８に等しい場合、ＶＰＳ ＩＤ＋１が第３のバイトでシグナリングされる。別の例では、Ｎが８に等しくない場合、８−Ｎ個のリザーブドビットは１以上である。
【０１２９】
[0138]  ビデオエンコーダ２０またはビデオデコーダ３０のようなコーダは、対応ＶＰＳが、対応ＶＰＳ ＮＡＬユニットを含むアクセスユニットのためのアクティブなＶＰＳであるか否かを示すために、ＶＰＳ ＮＡＬユニットのＮＡＬユニットヘッダの第２のバイト内の少なくとも１ビットをコード化しうる（１００２）。いくつかの例では、これらの関数はまた、カプセル化ユニット６６またはカプセル除去ユニット９４の一部あるいはビデオデコーダ３０またはビデオエンコーダ２０の他の一部分でありうるシンタックス符号化ユニットのようなシンタックスコード化ユニットによって提供されうる。追加的に、いくつかの例では、ビデオコーダは、いくつかの例では、互いに独立してステップ１０００および１００２を実行しうる。
【０１３０】
[0139]  １つ以上の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実現されうる。ソフトウェアで実現される場合、これらの機能は、１つ以上の命令またはコードとして、コンピュータ可読媒体上に記憶されるかまたはそれを通じて送信され、ハードウェアベース処理ユニットによって実行されうる。コンピュータ可読媒体は、データ記憶媒体のような有体の媒体に対応するコンピュータ可読記憶媒体、または、例えば、通信プロトコルにしたがって、ある場所から別の場所へのコンピュータプログラムの移送を容易にする任意の媒体を含む通信媒体を含みうる。このように、コンピュータ可読媒体は、概して、（１）非一時的でない有体のコンピュータ可読記憶媒体、または（２）信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本開示で説明された技法を実現するために命令、コード、および／またはデータ構造を検索する目的で１つ以上のコンピュータまたは１つ以上のプロセッサによってアクセスされうる任意の利用可能な媒体でありうる。コンピュータプログラム製品は、コンピュータ可読媒体を含みうる。
【０１３１】
[0140]  さらに他の例では、本開示は、データ構造を格納しているコンピュータ可読媒体を企図しており、ここで、データ構造は、本明細書に一致した、コード化された符号化されたビットストリームを含む備える。
【０１３２】
[0141]  限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、フラッシュメモリ、あるいは、所望のプログラムコードを命令またはデータ構造の形式で記憶するために使用されることができ、コンピュータによってアクセスされうるその他の媒体を備えうる。また、いずれの接続も、厳密にはコンピュータ可読媒体と呼ばれる。例えば、ウェブサイトから、サーバから、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、あるいは赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して、命令が送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、あるいは赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的な媒体を含まず、その代わりに非一時的な有体の記憶媒体を対象としていることは理解されるべきである。本明細書で使用される場合、ディスク（ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイ（登録商標）ディスクを含むが、ディスク（ｄｉｓｋ）は通常、磁気的にデータを再生し、ディスク（ｄｉｓｃ）は、レーザを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の適用範囲（scope）内に含まれるべきである。
【０１３３】
[0142]  命令は、１つ以上のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または、他の同等な集積回路またはディスクリート論理回路、のような１つ以上のプロセッサによって実行されうる。それゆえに、本明細書で使用される場合、「プロセッサ」という用語は、本明細書で説明された技法の実現に適した前述の構造またはその他の構造のいずれかを指すものでありうる。加えて、いくつかの態様では、本明細書で説明された機能性は、符号化および復号のために構成された専用のハードウェアモジュールおよび／またはソフトウェアモジュール内に提供されることができるか、または、組み合わされたコーデックに組み込まれうる。また、本技法は、１つ以上の回路または論理エレメントでも十分に実現されることができる。
【０１３４】
[0143]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（例えば、チップセット）を含む多種多様なデバイスまたは装置で実現されうる。開示された技法を実行するように構成されたデバイスの機能的な態様を強調するために、様々なコンポーネント、モジュール、またはユニットが本開示で説明されているが、それらは、異なるハードウェアユニットによる実現を必ずしも必要とするわけではない。むしろ、上述されたように、様々なユニットは、１つのコーデックハードウェアユニットへと組み合わせられうるか、適切なソフトウェアおよび／またはファームウェアとともに、上述されたような１つ以上のプロセッサを含む、相互動作ハードウェアユニットの集合によって提供されうる。
【０１３５】
[0144]  様々な例が説明されている。これらの例および他の例は、以下の特許請求の範囲の適用範囲内にある。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータをコード化する方法であって、
アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージをコード化することを備え、前記アクティブなＶＰＳの前記識別子は、固定長コード化される、方法。
［Ｃ２］
前記ＳＥＩメッセージは、前記アクティブなＶＰＳの前記識別子のみ含む、Ｃ１に記載の方法。
［Ｃ３］
前記ＳＥＩメッセージのペイロードは、前記アクティブなＶＰＳの前記識別子から構成される、Ｃ１に記載の方法。
［Ｃ４］
前記ＳＥＩメッセージのペイロードは、根本的に、前記アクティブなＶＰＳの前記識別子から構成される、Ｃ１に記載の方法。
［Ｃ５］
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージにおいて任意のエントロピーコード化シンタックスエレメントの前の初期位置でコード化される、Ｃ１に記載の方法。
［Ｃ６］
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージ内の前記第１のシンタックスエレメントとしてコード化される、Ｃ５に記載の方法。
［Ｃ７］
前記ＳＥＩメッセージを含むＳＥＩネットワーク抽象化層（ＮＡＬ）ユニットをさらに備える、Ｃ６に記載の方法。
［Ｃ８］
他のＳＥＩメッセージはいずれも、前記ＳＥＩ ＮＡＬユニットに含まれない、Ｃ７に記載の方法。
［Ｃ９］
前記ＳＥＩ ＮＡＬユニットを含むために、前記ビデオデータの各ランダムアクセスポイント（ＲＡＰ）アクセスユニットをコード化することをさらに備える、Ｃ８に記載の方法。
［Ｃ１０］
前記ＳＥＩメッセージをコード化することは、前記アクティブなＶＰＳの前記識別子を含む前記ＳＥＩメッセージを符号化することを備える、Ｃ１に記載の方法。
［Ｃ１１］
前記ＳＥＩメッセージをコード化することは、前記アクティブなＶＰＳの前記識別子を含む前記ＳＥＩメッセージを復号することと、前記アクティブなＶＰＳの前記識別子によって識別された前記ＶＰＳを使用してビデオデータを復号することとを備える、Ｃ１に記載の方法。
［Ｃ１２］
前記アクティブなＶＰＳの前記識別子は、vps_idを備える、Ｃ１に記載の方法。
［Ｃ１３］
ビデオデータをコード化するためのデバイスであって、
プロセッサを備え、前記プロセッサは、
アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージをコード化するように構成され、前記アクティブなＶＰＳの前記識別子は、固定長コード化される、デバイス。
［Ｃ１４］
前記プロセッサに結合されたメモリをさらに備え、前記ＶＰＳのデータを記憶するように構成される、Ｃ１３に記載のデバイス。
［Ｃ１５］
前記ＳＥＩメッセージは、前記アクティブなＶＰＳの前記識別子のみ含む、Ｃ１３に記載のデバイス。
［Ｃ１６］
前記ＳＥＩメッセージのペイロードは、前記アクティブなＶＰＳの前記識別子から構成される、Ｃ１３に記載のデバイス。
［Ｃ１７］
前記ＳＥＩメッセージのペイロードは、根本的に、前記アクティブなＶＰＳの前記識別子から構成される、Ｃ１３に記載のデバイス。
［Ｃ１８］
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージにおいて任意のエントロピーコード化シンタックスエレメントの前の初期位置でコード化される、Ｃ１３に記載のデバイス。
［Ｃ１９］
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージ内の前記第１のシンタックスエレメントとしてコード化される、Ｃ１８に記載のデバイス。
［Ｃ２０］
前記ＳＥＩメッセージを含むＳＥＩネットワーク抽象化層（ＮＡＬ）ユニットをさらに備える、Ｃ１９に記載のデバイス。
［Ｃ２１］
他のＳＥＩメッセージはいずれも、前記ＳＥＩ ＮＡＬユニットに含まれない、Ｃ２０に記載のデバイス。
［Ｃ２２］
前記ＳＥＩ ＮＡＬユニットを含むために、ビデオデータの各ランダムアクセスポイント（ＲＡＰ）アクセスユニットをコード化することをさらに備える、Ｃ２１に記載のデバイス。
［Ｃ２３］
前記デバイスは、ビデオエンコーダを備え、前記１つまたは複数のプロセッサは、アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージを符号化するように構成され、前記識別子は、固定長コード化される、Ｃ１３に記載のデバイス。
［Ｃ２４］
前記デバイスは、ビデオデコーダを備え、前記１つまたは複数のプロセッサは、アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む前記補足強化情報（ＳＥＩ）メッセージを復号するように構成される、Ｃ１３に記載のデバイス。
［Ｃ２５］
前記アクティブなＶＰＳの前記識別子は、vps_idを備える、Ｃ１３に記載のデバイス。
［Ｃ２６］
命令を備えたコンピュータ可読記憶媒体であって、前記命令は、実行されると、プロセッサに、
アクティブなビデオパラメータセット（ＶＰＳ）の識別子を含む補足強化情報（ＳＥＩ）メッセージをコード化させ、前記アクティブなＶＰＳの前記識別子は、固定長コード化される、コンピュータ可読記憶媒体。
［Ｃ２７］
前記ＳＥＩメッセージは、前記アクティブなＶＰＳの前記識別子のみ含む、Ｃ２６に記載のコンピュータ可読記憶媒体。
［Ｃ２８］
前記ＳＥＩメッセージのペイロードは、前記アクティブなＶＰＳの前記識別子から構成される、Ｃ２６に記載のコンピュータ可読記憶媒体。
［Ｃ２９］
前記ＳＥＩメッセージのペイロードは、根本的に、前記ＶＰＳの前記識別子から構成される、Ｃ２６に記載のコンピュータ可読記憶媒体。
［Ｃ３０］
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージにおいて任意のエントロピーコード化シンタックスエレメントの前の初期位置でコード化される、Ｃ２９に記載のコンピュータ可読記憶媒体。
［Ｃ３１］
前記アクティブなＶＰＳの前記識別子は、前記ＳＥＩメッセージ内の前記第１のシンタックスエレメントとしてコード化される、Ｃ３０に記載のコンピュータ可読記憶媒体。
［Ｃ３２］
前記ＳＥＩメッセージを含むＳＥＩネットワーク抽象化層（ＮＡＬ）ユニットをさらに備える、Ｃ３１に記載のコンピュータ可読記憶媒体。
［Ｃ３３］
他のＳＥＩメッセージはいずれも、前記ＳＥＩ ＮＡＬユニットに含まれない、Ｃ３２に記載のコンピュータ可読記憶媒体。
［Ｃ３４］
前記ＳＥＩ ＮＡＬユニットを含むために、ビデオデータの各ランダムアクセスポイント（ＲＡＰ）アクセスユニットをコード化することをさらに備える、Ｃ２６に記載のコンピュータ可読記憶媒体。
［Ｃ３５］
ビデオデータをコード化するためのデバイスであって、
アクティブなビデオパラメータセット（ＶＰＳ）に関連付けられたデータを記憶するための手段と、
前記ＳＥＩメッセージ内のアクティブなビデオパラメータセット（ＶＰＳ）のインジケーションを含む補足強化情報（ＳＥＩ）メッセージをコード化するための手段と
を備え、前記アクティブなＶＰＳの前記インジケーションは、固定長コード化され、前記ＳＥＩメッセージに含まれる、デバイス。
［Ｃ３６］
前記ＳＥＩメッセージは、前記アクティブなＶＰＳの前記識別子のみ含む、Ｃ３５に記載のデバイス。
［Ｃ３７］
前記ＳＥＩメッセージを含むＳＥＩネットワーク抽象化層（ＮＡＬ）ユニットをさらに備える、Ｃ３５に記載のデバイス。
［Ｃ３８］
他のＳＥＩメッセージはいずれも、前記ＳＥＩ ＮＡＬユニットに含まれない、Ｃ３７に記載のデバイス。
［Ｃ３９］
前記ＳＥＩ ＮＡＬユニットを含むために、ビデオデータの各ランダムアクセスポイント（ＲＡＰ）アクセスユニットをコード化することをさらに備える、Ｃ３８に記載のデバイス。
【図１】
0006321002.tif 000002
【図２】
0006321002.tif 000003
【図３】
0006321002.tif 000004
【図４】
0006321002.tif 000005
【図５】
0006321002.tif 000006
【図６】
0006321002.tif 000007
【図７】
0006321002.tif 000008
【図８】
0006321002.tif 000009
【図９】
0006321002.tif 000010
【図１０】
0006321002.tif 000011