[0027]本開示に記載される技法は、一般に、スケーラブルビデオコーディング(SVC)および/またはマルチビュー/3次元ビデオコーディングに関する。たとえば、技法は、高効率ビデオコーディング(HEVC)のスケーラブルビデオコーディング(SVC)の拡張に関してよく、それを伴って、またはそれの中で使用されてもよい。SVCでは、ビデオ情報の多数のレイヤが存在し得る。ビデオ情報の最下部のレベルすなわち最も低いレベルのレイヤは、ベースレイヤ(BL)または参照レイヤ(RL)として働き得、ビデオ情報の最上部のレベルすなわち最も高いレベルのレイヤは、エンハンストレイヤ(EL)として働き得る。「エンハンストレイヤ」は、「エンハンスメントレイヤ」と同義であると考えられ得るし、これらの用語は互換的に使用される場合がある。BLとELとの間のレイヤは、ELおよび/またはRLとして働き得る。たとえば、所与のレイヤは、ベースレイヤまたは間に入る任意のエンハンスメントレイヤなどの、所与のレイヤよりも下の(たとえば、先行する)レイヤのためのELであり得る。さらに、所与のレイヤは、また、所与のレイヤよりも上の(たとえば、後続の)エンハンスメントレイヤのための参照レイヤとして働き得る。ベースレイヤ(たとえば、レイヤ識別(ID)が「1」に設定されているか、または「1」と等しい、たとえば、最も低いレイヤ)とトップレイヤ(すなわち、最も高いレイヤ)との間にある任意の所与のレイヤは、所与のレイヤに比べて高いレイヤによるレイヤ間予測のための参照として使用され得、所与のレイヤよりも低いレイヤをレイヤ間予測のための参照として使用して、決定され得る。
[0028]例示のみを目的として、本開示に記載される技法は、2つのレイヤ(たとえば、参照レイヤのような低いレベルのレイヤ、およびエンハンストレイヤのような高いレベルのレイヤ)のみを含む例とともに説明される。本開示に記載される例は、多数の参照レイヤおよびエンハンスメントレイヤを伴う例に、同様に拡張され得ることを理解されたい。加えて、説明を簡単にするため、以下の開示は、主に「ピクチャ」という用語を使用する。しかしながら、これらの用語は、限定的であることを意味しない。たとえば、以下に記載される技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スライス、フレーム、ブロックなどのような、ビデオユニットと関連した他の用語とともに使用され得る。
[0029]SHVCでのレイヤ間予測をサポートするために、アップサンプルされた参照レイヤのピクチャが、エンハンスメントレイヤのピクチャの参照ピクチャリストでの参照ピクチャとして使用される場合、参照レイヤの再構築されたピクチャの解像度が、アップサンプルの後、エンハンスメントレイヤのピクチャの解像度と等しくないときに、問題が起きる。たとえば、一般に、参照レイヤのピクチャをアップサンプルすることは、参照レイヤのピクチャの解像度を増大させる。詳細には、参照レイヤのピクチャをアップサンプルすることは、アップサンプルされた参照レイヤの中のいくつかのピクセルを増大させる。アップサンプルは、アップサンプルスケールファクタS=N/Mによって示され得、ここで、Sは、アップサンプルスケールファクタを示し、Nは、アップサンプルされた参照レイヤのピクチャでのいくつかの出力ピクセルを示し、Mは、参照レイヤのピクチャでのいくつかの入力ピクセルを示す。アップサンプルスケールファクタは、水平方向および垂直方向で同じであってよく、またはアップサンプルスケールファクタは、異なってもよい。しかしながら、アップサンプルされた参照レイヤのピクチャが、エンハンスメントレイヤのピクチャの参照ピクチャリストでの参照ピクチャとして使用される場合、アップサンプルスケールファクタが既知でないかもしれないので、問題が起こる。加えて、アップサンプルされた参照レイヤのピクチャが、エンハンスメントレイヤのピクチャのものと同じ解像度を有しない場合、アップサンプルされた参照レイヤのピクチャは、レイヤ間の参照ピクチャとして直接(たとえば、さらなる修正なく)使用され得ない。
[0030]別の問題が、エンハンスメントレイヤのピクチャの整合に関して、アップサンプルされた参照レイヤの領域を信号で伝えることについて起き得る。たとえば、エンハンスメントレイヤのピクチャが多数のレイヤから予測される場合、1つのレイヤに対応するパラメータの1つのセットを信号で伝えることは、不十分であり得る。加えて、参照レイヤのピクチャの断片(たとえば、一部分)のみが、レイヤ間予測のために使用され得ることが可能である。
[0031]コーディングの複雑さを低減し、SHVCでのレイヤ間予測のための頑強なサポートを提供するために、異なるアスペクト比を有するレイヤからのレイヤ間の参照ピクチャの構築のための技法が使用され得る。たとえば、いくつかの実施形態では、ビデオデータをコーディングする方法は、参照レイヤのピクチャの少なくとも一部分を、アップサンプルされたピクチャサイズを有するアップサンプルされた参照レイヤのピクチャにアップサンプルすることを含む。アップサンプルされたピクチャサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを含む。オフセットなどの、アップサンプルされたピクチャと関連した位置情報は、信号で伝えられ得る。たとえば、アップサンプルされたピクチャと関連した位置情報は、エンハンスメントレイヤのピクチャと関連した位置情報に基づいて決定され得る。詳細には、アップサンプルされたエンハンスメントレイヤの位置は、エンハンスメントレイヤのピクチャの境界に対するオフセットにより規定される。加えて、基づいたエンハンスメントレイヤのピクチャと関連した位置情報は、エンハンスメントレイヤのピクチャの座標を含み得る。たとえば、オフセットは、エンハンスメントレイヤのピクチャのいくつかのピクセルを規定し得る。加えて、レイヤ間の参照ピクチャは、アップサンプルされたピクチャおよび位置情報に基づいて、生成され得る。
ビデオコーディング規格
[0032]本明細書に記載されるいくつかの実施形態は、HEVC(高効率ビデオコーディング)などの改良型のビデオコーデックのコンテキストにおいて、スケーラブルビデオコーディングのためのレイヤ間予測に関する。より詳細には、本開示は、HEVCのスケーラブルビデオコーディング(SVC)拡張におけるレイヤ間予測の実行を改善するためのシステムおよび方法に関する。以下の説明では、いくつかの実施形態に関係するH.264/AVC技法が記載され、HEVC規格および関係する技法も説明される。HEVC規格および/またはH.264規格のコンテキストにおいて、いくつかの実施形態が本明細書に記載されるが、本明細書で開示されるシステムおよび方法が任意の適切なビデオコーディング規格に適用可能であり得ることを、当業者なら諒解されよう。たとえば、本明細書で開示される実施形態は、以下の規格、すなわち、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とも呼ばれる)のうちの、1つまたは複数に適用可能であり得る。
[0033]スケーラブルビデオコーディング(SVC)は、(信号対雑音比(SNR)とも呼ばれる)品質スケーラビリティ、空間スケーラビリティ、および/または時間スケーラビリティを実現するために使用され得る。たとえば、一実施形態では、参照レイヤ(たとえば、基本レイヤ)は、第1の品質レベルでビデオを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤと比べてさらなるビデオ情報を含み、その結果、参照レイヤおよびエンハンスメントレイヤは一緒に、第1の品質レベルよりも高い第2の品質レベル(たとえば、少ない雑音、大きい解像度、より良いフレームレートなど)でビデオを表示するのに十分なビデオ情報を含む。エンハンストレイヤは、参照レイヤと異なる空間解像度を有し得る。たとえば、アップサンプルされたピクチャと参照レイヤのピクチャとの間の空間的なアスペクト比は、1.0、1.5、2.0または他の異なる比であり得る。言い換えれば、アップサンプルされたピクチャの空間的なアスペクトは、参照レイヤのピクチャの空間的なアスペクトの1.0、1.5、または2.0倍に等しくてよい。いくつかの例では、アップサンプルされるピクチャのスケーリングファクタは、参照レイヤのピクチャよりも大きくてよい。たとえば、エンハンスメントレイヤでのピクチャのサイズは、参照レイヤでのピクチャのサイズよりも大きくてよい。このようにして、限定でないけれども、エンハンスメントレイヤの空間解像度は、参照レイヤの空間解像度よりも大きいことが起こり得る。
[0034]H.264用のSVC拡張では、現在のブロックの予測は、SVC用に提供された様々なレイヤを使用して実施され得る。そのような予測は、レイヤ間予測と呼ばれる場合がある。レイヤ間予測方法は、レイヤ間の冗長性を低減するためにSVC内で利用され得る。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間モード予測と、レイヤ間残差予測とを含み得る。レイヤ間イントラ予測は、エンハンスメントレイヤでの現在のブロックを予測するために、参照レイヤで並べられたブロックの再構築を使用する。レイヤ間動き予測は、エンハンスメントレイヤでの動きを予測するために、参照レイヤの動きを使用する。レイヤ間モード予測は、参照レイヤでのモードに基づいて、エンハンスメントレイヤでのモードを予測する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、参照レイヤの残差を使用する。
[0035]新規のシステム、装置、および方法の様々な態様は、これ以降、添付図面を参照して、より十分に説明される。しかしながら、本開示は、多くの異なる形態で実施可能であり、本開示の全体を通して示される任意の特定の構造または機能に限定されるものと解釈されるべきでない。むしろ、本開示が、入念で完全であり、本開示の範囲を当業者に十分に伝達するように、これらの態様が提供される。本明細書での教示に基づいて、当業者は、本発明の任意の他の態様から独立して実施されるか、または、本発明の任意の他の態様と組み合わされて実施されるかにかかわらず、本開示の範囲が、本明細書で開示される新規のシステム、装置、および方法の任意の態様を包含することを意図することを諒解するべきである。たとえば、本明細書で述べられる任意の数の態様を使用して装置が実施されてよく、または方法が実施されてもよい。加えて、本発明の範囲は、本明細書で述べられる本発明の様々な態様に加えて、またはそれ以外の、他の構造、機能性、または構造および機能性を使用して実施されるそのような装置または方法を包含することを意図する。本明細書で開示する任意の態様は、特許請求の範囲の1つまたは複数の要素により実施されてもよいことを理解されたい。
[0036]特定の態様が本明細書で説明されるけれども、これらの態様の多くの変形および並べ替えは、本開示の範囲内に属する。好ましい態様のいくつかの利益および利点が述べられるけれども、本開示の範囲は、特定の利点、使用、または目的に限定されることを意図しない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに、広範囲に適用できることが意図され、これらのうちのいくつかは、各図面および好ましい態様の以下の説明で、例として示される。発明を実施するための形態および各図面は、限定的でなく、本開示の単に例示であり、本開示の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
[0037]図1は、本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話送受話器、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイスなどを含む、様々なデバイスのいずれかを備え得る。加えて、いくつかの実施形態では、システム10は、単一のデバイス内に実装され得る。たとえば、電話ハンドセットを含む、いかなるそのような単一のデバイスも、ソースデバイス12と宛先デバイス14の両方、ならびにコンピュータ可読媒体16を備える場合がある。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0038]宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための、通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を促進するために有用であり得る、任意の他の機器を含み得る。
[0039]いくつかの例では、符号化されるデータは、出力インターフェース22から記憶デバイスへ出力され得る。同様に、符号化されるデータは、記憶デバイスから入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化ビデオデータを記憶するための任意の他の適当なデジタル記憶媒体などの、様々な分散された、または局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。さらなる例では、記憶デバイスは、ソースデバイス12によって生成される符号化されたビデオを記憶する、ファイルサーバまたは別の中間的な記憶デバイスに相当し得る。宛先デバイス14は、記憶されているビデオデータに、記憶デバイスからストリーミングまたはダウンロードを介して、アクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14へ送信することができる、任意のタイプのサーバであり得る。例示的なファイルサーバは、ウェブサーバ(たとえば、ウェブサイトのための)、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、または局所的なディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線の接続(たとえば、DSL、ケーブルモデムなど)、または、ファイルサーバに記憶されている符号化ビデオデータにアクセスするために適当な、それらの両方の組合せを含み得る。符号化ビデオデータの記憶デバイスからの伝送は、ストリーミング伝送、ダウンロード伝送、またはそれらの組合せであり得る。
[0040]本開示の技法は、ワイヤレスのアプリケーションまたはセッティングに、必ずしも限定されるとは限らない。技法は、無線によるテレビジョン放送、ケーブルテレビジョン伝送、衛星テレビジョン伝送、動的適応型HTTPストリーミング(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ伝送、データ記憶媒体へと符号化されるデジタルビデオ、データ記憶媒体のデジタルビデオの復号、または他の適用例などの、様々なマルチメディアの適用例のうちの任意のものを支援して、ビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティングおよび/またはビデオ電話通信などの適用例をサポートするために、一方向または二方向のビデオ伝送をサポートするように構成され得る。
[0041]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの実施形態では、携帯電話などのワイヤレス通信デバイスは、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む、ソースデバイス12を備えることができる。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの実施形態では、携帯電話などのワイヤレス通信デバイスは、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む、宛先デバイス14を備えることができる。たとえば、場合によっては、単一のワイヤレス通信デバイスは、ソースデバイス12と宛先デバイス14の両方を備えることができる。本開示によれば、ソースデバイス12のビデオエンコーダ20は、複数の規格または規格拡張に準拠するビデオデータを含む、ビットストリームをコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含んでもよい。たとえば、ソースデバイス12は、ビデオデータを外部のカメラなどの外部のビデオソース18から受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースしてもよい。
[0042]図1の例示されたシステム10は、単に一例である。現在のブロックに対する動きベクトル予測子の候補リストのための、候補を決定するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるけれども、技法は、また、通常「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。その上、本開示の技法は、また、ビデオプリプロセッサによって実行されてもよい。ソースデバイス12および宛先デバイス14は、ソースデバイス12が、コーディングされたビデオデータを宛先デバイス14への伝送のためにその中で生成する、そのようなコーディングデバイスの単に例である。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化と、復号構成要素とを含むように、実質的に相称的な方式で動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティング、またはビデオ電話通信のための、ビデオデバイス12と14との間での一方向または二方向のビデオ伝送をサポートし得る。
[0043]ソースデバイス12のビデオソース18は、ビデオカメラ、あらかじめ記録されたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオ供給インターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代わりとして、ビデオソース18は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成のビデオの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはテレビ電話を形成し得る。しかしながら、先に述べたように、本開示に記載される技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤードの応用例に適用され得る。各ケースでは、記録、事前記録、またはコンピュータで生成されるビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16へ出力され得る。
[0044]コンピュータ可読媒体16は、ワイヤレスブロードキャストまたは有線ネットワーク伝送などの一時的な媒体、または、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的な記憶媒体)を含み得る。たとえば、ソースデバイス12および宛先デバイス14がワイヤレスハンドセットなどの単一のデバイスとして実装されるいくつかの実施形態では、コンピュータ可読媒体16は任意の記憶媒体を含むことができる。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化ビデオデータを受信し、たとえば、ネットワーク送信、直接ワイヤード通信などを介して、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクプレス加工施設などの媒体生産施設のコンピューティングデバイスは、符号化ビデオデータをソースデバイス12から受信し、符号化ビデオデータを含むディスクを生産し得る。したがって、コンピュータ可読媒体16は、様々な例で、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0045]宛先デバイス14の入力インターフェース28は、情報をコンピュータ可読媒体16から受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20により定義された、ブロックの特性および/または処理ならびに他のコーディングされたユニット、たとえば、GOPを記述するシンタックス要素を含むシンタックス情報を含み得、シンタックス情報は、また、ビデオデコーダ30によって使用される。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちの任意のものを備え得る。
[0046]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などの、ビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。あるいは、ビデオエンコーダ20およびビデオデコーダ30は、あるいはMPEG−4、Part 10と呼ばれるITU−T H.264規格、アドバンストビデオコーディング(AVC)、またはそのような規格の拡張などの、他の独自の規格または業界規格に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されず、それだけには限らないが、先に列挙した規格の任意のものを含む。ビデオコーディング規格の他の例は、MPEG−2と、ITU−T H.263とを含む。いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、オーディオのエンコーダおよびデコーダとともに統合され得、オーディオとビデオの両方の、共通のデータストリームまたは別個のデータストリームでの符号化を扱うための、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能であれば、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0047]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。技法が部分的にソフトウェアで実施される場合、デバイスは、ソフトウェアのための命令を、適当な、非一時的なコンピュータ可読媒体に記憶し、本開示の技法を実行するための1つまたは複数のプロセッサを使用して、ハードウェアで命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれ得、そのいずれかは、組み合わされたエンコーダ/デコーダ(コーデック)の一部として、それぞれのデバイスに統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/または携帯電話などのワイヤレス通信デバイスを備え得る。
[0048]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVCの標準化の取組みは、HEVCテストモード(HM)と呼ばれるビデオコーディングデバイスの進展モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対して、ビデオコーディングデバイスのいくつかの付加された機能を想定する。たとえば、H.264は、9つのイントラ予測符号化モードを提供するが、HMは、33ものイントラ予測符号化モードを提供し得る。
[0049]一般に、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含むツリーブロックまたは最大コーディングユニット(LCU)のシーケンスに分割され得ることを記載している。ビットストリーム内のシンタックスデータは、LCUにとってのサイズを定義し得、LCUは、ピクセルの数の点で最大のコーディングユニットである。スライスは、いくつかの連続したツリーブロックを、コーディングの順序で含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従って、コーディングユニット(CU)に分割され得る。一般に、4分木データ構造は、CUあたり1つのノードを、ツリーブロックに対応するルートノードとともに含む。CUが4つのサブCUに分割される場合、CUに対応するノードは、4つのリーフノードを含み、その各々は、サブCUのうちの1つに対応する。
[0050]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と呼ばれる。
[0051]CUは、CUがサイズの特異性を有しないことを別にすれば、H.264規格のマクロブロックと類似の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、次に、親ノードであり得、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最終の、分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コーディングされたビットストリームと関連したシンタックスデータは、最大CU深度(CU depth)と呼ばれる、ツリーブロックが分割され得る回数の最大数を定義し得、また、コーディングノードの最小サイズを定義し得る。したがって、ビットストリームは、また、最小コーディングユニット(SCU)を定義し得る。本開示は、「ブロック」という用語を、HEVCのコンテキストにおいてCU、PU、またはTUのうちのいずれか、または他の規格のコンテキストにおいて類似のデータ構造(たとえば、H.264/AVCのマクロブロックおよびそのサブブロック)を参照するために使用する。
[0052]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は、形状において正方形または非正方形(たとえば、長方形)であってもよい。
[0053]HEVC規格は、異なるCUに対して異なり得る、TUに従う変換を可能にする。TUは、通常、区分されたLCUのために定義された、所与のCU内のPUのサイズに基づいてサイズ変更されるが、これは常にそうであるとは限らない。TUは、通常、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)と呼ばれる4分木構造を使用して、より小さいユニットにさらに分割され得る。RQTのリーフノードは、変換ユニット(TU)と呼ばれる場合がある。TUと関連したピクセル差分の値は、変換係数を生成するために変換され得、変換係数は量子化され得る。
[0054]リーフ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)を記述し得る。
[0055]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のサイズに対応し得る。
[0056]その上、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは一般にリーフCUに対応し、CU4分木のルートノードは一般にツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。一般に、本開示は、別段の注記がない限り、CUおよびTUという用語を、それぞれ、リーフCUおよびリーフTUを参照するために使用する。
[0057]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP)は、一般に、一連の1つまたは複数のビデオピクチャを備える。GOPは、GOPのヘッダの中、1つまたは複数のピクチャのヘッダの中、またはその他の所にシンタックスデータを含み得、シンタックスデータは、GOPに含まれるいくつかのピクチャを記述する。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定のまたは変化するサイズを有し得、規定されたコーディング規格に従って、サイズは異なり得る。
[0058]例として、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を参照する。
[0059]本開示では、「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に等しいとは限らない。
[0060]CUのPUを使用するイントラ予測またはインター予測のコーディングの後で、ビデオエンコーダ20は、CUのTUに対する残差データを計算し得る。PUは、空間領域(ピクセル領域とも呼ばれる)での予測ピクセルデータを生成する方法、すなわちモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または残差ビデオデータへの概念的には類似の変換を適用した後の、変換領域での係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUに対する残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換し得る。
[0061]変換係数を生成するための任意の変換の後で、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、その最も広範な通常の意味を有することを意図する、広範な用語である。一実施形態では、量子化は、変換係数が量子化されて、場合によっては、係数を表現するために使用されるデータの量を低減し、さらに圧縮をもたらす処理に言及する。量子化処理は、係数の一部または全部と関連した、いくつかのビット深度を低減し得る。たとえば、nビットの値は、量子化中にmビットの値に端数を丸められてよく、ここで、nはmよりも大きい。
[0062]量子化の後で、ビデオエンコーダは、変換係数を走査し得、量子化変換係数を含む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によるビデオデータの復号での使用のために、符号化ビデオデータと関連したシンタックス要素をエントロピー符号化する。
[0063]CABACを実行するために、ビデオエンコーダ20は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接する値がゼロ以外であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに対する可変長符号を選択し得る。VLCの中の符号語は、比較的に短い符号が、より起こりそうなシンボルに対応し、より長い符号が、より起こりそうでないシンボルに対応するように、再構築され得る。このようにして、VLCの使用により、たとえば、送信されるべき各シンボルに対して等長の符号語を使用することを越える、ビットの節約が達成され得る。起こりそうなことの決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0064]ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダの中で、ビデオデコーダ30へ送り得る。GOPシンタックスデータは、それぞれのGOPの中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化/予測モードを示し得る。
[0065]図2は、本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。ビデオエンコーダ20は、本開示の技法のうちの、任意のものまたはすべてを実行するように構成され得る。一例として、モード選択ユニット40は、本開示に記載された技法のうちの、いずれかまたはすべてを実施するように構成され得る。しかしながら、本開示の態様はそのようには限定されない。いくつかの例では、本開示に記載される技法は、図9〜図12に関して以下に記載される方法を含め、ビデオエンコーダ20の様々な構成要素の間で共有され得る。いくつかの例では、それに加えて、またはそれの代わりに、プロセッサ(図示せず)は、本開示に記載される技法のうちの任意のものまたはすべてを実行するように構成され得る。
[0066]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの、時間的な冗長性を低減または除去するために、時間的予測に依拠する。イントラモード(Iモード)(登録商標)は、いくつかの空間ベースのコーディングモードのうちの任意のものを参照し得る。一方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのうちの任意のものを参照し得る。
[0067]図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図1の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、分割ユニット48とを含む。ビデオブロックの再構築のために、ビデオエンコーダ20は、また、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。デブロッキングフィルタ(図2に示さず)も、ブロック境界をフィルタして、再構築されたビデオからブロッキネスアーチファクトを除去するために、含まれ得る。所望であれば、デブロッキングフィルタは、通常、加算器62の出力をフィルタするはずである。さらなるフィルタ(インループまたはポストループ)も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡約のために図示されないが、所望であれば、加算器50の出力を(インループフィルタとして)フィルタし得る。
[0068]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測をもたらすために、1つまたは複数の参照フレームの中の1つまたは複数のブロックに対して受信されたビデオブロックのインター予測のコーディングを実行する。イントラ予測ユニット46は、あるいは、空間的予測をもたらすために、コーディングされるべきブロックと同じフレームまたはスライスの中の、1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測のコーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに対する適切なコーディングモードを選択するために、多数のコーディングパスを実行し得る。
[0069]その上、分割ユニット48は、前のコーディングパスでの前の区分化方式の評価に基づいて、ビデオデータのブロックを、サブブロックに区分し得る。たとえば、分割ユニット48は、最初は、レート歪み分析(たとえば、レート歪み最適化)に基づいて、フレームまたはスライスをLCUに区分し、LCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらにLCUのサブCUへの区分を示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
[0070]モード選択ユニット40は、たとえば、エラー結果に基づいて、コーディングモードのうちの1つ、イントラまたはインターを選択し、得られたイントラまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に提供し、参照フレームとして使用するためのコーディングされたブロックを再構築するために加算器62に提供し得る。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0071]動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、動き推定ユニット42によって実行され、動きベクトルを生成する処理であり、ビデオブロックに対する動きを推定する。動きベクトルは、たとえば、現在のフレーム内でコーディングされている現在のブロック(または、他のコーディングユニット)に対する、参照フレーム内の予測ブロック(または、他のコーディングユニット)に対する、現在のビデオフレーム内またはピクチャ内のビデオブロックのPUの移動を示し得る。予測ブロックは、ピクセル差分の観点で、コーディングされるべきブロックと密に適合すると見出されたブロックであり、ピクセル差分は、絶対値差分の合計(SAD)、二乗差分の合計(SSD)、または他の差分の測定規準によって決定され得る。いくつかの例では、ビデオエンコーダ20は、参照フレームメモリ64に記憶されている参照ピクチャの、サブ整数ピクセル位置に対する値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの、4分の1ピクセル位置、8分の1ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、完全なピクセル位置および分数のピクセル位置に対して動き探索を実行し、動きベクトルを分数のピクセル精度で出力し得る。
[0072]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスの中のビデオブロックのPUに対する動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの各々は、参照フレームメモリ64に記憶されている1つまたは複数の参照ピクチャを特定する。動き推定ユニット42は、計算された動きベクトルを、エントロピー符号化ユニット56と、動き補償ユニット44とへ送る。
[0073]動き補償は、動き補償ユニット44によって実行され、動き推定ユニット42により決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴う。やはり、動き推定ユニット42および動き補償ユニット44は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのPUに対する動きベクトルを受信すると、動き補償ユニット44は、予測ブロックを、動きベクトルが参照ピクチャリストのうちの1つで指す所へ位置決めし得る。加算器50は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、以下で説明するようにピクセル差分の値を形成する。一般に、動き推定ユニット42は、ルーマ構成要素に対して動き推定を実行し、動き補償ユニット44は、クロマ構成要素とルーマ構成要素の両方のために、ルーマ構成要素に基づいて計算された動きベクトルを使用する。モード選択ユニット40は、また、ビデオデコーダ30によるビデオスライスのビデオブロックの復号での使用のために、ビデオブロックおよびビデオスライスと関連したシンタックス要素を生成する。
[0074]イントラ予測ユニット46は、上述されるように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測に代わるものとして、現在のブロックをイントラ予測または計算し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、使用するために適切なイントラ予測モードを、テストされたモードから選択し得る。
[0075]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対して、レート歪み分析を使用してレート歪みの値を計算し、テストされたモードの中から最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、一般に、符号化されたブロックと、符号化ブロックを生成するために符号化される、元の符号化されていないブロックとの間のある量の歪み(すなわち、エラー)、および、符号化ブロックを生成するために使用されるビットレート(すなわち、いくつかのビット)を決定する。イントラ予測ユニット46は、様々な符号化ブロックに対する歪みおよびレートから比を計算し、どのイントラ予測モードがブロックに対して最良のレート歪みの値を示すかを決定し得る。
[0076]ブロックに対するイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロックに対して選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信されるビットストリームの中に構成データを含み得、構成データは、コンテキストの各々のために使用する、複数のイントラ予測モードのインデックステーブルおよび複数の修正されたイントラ予測モードのインデックステーブル(符号語マッピングテーブルとも呼ばれる)、様々なブロックに対する符号化コンテキストの定義、ならびに、最も起こりそうなイントラ予測モードの表示、イントラ予測モードのインデックステーブル、および修正されたイントラ予測モードのインデックステーブルを含み得る。
[0077]ビデオエンコーダ20は、モード選択ユニット40からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器50は、この減算操作を実行する1つの構成要素または複数の構成要素を表現する。変換処理ユニット52は、離散コサイン変換(DCT)または概念的には類似の変換などの変換を残差ブロックに適用し、残差変換係数の値を備えるビデオブロックを生成する。変換処理ユニット52は、概念的にはDCTに類似の他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプ変換も使用され得る。いかなる場合でも、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、ピクセル値領域からの残差情報を、周波数領域などの変換領域に転換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54へ送り得る。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化処理は、係数の一部または全部と関連したビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。あるいは、エントロピー符号化ユニット56が、走査を実行し得る。
[0078]量子化の後で、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型2値算術コーディング(CABAC)、シンタックスベースコンテキスト適応型2値算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を、実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接ブロックに基づいてよい。エントロピー符号化ユニット56によるエントロピーコーディングの後で、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)へ送信され得、後から伝送または取り出すために、保管され得る。
[0079]逆量子化ユニット58および逆変換ユニット60は、たとえば、参照ブロックとして後で使用できるように、ピクセル領域で残差ブロックを再構築するために、それぞれ、逆量子化と、逆変換とを適用する。動き補償ユニット44は、残差ブロックを、参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって、参照ブロックを計算し得る。動き補償ユニット44は、また、動き推定での使用のためにサブ整数ピクセル値を計算するために、1つまたは複数の補間フィルタを再構築された残差ブロックに適用し得る。加算器62は、参照フレームメモリ64での記憶のための再構築されたビデオブロックを生成するために、再構築された残差ブロックを、動き補償ユニット44によって生成される動き補償された予測ブロックに加算する。再構築されたビデオブロックは、動き推定ユニット42および動き補償ユニット44によって、後続のビデオフレームのブロックをインターコード化するための参照ブロックとして使用され得る。
[0080]図3は、本開示で説明する態様による技法を実装し得るビデオデコーダの例を示すブロック図である。ビデオデコーダ30は、図9〜図12に関して以下に記載される方法を含め、本開示の技法のうちの任意のものまたはすべてを実行するように構成され得る。一例として、動き補償ユニット72および/またはイントラ予測ユニット74は、本開示に記載される技法のうちの任意のものまたはすべてを実行するように構成され得る。しかしながら、本開示の態様はそのようには限定されない。いくつかの例では、本開示に記載される技法は、ビデオデコーダ30の様々な構成要素の中で、共有され得る。いくつかの例では、それに加えて、またはそれの代わりに、プロセッサ(図示せず)は、本開示に記載される技法のうちの任意のものまたはすべてを実行するように構成され得る。
[0081]図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して記載される符号化パスに対して概ね相反の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて、予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて、予測データを生成し得る。
[0082]復号プロセス中に、ビデオデコーダ30は、符号化されたビデオスライスのビデオブロックおよび関連するシンタックス要素を表現する符号化されたビデオビットストリームを、ビデオエンコーダ20から受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと、他のシンタックス要素とを、動き補償ユニット72へ転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでのシンタックス要素を受信し得る。
[0083]ビデオスライスが、イントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、現在のフレームまたはピクチャの以前に復号されたブロックから、信号で伝えられたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックに対する予測データを生成し得る。ビデオフレームがインターコード化(たとえば、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の、参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照フレームメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構築し得る。動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定するとともに、復号されている現在のビデオブロックの予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数の構築情報と、スライスの各々のインター符号化されたビデオブロックの動きベクトルと、スライスの各々のインターコーディングされたビデオブロックのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[0084]動き補償ユニット72は、また、補間フィルタに基づいて、補間を実行し得る。動き補償ユニット72は、参照ブロックのサブ整数ピクセルに対して補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用されたように、補間フィルタを使用し得る。このケースでは、動き補償ユニット72は、受信したシンタックス要素からビデオエンコーダ20で使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成し得る。
[0085]逆量子化ユニット76は、ビットストリームの中で提供され、エントロピー復号ユニット80によって復号された量子化変換係数を、逆量子化(inverse quantize)、たとえば、逆量子化(de-quantize)する。逆量子化処理は、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスの中の各ビデオブロックに対してビデオデコーダ30によって計算された量子化パラメータQPYの使用を含み得る。
[0086]逆変換ユニット78は、ピクセル領域内の残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的には類似の逆変換処理を、変換係数に適用する。
[0087]動きベクトルおよび他のシンタックス要素に基づいて、動き補償ユニット82が現在のビデオブロックに対する予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックに動き補償ユニット72によって生成された対応する予測ブロックを加算することによって、復号ビデオブロックを形成する。加算器90は、この加算操作を実行する1つの構成要素または複数の構成要素を表現する。所望であれば、デブロッキングフィルタも、ブロッキネスアーチファクトを除去するため、復号ブロックをフィルタするために適用され得る。他のループフィルタ(コーディングループの中、またはコーディングループの後のいずれか)も、ピクセルの変化を平滑化し、または他の方法でビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャの復号ビデオブロックは、次いで、参照ピクチャメモリ92に記憶され、これは後続の動き補償のために使用される参照ピクチャを記憶する。参照フレームメモリ82は、また、図1のディスプレイデバイス32などのディスプレイデバイスで後で提示できるように、復号ビデオを記憶する。
HEVCにおける動き補償
[0088]上述されたように、HEVCは次世代のビデオコーディング規格である。概して、HEVCは以前のビデオコーディング規格の枠組に追従する。HEVCの動き補償ループは、H.264/AVCのものと同じものを維持され得、たとえば、現在のフレームの再構築
は、以下のように、逆量子化された係数rに時間的予測Pを加えたものに等しい。
ここで、Pは、Pフレームもしくはスライスに対する一方向予測、またはBフレームもしくはスライスに対する双方向予測を示す。
[0089]HEVCの動き補償の単位は、以前のビデオコーディング規格のものと異なり得る。実際、以前のビデオコーディング規格におけるマクロブロックの概念は、HEVCでは存在しない。代わりに、マクロブロックの概念は、包括的な4分木方式に基づく極めてフレキシブルな階層構造によって取り替えられる。この方式内で、3つのタイプのブロック、たとえば、コーディングユニット(CU)、予測ユニット(PU)、および変換ユニット(TU)が定義される。CUは領域分割の基本単位である。CUは、マクロブロックの概念と類似しているが、CUは、最大サイズを制限せず、CUは、内容の適合性を改善するために、4つの等しいサイズのCUへの再帰的な分割を可能にする。PUは、インター/イントラ予測の基本的な単位であり、PUは、不規則な画像パターンを効果的にコーディングするために、単一のPUの中に多数の任意の形状のパーティションを含み得る。TUは変換の基本単位である。TUは、PUから独立に定義され得るが、ただし、TUのサイズは、TUが属するCUに限定される。ブロック構造の3つの異なるコンセプトへのこの分離によって、それぞれがその役割に従って最適化され得、その結果、コーディングの効率性が改善される。
スケーラブルビデオコーディング
[0090]異なる寸法でのスケーラビリティ400の例が、図4に示される。この例では、スケーラビリティは、3つの寸法402、404、406で可能である。時間ディメンション402では、たとえば、7.5Hz、15Hzまたは30Hzのフレームレートが、時間的なスケーラビリティ(T)によってサポートされ得る。空間的なスケーラビリティ(S)404がサポートされる場合、異なる解像度、たとえば、QCIF、CIFおよび4CIFなどが可能である。各特定の空間解像度およびフレームレートのために、SNR(Q)レイヤ406が、ピクチャ品質を改善するために追加され得る。各レイヤ402、404、406からのビットストリームは、単一のビットストリームの中に一緒に多重化され得る。いったんビデオコンテンツがそのような拡張性のある方法で符号化されると、エクストラクタツールが、たとえば、クライアントまたは伝送チャネルに依存するアプリケーションの要件に従って、実際に配送されるコンテンツを適応させるために使用され得る。図4に示す例では、各立方体408は、同じフレームレート(時間的なレベル)、空間解像度、およびSNRレイヤを有するピクチャを含む。これらの立方体408(ピクチャ)を任意の寸法402、404、406に追加することによって、より良い表現が達成され得る。組み合わされたスケーラビリティは、2つ、3つ、またはさらに多くのスケーラビリティが可能である場合に、サポートされる。
[0091]SVC仕様によれば、最も低い空間的レイヤ410および最も低い品質レイヤ412を有するピクチャは、H.264/AVCと互換性があり、最も低い時間的レベル414でのピクチャは、時間的なベースレイヤを形成し、これは、より高い時間的レベルでのピクチャを伴って拡張され得る。H.264/AVCと互換性のあるレイヤに加えて、いくつかの空間的および/またはSNRエンハンスメントレイヤが、空間的および/または品質のスケーラビリティをもたらすために、追加され得る。SNRスケーラビリティ406は、品質スケーラビリティとしても参照させられる。各空間的エンハンスメントレイヤ404またはSNRエンハンスメントレイヤ406は、それ自体、H.264/AVCと互換性のあるレイヤと同じ時間的スケーラビリティ構造とともに、時間的にスケーラブルであり得る。1つの空間的またはSNRエンハンスメントレイヤに対して、空間的またはSNRエンハンスメントレイヤが依存するより低いレイヤは、その特定の空間的またはSNRエンハンスメントレイヤの参照レイヤ(たとえば、ベースレイヤ)としても参照させられる。
[0092]SVCコーディング構造500の例が、図5に示される。最も低い空間的および品質レイヤを有するピクチャ(レイヤ0 502およびレイヤ1 504の、QCIF解像度のピクチャ)は、H.264/AVCと互換性がある。これらの中で、最も低い時間的レベルのこれらのピクチャは、図5のレイヤ0 502に示されるように、時間的なベースレイヤを形成する。この時間的なベースレイヤ(レイヤ0)502は、より高い時間的レベル(レイヤ1)504のピクチャを伴って拡張され得る。H.264/AVCと互換性のあるレイヤ504に加えて、いくつかの空間的および/またはSNRエンハンスメントレイヤ506、508、510は、空間的および/または品質スケーラビリティをもたらすために、追加され得る。たとえば、エンハンスメントレイヤは、レイヤ2 506と同じ解像度を有するCIF表現であり得る。この例では、レイヤ3 508は、SNRエンハンスメントレイヤである。この例に示されるように、各空間的またはSNRエンハンスメントレイヤは、それ自体、H.264/AVCと互換性のあるレイヤと同じ時間的スケーラビリティ構造とともに、時間的にスケーラブルであり得る。また、エンハンスメントレイヤは、空間解像度とフレームレートの両方を拡張することができる。たとえば、レイヤ4 510は、さらに、フレームレートを15Hzから30Hzに増大させる、4CIFエンハンスメントレイヤを提供する。
[0093]図6に示すように、同じ時間のインスタンスでコーディングされるスライスは、ビットストリームの順序の中で連続であり、SVCのコンテキストの中で1つのアクセスユニット600を形成する。それらのSVCアクセスユニット600は、次いで、表示の順序と異なるかもしれない復号の順序に従い、たとえば、時間的予測の関係によって決定される。
[0094]図7は、参照レイヤとエンハンスメントレイヤとの間のピクチャアスペクト比のスケーラビリティの例の概念的な図を示す。いくつかの実施形態では、ピクチャアスペクト比(PAR)は、記録されているピクチャの幅:高さの比であり、ここで、幅および高さは、同じ長さ(空間的な測定値)の単位で計測される。ピクチャアスペクト比は、X:Yとして表現され得、ここで、Xは水平の幅であり、Yは垂直の高さである(空間的な距離の任意の単位での)。いくつかの実施形態では、ピクチャサンプルアスペクト比(PSAR)は、ピクチャの中のルーマサンプルアレイの、列の間の水平の距離と、行の間の垂直の距離との間の比である。ピクチャサンプルアスペクト比は、h:vとして表現され得、ここで、hは水平の幅であり、vは垂直の高さである(空間的な距離の任意の単位での)。図7は、参照レイヤとエンハンスメントレイヤとの間でPSARが同じであり、参照レイヤがエンハンスメントレイヤの切り取られたバージョンである例を示す。詳細には、図示のように、参照レイヤ710は、水平の幅712と、垂直の高さ714を備えることができる。たとえば、水平の幅712は853ピクセルであり得、垂直の高さ714は480ピクセルであり得る。エンハンスメントレイヤ720は、水平の幅722と、垂直の高さ724を備えることができる。たとえば、水平の幅722は1280ピクセルであり得、垂直の高さ724は720ピクセルであり得る。この図では、エンハンスメントレイヤ720の空間解像度は、1280×720であり、参照レイヤ710の空間解像度は、853×480(WVGA)である。参照レイヤ710とエンハンスメントレイヤ720の両方は、PSARが1である。この例では、参照レイヤ710とエンハンスメントレイヤ720の両方は、PARが16:9である。
[0095]図8は、参照レイヤとエンハンスメントレイヤとの間のピクチャアスペクト比のスケーラビリティの別の例の概念的な図を示す。図8は、参照レイヤとエンハンスメントレイヤとの間でPSARが同じであり、参照レイヤがエンハンスメントレイヤの変倍され切り取られたバージョンである例を示す。詳細には、図示のように、参照レイヤ810は、水平の幅812と、垂直の高さ814を備え得る。たとえば、水平の幅812は640ピクセルであり得、垂直の高さ814は480ピクセルであり得る。エンハンスメントレイヤ820は、水平の幅822および垂直の高さ824を備え得る。たとえば、水平の幅822は1280ピクセルであり得、垂直の高さ824は720ピクセルであり得る。参照レイヤ810は、変倍され得、変倍された領域の部分がエンハンスメントレイヤ820を予測することのために使用されることが可能である。図8では、エンハンスメントレイヤの空間解像度は、1280×720(PAR 16:9)であり、参照レイヤの空間解像度は、640×480(PAR 4:3)であり、両方のレイヤは、PSARが1である。そのため、エンハンスメントレイヤ820は、参照レイヤ810と異なるピクチャアスペクト比を有する。
[0096]SVCでは、レイヤ間予測のために使用され得るアップサンプルされた参照レイヤのピクチャの領域は、シーケンスパラメータセットの中で定義され得る。そのような領域は、アップサンプルされた領域と呼ばれる場合がある。アップサンプルされた領域は、垂直または水平のいずれかの寸法で、現在のピクチャ(たとえば、エンハンスメントレイヤのピクチャ)よりも小さくても大きくてもよい。表1は、シーケンスパラメータセットのsvc拡張の例を示す。
[0097]加えて、類似の情報が、スライスヘッダの中に存在し得る。明白に信号で伝えられる場合、この情報は、シーケンスパラメータセットの中で信号で伝えられた情報を上書きする。表2は、スケーラブルな拡張でのスライスヘッダを示す。
[0098]アップサンプルされた参照レイヤのピクチャが、エンハンスメントレイヤのピクチャの参照ピクチャリストでの参照ピクチャとして利用される場合に、SHVCでのレイヤ間予測をサポートするためには、困難が生じる場合がある。たとえば、参照レイヤの再構築されたピクチャは、アップサンプルの後、エンハンスメントレイヤのピクチャの解像度と同じ解像度を有しない場合がある。したがって、アップサンプルされた参照レイヤのピクチャは、レイヤ間の参照ピクチャとして、直接使用され得ない。
[0099]加えて、エンハンスメントレイヤのピクチャの整合に関して、参照レイヤのアップサンプルされた領域を信号で伝える場合、さらなる困難が生じる場合がある。たとえば、エンハンスメントレイヤのピクチャは、多数のレイヤから予測される場合があり、したがって、1つのレイヤに対応するパラメータのうちの1つのセットを信号で伝えることは、不十分である可能性がある。さらに、参照レイヤのピクチャのうちの一部分だけが、レイヤ間予測のために使用されることが起こり得る場合がある。
[0100]コーディングの複雑さを低減し、SHVCでのレイヤ間予測のための頑強なサポートを提供するために、技法は、異なるアスペクト比を有するレイヤのための、レイヤ間の参照ピクチャの構築を提供するために使用され得る。たとえば、いくつかの実施形態では、ビデオデータをコーディングする方法は、参照レイヤのピクチャの少なくとも一部分を、アップサンプルされたピクチャサイズを有するアップサンプルされたピクチャへアップサンプルすることと、アップサンプルされたピクチャサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを備える、アップサンプルされたピクチャと関連した位置情報を信号で伝えることとを含む。この方法は、さらに、エンハンスメントレイヤのピクチャと関連した位置情報に基づいて、アップサンプルされたピクチャと関連した位置情報を決定することを含み得る。たとえば、エンハンスメントレイヤのピクチャと関連した位置情報は、エンハンスメントレイヤのピクチャの境界に対するオフセットなどの、エンハンスメントレイヤのピクチャの座標を含み得る。位置情報が信号で伝えられない場合、ゼロなどのデフォルト値が前提とされ得る。いくつかの実施形態では、参照レイヤのピクチャのアップサンプルされる部分のサイズは、参照レイヤのピクチャのサイズに等しい。加えて、いくつかの実施形態では、水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平方向のピクチャサイズまたは垂直のピクチャサイズと適合する(たとえば、等しい)ことができる。レイヤ間の参照ピクチャは、アップサンプルされたピクチャおよび位置情報に基づいて、生成され得る。
[0101]たとえば、いくつかの実施形態では、参照レイヤのピクチャの選択された部分のみが、その特定の参照レイヤに対する現在のレイヤのために信号で伝えられた関連する窓に基づいて、レイヤ間の参照ピクチャを生成するために使用される。関連する領域内の参照レイヤのピクチャの選択された部分は、アップサンプルされた領域と等しいサイズのピクチャにアップサンプルされ得、アップサンプルの後、アップサンプルされた領域のサイズは、常に、エンハンスメントレイヤのピクチャのピクチャサイズ以下である。アップサンプルされた領域は、さらに、信号で伝えられ得、エンハンスメントレイヤのピクチャの座標を使用して定義される。
[0102]他の実施形態では、全体の参照レイヤのピクチャは、アップサンプルされる。アップサンプルされた領域は、垂直または水平のいずれかの寸法で、エンハンスメントレイヤのピクチャよりも大きくてよい。したがって、アップサンプルされた領域は、切り取られる(たとえば、エリアサイズが低減する)必要があり得る。アップサンプルされた領域が、垂直または水平のいずれかの寸法で、エンハンスメントレイヤのピクチャよりも小さい場合、アップサンプルされた領域は、埋められる必要があり得る。アップサンプルされた領域は、さらに、信号で伝えられ得、エンハンスメントレイヤのピクチャの座標を使用して定義され得る。
[0103]これらの実施形態の各々では、信号で伝えられる関連する窓または参照レイヤの全体のピクチャサイズ、およびアップサンプルされた領域は、水平方向または垂直方向に関するアップサンプル比を導き出すために使用され得る。加えて、アップサンプルされた領域の情報に基づいて、ピクセル値は、参照レイヤのピクチャの位置合わせされたアップサンプルされた領域を取り囲んで埋められて(たとえば、付け足されて)、アップサンプルされたピクチャを現在のピクチャ(たとえば、エンハンスメントレイヤのピクチャ)と同じサイズに拡大し得る。たとえば、パディングは、そのピクセルが128(または、2<<N、ここにおいて、N+1はビット深度)に等しい値を有する方法でなされ得る。加えて、左側パディング領域が、位置合わせされアップサンプルされた領域の境界ピクセルでのピクセル値から水平に埋められ、右側パディング領域が、位置合わせされアップサンプルされた領域の境界ピクセルでのピクセル値から水平に埋められ、上部パディング領域が、位置合わせされアップサンプルされた領域の境界ピクセルでのピクセル値から垂直に埋められ、下部パディング領域が、位置合わせされアップサンプルされた領域の境界ピクセルでのピクセル値から垂直に埋められ、上部−左側、上部−右側、下部−左側および下部−右側のパディング領域が、利用できれば、水平に埋められ、その後で、他の領域が埋められるように、パディングは実行され得る。
[0104]図9は、一実施形態による参照レイヤのピクチャの一部分をエンハンスメントレイヤにアップサンプルすることの例を示す図である。詳細には、図示のように、参照レイヤ910は、サブポーション912を備え得る。サブポーション912は、参照レイヤ左側オフセット914a、参照レイヤ右側オフセット914b、参照レイヤ下部オフセット914c、および参照レイヤ上部オフセット914dに基づいて、規定され得る。たとえば、参照レイヤ左側オフセット914aは、参照レイヤ910の左側境界とサブポーション912の左側境界との間の距離(たとえば、オフセット)を、規定し得る。参照レイヤ右側オフセット914bは、参照レイヤ910の右側境界とサブポーション912の右側境界との間の距離を、規定し得る。参照レイヤ下部オフセット914cは、参照レイヤ910の下部境界とサブポーション912の下部境界との間の距離を、規定し得る。参照レイヤ上部オフセット914dは、参照レイヤ910の上部境界とサブポーション912の上部境界との間の距離を、規定し得る。
[0105]参照レイヤ910のサブポーション912は、エンハンスメントレイヤ920のサブポーションであるアップサンプルされたピクチャ922にアップサンプルされ得る。この例では、アップサンプルされたピクチャ922のサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを含むが、水平または垂直のアップサンプルされたピクチャサイズは、エンハンスメントレイヤ920の、それぞれ水平のピクチャサイズおよび垂直のピクチャサイズよりも小さい。
[0106]アップサンプルされたピクチャ922は、エンハンスメントレイヤ左側オフセット924a、エンハンスメントレイヤ右側オフセット924b、エンハンスメントレイヤ下部オフセット924c、およびエンハンスメントレイヤ上部オフセット924dに基づいて、規定され得る。たとえば、エンハンスメントレイヤ左側オフセット924aは、エンハンスメントレイヤ920の左側境界とサブポーション922の左側境界との間の距離(たとえば、オフセット)を、規定し得る。エンハンスメントレイヤ右側オフセット924bは、エンハンスメントレイヤ920の右側境界とサブポーション922の右側境界との間の距離を、規定し得る。エンハンスメントレイヤ下部オフセット924cは、エンハンスメントレイヤ920の下部境界とサブポーション922の下部境界との間の距離を、規定し得る。エンハンスメントレイヤ上部オフセット924dは、エンハンスメントレイヤ920の上部境界とサブポーション922の上部境界との間の距離を、規定し得る。
[0107]図10Aおよび図10Bは、参照レイヤのピクチャをエンハンスメントレイヤにアップサンプルすることの例を示す図であり、ここにおいて、水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも小さい。詳細には、図10Aに示す例では、水平のアップサンプルされたピクチャサイズは、エンハンスメントレイヤのピクチャの水平のピクチャサイズよりも小さい。たとえば、参照レイヤ1010は、エンハンスメントレイヤ1020のサブポーションであるアップサンプルされたピクチャ1022に、アップサンプルされ得る。アップサンプルされたピクチャ1022のサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを含む。アップサンプルされたピクチャ1022の垂直のアップサンプルされたピクチャサイズは、エンハンスメントレイヤ1020の垂直のピクチャサイズと適合する(たとえば、等しい)が、アップサンプルされたピクチャ1022の水平のピクチャサイズは、エンハンスメントレイヤ1020の水平のピクチャサイズよりも小さい。アップサンプルされたピクチャ1022の位置を規定するために、エンハンスメントレイヤ1020に対してアップサンプルされたピクチャ1022と関連した位置情報が、信号で伝えられ得る。たとえば、アップサンプルされたピクチャ1022は、エンハンスメントレイヤ左側オフセット1024aおよびエンハンスメントレイヤ右側オフセット1024bに基づいて、規定され得る。たとえば、エンハンスメントレイヤ左側オフセット1024aは、エンハンスメントレイヤ1020の左側境界とアップサンプルされたピクチャ1022の左側境界との間の距離(たとえば、オフセット)を、規定し得る。エンハンスメントレイヤ右側オフセット1024bは、エンハンスメントレイヤ1020の右側境界とアップサンプルされたピクチャ1022の右側境界との間の距離を、規定し得る。エンハンスメントレイヤ左側オフセット1024aおよびエンハンスメントレイヤ右側オフセット1024bは、エンハンスメントレイヤのピクチャ1020の座標に基づいて、規定され得る。
[0108]図10Bに示す例では、水平のアップサンプルされたピクチャサイズと垂直のアップサンプルされたピクチャサイズの両方は、エンハンスメントレイヤの、それぞれ、水平のピクチャサイズおよび垂直のピクチャサイズよりも小さい。たとえば、参照レイヤ1010は、エンハンスメントレイヤ1020のサブポーションであるアップサンプルされたピクチャ1022に、アップサンプルされ得る。アップサンプルされたピクチャ1022の垂直のアップサンプルされたピクチャサイズは、エンハンスメントレイヤ1020の垂直のピクチャサイズよりも小さく、アップサンプルされたピクチャ1022の水平のピクチャサイズは、エンハンスメントレイヤ1020の水平のピクチャサイズよりも小さい。アップサンプルされたピクチャ1022の位置を規定するために、位置情報が信号で伝えられ得る。たとえば、アップサンプルされたピクチャ1022は、エンハンスメントレイヤ左側オフセット1024a、エンハンスメントレイヤ右側オフセット1024b、エンハンスメントレイヤ下部オフセット1024c、およびエンハンスメントレイヤ上部オフセット1024dに基づいて、規定され得る。たとえば、エンハンスメントレイヤ左側オフセット1024aは、エンハンスメントレイヤ1020の左側境界とアップサンプルされたピクチャ1022の左側境界との間の距離を、規定し得る。エンハンスメントレイヤ右側オフセット1024bは、エンハンスメントレイヤ1020の右側境界とアップサンプルされたピクチャ1022の右側境界との間の距離を、規定し得る。エンハンスメントレイヤ下部オフセット1024cは、エンハンスメントレイヤ1020の下部境界とアップサンプルされたピクチャ1022の下部境界との間の距離を、規定し得る。エンハンスメントレイヤ上部オフセット1024dは、エンハンスメントレイヤ1020の上部境界とアップサンプルされたピクチャ1022の上部境界との間の距離を、規定し得る。エンハンスメントレイヤ左側オフセット1024a、エンハンスメントレイヤ右側オフセット1024b、エンハンスメントレイヤ下部オフセット1024c、およびエンハンスメントレイヤ上部オフセット1024dは、エンハンスメントレイヤのピクチャ1020の座標に基づいて、規定され得る。
[0109]図11Aおよび図11Bは、参照レイヤのピクチャをエンハンスメントレイヤにアップサンプルすることの例を示す図であり、ここにおいて、水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも大きい。詳細には、図11Aに示す例では、垂直のアップサンプルされたピクチャサイズは、エンハンスメントレイヤの垂直のピクチャサイズよりも大きい。たとえば、参照レイヤ1110は、エンハンスメントレイヤ1120よりも大きいアップサンプルされたピクチャ1122に、アップサンプルされ得る。この例では、アップサンプルされたピクチャ1122のサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを含む。アップサンプルされたピクチャ1122の垂直のアップサンプルされたピクチャサイズは、エンハンスメントレイヤ1120の垂直のピクチャサイズよりも大きいが、アップサンプルされたピクチャ1122の水平のピクチャサイズは、エンハンスメントレイヤ1120の水平のピクチャサイズに適合する。アップサンプルされたピクチャ1122の位置を規定するために、位置情報が信号で伝えられ得る。たとえば、アップサンプルされたピクチャ1122は、エンハンスメントレイヤ下部オフセット1124cおよびエンハンスメントレイヤ上部オフセット1124dに基づいて、規定され得る。たとえば、エンハンスメントレイヤ下部オフセット1124cは、エンハンスメントレイヤ1120の下部境界とアップサンプルされたピクチャ1122の下部境界との間の距離を、規定し得る。エンハンスメントレイヤ上部オフセット1124dは、エンハンスメントレイヤ1120の上部境界とアップサンプルされたピクチャ1122の上部境界との間の距離を、規定し得る。エンハンスメントレイヤ下部オフセット1124cおよびエンハンスメントレイヤ上部オフセット1124dは、エンハンスメントレイヤのピクチャ1120の座標に基づいて、規定され得る。
[0110]図11Bに示す例では、水平のアップサンプルされたピクチャサイズと垂直のアップサンプルされたピクチャサイズの両方は、エンハンスメントレイヤの、それぞれ水平のピクチャサイズおよび垂直のピクチャサイズよりも大きい。たとえば、参照レイヤ1110は、エンハンスメントレイヤ1120よりも大きいアップサンプルされたピクチャ1122に、アップサンプルされ得る。アップサンプルされたピクチャ1122の垂直のアップサンプルされたピクチャサイズは、エンハンスメントレイヤ1120の垂直のピクチャサイズよりも大きく、アップサンプルされたピクチャ1122の水平のピクチャサイズは、エンハンスメントレイヤ1120の水平のピクチャサイズよりも大きい。アップサンプルされたピクチャ1122の位置を規定するために、位置情報が信号で伝えられ得る。たとえば、アップサンプルされたピクチャ1122は、エンハンスメントレイヤ左側オフセット1124a、エンハンスメントレイヤ右側オフセット1124b、エンハンスメントレイヤ下部オフセット1124c、およびエンハンスメントレイヤ上部オフセット1124dに基づいて、規定され得る。たとえば、エンハンスメントレイヤ左側オフセット1124aは、エンハンスメントレイヤ1120の左側境界とアップサンプルされたピクチャ1122の左側境界との間の距離を、規定し得る。エンハンスメントレイヤ右側オフセット1124bは、エンハンスメントレイヤ1120の右側境界とアップサンプルされたピクチャ1122の右側境界との間の距離を、規定し得る。エンハンスメントレイヤ下部オフセット1124cは、エンハンスメントレイヤ1120の下部境界とアップサンプルされたピクチャ1122の下部境界との間の距離を、規定し得る。エンハンスメントレイヤ上部オフセット1124dは、エンハンスメントレイヤ1120の上部境界とアップサンプルされたピクチャ1122の上部境界との間の距離を、規定し得る。エンハンスメントレイヤ左側オフセット1124a、エンハンスメントレイヤ右側オフセット1124b、エンハンスメントレイヤ下部オフセット1124c、およびエンハンスメントレイヤ上部オフセット1124dは、エンハンスメントレイヤのピクチャ1120の座標に基づいて、規定され得る。
[0111]例示のために、本開示に記載される技法は、2つのレイヤのみが存在する例を使用して記載される。1つのレイヤは下位レベルのレイヤまたは参照レイヤを含むことができ、別のレイヤは上位レベルのレイヤまたはエンハンスメントレイヤを含むことができる。たとえば、参照レイヤは、ベースレイヤ、またはエンハンスメントレイヤ上の時間参照を含むことができ、エンハンスメントレイヤは、参照レイヤに対するエンハンスメントレイヤを含むことができる。本開示に記載される例は、複数のエンハンスメントレイヤにも及ぶことを理解されたい。
[0112]いくつかの実施形態では、ベースビューの中の関連する窓は、信号で伝えられ、参照レイヤのピクチャサイズに関連し、関連する窓の境界は、参照レイヤのピクチャ内で位置合わせまたは位置決めされる。加えて、アップサンプルされた領域も、信号で伝えられ得る。アップサンプルされた領域の境界は、エンハンスメントレイヤのピクチャ内にあり得る。レイヤ間の参照ピクチャが、エンハンスメントレイヤのピクチャの参照ピクチャリストへ加えられるべき場合、アップサンプルされた領域は、エンハンスメントレイヤのピクチャのサイズと同じサイズに拡張される(たとえば、パディングによって)。
[0113]シンタックス要素は、ビデオパラメータセットの中で信号で伝えられ得る。あるいは、シンタックス要素は、ビットストリーム、たとえば、VPS(ビデオパラメータセット)、SPS(シーケンスパラメータセット)、PPS(ピクチャパラメータセット)、スライスヘッダ、またはSEI(追加拡張情報)メッセージの中の、第1のフラグによって送信され得る。
[0114]シンタックス要素scaled_ref_layer_left_offset[i][j]、scaled_ref_layer_top_offset[i][j]、scaled_ref_layer_right_offset[i][j]、scaled_ref_layer_bottom_offset[i][j]は、変倍された(アップサンプルされた)領域とエンハンスメントレイヤのピクチャとの間のオフセットと、一括して呼ばれる場合がある。それらが表現する値は、レイヤiの第jの参照レイヤのスケール化された参照レイヤのオフセットと呼ばれる場合がある。
[0115]シンタックス要素rel_scaled_ref_layer_left_offset[i][j]、rel_scaled_ref_layer_top_offset[i][j]、rel_scaled_ref_layer_right_offset[i][j]、およびrel_scaled_ref_layer_bottom_offset[i][j]は、参照レイヤの関連する領域のオフセットシンタックス要素と、一括して呼ばれる場合があり、それらが示す値は、レイヤiの第jの参照レイヤの関連する領域オフセットと呼ばれる場合がある。表3は、ビデオパラメータセットの拡張シンタックスの例を示す。
[0116]加えて、scaled_ref_layer_left_offset[i][j]、scaled_ref_layer_top_offset[i][j]、scaled_ref_layer_right_offset[i][j]、scaled_ref_layer_bottom_offset[i][j]は、レイヤiの第jの参照レイヤから変倍された参照領域の左側、上部、右側、および下部の境界の、復号されているレイヤiの現在のピクチャ(たとえば、エンハンスメントレイヤのピクチャ)の、それぞれ、左側、上部、右側および下部の境界までの距離(たとえば、2つのルーマサンプルを単位にして)を、規定し得る。存在しない場合、これらのシンタックス要素の値は、0と等しいと暗示され得る。
[0117]また、rel_scaled_ref_layer_left_offset[i][j]、rel_scaled_ref_layer_top_offset[i][j]、rel_scaled_ref_layer_right_offset[i][j]、rel_scaled_ref_layer_bottom_offset[i][j]は、レイヤiの第jの参照レイヤから復号された参照レイヤのピクチャの左側、上部、右側、および下部の境界の、レイヤiの現在のピクチャ(たとえば、エンハンスメントレイヤのピクチャ)に対するレイヤ間予測のために変倍されるべき復号された参照レイヤのピクチャの関連する領域の、それぞれ、左側、上部、右側および下部の境界に対する距離(たとえば、2つのルーマサンプルを単位にして)を、規定し得る。存在しない場合、これらのシンタックス要素の値は、0と等しいと暗示され得る。
[0118]あるいは、各参照レイヤに対するオフセットを信号で伝えることは、次のように記載される各参照レイヤに対して信号で伝えられたフラグを条件とされ得る。たとえば、表4は、vps拡張の例を示す。
[0119]加えて、signal_ref_layer_offsets_flag[i][j]が1に等しいことは、スケール化された参照レイヤのオフセットのシンタックス要素および参照レイヤの関連する領域のオフセットのシンタックス要素が、レイヤiの第jの参照レイヤに対して信号で伝えられたことを意味する。signal_ref_layer_offsets_flag[i][j]が0に等しいことは、スケール化された参照レイヤのオフセットおよびオフセットのシンタックス要素が、レイヤiの第jの参照レイヤに対して信号で伝えられておらず、これらがすべて0に等しいと暗示されていることを意味する。
[0120]あるいは、スケール化された参照レイヤのオフセットが各レイヤiに対して信号で伝えられるべき参照レイヤの数は、信号で伝えられるはずであり、加えて、参照レイヤのレイヤIDが、レイヤIDを特定するために信号で伝えられるはずである。表5は、vps拡張の別の例を示す。
[0121]加えて、num_ref_layers_with_offsets[i]は、スケール化された参照レイヤのオフセットおよび参照レイヤの関連する領域が信号で伝えられるべきレイヤiの参照レイヤの数に等しい。num_ref_layers_with_offsets[i]の値は、0からnum_direct_ref_layers[i](それらを含む)の範囲にある。
[0122]ref_layer_id[i][j]は、スケール化された参照レイヤのオフセットおよび参照レイヤの関連する領域がループの中で信号で伝えられるべき参照レイヤのレイヤ識別子に等しい。ref_layer_id[i][j]を表現するために使用されるビットの数は、Ceil(Log2(num_direct_ref_layers+1))である。
[0123]現在のレイヤに対する参照レイヤのピクチャを取得するために、処理で使用される変数を取得するため、導出処理が、Lに等しい入力Zを伴うルーマサンプルに対して1回、Cに等しい入力Zを伴うクロマサンプルに対して1回、使用される。変数SubWidthLおよびSubHeightLは、両方とも1に等しく設定され得、変数SubWidthCおよびSubHeightCは、それぞれ、SubWidthCおよびSubHeightCに等しく設定され得る。
[0124]いくつかの実施形態では、変数Zは、可能な値LまたはCとともに、この処理へ入力され得る。0からvps_max_layers_minus1(それらを含む)の範囲にあるi、および0からnum_direct_ref_layers[i]−1(それらを含む)の範囲にあるjに対して、RefPicWidthInLumaSamples[i][j]およびRefPicHeightInLumaSamples[i][j]を、第iのレイヤの第jの参照レイヤのピクチャの、VPSで定義されるようなルーマサンプルを単位にした、それぞれ、幅および高さとする。CurrPicWidthInLumaSamples[i]およびCurrPicHeightInLumaSamples[i]を、第iのレイヤのピクチャの、それぞれ、幅および高さとし、ここで、iは0からvps_max_layers_minus1(それらを含む)の範囲にある。現在のピクチャ(たとえば、エンハンスメントレイヤのピクチャ)および参照ピクチャのピクチャの幅および高さは、それぞれのピクチャに対して、シンタックス要素pic_width_in_luma_samplesおよびpic_height_in_luma_samplesによって定義されるものであり得る。
[0125]関連する参照レイヤは、関連する参照領域オフセットのシンタックス要素、ならびに対応する参照レイヤの幅および高さを使用して、取得され得る。変数RelRefLayerPicWidth
Z[i][j]およびRelRefLayerPicHeight
Z[i][j]は、次のように導き出され得る。
[0126]変倍された/アップサンプルされた領域は、以下に導き出されるように、変数ScaledRefLayerPicWidth
Z[i][j]およびScaledRefLayerPicHeight
Z[i][j]によって取得され得る。
[0127]以下の復号処理の説明を簡単にするために、LeftStart
Z[i][j]、TopStart
Z[i][j]、RightEnd
Z[i][j]およびBottomEnd
Z[i][j]という項は、次のように定義され得る。
[0128]いくつかの実施形態では、アップサンプル比は、参照レイヤの中の信号で伝えられた関連する領域およびアップサンプルされた領域に基づいて、以下のように計算され得る。
[0129]参照レイヤの中の関連する領域をアップサンプルする場合、領域は、いくつかのピクセルに対して埋められ得るか、または参照ピクチャの中の既存のピクセルを使用する方法で拡張され得る。しかしながら、各寸法に関するアップサンプル比の計算は、参照レイヤの中で信号で伝えられた関連する領域およびエンハンスメントレイヤでアップサンプルされた領域によって決定され得る。様々なアップサンプルの方法、パディングまたは拡張の方法のうちの任意のものは、本明細書に記載される技法および方法と一緒に使用され得る。
[0130]いくつかの実施形態では、スケール化された参照レイヤは、レイヤiに対する参照ピクチャとして使用される前に、埋められ得る。レイヤiの第jの参照レイヤの変倍され埋められたピクチャは、レイヤiに対するレイヤ間予測のために使用され得、ScaledPaddedRefLayerA[x][y]によって表示され、Aは、それぞれ、ルーマサンプルと、Cbサンプルと、Crサンプルとを表示するために、値L、CbまたはCrをとる。RefLayerA[i][j]に、チャネルA(ルーマ、CbまたはCr)に対応するレイヤiの第jの参照レイヤの参照レイヤのサンプルを表示させる。RelRefLayerLeftOffsetZ[i][j]からRefPicWidthInLumaSamples[i][j]>>(SubWidthZ−1)−RelRefLayerRightOffsetZ[i][j]−1(それらを含む)の範囲にあるx、およびRelRefLayerTopOffsetZ[i][j]からRefPicHeightInLumaSamples[i][i]>>(SubHeightZ−1)−RelRefLayerBottomOffsetZ[i][i]−1(それらを含む)の範囲にあるyに対して、参照レイヤの関連する領域は、それらサンプルRefLayerA[x][y]を占める。LeftStartZ[i][j]からRightEndZ[i][j]−1(それらを含む)の範囲にあるm、およびTopStartZ[i][j]からBottomEndZ[i][j]−1(それらを含む)の範囲にあるnに対して、アップサンプルされたピクチャは、ScaledPaddedRefLayerA[m][n]を占める。
[0131]最終のScaledPaddedRefLayer
A[x][y]は、以下に記載されるパディング操作の後、入力Aとともに取得される。アップサンプルの後、スケール化された参照レイヤは、さらには、水平方向および/または垂直方向で埋められて、現在のピクチャと同じ解像度を有するレイヤ間の参照ピクチャ(たとえば、エンハンスメントレイヤのピクチャ)を作り出す。変数Aは、可能な値L、CbまたはCrを伴って、この方法に入力される。AがLと等しい場合、ZはLと等しく設定され、AがCbまたはCrと等しい場合、ZはCと等しく設定される。表6は、パディング操作を説明する例示的なコードを示す。
[0132]交互に、スケール化された参照レイヤのピクチャの上部および下部の部分のパディングが最初になされ得、その後に、スケール化された参照レイヤのピクチャの左側および右側の部分のパディングが続く。表7は、このパディング手法の例を提供する。
あるいは、スケール化された参照レイヤのピクチャによってカバーされないScaledPaddedRefLayerA[x][y]の中のすべてのピクセルは、定数によって満たされ得る。
[0133]いくつかの実施形態では、復号された参照レイヤのピクチャ全体が、アップサンプルされる。スケール化された参照レイヤのオフセットの任意のものの値が負である場合、切り取られた後のピクチャの境界が、現在のピクチャの復号されるピクチャ(たとえば、エンハンスメントレイヤのピクチャ)の境界内にあるように、切り取ることが、スケール化された参照レイヤで適用され得る。この場合、アップサンプルされた領域は、エンハンスメントレイヤのピクチャより小さくてもまたは大きくてもよい。
[0134]シンタックス要素は、ビデオパラメータセットの中で、信号で伝えられ得る。あるいは、そのようなシンタックス要素は、シーケンスパラメータセット、またはスライスヘッダ拡張などの中で、送信され得る。表8は、ビデオパラメータセットの拡張シンタックスの例を提供する。
[0135]いくつかの実施形態では、シンタックス要素scaled_ref_layer_left_offset[i][j]、scaled_ref_layer_top_offset[i][j]、scaled_ref_layer_right_offset[i][j]、scaled_ref_layer_bottom_offset[i][j]は、レイヤiの第jの参照レイヤから変倍され復号された参照レイヤのピクチャの左側、上部、右側、および下部の境界の、復号されているレイヤiの現在のピクチャ(たとえば、エンハンスメントレイヤのピクチャ)の、それぞれ、左側、上部、右側および下部の境界までの距離(たとえば、2つのルーマサンプルを単位にして)を、規定する。スケール化された参照レイヤの境界が、エンハンスメントレイヤのピクチャの外側にある場合、距離は負の数として規定される。存在しない場合、これらのシンタックス要素の値は、0と等しいと暗示される。
[0136]あるいは、スケール化された参照レイヤのオフセットのシンタックス要素を信号で伝えることは、上述される技法と類似のフラグに基づく条件であり得、フラグもレイヤiの各参照レイヤに対して信号で伝えられる。あるいは、スケール化された参照レイヤのオフセットのシンタックス要素が明白に存在するべきレイヤiの参照レイヤの数は、信号で伝えられ、上述の技法と類似の、参照レイヤIDのリストおよび対応するスケール化された参照レイヤのオフセットのシンタックス要素が後に続く。
[0137]変数ScaledRefLayerLeftOffsetZ[i][j]、ScaledRefLayerTopOffsetZ[i][j]、ScaledRefLayerRightOffsetZ[i][j]、ScaledRefLayerBottomOffsetZ[i][j]、ScaledRefLayerPicWidthZ[i][j]およびScaledRefLayerPicHeightZ[i][j]は、上述したものと同じ方法で導き出され得る。
[0138]アップサンプルの後、スケール化された参照レイヤは、さらに、水平方向または垂直方向で埋められ、または切り取られ、現在のピクチャと同じ解像度を有するレイヤ間の参照ピクチャ(たとえば、エンハンスメントレイヤのピクチャ)を作り出す。スケール化された参照レイヤは、幅がScaledRefLayerPicWidth
Z[i][j]サンプル、高さがScaledRefLayerPicHeight
Z[i][j]サンプルのサイズである。0からScaledRefLayerPicWidth
Z[i][j]−1(それらを含む)の範囲にあるx、および0からScaledRefLayerPicHeight
Z[i][j]−1(それらを含む)の範囲にあるyに対して、レイヤiのスケール化された参照レイヤjをScaledLayer
A[x][y]とする。変倍された参照ピクチャが、復号されているレイヤiの現在のピクチャ(たとえば、エンハンスメントレイヤのピクチャ)の境界を越えて拡張することを確実にするために、このピクチャは、切り取られる必要があり得る。変数LeftStart
Z[i][j]、TopStart
Z[i][j]、RightEnd
Z[i][j]およびBottomEnd
Z[i][j]は、次のように導き出され得る。
[0139]切り取った後で取得されるスケール化された参照レイヤのピクチャのサンプルは、ScaledPaddedRefLayerA[x][y]として記憶され、次のように導き出される。以下の導出において、AがL(ルーマ)と等しい場合、ZはLと等しく、AがCbまたはCr(クロマ)と等しい場合、ZはCと等しい。
[0140]LeftStartZ[i][j]からRightEndZ[i][j]−1(それらを含む)の範囲にあるx、およびTopStartZ[i][j]からBottomEndZ[i][j]−1(それらを含む)の範囲にあるyに対して、ScaledPaddedRefLayerA[x][y]は、ScaledLayerA[x−ScaledRefLayerLeftOffsetZ[i][j]][y−ScaledRefLayerTopOffsetZ[i][j]]と等しく設定され得る。パディングは、次いで、上述したようにScaledPaddedRefLayerA[x][y]で実施され得る。加えて、上の実施形態の任意の組合せも、提供され得る。
[0141]図12は、例示的な実施形態によるビデオデータをコーディングするための例示的な方法1200を示す。方法1200は、たとえば、ビデオエンコーダ20またはビデオデコーダ30の1つまたは複数の構成要素によって実行され得る。いくつかの実施形態では、本明細書に記載されるステップのうちの1つまたは複数を実施するために、他の構成要素が使用される場合がある。
[0142]ブロック1202では、参照レイヤのピクチャの少なくとも一部分は、アップサンプルされたピクチャサイズを有するアップサンプルされたピクチャにアップサンプルされ得る。いくつかの実施形態では、参照レイヤのピクチャは、メモリからのビデオ情報から取得または受信され得る。アップサンプルされたピクチャサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを備え得る。いくつかの実施形態では、水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズと異なり得る。たとえば、水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも小さくてよい。あるいは、水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも大きくてよい。
[0143]ブロック1204では、アップサンプルされたピクチャと関連した位置情報は、信号で伝えられ得る。たとえば、アップサンプルされたピクチャと関連した位置情報は、エンハンスメントレイヤのピクチャと関連した位置情報に基づいて、決定され得る。いくつかの実施形態では、エンハンスメントレイヤのピクチャと関連した位置情報は、エンハンスメントレイヤのピクチャの座標を含む。レイヤ間の参照ピクチャは、アップサンプルされたピクチャおよび位置情報に基づいて、生成され得る。
[0144]例に応じて、本明細書に記載される技法のうちの任意のもののいくつかの振る舞いまたは事象は、異なるシーケンスで実行され得、全体的に追加、結合、または除外され得ることが、認識されるべきである(たとえば、記載される振る舞いまたは事象のすべてが、この技法の実施のために必要であるとは限らない)。その上、いくつかの例では、振る舞いまたは事象は、たとえば、マルチスレッドの処理、割込み処理、または多数のプロセッサを用いて、連続的ではなく同時に実行され得る。
[0145]1つまたは複数の例では、述べられた機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで、実施されてもよい。ソフトウェアで実施される場合、諸機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体を介して記憶または伝送され得、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの、有形の媒体に相当するコンピュータ可読記憶媒体、またはコンピュータプログラムの、ある場所から別の場所への、たとえば、通信プロトコルによる転送を促進する任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体または(2)信号またはキャリア波などの通信媒体に相当し得る。データ記憶媒体は、本開示に記載される技法の実施のために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによって、命令、コードおよび/またはデータ構造を取り出すためにアクセスされ得る、任意の利用できる媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
[0146]例として、それに限定されず、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用可能であり、コンピュータによってアクセス可能な他の任意の媒体を備えることができる。同様に、いかなる接続も、コンピュータ可読媒体と当然のことながら呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、キャリア波、信号、または他の一時的な媒体を含まないが、代わりに、非一時的な、有形の記憶媒体を対象とすることを理解されたい。本明細書において、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含み、この場合、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上述したものの組合せも、コンピュータ可読媒体の範囲の中に含められるべきである。
[0147]命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の統合された、もしくは個別の論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書において、前述の構造のうちの任意のものまたは本明細書に記載される技法の実施のために適当な任意の他の構造を参照し得る。加えて、いくつかの態様では、本明細書に記載される機能性は、符号化および復号のために構成され、または組み合わされたコーデックに組み込まれる、専用のハードウェア内および/またはソフトウェアモジュール内で提供され得る。また、この技法は、1つまたは複数の回路または論理要素で、完全に実施され得る。
[0148]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)または1組のIC(たとえば、チップセット)を含む、多種多様なデバイスまたは装置に実装され得る。様々な構成要素、モジュール、またはユニットは、開示された技法を実行するように構成されるデバイスの機能上の態様を強調するために、本開示に記載されるが、必ずしも異なるハードウェアユニットによる実現を求めるとは限らない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わされ、または、上述される1つまたは複数のプロセッサを含む、適当なソフトウェアおよび/またはファームウェアと一緒に相互作用するハードウェアユニットが集まったものによって提供され得る。様々な例が、述べられた。これらおよび他の例は、以下の特許請求の範囲の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオ情報をコーディングするように構成された装置であって、
参照レイヤのピクチャの少なくとも一部分を、アップサンプルされたピクチャサイズを有するアップサンプルされたピクチャへアップサンプルし、前記アップサンプルされたピクチャサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを備える、
前記アップサンプルされたピクチャと関連した位置情報を信号で伝えるように構成される
プロセッサを備える装置。
[C2]
前記参照レイヤのピクチャの前記アップサンプルされる部分のサイズは、前記参照レイヤのピクチャのサイズと等しい、C1に記載の装置。
[C3]
前記プロセッサは、エンハンスメントレイヤのピクチャと関連した位置情報に基づいて、前記アップサンプルされたピクチャと関連した前記位置情報を決定するように、さらに構成される、C1に記載の装置。
[C4]
前記エンハンスメントレイヤのピクチャと関連した前記位置情報は、前記エンハンスメントレイヤのピクチャの座標を備える、C3に記載の装置。
[C5]
前記水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも小さい、C1に記載の装置。
[C6]
前記プロセッサは、前記アップサンプルされたピクチャサイズと前記エンハンスメントレイヤのピクチャのサイズとの間のサイズの差を決定するとともに、前記サイズの差に基づいて前記アップサンプルされたピクチャサイズを増大させるように、さらに構成される、C5に記載の装置。
[C7]
前記プロセッサは、
前記アップサンプルされたピクチャサイズを、前記アップサンプルされたピクチャにピクセル値をパディングすることによって、増大させるとともに、
前記アップサンプルされたピクチャでの最も近い境界ピクセルの値に基づいて、埋められるピクセル値を決定するように、さらに構成される、
C6に記載の装置。
[C8]
前記水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも大きい、C1に記載の装置。
[C9]
前記プロセッサは、前記アップサンプルされたピクチャサイズと前記エンハンスメントレイヤのピクチャのサイズとの間のサイズの差を決定するとともに、前記サイズの差に基づいて、前記アップサンプルされたピクチャサイズを低減するように、さらに構成される、C8に記載の装置。
[C10]
前記プロセッサは、前記信号で伝えられた位置情報に少なくとも部分的に基づいて、水平方向または垂直方向に関するアップサンプル比を決定するように、さらに構成される、C1に記載の装置。
[C11]
前記装置はビデオエンコーダを備える、C1に記載の装置。
[C12]
前記プロセッサは、前記アップサンプルされたピクチャおよび前記位置情報に基づいて、レイヤ間の参照ピクチャを生成するように、さらに構成される、C1に記載の装置。
[C13]
前記装置が、前記メモリと前記プロセッサとを備えるデジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、およびビデオ遠隔会議デバイスのうちの少なくとも1つをさらに備える、C1に記載の装置。
[C14]
ビデオデータをコーディングする方法であって、
参照レイヤのピクチャの少なくとも一部分を、アップサンプルされたピクチャサイズを有するアップサンプルされたピクチャへアップサンプルすることと、前記アップサンプルされたピクチャサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを備える、
アップサンプルされたピクチャと関連した位置情報を信号で伝えることと
を備える方法。
[C15]
前記参照レイヤのピクチャの前記アップサンプルされる部分のサイズは、前記参照レイヤのピクチャのサイズと等しい、C14に記載の方法。
[C16]
エンハンスメントレイヤのピクチャと関連した位置情報に基づいて、前記アップサンプルされたピクチャと関連した前記位置情報を決定することを、さらに備える、C14に記載の方法。
[C17]
前記エンハンスメントレイヤのピクチャと関連した前記位置情報は前記エンハンスメントレイヤのピクチャの座標を備える、C16に記載の方法。
[C18]
前記水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも小さい、C14に記載の方法。
[C19]
前記アップサンプルされたピクチャサイズと前記エンハンスメントレイヤのピクチャのサイズとの間のサイズの差を決定することと、前記サイズの差に基づいて前記アップサンプルされたピクチャサイズを増大させることとを、さらに備える、C18に記載の方法。
[C20]
前記アップサンプルされたピクチャサイズを、前記アップサンプルされたピクチャにピクセル値をパディングすることによって、増大させることと、
前記アップサンプルされたピクチャでの最も近い境界ピクセルの値に基づいて、埋められるピクセル値を決定することとを、さらに備える、
C19に記載の方法。
[C21]
前記水平または垂直のアップサンプルされたピクチャサイズのうちの少なくとも一方は、エンハンスメントレイヤのピクチャの、それぞれ、水平のピクチャサイズまたは垂直のピクチャサイズよりも大きい、C14に記載の方法。
[C22]
前記アップサンプルされたピクチャサイズと前記エンハンスメントレイヤのピクチャのサイズとの間のサイズの差を決定することと、前記サイズの差に基づいて、前記アップサンプルされたピクチャサイズを低減することとを、さらに備える、C21に記載の方法。
[C23]
前記信号で伝えられた位置情報に少なくとも部分的に基づいて、水平方向または垂直方向に関するアップサンプル比を決定することを、さらに備える、C14に記載の方法。
[C24]
前記アップサンプルされたピクチャおよび前記位置情報に基づいて、レイヤ間の参照ピクチャを生成することを、さらに備える、C14に記載の方法。
[C25]
ビデオ情報を処理するための装置であって、
参照レイヤのピクチャを、アップサンプルされたピクチャサイズを有するアップサンプルされたピクチャへアップサンプルするための手段と、前記アップサンプルされたピクチャサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを備える、
前記アップサンプルされたピクチャと関連した位置情報を信号で伝えるための手段と
を備える装置。
[C26]
エンハンスメントレイヤのピクチャと関連した位置情報に基づいて、前記アップサンプルされたピクチャと関連した前記位置情報を決定するための手段を、さらに備える、C25に記載の装置。
[C27]
前記アップサンプルされたピクチャサイズとエンハンスメントレイヤのピクチャのサイズとの間のサイズの差を決定するとともに、前記サイズの差に基づいて前記アップサンプルされたピクチャサイズを増大させるための手段を、さらに備える、C25に記載の装置。
[C28]
プロセッサによって実行されるときに、前記プロセッサに、
参照レイヤのピクチャを、アップサンプルされたピクチャサイズを有するアップサンプルされたピクチャへアップサンプルさせ、前記アップサンプルされたピクチャサイズは、水平のアップサンプルされたピクチャサイズと、垂直のアップサンプルされたピクチャサイズとを備える、
前記アップサンプルされたピクチャと関連した位置情報を信号で伝えさせる、
そこに記憶されている命令を有する非一時的なコンピュータ可読媒体。
[C29]
実行されるときに、前記プロセッサに、エンハンスメントレイヤのピクチャと関連した位置情報に基づいて、前記アップサンプルされたピクチャと関連した前記位置情報を決定させる、そこに記憶されている命令をさらに有する、C28に記載の非一時的なコンピュータ可読媒体。
[C30]
実行されるときに、前記プロセッサに、前記アップサンプルされたピクチャサイズとエンハンスメントレイヤのピクチャのサイズとの間のサイズの差を決定させ、前記サイズの差に基づいて前記アップサンプルされたピクチャサイズを増大させる、そこに記憶されている命令をさらに有する、C28に記載の非一時的なコンピュータ可読媒体。