(57)【要約】【課題】  手ぶれ補正を効率的かつ適切に行うことのできる動画データ生成装置、動画データ生成方法の提供を目的とする。【解決手段】    入力画像に基づいて符号化された動画データを生成する動画データ生成装置であって、前記入力画像における動きベクトルを算出する動きベクトル算出手段と、前記動きベクトル算出手段により算出された前記動きベクトルに基づいて、前記入力画像の画像領域において手ぶれベクトルの算出に用いる手ぶれベクトル生成領域を判定する手ぶれベクトル生成領域判定手段と、前記手ぶれベクトル生成領域における前記動きベクトルに基づいて、前記手ぶれベクトルを算出する手ぶれベクトル算出手段とを有し、前記手ぶれベクトルに基づいて手ぶれ補正を行うことにより前記動画データを生成することにより上記課題を解決する。【選択図】  図１
2006129375.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に基づいて符号化された動画データを生成する動画データ生成装置であって、
前記入力画像における動きベクトルを算出する動きベクトル算出手段と、
前記動きベクトル算出手段により算出された前記動きベクトルに基づいて、前記入力画像の画像領域において手ぶれベクトルの算出に用いる手ぶれベクトル生成領域を判定する手ぶれベクトル生成領域判定手段と、
前記手ぶれベクトル生成領域における前記動きベクトルに基づいて、前記手ぶれベクトルを算出する手ぶれベクトル算出手段とを有し、
前記手ぶれベクトルに基づいて手ぶれ補正を行うことにより前記動画データを生成することを特徴とする動画データ生成装置。
【請求項２】
前記手ぶれベクトル生成領域判定手段は、前記入力画像の画像領域を複数の単位領域に分割した場合における各単位領域のうち、所定時間の間前記手ぶれベクトルの検出が不可能な範囲が所定の割合以上の前記単位領域以外の単位領域を前記手ぶれベクトル生成領域と判定することを特徴とする請求項１記載の動画データ生成装置。
【請求項３】
前記手ぶれベクトル生成領域判定手段は、前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合は、前記画像領域の全領域を前記手ぶれベクトル生成領域とすることを特徴とする請求項１又は２記載の動画データ生成装置。
【請求項４】
前記手ぶれベクトル生成領域判定手段は、前記手ぶれベクトル生成領域を構成する記単位領域の数が所定時間の間所定の値より小さい場合は、前記画像領域の全領域を前記手ぶれベクトル生成領域とすることを特徴とする請求項３記載の動画データ生成装置。
【請求項５】
前記入力画像を撮影する少なくとも二つの撮像手段を有し、
前記手ぶれベクトル算出手段は、前記少なくとも二つの撮像手段のうちのいずれか一つの前記撮像手段からの前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする請求項１乃至４いずれか一項記載の動画データ生成装置。
【請求項６】
前記手ぶれベクトル算出手段は、いずれか一つの前記撮像手段からの前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合は、他の前記撮像手段からの前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする請求項５記載の動画データ生成装置。
【請求項７】
前記手ぶれベクトル算出手段は、いずれか一つの前記撮像手段からの前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合であって、かつ、他の前記撮像手段からの前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値以上である場合は、前記他の前記撮像手段からの前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする請求項６記載の動画データ生成装置。
【請求項８】
前記動きベクトル算出手段は、前記手ぶれベクトル生成領域判定手段によって判定された前記手ぶれベクトル生成領域における前記動きベクトルを算出することを特徴とする請求項１乃至７いずれか一項記載の動画データ生成装置。
【請求項９】
前記動きベクトル算出手段は、符号化されていない情報に基づいて前記動きベクトルを生成することを特徴とする請求項１乃至８いずれか一項記載の動画データ生成装置。
【請求項１０】
入力画像に基づいて符号化された動画データを生成する動画データ生成装置における動画データ生成方法であって、
前記入力画像における動きベクトルを算出する動きベクトル算出手順と、
前記動きベクトル算出手順において算出された前記動きベクトルに基づいて、前記入力画像の画像領域において手ぶれベクトルの算出に用いる手ぶれベクトル生成領域を判定する手ぶれベクトル生成領域判定手順と、
前記手ぶれベクトル生成領域における前記動きベクトルに基づいて、前記手ぶれベクトルを算出する手ぶれベクトル算出手順と、
前記手ぶれベクトルに基づいて手ぶれ補正を行うことにより前記動画データを生成する動画データ生成手順とを有することを特徴とする動画データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画データ生成装置及び動画データ生成方法に関し、特に入力画像に基づいて符号化された動画データを生成する動画データ生成装置及び動画データ生成方法に関する。
【背景技術】
【０００２】
従来、デジタルカメラ等の撮影装置によって撮影された画像における手ぶれの検出には、ジャイロ等を利用した加速度センサを使用する方法がある。しかしながら、撮影装置の小型化・低価格化の要求に応えるには、独立した装置の搭載は不利となる。かかる問題に対処するため、例えば、動画処理用ＬＳＩの内部で手ぶれを検出する方法として、時間的に連続する画像の差分から手ぶれの成分を検出する方法がある（例えば、特許文献１）。また、現在、記憶容量の削減のために動き補償を用いた動画符号化（例えば、ＭＰＥＧ（Moving Picture Experts Group）等）が一般的であるが、その符号化の際に計算されるマクロブロック毎の動きベクトルの時間的な遷移に基づいて手ぶれ成分を検出することもできる（例えば、特許文献２）。
【特許文献１】特開平５−７５９１３号公報
【特許文献２】特開平１１−９８５０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、後方参照を行う符号化の場合、圧縮順序が入力動画のフレーム順にはならず、動きベクトル生成が遅れるので、リアルタイム補正用の手ぶれ成分の生成には使えないという問題がある。また、動き補償を用いた符号化では、実際の動きとは違うベクトルを生成することがあり、特に動画符号化で生成される動きベクトルは、圧縮率を上げると品質が落ちるという問題がある。また、入力画像によって、手ぶれベクトルに生成に適さないものがある。例えば、ぶれに対する画像差が少ない被写体(無地の壁等)の場合、ぶれによる動きベクトルが生成されないことがある。この場合、手ぶれがあるにもかかわらず手ぶれ成分を生成するのは困難となる。更に、パンニングやチルティングが行われた場合のように、広範囲で手ぶれに似た動きがある場合は、手ぶれ発生時に似た動きベクトルが生成されることがあり、手ぶれの発生がないのに手ぶれ成分が生成されてしまうことがある。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、手ぶれ補正を効率的かつ適切に行うことのできる動画データ生成装置、動画データ生成方法の提供を目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、本発明は、入力画像に基づいて符号化された動画データを生成する動画データ生成装置であって、前記入力画像における動きベクトルを算出する動きベクトル算出手段と、前記動きベクトル算出手段により算出された前記動きベクトルに基づいて、前記入力画像の画像領域において手ぶれベクトルの算出に用いる手ぶれベクトル生成領域を判定する手ぶれベクトル生成領域判定手段と、前記手ぶれベクトル生成領域における前記動きベクトルに基づいて、前記手ぶれベクトルを算出する手ぶれベクトル算出手段とを有し、前記手ぶれベクトルに基づいて手ぶれ補正を行うことにより前記動画データを生成することを特徴とする。
【０００６】
このような動画データ生成装置では、手ぶれベクトル生成領域判定手段によって判定された手ぶれベクトル生成領域おける動きベクトルに基づいて手ぶれベクトルを算出するため、効率的に手ぶれ補正を行うことができる。
【０００７】
なお、例えば、動きベクトル算出手段は、符号化部１０７に、手ぶれベクトル生成領域判定手段は、生成領域計算部４０３に、手ぶれベクトル算出手段は、手ぶれベクトル生成部４０１にそれぞれ相当する。
【０００８】
また、上記課題を解決するため、本発明は、上記動画データ生成装置における動画データ生成方法としてもよい。
【発明の効果】
【０００９】
本発明によれば、手ぶれ補正を効率的かつ適切に行うことのできる動画データ生成装置、動画データ生成方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第一の実施の形態におけるデジタルカメラの機能構成例を示す図である。図１において、デジタルカメラ１０は、撮像素子部１０１、メモリ１０２、入力切替制御部１０３、選択部１０４、補正用データ切り出し部１０５、動画生成用データ切り出し部１０６、符号化部１０７、パラメータ設定部１０８、及び手ぶれ計算部１０９等より構成される。
【００１１】
撮像素子部１０１から入力された画像は画像データとしてデジタル化され、メモリ１０２に格納される。動画生成用データ切り出し部１０６は、画像データの中から動画の生成に用いる領域に係るデータ（以下「動画生成用データ」という。）を切り出す。この際、動画生成用データ切り出し部１０６は、手ぶれ計算部１０９によって算出される手ぶれを示すベクトル（以下「手ぶれベクトル」という。）に基づいて、手ぶれが補正されるよう（すなわち、手ぶれの分だけ画像をずらして）動画生成用データを切り出す。
【００１２】
補正用データ切り出し部１０５は、画像データの中から手ぶれベクトルの生成に利用する領域（以下「手ぶれベクトル生成領域」という。）に係るデータ（以下「手ぶれ補正用データ」という。）を切り出す。手ぶれベクトル生成領域は、手ぶれ計算部１０９によって算出される。すなわち、画像の中には動きの激しい領域（例えば、動いている被写体に係る領域）とほぼ静止状態の領域（例えば、背景に係る領域）とが混在している場合が多い。このような場合、動きの激しい領域よりも静止状態の領域の方が手ぶれの検出が容易とされている。したがって、手ぶれ計算部１０９は、符合化部１０７より出力される動きベクトルに基づいて比較的動きの少ない領域を検出し、当該領域を手ぶれベクトル生成領域とする。
【００１３】
なお、補正用データ切り出し部１０５による読み出しと、動画生成用データ切り出し部１０６による読み出しとは、入力切替制御部１０３によって制御される選択部１０４によって時間的に選択される。
【００１４】
補正用データ切り出し部１０５によって切り出された手ぶれ補正用データ、及び動画生成用データ切り出し部１０６によって切り出された動画生成用データは、符号化部１０７に出力される。符号化部１０７は、入力されたデータが手ぶれ補正用データである場合は、パラメータ設定部１０８より与えられる手ぶれ補正用の各種パラメータを用いて手ぶれ補正用データにおける動きベクトル（以下「補正用動きベクトル」という。）を検出し、検出された補正用動きベクトルを手ぶれ計算部１０９に出力する。一方、入力されたデータが動画生成用データである場合は、符号化部１０７は、パラメータ設定部１０８より与えられる動画生成用の各種パラメータを用いて動画生成用データを、例えば、ＭＰＥＧ（Moving Picture Experts Group）形式に符号化し、その符号化データを出力すると共に、動画生成用データにおける動きベクトル（以下「動画用動きベクトル」という。）を検出し、検出された動画用動きベクトルを手ぶれ計算部１０９に出力する。
【００１５】
手ぶれ計算部１０９は、符号化部１０７より出力された、補正用動きベクトルに基づいて手ぶれベクトルを算出すると共に、画像領域中における手ぶれベクトル生成領域を判定する。手ぶれベクトルは、動画生成用データ切り出し部１０６に出力され、動画生成用データ切り出し部１０６において、画像データからの動画生成用データの切り出しに用いられる。手ぶれベクトル生成領域を示す情報（手ぶれベクトル生成領域情報）は、補正用データ切り出し部１０５に出力され、補正用データ切り出し部１０５において補正用データの切り出しに用いられる。
【００１６】
なお、符号化部１０７及び手ぶれ計算部１０９は、入力切替制御部１０３からの信号によって、入力された情報が手ぶれ補正用データに係るものであるのか動画用生成データに係るものであるのかを判断する。
【００１７】
図２は、動画生成用データを処理する際の符号化部の機能構成例を示す図である。図２に示されるように、動画生成用データを処理する際は、符号化部１０７において、動きベクトル検出部２０１、ＤＣＴ（Discrete Cosine Transform ）部２０２、量子化部２０３、レート制御部２２０、逆量子化部２０４、逆ＤＣＴ部２０５、フレームメモリ２０６、動き補償部２０７、ＶＬＣ（Variable Length Coding）部２０８、及びバッファ部２０９、減算器２１０等が機能することにより、一般的なＭＰＥＧ符号化処理と同様の処理が実行される。
【００１８】
減算器２１０は、入力データとしての動画用生成データの現在の画像と予測画像との差分画像を生成する。ＤＣＴ部２０２は、差分画像における８×８画像の各マクロブロックに対して離散コサイン変換を施すことによりＤＣＴ係数を生成する。量子化部２０３は、ＤＣＴ係数を量子化スケールと呼ばれる値で除算することによりＤＣＴ係数の精度を粗くし、量子化ＤＣＴ係数を生成する。ＶＬＣ部２０８は、量子化ＤＣＴ係数を符号化し、動きベクトル検出部２０１より出力される動きベクトルと共に符号化データ（動画）をバッファ２０９に出力する。レート制御部２０９は、ＶＬＣ部２０８において発生した符合量を目標とする符号量と比較し、その結果に基づいて量子化部２０３に対して指示を与える。
【００１９】
逆量子化部２０４及び逆ＤＣＴ部２０５は、量子化部２０３及びＤＣＴ部２０２における処理の逆変換を行うことにより、次フレームの動き差分検出処理用の復号画像を生成し、生成された復元画像をフレームメモリ２０６に蓄積する。動き補償部２０７は、フレームメモリ２０６から前フレームの８×８画像データを読み出し、動きベクトル検出部２０１より出力される動きベクトルを読み出された８×８画像データに足しこむことにより現フレームの復号画像を再生し、当該復号画像をフレームメモリ２０６に蓄積する。動きベクトル検出部２０１は、現フレームと前フレームとの予測される差分及び動きベクトルをマクロブロック単位で生成する（前方参照）。
【００２０】
図３は、手ぶれ補正用データを処理する際の符号化部の機能構成例を示す図である。図３に示されるように、手ぶれ補正用データを処理する際は、符号化部１０７において、動きベクトル検出部３０１及びフレームメモリ３０６等が機能する。動きベクトル検出部３０１は、入力データとしての手ぶれ補正用データの現フレームと前フレームとの予測される動きベクトルを生成する。この際、動きベクトル検出部３０１は、手ぶれ計算部１０９より出力された手ぶれベクトル生成領域情報において指定された領域について動きベクトルを生成する。したがって、全領域に渡って動きベクトルが生成される場合に比べて処理が高速化される。入力データは、また、次フレームの動きベクトルの生成のためにフレームメモリ３０７に格納される。
【００２１】
このように、手ぶれ補正用データを処理する際は、量子化等の符号化のための処理が行われない。したがって、量子化等が行われることによる画質の劣化が発生せず、動画生成用データを処理する際に比べて精度の高い動きベクトルが生成される。なお、フレームメモリ３０６は、動画生成用データを処理する際に利用されるフレームメモリ２０６と共用させてもよいし、別個のものを設けてもよい。
【００２２】
図４は、手ぶれ計算部の機能構成例を示す図である。図４に示されるように、手ぶれ計算部１０９は、手ぶれベクトル生成部４０１、メモリ４０２、及び生成領域計算部４０３等より構成される。
【００２３】
メモリ４０２には、符号化部１０７より出力される動画生成用データの過去のフレームにおける動画用動きベクトルや補正用データの過去のフレームにおける補正用動きベクトルが蓄積される。蓄積されるフレーム数はパラメータに基づいて定められる。生成領域計算部４０３は、補正用手ぶれベクトル又は動画用動きベクトルに基づいて、手ぶれベクトル生成領域を判定し、判定された手ぶれベクトル生成領域を示す情報（手ぶれベクトル生成領域情報）を補正用データ切り出し部１０５と手ぶれベクトル生成部４０１とに出力する。
【００２４】
手ぶれベクトル生成部４０１は、生成領域計算部４０３より出力された手ぶれベクトル生成領域について、メモリ４０２における過去のフレームの補正用動きベクトルと符号化部１０７より新たに出力された補正用動きベクトルとに基づいて手ぶれベクトルを算出し、算出された手ぶれベクトルを動画生成用データ切り出し部１０６に出力する。算出された手ぶれベクトルは、また、メモリ４０２に格納される。
【００２５】
生成領域計算部４０３における手ぶれベクトル生成領域の算出処理の一例について図５及び図６を用いて説明する。図５は、生成領域計算部における手ぶれベクトル生成領域の判定処理を説明するための第一のフローチャート図である。図６は、手ぶれベクトル生成領域の判定処理を説明するための第二の概念図である。
【００２６】
図５の処理は、図６（ａ）に示されるように画像領域を複数の単位領域に分割した場合の各単位領域について行われるものである。ここで、単位領域とは、ＭＰＥＧにおけるマクロブロックとは異なる概念であり、複数のマクロブロックを含む領域である。なお、初期状態においては、全ての単位領域が手ぶれベクトル生成領域とされている。
【００２７】
ステップＳ１０１において、手ぶれの検出に適さないマクロブロック（すなわち、動きが激しい領域に係るマクロブロック、以下「非検出ブロック」という。）の個数が当該単位領域において所定の閾値（ここでは「ｐ％」とする。）以上であるか否かが判定される。非検出ブロックがｐ％以上である単位領域については（Ｓ１０１でＹｅｓ）、更に、その状態が所定の時間（ここではｔ秒間とする。）継続しているか否かが判定され（Ｓ１０２）、ｔ秒間継続している場合（Ｓ１０２でＮｏ）は、当該単位領域は、手ぶれベクトルの生成には利用しない領域（以下「非生成領域」という。）を構成する単位領域とされる。このような処理が全ての単位領域に対して行われることにより、例えば、図６（ｂ）において斜線が引かれた領域は非生成領域とされ、それ以外の領域が手ぶれベクトル生成領域として判定される。
【００２８】
なお、図６（ｂ）に示されるように判定された手ぶれベクトル生成領域は、図５に示される処理が継続されることにより、例えば、図７に示されるように遷移する。図７は、手ぶれベクトル生成領域が判定される経過を示す概念図である。図７（ａ）は、図６（ｂ）の状態を示している。また、図７（ａ）から図７（ｃ）は、ｔ秒間における遷移を示すものとする。例えば、図７（ａ）の状態において手ぶれベクトル生成領域が判定された後、新たに、単位領域１４、２０、２６、２７及び２８において非検出ブロックがｐ％以上となり、これまで非検出ブロックがｐ％以上であった単位領域４、５、６、９、１０、１２、１５、１８、２２、２３及び２４において非検出ブロックがｐ％未満となったとする（図７（ｂ））。すなわち、図７（ｂ）において、縦線が引かれた単位領域は新たに非検出ブロックがｐ％以上となった領域を示し、横線が引かれた単位領域は、非検出ブロックがｐ％未満となった領域を示す。なお、斜線が引かれた単位領域は、相変わらず非検出ブロックがｐ％以上である領域を示す。更に、時間が経過すると、最終的に、単位領域１１、１６、１７及び２１以外が手ぶれベクトル生成領域と判定される。すなわち、ｔ秒間継続して非検出ブロックがｐ％以上であった領域は、単位領域１１、１６、１７及び２１であるため、それら以外が手ぶれベクトル生成領域として判定されるというわけである。
【００２９】
更に、図５に示される処理と並列して常時実行される処理について図８及び図９を用いて説明する。図８は、生成領域計算部における手ぶれベクトル生成領域の判定処理を説明するための第二のフローチャート図である。図９は、手ぶれベクトル生成領域の判定処理を説明するための第二の概念図である。
【００３０】
ステップＳ２０１において、手ぶれベクトル生成領域とされた単位領域の数が所定の閾値（ここでは「ｍ個」とする。）以下であるか否かが判定される。例えば、図８（ａ）においては、手ぶれベクトル生成領域に係る単位領域が４個（単位領域１、６、２９及び３０）であるため、ｍ＝５として設定されている場合は、図８（ａ）の状態は「Ｙｅｓ」と判定される。更に、このような状態、すなわち、手ぶれベクトル生成領域に係る単位領域の数がｍ個以下の状態が所定の時間（ここではＴ秒間とする。）継続しているか否かが判定され（Ｓ２０２）、Ｔ秒間継続している場合は、全ての単位領域が手ぶれベクトル生成領域とされる（Ｓ２０３及び図９（ｂ））。すなわち、手ぶれベクトル生成領域が小さければ小さいほど、符号化部１０７や手ぶれ計算部１０９における計算量が減少するため、処理の高速化を図ることはできる。しかし、あまりにも、手ぶれベクトル生成領域が小さい場合には、サンプルが少ないため手ぶれベクトルの精度が低くなってしまう可能性が高まる。そこで、あまりにも手ぶれベクトル生成領域が小さい場合には、そのあまりにも小さい領域に基づいて手ぶれベクトルを生成するのではなく、一度初期化、すなわち全領域を手ぶれベクトル生成領域としてしまうというわけである。このような処理は、長時間のパンニングやチルティングが行われた場合等、画像全体に渡って動きベクトルが大きくなってしまうような場合に効果的である。
【００３１】
上述したように、第一の実施の形態におけるデジタルカメラ１０によれば、手ぶれベクトル生成領域を判定し、当該手ぶれベクトル生成領域について手ぶれベクトルを算出するため、全領域に対して手ぶれベクトルを算出する場合に比べて処理の高速化や効率化を図ることができる。また、符号化が施されない手ぶれ補正用データに基づいて手ぶれベクトルを算出するため、手ぶれベクトルの検出の精度を上げることが可能となる。
【００３２】
次に、第二の実施の形態について説明する。図１０は、第二の実施の形態におけるデジタルカメラの機能構成例を示す図である。図１０中、図１と同一部分には同一符号を付し、その説明は省略する。図１０に示されるように、第二の実施の形態におけるデジタルカメラ２０は、二つの撮像素子部（１０１ａ及び１０１ｂ）を有している。基本的に、撮像素子部１０１ａは、動画用データを生成するための画像の撮影に用いられ、撮像素子部１０１ｂは、手ぶれ補正用データを生成するための画像の撮影に用いられる。
【００３３】
すなわち、入力切替制御部１０３は、手ぶれ補正用の画像を撮像素子部１０１ｂより入力する場合は、撮像素子部１０１ｂからの入力をＯＮとし、撮像素子部１０１ｂより入力された画像データをメモリ１０２に格納させる。一方、撮像素子部１０１ａからは、常時少なくとも動画用データを生成するための画像が入力され、その画像データがメモリ１０２に格納される。また、撮像素子部１０１ｂからの入力がＯＦＦの場合は、撮像素子部１０１ａより手ぶれ補正用の画像も入力され、その画像データがメモリ１０２に格納される。メモリ１０２に格納された画像データに対するその後処理は、基本的に第一の実施の形態において説明したものと同様である。但し、手ぶれ計算部１０９において実行される処理が異なる。
【００３４】
すなわち、手ぶれ計算部１０９の生成領域計算部４０３は、撮像素子部１０１ｂより入力された画像に基づく手ぶれ補正用データに基づいて手ぶれベクトルを算出する際に、例えば、手ぶれベクトル生成領域が小さくなってしまうような場合（図９（ａ）のような状態）等、当該手ぶれ補正用データに基づいて手ぶれベクトルを算出するのが困難な場合は、手ぶれ補正用の画像を撮像素子部１０１ａより入力するように入力切替制御部１０３に指示を出す。また、切り替え後、撮像素子部１０１ａより入力された画像に基づく補正用データに基づいて手ぶれベクトルを算出するのが困難となった場合は、生成領域計算部４０３は、手ぶれ補正用の画像を撮像素子部１０１ｂより入力するように入力切替部１０３に指示を出す。こうすることによって、手ぶれベクトルの算出により適した画像に基づいて手ぶれベクトルを生成しようというわけである。
【００３５】
かかる生成領域計算部４０３における手ぶれ補正用の画像の入力用の撮像素子部の選択処理について説明する。図１１は、手ぶれ補正用の画像の入力元の選択処理を説明するためのフローチャート図である。例えば、撮像素子部１０１ａによって撮影されている画像が手ぶれ補正用として用いられている場合（Ｓ３０１で１０１ａの場合）は、生成領域計算部４０３は、手ぶれベクトル生成領域（撮像素子部１０１ａからの入力に基づく手ぶれ補正用データにおける手ぶれベクトル生成領域）に係る単位領域の個数の平均値が所定時間の間所定の値（ここでは、「ｍ１個」とする。）未満であるか否かを判定する。ｍ１未満であった場合（Ｓ３０２でＹｅｓ）は、生成領域計算部４０３は、入力切替制御部１０３に対して手ぶれ補正用の画像の入力元を撮像素子部１０１ｂに切り替えるように指示する。入力切替制御部１０３は、生成領域計算部４０３からの指示に応じ、撮像素子部１０１ｂからの入力をＯＮとする。なお、所定時間内の手ぶれベクトル生成領域にかかる単位領域の個数の平均値がｍ１以上であった場合（Ｓ３０２でＮｏ）は、撮像素子部１０１ａが継続して手ぶれ補正用の画像の入力元とされる。
【００３６】
一方、撮像素子部１０１ｂによって撮影されている画像が手ぶれ補正用として用いられている場合（Ｓ３０１で１０１ｂの場合）は、生成領域計算部４０３は、手ぶれベクトル生成領域（撮像素子部１０１ｂからの入力に基づく手ぶれ補正用データにおける手ぶれベクトル生成領域）に係る単位領域の個数の平均値が所定時間の間所定の値（ここでは、「ｍ２個」とする。）未満であるか否かを判定する（Ｓ３０３）と共に、撮像素子部１０１ａからの入力に基づく動画生成用データにおける手ぶれベクトル生成領域に係る単位領域の個数の平均値が所定時間の間所定の値（ここでは「ｎ個」とする。）以上であるか否かを判定する（Ｓ３０４）。すなわち、手ぶれベクトル計算部１０９においては、撮像素子部１０１ａより入力される動画生成用データについても手ぶれベクトル生成領域の判定が常時行われており、ステップＳ３０４においては、その動画生成用データにおける手ぶれベクトル生成領域について判定が行われているというわけである。
【００３７】
手ぶれ補正用データにおける手ぶれベクトル生成領域に係る単位領域の個数の平均値がｍ２未満であり（Ｓ３０３でＹｅｓ）、かつ、動画生成用データにおける手ぶれベクトル生成領域に係る単位領域の個数の平均値がｎ以上であった場合（Ｓ３０４でＹｅｓ）は、生成領域計算部４０３は、入力切替制御部１０３に対して手ぶれ補正用の画像の入力元を撮像素子部１０１ａに切り替えるように指示する。それ以外の場合（Ｓ３０３でＮｏ、又はＳ３０４でＮｏ）は、撮像素子部１０１ｂが継続して手ぶれ補正用の画像の入力元とされる。すなわち、撮像素子部１０１ｂからの入力に基づく手ぶれベクトルの算出が困難である場合は、撮像素子部１０１ａからの入力に基づいて手ぶれベクトルを算出する方が有利であることを確認した上で手ぶれ補正用の画像の入力元を切り替えるというわけである。
なお、撮像素子部１０１ａと撮像素子部１０１ｂとにおける解像度が同じ場合は、ｍ１、ｍ２及びｎは、同じ値でもよい。一方、例えば、撮像素子部１０１ａの解像度の方が高い場合は、ｍ１＞ｍ２、ｍ１＝ｎといった関係が望ましい。また、撮像素子部１０１ａと撮像素子部１０１ｂとの差違を吸収するために、パラメータ設定部１０８におけるパラメータ設定によって手ぶれベクトルの補正を行うようにしてもよい。
【００３８】
上述したように、第二の実施の形態におけるデジタルカメラ２０によれば、二つの撮像素子部から入力される画像のうち、手ぶれ補正に適した画像を選択することが可能であるため、より精度の高い手ぶれ補正を行うことが可能となる。
【００３９】
本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４０】
以上の説明に関し、更に以下の項を開示する。
（付記１）
入力画像に基づいて符号化された動画データを生成する動画データ生成装置であって、
前記入力画像における動きベクトルを算出する動きベクトル算出手段と、
前記動きベクトル算出手段により算出された前記動きベクトルに基づいて、前記入力画像の画像領域において手ぶれベクトルの算出に用いる手ぶれベクトル生成領域を判定する手ぶれベクトル生成領域判定手段と、
前記手ぶれベクトル生成領域における前記動きベクトルに基づいて、前記手ぶれベクトルを算出する手ぶれベクトル算出手段とを有し、
前記手ぶれベクトルに基づいて手ぶれ補正を行うことにより前記動画データを生成することを特徴とする動画データ生成装置。
（付記２）
前記手ぶれベクトル生成領域判定手段は、前記入力画像の画像領域を複数の単位領域に分割した場合における各単位領域のうち、所定時間の間前記手ぶれベクトルの検出が不可能な範囲が所定の割合以上の前記単位領域以外の単位領域を前記手ぶれベクトル生成領域と判定することを特徴とする付記１記載の動画データ生成装置。
（付記３）
前記手ぶれベクトル生成領域判定手段は、前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合は、前記画像領域の全領域を前記手ぶれベクトル生成領域とすることを特徴とする付記１又は２記載の動画データ生成装置。
（付記４）
前記手ぶれベクトル生成領域判定手段は、前記手ぶれベクトル生成領域を構成する記単位領域の数が所定時間の間所定の値より小さい場合は、前記画像領域の全領域を前記手ぶれベクトル生成領域とすることを特徴とする付記３記載の動画データ生成装置。
（付記５）
前記入力画像を撮影する少なくとも二つの撮像手段を有し、
前記手ぶれベクトル算出手段は、前記少なくとも二つの撮像手段のうちのいずれか一つの前記撮像手段からの前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする付記１乃至４いずれか一項記載の動画データ生成装置。
（付記６）
前記少なくとも二つの撮像手段のうちの他の一つの前記撮像手段からの前記入力画像に基づいて前記符号化された動画データを生成することを特徴とする付記５記載の動画データ生成装置。
（付記７）
前記手ぶれベクトル算出手段は、いずれか一つの前記撮像手段からの前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合は、他の前記撮像手段からの前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする付記５又は６記載の動画データ生成装置。
（付記８）
前記手ぶれベクトル算出手段は、いずれか一つの前記撮像手段からの前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合であって、かつ、他の前記撮像手段からの前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値以上である場合は、前記他の前記撮像手段からの前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする付記７記載の動画データ生成装置。
（付記９）
前記動きベクトル算出手段は、前記手ぶれベクトル生成領域判定手段によって判定された前記手ぶれベクトル生成領域における前記動きベクトルを算出することを特徴とする付記１乃至８いずれか一項記載の動画データ生成装置。
（付記１０）
前記動きベクトル算出手段は、符号化されていない情報に基づいて前記動きベクトルを算出することを特徴とする付記１乃至９いずれか一項記載の動画データ生成装置。
（付記１１）
前記動きベクトル算出手段は、前方参照により前記動きベクトルを算出することを特徴とする付記１乃至１０いずれか一項記載の動画データ生成装置。
（付記１２）
入力画像に基づいて符号化された動画データを生成する動画データ生成装置における動画データ生成方法であって、
前記入力画像における動きベクトルを算出する動きベクトル算出手順と、
前記動きベクトル算出手順において算出された前記動きベクトルに基づいて、前記入力画像の画像領域において手ぶれベクトルの算出に用いる手ぶれベクトル生成領域を判定する手ぶれベクトル生成領域判定手順と、
前記手ぶれベクトル生成領域における前記動きベクトルに基づいて、前記手ぶれベクトルを算出する手ぶれベクトル算出手順と、
前記手ぶれベクトルに基づいて手ぶれ補正を行うことにより前記動画データを生成する動画データ生成手順とを有することを特徴とする動画データ生成方法。
（付記１３）
前記手ぶれベクトル生成領域判定手順は、前記入力画像の画像領域を複数の単位領域に分割した場合における各単位領域のうち、所定時間の間前記手ぶれベクトルの検出が不可能な範囲が所定の割合以上の前記単位領域以外の単位領域を前記手ぶれベクトル生成領域と判定することを特徴とする付記１２記載の動画データ生成方法。
（付記１４）
前記手ぶれベクトル生成領域判定手順は、前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合は、前記画像領域の全領域を前記手ぶれベクトル生成領域とすることを特徴とする付記１２又は１３記載の動画データ生成方法。
（付記１５）
前記手ぶれベクトル生成領域判定手順は、記手ぶれベクトル生成領域を構成する記単位領域の数が所定時間の間所定の値より小さい場合は、前記画像領域の全領域を前記手ぶれベクトル生成領域とすることを特徴とする付記１４記載の動画データ生成方法。
（付記１６）
前記入力画像を撮影する少なくとも二つの撮像手順を有し、
前記手ぶれベクトル算出手順は、前記少なくとも二つの撮像手順のうちのいずれか一つの前記撮像手順に係る前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする付記１２乃至１５いずれか一項記載の動画データ生成方法。
（付記１７）
前記動画データ生成手順は、前記少なくとも二つの撮像手順のうちの他の一つの前記撮像手順に係る前記入力画像に基づいて前記符号化された動画データを生成することを特徴とする付記１６記載の動画データ生成方法。
（付記１８）
前記手ぶれベクトル算出手順は、いずれか一つの前記撮像手順に係る前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合は、他の前記撮像手順に係る前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする付記１６又は１７記載の動画データ生成方法。
（付記１９）
前記手ぶれベクトル算出手順は、いずれか一つの前記撮像手順に係る前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値より小さい場合であって、かつ、他の前記撮像手順に係る前記入力画像における前記動きベクトルに基づいて判定された前記手ぶれベクトル生成領域の範囲が所定時間の間所定の値以上である場合は、前記他の前記撮像手順に係る前記入力画像における前記動きベクトルに基づいて前記手ぶれベクトルを算出することを特徴とする付記１８記載の動画データ生成方法。
（付記２０）
前記動きベクトル算出手順は、前記手ぶれベクトル生成領域判定手順において判定された前記手ぶれベクトル生成領域における前記動きベクトルを算出することを特徴とする付記１２乃至１９いずれか一項記載の動画データ生成方法。
（付記２１）
前記動きベクトル算出手順は、符号化されていない情報に基づいて前記動きベクトルを算出することを特徴とする付記１２乃至２０いずれか一項記載の動画データ生成方法。
（付記２２）
前記動きベクトル算出手順は、前方参照により前記動きベクトルを算出することを特徴とする付記１２乃至２１いずれか一項記載の動画データ生成方法。
【図面の簡単な説明】
【００４１】
【図１】第一の実施の形態におけるデジタルカメラの機能構成例を示す図である。
【図２】動画生成用データを処理する際の符号化部の機能構成例を示す図である。
【図３】手ぶれ補正用データを処理する際の符号化部の機能構成例を示す図である。
【図４】手ぶれ計算部の機能構成例を示す図である。
【図５】生成領域計算部における手ぶれベクトル生成領域の算出処理を説明するための第一のフローチャート図である。
【図６】手ぶれベクトル生成領域の算出処理を説明するための第一の概念図である。
【図７】手ぶれベクトル生成領域が判定される経過を示す概念図である。
【図８】生成領域計算部における手ぶれベクトル生成領域の算出処理を説明するための第二のフローチャート図である。
【図９】手ぶれベクトル生成領域の算出処理を説明するための第二の概念図である。
【図１０】第二の実施の形態におけるデジタルカメラの機能構成例を示す図である。
【図１１】手ぶれ補正用の画像の入力元の選択処理を説明するためのフローチャート図である。
【符号の説明】
【００４２】
１０１、１０１ａ、１０１ｂ      撮像素子部
１０２          メモリ
１０３          入力切替制御部
１０４          選択部
１０５          補正用データ切り出し部
１０６          動画生成用データ切り出し部
１０７          符号化部
１０８          パラメータ設定部
１０９          手ぶれ計算部
２０１、３０１    動きベクトル検出部
２０２          ＤＣＴ部
２０３          量子化部
２０４          逆量子化部
２０５          逆ＤＣＴ部
２０６、３０６    フレームメモリ
２０７          動き補償部
２０８          ＶＬＣ部
２０９          バッファ部
２１０          減算器
２２０          レート制御部
４０１          手ぶれベクトル生成部
４０２          メモリ
４０３          生成領域計算部
【図１】
2006129375.tif 000003
【図２】
2006129375.tif 000004
【図３】
2006129375.tif 000005
【図４】
2006129375.tif 000006
【図５】
2006129375.tif 000007
【図６】
2006129375.tif 000008
【図７】
2006129375.tif 000009
【図８】
2006129375.tif 000010
【図９】
2006129375.tif 000011
【図１０】
2006129375.tif 000012
【図１１】
2006129375.tif 000013