(57)【特許請求の範囲】
【請求項１】
ビデオ画像圧縮において動き推定を実行する方法であって、
コード化される画像ブロックと、フレームＮにおける前記画像ブロックの位置とを決定する段階；
フレームＮにおける前記画像ブロックの前記位置に対応する検索エリアを、フレームＮ−１において決定する段階；
所定サイズのシフトを用いて、前記のフレームＮ−１の検索エリアに含まれる複数の画像ブロックを決定する段階；
前記検索エリアに含まれる前記複数の画像ブロックの複数の画像ブロック平均値を決定する段階であって、前記画像ブロック平均値は、前記検索エリアにおいて１ピクセルのシフト、１ピクセルの半分のシフト又は他の割合のシフトを用いて得られるすべてのブロックについて決定される、段階；
前記検索エリアに含まれる前記複数の画像ブロックの前記複数の画像ブロック平均値に基づいて前記フレームＮ−１の前記検索エリアに含まれる前記複数の画像ブロックを所定の順序に配列する段階；及び
前記フレームＮ−１の前記検索エリアに含まれる前記複数の画像ブロックにおいて、前記コード化される画像ブロックを最良にマッチングさせる最良マッチングブロックを検索する段階；
を有する方法であり、
前記検索エリアに含まれる前記複数の画像ブロックを所定順序に配列する前記段階は、
連想メモリデバイスの検索エリアに含まれる複数の画像ブロックの画像ブロック平均値を記憶することにより、前記検索エリアに含まれる複数の画像ブロックをソートする段階であって、各々の特定の記憶されている画像ブロックについて、前記特定の記憶されている画像ブロックの画像ブロック平均値は前記連想メモリデバイスのディレクトリメモリに記憶され、前記特定の記憶されている画像ブロックの位置データは、前記連想メモリデバイスの出力メモリの対応するメモリ位置に記憶され、前記複数の画像ブロック平均値は昇順に又は降順に記憶される、段階と、
前記連想メモリデバイスを検索するキーワードとしてコード化される前記画像ブロックの前記平均値を用いる段階と、
を有し；
最良マッチングブロックを検索する前記段階は、
前記コード化される画像ブロックの前記画像ブロック平均値と、前記検索エリアにおける前記複数の画像ブロックの複数の画像ブロック平均値との間の平均誤差に基づいて、限定された複数の画像ブロックの群を決定する段階と、
部分距離除去方法を用いて前記限定された複数の画像ブロックの群に含まれる複数の画像ブロックにおいて、最良マッチングブロックを検索する段階と、
を有する；
ことを特徴とする方法。
【請求項２】
前記コード化される画像ブロックの周囲で一定形状の所定エリアを検索エリアとして用いる段階；
をさらに有することを特徴とする請求項１に記載の方法。
【請求項３】
前記決定された検索エリアは、フレームＮ−１とフレームＮとの間で動く１つ又はそれ以上のオブジェクトを有するエリアに対応することを特徴とする請求項１に記載の方法。
【請求項４】
ビデオ画像圧縮において動き推定を実行するシステムであって、
検索エリアの複数の画像ブロックの複数の画像ブロック平均値を決定する手段であって、前記検索エリアは、コード化される複数の画像ブロックの群を有する画像フレームに先行する画像フレームにおける所定のシフトを用いて、符号化される複数の画像ブロックの群の位置に対応し、前記画像ブロック平均値は、前記検索エリアにおいて１ピクセルのシフト、１ピクセルの半分のシフト又は他の割合のシフトを用いて得られるすべてのブロックについて決定される、手段；
前記検索エリアの前記複数の画像ブロックの前記複数の画像ブロック平均値に基づいて、前記検索エリアの前記複数の画像ブロックをソートする手段；及び
前記検索エリアの前記複数の画像ブロックにおいて符号化される前記の複数の画像ブロックの群の特定の画像ブロックを検索する手段；
を有するシステムであり、
前記ソートする手段は連想メモリデバイスを有し、昇順に又は降順に前記連想メモリデバイスのディレクトリメモリの複数のメモリ位置に前記検索エリアの前記複数の画像ブロックの前記複数の画像ブロック平均値を記憶することにより、そして前記画像ブロック平均値が前記ディレクトリメモリの前記メモリ位置に記憶されている値に一致する前記複数のブロックの位置データを、前記ディレクトリメモリの各々のメモリ位置に対応する出力メモリの複数のメモリ位置に記憶することにより、前記検索エリアの前記複数の画像ブロックが記憶され、コード化される前記の複数の画像ブロックの群の前記特定の画像ブロックの前記画像ブロック平均値が前記連想メモリデバイスを検索するキーワードとして用いられ；
前記検索する手段は、コード化される前記複数の画像ブロックの前記画像ブロック平均値と前記検索エリアにおける前記複数の画像ブロックの前記画像ブロック平均値との間の平均誤差に基づいて、コード化される前記複数の画像ブロックの限定された群を決定する手段を有し；
前記検索する手段は、部分距離除去方法を用いて、前記の限定された複数の画像ブロックの群に含まれる前記複数の画像ブロックにおいて最良マッチングブロックを検索する手段を更に有する；
ことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオ画像の圧縮に関する。本発明は、特にビデオ画像を圧縮する際の動画評価を行う方法及びシステムに関する。
【０００２】
【従来の技術】
ビデオ画像の圧縮に関する方法は、以前からいくつか知られている。これらの方法の中で、最も時間と演算処理能力を必要とする部分は、動画評価である。動画評価の原理は、次の通りである。ビデオ画像は、時系列上に連続するビデオフレームで成り立っている。それぞれのビデオフレームは、一定サイズの画像ブロックに分割されている。画像ブロックは、一般的に８×８ピクセルの大きさである。例えばビデオフレームを伝送するためのエンコードを行う時点で、ビデオフレームは画像ブロック毎に処理される。各ビデオフレームの各画像ブロックをそのまま伝送する代わりに、現在処理中の画像ブロックエリア内で、すなわち検索エリア内で、現在の画像ブロックと全く同じか、あるいはほぼ同じ画像ブロックを前のフレームから検索する。このような画像ブロックが見つかった場合、その画像ブロックの全ての情報を伝送する代わりに、動きベクトルのみを、すなわち元の画像ブロックと見つかった画像ブロックとの位置関係を示すベクトルのみを伝送するようにしている。このようにすることによって、送信する画像情報の量が大幅に少なくなる。
【０００３】
ビデオ圧縮に用いる別の方法には、ベクトル・クワンティゼーション（ベクトル量子化）がある。この方法と動画評価の異なるところは、コード化しようとする画像ブロックを前のビデオフレームから検索する代わりに、予め規定されたコードブックから、コード化しようとする画像ブロック用のマッチングタグを検索する。コードブックは一般に、最もよく現れる画像ブロック群である。当然のことながら、エンコーダおよびデコーダでは同じコードブックを用いる。
【０００４】
【発明が解決しようとする課題】
動画評価およびベクトル量子化によって、伝送する情報量を大幅に削減することができるが、いくつか問題がある。一般的に、特に検索段階に時間がかかることである。検索の作業量は、検索エリアのページ量の面積に比例して増加する。このため、検索時間を短縮するための各種の方法を開発する努力が行われている。以下の刊行物では、検索アルゴリズムを加速することによって、あるいは他の方法を用いることによって、動画評価あるいはベクトル量子化の高速化を図るためのいくつかの方法例を開示している：S. T. Valli, "Very Low Bitrate Coding Using Hierarchical Classified VQ and Cluster Based Segmentation of Motion Information", paper No. 7.3, VLBV94, University of Essex, UK, April 1994; H. Li, A. Lundmark, R. Forchheimer, "Image Sequence Coding at Very Low Bitrates: A Review", IEEE Transaction on Image Processing, Vol.3, No. 5, September 1994; H. Abut, ed., "Vector Quantization", IEEE Press, 1990; G. Poggi, "Fast Algorithm for Full-Search VQ Encoding", Electronic Letters, Vol. 29, No.123, June 1993; C.-M. Huang, Q. Bi, G. S. Stiles, R. W. Harris, "Fast Full Search Equivalent Encoding Algorithms for Image Compression Using Vector Quantization", IEEE Transactions on Image Processing, Vol.1, No.3, July 1992.
【０００５】
現在の方法では、検索エリアは一般的に、コード化する画像ブロックのオリジンから最高±１５ピクセル以内である。この場合でさえ、検索作業が非常に複雑であるため、プログラムだけでの処理は不可能に近い。そのため、例えば特殊な信号処理回路を使うといった高価なデバイスに頼る解決策が必要となる。しかしながら、伝送速度の低い、あるいは画像周波数の低い各種のアプリケーションでは、動きが±１５ピクセル以上になることは普通である。このため、現在よりもより高速の手法が必要となってくる。
【０００６】
本発明は、以上で述べた不備な点を取り除く、新しい方法及びシステムを提供することを目的とする。特に、動画評価を一般のＰＣ環境で行うことを可能にすると共に、従来より能率的な方法及びシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明のビデオ画像の圧縮時の動画評価の方法は、次の段階を含む。ビデオフレームＮにおいて、コード化したい画像ブロックを規定する。このビデオフレームＮの直前のフレームＮ−１において、その画像ブロックの位置に対応する動きベクトルを検索するためのエリアを規定する。ここで規定した検索エリア内にある画像ブロックのそれぞれの画像ブロック平均値を、所定量のシフトを用いて計算する。次いで、その画像ブロック平均値をもとにして、前記検索エリア内にある画像ブロックを所定の順序に配列していく。この配列を、各種のソーティングアルゴリズム(sorting algorithms)を用いて行うことは、すでに公知である。しかし、この種のアルゴリズムの欠点はその遅さにある。次いで、当該検索エリア内の画像ブロックの中から、コード化する画像ブロックに最も近似する画像ブロックを検出する。最も近い対応は、例えば最小誤差を用いて規定できる。すなわち、画像ブロック間の誤差の最も小さいブロック同士が、最も近似したものとなる。
【０００８】
ここで、画像ブロック平均値の規定とは、好適には、すでに前の画像ブロックをコード化した時に計算し保存しておいた画像ブロック平均値を、画像ブロック平均値メモリから取り出すことを意味する。これが可能であるのは、コード化する画像ブロックのために規定した検索エリアは、前にコード化した画像ブロックの検索エリアと部分的に同じであり、そこでは画像ブロック平均値の規定とその保存がすでに行われているからである。しかしながら、前の画像ブロックをコード化するときに動画評価が行われていなかったり、画像ブロック平均値が前記メモリ内に見つけられない場合は、画像ブロック平均値を計算して当該メモリに保存する。
【０００９】
上述した有効な方法では、ビデオフレームＮの画像ブロックをコード化すると共に、ビデオフレームＮ−１の画像ブロック平均値を計算して保存していく。あるいは、画像ブロック平均値を、画像ブロックのコード化を行う前に、一回ずつ計算して保存することもできる。しかし、これは一般的には得策ではない。画像ブロック平均値の計算を必要とする動画評価は、各画像ブロックをコード化するときに常に行うとは限らないからである。
【００１０】
本発明では、連想メモリデバイスのディレクトリメモリ（タグメモリ）の記憶箇所に画像ブロックの画像ブロック平均値を大きい順かあるいは小さい順に保存することによって、またディレクトリメモリの各記憶箇所に対応するアウトプットメモリの記憶箇所に、ディレクトリメモリに保存した平均値に対応する画像ブロック平均値を有する画像ブロックの位置情報を保存することによって、検索エリア内の画像ブロックを分類配列していく。前記連想メモリデバイスのキーワードとしては、コード化する画像ブロックの画像ブロック平均値を用いる。
【００１１】
ここで、連想メモリデバイスとは、例えば通常アドレスのコード化ロジックを、特殊なディレクトリメモリで置き換えたメモリチップ等のデジタルメモリデバイスを意味する。ディレクトリメモリは、一定の記号列が保存されている記憶箇所からなる。また連想メモリデバイスは、記憶箇所に実データが一般に保存されているアウトプットメモリを含む。アウトプットメモリの各記憶箇所は、ディレクトリメモリの少なくとも一箇所以上の記憶箇所に関連付けられている。メモリには、インプットとして、例えば記号列等の一定のキーワードを与える。ディレクトリメモリのいずれかの記憶箇所で、そのキーワードに合致するマッチングタグが見つかった場合、結果として、このディレクトリメモリの記憶箇所に対応するアウトプットメモリの記憶箇所の内容を得ることになる。連想メモリデバイスとしては例えば、ＣＡＭメモリ（Content Addressable Memory, CAM)がある。連想メモリデバイスに関する詳細な説明は、例えば、Ｔ．Ｋohonen、"Self-Organization and Associative Memory", Springer-Verlag, 1984の刊行物に記載されている。
【００１２】
本発明では、処理すべき画像ブロック群を、平均的な誤差をもとに次の方程式で限定する。
ＹA＝｛yi：｜ζx−ζi｜≦Ｄmin｝、ここで、
ＹAは、処理すべき画像ブロックの限定された群を表し、
yiは、画像ブロック候補ｉであり、
ζxは、コード化する画像ブロックの画像ブロック平均値である。
ζiは、画像ブロック候補ｉの画像ブロック平均値であり、
Ｄminは、最良の画像ブロック候補のピクセル毎の誤差である。
Ｄminは、例えばＲＭＳ誤差（Root-Mean-Squared, RMS)として、あるいはＭＡＤ誤差(Mean-Absolute-Distortion, MAD)として計算できる。平均値の誤差をもとに限定することは、例えば上述した刊行物に詳述してある。C.-M. Huang, Q. Bi, G. S. Stiles, R. W. Harris, "Fast Full Search Equivalent Encoding Algorithms for Image Compression Using Vector Quantization", IEEE Transactions on Image Processing, Vol.1, No.3, July 1992 およびG. Poggi, "Fast Algorithm for Full-Search VQ Encoding", Electronic Letters, Vol.29, No.123, June 1993.
【００１３】
さらに本発明では、この限定された群に含まれる画像ブロックの中から最良の候補をＰＤＥ法（Partial Distance Elimination, PDE)を用いて検出する。ＰＤＥ法は、すでに公知の方法で、例えばベクトル量子化において検索を高速化するために用いる。コード化する画像ブロックとそれに見合う画像ブロック候補との間の誤差は、普通はピクセル毎に計算していく。誤差がそれまでの最小誤差を越える場合は、計算を中止して、次の画像ブロック候補との比較に移る。
【００１４】
本発明の一実施例では、コード化する画像ブロック周辺の検索エリアとして、予め決めておいた形状を用いることが多い。検索エリアの一般的なものとしては、例えば方形がある。
【００１５】
本発明の一実施例では、連続したビデオフレーム間で素速く動く少なくとも一つの目標をもとにエリアを規定し、このエリアを検索エリアとして用いている。
【００１６】
本発明の一実施例では、１ピクセル分ずつのシフト、または半ピクセル分ずつのシフト、あるいは他の割合のシフトにより、画像ブロックの平均値を規定している。
【００１７】
上述した本発明の利点は、従来の技術に比べて、動画評価が大幅に高速化し、そのために通常のＰＣ環境におけるプログラムでの処理が可能になり、さらに従来よりもなお能率的になることである。またプログラムだけで動画評価を行うことができ、高価なデバイスに頼る解決策を必要としないので、本発明によれば、動画評価を従来よりもより有利に行うことができる。
【００１８】
【発明の実施の形態】
以下に、本発明の実施の形態を添付の図面を参照して説明する。図１は、本発明のシステムの構成を示す図である。このシステムは、一般のＰＣデバイスにおいてプログラム可能な構成要素で形成されている。このシステムは、コード化する画像ブロックの位置に対応する検索エリア内の画像ブロックの位置エリア内で、画像ブロック平均値を規定するための規定手段１と、画像ブロック平均値をもとに画像ブロックを分類する分類手段２と、コード化する画像ブロックに最も近い画像ブロック候補を検索する検索手段３と、からなる。規定手段１は、計算した画像ブロック平均値を保存しておき、それを必要なときに取り出すための画像ブロック平均値メモリ（図示せず）を備える。実際には、画像ブロック平均値メモリは、例えばＰＣデバイスのメモリスペースの一部であってもよい。
【００１９】
本発明では、システムはＣＡＭメモリ２を備え、このＣＡＭメモリ２は、連想メモリデバイスのディレクトリメモリの記憶箇所に画像ブロックの画像ブロック平均値を大きい順かあるいは小さい順に保存することによって、またディレクトリメモリの各記憶箇所に対応するアウトプットメモリの記憶箇所に、ディレクトリメモリに保存した平均値に対応する画像ブロック平均値を有する画像ブロックの位置情報を保存することによって、画像ブロックを分類配列していく。実際には、ＣＡＭメモリ２は、ＰＣデバイスのメモリスペースの一部であってもよく、また例えば別個独立したメモリチップであってもよい。さらに本発明では、システムは手段３を備え、これによって処理する画像ブロック群を、平均的な誤差をもとにして限定し、この限定した群の中からＰＤＥ法を使って最良な画像ブロック候補を検索する。
【００２０】
ビデオフレームＮにおいて、コード化したい画像ブロックを規定する。このビデオフレームＮの前のビデオフレームＮ−１において、該当する画像ブロックの位置に対応する動きベクトルを検索するための検索エリアを規定する。画像ブロック平均値は、検索エリア内にある画像ブロックのすべての実行可能な位置内で、所定サイズ、例えば１ピクセル分ずつのシフト、または半ピクセル分ずつのシフト、あるいは他の割合のシフトを用いて得られるすべてのブロックについて規定する。その後、当該画像ブロックをそれらの画像ブロック平均値をもとに所定の順序で配列していく。そして、この検索エリア内の画像ブロックの中から、コード化する画像ブロックに最も近似する候補を検出する。最も近い対応は、例えば、最小誤差を用いて規定できる。すなわち、画像ブロック間の誤差の最も小さい画像ブロック同士が、互いに最も近似したものである。
【００２１】
実際には、画像ブロック平均値の規定は、すでに前の画像ブロックをコード化した時に計算し保存しておいた画像ブロック平均値を、画像ブロック平均値メモリから取り出すことで行われる。これが可能であるのは、コード化する画像ブロックのために規定した検索エリアが、前にコード化した画像ブロックの検索エリアと部分的に同じであり、そこでは画像ブロック平均値の規定とメモリへの保存がすでに行われているからである。しかし、前の画像ブロックをコード化するときに動画評価が行われていなかったり、または、画像ブロック平均値が上記メモリから何らかの理由で見つからない場合には、画像ブロック平均値を計算し当該メモリに保存する。
【００２２】
上述した好適な方法では、ビデオフレームＮの画像ブロックをコード化すると共に、ビデオフレームＮ−１の画像ブロック平均値を計算し保存する。さらに、画像ブロック平均値を、画像ブロックのコード化を行う前に一回ずつ計算し保存することもできる。しかし、これは一般的には得策ではない。画像ブロックをコード化する際に、画像ブロック平均値の計算を必要とする動画評価を常に行うとは限らないからである。
【００２３】
本発明では、画像ブロックの画像ブロック平均値をＣＡＭメモリ２のディレクトリメモリに大きい順かあるいは小さい順に保存することによって、画像ブロックを分類配列していく。そして、ディレクトリメモリの記憶箇所に保存した平均値に対応する画像ブロック平均値を有する画像ブロックの位置情報は、ディレクトリメモリの各記憶箇所に対応するアウトプットメモリの記憶箇所に保存される。ＣＡＭメモリ２のキーワードとしては、コード化する画像ブロックの画像ブロック平均値を用いる。検索エリアとしては、コード化する画像ブロック周辺の予め決めておいた形状を有するエリアを用いる。検索エリアの形状は、例えば方形である。代替的に、検索エリアは連続したビデオフレーム間で素速く動く少なくとも一つの目標をもとに規定したエリアであってもよい。
【００２４】
本発明は、上述した実施例に限定されるわけではなく、請求の範囲によって規定される発明の技術範囲内で、様々な変形が可能である。その変形例の一つとして、ステレオ画像（左右の画像）の相互に相応し合う画像ブロックを検索するときに、本発明を用いることができる。この動画評価と同様の方法は、例えば次の刊行物の中で述べられている。Ｉ．Dinstein et al., "On the Compression of Stereo Images: Preliminary Results", Signal Processing 17 (1989), p. 373-382.
【図面の簡単な説明】
【図１】  図１は、本発明のシステムを示すブロック図である。
【符号の説明】
１    規定手段
２    分類手段
３    検索手段
【図１】
0005033285.tif 000002