(57)【要約】【課題】  動きベクトルの検出精度を向上させつつ、当該動きベクトルを検出する際の演算量の増大を抑制する。【解決手段】  符号化対象画像と、複数の参照候補画像のそれぞれとの間で動きベクトルを探索する際に、動きベクトル検出器１２ｋは、符号化対象画像から各参照候補画像までの時間的な距離と、各参照候補画像のピーク信号対雑音比（ＰＳＮＲ）の値とに応じて実行する演算の量を変更する。【選択図】  図１３
2011217421.tif 000002
【特許請求の範囲】
【請求項１】
画面間の動きベクトルを検出する動きベクトル検出装置であって、
符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、
前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段とを有し、
前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出手段は、前記演算手段が演算した各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比（ＰＳＮＲ）の値とに応じて実行する演算の量を変更することを特徴とする動きベクトル検出装置。
【請求項２】
前記符号化対象画像と、前記複数の候補画像のそれぞれとの間における動きベクトルの探索精度を、前記演算手段により演算された前記各候補画像に対する時間的な距離と前記各候補画像のＰＳＮＲの値とに応じて決定する決定手段をさらに有し、
前記動きベクトル検出手段は、前記符号化対象画像と前記複数の候補画像のそれぞれとの間における動きベクトルの探索を、前記決定手段により決定された探索精度で実行することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
前記決定手段は、前記演算手段により演算された前記各候補画像に対する時間的な距離が短いほど、前記動きベクトルの探索精度を高くし、前記演算手段により演算された前記各候補画像に対する時間的な距離が長いほど、前記動きベクトルの探索精度を低くすることを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項４】
前記決定手段は、前記候補画像のＰＳＮＲの値が所定の閾値Ｔｈ１よりも大きいときは、前記動きベクトルの探索精度を高くすることを特徴とする請求項３に記載の動きベクトル検出装置。
【請求項５】
前記決定手段は、前記候補画像のＰＳＮＲの値が所定の閾値Ｔｈ２よりも小さいときは、前記動きベクトルの探索精度を低くすることを特徴とする請求項３に記載の動きベクトル検出装置。
【請求項６】
前記決定手段は、前記候補画像のＰＳＮＲの値が所定の閾値Ｔｈ１よりも大きいときは、前記動きベクトルの探索精度を高くし、前記候補画像のＰＳＮＲの値が所定の閾値Ｔｈ２よりも小さいときは、前記動きベクトルの探索精度を低くすることを特徴とする請求項３に記載の動きベクトル検出装置。
【請求項７】
画面間の動きベクトルを検出する動きベクトル検出方法であって、
符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、
前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程とを有し、
前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出工程で実行する演算の量が、前記演算工程で演算された各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比（ＰＳＮＲ）の値とに応じて変更されることを特徴とする動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置及び動きベクトル検出方法に関し、特に、画面間の動きベクトルを検出するために用いて好適なものである。
【背景技術】
【０００２】
近年、マルチメディアに関連する情報のデジタル化が急進している。これに伴い、映像情報の高画質化への要求が高まっている。例えば、従来の７２０×４８０画素のＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）から、１９２０×１０８０画素のＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）に放送メディアが移行されつつある。しかしながら、このような映像情報の高画質化への要求は、同時にデジタルデータの増大化を引き起こす。従って、従来技術の性能を上回る圧縮符号化技術及び復号化技術が要求されている。
【０００３】
これらの要求に対し、ＩＴＵ−Ｔ  ＳＧ１６や、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の活動で、ピクチャ間の相関性を利用するピクチャ間予測を用いた符号化方式の標準化作業が進められている。このような符号化方式の中で、現状、最も高能率で符号化できるといわれる符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＰＡＲＴ１０（ＡＶＣ）がある。以下の説明では、この符号化方式をＨ．２６４と称する。
【０００４】
Ｈ．２６４では、画面間の動きベクトルを検出するための参照画像を比較的自由に選べるようになった。更に、Ｈ．２６４では、マクロブロック単位或いはそれ以下の単位まで符号化対象の画像を分割して動きベクトルを検出することにより、従来よりも細かい単位で動きベクトルを検出できるようになった。これによって、発生する符号量をより低減させることができるようになった。
【０００５】
Ｈ．２６４を用いた技術として、特許文献１には、複数のフレームメモリを有し、符号化対象の画像を符号化する場合に参照する画像を、前記複数のフレームメモリ内に格納された複数の画像から選択する構成が開示されている。
【０００６】
ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４等の従来の符号化方式は、動きの予測を行う場合の機能として、過去の画像から未来の画像を予測する順方向予測の機能と、未来の画像から過去の画像を予測する逆方向予測の機能とを有している。ここで、未来の画像から過去の画像を予測するとは、符号化をスキップした画像を現在の画像から予測することである。なお、以下の説明では、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４等の従来の符号化方式を、ＭＰＥＧ符号化方式と総称する。
【０００７】
符号化対象となる画像と時間的に近傍に位置する画像ほど、多くの場合、画像間の相関性が高いと考えられる。そこで、ＭＰＥＧ符号化方式における順方向予測及び逆方向予測では、通常、符号化対象となる画像の近傍に位置するＩピクチャ又はＰピクチャを参照画像として用いる。
【０００８】
しかしながら、ＭＰＥＧ符号化方式のコーデック（符号化／復号化器）を搭載するビデオカメラでは、動画像の撮影時にパン・チルト等のカメラの動きが速い場合や、カットチェンジ直後の画像のように画像間の変化が急激な場合がある。このような場合には、時間的に近傍な画像であっても画像間の相関性が低くなる。従って、動き補償予測の利点が活用できないという問題があった。
【０００９】
この問題を改善できると目される技術がＨ．２６４で採用された予測方式である。Ｈ．２６４では、近傍の画像のみならず、時間的に離れた位置の画像に対しても予測符号化を行い、近傍の画像よりも符号化効率の向上が見込まれるのであれば、離れた位置の画像を参照画像として利用することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−１８４６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
前述したように、Ｈ．２６４では、動画像を撮影したカメラの動きが速い場合や、カットチェンジが発生した場合でも、入力された画像と、既に符号化された画像との誤差が最小となる画像を自由に参照画像として選択できる。これにより、動き補償予測の精度を高めることが可能である。
【００１２】
しかしながら、既に符号化された画像の全てに対して、入力画像との誤差が最小となる画像を選択する演算を行うと、参照候補となる画像の数に比例して演算量が増大し、符号化に時間がかかるという問題がある。
【００１３】
また、ビデオカメラ等のモバイル機器の場合には、演算負荷が増大すると、駆動するバッテリーの消費量が増大する。従って、撮影できる時間が短くなってしまうという問題がある。
【００１４】
本発明は、このような問題点に鑑みてなされたものであり、動きベクトルの検出精度を向上させつつ、当該動きベクトルを検出する際の演算量の増大を抑制することを目的とする。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明に係る動きベクトル検出装置は、画面間の動きベクトルを検出する動きベクトル検出装置であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段とを有し、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出手段は、前記演算手段が演算した各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比（ＰＳＮＲ）の値とに応じて実行する演算の量を変更することを特徴とする。
【００１６】
また、本発明に係る動きベクトル検出方法は、画面間の動きベクトルを検出する動きベクトル検出方法であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程とを有し、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出工程で実行する演算の量が、前記演算工程で演算された各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比（ＰＳＮＲ）の値とに応じて変更されることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、動きベクトルの検出精度を向上させつつ、動きベクトルを検出する際の演算量の増大を抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係るビデオカメラ装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る信号処理部の構成を示すブロック図である。
【図３】本発明の第１の実施形態に係る動きベクトル検出器の構成を示すブロック図である。
【図４】本発明の第１の実施形態に係る符号化対象フレームと参照候補フレームとの関係の一例を示した図である。
【図５】本発明の第１の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。
【図６】本発明の第２の実施形態に係る動きベクトル検出器の構成を示すブロック図である。
【図７】本発明の第２の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。
【図８】本発明の第２の実施形態に係る縮小画像の一例を示す図である。
【図９】本発明の第３の実施形態に係る動きベクトル検出器の構成を示すブロック図である。
【図１０】本発明の第３の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。
【図１１】本発明の第３の実施形態に係る符号化対象フレームと参照候補フレームとの関係の一例を示した図である。
【図１２】本発明の第４の実施形態に係る信号処理部の構成を示すブロック図である。
【図１３】本発明の第４の実施形態に係る動きベクトル検出器の構成を示すブロック図である。
【図１４】本発明の第４の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。
【発明を実施するための形態】
【００１９】
（第１の実施形態）
以下に、図面を参照しながら、本発明の第１の実施形態について説明する。
【００２０】
図１は、本実施形態におけるビデオカメラ装置１０の構成の一例を示す図である。なお、本実施形態では、Ｈ．２６４で符号化を行うビデオカメラ装置１０を例に挙げて説明を行う。
【００２１】
図１において、撮像部１１は、例えば、レンズ等で構成される光学系、光電変換素子、Ａ／Ｄ変換回路等を用いてデジタルの撮像画像データを生成し、生成した撮像画像データを不図示の画像メモリに格納する。信号処理部１２は、表示や記録等を行うための所望の形式となるように、画像メモリから読み出された撮像画像データに対して、種々の信号処理や変換を行う。信号処理部１２の詳細については、図２を用いて後述する。
【００２２】
記録部１３は、画像データ等を記録媒体に記録したり、記録媒体から画像データ等を読み出したりするためのものである。記録媒体としては、例えば半導体メモリを用いることができる。
【００２３】
システム制御部１４は、ビデオカメラ装置１０全体の制御及び各種演算を行うためのものである。このシステム制御部１４は、例えば、ＣＰＵ、ＲＯＭ、及びＲＡＭを備え、ＣＰＵがＲＯＭに記憶されているプログラムを、ＲＡＭを用いて実行することにより、ビデオカメラ装置１０全体の制御及び各種演算を行う。
【００２４】
表示部１５は、信号処理部１２で処理された信号や、システム制御部１４で演算された信号を入力し、入力した信号に基づく画像をＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示装置に表示する。
【００２５】
操作部１６は、ビデオカメラ装置１０の電源をオン・オフするためのメインスイッチや、撮影（記録）の開始・終了を指示するためのスイッチ等、ユーザがビデオカメラ装置１０に対する動作指示を行うための各種のスイッチを有する。
【００２６】
なお、信号処理部１２、記録部１３、システム制御部１４、表示部１５、及び操作部１６間の信号の入出力は、バス１７を介して行われる。
【００２７】
図２は、本実施形態に係る信号処理部１２の構成を示すブロック図である。なお、以下の説明では符号化対象画像や、予測に用いられる参照画像（参照候補画像）を、それぞれフレーム画像（単にフレームと称す）を例にして説明する。そして、画面間、すなわちフレーム間の動きベクトルを検出する例について説明する。
【００２８】
図２において、セレクタ１２ａは、フレーム内符号化／フレーム間符号化の各符号化モードに応じて、撮像部１１内の画像メモリから読み出された撮像画像データの出力先を選択する。イントラ予測器１２ｂは、撮像画像データをセレクタ１２ａから入力し、入力した撮像画像データに対して、Ｈ．２６４符号化方式によるイントラ予測処理を実行する。
【００２９】
減算器１２ｃは、セレクタ１２ａより出力された撮像画像データから、動き補償器１２ｌより出力された予測画像データを減算して、動き予測誤差データを算出する。変換器１２ｄは、減算器１２ｃやイントラ予測器１２ｂから出力されたデータに対して直交変換を施し、この直交変換により得られる直交変換係数を量子化器１２ｅへ出力する。量子化器１２ｅは、直交変換係数を量子化し、量子化した全ての直交変換係数をスキャン処理器１２ｆと逆量子化器１２ｈとに出力する。
【００３０】
スキャン処理器１２ｆは、符号化モードに応じて、量子化された直交変換係数に対してジグザグスキャン等のスキャン処理を行う。エントロピー符号化器１２ｇは、スキャン処理器１２ｆからの出力をエントロピー符号化し、エントロピー符号化されたデータ（符号化データ）をバス・インタフェース（Ｉ／Ｆ）１２ｎに出力する。バスＩ／Ｆ１２ｎに出力された符号化データは、バス１７を介して記録部１３に供給され、記録部１３によって記録される。なお、記録部１３によって記録された符号化データを、更にハードディスクや光ディスク等の記録媒体に移動して記録する構成にしても良い。
【００３１】
逆量子化器１２ｈは、量子化された直交変換係数を量子化器１２ｅから入力して、逆量子化する。逆変換器１２ｉは、逆量子化器１２ｈで逆量子化された直交変換係数を逆直交変換し、減算器１２ｃで得られた動き予測誤差データを復号化する。加算器１２ｊは、逆変換器１２ｉから出力された予測誤差データと、動き補償器１２ｌから出力された予測画像データとを加算して、復元画像（ローカルデコード画像）を生成する。生成された復元画像のデータはバスＩ／Ｆ１２ｎに出力される。バスＩ／Ｆ１２ｎに出力されたデータは、参照画像データとして、記録部１３に設けられたフレームメモリに、フレーム単位で記録される。なお、以下の説明では、記録部１３に設けられたフレームメモリに記録された参照画像データを、必要に応じて参照候補フレームと称する。
【００３２】
動きベクトル検出器１２ｋは、符号化対象フレームと、複数の参照候補フレームとに基づいて、最適な動きベクトルを演算する。本実施形態の動きベクトル検出器１２ｋは、システム制御部１４からバスＩ／Ｆ１２ｎを介して、符号化対象となる符号化対象フレームの番号と、参照候補フレームの番号とを入力し、入力した番号を用いて探索精度を決定する。なお、動きベクトル検出器１２ｋの詳細については、図３等を用いて後述する。
【００３３】
動き補償器１２ｌは、動きベクトル検出器１２ｋで演算された動きベクトルと、予測誤差の最も小さい参照候補フレームとを用いて、予測画像データを生成する。動き符号化器１２ｍは、動きベクトル検出器１２ｋで演算された動きベクトルを符号化してバスＩ／Ｆ１２ｎに出力する。バスＩ／Ｆ１２ｎに出力された符号化された動きベクトルは、前記符号化データと関連付けて記録部１３に記録される。
【００３４】
なお、本実施形態では、過去のフレームを参照する順方向予測、過去と未来のフレームを参照する双方向予測、及び未来のフレームを参照する逆方向予測の何れの方式も用いることができる。また、図２に示したもの以外の装置が、信号処理部１２に設けられていてもよい。
【００３５】
次に、動きベクトル検出器１２ｋの詳細について説明する。図３は、本実施形態に係る動きベクトル検出器１２ｋの構成を示すブロック図である。図３の動きベクトル検出器１２ｋは、Ｈ．２６４又はそれに関連する符号化方式の符号化装置に適用して好適なものであり、またそのような符号化装置はビデオカメラ装置等に用いて好適なものである。
【００３６】
図３において、動きベクトル検出器１２ｋは、符号化対象フレーム保存部１００と、参照候補フレーム保存部１０１と、探索精度決定部１０２と、動きベクトル演算部１０３とを備えて構成されている。
【００３７】
符号化対象フレーム保存部１００には、動きベクトルの探索で用いられるフレームであって、これから符号化しようとしている符号化対象フレーム３００が保存される。参照候補フレーム保存部１０１には、複数の参照候補フレーム３０１が保存される。
【００３８】
図４は、符号化対象フレームと参照候補フレームとの関係の一例を概念的に示した図である。
【００３９】
図４の例では、符号化対象フレーム３００に対する参照フレームの候補として、３枚の選択可能な参照候補フレーム３０１ａ〜３０１ｃがある。フレーム番号で言うと、参照候補フレーム番号３０３が「０」〜「２」、符号化対象フレーム番号３０２が「３」の場合を一例として示している。また、図４に示す３ｔ、２ｔ、ｔは、それぞれ符号化対象フレーム３００から、参照候補フレーム３０１ａ、３０１ｂ、３０１ｃまでの時間的な距離（時間間隔）を表している。
【００４０】
図５は、本実施形態に係る動きベクトル検出器１２ｋの動作の一例について説明するフローチャートである。図５のフローチャートを参照しながら、図３に示す動きベクトル検出器１２ｋの動作の一例について説明する。
【００４１】
探索精度決定部１０２は、システム制御部１４から、バスＩ／Ｆ１２ｎを介して、符号化対象フレーム番号３０２と、参照候補フレーム番号３０３とが指定されるまで待機する（ステップＳ１０１）。
【００４２】
ステップＳ１０１において、符号化対象フレーム番号３０２と、参照候補フレーム番号３０３とが指定されると、探索精度決定部１０２は、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの間の時間的な距離を演算する（ステップＳ１０２）。
【００４３】
そして、探索精度決定部１０２は、符号化対象フレーム３００と参照候補フレーム３０１ａ〜３０１ｃとの間の時間的な距離に応じて、動きベクトルの探索精度を変化させる（ステップＳ１０３）。
【００４４】
具体的に、図４に示した例の場合、参照候補フレーム番号３０３が「２」の参照候補フレーム３０１ｃと、符号化対象フレーム番号３０２が「３」の符号化対象フレーム３００との間の時間的な距離は「ｔ」と短いので、最適な動きベクトルが見つかる確率が大きい。従って、探索精度決定部１０２は、例えば、縦方向、横方向共に、１画素精度の詳細な探索を行うように動きベクトル演算部１０３に指示を出す。
【００４５】
一方、参照候補フレーム番号３０３が「０」の参照候補フレーム３０１ａと、符号化対象フレーム番号３０２が「３」の符号化対象フレーム３００との間の時間的な距離は「３ｔ」であり遠く離れている。このため、参照候補フレーム３０１ａで最適な動きベクトルが見つかる確率は、参照候補フレーム３０１ｃで最適な動きベクトルが見つかる確率よりも低いと考えられる。従って、探索精度決定部１０２は、例えば、縦方向、横方向共に、１画素飛びの精度の粗い探索を行うように動きベクトル演算部１０３に指示を出す。また、探索精度決定部１０２は、例えば、参照候補フレーム３０１ｃのときと探索範囲を同じにするように動きベクトル演算部１０３に指示を出す。
【００４６】
このように参照候補フレーム３０１ａで動きベクトルを探索する場合には、参照候補フレーム３０１ｃで動きベクトルを探索する場合と、動きベクトルの探索範囲を同じにする。更に、動きベクトルの探索精度を縦方向、横方向共に、参照候補フレーム３０１ｃで動きベクトルを探索する場合の１／２にする。このため、参照候補フレーム３０１ａで動きベクトルを探索した場合には、参照候補フレーム３０１ｃで動きベクトルを探索する場合に比べ、演算量を１／４に削減することが出来る。
【００４７】
また、参照候補フレーム番号３０３が「１」の参照候補フレーム３０１ｂと、符号化対象フレーム番号３０２が「３」の符号化対象フレーム３００との間の時間的な距離は「２ｔ」である。このように、参照候補フレーム３０１ｂと符号化対象フレーム３００との間の時間的な距離は、参照候補フレーム３０１ａと符号化対象フレーム３００との間ほどでは無いがやや離れている。このため、参照候補フレーム３０１ｂで最適な動きベクトルが見つかる確率は、参照候補フレーム３０１ａで最適な動きベクトルが見つかる確率よりも高いが、参照候補フレーム３０１ｃで最適な動きベクトルが見つかる確率よりも低いと考えられる。
【００４８】
そこで、探索精度決定部１０２は、例えば、縦方向の探索精度を１画素毎とし、横方向の探索精度を１画素飛びとするように動きベクトル演算部１０３に指示を出す。また、探索精度決定部１０２は、例えば、参照候補フレーム３０１ｃのときと探索範囲を同じにするように動きベクトル演算部１０３に指示を出す。
【００４９】
このように参照候補フレーム３０１ｂを探索する場合には、参照候補フレーム３０１ｃを探索する場合と、動きベクトルの探索範囲と縦方向の探索精度とを同じにすると共に、横方向の探索精度を、参照候補フレーム３０１ｃを探索する場合の１／２にする。このため、参照候補フレーム３０１ｂで動きベクトルを探索した場合には、参照候補フレーム３０１ｃで探索を行った場合に比べ、演算量を１／２に削減することが出来る。
【００５０】
以上のようにして、動きベクトルの探索精度が探索精度決定部１０２により決定されると、動きベクトル演算部１０３は、動きベクトル３０４を決定する（ステップＳ１０４）。具体的に動きベクトル演算部１０３は、符号化対象フレーム保存部１００に保存されている符号化対象フレーム３００に含まれる各マクロブロックに対し、参照候補フレーム保存部１０１に保存された参照候補フレーム３０１内で探索を行い、動きベクトルを推定する。ここで、例えば、Ｎ×Ｎ（Ｎは自然数）サイズのマクロブロックの動きベクトルを、マクロブロックよりも±Ｐ画素だけ広い範囲で探索するとすると（ｐは自然数）、探索範囲は以下の（１）式で表される。
探索範囲＝（Ｎ＋２ｐ）×（Ｎ＋２ｐ）  ・・・（１）
動きベクトル演算部１０３は、動きベクトルの候補になり得る（２ｐ＋１）２個の位置で相関係数を計算した後、最大相関度を示す位置を動きベクトルとして決定する。
【００５１】
最大相関度を有する動きベクトルを推定するために、動きベクトル演算部１０３は、例えば、ＭＳＥ（Ｍｅａｎ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）、ＭＡＥ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｅｒｒｏｒ）、又はＭＡＤ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）等の評価関数を用いる。例えば、ＭＳＥは以下の（２）式で表され、ＭＡＥは以下の（３）式で表される。
【００５２】
【数１】
2011217421.tif 000003
【００５３】
ここで、Ｓｒｅｆは、参照フレームを示し、Ｓｃｕｒ，ｋは、動きベクトルが探索されている現在のフレームにおけるｋ番目のマクロブロックを示す。（ｉ，ｊ）は、動きベクトルが探索されている現在のフレームのｋ番目のマクロブロックにおける参照フレームの空間的な位置を示す。
【００５４】
また、Ｘ及びＹは、動きベクトル探索範囲の水平画素数及び垂直画素数である。ｇ及びｈは、探索精度決定部１０２からの指示された横方向の探索精度及び縦方向の探索精度を示す係数（何画素毎に演算を行うかを示す係数）である。
【００５５】
また、ｘ、ｙは、それぞれ以下の（４）式、（５）式で表される。
ｘ＝ｇ×ｕ  ・・・（４）
ｙ＝ｈ×ｖ  ・・・（５）
更にｘ、ｙ、ｇ、ｈは、以下の（６）式〜（９）式を満たす自然数である。
０≦ｘ≦Ｘ  ・・・（６）
１≦ｇ≦Ｘ  ・・・（７）
０≦ｙ≦Ｙ  ・・・（８）
１≦ｈ≦Ｙ  ・・・（９）
また、Ｕ、Ｖは、それぞれ以下の（１０）式、（１１）式で表される。
Ｕ＝Ｘ−｜ｉ｜  ・・・（１０）
Ｖ＝Ｙ−｜ｊ｜  ・・・（１１）
（２）式や（３）式で表される評価関数は、画素の差に基づいたものである。従って、動きベクトル演算部１０３は、最も小さいＭＡＥ値やＭＳＥ値を有する場合（ＬＲＶ値となる場合）の動きベクトルを、現在のマクロブロックにおける最終的な動きベクトルとして選定する。なお、図３に示したもの以外の機能が、動きベクトル検出器１２ｋに設けられていてもよい。
【００５６】
以上のように本実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離に応じて、動きベクトルの探索精度を変化させるようにした。例えば、符号化対象フレーム３００と、参照候補フレーム３０１ｃとの間の時間的な距離は「ｔ」であり短いので、最適な動きベクトルが見つかる確率が高い。従って、探索精度決定部１０２は、例えば、縦横共に、１画素精度の詳細な探索を行う。一方、符号化対象フレーム３００と、参照候補フレーム３０１ａとの間の時間的な距離は「３ｔ」であり遠く離れているので、最適な動きベクトルが見つかる確率が低い。従って、探索精度決定部１０２は、例えば参照候補フレーム３０１ｃのときと探索範囲を同じにし、且つ、縦横共に、１画素飛びの精度の粗い探索を行う。
【００５７】
以上のように、時間的に離れた画像に対して符号化を行う際に、最適な動きベクトルが見つかる確率に応じて、動きベクトルの探索精度を変化させる。従って、時間的に離れた画像についても動きベクトルの探索範囲とすることで、動きベクトルの検出精度を向上させられるとともに、且つ、動きベクトルの探索精度を変化させることによって、動きベクトルを検出する際の演算量を削減できる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
【００５８】
なお、本実施形態では、時間的な距離に応じて、探索精度がそれぞれ、縦方向、横方向共に１画素とした場合と、縦方向、横方向共に１画素飛びにした場合と、縦方向を１画素、横方向を１画素飛びにした場合とを例に挙げて示した。しかしながら、探索精度はこれらに限定されない。例えば、縦方向、横方向共に２画素飛びにする等してもよい。また、本実施形態では、参照候補フレームの数が３枚の場合を例に挙げて説明したが、参照候補フレームの数はこれに限定されない。例えば、参照候補フレームの数を増やしてもよい。参照候補フレームの数を増やした場合には、探索精度を更に段階的に変化させることも可能である。
【００５９】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。前述した第１の実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離に応じて、動きベクトルの探索精度を変化させるようにした。これに対して、本実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離に応じて、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃの縮小率を変化させるようにした。このように、本実施形態と第１の実施形態とは、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとを用いた処理の方法が主として異なる。従って、以下の説明において第１の実施形態と同一の部分については、図１〜図５に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００６０】
図６は、本実施形態に係る動きベクトル検出器１２ｋの構成の一例を示すブロック図である。図７は、本実施形態に係る動きベクトル検出器１２ｋの動作の一例について説明するフローチャートである。図４及び図７を参照しながら、図６に示す動きベクトル検出器１２ｋの動作について説明する。
【００６１】
縮小率決定部４０２は、システム制御部１４から、バスＩ／Ｆ１２ｎを介して、符号化対象フレーム番号３０２と、参照候補フレーム番号３０３とが指定されるまで待機する（ステップＳ４０１）。ステップＳ４０１において、符号化対象フレーム番号３０２と、参照候補フレーム番号３０３とが指定されると、縮小率決定部４０２は、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの間の時間的な距離を演算する（ステップＳ４０２）。
【００６２】
そして、縮小率決定部４０２は、符号化対象フレーム３００と参照候補フレーム３０１ａ〜３０１ｃとの間の時間的な距離に応じて、符号化対象フレーム３００の画像と、参照候補フレーム３０１ａ〜３０１ｃの画像の縮小率を決定する（ステップＳ４０３）。
【００６３】
縮小率決定部４０２は、符号化対象フレーム３００と参照候補フレーム３０１ａ〜３０１ｃとの間の時間的な距離が短いほど縮小率を小さくし、符号化対象フレーム３００と参照候補フレーム３０１ａ〜３０１ｃとの間の時間的な距離が長いほど縮小率を大きくする。
【００６４】
具体的に、図４に示した例の場合、参照候補フレーム番号３０３が「２」の参照候補フレーム３０１ｃと、符号化対象フレーム番号３０２が「３」の符号化対象フレーム３００との間の時間的な距離は「ｔ」と短いので、最適な動きベクトルが見つかる確率が大きい。従って、縮小率決定部４０２は、画像の縮小を行わずに、符号化対象フレーム３００の画像と参照候補フレーム３０１ａ〜３０１ｃの画像とをそのまま用いて動きベクトルの探索を行うように動きベクトル演算部４０７に指示を出す。
【００６５】
一方、参照候補フレーム番号３０３が「０」の参照候補フレーム３０１ａと、符号化対象フレーム番号３０２が「３」の符号化対象フレーム３００との間の時間的な距離は「３ｔ」であり遠く離れている。このため、参照候補フレーム３０１ａで最適な動きベクトルが見つかる確率は、参照候補フレーム３０１ｃで最適な動きベクトルが見つかる確率よりも低いと考えられる。従って、縮小率決定部４０２は、例えば、符号化対象フレーム３００の画像と参照候補フレーム３０１ａ〜３０１ｃの画像とを、それぞれ縦方向、横方向共に１／２倍に縮小するように縮小フレーム作成部４０４に指示を出す。縮小フレーム作成部４０４は、画像縮小手段である。
【００６６】
また、縮小率決定部４０２は、例えば、参照候補フレーム３０１ｃのときと探索範囲を同じにするように動きベクトル演算部４０７に指示を出す。従って、縦方向及び横方向の画素数が共に１／２倍になる。このため、参照候補フレーム３０１ａで動きベクトルを探索する場合には、参照候補フレーム３０１ｃで動きベクトルを探索する場合に比べ、演算量を１／４に削減することが出来る。
【００６７】
また、参照候補フレーム番号３０３が「１」の参照候補フレーム３０１ｂと、符号化対象フレーム番号３０２が「３」の符号化対象フレーム３００との間の時間的な距離は「２ｔ」である。このように、参照候補フレーム３０１ｂと符号化対象フレーム３００との間の時間的な距離は、参照候補フレーム３０１ａと符号化対象フレーム３００との間ほどでは無いがやや離れている。このため、参照候補フレーム３０１ｂで最適な動きベクトルが見つかる確率は、参照候補フレーム３０１ａで最適な動きベクトルが見つかる確率よりも高いが、参照候補フレーム３０１ｃで最適な動きベクトルが見つかる確率よりも低いと考えられる。
【００６８】
そこで、縮小率決定部４０２は、例えば、符号化対象フレーム３００の画像と参照候補フレーム３０１ａ〜３０１ｃの画像とを、縦方向では縮小せず、横方向では１／２倍に縮小するように縮小フレーム作成部４０４に指示を出す。また、縮小率決定部４０２は、例えば、参照候補フレーム３０１ｃのときと探索範囲を同じにするように動きベクトル演算部４０７に指示を出す。従って、横方向の画素数が１／２倍になる。このため、参照候補フレーム３０１ｂで動きベクトルを探索した場合には、参照候補フレーム３０１ｃで動きベクトルを探索した場合に比べ、演算量を１／２に削減することが出来る。
【００６９】
以上のようにして、符号化対象フレーム３００の画像と、参照候補フレーム３０１ａ〜３０１ｃの画像の縮小率が決定されると、ステップＳ４０４に進む。そして、縮小フレーム作成部４０４は、縮小率決定部４０２によって決定された縮小率に従い、符号化対象フレーム３００の画像と、参照候補フレーム３０１ａ〜３０１ｃの各画像を縮小処理して、複数の縮小画像を生成する（ステップＳ４０４）。
【００７０】
図８は、本実施形態に係る符号化対象フレーム３００の縮小画像と、参照候補フレーム３０１ａ〜３０１ｃの縮小画像の一例を示す図である。
【００７１】
例えば、図８に示す原画像８０１を、縦横共に１／２倍に縮小して縮小画像８０２ａを生成する場合には、隣接する縦・横各々の２画素の画素値を足して４で割ることで縮小画像８０２ａを生成する。例えば、縮小画像８０２ａにおける画素Ａ’は、原画像８０１の画素Ａ、Ｂ、Ｅ、Ｆの画素値を足して４で割る（（Ａ＋Ｂ＋Ｅ＋Ｆ）／４）ことで生成することが出来る。また、縮小画像８０２ａにおける画素Ｂ’は、原画像８０１の画素Ｃ、Ｄ、Ｇ、Ｈの画素値を足して４で割る（（Ｃ＋Ｄ＋Ｇ＋Ｈ）／４）ことで生成することが出来る。
【００７２】
一方、図８に示す原画像８０１を、横方向だけ１／２倍に縮小して縮小画像８０２ｂを生成する場合には、横方向に隣接する２画素の画素値を足して２で割ることで縮小画像８０２ｂを生成する。例えば、縮小画像８０２ｂにおける画素Ａ”は、原画像８０１の画素Ａ、Ｂの画素値を足して２で割る（（Ａ＋Ｂ）／２）ことで生成することが出来る。また、縮小画像８０２ｂにおける画素Ｂ”は、原画像８０１の画素Ｃ、Ｄの画素値を足して２で割る（（Ｃ＋Ｄ）／２）ことで生成することが出来る。
【００７３】
以上のようにして、縮小フレーム作成部４０４によって、符号化対象フレーム３００の縮小画像と、参照候補フレーム３０１ａ〜３０１ｃの縮小画像とが作成されると、符号化対象フレーム３００の縮小画像は、縮小符号化対象フレーム保存部４０５に保存される。更に、参照候補フレーム３０１ａ〜３０１ｃの縮小画像は、縮小参照候補フレーム保存部４０６に保存される。
【００７４】
次に、動きベクトル演算部４０７は、動きベクトル４０８を決定する（ステップＳ４０５）。ここで、動きベクトル演算部４０７は、画像の縮小を行わないことが縮小率決定部４０２から指示された場合には、縮小画像を用いずに、第１の実施形態の動きベクトル演算部１０３と同じ動作を行う。
【００７５】
一方、画像の縮小を行うことが縮小率決定部４０２から指示された場合、動きベクトル演算部４０７は、まず、縮小符号化対象フレーム保存部４０５から、符号化対象フレーム３００の縮小画像のマクロブロックを読み出す。次に、動きベクトル演算部４０７は、読み出したマクロブロックに対し、縮小参照候補フレーム保存部４０６から読み出した参照候補フレーム３０１ａ〜３０１ｃの縮小画像の範囲内で動きベクトルの探索を行い、その結果に基づいて動きベクトルを推定する。なお、最大相関度を有する動きベクトルを推定する方法は第１の実施形態で説明した方法と同じである。
【００７６】
なお、図６に示した以外の機能が、動きベクトル検出器に設けられていてもよい。
【００７７】
以上のように本実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離に応じて、符号化対象フレーム３００の縮小率と、参照候補フレーム３０１ａ〜３０１ｃの縮小率とを変化させるようにした。例えば、符号化対象フレーム３００と、参照候補フレーム３０１ｃとの間の時間的な距離は「ｔ」であり短いので、符号化対象フレーム３００の画像と、参照候補フレーム３０１ｃの画像とを縮小しない。一方、符号化対象フレーム３００と、参照候補フレーム３０１ａとの間の時間的な距離は「３ｔ」であり遠く離れているので、最適な動きベクトルが見つかる確率が低い。従って、符号化対象フレーム３００の画像と、参照候補フレーム３０１ｃの画像とを縦横共に１／２倍に縮小した縮小画像を生成し、生成した縮小画像を用いて動きベクトルを決定する。
【００７８】
以上のように、時間的に離れた画像に対して符号化を行う際に、最適な動きベクトルが見つかる確率に応じて、符号化対象フレーム３００の縮小率と、参照候補フレーム３０１ａ〜３０１ｃの縮小率とを変化させる。従って、第１の実施形態と同様に、動きベクトルの検出精度を向上させられるとともに、動きベクトルを検出する際の演算量の増大とを可及的に防止することができる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
【００７９】
なお、本実施形態では、時間的な距離に応じて、符号化対象フレーム３００の画像と、参照候補フレーム３０１ａ〜３０１ｃの画像とを、縦横共に１／２倍に縮小する場合と、縦を縮小せずに横方向のみを１／２倍に縮小する場合を例に挙げて示した。しかしながら、符号化対象フレーム３００の画像の縮小率と、参照候補フレーム３０１ａ〜３０１ｃの画像の縮小率とは、これに限定されない。例えば、符号化対象フレーム３００の画像と、参照候補フレーム３０１ａ〜３０１ｃの画像とを、縦横共に１／３倍或いは１／４倍に縮小する等してもよい。また、本実施形態でも、参照候補フレームの数が３枚の場合を例に挙げて説明したが、参照候補フレームの数はこれに限定されない。例えば、参照候補フレームの数を増やしてもよい。参照候補フレームの数を増やした場合には、縮小率を更に段階的に変化させることも可能である。
【００８０】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。前述した第１の実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離のみに応じて、動きベクトルの探索精度を変化させるようにした。それに対して、本実施形態では、第１の実施形態と同様の構成を有するが、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離に加え、参照候補フレームの符号化タイプに応じて、動きベクトルの探索精度を変化させる。従って、以下の説明において第１の実施形態と異なる動作を行う探索精度決定部１０２以外の部分については、図１〜図５に付した符号と同一の符号を付す等して詳細な説明を省略する。なお、Ｈ．２６４等の符号化方式では、ピクチャよりも小さい、１つ以上のマクロブロックから成るスライス単位での符号化が可能なので、前記符号化タイプを“ピクチャタイプ”以外に、“スライスタイプ”と置き換えて解釈しても良い。なお、以下ではスライスタイプを例に説明する。
【００８１】
図９は、本実施形態に係る動きベクトル検出器１２ｋの構成の一例を示すブロック図である。図１０は、本実施形態に係る動きベクトル検出器１２ｋの動作の一例について説明するフローチャートである。図１０を参照しながら、図９に示す動きベクトル検出器１２ｋの動作について説明する。
【００８２】
探索精度決定部１０２は、システム制御部１４から、バスＩ／Ｆ１２ｎを介して、符号化対象フレーム番号３０２、参照候補フレーム番号３０３、及び参照候補フレームのスライスタイプ９０１が指定されるまで待機する（ステップＳ１００１）。
【００８３】
ステップＳ１００１において、符号化対象フレーム番号３０２、参照候補フレーム番号３０３、及び参照候補フレームのスライスタイプ９０１が指定される。すると、探索精度決定部１０２は、符号化対象フレーム３００と、参照候補フレーム３０１との間の時間的な距離ｔｄを演算する（ステップＳ１００２）。探索精度決定部１０２は、演算されたｔｄに基づいて、第１の実施形態と同様に、符号化対象フレーム３００と、参照候補フレーム３０１との時間的な距離に応じて探索精度を段階的に変化させる。さらに探索精度決定部１０２は、参照候補フレームのスライスタイプ９０１に応じて探索精度を変化させる。
【００８４】
すなわち、探索精度決定部１０２は、参照候補フレームのスライスタイプ９０１がＩスライスかどうかを判定する（ステップＳ１００３）。参照候補フレームスライスタイプ９０１がＩスライスであった場合（ステップＳ１００３でＹＥＳ）には、探索精度決定部１０２は、ｔｄから２ｔを引く処理を行う（ステップＳ１００４）。
【００８５】
Ｉスライスは一般的に割り当てられる符号量が多く、画質の良い参照候補フレームである可能性が高い。そこで、探索精度決定部１０２は、Ｉスライスならば、時間的な距離が離れている場合であっても、このように２ｔを引くことで探索精度が高くなるようにする。参照候補フレームのスライスタイプ９０１がＩスライスでない場合（ステップＳ１００３でＮＯ）には、ステップＳ１００５へ進む。
【００８６】
続いて、探索精度決定部１０２は、参照候補フレームのスライスタイプ９０１がＰスライスかどうかを判定する（ステップＳ１００５）。参照候補フレームスライスタイプ９０１がＰスライスであった場合（ステップＳ１００５でＹＥＳ）には、探索精度決定部１０２は、ｔｄからｔを引く処理を行う（ステップＳ１００６）。ＰスライスはＩスライスと比べると画質が劣るが、Ｂスライスよりは画質が良い場合が多い。そこで、探索精度決定部１０２は、Ｐスライスならば、時間的な距離が離れている場合であっても、Ｉスライスほど探索精度を高めないが、Ｂスライスよりは探索精度を高めるように、ｔを引くことで探索精度が高くなるようにする。
【００８７】
参照候補フレームのスライスタイプがＰスライスでない場合（ステップＳ１００５でＮＯ）には、ステップＳ１００７へ進む。すなわち、参照候補フレームスライスタイプ９０１がＩ，Ｐ以外のＢスライスであった場合には、探索精度決定部１０２は、探索精度を高めるような重み付け処理は行わずに、フレーム間の時間的な距離に応じてのみ探索精度を決定する。
【００８８】
なお、従来のＭＰＥＧにおいてはＨ．２６４のＢスライスとほぼ等価となるＢピクチャは参照フレームに設定することが出来ないが、Ｈ．２６４においてはＢスライスも参照フレームに設定することが可能であるため、参照候補フレームに加えることが可能である。
【００８９】
以上のようにして求めたｔｄに応じて、探索精度決定部１０２は、動きベクトルの探索精度を変化させる（ステップＳ１００７）。
【００９０】
図１１は、本実施形態に係る符号化対象フレームと参照候補フレームとの関係の一例を示した図である。図１１に示した例の場合、符号化対象フレーム番号３０２が「３」の符号化対象フレーム３００に対する、参照候補フレーム番号３０３が「２」の参照候補フレーム３０１ｃとの時間的な距離ｔｄは「ｔ」である。また、参照候補フレーム番号３０３が「１」の参照候補フレーム３０１ｂとの時間的な距離ｔｄは「２ｔ」である。また、参照候補フレーム番号３０３が「０」の参照候補フレーム３０１ａとの時間的な距離ｔｄは「３ｔ」である。
【００９１】
しかしながら参照候補フレーム３０１ａはＩスライスであるので２ｔを減じてｔｄ＝ｔと変更され、また参照候補フレーム３０１ｂはＰスライスであるのでｔを減じてｔｄ＝ｔと変更される。従って、図１１に示した例の場合、参照候補フレーム３０１ａ、参照候補フレーム３０１ｂ、及び参照候補フレーム３０１ｃのいずれも、ｔｄ＝ｔとなる。
【００９２】
すなわち、本実施形態では、第１の実施形態の効果に加えて、参照候補フレームがＩスライスならば、時間的にかなり離れたフレームであっても探索精度を直前のフレームと同等に高くすることができる。また参照候補フレームがＰスライスならば、少々時間的に離れたフレームであっても探索精度を直前のフレームと同等に高くすることができる。なお、その際、探索回数の総数は第１の実施形態と変わらないようにする。
【００９３】
動きベクトルの探索精度が探索精度決定部１０２により決定されると、動きベクトル演算部１０３は、動きベクトル３０４を決定する（ステップＳ１００８）。なお、動きベクトルを求める具体的な処理は第１の実施形態と同様のため説明を省略する。
【００９４】
以上のように本実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１（３０１ａ〜３０１ｃ）との時間的な距離に加え、参照候補フレーム３０１ａ〜３０１ｃのスライスタイプ９０１も考慮する。そして、最適な動きベクトルが見つかる確率に応じて、動きベクトルの探索精度を変化させる。
【００９５】
従って、時間的に離れた画像についても動きベクトルの探索範囲とすることで、動きベクトルの検出精度を向上させられるとともに、且つ、動きベクトルの探索精度を変化させることによって、動きベクトルを検出する際の演算量を削減できる。さらに、参照候補フレームのスライスタイプ（ピクチャタイプ）を考慮することにより、動きベクトルの探索精度をより高めることができる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
【００９６】
なお、本実施形態では、ｔｄから減ずる値としてＩスライスならば「２ｔ」、Ｐスライスならば「ｔ」を減じたが、これらの値は一例であって、数値が限定されるものではない。例えば、Ｉスライス時に「ｔ」、Ｐスライス時に「０．５ｔ」を減ずるように設定しても良い。
【００９７】
また、本実施形態では、動きベクトルの探索精度を変化させたが、第２の実施形態のように符号化対象フレーム３００の縮小率と、参照候補フレーム３０１ａ〜３０１ｃの縮小率を、参照候補フレームのスライスタイプ（ピクチャタイプ）に応じて変化させても良い。
【００９８】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。前述した第１の実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離のみに応じて、動きベクトルの探索精度を変化させるようにした。それに対して、本実施形態では第１の実施形態と同様の構成を有するが、信号処理部１２内にピーク信号対雑音比（ＰＳＮＲ：ｐｅａｋ  ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ）演算部１２ｏを有する。そして、符号化対象フレーム３００と、参照候補フレーム３０１ａ〜３０１ｃとの時間的な距離に加え、参照候補フレームのＰＳＮＲに応じて、動きベクトルの探索精度を変化させる。従って、以下の説明において第１の実施形態と異なる動作を行う探索精度決定部１０２およびＰＳＮＲ演算部１２ｏ以外の部分については、図１〜図５に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００９９】
図１２は、本実施形態に係る信号処理部１２の構成の一例を示すブロック図である。本実施形態では、信号処理部１２のうち、第１の実施形態と構成の異なるＰＳＮＲ演算部１２ｏの動作についてのみ説明し、第１の実施形態と同じ動作を行う他の構成要素の説明については省略する。
【０１００】
図１２においてＰＳＮＲ演算部１２ｏは、撮像部１１から入来する符号化前の画像データと、加算器１２ｊから入来する復元画像データとを比較し、画像の劣化具合の指標となるピーク信号対雑音比（ＰＳＮＲ）の値を、以下の（１２）式より算出する。
【０１０１】
【数２】
2011217421.tif 000004
【０１０２】
ここで、ＮおよびＭはそれぞれ画像の縦と横の画素数を表す。また、ｐ（ｉ，ｊ）は符号化前の画像データにおける位置（ｉ，ｊ）の画素値を表し、ｐ’（ｉ，ｊ）は復元画像データにおける位置（ｉ，ｊ）の画素値を表す。Ｔは、画像の階調数−１（８ビット／ピクセル画像ではＴ＝２５５）を表す。
【０１０３】
ＰＳＮＲ演算部１２ｏによって求められたＰＳＮＲの値は、図１２における動きベクトル検出器１２ｋに送信され、動きベクトルの探索精度を変化させるために使用される。
【０１０４】
図１３は、本実施形態に係る動きベクトル検出器１２ｋの構成を示すブロック図である。また、図１４は、本実施形態に係る動きベクトル検出器１２ｋの動作の一例について説明するフローチャートである。図１４を参照しながら、図１３に示す動きベクトル検出器１２ｋの動作について説明する。
【０１０５】
探索精度決定部１０２は、システム制御部１４から、バスＩ／Ｆ１２ｎを介して、符号化対象フレーム番号３０２、参照候補フレーム番号３０３、及び参照候補フレームのＰＳＮＲの値１３０１が指定されるまで待機する（ステップＳ１４０１）。
【０１０６】
ステップＳ１４０１において、符号化対象フレーム番号３０２、参照候補フレーム番号３０３、及び参照候補フレームのＰＳＮＲ１３０１が指定される。すると、探索精度決定部１０２は、符号化対象フレーム３００と、参照候補フレーム３０１との間の時間的な距離ｔｄを演算する（ステップＳ１４０２）。探索精度決定部１０２は、演算されたｔｄに基づいて、第１の実施形態と同様に、符号化対象フレーム３００と、参照候補フレーム３０１との時間的な距離に応じて探索精度を段階的に変化させる。さらに、探索精度決定部１０２は、参照候補フレームのＰＳＮＲ１３０１に応じて探索精度を変化させる。
【０１０７】
すなわち、探索精度決定部１０２は、参照候補フレームのＰＳＮＲ１３０１が所定の閾値Ｔｈ１よりも大きいかどうかを判定する（ステップＳ１４０３）。参照候補フレームのＰＳＮＲ１３０１が所定の閾値Ｔｈ１より大きい場合、すなわちＰＳＮＲ＞Ｔｈ１を満たす場合（ステップＳ１４０３でＹＥＳ）には、探索精度決定部１０２は、ｔｄからｔを引く処理を行う（ステップＳ１４０４）。
【０１０８】
一般的にＰＳＮＲが高い場合には参照候補フレームの劣化が少なく、参照フレームとして適切である可能性が高い。そこで、探索精度決定部１０２は、ＰＳＮＲ＞Ｔｈ１を満たすならば、フレーム間の時間的な距離が離れている場合であっても、このようにｔを引くことで探索精度が高くなるようにする。
【０１０９】
前記閾値Ｔｈ１は、例えばＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）で画質の実用レベルと言われる３０（ｄＢ）等の固定値に設定できる。もしほとんどの復元画像のＰＳＮＲが３０（ｄＢ）に満たない場合を考慮するならば、復元画像のＰＳＮＲの平均値を随時更新しながら求める可変閾値として用いても良い。参照候補フレームのＰＳＮＲ１３０１が、ＰＳＮＲ＞Ｔｈ１を満たさない場合（ステップＳ１４０３でＮＯ）には、ステップＳ１４０５へ進む。
【０１１０】
続いて、探索精度決定部１０２は、参照候補フレームのＰＳＮＲ１３０１が所定の閾値Ｔｈ２（但し、Ｔｈ２＜Ｔｈ１）よりも小さいかどうかを判定する（ステップＳ１４０５）。参照候補フレームのＰＳＮＲ１３０１が所定の閾値Ｔｈ２より小さい場合、すなわちＰＳＮＲ＜Ｔｈ２を満たす場合（ステップＳ１４０５でＹＥＳ）には、探索精度決定部１０２は、ｔｄにｔを加える処理を行う（ステップＳ１４０６）。閾値Ｔｈ２の設定については、閾値Ｔｈ１のときと同様である。
【０１１１】
一般的にＰＳＮＲが低い場合には参照候補フレームの劣化が大きく、参照フレームとして不適切である可能性が高い。そこで、探索精度決定部１０２は、ＰＳＮＲ＜Ｔｈ２を満たすならば、フレーム間の時間的な距離が近い場合であっても、このようにｔを加えることで探索精度が低くなるようにする。
【０１１２】
参照候補フレームのＰＳＮＲ１３０１が、ＰＳＮＲ＜Ｔｈ２を満たさない場合（ステップＳ１４０５でＮＯ）には、ステップＳ１４０７へ進む。すなわち、ＰＳＮＲが高くも低くもない中間状態にある場合には、探索精度決定部１０２は、フレーム間の時間的な距離に応じてのみ探索精度を決定する。
【０１１３】
以上のようにして求めたｔｄに応じて、探索精度決定部１０２は、動きベクトルの探索精度を変化させる（ステップＳ１４０７）。
【０１１４】
このように、本実施形態では、第１の実施形態の効果に加えて、参照候補フレームのＰＳＮＲが大きい値ならば、時間的に離れたフレームであっても探索精度を高くすることができる。また参照候補フレームのＰＳＮＲが小さい値ならば、時間的に近いフレームであっても探索精度を低くすることができる。
【０１１５】
動きベクトルの探索精度が探索精度決定部１０２により決定されると、動きベクトル演算部１０３は、動きベクトル３０４を決定する（ステップＳ１４０８）。なお、動きベクトルを求める具体的な処理は第１の実施形態と同様のため説明を省略する。
【０１１６】
以上のように本実施形態では、符号化対象フレーム３００と、参照候補フレーム３０１（３０１ａ〜３０１ｃ）との時間的な距離に加え、参照候補フレーム３０１ａ〜３０１ｃのＰＳＮＲ値１３０１も考慮する。そして、最適な動きベクトルが見つかる確率に応じて、動きベクトルの探索精度を変化させる。
【０１１７】
従って、時間的に離れた画像についても動きベクトルの探索範囲とすることで、動きベクトルの検出精度を向上させられるとともに、且つ、動きベクトルの探索精度を変化させることによって、動きベクトルを検出する際の演算量を削減できる。さらに、参照候補フレームのＰＳＮＲ値を考慮することにより、動きベクトルの探索精度をより高め、かつ、より効率的に演算を削減することができる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
【０１１８】
なお、本実施形態では、ＰＳＮＲが高い場合にｔｄから減ずる値として「ｔ」を減じたが、これらの値は一例であって数値が限定されるものではない。例えば、「０．５ｔ」を減ずるように設定しても良い。
【０１１９】
さらに、本実施形態ではＰＳＮＲ値に応じてｔｄに補正をかけて、探索精度を決定（変更）したが、別の方法として、ｔｄに応じてＰＳＮＲ値自体に補正をかけてもよい。この場合には、補正後のＰＳＮＲによって探索精度を決定しても良い。
【０１２０】
つまり、ｔｄが大きく、参照候補フレームまでの時間的距離が大きい場合には、探索精度決定部１０２は、ＰＳＮＲから大きな値を引くような補正をかける。また、ｔｄが小さく、参照候補フレームまでの時間的距離が小さい場合には、探索精度決定部１０２は、ＰＳＮＲに補正をかけない等を行う。そして、探索精度決定部１０２は、補正後のＰＳＮＲが大きいときは、探索精度を高くし、小さいときは探索精度を低くするように決定する。
【０１２１】
また、本実施形態では、動きベクトルの探索精度を変化させたが、第２の実施形態のように、符号化対象フレーム３００の画像の縮小率と、参照候補フレーム３０１ａ〜３０１ｃの画像の縮小率を、参照候補フレームのＰＳＮＲに応じて変化させても良い。
【０１２２】
（本発明の他の実施形態）
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【０１２３】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１２４】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１２５】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるＣＰＵが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【０１２６】
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【０１２７】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１２８】
１１  撮像部
１２  信号処理部
１３  記録部
１４  システム制御部
１５  表示部
１６  操作部
１７  バス
１２ｋ  動きベクトル検出器
１００  符号化対象フレーム保存部
１０１  参照候補フレーム保存部
１０２  探索精度決定部
１０３  動きベクトル演算部
３００  符号化対象フレーム
３０１  参照候補フレーム
３０２  符号化対象フレーム番号
３０３  参照候補フレーム番号
３０４  動きベクトル
４０２  縮小率決定部
４０４  縮小フレーム作成部
４０５  縮小符号化対象フレーム保存部
４０６  縮小参照候補フレーム保存部
４０７  動きベクトル演算部
４０８  動きベクトル
９０１  参照候補フレーム
１３０１  参照候補フレームのＰＳＮＲ
【図１】
2011217421.tif 000005
【図２】
2011217421.tif 000006
【図３】
2011217421.tif 000007
【図４】
2011217421.tif 000008
【図５】
2011217421.tif 000009
【図６】
2011217421.tif 000010
【図７】
2011217421.tif 000011
【図８】
2011217421.tif 000012
【図９】
2011217421.tif 000013
【図１０】
2011217421.tif 000014
【図１１】
2011217421.tif 000015
【図１２】
2011217421.tif 000016
【図１３】
2011217421.tif 000017
【図１４】
2011217421.tif 000018