[0043] 本開示に記載される技法は、一般に、ビデオコーディング、詳細には、スケーラブルビデオコーディングおよびマルチビュー/3次元ビデオコーディングを含む、マルチレイヤのビデオコーディングに関する。たとえば、技法は、高効率ビデオコーディング(HEVC)のスケーラブルビデオコーディングの拡張(SHVCと呼ばれる)に関してよく、それを伴って、またはそれの中で使用されてもよい。SHVC拡張では、ビデオ情報の多数のレイヤが存在し得る。最低レベルにおけるレイヤは、ベースレイヤ(BL)として働き得、最上部におけるレイヤ(すなわち、最も高いレイヤ)または中間のレイヤは、エンハンストレイヤ(EL)として働き得る。「エンハンストレイヤ」は、「エンハンスメントレイヤ」と呼ばれることがあり、これらの用語は互換的に使用され得る。ベースレイヤ、またはベースレイヤと最も高いレイヤとの間にあるレイヤは、「参照レイヤ」(RL)と呼ばれることがあり、これらの用語も互換的に使用され得る。ベースレイヤと上部レイヤとの間のすべてのレイヤは、ELもしくは参照レイヤ(RL)のいずれか、またはそれらの両方として働き得る。たとえば、中間にあるレイヤは、ベースレイヤまたは間にある任意のエンハンスメントレイヤなどの、それより下のレイヤにとってのELであり得、同時に、それより上のエンハンスメントレイヤにとってのRLとして働き得る。ベースレイヤと上部レイヤ(すなわち、最も高いレイヤ)との間にある各レイヤは、より高いレイヤによるレイヤ間予測のための参照として使用され得、レイヤ間予測のための参照として、より低いレイヤを使用し得る。
[0044] 例示のみを目的として、本開示に記載される技法は、2つのレイヤ(たとえば、ベースレイヤのような低いレベルのレイヤ、およびエンハンストレイヤのような高いレベルのレイヤ)のみを含む例とともに説明される。本開示に記載される例は、多数のエンハンスメントレイヤを伴う例に、同様に拡張され得ることを理解されたい。加えて、説明を簡単にするため、以下の開示は、主に「フレーム」または「ブロック」という用語を使用する。しかしながら、これらの用語は、限定的であることを意味しない。たとえば、以下に記載される技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スライス、フレームなどの、異なるビデオユニットを用いて使用され得、「ピクチャ」および「フレーム」という用語は、互換的に使用され得る。
ビデオコーディング
[0045] ビデオコーディング規格は、ITU−T H.261、ISO/IEC MPEG−1ビジュアル、ITU−T H.262もしくはISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル、およびそのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張を含むITU−T H.264(ISO/IEC MPEG−4 AVCとも呼ばれる)を含む。加えて、新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)は、ITU−T Video Coding Experts Group(VCEG)のJoint Collaboration Team on Video Coding(JCT−VC)、およびISO/IEC Motion Picture Experts Group(MPEG)によって、開発中である。HEVC規格の別の最近のドラフトは、「HEVCワーキングドラフト7」と呼ばれ、文書HCTVC−I1003、Brossら、「高効率ビデオコーディング(HEVC)テキスト仕様書ドラフト7」、ITU−T SG16 WP3のJoint Collaborative Team on Video Coding(JCT−VC)、およびISO/IEC JTC1/SC29/WG11、第9回会合、ジュネーブ、スイス、2012年4月27日〜2012年5月7日、である。別の最近のドラフトは、ワーキングドラフト8と呼ばれ、HEVCの最新のワーキングドラフト(WD)において入手可能であり、これ以降、HEVC WD8と呼ばれる。
[0046] マルチレイヤコーディング規格の一例は、スケーラブルビデオコーディングである。スケーラブルビデオコーディング(SVC)は、(信号対雑音比(SNR)とも呼ばれる)品質スケーラビリティ、空間スケーラビリティ、および/または時間スケーラビリティを実現するために使用され得る。たとえば、一実施形態では、参照レイヤ(たとえば、基本レイヤ)は、第1の品質レベルでビデオを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤと比べてさらなるビデオ情報を含み、その結果、参照レイヤおよびエンハンスメントレイヤは一緒に、第1の品質レベルよりも高い第2の品質レベル(たとえば、少ない雑音、大きい解像度、より良いフレームレートなど)でビデオを表示するのに十分なビデオ情報を含む。エンハンストレイヤは、ベースレイヤと異なる空間解像度を有し得る。たとえば、ELとBLとの間の空間的なアスペクト比は、1.0、1.5、2.0または他の異なる比であり得る。言い換えれば、ELの空間的なアスペクトは、BLの空間的なアスペクトの1.0、1.5、または2.0倍に等しくてよい。いくつかの例では、ELのスケーリングファクタは、BLよりも大きくてよい。たとえば、ELでのピクチャのサイズは、BLでのピクチャのサイズよりも大きくてよい。このようにして、限定でないけれども、ELの空間解像度は、BLの空間解像度よりも大きいことが起こり得る。
[0047] しかしながら、現在の技法は、キーピクチャのレイヤにわたる位置合わせを提供しない。そのような技法は、以下により詳細に記載されるように、より良いコーディング効率と、低減された計算リソースとを可能にする。
[0048] 図1は、相異なるディメンションに沿った例示的なビデオスケーラビリティを含むディメンショナリティの図を示す。スケーラビリティは、図1に示すように、3つのディメンションで可能にされる。時間ディメンションでは、7.5Hz、15Hz、または30Hzなどのフレームレートが、時間的なスケーラビリティ(T)によってサポートされ得る。空間的なスケーラビリティ(S)がサポートされる場合、QCIF、CIF、および4CIFなどの異なる解像度が可能である。各特定の空間解像度およびフレームレートに対して、SNR(Q)レイヤが、ピクチャ品質を改善するために追加され得る。
[0049] いったんビデオコンテンツがそのような拡張性のある方法で符号化されると、エクストラクタツールが、たとえば、クライアントまたは伝送チャネルに依存するアプリケーションの要件に従って、実際に配送されるコンテンツを適応させるために使用され得る。図1に示す例では、各立方体は、同じフレームレート(時間的なレベル)、空間解像度、およびSNRレイヤを有するピクチャを含む。これらの立方体(たとえば、ピクチャ)を任意のディメンションに追加することによって、改善された表現が実現され得る。組み合わされたスケーラビリティは、2つ、3つ、またはさらに多くのスケーラビリティが可能である場合に、サポートされる。
[0050] SVC仕様によれば、最も低い空間的および品質レイヤを有するピクチャは、H.264/AVCと互換性があり、最も低い時間的レベルでのピクチャは、時間的なベースレイヤを形成し、これは、より高い時間的レベルでのピクチャを伴って拡張され得る。H.264/AVCと互換性のあるレイヤに加えて、いくつかの空間的、および/またはSNRエンハンスメントレイヤが、空間的および/または品質のスケーラビリティをもたらすために、追加され得る。SNRスケーラビリティは、品質スケーラビリティとしても参照させられる。各空間的またはSNRエンハンスメントレイヤは、それ自体、H.264/AVCと互換性のあるレイヤと同じ時間的スケーラビリティ構造とともに、時間的にスケーラブルであり得る。1つの空間的またはSNRエンハンスメントレイヤに対して、それが依存するより低いレイヤは、その特定の空間的またはSNRエンハンスメントレイヤのベースレイヤとしても参照させられる。
[0051] 図2は、例示的なマルチレイヤコーディング構造のコーディング構造図を示す。最も低い空間的および品質レイヤを有するピクチャ(レイヤ0およびレイヤ1の、QCIF解像度のピクチャ)は、H.264/AVCと互換性がある。これらの中で、最も低い時間的レベルのこれらのピクチャは、図2のレイヤ0に示されるように、時間的なベースレイヤを形成する。この時間的なベースレイヤ(レイヤ0)は、より高い時間的レベル(レイヤ1)のピクチャを伴って拡張され得る。H.264/AVCと互換性のあるレイヤに加えて、いくつかの空間的および/またはSNRエンハンスメントレイヤが、空間的および/または品質のスケーラビリティをもたらすために、追加され得る。たとえば、エンハンスメントレイヤは、レイヤ2と同じ解像度を有するCIF表現であり得る。この例では、レイヤ3は、SNRエンハンスメントレイヤである。この例に示されるように、各空間的またはSNRエンハンスメントレイヤは、それ自体、H.264/AVCと互換性のあるレイヤと同じ時間的スケーラビリティ構造によって、時間的にスケーラブルであり得る。また、エンハンスメントレイヤは、空間解像度とフレームレートの両方を拡張し得る。たとえば、レイヤ4は、フレームレートを15Hzから30Hzにさらに増大させる、4CIFエンハンスメントレイヤを形成する。
[0052] 図3は、コーディングされたマルチレイヤのビデオデータを含むビットストリームのためのアクセスユニットの図を示す。同じ時間インスタンスの中でコーディングされたスライスは、ビットストリームの順番で連続である。スライスは、SVCに関連した1つのアクセスユニットを形成する。それらのアクセスユニットは、次いで、表示順序と異なる場合があり、たとえば、時間的予測の関係によって決定されるかもしれない復号順序に従う。
[0053] 一般に、レイヤ間テクスチャ予測は、エンハンスメントレイヤのピクセル値を予測するために、再構築されたベースレイヤのピクセル値が使用される場合を参照する。「イントラBLモード」および「レイヤ間参照ピクチャ」という2つの手法がある。
[0054] どのようにピクチャがコーディングされ(たとえば、使用される予測)、ビットストリーム内にパッケージ化されるかは、ビデオデータを送信、復号、および処理するために消費されるリソースに影響し得る。ビットストリーム内でピクチャを編成することの複雑さは、ビットストリームに含まれるレイヤの数が増大するにつれて、さらに増大する。様々なレイヤからのピクチャのクロスレイヤ位置合わせのためのシステム、デバイス、および方法は、さらに詳細に後述される。記載される特徴は、ビデオ情報を処理しシステム性能全体を改善するために必要とされるリソースを削減し得る。
[0055] 新規のシステム、装置、および方法の様々な態様は、これ以降、添付図面を参照して、より十分に説明される。しかしながら、本開示は、多くの異なる形態で実施可能であり、本開示の全体を通して示される任意の特定の構造または機能に限定されるものと解釈されるべきでない。むしろ、本開示が、入念で完全であり、本開示の範囲を当業者に十分に伝達するように、これらの態様が提供される。本明細書での教示に基づいて、当業者は、本発明の任意の他の態様から独立して実施されるか、または、本発明の任意の他の態様と組み合わされて実施されるかにかかわらず、本開示の範囲が、本明細書で開示される新規のシステム、装置、および方法の任意の態様を包含することを意図することを諒解するべきである。たとえば、本明細書で述べられる任意の数の態様を使用して装置が実施されてよく、または方法が実施されてもよい。加えて、本発明の範囲は、本明細書で述べられる本発明の様々な態様に加えて、またはそれ以外の、他の構造、機能性、または構造および機能性を使用して実施されるそのような装置または方法を包含することを意図する。本明細書で開示する任意の態様は、特許請求の範囲の1つまたは複数の要素により実施されてもよいことを理解されたい。
[0056] 特定の態様が本明細書で説明されるけれども、これらの態様の多くの変形および並べ替えは、本開示の範囲内に属する。好ましい態様のいくつかの利益および利点が述べられるけれども、本開示の範囲は、特定の利点、使用、または目的に限定されることを意図しない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに、広範囲に適用できることが意図され、これらのうちのいくつかは、各図面および好ましい態様の以下の説明で、例として示される。発明を実施するための形態および各図面は、限定的でなく、本開示の単に例示であり、本開示の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
ビデオコーディングシステム
[0057] 図4は、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書に記載されて使用されるように、「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化およびビデオ復号を総称的に指し得る。
[0058] 図4に示すように、ビデオコーディングシステム10は、ソースデバイス12と、宛先デバイス14とを含む。ソースデバイス12は、符号化ビデオデータを生成する。宛先デバイス14は、ソースデバイス12によって生成された符号化ビデオデータを復号し得る。ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に供給し得る。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話送受話器、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内のコンピュータ、ビデオストリーミングデバイスなどを含む、様々なデバイスを含み得る。ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0059] 宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することが可能なタイプの媒体またはデバイスを備え得る。たとえば、コンピュータ可読媒体16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための、通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、ワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を促進するために有用であり得る、他の機器を含み得る。
[0060] いくつかの実施形態では、符号化されるデータは、出力インターフェース22から記憶デバイスへ出力され得る。同様に、符号化されるデータは、記憶デバイスから入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、またはビデオデータを記憶するための他のデジタル記憶媒体などの、様々な分散された、または局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。記憶デバイスは、ソースデバイス12によって生成される符号化されたビデオを記憶する、ファイルサーバまたは別の中間的な記憶デバイスに相当し得る。宛先デバイス14は、記憶されているビデオデータに、記憶デバイスからストリーミングまたはダウンロードを介して、アクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14へ送信することができるタイプのサーバであり得る。例示的なファイルサーバは、ウェブサーバ(たとえば、ウェブサイトのための)、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、または局所的なディスクドライブを含む。宛先デバイス14は、インターネット接続を含む標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線の接続(たとえば、DSL、ケーブルモデムなど)、または、ファイルサーバに記憶されている符号化ビデオデータにアクセスするために適当な、それらの両方の組合せを含み得る。符号化ビデオデータの記憶デバイスからの伝送は、ストリーミング伝送、ダウンロード伝送、またはそれらの組合せであり得る。
[0061] 本開示の技法は、ワイヤレスのアプリケーションまたはセッティングに加えて、アプリケーションまたはセッティングを適用し得る。技法は、無線によるテレビジョン放送、ケーブルテレビジョン伝送、衛星テレビジョン伝送、動的適応型HTTPストリーミング(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ伝送、データ記憶媒体へと符号化されるデジタルビデオ、データ記憶媒体のデジタルビデオの復号、または他の適用例などの、様々なマルチメディアの適用例を支援して、ビデオコーディングに適用され得る。いくつかの実施形態では、システム10は、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティングおよび/またはビデオ電話通信などの適用例をサポートするために、一方向または二方向のビデオ伝送をサポートするように構成され得る。
[0062] 図4では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。ソースデバイス12のビデオエンコーダ20は、複数の規格または規格拡張に準拠するビデオデータを含む、ビットストリームをコーディングするための技法を適用するように構成され得る。他の実施形態では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含んでもよい。たとえば、ソースデバイス12は、ビデオデータを外部のカメラなどの外部のビデオソース18から受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースしてもよい。
[0063] ソースデバイス12のビデオソース18は、ビデオカメラ、あらかじめ記録されたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオ供給インターフェースなどの、ビデオキャプチャデバイスを含み得る。ビデオソース18は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成のビデオの組合せを生成し得る。実施形態によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはテレビ電話を形成し得る。記録、事前記録、またはコンピュータで生成されるビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、出力インターフェース22によってコンピュータ可読媒体16へ出力され得る。
[0064] コンピュータ可読媒体16は、ワイヤレスブロードキャストまたは有線ネットワーク伝送などの一時的な媒体、または、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(たとえば、非一時的な記憶媒体)を含み得る。ネットワークサーバ(図示せず)は、ソースデバイス12から符号化ビデオデータを受信し、(たとえば、ネットワーク送信を介して)その符号化ビデオデータを宛先デバイス14に与え得る。ディスクプレス加工施設などの媒体生産施設のコンピューティングデバイスは、符号化ビデオデータをソースデバイス12から受信し、符号化ビデオデータを含むディスクを生産し得る。したがって、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0065] 宛先デバイス14の入力インターフェース28は、情報をコンピュータ可読媒体16から受信できる。コンピュータ可読媒体16の情報は、ビデオエンコーダ20により定義された、ブロックの特性および/または処理ならびに他のコーディングされたユニット、たとえば、GOPを記述するシンタックス要素を含むシンタックス情報を含み得、シンタックス情報は、ビデオデコーダ30によって使用され得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちの任意のものを含み得る。
[0066] ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などの、ビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。あるいは、ビデオエンコーダ20およびビデオデコーダ30は、あるいはMPEG−4、Part 10と呼ばれるITU−T H.264規格、アドバンストビデオコーディング(AVC)、またはそのような規格の拡張などの、他の独自の規格または業界規格に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例は、MPEG−2と、ITU−T H.263とを含む。図4に示されないけれども、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、オーディオのエンコーダおよびデコーダとともに統合され得、オーディオとビデオの両方の、共通のデータストリームまたは別個のデータストリームでの符号化を扱うための、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能であれば、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0067] ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。技法が部分的にソフトウェアで実施される場合、デバイスは、ソフトウェアのための命令を、非一時的なコンピュータ可読媒体に記憶し、本開示の技法を実行するための1つまたは複数のプロセッサを使用して、ハードウェアで命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれ得、そのいずれかは、組み合わされたエンコーダ/デコーダ(コーデック)の一部として、それぞれのデバイスに統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/または携帯電話などのワイヤレス通信デバイスを備え得る。
[0068] JCT−VCは、HEVC規格の開発に取り組んでいる。HEVCの標準化の取組みは、HEVCテストモード(HM)と呼ばれるビデオコーディングデバイスの進展モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対して、ビデオコーディングデバイスのいくつかの付加された機能を想定する。たとえば、H.264は、9つのイントラ予測符号化モードを提供するが、HMは、33ものイントラ予測符号化モードを提供し得る。
[0069] 一般に、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含むツリーブロックまたは最大コーディングユニット(LCU)のシーケンスに分割され得ることを記載している。ビットストリーム内のシンタックスデータは、LCUにとってのサイズを定義し得、LCUは、ピクセルの数の点で最大のコーディングユニットである。スライスは、いくつかの連続したツリーブロックを、コーディングの順序で含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従って、コーディングユニット(CU)に分割され得る。一般に、4分木データ構造は、CUあたり1つのノードを、ツリーブロックに対応するルートノードとともに含む。CUが4つのサブCUに分割される場合、CUに対応するノードは、4つのリーフノードを含み、その各々は、サブCUのうちの1つに対応する。
[0070] 4分木データ構造の各ノードは、対応するCUにシンタックスデータを提供することができる。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義されてよく、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、CUは、リーフCUとして参照させられる。本開示では、たとえ元のリーフCUの明白な分割がなくても、リーフCUの4つのサブCUも、リーフCUと呼ばれる。たとえば、16×16サイズのCUがさらに分割されない場合、4つの8×8サブCUも、16×16CUが分割されなかったけれどもリーフCUと呼ばれる。
[0071] CUは、CUがサイズの特異性を有しないことを別にすれば、H.264規格のマクロブロックと類似の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、次に、親ノードであり得、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最終の、分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コーディングされたビットストリームと関連したシンタックスデータは、最大CU深度(CU depth)と呼ばれる、ツリーブロックが分割され得る回数の最大数を定義し得、また、コーディングノードの最小サイズを定義し得る。したがって、ビットストリームは、また、最小コーディングユニット(SCU)を定義し得る。本開示は、「ブロック」という用語を、HEVCのコンテキストにおいてCU、PU、またはTUのうちのいずれか、または他の規格のコンテキストにおいて類似のデータ構造(たとえば、H.264/AVCのマクロブロックおよびそのサブブロック)を参照するために使用する。
[0072] CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状において正方形でなければならない。CUのサイズは、8×8ピクセルから、最大で64×64ピクセルまたはそれを越えるツリーブロックのサイズまで変動し得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUと関連したシンタックスデータは、たとえば、CUの1つまたは複数のPUへの区分を記述し得る。区分モードは、CUがスキップであるか、または、ダイレクトモードで符号化されるか、イントラ予測モードで符号化されるか、もしくはインター予測モードで符号化されるかの間で、異なり得る。PUは、形状において非正方形に区分されてもよい。CUと関連したシンタックスデータは、また、たとえば、CUの1つまたは複数のTUへの、4分木に従う区分を記述し得る。TUは、形状において正方形または非正方形(たとえば、長方形)であってもよい。
[0073] HEVC規格は、異なるCUに対して異なり得る、TUに従う変換を可能にする。TUは、通常、区分されたLCUのために定義された、所与のCU内のPUのサイズに基づいてサイズ変更されるが、これは常にそうであるとは限らない。TUは、通常、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)と呼ばれる4分木構造を使用して、より小さいユニットにさらに分割され得る。RQTのリーフノードは、変換ユニット(TU)と呼ばれる場合がある。TUと関連したピクセル差分の値は、変換係数を生成するために変換され得、変換係数は量子化され得る。
[0074] リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。一般に、PUは、対応するCUのすべてまたは一部分に対応する空間的なエリアを表現し、PUのための参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモードで符号化される場合、PUに対するデータは、残差4分木(RQT)に含まれ得、残差4分木は、PUに対応するTUのためのイントラ予測モードを記述するデータを含め得る。別の例では、PUがインターモードで符号化される場合、PUは、PUに対する1つまたは複数の動きベクトルを定義するデータを含み得る。PUに対する動きベクトルを定義するデータは、たとえば、動きベクトルの水平の構成要素、動きベクトルの垂直の構成要素、動きベクトルのための解像度(たとえば、4分の1ピクセルの精度または8分の1ピクセルの精度)、動きベクトルが指す先の参照ピクチャ、および/または動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
[0075] 1つまたは複数のPUを有するリーフCUは、また、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上述するように、RQT(TUの4分木構造とも呼ばれる)を使用して規定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを、示し得る。次いで、各変換ユニットは、さらなるサブTUに、さらに分割され得る。TUがさらに分割されない場合、TUは、リーフTUと呼ばれる場合がある。一般に、イントラコーディングのために、リーフCUに属しているすべてのリーフTUは、同じイントラ予測モードを共有する。すなわち、同じイントラ予測モードが、一般に、リーフCUのすべてのTUに対して予測される値を計算するために適用される。イントラコーディングのために、ビデオエンコーダは、イントラ予測モードを使用して、TUに対応するCUの部分と元のブロックとの間の差分として、各リーフTUに対する残差値を計算し得る。TUは、必ずしも、PUのサイズに限定されるとは限らない。したがって、TUは、PUよりも大きくてもまたは小さくてもよい。イントラコーディングのために、PUは、同じCUに対して対応するリーフTUと並べられ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0076] その上、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは一般にリーフCUに対応し、CU4分木のルートノードは一般にツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。一般に、本開示は、別段の注記がない限り、CUおよびTUという用語を、それぞれ、リーフCUおよびリーフTUを参照するために使用する。
[0077] ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP)は、一般に、一連の1つまたは複数のビデオピクチャを備える。GOPは、GOPのヘッダの中、1つまたは複数のピクチャのヘッダの中、またはその他の所にシンタックスデータを含み得、シンタックスデータは、GOPに含まれるいくつかのピクチャを記述する。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定のまたは変化するサイズを有し得、規定されたコーディング規格に従って、サイズは異なり得る。
[0078] 例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nとすれば、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測、および2N×2N、2N×N、N×2N、またはN×Nの対称なPUサイズでのインター予測をサポートする。HMは、また、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための、非対称な区分をサポートする。非対称な区分では、CUの一方向は区分されず、他の方向は25%および75%に区分される。CUの25%パーティションに対応する部分は、「n」、ならびにそれに続く「Up」、「Down」、「Left」、または「Right」の表示によって示される。したがって、たとえば、「2N×nU」は、上部で2N×0.5NのPU、および下部で2N×1.5NのPUに水平に区分される2N×2NのCUを参照する。
[0079] 本開示では、「N×N」および「N by N」は、垂直および水平の寸法の観点からビデオブロックのピクセル寸法を参照するために、たとえば、16×16ピクセルまたは16by16ピクセルのように、互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセル(y=16)、および水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、一般に、垂直方向にNピクセル、および水平方向にNピクセルを有し、ここでNは、非負の整数値を表す。ブロックのピクセルは、行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有するとは限らない。たとえば、ブロックは、N×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
[0080] CUのPUを使用するイントラ予測またはインター予測のコーディングの後で、ビデオエンコーダ20は、CUのTUに対する残差データを計算し得る。PUは、空間領域(ピクセル領域とも呼ばれる)での予測ピクセルデータを生成する方法、すなわちモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、離散サイン変換(DST)、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または残差ビデオデータへの概念的には類似の変換を適用した後の、変換領域での係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUに対する残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換し得る。
[0081] 以下により詳細に記載されるように、ビデオエンコーダ20またはビデオデコーダ30は、コーディングされるビデオの1つまたは複数の特性に基づいて、変換を選択するように構成され得る。たとえば、変換は、変換ユニットのサイズおよびビデオのタイプ(たとえば、クロマ、ルーマ)に基づいて、他の特性の中から選択され得る。ビデオエンコーダ20またはデコーダ30によって実施され得るクロスレイヤ位置合わせの方法は、たとえば、図10から図12に関することを含み、以下により詳細に記載される。
[0082] 変換係数を生成するための任意の変換の後で、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、その最も広範な通常の意味を有することを意図する、広範な用語である。一実施形態では、量子化は、変換係数が量子化されて、場合によっては、係数を表現するために使用されるデータの量を低減し、さらに圧縮をもたらす処理に言及する。量子化処理は、係数の一部または全部と関連した、いくつかのビット深度を低減し得る。たとえば、nビットの値は、量子化中にmビットの値に端数を丸められてよく、ここで、nはmよりも大きい。
[0083] 量子化の後で、ビデオエンコーダは、変換係数を走査し得、量子化変換係数を含む2次元の行列から1次元のベクトルを生成する。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように意図され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化されたベクトルを生成するために、量子化変換係数を走査するための規定の走査を利用し得る。他の例では、ビデオエンコーダ20は、適応走査を実行し得る。量子化変換係数を走査して1次元のベクトルを形成した後、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型2値算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型2値算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディングまたは別のエントロピー符号化の方法に従って、1次元のベクトルをエントロピー符号化し得る。ビデオエンコーダ20は、また、ビデオデコーダ30によるビデオデータの復号での使用のために、符号化ビデオデータと関連したシンタックス要素をエントロピー符号化する。
[0084] CABACを実行するために、ビデオエンコーダ20は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接する値がゼロ以外であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに対する可変長符号を選択し得る。VLCの中の符号語は、比較的に短い符号が、より起こりそうなシンボルに対応し、より長い符号が、より起こりそうでないシンボルに対応するように、再構築され得る。このようにして、VLCの使用により、たとえば、送信されるべき各シンボルに対して等長の符号語を使用することを越える、ビットの節約が達成され得る。起こりそうなことの決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0085] ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダの中で、ビデオデコーダ30へ送り得る。GOPシンタックスデータは、それぞれのGOPの中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化/予測モードを示し得る。
ビデオエンコーダ
[0086] 図5は、本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。ビデオエンコーダ20は、図10および図11に関して以下により詳細に記載されるクロスレイヤ位置合わせの方法を含むがそれに限定されず、本開示の技法のうちの任意のものまたはすべてを実行するように構成され得る。一例として、変換処理ユニット52および逆変換ユニット60は、本開示に記載される技法のうちの任意のものまたはすべてを実行するように構成され得る。別の実施形態では、エンコーダ20は、本開示に記載される技法のうちの任意のものまたはすべてを実行するように構成される、任意選択のレイヤ間予測ユニット66を含む。他の実施形態では、レイヤ間予測は、モード選択ユニット40によって実行され得、その場合、レイヤ間予測ユニット66は、省略され得る。しかしながら、本開示の態様はそのようには限定されない。いくつかの例では、本開示に記載される技法は、ビデオエンコーダ20の様々な構成要素の間で共有され得る。いくつかの例では、それに加えて、またはそれの代わりに、プロセッサ(図示せず)は、本開示に記載される技法のうちの任意のものまたはすべてを実行するように構成され得る。
[0087] ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラ、インター、およびレイヤ間予測(イントラ、インター、またはレイヤ間コーディングと呼ばれることもある)を実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの、時間的な冗長性を低減または除去するために、時間的予測に依拠する。レイヤ間コーディングは、同じビデオコーディングシーケンス内の異なるレイヤ内のビデオに基づく予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのうちの任意のものを参照し得る。一方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのうちの任意のものを参照し得る。
[0088] 図5に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図5の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、レイヤ間予測ユニット66と、分割ユニット48とを含む。
[0089] ビデオブロックの再構築のために、ビデオエンコーダ20は、また、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。デブロッキングフィルタ(図5に示さず)も、ブロック境界をフィルタして、再構築されたビデオからブロッキネスアーチファクトを除去するために、含まれ得る。所望であれば、デブロッキングフィルタは、通常、加算器62の出力をフィルタするはずである。さらなるフィルタ(インループまたはポストループ)も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡約のために図示されないが、所望であれば、加算器50の出力を(インループフィルタとして)フィルタし得る。
[0090] 符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測をもたらすために、1つまたは複数の参照フレームの中の1つまたは複数のブロックに対して受信されたビデオブロックのインター予測のコーディングを実行する。イントラ予測ユニット46は、あるいは、空間的予測をもたらすために、コーディングされるべきブロックと同じフレームまたはスライスの中の、1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測のコーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに対する適切なコーディングモードを選択するために、多数のコーディングパスを実行し得る。
[0091] その上、分割ユニット48は、前のコーディングパスでの前の区分化方式の評価に基づいて、ビデオデータのブロックを、サブブロックに区分し得る。たとえば、分割ユニット48は、最初は、レート歪み分析(たとえば、レート歪み最適化など)に基づいて、フレームまたはスライスをLCUに区分し、LCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらにLCUのサブCUへの区分を示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
[0092] モード選択ユニット40は、たとえば、エラー結果に基づいて、コーディングモードのうちの1つ、イントラ、インター、またはレイヤ間予測モードを選択し、得られたイントラ、インター、またはレイヤ間コード化ブロックを、残差ブロックデータを生成するために加算器50に提供し、参照フレームとして使用するためのコーディングされたブロックを再構築するために加算器62に提供し得る。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0093] 動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、動き推定ユニット42によって実行され、動きベクトルを生成する処理であり、ビデオブロックに対する動きを推定する。動きベクトルは、たとえば、現在のフレーム内でコーディングされている現在のブロック(または、他のコーディングユニット)に対する、参照フレーム内の予測ブロック(または、他のコーディングユニット)に対する、現在のビデオフレーム内またはピクチャ内のビデオブロックのPUの移動を示し得る。予測ブロックは、ピクセル差分の観点で、コーディングされるべきブロックと密に適合すると見出されたブロックであり、ピクセル差分は、絶対値差分の合計(SAD)、二乗差分の合計(SSD)、または他の差分の測定規準によって決定され得る。いくつかの例では、ビデオエンコーダ20は、参照フレームメモリ64に記憶されている参照ピクチャの、サブ整数ピクセル位置に対する値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの、4分の1ピクセル位置、8分の1ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、完全なピクセル位置および分数のピクセル位置に対して動き探索を実行し、動きベクトルを分数のピクセル精度で出力し得る。
[0094] 動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスの中のビデオブロックのPUに対する動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの各々は、参照フレームメモリ64に記憶されている1つまたは複数の参照ピクチャを特定する。動き推定ユニット42は、計算された動きベクトルを、エントロピー符号化ユニット56と、動き補償ユニット44とへ送る。
[0095] 動き補償は、動き補償ユニット44によって実行され、動き推定ユニット42により決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴う。動き推定ユニット42および動き補償ユニット44は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのPUに対する動きベクトルを受信すると、動き補償ユニット44は、予測ブロックを、動きベクトルが参照ピクチャリストのうちの1つで指す所へ位置決めし得る。加算器50は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、以下で説明するようにピクセル差分の値を形成する。いくつかの実施形態では、動き推定ユニット42は、ルーマ構成要素に対して動き推定を実行することができ、動き補償ユニット44は、クロマ構成要素とルーマ構成要素の両方のために、ルーマ構成要素に基づいて計算された動きベクトルを使用することができる。モード選択ユニット40は、ビデオデコーダ30によるビデオスライスのビデオブロックの復号での使用のために、ビデオブロックおよびビデオスライスと関連したシンタックス要素を生成する。
[0096] イントラ予測ユニット46は、上述されるように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測に代わるものとして、現在のブロックをイントラ予測または計算し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、使用するために適切なイントラ予測モードを、テストされたモードから選択し得る。
[0097] たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対して、レート歪み分析を使用してレート歪みの値を計算し、テストされたモードの中から最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、一般に、符号化されたブロックと、符号化ブロックを生成するために符号化される、元の符号化されていないブロックとの間のある量の歪み(すなわち、エラー)、および、符号化ブロックを生成するために使用されるビットレート(すなわち、いくつかのビット)を決定する。イントラ予測ユニット46は、様々な符号化ブロックに対する歪みおよびレートから比を計算し、どのイントラ予測モードがブロックに対して最良のレート歪みの値を示すかを決定し得る。
[0098] ブロックに対するイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロックに対して選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信されるビットストリームの中に構成データを含み得、構成データは、コンテキストの各々のために使用する、複数のイントラ予測モードのインデックステーブルおよび複数の修正されたイントラ予測モードのインデックステーブル(符号語マッピングテーブルとも呼ばれる)、様々なブロックに対する符号化コンテキストの定義、ならびに、最も起こりそうなイントラ予測モードの表示、イントラ予測モードのインデックステーブル、および修正されたイントラ予測モードのインデックステーブルを含み得る。
[0099] ビデオエンコーダ20は、レイヤ間予測ユニット66を含み得る。レイヤ間予測ユニット66は、SVCで利用できる1つまたは複数の相異なるレイヤ(たとえば、ベースレイヤまたは参照レイヤ)を使用して、現在のブロック(たとえば、EL内の現在のブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれる場合がある。レイヤ間予測ユニット66は、レイヤ間の冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間残差予測とを含む。レイヤ間イントラ予測は、エンハンスメントレイヤでの現在のブロックを予測するために、ベースレイヤで同じ場所に配置されたブロックの再構築を使用する。レイヤ間動き予測は、エンハンスメントレイヤでの動きを予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。
[00100] ビデオエンコーダ20は、モード選択ユニット40からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器50は、この減算操作を実行する1つの構成要素または複数の構成要素を表現する。変換処理ユニット52は、離散コサイン変換(DCT)または概念的には類似の変換などの変換を残差ブロックに適用し、残差変換係数の値を備えるビデオブロックを生成する。変換処理ユニット52は、概念的にはDCTに類似の他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプ変換も使用され得る。いかなる場合でも、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。たとえば、離散サイン変換(DST)、ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。一実施形態では、変換処理ユニット52は、残差ブロックの特性に基づいて、変換を選択する。たとえば、変換処理ユニット52は、コーディングされるブロックの、変換ユニットのサイズおよびカラーコンポーネントのタイプ(たとえば、ルーマ、クロマ)に基づいて、変換を選択し得る。
[00101] 変換処理ユニット52は、変換を残差ブロックに適用し得、残差変換係数のブロックを生成する。変換は、ピクセル値領域からの残差情報を、周波数領域などの変換領域に転換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54へ送り得る。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化処理は、係数の一部または全部と関連したビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。あるいは、エントロピー符号化ユニット56が、走査を実行し得る。
[00102] 量子化の後で、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型2値算術コーディング(CABAC)、シンタックスベースコンテキスト適応型2値算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を、実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接ブロックに基づいてよい。エントロピー符号化ユニット56によるエントロピーコーディングの後で、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)へ送信され得、後から伝送または取り出すために、保管され得る。
[00103] 逆量子化ユニット58および逆変換ユニット60は、(たとえば、参照ブロックとして後で使用できるように)ピクセル領域で残差ブロックを再構築するために、それぞれ、逆量子化と、逆変換とを適用する。動き補償ユニット44は、残差ブロックを、参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって、参照ブロックを計算し得る。動き補償ユニット44は、また、動き推定での使用のためにサブ整数ピクセル値を計算するために、1つまたは複数の補間フィルタを再構築された残差ブロックに適用し得る。加算器62は、参照フレームメモリ64での記憶のための再構築されたビデオブロックを生成するために、再構築された残差ブロックを、動き補償ユニット44によって生成される動き補償された予測ブロックに加算する。再構築されたビデオブロックは、動き推定ユニット42および動き補償ユニット44によって、後続のビデオフレームのブロックをインターコード化するための参照ブロックとして使用され得る。
クロス位置合わせプロセッサ
[00104] 図6は、本開示で説明する態様による技法を実装し得るクロスレイヤ位置合わせプロセッサの例を示すブロック図である。クロスレイヤ位置合わせプロセッサ600は、ソースデバイス12または宛先デバイス14のいずれかに含まれ得る。
[00105] クロスレイヤ位置合わせプロセッサ600は、1つの入力として、符号化されたビデオ情報を取得する。レイヤ抽出器602は、符号化されたビデオに含まれるリーチレイヤのためのピクチャ情報を、分離するために含まれ得る。クロスレイヤ位置合わせプロセッサ600がエンコーダに含まれるいくつかの実施態様では、ピクチャ情報は、符号化処理中に形成され得る。そのような実施態様では、ピクチャを抽出するのでなく、単にピクチャ情報をそれらの関連したレイヤ情報とともに受信することが必要であり得る。
[00106] 各レイヤは、1つまたは複数のピクチャを含み得る。ピクチャは、レイヤ内で出力順序に編成され得る。出力順序は、ピクチャが表示されるべきシーケンスを識別する。出力順序は、出力位置を各ピクチャに割り当てることによって規定され得る。ピクチャがそれらの出力位置の順に配列されると(たとえば、出力位置0が第1のピクチャであり、出力位置1が第2のピクチャであるなど)、ピクチャは、ビデオシーケンスを形成する。ピクチャは、また、圧縮され、または他の方法で符号化され得る。そのように、いくつかのピクチャは、対象のピクチャの前または後に出力位置を有するピクチャに含まれる情報を、必要とし得る。したがって、各ピクチャは、復号順序とも関連する。復号順序は、レイヤに含まれるピクチャに関する復号シーケンスを識別する。各ピクチャは、任意の属性のピクチャがピクチャの復号を開始することに先立って復号されるような、いつピクチャが復号され得るかを示す復号位置と関連する。
[00107] ピクチャおよびレイヤ情報は、キーピクチャ識別ユニット604に供給される。キーピクチャ識別ユニット604は、また、キーピクチャ規準入力を受信する。キーピクチャ規準入力は、キーピクチャとして適任であるために満たされなければならないピクチャの性質を示す情報を含む。たとえば、キーピクチャ規準は、キーピクチャを、復号順序においてそのピクチャに先行するとともに出力順序においてそのピクチャに追従する他のピクチャが、同じレイヤに存在しないピクチャとして、規定し得る。キーピクチャ規準は、出力位置および復号位置の観点で表現され得る。そのような表現では、そのピクチャの出力位置の後に出力位置を有する、そのピクチャと同じレイヤの同じピクチャのセット内のピクチャが、また、そのピクチャを追従する復号位置を有する場合、そのピクチャはキーピクチャである。キーピクチャ識別ユニット604は、各ピクチャに対して、キーピクチャを識別するためのキーピクチャ規準を適用し得る。識別は、ヘッダフィールドを介してなど、ピクチャ情報に加えられ得る。いくつかの実施態様では、識別は、メモリ(図示せず)に記憶され得、さらなるクロスレイヤ位置合わせ処理のために使用され得る。
[00108] スイッチ606は、図6に示すクロスレイヤ位置合わせプロセッサ600に含まれる。スイッチ606により、クロスレイヤ位置合わせプロセッサ600は、送信されるべき符号化データのためのオルガナイザと、受信された符号化データのための適合テスタの両方として働くことができるようになる。スイッチ606は、スイッチ制御メッセージによって活動化される。スイッチ制御メッセージは、メモリから受信され得(たとえば、構成の値)、または受信された符号化データに関するソースに基づくなどして、デバイスの動作中に動的に決定され得る。
[00109] ソースデバイス12で実施される場合、クロスレイヤ位置合わせプロセッサ600は、ネットワークを介するところに符号化ビデオデータを運ぶための、1つまたは複数のネットワーク抽象化レイヤメッセージを生成するように構成され得る。いくつかの実施態様では、クロス位置合わせプロセッサ600は、ビデオエンコーダ20または出力インターフェース22に含まれ得る。スイッチ606は、オルガナイザモードを示す制御メッセージを受信し得る。そのように活動化されると、ネットワーク抽象化レイヤパッカ610は、ピクチャを1つまたは複数のネットワーク抽象化レイヤユニットおよび1つまたは複数のアクセスユニットに編成するように、構成される。
[00110] ネットワーク抽象化レイヤパッカ610は、キーピクチャ識別情報、復号の依存関係、時間的な識別子、ピクチャ順序の計数などのピクチャ情報に基づいて、どのようにピクチャがパッケージ化され得るかを識別するパッキング規則を受信し得る。たとえば、パッキング規則は、アクセスユニットの1つのレイヤのピクチャがキーピクチャである場合に、同じアクセスユニットの他のレイヤのすべてのピクチャが、キーピクチャでなければならないことを規定して、提供され得る。実施され得る別のパッキング規則は、イントラコーディングされたランダムアクセスポイント(IRAP)のアクセスユニットが、コーディングされたビデオシーケンスに少なくとも1つのピクチャを有する各レイヤに対して、ピクチャを含まなければならないことと、IRAPアクセスユニット内のすべてピクチャが、IRAPピクチャでなければならないこととを規定する。別のパッキング規則は、時間的な識別子が0に等しいアクセスユニットが、コーディングされたビデオシーケンスに少なくとも1つのピクチャを有する各レイヤに対して、ピクチャを含まなければならないことを規定し得る。パッキング規則は、独立に、または1つまたは複数のさらなるパッキング規則と一緒に、規定され得る。同じパッキング規則は、処理されるすべてのビデオに適用され得るか、または、たとえば、符号化ビデオデータ、エンコーダの構成、デバイスの動作特性(たとえば、利用できる電力、利用できる帯域幅、利用できるメモリ、利用できるプロセッサ容量、熱の状態)などに基づいて動的に選択され得る。NALパッカ610は、出力として、位置合わせされた符号化データを形成する。
[00111] 図6に示すクロスレイヤ位置合わせプロセッサ600は、例であることが理解されよう。クロスレイヤ位置合わせプロセッサ600を、パッキングに専用の符号化デバイスに実装することが、望ましくあり得る。そのような実施態様では、スイッチ606は、除外され得、情報は、キーピクチャ識別ユニット604からNALパッカ610に供給され得る。
[00112] クロスレイヤ位置合わせプロセッサ600は、受信された符号化ビデオデータがクロスレイヤ位置合わせされているかどうかを示すメッセージを生成するように構成され得る。伝送に先立ってビデオデータの位置合わせを確実にするために、符号化デバイスに適合の表示を含めることが、望ましくあり得る。いくつかの実施態様では、クロス位置合わせプロセッサ600の可能性を、ビデオデコーダ30または入力インターフェース28に含めることが望ましくあり得る。
[00113] スイッチ606は、位置合わせ適合検出モードを示す、制御メッセージを受信し得る。そのように活動化されると、適合検出器620は、ビデオデータを受信し、符号化ビデオデータが適合規準に従って位置合わせされているかどうかを決定するように構成される。適合規準は、別の入力として、適合検出器620に供給される。適合規準は、位置合わせと関連した符号化ビデオデータの特性を示す情報を含む。特性は、アクセスユニットのためのキーピクチャをレイヤにわたって含むこと、アクセスユニットに含まれるピクチャに関する時間的なid、および/またはアクセスユニットに含まれるピクチャに関する復号順序を、含み得る。適合規準は、帯域内または帯域外のいずれかで伝送される、ビデオデータの部分として受信され得る。適合規準は、クロスレイヤ位置合わせプロセッサとデータ通信するメモリを介するなどして、静的に構成され得る。適合規準は、たとえば、符号化ビデオデータ、コーダの構成、デバイスの動作特性(たとえば、利用できる電力、利用できる帯域幅、利用できるメモリ、利用できるプロセッサ容量、熱の状態)などに基づいて、動的に取り出され得る。
[00114] 適合検出器620は、1つの出力として、位置合わせインジケータを形成するように構成される。いくつかの実施態様では、位置合わせインジケータは、受信された符号化ビデオデータが位置合わせされているか否かを示すバイナリ値である。いくつかの実施態様では、位置合わせインジケータは、パーセントの位置合わせのような、位置合わせの程度を規定し得る。出力は、符号化データを送信するか否かを決定するために、符号化デバイスで使用され得る。出力は、復号処理をはかどらせるための適合するネットワーク抽象化レイヤフォーマットに依拠し得る、復号パイプラインを確立するために、復号デバイスで使用され得る。
[00115] 適切に実施される場合、クロスレイヤ位置合わせプロセッサ600のために編成する構成からの符号化ビデオデータ出力は、クロスレイヤ位置合わせプロセッサ600への入力として供給されるとき、位置合わせ規準との適合について肯定的な表示を提供するべきである。
[00116] 図6に示すクロス位置合わせプロセッサ600は、図11から図13に関して以下により詳細に記載されるクロスレイヤ位置合わせ方法の諸態様を含むがそれに限定されず、本開示の技法のうちの任意のものまたはすべてを実行するように構成され得る。いくつかの例では、加えて、または代わりに、信号生成器、入力/出力プロセッサ、またはモデム(図示せず)などのプロセッサ(図示せず)または他の電子通信構成要素は、記載される技法のうちの任意のものまたはすべてを実行するように構成され得る。
ビデオデコーダ
[00117] 図7は、本開示で説明する態様による技法を実装し得るビデオデコーダの例を示すブロック図である。ビデオデコーダ30は、図11から図13に関して以下により詳細に記載されるクロスレイヤ位置合わせの方法の諸態様を含むがそれに限定されず、本開示の技法のうちの任意のものまたはすべてを実行するように構成され得る。一例として、逆変換ユニット78は、本開示に記載される技法のうちの、任意のものまたはすべてを実施するように構成され得る。しかしながら、本開示の態様はそのようには限定されない。いくつかの例では、本開示に記載される技法は、ビデオデコーダ30の様々な構成要素の中で、共有され得る。いくつかの例では、それに加えて、またはそれの代わりに、プロセッサ(図示せず)は、本開示に記載される技法のうちの任意のものまたはすべてを実行するように構成され得る。
[00118] 図7の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、レイヤ間予測ユニット75と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、加算器80とを含む。いくつかの実施形態では、動き補償ユニット72および/またはイントラ予測ユニット74は、レイヤ間予測を実行するように構成され得、その場合、レイヤ間予測ユニット75は、省略され得る。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図5)に関して記載される符号化パスに対して概ね相反の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて、予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて、予測データを生成し得る。
[00119] 復号プロセス中に、ビデオデコーダ30は、符号化されたビデオスライスのビデオブロックおよび関連するシンタックス要素を表現する符号化されたビデオビットストリームを、ビデオエンコーダ20から受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと、他のシンタックス要素とを、動き補償ユニット72へ転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでのシンタックス要素を受信し得る。
[00120] ビデオスライスが、イントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、現在のフレームまたはピクチャの以前に復号されたブロックから、信号で伝えられたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックに対する予測データを生成し得る。ビデオフレームがインターコード化(たとえば、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の、参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照フレームメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構築し得る。動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定するとともに、復号されている現在のビデオブロックの予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数の構築情報と、スライスの各々のインター符号化されたビデオブロックの動きベクトルと、スライスの各々のインターコーディングされたビデオブロックのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[00121] 動き補償ユニット72は、また、補間フィルタに基づいて、補間を実行し得る。動き補償ユニット72は、参照ブロックのサブ整数ピクセルに対して補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用されたように、補間フィルタを使用し得る。このケースでは、動き補償ユニット72は、受信したシンタックス要素からビデオエンコーダ20で使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成し得る。
[00122] ビデオデコーダ30は、また、レイヤ間予測ユニット75を含み得る。レイヤ間予測ユニット75は、SVCで利用できる1つまたは複数の異なるレイヤ(たとえば、ベースレイヤまたは参照レイヤ)を使用して、現在のブロック(たとえば、EL内の現在のブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれる場合がある。レイヤ間予測ユニット75は、レイヤ間の冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間残差予測とを含む。レイヤ間イントラ予測は、エンハンスメントレイヤでの現在のブロックを予測するために、ベースレイヤで同じ場所に配置されたブロックの再構築を使用する。レイヤ間動き予測は、エンハンスメントレイヤでの動きを予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。
[00123] 逆量子化ユニット76は、ビットストリームの中で提供されエントロピー復号ユニット70によって復号された量子化変換係数を、逆量子化(inverse quantize)、たとえば、逆量子化(de-quantize)する。逆量子化処理は、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスの中の各ビデオブロックに対してビデオデコーダ30によって計算された量子化パラメータQPYの使用を含み得る。
[00124] 逆変換ユニット78は、ピクセル領域内の残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆DST、逆整数変換、または概念的には類似の逆変換処理を、変換係数に適用する。一実施形態では、逆変換ユニット78は、復号されるビデオ情報の1つまたは複数の特性に基づいて、適用する特定の変換を選択する。たとえば、逆変換ユニット78は、ビデオ情報の変換ユニットのサイズおよびカラーコンポーネントのタイプに基づいて、変換を選択し得る。
[00125] 動きベクトルおよび他のシンタックス要素に基づいて、動き補償ユニット72が現在のビデオブロックに対する予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックに動き補償ユニット72によって生成された対応する予測ブロックを加算することによって、復号ビデオブロックを形成する。加算器90は、この加算操作を実行する1つの構成要素または複数の構成要素を表現する。所望であれば、デブロッキングフィルタも、ブロッキネスアーチファクトを除去するため、復号ブロックをフィルタするために適用され得る。他のループフィルタ(コーディングループの中、またはコーディングループの後のいずれか)も、ピクセルの変化を平滑化し、または他の方法でビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャの復号ビデオブロックは、次いで、参照ピクチャメモリ92に記憶され、これは後続の動き補償のために使用される参照ピクチャを記憶する。参照フレームメモリ82は、また、図4のディスプレイデバイス32などのディスプレイデバイスで後で提示できるように、復号ビデオを記憶する。
クロスレイヤ位置合わせされたコーディング
[00126] 以下の実施形態は、たとえば、SHVC WD1およびMV−HEVC WD3ビデオ符号化および復号技法とともに、適用され得る。多くの実施形態では、後述のアクセスユニットは、たとえば、アクセスユニット(AU)が、同じ出力時間と関連したすべてのコーディングされたピクチャおよびそれらの関連した非VCL(ビデオコーディングレイヤ)のネットワーク抽象化レイヤ(NAL)ユニットからなるような、SVCおよびMVCで使用されるネットワーク抽象化レイヤユニットと類似である。
[00127] ピクチャのグループ(GOP)構造は、時間的な予測構造、たとえば階層的なBコーディングなどを参照するために使用され得る。各GOPは、1つのキーピクチャと、いくつかの関連した非キーピクチャとを含む。非キーピクチャは、IRAPピクチャおよびその関連した先導のピクチャと類似して、復号順序においてキーピクチャに追従するが、出力順序においてキーピクチャに先行する。一実施形態では、IRAPおよびその関連した先導のピクチャは、キーピクチャと、関連した非キーピクチャとを含む、GOPの一例である。
[00128] 各AUが各レイヤに関するピクチャを含む場合、そのようなAUは、暗黙のうちに、キーピクチャおよび非キーピクチャのクロスレイヤ位置合わせを必要とするが、そうでない場合は必要としない。たとえば、そのようなAUは、異なるレイヤが異なるピクチャレートを有するとき、キーピクチャのクロスレイヤ位置合わせを保証しない。
[00129] 図8は、位置合わせされていない、コーディングされたアクセスユニットの例を示す。図8に含まれるキーピクチャは、位置合わせされていない。図8のアクセスユニットは、ベースレイヤ802またはエンハンスメントレイヤ804のうちの1つに含まれる。1つのエンハンスメントレイヤだけが図8に示されるが、記載されるクロスレイヤ位置合わせの方法がさらなるエンハンスメントレイヤとともにビデオ符号化されるために適用され得ることが理解されよう。
[00130] ベースレイヤ802は、5個のピクチャを含む。エンハンスメントレイヤ804は、10個のピクチャを含む。ピクチャは、図8では、左で開始し右へと増大する時間的な順序で示される。時間的な順序は、ビデオシーケンスを形成するためにピクチャが与えられるような、ピクチャの表示または出力順序に相当する。
[00131] ピクチャは、複数のアクセスユニット820でコーディングされ得る。アクセスユニットは、1つまたは複数のレイヤからの1つまたは複数のピクチャをそれぞれ含む。たとえば、第1のアクセスユニット822は、エンハンスメントレイヤ804からの、時間的な順序の番号が1のピクチャを含む。第2のアクセスユニット824は、ベースレイヤ802とエンハンスメントレイヤ804の両方からのピクチャを含む。アクセスユニット820に関する復号順序が出力順序と同じでないことに留意されたい。図8に示すように、第2のアクセスユニット824は、時間的な(たとえば、出力の)識別子がt+0のピクチャを含み、第1のアクセスユニット822は、時間的な識別子がt+1のピクチャを含む。
[00132] 所与の出力時間の時点で各レイヤに含まれるピクチャが、復号のために異なる依存関係を有する場合があるので、出力順序に対する復号順序のこの違いが、部分的に生じる。依存関係が、図8に矢印を使用して示される。第1のピクチャから第2のピクチャへ指し示す矢印は、第2のピクチャが復号のために第1のピクチャからの情報を使用することを示した。たとえば、t+0におけるエンハンスメントレイヤ804でのピクチャは、t+1におけるエンハンスメントレイヤ804でのピクチャからの情報を参照する。したがって、t+0におけるピクチャは、t+1におけるピクチャが受信され処理されるまで、復号され得ない。
[00133] 図8に示すように、t+1におけるエンハンスメントレイヤ804のピクチャは、独立に復号可能である。同様に、t+0におけるベースレイヤ802のピクチャは、独立に復号可能である。しかしながら、これらのピクチャは、同じアクセスユニットに含まれ得ない。キーピクチャが位置合わせされない結果として、アクセスユニットの処理は、キーピクチャを編成することを含む。ピクチャのそのような並べ替えは、大幅な利点なく、遅延を加え、適合テストするコストを増大させるおそれがある。
[00134] 加えて、特定のレイヤにおいて特定の時間的な識別子の値を有するすべてのピクチャの相対的な復号順序が、それらの出力順序と同じでないビットストリームがあり得る。そのようなビットストリームの一例が、図9を参照して以下に記載される。
[00135] 図9は、位置合わせされていない、コーディングされたアクセスユニットのさらなる例を示す。図8と同様に、図9のキーピクチャは、位置合わせされてなく、したがって、コーディング中に類似の非能率を示す場合がある。図9は、ベースレイヤ902と、エンハンスメントレイヤ904とを含む。ベースレイヤ902は5個のピクチャを含み、エンハンスメントレイヤ904は9個のピクチャを含む。図8のように、図9のピクチャは、左で開始し右へと増大する時間的な順序で示される。時間的な順序は、ビデオシーケンスを形成するためにピクチャが与えられるような、ピクチャの表示または出力順序に相当する。ピクチャは、図8を参照して説明したピクチャと類似の複数のアクセスユニット920でコーディングされ得る。しかしながら、図8のように、レイヤに対するキーピクチャは位置合わせされず、これはリソースの非能率につながるおそれがある。図9に示すように、特定のレイヤおよび時間的な識別子におけるピクチャが、出力順序と異なる復号順序を有するというフレキシビリティは、必ずしも利点をもたらすとは限らず、遅延、リソースの消費などを加える。
[00136] 図10は、位置合わせされ、コーディングされたアクセスユニットの例を示す。図10は、ベースレイヤ1002と、エンハンスメントレイヤ1004とを含む。ベースレイヤ1002は5個のピクチャを含み、エンハンスメントレイヤ1004は9個のピクチャを含む。図8および図9のように、図10のピクチャは、左で開始し右へと増大する時間的な順序で示される。時間的な順序は、ビデオシーケンスを形成するためにピクチャが与えられるような、ピクチャの表示または出力順序に相当する。ピクチャは、複数のアクセスユニット1020でコーディングされ得る。ただし、図8および図9とは違って、キーピクチャが同じアクセスユニットに含まれるように、アクセスユニット1020はコーディングされる。たとえば、時間t+0における第1のアクセスユニットは、エンハンスメントレイヤからのピクチャt+0と、ベースレイヤからのピクチャt+0とを含む。このことにより、効率が向上する処理のために、コーディングされたビデオ情報が、確実にクロスレイヤ位置合わせされる。図10は、キーピクチャが位置合わせされるビットストリームの例を示すが、TemporalIdの値(この例では、TemporalId=1)が同じピクチャが、復号順序と同じ出力順序を有することは必要とされない。このことは、コーディングでのフレキシビリティとキーピクチャのクロスレイヤ位置合わせとの間のバランスを与える。
[00137] 図10は、望ましい、位置合わせされたコーディングの1つの例示を提供する。記載される有益な特徴を提供するための、1つまたは複数の実施態様に含まれ得るいくつかの態様が、本明細書に記載される。
[00138] 様々な実施形態では、1つまたは複数のビデオ符号化および復号の方法またはデバイスは、キーピクチャと非キーピクチャとを識別するように構成され得る。簡潔に述べるように、キーピクチャは、あるレイヤに含まれる、ピクチャに先立つ出力順序を有するいかなるピクチャも参照することなく復号可能であるピクチャであり得る。そのように、キーピクチャは、キーピクチャの後に出力されるべきピクチャを復号するために使用され得、前ではない。
[00139] キーピクチャを識別すると、方法またはデバイスは、アクセスユニットが多数のレイヤからのピクチャを含み、ある時間の表示時点における1つのレイヤに関するキーピクチャが含まれる場合、その時間の表示時点における他のレイヤからの他のピクチャもキーピクチャであるように、ビデオ情報を処理するように構成され得る。言い換えれば、アクセスユニットの1つのレイヤのピクチャがキーピクチャである場合、同じアクセスユニットの他のレイヤのすべてのピクチャは、同じ時間的な識別子(たとえば、プレゼンテーションタイム)に対するキーピクチャでなければならない。この方法に従ってビデオ情報を処理することによって、キーピクチャがレイヤにわたって確実に位置合わせされる。
[00140] キーピクチャは、出力順序において後のいかなる他のピクチャも、インター予測の参照のために使用せず、1つのレイヤの任意の2つのキーピクチャの相対的な出力順序は、相対的な復号順序と同じである。キーピクチャのクロスレイヤ位置合わせは、非キーピクチャのクロスレイヤ位置合わせを含意する。
[00141] 上述によれば、キーピクチャを含むアクセスユニットは、キーアクセスユニットと呼ばれ得、キーピクチャを含まないアクセスユニットは、非キーアクセスユニットと呼ばれ得る。IRAPピクチャは、定義により、すべてキーピクチャである。
[00142] キーピクチャを識別することにおいて、キーピクチャとして識別されないピクチャは、非キーピクチャと呼ばれ得る。非キーピクチャは、同じレイヤの別のピクチャに復号順序において追従し、別のそのピクチャに出力順序において先行するピクチャである。
[00143] 表1は、ビデオデータのレイヤのピクチャの簡易化されたグループに関する情報を示す。表1は、一実施態様では、ピクチャがどのようにして「キーピクチャ」であると決定されるかを強調表示する。
[00144] 表示順序が0のピクチャは、復号のためにピクチャに先立つ出力順序を有するいかなるピクチャも使用することなく復号可能である。ピクチャにとっての表示順序は、いくつかの実施態様では、ピクチャと関連した時間的な識別子によって示され得る。依存関係がないおかげで、表示順序が0のピクチャの独立性は、キーであることとして確認される。したがって、この例示的な実施態様では、表示順序が0のピクチャはキーピクチャである。
[00145] しかしながら、表1に示すように、ピクチャは、依存関係を有し得、キーピクチャとして依然として識別され得る。表示順序が4のピクチャを引用する。このピクチャは、ピクチャ1に依存する。しかしながら、ピクチャ1は、前もって復号され、ピクチャ4に先立つ出力順序を有しないので、ピクチャ4はキーピクチャとして識別され得る。
[00146] たとえば、ピクチャ0とピクチャ4とを、表示順序が1のピクチャと対比する。ピクチャ1は、ピクチャ2に依存し、復号順序が3である。ピクチャ1が後の出力位置を有するピクチャを復号のために必要とするので、ピクチャ1はキーピクチャとして識別されない。言い換えれば、ピクチャ1は、この例では非キーピクチャとして識別される。
[00147] 表1は、単一のレイヤに対するピクチャの1つのグループを示す。キーピクチャの識別は、ビデオストリームに含まれる各レイヤに対して実行され得る。いったんキーピクチャが識別されると、さらなるピクチャがアクセスユニットに含まれるべき場合に、第1のレイヤに関するキーピクチャを含む各アクセスユニットだけが、他のレイヤからの他のキーピクチャを含むように、アクセスユニットは構築され得る。
[00148] 別の例示として、図8のベースレイヤ802に含まれるピクチャは、すべてキーピクチャである。ただし、いくつかの実施態様では、すべてのベースレイヤのピクチャが必ずしもキーピクチャであるとは限らないことに注意されたい。たとえば、エンハンスメントレイヤ804について示される関係のような予測関係は、ベースレイヤにも適用され得る。
[00149] 表2は、ビデオ情報の2つのレイヤと関連したピクチャのそれぞれのグループに対するキーピクチャの、仮定の識別を示す。
[00150] 表2に示すように、時間的な識別子が0のベースレイヤのピクチャは、時間的な識別子が0のエンハンスメントレイヤのピクチャとともに、アクセスユニット1に含まれる。このことは、キーピクチャの位置合わせを表現する。さらに、位置合わせは、また、同じ出力識別子を有するキーピクチャの位置合わせを表現する。ただし、このことは、すべての実施態様について必ずしも必要とされるとは限らないかもしれない。たとえば、エンハンスメントレイヤは、ベースレイヤに含まれるキーピクチャと位置合わせされないかもしれない多数のキーピクチャを含み得る。そのように、エンハンスメントレイヤのキーピクチャは、アクセスユニットに別々に含まれ得(たとえば、1つのアクセスユニットあたり1つのキーピクチャ)、および/または異なる時間的な識別子を有するベースレイヤからのキーピクチャと組み合わされ得る。
[00151] いくつかの実施態様では、システムまたは方法は、特別な種類のキーピクチャを識別することによって、ピクチャを位置合わせするように構成され得る。いくつかのキーピクチャの位置合わせだけが必要とされるために、IRAPおよび先導のピクチャに適用されたものと類似の制約が、キーピクチャおよび非キーピクチャに強いられる場合がある。これらの特別なキーピクチャは、本明細書で「境界キーピクチャ」と呼ばれる。
[00152] 境界キーピクチャは、一般に、もしあれば、出力順序における次のキーピクチャに復号順序において先行する、先導の非キーピクチャを有するキーピクチャを参照する。キーピクチャが、出力順序または復号順序のいずれかにおいて先行するピクチャを有しない場合、ピクチャは境界キーピクチャである。いったん識別されると、境界キーピクチャは、もしあれば、他のレイヤからの境界キーピクチャを含む第1のレイヤに関する境界キーピクチャを、アクセスユニットが確実に含むようにすることによって、レイヤにわたって位置合わせされ得る。キーピクチャの先導の非キーピクチャは、復号順序においてキーピクチャに続き、出力順序においてキーピクチャに先行する非キーピクチャである。キーピクチャとして識別されず、先導の非キーピクチャとして識別されないピクチャは、トレーニングの非キーピクチャと呼ばれ得る。
[00153] 表1に示す例を使用すると、ピクチャ0およびピクチャ4は、境界キーピクチャである。ピクチャ4と関連して、ピクチャ1からピクチャ3は、先導の非キーピクチャとして識別されるはずである。ピクチャをアクセスユニットにパッケージ化する際、さらなるピクチャがアクセスユニットに含まれるべき場合、1つの境界キーピクチャを含む単一のアクセスユニットだけが、他の境界キーピクチャを含み得る。
[00154] 境界キーピクチャのこの説明によって、いくつかのキーピクチャが境界キーピクチャでないと識別され得ることが明らかになるべきである。そのように、「キーピクチャ」として識別されるピクチャだけが「境界キーピクチャ」であるような、デバイスまたは方法によって、さらなる制約が強いられる場合がある。このことは、ピクチャが、「キー」として識別され得、したがって、コーディングのシステム、デバイス、または方法にさらなる予測可能性をもたらすような制約を増大させる。
[00155] 下の表3は、ビデオ情報のレイヤと関連したピクチャのそれぞれのグループにおける、ピクチャの識別のさらなる例を示す。
[00156] いくつかの実施態様では、キーピクチャは、ピクチャ順序の計数の観点で定義され得る。ビデオストリームに対するピクチャ順序の計数は、ストリームに含まれる各ピクチャに対する特定の計数の値を識別する。ピクチャが、ピクチャ順序の計数に基づいて昇順で配列される場合、ピクチャは表示順序である。キーピクチャの中は、ピクチャのグループ内で識別され得、ピクチャ順序の計数/現在のピクチャの識別子が、最大のピクチャ順序の計数/ピクチャの現在のグループに対して復号された識別子よりも大きい場合、現在のピクチャはキーピクチャである。
[00157] いくつかの方法またはデバイスは、同じ時間的な識別子を有するすべてのピクチャの復号順序が、それらの出力順序と同じであるように、ビデオ情報をコーディングするように構成され得る。この特徴は、それ自体によって独立に、または記載される位置合わせの他の特徴と一緒に適用され得る。
[00158] いくつかの方法またはデバイスは、IRAPアクセスユニットが、コーディングされたビデオシーケンスに少なくとも1つのピクチャを有する各レイヤに対してピクチャを含み、IRAPアクセスユニットのすべてピクチャがIRAPピクチャでなければならないように、ビデオ情報をコーディングするように構成され得る。この特徴は、それ自体によって独立に、または記載される位置合わせの他の特徴と一緒に適用され得る。
[00159] いくつかの方法またはデバイスは、ビデオストリームにおける最初のアクセスユニット(たとえば、時間的な識別子が0のアクセスユニット)が、コーディングされたビデオシーケンスに少なくとも1つのピクチャを有する各レイヤに対してピクチャを含むように、ビデオ情報をコーディングするように構成され得る。この特徴は、それ自体によって独立に、または記載される位置合わせの他の特徴と一緒に適用され得る。
[00160] いくつかの方法またはデバイスは、コーディングされたビデオシーケンスに少なくとも1つのピクチャを有するより低い各レイヤに対して、アクセスユニットにピクチャが存在しない限り、ネットワークアクセスレイヤ(NAL)ユニットのヘッダ識別子(「nuh_layer_id」)が0よりも大きいピクチャがIRAPピクチャであってはならないような、ビデオ情報をコーディングするように構成され得る。この特徴は、それ自体、または記載される調和した位置合わせの特徴によって、独立に適用され得る。
[00161] 図11は、ビデオコーディングの方法のための処理フロー図を示す。方法1100は、図3の符号化デバイスまたは図6のクロスレイヤ位置合わせプロセッサ600などの、上述のデバイスのうちの1つまたは複数によって、全体的または部分的に実行され得る。方法は、ノード1102において開始する。方法1100は、ノード1104において、キーピクチャを識別するための規準を受信することを含む。いくつかの実施態様では、キーピクチャは、そのピクチャの復号位置に先行する復号位置を有するとともにそのピクチャの出力位置に追従する出力位置を有する他のピクチャが、同じレイヤに存在しないピクチャとして識別され得る。他の実施態様では、現在のキーピクチャのすべての先導の非キーピクチャが、出力順序における次のキーピクチャに、復号順序において先行する場合、キーピクチャは、境界キーピクチャとして識別され得る。規準は、関連したビデオストリームと共同して(たとえば、帯域内または帯域外で)受信され得る。規準は、受信され得、構成などの将来の利用のために、メモリに記憶され得る。ノード1106において、ビデオに対するピクチャの2つ以上のレイヤが受信される。ノード1108において、キーピクチャが、受信された規準に基づいて識別される。ノード1110において、ピクチャが、アクセスユニットにコーディングされ、それによって、各アクセスユニット内でキーピクチャがクロスレイヤ位置合わせされる。キーピクチャの位置合わせは、別のレイヤからのキーピクチャとともに、第1のレイヤに関するキーピクチャをコーディングすることを含む。位置合わせは、また、キーピクチャと非キーピクチャの両方を含む単一のアクセスユニットがないことを含意する。方法1100は、ノード1190において終了するが、さらなるピクチャをコーディングするために反復され得る。
[00162] 図12は、クロスレイヤ位置合わせを含むビデオコーディングの別の方法のための処理フロー図を示す。方法1200は、図3の符号化デバイスまたは図6のクロスレイヤ位置合わせプロセッサ600などの、上述のデバイスのうちの1つまたは複数によって、全体的または部分的に実行され得る。
[00163] 方法1200は、ノード1202において開始する。方法1200は、ノード1204において、メモリまたは受信機からなど、ベースレイヤのピクチャの第1のセットと、エンハンスメントレイヤのピクチャの第2のセットとを含む、ビデオ情報を取得する。第1および第2のセットは、いくつかの実施態様では、ピクチャのグループと呼ばれ得る。ピクチャの第1のセットおよびピクチャの第2のセットは、ビデオ情報の相異なる表現を提供する。たとえば、各レイヤのフレームレートは、異なり得る。ピクチャの第1のセットおよびピクチャの第2のセットは、それぞれのセットに含まれるピクチャに関する出力順序を、それぞれ有する。出力順序は、セットのピクチャに関する表示シーケンスを識別する。セットの各ピクチャは、関連した出力順序内に出力位置を有する。各レイヤは、また、それぞれのセットに含まれるピクチャに関する復号順序を有する。復号順序は、それぞれのセットに含まれるピクチャに関する復号シーケンスを識別する。各ピクチャは、さらに、関連した復号順序内に復号位置を有する。
[00164] ノード1206において、ピクチャの第1のセットに含まれる第1のピクチャが、識別される。識別された第1のピクチャは、第1のピクチャに先立って復号順序を有するピクチャの第1のセットからの、第1のピクチャに出力順序において追従する他のピクチャを有しない。いくつかの実施態様では、第1のピクチャの出力位置の後に出力位置を有する、ピクチャの第1のセット内のピクチャが、また、第1のピクチャの復号位置の後に復号位置を有するように、第1のピクチャは識別され得る。いくつかの実施態様では、識別されたピクチャは、キーピクチャと呼ばれ得る。
[00165] ノード1208において、ピクチャの第2のセットに含まれる第2のピクチャが、識別される。第2のピクチャは、第2のピクチャに先立って復号順序を有するピクチャの第2のセットからの、第2のピクチャに出力順序において追従する他のピクチャを有しない。いくつかの実施態様では、第2のピクチャの出力位置の後に出力位置を有する、ピクチャの第2のセット内のピクチャが、また、第2のピクチャの復号位置の後に復号位置を有するように、第2のピクチャは、識別され得る。いくつかの実施態様では、識別された第2のピクチャは、キーピクチャと呼ばれ得る。
[00166] ノード1210において、識別された第1のピクチャおよび識別された第2のピクチャは、1つのアクセスユニットにコーディングされる。方法1200は、ノード1290において終了する。方法1200は、ビデオの別の部分(たとえば、タイムセグメント)の異なる表現と関連したピクチャの、後続の第1および第2のセットのために、反復され得る。
[00167] 上の方法(たとえば、方法1100および方法1200)は、コーディングされたアクセスユニット内のクロスレイヤ位置合わせを示すが、類似のクロスレイヤ位置合わせの特徴が、デコーダで実施され得る。復号する側にこれらの特徴を含むことによって、ビットストリームは、クロスレイヤ位置合わせされていると決定され得る。いったんビットストリームがクロスレイヤ位置合わせされていると識別されると、ビットストリームの後続の復号は、上で参照された効率をうまく利用するように調整され得る。
[00168] 図13は、クロスレイヤ位置合わせされたビデオデータを識別する方法のための処理フロー図を示す。方法1300は、図4の復号デバイスまたは図6のクロスレイヤ位置合わせプロセッサ600などの、上述のデバイスのうちの1つまたは複数によって、全体的または部分的に実行され得る。
[00169] ノード1304において、コーディングされたマルチレイヤのビデオ情報の第1の部分が受信され、第1の部分は複数のアクセスユニットを含み、各アクセスユニットは、ビデオのレイヤと関連した1つまたは複数のピクチャを含む。いくつかの実施態様では、第1の部分は、マルチレイヤのビデオ情報のレイヤに対するピクチャの第1のグループに相当する。ノード1306において、決定は、多数のアクセスユニットが、すべてがキーピクチャであるピクチャを含むかどうかに関してなされる。決定は、アクセスユニットの各ピクチャが、そのピクチャの復号位置に先行する復号位置を有するとともにそのピクチャの出力位置の後である出力位置を有する他のピクチャが、同じレイヤに存在しないピクチャであるかどうかを判定することを含み得る。ノード1306における決定が肯定的である場合、ノード1310において、アクセスユニットは、クロスレイヤ位置合わせされているとして識別され得る。ノード1306における決定は、第1の部分に含まれる各アクセスユニットのために反復され得る。第1の部分のための方法1300は、ノード1390において終了する。方法1300は、コーディングされたマルチレイヤのビデオ情報の他の部分のために反復され得る。
[00170] ノード1306におけるアクセスユニットに関する決定が否定的である場合、ノード1308において、アクセスユニットに含まれるすべてのピクチャが非キーピクチャであるかどうかが決定される。そうである場合、方法1300は、上述のノード1310に続く。そうでない場合、方法1300は、アクセスユニットがクロスレイヤ位置合わせされていないと識別されるノード1310に続く。方法1300は、アクセスユニットについての上述のノード1390における決定において、終結し得る。いくつかの実施態様では、方法は、ピクチャの最初のセット(たとえば、ピクチャの第1のグループ)に対して実行され得る。そのような実施態様では、決定は、いくつかのアクセスユニットはクロスレイヤ位置合わせされていると識別され、他のアクセスユニットはクロスレイヤ位置合わせされていないと識別されるように、混ぜられ得る。いくつかの実施態様では、非位置合わせの単一の識別に基づいて、ビデオストリームに対する最終の決定を提供することが、望ましくあり得る。そのように、方法1300は、1つのアクセスユニットのクロスレイヤ位置合わせされていないという識別において、終結し得る(ノード1312を参照)。
[00171] いくつかの実施態様では、クロスレイヤ位置合わせの決定は、ビデオ情報の後続の部分を用いて反復され得る。たとえば、クロスレイヤ位置合わせは、マルチレイヤのビデオ情報の後の部分が、クロス位置合わせされたフォーマットで伝送されるような、伝送状態に基づいて変化してもよい。システムなどでは、識別処理は選択的に実行され得る。たとえば、識別は、最初の識別の後の継続時間のような、構成可能な時間の期間の後、反復され得る。時間は、たとえば、時間的に、受信されたビデオ情報の数量(たとえば、受信されたアクセスユニットの数)によって、または処理されたビデオ情報の数量によって、印がつけられ得る。いくつかの実施態様では、選択的な識別は、復号デバイスの処理負荷、熱の状態、帯域幅の容量、メモリの容量、または結合されたハードウェアなどの、復号デバイスの動作上の特性に基づいて実行され得る。
[00172] 上の開示は、特定の実施形態を記載したが、多くの変形が可能である。たとえば、先に述べたように、先の技法は、3次元ビデオ符号化に適用され得る。3次元ビデオのいくつかの実施形態では、参照レイヤ(たとえば、ベースレイヤ)は、ビデオの第1のビューを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤと比べてさらなるビデオ情報を含み、その結果、参照レイヤおよびエンハンスメントレイヤは一緒に、ビデオの第2のビューを表示するのに十分なビデオ情報を一緒に含む。これら2つのビューは、立体画像を生成するために使用され得る。上述のように、これらのレイヤに含まれるピクチャ情報は、本開示の態様により位置合わせされ得る。このことは、3次元ビデオビットストリームのためのより高いコーディング効率をもたらし得る。
[00173] 例に応じて、本明細書に記載される技法のうちの任意のもののいくつかの振る舞いまたは事象は、異なるシーケンスで実行され得、全体的に追加、結合、または除外され得ることが、認識されるべきである(たとえば、記載される振る舞いまたは事象のすべてが、この技法の実施のために必要であるとは限らない)。その上、いくつかの例では、振る舞いまたは事象は、たとえば、マルチスレッドの処理、割込み処理、または多数のプロセッサを用いて、連続的ではなく同時に実行され得る。
[00174] 1つまたは複数の例では、述べられた機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで、実施されてもよい。ソフトウェアで実施される場合、諸機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体を介して記憶または伝送され得、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの、有形の媒体に相当するコンピュータ可読記憶媒体、またはコンピュータプログラムの、ある場所から別の場所への、たとえば、通信プロトコルによる転送を促進する任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体または(2)信号またはキャリア波などの通信媒体に相当し得る。データ記憶媒体は、本開示に記載される技法の実施のために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによって、命令、コードおよび/またはデータ構造を取り出すためにアクセスされ得る、任意の利用できる媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
[00175] 例として、それに限定されず、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用可能であり、コンピュータによってアクセス可能な他の任意の媒体を備えることができる。同様に、いかなる接続も、コンピュータ可読媒体と当然のことながら呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、キャリア波、信号、または他の一時的な媒体を含まないが、代わりに、非一時的な、有形の記憶媒体を対象とすることを理解されたい。本明細書において、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含み、この場合、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上述したものの組合せも、コンピュータ可読媒体の範囲の中に含められるべきである。
[00176] 命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の統合された、もしくは個別の論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書において、前述の構造のうちの任意のものまたは本明細書に記載される技法の実施のために適当な任意の他の構造を参照し得る。加えて、いくつかの態様では、本明細書に記載される機能性は、符号化および復号のために構成され、または組み合わされたコーデックに組み込まれる、専用のハードウェア内および/またはソフトウェアモジュール内で提供され得る。また、この技法は、1つまたは複数の回路または論理要素で、完全に実施され得る。
[00177] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)または1組のIC(たとえば、チップセット)を含む、多種多様なデバイスまたは装置に実装され得る。様々な構成要素、モジュール、またはユニットは、開示された技法を実行するように構成されるデバイスの機能上の態様を強調するために、本開示に記載されるが、必ずしも異なるハードウェアユニットによる実現を求めるとは限らない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わされ、または、上述される1つまたは複数のプロセッサを含む、適当なソフトウェアおよび/またはファームウェアと一緒に相互作用するハードウェアユニットが集まったものによって提供され得る。
[00178] 様々な例が、述べられた。これらおよび他の例は、以下の特許請求の範囲の範囲内である。