(57)【特許請求の範囲】
【請求項１】
入力画像の第一の動きベクトルを求める動きベクトル探索装置において、
前記第一の動きベクトルを求める位置よりも上流の位置に、
前記入力画像に対して１フレーム前の前入力画像に含まれる画素と、該入力画像に含まれる画素との差分を評価することによって、第二の動きベクトルを探索する第二の動きベクトル探索手段と、
前記第一の動きベクトルの探索時に参照する画像と前記入力画像との間に挟まれる中間入力画像が存在する場合には、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲を決定し、前記中間入力画像が存在しない場合には、該入力画像に対する前記第二の動きベクトル探索結果に基づいて前記第一の動きベクトルの探索範囲を決定する動きベクトル探索範囲決定手段と、
を具備してなる動きベクトル探索装置。
【請求項２】
前記第二の動きベクトル探索手段は、前記入力画像に対して１フレーム前の前入力画像に含まれる画素の一部と、該入力画像に含まれる画素の一部との差分を評価することによって、前記第二の動きベクトルを探索することを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項３】
前記動きベクトル探索範囲決定手段は、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲の中心または中心および形状の少なくともいずれかを定めることを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項４】
入力画像の第一の動きベクトルを求める動きベクトル探索装置において、
前記第一の動きベクトルを求める位置よりも上流の位置に、
前記入力画像に対して１フレーム前の前入力画像に含まれる画素と、該入力画像に含まれる画素との差分を評価することによって、第二の動きベクトルを探索する第二の動きベクトル探索手段と、
前記第一の動きベクトルの探索時に参照する画像と前記入力画像との間に挟まれる中間入力画像が存在する場合には、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲を決定し、前記中間入力画像が存在しない場合には、該入力画像に対する前記第二の動きベクトル探索結果に基づいて前記第一の動きベクトルの探索範囲を決定する動きベクトル探索範囲決定手段と、を具備し、
前記前入力画像とは、前記第一の動きベクトルを求める位置よりも上流の位置に具備される時間軸ノイズ低減フィルタが参照する画像であることを特徴とする動きベクトル探索装置。
【請求項５】
入力画像の第一の動きベクトルを求める動きベクトル探索方法において、
前記第一の動きベクトルを求める位置よりも上流の位置にて、
前記入力画像に対して１フレーム前の前入力画像に含まれる画素と、該入力画像に含まれる画素との差分を評価することによって、第二の動きベクトルを探索し、
前記第一の動きベクトルの探索時に参照する画像と該入力画像との間に挟まれる中間入力画像が存在する場合には、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲を決定し、前記中間入力画像が存在しない場合には、該入力画像に対する前記第二の動きベクトル探索結果に基づいて前記第一の動きベクトルの探索範囲を決定することを特徴とする動きベクトル探索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像を圧縮して符号化する動画像符号化装置に係り、特に動きベクトル探索に用いて好適な動きベクトル探索装置および方法に関する。
【０００２】
【従来の技術】
動画像の情報量を圧縮して符号化する動画像符号化技術は、ＴＶ電話やＴＶ会議など伝送を目的としたものから、ディジタルビデオなどの記録・蓄積用のものまで広く実用化されている。
先ず、以下の記述において用いる「画像の動き」と「動きベクトル」とについて説明する。動画像においては、ある２枚の画像において、同じ物体を表現する複数の画素の位置が異なった場合に、その物体の動きがモニタ等の画面上にて認識される。この場合の物体の動きとは、カメラの被写体である物体が実際に動いた場合と、物体は静止していてもカメラ自身が動くことによって、見かけ上その物体が動く場合とがある。このように、画面上に映し出された複数の画像において、物体の動きが表現される画素を含む画像を「動きの有る画像」と定義し、また、複数の画像間で表現される物体の動きそのものを「画像の動き」と定義して以下を記述する。そして、物体の動きが大きい場合には、「動きの大きい画像」、「画像の動きが大きい」などと記述し、動きが小さい場合には、「動きの小さい画像」、「画像の動きが小さい」などと記述する。また、「動きベクトル」は、ある２枚の画像において、この「画像の動き」の方向と動く量を示すベクトルであり、公知のものである。そして、動画像符号化技術において、動きベクトルを用いた動き補償フレーム間予測も公知の技術である。
【０００３】
従来の動きベクトル探索装置として、例えば信学技法ＩＣＤ９７−１６３「ＭＰＥＧ−２符号化ＬＳＩにおける履歴適応型動きベクトル探索とそのハードウェア実現」に記載の装置が知られている。
図９は、この従来の動きベクトル探索装置を用いた動画像符号化装置２０の構成を示すブロック図である。この図において、動画像符号化装置２０は、ＣＰＵ１、時間軸ノイズ低減フィルタ（以下、ＮＲフィルタと称する）２、原画像フレームメモリ３、マクロブロック符号化処理部（以下、ＭＢ符号化処理部と称する）２１、およびフレームメモリ８から構成され、ＭＢ符号化処理部２１は、動き探索部２２と符号化・後処理部７とから構成されている。
【０００４】
従来の動きベクトル探索は、ＣＰＵ１とＭＢ符号化処理部２１およびフレームメモリ８とによって、下記の処理により行われている。
先ず、フレームメモリ８に保持されたＮＲフィルタ２の出力が圧縮して符号化される符号化画像として動き探索部２２へ入力される。次に、動き探索時に参照する参照画像がフレームメモリ８から動き探索部２２へ入力される。この参照画像は、符号化・後処理部７が動き補償フレーム間予測などによって画像情報を圧縮し符号化した符号化データを、後で符号化する画像で参照するために同じく符号化・後処理部７が復号し伸張した画像である。そして、動き探索部２２とＣＰＵ１とは、入力された符号化画像と参照画像とを符号化されるマクロブロック毎に比較することによって、画像の動き（動きベクトル）を探索し各マクロブロックの動きベクトルを求める。なお、この動きベクトル探索は、広い範囲で探索するほど大きな動きに追従できるため、符号化する画像の画質を良くすることができるが、反面、膨大な演算量を要する。このため従来より演算量を抑えることができる動きベクトル探索方法が検討されており、この従来例では、過去の動きベクトルの履歴を利用して探索範囲の大きさと位置を適応的に変えて行われる。
なお、上述した図９に示される従来の動画像符号化装置２０では、原画像フレームメモリ３とフレームメモリ８とを各々別に設ける構成としたが、これら原画像フレームメモリ３とフレームメモリ８とを一つのフレームメモリで構成することは、従来技術として通常行われている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の動きベクトル探索装置において、動きベクトル探索範囲は、過去の動きベクトルの履歴を利用して適応的に変更されている。この過去の動きベクトルの履歴とは、直前の符号化画像に対して求められた各マクロブロックの動きベクトルの平均や最多頻度の動きベクトルのことである。そのために、画面上にて全体が一方向に動き始める瞬間の画像や、それまでの動きが停止した瞬間の画像など、直前までの符号化画像に対して動きが不連続となる画像においては、過去の動きベクトルの履歴をもとに求められた動きベクトル探索範囲が実際の符号化画像の動きとは異なり、常に精度の良い動きベクトル探索ができないという問題点がある。その結果、画質が劣化し、これを参照画像として用いる後続の画像の画質も劣化してしまう。
本発明は、このような事情を考慮してなされたもので、その目的は直前までの符号化画像に対して動きが不連続となる画像においても、実際の符号化画像の動きに合った動きベクトル探索範囲を求めて常に精度の良い動きベクトル探索を行うことができる動きベクトル探索装置および方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記の課題を解決するために、請求項１に記載の発明は、入力画像の第一の動きベクトルを求める動きベクトル探索装置において、前記第一の動きベクトルを求める位置（ＭＢ符号化処理部５）よりも上流の位置に、前記入力画像に対して１フレーム前の前入力画像に含まれる画素と、該入力画像に含まれる画素との差分を評価することによって、第二の動きベクトルを探索する第二の動きベクトル探索手段と、前記第一の動きベクトルの探索時に参照する画像と前記入力画像との間に挟まれる中間入力画像が存在する場合には、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲を決定し、前記中間入力画像が存在しない場合には、該入力画像に対する前記第二の動きベクトル探索結果に基づいて前記第一の動きベクトルの探索範囲を決定する動きベクトル探索範囲決定手段とを具備してなるものである。
なお、第一の動きベクトルとは、符号化・後処理部７がマクロブロック単位に画像を圧縮して符号化するために使用する動きベクトルのことである。
また、第二の動きベクトルとは、後述する大域動きベクトルのことである。
請求項２に記載の発明は、請求項１に記載の発明において、前記第二の動きベクトル探索手段は、前記入力画像に対して１フレーム前の前入力画像に含まれる画素の一部と、該入力画像に含まれる画素の一部との差分を評価することによって、前記第二の動きベクトルを探索することを特徴とする。
【０００７】
請求項３に記載の発明は、請求項１記載の発明において、前記動きベクトル探索範囲決定手段は、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲の中心または中心および形状の少なくともいずれかを定めることを特徴とする。
【０００８】
請求項４に記載の発明は、入力画像の第一の動きベクトルを求める動きベクトル探索装置において、前記第一の動きベクトルを求める位置よりも上流の位置に、前記入力画像に対して１フレーム前の前入力画像に含まれる画素と、該入力画像に含まれる画素との差分を評価することによって、第二の動きベクトルを探索する第二の動きベクトル探索手段と、前記第一の動きベクトルの探索時に参照する画像と前記入力画像との間に挟まれる中間入力画像が存在する場合には、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲を決定し、前記中間入力画像が存在しない場合には、該入力画像に対する前記第二の動きベクトル探索結果に基づいて前記第一の動きベクトルの探索範囲を決定する動きベクトル探索範囲決定手段と、を具備し、前記前入力画像とは、前記第一の動きベクトルを求める位置よりも上流の位置に具備される時間軸ノイズ低減フィルタが参照する画像（ＮＲ参照画像）であることを特徴とする。
【００１０】
請求項５に記載の発明は、入力画像の第一の動きベクトルを求める動きベクトル探索方法において、前記第一の動きベクトルを求める位置よりも上流の位置にて、前記入力画像に対して１フレーム前の前入力画像に含まれる画素と、該入力画像に含まれる画素との差分を評価することによって、第二の動きベクトルを探索し、前記第一の動きベクトルの探索時に参照する画像と該入力画像との間に挟まれる中間入力画像が存在する場合には、該中間入力画像に対する前記第二の動きベクトル探索結果と、該入力画像に対する前記第二の動きベクトル探索結果とに基づいて、前記第一の動きベクトルの探索範囲を決定し、前記中間入力画像が存在しない場合には、該入力画像に対する前記第二の動きベクトル探索結果に基づいて前記第一の動きベクトルの探索範囲を決定することを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は本発明の一実施形態による動画像符号化装置１０の構成を示すブロック図である。この図において、１は動画像符号化装置１０の全体の制御や画像圧縮等の演算を行うＣＰＵ（中央処理装置）、２は入力画像に含まれる時間方向のノイズを減衰させる時間軸ノイズ低減フィルタ（以下、ＮＲフィルタと称する）、３はＮＲフィルタ２が参照する１フレーム前の入力画像（以下、ＮＲ参照画像と称する）を一時的に保持する原画像フレームメモリである。そして、ＮＲフィルタ２の出力は圧縮符号化される対象の画像（以下、符号化画像と称する）としてフレームメモリ８に保持される。４は画面全体或いは複数のマクロブロックに対する動きベクトルである大域動きベクトルを、入力画像と原画像フレームメモリ３に保持されるＮＲ参照画像とから探索する大域動きベクトル探索部である。そして、ＣＰＵ１は、この大域動きベクトル探索結果に合わせて動きベクトル探索範囲を決定する。
【００１２】
そして、５はマクロブロック（以下、ＭＢと称することがある）単位に画像を圧縮して符号化するＭＢ符号化処理部であり、動き探索部６と符号化・後処理部７とから構成される。動き探索部６は、ＣＰＵ１によって設定される動きベクトル探索範囲内において、フレームメモリ８に保持される符号化画像と同じくフレームメモリ８に保持される過去に符号化した画像（以下、参照画像と称する）とからマクロブロックの動きベクトルを探索して求める。そして、符号化・後処理部７は、動き探索部６によって求められる動きベクトルを用いた動き補償フレーム間予測などによってＭＢ画像データを圧縮し、動きベクトル等のＭＢ情報信号と共に圧縮されたＭＢ画像データを符号化する。また、符号化・後処理部７は、その符号化データを復号し伸張して参照画像を生成し、フレームメモリ８に保持する。このフレームメモリ８に保持された参照画像は、以降の符号化画像の各種画像圧縮処理に用いられる。
なお、図１において、ＣＰＵ１に接続される信号は動きベクトル探索に関する信号のみを示している。
【００１３】
図２は図１に示される大域動きベクトル探索部４の構成を示すブロック図である。大域動きベクトル探索部４は大域動きベクトルの探索を、例えば水平・垂直方向とも±１６画素範囲、８画素精度の粗い大域動き探索精度にて行う。そのために、間引き部３１−１は入力画像から大域動き探索に使用しない画素を間引きし、この間引きされた画像を大域動きベクトル探索用の探索画像Ｓ１としてメモリ３２−１に保持させる。なお、必要で有れば間引きにより生じる折返し雑音を防ぐために、この折返し雑音の原因となる高周波成分を減衰させる低域通過フィルタを間引き部３１−１の上流に設けても良い。
同様に、間引き部３１−２は１フレーム前の入力画像であるＮＲ参照画像から動き探索に使用しない画素を間引きし、大域動きベクトル探索にて参照する探索参照画像Ｓ２としてメモリ３２−２に保持させる。なお、同様に、必要で有れば間引きにより生じる折返し雑音を防ぐために、この折返し雑音の原因となる高周波成分を減衰させる低域通過フィルタを間引き部３１−２の上流に設けても良い。
また、大域動きベクトル発生部３５はその探索精度に応じて、大域動き探索範囲内の全ての大域動きベクトルを発生してその位置に対応した探索参照画像をメモリ３２−２から読み出す。そして、評価値算出部３３は各大域動きベクトルに対して、メモリ３２−２から読み出された探索参照画像とメモリ３２−１に保持される探索画像Ｓ１の同位置の画素との差分を全画素分求め、これら差分の絶対値の総和をその大域動きベクトルの評価値として評価値メモリ３４に保持させる。この評価値が小さいほど良い評価となり、大域動きベクトルと画像全体の動きが一致していることを示す。なお、この大域動きベクトルの評価値には、上述した差分絶対値和ではなく、差分２乗和を用いても良い。
そして、ＣＰＵ１は、最も良い評価の大域動きベクトルを中心に、評価値が良い他の大域動きベクトルを含む範囲であって、動きベクトル探索範囲全体に比して狭い範囲を、符号化画像のマクロブロックの動きベクトル探索範囲に決定して動き探索部６へ設定する。この設定された動きベクトル探索範囲にて、例えば、１画素あるいは半画素精度の細かい動きベクトル探索が行われる。
【００１４】
なお、上述したように、評価値算出部３３が画面内全画素の差分の総和から大域動きベクトルの評価値を求めるのではなく、入力画像およびＮＲ参照画像を複数の部分領域に分割して、各部分領域毎に大域動きベクトルの評価値を算出しても良い。さらに、分割された部分領域の内、例えば中央付近の領域をサンプルとして抽出し、その抽出された領域を部分領域の代表として扱って大域動きベクトルの評価値を算出しても良い。これらの場合、ＣＰＵ１は、各領域の大域動きベクトルの評価値に基づいて、その領域に対する符号化画像のマクロブロックの動きベクトル探索範囲を決定する。その決定方法としては、例えば各領域の大域動きベクトルの評価値の内で最も評価の良い大域動きベクトルを中心に、評価値が良い他の大域動きベクトルを含むようにする。
なお、部分領域毎に大域動きベクトルを評価する場合、大域動きベクトル探索部４は、画面内の画像の動きが一方向ではない場合には、画面全体の画像の動きよりもさらに細かい局所的な動きを探索する。そして、各マクロブロックの動きベクトル探索範囲は、この部分領域毎に求められた大域動きベクトルに合わせて、部分領域別に細かく設定される。
【００１５】
次に、図３〜図８を参照して、上述した実施形態による符号化画像のマクロブロックの動きベクトル探索範囲を決定する動作について詳細に説明する。図３はＮＲ参照画像の参照関係を示す図３（ａ）と符号化画像の動き探索時の参照関係を示す図３（ｂ）、（ｃ）である。図４〜図８は動きベクトル探索範囲を決定する動作について説明するための図である。
【００１６】
ここで、図３（ａ）〜（ｃ）にて示される記号について説明する。これらの図の横軸は時間経過を示し右方向に進む程に時間が経過している。また、１Ｔ〜７Ｔは１〜７番目の入力フレームの各奇数フィールドの入力画像を示し、１Ｂ〜７Ｂは１〜７番目の入力フレームの各偶数フィールドの入力画像を示す。そして、図３（ｂ）、（ｃ）にて示される記号Ｍ，Ｉ，Ｐ，Ｂは圧縮符号化に関係するものである。符号化にはフレーム構造とフィールド構造の場合があるが、ここではフレーム構造の場合を例にして説明する。
ＭＢ符号化処理部５によって行われる圧縮符号化は、符号化画像をフレーム単位に３種類に分けて圧縮符号化を行う。その３種類の内一つが、Ｉピクチャと呼ばれるものであって、他の画像を参照せずに静止画として圧縮符号化される符号化画像であり、記号Ｉにて示される。もう一つが、Ｐピクチャと呼ばれるものであって、過去のＩピクチャまたはＰピクチャにて直近のものを参照して圧縮符号化される符号化画像であり、記号Ｐにて示される。残りもう一つが、Ｂピクチャと呼ばれるものであって、ＩピクチャまたはＰピクチャにて直近のものを過去・未来の双方向に参照して圧縮符号化される符号化画像であり、記号Ｂにて示される。図３（ｂ）の場合、１番目のフレーム（１Ｔと１Ｂ）がＩピクチャであり、２〜７番目のフレームがＰピクチャである。また、図３（ｃ）の場合、１番目のフレーム（１Ｔと１Ｂ）がＩピクチャであり、４番目と７番目のフレームがＰピクチャ、そして２、３、５、６番目のフレームがＢピクチャである。
【００１７】
そして、ＢピクチャがＩピクチャとＰピクチャ間、或いは二つのＰピクチャ間に挟まれる数を（Ｍ−１）として示す。したがって、Ｍ＝１である図３（ｂ）におけるＢピクチャの数は０であり、Ｍ＝３である図３（ｃ）におけるＩピクチャとＰピクチャ間、或いは二つのＰピクチャ間に挟まれるＢピクチャの数は２である。以下、Ｍ＝１の場合の圧縮符号化をＭ＝１符号化と称し、Ｍ＝３の場合の圧縮符号化をＭ＝３符号化と称する。
また、矢印は各画像の参照関係を示しており、矢印の始点の画像が終点の画像の参照画像である。図３（ａ）では参照関係は１対１であるが、図３（ｂ）、（ｃ）においては１つの画像が複数の画像を参照していることが示されている。
なお、Ｍの値は圧縮符号化の目的によって予め設定される。例えば、Ｍ＝１は動画像通信など即時性が要求される場合に用いられる。また、Ｍ＝３はＤＶＤ（Digital Video Disk）などへ画像を記録する場合に用いられる。
【００１８】
先ず、図３（ａ）を参照して、ＮＲフィルタ２における入力画像とＮＲ参照画像の参照関係について説明する。ＮＲフィルタ２は入力画像と１フレーム前の入力画像との間で同位置の画素の輝度・色信号のそれぞれの差分を求め、この差分が小さい時には静止しているとみなして、入力画像の画素の輝度・色信号をＮＲ参照画像の画素の輝度・色信号に近づけるように処理する。一方、その差分が大きいときには動いているとみなして、入力画像の画素の輝度・色信号をそのまま出力する。そのために、入力画像である奇数または偶数フィールドに対し、原画像フレームメモリ３に保持されている１フレーム前の同じ奇数または偶数フィールドを参照する。例えば、図３（ａ）において、２番目の入力フレームの奇数フィールド２Ｔに対するＮＲ参照画像は、１番目の入力フレームの奇数フィールド１Ｔである。そして、２番目の入力フレームの偶数フィールド２Ｂに対するＮＲ参照画像は、１番目の入力フレームの偶数フィールド１Ｂである。この各入力画像に対するＮＲ参照画像の関係を以下に示す。
入力画像（ｎ＋１）Ｔに対するＮＲ参照画像はｎＴ、
入力画像（ｎ＋１）Ｂに対するＮＲ参照画像はｎＢ、
である。ただし、ｎは整数。なお、通常はＮＲフィルタ２の出力画像を次の入力画像のＮＲ参照画像に使用する。
【００１９】
さて、大域動きベクトル探索部４は、上述したように、ＮＲフィルタが参照するＮＲ参照画像から大域動きベクトル探索にて参照する探索参照画像Ｓ２を生成する。したがって、入力画像から生成される大域動きベクトル探索用の探索画像Ｓ１と大域動きベクトル探索にて参照する探索参照画像Ｓ２との参照関係は、図３（ａ）に示される入力画像とＮＲ参照画像との参照関係に等しい。すなわち、入力画像が（ｎ＋１）Ｔの場合には、ｎＴを参照して大域動きベクトル探索を行い、一方、入力画像が（ｎ＋１）Ｂの場合には、ｎＢを参照して大域動きベクトル探索を行う。
【００２０】
次に、動き探索部６が符号化画像のマクロブロックの動きベクトルを探索する時に用いる参照画像の関係を説明する。図３（ｂ）は、Ｂピクチャを使用せず、符号化時の参照画像が１フレーム前のＩピクチャまたはＰピクチャであるＭ＝１符号化の場合の参照関係を示している。この図に示されるように、Ｐピクチャの符号化画像に対し１フレーム前の奇数および偶数フィールドが参照画像である。例えば、２番目の入力フレームの奇数フィールド２Ｔまたは偶数フィールド２Ｂに対する参照画像は、共に１番目の入力フレームの奇数フィールド１Ｔおよび偶数フィールド１Ｂである。この各Ｐピクチャの符号化画像に対する参照画像の関係を以下に示す。
符号化画像（ｎ＋１）Ｔまたは（ｎ＋１）Ｂに対する参照画像は、
ｎＴおよびｎＢ、
である。ただし、ｎは整数。
【００２１】
さて、上述したように、大域動きベクトル探索における参照関係は、入力画像が（ｎ＋１）Ｔの場合にはｎＴであり、入力画像が（ｎ＋１）Ｂの場合にはｎＢである。したがって、Ｍ＝１符号化の場合には、符号化画像に対する参照画像のフレームと大域動きベクトル探索におけるＮＲ参照画像のフレームとは共に同じ１フレーム前のフレームである。これは、入力画像に対してＮＲ参照画像を参照して求めた大域動きベクトルが、まさしく符号化画像の動きベクトルの粗い方向を示すということであり、この大域動きベクトルに合わせてそのまま符号化画像のマクロブロックの動きベクトル探索範囲を設定すれば良い。
なお、正確には、符号化画像が参照する奇数・偶数２枚の参照画像の片方の参照画像に対して、大域動きベクトルが求められているだけである。ただし、もう一方の参照フィールド、すなわち符号化画像の奇数フィールドが参照する偶数フィールドの参照画像と、符号化画像の偶数フィールドが参照する奇数フィールドの参照画像とに対する各大域動きベクトルは求められていないが、動画像の連続性から同じ大域動きベクトルを使用しても、通常問題は無い。
【００２２】
そこで、図４〜８を参照して、Ｍ＝１符号化の場合に、符号化画像のマクロブロックの動きベクトル探索範囲を決定する動作の一例について説明する。図４は、図３（ａ）を参照して上述したように、２番目の入力フレームの奇数フィールド２Ｔに対するＮＲ参照画像が１番目の入力フレームの奇数フィールド１Ｔであり、２番目の入力フレームの偶数フィールド２Ｂに対するＮＲ参照画像が１番目の入力フレームの偶数フィールド１Ｂであることを示している。
先ず、動画像符号化装置１０へ奇数フィールド２Ｔが入力された場合について説明する。この場合には、入力画像として奇数フィールド２Ｔが、そして、ＮＲ参照画像として原画像フレームメモリ３に保持されている奇数フィールド１Ｔが、それぞれ大域動きベクトル探索部４へ入力される。そして、入力された奇数フィールド２Ｔは、間引き部３１−１によって、画素が間引きされ探索画像Ｓ１としてメモリ３２−１に保持される。また、入力された奇数フィールド１Ｔは、間引き部３１−２によって、画素が間引きされ探索参照画像Ｓ２としてメモリ３２−２に保持される。
【００２３】
さらに、メモリ３２−２には、大域動きベクトル発生部３５によって、大域動き探索範囲内の大域動きベクトルに対応するアドレスが入力される。この例においては、大域動き探索精度が水平・垂直方向とも±１６画素範囲、８画素精度であり、大域動きベクトルは以下に示す座標の２５個である。
大域動きベクトル座標は、（８ｘ，８ｙ）。
ただし、ｘは−２〜＋２のいずれかの整数、ｙは−２〜＋２のいずれかの整数。また、ｘは中心から右方向へ向かって「＋」となり、中心から左方向へ向かって「−」となる。
また、ｙは中心から下方向へ向かって「＋」となり、中心から上方向へ向かって「−」となる。
【００２４】
次いで、評価値算出部３３は、これら２５個の大域動きベクトル毎に評価値を算出して評価値メモリ３４へ保持する。図５は、大域動きベクトルの評価値を算出する動作を説明するための図である。図５（ａ）は座標（−８，＋８）の大域動きベクトル評価値を算出する場合について示している。この図において、破線によって示されるＳ２はメモリ３２−２に保持される探索参照画像の中で、メモり３２−１に保持される間引きされた入力画像と同じ位置の領域である。評価値算出部３３は、この探索参照画像を大域動きベクトル座標（−８，＋８）だけ、すなわち左へ８画素分および下へ８画素分をシフトした画像Ｓ２ａの各画素と、メモリ３２−１に保持される探索画像Ｓ１の同位置の画素との差分を各々求める。そして、求められた各画素の差分の絶対値を総和して、座標（−８，＋８）の大域動きベクトル評価値とする。図５（ｂ）は座標（＋１６，＋１６）の大域動きベクトル評価値算出についての図であり、同様に、探索参照画像Ｓ２を大域動きベクトル座標（＋１６，＋１６）だけ、すなわち右へ１６画素分および下へ１６画素分をシフトした画像Ｓ２ｂと探索画像Ｓ１間において、各画素の差分が求められ、これら差分の絶対値の総和が評価値となる。したがって、この差分の絶対値の総和が小さいほど、その評価値は良い値となる。また、参照画像は水平・垂直方向に最大±１６画素シフトするため、入力画像は上下左右端ともに、少なくとも１６画素小さい領域をとることになる。
【００２５】
そして、図６は、このようにして求められた各大域動きベクトル評価値を示す２次元の図である。図６において、ｘ−ｙ座標上の黒丸の位置が各大域動きベクトル座標を示し、黒丸の面積がその大域動きベクトルの評価値を示す。この黒丸の面積が小さい程、評価値が良いことを示す。図６（ａ）は入力フレームの奇数フィールド２ＴとＮＲ参照画像である奇数フィールド１Ｔとの間において、探索し求められた各大域動きベクトルの評価値を示す。また、図６（ｂ）は入力フレームの偶数フィールド２ＴとＮＲ参照画像である奇数フィールド１Ｔとの間において、探索し求められた各大域動きベクトルの評価値を示す。図６（ａ）においては、座標（−１６，０）、（−８，０）、（０，０）、（−８，＋８）、（０，＋８）、（０，＋１６）、（＋８，＋１６）の黒丸の面積が小さく、これらの大域動きベクトルの評価値が良いことを示す。また、図６（ｂ）においては、座標（−８，−８）、（−１６，０）、（−８，０）、（０，０）、（−８，＋８）、（０，＋８）、（０，＋１６）の黒丸の面積が小さく、これらの大域動きベクトルの評価値が良いことを示す。そして、座標（−８，＋８）の大域動きベクトルの評価値が、共に最も良い値であった。
【００２６】
次いで図７は、ＣＰＵ１が評価値メモリ３４に保持される各大域動きベクトルの評価値から、符号化画像のマクロブロックの動きベクトル探索範囲を決定して動き探索部６へ設定する動作を説明するための図である。また、図８は、この動きベクトル探索範囲の形状として予め用意される形状の一例を示す図であって、破線によって囲まれた範囲は動きベクトル探索範囲全体を示し、実線によって囲まれた範囲が予め用意される形状の範囲を示す。
先ず、ＣＰＵ１は、図７（ａ）に示されるように、上述した図６（ａ）、（ｂ）の評価値に合わせて、動きベクトル探索範囲を破線によって囲まれた範囲から実線によって囲まれた範囲へ（矢印が示す方向へ）シフトする。この動きベクトル探索範囲をシフトする方向と量は、図６（ａ）、（ｂ）の評価値の中で最も評価の良い座標（−８，＋８）の大域動きベクトルが動きベクトル探索範囲の中心となるように選択される。
さらに、ＣＰＵ１は、図７（ｂ）に示されるように、図６（ａ）、（ｂ）の評価値に合わせて、動きベクトル探索範囲の形状を破線によって囲まれた範囲から実線によって囲まれた範囲へとより狭い範囲に変更しても良い。そして、図７（ｂ）においては、動きベクトル探索範囲として図８（ｃ）に示される形状が選択される。この形状の選択は、図８（ａ）〜（ｄ）の４種類の形状の内、その形状に含まれる大域動きベクトル評価値の総和が最も少なくなるように選択される。このように、動きベクトル探索範囲の形状を、大域動きベクトル評価値に合わせたより狭い範囲へ変更することは、動きベクトル探索に要する演算量を少なくするために有効である。
以上が、Ｍ＝１符号化の場合に、符号化画像のマクロブロックの動きベクトル探索範囲を決定する動作についての説明である。なお、この説明した例では、奇数フィールドの大域動きベクトルと偶数フィールドの大域動きベクトルとを別々に求めて動きベクトル探索範囲を設定したが、奇数・偶数両フィールドの大域動きベクトル探索結果を合成し、この合成された大域動きベクトル探索結果から動きベクトル探索範囲を設定するようにしても良い。例えば、同じ大域動きベクトルに関し奇数フィールドの評価値と偶数フィールドの評価値とを平均して、奇数・偶数両フィールドの大域動きベクトルを求め、この求められた奇数・偶数両フィールドの大域動きベクトルから動きベクトル探索範囲を設定するようにしても良い。あるいは、演算量の削減のために、奇数・偶数いずれか片方のフィールドの大域動きベクトルに適応して、動きベクトル探索範囲を設定するようにしても良い。
【００２７】
次に、Ｍ＝３符号化などＭが２以上の符号化の場合に、符号化画像のマクロブロックの動きベクトル探索範囲を決定する動作についての説明する。先ず、図３（ｃ）を参照して、Ｂピクチャを使用したＭ＝３符号化の場合の参照関係を説明する。この図に示されるように、Ｐピクチャでは、符号化画像に対し３フレーム前のＩピクチャまたはＰピクチャの奇数および偶数フィールドが参照画像である。例えば、４番目の入力フレームの奇数フィールド４Ｔまたは偶数フィールド４Ｂに対する参照画像は、共に１番目の入力フレームの奇数フィールド１Ｔおよび偶数フィールド１Ｂである。また、Ｂピクチャでは、符号化画像を挟んでいる両側のＩピクチャまたはＰピクチャの奇数および偶数フィールドが参照画像である。例えば、２番目の入力フレームの奇数フィールド２Ｔまたは偶数フィールド２Ｂに対する参照画像は、共に、１番目の入力フレームの奇数フィールド１Ｔおよび偶数フィールド１Ｂと、４番目の入力フレームの奇数フィールド４Ｔおよび偶数フィールド４Ｂである。この各符号化画像に対する参照画像の関係を以下に示す。
Ｐピクチャの符号化画像（ｎ＋３）Ｔまたは（ｎ＋３）Ｂに対する参照画像は、ｎＴおよびｎＢ、
である。
Ｂピクチャの符号化画像（ｎ＋１）Ｔまたは（ｎ＋１）Ｂ、あるいは、（ｎ＋２）Ｔまたは（ｎ＋２）Ｂに対する参照画像は、
ｎＴ、ｎＢ、（ｎ＋３）Ｔおよび（ｎ＋３）Ｂ、
である。
ただし、ｎは整数。
【００２８】
さて、上記のように、Ｍ＝３符号化の場合には、Ｂピクチャにおいて隣接フレームを参照する以外は、符号化画像に対する参照画像が１フレーム前の入力画像とは異なる。したがって、大域動きベクトル探索におけるＮＲ参照画像のフレームと、符号化画像に対する参照画像のフレームとは同じ１フレーム前のフレームではない。このように、Ｂピクチャを使用するＭが２以上の符号化においては、大域動きベクトル探索におけるＮＲ参照画像のフレームと、符号化画像に対する参照画像のフレームとは異なる。
【００２９】
そこで、Ｍが２以上の符号化において、動きベクトル探索範囲を決定する動作の一例について説明する。符号化画像に対する参照画像が１フレーム前の入力画像とは異なる場合には、符号化するマクロブロックの動きベクトル探索時に参照する参照画像も１フレーム前の入力画像とは異なる。したがって、動きベクトル探索範囲を決定する際には、符号化画像に対する参照画像と同じ入力フレームに対する大域動きベクトルの探索結果が必要である。しかしながら、上述したように、大域動きベクトル探索において参照するＮＲ参照画像は入力画像に対して１フレーム前の画像である。
そのため、このような場合にＣＰＵ１は、動きベクトル探索時に参照する参照画像のフレームと、符号化画像のフレームとの間にあるフレームの各入力フィールドに対して得られた最も評価値が良い大域動きベクトルを奇数フィールドと偶数フィールド別に全て合成することによって、複数フレーム間大域動きベクトルを生成する。そして、上述したＭ＝１符号化の場合と同様に、この複数フレーム間大域動きベクトルが動きベクトル探索範囲の中心となるように動きベクトル探索範囲をシフトする。
ところで、フレーム間隔が長くなる場合には動きの方向や大きさが変わることもあるので、動きベクトル探索範囲の形状を変えて動きベクトルの探索範囲を狭くすると、参照画像と符号化画像の間の動きに追従することができない可能性もある。しかし、動きベクトル探索に要する演算量を削減するために、ＣＰＵ１は、動きベクトル探索範囲の形状を変えても良い。その場合には、例えば、ＣＰＵ１は、符号化画像のフレームに最も近い参照画像のフレームにおいて求められた大域動きベクトル評価値の中で、良い評価の大域動きベクトルを含むように、動きベクトル探索範囲の形状をより狭い範囲へ変更する。このより狭い範囲への変更は、上述したＭ＝１符号化の場合と同様に、例えば図８（ａ）〜（ｄ）の４種類の形状から選択して行われる。
なお、Ｂピクチャでは、時間的に後の参照画像からも動きベクトルの探索を行うが、この場合には大域動きベクトルの正負の符号を逆にして処理する。
以上が、Ｍが２以上の符号化の場合に、符号化画像のマクロブロックの動きベクトル探索範囲を決定する動作についての説明である。なお、上記Ｍ＝１符号化の場合と同様に、このＭが２以上の符号化の場合について説明した例では、奇数フィールドの大域動きベクトルと偶数フィールドの大域動きベクトルとを別々に求めて動きベクトル探索範囲を設定したが、奇数・偶数両フィールドの大域動きベクトル探索結果を合成し、この合成された大域動きベクトル探索結果から動きベクトル探索範囲を設定するようにしても良い。例えば、同じ大域動きベクトルに関し奇数フィールドの評価値と偶数フィールドの評価値とを平均して、奇数・偶数両フィールドの大域動きベクトルを求め、この求められた奇数・偶数両フィールドの大域動きベクトルから動きベクトル探索範囲を設定するようにしても良い。あるいは、演算量の削減のために、奇数・偶数いずれか片方のフィールドの大域動きベクトルに適応して、動きベクトル探索範囲を設定するようにしても良い。
【００３０】
このように、上述した実施形態において、大域動きベクトルは、ＭＢ符号化処理部５の上流に具備される大域動きベクトル探索部４によって、原画像データのみに基づいて探索される。そして、ＣＰＵ１がその大域動きベクトル探索結果に合わせた動き探索範囲を決定して動き探索部６へ設定する。故に、たとえ符号化画像において直前の符号化画像に対して不連続な動きが有った場合でも、求められた大域動きベクトル探索結果は、原画像データに基づいた有意な動きベクトル探索範囲を示すので、従来のように、求められた動きベクトル探索範囲が実際の符号化画像の動きとは異なるということが無く、常に精度の良い動きベクトルを探索することができる。したがって、直前の符号化画像に対して、現符号化画像に不連続な動きが有った場合でも、画質を劣化させることなく符号化することができる。
【００３１】
また、動きの大きい画像においては、動く方向が一方向に偏っていることが多い。このような場合には、上述した実施形態において、画像全体の粗い動きを探索した大域動きベクトル探索結果によって、動きベクトル探索範囲を狭い範囲に限定することが特に有効となる。その結果、符号化される動画像の画質の水準を落とすことなく動きベクトル探索にかかる演算量を減らして、消費電力の増大を抑えることができる。
【００３２】
なお、上述した実施形態において、ＮＲフィルタ２は、動画像を圧縮符号化する位置よりも上流に位置し、時間軸方向のノイズを減衰させることによって符号化効率を上げるために、従来より一般的に用いられている。したがって、大域動きベクトル探索において参照する１フレーム前の入力画像として、ＮＲ参照画像を使用可能なので、新たに、１フレーム前の入力画像を保持するフレームメモリを具備する必要が無いという効果もある。
なお、上述した実施形態において、図１に示されるように、原画像フレームメモリ３とフレームメモリ８とを各々別に設ける構成としたが、従来から行われているように、これら原画像フレームメモリ３とフレームメモリ８とを一つのフレームメモリで構成するようにしても良い。
【００３３】
【発明の効果】
以上説明したように、本発明は、入力画像の動きベクトルを求める動きベクトル探索装置において、この入力画像の動きベクトルを求める位置よりも上流の位置にて、入力画像に対して１フレーム前の前入力画像に含まれる画素と、この入力画像に含まれる画素との差分を評価することによって、大域動きベクトルを探索する。そのため、この大域動きベクトル探索結果は原画像データに基づいたものとなる。そして、その原画像データに基づいた大域動きベクトル探索結果から動きベクトルの探索範囲の形状を決定するようにしたので、直前までの符号化画像に対して動きが不連続となる画像においても、実際の符号化画像の動きに合った動きベクトル探索範囲が求められ常に精度の良い動きベクトル探索を行うことができるとともに、一定時間内で効率的に動きベクトルを探索することが可能となる。
【００３４】
さらに、入力画像に対して１フレーム前の前入力画像に含まれる画素の一部と、その入力画像に含まれる画素の一部との差分を評価することによって、大域動きベクトルを探索するようにしてあり、また必要に応じて、大域動きベクトルの精度を粗くしたり入力画像とＮＲ参照画像とを間引きするなどして、大域動きベクトルを探索するための演算量を減らすことができる。
さらに、大域動きベクトル探索において参照する１フレーム前の入力画像として、時間軸ノイズ低減フィルタが参照する画像を使用するようにしたので、新たに、１フレーム前の入力画像を保持するフレームメモリを具備する必要が無いという効果もある。
【００３５】
また、入力画像の第一の動きベクトルの探索時に参照する画像と前記入力画像との間に挟まれる中間入力画像が存在する場合には、該中間入力画像に対する大域動きベクトル探索結果と、該入力画像に対する大域動きベクトル探索結果とから動きベクトルの探索範囲を決定する。したがって、直前までの符号化画像に対して動きが不連続となる画像においても、実際の符号化画像の動きに合った動きベクトル探索範囲が求められ、常に精度の良い動きベクトル探索を行うことができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態による動画像符号化装置の構成を示すブロック図である。
【図２】  図１における大域動きベクトル探索部４の構成を示すブロック図である。
【図３】  図１の動画像符号化装置による動きベクトル探索動作を説明するための図である。
【図４】  図３（ｂ）のＭ＝１符号化の場合に、動きベクトル探索範囲を決定する動作を説明するための第１の図である。
【図５】  図３（ｂ）のＭ＝１符号化の場合に、動きベクトル探索範囲を決定する動作を説明するための第２の図である。
【図６】  図３（ｂ）のＭ＝１符号化の場合に、動きベクトル探索範囲を決定する動作を説明するための第３の図である。
【図７】  図３（ｂ）のＭ＝１符号化の場合に、動きベクトル探索範囲を決定する動作を説明するための第４の図である。
【図８】  図３（ｂ）のＭ＝１符号化の場合に、動きベクトル探索範囲を決定する動作を説明するための第５の図である。
【図９】  従来の動画像符号化装置の構成を示すブロック図である。
【符号の説明】
１  ＣＰＵ
２  ＮＲフィルタ
３  原画像フレームメモリ
４  大域動きベクトル探索部
５  ＭＢ符号化処理部
６  動き探索部
７  符号化・後処理部
８  フレームメモリ
１０  動画像符号化装置
【図１】
0003753578.tif 000002
【図２】
0003753578.tif 000003
【図３】
0003753578.tif 000004
【図４】
0003753578.tif 000005
【図５】
0003753578.tif 000006
【図６】
0003753578.tif 000007
【図７】
0003753578.tif 000008
【図８】
0003753578.tif 000009
【図９】
0003753578.tif 000010