(57)【要約】【課題】動画データを構成する２枚のフレーム間において、処理時間の低減を図りながら、的確に動き量を検出することができる動き量検出装置を提供する。【解決手段】動き量検出装置は、２枚のフレームのおいて抽出された各特徴点間の相関性に基づき、同２枚のフレーム間において相関性の高い特徴点同士を組合せ（Ａｎ，Ｂｍ）とし（ステップ２１０）、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の動き量Ｖｎをそれぞれ求め（ステップ２２０）、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の誤差Ｅｎをそれぞれ算出し、その誤差Ｅｎが最小となる組合せ（Ａｎ，Ｂｍ）の特徴点間の動き量Ｖｎを２枚のフレーム間の動き量とする（ステップ２４０〜２８０）。【選択図】      図８
2005284636.tif 000002
【特許請求の範囲】
【請求項１】
動画データを構成する２枚のフレーム間の動き量を検出する動き量検出装置において、
前記２枚のフレーム間において相関性の高い特徴点間の動き量をそれぞれ検出する第１の動き量検出部と、
前記相関性の高い特徴点間の誤差をそれぞれ算出し、その誤差が最小となる組合せの特徴点間の前記動き量を前記２枚のフレーム間の動き量とする第２の動き量検出部と、
を備えた動き量検出装置。
【請求項２】
請求項１に記載の動き量検出装置において、
前記２枚のフレームの特徴点を抽出する特徴点抽出部と、前記２枚のフレームから抽出された各特徴点間の相関性に基づき、同２枚のフレーム間において相関性の高い特徴点同士を組合せるマッチング処理部と、を備えた動き量検出装置。
【請求項３】
請求項１又は２に記載の動き量検出装置において、
前記第２の動き量検出部は、前記相関性の高い特徴点間の誤差を、各特徴点の周囲に存在する所定数の画素の画素値に基づいて算出する動き量検出装置。
【請求項４】
請求項２又は３に記載の動き量検出装置において、
前記マッチング処理部は、前記２枚のフレームにおいて、一方のフレームで抽出された特徴点が指定する他方のフレームの特徴点が、前記一方のフレームの特徴点を指定していれば、その特徴点同士を組合せとする動き量検出装置。
【請求項５】
請求項４に記載の動き量検出装置において、
前記マッチング処理部は、互いに指定される特徴点間の相関値が所定値よりも小さければ、その特徴点同士を組合せとしない動き量検出装置。
【請求項６】
請求項１〜５のうち何れか１項に記載の動き量検出装置と、
前記２枚のフレーム間の動き量に基づいて合成画像を生成する画像合成部と、
を備えた画像形成装置。
【請求項７】
請求項６に記載の画像形成装置において、
前記画像合成部は、前記合成画像の基準となる参照フレームと複数のフレームとを合成し、前記参照フレームとその他のフレームとの間の動き量をそれぞれ検出し、検出された各動き量に基づいて前記参照フレームの画素間に副画素を生成する画像形成装置。
【請求項８】
動画データを構成する２枚のフレーム間の動き量を検出する動き量検出方法において、
前記２枚のフレーム間において相関性の高い特徴点間の動き量をそれぞれ検出する第１の動き量検出ステップと、
前記相関性の高い特徴点間の誤差をそれぞれ算出し、その誤差が最小となる組合せの特徴点間の前記動き量を前記２枚のフレーム間の動き量とする第２の動き量検出ステップと、
を備えた動き量検出方法。
【請求項９】
動画データを構成する２枚のフレーム間の動き量を検出する処理を制御部が実行するための動き量検出プログラムであって、
前記制御部が、
前記２枚のフレーム間において相関性の高い特徴点間の動き量をそれぞれ検出する第１の動き量検出処理と、
前記相関性の高い特徴点間の誤差をそれぞれ算出し、その誤差が最小となる組合せの特徴点間の前記動き量を前記２枚のフレーム間の動き量とする第２の動き量検出処理と、
を実行するための動き量検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き量検出装置、画像形成装置、動き量検出方法及び動き量検出プログラムに関するものである。
【背景技術】
【０００２】
デジタルカメラで撮像した動画像やDVD-ROM 等のメディアに記憶された動画データはフレームと呼ばれる画像データの連続で構成されており、このフレームを連続表示することで動画の再生が実現される。近年、このような動画データを構成するフレームのうちの１枚を、静止画像として印刷する構成が提案されている。
【０００３】
ところで、動画データは、動画表示においてはノイズが目立ちにくいことから静止画像を圧縮する場合と比較して圧縮率が高いため、１枚のフレームに着目するとジャギやノイズの存在する精度の低いものとなっている。また、一般的な動画データを構成するフレームの大きさは例えば３２０（画素）×２４０（画素）であり、プリンタの出力画像のドット密度は例えば７２０ｄｐｉというように極めて高密度である。このため、動画データを構成する１枚のフレームをプリンタにおいて例えばＬ判用紙に印刷しようとすると、画素数の不足やノイズ等に起因して画像のぼやけやノイズの発生を招き、高品質な印刷画像を得ることが困難である。
【０００４】
そこで、印刷するフレームに補間処理を施してフレームの画素間に副画素を生成し（例えば、特許文献１参照）、高画質な印刷画像を得る技術が公知である。しかし、１枚のフレームの画素に基づいて副画素を生成すると、その画像よりも高い周波数成分を得ることはできないためエッジのたたないぼやけた印刷画像となり易く、やはり高品質な印刷画像を得ることは困難であった。そこで、フレーム間の時間的なずれ（動き量）を利用して動画データを構成する複数のフレームを使用して補間処理を施し、画素数を元の画像データよりも多くした印刷画像を得る方法が提案されている。
【特許文献１】特開２００１−２６８３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、動画データを構成する複数のフレームを使用して画像を合成するとき、フレーム間の時間的なずれによる動き量を検出し、この動き量に基づいて画像を合成する。従来のフレーム間の動き量検出方法においては、例えばブロックマッチング法により、フレームの画面内を所定数の画素単位に分割して、フレーム間で各ブロックの画素値を比較することで動き量を検出していた。しかし、このようにフレームの画面全体の画素について検証する方法であると、動き量検出のための計算量が膨大となり処理時間がかかるという問題があった。
【０００６】
本発明は上記課題に鑑みなされたものであり、動画データを構成する２枚のフレーム間において、処理時間の低減を図りながら、的確に動き量を検出することができる動き量検出装置、画像形成装置、動き量検出方法及び動き量検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は、動画データを構成する２枚のフレーム間の動き量を検出する動き量検出装置において、前記２枚のフレーム間において相関性の高い特徴点間の動き量をそれぞれ検出する第１の動き量検出部と、前記相関性の高い特徴点間の誤差をそれぞれ算出し、その誤差が最小となる組合せの特徴点間の前記動き量を前記２枚のフレーム間の動き量とする第２の動き量検出部と、を備えたことを要旨とする。
【０００８】
また、上記の動き量検出装置に対応する本発明の動き量検出方法は、動画データを構成する２枚のフレーム間の動き量を検出する動き量検出方法において、前記２枚のフレーム間において相関性の高い特徴点間の動き量をそれぞれ検出する第１の動き量検出ステップと、前記相関性の高い特徴点間の誤差をそれぞれ算出し、その誤差が最小となる組合せの特徴点間の前記動き量を前記２枚のフレーム間の動き量とする第２の動き量検出ステップと、を備えたことを要旨とする。
【０００９】
上述した動き量検出装置及び動き量検出方法によれば、画像合成に使用される２枚のフレーム間において相関性の高い特徴点間のそれぞれの動き量が求められ、誤差が最小となる特徴点間の動き量が２枚のフレーム間の動き量として決定される。このように、相関性の高い特徴点のみを用いて２枚のフレーム間の動き量が検出されるため、各フレームの画面全体に存在する画素を用いて動き量を検出する場合と比較して、動き量検出精度の低下を抑制しつつ処理を簡易化することができる。従って、動画データを構成する２枚のフレーム間において、処理時間の低減を図りながら、的確に動き量を検出することができる。
【００１０】
上述した動き量検出装置において、前記２枚のフレームの特徴点を抽出する特徴点抽出部と、前記２枚のフレームから抽出された各特徴点間の相関性に基づき、同２枚のフレーム間において相関性の高い特徴点同士を組合せるマッチング処理部と、を備えたこととしてもよい。
【００１１】
これによれば、特徴点が抽出され相関性の高い特徴点同士が組合せとされるため、第１の動き量検出部により相関性の高い特徴点間のみの動き量が検出され、動き量検出精度の低下を抑制しつつ処理を高速化することができる。
【００１２】
また、上述した動き量検出装置において、前記第２の動き量検出部は、前記相関性の高い特徴点間の誤差を、各特徴点の周囲に存在する所定数の画素の画素値に基づいて算出することとしてもよい。
【００１３】
これによれば、組合せとされた特徴点間の動き量を検証する際に使用する画素を、各特徴点の周囲に存在する画素のみに限定したため、フレーム全体に存在する画素を使用して検証する場合と比較して、動き量検出精度の低下を抑制しつつ処理を高速化することができる。
【００１４】
更には、上述した動き量検出装置において、前記マッチング処理部は、前記２枚のフレームにおいて、一方のフレームで抽出された特徴点が指定する他方のフレームの特徴点が、前記一方のフレームの特徴点を指定していれば、その特徴点同士を組合せとすることとしてもよい。
【００１５】
これによれば、一方のフレームの特徴点のみから他方のフレームの特徴点を指定している場合はその特徴点は組合せとされないため、２枚のフレーム間に存在するノイズを特徴点の組合せから削減することができる。
【００１６】
また、上述した動き量検出装置において、前記マッチング処理部は、互いに指定される特徴点間の相関値が所定値よりも小さければ、その特徴点同士を組合せとしないこととしてもよい。
【００１７】
これによれば、相関性の低い特徴点同士は組合せとされないため、２枚のフレーム間に存在するノイズを特徴点の組合せから削減することができる。
また、本発明の画像形成装置は、上述した動き量検出装置と、前記２枚のフレーム間の動き量に基づいて合成画像を生成する画像合成部と、を備えたことを要旨とする。
【００１８】
上述した画像形成装置によれば、動画データを構成するフレーム間において、処理時間の低減を図りながら、的確な動き量を検出してその動き量に基づいて画像を合成し、高品質な印刷画像を得ることができる。
【００１９】
更には、上述した画像形成装置において、前記画像合成部は、前記合成画像の基準となる参照フレームと複数のフレームとを合成し、前記参照フレームとその他のフレームとの間の動き量をそれぞれ検出し、検出された各動き量に基づいて前記参照フレームの画素間に副画素を生成することとしてもよい。
【００２０】
これによれば、参照フレームと複数のフレームとを使用して合成画像を生成する場合に、各フレームの画面全体に存在する画素を用いて動き量を検出する場合と比較して、動き量検出の精度低下を抑制しつつ処理を簡易化して、処理時間を大幅に短縮することができる。
【００２１】
また、上述した動き量検出方法を実現する本発明の動き量検出プログラムは、動画データを構成する２枚のフレーム間の動き量を検出する処理を制御部が実行するための動き量検出プログラムであって、前記制御部が、前記２枚のフレーム間において相関性の高い特徴点間の動き量をそれぞれ検出する第１の動き量検出処理と、前記相関性の高い特徴点間の誤差をそれぞれ算出し、その誤差が最小となる組合せの特徴点間の前記動き量を前記２枚のフレーム間の動き量とする第２の動き量検出処理と、を実行するためのものである。
【００２２】
これによれば、上述の各種機能を実現すれば、動画データを構成する２枚のフレーム間において、処理時間の低減を図りながら、的確に動き量を検出することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明を具体化した実施の形態を図面を参照して説明する。
図１は、本実施の形態に係る印刷システムを示す概略図である。
印刷システムは、動き量検出装置及び画像形成装置としてのパーソナルコンピュータ（以下「ＰＣ」という）１とプリンタ２とを含み、それらは、本実施の形態においては、例えばＵＳＢケーブル３により接続されている。本実施形態では、プリンタ２はＰＣ１の周辺機器として機能する。
【００２４】
ＰＣ１は、表示画面４と入力装置５とを備えており、ユーザは、表示画面４を見ながら、入力装置５を構成するキーボード５ａやマウス５ｂを操作することで、印刷指示等の各種の指示をプリンタ２に与えることができる。
【００２５】
表示画面４は、画像データ（動画データ）や各種処理の結果を示す画面、用紙サイズ、用紙種類、レイアウト、静止画像選択、印刷枚数等のパラメータ入力等の表示に用いられる。そして、表示画面４に表示された種々の条件が入力装置５のキーボード５ａやマウス５ｂの操作により選択されることで、プリンタ２に印刷指示等を与えることができるように構成されている。
【００２６】
表示画面４には、画面水平方向に８００画素と画面垂直方向に６００画素の表示エリアを備えており、ドットマトリクス状の画素で表現した画像データをＲＧＢの三原色においてそれぞれ２５６階調表示することにより、約１６７０万色を表現可能となっている。なお、この解像度は一例に過ぎず、例えば、６４０×４８０画素や、１０２４×７２０画素に適宜変更可能である。
【００２７】
プリンタ２は、インクジェット式プリンタであり、本体６の背面側には用紙供給装置７が設けられており、シートフィーダ７ａにセットされた用紙、あるいはロール紙支持部７ｂにセットされたロール紙等が本体６内部に給紙される。本体６の中央に設けられたカバー８の下方には印刷機構（図示略）が設けられており、この印刷機構の作動により印刷された用紙９が本体６の前側下部に設けられた排紙口１０から排出される。
【００２８】
プリンタ２の本体６の側面下側には、外部機器と接続するための接続部として、本実施の形態においては例えばＵＳＢポート１１が設けられている。本実施形態では、ＵＳＢポート１１には、上述したようにプリンタ２がＵＳＢケーブル３を介して接続されている。
【００２９】
図２は、ＰＣ１及びそれに接続されるプリンタ２の構成を示すブロック図である。なお、図１と同様な構成部分については、同一符号を付して説明する。
まず、ＰＣ１の構成について説明する。
【００３０】
ＰＣ１は、ＣＰＵ２１、メモリ２２、記憶装置２３、ドライブ装置２４及びインタフェース回路（以下、単に「Ｉ／Ｆ」という）２５を備え、それらは内部バス２６を介して相互に接続されている。
【００３１】
制御部としてのＣＰＵ２１は、記憶装置２３に格納されているプログラムを読み出し、そのプログラムに従った処理を実行することにより、ＰＣ１を統括的に制御する。メモリ２２は、ＣＰＵ２１が処理を実行する際のワーキングメモリとして利用される。
【００３２】
ドライブ装置２４は、記録媒体２７を駆動してその記憶内容にアクセスする。ＣＰＵ２１は、ドライブ装置２４を介して記録媒体２７からプログラムを読み出し、それを記憶装置２３にインストールする。記憶装置２３には、例えば、動き量検出処理、画像形成処理、画像データをプリンタ２に送り出す処理等を実行するためのプログラムが格納されている。記録媒体２７としては、光ディスク（CD-ROM,DVD-ROM,… ）、光磁気ディスク（MO,MD,…）等、任意の記録媒体を使用することができる。なお、記録媒体２７には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置を含む。
【００３３】
記憶装置２３においては、ＰＣ１に画像データを入力するとともに、プリンタ２や表示画面４に画像データを出力するために所定のプログラムが実行される。そのうち、基本プログラムとして稼動しているのは、オペレーティングシステム（以下、「ＯＳ」という）３１であり、このＯＳ３１上には、アプリケーションプログラム（以下、単に「アプリケーション」という）３２が、記録媒体２７としてのＣＤ−ＲＯＭから読み取りをすることによりインストールされている。アプリケーション３２にはディスプレイドライバ３３やプリンタドライバ３４等が組み込まれている。なお、ディスプレイドライバ３３やプリンタドライバ３４の類は、表示画面４やプリンタ２の機種に依存しており、それぞれの機種に応じてＯＳ３１に対して追加変更可能である。また、機種に依存して標準処理以上の付加機能を実現することもできるようになっており、許容される範囲内での各種の追加的処理を実現可能である。
【００３４】
ＣＰＵ２１は、入力装置５の操作に基づいて、ドライブ装置２４を介してDVD-ROM等の記録媒体２７から画像データを読み込む処理や、画像データの加工をする処理、表示及び保存のための処理、画像データをディスプレイドライバ３３に送って表示画面４に表示させる処理等を行う。
【００３５】
また、ＣＰＵ２１は、記録媒体２７に記憶された、例えばＭＰＥＧ形式の動画データを順次読み出し、読み出した動画データをディスプレイドライバ３３において復号化処理を施すことでデコードし、該デコード後のデータを表示画面４に順次出力して動画を表示させる処理を行う。
【００３６】
そして、ＣＰＵ２１は、入力装置５の所定の操作ボタンが操作されると、動画の静止／再生を行う。詳しくは、動画の表示中に入力装置５が操作されると、動画を一時停止させて静止画像（フレーム）を表示させた状態とする。即ち、ディスプレイドライバ３３は、メモリ２２からの読み出し及びデコード処理を中断するとともに、その時にメモリ２２に格納されているデコード済みのデータを表示画面４に繰り返し出力する。これにより、表示画面４には、動画を一時停止させた静止画像（フレーム）が表示される。そして、ディスプレイドライバ３３は、動画の一時停止中に入力装置５が操作されると、静止画像以降の動画を再生する。
【００３７】
また、ＣＰＵ２１は、動画から静止画像を取得する処理（キャプチャ処理）を実行する。ＣＰＵ２１は、メモリ２２に記憶された動画データを表示画面４にて再生するとともに、入力装置５の操作によって連続的な再生を一時停止させ、表示画面４に表示されている画像のデータを入力装置５の操作によって参照フレームとして取得する。そして、この参照フレームを基準として所定数のフレームを取得して、画像合成に使用する複数のフレームとしてメモリ２２に格納する。
【００３８】
そして、ＣＰＵ２１は、入力装置５の操作により印刷指令等の操作がなされると、メモリ２２に格納された画像データ（例えば、画像合成に使用する複数のフレーム）をプリンタドライバ３４に入力し、印刷データに変換させてプリンタ２に送出する処理を行う。
【００３９】
ここで、仮に、動画を表示画面４に表示させながら一時停止したときの１枚の静止画像を、プリンタ２において印刷画像として出力しようとすると、印刷画像に不具合が生じる場合がある。即ち、一般的な動画データを構成する１枚のフレームの画素数に対して、プリンタ２で出力される画像の画素密度が格段に多いため、１枚のフレームをプリンタ２において例えばＬ判用紙に印刷しようとすると、画素数の不足から良好な画質が得られない場合がある。また、表示画面４上での表示を画素単位で一致させて印刷するとなると極めて小さな画像となる場合がある。
【００４０】
このため、本実施形態では、プリンタドライバ３４は、動き量検出処理及び画像形成処理を含む解像度変換処理を実行する解像度変換部を備えている。つまり、プリンタドライバ３４は、動画データを構成する複数のフレームを使用して、１枚のフレームの実際の画素の間に、該画素に基づいて副画素を生成する補間処理を行い、受け取った画像データの解像度をプリンタ２が印刷するための印刷解像度に変換する。
【００４１】
詳しくは、プリンタドライバ３４の解像度変換部は、動画データを構成する２枚のフレームの特徴点を抽出する特徴点抽出部と、２枚のフレームのおいて抽出された各特徴点間の相関性に基づき、この２枚のフレーム間において相関性の高い特徴点同士を組合せるマッチング処理部とを備える。また、解像度変換部は、２枚のフレーム間において相関性の高い特徴点間の動き量をそれぞれ検出する第１の動き量検出部と、相関性の高い特徴点間の誤差をそれぞれ算出し、その誤差が最小となる組合せの特徴点間の動き量を２枚のフレーム間の動き量とする第２の動き量検出部とを備える。更に、解像度変換部は、２枚のフレーム間の動き量に基づいて合成画像を生成する画像合成部を備える。
【００４２】
また、プリンタドライバ３４はコマンド生成部を備えており、コマンド生成部は解像度変換後の画像データにコマンドを付して印刷データとしてプリンタ２に出力する。Ｉ／Ｆ２５は、ＵＳＢケーブル３を介してプリンタ２と接続され、プリンタ２に印刷データを送信する。
【００４３】
次に、ＰＣ１と接続されたプリンタ２の構成について説明する。
プリンタ２は、色インクを用いて記録媒体たる用紙９上にドットを付して画像を印刷可能となっている。画像密度は、例えば、３６０×３６０ｄｐｉや７２０×７２０ｄｐｉといった高密度印刷が可能となっているが、階調表現については色インクを付すか否かといった２階調表現となっている。
【００４４】
上述したように、本実施形態においては、プリンタ２はＰＣ１の周辺機器として機能する。プリンタ２は、第１のＲＡＭ４１、ＲＯＭ４２、第２のＲＡＭ４３、プリンタヘッド４４及びＣＰＵ組込みＡＳＩＣ４５を備えている。
【００４５】
第１のＲＡＭ４１には、ＰＣ１から送られてきた画像データが格納される。ＲＯＭ４２には、後述するＣＰＵ５１が処理を実行するために必要な制御プログラムや各種のアプリケーションプログラムが格納されている。第２のＲＡＭ４３は、後述するＣＰＵ５１が処理を実行する際のワーキングメモリとして利用される。例えば、第２のＲＡＭ４３は、後述する画像処理の段階で生成されるデータ（印刷イメージデータ等）を一時格納しておくためのバッファとして利用される。
【００４６】
プリンタヘッド４４は、主走査方向（紙送り方向と垂直な方向）に往復移動するキャリッジ（図示略）の下端に設けられており、用紙９の搬送路に対向した面に各色のノズルを多数個有している。このプリンタヘッド４４は、後述するヘッド制御回路５２の制御に基づいて、主走査方向に往復移動しながら、各色のインク滴をそれぞれの色に対応したノズルから吐出することで、給紙された用紙９に画像を形成する。
【００４７】
ＣＰＵ組込みＡＳＩＣ４５は、ＣＰＵ５１、ヘッド制御回路５２、画像処理回路５３、メモリインタフェース回路（以下、単に「メモリＩ／Ｆ」という）５４及びインタフェース回路（以下、単に「Ｉ／Ｆ」という）５５を備え、それらは内部バス５６にて相互に接続されている。この内部バス５６には、上述した第１のＲＡＭ４１及びＲＯＭ４２も接続されている。
【００４８】
ＣＰＵ５１は、ＲＯＭ４２に格納されているプログラムを読み出し、そのプログラムに従った処理を実行することにより、プリンタ２を統括的に制御する。例えば、ＣＰＵ５１には、後述する画像処理回路５３での色変換処理、ハーフトーン処理及びマイクロウィーブ処理や、ヘッド制御回路５２でのキャリッジのモータの駆動制御を司る。
【００４９】
画像処理回路５３は、色変換部、ハーフトーニング部及びマイクロウィーブ部としての機能を有している。詳述すると、色変換部は、第１のＲＡＭ４１に格納されているＲＧＢの多階調の画像データに色変換処理を施し、例えば、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）、ライトシアン（ＬＣ）、ライトマゼンダ（ＬＭ）、ライトイエロー（ＬＹ）の７色の多階調の画像データを生成して、それをメモリＩ／Ｆ５４を介して接続された第２のＲＡＭ４３に格納する。
【００５０】
ハーフトーニング部は、その色変換処理後の画像データにハーフトーン処理を施し、多階調の画像データを各色毎に２値化して表した印刷イメージデータ（色プレーン）を生成して、それを第２のＲＡＭ４３に格納する。マイクロウィーブ部は、そのハーフトーン処理後の各色プレーンのラスタラインをノズル数、ヘッド走査回数、紙送り量等に基づき並び替えて印刷データを生成し、それらを第２のＲＡＭ４３に格納する。
【００５１】
ヘッド制御回路５２は、プリンタヘッド４４を往復移動させるキャリッジのモータの駆動を制御するとともに、画像処理回路５３で生成された各色の印刷データに基づいてインク滴の有無や、吐出するインク滴の量等を制御する。Ｉ／Ｆ５５は、ＵＳＢケーブル３を介してＰＣ１と接続され、ＰＣ１から送られてくる画像データを受信する。
【００５２】
次に、上記の印刷システムにおいて実行される動き量検出処理及び画像形成処理について説明する。
先ず、ユーザは、入力装置５を操作して、記録媒体２７に記憶された動画データの選択画面を表示画面４に表示させて、所望の動画データＤ１を選択した後、入力装置５により動画再生の操作を行うと、図３に示す処理が開始される。
【００５３】
先ず、ステップ１００において、ＣＰＵ２１は、選択された動画データＤ１を記録媒体２７から読み出し、その動画データＤ１をディスプレイドライバ３３に転送し、ディスプレイドライバ３３において動画データＤ１をＲＧＢの画像データにデコードさせた後、該画像データを一旦メモリ２２に格納する。ＣＰＵ２１は、その画像データに応じた静止画像（フレーム）を順次表示画面４に送出することで、表示画面４に動画を再生させる。
【００５４】
図４には、動画データＤ１を構成するフレームの具体例を示している。フレーム５０１〜５１０が図中矢印にて示す動画再生方向に順に表示されて動画が再生される。フレーム５０１，５１０はＩピクチャーであり、フレーム内符号化により符号化されたフレームである。また、フレーム５０４，５０７はＰピクチャーであり、直前のＩピクチャー又はＰピクチャーを参照画像とする片方向のフレーム間符号化により符号化されたフレームである。従って、例えばフレーム５０４を符号化する際には、フレーム５０１を参照してフレーム間予測が行われる。フレーム５０２，５０３，５０５，５０６，５０８，５０９はＢピクチャーであり、直前と直後のＩピクチャー又はＰピクチャーを用いた双方向のフレーム間予測が行われる。なお、ディスプレイドライバ３３は、Ｉピクチャー及びＰピクチャーのみを表示画面４に表示させて、動画を高速で再生することも可能である。
【００５５】
続くステップ１１０において、ＣＰＵ２１は、アプリケーション３２に、再生中の動画データＤ１から、画像合成に使用する複数のフレームを決定する処理を実行させる。即ち、ＣＰＵ２１は、表示画面４において再生中の動画データＤ１（図４参照）から静止画像（フレーム）を取得し、その静止画像を画像合成に使用する複数のフレームとして決定する。
【００５６】
このとき、本実施形態においては、ＣＰＵ２１は、ユーザによる入力装置５の操作に応答して動画データＤ１の再生を一時停止させ、動画データＤ１の一時停止中に表示画面４に表示された画像を参照フレームＡとする。即ち、ＣＰＵ２１は、入力装置５から停止信号を取得し、表示画面４において再生中の動画データＤ１を一時停止させて、同じ静止画面（フレーム）を繰り返し表示させ、その状態で入力装置５から決定を指示する制御信号を取得すると、表示中の静止画像を参照フレームＡとして取得する。
【００５７】
更に、ＣＰＵ２１は、参照フレームＡを基準に複数のフレームＢ〜Ｄを取得して画像合成に使用する複数のフレームとする。具体的には、参照フレームＡを基準として、動画再生時に参照フレームＡの前に表示される１枚のフレームＢと、参照フレームＡの後に表示される２枚のフレームＣ，Ｄとを取得する。そして、ＣＰＵ２１は、取得した参照フレームＡ及びその他のフレームＢ〜Ｄをメモリ２２に格納する。
【００５８】
このように、表示画面４に動画データＤ１を再生させながら一時停止の操作を行ったときに表示される画像が参照フレームＡとして選択され、その参照フレームＡを基準としてその他のフレームＢ〜Ｄが取得される。このため、ユーザは動画データＤ１の再生を一時停止させたときに表示画面４に表示された画像を確認し、その画像を選択して高精細な合成画像として生成することができる。
【００５９】
そして、ステップ１２０において、ＣＰＵ２１は、アプリケーション３２に、参照フレームＡとその他のフレームＢ〜Ｄとの間の動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄを検出する処理を実行させる。即ち、動画データＤ１を構成するフレーム間においては、図５に示すように時間的な経過により多少のずれが存在しており、その各フレーム間の動き量を検出する。このとき、参照フレームＡとその他のフレームＢ〜Ｄとの間にそれぞれ動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄが検出されてメモリ２２に格納される。なお、このフレーム間の動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄを検出する処理については後述する。
【００６０】
更に、ステップ１３０において、ＣＰＵ２１は、アプリケーション３２に、フレーム合成を行わせて合成画像としての印刷画像Ｄ２を合成する画像合成処理を実行させる。即ち、ＣＰＵ２１は、参照フレームＡ及びフレームＢ〜Ｄの画像データと、参照フレームＡとその他のフレームＢ〜Ｄとの間の動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄのデータとを取得し、それに基づいて参照フレームＡの画素間に副画素を生成して印刷画像Ｄ２を生成する。
【００６１】
図６には、参照フレームＡにおける実際の画素（以下、単に「実画素」という）の位置と、実画素に基づき演算により算出される副画素の位置の一例を示している。実画素は、参照フレームＡの画面水平方向及び画面垂直方向にドットマトリックス状に配置されており、副画素は実画素の半分のピッチで配置されるように形成されている。例えば、図６に示す４つの実画素ｐ１，ｑ１，ｒ１，ｓ１に囲まれる箇所に副画素＊が生成される際には、副画素＊の画素値ｆ（＊）は、下記の式で表される。
【００６２】
ｆ（＊）＝[ｆ（ｐ１）＋ｆ（ｑ１）＋ｆ（ｒ１）＋ｆ（ｓ１）]／２
参照フレームＡとその他のフレームＢ〜Ｄが重ねられると、図７に示すように、参照フレームＡの各実画素ｐ１，ｑ１，ｒ１，ｓ１の周囲にフレームＢ〜Ｄの実画素が存在することとなる。そして、参照フレームＡに対する各フレームＢ〜Ｄの動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄは検出されているため、参照フレームＡに重ねられたときのフレームＢの各実画素ｐ２，ｑ２，ｒ２，ｓ２の副画素＊までの距離は検出される。また、同様に、参照フレームＡに重ねられたときのフレームＣの各実画素ｐ３，ｑ３，ｒ３，ｓ３の副画素＊までの距離、及び参照フレームＡに重ねられたときのフレームＤの各実画素ｐ１，ｑ１，ｒ１，ｓ１から副画素＊までの距離は検出される。
【００６３】
このように、副画素＊の周辺に存在することとなる実画素のそれぞれの距離が検出されるため、副画素＊に最も近い位置にある４つの実画素を抽出し、それらの実画素の画素値と副画素＊までの距離を用いることで、副画素＊の画素値を算出することができる。このように、動画データＤ１を構成する複数のフレームＡ〜Ｄを使用して実画素間の副画素を生成することで、高精度の印刷画像Ｄ２を得ることができるようになる。
【００６４】
そして、ＣＰＵ２１が、アプリケーション３２に、印刷画像Ｄ２のデータをＩ／Ｆ２５に転送させた時点で本処理を終了する。
次に、フレーム間の動き量を検出する処理について図８を参照して説明する。本処理においては、参照フレームＡとフレームＢとの間の動き量Ｖｆｂを検出する場合について説明する。
【００６５】
先ず、ステップ２００において、ＣＰＵ２１は、アプリケーション３２に、参照フレームＡの特徴点ＡｎとフレームＢの特徴点Ｂｍとを抽出する特徴点抽出処理を実行させる。特徴点Ａｎ，Ｂｍは公知の技術により抽出され、例えば、参照フレームＡ及びフレームＢを構成する画素の輝度値等に基づいて、画像のエッジ上の点が特徴点として抽出される。
【００６６】
このとき、参照フレームＡにおいては、Ｃｎ個の特徴点Ａｎ（ｎ＝１，２，…，Ｃｎ）が検出され、各特徴点Ａｎには、画面水平方向にｘ座標値が、画面垂直方向にｙ座標値が設定された座標Ｐｎ（ｘ，ｙ）と（図５参照）、特徴点Ａｎに対応するフレームＢの特徴点を指定するポインタＰａと、相関値ＶＬａとが設定されるものとする。なお、この時点では特徴点Ａｎの相関値ＶＬａの値は０に設定されている。
【００６７】
また、同様に、フレームＢにおいては、Ｃｍ個の特徴点Ｂｍ（ｍ＝１，２，…，Ｃｍ）が検出され、各特徴点Ｂｍには、画面水平方向にｘ座標値が、画面垂直方向にｙ座標値が設定された座標Ｐｍ（ｘ，ｙ）と（図５参照）、特徴点Ｂｍに対応する参照フレームＡの特徴点を指定するポインタＰｂと、相関値ＶＬｂとが設定されるものとする。なお、この時点では特徴点Ｂｍの相関値ＶＬｂの値は０に設定されている。
【００６８】
続くステップ２１０において、ＣＰＵ２１は、アプリケーション３２に、参照フレームＡとフレームＢとの間で相関性の高い特徴点の組合せ（Ａｎ，Ｂｍ）を求めるマッチング処理を実行させる。この相関性の高い特徴点の組合せ（Ａｎ，Ｂｍ）を求める処理については後述する。このとき、参照フレームＡとフレームＢとの間には、Ｃｐ個のペア番号Ｎｐ（ｐ＝１，２，…，Ｃｐ）の組合せ（Ａｎ，Ｂｍ）が求められ、メモリ２２に格納される。
【００６９】
そして、ステップ２２０において、ＣＰＵ２１は、アプリケーション３２に、ステップ２１０で求められた組合せ（Ａｎ，Ｂｍ）の特徴点間の動き量Ｖｎを検出する第１の動き量検出処理を実行させる（第１の動き量検出ステップ）。この動き量Ｖｎは、特徴点Ａｎの座標Ｐｎ（ｘ，ｙ）と特徴点Ｂｍの座標Ｐｍ（ｘ，ｙ）との間の距離が算出されて検出される。
【００７０】
更に、ステップ２３０において、ＣＰＵ２１は、アプリケーション３２に、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の誤差Ｅｎを算出する処理を実行させる。ステップ２３０、及び続くステップ２４０〜２８０において、ＣＰＵ２１は、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の誤差Ｅｎをそれぞれ検出し、その誤差Ｅｎが最小となる組合せ（Ａｎ，Ｂｍ）の特徴点間の動き量Ｖｎを参照フレームＡとフレームＢとの動き量Ｖｆｂとする第２の動き量検出処理を実行する（第２の動き量検出ステップ）。
【００７１】
ここで、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の誤差Ｅｎを算出する処理について説明する。
図９（ａ）に示すように、参照フレームＡにおいて特徴点Ａ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６が検出されており、図９（ｂ）に示すように、フレームＢにおいて特徴点Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５が検出されているものとする。
【００７２】
この場合、参照フレームＡとフレームＢとの間において、上述したステップ２１０のマッチング処理により、組合せ（Ａ１，Ｂ１）、（Ａ２，Ｂ２）、（Ａ３，Ｂ３）、（Ａ４，Ｂ４）、（Ａ５，Ｂ５）が求められている。なお、参照フレームＡにおいて検出される特徴点Ａ６は、対応する特徴点がフレームＢに存在しないため、マッチング処理において組合せとされていない。また、上述したステップ２２０の第１の動き量検出処理により、それぞれの組合せにおいて、特徴点間の動き量Ｖ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５が検出されている。なお、参照フレームＡとフレームＢとの間において、同じオブジェクトを構成する特徴点Ａ１〜Ａ４と特徴点Ｂ１〜Ｂ４との間の動き量Ｖ１〜Ｖ４に対して、特徴点Ａ５と特徴点Ｂ５との間の動き量Ｖ５は大幅に大きい値が検出されている。
【００７３】
先ず、組合せとされている各特徴点（特徴点Ａ１〜Ａ５及び特徴点Ｂ１〜Ｂ５）において、各特徴点Ａｎ，Ｂｍを中心として、１５（画素）×１５（画素）の範囲に存在する画素の画素値の累積値ｆ（Ａｎ），ｆ（Ｂｍ）が算出される。そして、参照フレームＡの特徴点Ａｎの累積値ｆ（Ａｎ）と、フレームＢの特徴点Ｂｍの累積値ｆ（Ｂｍ）との差分が算出されて誤差Ｅｎとされる。例えば、組合せ（Ａ１，Ｂ１）の特徴点間の誤差Ｅ１は、累積値ｆ（Ａ１）と累積値ｆ（Ｂ１）との差分とされる。同様に、組合せ（Ａ２，Ｂ２）、（Ａ３，Ｂ３）、（Ａ４，Ｂ４）、（Ａ５，Ｂ５）の特徴点間の誤差Ｅ２，Ｅ３，Ｅ４，Ｅ５が算出される。こうして、マッチング処理において求められたＣｐ個の組合せ（Ａｎ，Ｂｍ）の特徴点間の誤差Ｅｎが算出されてメモリ２２に格納される。
【００７４】
このように、参照フレームＡとフレームＢとの間の動き量Ｖｆｂを決定するために、組合せ（Ａｎ，Ｂｍ）とされた各特徴点間に生じる誤差を検証するために使用する画素を、各特徴点Ａｎ，Ｂｍの周囲に存在する１５（画素）×１５（画素）のみに限定した。このため、参照フレームＡ及びフレームＢ全体に存在する画素を使用して特徴点間の動き量を検出する場合と比較して、処理時間の低下を図ることができる。また、各特徴点Ａｎ，Ｂｍの周囲に存在する所定数の画素（本実施形態では１５（画素）×１５（画素））を使用して誤差Ｅｎを検出するため、動き量Ｖｆｂ検出精度の低下を抑制することができる。
【００７５】
また、このとき、誤差Ｅｎを算出するための特徴点Ａｎ，Ｂｍ周囲の画素数を調整することで、動き量Ｖｆｂ検出の精度と処理時間のバランスをとることができる。つまり、誤差Ｅｎの算出に使用する特徴点Ａｎ，Ｂｍ周囲の画素数を多くすれば、動き量Ｖｆｂ検出の精度を向上することができ、誤差Ｅｎの算出に使用する特徴点Ａｎ，Ｂｍ周囲の画素数を少なくすれば、動き量Ｖｆｂ検出のための計算量を軽減することができ、処理を高速化することができる。
【００７６】
そして、ステップ２４０において、ＣＰＵ２１は、ペア番号Ｎｐの値を０に設定する。続くステップ２５０において、ＣＰＵ２１は、ペア番号Ｎｐの組合せ（Ａｎ，Ｂｍ）の特徴点間の誤差Ｅｎは、最小誤差Ｅｒｒよりも小さいか否かを判断する。なお、本処理を開始する時点では、この最小誤差Ｅｒｒの値は非常に大きい値とされており、ペア番号Ｎｐが０のときの誤差Ｅｎが必ず初期設定の最小誤差Ｅｒｒの値よりも小さくなるように設定されている。
【００７７】
誤差Ｅｎが最小誤差Ｅｒｒよりも小さいと判断すれば、ステップ２６０において、ＣＰＵ２１は、ペア番号Ｎｐの組合せ（Ａｎ，Ｂｍ）の特徴点間の動き量Ｖｎを、参照フレームＡとフレームＢとの間の動き量Ｖｆｂとし、ペア番号Ｎｐの誤差Ｅｎを最小誤差Ｅｒｒとしてステップ２７０に移行する。なお、ステップ２５０において、誤差Ｅｎが最小誤差Ｅｒｒよりも小さくないと判断すれば、ＣＰＵ２１は、ステップ２６０の処理を行うことなくステップ２７０に移行する。
【００７８】
そして、ステップ２７０において、ＣＰＵ２１は、すべてのペア番号Ｎｐについて処理を行ったか否かを判断する。つまり、Ｃｐ個のペア番号Ｎｐの組合せ（Ａｎ，Ｂｍ）の特徴点間において算出された誤差Ｅｎについて、最小誤差Ｅｒｒと比較したか否かを判断する。
【００７９】
すべてのペア番号Ｎｐについて処理を行っていなければ、ステップ２８０において、ＣＰＵ２１は、Ｎｐに１を加えてステップ２５０まで戻り、続く一連の処理を行う。また、すべてのペア番号Ｎｐについて処理を行っていれば、ＣＰＵ２１は、その時点の動き量Ｖｎを参照フレームＡとフレームＢとの間の動き量Ｖｆｂとしてメモリ２２に格納する。
【００８０】
このように、参照フレームＡとフレームＢとの間において相関性の高い特徴点Ａｎ，Ｂｍ、及び各特徴点の周囲に存在する画素のみを用いて動き量Ｖｆｂが検出されるため、参照フレームＡ及びフレームＢの画面全体に存在する画素を使用して動き量を検出する場合と比較して、動き量検出精度の低下を抑制しつつ処理を簡易化することができる。
【００８１】
なお、上述したステップ１２０においては、参照フレームＡとフレームＢとの間の動き量Ｖｆｂの検出と同様に、参照フレームＡとフレームＣ，Ｄとの間の動き量Ｖｆｃ，Ｖｆｄが検出されて、メモリ２２に格納される。そして、ステップ１３０において、参照フレームＡと複数のフレームＢ〜Ｄとを使用して画像を合成する際に、参照フレームＡとその他のフレームＢ〜Ｄとの間においてそれぞれ検出された動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄを用いて画像が合成される。上述したように、各動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄが検出される際に、検出精度の低下を抑制しながら処理を簡略なものとすることができるため、フレームＡ〜Ｄの画面全体に存在する画素を使用して動き量を検出して画像を合成する場合と比較して、大幅に処理時間を短縮することができる。
【００８２】
次に、上述した相関性の高い特徴点の組合せ（Ａｎ，Ｂｍ）を求めるマッチング処理について図１０を参照して説明する。なお、本処理の開始時においては、上述したように、特徴点Ａｎに設定されている相関値ＶＬａ、及び特徴点Ｂｍに設定されている相関値ＶＬｂは０とされている。
【００８３】
先ず、ステップ３００において、ＣＰＵ２１は、ｎの値を０に設定し、続くステップ３１０においてｍの値を０に設定する。そして、ステップ３２０において、ＣＰＵ２１は、参照フレームＡの特徴点Ａｎと、フレームＢの特徴点Ｂｍとの間の相関値ＶＬｎを算出する。相関値ＶＬｎは、正規化相関等の公知の情報処理手法により求められ、例えば、各特徴点Ａｎ，Ｂｍを中心とする１５（画素）×１５（画素）の範囲でそれぞれの画素の画素値を用いて算出される。このとき、特徴点Ａｎと特徴点Ｂｍとが似た傾向にあるほど、相関値ＶＬｎは高い値となる。
【００８４】
更に、ステップ３３０において、ＣＰＵ２１は、ステップ３２０にて算出された相関値ＶＬｎが、特徴点Ａｎに設定されている相関値ＶＬａよりも大きいか否かを判断する。つまり、相関値ＶＬｎがこの時点で設定されている特徴点Ａｎの相関値ＶＬａよりも大きいか否か判断される。
【００８５】
相関値ＶＬｎがその時点で特徴点Ａｎに設定されている相関値ＶＬａよりも大きければ、ステップ３４０に移行し、相関値ＶＬｎを特徴点Ａｎの相関値ＶＬａとし、特徴点ＡｎのポインタＰａが特徴点Ｂｍを指定するように設定して、ステップ３５０に移行する。なお、ステップ３３０において相関値ＶＬｎがその時点の相関値ＶＬａよりも大きくないと判断すれば、ＣＰＵ２１は、ステップ３４０の処理は行わずにステップ３５０に移行する。ステップ３３０及びステップ３４０において、ＣＰＵ２１は、参照フレームＡの特徴点Ａｎに対して最も相関性の高いフレームＢの特徴点Ｂｍを抽出する。
【００８６】
そして、ステップ３５０において、ＣＰＵ２１は、ステップ３２０にて算出された相関値ＶＬｎが、特徴点Ｂｍに設定されている相関値ＶＬｂよりも大きいか否かを判断する。つまり、相関値ＶＬｎがこの時点で設定されている特徴点Ｂｍの相関値ＶＬｂよりも大きいか否か判断される。
【００８７】
相関値ＶＬｎがその時点で特徴点Ｂｍに設定されている相関値ＶＬｂよりも大きければ、ステップ３６０に移行し、相関値ＶＬｎを特徴点Ｂｍの相関値ＶＬｂとし、特徴点ＢｍのポインタＰｂが特徴点Ａｎを指定するように設定してステップ３７０に移行する。なお、ステップ３５０において相関値ＶＬｎがその時点の相関値ＶＬｂよりも大きくないと判断すれば、ＣＰＵ２１は、ステップ３６０の処理は行わずにステップ３７０に移行する。ステップ３５０及びステップ３６０において、ＣＰＵ２１は、フレームＢの特徴点Ｂｍに対して最も相関性の高い参照フレームＡの特徴点Ａｎを抽出する。
【００８８】
更に、ステップ３７０において、ＣＰＵ２１は、すべてのｍについて処理を行ったか否か、即ち、フレームＢにおいて抽出されたＣｍ個の特徴点Ｂｍについて処理を行ったか否かを判断する。すべてのｍについて処理を実行していなければ、ステップ３８０においてｍに１を加えてステップ３２０まで戻り、続く一連の処理を行う。また、すべてのｍについて処理を行っていれば、続くステップ３９０において、ＣＰＵ２１は、すべてのｎについて処理を行ったか否か、即ち、参照フレームＡにおいて抽出されたＣｎ個の特徴点Ａｎについて処理を行ったか否かを判断する。すべてのｎについて処理を実行していなければ、ステップ４００においてｎに１を加えてステップ３１０まで戻り、続く一連の処理を行う。また、すべてのｎについて処理を行っていれば、続くステップ４１０からの処理を行う。
【００８９】
ステップ４１０において、ＣＰＵ２１は、ｎの値を０に設定する。続くステップ４２０において、ＣＰＵ２１は、特徴点Ａｎと特徴点Ｂｍは互いに指定しており、且つ、特徴点Ａｎの相関値ＶＬａは所定の閾値γよりも大きいか否かを判断する。このとき、特徴点ＡｎのポインタＰａが特徴点Ｂｍを指定しているとともに、特徴点ＢｍのポインタＰｂが特徴点Ａｎを指定していれば、特徴点Ａｎと特徴点Ｂｍとは互いに指定していることとなる。また、特徴点ＡｎのポインタＰａが特徴点Ｂｍを指定していても、特徴点ＢｍのポインタＰｂが特徴点Ａｎではない特徴点を指定していれば、特徴点Ａｎと特徴点Ｂｍは対応していない。
【００９０】
このように、一方の参照フレームＡの特徴点Ａｎのみから他方のフレームＢの特徴点ＢｍをポインタＰａで指定している場合は、その特徴点Ａｎは組合せとされないため、参照フレームＡとフレームＢとの間に存在する（具体例としては、図９（ａ）における特徴点Ａ６）を特徴点の組合せから削減することができる。
【００９１】
また、相関値ＶＬｎが所定の閾値γよりも低い値となる特徴点同士は組合せとされないため、動き量検出精度の低下を抑制しつつ処理を高速化することができる。つまり、相関性の低い組合せが組合せとされないことで、組合せとされる特徴点Ａｎの数Ｃｐを効率よく低減することができ、上述したステップ２２０〜２８０の処理における動き量Ｖｎの検出や誤差Ｅｎの算出等の計算量が軽減されることとなる。
【００９２】
ステップ４２０において、特徴点Ａｎと特徴点Ｂｍは互いに指定しており、且つ、特徴点Ａｎの相関値ＶＬａは閾値γよりも大きいと判断すれば、ＣＰＵ２１は、ステップ４３０に移行して、順次ペア番号Ｎｐを付しながら特徴点Ａｎと特徴点Ｂｍとを組合せ（Ａｎ，Ｂｍ）としてメモリ２２に格納し、ステップ４４０に移行する。なお、ステップ４２０において否と判断すれば、ＣＰＵ２１は、ステップ４３０の処理を行うことなくステップ４４０に移行する。
【００９３】
そして、ステップ４４０において、ＣＰＵ２１は、すべてのｎについて処理を行ったか否かを判断する。すべてのｎについて処理を実行していなければ、ＣＰＵ２１は、ステップ４５０においてｎに１を加えてステップ４２０まで戻り、続く一連の処理を実行する。また、すべてのｎについて処理を実行していれば、本処理を終了する。
【００９４】
本処理により、参照フレームＡとフレームＢとの間に存在する相関性の高い特徴点同士の組合せが検出され、Ｃｐ個の、それぞれにペア番号Ｎｐ（Ｎｐ＝１，２，…，Ｃｐ）が付された特徴点の組合せ（Ａｎ，Ｂｍ）がメモリ２２に格納される。
【００９５】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）上記実施形態のＰＣ１は、画像合成に使用される参照フレームＡとフレームＢとの間において、相関性の高い組合せ（Ａｎ，Ｂｍ）の特徴点間の動き量Ｖｎをそれぞれ求め、特徴点間の誤差Ｅｎが最小となる組合せ（Ａｎ，Ｂｍ）の動き量Ｖｎを、参照フレームＡとフレームＢとの間の動き量Ｖｆｂとする。このように、相関性の高い特徴点のみを用いて参照フレームＡとフレームＢとの間の動き量Ｖｆｂが検出されるため、参照フレームＡ及びフレームＢの画面全体に存在する画素を用いて動き量を検出する場合と比較して、動き量Ｖｆｂ検出の精度の低下を抑制しつつ処理を簡易化することができる。また、同様に、参照フレームＡとフレームＣ，Ｄとの間の動き量Ｖｆｃ，Ｖｆｄが求められる。従って、動画データＤ１を構成するフレームＡ〜Ｄ間において、処理時間の低減を図りながら、的確な動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄを検出し、ひいては高品質な印刷画像Ｄ２を得ることができる。
【００９６】
（２）上記実施形態のＰＣ１は、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の誤差Ｅｎを、各特徴点Ａｎ，Ｂｍの周囲に存在する１５（画素）×１５（画素）の画素の画素値の累積値ｆ（Ａｎ），ｆ（Ｂｍ）の差分とした。これによれば、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の動き量Ｖｎを検証する際に使用する画素を、各特徴点Ａｎ，Ｂｍの周囲に存在する画素のみに限定したため、参照フレームＡ及びフレームＢ全体に存在する画素を使用してフレーム間の動き量を検出する場合と比較して、処理時間を大幅に低減することができる。また、相関性の高い特徴点Ａｎ，Ｂｍの周囲に存在する画素を使用するため、精度低下を抑制しながら誤差Ｅｎを算出することができる。
【００９７】
なお、実施の形態は、上記に限定されず以下の変形例を採用することもできる。
（変形例１）上記実施形態においては、動き量検出装置としてのＰＣ１により、参照フレームＡとその他のフレームＢ〜Ｄとの間にそれぞれ検出された動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄを、フレームＡ〜Ｄを合成するために使用する場合について説明したが、動き量Ｖｆｂ，Ｖｆｃ，Ｖｆｄの用途はこれに何ら限定されるものではない。
【００９８】
（変形例２）上記実施形態においては、組合せ（Ａｎ，Ｂｍ）とされた特徴点間の誤差Ｅｎを、各特徴点Ａｎ，Ｂｍの周囲に存在する画素の画素値の累積値ｆ（Ａｎ），ｆ（Ｂｍ）の差分としたが、特徴点間の誤差をどのように算出してもよい。
【００９９】
（変形例３）上述した実施形態においては、ＰＣ１は、参照フレームＡの特徴点ＡｎのポインタＰａが指定するフレームＢの特徴点ＢｍのポインタＰｂが、参照フレームＡの特徴点Ａｎを指定していれば、特徴点Ａｎと特徴点Ｂｍとを相関性の高い組合せ（Ａｎ，Ｂｍ）として組合せるものとした。しかし、参照フレームＡとフレームＢとの間において相関性の高い特徴点同士を組合せる態様はこれに何ら限定されるものではなく、どのようにして組合せを求めてもよい。
【０１００】
（変形例４）ＰＣ１は、特徴点Ａｎと特徴点Ｂｍとが互いに指定していても、特徴点Ａｎの相関値ＶＬａが所定の閾値γよりも低い場合は、相関性の高い特徴点の組合せとしないものとしたが、必ずしも相関値ＶＬａと閾値γとの比較を行わなくてもよく、この処理を省略してもよい。また、閾値γの値はどのように設定してもよく、閾値γの値を高くすればするほど、相関性の高い特徴点のみが組合せとして抽出されることとなる。
【０１０１】
（変形例５）上述した実施形態においては、複数のフレームＡ〜Ｄを合成して合成画像を生成するとき、４枚のフレームＡ〜Ｄを重ねたときに副画素に最近接する４つの画素を用いて該副画素を生成するものとしたが、副画素を生成する手法はこれに限定されず、どのような補間処理手法により副画素を生成してもよい。
【０１０２】
（変形例６）ＰＣ１は、画像合成に使用するフレームを取得する際に、Ｉピクチャー又はＰピクチャーを参照フレームとし、該参照フレームを基準に複数のフレームを取得してもよい。そうすると、動画データを構成するフレームのうちＩピクチャー又はＰピクチャーが参照フレームとされるため、表示画面４において動画データのＩピクチャー又はＰピクチャーのみを順次表示させる高速再生中に画像を選択することができるようになる。
【０１０３】
（変形例７）ＰＣ１は、フレームＡ〜Ｄを合成する際に、複数のフレームＡ〜Ｄの画像をそれぞれ解析し、その解析結果に基づき画質がよいと判定されたフレームを合成することとしてもよい。そうすると、画質がよいと判定されたフレームのみを使用して画像が合成されるため、合成画像の画質を向上することができる。また、ＰＣ１は、フレーム間の動き量が大きい場合には、フレーム合成の際にそのフレームを使用しないようにしてもよい。
【０１０４】
（変形例８）ＰＣ１は、参照フレームＡと３枚のフレームＢ〜Ｄとを合成する場合に限定されず、参照フレームと１枚のフレームとを合成してもよいし、参照フレームと４枚以上のフレームとを合成してもよい。また、参照フレームＡを基準として画像合成に使用するフレームをどのように取得してもよく、例えば参照フレームＡを基準として画像再生時に後側に表示されるフレームのみを取得するようにしてもよい。
【０１０５】
（変形例９）ＰＣ１は、動画データＤ１を構成するフレームの中から、画像合成に使用するフレームをどのような態様で取得してもよい。例えば、表示画面４に動画データＤ１を再生させながら、所定数毎に自動的に取得するようにしてもよい。
【０１０６】
（変形例１０）上述した実施形態においては、ＰＣ１の画像入力デバイスとして、DVD-ROM 等の記録媒体２７から動画データを入力する場合について説明したが、画像入力デバイスはこれに何ら限定されるものではない。例えば、ＰＣ１とデジタルスチルカメラやビデオカメラ、テレビ等とを接続し、それらのデバイスから動画データを取得するようにしてもよい。
【０１０７】
また、ＰＣ１に、外部のネットワークなどに接続するための通信デバイスとしてのモデムを接続し、外部のネットワークに同公衆通信回線を介して接続し、ソフトウェアやデータをダウンロードして導入するようにしてもよい。更には、モデムにて電話回線を介して外部にアクセスする形態に限定されず、例えばＬＡＮアダプタを介してネットワークに対してアクセスする構成とすることも可能である。
【０１０８】
（変形例１１）プリンタ２を本発明に係る動き量検出装置及び画像形成装置とし、ＰＣ１を接続せずスタンドアロン型プリンタとして機能させてもよい。その場合、プリンタ２に動画データを再生可能な表示画面を装備した上で、上記実施形態で説明したプリンタドライバ３４で実行される動き量検出処理及び画像形成処理をプリンタ２の画像処理回路５３で実行させるようにすればよい。そして、例えば、プリンタ２のＵＳＢポート１１にメモリカードが挿入されたデジタルスチルカメラやビデオカメラ等を接続し、表示画面に動画を再生させながら印刷画像を選択して印刷するようにしてもよい。また、プリンタ２にメモリカードを挿入可能なスロットを設け、そのメモリカードに記憶された動画データの画像を印刷するようにしてもよい。
【図面の簡単な説明】
【０１０９】
【図１】本発明を具体化した実施の形態に係る印刷システムの概略図。
【図２】印刷システムの構成を説明するブロック図。
【図３】画像形成処理を説明するフローチャート。
【図４】動画データを構成するフレームの説明図。
【図５】フレームの重ね方の説明図。
【図６】参照フレームの実際の画素と副画素の説明図。
【図７】画像を合成する際の実際の画素と副画素の説明図。
【図８】動き量検出処理を説明するフローチャート。
【図９】（ａ），（ｂ）は組合せとなる特徴点の説明図。
【図１０】マッチング処理を説明するフローチャート。
【符号の説明】
【０１１０】
１…動き量検出装置及び画像形成装置としてのパーソナルコンピュータ（ＰＣ）、２…プリンタ、３３…特徴点抽出部、マッチング処理部、第１の動き量検出部、第２の動き量検出部及び画像合成部としてのプリンタドライバ、Ｄ１…動画データ、Ｄ２…合成画像としての印刷画像、Ａ…参照フレーム、Ｂ，Ｃ，Ｄ…フレーム、Ｖｎ…動き量、Ｖｆｂ，Ｖｆｃ，Ｖｆｄ…フレーム間の動き量、Ａｎ，Ｂｍ…特徴点、Ｅｎ…特徴点間の誤差、ＶＬａ，ＶＬｂ，ＶＬｎ…相関値。
【図１】
2005284636.tif 000003
【図２】
2005284636.tif 000004
【図３】
2005284636.tif 000005
【図４】
2005284636.tif 000006
【図５】
2005284636.tif 000007
【図６】
2005284636.tif 000008
【図７】
2005284636.tif 000009
【図８】
2005284636.tif 000010
【図９】
2005284636.tif 000011
【図１０】
2005284636.tif 000012