以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の画像処理装置の一実施形態である多機能周辺装置(以下、「MFP(Multi Function Peripheral)」と称す)1の外観構成を示した斜視図である。
このMFP1は、フォトキャプチャー機能、コピー機能、スキャナ機能、メディアキャプチャ機能などの各種機能を有する多機能周辺装置である。メディアキャプチャ機能では、後述するスロット部6に装着されたメディアカード(特許請求の範囲の記憶媒体の一例)から画像ファイルを読み出して印刷出力する処理、メディアカードから読み出した画像ファイルに対応した画像をLCD5に表示出力する処理、スキャナ機能により読み取られた画像データをメディアカードに保存する処理などを実行できる。
MFP1は、スロット部6に装着されたメディアカード内の画像ファイルの内容をユーザが把握できるように、インデックス画像を配列した画像一覧を出力する。特に、本実施形態のMFP1は、ユーザにとって、閲覧性の良い画像一覧を出力するように構成されているが、詳細は後述する。
MFP1の上部には、原稿を読み取るためのスキャナ2が配置されている。また、筐体内部には記録用紙に画像を印刷する装置として、所謂インクジェットプリンタで構成されたプリンタ3が内蔵されている。
また、MFP1の前面には、スロット部6が設けられている。このスロット部6には、コンパクトフラッシュ(登録商標)、SDメモリカードなどの各種メディアカードを直接挿入できるカードスロットが設けられている。
また、原稿カバー体の前方には、操作パネルが設けられており、複数のキーやタッチパネルで構成される操作部4、およびLCD5を具備する。MFP1は、LCD5に操作手順や実行中の処理の状態を表示させると共に、操作部4の操作に対応する情報を表示させる。
図2を参照して、MFP1の電気的構成について説明する。図2は、MFP1の電気的構成を示すブロック図である。MFP1は、CPU11、ROM12、RAM13、EEPROM14、スキャナ2、プリンタ3、操作部4、LCD5、スロット部6を主に有している。
このうち、CPU11、ROM12、RAM13、EEPROM14は、バスライン26を介して互いに接続されている。また、スキャナ2、プリンタ3、操作部4、LCD5、スロット部6、バスライン26は、入出力ポート27を介して互いに接続されている。
CPU11は、ROM12、RAM13やEEPROM14に記憶される固定値やプログラムに従って、MFP1が有している各機能の制御や、入出力ポート27と接続された各部を制御するものである。
ROM12は、CPU11によって実行される制御プログラム12aを記憶すると共に、電源遮断後も内容を保持可能な不揮発性のメモリである。制御プログラム12aは、後述する図6〜図12にフローチャートで示す処理を実行するためのプログラムを含んでいる。
ROM12には、さらに横方向画像配置数記憶領域12b、1ページ画像配置数記憶領域12cが設けられている。
横方向画像配置数記憶領域12bは、「横方向の配置枚数」を記憶する領域である。「横方向の配置枚数」は、1ページの記録用紙(表示媒体の一例)の横一列に並べて設定される画像配置領域の数を示す値である。
画像配置領域については、図3を参照して後述するが、本実施形態では、複数個の画像配置領域を1ページの記録用紙に対し設定する。そして、メディアカードに記憶された静止画像ファイルまたは動画像ファイルの各々に対し、画像配置領域を1対1で割り当てる。各画像ファイルの内容を示すインデックス画像は、割り当てられた画像配置領域に配置されることとなる。
なお、本実施形態のMFP1には、予め印刷用紙サイズ(L版、A4、Letterなど)、および印刷モード(高精細、普通、高速など)に応じて、複数種類の「横方向の配置枚数」が記憶されており、後述する配置印刷処理(図9,図11参照)では、この中から適した値を読み出して用いるものとして説明する。
1ページ画像配置数記憶領域12cは、「1ページ内画像配置数」を記憶する領域である。「1ページ内画像配置数」は、1ページ分の記録用紙に設定する画像配置領域の数を示す値である。なお、本実施形態においては、予め印刷用紙サイズおよび印刷モードに応じて、複数種類の「1ページ内画像配置数」が記憶されており、後述する配置印刷処理(図9,図11参照)では、この中から適した値を読み出して用いるものとして説明する。
RAM13は、MFP1の各操作の実行時に各種のデータを一時的に記憶するためのメモリであり、抽出フレーム数記憶領域13a、処理ファイル数記憶領域13b、生成ページ数記憶領域13d、ファイル情報記憶領域13h、配置情報記憶領域13i、フレーム画像情報記憶領域13j、デコードデータ記憶領域13k、カウンタ記憶領域13m、配置用バッファ13n、動画像ファイル数記憶領域13o、画像配置領域横サイズ記憶領域13p、画像配置領域縦サイズ記憶領域13qが設けられている。
ここで、本実施形態で用いる用語の意味を説明する。本実施形態において、「動画像」とは、多数のフレーム画像を切り替え表示することにより再生される画像を意味している。「動画像ファイル(特許請求の範囲に記載の動画像情報に相当)」は、動画像を再生するためのファイルであって、例えば、AVI動画ファイル、クイックタイム動画ファイルなどで構成される。ただし、動画像を再生可能な情報であれば、どのような形式のファイルであっても差し支えない。また、本実施形態において、「フレーム画像情報」は、動画像を構成する1のフレーム画像に対応した情報を意味している。
抽出フレーム数記憶領域13aは、「フレーム画像抽出枚数」を記憶する領域である。「フレーム画像抽出枚数」は、メディアカードに格納された動画像ファイルの各々について、何枚分のフレーム画像に対応したフレーム画像情報を抽出するかを示す値である。例えば、「フレーム画像抽出枚数」として「5」が記憶されている場合、MFP1は、その動画像ファイルについては、5枚のフレーム画像に対応したフレーム画像情報を抽出し、その抽出したフレーム画像情報に基づいて、5個のインデックス画像を、画像一覧に配置する。本実施形態では、ユーザが、各動画像ファイルについて、操作部4から任意の値を入力し、その値が、「フレーム画像抽出枚数」として決定されて、抽出フレーム数記憶領域13aに記憶されるものとして説明する。
処理ファイル数記憶領域13bは、「総処理ファイル数」を記憶する領域である。「総処理ファイル数」は、メディアカードに格納される静止画像ファイル(特許請求の範囲に記載の静止画像情報の一例)と動画像ファイルの合計を示す値である。
生成ページ数記憶領域13dは、「生成ページ数」を記憶する領域である。「生成ページ数」は、後述する配置印刷処理(図9、図11)の実行により出力する画像一覧の総ページ数を示す値である。
ファイル情報記憶領域13h、配置情報記憶領域13iについては、図4、図5を参照して後述する。
フレーム画像情報記憶領域13jは、動画ファイルから抽出されるフレーム画像情報を格納する領域である。デコードデータ記憶領域13kは、フレーム画像情報をデコード処理した結果、または、静止画像ファイルをデコード処理した結果を記憶する領域である。カウンタ記憶領域13mは、各種カウンタを記憶する領域である。
配置用バッファ13nは、横一列分の画像配置領域に対応した印刷データを格納するエリアである。画像配置領域横サイズ記憶領域13pは、画像配置領域の横方向長さを記憶する領域である。画像配置領域縦サイズ記憶領域13qは、画像配置領域の縦方向長さを記憶する領域である。EEPROM14は、書換可能な不揮発性のメモリである。
図3は、MFP1が印刷出力する画像一覧20の一例を示す図である。図3に示すように、画像一覧20には、メディアカードに格納される1または複数の動画像ファイルの各々の内容を示すためのインデックス画像21,22が配置される。
MFP1は、記録用紙(表示媒体の一例)上に複数の画像配置領域を設定し、動画像ファイルまたは静止画像ファイルの各々に対し、画像配置領域23を一対一で割り当てる。なお、説明を分かりやすく説明するために、図3においては、画像配置領域23を破線で図示しているが、この破線は、実際の画像一覧20には表れていなくても良い。
そして、静止画像ファイルに対応する静止画像の拡大もしくは縮小画像で構成される静止画インデックス画像21を、その元となる静止画像ファイルに割り当てられた1の画像配置領域内23に配置する。また、動画像ファイルからフレーム画像情報を抽出し、そのフレーム画像情報に対応するフレーム画像の拡大もしくは縮小画像で構成される複数の動画インデックス画像22を、その元となる動画像ファイルに割り当てられた1の画像配置領域内に並べて配置して、画像一覧20を出力する。
すなわち、1の動画像ファイルから抽出されたフレーム画像情報に基づく複数の動画インデックス画像22(以下、「1の動画像ファイルに由来する動画インデックス画像22」という)は、その動画像ファイルに割り当てられた1の画像配置領域23内にまとめて配置されるので、動画インデックス画像22と静止画インデックス画像21とが画像一覧20内に混在している場合であっても、ユーザは、静止画インデックス画像21と動画インデックス画像22とを一目で区別でき、ユーザにとって、閲覧性の良い画像一覧20を出力することができる。
また、メディアカード内に多数の動画像ファイルが格納されている場合であっても、動画インデックス画像22は、元となる動画像ファイル毎にまとめて配置されるので、ユーザは、同一の動画像ファイルに由来する複数の動画インデックス画像22を、同一グループとして認識することができ、目的とする画像を探し易い。
また、ユーザは、1の動画像ファイルについて、複数の動画インデックス画像22を視認することができるから、その動画像ファイルに対応した動画像に含まれる時間的な変化を、画像一覧から把握することができる。
また、本実施形態のMFP1は、1の画像配置領域23内に配置する動画インデックス画像22の数が大であるほど、1の動画インデックス画像22当たりの大きさが小となるように、動画インデックス画像22の大きさを規定するサイズ情報を、動画像ファイル毎に決定する。そして、その動画像ファイル毎に決定されたサイズ情報に基づいて、そのサイズ情報に応じた大きさの動画インデックス画像22を画像一覧20に出力する。
すなわち、1の動画像ファイルに基づいて多数の動画インデックス画像22が配置される場合、その動画インデックス画像22は小さいサイズで形成され、一方、1の動画像ファイルに基づいて少数の動画インデックス画像22が配置される場合、その動画インデックス画像は大きいサイズで形成される。よって、1の動画像情報に基づいて配置される動画インデックス画像22の多少を、ユーザが直感的に理解することができる。
また、本実施形態のMFP1は、同一の動画像ファイルに由来する動画インデックス画像22を、再生順序に従った配列で、1の画像配置領域23内に配置することとしている。よって、ユーザは、一の画像配置領域23内に配置される複数の動画インデックス画像22を、再生順序に従った順番に閲覧することができ、目的とする画像を容易に探し出すことができる。
なお、本実施形態では、1ページの記録用紙に設定される画像配置領域23各々の形状および大きさは統一されているものとして説明する。このようにすれば、図3に示すように、静止画インデックス画像21と動画インデックス画像22とが混在していても、秩序正しくインデックス画像21,22が配置された閲覧性のよい画像一覧20を出力できる。但し、必要に応じて、画像配置領域23の大きさを適宜変更するように構成されていてもよい。
図4は、ファイル情報記憶領域13hの構成を模式的に示す図である。図4に示すように、ファイル情報記憶領域13hには、ファイルIDを記憶するファイルID記憶領域201、ファイル名を記憶するファイル名記憶領域202、ファイル種類を記憶するファイル種類記憶領域203、抽出フレーム数を記憶する抽出フレーム数記憶領域204、総フレーム数を記憶する総フレーム数205、fps情報を記憶するfps情報記憶領域206、ファイル日付情報を記憶するファイル日付情報記憶領域207、ファイル時間情報を記憶するファイル時間情報記憶領域208、ファイル付加情報記憶領域209が設けられ、ファイル名、ファイル種類、抽出フレーム数、fps情報、ファイル日付情報、ファイル時間情報、ファイル付加情報からなるファイル情報200を、そのファイル情報200を管理するファイルIDに対応付けて記憶する。MFP1は、画像一覧20(図3参照)におけるインデックス画像21,22の配置順序を決定するための準備処理として、メディアカード内に格納された静止画像ファイルまたは動画像ファイルの各々についてファイル情報200を作成し、ファイル情報記憶領域13hに格納する。
ファイルID記憶領域201は、ファイルIDを記憶する領域である。ファイル名記憶領域202は、静止画像ファイルまたは動画像ファイルのファイル名を格納する領域である。図5に示すように、各ファイル名には、拡張子が付加されている。例えば、画像ファイルがJPEGファイルである場合は拡張子「jpg」が付加され、AVI動画ファイルである場合は拡張子「avi」が付加され、クイックタイム動画ファイルである場合は拡張子「mov」が付加される。
ファイル種類記憶領域203は、各画像ファイルの種類(フォーマット)を示す値を格納する領域である。画像ファイルの種類は、例えば、ファイル名に付加された拡張子に基づいて判定することができる。本実施形態では、画像ファイルの形式がJPEGファイル(拡張子jpg)である場合、JPEGファイルであることを示す値「0」をファイル種類記憶領域203に格納し、画像ファイルの形式がAVI動画ファイル(拡張子avi)である場合、値「1」をファイル種類記憶領域203に格納し、画像ファイルの形式がクイックタイム動画ファイル(拡張子mov)である場合、値「2」をファイル種類記憶領域203に格納する。
なお、各画像ファイルの先頭から数バイト分に格納されている情報に基づいて画像ファイルの種類を判定することもできる。例えば、先頭から2バイトが「0xFFD8」であればJPEGファイルであると判定できるし、先頭から2バイトが「0x424D」であれば、ビットマップデータであると判定することができる。これらの情報に基づいて、画像ファイルの種類を判定しても差し支えない。
抽出フレーム数記憶領域204は、何枚分のフレーム画像に対応したフレーム画像情報を、画像ファイルから抽出するかを示す値を記憶する領域である。なお、静止画像ファイルの場合、抽出フレーム数記憶領域204には値「1」が格納される。動画像ファイルの場合は、ユーザによって入力された値が、この抽出フレーム数記憶領域204へ記憶される。
総フレーム数記憶領域205は、各画像ファイルの総フレーム数を格納する領域である。動画像ファイルの場合は動画像ファイルに含まれる総フレーム数が格納され、静止画像である場合は常に1が格納される。
fps情報記憶領域206は、各画像ファイルのfps(Frame Per Second)情報を格納する領域である。静止画像ファイルである場合には「0」が格納される。一方、動画像ファイルである場合には、例えば、1秒間に60フレーム画像が存在することを示す「60」や、1秒間に30フレーム画像が存在することを示す「30」が、このfps情報記憶領域206に格納される。
ファイル日付情報記憶領域207は、各画像ファイルの撮影日を表すファイル日付情報を格納する領域である。例えば、撮影日「2008年1月15日」は、ファイル日付情報「20080115」として表すものとする。
ファイル時間情報記憶領域208は、各画像ファイルの撮影時間を表すファイル時間情報を格納する領域である。例えば、撮影時間「12時50分45秒」は、ファイル時間情報「125045」として表すものとする。画像ファイルが動画像ファイルの場合は、撮影開始時間を表す情報が、ファイル時間情報として格納される。
以降の説明では、各画像ファイルのヘッダに記述された情報を読み出してくることにより、総フレーム数、fps情報、ファイル日付情報およびファイル時間情報を取得するものとするが、他の手段により、これらの情報を取得しても良い。
ファイル付加情報記憶領域209には、各画像ファイルのその他の固有情報を格納する領域である。MFP1は、ファイル付加情報記憶領域209に、1の画像配置領域23内に、いくつの分割領域を設けるかを示す「画像配置領域分割数」を格納する。
本実施形態のMFP1は、ファイル情報記憶領域13hに格納された各画像ファイルの固有情報に基づいて、インデックス画像21,22の配置順序を決定する。決定した配置順序に対応した配置情報は、図5に示す配置情報記憶領域13iに格納する。
図5は、配置情報記憶領域13iの構成を模式的に示す図である。図5に示すように、配置情報記憶領域13iは、ファイルID、配置フレーム数、抽出フレーム番号、画像日付情報、画像時間情報、画像付加情報からなる配置情報300と、その配置情報300に対応する配置順序とを記憶する。
図5は、配置情報記憶領域13iの構成を模式的に示す図である。配置情報記憶領域13iは、配置情報300を記憶する領域である。配置情報300は、ファイルID、配置フレーム数、抽出フレーム番号、抽出フレーム位置を示す値から構成される。
図5に示すように、配置情報記憶領域13iには、配置順序記憶領域301、ファイルID記憶領域302、配置フレーム数記憶領域304、抽出フレーム番号記憶領域305、抽出フレーム位置記憶領域306が設けられる。
配置情報記憶領域301は、「配置順序」を記憶する領域である。図5に示すように、「配置順序」と配置情報300とは一対一で対応付けられる。後述する配置印刷処理(S103;図9参照)では、配置情報で特定されるフレーム画像の動画インデックス画像22または静止画像の静止画インデックス画像21が、配置情報300に対応する配置順序に従った順序で、画像一覧20に配列されることとなる。
ファイルID記憶領域302は、「ファイルID」を格納する領域である。図4を参照して説明したように、ファイル情報記憶領域13hにおいて、ファイルIDとファイル名とが1対1で対応付けて記憶されているので、ファイルIDから、1の画像ファイルが特定される。
配置フレーム数記憶領域304は、対応するファイルIDで特定される画像ファイルについて、何枚分のインデックス画像を画像一覧に配置するかを示す「配置フレーム数」を記憶する領域である。なお、対応する画像ファイルが静止画像ファイルである場合、「配置フレーム数」としては「1」が記憶される。また、対応する画像ファイルが動画像ファイルである場合、「配置フレーム数」としては、ユーザによって入力された任意の値が記憶される。
抽出フレーム番号記憶領域305は、「抽出フレーム番号」を記憶する領域である。上述したように、配置順序に対応付けられたファイルIDにより、1の画像ファイルが特定されるが、その画像ファイルが動画像ファイルである場合は、その動画像ファイルについて複数の動画インデックス画像22を画像一覧20に配置することとなる。よって、その動画像ファイルについて配置する複数の動画インデックス画像22のうち、何番目の動画インデックス画像22を、その配置順序に割り当てるかを示す「抽出フレーム番号」が、抽出フレーム番号記憶領域304に格納される。
抽出フレーム位置記憶領域306は、「抽出フレーム位置」を記憶する領域である。対応する画像ファイルが静止画像ファイルである場合、抽出フレーム位置記憶領域306には、「抽出フレーム位置」として値「1」が記憶される。一方、対応する画像ファイルが動画像ファイルである場合、抽出するフレーム画像情報が、動画像ファイルにおけるいずれの位置に存在しているかを示す情報が「抽出フレーム位置」として、抽出フレーム位置記憶領域306へ記憶される。なお、「抽出フレーム位置」については、図8を参照して後述する。
後述する配置印刷処理(図9,図11参照)では、配置情報記憶領域13iを参照することにより、決定された配置順序に従ってインデックス画像21,22が配列された画像一覧20を、記録用紙に印刷出力する。
なお、図4,図5において、ファイル情報記録領域13h、配置情報記憶領域13i内に示す値は、単なる一例であり、図3に示す画像一覧20と対応させたものではない。
図6は、MFP1で実行されるレイアウト画像印刷処理を示すフローチャートである。このレイアウト画像印刷処理は、ユーザによって、画像一覧20の印刷出力の開始指示が入力されると実行される。
まず、ファイル情報記憶領域13h(図4参照)へファイル情報200を設定する画像情報取得処理を実行する(S101)。画像情報取得処理の詳細については、図7を参照して後述する。
次に、配置情報記憶領域13i(図5参照)へ配置情報300を設定する配置情報決定処理を実行する(S102)。配置情報決定処理の詳細については、図8を参照して後述する。
そして、設定された配置情報300に基づいて画像一覧20を印刷出力する配置印刷処理を実行する(S103)。配置印刷処理の詳細については、図9から図13を参照して後述する。レイアウト画像印刷処理を実行することにより、図3を参照して説明した画像一覧20を出力することができる。
図7は、画像情報取得処理(S101)を示すフローチャートである。画像情報取得処理(S101)では、まず、「フレーム画像抽出枚数」を、抽出フレーム数記憶領域13a(図2参照)へ記憶する(S201)。なお、本実施形態では、予め、ユーザが、メディアカードに格納される動画像ファイルの各々について、何枚の動画インデックス画像22を形成するかを指示する値を入力しておくものとして説明する。そして、S201のステップでは、ユーザによって動画像ファイル毎に入力された値を、「フレーム画像抽出枚数」として抽出フレーム数記憶領域13a(図2参照)へ記憶する。
次に、メディアカードにメディアカード内に格納された静止画像ファイルと動画像ファイルとの合計を示す「総処理ファイル数」を算出し(S202)、処理ファイル数記憶領域13b(図2参照)に記憶する(S203)。
次に、メディアカードに格納した画像ファイルの各々についてファイル情報を作成し、ファイル情報記憶領域13h(図5参照)へ格納する処理を行う。まず、ファイル数をカウントするファイル数カウンタを0で初期化する(S206)。なお、以降の処理において、このファイル数カウンタは、作成したファイル情報を格納すべき領域を特定するために用いられる。このファイル数カウンタは、カウンタ記憶領域13m(図2参照)に設けられている。
次に、メディアカードから選択した1の画像ファイルのファイル名、ファイル日付情報、ファイル時間情報を読み出す(S207)。そして、ファイル数カウンタ値のファイルIDに対応した領域に、読み出したファイル名、ファイル日付情報、ファイル時間情報を記憶する(S208)。なお、ファイル名はファイル名記憶領域202へ記憶し、ファイル日付情報はファイル日付情報記憶領域207へ記憶し、ファイル時間情報はファイル時間情報記憶領域208へ記憶する(図4参照)。
次に、選択した画像ファイルの種類を解析する(S209)。この処理では、例えば、ファイル名に付加された拡張子を解析することにより、画像ファイルの種類を判定している。そして、判定した画像ファイルの種類を、ファイル数カウンタ値のファイルIDに対応した、ファイル種類記憶領域203(図4参照)へ記憶する(S210)。
そして、取得した画像ファイルの種類に基づいて、選択した画像ファイルが動画像ファイルであるか静止画像ファイルであるかを判断する(S211)。
動画像ファイルであると判断した場合(S211:動画像)、動画像ファイルのfpsを表すfps情報、総フレーム数を、その動画像ファイルのヘッダから読み出す(S212)。
そして、処理画像数カウンタ値のファイルIDに対応したfps情報記憶領域206へfps情報を記憶し、総フレーム数記憶領域205に総フレーム数を記憶する(S213)。また、S201の処理で抽出フレーム数記憶領域13a(図2参照)に記憶された「フレーム画像抽出枚数」を読み出し、ファイル数カウンタ値のファイルIDに対応した、抽出フレーム数記憶領域204(図4参照)へ記憶する(S214)。
次に、抽出フレーム数記憶領域204に記憶した「フレーム画像抽出数」に基づいて、「画像配置領域分割数」を算出する(S215)。「画像配置領域分割数」は、処理対象の動画像ファイルに割り当てられる画像配置領域内に、いくつの分割領域を設けるかを示す値である。「画像配置領域分割数」の算出方法の一例を以下に述べる。
まず、下記の条件1を満たすnを決定する。なお、下記の式では、「フレーム画像抽出数」をPickFrameNoとしている。
(条件1)
(n-1)2 < PickFrameNo ≦ n2
そして、上記の条件1を満たすnから、画像配置領域分割数DivideNoを、下記数式1に基づいて算出する。
(数式1)
DivideNo = n2
そして、算出した画像配置領域分割数を、ファイル数カウンタ値のファイルIDに対応したファイル付加情報記憶領域209(図4参照)へ記憶する(S216)。
一方、静止画像ファイルであると判断した場合(S211:静止画像)、ファイル数カウンタ値のファイルIDに対応する抽出フレーム数記憶領域204(図4参照)に「1」を記憶する。そして、ファイル数カウンタ値のファイルIDに対応するファイル付加情報記憶領域209には、「1」を記憶する(S217)。
このようにして、動画像ファイル、静止画像ファイルのいずれかに対応した処理が実行されると、次に、ファイル数カウンタに1を加算し(S219)、ファイル数カウンタの値が、総処理ファイル数を超えたか否かを判断する(S220)。
S220の判断が否定される場合(S220:No)、S207に戻り処理を繰り返すが、S220の判断が肯定される場合(S220:Yes)、この画像情報取得処理(S101)を終了する。そして、次の配置情報決定処理(S102)によって、配置情報記憶領域13iに配置情報300を設定する処理を実行する。
図8は、配置情報決定処理(S102)を示すフローチャートである。まず、ファイル数カウンタおよび配置順序カウンタを0で初期化する(S301)。なお、以降の処理において、ファイル数カウンタは、処理対象の画像ファイルのファイルIDを示すために用いられ、配置順序カウンタは、配置情報記憶領域13iにおける、どの位置に情報を格納するのかを示すために用いられ、カウンタ記憶領域13m(図2参照)に設けられている。
次に、ファイル数カウンタ値のファイルIDに対応した、「フレーム画像抽出枚数」を抽出フレーム数記憶領域204(図4参照)から読み出す(S302)。そして、ファイル数カウンタ値に対応する、総フレーム数記憶領域205から、「総フレーム数」を読み出す(S303)。
次に、「総フレーム数」と「フレーム画像抽出枚数」とから、「フレーム抽出間隔」を算出する(S304)。「フレーム抽出間隔」は、例えば、下記の数式2から算出する。
(数式2)
フレーム抽出間隔 = 総フレーム数 / フレーム画像抽出枚数
次に、カウンタ記憶領域13m(図2参照)に設けられているフレーム数カウンタを0で初期化する(S305)。そして、配置順序カウンタ値の配置順序に対応する、ファイルID記憶領域302(図5参照)に、ファイル数カウンタ値を、ファイルIDとして記憶する(S306)。
次に、配置順序カウンタ値の配置順序に対応する、配置フレーム数記憶領域304(図5参照)に、S302の処理で読み出した「フレーム画像抽出枚数」を記憶する(S307)。
次に、配置順序カウンタ値の配置順序に対応する、抽出フレーム番号記憶領域305(図5参照)に、フレーム数カウンタ値を記憶する(S308)。そして、フレーム数カウンタ値に、S304の処理で算出したフレーム抽出間隔を乗算することにより、「抽出フレーム位置」を算出する。「抽出フレーム位置」は、動画像を構成する多数のフレーム画像のうち、先頭から何番目のフレーム画像に対応したフレーム画像情報を、抽出対象とするかを示す値である。算出した「抽出フレーム位置」は、配置順序カウンタ値の配置順序に対応する、抽出フレーム位置記憶領域306(図5参照)に記憶する(S309)。
次に、フレーム数カウンタ、配置順序カウンタに「1」を加算し(S310)、フレーム数カウンタ値が、「フレーム画像抽出枚数」以上となったか否かを判断する(S311)。S311の判断が否定される場合(S311:No)、S306に戻り処理を繰り返す。
一方、S311の判断が肯定されると(S311:Yes)、ファイル数カウンタを「1」加算する(S312)。そして、ファイル数カウンタ値が「総処理ファイル数」以上となったか否かを判断する(S313)。S313の判断が否定される場合(S313:No)、S302に戻り処理を繰り返す。一方、S313の判断が肯定される場合(S313:Yes)、すなわち、全ての画像ファイルについて、配置情報が作成され、配置情報記憶領域13i(図5参照)へ記憶されると、配置情報決定処理(S102)を終了する。そして、作成した配置情報に従って、インデックス画像21,22を配置した画像一覧20を出力する、配置印刷処理(S103)を開始する。
図9は、配置印刷処理(S103)を示すフローチャートである。まず、画像一覧20に配列される横一列分の画像配置領域23の数を示す「横方向の配置枚数」を、横方向画像配置数記憶領域12bから読み出す(S401)。次に、1ページ分の記録用紙に設定される画像配置領域23の数を示す「1ページ内画像配置数」を、1ページ内画像配置数記憶領域12cから読み出す(S402)。
さらに、読み出した「1ページ内画像配置数」に応じた、画像配置領域23の横方向の大きさを示す「画像配置領域横サイズ」を、画像配置領域横サイズ記憶領域13pを記憶し、画像配置領域23の縦方向の大きさを示す「画像配置領域縦サイズ」を、画像配置領域縦サイズ記憶領域13qへ記憶する。
図10は、1ページ分の記録用紙に設定される画像配置領域23の一例を模式的に示す図である。以降の処理では、画像ファイルの各々に対し、この画像配置領域を1つ割り当てる。なお、図10に示す画像配置領域23は一例であって、図3に示す画像一覧20と対応するものではない。
本実施形態では、画像配置領域23を、横方向配置カウンタ値と縦方向配置カウンタ値とで特定するものとして説明する。横方向配置カウンタ値によって、1ページの記録用紙に向かって左から何番目に位置するかが示される。また、縦方向配置カウンタ値によって、1ページの記録用紙の上から何番目に位置するかが示される。
図9に戻り説明する。次に、処理ファイル数記憶領域13b(図2参照)から「総処理ファイル数」を読み出し(S403)、「総処理ファイル数」と「1ページ内画像配置数」とから、「生成ページ数」を算出し、生成ページ数記憶領域13d(図2参照)へ記憶する(S404)。
本実施形態では、「生成ページ数」は下記数式3を用いて算出する。
(数式3)
(生成ページ数) = [ (総処理ファイル数) / (1ページ内画像配置数) ] + 1
そして、カウンタ記憶領域13mに設けられているページカウンタを1で初期化し(S405)、「処理ファイル数」、「生成ページ数」、およびページカウンタ値から、現在処理対象の1ページの記録用紙に設定する画像配置領域23の数である「配置画像枚数」を算出する(S406)。本実施形態において、「配置画像枚数」は下式を用いて算出する。
(ページカウンタ値) < 生成ページ数 の時
配置画像枚数 = (1ページ内画像配置数)
(ページカウンタ値) ≧ 生成ページ数 の時
配置画像枚数 = (グループ画像数) - { (1ページ内画像配置数) × (ページカウンタ値) }
次に、カウンタ記憶領域13m(図2参照)に設けられている、レイアウト画像カウンタ、横方向配置カウンタ、縦方向配置カウンタを0で初期化する(S407)。そして、レイアウト画像カウンタの値の配置順序に対応したファイルIDと、抽出フレーム番号とを、配置情報記憶領域13iから読み出す(S408)。
そして、読み出したファイルIDに対応する画像ファイルが、動画像ファイルであるか静止画像ファイルであるかを判定する(S409)。
S409の判定において、動画像ファイルと判定される場合(S409:動画像)、次に、フレーム配置画像生成処理を実行する(S410)。フレーム配置画像生成処理(S410)は、複数の動画インデックス画像22を内部に配置する1つの画像配置領域23分の印刷データを生成する処理であるが、詳細は図12を参照して後述する。
そして、S410の処理で生成された、1画像配置領域23分の印刷データを、横方向配置カウンタ値および縦方向配置カウンタ値で特定される画像配置領域23に対応した、配置用バッファの領域に配置する(S411)。すなわち、処理対象の動画像ファイルに、横方向配置カウンタ値および縦方向配置カウンタ値で特定される1つの画像配置領域23を割り当てる。
一方、読み出したファイルIDに対応する画像ファイルが、静止画像ファイルである場合(S409:静止画像)、静止画像ファイルをデコード処理する(S412)。そして、デコードした静止画像ファイルを、画像配置領域のサイズに併せて拡大もしくは縮小処理をする。そして、横方向カウンタ値および縦方向カウンタ値で特定される画像配置領域23に対応した、配置用バッファの領域に、縮小処理した印刷データを配置する(S413)。すなわち、処理対象の静止画像ファイルに、横方向配置カウンタ値および縦方向配置カウンタ値で特定される1つの画像配置領域23を割り当てる。
このようにして、動画像ファイルまたは静止画像ファイルのいずれかについて処理が実行されると、次に、図11に示す次の処理に移行する。
図11は、図9に示す配置印刷処理(S103)の続きの処理を示すフローチャートである。図9に示す処理において、1画像ファイル分の処理を終えたので、次に、横方向配置カウンタに「1」を加算する(S414)。そして、横方向配置カウンタの値が、「横方向の配置枚数」以上となったか否かを判断する(S415)。S415の判断が否定される場合(S415:No)、レイアウト画像カウンタに「1」を加算し(S419)、レイアウト画像カウンタの値が、現在の処理対象の記録用紙に設定される画像配置領域23の数に相当した、「配置画像枚数」以上となったか否かを判断する(S420)。S420の判断が否定される場合(S420:No)、図9に示すS408の処理に戻り、次の配置順序に対応した配置情報を処理する。
このようにして処理を繰り返す内に、「横方向の配置枚数」回分の配置処理が実行されると、S415の判断が肯定されるので(S415:Yes)、次に、配置用バッファのデータをプリンタ3(図2参照)へ渡す(S416)。これにより、配置用バッファのデータがプリンタ3における印刷処理にかけられる。ただし配置用バッファに画像が配置されない領域については印刷処理を行わない。
そして、次の画像ファイルに割り当てる画像配置領域の横配置位置を示す横方向配置カウンタを0に初期化し(S417)、また、次の画像ファイルに割り当てる画像配置領域の縦方向位置を示す縦方向配置カウンタに「1」を加算する(S418)。そして、上述したS419、S420の処理を実行する。
このようにして、現時点における処理対象の1ページ分の記録用紙に設定された画像配置領域23の全てについて印刷処理を完了すると、S420の判断が肯定されるので(S420:Yes)、次に、配置用バッファに、未だ印刷処理を行っていないデータが存在するかを判断する(S421)。S421の判断が肯定される場合(S421:Yes)、その残りのデータをプリンタ3に渡し(S422)、プリンタ3にて印刷出力をさせ、S423の処理に移行する。一方、S421の判断が否定される場合(S421:No)、S422の判断をスキップし、S423の処理に移行する。
そして、1ページ分のデータ出力が完了したことを示す印刷完了命令をプリンタ3に渡し(S423)、ページカウンタに「1」を加算する(S424)。そして、横方向配置カウンタおよび縦方向配置カウンタを「0」に初期化し(S425)、ページカウンタの値が「生成ページ数」より大となったかを判断する(S426)。S426の判断が否定される場合(S426:No)、図9に示すS406の処理に戻り、次ページの処理を開始する。
一方、S426の判断が肯定される場合(S426:Yes)、配置印刷処理を終了する。配置印刷処理によって、図3を参照して説明した画像一覧20が出力される。
図12は、フレーム配置画像生成処理(S410)を示すフローチャートである。フレーム配置画像生成処理は、処理対象の動画像ファイルについて、フレーム画像情報を抽出し、その動画像ファイルに割り当てられた画像配置領域23内に、抽出したフレーム画像情報に基づく複数のインデックス画像22を配置するための印刷データを生成する処理である。
まず、ファイルカウンタ値のファイルIDに対応するファイル情報記憶領域13hから、その動画像ファイルについて、いくつの動画インデックス画像を形成するかを示す「フレーム画像抽出枚数」と、その動画像ファイルに割り当てられる画像配置領域内に、いくつの分割領域を設けるかを示す「画像配置領域分割数」とを読み出す(S501)。
ここで、図13を参照して、分割領域について説明する。図13は、1の画像配置領域23内に設けられる複数の分割領域24の例を模式的に示す図である。
以降の処理では、動画像ファイルから抽出されるフレーム画像情報の各々に対し、この分割領域24を1つ割り当てる。そして、図3を参照して説明したように、1の分割領域24に1の動画インデックス画像22を配置する。
本実施形態では、左方向分割カウンタ値によって、1の画像配置領域23における左から何番目に位置する分割領域24であるかを特定し、縦方向分割カウンタ値によって、1の画像配置領域23における上から何番目に位置する分割領域24であるかを特定するものとしている。
図12に戻り説明する。次に、「画像配置領域分割数」から、動画インデックス画像サイズを算出する(S502)。動画インデックス画像サイズは、例えば、下記の数式4のようにして決定する。
(数式4)
動画インデックス画像横サイズ=[画像配置領域横サイズ]/(画像配置領域分割数)1/2
動画インデックス画像縦サイズ=[画像配置領域縦サイズ]/(画像配置領域分割数)1/2
なお、「画像配置領域横サイズ」は、画像配置領域横サイズ記憶領域13pに記憶され、「画像配置領域縦サイズ」は、画像配置領域縦サイズ記憶領域13q(図2参照)に記憶されている。上述したように、「フレーム画像抽出枚数」が大であるほど、「画像配置領域分割数」が大となるように、「画像配置領域分割数」を定めているので、「フレーム画像抽出枚数」が大であるほど、1の動画インデックス画像値の大きさが小となるように、動画インデックス画像のサイズを規定するサイズ情報を決定することができる。
その結果、前記出力手段は、前記サイズ決定手段により動画像情報毎に決定されたサイズ情報に基づいて、そのサイズ情報に応じた大きさの動画インデックス画像を出力されることとなる。
次に、「画像配置領域分割数」から、1の画像配置領域の横方向に、いくつの分割領域を設けるか、すなわち、いくつ分の動画インデックス画像を配置するかを示す「横方向フレーム配置数」を算出する(S503)。「横方向フレーム数」は、例えば、下記の数式5に基づいて算出する。
(数式5)
[横方向フレーム配置数]=[画像配置領域分割数]1/2
次に、カウンタ記憶領域13m(図2参照)に設けられている、フレーム数画像カウンタ、横方向分割カウンタ、縦方向分割カウンタを、それぞれ「0」で初期化する(S504)。
そして、フレーム数画像カウンタの値の抽出フレーム番号に対応した、抽出フレーム位置記憶領域306(図5参照)から、「抽出フレーム位置」を読み出し、その「抽出フレーム位置」で特定されるフレーム画像情報を抽出する(S505)。上述したように、「抽出フレーム位置」は、1の動画像を構成する複数のフレーム画像のうち、先頭から何番目のフレーム画像に相当するかを示す値であるから、S505の処理では、「抽出フレーム位置」で特定されるフレーム画像に対応したフレーム画像情報を抽出している。
次に、抽出したフレーム画像情報をデコード処理し(S506)、デコードしたフレーム画像情報を動画像配置用バッファに配置する(S507)。そして、横方向分割カウンタ値に「1」を加算し(S508)、横方向分割カウンタの値が、横方向フレーム配置数以上となったか否かを判断する(S509)。
S509の判断が否定される場合(S509)、S512の処理に移行して、フレーム数画像カウンタに「1」を加算し(S512)、フレーム数画像カウンタの値が、フレーム画像抽出枚数以上となったか否かを判断する(S513)。S513の判断が否定される間(S513:No)、S505から処理を繰り返す。
このようにして処理を繰り返すうちに、横方向分割カウンタの値が、横方向フレーム配置数以上となると(S509:Yes)、次に、横方向分割カウンタを0で初期化し(S510)、縦方向分割カウンタに1を加算する(S511)。そして、上述したS512、S513の処理を実行する。
このようにして、処理対象の動画像ファイルから抽出すべき数のフレーム画像情報を抽出し、処理を完了すると、S513の判断が肯定されるので(S513:Yes)、フレーム配置画像生成処理を終了する。
本実施形態のフレーム配置画像生成処理によれば、1の画像配置領域23における左上の分割領域24を先頭位置として、抽出フレーム番号が小さい方から順番に、動画インデックス画像22が配列されることとなる。ここで、抽出フレーム番号が大となるほど、その動画像ファイルにおける再生順序において後ろの方に位置するフレーム画像情報が抽出されるように、抽出フレーム位置が定められているから(図8のS309参照)、1の動画像ファイルに由来する動画インデックス画像22は、各フレーム画像情報の再生順序に従った配列で、1の画像配置領域内に配置されることとなる(図3参照)。
よって、ユーザは、一の画像配置領域23内に配置される複数の動画インデックス画像22を、再生順序に従った順番で閲覧することができ、動画像ファイルの内容を、容易に理解することができる。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、本実施形態では、画像一覧20を記録用紙に印刷出力するものとして説明したが、LCD5など表示装置に画像一覧20を表示出力する場合にも、本発明を適用できる。
また、本発明を、例えば、パーソナルコンピュータに適用し、PCのモニターに、画像一覧20を表示出力する場合、あるいは、パーソナルコンピュータからプリンタを制御して画像一覧を印刷出力する場合にも、本発明を適用できる。
また、上記実施形態では、全グループについて画像一覧20が出力されるものとして説明したが、例えば、ユーザにより選択されたグループについてのみ画像一覧20を出力するように構成しても良い。
また、上述した実施形態では、動画像ファイルおよび静止画像ファイルは、共に撮影により生成された画像ファイルであるものとして説明したが、動画像ファイルおよび静止画像ファイルは、撮影以外の方法で生成されるものであっても、本発明を適用可能である。
また、上述した実施形態では、メディアカード内に、静止画像ファイルと動画像ファイルとが混在している場合について説明したが、メディアカード内に動画像ファイルのみが格納されている場合にも本発明は適用可能である。
また、上述した実施形態では、着脱可能なメディアカード内に記憶されている画像情報を処理対象としていたが、MFP1の内部メモリに格納された画像情報を処理対象とする場合にも、本発明は適用可能である。
また、本実施形態では、各動画像ファイルについて、何個の動画インデックス画像22を形成するかは、ユーザが入力することとしていたが、各動画像ファイルの固有情報にしたがって、動画インデックス画像22の数を自動的に決定するように、MFP1を構成しても良い。
例えば、動画像ファイルの各々について、その録画時間の長さに相当する録画長情報を取得する録画長情報取得手段を備え、録画時間の長さが大である動画像ファイルほど、その動画像ファイルについて1の画像配置領域23内に配置する動画インデックス画像22の数が大となるように、フレーム画像抽出枚数を決定し抽出フレーム数記憶領域204(図4参照)へ記憶することとしても良い。
このようにすれば、録画時間が長い動画像ファイルについては、より多数の動画インデックス画像22が、画像一覧23に配置されることとなる。録画時間が長い動画像ファイルには、より多くのシーンが撮影されていることが予想されるので、多数の動画インデックス画像23を画像一覧に配置することにより、その動画像ファイルに含まれる内容を、正確にユーザに把握させることができる。
また、動画像ファイルの各々について、その動画像ファイルに含まれるシーン切り替え回数に相当する切り替え回数情報を取得する切り替え回数取得手段を備え、シーン切り替え回数が大である動画像ファイルほど、その動画像ファイルについて1の画像配置領域内に配置する動画インデックス画像の数が大となるように、フレーム画像抽出数を決定しても良い。
このようにすれば、シーン切り替え回数が大である動画像ファイルについては、より多数の動画インデックス画像22が、画像一覧20に配置されることとなる。シーン切り替え回数が大である動画像ファイルについては、多数の動画インデックス画像22を画像一覧20に配置することにより、その動画像ファイルに含まれる多数のシーンを、正確にユーザに把握させることができる。
例えば、フレーム画像毎の色(画素値)の変化量を算出し、その変化量が閾値を超えたことに基づいて、1回のシーン切替があったと判断することにより、1動画像ファイルに含まれるシーン切り替え回数に相当する切り替え回数情報を取得することができる。
また、上記実施形態では、記録用紙サイズと印刷解像度との応じて「横方向の配置枚数」と「1ページ内画像配置数」が予め設定されていたが、例えば、画像一覧に出力する対象となる静止画像ファイルおよび動画像ファイルの総数と記録用紙サイズとから、各画像配置領域の大きさが同じになるよう位置および大きさを設定してもよい。そして、前記画像配置領域の大きさに応じて、静止画インデックス画像および動画インデックス画像の大きさがそれぞれ設定されてもよい。このようにすれば、画像配置領域が適切な大きさで、且つ秩序正しく並べられた閲覧性のよい画像一覧を出力することができる。
また、このときに設定される各画像配置領域の大きさは、記録用紙サイズに印刷対象となる画像ファイルすべてが印刷可能な最大のサイズを算出するとよい。秩序正しく並べられているので閲覧性のよい画像一覧を出力できる。さらに、各画像は印刷可能な最大サイズで出力されるので、ユーザが各画像の内容を把握しやすく、より閲覧性のよい画像一覧として出力できる。
また、上記実施形態では、動画インデックス画像22が再生順序に従って配列されていたが、例えば、動画インデックス画像22に含まれる顔の個数の順序や、ダイナミックレンジ、あるいは輝度など、他の条件に従った順序で、動画インデックス画像22が配列されていてもよい。