(57)【要約】【課題】画像読取装置を動作させ、被読取面の画像に対応する圧縮された形式の圧縮データを、好適に展開することができる、コンピュータプログラム及び画像読取システムを提供することを目的とする。【解決手段】画像読取装置を動作させるためのコンピュータプログラムであって、コンピュータを、圧縮部分データを繰り返して取得する手段と、圧縮部分データを含む圧縮データを展開する手段と、展開データを格納するための記憶領域を確保する手段と、第一容量の記憶領域が確保されたかについて判断する手段と、確保された記憶領域に展開データを格納する手段として機能させる。第一容量の記憶領域が確保できた場合、被読取面の画像の全部に対応する複数の圧縮部分データをまとめて展開し、第一容量の記憶領域に格納する。確保できないと判断された場合、圧縮部分データをそれぞれ展開し、第一容量より小さな第二容量の記憶領域に格納する。【選択図】図５
2012182756.tif 000002
【特許請求の範囲】
【請求項１】
被読取面の画像を読み取る画像読取装置を動作させ、読み取られた被読取面の画像に対応する圧縮された形式の圧縮データを展開するためのコンピュータが読み取り可能なコンピュータプログラムであって、
前記コンピュータを、
前記画像読取装置で読み取られた被読取面の画像の一部に対応する圧縮された形式の圧縮部分データを、被読取面の画像の全部の部分について、繰り返して取得する取得手段と、
圧縮部分データを含む圧縮データを展開する展開手段と、
前記展開手段で展開された展開データを格納するための記憶領域を、前記コンピュータが有する記憶手段に確保する確保手段と、
前記確保手段で、被読取面の画像の全部に対応した展開データを格納できる容量として予め定められた第一容量の記憶領域が確保されたかについて判断する判断手段と、
前記確保手段で確保された記憶領域に、前記展開手段で展開された展開データを格納する格納手段と、して機能させ、
前記展開手段は、
前記判断手段で前記第一容量の記憶領域が確保できたと判断された場合、被読取面の画像の全部に対応し、前記取得手段で取得された複数の圧縮部分データをまとめて展開し、
前記判断手段で前記第一容量の記憶領域が確保できないと判断された場合、前記取得手段で取得された圧縮部分データをそれぞれ展開する、機能を含み、
前記格納手段は、
前記展開手段で複数の圧縮部分データがまとめて展開された場合、被読取面の画像の全部に対応した展開データを、前記確保手段で確保された前記第一容量の記憶領域に格納し、
前記展開手段で圧縮部分データがそれぞれ展開された場合、圧縮部分データに対応した展開データを、前記確保手段で確保された前記第一容量より小さな第二容量の記憶領域に格納する、機能を含む、コンピュータプログラム。
【請求項２】
被読取面の画像を読み取る画像読取装置と、前記画像読取装置と通信し、前記画像読取装置を動作させ、読み取られた被読取面の画像に対応する圧縮された形式の圧縮データを展開するコンピュータと、を含む画像読取システムであって、
前記画像読取装置は、
被読取面の画像を読み取る読取手段と、
前記読取手段で読み取られた被読取面の画像の一部に対応する圧縮された形式の圧縮部分データを、被読取面の画像の全部の部分について、繰り返して、前記コンピュータに送信する送信手段と、を有し、
前記コンピュータは、
前記画像読取装置から送信される圧縮部分データを、被読取面の画像の全部の部分について、繰り返して取得する取得手段と、
圧縮部分データを含む圧縮データを展開する展開手段と、
前記展開手段で展開された展開データを格納するための記憶領域を、前記コンピュータが有する記憶手段に確保する確保手段と、
前記確保手段で、被読取面の画像の全部に対応した展開データを格納できる容量として予め定められた第一容量の記憶領域が確保されたかについて判断する判断手段と、
前記確保手段で確保された記憶領域に、前記展開手段で展開された展開データを格納する格納手段と、を有し、
前記展開手段は、
前記判断手段で前記第一容量の記憶領域が確保できたと判断された場合、被読取面の画像の全部に対応し、前記取得手段で取得された複数の圧縮部分データをまとめて展開し、
前記判断手段で前記第一容量の記憶領域が確保できないと判断された場合、前記取得手段で取得された圧縮部分データをそれぞれ展開し、
前記格納手段は、
前記展開手段で複数の圧縮部分データがまとめて展開された場合、被読取面の画像の全部に対応した展開データを、前記確保手段で確保された前記第一容量の記憶領域に格納し、
前記展開手段で圧縮部分データがそれぞれ展開された場合、圧縮部分データに対応した展開データを、前記確保手段で確保された前記第一容量より小さな第二容量の記憶領域に格納する、画像読取システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被読取面の画像を読み取る画像読取装置を動作させ、読み取られた被読取面の画像に対応する圧縮された形式の圧縮データを展開するためのコンピュータが読み取り可能なコンピュータプログラムと、画像読取装置とコンピュータとを含む画像読取システムとに関する。
【背景技術】
【０００２】
従来から、原稿等の被読取面の画像を読み取ることに関する技術が提案されている（例えば、特許文献１参照）。特許文献１には、リーダとプリンタを備えたカラー複写機が、開示されている。このカラー複写機は、リーダで読取った原稿の画像データを例えばＪＰＥＧ方式で圧縮する圧縮回路、圧縮した画像データを書込むページメモリ、ページメモリに書込んだ圧縮画像データを伸長してプリンタへ供給する伸長回路などを含む。なお、カラー複写機は、ＡＴＭネットワーク、サーバに接続されている。また、特許文献１には、パソコンが開示されている。このパソコンは、ＡＴＭネットワークとＬＡＮとに接続され、その間でＭＰＥＧやＪＰＥＧなどの符号データの授受を行ってデータの符号化・復号を行うとともに、各種画像データの編集を含む各種の処理を行う。パソコンは、データの符号化／復号を行うＣＯＤＥＣを含む。ＣＯＤＥＣは、ＪＰＥＧ方式およびＭＰＥＧ方式に対応している。
【０００３】
なお、デジタルカメラなどに好適な画像処理方法及び画像処理装置に関し、フレームメモリに書き込まれた１ブロックライン分のＪＰＥＧ圧縮データが、入力ＤＭＡを介してＪＰＥＧ伸張部に入力される、ことが開示されている。入力されたＪＰＥＧ圧縮データは、順次伸張された後、出力ＤＭＡを介してフレームメモリに入力される、ことが開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１６３３４４号公報
【特許文献２】特開２００６−２６２４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、画像読取装置とデータ通信可能に接続されたコンピュータには、画像読取装置を動作させ、読み取られた被読取面の画像に対応する圧縮された形式の圧縮データを展開等するためのコンピュータプログラムがインストールされている。なお、画像読取装置は、いわゆるスキャナ、又は、スキャン機能を含む複合機であって、このコンピュータプログラムは、スキャナドライバと称されることもある。また、このコンピュータには、このコンピュータプログラムに対して、読み取りの指示を出力する画像読取用のアプリケーションプログラムを含む複数のアプリケーションプログラムがインストール等されている。コンピュータでは、複数のアプリケーションプログラムが起動され、複数のアプリケーションプログラムによるプロセスを、同時期に実行することが可能である。コンピュータは、周知の通り、アプリケーションプログラムによるプロセスを実行し、各種のデータを記憶するための記憶手段（メモリ）、具体的にはＲＡＭを有する。複数のアプリケーションプログラムによるプロセスが実行されると、記憶手段上で多くの記憶領域が使用される。
【０００６】
画像読取装置が動作し、被読取面の画像が読み取られた場合、画像読取装置は、読み取られた被読取面の画像に対応する圧縮された形式の圧縮データを、コンピュータに送信する。コンピュータは、コンピュータで受信されて取得された圧縮データを対象として、これを展開等する。このような場合、展開処理が、他に実行されているアプリケーションプログラムによるプロセスに、多大な影響を与えることなく、好適に行われることが求められる。例えば、高速に行われることが求められる。
【０００７】
本発明は、画像読取装置を動作させ、被読取面の画像に対応する圧縮された形式の圧縮データを、好適に展開することができる、コンピュータプログラム及び画像読取システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記従来の課題に鑑みなされた本発明の一側面は、被読取面の画像を読み取る画像読取装置を動作させ、読み取られた被読取面の画像に対応する圧縮された形式の圧縮データを展開するためのコンピュータが読み取り可能なコンピュータプログラムであって、前記コンピュータを、前記画像読取装置で読み取られた被読取面の画像の一部に対応する圧縮された形式の圧縮部分データを、被読取面の画像の全部の部分について、繰り返して取得する取得手段と、圧縮部分データを含む圧縮データを展開する展開手段と、前記展開手段で展開された展開データを格納するための記憶領域を、前記コンピュータが有する記憶手段に確保する確保手段と、前記確保手段で、被読取面の画像の全部に対応した展開データを格納できる容量として予め定められた第一容量の記憶領域が確保されたかについて判断する判断手段と、前記確保手段で確保された記憶領域に、前記展開手段で展開された展開データを格納する格納手段と、して機能させ、前記展開手段は、前記判断手段で前記第一容量の記憶領域が確保できたと判断された場合、被読取面の画像の全部に対応し、前記取得手段で取得された複数の圧縮部分データをまとめて展開し、前記判断手段で前記第一容量の記憶領域が確保できないと判断された場合、前記取得手段で取得された圧縮部分データをそれぞれ展開する、機能を含み、前記格納手段は、前記展開手段で複数の圧縮部分データがまとめて展開された場合、被読取面の画像の全部に対応した展開データを、前記確保手段で確保された前記第一容量の記憶領域に格納し、前記展開手段で圧縮部分データがそれぞれ展開された場合、圧縮部分データに対応した展開データを、前記確保手段で確保された前記第一容量より小さな第二容量の記憶領域に格納する、機能を含む、コンピュータプログラムである。
【０００９】
これによれば、展開された展開データを格納するための記憶領域として確保できる容量に応じて、圧縮部分データを展開するための手順を異ならせることができる。すなわち、被読取面の画像の全部に対応する容量の展開データを格納することができる場合、複数の圧縮部分データをまとめて展開する。そのため、高速な展開を実現することができる。一方、被読取面の画像の全部に対応する容量の展開データを格納することができない場合、圧縮部分データをそれぞれ展開する。そのため、少ない容量の記憶領域で好適な展開を実現することができる。
【００１０】
本発明の他の側面は、被読取面の画像を読み取る画像読取装置と、前記画像読取装置と通信し、前記画像読取装置を動作させ、読み取られた被読取面の画像に対応する圧縮された形式の圧縮データを展開するコンピュータと、を含む画像読取システムであって、前記画像読取装置は、被読取面の画像を読み取る読取手段と、前記読取手段で読み取られた被読取面の画像の一部に対応する圧縮された形式の圧縮部分データを、被読取面の画像の全部の部分について、繰り返して、前記コンピュータに送信する送信手段と、を有し、前記コンピュータは、前記画像読取装置から送信される圧縮部分データを、被読取面の画像の全部の部分について、繰り返して取得する取得手段と、圧縮部分データを含む圧縮データを展開する展開手段と、前記展開手段で展開された展開データを格納するための記憶領域を、前記コンピュータが有する記憶手段に確保する確保手段と、前記確保手段で、被読取面の画像の全部に対応した展開データを格納できる容量として予め定められた第一容量の記憶領域が確保されたかについて判断する判断手段と、前記確保手段で確保された記憶領域に、前記展開手段で展開された展開データを格納する格納手段と、を有し、前記展開手段は、前記判断手段で前記第一容量の記憶領域が確保できたと判断された場合、被読取面の画像の全部に対応し、前記取得手段で取得された複数の圧縮部分データをまとめて展開し、前記判断手段で前記第一容量の記憶領域が確保できないと判断された場合、前記取得手段で取得された圧縮部分データをそれぞれ展開し、前記格納手段は、前記展開手段で複数の圧縮部分データがまとめて展開された場合、被読取面の画像の全部に対応した展開データを、前記確保手段で確保された前記第一容量の記憶領域に格納し、前記展開手段で圧縮部分データがそれぞれ展開された場合、圧縮部分データに対応した展開データを、前記確保手段で確保された前記第一容量より小さな第二容量の記憶領域に格納する、画像読取システムである。
【００１１】
これによれば、画像読取システムにおいて、上述したコンピュータプログラムによって得られる有利な機能を実現することができる。
【発明の効果】
【００１２】
本発明によれば、画像読取装置を動作させ、被読取面の画像に対応する圧縮された形式の圧縮データを、好適に展開することができる、コンピュータプログラム及び画像読取システムを得ることができる。
【図面の簡単な説明】
【００１３】
【図１】画像読取装置とコンピュータとを含む画像読取システムの一例を示す図であって、画像読取装置及びコンピュータのハードウェア構成の一例を示すブロック図である。
【図２】画像読取装置で読み取られ、コンピュータに送信されるデータの構造の一例を説明する図である。
【図３】コンピュータで実行されるメイン処理のフローチャート（その１）である。
【図４】コンピュータで実行されるメイン処理のフローチャート（その２）である。
【図５】コンピュータにおけるデータの流れを、バンド処理モードの場合とページ処理モードの場合とに分けて説明する図である。
【図６】展開開始処理のフローチャートである。
【図７】書込処理のフローチャートである。
【図８】読込処理のフローチャートである。
【発明を実施するための形態】
【００１４】
本発明を実施するための実施形態について、図面を用いて説明する。本発明は、以下に記載の構成に限定されるものではなく、同一の技術的思想において種々の構成を採用することができる。例えば、以下に示す構成の一部は、省略し又は他の構成等に置換してもよい。また、他の構成を含むようにしてもよい。
【００１５】
＜画像読取システム＞
画像読取システム１について、図１等を参照して説明する。画像読取システム１は、図１に示すように、コンピュータ１０と、画像読取装置５０とを含む。画像読取システム１では、コンピュータ１０からのスキャン開始コマンドに従い、画像読取装置５０が動作し、画像読取装置５０で読み取られた被読取面に対応するデータが、画像読取装置５０からコンピュータ１０に送信される。コンピュータ１０では、受信されたデータに対応する被読取面の画像が表示される。コンピュータ１０と画像読取装置５０とは、通信ケーブル３によって、データ通信可能に接続されている。通信ケーブル３としては、ＵＳＢ接続用のＵＳＢケーブル、又は、ネットワーク接続用のＬＡＮケーブルが例示される。なお、コンピュータ１０と画像読取装置５０とは、無線接続されていてもよい。この場合、通信ケーブル３は省略される。
【００１６】
コンピュータ１０は、例えば、従来から広く使用されているパーソナルコンピュータである。コンピュータ１０は、図１に示すように、ＣＰＵ１２と、ＲＯＭ１４と、ＲＡＭ１６と、ハードディスク（以下、「ＨＤＤ」という。）１８と、接続インターフェース（以下、「接続Ｉ／Ｆ」という。）２０と、操作部２２と、表示部２４とを有する。ＣＰＵ１２は、演算処理を実行する。ＣＰＵ１２は、例えば、ＨＤＤ１８にインストールされた各種のコンピュータプログラムを実行する等して、コンピュータ１０を制御する。ＲＯＭ１４は、所定のコンピュータプログラムを記憶する。ＲＡＭ１６は、ＣＰＵ１２が各種のコンピュータプログラムを実行する際に利用される記憶領域となる記憶手段である。コンピュータ１０において、ＣＰＵ１２が、ＲＡＭ１６を利用して、例えばＨＤＤ１８にインストールされたコンピュータプログラムを実行することで、各種の機能手段が構成される。
【００１７】
ＨＤＤ１８は、記憶部である。ＨＤＤ１８には、例えば、オペレーションシステム、画像読取装置５０を動作させるためのコンピュータプログラム、及び画像読取装置５０を利用するためのアプリケーションプログラム等がインストールされている。なお、画像読取装置５０を動作させるためのコンピュータプログラムは、図３及び図４、図６〜図８に示す処理のためのものであって、スキャナドライバと称されることもある。画像読取装置５０を動作させるためのコンピュータプログラムは、圧縮された形式の圧縮データを、圧縮されていない非圧縮データに展開する展開処理のための展開モジュールを含む。例えば、ＪＰＥＧデータを、ビットマップデータに展開する展開処理のための展開モジュールを含む。ＨＤＤ１８は、ＳＤＤ（Solid State Drive）に代替することもできる。
【００１８】
接続Ｉ／Ｆ２０は、コンピュータ１０を画像読取装置５０に接続し、通信ケーブル３を介したデータ通信を行うためのインターフェースである。通信ケーブル３がＵＳＢケーブルである場合、接続Ｉ／Ｆ２０は、ＵＳＢインターフェースカードによって構成される。通信ケーブル３がＬＡＮケーブルである場合、接続Ｉ／Ｆ２０は、ネットワークカードによって構成される。コンピュータ１０と画像読取装置５０とが無線接続される場合、接続Ｉ／Ｆ２０は、無線接続のためのアダプタによって構成される。操作部２２は、ユーザが所定の指令（情報）をコンピュータ１０に入力するためのユーザインターフェースである。操作部２２は、例えば、キーボード、マウスによって構成される。表示部２４は、各種の情報を表示するモニタである。表示部２４は、例えば、液晶モニタによって構成される。
【００１９】
画像読取装置５０は、例えば、従来から広く使用されているスキャナ装置、又は、スキャン機能を含む複合機である。画像読取装置５０は、図１に示すように、ＣＰＵ５２と、ＲＯＭ５４と、ＲＡＭ５６と、接続Ｉ／Ｆ５８と、シートフィーダ６０と、読取部６２とを有する。ＣＰＵ５２は、演算処理を実行する。ＣＰＵ５２は、例えば、ＲＯＭ５４に記憶された所定のコンピュータプログラムを実行する等して、画像読取装置５０を制御する。ＲＯＭ５４は、画像読取装置５０を制御するためのコンピュータプログラム等を記憶する。ＲＡＭ５６は、ＣＰＵ５２がＲＯＭ５４に記憶されたコンピュータプログラムを実行する際に利用される記憶領域となる記憶手段である。画像読取装置５０において、ＣＰＵ５２が、ＲＡＭ５６を利用して、ＲＯＭ５４に記憶されたコンピュータプログラムを実行することで、各種の機能手段が構成され、各種の処理が実行される。
【００２０】
接続Ｉ／Ｆ５８は、画像読取装置５０をコンピュータ１０に接続し、通信ケーブル３を介したデータ通信を行うためのインターフェースである。接続Ｉ／Ｆ５８は、コンピュータ１０における接続Ｉ／Ｆ２０と同様の構成を有する。接続Ｉ／Ｆ５８に関する説明は、上述した通りであり、省略する。シートフィーダ６０は、自動給紙部（自動搬送部）としての機能を有する。シートフィーダ６０は、原稿収容部と、搬送機構と、原稿排紙部とを含む。シートフィーダ６０では、原稿収容部に載せ置かれた原稿１００（図５参照）が、原稿収容部から搬送機構によって自動的に搬送される。搬送された原稿１００は、原稿排紙部に排紙される。読取部６２は、ＣＩＳ方式又はＣＣＤ方式のスキャナ機構によって構成される。読取部６２は、搬送経路の途中に設けられている。読取部６２は、シートフィーダ６０によって搬送されている原稿１００の原稿面である被読取面を、読み取る。
【００２１】
画像読取装置５０では、読取部６２で読み取られた被読取面の画像に対応するデータは、図２に示すようなデータ構造とされる。なお、図２は、２枚の原稿１００が、重ねられた状態でシートフィーダ６０の原稿収容部に載せ置かれ、先ず、上側となった１枚目の原稿１００の一方側の面である被読取面が、読み取られ、続けて、下側となった２枚目の原稿１００の一方側の面である被読取面が、読み取られた場合に対応する状態を図示したものである。この場合、画像読取装置５０（画像読取システム１）では、１枚目の原稿１００の被読取面が１ページ目、２枚目の原稿１００の被読取面が２ページ目として取り扱われる。
【００２２】
画像読取装置５０では、被読取面の画像は、シートフィーダ６０による原稿１００の搬送方向を基準として、原稿１００の先端から後端において、複数のバンド（ブロック）に分割され、順次形成される、バンド単位の複数の圧縮部分データによって現される。図２に示す例では、１枚目の原稿１００の被読取面の画像に対応する圧縮部分データは、「圧縮部分データａ」〜「圧縮部分データｉ」のそれぞれに分割される。従って、１枚目の原稿１００の被読取面の画像は、「圧縮部分データａ」〜「圧縮部分データｉ」として形成される。２枚目の原稿１００の被読取面の画像に対応する圧縮部分データは、「圧縮部分データｊ」〜「圧縮部分データｒ」のそれぞれに分割される。従って、２枚目の原稿１００の被読取面の画像は、「圧縮部分データｊ」〜「圧縮部分データｒ」として形成される。
【００２３】
圧縮部分データには、対応するヘッダが付与される。ヘッダは、圧縮部分データに対応する被読取面のページ番号、圧縮部分データに関する情報、圧縮部分データのデータサイズ等の諸情報を含む。例えば、「圧縮部分データａ」に対応する「ヘッダａ」は、ページ番号としての「１ページ」、「圧縮部分データａに関する情報」、「圧縮部分データａのデータサイズ」等を含む。また、「圧縮部分データｒ」に対応する「ヘッダｒ」は、ページ番号としての「２ページ」、「圧縮部分データｒに関する情報」、「圧縮部分データｒのデータサイズ」等を含む。同一の被読取面において、複数のヘッダに含まれるページ番号は、共通する。例えば、「ヘッダａ」〜「ヘッダｉ」に含まれるページ番号は、全て「１ページ」であり、「ヘッダｊ」〜「ヘッダｒ」に含まれるページ番号は、全て「２ページ」である。
【００２４】
画像読取装置５０では、１つの被読取面の全部について、ヘッダ及び圧縮部分データが、繰り返して、接続Ｉ／Ｆ５８からコンピュータ１０に送信されると共に、このような送信は、読み取られた被読取面の枚数（全ページ）分、繰り返される。なお、圧縮部分データとしては、バンド単位に分割されたＪＰＥＧデータ（以下、「ＪＰＥＧバンドデータ」という。）が例示される。
【００２５】
画像読取装置５０では、１つの被読取面の読み取りが終了した場合、Ｎページ終了との情報を含むヘッダが作成され、接続Ｉ／Ｆ５８からコンピュータ１０に送信される。Ｎページ終了は、ページ番号に対応する被読取面の読み取りが終了したことを示すステータスコードである。例えば、１枚目の原稿１００の被読取面の読み取りが終了した場合、図２の上段に示すように、画像読取装置５０では、「１ページ終了」を含むヘッダが作成され、コンピュータ１０に送信される。また、２枚目の原稿１００の被読取面の読み取りが終了した場合、図２の下段に示すように、画像読取装置５０では、「２ページ終了」を含むヘッダが作成され、コンピュータ１０に送信される。
【００２６】
画像読取装置５０では、シートフィーダ６０の原稿収容部に載せ置かれた原稿１００を対象とした読み取りが全て終了した場合、全ページ終了との情報を含むヘッダが、接続Ｉ／Ｆ５８からコンピュータ１０に送信される。全ページ終了は、シートフィーダ６０の原稿収容部に載せ置かれた原稿１００を対象とした読み取りが全て終了したことを示すステータスコードである。例えば、２枚の原稿１００が載せ置かれた状態を例とする図２のような場合、画像読取装置５０では、２枚目の原稿１００の被読取面の読み取りが終了した際、「２ページ終了」を含むヘッダが送信され、さらに、「全ページ終了」を含むヘッダが、コンピュータ１０に送信される。
【００２７】
＜コンピュータで実行される処理＞
コンピュータ１０で実行されるメイン処理、展開開始処理、書込処理及び読込処理について、説明する。展開開始処理、書込処理及び読込処理は、メイン処理の中で実行される。コンピュータ１０では、メイン処理の開始に先立ち、ユーザは、画像読取装置５０を利用するためのアプリケーションプログラムを、コンピュータ１０上で起動する。ユーザは、表示部２４を視認しつつ、操作部２２を操作する等して、起動されたこのアプリケーションプログラムの画面上で、画像読取装置５０における読取動作の開始の指示を入力する。ＣＰＵ１２は、このアプリケーションプログラムによるプロセス（以下、「アプリプロセス」という。）から、読取動作の開始の指示が入力されたとき、画像読取装置５０を動作させるためのコンピュータプログラムをＨＤＤ１８から読み出し、ＲＡＭ１６上で実行する。これによって、メイン処理が開始される。
【００２８】
以下では、圧縮形式としてＪＰＥＧを例とし、非圧縮形式としてビットマップを例に説明する。この場合、図２に示す「圧縮部分データ」は、「ＪＰＥＧバンドデータ」に対応する。そこで、図２に基づいた説明を行う場合、１ページ目の「圧縮部分データａ」〜「圧縮部分データｉ」を、「ＪＰＥＧバンドデータａ」〜「ＪＰＥＧバンドデータｉ」といい、２ページ目の「圧縮部分データｊ」〜「圧縮部分データｒ」を、「ＪＰＥＧバンドデータｊ」〜「ＪＰＥＧバンドデータｒ」ともいう。圧縮形式及び／又は非圧縮形式は、これらとは異なる形式であってもよい。
【００２９】
＜メイン処理＞
メイン処理について、図３及び図４等を参照して説明する。上述のようにしてメイン処理を開始したＣＰＵ１２は、スキャン開始コマンドを、接続Ｉ／Ｆ２０から画像読取装置５０に送信する（Ｓ１００）。続けて、ＣＰＵ１２は、スキャン開始コマンドの送信に対応して画像読取装置５０から送信されるデータを、接続Ｉ／Ｆ２０を介して受信する（Ｓ１０２）。ＣＰＵ１２は、受信したデータのヘッダに付加されている情報を取得する（Ｓ１０４）。ＣＰＵ１２は、取得した情報が、全ページ終了（図２参照）であるかについて判断する（Ｓ１０６）。全ページ終了であった場合（Ｓ１０６：Ｙｅｓ）、ＣＰＵ１２は、読取終了を、この処理の開始を指示したアプリプロセスに通知する（Ｓ１０８）。読取終了は、シートフィーダ６０に収容された全ての原稿１００について、読取動作が行われたことを示す情報である。Ｓ１０８を実行した後、ＣＰＵ１２は、この処理を終了する。
【００３０】
Ｓ１０４で取得した情報が、全ページ終了ではなかった場合（Ｓ１０６：Ｎｏ）、ＣＰＵ１２は、Ｓ１０２で受信したデータがエラーコードであるかについて判断する（Ｓ１１０）。受信したデータがエラーコードであった場合（Ｓ１１０：Ｙｅｓ）、ＣＰＵ１２は、エラー発生（エラーコード）を、この処理の開始を指示したアプリプロセスに通知し（Ｓ１１２）、この処理を終了する。なお、Ｓ１１２が実行された場合、このアプリケーションプログラムの画面には、エラーの発生及び／又はエラーコードによって示されるエラーの種別を含むエラーメッセージが表示される。
【００３１】
Ｓ１０２で受信したデータがエラーコードではなかった場合（Ｓ１１０：Ｎｏ）、ＣＰＵ１２は、ＲＡＭ１６上に、転送記憶領域が確保されているかについて判断する（Ｓ１１４）。転送記憶領域は、この処理の開始を指示したアプリプロセスによって管理されるアプリ記憶領域に書き込まれるＢＭＰデータを、書き込む前に、格納するための記憶領域である。転送記憶領域は、後述する図４のＳ１２０で確保される。従って、Ｓ１２０が未実行である場合、Ｓ１１４の判断は否定（Ｓ１１４：Ｎｏ）される。Ｓ１１４の判断が否定された場合（Ｓ１１４：Ｎｏ）、ＣＰＵ１２は、処理を図４のＳ１１６に移行し、Ｓ１１６〜Ｓ１２０の処理を実行する。そして、その後、Ｓ１２６の判断が肯定（Ｓ１２６：Ｙｅｓ）され、又は、Ｓ１３０が実行される等して、処理がＳ１０２に戻り、再度、Ｓ１１４が実行された場合、Ｓ１１４の判断は肯定される（Ｓ１１４：Ｙｅｓ）。Ｓ１１４の判断が肯定された場合（Ｓ１１４：Ｙｅｓ）、ＣＰＵ１２は、処理をＳ１２２に移行する。
【００３２】
図４のＳ１１６でＣＰＵ１２は、図６に示す展開開始処理を実行する。展開開始処理については、後述する。Ｓ１１６で展開開始処理を実行した後、ＣＰＵ１２は、この処理のためのコンピュータプログラムに含まれる展開モジュールによる展開処理のためのモードが、バンド処理モード又はページ処理モードの何れに設定されたかを示す情報を取得する（Ｓ１１８）。ここで、バンド処理モードは、図５の「＜バンド処理モード＞」に示すように、被読取面の画像の一部に対応するＪＰＥＧバンドデータを、それぞれ展開処理するモードである。バンド処理モードによれば、ＪＰＥＧバンドデータに対応し、被読取面の画像の一部に対応するＢＭＰバンドデータが、それぞれ形成される。ページ処理モードは、図５の「＜ページ処理モード＞」に示すように、被読取面の画像の全部（全範囲）に対応する複数のＪＰＥＧバンドデータを、まとめて展開処理するモードである。ページ処理モードによれば、複数のＪＰＥＧバンドデータに対応し、被読取面の画像の全部に対応するＢＭＰデータが形成される。続けて、ＣＰＵ１２は、ＲＡＭ１６上に転送記憶領域を確保する（Ｓ１２０）。Ｓ１２０を実行した後、ＣＰＵ１２は、処理を図３のＳ１２４に移行する。
【００３３】
図３のＳ１２２でＣＰＵ１２は、Ｓ１０４で取得した情報が、ページ終了（図２参照）であるかについて判断する。判断の結果、ページ終了であった場合（Ｓ１２２：Ｙｅｓ）、ＣＰＵ１２は、処理をＳ１３２に移行する。一方、Ｓ１０４で取得した情報が、ページ終了ではなかった場合（Ｓ１２２：Ｎｏ）、ＣＰＵ１２は、処理をＳ１２４に移行する。Ｓ１２２の判断が否定される場合（Ｓ１２２：Ｎｏ）、Ｓ１０２では、ヘッダ及びＪＰＥＧバンドデータを含むデータが受信されている。
【００３４】
Ｓ１２４でＣＰＵ１２は、図７に示す書込処理を実行する。書込処理については、後述する。Ｓ１２４の書込処理を実行した後、ＣＰＵ１２は、図４のＳ１１８で取得した情報がページ処理モードであるかについて判断する（Ｓ１２６）。Ｓ１１８で取得した情報がページ処理モードであった場合（Ｓ１２６：Ｙｅｓ）、ＣＰＵ１２は、処理をＳ１０２に戻し、再度、Ｓ１０２以下の処理を実行する。Ｓ１１８で取得した情報が、ページ処理モードではなく、バンド処理モードであった場合（Ｓ１２６：Ｎｏ）、ＣＰＵ１２は、バンド処理モードで、図８に示す読込処理を実行する（Ｓ１２８）。読込処理については、後述する。
【００３５】
Ｓ１２８の読込処理を実行した後、ＣＰＵ１２は、転送記憶領域に書き込まれたＢＭＰバンドデータを、この処理の開始を指示したアプリプロセスによって管理されているＲＡＭ１６上のアプリ記憶領域に、書き込む（Ｓ１３０、図５の「＜バンド処理モード＞」参照）。Ｓ１３０において、転送記憶領域からアプリ記憶領域への１つのＢＭＰバンドデータの書き込みは、例えば、ＢＭＰバンドデータの一部（例えば１ライン分）を転送記憶領域から読み出し、読み出されたＢＭＰバンドデータの一部をアプリ記憶領域に書き込むといった一連の処理を、ＢＭＰバンドデータの全部について、繰り返して実行するようにしてもよい。なお、ＢＭＰバンドデータの全部を転送記憶領域から読み出し、読み出されたＢＭＰバンドデータの全部をアプリ記憶領域に書き込むようにしてもよい。Ｓ１３０は、例えば、ＴＷＡＩＮに従って行われる（後述するＳ１３６についても同じ）。これによって、ＢＭＰバンドデータがアプリ記憶領域に格納される。Ｓ１３０でアプリ記憶領域に書き込まれるＢＭＰデータは、被読取面の画像の一部に対応するＢＭＰバンドデータである。従って、Ｓ１３０が、被読取面の画像の分割数に対応する回数だけ、繰り返して実行され、被読取面の画像の全部に対応する複数のＢＭＰバンドデータが、アプリ記憶領域に書き込まれた場合、被読取面の全部に対応するＢＭＰデータは、このアプリプロセスに転送されたこととなる。
【００３６】
ところで、Ｓ１２８の読込処理のＳ４００（図８参照）で、展開処理が、バンド処理モードで実行される場合、繰り返されるアプリ記憶領域への書き込みは、次のようにして行われる。すなわち、アプリ記憶領域には、既に実行されたＳ１３０によって、他のＢＭＰバンドデータが格納されている。そこで、ＣＰＵ１２は、今回、新たに書き込むＢＭＰバンドデータを、既に格納されているＢＭＰバンドデータに続けて書き込む。例えば、図２の上段に示すように、「ＪＰＥＧバンドデータａ」〜「ＪＰＥＧバンドデータｉ」が、順次、繰り返して受信されるとする。このような場合、アプリ記憶領域には、「ＪＰＥＧバンドデータａ」〜「ＪＰＥＧバンドデータｉ」のそれぞれが展開された、「ＢＭＰバンドデータａ」〜「ＢＭＰバンドデータｉ」が、この順で連続し、まとめられた状態で書き込まれる。アプリプロセスは、アプリ記憶領域に書き込まれた複数のＢＭＰバンドデータがまとめられたＢＭＰデータに従い、例えば、アプリケーションプログラムの画面上に、被読取面の画像を表示する。その後、ＣＰＵ１２は、処理をＳ１０２に戻し、再度、Ｓ１０２以下の処理を実行する。
【００３７】
Ｓ１３２でＣＰＵ１２は、図４のＳ１１８で取得した情報がページ処理モードであるかについて判断する（Ｓ１３２）。Ｓ１１８で取得した情報が、ページ処理モードではなく、バンド処理モードであった場合（Ｓ１３２：Ｎｏ）、ＣＰＵ１２は、処理をＳ１０２に戻し、再度、Ｓ１０２以下の処理を実行する。一方、Ｓ１１８で取得した情報がページ処理モードであった場合（Ｓ１３２：Ｙｅｓ）、ＣＰＵ１２は、ページ処理モードで、図８に示す読込処理を実行する（Ｓ１３４）。読込処理については、後述する。
【００３８】
Ｓ１３４の読込処理を実行した後、ＣＰＵ１２は、転送記憶領域に書き込まれたＢＭＰデータを、この処理の開始を指示したアプリプロセスによって管理されているＲＡＭ１６上のアプリ記憶領域に、書き込む（Ｓ１３６、図５の「＜ページ処理モード＞」参照）。Ｓ１３６において、転送記憶領域からアプリ記憶領域へのＢＭＰデータの書き込みは、例えば、ＢＭＰデータの全部を転送記憶領域から読み出し、読み出されたＢＭＰデータの全部をアプリ記憶領域に書き込むようにしてもよい。これによって、ＢＭＰデータがアプリ記憶領域に格納される。Ｓ１３６でアプリ記憶領域に書き込まれるＢＭＰデータは、被読取面の画像の全部に対応するＢＭＰデータである。Ｓ１３６の書き込みによって、被読取面の全部に対応するＢＭＰデータは、このアプリプロセスに転送されたこととなる。アプリプロセスは、アプリ記憶領域に書き込まれたＢＭＰデータに従い、例えば、表示部２４に表示されているアプリケーションプログラムの画面上に、被読取面の画像を表示する。その後、ＣＰＵ１２は、処理をＳ１０２に戻し、再度、Ｓ１０２以下の処理を実行する。
【００３９】
＜展開開始処理＞
展開開始処理について、図６等を参照して説明する。展開開始処理は、上述したように、メイン処理のＳ１１６（図４参照）で実行される。展開開始処理を開始したＣＰＵ１２は、ＲＡＭ１６上に、予め定められた所定の容量のＪＰＥＧ記憶領域を確保する（Ｓ２００）。ＪＰＥＧ記憶領域は、ＪＰＥＧバンドデータを格納するための記憶領域として機能する。続けて、ＣＰＵ１２は、ＲＡＭ１６上に、第一容量のＢＭＰ記憶領域の確保を試みる（Ｓ２０２）。第一容量は、ページ処理モードを実行する際に必要となる記憶容量を基準としたものである。第一容量は、画像読取装置５０で読み取られる原稿１００の被読取面の画像の全部に対応したＢＭＰデータを格納できる容量として、予め定められている。第一容量は、Ｓ２００で確保されるＪＰＥＧ記憶領域の所定の容量と比較して、大容量である。
【００４０】
次に、ＣＰＵ１２は、第一容量のＢＭＰ記憶領域が確保できたかについて判断する（Ｓ２０４）。第一容量のＢＭＰ記憶領域が確保できた場合（Ｓ２０４：Ｙｅｓ）、ＣＰＵ１２は、展開処理のためのモードを、ページ処理モードに設定する（Ｓ２０６）。第一容量のＢＭＰ記憶領域が確保できなかった場合（Ｓ２０４：Ｎｏ）、ＣＰＵ１２は、展開処理のためのモードを、バンド処理モードに設定する（Ｓ２０８）。Ｓ２０８でＣＰＵ１２は、第二容量のＢＭＰ記憶領域を確保する。第二容量は、第一容量より小容量である。第二容量は、バンド処理モードを実行する際に必要となる記憶容量を基準としたものである。第二容量は、ＪＰＥＧバンドデータが展開されたＢＭＰバンドデータを格納できる容量として、予め定められている。Ｓ２０６又はＳ２０８を実行した後、ＣＰＵ１２は、展開開始処理を終了し、処理を図４のＳ１１８に戻す。
【００４１】
＜書込処理＞
書込処理について、図７等を参照して説明する。書込処理は、上述したように、メイン処理のＳ１２４（図３参照）で実行される。書込処理を開始したＣＰＵ１２は、図３のＳ１０２で受信されたデータのサイズが、ＪＰＥＧ記憶領域の空き容量より大きいかについて判断する（Ｓ３００）。Ｓ１０２で受信されたデータのサイズは、ＪＰＥＧバンドデータのサイズであって、ＪＰＥＧバンドデータと共に受信されたヘッダに含まれている。例えば、図３及び図４に示すメイン処理が開始された後、図３のＳ１２４で書込処理が最初に行われる場合、ＪＰＥＧ記憶領域には、未だＪＰＥＧバンドデータは格納されていない。そのため、ＪＰＥＧ記憶領域の空き容量は、図６のＳ２００で確保された所定の容量に等しくなる。展開処理のモードがバンド処理モードである場合において、ＪＰＥＧ記憶領域に書き込まれたＪＰＥＧバンドデータが消去されていれば、前述同様、ＪＰＥＧ記憶領域の空き容量は、図６のＳ２００で確保された所定の容量に等しくなる。一方、展開処理のモードがページ処理モードであって、既に、図３のＳ１２４が実行されている場合等については、ＪＰＥＧ記憶領域の空き容量は、Ｓ２００で確保された所定の容量から、その時点で格納されているＪＰＥＧバンドデータの合計容量を、減じた容量である。
【００４２】
図３Ｓ１０２で受信されたデータのサイズが、ＪＰＥＧ記憶領域の空き容量より大きい場合（Ｓ３００：Ｙｅｓ）、ＣＰＵ１２は、ＪＰＥＧ記憶領域を、特定の容量だけ拡張する（Ｓ３０２）。拡張する特定の容量は、不足分より多い量である。例えば、不足している容量分だけ拡張する。Ｓ１０２で受信されたデータのサイズが、ＪＰＥＧ記憶領域の空き容量より大きくない、換言すれば、小さい場合（Ｓ３００：Ｎｏ）、又は、Ｓ３０２を実行した後、ＣＰＵ１２は、処理をＳ３０４に移行する。Ｓ３０４でＣＰＵ１２は、Ｓ１０２で受信したＪＰＥＧバンドデータを、ＪＰＥＧ記憶領域に書き込む（Ｓ３０４）。これによって、Ｓ１０２で新たに受信されたＪＰＥＧバンドデータが、ＪＰＥＧ記憶領域に格納される。ところで、既にＪＰＥＧバンドデータがＪＰＥＧ記憶領域に格納されている場合、ＣＰＵ１２は、新たなＪＰＥＧバンドデータを、既に格納されているＪＰＥＧバンドデータに続けて書き込む。例えば、被読取面の画像の一部を示すＪＰＥＧバンドデータが、「ＪＰＥＧバンドデータａ」〜「ＪＰＥＧバンドデータｉ」で構成されているとする（図２の上段参照）。このような場合、ＪＰＥＧ記憶領域には、「ＪＰＥＧバンドデータａ」〜「ＪＰＥＧバンドデータｉ」が、受信された順に従い、図２の上段に示すような順で連続した状態で格納される。Ｓ３０４を実行した後、ＣＰＵ１２は、書込処理を終了し、処理を図３のＳ１２６に戻す。
【００４３】
＜読込処理＞
読込処理について、図８等を参照して説明する。読込処理は、上述したように、メイン処理のＳ１２８，Ｓ１３４（図３参照）で実行される。読込処理を開始したＣＰＵ１２は、ＪＰＥＧ記憶領域に格納されているＪＰＥＧバンドデータを展開し、展開後の、ＢＭＰバンドデータ又はＢＭＰデータを、ＢＭＰ記憶領域に書き込む（Ｓ４００、図５参照）。Ｓ４００で展開処理の対象となるＪＰＥＧバンドデータは、図３のＳ１２４の書込処理のＳ３０４（図７参照）で書き込まれたものである。読込処理が、図３のＳ１２８で実行されている場合、Ｓ４００では、今回のＳ４００の直前に行われたＳ１２４（Ｓ３０４）で、ＪＰＥＧ記憶領域に書き込まれた、１つのＪＰＥＧバンドデータが、展開処理される（図５の「＜バンド処理モード＞」参照）。ＣＰＵ１２は、展開されたＢＭＰバンドデータを、図５の「＜バンド処理モード＞」に示すように、ＢＭＰ記憶領域に書き込む。ＢＭＰ記憶領域は、図４のＳ１１６の展開開始処理のＳ２０８で確保された、第二容量のＢＭＰ記憶領域である。これによって、第二容量のＢＭＰ記憶領域に、被読取面の画像の一部に対応するＪＰＥＧバンドデータが展開されたＢＭＰバンドデータが格納される。この展開されたＢＭＰバンドデータは、被読取面の画像の一部に対応する。
【００４４】
これに対し、読込処理が、図３のＳ１３４で実行されている場合、Ｓ４００では、今回のＳ４００が行われる以前に繰り返して行われたＳ１２４（Ｓ３０４）で、ＪＰＥＧ記憶領域に書き込まれた、被読取面の画像の全部に対応した複数のＪＰＥＧバンドデータがまとめて、展開処理される（図５の「＜ページ処理モード＞」参照）。このとき、ＣＰＵ１２は、展開されたＢＭＰバンドデータを、図５の「＜ページ処理モード＞」に示すように、ＢＭＰ記憶領域に書き込む。ＢＭＰ記憶領域は、図４のＳ１１６の展開開始処理のＳ２０２で確保された、第一容量のＢＭＰ記憶領域である。これによって、第一容量のＢＭＰ記憶領域に、被読取面の画像の全部に対応する複数のＪＰＥＧバンドデータが展開されたＢＭＰデータが格納される。この展開されたＢＭＰデータは、被読取面の画像の全部に対応する。
【００４５】
Ｓ４００を実行した後、ＣＰＵ１２は、Ｓ４００でＢＭＰ記憶領域に書き込まれたＢＭＰバンドデータ又はＢＭＰデータを読み出し、転送記憶領域に書き込む（Ｓ４０２、図５参照）。これによって、ＢＭＰバンドデータ又はＢＭＰデータは、転送記憶領域に格納される。Ｓ４０２を実行した後、ＣＰＵ１２は、読込処理を終了する。読込処理を終了したＣＰＵ１２は、バンド処理モードに設定されている場合、処理を図３のＳ１３０に戻し、ページ処理モードに設定されている場合、処理を図３のＳ１３６に戻す。
【００４６】
ところで、ＪＰＥＧ記憶領域に格納されているＪＰＥＧバンドデータと、ＢＭＰ記憶領域に格納されているＢＭＰバンドデータ又はＢＭＰデータと、転送記憶領域に格納されているＢＭＰバンドデータ又はＢＭＰデータとは、上述した本実施形態の処理において、所定のタイミングで、それぞれの記憶領域から消去される。例えば、図８の読込処理のＳ４００が実行された時点で、ＪＰＥＧバンドデータは、ＪＰＥＧ記憶領域から消去される。また、Ｓ４０２を実行した時点で、ＢＭＰバンドデータ又はＢＭＰデータは、ＢＭＰ記憶領域から消去される。なお、ＪＰＥＧバンドデータは、このタイミングで、ＪＰＥＧ記憶領域から消去されてもよい。さらに、図３のＳ１３０又はＳ１３６が実行された時点で、ＢＭＰバンドデータ又はＢＭＰデータは、転送記憶領域から消去される。なお、ＪＰＥＧバンドデータは、このタイミングで、ＪＰＥＧ記憶領域から消去されてもよい。同じく、ＢＭＰ記憶領域に格納されているＢＭＰバンドデータ又はＢＭＰデータも、このタイミングで、ＢＭＰ記憶領域から消去されてもよい。
【００４７】
以上説明した本実施形態によれば、ＲＡＭ１６上に、第一容量のＢＭＰ記憶領域が確保できた場合（図６のＳ２０４：Ｙｅｓ）、画像読取装置５０から送信されるＪＰＥＧバンドデータを展開するための展開処理のモードをページ処理モードに設定する（図６のＳ２０６）。ページ処理モードでは、被読取面の画像の全部に対応する複数のＪＰＥＧバンドデータをまとめて展開することが可能となり（図３のＳ１３４、図８のＳ４００）、高速な展開処理を実現することができる。一方、第一容量のＢＭＰ記憶領域を確保できない場合（図６のＳ２０４：Ｎｏ）、画像読取装置５０から送信されるＪＰＥＧバンドデータを展開するための展開処理のモードをバンド処理モードに設定する（図６のＳ２０８）。バンド処理モードによれば、ＪＰＥＧバンドデータは個々に展開される（図３のＳ１２８、図８のＳ４００）。従って、ＢＭＰ記憶領域が十分確保できない場合であっても、好適に展開処理を実現することができる。すなわち、本実施形態によれば、確保可能なＢＭＰ記憶領域の容量に応じて、好適な展開処理を行うことができる。
【符号の説明】
【００４８】
１  画像読取システム
３  ネットワーク
１０  コンピュータ
１２  ＣＰＵ
１４  ＲＯＭ
１６  ＲＡＭ
１８  ハードディスク（ＨＤＤ）
２０  接続インターフェース（接続Ｉ／Ｆ）
２２  操作部
２４  表示部
５０  画像読取装置
５２  ＣＰＵ
５４  ＲＯＭ
５６  ＲＡＭ
５８  接続インターフェース（接続Ｉ／Ｆ）
６０  シートフィーダ
６２  読取部
１００  原稿
【図１】
2012182756.tif 000003
【図２】
2012182756.tif 000004
【図３】
2012182756.tif 000005
【図４】
2012182756.tif 000006
【図５】
2012182756.tif 000007
【図６】
2012182756.tif 000008
【図７】
2012182756.tif 000009
【図８】
2012182756.tif 000010