JP7022318B2 - プログラムおよび情報処理装置 - Google Patents

プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP7022318B2
JP7022318B2 JP2018023788A JP2018023788A JP7022318B2 JP 7022318 B2 JP7022318 B2 JP 7022318B2 JP 2018023788 A JP2018023788 A JP 2018023788A JP 2018023788 A JP2018023788 A JP 2018023788A JP 7022318 B2 JP7022318 B2 JP 7022318B2
Authority
JP
Japan
Prior art keywords
threads
upper limit
reception
information
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018023788A
Other languages
English (en)
Other versions
JP2019140593A (ja
Inventor
建樹 成田
健二 玉置
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2018023788A priority Critical patent/JP7022318B2/ja
Publication of JP2019140593A publication Critical patent/JP2019140593A/ja
Application granted granted Critical
Publication of JP7022318B2 publication Critical patent/JP7022318B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、プログラムおよび情報処理装置に関するものである。
従来、読取装置が原稿を読み取って生成した読取データを情報処理装置が受信して、受信した読取データに対して情報処理装置が画像処理を行う技術がある。
特開2014-93554号公報
ところで、読取装置にて複数枚の原稿が読み取られる場合には、情報処理装置には、次々と、読取データが送信される。これらの読取データについては、例えば、1ページ分の読取データの画像処理を行うスレッドを複数起動し、並行して画像処理を行うことが考えられる。この場合、スレッド数が多いほど画像処理を早期に完了することができる一方、1つのスレッドについて少なくとも1ページの読取データを画像処理するだけのメモリ領域を確保する必要があるため、情報処理装置のメモリに負荷がかかってしまう。したがって、スレッド数を適切な値に制御することが必要であった。
本願は、上記の課題に鑑み提案されたものであって、情報処理装置に適切なスレッド数で画像処理を実行させることができる技術を提供することを目的とする。
本明細書は、読取装置と通信可能な通信インタフェースと、第1記憶部と、制御部とを備える情報処理装置で読み取り可能なプログラムであって、制御部に、通信インタフェースを介して、読取装置に読取指示を送信する送信処理と、読取指示に従って読取装置が原稿を読み取って生成した読取データを受信する第1受信処理と、第1受信処理にて受信された原稿1ページ分の読取データをアプリケーションプログラムが使用可能な画像データに変換する画像処理と、連続して送信される原稿1ページ分の読取データの受信間隔の長短の指標となる受信間隔情報を、通信インタフェースを介して読取装置から受信する第2受信処理と、第2受信処理にて受信した受信間隔情報が第1の情報である場合に、スレッドの上限数を第1の値に設定し、当該受信間隔情報が第1の情報が指標する受信間隔よりも受信間隔が長いことを指標する第2の情報である場合に、スレッドの上限数を第1の値よりも小さい第2の値に設定する第1設定処理と、第1受信処理にて原稿1ページ分の読取データが受信されると、第1設定処理にて設定されたスレッドの上限数を上限として、第1記憶部を使用して画像処理を実行するスレッドを起動する起動処理と、を実行させることを特徴とするプログラムを開示する。
また、本明細書は、読取装置と通信可能な通信インタフェースと、第1記憶部と、制御部と、を備え、制御部は、通信インタフェースを介して、読取装置に読取指示を送信する送信処理と、読取指示に従って読取装置が原稿を読み取って生成した読取データを受信する第1受信処理と、第1受信処理にて受信された原稿1ページ分の読取データをアプリケーションプログラムが使用可能な画像データに変換する画像処理と、連続して送信される原稿1ページ分の読取データの受信間隔の長短の指標となる受信間隔情報を、通信インタフェースを介して読取装置から受信する第2受信処理と、第2受信処理にて受信した受信間隔情報が第1の情報である場合に、スレッドの上限数を第1の値に設定し、当該受信間隔情報が第1の情報が指標する受信間隔よりも受信間隔が長いことを指標する第2の情報である場合に、スレッドの上限数を第1の値よりも小さい第2の値に設定する第1設定処理と、第1受信処理にて原稿1ページ分の読取データが受信されると、第1設定処理にて設定されたスレッドの上限数を上限として、第1記憶部を使用して画像処理を実行するスレッドを起動する起動処理と、を実行することを特徴とする情報処理装置を開示する。
本願に係る技術によれば、連続して送信される1ページ分の読取データの受信間隔を示す受信間隔情報に基づいて、スレッド数は第1の値もしくは第2の値に制限されるので、情報処理装置に適切なスレッド数で画像処理を実行させることができる。
実施形態に係るスキャンシステムのブロック図である。 スキャンシーケンスの前半のシーケンス図である。 スキャンシーケンスの後半のシーケンス図である。 スレッド数設定処理のフローチャートである。 第1処理のフローチャートである。 第2処理のフローチャートである。
(スキャンシステムの構成)
図1に、本願に係る実施形態として例示されるスキャンシステム1のブロック図を示す。スキャンシステム1は、PC10およびスキャナ50を備える。
PC10は、CPU12、メインメモリ13、補助記憶装置14、ディスプレイI/F15、LCD16、入力I/F18、およびネットワークI/F20などを備えている。これらの構成要素は、バス22を介して互いに通信可能とされている。
CPU12は、補助記憶装置14内のアプリケーションプログラム26、スキャナドライバ28、オペレーティングシステム(以下、「OS」と略す)32をメインメモリ13に展開して各処理を実行する。補助記憶装置14は、例えば、HDD(Hard Disk Drive)、SDD(Solid State Drive)などで実現される。アプリケーションプログラム26は、例えば、スキャナ50でスキャンされたスキャンデータに対して、公知のOCR技術で利用される文字認識処理を実行するためのプログラムであり、具体的には、Adobe Photoshop(登録商標)などの画像編集ソフトである。
スキャナドライバ28は、スキャナ50のデバイスドライバであり、スキャナ50と例えばアプリケーションプログラム26、OS32などとのデータの送受信を仲介する。OS32は、アプリケーションプログラム26、スキャナドライバ28に利用される基本的な機能をAPIなどにより提供するプログラムである。尚、ここでは、アプリケーションプログラム26およびスキャナドライバ28はTWAIN(Tool Without An Interesting Name)に対応しており、命令等の送受信はTWAINを用いて行われるものとする。尚、使用される規格は、TWAINに限定されず、WIA(Windows Imaging Acquisition)でも良い。また、以下の説明では、アプリケーションプログラム26等を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「アプリケーションプログラム26が」という記載は、「アプリケーションプログラム26を実行するCPU12が」ということを意味する場合がある。
補助記憶装置14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するスキャナ50の記憶部57についても同様である。
LCD16は、PC10の各種情報を表示する。LCD16は、ディスプレイI/F15を介してバス22に接続されている。LCD16は、ディスプレイI/F15を介して表示データを取得する。入力I/F18は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。尚、入力I/F18は、キーボード等に限らず、LCD16の表示画面に重畳された膜状のタッチセンサでも良い。ネットワークI/F20は、ネットワーク40を介して、スキャナ50のネットワークI/F51に接続されている。尚、ネットワークI/F20は、有線LAN、無線LAN、USBケーブルなどによる通信が可能となっている。
スキャナ50は、原稿に印刷された画像を読み取ってスキャンデータを生成する装置である。スキャナ50は、ネットワークI/F51、CPU52、ディスプレイI/F53、LCD54、入力I/F55、記憶部57、ADF(Auto Document Feeder)61、搬送部62、および読取部63等を備えている。これらの構成要素は、バス56を介して互いに通信可能とされている。また、スキャナ50は不図示の筐体、挿入口、排紙口、搬送経路、給紙トレイを有する。挿入口および排紙口は、筐体に設けられた開口であり、挿入口と排出口とを結ぶ搬送経路が筐体内部に設けられている。給紙トレイは、挿入口に配設されており、複数枚の原稿を支持することができる。以下の説明において、スキャナ50が原稿に印刷された画像を読み取ってスキャンデータを生成することをスキャンと記載する場合がある。
CPU52は、記憶部57に記憶されているスキャナプログラム58に従って処理を実行する。スキャナプログラム58は、スキャナ50を統括的に制御するプログラムである。記憶部57は、メインメモリとして機能する揮発性メモリ、補助記憶装置として機能する不揮発性メモリなどが組み合わされて構成されている。また、記憶部57には、デバイス能力59が記憶されている。デバイス能力59は、スキャナ50が有する機能などの情報であり、スキャナ50のモデル名、搬送部62の搬送速度、読取部63がカラーでの読み取りが可能か否か、読取部63が読み取り可能な解像度、および読取部63が読み取り可能な用紙サイズなどである。尚、搬送速度は、例えば、1分間当たりに搬送される原稿の枚数で規定される。ここでは、スキャナ50は、モノクロおよびカラーでの読み取りが可能であり、搬送方向のサイズが所定サイズより大きい長尺サイズの読み取りが可能であるものとする。従って、用紙サイズには例えばA4などの規格されたサイズの他に、長尺サイズが含まれるものとする。
ADF61は、給紙トレイにセットされた原稿を1枚ずつスキャナ50の搬送経路へ送出する。搬送部62は、ADF61により送出された原稿を搬送経路に沿って排紙口へ搬送する。読取部63は、光源およびイメージスキャナなどを有し、原稿から画像を読み取り、スキャンデータを生成する。
LCD54は、スキャナ50の各種情報を表示する。LCD54は、ディスプレイI/F53を介してバス56に接続されている。LCD54は、ディスプレイI/F53を介して表示データを取得する。入力I/F55は、ユーザ操作を入力するためのインタフェースである。
PC10とスキャナ50とはネットワーク40を通じて通信可能となっている。ネットワーク40の種類は、例えば有線LAN、無線LAN、USBケーブルなどである。
尚、以下の処理およびフローチャートの各処理ステップは、基本的に、スキャナドライバ28などのプログラムに記述された命令に従ったCPU12の処理を示す。すなわち、以下の説明における「判断」、「算出」、「決定」、「取得」、「受付」、「制御」等の処理は、CPU12の処理を表している。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU12が要求することなくデータを受信するという処理も、「CPU12がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
(スキャナドライバの機能概要)
スキャンシステム1においては、スキャナ50は、スキャナドライバ28からのスキャン指示に応じて、給紙トレイにセットされた原稿を読み取り、生成したスキャンデータをスキャナドライバ28へネットワーク40を介して送信する。スキャナドライバ28は、受信するスキャンデータに対して、アプリケーションプログラム26が使用可能な画像データに変換する画像処理を行う。ここで、ユーザにより、給紙トレイに複数の原稿がセットされ、スキャナ50にて複数枚の原稿が読み取られる場合には、スキャナドライバ28には、次々と、原稿1ページ分のスキャンデータが送信される。また、スキャナドライバ28は、原稿1ページ分のスキャンデータの受信完了を待って、受信完了した原稿1ページ分のスキャナデータに対して画像処理を行う。このため、原稿1ページ分のスキャナデータの受信完了から次の原稿1ページ分のスキャナデータの受信を完了するまでの時間間隔と、原稿1ページ分のスキャンデータに対する画像処理の処理時間とが同程度であると良い。例えば、原稿1ページ分のスキャンデータを受信する間隔に対して、原稿1ページ分のスキャンデータに対する画像処理の処理時間が長いと、PC10には画像処理待ちのスキャンデータが蓄積されていくことになる。一方、原稿1ページ分のスキャンデータを受信する間隔に対して、原稿1ページ分のスキャンデータに対する画像処理の処理時間が短い場合には、時間に余裕があるにもかかわらず、メインメモリ13を一時的に多く使用して、その結果、処理時間が短くなっている場合もある。つまり、この場合には、メインメモリ13が無駄に使用されてしまっている状況が考えられる。
しかしながら、原稿1ページ分のスキャンデータの受信を完了する間隔および処理時間は、様々であり、同程度では無い場合が多い。原稿1ページ分のスキャンデータの受信を完了する間隔は、搬送部62の搬送速度、スキャンデータの送受信に要する時間などにより決まり、詳しくは、例えばスキャナ50の性能、ネットワーク40の通信の種類などに依存する。また、処理時間はPC10の性能などに依存する。このうち、原稿1ページ分のスキャンデータの受信を完了する間隔は、上記のように、スキャナ50、通信の種類などにより決まり、調整することは困難であるが、処理時間については、最短の時間はPC10の性能などで決まってしまうものの、処理時間を長くする調整は画像処理を実行するスレッド数を制御することにより可能となっている。
また、一般に、スレッド数がPC10の性能に対して多いと、個々のスレッドのスレッド起動から終了までの時間が長くなってしまう。次に説明する、スキャンシーケンスにて実行されるスレッド数設定処理は、PC10およびスキャナ50の性能、通信の種類、スキャンの設定に応じて、画像処理を実行するスレッドの上限数を設定するものである。これにより、PC10に適切なスレッド数で画像処理を実行させることができる。
(スキャンシーケンス)
次に、スキャナドライバ28およびスキャナプログラム58により実行されるスキャンシーケンスについて図2を用いて説明する。図2は、スキャナ50にて3枚の原稿の片面が連続してスキャンされる場合について例示している。
アプリケーションプログラム26は、編集画面(不図示)をLCD16に表示させ、入力I/F18を介して、ユーザからの入力を受け付ける。編集画面にてスキャナ50による読み取り指示を受け付けると、アプリケーションプログラム26は、スキャナドライバ28にOpenメッセージを送信する(M1)。スキャナドライバ28はメッセージM1を受信すると、スキャナプログラム58に接続要求する(M2)。詳しくは、スキャナドライバ28がPC10にインストールされた後、設定されたスキャナ50との通信の種類に従って、スキャナドライバ28はスキャナプログラム58に接続要求する。ここで、通信の種類とは、上記の無線LAN、有線LAN、USBなどのことである。スキャナプログラム58は、メッセージM2を受信すると、例えばスキャナドライバ28とのデータ送受に必要な初期処理を実行し、接続完了メッセージをスキャナドライバ28に送信する(M3)。スキャナドライバ28は、メッセージM3を受信することにより、スキャナ50との通信の種類を確定することができる。スキャナドライバ28は、メッセージM3を受信すると、スキャナプログラム58にデバイス能力を問い合わせる(M4)。スキャナプログラム58は、メッセージM4を受信すると、デバイス能力59を参照し、スキャナドライバ28にデバイス能力を応答する(M5)。スキャナドライバ28は、メッセージM5を受信すると、受信したデバイス能力をメインメモリ13に記憶させ、スキャン受付処理を実行する(S1)。詳しくは、スキャナドライバ28は、スキャン受付処理において、LCD16にスキャナ50の設定を受け付ける設定画面(不図示)を表示させ、スキャンの解像度および用紙サイズの各値、カラー/モノクロの選択を受け付け、受け付けた各値をスキャンのパラメータとしてメインメモリ13に記憶させる。次に、スレッド数決定処理を実行する(S2)。
スレッド数決定処理については、図4を用いて説明する。スレッド数設定処理を開始すると、スキャナドライバ28は、後述する第1処理および第2処理にて使用する変数である上限スレッド数を論理コア数に設定する(S21)。詳しくは、スキャナドライバ28はOS32にPC10の論理コア数を問い合わせ、応答された論理コア数を上限スレッド数に代入する。尚、上限スレッド数は、後述する第1処理および第2処理にて起動される画像処理を実行するスレッドの上限数として使用される。次に、スキャナドライバ28は、論理コア数は2以上であるか否かを判断する(S23)。論理コア数は2以上でないと判断することに応じて(S23:NO)、論理コア数は1であり、これ以上、小さくすることはできないため、スキャナドライバ28は上限スレッド数を1に設定し(S35)、スレッド数設定処理を終了する。
一方、論理コア数は2以上であると判断することに応じて(S23:YES)、スレッド数を制限する必要があるか否かを判断するために、スキャナドライバ28は、まず解像度は300dpi以下であるか否かを判断する(S25)。解像度は300dpi以下でないと判断することに応じて(S25:NO)、解像度が高い程スキャンデータのデータ量が多く、メインメモリ13の使用量が多くなる傾向があるため、スキャナドライバ28は上限スレッド数を1に設定し(S35)、スレッド数設定処理を終了する。一方、解像度は300dpi以下であると判断することに応じて(S25:YES)、原稿サイズは長尺であるか否かをスキャナドライバ28は判断する(S27)。原稿サイズは長尺であると判断することに応じて(S27:YES)、原稿の搬送方向のサイズは所定サイズより大きいため、スキャンデータのデータ量が多く、メインメモリ13の使用量が多くなるため、スキャナドライバ28は上限スレッド数を1に設定し(S35)、スレッド数設定処理を終了する。一方、原稿サイズは長尺でないと判断することに応じて(S27:NO)、スキャナドライバ28は搬送速度が遅いモデルであるか否かを判断する(S29)。尚、スキャナドライバ28は、モデル名に対して、搬送速度が速いか/遅いかの何れかが対応付けられた情報を予め保有している。そして、ステップS29では、メッセージM5にて応答されたデバイス能力に含まれるモデル名が、搬送速度が速いか/遅いかの何れが対応付けられているかにより判断される。搬送速度が遅いモデルであると判断することに応じて(S29:YES)、原稿1ページ分のスキャンデータの受信間隔が長く、画像処理に時間をかけることができるため、上限スレッド数を1に設定し(S35)、スレッド数設定処理を終了する。一方、搬送速度が遅いモデルでないと判断することに応じて(S29:NO)、通信に使用しているネットワークI/F20の種類、つまりネットワーク40の種類は無線LANであるか否かを判断する(S31)。詳しくは、メッセージM5にて確定した通信の種類が無線LANであるか否かを判断する。ネットワークI/F20は無線LANであると判断することに応じて(S31:YES)、原稿1ページ分のスキャンデータの受信間隔が長く、画像処理に時間をかけることができるため、スキャナドライバ28は上限スレッド数を1に設定し(S35)、スレッド数設定処理を終了する。
一方、ネットワークI/F20は無線LANでないと判断することに応じて(S31:NO)、スキャナドライバ28は上限スレッド数を1減算する(S33)。ここで、1減算するのは、スキャナドライバ28は、画像処理と並行して、後述する第1処理および第2処理の何れかを実行するためである。スキャナドライバ28は、ステップS33を実行後、スレッド数設定処理を終了する。尚、ステップS25~S31の実行順は、上記に限定されない。
ところで、ステップS33が実行される場合とは、原稿1ページ分のスキャンデータのデータ量が少なく、原稿1ページ分のスキャンデータの受信間隔が短い場合である。スキャンデータのデータ量が少ないため、後続の原稿1ページ分のスキャンデータを受信するまでに画像処理が完了せずに画像処理のスレッドが累積的に増大していく場合は少ないと想定される。また、原稿1ページ分のスキャンデータの受信間隔が短い場合であるため、画像処理が終了して、次の原稿1ページ分のスキャンデータの受信待ちの状態が生じる場合は少ないと想定される。このような場合には、画像処理のスレッドの数が論理コア数に基づいた値にされることで、メインメモリ13に過大な負荷はかからずに、すべての原稿のスキャンデータに対する画像処理が短い期間で実行されることが可能となる。
一方で、ステップS35が実行される場合とは、スキャンデータのデータ量が多い場合、あるいは、原稿1ページ分のスキャンデータの受信間隔が長い場合である。スキャンデータのデータ量が多い場合、画像処理のスレッドの数を制限しないと、後続の原稿1ページ分のスキャンデータの受信までに画像処理が完了せずに、画像処理のスレッドの数に応じて、メインメモリ13の使用量が増大し、その結果、各々のスレッドの開始から終了までの時間が長くなってしまうことが想定される。そこで、画像処理のスレッドの数を1に制限することで、メインメモリ13の使用量の増大を抑制し、スレッドの開始から終了までの時間が長くなってしまうことが抑制される。また、原稿1ページ分のスキャンデータの受信間隔が長い場合、上限スレッド数が論理コア数に基づいた値にされてしまうと、原稿1ページ分のスキャンデータの受信の度に新たな画像処理が開始され、1次的にメインメモリ13の使用量が無駄に増加してしまうことが想定される。そこで、スレッドの数は1に制限されることで、1次的にメインメモリ13の使用量が無駄に増加してしまうことが抑制される。
図2に戻り、スレッド数決定処理の実行後、スキャナドライバ28はスキャン受付処理にて受け付けたスキャンのパラメータをスキャナプログラム58へ送信し(M6)、スキャナプログラム58へスキャン開始を指示する(M7)。スキャナプログラム58は、メッセージM7を受信すると、スキャン処理を開始する。スキャナプログラム58は、スキャン処理を開始すると、ADF61に給紙トレイにセットされた原稿の搬送を開始させ、読取部63に原稿の読み取りを開始させる。また、スキャナプログラム58は、ネットワークI/F51を介して生成されたスキャンデータをスキャナドライバ28へ送信させる。尚、スキャナプログラム58は、スキャンデータの生成と送信とを並行して実行させる。そして、送信されるスキャンデータは、例えば所定のデータ量以下のスキャンデータであり、原稿1ページ分のスキャンデータについて複数回の送信が実行される。尚、図3では、原稿1ページ目の最初のスキャンデータの送信(M8)、原稿3ページ各々の最後のスキャンデータの送信(M9,M10,M11)のみを記載し、これ以外のスキャンデータの送信については略記している。スキャナプログラム58は給紙トレイにセットされたすべての原稿の読み取りを終え、生成されたスキャンデータのすべての送信を完了すると、Endメッセージをスキャナドライバ28へ送信し(M12)、スキャン処理を終了する。尚、スキャナドライバ28はEndメッセージを受信すると、その旨をメインメモリ13に記憶させる。
スキャナドライバ28は、原稿1ページ分のスキャンデータの受信を完了すると、つまり、原稿1ページにおける最後のスキャンデータを受信すると、第1処理を開始する(S3)。第1処理については図5を用いて説明する。尚、以下の説明におけるスキャンデータとは、特記しない限り、原稿1ページ分のスキャンデータのことである。第1処理を開始すると、まず、実行中の画像処理のスレッド数はスレッド数設定処理にて設定された上限スレッド数よりも小さいか否かを判断する(S41)。実行中のスレッド数が上限スレッド数よりも小さくないと判断することに応じて(S41:NO)、スキャナドライバ28は受信したスキャンデータを受信時刻に対応付けてファイルとして補助記憶装置14に一時保存し(S43)、第1処理を終了する。一方、実行中のスレッド数が上限スレッド数よりも小さいと判断することに応じて(S41:YES)、スキャナドライバ28は補助記憶装置14にスキャンデータのファイルがあるか否かを判断する(S45)。補助記憶装置14にスキャンデータのファイルがあると判断することに応じて(S45:YES)、補助記憶装置14に記憶されている受信時刻が最古であるスキャンデータのファイルをメインメモリ13に読み出し、読み出したスキャンデータを画像処理するスレッドを起動する。そして受信したスキャンデータを受信時刻に対応付けてファイルとして補助記憶装置14に一時保存し(S48)、第1処理を終了する。一方、補助記憶装置14にスキャンデータのファイルないと判断することに応じて(S45:NO)、受信したスキャンデータを画像処理するスレッドを起動し、第1処理を終了する。
図3を用いて、第1処理について説明する。尚、ここでは、スレッド数設定処理にて上限スレッド数が2に設定されたものとする。例えば、原稿1ページ目のスキャンデータの受信完了後に実行される第1処理(S3)では、実行中の画像処理のスレッドはなく、補助記憶装置14にスキャンデータのファイルは記憶されていないので、1つ目の画像処理のスレッドが起動される。尚、画像処理のスレッドでは、詳しくは、受信したスキャンデータのデコード、デコードされたデータに対する例えば解像度の調整などの画像処理などが実行され、画像処理により生成されたデータである画像データがスキャナドライバ28へ送信される。また、例えばデコードなどの処理毎に別個のスレッドが起動される場合がある。原稿2ページ目のスキャンデータの受信完了後に実行される第1処理(S4)でも同様に、実行中の画像処理のスレッドはなく、補助記憶装置14にスキャンデータのファイルは記憶されていないので、画像処理のための、2つ目の画像処理のスレッドが起動される。一方、原稿3ページ目のスキャンデータの受信完了後に実行される第1処理(S5)では、既に実行中のスレッドの数は上限スレッド数と同じ2であるため、ステップS41(図5)にてNOと判断されるため、画像処理のスレッドは起動されずに、スキャンデータは補助記憶装置14に一時保存される。
上記のように、画像処理のスレッドは、処理を終了すると、画像データをスキャナドライバ28へ送信する。スキャナドライバ28は画像データを受信すると、第2処理を開始する。第2処理については、図6を用いて説明する。尚、第1処理および第2処理は択一的に実行される。例えば、スキャナドライバ28は画像データを受信した場合であっても、第1処理を実行している場合には、第1処理の終了後、第2処理を実行する。第2処理を開始すると、まず、スキャナドライバ28は、アプリケーションプログラム26から送信される転送準備完了問い合わせ(不図示)を受信する(S51)。次に、アプリケーションプログラム26へ転送準備完了メッセージを送信する(S53)。アプリケーションプログラム26は、転送準備完了メッセージを受信すると、スキャナドライバ28へ転送命令を送信する(不図示)。スキャナドライバ28は、転送命令を受信すると(S55)、画像処理のスレッドから送信された画像データをアプリケーションプログラム26へ送信する(S57)。次に、スキャナドライバ28は、スキャナ50におけるスキャン処理は終了しているか否かを判断する(S59)。スキャナドライバ28は、メインメモリ13に、Endメッセージを受信した旨が記憶されている場合スキャン処理は終了したと判断し、Endメッセージを受信した旨が記憶されていない場合スキャン処理は終了していないと判断する。スキャン処理は終了していないと判断すると(S59:NO)、スキャナドライバ28は補助記憶装置14にスキャンデータのファイルが記憶されているか否かを判断する(S65)。補助記憶装置14にスキャンデータのファイルが記憶されていないと判断することに応じて(S65:NO)、補助記憶装置14にスキャンデータがなく、スキャンデータの受信待ちの状態であるため、スキャナドライバ28は第2処理を終了する。一方、補助記憶装置14にスキャンデータのファイルが記憶されていると判断することに応じて(S65:YES)、ステップS47と同様に、補助記憶装置14に記憶されているスキャンデータを画像処理するスレッドを起動する(S67)。次に、スキャナドライバ28は上限スレッド数が1であるか否かを判断する(S69)。上限スレッド数が1でないと判断することに応じて(S69:NO)、スキャナドライバ28は第2処理を終了する。一方、上限スレッド数が1であると判断することに応じて(S69:YES)、スキャナドライバ28は補助記憶装置14に記憶されているスキャンデータのファイルのデータの容量の総量は基準値N以下であるか否かを判断する(S71)。基準値N以下であると判断することに応じて(S71:YES)、スキャナドライバ28は第2処理を終了する。一方、基準値N以下でないと判断することに応じて(S71:NO)、画像処理待ちのスキャンデータのファイルが補助記憶装置14に多く蓄積されている状態であるため、スキャナドライバ28は上限スレッド数を1加算して(S73)、ステップS65へ戻る。これにより、画像処理待ちのスキャンデータのファイルが補助記憶装置14に多く蓄積されている場合には、補助記憶装置14に記憶されているスキャンデータのファイルを減らし、画像処理のスレッド数を増やすことができる。
一方、スキャン処理は終了したと判断することに応じて(S59:YES)、スキャナドライバ28は実行中の画像処理のスレッドがあるか否かを判断する(S61)。実行中の画像処理のスレッドがあると判断することに応じて(S61:YES)、スキャナドライバ28はステップS65へ進む。一方、実行中の画像処理のスレッドがないと判断することに応じて(S61:NO)、スキャナ50でスキャンされて生成されたすべてのスキャンデータに対する画像処理が完了しているため、アプリケーションプログラム26へ完了メッセージを送信し(S63)、第2処理を終了する。
図3を用いて第2処理について説明する。原稿1ページ目の画像処理のスレッドが終了し、スキャナドライバ28へ画像データが送信されると(M13)、第2処理が実行される(S6)。ステップS6での第2処理におけるステップS57にて画像データがアプリケーションプログラム26へ送信される(M14)。また、第2処理におけるステップS67にて補助記憶装置14に記憶されていた原稿3ページ目のスキャンデータの画像処理のスレッドが起動される。原稿2ページ目の画像処理のスレッドが終了し、画像データが送信されると(M15)。第2処理が実行され(S7)、第2処理におけるステップS57にて画像データがアプリケーションプログラム26へ送信される(M16)。尚、ステップS7での第2処理では、補助記憶装置14にスキャンデータは記憶されていないため、新たな画像処理のスレッドが起動されることはない。原稿3ページ目の画像処理のスレッドが終了し、スキャナドライバ28へ画像データが送信されると(M17)。第2処理が実行され(S8)、第2処理におけるステップS57にて画像データがアプリケーションプログラム26へ送信される(M18)。また、第2処理におけるステップS63にて完了メッセージが送信される(M19)。アプリケーションプログラム26は、メッセージM20を受信すると、スキャナドライバ28へCloseメッセージを送信する。スキャナドライバ28はCloseメッセージを受信すると、起動状態から待機状態に移行する。
このように、例えばスレッド数設定処理により、上限スレッド数が2に制限された場合には、画像処理のスレッドは2より多く起動されることはないため、メインメモリ13に過大な負荷はかからずに、すべての原稿のスキャンデータに対する画像処理が短い期間で実行されることが可能となる。また、例えば、図3に示すシーケンス図が例えば有線LANによる通信時のものであるとした場合、無線LANによる通信の場合には、図3に示すよりもスキャンデータの受信間隔はより長くなる。この場合には、スレッド数設定処理により、上限スレッド数は1に制限されるため、1次的にメインメモリ13の使用量が無駄に増加してしまうことが抑制される。
ここで、PC10は情報処理装置の一例であり、スキャナ50は読取装置の一例であり、スキャナドライバ28はプログラムの一例であり、ネットワークI/F20は通信インタフェースの一例であり、メインメモリ13は第1記憶部の一例であり、補助記憶装置14は第2記憶部の一例であり、CPU12は制御部の一例である。
また、スキャンデータは読取データの一例であり、メッセージM3にて確定するネットワークI/F20の種類およびメッセージM5にて応答されるデバイス能力は受信間隔情報の一例であり、上限スレッド数はスレッドの上限数の一例であり、モデル名は機種名の一例である。また、ステップS33にて上限スレッド数に設定される論理コア数から1減算した値は第1の値の一例であり、ステップS35にて上限スレッド数に設定される「1」は第2の値の一例である。また、搬送速度が速いと対応付けられたモデル名は第1の情報の一例であり、搬送速度が遅いと対応付けられたモデル名は第2の情報の一例である。また、ネットワークI/F20の種類である有線LANおよびUSBケーブルは第1の情報の一例であり、無線LANは第2の情報の一例である。また、ステップS25にて判断に使用される「300dpi」は解像度基準値の一例であり、ステップS27にて判断に使用される「長尺サイズ」は基準サイズの一例であり、ステップS73にて判断に使用される基準値Nはデータ量基準値の一例である。また、メッセージM7の送信は送信処理の一例であり、メッセージM9~M11の受信は第1受信処理の一例であり、画像処理のスレッドにて実行される処理は画像処理の一例であり、メッセージM5は第2受信処理の一例であり、スレッド数設定処理は第1設定処理の一例であり、ステップS49,S67は起動処理の一例である。また、ステップS1は受付処理の一例であり、ステップS41は第1判断処理の一例であり、ステップS43は記憶処理の一例であり、ステップS71は第2判断処理の一例であり、ステップS73は第2設定処理の一例である。
以上、説明した実施形態によれば、以下の効果を奏する。
スキャナドライバ28は、スレッド数設定処理のステップS29にて搬送速度が遅いモデルと判断した場合、また、ステップS31にてネットワークI/F20の種類が無線LANであると判断した場合、原稿1ページ分のスキャンデータの受信間隔が長いため、ステップS35にて上限スレッド数を1に設定する。即ち、論理コア数が3以上であり、ステップS29にてNOと判断され、かつステップS31にてNOと判断された場合に設定される上限スレッド数は論理コア数から1減算した値であるのに対し、受信間隔が長い場合には、論理コア数から1減算した値よりも小さい値である1に設定される。また、ステップS41で実行中の画像処理のスレッドの数が上限スレッド数より小さいと判断された場合、ステップS47もしくはステップS49にて画像処理のスレッドが起動される。つまり、上限スレッド数を上限として画像処理のスレッドが起動される。これにより、連続して送信される原稿1ページ分のスキャンデータの受信間隔を示すネットワークI/F20の種類およびスキャナ50の搬送速度に基づいて、上限スレッド数は、論理コア数から1減算された値もしくは1に制限されるので、適切なスレッド数でPC10に画像処理を実行させることができる。
また、スレッド数設定処理は、ステップS21にて論理コア数を上限スレッド数に設定する。そして、論理コア数が2より大きい場合にはステップS23にてYESと判断され、ステップS33にて上限スレッド数は論理コア数から1減算した値とされ、論理コア数が2である場合にはステップS23にてYESと判断され、ステップS33にて上限スレッド数は論理コア数から1減算した値である1とされ、論理コア数が1の場合にはステップS23にてNOと判断され、ステップS35にて上限スレッド数は1とされる。つまり、論理コア数が2より大きい場合、ステップS29にてYESと判断された場合、もしくはステップS31にてYESと判断された場合に設定される上限スレッド数は、ステップS29にてNOと判断された場合、かつステップS31にてNOと判断された場合に設定される上限スレッド数よりも小さい値とされる。このように、受信間隔が長くないと判断される場合に設定される上限スレッド数は、は、PC10の処理能力に基づき設定されるので、上限スレッド数がPC10の性能に対して多くなることによる、個々のスレッドのスレッド起動から終了までの時間が長くなってしまうことが抑制される。
また、スレッド数設定処理は、ステップS29にて搬送速度が遅いモデルと判断した場合、ステップS35にてスレッド数を1に設定する。原稿を搬送しつつ原稿の読み取りを行うスキャナ50においては、一般に、スキャナ50による読み取り速度は、搬送部62の搬送速度に依存する。そして、搬送速度が遅いほど、原稿1ページ分のスキャンデータの受信間隔が長くなる。また、モデル名は搬送速度が遅いか/早いかの指標となり得る。そこで、モデル名により、上限スレッド数を設定することで、適切なスレッド数でPC10に画像処理を実行させることができる。
また、スレッド数設定処理は、ステップS31にてネットワークI/F20の種類が無線LANであると判断した場合、ステップS35にて上限スレッド数を1に設定する。無線LANである場合、スキャンデータの送受信にかかる時間が長くなり、原稿1ページ分のスキャンデータの受信間隔が長くなる。そこで、ネットワークI/F20の種類により、上限スレッド数を設定することで、適切なスレッド数でPC10に画像処理を実行させることができる。
また、スキャナドライバ28は、スキャン受付処理にて、原稿サイズおよび解像度の設定を受け付け、スレッド数設定処理のステップS25にて解像度が300dpi以上であると判断した場合、また、ステップS27にて原稿サイズが長尺であると判断した場合、ステップS35にて上限スレッド数を1に設定する。原稿サイズおよび解像度が大きい場合にはスキャンデータのデータ量も大きくなりメインメモリ13の使用量も多くなる。そこで、上限スレッド数を1に制限することで、メインメモリ13の容量がひっ迫してしまうことが抑制される。
また、第1処理は、ステップS41にて実行中のスレッド数が上限スレッド数よりも小さいと判断すると、ステップS43にてスキャンデータをファイルとして補助記憶装置14に一時保存する。これにより、受信するスキャンデータは補助記憶装置14に記憶されるので、メインメモリ13の使用量を抑えることができる。
また、第2処理は、ステップS71にて、補助記憶装置14に記憶されているスキャンデータのファイルのデータの容量の総量は基準値N以下でないと判断することに応じて、ステップS73にて上限スレッド数を1加算する。例えば、読み取られる原稿の枚数が多く、また、画像処理の処理時間が長い場合には、補助記憶装置14に記憶されるファイルの数が累積的に増大してく状況も考えられる。そこで、このような場合には、上限スレッド数を増やすことで、補助記憶装置14に記憶されるファイルの数と起動される画像処理のスレッドの数との調整を図ることができる。
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、上記では、受信間隔情報の一例として、モデル名を例示したが、これに限定されない。例えば、搬送部62の搬送速度を受信間隔情報としても良い。詳しくは、例えば、メッセージM5にて応答されるデバイス能力に搬送速度の情報が含まれる場合には、この搬送速度の情報により、搬送速度の速いか遅いかを判断する構成としても良い。
また、上記では、第2の値の一例として「1」を例示したが、これに限定されない。例えば、スキャナ50が原稿の表面および裏面を同時期にスキャンする、所謂両面スキャン機能を有し、2ページ分のスキャンデータをスキャナドライバ28へ送信する構成の場合には、第2の値を「2」としても良い。尚、この場合には、スキャン受付処理(S1)にて、片面スキャン/両面スキャンの何れかの選択を受け付け、片面スキャンを受け付けた場合には第2の値を「1」、両面スキャンを受け付けた場合には第2の値を「2」とする構成とすると良い。
また、上記では、スレッド数設定処理において、解像度が300dpi以下、原稿サイズが長尺以外、搬送速度が速い、ネットワークI/F20の種類が無線LAN以外である場合にステップS33を実行すると説明したが、これに限定されず、各々の値の組み合わせによってステップS33を実行する構成にしても良い。詳しくは、例えば、スキャンデータのデータ量の判断においては、例えば解像度が400dpiであっても原稿サイズがB5サイズであれば、スキャンデータのデータ量は少ないと判断しても良い。また、例えば、原稿1ページ分のスキャンデータの受信間隔の判断においては、例えば、無線LANであっても、解像度が200dpiであり原稿サイズがB5サイズであれば、受信間隔は短いと判断しても良い。このような判断は、例えば、上限スレッド数を1とする各パラメータの範囲を予め規定したテーブルにより行う構成とすれば良い。
また、上記では、スキャン受付処理(S1)にて、スキャンの解像度および用紙サイズを受け付けると説明したが、これに限定されず、解像度および用紙サイズの何れか一方のみを受け付ける構成としても良い。この場合には、スレッド数設定処理にて、ステップS25およびステップS27の該当する何れか一方を省略する構成としても良い。
また、上記では、スキャンシステム1は、PC10およびスキャナ50を備えると説明したが、構成を限定するものでは無く、例えば、複数のスキャナを備える構成でも良い。また、スキャナ50は、カラー読み取りおよび長尺サイズの読み取りが可能であると説明したが、機能を限定するものでは無い。
10 PC
13 メインメモリ
28 スキャナドライバ
50 スキャナ
20 ネットワークI/F
12 CPU

Claims (7)

  1. 読取装置と通信可能な通信インタフェースと、第1記憶部と、制御部とを備える情報処理装置で読み取り可能なプログラムであって、
    前記制御部に、
    前記通信インタフェースを介して、前記読取装置に読取指示を送信する送信処理と、
    前記読取指示に従って前記読取装置が原稿を読み取って生成した読取データを受信する第1受信処理と、
    前記第1受信処理にて受信された原稿1ページ分の前記読取データをアプリケーションプログラムが使用可能な画像データに変換する画像処理と、
    連続して送信される前記原稿1ページ分の前記読取データの受信間隔の長短の指標となる受信間隔情報を、前記通信インタフェースを介して前記読取装置から受信する第2受信処理と、
    前記第2受信処理にて受信した前記受信間隔情報が第1の情報である場合に、スレッドの上限数を第1の値に設定し、当該受信間隔情報が前記第1の情報が指標する前記受信間隔よりも前記受信間隔が長いことを指標する第2の情報である場合に、前記スレッドの上限数を前記第1の値よりも小さい第2の値に設定する第1設定処理と、
    前記第1受信処理にて前記原稿1ページ分の前記読取データが受信されると、前記第1設定処理にて設定された前記スレッドの上限数を上限として、前記第1記憶部を使用して前記画像処理を実行するスレッドを起動する起動処理と、
    を実行させることを特徴とするプログラム。
  2. 前記受信間隔情報は、前記読取装置の機種名を含み、
    前記第1設定処理は、
    前記機種名が前記第1の情報である場合に、前記スレッドの上限数を前記第1の値に設定し、前記機種名が前記第2の情報である場合に、前記スレッドの上限数を前記第2の値に設定することを特徴とする請求項1に記載のプログラム。
  3. 前記受信間隔情報は、前記通信インタフェースの種類を含み、
    前記第1設定処理は、
    前記通信インタフェースの種類が前記第1の情報である場合に、前記スレッドの上限数を前記第1の値に設定し、前記通信インタフェースの種類が前記第2の情報である場合に、前記スレッドの上限数を前記第2の値に設定することを特徴とする請求項1に記載のプログラム。
  4. 前記制御部に、
    前記原稿の原稿サイズおよび前記読取装置が前記原稿を読み取る際の解像度の少なくとも何れか一方を受け付ける受付処理を実行させ、
    前記第1設定処理は、
    前記受付処理にて前記原稿サイズが受け付けられ、当該原稿サイズが基準サイズ以上である場合、および、前記受付処理にて前記解像度が受け付けられ、当該解像度が解像度基準値より大きい場合の少なくとも何れか一方に該当する場合、前記第1設定処理にて設定された前記スレッドの上限数を前記第2の値とすることを特徴とする請求項1から3の何れかに記載のプログラム。
  5. 前記情報処理装置は、第2記憶部を備え、
    前記制御部に、
    前記第1受信処理にて前記原稿1ページ分の前記読取データが受信されると、実行中のスレッドの数が前記スレッドの上限数より小さいか否かを判断する第1判断処理と、
    前記第1判断処理にて前記スレッドの上限数より小さいと判断された場合、前記起動処理と、
    前記第1判断処理にて前記スレッドの上限数よりも大きいと判断された場合、前記第1受信処理にて受信された前記原稿1ページ分の前記読取データをファイルとして前記第2記憶部に記憶させる記憶処理と、
    を実行させることを特徴とする請求項1から4の何れかに記載のプログラム。
  6. 前記制御部に、
    前記第2記憶部に記憶されている1つ以上の前記読取データのファイルの容量の総量はデータ量基準値以下であるか否かを判断する第2判断処理と、
    前記第2判断処理にて前記データ量基準値以下でないと判断された場合、前記スレッドの上限数に設定されている値をより大きい値に変更する第2設定処理と、
    を実行させることを特徴とする請求項に記載のプログラム。
  7. 読取装置と通信可能な通信インタフェースと、
    第1記憶部と、
    制御部と、を備え、
    前記制御部は、
    前記通信インタフェースを介して、前記読取装置に読取指示を送信する送信処理と、
    前記読取指示に従って前記読取装置が原稿を読み取って生成した読取データを受信する第1受信処理と、
    前記第1受信処理にて受信された原稿1ページ分の前記読取データをアプリケーションプログラムが使用可能な画像データに変換する画像処理と、
    連続して送信される前記原稿1ページ分の前記読取データの受信間隔の長短の指標となる受信間隔情報を、前記通信インタフェースを介して前記読取装置から受信する第2受信処理と、
    前記第2受信処理にて受信した前記受信間隔情報が第1の情報である場合に、スレッドの上限数を第1の値に設定し、当該受信間隔情報が前記第1の情報が指標する前記受信間隔よりも前記受信間隔が長いことを指標する第2の情報である場合に、前記スレッドの上限数を前記第1の値よりも小さい第2の値に設定する第1設定処理と、
    前記第1受信処理にて前記原稿1ページ分の前記読取データが受信されると、前記第1設定処理にて設定された前記スレッドの上限数を上限として、前記第1記憶部を使用して前記画像処理を実行するスレッドを起動する起動処理と、
    を実行することを特徴とする情報処理装置。
JP2018023788A 2018-02-14 2018-02-14 プログラムおよび情報処理装置 Active JP7022318B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018023788A JP7022318B2 (ja) 2018-02-14 2018-02-14 プログラムおよび情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018023788A JP7022318B2 (ja) 2018-02-14 2018-02-14 プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2019140593A JP2019140593A (ja) 2019-08-22
JP7022318B2 true JP7022318B2 (ja) 2022-02-18

Family

ID=67695548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018023788A Active JP7022318B2 (ja) 2018-02-14 2018-02-14 プログラムおよび情報処理装置

Country Status (1)

Country Link
JP (1) JP7022318B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700999B (zh) * 2023-08-07 2023-10-03 上海观安信息技术股份有限公司 数据处理方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007201959A (ja) 2006-01-27 2007-08-09 Kyocera Mita Corp 画像形成装置
JP2011039800A (ja) 2009-08-12 2011-02-24 Hitachi Ltd データベース管理方法およびシステム並びにその処理プログラム
JP2011167857A (ja) 2010-02-16 2011-09-01 Ricoh Co Ltd 画像形成装置、画像形成方法、および画像形成プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007201959A (ja) 2006-01-27 2007-08-09 Kyocera Mita Corp 画像形成装置
JP2011039800A (ja) 2009-08-12 2011-02-24 Hitachi Ltd データベース管理方法およびシステム並びにその処理プログラム
JP2011167857A (ja) 2010-02-16 2011-09-01 Ricoh Co Ltd 画像形成装置、画像形成方法、および画像形成プログラム

Also Published As

Publication number Publication date
JP2019140593A (ja) 2019-08-22

Similar Documents

Publication Publication Date Title
US8233173B2 (en) Computer readable medium for image processing, image processing method, image processing device, and image processing system
US8127177B2 (en) Apparatus and method for executing workflow
US8203762B2 (en) Image reading device, image reading method and reading control program
JP2010130111A (ja) 画像読取装置
JP5669571B2 (ja) 画像読取装置、その制御方法、および制御プログラム
JP6288931B2 (ja) 画像形成装置及びその制御方法とプログラム
US8351078B2 (en) Image forming apparatus and image reading size setting method
JP2008123484A (ja) 印刷処理装置及び印刷処理装置の制御方法
JP7214406B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7022318B2 (ja) プログラムおよび情報処理装置
JP5267611B2 (ja) 画像読取装置、プログラム、プログラム記録媒体、及び方法
JP4766150B2 (ja) 画像読取装置及びプログラム
US8593674B2 (en) Method and apparatus for estimating file size before transmission of image data
US9473650B2 (en) Image reading apparatus, image reading method, image processing system, and storage medium
US20120154858A1 (en) Information processing apparatus and method of controlling the same
US20180341437A1 (en) Printing System That Performs Easily Printing of Unprinted Pages When Printing Is Interrupted, and Printing Method
JP2007318458A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP7422453B2 (ja) 画像形成装置及びその制御方法
JP2014225785A (ja) 画像読取制御装置、画像読取制御方法及び画像読取制御プログラム
JP2015115716A (ja) 画像読取装置及びその制御方法
US20110116120A1 (en) Image forming apparatus
US10296268B2 (en) Printing system that generates preview image of a part of pages among a plurality of pages, data processing device, and recording medium
JP2010141790A (ja) 画像処理装置及びワークフロー実行方法、並びにプログラム
US10999469B2 (en) Transmission apparatus and control method
US11943407B2 (en) Using pre-scan to improve scan speed by detecting a document loaded on the image reading apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220119

R150 Certificate of patent or registration of utility model

Ref document number: 7022318

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150