(57)【要約】      （修正有）【課題】  フレーム画像から切り取られる補正画像のサイズが常に一定だと、補正の必要のない画像についてもフレーム画像の切り取りが行われてしまう。【解決手段】  画像取得部１１０によって、時系列順に一定量の画像毎に当該画像が順次取得され、動きベクトル算出部１２０によって、前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルが、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出される。そして、補正位置算出部１３０によって、前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルが算出され、前記補正位置算出部１３０が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出部をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する。【選択図】      図１
2006235689.tif 000002
【特許請求の範囲】
【請求項１】
動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する画像処理装置であって、
時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得部と、
前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出部と、
前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出部と、
を備え、
前記補正位置算出部が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出部をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記補正限界値算出部は、前記所定の画像を切り取るサイズが前記補正位置ベクトルの大きさよりも大きい場合には前記所定の画像を切り取るサイズを小さくし、前記所定の画像を切り取るサイズが前記補正位置ベクトルの大きさよりも小さい場合には前記所定の画像を切り取るサイズを大きくする、画像処理装置。
【請求項３】
請求項１に記載の画像処理装置であって、
前記補正限界値算出部は、前記補正限界値Ｓｍａｘ（ｎ）の算出において、
Smax(n)＝Smax(n−1)＋α×{Smax(n−1)−Smax(n−2)}−β×{Smax(n−1)−S(n−1)}
Ｓｍａｘ（ｎ−１）：時系列順（ｎ−１）番目の一定量の画像についての補正限界値
Ｓｍａｘ（ｎ−２）：時系列順（ｎ−２）番目の一定量の画像についての補正限界値
S（ｎ−１）：時系列順（ｎ−１）番目の一定量の画像についての補正位置ベクトル
α：１以下の正の補正係数
β：０.１以下の正の補正係数
で示される演算式を用いる、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
αは、0.9≦α＜1の定数である、画像処理装置。
【請求項５】
請求項３または４に記載の画像処理装置であって、
βは、0＜β≦0.1の定数である、画像処理装置。
【請求項６】
請求項３または４に記載の画像処理装置であって、
｛Ｓｍａｘ（ｎ−１）−Ｓ（ｎ−１）｝の値が大きいほどβの値を小さくする、画像処理装置。
【請求項７】
請求項３または４に記載の画像処理装置であって、
｛Ｓｍａｘ（ｎ−１）−Ｓｍａｘ（ｎ−２）｝の値が大きいほどβの値を小さくする、画像処理装置。
【請求項８】
請求項３乃至７のいずれか一項に記載の画像処理装置であって、
前記算出された補正位置ベクトルに基づいて、前記取得された一定量の画像についての補正画像を生成する補正画像生成部をさらに備え、
前記補正位置算出部が、前記補正限界値Ｓｍａｘ（ｎ）に基づいて補正画像のサイズおよび補正画像の拡大率を算出し、
前記補正画像生成部が、算出された補正画像のサイズおよび補正画像の拡大率に基づいて、前記所定の画像を切り取って補正画像を生成する、画像処理装置。
【請求項９】
動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成して表示する画像表示装置であって、
時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得部と、
前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出部と、
前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出部と、
を備え、
前記補正位置算出部が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出部をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する、画像表示装置。
【請求項１０】
動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する画像撮像装置であって、
時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得部と、
前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出部と、
前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出部と、
を備え、
前記補正位置算出部が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出部をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する、画像撮像装置。
【請求項１１】
動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する画像処理方法であって、
時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得工程と、
前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出工程と、
前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出工程と、
を備え、
前記補正位置算出工程が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出工程をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する、画像処理方法。
【請求項１２】
動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、
時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得処理と、
前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出処理と、
前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出処理と、
を備え、
前記補正位置算出処理が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出処理をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する、プログラム。
【請求項１３】
動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する処理をコンピュータに実行させるためのプログラムを記録したコンピュータによって読取可能な記録媒体であって、
時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得処理と、
前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出処理と、
前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出処理と、
を備え、
前記補正位置算出処理が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出処理をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する、プログラムを記録したコンピュータによって読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像または時系列に連続する静止画像からフレーム画像を取得し、取得したフレーム画像から所定の画像を切り取って、補正フレーム画像を生成する画像処理技術に関する。
【背景技術】
【０００２】
近年ビデオカメラやデジタルカメラ、さらに画像撮影機能を有する携帯電話などの撮影機器を用いて、運動会など所望する画像を動画像として撮影することが行われている。その際、撮影装置を手持ちで撮影したとき、手ぶれによって撮影画像に画像ぶれが生じてしまう。このため、従来より、撮影時の画像ぶれを補正する画像処理技術が提案されている（例えば、特許文献１）。
【０００３】
特許文献１には、撮影したフィールド画像の動きベクトルを算出し、算出した動きベクトルから計算した積分ベクトルだけフィールド画像をシフトさせることによって手ぶれを補正する画像処理技術が開示されている。
【０００４】
【特許文献１】特許第２９５７８５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の画像処理技術では、手ぶれによる映像の動きをキャンセルさせる方向に各フレーム画像をシフトさせる際、映像が欠落しないように最大のシフト量に応じてフレーム画像をトリミングして出力する。しかし、特許文献１に記載の画像処理技術では、フレーム画像から切り取られる補正画像のサイズは常に一定であり、補正の必要のない画像についてもフレーム画像の切り取りが行われてしまうという課題がある。
本発明は、このような課題を解決するためになされたもので、フレーム画像から切り取られる補正画像のサイズが可変である画像処理装置、画像表示装置、画像撮像装置、画像処理方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明の一態様による画像処理装置は、動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する画像処理装置であって、時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得部と、前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出部と、前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出部と、を備え、前記補正位置算出部が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出部をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化するように構成される。
【０００７】
上記のように構成された画像処理装置によれば、所定の画像を切り取るサイズに相当する補正限界値が、一定量の画像のシフト量に相当する補正位置ベクトルの大きさに応じて変化する。このため、補正位置ベクトルの大きさに応じてフレーム画像の切り取りサイズを連続的に変化させることで、通常表示（Ｓｍａｘ（ｎ）＝０の状態）と補正表示（０＜Ｓｍａｘ（ｎ）≦Ｓｍａｘ＿ｍａｘの状態）とを徐々に切り替えることができる。
【０００８】
ここで、「一定量の画像」は、実施形態における「フレーム画像」に対応しているが、フレーム画像には限定されない。
【０００９】
また、「補正画像」が、実施形態における「補正フレーム画像」に対応し、「画像取得部」が、実施形態における「フレーム画像取得部１１０」に対応している。
【００１０】
上記本発明による画像処理装置によれば、前記補正限界値算出部は、前記所定の画像を切り取るサイズが前記補正位置ベクトルの大きさよりも大きい場合には前記所定の画像を切り取るサイズを小さくし、前記所定の画像を切り取るサイズが前記補正位置ベクトルの大きさよりも小さい場合には前記所定の画像を切り取るサイズを大きくすることが好ましい。
【００１１】
上記本発明による画像処理装置によれば、前記補正限界値算出部は、前記補正限界値Ｓｍａｘ（ｎ）の算出において、
Smax(n)＝Smax(n−1)＋α×{Smax(n−1)−Smax(n−2)}−β×{Smax(n−1)−S(n−1)}
Ｓｍａｘ（ｎ−１）：時系列順（ｎ−１）番目の一定量の画像についての補正限界値
Ｓｍａｘ（ｎ−２）：時系列順（ｎ−２）番目の一定量の画像についての補正限界値
S（ｎ−１）：時系列順（ｎ−１）番目の一定量の画像についての補正位置ベクトル
α：１以下の正の補正係数
β：０.１以下の正の補正係数
で示される演算式を用いることが好ましい。
【００１２】
上記本発明による画像処理装置によれば、αは、0.9≦α＜1の定数であることが好ましい。
【００１３】
上記本発明による画像処理装置によれば、
βは0＜β≦0.1の定数、または
｛Ｓｍａｘ（ｎ−１）−Ｓ（ｎ−１）｝の値が大きいほどβの値を小さくする、または
｛Ｓｍａｘ（ｎ−１）−Ｓｍａｘ（ｎ−２）｝の値が大きいほどβの値を小さくする、
ようにすることが好ましい。
【００１４】
上記本発明による画像処理装置によれば、前記算出された補正位置ベクトルに基づいて、前記取得された一定量の画像についての補正画像を生成する補正画像生成部をさらに備え、前記補正位置算出部が、前記補正限界値Ｓｍａｘ（ｎ）に基づいて補正画像のサイズおよび補正画像の拡大率を算出し、前記補正画像生成部が、算出された補正画像のサイズおよび補正画像の拡大率に基づいて、前記所定の画像を切り取って補正画像を生成するように構成することが好ましい。
【００１５】
ここで、「補正画像生成部」が、実施形態における「補正フレーム画像生成部１４０」に対応している。
【００１６】
本発明の他の態様による画像表示装置は、動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成して表示する画像表示装置であって、時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得部と、前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出部と、前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出部と、を備え、前記補正位置算出部が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出部をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化するように構成される。
【００１７】
本発明のさらに他の態様による画像撮像装置は、動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する画像撮像装置であって、時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得部と、前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出部と、前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出部と、を備え、前記補正位置算出部が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出部をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化するように構成される。
【００１８】
本発明のさらに他の態様による画像処理方法は、動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する画像処理方法であって、時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得工程と、前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出工程と、前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出工程と、を備え、前記補正位置算出工程が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出工程をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化するように構成される。
【００１９】
本発明のさらに他の態様によるプログラムは、動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する処理をコンピュータに実行させるためのプログラムであって、時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得処理と、前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出処理と、前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出処理と、を備え、前記補正位置算出処理が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出処理をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化するように構成される。
【００２０】
本発明のさらに他の態様による記録媒体は、動画像または時系列に連続する静止画像から一定量の画像を取得し、該取得した一定量の画像について、所定の画像を切り取って補正画像を生成する処理をコンピュータに実行させるためのプログラムを記録したコンピュータによって読取可能な記録媒体であって、時系列順に一定量の画像毎に、当該一定量の画像を順次取得する画像取得処理と、前記順次取得した一定量の画像のうち、注目する一定量の画像の動きベクトルを、当該注目する一定量の画像より時系列順で一つ前の一定量の画像を用いて算出する動きベクトル算出処理と、前記注目する一定量の画像について、前記所定の画像を切り取る位置を示す補正位置ベクトルを算出する補正位置算出処理と、を備え、前記補正位置算出処理が、前記所定の画像を切り取るサイズに相当する補正限界値を算出する補正限界値算出処理をさらに備え、当該補正限界値が前記補正位置ベクトルの大きさに応じて変化する、プログラムを記録したコンピュータによって読取可能な記録媒体である。
ように構成される。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の実施の形態を説明する。図１は本発明の一実施形態としての画像処理装置の概略構成を示す説明図である。この画像処理装置は汎用のコンピュータであり、入力インターフェイス（Ｉ／Ｆ）１０１、ＣＰＵ１０３、ＲＡＭ１０２、ＲＯＭ１０４、ハードディスク１０５および出力インターフェイス（Ｉ／Ｆ）１０６とを備え、これらはバス１０７を介して互いに接続されている。入力Ｉ／Ｆ１０１には、動画像を入力する装置としてのデジタルビデオカメラ２００（画像撮像装置）およびＤＶＤプレーヤ２１０が接続され、出力Ｉ／Ｆ１０６には動画像を出力する装置（画像表示装置）としてのビデオプロジェクタ３００およびディスプレイ３１０が接続されている。その他、必要に応じて、動画像を記憶した記憶媒体からデータを読み出すことが可能な駆動装置や、動画像を出力することが可能な画像表示装置をそれぞれ接続することもできる。なお、動画像には時系列に連続する静止画像も含まれる。
【００２２】
また、上記画像撮像装置および画像表示装置が、それぞれ本発明による画像処理装置を備えるように構成することもできる。
【００２３】
入力Ｉ／Ｆ１０１は、所定の画素数とＲＧＢ形式など所定の画素値を有する動画像からフレーム画像を取得し、コンピュータ１００で処理できるフレーム画像データに変換する。本実施形態では、フレーム画像を構成する所定枚数のフィールド画像から、フレーム画像データを取得するものとする。フレーム画像は、記録方式に応じて通常複数の所定枚数のフィールド画像によって構成されている。例えば、ＮＴＳＣ方式で記録された動画像の場合は、インターレース方式であり、毎秒６０枚のフィールド画像によって毎秒３０枚のフレーム画像が構成されている。従って、入力Ｉ／Ｆ１０１は、２つのフィールド画像の画素値を用いて１つのフレーム画像を取得する。もとより、１つのフィールド画像が１つのフレーム画像を構成しているプレグレッシブ方式（ノンインターレース方式）のような場合は、１つのフィールド画像を用いて１つのフレーム画像を取得することになる。
【００２４】
変換されたフレーム画像データは、ＲＡＭ１０２又はハードディスク１０５に格納される。ＣＰＵ１０３は格納されたフレーム画像データに対して所定の画像処理を実行し、補正フレーム画像データとして再びＲＡＭ１０２又はハードディスク１０５に格納する。補正フレーム画像データを生成するまでに行われる所定の画像処理に際し、必要に応じてＲＡＭ１０２やハードディスク１０５が画像処理データのワーキングメモリとして用いられる。そして、格納した補正フレーム画像データを、出力Ｉ／Ｆ１０６を介して所定の画像データに変換し、ビデオプロジェクタ３００などに送出する。
【００２５】
所定の画像処理を記録したアプリケーションプログラムは、予めハードディスク１０５やＲＯＭ１０４に格納されていることとしてもよいし、例えばＣＤ−ＲＯＭなどのコンピュータが読み取り可能な記録媒体によって外部から供給され、図示しないＤＶＤ−Ｒ／ＲＷドライブを介してハードディスク１０５に記憶することによって格納されるものとしてもよい。もとより、インターネットなどのネットワーク手段を介して、アプリケーションプログラムを供給するサーバー等にアクセスし、データをダウンロードすることによってハードディスク１０５に格納されるものとしてもよい。
【００２６】
ＣＰＵ１０３は、バス１０７を介してハードディスク１０５またはＲＯＭ１０４に格納されたアプリケーションプログラムを読み出し、この読み出したアプリケーションプログラムを所定のオペレーティングシステムのもとで実行することによって、画像処理装置として機能する。特に図１に示したように、このアプリケーションプログラムが実行されることにより、ＣＰＵ１０３は、フレーム画像取得部１１０、動きベクトル算出部１２０、補正位置算出部１３０、補正フレーム画像生成部１４０、補正動きベクトル算出部１５０、画像出力部１６０として機能する。
【００２７】
各部はそれぞれ以下の処理を司る。フレーム画像取得部１１０は、コンピュータ１００に入力した動画像から時系列順にフレーム画像を取得する。動きベクトル算出部１２０は、取得されたフレーム画像の移動ベクトルを算出し、補正位置算出部１３０に渡す。補正位置算出部１３０は、動きベクトルなどを用いて、フレーム画像から所定の画像を切り取るための画像位置を補正位置ベクトルとして算出する。補正フレーム画像生成部１４０は、算出された補正位置ベクトルなどに基づいて補正フレーム画像を生成する。補正動きベクトル算出部１５０は、生成された補正フレーム画像についての動きベクトルを補正動きベクトルとして算出し、補正位置算出部に渡す。画像出力部１６０は、生成された補正フレーム画像を所定の画像データに変換して出力する。
【００２８】
次に、本実施形態の画像処理装置について各部が行う処理を、図２の処理フローチャートにより説明する。図２に示した処理が開始されると、まずステップＳ１０にて、フレーム画像取得部１１０は、入力される動画像から時系列順に、フレーム画像Ｆ（ｎ）をコンピュータ１００に取り込む処理を行う。なお、本実施形態における以下の画像処理装置の説明において、（ｎ）は時系列順でｎ番目であることを意味する。
【００２９】
本実施形態では、動画像の入力をトリガーにして、自動的にフレーム画像を時系列順で順次取り込むこととする。もとより、取り込むフレーム画像を指定することとしてもよい。フレーム画像の指定方法は、動画像からフレーム画像を取得してコンピュータ１００に取り込む際、通常付加されるフレーム画像の識別番号を指定するようにしてもよい。あるいは、ユーザーがビデオカメラに備えられたモニターなどのディスプレイ（図示せず）に表示されるフレーム画像を見ながら画像を直接指定することとしてもよい。
【００３０】
次に、ステップＳ２０において、フレーム画像取得部１１０は、コンピュータ１００に取り込むことによって取得したフレーム画像Ｆ（ｎ）が存在するか否かを判定する。動画像から取得したフレーム画像Ｆ（ｎ）が存在すれば（ＹＥＳ）次のステップに進み、存在しなければ（ＮＯ）画像処理装置における処理を終了する。
【００３１】
次に、ステップＳ３０において、動きベクトル算出部１２０は、取得したフレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）の算出処理を行う。ここで、フレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）の算出処理を説明する。時系列順ｎ−１番目のフレーム画像Ｆ（ｎ−１）に対してフレーム画像Ｆ（ｎ）の相対位置を算出し、その相対位置にフレーム画像Ｆ（ｎ）を配置する。そして、フレーム画像Ｆ（ｎ−１）の画面位置に対するフレーム画像Ｆ（ｎ）の画面位置のずれ量を、Ｘ，Ｙ方向のそれぞれの画素数として算出する。このＸ方向の画素数をＸ成分、Ｙ方向の画素数をＹ成分とするベクトルによって表したものが、フレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）となる。算出した動きベクトルＶ０（ｎ）のデータＶ０（ｎ）は、ＣＰＵ１０３によってＲＡＭ１０２などに格納される。
【００３２】
フレーム画像間の相対位置は、特許文献１に開示されている方法や、画像のパターンマッチングまたは特徴点追跡といった周知の画像処理方法によって求めることができる。具体的な相対位置の算出処理方法については、本発明の本質ではないので説明を省略する。
【００３３】
ここで、次のステップＳ４０における補正位置ベクトルＳ（ｎ）の算出処理、及び以下のステップＳ６０における補正動きベクトルＶ１（ｎ）の算出処理について、処理内容の説明についての理解を容易にするため、フレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）と補正位置ベクトルＳ（ｎ）、及び補正動きベクトルＶ１（ｎ）の関係について、図３および図４を用いて前もって説明する。
【００３４】
図３は、最初に取得される時系列順１番目のフレーム画像Ｆ（１）と、２番目、３番目のフレーム画像Ｆ（２）、Ｆ（３）をそれぞれ示している。本発明は、補正量に基づいてフレーム画像から所定の画像を切り取る補正処理によって補正フレーム画像を生成する画像処理技術を提供するものであり、補正量が０の場合に切り取られるフレーム画像は、それぞれ図３破線で示したフレーム画像ＦＫ（１）、ＦＫ（２）、ＦＫ（３）となる。
【００３５】
ここで、フレーム画像ＦＫ（ｎ）は、図３に示したように、フレーム画像Ｆ（ｎ）に対して可変の補正限界値Ｓｍａｘ(ｎ）分小さい画面サイズとなる。詳しくは、Ｘ方向では左右それぞれ可変の補正限界値Ｓｘｍａｘ(ｎ）だけ、Ｙ方向では上下それぞれ可変の補正限界値Ｓｙｍａｘ(ｎ）だけ画面サイズが小さい画像である。つまり、切り取られる画像は、Ｘ方向では２×Ｓｘｍａｘ(ｎ）分、Ｙ方向では２×Ｓｙｍａｘ(ｎ）分小さい画面サイズとなる。
【００３６】
可変の補正限界値Ｓｍａｘ(ｎ）（Ｘ成分はＳｘｍａｘ(ｎ）、Ｙ成分はＳｙｍａｘ(ｎ））の算出については、以下でステップＳ４２の処理において詳細に説明する。
【００３７】
同じく図３（下側）に、求められた相対位置に従って配置されたフレーム画像ＦＫ（１）、ＦＫ（２）、ＦＫ（３）を示した。図３より明らかなように、例えばフレーム画像Ｆ（２）の動きベクトルＶ０（２）は、フレーム画像ＦＫ（２）の動きベクトルと等しくなる。つまり、フレーム画像Ｆ（２）の動きベクトルＶ０（２）は、フレーム画像ＦＫ（１）の中心（当該実施形態において、「中心」とは、フレーム画像または補正フレーム画像を構成する長方形の対角線の交点を意味する。以下同様。）に対するフレーム画像ＦＫ（２）の中心の位置として求められる。フレーム画像ＦＫ（３）の動きベクトルＶ０（３）も同様にフレーム画像ＦＫ（２）の中心に対するフレーム画像ＦＫ（３）の中心の位置として求められる。動きベクトルＶ０（２）、Ｖ０（３）のＸ成分はＸ方向の画素数、Ｙ成分はＹ方向の画素数で表される。
【００３８】
図３において、フレーム画像Ｆ（１）は、時系列順で一つ前のフレーム画像が存在しないため、本実施形態ではフレーム画像Ｆ（１）は動いていないものとして扱い、フレーム画像ＦＫ（１）の動きベクトルＶ０（１）は０とする。
【００３９】
次に、図４を用いてフレーム画像Ｆ（ｎ）の補正位置ベクトルＳ（ｎ）と動きベクトルＶ０（ｎ）、及びステップＳ６０（図２）にて算出される補正動きベクトルＶ１（ｎ）の関係を説明する。図４は、図３（下部）に示したフレーム画像ＦＫ（１）〜ＦＫ（３）の中心付近を拡大して示した説明図である。ここで、補正フレーム画像ＨＦＧ（２）は、ステップＳ４０（図２）で算出されるフレーム画像Ｆ（２）の補正位置ベクトルＳ（２）によってフレーム画像ＦＫ（２）が補正された状態を示している。
【００４０】
図４から明らかなように、フレーム画像ＦＫ（２）は、動きベクトルＶ０（２）のＸ成分とＹ成分の画素数に従ってフレーム画像ＦＫ（１）の中心の位置を移動したものであり、補正フレーム画像ＨＦＧ（２）は、補正位置ベクトルＳ（２）のＸ成分とＹ成分の画素数に従ってフレーム画像ＦＫ（２）の中心の位置を移動したものである。また、同様に、フレーム画像ＦＫ（３）は、動きベクトルＶ０（３）のＸ成分とＹ成分の画素数に従ってフレーム画像ＦＫ（２）の中心の位置を移動したものであり、補正フレーム画像ＨＦＧ（３）は、補正位置ベクトルＳ（３）のＸ成分とＹ成分の画素数に従って、フレーム画像ＦＫ（３）の中心の位置を移動したものである。
【００４１】
また、図４に示したように、補正動きベクトルＶ１（２）は、フレーム画像ＦＫ（１）中心に対する補正フレーム画像ＨＦＧ（２）の中心の相対的な位置を示すものであり、補正動きベクトルＶ１（３）は、補正フレーム画像ＨＦＧ（２）の中心に対する補正フレーム画像ＨＦＧ（３）の中心の相対的な位置を示すものである。なお、動きベクトルＶ０（１）は０であることより補正位置ベクトルＳ（１）も０となる（後述する）。従って、フレーム画像ＦＫ（１）は補正フレーム画像ＨＦＧ（１）と同じものになる。
【００４２】
ここで、動きベクトルＶ０（ｎ）および補正動きベクトルＶ１（ｎ）は、Ｘ成分は図面右方向をプラス、Ｙ成分は図面上方向をプラスとするが、補正位置ベクトルＳ（ｎ）は、移動量を補正する意味から動きベクトルと反対に、Ｘ成分は図面左方向をプラス、Ｙ成分は図面下方向をプラスとする。従って、フレーム画像ＦＫ（２）、ＦＫ（３）の補正位置ベクトルＳ（２）、Ｓ（３）は、図４に示したように動きベクトルＶ０（２）、Ｖ０（３）と反対方向がプラス方向になる。
【００４３】
本実施形態によれば、図４にて説明したように、補正位置ベクトルＳ（ｎ）を、補正位置ベクトルＳ（ｎ−１）と、動きベクトルＶ０（ｎ）と、補正動きベクトルＶ１（ｎ−１）との３つのベクトルから求める画像処理技術を提供することによって補正遅れを抑制するとともに、補正量を可変の補正限界値Ｓｍａｘ(ｎ）以内に抑えることによって、不規則な画面移動を抑制できる。
【００４４】
次に、ステップＳ４０（図２）において、補正位置算出部１３０は、補正位置ベクトルＳ（ｎ）の算出処理を行う。ここでの処理について、図５のフローチャートを用いて詳しく説明する。
【００４５】
ステップＳ４０の処理が開始されると、まずステップＳ４１０にて注目するフレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）を入力する処理を行う。ここでは、１つ前の処理ステップＳ３０にて求められ、ＲＡＭ１０２などのメモリーに格納された動きベクトルＶ（ｎ）を、ＣＰＵ１０３が読み出すことによって入力処理を行う。
【００４６】
次に、ステップＳ４２０にて、注目するフレーム画像Ｆ（ｎ）に対して時系列順で一つ前のフレーム画像の補正動きベクトルＶ１（ｎ−１）を入力する処理を行う。ステップＳ６０（図２）にて算出され、ＲＡＭ１０２などのメモリーに格納された補正動きベクトルＶ１（ｎ−１）を、ＣＰＵ１０３が読み出すことによって入力処理を行う。
【００４７】
また、ステップＳ４３０にて、注目するフレーム画像Ｆ（ｎ）に対して時系列順で一つ前のフレーム画像の補正位置ベクトルＳ（ｎ−１）を入力する処理を行う。具体的には、ステップＳ４０（図２）にて算出され、ＲＡＭ１０２などのメモリーに格納された補正位置ベクトルＳ（ｎ−１）を、ＣＰＵ１０３が読み出すことによって入力処理を行う。
【００４８】
ステップＳ４２０及びステップＳ４３０において、「ｎ＝１」つまり時系列順１番目のフレーム画像の場合、注目するフレーム画像より時系列順で一つ前のフレーム画像（以下、単に「前フレーム画像」と称する）が存在しない。この場合は、前述したように本実施形態ではフレーム画像Ｆ（ｎ）は動いていないものとし、その結果、補正動きベクトルＶ１（１）は０、また補正位置ベクトルＳ（１）も０となる。
【００４９】
次に、ステップＳ４４０にてＸ、Ｙ各成分別に減衰係数Ｋ、Ｄの値の決定処理を行う。減衰係数Ｋ、Ｄは、次の処理ステップＳ４９０で用いる所定の演算式において使用する係数であり、補正位置ベクトルの大きさ、つまり補正量を決める係数となる。減衰係数Ｋ、Ｄとも、それぞれ１以下の小数である。
【００５０】
本実施形態では、次の３つの実施例のうち少なくとも一つの方法を用いて減衰係数Ｋ、Ｄの値を決定する。
「第１の実施例」：前フレーム画像を補正した補正フレーム画像（以下、単に「前補正フレーム画像」と称する）について算出した画像の移動量と、注目するフレーム画像の移動量との大小によって、減衰係数Ｋ、Ｄの値を決定する。さらに、注目するフレーム画像の移動量が、前補正フレーム画像の移動量以上の場合、注目するフレーム画像の動きベクトルの方向と、前補正フレーム画像の補正動きベクトルの方向とに基づいて減衰係数Ｋ、Ｄの値を決定する方法。
「第２の実施例」：補正可能範囲を示す補正限界値に対する前フレーム画像の補正量の比率と、前フレーム画像の補正量が「増加」か「減少」かの判断とによって、減衰係数Ｋ、Ｄの値を決定する方法。
「第３の実施例」：補正可能範囲である補正限界値と、前フレーム画像の補正量との差分量に対して、注目するフレーム画像の動きベクトルと、前フレーム画像の補正動きベクトルとの差分量が、どれくらいの割合にあるかによって、減衰係数Ｋ、Ｄの値を決定する方法。
「減衰係数決定方法の第１実施例」
まず、ステップＳ４４０（図５）にて行われる処理について、第１の実施例における減衰係数Ｋ、Ｄの決定処理の詳細を、図６に示した処理フローチャートを用いて説明する。第１の実施例での減衰係数Ｋ、Ｄの値の決定方法は、注目するフレーム画像の動きベクトルの大きさ及び向きと、時系列順一つ前の補正フレーム画像の大きさ及び向きとから補正量を算出し、動きベクトルの方向変化と大きさにあわせて注目するフレーム画像の補正量を算出しようとするものである。なお、ここでは、注目するフレーム画像のＸ成分についての処理を説明するが、処理ステップＳ４４０ではＹ成分についても図６に示したＸ成分の処理と同様の処理を行い、Ｘ成分、Ｙ成分それぞれについて減衰係数Ｋ、Ｄの値を決定する。そして、後述する次の処理ステップＳ４９０（図５）において、補正位置ベクトルのＸ成分とＹ成分を所定の演算式にて算出する際、それぞれ決定した減衰係数Ｋ、Ｄの値を用いるのである。
【００５１】
ここでの処理が開始されると、まずステップＳ４４１にて注目するフレーム画像の動きベクトルＶ０（ｎ）のＸ成分Ｖ０ｘ（ｎ）の抽出処理を行う。Ｘ成分Ｖ０ｘ（ｎ）はＸ方向の画素数で示され、図４に示したようにベクトルの向きが図面右方向であればプラス、左方向であればマイナスとなる。なお注目するフレーム画像の動きベクトルＶ０（ｎ）のＹ成分Ｖ０ｙ（ｎ）については、図４に示したようにベクトルの向きが図面上方向であればプラス、下方向であればマイナスとなる。
【００５２】
次に、ステップＳ４４２にて、注目するフレーム画像に対して時系列順で一つ前のフレーム画像の補正動きベクトルＶ１（ｎ−１）のＸ成分Ｖ１ｘ（ｎ−１）の抽出処理を行う。もとより、前述したように、注目するフレーム画像が時系列順１番目のフレーム画像である場合は、Ｖ１ｘ（ｎ−１）は０である。
【００５３】
次に、ステップＳ４４３にて、Ｖ０ｘ（ｎ）の絶対値と、Ｖ１ｘ（ｎ−１）の絶対値とを算出する。そして、次の処理ステップＳ４４４にてＶ０ｘ（ｎ）の絶対値がＶ１ｘ（ｎ−１）の絶対値以上か否かを判定する。ステップＳ４４４でＮＯの場合、つまり注目するフレーム画像の移動量が、前補正フレーム画像の移動量より小さい場合、ステップＳ４４５に進み、減衰係数Ｋ、Ｄの値をＫ１、Ｄ１に決定し、ステップＳ４９０（図５）に進む。
【００５４】
一方、ステップＳ４４４でＹＥＳの場合、つまり注目するフレーム画像の移動量が、前補正フレーム画像の移動量以上の場合、ステップＳ４４６に進み、Ｖ０ｘ（ｎ）とＶ１ｘ（ｎ−１）の積ＢＳｘを算出する。そして、次の処理ステップＳ４４７にて、ＢＳｘが０以上か否かを判定する。つまり、ここではベクトルＶ０ｘ（ｎ）とベクトルＶ１ｘ（ｎ−１）とが同じ向き（０以上）なのか逆向き（０より小さい）なのかを調べるのである。
【００５５】
ステップＳ４４７にてＮＯの場合（つまり逆向きの場合）、ステップＳ４４８に進み、減衰係数Ｋ、Ｄの値をＫ２、Ｄ２に決定し、ステップＳ４９０（図５）に進む。ここで、Ｋ２の値はＫ１の値より大きく、Ｄ２の値はＤ１の値よりも大きい値である。
【００５６】
一方、ステップＳ４４７にてＹＥＳの場合（つまり同じ向きの場合）、ステップＳ４４９に進み、減衰係数Ｋ、Ｄの値をＫ３、Ｄ３に決定し、ステップＳ４９０（図５）に進む。ここで、Ｋ３の値はＫ２の値より大きく、Ｄ３の値はＤ２の値よりも大きい値である。
【００５７】
第1の実施例における減衰係数Ｋ、Ｄの値について、その一例を図７の減衰係数テーブルＧＫＴ１に示した。ここで、減衰係数Ｋの値は０．９≦Ｋ≦１の範囲で、Ｋ１＜Ｋ２＜Ｋ３を満たす値であることが望ましい。また、減衰係数Ｄの値は０．５≦Ｄ≦１の範囲で、Ｄ１＜Ｄ２＜Ｄ３を満たす値であることが望ましい。補正しようとするフレーム画像の移動量が、前補正フレーム画像の移動量より小さい場合、補正しようとするフレーム画像の移動量が前フレーム画像の移動量に対して減少しているということになる。従って、仮に、補正しようとするフレーム画像の補正量が、前フレーム画像と同じ補正量であったとすると、補正量が補正限界値に達する確率は高くなる。そこで、小さい値の減衰係数を用いて補正量を少なくし、補正限界値に達しにくくするのである。
【００５８】
また、補正しようとするフレーム画像の移動量が、前補正フレーム画像の移動量以上である場合、これら２つのフレーム画像の移動量が違う方向のときは、補正しようとするフレーム画像の画面位置が前補正フレーム画像の画面位置に近づく方向に反転移動していることになる。そこで、同じ方向のときにくらべて減衰係数の値を小さくして、補正しようとするフレーム画像の補正量を少なくするのである。なお、減衰係数Ｋ１〜Ｋ３、Ｄ１〜Ｄ３の値は、本実施例に限らず、前述した条件を満たす値であれば何でもよい。
「減衰係数決定方法の第２実施例」
次に、第２の実施例における減衰係数Ｋ、Ｄの決定処理の詳細を、図８に示した処理フローチャートを用いて説明する。第２の実施例での減衰係数Ｋ、Ｄの値の決定方法は、補正限界値に近いか否かを所定の比率ＲＳによって補正量を算出し、さらに、所定の演算式によって補正量が増加か減少かを判断して注目するフレーム画像の補正量を算出しようとするものである。なお、ここでも、注目するフレーム画像のＸ成分についての処理を説明するが、処理ステップＳ４４０ではＹ成分についても図８に示したＸ成分の処理と同様の処理を行い、Ｘ成分、Ｙ成分それぞれについて減衰係数Ｋ、Ｄの値を決定する。そして、後述する次の処理ステップＳ４９０（図５）にて、補正位置ベクトルのＸ成分とＹ成分を所定の演算式にて算出する際に、それぞれ決定した減衰係数Ｋ、Ｄの値を用いるのである。
【００５９】
ここでの処理が開始されると、まずステップＳ４５１にて前フレーム画像の補正限界値Ｓｘｍａｘ(ｎ−１）の入力処理を行う。具体的には、ステップＳ４２で計算され、ＲＡＭ１０２などのメモリに格納されたＳｍａｘ(ｎ−１）のＸ成分についての値をＣＰＵ１０３が読み出すことで行う。
【００６０】
ステップＳ４５１およびステップＳ４５３において、「ｎ＝１」つまり時系列順１番目のフレーム画像の場合、前フレーム画像が存在しない。この場合、補正限界値Ｓｘｍａｘ(ｎ−１）を０とする。
【００６１】
次に、ステップＳ４５２にて、注目するフレーム画像Ｆ（ｎ）に対して時系列順で一つ前のフレーム画像の補正位置ベクトルＳ（ｎ−１）のＸ成分Ｓｘ（ｎ−１）の抽出処理を行う。ここで、前述したように、Ｘ成分Ｓｘ（ｎ−１）は、画面左方向を正方向とする画素数で表される。もとよりＹ成分Ｓｙ（ｎ−１）は、画面下方向を正とする画素数で表される。
【００６２】
次に、ステップＳ４５３にて、Ｓｘ（ｎ−１）の絶対値をＳｘｍａｘ(ｎ−１）で除した比率ＲＳの値を算出する。ＲＳの値が大きいほど、補正量が補正限界値に近い状態であることを示すことになる。
【００６３】
次にステップＳ４５４にて、注目するフレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）のＸ成分Ｖ０ｘ（ｎ）の抽出処理を行う。Ｘ成分Ｖ０ｘ（ｎ）はＸ方向の画素数で示され、図４に示したようにベクトルの向きが図面右方向であればプラス、左方向であればマイナスとなる。なお注目するフレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）のＹ成分Ｖ０ｙ（ｎ）については、図４に示したようにベクトルの向きが図面上方向であればプラス、下方向であればマイナスとなる。
【００６４】
次に、ステップＳ４５５にて、注目するフレーム画像Ｆ（ｎ）に対して時系列順で一つ前のフレーム画像の補正動きベクトルＶ１（ｎ−１）のＸ成分Ｖ１ｘ（ｎ−１）の抽出処理を行う。なお、前述したように、注目するフレーム画像Ｆ（ｎ）が時系列順１番目のフレーム画像である場合は、Ｖ１ｘ（ｎ−１）は０である。
【００６５】
ステップＳ４５２、Ｓ４５４、Ｓ４５５にて抽出した各ベクトルを用いて、次のステップＳ４５６では、「式１」より傾向値ＫＨｘを算出する処理を行う。
【００６６】
ＫＨｘ＝Ｓｘ（ｎ−１）×（Ｖ０ｘ（ｎ）−Ｖ１ｘ（ｎ−１））…「式１」
次に、ステップＳ４５７にて、傾向値ＫＨｘが０以上か否かの判定処理を行う。そして、ＹＥＳの場合は、ステップＳ４５９にて補正は「増加」と判断し、ＮＯの場合はステップＳ４５８にて「減少」と判断する処理を行う。Ｓｘ（ｎ−１）つまり前フレーム画像の補正位置ベクトルに基づく補正方向と、Ｖ０ｘ（ｎ）−Ｖ１ｘ（ｎ−１）つまり注目するフレーム画像の動きベクトルと前フレーム画像の補正ベクトルとの差に基づく画像の移動方向とを比べて、それぞれの向きが逆方向の場合は増加、同じ方向の場合は減少と判断するのである。
【００６７】
次に、算出された比率ＲＳと「増加」又は「減少」の判断情報から、ステップＳ４６０にて、減衰係数テーブルＧＫＴ２を用いて減衰係数Ｋ、Ｄの値を決定する処理を行う。減衰係数テーブルＧＫＴ２の一例を図９に示す。減衰係数テーブルはハードディスク１０５などに格納され、比率ＲＳのデータと「増加」又は「減少」の情報とから、ＣＰＵ１０３は、減衰係数テーブルＧＫＴ２より該当するアドレスの値を読み出し、減衰係数Ｋ、Ｄの値を決定する。
【００６８】
図９に示したように、第２の実施例では、減衰係数テーブルＧＫＴ２において、比率ＲＳの値を、小数点第２位を四捨五入し０．１きざみの値とした。そして、減衰係数Ｋ、Ｄの値を、比率ＲＳが大きい値になるに従って、前の値以下の小さい値になるよう設定した。さらに「増加」情報に対応する値を、「減少」情報に対応する値よりも小さい値に設定した。比率ＲＳが同じ場合でも、増加と判断した場合は、補正方向と画像の移動方向とが逆方向であることから、減少と判断した場合よりも補正が補正限界値に達しやすいため、減衰係数Ｋ、Ｄを小さくして補正量を少なくするのである。もとより、比率ＲＳの値はさらに細かいきざみ幅としたり、逆にもっと粗いきざみ幅としたりしてもよい。さらに、きざみ幅も同一でなく変化させたりしても差し支えない。
【００６９】
図９に示した減衰係数テーブルＧＫＴ２は、減衰係数Ｋ、Ｄの具体的な数値設定の一例を示したものであり、減衰係数Ｋの値は０．９≦Ｋ≦１の範囲で、減衰係数Ｄの値は０．５≦Ｄ≦１の範囲で、ＲＳの値に合わせて変更してもよい。このとき、ＲＳの値が大きい値になるに従って、減衰係数Ｋ、Ｄの値は前の値以下の小さい値になるよう設定することが好ましい。ＲＳの値が大きい場合は、ＲＳの値が小さい場合よりも補正量が補正限界値に近いことになるため、減衰係数を小さくして補正量を少なくするのである。
「減衰係数決定方法の第３実施例」
次に、第３の実施例における減衰係数Ｋ、Ｄの決定処理の詳細を、図１０に示した処理フローチャートを用いて説明する。第３の実施例での減衰係数Ｋ、Ｄの値の決定方法は、注目するフレーム画像の補正量を算出する際、時系列順で一つ前の補正フレーム画像の補正量で補正したとき、補正限界値まで何回補正可能かを調べて注目するフレーム画像の補正量を算出しようとするものである。なお、ここでも、注目するフレーム画像のＸ成分についての処理を説明するが、処理ステップＳ４４０ではＹ成分についても図１０に示したＸ成分の処理と同様の処理を行い、Ｘ成分、Ｙ成分それぞれについて減衰係数Ｋ、Ｄの値を決定する。そして、後述する次の処理ステップＳ４９０（図５）にて、補正位置ベクトルのＸ成分とＹ成分を所定の演算式にて算出する際に、それぞれ決定した減衰係数Ｋ、Ｄの値を用いるのである。
【００７０】
ここでの処理が開始されると、まずステップＳ４６１にて補正限界値Ｓｘｍａｘ(ｎ−１）の入力処理を行う。具体的には、ステップＳ４２で計算され、ＲＡＭ１０２などのメモリに格納されたＳｍａｘ(ｎ−１）のＸ成分についての値をＣＰＵ１０３が読み出すことで行う。
【００７１】
ステップＳ４６１およびステップＳ４６６において、「ｎ＝１」つまり時系列順１番目のフレーム画像の場合、前フレーム画像が存在しない。この場合、補正限界値Ｓｘｍａｘ(ｎ−１）を０とする。
【００７２】
次にステップＳ４６２にて、注目するフレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）のＸ成分Ｖ０ｘ（ｎ）の抽出処理を行う。Ｘ成分Ｖ０ｘ（ｎ）はＸ方向の画素数で示され、図４に示したようにベクトルの向きが図面右方向であればプラス、左方向であればマイナスとなる。なお注目するフレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）のＹ成分Ｖ０ｙ（ｎ）については、図４に示したようにベクトルの向きが図面上方向であればプラス、下方向であればマイナスとなる。
【００７３】
次に、ステップＳ４６３にて、注目するフレーム画像に対して時系列順で一つ前のフレーム画像の補正動きベクトルＶ１（ｎ−１）のＸ成分Ｖ１ｘ（ｎ−１）の抽出処理を行う。もとより、前述したように、注目するフレーム画像が時系列順１番目のフレーム画像である場合は、Ｖ１ｘ（ｎ−１）は０である。
【００７４】
次に、ステップＳ４６４にて、注目するフレーム画像Ｆ（ｎ）に対して時系列順で一つ前のフレーム画像の補正位置ベクトルＳ（ｎ−１）のＸ成分Ｓｘ（ｎ−１）の抽出処理を行う。ここで、前述したように、Ｘ成分Ｓｘ（ｎ−１）は、画面左方向を正方向とする画素数で表される。もとよりＹ成分Ｓｙ（ｎ−１）は、画面下方向を正とする画素数で表される。
【００７５】
次に、ステップＳ４６５にて、「式２」よりベクトル差分値ＢＳＴの算出処理を行う。
ＢＳＴ＝｜Ｖ０ｘ（ｎ）−Ｖ１ｘ（ｎ−１）｜    …「式２」
次に、ステップＳ４６６にて、「式３」より補正残量値ＳＺＴの算出処理を行う。
ＳＺＴ＝Ｓｘｍａｘ(ｎ−１）−｜Ｓｘ（ｎ−１）｜        …「式３」
次に、ステップＳ４６７にて、「式４」より補正限界フレーム数Ｔの算出処理を行う。
Ｔ＝ＳＺＴ÷ＢＳＴ                            …「式４」
ステップＳ４６７にて算出された補正限界フレーム数Ｔの値から、ステップＳ４６８にて、減衰係数テーブルＧＫＴ３を用いて減衰係数Ｋ、Ｄの値を決定する。減衰係数テーブルＧＫＴ３の一例を図１１に示す。減衰係数テーブルＧＫＴ３はハードディスク１０５などに格納され、補正限界フレーム数Ｔのデータから、ＣＰＵ１０３は、減衰係数テーブルＧＫＴ３より該当するアドレスの値を読み出し、減衰係数Ｋ、Ｄの値を決定する。
【００７６】
図１１に示した減衰係数テーブルＧＫＴ３において、補正限界フレーム数Ｔは、小数点第一位を四捨五入して整数値化した値とした。また減衰係数テーブルＧＫＴ３は、具体的な数値設定の一例を示したものであり、減衰係数Ｋの値は０．９≦Ｋ≦１の範囲で、減衰係数Ｄの値は０．５≦Ｄ≦１の範囲で、補正限界フレーム数Ｔの値に合わせて変更してもよい。このとき、Ｔの値が大きい値になるに従って、減衰係数Ｋ、Ｄの値は大きい値になるよう設定することが好ましい。Ｔの値が大きい場合は、Ｔの値が小さい場合よりも補正限界値に達するまでの補正量に余裕があることになるため、減衰係数を大きくしてフレーム画像の補正量を多くするのである。
【００７７】
以上、第１から第３の実施例にて説明したＸ成分についての処理を、Ｙ成分についても同様に行い、Ｘ、Ｙ各成分別に減衰係数Ｋ、Ｄの値を決定して処理ステップＳ４９０に進む。
【００７８】
第１ないし第３の実施例によって減衰係数Ｋ、Ｄの値がＸ成分、Ｙ成分について決定されると、ステップＳ４９０（図５）に戻り、所定の演算式を用いて注目するフレーム画像Ｆ（ｎ）の補正位置ベクトルＳ（ｎ）を算出する処理を行う。本実施形態では、所定の演算式として次の「式５」を用いる。
【００７９】
Ｓ（ｎ）＝Ｋ×Ｓ（ｎ−１）＋Ｄ×（Ｖ０（ｎ）−Ｖ１（ｎ−１））    …「式５」
注目するフレーム画像Ｆ（ｎ）の補正位置ベクトルＳ（ｎ）は、具体的には「式５」を用いて、Ｘ成分およびＹ成分についての補正位置ベクトルＳｘ（ｎ）およびＳｙ（ｎ）をそれぞれ算出することによって求められる。
【００８０】
「式５」から明らかなように、注目するフレーム画像Ｆ（ｎ）の動きベクトルＶ０（ｎ）と、フレーム画像Ｆ（ｎ−１）を補正した補正フレーム画像ＨＦＧ（ｎ−１）の補正動きベクトルＶ１（ｎ−１）との差分を求め、この差分に減衰係数Ｄを乗じた値を補正位置ベクトルＳ（ｎ）の算出に用いるため、補正後の注目するフレーム画像Ｆ（ｎ）と前補正フレーム画像ＨＦＧ（ｎ−１）間について、画像の移動が滑らかになる確率が高くなる。
【００８１】
また、「式５」による補正位置ベクトルの算出方法によれば、補正しようとするフレーム画像が、パンやチルトなど一定の画面移動速度で撮影された画像の場合、Ｖ０（ｎ）が変数ではなく定数になることから、算出されるＳ（ｎ）は一定値になりやすい。つまり、パンやチルトなど一定方向に連続した動きを有するフレーム画像の補正については、撮影された元々の画像の動きに対する追随性がよいという効果も合わせて奏することになる。
【００８２】
なお「式５」において、注目するフレーム画像が時系列順１番目（ｎ＝１）の場合、本実施形態では前述したようにフレーム画像Ｆ（１）は動いていないとしたことから、Ｓ（１）＝０である。ちなみに、
ｎ＝２の場合は、Ｓ（２）＝Ｋ×０＋Ｄ×（Ｖ０（２）−０）＝Ｄ×Ｖ０（２）
ｎ＝３の場合は、Ｓ（３）＝Ｋ×Ｓ（２）＋Ｄ×（Ｖ０（３）−Ｖ１（２））
によって、補正位置ベクトルが算出される。
【００８３】
以上で、補正位置ベクトルの算出処理ルーチン（図２、ステップＳ４０）を終了し、次にステップＳ４２（図２）に進む。ステップＳ４２では、補正限界値Ｓｍａｘ(ｎ)の算出処理を行う。補正限界値Ｓｍａｘ(ｎ)は、第ｎ番目のフレーム画像の切り取り幅（サイズ）に対応する値である。
【００８４】
この際、補正位置算出部１３０にて、時系列順（ｎ−１）番目のフレームの補正位置ベクトルS（ｎ−１）と、時系列順（ｎ−１）番目のフレームの補正限界値Ｓｍａｘ（ｎ−１）、時系列順（ｎ−２）番目のフレームの補正限界値Ｓｍａｘ（ｎ−２）から、下記の「式６」を用いて、時系列順ｎ番目のフレームの補正限界値Ｓｍａｘ（ｎ）を算出し、ＲＡＭ１０２に保存する。
Smax(n)＝Smax(n−1)＋α×{Smax(n−1)−Smax(n−2)}−β×{Smax(n−1)−S(n−1)}
…「式６」
ここで、「ｎ＝１」（時系列順１番目のフレーム画像）の場合、Ｓｍａｘ（ｎ−１）およびＳｍａｘ（ｎ−２）を０とし、「ｎ＝２」（時系列順２番目のフレーム画像）の場合、Ｓｍａｘ（ｎ−２）を０とする。
「補正係数α」
補正係数αは1以下の正の定数で、Ｓｍａｘ（ｎ）を急に変化させず滑らかに変化させる効果がある。なお、経験的に、αの値は0.9≦α＜１が好ましい。
「補正係数β」
βを定数とする場合
補正係数βは0.1以下の正の定数で、切り取り幅が補正フレームのシフト量より大きい場合は切り取り幅を小さくし、切り取り幅がシフト量より小さい場合には切り取り幅を大きくする効果がある。
【００８５】
このようにして、フレーム画像の切り取り幅（サイズ）に相当するＳｍａｘ（ｎ）が、フレーム画像のシフト量に相当する補正位置ベクトルＳ（ｎ）の大きさに応じて変化するように構成できる。
βを変数とする場合
また、補正係数βの値は、0＜β≦0.1の範囲内で、{Ｓｍａｘ（ｎ−１）−Ｓ（ｎ−１）}または｛Ｓｍａｘ（ｎ−１）−Ｓｍａｘ（ｎ−２）｝の値に応じて変化させても良い。具体的には、0＜β≦0.1の範囲内で、｛Ｓｍａｘ（ｎ−１）−Ｓ（ｎ−１）｝の値が大きいほど補正係数βの値を小さくすることで、切り取り幅が補正フレームのシフト量より小さくなる確率を抑えることができる。または、0＜β≦0.1の範囲内で、｛Ｓｍａｘ（ｎ−１）−Ｓｍａｘ（ｎ−２）｝の値が大きいほど補正係数βの値を小さくすることでＳｍａｘ（ｎ）が増加し易く減少し難くなり、切り取り幅が補正フレームのシフト量より小さくなる確率を抑えることができる。
【００８６】
このようにしても、フレーム画像の切り取り幅（サイズ）に相当するＳｍａｘ（ｎ）が、フレーム画像のシフト量に相当する補正位置ベクトルＳ（ｎ）の大きさに応じて変化するように構成できる。
【００８７】
さらに、補正限界値Ｓｍａｘ（ｎ）が無限に大きくならないように、Ｓｍａｘ（ｎ）の最大値Ｓｍａｘ＿ｍａｘを定めておき、「式６」の計算結果Ｓｍａｘ（ｎ）がＳｍａｘ＿ｍａｘより大きくなる場合には、Ｓｍａｘ（ｎ）＝Ｓｍａｘ＿ｍａｘに修正する。
【００８８】
図１３に、補正前後のフレーム位置の軌跡と補正限界値Ｓｍａｘ（ｎ）で決まる補正可能な範囲との関係を示す。図１３において、縦軸は各フレーム画像のＸ方向若しくはＹ方向の画面位置を示し、横軸は取得したフレーム画像の時系列順を表すフレーム画像数を示している。ちなみに横軸の左端はフレーム画像Ｆ（１）を示す。細い実線は補正前のフレーム画像のフレーム位置の軌跡を示し、太い実線は補正後の補正フレーム画像ＨＦＧ（ｎ）のフレーム位置の軌跡を示している。また、細い点線は補正できる範囲（補正限界値Ｓｍａｘ(ｎ））を示す。
【００８９】
図１３に示すように、第ｎ番目のフレーム画像の切り取り幅（サイズ）に相当するＳｍａｘ（ｎ）は、時間に寄らず通常一定値であるが、本発明の画像処理によれば、フレーム画像のシフト量に相当する補正位置ベクトルＳ（ｎ）の大きさに応じて適応的に変化する。
【００９０】
図１３に示すように、補正前のフレーム位置が急激に変化している矢印Ａの時点と、補正前のフレーム位置の変化量が比較的少ない矢印Ｂの時点とを比較すると、矢印Ａの時点から矢印Ｂの時点に移行するにつれて、フレーム画像のシフト量に相当する補正位置ベクトルＳ（ｎ）が小さくなり、これに伴いフレーム画像の切り取り幅（サイズ）に相当するＳｍａｘ（ｎ）が徐々に小さくなって行くことがわかる。すなわち、図１３において、フレーム画像の切り取り幅（サイズ）に相当するＳｍａｘ（ｎ）が、フレーム画像のシフト量に相当する補正位置ベクトルＳ（ｎ）の大きさに応じて適応的に変化することがわかる。
【００９１】
以上で、補正限界値Ｓｍａｘ(ｎ)の算出処理（図２、ステップＳ４２）を終了し、次にステップＳ４４（図２）に進む。ステップＳ４４では、補正位置算出部１３０が、補正フレーム画像のサイズおよび拡大率の計算処理を行う。
【００９２】
ステップ４４において、補正位置算出部１３０は、Ｓ４２で求めた補正限界値Ｓｍａｘ（ｎ）から、下記の「式７」および「式８」を用いて補正フレーム画像HFG(n)の幅（サイズ）および拡大率を計算する。
【００９３】
(HFG(n)の幅)＝(フレーム画像の幅)−2×Smax(n)                    …「式７」
(HFG(n)に対する拡大率(％))＝(フレーム画像の幅)/(HFG(n)の幅)×100  …「式８」
以上で、補正フレーム画像のサイズ（幅）および拡大率の計算処理（図２、ステップＳ４４）を終了し、次にステップＳ５０（図２）に進む。ステップＳ５０では、補正フレーム画像生成部１４０が、補正フレーム画像ＨＦＧ（ｎ）の生成処理を行う。
【００９４】
ステップＳ５０において、補正フレーム画像生成部１４０は、補正フレーム画像生成部にて、フレーム画像からステップＳ４４の「式７」で求めたサイズで、ステップＳ４０で求めた補正位置ベクトルS(n)だけ中央からシフトさせた画像を切り取り、これを補正フレーム画像HFG(n)として出力する。但し、補正位置ベクトルS(n)が、ステップＳ４２で求めた補正限界値Ｓｍａｘ（ｎ）よりも大きい場合は、Ｓｍａｘ（ｎ）だけシフトさせる。
【００９５】
図１２に、ｎ＝３のときフレーム画像Ｆ（３）から、ステップＳ４４の「式７」で求めたサイズで、所定の画像を切り取って生成される補正フレーム画像ＨＦＧ（３）の例を示した。図１２の上側に、補正がされない場合つまり補正量が０である場合において所定の画像となるフレーム画像ＦＫ（３）を破線で示した。そして、図１２の下側に、ステップＳ４０にて算出された補正位置ベクトルＳ（３）に従って、Ｘ方向にＳｘ（３）、Ｙ方向にＳｙ（３）だけ画面位置を補正して切り取った補正フレーム画像ＨＦＧ（３）を示した。このように、画面位置を補正することによって、フレーム画像について画像の移動量が抑えられることになる。
【００９６】
次にステップＳ６０にて、補正動きベクトル算出部１５０は、生成された補正フレーム画像ＨＦＧ（ｎ）について補正動きベクトルＶ１（ｎ）の算出処理を行う。前述したように、ここで算出した補正動きベクトルは時系列順で一つ後のフレーム画像の補正動きベクトルを算出するため、次のステップＳ４０で用いられる。もとより、補正動きベクトルはＸ成分Ｖ１ｘ（ｎ）とＹ成分Ｖ１ｙ（ｎ）のベクトルとして算出する。
【００９７】
次に、ステップ６５にて、補正フレーム画像生成部１４０は、Ｓ４４の「式８」で求めた拡大率に応じて、補正フレーム画像HFG(n)を拡大する。この処理は必ずしも当該画像処理装置内で行わなくてもよい。その場合は、ステップＳ７０において画像表示装置に拡大前の補正フレーム画像HFG(n)とその拡大率を出力し、補正フレーム画像HFG(n)の拡大は画像表示装置で行う。
【００９８】
次に、ステップＳ７０にて、補正フレーム画像ＨＦＧ（ｎ）の出力処理を行う。本実施形態では、生成された補正フレーム画像ＨＦＧ（ｎ）を、出力Ｉ／Ｆ１０６（図１）によってビデオプロジェクタ３００などの画像表示装置が必要とする画像信号に変換し、補正フレーム画像を生成する毎に直ちに出力するものとする。こうすれば、補正対象となるフレーム画像の取得後から補正フレーム画像の出力までの時間が短くなり、補正をリアルタイムでおこなえる可能性がある。もとより、補正フレーム画像ＨＦＧ（ｎ）の出力先をＲＡＭ１０２やハードディスク１０５などに設けられた所定の画像ファイルとし、生成した一連の複数の補正フレーム画像を格納することとしてもよい。
【００９９】
以上でフレーム画像Ｆ（ｎ）についての処理を終了し、ステップＳ８０にてｎを更新処理する。そして、ステップＳ１０に戻り、時系列順で一つ後のフレーム画像を新たにフレーム画像Ｆ（ｎ）として以降の処理を繰り返し、取得される全てのフレーム画像について補正フレーム画像を出力するのである。
【０１００】
上記本発明の一実施形態による画像処理装置によれば、フレーム画像の切り取り幅（サイズ）に相当するＳｍａｘ（ｎ）が、フレーム画像のシフト量に相当する補正位置ベクトルＳ（ｎ）の大きさに応じて適応的に変化する。このように、フレーム画像の切り取りサイズを連続的に変化させることで、通常表示（Ｓｍａｘ（ｎ）＝０の状態）と補正表示（０＜Ｓｍａｘ（ｎ）≦Ｓｍａｘ＿ｍａｘの状態）とを徐々に切り替えることができる。
【０１０１】
以上、本発明の一実施形態を説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【０１０２】
（変形例１）例えば、前記実施形態では、動画像から取得したフレーム画像Ｆ（ｎ）の移動ベクトルを、フレーム画像Ｆ（ｎ）とフレーム画像Ｆ（ｎ−１）との相対的な位置関係から算出したが、動画像を撮影する際に、速度センサーや加速度センサーなど移動量を検出する手段によって、フレーム画像のメタデータとして画面位置データが存在する場合は、この画面位置データを用いて移動ベクトルを算出してもよい。こうすれば、画像のパターンマッチングや特徴点追跡といった画像処理を行う必要がなく、動きベクトルを算出に関する処理の負荷を軽減することができる。
【０１０３】
（変形例２）また前記実施形態では、生成される補正フレーム画像の画面サイズは、取得したフレーム画像の画面サイズに対して、横方向で２×Ｓｘｍａｘ(ｎ）、縦方向で２×Ｓｙｍａｘ(ｎ）分小さい画像であったが、本変形例では補正フレーム画像の生成処理に際して、取得したフレーム画像と同じ画面サイズに拡大処理した画像としてもよい。こうすれば、補正フレーム画像による動画像は、補正前の元の動画像と同じ画面サイズになり、鑑賞者は同じ画面サイズの動画像を楽しむことができる。
【０１０４】
画面の拡大は、補正フレーム画像の画素数をフレーム画像の画素数と同じにすることで行う。画像を構成する画素数の増加は、画素の補間処理によって実現することができる。補間処理は、バイ・リニア法のほか、バイ・キュービック法、ニアレストネイバ法など、周知の手法を用いればよい。
【０１０５】
（変形例３）また、前記実施形態における画像処理装置は、汎用のコンピュータで構成するようにしたが、本発明はこれに限定されるものでなく、モバイルコンピュータやワークステーションなどで構成するようにしてもよい。あるいは、デジタルカメラやビデオカメラ、ＤＶＤ録画再生機、またはビデオプロジェクタやＴＶ、あるいは携帯電話など、動画像を記録又は再生できる機器や、時系列順で静止画像を記録又は再生できる種々の機器に、本発明の画像処理装置を組み込んで構成するようにしてもよい。
【０１０６】
（変形例４）また、前記実施形態における画像処理装置は、フレーム画像を構成する所定枚数のフィールド画像全てからフレーム画像を取得し、この取得したフレーム画像について所定の画像を切り取る位置を補正するものとしたが、これに限定せず、フレーム画像がＮ枚（Ｎは２以上の整数）のフィールド画像によって構成されている場合、これらＮ枚のフィールド画像のうち、１枚からＮ−１枚までのうち任意の枚数のフィールド画像から得られる画像をフレーム画像として、所定の画像を切り取る位置を補正するものとしても差し支えない。
【図面の簡単な説明】
【０１０７】
【図１】本発明の一実施形態としての画像処理装置の概略構成を示す説明図である。
【図２】画像処理装置の処理を説明するフローチャートである。
【図３】フレーム画像の動きベクトルを説明するための説明図である。
【図４】フレーム画像の動きベクトルと補正動きベクトル、及び補正位置ベクトルの関係を説明するための説明図である。
【図５】補正位置ベクトルの算出処理を説明するフローチャートである。
【図６】第１の実施例における減衰係数の決定処理を説明するフローチャートである。
【図７】第１の実施例における減衰係数の値を説明するための減衰係数テーブルである。
【図８】第２の実施例における減衰係数の決定処理を説明するフローチャートである。
【図９】第２の実施例における減衰係数の値を説明するための減衰係数テーブルである。
【図１０】第３の実施例における減衰係数の決定処理を説明するフローチャートである。
【図１１】第３の実施例における減衰係数の値を説明するための減衰係数テーブルである。
【図１２】フレーム画像から補正フレーム画像を生成する方法を説明する説明図である。
【図１３】補正前後のフレーム位置の軌跡と補正限界値Ｓｍａｘ（ｎ）で決まる補正可能な範囲との関係を示す図である。
【符号の説明】
【０１０８】
１００…コンピュータ、１０１…入力Ｉ／Ｆ、１０２…ＲＡＭ、１０３…ＣＰＵ、１０４…ＲＯＭ、１０５…ハードディスク、１０６…出力Ｉ／Ｆ、１０７…バスライン、１１０…フレーム画像取得部、１２０…動きベクトル算出部、１３０…補正位置算出部、１４０…補正フレーム画像生成部、１５０…補正動きベクトル算出部、１６０…画像出力部、２００…ビデオカメラ、２１０…ＤＶＤプレーヤ、３００…プロジェクタ、３１０…ディスプレイ、Ｆ（ｎ）…フレーム画像、ＦＫ（ｎ）…フレーム画像、ＨＦＧ（１）…補正フレーム画像、Ｓｍａｘ(ｎ）…補正限界値、Ｓｘｍａｘ(ｎ）…補正限界値のＸ成分、Ｓｙｍａｘ(ｎ）…補正限界値のＹ成分、Ｖ０（ｎ）…動きベクトル、Ｖ１（ｎ）…補正動きベクトル、Ｓ（ｎ）…補正位置ベクトル、Ｓｘ（ｎ）…補正位置ベクトルのＸ成分、Ｓｙ（ｎ）…補正位置ベクトルのＹ成分、Ｋ…減衰係数、Ｄ…減衰係数、ＧＫＴ１〜３…減衰係数テーブル。
【図１】
2006235689.tif 000003
【図２】
2006235689.tif 000004
【図３】
2006235689.tif 000005
【図４】
2006235689.tif 000006
【図５】
2006235689.tif 000007
【図６】
2006235689.tif 000008
【図７】
2006235689.tif 000009
【図８】
2006235689.tif 000010
【図９】
2006235689.tif 000011
【図１０】
2006235689.tif 000012
【図１１】
2006235689.tif 000013
【図１２】
2006235689.tif 000014
【図１３】
2006235689.tif 000015