(57)【要約】【課題】本発明は、処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力データに基づいて作成されたファイルを処理するソフトウェアとを備えるときにあって、入力用ハードウェアの本来の性能を発揮させることができるようにするとともに、全体の処理時間を短縮することができるようにする技術の提供を目的とする。【解決手段】入力用ハードウェアがソフトウェアの処理とは関係なく入力したデータに基づいて作成されたファイルについて、そのファイルを処理するための命令を生成してメモリに蓄積する蓄積手段と、ソフトウェアにより実行が終了した命令について、メモリに蓄積されているその命令を削除する削除手段と、ソフトウェアにより命令の実行が終了する場合にあって、メモリに未処理の命令が蓄積されている場合には、ソフトウェアに対して、その未処理の命令の実行を依頼する依頼手段とを備えるように構成する。【選択図】図１
2007048170.tif 000002
【特許請求の範囲】
【請求項１】
処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力用ハードウェアの入力したデータに基づいて作成されたファイルを処理するソフトウェアとを備えるデータ処理装置において、
上記入力用ハードウェアが上記ソフトウェアの処理とは関係なく入力したデータに基づいて作成されたファイルについて、そのファイルを処理するための命令を生成してメモリに蓄積する手段と、
上記ソフトウェアにより実行が終了した命令について、上記メモリに蓄積されているその命令を削除する手段と、
上記ソフトウェアにより命令の実行が終了する場合にあって、上記メモリに未処理の命令が蓄積されている場合には、上記ソフトウェアに対して、その未処理の命令の実行を依頼する手段とを備えることを、
特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
上記蓄積する手段は、生成した命令をスタック形式でメモリに蓄積することを、
特徴とするデータ処理装置。
【請求項３】
処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力用ハードウェアの入力したデータに基づいて作成されたファイルを処理するソフトウェアとを備えるデータ処理装置で実行されるデータ処理実行制御方法であって、
上記入力用ハードウェアが上記ソフトウェアの処理とは関係なく入力したデータに基づいて作成されたファイルについて、そのファイルを処理するための命令を生成してメモリに蓄積する過程と、
上記ソフトウェアにより実行が終了した命令について、上記メモリに蓄積されているその命令を削除する過程と、
上記ソフトウェアにより命令の実行が終了する場合にあって、上記メモリに未処理の命令が蓄積されている場合には、上記ソフトウェアに対して、その未処理の命令の実行を依頼する過程とを備えることを、
特徴とするデータ処理実行制御方法。
【請求項４】
請求項３に記載のデータ処理実行制御方法において、
上記蓄積する過程では、生成した命令をスタック形式でメモリに蓄積することを、
特徴とするデータ処理実行制御方法。
【請求項５】
処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力用ハードウェアの入力したデータに基づいて作成されたファイルを処理するソフトウェアとを備えるデータ処理装置に実装されるデータ処理実行制御プログラムであって、
上記入力用ハードウェアが上記ソフトウェアの処理とは関係なく入力したデータに基づいて作成されたファイルについて、そのファイルを処理するための命令を生成してメモリに蓄積する処理と、
上記ソフトウェアにより実行が終了した命令について、上記メモリに蓄積されているその命令を削除する処理と、
上記ソフトウェアにより命令の実行が終了する場合にあって、上記メモリに未処理の命令が蓄積されている場合には、上記ソフトウェアに対して、その未処理の命令の実行を依頼する処理とをコンピュータに実行させるためのデータ処理実行制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理対象となるひとまとまりのデータを入力し、そのデータに基づいてファイルを作成してそれを処理することで規定のデータ処理を実行するデータ処理装置と、そのデータ処理装置で実行されるデータ処理実行制御方法と、そのデータ処理装置に実装されるデータ処理実行制御プログラムとに関するものである。
【背景技術】
【０００２】
イメージスキャナとＯＣＲ読取プログラムとを備えることで原稿に記載された文字を読み取るＯＣＲ読取装置のように、処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力用ハードウェアの入力したデータに基づいて作成されたファイルを処理するソフトウェアとを備えることで、規定のデータ処理を実行するというデータ処理装置がある。
【０００３】
従来、このようなデータ処理装置では、入力用ハードウェアのドライバが直接ソフトウェアを起動するようにして、ソフトウェアが前回入力されたデータの処理を終了すると、入力用ハードウェアが次のデータを入力して、入力用ハードウェアのドライバがソフトウェアを起動するようにしている。
【０００４】
すなわち、従来技術では、図９に示すように、入力用ハードウェアがデータを入力すると、ソフトウェアがそのデータを処理し、ソフトウェアがそのデータの処理を終了すると、次のデータの入力が可能になることで、入力用ハードウェアが次のデータを入力して、入力用ハードウェアのドライバがソフトウェアを起動するようにしている。
【０００５】
このような従来技術の背景の下、下記に示す特許文献１には、従来のスキャナシステムにおいて、ハードディスクスプーリング機能を持ったスキャナドライバを備えることによって、そのスキャナドライバがイメージをアプリケーションに転送するために待たされている間、スキャンを中断せずにハードディスクにスプールすることでデバイスの最大パフォーマンスを発揮するようにするという発明が記載されている。
【特許文献１】特開２０００−１８４１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、図９に示すようなシーケンスに従って、入力用ハードウェアがデータを読み込み、ソフトウェアがそれを処理するという構成を採っていると、連続して入力用ハードウェアからデータを入力する場合に、ソフトウェア側での処理時間に従って次のデータ入力までに待ち時間が発生してしまうことで、入力用ハードウェアの性能を活かしきれないという問題があるとともに、全体の処理時間が長くなってしまうという問題がある。
【０００７】
すなわち、従来技術では、入力用ハードウェアのドライバが直接ソフトウェアを起動することから、ソフトウェアが処理を実行している間は次のデータ入力を行うことができないことで、高速入力が可能であってもそれを利用できないことになり、入力用ハードウェアの性能を活かしきれないという問題がある。この問題はソフトウェアの処理時間が長くなる場合に大きな問題となる。
【０００８】
そして、入力用ハードウェアがデータの入力を終えるまでの間、ソフトウェアはそのデータの処理に入ることができないことから、全体の処理時間が長くなってしまうという問題がある。
【０００９】
このように、従来技術に従っていると、入力用ハードウェアとソフトウェアの性能差が作業効率の向上の妨げとなっている。
【００１０】
この点について、特許文献１に記載された発明では、スキャナドライバがイメージをアプリケーションに転送するために待たされている間、スキャンを中断せずにハードディスクにスプールすることでデバイスの最大パフォーマンスを発揮するようにしている。
【００１１】
しかしながら、特許文献１に記載された発明は、１回のジョブで複数ページをスキャンするというケースを効率化するための発明であり、複数のジョブで複数ページをスキャンするというケースを効率化することはできない。
【００１２】
すなわち、特許文献１に記載された発明は、１回のスキャンで５枚の原稿を読み込んで処理を行う場合に、その５枚の読込処理を効率化することについては実現できるものの、原稿を５枚単位で３回読み込んで処理を行う場合に、その３回の読込処理を効率化することについては実現できないのである。
【００１３】
本発明はかかる事情に鑑みてなされたものであって、処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力用ハードウェアの入力したデータに基づいて作成されたファイルを処理するソフトウェアとを備えることでデータ処理を実行するという構成を採るときにあって、入力用ハードウェアの本来の性能を発揮させることができるようにするとともに、全体の処理時間を短縮することができるようにする新たなデータ処理実行制御技術の提供を目的とする。
【課題を解決するための手段】
【００１４】
この目的を達成するために、本発明のデータ処理装置では、処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力用ハードウェアの入力したデータに基づいて作成されたファイルを処理するソフトウェアとを備えることでデータ処理を実行するという構成を採るときにあって、（１）入力用ハードウェアがソフトウェアの処理とは関係なく入力したデータに基づいて作成されたファイルについて、そのファイルを処理するための命令を生成してメモリに蓄積する蓄積手段と、（２）ソフトウェアにより実行が終了した命令について、メモリに蓄積されているその命令を削除する削除手段と、（３）ソフトウェアにより命令の実行が終了する場合にあって、メモリに未処理の命令が蓄積されている場合には、ソフトウェアに対して、その未処理の命令の実行を依頼する依頼手段とを備えるように構成する。
【００１５】
以上の各処理手段が動作することで実現される本発明のデータ処理実行制御方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００１６】
このように構成される本発明のデータ処理装置では、入力用ハードウェアがソフトウェアの処理とは関係なく処理対象となるひとまとまりのデータを入力することで、ソフトウェアの処理するファイルを作成すると、蓄積手段は、このファイルを処理するための命令を生成して、それを例えばスタック形式でメモリに蓄積する。
【００１７】
一方、依頼手段は、ソフトウェアに対して、先ず最初に、メモリに最初に蓄積された命令の実行を依頼し、これを受けて、ソフトウェアは、その依頼のあった命令を実行することでファイルを処理する。そして、削除手段は、ソフトウェアにより命令の実行が終了すると、メモリに蓄積されているその命令を削除し、依頼手段は、そのときに、メモリに未処理の命令が蓄積されている場合には、ソフトウェアに対して、その未処理の命令の実行を依頼する。
【００１８】
このようにして、本発明のデータ処理装置では、図１に示すように、入力用ハードウェアとソフトウェアとの間に、命令蓄積機能を有するスプール機能を設けるという構成を採る。
【００１９】
このスプール機能は、入力用ハードウェアの入力したデータに基づいて作成されたファイルを常時受け付けることが可能で、その受け付けたファイルを処理するための命令を生成して、その生成した命令をその受け付けの順番にメモリにストックし、ソフトウェアの処理終了後に、ソフトウェアに対して、そのストックした命令をその受け付けの順番に処理依頼するという処理を行う。
【００２０】
このスプール機能が用意されることで、本発明のデータ処理装置によれば、入力用ハードウェアによる連続データ入力処理が可能になることで、入力用ハードウェアの本来の性能を発揮させることができるようになる。
【００２１】
そして、このスプール機能が用意されることで、本発明のデータ処理装置によれば、ソフトウェアは入力用ハードウェアの入力処理の終了を待たずに次のデータの処理に入ることができることになることで、全体の処理時間を短縮することができるようになる。
【発明の効果】
【００２２】
このように、本発明によれば、処理対象となるひとまとまりのデータを入力する入力用ハードウェアと、その入力用ハードウェアの入力したデータに基づいて作成されたファイルを処理するソフトウェアとを備えることでデータ処理を実行するという構成を採るときにあって、入力用ハードウェアの本来の性能を発揮させることができるようになるとともに、全体の処理時間を短縮することができるようになる。
【発明を実施するための最良の形態】
【００２３】
以下、実施の形態に従って本発明を詳細に説明する。
【００２４】
図２に、本発明を具備するＯＣＲ読取装置１の装置構成例を図示する。
【００２５】
この図に示すように、本発明を具備するＯＣＲ読取装置１は、原稿２を読み取るイメージスキャナ１０と、イメージスキャナ１０を制御して、イメージスキャナ１０の読み取った原稿２の画像ファイル１１を作成するスキャナドライバ１２と、画像ファイル１１に格納されているイメージスキャナ１０の読み取った原稿２を処理対象として、その原稿２に記載される文字を読み取って出力ファイル１３に出力するＯＣＲソフトウェア１４と、本発明を実現すべく設けられるスプール処理部１５とを備える。
【００２６】
ＯＣＲ読取装置１のようなメモリと処理時間とが多く必要となるアプリケーションでは、ハードウェアからのデータ入力の度にアプリケーションを起動することが困難となる。
【００２７】
そこで、このような場合、従来技術では、図９に示すようなシーケンスに従って、イメージスキャナ１０が原稿２を読み込み、ＯＣＲソフトウェア１４がその原稿２に記載される文字を読み取るようにしていた。
【００２８】
しかしながら、このような従来技術に従っていたのでは、上述したように、イメージスキャナ１０の本来の性能を活かしきれないという問題があるとともに、全体の処理時間が長くなってしまうという問題がある。
【００２９】
この問題を解決するために、本発明を具備するＯＣＲ読取装置１では、図３に示すように、新たに、スキャナドライバ１２から画像ファイル名リストなどをパラメータにして呼び出され、自分自身はＯＣＲソフトウェア１４を呼び出すという動作を行うスプール処理部１５を備えるという構成を採っている。
【００３０】
このスプール処理部１５は、前の作業のＯＣＲ処理が終了する前に次の作業の読み込みを行った場合には、その次の作業をスプールするという処理を行う。
【００３１】
次に、図４に示す処理フローに従って、スプール処理部１５の実行する処理について詳細に説明する。
【００３２】
スプール処理部１５は、スキャナドライバ１２から呼び出されるときにあって、いずれのスプール処理部１５も未だ起動されていない場合には、図４（ａ）の処理フローに示すように、先ず最初に、ステップ１０で、スプール処理（命令蓄積機能を有するもの）に、スキャナドライバ１２から受け取ったＯＣＲソフトウェア１４の起動情報を追加する。
【００３３】
ここで、ＯＣＲソフトウェア１４の起動情報とは、スキャナドライバ１２により作成された画像ファイル１１をＯＣＲ処理するための命令となるものであって、ＯＣＲ処理を依頼する画像ファイル１１のファイル名とそのＯＣＲ処理に必要となる情報（読み取った原稿２の枚数など）とで構成されるものである。
【００３４】
続いて、ステップ１１で、スプール処理の先頭に蓄積されているＯＣＲソフトウェア１４の起動情報を引数にして、ＯＣＲソフトウェア１４を呼び出す。
【００３５】
すなわち、スプール処理の先頭に蓄積されているＯＣＲ処理の命令を引数にして、ＯＣＲソフトウェア１４を呼び出すことで、ＯＣＲソフトウェア１４に対して、その命令で指定されている画像ファイル１１をＯＣＲ処理することを依頼するのである。
【００３６】
このＯＣＲ処理の依頼を受けて、ＯＣＲソフトウェア１４は、スプール処理部１５から依頼を受けた画像ファイル１１に格納されている原稿２を読み取って出力ファイル１３に出力するとともに、その読み取りが終了したことを呼び出し元であるスプール処理部１５に通知してくる。
【００３７】
これから、スプール処理部１５は、続くステップ１２で、ＯＣＲソフトウェア１４からＯＣＲ処理の終了が通知されてくるのを待って、ＯＣＲ処理の終了が通知されてくると、ステップ１３に進んで、スプール処理から、ＯＣＲ処理の終了したＯＣＲソフトウェア１４の起動情報を削除する。
【００３８】
続いて、ステップ１４で、スプール処理に、未処理のＯＣＲソフトウェア１４の起動情報が残されているのか否かを判断して、未処理のＯＣＲソフトウェア１４の起動情報が残されていることを判断するときには、ステップ１１に戻り、未処理のＯＣＲソフトウェア１４の起動情報が残されていないことを判断するときには、処理を終了する。
【００３９】
一方、スプール処理部１５は、スキャナドライバ１２から呼び出されるときにあって、既に別のスプール処理部１５が起動されている場合には、図４（ｂ）の処理フローに示すように、その実行中のスプール処理に、スキャナドライバ１２から受け取ったＯＣＲソフトウェア１４の起動情報を追加して、処理を終了する。
【００４０】
このようにして、スプール処理部１５は、スキャナドライバ１２から新たなＯＣＲソフトウェア１４の起動情報を受け取ると、図５に示すように、そのＯＣＲソフトウェア１４の起動情報をメモリにスタック形式で追加していくように処理するのである。
【００４１】
そして、スプール処理部１５は、ＯＣＲソフトウェア１４に対して、メモリの先頭に蓄積されているＯＣＲソフトウェア１４の起動情報に従ってＯＣＲ処理を依頼し、このＯＣＲ処理が終了すると、図６に示すように、そのＯＣＲソフトウェア１４の起動情報をメモリから削除していくように処理するのである。
【００４２】
このようにして、本発明を具備するＯＣＲ読取装置１では、このような処理を行うスプール処理部１５を備えることで、図１に示すようなシーケンスに従って、イメージスキャナ１０が原稿２を読み込み、ＯＣＲソフトウェア１４がその原稿２に記載される文字を読み取るように処理するのである。
【００４３】
この構成に従って、本発明を具備するＯＣＲ読取装置１によれば、イメージスキャナ１０による連続読込処理が可能になることで、イメージスキャナ１０の本来の性能を発揮させることができるようになる。
【００４４】
そして、この構成に従って、本発明を具備するＯＣＲ読取装置１によれば、ＯＣＲソフトウェア１４はイメージスキャナ１０の読込処理の終了を待たずに次の画像ファイル１１の処理に入ることができることになることで、全体の処理時間を短縮することができるようになる。
【００４５】
すなわち、従来技術に従っていると、１枚の原稿２を読み込むのに要するイメージスキャナ１０の処理時間をＴ１、１枚の原稿２をＯＣＲ処理するのに要するＯＣＲソフトウェア１４の処理時間をＴ２で表すならば、イメージスキャナ１０が３枚の原稿２を１枚ずつ読み込む場合には、図７に示すように、次の作業に入れるためのイメージスキャナ１０の拘束時間は“（Ｔ１＋Ｔ２）×３”となり、一方、イメージスキャナ１０が３枚の原稿２を一度に読み込む場合には、図８に示すように、次の作業に入れるためのイメージスキャナ１０の拘束時間は“Ｔ１×３＋Ｔ２×３”となる。
【００４６】
これに対して、本発明を具備するＯＣＲ読取装置１では、イメージスキャナ１０は常時原稿２を読み込むことができるようになるので、イメージスキャナ１０が３枚の原稿２を１枚ずつ読み込む場合にも、また、イメージスキャナ１０が３枚の原稿２を一度に読み込む場合にも、次の作業に入れるためのイメージスキャナ１０の拘束時間は“Ｔ１×３”となることから分かるように、本発明を具備するＯＣＲ読取装置１によれば、イメージスキャナ１０の本来の性能を発揮させることができるようになるのである。
【図面の簡単な説明】
【００４７】
【図１】本発明による処理の流れの説明図である。
【図２】本発明を具備するＯＣＲ読取装置の装置構成例である。
【図３】本発明の説明図である。
【図４】スプール処理部の実行する処理フローである。
【図５】スプール処理部の実行する処理の説明図である。
【図６】スプール処理部の実行する処理の説明図である。
【図７】従来のＯＣＲ読取装置による処理の説明図である。
【図８】従来のＯＣＲ読取装置による処理の説明図である。
【図９】従来技術による処理の流れの説明図である。
【符号の説明】
【００４８】
１    ＯＣＲ読取装置
２    原稿
１０  イメージスキャナ
１１  画像ファイル
１２  スキャナドライバ
１３  出力ファイル
１４  ＯＣＲソフトウェア
１５  スプール処理部
【図１】
2007048170.tif 000003
【図２】
2007048170.tif 000004
【図３】
2007048170.tif 000005
【図４】
2007048170.tif 000006
【図５】
2007048170.tif 000007
【図６】
2007048170.tif 000008
【図７】
2007048170.tif 000009
【図８】
2007048170.tif 000010
【図９】
2007048170.tif 000011