(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
原稿を光学的に読み取ることによって得られる対象画像データを取得する取得部と、
前記対象画像データを用いて、対象画像内における前記原稿を示す原稿画像の傾きを特定する解析処理を実行する解析部と、
前記解析処理の結果を用いて、前記対象画像データに対して実行されるべき画像処理が記述された画像処理コマンドを生成するコマンド生成部と、
前記対象画像データと、前記画像処理コマンドと、を含む画像ファイルを生成するファイル生成部であって、前記画像処理コマンドは、前記画像ファイルを用いて再生される再生画像が再生部によって再生される際に実行される、前記ファイル生成部と、
を備え、
前記コマンド生成部は、前記対象画像を回転することによって前記原稿画像の特定方向からの傾きを補正する傾き補正コマンドと、傾きが補正済みの前記対象画像内の前記原稿画像のうちの少なくとも一部を再生し、かつ、前記原稿画像の外側に位置する余白画像を再生しないための再生制御コマンドと、を含む前記画像処理コマンドを生成し、
前記再生制御コマンドは、前記原稿画像のうちの少なくとも一部を示す第１画像と、前記余白画像に代えて再生されるべき第２画像と、を再生するコマンドを含む、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記再生制御コマンドは、前記対象画像データを用いて前記第１画像を示す第１画像データを生成するコマンドと、前記対象画像データを用いて前記第２画像を示す第２画像データを生成するコマンドと、を含み、前記第１画像と前記第２画像とを重ねて表示するコマンドであり、
前記第２画像は、前記原稿画像のうちの少なくとも一部を示す画像であり、かつ、前記第１画像の倍率を１とした場合に１より大きな倍率で生成される画像である、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記解析部は、前記対象画像データを解析することによって、前記第１画像の倍率を１とした場合に１より大きな前記第２画像の倍率を、前記余白画像に応じて異なる値に決定する、画像処理装置。
【請求項４】
画像処理装置であって、
原稿を光学的に読み取ることによって得られる対象画像データを取得する取得部と、
前記対象画像データを用いて、対象画像内における前記原稿を示す原稿画像の傾きを特定する処理と、前記対象画像内の前記原稿画像を特定する処理と、を含む解析処理を実行する解析部と、
前記解析処理の結果を用いて、前記対象画像データに対して実行されるべき画像処理が記述された画像処理コマンドを生成するコマンド生成部と、
前記対象画像データと、前記画像処理コマンドと、を含む画像ファイルを生成するファイル生成部であって、前記画像処理コマンドは、前記画像ファイルを用いて再生される再生画像が再生部によって再生される際に実行される、前記ファイル生成部と、
を備え、
前記コマンド生成部は、前記対象画像を回転することによって前記原稿画像の特定方向からの傾きを補正する傾き補正コマンドと、傾きが補正済みの前記対象画像内の前記原稿画像のうちの少なくとも一部を再生し、かつ、前記原稿画像の外側に位置する余白画像を再生しないための再生制御コマンドと、を含む前記画像処理コマンドを生成し、
前記再生制御コマンドは、特定済みの前記原稿画像を前記再生画像内に含め、特定済みの前記原稿画像とは異なる領域内の画像を、前記余白画像として前記再生画像から除外するコマンドを含む、画像処理装置。
【請求項５】
請求項１〜４のいずれかに記載の画像処理装置であって、
前記解析部は、前記対象画像内のエッジを検出する処理を含む前記解析処理を実行する、画像処理装置。
【請求項６】
コンピュータプログラムであって、
原稿を光学的に読み取ることによって得られる対象画像データを取得する取得機能と、
前記対象画像データを用いて、対象画像内における前記原稿を示す原稿画像の傾きを特定する解析処理を実行する解析機能と、
前記解析処理の結果を用いて、前記対象画像データに対して実行されるべき画像処理が記述された画像処理コマンドを生成するコマンド生成機能と、
前記対象画像データと、前記画像処理コマンドと、を含む画像ファイルを生成するファイル生成機能であって、前記画像処理コマンドは、前記画像ファイルを用いて再生される再生画像が再生部によって再生される際に実行される、前記ファイル生成機能と、
をコンピュータに実現させ、
前記コマンド生成機能は、前記対象画像を回転することによって前記原稿画像の特定方向からの傾きを補正する傾き補正コマンドと、傾きが補正済みの前記対象画像内の前記原稿画像のうちの少なくとも一部を再生し、かつ、前記原稿画像の外側に位置する余白画像を再生しないための再生制御コマンドと、を含む前記画像処理コマンドを生成し、
前記再生制御コマンドは、前記原稿画像のうちの少なくとも一部を示す第１画像と、前記余白画像に代えて再生されるべき第２画像と、を再生するコマンドを含む、コンピュータプログラム。
【請求項７】
コンピュータプログラムであって、
原稿を光学的に読み取ることによって得られる対象画像データを取得する取得機能と、
前記対象画像データを用いて、対象画像内における前記原稿を示す原稿画像の傾きを特定する処理と、前記対象画像内の前記原稿画像を特定する処理と、を含む解析処理を実行する解析機能と、
前記解析処理の結果を用いて、前記対象画像データに対して実行されるべき画像処理が記述された画像処理コマンドを生成するコマンド生成機能と、
前記対象画像データと、前記画像処理コマンドと、を含む画像ファイルを生成するファイル生成機能であって、前記画像処理コマンドは、前記画像ファイルを用いて再生される再生画像が再生部によって再生される際に実行される、前記ファイル生成機能と、
をコンピュータに実現させ、
前記コマンド生成機能は、前記対象画像を回転することによって前記原稿画像の特定方向からの傾きを補正する傾き補正コマンドと、傾きが補正済みの前記対象画像内の前記原稿画像のうちの少なくとも一部を再生し、かつ、前記原稿画像の外側に位置する余白画像を再生しないための再生制御コマンドと、を含む前記画像処理コマンドを生成し、
前記再生制御コマンドは、特定済みの前記原稿画像を前記再生画像内に含め、特定済みの前記原稿画像とは異なる領域内の画像を、前記余白画像として前記再生画像から除外するコマンドを含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、原稿を光学的に読み取ることによって得られる対象画像データに対する画像処理に関する。
【背景技術】
【０００２】
スキャナ等を用いて原稿を光学的に読み取ることによって得られる画像データを再生する際に、ビットマップデータである画像データに対して傾き補正処理を行って、補正済みの画像データをメモリに格納技術が知られている（例えば、特許文献１）。これによって、例えば、読み取り時に原稿が傾いていることに起因する画像の傾きを補正することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２２７５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記技術とは異なる方法によって、原稿を光学的に読み取ることによって得られる画像データを用いて、画像処理が実行された画像を再生するための画像ファイルを生成する技術が求められていた。
【０００５】
本明細書は、原稿を光学的に読み取ることによって得られる画像データを用いて、画像処理が実行された画像を再生するための画像ファイルを生成する新たな技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、原稿を光学的に読み取ることによって得られる対象画像データを取得する取得部と、前記対象画像データを解析する解析処理を実行する解析部と、前記解析処理の結果を用いて、前記対象画像データに対して実行されるべき画像処理が記述された画像処理コマンドを生成するコマンド生成部と、前記対象画像データと、前記画像処理コマンドと、を含む画像ファイルを生成するファイル生成部であって、前記画像処理コマンドは、前記画像ファイルを用いて再生される再生画像が再生部によって再生される際に実行される、前記ファイル生成部と、を備える、画像処理装置。
【０００８】
上記構成によれば、対象画像データを解析する解析処理の結果を用いて、対象画像データに対して実行されるべき画像処理が記述された画像処理コマンドが生成され、対象画像データと、当該画像処理コマンドと、を含む画像ファイルが生成される。この結果、画像処理装置が、原稿を読み取ることによって得られた対象画像データであって、画像ファイルに格納されるべき対象画像データに対して画像処理を実行することなく、当該画像処理を実行して得られる画像を再生するための画像ファイルを生成することができる。
［適用例２］
適用例１に記載の画像処理装置であって、
前記解析部は、前記対象画像データを用いて、対象画像内における前記原稿を示す原稿画像の傾きを特定する前記解析処理を実行し、
前記コマンド生成部は、前記対象画像を回転することによって、前記原稿画像の特定方向からの傾きを補正する傾き補正コマンドを含む前記画像処理コマンドを生成する、画像処理装置。
［適用例３］
適用例２に記載の画像処理装置であって、
前記コマンド生成部は、傾きが補正済みの前記対象画像内の前記原稿画像のうちの少なくとも一部を再生し、かつ、前記原稿画像の外側に位置する余白画像を再生しないための再生制御コマンドを含む前記画像処理コマンドを生成する、画像処理装置。
［適用例４］
適用例３に記載の画像処理装置であって、
前記再生制御コマンドは、前記原稿画像のうちの少なくとも一部を示す第１画像と、前記余白画像に代えて再生されるべき第２画像と、を再生するコマンドを含む、画像処理装置。
［適用例５］
適用例４に記載の画像処理装置であって、
前記再生制御コマンドは、前記対象画像データを用いて前記第１画像を示す第１画像データを生成するコマンドと、前記対象画像データを用いて前記第２画像を示す第２画像データを生成するコマンドと、を含み、前記第１画像と前記第２画像とを重ねて表示するコマンドであり、
前記第２画像は、前記原稿画像のうちの少なくとも一部を示す画像であり、かつ、前記第１画像の倍率を１とした場合に１より大きな倍率で生成される画像である、画像処理装置。
［適用例６］
適用例５に記載の画像処理装置であって、
前記解析部は、前記対象画像データを解析することによって、前記第１画像の倍率を１とした場合に１より大きな前記第２画像の倍率を、前記余白画像に応じて異なる値に決定する、画像処理装置。
［適用例７］
適用例３に記載の画像処理装置であって、
前記解析部は、前記対象画像内の前記原稿画像を特定する前記解析処理を実行し、
前記再生制御コマンドは、特定済みの前記原稿画像を前記再生画像内に含め、特定済みの前記原稿画像とは異なる領域内の画像を、前記余白画像として前記再生画像から除外するコマンドを含む、画像処理装置。
［適用例８］
適用例１に記載の画像処理装置であって、
前記解析部は、前記対象画像内の前記原稿の特定部分を示す第３画像を特定する前記解析処理を実行し、
前記コマンド生成部は、前記対象画像内の前記原稿の前記特定部分とは異なる部分を示す第４画像を前記再生画像に含め、特定済みの前記第３画像を前記再生画像から除外するコマンドを含む前記画像処理コマンドを生成する、画像処理装置。
［適用例９］
適用例８に記載の画像処理装置であって、
前記コマンド生成部は、前記第３画像に代えて、補足画像を含む前記再生画像を再生するコマンドを含む前記画像処理コマンドを生成する、画像処理装置。
［適用例１０］
適用例１〜９のいずれかに記載の画像処理装置であって、
前記解析部は、前記対象画像内のエッジを検出する処理を含む前記解析処理を実行する、画像処理装置。
【０００９】
なお、本明細書に開示された技術は、他の種々の形態で実現可能であり、例えば、画像読取装置、画像処理方法、これらの装置や方法の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】スキャナ１００と計算機２００の構成を示すブロック図である。
【図２】第１実施例の画像ファイル生成処理のフローチャートである。
【図３】第１実施例の画像ファイルＩＦの一例を示す図である。
【図４】第１実施例の原稿および画像の一例を示す図である。
【図５】第１実施例の再生画像ＤＩの説明図である。
【図６】第２実施例の画像ファイル生成処理のフローチャートである。
【図７】第２実施例の画像ファイルＩＦｂの一例を示す図である。
【図８】第２実施例の原稿および画像の一例を示す図である。
【図９】第３実施例の画像ファイル生成処理のフローチャートである。
【図１０】第３実施例の画像ファイルＩＦｃの一例を示す図である。
【図１１】第３実施例の原稿および画像の一例を示す図である。
【発明を実施するための形態】
【００１１】
Ａ．第１実施例：
Ａ−１．画像処理装置の構成：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、画像処理装置としてのスキャナ１００と、スキャナ１００と接続される計算機２００の構成を示すブロック図である。
【００１２】
スキャナ１００は、スキャナ１００のコントローラとしてのＣＰＵ１１０と、ＲＡＭなどの揮発性記憶装置１２０と、ハードディスクドライブなどの不揮発性記憶装置１３０と、読取実行部１５０と、液晶ディスプレイなどの表示部１６０と、液晶パネルと重畳されたタッチパネルやボタンなどの操作部１７０と、通信部１８０と、を備えている。スキャナ１００は、通信部１８０を介して、計算機２００などの外部装置と通信可能に接続される。
【００１３】
揮発性記憶装置１２０は、ＣＰＵ１１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域１２１を提供する。不揮発性記憶装置１３０には、制御プログラムＰＧ１が格納されている。制御プログラムＰＧ１は、スキャナ１００の製造時に不揮発性記憶装置１３０に予め格納されて提供され得る。これに代えて、制御プログラムＰＧ１は、例えば、インターネットを介して接続されたサーバからダウンロードされる形態、あるいは、ＣＤ−ＲＯＭなどに記録された形態で提供され得る。
【００１４】
ＣＰＵ１１０は、制御プログラムＰＧ１を実行することにより、スキャナ１００の制御を実行する。例えば、ＣＰＵ１１０は、読取実行部１５０を制御して、読取実行部１５０にスキャンデータを生成させる処理を実行する。また、ＣＰＵ１１０は、後述する画像ファイル生成処理を実行することができる。
【００１５】
読取実行部１５０は、ＣＰＵ１１０の制御に従って、イメージセンサを用いて光学的に原稿を読み取ることによってスキャンデータを生成する。本実施例の読取実行部１５０は、ユーザによって準備された複数枚の原稿を、モータの動力を用いて、１枚ずつ自動的に搬送する自動原稿搬送部（ＡＤＦ（Auto Document Feeder））を備えている。
【００１６】
計算機２００は、例えば、パーソナルコンピュータやスマートフォンなどの端末装置である。計算機２００は、計算機２００のコントローラとしてのＣＰＵ２１０と、ＲＡＭなどの揮発性記憶装置２２０と、ハードディスクドライブなどの不揮発性記憶装置２３０と、液晶ディスプレイなどの表示部２６０と、マウスやキーボードなどの操作部２７０と、通信部２８０と、を備えている。計算機２００は、通信部２８０を介して、スキャナ１００などの外部装置と通信可能に接続される。
【００１７】
揮発性記憶装置２２０は、ＣＰＵ２１０のためのバッファ領域２２１を提供する。不揮発性記憶装置２３０には、スキャナ１００を制御するためのスキャナドライバプログラムＰＧ２が格納されている。スキャナドライバプログラムＰＧ２は、例えば、サーバからダウンロードされる形態、あるいは、ＤＶＤ−ＲＯＭなどに格納される形態で提供されてもよい。ＣＰＵ２１０は、スキャナドライバプログラムＰＧ２を実行することによって、スキャナドライバとして機能する。
【００１８】
Ａ−２．画像ファイル生成処理：
図２は、第１実施例の画像ファイル生成処理のフローチャートである。図３は、第１実施例の画像ファイルＩＦの一例を示す図である。画像ファイル生成処理は、原稿を光学的に読み取ることによってスキャン画像を示すスキャンデータを生成し、該スキャンデータを用いて、画像ファイルＩＦを生成する処理である。図３の画像ファイルＩＦは、ＰＤＦ（Portable Document Format）形式に従って記述される、いわゆるＰＤＦファイルである。
【００１９】
生成される画像ファイルＩＦは、例えば、計算機２００の不揮発性記憶装置２３０に保存される。そして、計算機２００において、ＰＤＦ形式に対応したプログラム（いわゆるＰＤＦビューワ）によって、ＰＤＦファイルによって示される画像を再生するために用いられる。画像の再生は、例えば、再生部としての表示部２６０によって画像が表示されることや、図示しない再生部としてのプリンタによって画像が印刷されること、を含む。
【００２０】
画像ファイル生成処理は、保存形式としてＰＤＦファイルが指定された原稿の読み取り指示が、ユーザから操作部１７０を介して、スキャナ１００に入力された場合に、スキャナ１００のＣＰＵ１１０によって、実行される。なお、原稿の読み取り指示は、スキャナドライバとして機能する計算機２００（ＣＰＵ２１０）を介して、スキャナ１００に入力されても良い。
【００２１】
画像ファイル生成処理では、ＣＰＵ１１０が、画像ファイルＩＦを構成するデータを生成し、バッファ領域１２１に記録していくことによって、画像ファイルＩＦが生成される。
【００２２】
Ｓ１０では、ＣＰＵ１１０は、ＰＤＦのバージョン番号を指定するＰＤＦヘッダ（図３）を生成して、バッファ領域２２１に記録する。
【００２３】
Ｓ１５では、ＣＰＵ１１０は、読取実行部１５０を制御して、自動原稿搬送部に載置された１枚以上の原稿のうち、１枚の原稿を光学的に読み取ることによってスキャン画像を示すスキャンデータを生成する。これによって、ＣＰＵ１１０は、１枚の原稿分のスキャンデータを取得する。スキャンデータは、マトリクス状に配置された複数個の画素にて構成されるビットマップデータ、具体的には、画素ごとの色をＲＧＢ値で表すＲＧＢ画像データである。１個の画素のＲＧＢ値は、赤（Ｒ）と緑（Ｇ）と青（Ｂ）との３個の色成分の階調値（以下、成分値とも呼ぶ）を含んでいる。本実施例では、各成分値の階調数は、２５６階調である。
【００２４】
本実施例では、ユーザによって予め指定された原稿サイズ（例えば、Ａ４、Ａ３など）に相当するサイズのスキャン画像を示すスキャン画像データが生成される。
【００２５】
図４は、第１実施例の原稿および画像の一例を示す図である。図４（Ａ）には、１枚の原稿ＣＰが示されている。原稿ＣＰは、背景Ｂｇと、複数個のオブジェクトＯｂ１、Ｏｂ２と、を含んでいる。図４（Ｂ）には、図４（Ａ）の原稿ＣＰを読み取ることによって得られるスキャンデータによって表されるスキャン画像ＳＩの一例が示されている。図４（Ｂ）のスキャン画像ＳＩは、原稿ＣＰを示す原稿画像ＣＰＩと、原稿画像ＣＰＩの外側に位置する余白画像ＢＬＩと、を含んでいる。余白画像ＢＬＩは、イメージセンサと対向する位置にある原稿台を読み取って得られる画像、と言うこともできる。
【００２６】
図４（Ｂ）に示すように、原稿画像ＣＰＩの傾きは、スキャン画像ＳＩの特定の端（例えば、上端ＵＴ）に対する、スキャン画像ＳＩ内の原稿画像ＣＰＩの対応する辺（例えば、上辺ＵＥ）の傾き、と言うことができる。このような原稿画像ＣＰＩの特定方向（例えば、水平方向）からの傾きは、読取実行部１５０による読取時において、読取実行部１５０の副走査方向（すなわち、原稿の搬送方向）や、主走査方向（すなわち、原稿の搬送方向と垂直な方向）に対して、原稿ＣＰの対応する辺が傾いていることに、起因している。また、スキャン画像ＳＩのサイズ（Ａ４相当）と、読み取られた原稿ＣＰのサイズとは、一致しているが、読取時に、原稿ＣＰが傾いていたり、ずれたりしているために、スキャン画像ＳＩには、原稿ＣＰの全体が、完全には示されていない。図４（Ｂ）には、原稿ＣＰの全体に対応する矩形領域ＣＡが波線で図示されている。この領域ＣＡから解るように、原稿ＣＰの外縁の一部は、スキャン画像ＳＩ内に示されていない。
【００２７】
Ｓ２０〜Ｓ３０では、ＣＰＵ１１０は、スキャンデータを解析する解析処理を実行する。解析処理によって、後述する画像処理コマンドを生成する際に用いられるパラメータが決定される。パラメータは、例えば、スキャン画像ＳＩの特徴を示す特徴量（例えば、後述する傾きθ）を含み得る。
【００２８】
Ｓ２０では、ＣＰＵ１１０は、スキャンデータを解析することによって、上述した原稿画像ＣＰＩの特定方向（例えば、水平方向）からの傾きを特定する。具体的には、ＣＰＵ１１０は、スキャン画像ＳＩにおいて、原稿画像ＣＰＩと、原稿画像ＣＰＩとは異なる余白画像ＢＬＩと、の境界を示すエッジを検出することによって、原稿画像ＣＰＩの上辺ＵＥを検出する。ＣＰＵ１１０は、スキャン画像ＳＩの上端ＵＴと、検出された原稿画像ＣＰＩの上辺ＵＥと、の間の角度θ（図４（Ｂ））を、原稿画像ＣＰＩの傾きとして、特定する。
【００２９】
Ｓ２５では、ＣＰＵ１１０は、スキャンデータを解析することによって、スキャン画像ＳＩ内に前景画像ＦＩ（図４（Ｂ））を決定する。詳細は後述するが、前景画像ＦＩは、原稿画像ＣＰＩのうちの一部を示す画像であって、画像ファイルＩＦを用いて画像が再生される際に、再生画像の一部として生成される画像である。具体的には、ＣＰＵ１１０は、スキャン画像ＳＩにおいて、原稿画像ＣＰＩと、原稿画像ＣＰＩとは異なる余白画像ＢＬＩと、の境界を示すエッジを検出することによって、原稿画像ＣＰＩを特定する。ＣＰＵ１１０は、原稿画像ＣＰＩに内接する内接矩形であって、Ｓ２０で特定された角度θだけ傾いた内接矩形を、前景画像ＦＩとして決定する（図４（Ｂ））。具体的には、ＣＰＵ１１０は、原稿画像ＣＰＩの４辺ＵＥ、ＲＥ、ＬＥ、ＢＥに基づいて、原稿ＣＰの全体に対応する矩形領域ＣＡを特定する。そして、ＣＰＵ１１０は、特定された矩形領域ＣＡの重心ＧＰを重心とし、かつ、矩形領域ＣＡと相似であり、かつ、原稿画像ＣＰＩに内接する矩形領域内の画像を、前景画像ＦＩとして決定する。この結果、前景画像ＦＩは、余白画像ＢＬＩに応じて、前景画像ＦＩ内に余白画像ＢＬＩが含まれないように、適切なサイズおよび位置に決定される。
【００３０】
前景画像ＦＩは、原稿画像ＣＰＩ内の全てのオブジェクトを含むことが好ましいために、なるべく大きなサイズに決定されることが好ましい。しかしながら、仮に、前景画像ＦＩを予め定められたサイズや位置に決定されると、原稿画像ＣＰＩの傾きが大きいために余白画像ＢＬＩが比較的大きい場合には、前景画像ＦＩを過度に大きなサイズに決定すると、前景画像ＦＩ内に、余白画像ＢＬＩが含まれてしまう可能性がある。本実施例では、上述したように、前景画像ＦＩは、余白画像ＢＬＩに応じて、動的に、決定されるので、適切な前景画像ＦＩを決定することができる。
【００３１】
図４（Ｃ）には、スキャン画像ＳＩを角度θだけ回転して得られる傾き補正済みのスキャン画像ＡＩが示されている。補正済みのスキャン画像ＡＩでは、補正済みのスキャン画像ＡＩの上端ＡＵＴと、スキャン画像ＡＩ内の原稿画像ＣＰＩの上辺ＵＥと、が平行となっている。また、補正済みのスキャン画像ＡＩでは、前景画像ＦＩは、傾いておらず、補正済みのスキャン画像ＡＩの上端ＡＵＴと、前景画像ＦＩの上辺ＦＵＥと、は平行である。なお、図４（Ｃ）に示す補正済みのスキャン画像ＡＩは、理解の容易のために図示されている。しかしながら、補正済みのスキャン画像ＡＩを示す画像データは、画像ファイル生成処理において、スキャンデータとは別のデータとして実際に生成されることはない。すなわち、画像ファイル生成処理では、実際に、スキャン画像ＳＩの傾きを補正する処理は、行われない。
【００３２】
Ｓ３０では、ＣＰＵ１１０は、背景画像ＢＩの倍率Ｍｒを決定する。詳細は後述するが、背景画像ＢＩは、後述するように原稿画像ＣＰＩの少なくとも一部を示す画像であって、画像ファイルＩＦを用いて画像が再生される際に、前景画像ＦＩより大きな倍率で生成される画像である。上述した前景画像ＦＩのサイズは、原稿ＣＰのサイズ（例えば、Ａ４）に相当する画像サイズ（すなわち、図４（Ａ）のスキャン画像ＳＩのサイズや、矩形領域ＣＡのサイズ）より小さい。ＣＰＵ１１０は、前景画像ＦＩのサイズを「１」として、前景画像ＦＩのサイズを、原稿ＣＰのサイズに相当する画像サイズまで拡大するために必要な倍率Ｍｒ（Ｍｒ＞１）を決定する。これによって、背景画像ＢＩの倍率Ｍｒが決定される。このように、動的に決定される前景画像ＦＩに応じて、背景画像ＢＩの倍率Ｍｒも動的に決定される。上述したように、前景画像ＦＩは、余白画像ＢＬＩに応じて動的に決定されるので、背景画像ＢＩの倍率Ｍｒも、余白画像ＢＬＩに応じて、動的に決定されると言うことができる。
【００３３】
Ｓ２０〜Ｓ４０の解析処理に続いて、Ｓ３５では、ＣＰＵ１１０は、Ｓ１５にて取得されたスキャンデータを圧縮する。具体的には、ＣＰＵ１１０は、多階調の画像の圧縮に適した非可逆の圧縮方式、具体的には、ＪＰＥＧ（Joint Photographic Experts Group）圧縮を用いて、スキャンデータを圧縮する。このように、スキャンデータは、傾き補正処理や拡大処理などの画像処理が行われることなく、圧縮される。生成された圧縮済みのスキャンデータ、本実施例では、ＪＰＥＧデータ（図３）は、例えば、ＰＤＦヘッダに続いて、バッファ領域２２１に記録される。
【００３４】
Ｓ４０では、ＣＰＵ１１０は、Ｓ２０〜Ｓ３０の解析処理の結果を用いて、画像ファイルＩＦを用いて再生画像ＤＩが再生される際にスキャンデータに対して実行されるべき画像処理が記述された画像処理コマンドを生成する。
【００３５】
ここで、理解の容易のために、画像ファイルＩＦを用いて再生される再生画像ＤＩについて、先に説明する。図５は、第１実施例の再生画像ＤＩの説明図である。図５（Ａ）には、前景画像ＦＩが示されている。前景画像ＦＩは、傾き補正済みのスキャン画像ＡＩ（図４（Ｃ））から、クリッピングされた画像である。
【００３６】
図５（Ｂ）には、背景画像ＢＩが示されている。背景画像ＢＩは、スキャン画像ＳＩを、倍率Ｍｒで拡大した後に、角度θだけ回転させることによって傾きを補正して得られる画像である（図４（Ｂ））。すなわち、スキャンデータに対して、倍率Ｍｒで拡大する拡大処理と、拡大後のスキャン画像を角度θだけ回転させる傾き補正処理と、が行われると、背景画像ＢＩを示す背景画像データが生成されることが解る。背景画像ＢＩは、拡大された背景Ｂｇａと、拡大されたオブジェクトＯｂ１ａ、Ｏｂ２ａと、を含む原稿画像ＣＰＩａと、拡大された余白画像ＢＬＩａと、を含んでいる。
【００３７】
図５（Ｃ）には、背景画像ＢＩ上に前景画像ＦＩを重畳して得られる重畳画像ＯＩが示されている。再生画像ＤＩは、図５（Ｃ）の重畳画像ＯＩのうち、原稿ＣＰのサイズ（例えば、Ａ４）に相当するサイズの再生領域ＤＡ内の画像である（図５（Ｄ））。
【００３８】
図５（Ｄ）の再生画像ＤＩは、前景画像ＦＩと、前景画像ＦＩの外側の部分に位置する背景画像ＢＩの背景Ｂｇａと、を含んでいる。再生画像ＤＩは、背景画像ＢＩのオブジェクトＯｂ１ａ、Ｏｂ２ａや余白画像ＢＬＩａを含んでいない。
【００３９】
以上のような再生画像ＤＩを再生すべく、画像処理コマンドが生成されて、バッファ領域２２１に記述される。具体的には、図３に示すように、前景画像生成コマンドと、背景画像生成コマンドと、再生領域指定コマンドと、を含むコマンド群が、生成される。これらのコマンドは、ＰＤＦの規格に従って生成・記述される。
【００４０】
前景画像生成コマンドは、スキャンデータを用いて前景画像データを生成して、前景画像ＦＩを特定の座標系に描画するためのコマンドである。前景画像生成コマンドは、サイズ指定コマンドと、傾き補正コマンドと、クリップコマンドと、を含み、これらのコマンドが、スキャンデータに対して、この順番で実行されるように、記述されている。
【００４１】
サイズ指定コマンドは、画像の横方向のサイズを「Ｌｘ」とし、画像の縦方向のサイズを「Ｌｙ」とするように、指定するコマンドである。Ｌｘ、Ｌｙは、例えば、原稿ＣＰのサイズ（例えば、Ａ４）相当の画像サイズを示す値である。
【００４２】
傾き補正コマンドは、画像を角度θだけ回転させるコマンドである。角度θには、Ｓ２０において検出された値が用いられる。
【００４３】
クリップコマンドは、画像のうち、座標（Ｘ２、Ｙ２）を左下の頂点とし、横方向の長さ（幅）Ｗ１、縦方向の長さ（高さ）Ｈ１の矩形領域内の画像をクリッピングするコマンドである。Ｘ２、Ｙ２、Ｗ１、Ｈ１は、Ｓ２５にて決定された前景画像ＦＩが、クリッピングされるように、設定される。
【００４４】
背景画像生成コマンドは、スキャンデータを用いて背景画像データを生成して、背景画像ＢＩを特定の座標系に描画するためのコマンドである。背景画像生成コマンドは、サイズ指定コマンドと、傾き補正コマンドと、を含み、これらのコマンドが、スキャンデータに対して、この順番で実行されるように、記述されている。
【００４５】
サイズ指定コマンドは、前景画像生成コマンドにおけるサイズ指定コマンドと同様に、画像の横方向のサイズを「Ｌｘ」とし、画像の縦方向のサイズを「Ｌｙ」とするように、指定するコマンドと、その後に、画像を倍率Ｅで拡大するコマンドと、を含む。これによって、背景画像ＢＩは、前景画像ＦＩの倍率を基準（１）とした場合に倍率Ｅを有する画像とされる。倍率Ｅは、Ｓ３０にて決定された倍率Ｍｒに設定される。
【００４６】
傾き補正コマンドは、前景画像生成コマンドにおけるサイズ指定コマンドと同様に、画像を角度θだけ回転させるコマンドである。角度θには、Ｓ２０において検出された値が用いられる。
【００４７】
図３に示すように、背景画像生成コマンドが先に記述され、前景画像生成コマンドが後に記述されることによって、背景画像ＢＩが描画された後に、背景画像ＢＩ上に前景画像ＦＩが描画される。これによって、背景画像ＢＩ上に前景画像ＦＩが重畳された重畳画像ＯＩが特定の座標系に描画される。
【００４８】
再生領域指定コマンドは、特定の座標系に描画された重畳画像ＯＩのうち、再生画像ＤＩが位置している再生領域ＤＡを指定するコマンドである。具体的には、座標（Ｘ４、Ｙ４）を左下の頂点とし、座標（Ｘ５、Ｙ５）を右上の頂点とする矩形領域が、再生領域ＤＡとして指定される。Ｘ４、Ｙ４、Ｘ５、Ｙ５の値は、前景画像ＦＩの重心ＧＰを重心とし、かつ、原稿ＣＰのサイズ（例えば、Ａ４）相当のサイズを有する領域を、再生領域ＤＡとして指定するように、設定される。
【００４９】
ＪＰＥＧデータと、画像処理コマンドと、を含む１ページ分のページデータが生成されると、Ｓ４５にて、ＣＰＵ１１０は、自動原稿搬送部に載置された全ての原稿の読み取りが完了したか否かを判断する。
【００５０】
読取が完了していない原稿が存在する場合には（Ｓ４５：ＮＯ）、ＣＰＵ１１０は、Ｓ１５に戻って、次の原稿の読み取りを行う。全ての原稿の読み取りが完了した場合には（Ｓ４５：ＹＥＳ）、Ｓ５０にて、ＣＰＵ１１０は、ＰＤＦフッタを生成して、バッファ領域１２１に記録する。この結果、バッファ領域１２１に、画像ファイルＩＦ（図３）が完成する。ＰＤＦフッタは、例えば、相互参照テーブルやトレーラなどのＰＤＦ規格に従う各種のデータを含む。
【００５１】
完成された画像ファイルＩＦは、例えば、計算機２００に対して送信され、ユーザの利用に供される。これに代えて、画像ファイルＩＦは、スキャナ１００の不揮発性記憶装置１３０内に保存されても良い。
【００５２】
計算機２００のＣＰＵ２１０は、例えば、ＰＤＦビューワとして機能することによって、画像ファイルＩＦを用いて、再生画像ＤＩを、表示部２６０に表示することができる。このとき、ＣＰＵ２１０は、再生画像ＤＩを表示部２６０に表示する際に、画像ファイルＩＦに含まれるスキャンデータに対して、画像ファイルＩＦに含まれる画像処理コマンドに基づく画像処理を実行することによって、再生画像ＤＩを示す画像データを生成して、該再生画像ＤＩを表示する。例えば、ＣＰＵ２１０は、圧縮済みのスキャンデータ（ＪＰＥＧデータ）を展開して、ビットマップデータであるスキャンデータを取得する。そして、該スキャンデータに対して、画像処理コマンドに基づく画像処理（例えば、傾き補正処理）を実行することで、スキャンデータの画素の値を、画素ごとに補正して、補正済みのスキャンデータを生成する。全ての画像処理コマンドが実行された後のスキャンデータが、再生画像ＤＩを示す画像データに相当する。
【００５３】
なお、表示に代えて、ＣＰＵ２１０は、画像ファイルＩＦを用いて、再生画像ＤＩをプリンタに印刷させても良い。この場合にも、ＣＰＵ２１０は、同様に、再生画像ＤＩを示す画像データを生成して、該再生画像ＤＩを印刷させる。
【００５４】
図５（Ｄ）に示すように、再生画像ＤＩは、図４（Ａ）の原稿ＣＰを適切に示している。例えば、スキャン画像ＳＩでは、原稿画像ＣＰＩが傾いているうえに、スキャン画像ＳＩには、余白画像ＢＬＩが含まれている。このために、仮に、図４（Ｂ）のスキャン画像ＳＩがそのまま再生されると、見栄えが良くない。図５（Ｄ）の再生画像ＤＩでは、原稿を示す前景画像ＦＩの傾きが補正されている。また、図５（Ｄ）の再生画像ＤＩでは、前景画像ＦＩの外側には、余白画像ＢＬＩに代えて、背景画像ＢＩの背景Ｂｇａが配置されている。このために、再生画像ＤＩは、スキャン画像ＳＩと比較して見栄えが向上している。
【００５５】
以上説明した第１実施例では、スキャンデータを解析する解析処理（図２のＳ２０〜Ｓ３０）の結果を用いて、スキャンデータに対して実行されるべき画像処理が記述された画像処理コマンドが生成される（図２のＳ４０）。そして、スキャンデータと、スキャンデータを用いて、再生画像ＤＩを再生部（例えば、表示部２６０）によって再生される際に実行される画像処理コマンドと、を含む画像ファイルＩＦが生成される。この結果、スキャナ１００は、原稿ＣＰを読み取ることによって得られたスキャンデータに対して画像処理を実行することなく、当該画像処理を実行して得られる画像を再生するための画像ファイルを生成することができる。
【００５６】
仮に、ＣＰＵ１１０が、当該画像処理（例えば、傾き補正処理）を、ビットマップデータであるスキャンデータに対して実行して、補正済みの画像データを生成し、該補正済みの画像データを含む画像ファイルを生成する場合には、画像ファイルを生成するための処理時間が長くなる不都合や、バッファ領域１２１やＣＰＵ１１０などの必要なリソースが大きくなる不都合があった。本実施例では、画像処理をスキャンデータに対して実行することなく、画像処理コマンドを含む画像ファイルＩＦを生成するので、画像ファイルＩＦを生成するための処理時間やリソースを低減することができる。
【００５７】
さらに、上記実施例では、ＣＰＵ１１０は、原稿画像ＣＰＩの特定方向（例えば、水平方向）からの傾きを特定する解析処理を実行し（図２のＳ２０）、スキャン画像ＳＩを回転するコマンド、すなわち、原稿画像ＣＰＩａの傾きを補正する傾き補正コマンドを含む画像処理コマンドを生成する（図２のＳ４０、図３）。この結果、スキャンデータを用いて傾きが補正済みの再生画像ＤＩ（図５（Ｄ））を再生するための画像ファイルＩＦを生成することができる。
【００５８】
さらに、上記実施例では、ＣＰＵ１１０は、傾きが補正済みのスキャン画像ＡＩ内の原稿画像ＣＰＩの一部である前景画像ＦＩを含み、原稿画像ＣＰＩの外側に位置する余白画像ＢＬＩを含まない再生画像ＤＩを再生するように、画像処理コマンドを生成する（図３〜図５）。すなわち、ＣＰＵ１１０は、前景画像ＦＩを再生し、かつ、余白画像ＢＬＩを再生しないためのコマンドを含む画像処理コマンドを生成する。この結果、原稿画像ＣＰＩの一部を再生し、余白画像ＢＬＩを再生しないための画像ファイルＩＦを生成することができる。また、このような画像ファイルＩＦを生成するための処理時間やリソースを低減できる。
【００５９】
さらに、画像処理コマンドは、前景画像ＦＩと、余白画像ＢＬＩに代えて表示されるべき背景画像ＢＩと、を再生するコマンド、具体的には、前景画像生成コマンドと、背景画像生成コマンドと、を含む（図３）。この結果、余白画像ＢＬＩを再生しないことを適切に実現できる画像ファイルＩＦを生成することができる。一般に、原稿ＣＰの外縁部分には、背景Ｂｇが位置し、オブジェクトＯｂ１、Ｏｂ２が位置しないこと想定される。このために、スキャン画像ＳＩを拡大して得られる背景画像ＢＩ上に、前景画像ＦＩが重畳されることで、再生画像ＤＩの端部に、余白画像ＢＬＩに代えて、背景画像ＢＩの背景Ｂｇａが配置される。
【００６０】
より具体的には、画像処理コマンドは、スキャンデータを用いて前景画像ＦＩを示す前景画像データを生成する前景画像生成コマンドと、スキャンデータを用いて背景画像ＢＩを示す背景画像データを生成する背景画像生成コマンドと、を含み、前景画像ＦＩと背景画像ＢＩとを重ねて表示するコマンドを含んでいる（図３）。そして、背景画像ＢＩは、原稿画像ＣＰＩを示す画像であり、かつ、前景画像ＦＩより大きな倍率Ｍｒで生成される画像である（図５）。この結果、余白画像ＢＬＩを再生しないことをより適切に実現できる画像ファイルＩＦを容易に生成することができる。
【００６１】
さらに、上記実施例では、上述したように、背景画像ＢＩの倍率Ｍｒは、余白画像ＢＬＩに応じて、動的に決定される（図２のＳ２５、Ｓ３０）。すなわち、ＣＰＵ１１０は、対象画像データを解析することによって、前景画像ＦＩに対する背景画像ＢＩの倍率Ｍｒを、余白画像に応じて異なる値に決定する、と言うことができる。この結果、倍率Ｍｒが適切な値に決定されるので、余白画像ＢＬＩを表示しないことをより適切に実現できる画像ファイルＩＦを生成することができる。
【００６２】
さらに、上記実施例の解析処理（Ｓ２０〜Ｓ３０）は、スキャン画像ＳＩ内のエッジを検出する処理を含む。この結果、スキャン画像ＳＩの特徴を容易に解析することができる。例えば、スキャン画像ＳＩ内の原稿画像ＣＰＩの傾きの角度θを適切に解析することができる。また、原稿画像ＣＰＩに前景画像ＦＩを適切に決定することができる。
【００６３】
以上の説明から解るように、本実施例の前景画像ＦＩは、第１画像の例であり、背景画像ＢＩは、第２画像の例である。また、本実施例の前景画像生成コマンドと、背景画像生成コマンドと、再生領域指定コマンドと、は、再生制御コマンドの例である。
【００６４】
Ｂ．第２実施例
図６は、第２実施例の画像ファイル生成処理のフローチャートである。図７は、第２実施例の画像ファイルＩＦｂの一例を示す図である。図８は、第２実施例の原稿および画像の一例を示す図である。図６の画像ファイル生成処理では、図２のＳ１５に代えて、図６のＳ１５ｂの処理が行われ、図２のＳ２５、３０に代えて、図６のＳ２５ｂの処理が行われ、図２のＳ４０に代えて、図６のＳ４０ｂの処理が行われる。図６の画像ファイル生成処理のその他の処理は、図２の画像ファイル生成処理と同一であるので、説明を省略する。
【００６５】
Ｓ１５ｂでは、ＣＰＵ１１０は、読取実行部１５０を制御して、自動原稿搬送部に載置された１枚以上の原稿のうち、１枚の原稿を光学的に読み取ることによってスキャン画像を示すスキャンデータを生成する。これによって、ＣＰＵ１１０は、１枚の原稿分のスキャンデータを取得する。ここで、第１実施例とは異なり、ＣＰＵ１１０は、原稿ＣＰのサイズを自動的に検出して、原稿ＣＰに外接する外接矩形に相当する領域内のスキャン画像ＳＩｂを示すスキャン画像を生成する。したがって、図８（Ｂ）に示すように、スキャン画像ＳＩｂは、原稿ＣＰの全体を示す原稿画像ＣＰＩｂに外接する外接矩形の形状およびサイズを有する画像である。そして、スキャン画像ＳＩｂは、原稿ＣＰの全体を示す原稿画像ＣＰＩｂと、原稿画像ＣＰＩｂの外側に位置する余白画像ＢＬＩｂと、を含む。
【００６６】
Ｓ２５ｂでは、ＣＰＵ１１０は、スキャン画像ＳＩｂ内の原稿画像ＣＰＩｂを特定する処理を実行する。具体的には、ＣＰＵ１１０は、スキャン画像ＳＩｂ内のエッジを検出することによって、原稿画像ＣＰＩｂを特定する。
【００６７】
Ｓ４０ｂでは、ＣＰＵ１１０は、Ｓ２０およびＳ２５ｂの解析処理の結果を用いて、画像ファイルＩＦｂを用いて再生画像ＤＩｂを再生する際にスキャンデータに対して実行されるべき画像処理が記述された画像処理コマンドを生成する。
【００６８】
ここで、画像ファイルＩＦｂを用いて再生される再生画像ＤＩｂについて、先に説明する。図８（Ｃ）には、スキャン画像ＳＩｂ（図８（Ｂ））を角度θだけ回転して得られる傾き補正済みのスキャン画像ＡＩｂが示されている。第２実施例の再生画像ＤＩｂは、図８（Ｃ）の傾き補正済みのスキャン画像ＡＩｂのうち、特定済みの原稿画像ＣＰＩｂである（図８（Ｄ））。すなわち、再生画像ＤＩｂは、原稿画像ＣＰＩｂのみを含み、余白画像ＢＬＩｂを含んでいない。
【００６９】
図８（Ｄ）に示すように、再生画像ＤＩｂは、図５（Ｄ）の再生画像ＤＩと同様に、原稿ＣＰを適切に示している。すなわち、再生画像ＤＩｂにおいて、原稿画像ＣＰＩｂは傾きが補正されている。また、再生画像ＤＩｂは、余白画像ＢＬＩｂを含んでいない。
【００７０】
以上の説明から解るように、スキャンデータに対して、スキャン画像ＳＩを角度θだけ回転させる傾き補正処理を行うことによって、傾き補正済みのスキャン画像ＡＩｂを示す画像データを生成することができる。そして、傾き補正済みのスキャン画像ＡＩｂのうち、特定済みの原稿画像ＣＰＩｂが配置された領域を再生領域ＤＡｂに設定することによって、再生画像ＤＩｂを再生することができる。
【００７１】
Ｓ４０ｂでは、以上のような再生画像ＤＩｂを再生すべく、画像処理コマンドが生成されて、バッファ領域２２１に記述される。具体的には、図７に示すように、画像生成コマンドと、再生領域指定コマンドと、を含むコマンド群が、ＰＤＦの規格に従って生成・記述される。
【００７２】
画像生成コマンドは、スキャンデータを用いて、傾き補正済みのスキャン画像ＡＩｂを示す画像データを生成して、傾き補正済みのスキャン画像ＡＩｂを特定の座標系に描画するためのコマンドである。画像生成コマンドは、サイズ指定コマンドと、傾き補正コマンドと、を含み、これらのコマンドが、スキャンデータに対して、この順番で実行されるように、記述されている。
【００７３】
サイズ指定コマンドと、傾き補正コマンドとは、図３の前景画像生成コマンドに含まれるサイズ指定コマンドと、傾き補正コマンドと、同様のコマンドである。
【００７４】
再生領域指定コマンドは、特定の座標系に描画された画像のうち、再生画像ＤＩｂが位置している再生領域ＤＡｂを指定するコマンドである。具体的には、座標（Ｘ４、Ｙ４）を左下の頂点とし、座標（Ｘ５、Ｙ５）を右上の頂点とする矩形領域が、再生領域ＤＡｂとして指定される。Ｘ４、Ｙ４、Ｘ５、Ｙ５の値は、Ｓ２５ｂにおいて特定された原稿画像ＣＰＩｂが位置する領域を、傾き補正済みのスキャン画像ＡＩｂ上において、再生領域ＤＡｂとして指定するように、設定される。
【００７５】
以上の説明から解るように、第２実施例では、ＣＰＵ１１０は、スキャン画像ＳＩｂ内の原稿画像ＣＰＩｂを特定する解析処理（図６のＳ２５ｂ）を実行する。そして、図６のＳ４０ｂで生成されるコマンドは、特定済みの原稿画像ＣＰＩｂを再生画像ＤＩｂ内に含め、特定済みの原稿画像ＣＰＩｂとは異なる領域内の画像を、余白画像ＢＬＩｂとして再生画像ＤＩｂから除外するコマンドを含む。この結果、原稿画像ＣＰＩｂを再生し、余白画像ＢＬＩｂを再生しないための画像ファイルＩＦｂを適切に生成することができる。
【００７６】
以上の説明から解るように、本実施例の画像生成コマンドと、再生領域指定コマンドと、は、再生制御コマンドの例である。
【００７７】
Ｃ．第３実施例
図９は、第３実施例の画像ファイル生成処理のフローチャートである。図１０は、第３実施例の画像ファイルＩＦｃの一例を示す図である。図１１は、第３実施例の原稿および画像の一例を示す図である。図９の画像ファイル生成処理では、図２のＳ２０〜Ｓ３０に代えて、図９のＳ２０ｃ、Ｓ２５ｃの処理が行われ、図２のＳ４０に代えて、図９のＳ４０ｃの処理が行われる。図９の画像ファイル生成処理のその他の処理は、図２の画像ファイル生成処理と同一であるので、説明を省略する。
【００７８】
図１１（Ａ）には、Ｓ１５にて読み取られる原稿ＣＰｃの一例が示されている。この原稿ＣＰｃには、当該原稿ＣＰｃを、用紙ファイルに綴じる際に用いられる複数個のパンチ孔ＰＨが形成されている。原稿ＣＰｃのその他の構成は、図４（Ａ）の原稿ＣＰと同じである。
【００７９】
ここで、説明の煩雑を避けるために、Ｓ１５にて生成されるスキャンデータによって示されるスキャン画像ＳＩｃは、傾きが生じておらず、かつ、余白画像を含んでいないものとする。図１１（Ａ）は、スキャン画像ＳＩｃを示す図、とも言うことができる。スキャン画像ＳＩｃは背景ＢｇやオブジェクトＯｂ１、Ｏｂ２とともに、パンチ孔ＰＨを示す画像ＰＡを含んでいる。
【００８０】
Ｓ２０ｃでは、スキャンデータに対する解析処理の一部として、ＣＰＵ１１０は、スキャン画像ＳＩｃ内のパンチ孔ＰＨを示す画像ＰＡを特定する。パンチ孔ＰＨは、概ね一定の大きさの円であり、原稿ＣＰｃの外縁に沿って配置される。また、パンチ孔ＰＨの内側の色は、スキャナ１００のイメージセンサと対向する位置にある原稿台の色となる。ＣＰＵ１１０は、原稿ＣＰｃの外縁に沿ってパターンマッチングを行って、これらの形状、大きさ、色を有する部分を探索することによって、パンチ孔ＰＨを示す画像ＰＡを特定する。あるいは、原稿ＣＰｃを示す画像と、パンチ孔ＰＨを示す画像と、の境界を示すエッジを検出して、当該検出されたエッジの位置および形状に基づいて、パンチ孔ＰＨを示す画像ＰＡを特定しても良い。
【００８１】
Ｓ２５ｃでは、ＣＰＵ１１０は、スキャンデータに対する解析処理の一部として、後述する背景画像ＢＩｃをずらす方向と量ＳＬとを決定する。背景画像ＢＩｃをずらす方向は、左右上下のいずれかの方向のうち、スキャン画像ＳＩｃにおいて複数個のパンチ孔ＰＨを示す画像ＰＡが位置する端の方向に決定される。図１１（Ａ）の例では、スキャン画像ＳＩｃの左端に複数個のパンチ孔ＰＨを示す画像ＰＡが位置するので、背景画像ＢＩｃをずらす方向は、左方向に決定される。背景画像ＢＩｃをずらす量ＳＬは、例えば、複数個のパンチ孔ＰＨを示す画像ＰＡの上下左右の端のうち、背景画像ＢＩｃをずらす方向とは反対方向の端から、スキャン画像ＳＩｃの上下左右の端のうち、背景画像ＢＩｃをずらす方向の端までの長さに、決定される。図１１（Ａ）の例では、背景画像ＢＩｃをずらす量ＳＬは、複数個のパンチ孔ＰＨを示す画像ＰＡの右端から、スキャン画像ＳＩｃの左端までの長さに決定される。
【００８２】
Ｓ４０ｃでは、ＣＰＵ１１０は、Ｓ２０ｃおよびＳ２５ｃの解析処理の結果を用いて、画像ファイルＩＦｃを用いて再生画像ＤＩｃを再生する際にスキャンデータに対して実行されるべき画像処理が記述された画像処理コマンドを生成する。
【００８３】
ここで、画像ファイルＩＦｃを用いて再生される再生画像ＤＩｃについて、先に説明する。図１１（Ｂ）には、前景画像ＦＩｃが示されている。前景画像ＦＩｃは、スキャン画像ＳＩｃから、複数個のパンチ孔ＰＨを示す画像ＰＡを除く画像をクリッピングして得られる画像である。すなわち、前景画像ＦＩｃは、スキャン画像ＳＩｃから複数個のパンチ孔ＰＨを示す画像ＰＡが削除された画像である。図１１（Ｂ）において、領域ＣＡｃは、削除された画像ＰＡに対応する領域である。スキャンデータに対して、スキャン画像ＳＩｃから、複数個のパンチ孔ＰＨを示す画像ＰＡを除く画像をクリッピングするクリップ処理が行われると、前景画像ＦＩを示す前景画像データが生成されることが解る。
【００８４】
背景画像ＢＩｃは、スキャン画像ＳＩｃそのままの画像である。図１１（Ａ）は、背景画像ＢＩｃを示す図とも言うことができる。
【００８５】
図１１（Ｃ）には、背景画像ＢＩｃ上に前景画像ＦＩｃを重畳して得られる重畳画像ＯＩｃが示されている。ここで、背景画像ＢＩｃと前景画像ＦＩｃとは、背景画像ＢＩｃが前景画像ＦＩｃに対してずれた状態で、重畳される。背景画像ＢＩｃが前景画像ＦＩｃに対してずれる方向と量は、Ｓ２５ｃにて決定された方向と量である。図１１（Ｃ）の例では、背景画像ＢＩｃが、前景画像ＦＩｃに対して、左方向に量ＳＬだけずれている。
【００８６】
再生画像ＤＩｃは、図１１（Ｃ）の重畳画像ＯＩｃのうち、前景画像ＦＩｃの全体に対応する再生領域ＤＡｃ内の画像である（図１１（Ｄ））。
【００８７】
再生画像ＤＩｃは、前景画像ＦＩの全体を含んでいる。そして、再生画像ＤＩｃにおいて、前景画像ＦＩの領域ＣＡｃには、背景画像ＢＩｃの背景Ｂｇが再生される。したがって、再生画像ＤＩｃは、スキャン画像ＳＩｃのうち、複数個のパンチ孔ＰＨを示す画像ＰＡを除いた画像を含み、複数個のパンチ孔ＰＨを示す画像ＰＡを含んでいない。
【００８８】
Ｓ４０ｃでは、以上のような再生画像ＤＩｃを再生すべく、画像処理コマンドが生成されて、バッファ領域２２１に記述される。具体的には、図１０に示すように、前景画像生成コマンドと、背景画像生成コマンドと、再生領域指定コマンドと、を含むコマンド群が、生成される。これらのコマンドは、ＰＤＦの規格に従って生成・記述される。
【００８９】
前景画像生成コマンドは、スキャンデータを用いて前景画像データを生成して、前景画像ＦＩｃを特定の座標系に描画するためのコマンドである。前景画像生成コマンドは、サイズ指定コマンドと、クリップコマンドと、を含み、これらのコマンドが、スキャンデータに対して、この順番で実行されるように、記述されている。
【００９０】
サイズ指定コマンドは、図３の前景画像生成コマンドに含まれるサイズ指定コマンドと同じである。
【００９１】
クリップコマンドは、スキャン画像ＳＩｃから、複数個のパンチ孔ＰＨを示す画像ＰＡを除く画像をクリッピングするコマンドである。例えば、「Ｘ７  Ｙ７  Ｗ２  Ｈ２」は、スキャン画像ＳＩｃの全体に対応する矩形領域を規定するように設定される。「Ｘ８  Ｙ８  Ｗ３  Ｈ３」、「Ｘ９  Ｙ９  Ｗ３  Ｈ３」は、図１１（Ａ）の２個のパンチ孔ＰＨを示す画像ＰＡに対応する矩形領域を規定するように設定される。
【００９２】
背景画像生成コマンドは、スキャンデータを用いて背景画像データを生成して、背景画像ＢＩｃを特定の座標系に描画するためのコマンドである。背景画像生成コマンドは、サイズ指定コマンドと、平行移動コマンドと、を含み、これらのコマンドが、スキャンデータに対して、この順番で実行されるように、記述されている。
【００９３】
サイズ指定コマンドは、前景画像生成コマンドにおけるサイズ指定コマンドと同じである。すなわち、本実施例では、前景画像ＦＩｃと背景画像ＢＩｃとは同じ倍率である。
【００９４】
平行移動コマンドは、画像をＸ方向（図１１の横方向）に、「Ｘｍ」だけ平行移動させ、Ｙ方向（図１１の縦方向）に、「Ｙｍ」だけ平行移動させるコマンドである。Ｘｍ、Ｙｍの値は、Ｓ２５ｃにおいて決定された背景画像ＢＩｃをずらす方向および距離ＳＬに基づいて設定される。図１１（Ａ）の例では、背景画像ＢＩｃを左方向に距離ＳＬだけ平行移動させるように、「Ｘｍ＝−ＳＬ、Ｙｍ＝０」に、設定される。
【００９５】
図１０に示すように、背景画像生成コマンドが先に記述され、前景画像生成コマンドが後に記述されることによって、第１実施例と同様に、背景画像ＢＩｃが描画された後に、背景画像ＢＩｃ上に前景画像ＦＩｃが描画される。これによって、背景画像ＢＩｃ上に前景画像ＦＩｃが重畳された重畳画像ＯＩｃが特定の座標系に描画される。
【００９６】
再生領域指定コマンドは、図３の再生領域指定コマンドと同様に、特定の座標系に描画された重畳画像ＯＩｃのうち、再生画像ＤＩｃが位置している再生領域ＤＡｃを指定するコマンドである。Ｘ４、Ｙ４、Ｘ５、Ｙ５の値は、重畳画像ＯＩｃのうち、前景画像ＦＩｃの全体に対応する矩形領域を、再生領域ＤＡｃとして指定するように、設定される。
【００９７】
以上の説明から解るように、第３実施例では、ＣＰＵ１１０は、スキャン画像ＳＩｃ内の原稿ＣＰｃのパンチ孔ＰＨを示す画像ＰＡを特定する解析処理を実行する（図９のＳ２０ｃ）。そして、ＣＰＵ１１０は、スキャン画像ＳＩｃ内のパンチ孔ＰＨとは異なる部分を示す画像（具体的には、背景ＢｇやオブジェクトＯｂ１、Ｏｂ２を含む画像）を再生画像ＤＩｃに含め、特定済みのパンチ孔ＰＨを示す画像ＰＡを再生画像ＤＩｃから除外するコマンドを含む画像処理コマンドを生成する（図９のＳ４０ｃ）。この結果、パンチ孔ＰＨとは異なる部分を示す画像を再生し、パンチ孔ＰＨを示す画像ＰＡを再生しないための画像ファイルＩＦｃを生成することができる。
【００９８】
さらに、第３実施例では、ＣＰＵ１１０は、パンチ孔ＰＨを示す画像ＰＡに代えて、背景画像ＢＩｃの背景Ｂｇを示す画像を含む再生画像ＤＩｃ（図１１（Ｄ））を再生する画像処理コマンドを生成する（図９のＳ４０ｃ）。こうすれば、原稿ＣＰｃのパンチ孔ＰＨに代えて背景画像ＢＩｃの背景Ｂｇを示す画像が再生されるので、再生画像ＤＩｃの見栄えを向上することができる。一般に、原稿ＣＰｃの外縁部分には、パンチ孔ＰＨを除いて、背景Ｂｇが位置し、オブジェクトＯｂ１、Ｏｂ２が位置しないこと想定される。このために、背景画像ＢＩ上に、前景画像ＦＩが、僅かな量ＳＬだけずれて重畳されることで、再生画像ＤＩの端部に、パンチ孔ＰＨに代えて、背景画像ＢＩの背景Ｂｇａが配置される。
【００９９】
以上の説明から解るように、本実施例の背景画像ＢＩｃの背景Ｂｇを示す画像は、補足画像の例である。また、本実施例のパンチ孔ＰＨは、原稿の特定部分の例であり、パンチ孔ＰＨを示す画像ＰＡは、第３画像の例であり、スキャン画像ＳＩｃのうち、パンチ孔ＰＨを示す画像ＰＡを除いた画像は、第４画像の例である。
【０１００】
Ｄ．変形例：
（１）図２の画像ファイル生成処理は、全てスキャナ１００のＣＰＵ１１０によって、実行されている。これに限らず、画像ファイル生成処理の全部または一部は、他の装置によって実行されても良い。
【０１０１】
例えば、図１の計算機２００のＣＰＵ２１０が、図２の画像ファイル生成処理の全部を実行しても良い。この場合には、例えば、スキャナドライバプログラムＰＧ２を実行することによってスキャンドライバとして機能するＣＰＵ２１０が、画像ファイル生成処理を実行する。そして、ＣＰＵ２１０は、図２のＳ１５では、スキャナドライバがスキャナ１００を制御することによって、読取実行部としてのスキャナ１００にスキャンデータを生成させて、該スキャナ１００からスキャンデータを取得すれば良い。この場合には、計算機２００が、画像処理装置に相当する。図６、図９の画像ファイル生成処理についても同様である。
【０１０２】
この場合において、スキャンデータは、スキャナ１００のＣＰＵ１１０によってＪＰＥＧ形式に圧縮され、計算機２００は、圧縮済みのスキャンデータ（具体的にはＪＰＥＧデータ）をスキャナ１００から取得しても良い。この場合には、計算機２００のＣＰＵ２１０は、当該圧縮済みのスキャンデータを展開して、展開済みのスキャンデータ（ＲＧＢ画像データなどのビットマップデータ）を解析する解析処理（Ｓ２０〜Ｓ３０）を実行する。そして、計算機２００のＣＰＵ２１０は、Ｓ３５のスキャンデータの圧縮を実行せずに、スキャナ１００から取得された圧縮済みのスキャンデータをそのまま用いて、画像ファイルＩＦを生成すれば良い。
【０１０３】
また、別の態様としては、スキャナ１００のＣＰＵ１１０と、計算機２００のＣＰＵ２１０と、が協働して、図２の画像ファイル生成処理を実行しても良い。例えば、スキャナ１００のＣＰＵ１１０は、図２のＳ１５〜Ｓ３５までの処理、すなわち、スキャンデータの取得（Ｓ１５）、スキャンデータの解析処理（Ｓ２０〜Ｓ３０）、スキャンデータの圧縮（Ｓ３５）を実行する。そして、ＣＰＵ１１０は、スキャンデータの解析結果と、圧縮済みのスキャンデータと、を、計算機２００に対して送信する。計算機２００が、スキャンデータの解析結果と、圧縮済みのスキャンデータと、を受信すると、計算機２００のＣＰＵ１１０は、図２のＳ４０の画像処理コマンドの生成を実行して、画像ファイルＩＦを生成する。この場合には、スキャナ１００と計算機２００との全体が、画像処理装置に相当する。図６、図９の画像ファイル生成処理についても同様である。
【０１０４】
（２）図２の画像ファイル生成処理では、ＣＰＵ１１０は、バッファ領域１２１にて、画像ファイルＩＦを完成させている。これに代えて、ＣＰＵ１１０は、図２のＳ１０にて生成されるＰＤＦヘッダ、図２のＳ３５にて生成される圧縮済みのスキャンデータ、図２のＳ４０にて生成される画像処理コマンド、図２のＳ５０にて生成されるＰＤＦフッタを、生成する度に、計算機２００に対して送信しても良い。この場合には、これらを受信した計算機２００において、画像ファイルＩＦが完成される。この場合には、例えば、スキャナ１００のバッファ領域１２１の容量が小さい場合でも、大きなサイズの画像ファイルＩＦ、例えば、ページ数が比較的多い画像ファイルＩＦを生成することができる。図６、図９の画像ファイル生成処理についても同様である。
【０１０５】
（３）図２の画像ファイル生成処理では、ＣＰＵ１１０は、Ｓ２０〜Ｓ３０のスキャンデータの解析処理の後に、Ｓ３５にてスキャンデータを圧縮している。これに代えて、ＣＰＵ１１０は、Ｓ２０〜Ｓ３０のスキャンデータの解析処理と、Ｓ３５にてスキャンデータを圧縮と、を並行して、実行しても良い。例えば、バッファ領域１２１に格納されたスキャンデータの解析処理を行いながら、該スキャンデータの圧縮を所定量分の部分データごとに実行し、圧縮済みの部分データを計算機２００に送信しても良い。こうすれば、ＣＰＵ１１０は、スキャンデータの解析処理が終了していなくても、スキャンデータの生成直後から、順次に、計算機２００に対して、圧縮済みスキャンデータを送信することができる。
【０１０６】
（４）図２の画像ファイル生成処理の再生画像ＤＩ（図５（Ｄ））において、前景画像ＦＩの外側の領域には、背景画像ＢＩの背景Ｂｇａが配置される。これに代えて、前景画像ＦＩの外側の領域には、他の画像を配置されてもよい。例えば、スキャン画像ＳＩの端部をクリッピングすることで生成されるスキャン画像ＳＩの背景Ｂｇを示す部分画像が、前景画像ＦＩの外側の領域に配置されても良い。この場合には、例えば、Ｓ４０にて、スキャン画像ＳＩの端部をクリッピングするクリップコマンドと、クリップされた画像を前景画像ＦＩの外側に配置するコマンドと、を含む画像処理コマンドが、生成されれば良い。
【０１０７】
（５）図９の画像ファイル生成処理の再生画像ＤＩｃ（図１１（Ｄ））において、前景画像ＦＩｃのパンチ孔ＰＨに対応する領域ＣＡｃには、背景画像ＢＩｃの背景Ｂｇが配置される。これに代えて、前景画像ＦＩｃの当該領域ＣＡｃには、他の画像を配置されてもよい。例えば、スキャン画像ＳＩｃの端部をクリッピングすることで生成されるスキャン画像ＳＩｃの背景Ｂｇを示す部分画像が、前景画像ＦＩｃの当該領域ＣＡｃに配置されても良い。この場合には、例えば、Ｓ４０ｃにて、スキャン画像ＳＩｃの端部をクリッピングするクリップコマンドと、クリップされた画像を前景画像ＦＩｃの当該領域ＣＡｃに配置するコマンドと、を含む画像処理コマンドが、生成されれば良い。
【０１０８】
（６）図９の画像ファイル生成処理において、図１１（Ａ）のスキャン画像ＳＩｃのうち、パンチ孔ＰＨに対応する画像ＰＡを含む幅ＳＬの帯状の端部領域を除いた領域を、再生領域に指定しても良い。この場合には、再生画像は、帯状の端部領域が除かれた分、細長い形状となるが、背景画像ＢＩと前景画像ＦＩを重畳することなく、パンチ孔ＰＨとは異なる部分を示す画像を再生し、パンチ孔ＰＨを示す画像ＰＡを再生しないことを実現できる。この結果、画像ファイルを容易に生成することができる。
【０１０９】
（６）図２の画像ファイル生成処理では、Ｓ２５において、前景画像ＦＩの範囲が動的に決定され、Ｓ３０において、背景画像ＢＩの倍率Ｍｒを、動的に決定されているが、前景画像ＦＩの範囲や背景画像ＢＩの倍率Ｍｒは、予め定められていても良い。
【０１１０】
（７）図２、図６、図９の画像ファイル生成処理にて、生成される画像ファイルＩＦは、ＰＤＦファイルであるが、これに代えて、例えば、ＸＰＳ（XML Paper Specification）形式等の他のページ記述言語で記述された画像ファイルが生成されても良い。
【０１１１】
（８）図２の画像ファイル生成処理は、一例であり、適宜に変形され得る。例えば、図２のＳ２４、Ｓ３０の処理が、省略され、原稿画像ＣＰＩの傾きの特定（Ｓ２０）のみが実行されても良い。そして、Ｓ４０では、当該原稿画像ＣＰＩの傾きを補正する傾き補正コマンドだけが生成されても良い。この場合には、再生画像ＤＩは、傾きは補正されているが、余白画像ＢＬＩを含む画像となる。また、Ｓ３５が省略され、画像ファイルＩＦには、圧縮されていないスキャンデータがそのまま格納されても良い。
【０１１２】
（９）図９の画像ファイル生成処理では、再生画像ＤＩｃには、原稿ＣＰｃのパンチ孔ＰＨを示す画像ＰＡが含まれず、原稿ＣＰｃのパンチ孔ＰＨとは異なる部分を示す画像が含まれる。これに代えて、再生画像には、原稿のヘッダ部分とフッタ部分を示す画像が含まれず、該ヘッダ部分とフッタ部分との間の中央部分を示す画像が含まれても良い。すなわち、一般的には、再生画像には、原稿の特定部分を示す画像が含まれ、原稿の該特定部分とは異なる部分が含まれることが好ましい。
【０１１３】
（１０）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１１４】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１１５】
１００...スキャナ、１１０...ＣＰＵ、１２０...揮発性記憶装置、１２１...バッファ領域、１３０...不揮発性記憶装置、１５０...読取実行部、１６０...表示部、１７０...操作部、１８０...通信部、２００...計算機、２１０...ＣＰＵ、２２０...揮発性記憶装置、２２１...バッファ領域、２３０...不揮発性記憶装置、２６０...表示部、２７０...操作部、２８０...通信部、ＰＧ１...制御プログラム、ＰＧ２...スキャナドライバプログラム
【図１】
0006746928.tif 000002
【図２】
0006746928.tif 000003
【図３】
0006746928.tif 000004
【図４】
0006746928.tif 000005
【図５】
0006746928.tif 000006
【図６】
0006746928.tif 000007
【図７】
0006746928.tif 000008
【図８】
0006746928.tif 000009
【図９】
0006746928.tif 000010
【図１０】
0006746928.tif 000011
【図１１】
0006746928.tif 000012