(57)【特許請求の範囲】
【請求項１】
複数のピクチャから構成される入力画像における符号化対象ピクチャについて、所定の符号化対象ブロックの単位で符号化する画像符号化装置であって、
前記入力画像に含まれるピクチャのピクチャ枚数を減らす間引きを行う間引き部と、
前記間引き後の前記入力画像に属するピクチャ間で前記ピクチャ全体の動きベクトルを検出して全体動きベクトルとする全体動きベクトル検出部と、
前記全体動きベクトルを検出した前記ピクチャ間の時間間隔と、前記間引き前の前記入力画像に属するピクチャ間の時間間隔との比を用いて、前記全体動きベクトルから、当該間引き前の入力画像に属するピクチャ間のピクチャ全体の動きベクトルである補正動きベクトルを算出する補正動きベクトル算出部と、
算出された前記補正動きベクトルと所定の符号化条件とに基づいて、前記間引き前の前記入力画像に含まれる前記符号化対象ブロックの探索範囲を決定する探索範囲決定部と、
決定された前記探索範囲における前記符号化対象ブロックの動きベクトルを検出し、当該動きベクトルを用いて前記符号化対象ブロックについて符号化する符号化部と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記画像符号化装置は、さらに、
前記間引き後の前記入力画像におけるピクチャを縮小して複数の縮小入力画像を生成する画像縮小部を備え、
前記全体動きベクトル検出部は、
生成された前記複数の縮小入力画像間の画像全体の動きベクトルを検出し、当該動きベクトルを前記全体動きベクトルとする
ことを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記画像符号化装置は、さらに、
生成された前記縮小入力画像を複数の領域に分割する領域分割部を備え、
前記全体動きベクトル検出部は、分割された前記領域毎に前記全体動きベクトルを検出し、
前記補正動きベクトル算出部は、分割された前記領域毎に前記補正動きベクトルを算出する
ことを特徴とする請求項２記載の画像符号化装置。
【請求項４】
前記符号化条件は、前記符号化対象ピクチャを符号化する際のピクチャタイプ、又は前記符号化対象ピクチャを符号化する際にどのピクチャを参照するかを示す参照画像情報である
ことを特徴とする請求項１記載の画像符号化装置。
【請求項５】
前記間引き部は、前記間引きにおける間引き量を表わす間引き制御量に基づいて前記間引きを行い、
前記補正動きベクトル算出部は、前記間引き制御量に基づいて前記補正動きベクトルを算出する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項６】
前記間引き制御量は、前記全体動きベクトルの大きさ又は前記補正動きベクトルの大きさが、所定の閾値を超える場合に、前記間引き量を減らすことを表わす
ことを特徴とする請求項５記載の画像符号化装置。
【請求項７】
前記間引き制御量は、前記全体動きベクトルの大きさ又は前記補正動きベクトルの大きさが、所定の閾値より小さい場合に、前記間引き量を増やすことを表わす
ことを特徴とする請求項６記載の画像符号化装置。
【請求項８】
複数のピクチャから構成される入力画像における符号化対象ピクチャについて、所定の符号化対象ブロックの単位で符号化する画像符号化方法であって、
前記入力画像に含まれるピクチャのピクチャ枚数を減らす間引きを行う間引きステップと、
前記間引き後の前記入力画像に属するピクチャ間で前記ピクチャ全体の動きベクトルを検出して全体動きベクトルとする全体動きベクトル検出ステップと、
前記全体動きベクトルを検出した前記ピクチャ間の時間間隔と、前記間引き前の前記入力画像に属するピクチャ間の時間間隔との比を用いて、前記全体動きベクトルから、当該間引き前の入力画像に属するピクチャ間のピクチャ全体の動きベクトルである補正動きベクトルを算出する補正動きベクトル算出ステップと、
算出された前記補正動きベクトルと所定の符号化条件とに基づいて、前記間引き前の前記入力画像に含まれる前記符号化対象ブロックの探索範囲を決定する探索範囲決定ステップと、
決定された前記探索範囲における前記符号化対象ブロックの動きベクトルを検出し、当該動きベクトルを用いて前記符号化対象ブロックについて符号化する符号化ステップと
を含むことを特徴とする画像符号化方法。
【請求項９】
複数のピクチャから構成される入力画像における符号化対象ピクチャについて、所定の符号化対象ブロックの単位で符号化を行なう画像符号化装置のためのプログラムであって、
前記プログラムは、
前記入力画像に含まれるピクチャのピクチャ枚数を減らす間引きを行う間引きステップと、
前記間引き後の前記入力画像に属するピクチャ間で前記ピクチャ全体の動きベクトルを検出して全体動きベクトルとする全体動きベクトル検出ステップと、
前記全体動きベクトルを検出した前記ピクチャ間の時間間隔と、前記間引き前の前記入力画像に属するピクチャ間の時間間隔との比を用いて、前記全体動きベクトルから、当該間引き前の入力画像に属するピクチャ間のピクチャ全体の動きベクトルである補正動きベクトルを算出する補正動きベクトル算出ステップと、
算出された前記補正動きベクトルと所定の符号化条件とに基づいて、前記間引き前の前記入力画像に含まれる前記符号化対象ブロックの探索範囲を決定する探索範囲決定ステップと、
決定された前記探索範囲における前記符号化対象ブロックの動きベクトルを検出し、当該動きベクトルを用いて前記符号化対象ブロックについて符号化する符号化ステップと
をコンピュータに実行させるプログラム。
【請求項１０】
複数のピクチャから構成される入力画像における符号化対象ピクチャについて、所定の符号化対象ブロックの単位で符号化する集積回路であって、
前記入力画像に含まれるピクチャのピクチャ枚数を減らす間引きを行う間引き部と、
前記間引き後の前記入力画像に属するピクチャ間で前記ピクチャ全体の動きベクトルを検出して全体動きベクトルとする全体動きベクトル検出部と、
前記全体動きベクトルを検出した前記ピクチャ間の時間間隔と、前記間引き前の前記入力画像に属するピクチャ間の時間間隔との比を用いて、前記全体動きベクトルから、当該間引き前の入力画像に属するピクチャ間のピクチャ全体の動きベクトルである補正動きベクトルを算出する補正動きベクトル算出部と、
算出された前記補正動きベクトルと所定の符号化条件とに基づいて、前記間引き前の前記入力画像に含まれる前記符号化対象ブロックの探索範囲を決定する探索範囲決定部と、
決定された前記探索範囲における前記符号化対象ブロックの動きベクトルを検出し、当該動きベクトルを用いて前記符号化対象ブロックについて符号化する符号化部と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を画面間予測によって符号化する画像符号化装置に関し、特に画面間の動きベクトルを検出する際に用いる探索範囲を決定する技術に関するものである。
【背景技術】
【０００２】
ＭＰＥＧ（Moving Picture image coding Experts Group）方式のような動画像の画像間相関を利用した画像圧縮方式では、動き補償を行うブロック単位で動きベクトルの検出が必要である。精度の高い動きベクトルを検出するには、探索範囲を広げることで動きベクトルの検出精度を高める方法が一般的である。ところが、探索範囲を広げると、処理量が増加し（即ち、処理量は処理ブロック数×探索範囲であるため）、かつメモリ量の増大にもつながってしまう。そこで、探索範囲を広げずに動きベクトルを精度よく検出する必要がある（例えば、特許文献１参照）。
【０００３】
特許文献１では、画像の入力順に画像全体の動きベクトルを検出し、その動きベクトルに基づいて入力画像と参照画像間の動きベクトルを算出し、この算出した動きベクトルに基づいて、マクロブロック毎の動きベクトルを検出する探索範囲を決定している。
【特許文献１】特開２００１−１６９２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、ＢＳ又は地上波によるデジタル放送が開始され、高精細のＨＤ（High Definition）フォーマットの画像（以下、「ＨＤ画像」という。）についても圧縮符号化の要請が増大している。
【０００５】
しかしながら、ＨＤ画像は、従来のＳＤ（Standard Definition）画像に比べて約６倍の画素を有しており、ＳＤ画像と同等の動きベクトル検出精度を実現するには、処理ブロック数×探索範囲の処理量が必要になる。また、Ｈ．２６４規格では、動き補償サイズが７種類と多く、ＭＰＥＧ２規格の３倍の処理量が必要となる。このように、ＨＤ画像をＨ．２６４規格で圧縮符号化すると、従来に比べ数十倍以上処理量が必要となる。
【０００６】
従来の動きベクトル探索方法では、入力画像の１フレーム間の動きを検出し、マクロブロック毎の動きベクトル探索範囲を決定することで探索範囲を狭めている。ところが、入力画像がＨＤ画像の場合、画素数が多いため、全画素を用いて画像全体の動きを検出しようとすると処理量が膨大になる。また、処理量を削減するために画像を縮小、或いは間引くことも記載されているが、画面全体がゆっくりとした動きの場合（特に、縮小率が半分程度の画素数分だけ画像の動きがある場合）は、動きが「０」もしくは縮小した画像で１画素の動きに丸められる。その結果、Ｐピクチャで３フレーム前の画像を参照画像とする場合、１フレーム間の動きの誤差が蓄積されるため、探索範囲を小さくすることができず、メモリ量が増大する。
【０００７】
例えば、縮小率が１／１６の場合は、±８画素の誤差が発生するため、Ｐピクチャが３フレーム前の画像を参照する場合、その３倍に当たる±２４画素の誤差が発生し、これを含む探索範囲を設定する必要があるため、処理量を削減することができない。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、処理量を削減しつつ、精度の高い動きベクトルを検出することができる画像符号化装置および画像符号化方法等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係る画像符号化装置は、複数のピクチャから構成される入力画像における符号化対象ピクチャについて、所定の符号化対象ブロックの単位で符号化する画像符号化装置であって、前記入力画像に含まれるピクチャのピクチャ枚数を減らす間引きを行う間引き部と、前記間引き後の前記入力画像に属するピクチャ間で前記ピクチャ全体の動きベクトルを検出して全体動きベクトルとする全体動きベクトル検出部と、前記全体動きベクトルを検出した前記ピクチャ間の時間間隔と、前記間引き前の前記入力画像に属するピクチャ間の時間間隔との比を用いて、前記全体動きベクトルから、当該間引き前の入力画像に属するピクチャ間のピクチャ全体の動きベクトルである補正動きベクトルを算出する補正動きベクトル算出部と、算出された前記補正動きベクトルと所定の符号化条件とに基づいて、前記間引き前の前記入力画像に含まれる前記符号化対象ブロックの探索範囲を決定する探索範囲決定部と、決定された前記探索範囲における前記符号化対象ブロックの動きベクトルを検出し、当該動きベクトルを用いて前記符号化対象ブロックについて符号化する符号化部とを備えることを特徴とする。
【００１０】
これにより、処理量を削減しつつ、精度の高い動きベクトルを検出することが可能となる。
【００１１】
また、本発明は、上記のような画像符号化装置として実現することができるだけでなく、上記の画像符号化装置における特徴的な構成手段を備える集積回路として実現したり、この特徴的な構成手段をステップとする画像符号化方法として実現したりすることもできる。さらに、上記方法の各々のステップをコンピュータに実行させるためのプログラムとして実現することもできる。そして、そのプログラムをＤＶＤ等の記録媒体やインターネット等の伝送媒体を介して広く流通させることができるのは云うまでもない。
【発明の効果】
【００１２】
本発明に係る画像符号化装置によれば、入力画像を間引いた後で画像全体の動きベクトルを検出し、検出した画像全体の動きベクトルを補正することで、ピクチャ間の動きベクトルの誤差を低減することができ、符号化対象のマクロブロック毎の動きベクトルを検出する際に必要となる探索範囲を狭めることができるので、符号化処理に要する処理量及びメモリ量を削減することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係る実施の形態について、図面を参照しながら説明する。なお、本発明について、以下の実施の形態および添付の図面を用いて説明を行うが、これは例示を目的としており、本発明がこれらに限定されることを意図しない。
【００１４】
（実施の形態１）
図１は、本実施の形態１に係る画像符号化装置１００の機能構成を示すブロック図である。図１に示すように、画像符号化装置１００は、間引き部１０２、画像縮小部１０３、フレームメモリ１０４、全体動きベクトル検出部１０５、補正動きベクトル算出部１０６、探索範囲決定部１０７および符号化部１０８を備える。なお、図１において、間引き部１０２および符号化部１０８には、時系列に並ぶピクチャから構成される入力画像１０１が入力される。また、符号化部１０８からは、符号化されたストリーム１１０が出力される。
【００１５】
本実施の形態においては、入力画像１０１として、１秒間に６０フレームのピクチャ（以下「６０ｐ」とも記す。）が入力され、ピクチャ単位で間引くことを前提とする。また、符号化部１０８では、Ｈ．２６４規格に従って符号化処理が実行され、ＭＰＥＧ２規格に従って符号化するときと同じ参照関係で動き補償することを前提とする。また、符号化部１０８で実際に行われるマクロブロック単位の動きベクトルの検出は、１つの参照画像に対して１つの矩形領域を探索することを前提とする。
【００１６】
間引き部１０２は、入力画像１０１の各ピクチャ（Ｉ0、Ｂ1、Ｂ2、Ｐ3、Ｂ4、Ｂ5及びＰ6）に対して、ピクチャ単位の間引きを行う。具体的には、図２に示す通り、６０ｐで入力される入力画像１０１に対して、入力順に交互に１ピクチャずつ間引き、間引き後の残った画像として、間引き画像（Ｉ0、Ｂ2、Ｂ4及びＰ6）を出力する。
【００１７】
画像縮小部１０３は、間引き画像を縮小して縮小画像を生成する。具体的には、間引き画像の画素数を低減した縮小画像（ｉ0、ｂ2、ｂ4及びｐ6）を生成する。
【００１８】
フレームメモリは、例えばＲＡＭ等の記憶装置であり、画像縮小部１０３において生成された縮小画像を蓄積する。
【００１９】
全体動きベクトル検出部１０５は、フレームメモリ１０４に蓄積されている縮小画像を読み出して、縮小入力画像又は縮小参照画像とし、間引きされた縮小画像の１フレーム間の全体動きベクトルを検出する。具体的には、図２に示すように、縮小入力画像を「ｂ2」とし、縮小参照画像を「ｉ0」とした場合の両画像間の粗いベクトルである全体動きベクトルを検出する。全体動きベクトルの検出方法は、画像全体のブロックマッチングを行う。
【００２０】
画像全体で処理するため、縮小入力画像と縮小参照画像の一部しか重ならない場合があるが、その時の評価値は画像全体が重なっている場合（動きが「０」の場合）に正規化する。探索位置毎に算出される評価値で最も相関度合いが強いものを検出し、全体動きベクトルとする。評価値には画素差分絶対値和、画素差分二乗和、画素差分の分散や偏差、或いは共分散といった値が考えられる。
【００２１】
なお、縮小入力画像ｂ2の縮小参照画像ｉ0に対する全体動きベクトルを図３のように「ｐｉｃＭＶ２」とする。同様に、縮小入力画像ｂ4の縮小参照画像ｂ2に対する全体動きベクトルを「ｐｉｃＭＶ４」とし、縮小入力画像ｂ6の縮小参照画像ｂ4に対する全体動きベクトルを「ｐｉｃＭＶ６」とする。
【００２２】
補正動きベクトル算出部１０６は、縮小画像間で検出された全体動きベクトルに基づき、間引き前の入力画像１０１の入力順に１ピクチャ間の動きベクトルを補正動きベクトルとして算出する。具体的には、図３に示すように、入力画像Ｂ1の入力画像Ｉ0に対する補正動きベクトルを「ｃｏｒＭＶ１」とし、入力画像Ｂ2の入力画像Ｂ1に対する補正動きベクトルを「ｃｏｒＭＶ２」とすると、これらは、上記のｐｉｃＭＶ２を用いて、それぞれ以下の式で算出される。
【００２３】
ｃｏｒＭＶ１＝ｐｉｃＭＶ２／２                            （１）
ｃｏｒＭＶ２＝ｐｉｃＭＶ２−ｃｏｒＭＶ１                  （２）
【００２４】
なお、上記のように算出された補正動きベクトルをメモリ上に保持し、探索範囲決定に用いるが、ここでは図示していない。ＭＰＥＧ２規格の場合、参照画像となるピクチャタイプは、Ｉ又はＰピクチャであり、参照画像間の各ピクチャの補正動きベクトルをメモリに保持する必要がある。例えば、図３では、Ｂ2の符号化を行うまで、ｃｏｒＭＶ１、ｃｏｒＭＶ２及びｃｏｒＭＶ３を保持する必要がある。
【００２５】
探索範囲決定部１０７は、上記のように算出された補正動きベクトル及び符号化条件１０９に基づいて、マクロブロック単位で動きベクトルを検出するための探索範囲を決定する。ここで、符号化条件１０９は、例えば、符号化対象画像のピクチャタイプ、どのピクチャが参照画像かであるのかを示す情報、及び符号化対象画像と参照画像との間のフレーム数などがある。
【００２６】
探索範囲決定部１０７は、符号化条件１０９から符号化対象画像と参照画像の間にある各画像間の補正動きベクトルを用いて、符号化対象画像と参照画像間の全体動きベクトルを算出する。
【００２７】
例えば、図３に示すように、ピクチャＢ1が符号化対象画像であり、ピクチャＩ0とピクチャＰ3が参照画像とする。Ｂ1とＩ0間の全体動きベクトルを「ＧＭＶ（１，０）」、Ｂ1とＰ3間の全体動きベクトルを「ＧＭＶ（１，３）」とした場合に、Ｉ0からＰ3間の各補正動きベクトル（即ち、ｃｏｒＭＶ１、ｃｏｒＭＶ２及びｃｏｒＭＶ３）間には、以下の関係がある。
【００２８】
ＧＭＶ（１，０）＝ｃｏｒＭＶ１                            （３）
ＧＭＶ（１，３）＝−（ｃｏｒＭＶ２＋ｃｏｒＭＶ３）        （４）
【００２９】
次に、探索範囲決定部１０７は、全体動きベクトルを基に参照画像毎に探索範囲を決定する。例えば、図４に示すように、あるマクロブロックを中心とした基準となる基準探索範囲を設定する。この探索範囲の位置を参照画像Ｉ0に対しては「ＧＭＶ（１，０）」の位置に、参照画像Ｐ3に対しては「ＧＭＶ（１，３）」の位置にずらすこととする。
【００３０】
符号化部１０８は、探索範囲決定部１０７で決定された探索範囲を用いてマクロブロック単位の動きベクトルの検出、及び符号化処理を行い、ストリームを生成する。
【００３１】
次に、上記のように構成される画像符号化装置１００の動作について説明する。図５は、画像符号化装置１００の処理の流れを示すフローチャートである。
【００３２】
最初に、間引き部１０２は、ピクチャが時系列に並んだ入力画像１０１を取得すると（Ｓ１００）、この入力画像１０１に対して間引き処理を施す（Ｓ１０２）。これにより、画像縮小部１０３は、間引き後入力画像１０１を用いて縮小画像を生成する（Ｓ１０４）。
【００３３】
次に、全体動きベクトル検出部１０５は、縮小画像の１フレーム間の全体動きベクトルを検出する（Ｓ１０６）。この後、補正動きベクトル算出部１０６は、間引き前の入力画像１０１における１フレーム間の補正動きベクトルを算出する（Ｓ１０８）。
【００３４】
その後、探索範囲決定部１０７は、補正動きベクトルに基づいて、参照画像毎に符号化対象の探索範囲を決定する。
【００３５】
最後に、符号化部１０８は、決定された探索範囲を用いてマクロブロック単位の動きベクトル検出を行い（Ｓ１１２）、符号化処理を行ってストリームを生成する（Ｓ１１４）。
【００３６】
なお、本実施の形態では、時間方向に常に１フレーム間引きすることを前提としたが、２フレーム以上の間引きを行うことも可能である。また、動き補償の制約をＭＰＥＧ２規格と同じであることを前提としたが、Ｈ．２６４規格の範囲内で同様の構成とすることも可能である。例えば、Ｉピクチャを越えて動き補償するときも同様の構成をとることが可能である。また、１つの参照画像内で複数箇所の矩形領域を探索する場合は、その探索箇所毎にずらし量を設定することも可能である。また、補正動きベクトルを求めるときに過去に検出された補正動きベクトルから加速度を算出し、その値に応じてフレーム間の全体動き量を算出することも可能である。
【００３７】
さらに、本実施の形態では、画像縮小部１０３を備える画像符号化装置について説明したが、画像縮小部１０３を省略した画像符号化装置を構成してもよい。
【００３８】
以上のように、本実施の形態に係る画像符号化装置によれば、入力画像を間引いて探索範囲を決定するので、処理量を削減しつつ、精度の高い動きベクトルを検出することができる。
【００３９】
（実施の形態２）
上記実施の形態１では、所定の規則に従ってピクチャを間引く実施例について説明したが、本実施の形態では、ピクチャの間引き方を可変とした実施例について説明する。
【００４０】
図６は、本実施の形態に係る画像符号化装置２００の機能構成を示すブロック図である。図６に示すように、画像符号化装置２００は、間引き部２０２、画像縮小部１０３、フレームメモリ１０４、全体動きベクトル検出部１０５、補正動きベクトル算出部２０６、探索範囲決定部１０７および符号化部１０８を備える。なお、本実施の形態においても上記実施の形態１と同じように、入力画像１０１のフォーマットは６０ｐであり、符号化部１０８ではＨ．２６４規格に従って符号化を行うが、ＭＰＥＧ２規格に従って符号化するときと同じ参照関係で動き補償することを前提とする。また、符号化部１０８で実際に行われるマクロブロック単位の動きベクトル検出は、１つの参照画像に対して１つの矩形領域を探索することを前提とする。以下では、上記実施の形態に係る画像符号化装置１００と異なる機能構成について重点的に説明する。
【００４１】
間引き部２０２は、間引き制御量２１１に基づいて、入力画像１０１におけるピクチャを間引く。上記実施の形態１では、この間引き方が固定（具体的には、１ピクチャおきに間引く等）であることを前提としていたが、本実施の形態では、入力画像１０１に対するピクチャの間引き方を可変となる。
【００４２】
補正動きベクトル算出部２０６は、間引き制御量２１１と縮小画像間で検出された全体ベクトルに基づき、間引き前の入力画像１０１の入力順に１フレーム間の全体動き量を補正動きベクトルとして算出する。例えば、間引きするピクチャ数がｍピクチャで、ｎ番目のピクチャの全体ベクトルをｐｉｃＭＶｎとする。このとき、ｋ番目のピクチャの補正動きベクトルｃｏｒＭＶｋは、以下の式で算出できる（ここで、ｎ−ｍ≦ｋ≦ｎ、ｋ,ｍ,ｎ：自然数）。
【００４３】
ｃｏｒＭＶｋ＝１／（ｍ＋１）＊ｐｉｃＭＶｎ                    （５）
（ここで、ｎ−ｍ≦ｋ≦ｎ−１、＊は乗算を表わす）
ｃｏｒＭＶｎ＝ｐｉｃＭＶｎ−Σ（ｃｏｒＭＶｉ）                （６）
（ここで、ｉ＝ｎ−ｍ〜ｎ−１）
【００４４】
具体的には、図７に示すように、最初に２フレームを間引きした場合は、縮小入力画像ｐ３の縮小参照画像ｉ０に対する全体動きベクトルが「ｐｉｃＭＶ３」となる。このベクトルから補正動きベクトル「ｃｏｒＭＶ１」、「ｃｏｒＭＶ２」及び「ｃｏｒＭＶ３」を算出する。具体的には、上式のｎ＝３、ｍ＝２として補正動きベクトルを算出する。
【００４５】
ｃｏｒＭＶ１＝ｐｉｃＭＶ３／３                                （７）
ｃｏｒＭＶ２＝ｐｉｃＭＶ３／３                                （８）
ｃｏｒＭＶ３＝ｐｉｃＭＶ３−（ｃｏｒＭＶ１＋ｃｏｒＭＶ２）    （９）
【００４６】
なお、補正動きベクトルを算出した後は、上記実施の形態１と同じ動作となる。補正動きベクトルと符号化条件１０９からマクロブロック単位の動きベクトル検出の探索範囲を決定する。符号化部１０８では、探索範囲決定部で決定した探索範囲でマクロブロック単位の動きベクトル検出を行い、符号化処理を行ってストリーム１１０を生成する。
【００４７】
次に、上記のように構成される画像符号化装置２００の動作について説明する。図８は、画像符号化装置２００の処理の流れを示すフローチャートである。
【００４８】
最初に、間引き部１０２は、入力画像１０１を取得すると（Ｓ１００）、間引き制御量２１１に基づき、この入力画像１０１に対して間引き処理を施す（Ｓ１０２）。これにより、画像縮小部１０３は、間引き後入力画像１０１を用いて縮小画像を生成する（Ｓ１０４）。
【００４９】
次に、全体動きベクトル検出部１０５は、縮小画像の１フレーム間の全体動きベクトルを検出する（Ｓ１０６）。この後、補正動きベクトル算出部１０６は、間引き制御量２１１を用いて、間引き前の入力画像１０１における１フレーム間の補正動きベクトルを算出する（Ｓ１０８）。
【００５０】
その後、探索範囲決定部１０７は、補正動きベクトルに基づいて、参照画像毎に符号化対象の探索範囲を決定する。
【００５１】
最後に、符号化部１０８は、決定された探索範囲を用いてマクロブロック単位の動きベクトル検出を行い（Ｓ１１２）、符号化処理を行ってストリームを生成する（Ｓ１１４）。
【００５２】
なお、間引き部１０２における間引き制御量の決定方法に関しては図示していないが、例えば全体動きベクトルの大きさがある閾値以下の場合は、画面全体の動きがほとんどないと判定し、間引きするフレーム数を増やすこととする。逆に、別の閾値を超えた場合は、画面全体の動きが大きいと判定し、間引きするフレーム数を減らすこととする。なお、全体動きベクトルの代わりに補正動きベクトルを用いることも可能である。
【００５３】
また、符号化部１０８において、マクロブロック単位で検出した動きベクトルの統計情報を用いることも可能である。例えば、動きベクトルの平均値、分散、大きさと方向によるグルーピングした値等が考えられる。
【００５４】
本実施の形態では、動き補償の制約をＭＰＥＧ２規格と同じであることを前提としたが、Ｈ．２６４規格の範囲内で同様の構成を取ることが可能である。例えば、Ｉピクチャを越えて動き補償を行うときも同様の構成をとることが可能である。また、１つの参照画像内で複数箇所の矩形領域を探索する場合は、その探索箇所毎にずらし量を設定することも可能である。また、補正動きベクトルを求めるときに過去に検出された補正動きベクトルから加速度を算出し、その値に応じてフレーム間の全体動き量を算出することも可能である。
【００５５】
以上のように、本実施の形態に係る画像符号化装置によれば、入力画像の状況に応じてピクチャを適応的に間引いて探索範囲を決定するので、処理量を削減しつつ、精度の高い動きベクトルを検出することができる。
【００５６】
（実施の形態３）
上記実施の形態２では、入力画像におけるピクチャの間引き方を可変とした実施例について説明したが、本実施の形態では、さらに、縮小入力画像を複数の領域に分割し、この分割された領域毎に補正動きベクトルを算出する実施例について説明する。
【００５７】
図９は、本実施の形態に係る画像符号化装置３００の機能構成を示すブロック図である。図９に示すように、画像符号化装置３００は、間引き部２０２、画像縮小部１０３、フレームメモリ１０４、領域分割部３１２、領域動きベクトル検出部３０５、補正動きベクトル算出部３０６、探索範囲決定部３０７および符号化部１０８を備える。
【００５８】
なお、本実施の形態においても、上記の実施の形態と同じように、入力画像１０１のフォーマットは６０ｐであることを前提とし、符号化部１０８ではＨ．２６４規格に従って符号化するが、ＭＰＥＧ２規格に従って符号化するときと同じ参照関係で動き補償することを前提とする。また、符号化部１０８で実際に行われるマクロブロック単位の動きベクトル検出は、１つの参照画像に対して１つの矩形領域を探索することを前提とする。さらに、以下では、上記実施の形態２と同じ機能構成については同じ符番を付すこととし、画像符号化装置３００特有の機能について重点的に説明する。
【００５９】
領域分割部３１２は、フレームメモリ１０４に蓄積されている縮小入力画像を複数の領域に分割して、縮小領域画像を生成する。具体的には、領域分割部３１２は、水平２分割、垂直２分割して、縮小入力画像を４分割する（又は、さらに分割することも可能である。）。
【００６０】
領域動きベクトル検出部３０５は、縮小領域画像とフレームメモリ１０４に格納されている複数の縮小画像間の領域動きベクトルを検出する。
【００６１】
補正動きベクトル算出部３０６は、領域動きベクトル検出部３０５で検出された領域動きベクトルを用いて、縮小領域画像毎に１フレーム間の動きベクトルを補正領域動きベクトルとして算出する。縮小領域画像毎に、上記実施の形態２における（５）式〜（９）式を用いて同様の処理を行い、補正領域動きベクトルを算出する。
【００６２】
例えば、図１０に示すように、４つの領域毎に領域動きベクトル「ｐｉｃＭＶ３（ｉ，ｋ）」（ｉ、ｋとも０，１のいずれかの数字）を検出する。検出された領域動きベクトルから領域毎に補正領域動きベクトルを検出する。例えば、「ｐｉｃＭＶ３（１，０）」から「ｃｏｒＭＶ１（１，０）」、「ｃｏｒＭＶ２（１，０）」及び「ｃｏｒＭＶ３（１，０）」の３つの補正領域動きベクトルを算出する。
【００６３】
探索範囲決定部３０７は、縮小領域画像毎に算出した補正領域動きベクトルと符号化条件１０９を用いて探索範囲を決定する。探索範囲のずらし量を求めるために、補正領域動きベクトルの平均、メディアン、大きさと方向によるグルーピングを行ったときの代表値の決定、ベクトルの分散から最も確からしいベクトル値を算出する等々の処理で全体動きベクトルを算出する。また、１つの参照画像内で複数箇所の矩形領域を探索する場合は、その探索箇所毎にずらし量を設定することも可能である。この場合、補正領域動きベクトルを用いて複数の代表動きベクトルを選択(又は算出）し、探索箇所毎のずらし量とする。また、各領域にあるマクロブロックの動きベクトル検出を行う探索範囲は、その領域で算出された補正領域動きベクトルによって決定し、参照画像毎に、かつ領域毎に探索範囲を決定することも可能である。
【００６４】
次に、上記のように構成される画像符号化装置３００の動作について説明する。図１１は、画像符号化装置３００の処理の流れを示すフローチャートである。
【００６５】
最初に、間引き部１０２は、入力画像１０１を取得すると（Ｓ１００）、間引き制御量２１１に基づき、入力画像１０１に対して間引き処理を施す（Ｓ１０２）。これにより、画像縮小部１０３は、間引き後入力画像１０１を用いて縮小画像を生成する（Ｓ１０４）。
【００６６】
次に、領域分割部３１２は、縮小画像を複数の領域に分割する（Ｓ３００）。
【００６７】
この後、領域動きベクトル検出部３０５は、縮小領域画像と、これに対応する縮小画像間の１フレーム間の領域動きベクトルを検出する（Ｓ３０６）。この後、補正動きベクトル算出部３０６は、検出された領域動きベクトルを用いて、縮小領域画像毎に１フレーム間の補正動きベクトルを算出する（Ｓ３０８）。
【００６８】
その後、探索範囲決定部１０７は、算出された補正領域ベクトルに基づいて、参照画像毎に符号化対象の探索範囲を決定する（Ｓ３１０）。
【００６９】
最後に、符号化部１０８は、決定された探索範囲を用いてマクロブロック単位の動きベクトル検出を行い（Ｓ１１２）、符号化処理を行ってストリームを生成する（Ｓ１１４）。
【００７０】
なお、本実施の形態では、動き補償の制約をＭＰＥＧ２規格と同じであることを前提としたが、Ｈ．２６４規格の範囲内で同様の構成を取ることが可能である。例えば、Ｉピクチャを越えて動き補償するときも同様の構成をとることが可能である。また、補正動きベクトルを求めるときに過去に検出された補正動きベクトルから加速度を算出し、その値に応じてフレーム間の全体動き量を算出することも可能である。
【００７１】
また、上記実施の形態１及び２においては、１秒間に６０フレームのピクチャ（６０ｐ）が入力されるプログレッシブ方式の入力画像を想定した実施例について説明したが、６０ｐに限定するものではなく、１秒間に６０フィールドのピクチャ（６０ｉ）が入力するインタレース方式の入力画像であってもよい。この６０ｉの場合は、ファーストフィールド間（或いはセカンドフィールド間）での全体ベクトルを検出し、フィールド間の補正動きベクトル、さらには符号化対象画像と参照画像間の全体ベクトルを算出することとなる。
【００７２】
以上のように、本実施の形態に係る画像符号化装置によれば、入力画像の状況に応じてピクチャを適応的に間引き、さらに、複数の分割された領域毎に動きベクトルを算出して探索範囲を決定するので、処理量を削減しつつ、精度の高い動きベクトルを検出することができる。
【産業上の利用可能性】
【００７３】
本発明の画像符号化装置および画像符号化方法は、画面間予測を用いて画像の圧縮符号化を行う、デジタルＴＶ放送用のビデオレコーダ、及び動画像等の撮影を行うデジタルカメラやカメラ付携帯電話等に利用が可能である。
【図面の簡単な説明】
【００７４】
【図１】実施の形態１に係る画像符号化装置の機能構成を示すブロック図である。
【図２】入力画像に対する間引きと縮小画像の関係の一例を示す図である。
【図３】実施の形態１に係る各動きベクトルの関係の一例を示す図である。
【図４】探索範囲の補正方法の一例を示す図である。
【図５】実施の形態１に係る画像符号化装置の処理の流れを示すフローチャートである。
【図６】実施の形態２に係る画像符号化装置の機能構成を示すブロック図である。
【図７】実施の形態２に係る各動きベクトルの関係の一例を示す図である。
【図８】実施の形態２に係る画像符号化装置の処理の流れを示すフローチャートである。
【図９】実施の形態３に係る画像符号化装置の機能構成を示すブロック図である。
【図１０】実施の形態３に係る各動きベクトルの関係の一例を示す図である。
【図１１】実施の形態３に係る画像符号化装置の処理の流れを示すフローチャートである。
【符号の説明】
【００７５】
１０１            入力画像
１０２、２０２    間引き部
１０３            画像縮小部
１０４            フレームメモリ
１０５            全体動きベクトル検出部
１０６、２０６、３０６  補正動きベクトル算出部
１０７、３０７    探索範囲決定部
１０８            符号化部
１０９            符号化条件
１１０            ストリーム
２１１            間引き制御量
３０５            領域動きベクトル検出部
３１２            領域分割部
【図１】
0004523024.tif 000002
【図２】
0004523024.tif 000003
【図３】
0004523024.tif 000004
【図４】
0004523024.tif 000005
【図５】
0004523024.tif 000006
【図６】
0004523024.tif 000007
【図７】
0004523024.tif 000008
【図８】
0004523024.tif 000009
【図９】
0004523024.tif 000010
【図１０】
0004523024.tif 000011
【図１１】
0004523024.tif 000012