(57)【要約】【課題】符号化処理全体としての処理効率を向上し得る動き予測補償装置及びその方法を提案する。【解決手段】複数の画素ブロックのうち予測対象の画素ブロックとなる対象画素ブロックのアドレスを検出し、当該検出されたアドレスに応じて、参照フレームにおける対象画素ブロックに対する動きベクトルの探索範囲として、第１の探索範囲又は当該第１の探索範囲よりも狭い第２の探索範囲を決定し、対象画素ブロックに隣接する周囲の画素ブロックに基づいて生成した動きベクトルの予測値を中心として、当該決定した探索範囲内から動きベクトルを探索するようにした。【選択図】        図７
2004328633.tif 000002
【特許請求の範囲】
【請求項１】
連続するフレームのうち対象フレームを分割してなる複数の画素ブロックそれぞれの動き量を、当該対象フレームに対して未来又は過去の上記フレームでなる参照フレームを用いて予測補償する動き予測補償装置において、
各上記画素ブロックのうち予測対象の上記画素ブロックとなる対象画素ブロックのアドレスを検出するアドレス検出手段と、
上記アドレス検出手段により検出された上記アドレスに応じて、上記参照フレームにおける上記対象画素ブロックに対する動きベクトルの探索範囲として、第１の上記探索範囲又は当該第１の上記探索範囲よりも狭い第２の上記探索範囲を決定する探索範囲決定手段と、
上記対象画素ブロックに隣接する周囲の上記画素ブロックに基づいて生成した上記動きベクトルの予測値を中心として、上記探索範囲決定手段により決定された上記探索範囲内から上記動きベクトルを探索する動きベクトル探索手段と
を具えることを特徴とする動き予測補償装置。
【請求項２】
上記探索範囲決定手段は、
水平方向及び垂直方向の上記アドレスが共に偶数又は奇数でなかった場合にのみ第２の上記探索範囲を決定する
ことを特徴とする請求項１に記載の動き予測補償装置。
【請求項３】
上記動きベクトル検出手段は、
上記動きベクトルの上記予測値を上記探索範囲の中心としたとき、上記対象画素ブロックの位置に対応する上記参照フレーム上の上記画素ブロックの位置が上記探索範囲内に含まれていない場合には上記予測値を補正し、
上記探索範囲決定手段は、
上記第２の上記探索範囲を決定した場合には、上記動きベクトル検出手段に対する上記予測値の補正を停止させる
ことを特徴とする請求項２に記載の動き予測補償装置。
【請求項４】
連続するフレームのうち対象フレームを分割してなる複数の画素ブロックそれぞれの動き量を、当該対象フレームに対して未来又は過去の上記フレームでなる参照フレームを用いて予測補償する動き予測補償方法において、
各上記画素ブロックのうち予測対象の上記画素ブロックとなる対象画素ブロックのアドレスを検出する第１のステップと、
上記第１のステップで検出された上記アドレスに応じて、上記参照フレームにおける上記対象画素ブロックに対する動きベクトルの探索範囲として、第１の上記探索範囲又は当該第１の上記探索範囲よりも狭い第２の上記探索範囲を決定する第２のステップと、
上記対象画素ブロックに隣接する周囲の上記画素ブロックに基づいて生成した上記動きベクトルの予測値を中心として、上記第２のステップで決定された上記探索範囲内から上記動きベクトルを探索する第３のステップと
を具えることを特徴とする動き予測補償方法。
【請求項５】
上記第２のステップでは、
水平方向及び垂直方向の上記アドレスが共に偶数又は奇数でなかった場合にのみ第２の上記探索範囲を決定する
ことを特徴とする請求項４に記載の動き予測補償方法。
【請求項６】
上記第３のステップでは、
上記動きベクトルの上記予測値を上記探索範囲の中心としたとき、上記対象画素ブロックの位置に対応する上記参照フレーム上の上記画素ブロックの位置が上記探索範囲内に含まれていない場合には上記予測値を補正し、
上記第２のステップでは、
上記第２の上記探索範囲を決定した場合には、上記第３のステップにおける上記予測値の補正を停止させる
ことを特徴とする請求項５に記載の動き予測補償方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動き予測補償装置及び動き予測補償方法に関し、例えば所定の符号化方式により符号化する符号化装置に適用して好適なものである。
【０００２】
【従来の技術】
【０００３】
【従来の技術】
従来、画像符号化装置は、外部から供給される動画像データに対して所定の画像符号化方式に準拠した符号化処理を施すことにより、当該動画像データのデータ量を削減した符号化データを生成するようになされている。
【０００４】
かかる画像符号化方式としては、ＩＳＯ／ＩＥＣの符号化専門家グループ（ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）により汎用画像の符号化を目的として標準化されたＭＰＥＧと呼ばれる画像符号化方式と、ＩＴＵ団体によりテレビ会議用画像の符号化を目的として標準化されたＨ．２６ｘ（Ｈ．２６１，Ｈ．２６３，…）と呼ばれる画像符号化方式とが知られている。
【０００５】
また近年における携帯電話機等の携帯端末装置の普及等により、一段と高い符号化効率を実現するための画像符号化方式の必要性が示唆されており、これに対応すべく現在では、ＭＰＥＧとＩＴＵ団体とによって、ＪＶＴ（Ｊｏｉｎｔ  Ｍｏｄｅｌ  ｏｆＥｎｈａｎｃｅｄ−Ｃｏｍｐｒｅｓｓｉｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）と呼ばれる画像符号化方式（以下、これをＪＶＴ符号化方式と呼ぶ）の標準化が進められている。
【０００６】
このＪＶＴ符号化方式においては、連続するフレーム（動画像）のうち対象フレームの動き量を、当該対象フレームに対して未来又は過去の参照フレームを用いて予測する処理（以下、これを動き予測補償処理と呼ぶ）を行う場合、図１１に示すように、当該予測対象の画素ブロック（以下これを動き補償ブロックと呼ぶ）のブロックサイズとして、図１６に示すように、縦横１６×１６、縦横８  ×１６画素、縦横１６×８  画素、あるいは縦横８  ×８  画素の４種類のブロックサイズ毎にそれぞれ動きベクトルを探索することができ、これらブロックサイズの動き補償ブロックごとにそれぞれ独立して動きベクトルを持つことができる。
【０００７】
これに加えて館横８×８のブロックサイズでなる動き補償ブロックについては、さらに、縦横８  ×８  画素、縦横４  ×８  画素、縦横８  ×４  画素、又は縦横４  ×４  画素の４種類のブロックサイズ毎にそれぞれ動きベクトルを探索することができ、これらブロックサイズの動き補償ブロックについてもそれぞれ独立して動きベクトルを持つことができる。
【０００８】
この場合、ＪＶＴ符号化方式においては、フレーム内のマクロブロック分割した後、これらマクロブロックについて、各種ブロックサイズでなる動き補償ブロックに順次変更しながら動きベクトルを探索することにより、最大１６つの動きベクトルを持つことが可能である（例えば非特許文献１参照）。
【０００９】
またＪＶＴ符号化方式においては、例えば図１２に示すように、対象フレームＯＦ内における動き補償ブロックを複数の参照フレームＳＦ２及びＳＦ５を用いて動き予測補償処理を実行したり、対象フレームＯＦ内において互いに異なる位置の動き補償ブロックに対して別々の参照フレームＳＦ２及びＳＦ４用いて動き予測補償処理を実行することができ、これら参照され得る複数の参照フレームＳＦ１〜ＳＦ５をマルチリファレンスフレームと呼んでいる（例えば非特許文献１参照）。
【００１０】
【非特許文献１】
ＤＲＡＦＴ  ＩＳＯ／ＩＥＣ  １／４  ４９６−１０：２００２（Ｅ）
【００１１】
【発明が解決しようとする課題】
ところで、かかるＪＶＴ符号化方式に準拠した符号化装置においては、全てのマクロブロックについて、各ブロックサイズの動き補償ブロック毎に順次変更しながら複数の参照フレームを用いて動きベクトルを探索していることにより、既に標準化されている符号化方式に比して動き予測補償処理における処理負荷が増大してしまう。
【００１２】
また、既に標準化されている符号化方式に準拠した符号化装置であっても、一般には動き予測補償処理が符号化処理の中で最も処理負荷を要している。
【００１３】
従って、この動き予測補償処理の処理負荷を、予測精度を低下させることなく低減することができれば、符号化処理全体としての処理効率を向上することができるものと考えられる。
【００１４】
本発明は以上の点を考慮してなされたもので、符号化処理全体としての処理効率を向上し得る動き予測補償装置及びその方法を提案しようとするものである。
【００１５】
【課題を解決するための手段】
かかる問題を解決するため本発明においては、動き予測補償装置において、複数の画素ブロックのうち予測対象の画素ブロックとなる対象画素ブロックのアドレスを検出するアドレス検出手段と、アドレス検出手段により検出されたアドレスに応じて、参照フレームにおける対象画素ブロックに対する動きベクトルの探索範囲として、第１の探索範囲又は当該第１の探索範囲よりも狭い第２の探索範囲を決定する探索範囲決定手段と、対象画素ブロックに隣接する周囲の画素ブロックに基づいて生成した動きベクトルの予測値を中心として、探索範囲決定手段により決定された探索範囲内から動きベクトルを探索する動きベクトル探索手段とを設けるようにした。
【００１６】
この結果、この動き予測補償装置では、第１の動き探索範囲よりも狭い第２の探索範囲で動きベクトルを探索する分だけ処理負荷を低減することができると共に、当該予測ブロック周辺の動きの傾向を反映した予測値を中心として探索している分だけ予測精度の低下を防止することができる。
【００１７】
また本発明においては、動き予測補償方法において、複数の画素ブロックのうち予測対象の画素ブロックとなる対象画素ブロックのアドレスを検出する第１のステップと、第１のステップで検出されたアドレスに応じて、参照フレームにおける対象画素ブロックに対する動きベクトルの探索範囲として、第１の探索範囲又は当該第１の探索範囲よりも狭い第２の探索範囲を決定する第２のステップと、対象画素ブロックに隣接する周囲の画素ブロックに基づいて生成した動きベクトルの予測値を中心として、第２のステップで決定された探索範囲内から動きベクトルを探索する第３のステップとを設けるようにした。
【００１８】
この結果、この動き予測補償方法では、第１の動き探索範囲よりも狭い第２の探索範囲で動きベクトルを探索する分だけ処理負荷を低減することができると共に、当該予測ブロック周辺の動きの傾向を反映した予測値を中心として探索している分だけ予測精度の低下を防止することができる。
【００１９】
【発明の実施の形態】
（１）ＪＶＴ符号化方式の概要
ＪＶＴ符号化方式においては、フレーム内をマクロブロックに分割した後、図１１において上述したように当該マクロブロック以下のブロックサイズでなる各種動き補償ブロック毎に順次変更しながら動き予測補償処理を実行するように規定されている。
【００２０】
この動き補償予測処理としては、動き補償ブロックに対する動きベクトルを検出する処理（以下、これを動き予測処理と呼ぶ）と、当該検出された動きベクトルに応じて動き補償ブロックの画素をシフトさせる処理（以下、これを動き補償処理と呼ぶ）とに大別することができる。
【００２１】
そしてＪＶＴ符号化方式においては、かかる動き補償処理を、１／４画素精度及び１／８画素精度でそれぞれ実行することができるようになされている。
【００２２】
ここで、図１を用いて、輝度成分信号に対する１／４画素精度の動き補償処理について説明する。この図１では、斜線のブロックを整数画素として表し、斜線のないブロックを１／２画素として表している。
【００２３】
ＪＶＴ符号化方式においては、１／２画素の画素値を生成するためにＦＩＲフィルタを採用し、次式、
【００２４】
【数１】
2004328633.tif 000003
【００２５】
【００２６】
でなる６ｔａｐのフィルタ係数が定義されている。
【００２７】
図１において、１／２画素の画素値ｂ、ｈに関しては、（１）式のフィルタ係数を用いて、次式
【００２８】
【数２】
2004328633.tif 000004
【００２９】
のように、積和演算を行った後、
【００３０】
【数３】
2004328633.tif 000005
【００３１】
のようにして算出する。このＣｌｉｐ１は（０、２５５）間でのクリップを示す。
【００３２】
また画素値ｊに関しては、ｂ、ｈと同様の手法で画素値ａａ、ｂｂ、ｃｃ、ｄｄ、ｆｆ、ｇｇ、ｈｈを生成した後に、次式
【００３３】
【数４】
2004328633.tif 000006
【００３４】
のように積和演算を行い、さらに次式、
【００３５】
【数５】
2004328633.tif 000007
【００３６】
のようなクリップ処理によって算出される。
【００３７】
また画素値ａ、ｃ、ｄ、ｎ、ｆ、ｉ、ｋ、ｑに関しては、次式、
【００３８】
【数６】
2004328633.tif 000008
【００３９】
のように、整数画素の画素値と、１／２画素の画素値の線形内挿により算出する。
【００４０】
また画素値ｅ、ｇ、ｐ、ｒに関しては、次式、
【００４１】
【数７】
2004328633.tif 000009
【００４２】
のように１／２画素の画素値を用いた線形内挿により算出する。
【００４３】
一方、色差信号に対する動き補償処理については、図２に示すように、１／４画素精度の動き補償処理及び１／８画素精度の動き補償処理の場合ともに、次式、
【００４４】
【数８】
2004328633.tif 000010
【００４５】
のような線形内挿により算出される。
【００４６】
次に、ＪＶＴ符号化方式に規定される動き予測処理について説明する。
この動き予測処理により生成される動きベクトル情報は、予測対象の動き補償ブロックに隣接する周辺の動き補償ブロックに対して既に検出された動きベクトルに基づいて得られる予測値と、予測対象の動き補償ブロックに対する動きベクトルとの差分情報として表される。
【００４７】
ここで、図３を用いて、動き補償ブロックＥに対する動きベクトルの予測値の生成方法を説明する。なお図３に記述したアルファベットについては、図１に記述したアルファベットとの関連性はない。
【００４８】
図３において、動き補償ブロックＣが当該ピクチャ内若しくは当該スライス内に存在しない場合又は当該マクロブロック内の、復号順序の関係で、その情報が”ａｖａｉｌａｂｌｅ”ではない場合、動き補償ブロックＤに関する動きベクトルの値、及び、参照フレームインデックスに基づいて予測値を生成する。
【００４９】
動き補償ブロックＢ、Ｃ及びＤが全て当該ピクチャ内若しくは当該スライス内に存在しない場合には、動き補償ブロックＤに関する動きベクトルの値、及び、参照フレームインデックスに基づいて予測値を生成する。
【００５０】
上述のケースに該当しない場合、隣接マクロブロックがイントラ符号化される場合又は当該ピクチャ内若しくは当該スライス内に存在しない場合には、動き補償ブロックＥに対する動きベクトルの値は０であり、当該動き補償ブロックＥは、動き補償ブロックＡ、Ｂ、Ｃ及びＤと異なる参照フレームを参照するものとみなされる。
【００５１】
また動き補償ブロックＡ、Ｂ及びＣのうち、いずれか１つの動き補償ブロックのみが、動き補償ブロックＥと同じ参照フレームを参照する場合には、当該動き補償ブロックＥと同じ参照フレームを参照する動き補償ブロックＡ、Ｂ又はＣの動きベクトルを予測値として生成する。
【００５２】
さらに上述のケースいずれにも該当しない場合には、動き補償ブロックＡ、Ｂ及びに対する動きベクトルのメディアン（ｍｅｄｉａｎ）を予測値として生成するようになされている。
【００５３】
次に、図４を用いて、ＪＶＴ符号化方式に規定される動きベクトルの探索手法について、まずは整数画素精度の動き探索について説明する。この図４では、「０」〜「２４」を整数画素として表すと共に、動き探索の際の探索順序を表している。
【００５４】
図４において、画素０は、動きベクトル探索の中心を示す。ＪＶＴ符号化方式においては、図３について上述した手法により生成される予測値を探索の中心とし、この中心かららせん状に±Ｓｅａｒｃｈ＿Ｒａｎｇｅ分の探索を行うようになされている。
【００５５】
この場合、ＪＶＴ符号化方式においては、小数画素精度でも動き探索することができるようになされており、この小数画素精度の動き探索について図５を用いて説明する。この図５では、「Ａ」〜「Ｉ」を整数画素として表し、「１」〜「８」を１／２画素として表し、「ａ」〜「ｈ」を１／４画素として表している。なお図５記述したアルファベット及び数字は、他の図中に記述したアルファベット及び数字との関連性はない。
【００５６】
図５において、整数画素精度の動き探索により、画素Ｅが最適な動きベクトルであると検出されたとした場合、当該画素Ｅの周囲の１／２画素１〜８を番号順に探索し、この探索の結果例えば画素７が最適な動きベクトル情報として検出された場合、当該画素Ｅの周囲の１／４画素ａ〜ｈを番号順に探索するようになされている。
【００５７】
このようにしてＪＶＴ符号化方式における動き予測補償処理では、全てのマクロブロックについて、各ブロックサイズの動き補償ブロック毎に順次変更しながら複数の参照フレームを用いて動きベクトルを探索する分、当該動き予測補償処理における処理負荷が増大してしまうため、本発明では、極力画質を劣化することなく動き予測補償処理の処理負荷を低減するようになされている。
【００５８】
以下図面について、本発明の一実施の形態を詳述する。
【００５９】
（２）画像符号化装置の構成
図６において、１は全体としてＪＶＴ符号化方式に準拠した画像符号化装置を示し、複数のフレームによって形成された動画像のデータ（以下、これを動画像データと呼ぶ）Ｄ１を外部から入力し、当該動画像データＤ１のデータ量を効率よく削減するようになされている。
【００６０】
具体的にこの画像符号化装置１は、外部から供給された動画像データＤ１を画像並替バッファ２に一旦記憶し、当該動画像データＤ１の各フレームをＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）  構造に応じて符号化順に並び替た後、順次フレームデータＤ２として画像並替バッファ２から読み出す。
【００６１】
ここで、画像符号化装置１は、画像並替バッファ２から読み出したフレームデータＤ２の画像タイプがＩ（Ｉｎｔｒａ）  フレームである場合、当該フレームデータＤ２をイントラ予測部４に送出する。
【００６２】
イントラ予測部４は、フレームデータＤ２に基づくフレーム内を基準単位である画素ブロック（以下、これをマクロブロックと呼ぶ）に分割した後、過去のマクロブロックを用いて予測対象のマクロブロックの画素値を予測する処理を順次実行し、この処理の結果順次得られる当該画素値を予測データＤ３として加算器３に送出する。
【００６３】
これに対して画像符号化装置１は、画像並替バッファ２から読み出したフレームデータＤ２の画像タイプがＩフレーム以外である場合、当該フレームデータＤ２を動き予測補償処理部５に送出する。
【００６４】
動き予測補償処理部５は、フレームデータＤ２に基づくフレーム内をマクロブロックに分割した後、当該フレームよりも未来又は過去の複数の参照フレーム（図１２）を用いて、図３において上述した各種ブロックサイズでなる動き補償ブロック毎に複数の参照フレームを用いて動き予測補償処理を実行する。
【００６５】
この場合、動き予測補償処理部５は、予測対象の動き補償ブロックと、当該動き補償ブロックの画素値に最も近似する所定の参照フレーム内の動き補償ブロックとの間における動き量を動きベクトルとして検出し、当該検出した動きベクトルと、図１１において上述したようにして当該動き補償ブロックに隣接する動き補償ブロックに基づいて生成した予測値（例えばｍｅｄｉａｎ値）との差分値を求める動き予測処理を実行し、当該差分値を動きベクトル情報ＭＶＤとして可逆符号化部９に順次送出する。
【００６６】
また動き予測補償処理部５は、動きベクトルに応じて動き補償ブロックの画素をシフトさせる動き補償処理を実行し、当該シフトさせた画素の画素値を予測データＤ４として加算器３に順次送出するなされている。
【００６７】
加算器３は、このようにして画像タイプに応じた予測方式により予測された結果、イントラ予測部４又は動き予測補償処理部５より順次与えられる予測データＤ３又はＤ４を、対応するフレームデータＤ２から減算することにより予測残差を算出し、この予測残差を差分データＤ５として直交変換部６に送出する。
【００６８】
直交変換部６は、差分データＤ５に対して離散コサイン変換等の直交変換処理を施すことにより直交変換係数データＤ６を生成し、これを量子化部７に送出する。
【００６９】
量子化部７は、直交変換係数データＤ６に対して、レート制御部８による所定のフィードバック制御処理に従って与えられる量子化パラメータＤ８に応じて量子化処理を施すことにより量子化データＤ７を生成し、これを可逆符号化処理部９及び逆量子化部１１にそれぞれ送出する。
【００７０】
可逆符号化処理部９は、量子化データＤ７及び対応する動きベクトル情報ＭＶＤに対して、可変長符号化や算術符号化等の可逆符号化処理を施すことにより符号化データＤ９を生成し、これを蓄積バッファ１０に蓄積する。この符号化データＤ９は、所定のタイミングの際に蓄積バッファ１０から読み上げられ、レート制御部８又は外部に送出される。
【００７１】
このようにして画像符号化装置１は、空間的あるいは時間的に隣接する画素の相関が高いことを利用した各種処理を実行することにより、動画像データＤ１に比してデータ量を大幅に削減した符号化データＤ９を生成することができるようになされている。
【００７２】
一方、逆量子化部１１は、量子化部７から与えられる量子化データＤ７に対して逆量子化処理を施すことにより、直行変換係数データＤ６に相当する直交変換係数データＤ１１を復元し、これを逆直交変換部１２に送出する。
【００７３】
逆直交変換部１２は、直交変換係数データＤ１１に対して逆直交変換処理を施すことにより、差分データＤ５に相当する差分データＤ１２を復元し、これを加算器１３に送出する。
【００７４】
加算器１３は、差分データＤ１２に対応する予測データＤ３又はＤ４を順次加算することにより、フレームデータＤ２に相当するフレームデータＤ１３を順次局部再生し、これをデブロックフィルタ１４に送出する。
【００７５】
デブロックフィルタ１４は、フレームデータＤ１３に基づくフレームについて、動き予測補償処理部５等によって分割された互いに隣接するブロック間に歪みが生じている場合には、当該歪み部分をフィルタリングすることにより滑らかにした後、必要に応じて図１２で上述したマルチリファレンスフレームの一部となる参照フレームのデータ（以下、これを参照フレームデータと呼ぶ）Ｄ１４としてフレームメモリ１５に記憶する。この参照フレームデータＤ１４は、動き予測補償部５によって読み上げられ、フレームデータＤ２における各動き補償ブロックの画素値を順次予測する際に用いられる。
【００７６】
このようにこの画像符号化装置１では、処理対象のフレームに属する動き補償ブロックの画素値を時間的に異なる複数の参照フレームを用いて予測することにより、例えば処理対象のフレーム直前の参照フレームがカメラフラッシュ等により予測困難なフレームとなる場合であっても、それ以外のフレームを参照フレームとして用いて予測することができ、この結果、当該予測の際の無駄な演算量を回避できる分だけ符号化効率を向上することができるようになされている。
【００７７】
これに加えてこの画像符号化装置１では、予め歪みを除去して滑らかにした参照フレームを用いて予測することにより、当該歪みによる予測精度の低下を回避することができ、この結果、当該予測の際の無駄な演算量を回避できる分だけ符号化効率を向上することができるようになされている。
【００７８】
（３）動き予測補償処理部５の動き予測処理
次に、動き予測補償処理部５における動き予測処理の処理内容について説明する。
【００７９】
この動き予測処理の処理内容を機能的に分類すると、図７に示すように、予測対象の動き補償ブロック（以下、これを予測ブロックと呼ぶ）の動きベクトル情報ＭＶＤを生成する動き予測部２０と、当該予測ブロックを含むマクロブロックのアドレスを検出するマクロブロックアドレス検出部２１と、当該予測ブロックの動きベクトルを探索する際の範囲（以下、これを動き探索範囲と呼ぶ）を決定する探索範囲決定部２２とに分けることができる。以下、動き予測補償部２０、マクロブロックアドレス検出部２１及び探索範囲決定部２２の各処理について説明する。
【００８０】
（３−１）動き予測部２０の処理
動き予測部２０は、画像並替バッファ２（図６）から与えられたフレームデータＤ２と、このときフレームメモリ１５に記憶されている１又は２以上の参照フレームデータＤ１４とを内部メモリに記憶した後、当該フレームデータＤ２に基づくフレームと、参照フレームデータＤ１４に基づく参照フレームとをマクロブロックに分割する。
【００８１】
この状態において動き予測部２０は、フレーム内における各マクロブロックについて、順次、図１１に示した各ブロックサイズでなる動き補償ブロックそれぞれに対する動きベクトル情報ＭＶＤを複数の参照フレーム（図１２）を用いて生成するようになされている。
【００８２】
実際上、動き予測部２０は、例えばマクロブロックと同一のブロックサイズのある予測ブロックに対する動きベクトル情報ＭＶＤを生成する場合、まず、予測ブロックに対応するブロックサイズでなる周囲の動き補償ブロックに対して既に検出された動きベクトルに基づいて、図３において上述したようにして、当該予測ブロックに対する動きベクトルの予測値を生成する。従ってこの予測値は、予測ブロック周辺の動画像ブロックにおける動きの傾向を反映した値となる。
【００８３】
そして動き予測部２０は、この予測値を所定の動き探索範囲の中心位置（以下、これをサーチセンタと呼ぶ）としたとき、予測ブロックの位置に対応する参照フレーム上の画素ブロックの位置（即ち動きベクトルが（０，０）となる値である。以下、これを動きゼロ位置と呼ぶ）が動き探索範囲内に含まれている場合には当該予測値をそのままサーチセンタとして決定する。
【００８４】
これに対して動き予測部２０は、予測値を動き探索範囲のサーチセンタとしたとき、動きゼロ位置が動き探索範囲内に含まれていない場合には、当該動きゼロ位置が動き探索範囲内に含まれるまで予測値をずらす処理（以下、これを予測値補正処理と呼ぶ）を実行し、当該補正した予測値（以下、これを補正予測値と呼ぶ）をサーチセンタとして決定する。
【００８５】
次いで動き予測部２０は、このようにして決定したサーチセンタから動き探索範囲内において、予測ブロックの画素値と差分の絶対値総和が最小となる動き補償ブロックとの間における動きベクトル等、当該予測ブロックの画素値に最も近似する動き補償ブロックとの間における動きベクトルを最適な動きベクトルとして検出した後、当該検出した動きベクトルと、当該予測ブロックの予測値との差分値を動きベクトル情報ＭＶＤとして生成し、これを可逆符号化処理部９（図６）に送出するようになされている。
【００８６】
このようにして動き予測部２０は、動きゼロ位置が探索範囲内に常に含まれた状態で動きベクトルを探索することにより、予測ブロック周囲における実際の動きが複数の方向へ分散している場合であっても、当該予測ブロックに対する動きベクトルを精度良く検出することができるようになされている。
【００８７】
（３−２）マクロブロックアドレス検出部２１の処理
マクロブロックアドレス検出部２１は、動き予測部２０の内部メモリに記憶されるフレームデータＤ２を常時監視するようになされており、図８に示すように、当該フレームデータＤ２に基づくフレームの左上角を基準として、当該動き予測部２０において現在処理対象の予測ブロックを含むマクロブロックの水平方向（ｘ方向）及び垂直方向（ｙ方向）のアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）を検出し、当該検出結果をデータ（以下、これをアドレス検出データと呼ぶ）Ｄ２１として探索範囲決定部２２に送出する。
【００８８】
（３−３）探索範囲決定部２２の処理
探索範囲決定部２２は、アドレス検出データＤ２１に表されるアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）に基づいて、次式、
【００８９】
【数９】
2004328633.tif 000011
2004328633.tif 000012
【００９０】
のように、当該アドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）に応じた関数ｆによって、予め設定された第１の動き探索範囲又は当該第１の動き探索範囲よりも範囲の狭い第２の動き探索範囲を決定する。
【００９１】
具体的に探索範囲決定部２２は、（９）式に定義される関数ｆとして、２で割った際の剰余を％２とすると、次式、
【００９２】
【数１０】
2004328633.tif 000013
【００９３】
若しくは、次式、
【００９４】
【数１１】
2004328633.tif 000014
【００９５】
を用いる。
【００９６】
そして探索範囲決定部２２は、この（１０）式及び（１１）式による計算の結果、ｘ方向のＭＢアドレス（ＭＢ＿ｘ）と、ｙ方向のＭＢアドレス（ＭＢ＿ｘ）とを２で割った際の剰余％２が、いずれも割り切れた場合（即ち「０」）若しくは割り切れなかった場合（即ち「１」）には第１の探索範囲ＳＲ１を決定し、これに対してかかる場合以外には第２の探索範囲ＳＲ２を決定し、当該決定を探索範囲決定データＤ２２として動き予測部２０に送出するようになされている。
【００９７】
従って探索範囲決定部２２は、図９に示すように、フレーム内の各マクロブロックを、水平方向（ｘ方向）及び垂直方向（ｙ方向）にそれぞれ１画素おきに第１の探索範囲ＳＲ１よりも狭い第２の探索範囲ＳＲ２で動き予測部２０に探索させ得るようになされている。
【００９８】
この結果、動き予測補償部２０では、１画素おきに第１の探索範囲ＳＲ１よりも狭い第２の探索範囲ＳＲ２で動き予測処理を実行することができる分、マクロブロックについて各ブロックサイズの予測ブロック毎に動きベクトルを順次探索する際の処理負荷を低減することができるようになされている。
【００９９】
その際、動き予測補償部２０では、予測ブロック周辺の動きの傾向を反映した予測値をサーチセンタとして動き探索範囲ＳＲ１又はＳＲ２内について探索するため、予測ブロックの画素の動きが大きい場合であっても動きベクトルを検出することができる分、第１の動き探索範囲ＳＲ１よりも狭い第２の動き探索範囲ＳＲ２で動きベクトルを探索しても予測精度の低下させることなく探索することができるようになされている。
【０１００】
この実施の形態の場合、探索範囲決定部２２は、上述の（１０）式及び（１１）式により第２の探索範囲ＳＲ２を決定したときには、当該動き予測部２０による予測値補正処理を停止させるための制御データＤ２３を生成し、これを探索範囲決定データＤ２２と共に動き予測部２０に送出するようになされている。
【０１０１】
この結果、動き予測補償部２０では、予測値を第２の動き探索範囲ＳＲ２のサーチセンタとしたとき、当該動き探索範囲ＳＲ２内に予測ブロックの画素値が含まれていない場合であっても、予測値補正処理を実行しない分、動きベクトルを探索する際の処理負荷を低減することができるようになされている。
【０１０２】
この場合、動き予測補償部２０では、図９に示すように、動き探索範囲ＳＲ２で探索した各動き補償ブロックを含むマクロブロックの周囲のマクロブロックについては、当該動き探索範囲ＳＲ２よりも広い動き探索範囲ＳＲ１で動きベクトルを探索しているため、当該動き探索範囲ＳＲ２で予測値補正処理を実行しなくてもその周囲の第１探索範囲ＳＲ１でカバーできるようになされている。
【０１０３】
このようにして動き予測補償処理部５は、マクロブロックの画素値を予測する際に、当該予測対象のマクロブロックのアドレスに応じて、動き探索範囲ＳＲ１、ＳＲ２及び予測値補正処理の停止の有無を適応的に切り替えることにより、予測精度を低下させることなく動き予測処理の処理負荷を低減することができるようになされている。
【０１０４】
（４）作用及び効果
以上の構成において、この動き予測補償処理部５は、予測ブロックに含まれるマクロブロックのアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）を検出し、当該検出したアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）に応じて動き探索範囲ＳＲ１又はＳｒ２を決定する。
【０１０５】
この状態において動き予測補償処理部５は、予測ブロックに対応するブロックサイズでなる周囲の動き補償ブロックに対して既に検出された動きベクトルに基づいて予測値を生成し、この予測値を中心として動き探索範囲ＳＲ１又はＳｒ２内から動きベクトルを探索するようにした。
【０１０６】
従ってこの動き予測補償処理部５では、第１の動き探索範囲ＳＲ１よりも狭い第２の探索範囲ＳＲ２で動き予測処理を実行することができる分、マクロブロックについて各ブロックサイズの動き補償ブロック毎に動きベクトルを順次探索する際の処理負荷を大幅に低減することができる。
【０１０７】
これに加えて動き予測補償処理部５では、予測ブロック周辺の動きの傾向を反映した予測値をサーチセンタとして動きベクトルを探索する分、予測ブロックの画素の動きが大きい場合であっても動きベクトルを検出することができるため、第１の動き探索範囲ＳＲ１よりも狭い第２の動き探索範囲ＳＲ２で動きベクトルを探索しても予測精度の低下を防止することができる。
【０１０８】
また、動き予測補償処理部５は、水平方向及び垂直方向のアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）値が共に偶数又は奇数でなかった場合にのみ第２の探索範囲ＳＲ２を決定するようにしたことにより、簡易な計算量で探索範囲Ｓｒ１又はＳＲ２を決定することができる。
【０１０９】
この場合、第１の探索範囲ＳＲ１と、当該第１の探索範囲ＳＲ１よりも狭い第２の探索範囲ＳＲ２とを交互に決定できるため、第２の探索範囲ＳＲ２が狭くてもその範囲よりも広い周囲の第１探索範囲ＳＲ１でカバーできる分だけ、当該第１の探索範囲ＳＲ１と、第２の探索範囲ＳＲ２との格差を比較的大きくすることができ、この結果、予測精度の低下を抑えながら第２の探索範囲ＳＲ２を探索する際の処理負荷を一段と低減できる。
【０１１０】
さらに、この動き予測補償処理部５は、第２の探索範囲ＳＲ２を決定した場合には、動き予測部２０による予測値補正処理を停止させるようにした。
【０１１１】
従ってこの動き予測補償処理部５では、予測値補正処理を実行しない分、第２の探索範囲ＳＲ２を探索する際の処理負荷を一段と低減することができる。
【０１１２】
以上の構成によれば、予測ブロックに含まれるマクロブロックのアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）に応じて動き探索範囲ＳＲ１又はＳｒ２を決定し、当該予測ブロックに対応する周囲の動き補償ブロックに基づいて生成した予測値を中心として動き探索範囲ＳＲ１又はＳｒ２内から動きベクトルを探索するようにしたことにより、第１の動き探索範囲ＳＲ１よりも狭い第２の探索範囲ＳＲ２で動き予測処理を実行することができる分だけ処理負荷を低減することができると共に、当該予測ブロック周辺の動きの傾向を反映した予測値をサーチセンタとして動き探索している分だけ予測精度の低下を防止することができ、かくして、符号化処理全体としての処理効率を向上することができる。
【０１１３】
（５）他の実施の形態
上述の実施の形態においては、対象画素ブロックのアドレスを検出するアドレス検出手段として、動き予測部２０の内部メモリに記憶されるフレームデータＤ２に基づくフレームの左上角を基準として、当該動き予測部２０において現在処理対象の予測ブロックを含むマクロブロックのアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）を検出するようにした場合について述べたが、本発明はこれに限らず、当該左上角以外を基準として予測ブロックを含むマクロブロックのアドレス（ＭＢ＿ｘ，ＭＢ＿ｙ）を検出するようにしても良く、またマクロブロック以外の画素ブロックを検出するようにしても良い。
【０１１４】
また上述の実施の形態においては、対象画素ブロックのアドレスに応じて第１の探索範囲又は第２の探索範囲を決定する探索範囲決定手段として、フレーム内の水平方向及び垂直方向それぞれ１画素おきに交互に第１の探索範囲ＳＲ１又は第２の探索範囲ＳＲ２を決定する探索範囲決定部２２を本発明に適用するようにした場合について述べたが、本発明はこれに限らず、図１０に示すように、フレームの周囲のマクロブロックに対して第１の探索範囲ＳＲ１を決定し、それ以外のマクロブロックに対して第２の探索範囲ＳＲ２を決定するようにしても良い。この場合、上述の実施の形態の場合に比して第１の探索範囲ＳＲ１又は第２の探索範囲ＳＲ２の切り替えが少ない分だけ処理負荷を低減することができる。
【０１１５】
さらに上述の実施の形態においては、対象画素ブロックのアドレスに応じて第１の探索範囲又は第２の探索範囲を決定する探索範囲決定手段として、フレーム内の水平方向及び垂直方向それぞれ１画素おきに交互に第１の探索範囲ＳＲ１又は第２の探索範囲ＳＲ２を決定する探索範囲決定部２２を本発明に適用するようにした場合について述べたが、本発明はこれに限らず、スライスの先頭に該当するマクロブロックに対して第１の探索範囲ＳＲ１を決定し、それ以外のマクロブロックに対して第２の探索範囲ＳＲ２を決定するようにしても良い。この場合、上述の実施の形態の場合に比して第１の探索範囲ＳＲ１又は第２の探索範囲ＳＲ２の切り替えが少ない分だけ処理負荷を低減することができる。
【０１１６】
さらに上述の実施の形態においては、対象画素ブロックのアドレスに応じて第１の探索範囲又は第２の探索範囲を決定する探索範囲決定手段として、フレーム内の水平方向及び垂直方向それぞれ１画素おきに交互に第１の探索範囲ＳＲ１又は第２の探索範囲ＳＲ２を決定する探索範囲決定部２２を本発明に適用するようにした場合について述べたが、本発明はこれに限らず、これに加えて、当該アドレスがいずれも「０」（即ち、対象フレーム内の各マクロブロックのうち最初に動き予測補償処理が行われるマクロブロック）の場合にのみ第１の探索範囲ＳＲ１よりも広範囲な探索範囲を決定するようにしても良い。このようにすれば、一段と予測精度を向上することができる。
【０１１７】
さらに上述の実施の形態においては、対象画素ブロックに隣接する周囲の画素ブロックに基づいて生成した動きベクトルの予測値を中心として、探索範囲決定手段により決定された探索範囲内から動きベクトルを探索する動きベクトル探索手段として、当該予測値を探索範囲の中心としたとき、予測ブロックの位置に対応する参照フレーム上の画素ブロックの位置（動きゼロ位置）が第１の探索範囲ＳＲ１内に含まれていない場合には当該予測値を補正処理を実行する動き予測部２０を本発明に適用するようにした場合について述べたが、本発明はこれに限らず、当該補正処理を実行しないようにしても良い。
【０１１８】
また本発明は、当該予測値の位置をずらす割合を第１の探索範囲ＳＲ１と、第２の探索範囲ＳＲ２との格差の割合に応じて変更するようにしても良く、具体的には第１の探索範囲ＳＲ１と、第２の探索範囲ＳＲ２との格差の割合が大きいほど、予測ブロックの位置に対応する参照フレーム上の画素ブロックの位置（動きゼロ位置）に近づけるようにすれば、的確に予測精度の低下を抑えながら第２の探索範囲ＳＲ２を探索する際の処理負荷を低減できる。
【０１１９】
さらに上述の実施の形態においては、連続するフレームのうち対象フレームを分割してなる複数の画素ブロックそれぞれの動き量を、当該対象フレームに対して未来又は過去の上記フレームでなる参照フレームを用いて予測補償する動き予測補償装置として、ＪＶＴ符号化方式に準拠した動き予測補償処理を実行する動き予測補償処理部５を本発明に適用するようにした場合について述べたが、本発明はこれに限らず、例えばＭＰＥＧ２等、この他種々の符号化方式に準拠した動き予測補償処理を実行する動き予測補償装置に本発明を適用することができる。
【０１２０】
【発明の効果】
上述のように本発明によれば、連続するフレームのうち対象フレームを分割してなる複数の画素ブロックそれぞれの動き量を、当該対象フレームに対して未来又は過去の上記フレームでなる参照フレームを用いて予測補償する場合に、複数の画素ブロックのうち予測対象の画素ブロックとなる対象画素ブロックのアドレスを検出し、当該検出されたアドレスに応じて、参照フレームにおける対象画素ブロックに対する動きベクトルの探索範囲として、第１の探索範囲又は当該第１の探索範囲よりも狭い第２の探索範囲を決定し、対象画素ブロックに隣接する周囲の画素ブロックに基づいて生成した動きベクトルの予測値を中心として、当該決定した探索範囲内から動きベクトルを探索するようにしたことにより、第１の動き探索範囲よりも狭い第２の探索範囲で動きベクトルを探索する分だけ処理負荷を低減することができると共に、当該予測ブロック周辺の動きの傾向を反映した予測値を中心として探索している分だけ予測精度の低下を防止することができ、かくして、符号化処理全体としての処理効率を向上することができる。
【図面の簡単な説明】
【図１】輝度信号成分に対する１／４画素精度の動き補償の説明に供する略線図である。
【図２】色差信号成分に対する１／４画素精度の動き補償の説明に供する略線図である。
【図３】動きベクトルの予測値の生成の説明に供する略線図である。
【図４】動きベクトルの探索順序の説明に供する略線図である。
【図５】小数画素精度の動き探索の説明に供する略線図である。
【図６】画像符号化装置の構成を示すブロック図である。
【図７】動き予測補償処理部の構成を示すブロック図である。
【図８】マクロブロックアドレスの検出の説明に供する略線図である。
【図９】動き探索範囲の決定の説明に供する略線図である。
【図１０】他の実施の形態による動き探索範囲の決定の説明に供する略線図である。
【図１１】動き補償ブロックの説明に供する略線図である。
【図１２】マルチリファレンスフレームの説明に供する略線図である。
【符号の説明】
１……画像符号化装置、５……動き予測補償処理部、１５……フレームメモリ、２０……動き予測部、２１……マクロブロックアドレス算出部、２２……探索範囲決定部。
【図１】
2004328633.tif 000015
【図２】
2004328633.tif 000016
【図３】
2004328633.tif 000017
【図４】
2004328633.tif 000018
【図５】
2004328633.tif 000019
【図６】
2004328633.tif 000020
【図７】
2004328633.tif 000021
【図８】
2004328633.tif 000022
【図９】
2004328633.tif 000023
【図１０】
2004328633.tif 000024
【図１１】
2004328633.tif 000025
【図１２】
2004328633.tif 000026