(57)【要約】【課題】階層的動きベクトル探索方法では、探索結果に誤りが発生しやすい。【解決手段】探索範囲設定部４６は、符号化すべき画像の対象領域とマッチングすべき探索範囲を参照画像内に設定する。演算部４４は、対象領域と探索範囲内の領域とのマッチングを、元の画像の解像度より低い解像度から元の画像の解像度に向けて複数の階層にわたって、探索範囲を制限しながら演算する。探索範囲設定部４６は、複数の階層のうち、少なくとも一つの階層にて、参照画像内に複数の探索範囲を設定する。【選択図】図２
2008219141.tif 000002
【特許請求の範囲】
【請求項１】
符号化すべき画像の対象領域の動きベクトルを、参照画像内から検出する動きベクトル検出装置であって、
前記対象領域とマッチングすべき探索範囲を前記参照画像内に設定する探索範囲設定部と、
前記対象領域と前記探索範囲内の領域とのマッチングを、元の画像の解像度より低い解像度から元の画像の解像度に向けて複数の階層にわたって、前記探索範囲を制限しながら演算する演算部と、を備え、
前記探索範囲設定部は、前記複数の階層のうち、少なくとも一つの階層にて、前記参照画像内に複数の探索範囲を設定することを特徴とする動きベクトル検出装置。
【請求項２】
前記探索範囲設定部は、はじめにマッチングすべき階層にて、前記対象領域に対応する領域とその隣接領域を含む第１探索範囲と、前記第１探索範囲より大きな領域を持つ第２探索範囲を前記参照画像内に設定することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
前記参照画像内にて前記対象領域と最もマッチング度が高い領域を推測する推測部をさらに備え、
前記探索範囲設定部は、はじめにマッチングすべき階層にて、前記推測部により推測された領域を含む第１探索範囲と、前記対象領域に対応する領域を含む第２探索範囲を前記参照画像内に設定することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項４】
前記推測部は、当該動きベクトル検出装置が搭載された撮像装置の移動量を参照して、前記最もマッチング度が高い領域を推測することを特徴とする請求項３に記載の動きベクトル検出装置。
【請求項５】
前記推測部は、前記対象領域と時間的または空間的に隣接する領域の動きベクトルを参照して、前記最もマッチング度が高い領域を推測することを特徴とする請求項３に記載の動きベクトル検出装置。
【請求項６】
請求項１から５のいずれかに記載の動きベクトル検出装置と、
前記動きベクトル検出装置により検出された動きベクトルを利用して、画像を符号化する符号化部と、
を備えることを特徴とする画像符号化装置。
【請求項７】
撮像素子と、
請求項１から５のいずれかに記載の動きベクトル検出装置と、を備え、
前記動きベクトル検出装置は、前記撮像素子から取り込んだ画像に対して動きベクトル検出を行うことを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出技術に関し、例えば、フレーム間予測モードを含む画像符号化方式により動画像を符号化するために、フレーム間の動きベクトルを検出する動きベクトル検出装置、それを用いた画像符号化装置および撮像装置に関する。
【背景技術】
【０００２】
動画の圧縮符号化方式の規格であるＭＰＥＧ（Motion Picture Experts Group）では、動きベクトルを用いた動き補償予測符号化が行われる。動きベクトルを検出する技術として、符号化対象画像の解像度を下げて縮小画像を生成し、縮小画像を用いて近似的な動きベクトルを検出した後、その近似的な動きベクトルを参考にしつつ、元の解像度の画像を用いて動きベクトルを検出するという、階層的動きベクトル検出方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平１１−２６２０１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
階層的動きベクトル検出方法は、少ない演算量で動きベクトルを検出することができる。しかしながら、探索領域の縮小画像と原画像の縮小画像とのマッチング処理を伴うため、精細度の低下した画像どうしのマッチング処理を含むことになる。精細度の低下は類似パターンの発生を増大させることにつながり、探索結果に誤りが発生しやすくなる。とくに、最初の探索処理で誤りが発生してしまうと、その階層以降の探索処理も誤った領域を探索することになり、探索結果に大きな誤りが発生してしまう。
【０００４】
本発明はこうした状況に鑑みてなされたものであり、その目的は、少ない演算量で精度よく最適な動きベクトルを検出することができる動きベクトル検出装置、それを用いた画像符号化装置および撮像装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様の動きベクトル検出装置は、符号化すべき画像の対象領域の動きベクトルを、参照画像内から検出する動きベクトル検出装置であって、対象領域とマッチングすべき探索範囲を参照画像内に設定する探索範囲設定部と、対象領域と探索範囲内の領域とのマッチングを、元の画像の解像度より低い解像度から元の画像の解像度に向けて複数の階層にわたって、探索範囲を制限しながら演算する演算部と、を備える。探索範囲設定部は、複数の階層のうち、少なくとも一つの階層にて、参照画像内に複数の探索範囲を設定する。「対象領域」はマクロブロックであってもよい。
【０００６】
この態様によると、複数の階層にわたって探索範囲を制限していく過程で、複数の探索範囲を設定することにより、マッチングの誤りを低減することができる。よって、少ない演算量で精度よく最適な動きベクトルを検出することができる。
【０００７】
探索範囲設定部は、はじめにマッチングすべき階層にて、対象領域に対応する領域とその隣接領域を含む第１探索範囲と、第１探索範囲より大きな領域を持つ第２探索範囲を参照画像内に設定してもよい。これによれば、被写体が静止しているか否かを早期に判定することができる。
【０００８】
参照画像内にて対象領域と最もマッチング度が高い領域を推測する推測部をさらに備えてもよい。探索範囲設定部は、はじめにマッチングすべき階層にて、推測部により推測された領域を含む第１探索範囲と、対象領域に対応する領域を含む第２探索範囲を参照画像内に設定してもよい。これによれば、最適な動きベクトルが早期に検出される可能性を高めることができる。
【０００９】
推測部は、動きベクトル検出装置が搭載された撮像装置の移動量から最もマッチング度が高い領域を推測してもよいし、対象領域と時間的または空間的に隣接する領域の動きベクトルを参照して、推測してもよい。これらの情報を参照することにより、推測精度を高めることができる。
【００１０】
本発明の別の態様は、画像符号化装置である。この装置は、上述した動きベクトル検出装置と、動きベクトル検出装置により検出された動きベクトルを利用して、画像を符号化する符号化部と、を備える。
【００１１】
この態様によると、少ない演算量で精度よく最適な動きベクトルを検出することができる画像符号化装置を構築することができる。
【００１２】
本発明の別の態様は、撮像装置である。この装置は、撮像素子と、上述した動きベクトル検出装置と、を備え、動きベクトル検出装置は、撮像素子から取り込んだ画像に対して動きベクトル検出を行う。
【００１３】
この態様によると、少ない演算量で精度よく最適な動きベクトルを検出することができる撮像装置を構築することができる。
【００１４】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、プログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、少ない演算量で精度よく最適な動きベクトルを検出することができる。
【発明を実施するための最良の形態】
【００１６】
実施の形態に係る画像符号化装置は、まず符号化すべき画像から解像度を下げた縮小画像を生成し、縮小画像を用いて解像度の低い大まかな動きベクトルを検出した後、その近似動きベクトルを参考にして、元の解像度の高い画像を用いて動きベクトルを検出する。本実施の形態では、このような階層的動きベクトル検出技術を用いるに際して、最適な動きベクトルを高精度で検出できる技術を提案する。
【００１７】
図１は、本発明の実施の形態に係る撮像装置１００の全体構成を示す。撮像装置１００は、撮像部５および画像符号化装置１０を備える。画像符号化装置１０は、動きベクトル検出回路２４、動き補償回路２６、フレームメモリ２８、符号化回路３０、復号化回路３２、出力バッファ３４、符号量制御回路３６、および参照モード選択回路３８を含む。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１８】
撮像部５は、ＣＣＤ（Charge Coupled Devices）センサやＣＭＯＳ（Complementary Metal-Oxide Semiconductor）イメージセンサなどの撮像素子を備え、撮像素子で撮像した画像を電気信号に変換し、入力画像として画像符号化装置１０に出力する。動きベクトル検出回路２４は、予めフレームメモリ２８に格納されて予測のために参照の対象となる画像（以下、「参照画像」という）と入力画像との間で動きベクトルを検出する。動き補償回路２６は、符号量制御回路３６から量子化に用いる量子化ステップの値を取得し、その量子化の係数とマクロブロックの予測モードを決定する。動きベクトル検出回路２４により検出された動きベクトルと、動き補償回路２６により決定された量子化係数およびマクロブロック予測モードが、符号化回路３０へ送られる。また、動き補償回路２６は、マクロブロックについての予測値と実際の値との差分を予測誤差として符号化回路３０に送る。
【００１９】
符号化回路３０は、予測誤差を量子化係数を用いて符号化して出力バッファ３４へ送る。符号化回路３０は、量子化した予測誤差と量子化係数を復号化回路３２へ送る。復号化回路３２は、量子化された予測誤差を量子化係数に基づいて復号化し、復号化した予測誤差と動き補償回路２６による予測値との和を復号画像としてフレームメモリ２８に送る。この復号画像は、後続の画像の符号化処理において参照される場合に、参照画像として動きベクトル検出回路２４へ送られる。符号量制御回路３６は、出力バッファ３４の蓄積量の状態を取得し、その蓄積量の状態に応じて次の量子化に用いる量子化ステップの値を生成する。
【００２０】
参照モード選択回路３８は、フレーム内符号化、フレーム間前方向予測符号化、フレーム間双方向予測符号化、の間でフレーム予測モードの切り替えを行い、他の回路に対してフレームの予測モード情報を出力する。
【００２１】
図２は、実施例１に係る動きベクトル検出回路２４の内部構成を示す。動きベクトル検出回路２４は、縮小画像生成部４０、縮小画像保持部４２、演算部４４および探索範囲設定部４６を含む。縮小画像生成部４０は、フレームメモリ２８に格納されている入力画像および参照画像を取得して、それらの画像の解像度を下げ、所定の倍率に縮小した画像を生成する。縮小画像生成部４０は、画素を間引いて画像を縮小してもよいし、所定のサイズのブロックに含まれる画素データを平均し、そのブロックを１つの画素としてもよいし、任意の技術を用いて縮小画像を生成してもよい。演算部４４は、入力画像の符号化の対象となるマクロブロック（以下、符号化対象マクロブロックという）と参照画像の探索範囲内のマクロブロックとの間で差分（以下、予測誤差という）を演算し、予測誤差が最も小さい、すなわちマッチング度が最も高い参照画像のマクロブロックを探索して動きベクトルを検出する。
【００２２】
探索範囲設定部４６は、参照画像内に複数の探索範囲を定義し、演算部４４に設定する。例えば、符号化対象マクロブロックを中心にその周辺に比較的大きな領域を確保した第１探索範囲と、符号化対象マクロブロックを中心にその隣接する領域に比較的小さな領域を確保した第２探索範囲を定義する。探索範囲の設定の詳細は後述する。縮小画像保持部４２は、ＳＤＲＡＭなどのメモリにより構成されており、縮小画像生成部４０が生成した縮小画像の一部または全部を保持する。縮小画像保持部４２は、フレームメモリ２８の一部により実現されてもよいし、フレームメモリ２８と共用されてもよい。
【００２３】
図３および図４は、実施例１に係る動きベクトルの検出手順を説明するための図である。以下に示す例では三階層探索を行う。まず、一次探索として符号化対象マクロブロックおよび探索範囲の画像を１／４倍に縮小して最適点を探索し、次に、二次探索として１／２に縮小して最適点を探索し、最後に三次探索として原画像の解像度における最適点を探索して、動きベクトルを検出する。
【００２４】
図３（ａ）は、参照画像６０ａ内に一次探索に必要な第１探索範囲６４ａおよび第２探索範囲６６ａが設定された様子を示す。参照画像６０ａにて、探索範囲設定部４６は、入力画像の符号化対象マクロブロックと同じ位置にあるマクロブロック６２ａをそれぞれ含む第１探索範囲６４ａおよび第２探索範囲６６ａを設定する。この例では、原画像における各符号化対象マクロブロックの大きさを縦１６ピクセル×横１６ピクセルに設定している。したがって、当該マクロブロック６２ａも縦１６ピクセル×横１６ピクセルに設定される。第１探索範囲６４ａは、当該マクロブロック６２ａを中心に左右に４ピクセル、上下に４ピクセル確保するために、縦２４ピクセル×横２４ピクセルに設定される。第２探索範囲６６ａは、当該マクロブロック６２ａを中心に左右に４８ピクセル、上下に２４ピクセル確保するために、縦６４ピクセル×横１１２ピクセルに設定される。
【００２５】
第１探索範囲６４ａおよび第２探索範囲６６ａのピクセル数は、前者のピクセル数が後者のピクセル数より少ないという関係を満たしていれば、設計者が任意に設定することが可能である。階層的な動きベクトル検出方法では一次探索が最も粗い探索となるため、第２探索範囲６６ａのピクセル数は比較的多く設定されることが望ましい。例えば、第２探索範囲６６ａのピクセル数は、本画像符号化装置１０が搭載された撮像装置にて想定されている最大パンニング量に基づいて設定されてもよい。また、当該撮像装置の撮影モードに応じてそのピクセル数が可変制御されてもよい。第１探索範囲６４ａは、主に、符号化対象マクロブロックに写っている被写体が静止しているか否か、および上記撮像装置が静止しているか否かを判定するための領域である。したがって、第１探索範囲６４ａのピクセル数は比較的少なくてもよい。
【００２６】
一次探索では原画像を１／４倍に縮小するため、縮小画像生成部４０は、フレームメモリ２８から入力画像の符号化対象マクロブロックの画素データを読み出して、画像を１／４倍に縮小し、縦４ピクセル×横４ピクセルの縮小画像を生成する。また、縮小画像生成部４０は、フレームメモリ２８から第１探索範囲６４ａの画素データを読み出して、画像を１／４倍に縮小し、縦６ピクセル×横６ピクセルの縮小画像を得る。同様に、第２探索範囲６６ａの画素データを読み出して、画像を１／４倍に縮小し、縦１６ピクセル×横２８ピクセルの縮小画像を得る。
【００２７】
図３（ｂ）は、第１探索範囲６４ａおよび第２探索範囲６６ａにおける一次探索結果を示す。参照画像６０ｂにて、演算部４４は、１／４倍に縮小された第１探索範囲６４ａ内で１／４倍に縮小された符号化対象マクロブロックと最も予測誤差の小さい最適ブロックを探索する。以下、この最適ブロックの中心座標などの注目点を第１最適点６５と呼ぶ。第１最適点６５と上記マクロブロック６２ａの対応する注目点との差分が一次探索における第１近似動きベクトルとなる。同様に、演算部４４は、１／４倍に縮小された第２探索範囲６６ａ内で１／４倍に縮小された符号化対象マクロブロックと最も予測誤差の小さい最適ブロックを探索する。以下、この最適ブロックの注目点を第２最適点６７と呼ぶ。第２最適点６７と上記マクロブロック６２ａの対応する注目点との差分が一次探索における第２近似動きベクトルとなる。
【００２８】
図４（ａ）は、第１最適点６５を起点に第３探索範囲６６ｂが、第２最適点６７を起点に第４探索範囲６６ｃが設定された様子を示す。参照画像６０ｃにて、探索範囲設定部４６は、第１最適点６５をマクロブロックの注目点として、そのマクロブロックを中心に第３探索範囲６６ｂを設定する。同様に、探索範囲設定部４６は、第２最適点６７をマクロブロックの注目点として、そのマクロブロックを中心に第４探索範囲６６ｃを設定する。第３探索範囲６６ｂおよび第４探索範囲６６ｃは、一次探索における第２探索範囲６６ａに相当する。
【００２９】
図４（ｂ）は、第３探索範囲６６ｂに対応する第５探索範囲６４ｂ、および第４探索範囲６６ｃに対応する第６探索範囲６４ｃが設定された様子を示す。参照画像６０ｄにて、探索範囲設定部４６は、第１最適点６５をマクロブロックの注目点として、そのマクロブロックを中心に第５探索範囲６４ｂを設定する。同様に、探索範囲設定部４６は、第２最適点６７をマクロブロックの注目点として、そのマクロブロックを中心に第６探索範囲６４ｃを設定する。第３探索範囲６６ｂと第５探索範囲６４ｂとの関係、および第４探索範囲６６ｃと第６探索範囲６４ｃとの関係は、一次探索における第２探索範囲６６ａと第１探索範囲６４ａとの関係に相当する。
【００３０】
二次探索では原画像を１／２倍に縮小するため、縮小画像生成部４０は、フレームメモリ２８から入力画像の符号化対象マクロブロックの画素データを読み出して、画像を１／２倍に縮小し、縦８ピクセル×横８ピクセルの縮小画像を生成する。一次探索の結果をもとに探索範囲を制限するため、第３探索範囲６６ｂおよび第４探索範囲６６ｃは、第２探索範囲６６ａより狭められる。例えば、第３探索範囲６６ｂおよび第４探索範囲６６ｃが第２探索範囲６６ａの１／４倍に設定される場合、縮小画像生成部４０は、縦３２ピクセル×横５８ピクセルの第３探索範囲６６ｂおよび第４探索範囲６６ｃの画像をフレームメモリ２８から読み出し、それらの画像を１／２倍に縮小し、縦１６ピクセル×横２９ピクセルの縮小画像を得る。縮小画像生成部４０は、第５探索範囲６４ｂおよび第６探索範囲６４ｃの画素データを読み出して、画像を１／２倍に縮小し、縦１２ピクセル×横１２ピクセルの縮小画像を得る。なお、第５探索範囲６４ｂおよび第６探索範囲６４ｃも第１探索範囲６４ａより狭められてもよい。
【００３１】
演算部４４は、１／２倍に縮小された第３探索範囲６６ｂ内で１／２倍に縮小された符号化対象マクロブロックと最も予測誤差の小さい最適ブロックを探索する。以下、このブロックの注目点を第３最適点と呼ぶ。同様に、演算部４４は、１／２倍に縮小された第４探索範囲６６ｃ、第５探索範囲６４ｂおよび第６探索範囲６４ｃ内で１／２倍に縮小された符号化対象マクロブロックと最も予測誤差の小さい最適ブロックを探索する。以下、これら最適ブロックの注目点を第４最適点、第５最適点および第６最適点と呼ぶ。
【００３２】
三次探索では、一次探索で求められた第１最適点６５および第２最適点６７を起点に四つの探索範囲を設定した処理と同様に、第３最適点、第４最適点、第５最適点および第６最適点を起点に八つの探索範囲を設定する。三次探索では原画像を縮小せずにマッチング演算する。このようにして、八つの探索範囲から最適点を取得し、最も予測誤差が小さい最適点のブロックと、符号化対象マクロブロックとの間の動きベクトルを最終的な動きベクトルに決定する。なお、以上の説明では三階層探索について説明したが、二階層探索でも四階層以上の探索でも同様の手法で動きベクトルを決定することができる。また、二次探索以降の処理では、最適点ごとに複数の探索範囲を設定せずに一つの探索範囲を設定してもよい。この場合、先の階層から得た最適点の数と、現在の階層で設定すべき探索範囲の数が等しくなる。
【００３３】
図５は、実施例１に係る動き検出手順を説明するためのフローチャートを示す。符号化対象マクロブロックの動きベクトルをｎ（ｎは自然数）階層探索を用いて検出する例を説明する。探索範囲設定部４６は、符号化対象マクロブロックの動きベクトルの探索範囲として複数の探索範囲を設定する（Ｓ１０）。縮小画像生成部４０は、現在の階層に対応した縮小率で符号化対象マクロブロックおよび当該探索範囲の画素データを縮小する（Ｓ１２）。演算部４４は、符号化対象マクロブロックの最適点を探索範囲ごとに検出する（Ｓ１４）。ここで、ある探索範囲における最適点を持つブロックと符号化対象マクロブロックとの間の予測誤差が零である場合、次階層の処理に遷移せずに動きベクトルを零と決定してもよい。また、次階層にてその最適点に対してのみ探索範囲を設定してもよい。その符号化対象マクロブロックの被写体および撮像装置の撮影点が静止している状態と判断されるため、他の領域を探索する必要がないためである。また、ある探索範囲における最適点を持つブロックと符号化対象マクロブロックとの間の予測誤差が零ではないが、実験やシミュレーションをもとに設定された極めて小さな閾値より小さい値の場合も同様に、動きベクトルを零と決定してもよい。これらの処理によれば、すべての階層にて複数の探索範囲の最適点を求める処理より、演算量を低減することができる。
【００３４】
ｎ階層以外の最適点を検出した後（Ｓ１６のＮ）、探索範囲設定部４６は、符号化対象マクロブロックの動きベクトルの探索範囲として、現在の階層の最適点ごとに複数の探索範囲を設定する（Ｓ１８）。以下、ステップＳ１２に遷移する。ｎ階層の最適点を検出した後（Ｓ１６のＹ）、ｎ階層にて最適点を持つ複数のブロックと符号化対象マクロブロックとの間の予測誤差の内、最も小さい予測誤差の最適点を選択する（Ｓ２０）。その最適点を持つブロックと符号化対象マクロブロックとの間の動きベクトルを最終的な動きベクトルに決定する。
【００３５】
なお、ステップＳ１８にて探索範囲設定部４６が現在の階層の最適点から複数の探索範囲を設定する際、それらの最適点を持つブロックと符号化対象マクロブロックとの予測誤差の内、最も小さい予測誤差の最適点を選択し、その最適点に対してのみ複数の探索範囲を設定してもよい。この処理によれば、演算量を低減することができる。
【００３６】
以上説明したように実施例１によれば、少ない演算量で精度よく動きベクトルを検出することができる。すなわち、階層的動きベクトル検出方法を用いることにより、縮小画像どうしのマッチング処理の結果をもとに探索範囲を制限していくことができるため、演算量を低減することができる。よって、動きベクトルの検出処理を高速化することが可能となる。また、探索範囲を複数設定することにより、類似パターンの発生などにより、誤って最適なブロック以外のブロックが検出されてしまう可能性を低減することができる。動きベクトルの検出精度が向上すると、符号化効率の向上および画質の改善につながる。
【００３７】
また、符号化対象ブロックを中心にその周囲に数ピクセル程度領域を確保した探索範囲を設定することにより、本画像符号化装置１０を搭載した撮像装置がパンニング中であるか否かを容易に判定することもできる。また、撮像装置が静止している状態においては、符号化対象ブロックに写った被写体が静止しているか否かを容易に判定することができる。このような情報は、撮像装置の設定情報などに利用することもできる。例えば、パンニングを検出したことを手振れ補正の制御系に通知することもできる。
【００３８】
また、多くの場合、第１探索範囲と第２探索範囲が重複するように設定されるため、マッチングの演算結果を共用することができ、演算量低減の効果が大きくなる。
【００３９】
図６は、実施例２に係る動きベクトル検出回路２４の内部構成を示す。実施例２に係る動きベクトル検出回路２４は、実施例１に係る動きベクトル検出回路２４に、最適領域推測部４８が付加された構成である。最適領域推測部４８は、参照画像内において、符号化対象ブロックと最も予測誤差が小さい最適ブロックが存在する確率の高い探索範囲を推定して、探索範囲設定部４６に送る。例えば、本画像符号化装置１０が搭載された撮像装置に手振れ補正機能が備わっている場合、最適領域推測部４８は手振れ補正の制御系から撮像装置の移動量を取得することができる。その移動量が、撮像装置が右から左にパンニングされていることを示す場合、その移動量に応じて、最適ブロックが符号化対象ブロックの右に移動した位置に存在すると推測することができる。
【００４０】
また、最適領域推測部４８は、符号化対象ブロックと時間的または空間的に隣接するマクロブロックの動きベクトルから最適ブロックの位置を推測することができる。例えば、同一画像内にて、隣接するマクロブロックの動きベクトルを単独で参照してもよいし、隣接する複数のマクロブロックの動きベクトルの平均値を参照してもよい。また、一フレーム前の同じまたは隣接するマクロブロックの動きベクトルを参照してもよい。
【００４１】
図７は、実施例２に係る動きベクトルの検出手順を説明するための図である。実施例２に係る動きベクトルの検出手順は、基本的に図３および図４に示した実施例１に係る動きベクトルの検出手順と同様である。相違点は、第１探索範囲６４ａの設定位置である。最適領域推測部４８は、撮像装置が右から左にパンニングされていることを認識した場合、その移動量を相殺する分、符号化対象ブロックの最適ブロックが右に移動したと推測し、推測した位置を含む領域に第１探索範囲６４ａを設定する。当該符号化対象ブロックの被写体が静止している場合、第１探索範囲６４ａ内で最適ブロックが検出される確率が高い。図７は図３（ａ）に対応し、その後の処理は図３〜図５に示した検出手順と同様である。
【００４２】
以上説明したように実施例２によれば、少ない演算量で精度よく動きベクトルを検出することができる。また、最適ブロックの存在する蓋然性の高い場所を含む探索範囲を設定することにより、その探索範囲から最適ブロック、例えば予測誤差が零のブロックが検出された場合、他の探索範囲の探索結果に影響されることなく、最適ブロックを特定でき、最適な動きベクトルを決定することができる。
【００４３】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４４】
実施の形態では、第２探索範囲６６ａの設定範囲を、符号化対象ブロックに対応するブロックを中心に参照画像６０ａ内に設定したが、参照画像６０ａ内の任意の領域に設定してもよい。例えば、第２探索範囲６６ａの中心ではなく、中心よりずれた位置に上記ブロックが存在してもよいし、第２探索範囲６６ａの外に当該ブロックが存在してもよい。他の階層にて第２探索範囲６６ａに相当する探索範囲についても同様である。
【００４５】
実施の形態では、一次探索においてに二つ探索範囲を設定したが三つ以上の探索範囲を設定してもよい。例えば、実施例１で設定される第１探索範囲６４ａと実施例２で設定される第１探索範囲６４ａを、参照画像６０ａ内に両方設定してもよい。この場合、さらに最適な動きベクトルを検出できる可能性を高めることができる。演算量が増大する可能性もあるが、一次探索で最適な動きベクトルを検出できた場合、演算量を減少させる可能性もある。
【００４６】
実施例１では、第１探索範囲６４ａの設定範囲を、符号化対象ブロックに対応するブロックを中心に参照画像６０ａ内に設定したが、厳密に中心である必要はない。第１探索範囲６４ａの設定範囲に当該ブロックが含まれていればよい。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態に係る撮像装置の全体構成を示す図である。
【図２】実施例１に係る動きベクトル検出回路の内部構成を示す図である。
【図３】図３（ａ）は参照画像内に一次探索に必要な第１探索範囲および第２探索範囲が設定された様子を示す。図３（ｂ）は第１探索範囲および第２探索範囲における一次探索結果を示す。
【図４】図４（ａ）は第１最適点を起点に第３探索範囲が、第２最適点を起点に第４探索範囲が設定された様子を示す。図４（ｂ）は第３探索範囲に対応する第５探索範囲および第４探索範囲に対応する第６探索範囲が設定された様子を示す。
【図５】実施例１に係る動き検出手順を説明するためのフローチャートを示す図である。
【図６】実施例２に係る動きベクトル検出回路の内部構成を示す図である。
【図７】実施例２に係る動きベクトルの検出手順を説明するための図である。
【符号の説明】
【００４８】
５  撮像部、  １０  画像符号化装置、  ２４  動きベクトル検出回路、  ２６  動き補償回路、  ２８  フレームメモリ、  ３０  符号化回路、  ３２  復号化回路、  ３４  出力バッファ、  ３６  符号量制御回路、  ３８  参照モード選択回路、  ４０  縮小画像生成部、  ４２  縮小画像保持部、  ４４  演算部、  ４６  探索範囲設定部、  ４８  最適領域推測部、  １００  撮像装置。  
【図１】
2008219141.tif 000003
【図２】
2008219141.tif 000004
【図３】
2008219141.tif 000005
【図４】
2008219141.tif 000006
【図５】
2008219141.tif 000007
【図６】
2008219141.tif 000008
【図７】
2008219141.tif 000009