(57)【特許請求の範囲】
【請求項１】
少なくとも現在処理中のピクチャ（原画像）と現在よりも時間軸上で未来のピクチャ（原画像）と前記現在処理中のピクチャおよび前記未来のピクチャから参照されてそれぞれのピクチャの動きベクトルを生成する基準となる参照画像の画像データを格納するフレームメモリと、
前記それぞれのピクチャ内の所定の大きさの領域と前記参照画像内の所定の大きさの領域との相関度を求めることにより前記それぞれのピクチャと前記参照画像との間の動きベクトルを判定する制御手段と、
動きベクトルの情報を記憶する動きベクトル情報記憶手段とからなり、
前記制御手段は、現在処理中のピクチャの任意の領域の動きベクトルを探索する際に、このピクチャが参照する参照画像内の領域と同じ領域を参照する予定の前記未来のピクチャ内の領域が前記フレームメモリ内にある場合に、前記未来のピクチャ内の領域についての動きベクトル探索も同時に行い、前記未来のピクチャ内の領域に対して探索された動きベクトルの情報を前記動きベクトル情報記憶手段に記憶させ、現在のピクチャの前記の領域について過去に求めた動きベクトルの情報が前記動きベクトル情報記憶手段に記憶されている場合に現在処理中の領域の動きベクトルに加えて前記過去に求めた動きベクトルの情報を出力する動きベクトル探索装置。
【請求項２】
前記現在処理中のピクチャに後続して処理されるピクチャ内の任意の領域の前方動きベクトルを求める際に、過去に同じ参照画像を使って予測された前方ピクチャがあり、その前方動きベクトルが前記ベクトル情報記憶手段に記憶されていた場合にこれを読み出し、その動きベクトルが示す座標を基準として前方動きベクトル探索を行うことを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項３】
少なくとも現在処理中のピクチャ（原画像）と現在よりも時間軸上で未来のピクチャ（原画像）と前記現在処理中のピクチャおよび前記未来のピクチャから参照されてそれぞれのピクチャの動きベクトルを生成する基準となる参照画像の画像データを格納するフレームメモリと、
前記それぞれのピクチャ内の所定の大きさの領域と前記参照画像内の所定の大きさの領域との相関度を求めることにより前記それぞれのピクチャと前記参照画像との間の動きベクトルを判定する制御手段と、
動きベクトルの情報を記憶する動きベクトル情報記憶手段とからなり、
前記制御手段は、現在処理中のピクチャ内の任意の領域について時間軸上の過去の参照画像を基準に生成する前方動きベクトルおよび未来の参照画像を基準に生成する後方動きベクトルの両方が生成される、そのような両方向予測ピクチャの任意の領域の後方の動きベクトルを探索する際に、前記両方向予測ピクチャ内の領域が後方参照する参照画像内の領域と同じ領域を前方参照する予定の未来の両方向予測ピクチャ内の領域が前記フレームメモリ内にある場合に前記未来の両方向予測ピクチャ内の領域についての前方動きベクトル探索も同時に行い前記で求めた未来の両方向予測ピクチャ内の領域の前方動きベクトルの情報を前記動きベクトル情報記憶手段に記憶させ、前記で求めた後方動きベクトル情報と、前記と同様の方法により過去に既に求めて前記動きベクトル情報記憶手段に保存されている前方動きベクトルの情報とを、処理中の領域の動きベクトルの情報として出力する動きベクトル探索装置。
【請求項４】
前記制御手段は、過去に同じ参照画像を使って予測を行ったピクチャがあり、その前方動きベクトルの情報が前記動きベクトル情報記憶手段に記憶されている場合にこれを読み出し、動きベクトルが示す座標を基準として前方予測ピクチャの前方動きベクトル探索を行う請求項３に記載の動きベクトル探索装置。
【請求項５】
請求項３に基づいて出力された前方動きベクトルと後方動きベクトルとを入力し、前記動きベクトルを用いてローカルデコード画像から前方参照画像、後方参照画像を構築する手段と、
前記の各参照画像のうち原画像に最も近似しているものを予測画像として選別する手段と前記予測画像と原画像の差分情報を量子化・逆量子化する手段と前記逆量子化データを予測画像と加算してローカルデコード画像情報として保存する手段とからなり、
選別された前記予測画像と原画像の差分を符号化する動画像符号化装置。
【請求項６】
参照画像と原画像の画素の差分絶対値和が少ないものを予測画像として選別することを特徴とする請求項５に記載の動画像符号化装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明はデジタル画像の予測符号化における動きベクトル探索に関するものである。
【０００２】
【従来の技術】
動画像情報のデータ量を圧縮する方法のうち、動画像の時間軸方向の冗長性を利用して情報を削減する方法としてフレーム間予測符号化が挙げられる。デジタル動画像符号化の国際標準化方式であるＭＰＥＧ−１／２では、前方予測と両方向予測の両方を利用することができる。
（前方予測）
図１に示すように、過去のフレームと現在のフレームの間の動きを前方動きベクトルとして検出し、過去のフレームを参照して現在のフレームを生成するものである（図１）。この動きベクトルの探索範囲としては、だとえば１６×１６画素のマクロブロックを最小単位とする。この領域の検出に際しては、前方参照フレームの中で予測を行うフレームとの間で相関が一番大きい領域との空間位置の差分を動きベクトルとして検出する。
（両方向予測）
図２に示すように、両方向予測は過去のフレームと未来のフレームの両方または片方のフレームを参照して現在のフレームを生成するものである。
【０００３】
これらの予測方式は、複数の画素からなる領域毎に動きを求め、画素データの代わりに各領域の動きをベクトル情報として符号化するため情報量は大幅に削減できる。動きベクトルを使って構成した画像（予測画像）と、原画像の間に差がある場合は、その差分の情報をベクトル情報とともに符号化する。つまり、この予測画像と原画像の差分を少ない場合ほど情報量を削減することができる。動きベクトル探索範囲が同じなら、前方予測より両方向予測の方がより予測対象となる画像に近い参照画像を利用できる可能性が高くなるため、一般的には両方向予測を用いた方が予測効率が高くなる。以降では、前後の画面情報なしに生成可能なフレームをＩピクチャ(Intra符号化画像)、過去の予測を用いていないフレームおよび前方予測フレームから前方予測のみを用いて符号化するフレームをＰピクチャ(Predictive符号化画像)、過去／未来予測を用いていないフレームまたは前方予測フレームから前方／後方の両方向予測を用いて符号化するフレームをＢピクチャ(Bidirectionally predictive符号化画像)と呼ぶ。
【０００４】
一般的に動きベクトル探索は、原画像を符号化する単位で複数領域に分割し、この領域を１画素づつ水平・垂直方向に平行移動させながら参照画像と比較し、もっとも相関の高い位置を求めることで実現する。相関度を求めるために画像を平行移動させる範囲は相関度を計算するプロセッサおよび参照画像を格納するフレームメモリとの間のデータ転送性能により制限を受ける。図７、図９に従来のベクトル探索方法を用いた符号化装置の構成およびフローチャートを示す。また従来の動きベクトル探索と符号化の順序の例を図３に示す。
【０００５】
図７において、通常フレームメモリ７１は、画像入力に使用される領域７１ａと、符号化対象画像を格納する領域７１ｂと、前方参照画像を格納する領域７１ｃと、後方参照画像７１ｄを格納する領域とに分けて使用される。動きベクトル探索は相関度計算部７２によって行われる。この相関度計算部７２では符号化対象画像の符号化領域情報が入力されると、前方参照画像と後方参照画像に対して領域指定を行い、これらの参照画像より参照領域の画像データが入力される。
【０００６】
ここで、Ｐピクチャの符号化を行う場合には、相関度計算部７２に入力されるデータは、原画像の符号化対象となる領域の画素データ（７１ｂ）と前方参照画像の参照範囲の画素データ（７１ｃ）のみである。また、Ｂピクチャの符号化を行う際は参照画像が前方・後方の両方の参照範囲内の画素データ（７１ｃ，７１ｄ）となる。
【０００７】
そして相関度計算部７２からはＰピクチャ符号化の場合には前方動きベクトルが、Ｂピクチャ符号化のときには前方・後方動きベクトルが符号化部７３に出力される。符号化部７３では、これらのベクトル情報に基づいてローカルデコード画像用フレームメモリ７４を参照して参照画像を生成し、フレーム間予測符号化を行う。符号化した画像は同時に復号を行い、以降の画像の参照画として使用するためにローカルデコード画像用フレームメモリ７４に記録する。
【０００８】
図９は、図７の符号化装置の処理フローを示している。まず、ピクチャタイプ、たとえばＰピクチャ符号化か、Ｂピクチャ符号化かが決定されると（９０１）、フレームメモリ７１に必要な画像データが入力されるまで待機状態となる（９０２）。画像データが入力されると、符号化対象領域の画像データの切り出しが行われ（９０３）、当該画像データの種類（Ｉピクチャか、Ｐピクチャか、Ｂピクチャ）によって処理が分かれる（９０４，９０５）。すなわち、Ｉピクチャの場合にはそのまま符号化ステップ（９０９）に移行し、Ｐピクチャの場合には直前のＩまたはＰピクチャを参照フレームとして動きベクトル探索を行った後（９０８）、符号化される（９０９）。さらにＢピクチャの場合には、直前のＩまたはＰピクチャを前方参照フレームとして動きベクトル探索を行い（９０６）、さらに直後のＩまたはＰピクチャを後方参照フレームとして動きベクトル探索を行った後（９０７）、符号化処理を行う（９０９）。
【０００９】
以上に述べた一連の処理を１ピクチャ毎に繰り返す（９１０）。
図３は、前方向予測を適用するフレームの間に両方向予測を適用するフレームを１枚設けた場合を仮定したシーケンス図である。
【００１０】
この図では５面のフレームメモリを用いて符号化を行っており、一般的な映像信号の仕様により各フレームが入力される間隔は一定であり、各フレームを符号化する間隔も一定である。したがってたとえば符号化における時間Iと時間IIは等しい。
【００１１】
両方向の予測を行うためには未来のフレームを先に符号化する必要があるため、画像データの入力順序と符号化の順序は異なる。この処理順序の並べ替えのためにフレームメモリが５面分必要となっている。
【００１２】
この図に示すように、従来技術では前方／両方向予測に関わらず動きベクトル探索は符号化の直前に行っていた。時間Iの間にＰ１の動きベクトル探索（Ｐ１ｆ）と符号化を行い、時間IIの間にＢ２の両方向の動きベクトル探索（Ｂ２ｆ，Ｂ２ｂ）と符号化を行うのが一般的だった。
【００１３】
【発明が解決しようとする課題】
画像情報を扱う場合には大量なデータを処理するため、安価なＤＲＡＭを用いて複数のフレームメモリを構成することが一般的である。この場合、複数のフレームメモリで１つのデータバスを共用することになる。また動きベクトル探索モジュールの製造コストを削減するためには、フレームメモリ用のデータ入出力端子数を少なくする必要がある。しかし複数のフレームメモリで入出力端子を共用する場合、アクセスの競合によりフレームメモリアクセスの自由度が制限されるため、あまり端子数を削減しすぎてしまうと転送できるデータ量を確保できない。
【００１４】
またメモリデバイスのデータ書き込み・読み出し速度の限界により、時間当たり転送可能なデータ量は制限を受ける。
一方動きベクトル探索を確実に行うためには、参照画像のある程度広い領域に対してベクトル探索を行う必要がある。特にＢピクチャの動きベクトル探索では、前方向と後方向の参照画像を必要とするため、画像の相関度を求めるプロセッサに対して前方向予測のみのピクチャに比べて２倍の参照画像データが必要になり、これを読み出すために参照画像データを格納しているフレームメモリへの多量のアクセスが必要だった。
【００１５】
図３から明かなように従来技術では動きベクトル探索を符号化の直前に行うため、一定時間内で動きベクトル探索と符号化の両方を行う必要がある。この場合動きベクトル探索に費やせる時間が限られるため、参照画像上でベクトル探索範囲を広くとると必要なデータを転送するだけのフレームメモリアクセスができなくなり、十分な動きベクトル探索範囲を確保することが困難になっていた。
【００１６】
またＢピクチャを多用した場合は、必然的にＰピクチャの参照フレームからの距離が遠くなるため、動きベクトル探索範囲をより広くとる必要がでてくる。しかしこの場合にも同様にフレームメモリアクセスが増加するため、十分な動きベクトル探索範囲を確保できない。
【００１７】
【課題を解決するための手段】
本発明は前述の課題に鑑みてなされたものであり、以下の解決手段を提供するものである。
【００１８】
すはわち、本発明の第１の解決手段は少なくとも複数面で構成され原画像、参照画像等の画像データを格納するフレームメモリを用意し、外部から与えられる予測方式情報に基づいて前記フレームメモリを制御するとともに原画像と参照画像との相関度を求めることにより画像間の動きベクトルを判定する制御手段と、動きベクトル情報を記憶する動きベクトル情報記憶手段とで構成した。
【００１９】
これを原理図で示したものが図１５である。
本発明の制御手段は外部から予測方式情報が入力されるフレームメモリ制御部１５０２と相関度計算部１５０３とで構成されている。
【００２０】
フレームメモリ１５０１は、画像入力に用いられる領域（１５０１ａ）、動きベクトル探索対象画像が格納される領域（１５０１ｂ）、未来の動きベクトル探索対象画像が格納される領域（１５０１ｃ）および共通に参照する画像が格納される領域（１５０１ｄ）に区画されフレームメモリ制御部１５０２よりバンク（アドレス）が指定されて読み出されるようになっている。
【００２１】
相関度計算部は探索対象領域の画像ブロックデータがフレームメモリ１５０１の各領域より入力されて参照画ブロックとの相関度が計算され動きベクトルが計算されるようになっている。動きベクトル情報格納用メモリ１５０４には相関度計算部１５０３で算出された動きベクトルが一時的に格納される。１５０５は多重化部である。
【００２２】
前記フレームメモリ制御部１５０２および相関度計算部１５０３は、指定されたピクチャの任意の領域の動きベクトル（１５０１ｂ）を探索する際に、このピクチャが参照する参照画像内の領域（１５０１ｄ）と同じ領域を参照する予定の未処理のピクチャ内の領域（１５０１ｃ）がフレームメモリ内にある場合に、この領域についての動きベクトル探索も同時に行い、前記で求めた動きベクトル情報のうち、未来のピクチャ（１５０１ｃ）に対する前記の領域のベクトル情報を前記ベクトル情報記憶手段（動きベクトル情報格納用メモリ１５０４）に記憶させ、現在のピクチャの前記の領域について過去に求めたベクトル情報が前記ベクトル情報記憶手段（動きベクトル情報格納用メモリ１５０４）にある場合に前記で求めた動きベクトル情報に加えて現在処理中の領域の動きベクトルを出力する本発明の第２の解決手段は、指定されたピクチャ内の任意の領域の前方動きベクトルを求める際に、過去に同じ参照画像を使って予測を行ったピクチャがあり、その前方向動きベクトルが前記ベクトル情報記憶手段に記憶されていた場合にこれを読み出し、その動きベクトルが示す座標を基準として前方動きベクトル探索を行うものである。
【００２３】
この原理を示したものが図１６である。
この解決手段における制御手段もフレームメモリ制御部１５０２と相関度計算部１５０３とで構成されている。フレームメモリ制御部１５０２は、予測方式管理部１６０２から予測方式情報を与えられるようになっている。
【００２４】
フレームメモリ１６０１は、画像入力に用いられる領域（１６０１ａ）、前方動きベクトル探索対象画像が格納される領域（１６０１ｂ）、および参照する画像が格納される領域（１６０１ｃ）に区画されフレームメモリ制御部１５０２よりバンク（アドレス）が指定されて読み出されるようになっている。
【００２５】
相関度計算部１５０３は探索対象領域の画像ブロックデータがフレームメモリ１６０１の各領域より入力されて参照画ブロックとの相関度が計算され動きベクトルが計算されるようになっている。動きベクトル情報格納用メモリ１５０４には相関度計算部１５０３で算出された動きベクトルが一時的に格納される。１５０５は多重化部である。
【００２６】
同図において、現在処理中のピクチャ内の任意の領域（１６０１ｂ）の前方動きベクトルを求めるときに、フレームメモリ制御部１５０２が過去に同じ参照画像を使って予測を行ったピクチャがあることを検出し、さらにその前方向動きベクトルが動きベクトル情報格納用メモリ１５０４に記憶されていた場合にこれを読み出し、その動きベクトルが示す座標を基準として前方動きベクトル探索を行う。
【００２７】
本発明の第３の解決手段は、少なくとも複数面で構成され原画像、参照画像等の画像データを格納するフレームメモリと、外部から与えられる予測方式情報に基づいて前記フレームメモリを制御し、原画像と参照画像との相関度を求めることにより画像間の動きベクトルを判定する制御手段と、動きベクトル情報を記憶する動きベクトル情報記憶手段とで構成した。
【００２８】
この原理を示したものが図１７である。
本解決手段の制御手段は外部から予測方式情報が入力されるフレームメモリ制御部１５０２と相関度計算部１５０３とで構成されている。
【００２９】
フレームメモリ１５０１は、画像入力に用いられる領域（１７０１ａ）、両方向動きベクトル探索対象画像が格納される領域（１７０１ｂ）、未来の動きベクトル探索対象画像が格納される領域（１７０１ｃ）および共通に参照する画像が格納される領域（１７０１ｄ）に区画されフレームメモリ制御部１５０２よりバンク（アドレス）が指定されて読み出されるようになっている。
【００３０】
相関度計算部１５０３は探索対象領域の画像ブロックデータがフレームメモリ１５０１の各領域より入力されて参照画ブロックとの相関度が計算され動きベクトルが計算されるようになっている。動きベクトル情報格納用メモリ１５０４には相関度計算部１５０３で算出された動きベクトルが一時的に格納される。１５０５は多重化部である。
【００３１】
同図において、フレームメモリ制御部１５０２および相関度計算部１５０３は、現在処理中の両方向予測ピクチャの任意の領域（１７０１ｂ）の後方側の動きベクトルを探索する際に、前記両方向予測ピクチャ内の領域が後方参照する参照画像内の領域と同じ領域を前方参照する予定の未処理の両方向予測ピクチャ内の領域（１７０１ｃ）が前記フレームメモリ内にある場合にこの領域についての前方動きベクトル探索も同時に行い、前記で求めた未来の領域の前方動きベクトル情報を動きベクトル情報格納用メモリ１５０４に記憶させ、前記で求めた後方動きベクトル情報と、前記と同様の方法により過去に既に求めて前記動きベクトル情報格納用メモリ１０５４に保存されている前方動きベクトル情報とを、指定された領域の動きベクトル情報として多重化部１５０５を通じて出力する。
【００３２】
本発明の第４の解決手段は、過去に同じ参照画像を使って動きベクトル探索を行ったピクチャがあり、その前方向動きベクトルが前記動きベクトル情報記憶手段に記憶されている場合にこれを読み出し、動きベクトルが示す座標を基準として前方向予測ピクチャの前方動きベクトル探索を行うものである。
【００３３】
この原理図は前述の第２の解決手段で説明した図１６と同様である。
図１６において、フレームメモリ制御部１５０２および相関度計算部１５０３は、前方動きベクトル探索対象画像（１６０１ｂ）に基づいて前方動きベクトルの探索を行う際に、過去に同じ参照画像を使って予測を行ったピクチャがあり、その前方向動きベクトルが前記動きベクトル情報格納用メモリ１５０４に記憶されている場合にこれを読み出し、動きベクトルが示す座標を基準として前方向予測ピクチャの前方動きベクトル探索を行うものである。
【００３４】
本発明の第５の解決手段は、動画像符号化装置に関するものであり、前記第３の解決手段に基づいて出力された前方動きベクトルと後方動きベクトルとを入力し、前記動きベクトルを用いてローカルデコード画像から前方参照画像、後方参照画像を構築する手段と、前記の各参照画像のうち原画像に最も近似しているものを予測画像として選別する手段と、前記予測画像と原画像の差分情報を量子化・逆量子化する手段と、前記逆量子化データをローカルデコード画像情報として保存する手段とで構成した。
【００３５】
この原理図を示したのが図１８である。
前述の第１〜第４の解決手段で示した動きベクトル探索装置からの前方動きベクトルと後方動きベクトルは、フレームメモリ１８０１からそれぞれの参照画像用バッファ１８０２，１８０３に参照画像を読み出す。この参照画像バッファ１８０２，１８０３から参照画像判定部に読み出された参照画像データは、選択的に符号化対象画像データと減算処理されてその差分が量子化部１８０５で量子化される。量子化されたデータは逆量子化部１８０６で逆量子化された後に前記参照画像データと加算されて復元画像データとしてフレームメモリに格納される。
【００３６】
本発明の第６の解決手段は、参照画像と原画像の画素の差分絶対値和が少ないものを予測画像として選別するものである。
同じく原理図である図１８を用いて説明すると、参照画像データと符号化対象画像（原画像）との差分の累積値を計算しておき、参照画像と原画像との画素の差分絶対値和がすくないものだけを量子化部１８０５に出力するようにしてもよい。このとき、たとえば差分演算と量子化部１８０５との間に複数の差分累積値計算手段と、これらの比較を行う比較手段とを設けてもよい。
【００３７】
本発明によれば、動きベクトルを情報を格納する動きベクトル情報記憶手段（たとえばメモリ）を新たに設けることにより、Ｂピクチャの符号化におけるベクトル探索処理のうち前方予測に用いる前方動きベクトル探索を符号化処理と非同期に行えるようにし、フレームメモリアクセスを分散させるものである。また同時にＰピクチャにおける動きベクトル探索範囲が絞り込むための情報を得ることも可能となる。
【００３８】
【発明の実施の形態】
図８、図１０に本発明の動きベクトル探索方法を用いた符号化装置の構成およびフローチャートを示す。また動きベクトル探索と符号化処理の順序の例を図４に示す。
【００３９】
図８において、フレームメモリ８０１は、画像入力に使用される領域８０１ａと、符号化対象画像を格納する領域８０１ｂと、未来のＢピクチャ用の原画像を格納する領域８０１ｃと、共通に参照する画像が格納された領域８０１ｄとに分けて使用される。動きベクトル探索は相関度計算部８０２によって行われる。この相関度計算部８０２では符号化対象画像の符号化領域情報（８０１ｂ）が入力されると、前方参照画像と後方参照画像に対して領域指定を行い（８０１ｄ）、これらの参照画像より参照領域の画像データが入力される。
【００４０】
ここで、動きベクトル探索を行うための相関度計算部８０２への入力は、Ｐピクチャの符号化を行う際は従来方式と同じく原画像の符号化対象となる領域の画素データ（８０１ｂ）と前方参照画像の参照範囲の画素データ（８０１ｄ）のみである。
【００４１】
Ｂピクチャの符号化を行う際は、符号化対象となるピクチャ内の領域の画素データ（８０１ｂ）と、未来のＢピクチャで現在の符号化対象のピクチャが後方参照する参照画像を前方参照する領域の画素データ（８０１ｃ）、それらの２つの符号化対象領域になってそれぞれ前方・後方から共通に参照されるフレームの参照範囲内の画素データ（８０１ｄ）の３種類が入力となる。このとき相関度計算部８０２においては図５のように、１つの参照画像について２つの原画像を同時に平行移動させることにより、２つの画像の相関度計算を一度に求めることができる。
【００４２】
図８で説明した符号化処理のフローを図１０を用いてさらに詳しく説明する。
まず、ピクチャタイプ、たとえばＰピクチャ符号化か、Ｂピクチャ符号化かが決定されると（１００１）、フレームメモリ７１に必要な画像データが入力されるまで待機状態となる（１００２）。画像データが入力されると、符号化対象領域の画像データの切り出しが行われ（１００３）、当該画像データの種類（Ｉピクチャか、Ｐピクチャか、Ｂピクチャ）によって処理が分かれる（１００４，１００５）。すなわち、Ｉピクチャの場合にはそのまま符号化ステップ（１００９）に移行し、Ｐピクチャの場合には直前のＩまたはＰピクチャを参照フレームとして動きベクトル探索を行った後（１００８）、符号化される（１００９）。
【００４３】
さらにＢピクチャの場合には、直後のＩまたはＰピクチャを後方参照フレームとして動きベクトル探索を行うと同時に、同じフレームに対して前方参照する未来のＢピクチャの動きベクトル探索も行う（１００６）。
【００４４】
そして、前方参照フレームに対する動きベクトルは、過去に探索を完了しているものを動きベクトル情報記憶部８０５から読み出す（１００７）。
このステップ１００６および１００７の機能を符号化装置のブロック構成で示したものが図１１である。同図において、直後のＩまたはＰピクチャを後方参照フレームとしてフレームメモリ（１１０１ｃ）から読み出して動きベクトル探索を行うと同時に、このフレームメモリ（１１０１ｃ）に対して前方参照する未来のＢピクチャの動きベクトル探索も行い、この結果を動きベクトル情報記憶部８０５に記憶しておく、そして次のステップ１００７において、前方参照フレームに対する動きベクトルは既に探索を完了している直前のＢピクチャの前方動きベクトルを動きベクトル情報記憶部８０５から読み出す。
【００４５】
そして以上に述べた一連の処理を１ピクチャ毎に繰り返す（９１０）。
このように本発明で提案する方式ではＢピクチャの前方動きベクトル探索を図４のように原画像入力直後から開始する。たとえばＢ３の前方向の動きベクトル探索（図ではＢ３ｆと表現）をＢ３の入力終了直後から開始する。ここでＢ３の前方予測とＢ２の後方予測（図ではＢ２ｂと表現）に用いる参照画像は同じＰ１なので、この２つのフレームの動きベクトル探索を一度に処理することで参照画像転送のためのフレームメモリのリードアクセスを一度で済ませることができる。
【００４６】
その結果、従来方式では同じ参照画像データを個別に転送していたのに比べてフレームメモリへのアクセスを半減できる。また図３の従来例に比べて参照フレームを保存する期間が短くできるので、フレームメモリが１面分だけ不要になる。
【００４７】
また従来方法ではＰ２の前方向動きベクトル探索はＰ１の画素と直接比較を行う以外に方法がなく、Ｂフレームを多用した場合、探索の精度を確保するためにはＰフレームの動きベクトル探索範囲を広くとるしか方法がなかった。
【００４８】
しかし本発明によれば、Ｐ２の動きベクトル探索を開始する時点で既にＢ３ｆが終了しており、この結果を参考にして動きベクトル探索範囲を絞り込むことが可能である。
【００４９】
さらに、前方向の動きベクトル探索を行ってから実際に符号化を行うまで時間が空くので、新たに動きベクトル保存用のメモリが必要となるが、これは同時に削減した１面分のフレームメモリよりもはるかに少ない容量で済む。たとえばＭＰＥＧ−１の場合、８ｂｉｔ、１６×１６（２５６）画素のブロック領域１つにつき１本のベクトルを必要とし、動きベクトルの範囲を水平・垂直成分とも±１２８画素以内と仮定すると、削減できる参照画素データの量が１ブロックあたり２５６ｂｙｔｅであるのに対し、新たに保存すべきベクトルの情報量は２ｂｙｔｅでしかない。
【００５０】
以下にさらに詳しい実施例で説明する。
【００５１】
【実施例１】
図１２に本発明を適用した動きベクトル探索装置の例を示す。また図１３に本発明を適用した動きベクトル探索装置が出力する動きベクトル情報を使って画像を符号化する装置の例を示す。
【００５２】
図１２において、１２０１は制御部であり、動きベクトル探索の主制御を行う。１２０２はセレクタであり、入力される画像データを制御部１２０１からのバンク指定により切り換える機能を有している。フレームメモリ１２０４はアドレス発生部１２０３を通じて制御部１２０１からアクセスされ書き込みおよび読み出しが行われる。１２０５は読み出し側のセレクタであり、フレームメモリ１２０４から読み出された画像データを原画ブロックデータメモリ１２０６、参照画ブロックデータメモリ１２０７および原画ブロックデータメモリ１２０８にそれぞれ選択的に出力する機能を有している。
【００５３】
１２０９は制御部１２０１から起動される探索用ベクトル発生部であり、ここで発生されたベクトル値がアドレス発生部１２１０で決められたアドレスに従って参照画ブロックデータメモリ１２０７に格納されるようになっている。
【００５４】
相関度計算部１２１１および１２１２は、各画像データより動きベクトルを計算してフリップフロップＦＦ（１２１３および１２１４）を通じて符号化部に出力するようになっている。
【００５５】
また、１２１５は動きベクトル一時保存用メモリであり、Ｂピクチャ前方動きベクトルを一時格納する。
この構成図を用いた画像処理を説明する。
【００５６】
まずＰピクチャ時の処理を説明するがこの例ではＰピクチャについては従来方式と同じ探索を行うものとする。まず制御部１２０１の制御により、原画ブロックデータメモリ１２０６に対して符号化する領域の画素データがフレームメモリ１２０４よりセレクタ１２０５を経由して転送される。それに応じて前方参照対象となるフレームの画素データが同じくフレームメモリ１２０４よりセレクタ１２０５を経由して参照画ブロックデータメモリ１２０７に転送される。ここで参照画ブロックは原画ブロック内にある物体がもとあった位置をカバーできるよう広い領域が確保されているものとする。
【００５７】
次に制御部１２０１からの信号により、相関度計算部１２１１に対して参照画ブロックデータメモリ１２０７より原画ブロックサイズと同じ大きさの領域のデータが送られ、相関度が計算される。
【００５８】
以降は探索用ベクトル発生部１２０９から出力される仮のベクトル値から算出されるアドレス指定により、参照画ブロックデータメモリ１２０７から水平・垂直方向のどちらかに１画素づつ平行移動させたブロック画像が順次相関計算部１２１１に送られるので、その都度相関度を求める。最終的に参照画像ブロック全体について最も相関の高かった位置とのずれを動きベクトルとして符号化部に出力する。
【００５９】
次にＢピクチャ時の処理を説明する。まず原画ブロックデータメモリ１２０６に対して符号化する領域の画素データがフレームメモリ１２０４より転送される。それに応じて後方参照対象となるフレームの画素データがフレームメモリ１２０４より参照画ブロックデータメモリ１２０７に転送される。この時点で、未来にＢピクチャとして処理される画像で同じ参照画像を前方参照するものがフレームメモリ１２０４に入力されている。
【００６０】
ここで、未来のＢピクチャとなるフレームのうち、今現在符号化しようとしているＢピクチャとの領域と同じ領域を当該フレームメモリ１２０４より原画ブロックデータメモリ１２０８に転送する。次に、制御部１２０１からの信号により、相関度計算部１２１１および１２１２に対して参照画ブロックデータメモリ１２０７から原画ブロックサイズと同じ大きさの領域データが送られる。
【００６１】
次に、相関度計算部１２１１，１２１２ではそれぞれの原画データ（１２０６と１２０８から出力されたデータ）と参照画ブロック（１２０７から出力されたデータ）との相関度を計算する。
【００６２】
以降は探索用ベクトル発生部１２０９から出力される仮のベクトル値に基づいてアドレス発生部１２１０で算出されるアドレス値により、参照画ブロックデータメモリ１２０７から相関計算部１２１１，１２１２に対して水平・垂直方向のどちらかに１画素づつ平行移動させたブロック画像が送られ、その都度相関度が算出される。そして、最終的に参照画像ブロック全体についても最も相関の高かった位置とのずれを動きベクトルとして出力する。
【００６３】
前述で算出した動きベクトルのうち後方動きベクトルについては、続く符号化に使用するため後段の符号化部へ出力する。前方動きベクトルについては未来のＢピクチャを処理する時点まで動きベクトル一時保存用メモリ１２１５に格納する。現時点で符号化するＢピクチャの前方動きベクトルについては同様にして既に動きベクトル一時保存用メモリ１２１５に格納されているので、これを読み出して符号化部に出力する。
【００６４】
次に図１３の符号化部の構成を説明する。
１３０１は制御部であり、符号化の主制御を行う。１３０２および１３０３はアドレス発生部であり、前方動きベクトルおよび後方動きベクトルの入力に基づいてローカルデコード画像用フレームメモリ１３０５にアクセスするアドレスを発生させる。１３０４はセレクタであり、制御部１３０１からの制御によりローカルデコード画像用フレームメモリ１３０５へのアクセスアドレスを制御する。
【００６５】
スイッチ１３６０はローカルデコード画像用フレームメモリから読み出される参照画ブロックデータを前方向メモリ１３０７および後方向メモリ１３０８にそれぞれ振り分けて格納する機能を有している。
【００６６】
平均値計算部１３０９は、前方向メモリ１３０７に格納された前方向参照画ブロックデータと後方向メモリ１３０８に格納された後方向参照がブロックデータとの平均値を計算する機能を有している。
【００６７】
メモリ１３１０ａ〜１３１０ｃはそれぞれ前方向参照画ブロックデータ、後方向参照画ブロックデータおよび平均参照画ブロックデータをそれぞれ一時的に格納するバッファである。
【００６８】
差分累積値計算部１３１１ａ〜１３１１ｃはそれぞれ前方向参照画ブロックデータ、後方向参照画ブロックデータおよび平均参照画ブロックデータと原画ブロックデータの差分累積値を計算する機能を有している。比較部１３１３はこれらの差分累積値を比較してセレクタ１３１２を制御して量子化部１３１４に出力するデータを選択する。また、比較部１３１３は、ローカルデコード画像用フレームメモリ１３０５に書き込む復号画像を生成するための参照画ブロックデータを選択するセレクタ１３１７も制御している。
【００６９】
つまり、比較部１３１３は参照画ブロックデータと原画ブロックデータとを比較してその差分絶対値和を予測画像として選別してローカルデコード画像用フレームメモリ１３０５に記録しておく機能を有している。
【００７０】
符号化割り当て部１３１６は、量子化部１３１４から出力された量子化データを動きベクトル情報に基づいて符号化して出力する。
次に図１３の符号化部の動作について説明する。
【００７１】
Ｐピクチャ時は前方動きベクトルが入力され、アドレス発生部１３０２で指定されたアドレスに基づいてセレクタ１３０４を通じてそれに対応した参照画像ブロックがローカルデコード用フレームメモリ１３０５から読み出される。この参照画像ブロックは、スイッチ１３０６を通じて前方向メモリ１３０７に格納され、さらに原画ブロックとの差分が算出されてメモリ１３１０ａに格納される。この差分はさらにセレクタ１３１２を通じて量子化部１３１４で量子化される。さらにこの量子化されたデータは逆量子化されて前述の参照画ブロックと加算されて復号画像が再現されてローカルデコード画像用フレームメモリ１３０５に格納される。
【００７２】
Ｂピクチャ時は前方・後方の２つの動きベクトルが入力され、それぞれアドレス発生部１３０２，１３０３で指定されたアドレスに基づいてローカルデコード画像用フレームメモリ１３０５がアクセスされてそれぞれの動きベクトルに対応した参照画ブロックがスイッチ１３０６を経由して前方向メモリ１３０７，後方向メモリ１３０８にそれぞれ格納される。
【００７３】
ここで、ＭＰＥＧ−１／２の仕様では、２つの参照画像の他に双方の平均値を参照画像とすることが可能なので平均値計算部１３０９でこれを算出しておく。
そして、前方向参照画ブロック、後方向参照画ブロックおよびこれらの平均値（平均参照ブロック）が原画ブロックと減算処理され、選択された１つの参照画について算出された差分がそれぞれのメモリ１３１０ａ，１３１０ｂ，１３１０ｃを通じて量子化部１３１４で量子化されさらに逆量子化部１３１５で逆量子化され参照画ブロックと加算されて復号画像が再現されローカルデコード画像用フレームメモリ１３０５に格納される。
【００７４】
【実施例２】
図１４は本発明の別の実施例を示す構成図である。
本装置の構成は、図１２で説明した実施例１のものとほぼ同様であるが、原画ブロックデータメモリ１２０８，相関度計算部１２１２およびフリップフロップ１２１４（いずれも破線で示している部分）が省略されている。その他の構造は図１２と同様であるので説明は省略する。
【００７５】
図１４において、まず原画ブロックデータメモリ１２０６に符号化する領域の画素データがフレームメモリ１２０４から転送される。それに応じて前方参照対象となるフレームの画素データが参照画ブロックデータメモリ１２０７に転送されるが、このとき直前に求めた同じ位置の領域のＢピクチャの前方動きベクトルが動きベクトル一次保存用メモリ１２１５より参照され、これを基準として探索用ベクトル発生部１２０９において探索領域が決定される。
【００７６】
その後は実施例１で示した従来方式と同様に、制御部１２０１からの信号により相関度計算部１２１１に対して参照画ブロックデータメモリ１２０７から原画ブロックサイズと同じ大きさの領域のデータが送られ、相関度が計算される。
【００７７】
以降は探索用ベクトル発生部１２０９から出力される仮のベクトル値から算出されるアドレス指定により、参照画ブロックデータメモリ１２０７から水平・垂直方向のどちらかに１画素づつ平行移動させたブロック画像が送られ、その都度相関度が計算される。そして、相関度計算部１２１１は最終的に参照画像ブロック全体について最も相関の高かった位置とのずれを動きベクトルとしてフリップフロップ１２１３を通じて符号部に出力する。
【００７８】
【発明の効果】
本発明によれば、動きベクトル探索を行う際、フレームメモリから読み出す参照画像データ量を削減できる。代わりにフレームメモリからの原画データの読み出しと、動きベクトル探索結果を保存するためのメモリへのライトアクセスが増加するが、全体としてはメモリへの入出力データ量を削減できる。このため、より安価なデータ入出力の遅いメモリを使いながら、従来と同等の探索範囲を確保したまま動きベクトル探索を行うことが可能になる。あるいは従来と同じ入出力速度のメモリを使って、より広い範囲での動きベクトル探索が可能になる。
【図面の簡単な説明】
【図１】  ＭＰＥＧにおける前方予測を説明するための概念図
【図２】  ＭＰＥＧにおける両方向予測を説明するための概念図
【図３】  従来の符号化装置における画像入力と動きベクトル探索の時間関係を示すチャート図
【図４】  本発明における画像入力と動きベクトル探索の時間関係を示すチャート図
【図５】  同一参照画像データによる２つのＢピクチャの前後方向の動きベクトル探索の一括処理を説明する概念図
【図６】  本発明における画像入力と動きベクトル探索の時間関係を示すチャート図
【図７】  従来の動きベクトル探索方法を用いた符号化装置の機能構成図
【図８】  本発明における動きベクトル探索方法を用いた符号化装置の構成図
【図９】  従来の動きベクトル探索方法を用いた符号化処理のフロー図
【図１０】  本発明の動きベクトル探索方法を用いた符号化処理のフロー図
【図１１】  直前のＢピクチャの前方ベクトルを利用したＰピクチャ時のベクトル探索を行う際の符号化装置の機能構成図
【図１２】  本発明の実施例１における動き探索部の機能構成図
【図１３】  本発明の実施例１における符号化部の機能構成図
【図１４】  本発明の実施例２における動き探索部の機能構成図
【図１５】  本発明の第１の課題解決手段に対応する動き探索装置の機能構成図
【図１６】  本発明の第２および第４の課題解決手段に対応する動き探索装置の機能構成図
【図１７】  本発明の第３の課題解決手段に対応する動き探索装置の機能構成図
【図１８】  本発明の第５および第６の課題解決手段に対応する符号化装置の機能構成図
【符合の説明】
７１・・フレームメモリ
７２・・相関度計算部
７３・・符号化部
７４・・ローカルデコード画像用フレームメモリ
８０１・・フレームメモリ
８０２・・相関度計算部
８０３・・符号化部
８０４・・ローカルデコード画像用フレームメモリ
８０５・・動きベクトル格納用メモリ
１１０１・・フレームメモリ
１２０１・・制御部
１２０２・・セレクタ
１２０３・・アドレス発生部
１２０４・・フレームメモリ
１２０５・・セレクタ
１２０６・・原画ブロックデータメモリ１
１２０７・・参照画ブロックデータメモリ
１２０８・・原画ブロックデータメモリ２
１２０９・・探索用ベクトル発生部
１２１０・・アドレス発生部
１２１１・・相関度計算部１
１２１２・・相関度計算部２
１２１３，１２１４・・フリップフロップ
１２１５・・動きベクトル一次保存用メモリ
１３０１・・制御部
１３０２，１３０３・・アドレス発生部
１３０４・・セレクタ
１３０５・・ローカルデコード画像用フレームメモリ
１３０６・・スイッチ
１３０７・・前方向メモリ
１３０８・・後方向メモリ
１３０９・・平均値計算部
１３１０ａ〜１３１０ｃ・・メモリ
１３１１ａ〜１３１１ｃ・・差分累積値計算部
１３１２・・セレクタ
１３１３・・比較部
１３１４・・量子化部
１３１５・・逆量子化部
１３１６・・符号割り当て部
１３１７・・セレクタ
１５０１・・フレームメモリ
１５０２・・フレームメモリ制御部
１５０３・・相関度計算部
１５０４・・動きベクトル情報格納用メモリ
１５０５・・多重化部
１６０１・・フレームメモリ
１６０２・・予測方式管理部
１８０１・・フレームメモリ
１８０２，１８０３・・参照画像用バッファ
１８０４・・参照画像判定部
１８０５・・量子化部
１８０６・・逆量子化部
【図１】
0004294743.tif 000002
【図２】
0004294743.tif 000003
【図３】
0004294743.tif 000004
【図４】
0004294743.tif 000005
【図５】
0004294743.tif 000006
【図６】
0004294743.tif 000007
【図７】
0004294743.tif 000008
【図８】
0004294743.tif 000009
【図９】
0004294743.tif 000010
【図１０】
0004294743.tif 000011
【図１１】
0004294743.tif 000012
【図１２】
0004294743.tif 000013
【図１３】
0004294743.tif 000014
【図１４】
0004294743.tif 000015
【図１５】
0004294743.tif 000016
【図１６】
0004294743.tif 000017
【図１７】
0004294743.tif 000018
【図１８】
0004294743.tif 000019