説明

出力装置及びプログラム

【課題】動画像から抽出可能なフレーム画像の総数が配置すべき数よりも少ない場合にも余白のない画像を出力する。
【解決手段】動画像データの表す動画像から9個のフレーム画像を抽出し、これらを3個×3列のレイアウトで時系列順に配置したフレーム配置画像を生成する(c)。ここで、動画像から抽出可能なフレーム画像の総数が9個に満たない場合には、動画像から抽出可能なすべてのフレーム画像について時系列順に連続するフレーム画像間の変化量を算出し、少なくとも最も変化量の小さいフレーム画像間が挿入位置となるように、不足数分の補完フレーム画像を挿入するための挿入位置を決定する(a)。そして、決定した挿入位置にその挿入位置前後のフレーム画像の一方を複製した補完フレーム画像を挿入してフレーム配置画像を生成する(b)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出力装置及びプログラムに関するものである。
【背景技術】
【0002】
従来、画像データの表す画像を印刷する印刷装置が知られている。こうした印刷装置で印刷対象となるのは写真等の静止画像を表す画像データ(静止画像データ)が一般的であるが、近年、動画像を表す画像データ(動画像データ)についても印刷対象とすることが可能な印刷装置が提案されている。
【0003】
例えば、特許文献1に記載の印刷装置は、動画像データの表す動画像から複数のフレーム画像を抽出し、それらを同一ページに配置した画像を印刷する。ここで、動画像から抽出可能なフレーム画像の総数が印刷用の画像に配置すべき数よりも少ない場合には、フレーム画像の不足する部分が余白となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−130254号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、動画像から抽出可能なフレーム画像が不足するからといって本来フレーム画像が配置されるはずの部分を余白にすると、フレーム画像の配置バランスが悪くなるなど、見栄えが悪くなるという問題があった。
【0006】
本発明は、こうした問題にかんがみてなされたものであり、動画像から抽出可能なフレーム画像の総数が配置すべき数よりも少ない場合にも余白のない画像を出力することのできる出力装置及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
上記目的を達成するためになされた本発明の出力装置は、動画像データの表す動画像から複数のフレーム画像を抽出し、これらを時系列的な規則性を持つように配置したフレーム配置画像を生成する配置画像生成手段と、フレーム配置画像を出力する出力手段とを備える。そして、配置画像生成手段は、動画像から抽出可能なフレーム画像の総数が、フレーム配置画像に配置すべき配置フレーム数未満である場合に、動画像から抽出可能なすべてのフレーム画像について時系列順に連続するフレーム画像間の変化量を算出する変化量算出手段と、変化量算出手段により算出された変化量に基づき、配置フレーム数に対する総数の不足数分の補完フレーム画像を挿入するための挿入位置を決定する挿入位置決定手段と、挿入位置決定手段により決定された挿入位置にその挿入位置周辺のフレーム画像に基づく補完フレーム画像を挿入したフレーム配置画像を生成する補完手段とを備える。具体的には、挿入位置決定手段は、変化量算出手段により算出された変化量のうち少なくとも最も変化量が小さいフレーム画像間を挿入位置として決定する。
【0008】
このような出力装置によれば、動画像から抽出可能なフレーム画像の総数が配置フレーム数未満である場合にも、余白のない(より見栄えのよい)フレーム配置画像を出力することができる。特に、時系列順に連続するフレーム画像間の変化量のうち、少なくとも最も変化量が小さいフレーム画像間を補完フレーム画像の挿入位置とするため、補完フレーム画像を目立ちにくい形で挿入することができる。
【0009】
ここで、補完フレーム画像は、例えば、その挿入位置周辺のフレーム画像を複製した画像とすることが可能である。すなわち、補完手段が、挿入位置前後の2つのフレーム画像のうちの一方を複製した複製画像を補完フレーム画像としてその挿入位置に挿入する。このような出力装置によれば、補完フレーム画像を目立ちにくくすることができる。しかも、補完フレーム画像を生成する処理を簡素化することができる。
【0010】
そして、この場合には、フレーム配置画像における補完フレーム画像の配置に基づき複製対象のフレーム画像を選択するようにしてもよい。すなわち、補完手段が、挿入位置前後の2つのフレーム画像のうちの一方を、フレーム配置画像におけるその挿入位置の配置に基づき選択し、選択したフレーム画像の複製画像を補完フレーム画像としてその挿入位置に挿入する。このような出力装置によれば、挿入位置前後の2つのフレーム画像のうちの一方を無作為に選択する場合に比べて、より適切なフレーム画像を選択することが可能となる。
【0011】
例えば、補完手段が、挿入位置前後の2つのフレーム画像のうち、フレーム配置画像においてその挿入位置から離れている方を選択するようにしてもよい。このような出力装置によれば、補完フレーム画像とその複製元のフレーム画像とが近接して配置されることによる違和感を生じにくくすることができる。
【0012】
具体的には、フレーム配置画像が、動画像から抽出した複数のフレーム画像を時系列順に複数列に配置したものであれば、補完手段が、挿入位置前後の2つのフレーム画像が異なる列に配置される場合には、補完フレーム画像とは異なる列に配置される方を選択するようにしてもよい。このような出力装置によれば、補完フレーム画像とその複製元のフレーム画像とが異なる列に配置されやすくすることができる。
【0013】
一方、上記目的を達成するためになされた本発明のプログラムは、動画像データの表す動画像から複数のフレーム画像を抽出し、これらを時系列的な規則性を持つように配置したフレーム配置画像を生成する配置画像生成手段と、フレーム配置画像を出力する出力手段とを備える出力装置としてコンピュータを機能させる。そして、配置画像生成手段は、動画像から抽出可能なフレーム画像の総数が、フレーム配置画像に配置すべき配置フレーム数未満である場合に、動画像から抽出可能なすべてのフレーム画像について時系列順に連続するフレーム画像間の変化量を算出する変化量算出手段と、変化量算出手段により算出された変化量に基づき、配置フレーム数に対する総数の不足数分の補完フレーム画像を挿入するための挿入位置を決定する挿入位置決定手段と、挿入位置決定手段により決定された挿入位置にその挿入位置周辺のフレーム画像に基づく補完フレーム画像を挿入したフレーム配置画像を生成する補完手段とを備える。具体的には、挿入位置決定手段は、変化量算出手段により算出された変化量のうち少なくとも最も変化量が小さいフレーム画像間を挿入位置として決定する。
【0014】
このようなプログラムによれば、前述した出力装置としてコンピュータを機能させることができ、これにより前述した効果を得ることができる。
【図面の簡単な説明】
【0015】
【図1】実施形態の複合機の概略構成を表すブロック図である。
【図2】補完フレーム画像の挿入位置の説明図である。
【図3】入力画像情報記憶領域の説明図である。
【図4】動画像情報記憶領域の説明図である。
【図5】フレーム画像情報記憶領域の説明図である。
【図6】フレーム差分情報記憶領域の説明図である。
【図7】メディア画像印刷処理のフローチャートである。
【図8】出力画像生成処理のフローチャートである。
【図9】フレーム差分算出処理のフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明が適用された実施形態について、図面を用いて説明する。
[1.全体構成]
図1は、実施形態の出力装置としての複合機10の概略構成を表すブロック図である。
【0017】
この複合機10は、プリンタ機能の他、スキャナ機能やコピー機能等を有する多機能装置であり、CPU11、ROM12、内部メモリ(RAM)13、スキャナ読取部14、印刷制御部15、液晶表示部16、操作入力部17及びメディアカードスロット18を備えており、これらは信号線を介して接続されている。
【0018】
CPU11は、複合機10におけるすべての演算を行うための装置である。
ROM12は、後述する処理(図7〜図9)をCPU11に実行させるためのプログラムがあらかじめ記憶されている装置である。
【0019】
内部メモリ13は、CPU11による演算結果や入力データなどを一時的に記憶しておくための装置である。なお、内部メモリ13の記憶領域の詳細については後述する。
印刷制御部15は、印刷命令が出された画像データを印刷するための装置であり、CMYKの色材(トナーやインク等)によりカラー画像を印刷可能なものである。
【0020】
液晶表示部16は、小型のカラー液晶ディスプレイに画像(メッセージ等の文字列を表す画像を含む。)を表示するための装置である。
操作入力部17は、ユーザによって押操作される各種操作キーが配置され、操作に基づく情報を入力するための装置である。具体的には、上下左右操作を行うための上キー、下キー、左キー及び右キーと、決定操作を行うためのOKキーとを備えている。
【0021】
メディアカードスロット18は、静止画像撮影及び動画像撮影が可能なデジタルスチルカメラやデジタルビデオカメラ等の撮影機器で生成された画像ファイル(静止画像又は動画像を表す画像データ)が記憶されたSDカードやCFカード等のメディアカード(不揮発性の可搬型記憶媒体)を挿入可能に構成されている。そして、複合機10は、メディアカードスロット18に挿入された状態のメディアカードから画像ファイルを直接読み出し、読み出した画像ファイルの内容を表す画像を印刷する機能(いわゆるダイレクトプリント機能)を有している。
【0022】
ここで、画像ファイルとしては、静止画像を表す静止画像ファイルだけでなく、動画像を表す動画像ファイルも対象となる。具体的には、印刷対象の画像ファイルが静止画像ファイルの場合には、その静止画像ファイルの表す静止画像のみを出力画像1ページ内に配置したレイアウトで印刷する。一方、印刷対象の画像ファイルが動画像ファイルの場合には、その動画像ファイルの表す動画像を構成するすべてのフレーム画像のうち、あらかじめ決められた配置フレーム数(本実施形態では9個)のフレーム画像を抽出し、抽出したフレーム画像を出力画像1ページ内に配置したレイアウトのフレーム配置画像を生成して印刷する。
【0023】
ここで、動画像から抽出可能なフレーム画像の総数が配置フレーム数に満たないことも考えられる。この場合、フレーム配置画像にすべてのフレーム画像を配置しても余白(フレーム画像を配置可能な空き部分)が生じることになる。そこで、本実施形態の複合機10は、フレーム配置画像に余白が生じないようにするため、不足数分の補完フレーム画像を挿入する。
【0024】
例えば図2(a)に示すように、動画像から8個のフレーム画像が抽出可能な場合には、1個の補完フレーム画像を挿入する。具体的には、動画像から抽出可能なすべてのフレーム画像について時系列順に連続するフレーム画像間の差分(フレーム間差分)を算出し、フレーム間差分が最も小さい2つのフレーム画像間を補完フレーム画像の挿入位置とする。図2(a)は、8個のフレーム画像のうち左から3番目のフレーム画像と4番目のフレーム画像とのフレーム間差分が最も小さい場合の例であり、これら2つのフレーム画像間を補完フレーム画像の挿入位置とする。
【0025】
そして、図2(b)に示すように、補完フレーム画像も含めた9個のフレーム画像から余白のないフレーム配置画像を生成する。このフレーム配置画像において、フレーム画像は、左上から横方向に時系列順に配置される。このフレーム配置画像における1列の最大配置数は3個に設定されており、これを超える分については次の(下の)列の左から時系列順に配置され、3個×3列(合計9個)のフレーム画像が配置される。
【0026】
また、本実施形態では、挿入位置前後の2つのフレーム画像のうちの一方を複製(コピー)した複製画像を補完フレーム画像とする。具体的には、挿入位置前後の2つのフレーム画像が異なる列に配置される場合には、補完フレーム画像とは異なる列に配置される方のフレーム画像を複製対象とする。
【0027】
例えば、図2(b)に示すように、挿入位置の前のフレーム画像がフレーム配置画像における右端(列の末尾)に配置される場合には、補完フレーム画像は次の列の先頭に配置されることになるため、そのフレーム画像を複製(コピー)した複製画像を補完フレーム画像とする。
【0028】
一方、例えば図2(c)に示すように、挿入位置の後ろのフレーム画像がフレーム配置画像における左端(列の先頭)に配置される場合には、補完フレーム画像は前の列の末尾に配置されることになるため、そのフレーム画像を複製(コピー)した複製画像を補完フレーム画像とする。
【0029】
なお、複合機10は、メディアカードに記憶されている複数の画像ファイルの中から印刷対象の画像ファイルをユーザに選択させるため、画像ファイルの内容を把握可能なサムネイル画像を液晶表示部16に表示し、ユーザにより選択されたサムネイル画像に対応する画像ファイルの表す画像を印刷するようになっている。
【0030】
[2.内部メモリの記憶領域]
次に、内部メモリ13の記憶領域について説明する。
図1に示すように、内部メモリ13には、各種情報を記憶するための記憶領域として、入力画像情報記憶領域31、動画像情報記憶領域32、出力画像データ記憶領域33、拡大/縮小画像データ記憶領域34、フレーム画像情報記憶領域35、第1フレーム画像データ記憶領域36、第2フレーム画像データ記憶領域37、フレーム差分情報記憶領域38、補完フレーム画像データ記憶領域39、印刷データ記憶領域40、一時変数記憶領域41及びサムネイル画像データ記憶領域42が用意されている。
【0031】
入力画像情報記憶領域31は、メディアカードに記憶されている画像ファイルの情報を記憶するための領域である。具体的には、図3に示すように、入力画像情報記憶領域31は、入力画像ID記憶領域51、入力画像ファイル名記憶領域52及び入力画像ファイルサイズ記憶領域53を備えている。
【0032】
入力画像ID記憶領域51は、メディアカードに記憶されている画像ファイルの数に応じて0から順に振り分けた画像ファイルのID(以下「入力画像ID」という。)を記憶するための領域である。具体的には、メディアカードから読み出された画像ファイルに対し、読み出された順に入力画像IDが割り振られる。
【0033】
入力画像ファイル名記憶領域52は、メディアカードに記憶されている画像ファイルのファイル名を記憶するための領域である。具体的には、例えば256バイトの領域の中に256文字(1文字/バイト)の文字データ(文字無しの情報も含む)が格納される。
【0034】
入力画像ファイルサイズ記憶領域53は、メディアカードに記憶されている画像ファイルのファイルサイズ(データサイズ)を数値(この例ではキロバイト単位の数値)として記憶するための領域である。
【0035】
図1に戻り、動画像情報記憶領域32は、メディアカードに記憶されている画像ファイルのうち、処理対象となっている動画像ファイルの情報を一時的に記憶しておくための領域である。具体的には、図4に示すように、動画像情報記憶領域32は、フォーマット種別記憶領域61、コーデック種別記憶領域62、横方向サイズ記憶領域63、縦方向サイズ記憶領域64及び総フレーム数記憶領域65を備えている。
【0036】
フォーマット種別記憶領域61は、処理対象となっている動画像ファイルのファイルフォーマット(データフォーマット)の種別を記憶する領域である。本実施形態では、3種類のファイルフォーマットに対応付けられた数値(例えば、AVIフォーマットであれば「0」、MOVフォーマットであれば「1」、MPEGフォーマットであれば「2」)が記憶される。
【0037】
コーデック種別記憶領域62は、処理対象となっている動画像ファイルのコーデックの種別を記憶する領域である。本実施形態では、3種類のコーデックに対応付けられた数値(例えば、MotionJPEGコーデックであれば「0」、MPEG1コーデックであれば「1」、DivXコーデックであれば「2」)が記憶される。
【0038】
横方向サイズ記憶領域63は、処理対象となっている動画像ファイルを構成するフレーム画像データの横方向のピクセルサイズを数値データとして記憶する領域である。
縦方向サイズ記憶領域64は、処理対象となっている動画像ファイルを構成するフレーム画像データの縦方向のピクセルサイズを数値データとして記憶する領域である。
【0039】
総フレーム数記憶領域65は、処理対象となっている動画像ファイルを構成するフレーム画像データの総数(総フレーム数)を数値データとして記憶する領域である。
図1に戻り、出力画像データ記憶領域33は、印刷制御部15に渡すための出力画像データ(印刷用画像を表す画像データ)を一時的に記憶するための領域である。静止画像ファイルは1つの画像データから構成されるため、この1つの画像データが出力画像データ記憶領域33の全体に配置される。一方、動画像ファイルは複数のフレーム画像を配置して出力するため、配置する配置フレーム数で等分された各配置領域の対応する位置に各フレーム画像データを配置することとなる。
【0040】
拡大/縮小画像データ記憶領域34は、画像データをあらかじめ決められたサムネイル画像のサイズに変換(拡大又は縮小)処理した画像データを記憶するための領域である。
フレーム画像情報記憶領域35は、フレーム配置画像に配置するフレーム画像に関する情報を記憶するための領域である。具体的には、図5に示すように、フレーム画像情報記憶領域35は、フレーム配置位置番号記憶領域71、動画ファイル名記憶領域72、抽出フレーム番号記憶領域73、オフセットサイズ情報記憶領域74及びフレームサイズ情報記憶領域75を備えている。
【0041】
フレーム配置位置番号記憶領域71は、フレーム配置画像におけるフレーム画像の配置位置に対応した番号(0〜8の番号であり、以下「フレーム配置位置番号」という。)を記憶するための領域である。具体的には、フレーム配置画像における配置位置には、1番上の列の左から「0」,「1」,「2」、2番目の列の左から「3」,「4」,「5」、3番目の列の左から「6」,「7」,「8」の番号が対応づけられている。
【0042】
動画ファイル名記憶領域72は、フレーム画像データの抽出元である動画像ファイルのファイル名を記憶するための領域である。
抽出フレーム番号記憶領域73は、フレーム画像が元の動画像ファイルの何フレーム目に当たるかを示す数値(フレーム番号)である抽出フレーム番号を記憶するための領域である。なお、本実施形態では、先頭のフレーム画像のフレーム番号を「0」としている。
【0043】
オフセットサイズ情報記憶領域74は、フレーム画像の動画像ファイルにおける位置を特定する情報を記憶するための領域である。具体的には、オフセットサイズ情報記憶領域74には、フレーム画像データの先頭が元の動画像ファイルの先頭から何バイト目に当たるかを示すオフセットサイズが、数値(この例ではバイト単位の数値)として記憶されている。すなわち、動画像ファイルのファイル構造は、先頭のヘッダ情報と末尾のインデックス情報との間に、フレーム画像データが順に配置された構造となっており、ここでいうオフセットサイズとは、動画像ファイルの先頭(つまりヘッダ情報の先頭)から抽出対象のフレーム画像データの先頭までのデータサイズのことである。なお、オフセットサイズをキロバイト単位でなくバイト単位で記憶するのは、フレーム画像データの位置を正確に特定するためである。
【0044】
フレームサイズ情報記憶領域75は、フレーム画像データのデータサイズ(伸張(デコード)処理前の圧縮状態(例えばJPEG形式)でのデータサイズ)を記憶するための領域であり、データサイズが数値(この例ではバイト単位の数値)として記憶されている。
【0045】
図1に戻り、第1フレーム画像データ記憶領域36は、動画像ファイルから抽出したフレーム画像データを一時的に記憶するための領域である。この領域に記憶されるフレーム画像データは、伸張処理前の圧縮状態の画像データである。
【0046】
第2フレーム画像データ記憶領域37は、動画像ファイルから抽出したフレーム画像データであって、第1フレーム画像データ記憶領域36に記憶されるフレーム画像データとの差分(フレーム間差分)を算出するためのフレーム画像データを一時的に記憶するための領域である。この領域に記憶されるフレーム画像データも、伸張処理前の圧縮状態の画像データである。
【0047】
フレーム差分情報記憶領域38は、フレーム間差分の算出元となるフレーム画像データの番号と、フレーム間差分とを記憶するための領域である。具体的には、図6に示すように、フレーム差分情報記憶領域38は、差分情報番号記憶領域81、第1差分取得フレーム番号記憶領域82、第2差分取得フレーム番号記憶領域83及び判定値記憶領域84を備えている。
【0048】
差分情報番号記憶領域81は、フレーム間差分の情報を管理するための通し番号である差分情報番号を記憶するための領域である。
第1差分取得フレーム番号記憶領域82は、フレーム間差分を取得するための1つ目のフレーム画像データ(第1差分取得フレーム)のフレーム番号を記憶するための領域である。
【0049】
第2差分取得フレーム番号記憶領域83は、フレーム間差分を取得するための2つ目のフレーム画像データ(第2差分取得フレーム)のフレーム番号を記憶するための領域である。
【0050】
判定値記憶領域84は、補完フレーム画像の挿入位置を決定するための判定値を記憶する領域である。本実施形態では、第1差分取得フレーム番号記憶領域82及び第2差分取得フレーム番号記憶領域83に記憶されたフレーム番号に対応するフレーム画像データのフレーム間差分(絶対値)を判定値として記憶する。
【0051】
図1に戻り、補完フレーム画像データ記憶領域39は、動画像ファイルの表す動画像を構成する総フレーム数が配置フレーム数(本実施形態では9個)よりも少ない場合に生成される補完フレーム画像データ(伸張処理後の状態(RGB形式)の画像データ)を記憶するための領域である。具体的には、補完フレーム画像データ記憶領域39は、「配置フレーム数−1」の領域(1番目から8番目までの8個の領域)に分割されている。
【0052】
印刷データ記憶領域40は、出力画像データの表す画像を実際に印刷するための画像データ(CMYKの二値画像データなど)を一時的に記憶しておくための領域である。
一時変数記憶領域41は、変数やカウンタなど、一時的な情報を記憶するための領域である。
【0053】
サムネイル画像データ記憶領域42は、印刷対象の画像ファイルをユーザに選択させるために液晶表示部16に表示するサムネイル画像を表すサムネイル画像データを一時的に記憶しておくための領域である。
【0054】
[3.CPUが実行する処理]
次に、画像ファイルの記憶されているメディアカードがメディアカードスロット18に挿入されている状態で、「メディア画像印刷」モードを選択するユーザの操作が操作入力部17で行われることにより、複合機10のCPU11が実行するメディア画像印刷処理について、図7のフローチャートを用いて説明する。
【0055】
CPU11は、このメディア画像印刷処理を開始すると、まずS101で、メディアカードに記憶されている画像ファイルごとにファイル名及びファイルサイズを読み出し、入力画像情報記憶領域31の入力画像ファイル名記憶領域52及び入力画像ファイルサイズ記憶領域53に順に記憶するメディア情報抽出処理を行う。なお、このメディア情報抽出処理では、メディアカードから読み出された情報に対して入力画像IDが0から順に割り振られて入力画像ID記憶領域51に記憶される。
【0056】
続いて、S102では、メディアカードに記憶されている画像ファイルの内容を把握可能なサムネイル画像を液晶表示部16に表示して、印刷対象の画像ファイルをユーザに選択させる印刷画像選択処理を行う。具体的には、1つのサムネイル画像を液晶表示部16に表示し、操作入力部17の上キー、下キー、左キー又は右キーの押操作に応じて液晶表示部16に表示されるサムネイル画像を他の画像ファイルのものに変更し、OKキーの押操作時に表示されているサムネイル画像に対応する画像ファイルを印刷対象として選択する。本実施形態では、動画像ファイルについては、その先頭のフレーム画像をサムネイル画像として表示するとともに、動画像データであることを示すアイコンを所定位置(例えばサムネイル画像における左上位置)に表示し、静止画像データについては静止画像をサムネイル画像として表示する(アイコンは表示しない)。ここで、サムネイル画像を表す画像データは、元画像(静止画像又は動画像の先頭のフレーム画像)を縮小することにより生成されてサムネイル画像データ記憶領域42に記憶され、この画像データの表すサムネイル画像が液晶表示部16に表示される。
【0057】
続いて、S103では、S102で印刷対象として選択された画像ファイルに基づく出力画像を表す出力画像データを生成する出力画像生成処理を実行する。
ここで、出力画像生成処理の詳細について図8のフローチャートを用いて説明する。
【0058】
CPU11は、この出力画像生成処理を開始すると、まずS201で、印刷対象の画像ファイルの入力画像ID(入力画像ID記憶領域51に記憶されている値)を読み出す。
続いて、S202では、S201で読み出した入力画像IDの画像ファイルの種類が静止画像ファイル及び動画像ファイルのうちのいずれに分類されるものであるかを、そのヘッダ情報などを参照して判定する。具体的には、例えば、JPEG形式の静止画像ファイルは先頭データが16進数でFFD8から始まり、AVI形式の動画像ファイルは先頭データが文字列に直して”RIFF”から始まるなどの特徴がある。このため、画像ファイルの先頭数バイトを分析することで、画像ファイルの種類を判定することができる。なお、本実施形態では、動画像ファイルの形式であっても、フレーム画像が1個しか存在しない場合には静止画像ファイルとみなして処理する。
【0059】
そして、S202で、画像ファイルの種類が動画像ファイルであると判定した場合には、S203へ移行し、この動画像ファイルから各種情報を取得する。具体的には、動画像ファイルのフォーマット種別情報、コーデック種別情報、横方向サイズ情報、縦方向サイズ情報及び総フレーム数情報を取得する。こうして取得された各情報は、動画像情報記憶領域32内のフォーマット種別記憶領域61、コーデック種別記憶領域62、横方向サイズ記憶領域63、縦方向サイズ記憶領域64及び総フレーム数記憶領域65にそれぞれ記憶される。なお、これらのパラメータは、一般的には動画像ファイルのヘッダなどに記述されている。
【0060】
続いて、S204では、抽出対象のフレーム画像データそれぞれについて、抽出フレーム画像情報(オフセットサイズ及び伸張処理前のデータサイズ)を抽出する。本実施形態において、抽出対象のフレーム画像データとは、動画像を構成するすべてのフレーム画像のうち、先頭及び末尾(最終)のフレーム画像と、これらの間を8等分した各等分位置(正確に等分できない場合は近似位置)の7個のフレーム画像とからなる計9個のフレーム画像のデータである。つまり、動画像において時系列的に互いに等間隔な関係にある9個のフレーム画像を抽出対象とする。なお、抽出対象のフレーム画像データの数は通常は9個であるが、総フレーム数が配置フレーム数である9個に満たない場合には9個未満となる。
【0061】
続いて、S205では、S204で抽出した抽出フレーム画像情報(オフセットサイズ及び伸張処理前のデータサイズ)を、フレーム画像情報記憶領域35における各フレーム画像データに対応する番号(フレーム配置位置番号記憶領域71の番号)の領域に記憶する。
【0062】
続いて、S206では、動画像ファイルの表す動画像を構成する総フレーム数が配置フレーム数である9個未満であるか否かを判定する。
そして、S206で、総フレーム数が配置フレーム数未満であると判定した場合には、補完フレーム画像を挿入するための処理(S207〜S210)を実行する。すなわち、まずS207では、動画像を構成するすべてのフレーム画像について、時系列的に連続するフレーム画像間の差分(フレーム間差分)を算出するフレーム差分算出処理を実行する。
【0063】
ここで、フレーム差分算出処理の詳細について図9のフローチャートを用いて説明する。
CPU11は、このフレーム差分算出処理を開始すると、まずS301で、一時変数記憶領域41にフレームカウンタを生成し、これを0で初期化する。
【0064】
続いて、S302では、フレームカウンタの値に対応する番号(フレーム配置位置番号記憶領域71の番号)のフレーム画像データを、そのオフセットサイズ及びデータサイズに基づき動画像ファイルから抽出する。
【0065】
続いて、S303では、S302で抽出したフレーム画像データを、第1フレーム画像データ記憶領域36に記憶する。
続いて、S304では、S302と同様の手法で、「フレームカウンタの値+1」に対応する番号のフレーム画像データを動画像ファイルから抽出する。
【0066】
続いて、S305では、S304で抽出したフレーム画像データを、第2フレーム画像データ記憶領域37に記憶する。
続いて、S306では、第1フレーム画像データ記憶領域36及び第2フレーム画像データ記憶領域37のそれぞれに記憶したフレーム画像データの差分を算出する。具体的には、これら2つのフレーム画像データに伸張処理を施し、各座標位置単位で画素値の差分の絶対値を算出する。これを、RGBそれぞれについて全座標分算出し、この合計値をフレーム間差分とする。なお、伸張データの記憶領域は、一時変数記憶領域41に各々1ピクセル分の画素値を記憶するための変数を用意することで確保する。点順次作業可能なので、画像を記憶するための専用領域を設ける必要はない。
【0067】
続いて、S307では、フレーム差分情報記憶領域38におけるフレームカウンタの値に対応する番号(差分情報番号記憶領域81の番号)の第1差分取得フレーム番号記憶領域82にフレームカウンタの値を、第2差分取得フレーム番号記憶領域83に「フレームカウンタの値+1」を、判定値記憶領域84にS306で算出したフレーム間差分を、それぞれ記憶する。
【0068】
続いて、S308では、フレームカウンタの値に1を加算する。
続いて、S309では、フレームカウンタの値が「総フレーム数−1」に達した(すべてのフレーム画像間についてフレーム間差分を算出した)か否かを判定する。
【0069】
そして、S309で、フレームカウンタの値が「総フレーム数−1」に達していないと判定した場合には、S302へ戻り、加算されたフレームカウンタの値に基づき前述した処理を行う。
【0070】
一方、S309で、フレームカウンタの値が「総フレーム数−1」に達したと判定した場合には、本フレーム差分算出処理を終了する。
図8に戻り、S208では、配置フレーム数から総フレーム数を引いた数(不足数)を、補完フレーム画像を生成する数(補完フレーム数)に決定する。
【0071】
続いて、S209では、補完フレーム画像の挿入位置及び画像の内容(複製対象のフレーム画像)を決定する。具体的には、フレーム差分情報記憶領域38及びフレーム画像情報記憶領域35の情報を次の(1)〜(4)の手順で更新する処理を行う。
【0072】
(1)フレーム差分情報記憶領域38の判定値記憶領域84に記憶されている判定値の最小値を検索し、その判定値を2倍の値に書き換えるとともに、その判定値に対応する(差分情報番号が同一の)第1差分取得フレームのフレーム番号(第1差分取得フレーム番号記憶領域82に記憶されている値)を読み出す。つまり、判定値が最も小さいフレーム画像間を補完フレーム画像の挿入位置に決定し、その挿入位置前後の2つのフレーム画像のうち、挿入位置の前のフレーム画像のフレーム番号を読み出す。なお、判定値を2倍の値に書き換えるのは、以降の処理において同じ判定値(挿入位置)が連続して選択されにくくするためである。すなわち、多数の補完フレーム画像が同一のフレーム画像間に挿入されると、その部分の動きが止まって見えることにより流れの違和感が大きくなってしまうため、挿入位置が集中しないようにしている。
【0073】
(2)フレーム画像情報記憶領域35のフレーム配置位置番号記憶領域71に記憶されているフレーム配置位置番号の値の小さいものから順に、上記(1)で読み出した値の抽出フレーム番号(抽出フレーム番号記憶領域73に記憶されている値)を検索し、検索された抽出フレーム番号に対応するフレーム配置位置番号(フレーム配置位置番号記憶領域71に記憶されている値)を読み出す。つまり、ここで読み出される番号は、挿入位置の前のフレーム画像のフレーム配置画像における配置位置である。
【0074】
(3)フレーム画像情報記憶領域35において、上記(2)で読み出したフレーム配置位置番号の値よりも大きいフレーム配置位置番号に1を加算し、上記(2)で読み出したフレーム配置位置番号の行を新設する。つまり、補完フレーム画像の挿入位置を確保するため、挿入位置よりも後ろのフレーム画像の配置位置を1つずつずらすようにしている。
【0075】
(4)上記(3)で新設した行に、挿入位置前後のフレーム画像のうちの一方の情報をコピーする。具体的には、フレーム配置画像における補完フレーム画像の配置が右端の場合(換言すれば、新設した行のフレーム配置位置番号が2又は5の場合)には、挿入位置の後ろのフレーム画像の情報(新設した行の次の行の情報)をコピーする。一方、それ以外の場合には、挿入位置の前のフレーム画像の情報(新設した行の1つ前の行の情報)をコピーする。
【0076】
続いて、S210では、S208で決定した補完フレーム数分の補完フレーム画像についてS209で挿入位置及び画像の内容を決定したか否かを判定する。具体的には、初期値(出力画像生成処理開始時の値)が0の生成フレーム数カウンタを一時変数記憶領域41にあらかじめ用意しておき、S209の処理が終了するごとに生成フレーム数カウンタの値に1を加算する。そして、この値が補完フレーム数に達した場合に、補完フレーム数分の補完フレーム画像データを生成したと判定する。
【0077】
そして、S210で、補完フレーム数分の補完フレーム画像について挿入位置及び画像の内容を決定していないと判定した場合には、S209へ戻る。つまり、補完フレーム数分の補完フレーム画像について挿入位置及び画像の内容が決定されるまでS209の処理が繰り返される。
【0078】
一方、S210で、補完フレーム数分の補完フレーム画像について挿入位置及び画像の内容を決定したと判定した場合や、S206で、総フレーム数が配置フレーム数未満でない(配置フレーム数以上である)と判定した場合には、フレーム配置画像に配置すべきフレーム画像(補完フレーム画像が含まれ得る。)を表すフレーム画像データを出力画像データ記憶領域33に配置する処理(S211〜S215)へ移行する。具体的には、配置すべきフレーム画像データを順に処理対象として選択し、処理対象のフレーム画像データについてS211〜S214の処理を行う。これを配置フレーム数分(9回)繰り返すことになる。具体的には、初期値(出力画像生成処理開始時の値)が0の処理フレーム画像数カウンタを一時変数記憶領域41にあらかじめ用意しておき、この処理フレーム画像数カウンタの値に対応するフレーム画像データを処理対象とする。なお、この処理フレーム画像数カウンタの値は、後述するように、処理対象のフレーム画像データについての処理が完了するごとに加算される。
【0079】
S211では、処理対象のフレーム画像データをオフセットサイズ情報記憶領域74に記憶されているオフセットサイズ及びフレームサイズ情報記憶領域75に記憶されている伸張処理前のデータサイズに基づき動画像ファイルから読み出す処理を行う。
【0080】
続いて、S212では、S211で読み出したフレーム画像データ(伸張処理前の画像データ)を、第1フレーム画像データ記憶領域36に記憶する。
続いて、S213では、第1フレーム画像データ記憶領域36に記憶されているフレーム画像データに伸張処理を施し、フレーム画像データをピクセル演算が可能な形式(ピクセルごとにRGB値をそれぞれ0〜255の値で表した画像データ)に変換する。
【0081】
続いて、S214では、処理対象のフレーム画像データ(伸張処理後のピクセルデータ)を、出力画像データ記憶領域33における各フレーム画像に対応した位置に記憶する。
続いて、S215では、すべてのフレーム画像データを出力画像データ記憶領域33に配置したか否かを判定する。具体的には、1つのフレーム画像データについて処理が完了するごとに、処理フレーム画像数カウンタの値に1を加算し、この処理フレーム画像数カウンタの値が配置フレーム数に達したか否かを判定することで、すべてのフレーム画像データを配置したか否かを判定する。
【0082】
そして、S215で、すべてのフレーム画像データを配置していないと判定した場合には、S211へ戻り、未処理のフレーム画像データを処理対象として前述した処理を行う。
【0083】
一方、S215で、すべてのフレーム画像データを配置したと判定した場合には、本出力画像生成処理を終了する。なお、この時点で出力画像データ記憶領域33に記憶されている画像データが、動画像ファイルの出力画像データである。
【0084】
また、前述したS202で、画像ファイルの種類が静止画像ファイルであると判定した場合には、S216へ移行し、この静止画像ファイルに伸張処理を施し、データをピクセル演算が可能な形式に変換する。
【0085】
続いて、S217では、S216で伸張処理した画像データを出力画像データ記憶領域33に記憶した後、本出力画像生成処理を終了する。つまり、静止画像ファイルの場合には、動画像ファイルと異なり、静止画像は出力画像データ記憶領域33に1つしか配置されない。なお、この時点で出力画像データ記憶領域33に記憶されている画像データが、静止画像ファイルの出力画像データである。
【0086】
図7に戻り、S104では、出力画像データ記憶領域33に記憶されている出力画像データの表す画像を印刷するための画像印刷処理を実行する。この画像印刷処理では、出力画像データ記憶領域33に記憶されている出力画像データを、1ライン単位で印刷データ記憶領域40にコピーし、色変換処理(RGB→CMYK)及び二値化処理を行った後、印刷制御部15へ出力する。これにより、印刷制御部15で二値データに基づく印刷が行われる。その後、本メディア画像印刷処理を終了する。
【0087】
[4.効果]
以上説明したように、本実施形態の複合機10によれば、動画像から抽出可能なフレーム画像の総数が配置フレーム数未満である場合にも、余白のない(より見栄えのよい)フレーム配置画像を印刷することができる。
【0088】
特に、この複合機10では、フレーム間差分が小さいフレーム画像間を補完フレーム画像の挿入位置とし、その挿入位置前後の2つのフレーム画像のうちの一方を複製した複製画像を補完フレーム画像としてその挿入位置に挿入する。このため、補完フレーム画像を目立ちにくい形で(換言すれば、本来の動画像のオリジナリティが損なわれにくいように)挿入することができ、しかも、補完フレーム画像を生成する処理を簡素化することができる。すなわち、フレーム間差分の大きいフレーム画像A,B間にこれらの一方を複製した複製画像Cを挿入した場合、フレーム画像Aから複製画像Cへの動きと、複製画像Cからフレーム画像Aへの動きとのギャップが大きくなるため、違和感が生じやすい。このような違和感は、フレーム画像A,B間のフレーム間差分が小さいほど生じにくくなる。
【0089】
しかも、この複合機10では、挿入位置前後の2つのフレーム画像が異なる列に配置される場合には、補完フレーム画像とは異なる列に配置される方を複製対象とする。このため、補完フレーム画像とその複製元のフレーム画像とが異なる列に配置されやすくすることができ、補完フレーム画像とその複製元のフレーム画像とが並んで配置されることによる違和感を生じにくくすることができる。
【0090】
[5.特許請求の範囲との対応]
なお、本実施形態の複合機10では、S103の処理を実行するCPU11が配置画像生成手段に相当し、S104の処理を実行するCPU11が出力手段に相当する。また、S207の処理を実行するCPU11が変化量算出手段に相当し、S208〜S210の処理を実行するCPU11が挿入位置決定手段に相当し、S211〜S215の処理を実行するCPU11が補完手段に相当する。
【0091】
[6.他の形態]
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
【0092】
例えば、動画像を構成する総フレーム数が著しく少ない場合(所定数以下の場合)には、補完フレーム画像を挿入しないようにしてもよい。このようにすれば、多数(例えば動画像から抽出可能なフレーム画像の数よりも多い数)の補完フレーム画像が挿入されたフレーム配置画像が生成されてしまうことを防ぐことができる。
【0093】
また、上記実施形態では、動画像を構成する総フレーム数に関係なくフレーム配置画像のレイアウトを固定しているが、これに限定されるものではない。例えば、総フレーム数が6個以下の場合には3個×2列のレイアウトとし、4個以下の場合には2個×2列のレイアウトとするなど、総フレーム数に応じてフレーム配置画像のレイアウトを段階的に変更するようにしてもよい。このようにすれば、補完フレーム画像の数を少なくすることができる。
【0094】
また、上記実施形態では、1つの補完フレーム画像ごとに挿入位置及び複製対象を決定し(S209)、これを補完フレーム画像の数だけ繰り返すようにしているが(S210)、これに限定されるものではない。例えば、複数の補完フレーム画像について挿入位置をまず決定し、その後に各補完フレーム画像の複製対象を決定するようにしてもよい。このようにすれば、フレーム配置画像における補完フレーム画像とその複製元のフレーム画像との位置関係をより確実に規定することができる。
【0095】
また、上記実施形態では、フレーム配置画像における補完フレーム画像の配置が右端の場合には挿入位置の後ろのフレーム画像を複製対象とし、それ以外の場合には挿入位置の前のフレーム画像を複製対象としているが、これに限定されるものではない。例えば、フレーム配置画像における補完フレーム画像の配置が左端の場合には挿入位置の前のフレーム画像を複製対象とし、それ以外の場合には挿入位置の後ろのフレーム画像を複製対象としてもよい。また、フレーム配置画像における配置が補完フレーム画像から離れている方のフレーム画像を複製対象として選択するようにすれば、上記実施形態のようなレイアウト以外のレイアウトであっても同様の効果が得られるように複製対象を選択することができる。一方、フレーム配置画像における補完フレーム画像の配置に関係なく複製対象を選択することも可能である。
【0096】
また、上記実施形態では、挿入位置に決定したフレーム画像間の判定値を2倍の値に書き換えることで、同じ判定値(挿入位置)が連続して選択されにくくしているが(S209)、これに限定されるものではなく、例えば判定値を書き換えないようにすることも可能である。
【0097】
また、上記実施形態では、動画像ファイルについてはその先頭のフレーム画像をサムネイル画像として表示するようにしているが、これに限定されるものではなく、例えば、実際に印刷される画像(フレーム配置画像)をサムネイル画像として表示するようにしてもよい。
【0098】
また、上記実施形態では、挿入位置前後の2つのフレーム画像のうちの一方を複製した複製画像を補完フレーム画像としているが、これに限定されるものではなく、例えば、2つのフレーム画像を合成した合成画像を補完フレーム画像とすることも可能である。
【0099】
また、上記実施形態では、フレーム画像間の変化量として差分(具体的には、各座標位置単位での画素値の差分の絶対値の合計値)を例示したが、これに限定されるものではなく、フレーム画像の変化量が反映される値であればよい。例えば、公知のオプティカルフロー法などで算出したフレーム画像間の「動きベクトルの大きさ」を差分算出に用いてもよい。
【0100】
また、上記実施形態の複合機10では、動画像ファイルから抽出するフレーム画像の数を9個としているが、これに限定されるものではなく、例えば30個、40個などのように、多くなるほど本発明の意義がある。また、個数は固定である必要もなく、例えば、ユーザに指定させるようにしてもよい。
【0101】
また、上記実施形態では、複合機10に本発明を適用した構成を例示したが、これに限定されるものではなく、例えば、複合機以外の印刷装置(例えばスキャナ機能を有しない印刷装置)などにも適用することができる。また、印刷装置に限定されるものではなく、画像ファイルの内容を表す画像を出力する装置であればよい。すなわち、画像の出力には、画像の印刷以外にも、例えば画像の表示も含まれる。このため、パーソナルコンピュータなどの情報処理装置やその情報処理装置で実行されるプログラムなどにも本発明を適用することができる。
【符号の説明】
【0102】
10…複合機、11…CPU、12…ROM、13…内部メモリ、15…印刷制御部、16…液晶表示部、17…操作入力部、18…メディアカードスロット、31…入力画像情報記憶領域、32…動画像情報記憶領域、33…出力画像データ記憶領域、34…拡大/縮小画像データ記憶領域、35…フレーム画像情報記憶領域、36…第1フレーム画像データ記憶領域、37…第2フレーム画像データ記憶領域、38…フレーム差分情報記憶領域、39…補完フレーム画像データ記憶領域、40…印刷データ記憶領域、41…一時変数記憶領域、42…サムネイル画像データ記憶領域

【特許請求の範囲】
【請求項1】
動画像データの表す動画像から複数のフレーム画像を抽出し、これらを時系列的な規則性を持つように配置したフレーム配置画像を生成する配置画像生成手段と、
前記フレーム配置画像を出力する出力手段と、
を備える出力装置であって、
前記配置画像生成手段は、
前記動画像から抽出可能なフレーム画像の総数が、前記フレーム配置画像に配置すべき配置フレーム数未満である場合に、前記動画像から抽出可能なすべてのフレーム画像について時系列順に連続するフレーム画像間の変化量を算出する変化量算出手段と、
前記変化量算出手段により算出された変化量に基づき、前記配置フレーム数に対する前記総数の不足数分の補完フレーム画像を挿入するための挿入位置を決定する挿入位置決定手段と、
前記挿入位置決定手段により決定された挿入位置にその挿入位置周辺のフレーム画像に基づく補完フレーム画像を挿入したフレーム配置画像を生成する補完手段と、
を備え、前記挿入位置決定手段は、前記変化量算出手段により算出された変化量のうち少なくとも最も変化量が小さいフレーム画像間を前記挿入位置として決定すること
を特徴とする出力装置。
【請求項2】
前記補完手段は、前記挿入位置前後の2つのフレーム画像のうちの一方を複製した複製画像を前記補完フレーム画像としてその挿入位置に挿入すること
を特徴とする請求項1に記載の出力装置。
【請求項3】
前記補完手段は、前記挿入位置前後の2つのフレーム画像のうちの一方を、前記フレーム配置画像におけるその挿入位置の配置に基づき選択し、選択したフレーム画像の複製画像を前記補完フレーム画像としてその挿入位置に挿入すること
を特徴とする請求項2に記載の出力装置。
【請求項4】
前記補完手段は、前記挿入位置前後の2つのフレーム画像のうち、前記フレーム配置画像においてその挿入位置から離れている方を選択すること
を特徴とする請求項3に記載の出力装置。
【請求項5】
前記フレーム配置画像は、前記動画像から抽出した複数のフレーム画像を時系列順に複数列に配置したものであり、
前記補完手段は、前記挿入位置前後の2つのフレーム画像が異なる列に配置される場合には、前記補完フレーム画像とは異なる列に配置される方を選択すること
を特徴とする請求項3又は請求項4に記載の出力装置。
【請求項6】
動画像データの表す動画像から複数のフレーム画像を抽出し、これらを時系列的な規則性を持つように配置したフレーム配置画像を生成する配置画像生成手段と、
前記フレーム配置画像を出力する出力手段と、
を備える出力装置としてコンピュータを機能させるためのプログラムであって、
前記配置画像生成手段は、
前記動画像から抽出可能なフレーム画像の総数が、前記フレーム配置画像に配置すべき配置フレーム数未満である場合に、前記動画像から抽出可能なすべてのフレーム画像について時系列順に連続するフレーム画像間の変化量を算出する変化量算出手段と、
前記変化量算出手段により算出された変化量に基づき、前記配置フレーム数に対する前記総数の不足数分の補完フレーム画像を挿入するための挿入位置を決定する挿入位置決定手段と、
前記挿入位置決定手段により決定された挿入位置にその挿入位置周辺のフレーム画像に基づく補完フレーム画像を挿入したフレーム配置画像を生成する補完手段と、
を備え、前記挿入位置決定手段は、前記変化量算出手段により算出された変化量のうち少なくとも最も変化量が小さいフレーム画像間を前記挿入位置として決定すること
を特徴とするプログラム。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図2】
image rotate


【公開番号】特開2011−250284(P2011−250284A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−122974(P2010−122974)
【出願日】平成22年5月28日(2010.5.28)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】