(57)【要約】      （修正有）【課題】動画像の動き検出の処理効率を向上する。【解決手段】局所動きベクトル検出部２０９は、局所動きベクトルを検出する。大域動きベクトル算出部２１２は、局所動きベクトルに基づき、大域動きベクトルを算出する。制御部２１３は、大域動きベクトルの大きさがしきい値より大きい場合、参照画像における符号化対象マクロブロックの位置と同じ位置の周辺に第１の探索範囲を設定するとともに、大域動きベクトルから予測した符号化対象マクロブロックの移動先の位置の周辺に第２の探索範囲を設定するように局所動きベクトル検出部２０９を制御する。【選択図】図１
2010183180.tif 000002
【特許請求の範囲】
【請求項１】
対象ピクチャの単位領域ごとの動きベクトルを検出する第１の検出部と、前記動きベクトルから前記対象ピクチャ内または前記対象ピクチャ内に定義される領域内での大域動きベクトルを検出する第２の検出部と、前記大域動きベクトルの大きさが所定のしきい値より大きい場合、前記動きベクトルを検出する際に参照する参照ピクチャにおいて、前記動きベクトルを検出する対象単位領域の位置と同じ位置の周辺に第１の探索範囲を設定するとともに、前記大域動きベクトルから予測した前記対象単位領域の移動先の位置の周辺に第２の探索範囲を設定するように前記第１の検出部を制御する制御部と、を備えることを特徴とする画像処理装置。
【請求項２】
前記制御部は、前記動きベクトルの大きさが所定のしきい値より小さい場合、前記参照ピクチャにおいて、前記対象単位領域の位置と同じ位置の周辺に第３の探索範囲を設定するように前記第１の検出部を制御することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、前記第３の探索範囲に大きさに基づいて前記しきい値を規定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
動画像を取得する撮像部と、
前記撮像部により取得される動画像を処理する請求項１から３のいずれかに記載の画像処理装置と、
を備えることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化するための画像処理装置およびそれを用いた撮像装置に関する。
【背景技術】
【０００２】
近年、動画を撮影することができるデジタルムービーカメラが普及してきている。デジタルムービーカメラは、年々、高画質化しており、フルＨＤ（High Definiton）画質に対応したものも実用化されている。それに伴い画像圧縮効率の高いＨ．２６４／ＡＶＣ規格で動画像を圧縮符号化するデジタルムービーカメラも実用化されている。
【０００３】
動画像の圧縮符号化および復号では、フレームメモリに動画像のフレームを蓄積し、フレームメモリを参照して、動き補償を行うので、フレームメモリからのデータ転送が頻繁に行われる。特により高画質の動画を生成するために、動き探索を小数画素単位で行うことがあり、動き補償で扱うデータ量が増加する。このため、メモリ帯域幅が処理のボトルネックとなりやすい。
【０００４】
特許文献１には、フレームメモリのバンド幅の使用効率を改善することのできるディジタル画像復号装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２９８９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
動画像の圧縮符号化の際、符号化対象画像フレームの対象マクロブロックの動き検出をするために、参照画像の所定の探索範囲内の画素領域をフレームメモリから読み出し、その画素領域内で対象マクロブロックとマッチングするマクロブロックを探索する。このとき、対象マクロブロックの動きをあらかじめ予測し、参照画像において、対象マクロブロックが存在するだろうと予測された位置を含めるように探索範囲を設定すると、効率良く動き検出を行うことができる。しかしながら、予測した動きが大きい場合は、大きな探索範囲を設定しなければならず、フレームメモリからの読み出し回数が多くなり、データ転送量も増え、フレームメモリの転送帯域幅を圧迫する。このため、フレームメモリへのアクセスがボトルネックとなって、圧縮符号化の処理速度が低下するという問題が生じる。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、フレームメモリへのアクセスを減らして、符号化の処理効率を高めることのできる画像処理装置およびそれを搭載した撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のある態様は、画像処理装置である。この画像処理装置は、対象ピクチャの単位領域ごとの動きベクトルを検出する第１の検出部と、前記動きベクトルから前記対象ピクチャ内または前記対象ピクチャ内に定義される領域内での大域動きベクトルを検出する第２の検出部と、前記大域動きベクトルの大きさが所定のしきい値より大きい場合、前記動きベクトルを検出する際に参照する参照ピクチャにおいて、前記動きベクトルを検出する対象単位領域の位置と同じ位置の周辺に第１の探索範囲を設定するとともに、前記大域動きベクトルから予測した前記対象単位領域の移動先の位置の周辺に第２の探索範囲を設定するように前記第１の検出部を制御する制御部と、を備えることを特徴とする画像処理装置である。
【０００９】
また、前記制御部は、前記動きベクトルの大きさが所定のしきい値より小さい場合、前記参照ピクチャにおいて、前記対象単位領域の位置と同じ位置の周辺に第３の探索範囲を設定するように前記第１の検出部を制御することが好ましい。
【００１０】
また、前記制御部は、前記第３の探索範囲に大きさに基づいて前記しきい値を規定することが好ましい。
【発明の効果】
【００１１】
本発明よれば、動画像の動き検出の処理効率を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態における撮像装置１の構成を示す概念図
【図２】大域動きベクトルがしきい値より小さい場合に設定された探索範囲の一例
【図３】大域動きベクトルがしきい値より大きい場合に設定された探索範囲の一例
【図４】大域動きベクトルにより探索範囲を決定するフローチャート
【発明を実施するための形態】
【００１３】
本発明を具体的に説明する前に概要について述べる。本発明の実施の形態に係る画像処理装置は、Ｈ．２６４／ＡＶＣ規格に準拠した圧縮符号化を行う。
【００１４】
Ｈ．２６４／ＡＶＣ規格では、画面内予測符号化を行う画像フレームをＩ（Ｉｎｔｒａ）フレーム、過去のフレームを参照画像として順方向の画面間予測符号化を行う画像フレームをＰ(Ｐｒｅｄｉｃｔｉｖｅ）フレーム、時間の前後を問わず、また参照画像として利用できるフレームの枚数も問わず画面間予測符号化を行う画像フレームをＢ（Ｂｉ−ｐｒｅｄｉｃｔｉｖｅ）フレームという。
【００１５】
ここで、本願明細書では、フレームとピクチャとは同じ意味で用いており、Ｉフレーム、Ｐフレーム、Ｂフレームは、それぞれＩピクチャ、Ｐピクチャ、Ｂピクチャともいう。また、本願明細書では、フレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。
【００１６】
画面間予測符号化する場合、符号化対象画像フレームの対象マクロブロックの動きを検出するために参照する参照画像に所定の探索範囲を設定し、その探索範囲内で対象マクロブロックとマッチングするマクロブロックを探索する。探索範囲は、参照画像における対象マクロブロックの位置と同じ位置の周辺に設定するのが一般的である。対象マクロブロックの動きをある程度予測できる場合は、参照画像において対象マクロブロックの予測移動先の位置の周辺でマッチングが取れる確率が高いので、対象マクロブロックの予測移動先の位置まで含まれるように探索範囲を設定すると効率良く動き検出を行える。
【００１７】
このとき、対象マクロブロックが激しく動くと予測される場合は、探索範囲を大きくする必要があるが、大きな探索範囲を設定すると、フレームメモリへのアクセスがボトルネックとなって、圧縮符号化の処理速度が低下する。
【００１８】
そこで、本発明の実施の形態に係る画像処理装置は、対象マクロブロックごとの動きベクトルを検出し、対象マクロブロックが含まれる大域領域全体の動きを表す大域動きベクトルを算出し、大域動きベクトルが所定のしきい値より大きい場合、参照画像における対象マクロブロックの位置と同じ位置の周辺に探索範囲（以下適宜、第１の探索範囲という）を設定するとともに、第１の探索範囲とは別に、参照画像において、大域動きベクトルから予測した対象マクロブロックの移動先の位置の周辺に探索範囲（以下適宜、第２の探索範囲という）を設定する。
【００１９】
これにより、大きな探索範囲を設定しなくても、参照画像における対象マクロブロックの位置と同じ位置の周辺と、対象マクロブロックの予測移動先の位置の周辺とを探索範囲に含めることができるので、高速かつ高精度に動きベクトルを検出することができる。
【００２０】
図１は、本発明の実施の形態における撮像装置１の構成を示す概念図である。撮像装置１は撮像部１０および画像処理装置２０を含む。
【００２１】
撮像部１０は、動画像を取得し画像処理装置２０に供給する。撮像部１０は、ＣＣＤ（Charge Coupled Devices）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどの固体撮像素子、固体撮像素子からアナログの三原色信号をデジタルの輝度信号および色差信号に変更する信号処理部を含む。
【００２２】
画像処理装置２０は、撮像部１０から取得した動画像を、例えば、Ｈ．２６４／ＡＶＣ規格に従い圧縮符号化して符号化ストリームを生成し、図示しない記録部（例えば、ＨＤＤ（Hard Disk Drive）、光ディスク、フラッシュメモリなど）に出力する。
【００２３】
画像処理装置２０は、差分部２０１、直交変換部２０２、量子化部２０３、可変長符号化部２０４、出力バッファ２０５、逆量子化部２０６、逆直交変換部２０７、加算部２０８、局所動きベクトル検出部２０９、動き補償部２１０、フレームメモリ２１１、大域動きベクトル算出部２１２および制御部２１３を含む。
【００２４】
差分部２０１は、撮像部２０１から入力された画像フレームがＩフレームであれば、そのまま直交変換部２０２に出力する。ＰフレームまたはＢフレームであれば、動き補償部２１０から入力された予測画像との差分を計算して直交変換部２０２に出力する。
【００２５】
直交変換部２０２は、差分部２０１から入力された差分画像を離散コサイン変換（ＤＣＴ）し、ＤＣＴ係数を量子化部２０３に出力する。
【００２６】
量子化部２０３は、直交変換部２０２から入力されたＤＣＴ係数を、所定の量子化テーブルを参照して量子化し、可変長符号化部２０４に出力する。量子化テーブルは、各ＤＣＴ係数を除算すべき量子化スケールを規定したものである。量子化テーブルは、ＤＣＴ係数のうち低周波成分に対応する量子化スケールを小さく、高周波成分に対応する量子化スケールを大きく設定する。これにより、高周波成分ほど省略を大きくする。また、量子化部２０３は、量子化ＤＣＴ係数を逆量子化部２０６にも出力する。
【００２７】
可変長符号化部２０４は、量子化部２０３から入力された量子化ＤＣＴ係数、動きベクトル検出部２０９で検出された動きベクトル、およびその他のパラメータなどをエントロピー符号化して出力バッファ２０５に出力する。
【００２８】
出力バッファ２０５は、可変長符号化部２０４から入力された符号化ストリームを一時記憶し、所定のタイミングで図示しない記録部に出力するか、あるいは、ネットワークに送出する。
【００２９】
逆量子化部２０６は、量子化部２０３から入力された量子化ＤＣＴ係数を逆量子化して逆直交変換部２０７に出力する。
【００３０】
逆直交変換部２０７は、逆量子化部２０６から入力された逆量子化ＤＣＴ係数を逆離散コサイン変換して画像フレームを復元する。
【００３１】
加算部２０８は、逆直交変換部２０７から入力された画像フレームがＩフレームであれば、そのままフレームメモリ２１１に格納する。ＰフレームまたはＢフレームであれば、それは差分画像であるため、逆直交変換部２０７から入力された差分画像と動き補償部２１０から入力された予測画像とを加算して、元の画像フレームを再構成し、フレームメモリ２１１に格納する。
【００３２】
局所動きベクトル検出部２０９は、ブロックマッチングによりマクロブロック単位の動きベクトル（以下適宜、局所動きベクトルという）を検出する。このため、局所動きベクトル検出部２０９は、対象マクロブロックに対して誤差の最も小さい参照画像のマクロブロック（以下適宜、予測マクロブロックという）を探索する。このとき、局所動きベクトル検出部２０９は、フレームメモリ２１１に保持された参照画像の所定の探索範囲内の画素データを、図示しないキャッシュメモリに格納し、キャッシュメモリに格納した画像データを参照にしながら、ブロックマッチングを行う。
【００３３】
局所動きベクトル検出部２０９は、ブロックマッチングの一例として、対象マクロブロックと、予測マクロブロックの候補となるマクロブロックとの間で、画素データの差分絶対値の総和を算出し、その値が最小となるマクロブロックを予測マクロブロックとする。対象マクロブロックの位置から、検出された予測マクロブロックの位置への動きを示すベクトルが、その対象マクロブロックの局所動きベクトルである。局所動きベクトル検出部２０９は、検出した局所動きベクトルを可変長符号化部２０４、動き補償部２１０および大域動きベクトル算出部２１２に出力する。
【００３４】
動き補償部２１０は、局所動きベクトル検出部２０９から入力された局所動きベクトルを用いてＰフレームまたはＢフレームのマクロブロック毎に動き補償を行い、予測画像を生成し、差分部２０１と加算部２０８に出力する。
【００３５】
大域動きベクトル算出部２１２は、符号化対象画像フレームの画面全体または符号化対象画像フレームの特定領域を大域領域とし、大域領域内の大域的な動きを示すベクトル（以下適宜、大域動きベクトルという）を求める。大域動きベクトルは、大域領域全体の動きを表すベクトルである。
【００３６】
特定領域は、例えば、符号化対象画像フレームの中央付近などあらかじめ定められた領域であってもよく、ユーザが設定した符号化対象画像フレームの任意の領域であってもよい。符号化対象画像フレームに人物等のオブジェクトが写っている場合は、そのオブジェクトが写っている領域であってもよく、動きがある程度共通するマクロブロックが占める領域であってもよい。
【００３７】
大域動きベクトル算出部２１２は、局所動きベクトル検出部２０９から入力される局所動きベクトルに基づき、大域領域の大域動きベクトルを算出する。例えば、大域動きベクトル算出部２１２は、大域領域内の局所動きベクトルの平均を求め、大域動きベクトルとする。また、前回算出した大域動きベクトルに対して、大域領域内のマクロブロックごとに局所動きベクトルとの差分を求め、その差分値に応じて前回算出した大域動きベクトルを補正するようにしてもよい。大域動きベクトル算出部２１２は、算出した大域動きベクトルを制御部２１３に出力する。
【００３８】
制御部２１３は、画像処理装置全体の制御を行う。また、制御部２１３は、大域動きベクトル算出部２１２から入力された大域動きベクトルに基づき、局所動きベクトルを検出するための探索範囲を参照画像に設定する。
【００３９】
大域動きベクトルは、大域領域全体の動きを表す動きベクトルであることから、大域動きベクトルの大きさが小さい場合は、大域領域に含まれるマクロブロックの動きもあまり激しくないと予測される。マクロブロックの動きがあまり激しくなければ、対象マクロブロックを中心とする狭い範囲でマッチングが取れる確率も高くなる。そこで、制御部２１３は、大域動きベクトルの大きさが所定のしきい値より小さい場合、参照画像における対象マクロブロックの位置と同じ位置の周辺に探索範囲（以下適宜、第３の探索範囲という）を設定する。
【００４０】
図２に、大域動きベクトルが所定のしきい値より小さい場合に参照画像に設定された探索範囲の一例を示す。参照画像において、符号化対象画像フレームの対象マクロブロックの位置と同じ位置のマクロブロックを、図中、斜線模様を付したマクロブロック３０で示す。また、第３の探索範囲３２をマクロブロック３０を取り囲む一点鎖線の正方形の領域で示す。ここでは、一例として第３の探索範囲３２を縦６マクロブロック×横６マクロブロックの正方形としている。
【００４１】
大域動きベクトルの大きさが大きく場合は、大域領域に含まれるマクロブロックは大きく動きと予想される。対象マクロブロックの動きベクトルと大域動きベクトルとの相関性が強い場合は、参照画像における対象マクロブロックの位置と同じ位置から、大域動きベクトルだけ離れた位置を中心とする範囲でマッチングが取れる確率が高くなる。
【００４２】
このとき、大域動きベクトルの大きさに応じて、対象マクロブロックを中心として大きな探索範囲を設定すれば、探索範囲内でのマッチングの確率を高めることができるが、フレームメモリ２１１から局所動きベクトル検出部２０９への画像データを転送する際の転送負荷が重くなる。
【００４３】
そこで制御部２１３は、参照画像における対象マクロブロックの位置と同じ位置の周辺に探索範囲（第１の探索範囲）を設定するとともに、第１の探索範囲とは別に、参照画像において大域動きベクトルから予測した対象マクロブロックの移動先の位置の周辺に探索範囲（第２の探索範囲）を設定する。
【００４４】
図３に、大域動きベクトルが所定のしきい値より大きい場合に参照画像に設定された探索範囲の一例を示す。参照画像において、符号化対象画像フレームの対象マクロブロックの位置と同じ位置のマクロブロックを、図中、斜線模様を付したマクロブロック３４で示す。また、参照画像において、大域動きベクトルから予測した対象マクロブロックの移動先の位置のマクロブロックを、格子模様を付したマクロブロック３８で示す。
【００４５】
図３では、大域動きベクトルの大きさを１０マクロブロック分相当、向きを左水平方向としており、マクロブロック３８は、マクロブロック３４の座標位置に、大域動きベクトルをベクトル的に加算したところに位置している。すなわち、参照画像における対象マクロブロックの移動先の位置は、参照画像における対象マクロブロックの位置と同じ位置を起点として、大域動きベクトルをベクトル的に加算することで予測する。
【００４６】
また、図３において、第１の探索範囲３６をマクロブロック３４を取り囲む一点鎖線の長方形の領域で示し、第２の探索範囲４０をマクロブロック３８を取り囲む一点鎖線の長方形の領域で示す。
【００４７】
図３では、第１および２の探索範囲を、縦３マクロブロック×横６マクロブロックの長方形としている。つまり、図３では、図２における第３の探索範囲を上下に２分割して、一方を第１の探索範囲とし、他方を第２の探索範囲として設定している。このため、第１および２の探索範囲内の画像データを転送する際の転送負荷は、第３の探索範囲内の画像データを転送する際の転送負荷と同等になる。ゆえに、大域動きベクトルの大きさが大きい場合に、大域動きベクトルから予測した対象マクロブロックの移動先の位置の周辺を探索範囲に含めても、画像データ転送量の増加を抑制できる。
【００４８】
また、第２の探索範囲は、参照画像において大域動きベクトルから予測した対象マクロブロックの移動先の位置の周辺に設定されるため、大域動きベクトルとの相関性が強い場合、第２の探索範囲内でマッチングする確率が高く、局所動きベクトルの検索効率が向上する。
【００４９】
さらに、予測精度が悪く第２の探索範囲内でのミスマッチングした場合であっても、第１の探索範囲は、参照画像における対象マクロブロックの位置と同じ位置の周辺に設定されるため、第１の探索範囲内でマッチングできる可能性があり、大域動きベクトルとの相関性が弱い場合であっても、局所動きベクトルの検出精度の劣化を防止できる。
【００５０】
以上の説明では、第３の探索範囲を上下に２分割して、一方を第１の探索範囲とし、他方を第２の探索範囲としたが、第１の探索範囲の大きさと第２の探索範囲の大きさが異なるように第３の探索範囲を分割してよい。また、第１の探索範囲の大きさと第２の探索範囲の大きさを合計した値が、第３の探索範囲の大きさより小さくなるようにしてもよい。
【００５１】
図４は、大域動きベクトルの大きさに基づいた探索範囲の設定方法の手順を示すフローチャートである。大域動きベクトル算出部２１２は、時点Tnで符号化対象とされた画像フレームFnについて、検出された局所動きベクトルLMnを局所動きベクトル検出部２０９から受け取る。大域動きベクトル算出部２１２は、受け取った局所動きベクトルLMnに基づき、時点Tn+1で符号化対象となる画像フレームFn+1の参照画像に探索範囲を設定するために、大域動きベクトルGMn+1を算出し、制御部２１３に供給する（S10）。
【００５２】
時点Tn+1で画像フレームFn+1が符号化対象の画像フレームとなると、制御部２１３は大域動きベクトルGMn+1を大域動きベクトルのしきい値と比較する（S12）。ここで、大域動きベクトルのしきい値は、シミュレーションや実験によりあらかじめ所定の値を規定しておくことができる。大域動きベクトルのしきい値を、第３の探索範囲の大きさに基づいて規定した場合は、大域動きベクトルから予測した対象マクロブロックの移動先の位置が、第３の探索範囲から外れた場合に、後述する探索範囲の適応設定を実行でき、画像データ転送量の増加を抑制できる。
【００５３】
制御部２１３は、大域動きベクトルGMn+1の大きさが、しきい値より小さい場合（S12のN）、参照画像に第３の探索範囲を設定する（S14）。大域動きベクトルGMn+1の大きさが、しきい値より大きい場合（S12のN）、参照画像に第１の探索範囲と第２の探索範囲を設定する（S16）。
【００５４】
局所動きベクトル検出部２０９は、制御部２１３により設定された探索範囲内の画像データをキャッシュメモリに転送し、画像フレームFn+1について、局所動きベクトルLMn+1を検出する。局所動きベクトル検出部２０９は、検出した局所動きベクトルLMn+1を大域動きベクトル算出部２１２に供給する。大域動きベクトル算出部２１２は、受け取った局所動きベクトルLMn+1に基づき、時点Tn+2で参照する大域動きベクトルGMn+2を算出する。以下、これまで説明した処理を繰り返しながら、探索範囲の適応設定を行う。
【００５５】
このような本発明の実施の形態によれば、局所動きベクトルに基づき大域動きベクトルを算出し、大域動きベクトルの大きさがしきい値より大きい場合、参照画像に第１の探索範囲と第２の探索範囲を設定するので、動きベクトルを検出する際に参照する画像データの転送量の増加を抑制できる。また、第２の探索範囲を設定するので、動きベクトルを効率良く検出することができる。さらに、第１の探索範囲を設定するので、動きベクトルを精度良く検出することができる。よって、符号化効率を高めることができる。
【００５６】
以上、本発明を実施するための形態について説明をしてきたが、本発明は、この実施の形態の構成に限定されるものではなく、特許請求の範囲に規定された本発明の適用範囲にあり、上述した実施の形態の構成が備える機能を達成可能であれば、いろいろな変形が可能である。
【００５７】
例えば、本発明の実施の形態において画像処理装置２０は、Ｈ．２６４／ＡＶＣ規格に従い圧縮符号化するとしたが、 ＭＰＥＧ−２、またはＭＰＥＧ−４などの規格にしたがい圧縮符号化してもよい。
【符号の説明】
【００５８】
２０１  差分部、２０２  直交変換部、２０３  量子化部、２０４  可変長符号化部、２０５  出力バッファ、２０６  逆量子化部、２０７  逆直交変換部、２０８  加算部、２０９  局所動きベクトル検出部、２１０  動き補償部、２１１  フレームバッファ、２１２  大域動きベクトル算出部、２１３  制御部。
【図１】
2010183180.tif 000003
【図２】
2010183180.tif 000004
【図３】
2010183180.tif 000005
【図４】
2010183180.tif 000006