(57)【要約】【課題】ＭＰＥＧ符号化装置に使用される動きベクトル探索処理において、フレーム間の参照関係を変更した場合の動きベクトルを高速に精度良く求めることを目的とする。【解決手段】画像符号化装置１００は、ＭＰＥＧの画像符号化装置であり、フレーム間の参照関係を変更し再度符号化を行う場合に、動きベクトル探索部１０４の、既存動きベクトル取得部１２１により、符号化を行うフレームに関連する動きベクトルを抽出し、抽出した動きベクトルにより適切な探索領域を設定する探索領域設定部１２２、指定された探索領域の動きベクトル探索を行う動きベクトル生成部１２３を備える。【選択図】図１
2005229497.tif 000002
【特許請求の範囲】
【請求項１】
１パス目で動きベクトルを求めその動きベクトルを保存する動きベクトル保存手段と、２パス目以降で以前求めた動きベクトルを使用して符号化を行うＮ（Ｎは２以上の整数）パスで画像の符号化処理を行う画像符号化装置であって、
２パス目以降の符号化処理においてフレーム間の参照関係情報を変更する画像編集手段と、
参照関係に変更があった場合、以前求めた動きベクトルを取得する既存動きベクトル取得手段と、
既存の動きベクトルを利用して動きベクトルの探索中心点と探索範囲とからなる動きベクトル探索領域を変更する動きベクトル探索領域設定手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
動きベクトル探索領域設定手段は、
参照フレームから符号化フレームへの動きベクトルがある場合、
元の動きベクトルの示すブロックから動きベクトル探索領域を決定することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
動きベクトル探索領域設定手段は、
符号化フレームから無関係なフレームへの動きベクトルと無関係なフレームから参照フレームへの動きベクトルがある場合に、
符号化フレームのマクロブロック毎に、無関係なフレームでのマクロブロックを決め、
前記マクロブロックの参照フレームへの動きベクトルを取得し、
取得した動きベクトル近傍のマクロブロック位置の動きベクトルを探索位置の中心とし、一定の範囲を探索範囲として設定することを特徴とする請求項１記載の画像符号化装置。
【請求項４】
動きベクトル探索領域設定手段は、
参照フレームから無関係なフレームへの動きベクトルと、符号化フレームから無関係なフレームへの動きベクトルがある場合に、
参照フレームのマクロブロック毎に、無関係なフレームへの動きベクトルを取得し、無関係なフレームの第１のマクロブロックを決め、
符号化フレームのマクロブロック毎に無関係なフレームへの動きベクトルを取得し、無関係なフレームでの第２のマクロブロックを決め、
前記第２のマクロブロック位置に、前記参照フレームから前記第１のマクロブロック位置を指す動きベクトルが存在する場合は、前記参照フレームのマクロブロック近傍を探索位置の中心とし、一定の範囲を探索範囲として設定することを特徴とする請求項１記載の画像符号化装置。
【請求項５】
動きベクトル探索領域設定手段は、
無関係なフレームから符号化フレームへの動きベクトルと、無関係なフレームから参照フレームへの動きベクトルがある場合に、
無関係なフレームから符号化フレームへの動きベクトルを取得し、符号化フレームでのマクロブロック位置を決定し、
前記無関係なフレームから参照フレームへの動きベクトルを取得し、前記動きベクトルの示す位置を中心として探索範囲を設定することを特徴とする請求項１記載の画像符号化装置。
【請求項６】
動きベクトル探索領域設定手段は、
参照フレームから無関係なフレームへの動きベクトルと、無関係なフレームから符号化フレームへの動きベクトルがある場合に、
参照フレームから無関係なフレームへの動きベクトルを取得し、無関係なフレームのマクロブロック位置を決定し、
前記無関係なフレームから符号化フレームへの動きベクトルを取得し、符号化フレームのマクロブロック位置を決定し、
決定した符号化フレームのマクロブロック位置の探索範囲を前記参照フレームのマクロブロック位置近傍を探索範囲として設定することを特徴とする請求項１記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き補償予測方式により画像を符号化する画像符号化装置に関し、より詳しくは、再符号化を行う際の動きベクトル探索に関する。
【背景技術】
【０００２】
ＭＰＥＧに対応した画像符号化装置では、画質やビットレートを調整するために符号化処理を複数回繰り返し行うＮパスエンコードを行うことがある。典型的な例としては、１パス目に符号化処理に必要な情報収集を行い、２パス目以降にそれらの情報に対してオペレータの操作により、エンコード用のパラメータを決定するといったものである。ここで、２パス目以降の編集処理によりフレーム間の参照関係を変更した場合、１パス目と同様に動きベクトルを探索する必要が生じる。
【０００３】
ところがベクトル探索処理は符号化処理にとって最も時間のかかる処理であり、フレーム間の参照関係を変更した場合、最初から符号化し直す場合と同程度の処理時間を必要とする。
【０００４】
この問題を解決する方法として、元の符号化データの動きベクトル情報から再符号化対象ブロックの動きベクトルを推定し、動きベクトルの再探索を行わないことにより演算量を削減する方法がある（例えば、特許文献１参照）。
【特許文献１】特開平１０−１１２８６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の技術では、特定の画像を間引くことのみ可能であり自由にフレーム間の参照関係を変更することができないという問題点があった。
【０００６】
本発明は、１パス目の情報収集を行った後にフレーム間の参照関係を変更する場合に、自由に参照関係を変更でき、かつ動きベクトル探索における演算量を少なくしながら精度の高い動きベクトルを見つけることを目的とする。
【課題を解決するための手段】
【０００７】
前記従来の課題を解決するために、本発明の画像符号化装置は、１パス目で動きベクトルを求めその動きベクトルを保存する動きベクトル保存手段と、２パス目以降で以前求めた動きベクトルを使用して符号化を行うＮ（Ｎは２以上の整数）パスで画像の符号化処理を行う画像符号化装置であって、２パス目以降の符号化処理においてフレーム間の参照関係情報を変更する画像編集手段と、参照関係に変更があった場合、以前求めた動きベクトルを取得する既存動きベクトル取得手段と、既存の動きベクトルを利用して動きベクトルの探索位置及び範囲を変更する動きベクトル探索位置設定手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の画像符号化装置によれば、１パス目の情報収集を行った後にフレーム間の参照関係を変更する場合に、自由に参照関係を変更でき、かつ動きベクトル探索における演算量を少なくしながら精度の高い動きベクトルを見つけることができる。
【発明を実施するための最良の形態】
【０００９】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１０】
図１は画像符号化装置の構成を示すブロック図である。本実施形態の中心である動きベクトル再探索部について説明する前に、まず画像符号化装置について説明する。画像符号化装置は予め非圧縮画像記憶装置１０１に保存されている画像の符号化処理を行う。ここで、画像は輝度Ｙと色差Ｃｂ、Ｃｒとに分離され、ディジタル化され、時間順に並んでいるものとする。
【００１１】
ピクチャタイプ決定部１０２は画像の特徴及び設定によりピクチャタイプ（Ｉ、Ｐ、Ｂピクチャ）を決定し、ピクチャタイプ記憶部１０７に保存する。動きベクトル探索部１０４はピクチャタイプ記憶部１０７からピクチャタイプを取得し画像データのピクチャタイプがＰピクチャおよびＢピクチャの場合に、所定の探索条件の下に画像データのブロック単位に動きベクトル探索を行い、その結果得られる動きベクトルを符号化部１０６に出力する。同時に、動きベクトルを動きベクトル記憶部１０５に保存する。
【００１２】
なお、動きベクトル探索とは、あるフレームのブロックＸを予測するのに、参照フレームの中からブロックＸと類似しているブロックＹを探し出し、ブロックＸとＹの位置ずれを動きベクトルとして伝送する操作をいう。Ｐピクチャのフレームのブロックを予測する場合にはその時間的に前のＩピクチャまたはＰピクチャのフレームから、Ｂピクチャのフレームのブロックを予測する場合には時間的に前のＩピクチャまたはＰピクチャと時間的に後のＩピクチャまたはＰピクチャとから、というように予測するブロックのピクチャタイプによって参照するフレームが決まる。参照フレームも予め非圧縮画像記憶装置１０１に保存されているものとする。
【００１３】
動きベクトル探索部１０４は、１つの符号化対象ブロックに対して参照フレームの決められた範囲にわたって８画素×８ラインのブロックを水平方向および垂直方向に所定の探索間隔で８×８ラインのブロックをずらしながら、符号化対象ブロックと比較して、類似するブロックを探し出す。
【００１４】
符号化部１０６は、非圧縮画像記憶装置１０１に記憶された画像データをブロック単位に符号化を行う。より詳しくは、Ｉピクチャの場合には、８×８ラインのブロックデータに対してそのままＤＣＴ及び量子化を行い、ＰピクチャおよびＢピクチャのブロックデータの場合には当該ブロックデータと動きベクトル探索部１０４より動きベクトル記憶部１０５に出力された動きベクトルが指し示すブロックデータとの差分、すなわち予測誤差を求め、予測誤差に対してＤＣＴおよび量子化を行い、結果の符号化データを符号化データ記憶装置１０８に出力する。
【００１５】
編集処理部１０３では、マニュアルまたは自動で復号化処理および元画像との比較を行う。ここで、比較結果に応じて再度符号化のパラメータを変更し、ピクチャタイプ記憶部１０７へ記憶する。このパラメータを変更する際、フレーム間の参照関係に変更が生じると動きベクトル探索部１０４が起動され再度動きベクトルが求められることになる。フレーム間の参照関係に変更がない場合には、動きベクトル探索処理は行わず、符号化部１０６で編集処理前と同様に符号化処理が行われる。
【００１６】
図２に画像符号化処理のデータフローを示す。１パス目では、ピクチャタイプ決定部１０２により、画像の特徴及び設定よりピクチャタイプ（Ｉ、Ｐ、Ｂピクチャ）を決定しピクチャタイプ記憶部１０７に保存する。
【００１７】
ピクチャタイプデータのデータ構造の一例を図３に示す。ピクチャタイプデータは、フレーム番号毎にピクチャタイプ（Ｉ、またはＰまたはＢ）および、前参照フレーム番号、後参照フレーム番号を持つものとする。ここで、ピクチャタイプがＩの場合は、前参照フレーム番号、後参照フレーム番号は使用しない。また、Ｐの場合は、後参照フレーム番号は使用しない。Ｂの場合には、前参照フレーム番号、後参照フレーム番号共に使用する。
【００１８】
動きベクトルデータのデータ構造例を図４に示す。動きベクトルデータはインデックス部とデータ部を有し、インデックス部には符号化フレーム番号、参照フレーム番号がある。また、データ部には、インデックス部に対応するフレームの動きベクトルがマクロ番号順に入っているものとする。動きベクトルデータは、Ｐピクチャの場合１つ、Ｂピクチャの場合、２つ作成される。
【００１９】
次に動きベクトル探索部１０４により、ピクチャタイプ記憶部１０７からピクチャタイプを取得し画像データのピクチャタイプがＰピクチャおよびＢピクチャの場合に所定の探索条件の下に画像データのブロック単位に動きベクトル探索を行い、その結果得られる動きベクトルを符号化部１０６に出力する。また同時に、動きベクトル記憶部１０５に動きベクトルを記憶する。
【００２０】
符号化部１０６では、非圧縮画像記憶装置１０１に記憶された画像データをブロック単位に符号化を行う。より詳しくは、Ｉピクチャの場合には、８×８ラインのブロックデータに対してそのままＤＣＴ及び量子化を行い、ＰピクチャおよびＢピクチャのブロックデータの場合には当該ブロックデータと動きベクトル探索部より動きベクトル記憶部１０５に出力された動きベクトルが指し示すブロックデータとの差分、すなわち予測誤差を求め、予測誤差に対してＤＣＴおよび量子化を行い、結果の符号化データを符号化データ記憶装置１０８に出力する。
【００２１】
次に２パス目以降のデータフローを説明する。
【００２２】
編集処理部１０３によりマニュアルまたは自動で復号化処理された画像と元画像との比較を行う。ここで、比較結果に応じて再度符号化のパラメータを変更し、ピクチャタイプ記憶部１０７へ記憶する。
【００２３】
次に動きベクトル探索処理を行う。動きベクトル探索部１０４は、図１に示すように、既存動きベクトル取得部１２１、探索領域設定部１２２、動きベクトル生成部１２３から構成される。
【００２４】
図５により動きベクトル探索処理の処理フローを示す。
【００２５】
初めにピクチャタイプ記憶部１０７からピクチャタイプを読み込む（ステップＳ５０１）。
【００２６】
次にピクチャタイプがＩの場合は処理終了し、ピクチャタイプがＩでない場合はステップＳ５０３へ進む（ステップＳ５０２）。
【００２７】
次に参照関係のパターンに参照関係なしを設定（変数の初期化）する（ステップＳ５０３）。
【００２８】
次に今回符号化するフレーム番号のピクチャタイプデータからフレーム番号、前参照フレーム番号、後参照フレーム番号を抽出し、その何れかのフレーム番号が存在するデータを動きベクトルデータのインデックス部から検索する。ここで該当するデータが存在する場合はステップ５０５へ、該当するデータが存在しない場合にはステップＳ５０７へ進む（ステップＳ５０４）。
【００２９】
次に、ピクチャタイプデータと同一の動きベクトルデータが存在するかどうか調べ、同一の動きベクトルが存在する場合には、処理を終了する。また、同一の動きベクトルデータがない場合には次のステップへ進む（ステップＳ５０５）。
【００３０】
利用可能な動きベクトルデータを決定する処理（ステップＳ５０６）について述べる。利用可能なベクトルデータの決定方法について図６の利用可能な動きベクトルを決定する処理フロー及び、図７の動きベクトルの参照関係を用いて以降に述べる。
【００３１】
抽出したインデックスデータを図７の表のパターンに一致するものがないか検索する（ステップＳ６０１）。
【００３２】
図７で、矢印の基点は、元の動きベクトルデータの符号化フレームであり、矢印の終点は、参照フレームであることを示す。尚、この検索はパターン番号の小さいほうから順に行い、一致するものが存在した時点で終了する。ここで、一致するものが存在する場合はステップＳ６０２、一致するものが存在しない場合は処理を終了する。
【００３３】
次に、一致するパターンが存在した場合には、パターン番号及びその動きベクトルデータを保存する（ステップＳ６０２）。
【００３４】
ここで、パターンが複数の動きベクトルから構成されるものについては、複数の動きベクトルを保存するものとする。
【００３５】
ここで図５の動きベクトル探索処理に説明を戻す。次に探索領域決定処理を行う（ステップＳ５０７）。
【００３６】
ここで、探索領域とは、動きベクトルの探索中心点とその探索範囲とからなる概念である。
【００３７】
この探索領域決定処理は、図８を用いて説明する。
【００３８】
図６の利用可能な動きベクトル決定処理フローで設定した参照関係のパターンを取得する（ステップＳ８０１）。
【００３９】
次にパターン毎の探索領域決定処理に従い探索領域を決定する（ステップＳ８０２）。
【００４０】
パターン毎の探索領域決定処理については、図９以降を用いて説明する。
【００４１】
最初にパターン１の場合の探索領域決定方法について図９を用いて説明する。パターン１は、参照フレームから符号化フレームへの動きベクトルがある場合である。
【００４２】
（１）参照フレームのマクロブロック毎に、動きベクトルを取得する（図９（ａ））。
【００４３】
（２）（１）で取得した動きベクトル近傍のマクロブロックの探索位置に参照フレームのマクロブロック位置を設定する。図９（ｂ）の網がけ部分。
【００４４】
（３）（１）、（２）の処理を参照フレームの全マクロブロックについて行い、符号化フレームの探索範囲を設定する。
【００４５】
（４）探索範囲が設定されなかったマクロブロックについては、本来の探索範囲を設定し、全マクロブロックについて探索範囲を設定する。
【００４６】
図１０を用いてパターン２の場合の探索領域決定方法について述べる。パターン２は、符号化フレームから無関係なフレームへの動きベクトルと、無関係なフレームから参照フレームへの動きベクトルがある場合である。
【００４７】
（１）符号化フレームのマクロブロック毎に、無関係なフレームでのマクロブロックを決める（図１０（ａ））。
【００４８】
（２）（１）で取得したマクロブロックの参照フレームへの動きベクトルを取得する（図１０（ｂ））。
【００４９】
（３）（２）で取得した動きベクトル近傍のマクロブロック位置の動きベクトルを探索位置の中心とし、一定の範囲を探索範囲として設定する（図１０（ｃ））。
【００５０】
（４）（１）、（２）、（３）の処理を符号化フレームの全マクロブロックについて行い、符号化フレームの探索範囲を設定する。
【００５１】
図１１を用いてパターン３の場合の探索領域決定方法について述べる。パターン３は、参照フレームから無関係なフレームへの動きベクトルと、符号化フレームから無関係なフレームへの動きベクトルがある場合である。
【００５２】
（１）参照フレームのマクロブロック毎に、無関係なフレームへの動きベクトルを取得し、全マクロブロックについて無関係なフレームのマクロブロックを決める（図１１（ａ））。
【００５３】
（２）符号化フレームのマクロブロック毎に無関係なフレームへの動きベクトルを取得し、無関係なフレームでのマクロブロック位置を決定する（図１１（ｂ））。
【００５４】
（３）（２）で求めたマクロブロック位置に（１）で決めたマクロブロックで参照フレームからそのマクロブロック位置を指す動きベクトルが存在する場合は、参照フレームのマクロブロック近傍を探索位置の中心とし、一定の範囲を探索範囲として設定する。
【００５５】
もし、（１）で決めたマクロブロックで参照フレームからそのマクロブロック位置を指す動きベクトルが複数存在する場合は、すべての動きベクトルの類似性を示す評価値からもっとも適した動きベクトルを選択すればよい。あるいは、すべての動きベクトルについて、探索範囲を設定してもよい。
【００５６】
もし、（１）で決めたマクロブロックで参照フレームからそのマクロブロック位置を指す動きベクトルが複数存在しない場合は、本来の探索範囲を探索範囲とする（図１１（ｃ））。
【００５７】
（４）（２）、（３）の処理を符号化フレームの全マクロブロックに渡って行う。
【００５８】
図１２を用いてパターン４の場合の探索領域決定方法について述べる。パターン４は、無関係なフレームから符号化フレームへの動きベクトルと、無関係なフレームから参照フレームへの動きベクトルがある場合である。
【００５９】
（１）無関係なフレームから符号化フレームへの動きベクトルを取得し、符号化フレームでのマクロブロック位置を決定する（図１２（ａ））。
【００６０】
（２）無関係なフレームの参照フレームへの動きベクトルを取得し、その位置を中心として探索範囲を設定し、（１）で取得した符号化フレームの探索範囲とする（図１２（ｂ）（ｃ））。
【００６１】
（３）（１）、（２）の処理を無関係なフレームの全マクロブロックについて行い、符号化フレームの探索範囲を設定する。
【００６２】
（４）上記処理を行った後、符号化フレームの探索範囲が決定しなかったフレームについては、本来の探索範囲を設定する。
【００６３】
図１３を用いてパターン５の場合の探索領域決定方法について述べる。
【００６４】
パターン５は、参照フレームから無関係なフレームへの動きベクトルと、無関係なフレームから符号化フレームへの動きベクトルがある場合である。
【００６５】
（１）参照フレームの無関係なフレームへの動きベクトルを取得し、無関係なフレームのマクロブロック位置を決定する（図１３（ａ））。
【００６６】
（２）（１）で決定した無関係なフレームから符号化フレームへの動きベクトルを取得し、符号化フレームのマクロブロック位置を決定する（図１３（ｂ））。
【００６７】
（３）（２）で決定したマクロブロック位置の探索範囲を（１）の参照フレームのマクロブロック位置近傍とする（図１３（ｃ））。
【００６８】
（４）（１）、（２）、（３）の処理を参照フレームの全マクロブロックについて行う。
【００６９】
（５）上記処理で探索範囲の決定しないマクロブロックについては、本来の探索範囲を探索範囲として設定する。
【００７０】
パターン６の場合については、全てのマクロブロックについて本来の探索範囲を設定する。
【００７１】
以上の処理により、探索範囲の決定処理を行う。
【００７２】
再度、図５に戻り動きベクトル生成処理を行い、生成した動きベクトルを動きベクトル記憶部に記憶する。ここで、動きベクトル生成処理では、ステップＳ５０８で求めた探索領域を探索することにより動きベクトルを生成する（ステップＳ５０８）。
【００７３】
最後に符号化部で動きベクトル記憶部からデータを参照し符号化処理を行い符号化データ記憶装置に出力する。
【００７４】
なお、本発明は、コンピュータとプログラムで実施されることがあり、そのプログラムは記録媒体に記録されることがある。
【産業上の利用可能性】
【００７５】
本発明にかかる画像符号化処置は、動画を符号化する際の動きベクトルを高速に精度良く求めることができるため、動画の符号化装置として有用である。特に処理時間が長くなるソフトウェア符号化装置や、業務用のオーサリング装置で有用である。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の形態における画像符号化装置の構成図
【図２】本発明の実施の形態における画像符号化処理のデータフロー図
【図３】本発明の実施の形態におけるピクチャタイプデータのデータ構造の一例を示す図
【図４】本発明の実施の形態における動きベクトルデータのデータ構造の一例を示す図
【図５】本発明の実施の形態における動きベクトル探索処理のフローチャート
【図６】本発明の実施の形態における動きベクトル決定処理のフローチャート
【図７】本発明の実施の形態における動きベクトルの参照関係を示す模式図
【図８】本発明の実施の形態における探索領域決定処理フローチャート
【図９】本発明の実施の形態における探索領域決定方法パターン１を示す図
【図１０】本発明の実施の形態における探索領域決定方法パターン２を示す図
【図１１】本発明の実施の形態における探索領域決定方法パターン３を示す図
【図１２】本発明の実施の形態における探索領域決定方法パターン４を示す図
【図１３】本発明の実施の形態における探索領域決定方法パターン５を示す図
【符号の説明】
【００７７】
１００    画像符号化装置
１０１    非圧縮画像記憶装置
１０２    ピクチャタイプ決定部
１０３    編集処理部
１０４    動きベクトル探索部
１０５    動きベクトル記憶部
１０６    符号化部
１０７    ピクチャタイプ記憶部
１０８    符号化データ記憶装置
１２１    既存動きベクトル取得部
１２２    探索領域設定部
１２３    動きベクトル生成部
２０１    １パス目の画像符号化処理
２０２    ２パス目以降の画像符号化処理
【図１】
2005229497.tif 000003
【図２】
2005229497.tif 000004
【図３】
2005229497.tif 000005
【図４】
2005229497.tif 000006
【図５】
2005229497.tif 000007
【図６】
2005229497.tif 000008
【図７】
2005229497.tif 000009
【図８】
2005229497.tif 000010
【図９】
2005229497.tif 000011
【図１０】
2005229497.tif 000012
【図１１】
2005229497.tif 000013
【図１２】
2005229497.tif 000014
【図１３】
2005229497.tif 000015