(57)【要約】【課題】  動きベクトル探索処理において、余分なメモリアクセスを発生させずに、探索範囲を拡大する。【解決手段】  ブロック単位で動きベクトルを検出するに際して、あらかじめ設定した動きブロック探索範囲の境界を一部はみ出してしまう領域に対しては、符号化対象のブロックと候補ブロックとの相関度を用いたり、ブロック探索範囲の画素データのみを用いたりして画像データの補間を行い、補間した画像データを用いて動きベクトルの検出を行う。【選択図】  図１
2006203556.tif 000002
【特許請求の範囲】
【請求項１】
動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出する動きベクトル検出装置であって、
所定範囲外の画像データを補間するデータ補間手段と、
前記データ補間手段により補間された画像データと、前記所定範囲内の画像データとを用いて、前記動きベクトルを検出する動きベクトル検出手段とを有することを特徴とする動きベクトル検出装置。
【請求項２】
動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出する動きベクトル検出装置であって、
前記変位の予測対象である予測対象フレーム内の画像データを記憶媒体に格納するメモリ制御手段と、
前記動画像のフレーム内の符号化対象となる符号化対象ブロックと、前記予測対象フレームに対して設定された動きベクトル探索範囲から選択された候補ブロックとの相関度を求める相関度演算手段と、
前記相関度演算手段により求められた相関度を用いて、前記動きベクトルを検出する動きベクトル検出手段とを有し、
前記メモリ制御手段は、前記予測対象フレームに対して設定された第１の動きベクトル探索範囲の画像データを記憶媒体に格納し、
前記相関度演算手段は、前記第１の動きベクトル探索範囲内の符号化対象ブロックと候補ブロックとの相関度を求め、求めた相関度のうち、最も相関度の高い候補ブロックを第１の候補ブロックとした後、その第１の候補ブロックの周辺領域に対して設定された第２の動きベクトル探索範囲内の符号化対象ブロックと候補ブロックとの相関度を求め、求めた相関度のうち、最も相関度の高い候補ブロックを第２の候補ブロックとし、
前記動きベクトル検出手段は、前記第１の候補ブロックと前記第２の候補ブロックとのうち、相関度の高い方のブロックに対応した動きベクトルを検出結果とすることを特徴とする動きベクトル検出装置。
【請求項３】
動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出する動きベクトル検出装置であって、
前記変位の予測対象である予測対象フレーム内の画像データを記憶媒体に格納するメモリ制御手段と、
前記動画像のフレーム内の符号化対象となる符号化対象ブロックと、前記予測対象フレームに対して設定された動きベクトル探索範囲から選択された候補ブロックとの相関度を求める相関度演算手段と、
前記相関度演算手段により求められた相関度を用いて、前記動きベクトルを検出する動きベクトル検出手段とを有し、
前記相関度検出手段は、第１の動きベクトル探索範囲内の各候補ブロックについて、相関度を算出すると共に、第２の動きベクトル探索範囲内の各候補ブロックについて、相関度を算出し、
動きベクトル検出手段は、前記第１の動きベクトル探索範囲及び第２の動きベクトル探索範囲内の各候補ブロックについて、最も相関度の高い候補ブロックを選択し、選択した候補ブロックに対応した動きベクトルを検出結果とすることを特徴とする動きベクトル検出装置。
【請求項４】
前記相関度演算手段は、最も相関度の高い候補ブロックが前記第２の動きベクトル探索範囲内に含まれ、且つ前記候補ブロック内の画素データが前記記憶媒体から欠落している場合、前記候補ブロックと、前記符号化対象ブロックとの相関度を保持し、
前記メモリ制御手段は、前記候補ブロック内の前記欠落している画素データを前記記憶媒体に格納し、
前記相関度演算手段は、前記記憶媒体に格納されている画像データを用いて、前記候補ブロックと、前記符号化対象ブロックとの真の相関度を求め、
前記動きベクトル検出手段は、前記相関度演算手段により求められた真の相関度が、前記最も高い相関度よりも、予め定めた一定値以上低い場合に、前記動きベクトルの検出をやり直すことを特徴とする請求項３に記載の動きベクトル検出装置。
【請求項５】
前記相関度演算手段は、前記メモリ制御手段により記憶媒体に格納された画素データのみを用いて、前記第２の動きベクトル探索範囲内の符号化対象ブロックと候補ブロックとの相関度を求めることを特徴とする請求項２又は３に記載の動きベクトル検出装置。
【請求項６】
前記予測対象フレーム内の画像データのうち、前記メモリ制御手段により記憶媒体に格納されていない画素データを補間するデータ補間手段を有し、
前記相関度演算手段は、前記第２の動きベクトル探索範囲内の符号化対象ブロックと候補ブロックとの相関度を求めるに際し、前記メモリ制御手段により記憶媒体に格納されていない画素データについては、前記データ補間手段により補間された画像データを用いることを特徴とする請求項２又は３に記載の動きベクトル検出装置。
【請求項７】
前記相関度演算手段は、前記第２の動きベクトル探索範囲内にある候補ブロック内の画像データであって、前記メモリ制御手段により記憶媒体に格納されている画素データと、その画像データに対応する符号化対象ブロック内の画像データとを比較した結果の集計値に基づいて相関度を求めることを特徴とする請求項２又は３に記載の動きベクトル検出装置。
【請求項８】
前記相関度演算手段は、前記候補ブロック内の画像データであって、前記メモリ制御手段により記憶媒体に格納されている画素データの数と、前記候補ブロック内の画像データであって、前記メモリ制御手段により記憶媒体に格納されていない画素データの数との比率に応じて、前記比較した結果の集計値に重み付けを行うことを特徴とする請求項２又は３に記載の動きベクトル検出装置。
【請求項９】
前記相関度演算手段は、最も相関度の高い候補ブロックが前記第２の候補ブロックであり、且つ前記第２候補ブロック内の画素データが前記記憶媒体から欠落している場合、前記第１の候補ブロックと、前記符号化対象ブロックとの相関度を、第１のブロック間相関度として保持し、
前記メモリ制御手段は、前記第２の候補ブロック内の前記欠落している画素データを前記記憶媒体に格納し、
前記相関度演算手段は、前記記憶媒体に格納されている画像データを用いて、前記第２の候補ブロックと、前記符号化対象ブロックとの真の相関度を求め、
前記動きベクトル検出手段は、前記相関度演算手段により求められた真の相関度が、前記第１のブロック間相関度よりも低い場合に、前記第１の候補ブロックを選択し、その第１の候補ブロックに対応した動きベクトルを検出結果とすることを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項１０】
前記相関度演算手段は、最も相関度の高い候補ブロックが前記第２の候補ブロックであり、且つ前記第２候補ブロック内の画素データが前記記憶媒体から欠落している場合、前記第１の候補ブロックと、前記符号化対象ブロックとの相関度を、第１のブロック間相関度として保持し、
前記メモリ制御手段は、前記第２の候補ブロック内の前記欠落している画素データを前記記憶媒体に格納し、
前記相関度演算手段は、前記記憶媒体に格納されている画像データを用いて、前記第２の候補ブロックと、前記符号化対象ブロックとの真の相関度を求め、
前記動きベクトル検出手段は、前記相関度演算手段により求められた真の相関度が、前記第１のブロック間相関度よりも低い場合に、前記動きベクトルの検出をやり直すことを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項１１】
前記相関度演算手段は、最も相関度の高い候補ブロックが前記第２の候補ブロックであり、且つ前記第２候補ブロック内の画素データが前記記憶媒体から欠落している場合、前記第１の候補ブロックと、前記符号化対象ブロックとの相関度を、第１のブロック間相関度として保持し、
前記メモリ制御手段は、前記第２の候補ブロック内の前記欠落している画素データを前記記憶媒体に格納し、
前記相関度演算手段は、前記記憶媒体に格納されている画像データを用いて、前記第２の候補ブロックと、前記符号化対象ブロックとの真の相関度を求め、
前記動きベクトル検出手段は、前記相関度演算手段により求められた真の相関度が、前記第２のブロック間相関度よりも、予め定めた一定値以上低い場合に、前記動きベクトルの検出をやり直すことを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項１２】
前記動きベクトル検出手段により検出された動きベクトルに対応する候補ブロックが、前記データ補間手段により補間された画像データを含んでいるときに、その補間された画素データを用いて予測誤差演算を行い、符号化ストリームを作成し、その作成した符号化ストリームに、前記補間された画像データを含む旨の情報を付加する動き予測手段を有することを特徴とする請求項６に記載の動きベクトル検出装置。
【請求項１３】
前記動きベクトル検出手段により検出された動きベクトルに対応する候補ブロックにおいて、前記相関度演算手段により求められた相関度が定められた基準値以上の場合、非符号化ブロックとして前記候補ブロックを符号化する符号化手段を有することを特徴とする請求項２又は３に記載の動きベクトル検出装置。
【請求項１４】
前記符号化対象ブロックに対応した前記予測フレーム中のブロックに対して水平方向で且つ同一のブロック行内に、前記第１の動きベクトル探索範囲を限定することを特徴とする請求項２又は３に記載の動きベクトル検出装置。
【請求項１５】
複数のブロックに分割されている動画像の各フレームに対し、ブロック単位で動き補償を行う動き補償装置であって、
前記ブロックの符号化ストリームに、補間された画像データを含む旨の情報が付加されているか否かを検出する検出手段と、
前記検出手段により、前記補間された画像データを含む旨の情報が付加されていることが検出された場合、フレームメモリ中の予め定められた動きベクトル領域以外の部分に対して、画素データの補間を行った後、動き補償を行う動き補償手段とを有することを特徴とする動き補償装置。
【請求項１６】
動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出する動きベクトル検出方法であって、
所定範囲外の画像データを補間するデータ補間ステップと、
前記データ補間手段により補間された画像データと、前記所定範囲内の画像データとを用いて、前記動きベクトルを検出する動きベクトル検出ステップとを有することを特徴とする動きベクトル検出方法。
【請求項１７】
動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出することをコンピュータに実行させるコンピュータプログラムであって、
所定範囲外の画像データを補間するデータ補間ステップと、
前記データ補間手段により補間された画像データと、前記所定範囲内の画像データとを用いて、前記動きベクトルを検出する動きベクトル検出ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置、動き補償装置、動きベクトル検出方法、及びコンピュータプログラムに関し、特に、動画像の記録を行うために用いて好適なものに関する。
【背景技術】
【０００２】
画像を複数のブロックに分割し、過去の画像とのブロック毎の変位を動きベクトルとして求めて、動きベクトル及び予測誤差を符号化する動き補償予測方式が広く知られている。例えばMPEG-1/2/4の各符号化方式がこのような動きベクトル探索処理を用いた動き補償予測符号化方式をサポートしている。
【０００３】
図８に動きベクトル探索器の構成を示す。予測対象である参照フレームの画素データが予測画像フレームメモリ１０１に、符号化対象であるフレームの画素データが現画像フレームメモリ１０２にそれぞれ格納されている。動きベクトル探索処理回路１００中のメモリコントローラ１０４は、データバス１０３を介して、符号化対象であるブロックの画素データを現ブロックメモリ１０５に、参照フレーム中に設けた動きベクトル探索範囲に含まれる画素データを動きベクトル探索範囲メモリ１０６にそれぞれ格納する。
【０００４】
ベクトル選択器１０７は、現ブロックメモリ１０５と、動きベクトル探索範囲メモリ１０６とから、所定の探索順に選んだ動きベクトルに対応するブロックの画素データを取り出し、ブロック比較器１０８に送る。ブロック比較器１０８では、所定の探索基準に基づいた比較演算を行い、ベクトル選択器１０７は、その比較演算結果に基づいて決定した動きベクトルを出力する。一般に用いられているMPEG方式等では、この後、差分データの周波数変換と、量子化を経て、最終的なデータが、動きベクトル成分とともに可変長符号化されて出力される。
【０００５】
前記のような動きベクトル探索処理回路１００では、ブロック比較期１０８で各候補ブロックについて動きベクトルの評価を高速に演算を反復させるための演算コストと、低容量だがアクセス速度の速い、現ブロックメモリ１０５及び動きベクトル探索範囲メモリ１０６のローカルメモリに、予測画像フレームメモリ１０１及び現画像フレームメモリ１０２の大容量なフレームメモリからその都度データバス１０３を介してデータを転送するためのメモリアクセスコストとが問題となる。
【０００６】
このように、演算量及び画素データの転送量が膨大なものになるため、動きベクトルの探索方法は、全体の処理時間や回路規模に大きく作用する。そこで、実製品、特に処理時間の短さや回路規模の小ささを考慮しなければならないデジタルカメラや携帯端末等では探索処理を簡略化することになる。
【０００７】
動きベクトルの性質を利用して探索処理を簡略化したものとして、例えばテレスコピックサーチ（"Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1.5Mbit/s - Part 2: Video" ISO/IEC 11172-2:D.6.2.2.5）では、過去の動きベクトルの検出結果から現ブロックの動きベクトルの検出位置を予測し、その周辺部分のみを探索範囲とすることでブロックマッチングの演算量およびメモリアクセスを減らすことが出来る。
【０００８】
また、特許文献１（特許第２８６１９６３号公報）に記載されている「動きベクトル検出回路」では、実映像には水平方向の動きが多く、斜め方向の動きが少ない事を利用して、ベクトル探索範囲をひし形形状にすることでブロックマッチングの演算量およびメモリアクセスを減らしている。
【０００９】
水平方向の動きが多いという実映像の動き特性を利用して、回路規模やデータ転送量の削減を図るアプローチをさらに推し進めた方式として、水平方向のみの動き探索がある。
図９は、フレーム内のある１行（ブロック行）について動きベクトルの探索範囲を示した図である。時間順に、まず時間２０１においてブロック２０２（○の部分）を、時間２１１においてブロック２１２（△の部分）を、時間２２１においてブロック２２２（×の部分）をそれぞれ探索したものとする。
【００１０】
それぞれのブロック周辺の斜線で示した部分がベクトル探索範囲である。図９に示す通り、ブロック２０２の探索範囲２０３と、ブロック２１２の探索範囲２１３とは、一部が重複しており、ブロック２０２を処理したときに読み込んだ画素データを、ブロック２１２を処理するときに再利用することが可能である。同様に、ブロック２１２の探索範囲とブロック２２２の探索範囲も重複しており、ブロック２２２を処理するときにブロック２１２を処理したときに読み込んだ画像データの再利用が可能である。
【００１１】
すなわち、ブロックの探索範囲として読み出す画素データは、フレーム全体にわたって、各１回ずつ、具体的には１ブロックの処理に１ブロックの読み出しで良いことになる。ここで、もし、一般的な動きベクトル探索処理のように、探索範囲を上下方向に、例えば上下にブロック１つ分拡大するとすれば、上下方向に増えた２ブロックの分も含めて、ブロック毎に３ブロック分の画素データを読み出さないといけないだけでなく、上下のブロック行のデータを２ライン分保持しておくメモリを設けない限り、次のブロック行の処理を行う際に、画像データを再び読み出さなければならないことになる。すなわち、各ブロックは、処理対象となるブロックの上の位置のブロックとして、同位置のブロック（処理対象となるブロック）として、処理対処となるブロックの下の位置のブロックとして、都合３回重複して読み出されることになる。
【００１２】
これに対して、動きベクトルの探索範囲を水平方向に割り切ることで、参照フレームの各ブロックに対して１回だけのアクセスですむことになり、メモリアクセスによるコストを大幅に削減することが可能になる。
もちろん、このような手法を採ると、垂直成分の含まれるベクトルを探索することは出来なくなるので、垂直方向の動きをもつブロックにはイントラ符号化（フレーム内符号化）で対処することになる。すなわち、垂直方向の動きが多い画像においては符号化効率が低下する。
【００１３】
【特許文献１】特許第２８６１９６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
前述したように、動きベクトルの探索範囲を大幅に制限した動き探索処理は、回路規模やデータ転送量の制約が厳しい場合に効果的である。しかし、当然ながら、探索範囲を超える動きに対しては適切な動き補償予測を行うことが出来ないことになり、符号化効率の低下を招く。
【００１５】
画質を維持したまま符号量を抑えたいときなどでは、処理の効率を落としてでも符号化効率を向上させたい場合がある。すなわち、水平方向の探索のみで良い符号化結果が得られず、かつ発生符号量を抑制したい局面であれば、垂直方向を含んだ動きベクトル探索に切り替えたほうが、新たに必要となる垂直方向領域のメモリ転送および動きベクトル探索に余分な時間がかかることを考慮しても、効果的といえる場合がある。
【００１６】
本発明は、前述の問題点に鑑みてなされたものであり、動きベクトル探索処理において、余分なメモリアクセスを発生させずに、探索範囲を拡大することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の動きベクトル検出装置は、動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出する動きベクトル検出装置であって、所定範囲外の画像データを補間するデータ補間手段と、前記データ補間手段により補間された画像データと、前記所定範囲内の画像データとを用いて、前記動きベクトルを検出する動きベクトル検出手段とを有することを特徴とする。
【００１８】
本発明の動き補償装置は、複数のブロックに分割されている動画像の各フレームに対し、ブロック単位で動き補償を行う動き補償装置であって、前記ブロックの符号化ストリームに、補間された画像データを含む旨の情報が付加されているか否かを検出する検出手段と、前記検出手段により、前記補間された画像データを含む旨の情報が付加されていることが検出された場合、フレームメモリ中の予め定められた動きベクトル領域以外の部分に対して、画素データの補間を行った後、動き補償を行う動き補償手段とを有することを特徴とする。
【００１９】
本発明の動きベクトル検出方法は、動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出する動きベクトル検出方法であって、所定範囲外の画像データを補間するデータ補間ステップと、前記データ補間手段により補間された画像データと、前記所定範囲内の画像データとを用いて、前記動きベクトルを検出する動きベクトル検出ステップとを有することを特徴とする。
【００２０】
本発明のコンピュータプログラムは、動画像の各フレームを複数のブロックに分割し、分割したブロック毎の動画像の変位を動きベクトルとして検出することをコンピュータに実行させるコンピュータプログラムであって、所定範囲外の画像データを補間するデータ補間ステップと、前記データ補間手段により補間された画像データと、前記所定範囲内の画像データとを用いて、前記動きベクトルを検出する動きベクトル検出ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２１】
請求項１、１６、１７に記載の発明によれば、所定範囲外の画像データを補間し、補間した画像データと、前記所定範囲内の画像データとを用いて、前記動きベクトルを検出するようにしたので、余分なメモリアクセスを増やさずに、動きベクトルの探索範囲を広げることが可能である。
【００２２】
また、請求項２、３、５に記載の発明によれば、余分なメモリアクセスを増やさずに、動きベクトル探索範囲を広げることが可能になる。
また、請求項６〜８に記載の発明によれば、擬似的に相関度を求めることができる。
また、請求項４、９〜１１に記載の発明によれば、擬似的に求めた相関度の実データに対する誤差が大きい場合において符号化効率が悪化する事態を未然に防ぐことができる。
また、請求項１２に記載の発明によれば、符号化時の動きベクトルの探索範囲を制限でき、回路規模の削減及びメモリアクセスによるコストの低減が可能になる。
【００２３】
また、請求項１３に記載の発明によれば、ブロック間の相関度が特に高い場合に、候補ブロックと符号化対象ブロックとの画素データの差分を０とみなす、すなわち非符号化ブロックとして動きベクトルの情報のみを符号化することで、予測誤差を求める処理が不必要になり、追加のメモリアクセスを行うことなく、動きベクトルの探索領域外における動きベクトルの探索が可能になる。
【００２４】
また、請求項１４に記載の発明によれば、動きベクトル探索範囲を水平方向に限定し、回路規模およびメモリアクセスコストを減らした上で、擬似的な相関度の算出及び追加のメモリアクセスにより、垂直方向の動き予測を行うことが可能になる。
また、請求項１５に記載の発明によれば、復号化時の動き補償における動きベクトルのとり得る範囲を制限でき、回路規模の削減及びメモリアクセスによるコストの低減が可能になる。
【発明を実施するための最良の形態】
【００２５】
(第１の実施の形態)
次に、図面を参照しながら、本発明の第１の実施の形態について説明する。
図１は、本実施の形態の画像符号化装置における動きベクトル探索器の構成の一例を示すブロック図である。
図１において、予測対象である参照フレームの画素データが予測画像フレームメモリ３０１に、符号化対象であるフレームの画素データが現画像フレームメモリ３０２にそれぞれ格納されている。動きベクトル探索処理回路３００中のメモリコントローラ３０４は、データバス３０３を介して、符号化対象であるブロックの画素データを現ブロックメモリ３０５に、参照フレーム中に設けた動きベクトル探索範囲に含まれる画素データを動きベクトル探索範囲メモリ３０６にそれぞれ格納する。
【００２６】
ベクトル選択器３０７は、現ブロックメモリ３０５と、動きベクトル探索範囲メモリ３０６とから、所定の探索順に選んだ動きベクトルに対応するブロックの画素データを取り出し、ブロック比較器３０８に送る。ブロック比較器３０８では、所定の探索基準に基づいた比較演算を行い、ベクトル選択器３０７は、その比較演算結果に基づいて決定した動きベクトルを出力する。
【００２７】
本実施の形態では、ベクトル探索範囲外の、すなわち動きベクトル探索範囲メモリ３０６に存在しない画素データを、データ補間器３０９によって補間を行うことにより、本来の探索範囲よりも広い範囲について動きベクトル探索を行える。
【００２８】
図２は、本実施の形態における動きベクトル探索器の処理手順の一例を示すフローチャートである。
まず、ステップＳ５０１で、予測画像フレームメモリ３０１から、ベクトル探索範囲に相当するデータ領域を動きベクトル探索範囲に読み込む。次に、ステップＳ５０２で、ベクトル探索範囲から候補ブロックを選択する。次に、ステップＳ５０３で、符号化対象であるブロックと候補ブロックとの相関度を求める。両ブロック間で、対応する画素データごとに比較及び比較結果の集計を行い、比較結果の集計値に応じて、ブロック間の相関度を求める。
【００２９】
次に、ステップＳ５０４で、ブロック間の相関度がしきい値より高いと判断した場合には、ステップＳ５０５に進み、ステップＳ５０２で選択した候補ブロックを出力候補ブロックとして記憶する。以上のステップＳ５０２〜Ｓ５０５を、ステップＳ５０６で選択可能なブロックがなくなると判断するまで繰り返す。そして、ステップＳ５０７で、最良の結果を記憶する。
【００３０】
動きベクトル探索範囲の領域のとり方、および領域内での候補ブロックの選択方法は特に定めないが、本実施の形態では動きベクトルの探索を２ステップに分けて行うため、前述した１回目のステップ（ステップＳ５０２〜Ｓ５０７）において全てのブロックを総当り的に検査するということは無い。
【００３１】
次に、ステップＳ５０８で、１回目のステップにおいて最終的に記憶されている出力候補ブロックの周辺領域について候補ブロックを選択する。候補ブロックのとり方もここで特に定めないが、例えば、１回目のステップでは数画素おきに飛び飛びに候補ブロックを選択して出力候補ブロックを求め、２回目のステップで、出力候補ブロックを垂直方向、水平方向ともに１画素ずつずらして候補ブロックを選択する方法などが考えられる。
ここで、１回目のステップにおいて最終的に記憶されている出力候補ブロックがベクトル探索範囲の境界に接している場合などでは、２回目のステップにて選択した候補ブロック中の画素データがベクトル探索範囲の外にあって、画素データが欠落している場合が考えられる。
【００３２】
そこで、前述したように、ステップＳ５０８で、１回目のステップにおいて最終的に記憶されている出力候補ブロックの周辺にある候補ブロックを選択する。
次に、ステップＳ５０９で、選択した候補ブロックに欠落画素データがあると判断した場合には、ステップＳ５１０に進み、欠落画素データ部分以外について、候補ブロックと符号化対象であるブロックとの間の相関度を求める。画素データの欠落部分を除いた領域については、ステップＳ５０３と同様に、通常のブロック間相関度を求める処理を行い、画素データの欠落部分が当該候補ブロックに占める割合に応じて、比較結果の集計値に重み付けを行う。例えば、画素データの欠落部分が大きい場合、残りの実データのある部分についてブロック間に高い相関があったとしても、全体のブロック間相関度としての確からしさは劣ると考えられるので、最終的なブロック間相関度を下げる方向に重み付け係数を乗じる。
【００３３】
一方、ステップＳ５０９で、候補ブロックに欠落画素がないと判断した場合には、ステップＳ５１１に進み、ステップＳ５０３と同様に、通常のブロック間相関度を求める。
以上のようにステップＳ５１０、Ｓ５１１でブロック間相関度が求められると、ステップＳ５１２、Ｓ５１３で、相関度が高い候補ブロックを出力候補ブロックとして更新していく。以上のステップＳ５０８〜Ｓ５１３を、ステップＳ５１４で選択可能な周辺ブロックがなくなると判断するまで繰り返す。これが動きベクトル探索の２回目のステップである。
【００３４】
次に、ステップＳ５１５で、以上のようして得られた出力候補ブロックが、欠落画素部分を除外した擬似的な相関性評価を行ったブロックであると判断された場合には（すなわち、ステップＳ５１０で相関度を計算したブロックであると判断された場合には）、ステップＳ５１６で、欠落画素データを予測画像フレームメモリ１０１より読み出し、ステップＳ５１７で、実データを用いて相関性の評価をやり直す。
【００３５】
ここで、やり直した相関性の評価値と、１回目のステップで選択した出力候補ブロックにおける評価値との比較を行い、ステップＳ５１８において、１回目のステップで選択した出力候補ブロックにおける評価値よりも悪くなっていると判断した場合、すなわち補間データによる相関性評価の見積もりがうまくいかなかった場合には、ステップＳ５１９において、１回目のステップで選択した出力候補ブロックを選択し直し、そうでない場合は、そのまま２回目のステップで選択した出力候補ブロックを選択する。そして、ステップＳ５２０において、符号化対象であるブロックに対応する動きベクトルを出力する。
【００３６】
以上の処理を行うことにより、動きベクトル探索範囲として読み込んだ画素データに対応する領域よりも広い範囲に対して擬似的に動きベクトル探索を行うことが出来る。また、欠落部分の画素データを読み込みブロック間相関性の評価をやり直すことにより、擬似的な動きベクトル探索の正当性を検証することが可能になる。
【００３７】
(第２の実施の形態)
次に、本発明の第２の実施の形態について説明する。
図３は、本実施の形態の画像復号化装置における動き補償部の構成の一例を示すブロック図である。
まず、MPEG方式等の一般的な画像符号化・復号化方式における動き補償部の処理を図３のうちデータ補間器７０８を除いた構成を用いて説明する。動画像の符号ストリームに対して、図３には記載されてない可変長復号処理、逆量子化処理、及び逆ＤＣＴ処理を行った後、動き補償部７００にはブロックごとの動きベクトル及びブロック間差分データが入力される。
【００３８】
その後、参照フレームメモリ７０１中の、入力された動きベクトルの示す参照ブロックが、データバス７０３及びメモリコントローラ７０４を介して参照データメモリ７０６に格納される。動き補償器７０７は、入力されたブロック間差分データと、参照データメモリ７０６に格納された参照ブロックの画素データとを用いて、現ブロックメモリ７０５に復号化対象ブロックの画素データを復元し、メモリコントローラ７０４を介して復号化対象フレームメモリ７０２へ、復号化の対象となるブロックの画素データを書き込む。
【００３９】
このように復号時には、動き補償のために当該復号化の対象となるブロックの動きベクトルに対応する参照フレームメモリ７０１内のブロックの画素データを、ブロック間差分データからの復元のために用いる。この制限があるため、第１の実施の形態において、画素データの欠落している、すなわち一部が動きベクトルの探索範囲外にかかっているブロックを動きベクトルとして出力し符号化する場合には、最終的には差分符号化のために欠落部分の画素データを参照フレームメモリ７０１（予測画像フレームメモリ３０１）から読み出す必要があった。
【００４０】
そこで、本実施形態では、動きベクトルの探索範囲外の画素データの欠落領域を含むブロックの差分符号化を行う場合において、画像符号化装置及び画像復号化装置に、記録形式専用モードを組み込み、符号化時に専用の符号化モードで記録した旨のフラグを合わせて記録し、そのフラグを復号化時に検出することで、新たに参照フレームメモリ７０１（予測画像フレームメモリ３０１）から欠落画素データを読み出すことなく、符号化及び復号化を可能とするものである。
【００４１】
なお、本実施形態における画像符号化装置の動きベクトル探索器の構成は、図１で表される。第１の実施の形態と同様の処理を行って得られた動きベクトルが欠落画素データを含む場合、その欠落画素データを含む部分を参照フレームメモリ７０１から読み出さず、パディング処理により補間したブロックのまま差分符号化を行うとともに、最終的に出力される符号化ストリーム中のブロックのヘッダ部分にパディング処理フラグビットを立てておく。
【００４２】
このようにして作成された符号化ストリームを復号化する際、図３における動き補償部７００は、前記符号化ストリーム中のブロックにおいてパディング処理フラグビットが立っているか否かを判別する。そして、パディング処理フラグビットが立っている場合、符号化時において、あらかじめ定められたベクトル探索範囲の外側の画素データに対しては、参照フレームメモリ７０１からの読み出しを行わず、データ補間器７０８を用いてパディング処理により欠落するデータを補間したブロックと、入力されたブロックとの差分データから、動き補償器７０７で復号化対象となるブロックを復元し、復号化対象フレームメモリ７０２へ復元されたデータを書き込む。
【００４３】
以上のような構成をとることにより、符号化時に、補間データを用いることで擬似的に拡大された動きベクトルの探索エリア内にある補間データ部分について、符号化時に真の画素データを参照フレームメモリ７０１から読み出すことなく差分符号化することが可能となり、メモリアクセスによるコスト及び演算回路規模の削減を可能にする。
【００４４】
(第３の実施の形態)
次に、本発明の第３の実施の形態について説明する。
図４は、本実施の形態における処理の概念の一例を説明する図である。本実施の形態では、動きベクトルの探索範囲を水平方向のみに限定した動きベクトル探索器を拡張し、擬似的に垂直方向の動きベクトル探索を行うものとする。以下、本実施の形態における処理を３つの段階に分けて説明を行う。なお、本実施の形態における画像符号化装置の動きベクトル探索器の構成は図１で表される。
【００４５】
図４（ａ）に示すように、第１の段階において、本実施形態における動きベクトル探索器は、動きベクトル探索範囲８０４内を水平方向に移動させた画像ブロック領域８０５を候補ブロックとし、各候補ブロックについて、符号化対象となるブロックとの相関度を評価関数（評価関数は特に定めない）により求め、最も相関の高い候補ブロックＡを決定する。
【００４６】
次に、図４（ｂ）に示すように、第２の段階において、候補ブロックＡを垂直方向にずらした範囲に擬似探索範囲８０８をとり、この擬似探索範囲８０８中を垂直方向に移動させた各候補ブロックについて、符号化対象となるブロックとの相関度を、第１の段階と同様にして求める。ここで、候補ブロックＢ'（候補ブロック８０７）中のデータの欠落部分ｂｂ'（データの欠落部分８１０）の部分（図中では候補ブロックＢ'（候補ブロック８０７）の上部の画素データ）は、候補ブロックＢ'（候補ブロック８０７）の下部ｂａ（候補ブロックＢ'の下部８０９）の一番上側の、動きベクトル探索範囲８０４の外縁部分８０６のデータをそのまま用いることにより補間する。以下、第１の段階と同様にして、最も相関の高い候補ブロックＢ（候補ブロック８１２）を決定する。
【００４７】
次に、図４（ｃ）に示すように、第３の段階において、候補ブロックＢを符号化対象となるブロックの動きベクトルの示す先とした場合に、差分符号化に必要となる欠落部分の画像データ８１１の読み込みを行う。図中では、メモリアクセスの最小単位をブロックサイズとしており、候補ブロックＢ（候補ブロック８１２）の欠落部分ｂｂの欠落部分を読み出すのに２ブロック分のメモリを読み出している。ここで、第１の実施の形態と同様に、補間データを排除した真のデータによる候補ブロックＢ（候補ブロック８１２）と、符号化対象となるブロックとの相関性を計算し直して、第１の段階で決定した候補ブロックＡと符号化対象となるブロックとの間の相関性の方が高ければ、候補ブロックＢを選択した結果を破棄し、候補ブロックＡを差分符号化の対象とする。
【００４８】
動きベクトルの探索範囲８０４として参照フレームメモリから読み出す画素データを水平方向のみに限定することでメモリアクセスによるコストを抑えた上で、縦方向のブロックの動きにも追従可能な動きベクトル探索処理が可能となる。
【００４９】
（第４の実施の形態）
次に、本発明の第４の実施の形態について説明する。
図５は、本実施形態の画像符号化装置における動きベクトル探索器の構成の一例を示すブロック図である。
図５において、予測対象である参照フレームの画素データが予測画像フレームメモリ９０１に、符号化対象であるフレームの画素データが現画像フレームメモリ９０２にそれぞれ格納されている。動きベクトル探索処理回路９００中のメモリコントローラ９０４は、データバス９０３を介して、符号化対象であるブロックの画素データを現ブロックメモリ９０５に、参照フレーム中に設けた動きベクトル探索範囲に含まれる画素データを動きベクトル探索範囲メモリ３０６にそれぞれ格納する。
【００５０】
ベクトル選択器９０７は、現ブロックメモリ９０５と、動きベクトル探索範囲メモリ９０６とから、所定の探索順に選んだ動きベクトルに対応するブロックの画素データを取り出し、ブロック比較器９０８に送る。ブロック比較器９０８では、所定の探索基準に基づいた比較演算を行い、ベクトル選択器９０７は、その比較演算結果に基づいて決定した動きベクトルを出力する。
【００５１】
本実施の形態も、第１の実施の形態と同様に、ベクトル探索範囲外の、すなわち動きベクトル探索範囲メモリ９０６に存在しない画素データを、データ補間器９０９によって補間を行うことにより、本来の探索範囲よりも広い範囲について動きベクトル探索を行える。
【００５２】
図６は、本実施の形態における動きベクトル探索器の処理手順の一例を示すフローチャートである。
まず、ステップＳ４０１において、動き予測対象のブロックに対応する探索範囲を、予測画像フレームメモリ９０１から読み込み、動きベクトル探索範囲メモリ９０６に格納する。次に、ステップＳ４０２において、動きベクトル選択範囲から候補ブロックを一つ選択する。
動きベクトル探索範囲の領域のとり方、および領域内での候補ブロックの選択方法は特に定めないが、本実施の形態では探索範囲外にかかってしまう領域も選択可能としている。そして、ステップＳ４０３において、探索範囲外を、すなわち欠落している画素データの有無を判別し、欠落している画像データがある場合には、ステップＳ４０４に進み、画像データが欠落している箇所に対してパディング処理を行い、画素データを補間する。
パディング方法についても特に定めない。例えばMPEG-4方式における無制限動きベクトルを用いた動き補償予測では、データの存在する領域の境界に接するブロック行の値を用いて、欠落している画像データのパディングを行っている。
【００５３】
次に、ステップＳ４０５において、符号化対象となるブロックと候補ブロックとの相関を調べる。これらのブロック間の相関を求める評価関数を演算し、結果の大小をステップＳ４０６で比較し、ブロック間の相関がより高く、差分符号化時にデータをより圧縮できるブロックを選択するように、ステップＳ４０７で出力候補ブロックを更新する。
動きベクトル探索範囲においてステップＳ４０２〜Ｓ４０７を繰り返し実行し、ステップＳ４０８で選択可能なブロックが無くなれば、最終的に出力候補ブロックとなっているブロックに対応する変位ベクトルを動きベクトル探索結果として出力する。
【００５４】
図７は、本実施の形態における処理の概念の一例を説明する図である。
現画像フレーム６０１中のｍ行ｎ列目の画像ブロック６０３が、符号化する対象のブロックである。ここで、候補ブロック６０４を、予測画像フレーム６０２中のベクトル探索範囲は６０７の外側にはみ出す形で選択することも可能にする。このような場合には、候補ブロック６０４中の欠落画像領域６０５を、データの存在する領域６０６を用いて補間することで、新たに予測画像フレームメモリ９０１からデータを読み出すことなく、ベクトル探索範囲を６０８のように擬似的に広げることが可能である。
【００５５】
なお、本実施の形態についても、前述した第２の実施形態と全く同様の構成を採ることができる。すなわち、画像符号化装置及び画像復号化装置に、記録形式専用モードを組み込みことで、符号化時に専用の符号化モードで記録した旨のフラグを合わせて記録しておき、そのフラグを復号化時に検出することで、新たに参照フレームメモリ（予測画像フレームメモリ９０１）から欠落画素データを読み出すことなく、符号化及び復号化をすることもできる。このようにすれば、本実施形態のように、一部が動きベクトルの探索範囲外にかかっているブロックを動きベクトルとして出力し符号化する場合に、欠落部分の画素データを、予測画像フレームメモリ９０１から読み出す必要がなくなる。
【００５６】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５７】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５８】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００５９】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００６０】
【図１】本発明の第１の実施の形態を示し、画像符号化装置における動きベクトル探索器の構成の一例を示すブロック図である。
【図２】本発明の第１の実施の形態を示し、動きベクトル探索器の処理手順の一例を示すフローチャートである。
【図３】本発明の第２の実施の形態を示し、画像復号化装置における動き補償部の構成の一例を示すブロック図である。
【図４】本発明の第３の実施の形態を示し、処理の概念の一例を説明する図である。
【図５】本発明の第４の実施の形態を示し、画像符号化装置における動きベクトル探索器の構成の一例を示すブロック図である。
【図６】本発明の第４の実施形態を示し、動きベクトル探索器の処理手順の一例を示すフローチャートである。
【図７】本発明の第４の実施形態を示し、処理の概念の一例を説明する図である。
【図８】従来の技術を示し、動きベクトル探索器の構成を示すブロック図である。
【図９】従来の技術を示し、動きベクトルの探索範囲を示した図である。
【符号の説明】
【００６１】
３００  動きベクトル探索処理回路
３０１  予測画像フレームメモリ
３０２  現画像フレームメモリ
３０３  データバス
３０４  メモリコントローラ
３０５  現ブロックメモリ
３０６  動きベクトル探索範囲メモリ
３０７  ベクトル選択器
３０８  ブロック比較器
３０９  データ補間器
７００  動き補償部
７０１  参照フレームメモリ
７０２  復号化対象フレームメモリ
７０３  データバス
７０４  メモリコントローラ
７０５  現ブロックメモリ
７０６  参照データメモリ
７０７  動き補償器
７０８  データ補間器
【図１】
2006203556.tif 000003
【図２】
2006203556.tif 000004
【図３】
2006203556.tif 000005
【図４】
2006203556.tif 000006
【図５】
2006203556.tif 000007
【図６】
2006203556.tif 000008
【図７】
2006203556.tif 000009
【図８】
2006203556.tif 000010
【図９】
2006203556.tif 000011