[0020]本開示において説明される技法は、概して、スケーラブル映像コーディング(SVC)及び3D映像コーディングに関するものである。例えば、それらの技法は、高効率映像コーディング(HEVC)スケーラブル映像コーディング(SVC)拡張に関連するものであり、高効率映像コーディング(HEVC)スケーラブル映像コーディング(SVC)拡張とともに又は高効率映像コーディング(HEVC)スケーラブル映像コーディング(SVC)拡張内において使用することができる。SVC拡張では、複数の映像情報層が存在することが可能である。最下部レベルの層は、基本層(BL)として働くことができ、最上部の層は、拡張された層(EL)として働くことができる。“拡張された層”は、“拡張層”と時々呼ばれ、これらの用語は、互換可能な形で使用することができる。中央のすべての層は、EL又はBLのいずれかとして又は両方として働くことができる。例えば、中央の1つの層は、その下方の層、例えば、基本層又は介在する拡張層、に関するELであることができ、同時に、その上方の拡張層に関するBLとして働くことができる。
[0021]例示のみを目的として、本開示において説明される技法は、2つのみの層(例えば、下位層、例えば、基本層、及び高位層、例えば、拡張層)を含む例を用いて説明される。本開示において説明される技法は、複数の基本層及び拡張層を用いた例に拡大できることが理解されるべきである。
[0022]映像コーディング規格は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262又はISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、ITU−T H.264(ISO/IEC MPEG−4 AVCとも呼ばれる)を含み、それのスケーラブル映像コーディング(SVC)と、マルチビュービデオコーディング(MVC)拡張と、を含む。さらに、新しいコーディング規格、すなわち、高効率ビデオコーディング(HEVC)、が、ITU−Tビデオコーディングエキスパーツグループ(VCEG)及びISO/IECモーションピクチャエキスパーツグループ(MPEG)の映像コーディングに関する共同作業チーム(JCT−VC)によって開発中である。2012年6月7日現在では、HEVCの最近のドラフトを、http://wg11.sc29.org/jct/doc_end_user/current_document.php?id=5885/JCTVC-I1003-v2から入手可能である。2012年6月7日現在では、“HEVCワーキングドラフト7”と呼ばれる他のHEVCの最近のドラフトを、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zipから入手可能である。HEVCワーキングドラフト7に関する完全な引用名は、HCTVC-I1003, Bross et al., "High Efficiency Video Coding(HEVC) Text Specification Draft 7," Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, Switzerland, April 27, 2012 to May 7, 2012である。これらの引用文書の各々は、引用によってその全体が組み入れられている。
[0023]スケーラブル映像コーディング(SVC)は、品質(信号対雑音(SNR)とも呼ばれる)スケーラビリティ、空間的スケーラビリティ及び/又は時間的スケーラビリティを提供するために使用することができる。拡張された層は、基本層と異なる空間解像度を有することができる。例えば、ELとBLとの間の空間アスペクト比は、1.0、1.5、2.0又はその他の異なる比であることができる。換言すると、ELの空間アスペクトは、BLの空間アスペクトの1.0倍、1.5倍又は2.0倍に等しいことができる。幾つかの例では、ELのスケーリング係数は、BLよりも大きいことができる。例えば、ELにおけるピクチャのサイズは、BLにおけるピクチャのサイズよりも大きいことができる。このようにして、制限ではないが、ELの空間解像度は、BLの空間解像度よりも大きいことが可能である。
[0024]H.264に関するSVC拡張においては、現在のブロックの予測は、SVCに関して提供される異なる層を用いて行うことができる。該予測は、層間予測と呼ぶことができる。SVCでは、層間冗長性を低減させるために層間予測法を利用することができる。層間予測の幾つかの例は、層間イントラ予測と、層間動き予測と、層間残差予測と、を含むことができる。層間イントラ予測は、拡張層における現在のブロックを予測するために基本層において共配置されたブロックの再構築を使用する。層間動き予測は、拡張層における動きを予測するために基本層の動きを使用する。層間残差予測は、拡張層の残差を予測するために基本層の残差を使用する。
[0025]層間残差予測では、拡張層における現在のブロックを予測するために基本層の残差を使用することができる。残差は、映像ユニットとソース映像ユニットに関する時間的予測の差分であるであると定義することができる。残差予測においては、現在のブロックを予測する際には基本層の残差も考慮される。例えば、現在のブロックは、拡張層からの残差、拡張層からの時間予測、及び基本層からの残差を用いて再構築することができる。現在のブロックは、次の方程式により再構築することができる。
ここで、I^eは、現在のブロックの再構築を表し、reは、拡張層からの残差を表し、Peは、拡張層からの時間的予測を表し、rbは、基本層からの残差予測を表す。
[0026]拡張層におけるマクロブロック(MB)に関して層間残差予測を使用するために、基本層の共配置されたマクロブロックは、インターMBであるべきであり、共配置された基本層マクロブロックの残差は、(例えば、SVCにおける層は異なる空間解像度を有することができるため)拡張層の空間解像度比によりアップサンプリングすることができる。層間残差予測において、拡張層の残差とアップサンプリングされた基本層の残差との間の差分は、ビットストリームにおいてコーディングすることができる。基本層の残差は、基本層及び拡張層の量子化ステップ間の比に基づいて正規化することができる。
[0027]H.264のSVC拡張は、復号器に関して低い複雑さを維持するために動き補償に関する単一ループ復号を要求する。概して、動き補償は、次のように時間予測及び現在のブロックに関する残差を加えることによって行われる。
ここで、I^は、現在のフレームを表し、rは、残差を表し、Pは、時間的予測を表す。単一ループ復号において、SVCにおける各々のサポートされる層は、単一動き補償ループを用いて復号することができる。これを達成するために、高位層を層間イントラ予測するために使用されるすべての層が、制約されたイントラ予測を用いてコーディングされる。制約されたイントラ予測において、イントラモードMBは、近隣のインターコーディングされたMBからのサンプルを参照せずにイントラコーディングされる。他方、HEVCは、SVCに関する多ループ復号を可能にし、SVC層は、複数の動き補償ループを用いて復号することができる。例えば、基本層が最初に完全に復号され、次に、拡張層が復号される。
[0028]方程式(1)において公式化された残差予測は、H.264 SVC拡張における効率的な技法であることができる。しかしながら、その性能は、HEVC SVC拡張においてさらに向上させることができ、特に、HEVC SVC拡張において多ループ復号が使用されるときである。
[0029]多ループ復号の場合は、差分領域動き補償を残差予測の代わりに使用することができる。SVCでは、拡張層は、ピクセル領域コーディング又は差分領域コーディングを用いてコーディングすることができる。ピクセル領域コーディングでは、非SVC HEVC層に関するように、拡張層ピクセルに関する入力ピクセルをコーディングすることができる。他方、差分領域コーディングでは、拡張層に関する差分値をコーディングすることができる。差分値は、拡張層に関する入力ピクセルと対応するスケーリングされた基本層再構築ピクチャとの間の差分であることができる。該差分値は、差分領域動き補償に関する動き補償において使用することができる。
[0030]差分領域を用いたインターコーディングに関して、現在の予測されるブロックは、拡張層基準ピクチャにおける対応する予測されるブロックサンプルとスケーリングされた基本層基準ピクチャにおける対応する予測されるブロックサンプルとの間の差分値に基づいて決定される。差分値は、差分予測されたブロックと呼ぶことができる。共配置された基本層再構築サンプルは、拡張層再構築サンプルを得るために差分予測されたブロックに加えられる。
[0031]しかしながら、層間予測において差分領域動き補償を使用することは、2組の動き推定及び動き補償を導入し、その理由は、動き推定及び動き補償は、ピクセル領域及び差分領域の両方に関してしばしば使用されるためである。2組の動き推定及び動き補償を導入することは、より高いバッファ上及び計算上のコストに結び付く可能性があり、それは、符号器及び復号器にとって実際的でないであろう。さらに、2組の動きベクトルは異なる性質を有しており、コーディングユニット(CU)レベルでインターリービングするときには動きフィールドがイレギュラーになるおそれがあるため、2組の動きベクトルをコーディングすることは、コーディング効率を低下させるおそれがある。さらに、差分領域での動き推定は、基本層及び拡張層が同じ動きを共有するように要求する。さらに、2つの層間での差分ピクチャの導出は、各層の完全に再構築されたピクチャに基づくため、差分領域動き補償は、単一ループ復号とともには機能しない。従って、差分領域動き補償を使用時には2組の動き推定及び動き補償を有する冗長性を回避するのが有利である。さらに、単一ループ復号において差分領域動き補償を拡張するのが有利である。
[0032]本開示において説明される技法は、SVCにおける層間残差予測及び差分領域動き補償に関連する課題に対処することができる。それらの技法は、一般化された残差予測(GRP)フレームワークを提供することができる。上において説明されるように、層間残差予測は、現在の映像ユニット、例えば、ブロック又はフレーム、を予測する際に基準層の残差を使用する。一般化された残差予測では、現在の映像ユニットの層間残差予測は、現在の層の残差、現在の層の時間的予測、及び基準層の残差に基づくことができる。基準層の残差は、重み付け係数によって調整することができる。重み付け係数は、様々なタイプの情報に基づくことができ及び様々なタイプの情報を含むことができる。該情報の例は、重み付け候補の数と、重み付けステップと、重み付けインデックスと、重み付けテーブルと、を含むことができる。GRPフレームワークは、イントラ予測にも適用することができる。イントラ予測を使用時には、GRPフレームワークでは、現在の層からの時間的予測の代わりに、現在の層からの空間的予測が使用される。例えば、現在の映像ユニットの層間残差予測は、現在の層の残差、現在の層の空間的予測、及び基準層の残差に基づくことができる。
[0033]本開示の態様によるGRPフレームワークは、重み付け係数を組み入れることによって様々なタイプの残差予測に対処することができる。重み付け係数を適宜調整することは、残差予測に関して有意なコーディング利得に結び付くことができる。さらに、GRPフレームワークにおいて、残差予測は、必ずしも伝統的な残差予測における基本層でない基準層を用いて行うことができる。例えば、基準層は、現在の拡張層から導き出すことができる。GRPは、重み付け係数が1に設定されるときには伝統的な残差予測にも対処することができる。GRPフレームワークは、単一ループ復号及び多ループ復号の両方とともに使用することができる。さらに、GRPフレームワークでは、差分領域での動き推定は必要なく、従って、現在の層及び拡張層は、動き推定のために同じ動きを共有する必要がない。GRPフレームワークは、数多くの異なるタイプの残差予測に適用することができ、方程式(1)において定義される伝統的な残差予測及び差分領域補償が、GRPフレームワークを使用する2つの具体的なシナリオである。それらの技法は、HEVCのスケーラブル拡張における動き補償性能を向上させることができ、及び、HEVCの3D映像コーディング拡張にも適用することができる。
[0034]新規のシステム、装置、及び方法の様々な態様が、以下において添付図を参照してさらに詳細に説明される。しかしながら、本開示は、数多くの形態で具現化することができ、本開示の全体を通じて提示される特定の構造又は機能に限定されるとは解釈されるべきでない。むしろ、これらの態様は、本開示が徹底的かつ完全であるようにするために、及び本開示の適用範囲を当業者に十分に伝えるために提供される。ここにおける教示に基づき、本開示の適用範囲は、本発明のその他の態様と独立して実装されるか又は組み合わせて実装されるかにかかわらず、ここにおいて開示される新規のシステム、装置、及び方法のあらゆる態様を網羅することが意図されることを当業者は評価すべきである。例えば、ここにおいて説明される態様のうちのあらゆる数を用いて装置を実装すること又は方法を実践することができる。さらに、本発明の適用範囲は、ここにおいて説明される本発明の様々な態様に加えての又はここにおいて説明される本発明の様々な態様以外のその他の構造、機能、又は構造と機能を用いて実践される装置又は方法を網羅することが意図される。ここにおいて開示される態様は、請求項の1つ以上の要素によって具現化できることが理解されるべきである。
[0035]ここでは特定の態様について説明されているが、これらの態様の数多くの変形及び置換が本開示の適用範囲内である。好ましい態様の幾つかの利益及び利点が述べられているが、本開示の適用範囲は、特定の利益、用途、又は目標に限定されることは意図されない。むしろ、本開示の態様は、異なる無線技術、システム構成、ネットワーク、及び送信プロトコルに対して広範囲にわたって適用可能であることが意図され、それらのうちの一部が図内において及び好ましい態様に関する以下の説明において例として記述されている。発明を実施するための形態及び図面は、限定するのではなく本開示を単に例示することが目的であり、本開示の適用範囲は、添付された請求項及びそれらの同等物によって定義される。
[0036]図1は、本開示において説明される態様により技法を利用することができる映像符号化及び復号システム例を示したブロック図である。図1に示されるように、システム10は、行先デバイス14によってのちに復号されるべき符号化された映像データを提供するソースデバイス12を含む。特に、ソースデバイス12は、コンピュータによって読み取り可能な媒体16を介して行先デバイス14に映像データを提供する。ソースデバイス12及び行先デバイス14は、広範なデバイスを備えることができ、デスクトップコンピュータ、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆる“スマート”フォン、いわゆる“スマート”パッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイス、等を含む。幾つかの場合は、ソースデバイス12及び行先デバイス14は、無線通信のために装備することができる。
[0037]行先デバイス14は、コンピュータによって読み取り可能な媒体16を介して復号されるべき符号化された映像データを受信することができる。コンピュータによって読み取り可能な媒体16は、符号化された映像データをソースデバイス12から行先デバイス14に移動させることが可能なタイプの媒体又はデバイスを備えることができる。一例では、コンピュータによって読み取り可能な媒体16は、ソースデバイス12が符号化された映像データをリアルタイムで直接行先デバイス14に送信するのを可能にする通信媒体を備えることができる。符号化された映像データは、通信規格、例えば、無線通信プロトコル、によりを変調することができ、及び行先デバイス14に送信することができる。通信媒体は、無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的送信ライン、を備えることができる。通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又はソースデバイス12から行先デバイス14への通信を容易にするのに役立つことができるその他のあらゆる装置を含むことができる。
[0038]幾つかの例では、符号化されたデータは、出力インタフェース22から記憶デバイスに出力することができる。同様に、符号化されたデータは、入力インタフェースによって記憶デバイスからアクセスすることができる。記憶デバイスは、様々な分散された又はローカルでアクセスされるデータ記憶媒体、例えば、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は非揮発性メモリ、又は符号化された映像データを格納するためのその他の適切なデジタル記憶媒体を含むことができる。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化された映像を格納することができるファイルサーバ又は他の中間的な記憶デバイスに対応することができる。行先デバイス14は、ストリーミング又はダウンロードを介して記憶デバイスから格納された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納すること及び符号化された映像データを行先デバイス14に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、(例えば、ウェブサイトのための)ウェブサーバと、FTPサーバと、ネットワーク接続記憶(NAS)デバイスと、ローカルディスクドライブと、を含む。行先デバイス14は、インターネット接続を含む標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。これは、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム、等)、又は両方の組み合わせを含むことができる。記憶デバイスからの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
[0039]本開示の技法は、無線の用途またはセッティングには必ずしも限定されない。それらの技法は、映像コーディングに適用することができ、様々なマルチメディア用途、例えば、オーバー・ザ・エアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、インターネットストリーミング映像送信、例えば、HTTPを通じてのダイナミックアダプティブストリーミング(DASH)、データ記憶媒体への格納のために符号化されるデジタル映像、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートする。幾つかの例では、システム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、等の用途をサポートするために1方向又は2方向の映像送信をサポートするように構成することができる。
[0040]図1の例では、ソースデバイス12は、映像ソース18と、映像符号器20と、出力インタフェース22と、を含む。行先デバイス14は、入力インタフェース28と、映像復号器30と、表示装置32と、を含む。本開示により、ソースデバイス12の映像符号器20は、複数の規格又は拡張規格に準拠して映像データを含むビットストリームをコーディングするための技法を適用するように構成することができる。その他の例では、ソースデバイス及び行先デバイスは、その他のコンポーネント又は配置を含むことができる。例えば、ソースデバイス12は、外部の映像ソース18、例えば、外部のカメラ、から映像データを受信することができる。同様に、行先デバイス14は、一体化された表示装置を含むのではなく、外部の表示装置とインタフェースすることができる。
[0041]図1の例示されるシステム10は、単なる一例である。現在のブロックに関する動きベクトル予測子に関する候補リストのための候補を決定するための技法は、あらゆる映像符号化及び/又は復号デバイスによって実行することができる。概して、本開示の技法は、映像符号化デバイスによって実行されるが、それらの技法は、典型的には“CODEC”と呼ばれる映像符号器/復号器によって実行することもできる。さらに、本開示の技法は、映像プリプロセッサによって実行することもできる。ソースデバイス12及び行先デバイス14は、ソースデバイス12が行先デバイス14への送信のためにコーディングされた映像データを生成する該コーディングデバイスの例であるにすぎない。幾つかの例では、デバイス12、14は、デバイス12、14の各々が符号化コンポーネント及び復号コンポーネントを含むような実質上対称的な形で動作することができる。従って、システム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、に関して、映像デバイス12、14、間での1方向又は2方向の映像送信をサポートすることができる。
[0042]ソースデバイス12の映像ソース18は、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、及び/又は映像コンテンツプロバイダからの映像を受信するための映像フィードインタフェース、を含むことができる。さらなる代替として、映像ソース18は、コンピュータグラフィックに基づくデータを、ソース映像、又は、ライブ映像、アーカイブに保存された映像、及びコンピュータによって生成された映像の組み合わせとして生成することができる。幾つかの場合においては、映像ソース18がビデオカメラである場合は、ソースデバイス12及び行先デバイス14は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、上記のように、本開示において説明される技法は、映像コーディング全般に適用可能であり、無線及び/又は有線用途に適用することができる。各場合において、キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、映像符号器20によって符号化することができる。符号化された映像情報は、出力インタフェース22によってコンピュータによって読み取り可能な媒体16上に出力することができる。
[0043]コンピュータによって読み取り可能な媒体16は、一時的な媒体、例えば、無線放送又は有線のネットワーク送信、又は記憶媒体(すなわち、非一時的な記憶媒体)例えば、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイ(登録商標)ディスク、又はその他のコンピュータによって読み取り可能な媒体、を含むことができる。幾つかの例では、ネットワークサーバ(示されていない)は、符号化された映像データをソースデバイス12から受信し、符号化された映像データを、例えば、ネットワーク送信、直接有線通信、等を介して、行先デバイス14に提供することができる。同様に、媒体生産ファシリティ、例えば、ディスクスタンピングファシリティ、のコンピューティングデバイスは、符号化された映像データをソースデバイス12から受信し、符号化された映像データが入ったディスクを生産することができる。従って、コンピュータによって読み取り可能な媒体16は、様々な例において、様々な形態の1つ以上のコンピュータによって読み取り可能な媒体を含むと理解することができる。
[0044]行先デバイス14の入力インタフェース28は、コンピュータによって読み取り可能な媒体16から情報を受信する。コンピュータによって読み取り可能な媒体16の情報は、ブロック及びその他のコーディングされたユニット、例えば、GOP、の特性及び/又は処理を記述した構文要素を含む、映像復号器30によっても使用される、映像符号器20によって定義された構文情報を含むことができる。表示装置32は、復号された映像データをユーザに表示し、様々な表示装置、例えば、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置、のうちのいずれかを備えることができる。
[0045]映像符号器20及び映像復号器30は、映像コーディング規格、例えば、現在策定中の高効率映像コーディング(HEVC)規格、により動作することができ、及び、HEVCテストモデル(HM)に準拠することができる。代替として、映像符号器20及び映像復号器30は、その他の独占規格又は工業規格、例えば、ITU−T H.264規格、代替でMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれる、又は該規格の拡張版により動作することができる。しかしながら、本開示の技法は、上記の規格を含むいずれの特定のコーディング規格にも制限されず、さらに上記のいずれの規格にも限定されない。映像コーディング規格のその他の例は、MPEG−2と、ITU−T H.263とを含む。図1には示されていないが、幾つかの態様では、映像符号器20及び映像復号器30は、各々、音声符号器及び復号器と一体化することができ、及び、共通のデータストリーム又は別々のデータストリーム内の音声及び映像の両方の符号化を取り扱うための該当するMUX−DEMUXユニット、又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合は、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル(UDP)に準拠することができる。
[0046]映像符号器20及び映像復号器30は、各々、様々な適切な符号器回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内において部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納することができ及び本開示の技法を実行するために1つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイスにおいて結合された符号器/復号器(CODEC)の一部として一体化することができる。映像符号器20及び/又は映像復号器30を含むデバイスは、集積回路、マイクロプロセッサ、及び/又は無線通信デバイス、例えば、携帯電話、を備えることができる。
[0047]JCT−VCは、HEVC規格の策定作業中である。HEVC標準化努力は、HEVCテストモデル(HM)と呼ばれる映像コーディングデバイスの進化中のモデルに基づく。HMは、例えば、ITU−T H.264/AVCによる既存のデバイスと比較して幾つかの追加の映像コーディングデバイス能力を仮定している。例えば、H.264は、9つのイントラ予測符号化モードを提供する一方で、HMは、33ものイントラ予測符号化モードを提供することができる。
[0048]概して、HMのワーキングモデルでは、映像フレーム又はピクチャは、ツリーブロックのシーケンス又はルマサンプルとクロマサンプルの両方を含む最大コーディングユニット(LCU)に分割することができると記述している。ビットストリーム内の構文データは、ピクセル数の点で最大のコーディングユニットであるLCUに関するサイズを定義することができる。スライスは、コーディング順序で連続する幾つかのツリーブロックを含む。映像フレーム又はピクチャは、1つ以上のスライスに分割することができる。各ツリーブロックは、四分木によりコーディングユニット(CU)に分割することができる。概して、四分木データ構造は、CU当たり1つのノードを含み、ツリーブロックに対応するルートノードを有する。CUが4つのサブCUに分割される場合は、CUに対応するノードは、4つの葉ノードを含み、それらの各々は、サブCUのうちの1つに対応する。
[0049]四分木データ構造の各ノードは、対応するCUに関する構文データを提供することができる。例えば、四分木内のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含むことができる。CUに関する構文要素は、繰り返し定義することができ、及び、CUがサブCUに分割されるかどうかに依存することができる。CUがそれ以上分割されない場合は、それは葉CUと呼ばれる。本開示では、オリジナルの葉CUが明示で分割されない場合でも、葉CUの4つのサブCUも葉CUと呼ばれる。例えば、16×16サイズのCUがそれ以上分割されない場合は、16×16サイズのCUは分割されなかったが4つの8×8サブCUも葉CUと呼ばれる。
[0050]CUは、H.264規格のマクロブロックと同様の目的を有し、ただし、CUはサイズの区別を有さない。例えば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割することができ、各子ノードは、親ノード及び他の4つの子ノードに分割することができる。最終的な、分割されない子ノードは、四分木の葉ノードと呼ばれ、葉CUともよばれるコーディングノードを備える。コーディングされたビットストリームと関連付けられた構文データは、ツリーブロックを分割することができる最大回数を定義することができ、最大CU深度と呼ばれ、コーディングノードの最小サイズを定義することもできる。従って、ビットストリームは、最小のコーディングユニット(SCU)を定義することもできる。本開示は、HEVCに関するCU、PU、又はTUのいずれか、又は、その他の規格に関する同様のデータ構造(例えば、H.264/AVCにおけるマクロブロック及びサブブロック)を意味するために用語“ブロック”を使用する。
[0051]CUは、コーディングノードと、そのコーディングノードと関連付けられた予測ユニット(PU)及び変換ユニット(U)を含む。CUのサイズは、コーディングノードのサイズに対応し、形状は正方形でなければならない。CUのサイズは、8×8ピクセルからツリーブロックのサイズまでの範囲であることができ、最大サイズは64×64ピクセル以上である。各CUには、1つ以上のPU及び1つ以上のTUが入ることができる。CUと関連付けられた構文データは、例えば、1つ以上のPUへのCUの分割を記述することができる。分割モードは、CUがスキップ又は直接モード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかの間で異なることができる。PUは、形状が非正方形に分割することができる。CUと関連付けられた構文データは、例えば、四分木による1つ以上のTUへのCUの分割も記述することができる。TUの形状は、正方形であっても非正方形であってもよい。
[0052]HEVC規格は、TUによる変形を考慮しており、異なるCUごとに異なることができる。TUは、典型的には、分割されたLCUに関して定義される所定のCU内のPUのサイズに基づいてサイズが設定されるが、常にそうであるわけではない。TUは、典型的には、PUと同じサイズであるか又はそれよりも小さい。幾つかの例では、CUに対応する残差サンプルは、“残差四分木(RQT)”と呼ばれる四分木構造を用いてより小さいユニットに細分割することができる。RQTの葉ノードは、変換ユニット(TU)と呼ぶことができる。TUと関連付けられたピクセル差分値は、変換係数を生成するために変換することができ、それらは量子化することができる。
[0053]葉CUは、1つ以上の予測ユニット(PU)を含むことができる。概して、PUは、対応するCUの全部又は一部に対応する空間エリアを表し、PUに関する基準サンプルを取り出すためのデータを含むことができる。さらに、PUは、予測に関連するデータを含む。例えば、PUがイントラモード符号化されるときには、PUに関するデータは、残差四分木(RQT)に含めることができ、それは、PUに対応するTUに関するイントラ予測モードを記述するデータを含むことができる。他の例として、PUがインターモード符号化されるときには、PUは、PUに関する1つ以上の動きベクトルを定義するデータを含むことができる。PUに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する解像度(例えば、1/4ピクセル精度又は1/8ピクセル精度)、動きベクトルが指し示す基準ピクチャ、及び/又は動きベクトルに関する基準ピクチャリスト(例えば、リスト0、リスト1、又はリストC)を記述することができる。
[0054]1つ以上のPUを有する葉CUは、1つ以上の変換ユニット(TU)を含むこともできる。変換ユニットは、上述されるように、RQT(TUユニットは、上述されるように、RQT(TU四分木構造とも呼ばれる)を用いて指定することができる。例えば、分割フラグは、葉CUが4つの変換ユニットに分割されるかどうかを示すことができる。次に、各変換ユニットは、さらなるサブTUにさらに分割することができる。TUがそれ以上分割されない場合は、それは、葉TUと呼ぶことができる。概して、イントラコーディングに関して、葉CUに属するすべての葉TUは、同じイントラ予測モードを共有する。すなわち、葉CUのすべてのTUに関する予測された値を計算するために同じイントラ予測モードが概して適用される。イントラコーディングに関して、映像符号器は、TUに対応するCUの部分とオリジナルブロックとの間の差分として、イントラ予測モードを用いて各葉TUに関する予測された値を計算することができる。TUは、必ずしもPUのサイズに限定されない。従って、TUは、PUよりも大きいこと又は小さいことができる。イントラコーディングに関して、PUは、同じCUに関する対応する葉TUと共配置することができる。幾つかの例では、葉TUの最大サイズは、対応する葉CUのサイズに対応することができる。
[0055]さらに、葉CUのTUは、残差四分木(RQT)と呼ばれる各々の四分木データ構造と関連付けることもできる。すなわち、葉CUは、その葉CUがどのようにしてTUに分割されるかを示す四分木を含むことができる。TU四分木のルートノードは、概して、葉CUに対応し、CU四分木のルートノードは、概して、ツリーブロック(又はLCU)に対応する。分割されないRQTのTUは、葉TUと呼ばれる。概して、本開示は、別記がないかぎり、葉CU及び葉TUをそれぞれ意味するために用語CU及びTUを使用する。
[0056]映像シーケンスは、典型的には、一連の映像フレーム又はピクチャを含む。ピクチャのグループ(GOP)は、概して、映像ピクチャのうちの一連の1つ以上を備える。GOPは、GOP内に含まれるピクチャ数を記述する構文データをGOPのヘッダ、1つ以上のピクチャのヘッダ、又はその他の場所において含むことができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器20は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに対して動作する。映像ブロックは、CU内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格によりサイズが異なることができる。
[0057]一例として、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の1方の方向が分割されず、他方の方向が25%及び75%に分割される。25%の分割に対応するCUの部分は、“n”によって示され、“上(Up)”、“下(Down)”、“左(Left)”、又は“右(Right)”の表示文字によって後続される。従って、例えば、“2N×nU”は、水平に分割され、最上部が2N×0.5N PU、最下部が2N×1.5N PUである2N×2N CUを意味する。
[0058]本開示においては、“N×N”及び“N by N”は、垂直及び水平の寸法に関するブロックのピクチャ寸法を意味するために互換可能な形で使用することができ、例えば、16×16ピクセル又は16 by 16ピクセル。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)及び水平方向に16ピクセル(x=16)を有することになる。同様に、N×Nブロックは、概して、垂直方向にNのピクセル及び水平方向にNのピクセルを有し、ここで、Nは、負でない整数値を表す。ブロック内のピクセルは、行及び列で配列することができる。さらに、ブロックは、水平方向と垂直方向で必ずしも同じピクセル数を有する必要がない。例えば、ブロックは、N×Mピクセルを備えることができ、ここで、Mは必ずしもNと等しくない。
[0059]CUのPUを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器20は、CUのTUに関する残差データを計算することができる。PUは、空間領域(ピクセル領域とも呼ばれる)において予測ピクセルデータを生成する方法又はモードを記述する構文データを備えることができ、及び、TUは、変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後に変換領域において係数を備えることができる。残差データは、符号化されないピクチャのピクセルとPUに対応する予測値との間のピクセル差分に対応することができる。映像符号器20は、CUに関する残差データを含むTUを形成することができ、次に、CUに関する変換係数を生成するためにTUを変換することができる。
[0060]変換係数を生成するための変換に引き続き、映像符号器20は、それらの変換係数の量子化を行うことができる。量子化は、概して、係数を表すために使用されるデータ量を低減させ、さらなる圧縮を提供するために変換係数が量子化されるプロセスを意味する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を低減させることができる。例えば、量子化中にnビット値が切り捨てられてmビット値になり、ここで、nはmよりも大きい。
[0061]量子化に引き続き、映像符号器は、変換係数を走査し、量子化された変換係数を含む二次元行列から一次元ベクトルを生成することができる。走査は、より高いエネルギー(従って、より低い周波数)係数をアレイの前部に置き、より低いエネルギー(及び従って、より高い周波数)係数をアレイの後部に置くように設計することができる。幾つかの例では、映像符号器20は、エントロピー符号化することができるシリアライズされたベクトルを生成するために量子化された変換係数を走査するために予め定義された走査順序を利用することができる。その他の例では、映像符号器20は、適応型走査を行うことができる。一次元ベクトルを形成するために量子化された変換係数を走査後は、映像符号器20は、例えば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔パーティショニングエントロピー(PIPE)コーディング又は他のエントロピー符号化法により一次元ベクトルをエントロピー符号化することができる。映像符号器20は、映像データを復号する際に映像復号器30によって使用するための符号化された映像データと関連付けられた構文要素もエントロピー符号化することができる。
[0062]CABACを行うために、映像符号器20は、コンテキストモデル内のコンテキストを送信されるべきシンボルに割り当てることができる。コンテキストは、例えば、シンボルの近隣値がゼロでないかどうかに関連することができる。CAVLCを行うために、映像符号器20は、送信されるべきシンボルに関する可変長コードを選択することができる。VLCにおけるコードワードは、相対的により短いコードがより確率の高いシンボルに対応し、より長いコードがより確率の低いシンボルに対応するような形で構築することができる。このように、VLCの使用は、例えば、送信されるべき各シンボルに関して等しい長さのコードワードを使用することと比較してビットの節約を達成することができる。確率決定は、シンボルに割り当てられたコンテキストに基づくことができる。
[0063]映像符号器20は、構文データ、例えば、ブロックに基づく構文データ、フレームに基づく構文データ、及び.GOPに基づく構文データを、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、又はGOPヘッダにおいて、映像復号器30にさらに送信することができる。GOP構文データは、各々のGOP内のフレーム数を記述することができ、及び、フレーム構文データは、対応するフレームを符号化するために使用される符号化/予測モードを示すことができる。
[0064]図2は、本開示において説明される態様により技法を実装することができる映像符号器の例を示したブロック図である。映像符号器20は、本開示のすべての技法を実行するように構成することができる。一例として、モード選択ユニット40は、本開示において説明されるすべての技法を実行するように構成することができる。しかしながら、本開示の態様は、そのようには限定されない。幾つかの例では、本開示において説明される技法は、映像符号器20の様々なコンポーネントの間で共有することができる。幾つかの例では、さらに加えて又は代替として、プロセッサ(示されていない)は、本開示において説明されるすべての技法を実行するように構成することができる。
[0065]幾つかの実施形態では、モード選択ユニット40、動き推定ユニット42、動き補償ユニット44、イントラ予測ユニット46(示されている又は示されていないモード選択ユニット40の他のコンポーネント)、又は(示されている又は示されていない)符号器20の他のコンポーネントは、本開示の技法を実行することができる。例えば、モード選択ユニット40は、符号化のために映像データを受信することができ、それは、基本層及び対応する1つ以上の拡張層に符号化することができる。モード選択ユニット40、動き推定ユニット42、動き補償ユニット44、イントラ予測ユニット46、又は、符号器20の他の該当するユニットは、予測値及び基準層と関連付けられた調整された残差予測値に少なくとも部分的に基づいて映像ユニットの値を決定することができる。調整された残差予測値は、1と異なる重み付け係数によって乗じられた基準層からの残差予測に等しいことができる。符号器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は、例えば、映像データの各ブロックに関して該当するコーディングモードを選択するために複数のコーディングパス(coding pass)を行うことができる。
[0069]さらに、分割ユニット48は、以前のコーディングパスにおける以前の分割方式の評価に基づいて、映像データのブロックをサブブロックに分割することができる。例えば、分割ユニット48は、最初にフレーム又はスライスをLCUに分割し、及び、レート−歪み解析(例えば、レート−歪み最適化)に基づいて各々のLCUをサブCUに分割することができる。モード選択ユニット40は、サブCUへのLCUの分割を示す四分木データ構造をさらに生成することができる。四分木の葉ノードCUは、1つ以上のPUと、1つ以上のTUと、を含むことができる。
[0070]モード選択ユニット40は、例えば、誤り結果に基づいてコーディングモードのうちの1つ、イントラ又はインター、を選択することができ、及び、結果的に得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に及び基準フレームとしての使用ための符号化されたブロックを再構築するために加算器62に提供する。モード選択ユニット40は、構文要素、例えば、動きベクトル、イントラモードインジケータ、分割情報、及びその他の構文情報、もエントロピー符号化ユニット56に提供する。
[0071]動き推定ユニット42及び動き補償ユニット44は、高度に一体化することができるが、概念上の目的のために別々に示されている。動き推定は、動き推定ユニット42によって行われ、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム(又はその他のコーディングされたユニット)内のコーディング中の現在のブロックに対する基準フレーム(又はその他のコーディングされたユニット)内の予測ブロックに対する現在の映像フレーム又はピクチャ内の映像ブロックのPUの変位を示すことができる。予測ブロックは、ピクセル差分の点でコーディングされるべき映像ブロックのPUに密接にマッチングすることが判明しているブロックであり、差分絶対値和(SAD)、差分二乗和(SSD)、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器20は、基準フレームメモリ64に格納された基準ピクチャの整数未満のピクセル位置に関する値を計算することができる。例えば、映像符号器20は、基準ピクチャの1/4ピクセル位置、1/8ピクセル位置、又はその他の分数のピクセル位置の値を内挿することができる。従って、動き推定ユニット42は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数のピクセル精度を有する動きベクトルを出力することができる。
[0072]動き推定ユニット42は、インターコーディングされたスライス内の映像ブロックのPUの位置を基準ピクチャの予測ブロックの位置と比較することによってそのPUに関する動きベクトルを計算する。基準ピクチャは、第1の基準ピクチャリスト(リスト0)又は第2の基準ピクチャリスト(リスト1)から選択することができ、それらの各々は、基準フレームメモリ64に格納された1つ以上の基準ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56及び動き補償ユニット44に送信する。
[0145]動き補償は、動き補償ユニット44によって行われ、動き推定ユニットによって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含むことができる。繰り返すと、幾つかの例では、動き推定ユニット42及び動き補償ユニット44は、機能的に一体化することができる。現在の映像ブロックのPUに関する動きベクトルを受信した時点で、動き補償ユニット44は、基準ピクチャリストのうちの1つにおいて動きベクトルが指し示す予測ブロックの位置を突き止めることができる。加算器50は、後述されるように、コーディング中の現在の映像ブロックのピクセル値から予測ブロックのピクセル値を減じることによって残差映像ブロックを形成し、ピクセル差分値を形成する。概して、動き推定ユニット42は、ルマコンポーネントに関する動き推定を行い、動き補償ユニット44は、クロマコンポーネント及びルマコンポーネントの両方に関してルマコンポーネントに基づいて計算された動きベクトルを使用する。モード選択ユニット40は、映像スライスの映像ブロックを復号する際に映像復号器30によって使用するために映像ブロック及び映像スライスと関連付けられた構文要素を生成することもできる。
[0074]イントラ予測モジュール46は、上述されるように、動き推定ユニット42及び動き補償ユニット44によって行われるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測モジュール46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。幾つかの例では、イントラ予測ユニット46は、例えば、別々の符号化パス(encoding pass)中に、様々なイントラ予測モードを用いて現在のブロックを符号化することができ、及び、イントラ予測ユニット46(又は、幾つかの例では、モード選択ユニット40)は、使用すべき適当なイントラ予測モードを試験されたモードから選択することができる。
[0075]例えば、イントラ予測ユニット46は、様々な試験されたイントラ予測モードに関するレート−歪み解析を用いてレート−歪み値を計算すること、及び、試験されたモードの中で最良のレート−歪み特性を有するイントラ予測モードを選択することができる。レート−歪み解析は、概して、符号化されたブロックを生成するために符号化されたブロックとオリジナルの符号化されないブロックとの間の歪み(又は誤り)の量、及び符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測モジュール46は、いずれのイントラ予測モードがブロックに関する最良のレート−歪み値を呈するかを決定するために様々な符号化されたブロックに関する歪み及びレートから比率を計算することができる。
[0076]ブロックに関するイントラ予測モードを選択後は、イントラ予測ユニット46は、ブロックに関する選択されたイントラ予測モードを示す情報をエントロピーコーディングユニット56に提供することができる。エントロピーコーディングユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。映像符号器20は、送信されたビットストリーム内に構成データを含めることができ、それらは、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、様々なブロックに関するコンテキクストを符号化する定義、最も可能性の高いイントラ予測モードのインディケーション、イントラ予測モードインデックステーブル、及び各コンテキストに関して使用すべき修正されたイントラ予測モードインデックステーブルを含むことができる。
[0077]映像符号器20は、モード選択ユニット40からの予測データをコーディング中のオリジナルの映像ブロックから減じることによって残差映像ブロックを形成する。加算器50は、この減算動作を行うコンポーネント又はコンポーネント(複数)を表す。変換処理ユニット52は、変換、例えば、離散コサイン変換(DCT)又は概念的に類似の変換、を残差ブロックに適用し、残差変換係数値を備える映像ブロックを生成する。変換処理ユニット52は、DCTに概念的に類似するその他の変換を行うことができる。ウェーブレット変換、整数変換、サブバンド変換又はその他のタイプの変換も使用可能である。いずれの場合も、変換処理ユニット52は、残差ブロックに変換を適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から変換領域、例えば、周波数領域、に変換することができる。変換処理ユニット52は、その結果得られた変換係数を量子化ユニット54に送信することができる。量子化ユニット54は、ビットレートをさらに低減させるために変換係数を量子化する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を低減させることができる。量子化度は、量子化パラメータを調整することによって変更することができる。幾つかの例では、量子化ユニット54は、量子化された変換係数を含む行列の走査を行うことができる。代替として、エントロピー符号化ユニット56は、走査を行うことができる。
[0078]量子化に引き続き、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE)コーディング、又はその他のエントロピー符号化技法を実行することができる。コンテキストに基づくエントロピーコーディングの場合は、コンテキストは、近隣ブロックに基づくことができる。エントロピー符号化ユニット56によるエントロピー符号化に引き続き、符号化されたビットストリームは、他のデバイス(例えば、映像復号器30)に送信すること、又は、のちの送信又は取り出しのためにアーカイブに保存することができる。
[0079]逆量子化ユニット58及び逆変換ユニット60は、例えば、基準ブロックとしてののちの使用のためにピクセル領域において残差ブロックを再構築するために逆量子化及び逆変換をそれぞれ適用する。動き補償ユニット44は、基準フレームメモリ64のフレームのうちの1つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット44は、動き推定における使用のために整数未満のピクセル値を計算するために1つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。加算器62は、基準フレームメモリ64での格納のための再構築された映像ブロックを生成するために動き補償ユニット44によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。再構築された映像ブロックは、後続する映像フレーム内のブロックをインター予測するための基準ブロックとして動き推定ユニット42及び動き補償ユニット44によって使用することができる。
[0080]図3は、本開示において説明される態様により技法を実装することができる映像復号器の例を示したブロック図である。映像復号器30は、本開示のすべての技法を実行するように構成することができる。一例として、動き補償ユニット72及び/又はイントラ予測ユニット74は、本開示において説明されるすべての技法を実行するように構成することができる。しかしながら、本開示の態様は、そのようには限定されない。幾つかの例では、本開示において説明される技法は、映像復号器30の様々なコンポーネントの間で共有することができる。幾つかの例では、さらに加えて又は代替として、プロセッサ(示されていない)は、本開示において説明されるすべての技法を実行するように構成することができる。
[0081]幾つかの実施形態では、エントロピー復号ユニット70、動き補償ユニット72、イントラ予測ユニット74、又は(示されている又は示されていない)復号器30の他のコンポーネントは、本開示の技法を実行することができる。例えば、エントロピー復号ユニット70は、符号化された映像ビットストリームを受信することができ、それは、基本層及び対応する1つ以上の拡張層に関連するデータを符号化することができる。動き補償ユニット72、イントラ予測ユニット74、又は、復号器30の他の該当するユニットは、予測値及び基準層と関連付けられた調整された残差予測値に少なくとも部分的に基づいて映像ユニットの値を決定することができる。調整された残差予測値は、1と異なる重み付け係数によって乗じられた基準層からの残差予測に等しいことができる。復号器30は、映像ユニットを復号し、重み付け係数又は重み付け情報をビットストリームにおいて受信することができる。
[0082]図3の例では、映像復号器30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、基準フレームメモリ82と、加算器80と、を含む。映像復号器30は、幾つかの例では、映像符号器20に関して説明された符号化パスと概して相互的な復号パスを行う(図2)。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成することができ、他方、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成することができる。
[0083]復号プロセス中には、映像復号器30は、符号化された映像スライスの映像ブロックを表す符号化された映像ビットストリーム及び関連付けられた構文要素を映像符号器20から受信する。映像復号器30のエントロピー復号ユニット70は、量子化された係数、動きベクトル又はイントラ予測モードインジケータ、及びその他の構文要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトル及びその他の構文要素を動き補償ユニット72に転送する。映像復号器30は、映像スライスレベル及び/又は映像ブロックレベルで構文要素を受信することができる。
[0084]映像スライスがイントラコーディングされた(I)スライスとしてコーディングされるときには、イントラ予測モジュール74は、シグナリングされたイントラ予測モード及び現在のフレーム又はピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。映像フレームがインターコーディングされた(すなわち、B、P又はGPB)スライスとしてコーディングされるときには、動き補償ユニット72は、動きベクトル及びエントロピー復号ユニット70から受信されたその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つから生成することができる。映像復号器30は、基準フレームメモリ92に格納された基準ピクチャに基づいてデフォルト構築技法を用いて基準フレームリスト、リスト0及びリスト1、を構築することができる。動き補償ユニット72は、動きベクトル及びその他の構文要素を構文解析することによって現在の映像スライスの映像ブロックに関する予測情報を決定し、復号中の現在の映像ブロックに関する予測ブロックを生成するために予測情報を使用する。例えば、動き補償ユニット72は、映像スライス、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスに関する基準ピクチャリストのうちの1つ以上に関する構築情報、スライスの各インター符号化された映像ブロックに関する動きベクトル、スライスの各インターコーディングされた映像ブロックに関する動きベクトル、スライスの各インター符号化された映像ブロックに関するインター予測状態、及び現在の映像スライス内の映像ブロックを復号するためのその他の情報、の映像ブロックをコーディングするために使用される予測モード(例えば、イントラ又はインター予測)を決定するために受信された構文要素の一部を使用する。
[0085]動き補償ユニット72は、内挿フィルタに基づいて内挿を行うこともできる。動き補償ユニット72は、基準ブロックの整数未満のピクチャに関する内挿値を計算するために映像ブロックの符号化中に映像符号器20によって使用される内挿フィルタを使用することができる。この場合は、動き補償ユニット72は、受信された構文要素から映像符号器20によって使用される内挿フィルタを決定すること及び予測ブロックを生成するために内挿フィルタを使用することができる。
[0086]逆量子化ユニット76は、ビットストリーム内で提供され、エントロピー復号モジュール80によって復号された量子化された変換係数を逆量子化する、すなわち、量子化解除する。逆量子化プロセスは、量子化度、そして同様に、適用されるべき逆量子化度、を決定するために映像スライス内の各映像ブロックに関して映像復号器30によって計算された量子化パラメータQPYを使用することを含むことができる。
[0087]逆変換ユニット78は、ピクセル領域において残差ブロックを生成するために逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換プロセスを変換係数に適用する。
[0088]動き補償ユニット82が動きベクトル及びその他の構文要素に基づいて現在の映像ブロックに関する予測ブロックを生成した後は、映像復号器30は、逆変換ユニット78からの残差ブロックを、動き補償ユニット72によって生成された対応する予測ブロックと加算することによって復号された映像ブロックを形成する。加算器90は、この加算動作を行うコンポーネント又はコンポーネント(複数)を表す。希望される場合は、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタを適用することもできる。ピクセル遷移を平滑化するか、又は映像品質を向上するために(コーディングループ内又はコーディングループ後の)その他のループフィルタを使用することもできる。所定のフレーム又はピクチャ内の復号された映像ブロックは、基準ピクチャメモリ92に格納され、それは、後続する動き補償のために使用される基準ピクチャを格納する。基準フレームメモリ82は、表示装置、例えば、図1の表示装置32、でののちの提示のために復号された映像も格納する。
[0089]図4は、本開示の態様による一般化された残差予測のための方法例を示したフローチャートである。本開示において説明される技法は、一般化された残差予測(GRP)フレームワークを提供することができる。上において説明されるように、層間残差予測は、現在の映像ユニット、例えば、フレーム、を予測する際に基準層の残差を使用する。一般化された残差予測では、現在の映像ユニットの層間残差予測は、現在の層の残差、現在の層の時間的予測、及び基準層の残差に基づくことができる。基準層の残差は、重み付け係数によって調整することができる。GRP方式は、次のように定義することができる。
ここで、I^cは、現在のフレームの再構築を表し、rcは、現在の層からの残差予測を表し、Pcは、同じ層からの時間的予測を表し、rrは、基準層からの残差予測を表し、wは、重み付け係数を表す。GRPフレームワークは、イントラCUに適用することもできる。該場合には、Pcは、同じ層からの空間的予測を示す。
[0090]重み付け係数は、様々なタイプの情報に基づくことができ及び様々なタイプの情報を含む。該情報の例は、重み付け候補の数と、重み付けステップと、重み付けインデックスと、重み付けテーブルと、を含むことができる。重み付け候補の数は、基準層の残差に適用するために利用可能である異なる重み付け係数の数を示すことができる。重み付けステップは、利用可能な重み付け係数間の増分又はユニットのサイズを示すことができる。重み付けインデックスは、利用可能な重み付け係数間の特定の重み付け係数を示すことができる。重み付けテーブルは、重み付け係数に関する情報を含むことができ及びルックアップテーブルと同様に、重み付けインデックスによってアクセスすることができる。特定の例では、3つの重み付け係数候補を利用可能である。すなわち、0.0、0.5、及び1.0。この例では、3つの重み付け係数候補が利用可能であるため重み付け候補の数は3である。3つの重み付け候補間の重み付けステップは、0.5である。各重み付け候補は、重み付けインデックスによって識別することができる。重み付け係数0は、インデックス0によって、重み付け係数0.5はインデックス1によって、及び重み付け係数1.0はインデックス2によって識別される。シグナリングフラクション(fraction)はコスト高になる可能性があるため、重み付け係数を導き出すために重み付けステップ及びインデックスを使用することができる。
[0091]本開示の態様によるGRPフレームワークは、重み付け係数を組み入れることによって様々なタイプの残差予測に対処することができる。重み付け係数を適宜調整することは、残差予測に関する有意なコーディング利得に結び付くことができる。GRPは、残差予測において基準層に関する重み付け情報を組み入れることによってメモリ量および計算コストを低減させる一方でコーディング性能を向上させることができる。例えば、GRPは、重み付き残差予測のほうがより正確であるためコーディング性能を向上させることができる。さらに、メモリ量及び計算コストは、例えば、2つの組の動き補償ループは、典型的には、差分領域動き補償におけるようには使用されないため低減させることができる。さらに、GRPフレームワークにおいては、残差予測は、伝統的な残差予測では必ずしも基本層でない基準層を用いて行うことができる。例えば、基準層は、現在の層の拡張層から導き出すことができる。GRPは、重み付け係数が1に設定されるときに伝統的な残差予測に対処することができる。GRPフレームワークは、単一ループ復号及び多ループ復号の両方とともに使用することができる。
[0092]差分領域動き補償に関して、GRPフレームワークは、単一ループ復号において適用することができる。上において説明されるように、H.264では、層間の差分ピクチャは、各層の完全に再構築されたピクチャに基づいて計算しなければならないため、単一ループ復号シナリオでは差分領域動き補償は採用することができない。差分領域動き補償において差分ピクチャを得るために、各層に関する完全な再構築がしばしば使用され、各層に関して、1つの動き補償ループを完全な再構築のために使用することができる。例えば、2つの層の完全な再構築を有するために2つの動き補償ループがしばしば使用される。従って、差分領域動き補償は、単一ループ復号では採用することができない。対照的に、GRPは、単一ループ復号及び多ループ復号の両方をサポートすることができる。さらに、GRPフレームワークでは、差分領域における動き推定は必要ない。従って、現在の層及び拡張層は、動き推定に関して同じ動きを共有する必要がない。GRPフレームワークは、数多くの異なるタイプの残差予測に適用することができ、方程式(1)において定義される伝統的な残差予測及び差分領域動き補償が、2つの特定のGRPフレームワーク使用シナリオである。
[0093]今度は、本開示の態様による一般化された残差予測のための方法例が、図4を参照して説明される。プロセス400は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス400のブロックは、図3の復号器30に関して説明されるが、プロセス400は、上記のように、その他のコンポーネント、例えば、符号器、によって実行することができる。
[0094]ブロック401において、復号器30は、基準層からの残差予測に重み付け係数を適用する。上において説明されるように、一般化された残差予測(GRP)は、基準層からの残差に重み付け係数を適用することができる。重み付け係数は、特定のシナリオ、例えば、単一ループ復号、に関して最適であると決定することができる。重み付け係数は、重み付け候補の数、重み付けステップ、重み付けインデックス、重み付けテーブル、等の情報を含むことができる。
[0095]ブロック402において、復号器30は、拡張層からの残差予測を入手する。ブロック403において、復号器30は、拡張層からの時間的予測を入手する。
[0096]ブロック404において、復号器30は、重み付け係数によって調整された基準層からの残差予測、拡張層からの残差予測、及び拡張層からの時間的予測に基づいて現在の映像ユニットを決定する。上において説明されるように、GRPでは、現在の映像ユニットは、方程式(3)により予測することができる。
[0097]図4に関して説明される本開示の態様による一般化された残差予測のための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図4に関して説明される本開示の態様による一般化された残差予測のための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図4に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[0098]図4Aは、本開示の態様による一般化された残差予測のための他の方法例を示したフローチャートである。プロセス400Aは、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス400Aのブロックは、図3の復号器30に関して説明されるが、プロセス400Aは、上記のように、その他のコンポーネント、例えば、符号器、によって実行することができる。プロセス400Aは、SVC及び3D映像コーディングに対して適用することができる。図4Aに関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[0099]ブロック401Aにおいて、復号器30は、基準層からの残差予測を入手する。基準層は、現在の層に関する基本層であることができる。基準層は、現在の拡張層に対応する拡張層であることもできる。基準層からの残差予測は、様々な方法で決定することができる。例えば、基準層内の共配置された映像ユニットの残差は、現在の層の解像度にマッチさせるためにアップサンプリングすることができる。
[00100]ブロック402Aにおいて、復号器30は、重み付け係数によって基準層からの残差予測を調整する。重み付け係数は、1と異なることができる。重み付け係数が1である場合は、復号器30は、伝統的な残差予測を行うことができる。重み付け係数は、重み付け情報、例えば、重み付けステップ、重み付けテーブル、重み付け係数候補の数、及び重み付けインデックス、に基づいて決定することができる。幾つかの実施形態では、重み付け係数は、ビットストリームにおいて受信することができる。その他の実施形態では、重み付け係数は、ビットストリームで受信された情報から又は以前に復号された情報から少なくとも部分的に導き出すことができる。重み付け係数は、限定されることなしに、次の構文レベルを含むあらゆるコーディングレベルでコーディングすることができる。すなわち、シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ。
[00101]幾つかの実施形態では、重み付け情報は、ビットストリームで受信することもでき、又は、ビットストリームで受信された情報から又は以前に復号された情報から少なくとも部分的に導き出すことができる。重み付け係数は、限定されることなしに、次の構文レベルを含むあらゆるコーディングレベルでコーディングすることもできる。すなわち、シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、ピクセル、及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ。
[00102]ブロック403Aにおいて、復号器30は、予測値を決定する。予測値は、現在の映像ユニットに関する予測値であることができる。幾つかの実施形態では、予測値は、現在の映像ユニットに関する予測ユニットである。予測値は、時間的予測値又は空間的イントラ予測値であることができる。プロセス400Aは、インター予測及びイントラ予測の両方とともに使用することができる。
[00103]ブロック404Aにおいて、復号器30は、予測値及び基準層と関連付けられた調整された残差予測に少なくとも部分的に基づいて映像ユニットの値を決定する。映像ユニットは、映像データのあらゆるユニットであることができ、及び、フレームと、スライスと、最大コーディングユニット(LCU)と、コーディングユニット(CU)と、ブロックと、ピクセルと、サブピクセルとを含むことができ、ただしこれらに限定されない。映像ユニットの値は、映像ユニットに関する予測ユニット(PU)を生成することによって決定することができる。
[00104]幾つかの実施形態では、復号器30は、現在の映像ユニットに関する残差予測、現在の映像ユニットに関する予測値、及び基準層と関連付けられた調整された残差予測に基づいて層内の現在の映像ユニットの値を決定することができる。現在の映像ユニットに関する残差予測及び予測値は、現在の層からであることができる。現在の映像ユニットの値は、現在の映像ユニットに関する予測値、現在の映像ユニットに関する残差予測、及び基準層と関連付けられた調整された残差予測を加えることによって決定することができる。
[00105]図5は、本開示の態様による単一ループ復号を用いた一般化された残差予測のための方法例を示したフローチャートである。上において説明されるように、単一ループ復号では、拡張層の動き補償に関して1つのループが使用される。単一ループ復号のシナリオでは、基本層の完全な再構築は利用できない。従って、基本層の正規化された残差を基本残差予測子として直接採用することができる。拡張層に関して、再構築I^
eは、次のように決定することができる。
ここで、re及びPeは、拡張層の逆量子化された残差及び時間的予測を表し、rbは、(空間的スケーラブルケースでアップサンプリングされた)正規化された基本層残差予測子を表し、rb’は、基本層残差を表し、Qe及びQbは、拡張層及び基本層のそれぞれの量子化ステップを表す。
[00106]今度は、本開示の態様による単一ループ復号を用いた一般化された残差予測のための方法例が、図5を参照して説明される。プロセス500は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス500のブロックは、図3の復号器30に関して説明されるが、プロセス500は、上記のように、その他のコンポーネント、例えば、符号器、によって実行することができる。ブロック501において、復号器30は、GRPフレームワークに関する単一ループ復号における基準層からの残差予測に関する重み付け係数を決定する。ブロック502において、復号器30は、重み付け係数によって調整されたRLからの残差予測、ELからの残差予測、及びELからの時間的予測に基づいて現在の映像ユニットを決定する。例えば、方程式(4)に関して上述されるように、正規化された基本層残差は、RL残差予測のために使用することができる。図5に関して説明される本開示の態様による単一ループ復号を用いた一般化された残差予測のための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図5に関して説明される本開示の態様による一般化された残差予測のための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図5に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[00107]図6は、本開示の態様による多ループ復号を用いた一般化された残差予測のための方法例を示したフローチャートである。上において説明されるように、多ループ復号では、多ループは、拡張層の動き補償のために使用される。多ループ復号のシナリオでは、拡張層を符号化/復号するときに基本層の完全な再構築を利用可能である。従って、以前にコーディングされた拡張層と基本層(必要な場合はアップサンプリングされた)の再構築の間の差分値を残差予測子として採用することができる。拡張層に関して、再構築I^eは、次のように決定することができる。
ここで、reは、拡張層における現在の映像ユニットの逆量子化された残差を示し、Pe及びPbは、拡張層及び基本層のそれぞれにおける現在の映像ユニットに関する時間的予測を示し、I^bは、基本層における現在の映像ユニットの完全な再構築を示す。拡張層及び基本層は、品質に関して異なる目標を有するため、時間的予測Pe及びPbの動きは異なることができる。
[00108]基本層及び拡張層が同じ動きを有する場合は、時間的予測Pe及びPbの動きは同じであり、方程式(5)を直接採用することができる。拡張層のインター映像ユニットを復号するときには、それの拡張層及び基本層の時間的予測Pe及びPbの両方を利用可能である。基本層再構築I^bも利用可能である。従って、再構築I^eは、逆量子化された残差re及びwから入手することができ、それらは、図7及び8に関してより詳細に説明されるようにシグナリングもすること又は導き出すことができる。同様に、GRPフレームワークをイントラCUに適用時には、Pe及びPbは、拡張層及び基本層のそれぞれにおける現在の映像ユニットに関する空間イントラ予測を示す。さらに、Pe及びPbは、同じイントラ予測方向を適用することによって入手することができ、それは、Pe及びPbの同じ動きを仮定することができるインター予測事例と同様である。
[00109]基本層及び拡張層が異なる動きを有する場合は、拡張層及び基本層の時間的予測Pe及びPbが異なり、基本層の残差及び拡張層の残差は相関させることができない。該事例では、残差予測は良い結果に結び付かないことがある。残差予測の性能を向上させるために、拡張層及び基本層の時間的予測は同じ動きを共有すると仮定することができる。EL及びBLの時間的予測が同じ動きを共有すると仮定することに加えて又は仮定する代わりに、残差予測子を生成するために基本層の動き又は拡張層の動きのいずれかを強制的に他の層に適用することができる。例えば、拡張層の時間的予測Peの動きは、Pbを得るために基本層に適用することができる。該事例では、Pe及びPbの両方ともPeの動きによって生成することができるため、拡張層を復号するために2つの動き補償がしばしば使用される。
[00110]今度は、本開示の態様による多ループ復号を用いる一般化された残差予測のための方法例が、図6を参照して説明される。プロセス600は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス600のブロックは、図3の復号器30に関して説明されるが、プロセス600は、上記のように、その他のコンポーネント、例えば、符号器、によって実行することができる。ブロック601において、復号器30は、GRPフレームワークに関する多ループ復号における基準層からの残差予測に関する重み付け係数を決定する。ブロック602において、復号器30は、重み付け係数によって調整されたRLからの残差予測、ELからの残差予測、及びELからの時間的予測に基づいて現在の映像ユニットを決定する。例えば、上において方程式(5)に関して説明されるように、RL残差予測に関してはI^b−Pbを使用することができる。図6に関して説明される本開示の態様による多ループ復号を用いる一般化された残差予測のための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図6に関して説明される本開示の態様による一般化された残差予測のための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図6に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[00111]図7は、本開示の態様による一般化された残差予測パラメータをシグナリングするための方法例を示したフローチャートである。上において説明されるように、重み付け情報は、重み付け候補の数と、重み付けステップ(又は重み付けテーブル)と、重み付けインデックスと、を含むことができる。重み付け係数wは、該重み付け情報に基づいて決定することができる。重み付け候補の数は、N
wによって表すことができる。重み付けステップは、S
wによって、及び重み付けテーブルはW
Tによって表すことができる。重み付けインデックスは、i
wによって表すことができる。一実施形態では、重み付け係数wは、次のように重み付けステップS
w及び重み付けインデックスi
wに基づいて導き出される。
他の実施形態では、wは、インデックスiwによりルックアップテーブルWTから入手することができる。
[00112]重み付け係数情報は、限定されることになしに、Nw、Sw、WT、及びiwを含むことができ、様々な方法でシグナリングすることができる。幾つかの実施形態では、重み付けステップSw又は重み付けテーブルWTは、ハードコーディング又はシグナリングすることができる。Sw又はWTは、シーケンスレベル又はピクチャレベルでシグナリングすることができる。重み付けインデックスiwは、それよりも低いレベル、例えば、CU及びPU、でシグナリングすることができる。
[00113]一実施形態では、重み付けステップSwは、3ビット量子化(Swは、1/8、2/8、...、8/8であることができる)及びシーケンスパラメータセット(SPS)内でコーディングされた符号なし整数Exp−Golombによって表される。Nw≧1であることを考慮すると、(Nw−1)もSPS内でコーディングされた符号なし整数Exp−Golombである。重み付けインデックスiwは、最初に、打ち切られたunaryコード(Nwが最大数)でバイナリ化され、次に、CABACコーディングされる。CABACコーディングでは、最初のビンは、1つのコンテキストでコーディングされ、残りのビンは他のコンテキストでコーディングされる。重み付けインデックスiwをコーディングするために、コンテキストは、以前にコーディングされたパラメータに依存することができる。例えば、空間的に隣接するCU、例えば、左及び上のCU、のiwを、現在のCUの重み付けインデックスiwに関するコンテキストとして使用することができる。さらに、現在のCUのタイプ、例えば、現在のCUがスキップ又はマージコーディングされるか、又は現在のCUのサイズをコンテキストとして使用することができる。
[00114]その他の実施形態では、異なるCUモードは、異なる重み付け係数シグナリング法を有することができる。例えば、スキップ及びマージモードに関しては、3つの重み付け係数(例えば、w=0、w=0.5、及びw=1)を選択してシグナリングすることができる。スキップ及びマージモード以外のインターモードに関しては、2つの重み付け係数(例えば、w=0及びw=1)のみを選択してシグナリングすることができる。代替として、スキップ及びマージモード以外のインターモードに関しては、1つの固定された重み付け係数のみを適用することができる。該事例では、重み付け係数に関する追加のシグナリングは使用することができない。
[00115]今度は、本開示の態様による一般化された残差予測パラメータをシグナリングするための方法例が、図7を参照して説明される。プロセス700は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス700のブロックは、図2の符号器20に関して説明されるが、プロセス700は、上記のように、その他のコンポーネント、例えば、復号器、によって実行することができる。ブロック701において、符号器20は、重み付けステップ又は重み付けテーブルをシグナリングする。ブロック702において、符号器20は、重み付け候補の数をシグナリングする。ブロック703において、符号器20は、重み付けインデックスをシグナリングする。プロセス700におけるブロックは、異なる順序で行うことができる。例えば、重み付け候補の数は、重み付けステップ(又は重み付けテーブル)の前にシグナリングすることができる。図7に関して説明される本開示の態様による一般化された残差予測パラメータをシグナリングするための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図7に関して説明される本開示の態様による一般化された残差予測のための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図7に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[00116]図8は、本開示の態様による一般化された残差予測パラメータを導き出すための方法例を示したフローチャートである。GRPパラメータは、図7に関して説明されるようにシグナリングすることができる。GRPパラメータは、ビットストリームに含まれる情報から導き出すこともできる。GRPパラメータは、ビットストリーム内の情報から完全に又は部分的に導き出すことができる。一実施形態では、重み付けステップS
wは、関連するCUサイズによりCUレベルで導き出される。重み付けステップS
wとCUサイズとの間のマッピング例が下表において示される。
[00117]他の実施形態では、重み付け候補の最大数は、以前にコーディングされた情報、例えば、CUモード、CUサイズ、及び量子化に基づいてCUレベルで調整される。例えば、16×16よりも小さいCUに関しては、例えば、シグナリングコストを節約するために、2つの重み付け候補のみを許容することができる。
[00118]今度は、本開示の態様による一般化された残差予測パラメータを導き出すための方法例が、図8を参照して説明される。プロセス800は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス800のブロックは、図3の復号器30に関して説明されるが、プロセス800は、上記のように、その他のコンポーネント、例えば、符号器、によって実行することができる。
[00119]ブロック801において、復号器30は、重み付け情報を決定するためにビットストリームから情報を入手するか又は以前にコーディングされた情報を入手する。例えば、上において説明されるように、GRPパラメータは、CUサイズに基づくことができる。又は、GRPパラメータは、以前にコーディングされた情報、例えば、CUモード、CUサイズ、及び量子化に基づくことができる。ブロック802において、復号器30は、ブロック801において入手された情報に基づいて一般化された残差予測に関する1つ以上のパラメータを決定する。例えば、復号器30は、CUサイズに基づいて重み付けステップSwを決定することができる。復号器30は、CUサイズに基づいて重み付け候補の数Nwを決定することもできる。復号器30は、以前にコーディングされた情報、例えば、CUモード、CUサイズ、及び量子化に基づいて重み付け情報を調整することもできる。図8に関して説明される本開示の態様による一般化された残差予測のための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図8に関して説明される本開示の態様による一般化された残差予測パラメータを導き出すための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図8に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[00120]図9は、本開示の態様による一般化された残差予測において層をアップサンプリング又はダウンサンプリングするための方法例を示したフローチャートである。層間予測プロセスにおいて、拡張層の空間アスペクト比をマッチさせるためにアップサンプリング又はダウンサンプリングフィルタリングプロセスが基本層ピクチャに適用される。フィルタリングプロセス、例えば、平滑化フィルタ、は、基本層及び拡張層のピクチャサイズが同一であるときでさえも適用することができる。概して、1つの固定されたアップサンプリング、ダウンサンプリング、及び平滑化フィルタセットが使用され及びハードコーディングされる。フィルタは、分数的ピクセルシフト(位相と時々呼ばれる)によりセットから選択することができ、それは、基本層ピクチャと拡張層ピクチャとの間の空間アスペクト比に基づいて計算される。
[00121]GRPフレームワークでは、層間予測性能を向上させるために異なるタイミングセットを適用することができる。フィルタリングセットは、シーケンス又はピクチャレベルでハードコーディング又はシグナリングすることができる。フィルタセットインデックスは、それよりも低いレベル、例えば、CU及びPU、でシグナリングすること又は導き出すことができる。フィルタセットインデックスは、重み付け係数wの値に基づいて導き出すことができ、又は重み付けインデックスiwの値に基づいて導き出すことができる。フィルタリングセットインデックスと重み付け係数wとの間、又はフィルタリングセットと重み付けインデックスiwとの間の導出マッピングテーブルは、シーケンス又はピクチャレベルでハードコーディング又はシグナリングすることができる。
[00122]今度は、本開示の態様による一般化された残差予測において層をアップサンプリング又はダウンサンプリングするための方法例が、図9を参照して説明される。プロセス900は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス900のブロックは、図3の復号器30に関して説明されるが、プロセス900は、上記のように、その他のコンポーネント、例えば、符号器、によって実行することができる。
[00123]ブロック901において、復号器30は、基準層をアップサンプリングするか又は拡張層をダウンサンプリングするかを決定する。空間スケーラビリティにおいて、該アップサンプリング及びダウンサンプリングは、層間予測を同じ分解能で行うことができるようにするために実施される。ブロック902において基準層がアップサンプリングされると決定された場合は、復号器30は、ブロック903において基準層を拡張層の分解能にアップサンプリングする。他方、復号器30は、ブロック904において拡張層を基準層の分解能にダウンサンプリングする。ブロック905において、復号器30は、アップサンプリングされた又はダウンサンプリングされたピクチャに平滑化フィルタを適用する。平滑化フィルタは、拡張層ピクチャ及び基準層ピクチャが同じである場合でも適用することができる。平滑化フィルタは、適宜選択することができる。ブロック906において、復号器30は、アップサンプリング又はダウンサンプリングされたピクチャに基づいてGRPを用いて現在の映像ユニットを決定する。
[00124]図9に関して説明される本開示の態様による一般化された残差予測において層をアップサンプリング又はダウンサンプリングするための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図9に関して説明される本開示の態様による一般化された残差予測に層をアップサンプリング又はダウンサンプリングするための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図9に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[00125]図10は、本開示の態様による一般化された残差予測において動き情報を再マッピング、アップサンプリング、又はダウンサンプリングするための方法例を示したフローチャートである。幾つかの事例では、残差予測子を生成するために1つの層の動き情報を他の層に適用するときには、1つの層において利用可能な基準が他の層では利用できないことがある。該場合は、動きの再マッピングが必要である。一実施形態では、基準が1つの層でしか利用可能でない場合は、この基準が提案されるGRPフレームワークにおいて残差予測子を生成するために使用されないようにするために利用不能と表示される。他の実施形態では、利用不能な基準が関連する基準リストの初めの基準によって取って代わられ、動きがゼロの動きに設定される。
[00126]3D映像コーディングにおいて、SVC映像データは、異なるビューに関する映像データも含む。ビューは、異なる角度に関連することができるため、これらの異なるビュー間で差異が存在することがある。3D映像コーディングに関して動きが再マッピングされる場合は、動きを再マッピングする際に差異ベクトル(disparity vector)を考慮することができる。
[00127]空間スケーラブルな事例では、拡張層と基本層との間での異なる分解能に起因して動きベクトルをアップサンプリン又はダウンサンプリングすることができる。一実施形態では、動きベクトルスケーリングは、分解能比に直接基づく。他の実施形態では、直接スケーリングに引き続いて追加の移相(+1又は−1)を適用することができる。追加の移相は、ビットストリームにおいてシグナリングすること又は以前にコーディングされた情報、例えば、PUサイズ、動きベクトル、CU深度、等、に基づいて導き出すことができる。
[00128]今度は、本開示の態様による動き情報を再マッピング、アップサンプリング、又はダウンサンプリングするための方法例が、図10を参照して説明される。プロセス1000は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス1000のブロックは、図3の復号器30に関して説明されるが、プロセス1000は、上記のように、その他のコンポーネント、例えば、符号器、によって実行することができる。ブロック1001において、動き情報に関する基準が層のうちの1つにおいて利用可能でない場合は、復号器30は、ブロック1002において動き情報を再マッピングする。例えば、復号器30は、他の層内の対応する基準が利用不能である場合は、その基準を利用不能と表示することができる。又は、復号器30は、関連する基準リスト内の基準への参照を再マッピングすることができる。ブロック1001においてインター予測のために使用される層内において動き情報に関する基準が利用可能である場合は、復号器30は、ブロック1003に示されるさらなる処理を行うことができない。ブロック1004において、空間SVCが使用される場合は、復号器30は、ブロック1005において、基準層動き情報をアップサンプリングするか又は拡張層動き情報をダウンサンプリングするかを決定する。空間スケーラビリティが使用されない場合は、復号器30は、ブロック1006において示されるさらなる処理を行うことができない。ブロック1007において、基準層動き情報がアップサンプリングされることが決定された場合は、復号器30は、ブロック1008において、基準層動き情報を拡張層の分解能にアップサンプリングする。他方、ブロック1007において、拡張層動き情報がダウンサンプリングされることが決定された場合は、復号器30は、ブロック1009において、拡張層動き情報を基準層の分解能にダウンサンプリングする。ブロック1010において、復号器30は、アップサンプリング又はダウンサンプリングされたピクチャを用いてGRPを用いて現在の映像ユニットを決定する。
[00129]図10に関して説明される本開示の態様による動き情報を再マッピング、アップサンプリング、又はダウンサンプリングするための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図10に関して説明される本開示の態様による一般化された残差予測のための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図10に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[00130]図11は、本開示の態様により一般化された残差予測において符号化するための重み付け係数を決定するための方法例を示したフローチャートである。方法例は、符号器側の最適化に適用することができる。一実施形態では、各重み付け係数候補に関してCUレート−歪みコストを検査することによって各CUに関する最良の重み付け係数wが決定される。最低のコストを有する重み付け係数が、CUに関する重み付け係数wとして選択される。他の実施形態では、残差予測子は、拡張層時間的予測P
eの動きを基本層時間的予測P
bに適用することによって導き出される。重み付け係数wは、次のように決定することができる。
ここで、Iは、拡張層に関するソースピクチャを示し、
は、微分ブロック(I−Pe)及び(I^b−Pb)のドット積の和を示す。
[00131]今度は、本開示の態様による一般化された残差予測において符号化のための重み付け係数を決定するための方法例が、図11を参照して説明される。プロセス1100は、符号器(例えば、図2に示される符号器、等)、復号器(例えば、図3に示される復号器、等)、又はその他のコンポーネントによって実行することができる。プロセス1100のブロックは、図2の符号器20に関して説明されるが、プロセス1100は、上記のように、その他のコンポーネント、例えば、復号器、によって実行することができる。ブロック1101において、映像符号器20は、ELの時間的予測の動きをBLの時間的予測に適用することによってEL残差予測を導き出す。ブロック1102において、復号器30は、導き出された残差予測に基づいて重み付け係数を導き出す。図11に関して説明される本開示の態様による一般化された残差予測において符号化のための重み付け係数を決定するための方法例は、様々なコーディングレベル、例えば、シーケンス、ピクチャ、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、又はピクセル、において実装することができる。さらに、図11に関して説明される本開示の態様による一般化された残差予測のための方法例は、信号成分、例えば、ルマコンポーネント及びクロマコンポーネント、に対しても適用することができる。例えば、方法例は、ルマコンポーネントのみに対して、クロマコンポーネントのみに対して、又はルマコンポーネントとクロマコンポーネントの組み合わせ(例えば、1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせ)に対して適用することができる。さらに、図11に関して説明されるすべての実施形態は、別々に、又は互いに組み合わせて実装することができる。
[00132]例に依存して、ここにおいて説明されるいずれかの技法の幾つかの行為又はイベントは、異なるシーケンスで行うことができ、追加すること、結合すること、又はまったく省くことができる(例えば、技法を実践するためにすべての行為又はイベントが必要なわけではない)ことが認識されるべきである。さらに、幾つかの例では、行為又はイベントは、順次ではなく、同時並行して、例えば、マルチスレッド処理、割り込み処理、又は複数のプロセッサ、を通じで行うことができる。
[0133]1つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらのあらゆる組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において1つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応する。このように、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
[00134]一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるRAM、ROM、EEPROM、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザディスク(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、ブルーレイ(登録商標)ディスク(disc)と、を含み、ここで、diskは、通常は磁気的にデータを複製し、discは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
[00135]命令は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
[00136]本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように1つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
[00137]様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1] 映像情報をコーディングするための装置であって、基準層と関連付けられた映像情報を格納するように構成されたメモリユニットと、前記メモリユニットと通信するプロセッサであって、予測値及び前記基準層と関連付けられた調整された残差予測値に少なくとも部分的に基づいて映像ユニットの値を決定するように構成されたプロセッサと、を備え、前記調整された残差予測値は、1と異なる重み付け係数によって乗じられた前記基準層からの残差予測に等しい、装置。
[C2] 前記映像ユニットの前記値は、残差予測、前記予測値、及び前記基準層からの前記調整された残差予測値に基づいて決定されるC1に記載の装置。
[C3] 前記予測値は、時間的予測値又は空間的イントラ予測値であるC1に記載の装置。
[C4] 前記基準層は、再構築された基準層であるC1に記載の装置。
[C5] 前記プロセッサは、シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、ピクセル、及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせから成るグループから選択されたコーディングレベルで前記重み付け係数を適用するようにさらに構成されるC1に記載の装置。
[C6] 前記重み付け係数は、ビットストリームにおいてシグナリングされるC1に記載の装置。
[C7] 前記重み付け係数は、ビットストリームにおいて受信されるC1に記載の装置。
[C8] 前記重み付け係数は、重み付け情報に基づいて決定されるC1に記載の装置。
[C9] 前記重み付け情報は、重み付けステップ、重み付けテーブル、重み付け係数候補の数、及び重み付けインデックスのうちの1つ以上を備えるC8に記載の装置。
[C10] 前記重み付け情報は、ビットストリームにおいてシグナリングされるC9に記載の装置。
[C11] 前記重み付け情報は、ビットストリームにおいて受信されるC9に記載の装置。
[C12] 前記重み付け情報は、シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、CUのグループ、CU、PUのグループ、PU、ブロック、ピクセルの領域、ピクセル、及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせから成るグループから選択されたコーディングレベルでコーディングされるC9に記載の装置。
[C13] 前記重み付け情報は、以前にコーディングされた情報に少なくとも部分的に基づいて少なくとも部分的に導き出されるC9に記載の装置。
[C14] 前記以前にコーディングされた情報は、コーディングレベルで提供され、量子化パラメータ、CUサイズ、PUサイズ、及びCUコーディングモードのうちの1つ以上を備えるC13に記載の装置。
[C15] 重み付け係数候補の前記数は、前記以前にコーディングされた情報に少なくとも部分的に基づいて少なくとも部分的に導き出されるC14に記載の装置。
[C16] 前記コーディングレベルは、シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、CUのグループ、CU、PUのグループ、PU、ブロック、ピクセルの領域、ピクセル、及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせのうちの1つ以上を備えるC14に記載の装置。
[C17] 記CUコーディングモードは、インターCU又はイントラCUであるC14に記載の装置。
[C18] 前記プロセッサは、3D映像コーディングを行うようにさらに構成され、前記基準層は、複数の基準層又は基準ビューを備えるC1に記載の装置。
[C19] 前記プロセッサは、前記基準層からの映像ユニットをアップサンプリングするか又はダウンサンプリングすることによって空間スケーラブル映像コーディングにおいて前記残差予測値を決定するようにさらに構成されるC1に記載の装置。
[C20] 前記プロセッサは、前記映像ユニット又は前記基準層からの映像ユニットに平滑化フィルタを適用するようにさらに構成されるC19に記載の装置。
[C21] 前記プロセッサは、ワープ、差異補償、又は両方によって3D映像コーディングにおいて前記残差予測値を決定するようにさらに構成されるC1に記載の装置。
[C22] 前記プロセッサは、層間又はビュー間の映像情報と関連付けられた動き情報をアップサンプリング、ダウンサンプリング、及び再マッピングするうちのいずれか1つ又はそれらの組み合わせによって前記残差予測値を決定するようにさらに構成されるC1に記載の装置。
[C23] 前記プロセッサは、動きシフトを適用することによって前記残差予測値を決定するようにさらに構成されるC22に記載の装置。
[C24] 前記プロセッサは、基準映像ユニットが1つの層又はビューにおいて利用可能であるが、他の対応する層又はビューにおいて利用可能でないときはトリートメントを適用することによって前記残差予測値を決定するようにさらに構成されるC1に記載の装置。
[C25] トリートメントを前記適用することは、前記基準映像ユニットを利用不能として表示するか又は関連する動きをゼロに設定することを備えるC24に記載の装置。
[C26] 前記プロセッサは、符号化されていない映像情報を符号化し及び次の関係により前記重み付け係数(w)を決定するようにさらに構成され、
[数9]
Iは、ソースピクチャに対応し、P e は、拡張層の時間的予測又は空間的イントラ予測に対応し、P b は、基本層の時間的予測又は空間的イントラ予測に対応し、及びI^ b は、基本層再構築に対応し、前記符号化されない映像情報から決定される、C1に記載の装置。
[C27] 前記基準層は、前記映像情報の拡張層と実質的に等しいC1に記載の装置。
[C28] 前記装置は、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、及びビデオストリーミングデバイスのうちの1つ以上から成るグループから選択されるC1に記載の装置。
[C29] 映像情報をコーディングするための方法であって、基準層と関連付けられた映像情報を格納することと、予測値及び前記基準層と関連付けられた調整された残差予測値に少なくとも部分的に基づいて映像ユニットの値を決定することと、を備え、前記調整された残差予測値は、1と異なる重み付け係数によって乗じられた前記基準層からの残差予測に等しい、方法。
[C30] 前記映像ユニットの前記値は、残差予測、前記予測値、及び前記基準層からの前記調整された残差予測値に基づいて決定されるC29に記載の方法。
[C31] 前記予測値は、時間的予測値又は空間的イントラ予測値であるC29に記載の方法。
[C32] 前記基準層は、再構築された基準層であるC29に記載の方法。
[C33] シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、コーディングユニット(CU)のグループ、コーディングユニット(CU)、予測ユニット(PU)のグループ、予測ユニット(PU)、ブロック、ピクセルの領域、ピクセル、及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせから成るグループから選択されたコーディングレベルで前記重み付け係数を適用することをさらに備えるC29に記載の方法。
[C34] 前記重み付け係数は、ビットストリームにおいてシグナリングされるC29に記載の方法。
[C35] 前記重み付け係数は、ビットストリームにおいて受信されるC29に記載の方法。
[C36] 前記重み付け係数は、重み付け情報に基づいて決定されるC29に記載の方法。
[C37] 前記重み付け情報は、重み付けステップ、重み付けテーブル、重み付け係数候補の数、及び重み付けインデックスのうちの1つ以上を備えるC36に記載の方法。
[C38] 前記映像情報をコーディングすることは、前記映像情報を符号化することを備え、前記重み付け情報は、ビットストリームにおいてシグナリングされるC37に記載の方法。
[C39] 前記映像情報をコーディングすることは、前記映像情報を復号することを備え、前記重み付け情報は、ビットストリームにおいて受信されるC37に記載の方法。
[C40] 前記重み付け情報は、シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、CUのグループ、CU、PUのグループ、PU、ブロック、ピクセルの領域、ピクセル、及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせから成るグループから選択されたコーディングレベルでコーディングされるC37に記載の方法。
[C41] 前記重み付け情報は、以前にコーディングされた情報に少なくとも部分的に基づいて少なくとも部分的に導き出されるC37に記載の方法。
[C42] 前記以前にコーディングされた情報は、コーディングレベルで提供され、量子化パラメータ、CUサイズ、PUサイズ、及びCUコーディングモードのうちの1つ以上を備えるC41に記載の方法。
[C43] 重み付け係数候補の前記数は、前記以前にコーディングされた情報に少なくとも部分的に基づいて少なくとも部分的に導き出されるC42に記載の方法。
[C44] 前記コーディングレベルは、シーケンス、フレームのグループ、フレーム、スライスのグループ、スライス、CUのグループ、CU、PUのグループ、PU、ブロック、ピクセルの領域、ピクセル、及び1つのルマコンポーネントと2つのクロマコンポーネントの組み合わせのうちの1つ以上を備えるC42に記載の方法。
[C45] 記CUコーディングモードは、インターCU又はイントラCUであるC42に記載の方法。
[C46] 3D映像コーディングを行うことをさらに備え、前記基準層は、複数の基準層又は基準ビューを備えるC29に記載の方法。
[C47] 前記基準層からの映像ユニットをアップサンプリングするか又はダウンサンプリングすることによって空間スケーラブル映像コーディングにおいて前記残差予測値を決定することをさらに備えるC29に記載の方法。
[C48] 前記映像ユニット又は前記基準層からの映像ユニットに平滑化フィルタを適用することをさらに備えるC47に記載の方法。
[C49] ワープ、差異補償、又は両方によって3D映像コーディングにおいて前記残差予測値を決定することをさらに備えるC29に記載の方法。
[C50] 層間又はビュー間の映像情報と関連付けられた動き情報をアップサンプリング、ダウンサンプリング、及び再マッピングするうちのいずれか1つ又はそれらの組み合わせによって前記残差予測値を決定することをさらに備えるC29に記載の方法。
[C51] 動きシフトを適用することによって前記残差予測値を決定することをさらに備えるC50に記載の方法。
[C52] 基準映像ユニットが1つの層又はビューにおいて利用可能であるが、他の対応する層又はビューにおいて利用可能でないときはトリートメントを適用することによって前記残差予測値を決定することをさらに備えるC29に記載の方法。
[C53] トリートメントを前記適用することは、前記基準映像ユニットを利用不能として表示するか又は関連する動きをゼロに設定することを備えるC52に記載の方法。
[C54] 符号化されていない映像情報を符号化し及び次の関係により前記重み付け係数(w)を決定することをさらに備え、
[数10]
Iは、ソースピクチャに対応し、P e は、拡張層の時間的予測又は空間的イントラ予測に対応し、P b は、基本層の時間的予測又は空間的イントラ予測に対応し、及びI^ b は、基本層再構築に対応し、前記符号化されない映像情報から決定される、C29に記載の方法。
[C55] 前記基準層は、前記映像情報の拡張層と実質的に等しいC29に記載の方法。
[C56] コンピュータによって読み取り可能な記憶媒体であって、実行されたときに、基準層と関連付けられた映像情報を格納し、及び予測値及び前記基準層と関連付けられた調整された残差予測値に少なくとも部分的に基づいて映像ユニットの値を決定することを装置に行わせる命令を格納しており、前記調整された残差予測値は、1と異なる重み付け係数によって乗じられた前記基準層からの残差予測に等しい、コンピュータによって読み取り可能な記憶媒体。
[C57] 前記映像ユニットの前記値は、残差予測、前記予測値、及び前記基準層からの前記調整された残差予測値に基づいて決定されるC56に記載のコンピュータによって読み取り可能な記憶媒体。
[C58] 前記予測値は、時間的予測値又は空間的イントラ予測値であるC56に記載のコンピュータによって読み取り可能な記憶媒体。
[C59] 前記重み付け係数は、重み付け情報に基づいて決定されるC56に記載のコンピュータによって読み取り可能な記憶媒体。
[C60] 前記重み付け情報は、重み付けステップ、重み付けテーブル、重み付け係数候補の数、及び重み付けインデックスのうちの1つ以上を備えるC59に記載のコンピュータによって読み取り可能な記憶媒体。
[C61] 映像情報をコーディングするための装置であって、基準層と関連付けられた映像情報を格納するための手段と、予測値及び前記基準層と関連付けられた調整された残差予測値に少なくとも部分的に基づいて映像ユニットの値を決定するための手段と、を備え、前記調整された残差予測値は、1と異なる重み付け係数によって乗じられた前記基準層からの残差予測に等しい、装置。
[C62] 前記映像ユニットの前記値は、残差予測、前記予測値、及び前記基準層からの前記調整された残差予測値に基づいて決定されるC61に記載の装置。
[C63] 前記予測値は、時間的予測値又は空間的イントラ予測値であるC61に記載の装置。
[C64] 前記重み付け係数は、重み付け情報に基づいて決定されるC61に記載の装置。
[C65] 前記重み付け情報は、重み付けステップ、重み付けテーブル、重み付け係数候補の数、及び重み付けインデックスのうちの1つ以上を備えるC64に記載の装置。