(57)【特許請求の範囲】
【請求項１】
データサンプルと、別のデータサンプル及び更なるデータサンプルの補間との間の類似度を補間毎に決定するデータ処理方法であって、
補間は、第１の重み係数倍された別のデータサンプルと、第２の重み係数倍された更なるデータサンプルの合計であり、
第２の重み係数の逆数に、データサンプルと第１の重み係数倍された別のデータサンプルの差を乗算することにより共通部を計算する準備計算ステップと、
共通部と、対応した更なるデータサンプルとの差を計算することにより、データサンプルと関連した補間との間の類似度に対応した差を得る更なる計算ステップと
を有し、
前記準備計算ステップは、前記データサンプルである画素ブロックの画素、及び前記別のデータサンプルである類似画素ブロックの対応した位置の画素について実行され、
前記更なる計算ステップは、前記更なるデータサンプルである前記対応した位置の画素の近傍の複数の近傍画素について実行される
ことを特徴とするデータ処理方法。
【請求項２】
データサンプルと、別のデータサンプル及び更なるデータサンプルの補間との間の類似度を補間毎に決定するデータ処理装置であって、
補間は、第１の重み係数倍された別のデータサンプルと、第２の重み係数倍された更なるデータサンプルの合計であり、
第２の重み係数の逆数に、データサンプルと第１の重み係数倍された別のデータサンプルの差を乗算することにより共通部を計算する準備計算ステップと、
共通部と、対応した更なるデータサンプルとの差を計算することにより、データサンプルと関連した補間との間の類似度に対応した差を得る更なる計算ステップと、を実現し、
前記準備計算ステップは、前記データサンプルである画素ブロックの画素、及び前記別のデータサンプルである類似画素ブロックの対応した位置の画素について実行され、
前記更なる計算ステップは、前記更なるデータサンプルである前記対応した位置の画素の近傍の複数の近傍画素について実行される
ようプログラミングされていることを特徴とするデータ処理装置。
【請求項３】
データプロセッサのプログラムメモリにロードされたときコンピュータに、データサンプルと、別のデータサンプル及び更なるデータサンプルの補間との間の類似度を補間毎に決定させる、命令セットを含むデータプロセッサ用のコンピュータプログラムであって、
補間は、第１の重み係数倍された別のデータサンプルと、第２の重み係数倍された更なるデータサンプルの合計であり、
第２の重み係数の逆数に、データサンプルと第１の重み係数倍された別のデータサンプルの差を乗算することにより共通部を計算する準備計算ステップと、
共通部と、対応した更なるデータサンプルとの差を計算することにより、データサンプルと関連した補間との間の類似度に対応した差を得る更なる計算ステップと、に従って類似度が決定され、
前記準備計算ステップは、前記データサンプルである画素ブロックの画素、及び前記別のデータサンプルである類似画素ブロックの対応した位置の画素について実行され、
前記更なる計算ステップは、前記更なるデータサンプルである前記対応した位置の画素の近傍の複数の近傍画素について実行される
ことを特徴とするコンピュータプログラム。
【請求項４】
画素ブロックの画素と、類似画素ブロックの対応した位置の画素及び前記対応した位置の画素の近傍の複数の近傍画素の補間と、の間の類似度を、補間毎に決定するビデオ符号化方法であって、
前記補間は、第１の重み係数倍された別のデータサンプルと、第２の重み係数倍された隣接画素の合計であり、
第２の重み係数の逆数に、前記画素ブロックの画素と、前記第１の重み係数倍された類似画素ブロックの対応した位置の画素の差を乗算することにより共通部を計算する準備計算ステップと、
前記複数の近傍画素のそれぞれについて、前記共通部と、前記近傍画素との差を計算することにより、データサンプルと関連した補間との間の類似度に対応した差を得る更なる計算ステップと、
を有することを特徴とするビデオ符号化方法。
【発明の詳細な説明】
【０００１】
本発明は、データサンプルと、別のデータサンプル及び更なるデータサンプルの間の補間との類似度が補間毎に決定されるデータ処理に関する。本発明は、たとえば、半画素動き推定を利用するビデオ符号化方式に適用される。
【０００２】
データサンプルと、別のデータサンプル及び更なるデータサンプルの間の補間との類似度は、以下の方法で決定することができる。第１のステップにおいて、補間を計算する。たとえば、補間とは、第１の重み係数倍された別のデータサンプルと、第２の重み係数倍された更なるデータサンプルとの和である。第２のステップにおいて、データサンプルと補間の差を、補間毎に計算する。英国特許出願公開番号2 311 435号には、この方法による半画素動き推定が記載されている。
【０００３】
本発明の目的は、コスト削減を達成することである。
【０００４】
本発明によれば、データサンプルと、別のデータサンプル及び更なるデータサンプルの間の補間との類似度は、以下の方法で決定される。
【０００５】
準備計算ステップにおいて、共通部を計算する。共通部は、第２の重み係数の逆数Ｋに、データサンプルと第１の重み係数倍された別のデータサンプルの差を乗算した積である。更なる計算ステップにおいて、共通部と対応した更なるデータサンプルとの差を計算する。各差は、サンプルと関連した補間の類似度に対応する。
【０００６】
本発明は、以下の局面を考慮する。方法に含まれる算術演算の回数が増加すると共に、この方法を実現するためのコストが増大する。たとえば、各算術演算は、特定のハードウエア製品を用いて実現される。その方法がかなり多数回の算術演算を含む場合、その方法を実現するためにはかなり多数のハードウエア製品が必要になる。この方法は、単独のハードウエア製品、すなわち、その方法を実行するようプログラミングされたプロセッサを用いて実現される場合もある。その方法に非常に多数回の算術演算が含まれる場合、プロセッサは、かなり高速であることが要求される。プロセッサは、高速化するにつれて、より高価になる。
【０００７】
従来技術の方法は、以下の算術演算を含む。原理的に、各補間は、少なくとも２回の乗算と、１回の加算とを含む。ここで、一つの例外がある。重み係数が共に０．５であるならば、１回の加算と１回の除算だけで足りる。関連したデータサンプルと補間の差を計算するためには１回の減算が必要である。Ｎが整数を表わし、Ｎ個の異なる補間が存在する場合、２Ｎ回の乗算と、Ｎ回の加算と、Ｎ回の減算とが必要であることになる。両方の重み係数が共に０．５であるならば、Ｎ回の加算と、Ｎ回の除算と、Ｎ回の減算で足りる。
【０００８】
本発明による方法は、以下の算術演算を含む。原理的に、準備計算ステップは、２回の乗算と１回の減算とを含む。一つの例外として、重み係数が共に０．５であるならば、１回の乗算と１回の加算だけで十分である。更なる計算ステップは、補間毎に減算を行う。Ｎ個の異なる補間が存在する場合、２回の乗算と、Ｎ＋１回の減算が必要であることになる。重み係数が共に０．５であるならば、１回の乗算とＮ＋１回の減算で足りる。したがって、本発明による方法は、従来技術の方法よりも少ない回数の算術演算しか必要としない。その結果として、本発明は、コスト削減を実現することができる。
【０００９】
以下では、添付図面を参照して本発明の上記の局面及びその他の局面を説明する。
【００１０】
最初に、参照符号について注釈する。図面中、類似した実体は類似した参照名で指定される。幾つかの類似した実体が同一図面中に現れることがあるが、その場合、類似した実体を区別するため参照名に添え字を付加する。添え字は便宜的に省略することもあり、或いは、添え字の値が重要でないときには（ドントケア値であるときには）、添え字をアスタリシスク記号で置換する。この注釈は、以下の説明及び特許請求の範囲に適用される。
【００１１】
次に、図１を参照して本発明の基本的な特徴を説明する。データサンプル［Ｘ］と、別のデータサンプル［Ｃ］及び更なるデータサンプル［Ｂ］に関する補間［Ｉ］との間の類似度を、補間［Ｉ］毎に決定する。補間［Ｉ］は、第１の重み係数［Ｗ１］倍された別のデータサンプル［Ｃ］と、第２の重み係数［Ｗ２］倍された更なるデータサンプル［Ｂ］の合計であり、次式：
Ｉ＝Ｃ×Ｗ１＋Ｂ×Ｗ２
によって表現される。
【００１２】
準備計算ステップ［ＰＣＳ］において、共通部［Ｙ］を計算する。共通部［Ｙ］は、第２の重み係数［Ｗ２］の逆数に、データサンプル［Ｘ］と第１の重み係数［Ｗ１］倍された別のデータサンプル［Ｃ］の差を乗算したものであり、次式：
Ｙ＝（１／Ｗ２）×（Ｘ−Ｃ×Ｗ１）
によって表現される。
【００１３】
更なる計算ステップ［ＦＣＳ］において、共通部［Ｙ］と、対応した更なるデータサンプル［Ｂ］との差［ＥＲ］を次式：
ＥＲ＝Ｙ−Ｂ
に従って計算する。各差［ＥＲ］は、サンプル［Ｘ］と関連した補間［Ｉ］の類似度に対応する。
【００１４】
図１に示された特徴は、たとえば、半画素動き推定を利用するビデオ符号化に適用される。動画像専門家グループ（ＭＰＥＧ）によって規定された標準に準拠したビデオ符号化は、半画素動き推定を利用する。半画素動き推定は、動きベクトルに半画素の精度を与える。このような動きベクトルによって、復号化端で得られる画質がより良好になる。
【００１５】
図２は、ＭＰＥＧビデオエンコーダを示す図である。ＭＰＥＧビデオエンコーダは、ピクチャのシーケンス［ＳＯＰ］を受け取る。これに応じて、ＭＰＥＧビデオエンコーダは、符号化ビデオデータストリーム［ＣＶＳ］を生ずる。ビデオエンコーダは、入力回路［ＩＮＰ］と、動き推定器［ＭＥＳＴ］と、動き補償器［ＭＣＯＭＰ］と、減算器［ＳＵＢ］と、離散コサイン変換器及び量子化器［ＤＣＴＱ］と、逆離散コサイン変換器及び逆量子化器［ＩＤＣＴＱ］と、加算器［ＡＤＤ］と、メモリ［ＭＥＭ］と、可変長符号化器［ＶＬＣ］と、出力回路［ＯＵＴ］と、を含む。
【００１６】
ＭＰＥＧビデオエンコーダは、基本的に以下の如く動作する。入力回路［ＩＮＰ］は、符号化されるべきピクチャを画素ブロック［ＭＢ］に分割する。画素ブロック［ＭＢ］は、次の方法で符号化される。動き推定器［ＭＥＳＴ］は、画素ブロックに対し、一つ以上の動きベクトル［ＭＶ］を決定する。動き補償器［ＭＣＯＭＰ］は、動きベクトル［ＭＶ］と、予め符号化されメモリ［ＭＥＭ］に保持されたピクチャとに基づいて、動き補償画素ブロック［ＭＰ］を決定する。減算器［ＳＵＢ］は、符号化されるべき画素ブロック［ＭＢ］から動き補償画素ブロック［ＭＰ］を減算する。したがって、エラー画素ブロック［ＭＸ］が獲得される。
【００１７】
離散コサイン変換器及び量子化器［ＤＣＴＱ］は、処理ステップの系列を、エラー画素ブロック［ＭＸ］に適用する。これらの処理ステップは、離散コサイン変換及び量子化を含む。これにより、量子化された係数ブロック［ＣＦ］が得られる。可変長符号化器［ＶＬＣ］は、量子化された係数ブロック［ＣＦ］及び動きベクトル［ＭＶ］を、可変長符号語［ＣＷ］に変換する。出力回路［ＯＵＴ］は、ある種の他のデータをこれらの可変長符号語に付加し、種々のタイプのデータを、ＭＰＥＧ標準に準拠したフォーマットの形に並べる。これによって、符号化ビデオデータストリーム［ＣＶＳ］が得られる。
【００１８】
符号化された画素ブロック［ＭＢ］は、後続のピクチャを符号化する基準を与えるピクチャに属する。この場合、量子化された係数ブロック［ＣＦ］は、逆離散コサイン変換器及び逆量子化器［ＩＤＣＴＱ］へ与えられる。逆離散コサイン変換器及び逆量子化器［ＩＤＣＴＱ］は、離散コサイン変換器及び量子化器［ＤＣＴＱ］によって適用された処理ステップの系列の逆の機能を実現する処理ステップの系列を、量子化された係数ブロック［ＣＦ］に適用する。これによって、復号化されたエラー画素ブロック［ＭＸ’］が得られる。加算器［ＡＤＤ］は、復号化されたエラー画素ブロック［ＭＸ’］を、動き補償画素ブロック［ＭＰ］に加え、復号化画素ブロック［ＭＢ’］を取得する。復号化画素ブロック［ＭＢ’］は、メモリ［ＭＥＭ］に保持され、後で、動き推定及び動き補償を用いて別のピクチャを符号化するため使用される。
【００１９】
図３は、動き推定器［ＭＥＳＴ］の動作方法を説明するフローチャートである。動き推定器［ＭＥＳＴ］は、符号化されるべき画素ブロック［ＭＢ］毎に動きベクトルを決定する。
【００２０】
ステップＳ１において、動き推定器［ＭＥＳＴ］は、全画素精度の標準的な動き推定を実行する。実際上、動き推定器［ＭＥＳＴ］は、メモリ［ＭＥＭ］に保持されたピクチャ内で、符号化されるべき画素ブロック［ＭＢ］と類似した画素ブロックの探索を実行する。符号化されるべき画素ブロック［ＭＢ］は、以下では、類似ブロック［ＭＳ］と呼ぶ。このブロックは、ピクチャ毎に異なる位置を占める。位置の差は、全画素動きベクトル［ＭＶ（ｆｐ）］によって表わされる。対応した画素ブロックの類似度は、絶対値差の合計（ＳＡＤ）によって表現される。絶対値差の合計（ＳＡＤ）は、対応したブロック内で同じ位置を占める画素間の差の絶対値の合計である。
【００２１】
ステップＳ２において、動き推定器［ＭＥＳＴ］は、符号化されるべきブロック［ＭＢ］内の画素［Ｘ］毎に以下の計算を実行する。最初に、画素［Ｘ］は２倍される。符号化されるべきブロック［ＭＢ］内で当該画素［Ｘ］が占める位置と同じ位置を占める類似ブロック［ＭＳ］内の画素［Ｃ］は、この乗算結果［２Ｘ］から減算される。減算の結果［２Ｘ−Ｃ］を、以下では共通部［Ｙ］と呼ぶ。かくして、動き推定器［ＭＥＳＴ］は、符号化されるべきブロック［ＭＢ］内の画素［Ｘ］毎に共通部［Ｙ］を計算する。これによって、共通部ブロック［ＭＹ］が得られる。
【００２２】
ステップＳ３において、動き推定器［ＭＥＳＴ］は、全画素動きベクトル［ＭＶ（ｐｆ）］の８通りの半画素改良候補：（＋１／２，０），（＋１／２，＋１／２），（０，＋１／２），（−１／２，１／２），（−１／２，０），（−１／２，−１／２），（０，−１／２）及び（＋１／２，−１／２）に対するＳＡＤを計算する。カンマ”，”の前後の数字は、水平方向及び垂直方向の夫々の改良分を表わす。ＳＡＤは、共通部ブロック［ＭＹ］及び類似ブロック［ＭＳ］に基づいて近傍画素を用いて、同じ方法で計算する。次に、この計算について説明する。
【００２３】
全画素動きベクトル［ＭＶ（ｆｐ）］の半画素改良に対するＳＡＤは、実際上、符号化されるべきブロック［ＭＢ］内の各画素［Ｘ］に対し、以下の３ステップを適用した場合に得られるＳＡＤである。第１のステップでは、符号化されるべきブロック［ＭＢ］内での画素［ｘ］と同じ位置を占める類似ブロック［ＭＳ］内の画素［Ｃ］と、ある方向への近傍画素［Ｂ］とから、補間［Ｉ］を作成する。この方向は、取り扱っている半画素改良によって決まる。たとえば、（＋１／２，＋１／２）方向への半画素改良に着目している場合、補間［Ｉ］は、類似ブロック［ＭＳ］内で画素［Ｃ］の右上近傍にある画素に関する補間である。第２のステップで、符号化されるべきブロック［ＭＢ］内の画素［Ｘ］と、補間［Ｉ］との間の差の絶対値を計算する。第３のステップで、今計算した差の絶対値を、符号化されるべきブロック［ＭＢ］内の他の画素［Ｘ］に関して既に計算されている差の絶対値の合計に加算する。しかし、本発明によれば、半画素改良のためのＳＡＤは、後述するように別の方法で計算される。
【００２４】
ステップＳ４において、動き推定器［ＭＥＳＴ］は、種々のＳＡＤ、すなわち、全画素動きベクトル［ＭＶ（ｆｐ）］に関するＳＡＤと、この動きベクトルの８個の異なる半画素改良に関する８個のＳＡＤを比較する。全画素動きベクトル［ＭＶ（ｆｐ）］に関連したＳＡＤは、最小値をとる可能性がある。その場合、動き推定器［ＭＥＳＴ］は、動き補償のため利用する動きベクトル［ＭＶ］として、この全画素動きベクトルを与える。しかし、ある半画素改良に関するＳＡＤが最小値をとる場合もある。その場合、動き推定器［ＭＥＳＴ］は、当該半画素改良に従って、全画素動きベクトル［ＭＶ（ｆｐ）］を修正する。たとえば、半画素改良（＋１／２，＋１／２）が最小値を与える場合を考える。その場合、全画素動きベクトル［ＭＶ（ｆｐ）］は、正の半画素単位を、全画素動きベクトルの水平及び垂直で加算することにより修正される。動き推定器［ＭＥＳＴ］は、動き補償のため利用される動きベクトル［ＭＶ］として、修正された全画素動きベクトルを与える。
【００２５】
図４は、半画素改良に対するＳＡＤを計算する方法を説明するフローチャートである。この計算は、図３に示された方法のステップＳ３で行われる。既に説明したように、半画素改良のためのＳＡＤは、既にステップＳ２で決定されている共通部ブロック［ＭＹ］と、類似ブロック［ＭＳ］及びその隣接画素とに基づいて計算される。
【００２６】
半画素改良部のためのＳＡＤ計算は、ステップＳ３−１、ステップＳ３−２及びステップＳ３−３の３ステップにより構成される。動き推定器［ＭＥＳＴ］は、共通部ブロック［ＭＹ］内の各共通部［Ｙ］に対し、これらの３サブステップを実行する。
【００２７】
サブステップＳ３−１において、動き推定器［ＭＥＳＴ］は、メモリ［ＭＥＭ］に保持された画素［Ｂ］を読み出す。読み出された画素［Ｂ］は、類似ブロック［ＭＳ］内の画素［Ｃ］の近傍画素であり、この画素の位置は着目中の共通部［Ｙ］の位置に対応する。（＋１，０），（＋１，＋１），（０，＋１），（−１，＋１），（−１，０），（−１，−１），（０，−１）及び（＋１，−１）の８通りの方向に関して８個の近傍画素候補が存在する。半画素改良に対応した方向で近傍が読み出される。たとえば、ＳＡＤの計算が半画素改良（＋１／２，０）に対し行われた場合を考える。この場合、（＋１，０）方向で近傍が読み出される。この例について説明するため、現在の共通部［Ｙ］の位置は、（５，５）であるとする。この場合、動き推定器［ＭＥＳＴ］は、類似ブロック［ＭＳ］内で位置（６，５）にある画素［Ｂ］を読み出す。
【００２８】
サブステップＳ３−２において、動き推定器［ＭＥＳＴ］は、共通部［Ｙ］と、メモリ［ＭＥＭ］から読み出した画素［Ｂ］の間で差の絶対値［ＡＢＳ（Ｙ−Ｂ）］を決定する。差の絶対値［ＡＢＳ（Ｙ−Ｂ）］は、共通部［Ｙ］を計算するため使用した符号化されるべきブロック［ＭＢ］内の画素［Ｘ］と、メモリ［ＭＥＭ］内の２個の画素の補間との差の絶対値に、スケーリング係数を乗算した値と一致する。補間は、符号化されるべきブロック内の画素［Ｘ］と同じ位置にある類似ブロック［ＭＳ］内の画素［Ｃ］と、類似ブロック内で画素［Ｃ］に関して着目中の方向で近傍にある画素［Ｂ｝とに関連する。スケーリング係数は、２である。
【００２９】
サブステップＳ３−３において、動き推定器［ＭＥＳＴ］は、直前のサブステップＳ３−２で決定された差の絶対値［ＡＢＳ（Ｙ−Ｂ）］を、差の絶対値の累計［ＡＣＣ（ＡＢＳ（Ｙ−Ｂ））］に加算する。差の絶対値の累計［ＡＣＣ（ＡＢＳ（Ｙ−Ｂ））］は、直前のサブステップＳ３−２より前のサブステップＳ３−２で決定した差の絶対値の合計である。当然に、差の絶対値の累計［ＡＣＣ（ＡＢＳ（Ｙ−Ｂ））］は、ある半画素改良に対するＳＡＤを計算するため、三つのサブステップＳ３−１、Ｓ３−２及びＳ３−３が反復的に実行される前には、零に初期化されている。
【００３０】
三つのサブステップＳ３−１、Ｓ３−２及びＳ３−３が全ての共通部［Ｙ］に対して実行されたとき、絶対値の差の累計［ＡＣＣ（ＡＢＳ（Ｙ−Ｂ））］は、２で除算される。この除算の結果は、当該半画素改良に対するＳＡＤである。
【００３１】
三つのサブステップＳ３−１、Ｓ３−２及びＳ３−３で実行される演算は、全画素動き推定を実行するためにも使用される。全画素動き推定は、図１に示された方法のステップＳ１で実行される。したがって、ステップＳ１と、ステップＳ３−１、ステップＳ３−２及びステップＳ３−３を含むＳ３と、同じハードウエア品又はソフトウエア品を用いて、実行することが可能である。このような共通性は、コスト効率により一層寄与する。
【００３２】
図２に示されたＭＰＥＧビデオエンコーダは、図３及び図４にその動作が例示されているが、このＭＰＥＧビデオエンコーダは、図１に示した特徴を有する実施形態の一例に過ぎない。図１に示された重み係数Ｗ１及びＷ２は、ＭＰＥＧビデオエンコーダの場合、共に０．５である。図１に示した準備計算ステップ［ＰＣＳ］は、図３に示されたステップＳ２の形式で実現される。両方の重み係数が０．５であるため、共通部［Ｙ］は、
Ｙ＝２Ｘ−Ｃ
によって計算される。図１に示された更なる計算ステップ［ＦＣＳ］は、図３に示されたステップＳ３の形式で実現される。
【００３３】
より詳細に説明すると、ＭＰＥＧビデオエンコーダは、図１に示された特徴を、符号化されるべき画素ブロック［ＭＢ］内の画素［Ｘ］毎に適用する。ステップＳ２において、ＭＰＥＧビデオエンコーダは、画素［Ｘ］毎に準備ステップ［ＰＣＳ］を実行する。つぎに、ステップＳ３において、ＭＰＥＧビデオエンコーダは、上記準備ステップ［ＰＣＳ］と適合した更なるステップ［ＦＣＳ］を実行する。画素［Ｘ］に対する更なる計算ステップ［ＦＣＳ］は、８通りのＳＡＤ計算を含む。ＳＡＤ計算毎に、ＭＰＥＧビデオエンコーダは、画素［Ｘ］に対し決定した共通部［Ｙ］と、符号化されるべきブロック内の画素［Ｘ］の位置と対応した位置を占める類似ブロック［ＭＳ］内の画素［Ｃ］の近傍画素［Ｂ］との間の差を計算する。
【００３４】
添付図面及び上述の説明は、本発明を限定するものではなく、本発明を例示するものである。特許請求の範囲に記載された事項の範囲内で多数の変形をなし得ることが明らかである。この点に関して、最後に、以下の注釈を付す。
【００３５】
図１に示された特徴が使用される多数のデータ処理アプリケーションが存在する。図２乃至４は、ビデオ符号化に関する一つの実現可能なアプリケーションを例示しているだけである。図１に示された特徴は、データサンプルと、別のデータサンプルの補間との間の類似度を調べる必要がある任意のタイプのデータ処理で使用される。
【００３６】
多種多様なタイプの補間が行われ得る。図２乃至４には、両方のサンプルに対する重み係数Ｗ１及びＷ２が０．５である一つの実現可能な実施形態だけが示されている。しかし、たとえば、重み係数Ｗ１及びＷ２が、それぞれ、３／４及び１／４であるような別の実施形態を考えることが可能である。その場合、共通部は、
Ｙ＝４Ｘ−３Ｃ
のようになる。このような実施形態は、たとえば、四分の一画素精度の動き推定を実現するため適用される。図４に示された方法は、ＳＡＤを計算するため適用される。このとき、差の絶対値の累計［ＡＣＣ（ＡＢＳ（Ｙ−Ｂ））］は、４で除算すべきである。
【００３７】
本発明に従ってＳＡＤを計算する方法には多数の方法がある。図２乃至４には、ＳＡＤが別々に、一つずつ順番に計算される一つの実現可能な実施形態だけが示されている。別の実施形態では、多数のＳＡＤを同時に並列に計算することが可能である。第１のステップにおいて、着目している共通部［Ｙ］に属する多数の近傍画素［Ｂ］を読み出す。第２のステップにおいて、各近傍画素［Ｂ］毎に絶対値の差［ＡＢＳ（Ｙ−Ｂ）］を決定する。各絶対値の差は、異なるＳＡＤ計算と関連する。第３のステップにおいて、各絶対値の差を、同じＳＡＤ計算と関連した予め計算した差の絶対値の合計に加算する。かくして、ステップＳ３−３に対して、別々のＳＡＤに関連した多数の差の絶対値の累計が並列的に得られる。
【００３８】
ハードウエア品、ソフトウエア品、或いは、両方を用いて、機能を実現するための多数の方法が存在する。この点に関して、添付図面は、非常に概略的に記載されており、各図面には、本発明の一つの実現可能な実施例だけが示されている。かくして、添付図面では、異なる機能は異なるブロックとして示されているが、これは、必ずしも単一のハードウエア品又はソフトウエア品が幾つかの機能を実現することを排除するものではない。さらに、ハードウエア品及び／又はソフトウエア品の組み合わせが機能を実現することを排除するものではない。
【００３９】
たとえば、図２に示されたＭＰＥＧビデオエンコーダの動き推定器［ＭＥＳＴ］は、多数の機能を実行できるプロセッサの形式でも構わない。プログラムメモリにロードされた命令セットは、プロセッサに、図３及び４に示された方法を実現させる。別の命令セットがプログラムメモリにロードされ、プロセッサに、たとえば、動き補償を実現させる。プロセッサに図３及び４に示された方法を実現させる命令セットは、たとえば、ディスクのようなデータ担体に保持される。データ担体は、図２に示されたＭＰＥＧビデオエンコーダの一部を形成しなくてもよい。命令セットは、プロセッサのプログラムメモリへロードするため、データ担体から読み出され、プロセッサは、動き推定器［ＭＥＳＴ］の役割を実行する。
【００４０】
請求項に記載された参照符号は、請求項に係る発明を限定するものではない。「有する、含む」のような動詞は、請求項に記載されていない他の要素若しくはステップの使用を排除するものではない。要素又はステップが単数形で表現されていても、複数の要素又はステップが含まれることを除外するものではない。
【図面の簡単な説明】
【図１】  本発明の基本的な特徴を説明する概念図である。
【図２】  動き推定器を含むＭＰＥＧエンコーダのブロック図である。
【図３】  動き推定器の動作方法を説明するフローチャートである。
【図４】  図３に示された動作方法の詳細を説明するフローチャートである。
【図１】
0004633992.tif 000002
【図２】
0004633992.tif 000003
【図３】
0004633992.tif 000004
【図４】
0004633992.tif 000005