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