(57)【要約】【課題】補正の精度を高めた手振れ補正機能付きの動画再生装置を提供する。【解決手段】手振れ補正機能を有する動画再生装置において，フレーム画像間の動きベクトルを有する圧縮動画データを，動きベクトルとその参照画像に基づいてフレーム画像に伸長する画像伸長ユニットと，画像伸長ユニットで圧縮動画データから抽出された動きベクトルに基づいて，伸長されるフレーム画像の手振れ量を演算する手振れ量演算器と，伸長されたフレーム画像から手振れ量に対応する画像を抽出する画像抽出ユニットとを有する。【選択図】図７
2008109270.tif 000002
【特許請求の範囲】
【請求項１】
手振れ補正機能を有する動画再生装置において，
フレーム画像間の動きベクトルを有する圧縮動画データを，前記動きベクトルとその参照画像に基づいてフレーム画像に伸長する画像伸長ユニットと，
前記画像伸長ユニットで前記圧縮動画データから抽出された前記動きベクトルに基づいて，前記伸長されるフレーム画像の手振れ量を演算する手振れ量演算器と，
前記伸長されたフレーム画像から前記手振れ量に対応する画像を抽出する画像抽出ユニットとを有することを特徴とする動画再生装置。
【請求項２】
請求項１において，
前記画像伸長ユニットが前記圧縮動画データを第１のフレーム画像に伸長する時に，前記手振れ量演算器が前記第１のフレーム画像の手振れ量を演算し，前記第１のフレーム画像の伸長後に，前記画像抽出ユニットが当該第１のフレーム画像を前記第１のフレームの手振れ量に基づいて画像抽出を行うことを特徴とする動画再生装置。
【請求項３】
請求項１において，
前記圧縮動画データが，片方向予測の動きベクトルを有する第１，第４のフレーム画像と，前記第１及び第４のフレーム画像を参照画像とする双方向予測の動きベクトルを有する第２，第３のフレーム画像とを有し，
前記手振れ量演算器は，前記第２，第３のフレーム画像の手振れ量を，前記第１のフレーム画像からの動きベクトルと前記４のフレーム画像に含まれる動きベクトルとに基づいて演算することを特徴とする動画再生装置。
【請求項４】
請求項１において，
前記圧縮動画データが，動きベクトルを有する第１のフレーム画像のデータと，動きベクトルを有さない第２のフレーム画像のデータとを有し，
前記手振れ量演算器は，前記第２のフレーム画像に対して，手振れ量なしと判定し，または前記第２のフレーム画像より前のフレーム画像の動きベクトルから手振れ量を推定し，または前記第２のフレーム画像の前後複数フレーム画像の動きベクトルから手振れ量を演算することを特徴とする動画再生装置。
【請求項５】
動画再生プログラムにおいて，
フレーム画像間の動きベクトルを有する圧縮動画データを，前記動きベクトルとその参照画像に基づいてフレーム画像に伸長する画像伸長ユニットと，
前記圧縮動画データから抽出された前記動きベクトルに基づいて前記伸長されるフレーム画像の手振れ量を演算する手振れ量演算器と，
前記伸長されたフレーム画像から前記手振れ量に対応する画像を抽出する画像抽出ユニットとにコンピュータを構築させるコンピュータ読み取り可能な動画再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，手振れ補正機能付き動画再生装置に関し，特に，手振れ補正機能を簡素化した動画再生装置に関する。
【背景技術】
【０００２】
ビデオカメラなど手振れが発生する状況で撮影された動画について，手振れ補正を行うことが提案されている。動画像は，一般的に１秒間で３０フレーム程度のフレーム画像から構成されるが，手振れが発生するとフレーム間で画像が手振れ方向と逆方向に移動する。そこで，デジタル手振れ補正では，フレーム間の画像の動き量を演算し，動き量から手振れ量を演算し，フレーム画像から手振れ量だけずらした領域の画像を抽出している。ただし，フレーム間の画像の動き量の演算は，多大な演算量を伴う処理である。
【０００３】
一方，ＭＰＥＧやＨ．２６４などの動画圧縮の規格では，圧縮率を高めるために，前フレームの画像と現在のフレームの画像とを比較してその動きベクトルを求め，両画像の差分データを直交変換し，動きベクトルと直交変換後の係数情報とを現在のフレームの圧縮画像データとしている。フレーム間の画像は時間的に近接しているので画像同士の相関が高い。そこで，現在のフレーム画像を圧縮するに際して直前のフレーム画像を参照画像にして，その差分成分を圧縮し，高い圧縮率を実現している。この動きベクトルは，マクロブロック内の画像の動き量と動きの方向からなり，手振れ補正に必要な動き量と類似する。
【０００４】
そこで，動画圧縮で求められる動きベクトルを手振れ量演算に利用することが提案されている。たとえば，特許文献１，２などである。
【０００５】
特許文献１には，入力動画像データにおけるフィールド間の動きベクトルを検出して，ビデオカメラにおけるフィールド間の画像の揺れを補正する手振れ補正装置が記載されている。
【０００６】
特許文献２には，ビデオカメラにおいて動きベクトルを利用して手振れ補正を行うことが記載されている。
【特許文献１】特開平５−２２６４８号公報
【特許文献２】特開平７−３８８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の特許文献はいずれも，動画を圧縮する側で，動画圧縮のために求められた動きベクトルを利用して手振れ補正量を求め，手振れ補正のための画像抽出処理を行っている。そのため，複数のフレームの画像から求められた動きベクトルを利用して手振れ量を求め，その後のフレームの画像に対して手振れ補正を行うことになる。したがって，過去の手振れ量から現在のフレームの画像を補正することになり，補正の精度が大幅に低下する。また，直前のフレームの動き量しか利用しないので，手振れによる画像移動か，意図的なカメラの移動（いわゆるパン）による画像移動かの区別が難しく，その点でも補正の精度が低下する。
【０００８】
そこで，本発明の目的は，補正の精度を高めた手振れ補正機能付きの動画再生装置を提供することにある。
【０００９】
また，本発明の別の目的は，手振れによる画像移動と意図的なカメラの画像移動とを区別可能な手振れ補正機能付きの動画再生装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために，本発明の第１の側面によれば，手振れ補正機能を有する動画再生装置において，
フレーム画像間の動きベクトルを有する圧縮動画データを，前記動きベクトルとその参照画像に基づいてフレーム画像に伸長する画像伸長ユニットと，
前記画像伸長ユニットで前記圧縮動画データから抽出された前記動きベクトルに基づいて，前記伸長されるフレーム画像の手振れ量を演算する手振れ量演算器と，
前記伸長されたフレーム画像から前記手振れ量に対応する画像を抽出する画像抽出ユニットとを有することを特徴とする。
【００１１】
上記の第１の側面によれば，圧縮動画データから抽出される動きベクトルに基づいてフレーム画像の手振れ量が演算されるので，手振れ量演算のための動き量を求める必要がない。また，伸長されるフレーム画像の動きベクトルから手振れ量を演算するので手振れ量の精度が高くなる。
【００１２】
上記本発明の第１の側面の好ましい態様によれば，前記画像伸長ユニットが前記圧縮動画データを第１のフレーム画像に伸長する時に，前記手振れ量演算器が前記第１のフレーム画像の手振れ量を演算し，前記第１のフレーム画像の伸長後に，前記画像抽出ユニットが当該第１のフレーム画像を前記第１のフレームの手振れ量に基づいて画像抽出を行うことを特徴とする。この態様によれば，画像伸長後に手振れ補正が行われるので，リアルタイム性が高くなる。
【００１３】
上記本発明の第１の側面の別の好ましい態様によれば，前記圧縮動画データが，片方向予測の動きベクトルを有する第１，第４のフレーム画像と，前記第１及び第４のフレーム画像を参照画像とする双方向予測の動きベクトルを有する第２，第３のフレーム画像とを有し，
前記手振れ量演算器は，前記第２，第３のフレーム画像の手振れ量を，前記第１のフレーム画像からの動きベクトルと前記４のフレーム画像に含まれる動きベクトルとに基づいて演算することを特徴とする。この態様によれば，第４フレーム画像に含まれる動きベクトルを利用して手振れ量を求めるので，意図的なカメラ移動と区別して手振れ量を求めることができ，手振れ補正の精度を高くすることができる。
【００１４】
上記本発明の第１の側面の別の好ましい態様によれば，前記圧縮動画データが，動きベクトルを有する第１のフレーム画像のデータと，動きベクトルを有さない第２のフレーム画像のデータとを有し，
前記手振れ量演算器は，前記第２のフレーム画像に対して，手振れ量なしと判定し，または前記第２のフレーム画像より前のフレーム画像の動きベクトルから手振れ量を推定し，または前記第２のフレーム画像の前後複数フレーム画像の動きベクトルから手振れ量を演算することを特徴とする。この態様によれば，圧縮動画データに動きベクトルを有しないフレーム画像のデータが含まれていても，そのフレームに適切な手振れ量を求めて，その手振れ量により手振れ補正をすることができる。
【発明の効果】
【００１５】
動画再生装置の規模を小さくし，手振れ補正の精度を高め，リアルタイム性を持たせることができる。
【発明を実施するための最良の形態】
【００１６】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１７】
本実施の形態の説明に入る前に，従来例について詳述する。
【００１８】
図１は，第１の従来例における手振れ補正機能付き動画圧縮装置の構成図である。この動画圧縮装置は，手振れ補正ユニット１０と画像圧縮ユニット２０とを有し，手振れ補正ユニット１０には，撮像されたフレーム毎の画像Ｐ１が入力され，動き量演算器１２が，フレーム間の画像のずれから複数の動き量Ｐ１２を演算する。そして，手振れ補正量演算器１６が，複数の動き量Ｐ１２に対して所定の統計的処理を行って手振れ補正量Ｐ１６を求め，画像抽出ユニット１４がフレーム画像から手振れ補正量Ｐ１６だけずらした画像を抽出し，手振れ補正されたフレーム画像Ｐ１０を出力する。そして，画像圧縮ユニット２０は，手振れ補正された動画に対してＭＰＥＧやＨ．２６４などの規格に対応した動画圧縮を行い，圧縮データＰ２０を出力する。圧縮データＰ２０は，たとえばビデオカメラの記録媒体に記録される。
【００１９】
図２は，デジタル手振れ補正について説明する図である。図２（Ａ）は３枚のフレーム画像が連続して撮像され，２枚目のフレームで手振れが発生したときに撮像されたフレーム画像例を示す。２枚目のフレーム画像では撮影領域が手振れにより右に移動したため，画像は左に移動している。そこで，図２（Ｂ）に示されるように，手振れ量に対応して実線枠の撮影領域から破線枠の録画領域を抽出することで，２枚目のフレーム画像の手振れ補正が行われる。したがって，手振れ補正を行うためには手振れ量を画像の動き量から演算することが必要である。図２（３）は，２枚目のフレーム画像の動き量を矢印で示している。複数の部分画像の動きに対応して複数の動き量が検出可能である。
【００２０】
図１に戻り，動き量演算器１２は，直前の画像と現在の画像とを比較して動き量を検出する。この動き量は１フレームにつき複数個検出され，手振れ補正量演算器１６は，その複数の動き量から統計的な処理をして，たとえば最大数の同じ動き量を手振れ量と判定するなどの処理をして，手振れ量を求める。
【００２１】
しかし，動き量演算器１２は，画像の比較をしてどの方向にどの程度動いたかを探索する演算が必要であり，きわめて複雑な演算である。そして，画像圧縮ユニット２０でも，同様の動きベクトルを求める演算が行われる。したがって，同等の複雑な演算を２回行わなければならないという課題を有する。
【００２２】
図３は，第２の従来例における手振れ補正機能付き動画圧縮装置の構成図である。この例では，画像圧縮ユニット２０が求めた動きベクトルＭＶを利用して，手振れ量演算器１６が手振れ量Ｐ１６を求め，画像抽出ユニット１４が手振れ量に対応した位置の画像を抽出する。そして手振れ補正された画像Ｐ１０が画像圧縮ユニット２０で圧縮される。したがって，動きベクトルと動き量とを別々に求めることが回避される。これにより大幅に回路規模が小さくなる。
【００２３】
図４は，図３の従来例の装置のタイムチャートを示す図である。このタイムチャートに示されるとおり，フレーム０と１とから初めて動きベクトルＭＶが画像圧縮ユニット２０により求められるので，フレーム２において，初めて手振れ量に基づく画像抽出が行われ手振れ補正が行われる。つまり，手振れ補正後に画像圧縮が行われ，そこで求められた動きベクトルで次のフレームが手振れ補正される。よって，フレーム２の手振れ補正がフレーム０と１の動きベクトルという過去の手振れ量により行われるので，手振れ補正の精度が低下する。さらに，直前のフレーム画像の動き量しか利用していないので，手振れと意図的なカメラ移動（パン）との区別が困難であり，その点でも手振れ補正の精度が高くならない。
【００２４】
図５は，第３の従来例における手振れ補正機能付き動画伸長装置の構成図である。この再生側での手振れ補正ユニット１０は，図１の圧縮側の構成と同様に，動き量演算器１２と画像抽出ユニット１４と手振れ量演算器１６とからなる。画像伸長ユニット２０は，入力される圧縮データＰ２のフレーム画像を順番に画像伸長し，伸長されたフレーム画像Ｐ２０から動き量演算器１２が動き量を求め，手振れ量演算器１６が動き量Ｐ１２から手振れ量を求め，画像抽出ユニと１４が手振れ量Ｐ１６にしたがって画像を抽出し，手振れ補正されたフレーム画像Ｐ１０を出力する。
【００２５】
図６は，図５の従来例の装置のタイムチャートを示す図である。この図に示されるとおり，図５の構成では，フレーム０と１とから初めて動き量Ｐ１２が演算され，その動き量Ｐ１２から求めた手振れ量Ｐ１６に基づいてフレーム２の画像に対して手振れ補正が行われる。つまり，過去の動き量から現在のフレーム画像の手振れ補正が行われるので，手振れ補正の精度の低下を伴う。また，動き量演算器１２を設ける必要があり，回路構成またはソフトウエア構成の規模が大きくなるという課題を有する。また，手振れと意図的なカメラ移動との区別も困難である。さらに，手振れ補正された画像が出力されるまで時間を要する。
【００２６】
図７は，本実施の形態における手振れ補正機能付き動画再生装置の構成図である。この装置では，圧縮動画データＰ２を伸長する画像伸長ユニット２０と，画像伸長処理で圧縮動画データＰ２から抽出された動きベクトルＭＶを利用して手振れ補正する手振れ補正ユニット１０とで構成される。手振れ補正ユニット１０は，伸長されるフレームの動きベクトルＭＶを統計処理して手振れ量Ｐ１６を生成する手振れ量演算器１６と，その手振れ量Ｐ１６に基づいて伸長されたフレーム画像から手振れ補正された画像を抽出する画像抽出ユニット１４とからなる。手振れ量演算器１６は，フレームの複数の動きベクトルのうち最も数が多い動きベクトルを手振れ量と判定するなどの統計処理を行う。
【００２７】
この動画再生装置では，あるフレームについて画像伸長ユニット２０が画像伸長する時に圧縮データから抽出する動きベクトルＭＶを利用して，その画像伸長されるフレーム画像の手振れ補正を手振れ補正ユニット１０が行う。したがって，（１）手振れ補正ユニット１０が動き量を求める必要がなく，装置の規模を小さくすることができる。また，（２）手振れ補正対象のフレームの動きベクトルを利用して手振れ量を求めて手振れ補正するので，従来例のように過去の動きベクトルから現在の手振れ量を推定する場合に比較すると，手振れ補正の精度が高くなる。そして，（３）現在のフレームの動きベクトルを利用してフレーム画像を手振れ補正するので，画像出力の遅延が小さく，リアルタイム性がある。さらに，（４）ＭＰＥＧなどで圧縮された動画圧縮データには，数フレーム先の動きベクトル情報を先に得ることができるので，その動きベクトルを考慮することで，手振れと意図的なカメラ移動とを区別することができ，手振れ補正の精度が高くなる。以下，上記のメリットを順に説明する。
【００２８】
（１）の装置規模が小さくなるのは，手振れ補正ユニット１０が動き量演算器を設ける必要がないので自明である。
【００２９】
（２）の手振れ補正の精度向上は，図８の双方向予測を含まない圧縮動画データに対するタイムチャートを示す図により説明する。フレーム０の入力画像Ｐ２は，画像伸長ユニット２０で伸長される。この伸長処理で入力画像Ｐ２から抽出された動きベクトルＭＶから，手振れ量演算器１６がその伸長されるフレーム画像の手振れ量Ｐ１６を生成する。そして，フレーム０の画像伸長後に，次のフレーム１の画像伸長処理の時に，画像抽出ユニット１４が，手振れ量Ｐ１６を利用して伸長されたフレーム０の画像から手振れ補正された画像を抽出する。これ以降のフレーム１，２，３においても，同様に１フレーム遅れで手振れ補正が行われる。このように，フレーム０の手振れ補正の手振れ量Ｐ１６がそのフレーム０の動きベクトルＭＶから求められるので，手振れ補正の精度が向上する。
【００３０】
さらに，（３）のリアルタイム性については，フレーム０の動きベクトルから求めた手振れ量Ｐ１６により伸長されたフレーム０の手振れ補正が行われるので，補正された画像Ｐ１０の出力の遅延が小さくなる。よって，リアルタイム性を求められる環境では図７の再生装置が有利である。
【００３１】
次に，（４）の手振れと意図的なカメラ移動とを区別可能であることについて説明する。図９は，双方向予測を含む圧縮動画データを示す図である。ＭＰＥＧなどの圧縮規格によれば，過去のフレーム画像を参照画像とする片方向予測のみを有するＰフレームと，未来のフレーム画像も参照画像とする双方向予測を有するＢフレームとが混在する。図９に示すとおり，Ｐフレーム０は，過去のフレーム画像を基準とする動きベクトルＭＶ０ｘを有する。それに対して，Ｂフレーム１は，過去のＰフレーム０の画像との動きベクトルＭＶ０１と未来のＰフレーム３の画像との動きベクトルＭＶ３１とを有する。同様に，Ｂフレーム２は，Ｐフレーム０の画像との動きベクトルＭＶ０２と未来のＰフレーム３の画像との動きベクトルＭＶ３２とを有する。そして，Ｐフレーム３は，Ｐフレーム０の画像との動きベクトルＭＶ０３を含む。したがって，再生装置には，Ｐフレーム０，Ｐフレーム３，Ｂフレーム１，Ｂフレーム２の順に圧縮動画データが入力され，その順に伸長される。ただし，画像再生は，フレーム０，１，２，３の順である。
【００３２】
図１０は，図９の双方向予測を有する圧縮動画データの場合のタイムチャートを示す図である。入力画像Ｐ２は，フレーム０，３，１，２の順に供給され，それぞれの圧縮データには疎きベクトルＭＶ０ｘ，ＭＶ０３，ＭＶ０１とＭＶ３１，ＭＶ０２とＭＶ３２が含まれる。供給された順に入力画像Ｐ２が画像伸長ユニット２０で画像伸長（デコード）される。
【００３３】
そして，手振れ量演算器１６がフレーム０の動きベクトルＭＶ０ｘから手振れ量Ｐ１６を求め，画像抽出ユニット１４が，その手振れ量Ｐ１６に基づいて，伸長されたフレーム０の画像から手振れ補正された画像を抽出して手振れ補正を行う。また，次に入力されるフレーム３の動きベクトルＭＶ０３から手振れ量演算器１６が手振れ量Ｐ１６を求め，それに基づいて伸長されたフレーム３の画像から画像抽出されて手振れ補正される。
【００３４】
さらに，次に入力されるフレーム１の動きベクトルＭＶ０１とフレーム３の動きベクトルＭＶ０３とから手振れ量演算器１６が手振れ量Ｐ１６を求め，それに基づいて伸長されたフレーム１の画像が手振れ補正される。そして，最後に，入力されるフレーム２の動きベクトルＭＶ０２とフレーム３の動きベクトルＭＶ０３とから手振れ量Ｐ１６が求められ，それに基づいて伸長されたフレーム２の画像が手振れ補正される。
【００３５】
図１１は，図１０において求められる手振れ量と手振れ補正の一例を示す図である。図１１において，横軸は撮像されたフレーム順を示す時間軸を，縦軸は伸長されたフレーム画像の動き量をそれぞれ示している。そして，フレーム０からフレーム３まで意図的にカメラの移動（パン）が行われ，フレーム１と２とで手振れが発生したものとする。
【００３６】
伸長されたフレーム画像Ｐ２０の動き量には，手振れによる動き量と意図的なカメラ移動による動き量とが含まれている。片方向予測のみしか含まれていない場合は，一点鎖線に示されるとおり，フレーム１では動き量から手振れ量Ｐ１６が求められ，手振れ補正の結果フレーム０から動き量が「０」の画像Ｐ１０が抽出される。同様に，フレーム２でも動き量から一点鎖線の手振れ量Ｐ１６が求められ，手振れ補正の結果フレーム１から所定の動き量を伴う画像Ｐ１０が抽出される。そして，フレーム３では，何らかの演算ロジックにより意図的なカメラ移動量が検出され，手振れに対応する補正のみが行われるとする。
【００３７】
これに対して，双方向予測を含む場合は，フレーム１，２の手振れ量Ｐ１６を演算する時に，そのフレームでの動きベクトルＭＶ０１，ＭＶ０２に加えて，将来のフレーム３での動きベクトルＭＶ０３が考慮される。したがって，長期的なスパンで発生する意図的なカメラ移動による動き量が，動きベクトルＭＶ０３から求められるので，フレーム１，２では手振れに対応した手振れ量Ｐ１６が，意図的なカメラ移動による動き量と区別して正確に求められる。よって，その手振れ量Ｐ１６に基づいて，実線の補正された画像Ｐ１０が抽出されるので，手振れ補正された画像Ｐ１０には意図的なカメラ移動による動き量が正確に含まれ，手振れによる動き量のみが補正される。このように，手振れによる動き量は短期的なスパンで発生し，意図的なカメラ移動による動き量は長期的なスパンで発生するので，未来のフレーム３の動きベクトルＭＶ０３が判れば，意図的なカメラ移動による動き量を除外して手振れ量を求めることができる。
【００３８】
図１２は，図７の動画再生装置における画像伸長と手振れ補正の処理のフローチャート図である。画像伸長と手振れ補正とがマイクロプロセッサにインストールされたプログラムにより処理される場合のフローチャートである。
【００３９】
最初に，変数として撮像順または再生順を示すフレーム番号ＦｒＮｏに「０」を代入し（Ｓ１），フレーム番号ＦｒＮｏの圧縮データを伸長する（Ｓ２）。そして，そのフレーム番号ＦｒＮｏの動きベクトルから手振れ量を算出する（Ｓ３）。次に，フレーム番号ＦｒＮｏを＋１して（Ｓ４），そのフレーム番号ＦｒＮｏの圧縮データを伸長する（Ｓ５）．そして，そのフレーム番号ＦｒＮｏの動きベクトルから手振れ量を算出する（Ｓ６）。さらに，フレーム番号ＦｒＮｏの手振れ量に基づいてフレーム番号ＦｒＮｏの画像抽出を行い（Ｓ７），そのフレーム番号ＦｒＮｏの手振れ補正された画像を出力する（Ｓ８）。上記の処理Ｓ４〜Ｓ８が，最後のフレームまで繰り返される（Ｓ９）。画像伸長と手振れ補正とが１フレームずれて行われるので，そのフレーム画像を格納するメモリがマイクロプロセッサに内蔵または外付けされる。
【００４０】
ただし，図１２のフローチャートは，図８に対応しており片方向予測のみを有する圧縮データを処理する例である。図１０の双方向予測を有する圧縮データの場合は，画像伸長と画像抽出とを行うフレームが一部フレーム番号順でないので，その場合にフレーム画像を格納するメモリ領域が必要になる。
【００４１】
図１３は，動きベクトルを持たないＩフレームを含む場合の手振れ補正を含むフローチャート図である。図１２では撮像順または再生順を示すフレーム番号ＦｒＮｏを変数としたが，図１３では，双方向予測を含むＢフレームにも対応するために，伸長順を示すデコード番号ＤｅｃＮｏを変数とする。つまり，図１０の場合では，デコード順は０，３，１，２である。
【００４２】
まず，変数のデコード番号ＤｅｃＮｏに「０」を代入する（Ｓ１０）。そして，入力された圧縮データを伸長する（Ｓ１１）。伸長したフレームがＩフレームの場合は（Ｓ１２のＹＥＳ），動きベクトルが含まれていないので，手振れ量を「０」に設定し（Ｓ１４），Ｉフレーム以外の場合はそのフレームに含まれている動きベクトルから手振れ量を算出する（Ｓ１３）。そして，算出した手振れ量に基づいてフレームＤｅｃＮｏの手振れ補正された画像を抽出し（Ｓ１５），抽出画像を出力バッファに蓄積する（Ｓ１６）。即ち，デコード順と再生順とが異なるので，複数フレームの抽出画像を出力バッファに蓄積し，出力バッファから再生順に出力する。上記の処理Ｓ１１〜Ｓ１６が，最後にデコードされるフレームまで繰り返される（Ｓ１７，Ｓ１８）。
【００４３】
図１４は，図１３と同様に，動きベクトルを持たないＩフレームを含む場合の手振れ補正を含むフローチャート図である。図１３と異なるところは，Ｉフレームの場合は（Ｓ１２のＹＥＳ），手振れ量を「０」にするのではなく，前のフレームの動きベクトルまたは前のフレームからの動き量から手振れ量を推定する（Ｓ１４０）。それ以外の処理は図１３と同じである。
【００４４】
図１５は，動きベクトルを持たないＩフレームを含む場合の手振れ補正を含む別のフローチャート図である。図１３，図１４では，Ｉフレームに対して手振れ量「０」または前フレームからの動き量による手振れ量を与えているので，手振れ量が意図的なカメラの移動と区別できず手振れ量の精度が悪い。そこで，図１５の例では，数フレーム先まで画像伸長を先行させて，Ｉフレームの手振れ量は未来のフレームの動き量も考慮して求める。これにより，双方向予測を含む場合と同様に手振れ量の精度を向上させることができる。
【００４５】
図１６は，ＭＰＥＧにおけるＩ，Ｂ，Ｐフレームの順番例を示す図である。図１６に含まれるとおり，動きベクトルを有しないＩフレームが，図９の組み合わせのＰフレームとＢフレームを含む１５フレームまたは３０フレーム毎に挿入される。このＩフレームの挿入により動きベクトルを利用した伸長画像を連続させる場合に発生する累積誤差をリセットすることができる。
【００４６】
図１５に戻り，画像伸長の順番ＤｅｃＮｏと画像抽出の順番ＯｕｔＮｏの２つの変数に，それぞれＤｅｃＮｏ＝３，ＯｕｔＮｏ＝０を挿入する（Ｓ２０）。そして，フレームＤｅｃＮｏまで（最初はＤｅｃＮｏ＝０〜３）圧縮データを伸長する（Ｓ２１）。そして，現在のフレームの前後３フレームの動きベクトルから，フレームＯｕｔＮｏの手振れ量を算出する（Ｓ２２）。最初のフレームＯｕｔＮｏ＝０には過去のフレームの動きベクトルが存在しないので，後の３フレームの動きベクトルから手振れ量を推定することになる。
【００４７】
そして，算出した手振れ量に基づいて，フレームＯｕｔＮｏの画像抽出をし（Ｓ２３），抽出した画像を出力バッファに蓄積する（Ｓ２４）。出力バッファに蓄積された画像は，再生順に出力される。
【００４８】
上記の処理Ｓ２１〜Ｓ２４が，出力フレームＯｕｔＮｏが最後のフレームになるまで，変数ＤｅｃＮｏとＯｕｔＮｏとをインクリメントしながら（Ｓ２６），繰り返す。
【００４９】
上記の処理によれば，図１６の右側のＩフレームでは，前後３フレームの動きベクトルからその手振れ量が算出されるので，長期的スパンで現れる意図的なカメラ移動と区別して手振れ量を算出することができ，手振れ補正の精度を向上させることができる。それ以外のＰフレームやＢフレームは，前述した通りに手振れ量が算出され補正される。
【００５０】
以上の実施の形態をまとめると，次の付記のとおりである。
【００５１】
（付記１）手振れ補正機能を有する動画再生装置において，
フレーム画像間の動きベクトルを有する圧縮動画データを，前記動きベクトルとその参照画像に基づいてフレーム画像に伸長する画像伸長ユニットと，
前記画像伸長ユニットで前記圧縮動画データから抽出された前記動きベクトルに基づいて，前記伸長されるフレーム画像の手振れ量を演算する手振れ量演算器と，
前記伸長されたフレーム画像から前記手振れ量に対応する画像を抽出する画像抽出ユニットとを有することを特徴とする動画再生装置。
【００５２】
（付記２）付記１において，
前記画像伸長ユニットが前記圧縮動画データを第１のフレーム画像に伸長する時に，前記手振れ量演算器が前記第１のフレーム画像の手振れ量を演算し，前記第１のフレーム画像の伸長後に，前記画像抽出ユニットが当該第１のフレーム画像を前記第１のフレームの手振れ量に基づいて画像抽出を行うことを特徴とする動画再生装置。
【００５３】
（付記３）付記１において，
前記圧縮動画データが，片方向予測の動きベクトルを有する第１，第４のフレーム画像と，前記第１及び第４のフレーム画像を参照画像とする双方向予測の動きベクトルを有する第２，第３のフレーム画像とを有し，
前記手振れ量演算器は，前記第２，第３のフレーム画像の手振れ量を，前記第１のフレーム画像からの動きベクトルと前記４のフレーム画像に含まれる動きベクトルとに基づいて演算することを特徴とする動画再生装置。
【００５４】
（付記４）付記１において，
前記圧縮動画データが，動きベクトルを有する第１のフレーム画像のデータと，動きベクトルを有さない第２のフレーム画像のデータとを有し，
前記手振れ量演算器は，前記第２のフレーム画像に対して，手振れ量なしと判定し，または前記第２のフレーム画像より前のフレーム画像の動きベクトルから手振れ量を推定し，または前記第２のフレーム画像の前後複数フレーム画像の動きベクトルから手振れ量を演算することを特徴とする動画再生装置。
【００５５】
（付記５）動画再生プログラムにおいて，
フレーム画像間の動きベクトルを有する圧縮動画データを，前記動きベクトルとその参照画像に基づいてフレーム画像に伸長する画像伸長ユニットと，
前記圧縮動画データから抽出された前記動きベクトルに基づいて前記伸長されるフレーム画像の手振れ量を演算する手振れ量演算器と，
前記伸長されたフレーム画像から前記手振れ量に対応する画像を抽出する画像抽出ユニットとにコンピュータを構築させるコンピュータ読み取り可能な動画再生プログラム。
【００５６】
（付記６）付記５において，
前記画像伸長ユニットが前記圧縮動画データを第１のフレーム画像に伸長する時に，前記手振れ量演算器が前記第１のフレーム画像の手振れ量を演算し，前記第１のフレーム画像の伸長後に，前記画像抽出ユニットが当該第１のフレーム画像を前記第１のフレームの手振れ量に基づいて画像抽出を行うことを特徴とする動画再生プログラム。
【図面の簡単な説明】
【００５７】
【図１】第１の従来例における手振れ補正機能付き動画圧縮装置の構成図である。
【図２】デジタル手振れ補正について説明する図である。
【図３】第２の従来例における手振れ補正機能付き動画圧縮装置の構成図である。
【図４】図３の従来例の装置のタイムチャートを示す図である。
【図５】第３の従来例における手振れ補正機能付き動画伸長装置の構成図である。
【図６】図５の従来例の装置のタイムチャートを示す図である。
【図７】本実施の形態における手振れ補正機能付き動画再生装置の構成図である。
【図８】双方向予測を含まない圧縮動画データに対するタイムチャートを示す図
【図９】双方向予測を含む圧縮動画データを示す図である。
【図１０】図９の双方向予測を有する圧縮動画データの場合のタイムチャートを示す図である。
【図１１】図１０において求められる手振れ量と手振れ補正の一例を示す図である。
【図１２】図７の動画再生装置における画像伸長と手振れ補正の処理のフローチャート図である。
【図１３】動きベクトルを持たないＩフレームを含む場合の手振れ補正を含むフローチャート図である。
【図１４】動きベクトルを持たないＩフレームを含む場合の手振れ補正を含むフローチャート図である。
【図１５】動きベクトルを持たないＩフレームを含む場合の手振れ補正を含む別のフローチャート図である。
【図１６】ＭＰＥＧにおけるＩ，Ｂ，Ｐフレームの順番例を示す図である。
【符号の説明】
【００５８】
２０：画像伸長ユニット              １０：手振れ補正ユニット
１４：画像抽出ユニット              １６：手振れ量演算器
ＭＶ：動きベクトル                  Ｐ１６：手振れ量
Ｐ２：圧縮動画データ
【図１】
2008109270.tif 000003
【図２】
2008109270.tif 000004
【図３】
2008109270.tif 000005
【図４】
2008109270.tif 000006
【図５】
2008109270.tif 000007
【図６】
2008109270.tif 000008
【図７】
2008109270.tif 000009
【図８】
2008109270.tif 000010
【図９】
2008109270.tif 000011
【図１０】
2008109270.tif 000012
【図１１】
2008109270.tif 000013
【図１２】
2008109270.tif 000014
【図１３】
2008109270.tif 000015
【図１４】
2008109270.tif 000016
【図１５】
2008109270.tif 000017
【図１６】
2008109270.tif 000018