(57)【要約】  インターレイヤ動きデータ継承を含むビデオコーディングに関する複数のシステム、デバイス及び方法が説明される。本発明の１つの側面に係るビデオコーディングの方法は、少なくとも１つの基準レイヤ映像に関連付けられた基準動きデータにアクセスする段階と、前記基準動きデータの少なくとも一部に基づいて現在の映像に対してインターレイヤ予測を実行する段階と、を含み、前記基準レイヤ映像は、マルチレイヤビデオコンテンツにおける第１のレイヤの複数の映像のうち１つを有し、前記現在の映像は、前記マルチレイヤビデオコンテンツにおける第２のレイヤの複数の映像のうち１つを有し、前記第２のレイヤは、前記第１のレイヤとは異なる。
2016506165.tif 000002
【特許請求の範囲】
【請求項１】
ビデオをコーディングする装置であって、
少なくとも１つの基準レイヤ映像に関連付けられた基準動きデータにアクセスするデコーダ回路を備え、
前記基準レイヤ映像は、マルチレイヤビデオコンテンツにおける第１のレイヤの複数の映像のうち１つを有し、
前記デコーダ回路は、前記基準動きデータの少なくとも一部に基づいて現在の映像に対してインターレイヤ予測を実行し、
前記現在の映像は、前記マルチレイヤビデオコンテンツにおける第２のレイヤの複数の映像のうち１つを有し、
前記第２のレイヤは、前記第１のレイヤとは異なる装置。
【請求項２】
前記デコーダ回路は、
前記マルチレイヤビデオコンテンツに関連付けられたビットストリームシンタックスにおいて前記デコーダ回路に伝達されるビットストリームフラグに応じて、前記現在の映像に対してインターレイヤ予測を実行する、請求項１に記載の装置。
【請求項３】
前記基準動きデータは、少なくとも複数の動きベクトルと、複数の参照インデックスを有する、請求項１に記載の装置。
【請求項４】
前記基準レイヤ映像または前記基準動きデータの少なくとも１つを格納するメモリをさらに備える、請求項１に記載の装置。
【請求項５】
前記デコーダ回路は、ビデオデコーダ回路またはビデオエンコーダ回路の少なくとも１つを有する、請求項１に記載の装置。
【請求項６】
前記デコーダ回路はさらに、前記第２のレイヤのブロックに関連付けられた前記基準レイヤ映像のコロケートブロックを特定する、請求項１に記載の装置。
【請求項７】
前記第１のレイヤはエンハンスメントレイヤを有し、
前記第２のレイヤはベースレイヤを有する、請求項１に記載の装置。
【請求項８】
前記デコーダ回路はさらに、前の前記基準動きデータの少なくとも１つの動きベクトルに対して倍率を適用し、
前記倍率は事前に定義された倍率または適応性の倍率の少なくとも１つを有する、請求項１に記載の装置。
【請求項９】
請求項１から８のいずれか１項に記載の装置を備え、
前記マルチレイヤビデオコンテンツを表示するディスプレイ、または、前記マルチレイヤビデオコンテンツを運ぶビットストリームを受信するアンテナの少なくとも１つをさらに備えるシステム。
【請求項１０】
ビデオコーディングの方法であって、
少なくとも１つの基準レイヤ映像に関連付けられた基準動きデータにアクセスする段階と、
前記基準動きデータの少なくとも一部に基づいて現在の映像に対してインターレイヤ予測を実行する段階と、
を含み、
前記基準レイヤ映像は、マルチレイヤビデオコンテンツにおける第１のレイヤの複数の映像のうち１つを有し、
前記現在の映像は、前記マルチレイヤビデオコンテンツにおける第２のレイヤの複数の映像のうち１つを有し、
前記第２のレイヤは、前記第１のレイヤとは異なる方法。
【請求項１１】
現在の映像に対してインターレイヤ予測を実行する段階は、
前記マルチレイヤビデオコンテンツに関連付けられたビットストリームシンタックスにおいて伝達されるビットストリームフラグに応じて、前記現在の映像に対してインターレイヤ予測を実行する段階を有する、請求項１０に記載の方法。
【請求項１２】
前記基準動きデータは、少なくとも複数の動きベクトルと、複数の参照インデックスを有する、請求項１０に記載の方法。
【請求項１３】
前記基準レイヤ映像または前記基準動きデータの少なくとも１つを格納する段階をさらに含む、請求項１０に記載の方法。
【請求項１４】
前記第２のレイヤのブロックに関連付けられた前記基準レイヤ映像のコロケートブロックを特定する段階をさらに含む、請求項１０に記載の方法。
【請求項１５】
前記第１のレイヤはエンハンスメントレイヤを有し、
前記第２のレイヤはベースレイヤを有する、請求項１０に記載の方法。
【請求項１６】
前の前記基準動きデータの少なくとも１つの動きベクトルに対して倍率を適用する段階をさらに含み、
前記倍率は事前に定義された倍率及び適応性の倍率の少なくとも１つを有する、請求項１０に記載の方法。
【請求項１７】
コンピュータに、請求項１０から１６の何れか１項に記載の方法を実行させるプログラム。
【請求項１８】
ビデオコーディングを実行する装置であって、
請求項１０から１６のいずれか１項に記載の方法を実行する手段を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１３年１月４日に出願された「ＩＮＴＥＲ ＬＡＹＥＲ ＭＯＴＩＯＮ ＤＡＴＡ ＩＮＨＥＲＩＴＡＮＣＥ」というタイトルの米国仮出願Ｎｏ．６１／７４８，８７２の利益を主張する。
【背景技術】
【０００２】
ビデオエンコーダは、与えられた帯域幅でより多くの情報が送信できるように、ビデオ情報を圧縮する。次に圧縮信号は、表示に先立って信号をデコードまたは復元する受信機に送信されうる。
ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ（ＭＰＥＧ）とＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とにより形成されたＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって現在開発されているＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）は、２０１３年に計画され完成される予定のビデオ圧縮規格である。以前までのビデオコーディング規格と同様に、ＨＥＶＣは、イントラ／インター予測、変換、量子化、インループフィルタリング、およびエントロピコーディングなど基本的な複数の機能モジュールを含む。ＨＥＶＣは、次に複数のコーディング単位（ＣＵ）に分割される映像に対し、最大コーディング単位（ＬＣＵ）を定義する。複数のコーディング単位は、可変サイズを有する矩形ブロックの形状をとる。それぞれのＬＣＵ内で、４本木ベースの分割手法がＣＵ分割パターンを指定する。ＨＥＣＶはさらに、それぞれ予測および変換の目的でどのように所与のＣＵを分割するかを指定する複数の予測単位（複数のＰＵ）および複数の変換単位（複数のＴＵ）を定義する。ＣＵは通常、１つのルマコーディングブロック（ＣＢ）と２つのクロマＣＢとを関連するシンタックスとともに含み、ＰＵはさらに、６４×６４のサンプルから、少ない場合には４×４のサンプルの範囲に亘るサイズを有する複数の予測ブロック（ＰＢ）に分割され得る。イントラまたはインター予測の後に、複数の係数を生成すべく、複数の残差ブロックに対して複数の変換動作が適用される。これらの係数は、次に量子化され、一次元の順序でスキャンされ、最終的にエントロピエンコードされる。
【０００３】
ＨＥＶＣはさらに、スケーラブルビデオコーディング（ＳＶＣ）拡張を含むことを期待されている。ＨＥＶＣ  ＳＶＣビットストリームは、様々な空間解像度、フレームレート、品質、ビット深度およびその他でのソースビデオコンテンツを表すいくつかのサブセットビットストリームを含む。次に、一般的にベースレイヤ（ＢＬ）及び少なくとも１つのエンハンスメントレイヤ（ＥＬ）を含むマルチレイヤコーディング構造を用いてスケーラビリティが実現される。これは、ＥＬに属するＰＵなどの映像の部分、または映像が複数のより低いレイヤ映像（例えばＢＬ映像）から、または同一レイヤにおいて既にコーディングされた複数の映像から、予測されることを可能にする。
【図面の簡単な説明】
【０００４】
本明細書において説明される素材は、複数の添付の図面において限定ではなく例として示されている。説明を簡潔かつ明確にすべく、図面において示される要素は、必ずしも縮尺通りに描写されていない。例えば、いくつかの要素の寸法は、明確にすべく他の要素と比較して誇張されているかもしれない。さらに、適切であると見なされた場合、対応する、または類似の要素を示すべく、複数の図面間で参照ラベルが繰り返されている。
【図１】本開示の少なくともいくつかの実施例に従って構成された、一例のビデオコーディングシステムの説明図である。
【図２】本開示の少なくともいくつかの実施例に従って構成された、一例のビデオエンコードシステムの説明図である。
【図３】本開示の少なくともいくつかの実施例に従って構成された、一例のビデオデコードシステムの説明図である。
【図４】本開示の少なくともいくつかの実施例に従って構成された、例示的処理を説明するフロー図である。
【図５】本開示の少なくともいくつかの実施例に従って構成された、例となるシステムの説明図である。
【図６】本開示の少なくともいくつかの実施例に従って構成された、一例のコーディングスキームの説明図である。
【図７】本開示の少なくともいくつかの実施例に従って構成された、一例のビットストリームの説明図である。
【図８】本開示の少なくともいくつかの実施例に従って構成された、例示的処理を説明するフロー図である。
【図９】本開示の少なくともいくつかの実施例に従って構成された、例となるシステムの説明図である。
【図１０】本開示の少なくともいくつかの実施例に従って構成された、例示的なデバイスを示す図である。
【図１１】本開示の少なくともいくつかの実施例に従って構成された、例示的なビデオコーディング処理を説明するフローチャートである。
【図１２】本開示の少なくともいくつかの実施例に従って構成された、動作中の一例のビデオコーディング処理の説明図である。
【図１３】本開示の少なくともいくつかの実施例に従って構成された、一例のビデオコーディングシステムの説明図である。
【発明を実施するための形態】
【０００５】
添付の図面を参照して、１または複数の実施形態または実施例を説明する。特定の設定および構成が説明されるが、これは例示のみを目的とされていることが理解されるべきである。当業者は、本説明の精神および範囲から逸脱することなく他の設定および構成が使用され得ることを理解するだろう。当業者には、本明細書において説明される技術および／または構成が、本明細書において説明される以外の他の種々のシステムおよびアプリケーションにおいても使用され得ることが明らかであろう。
【０００６】
以下の説明は、例えばシステムオンチップ（ＳｏＣ）アーキテクチャなどのアーキテクチャで実現され得る様々な実施例を明らかにするが、本明細書において説明される技術および／または構成の実施例は特定のアーキテクチャおよび／またはコンピューティングシステムに制限されず、同様の目的で任意のアーキテクチャおよび／またはコンピューティングシステムで実装され得る。例えば、例えば多数の集積回路（ＩＣ）チップおよび／またはパッケージ、および／または、様々なコンピューティングデバイス、および／またはセットトップボックス、スマートフォン、その他などの消費者電子（ＣＥ）デバイスを使用する様々なアーキテクチャが、本明細書において説明される技術および／または構成を実装し得る。さらに、以下の説明は、ロジック実装、システムコンポーネントのタイプおよび相互関係、ロジック区分／統合の選択、その他など多数の具体的な詳細を明らかにするかもしれないが、特許請求される主題は、そのような特定の詳細なしでも実施され得る。他の例においては、本明細書において開示される素材を曖昧にしないよう、例えば制御構造および完全なソフトウェア命令シーケンスなど何らかの素材が詳細には示されていないかもしれない。
【０００７】
本明細書において開示される素材は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの何らかの組み合わせにより実装され得る。本明細書において開示される素材は、１または複数のプロセッサによって読み取られ実行され得る、マシン可読媒体に格納された命令としても実装され得る。マシン可読媒体は、マシン（例えば、コンピューティングデバイス）により読み取り可能な形態で情報を格納または送信するための何らかの媒体および／またはメカニズムを含み得る。例えば、マシン可読媒体は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電子、光、音響、または他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）、およびその他を含み得る。
【０００８】
本明細書において「一実施例」、「実施例」、「例示的な実施例」、その他について言及した場合、その説明される実施例が、特定の特徴、構造、または特性を含み得ることを示すが、あらゆる実施形態がその特定の特徴、構造、または特性を必ずしも含まないかもしれない。さらに、そのようなフレーズは、必ずしも同じ実施例について言及しているとは限らない。さらに、特定の特徴、構造、または特性が実施形態に関連して説明された場合、本明細書において明示的に説明されていようとされていなかろうと、他の実施例に関連してそのような特徴、構造、または特性を実現することは当業者の知識の範囲に含まれるものである。
【０００９】
複数のスケーラブルビデオコーディングシステム、装置、物品および方法が以下で記述される。複数のスケーラブルビデオコーディングシステムにおいて、空間スケーラビリティ、一次的スケーラビリティ、クオリティスケーラビリティ、ビット深度スケーラビリティおよびその他を含むいくつかの種類のスケーラビリティをサポートすべく、マルチレイヤコーディングが用いられる。本開示に従って、スケーラブルビデオコーディングの効率、および／または、複数のスケーラブルビデオコーディングシステムにおける柔軟性を増加させるべく、多様なインターレイヤの動きデータ継承スキームが用いられうる。さまざまな実施例において、インターレイヤの動きデータ継承は、例えば、スケーラブルビデオコーディングにおけるインターレイヤ予測を可能にすべく、ビデオコーデック、ビデオエンコーダ、ビデオプロセッサ、メディアプロセッサ、またはその他のうち１または複数により使用されうる。
【００１０】
以下において、インターレイヤの動きデータ継承を含むビデオコーディングに関するシステム、装置、物品及び方法が説明される。
【００１１】
上述したように、高効率ビデオコーディング（ＨＥＶＣ）はスケーラブルビデオコーディング（ＳＶＣ）拡張を含むことが期待される。ＨＥＣＶ  ＳＶＣビットストリームは、様々な空間解像度、フレームレート、品質、ビット深度およびその他でのソースビデオコンテンツを表すいくつかのサブセットビットストリームを含んでよい。次に、ベースレイヤ（ＢＬ）及び少なくとも１つのエンハンスメントレイヤ（ＥＬ）を一般的に含むマルチレイヤコーディング構造を用いてスケーラビリティが実現されてよく、これはより低いレイヤ映像（例えばＢＬ映像）から、または同一レイヤにおいて既にコーディングされた映像から、ＥＬに属する予測単位（ＰＵ）などの映像の部分、または映像が予測されることを可能にしうる。そのような技術は、現代のビデオサービス環境における複数のネットワーク及び複数のデバイスの不均一性に対処しうる。例えば、ＳＶＣビットストリームは、いくつかのサブセットビットストリームを含んでよい。サブセットビットストリーム自身はデコードされてよく、その結果、複数のサブストリームは、異なる解像度、フレームレート、品質、ビット深度およびその他を有するソースビデオコンテンツを表しうる。よって、多様なネットワーク及び複数のデバイスにおいて、例えば、帯域幅または複数のデバイス制限に基づいて、異なるビデオ品質が実現されうる。
【００１２】
以下でより詳細に説明されるように、動きデータは、ビデオコーダ（例えばエンコーダまたはデコーダ）を介して、ビデオデータの参照レイヤ（すなわちベースレイヤまたはより低いレベルのエンハンスメントレイヤ）で特定されうる。動きデータに基づいて、または部分的に基づいて、動き補償はエンハンスメントレイヤ（すなわち、参照レイヤの上位レイヤでの任意のエンハンスメントレイヤ）において実行されうる。これにより、エンハンスメントレイヤでの動き補償は単純化されてよく、計算資源が節約されうる。いくつかの実施例において、動き補償はエンコーダで実行されてよく、ビットストリームはエンハンスメントレイヤでの動き補償に部分的に基づいてエンコードされてよい。他の実施例において、動き補償はデコーダで実行されてよく、例えばディスプレイデバイスを介しての表示のために、エンハンスメントレイヤ出力フレームがエンハンスメントレイヤでの動き補償に部分的に基づいて生成されてよい。
【００１３】
本明細書で用いられるように、「コーダ」という用語は、エンコーダおよび／またはデコーダを指し得る。同様に、本明細書で用いられるように「コーディング」という用語は、エンコーダを介してビデオエンコードを実行すること、および／または、デコーダを介してビデオデコードを実行することを指し得る。例えば、ビデオエンコーダおよびビデオデコーダは両方とも、ビデオデータのコーディングが可能な複数のコーダの複数の例であり得る。加えて、本明細書で用いられるように、「コーデック」という用語は、エンコーダおよび／またはデコーダを実装し得る、例えば、ソフトウェア、ファームウェア、および／またはハードウェアの任意の組み合わせなど、任意の処理、プログラム、または複数の動作のセットを指し得る。さらに、本明細書で用いられるように、「動きデータ」というフレーズは、これに限定されるものではないが、１または複数の動きベクトル、参照インデックスおよび／またはインターディレクションを含むインター予測に関連付けられる任意のタイプのデータを指し得る。
【００１４】
図１は、本開示の少なくともいくつかの実施例に従って構成された、例示的なスケーラブルビデオコーディング（ＳＶＣ）のコーディングシステム１００を示す。一般的に、システム１００は、スケーラブルビデオコーディングを実行する方法が実装されたコンピュータを提供しうる。さまざまな実施例において、システム１００は、ビデオの圧縮及び復元を実行し（ｕｎｄｅｒｔａｋｅ）、かつ/または、例えば、高効率ビデオコーディング（ＨＥＶＣ）規格（ＩＳＯ／ＩＥＣ  ＪＴＣ／ＳＣ２９／ＷＧ１１及びＩＴＵ-Ｔ  ＳＧ１６  ＷＰ３「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ８」（ＪＣＴＶＣ−Ｊ１００３＿ｄ７）、２０１２年７月を参照）及びその任意のスケーラブルビデオコーディング（ＳＶＣ）拡張などの１または複数の規格または仕様に係るビデオコーデックを実装しうる。システム１００および／または他の複数のシステム、複数のスキームまたは複数の処理は本明細書でＨＥＶＣ規格のＳＶＣ拡張の文脈で記述されうるが、本開示はいかなる特定のビデオエンコード規格または仕様、あるいはその拡張にも限定されない。
【００１５】
ＨＥＶＣ規格は、次に複数のコーディング単位（ＣＵ）に分割されうる映像に対し、最大コーディング単位（ＬＣＵ）を指定する。複数のコーディング単位は、可変サイズを有する矩形ブロックの形状をとる。それぞれのＬＣＵ内で、４本木ベースの分割手法がＣＵ分割パターンを指定しうる。ＨＥＣＶはさらに、与えられるＣＵが予測及び変換のためにそれぞれ、どのように分割されるかを指定しうる変換単位（ＴＵ）及び予測単位（ＰＵ）を定義する。ＣＵは、全体として１つの輝度（ｌｕｍａ）コーディングブロック（ＣＢ）及び２つのクロマＣＢを、関連するシンタックスとともに含んでよい。ＰＵは、６４×６４サンプルから４×４サンプルのサイズ範囲の複数の予測ブロック（ＰＢ）にさらに分割されてよい。本明細書で用いられるように、「ブロック」という用語は、ビデオ映像の任意のパーティションまたはサブパーティションを指してよい。例えば、ブロックはＰＵ、ＰＢ、ＴＵ、ＣＵまたはＣＢ、またはその他を指してよい。
【００１６】
図示されるように、システム１００は、エンコーダサブシステム１０１を備えてよい。エンコーダサブシステム１０１は、レイヤ０またはベースレイヤ（ＢＬ）エンコーダ１０２、レイヤ１または第１エンハンスメントレイヤ（ＥＬ）エンコーダ１０４、及びレイヤ２または第２ＥＬエンコーダ１０６を含む多くのビデオエンコーダを有してよい。システム１００はさらに、レイヤ０（ＢＬ）デコーダ１０８、レイヤ１（ＥＬ）デコーダ１１０、及びレイヤ２（ＥＬ）デコーダ１１２を含むデコーダサブシステム１０３の複数の対応ビデオデコーダを有してよい。一般的に、ＢＬはＨＥＶＣに互換性を有してコーディングされうる。Ｎに等しいレイヤアイデンティフィケーション（ＩＤ）を有するＥＬをコーディングする場合に、例えば、複数のＳＶＣコーディングスキームは、Ｎより小さいレイヤＩＤを有する全てのコーディングレイヤを、複数のインターレイヤ予測スキームでの使用に提供することで、より低いレイヤ映像（例えばＢＬ内または１または複数の、より低いレイヤＥＬ）から、或いは、同一ＥＬ内で既にコーディングされた複数の映像から、特定のＥＬに属する映像が予測されうる。
【００１７】
本開示に従い、以下でより詳細に説明されるように、ＥＬエンコーダ１０４および１０６のいずれか一方または両方は、限定されるものではないが、動き補償を実行するエンコーダ１０２または１０４のいずれか一方から取得される１または複数の動きベクトル、参照インデックス、および／または、インターディレクションなどの動きデータを使用してよい。例えば、いくつかの実施例において、エンコーダ１０４は、エンコーダ１０２から取得される動きデータ１１４の少なくとも一部を用いて動き補償を実行しうる。さらに、いくつかの実施例において、エンコーダ１０６は、エンコーダ１０２および／またはエンコーダ１０４からそれぞれ取得される動きデータ１１４および／または動きデータ１１８の少なくとも一部を用いて動き補償を実行しうる。
【００１８】
本明細書で用いられるように、「インターレイヤ予測」という用語は、より低いレイヤ映像の１または複数の対応ブロック（例えばＢＬまたはより低いＥＬレイヤ映像の１または複数のＰＵ）に関連付けられた動きデータの少なくとも一部を用いて、予測単位（ＰＵ）などのＥＬブロックの一部分に対してインター予測を実行する間に動き補償を実行することを指す。ＥＬインター予測において継承された動きデータを用いることは、コーディングシステムがさまざまなＥＬブロックに対して別個の動きデータを提供する代わりに動きデータを再利用することを可能にすることで、システム１００などのＳＶＣシステムの圧縮効率及びコーディング柔軟性を向上しうる。さまざまな実施例において、本開示に従い、インターレイヤ予測は、一時的、空間、ビット深度、および／または質的スケーラブルなビデオコーディングアプリケーションの任意の組み合わせにおいて適用されうる。
【００１９】
説明されるように、ＥＬは、動き補償を実行するべく、継承された動きデータを使用しうる。さらに説明されるように、動きデータは、ＢＬまたはより低いレベルのＥＬ（または両方）からＥＬで受信されうる。本明細書で用いられるように、「参照レイヤ」（ＲＬ）という用語は、動き補償を実行すべく動きデータを受信及び使用するＥＬに対して動きデータを提供しうるＢＬまたはＥＬのいずれか一方を指す。一般的に、動き補償を実行するべく動きデータを受信及び使用するＥＬは、「ターゲットＥＬ」または単純にＥＬとみなされうる。
【００２０】
エンコーダ１０２、１０４および１０６の１つまたは複数を使用することで、エンコーダサブシステム１０１は、別個のビットストリームをエントロピーエンコーダ１２４に提供しうる。エントロピーエンコーダ１２４は次に、スケーラブルビデオコンテンツにおける複数のレイヤを含む、圧縮ビットストリーム１２６をデコーダサブシステム１０３のエントロピデコーダ１２８に提供しうる。本開示に従い、さらに以下でより詳細に説明されるように、ＥＬデコーダ１１０および１１２のいずれか一方または両方は、ビデオデータをデコードする場合に、デコーダ１０８または１１０のいずれか一方から取得される動きデータを使用して、インター予測を実行してよい。例えば、いくつかの実施例において、デコーダ１１０は、デコーダ１０８から取得される動きデータ１３０を用いて動き補償を実行しうる。さらに、いくつかの実施例において、デコーダ１１２は、デコーダ１０８および／またはデコーダ１１０のいずれか一方または両方からそれぞれ取得される動きデータ１３０および／または動きデータ１３２を用いて動き補償を実行しうる。
【００２１】
図１では、システム１００がスケーラブルビデオコンテンツの３つのレイヤと、サブシステム１０１における３つのエンコーダ及びサブシステム１０３における３つのデコーダの対応する複数のセットと、を使用するよう図示されているが、本開示に従って、任意の数のスケーラブルビデオコーディングレイヤと、対応するエンコーダ及びデコーダとが利用されてよい。さらに、本開示は、図１に示された特定のコンポーネント、および／または、システム１００の様々なコンポーネントが構成された態様には限定されない。
【００２２】
さらに、エンコーダサブシステム１０１は、例えばビデオコンテンツサーバシステムを含むコンテンツプロバイダシステムに関連し得る、および／またはそれにより提供され得ること、並びに、ビットストリーム１２６は、図１に描かれていない複数の送受信機、アンテナ、ネットワークシステム、およびその他など様々な通信コンポーネントおよび／またはシステムによりデコーダサブシステム１０３へと伝送または伝達され得ることが理解されよう。またデコーダサブシステム１０３は、図１に描かれていない複数の送受信機、アンテナ、ネットワークシステム、およびその他などの様々な通信コンポーネントおよび／またはシステムを介してビットストリーム１２６を受信するコンピューティングデバイス（例えば、デスクトップ型コンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、携帯電話、またはその他）などのクライアントシステムに関連し得ることも理解されよう。よって、さまざまな実施例において、エンコーダサブシステム１０１及びデコーダサブシステム１０３は、一緒にまたは相互に独立に実装されてよい。さらに、本明細書で説明される複数のシステム、装置、及び方法はＥＬ映像のＰＵなどのブロックに対してインターレイヤ予測を実行することを指しうるが、本開示はこの点に関して限定されず、インターレイヤ予測は、本明細書で説明されるように、例えばＰＵのＰＢサブパーティションまたは他の任意のブロックを含むＥＬ映像の任意のパーティションに対して実行されてよい。
【００２３】
図２は、本開示の少なくともいくつかの実施例に従って構成された、例示的なＳＶＣエンコードシステム２００を示す。示されるように、システム２００は、ＢＬエンコーダ２０２及びＥＬエンコーダ２０４を備えてよい。ＢＬエンコーダ２０２及びＥＬエンコーダ２０４は、一例においてシステム１００のエンコーダ１０２及びエンコーダ１０４にそれぞれ対応しうる。システム２００は、例えば、ベースレイヤエンコーダ及びエンハンスメントレイヤエンコーダなど、２つのＳＶＣコーディングレイヤに対応する２つのエンコーダ２０２および２０４だけを備えてよいが、本開示に従って、図２に描かれたものに加え、任意の数のＳＶＣコーディングレイヤと、対応するエンコーダとが利用されてよい。例えば、複数の追加のエンハンスメントレイヤに対応する追加の複数のエンコーダがシステム２００に備えられてよく、エンコーダ２０４に関し以下で説明されるのと同様の態様でエンコーダ２０２とインタラクトしてよい。例えば、説明の明確性の目的でＢＬエンコーダ２０２及びＥＬエンコーダ２０４に関して説明されているが、システム２００は、本明細書で説明されるように、参照レイヤ及びエンハンスメントレイヤに関連付けられた任意の参照レイヤエンコーダ及びエンハンスメントレイヤエンコーダを備えてよい。一般的に、参照レイヤエンコーダは、（示されるように）ベースレイヤに対するエンコーダであってよく、或いは、ＥＬエンコーダ２０４に関連付けられたエンハンスメントレイヤより低いレベルの任意のエンハンスメントレイヤに対するエンコーダであってよい。
【００２４】
示されるように、ＢＬエンコーダ２０２はＢＬ入力フレーム２０８を受信してよく、ＥＬエンコーダ２０４はＥＬ入力フレーム２０６を受信してよい。一般的に、入力フレーム２０８はビデオデータ２５０のＢＬに関連付けられてよく、ＥＬ入力フレーム２０６はビデオデータのＥＬ（ターゲットＥＬなど）に関連付けられてよい。他の実施例において、ビデオデータ２５０は、説明されるように、参照レイヤ及びエンハンスメントレイヤを含んでよい。
【００２５】
システム２００を使用してＳＶＣコーディングを実行する場合に、ＥＬ入力フレーム２０６の少なくともいくつかのブロックは、ＢＬエンコーダ２０２により処理されるに従ってＢＬ入力フレーム２０８の１または複数のブロックから、或いは、ＥＬエンコーダ２０４により既にエンコードされた、同一のエンハンスメントレイヤにおける他の複数の映像から、ＥＬエンコーダ２０４によって予測されうる。以下でより詳細に説明されるように、システム２００を用いてインターレイヤ予測動作を実行する場合に、ＥＬ入力フレーム２０６の１または複数のブロックは、ＢＬエンコーダ２０２から継承されＢＬエンコーダ２０２によって提供された動きデータ２１０の少なくとも一部を用いて、動き補償されうる。さまざまな実施例において、動きデータ２１０は、１または複数の動きベクトル、参照インデックス、および／またはインターディレクション、またはその他を含んでよい。さらに、本明細書で説明されるように、ＥＬ動き補償を実行するための、継承された動きデータの使用は、スライス、映像またはレイヤレベルで適用されてよい。
【００２６】
動きデータ２１０は、変換及び量子化モジュール２１２、逆変換及び量子化モジュール２１４、インループフィルタリングモジュール２１６、参照バッファ２１８、動き補償モジュール２２０または動き推定モジュール２２２、またはその他を含みうるコーディングループを用いたＢＬ入力フレーム２０８の処理に基づいて特定されてよい。図２に示されるように、動きデータ２１０は、動き推定モジュール２２２から取得されうる。いくつかの実施例において、ＢＬエンコーダ２０２は、イントラ予測モジュール２２４をさらに含んでよい。モジュール２１２、２１４、２１６、２１８、２２０および２２４の機能は、本技術分野においてよく理解され、本明細書では詳細には何ら説明されない。
【００２７】
示されるように、ＥＬエンコーダ２０４では、ＢＬエンコーダ２０２により提供される動きデータ２１０は、動き補償モジュール２２６で受信されてよく、また、コーディングループを用いてＥＬ入力フレーム２０６の複数のブロックに対して動き補償を実行するべく、少なくとも一部が用いられてよい。コーディングループは、変換及び量子化モジュール２２８、逆変換及び逆量子化モジュール２３０、参照バッファ２３４または動き補償モジュール２２６、またはその他を含んでよい。ＥＬエンコーダ２０４は、さらにイントラ予測モジュール２３８を含んでよい。モジュール２２８、２３０、２３３および２３４の機能は、本技術分野においてよく理解され、本明細書では詳細には何ら説明されない。示されるように、本開示に従って、ＥＬエンコーダ２０４は、ＥＬ入力フレーム２０６の複数のブロックに対して動き補償を実行するべく、動きデータ２１０を用いてよい。例えば、ＥＬエンコーダ２０４は、ＥＬ入力フレーム２０６の複数のブロックに対して動き補償を実行するために、動き推定モジュール２３６を使用するよりもむしろ、動きデータ２１０を使用してよい。例えば、ＥＬエンコーダ２０４は、動きデータ２１０の少なくとも一部に基づいて、ビデオデータ２５０のエンハンスメントレイヤのブロックに対し、動き補償モジュール２２６において動き補償を実行してよい。理解されるように、動き補償は、多数のＥＬ入力フレーム（ＥＬ入力フレーム２０６など）の任意の数のブロックに対し実行されてよい。
【００２８】
さまざまな実施例において、ＢＬエンコーダ２０２及びＥＬエンコーダ２０４のいずれか一方または両方は、ＢＬ入力フレーム２０８の少なくともいくつか、及び、ＥＬ入力フレーム２０６の少なくともいくつかのそれぞれのコーディング残差に対応する圧縮係数をエントロピーエンコーダモジュール２４０に提供しうる。エントロピーエンコーダモジュール２４０は、複数の残差の可逆圧縮を実行してよく（例えばＣｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ（ＣＡＢＡＣ）を介して）、システム２００から出力されるときに複数のエンコード残差を含む多重ＳＶＣビットストリーム２４２を提供してよい。さらに、以下でより詳細に説明されるように、ビットストリーム２４２は、与えられるＥＬブロックに対して動き補償を実行するべく、継承された動きデータを使用するか否かを指定する、フラグなどのインジケータを含んでよい。以下でより詳細に説明されるように、そのようなインジケータの値に応じて、デコードシステムは、本明細書で説明されるように、継承される動きデータを用いてインターレイヤ予測を実行してもよいし、実行しなくてもよい。さらに、以下でより詳細に説明されるように、ビットストリーム２４２は、ベースレイヤ（例えば参照レイヤ）及びエンハンスメントレイヤの間の空間スケーラビリティに関連付けられる倍率（ｓｃａｌｉｎｇ  ｆａｃｔｏｒ）を含んでよい。そのような倍率の値に応じて、デコードシステムは、空間スケーラビリティを補償すべく、動きデータ（例えば動きベクトルまたはその他）をスケーリングしてよい。
【００２９】
説明されるように、ビデオデータ２５０の参照レイヤ（示された例におけるベースレイヤ）に関連付けられた動きデータ２１０が特定されてよく、ビデオデータ２５０のエンハンスメントレイヤのブロックに対する動き補償が動きデータ２１０の少なくとも一部に基づいて実行されてよい。本明細書でさらに説明されるように、いくつかの実施例においては、動きデータ２１０を特定するべく、エンハンスメントレイヤのブロックに関連する参照レイヤのコロケートブロックが特定されうる。いくつかの実施例においては、参照レイヤ及びエンハンスメントレイヤの間の空間スケーラビリティがイネーブルされる。また、コロケートブロックの特定がエンハンスメントレイヤのブロックの左上位置、中心位置、または右下位置の少なくとも１つを用いてコロケートブロックを特定することを含みうるように、エンハンスメントレイヤ映像サイズは参照レイヤ映像サイズより大きくてよい。さらに、動き補償の実行に先立って、動きデータ２１０は、動きデータ２１０の１または複数の動きベクトルに対して倍率を適用することにより、スケーリングされてよい。倍率は、本明細書でさらに説明されるように、事前に定義されるか、適応性であってよい。さらに、示されるように、ビットストリーム２４２は、実行された動き補償の少なくとも一部に基づいてエンコードされてよい。
【００３０】
図３は、本開示の少なくともいくつかの実施例に従って構成された、例示的なＳＶＣデコードシステム３００を示す。システム３００は、例えば、システム１００のデコーダ１０８及びデコーダ１１０にそれぞれ対応しうるＢＬデコーダ３０２及びターゲットＥＬデコーダ３０４を備える。システム３００は２つのＳＶＣコーディングレイヤに対応する２つのデコーダ３０２および３０４だけを含むが、本開示に従って、図３に描かれたものに加え、任意の数のＳＶＣコーディングレイヤと、対応するデコーダとが利用されてよい。例えば、追加のエンハンスメントレイヤに対応する追加の複数のデコーダがシステム３００に備えられてよく、ＥＬデコーダ３０４に関して以下で説明されるのと同様の態様でＢＬデコーダ３０２とインタラクトしてよい。例えば、説明の明確性の目的でＢＬデコーダ３０２及びＥＬデコーダ３０４に関して説明されているが、システム３００は、本明細書で説明される参照レイヤ及びエンハンスメントレイヤに関連付けられた任意の参照レイヤデコーダ及びエンハンスメントレイヤデコーダを備えてよい。一般的に、参照レイヤデコーダは、（示されるように）ベースレイヤに対するデコーダであってよく、或いは、ＥＬデコーダ３０４に関連付けられたエンハンスメントレイヤより低いレベルの任意のエンハンスメントレイヤに対するデコーダであってよい。
【００３１】
システム３００を使用してＳＶＣコーディングを実行する場合に、ＥＬ出力フレーム３０６の様々なブロックは、ＢＬデコーダ３０２により処理されるに従ってＢＬ出力フレーム３０８のブロックから、或いは、ＥＬデコーダ３０４により既にデコードされた、同一のＥＬにおける他の複数の映像から、ＥＬデコーダ３０４によってインター予測されうる。以下でより詳細に説明されるように、ＥＬ出力フレーム３０６における複数のブロックのそのようなインター予測は、ＢＬデコーダ３０２により提供される動きデータ３１０を用いてよい。動きデータ３１０は、ＢＬデコーダ３０２のインター予測モジュール３１６（例えば動き推定モジュールを有する）から取得されうる。ＢＬデコーダ３０２はさらに、逆変換及び量子化モジュール３１４、イントラ予測モジュール３１２および／またはインループフィルタリングモジュール３１８を含んでよい。
【００３２】
以下でより詳細に説明されるように、動きデータ３１０は、ＥＬデコーダ３０４のインター予測モジュール３２４に提供されてよい。ＥＬデコーダ３０４はさらに、逆変換及び量子化モジュール３２２、イントラ予測モジュール３２０及びインループフィルタリングモジュール３２６を含んでよい。インターレイヤ予測を実行するべく操作される場合に、ＥＬデコーダ３０４は、インター予測モジュール３２４（例えば動き補償モジュールを有する）及び継承される動きデータ３１０を用いて、ＥＬ出力フレーム３０６の様々なブロックの画素データを再構成してよい。さらに、ＥＬデコーダ３０４は、ビットストリーム３０１において提供されるインジケータの値に基づいてそうしてよい。ここで、ビットストリーム３０１は、図１のビットストリーム１２６、図２のビットストリーム２４２またはその他に対応する。例えば、ビットストリーム２０１は、動き補償を実行するか否かを指定するインジケータ（例えばビットストリームフラグ）を含んでよい。ビットストリームはインジケータを特定すべくアクセスされてよく、動き補償が実行されるべきとインジケータが指定する場合には、インター予測モジュール３２４は、動きデータ３１０の少なくとも一部に基づいて、ビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償を実行してよい。
【００３３】
説明されるように、ビデオデータ（すなわちビットストリーム３０１に関連付けられたビデオデータ）の参照レイヤ（示された例におけるベースレイヤ）に関連付けられた動きデータ３１０が特定されてよく、ビデオデータのエンハンスメントレイヤのブロックに対する動き補償が動きデータ３１０の少なくとも一部に基づいて実行されてよい。本明細書でさらに説明されるように、いくつかの実施例においては、動きデータ３１０を特定するべく、エンハンスメントレイヤのブロックに関連する参照レイヤのコロケートブロックが特定されうる。いくつかの実施例においては、参照レイヤ及びエンハンスメントレイヤの間の空間スケーラビリティがイネーブルされる。また、コロケートブロックの特定がエンハンスメントレイヤのブロックの左上位置、中心位置、または右下位置の少なくとも１つを用いてコロケートブロックを特定することを含みうるように、エンハンスメントレイヤ映像サイズは参照レイヤ映像サイズより大きくてよい。さらに、動き補償の実行に先立って、動きデータ３１０は、動きデータ３１０の１または複数の動きベクトルに対して倍率を適用することにより、スケーリングされてよい。倍率は、本明細書でさらに説明されるように、事前に定義されるか、適応性であってよい。いくつかの実施例において、倍率はビットストリーム３０１に含まれてよい。他の実施例において、倍率はシステム３００により特定されてよい。さらに、示されるように、ＥＬ出力フレーム３０６は、動き補償の少なくとも一部に基づいて生成されてよい。
【００３４】
本明細書で説明される本システムの様々なコンポーネントは、ソフトウェア、ファームウェアおよび／またはハードウェア、および／またはそれらの組み合わせに実装されてよい。例えば、システム３００の様々なコンポーネントは、例えばスマートフォンなどのコンピューティングシステムにおいて見られるようにコンピューティングシステムオンチップ（ＳｏＣ）のハードウェアにより少なくとも部分的に提供され得る。対応する図に描かれていない追加コンポーネントを、本明細書で説明される複数のシステムが含みうることを当業者は理解しうる。例えば、システム１００、２００および３００は、明確性のために図１，２及び３において描かれていないビットストリームマルチプレクサまたはデマルチプレクサモジュールなどの追加コンポーネントを含んでよい。
【００３５】
図１１は、本開示の少なくともいくつかの実施例に従って構成された、例示的なビデオコーディング処理１１００を説明するフローチャートである。示される実施例において、処理１１００は、ブロック１１０２および／または１１０４の１または複数によって図示されるように、１または複数の動作、機能またはアクションを含んでよい。非限定的な例として、処理１１００は、例示的なビデオコーディングシステム２００またはビデオコーディングシステム２００に関して本明細書で説明される。図示されるように、処理１１００はエンコードを対象とするが、説明されるコンセプトおよび／または動作は、一般的にデコードを含むコーディングに対して同一の、または同様の態様で適用されうる。
【００３６】
処理１１００は、スケーラブルビデオコーディングを実行する、コンピュータ実装された方法として利用されうる。処理１１００は、動作１１０２の「ビデオデータの参照レイヤに関連する動きデータを特定する」で開始し、ビデオデータの参照レイヤに関連付けられた動きデータが特定されうる。例えば、動きデータ２１０はＢＬエンコーダ２０２で特定されてよく、または、動きデータ３１０はＢＬデコーダ３０２で特定されてよい。説明されるように、動きデータは、例えば、１または複数の動きベクトル、参照インデックスおよび／またはインターディレクションを含んでよい。さらに説明されるように、参照レイヤは、ベースレイヤまたは、ターゲットエンハンスメントレイヤ（すなわち動きデータが転送されるエンハンスメントレイヤ）より低いレベルであるエンハンスメントレイヤであってよい。
【００３７】
処理は動作１１０２から動作１１０４の「動きデータの少なくとも一部に基づいてビデオデータにおけるエンハンスメントレイヤのブロックに対する動き補償を実行する」に続いてよく、動きデータの少なくとも一部に基づいて、ビデオデータにおけるエンハンスメントレイヤのブロックに対する動き補償が実行されうる。例えば、ＥＬエンコーダ２０４は、動きデータ２１０の少なくとも一部に基づいて動き補償を実行してよく、または、ＥＬデコーダ３０４は動きデータ３１０の少なくとも一部に基づいて動き補償を実行してよい。本明細書でさらに説明されるように、コロケートブロックがエンハンスメントレイヤのブロックに関連付けられるように、参照レイヤのコロケートブロックが特定されうる。本明細書でさらに説明されるように、動き補償の実行に先立って、倍率が動きデータに適用されうる。
【００３８】
一般的に、処理１１００は、エンハンスメントレイヤの任意の数のブロックに対し、および／または、データの任意の数のフレームまたはその他に対し、直列にまたは並列して、任意の回数、反復されうる。結果としての動き補償は、例えば、ビットストリームをエンコードするのに用いられてよく、或いは、ディスプレイデバイスを介しての表示のための１または複数のエンハンスメントレイヤフレームを生成するのに用いられてよい。処理１１００に関連するいくつかの追加のおよび／または代替の詳細は、本明細書で、特に以下の図１２に関して説明される１または複数の実施例で示されてよい。
【００３９】
図４は、本開示の少なくともいくつかの実施例に従って構成された、例示的な処理４００を説明するフロー図を示す。処理４００は、図４のブロック４０１、４０２、４０４、４０６、４０８および４１０の１または複数により図示されるように、１または複数の動作、機能またはアクションを含んでよい。処理４００は、スケーラブルビデオコーディング処理の少なくとも一部を形成しうる。本明細書で説明されるように、処理４００またはその複数の部分は、実行されてスケーラブルビデオエンコード処理の少なくとも一部を形成しうるが、非限定的な例として、処理４００は、図３のデコーダシステム３００により実行されるような、１または複数のＥＬレイヤブロックに対するスケーラブルビデオデコード処理の少なくとも一部を形成しうる。
【００４０】
さらに、処理４００は、図５のスケーラブルビデオコーディングシステム５００を用いたＥＬＰＵのコーディングに関して本明細書で説明される。図５は、本開示の少なくともいくつかの実施例に従って構成された、例となるシステム５００の説明図である。図５で示されるように、システム５００は、プロセッサ５０２、ＳＶＣコーデックモジュール５０６、及びメモリ５０８を含んでよい。プロセッサ５０２は、ＳＶＣコーデックモジュール５０６をインスタンス化して本開示に係るインターレイヤ予測を提供しうる。以下でより詳細に説明されるように、システム５００の例において、メモリ５０８は、動きデータなどの他のアイテム（複数の動きベクトル、複数の参照インデックスおよび／または複数のインターディレクションを含む）だけでなく、ＢＬ出力フレーム３０８の少なくともいくつかおよび／またはＥＬ出力フレーム３０６の少なくともいくつかを含むビデオコンテンツを格納してよい。ＳＶＣコーデックモジュール５０６は、ソフトウェア、ファームウェアおよび／またはハードウェアの任意の組み合わせにより提供されうる。本明細書でさらに説明されるように、いくつかの実施例において、ＳＶＣコーデックモジュール５０６は、または、より一般的に、ロジックモジュールは、インターレイヤ動きデータ継承モジュールを含んでよい。動きデータ継承モジュールは、例えば、ビデオデータの参照レイヤに関連する動きデータを特定し、動きデータの少なくとも一部に基づいてビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償を実行するよう構成されうる。メモリ５０８は、揮発性メモリ（例えばスタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など）または不揮発性メモリ（例えばフラッシュメモリなど）およびその他などの任意のタイプのメモリであってよい。非限定的な例において、メモリ５０８は、キャッシュメモリにより実施されてよい。
【００４１】
図４の議論に戻り、処理４００は、決定ブロック４０１の「ＥＬブロックに対してインターレイヤ予測を実行する？」で開始してよく、現在のＥＬブロックに対してインターレイヤ予測が実行されるべきか否かに関する判断が行われてよい。インターレイヤ予測が実行されるべきである場合には、次に処理４００はブロック４０２に続いてよいが、インターレイヤ予測が実行されるべきではない場合には、処理４００は終了してよい。デコーダの実施例など、いくつかの実施例において、インターレイヤ予測が実行されるべきであるかの判断は、ビットストリームにアクセスしてインジケータ（例えばビットストリームフラグ）を特定することを含んでよく、その結果、動き補償を実行するかをインジケータが指定する。
【００４２】
処理４００は、ブロック４０２の「ＥＬブロックに対応するコロケートベースレイヤ（ＢＬ）ブロックを特定する」に続いてよく、現在のＥＬブロックに対し、ＥＬブロックに対応するＢＬの１または複数のコロケートブロックが特定されてよい。例えば、図６は、本開示の少なくともいくつかの実施例に従って構成された、一例のコーディングスキームの説明図である。図６は、ＥＬ出力フレーム３０６の現在のブロック（本実施例においてはＰＵ）６０２を示し、ＰＵ６０２は、ＢＬ出力フレーム３０８の１より多いコロケートブロックに対して空間的に対応する。本実施例において、ＰＵ６０２は、ＢＬ出力フレーム３０８の４つのコロケートブロック６０４に対応する。しかしながら、さまざまな実施例においては、ＥＬと、ＢＬまたはより低いレベルのＥＬとの間での空間のスケーリングに応じて、任意の数のＢＬ、または、より低いレベルのＥＬブロックは、特定のＥＬ  ＰＵに関して配列されうる（コロケートでありうる）。他の実施例において、ＢＬまたはより低いレベルのＥＬブロックの一部分だけが、ＥＬ  ＰＵと配列されうる。本明細書で用いられるように、「コロケート」という用語は、ＥＬの１または複数のブロックと、ＥＬレイヤのブロックとの間の空間相関を指し、「同じ場所に位置（ｃｏ−ｌｏｃａｔｅｄ）」という用語と同じことを意味するとみなされるべきである。
【００４３】
さらに、ＥＬと、より低いＥＬまたはＢＬレイヤとの間で空間のスケーリングが適用されない、いくつかのスケーラブルコーディングの実施例において、ＥＬにおける複数のブロックと、より低いＥＬまたはＢＬにおける 複数のブロックとの間には、空間的に１対１の対応があってよい。図６の例に関し、ブロック４０２での複数のコロケートブロックの特定は、現在のＰＵ６０２に関し、複数のブロック６０４がコロケートであるとマーキングすること、さもなければラベリングすることを伴ってよい。
【００４４】
ＥＬ及びＢＬの間の空間比率が１より大きくなるように空間のスケーリングが適用される、さまざまな実施例において、複数のコロケートＢＬブロックを得るのにＥＬブロックの異なる複数の位置が用いられてよい。例えば、さまざまな実施例において、ＰＵ６０２の左上位置、中心位置または右下位置は、ＢＬ出力フレーム３０８内でコロケートブロック６０４を特定するのに用いられてよい。いくつかの実施例において、参照レイヤ及びエンハンスメントレイヤの間の空間スケーラビリティがイネーブルされてよく、エンハンスメントレイヤのエンハンスメントレイヤ映像サイズは、参照レイヤの参照レイヤ映像サイズよりも大きくてよい。そのような例において、コロケートブロックの特定は、エンハンスメントレイヤのブロックの左上位置、中心位置または右下位置の１つを用いて参照レイヤのコロケートブロックを特定することを含んでよい。
【００４５】
処理４００は、ブロック４０４の「コロケートＢＬブロックの動きデータにアクセスする」に続いてよく、コロケートブロックに対応する動きデータがアクセスされうる。例えば、図５、６を参照し、ブロック４０４は、プロセッサ５０２を用い、ＳＶＣコーデックモジュール５０６を伴って、複数のコロケートブロック６０４の１または複数に対応する動きデータをメモリ５０８から取得してよい。例えば、メモリ５０８は、複数のブロック６０４に関連付けられた動きデータだけでなく、ＢＬ出力フレーム３０８の複数の部分などのビデオコンテンツを一時的に格納するフレームバッファとして動作してよい。
【００４６】
さまざまな実施例において、ブロック４０４でアクセスまたは継承される動きデータは、複数の動きベクトル、複数の参照インデックスおよび／または複数のインターディレクションの任意の組み合わせを含んでよい。いくつかの実施例においては、複数のコロケートＢＬブロックの複数の動きベクトル、複数の参照インデックス及び複数のインターディレクションの全てはアクセスまたは継承されてよく、他の実施例においては、複数のＢＬブロックの複数の動きベクトルだけが継承されてよく、さらに他の実施例においては、複数のＢＬブロックの複数の参照インデックス及び複数のインターディレクションだけがＥＬブロックに継承されてよく、その他も同様である。
【００４７】
いくつかの実施例において、複数のコロケートＢＬブロックは、全てのインターコーディングブロックを含んでよい。他の実施例において、複数のコロケートＢＬブロックは複数のハイブリッドコーディングブロックを含んでよく、その結果、複数のコロケートＢＬブロックのいくつかの部分はインターコーディングされるが、他の複数の部分はイントラコーディングされる。そのような実施例において、ブロック４０４は、複数のコロケートＢＬブロックのイントラコーディングされた複数の部分に対して動きデータを指定することを伴ってよい。たとえば、複数のコロケートＢＬブロックのイントラコーディングされた複数の部分は、インターコーディングされた近隣の複数の部分、例えば左、上、右上の空間的に近隣の複数の部分などの、または、一時的な複数のコロケートブロックの動きデータに関連付けられてよい。他の実施例において、複数のコロケートＢＬブロックのイントラコーディングされた複数の部分は、（０，０）に等しい動きベクトル、０に等しい参照インデックス、および／または、スライスタイプに等しいインターディレクション（片予測（ｕｎｉ−ｐｒｅｄｉｃｔｉｏｎ）または両予測（ｂｉ−ｐｒｅｄｉｃｔｉｏｎ））またはその他に関連付けられてよい。
【００４８】
複数のコロケートＢＬブロックのいくつかの複数の部分はインターコーディングされるが、他の複数の部分はイントラコーディングされるように、複数のコロケートＢＬブロックがハイブリッドコーディングされるいくつかの実施例において、ブロック４０４は、複数のコロケートＢＬブロックのイントラコーディングされた複数の部分に対して補償された複数のピクセルを指定することを伴ってよい。例えば、複数のコロケートＢＬブロックのイントラコーディングされた複数の部分は、複数のインターレイヤコロケートブロックの復元された画素で埋められてよい。また、空間スケーラビリティの場合に、複数のインターレイヤブロックの復元された画素は、アップサンプリングされてよい。
【００４９】
さまざまな実施例において、ブロック４０４でアクセスまたは継承される動きデータは、様々な粒度で継承されてよい。例えば、１６×１６のＰＵに対し、動きベクトルは４×４、８×８または１６×１６の粒度で継承されてよいが、８×１６のＰＵに対し、動きベクトルは４×４または８×８その他の粒度で継承されてよい。
【００５０】
処理４００は決定ブロック４０６の「動きデータをスケーリングする？」に続いてよく、ブロック４０４でアクセスされた動きデータをスケーリングするか否かの判断が行われてよい。判断が肯定的である場合には、次に処理４００はブロック４０８の「動きデータに倍率を適用する」に進んでよく、動きデータに倍率が適用されてよい。例えば、ＥＬ及びＢＬの間の空間比率が１より大きくなるよう空間のスケーリングが適用される場合には、ブロック４０４のようにアクセスされる１または複数の動きベクトルは、空間比率に対応する倍率を適用することにより、ブロック４０８でアップサンプリングされてよい。さまざまな実施例において、ブロック４０８で適用されるアップサンプルの倍率は、固定倍率であってもよいし、適応性の倍率であってもよい。固定倍率に関し、倍率は事前に定義され、エンコーダ及びデコーダの両方で用いられてよい。適応性のスケーリングを用いる実施例において、倍率は、エンコーダ側で仕込まれ、次に、ビットストリーム内でデコーダに通信されてよい。例えば、図１を参照し、エンコーダサブシステム１０１は、ビットストリーム１２６を使用して適応性の倍率をデコーダサブシステム１０３に通信してよい。デコーダは、例えば、ビデオデータに関連付けられたビットストリームにアクセスし、倍率を特定してよい。
【００５１】
次に、処理４００は、ブロック４１０の「動きデータの少なくとも一部を用いてＥＬブロックに対して動き補償を実行する」で終わってよく、ブロック４０４でアクセスされ、必要に応じてブロック４０８でアップサンプリングまたはスケーリングされた動きデータの少なくとも一部を用い、ＥＬブロックに対して動き補償が実行されてよい。さまざまな実施例において、ブロック４１０は、例えば、コロケートＢＬブロックから継承された動きベクトルを用いてＥＬブロックを動き補償することを伴ってよい。例えば、ビデオデータにおけるエンハンスメントレイヤのブロックに対する動き補償は、動きデータの少なくとも一部に基づいて実行されてよい。一般的に、動きデータは、動きベクトル、参照インデックスまたはインターディレクション、またはその他を含んでよい。
【００５２】
説明されるように、さまざまな実施例において、複数のコロケートＢＬブロックの複数の参照映像がＥＬブロックの複数の参照映像と異なる場合に、ブロック４０４でアクセスされる複数のコロケートＢＬブロックの複数の動きベクトルは、追加でスケーリングされ、ＥＬブロックの複数の参照映像と並んでよい。例えば、固定または適応性の倍率が適用されてよい。固定倍率に関し、この追加の倍率は、事前に定義されエンコーダ及びデコーダの両方で用いられてよい。適応性の倍率に関し、追加の倍率はエンコーダ側で仕込まれ、ビットストリーム内でデコーダに送信されてよい。
【００５３】
説明されるように、さまざまな実施例において、ブロック４０１でのインターレイヤ予測を実行するかの判断などの処理４００の複数の部分は、例えばビットストリーム内でデコーダに提供される指示に応じて実行されてよい。例えば、図７は、本開示の少なくともいくつかの実施例に従って構成された、ビットストリーム１２６、２４２または３０１などの一例のビットストリーム７００の説明図である。図７に示されるように、ビットストリーム７００は、ヘッダ部分７０２と、データ部分７０４を含んでよい。ヘッダ部分７０２は、１または複数のインジケータ７０６を含んでよい。例えば、インジケータ７０６は、ＥＬの現在のブロックに対し、本明細書で説明されるように、継承された動きデータを用いてインターレイヤ予測を実行するか否かを指定する値のインジケータまたはフラグ７０８を含んでよい。さらに、ビットストリーム７００は、上述したように、１または複数の適応性の倍率７１０などの他の情報を含んでよい。
【００５４】
図８は、本開示の少なくともいくつかの実施例に従って構成された、一例の処理８００のフロー図を示す。処理８００は、図８のブロック８０２、８０４、８０６、８０８、８１０、８１２、８１４および８１６の１または複数によって図示されるように、１または複数の動作、機能またはアクションを含んでよい。非限定的な例として、処理８００は、デコーダシステム３００によって実行されるような、ＥＬレイヤ（例えば、この実施例におけるＰＵ）の一部分に対するスケーラブルビデオコーディング処理の少なくとも一部を形成してよい。さらに、処理８００はまた、ＥＬ  ＰＵのデコードに関して本明細書で説明される。但し、処理８００は、本明細書で説明されるようにＳＶＣコーデックモジュール５０６がデコーダシステム３００をインスタンス化しうる、図５のスケーラブルビデオコーディングシステム５００を用いて任意のブロックに適用され、かつ、図７のビットストリーム７００の例に適用されうる。
【００５５】
処理８００は、決定ブロック８０２の「スキップモード？」で開始してよく、デコードされている現在のＥＬ  ＰＵに対してスキップモードを実行するかに関する判断が行われてよい。スキップモードでは、既にデコードされた１または複数のＰＵに基づいて現在のＰＵがデコードされる。さまざまな実施例において、ＳＶＣコーデック５０６は、ビットストリーム７００のヘッダ部分７０２で受信されたインジケータの値に応じてブロック８０２を実行してよい。例えば、インジケータが第１の値（例えば１）を有する場合に、このときＳＶＣコーデック５０６は、現在のＰＵに対してスキップモードを実行するよう判断してよい。一方で、インジケータが第２の値（例えば０）を有する場合には、このときＳＶＣコーデック５０６は、現在のＰＵに対してスキップモードを実行しないと判断してよい。
【００５６】
ブロック８０２が否定的な判断になる場合には、このとき処理８００は、決定ブロック８０４の「インター／イントラ」に進んでよく、ＰＵに対してイントラコーディングまたはインターコーディングの何れを実行するかに関する判断が行われてよい。イントラ予測が選択される場合には、このとき処理８００は、ブロック８０６の「従来のイントラ予測を実行する」に進んでよく、既知のイントラ予測技術を用いてイントラ予測が実行されてよい。インター予測が選択される場合には、このとき処理８００は、決定ブロック８０８の「ＩＬ  ＭＤＩフラグ＝トゥルー？」に進んでよく、従来技術を用いたインター予測を実行する、または、本明細書で説明されるように継承される動きデータを用いたインター予測が実行されるべきか、に関する判断が行われてよい。本実施例において、ブロック８０８は、ビットストリーム７００内でデコーダに提供されるインターレイヤの動きデータ継承（ＩＬ  ＭＤＩ）インジケータ（例えばフラグ７０８）の値に基づいて実行されてよい。
【００５７】
インジケータの値が否定的（継承された動きデータを用いたインター予測が実行されるべきではないことを示す）である場合には、このとき処理８００は、ブロック８１０の「従来のインター予測を実行する」に進んでよく、従来のインター予測技術を用いてインター予測が実行されてよい。一方で、インジケータの値が肯定的（例えばＩＬ  ＭＤＩフラグがトゥルーの値を有する）である場合には、このとき処理８００は、ブロック８１２の「継承された動きデータを用いてインターレイヤ予測を実行する」に進んでよく、本明細書で説明されるように、継承された動きデータを用いてインター予測が実行されてよい。処理８００は、次に、ブロック８１４の「残差デコードを実行する」に続いてよく、既知の残差デコード技術とブロック８１０、８１２または８０６のいずれかの結果とを用いた残差デコードが実行されてよい。最終的に、処理８００はブロック８１６の「ＰＵ内のピクセルを再構成する」で終了してよく、既知の技術が使用されてＰＵに対するピクセル値が再構成されてよい。
【００５８】
本明細書で処理８００をＥＬ  ＰＵに対するデコード処理として説明したが、本開示は、ＰＵレベルで継承された動きデータを用いたインターレイヤ予測の実行には限定されない。よって、さまざまな実施例において、処理８００はさらに、本明細書で説明されるように、ＣＵまたはＴＵまたは任意のブロックに適用されてよい。さらに、既に指摘されたように、処理８００を含んで本明細書で説明される、継承された動きデータを用いた全てのインターレイヤ予測処理は、一時的、空間、および／または質的スケーラブル（ｑｕａｌｉｔｙ  ｓｃａｌａｂｌｅ）ビデオコーディングの任意の組み合わせの文脈で適用されてよい。
【００５９】
図１２は、本開示の少なくともいくつかの実施例に従って構成された、一例のビデオコーディングシステム１００及び動作中のビデオコーディング処理１２００の説明図である。示された実施例において、処理１２００は、アクション１２０１、１２０２、１２０３、１２０４、１２０５、１２０６、１２０７、１２０８、１２０９、１２１０、１２１１、１２１２、１２１３および／または１２１４の１または複数によって図示されるように、１または複数の動作、機能またはアクションを含んでよい。非限定的な例として、処理１２００は、図１の例示的なビデオコーディングシステム１００に関して本明細書で説明される。
【００６０】
示された実施例において、ビデオコーディングシステム１００は、複数のロジックモジュール１２２０など、および／または、その組み合わせを含んでよい。例えば、複数のロジックモジュール１２２０は、エンコーダ１２３０（例えば、エンコーダ１０１または２００に対応しうる）とデコーダ１２４０を有してよい。エンコーダ１２３０は、インターレイヤ動きデータ継承モジュール１２５０を含んでよい。デコーダ１２４０は、インターレイヤ動きデータ継承モジュール１２６０を含んでよい。図１２に示されるように、ビデオコーディングシステム１００は特定の複数のモジュールに関連付けられた特定の一連のブロックまたはアクションを含んでよいが、これらのブロックまたはアクションは、本明細書で示される特定のモジュールとは異なるモジュールに関連付けられてよい。図示されるように、処理１２００はエンコード及びデコードを対象とするが、説明されるコンセプトおよび／または動作は、エンコードおよび／またはデコードに別々に適用されてよく、より一般的に、ビデオコーディングに適用されてよい。
【００６１】
処理１２００は、ブロック１２０１の「参照レイヤに関連する動きデータを特定する」で開始し、ビデオデータの参照レイヤに関連付けられた動きデータが特定されうる。例えば、動きデータが１または複数の動きベクトル、参照インデックスおよび／またはインターディレクションなどを含みうるように、ＢＬエンコーダ２０２で動きデータ２１０が特定されうる。説明されるように、参照レイヤは、ベースレイヤまたは、ターゲットエンハンスメントレイヤ（すなわち動きデータが転送されるエンハンスメントレイヤ）より低いレベルであるエンハンスメントレイヤであってよい。
【００６２】
処理１２００は、ブロック１２０１からブロック１２０２の「エンハンスメントレイヤのブロックに関連する参照レイヤのコロケートブロックを特定する」に続いてよく、エンハンスメントレイヤの（現在）ブロックに関連する参照レイヤのコロケートブロックが特定されてよい。いくつかの実施例においては、参照レイヤ及びエンハンスメントレイヤの間の空間スケーラビリティがイネーブルされてよい。また、エンハンスメントレイヤのエンハンスメントレイヤ映像サイズは参照レイヤの参照レイヤ映像サイズより大きくてよい。また、コロケートブロックの特定は、エンハンスメントレイヤのブロックの左上位置、中心位置、または右下位置の少なくとも１つを用いてコロケートブロックを特定することを含んでよい。さまざまな実施例において、コロケートブロックは、インターコーディングブロックまたはハイブリッドブロックの少なくとも１つを含んでよい。コロケートブロックに基づいて、コロケートブロックに関連付けられた動きデータは、本明細書で説明されるように、特定またはアクセスされてよい。
【００６３】
処理１２００は、ブロック１２０２からブロック１２０３の「動きデータに倍率を適用する」に続いてよく、動きデータに倍率が適用されてよい。例えば、動きデータは少なくとも１つの動きベクトルを含んでよく、倍率の適用は、動きベクトルに対する倍率の適用を含んでよい。例えば、動きベクトルは、コロケートブロックに関連付けられてよい。さまざまな実施例において、倍率は、事前に定義された倍率または適応性の倍率、またはその他を含んでよい。
【００６４】
説明されるように、いくつかの実施例（例えば参照レイヤ及びエンハンスメントレイヤの間で空間スケーラビリティが適用されない場合）において、処理１２００はブロック１２０３をスキップしてよい。いずれにしても、処理１２００は、ブロック１２０４の「動き補償を実行する」に続いてよく、動きデータの少なくとも一部に基づいて、ビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償が実行されてよい。例えば、ＥＬエンコーダ２０４は、動きデータ２１０の少なくとも一部に基づいて動き補償を実行してよい。
【００６５】
処理１２００は、ブロック１２０４からブロック１２０５の「ビットストリームをエンコードする」に続いてよく、動き補償の少なくとも一部に基づいてビットストリームがエンコードされてよい。いくつかの実施例において、ビットストリームは残差コーディングと共にエンコードされてよい。
【００６６】
処理１２００は、ブロック１２０５からブロック１２０６の「ビットストリームを転送する」に続いてよく、エンコードされたビットストリームが転送されてよい。示されるように、エンコードされたビットストリームは、デコーダ１２４０に転送されてよい。説明されるように、エンコーダ１２３０はコンテンツプロバイダシステムに関連付けられてよく、かつ／または、コンテンツプロバイダシステムによって提供されてよい。デコーダ１２４０は、クライアントシステムに関連付けられてよい。よって、さまざまな実施例において、エンコーダ１２３０及びデコーダ１２４０は、実質的に相互に独立に実装されてよい。さまざまな実施例において、ビットストリームは、インターネットを介して、複数のメモリデバイスまたはその他を介して、転送されてよい。理解されるように、いくつかの実施例において、ビットストリームは、複数のデバイスに対し、直列に、または並列して転送されてよい。
【００６７】
処理１２００は、ブロック１２０６からブロック１２０７の「ビットストリームにアクセスして、動き補償を実行するか否かを指定するインジケータを特定する」に続くか、または、ブロック１２０７で開始してよく、ビデオデータに関連付けられたビットストリームはアクセスされて、動き補償を実行するかを指定しうるインジケータを特定してよい。インジケータは、例えば、デコーダ３００によってアクセスされてよい。いくつかの実施例において、インジケータは、ビットストリームフラグを含んでよい。上で説明されたように、インターレイヤ予測が実行されるべきでない場合には、このとき処理１２００はブロック１２１３にスキップしてよい。
【００６８】
インターレイヤ予測が実行されるべきである場合には、処理１２００はブロック１２０８（空間スケーラビリティがイネーブルされ倍率がビットストリームを介して提供されている場合）の「ビットストリームにアクセスして倍率を特定する」に続いてよく、ビデオデータに関連付けられたビットストリームがアクセスされて倍率が特定されてよい。説明されるように、いくつかの実施例において、倍率は、デコードのためにビットストリーム内にエンコードされてよい。例えば、ビットストリーム７００は、１または複数の適応性の倍率７１０を含んでよい。空間スケーラビリティがイネーブルされており、ビットストリームを介して倍率が提供されていない場合には、本明細書で説明されるように、倍率は、ブロック１２１１で特定されてよい。他の実施例において、空間スケーラビリティはイネーブルされないかもしれず、倍率は必要とされないかもしれない（ビットストリームを介しても、デコーダ１２４０での特定によっても）。
【００６９】
処理１２００は、ブロック１２０９の「参照レイヤに関連する動きデータを特定する」で継続し、ビデオデータの参照レイヤに関連付けられた動きデータが特定されうる。例えば、動きデータ３１０はＢＬデコーダ３０２で特定されてよい。説明されるように、動きデータは例えば、１または複数の動きベクトル、参照インデックスおよび／またはインターディレクションを含んでよい。一般的に、参照レイヤは、ベースレイヤまたは、ターゲットエンハンスメントレイヤ（すなわち動きデータが転送されるエンハンスメントレイヤ）より低いレベルであるエンハンスメントレイヤであってよい。
【００７０】
処理１２００は、ブロック１２０９からブロック１２１０の「エンハンスメントレイヤのブロックに関連する参照レイヤのコロケートブロックを特定する」に続いてよく、エンハンスメントレイヤの（現在）ブロックに関連する参照レイヤのコロケートブロックが特定されてよい。説明されるように、いくつかの実施例においては、参照レイヤ及びエンハンスメントレイヤの間の空間スケーラビリティがイネーブルされてよい。また、エンハンスメントレイヤのエンハンスメントレイヤ映像サイズは参照レイヤの参照レイヤ映像サイズより大きくてよい。また、コロケートブロックの特定は、エンハンスメントレイヤのブロックの左上位置、中心位置、または右下位置の少なくとも１つを用いてコロケートブロックを特定することを含んでよい。さまざまな実施例において、コロケートブロックは、インターコーディングブロックまたはハイブリッドブロックの少なくとも１つを含んでよい。コロケートブロックに基づいて、コロケートブロックに関連付けられた動きデータは、本明細書で説明されるように、特定またはアクセスされてよい。
【００７１】
倍率が適用されるべきではない場合には、処理１２００はブロック１２１２にスキップしてよい。倍率が適用されるべきである場合には、処理１２００はブロック１２１０からブロック１２１１の「動きデータに倍率を適用する」に続いてよく、倍率が動きデータに適用されてよい。例えば、動きデータは少なくとも１つの動きベクトルを含んでよく、倍率の適用は、動きベクトルに対する倍率の適用を含んでよい。例えば、動きベクトルは、コロケートブロックに関連付けられてよい。さまざまな実施例において、倍率は、デコーダ１２４０を介して実装される、事前に定義された倍率か、またはビットストリームを介して受信される適応性の倍率を含んでよい。
【００７２】
処理１２００は、（例えば、ブロック１２０７、１２１１または１２０９から）ブロック１２１２の「動き補償を実行する」に続いてよく、動きデータの少なくとも一部に基づいて、ビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償が実行されてよい。例えば、ＥＬデコーダ３０４は、動きデータ３１０の少なくとも一部に基づいて動き補償を実行してよい。
【００７３】
処理１２００は、ブロック１２１２からのブロック１２１３の「エンハンスメントレイヤ出力フレームを生成する」に続いてよく、動き補償の少なくとも一部に基づいて、エンハンスメントレイヤに関連付けられたエンハンスメントレイヤ出力フレームが生成されてよい。例えば、ＥＬデコーダ３０４は、ＥＬ出力フレーム３０６を生成してよい。
【００７４】
処理１２００は、ブロック１２１３からブロック１２１４の「表示のために出力フレームを転送する」に続いてよく、出力フレームが表示のために転送されてよい。例えば、出力フレームはディスプレイデバイスを介してユーザに表示されてよい。
【００７５】
本明細書での例示的な処理の実施例は図示された順序で示される全てのブロックの実行を含み得るが、本開示はこの点に関して限定されず、さまざまな実施例において、本明細書での例示的な処理の実施例は、示されたブロックのサブセットのみを実行すること、および／または、図示されたものとは異なる順序で実行することを含み得る。
【００７６】
加えて、本明細書において説明されるブロックのうち任意の１つまたは複数は、１または複数のコンピュータプログラム製品により提供される複数の命令に応じて実行され得る。そのようなプログラム製品は、例えば、プロセッサにより実行された場合に本明細書において説明される機能を提供し得る複数の命令を提供する信号担持媒体を含み得る。コンピュータプログラム製品は、１または複数のマシン可読媒体の任意の形態で提供され得る。例えば、１または複数のプロセッサコアを含むプロセッサが、１または複数のマシン可読媒体によりプロセッサへ伝達されるプログラムコードおよび／または複数の命令または命令セットに応じて、本明細書での例示的な複数の処理のブロックのうち１または複数を実行し得る。概してマシン可読媒体は、本明細書において説明される任意の複数のデバイスおよび／またはシステムに、ビデオシステム１００，２００および３００、ＳＶＣコーデックモジュール５０６、インターレイヤ動きデータ継承モジュール１２５０または１２６０などの少なくとも一部を実装させ得るプログラムコードおよび／または複数の命令または命令セットの形態でソフトウェアを伝達し得る。
【００７７】
本明細書において説明される任意の実施例において用いられるように、「モジュール」という用語は、本明細書において説明される機能を提供するよう構成されたソフトウェアロジック、ファームウェアロジック、および／またはハードウェアロジックの何らかの組み合わせを指す。ソフトウェアは、ソフトウェアパッケージ、コードおよび／または命令セット、若しくは命令として実装され得、本明細書において説明されるいずれかの実施例おいて用いられる「ハードウェア」は、例えば、ハードワイヤによる回路、プログラマブル回路、状態マシン回路、および／または、プログラマブル回路により実行される命令を格納したファームウェアを単体で、または何らかの組み合わせで含み得る。複数のモジュールは、集合的または個別に、例えば、集積回路（ＩＣ）、システムオンチップ（ＳｏＣ）およびその他であるより大きなシステムの一部を形成する回路として実装され得る。
【００７８】
図１３は、本開示の少なくともいくつかの実施例に従って構成された、例示的なビデオコーディングシステム１３００の説明図である。示される実施例において、ビデオコーディングシステム１３００は、イメージングデバイス１３０１、ビデオエンコーダ１３０２、アンテナ１３０３、ビデオデコーダ５０４、１または複数のプロセッサ１３０６、１または複数のメモリストア１３０８、ディスプレイ１３１０、および／またはロジックモジュール１３４０を含み得る。ロジックモジュール１３４０は、インターレイヤ動きデータ継承モジュール１２６０、その他、および／またはこれらの組み合わせを含み得る。いくつかの実施例において、ビデオエンコーダ１３０２は、例えばインターレイヤ動きデータ継承モジュール１２４０などのインターレイヤ動きデータ継承モジュールを含む１または複数のロジックモジュールを実装し得る。
【００７９】
示されるように、アンテナ１３０３、ビデオデコーダ１３０４、プロセッサ１３０６、メモリストア１３０８、および／またはディスプレイ１３１０は互いに通信可能であり得、かつ／または、ロジックモジュール１３４０の一部と通信可能であり得る。同様に、イメージングデバイス１３０１およびビデオエンコーダ１３０２は、互いに通信可能であり得、かつ／またはロジックモジュール１３４０の一部と通信可能であり得る。したがって、ビデオデコーダ１３０４は、ロジックモジュール１３４０の全てまたは一部を含み得、ビデオエンコーダ１３０２は、同様のロジックモジュールを含み得る。図１３に示されるように、ビデオコーディングシステム１３００は特定の複数のモジュールに関連付けられた特定の一連のブロックまたはアクションを含んでよいが、これらのブロックまたはアクションは、本明細書で示される特定のモジュールとは異なるモジュールに関連付けられてよい。
【００８０】
いくつかの実施例において、ビデオコーディングシステム１３００は、アンテナ１３０３、ビデオデコーダ１３０４、その他、および／または、これらの組み合わせを含み得る。アンテナ１３０３は、ビデオデータのエンコードされたビットストリームを受信するよう構成され得る。ビデオデコーダ１３０４はアンテナ１３０３に通信可能に結合され得、エンコードされたビットストリームをデコードするよう構成され得る。ビデオデコーダ１３０４は、本明細書で説明されるように、ビデオデータの参照レイヤに関連する動きデータを特定し、動きデータの少なくとも一部に基づいてビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償を実行するよう構成されうる。
【００８１】
他の実施例において、ビデオコーディングシステム１３００は、ディスプレイデバイス１３１０、１または複数のプロセッサ１３０６、１または複数のメモリストア１３０８、インターレイヤ動きデータ継承モジュール１２６０など、および／または、それらの組み合わせを含んでよい。ディスプレイデバイス１３１０は、ビデオデータを表示するよう構成されてよい。プロセッサ１３０６は、ディスプレイ１３１０に通信可能に結合されてよい。メモリストア１３０８は、１または複数のプロセッサ１３０６に通信可能に結合されてよい。ビデオデコーダ１３０４（または他の実施例におけるビデオエンコーダ１３０２）のインターレイヤ動きデータ継承モジュール１２６０は、１または複数のプロセッサ１３０６に通信可能に結合されてよく、また、ビデオデータの参照レイヤに関連する動きデータを特定し、動きデータの少なくとも一部に基づいてビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償を実行するよう構成されてよく、その結果、ディスプレイデバイス１３１０を介しした画像データの表示は、動き補償の少なくとも一部に基づきうる。
【００８２】
様々な実施形態において、インターレイヤ動きデータ継承モジュール１２６０はハードウェア内に実装されてよいが、ソフトウェアが他の複数のロジックモジュールを実施しても良い。例えば、幾つかの実施形態ではインターレイヤ動きデータ継承モジュール１２６０は特定用途向け集積回路（ＡＳＩＣ）ロジックによって実装されてよいが、他のロジックモジュールは、プロセッサ１３０６などのロジックにより実行されるソフトウェア命令によって提供されてよい。しかしながら、本開示はこの点に限定されず、インターレイヤ動きデータ継承モジュール１２６０および／または他の複数のロジックモジュールは、ハードウェア、ファームウェアおよび／またはソフトウェアの任意の組み合わせによって実施されてよい。さらに、メモリストア１３０８は、揮発性メモリ（例えばスタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など）または不揮発性メモリ（例えばフラッシュメモリなど）およびその他などの任意のタイプのメモリであってよい。非限定的な例において、メモリストア１３０８は、キャッシュメモリにより実施されてよい。
【００８３】
さまざまな実施例において、インターレイヤ動きデータ継承モジュール１２６０は、ベースレイヤエンコーダ（例えばＢＬエンコーダ２０２）の動き推定モジュール（例えば動き推定モジュール２２２）と、エンハンスメントレイヤエンコーダ（例えばＥＬエンコーダ２０４）の動き補償モジュール（例えば動き補償モジュール２２６）とを含んでよい。さらに、インターレイヤ動きデータ継承モジュール１２６０は、ハードウェアを介して少なくとも一部が実施されてよい。さらに、図１３では示されていないが、ビデオエンコーダ（例えばエンコーダ１２３０または１３０２）を介して実施されるインターレイヤ動きデータ継承モジュール（例えばインターレイヤ動きデータ継承モジュール１２５０）は、ベースレイヤデコーダ（例えばＢＬデコーダ３０２）の動き推定モジュール（例えば、動き推定モジュールを含むインター予測モジュール３１６）と、エンハンスメントレイヤデコーダ（例えばＥＬデコーダ３０４）の動き補償モジュール（例えば、動き補償モジュールを有するインター予測モジュール３２４）とを有してよい。さらに、ビデオエンコーダを介して実施されるインターレイヤ動きデータ継承モジュールは、ハードウェアを介して少なくとも一部が実施されてよい。
【００８４】
図９は、本開示の少なくともいくつかの実施例に従って構成された、例となるシステム９００を示す。さまざまな実施例において、システム９００はメディアシステムであってよいが、システム９００はこの文脈に限定されない。例えば、システム９００は、パーソナルコンピュータ（ＰＣ），ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレットまたはスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス、カメラ（例えばオートフォーカスのカメラ、スーパズームカメラ、デジタル一眼レフレックス（ＤＳＬＲ）カメラ）などに組み込まれうる。
【００８５】
さまざまな実施例において、システム９００は、ディスプレイ９２０に結合されたプラットフォーム９０２を備える。プラットフォーム９０２は、コンテンツサービスデバイス９３０またはコンテンツ配信デバイス９４０または他の同様のコンテンツソースなどのコンテンツデバイスから、コンテンツを受信してよい。１または複数のナビゲーション機能を有するナビゲーションコントローラ９５０は、例えば、プラットフォーム９０２および／またはディスプレイ９２０とインタラクトするために用いられてよい。これらのコンポーネントのそれぞれは、以下でより詳細に説明される。
【００８６】
さまざまな実施例において、プラットフォーム９０２は、チップセット９０５、プロセッサ９１０、メモリ９１２、アンテナ９１３、ストレージ９１４、グラフィックスサブシステム９１５、アプリケーション９１６および／または無線機９１８の何らかの組み合わせを備えてよい。チップセット９０５は、プロセッサ９１０、メモリ９１２、ストレージ９１４、グラフィックスサブシステム９１５、アプリケーション９１６および／または無線機９１８の間の相互通信を提供しうる。例えば、チップセット９０５は、ストレージ９１４との相互通信を提供できるストレージアダプタ（図示せず）を有してよい。
【００８７】
プロセッサ９１０は、複数命令セットコンピュータ（ＣＩＳＣ）または縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、ｘ８６命令セットコンパーチブルプロセッサ、マルチコア、または他の任意のマイクロプロセッサまたは中央処理ユニット（ＣＰＵ）として実施されてよい。さまざまな実施例において、プロセッサ９１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサおよびその他であってよい。
【００８８】
メモリ９１２は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、またはスタティックＲＡＭ（ＳＲＡＭ）などの揮発性メモリデバイスとして実装されてよいが、これに限定されない。
【００８９】
ストレージ９１４は、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、装着ストレージデバイス、フラッシュメモリ、バッテリバックアップされたＳＤＲＡＭ（シンクロナスＤＲＡＭ）、および／または、ネットワークアクセス可能なストレージデバイスなどの不揮発性ストレージデバイスとして実装されてよいが、これに限定されない。さまざまな実施例において、ストレージ９１４は、例えば多数のハードドライブが含まれる場合に、貴重なデジタルメディアの保護を高めるために記憶性能を向上させる技術を備えうる。
【００９０】
グラフィックスサブシステム９１５は、表示されるスチルまたはビデオなどの画像の処理を実行しうる。グラフィックスサブシステム９１５は、例えば、グラフィクスプロセッシングユニット（ＧＰＵ）またはビジュアル処理ユニット（ＶＰＵ）であってよい。アナログまたはデジタルインターフェースが、グラフィックスサブシステム９１５及びディスプレイ９２０を通信可能に結合するために用いられうる。例えば、インターフェースは高解像度マルチメディアインターフェース、ディスプレイポート、無線ＨＤＭＩ（登録商標）および／または無線ＨＤ準拠技術の何れかであってよい。グラフィックスサブシステム９１５は、プロセッサ９１０またはチップセット９０５に統合されてよい。いくつかの実施例において、グラフィックスサブシステム９１５は、チップセット９０５に通信可能に結合された据え置き型デバイスであってよい。
【００９１】
本明細書で説明されるグラフィックスおよび／またはビデオ処理技術は、多様なハードウェアアーキテクチャで実施されうる。例えば、グラフィックスおよび／またはビデオ機能は、チップセット内に統合されてよい。代替的に、別々のグラフィックスおよび／またはビデオプロセッサが使用されてよい。さらに他の実施例として、グラフィックスおよび／またはビデオ機能は、マルチコアプロセッサを含む汎用プロセッサによって提供されてよい。さらなる実施形態において、当該機能は家電機器内に実装されてよい。
【００９２】
無線機９１８は、種々の適当な無線通信技術を用いて信号を送受信できる１または複数の無線機を有してよい。そのような技術は、１または複数の無線ネットワークにまたがる通信を伴ってよい。無線ネットワークの例は、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ），ワイヤレス大都市圏ネットワーク（ＷＭＡＮ）、セルラーネットワーク及び衛星ネットワークを含む（但し、これに限定されない）。そのような複数のネットワークにまたがる通信において、無線機９１８は、任意のバージョンの１または複数の適用規格に従って動作しうる。
【００９３】
さまざまな実施例において、ディスプレイ９２０は、任意のテレビ型モニタまたはディスプレイを有してよい。ディスプレイ９２０は、例えば、コンピュータディスプレイ画面、タッチスクリーンディスプレイ、ビデオモニタ、テレビのようなデバイス、および／またはテレビを有してよい。ディスプレイ９２０は、デジタルおよび／またはアナログであってよい。さまざまな実施例において、ディスプレイ９２０はホログラフィックディスプレイであってよい。さらに、ディスプレイ９２０は、視覚投影を受信しうる透明な面であってよい。そのような投影は、様々な形態の情報、画像および／またはオブジェクトを伝達しうる。例えば、そのような投影は、モバイル拡張現実（ＭＡＲ）アプリケーションのためのビジュアルオーバーレイであってよい。１または複数のソフトウェアアプリケーション９１６の制御下で、プラットフォーム９０２は、ディスプレイ９２０上にユーザインターフェース９２２を表示してよい。
【００９４】
さまざまな実施例において、コンテンツサービスデバイス９３０は、任意の国営の、国際の、および／または、独立したサービスにより提供されてよく、これにより、例えば、インターネットを介してプラットフォーム９０２にアクセス可能である。コンテンツサービスデバイス９３０は、プラットフォーム９０２および／またはディスプレイ９２０に結合されてよい。プラットフォーム９０２および／またはコンテンツサービスデバイス９３０は、ネットワーク９６０へ、及びネットワーク９６０からメディア情報を通信（例えば送信および／または受信）すべく、ネットワーク９６０に結合されてよい。コンテンツ配信デバイス９４０はさらに、プラットフォーム９０２および／またはディスプレイ９２０に結合されてよい。
【００９５】
さまざまな実施例において、コンテンツサービスデバイス９３０は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット有効デバイス、またはデジタル情報および／またはコンテンツの配信可能な装置、及び、コンテンツプロバイダとプラットフォーム９０２及び／ディスプレイ９２０との間でネットワーク９６０を介してまたは直に一方向または双方向にコンテンツを通信可能な他の任意の同様のデバイスを有してよい。コンテンツがネットワーク９６０を介してシステム９００と、コンテンツプロバイダとのコンポーネントの何れか１つへ、及び、１つから、一方向および／または双方向に通信されうることは評価されるだろう。コンテンツの例は、例えば、ビデオ、音楽、医学及びゲーム情報などを有する任意のメディア情報を含んでよい。
【００９６】
コンテンツサービスデバイス９３０は、メディア情報、デジタル情報を有するケーブルテレビプログラムなどのコンテンツ、および／または他のコンテンツを受信してよい。コンテンツプロバイダの例は、任意のケーブル若しくは衛星テレビ、または、無線機若しくはインターネットコンテンツプロバイダを含んでよい。提供された例は、いかなる方法によっても本開示に係る実施例を限定することを意味しない。
【００９７】
さまざまな実施例において、プラットフォーム９０２は、１または複数のナビゲーション機能を有するナビゲーションコントローラ９５０からコントロールシグナルを受信しうる。コントローラ９５０のナビゲーション機能は、例えば、ユーザインターフェース９２２とインタラクトするために用いられうる。さまざまな実施形態では、ナビゲーションコントローラ９５０は、ユーザが空間（例えば連続かつ多次元の）データをコンピュータに入力することを可能にするコンピュータハードウェアコンポーネント（具体的にはヒューマンインターフェースデバイス）でありうるポインティングデバイスであってよい。グラフィカルユーザインターフェース（ＧＵＩ）、テレビ及びモニタなどの多くのシステムは、ユーザが身体的なジェスチャを用いてコントロールを行い、コンピュータまたはテレビにデータを提供することを可能にする。
【００９８】
コントローラ９５０のナビゲーション機能の動作は、ポインタ、カーソル、フォーカスリング、またはディスプレイ上に表示される他の視覚的インジケータの動きによってディスプレイ（例えばディスプレイ９２０）上に複製されてよい。例えば、ソフトウェアアプリケーション９１６の制御下で、ナビゲーションコントローラ９５０に位置付けられたナビゲーション機能は、例えばユーザインターフェース９２２上に表示された仮想ナビゲーション機能にマッピングされてよい。さまざまな実施形態では、コントローラ９５０は、別個のコンポーネントでないかも知れないが、プラットフォーム９０２および／またはディスプレイ９２０に統合されてよい。しかしながら、本開示は、本明細書で説明されるまたは記載される要素または文脈には限定されない。
【００９９】
さまざまな実施例では、複数のドライバ（不図示）は、例えば、有効化された場合に、初期ブートアップ後にボタンに触れられるテレビのように、ユーザがプラットフォーム９０２をただちにオン・オフすることを可能とする技術を備えてよい。プラットフォームが"オフ"にされた場合であっても、プログラムロジックは、プラットフォーム９０２に、複数のメディアアダプタ、または他のコンテンツサービスデバイス９３０、またはコンテンツ配信デバイス９４０へ、コンテンツをストリーム配信させることを許容してよい。加えて、チップセット９０５は、例えば、５．１サラウンドサウンドオーディオおよび／または高品質の７．１サラウンドサウンドオーディオをサポートするハードウェアおよび／またはソフトウェアを備えてよい。複数のドライバは、集中画像表示プラットフォームのためのグラフィックスドライバを有してよい。さまざまな実施形態では、グラフィックスドライバは、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）エクスプレスグラフィックカードを備えてよい。
【０１００】
様々な実施例において、システム９００において示された複数のコンポーネントのうちいずれか１つまたは複数が統合されてもよい。例えば、プラットフォーム９０２とコンテンツサービスデバイス９３０とが統合されてよく、或いは、プラットフォーム９０２とコンテンツ配信デバイス９４０が統合化されてよく、或いは、例えばプラットフォーム９０２とコンテンツサービスデバイス９３０とコンテンツ配信デバイス９４０とが統合されてもよい。様々な実施形態において、プラットフォーム９０２とディスプレイ９２０とは、統合されたユニットであってよい。例えば、ディスプレイ９２０とコンテンツサービスデバイス９３０が統合化されてよく、或いは、ディスプレイ９２０とコンテンツ配信デバイス９４０が統合されてよい。これらの複数の例は、本開示を限定することを意味しない。
【０１０１】
様々な実施形態において、システム９００は、無線システム、有線システム、または両方の組み合わせとして実装されてよい。無線システムとして実装される場合には、システム９００は、例えば、１または複数のアンテナ、送信機、受信機、トランシーバ、アンプ、フィルタ、制御ロジックなどの、無線共有媒体で通信するのに好適な複数のコンポーネントおよび複数のインターフェースを備えてよい。無線共有媒体の一例として、ＲＦスペクトルなどの無線スペクトルの部分を有してよい。有線システムとして実装される場合には、システム９００は、例えば入出力（Ｉ／Ｏ）アダプタ、Ｉ／Ｏアダプタを対応する有線通信媒体と接続するための物理コネクタ、ネットワークインターフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラなどの有線通信媒体で通信するのに好適な複数のコンポーネントおよび複数のインターフェースを備えてよい。有線通信媒体の例は、ワイヤ、ケーブル、金属リード線、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペア線、同軸ケーブル、光ファイバーなどを含んでよい。
【０１０２】
プラットフォーム９０２は、情報を通信するために、１または複数の論理チャネルまたは物理チャネルを確立してよい。この情報は、メディア情報および制御情報を含んでよい。メディア情報は、ユーザ向けのコンテンツを表す任意のデータを参照してよい。コンテンツの例は、例えば、音声会話、ビデオ会議、ストリーミングビデオ、電子通信メールメッセージ（電子メール）、ボイスメールメッセージ、英数字シンボル、グラフィックス、画像、ビデオ、テキストなどからのデータを有してよい。音声会話からのデータは、例えば、音声情報、沈黙時間、背景雑音、快適雑音、トーンなどであってよい。制御情報は、自動化システム向けの、コマンド、命令または制御単語を表す任意のデータを指してよい。例えば、制御情報は、システムを介してメディア情報を送信するために、または、所定の態様でメディア情報を処理するようノードに指示するために用いられてよい。しかしながら、これら複数の実施形態は、図９で示されまたは記載された複数の要素または文脈に限定されない。
【０１０３】
上述したように、システム９００は、物理的な様式やフォームファクターを変化させながら実装されてよい。図１０は、本開示の少なくともいくつかの実施例に従って構成された、システム１０００が実装されてよいスモールフォームファクタデバイス１０００の複数の実施例を示す。さまざまな実施形態では、例えばデバイス１０００は、無線機能を備えるモバイルコンピューティングデバイスとして実装されてよい。モバイルコンピューティングデバイスは、プロセッシングシステムおよび、例えば１または複数のバッテリなどのモバイル電源を備える任意のデバイスを指してよい。
【０１０４】
上述したように、モバイルコンピューティングデバイスの例は、パーソナルコンピュータ（ＰＣ），ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、携帯電話／ＰＤＡの組み合わせ、テレビ、スマートデバイス（例えばスマートフォン、スマートタブレット、またはスマートテレビ）,モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス、カメラ（例えばオートフォーカスのカメラ、スーパズームカメラ、デジタル一眼レフレックス（ＤＳＬＲ）カメラ）などを含んでよい。
【０１０５】
モバイルコンピューティングデバイスの例はさらに、人の身に着けられるよう構成された複数のコンピュータを含んでよく、例えば、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、アイグラスコンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、靴コンピュータ、衣服コンピュータ、その他の身に着けることが可能なコンピュータなどである。さまざまな実施形態では、例えば、モバイルコンピューティングデバイスは、音声通信および／またはデータ通信だけでなくコンピュータアプリケーションを実行することが可能なスマートフォンとして実装されてよい。例を挙げる目的で、幾つかの実施形態が、スマートフォンとして実装されたモバイルコンピューティングデバイスと共に説明されるかもしれないが、他の複数の実施形態が、他の無線モバイルモバイルコンピューティングデバイスを同様に用いて実装されうることは当然であってよい。複数の実施形態は、この文脈に限定されない。
【０１０６】
図１０に示されるように、デバイス１０００は、ハウジング１００２、ディスプレイ１００４、入出力（Ｉ／Ｏ）デバイス１００６およびアンテナ１００８を備える。デバイス１０００はさらに、ナビゲーション機能１０１２を備えてよい。ディスプレイ１００４は、モバイルコンピューティングデバイスに適切な情報を表示するのに好適な任意のディスプレイユニットを有してよい。Ｉ／Ｏデバイス１００６は、モバイルコンピューティングデバイスに情報を入力するのに好適な任意のＩ／Ｏデバイスを有してよい。Ｉ／Ｏデバイス１００６の例は、英数字キーボード、テンキーパッド、タッチパッド、インプットキー、ボタン、スイッチ、ロッカースイッチ、マイク、スピーカ、音声認識デバイス及びソフトウェアなどを含んでよい。情報はさらに、マイク（不図示）を用いてデバイス１０００入力されてよい。そのような情報は、音声認識デバイス（不図示）によってデジタル化されてよい。複数の実施形態は、この文脈に限定されない。
【０１０７】
複数のハードウェア要素、複数のソフトウェア要素、または両方の組み合わせを用いて、様々な実施形態が実装されてよい。複数のハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路素子（例えばトランジスタ、抵抗、キャパシタ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラム式論理デバイス（ＰＬＤ）、デジタルシグナルプロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなど、を含んでよい。複数のソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、シンボル、またはこれらの任意の組み合わせを含んでよい。ある実施形態がハードウェア要素および／またはソフトウェア要素を用いて実装されるか否かを決定することは、望ましい演算レート、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバススピード、およびその他の設計上または性能上の制約などの任意の数の要因によって異なってよい。
【０１０８】
少なくとも１つの実施形態の１または複数の特徴は、プロセッサ内の様々なロジックを表すマシン可読媒体上に格納された複数の代表的命令により実装されうる。複数の代表的命令は、機械により読み取られると、機械に、本明細書で説明される複数の技術を実行するロジックを作成させる。「ＩＰコア」として知られたそのような複数の表現は、有形のマシン可読媒体上に格納され、様々な顧客、または実際にロジックまたはプロセッサを作製する複数の製造機械にロードする複数の製造設備に提供され得る。
【０１０９】
本明細書において明らかにされる特定の特徴は様々な実施例を参照して説明されてきたが、本説明は、制限的な意味で解釈されるよう意図されていない。したがって、本開示が関連する分野の当業者には明らかである、本明細書において説明される実施例の様々な修正、および他の実施例が、本開示の精神および範囲に含まれるものとして見なされる。
【０１１０】
以下の例は、さらなる実施形態に関する。
【０１１１】
一例において、スケーラブルビデオコーディングを実行する、コンピュータ実装された方法は、ビデオデータにおける参照レイヤに関連付けられた動きデータを特定する段階と、動きデータの少なくとも一部に基づいて、ビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償を実行する段階とを含んでよい。
【０１１２】
他の例において、スケーラブルビデオコーディングを実行する、コンピュータ実装された方法は、参照レイヤ及びエンハンスメントレイヤの間の空間スケーラビリティがイネーブルされ、エンハンスメントレイヤ映像サイズが参照レイヤ映像サイズより大きくなるように、エンハンスメントレイヤのブロックに関連する参照レイヤのコロケートブロックを特定することをさらに含んでよい。コロケートブロックを特定する段階は、エンハンスメントレイヤのブロックの左上位置、中心位置または右下位置の少なくとも１つを用いてコロケートブロックを特定する段階を含んでよい。動きデータは、参照レイヤのコロケートブロックに関連付けられた動きデータを含んでよい。コロケートブロックは、インターコーディングブロックまたはハイブリッドブロックの少なくとも１つを含んでよい。コンピュータ実装された方法はさらに、事前に定義された倍率または適応性の倍率の少なくとも１つを倍率が含むように、動き補償の実行に先立って、動きデータの少なくとも１つの動きベクトルに倍率を適用する段階と、ビットストリームが残差コーディングを用いてエンコードされるように動き補償の少なくとも一部に基づいてビットストリームをエンコードする段階と、動き補償を実行するかをインジケータが指定し、かつ、インジケータがビットストリームフラグを含むように、ビデオデータに関連付けられたビットストリームにアクセスしてインジケータを特定する段階と、ビデオデータに関連付けられたビットストリームにアクセスして倍率を特定する段階と、動き補償の少なくとも一部に基づいてエンハンスメントレイヤに関連付けられたエンハンスメントレイヤ出力フレームを生成する段階とを含んでよい。動きデータは、動きベクトル、参照インデックスまたはインターディレクションの少なくとも１つを含んでよい。エンハンスメントレイヤが第２エンハンスメントレイヤの上位レイヤであるように、参照レイヤがベースレイヤまたは第２エンハンスメントレイヤの少なくとも１つを含んでよい。参照レイヤ及びエンハンスメントレイヤの間のクオリティスケーラビリティ、一次的スケーラビリティまたはビット深度スケーラビリティの少なくとも１つがイネーブルされてよい。動き補償はスライス、映像またはレイヤレベルの少なくとも１つに対して実行されてよい。ブロックは、予測単位、予測ブロック、変換単位、またはコーディング単位の少なくとも１つを含んでよい。少なくとも１つの動きベクトルは、エンハンスメントレイヤのブロックが１６×１６の予測単位となるように、４×４、８×８または１６×１６の少なくとも１つを含む粒度を有してよい。参照レイヤはベースレイヤを含んでよく、エンハンスメントレイヤはレベル１のエンハンスメントレイヤを含んでよい。動き補償の実行は、エンハンスメントレイヤデコーダでの動き補償の実行を含んでよい。エンハンスメントレイヤデコーダは、ハードウェアを介して少なくとも一部が実施されてよい。動き補償の実行は、エンハンスメントレイヤエンコーダでの動き補償の実行を含んでよい。
【０１１３】
他の実施例において、コンピュータ上のビデオコーディングのためのシステムは、ディスプレイデバイス、１または複数のプロセッサ、１または複数のメモリストア、インターレイヤ動きデータ継承モジュールなど、および／または、それらの組み合わせを含んでよい。ディスプレイデバイスは、ビデオデータを表示するよう構成されてよい。１または複数のプロセッサは、ディスプレイデバイスに対して通信可能に結合されてよい。１または複数のメモリストアは、１または複数のプロセッサに対して通信可能に結合されてよい。インターレイヤ動きデータ継承モジュールは、１または複数のプロセッサに通信可能に結合されてよく、また、ビデオデータの参照レイヤに関連する動きデータを特定し、動きデータの少なくとも一部に基づいてビデオデータにおけるエンハンスメントレイヤのブロックに対して動き補償を実行するよう構成されてよい。ディスプレイデバイスを介しての画像データの表示は、動き補償の少なくとも一部に基づいてよい。
【０１１４】
さらに例となるシステムにおいて、インターレイヤ動きデータ継承モジュールは、エンハンスメントレイヤのブロックに関連する参照レイヤのコロケートブロックを特定し、倍率が事前に定義された倍率または適応性の倍率の少なくとも１つを有するように、動き補償の実行に先立って動きデータの少なくとも１つの動きベクトルに対して倍率を適用し、残差コーディングを用いてビットストリームがエンコードされるように、動き補償の少なくとも一部に基づいてビットストリームをエンコードし、動き補償を実行するかをインジケータが指定し、インジケータがビットストリームフラグを含むように、ビデオデータに関連付けられたビットストリームにアクセスしてインジケータを特定し、ビデオデータに関連付けられたビットストリームにアクセスして倍率を特定し、動き補償の少なくとも一部に基づいて、エンハンスメントレイヤに関連付けられたエンハンスメントレイヤ出力フレームを生成するよう構成されてよい。参照レイヤ及びエンハンスメントレイヤの間の空間スケーラビリティはイネーブルされてよく、エンハンスメントレイヤ映像サイズは参照レイヤ映像サイズより大きくてよい。コロケートブロックの特定は、エンハンスメントレイヤのブロックの左上位置、中心位置または右下位置の少なくとも１つを用いてコロケートブロックを特定することを含んでよい。動きデータは、参照レイヤのコロケートブロックに関連付けられた動きデータを含んでよい。コロケートブロックは、インターコーディングブロックまたはハイブリッドブロックの少なくとも１つを含む。動きデータは、動きベクトル、参照インデックスまたはインターディレクションの少なくとも１つを含んでよい。エンハンスメントレイヤが第２エンハンスメントレイヤの上位レイヤであるように、参照レイヤがベースレイヤまたは第２エンハンスメントレイヤの少なくとも１つを含んでよい。参照レイヤ及びエンハンスメントレイヤの間のクオリティスケーラビリティ、一次的スケーラビリティまたはビット深度スケーラビリティの少なくとも１つがイネーブルされてよい。動き補償はスライス、映像またはレイヤレベルの少なくとも１つに対して実行されてよい。ブロックは、予測単位、予測ブロック、変換単位、またはコーディング単位の少なくとも１つを含んでよい。少なくとも１つの動きベクトルは、エンハンスメントレイヤのブロックが１６×１６の予測単位となるように、４×４、８×８または１６×１６の少なくとも１つを含む粒度を有してよい。参照レイヤはベースレイヤを含んでよく、エンハンスメントレイヤはレベル１のエンハンスメントレイヤを含んでよい。インターレイヤ動きデータ継承モジュールは、ベースレイヤエンコーダの動き推定モジュールと、エンハンスメントレイヤエンコーダの動き補償モジュールとを含んでよい。インターレイヤ動きデータ継承モジュールは、ハードウェアを介して少なくとも一部が実施されてよい。インターレイヤ動きデータ継承モジュールは、ベースレイヤデコーダの動き推定モジュールと、エンハンスメントレイヤデコーダの動き補償モジュールとを含んでよい。
【０１１５】
更なる例において、少なくとも１つのマシン可読媒体は、コンピューティングデバイスで実行されることに応じて、コンピューティングデバイスに、上記した例のうちいずれか１つに係る方法を実行させる複数の命令を含み得る。
【０１１６】
また更なる例において、装置は、上記した例のうちいずれか１つに係る方法を実行する手段を含み得る。
【０１１７】
上記した例は、特徴の特定の組み合わせを含み得る。しかしながら、そのような上記した例はこの点に関して限定されず、様々な実施例において、上記した例は、そのような特徴のサブセットのみを実行すること、そのような特徴を異なる順序で実行すること、そのような特徴の異なる組み合わせを実行すること、および／または、明示的に列挙されたそれらの特徴以外の追加の特徴を実行することを含み得る。例えば、例示的な方法に関して説明された全ての特徴は、例示的な装置、例示的なシステム、および／または例示的な物品に関して実装され得、その逆もまた然りである。
【図１】
2016506165.tif 000003
【図２】
2016506165.tif 000004
【図３】
2016506165.tif 000005
【図４】
2016506165.tif 000006
【図５】
2016506165.tif 000007
【図６】
2016506165.tif 000008
【図７】
2016506165.tif 000009
【図８】
2016506165.tif 000010
【図９】
2016506165.tif 000011
【図１０】
2016506165.tif 000012
【図１１】
2016506165.tif 000013
【図１２】
2016506165.tif 000014
【図１３】
2016506165.tif 000015
【国際調査報告】
2016506165.tif 000016
2016506165.tif 000017
2016506165.tif 000018