上述したダイレクト印刷機能を、上述したイメージスキャナを備えた複合プリンタ装置に搭載することができる。その場合、デジタルカメラ用メモリカードからの画像を印刷できるだけでなく、イメージスキャナで読み取った画像をデジタルカメラ用メモリカードに格納することができると便利である。さらに、その場合、イメージスキャナで読み取った画像をEXIFファイルの形式で格納することができれば、これをデジタルカメラで撮影した画像と同様に取り扱えるので、一層便利である。
しかし、イメージスキャナで読み取った画像をEXIFファイルの形式にするためには、その読み取った画像それ自体であるメイン画像をJPEG形式に圧縮する処理だけでなく、そのメイン画像を縮小したサムネイル画像をJPEG形式に圧縮する処理が必要である。ところが、メイン画像からサムネイル画像を作成するためには、メイン画像のデータを複合プリンタ装置内で保存する必要があるから、複合プリンタ装置は大サイズのメイン画像データを保持して処理するのに十分な大容量のメモリをもつ必要がある。とりわけ、イメージスキャナが、写真フィルムストリップから複数枚の画像を連続して読む機能を持つような場合には、連続して読み取った複数枚のメイン画像データ全てを保存する必要があるので、非常に大きい容量のメモリが必要になる。複合プリンタ装置だけでなく、イメージスキャナ単体であっても、読み取った画像をEXIFファイルの形式にして出力しようとした場合には、上記と同様の問題が発生する。
従って、本発明の目的は、イメージスキャナで読み取った画像を、サムネイル画像とメイン画像とを含んだ所定形式のデータにする場合に、できるだけ小さいメモリ容量でこれを可能とすることにある。
本発明の一つの観点に従う画像処理装置は、原稿シートから画像を読み取るイメージスキャナと、外部データメディアに接続する外部メディアインタフェースと、前記イメージスキャナ及び前記外部メディアインタフェースの制御処理並びに画像データの処理を行う制御処理部とを備える。ここで、前記外部メディアとは、デジタルスチルカメラ、半導体メモリカード、ディスクドライブ、通信ネットワークなどデータの授受が可能な外部の様々な装置を含む。そして、前記制御処理部は、前記イメージスキャナを制御して前記原稿シートのプレスキャンを行わせて、所定の低解像度のビットマップ形式のプレスキャン画像データを前記イメージスキャナに出力させるプレスキャン制御手段と、前記イメージスキャナから出力された前記プレスキャン画像データを符号化して所定符号形式の符号サムネイル画像データを生成する符号サムネイル画像生成手段と、前記外部メディアインタフェースを制御して、前記符号サムネイル画像生成手段により生成された前記符号サムネイル画像データを前記外部メディアに格納させるサムネイル画像格納制御手段と、前記イメージスキャナを制御して前記原稿シートの本スキャンを行わせて、所定の高解像度のビットマップ形式のメイン画像データを前記イメージスキャナに出力させる本スキャン制御手段と、前記イメージスキャナから出力された前記メイン画像データを符号化して所定符号形式の符号メイン画像データを生成する符号メイン画像生成手段と、前記外部メディアインタフェースを制御して、前記符号メイン画像生成手段により生成された前記符号メイン画像データを前記外部メディアに格納させるメイン画像格納制御手段とを有する。この画像処理装置によれば、本スキャンで得た大サイズのメイン画像データではなく、プレスキャンで読み取った小サイズのプレスキャン画像データからサムネイル画像データを作成するので、サムネイル画像データを作成するために必要なメモリ容量が小さくて済む。
好適な実施形態では、前記符号メイン画像生成手段と前記メイン画像格納制御手段は、前記イメージスキャナによる前記原稿シートの各部分の読取り動作と並行して、前記イメージスキャナから出力された前記各部分の画像データの符号化と、前記各部分の符号画像データの前記外部メディアへの格納とを行なう。これにより、前記メイン画像データの全部を記憶保持する必要がないので、メモリ容量が小さくて済む。
好適な実施形態では、前記制御処理部が、前記プレスキャン画像データに基づいて、前記原稿シートの領域から、前記本スキャンの対象となる本スキャン領域を判定する領域判定手段を更に有する。そして、前記本スキャン制御手段は、前記イメージスキャナを制御して、前記原稿シートの前記本スキャン領域にのみ前記本スキャンを行わせるようになっている。これにより、1回のプレスキャンで得たプレスキャンデータを、サムネイル画像の作成と本スキャン領域の判定の双方に利用できる。なお、前記原稿シートの前記本スキャン領域にのみ前記本スキャンを行わせる選択領域モードと、前記原稿シートの全領域に前記本スキャンを行わせる最大領域モードとを、ユーザからの指令又は自動的に選択できるようになっていてもよい。
好適な実施形態では、前記サムネイル画像格納制御手段が、前記外部メディアインタフェースを制御して、符号化サムネイル画像データと符号化メイン画像データとが収容可能な所定形式のファイルを前記外部メディア内に作成させた上で、前記符号サムネイル画像生成手段からの前記符号サムネイル画像データを、前記外部メディア内の前記ファイルに格納させ、前記メイン画像格納制御手段が、前記外部メディアインタフェースを制御して、前記符号メイン画像生成手段からの前記符号メイン画像データを、前記外部メディア内の前記ファイルに格納させるようになっている。ここで、符号化サムネイル画像データと符号化メイン画像データとが収容可能な所定形式のファイルとは、典型的には例えばEXIFファイルである。これにより、外部メディアにデジタルスチルカメラなどから格納される上記所定形式のファイルと、この画像処理装置から格納される上記所定形式のファイルとが同様に取り扱えるようになる。
好適な実施形態は、画像を印刷するプリンタを更に備え、そして、前記制御処理部が、前記外部メディアインタフェースを制御して、前記外部メディアから前記符号サムネイル画像データを読み込ませるサムネイル画像読込制御手段と、前記外部サムネイル画像読込制御手段により読み込まれた前記符号サムネイル画像データを復号して、ビットマップ形式のサムネイル画像データを生成するサムネイル画像データ復元手段と、前記外部サムネイル画像データ復元手段からの前記サムネイル画像データに基づいて、印刷の対象となる画像を選択する印刷画像選択手段と、前記外部メディアインタフェースを制御して、前記印刷画像選択手段により選択された前記印刷の対象となる画像に対応する前記符号メイン画像データを前記外部メディアか読み込ませるメイン画像読込制御手段と、前記サムネイル画像読込制御手段により読み込まれた前記符号メイン画像データを用いて前記プリンタを制御して、前記印刷の対象となる画像を印刷させる印刷制御手段とを有する。これにより、前記外部メディアから符号サムネイル画像データを読み込んで復号して、復号されたサムネイル画像に基づいて印刷対象の画像を選択し、選択した画像の符号メイン画像データを外部メディアから読み込んで印刷するというダイレクト印刷が可能になる。
好適な実施形態では、上記ダイレクト印刷のための構成に加えて、前記制御処理部が、前記原稿シートに複数の画像が含まれている場合に、前記プレスキャン画像データから前記複数の画像に対応する領域のデータを抽出して符号サムネイル画像生成手段に入力することにより、前記複数の画像に対応した符号サムネイル画像データを前記符号サムネイル画像生成手段に生成させる複数画像抽出手段と、前記符号サムネイル画像生成手段により生成された前記複数の画像に対応した符号サムネイル画像データを記憶するサムネイル画像記憶手段と、前記サムネイル画像データ復元手段を用いて、前記サムネイル画像記憶手段内の前記複数の画像に対応した符号サムネイル画像データをそれぞれ復号して、前記複数の画像に対応したビットマップ形式のサムネイル画像データを生成する複数サムネイル画像データ復元手段と、前記内部サムネイル画像データ復元手段からの前記複数の画像に対応したサムネイル画像データに基づいて、前記外部メディアへの格納の対象となる画像を選択する格納画像選択手段とを更に有する。そして、前記サムネイル画像格納制御手段は、前記符号サムネイル画像生成手段により生成された前記複数の画像に対応した符号サムネイル画像データのうち、前記格納画像選択手段によって選択された画像に対応する符号サムネイル画像データのみを選択して前記外部メディアに格納し、前記本スキャン制御手段は、前記イメージスキャナを制御して、前記原稿シート上の前記格納画像選択手段によって選択された画像にのみ前記本スキャンを行わせるようになっている。これにより、例えば写真フィルムストリップのような複数画像を有する原稿から複数画像を読み取り、それら複数画像のサムネイル画像に基づいて外部メディアに格納したい画像を選択する際、上述したダイレクト印刷で用いられる符号サムネイル画像の復号手段を流用することができる。
本発明の別の観点に従う画像処理方法は、原稿シートのプレスキャンを行って、所定の低解像度のビットマップ形式のプレスキャン画像データを得るプレスキャンステップと、前記プレスキャン画像データを符号化して所定符号形式の符号サムネイル画像データを得る符号サムネイル画像生成ステップと、前記符号サムネイル画像データを外部メディアに格納するサムネイル画像格納ステップと、前記原稿シートの本スキャンを行って、所定の高解像度のビットマップ形式のメイン画像データを得る本スキャンステップと、前記メイン画像データを符号化して所定符号形式の符号メイン画像データを得る符号メイン画像生成ステップと、前記符号メイン画像データを前記外部メディアに格納するメイン画像格納ステップとを有する。
本発明のさらに別の観点に従う画像処理方法は、原稿シートのプレスキャンを行って、所定の低解像度のプレスキャン画像データを読み取るプレスキャンステップと、前記プレスキャン画像データを符号化して所定符号形式の符号サムネイル画像データを生成する符号サムネイル画像生成ステップと、前記原稿シートの本スキャンを行って、所定の高解像度のメイン画像データを読み取る本スキャンステップと、前記メイン画像データを符号化して所定符号形式の符号メイン画像データを生成する符号メイン画像生成ステップと、前記符号サムネイル画像データ及び前記符号メイン画像データを含む所定形式のデータファイルを生成するステップと、を有する。
好適な実施形態では、前記原稿シートの各部分の本スキャン動作と並行して、既に読み取られた各部分のメイン画像データの符号化と、既に生成された各部分の符号メイン画像データに基づく前記データファイルの生成とを行うようにしてもよい。
好適な実施形態では、前記プレスキャン画像データに基づいて、前記原稿シートの領域から、前記本スキャンの対象となる本スキャン領域を判定するステップを更に有し、前記原稿シートの前記本スキャン領域について前記本スキャンを行うようにしてもよい。
好適な実施形態では、前記プレスキャン画像データに基づいて、前記原稿シートの領域から、前記本スキャンの対象となる本スキャン領域を判定するステップを更に有し、前記本スキャンにおいて、選択に従って、前記原稿シートの前記本スキャン領域、または、前記原稿シートの全領域を読み取るようにしてもよい。
好適な実施形態では、前記データファイルを生成するステップでは、前記符号サムネイル画像データ及び前記符号メイン画像データを記憶装置に格納し、前記記憶装置内に前記データファイルを生成するようにしてもよい。
好適な実施形態では、前記データファイルから前記符号サムネイル画像データを読み込むステップと、前記読み込まれた符号サムネイル画像データを復号して、ビットマップ形式のサムネイル画像データを生成するステップと、前記復号により得られたサムネイル画像データに基づいて、印刷の対象となる画像を選択するステップと、前記印刷の対象となる画像に対応する前記符号メイン画像データを前記データファイルから読み込むステップと、前記読み込まれた符号メイン画像データを用いて印刷するステップと、を更に備えることもできる。
好適な実施形態では、前記プレスキャン画像データに基づくプレビュー画像を表示するステップと、前記表示されたプレビュー画像を用いて、保存対象の1または2以上の画像を確定するステップと、をさらに有してもよい。そして、前記本スキャンを行って、前記原稿シートから前記確定された画像の前記メイン画像データを読み取り、前記確定された画像について、前記符号サムネイル画像データを生成し、前記確定された画像について、前記データファイルを生成するようにしてもよい。
好適な実施形態では、前記原稿シートの画像のアスペクト比が、前記データファイルの符号サムネイル画像データに予め定められたアスペクト比と異なる場合、前記符号サムネイル画像生成ステップにおいて生成された符号サムネイル画像データに対して、所定の処理を行い、前記データファイルに、前記予め定められたアスペクト比の符号サムネイル画像データを格納するステップを、さらに有するようにしてもよい。
好適な実施形態では、前記原稿シートの画像の領域が前記予め定められたアスペクト比を有するサムネイル画像データに基づく画像の領域に内包される状態で、かつ該原稿シートの画像の対向する2辺が前記サムネイル画像に基づく画像の対向する2辺に重なるように配置したとき、前記原稿シートの画像のデータが存在しない該サムネイル画像上の空き領域に所定の画像を補うような処理を行い、前記データファイルに前記処理を行った前記符号サムネイル画像データを格納するようにすることもできる。
好適な実施形態では、前記データファイルの符号サムネイル画像データの長辺の向きが、前記原稿シートの画像の長辺の向きと一致するように、前記データファイルに前記符号サムネイル画像データを格納するようにしてもよい。
本発明のまた別の観点に従う画像処理装置は、原稿シートから画像を読み取るイメージスキャナと、画像データを記憶する記憶装置と、前記イメージスキャナに前記原稿シートのプレスキャンを行わせて、所定の低解像度のプレスキャン画像データを前記イメージスキャナに出力させるプレスキャン制御手段と、前記プレスキャン画像データを符号化して所定符号形式の符号サムネイル画像データを生成する符号サムネイル画像生成手段と、前記符号サムネイル画像データを前記記憶装置に格納させるサムネイル画像格納制御手段と、前記イメージスキャナに前記原稿シートの本スキャンを行わせて、所定の高解像度のメイン画像データを前記イメージスキャナに出力させる本スキャン制御手段と、前記メイン画像データを符号化して所定符号形式の符号メイン画像データを生成する符号メイン画像生成手段と、前記符号メイン画像生成手段により生成された前記符号メイン画像データを前記記憶装置に格納させるメイン画像格納制御手段と、前記符号サムネイル画像データと前記符号メイン画像データとが格納可能な所定形式のデータファイルを生成するファイル生成手段と、を有する。
本発明によれば、イメージスキャナで読み取った画像をサムネイル画像とメイン画像とを含んだ所定形式のデータにする処理に必要なメモリ容量を小さくできる。
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、複合プリンタ装置として構成された本発明の一実施形態に係る画像処理装置の構成を示す。
図1に示された複合プリンタ装置1は、この複合プリンタ装置1の全体を制御するためのコントローラ11、原稿の画像を読み取るためのイメージスキャナ12、及び画像のハードコピーを出力するためのプリンタ13を備える。この複合プリンタ装置1は、外部記憶メディア3(典型的には例えば、デジタルスチルカメラで用いられているメモリカード或いはデジタルスチルカメラなど)と接続することができる。そして、この複合プリンタ装置1は、外部記憶メディア3から画像データを読み込んでプリンタ13で印刷する機能(以下、この機能又は動作をダイレクト印刷)と、イメージスキャナ12で読み取った画像データを外部記憶メディア3に格納する機能(以下、この機能又は動作をスキャントゥメモリという)を有する。
イメージスキャナ12は、原稿シートの画像を読み取るときの動作モードとして、原稿シート上の指定された領域の画像を所定の高解像度で読み取る本スキャンと、本スキャンで読み取るべき原稿の領域を指定するために本スキャンの実行前に原稿シート全体の領域の画像を所定の低い解像度で読み取るプレスキャンとを有する。プレスキャンでは、本スキャンで得られる画像データより遥かに小さいサイズの画像データを読み取る。プレスキャンでは、例えば、A4サイズの原稿の画像が160ドット×120ドットのような小サイズの画像データとして読み取られる。
図1に示すように、この複合プリンタ装置1は、さらに、エンコーダ14、デコーダ15、ラインバッファ16、プレスキャン用ページバッファ17、サムネイル用一時バッファ18、外部メディアI/F(外部メディアインタフェース)20、符号データバッファ19、プレビューモニタ21、及び操作パネル22などを備える。
エンコーダ14は、ビットマップ形式の画像データを所定形式の符号データ、例えばJPEG形式の画像データ、に圧縮変換するものである。デコーダ15は、所定形式の符号データ、例えばJPEG形式の画像データ、を元のビットマップ形式の画像データに伸長変換するものである。
ラインバッファ16は、イメージスキャナ12が原稿画像を読み取るときに、イメージスキャナ12から出力される1ライン分又は所定複数ライン分の画像データを一時的に記憶するものである。プレスキャン用ページバッファ17は、イメージスキャナ12のプレスキャンにより読み取られた小サイズ(例えば、160ドット×120ドット)の画像データを一時的に記憶するものである。サムネイル用一時バッファ18は、ダイレクト印刷又はスキャントゥメモリを行う際に、対象となる画像のサムネイル画像データを一時的に記憶するものである。符号データバッファ19は、スキャントゥメモリを行う際にエンコーダ14から出力される符号データ(例えば、JPEG形式のデータ)や、ダイレクト印刷を行う際に外部メディア3から読み込まれた符号データ(例えば、JPEG形式のデータ)を、所定の単位転送量分だけ一時的に記憶するものである。
外部メディアインタフェース20は、外部メディア3と接続して外部メディア3とデータを通信するものである。プレビューモニタ21は、ダイレクト印刷又はスキャントゥメモリを行う際に、対象となる画像又はそのサムネイル画像を表示するためのものである。操作パネル22は、ユーザからの指令をこの複合プリンタ装置1に入力するものである。操作パネル22から入力できる指令には、例えば、プレスキャンで読み取られた原稿画像中から本スキャンすべき領域を指定する指令、スキャントゥメモリの対象となる画像を指定する指令、及び、ダイレクト印刷の対象となる画像を指定する指令などがある。
以下、この複合プリンタ装置1のスキャントゥメモリとダイレクト印刷の動作について説明する。
なお、複合プリンタ装置1が行うスキャントゥメモリの動作には、少なくとも2種類があり、そのうちの一種類は、カットシートの原稿から1枚ずつ画像を読み込んで外部メディア3に書き込む動作であり(以下、個別スキャントゥメモリという)、他の一種類は、写真フィルムストリップの原稿から複数の画像を連続的に読み込んで外部メディア3に書き込む動作である(以下、連続スキャントゥメモリという)。以下の説明では、個別スキャントゥメモリでも連続スキャントゥメモリでも、EXIFファイルの形式で画像データが外部メディア3に格納されることとする。ただし、EXIFファイルという形式は一つの例示にすぎず、他の形式を採用する場合にも本発明の原理が適用できることは、以下の説明から容易に理解できるはずである。
まず、図1、2を参照して、個別スキャントゥメモリの動作を説明する。図1には、個別スキャントゥメモリが行われる場合のデータの流れが示されている。図2には、コントローラ11による個別スキャントゥメモリの制御の流れが示されている。
個別スキャントゥメモリを行うときには、ユーザは、外部記憶メディア3を外部メディアI/F20に接続し、カットシートの原稿シート31をイメージスキャナ12にセットし、そして、操作パネル22から個別スキャントゥメモリの開始指令を入力する。すると、コントローラ11は、図2に示す手順で制御を行う。
図2に示すように、コントローラ11の制御によって、イメージスキャナ12が原稿画像のプレスキャンを行う(ステップS1)。プレスキャンにおいては、図1に矢印41〜42で示すように画像データが流れる。すなわち、イメージスキャナ12は原稿シート31の全体領域の画像を所定の低い解像度で1ラインずつ逐次に読み取って出力し、逐次に出力される1ライン分の画像データはラインバッファ15に書き込まれる(41)。ラインバッファ15に書き込まれた1ライン分の画像データは直ちにプレスキャン用ページバッファ17に転送されて蓄積される(42)。イメージスキャナ12によるプレスキャンが終わったとき、プレスキャン用ページバッファ17には、プレスキャンで読み取られた原稿画像全体のビットマップ形式の画像データ32が記憶されている。この画像データ32のデータサイズは小さく、例えば、原稿がA4版である場合に画像データ32のデータサイズは160ドット×120ドットである。以下、この画像データ32をプレスキャン画像データという。
プレスキャンが終わると、図2に示すように、コントローラ11の制御によって、プレスキャンで読み取られた原稿画像の中から本スキャンすべき領域を判定する処理が行われる(S2)。この領域判定処理は、自動的に行うこともできるし、ユーザがマニュアル操作で行うこともできる。自動的に領域判定を行う場合には、プレスキャン用ページバッファ17内のプレスキャン画像データ32をコントローラ11が調べて、明らかに余白と認められる部分を検出し、これを除去することで、本スキャンすべき領域が選ばれる。一方、ユーザがマニュアル操作で領域判定を行う場合には、図1に矢印43で示すように、プレスキャン用ページバッファ17内のプレスキャン画像データ32がプレビューモニタ21に送られて表示され、ユーザが操作パネル22を操作して、表示されたプレスキャン画像データ32上で本スキャンすべき領域を選択して指示する。ところで、この領域判定処理で判定された本スキャン領域にのみ本スキャンを行なう選択領域モードと、領域判定処理を省略して原稿シートの全領域に本スキャンを行わせる最大領域モードとを、ユーザからの指令又は自動的に選択できるようにすることができる。しかし、以下の説明では、選択領域モードの場合の動作についてのみ説明する。最大領域モードの動作は、本スキャンする領域の違いを除けば、基本的に選択領域モードのそれと同様であるから、その説明を省略する。
さて、上記の領域選択処理が終わると、図2に示すように、コントローラ11の制御によって、EXIFファイルに入れられるべきサムネイル画像をJPEG形式に符号化する処理が行われる(S3)。このサムネイル符号化処理では、図1に矢印44〜47で示すようにデータが流れる。すなわち、エンコーダ14が、プレスキャン用ページバッファ17からプレスキャン画像データ32を読み込む(44)。このとき、エンコーダ14は、プレスキャン画像データ32の中から上述した領域判定(S2)で指定された領域の画像データ部分を選択して読み込む。エンコーダ14は、読み込んだ画像データ部分を所定サイズの小領域に細分してそれらの小領域を順次にJPEG形式に符号化していきながら、逐次に得られる各小領域の符号データを所定の単位転送量ずつ符号データバッファ19に書き込む(45)。符号データバッファ19に書き込まれた単位転送量の符号データは、書き込まれると直ちに外部メディアI/F20に読まれて(46)、外部メディアI/F20から外部記憶メディア3に書き込まれる(47)。外部記憶メディア3に書き込む(47)際、外部メディアI/F20は、外部記憶メディア3にEXIF形式のファイル33Aを新たに作成し、このEXIFファイル33Aに、符号データバッファ19からの符号データを、サムネイル画像データ34Aの構成データとして書き込む。従って、エンコーダ14での符号化処理が終わって、最後の符号データがEXIFファイル33Aに書き込まれた段階で、EXIFファイル33A内には、プレスキャン画像データ32から変換されたJPEG形式のサムネイル画像データ34Aが完成する。なお、図1中、外部記憶メディア3内の参照番号33B、33Cは、外部記憶メディア3に以前から格納されている他の画像(例えば、デジタルスチルカメラで撮影された画像)のEXIFファイルを示している。また、図中、実線ブロックで示された画像データはビットマップ形式のものを示し、点線ブロックで示された画像データはJPEG形式のものを示す。
上記のサムネイル符号化処理が終わると、図2に示すように、コントローラ11の制御によって、本スキャン及び本スキャンで読み取られたメイン画像の符号化処理が行われる(S4)。この本スキャン及び符号化処理では、図1に矢印48〜52で示すようにデータが流れる。すなわち、イメージスキャナ12は本スキャンを開始して、原稿シート31上の領域判定(43)で指定された領域の画像を所定の高解像度で1ラインずつ逐次に読み取って出力し、逐次に出力される1ライン分の画像データはラインバッファ15を経由してエンコーダ14に送られる(48、49)。以下、この本スキャンで読み取られる画像データをメイン画像データといい、これは、例えば300dpiのような高解像度で読み取られ、その画像全体のデータサイズは通常はメガバイトオーダ以上であり、プレスキャン画像データ32より遥かにデータ量が多い。エンコーダ14は、1ラインずつ逐次に入力されるメイン画像データが所定の小領域分貯まる都度、これをJPEG形式に符号化していき、こうして逐次に得られる各小領域の符号データを所定の単位転送量ずつ符号データバッファ19に書き込む(50)。符号データバッファ19に書き込まれた単位転送量の符号データは、書き込まれると直ちに外部メディアI/F20に読まれて(51)、外部メディアI/F20から外部記憶メディア3に書き込まれる(52)。外部記憶メディア3に書き込む(52)際、外部メディアI/F20は、外部記憶メディア3内の当該EXIFファイル33Aに、符号データバッファ19からの符号データを、メイン画像データ35Aの構成データとして書き込む。従って、イメージスキャナ12での本スキャンとエンコーダ14での符号化処理が終わって、最後の符号データがEXIFファイル33Aに書き込まれた段階で、EXIFファイル33A内には、本スキャンで読み取られた高解像度のビットマップ形式のメイン画像データから変換されたJPEG形式のメイン画像データ35Aが完成する。
以上のように、スキャントゥメモリにおいては、プレスキャンで読み取られた領域判定用の小サイズのプレスキャンデータに基づいて、外部記憶メディア3に格納されるEXIFファイル33AのJPEG形式サムネイル画像データ34Aが作成される。また、本スキャンでは、原稿画像の各部分の読取りと並行して読み取られた部分の画像データが符号化されて外部記憶メディア3に転送される。従って、本スキャンで読み取られたデータサイズの大きいメイン画像データの全体は、複合プリンタ1内では記憶保持されない。その結果、複合プリンタ1のメモリ容量は小さくて済む。
ここで、EXIFファイルのフォーマットについて説明する。EXIFファイルフォーマット300は、例えば、図9に示すように、EXIFタグ領域310と、サムネイル画像データを格納するためのサムネイル領域320と、メイン画像データを格納するためのメイン画像領域330とを備える。
EXIFタグ領域310には、例えば、サムネイルに関する情報と、主画像に関する情報(主画像サイズ、主画像領域のスタートアドレス、など)と、その他の情報(色空間、ファイル作成日時、など)とが格納される。ここで、主画像に関する情報は、プレスキャンにより獲得した情報から確定できるので、プレスキャンを行った後のタイミングで書き込みを行うことが可能である。
そこで、プレスキャン後の書き込み、すなわち上記(47)における書き込みにおいて、EXIFタグ領域310及びサムネイル領域320に対する書き込みが行われる。そして、主画像領域330に対しては、本スキャンを行っている最中に、それと並行して書き込みが行われる(上記(52)の書き込み)。
次に、図3及び図4を参照して、ダイレクト印刷の動作を説明する。図3には、ダイレクト印刷が行われる場合のデータの流れが示されている。図4には、コントローラ11によるダイレクト印刷の制御の流れが示されている。
ダイレクト印刷を行うときには、ユーザは、外部記憶メディア3を外部メディアI/F20に接続して、操作パネル22からダイレクト印刷の開始指令を入力する。すると、コントローラ11は、図4に示す手順で制御を行う。
図4に示すように、コントローラ11の制御によって、プレビュー及び画像選択の処理が行われる(ステップS11)。この処理においては、図3に矢印61〜63で示すように画像データが流れる。すなわち、外部メディアI/F20が、外部記憶メディア3に格納されている複数のEXIFファイル33A、33B、33C、…から順次にJPEGサムネイル画像データ34A、…を所定の転送単位量分ずつ逐次に読み込んで(61)、逐次に読み込んだJPEGサムネイル画像データ34A、…の転送単位量分をデコーダ15に送る(62)。デコーダ15は入力されたJPEGサムネイル画像データ34A、…を入力順に逐次にデコードしていくことで、元のビットマップ形式の複数のサムネイル画像を順次に復元していきつつ復元された画像データをプレビューモニタ21に送る(63)。その結果、外部記憶メディア3に格納されている複数の画像のサムネイル画像がプレビューモニタ21に表示される。ユーザは、プレビューモニタ21に表示された複数のサムネイル画像の中から、操作パネル22を用いて、印刷対象の1以上の画像を選択する。
上記のプレビュー及び画像選択の処理が終わると、図4に示すように、コントローラ11の制御によって、メイン画像読込及び印刷の処理が行われる(ステップS12)。この処理においては、図3に矢印64〜67で示すように画像データが流れる。すなわち、外部メディアI/F20が、外部記憶メディア3から、ユーザ選択された印刷対象の画像のEXIFファイル(一例として、EXIFファイル33Aであるとする)のJPEGメイン画像データ35Aを転送単位量分づつ逐次に読み込んで(64)、逐次に読み込んだJPEGメイン画像データ35Aの転送単位量分をデコーダ15に送る(65)。デコーダ15は、入力されたJPEGメイン画像データ35Aを入力順に逐次にデコードしていくことで、元のビットマップ形式のメイン画像データを徐々に復元していきつつ復元されたメイン画像データをプリンタ13に転送する(67)。プリンタ13は、転送されてきた元のビットマップ形式のメイン画像データが、その印刷処理を開始するのに必要な所定量分だけ貯まると、そのメイン画像の印刷処理を開始する。なお、メイン画像の印刷を行う前に、ユーザがメイン画像のトリミングをプレビューモニタ21で行って印刷したい範囲を指定できるようにするために、図3で矢印66に示すように、デコーダ15から出力される元のビットマップ形式のメイン画像データを、プリンタ13へ転送する(67)前に、プレビューモニタ21に送って表示するようにしてもよい。
次に、連続スキャントゥメモリの動作を、図5〜図7を参照して説明する。図5及び図6は、連続スキャントゥメモリが行われる場合のデータの流れが示されている。図7には、コントローラ11による連続スキャントゥメモリの制御の流れが示されている。
図5に示すように、連続スキャントゥメモリを行うときには、ユーザは、外部記憶メディア3を外部メディアI/F20に接続し、写真フィルムストリップのように複数の画像81A、81B、81Cを有する原稿シート81をイメージスキャナ12にセットし(90)、そして、操作パネル22から連続スキャントゥメモリの開始指令を入力する。すると、コントローラ11は、図7に示す手順で制御を行う。
図7に示すように、コントローラ11の制御によって、イメージスキャナ12が原稿シート81のプレスキャンを行う(ステップS21)。プレスキャンにおいては、図5に矢印91〜92で示すように画像データが流れる。すなわち、イメージスキャナ12は原稿シート81の全体領域を所定の低い解像度で1ラインずつ逐次に読み取って出力し、逐次に出力される1ライン分の画像データはラインバッファ15に書き込まれる(91)。ラインバッファ15に書き込まれた1ライン分の画像データは直ちにプレスキャン用ページバッファ17に転送されて蓄積される(92)。プレスキャンが終わったとき、プレスキャン用ページバッファ17には、プレスキャンで読み取られた原稿シート81の全体領域のビットマップ形式のプレスキャン画像データ82が記憶されている。前述したように、このプレスキャン画像データ82のデータサイズは本スキャンで読み取られるメイン画像データより小さい。
上記のプレスキャンが終わると、図7に示すように、コントローラ11の制御によって、プレスキャンで読み取られた原稿画像の中から本スキャンすべき領域を判定する処理が行われる(S22)。この領域判定処理は、原稿シート81が写真フィルムストリップの場合には通常は自動的に行われる。すなわち、プレスキャン用ページバッファ17内のプレスキャン画像データ82をコントローラ11が調べて、中から複数の原稿画像81A、81B、81Cの領域をそれぞれ検出して、それらを本スキャンすべき領域として選ぶ。なお、この領域判定処理を、ユーザがマニュアル操作で行うようにしてもよい。マニュアル操作で領域判定を行う場合には、既に図1を参照して説明したように、プレスキャン画像データ82がプレビューモニタ21に送られて表示され、ユーザが操作パネル22を操作して、表示されたプレスキャン画像データ32の中から本スキャンすべき領域として原稿画像81A、81B、81Cの領域を選択して指示する。
上記の領域選択処理が終わると、図7に示すように、コントローラ11の制御によって、表示用のサムネイル画像をJPEG形式に符号化する処理が行われる(S23)。この表示用サムネイル符号化処理では、図5に矢印93〜95で示すようにデータが流れる。すなわち、エンコーダ14が、プレスキャン用ページバッファ17からプレスキャン画像データ82を読み込む(93)。このとき、エンコーダ14は、プレスキャン画像データ82の中から上述した領域判定(S22)で指定された複数の原稿画像81A、81B、81Cに相当する画像データ部分を選択して順次に読み込む。エンコーダ14は、読み込んだ各原稿画像81A、81B、81Cに対応する画像データ部分を所定サイズの小領域に細分してそれらの小領域を順次にJPEG形式に符号化していきながら、逐次に得られる各小領域の符号データを所定の単位転送量ずつ符号データバッファ19に書き込む(94)。符号データバッファ19に書き込まれた単位転送量の符号データは、書き込まれると直ちにサムネイル用一時バッファ18に転送されて蓄積される(95)。この表示用サムネイル符号化処理が終わった段階で、サムネイル用一時バッファ18には、複数の原稿画像81A、81B、81Cのプレスキャンデータからそれぞれ変換された複数のJPEGサムネイル画像データ83A、83B、83Cが格納されている。
上記の表示用サムネイル符号化処理が終わると、図7に示すように、コントローラ11の制御によって、プレビュー及び画像選択の処理が行われる(S24)。この処理においては、図5に矢印96〜97で示すように画像データが流れる。すなわち、デコーダ15が、符号化データバッファ19から、複数のJPEGサムネイル画像データ83A、83B、83Cを順次に読み込んで(96)、元のビットマップ形式のサムネイル画像データを順次に復元していきつつ復元されたサムネイル画像データをプレビューモニタ21に送る(97)。その結果、原稿シート81上の複数の画像のサムネイル画像がプレビューモニタ21に表示される。ユーザは、プレビューモニタ21に表示された複数のサムネイル画像の中から、操作パネル22を用いて、外部記憶メディア3に保存したい1以上の画像を選択すると、選択された画像が保存対象画像として確定する。
ところで、このプレビュー及び画像選択のデータ流れ96〜97は、既に図3を参照して説明したダイレクト印刷におけるプレビュー及び画像選択のデータ流れ61〜63と比較した場合、データソースがサムネイル用一時バッファ18か外部記憶メディア3かという違いを除いては、JPEGサムネイル画像データをデコードして表示するという画像処理の動作においては共通する。そのため、既存のダイレクト印刷で用いられているプレビュー及び画像選択の画像処理機能を、この連続スキャントゥメモリのプレビュー及び画像選択の処理においても流用できるという利点がある。
なお、個別スキャントゥメモリにおいても、プレビュー及び画像選択処理機能を備えていてもよい。この場合、画像選択処理機能を利用して、プレスキャンで読み込んだ画像を外部記憶メディア3に保存させるかどうかをユーザに確認し、保存を確定するための入力を受け付ける。
さて、上記のプレビュー及び画像選択の処理が終わると、図7に示すように、コントローラ11の制御により、選択されたJPEGサムネイル画像を外部記憶メディア3に格納する処理が行われる(S25)。この処理では、図6に矢印98〜100で示すように画像データが流れる。すなわち、サムネイル用一時バッファ18に保存されている複数のJPEGサムネイル画像データ83A、83B、83Cのうち、上述したプレビュー及び画像選択の処理(S24)でユーザにより選択されたものだけが、順次に符号化バッファ19を経由して外部メディアI/F20に送られ(98、99)、外部メディアI/F20から外部記憶メディア3に書き込まれる(100)。外部メディアI/F20は、受け取ったJPEGサムネイル画像データ(例えば、83Aとする)を外部記憶メディア3に書き込む(100)際、EXIF形式のファイル84Aを新たな作成し、受け取ったJPEGサムネイル画像データ83Aを、そのEXIFファイル84AにJPEGサムネイル画像データ85Aとして書き込む。
上記のサムネイル格納処理が終わると、図7に示すように、コントローラ11の制御によって、本スキャン及び本スキャンで読み取られたメイン画像の符号化処理が行われる(S26)。この本スキャン及び符号化処理では、図6に矢印101〜105で示すようにデータが流れる。すなわち、画像選択(S24)で指定された原稿シート81上の原稿画像の各々(例えば、81Aとする)が、既に図1を参照して説明した個別スキャントゥメモリのときの本スキャン及び符号化処理と実質的に同様の方法で、イメージスキャナ12により高解像度で読み取られて、JPEG形式の符号化されて、外部記憶メディア3内の対応するEXIFファイル86Aに、JPEGメイン画像データ86Aとして書き込まれる。
選択された一つの原稿画像について本スキャン及び符号化処理が終わると、図7に示すように、選択された一つの原稿画像について、上述したサムネイル格納処理(S25)と本スキャン及び符号化処理(S26)が実行される。これが繰り返されて、結果として、選択された全ての原稿画像が外部記憶メディア3にEXIFファイルの形式で格納され、以後、デジタルスチルカメラで撮影された画像と同様に取り扱うこと(例えば、図3を参照して説明したダイレクト印刷を行うことなど)が可能になる。
以上のように、連続スキャントゥメモリにおいても、個別スキャントゥメモリの場合と同様に、本スキャンで読み取られたデータサイズの大きいメイン画像データの全体は、複合プリンタ1内では記憶保持されないから、複合プリンタ1のメモリ容量は小さくて済む。また、連続スキャントゥメモリでは、プレスキャンで読み取った小サイズの画像データをJPEG形式のサムネイル画像データに変換して複合プリンタ1内に記憶して、このJPEG画像データを用いてプレビュー及び画像選択を行うので、ダイレクト印刷のときのEXIFファイル内のJPEGサムネイル画像データを用いたプレビュー及び画像選択と同様の画像処理機能を流用することができる。
図8は、上述したスキャントゥメモリを行うときの本スキャンに適用される、メイン画像データの解像度と量子化ステップの例を示す。
図8に示すように、ユーザが操作パネル22から指定することができる原稿画像の種類と画像品質に応じて、本スキャンの解像度と量子化ステップを自動的に最適値に制御することができる。例えば、ユーザ指定された原稿画像の種類がテキストで、ユーザ指定された画像品質がノーマルの場合には、解像度は所定の低値200dpiに自動制御され、それ以外の場合には、解像度は所定の高値300dpiに自動制御される。また、例えば、ユーザ指定された原稿画像の種類がグラフィックで、ユーザ指定された画像品質がファインの場合には、量子化ステップは所定の細かいステップに自動制御され、それ以外の場合には、量子化ステップは所定の粗いステップに自動制御される。このような解像度と量子化ステップの自動制御により、スキャントゥメモリによって外部記憶メディア3に格納されるEXIFファイルのような画像データファイルのデータサイズが、自動的に適切なサイズになる。
次に、EXIFファイルへのサムネイル画像データの格納態様について説明する。この格納態様は、個別スキャントゥメモリ及び連続スキャントゥメモリのいずれにも共通するので、ここでは、連続スキャントゥメモリの場合を例に説明する。
EXIFファイル84Aにおいて、サムネイル画像データ85Aを格納するための領域には、160画素×120画素のサムネイル画像が格納される。つまり、以下の説明では横対縦のアスペクト比が4:3の枠をサムネイル枠と呼ぶ。このサムネイル画像データ85Aを用いてプレビューモニタ21にプレビュー表示する場合、図10に示すように、それぞれのサムネイル画像210(図10では符号の表示は1カ所のみとし、他の箇所は省略した)は横長の画像として表示される。図10では複数のサムネイル画像を表示しているが、プレビューモニタ21の表示枠に合わせて一のサムネイル画像を表示させても良い。その場合、プレビューモニタ21のアスペクト比も略4:3なので、サムネイル画像データ85Aで表現されるサムネイル画像は、ほとんど途切れずにプレビューモニタに表示させることができる。
ところで、スキャントゥメモリを行う対象である、原稿シート81に定着されている画像81A,81B,81Cのアスペクト比が必ずしも4:3であるとは限らない。あるいは、画像81A,81B,81Cのアスペクト比が4:3であっても、自動的にあるいはユーザのマニュアルで特定された、サムネイル画像としてEXIFファイルへ格納する画像の領域のアスペクト比が4:3であるとも限らない。そこで、本実施形態に係る複合プリンタ装置1では、サムネイル画像データのアスペクト比を調整して、EXIFファイルに格納する。以下、図6及び図11〜図13を参照しながら詳細に説明する。
図6に示すように、領域判定処理(S22)によって領域が特定された、JPEGサムネイル画像データ83(83A,83B,83C)がサムネイル用一時バッファ18に格納される。このS22の領域判定処理では、画像81(81A,81B,81C)の領域が自動または手動で検出される。ここで検出された画像領域(以下、サムネイル画像領域という)のアスペクト比が4:3でない場合には、ステップS22の領域判定処理において、以下に説明するような処理を行って4:3のアスペクト比の画像を生成したのち、JPEGサムネイル画像データ83に変換する。この処理手順の一例を、以下に示す。
まず、サムネイル画像領域のアスペクト比のパターンを分類すると、図11,図12に示すように、以下の4パターンがある。
パターンA 横長画像で、アスペクト比がN:3(N>4)
パターンB 横長画像で、アスペクト比がN:3(3<N<4)
パターンC 縦長画像で、アスペクト比が3:N(N>4)
パターンD 縦長画像で、アスペクト比が3:N(3<N<4)
まず、図11に示すパターンA,Bについて説明する。パターンA,Bである場合、JPEGサムネイル画像データ83を生成してEXIFファイル84に格納する場合、サムネイル枠220への当てはめ方には3通りある。つまり、第1の方法は、サムネイル画像領域を、縦または横方向に伸張または収縮し、原画像250、260のアスペクト比を変更してサムネイル枠220へ当てはめる。つまり、図11のA1,B1のように、原画像250、260からアスペクト比を変更し、サムネイル枠220に一致させる。
第2の方法は、原画像のアスペクト比を変更せずに、原画像を拡大または縮小して、原画像の短い辺をアスペクト枠の同じ方向の辺と一致させるやり方である。パターンAでは、図11のA2のように、縦辺252の長さがサムネイル枠220の縦辺の長さと一致するように、原画像250のアスペクト比を変えないようにして拡大または縮小する。そして、画像領域は破線の領域となる。ここで、画像領域の左右のはみ出した部分255をカットし、中央部分をサムネイル画像とする。また、パターンBでは、図11のB2に示すように横辺262の長さがサムネイル枠220の横の長さと一致するように、原画像260のアスペクト比を変えないようにして拡大または縮小する。そして、画像領域は破線の領域となる。ここで、画像領域の上下のはみ出した部分265をカットし、中央部分をサムネイル画像とする。
第3の方法は、原画像のアスペクト比を変更せず、原画像を拡大または縮小して、原画像の長い辺をアスペクト枠と一致させるやり方である。パターンAでは、図11のA3のように、横辺253の長さがサムネイル枠の横の長さと一致するように、原画像250のアスペクト比を変えないようにして拡大または縮小する。この場合、原画像250の全領域がサムネイル枠内に収まり、原画像250がサムネイル枠220に内包される。そして、原画像250の上下の領域256(図中の網掛け部分)は、画像データが存在しない空き領域256である。この空き領域256については、例えば白画素または黒画素などの所定のデータで埋めて、サムネイル画像とする。パターンBでは、図11のB3のように縦辺263の長さがサムネイル枠の縦の長さと一致するように、原画像260のアスペクト比を変えないようにして拡大または縮小する。この場合も、原画像260の全領域がサムネイル枠200に内包され、原画像260の左右にデータが存在しない空き領域266(図中の網掛け部分)がある。この空き領域266も、同様に所定のデータで埋めてサムネイル画像とする。なお、ここでは空き領域が均等になる位置に原画像を配置したが、原画像の配置はその位置に限定されず、例えば、サムネイル枠の3辺に対し原画像が接するように配置してもよい。
次に、パターンC,Dについて、図12を用いて説明する。パターンAまたはBとなるか、パターンCまたはDとなるかは、イメージスキャナ12が原稿画像81を読み込んだ向きにより定まる。そして、サムネイル画像領域がパターンCまたはDである場合、コントローラ11は、サムネイル画像領域の長辺及び短辺の向きと、サムネイル枠220の長辺及び短辺の向きとを、それぞれ一致させる。この場合、コントローラ11は、画像を右または左へ90°(図12では左へ90°)回転させる。そして、長辺及び短辺の向きが一致した状態で、パターンAまたはBと同等に処理をする。この処理は、横対縦のアスペクト比がちょうど3:4の場合にも適用できる。
なお、パターンCまたはDの場合であっても、図13に示すように、上記のように画像を回転させないで、サムネイル画像領域をサムネイル枠220へ当てはめることもできる。
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。