首页 / 专利库 / 图形技术 / 运动补偿图像 / 動き補償予測のための方法及び装置

動き補償予測のための方法及び装置

阅读:1032发布:2020-08-06

专利汇可以提供動き補償予測のための方法及び装置专利检索,专利查询,专利分析的服务。并且【課題】フレーム間予測に新規な動き補償動作を提供する。 【解決手段】取り出されたサンプルに分数サンプル補間が適用され、分数サンプルを生成する。第1の分数サンプル補間がサンプルに第1の方向で適用され、分数サンプルの第1のセットを生成する。第2の分数サンプル補間が分数サンプルの第1のセットに第2の方向で適用され、分数サンプルの第2のセットを生成する。分数サンプルの第1のセットは、サンプルの表現の 精度 とは無関係な精度で表される。分数サンプル補間は複数のフィルタリング動作を含み、フィルタリング動作からのフィルタリングされたすべての結果は、参照ピクチャメモリに格納されたサンプルのビット深度に関係なく、所定のビット深度まで切り捨てられる。 【選択図】図6,下面是動き補償予測のための方法及び装置专利的具体信息内容。

フレーム間予測の下で実行される動き補償のためのビデオ復号方法であって、 参照ピクチャメモリからサンプルを取り出すステップと、 第1の分数サンプル補間を前記取り出されたサンプルに第1の方向で適用して、分数サンプルの第1のセットを生成するステップと、 第2の分数サンプル補間を前記分数サンプルの第1のセットに第2の方向で適用して、分数サンプルの第2のセットを生成するステップであって、前記分数サンプルの第1のセットが、前記参照ピクチャメモリから取り出された前記サンプルの表現の精度とは無関係な精度で表される、ステップと を実装するためにビデオ復号器のプロセッサによって実行されるコンピュータ実行可能ステップを含む、方法。前記分数サンプル補間が、 [−1、4,−10,58,17,−5,1,0] [−1,4,−11,40,40,−11,4,−1]及び [0,1,−5,17,58,−10,4,−1] の係数の3つのセットのうちの1つを有する8タップFIRフィルタを適用して、4分の1画素サンプルを生成する、請求項1に記載の方法。前記分数サンプル補間が、前記分数サンプルが所望の精度を有するように、フィルタリングされた結果のそれぞれを切り捨てるステップを含む、請求項2に記載の方法。前記所望の精度が、前記第1及び第2の分数補間プロセス全体にわたって一定である、請求項3に記載の方法。フィルタリングされた結果のそれぞれを切り捨てるステップが、切り捨てられた結果を負の無限大方向に丸めるステップを含む、請求項3に記載の方法。前記取り出されたサンプルを、前記サンプルの元のビット深度に関係なく、前記サンプルに対して一定な第2のビット深度までスケーリングするステップを更に含み、前記第2のビット深度は、前記サンプルを表すために使用可能なビット数に等しく設定され、スケーリング係数は、前記サンプルを表すために使用可能なビット数から前記サンプルの前記元のビット深度を引いたものに等しく設定される、請求項1に記載の方法。前記スケーリングされたサンプルからオフセットを減算するステップを更に含む、請求項1に記載の方法。フレーム間予測の下で実行される動き補償のためのビデオ符号化方法であって、 参照ピクチャメモリからサンプルを取り出すステップと、 第1の分数サンプル補間を前記取り出されたサンプルに第1の方向で適用して、分数サンプルの第1のセットを生成するステップと、 第2の分数サンプル補間を前記分数サンプルの第1のセットに第2の方向で適用して、分数サンプルの第2のセットを生成するステップであって、前記分数サンプルの第1のセットが、前記参照ピクチャメモリから取り出された前記サンプルの表現の精度とは無関係な精度で表される、ステップと、 を実装するためにビデオ符号器のプロセッサによって実行される、コンピュータ実行可能ステップを含む、方法。前記分数サンプル補間が、 [−1、4,−10,58,17,−5,1,0] [−1,4,−11,40,40,−11,4,−1]及び [0,1,−5,17,58,−10,4,−1] の係数の3つのセットのうちの1つを有する8タップFIRフィルタを適用して、4分の1画素サンプルを生成する、請求項8に記載の方法。前記分数サンプル補間が、前記分数サンプルが所望の精度を有するように、フィルタリングされた結果のそれぞれを切り捨てるステップを含む、請求項9に記載の方法。前記所望の精度が、前記第1及び第2の分数補間プロセス全体にわたって一定である、請求項10に記載の方法。フィルタリングされた結果のそれぞれを切り捨てるステップが、切り捨てられた結果を負の無限大方向に丸めるステップを含む、請求項10に記載の方法。前記取り出されたサンプルを、前記サンプルの元のビット深度に関係なく、前記サンプルに対して一定な第2のビット深度までスケーリングするステップを更に含み、前記統合されたビット深度は、前記サンプルを表すために使用可能なビット数に等しく設定され、スケーリング係数は、前記サンプルを表すために使用可能なビット数から前記サンプルの前記元のビット深度を引いたものに等しく設定される、請求項8に記載の方法。前記スケーリングされたサンプルからオフセットを減算するステップを更に含む、請求項13に記載の方法。

フレーム間予測の下で実行される動き補償のためのビデオ復号方法であって、 参照ピクチャメモリからサンプルを取り出すステップと、 前記参照ピクチャメモリから取り出されたサンプルに対して第1の方向に第1の分数サンプル補間を適用し、分数サンプルの第1のセットを生成するステップと、 第2の分数サンプル補間を前記分数サンプルの第1のセットに第2の方向に適用して、分数サンプルの第2のセットを生成するステップと、 を実装するためにビデオ復号器のプロセッサによって実行されるコンピュータ実行可能ステップを含み、 前記サンプルは、第1のビット深度で表され、前記分数サンプルの第1のセットは、前記サンプルの第1のビット深度に関係なく一定である第2のビット深度で表され、 前記分数サンプル補間が、[−1、4,−10,58,17,−5,1,0][−1,4,−11,40,40,−11,4,−1]及び[0,1,−5,17,58,−10,4,−1]の係数の3つのセットのうちの1つを有する8タップFIRフィルタを適用して、4分の1画素サンプルを生成する、方法。前記分数サンプル補間が、前記分数サンプルが所望の精度を有するように、フィルタリングされた結果のそれぞれを切り捨てるステップを含む、請求項1に記載の方法。前記所望の精度が、前記第1及び第2の分数補間プロセス全体にわたって一定である、請求項2に記載の方法。フィルタリングされた結果のそれぞれを切り捨てるステップが、切り捨てられた結果を負の無限大方向に丸めるステップを含む、請求項2に記載の方法。前記サンプルの第1のビット深度は、8または10に設定される、請求項1から4のいずれか一項に記載の方法。前記第2のビット深度は、14に設定される、請求項1から5のいずれか一項に記載の方法。フレーム間予測の下で実行される動き補償のためのビデオ復号装置であって、 参照ピクチャメモリからサンプルを取り出す手段と、 前記参照ピクチャメモリから取り出されたサンプルに対して第1の方向に第1の分数サンプル補間を適用し、分数サンプルの第1のセットを生成する手段と、 第2の分数サンプル補間を前記分数サンプルの第1のセットに第2の方向に適用して、分数サンプルの第2のセットを生成する手段と、を含み、 前記サンプルは、第1のビット深度で表され、前記分数サンプルの第1のセットは、前記サンプルの第2のビット深度に関係なく一定である第2のビット深度で表され、 前記分数サンプル補間が、[−1、4,−10,58,17,−5,1,0][−1,4,−11,40,40,−11,4,−1]及び[0,1,−5,17,58,−10,4,−1]の係数の3つのセットのうちの1つを有する8タップFIRフィルタを適用して、4分の1画素サンプルを生成する、装置。前記分数サンプル補間が、前記分数サンプルが所望の精度を有するように、フィルタリングされた結果のそれぞれを切り捨てる手段を含む、請求項7に記載の装置。前記所望の精度が、前記第1及び第2の分数補間プロセス全体にわたって一定である、請求項8に記載の装置。フィルタリングされた結果のそれぞれを切り捨てる手段が、切り捨てられた結果を負の無限大方向に丸める手段を含む、請求項8に記載の装置。前記サンプルの第1のビット深度は、8または10に設定される、請求項7から10のいずれか一項に記載の装置。前記第2のビット深度は、14に設定される、請求項7から11のいずれか一項に記載の装置。

说明书全文

関連出願

[0001]本特許文書は、全体が参照により本書に組み込まれる、2011年6月24日出願の米国特許仮出願第6501112号の出願日の利益を、米国特許法第119条(e)の下で請求する。

発明の背景

[0002]本発明は、フレーム間予測についての動き補償に関し、より詳細には、低い複雑性及び高い精度を達成する動き補償で使用される分数サンプル(fractional sample)補間に関する。

関連技術の説明

[0003]デジタルビデオは、デジタルビデオシーケンスの1つ1つのフレーム(例えば一連のフレーム)を非圧縮で表すために、大量のデータを必要とする。ほとんどの応用例では、帯域幅の制限により、コンピュータネットワーク全体にわたって非圧縮デジタルビデオを伝送することは不可能である。加えて、非圧縮デジタルビデオは、大量の記憶空間を必要とする。デジタルビデオは、通常、記憶要件を削減し帯域幅要件を削減するために、何らかの方法で符号化される。

[0004]デジタルビデオを符号化するための1つの技法は、フレーム間予測又はインター予測(inter−prediction)である。インター予測は、異なるフレーム間の時間冗長性を利用する。時間的に隣接するビデオフレームは、通常、ほぼ同じ状態を維持するピクセルブロックを含む。符号化プロセス中、動きベクトルは、1つのフレーム内のピクセルブロックの動きを、別のフレーム内の同様のピクセルブロックに関係付ける。したがってシステムは、ピクセルブロックを2回符号化する必要がなく、ピクセルブロックを1回符号化し、動きベクトルを与えて他方のピクセルブロックを予測する。

[0005]デジタルビデオを符号化するための別の技法は、フレーム間予測又はイントラ予測である。イントラ予測は、フレーム又はその一部を、他のフレーム内のピクセルを参照せずに符号化する。イントラ予測は、フレーム内のピクセルブロック間の空間冗長性を利用する。空間的に隣接するピクセルブロックは、一般に同様の属性を有するため、隣接ブロック間の空間的相関を参照することにより、符号化プロセスの効率は向上する。この相関は、隣接ブロック内で使用される予測モードに基づくターゲットブロックの予測によって利用され得る。

[0006]インター予測では、受け取られるピクチャが動き推定及び補償に基づいて予測される。ビデオ内の移動オブジェクトは、しばしばフレームからフレームへと現れ、オブジェクトのすべて又は一部が後続のフレーム内で再配置される。こうした再配置にもかかわらず、フレームシーケンス内での相関は高く、冗長性を生じさせる。この時間冗長性は、現行フレーム内のサンプルと参照フレーム内の同じオブジェクトの位置とを比較及び関係付けすることによって削減され得る。特に、動き推定中、現行フレーム又はその区画は、現行フレームよりも時間的に前又は後であり得る参照フレームと比較される。それぞれの参照フレームで設定された検索範囲内のピクセルパターンは、符号化される予定の現行フレーム内のピクセルパターンと最も一致するピクセルパターンを含む参照フレームが見つかるまで、現行フレーム内に示されたピクセルパターンと比較される。この比較結果に基づき、フレーム間変位ベクトル又は動きベクトルが推定される。推定された動きベクトルを使用して、動き補償は現行フレームの予測を導き出す。

[0007]参照ピクチャの解像度を上げるために、整数位置のサンプル、又は単に整数サンプルと呼ばれる、参照ピクチャ内のピクセルに補間を適用することによって、動きベクトルの正確さ及び符号化効率を上げることが可能である。補間とは、整数サンプルの値を使用して、各整数サンプル間に分数サンプルを生成することである。整数サンプル間に分数サンプルがより多く生成されるほど、参照ピクチャの解像度が高くなり、分数サンプル変位をより精密且つ正確に補償することができる。例えば、ピクセルの半分のみの変位である移動オブジェクトの動きを正確に補償するためには、少なくとも2分の1ピクセル(画素)補間が必要である。動き推定及び補償は、いくつかの異なるブロックサイズを使用して実行され得る。個々の動きベクトルは、4x4、4x8、8x4、8x8、8x16、16x8、又は16x16のピクセルを有する区画について決定され得る。小さな動き補償区画を提供することで、精細な動きの細部を処理する能が向上する。

[0008]H.264/AVCは、2ステップ手法を取り、4分の1画素(quarter−pel)解像度までの動き補償を達成する。H.264/AVCにおいて、第1のステップは、6タップフィルタを使用し、周辺整数サンプルの値から2分の1画素解像度で中間値を生成する。第2のステップでは、整数サンプルの値及び中間値が平均化されるか、又は中間値同士で平均化され、4分の1画素位置で分数サンプルを、又は単に4分の1画素サンプルを生成する。Bスライスでは、2つの予測から2つの予測分数サンプルが更に平均化され得る。しかしながら、複数の平均化動作は、連続して行われると丸め誤差を招き、動き補償の正確さ及び効率に悪影響を与えることに留意されたい。Joint Collaborative Team on Video Coding(JCT−VC)の提案D321及びE242は、双方向平均化に関連付けられた丸め誤差問題に対処している。これらの文書は、2つの予測が加えられた後、双方向平均化の最終ステップで実施するように丸め動作が制限されることを提案している。

[0009]JCT−VC草案E603は、4分の1画素解像度を達成するための8タップフィルタの使用を開示している。E603では、8タップフィルタを最も近い整数サンプルに適用すること、及びフィルタリングされた結果を所定のビット深度まで切り捨てることによって、いくつかの4分の1画素サンプルが導出される。残りの4分の1画素サンプルは2つのプロセスを通じて導出される。第1のプロセスでは、中間値は8タップフィルタを最も近い整数サンプルに垂直方向に適用することによって導出される。第2のプロセスでは、8タップフィルタは中間値に平方向に適用され、フィルタリングされた結果は所定のビット深度まで切り捨てられる。この2プロセス手法は、第2のプロセスにおける垂直フィルタリング及び水平フィルタリングに関する固定された順序が不要であるため、第2のプロセスにおける垂直フィルタリング及び水平フィルタリングの順序に関する信号を復号器に送信することが不要であることから、有利である。しかしながら、E603で考察された動き補償は、中間値を生成するための追加のフィルタリング動作の定義が必要である。特に高ビット深度のビデオデータの場合、中間値に適用されるフィルタリング動作は費用がかかり、かなり複雑な計算が必要である。

[0010]更に、E603で考察された動き補償では、計算される4分の1画素サンプルの正確さを補償するように中間値を切り捨てることはない。したがって、計算される値のビット単位の精度は、E603で考察される動き補償中、一定ではない。前述の第1のプロセスの終わりに、結果として生じるサンプル値の精度は、8タップフィルタの利得によって決定された量だけ上昇する。8タップフィルタを中間値に適用することにより、精度は、所定の精度まで切り捨てる前に、第1のプロセスと同じ量だけ再度上げられる。したがって、第2のステップの終わりに元のビット深度まで解像度を戻すために、第1のプロセスで必要な解像度の切り捨ての2倍の切り捨てが第2のプロセスで必要である。

前述の従来技術に鑑みて、本発明は、フレーム間予測に新規な動き補償動作を提供する。動き補償は、サンプルに分数サンプル補間を適用して分数サンプルを生成する。本発明による動き補償では、第1の分数サンプル補間がサンプルに第1の方向で適用され、分数サンプルの第1のセットを生成する。第2の分数サンプル補間が分数サンプルの第1のセットに第2の方向で適用され、分数サンプルの第2のセットを生成する。本発明において、分数サンプルの第1のセットは、サンプルの表現の精度とは無関係な精度で表される。

[0011]本発明の態様において、4分の1画素サンプルを生成するために、分数サンプル補間は、以下の係数の3つのセットのうちの1つを有する8タップFIRフィルタを適用する。 [−1、4,−10,58,17,−5,1,0] [−1,4,−11,40,40,−11,4,−1]及び [0,1,−5,17,58,−10,4,−1] [0012]本発明の態様において、分数サンプル補間は、分数サンプルが所望の精度を有するように、フィルタリングされた結果のそれぞれを切り捨てることを含む。所望の精度は、第1及び第2の分数補間プロセス全体にわたって一定であり得る。

[0013]切り捨てプロセスは、切り捨てられた結果を負の無限大方向に丸めることを含み得る。これは、切り捨てプロセスの前に、フィルタリングされた結果に何れのオフセットも追加しないことによって達成される。

[0014]更に本発明の他の態様において、サンプルは、サンプルの元のビット深度に関係なく、サンプルに対して一定な第2のビット深度までスケーリングされ得る。第2のビット深度は、サンプルを表すために使用可能なビット数に等しく設定することができ、スケーリング係数は、サンプルを表すために使用可能なビット数からサンプルの元のビット深度を引いたものに等しく設定される。

[0015]更に本発明の他の態様において、スケーリングされたサンプルはオフセットが減算される。

[0016]

本発明が実装可能な例示のハードウェアアーキテクチャを示すブロック図である。[0017]

本発明が適用可能なビデオ符号器の一般的概念を示すブロック図である。[0018]

本発明が適用可能なビデオ復号器の一般的概念を示すブロック図である。[0019]

本発明の実施形態に従った符号器の機能モジュールを示すブロック図である。[0020]

本発明の実施形態に従った、ビデオ符号器によって実行される符号化プロセスを示すフローチャートである。[0021]

本発明の実施形態に従った、分数サンプル補間のプロセスを示すフローチャートである。[0022]

分数サンプル補間のためのフィルタリングを示す図である。[0023]

本発明の実施形態に従った、復号器の機能モジュールを示すブロック図である。[0024]

本発明の実施形態に従った、ビデオ復号器によって実行される復号プロセスを示すフローチャートである。

[0025]図1は、本発明が実装可能なコンピュータ100の例示のハードウェアアーキテクチャを示す。図1に示されるハードウェアアーキテクチャは、本発明の実 施形態を実装するビデオ符号器及びビデオ復号器の両方において一般的であり得ることに留意されたい。コンピュータ100は、プロセッサ101、メモリ102、記憶デバイス105、及び、ローカルインターフェース107を介して通信可能に結合された1つ又は複数の入力及び/又は出力(I/O)デバイス106(又は周辺装置)を含む。ローカルインターフェース107は、当分野で知られているように、例えば1つ又は複数のバス或いは他の有線接続又は無線接続であり得るが、これらに限定されない。

[0026]プロセッサ101は、特にメモリ102に格納されたソフトウェアを実行するための、ハードウェアデバイスである。プロセッサ101は、任意の特別注文又は市販のプロセッサ、中央処理ユニット(CPU)、コンピュータ100に関連付けられたいくつかのプロセッサの中の補助プロセッサ、半導体ベースの(マイクロチップ又はチップセットの形の)マイクロプロセッサ、或いは、一般にソフトウェア命令を実行するための任意のデバイスであり得る。

[0027]メモリ102は、揮発性メモリ要素(例えばランダムアクセスメモリ(DRAM、SRAM、SDRAM等のRAM))及び不揮発性メモリ要素(例えばROM、ハードドライブ、テープ、CDROM等)のうちの任意の1つ又はそれらの組み合わせを含むことが可能な、コンピュータ読み取り可能媒体を備える。更に、メモリ102は、電子、磁気、光、及び/又は他のタイプの記憶媒体を組み込むことができる。コンピュータ読み取り可能媒体は、命令実行のシステム、装置、又はデバイスによるか又はそれらに関連して使用するためのプログラムを格納、通信、伝搬、又は移送する任意の手段であり得る。メモリ102は、様々な構成要素が互いに遠隔に位置付けられるが、プロセッサ101によるアクセスが可能な、分散アーキテクチャを有し得ることに留意されたい。

[0028]メモリ102内のソフトウェア103は、1つ又は複数の別々のプログラムを含むことができ、プログラムのそれぞれは、以下で説明するように、コンピュータ100の論理機能を実装するための実行可能命令の順序付けリストを含む。図1の例では、メモリ102内のソフトウェア103は、本発明によるコンピュータ100のビデオ符号化機能又はビデオ復号機能を定義する。加えて、必須ではないが、メモリ102はオペレーティングシステム(O/S)104を含むことが可能である。オペレーティングシステム104は、本来、コンピュータプログラムの実行を制御し、スケジューリング、入力出力制御、ファイル及びデータ管理、メモリ管理、並びに通信制御及び関連サービスを提供する。

[0029]コンピュータ100の記憶デバイス105は、固定記憶デバイス又は移動記憶デバイスを含む、多くの異なるタイプの記憶デバイスのうちの1つであり得る。例として、記憶デバイス105は、磁気テープ、ディスク、フラッシュメモリ、揮発性メモリ、又は異なる記憶デバイスであり得る。加えて、記憶デバイス105は、セキュアなデジタルメモリカード又は任意の他の取り外し可能記憶デバイス105であり得る。

[0030]I/Oデバイス106は、例えばタッチスクリーン、キーボード、マウス、スキャナ、マイクロフォン、又は他の入力デバイス等であるがこれらに限定されない、入力デバイスを含み得る。I/Oデバイス106は、例えばディスプレイ又は他の出力デバイス等であるがこれらに限定されない、出力デバイスも更に含み得る。I/Oデバイス106は、例えば、変調器/復調器(例えば、他のデバイス、システム、又はネットワークにアクセスするためのモデム)、無線周波数(RF)、無線若しくは他の送受信機、電話インターフェース、ブリッジ、ルータ、或いは入力及び出力として機能する他のデバイス等であるがこれらに限定されない、入力及び出力を介して通信するデバイスを、更に含み得る。

[0031]当業者であれば周知のように、ビデオ圧縮はビデオシーケンス内の冗長情報を除去することによって達成される。多くの異なるビデオ符号化標準が存在し、その例にはMPEG−1、MPEG−2、MPEG−4、H.261、H.263、及びH.264/AVCが含まれる。本発明は、任意の特定のビデオ符号化標準の適用において制限されるものと意図されていないことに留意されたい。しかしながら本発明は、参照により本明細書に組み込まれたH.264/AVC標準の例を使用して、以下で説明される。H.264/AVCは最新のビデオ符号化標準であり、MPEG−1、MPEG−2、H.261、及びH.263等の以前の符号化標準に比べて著しい性能改善を達成している。

[0032]H.264/AVCでは、ビデオの各フレーム又はピクチャを幾つかのスライスに分割することができる。次にスライスは、マクロブロックと呼ばれる16x16ピクセルのブロックに分割され、このブロックが、8x16、16x8、8x8、4x8、8x4、4x4までのピクセルのブロックに、更に分割され得る。H.264/AVCによってサポートされるスライスには5つのタイプがある。Iスライスでは、すべてのマクロブロックがイントラ予測を使用して符号化される。Pスライスでは、マクロブロックはイントラ予測又はインター予測を使用して符号化され得る。Pスライスは、マクロブロックごとに1つの動き補償予測(MCP)信号のみが使用可能である。Bスライスでは、マクロブロックはイントラ予測又はインター予測を使用して符号化され得る。予測ごとに2つのMCP信号が使用可能である。SPスライスは、異なるビデオストリーム間でPスライスを効率良く切り換えることができる。SIスライスは、ランダムアクセス又は誤り回復についてはSPスライスと完全に一致するが、イントラ予測のみを使用する。

[0033]図2は、本発明が適用可能なビデオ符号器の一般的概念を示す。図に示されたブロックは、メモリ102内のソフトウェア103を実行するプロセッサ101によって実現される機能モジュールを表す。ビデオフレームのピクチャ200は、ビデオ符号器201に送られる。ビデオ符号器はピクチャ200をマクロブロック200A単位で扱う。各マクロブロックはいくつかのピクセルのピクチャ200を含む。各マクロブロックで、変換係数への変換後、変換係数レベルへの量子化が実行される。更に、符号化ステップを、ピクセルデータに対して直接実行するのではなく、ピクセル値とピクセル値予測との間の相違に対して実行するように、イントラ予測又はインター予測が使用されることにより、より容易に圧縮される小さな値が達成される。

[0034]各スライスについて、符号器201は、それぞれのスライスのマクロブロックの符号化バージョンを形成するいくつかの構文要素を生成する。変換係数レベル又はスキップされる変換係数レベルを示す有意性マップ等の、変換係数の符号化に関する構文要素内のすべての残余データ要素は、残余データ構文要素と呼ばれる。これらの残余データ構文要素に加えて、符号器201によって生成される構文要素は、各マクロブロックがそれぞれどのように符号化され復号されるべきであるかに関する、制御情報を含む制御情報構文要素を含む。言い換えれば、構文要素は2つのカテゴリに分割することができる。第1のカテゴリである制御情報構文要素は、例えばマクロブロックタイプ、サブマクロブロックタイプ、及び、空間と時間の両方のタイプの予測モードに関する情報、並びにスライスベース及びマクロブロックベースの制御情報に関する要素を含む。第2のカテゴリでは、量子化された変換係数のブロック内部でのすべての有意係数の位置を示す有意性マップ、及び、量子化ステップに対応するレベル単位で表される有意係数の値等の、すべての残余データ要素が組み合わせられ、残余データ構文要素となる。

[0035]符号器201は、構文要素を符号化し、各スライスに対して算術符号語を生成する、エントロピー符号器を備える。スライスに対して算術符号語を生成する場合、エントロピー符号器は、ビデオ信号ビットストリーム内の構文要素のデータ値間での統計的依存を利用する。符号器201は、ピクチャ200のスライスに関する符号化されたビデオ信号を、図3に示されたビデオ復号器301へと出力する。

[0036]図3は、本発明が適用可能なビデオ復号器の一般的概念を示す。ここでも同様に、図に示されたブロックは、メモリ102内のソフトウェア103を実行するプロセッサ101によって実現される機能モジュールを表す。ビデオ復号器301は、復号化されたビデオ信号を受信し、第1にこの信号を構文要素へとエントロピー復号する。復号器301は、マクロブロックごとに、その後スライス順に、ピクチャ300内のピクセルのピクチャサンプル300Aを再構成するためにこの構文要素を使用する。

[0037]図4はビデオ符号器201の機能モジュールを示し、図4内では全体として参照番号400で示されている。これらの機能モジュールは、メモリ102内のソフトウェア103を実行するプロセッサ101によって実現される。入力ビデオピクチャは、クロミナンス(「chroma」)及び輝度(「luma」)等の、元の色の構成要素を表すサンプルポイントによって定義される、未処理の(非圧縮の)ビデオイメージのフレーム又はフィールドである。色相、彩度、及び色値等の他の構成要素も可能である。入力ビデオピクチャは、それぞれがピクチャカラーの16x16ピクセルのluma構成要素からなる正方形のピクチャ域を表すマクロブロックに分割される。入力ビデオピクチャは、それぞれがピクチャカラーの2つのchroma構成要素それぞれの8x8ピクセルを表すマクロブロックにも区分される。一般的な符号器動作では、入力されるマクロブロックは、インター予測又はイントラ予測を使用して時間的又は空間的に予測され得る。しかしながら、マクロブロック400がすべてPスライスタイプのマクロブロックであるか、又はすべてBスライスタイプのマクロブロックであるか、或いはその両方の混合であるかが、考察のために仮定され、インター予測のみが行われる。

[0038]図4に示されたビデオ符号器400は、現行ピクチャと現行ピクチャの予測との残余又は相違のみを伝送する。減算器410はこれらの残余を、入力信号ISとして符号化されることになる現行ピクチャのブロックを受信すること、及び、受信したブロックから予測信号PSによって示される予測ピクチャのブロックを減算することによって、取得する。図4に示されるように、ビデオ符号器400は、量子化された変換係数QCを出力するための変換/量子化ユニット420を含む。変換/量子化ユニット420は残余を空間ドメインから周波数ドメインへと変換し、変換された残余を量子化する。ビデオ符号器400は、量子化された変換係数QCのエントロピー符号化(可変長符号化)を実行し、ビットストリームBSを出力するための、エントロピー符号化ユニット490も含む。

[0039]ビデオ符号器400は、逆量子化/変換ユニット430及び加算器435を更に含む。逆量子化/変換ユニット430は、量子化された変換係数QCを残余信号RSに変換し直し、加算器435はこの残余信号RSに予測信号PSを加算して、復号されたピクチャを出力する。非ブロック化フィルタ437は復号されたピクチャからブロックアーティファクトを除去し、クリーニング済みの復号されたピクチャを参照メモリ440に格納する。

[0040]ビデオ符号器400は、動き補償/予測ユニット460及び動き推定ユニット470を更に含む。動き補償/予測ユニット460は、参照メモリ440から参照ピクチャを読み取り、4分の1画素位置で分数サンプルを生成するために補間を適用する。動き推定ユニット470も、参照メモリ440から参照ピクチャを読み取り、現行ピクチャと参照ピクチャとを比較することによって、現行ピクチャの動きベクトルMVを推定する。動きベクトルMVは、動き補償/予測ユニット460及びエントロピー符号化ユニット490へと出力される。ブロックは、4x4、4x8、8x4、8x8、8x16、16x8、又は16x16のピクセルを有する区画に分割され得る。動き推定ユニット470は、ブロック内のそれぞれの区画について動き推定を実行し、それぞれの区画に関する動きベクトルMVを出力する。動き補償/予測ユニット460は、参照ピクチャ内のそれぞれの区画を動きベクトルによって示される量だけ、示される方向に移動させ、予測ピクチャを導出して、この予測ピクチャが予測信号ISとして減算器410及び加算器435に送られる。

[0041]図5は、ビデオ符号器400によって実行される高レベルの符号化プロセスを示すフローチャートである。ステップ502で、動き補償/予測ユニット460は予測ブロックを生成する。ステップ504で、減算器410は予測ピクチャを現行ピクチャから減算し、残余を取得する。ステップ506で、変換/量子化ユニット420は残余を符号化する。

[0042]図6は、本発明の実施形態に従った、予測信号を生成するために動き補償/予測ユニット460によって実行される、動き補償のプロセスを示すフローチャートである。ステップ602で、動き補償/予測ユニット460は参照メモリ440から参照サンプルを読み取る。参照メモリ440は複数の参照ピクチャを格納する。H.264/AVCのセクション8.4.2及びそのサブセクションで考察しているように、参照メモリ440内に格納された参照ピクチャから取り出される参照サンプルの位置は、現行ピクチャ内の予測される領域の位置、その領域の動きベクトルMV、及び参照フレームインデックスを用いて決定され得る。

[0043]ステップ604で、参照サンプルの精度を上げるために、取り出された参照サンプルがスケーリングされる。スケーリング係数は、参照サンプルのビット深度及び参照サンプルを表すために使用可能なビット数を用いて決定され得る。参照サンプルの表現に使用可能な最大ビット数が16である場合、サンプルの表現に使用可能なビット数を14に制限して、動き補償中に発生する可能性のあるデータのオーバーフロー又はアンダーフローを防止するように、参照サンプルを表すために使用可能なビット数を決定することができる。サンプルを表すために使用可能なビット数が14の場合、8ビット幅の参照サンプルのスケーリング係数は6であり、取り出された参照サンプルは、そのビットを6ビットだけ左にシフトすることによってスケーリングされる。10ビット幅の参照サンプルのスケーリング係数は4とされ、取り出された参照サンプルは、そのビットを4ビットだけ左にシフトすることによってスケーリングされる。より一般的には、スケーリング係数は「参照サンプルを表すために使用可能なビット数」から「参照サンプルのビット深度」を減じることによって表し得る。ステップ604で実行されるスケーリングプロセスは、参照メモリ内に格納される参照サンプルをそのビット深度とは無関係な形で変換し、スケーリングプロセスに続くプロセスは、ビデオデータの元のビット深度とは無関係になるため、有利である。

[0044]オプションで、参照サンプルのスケーリング値からオフセットを減算することができる。例えばスケーリング済み参照サンプルを表すために符号付き14ビット表現が使用される場合、減算されることになるオフセットの値は8192(=213)となり得、スケーリング済み参照サンプルは−8192〜8192の範囲内となる。このオフセットを追加することは、サンプルを表すために必要なビット数を減らすために有益である。以下で説明する補間プロセスは符号付きサンプル値を扱うため、すべてのサンプル値の符号付き表現が好ましい。サンプルが14ビット表現までスケーリングされる上記の例で、オフセットが減算されない場合、オフセットの減算から取得される14ビット符号付き表現よりも費用のかかる、15ビットの符号付き表現を使用しなければならなくなる。参照サンプルは、参照メモリ内に格納される際にスケーリング及びオフセットできることに留意されたい。参照サンプルがスケーリング及びオフセットの後に参照メモリに格納される場合、ステップ604は不要である。

[0045]スケーリング済み参照サンプルの解像度は、その後、4分の1画素位置で分数サンプルを生成するために分数サンプル補間を使用して引き上げられる。図7は、分数サンプル動き補償のためのフィルタリングを示す図である。図7で、大文字Ai,jはスケーリング済み参照サンプルを示す。これらのサンプルは整数サンプルと呼ばれる。a0,0、b0,0、c0,0、d0,0、・・・及びr0,0等の小文字で示された他のサンプルは、4分の1画素位置での分数サンプルである。ステップ606で、以下の補間式により、4分の1画素サンプルa0,0、b0,0、又はc0,0が導出される。 a0,0=(−A−3,0+4*A−2,0−10*A−1,0+58*A0,0+17*A1,0−5*A2,0+A3,0)>>6 b0,0=(−A−3,0+4*A−2,0−11*A−1,0+40*A0,0+40*A1,0−11*A2,0+4*A3,0−A4,0)>>6 c0,0=(A−2,0−5*A−1,0+17*A0,0+58*A1,0−10*A2,0+4*A3,0−A4,0)>>6 動きベクトルの水平構成要素の分数部は、どのサンプルが導出されるかを決定する。例えば分数部が1/4である場合、a0,0が導出される。

[0046]補間動作のそれぞれが、8タップFIRフィルタを最も近い整数サンプルに適用すること、及びフィルタ利得をオフセットするためにフィルタリングされた結果を切り捨てることを含む。各フィルタの係数の合計が64(=26)に等しく設定される。したがって、切り捨て動作は、フィルタリングされた結果を64で割ること、又はフィルタリングされた結果を6だけ右にシフトすることを含む。上記の補間動作で、切り捨てられた結果が負の無限大方向に丸められることに留意されたい。フィルタリングされた結果にオフセットを追加することによって、切り捨てられた結果を最も近い整数方向に丸めることができる。しかしながら、負の無限大方向への丸めは、フィルタリングされた結果にオフセットを追加する必要がないため、有利である。オプションで、動きベクトルの水平構成要素によって指定される分数変位に応じて、1つのフィルタが選択的に適用される異なるタイプのフィルタを提供することができる。水平分数変位がゼロの場合、このステップは省略可能である。8ビット入力を伴う例において、ステップ606では6ビットの右シフト動作が存在し、ステップ604では6ビットの左シフト動作が存在することにも留意されたい。したがって、出力を変更することなく左シフト及び右シフトの動作が除去されるように、ステップ604及び606を組み合わせることができる。

[0047]ステップ608で、以下の補間式により、分数サンプルd0,0、h0,0、n0,0、e0,0、i0,0、p0,0、f0,0、j0,0、q0,0、g0,0、k0,0、又はr0,0が導出される。 d0,0=(−A0,−3+4*A0,−2−10*A0,−1+58*A0,0+17*A0,1−5*A0,2+A0,3)>>6 h0,0=(−A0,−3+4*A0,−2−11*A0,−1+40*A0,0+40*A0,1−11*A0,2+4*A0,3−A0,4)>>6 n0,0=(A0,−2−5*A0,−1+17*A0,−0+58*A0,1−10*A0,2+4*A0,3−A0,4)>>6 e0,0=(−a0,−3+4*a0,−2−10*a0,−1+58*a0,0+17*a0,1−5*a0,2+a0,3)>>6 i0,0=(−a0,−3+4*a0,−2−11*a0,−1+40*a0,0+40*a0,1−11*a0,2+4*a0,3−a0,4)>>6 p0,0=(a0,−2−5*a0,−1+17*a0,0+58*a0,1−10*a0,2+4*a0,3−a0,4)>>6 f0,0=(−b0,−3+4*b0,−2−10*b0,−1+58*b0,0+17*b0,1−5*b0,2+b0,3)>>6 j0,0=(−b0,−3+4*b0,−2−11*b0,−1+40*b0,0+40*b0,1−11*b0,2+4*b0,3−b0,4)>>6 q0,0=(b0,−2−5*b0,−1+17*b0,0+58*b0,1−10*b0,2+4*b0,3−b0,4)>>6 g0,0=(−c0,−3+4*c0,−2−10*c0,−1+58*c0,0+17*c0,1−5*c0,2+c0,3)>>6 k0,0=(−c0,−3+4*c0,−2−11*c0,−1+40*c0,0+40*c0,1−11*c0,2+4*c0,3−c0,4)>>6 r0,0=(c0,−2−5*c0,−1+17*c0,0+58*c0,1−10*c0,2+4*c0,3−c0,4)>>6 動きベクトルの水平及び垂直の構成要素の分数部は、どのサンプルが導出されるかを決定する。例えば水平分数部が1/4であり、垂直分数部が3/4である場合、p0,0が導出される。

[0048]上記の補間動作は、8タップFIRフィルタをサンプルA0,i、a0,i、b0,i、及びc0,iに垂直に適用することを含み、ここでi=−3・・4であり、フィルタリングされた結果を6分の1に切り捨てることを更に含む。本発明では、フィルタリングされたあらゆる結果が切り捨てられ、フィルタリングされた結果が、分数サンプルを算出するために切り捨てられていない中間値として使用されることはないことに留意されたい。したがって本発明では、サンプル値の精度は分数サンプル補間全体を通じて一定である。ステップ606及びステップ608は、どちらもサンプルの表現における精度を変更しない。

[0049]分数サンプル補間の上記実施形態では、垂直及び水平のフィルタリング動作で使用されるフィルタのセットはすべて8タップフィルタである。分数動き補間にはタップ数の異なるフィルタが使用できることに留意されたい。例えばサイズの小さなブロックにはタップの少ないフィルタを使用することが望ましい。タップの少ないフィルタを使用することで、参照メモリから取り出されるサンプル数が削減され、それによってメモリ帯域幅も削減できる。タップの少ないフィルタを使用することで、フィルタリング動作における乗算の回数も削減され、動き補償の効率が向上する。H.264/AVCは、動き補償のために、マクロブロック又はサブマクロブロックを1つ又は複数の区画に分割することが可能である。H.264/AVCでは、16x16サイズのマクロブロックを、それぞれが4x4、4x8、8x4、8x8、8x16、又は16x8のサイズを有する1つ又は複数の区画に分割することができる。したがって、異なる数のタップを備えるフィルタを準備し、区画の幅に従って選択的に適用することができる。例えば、8タップフィルタは8に等しいか又は8よりも大きい幅を有する区画に適用可能であり、4タップフィルタは8よりも小さい幅を有する区画に適用可能である。一実施形態では、こうした4タップフィルタは係数[−4 36 36 −4]を有する。JCT−VC草案E603は、符号化ユニット(CU)の概念を紹介している。NxNのサイズを有するCUは、NxN、NxN/2又はN/2xNのサイズを有する1つ又は複数の区画に分割可能である。CUの高さ又は幅がN又はN/2であるかどうかにかかわらず、異なるタップ数を備えるフィルタを選択的に適用可能である。

[0050]分数サンプル動き補償の上記の実施形態では、垂直分数サンプル補間(ステップ608)よりも水平分数サンプル補間(ステップ606)が先行する。符号器と復号器との間で予め順序に関する合意がある限り、この順序は交換可能であることに留意されたい。他の実施形態では、順序は符号器から復号器へと信号送信可能である。参照サンプルが8ビット幅の場合、水平及び垂直の補間の順序にかかわらず、順序計算の結果は同じとなる。その場合、符号器と復号器との間で順序に関する事前の合意は必要ない。

[0051]JCT−VC草案E603で考察された動き補償では、中間値が垂直に導出され水平に適用されるか、又は水平に導出され垂直に適用されるかにかかわらず、同じ分数サンプルが導出できる。これは、中間値が垂直に導出され水平に適用されるべきであるか、又は水平に導出され垂直に適用されるべきであるかに関して、符号器と復号器との間で事前の合意が不要であるという意味で、有益である。しかしながら、中間値は本発明におけるよりも高い精度を有し、第2のFIRフィルタをこれらの中間値に適用するコストは本発明の適用コストよりも高い。一般に、コストは精度に比例して上昇する。このコストは、精度が16ビット等の一般的なワードサイズを超えるソフトウェアでのコストよりもかなり高い可能性がある。こうした場合、精度は次の一般的なワードサイズに適合するよう、更に拡張される。例えば、精度が17ビットの中間値は32ビットに拡張されることになる。JCT−VC草案E603で考察されるようなより精度の高い中間値は、多大なコストの影響を有し、予測信号の正確さに関して著しい利点をもたらすことはない。

[0052]前述の本発明の実施形態では、水平及び垂直補間の順序は、符号器と復号器との間で固定される必要がある。しかしながら、水平及び垂直補間の順序を固定しても、符号器及び復号器にいかなるコストも発生させない。そればかりか、順序を固定することにより、動き補償は低い精度で動作可能であり、それでもなお十分に高い精度であって、乗算等の演算コストが引き下げられる。また、順序を固定することにより、分数サンプル補間全体を通じて計算精度が一定になる。したがってフィルタリング計算は、例えばサンプルの16ビット符号付き範囲及びフィルタ係数の8ビット符号付き範囲等の、サンプルと係数との間のすべての乗算が、固定ビット範囲内で実行可能であるという点で、簡略化され得る。すべての乗算が固定ビット範囲内で実行されるため、フィルタリング動作は、SIMDアーキテクチャ上で並行して効率良く実装され得る。

[0053]図6に戻ると、ステップ610で、導出されたサンプルに変換が適用される。こうした変換の例が、H.264/AVCのセクション8.4.2.3及びそのサブセクションで、重み付けされたサンプル予測プロセスとして説明されている。重み付けされたサンプル予測プロセスは、線形補間によって2つのサンプルセットを組み合わせる。変換は、フェードを含むシーンに関する符号化効率を向上させることができる。変換の結果として組み合わされたサンプルの値は、指定された範囲、例えば16ビット符号付き範囲内に収まるようにクリッピングされ得る。このような変換が不要な場合、ステップ610は省略可能であることに留意されたい。

[0054]次に、ステップ612で、動き補償について他の予測を生成する必要があるかどうかがチェックされる。例えば、双方向平均化が実行される場合、それらを平均化するために2つの予測を生成する必要がある。他の予測が必要であると決定された場合、プロセスはステップ602に戻る。ステップ614で、双方向予測を生成するために2つの予測が平均化される。双方向平均化が指示されない場合、ステップ614はスキップされる。

[0055]ステップ616で、生成された予測は有効な範囲まで縮小(スケーリング)及びクリッピングされる。ステップ616で実行される縮小動作は、ステップ604で実行されたスケーリング動作を取り消し、ステップ604でサンプルの左シフトに使用されたビットと同じ数のビットだけ、生成された予測を右シフトする。右シフト動作の前に丸めオフセットを追加し、縮小された値を最も近い整数方向に丸めることが好ましい。ステップ604でサンプルからオフセットが減算される場合、同じオフセットが予測に追加される。予測がクリッピングされる有効範囲は、典型的には{0...255}として定義され、ここで格納される参照サンプルは8ビット幅である。一般に、有効範囲はMビット幅の参照サンプルについて{0...2M−1}として定義され得る。

[0056]本発明の実際の実装では、図6に示されるようにステップが別々に実行される必要はなく、いくつかのステップは組み合わせることができる。例えば、図6のステップでは別々に実行されたシフト動作を組み合わせることができる。その例として、ステップ614で実行された双方向平均化に含まれる右シフト動作と、ステップ616で実行された縮小に含まれる右シフト動作とを、組み合わせることができる。更に、例えば分数変位がなく、そのためFIRフィルタリングが不要な場合等、プロセスが簡略化可能な環境に対して、複数の機能又は回路を実装することができる。

[0057]図8はビデオ復号器301の機能モジュールを示し、図8では全体として参照番号800で示されている。これらの機能モジュールは、メモリ102内のソフトウェア103を実行するプロセッサ101によって実現される。図8では、エントロピー復号ユニット810が移動ピクチャ符号化装置400によって出力されたビットストリームBSを取得し、ビットストリームのエントロピー復号処理を実行する。次にエントロピー復号ユニット810は、量子化された変換係数QCを逆量子化/逆変換ユニット820に出力する。エントロピー復号ユニット810は、動きベクトルMVも動き補償/予測ユニット860に出力する。逆量子化/逆変換ユニット820は、逆量子化及び逆DCT変換の復号処理を量子化された変換係数QCで実行する。次に逆量子化/逆変換ユニット820は、残余信号RSを出力する。

[0058]加算器830は、動き補償ユニット860から取得された予測信号PSに残余信号RSを追加し、復号されたピクチャを非ブロック化フィルタ840に出力する。非ブロック化フィルタ840は、復号されたピクチャからブロックアーティファクトを消去し、これを参照メモリ850に格納する。復号されたピクチャはメモリ850から取り出され、出力信号OSとして出力される。

[0059]動き補償/予測ユニット860は、参照メモリ850に格納された参照ピクチャ内のサンプルを取り出し、図7に示されたような分数サンプル補間を実行する。この動き補償/予測ユニット860は、動きベクトルMVと分数サンプル補間が実行された参照ピクチャとに基づいて、予測を生成する。このようにして、動き補償/予測ユニット860は予測信号PSを加算器830に出力する。

[0060]図9は、ビデオ復号器800によって実行される高レベルの復号プロセスを示すフローチャートである。ステップ902で、動き補償/予測ユニット860は予測ブロックを生成する。ステップ904で、逆量子化/逆変換ユニット820は量子化された変換係数QCを復号し、残余信号RSを出力する。ステップ906で、加算器830は残余信号RSを予測信号PSに追加する。

[0061]当業者であれば、疑いなく前述の説明を読めば本発明の多くの変更及び修正が明らかとなるであろうが、例として表示及び説明された何れの特定の実施形態も、決して限定的であるものとみなされることを意図していないことを理解されよう。したがって、様々な実施形態の細部の参照は、それ自体で本発明に不可欠とみなされる特徴のみを示している特許請求の範囲を限定するものとは意図されない。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈