以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の一つにおける文書管理システムの全体概要を示す図である。図1を参照して、文書管理システム1は、ネットワーク2にそれぞれ接続された画像形成装置としてのMFP(Multi Function Peripheral)100と、コンピュータ3,3A,3B,3Cとを含む。
MFP100は、原稿を読取るためのスキャナ、画像データに基づいて紙などの記録媒体に画像を形成するための画像形成部、ファクシミリを含み、画像読取機能、複写機能、ファクシミリ送受信機能を備えている。また、MFP100は、ウエブ(Web)サーバとして機能する。
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク2は、LANに限らず、ワイドエリアネットワーク(WAN)、インターネット等であってもよい。
コンピュータ3,3A,3B,3Cは、一般的なパーソナルコンピュータであり、その構成は周知なのでここでは説明を繰り返さない。コンピュータ3,3A,3B,3Cそれぞれは、ブラウザプログラムがインストールされている。このため、例えば、コンピュータ3が、Webサーバとして機能するMFP100にURL(Uniform Resource Locator)を送信すると、MFP100は、HTML(HyperText Markup Language)などのマークアップ言語で記述されたWebページを生成する。MFP100は、生成したWebページを、URLを送信してきたコンピュータ3に返信する。コンピュータ3は、Webページを受信すると、それをディスプレイに表示する。例えば、MFP100のHDDに記憶されている画像データのリストを閲覧するためのURLを送信すれば、MFP100は、画像データごとにサムネールを生成し、そのサムネールを含むWebページを生成し、URLを送信してきたコンピュータに返信する。このため、コンピュータ3,3A,3B,3Cそれぞれのユーザは、サムネールを見て、MFP100に記憶されている画像データを識別することができる。その後、コンピュータ3,3A,3B,3Cそれぞれのユーザは、サムネールを指定することにより、画像データを特定することができ、MFP100に特定した画像データに対する処理を指示することができる。MFP100に指示する処理は、例えば、画像データに基づいて紙などに画像を形成させる処理、画像データをコンピュータ3,3A,3B,3Cに送信させる処理、画像データに所定の画像処理を実行する処理等を含む。
図2は、MFPの外観を示す斜視図である。図2を参照して、MFP100は、自動原稿搬送装置(ADF)10と、画像読取部20と、画像形成部40と、給紙部50と、を含む。ADF10は、原稿台に搭載された複数枚の原稿をさばいて1枚ずつ順に、画像読取部20に搬送する。画像読取部20は、写真、文字、絵等の画像情報を原稿から光学的に読み取って画像データを取得する。画像形成部40は、画像データが入力されると、画像データに基づいて用紙上に画像を形成する。画像形成部40は、シアン、マゼンタ、イエロー、ブラックの4色のトナーを用いて画像を形成する。給紙部50は、用紙を格納しており、格納した用紙を1枚ずつ画像形成部40に供給する。MFP100は、その上面に操作パネル9を備える。
図3は、MFPのハード構成の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路101と、ファクシミリ部60と、通信制御部61と、ADF10と、画像読取部20と、画像形成部40と、給紙部50とを含む。メイン回路101は、中央演算装置(CPU)111と、CPU111の作業領域として使用されるRAM(Random Access Memory)112と、CPU111が実行するプログラム等を記憶するためのROM(Read Only Memory)113と、表示部114と、操作部115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、データ通信制御部117と、を含む。CPU111は、表示部114、操作部115、HDD116およびデータ通信制御部117とそれぞれ接続され、メイン回路101の全体を制御する。また、CPU111は、ファクシミリ部60、通信制御部61、ADF10、画像読取部20、画像形成部40、給紙部50、と接続され、MFP100の全体を制御する。
表示部114は、液晶表示装置(LCD)、有機ELD(Electro Luminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部115は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部115は、表示部114上に設けられたタッチパネルを含む。表示部114と操作部115とで、操作パネル9が構成される。
データ通信制御部117は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで通信するためのインターフェースであるLAN端子118と、シリアル通信するためのシリアル通信インターフェース端子119とを有する。データ通信制御部117は、CPU111からの指示に従って、LAN端子118またはシリアル通信インターフェース端子119に接続された外部の機器との間でデータを送受信する。
LAN端子118に、ネットワーク2に接続するためのLANケーブルが接続される場合、データ通信制御部117は、LAN端子118を介して接続された他のMFP、スキャナ、プリンタ、またはコンピュータ3,3A,3B,3Cと通信する。シリアル通信インターフェース端子119に機器が接続された場合、データ通信制御部117は、シリアル通信インターフェース端子119に接続された機器、例えば、デジタルカメラ、デジタルビデオカメラまたは携帯情報端末との間で通信して画像データを入出力する。また、シリアル通信インターフェース端子119には、フラッシュメモリを内蔵したメモリカード119Aが接続可能である。CPU111は、データ通信制御部117を制御して、メモリカード119AからCPU111が実行するためのプログラムを読出し、読み出したプログラムをRAM112に記憶し、実行する。
なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、メモリカード119Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(CD−ROM(Compact Disc−Read Only Memory)/MO(Magnetic Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electronically EPROM)などの半導体メモリ等の媒体でもよい。さらに、CPU111がインターネットに接続されたコンピュータからプログラムをダウンロードしてHDD116に記憶する、または、インターネットに接続されたコンピュータが画像データ記憶プログラムをHDD116に書込みするようにして、HDD116に記憶されたプログラムをRAM112にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
通信制御部61は、CPU111をPSTN7に接続するためのモデムである。MFP100には、PSTN7における電話番号が予め割り当てられており、PSTN7に接続されたファクシミリ装置からMFP100に割り当てられた電話番号に発呼があると、通信制御部61がその発呼を検出する。通信制御部61は、発呼を検出すると通話を確立し、ファクシミリ部60に通信させる。
ファクシミリ部60は、PSTN7に接続され、PSTN7にファクシミリデータを送信する、またはPSTN7からファクシミリデータを受信する。ファクシミリ部60は、受信したファクシミリデータを画像形成部40でプリント可能なプリントデータに変換して、画像形成部40に出力する。これにより、画像形成部40は、ファクシミリ部60により受信されたファクシミリデータを記録シートにプリントする。また、ファクシミリ部60は、受信したファクシミリデータをHDD116の指定された領域に格納することが可能である。ファクシミリ部60は、HDD116に記憶された画像データをファクシミリデータに変換して、PSTN7に接続されたファクシミリ装置または他のMFPに出力する。これにより、HDD116に記憶されたデータをファクシミリ装置または他のMFPに出力することができる。このように、MFP100は、ファクシミリ送受信機能を有する。なお、ファクシミリデータは画像データに含まれる。
また、MFP100は、スキャナ機能を有する。CPU111は、画像読取部20が原稿を読み取って出力する画像データをHDD116の指定された領域に格納する。また、MFP100は、コピー機能を有する。CPU111は、画像読取部20が原稿を読み取って出力する画像データを、画像形成部40に出力する。これにより、画像形成部40は、画像読取部20から入力される画像データに基づいて、用紙等の記録シート上に画像を形成する。
このように、MFP100への画像データの入力は、(1)画像読取部20が原稿を読み取って、画像データを出力する場合、(2)LAN端子118を介してネットワーク2に接続された他のコンピュータ3,3A,3B,3Cのいずれかから画像データが受信される場合、(3)シリアルインターフェース端子に接続された機器またはメモリカード119Aから画像データを受信する場合、(4)ファクシミリ部60が、ファクシミリデータを受信する場合がある。MFP100のCPU111は、入力された画像データにファイル名を付し、HDD116の所定の領域に格納する。
図4は、CPUの機能の概要の一例をHDDに記憶される情報とともに示す機能ブロック図である。図4を参照して、HDD116には、画像データ231が記憶されており、CPU111は、HDD116に記憶された画像データを読み出して、その画像データに対応するサムネール235を生成し、画像データ231と関連付けて、HDD116に格納する。画像データは、白黒の場合は画素値が256階調(8ビット)で表わされ、カラーの場合は画素値が赤(R)、緑(G)、青(B)ごとに256階調(8ビット)で表わされる。画像データがカラーの場合は、RGBの3つの画素データをHLS座標系に変換した際の明度情報として処理すれば、白黒の場合と同様の処理ができる。以下説明を簡単にするため単に「画像データ」というときは、白黒の画像データに示し、画像データが白黒の場合について説明する。
CPU111は、画像データから文字または写真の表された領域を抽出し、候補画像としてHDD116に格納する候補画像抽出部201と、複数の候補画像のうちから代表画像を決定する代表画像決定部211と、代表画像の解像度を変換してサムネールを生成するサムネール生成部215と、生成したサムネールを画像データ231と関連付け、HDD116に格納する関連付部217と、画像データの表示要求を受け付ける表示要求受付部221と、サムネール235をHDD116から読み出すサムネール読出部223と、読み出したサムネール235を出力するサムネール出力部225と、を含む。
HDD116が記憶する画像データは、1ページ以上の画像データを含む。候補画像抽出部201は、画像データが複数ページで構成される場合、画像データをページ毎に処理する。候補画像抽出部201は、1ページ分の画像データを複数のブロックに分割し、複数のブロックそれぞれの画像属性を判定する。画像属性は、デジタルカメラなどで撮影して得られた写真を示す写真属性、グラフまたは描画作成ソフトウエアなどで作成された図形を示す図形属性を含む。ブロックサイズは、任意のサイズ(m×n:m,nは自然数)に定めることができるが、例えば縦8画素、横8画素のサイズとする。画像属性を判定する手法は、公知の技術を用いることができる。例えば、ブロック毎に、ブロックに含まれる複数の画像の値の最大値と最小値との差(MAX−MIN値)および平均値等の特徴量を算出し、その特徴量に基づき画像属性を判定する。そして、候補画像抽出部201は、同じ画像属性のブロックを含む矩形の領域を、その画像属性の領域として抽出する。具体的には、画像属性が写真属性の複数のブロックを囲む矩形の領域を写真属性の領域として抽出し、画像属性が図形属性の複数のブロックを囲む矩形の領域を図形属性の領域として抽出する。そして、候補画像抽出部201は、抽出した写真属性の領域および図形属性の領域の画像を、候補画像としてHDD116に格納する。これにより、HDD116に候補画像233が記憶される。
候補画像抽出部201は、画像データに含まれる複数ページの画像データを、ページ毎に処理する。このため、画像データの1つのページが複数の図形領域または写真領域を含んでいれば、複数の候補画像233がHDD116に記憶される。また、画像データが複数ページで構成される場合、各ページから抽出された図形領域または写真領域の全てが候補画像233としてHDD116に記憶される。
代表画像決定部211は、候補画像抽出部201が画像データの全てのページを処理すると、HDD116から候補画像233を読出す。代表画像決定部211は、候補画像233が複数の場合、複数の候補画像233のうちから1つの代表画像を決定する。代表画像決定部211は、優先度算出部213を含む。優先度算出部213は、候補画像233の属性に基づいて、優先度を算出し、複数の候補画像233のうち優先度が最も高い候補画像233を代表画像に決定する。
候補画像233の属性は、画像サイズ、データ量、類似画像数を含む。画像サイズは、候補画像233の画素数を示す。優先度算出部213は、画像サイズが大きいほど高いサイズ優先度を算出する。データ量は、候補画像233のデータ量であり、画素数に1画素当たりのビット数を乗算した値で定まる。優先度算出部213は、データ量が大きいほど高いデータ量優先度を算出する。類似画像数は、画像データから抽出された複数の候補画像のうちで類似する候補画像の数である。優先度算出部213は、類似画像数が少ないほど高い類似優先度を算出する。代表画像決定部211は、サイズ優先度と、データ量優先度と、類似優先度との総和を優先度とし、複数の候補画像233のうち優先度が最大の候補画像233を代表画像に決定し、代表画像をサムネール生成部215に出力する。なお、サイズ優先度と、データ量優先度と、類似優先度それぞれに重み付けをし、優先度を算出するようにしてもよい。
また、画像サイズ、データ量、類似画像数それぞれで、代表画像を決定するようにしてもよい。画像サイズのみから代表画像を決定する場合、代表画像決定部211は、複数の候補画像233のうちから画像サイズが最大の候補画像233を代表画像に決定し、代表画像をサムネール生成部215に出力する。データ量のみから代表画像を決定する場合、代表画像決定部211は、複数の候補画像233のうちからデータ量が最大の候補画像233を代表画像に決定し、代表画像をサムネール生成部215に出力する。類似画像数のみから代表画像を決定する場合、代表画像決定部211は、複数の候補画像233のうちから類似画像数が最小の候補画像233を代表画像に決定し、代表画像をサムネール生成部215に出力する。
また、代表画像決定部211は、画像サイズまたはデータ量と類似画像数とを組み合わせて、複数の候補画像のうちから代表画像を決定するようにしてもよい。例えば、代表画像決定部211は、複数の候補画像233のうち画像サイズまたはデータ量が所定のしきい値を超えるものであって、類似画像数が最小の候補画像を代表画像に決定する。
サムネール生成部215は、代表画像を予め定められた解像度に変換することにより、サムネールを生成し、生成したサムネールを関連付部217に出力する。関連付部217は、入力されるサムネールを画像データ231と関連付け、サムネールをHDD116に格納する。これにより、サムネール235がHDD116に記憶される。サムネール235は、画像データ231と関連付けられるので、サムネール235は画像データを識別するための識別情報として用いることができる。
表示要求受付部221は、表示要求を受け付ける。表示要求は、HDD116の予め定められた領域に記憶された画像データの全ての識別情報を表示するための要求を含む。表示要求受付部221は、操作部115または通信制御部61から表示要求を受け付ける。ユーザが操作部115にHDD116の領域を指定する表示要求を入力すると、表示要求受付部221は、操作部115から表示要求を受け付ける。表示要求受付部221は、表示要求を受け付けると、その表示要求をサムネール読出部223に出力する。サムネール読出部223は、表示要求により指定されたHDD116の領域に記憶された画像データ231に関連付けられたサムネール235を読出し、それをサムネール出力部225に出力する。サムネール出力部225は、入力されるサムネール235を表示部114に表示する。サムネール読出部223は、表示要求により指定されたHDD116の領域に複数の画像データ231が記憶されている場合、複数の画像データ231それぞれに関連付けられた複数のサムネール235を読出し、それらをサムネール出力部225に出力する。サムネール出力部225は、入力される複数のサムネール235のすべてを表示部114に表示する。
表示要求受付部221は、通信制御部61が、他のコンピュータ3、3A,3B,3Cのいずれかから、予め定められたURLを受信すると、通信制御部61からそのURLを受け付ける。予め定められたURLは、HDD116の予め定められた領域の画像データのリストを表示するためのWebページを示す。表示要求受付部221は、受け付けたURLをサムネール読出部223に出力する。サムネール読出部は、入力されるURLで特定されるWebページを生成するために予め定義されたHDD116の領域に記憶された画像データ231に関連付けられたサムネール235を読出し、それをサムネール出力部225に出力する。サムネール出力部225は、入力されるサムネール235を表示部114に表示する。サムネール読出部223は、URLで特定されるWebページを生成するために予め定義されたHDD116の領域に複数の画像データ231が記憶されている場合、複数の画像データ231それぞれに関連付けられた複数のサムネール235を読出し、それらをサムネール出力部225に出力する。サムネール出力部225は、入力される1または複数のサムネール235を含むWebページを生成し、生成したWebページを、コンピュータ3、3A,3B,3CのうちURLを送信してきたものに送信する。
図5は、サムネール生成処理の流れの一例を示すフローチャートである。サムネール生成処理は、MFP100のCPU111がROM113に記憶されたサムネール生成プログラムを実行することにより、CPU111により実行される処理である。図5を参照して、CPU111は、画像データが入力されたか否かを判断する(ステップS01)。画像データが入力されるまで待機状態となり(ステップS01でNO)、画像データが入力されると(ステップS01でYES)、処理をステップS02に進める。すなわち、サムネール生成処理は、画像データが入力されることを条件に実行される処理である。
ステップS02において、最初のページの画像データを処理対象に設定する。画像データが単一のページで構成される場合は、画像データ全部を処理対象に設定する。そして、図形・写真領域抽出処理を実行する。図形・写真領域抽出処理の詳細は後述するが、画像データから画像属性が図形属性の領域および写真属性の写真領域を抽出する処理である。
次のステップS04においては、抽出された図形属性の領域または写真属性の領域の画像を候補画像としてHDD116に格納する。図形領域または写真領域が複数抽出された場合、それらのすべてを候補画像として格納する。ステップS05においては、全てのページの画像データに対して図形・写真領域抽出処理を実行したか否かを判断する。全てのページの画像データに対して図形・写真領域抽出処理を実行したならば処理をステップS07に進めるが、そうでなければ処理をステップS06に進める。ステップS06においては、未処理のページの画像データを処理対象に設定し、処理をステップS03に戻す。
ステップS07においては、代表画像決定処理を実行する。代表画像決定処理については後述するが、複数の候補画像のうちの1つを代表画像に決定する処理である。ステップS09においては、代表画像を予め定められた解像度に変換することにより、代表画像からサムネールを生成する。そして、生成したサムネールをステップS01で入力された画像データと関連付け、HDD116に格納し、処理を終了する。
CPU111がサムネール生成処理を実行すると、入力された画像データに対して1つのサムネールが生成され、そのサムネールが画像データと関連付けられてHDD116に記憶される。このため、サムネールは、画像データを識別するための識別情報としての役割を果たす。また、サムネール生成処理は、画像データに含まれる図形領域または写真領域の画像のうちの1つからサムネールを生成するので、画像データに含まれる特徴のある部分をサムネールにすることができる。このため、画像データに代えてサムネールを表示した場合に、サムネールを見たユーザは画像データを容易に識別することができる。
図6は、図形・写真領域抽出処理の流れの一例を示すフローチャートである。図形・写真領域抽出処理は、図5のステップS03で実行される処理である。図6を参照して、CPU111は、画像データを複数のブロックに分割する(ステップS11)。ブロックサイズは、特に限定しないが、ここでは縦8画素、横8画素のサイズとする。そして、最初のブロックを処理対象に設定する(ステップS12)。次のステップS13においては、ブロックの画像属性を判定する。ここでは、ブロックに含まれる複数の画像の値の最大値と最小値との差(MAX−MIN値)および平均値等の特徴量を算出し、その特徴量に基づき画像属性を判定する。画像属性は、図形属性と、写真属性と、その他の属性とを含む。
ステップS14においては、全てのブロックに対して画像属性を判定したか否かを判断する。全てのブロックに対して画像属性を判定したならば処理をステップS16に進めるが、そうでなければ処理をステップS15に進める。ステップS15においては、未処理のブロックを処理対象に設定し、処理をステップS13に戻す。
次のステップS16においては、画像属性が図形属性の複数のブロックを囲む矩形の領域を図形属性の領域として抽出する。画像属性が図形属性の複数のブロックを囲む矩形の領域が複数存在する場合には、それらのすべてを抽出する。さらに、ステップS17においては、画像属性が写真属性の複数のブロックを囲む矩形の領域を写真属性の領域として抽出し、処理をサムネール生成処理に戻す。画像属性が写真属性の複数のブロックを囲む矩形の領域が複数存在する場合には、それらのすべてを抽出する。
図7は、代表画像決定処理の流れの一例を示すフローチャートである。代表画像決定処理は、図5のステップS07において実行される処理である。図7を参照して、HDD116から画像データから抽出された候補画像を読み出す(ステップS21)。候補画像が複数か単数かにより処理を分岐する(ステップS22)。候補画像が複数ならば処理をステップS23に進め、単数ならば処理をステップS28に進める。
ステップS23においては、最初の候補画像を処理対象に設定する。ステップS24においては、処理対象に設定した候補画像の優先度を算出するために優先度算出処理を実行する。そして、すべての候補画像について優先度が算出されたか否かを判断する(ステップS25)。すべての候補画像について優先度を算出したならば処理をステップS27に進めるが、そうでなければ処理をステップS26に進める。ステップS26においては、未処理の候補画像を処理対象に設定し、処理をステップS24に戻す。
ステップS27においては、優先度が最大の候補画像を代表画像に決定し、処理をサムネール生成処理に戻す。一方、ステップS28においては、単一の候補画像を代表画像に決定し、処理をサムネール生成処理に戻す。
図8は、優先度算出処理の流れの一例を示すフローチャートである。優先度算出処理は、図7のステップS24において実行される処理である。図8を参照して、CPU111は、候補画像の画像サイズを取得し(ステップS41)、画像サイズに応じて予め定められたサイズ優先度を決定する(ステップS42)。例えば、画素数に応じて10段階のサイズ優先度を予め設定しておき、候補画像の画素数に該当するサイズ優先度に決定する。サイズ優先度は、画素数が多いほど、大きな値に設定する。画像サイズが大きければ、1ページに占める画像の割合が大きいため、画像データの特徴的な画像である可能性が高い。
また、CPU111は、候補画像のデータ量を取得し(ステップS43)、データ量に応じて予め定められたデータ量優先度を決定する(ステップS44)。例えば、データ量に応じて10段階のデータ量優先度を予め設定しておき、候補画像のデータ量に該当するデータ量優先度に決定する。データ量優先度は、データ量が大きいほど、大きな値に設定する。データ量が大きな候補画像は、カラー画像またはグレースケールの画像等であり、画像データの特徴的な画像である可能性が高い。
また、CPU111は、候補画像を他の候補画像と比較し(ステップS45)、類似する候補画像の数に応じた優先度を決定する(ステップS46)。類似する候補画像の数に応じて予め定められた類似優先度を決定する。例えば、類似する候補画像の数に応じて10段階の類似優先度を予め設定しておき、類似する候補画像の数に該当する類似優先度に決定する。類似優先度は、類似する候補画像の数が少ないほど、大きな値に設定する。他に類似する候補画像がなければ、ユニークな画像であり、画像データの特徴的な画像である可能性が高い。
ステップS47においては、サイズ優先度と、データ量優先度と類似優先度との総和を優先度として算出し、処理を代表画像決定処理に戻す。
画像サイズが大きいほど、データ量が大きいほど、または他の候補画像と類似していないほど、優先度が大きくなる。このため、画像データに含まれる図形または写真の表された画像のうち画像データの特徴的な画像を代表画像に決定することができる。
なお、候補画像を他の画像データのサムネールと比較し、類似するサムネールが少ないほど大きな他データ類似優先度を用いるようにしてもよい。この他データ類似優先度を、類似優先度に代えて優先度の要素としてもよいし、類似優先度に加えて優先度の要素としてもよい。他データ類似優先度を類似優先度に加えて優先度の要素とする場合、優先度は、サイズ優先度と、データ量優先度と、類似優先度と、他データ類似優先度との総和となる。さらに、優先度を、サイズ優先度と、データ量優先度と、類似優先度と、他データ類似優先度それぞれ単独としてもよいし、それらのうち選択された2以上の組合せとしてもよい。
<代表画像決定処理の第1の変形例>
図9は、代表画像決定処理の第1の変形例の流れの一例を示すフローチャートである。図9を参照して、画像データから抽出された候補画像をHDD116から読み出す(ステップS51)。そして、候補画像が複数か単数かにより処理を分岐する(ステップS52)。候補画像が複数ならば処理をステップS53に進め、単数ならば処理をステップS61に進める。
ステップS53においては、複数の候補画像の画像サイズの平均である平均画像サイズを算出する。そして、複数の候補画像の最初の候補画像を処理対象に設定する(ステップS54)。ステップS54においては、候補画像を他の候補画像と比較し(ステップS45)、類似する候補画像の数を記憶する(ステップS56)。そして、すべての候補画像について類似する候補画像の数を記憶したか否かを判断する(ステップS57)。すべての候補画像について類似する候補画像の数を記憶したならば処理をステップS59に進めるが、そうでなければ処理をステップS58に進める。ステップS58においては、未処理の候補画像を処理対象に設定し、処理をステップS55に戻す。
ステップS59においては、ステップS51で読み出した複数の候補画像のうちから画像サイズが平均画像サイズ以上の候補画像を選択する。そして、選択された候補画像のうちから類似する候補画像の数が最小の候補画像を代表画像に決定し(ステップS60)、処理をサムネール生成処理に戻す。一方、ステップS61においては、ステップS51で読み出した単一の候補画像を代表画像に決定し、処理をサムネール生成処理に戻す。
第1の変形例における代表画像決定処理は、複数の候補画像のうちから画像サイズが平均画像サイズ以上で、他の候補画像に最も類似しない候補画像を代表画像に決定する。画像サイズが大きいほど、かつ、他の候補画像に類似しないものほど、画像データの特徴を現している可能性が高い。このため、画像データに含まれる写真または図形の表された領域の画像のうちから画像データの特徴を表す画像を代表画像に決定することができる。
<代表画像決定処理の第2の変形例>
図10は、代表画像決定処理の第2の変形例の流れの一例を示すフローチャートである。図10を参照して、HDD116から画像データから抽出された候補画像を読み出す(ステップS71)。そして、候補画像が複数か単数かにより処理を分岐する(ステップS72)。候補画像が複数ならば処理をステップS73に進め、単数ならば処理をステップS76に進める。
ステップS73においては、複数の候補画像の画像サイズの平均である平均画像サイズを算出する。そして、複数の候補画像のうちから画像サイズが平均画像サイズ以上の候補画像を選択する(ステップS74)。さらに、選択された候補画像のうちから、それが抽出された画像データのページが最初の候補画像を代表画像に決定し(ステップS75)、処理をサムネール生成処理に戻す。一方、ステップS76においては、ステップS71で読み出した単一の候補画像を代表画像に決定し、処理をサムネール生成処理に戻す。
第2の変形例における代表画像決定処理は、複数の候補画像のうちから画像サイズが平均画像サイズ以上で、画像データにおけるページ位置が最初の候補画像を代表画像に決定する。画像サイズが大きいほど、かつ、画像データの先のページに含まれるものほど、画像データの特徴を現している可能性が高い。このため、画像データに含まれる写真または図形の表された領域の画像のうちから画像データの特徴を表す画像を代表画像に決定することができる。
図11は、サムネール出力処理の流れの一例を示すフローチャートである。サムネール出力処理は、MFP100のCPU111がROM113に記憶されたサムネール出力プログラムを実行することにより、CPU111により実行される処理である。図5を参照して、CPU111は、表示要求を受け付けたか否かを判断する(ステップS81)。表示要求を受け付けるまで待機状態となり(ステップS81でNO)、表示要求を受け付けたならば処理をステップS82に進める。すなわち、サムネール出力処理は、表示要求を受け付けることを条件に実行される処理である。ユーザが操作部115に表示要求を入力すると、CPU111は、操作部115から表示要求を受け付ける。また、通信制御部61が、他のコンピュータ3、3A,3B,3Cのいずれかから、予め定められたURLを受信すると、通信制御部61からそのURLを受け付ける。予め定められたURLは、HDD116の予め定められた領域の画像データのリストを表示するためのWebページを示し、表示要求である。
ステップS82においては、表示要求により指定されたHDD116の領域に記憶された画像データ231に関連付けられたサムネール235を読出す。操作部115から表示要求を受け付ける場合、その表示要求はHDD116の領域を指定する指示を含むので、その指示で特定されるHDD116の領域に記憶されている画像データ231を特定し、特定した画像データに関連付けられたサムネール235を読み出す。HDD116の領域に複数の画像データ231が記憶されている場合には、複数の画像データ231それぞれに関連付けられた複数のサムネール235を読出す。また、通信制御部61から表示指示であるURLを受け付ける場合、そのURLは、HDD116の予め定められた領域の画像データのリストを表示するためのWebページを示すので、そのURLで特定されるWebページを生成するために予め定義されたHDD116の領域に記憶された画像データ231を特定し、特定した画像データに関連付けられたサムネール235を読出す。HDD116の領域に複数の画像データ231が記憶されている場合には、複数の画像データ231それぞれに関連付けられた複数のサムネール235を読出す。
次のステップS83においては、ステップS82において読み出したサムネールを出力する。操作部115から表示要求を受け付ける場合、サムネールを表示部114に表示する。通信制御部61から表示指示であるURLを受け付ける場合、サムネールを含むWebページを生成し、生成したWebページを、URLを送信してきた送信元に送信する。例えば、コンピュータ3がURLをMFP100に送信してきた場合には、コンピュータ3にWebページを送信する。これにより、コンピュータ3は、それが備えるディスプレイにWebページを表示するので、サムネールがコンピュータ3のディスプレイに表示される。
したがって、操作部115を用いてMFP100を操作するユーザに対しては、画像データを識別するためのサムネールを表示部114に表示することにより提示することができ、コンピュータ3を用いてMFP100を遠隔操作するユーザに対しては、コンピュータ3にWebページを送信することにより提示することができる。
<サムネール生成処理の変形例>
上述したサムネール生成処理は、画像データがMFP100に入力された時点で、サムネールを生成する例を説明したが、画像データを入力した時点で一時画像データを記憶し、その後、画像データを識別するための識別情報を表示するための表示要求があった時点で、サムネールを生成するようにしてもよい。
図12は、変形例におけるサムネール生成処理の流れの一例を示すフローチャートである。図12を参照して、ステップS91、図11のステップS81と同じである。すなわち、表示要求を受け付けたか否かを判断し(ステップS91)、表示要求を受け付けたならば処理をステップS92に進めるが、そうでなければ待機状態となる。ステップS92においては、表示要求により指定されたHDD116の領域に記憶された画像データ231を読み出す。
ステップS93においては、読み出された画像データ231が複数の場合、複数の画像データの最初の画像データを処理対象に設定し、処理をステップS94に進める。また、読み出された画像データ231が単数の場合、その画像データを処理対象に設定し、処理をステップS94に進める。
ステップS94〜ステップS100の処理は、図5に示したステップS02〜ステップS08の処理とそれぞれ同じなのでここでは説明を繰り返さない。ステップS100においては、処理対象に設定された画像データのサムネールを生成する。生成されたサムネールは、RAM112に一時的に記憶される。
ステップS101においては、ステップS92で読み出した画像データの全てを処理したか否かを判断する。すべての画像データを処理したならば処理をステップS103に進めるが、そうでなければ処理をステップS102に進める。ステップS102においては、未処理の画像データを処理対象に設定し、処理をステップS94に戻す。
処理をステップS103に進める場合、ステップS92で読み出した画像データが複数の場合は、複数の画像データに対してそれぞれサムネールが生成される。ステップS103においては、複数の画像データに対してそれぞれ生成されたサムネールのすべてを出力する。操作部115から表示要求を受け付ける場合は、すべてのサムネールを表示部114に表示する。通信制御部61から表示指示であるURLを受け付ける場合、すべてのサムネールを含むWebページを生成し、生成したWebページを、URLを送信してきた送信元に送信する。
以上説明したように、本実施の形態におけるMFP100は、画像データから図形または写真の表された複数の候補画像を抽出した場合、複数の候補画像それぞれの属性情報に基づいて、複数の候補画像のうちから1つを代表画像として選択し、代表画像を縮小することによりサムネールを生成する。このため、画像データのうちに含まれる図形または写真の表された候補画像からサムネールを生成するので、画像データのうちで特徴のある画像をサムネールにすることができる。
また、複数の候補画像のうちから画像サイズが最大の候補画像を代表画像に選択する、複数の候補画像のうちからデータ量が最大の候補画像を代表画像に選択する、複数の候補画像それぞれを他の候補画像と比較し、類似する他の候補画像の数が最小の候補画像を選択する、または、複数の候補画像それぞれを他のデータのサムネールと比較し、複数の候補画像のうちから類似する他のデータのサムネールの数が最小の候補画像を代表画像に選択する。このため、複数の候補画像のうちから画像データの特徴的な部分を代表画像に選択することができ、画像データが含む画像のうちから特徴的な画像をサムネールにすることができる。
なお、本実施の形態においては、サムネール生成装置の一例としてMFP100を説明したが、図5〜図12に示した処理をコンピュータ3,3A,3B,3Cで実行することが可能である。したがって、コンピュータ3,3A,3B,3Cをサムネール生成装置として実現することが可能である。また、図5〜図12に示した処理を、MFP100またはコンピュータ3,3A,3B,3Cに実行させるためのサムネール生成方法またはサムネール生成プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記優先度付与手段は、前記抽出された候補画像の画像サイズが大きいほど、大きな優先度を付与する画像サイズ判別手段を含む、請求項6に記載のサムネール生成装置。
(2) 前記優先度付与手段は、前記抽出された候補画像のデータ量が大きいほど、大きな優先度を付与するデータ量判別手段を含む、請求項6に記載のサムネール生成装置。
(3) 前記優先度付与手段は、前記抽出された候補画像を他の候補画像と比較する第1比較手段と、
前記抽出された候補画像と類似する他の候補画像の数が少ないほど、大きな優先度を付与する第1類似度判別手段を含む、請求項6に記載のサムネール生成装置。
(4) 前記優先度付与手段は、前記抽出された候補画像を他のデータのサムネールと比較する第2比較手段と、
前記抽出された候補画像と類似する他のデータのサムネールの数が少ないほど、大きな優先度を付与する第2類似度判別手段を含む、請求項6に記載のサムネール生成装置。
1 文書管理システム、2 ネットワーク、3,3A,3B,3C コンピュータ、9 操作パネル、10 ADF、20 画像読取部、40 画像形成部、50 給紙部、60 ファクシミリ部、61 通信制御部、100 MFP、101 メイン回路、111 CPU、112 RAM、113 ROM、114 表示部、115 操作部、116 HDD116、117 データ通信制御部、118 LAN端子、119 シリアル通信インターフェース端子、119A メモリカード、201 候補画像抽出部、211 代表画像決定部、213 優先度算出部、215 サムネール生成部、217 関連付部、221 表示要求受付部、223 サムネール読出部、225 サムネール出力部、231 画像データ、233 候補画像、235 サムネール。