(57)【要約】【課題】データを符号化するための優れた方法、装置、およびコンピュータ読み取り可能な記録媒体を得る。【解決手段】データを符号化するための方法は、ビデオシーケンスの１つのフレームを構成する複数のブロックに関連付けられた動き及び非動き関連変換モデル情報に基づいて、当該フレームと同じフレーム内のデータに対する動き補償予測信号を生成するステップと、上記動き補償予測信号に基づいて予測エラーを生成するステップと、上記予測エラーを符号化するステップと、を含むことを特徴とする。同方法は、上記複数の予測サンプルをフィルタリングするステップと、上記フレームの現ブロックに対する動き補償予測信号を形成するために、フィルタリングされた予測サンプルを組み合わせるステップと、を更に含んでもよい。【選択図】図１
2011097659.tif 000002
【特許請求の範囲】
【請求項１】
データを符号化するための方法であって、
ビデオシーケンスの１つのフレーム内のデータに対する動き補償予測信号を、前記フレームを構成する複数のブロックに関連付けられた動き及び非動き関連変換モデル情報に基づいて、生成するステップと、
前記動き補償予測信号に基づいて予測エラーを生成するステップと、
前記予測エラーを符号化するステップと、
を含む方法。
【請求項２】
前記動き及び非動き関連変換モデル情報が、フレームにおける複数のブロック及び時間予測サンプルのセットに関連付けられた強度補償パラメータを含む、請求項１に記載の方法。
【請求項３】
前記動き補償予測信号予測が、参照フレームにおける複数のブロックからのサンプルに基づいている、請求項１に記載の方法。
【請求項４】
前記複数の予測サンプルをフィルタリングするステップと、
前記フレームの現ブロックに対する動き補償予測信号を形成するために、フィルタリングされた予測サンプルを組み合わせるステップと、
を更に備える、請求項１に記載の方法。
【請求項５】
前記予測エラーは、前記フレームの現ブロックと最終の予測信号との間の差である、請求項１に記載の方法。
【請求項６】
ビデオシーケンスの１つのフレームにおけるデータを符号化するための装置であって、
前記フレームにおけるブロックに対する動き補償予測信号を生成するための動き補償予測モジュールを備え、
前記動き補償予測モジュールが、
参照フレームデータ、並びに、選択された動きベクトル及び変換パラメータに応答して動き補償データを生成する選択動き補償ブロックと、
前記フレームにおける一つより多いブロックからの予測サンプルに基づく一以上の参照フレームにおける対応の参照ブロックにリンクする動き及び非動き関連変換モデル情報に基づいて、前記動き補償予測信号を生成するための予測モジュールと、
前記動き補償予測信号に基づいて予測エラーを生成するための予測エラー計算モジュールと、
前記予測エラーを符号化するための符号化モジュールと、
を有する、装置。
【請求項７】
前記動き及び非動き関連変換モデル情報が、フレームにおける複数のブロック及び時間予測サンプルのセットに関連付けられた強度補償パラメータを含む、請求項６に記載の装置。
【請求項８】
前記予測モジュールは、前記参照フレームにおける複数のブロックのデータからのサンプルに基づいて動き補償予測信号を生成する、請求項６に記載の装置。
【請求項９】
選択動き補償は、前記動き補償予測信号における前記複数の予測サンプルをフィルタリングし、前記予測モジュールは、フィルタリングされた予測サンプルを組み合わせて前記フレームの現ブロックに対する動き補償予測信号を形成する、請求項６に記載の装置。
【請求項１０】
前記予測エラーは、前記フレームの現ブロックと最終の予測信号との間の差である、請求項６に記載の装置。
【請求項１１】
コンピュータに、
ビデオシーケンスの１つのフレーム内のデータに対する動き補償予測信号を、前記フレームを構成する複数のブロックに関連付けられた動き及び非動き関連変換モデル情報に基づいて、生成するステップと、
前記動き補償予測信号に基づいて予測エラーを生成するステップと、
前記予測エラーを符号化するステップと、
を実行させるためのプログラム、を記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを符号化するための方法、装置、およびコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
時間予測は、ビデオ情報の効率的な符号化のために一般的に使用される技術である。ビデオシーケンスにおける画像の実際の輝度値又は色値を符号化し送信するのではなく、この画像の予測信号は、前に符号化され再構成されて記憶された画像データを参照信号として使用することによって形成され、次いで、符号化すべき画像とその予測信号との間の差が符号化される。予測信号形成のプロセスが良好であればある程、符号化される予測エラーが減少するので、ビデオ符号化はより効率的なものとなる。従って、従来の予測ビデオ符号化は、ビデオシーケンスのフレームにおけるデータを、既に符号化され再構成されたフレームからの情報を参照フレームと称されるシーケンスから使用することによって予測するプロセスを含んでいる。このプロセスは、画像におけるブロックレベルにて規定通りに作動する。予測ブロック符号化においては、ブロック自体のデータを符号化するのではなく、対応する予測ブロックが符号化されるべきブロックから減じられ、これによって得られる予測エラーが符号化される。
【０００３】
時間予測は、二つの主コンポーネント、即ち、動き推定プロセス及び動き補償プロセスから成るプロセスである。ビデオシーケンスからの現画像における現ブロックを符号化する場合には、動き推定によって、そのビデオシーケンスのうちの一以上の参照フレームにおける最良のマッチングブロックを見つけ出す試みが行なわれる。この動き推定プロセスの出力は、動きベクトルからなり、当該動きベクトルは、現フレーム内のブロックの、一以上の参照フレームにおける最良の対応のマッチングブロック（予測値）に対する変位を示す。
【０００４】
動き推定プロセスは、輝度又は色情報からなる参照フレームデータを何らかの方法で変換して、当該参照フレームデータを現フレームデータとより密接に相関させた場合に、より良好に実行することができる。この変換は、現データブロックと参照データブロックとの間の差を記述するモデルを反映したものであり、それらの差を補償するための一つの手段として見ることができる。動き推定プロセスに連動するこのような補償変換によって得られる潜在的な利点は、動き推定がより良好なものとなり、また、動き補償プロセスによって現ブロックに対するより良好な予測信号を形成できることに起因して、最終的には符号化効率を向上することができるというものである。
【０００５】
動き補償プロセスは、動き推定プロセスによって生成された動きベクトルを利用して、符号化すべき現フレームと参照フレームとの間に存在する動きを補償する。このような従来の動き補償の出力は、一以上の予測ブロックであり、当該予測ブロックは、一以上の参照フレームから得られるものであって、符号化すべき現ブロックに対応している。良好な予測信号を形成するために、参照画像データは、そのまま使用されるか、または、予測信号を形成する前に特定のモデルに従って変換される。現ブロックに対して実行される動き推定プロセスに関連して参照ブロックに適用するに適切なものとして決定され得る任意の変換が、予測誤差を計算する前に対応する動き補償ブロックへ適用される。予測のための参照画像データのフレームレベル変換は、一般的には、十分に改善された予測信号を求めるには不十分なものである。参照データのブロックレベル変換は、符号化すべき画像におけるブロックに対するより良好なブロックレベルの予測信号を生成することができるが、より高いオーバーヘッドを伴ってしまう。
【０００６】
この動き及び変換−補償の結合予測プロセスを使用して、現ブロックに対する予測信号が形成される。より良好なブロック予測信号によって、ビデオ符号化器にて符号化する必要のある予測エラーが小さくなり、その結果、符号化利得が得られる。しかしながら、従来の方法は、参照フレームにおけるデータの変換及び動き補償の結合を用いて符号化すべきフレームの予測信号を生成するものであり、当該方法によって生成されるレート歪み符号化利得の量に限界がある。これは、参照フレームにて利用できる予測データの使用が不十分なためである。また、従来の方法では、従来のビデオ符号化おける独立したブロックレベルの処理を使用することに伴うブロッキングアーチファクトが目立ってしまう。
【０００７】
ビデオ符号化における予測信号の質を改善するために参照画像に適用される補償変換のパラメータを決定する方法については、２００２年９月に発行されたＮＴＴ（JＰ）、K.Kamikura氏等による「Brightness-Variation  Compensation  Method  and  Coding/Decoding  Apparatus  for  Moving  Pictures」と題する米国特許第６，４５６，６５８号、１９９６年８月に発行されたインテルコーポレーション、S.J.Golin氏等による「Methods  and  Apparatus  for  Improving  Motion  Analysis  of  Fades」と題する米国特許第５，５４４，２３９号、２００４年１月に出願されたJ.M.Boyce氏による「Adaptive  Weighting  of  Reference  Pictures  in  Video  Encoding」と題する米国特許出願公開第ＵＳ２００４/０００８７８６号、N.M.M.Rodrigues氏等による「Hierarchical  Motion  Compensation  with  Spatial  Luminance  Transformations」と題する２００１年の文献、１９９８年１２月のIEEE  Transactions  on  Circuits  and  Systems  for  Video  Technology  Vol.8,  No.8におけるK.Kamikura氏等による「Global  Brightness-Variation  Compensation  for  Video  Coding」と題する論文、及び２００３年４月のIEEE  Transactions  on  Circuits  and  Systems  for  Video  Technology  Vol.13,  No.4におけるS.H.Kim氏等による「Fast  Local  Motion  Compensation  Algorithm  for  Video  Sequences  with  Brightness  Variations」と題する論文に開示されている。この変換は、参照フレームのデータに対してフレームレベルにて決定され、当該データに適用されるものであり、この場合には、動き推定プロセスは、変換された参照フレームに対して動作する。或いは、ブロックレベルの変換を、動き推定プロセス中に決定することが可能である。これらの変換は、ブロックレベルで適用されて、通常のビデオ符号化器における予測エラーの計算に使用される予測ブロックが形成される。第１のステージで決定されたブロックレベルの変換パラメータに基づいて、実際には、パラメータのサブセットのみが、所与のフレームに対して使用するために保持される。このサブセットは、例えば、フレームにおいて最も頻繁に使用されるブロックレベルモデルを含むものである。関連技術において使用されている変換モデルとしては、単一パラメータ（オフセッティング、又はスケーリング）モデル、２−パラメータリニアモデル（スケーリング及びオフセッティング）及び６−パラメータアフィンモデルがある。別の手法として、初期フレームレベルの補償を、変換の後のブロックレベルの改善と結合させることによる階層型補償が適用される。
【０００８】
予測ビデオ符号化を補償するために使用すべき単一の変換モデル又は少数の変換モデルを決定するのでは、符号化効率の利得の点で限界がある。これは、符号化すべき現フレームと参照用のフレームとの間に存在する差を記述するための能力が制限されるからである。ブロックレベル変換モデルを決定し使用する方法は、このような制限をいくらか緩和するが、これら方法は、依然として、予測信号の質、ひいては、目標とする符号化効率を向上することに関して、限界がある。また、それらは個々のブロックに対して個別に動作するので、これらの方法は、復号された画像の主観的品質に対して有害なブロッキングアーチファクトを保持してしまうか、又はより目立つようにしてしまうものである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第６，４５６，６５８号
【特許文献２】米国特許第５，５４４，２３９号
【特許文献３】米国特許出願公開第ＵＳ２００４/０００８７８６号
【非特許文献】
【００１０】
【非特許文献１】N.M.M.Rodrigues氏等による「Hierarchical  Motion  Compensation  with  Spatial  Luminance  Transformations」と題する２００１年の文献
【非特許文献２】１９９８年１２月のIEEE  Transactions  on  Circuits  and  Systems  for  Video  Technology  Vol.8,  No.8におけるK.Kamikura氏等による「Global  Brightness-Variation  Compensation  for  Video  Coding」と題する論文
【非特許文献３】２００３年４月のIEEE  Transactions  on  Circuits  and  Systems  for  Video  Technology  Vol.13,  No.4におけるS.H.Kim氏等による「Fast  Local  Motion  Compensation  Algorithm  for  Video  Sequences  with  Brightness  Variations」と題する論文
【発明の概要】
【００１１】
時間予測を行うための方法、装置及び製品について説明する。ある実施の形態では、復号方法が、複数のブロックのうちの一つにおけるサンプルに対する予測信号を、当該一つのブロックに関連した変換パラメータ及びブロックのグループにおける少なくとも一つの他のブロックに関連した変換パラメータを使用して生成することと、残差データを当該予測信号に加えて、復号したサンプルを得ることと、を含む。
【００１２】
本発明は、以下の詳細な説明及び本発明の種々な実施の形態を示す添付図面からより完全に理解されるであろう。しかしながら、これらの詳細な説明及び実施の形態は、本発明をそれらの特定の実施の形態に限定するものとして理解されるべきでなく、これらは、説明及び理解のためのものに過ぎない。
【図面の簡単な説明】
【００１３】
【図１】復号プロセスおよび符号化プロセスの一実施の形態のフロー図である。
【図２】ビデオ符号化器の機能ブロックの一部を示す図である。
【図３】ビデオ符号化器の機能ブロックにおける図２以外の部分を示す図である。
【図４】ビデオ符号化プロセスの一つの実施の形態のフロー図である。
【図５】動き補償予測モジュールの一つの実施の形態のブロック図である。
【図６】動き補償予測モジュールプロセスの一つの実施の形態のフロー図である。
【図７】条件付き選択モジュールにおける条件付き選択プロセスの一つの実施の形態のフロー図である。
【図８】空間位置生成モジュールの一つの実施の形態によって生成された空間位置に対応するブロックのブロック図である。
【図９】予測モジュールプロセス−１の一つの実施の形態のフロー図である。
【図１０】予測モジュールプロセス−２の一つの実施の形態のフロー図である。
【図１１】予測モジュールプロセス−３の一つの実施の形態のフロー図である。
【図１２】予測モジュールプロセス−４の一つの実施の形態のフロー図である。
【図１３】ビデオ復号器の一つの実施の形態のブロック図である。
【図１４】予測フレームのためのビデオ復号プロセスの一つの実施の形態のフロー図である。
【図１５】コンピュータシステムの一つの実施の形態のブロック図である。
【発明を実施するための形態】
【００１４】
ビデオ符号化における予測フィルタリングプロセスのための装置及び方法について説明する。予測フィルタリングは、複数の画像ブロックに対応する動き情報及び非動き関連変換モデルの組み合わせに基づいており、ビデオシーケンスのフレームにおいて符号化すべきブロックに対する予測信号を求める。
【００１５】
ある実施の形態では、ブロックレベル変換モデルが動き推定プロセス中に決定される。条件付き動き補償予測決定及びフィルタリングが、符号化すべきフレームの予測されるブロックに対する予測信号を形成するために、なされる。条件付き選択プロセスは、予測データ（例えば、予測サンプル）及びフィルタリングプロセスによって使用される初期ブロックレベルの変換パラメータセットを決定する。そして、予測フィルタリングプロセスは、予測サンプル及び変換パラメータのセットを使用して、データサンプルに対するフィルタリングされたサンプルレベルの予測信号を形成する。ある実施の形態では、予測フィルタリング方法は、フレームにおけるブロックに関連した強度補償パラメータ及び時間予測サンプル候補を処理して、より良好な予測信号を生成する。このように、現フレームにおけるブロックを対応の参照ブロックに関連づける変換モデル及び動き情報を組み合わせて、予測符号化する現ブロックに対する最終の予測信号を得る。
【００１６】
本明細書に説明する処理は、ブロッキングアーチファクトが画像における個々のブロックを個別に処理することによって生じてしまう関連技術のビデオ符号化方法に比較して、符号化効率を向上させ、ブロッキングアーチファクトを減少させる。本明細書に説明する予測決定及びフィルタリングプロセスの設計は、ビデオ符号化プロセスのレート歪み性能について、また、ブロッキングアーチファクトを減少させ得る程度を決定する上でも重要である。
【００１７】
図１（Ａ）は、復号プロセスの一つの実施の形態のフロー図である。このプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００１８】
以下、図１（Ａ）を参照する。プロセスは、処理ロジックが動き情報及び非動き関連変換モデル情報に基づいてデータに対する動き補償予測信号を生成することによって始まる（処理ブロック１０１）。ある実施の形態では、動き及び非動き関連変換モデル情報は、フレームにおける複数のブロックに関連した強度補償パラメータ及び時間予測サンプルのセットを含んでいる。ある実施の形態では、動き補償予測信号は、参照フレームにおける複数のブロックのデータからのサンプルに基づいている。
【００１９】
ある実施の形態では、処理ロジックは、予測サンプルをフィルタリングし、フィルタリングした予測サンプルを組み合わせることによって動き補償予測信号を生成して、フレームの現ブロックに対する動き補償予測信号を形成する。
【００２０】
予測信号を生成した後、処理ロジックは、動き補償予測信号に基づいて予測エラーを生成する（処理ブロック１０２）。ある実施の形態では、予測エラーは、フレームの現ブロックと最終予測信号との間の差から構成される。
【００２１】
予測エラーを生成すると、処理ロジックは、その予測エラーを符号化する（処理ブロック１０３）。
【００２２】
図１（Ｂ）は、符号化プロセスの一つの実施の形態のフロー図である。このプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００２３】
以下、図１（Ｂ）を参照する。プロセスは、処理ロジックが動き情報及び変換パラメータ情報を条件に従って選択し、当該情報をフィルタリングすることによって始まる（処理ブロック１１０）。ある実施の形態では、動き情報は、動きベクトルを含む。また、ある実施の形態では、変換パラメータは、強度補償情報を含む。
【００２４】
ある実施の形態では、動き情報及び強度補償情報のフィルタリングは、予測サンプルをフィルタリングすることを含み、ここでは、予測サンプルの各々が、ブロック強度補償パラメータを用いて補償される。別の実施の形態では、動き情報及び強度補償情報のフィルタリングは、ブロック強度補償パラメータをフィルタリングして、サンプルレベル強度補償パラメータを得ることを含む。更に別の実施の形態では、動き情報及び強度補償情報のフィルタリングは、予測サンプルをフィルタリングすることを含み、ここでは、予測サンプルの各々が、サンプルレベル強度補償パラメータを用いて補償される。
【００２５】
フィルタリングの後、処理ロジックは、複数のブロックのうちの一つのブロックにおけるサンプルに対する予測信号を、当該一つのブロックに関連した変換パラメータ及び当該複数のブロックのうちの少なくとも一つの他のブロックに関連した変換パラメータを用いて、生成する（処理ブロック１１１）。ある実施の形態では、処理ロジックは、選択された動き及び強度補償情報に基づいて、予測信号を生成する。
【００２６】
予測信号を生成した後、処理ロジックは、残差データを予測信号に加えて、復号サンプルを得る（処理ブロック１１２）。ある実施の形態では、予測信号は、強度補償情報及び動き情報に基づいて生成される。
【００２７】
これらのプロセスについて、以下より詳細に説明する。
【００２８】
以下の説明において、多数の詳細について述べ、本発明のより完全に説明する。しかしながら、これらの特定の細部が無くとも本発明を実施できることは、当業者には明らかであろう。他の例では、よく知られた構造及び装置については、本発明を不明瞭なものとすることを避けるために、ブロック図の形式にて示し、細部については示していない。
【００２９】
以下の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットについてのオペレーションの記号的表現及びアルゴリズムの形で、説明がなされている。これらアルゴリズムの記述及び表現は、データ処理技術の分野における当業者が他の当業者へ自分の研究の内容を最も効果的に知らせるのに使用される手段である。アルゴリズムとは、本明細書において、また、一般的にも、所望の結果に至るステップの自己矛盾のないシーケンスであると考えられるものである。これらステップは、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、記憶されたり、転送されたり、結合されたり、比較されたり、その他の方法で操作され得るような電気的又は磁気的信号の形態をとる。主に慣用されていることを理由として、これらの信号を、ビット、値、要素、記号、文字、用語、数等として言及することが時には便利であることがわかっている。
【００３０】
しかしながら、これらの用語及び類似の用語の全ては、適当な物理量に関連付けられるべきものであり、これらの量に適用される単なる便宜的なラベルであるということに留意されたい。以下の説明から明らかなように特に具体的に言及しない限り、本明細書の記載を通して、「処理する」又は「演算する」又は「計算する」又は「決定する」又は「表示する」等の如き用語を使用している説明は、コンピュータシステム又は同様の電子的計算装置の動作及びプロセス、即ち、コンピュータシステムのレジスタ及びメモリ内の物理的（電子的）量として表されたデータを、当該コンピュータシステムのメモリ又はレジスタ、若しくは他の同様の情報記憶装置、送信装置又は表示装置内の物理的量として同様に表される他のデータへと操作・変換する動作及びプロセスを指すものであることを理解されたい。
【００３１】
本発明はまた、本明細書におけるオペレーションを行うための装置にも関するものである。この装置は、必要とされる目的に対して特別に構成されてもよいし、又は、コンピュータに記憶されたコンピュータプログラムによって選択的に作動され又は再構成されるような汎用コンピュータであってもよい。このようなコンピュータプログラムは、これに限定されるものではないが、フレキシブルディスク、光ディスク、ＣＤ−ＲＯＭ、及び磁気−光ディスクを含む任意のタイプのディスク、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、又は電子的命令を記憶するのに適し且つ各々がコンピュータシステムバスに結合されるような任意のタイプの媒体のようなコンピュータ読取り可能な記録媒体に記憶される。
【００３２】
本明細書に示すアルゴリズム及びディスプレイは、本来的には、如何なる特定のコンピュータ又は他の装置にも関連付けられているものではない。種々の汎用システムを本明細書の教示に従うプログラムと共に使用してもよく、又は、必要とされる方法ステップを行うためより特化した装置を構成することも便利であることがわかっている。様々なシステムのために必要とされる構成は、以下の説明から明らかとなろう。また、本発明は、特定のプログラミング言語に関連して説明していない。種々のプログラミング言語を使用して、本明細書に説明する本発明の教示を実施し得ることが理解されよう。
【００３３】
機械読取り可能な媒体は、マシン（例えば、コンピュータ）によって読取り可能な形にて情報を記憶又は送信する任意の機構を含む。機械読取り可能な媒体としては、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記録媒体、光記録媒体、フラッシュメモリデバイス、電気的、音響的又はその他の形式の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号等）等がある。
【００３４】
＜ビデオ符号化器の実施例＞
図２および図３は、ビデオ符号化器（ＶＣ）の一つの実施の形態のブロック図である。以下、図２および図３を参照する。ビデオ符号化器は、動き推定モジュール（ＭＥＭ）２１５、動き補償予測モジュール（ＭＣＰＭ）２１３、変換モデル決定モジュール（ＴＭＤＭ）２１６、メモリ２１４、変換符号化モジュール（ＴＣＭ）２３０、動きデータ処理モジュール（ＭＤＰＭ）２０６、フレームストア（ＦＳ）（メモリ）２１２、並びに、スイッチＳＷ２０７〜２０９及び２１７〜２２０を備えている。変換符号化器（ＣＭ）２３０は、変換モジュール２０１、量子化器モジュール２０２、及びエントロピー符号化モジュール２０３を有している。ＴＣＭ２３０の入力でのフレームデータは、ビデオフレーム又はＤＦＤ（Displaced  Frame  Difference）フレームから構成される。ＤＦＤフレームは、ビデオ符号化器において、ビデオフレームにおけるデータとＭＣＰＭ２１３の出力に生成されたその予測信号との間の差をとることによって、得られる。ＭＣＰＭ２１３は、ＦＳ２１２に記憶された動き補償再構成ビデオフレームからなるデータに基づいて予測信号を生成する。動き補償は、ＭＥＭ２１５によって生成された動き情報と、ＴＭＤＭ２１６によって生成された変換モデル情報とを使用して行なわれる。このプロセスは、以下に説明する図２および図３のスイッチの構成によって可能となる。或いは、ビデオ符号化器が、予測信号を使用せずに、従来の符号化器のイントラ符号化モードに対応するビデオフレームを直接的に符号化するときには、ＭＥＭ２１５、ＴＭＤＭ２１６、ＭＣＰＭ２１３及びＭＤＰＭ２１３は使用されない。ある実施の形態では、ビデオ符号化器は、ブロックにおける各位置に輝度値又は色値を有するブロック分割フレームデータについて順次作用する。
【００３５】
図４は、図２および図３に示すＶＣによって実行されるプロセスの一つの実施の形態のフロー図である。このプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００３６】
以下、図４を参照する。オリジナルの現フレームからのブロックを読み取って、当該現フレームの全てのブロックを処理するまで、説明するように以下のプロセスによって順次処理する。処理ロジックは、現フレームにおけるブロックに対するカウンタ変数（インデックス）ｉを０に初期化する（処理ブロック３０１）。このＶＣオペレーションの第一段階において、図２および図３におけるスイッチは、次のようにコンフィギュレーションされる。即ち、ＳＷ１は、開、ＳＷ２は、閉、ＳＷ３は、開、ＳＷ４は、開、ＳＷ５は、開、ＳＷ６は、開である。そして、処理ロジックは、現フレームにおける現在の非圧縮ブロックｃ（ｉ）を読み取る（処理ブロック３０２）。
【００３７】
次に、動き推定プロセスを実行して、これによって、ＦＳ２１２からの参照フレームにおけるサーチエリアを探索して、現ブロックに最もマッチングする参照ブロックを特定する。このサーチエリアにおける位置の数は、Ｋである。ここで、現ブロックｃ（ｉ）に対応するサーチエリアからの位置をｋが指すものとする。処理ロジックは、インデックスｋを１に初期化する（処理ブロック３０３）。この位置は、現ブロックｃ（ｉ）を原点とし参照フレームにおける参照ブロックｂ（ｋ）へ向いた動きベクトルｍｖ（ｋ）によって特定される。処理ロジックは、サーチエリアにおける位置ｋに対応する動きベクトルｍｖ（ｋ）をフェッチし、ＴＭＤＭ２１６へ送り（処理ブロック３０４）、当該ＴＭＤＭ２１６が、ｂ（ｋ）に適用されるべき変換Ｔのパラメータａ（ｋ）を決定する（処理ブロック３０５）。ある実施の形態では、これは、現ブロックｃ（ｉ）と変換ブロックデータＴ（ｂ（ｋ））との間のエラーｄ（ｉ,ｋ）の量を最小とするようになされる。このエラーは、例えば、ｃ（ｉ）及びＴ（ｂ（ｋ））との間の二乗差の和によって定量化される。ａ（ｋ）を用いて変換されたｂ（ｋ）、即ちＴ（ｂ（ｋ））とｃ（ｉ）との間のエラーｄ（ｉ,ｋ）、対応する動きベクトルｍｖ（ｋ)、及びその変換Ｔを特徴づける変換パラメータa（ｋ）は、メモリ２１４に記憶される（処理ブロック３０６及び３０７）。
【００３８】
次いで、処理ロジックは、参照フレームにおけるサーチエリア内に候補位置があるか（ｋ＜＝Ｋ）をテストする（処理ブロック３０９）。処理ロジックは、インデックスｋをインクリメントする（処理ブロック３０８）。参照フレームにおけるサーチエリア内に候補位置が残っている場合には（即ち、ｋ＜Ｋ）、処理は処理ブロック３０４へ移行し、参照フレームにおける別のブロックｂ(ｋ)を選択して、前述したようなプロセスを繰り返す。参照フレームにおけるサーチエリア内に候補位置が残っていない場合には、処理は処理ブロック３１０へ移行する。
【００３９】
現ブロックｃ（ｉ）に対応するＫのサーチエリアの全ての位置をアクセスすると、ＴＭＤＭ２１６における処理ロジックは、メモリ２１４に記憶された値ｄ（ｉ,ｋ）のアレイの中で最も小さいエラーｄｍｉｎを探し出す（処理ブロック３１０）。このエラーｄｍｉｎは、ｂｍｉｎによって示される特定の参照ブロックに対応するものである。処理ロジックＭＥＭ２１５は、サンプルをイントラ符号化することによる現ブロックｃ（ｉ）の符号化コストと、ブロックｂｍｉｎに対するブロックｃ（ｉ）の予測符号化のコストとを比較することによって、現ブロックの符号化モードｍｏｄｅ（ｉ）を決定する（処理ブロック３１１）。前者のコストがより小さいならば、ブロックｃ（ｉ）のモードは、ＩＮＴＲＡとしてマークされる。
【００４０】
処理ロジックは、ブロックｃ（ｉ）のモードをＩＮＴＲＡとしてマークするかをテストする（処理ブロック３１２）。ＩＮＴＲＡとしない場合には、ＴＭＤＭ２１６における処理ロジックは、ｄｍｉｎ及びｂｍｉｎに関連した変換（Ｔ）パラメータａをメモリ２１４にセーブして（処理ブロック３１３）、処理ブロック３１４へ移行する。ＩＮＴＲＡとする場合には、処理ロジックは、処理ブロック３１４へ直接的に移行する。処理ブロック３１４にて、処理ロジックは、現ブロックのモードをメモリ２１４へ書き込み（処理ブロック３１４）、プロセスは、現フレームにおける次のブロックｃ（ｉ）へ移行する。ＭＥＭにおける処理ロジックは、また、ｄｍｉｎ及びｂｍｉｎに対応する動きベクトルをメモリ２１４に保存する。
【００４１】
処理ロジックは、次いで、インデックスｉをインクリメントし（処理ブロック３１５）、現フレームに更なるブロックがある（ｉ＜Ｎ）かをテストする（処理ブロック３１６）。更にブロックがある場合には、処理ロジックは、処理ブロック３０２に移行し、処理を繰り返す。更なるブロックがない場合には、処理は、処理ブロック３１７へ移行する。
【００４２】
現フレームにおける全てのブロックを前述したように処理すると、新しいプロセスを開始して、現フレームからのブロックｃ（ｉ）を順次読み取る。この部分のビデオ符号化器のオペレーションでは、図２および図３におけるスイッチは、以下の初期コンフィギュレーションを有している。即ち、ＳＷ１は、閉、ＳＷ２は、開、ＳＷ３は、閉、ＳＷ４、ＳＷ５、ＳＷ６は、現ブロックのモードがＩＮＴＲＡの場合には、開、当該モードがＩＮＴＲＡでない場合には、閉である。ＳＷ０は、現ブロックのモードがＩＮＴＲＡである場合には、位置１にあり、ＩＮＴＲＡでない場合には、位置２にある。
【００４３】
処理ブロック３１７にて、処理ロジックは、インデックスｉをリセットする。次いで、ＭＣＰＭ２１３における処理ロジックは、現フレームにおけるブロックのセットに対応する現フレームにおける空間位置のセットＳを生成する（処理ブロック３１８）。ある実施の形態では、この空間位置のセットは、現フレームにおいて符号化されるべき現ブロックの近傍ブロックを次のように特定する。即ち、現ブロックｃ（ｉ）の左側、上側、右側、及び下側の近傍の位置が、図８に示すように、セットＳに含められる。
【００４４】
処理ロジックは、非圧縮の現フレームから現ブロックｃ（ｉ）を読み取る（処理ブロック３１９）。処理ロジックは、メモリ２１４から現ブロックｃ（ｉ）のモードｍｏｄｅ（ｉ）を読み取り、当該モードがＩＮＴＲＡであるかをテストする（処理ブロック３２０）。
【００４５】
このモードがＩＮＴＲＡである場合には、処理ロジックは、処理ブロック３２５へ直接移行する。読み取られた現ブロックのモードがＩＮＴＲＡでない場合には、処理ロジックは、現ブロックに対応する動きベクトルデータをＭＤＰＭ２１３へ送り、当該ＭＤＰＭ２１３において、動きベクトルデータを処理して、符号化用のエントロピー符号化モジュールへ送る。より詳細には、処理ロジックは、ＭＣＰＭ２１３において現ブロックｃ（ｉ）に対応する予測ブロックｐ（ｉ）を決定することによって、ＶＣにおける予測エラーｅ（ｉ）を決定し（処理ブロック３２１）、現ブロックｃ（ｉ）とＭＣＰＭ２１３によって生成される予測信号ｐ（ｉ）との差を取り（処理ブロック３２２）、動きベクトルをＭＣＰＭ２１３へ送り（処理ブロック３２３）、動き情報をエントロピー符号化する（処理ブロック３２４）。
【００４６】
処理ブロック３２５にて、処理ロジックは、符号化ｍｏｄｅ（ｉ）をエントロピー符号化する。その後、処理ロジックは、現ブロックのデータをＴＣＭ２３０へ送り、当該ＴＣＭ２３０において、当該データを変換符号化する（処理ブロック３２６）。変換符号化は、ｍｏｄｅ（ｉ）に応じて、ブロックデータｃ（ｉ）、又は予測エラーデータｅ（ｉ）に適用され、その結果、符号化されたブロックデータが得られる。変換符号化の後、処理ロジックは、現ブロックを再構成し（処理ブロック３２７）、再構成した現ブロックを、従来のビデオ符号化器におけるように、ＦＳ２１２に記憶する（処理ブロック３２８）。
【００４７】
次いで、処理ロジックは、インデックスｉをインクリメントし（処理ブロック３２９）、参照フレームに処理すべき更なるブロックがあるかをテストする（処理ブロック３３０）。更なるブロックがある場合には、プロセスは、処理ブロック３１９に移行し、処理が繰り返される。更なるブロックがない場合には、プロセスは、終了する。
【００４８】
ある実施の形態では、ＴＭＤＭ２１６は、以下の入力、即ち、ＭＥＭ２１４によって生成される動き情報（動きベクトルの形態）、現ビデオフレームデータ（ブロック）、及びフレームストアからの再構成フレームデータを有する。従来の方法におけるように、所与の変換モデルのオーダーに対して、これら入力に基づき且つ最適性基準（例えば、最小二乗基準）に従って、ＴＭＤＭ２１６は、変換モデルＴのパラメータａを決定し、当該パラメータをメモリ２１４に記憶する。これは、現ビデオフレームからの現ブロックｃと、ＭＥＭ２１５から受け取られた動きベクトル情報によって与えられる位置にあり、且つ、パラメータａを用いて変換された参照ブロックとの間の差に関する最適性基準を満足するようになされる。ＴＭＤＭ２１６の出力は、参照ブロックに関連する変換モデルのパラメータを含む。これらパラメータは、メモリモジュール２１４に保存される。
【００４９】
図５は、ＭＣＰＭの一つの実施の形態のブロック図である。以下、図５を参照する。ＭＣＰＭ４００は、空間位置生成モジュール（ＳＰＧＭ）４０１、条件付き選択モジュール（ＣＳＭ）４０２、メモリ４０３、選択動き補償モジュール（ＳＭＣＭ）４０４、メモリ４０５、及び予測モジュール（ＰＭ）４０６を備えている。ＭＣＰＭ４００は、二つの入力、即ち、現フレームにおける所与のブロック用の動きベクトル、変換モデルパラメータ、及び符号化モードからなる入力（４１０）と、ＦＳ２１２からの再構成参照フレームデータからなる入力（４１１）とを有する。ＭＣＰＭ４００は、現フレームにおけるブロックに対する予測データ４１２を出力する。
【００５０】
ＳＰＧＭ４０１は、現フレームにおけるブロック位置に関する情報をＣＳＭ４０２へ送る。ＣＳＭ４０２は、また、現フレームにおけるブロックに対応する動きベクトル、変換パラメータ、及び符号化モード（４１０）を受け取る。これら入力から、ＣＳＭ４０２は、動きベクトル、変換パラメータ、及び符号化モードのサブセットを選択し、これらをメモリ４０３に記憶させる。ＳＭＣＭ４０４は、フレームストア２１２からの参照フレームデータ４１１を、メモリ４０３からのモデルパラメータと共に、受け取る。これらのモデルパラメータは、変換パラメータである。これら入力を使用して、ＳＭＣＭ４０４は、予測サンプルの形態で、動き補償データを生成し、当該データを、メモリ４０５に記憶させる。予測モジュール４０６は、メモリ４０３からのモデル（変換）パラメータを、メモリ４０５からの動き補償データ（予測サンプル）と共に受け取り、これに応答して、フィルタリングされた予測信号４１２を生成する。
【００５１】
図６は、ＭＣＰＭによって実行される動き補償予測プロセスの一つの実施の形態のフロー図である。このプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００５２】
以下、図６を参照する。ＭＣＰＭにおける処理ロジックは、現フレームにおける全ブロック用の符号化モード、動きベクトル、及び変換モデルパラメータを、メモリ２１４から、取り出す（処理ブロック５０１）。次いで、処理ロジックは、各ブロックについて、当該ブロック、及びＳＰＧＭ４０１によって生成されたセットＳにおいて位置が特定される現ビデオフレームにおける他のブロックに対応する動きベクトルと変換モデルパラメータとを条件に従って選択し、それらをメモリ４０３に記憶させる（処理ブロック５０２）。次いで、現フレームにおいて予測されるブロックの各サンプルについて、ＳＭＣ４０４における処理ロジックは、動き補償サンプルを、参照フレームからメモリ４０３に記憶された動きベクトルに従って取り出し、それら予測サンプルをメモリ４０５に記憶させる（処理ブロック５０３）。ＰＭ４０６における処理ロジックは、メモリ４０５に記憶された予測サンプルを、メモリ４０３に記憶された変換モデルパラメータと共に取り出し、現ブロックの各サンプルについて予測信号Ｐを算出する（処理ブロック５０４）。
【００５３】
ある実施の形態では、ＣＳＭ４０２は、現ブロックｃに対応する符号化モード、動きベクトル、及び変換パラメータを、メモリ２１４から、それぞれＭＥＭ２１５及びＴＭＤＭ２１６によって生成された状態で、取り出す。ＣＳＭ４０２は、ＳＰＧＭ４０１から現フレームにおける空間位置のセットＳからなる別の入力を受け取る。ＣＳＭ４０２は、選択された動きベクトル、変換パラメータを出力し、ＭＣＰＭ４００のメモリ４０３に書き込む。
【００５４】
図７は、ＣＳＭによって実行される条件付き選択プロセスの一つの実施の形態のフロー図である。このプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００５５】
以下、図７を参照する。ＣＳＭ４０２は、現ブロックｃに対応するブロック符号化モードを、メモリ２１４から取り出す（処理ブロック６０１）。処理ロジックは、次いで、現ブロックのモードがＩＮＴＲＡであるかをテストする（処理ブロック６０２）。現ブロックｃの符号化モードがＩＮＴＲＡである場合には、それ以上の当該ブロックに関する動作はＣＳＭ４０２によって行われず、プロセスは終了する。別の場合、即ち、現ブロックのモードがＩＮＴＲＡでない場合には、ＣＳＭ４０２は、メモリ２１４から、現ブロックｃ用の動きベクトルｍｖ＿ｃ及び対応の変換パラメータａ＿ｃを取り出し、それらをメモリ４０３に書き込む（処理ブロック６０３）。
【００５６】
そして、処理ロジックは、インデックスｋを１へリセットする（処理ブロック６０４）。次に、ＣＳＭ４０２は、メモリ２１４から、現フレームにおいてセットＢを形成する他のブロックｃの符号化モードを順次に取り出す。このセットＢのブロックの空間位置は、ＳＰＧＭ４０１によって生成されるセットＳによって決定されるものである。セットＢにおけるブロックｃの各々には、メモリ４０３におけるcandidate_flagsによって示されるフラグのアレイにおけるＣＳＭ維持値が、対応している。より詳細には、処理ロジックは、セットＳにおける位置ｋのブロックｃ（ｋ）の符号化モードを取り出す（処理ブロック６０５）。次いで、処理ロジックは、ブロックｃ（ｋ）のモードがＩＮＴＲＡであるかをテストする（処理ブロック６０６）。セットＳにおけるｋ番目の空間位置に対応するセットＢにおけるｋ番目のブロックについて、その符号化モードがＩＮＴＲＡである場合には（メモリ２１４から取り出されるように）、処理ロジックは、対応の値candidate_flags（ｋ）を０にセットし（処理ブロック６０７）、当該値をメモリ４０３に書き込み、動きベクトルｖ（ｋ）を現ブロックのｍｖ＿ｃに等しくセットし、変換パラメータｍ（ｋ）を現ブロックのａ＿ｃに等しくセットし、また、これらをメモリ４０３に書き込み、そのアレイcandidate_flagsにおける現在の位置と関連付ける。その後、処理は、処理ブロック６１７へ移行し、Ｂにおける次のブロックの処理を継続する。
【００５７】
別の場合、即ち、ｋ番目のブロックの符号化モードがＩＮＴＲＡでない場合には、処理ロジックは、candidate_flags（ｋ）の位置を１にセットし（処理ブロック６０９）、ＣＳＭ４０２における処理ロジックが、Ｂにおけるブロックｃ（ｋ）に関連した対応の動きベクトルｍｖ（ｋ）及び変換モデルパラメータａ（ｋ）を、メモリ２１４から取り出す（処理ブロック６１０）。次に、処理ロジックは、現ブロックｃの動きベクトルと、セットＢからの試験すべきブロックに関連した動きクトルとの間のｄ（ｍｖ＿ｃ，ｍｖ（ｋ））によって示される距離メトリックを算出する（処理ブロック６１１）。ある実施の形態では、この距離メトリックは、動きベクトルの差のｌ１−ノルムによって表される。
【００５８】
次いで、処理ロジックは、距離メトリックが閾値ｔより小さいかをテストする（処理ブロック６１２）。ｄ（ｍｖ＿ｃ，ｍｖ（ｋ））が閾値ｔより小さい場合には、処理ロジックは、candidate_flags（ｋ）を１に等しくセットし（処理ブロック６１５）、動きベクトルｖ（ｋ）をｍｖ（ｋ）に等しくセットし、パラメータｍ（ｋ）をａ（ｋ）に等しくセットする（処理ブロック６１６）。これらは、メモリ４０３に書き込まれ、アレイcandidate_flagsにおける現在位置に関連付けられる。その後、処理は、処理ブロック６１７に引き続く。他の場合、即ち、距離ｄ（ｍｖ＿ｃ，ｍｖ（ｋ））が閾値ｔを越える場合、ＣＳＭ４０２における処理ロジックは、対応の値candidate_flags（ｋ）をメモリ４０３において０へセットし（処理ブロック６１３）、動きベクトルｖ（ｋ）をｍｖ＿ｃに等しくセットし、変換モデルパラメータｍ（ｋ）をａ＿ｃに等しくセットし、それらをメモリ４０３に保存する（処理ブロック６１４）。その後、その処理は、処理ブロック６１７に引き続く。
【００５９】
処理ブロック６１７にて、処理ロジックは、インデックスｋをインクリメントする。そして、処理ロジックは、ｋがセットＳの要素の数より小さいかをテストする（処理ブロック６１８）。ｋがセットＳの要素の数より小さい場合には、前述のプロセスが、ＳＰＧＭ４０１から受け取られるセットＳに含まれる全ての空間位置に対応するブロックについて繰り返される。こうして、セットＢからの処理する現ブロックｃの各々について、ＣＳＭ４０２は、前述したように、アレイcandidate_flagsにおける対応の値をメモリ４０３に書き込む。
【００６０】
セットＳにおける全ての空間位置に対応するブロックの処理を終えると、このアレイにおける各値について、処理ロジックは、対応する動きベクトルｖ（ｋ）及び変換モデルパラメータａ（ｋ）をメモリ４０３に書き込んでいる。例えば、ＣＳＭ４０２による現ブロックｃの処理の完了時には、メモリ４０３は、以下の表に示すようなデータを含む（単なる一例である）。
【表１】
2011097659.tif 000003
【００６１】
これらデータに加えて、ＣＳＭ４０２における処理ロジックは、また、メモリ４０３に、現ブロックｃに対応するベクトルｍｖ＿ｃ及びパラメータａ＿ｃを、前述したように書き込む。これらデータは、二つの動きベクトル及びパラメータアレイｖ及びｍにおける０番目のインデックスに書き込まれる。即ち、ｖ（０）がｍｖ＿ｃに等しく、ｍ（０）がａ＿ｃに等しくされる（処理ブロック６１９）。値candidate_flags（０）は１に等しく、処理されている現ブロックｃに対応している。従って、表１の例におけるメモリ４０３に記憶されるデータは、次の表２のように増補される。
【表２】
2011097659.tif 000004
【００６２】
現フレームにおいて空間位置（ｉ０,ｊ０）を有する処理すべき非イントラ現ブロックｃについて、ＳＭＣモジュール４０４は、メモリ４０３から、ＣＳＭ４０２によって前述したように生成された対応のアレイcandidate_flagsを読み取る。現ブロックｃ内のデータサンプルの二次元空間位置は、ｉ，ｊによってインデックスされる。したがって、ブロックｃにおけるサンプルのフレーム位置は、（ｉ０＋ｉ，ｊ０＋ｊ）によって与えられる。現ブロックｃにおける各サンプルｃ（ｉ,ｊ）について、ＳＭＣ４０４は、動き補償予測サンプルのセットを、参照フレームから、次のように取り出す。参照フレームにおける予測サンプルの位置は、ＣＳＭプロセスによって生成されたようなメモリ４０３に記憶された動きベクトルによって決定される。ある実施の形態では、ＳＰＧＭ４０１によって生成されたセットＳに含まれる空間位置は、現ブロックの左側、上側、右側及び下側の隣接ブロックを含む現ブロックのＫ＝４の近傍ブロックに対応する。この場合には、図８に示すように番号付けされた四つの近傍ブロックがある。従って、ｋ＝１．．．４によってインデックスされるＳ内の四つの位置がある。ＣＳＭプロセスによって生成されるように、ｋ＝１．．．４として四つの対応する動きベクトルｖ（ｋ）及び四つの変換モデルパラメータｍ（ｋ）が、メモリ４０３に記憶されている。さらに、メモリ４０３は、現フレームにおける位置（ｉ０,ｊ０）での現ブロック用の動きベクトル値ｖ（０）及びモデルパラメータｍ（０）を含んでいる。この場合には、ブロックｃにおける各サンプルｃ（ｉ,ｊ）について、ＳＭＣ４０４は、三つの動き補償データサンプルを、参照フレームから、次のように取り出す。予測サンプルｐ（１）は、参照フレームＲにおける位置（ｉ０＋ｉ＋ｖｘ（０），ｊ０＋ｊ＋ｖｙ（０））にて動き補償サンプルを取り出すことによって得られる。ここで、ｖｘ（０）、ｖｙ（０）は、動きベクトルｖ（０）の水平及び垂直成分を表している。
ｐ（１）＝Ｒ（ｉ０＋ｉ＋ｖｘ（０），ｊ０＋ｊ＋ｖｙ（０））
ある実施の形態では、ブロックのサイズは、Ｍ×Ｍである。従って、カウンタ変数ｉ及びｊは、１からＭまでの値をとることによって、ブロックのサンプルを二次元的にインデックスする。ある実施の形態では、残りの二つの予測サンプルｐ（２）及びｐ（３）は、参照フレームＲから、次の論理的条件に従って、ｋ＝１．．．４の動きベクトルｖ（ｋ）を使用することによって、取り出される。
【数１】
2011097659.tif 000005
ここで、ｖｘ（ｋ）及びｖｙ（ｋ）（ｋ＝１．．．４）は、動きベクトルｖ（ｋ）の水平及び垂直成分である。参照フレームＲから検索され、且つ、現ブロックｃにおける各サンプルｃ（ｉ，ｊ）に対応する予測サンプルｐ（ｌ）（ｌ＝１．．．３）は、メモリ４０５に記憶される。別の実施の形態では、セットＳにおける値によって特定されるような位置を有する異なる数のブロックの動きベクトルをＳＭＣ４０４によって使用して、現ブロックｃにおける各サンプルに対する動き補償予測サンプルｐ（ｌ）を取り出す。
【００６３】
ＭＣＰＭ２１３の入力で処理される現ブロックｃの符号化モードがＩＮＴＲＡでない場合には、予測モジュール４０６は、現ブロックｃにおいて座標（ｉ,ｊ）を有するデータサンプルの各々に対する予測信号を、次のように生成する。各サンプルｃ（ｉ，ｊ）に対する予測信号は、ＳＭＣ４０４について前述したようなプロセスに従ってＳＭＣ４０４によって生成されてメモリ４０５に記憶された対応の予測サンプルｐ（ｌ）を使用することによって、算出される。現ブロック用にメモリ４０３に記憶されたモデルパラメータｍ（０）及び現ブロックに関連するアレイcandidate_flagsに対応のパラメータｍ（ｋ）（ｋ＝１．．．４）もまた、予測モジュール４０６によってメモリ４０３から取り出される。ある実施の形態では、予測モジュール４０６は、次いで、次の論理的条件に基づいて、且つ、そのために予測信号Ｐを形成するブロックｃにおけるデータサンプルの位置（ｉ,ｊ）に応じて、メモリ４０３から取り出したモデルパラメータを使用して、値ｍｆ（ｎ）（ｎ＝１．．．３）のセットを形成する。ある実施の形態では、この予測信号Ｐの算出に使用されるモデルパラメータは、次のように決定される。
【数２】
2011097659.tif 000006
【００６４】
変換モデルパラメータｍｆ（ｌ）（ｌ＝１．．．３）の各セットには、変換Ｔ１（．）（ｌ＝１．．．３）が対応する。このとき、現サンプルｃ（ｉ,ｊ）に対する予測信号Ｐは、次のように、予測サンプルの線形結合として形成される。
【数３】
2011097659.tif 000007
ここで、ｗ１（ｉ,ｊ）、ｗ２（ｉ,ｊ）、ｗ３（ｉ,ｊ）は、重みであり、これらの値は、サイズＭ×Ｍの２次元アレイｗ１、ｗ２、ｗ３に記憶されており、
ｗ１（ｉ,ｊ）＋ｗ２（ｉ,ｊ）＋ｗ３（ｉ,ｊ）＝Ｗ
である。
【００６５】
アレイｗ１、ｗ２、ｗ３は、予測モジュール４０６によって、それらが記憶されているメモリ４０３から取り出される。前述したようなプロセスを、図９のフロー図に示す。
【００６６】
図９のフロー図において説明するプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００６７】
以下、図９を参照する。このプロセスは、処理ロジックが変数ｎを１にセットすることで始まる（処理ブロック８０１）。次に、処理ロジックは、現ブロックにおけるｎ番目の現サンプルのブロック位置（ｉ，ｊ）を決定する（処理ロジック８０２）。ブロック位置を決定した後に、処理ロジックは、位置（ｉ，ｊ）に応じた予測サンプルｐ（ｉ）をメモリ４０５から取り出す（処理ブロック８０３）。処理ロジックは、また、モデルパラメータｍ（ｉ）を、位置（ｉ,ｊ）に基づいてメモリ４０３から取り出す（処理ブロック８０４）。この情報を使用して、処理ロジックは、各予測信号ｐ（ｉ）に、ｍ（ｉ）のパラメータによって表される変換Ｔを適用し（処理ブロック８０５）、変換予測信号Ｔ（ｐ（ｉ））の線形結合を使用して、予測信号Ｐを算出する（処理ブロック８０６）。
【００６８】
予測信号を算出した後、処理ロジックは、変数ｎを１だけインクリメントし（処理ブロック８０７）、ｎがそのブロックにおけるサンプルの数より小さいかをテストする（処理ブロック８０８）。ｎがサンプルの数より小さい場合には、処理ロジックは処理ブロック８０２へ移行し、プロセスが現ブロックにおける次のサンプルに対して繰り返される。ｎがサンプルの数以上の場合には、プロセスは終了する。
【００６９】
別の実施の形態では、現フレームにおける各ブロックについて、サンプルレベルのモデルパラメータｍｐ（ｉ,ｊ）（ｉ,ｊ＝１．．．Ｍ）が、次のように、メモリ４０５に記憶されたブロックモデルパラメータｍ（ｌ）から決定される（現ブロックの近傍ブロックは、図７に示した通りにラベル付けされる）。
【数４】
2011097659.tif 000008
ここで、ｈ１、ｈ２、ｈ３の値は、メモリ４０５におけるＭ×Ｍのアレイに記憶されており、
ｈ１（ｉ，ｊ）＋ｈ２（ｉ，ｊ）＋ｈ３（ｉ，ｊ）＝Ｈ
である。
【００７０】
現フレームのブロックｋにおけるサンプルｃ（ｉ,ｊ）用の変換モデルパラメータｍｐ（ｉ,ｊ）（ｉ,ｊ＝ｌ＝１．．．Ｍ）のセットには、変換のセットＳｋｉ,ｊ（．）（ｉ,ｊ＝１．．．Ｍ）が対応する。
【００７１】
現フレームにおける現ブロックを、図８におけるような近傍ブロックのラベリングを有するものと考えると、ある実施の形態では、ブロックｃにおける現サンプルｃ（ｉ,ｊ）に対する予測信号Ｐ（ｉ,ｊ）は、次のように形成される。
【数５】
2011097659.tif 000009
ここで、Ｓｋｉ,ｊ（．）は、現フレームにおける所与の現ブロックに対して図８におけるようにラベル付けされたブロックｋに対応する変換を表している。前述したプロセスを、図１０のフロー図に示す。
【００７２】
図１０のプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００７３】
以下、図１０を参照する。このプロセスは、処理ロジックがインデックス変数ｋを１に等しくセットすることで始まる（処理ブロック９０１）。処理ロジックは、次いで、ブロックｋにおける全ての位置（ｉ,ｊ）に対するサンプルレベル変換パラメータｍｐ（ｉ,ｊ）を算出する（処理ブロック９０２）。次に、処理ロジックは、変数ｋを１だけインクリメントし（処理ブロック９０３）、ｋの値が現フレームにおけるブロックの数より小さいかをテストする（処理ブロック９０４）。ｋがブロックの数より小さい場合には、処理ロジックは、処理ブロック９０２へ移行し、プロセスは、サンプルレベル変換パラメータを全てのブロックについて算出するまで、繰り返される。ｋがブロックの数以上である場合には、プロセスは、処理ブロック９０５へ移行し、当該ブロック９０５において、変数ｎを１に初期化する。
【００７４】
次いで、処理ロジックは、現ブロックにおけるｎ番目の現サンプルのブロック位置（ｉ,ｊ）を決定する（処理ブロック９０６）。ブロック位置を決定した後に、処理ロジックは、位置（ｉ,ｊ）の予測サンプルｐ（ｉ）をメモリ４０５から取り出し（処理ブロック９０７）、位置（ｉ,ｊ）のモデルパラメータｍｐ（ｉ,ｊ）をメモリ４０３から取り出す（処理ブロック９０８）。これらのメモリから取り出されたデータを使用して、処理ロジックは、ｍｐ（ｉ,ｊ）によるパラメータ化された変換Ｓｌｉ,ｊ（．）（ｌが０．．．４）を各予測信号に適用し（処理ブロック９０９）、変換予測信号Ｓｌｉ,ｊ（ｐ（ｉ））の線形結合を使用して予測信号Ｐ（ｉ,ｊ）を算出する（処理ブロック９１０）。
【００７５】
予測信号を算出した後、処理ロジックは、変数ｎを１だけインクリメントし（処理ブロック９１１）、ｎの値が現ブロックにおけるサンプルの数より小さいかをテストする（処理ブロック９１２）。ｎがサンプルの数より小さい場合には、処理は、処理ブロック９０６へ移行し、プロセスが、現ブロックにおける全てのサンプルに対して繰り返される。ｎがサンプルの数以上の場合には、プロセスは終了する。
【００７６】
別の実施の形態では、現ブロックｃにおけるサンプルｃ（ｉ，ｊ）に対応する予測信号Ｐ（ｉ,ｊ）は、次のように算出される（Ｓｋｉ,ｊ（．）は、前述したものと同じ手法で算出される）。
【数６】
2011097659.tif 000010
ここで、Ｓｋｉ,ｊ（．）は、現フレームにおける所与の現ブロックに対して図８におけるようにラベル付けされたブロックｋに対応する変換を表している。前述したプロセスを、図１１のフロー図に示す。
【００７７】
図１１のプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００７８】
以下、図１１を参照する。このプロセスは、処理ロジックが、インデックス変数ｋを１に等しくセットすることで始まる（処理ブロック１００１）。処理ロジックは、次いで、ブロックｋにおける全ての位置（ｉ,ｊ）に対するサンプルレベル変換パラメータｍｐ（ｉ,ｊ）を算出する（処理ブロック１００２）。次に、処理ロジックは、変数ｋを１だけインクリメントし（処理ブロック１００３）、ｋの値が現フレームにおけるブロックの数より小さいかをテストする（処理ブロック１００４）。ｋがブロックの数より小さい場合には、処理ロジックは、処理ブロック１００２へ移行し、プロセスは、全てのブロックに対してサンプルレベル変換パラメータを算出するまで、繰り返される。ｋがブロックの数以上である場合には、プロセスは、処理ブロック１００５へ移行し、当該ブロック１００５において、変数ｎを１に初期化する。
【００７９】
変数ｎを初期化した後に、処理ロジックは、現ブロックにおけるｎ番目の現サンプルのブロック位置（ｉ,ｊ）を決定する（処理ブロック１００６）。ブロック位置を決定した後に、処理ロジックは、現ブロックにおける現サンプルｃ（ｉ,ｊ）に対応する予測サンプルｐをメモリ４０５から取り出し（処理ブロック１００７）、位置（ｉ,ｊ）用のモデルパラメータｍｐ（ｉ,ｊ）をメモリ４０３から取り出す（処理ブロック１００８）。これらメモリから取り出したデータを使用して、処理ロジックは、ｍｐ（ｉ,ｊ）によってパラメータ化された変換Ｓｌｉ,ｊ（．）を各予測信号ｐに適用し（処理ブロック１００９）、変換予測信号Ｓｌｉ,ｊ（ｐ）の線形結合を使用して、予測信号Ｐ（ｉ,ｊ）を算出する（処理ブロック１０１０）。
【００８０】
予測信号を算出した後に、処理ロジックは、変数ｎを１だけインクリメントし（処理ブロック１０１１）、ｎの値が現ブロックにおけるサンプルの数より小さいかをテストする（処理ブロック１０１２）。ｎがサンプルの数より小さい場合には、プロセスは、処理ブロック１００６へ移行して、現ブロックにおける全てのサンプルに対して繰り返される。ｎがサンプルの数以上である場合には、プロセスは、終了する。
【００８１】
別の実施の形態では、変換Ｓｋｉ,ｊ（．）は、前述したように決定される。しかしながら、現ブロックにおけるサンプルｃ（ｉ,ｊ）に対する予測信号Ｐ（ｉ,ｊ）は、次のように決定される。
【数７】
2011097659.tif 000011
前述したプロセスを、図１２のフロー図によって示す。
【００８２】
図１２のプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００８３】
以下、図１２を参照する。プロセスは、処理ロジックが、インデックス変数ｋを１に等しくセットすることで始まる（処理ブロック１１０１）。処理ロジックは、次いで、ブロックｋにおける全ての位置（ｉ,ｊ）に対するサンプルレベル変換パラメータｍｐ（ｉ,ｊ）を算出する（処理ブロック１１０２）。次に、処理ロジックは、変数ｋを１だけインクリメントし（処理ブロック１１０３）、ｋの値が現フレームにおけるブロックの数より小さいかをテストする（処理ブロック１１０４）。ｋがブロックの数より小さい場合には、プロセスは、処理ブロック１１０２に移行して、全てのブロックに対してサンプルレベル変換パラメータを算出するまで、繰り返される。ｋがブロックの数以上である場合には、プロセスは、処理ブロック１１０５に移行し、当該ブロック１１０５において、変数ｎを１に初期化する。
【００８４】
変数ｎを初期化した後に、処理ロジックは、現ブロックにおけるｎ番目の現サンプルのブロック位置（ｉ,ｊ）を決定する（処理ブロック１１０６）。ブロック位置を決定した後に、処理ロジックは、現ブロックにおける現サンプルｃ（ｉ,ｊ）に対応する予測サンプルｐをメモリ４０５から取り出し（処理ブロック１１０７）、現サンプルｃ（ｉ,ｊ）に対応するモデルパラメータｍｐ（ｉ,ｊ）をメモリ４０３から取り出す（処理ブロック１１０８）。これらのメモリから取り出されたデータを使用して、処理ロジックは、ｍｐ（ｉ,ｊ）によってパラメータ化された変換Ｓｌｉ,ｊ（．）を各予測信号に適用し（処理ブロック１１０９）、変換予測信号Ｓｌｉ,ｊ（ｐ）の線形結合を使用して、予測信号Ｐ（ｉ,ｊ）を算出する（処理ブロック１１１０）。
【００８５】
予測信号を演算した後、処理ロジックは、変数ｎを１だけインクリメントし（処理ブロック１１１１）、ｎの値が現ブロックにけるサンプルの数より小さいかをテストする（処理ブロック１１１２）。ｎがサンプルの数より小さい場合には、プロセスは、処理ブロック１１０６に移行し、当該ブロック１１０６において、プロセスが、現ブロックにおける全てのサンプルに対して繰り返される。ｎがサンプルの数以上である場合には、プロセスは、終了する。
【００８６】
図１３は、ビデオ復号器の一つの実施の形態のブロック図である。以下、図１３を参照する。ビデオ復号器１２００は、変換復号器（ＴＤ）１２０１、フレームストアＦＳ１２０２（メモリ）、動き補償及び予測モジュール（ＭＣＰＭ）１２０３、動きデータ処理モジュールＭＤＰＭ１２０４、メモリ１２０５、及びスイッチＳＷ７、ＳＷ８、ＳＷ９、ＳＷ１０を備えている。変換復号器１２０１は、エントロピー復号器１２１０、逆量子化器１２１１、及び逆変換モジュール１２１２を有している。変換復号器１２０１は、符号化されたフレームデータにおける全てのブロックを復号する。より詳細には、変換復号器１２０１は、符号化データを受け取り、そのフレームがビデオ符号化器によってＩＮＴＲＡモードにて符号化されている場合には、従来のイントラフレーム復号プロセスに従って再構成されたビデオフレームを生成する。復号されるべき現フレームがＩＮＴＲＡでない場合には、ビデオ復号器は、以下に説明するようなプロセスに従ってビデオフレームデータを再構成する。
【００８７】
エントロピー復号器１２１０は、符号化データ１２２０を受け取り、復号する。エントロピー復号器１２１０の出力は、量子化変換係数１２２１である。ＳＷ８が閉じられているときに、量子化変換係数１２２１は、逆量子化装置１２１１によって量子化されて、再構成変換係数１２２２が生成される。逆変換１２１２は、再構成変換係数１２２２に逆変換を実行し、再構成フレームデータを生成する。再構成フレームデータ１２２３は、コンバイナ１２３０へ出力され、当該コンバイナ１２３０は、再構成フレームデータ１２２３を、ＳＷ７が閉じられている場合に、ＭＣＰＭ１２０３からのフィルタリングされた予測信号１２２５と組み合わせる。コンバイナ１２３０及びビデオ復号器１２００の出力は、再構成ビデオフレーム１２２４である。また、再構成ビデオフレーム１２２４は、フレームストア１２０２に記憶される。
【００８８】
ＭＣＰＭ１２０３は、ＳＷ１が閉じられているとき、フレームストア１２０２からの一以上の参照フレーム、及びメモリ１２０５からのデータに基づいてフィルタリングされた予測信号１２２５を生成する。このデータは、ＳＷ１０が閉じられているときにエントロピー復号器１２１０からメモリ１２０５へ与えられるモデル（変換）パラメータ、及びＭＤＰＭ１２０４からの動きベクトルを含む。ＭＤＰＭ１２０４は、ＳＷ９が閉じられているときに、エントロピー復号器１２１０から受け取った動きベクトル情報に応答して動きベクトルを生成する。
【００８９】
図１４は、図１３のビデオ復号器によって行われるビデオ復号処理の一つの実施の形態のフロー図である。ＶＤプロセスを、符号化フレームタイプがＩＮＴＲＡでない場合について示している。初期的には、ＳＷ７、ＳＷ８、ＳＷ９は開であり、ＳＷ１０は閉である。エントロピー復号器は、復号されるビデオフレームにおける現ブロックのブロック符号化モードを復号する。ブロックモードがＩＮＴＲＡである場合には、モード情報は、メモリ１２０５へ送られる。そして、現フレームにおける次のブロックの符号化モードが復号される。現ブロックの符号化モードがＩＮＴＲＡでない場合には、ＳＷ７が開、ＳＷ８が開、ＳＷ９が閉、ＳＷ１０が閉、ＳＷ１１が開とされる。エントロピー復号器１２１０は、現ブロックに対応する動きベクトル及び変換パラメータ情報を復号し、次いで、それらを現ブロックの符号化モードと共に、メモリ１２０５へ送る。次いで、現フレームにおける次のブロックが処理される。前述したようなプロセスは、復号されるべき現フレームの全てのブロックに対して繰り返される。次に、現フレームにおける全てのブロックを次のように処理するプロセスが開始される。この場合には、ＳＷ８は、閉、ＳＷ９は、開、ＳＷ１０は、開、ＳＷ１１は、閉であり、ＳＷ７は、現ブロックの符号化モードがＩＮＴＲＡである場合には、開であり、他の場合には、閉とされる。フレームにおける現ブロックの符号化モードがＩＮＴＲＡである場合には、変換復号器は、従来の手法でそのＩＮＴＲＡブロックを復号し、再構成ブロックデータをフレームストア１２０２へ送る。復号される現ブロックの符号化モードがＩＮＴＲＡでない場合には、変換復号器１２０１は、現フレームにおける現ブロック位置に対応する予測エラーブロックを復号する。また、ＭＣＰＭ１２０３は、メモリ１２０５に記憶されたブロック符号化モード、動きベクトル、及び変換パラメータを取り出すことによって、ビデオ符号化器において説明したＭＣＰＭプロセスに従って現ブロックに対応する予測信号を算出する。次いで、再構成現ブロックデータが、変換復号器１２０１によって復号された予測エラーブロックを、ＭＣＰＭ１２０３によって生成された予測信号に加えることによって、得られる。この再構成現ブロックデータは、フレームストア１２０２に書き込まれる。前述したようなプロセスは、復号されるフレームにおける全てのブロックに対して繰り返される。
【００９０】
図１４は、予測されるフレームに対するビデオ復号プロセスの一つの実施の形態のフロー図である。このプロセスは、ハードウエア（回路、専用ロジック等）、ソフトウエア（汎用コンピュータシステム又は専用マシンにて実行されるような）、又は両者の組み合わせを備え得る処理ロジックによって実行される。
【００９１】
以下、図１４を参照する。このプロセスは、処理ロジックが、インデックスｉを１に等しく初期化することで始まる（処理ブロック１３０１）。インデックスｉを使用して、処理ロジックは、現ブロックｃ（ｉ）の符号化モードを復号し（処理ブロック１３０２）、その符号化モードがＩＮＴＲＡであるかをテストする（処理ブロック１３０３）。符号化モードがＩＮＴＲＡである場合には、処理は、直接、処理ブロック１３０６へ移行する。符号化モードがＩＮＴＲＡでない場合には、処理ロジックは、現ブロックｃ（ｉ）の動きベクトル及びモデルパラメータを復号し（処理ブロック１３０４）、符号化モード、動きベクトル、及びモデルパラメータをメモリ１２０５へ送り、次いで、処理ブロック１３０６へ進む。
【００９２】
処理ブロック１３０６において、処理ロジックは、インデックスｉを１だけインクリメントし、インデックスがブロック（Ｎ）の総数より小さいかをテストする（処理ブロック１３０７）。インデックスがブロックの総数より小さい場合には、処理ロジックは、処理ブロック１３０２に移行し、当該ブロック１３０２において、プロセスが次のブロックに対して繰り返される。インデックスがブロックの総数以上である場合には、処理ロジックは、処理ブロック１３０８へ移行し、当該ブロック１３０８において、インデックスｉが再び１へと初期化される。
【００９３】
インデックスｉが１へ初期化された状態で、処理ロジックは、現ブロックｃ（ｉ）の符号化モードをメモリ１２０５から取り出し（処理ブロック１３０９）、その符号化モードがＩＮＴＲＡであるかをテストする（処理ブロック１３１０）。符号化モードがＩＮＴＲＡである場合には、処理ロジックは、現ブロックｃ（ｉ）のイントラ復号を実行し（処理ブロック１３１３）、次いで、処理ブロック１３１５へ移行する。符号化モードがＩＮＴＲＡでない場合には、処理ロジックは、現ブロックの予測エラーｅ（ｉ）を復号し（処理ブロック１３１１）、ＭＣＰＭ１２０３において現ブロックの予測信号ｐ（ｉ）を算出し（処理ブロック１３１２）、等式ｒｃ（ｉ）＝ｐ（ｉ）＋ｅ（ｉ）に従って現ブロックを再構成し（処理ブロック１３１４）、処理ブロック１３１５へ移行する。
【００９４】
処理ブロック１３１５において、処理ロジックは、再構成データをフレームストア１２０２に書き込む。その後、処理ロジックは、インデックスｉをインクリメントし（処理ブロック１３１６）、インデックスｉがブロックの数（Ｎ）より小さいかをテストする（処理ブロック１３１７）。ｉ＜Ｎである場合には、プロセスは、処理ブロック１３０９へ移行し、残っているブロックに対して繰り返される。ｉ＜Ｎでない場合には、プロセスは終了する。
【００９５】
本明細書で説明した方法及び装置を使用して、従来技術の対応手法と比較して、優れた性能を有する時間予測信号を決定することができる。
【００９６】
＜コンピュータシステムの実施例＞
図１５は、本明細書で説明したオペレーションのうちの一以上のオペレーションを実行し得る典型的なコンピュータシステムのブロック図である。以下、図１５を参照する。コンピュータシステム１４００は、典型的なクライアント又はサーバコンピュータシステムであってもよい。コンピュータシステム１４００は、情報を伝送するための通信機構、即ちバス１４１１、及びバス１４１１に結合された情報処理用のプロセッサ１４１２を備えている。プロセッサ１４１２は、例えば、Pentium（登録商標）、PowerＰＣ（登録商標）等のようなマイクロプロセッサを含むが、これに限定されるものではない。
【００９７】
システム１４００は、更に、情報及びプロセッサ１４１２によって実行されるべき命令を記憶するための、バス１４１１に結合されたランダムアクセスメモリ（ＲＡＭ）又は他のダイナミック記憶装置１４０４を備えている。主メモリ１４０４もまた、プロセッサ１４１２による命令の実行中に変数又は他の中間情報を一時的に記憶するために使用することができる。
【００９８】
コンピュータシステム１４００は、また、静的情報及びプロセッサのための命令を記憶するための、バス１４１１に結合された読取り専用メモリ（ＲＯＭ）及び／又は他の静的記憶装置１４０６、磁気ディスク又は光ディスクのようなデータ記憶装置１４０７、並びに、それに対応するディスクドライブを備えている。データ記憶装置１４０７は、情報及び命令を記憶するために、バス１４１１に結合されている。
【００９９】
さらに、コンピュータシステム１４００は、コンピュータユーザに対して情報を表示するための、バス１４１１に結合された陰極線管（ＣＲＴ）又は液晶ディスプレイのような表示装置１４２１に結合されていてもよい。また、プロセッサ１４１２へ情報及びコマンド選択を伝送するための、英数字及びその他のキーを含む英数字入力装置１４２２がバス１４１１に結合されていてもよい。更なるユーザ入力装置として、プロセッサ１４１２へのディレクション情報及びコマンド選択を伝送し、且つディスプレイ１４２１上のカーソル移動を制御するための、バス１４１１に結合されたマウス、トラックボール、トラックパッド、スタイラス、又はカーソルディレクションキーのようなカーソルコントロール１４２３がある。
【０１００】
バス１４１１に結合される別の装置としては、ハードコピー装置１４２４がある。このハードコピー装置は、紙、フィルム、又は類似の種類の媒体のような媒体に情報を記録するために使用される。バス１４１１に結合される更に別の装置としては、電話又はハンドヘルドパームデバイスと通信するための有線／無線通信機能１４２５がある。システム１４００の構成要素、及びその関連ハードウエアのうちの何れか、又は全てを本発明において使用し得ることに留意されたい。しかしながら、コンピュータシステムの他のコン構成は、それら装置のうちの幾つか又は全てを含むようなものとすることができることも理解されよう。
【０１０１】
前述した説明を読めば、当業者には、本発明の多くの変更例及び変形例が当然に明らかとなるが、例示のために示し説明した特定の実施の形態は、それに限定することを意図したものではないことを理解されたい。従って、種々の実施の形態について詳細に言及したことは、特許請求の範囲を限定することを意図したものではなく、特許請求の範囲自体が、本発明に必須な特徴のみを列挙している。
【図１】
2011097659.tif 000012
【図２】
2011097659.tif 000013
【図３】
2011097659.tif 000014
【図４】
2011097659.tif 000015
【図５】
2011097659.tif 000016
【図６】
2011097659.tif 000017
【図７】
2011097659.tif 000018
【図８】
2011097659.tif 000019
【図９】
2011097659.tif 000020
【図１０】
2011097659.tif 000021
【図１１】
2011097659.tif 000022
【図１２】
2011097659.tif 000023
【図１３】
2011097659.tif 000024
【図１４】
2011097659.tif 000025
【図１５】
2011097659.tif 000026