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