(57)【特許請求の範囲】
【請求項１】
基層と少なくとも1つの拡張層とを含むビデオを復号するための方法であって、
前記拡張層の少なくとも1つの動きベクトルを復号するステップと、
前記基層の少なくとも1つの動きベクトルを復号するステップと、
前記拡張層の前記少なくとも1つの動きベクトルの少なくとも１つと前記基層の前記少なくとも1つの動きベクトルの少なくとも１つとを拡張層動きベクトル候補のリスト内に挿入するステップと、
前記拡張層のための動きベクトル予測係数を、前記拡張層動きベクトル候補のリストから選択するステップと
を含む方法。
【請求項２】
拡張層動きベクトルを生成するために、デルタ動きベクトルを、前記選択された動きベクトル予測係数に加えるステップ、
をさらに含む、請求項1に記載の方法。
【請求項３】
前記基層の前記動きベクトルをアップスケーリングするステップ
をさらに含む、請求項1に記載の方法。
【請求項４】
前記拡張層の前記少なくとも1つの動きベクトルの少なくとも１つと前記基層の前記少なくとも1つの動きベクトルの少なくとも１つとを前記拡張層動きベクトル候補のリスト内に挿入する前記ステップが、前記動きベクトルを拡張層動きベクトル候補のリストの終端に挿入するステップを含む、請求項1に記載の方法。
【請求項５】
前記拡張層の前記少なくとも1つの動きベクトルの少なくとも１つと前記基層の前記少なくとも1つの動きベクトルの少なくとも１つとを前記拡張層動きベクトル候補のリスト内に挿入する前記ステップが、前記動きベクトルを、シンタックス要素によって示された、拡張層動きベクトル候補のリスト内の位置に挿入するステップを含む、請求項1に記載の方法。
【請求項６】
前記シンタックス要素が上層シンタックス構造の一部である、請求項5に記載の方法。
【請求項７】
基層と少なくとも1つの拡張層とを含むビデオを符号化するための方法であって、
前記基層の少なくとも1つの動きベクトルを符号化するステップと、
前記拡張層の少なくとも1つの動きベクトルを符号化するステップと、
前記拡張層の少なくとも1つの動きベクトルの少なくとも１つと前記基層の少なくとも1つの動きベクトルの少なくとも１つとを拡張層動きベクトル候補のリスト内に挿入するステップと、
前記拡張層のための動きベクトル予測係数を、前記拡張層動きベクトル候補のリストから選択するステップと
を含む方法。
【請求項８】
拡張層動きベクトルを生成するために、デルタ動きベクトルを、前記選択された動きベクトル予測係数に加えるステップ、
をさらに含む、請求項7に記載の方法。
【請求項９】
前記基層の前記動きベクトルをアップスケーリングするステップ
をさらに含む、請求項7に記載の方法。
【請求項１０】
前記拡張層の前記少なくとも1つの動きベクトルの少なくとも１つと前記基層の前記少なくとも1つの動きベクトルの少なくとも１つとを前記拡張層動きベクトル候補のリスト内に挿入する前記ステップが、前記動きベクトルを拡張層動きベクトル候補のリストの終端に挿入するステップを含む、請求項7に記載の方法。
【請求項１１】
前記拡張層の前記少なくとも1つの動きベクトルの少なくとも１つと前記基層の前記少なくとも1つの動きベクトルの少なくとも１つとを前記拡張層動きベクトル候補のリスト内に挿入する前記ステップが、前記動きベクトルを、シンタックス要素によって示された、拡張層動きベクトル候補のリスト内の位置に挿入するステップを含む、請求項7に記載の方法。
【請求項１２】
前記シンタックス要素が上層シンタックス構造の一部である、請求項11に記載の方法。
【請求項１３】
アップスケーリングユニットから基層の動きベクトルと少なくとも1つの拡張層の動きベクトルとを受信し、
前記拡張層の少なくとも1つの動きベクトルを復号し、
前記基層の少なくとも1つの動きベクトルを復号し、
前記拡張層の少なくとも1つの動きベクトルの少なくとも1つと前記基層の少なくとも1つの動きベクトルの少なくとも1つとを拡張層動きベクトル候補のリスト内に挿入する、
ように構成された予測係数リスト挿入モジュールと、
前記拡張層のための動きベクトル予測係数を、前記拡張層動きベクトル候補のリストから選択し、
少なくとも1つの予測単位を、前記選択された動きベクトル予測係数で動き補償する、
ように構成された動き補償モジュールと
を備えた拡張層ビデオデコーダ。
【請求項１４】
前記予測係数リスト挿入モジュールが、前記基層の動きベクトルを拡張層動きベクトル候補の前記リストの終端に挿入するようにさらに構成された、請求項13に記載の拡張層ビデオデコーダ。
【請求項１５】
前記予測係数リスト挿入モジュールが、前記基層の動きベクトルを、シンタックス要素によって示された、拡張層動きベクトル候補の前記リスト内の位置に挿入するようにさらに構成された、請求項13に記載の拡張層ビデオデコーダ。
【請求項１６】
アップスケーリングユニットから基層の動きベクトルと少なくとも1つの拡張層の動きベクトルとを受信し、
前記拡張層の少なくとも1つの動きベクトルを符号化し、
前記基層の少なくとも1つの動きベクトルを符号化し、
前記拡張層の少なくとも1つの動きベクトルの少なくとも1つと前記基層の少なくとも1つの動きベクトルの少なくとも1つとを拡張層動きベクトル候補のリスト内に挿入する、
ように構成された予測係数リスト挿入モジュールと、
前記拡張層のための動きベクトル予測係数を、前記拡張層動きベクトル候補のリストから選択し、
少なくとも1つの予測単位を、前記選択された動きベクトル予測係数で動き補償する、
ように構成された動き補償モジュールと
を備えた拡張層ビデオエンコーダ。
【請求項１７】
前記予測係数リスト挿入モジュールが、前記基層の動きベクトルを拡張層動きベクトル候補の前記リストの終端に挿入するようにさらに構成された、請求項16に記載の拡張層ビデオエンコーダ。
【請求項１８】
前記予測係数リスト挿入モジュールが、前記基層の動きベクトルを、シンタックス要素によって示された、拡張層動きベクトル候補の前記リスト内の位置に挿入するようにさらに構成された、請求項16に記載の拡張層ビデオエンコーダ。
【請求項１９】
プロセッサに請求項1から12のうちの1つに記載の方法を実行させるための命令のセットを備えた非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その開示の全体が参照により本明細書に組み込まれている、2011年6月30日に出願した、「Motion Prediction in Scalable Video Coding」という表題の米国特許出願第61/503,092号の優先権を主張するものである。
【０００２】
本出願は、ビデオが基層および1つまたは複数の追加の層の形で表され、予測のために基層の動きベクトル情報が使用されうるビデオ符号化技法に関する。
【背景技術】
【０００３】
本明細書で使用される意味でスケーラブル技法を使用するビデオ圧縮は、デジタルビデオ信号が複数の層の形で表現されるのを可能にする。スケーラブルビデオ符号化技法は、長年にわたって提案および/または標準化されてきた。
【０００４】
MPEG-2としても知られている、(International Telecommunication Union(ITU)、Place des Nations、1211 Geneva 20、Switzerlandから利用可能であり、その全体が参照により本明細書に組み込まれている)ITU-T Rec.H.262 02/2000は、例えば、いくつかの態様では、1つの基層および1つまたは複数の拡張層の符号化を可能にするスケーラブル符号化技法を含む。拡張層は、フレームレートの増大(時間スケーラビリティ)などの時間分解能、空間分解能(空間スケーラビリティ)、または所与のフレームレートおよび分解能における品質(SNRスケーラビリティとしても知られている品質スケーラビリティ)の点で基層を強化することができる。
【０００５】
(International Telecommunication Union(ITU)、Place des Nations、1211 Geneva 20、Switzerlandから利用可能であり、その全体が参照により本明細書に組み込まれている)ITU Rec.H.263バージョン2(1998年)以降は、特定のスケーラビリティを可能にするスケーラビリティ機構も含む。
【０００６】
(International Telecommunication Union(ITU)、Place des Nations、1211 Geneva 20、Switzerlandから利用可能であり、その全体が参照により本明細書に組み込まれている)ITU-T Rec.H.264バージョン2(2005年)以降、およびそのそれぞれのISO-IEC同等物ISO/IEC14496第10部は、その付属書類G内にスケーラブルビデオ符号化、すなわちSVCとして知られているスケーラビリティ機構を含む。SVCは、例えば、Segall C.、およびSullivan、G.、「Spatial Scalability Within the H.264/AVC Scalable Video Coding Extension」、IEEE CSVT、第17巻  第9号、2007年9月、その中の特に第III.B項で説明されるような、動きベクトル(および、イントラ予測モード、動き分割(motion partitioning)、基準画像インデックスなど、その他のサイド情報)に関する予測機構を含む。
【０００７】
ビデオ圧縮の一態様は、動きベクトルの予測である。例えば、SVCは、それぞれの拡張層動き分割に関してbase_mode_flagをゼロに設定することによって信号送信されるモードを指定し、このサンプルの動きベクトル予測係数(predictor)は対応する基層空間領域のアップスケーリング動きベクトルでありうる。拡張層データのそれぞれの動き分割に関して、motion_prediction_flagは、予測係数として、アップスケーリング基層動きベクトルが使用されるかどうか、または予測係数として、現在の層の空間的に予測されたメジアン(median)動きベクトルが使用されるかどうかを判断することができる。この予測係数を、下で説明されるような、ビットストリームから復号された拡張層動きベクトル差分、ならびに、その他の動き予測技法によって修正して、動きベクトルを適用させることが可能である。
【０００８】
SVCは、1に等しいbase_mode_flagによって信号送信される第2のモードも指定する。この層間動き予測モードの場合、対応する基層のブロックから拡張層マクロブロック全体の動き情報を予測することができる。この場合、アップスケーリング情報は「そのまま」使用され、動きベクトル、(動きベクトルの時間次元に等しい場合がある)基準画像リストインデックス、ならびに分割情報(動きベクトルが適用される「ブロック」のサイズおよび形状)はすべて、基層から直接的に導出される。
【０００９】
両方のモードで、CAVLCを使用して符号化するとき、一般に、motion_prediction_flagsフラグに関する拡張層マクロブロック当たり最高で4ビットにbase_mode_flagに関する追加の1ビットを加えた、動きベクトル予測の存在または不在を信号送信するためのオーバヘッドが存在しうる。
【００１０】
SVCでは、動きベクトルは、検索アルゴリズムによって見出された動きベクトルと動きベクトル予測係数との間の差分としてビットストリーム内で符号化される。3つの近接するブロックが利用可能である場合、予測係数はそれらの近接するブロックの動きベクトルのメジアンとして計算可能である。特定の近接が利用可能でない場合、例えば、イントラとして符号化されている場合、またはその画像もしくはスライスの境界の外部にある場合、異なる近隣位置が代用されるか、または(0,0)の値が代用される。
【００１１】
執筆時に、像符号化共同研究チーム(Joint Collaborative Team for Video Coding)(JCT-VC)で開発中であったのは高効率ビデオ符号化(High Efficiency Video Coding)(HEVC)である。執筆時に、JCT-VCの作業草案は、その全体が参照により本明細書に組み込まれている、(以下で、「WD6」と呼ばれる)http://phenix.int-evry.fr/jct/doc_end_user/documents/8_SanJose/wgl l/JCTVC-H1003-vdK.zipから利用可能な、(以下で、「WD6」または「HEVC」と呼ばれる)「Bross他、High efficiency video coding (HEVC) text specification draft 6、JCTVC-H1003_dK、2012年2月」に見出すことができる。
【００１２】
WD6は、非スケーラブルビデオ圧縮に関する技法を説明し、一般に、以下のように動き予測を規定する。
【００１３】
WD6は、予測単位(PU)を、予測を適用できる最小単位と定義する。動き補償に関して、PUは、H.264が動き分割と呼ぶもの、またはより古いビデオ符号化標準がブロックと呼ぶものにおよそ等しい。それぞれのPUに関して、動き競合に関する候補と呼ばれる場合がある、1つまたは複数の候補予測係数を有する予測リストが形成される。これらの候補予測係数は、近接ブロック動きベクトルを含み、基準画像内のブロックに空間的に対応する。候補予測係数が利用可能でない場合(例えば、イントラであるか、または画像もしくはスライスの境界の外部にある場合)、あるいは既にリスト上にある別の候補予測係数と同一である場合、その候補予測係数は予測係数リスト内に含まれない。
【００１４】
符号化の間と復号の間の両方において、このリストを生み出すことができる。リスト内に1つの候補だけが存在する場合(エンコーダが近接する動きベクトルとの比較により達することができる状態)、このベクトルはPUに関して使用される予測ベクトルである。しかし、リスト内により多くの候補MVが存在する場合、エンコーダは、ビットストリーム内で候補インデックスを明示的に信号送信すること(それによって、そのリスト内の候補インデックスを識別すること)ができる。デコーダは、エンコーダが使用したのと同じ機構を使用して、リストを再度生み出すことができ、そのビットストリームから、インデックスが存在しない(その場合、単一のリストエントリが選択される)という情報、またはそのリスト内を指すインデックスのいずれかを解析することができる。
【００１５】
エンコーダは、予測係数リストから利用可能な予測係数から、現在のPUの動きベクトルに関する予測係数を選択することができる。予測係数の選択は、当業者に知られているレート歪み最適化(rate-distortion optimization)原理に基づいてよい。トレードオフは、以下の通りでありうる。すなわち、(ビットの観点から)コストがリスト内の予測係数の選択と関連付けられることである。リスト内のインデックスが高ければ高いほど、(例えば、ビットで測定された)そのインデックスを符号化するコストはより高くなる可能性がある。しかし、PUの実際の動きベクトルは、リストエントリのいずれかの中で利用可能なものと全く同じでない場合があり、したがって、予測係数ベクトルに追加されうる差分ベクトルの形式で符号化されることが有利な場合がある。この差分符号化は、ある数のビットを利用することも可能である。最終的に、動き補償された予測後の残差も符号化することが必要な場合があり、これもビットを必要とする。エンコーダは、所与の品質に関して利用されるビット数を最小限に抑えるために、予測係数選択子符号化、差分ベクトル符号化、および残差符号化の組合せを選択することができる。このプロセスは、http://phenix.int-evry.fr/jct/doc_end__user/documents/8_SanJose/wgl l/JCTVC-H1002-vl.zip(以下で、HM6)から利用可能なMcCann、Boss、Sekiguchi、Han、「HM6: High Efficiency Video Coding(HEVC) Test Model 6 Encoder Description」、JCT-VC-H1002、2012年2月、詳細には、第5.4.1項および第5.4.2項で説明されている。
【００１６】
このリスト内の前の動きベクトルは、リスト内の後の動きベクトルよりもより少ないビットで符号化されうる。
【００１７】
画像を復号するとき、動きベクトルは、復号の副作用として生み出された、基準画像内の空間的に共同の場所に配置された動きベクトルとして使用する目的で、後で利用可能にするために記憶されうる。
【００１８】
少なくとも一部の実装形態では、一部のビデオ圧縮方式およびビデオ圧縮標準に関して、SNRスケーラビリティをX次元とY次元の両方で1の空間スケーリングファクターを有する空間スケーラビリティであると見なすことができるという意味で、空間スケーラビリティとSNRスケーラビリティとは密接に関係しうるが、空間スケーラビリティは、例えば、それぞれの次元で基層の画像サイズを1.5倍から2.0倍より大きなフォーマットに拡張することができる。この密接な関係により、以下で説明されることは、空間スケーラビリティだけに関する。
【００１９】
非スケーラブル仕様ベースの異なる専門用語および/または異なる符号化ツール、ならびにスケーラビリティを実施するために使用される異なるツールにより、すべての3つの前述の標準における空間スケーラビリティの仕様は当然異なる。しかし、基層および1つの拡張層を符号化するように構成されたスケーラブルエンコーダに関するある例示的な実装戦略は、基層に関して1つ、拡張層に関してもう1つの2つの符号化ループを含むことである。より多くの符号化ループを追加することによって、追加の拡張層を加えることが可能である。これは、例えば、その全体が参照により本明細書に組み込まれている、Dugad,R、およびAhuja,N、「A Scheme for Spatial Scalability Using Nonscalable Encoders」、IEEE CSVT、Vol 13 No.10、2003年10月で議論されている。
【００２０】
図1を参照すると、示されるのは、ビデオ信号入力(101)と、ダウンサンプリングユニット(102)と、基層符号化ループ(103)と、基層符号化ループの一部でありうるが、基準画像アップサンプリングユニット(105)に対する入力として機能することも可能な基層基準画像バッファ(104)と、拡張層符号化ループ(106)と、ビットストリーム生成器(107)とを含む、そのようなある例示的な先行技術のスケーラブルエンコーダのブロック図である。
【００２１】
ビデオ信号入力(101)は、例えば、(International Telecommunication Union(ITU)、Place des Nations、1211 Geneva 20、Switzerlandから利用可能であり、その全体が参照により本明細書に組み込まれている)ITU-R Rec.BT.601(1982年)に従って、符号化されることになるビデオを任意の適切なデジタルフォーマットで受信することができる。「受信する」という用語は広く解釈されるべきであり、例えば、意図される拡張層空間分解能に対するフィルタリング、再サンプリングなどの前処理ステップ、およびその他の動作に関係しうる。本明細書において、入力信号の空間画像サイズは拡張層の空間画像サイズと同じであると仮定する。入力信号は、ビデオ信号入力に結合された拡張層符号化ループ(106)内において非変更形式(108)で使用可能である。
【００２２】
また、ビデオ信号入力に結合されるのは、ダウンサンプリングユニット(102)でありうる。ダウンサンプリングユニット(102)の目的は、拡張層分解能でビデオ信号入力(101)によって受信された画像を基層分解能にダウンサンプリングすることである。ビデオ符号化標準、ならびに適用制約は、基層分解能に関する制約を設定することが可能である。H.264/SVCのスケーラブルベースラインプロファイルは、例えば、X次元およびY次元の両方で1.5または2.0のダウンサンプリング率を可能にする。2.0のダウンサンプリング率は、ダウンサンプリングされた画像がダウンサンプリングされていない画像のサンプルの4分の1だけを含むことを意味する。特定のビデオ符号化標準では、アップサンプリング機構とは無関係に、ダウンサンプリング機構の詳細を自由に選択することが可能である。対照的に、そのような符号化標準は、典型的には、拡張層符号化ループ(106)内のドリフトを回避するために、アップサンプリングに関して使用されるフィルタを指定する。
【００２３】
ダウンサンプリングユニット(102)の出力は、ビデオ信号入力(101)によって作成された画像のダウンサンプリングバージョンである。
【００２４】
基層符号化ループ(103)は、ダウンサンプリングユニット(102)によって作成されたダウンサンプリング画像を利用して、それを基層ビットストリーム(110)内に符号化する。
【００２５】
多くのビデオ圧縮技術は、高い圧縮効率を達成するために、中でも画像間予測技法に依存する。画像間予測は、現在の画像を復号する際に、基準画像として知られている、1つもしくは複数の先に復号された(または、そうでない場合、処理された)画像に関する情報を使用するのを可能にする。画像間予測機構に関する例は、再構成の間に、動きベクトルに従って移動された後に、もしくは残差符号化の後に、先に復号された画像からの画素のブロックが複写されるか、またはそうでない場合、用いられる動き補償を含み、この場合、画素値を復号する代わりに、(場合によっては、補償された動きを含めて)基準画像の画素と、再構成画素値との間の潜在的に量子化された差分がビットストリーム内に含まれ、再構成のために使用される。画像間予測は、近代のビデオ符号化において良好な符号化効率を可能にできる主要技術である。
【００２６】
反対に、エンコーダは基準画像をその符号化ループ内で生み出すことも可能である。
【００２７】
非スケーラブル符号化の間、基準画像の使用は、画像間予測において特に関連性があるが、スケーラブル符号化の場合、基準画像はクロスレイヤ予測(cross-layer prediction)に関しても関連性がある。クロスレイヤ予測は、拡張層画像を予測する際の基準画像として、基層の再構成画像、ならびに基層基準画像の使用を必要とする場合がある。この再構成画像または基準画像は、画像間予測に関して使用される基準画像と同じであってよい。しかし、基層が、スケーラブル符号化を使用せずに、基準画像を必要としないことになる、画像内だけの符号化などの形で符号化される場合ですら、そのような基層基準画像の生成が必要とされる場合がある。
【００２８】
基層基準画像は拡張層符号化ループ内で使用可能であるが、ここでは、説明を簡単にするために、拡張層符号化ループによって使用するために再構成画像(最も最近の基準画像)(111)の使用だけが示される。基層符号化ループ(103)は、前述の意味で基準画像を生成して、それを基準画像バッファ(104)内に記憶することができる。
【００２９】
再構成画像バッファ(111)内に記憶された画像は、アップサンプリングユニット(105)によって、拡張層符号化ループ(106)により使用される分解能にアップサンプリングされうる。拡張層符号化ループ(106)は、ビデオ入力(101)からもたらされる入力画像、およびその符号化プロセスにおいて拡張層符号化ループの一部として生み出された基準画像(112)と共に、アップサンプリングユニット(105)によって作成された、アップサンプリング基層基準画像を使用することができる。これらの使用の性質は、ビデオ符号化標準に依存し、上記のいくつかのビデオ圧縮標準に関して既に手短に紹介されている。拡張層符号化ループ(106)は、スケーラブルビットストリーム(114)を生み出すために、基層ビットストリーム(110)および制御情報(図示せず)と共に処理されうる拡張層ビットストリーム(113)を生み出すことができる。
【００３０】
拡張層符号化ループ(106)は、上で要約されたWD6に従って動作することができる、動きベクトル符号化ユニット(115)を含むことが可能である。
【発明の概要】
【課題を解決するための手段】
【００３１】
開示される主題は、基層の動きベクトル情報を使用して再構成されることになるブロックの予測に関する技法を提供し、この場合、ビデオは、基層および1つまたは複数の追加の層の形式で表される。
【００３２】
一実施形態では、ビデオエンコーダは、予測係数リスト挿入モジュールを備えた拡張層符号化ループを含む。
【００３３】
一実施形態では、デコーダは、予測係数リスト挿入モジュールを備えた拡張層デコーダを含むことが可能である。
【００３４】
一実施形態では、拡張層エンコーダ/デコーダ内の予測係数リスト挿入モジュールは、動きベクトル予測係数のリストを生成することができるか、または、そのリストが、基層符号化ループによって生成され、かつアップスケーリングされたサイド情報から導出された、少なくとも1つの予測係数を含むように、動きベクトル予測係数の既存のリストを修正することができる。
【００３５】
開示される主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【００３６】
【図１】先行技術によるある例示的なスケーラブルビデオエンコーダの概略図である。
【図２】本開示のある実施形態による、ある例示的なエンコーダの概略図である。
【図３】本開示のある実施形態による、ある例示的なデコーダの概略図である。
【図４】本開示のある実施形態による、ある例示的な予測係数リスト挿入モジュールの概略図である。
【図５】本開示のある実施形態による、ある例示的な予測係数リスト挿入モジュールに関する手順を示す図である。
【図６】本開示のある実施形態による、ある例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００３７】
これらの図面は組み込まれ、本開示の一部を構成する。その他の記述がない限り、これらの図面を通して、例示される実施形態の類似の特徴、要素、構成要素、または部分を示すために、同じ参照番号および参照符号が使用される。さらに、開示される主題は、次に、これらの図面を参照して詳述されるが、この詳述は例示される実施形態に関して行われる。
【００３８】
図2は、開示される主題によるある例示的な2層スケーラブルエンコーダのブロック図である。エンコーダを拡張して、追加の拡張層符号化ループを加えることによって、2つを超える層をサポートすることが可能である。このエンコーダの設計における1つの設計要件は、基層符号化ループの実行可能な限り多くの、本質的に変更されていない機能構築ブロックを再使用することによって、拡張層符号化ループを基層符号化ループに対するその作用の点で実行可能な限り閉鎖した状態に保つことである。そのようにして、設計および実施の時間を節約することができ、商業利益を有する。
【００３９】
開示される主題の記述を通して、「基層」という用語は、拡張層が基づくレイヤ階層(layer hierarchy)内の層を指す。2つを超える拡張層を伴う環境では、本記述で使用される基層は、可能な最下位層でなくてよい。
【００４０】
エンコーダは、ダウンサンプルモジュール(202)内で基層空間分解能にダウンサンプリング可能であり、かつ基層符号化ループ(203)に対する入力として、ダウンサンプリングされた形式でサービス提供可能な、圧縮されていない入力ビデオ(201)を受信することができる。ダウンサンプリング係数は1.0であってよく、その場合、基層画像の空間次元は拡張層画像の空間次元と同じであり(ダウンサンプリング操作は本質的に操作不能であり)、その結果、SNRスケーラビリティとしても知られる、高品質のスケーラビリティをもたらす。1.0よりも大きなダウンサンプリング係数は、拡張層分解能よりも低い基層空間分解能をもたらす。ビデオ符号化標準は、ダウンサンプリング係数に関する許容範囲に制約を加える場合がある。この係数は、アプリケーションに依存する場合もある。
【００４１】
基層符号化ループは、エンコーダの他のモジュール内で使用される以下の出力信号を生成することができる。
【００４２】
A)例えば、デコーダ(図示せず)に利用可能にされうるか、または、拡張層ビット、および、次にスケーラブルビットストリーム(206)を生成することができるスケーラブルビットストリーム生成器(205)に対する制御情報と集約されうる、その独自の、場合によっては自蔵式の基層ビットストリームを形成できる基層符号化ビットストリームビット(204)。
【００４３】
B)クロスレイヤ予測のために使用されうる、画素領域内の、基層符号化ループの再構成画像(または、その一部)(207)(以下、基層画像)。基層画像は、SNRスケーラビリティの場合、拡張層分解能と同じであってよい基層分解能でありうる。空間スケーラビリティの場合、基層分解能は異なってよく、例えば、拡張層分解能よりも低くてよい。
【００４４】
C)基準画像サイド情報(208)。このサイド情報は、例えば、基準画像の符号化、マクロブロック、または符号単位(CU)符号化モード、イントラ予測モードなどに関連する動きベクトルに関する情報を含むことが可能である。(再構成された現在の画像またはその一部である)「現在の」基準画像は、より古い基準画像に関連する、より多くのそのようなサイド情報を有する場合がある。
【００４５】
基層画像およびサイド情報は、基層画像および空間スケーラビリティの場合、例えば、ビデオ圧縮標準で指定されうる補間フィルタを使用して、それらのサンプルを拡張層の空間分解能にアップサンプリングすることができるアップサンプリングユニット(209)とアップスケーリングユニット(210)とによってそれぞれ処理可能である。アップスケーリングユニット(210)および基準画像サイド情報の場合、例えば、スケーリングに関して、同等の変換を使用することができる。例えば、動きベクトルは、X次元とY次元の両方で、基層符号化ループ(203)内で生成されたベクトルを乗算することによってスケーリング可能である。
【００４６】
拡張層符号化ループ(211)は、先に生成された符号化拡張層画像を再構成することによって生成された基準画像サンプルデータ、ならびに、関連するサイド情報を含みうる、その独自の基準画像バッファ(212)を含むことが可能である。
【００４７】
拡張層符号化ループ(211)は、動きベクトル符号化モジュールをさらに含むことができるが、動きベクトル符号化モジュールの機能は既に説明されている。
【００４８】
開示される主題のある実施形態では、拡張層符号化ループは、予測係数リスト挿入モジュール(214)をさらに含む。予測係数リスト挿入モジュール(214)は、そこから予測係数リスト挿入モジュール(214)が現在のPUの符号化のための予測係数として使用されうる、基準画像リスト内へのインデックスなど、三次元成分を潜在的に含む、(1つまたは複数の)動きベクトルを含むサイド情報を受信することができるアップスケーリングユニット(210)の出力に結合可能である。予測係数リスト挿入モジュール(214)は、動きベクトル符号化モジュールにさらに結合可能であり、詳細には、その中に記憶されうる動きベクトル予測係数リストにアクセスして、そのリストを操作することができる。予測係数リスト挿入モジュール(214)は、拡張層符号化(211)の関連で動作することが可能であり、したがって、(例えば、動きベクトル検索の結果など)現在のPUの処理中と(例えば、現在のPUの動きベクトルの符号化に関する予測係数として使用されうる、周囲のPUの動きベクトルなど)先に処理されたPUの処理中の両方において動きベクトル予測に関して利用可能な情報を生成させることができる。
【００４９】
開示される主題の同じまたは別の実施形態では、予測係数リスト挿入モジュール(214)の1つの目的は、動きベクトル予測係数のリストを生成すること、または、そのリストがアップスケーリングユニット(210)によってアップスケーリングされているサイド情報(208)から導出された、少なくとも1つの予測係数を含むように、動きベクトル予測係数の既存のリストを修正することである。
【００５０】
動きベクトル予測係数のリストの生成または修正は、例えば、WD6([0011]から[0013])の説明の関連で先に説明されたように、拡張層動きベクトルを使用する場合、拡張層符号化ループ内で既に使用されている技法に従うことが可能である。
【００５１】
例えば、動きベクトル符号化は、例えば、レート歪み最適化技法を使用して、動きベクトル予測係数の修正または生成されたリストの予測係数のうちの1つを選択し、インデックスをその動きベクトル予測係数を示す動きベクトル予測係数のリスト内に符号化し、オプションで、選択された動きベクトル予測係数に対するデルタ情報として解釈されうる動きベクトルを符号化することによって実行可能である。
【００５２】
前述の動作の結果は、例えば、(基層基準画像から予測する)層間予測または(拡張層基準画像から予測する)層内予測を参照するレート歪み最適化技法に基づいて、予測係数を選択できることでありうる。基層から可能な予測は、符号化効率を潜在的に高めることを可能にする。
【００５３】
上で予測係数リスト挿入モジュール(214)はエンコーダの関連で説明されているが、同じまたは別の実施形態では、類似のモジュールがデコーダ内に存在しうる。
【００５４】
図3を参照すると、示されるのは、基層および拡張層(例えば、空間拡張層またはSNR拡張層)を復号するように構成されたスケーラブルデコーダである。このデコーダは、基層デコーダ(301)と拡張層デコーダ(302)とを含むことが可能である。基層デコーダ(301)は、基層ビットストリーム(308)から、その復号プロセスの一環として、中でも、アップスケーリングユニット(310)によってアップスケーリングされて、アップサンプリング形式で拡張層デコーダ(302)内に入力(311)されうる再構成画像サンプルなどを生成すること(309)ができる。いくつかのアプリケーションでは、再構成基層サンプルを直接的に出力することも可能である(これはオプションであるため、破線で示される)(312)。さらに、基層デコーダ(301)は、基層と拡張層との間の画像サイズ比を反映するために、アップスケーリングユニット(304)によってアップスケーリングされうるサイド情報(303)を生み出すことができる。アップスケーリングサイド情報(305)は、動きベクトルを含むことが可能である。基層デコーダ(301)は、基層デコーダ(301)が、基層デコーダ基準画像バッファ内に記憶されうる基準画像(313)を使用することができる画像間予測原理に基づくことが可能である。
【００５５】
拡張層デコーダ(302)は、PUに関して、拡張層デコーダ(302)の別の部分によって動き補償に関して使用されうる動きベクトルを生み出すように構成された動きベクトル復号モジュール(306)を含むことが可能である。動きベクトル復号モジュール(306)は、候補動きベクトル予測係数のリストに関して動作することができる。このリストは、例えば、既に復号されている、空間的または時間的に隣接するPUの動きベクトルを使用して、拡張層ビットストリームから再度生み出すことが可能な動きベクトル候補を含むことが可能である。このリストの内容は、同じPUを符号化するときにエンコーダによって生み出されるリストと同一でありうる。
【００５６】
開示される主題のある実施形態では、拡張層デコーダは、予測係数リスト挿入モジュール(307)をさらに含むことが可能である。このモジュールの目的および動作は、エンコーダの予測係数リスト挿入モジュール(図2、214)と同じであってよい。詳細には、予測係数リスト挿入モジュール(307)の1つの目的は、動きベクトル予測係数のリストを生成すること、または、そのリストが基層デコーダによって再度生み出されたアップスケーリングサイド情報から導出された、少なくとも1つの予測係数を含むように、動きベクトル予測係数の既存のリストを修正することである。
【００５７】
拡張層デコーダは、拡張層ビットストリーム(314)を復号して、画像間予測のために、拡張層基準画像バッファ内に記憶されうる1つまたは複数の拡張層基準画像(315)を使用することができる。
【００５８】
図4を参照すると、示されるのは、既に説明されたような、予測係数リスト挿入モジュール(エンコーダ内に配置可能である予測係数リスト挿入モジュール(214)か、またはデコーダ内に配置可能な予測係数リスト挿入モジュール(307))の動作である。
【００５９】
同じまたは別の実施形態では、予測係数リスト挿入モジュール(401)は、1つまたは複数のアップスケーリング動きベクトルを受信する(402)。動きベクトルは、例えば、基準画像リスト内のインデックス、または別の形式の基準画像選択を含めて、二次元であってよく、または三次元であってもよい。
【００６０】
予測係数リスト挿入モジュール(401)は、他の場所、例えば、動き符号化モジュール内に記憶されうる動きベクトル予測係数リスト(403)に対するアクセスをやはり有する。このリストは、エントリを含まなくてよく、1つまたは複数のエントリを含んでもよい(2つのエントリ、すなわち、(404)および(405)が示されている)。
【００６１】
同じまたは別の実施形態では、予測係数リスト挿入モジュール(401)は、単一の動きベクトルを以下のように導出されたリスト内に挿入する。
【００６２】
図5は、開示される主題のある実施形態による予測係数リスト挿入モジュールに関する手順を示す。現在符号化されている拡張層PUの中心の空間アドレスを判断する(501)。この空間アドレスを基層分解能にダウンスケーリングする(アップスケーリング機構の逆である)(502)。丸めた(503)後の結果が基層内の画素の空間位置である。この基層画素の動きベクトルを判断して(504)、拡張層分解能にアップスケーリングする(505)。
【００６３】
基層内の動きベクトルの判断(504)は、基層動きベクトル予測のために使用される、記憶された基層動きベクトル情報のルックアップを必要とする場合がある。
【００６４】
図4を再度参照すると、同じまたは別の実施形態では、単一の動きベクトルが動きベクトル予測係数リスト(403)の終端に挿入される(406)。
【００６５】
リスト内の動きベクトル予測係数の位置は、ビットストリームを形成するとき、それが符号化されるビットの数を判断することは既に指摘されている。リストの終端を選択することができるが、これは、一部の内容に関して、予測係数として選択されることになるアップスケーリング基層動きベクトルの尤度は、現在符号化されているPUに隣接する拡張層PUのベクトルなど、他の候補に関するよりもより低い場合があるためである。
【００６６】
同じまたは別の実施形態では、挿入に関する位置は、CUヘッダ内、スライスヘッダ内、またはパラメータセット内のエントリなど、上層シンタックス構造によって判断されている。
【００６７】
同じまたは別の実施形態では、挿入に関する位置はPUヘッダ内で明示的に信号送信される。
【００６８】
同じまたは別の実施形態では、候補予測係数として、1つを超えるアップスケーリング基層動きベクトルが動きベクトル予測係数リスト内の適切な位置に挿入される。例えば、同じまたは別の実施形態では、基層PU(ステップ(502)およびステップ(503)で判断された基層画素を含む基層PU)の符号化の間に判断されているすべての動き予測係数候補をアップスケーリングして、適切な位置、例えば、動きベクトル予測係数リストの終端に挿入することができる。
【００６９】
上で説明された、スケーラブルビデオ符号化における動き予測のための方法を、コンピュータ可読命令を使用するコンピュータソフトウェアとして実施して、コンピュータ可読媒体内に物理的に記憶することが可能である。コンピュータソフトウェアは、任意の適切なコンピュータ言語を使用して符号化されうる。ソフトウェア命令は、様々なタイプのコンピュータ上で実施可能である。例えば、図6は、本開示の実施形態を実施するのに適したコンピュータシステム600を例示する。
【００７０】
コンピュータシステム600に関して図6で示される構成要素は、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能性の範囲に関して、いかなる限定も示唆することを意図しない。また、構成要素の構成は、コンピュータシステムの例示的な実施形態で例示される構成要素のうちのいずれか1つもしくはそれらの組合せに関して、いかなる依存性または要件を有するとして解釈されるべきではない。コンピュータシステム600は、集積回路、プリント回路基板、(モバイル電話もしくはPDAなど)小型ハンドヘルドデバイス、パーソナルコンピュータ、またはスーパーコンピュータを含む、多くの物理的な形を有することが可能である。
【００７１】
コンピュータシステム600は、ディスプレイ632と、(例えば、キーパッド、キーボード、マウス、スタイラスなど)1つまたは複数の入力デバイス633と、1つまたは複数の出力デバイス634(例えば、スピーカ)と、1つまたは複数の記憶デバイス635と、様々なタイプの記憶媒体636とを含む。
【００７２】
システムバス640は、幅広い種類のサブシステムをリンクする。当業者が理解するように、「バス」は、一般的な機能をサービス提供する複数のデジタル信号ラインを指す。システムバス640は、様々なバスアーキテクチャのうちのいずれかを使用する、メモリバスと、周辺バスと、ローカルバスとを含む、いくつかのタイプのバス構造のうちのいずれかであってよい。限定ではなく、例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バスと、拡張ISA(EISA)バスと、マイクロチャネルアーキテクチャ(MCA)バスと、ビデオエレクトロニクススタンダーズアソーシエーション(Video Electronics Standards Association)ローカルバス(VLB)と、ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect)(PCI)バスと、PCI-Express(PCI-X)バスと、アクセラレーテッドグラフィックスポート(Accelerated Graphics Port)(AGP)バスとを含む。
【００７３】
(中央処理装置、すなわち、CPUとも呼ばれる)プロセッサ601は、命令、データ、またはコンピュータアドレスの一時的な局所記憶用のキャッシュメモリユニット602をオプションで含む。プロセッサ601は、メモリ603を含む記憶デバイスに結合される。メモリ603は、ランダムアクセスメモリ(RAM)604と読出し専用メモリ(ROM)605とを含む。当技術分野でよく知られているように、ROM605は、データおよび命令をプロセッサ601に一方向に転送するように作用し、RAM604は、典型的には、データおよび命令を双方向様式で転送するために使用される。これらのタイプのメモリは両方とも、下で説明される、任意の適切なコンピュータ可読媒体を含むことが可能である。
【００７４】
固定記憶装置608は、オプションで、記憶制御ユニット607を経由して、やはりプロセッサ601に双方向で結合される。固定記憶装置608は、追加のデータ記憶容量を提供し、下で説明されるコンピュータ可読媒体のうちのいずれかを含むことも可能である。記憶装置608は、オペレーティングシステム609、EXEC610、アプリケーションプログラム612、データ611などを記憶するために使用可能であり、典型的には、一次記憶装置よりも遅い(ハードディスクなど)二次記憶媒体である。適切な場合、記憶装置608内に保持される情報をメモリ603内の仮想メモリとして標準の様式で組み込むことが可能である点を理解されたい。
【００７５】
プロセッサ601は、グラフィックコントロール621、ビデオインターフェース622、入力インターフェース623、出力インターフェース624、記憶インターフェース625など、様々なインターフェースにも結合され、これらのインターフェースは、次に、適切なデバイスに結合される。一般に、入出力デバイスは、ビデオディスプレイ、トラックボール、マウス、キーボード、マイクロフォン、タッチセンサー式ディスプレイ、トランスデューサカードリーダ(transducer card reader)、磁気読取り装置または紙テープ読取り装置、タブレット、スタイラス、音声認識または手書き文字認識、生体読取り装置、またはその他のコンピュータのうちのいずれかであってよい。プロセッサ601は、ネットワークインターフェース620を使用して、別のコンピュータまたは通信ネットワーク630に結合可能である。そのようなネットワークインターフェース620の場合、上述の方法を実行する過程で、CPU601が情報をネットワーク630から受信することができるか、または情報をネットワークに出力することができることが企図される。さらに、本開示の方法実施形態は、CPU601上でだけ実行することができるか、または処理の一部を共有する遠隔CPU601と連携して、インターネットなど、ネットワーク630を介して実行することができる。
【００７６】
様々な実施形態によれば、ネットワーク環境内にあるとき、すなわち、コンピュータシステム600がネットワーク630に接続されているとき、コンピュータシステム600は、やはりネットワーク630に接続された他のデバイスと通信することができる。ネットワークインターフェース620を経由してコンピュータシステム600と通信をやりとりすることができる。例えば、別のデバイスからの要求または応答など、1つもしくは複数のパケットの形の着信通信をネットワークインターフェース620においてネットワーク630から受信して、処理のためにメモリ603内の選択された区分内に記憶することができる。別のデバイスに対する要求または応答など、この場合も1つもしくは複数のパケットの形の発信通信もやはりメモリ603内の選択された区分内に記憶して、ネットワークインターフェース620においてネットワーク630に送信することができる。プロセッサ601は、処理のために、メモリ603内に記憶されたこれらの通信パケットにアクセスすることができる。
【００７７】
加えて、本開示の実施形態は、さらに、様々なコンピュータ実施動作を実行するためのコンピュータコードを有するコンピュータ可読媒体を備えたコンピュータ記憶製品に関する。媒体およびコンピュータコードは、本開示のために特に設計および構築されたものであってよく、または媒体およびコンピュータコードは、コンピュータソフトウェア技術分野の当業者によく知られており、当業者に利用可能なものであってもよい。コンピュータ可読媒体の例は、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、ならびに、ROMデバイスおよびRAMデバイスなど、プログラムコードを記憶して、実行するように特別に構成された、ハードディスク、フロッピーディスク（登録商標）、および磁気テープなどの磁気媒体と、CD-ROMおよびホログラフィックデバイスなどの光媒体と、光ディスクなどの光磁気媒体と、ハードウェアデバイスとを含むが、これらに限定されない。コンピュータコードの例は、コンパイラによって作成されるような、機械コードと、インタープリターを使用してコンピュータによって実行される上位コードを含むファイルとを含む。当業者は、本開示の主題に関して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、またはその他の一時的信号を包含しない点も理解されたい。
【００７８】
限定としてではなく、例として、アーキテクチャを有するコンピュータシステム600は、メモリ603など、1つまたは複数の有形のコンピュータ可読媒体内で実施されるソフトウェアを実行するプロセッサ601の結果として機能性を提供することができる。本開示の様々な実施形態を実施するソフトウェアをメモリ603内に記憶して、プロセッサ601によって実行することが可能である。コンピュータ可読媒体は、特定のニーズに従って、1つまたは複数のメモリデバイスを含むことが可能である。メモリ603は、通信インターフェースを経由して、大容量記憶デバイス635など、1つもしくは複数の他のコンピュータ可読媒体から、または1つもしくは複数の他のソースからソフトウェアを読み取ることができる。ソフトウェアは、メモリ603内に記憶されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従って、そのようなデータ構造を修正することとを含めて、プロセッサ601に本明細書で説明された特定のプロセスまたは特定のプロセスのうちの特定の部分を実行させることができる。加えて、またはその代わりに、コンピュータシステムは、本明細書で説明された特定のプロセス、もしくは特定のプロセスのうちの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと共に動作することができる、配線された、あるいは、そうでない場合、回路の形で実施された論理の結果として、機能性を提供することができる。ソフトウェアの参照は、論理を包含することが可能であり、適切な場合、逆も同様である。コンピュータ可読媒体の参照は、実行するためのソフトウェアを記憶した(集積回路(IC)などの)回路、実行のための論理を実施する回路、または、適切な場合、それら両方を包含することが可能である。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【００７９】
本開示はいくつかの例示的な実施形態を説明したが、本開示の範囲内に包含される、変更、置換、および様々な代替均等物が存在し、それらは本開示の範囲内である。したがって、本明細書で明示的に示され、説明されないが、本開示の原理を実施し、したがって、本開示の趣旨内および範囲内である多数のシステムおよび方法を考案することが可能であることを当業者は理解されよう。
【符号の説明】
【００８０】
101  ビデオ信号入力  ビデオ入力
102  ダウンサンプリングユニット
103  基層符号化ループ
104  基層基準画像バッファ  基準画像バッファ
105  基準画像アップサンプリングユニット  アップサンプリングユニット
106  拡張層符号化ループ
107  ビットストリーム生成器
108  非変更形式
110  基層ビットストリーム
111  再構成画像  再構成画像バッファ
112  基準画像
113  拡張層ビットストリーム
114  スケーラブルビットストリーム
115  動きベクトル符号化ユニット
201  圧縮されていない入力ビデオ
202  ダウンサンプルモジュール
203  基層符号化ループ
204  基層符号化ビットストリームビット
205  スケーラブルビットストリーム生成器
206  スケーラブルビットストリーム
207  再構成画像(または、その一部)
208  基準画像サイド情報
209  アップサンプリングユニット
210  アップスケーリングユニット
211  拡張層符号化ループ  拡張層符号化
212  基準画像バッファ
214  予測係数リスト挿入モジュール
301  基層デコーダ
302  拡張層デコーダ
303  アップスケーリングされうるサイド情報
304  アップスケーリングユニット
305  アップスケーリングサイド情報
306  動きベクトル復号モジュール
307  予測係数リスト挿入モジュール
308  基層ビットストリーム
310  アップスケーリングユニット
313  基準画像
314  拡張層ビットストリーム
315  拡張層基準画像
401  予測係数リスト挿入モジュール
403  動きベクトル予測係数リスト
404  エントリ
405  エントリ
600  コンピュータシステム
601  プロセッサ  CPU
602  キャッシュメモリユニット
603  メモリ
604  ランダムアクセスメモリ(RAM)
605  読出し専用メモリ(ROM)
607  記憶制御ユニット
608  固定記憶装置  記憶装置
609  オペレーティングシステム
610  EXEC
611  データ
612  アプリケーションプログラム
620  ネットワークインターフェース
621  グラフィックコントロール
622  ビデオインターフェース
623  入力インターフェース
624  出力インターフェース
625  記憶インターフェース
630  ネットワーク
632  ディスプレイ
633  入力デバイス
634  出力デバイス
635  記憶デバイス
636  様々なタイプの記憶媒体
640  システムバス
【図１】
0005956571.tif 000002
【図２】
0005956571.tif 000003
【図３】
0005956571.tif 000004
【図４】
0005956571.tif 000005
【図５】
0005956571.tif 000006
【図６】
0005956571.tif 000007