(57)【特許請求の範囲】
【請求項１】
パターンマッチング法によって、画像信号から、符号化の対象とされる第１の画像と、第２の画像との画素の誤差を最小にする動きベクトルを検出し、
前記動きベクトルに基づいて動き補償を行うことにより予測画像信号を求め、
前記画像信号と予測画像信号との差分を算出し、その差分データと、前記動きベクトルとを可変長符号化する画像符号化方法において、
前記誤差に対し、少なくとも、既に符号化された画像の既に検出された動きベクトルを基にした第１の重みで重み付けし、前記第１の画像の既に検出された動きベクトルを基にした第２の重みで重み付けするように、２以上の重み付けを行う
ことを特徴とする画像符号化方法。
【請求項２】
パターンマッチング法によって、画像信号から、符号化の対象とされる第１の画像と、第２の画像との画素の誤差を最小にする動きベクトルを検出し、
前記動きベクトルに基づいて動き補償を行うことにより予測画像信号を求め、
前記画像信号と予測画像信号との差分を算出し、その差分データと、前記動きベクトルとを可変長符号化する画像符号化方法において、
前記誤差に対し、少なくとも、検出しようとする動きベクトルにより指示される基準位置と、既に符号化された画像の既に検出された動きベクトルにより指示される位置との距離により定まる第１の重みで重み付けし、前記基準位置と、前記第１の画像の既に検出された動きベクトルにより指示される位置との距離により定まる第２の重みで重み付けするように、２以上の重み付けを行う
ことを特徴とする画像符号化方法。
【請求項３】
前記動きベクトルは、１フレームの画像の所定のブロックごとに検出され、
前記第２の重みは、同一フレームの画像のブロックの動きベクトルのうちの既に検出された動きベクトルに対応したものである
ことを特徴とする請求項１または２に記載の画像符号化方法。
【請求項４】
前記第１の重みは、既に符号化されたフレームの画像の既に検出された動きベクトルに対応したものである
ことを特徴とする請求項１または２に記載の画像符号化方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば動画像を符号化して、伝送あるいは記録媒体に記録するテレビ会議システムや、テレビ電話システム、放送用機器、ディスク装置、テープ装置などに用いて好適な画像符号化方法に関する。
【０００２】
【従来の技術】
例えば、従来のテレビ会議システムやテレビ電話システムなどのように、動画像信号を遠隔地に伝送するシステムにおいては、伝送路を効率良く利用するために、画像信号を、そのライン相関やフレーム間相関を利用して圧縮符号化するようになされている。
【０００３】
ライン相関を利用した場合には、画像信号を、例えばＤＣＴ（離散コサイン変換）処理などの直交変換処理することによって圧縮することができる。
【０００４】
また、フレーム間相関を利用した場合には、画像信号をさらに圧縮することが可能となる。即ち、例えば図８に示すように、時刻ｔ１，ｔ２（但し、例えばｔ１＜ｔ２で、ｔ２−ｔ１は、フレーム周期に等しい値であるとする）において、フレーム画像ＰＣ１，ＰＣ２がそれぞれ発生しているとき、例えばフレーム画像ＰＣ１に対するＰＣ２の差を演算して、差分画像ＰＣ１２を生成する。そして、この差分画像ＰＣ１２を、フレーム画像ＰＣ２の代わりに符号化する。
【０００５】
通常、時間的に隣接するフレーム画像は、それ程大きな変化を有していないため、フレーム画像ＰＣ１とＰＣ２との差（ＰＣ２−ＰＣ１）を演算すると、その結果得られる差分画像ＰＣ１２の信号は小さな値になる。そこで、フレーム画像ＰＣ２の代わりに差分画像ＰＣ１２を符号化することにより、フレーム画像ＰＣ２そのものを符号化する場合より、発生符号量（発生ビット量）を低減することができる。
【０００６】
さらに、この場合、フレーム画像ＰＣ１に対し動き補償を施してから、差分画像ＰＣ１２を算出するようにすることにより、より圧縮率を向上させることができる。
【０００７】
動き補償を行う場合には、まず、フレーム画像ＰＣ２が、例えば１６×１６ドットや８×８ドットなどの所定の大きさのブロック（いわゆるマクロブロックやブロックなど）に分割される。そして、フレーム画像ＰＣ２を構成するブロックそれぞれと、フレーム画像ＰＣ１とがパターンマッチングされ、これによりフレーム画像ＰＣ２の各ブロックにおける輝度信号のパターンに、最も類似しているフレーム画像ＰＣ１上の画像部分（画像ブロック）が検出される。
【０００８】
このようにして検出されたフレーム画像ＰＣ１上の画像部分の位置と、それに対応するフレーム画像ＰＣ２のブロックの位置とのオフセット（フレーム画像ＰＣ２のブロックの位置に対するフレーム画像ＰＣ１上の画像部分の位置）が、動きベクトルとして検出される。
【０００９】
フレーム画像ＰＣ１を、動きベクトルに対応して、動き補償したもの、即ち動きベクトルだけ移動したものは、いま符号化しようとしているブロックに注目すれば、フレーム画像ＰＣ１そのものより、フレーム画像ＰＣ２に近似するので、この動き補償されたフレーム画像ＰＣ１に対するフレーム画像ＰＣ２の差分画像ＰＣ１２は、動き補償を行わない場合に比べ、その信号値はより小さな値となり、従って発生符号量をより低減することができる。
【００１０】
ここで、以下、適宜、フレーム画像ＰＣ２のように、いま符号化の対象となっている、差分が求められる画像を参照画像、フレーム画像ＰＣ１のように、参照画像から減算される画像を探索画像という。
【００１１】
以上のようにして算出された動きベクトルと差分画像ＰＣ１２は、通常、可変長符号化されて伝送される。
【００１２】
ところで、パターンマッチングによって、参照画像（フレーム画像ＰＣ２）のブロックの輝度信号のパターンに最も類似している探索画像（フレーム画像ＰＣ１）上の画像部分を探索する場合、例えば次にようにして行われる。
【００１３】
即ち、例えば図９に示すように、いま符号化対象となっている参照画像上のブロックをＡとし、このブロックＡの位置からベクトル（ΔＸ，ΔＹ）だけずれた位置における探索画像上のブロックをＡ’とすると、まずブロックＡに属する画素値Ａ（Ｘ，Ｙ）（但し、（Ｘ，Ｙ）は、画素の座標）と、ブロックＡ’に属する画素値Ａ’（Ｘ＋ΔＸ、Ｙ＋ΔＹ）との、例えば差の絶対値和Ｅ（ΔＸ，ΔＹ）などが、次式にしたがって算出される。
【００１４】
Ｅ（ΔＸ，ΔＹ）＝Σ｜Ａ（Ｘ，Ｙ）−Ａ’（Ｘ＋ΔＸ，Ｙ＋ΔＹ）｜・・・（１）
但し、Σは、ブロックＡに含まれる座標（Ｘ，Ｙ）全体に関するサメーションを意味する。
【００１５】
ここで、Ｅ（ΔＸ，ΔＹ）は、式（１）から、ブロックＡおよびＡ’における画像どうしが近似している程小さな値になる。従って、Ｅ（ΔＸ，ΔＹ）は、いわばブロックＡとＡ’との間の誤差（残差）に対応するものであり、以下、残差（または誤差）という。なお、この残差は、上述したように、ブロックＡとＡ’との差分の絶対値和であるから、差分画像の符号量にも対応する。
【００１６】
いわゆるフルサーチやマルチステップサーチなどのサーチアルゴリズムによれば、サーチ範囲の中の全てのベクトル（ΔＸ，ΔＹ）（これは、動きベクトルの候補になるものなので、以下、候補ベクトルという）に対して、残差Ｅ（ΔＸ，ΔＹ）が算出され、その値を最小にするベクトル（ΔＸ，ΔＹ）が、上述した動きベクトルとして検出される。
【００１７】
【発明が解決しようとする課題】
ところで、画像の実際の動きに即した動きベクトルを得るためには、例えば画像上の速い（大きな）動きをする物体に対応することなどができるようにする必要があり、従ってサーチ範囲、即ち候補ベクトルが指示する範囲を広げる必要がある。
【００１８】
即ち、例えば図１０に示すように、残差Ｅ（△Ｘ，△Ｙ）が、図中等高線で示すような分布をしており、●印で示す位置が、残差Ｅ（△Ｘ，△Ｙ）を最小にする位置である場合、サーチ範囲が、濃い影を付してある狭い範囲であるときには、その範囲内で残差Ｅ（△Ｘ，△Ｙ）を最小にする、図中点線の矢印で示すベクトルＶｂが動きベクトルとして検出される。従って、この場合には、画像の実際の動きを精度良く反映した動きベクトルを得ることができない。
【００１９】
一方、サーチ範囲が、薄い影を付してある広い範囲であるときには、残差Ｅ（△Ｘ，△Ｙ）を真に最小にする、図中太い実線の矢印示すベクトルＶａが動きベクトルとして検出される。従って、この場合には、画像の実際の動きに即した動きベクトルを得ることができる。
【００２０】
このように、サーチ範囲を広げると、上述したように速い動きに対応することができるようになる。しかしながら、例えば画像上の物体の動きが比較的小さく、且つその形状が平坦であったり、あるいは画像が繰り返しのテクスチャであったりすると、単純に（真に）最小の残差Ｅ（△Ｘ，△Ｙ）を与える候補ベクトルは、非常に大きな長さを有するものとなる場合がある。従って、この場合、その大きな長さの候補ベクトルが、実際に画像にそれだけの動きがないのにも関わらず、動きベクトルとされることになる。即ち、この場合、画像の実際の動きに即していない、いわば偽りの動きベクトルが検出されることになる。
【００２１】
さらに、上述したように、動きベクトルが可変長符号化される場合には、その大きさが長いと、発生符号量が増加する。従って、この場合、長さの大きな動きベクトルの発生によって、差分画像に対する発生符号量が小さくても、動きベクトルと差分画像の発生符号量を合わせたものは、動き補償を行わず符号化した場合よりも増加することがあった。
【００２２】
このことは、画像上の物体の動きが比較的小さく、且つその形状が平坦であったり、あるいは画像が繰り返しのテクスチャであったりする場合だけでなく、画像上に動きの速い物体がある場合も同様で、サーチ範囲が広いと、上述したように、画像の実際の動きに即した動きベクトルを得ることができ、従って差分画像の発生符号量は減少するが、その動きベクトルは、物体の動きが大きいために、図１１に示すように、その長さが大きくなり、これにより全体の発生符号量が増加する課題があった。
【００２３】
即ち、図１２に示すように、残差を最小にしなくても、ある程度正確に（精度良く）画像の動きを表す、大きさの短いベクトルＶｄを動きベクトルとする方が、全体の発生符号量を低減することができるのにも関わらず、従来の手法によれば、単純に残差を最小にするベクトルＶｃが動きベクトルとされるため、全体として発生符号量が増加してしまう課題があった。
【００２４】
そこで、動きベクトルの符号化にあたって、近傍のブロックの動きベクトルとの差分などを符号化する方法があるが、この方法では、画像の動きがほぼ一様であれば、発生符号量を低減することができるが、画像の動きの変化が大きい場合には、やはり発生符号量が増加する課題があった。
【００２５】
さらに、図１３に示すように、直前のフレーム画像で発生した動きベクトルを参考にし、今回のサーチ範囲を、その動きベクトルの近傍のみにするテレスコピックサーチと呼ばれる物体の動きを予測した方式が知られている。
【００２６】
しかしながら、テレスコピックサーチにおいては、サーチ範囲が限定されるため、予測が外れた場合、つまり画像内に、突然今までと異なる動きがあった場合、図１４に示すように、その真の動きに即した動きベクトルを検出することは困難となる。それでも、テレスコピックサーチによれば、今回のサーチ範囲内で残差を最小にする候補ベクトルが動きベクトルとして検出される。従って、例えば図１４に示したように、真の動きの方向とサーチ範囲の方向が逆の場合には、検出された動きベクトルにより動き補償を行って、差分画像を生成しても、その信号値は、小さな値にならず、その結果、発生符号量が増加する課題があった。
【００２７】
一方、上述した偽りの動きベクトルが検出されることによる発生符号量の増加を防止する方法としては、大きさの短い候補ベクトルが、優先して動きベクトルとされるように、例えば図１５（ｂ）に示すような、動きが大きくなるほど、残差が大きくなるような重み付けを行う（残差に、例えば重み付け関数Ｗ（△Ｘ）を乗算する）方法が考えられる。なお、図１５においては、△Ｘ方向だけを考慮し、△Ｙ方向は無視している。
【００２８】
従来の場合には、例えばランダムノイズのある平坦なテクスチャの画像に対し、例えば図１５（ａ）に示すような残差Ｅ（△Ｘ）（但し、Ｅ（△Ｘ）は、Ｅ（△Ｘ，△Ｙ）の△Ｙ方向を無視したもの）が得られると、上述したようにその最小値を与える、原点から離れた点Ｘ０が、動きベクトルとして検出されることになるが、重み付けを行う場合によれば、残差Ｅ（△Ｘ）が、図１５（ｂ）に示した重み付け関数Ｗ（△Ｘ）と乗算され、その結果得られる、図１５（ｃ）に示すＥ（△Ｘ）・Ｗ（△Ｘ）の最小値を与える、原点に近い点Ｘ１が、動きベクトルとして検出されることになる。
【００２９】
しかしながら、この方法では、画像における背景を重視した動きベクトルが検出されるようになり、画像上に、背景に対して動いている物体がある場合、やはり偽りの動きベクトルが検出される課題があった。
【００３０】
本発明は、このような状況に鑑みてなされたものであり、偽りの動きベクトルが検出されることを防止するとともに、発生符号量を低減することができるようにするものである。
【００３１】
【課題を解決するための手段】
請求項１に記載の画像符号化方法は、パターンマッチング法によって、画像信号から、符号化の対象とされる第１の画像と、第２の画像との画素の誤差を最小にする動きベクトルを検出し、動きベクトルに基づいて動き補償を行うことにより予測画像信号を求め、画像信号と予測画像信号との差分を算出し、その差分データと、動きベクトルとを可変長符号化する画像符号化方法において、誤差に対し、少なくとも、既に符号化された画像の既に検出された動きベクトルを基にした第１の重みで重み付けし、第１の画像の既に検出された動きベクトルを基にした第２の重みで重み付けするように、２以上の重み付けを行うことを特徴とする。
【００３２】
請求項２に記載の画像符号化方法は、パターンマッチング法によって、画像信号から、符号化の対象とされる第１の画像と、第２の画像との画素の誤差を最小にする動きベクトルを検出し、動きベクトルに基づいて動き補償を行うことにより予測画像信号を求め、画像信号と予測画像信号との差分を算出し、その差分データと、動きベクトルとを可変長符号化する画像符号化方法において、誤差に対し、少なくとも、検出しようとする動きベクトルにより指示される基準位置と、既に符号化された画像の既に検出された動きベクトルにより指示される位置との距離により定まる第１の重みで重み付けし、基準位置と、第１の画像の既に検出された動きベクトルにより指示される位置との距離により定まる第２の重みで重み付けするように、２以上の重み付けを行うことを特徴とする。
【００３３】
請求項３に記載の画像符号化方法は、動きベクトルが、１フレームの画像の所定のブロックごとに検出され、第２の重みが、同一フレームの画像のブロックの動きベクトルのうちの既に検出された動きベクトルに対応したものであることを特徴とする。
【００３４】
請求項４に記載の画像符号化方法は、第１の重みが、既に符号化されたフレームの画像の既に検出された動きベクトルに対応したものであることを特徴とする。
【００３５】
【作用】
請求項１に記載の画像符号化方法においては、誤差に対し、少なくとも、既に符号化された画像の既に検出された動きベクトルを基にした第１の重みで重み付けされ、第１の画像の既に検出された動きベクトルを基にした第２の重みで重み付けされるように、２以上の重み付けが行われ、その結果得られる所定の誤差を最小にする動きベクトルが検出される。従って、ほぼ正確な動きベクトルを検出することができ、かつ発生符号量を低減することができる。
【００３６】
請求項２に記載の画像符号化方法においては、誤差に対し、少なくとも、検出しようとする動きベクトルにより指示される基準位置と、既に符号化された画像の既に検出された動きベクトルにより指示される位置との距離により定まる第１の重みで重み付けされ、基準位置と、第１の画像の既に検出された動きベクトルにより指示される位置との距離により定まる第２の重みで重み付けされるように、２以上の重み付けが行われ、その結果得られる所定の誤差を最小にする動きベクトルが検出される。従って、ほぼ正確な動きベクトルを検出することができ、かつ発生符号量を低減することができる。
【００３７】
請求項３に記載の画像符号化方法においては、第２の重みが、同一フレームの画像のブロックの動きベクトルのうちの既に検出された動きベクトルに対応したものであるので、画像の背景の動きを、精度良く反映した動きベクトルを得ることができる。
【００３８】
請求項４に記載の画像符号化方法においては、第１の重みが、既に符号化されたフレームの画像の既に検出された動きベクトルに対応したものであるので、画像内の物体の動きを、精度良く反映した動きベクトルを得ることができる。
【００３９】
【実施例】
図１は、本発明の画像符号化方法を適用した画像符号化装置の一実施例の構成を示すブロック図である。この画像符号化装置には、図示せぬ信号処理回路において、例えば１６×１６などのブロック（マクロブロック）にブロック化された画像が、例えばフレーム単位で供給されるようになされている。ブロック化された画像のうち、いま符号化対象となっている画像は、参照画像として、カレントメモリ１に入力され、そこで一時記憶されるようになされている。そして、カレントメモリ１からは、参照画像のブロック（以下、適宜、参照画像ブロックという）が、画像の走査の方向と同様に、左から右、上から下の順番で読み出され、差分器３および演算器１５に供給されるようになされている。
【００４０】
サーチメモリ２には、参照画像との残差Ｅ（△Ｘ，△Ｙ）が演算されるもの（例えば、参照画像の１フレーム前の画像や１フレーム後の画像など）が、探索画像として入力されるようになされており、サーチメモリ２は、探索画像を一時記憶するようになされている。さらに、サーチメモリ２には、図示せぬベクトル発生回路がフルサーチ方式などで発生する候補ベクトル（△Ｘ，△Ｙ）が順次供給されるようになされている。即ち、サーチメモリ２には、所定の広いサーチ範囲内を順次指示していく候補ベクトル（△Ｘ，△Ｙ）が供給されるようになされている。
【００４１】
そして、サーチメモリ２からは、探索画像のうち、候補ベクトル（△Ｘ，△Ｙ）が指示する画像ブロックが読み出され、差分器３に供給されるようになされている。従って、サーチメモリ２からは、候補ベクトル（△Ｘ，△Ｙ）にしたがって、サーチ範囲内の画像ブロック（以下、適宜、探索画像ブロックという）が順次読み出され、差分器３に供給されることになる。
【００４２】
差分器３は、カレントメモリ１からの参照画像ブロックに含まれる画素と、サーチメモリ２からの探索画像ブロックに含まれる画素との差分をとり、さらに、例えばその絶対値を演算する。即ち、参照画像ブロックの座標（Ｘ，Ｙ）における画素を、Ａ（Ｘ，Ｙ）とするとともに、その参照画像ブロックから候補ベクトル（△Ｘ，△Ｙ）だけ離された探索画像ブロックの画素を、Ａ’（Ｘ＋ΔＸ，Ｙ＋ΔＹ）とすると、差分器３では、式
Ｓ（Ｘ，Ｙ）＝｜Ａ（Ｘ，Ｙ）−Ａ’（Ｘ＋ΔＸ，Ｙ＋ΔＹ）｜
にしたがって、参照画像ブロックの画素と、探索画像ブロックの画素との差分の絶対値Ｓ（Ｘ，Ｙ）が、１画素単位で算出され、累積加算器４に順次出力される。なお、差分器３では、画素間の差分の絶対値の他、例えばその差分の自乗値を算出するようにしても良い。
【００４３】
累積加算器４は、差分器３より出力される１画素単位のＳ（Ｘ，Ｙ）を、参照画像の１ブロック単位で累積加算し、これにより前述した残差Ｅ（△Ｘ，△Ｙ）を算出する。
【００４４】
従って、差分器３および累積加算器４によっては、前述した式（１）で示される演算が行われ、これによりサーチ範囲内における候補ベクトル（△Ｘ，△Ｙ）それぞれに対する残差Ｅ（△Ｘ，△Ｙ）が得られるようになされている。
【００４５】
累積加算器４は、画素間の差分の絶対値Ｓ（Ｘ，Ｙ）の、参照画像の１ブロックの累積加算値、即ち残差Ｅ（△Ｘ，△Ｙ）を算出すると、それを演算器５に順次出力する。
【００４６】
演算器５には、残差Ｅ（△Ｘ，△Ｙ）の他、重み算出器１３または１４それぞれから、過去に検出された動きベクトルに基づいて得られる重みＷ１（△Ｘ，△Ｙ）またはＷ２（△Ｘ，△Ｙ）も供給されるようになされている（詳細は、後述する）。
【００４７】
演算器５は、上述したようなパターンマッチング方法によって得られた残差Ｅ（△Ｘ，△Ｙ）に、重み算出器１３または１４それぞれから供給される重みＷ１（△Ｘ，△Ｙ）またはＷ２（△Ｘ，△Ｙ）を、例えば乗算し、これにより残差Ｅ（△Ｘ，△Ｙ）に、重みＷ１（△Ｘ，△Ｙ）およびＷ２（△Ｘ，△Ｙ）に対応する重み付けを行った残差（以下、適宜、重み付き残差という）Ｆ（△Ｘ，△Ｙ）を算出する。この重み付き残差Ｆ（△Ｘ，△Ｙ）は、最小残差検出回路（Ｍｉｎ）６に供給される。
【００４８】
最小値検出回路６は、サーチ範囲内における候補ベクトル（△Ｘ，△Ｙ）それぞれに対する重み付き残差Ｆ（△Ｘ，△Ｙ）のうちの最小のものを検出し、その最小の重み付き残差Ｆ（△Ｘ，△Ｙ）を与える候補ベクトル（△Ｘ，△Ｙ）を動きベクトル（△Ｘ，△Ｙ）として出力するようになされている。この動きベクトル（△Ｘ，△Ｙ）は、可変長符号化回路７、動き補償回路（ＭＣ）１１、および前・現フレームベクトル蓄積メモリ１２に供給されるようになされている。
【００４９】
可変長符号化回路７では、最小値検出回路６からの動きベクトルが、その直前に同じく最小値検出回路６から供給された動きベクトル（最小値検出回路６から、いま供給された動きベクトルに対応するブロックの１つ前のブロック（例えば、左横に隣接するブロック）の動きベクトル）との差分をとられ、さらに所定の可変長符号化テーブルにしたがって可変長符号化されて、マルチプレクサ（ＭＩＸ）９に供給される。従って、動きベクトルが、左隣のブロックの動きベクトルと一致している場合には、符号化効率を向上させることができる。なお、左横に隣接するブロックがない場合、即ちいま符号化しようとしているブロックが、フレームの左端のブロックである場合には、例えばそのブロックの動きベクトルがそのまま可変長符号化される。
【００５０】
一方、動き補償回路１１では、ローカルデコードメモリ１０から読み出された画像に、最小値検出回路６からの動きベクトルに対応して動き補償が施され、演算器１５に供給される。ローカルデコードメモリ１０には、サーチメモリ２に記憶されている探索画像が既に符号化され、図示せぬローカルデコーダで復号されたものが、予測原画像として供給されて記憶されるようになされている。
【００５１】
従って、動き補償回路１１からは、いま符号化対象となっている参照画像のブロックとの重み付き残差Ｆ（△Ｘ，△Ｙ）を最小にする予測原画像（探索画像）の画像部分に動き補償を施したものが、演算器１５に出力されることになる。
【００５２】
演算器１５では、カレントメモリ１から供給された参照画像ブロックと、動き補償回路１１から供給された画像ブロックとの差分が求められ、この差分画像が、可変長符号化回路８に供給される。可変長符号化回路８では、演算器１５からの差分画像が、所定の可変長符号化テーブルにしたがって可変長符号化され、マルチプレクサ９に出力される。なお、可変長符号化回路８においては、必要に応じて、差分画像を、ＤＣＴ処理などの直交変換処理し、さらにその結果得られる直交変換データを、所定の量子化ステップで量子化したものを可変長符号化するようにすることができる。
【００５３】
マルチプレクサ９では、可変長符号化回路８および９からの可変長符号化データ（上述したように、差分画像を可変長符号化したものと、動きベクトルの差分を可変長符号化したもの）、並びにその他必要な情報が多重化され、図示せぬ伝送路を介して受信側に伝送されたり、あるいは図示せぬ記録媒体（例えば、光磁気ディスクや磁気テープなど）に記録される。
【００５４】
一方、最小値検出回路６から、蓄積メモリ１２に供給された動きベクトル（△Ｘ，△Ｙ）は、そこで一時記憶される。なお、蓄積メモリ１２は、少なくとも１フレームの画像の動きベクトルを記憶することができるようになされている。
【００５５】
蓄積メモリ１２は、記憶している動きベクトルのうち、いま符号化対象となっている参照画像のフレームよりも前に符号化されたフレームの画像の動きベクトルに基づいて、いま符号化しようとしている参照画像ブロックの動きベクトルの予測値（推定値）（以下、第１の重み中心ベクトルという）Ｖ１（＝Ｖｘ，Ｖｙ）を求め、重み算出器１３に出力する。
【００５６】
ここで、第１の重み中心ベクトルＶ１としては、いわゆるテレスコピック予測されたものが用いられる（これは、参照画像ブロックにおける物体画像（背景となる画像があり、その背景画像上を動いている物体の画像）の動きを反映した動きベクトルが存在しそうな範囲の中心となる位置を指示するベクトルである）。即ち、第１の重み中心ベクトルＶ１としては、例えば図２に示すように、参照画像のフレーム（以下、適宜、現フレームという）の直前に符号化されたフレーム（以下、適宜、前フレームという）の画像（探索画像）の、参照画像ブロックと同一の位置のブロックの動きベクトルなどが用いられる（但し、これに限られるものではない）。図２においては、現フレームより、時間的に１フレーム前のフレームが、前フレームとなる場合を示している。
【００５７】
重み算出器１３には、第１の重み中心ベクトルＶ１（＝（Ｖｘ，Ｖｙ））の他、候補ベクトル（△Ｘ，△Ｙ）も供給されるようになされており、そこでは、例えば次式で与えられる第１の重み関数Ｗ１にしたがって、候補ベクトル（△Ｘ，△Ｙ）に対応する残差Ｅ（△Ｘ，△Ｙ）に付加する第１の重みＷ１（△Ｘ，△Ｙ）が算出される。
Ｗ１（△Ｘ，△Ｙ）＝Ｋ１×√（（△Ｘ−Ｖｘ）２＋（△Ｙ−Ｖｙ）２）・・・（２）
但し、Ｋ１は、所定の比例定数である。
【００５８】
なお、第１の重みＷ１（△Ｘ，△Ｙ）は、上式以外の関数によって求めるようにすることができる。また、この関数は、候補ベクトル（△Ｘ，△Ｙ）に対応する残差Ｅ（△Ｘ，△Ｙ）を引数に加えたもの（Ｗ１（△Ｘ，△Ｙ，Ｅ（△Ｘ，△Ｙ）））とするようにしても良い（但し、この場合には、図１において点線で示すように、残差Ｅ（△Ｘ，△Ｙ）を、累積加算器４から重み算出器１３に供給するようにする必要がある）。
【００５９】
即ち、第１の重みＷ１を与える関数は、例えば動きベクトルの差分または差分画像を可変長符号化する可変長符号化回路７または８がそれぞれ使用する所定の可変長符号化テーブルなどによって変えるようにすることができる。但し、この関数は、図３に示すように、候補ベクトル（△Ｘ，△Ｙ）が、第１の重み中心ベクトルＶ１に一致するときに、最小の第１の重みＷ１を与え、候補ベクトル（△Ｘ，△Ｙ）が、第１の重み中心ベクトルＶ１から離れるほど、大きな値の第１の重みＷ１を与えるような単調増加関数とする必要がある。
【００６０】
ここで、図３においては、第１の重みＷ１の分布状態を等高線で示してあるが、この等高線に付してある第１の重みＷ１の値（重み値）は、絶対的なものではなく、例えば第１の重みＷ１の最小値を０と表したときの相対値である。
【００６１】
図１に戻り、蓄積メモリ１２は、上述した第１の重み中心ベクトルＶ１の他、記憶している動きベクトルのうち、いま符号化対象となっている参照画像ブロックよりも前に符号化された参照画像ブロックの動きベクトルに基づいて、いま符号化しようとしている参照画像ブロックの動きベクトルの予測値（推定値）（以下、第２の重み中心ベクトルという）Ｖ２（＝Ｚｘ，Ｚｙ）を求め、重み算出器１４に出力する。
【００６２】
即ち、蓄積メモリ１２は、例えば図４に示すように、現フレームのいま符号化対象になっているブロックｅの近傍のブロックのうち、ブロックｅに隣接する既に符号化されたブロックａ乃至ｄ（但し、ブロックａ乃至ｄは、ブロックｅの左上、真上、右上、左横にそれぞれ隣接するものである）それぞれの動きベクトルに、方向や大きさが揃ったベクトル（即ち、可変長符号化回路７で可変長符号化される動きベクトルの差分が小さくなり、その結果可変長符号化回路７から出力される可変長符号化データの符号量（ビット量）が少なくなるようなベクトル）としての、例えば動きベクトルａ乃至ｄの平均値などを、第２の重み中心ベクトルＶ２（これは、参照画像ブロックにおける背景画像の動きを反映した動きベクトルが存在しそうな範囲の中心となる位置を指示するベクトルである）として、重み算出器１４に出力する。
【００６３】
ここで、第２の重み中心ベクトルＶ２としては、上述したようにして可変長符号化されるときに差分がとられる左隣の１つのブロックの動きベクトルだけを用いるようにしても良いが、この場合には、いま符号化対象となっているブロックにおける動きを精度良く予測することができないことがあるので、上述のように、符号化対象となっているブロックの近傍のブロックの動きベクトルを、その平均などを取るなどの方法で総合的に加味したものとする方が好ましい。
【００６４】
符号化対象となっているブロックの近傍のブロックの動きベクトルの平均値を、第２の重み中心ベクトルＶ２とした場合、この第２の重み中心ベクトルＶ２は、近傍のブロックで長さの大きい動きベクトルが発生していなければ、通常は、原点（０，０）近傍のベクトルとなる。
【００６５】
重み算出器１４には、第２の重み中心ベクトルＶ２（＝（Ｚｘ，Ｚｙ））の他、候補ベクトル（△Ｘ，△Ｙ）も供給されるようになされており、そこでは、例えば次式で与えられる第２の重み関数Ｗ２にしたがって、候補ベクトル（△Ｘ，△Ｙ）に対応する残差Ｅ（△Ｘ，△Ｙ）に付加する第２の重みＷ２（△Ｘ，△Ｙ）が算出される。
Ｗ２（△Ｘ，△Ｙ）＝Ｋ２×√（（△Ｘ−Ｚｘ）２＋（△Ｙ−Ｚｙ）２）・・・（３）
但し、Ｋ２は、所定の比例定数である。
【００６６】
なお、第２の重みＷ２（△Ｘ，△Ｙ）は、上式以外の関数によって求めるようにすることができる。また、この関数は、候補ベクトル（△Ｘ，△Ｙ）に対応する残差Ｅ（△Ｘ，△Ｙ）を引数に加えたもの（Ｗ２（△Ｘ，△Ｙ，Ｅ（△Ｘ，△Ｙ）））とするようにしても良い（但し、この場合には、図１において点線で示すように、残差Ｅ（△Ｘ，△Ｙ）を、累積加算器４から重み算出器１４に供給するようにする必要がある）。
【００６７】
即ち、第２の重みＷ２を与える関数は、上述した第１の重みＷ１を与える関数と同様に、例えば動きベクトルの差分または差分画像を可変長符号化する可変長符号化回路７または８がそれぞれ使用する所定の可変長符号化テーブルによって変えるようにすることができる。但し、この関数は、図３に対応する図５に示すように、候補ベクトル（△Ｘ，△Ｙ）が、第２の重み中心ベクトルＶ２に一致するときに、最小の第２の重みＷ２を与え、候補ベクトル（△Ｘ，△Ｙ）が、第２の重み中心ベクトルＶ２から離れるほど、大きな値の第２の重みＷ２を与えるような単調増加関数とする必要がある。
【００６８】
ここで、図５においても、図３における場合と同様に、第２の重みＷ２の分布状態を等高線で示してあるが、この等高線に付してある第２の重みＷ２の値（重み値）は、絶対的なものではなく、例えば第２の重みＷ２の最小値を０と表したときの相対値である。
【００６９】
以上のようにして、重み算出器１３または１４でそれぞれ算出された第１の重みＷ１（△Ｘ，△Ｙ）または第２の重みＷ２（△Ｘ，△Ｙ）は、演算器５に供給される。演算器５では、上述したように、残差Ｅ（△Ｘ，△Ｙ）に、第１の重みＷ１（△Ｘ，△Ｙ）およびＷ２（△Ｘ，△Ｙ）が乗算され、即ち式
Ｆ（△Ｘ，△Ｙ）＝Ｅ（△Ｘ，△Ｙ）×Ｗ１（△Ｘ，△Ｙ）×Ｗ２（△Ｘ，△Ｙ）・・・（４）
にしたがって、重み付き残差Ｆ（△Ｘ，△Ｙ）が算出され、最小値検出回路６に出力される。
【００７０】
最小値検出回路６においては、同じく上述したように、サーチ範囲内における候補ベクトル（△Ｘ，△Ｙ）それぞれに対する重み付き残差Ｆ（△Ｘ，△Ｙ）のうちの最小のものが検出され、その最小の重み付き残差Ｆ（△Ｘ，△Ｙ）を与える候補ベクトル（△Ｘ，△Ｙ）が動きベクトル（△Ｘ，△Ｙ）として出力される。
【００７１】
ここで、図６は、図３または図５にそれぞれ示した第１の重みＷ１（△Ｘ，△Ｙ）またはＷ２（△Ｘ，△Ｙ）を掛け合わせた重みを示している。図６から、第１または第２の重み中心ベクトルＶ１またはＶ２の近傍の候補ベクトル（△Ｘ，△Ｙ）に対する重み付き残差Ｆ（△Ｘ，△Ｙ）は、相対的に小さくなり、第１または第２の重み中心ベクトルＶ１またはＶ２から離れた候補ベクトル（△Ｘ，△Ｙ）に対する重み付き残差Ｆ（△Ｘ，△Ｙ）は、相対的に大きくなることがわかる。
【００７２】
上述したように、第１の重み中心ベクトルＶ１は、参照画像ブロックにおける物体画像の動きを反映した動きベクトルが存在しそうな範囲の中心となる位置を指示するものであり、また第２の重み中心ベクトルＶ２は、参照画像ブロックにおける背景画像の動きを反映した動きベクトルが存在しそうな範囲の中心となる位置（上述したように、通常は、原点付近）を指示するものであるから、式（４）にしたがって得られる重み付き残差Ｆ（△Ｘ，△Ｙ）の最小値を与える候補ベクトル（△Ｘ，△Ｙ）を動きベクトル（△Ｘ，△Ｙ）とすることにより、この動きベクトルは、大きさが短く、参照画像中の背景および物体の両方の動きを反映したものとなる。このように、動きベクトルは、画像の動きを反映したものであるから、差分画像の符号量を低減することができ、さらに動きベクトルは、大きさの短いものであるから、画像全体の符号量を低減することができる。
【００７３】
また、動きベクトルをそのまま可変長符号化した場合の発生符号量を低減することができる。
【００７４】
さらに、図７（ａ）は、第１の重みＷ１（△Ｘ，△Ｙ）またはＷ２（△Ｘ，△Ｙ）を掛け合わせた重みの、△Ｘ方向だけを考慮し、△Ｙ方向は無視したものＷ１（△Ｘ）×Ｗ２（△Ｘ）を示している。
【００７５】
これを、例えばランダムノイズのある平坦なテクスチャの画像から得られる、前述した図１５（ａ）に示した残差Ｅ（△Ｘ）に乗算することにより重み付けを行ったもの、即ち重み付き残差は、図７（ｂ）に示すようなものになる。従って、この場合、図中、Ｘ２またはＸ３で示す第１または第２の重み中心ベクトルＶ１またはＶ２が指示する位置付近が動きベクトルとして検出され易くなり、画像の実際の動きに即していない偽りの動きベクトルが検出されることを防止することができる。
【００７６】
なお、符号化の開始時においては、蓄積メモリ１２（図１）には、まだ動きベクトルが記憶されていないので、演算器５は、累積加算器４からの残差Ｅ（△Ｘ，△Ｙ）をそのまま最小値検出回路６に出力するようになされている。従って、この場合には、従来の装置と同様にして動きベクトルが検出されることになる。
【００７７】
また、本実施例では、残差Ｅ（△Ｘ，△Ｙ）に対し、２つの重みＷ１（△Ｘ，△Ｙ）およびＷ２（△Ｘ，△Ｙ）を乗算することにより重み付けを行うようにしたが、この他、例えば残差Ｅ（△Ｘ，△Ｙ）に対し、２つの重みＷ１（△Ｘ，△Ｙ）およびＷ２（△Ｘ，△Ｙ）を加算することにより重み付けを行うようにすることができる。但し、この場合、演算器５には、乗算処理ではなく、加算処理を行わせるようにする必要がある。
【００７８】
さらに、本実施例においては、残差Ｅ（△Ｘ，△Ｙ）に対し、２つの重みＷ１（△Ｘ，△Ｙ）およびＷ２（△Ｘ，△Ｙ）（あるいはＷ１（△Ｘ，△Ｙ，Ｅ（△Ｘ，△Ｙ））およびＷ２（△Ｘ，△Ｙ，Ｅ（△Ｘ，△Ｙ）））による重み付けを行うようにしたが、この他、これ以外の、過去に検出された動きベクトルに基づく重み（動きベクトルの大きさを小さくするとともに、可変長符号化による発生符号量を少なくする重み）を用いた、３以上の重み付けを行うようにすることができる。
【００７９】
即ち、例えば以下に示すような式にしたがって、重み付き残差Ｆ（△Ｘ，△Ｙ）を算出するようにすることができる。
【００８０】
0003561943.tif 000002
【００８１】
0003561943.tif 000003
【００８２】
0003561943.tif 000004
【００８３】
0003561943.tif 000005
【００８４】
また、本実施例では、フレーム単位の画像に対して処理を施すようにしたが、フィールド単位の画像に対しても同様の処理を行うようにすることができる。
【００８５】
さらに、本実施例においては、第１および第２の重みＷ１およびＷ２による重み付けの比率については言及しなかったが、可変長符号化回路７で近接ブロックの動きベクトルとの差分をとり、可変長符号化することを考えれば、第１の重みＷ１より第２の重みＷ２による重み付けの影響を強くする（Ｗ１よりＷ２のダイナミックレンジを広くする）方が、より発生符号量を低減することができる。但し、例えばパーンしている背景上を小さな物体が移動しているような画像に対しては、第２の重みＷ２より第１の重みＷ１による重み付けの影響を強くする方が好ましい。
【００８６】
また、本発明は、例えばＭＰＥＧやＪＰＥＧなどに準拠した画像符号化装置に適用することが可能である。
【００８７】
【発明の効果】
請求項１に記載の画像符号化方法によれば、誤差に対し、少なくとも、既に符号化された画像の既に検出された動きベクトルを基にした第１の重みで重み付けされ、第１の画像の既に検出された動きベクトルを基にした第２の重みで重み付けされるように、２以上の重み付けが行われ、その結果得られる所定の誤差を最小にする動きベクトルが検出されるので、発生符号量を低減することができる。
【００８８】
請求項２に記載の画像符号化方法によれば、誤差に対し、少なくとも、検出しようとする動きベクトルにより指示される基準位置と、既に符号化された画像の既に検出された動きベクトルにより指示される位置との距離により定まる第１の重みで重み付けされ、基準位置と、第１の画像の既に検出された動きベクトルにより指示される位置との距離により定まる第２の重みで重み付けされるように、２以上の重み付けが行われ、その結果得られる所定の誤差を最小にする動きベクトルが検出されるので、発生符号量を低減することができる。
【００８９】
請求項３に記載の画像符号化方法によれば、第２の重みが、同一フレームの画像のブロックの動きベクトルのうちの既に検出された動きベクトルに対応したものであるので、画像の背景の動きを、精度良く反映した動きベクトルを得ることができる。
【００９０】
請求項４に記載の画像符号化方法によれば、第１の重みが、既に符号化されたフレームの画像の既に検出された動きベクトルに対応したものであるので、画像内の物体の動きを、精度良く反映した動きベクトルを得ることができる。
【図面の簡単な説明】
【図１】本発明の画像符号化方法を適用した画像符号化装置の一実施例の構成を示すブロック図である。
【図２】蓄積メモリ１２が出力する第１の重み中心ベクトルＶ１を説明する図である。
【図３】重み算出器１３が算出する第１の重みＷ１を説明する図である。
【図４】蓄積メモリ１２が出力する第２の重み中心ベクトルＶ２を説明する図である。
【図５】重み算出器１４が算出する第２の重みＷ２を説明する図である。
【図６】図３または図５にそれぞれ示した第１または第２の重みＷ１またはＷ２を掛け合わせた重みを示す図である。
【図７】図６に示す重みと、その重みによる重み付けが行われた残差とを示す図である。
【図８】フレーム間相関を利用した画像圧縮の原理を説明する図である。
【図９】動きベクトルの検出原理を説明する図である。
【図１０】サーチ範囲が広い場合と狭い場合の動きベクトルの検出の様子を示す図である。
【図１１】可変長符号化後の発生符号量が多い動きベクトルを示す図である。
【図１２】可変長符号化後の発生符号量と、動きベクトルとの関係を説明する図である。
【図１３】テレスコピックサーチを説明する図である。
【図１４】テレスコピックサーチにおいて、画像の動きの予測が外れた場合の様子を説明する図である。
【図１５】従来の重み付け方法を説明する図である。
【符号の説明】
１  カレントメモリ
２  サーチメモリ
３  差分器
４  累積加算器
５  演算器
６  最小値検出回路
７，８  可変長符号化回路
９  マルチプレクサ
１０  ローカルデコードメモリ
１１  動き補償回路
１２  前・現フレームベクトル蓄積メモリ
１３，１４  重み算出器
１５  演算器
【図１】
0003561943.tif 000006
【図２】
0003561943.tif 000007
【図３】
0003561943.tif 000008
【図４】
0003561943.tif 000009
【図５】
0003561943.tif 000010
【図６】
0003561943.tif 000011
【図７】
0003561943.tif 000012
【図８】
0003561943.tif 000013
【図９】
0003561943.tif 000014
【図１０】
0003561943.tif 000015
【図１１】
0003561943.tif 000016
【図１２】
0003561943.tif 000017
【図１３】
0003561943.tif 000018
【図１４】
0003561943.tif 000019
【図１５】
0003561943.tif 000020