(57)【要約】【課題】動き量の大きい動画像に対しても、適切な動きベクトルを探索でき、符号化効率を向上させる。【解決手段】  符号化ブロック単位で直前ピクチャとの動きベクトルとその信頼度を求めて保持しておき、符号化時のベクトル探索範囲をベクトルを追跡し累積加算して得られる合成動きベクトルの信頼度が高い場合はそのベクトルが示す位置を探索中心とし、信頼度が低い場合は途中までの合成動きベクトルを時間的距離に応じて外挿したベクトルを探索中心とする。【選択図】図１
2011097572.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を複数のブロックに分割し、各ブロックについて動き補償による予測符号化を行う動画像符号化装置であって、
前記入力画像と、当該入力画像の時間的に直前に位置する画像とから、前記各ブロックに係る画素値の差分を算出し、前記差分が最小となる位置関係に基づいて、前記各ブロックについての第１の動きベクトルを算出する第１動き探索手段と、
前記第１の動きベクトルを前記入力画像における前記各ブロックの位置と対応づけて記憶し、かつ時間的に連続する複数枚の画像に関連する前記第１の動きベクトルを保持する動きベクトルメモリと、
前記動きベクトルメモリに保持された前記第１の動きベクトルにしたがって、前記各ブロックに対してそれぞれ動き補償を行う際に参照する参照画像における動き探索すべき位置を決定する探索位置決定手段と、
前記探索位置決定手段により決定された位置に基づいて前記各ブロックに対してそれぞれ前記参照画像に所定サイズの探索範囲を設定し、前記各ブロックについて前記探索範囲内で第２の動きベクトルを決定する第２動き探索手段と、
前記第２動き探索手段により決定された第２の動きベクトルに基づいて動き補償による予測符号化を行う符号化手段と
を備え、
前記探索位置決定手段は、前記入力画像に時間的に隣接しない画像が前記参照画像である場合に、前記入力画像における前記各ブロックを始点にして、前記各ブロックの位置に対応する前記第１の動きベクトルに従って直前の画像におけるブロックを選択する方法により、前記入力画像から前記参照画像までの間に含まれる画像に関連する複数の前記第１の動きベクトルを追跡し、当該追跡された複数の第１の動きベクトルが連続するように加算して得られる合成動きベクトルを算出して、当該合成動きベクトルに基づいて、前記各ブロックに対してそれぞれ前記参照画像における動き探索すべき位置を決定することを特徴とする動画像符号化装置。
【請求項２】
前記第１動き探索手段は、前記第１の動きベクトルの信頼度を示す信頼性値を算出し、
前記動きベクトルメモリは、前記信頼性値を対応する第１の動きベクトルと関連づけて更に記憶し、
前記探索位置決定手段は、
前記信頼性値にしたがって前記第１の動きベクトルの信頼度を判定し、信頼度が高いと判定された第１の動きベクトルだけを累積加算して前記合成動きベクトルを算出することを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記探索位置決定手段は、
信頼度が低いと判定された第１の動きベクトルがある場合、当該信頼度が低いと判定された第１の動きベクトルの加算を行わずに、前記信頼度が高いと判定された第１の動きベクトルを再度加算して算出される合成動きベクトルにより、前記参照画像における動き探索すべき位置を決定することを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記始点となるブロックの前記第１の動きベクトルの信頼度が低いと判定された場合、
前記探索位置決定手段は、該ブロックの位置を前記動き探索の中心に決定することを特徴とする請求項２に記載の動画像符号化装置。
【請求項５】
前記入力画像の画素値と、該入力画像に時間的に直前に位置する画像の画素値とを比較してグローバル・ベクトルを算出する全体動き探索手段をさらに備え、
前記始点となるブロックの前記第１の動きベクトルの信頼度が低いと判定された場合、
前記探索位置決定手段は、前記入力画像から前記参照画像までの前記グローバル・ベクトルを累積加算することにより決定される位置を前記動き探索の中心に決定することを特徴とする請求項２に記載の動画像符号化装置。
【請求項６】
入力画像を複数のブロックに分割し、各ブロックについて動き補償による予測符号化を行う動画像符号化装置であって、
前記入力画像と、当該入力画像の時間的に直前に位置する画像とから、前記各ブロックに係る画素値の差分を算出し、前記差分が最小となる位置関係に基づいて、前記各ブロックについての第１の動きベクトルを算出する第１動き探索手段と、
前記入力画像の画素値と、当該入力画像の時間的に直前に位置する画像の画素値とを比較してグローバル・ベクトルを算出する全体動き探索手段と、
前記第１の動きベクトルを前記入力画像における前記各ブロックの位置と対応づけて記憶し、かつ、時間的に連続する複数枚の画像に関連する前記第１の動きベクトルを保持する動きベクトルメモリと、
前記動きベクトルメモリに保持された前記第１の動きベクトルと前記グローバル・ベクトルとにしたがって、前記各ブロックに対してそれぞれ動き補償を行う際に参照する参照画像における動き探索すべき位置を決定する探索位置決定手段と、
前記探索位置決定手段により決定された位置に基づいて前記各ブロックに対してそれぞれ前記参照画像に所定サイズの探索範囲を設定し、前記各ブロックについて前記探索範囲内で第２の動きベクトルを決定する第２動き探索手段と、
前記第２動き探索手段により決定された第２の動きベクトルに基づいて動き補償による予測符号化を行う符号化手段と
を備えることを特徴とする動画像符号化装置。
【請求項７】
前記探索位置決定手段は、前記入力画像に時間的に隣接しない画像が前記参照画像である場合に、
前記入力画像における前記各ブロックを始点にして、前記各ブロックの位置に対応する前記第１の動きベクトルに従って直前の画像におけるブロックを選択する方法により、前記入力画像から前記参照画像までの間に含まれる画像に関連する複数の前記第１の動きベクトルを追跡し、当該追跡された複数の第１の動きベクトルが連続するように加算して得られる合成動きベクトルを算出して、当該合成動きベクトルに基づいて、前記各ブロックに対してそれぞれ前記参照画像における動き探索すべき位置を決定する方法と、前記グローバル・ベクトルにしたがって前記各ブロックに対してそれぞれ前記参照画像における動き探索すべき位置を決定する方法とを選択的に実行する
ことを特徴とする請求項６に記載の動画像符号化装置。
【請求項８】
入力画像を複数のブロックに分割し、各ブロックについて動き補償による予測符号化を行う動画像符号化装置の制御方法であって、
第１動き探索手段が、前記入力画像と、当該入力画像の時間的に直前に位置する画像とから、前記各ブロックに係る画素値の差分を算出し、前記差分が最小となる位置関係に基づいて、前記各ブロックについての第１の動きベクトルを算出する第１動き探索工程と、
前記第１動き探索手段が、前記第１の動きベクトルを前記入力画像における前記各ブロックの位置と対応づけると共に、時間的に連続する複数枚の画像に関連する前記第１の動きベクトルを、動きベクトルメモリに保持させる工程と、
前記動きベクトルメモリに保持された前記第１の動きベクトルにしたがって、探索位置決定手段が、前記各ブロックに対してそれぞれ動き補償を行う際に参照する参照画像における動き探索すべき位置を決定する探索位置決定工程と、
第２動き探索手段が、前記探索位置決定工程において決定された位置に基づいて前記各ブロックに対してそれぞれ前記参照画像に所定サイズの探索範囲を設定し、前記各ブロックについて前記探索範囲内で第２の動きベクトルを決定する第２動き探索工程と、
符号化手段が、前記第２動き探索工程において決定された第２の動きベクトルに基づいて動き補償による予測符号化を行う符号化工程と
を備え、
前記探索位置決定工程では、前記入力画像に時間的に隣接しない画像が前記参照画像である場合に、前記入力画像における前記各ブロックを始点にして、前記各ブロックの位置に対応する前記第１の動きベクトルに従って直前の画像におけるブロックを選択する方法により、前記入力画像から前記参照画像までの間に含まれる画像に関連する複数の前記第１の動きベクトルを追跡し、当該追跡された複数の第１の動きベクトルが連続するように加算して得られる合成動きベクトルを算出して、当該合成動きベクトルに基づいて、前記各ブロックに対してそれぞれ前記参照画像における動き探索すべき位置を決定する
ことを特徴とする動画像符号化装置の制御方法。
【請求項９】
入力画像を複数のブロックに分割し、各ブロックについて動き補償による予測符号化を行う動画像符号化装置の制御方法であって、
第１動き探索手段が、前記入力画像と、当該入力画像の時間的に直前に位置する画像とから、前記各ブロックに係る画素値の差分を算出し、前記差分が最小となる位置関係に基づいて、前記各ブロックについての第１の動きベクトルを算出する第１動き探索工程と、
全体動き探索手段が、前記入力画像の画素値と、当該入力画像の時間的に直前に位置する画像の画素値とを比較してグローバル・ベクトルを算出する全体動き探索工程と、
前記第１動き探索手段が、前記第１の動きベクトルを前記入力画像における前記各ブロックの位置と対応づけると共に、時間的に連続する複数枚の画像に関連する前記第１の動きベクトルを、動きベクトルメモリに保持させる工程と、
前記動きベクトルメモリに保持された前記第１の動きベクトルと前記グローバル・ベクトルとにしたがって、探索位置決定手段が、前記各ブロックに対してそれぞれ動き補償を行う際に参照する参照画像における動き探索すべき位置を決定する探索位置決定工程と、
第２動き探索手段が、前記探索位置決定手段により決定された位置に基づいて前記各ブロックに対してそれぞれ前記参照画像に所定サイズの探索範囲を設定し、前記各ブロックについて前記探索範囲内で第２の動きベクトルを決定する第２動き探索工程と、
符号化手段が、前記第２動き探索手段により決定された第２の動きベクトルに基づいて動き補償による予測符号化を行う符号化工程と
を備えることを特徴とする動画像符号化装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至７のいずれか１項に記載の動画像符号化装置の各手段として機能させるためのプログラムを記憶したコンピュータで読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置に関し、特に動きベクトル探索の技術に関する。
【背景技術】
【０００２】
従来、例えば、被写体を撮影し、それにより得られた動画像を圧縮符号化して記録するカメラ一体型動画像記録装置として、デジタルビデオカメラがよく知られている。近年は、ランダムアクセス性などの利便性が高いため、記録媒体が従来の磁気テープからディスク媒体や半導体メモリなどに移り変わってきている。圧縮方式としては、フレーム間で動き予測を用いて高い圧縮率で圧縮可能なＭＰＥＧ−２が一般的であり、さらに近年では、より高圧縮に圧縮可能なＨ.２６４なども用いられている。
【０００３】
このような圧縮方式の符号化装置では、フレーム画像を分割した、符号化単位であるマクロブロック単位に、フレーム間の動きベクトルを探索する必要がある。動きベクトルの探索は、パターンマッチングによって実現するのが一般的であり、膨大な演算が必要であることはよく知られている。そのため、探索範囲を絞って設定し、探索範囲内で動きベクトル探索をする方法がよくとられている。
【０００４】
そこで、演算量を減らしながらも実効的に広い範囲で動きベクトルを求めるために、下記特許文献１に記載されているような手法が提案されている。特許文献１では、まず、縮小画像を用いて粗い動きベクトルの探索を行い、粗い探索で求めた動きベクトルの周辺を、元の縮小していない画像を用いて詳細な探索を行っている。
【０００５】
また、下記特許文献２には、フレーム全体の動きを表すグローバル・ベクトルとその信頼性とに応じて、動きベクトルの探索範囲を決定する方法が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２９８９０４号公報
【特許文献２】特開２００５−３５４５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術の構成では、スポーツ映像など特に動き量の大きい動画像では十分に広い範囲での動き探索ができず、フレーム画像間の適切な動きベクトルを探索できないという問題がある。
【０００８】
また、背景等、フレーム画像の大部分は静止しているが、一部の物体が移動している動画像を符号化することがある。このような場合に、グローバル・ベクトルを用いた方法によれば、フレーム全体としては動きが無い（ベクトル０）と判定されることがあり、移動物体を含むマクロブロックの探索範囲を適切な位置に決定できないという問題がある。
【０００９】
本発明は上記の問題に鑑み、動き量の大きい動画像に対しても、適切な動きベクトルを探索できるようにすることを目的とする。
【００１０】
また、フレーム画像内の物体の動き方が一様でない動画像に対しても、適切な動きベクトルを探索できるようにすることを更なる目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するための本発明は、入力画像を複数のブロックに分割し、各ブロックについて動き補償による予測符号化を行う動画像符号化装置であって、
前記入力画像と、当該入力画像の時間的に直前に位置する画像とから、前記各ブロックに係る画素値の差分を算出し、前記差分が最小となる位置関係に基づいて、前記各ブロックについての第１の動きベクトルを算出する第１動き探索手段と、
前記第１の動きベクトルを前記入力画像における前記各ブロックの位置と対応づけて記憶し、かつ時間的に連続する複数枚の画像に関連する前記第１の動きベクトルを保持する動きベクトルメモリと、
前記動きベクトルメモリに保持された前記第１の動きベクトルにしたがって、前記各ブロックに対してそれぞれ動き補償を行う際に参照する参照画像における動き探索すべき位置を決定する探索位置決定手段と、
前記探索位置決定手段により決定された位置に基づいて前記各ブロックに対してそれぞれ前記参照画像に所定サイズの探索範囲を設定し、前記各ブロックについて前記探索範囲内で第２の動きベクトルを決定する第２動き探索手段と、
前記第２動き探索手段により決定された第２の動きベクトルに基づいて動き補償による予測符号化を行う符号化手段と
を備え、
前記探索位置決定手段は、前記入力画像に時間的に隣接しない画像が前記参照画像である場合に、前記入力画像における前記各ブロックを始点にして、前記各ブロックの位置に対応する前記第１の動きベクトルに従って直前の画像におけるブロックを選択する方法により、前記入力画像から前記参照画像までの間に含まれる画像に関連する複数の前記第１の動きベクトルを追跡し、当該追跡された複数の第１の動きベクトルが連続するように加算して得られる合成動きベクトルを算出して、当該合成動きベクトルに基づいて、前記各ブロックに対してそれぞれ前記参照画像における動き探索すべき位置を決定することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、動き量の大きい動画像や、フレーム画像内の物体の動き方が一様でない動画像に対しても、適切な動きベクトルを探索でき、符号化効率を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態１に係る動画像符号化装置の構成を示すブロック図。
【図２】フレーム画像の入力順と符号化順とにおける符号化ピクチャタイプの関係を説明するための図。
【図３】動きベクトルメモリの内容を模式的に示した図。
【図４】実施形態１に係る探索位置決定部１０５の処理のフローチャート。
【図５】実施形態２に係る動画像符号化装置の構成を示すブロック図。
【図６】合成動きベクトルの求め方を説明するための概念図。
【図７】実施形態２に係る探索位置決定部５０２の処理のフローチャート。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
【００１５】
［実施形態１］
図１は、本発明の実施形態１に係る動画像符号化装置の構成を示すブロック図である。以下、画像入力時と符号化時に分けて動作を説明する。図１の動画像符号化装置において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理・制御プログラムをＣＰＵが実行することにより、ソフトウェア的に構成されてもよい。
【００１６】
＜画像入力時＞
入力画像（フレーム画像データ）は、フレームメモリ１０２に記憶されるとともに、縮小部１０１によって解像度を削減する縮小処理がなされ、入力画像の縮小画像がフレームメモリ１０２に記憶される。フレームメモリ１０２に記憶された縮小画像は、次の入力画像を処理（第１動き探索）するときに利用される。入力画像の縮小画像は、第１動き探索部１０３にも入力される。本実施形態では一例として画像の縮小率を水平、垂直ともに４分の１とする。縮小処理は、公知の平滑化フィルタ等を使ったり、サブサンプリングにより行うことができる。なお、本実施形態では処理負荷軽減のため入力画像の縮小画像を生成して、当該縮小画像を用いて第１の動き探索を行う構成を採用したが、縮小画像を生成することは必須ではなく、入力画像を用いて第１の動き探索を行ってもよい。
【００１７】
第１動き探索部１０３は、入力された縮小画像の動きベクトル（第１の動きベクトル）を、フレームメモリ１０２に記憶されている、時間的に直前に位置するフレーム画像（直前フレーム）の縮小画像を参照画像として探索する。第１動き探索部１０３は、縮小された符号化ブロック単位で第１の動きベクトルを探索するが、本実施形態では、通常画像を分割して得られる符号化ブロックのサイズを、一例として水平・垂直とも１６画素とする。したがって、縮小された符号化ブロック（縮小ブロック）は水平・垂直とも４画素のブロックとなる。第１動き探索部１０３は、フレームメモリ１０２から、探索範囲に含まれる参照画像のデータを読み出す。動き探索は、探索範囲に含まれる参照画像のある座標から読み出した４×４画素の画像データと、符号化対象の符号化ブロックの画像データとの画素値の差分の絶対値和を算出し、これを該座標における評価値とする。その後、探索範囲内で読み出す座標を変えながら各座標について評価値を算出し、評価値が最小となる位置関係に基づいて当該符号化ブロックの動きベクトルを決定する。その際、決定した動きベクトルに対応する評価値を、動きベクトルの信頼度を示す信頼性値に決定する。
【００１８】
決定した動きベクトルおよび信頼性値は、入力画像における各ブロックの位置と対応づけられて動きベクトルメモリ１０４へ記憶される。なお、ここでは動きベクトルの信頼度を画素差分の評価値（信頼性値）とし、信頼性値が小さい（画素差分が小さい）ほど信頼度は高く、信頼性値が大きい（画素差分が大きい）ほど信頼度は低いと判断される。動きベクトルメモリ１０４には、少なくとも６フレーム画像分（Ｐピクチャの間隔の２倍相当）の各ブロックの第１の動きベクトル及び信頼性値が保持される。
【００１９】
＜符号化時＞
フレームメモリ１０２へは、順次第１フレーム、第２フレーム、第３フレーム、・・・の順で格納されていく。フレームメモリからは、例えば、第３フレーム、第１フレーム、第２フレーム、・・・などの、符号化を行う順序で並び替えられたフレーム画像データを取り出していく。本発明の実施形態１に係る動画像符号化装置は、例えばＨ．２６４符号化方式にしたがった符号化を行う。当該符号化には、フレーム内の画像データのみで符号化する"イントラ予測符号化"と、フレーム間予測も含めて符号化する"インター予測符号化"がある。インター予測符号化は、符号化ブロックに対して１枚の参照フレームとの予測を行うＰピクチャと、符号化ブロックに対して２枚までの参照フレームとの予測を行うＢピクチャとがある。なお、イントラ予測符号化を行うピクチャをＩピクチャという。
【００２０】
符号化するフレームの順番が入力されたフレームの順番と異なるのは、時間的に未来のフレームとの予測（後方予測）を可能にするためである。図２にフレーム画像の入力順と符号化順とにおける符号化ピクチャタイプの関係を示した。図２中のＩ、Ｐ、ＢはそれぞれＩピクチャ、Ｐピクチャ、Ｂピクチャを示し、その後に続く数字はフレームの入力順を示している。また、本実施形態では一例として、Ｐピクチャは入力順で直前のＩピクチャ、またはＰピクチャを参照し、Ｂピクチャは入力順で直前および直後のＩピクチャまたはＰピクチャを参照して動きベクトルを求めるものとする。例えば、Ｐ８フレームはＰ５フレームを参照し、Ｂ４フレームはＩ２フレームおよびＰ５フレームを参照する。
【００２１】
以下、Ｐ８フレームを符号化する場合を例に動作を説明する。動きベクトルメモリ１０４は、複数のバンク構成になっていて、それぞれのバンクには、符号化ブロック毎に直前フレームを参照画像とした第１の動きベクトルおよびその信頼性値が１フレーム分記憶されている。そして、動きベクトルメモリ１０４には、複数バンクを使って、時間的に連続する複数枚（例えば６枚）のフレーム画像に関連する第１の動きベクトルとその信頼性値が保持されている。
【００２２】
図３に、Ｐ８フレームを符号化するときの、動きベクトルメモリ１０４の内容を模式的に示した。１つの枠が１つの符号化ブロックに対応し、図３中の"MB:(h,v)"は符号化ブロックの座標が（ｈ，ｖ）であることを示す。"Vec:(h,v)"は第１動き探索部１０３で決定した当該符号化ブロックの第１の動きベクトルが（ｈ，ｖ）であることを示す。"Rel:A"は第１動き探索部１０３で決定した当該符号化ブロックの第１の動きベクトルの信頼性値がＡであることを示している。なお、図３では説明に必要となる符号化ブロックに対してのみ情報を書き入れていて、他の符号化ブロックに対する情報は省略しているが、本来は全てのブロックに同様に情報が格納されているものとする。
【００２３】
図４は、探索位置決定部１０５の処理の一例を示すフローチャートである。探索位置決定部１０５の処理について、図４のフローチャートを参照して説明する。なお、該フローチャートは、例えば、探索位置決定部１０５として機能するＣＰＵ等のコンピュータが対応するプログラム（ＲＯＭ等に格納）を実行することにより実現できる。
【００２４】
Ｓ４０１で探索位置決定部１０５は、動きベクトルメモリ１０４に記憶されている、符号化対象である入力画像の１つの符号化ブロックを選択し、Ｓ４０２で、選択したブロックの第１の動きベクトル及びその信頼性値を取得し、保持する。Ｓ４０３で探索位置決定部１０５は、取得した信頼性値が閾値ＴＨｒより小さいか否かを判定する。このとき信頼性値は値が大きくなるほど信頼度が低くなるので、信頼性値が小さいものを閾値ＴＨｒとの比較により判定する。もし、信頼性値が閾値ＴＨｒより小さい場合は、信頼度が高いとみなされて、Ｓ４０５にフローが移行する。一方、信頼性値が閾値ＴＨｒ以上の場合は、信頼度が低いとみなされて、Ｓ４０４にフローが移行する。Ｓ４０４で探索位置決定部１０５は、Ｓ４０１で選択したブロックについて、探索中心を（０，０）、即ち自ブロック位置とする所定サイズの動きベクトル探索範囲を決定する。Ｓ４０４で決定される動きベクトル探索範囲は、第２動き探索部１０６が動き補償を行う際に参照する参照先フレームにおける動き探索すべき位置となる。
【００２５】
一方、Ｓ４０５で探索位置決定部１０５は、Ｓ４０２で動きベクトルメモリ１０４から取得した第１の動きベクトルを合成動きベクトルとして設定する。続くＳ４０６で探索位置決定部１０５は、時間的に直前のフレームにおいて、合成動きベクトルが示す位置に該当するブロックを選択する。Ｓ４０７で探索位置決定部１０５は、動きベクトルメモリ１０４から、Ｓ４０６で選択したブロックの第１の動きベクトル及びその信頼性値を取得する。
【００２６】
続くＳ４０８で探索位置決定部１０５は、Ｓ４０７で取得した信頼性値が、既に保持している（Ｓ４０２や別のブロックについてＳ４０９において）信頼性値よりも大きい（即ち、信頼性が最も低い）か否かを判定する。もし、Ｓ４０７で取得した信頼性値が最大値であれば（Ｓ４０８で「ＹＥＳ」）、Ｓ４０９にフローが移行する。一方、最大値でなければ（Ｓ４０８で「ＮＯ」）、Ｓ４１０にフローが移行する。
【００２７】
Ｓ４０９で探索位置決定部１０５は、合成動きベクトルに関連づけて、保持済の信頼性値の値を更新する。続いてＳ４１０で探索位置決定部１０５は、Ｓ４０７で取得した信頼性値が閾値ＴＨｒより小さいか否かを判定する。もし、信頼性値が閾値ＴＨｒより小さい場合は（Ｓ４１０で「ＹＥＳ」）、Ｓ４１１にフローが移行する。一方、信頼性値が閾値ＴＨｒ以上の場合は（Ｓ４１０で「ＮＯ」）、Ｓ４１３にフローが移行する。
【００２８】
Ｓ４１１で探索位置決定部１０５は、Ｓ４０７で取得した動きベクトルに基づいて、合成動きベクトルを更新する。合成動きベクトルの更新については後述する。その後、Ｓ４１２で探索位置決定部１０５は、Ｓ４０１で選択した符号化対象のフレームが動き補償で参照する参照先フレームに到達したかどうかを判定する。もし、参照先フレームに到達した場合には（Ｓ４１２において「ＹＥＳ」）、Ｓ４１３にフローが移行し、到達しない場合はＳ４０６に戻る。Ｓ４１３で探索位置決定部１０５は、その時点で設定されている合成動きベクトルに基づき、探索中心と、当該探索中心を基準とする所定サイズの動きベクトル探索範囲を決定する。Ｓ４１３で決定される動きベクトル探索範囲は、第２動き探索部１０６が動き補償を行う際に参照する参照先フレームにおける動き探索すべき位置となる。
【００２９】
以下、上記の処理の流れを、図３に示したＰ８のブロック３０１、３０４、３０７を例としてより具体的に説明する。Ｐ８の各ブロックは入力順で直前のフレームであるＢ７を参照画像として第１の動きベクトルとその信頼性値が求められている。そして、Ｐ８（入力画像）に対応する第１の動きベクトルとその信頼性値の情報が動きベクトルメモリ１０４のバンク（ＢＡＮＫ）２に記憶されている。
【００３０】
まず、符号化ブロック座標（０，０）を符号化する場合を例に説明すると、Ｓ４０２で取得する情報は、Ｐ８フレームの符号化ブロック座標（０，０）の値である。すなわち、動きベクトルメモリ１０４のＢＡＮＫ２のＭＢ：（０，０）の値であり、図３では３０１の番号で示している。ブロック３０１における第１の動きベクトルは（１０，５）で信頼性値は５０である。この第１の動きベクトルはＢ７フレームを参照画像とした動きベクトルであるから、Ｐ８フレームの符号化ブロック座標（０，０）に含まれる画像は、Ｂ７フレームでは縮小画素単位の座標で（１０，５）付近に含まれている可能性が高い。ここでは縮小画像単位で水平・垂直４画素の符号化ブロックとしているため、縮小画像単位で（１０，５）を含む符号化ブロック座標は（２，１）である。
【００３１】
Ｂ７フレームに対応する第１の動きベクトルとその信頼性値の情報は、動きベクトルメモリ１０４のバンク１に記憶されているので、次にＢ７フレームの符号化ブロック座標（２，１）の情報をＳ４０７で取得する。すなわち、図３のＢＡＮＫ１のＭＢ：（２，１）の値であり、３０２の番号で示している。ブロック３０２における第１の動きベクトルは（９，４）で信頼性値は５７である。
【００３２】
ここで合成動きベクトルの更新について説明する。更新前の合成動きベクトルが（１０，５）であったのに対して、新たに取得された第１の動きベクトルが（９，４）である場合、更新後の合成動きベクトルは（１９，９）となる。すなわち、更新前の合成動きベクトル（この例ではブロック３０１の第１の動きベクトル）とブロック３０２の第１の動きベクトルとを加算すればよく、加算によって求まる合成動きベクトルの値によって、更新前の合成動きベクトルの値を更新する（Ｓ４１１）。
【００３３】
次に、Ｂ７フレームの各ブロックは入力順で直前のフレームであるＢ６を参照画像として第１の動きベクトルとその信頼性値が求められている。このＢ７フレームの情報に基づくと、合成動きベクトルの始点であるＰ８フレームの符号化ブロック座標（０，０）に含まれる画像は、Ｂ６フレームでは縮小画素単位の座標で（１９，９）付近に含まれている可能性が高い。縮小画素単位の座標で（１９，９）を含む符号化ブロック座標は（４，２）である。
【００３４】
Ｂ６フレームに対応する第１の動きベクトルとその信頼性値の情報は、動きベクトルメモリ１０４のバンク０に記憶されているので、次にＢ６フレームの符号化ブロック座標（４，２）の情報を２回目のＳ４０７で取得する。すなわち、図３のＢＡＮＫ０のＭＢ：（４，２）の値であり、３０３の番号で示している。ブロック３０３における第１の動きベクトルは（１０，５）で信頼性値は６６である。３０１、３０２、３０３におけるそれぞれの第１の動きベクトルを加算すると合成動きベクトル（２９，１４）が求まるので、この値によって更新前の合成動きベクトルの値を更新する（Ｓ４１１）。この結果、最終的な合成動きベクトルの値により、Ｐ８フレームの符号化ブロック座標（０，０）に含まれる画像は、Ｐ５フレームでは縮小画素単位の座標で（２９，１４）付近に含まれている可能性が高いと判定される。
【００３５】
また、この合成動きベクトルの信頼性値は、３０１，３０２，３０３の各ブロックにおける信頼性値の最大値とし、この場合は６６となる（Ｓ４０８、Ｓ４０９）。信頼性値はある閾値より小さい場合には対応する動きベクトルの信頼度が高いと判断される。本実施形態では閾値を３００とし、累積加算した動きベクトルは信頼度が高いと判断される（Ｓ４０３、Ｓ４１０）。以上のことから、Ｐ８フレームの符号化ブロック座標（０，０）の動き補償をする際の探索中心は、縮小していない画像の画素単位に換算（×４画素）してＰ５フレームの（１１６、５６）と決定される。
【００３６】
次に、符号化ブロック座標（１，０）を符号化する場合を例に説明する。上述の動作と同様に合成動きベクトルを生成していくと、３０４、３０５、３０６の各ブロックにおけるそれぞれの第１の動きベクトルを累積加算していくことになる。算出された合成動きベクトルは縮小画像単位で（１１，１３）、信頼性値は６３２となる。しかし、信頼性値が閾値３００以上である符号化ブロックを含むため、累積加算した動きベクトルの信頼度は低いので採用されない。このような場合、累積加算していく過程で、Ｓ４１０の判定により符号化ブロックごとの信頼性値が閾値以上となる直前までの合成動きベクトルを求める。そして、信頼性値が閾値を超えない第１の動きベクトルだけを加算した合成動きベクトルを参照画像との時間的な間隔の比から外挿することによって、Ｐ８フレームからＰ５フレームまでの合成動きベクトルを推定する。例えば、該合成動きベクトルの値をＭＶｃ、合成動きベクトルを生成するために加算したベクトル数をＶｎ、符号化対象フレームと参照先フレームとのフレーム間距離（フレーム枚数）をＦｎとして、前記外挿して推定する合成動きベクトルＭＶｅは、
ＭＶｅ＝ＭＶｃ×Ｆｎ／Ｖｎ
となる。図３の例では、３０５の信頼性値が閾値以上のため、３０４までの動きベクトル（１１，６）が、信頼性値が閾値以上となる直前までの合成動きベクトルとなる。この結果、合成動きベクトルと外挿した動きベクトルとにより、Ｐ８フレームの符号化ブロック座標（１，０）に含まれる画像について、Ｐ５フレームまでの合成動きベクトルを推定して、動き補償をする際の探索中心を決定する。
【００３７】
なお、図３の例では、３０４の動きベクトルを再度加算して３倍することになり、再度の加算により得られる動きベクトルは（３３、１８）である。よって、Ｐ８フレームの符号化ブロック座標（１，０）の動き補償をする際の探索中心は、縮小していない画像の画素単位に換算（×４画素）してＰ５フレームの（１３２、７２）と決定される。
【００３８】
なお、ここでは、合成動きベクトルを符号化対象フレームから参照先フレームまで加算したが、合成ベクトルを算出する過程で、信頼度が低いと判断される動きベクトルが出た時点で累積加算を止め、合成動きベクトルの信頼度が低いと判断してもよい。
【００３９】
次に、符号化ブロック座標（２，０）を符号化する場合を例に説明する。上述の動作と同様に累積加算により合成動きベクトルを生成していくと、まずブロック３０７の第１の動きベクトルおよび、信頼性値を取得する（Ｓ４０２）。信頼性値は７６９であり、信頼度は低いと判断される。このように、動きベクトルの累積加算をしていく始点となる動きベクトルの信頼度が低い場合には（Ｓ４０３で「ＮＯ」）、上述のように参照画像との時間的な間隔に応じた累積加算した動きベクトルの算出ができない。このような場合には、Ｐ８フレームの符号化ブロック座標（２，０）の動き補償をする際の探索中心は、加算動きベクトルがゼロであることに基づいて、Ｐ５フレームの（２，０）と決定する。
【００４０】
図６（ａ），（ｂ）は、合成動きベクトルの求め方を説明するための概念図である。図６（ａ）は、背景がほぼ静止した状態で、サッカーボールが左から右に移動している例であり、サッカーボールは樹木の手前側を通過している。
【００４１】
図６（ａ）の例は、上述した図３の符号化ブロック座標（０，０）を符号化する場合に相当する。特に、移動物体であるサッカーボールを含むブロックについて、入力画像ｎからｎ-３までの合成動きベクトルを上述した方法で算出することによって、移動物体に係るフレーム間の動きベクトルの追跡が可能となる。そして、参照先フレームにおいて移動物体に適切な動きベクトルの探索中心と探索範囲を決定することができる。
【００４２】
このように、本実施形態では、符号化対象フレームに時間的に隣接しないフレーム画像が参照先フレームである場合に、入力画像から参照先フレームまでの間に含まれる画像に関連する複数の第１の動きベクトルを追跡する。そして、追跡された複数の第１の動きベクトルが連続するように加算して得られる合成動きベクトルを算出して、合成動きベクトルにより入力画像の各ブロックに対してそれぞれ参照先フレームにおける動き探索すべき位置を決定する。
【００４３】
一方、図６（ｂ）は、背景がほぼ静止した状態で、サッカーボールが左から右に移動している例であり、サッカーボールは樹木の向こう側を通過している。
【００４４】
図６（ｂ）の例は、上述した図３の符号化ブロック座標（１，０）を符号化する場合に相当する。入力画像ｎ−２の時点で、移動物体であるサッカーボールが樹木の陰に隠れているため、サッカーボールを含むブロックについて、入力画像ｎ−１からｎ−２に対する第１の動きベクトルが誤った値を算出してしまっている。このような場合、信頼性値が極端に高い値を示すことになる。従って、上述したように信頼性値が閾値よりも小さい第１の動きベクトルを外挿した合成動きベクトルを算出することにより、参照先フレームにおいて移動物体に適切な動きベクトルの探索中心と探索範囲を決定することができる。
【００４５】
第２動き探索部１０６は、探索位置決定部１０５が決定した探索中心を中心とする所定サイズの探索範囲に基づいて、各ブロックに対してそれぞれ参照先フレームに所定サイズの探索範囲（サーチウィンドウ：ＳＷ）を設定する。そして、第２動き探索部１０６は、各ブロックについて探索範囲内で第２の動きベクトルを決定する。第１動き探索部１０３が縮小画像を用いた簡易動き探索を行うのに対して、第２動き探索部１０６は通常解像度の画像により動き探索を行う。第２動き探索部１０６は、フレームメモリ１０２から、Ｐ８フレームの符号化対象の符号化ブロックの画像データと、後述するＰ５フレーム（参照先フレーム）の再構成画像の探索範囲の画像データとを読み出す。そして第２動き探索部１０６は、探索範囲の画像データから、符号化対象の符号化ブロックの画像データと相関の高い部分を探索し、第２の動きベクトルを決定する。
【００４６】
動き補償符号化部１０７は、第２動き探索部１０６が決定した第２の動きベクトルにしたがって動き補償による予測符号化を行い、さらに直交変換、量子化、エントロピー符号化を含む符号化を行い、符号化データであるストリームを出力する。また、動き補償符号化部１０７は、符号化した画像を復号化して画像を再構成し、後続のフレーム画像の符号化の際に参照先フレームとして使用できるように、再構成画像をフレームメモリ１０２に保存する。
【００４７】
以上の動作により、参照画像との時間的な間隔が大きく、かつ動きが大きい場合であっても、符号化ブロック単位で動きに追従した動き探索中心を決定することができる。また、フレーム画像内の物体の動き方が一様でない動画像に対しても、適切な動きベクトルを探索できるようになる。さらに、第１動き探索の結果を累積加算する過程で信頼度が低い動きベクトルがあっても、追従した動き探索中心を決定することができる。
【００４８】
［実施形態２］
図５は、本発明の実施形態２に係る動画像符号化装置の構成を示すブロック図である。
【００４９】
以下、実施形態１と同様に、Ｐ８フレームを符号化する場合の例を用いて、特に実施形態１と異なる部分のみを説明する。画面全体動き探索部５０１は、縮小された入力画像、および、フレームメモリ１０２に記憶されている直前フレームの縮小画像から、１フレーム間隔の画面全体の動きベクトル（グローバル・ベクトル）を求める。そして、画面全体動き探索部５０１は、求めたグローバル・ベクトルを、動きベクトルメモリ１０４へ記憶する。画面全体の動きベクトルは、例えば、画面全体の画素位置をずらしながら画素差分を算出し、最も画素差分が小さい位置を動きベクトルとして決定される。グローバル・ベクトルの求め方は、引用文献２にも紹介されているので、詳細な説明は省略する。
【００５０】
探索位置決定部５０２は、動きベクトルメモリ１０４に格納されている、各フレーム画像の第１の動きベクトルとその信頼性値、及び、グローバル・ベクトルとにしたがって、動きベクトルの探索中心と探索範囲を決定する。
【００５１】
図４は、探索位置決定部５０２の処理の一例を示すフローチャートである。探索位置決定部５０２の処理について、図７のフローチャートを参照して説明する。なお、該フローチャートは、例えば、探索位置決定部５０２として機能するＣＰＵ等のコンピュータが対応するプログラム（ＲＯＭ等に格納）を実行することにより実現できる。
【００５２】
図７において、Ｓ４０１〜Ｓ４０３、及び、Ｓ４０５〜Ｓ４１３については、実施形態１における説明と同様であるので省略する。ここで、第１の動きベクトルの信頼性値が閾値ＴＨｒ以上の場合（Ｓ４０３でＮＯ）、信頼度が低いとみなされて、Ｓ７０１に移行する。
【００５３】
例えば、図３の符号化ブロック座標（２，０）を符号化する場合、第１の動きベクトルの信頼度が低く、適切な合成動きベクトルの算出ができない。このような場合に、探索位置決定部５０２は、動きベクトルメモリ１０４に記憶しているグローバル・ベクトルから、Ｐ８フレームとＢ７フレーム間、Ｂ７フレームとＢ６フレーム間、Ｂ６フレームとＰ５フレーム間のグローバル・ベクトルをそれぞれ読み出す。そして、探索位置決定部５０２は、Ｓ７０１として、これらを加算してＰ８フレームとＰ５フレーム間の合成グローバル・ベクトルを算出する。さらに、探索位置決定部５０２は、Ｓ７０２として、Ｐ８フレームとＰ５フレーム間の合成グローバル・ベクトルを、縮小していない画素単位に変換した上で、合成グローバル・ベクトルが示す位置に探索中心及び所定サイズの探索範囲を決定する。Ｓ７０２で決定される動きベクトル探索範囲は、第２動き探索部１０６が動き補償を行う際に参照する参照先フレームにおける動き探索すべき位置となる。
【００５４】
以上のとおり、本実施形態では、第１の動きベクトルを累積加算して得られる合成動きベクトルにしたがって動き探索位置を決定する方法と、グローバル・ベクトルにしたがって動き探索位置を決定する方法とを選択的に実行する。これにより、上記実施形態１と同様の効果を得ながら、さらに、第１動き探索の結果を累積加算する始点の信頼度が低い場合であっても、誤った探索範囲を設定することを減らすことができる。
【００５５】
［その他の実施形態］
また、その他の実施形態として、探索位置決定部１０５が、符号化対象の符号化ブロックに隣接する既に符号化済みの符号化ブロックの動きベクトルに基づき、探索中心を決定してもよい。第２動き探索部１０６の出力は探索位置決定部１０５へ入力されるようになっており、探索位置決定部１０５は、隣接する符号化ブロックの動きベクトルを取得できるようになっている。
【００５６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011097572.tif 000003
【図２】
2011097572.tif 000004
【図３】
2011097572.tif 000005
【図４】
2011097572.tif 000006
【図５】
2011097572.tif 000007
【図６】
2011097572.tif 000008
【図７】
2011097572.tif 000009