(57)【要約】【課題】フレーム画像を配置可能な余白を利用して、連続するフレーム画像間の被写体の急激な動作の変化を緩和させることで、フレーム配置画像から受ける不自然な印象を解消する。【解決手段】動画像から抽出した複数のフレーム画像を時系列的な規則性を持つように配置したフレーム配置画像を生成する際に、動画像から抽出可能なフレーム画像の総数がフレーム配置画像に配置すべき配置フレーム数未満であると判定した場合には（Ｓ２０７：ＹＥＳ）、動画像において時系列順に連続するフレーム画像間の差分を算出する（Ｓ２０８）。そして、算出した差分に基づいて決定される挿入位置に、その挿入位置の周辺のフレーム画像に基づき生成される補完フレーム画像を挿入する（Ｓ２１０）。【選択図】図１０
2011015226.tif 000002
【特許請求の範囲】
【請求項１】
動画像を表す画像ファイルを入力する入力手段と、
前記入力手段により入力された動画像から複数のフレーム画像を抽出し、これらを時系列的な規則性を持つように配置したフレーム配置画像を生成する配置画像生成手段と、
前記フレーム配置画像を出力する出力手段と、
を備える出力装置であって、
前記配置画像生成手段は、
前記動画像から抽出可能なフレーム画像の総数が、前記フレーム配置画像に配置すべき配置フレーム数未満であるかを判定するフレーム数判定手段と、
前記フレーム数判定手段により前記総数が前記配置フレーム数未満であると判定された場合に、前記動画像において時系列順に連続するフレーム画像間の変化量を算出する変化量算出手段と、
前記変化量算出手段により算出された変化量に基づいて、フレーム画像の挿入位置を決定する挿入位置決定手段と、
前記挿入位置決定手段により決定された挿入位置の周辺のフレーム画像に基づき、補完フレーム画像を生成する補完フレーム画像生成手段と、
前記挿入位置決定手段により決定された挿入位置に、前記補完フレーム画像を挿入する補完手段と、を備えること
を特徴とする出力装置。
【請求項２】
前記挿入位置決定手段は、前記動画像におけるすべてのフレーム画像間の変化量のうち、少なくとも最も変化量が大きいフレーム画像間を挿入位置として決定すること
を特徴とする請求項１に記載の出力装置。
【請求項３】
前記補完手段は、前記挿入位置前後の２つのフレーム画像を合成した合成画像を前記補完フレーム画像として前記挿入位置に挿入すること
を特徴とする請求項１又は請求項２に記載の出力装置。
【請求項４】
前記補完手段は、前記挿入位置前後の２つのフレーム画像間の変化量が所定の判定基準値以上である場合には、これら２つのフレーム画像を合成した合成画像を前記補完フレーム画像としてその挿入位置に挿入し、前記挿入位置前後の２つのフレーム画像間の変化量が前記判定基準値未満である場合には、これら２つのフレーム画像のうちの一方を複製した複製画像を前記補完フレーム画像としてその挿入位置に挿入すること
を特徴とする請求項１又は請求項２に記載の出力装置。
【請求項５】
前記補完手段は、同一の挿入位置に複数の合成画像を挿入する場合には、前記２つのフレーム画像の合成比率がそれぞれ異なること
を特徴とする請求項３又は請求項４に記載の出力装置。
【請求項６】
前記補完手段は、前記挿入位置前後の２つのフレーム画像のうちの一方を複製した複製画像を前記補完フレーム画像としてその挿入位置に挿入すること
を特徴とする請求項１又は請求項２に記載の出力装置。
【請求項７】
動画像を表す画像ファイルを入力する入力手段と、
前記入力手段により入力された動画像から複数のフレーム画像を抽出し、これらを時系列的な規則性を持つように配置したフレーム配置画像を生成する配置画像生成手段と、
前記フレーム配置画像を出力する出力手段と、
を備える出力装置としてコンピュータを機能させるためのプログラムであって、
前記配置画像生成手段は、
前記動画像から抽出可能なフレーム画像の総数が、前記フレーム配置画像に配置すべき配置フレーム数未満であるかを判定するフレーム数判定手段と、
前記フレーム数判定手段により前記総数が前記配置フレーム数未満であると判定された場合に、前記動画像において時系列順に連続するフレーム画像間の変化量を算出する変化量算出手段と、
前記変化量算出手段により算出された変化量に基づいて、フレーム画像の挿入位置を決定する挿入位置決定手段と、
前記挿入位置決定手段により決定された挿入位置の周辺のフレーム画像に基づき、補完フレーム画像を生成する補完フレーム画像生成手段と、
前記挿入位置決定手段により決定された挿入位置に、前記補完フレーム画像を挿入する補完手段と、を備えること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像ファイルの表す画像を出力する出力装置に関するものである。
【背景技術】
【０００２】
従来、写真等の静止画像を表す画像ファイル（静止画像ファイル）を記憶媒体から読み出し、読み出した画像ファイルの表す静止画像を印刷する印刷装置が知られている。また、最近では、静止画像ファイルだけでなく、動画像を表す画像ファイル（動画像ファイル）についても印刷対象とすることが可能な印刷装置が提案されている。
【０００３】
例えば、特許文献１に記載の印刷装置では、動画像ファイルの表す動画像から複数のフレーム画像を抽出し、それらを同一ページに配置した画像を印刷可能としている。また、この印刷装置では、動画像から抽出可能なフレーム画像の数が、印刷用の画像に配置すべき数よりも少ない場合には、不足部分を余白とするようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１３０２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、動画像の内容によっては、フレーム画像間で被写体の動作が急激に変化する場合もある。このような動画像は、出力再生した場合には自然な流れであっても、各フレーム画像を静止画像として配置して印刷すると、被写体の動作の変化が大きいため、ユーザによっては不自然な印象を受ける場合がある。
【０００６】
本発明は、フレーム画像を配置可能な余白を利用して、連続するフレーム画像間の被写体の急激な動作の変化を緩和させることで、フレーム配置画像から受ける不自然な印象を解消することのできる出力装置及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明の請求項１に記載の出力装置は、動画像を表す画像ファイルを入力する入力手段と、入力手段により入力された動画像から複数のフレーム画像を抽出し、これらを時系列的な規則性を持つように配置したフレーム配置画像を生成する配置画像生成手段と、フレーム配置画像を出力する出力手段とを備えるものである。なお、「フレーム配置画像を出力する」とは、フレーム配置画像を印刷することや表示することなどを含む意味である。
【０００８】
具体的には、配置画像生成手段は、動画像から抽出可能なフレーム画像の総数が、フレーム配置画像に配置すべき配置フレーム数未満であるかを判定するフレーム数判定手段と、フレーム数判定手段により総数が配置フレーム数未満であると判定された場合に、動画像において時系列順に連続するフレーム画像間の変化量を算出する変化量算出手段と、変化量算出手段により算出された変化量に基づいて、補完フレーム画像の挿入位置を決定する挿入位置決定手段と、挿入位置決定手段により決定された挿入位置の周辺のフレーム画像に基づき、補完フレーム画像を生成する補完フレーム画像生成手段と、挿入位置決定手段により決定された挿入位置に、補完フレーム画像を挿入する補完手段とを備える。
【０００９】
このような出力装置によれば、動画像から抽出可能なフレーム画像の総数が配置フレーム数未満である場合に生じる余白（フレーム画像を配置可能な空き部分）を利用して、時系列順に連続するフレーム画像間の被写体の急激な動作の変化を緩和させることが可能となる。この結果、フレーム配置画像から受ける不自然な印象を解消することができる。
【００１０】
なお、挿入する補完フレーム画像の数は、フレーム画像の不足数（配置フレーム数−総数）以下の任意の数とすることができるが、特に、不足数分の補完フレーム画像を挿入する場合には、フレーム画像の不足により生じる余白のない（より見栄えのよい）フレーム配置画像を出力することができる。
【００１１】
ところで、挿入位置決定手段は、例えば請求項２に記載のように、動画像におけるすべてのフレーム画像間の変化量のうち、少なくとも最も変化量が大きいフレーム画像間を挿入位置として決定することが好ましい。このようにフレーム画像間の変化量が大きい挿入位置に補完フレーム画像を挿入することで、時系列順に連続するフレーム画像間の被写体の急激な動作の変化の緩和効果を高くすることができる。
【００１２】
また、補完フレーム画像としては、例えば、挿入位置前後の２つのフレーム画像を合成した合成画像（請求項３）や、挿入位置前後の２つのフレーム画像のうちの一方を複製した複製画像（請求項６）が挙げられる。合成画像であれば、時系列順に連続するフレーム画像間の急激な変化を自然に緩和させることができる。一方、複製画像であれば、合成画像を生成する場合に比べ、処理を簡素化することができる。
【００１３】
この点、合成画像及び複製画像のそれぞれの利点を生かすためには、例えば請求項４に記載のように構成することも可能である。すなわち、請求項４に記載の出力装置では、補完手段は、挿入位置前後の２つのフレーム画像間の変化量が所定の判定基準値以上である場合には、これら２つのフレーム画像を合成した合成画像を補完フレーム画像としてその挿入位置に挿入し、挿入位置前後の２つのフレーム画像間の変化量が判定基準値未満である場合には、これら２つのフレーム画像のうちの一方を複製した複製画像を補完フレーム画像としてその挿入位置に挿入する。
【００１４】
このような出力装置によれば、時系列順に連続するフレーム画像間の急激な変化を合成画像により自然に緩和させつつ、変化が急激でなければ合成画像に代えて複製画像を用いることで処理を簡素化することができる。
【００１５】
また、同一の挿入位置に複数の補完フレーム画像を挿入することも考えられる。例えば請求項５に記載の出力装置では、補完手段は、同一の挿入位置に複数の合成画像を挿入する場合には、２つのフレーム画像の合成比率をそれぞれ異ならせる。
【００１６】
このような出力装置によれば、時系列順に連続するフレーム画像の急激な変化を複数の合成画像により自然に緩和させることができる。特に、複数の合成画像の合成比率をそれぞれ異ならせるようにしているため、同一の挿入位置に同一の合成画像が複数挿入されてしまうことや、合成画像に基づき更に合成画像を生成することによる画像の悪化などを防ぐことができる。
【００１７】
一方、請求項７に記載のプログラムによれば、請求項１に記載の出力装置としてコンピュータを機能させることができ、これにより前述した効果を得ることができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態の複合機の概略構成を表すブロック図である。
【図２】合成画像及び複製画像の説明図である。
【図３】選択画面の説明図である。
【図４】入力画像情報記憶領域の説明図である。
【図５】動画像情報記憶領域の説明図である。
【図６】フレーム画像情報記憶領域の説明図である。
【図７】第１実施形態のフレーム差分情報記憶領域の説明図である。
【図８】液晶表示位置情報記憶領域の説明図である。
【図９】メディア画像印刷処理のフローチャートである。
【図１０】第１実施形態の出力画像生成処理のフローチャートである。
【図１１】第１実施形態のフレーム差分算出処理のフローチャートである。
【図１２】第１実施形態のフレーム画像生成処理のフローチャートである。
【図１３】第２実施形態のフレーム画像生成処理のフローチャートである。
【図１４】第３実施形態のフレーム差分情報記憶領域の説明図である。
【図１５】第３実施形態の出力画像生成処理のフローチャートである。
【図１６】補完フレーム数決定処理のフローチャートである。
【図１７】第３実施形態のフレーム画像生成処理のフローチャートである。
【図１８】第４実施形態のフレーム差分算出処理のフローチャートである。
【図１９】シーン切替判定処理の説明図である。
【発明を実施するための形態】
【００１９】
以下、本発明が適用された実施形態について、図面を用いて説明する。
［１．第１実施形態］
まず、第１実施形態について説明する。
【００２０】
［１−１．全体構成］
図１は、第１実施形態の出力装置としての複合機１０の概略構成を表すブロック図である。
【００２１】
この複合機１０は、プリンタ機能の他、スキャナ機能やコピー機能等を有する多機能装置であり、ＣＰＵ１１、ＲＯＭ１２、内部メモリ（ＲＡＭ）１３、スキャナ読取部１４、印刷制御部１５、液晶表示部１６、操作入力部１７及びメディアカードスロット１８を備えており、これらは信号線を介して接続されている。
【００２２】
ＣＰＵ１１は、複合機１０におけるすべての演算を行うための装置である。
ＲＯＭ１２は、後述する処理（図９〜図１２）をＣＰＵ１１に実行させるためのプログラムがあらかじめ記憶されている装置である。
【００２３】
内部メモリ１３は、ＣＰＵ１１による演算結果や入力データなどを一時的に記憶しておくための装置である。なお、内部メモリ１３の記憶領域の具体的内容については後述する。
【００２４】
印刷制御部１５は、印刷命令が出された画像データを印刷するための装置であり、ＣＭＹＫの色材（トナーやインク等）によりカラー画像を印刷可能なものである。
液晶表示部１６は、小型のカラー液晶ディスプレイに画像（メッセージ等の文字列を表す画像を含む。）を表示するための装置である。
【００２５】
操作入力部１７は、ユーザによって押操作される各種操作キーが配置され、操作に基づく情報を入力するための装置である。具体的には、上下左右操作を行うための上キー、下キー、左キー及び右キーと、決定操作を行うためのＯＫキーとを備えている。
【００２６】
メディアカードスロット１８は、ＳＤカードやＣＦカード等のメディアカード（不揮発性の可搬型記憶媒体）を挿入可能に構成されている。そして、複合機１０は、メディアカードスロット１８に挿入された状態のメディアカードから画像ファイルを直接読み出し、読み出した画像ファイルの表す画像を印刷する機能（いわゆるダイレクトプリント機能）を有している。
【００２７】
ここで、画像ファイルとしては、静止画像を表す静止画像ファイルだけでなく、動画像を表す動画像ファイルも対象となる。具体的には、印刷対象の画像ファイルが静止画像ファイルの場合には、その静止画像ファイルの表す静止画像のみを１ページに印刷する。一方、印刷対象の画像ファイルが動画像ファイルの場合には、その動画像ファイルの表す動画像を構成する複数のフレーム画像の中から印刷対象のフレーム画像を所定の配置フレーム数（本実施形態では９個）抽出し、抽出したフレーム画像を同一ページに時系列順にレイアウト（配置）したフレーム配置画像を印刷する。
【００２８】
本実施形態の複合機１０では、９個のフレーム画像として、動画像ファイルの総フレーム数を先頭フレーム画像から末尾（最終）フレーム画像までの間で８等分した各等分位置（正確に等分できない場合は近似位置）の７個のフレーム画像、先頭フレーム画像及び末尾フレーム画像の計９個のフレーム画像が時間順に自動的に抽出される。なお、８等分する基準は総フレーム数に限定されるものではなく、例えば動画像の再生時間としてもよい。
【００２９】
ここで、動画像から抽出可能なフレーム画像の総数が、配置フレーム数に満たないことも考えられる。この場合、フレーム配置画像にすべてのフレーム画像を配置しても余白（フレーム画像を配置可能な空き部分）が生じることになる。そこで、本実施形態の複合機１０では、この余白を利用して、時系列的に連続するフレーム画像間の差分（フレーム間差分）が大きい位置に、フレーム画像間の急激な変化を緩和させる補完フレーム画像を挿入する。
【００３０】
具体的には、例えば図２（ａ）に示すように、動画像から８個のフレーム画像が抽出可能であって、４番目と５番目とのフレーム間差分が最も大きい場合には、その間を挿入位置として、４番目のフレーム画像と５番目のフレーム画像とを合成した合成画像を挿入する。なお、補完フレーム画像は合成画像に限定されるものではなく、例えば図２（ｂ）に示すように、挿入位置前後の２つのフレーム画像のうちの一方を複製（コピー）した複製画像であってもよい（この例については第２実施形態で説明する）。
【００３１】
なお、複合機１０は、メディアカードに記憶されている複数の画像ファイルの中から印刷対象の画像ファイルをユーザに選択させるため、図３に示すような選択画面を液晶表示部１６に表示し、この選択画面で選択された画像ファイルの表す画像を印刷する。具体的には、この選択画面には、選択候補となる各画像ファイルの選択用画像として、その画像ファイルを実際に印刷した場合のイメージ（印刷イメージ）を把握可能なサムネイル画像を表示する。つまり、静止画像ファイルについては、その静止画像ファイルの表す静止画像が選択用画像として表示され、動画像ファイルについては、配置フレーム数（本実施形態では９個）のフレーム画像が同一ページに配置された画像が選択用画像として表示される。
【００３２】
［１−２．内部メモリの記憶領域］
次に、内部メモリ１３の記憶領域について説明する。
図１に示すように、内部メモリ１３には、各種情報を記憶するための記憶領域として、入力画像情報記憶領域３１、動画像情報記憶領域３２、出力画像データ記憶領域３３、拡大／縮小画像データ記憶領域３４、フレーム画像情報記憶領域３５、第１フレーム画像データ記憶領域３６、第２フレーム画像データ記憶領域３７、フレーム差分情報記憶領域３８、補完フレーム画像データ記憶領域３９、印刷データ記憶領域４０、一時変数記憶領域４１、液晶表示位置情報記憶領域４２及び液晶表示画像記憶領域４３が用意されている。
【００３３】
入力画像情報記憶領域３１は、メディアカードに記憶されている画像ファイルの情報を記憶するための領域である。具体的には、図４に示すように、入力画像情報記憶領域３１は、入力画像ＩＤ記憶領域５１、入力画像ファイル名記憶領域５２及び入力画像ファイルサイズ記憶領域５３を備えている。
【００３４】
入力画像ＩＤ記憶領域５１は、メディアカードに記憶されている画像ファイルの数に応じて０から順に振り分けた画像ファイルのＩＤ（以下「入力画像ＩＤ」という。）を記憶するための領域である。具体的には、メディアカードから読み出された画像ファイルに対し、読み出された順に入力画像ＩＤが割り振られる。
【００３５】
入力画像ファイル名記憶領域５２は、メディアカードに記憶されている画像ファイルのファイル名を記憶するための領域である。
入力画像ファイルサイズ記憶領域５３は、メディアカードに記憶されている画像ファイルのファイルサイズを数値（この例ではキロバイト単位の数値）として記憶するための領域である。
【００３６】
動画像情報記憶領域３２は、メディアカードに記憶されている画像ファイルのうち、処理対象となっている動画像ファイルの情報を一時的に記憶するための領域である。具体的には、図５に示すように、動画像情報記憶領域３２は、フォーマット種別記憶領域６１、コーデック種別記憶領域６２、横方向サイズ記憶領域６３、縦方向サイズ記憶領域６４及び総フレーム数記憶領域６５を備えている。
【００３７】
フォーマット種別記憶領域６１は、処理対象となっている動画像ファイルのファイルフォーマットの種別を記憶する領域である。本実施形態では、３種類のファイルフォーマットに対応付けられた数値（例えば、ＡＶＩフォーマットであれば「０」、ＭＯＶフォーマットであれば「１」、ＭＰＥＧフォーマットであれば「２」）が記憶される。
【００３８】
コーデック種別記憶領域６２は、処理対象となっている動画像ファイルのコーデックの種別を記憶する領域である。本実施形態では、３種類のコーデックに対応付けられた数値（例えば、ＭｏｔｉｏｎＪＰＥＧコーデックであれば「０」、ＭＰＥＧ１コーデックであれば「１」、ＤｉｖＸコーデックであれば「２」）が記憶される。
【００３９】
横方向サイズ記憶領域６３は、処理対象となっている動画像ファイル（フレーム画像）の横方向のピクセルサイズを数値データとして記憶する領域である。
縦方向サイズ記憶領域６４は、処理対象となっている動画像ファイル（フレーム画像）の縦方向のピクセルサイズを数値データとして記憶する領域である。
【００４０】
総フレーム数記憶領域６５は、処理対象となっている動画像ファイルを構成するフレーム画像データの総数（総フレーム数）を数値データとして記憶する領域である。
出力画像データ記憶領域３３は、印刷制御部１５に渡すための出力画像データ（印刷用画像を表す画像データ）を一時的に記憶するための領域である。静止画像ファイルは１つの画像データから構成されるため、この１つの画像データが出力画像データ記憶領域３３の全体に配置される。一方、動画像ファイルは複数のフレーム画像を配置して出力するため、配置する配置フレーム数で等分された各配置領域の対応する位置に各フレーム画像データを配置することとなる。
【００４１】
拡大／縮小画像データ記憶領域３４は、画像データをあらかじめ決められたサムネイル画像のサイズに変換（拡大又は縮小）処理した画像データを記憶するための領域である。
フレーム画像情報記憶領域３５は、フレーム配置画像に配置するフレーム画像に関する情報を記憶するための領域である。具体的には、図６に示すように、フレーム画像情報記憶領域３５は、フレーム配置位置番号記憶領域７１、動画ファイル名記憶領域７２、抽出フレーム番号記憶領域７３、補完フレーム画像番号記憶領域７４、オフセットサイズ情報記憶領域７５及びフレームサイズ情報記憶領域７６を備えている。
【００４２】
フレーム配置位置番号記憶領域７１は、フレーム配置画像におけるフレーム画像の配置位置に対応した番号（０〜８の番号）を記憶するための領域である。具体的には、フレーム配置画像における３行３列の配置位置には、１行目の左から０，１，２、２行目の左から３，４，５、３行目の左から６，７，８の番号が対応づけられている。
【００４３】
動画ファイル名記憶領域７２は、フレーム画像データの抽出元である動画像ファイルのファイル名を記憶するための領域である。なお、フレーム画像が補完フレーム画像である場合には、ファイル名は空白とする。
【００４４】
抽出フレーム番号記憶領域７３は、フレーム画像が元の動画像ファイルの何フレーム目に当たるかを示す数値（フレーム番号）を記憶するための領域である。なお、フレーム画像が補完フレーム画像である場合には、数値を０とする。
【００４５】
補完フレーム画像番号記憶領域７４は、フレーム画像が補完フレーム画像である場合に、補完フレーム画像データ記憶領域３９に設けられた１番目から８番目までの領域における何番目の領域に記憶されているかという番号を記憶するための領域である。なお、フレーム画像が補完フレーム画像でなければ「０」が記憶される。
【００４６】
オフセットサイズ情報記憶領域７５は、フレーム画像の動画像ファイルにおける位置を特定する情報を記憶するための領域である。具体的には、オフセットサイズ情報記憶領域７５には、フレーム画像データの先頭が元の動画像ファイルの先頭から何バイト目に当たるかを示すオフセットサイズが、数値（この例ではバイト単位の数値）として記憶されている。すなわち、動画像ファイルのファイル構造は、先頭のヘッダ情報と末尾のインデックス情報との間に、フレーム画像データが順に配置された構造となっており、ここでいうオフセットサイズとは、動画像ファイルの先頭（つまりヘッダ情報の先頭）から抽出対象のフレーム画像データの先頭までのデータサイズのことである。なお、オフセットサイズをキロバイト単位でなくバイト単位で記憶するのは、フレーム画像データの位置を正確に特定するためである。また、フレーム画像が補完フレーム画像であれば「０」が記憶される。
【００４７】
フレームサイズ情報記憶領域７６は、フレーム画像データのデータサイズ（伸張（デコード）処理前の圧縮状態（例えばＪＰＥＧ形式）でのデータサイズ）を記憶するための領域であり、データサイズが数値（この例ではバイト単位の数値）として記憶されている。なお、フレーム画像が補完フレーム画像であれば「０」が記憶される。
【００４８】
第１フレーム画像データ記憶領域３６は、動画像ファイルから抽出したフレーム画像データを一時的に記憶するための領域である。この領域に記憶されるフレーム画像データは、伸張処理前の圧縮状態の画像データである。
【００４９】
第２フレーム画像データ記憶領域３７は、動画像ファイルから抽出したフレーム画像データであって、第１フレーム画像データ記憶領域３６に記憶されるフレーム画像データとの差分（フレーム間差分）を算出するためのフレーム画像データを一時的に記憶するための領域である。この領域に記憶されるフレーム画像データも、伸張処理前の圧縮状態の画像データである。
【００５０】
フレーム差分情報記憶領域３８は、フレーム間差分の算出元となるフレーム画像データの番号と、フレーム間差分とを記憶するための領域である。具体的には、図７に示すように、フレーム差分情報記憶領域３８は、差分情報番号記憶領域８１、第１差分取得フレーム番号記憶領域８２、第２差分取得フレーム番号記憶領域８３及び差分情報記憶領域８４を備えている。
【００５１】
差分情報番号記憶領域８１は、フレーム間差分の情報を管理するための通し番号である差分情報番号を記憶するための領域である。
第１差分取得フレーム番号記憶領域８２は、フレーム間差分を取得するための１つ目のフレーム画像データ（第１差分取得フレーム）のフレーム番号を記憶するための領域である。
【００５２】
第２差分取得フレーム番号記憶領域８３は、フレーム間差分を取得するための２つ目のフレーム画像データ（第２差分取得フレーム）のフレーム番号を記憶するための領域である。
【００５３】
差分情報記憶領域８４は、第１差分取得フレーム番号記憶領域８２及び第２差分取得フレーム番号記憶領域８３に記憶されたフレーム番号に対応するフレーム画像データのフレーム間差分（絶対値）を記憶するための領域である。
【００５４】
補完フレーム画像データ記憶領域３９は、動画像ファイルの表す動画像を構成する総フレーム数が配置フレーム数（本実施形態では９個）よりも少ない場合に生成される補完フレーム画像データ（伸張処理後の状態（ＲＧＢ形式）の画像データ）を記憶するための領域である。具体的には、補完フレーム画像データ記憶領域３９は、「配置フレーム数−１」の領域（１番目から８番目までの８個の領域）に分割されている。
【００５５】
印刷データ記憶領域４０は、出力画像データを実際に印刷するためのデータに変換したものを一時的に記憶するための領域である。
一時変数記憶領域４１は、変数やカウンタなど、一時的な情報を記憶するための領域である。
【００５６】
液晶表示位置情報記憶領域４２は、液晶表示部１６に表示する選択画面の表示ページ及び選択用画像（サムネイル画像）の表示位置の情報としてあらかじめ設定されている情報が記憶された領域である。具体的には、図８に示すように、液晶表示位置情報記憶領域４２は、入力画像ＩＤ記憶領域９１、表示ページ番号記憶領域９２、表示画像番号記憶領域９３、横方向表示座標記憶領域９４及び縦方向表示座標記憶領域９５を備えている。
【００５７】
入力画像ＩＤ記憶領域９１は、入力画像情報記憶領域３１の入力画像ＩＤ記憶領域５１に記憶されている入力画像ＩＤに対応する入力画像ＩＤを記憶するための領域である。
表示ページ番号記憶領域９２は、液晶表示部１６に表示する選択画面のページ番号を記憶するための領域である。すなわち、液晶表示部１６に一度に表示できる選択用画像の数には上限があるため、この上限（本実施形態では３個）よりも多くの画像ファイルが存在する場合には、複数ページに切り替えられる構成となっている。例えば、選択画面で選択候補となる画像ファイルが４個存在する場合には、図３（ａ）に示すように１ページ目に３個が表示され、図３（ｂ）に示すように２ページ目に残りの１個が表示される。
【００５８】
表示画像番号記憶領域９３は、選択画面に表示する選択用画像の位置（左から「０番目」、「１番目」又は「２番目」）を０、１又は２の番号（表示画像番号）で記憶するための領域である。
【００５９】
横方向表示座標記憶領域９４は、選択用画像を液晶表示部１６に表示する際の横方向の画像配置開始点を示す情報を記憶するための領域である。
縦方向表示座標記憶領域９５は、選択用画像を液晶表示部１６に表示する際の縦方向の画像配置開始点を示す情報を記憶するための領域である。
【００６０】
液晶表示画像記憶領域４３は、液晶表示部１６に表示する選択用画像を記憶するための領域である。具体的には、液晶表示画像記憶領域４３は、選択用画像を記憶するための３つの領域（表示画像番号記憶領域９３の表示画像番号と対応付けられた「０番目」、「１番目」及び「２番目」の領域）から構成されている。
【００６１】
［１−３．ＣＰＵが実行する処理］
次に、複合機１０のＣＰＵ１１が実行する具体的処理内容について説明する。
まず、画像ファイルの記憶されているメディアカードがメディアカードスロット１８に挿入されている状態で、「メディア画像印刷」モードを選択する操作が操作入力部１７で行われることによりＣＰＵ１１が実行するメディア画像印刷処理について、図９のフローチャートを用いて説明する。
【００６２】
ＣＰＵ１１は、このメディア画像印刷処理を開始すると、まずＳ１０１で、メディアカードに記憶されている１つの画像ファイルの情報（ファイル名及びファイルサイズ）を読み出す。
【００６３】
続いて、Ｓ１０２では、Ｓ１０１で読み出した画像ファイルの情報を、入力画像情報記憶領域３１に記憶する。
続いて、Ｓ１０３では、メディアカードに記憶されているすべての画像ファイルについて、情報の読み出しが完了したか否かを判定する。
【００６４】
そして、Ｓ１０３で、全画像ファイルの情報の読み出しが完了していないと判定した場合には、Ｓ１０１へ戻り、まだ読み出していない画像ファイルの情報を読み出す。
一方、Ｓ１０３で、全画像ファイルの情報の読み出しが完了したと判定した場合には、Ｓ１０４へ移行し、後述する処理に用いるページ番号カウンタ及びカーソル位置カウンタをそれぞれ初期化（値を０に）する。
【００６５】
続いて、Ｓ１０５では、選択画面のページ番号が更新されたか否かを判定する。具体的には、初期値（メディア画像印刷処理開始時の値）が−１の処理中ページ番号記憶変数を一時変数記憶領域４１にあらかじめ用意しておき、この処理中ページ番号記憶変数の値とページ番号カウンタの値とを比較し、値が異なるか否かを判定することで、ページ番号が更新されたか否かを判定する。なお、処理中ページ番号記憶変数の初期値を−１としているのは、１回目の処理でページ番号が更新された場合の処理を実行する必要があるからである。また、処理中ページ番号記憶変数の値は、この判定処理の終了後、ページ番号カウンタの値に一致するように更新される。
【００６６】
そして、Ｓ１０５で、ページ番号が更新されたと判定した場合には、Ｓ１０６へ移行し、処理対象とする画像ファイルの入力画像ＩＤを決定する。具体的には、生成画像数カウンタを一時変数記憶領域４１に用意し、ページ番号カウンタの値に対応する表示ページ番号記憶領域９２の値（ページ番号）と、生成画像数カウンタに対応する表示画像番号記憶領域９３の値（表示画像番号）とに基づき、処理対象の画像ファイルの入力画像ＩＤを決定する。なお、生成画像数カウンタの値は、Ｓ１０５からＳ１０６へ移行した際に０にリセットされる。
【００６７】
続いて、Ｓ１０７では、処理対象の画像ファイルに対して出力画像生成処理を実行する。これにより、処理対象の画像ファイルの出力画像データ（印刷用画像を表す画像データ）が出力画像データ記憶領域３３に記憶される。なお、出力画像生成処理の具体的な内容については後述する（図１０）。
【００６８】
続いて、Ｓ１０８では、出力画像データ記憶領域３３に記憶されている出力画像データに対して液晶表示画像生成処理を実行する。具体的には、この液晶表示画像生成処理では、出力画像データをあらかじめ決められたサムネイル画像用のサイズに変換（拡大又は縮小）した画像データを、拡大／縮小画像データ記憶領域３４で生成する。その後、表示画像番号に対応する液晶表示画像記憶領域４３内の領域に、その画像データ（選択用画像を表す画像データ）をコピーする。
【００６９】
続いて、Ｓ１０９では、１画面分の選択用画像を生成したか否かを判定する。具体的には、Ｓ１０８で選択用画像が１個生成されるごとに、Ｓ１０６で用いた生成画像数カウンタの値に１を加算する。そして、この生成画像数カウンタの値が、１画面に表示できる最大画像数（本実施形態では３個であり、生成画像数カウンタの値としては初期値が０であるため２）に達したか否かを判定することで、１画面分の選択用画像を生成したか否かを判定する。
【００７０】
そして、Ｓ１０９で、１画面分の選択用画像を生成していないと判定した場合には、Ｓ１０６へ戻る。
一方、Ｓ１０９で、１画面分の選択用画像を生成したと判定した場合には、Ｓ１１０へ移行し、液晶表示画像記憶領域４３に記憶されている画像データ（選択用画像を表す画像データ）を、液晶表示部１６に表示する。その後、Ｓ１１１へ移行する。
【００７１】
一方、Ｓ１０５で、ページ番号が更新されていないと判定した場合には、Ｓ１０６〜Ｓ１１０の処理をスキップしてＳ１１１へ移行する。
Ｓ１１１では、カーソル位置カウンタ値に対応する画像表示領域上に、カーソル画像Ｃを表示する。本実施形態では、図３（ａ）及び図３（ｂ）に示すように、サムネイル画像の周囲を縁取る枠をカーソル画像Ｃとして表示する。
【００７２】
続いて、Ｓ１１２では、ユーザによって操作入力部１７で行われた操作キーの押操作の情報を入力する。
続いて、Ｓ１１３では、Ｓ１１２で入力した情報に基づき、押されたキーがＯＫキーであるかそれ以外のキー（具体的には、上キー、下キー、左キー又は右キー）であるかを判定する。
【００７３】
そして、Ｓ１１３で、押されたキーがＯＫキー以外のキーであると判定した場合には、Ｓ１１４へ移行し、ページ番号カウンタ及びカーソル位置カウンタを更新する。
具体的には、押されたキーが下キー又は右キーの場合には、カーソル画像Ｃの位置を右方向に１つ移動させるため、カーソル位置カウンタの値に１を加算する。ただし、この演算の結果、カーソル位置カウンタの値が最大値（本実施形態では２。なお、最大値が３でないのはカウンタの初期値が０であるため。）を超える場合（つまり、カーソル画像Ｃが最も右にある状態で下キー又は右キーが押された場合）には、カーソル位置カウンタの値を０に戻し、ページ番号カウンタの値に１を加算する。ここで、この演算の結果、ページ番号カウンタの値が最大値（最終ページのページ番号−１。なお、最大値が最終ページのページ番号でないのはカウンタの初期値が０であるため。）を超える場合（つまり、次のページが存在しない場合）には、加算を行わずにその最大値に維持する。
【００７４】
一方、押されたキーが上キー又は左キーの場合には、カーソル画像Ｃの位置を左方向に１つ移動させるため、カーソル位置カウンタの値から１を減算する。ただし、この演算の結果、カーソル位置カウンタの値が最小値である０よりも小さくなる場合（つまり、カーソル画像Ｃが最も左にある状態で上キー又は左キーが押された場合）には、カーソル位置カウンタの値を０に戻し、ページ番号カウンタの値から１を減算する。ここで、この演算の結果、ページ番号カウンタの値が最小値である０よりも小さくなる場合（つまり、前のページが存在しない場合）には、減算を行わずに０に維持する。
【００７５】
このＳ１１４の処理の後、Ｓ１０５へ戻る。
一方、Ｓ１１３で、押されたキーがＯＫキーであると判定した場合には、Ｓ１１５へ移行し、ページ番号カウンタの値に対応する表示ページ番号記憶領域９２の値（ページ番号）と、カーソル位置カウンタの値に対応する表示画像番号記憶領域９３の値（表示画像番号）とから、印刷対象の入力画像ＩＤを決定する。
【００７６】
続いて、Ｓ１１６では、Ｓ１１５で印刷対象に決定した入力画像ＩＤの画像ファイルを処理対象として、出力画像生成処理を実行する。これにより、印刷対象の画像ファイルの出力画像データ（印刷用画像を表す画像データ）が出力画像データ記憶領域３３に記憶される。なお、出力画像生成処理の具体的な内容については後述する（図１０）。
【００７７】
続いて、Ｓ１１７では、出力画像データ記憶領域３３に記憶されている出力画像データの印刷処理を実行する。この印刷処理では、出力画像データ記憶領域３３に記憶されている出力画像データを、１ライン単位で印刷データ記憶領域４０にコピーし、色変換処理（ＲＧＢ→ＣＭＹＫ）及び二値化処理を行った後、印刷制御部１５へ出力する。これにより、印刷制御部１５で二値データに基づく印刷が行われる。
【００７８】
このＳ１１７の印刷処理の後、本メディア画像印刷処理を終了する。
次に、前述したメディア画像印刷処理におけるＳ１０７及びＳ１１６の処理としてＣＰＵ１１が実行する出力画像生成処理について、図１０のフローチャートを用いて説明する。
【００７９】
ＣＰＵ１１は、この出力画像生成処理を開始すると、まずＳ２０１で、処理対象の画像ファイルの種類を、そのヘッダ情報などを参照して判定する。
続いて、Ｓ２０２では、Ｓ２０１で判定した画像ファイルの種類が静止画像ファイル及び動画像ファイルのうちのいずれに分類されるものであるかを、例えば、画像ファイルのファイル形式によって判定する。なお、本実施形態では、動画像ファイルの形式であっても、フレーム画像が１個しか存在しない場合には静止画像ファイルとみなして処理する。
【００８０】
そして、Ｓ２０２で、画像ファイルの種類が動画像ファイルであると判定した場合には、Ｓ２０３へ移行し、この動画像ファイルの解析処理を実行する。この解析処理により、動画像ファイルのフォーマット種別情報及びコーデック種別情報が得られる。こうして得られた各種別情報は、動画像情報記憶領域３２内のフォーマット種別記憶領域６１及びコーデック種別記憶領域６２にそれぞれ記憶される。
【００８１】
続いて、Ｓ２０４では、動画像パラメータの抽出処理を実行する。この抽出処理により、動画像ファイルの横方向サイズ情報、縦方向サイズ情報及び総フレーム数情報が得られる。こうして得られた各情報は、動画像情報記憶領域３２内の横方向サイズ記憶領域６３、縦方向サイズ記憶領域６４及び総フレーム数記憶領域６５にそれぞれ記憶される。
【００８２】
続いて、Ｓ２０５では、抽出対象のフレーム画像データそれぞれについて、抽出フレーム画像情報（オフセットサイズ及び伸張処理前のデータサイズ）を抽出する。なお、抽出対象のフレーム画像データの数は通常は９個であるが、総フレーム数が配置フレーム数である９個に満たない場合には９個未満となる。
【００８３】
続いて、Ｓ２０６では、Ｓ２０５で抽出した抽出フレーム画像情報（オフセットサイズ及び伸張処理前のデータサイズ）を、フレーム画像情報記憶領域３５における各フレーム画像データに対応する番号（フレーム配置位置番号記憶領域７１の番号）の領域に記憶する。
【００８４】
続いて、Ｓ２０７では、動画像ファイルの表す動画像を構成する総フレーム数が配置フレーム数である９個未満であるか否かを判定する。
そして、Ｓ２０７で、総フレーム数が配置フレーム数未満であると判定した場合には、補完フレーム画像を挿入するための処理（Ｓ２０８〜Ｓ２１１）を実行する。すなわち、まずＳ２０８では、動画像を構成するすべてのフレーム画像について、時系列的に連続するフレーム画像間の差分（フレーム間差分）を算出するフレーム差分算出処理を実行する。これにより、フレーム間差分の算出元となるフレーム画像データの番号と、フレーム間差分とがフレーム差分情報記憶領域３８に記憶される。なお、フレーム差分算出処理の具体的な内容については後述する（図１１）。
【００８５】
続いて、Ｓ２０９では、補完フレーム画像を生成する数である補完フレーム数を決定する。本実施形態では、最大補完フレーム数及びしきい値差分フレーム数のうち、小さい方の値を補完フレーム数に決定する。ここで、最大補完フレーム数とは、配置フレーム数から総フレーム数を引いた数（不足数）である。また、しきい値差分フレーム数とは、値が判定基準値（例えばフレーム画像のピクセルサイズ）以上であるフレーム間差分の数である。つまり、フレーム画像の不足数を限度（最大数）として、フレーム間差分の大きい位置に補完フレーム画像を挿入すべく、補完フレーム数を決定する。
【００８６】
続いて、Ｓ２１０では、動画像ファイルから抽出したフレーム画像データに基づき補完フレーム画像を生成するフレーム画像生成処理を実行する。これにより、補完フレーム画像を表す補完フレーム画像データ（伸張処理後の形式のデータ）が補完フレーム画像データ記憶領域３９に記憶される。なお、フレーム画像生成処理の具体的な内容については後述する（図１２）。
【００８７】
続いて、Ｓ２１１では、Ｓ２０９で決定した補完フレーム数分の補完フレーム画像データをＳ２１０で生成したか否かを判定する。具体的には、初期値（出力画像生成処理開始時の値）が０の生成フレーム数カウンタを一時変数記憶領域４１にあらかじめ用意しておき、Ｓ２１０の処理が終了するごとに生成フレーム数カウンタの値に１を加算する。そして、この値が補完フレーム数に達した場合に、補完フレーム数分の補完フレーム画像データを生成したと判定する。
【００８８】
そして、Ｓ２１１で、補完フレーム数分の補完フレーム画像データを生成していないと判定した場合には、Ｓ２１０へ戻る。つまり、補完フレーム数分の補完フレーム画像データが生成されるまでＳ２１０の処理が繰り返される。
【００８９】
一方、Ｓ２１１で、補完フレーム数分の補完フレーム画像データを生成したと判定した場合や、Ｓ２０７で、総フレーム数が配置フレーム数未満でない（配置フレーム数以上である）と判定した場合には、フレーム配置画像に配置すべきフレーム画像（補完フレーム画像が含まれ得る。）を表すフレーム画像データを出力画像データ記憶領域３３に配置する処理（Ｓ２１２〜Ｓ２１７）へ移行する。具体的には、配置すべきフレーム画像データを順に処理対象として選択し、処理対象のフレーム画像データについてＳ２１２〜Ｓ２１６の処理を行う。これを処理対象のフレーム画像データの数だけ繰り返すことになる。具体的には、初期値（出力画像生成処理開始時の値）が０の処理フレーム画像数カウンタを一時変数記憶領域４１にあらかじめ用意しておき、この処理フレーム画像数カウンタの値に対応するフレーム画像データを処理対象とする。なお、この処理フレーム画像数カウンタの値は、後述するように、処理対象のフレーム画像データについての処理が完了するごとに加算される。
【００９０】
Ｓ２１２では、処理対象のフレーム画像データが伸張処理前の画像データであるか否かを判定する。すなわち、動画像から抽出されるフレーム画像データは伸張処理前の形式であるのに対し、補完フレーム画像データは伸張処理後の形式で補完フレーム画像データ記憶領域３９に記憶されるため、いずれであるかを判定するようにしている。具体的には、フレーム画像情報記憶領域３５における補完フレーム画像番号記憶領域７４の値が０であれば伸張処理前の画像であると判定する。
【００９１】
このＳ２１２で、処理対象のフレーム画像データが伸張処理前の画像データ（動画像から抽出したフレーム画像データ）であると判定した場合には、Ｓ２１３へ移行し、処理対象のフレーム画像データをオフセットサイズ情報記憶領域７５に記憶されているオフセットサイズ及びフレームサイズ情報記憶領域７６に記憶されている伸張処理前のデータサイズに基づき動画像ファイルから読み出す処理を行う。
【００９２】
続いて、Ｓ２１４では、Ｓ２１３で読み出されたフレーム画像データ（伸張処理前の画像データ）を、フレーム画像データ記憶領域３６に記憶する。
続いて、Ｓ２１５では、フレーム画像データ記憶領域３６に記憶されているフレーム画像データに伸張処理を施し、フレーム画像データをピクセル演算が可能な形式（ピクセルごとにＲＧＢ値をそれぞれ０〜２５５の値で表した画像データ）に変換する。その後、Ｓ２１６へ移行する。
【００９３】
一方、Ｓ２１２で、処理対象のフレーム画像データが伸張処理前の画像データでない（補完フレーム画像データである）と判定した場合には、Ｓ２１３〜Ｓ２１５の処理をスキップしてＳ２１６へ移行する。
【００９４】
Ｓ２１６では、処理対象のフレーム画像データ（伸張処理後のピクセルデータ）を、出力画像データ記憶領域３３における各フレーム画像に対応した位置に記憶する。
続いて、Ｓ２１７では、すべてのフレーム画像データを出力画像データ記憶領域３３に配置したか否かを判定する。具体的には、１つのフレーム画像データについて処理が完了するごとに、処理フレーム画像数カウンタの値に１を加算し、この処理フレーム画像数カウンタの値がフレーム画像データの配置数（総フレーム数が配置フレーム数未満の場合には、総フレーム数＋補完フレーム数）に達したか否かを判定することで、すべてのフレーム画像データを配置したか否かを判定する。
【００９５】
そして、Ｓ２１７で、すべてのフレーム画像データを配置していないと判定した場合には、Ｓ２１２へ戻り、未処理のフレーム画像データを処理対象として前述した処理を行う。
【００９６】
一方、Ｓ２１７で、すべてのフレーム画像データを配置したと判定した場合には、そのまま本出力画像生成処理を終了する。なお、この時点で出力画像データ記憶領域３３に記憶されている画像データが、動画像ファイルの出力画像データである。
【００９７】
また、前述したＳ２０２で、画像ファイルの種類が静止画像ファイルであると判定した場合には、Ｓ２１８へ移行し、この静止画像ファイルに伸張処理を施し、データをピクセル演算が可能な形式に変換する。
【００９８】
続いて、Ｓ２１９では、Ｓ２１８で伸張処理した画像データを出力画像データ記憶領域３３に記憶した後、本出力画像生成処理を終了する。つまり、静止画像ファイルの場合には、動画像ファイルと異なり、静止画像は出力画像データ記憶領域３３に１つしか配置されない。なお、この時点で出力画像データ記憶領域３３に記憶されている画像データが、静止画像ファイルの出力画像データである。
【００９９】
次に、前述した出力画像生成処理におけるＳ２０８の処理としてＣＰＵ１１が実行するフレーム差分算出処理について、図１１のフローチャートを用いて説明する。
ＣＰＵ１１は、このフレーム差分算出処理を開始すると、まずＳ３０１で、一時変数記憶領域４１にフレームカウンタを生成し、これを０で初期化する。
【０１００】
続いて、Ｓ３０２では、フレームカウンタの値に対応する番号（フレーム配置位置番号記憶領域７１の番号）のフレーム画像データを、そのオフセットサイズ及びデータサイズに基づき動画像ファイルから抽出する。
【０１０１】
続いて、Ｓ３０３では、Ｓ３０２で抽出したフレーム画像データを、第１フレーム画像データ記憶領域３６に記憶する。
続いて、Ｓ３０４では、Ｓ３０２と同様の手法によって、「フレームカウンタの値＋１」に対応する番号のフレーム画像データを動画像ファイルから抽出する。
【０１０２】
続いて、Ｓ３０５では、Ｓ３０４で抽出したフレーム画像データを、第２フレーム画像データ記憶領域３７に記憶する。
続いて、Ｓ３０６では、第１フレーム画像データ記憶領域３６及び第２フレーム画像データ記憶領域３７のそれぞれに記憶したフレーム画像データの差分を算出する。具体的には、これら２つのフレーム画像データに伸張処理を施し、各座標位置単位で画素値の差分絶対値を算出する。これを、ＲＧＢそれぞれについて全座標分算出し、この合計値をフレーム間差分とする。なお、伸張データの記憶領域は、一時変数記憶領域４１に各々１ピクセル分の画素値を記憶するための変数を用意することで確保する。点順次作業可能なので、画像を記憶するための専用領域を設ける必要はない。
【０１０３】
続いて、Ｓ３０７では、フレーム差分情報記憶領域３８におけるフレームカウンタの値に対応する番号（差分情報番号記憶領域８１の番号）の第１差分取得フレーム番号記憶領域８２にフレームカウンタの値を、第２差分取得フレーム番号記憶領域８３に「フレームカウンタの値＋１」を、差分情報記憶領域８４にＳ３０６で算出したフレーム間差分を、それぞれ記憶する。
【０１０４】
続いて、Ｓ３０８では、フレームカウンタの値に１を加算する。
続いて、Ｓ３０９では、フレームカウンタの値が「総フレーム数−１」に達した（すべてのフレーム画像間についてフレーム監査分を算出した）か否かを判定する。
【０１０５】
そして、Ｓ３０９で、フレームカウンタの値が「総フレーム数−１」に達していないと判定した場合には、Ｓ３０２へ戻り、加算されたフレームカウンタの値に基づき前述した処理を行う。
【０１０６】
一方、Ｓ３０９で、フレームカウンタの値が「総フレーム数−１」に達したと判定した場合には、本フレーム差分算出処理を終了する。
次に、前述した出力画像生成処理におけるＳ２１０の処理としてＣＰＵ１１が実行するフレーム画像生成処理について、図１２のフローチャートを用いて説明する。
【０１０７】
ＣＰＵ１１は、このフレーム画像生成処理を開始すると、まずＳ４０１で、生成フレーム数カウンタ（Ｓ２１１でカウントされるカウンタ）と、差分情報記憶領域８４に記憶されているフレーム間差分とに基づき、補完フレーム画像の挿入位置を決定する。具体的には、時系列順に連続するフレーム画像間のうちフレーム間差分の大きいものから順に挿入位置として決定されるようになっている。すなわち、生成フレーム数カウンタの値は、このフレーム画像生成処理が実行されるごとにカウントアップされるが、生成フレーム数カウンタの値が低いものほど、フレーム間差分（補完フレーム画像挿入前のフレーム間差分）の大きい挿入位置が対応づけられる。
【０１０８】
例えば、図７に示す記憶データの場合、生成フレーム数カウンタの値が「０」の段階では、フレーム間差分が１番目に大きい差分情報番号「２」が挿入位置として決定される。その後、生成フレーム数カウンタの値が「１」の段階では、フレーム間差分が２番目に大きい差分情報番号「５」が挿入位置として決定され、生成フレーム数カウンタの値が「２」の段階では、フレーム間差分が３番目に大きい差分情報番号「７」が挿入位置として決定される。なお、フレーム間差分が同一値のものが存在する場合には、差分情報番号に基づく優先度の高い方（例えば番号が小さい方）を優先するものとする。
【０１０９】
そして、フレーム差分情報記憶領域３８における差分情報番号ごとの記憶情報のうち、決定した挿入位置（差分情報番号）に対応する情報を以降の処理対象とする。
なお、ここでは、補完フレーム画像挿入前のフレーム間差分に基づき挿入位置を対応づけるようにしているが、これは、後述する処理（Ｓ４１３）において、補完フレーム画像の挿入によりフレーム間差分が更新されるからである。ただし、これに限定されるものではなく、Ｓ４０１の処理時点でのフレーム間差分に基づき挿入位置を対応づけるようにしてもよい。この場合、同一の挿入位置が複数回選択されることを許容することも可能である。
【０１１０】
続いて、Ｓ４０２では、補完フレーム画像データ記憶領域３９に設けられた１番目から８番目までの領域の中から、補完フレーム画像データを記憶する領域の領域番号を決定する。具体的には、初期値（出力画像生成処理開始時の値）が１の領域番号カウンタを一時変数記憶領域４１にあらかじめ用意しておき、この値に対応する領域を補完フレーム画像データを記憶する領域に決定した後、領域番号カウンタの値に１を加算する。
【０１１１】
続いて、Ｓ４０３では、処理対象の第１差分取得フレーム番号記憶領域８２に記憶されているフレーム番号に対応するフレーム画像データ（第１差分取得フレーム）を、そのオフセットサイズ及びデータサイズに基づき動画像ファイルから抽出し、第１フレーム画像データ記憶領域３６に記憶する。
【０１１２】
続いて、Ｓ４０４では、Ｓ４０３と同様に、処理対象の第２差分取得フレーム番号記憶領域８３に記憶されているフレーム番号に対応するフレーム画像データ（第２差分取得フレーム）を、そのオフセットサイズ及びデータサイズに基づき動画像ファイルから抽出し、第２フレーム画像データ記憶領域３７に記憶する。
【０１１３】
続いて、Ｓ４０５では、後述する処理に用いるピクセルカウンタを初期化（値を０に）する。
続いて、Ｓ４０６では、横方向サイズ記憶領域６３及び縦方向サイズ記憶領域６４の値に基づき、フレーム画像のピクセルサイズを算出する。
【０１１４】
続いて、Ｓ４０７では、第１フレーム画像データ記憶領域３６及び第２フレーム画像データ記憶領域３７に記憶されている第１差分取得フレーム及び第２差分取得フレームのそれぞれに伸張処理を施したピクセルデータをピクセル単位（１画素単位）で取得する。なお、この処理においては、第１差分取得フレーム及び第２差分取得フレームそれぞれ１ピクセル分の情報を記憶するための領域を一時変数記憶領域４１に確保してピクセルデータを格納する。
【０１１５】
続いて、Ｓ４０８では、Ｓ４０７で取得した第１差分取得フレーム及び第２差分取得フレームのピクセルデータの画素値について平均値を算出する。具体的には、ＲＧＢ値のそれぞれについて、次の式（１）〜式（３）に従い平均値を算出する。なお、Ｒｏ，Ｇｏ，Ｂｏは平均値（出力画素値）、Ｒ１，Ｇ１，Ｂ１は第１差分取得フレームのピクセルデータの画素値、Ｒ２，Ｇ２，Ｂ２は第２差分取得フレームのピクセルデータの画素値である。
【０１１６】
Ｒｏ＝（Ｒ１＋Ｒ２）／２  …式（１）
Ｇｏ＝（Ｇ１＋Ｇ２）／２  …式（２）
Ｂｏ＝（Ｂ１＋Ｂ２）／２  …式（３）
続いて、Ｓ４０９では、Ｓ４０８で算出した平均値を、補完フレーム画像データ記憶領域３９におけるＳ４０２で決定した領域番号の領域に記憶する。
【０１１７】
続いて、Ｓ４１０では、ピクセルカウンタに１を加算する。
続いて、Ｓ４１１では、ピクセルカウンタの値が、Ｓ４０６で算出したフレーム画像のピクセルサイズに達したか否かを判定する。つまり、すべてのピクセルについて平均値を算出したか否かを判定している。
【０１１８】
そして、Ｓ４１１で、ピクセルカウンタの値がフレーム画像のピクセルサイズに達していないと判定した場合には、Ｓ４０７へ戻る。
一方、Ｓ４１１で、ピクセルカウンタの値がフレーム画像のピクセルサイズに達したと判定した場合には、Ｓ４１２へ移行し、フレーム画像情報記憶領域３５に記憶されている情報を、補完フレーム画像が挿入位置に挿入された状態の情報に更新する。なお、具体的な更新ステップは次の（Ａ１）〜（Ａ５）のとおりである。
【０１１９】
（Ａ１）Ｓ４０１で決定した差分情報番号に対応する第２差分取得フレーム番号記憶領域８３の値（補完フレーム画像の挿入位置前後のうち挿入位置後のフレーム画像のフレーム番号）を読み出す。
【０１２０】
（Ａ２）上記（Ａ１）で読み出した第２差分取得フレーム番号記憶領域８３の値に対応するフレーム配置位置番号記憶領域７１の値を求める。
（Ａ３）フレーム画像情報記憶領域３５に記憶されている情報のうち、上記（Ａ２）で求めたフレーム配置位置番号記憶領域７１の値に対応する情報を、一時変数記憶領域４１における退避領域に退避させる。
【０１２１】
（Ａ４）上記（Ａ２）で求めたフレーム配置位置番号記憶領域７１の値に対応する情報として、動画ファイル名記憶領域７２には空白、抽出フレーム番号記憶領域７３、オフセットサイズ情報記憶領域７５及びフレームサイズ情報記憶領域７６には０、生成フレーム画像番号記憶領域７４にはＳ４０２で決定した領域番号をそれぞれ記憶する。
【０１２２】
（Ａ５）上記（Ａ３）で退避させた情報を、退避前の領域の次の領域（上記（Ａ２）で求めたフレーム配置位置番号記憶領域７１の値＋１の値に対応する領域）にコピーする。ただし、コピー先の領域に別の情報が記憶されている場合には、その情報を一時変数記憶領域４１における退避領域に退避させた後にコピーするとともに、退避させた情報を次の領域にコピーする。そして、コピー先の領域に別の情報が記憶されている限り、上記処理を繰り返す。
【０１２３】
続いて、Ｓ４１３では、フレーム差分情報記憶領域３８に記憶されている情報を、補完フレーム画像が挿入位置に挿入された状態の情報に更新する。なお、具体的な更新ステップは次の（Ｂ１）〜（Ｂ６）のとおりである。
【０１２４】
（Ｂ１）フレーム差分情報記憶領域３８に記憶されている情報のうち、差分情報番号記憶領域８１の番号がＳ４０１で決定した差分情報番号よりも大きいものを、差分情報番号に１を加算した位置に移動させる（差分情報番号１つずつずらす）。
【０１２５】
（Ｂ２）Ｓ４０１で決定した差分情報番号に対応する領域の情報については、第２差分取得フレーム番号記憶領域８３のみを、差分情報番号に１を加算した位置に移動させる（差分情報番号１つずらす）。
【０１２６】
（Ｂ３）Ｓ４０１で決定した差分情報番号に対応する第２差分取得フレーム番号記憶領域８３には、補完フレーム画像データを記憶した補完フレーム画像データ記憶領域３９の領域番号にマイナス（−）を付加した値を記憶する。なお、マイナスを付加するのは通常のフレーム番号と区別するためである。
【０１２７】
（Ｂ４）上記（Ｂ３）で記憶した値と同一の値を、「差分情報番号＋１」の第１差分取得フレーム番号記憶領域８２に記憶する。
（Ｂ５）Ｓ４０１で決定した差分情報番号に対応する差分情報記憶領域８４の値を半分にする（小数点以下は切り捨てる）。
【０１２８】
（Ｂ６）上記（Ｂ５）で半分にした値と同一の値を、「差分情報番号＋１」の差分情報記憶領域８４に記憶する。つまり、補完フレーム画像の挿入前のフレーム間差分を、補完フレーム画像の挿入により半分にする。
【０１２９】
［１−４．効果］
以上説明したように、第１実施形態の複合機１０では、動画像から抽出可能なフレーム画像の総数が、フレーム配置画像に配置すべき配置フレーム数未満である場合に、動画像において時系列順に連続するフレーム画像間のうち、フレーム間差分の大きい位置に補完フレーム画像を挿入する。このため、本実施形態の複合機１０によれば、動画像から抽出可能なフレーム画像の総数が配置フレーム数未満である場合に生じる余白（フレーム画像を配置可能な空き部分）を利用して、時系列順に連続するフレーム画像間の被写体の急激な動作の変化を緩和させることができる。この結果、フレーム配置画像から受ける不自然な印象を解消することができる。
【０１３０】
特に、補完フレーム画像として挿入位置前後の２つのフレーム画像を合成した合成画像（図２（ａ））を挿入するようにしているため、時系列順に連続するフレーム画像間の急激な変化を自然に緩和させることができる。
【０１３１】
［１−５．特許請求の範囲との対応］
なお、第１実施形態の複合機１０では、Ｓ１０１〜Ｓ１０３の処理を実行するＣＰＵ１１が入力手段に相当し、Ｓ１１６の処理を実行するＣＰＵ１１が配置画像生成手段に相当し、Ｓ１１７の処理を実行するＣＰＵ１１が出力手段に相当する。また、Ｓ２０７の処理を実行するＣＰＵ１１がフレーム数判定手段に相当し、Ｓ２０８の処理を実行するＣＰＵ１１が変化量算出手段に相当し、Ｓ４０１の処理を実行するＣＰＵ１１が挿入位置決定手段に相当し、Ｓ４０２〜Ｓ４１１の処理を実行するＣＰＵ１１が補完フレーム画像生成手段に相当し、Ｓ４１２，Ｓ４１３の処理を実行するＣＰＵ１１が補完手段に相当する。
【０１３２】
［２．第２実施形態］
次に、第２実施形態について説明する。なお、基本的な構成は第１実施形態と同じであるため、共通する部分の説明は省略するとともに、符号についても流用する。
【０１３３】
前述した第１実施形態の複合機１０では、挿入位置前後の２つのフレーム画像を合成した合成画像を補完フレーム画像としている。これに対し、第２実施形態の複合機１０では、フレーム間差分が小さい場合には、挿入位置前後の２つのフレーム画像のうちの一方（本実施形態では挿入位置前のフレーム画像）を複製した複製画像（図２（ｂ））を補完フレーム画像とする点が異なる。つまり、補完フレーム画像の挿入位置前後のフレーム間差分が所定の判定基準値以上である場合には合成画像を挿入し、挿入位置前後のフレーム間差分が判定基準値未満である場合には複製画像を挿入する。
【０１３４】
具体的には、第１実施形態で説明したフレーム画像生成処理（図１２）に代えて、以下に説明するフレーム画像生成処理（図１３）をＣＰＵ１１が実行する。なお、図１３のフレーム画像生成処理におけるＳ５０１，Ｓ５０２，Ｓ５０４〜Ｓ５１２，Ｓ５１５，Ｓ５１６は、図１２のフレーム画像生成処理におけるＳ４０１〜Ｓ４１３と同一の処理であるため、説明を省略する。
【０１３５】
Ｓ５０３では、Ｓ５０１（Ｓ４０１と同一の処理）で決定した差分情報番号に対応するフレーム間差分（差分情報記憶領域８４に記憶されている値）が、補完フレーム画像を合成画像にするか否かを判定するための判定基準値以上であるか否かを判定する。本実施形態では、判定基準値が「フレーム画像のピクセルサイズ×２」に設定されている。
【０１３６】
そして、Ｓ５０３で、フレーム間差分が判定基準値以上であると判定した場合には、Ｓ５０４〜Ｓ５１２の処理（補完フレーム画像として合成画像を生成する処理）を実行する。
【０１３７】
一方、Ｓ５０３で、フレーム間差分が判定基準値以上でない（判定基準値未満である）と判定した場合にはＳ５１３，Ｓ５１４の処理（補完フレーム画像として複製画像を生成する処理）を実行する。
【０１３８】
すなわち、Ｓ５１３では、Ｓ５０１で決定した差分情報番号に対応する第１差分取得フレームを、そのオフセットサイズ及びデータサイズに基づき動画像ファイルから抽出し、第１フレーム画像データ記憶領域３６に記憶する。なお、この処理内容は、Ｓ５０４（Ｓ４０３）と同一である。
【０１３９】
続いて、Ｓ５１４では、Ｓ５１３で第１フレーム画像データ記憶領域３６に記憶した第１差分取得フレームに伸張処理を施し、補完フレーム画像データ記憶領域３９におけるＳ５０２（Ｓ４０２と同一の処理）で決定した領域番号の領域に記憶する。その後、Ｓ５１５へ移行する。
【０１４０】
以上説明したように、第２実施形態の複合機１０によれば、第１実施形態の複合機１０と同様の効果を得ることができる。特に、第２実施形態の複合機１０では、フレーム間差分が小さい場合には合成画像（図２（ａ））に代えて複製画像（図２（ｂ））を挿入するようにしているため、時系列順に連続するフレーム画像間の急激な変化を合成画像により自然に緩和させつつ、変化が急激でなければ合成画像に代えて複製画像を用いることで処理を簡素化することができる。
【０１４１】
なお、第２実施形態の複合機１０では、Ｓ５０１の処理を実行するＣＰＵ１１が挿入位置決定手段に相当し、Ｓ５０２〜Ｓ５１４の処理を実行するＣＰＵ１１が補完フレーム画像生成手段に相当し、Ｓ５１５，Ｓ５１６の処理を実行するＣＰＵ１１が補完手段に相当する。
【０１４２】
［３．第３実施形態］
次に、第３実施形態について説明する。なお、基本的な構成は第１実施形態と同じであるため、共通する部分の説明は省略するとともに、符号についても流用する。
【０１４３】
前述した第１実施形態の複合機１０では、挿入位置前後の２つのフレーム画像を１：１の割合で合成した合成画像を補完フレーム画像としている。これに対し、第３実施形態の複合機１０では、同一の挿入位置に複数の合成画像を挿入する場合に、合成比率をそれぞれ異ならせる点が異なる。つまり、フレーム画像間の変化をよりなめらかに緩和させるようにしている。
【０１４４】
具体的には、フレーム差分情報記憶領域３８が図１４に示すように構成されており、第１実施形態で説明した出力画像生成処理（図１０）及びフレーム画像生成処理（図１２）に代えて、図１５に示す出力画像生成処理及び図１７に示すフレーム画像生成処理をＣＰＵ１１が実行する。
【０１４５】
図１４に示すフレーム差分情報記憶領域３８は、差分情報番号記憶領域８１、第１差分取得フレーム番号記憶領域８２、第２差分取得フレーム番号記憶領域８３及び差分情報記憶領域８４に加え、補完フレーム挿入数記憶領域８５を備えている。この補完フレーム挿入数記憶領域８５は、第１差分取得フレーム及び第２差分取得フレームの間に挿入される補完フレーム画像の数（補完フレーム挿入数）を記憶するための領域である。なお、補完フレーム挿入数の初期値（出力画像生成処理開始時の値）は０である。
【０１４６】
次に、図１５に示す出力画像生成処理について説明する。なお、この出力画像生成処理におけるＳ６０１〜Ｓ６０８，Ｓ６１１，Ｓ６１３〜Ｓ６１８は、図１０の出力画像生成処理におけるＳ２０１〜Ｓ２０８，Ｓ２１０，Ｓ２１２〜Ｓ２１７と同一の処理であるため、説明を省略する。
【０１４７】
Ｓ６０９では、図１６に示す補完フレーム数決定処理を実行する。
具体的には、まずＳ７０１で、配置フレーム数から総フレーム数を引いた数（不足数）を算出し、最大補完フレーム数として記憶する。
【０１４８】
続いて、Ｓ７０２では、動画像から抽出可能なフレーム画像のうち、値が判定基準値（例えばフレーム画像のピクセルサイズ）以上であるフレーム間差分の数を、しきい値差分フレーム数として算出する。
【０１４９】
続いて、Ｓ７０３では、しきい値差分フレーム数が最大補完フレーム数未満であるか否かを判定する。
そして、Ｓ７０３で、しきい値差分フレーム数が最大補完フレーム数未満でない（最大補完フレーム数以上である）と判定した場合には、Ｓ７０４へ移行し、最大補完フレーム数の値を補完フレーム数に決定する。その後、本補完フレーム数決定処理を終了する。
【０１５０】
一方、Ｓ７０３で、しきい値差分フレーム数が最大補完フレーム数未満であると判定した場合には、Ｓ７０５へ移行し、後述する処理に用いる生成可能フレーム数カウンタを初期化（値を０に）する。
【０１５１】
続いて、Ｓ７０６では、Ｓ７０２で判定基準値以上であるとされたフレーム間差分のうちの１つを選択し、フレーム間差分を判定基準値で割った値（小数点以下切り捨て）を算出する。ここで算出される値は、フレーム間差分が大きいほど大きくなるが、最も小さくても１となる。なお、このＳ７０６の処理は、しきい値差分フレーム数だけ繰り返されるようになっており（Ｓ７０８）、ここでは未選択のものを選択する。これにより、しきい値差分フレーム数のフレーム間差分が１回ずつ選択されて値が算出されることになる。
【０１５２】
続いて、Ｓ７０７では、Ｓ７０６で算出した値を生成可能フレーム数カウンタに加算する。
続いて、Ｓ７０８では、Ｓ７０２で判定基準値以上であるとされたすべてのフレーム間差分についてＳ７０６の算出を行ったか否かを判定する。具体的には、Ｓ７０６，Ｓ７０７の処理の実行回数がしきい値差分フレーム数に達したか否かを判定する。
【０１５３】
そして、Ｓ７０８で、すべてのフレーム間差分について算出を行っていない（未算出のフレーム間差分が存在する）と判定した場合には、Ｓ７０６へ戻る。
一方、Ｓ７０８で、すべてのフレーム間差分について算出を行ったと判定した場合には、Ｓ７０９へ移行し、生成可能フレーム数カウンタの値（しきい値差分フレーム数以上の値となる。）及び最大補完フレーム数のうち、小さい方の値を補完フレーム数に決定する。その後、本補完フレーム数決定処理を終了する。
【０１５４】
続いて、Ｓ６１０では、補完フレーム画像の挿入位置を決定する。具体的には、初期値（出力画像生成処理開始時の値）が０の補完フレーム数カウンタを一時変数記憶領域４１にあらかじめ用意しておき、次の（Ｃ１）〜（Ｃ５）の処理を、補完フレーム数カウンタの値が補完フレーム数に達するまで繰り返す。
【０１５５】
（Ｃ１）フレーム差分情報記憶領域３８における差分情報番号（差分情報番号記憶領域８１に記憶されている番号）ごとの記憶情報のうち、差分情報記憶領域８４に記憶されているフレーム間差分が最も大きい情報を選択する。以下の（Ｃ２）〜（Ｃ５）の処理は、ここで選択した処理対象の情報に対して行われる。
【０１５６】
（Ｃ２）フレーム間差分に「補完フレーム挿入数＋１」の値をかける（乗ずる）。
（Ｃ３）補完フレーム挿入数の値に１を加算する。
（Ｃ４）フレーム間差分を「補完フレーム挿入数＋１」の値で割る（除する）。
【０１５７】
（Ｃ５）補完フレーム数カウンタに１を加算する。
例えば、補完フレーム挿入数が０の挿入位置に補完フレーム画像が挿入されると、補完フレーム挿入数が１となり、フレーム間差分が２分の１となる。また、その挿入位置に更に補完フレーム画像が挿入されると、補完フレーム挿入数が２となり、フレーム間差分が３分の２（補完フレーム挿入数が０の状態に対して３分の１）となる。
【０１５８】
つまり、補完フレーム画像を含むフレーム画像間の差分ができるだけ均等になるように補完フレーム画像の挿入位置及び挿入数を決定する。
また、Ｓ６１２では、差分情報番号の数だけＳ６１１のフレーム画像生成処理を行ったか否かを判定する。具体的には、具体的には、初期値（出力画像生成処理開始時の値）が０の差分情報番号カウンタを一時変数記憶領域４１にあらかじめ用意しておき、Ｓ６１１の処理が終了するごとに差分情報番号カウンタの値に１を加算する。そして、この値が差分情報番号の最大値に達した場合に、差分情報番号の数だけフレーム画像生成処理を行ったと判定する。なお、Ｓ６１１の処理は、差分情報番号に対応する補完フレーム挿入数が０の場合には省略し、差分情報番号カウンタの値に１を加算する処理のみ行う。
【０１５９】
そして、Ｓ６１２で、差分情報番号の数だけフレーム画像生成処理を行っていないと判定した場合には、Ｓ６１１へ戻る。つまり、補完フレーム数分の補完フレーム画像データが生成されるまでＳ６１１の処理が繰り返される。
【０１６０】
一方、Ｓ６１２で、差分情報番号の数だけフレーム画像生成処理を行ったと判定した場合には、Ｓ６１３へ移行する。以降の処理（Ｓ６１３〜Ｓ６１８）は、第１実施形態のＳ２１２〜Ｓ２１７と同一である。
【０１６１】
次に、図１７に示すフレーム画像生成処理について説明する。なお、このフレーム画像生成処理におけるＳ８０２〜Ｓ８０５，Ｓ８０７，Ｓ８０８，Ｓ８１０〜Ｓ８１２は、図１２のフレーム画像生成処理におけるＳ４０２〜Ｓ４０４，Ｓ４０６，Ｓ４０５，Ｓ４０７，Ｓ４０９〜Ｓ４１１）と同一の処理であるため、説明を省略する。
【０１６２】
Ｓ８０１では、フレーム差分情報記憶領域３８における差分情報番号（差分情報番号記憶領域８１に記憶されている番号）ごとの記憶情報のうち、差分情報番号カウンタ（Ｓ６１２でカウントされるカウンタ）の値に対応する情報を処理対象として決定する。
【０１６３】
また、Ｓ８０６では、後述する処理に用いる挿入フレーム数カウンタを初期化（値を０に）する。
また、Ｓ８０９では、Ｓ８０８（Ｓ４０７と同一の処理）で取得した第１差分取得フレーム及び第２差分取得フレームのピクセルデータの画素値について重み付き平均（加重平均）の平均値を算出する。具体的には、ＲＧＢ値のそれぞれについて、次の式（４）〜式（６）に従い重み付き平均値を算出する。なお、Ｒｏ，Ｇｏ，Ｂｏは重み付き平均値（出力画素値）、Ｒ１，Ｇ１，Ｂ１は第１差分取得フレームのピクセルデータの画素値、Ｒ２，Ｇ２，Ｂ２は第２差分取得フレームのピクセルデータの画素値、Ｉは挿入フレーム数カウンタの値、Ｍは補完フレーム挿入数（補完フレーム挿入数記憶領域８５に記憶されている値）である。
【０１６４】
Ｒｏ＝Ｒ１×（（Ｉ＋１）／（Ｍ＋１））＋Ｒ２×（（Ｍ−Ｉ）／（Ｍ＋１））  …式（４）
Ｇｏ＝Ｇ１×（（Ｉ＋１）／（Ｍ＋１））＋Ｇ２×（（Ｍ−Ｉ）／（Ｍ＋１））  …式（５）
Ｂｏ＝Ｂ１×（（Ｉ＋１）／（Ｍ＋１））＋Ｂ２×（（Ｍ−Ｉ）／（Ｍ＋１））  …式（６）
また、Ｓ８１３では、フレーム画像情報記憶領域３５に記憶されている情報を、補完フレーム画像が挿入位置に挿入された状態の情報（例えば図６）に更新する。なお、具体的な更新ステップは次の（Ｄ１）〜（Ｄ４）のとおりである。
【０１６５】
（Ｄ１）差分情報番号カウンタの値に対応する第２差分取得フレーム番号記憶領域８３の値（補完フレーム画像の挿入位置前後のうち挿入位置後のフレーム画像のフレーム番号）を読み出す。
【０１６６】
（Ｄ２）上記（Ｄ１）で読み出した第２差分取得フレーム番号記憶領域８３の値に対応するフレーム配置位置番号記憶領域７１の値を求める。
（Ｄ３）フレーム画像情報記憶領域３５に記憶されている情報のうち、フレーム配置位置番号記憶領域７１の値が「上記（Ｄ１）で読み出した第２差分取得フレーム番号記憶領域８３の値＋１」以上の情報を、それぞれ「差分情報番号記憶領域８１の値＋挿入フレーム数＋１」の領域にコピーする。
【０１６７】
（Ｄ４）動画ファイル名記憶領域７２には空白、抽出フレーム番号記憶領域７３、オフセットサイズ情報記憶領域７５及びフレームサイズ情報記憶領域７６には０、生成フレーム画像番号記憶領域７４には「生成フレーム数カウンタの値＋挿入フレーム数カウンタの値」をそれぞれ記憶する。
【０１６８】
なお、上記（Ｄ１）〜（Ｄ３）は、Ｓ８０７〜Ｓ８１５の繰り返しにおける１回目のみ実行される。
また、Ｓ８１４では、挿入フレーム数カウンタの値に１を加算する。
【０１６９】
続いて、Ｓ８１５では、挿入フレーム数カウンタの値が補完フレーム挿入数に達したか否かを判定する。
そして、Ｓ８１５で、補完フレーム挿入数に達していないと判定した場合には、Ｓ８０７へ戻る。
【０１７０】
一方、Ｓ８１５で、補完フレーム挿入数に達したと判定した場合には、Ｓ８１６へ移行し、生成フレーム数カウンタの値に補完フレーム挿入数を加算する。その後、本フレーム画像生成処理を終了する。
【０１７１】
以上説明したように、第３実施形態の複合機１０によれば、第１実施形態の複合機１０と同様の効果を得ることができる。特に、第３実施形態の複合機１０では、同一の挿入位置に複数の合成画像を挿入する場合に、２つのフレーム画像の合成比率をそれぞれ異ならせるようにしているため、時系列順に連続するフレーム画像の急激な変化を複数の合成画像により自然に緩和させることができる。
【０１７２】
なお、第３実施形態の複合機１０では、Ｓ６０７の処理を実行するＣＰＵ１１がフレーム数判定手段に相当し、Ｓ６０８の処理を実行するＣＰＵ１１が変化量算出手段に相当し、Ｓ６１０の処理を実行するＣＰＵ１１が挿入位置決定手段に相当し、Ｓ８０１〜Ｓ８１５の処理を実行するＣＰＵ１１が補完フレーム画像生成手段に相当し、Ｓ８１６の処理を実行するＣＰＵ１１が補完手段に相当する。
【０１７３】
［４．第４実施形態］
次に、第４実施形態について説明する。なお、基本的な構成は第１実施形態と同じであるため、共通する部分の説明は省略するとともに、符号についても流用する。
【０１７４】
前述した第１実施形態の複合機１０では、動画像において時系列順に連続するフレーム画像間のうち、フレーム間差分の大きい位置であることのみを条件に補完フレーム画像を挿入するようにしている。これに対し、第４実施形態の複合機１０では、フレーム間差分が大きくても、それがシーンの切り替わりによるものである場合には、補完フレーム画像を挿入しないようにしている。補完フレーム画像の挿入は、時系列順に連続するフレーム画像間の被写体の急激な動作の変化を緩和させる効果を狙ったものであるが、そもそもシーンの切り替わり前後のフレーム画像は被写体の連続的な動作を表すものではないので、補完フレーム画像を挿入する必要性が低いからである。
【０１７５】
具体的には、第１実施形態で説明したフレーム差分算出処理（図１１）に代えて、図１８に示すフレーム差分算出処理をＣＰＵ１１が実行する。なお、このフレーム差分算出処理におけるＳ９０１〜Ｓ９０５，Ｓ９０９〜Ｓ９１２は、図１１のフレーム差分算出処理におけるＳ３０１〜Ｓ３０９と同一の処理であるため、説明を省略する。
【０１７６】
Ｓ９０６では、第１フレーム画像データ記憶領域３６及び第２フレーム画像データ記憶領域３７のそれぞれに記憶したフレーム画像データ（以下「第１フレーム画像データ」、「第２フレーム画像データ」という。）がシーンの切り替わり前後のものである（つまりシーンの切り替わり目である）かを判定するシーン切替判定処理を実行する。
【０１７７】
具体的には、まず、図１９（ａ）に示すように、第１フレーム画像データ及び第２フレーム画像データのそれぞれについて、画像全体を９分割する。なお、分割数はあくまでも一例であり、この分割数が少ないほど以下に説明する処理の負荷を抑えることができる。ちなみに、４分割ではなく９分割としているのは、画像の中心の領域（被写体が存在する可能性の高い領域）とその周囲の領域とが区分されるようにするためである。また、９分割は厳密に行う必要がないことは言うまでもない（縦方向のピクセルサイズや横方向のピクセルサイズが３で割り切れない場合も当然考えられる）。
【０１７８】
続いて、図１９（ｂ）に示すように、第１フレーム画像データ及び第２フレーム画像データのそれぞれについて、９分割した領域ごとに、ＲＧＢ値のそれぞれについて平均値を算出する。例えば、Ｒ値の平均値は、対象領域における全画素のＲ値の合計値をその画素数で割ることにより算出される。Ｇ値及びＢ値も同様である。なお、この処理は、第１フレーム画像データ及び第２フレーム画像データのそれぞれについて、９画素からなる縮小画像を生成する処理ともいえる。
【０１７９】
続いて、図１９（ｃ）に示すように、９分割した領域ごとに、第１フレーム画像データと第２フレーム画像データとの差分（ＲＧＢの各平均値の差分）を算出し、算出した差分の絶対値を合計値に加算していく。そして、その合計値が所定のしきい値以上である場合に、シーンの切り替わり目であると判定する（図１９（ｄ））。本実施形態では、算出した合計値が１８０以上である場合に、シーンの切り替わり目であると判定する。なお、しきい値を１８０としているのは、各領域の差分許容量を２０に設定しているからであるが（２０×９領域）、これは一例に過ぎない。しきい値をより小さくすれば判定を厳しく（切り替わり目であると判定されやすく）することができ、逆に、しきい値をより大きくすれば判定を甘く（切り替わり目でないと判定されやすく）することができる。
【０１８０】
また、シーン切替判定処理は上記の手法に限定されるものではなく、他の手法であっても可能である。例えば、本実施形態では、ＲＧＢ色空間にて判定を行ったが、ほかの色空間、特にＨＳＶ色空間などを求めると、より厳密に判定することができる。ただし、この場合には、演算コストとのトレードオフとなる。また、差分の代わりにフレーム画像間の動きベクトルを算出し、これが求められるかどうかで判定してもよい。シーンが切り替わると、動きベクトルが特定の方向に定まらないためである。
【０１８１】
続いて、Ｓ９０７では、Ｓ９０６のシーン切替判定処理の結果、シーンの切り替わり目であるか否かを判定する。
そして、Ｓ９０７で、シーンの切り替わり目であると判定した場合には、Ｓ９０８へ移行し、フレーム間差分を０にする。これにより、補完フレーム画像の挿入位置には設定されなくなる。
【０１８２】
一方、Ｓ９０７で、シーンの切り替わり目でないと判定した場合には、Ｓ９０９へ移行し、Ｓ３０６と同様、フレーム間差分を算出する。
以上説明したように、第４実施形態の複合機１０によれば、第１実施形態の複合機１０と同様の効果を得ることができる。特に、第４実施形態の複合機１０では、シーンの切り替わり前後のフレーム画像間よりも、同一シーンにおけるフレーム画像間に優先的に補完フレーム画像を挿入することが可能となる。この結果、フレーム画像間の被写体の急激な動作の変化を緩和させる効果を高くすることができる。
【０１８３】
［５．他の形態］
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
【０１８４】
例えば、上記各実施形態の複合機１０では、最大補完フレーム数及びしきい値差分フレーム数のうち、小さい方の値を補完フレーム数に決定するようにしているが（Ｓ２０９）、これに限定されるものではなく、最大補完フレーム数をそのまま補完フレーム数に決定するようにしてもよい。つまり、不足数分の補完フレーム画像が必ず挿入されるようにするのである。このようにすれば、フレーム画像の不足により生じる余白のない（より見栄えのよい）フレーム配置画像を出力することができる。
【０１８５】
また、上記各実施形態では、フレーム画像間の変化量として差分（具体的には、各座標位置単位での画素値の差分絶対値の合計値）を例示したが、これに限定されるものではなく、フレーム画像の変化量が反映される値であればよい。
【０１８６】
さらに、上記各実施形態の複合機１０では、動画像ファイルから抽出する９個のフレーム画像を自動的に特定するようにしているが、これに限定されるものではない。例えば、抽出するフレーム画像をユーザに指定させるようにしてもよい。また、動画像ファイルから抽出するフレーム画像の数は９個に限定されるものではなく、例えば３０個、４０個などのように、多くなるほど本発明の意義がある。また、個数は固定である必要もなく、例えば、ユーザに指定させるようにしてもよい。
【０１８７】
また、上記各実施形態では、ピクセル単位の差分の絶対値の合計を「差分」としたが、これに限らず、例えば、公知のオプティカルフロー法などで算出したフレーム間の「動きベクトルの大きさ」を差分算出に用いてもよい。
【０１８８】
一方、上記各実施形態では、本発明を複合機に適用した構成を例示したが、これに限定されるものではなく、複合機以外の印刷装置（例えばスキャナ機能を有しない印刷装置）にも適用することができる。また、画像を印刷しない装置（例えば画像の表示のみ行う装置）であってもよく、画像を出力する出力装置であれば本発明を適用することができる。
【符号の説明】
【０１８９】
１０…複合機、１１…ＣＰＵ、１２…ＲＯＭ、１３…内部メモリ、１５…印刷制御部、１６…液晶表示部、１７…操作入力部、１８…メディアカードスロット、３１…入力画像情報記憶領域、３２…動画像情報記憶領域、３３…出力画像データ記憶領域、３４…拡大／縮小画像データ記憶領域、３５…フレーム画像情報記憶領域、３６…第１フレーム画像データ記憶領域、３７…第２フレーム画像データ記憶領域、３８…フレーム差分情報記憶領域、３９…補完フレーム画像データ記憶領域、４０…印刷データ記憶領域、４１…一時変数記憶領域、４２…液晶表示位置情報記憶領域、４３…液晶表示画像記憶領域
【図１】
2011015226.tif 000003
【図４】
2011015226.tif 000004
【図５】
2011015226.tif 000005
【図６】
2011015226.tif 000006
【図７】
2011015226.tif 000007
【図８】
2011015226.tif 000008
【図９】
2011015226.tif 000009
【図１０】
2011015226.tif 000010
【図１１】
2011015226.tif 000011
【図１２】
2011015226.tif 000012
【図１３】
2011015226.tif 000013
【図１４】
2011015226.tif 000014
【図１５】
2011015226.tif 000015
【図１６】
2011015226.tif 000016
【図１７】
2011015226.tif 000017
【図１８】
2011015226.tif 000018
【図２】
2011015226.tif 000019
【図３】
2011015226.tif 000020
【図１９】
2011015226.tif 000021