説明

制御装置及びプログラム

【課題】原稿の種類に応じて、適切なスキャン解像度でスキャンを実行することができる技術を提供する
【解決手段】
原稿のスキャンを実行するスキャン実行手段を制御するための制御装置は、判断手段と、スキャン制御手段とを備える。判断手段は、スキャン実行手段が、副走査方向に沿う第1方向に、特定の副走査方向の解像度で、原稿内の第1領域のためのスキャンの実行を開始した後、第1領域をスキャンすることによって得られる第1スキャンデータの少なくとも一部を用いて、スキャン実行手段に、副走査方向に沿う第2方向に、特定の副走査方向の解像度で、原稿内の第2領域のためのスキャンを実行させるか否かを判断する。スキャン制御手段は、第2領域のためのスキャンを実行させると判断された場合に、スキャン実行手段に、第2方向に第2領域のためのスキャンを実行させ、第2領域のためのスキャンを実行しないと判断された場合に、スキャン実行手段に、第2方向に第2領域のためのスキャンを実行させない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、原稿のスキャンを実行するスキャン実行手段を制御する技術に関する。
【背景技術】
【0002】
従来より、スキャナ装置で原稿をスキャンさせる際、1枚の原稿を複数回スキャンしてスキャンデータを得る技術がある。
【0003】
例えば特許文献1では、スキャナ装置のセンサ上に結像される光学像が、原稿上の互いに異なる位置から反射して形成されるように、複数回のスキャンを実行している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−215324号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、スキャンを実行するスキャン解像度が適切ではない場合があった。本発明は、上述した問題点を解決するためになされたものであり、適切なスキャン解像度でスキャンを実行する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
この目的を達成するために、本発明の第1の装置は、原稿のスキャンを実行するスキャン実行手段を制御するための制御装置であって、前記スキャン実行手段が、副走査方向に沿う第1方向に、特定の副走査方向の解像度で、前記原稿内の第1領域のためのスキャンの実行を開始した後、前記第1領域をスキャンすることによって得られる第1スキャンデータの少なくとも一部を用いて、スキャン実行手段に、前記副走査方向に沿う第2方向に、前記特定の副走査方向の解像度で、前記原稿内の第2領域のためのスキャンを実行させるか否かを判断する判断手段と、前記第2領域のためのスキャンを実行させると判断された場合に、前記スキャン実行手段に、前記第2方向に、前記第2領域のためのスキャンを実行させ、前記第2領域のためのスキャンを実行しないと判断された場合に、前記スキャン実行手段に、前記第2方向に、前記第2領域のためのスキャンを実行させないスキャン制御手段とを備えることを特徴とする。
【0007】
上記の構成によると、第1スキャンデータを用いて、第2領域のスキャンを実行するか否かを判断できるため、適切なスキャン解像度でスキャンを実行することができる。
【0008】
また、上記の装置において、前記判断手段は、前記第1スキャンデータの少なくとも一部を用いて、前記原稿の前記第1領域内に文字が含まれるか否かを判断する文字判断手段を備え、前記判断手段は、前記文字が前記第1領域内に含まれると判断された場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させると判断し、前記文字が前記第1領域内に含まれないと判断された場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させないと判断することが好ましい。
【0009】
上記の構成によると、原稿に文字が含まれると判断される場合に、第1方向及び第2方向のスキャンを実行させることができる。
【0010】
また、上記の装置において、前記判断手段は、前記第1スキャンデータの少なくとも一部を用いて、階調毎の画素数を特定する第1画素数特定手段と、前記第1画素数特定手段によって特定される結果に基づいて、画素数のピークを形成する特定の階調群が存在するか否かを判断する階調群判断手段であって、前記特定の階調群は、連続する複数の階調で構成され、前記連続する複数の階調の個数は、第1閾値以下の個数であり、前記連続する複数の階調に含まれるそれぞれの画素数は、第2閾値以上である、前記階調群判断手段と、を備え、前記判断手段は、前記特定の階調群が存在すると判断される第1の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させると判断し、前記特定の階調群が存在しないと判断される第2の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させないと判断することを特徴とすることとしてもよい。
【0011】
上記の構成によると、例えば、原稿に黒色で書かれた文字列が含まれる場合に、第1方向及び第2方向のスキャンを実行させることができる。
【0012】
また、上記の装置において、前記判断手段は、前記第1スキャンデータ内で、特定の方向に延びる部分データ毎に、特定の色を有する画素数を特定する第2画素数特定手段と、前記第2画素数特定手段によって特定される結果に基づいて、前記スキャンデータが、特定の部分データ群を含むか否かを判断するデータ群判断手段であって、前記特定の部分データ群は、前記特定の方向と直交する方向に沿って連続する複数の特定の部分データで構成され、前記連続する複数の特定の部分データの個数は、第3閾値以下の個数であり、前記連続する複数の部分データのそれぞれの前記特定の色を有する画素数は、第4閾値以上である、前記データ群判断手段と、を備え、前記判断手段は、前記スキャンデータが前記特定の部分データ群を含むと判断される第3の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させると判断し、前記スキャンデータが前記特定の部分データ群を含まないと判断される第4の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させないと判断することとしてもよい。
【0013】
上記の構成によると、例えば、原稿に、特定の方向に沿うように文字列が含まれる場合に、第1方向及び第2方向のスキャンを実行させることができる。
【0014】
また、上記の装置において、前記判断手段は、前記スキャン実行手段が、前記第1領域のためのスキャンの実行を終了した後に、前記スキャン実行手段に前記第2領域のためのスキャンを実行させるか否かを判断することとしてもよい。
【0015】
上記の構成によると、第1領域のスキャンの実行が終了してから、第2領域のスキャンを実行するか否かを判断できるため、第1スキャンデータの全体を用いて判断することができる。
【0016】
また、上記の装置において、さらに、前記第1スキャンデータと、前記第2領域をスキャンすることによって得られる第2スキャンデータと、を合成する合成手段とを備えることとしてもよい。
【0017】
上記の構成によると、第1スキャンデータと、第2スキャンデータとを合成し、副走査方向に2倍のスキャン解像度を有する1つのスキャンデータを生成させることができる。
【0018】
また、上記の装置において、さらに、前記スキャン実行手段は、前記第1領域のためのスキャンの実行を開始した後、前記第2領域のためのスキャンを実行するか否かを前記判断手段が判断する判断結果に基づいて、前記スキャン制御手段が前記スキャン実行手段にスキャンを実行させる第1モードと、前記判断手段による前記判断結果を得ることなく、前記スキャン制御手段が、前記スキャン実行手段に、前記第1方向のみに、前記第1領域及び第2領域のスキャンを実行させる第2モードと、に従ってスキャンを実行することが可能であり、ユーザからの指示に従って、前記第1モードでスキャンを実行するか、前記第2モードでスキャンを実行するか、を選択するスキャン処理選択手段を備えることが好ましい。
【0019】
上記の構成によると、ユーザは、第1モードでスキャンを実行するか、第2モードでスキャンを実行するか、を選択することができる。
【0020】
また、上記の装置において、前記第2モードでスキャンを実行することが選択された場合に、前記スキャン実行部は、前記特定の副走査方向の解像度の2倍の解像度でスキャンを実行することとしてもよい。
【0021】
上記の構成によると、第1モードが選択された場合と、第2モードが選択された場合とで、同等のスキャン解像度でスキャン実行手段にスキャンを実行させることができる。
【0022】
なお、この発明は、制御装置及び制御装置によって実行される方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の種々の態様で実現することができる。
【図面の簡単な説明】
【0023】
【図1】第1実施例のスキャナ装置の構成を示すブロック図。
【図2】第1実施例の2つのスキャンモードにおけるスキャンの実行方法を示す図。
【図3】第1実施例の最適化スキャンモードでのスキャンデータの生成方法を示す図。
【図4】第1実施例のスキャン処理全体を表すフローチャート。
【図5】第1実施例のスキャン条件を設定するための画面を示す図。
【図6】第1実施例の復路スキャン要否判断処理を表すフローチャート。
【図7】第1実施例の輝度値の分布をヒストグラム化した具体例を示す図。
【図8】第1実施例の復路スキャン実行要否判断処理の変形例を表すフローチャート。
【図9】第1実施例の復路スキャン実行要否判断処理の変形例による、ヒストグラムの作成方法を示す図。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について以下の順序で説明する。
A.第1実施例:
A−1.スキャナ装置の構成:
A−2.スキャンデータの生成方法:
A−2−1.通常スキャンモードでのスキャンデータの生成方法:
A−2−2.最適化スキャンモードでのスキャンデータの生成方法:
A−3.スキャン処理:
A−3−1.復路方向へのスキャン実行要否判断処理:
A−3−2.復路方向へのスキャン実行要否判断処理の変形例:
B.別の実施例:
【0025】
A.第1実施例:
A−1.スキャナ装置の構成:
図1は、本実施形態におけるスキャナ装置20の概略図を表すブロック図である。
【0026】
スキャナ装置20は、CPU21、RAM22、NVRAM23、スキャン実行部24、表示部25、メモリ装着部26、操作部27、ネットワークインターフェース28を備えており、各々がバス29で互いに接続されている。
【0027】
CPU21は、スキャナ装置20の動作を制御する。本実施例では、NVRAM23は、原稿のスキャンを制御するためのスキャンプログラムと、スキャン実行部24にスキャンを実行させるための複数のスキャン解像度の数値と、を記憶している。CPU21は、NVRAM23に記憶されているスキャンプログラムを読み出してRAM22に格納し、該スキャンプログラムを実行する。これにより、CPU21は、スキャナ装置20によるスキャンを制御することができる。
【0028】
CPU21は、スキャンプログラムに従ってスキャン実行部24に原稿をスキャンさせ、スキャンによって生成されたスキャンデータをRAM22に格納する。メモリ装着部26は、USBメモリ等の可搬型メモリをスキャナ装置に差し込むための差込口である。ユーザは、メモリ装着部26に可搬型メモリを挿入してCPU21に可搬型メモリを認識させる。その結果、CPU21は、RAM22に格納されているスキャンデータを可搬型メモリに転送することができる。
【0029】
なお、スキャナ装置20が図示しない印刷部を有する場合は、CPU21は、RAM22に格納されているスキャンデータに基づく印刷イメージを印刷部で生成させ、印刷出力させる構成としてもよい。また、スキャナ装置20は、ネットワークインターフェース28と接続されたLAN(ローカルエリアネットワーク)30を介して、RAM22に格納されているスキャンデータを、ネットワーク上の他のデバイスに転送させる構成としてもよい。
【0030】
スキャン実行部24は、原稿台の上に置かれた原稿のデータを読み取るために、CCD等から成る複数個のセンサを有する読み取りバーと、当該読み取りバーを駆動させるための駆動部と、を備える。なお、これに代えて、スキャン実行部24は、読み取りバーと、原稿を搬送する搬送部とを備えてもよい。
【0031】
表示部25は、パネルを備えており、各種の画面を表示する。本実施例では、ユーザは、操作部27を操作することによって、表示部25の項目を選択する。なお、表示部25は、タッチパネルであってもよい。この場合、表示部25は、操作部27としても機能し、ユーザは、表示部25に表示された画面内の一部の領域に触れることによって項目を選択する。
【0032】
A−2.スキャンデータの生成方法:
本実施例のスキャナ装置20では、スキャン実行部24にスキャンを実行させる際、ユーザはスキャンを実行するモードを選択することができる。スキャンを実行するモードは、通常スキャンモードと、最適化スキャンモードと、の2種類に分類される。通常スキャンモードは、往路方向のみのスキャンによって、指定されたスキャン解像度でスキャンを実行するモードである。最適化スキャンモードは、原稿の種類に応じてスキャンデータの生成方法の切り替えが行われるモードである。ユーザは操作部27を操作することによって、通常スキャンモードと、最適化スキャンモードとのどちらのモードでのスキャンの実行を所望するかを選択することができる。なお、本実施例におけるスキャン解像度は、スキャン実行部24によってスキャンが実行される際の光学解像度を意味する言葉である。
【0033】
A−2−1.通常スキャンモードでのスキャンデータの生成方法:
図2は、上述した各モードでのスキャンの実行方法を示す図である。図示するように、主走査方向は、読み取りバーが延びる方向である。また、副走査方向は、主走査方向と直交する方向であって、読み取りバーが駆動する方向である。
【0034】
まず、図2(A)は、通常スキャンモードでのスキャンの実行方法を示す図である。通常スキャンモードでのスキャンの実行がユーザによって所望された場合、CPU21は、図示するように、スキャン実行部24の読み取りバーを、原稿の左側の位置であって、ユーザが操作部27を操作することでスキャンの実行を所望する指示がなされる直前に読み取りバーが存在する位置(以下、始点)から往路方向に移動させることによって、指定されたスキャン解像度に基づき、副走査方向の読み取りピッチPごとに領域Z1のスキャンを実行させる。なお、領域Z1の個数Tは、ユーザによって指定されたスキャン解像度によって決定される。
【0035】
A−2−2.最適化スキャンモードでのスキャンデータの生成方法:
図2(B)は、最適化スキャンモードでのスキャンの実行方法を示す図である。本実施例では、最適化スキャンモードで原稿をスキャンする際、CPU21によって原稿をスキャンするための領域が2S個に分割された領域(Sは2S=Tを満たす。Tは上述した領域Z1の個数)それぞれでスキャンが実行される。CPU21は、分割された2S個の領域のうち、往路方向にスキャンする際の読み取りバーの始点の位置から奇数番目の領域Z2を往路方向のスキャンで読み取らせ、偶数番目の領域Z3を復路方向のスキャンで読み取らせる。なお、これに代えて、当該偶数番目の領域を往路方向のスキャンによって読み取らせ、当該奇数番目の領域を復路方向へのスキャンで読み取らせてもよい。
【0036】
最適化スキャンモードでのスキャンの実行がユーザによって所望されたことを確認すると、CPU21は、スキャン実行部24の読み取りバーを図の往路方向に移動させることによって、副走査方向の読み取りピッチPの2倍の距離である2Pごとに領域Z2のスキャンを実行させる。往路方向のスキャンが終了すると、CPU21は、後述する復路スキャンの実行要否判断処理に基づいて、さらに副走査方向の解像度を高めるために、スキャン実行部24に復路方向のスキャンを実行させるか否かを決定する。
【0037】
復路方向にスキャンを実行させないと決定した場合、CPU21は領域Z2のみに基づいてスキャンデータを生成し、RAM22に記憶する。
【0038】
一方、復路方向にスキャンを実行することが選択された場合、CPU21は読み取りバーを、往路方向のスキャンが完了した際の読み取りバーの位置であって、原稿の右側の位置(以下、終点)から、図の復路方向であって、始点の方向に移動させることによって、領域Z3のスキャンを実行させる。その後、CPU21は領域Z2と領域Z3のスキャンデータを合成し、RAM22に格納する。
【0039】
図3は、最適化スキャンモードが選択された場合のスキャンデータの生成方法を示す図である。本実施例では、CPU21は、後述する復路スキャン実行要否判断処理に基づいて、往路方向のスキャンのみでスキャンデータを生成するか、または往路方向と復路方向の両方のスキャンを実行することによってスキャンデータを生成するか、を切り替える。
【0040】
図3(A)は、往路方向のスキャンデータを生成する過程を示す図である。まず、CPU21は、往路方向にスキャンを実行させることによって、図示する領域a(1)、a(3)、a(5)、…、a(2n−1)のスキャンを実行する。なお、領域a(1)、a(3)、a(5)、…、a(2n−1)は、図2(B)の領域Z2に相当する。その後、CPU21は、領域a(1)、a(3)、a(5)、…、a(2n−1)をスキャンすることによって得られたスキャンデータを、RAM22に記憶する。
【0041】
図示するように、往路方向のスキャンによって得られたスキャンデータでは、主走査方向のスキャン解像度は、ユーザによって指定された主走査方向のスキャン解像度と同じとなる。一方、副走査方向のスキャン解像度は、指定された副走査方向のスキャン解像度の半分のスキャン解像度となる。なぜならば、往路方向のスキャンでは、CPU21は図の領域a(2)、a(4)、a(6)、…、a(2n)のスキャンを実行させていないためである。
【0042】
CPU21は、生成されたスキャンデータに基づいて、後述する復路方向のスキャン実行要否判断処理を実行する。
【0043】
スキャン実行要否判断処理の結果、復路方向のスキャンを実行しないと判断された場合、CPU21は、図示する領域a(1)、a(3)、a(5)、…、a(2n−1)のスキャンデータを1ページ分の画像データとしてJPEG形式に変換し、RAM22に記憶する。このように、画像データをJPEG形式に変換することによって、RAM22の記憶領域の消費を抑制することができる。
【0044】
一方、復路方向のスキャンを実行すると判断された場合、CPU21は、復路方向に、図示する領域a(2n)、a(2n−2)、a(2n−4)、…、a(4)、a(2)の順にスキャンを実行させる。なお、領域a(2n)、a(2n−2)、a(2n−4)、…、a(4)、a(2)は、図2(B)の領域Z3に相当する。
【0045】
図3(B)は、復路方向のスキャンを実行し、往路方向と復路方向のスキャンに基づくスキャンデータを生成する過程を示す図である。図示するように、CPU21は、復路方向にスキャンを実行することによって得られるラインごとのスキャンデータを、既に読み取り済みの往路方向のラインごとのスキャンデータの間に挿入するように、スキャンデータを合成する。例えば、領域a(4)のスキャンデータは、領域a(3)のスキャンデータと領域a(5)のスキャンデータとの間に挿入するように合成される。
【0046】
復路方向のスキャンを実行させながら、CPU21は、挿入が完了した領域Z2と領域Z3から順にJPEG形式に変換し、最終的に1ページ分のスキャンデータを生成して、RAM22に記憶する。
【0047】
A−3.スキャン処理:
次に、本実施例で実行されるスキャン処理について説明を行う。図4は、本実施例におけるスキャン処理の流れを示すフローチャートである。
【0048】
図4のスキャン処理は、ユーザが操作部27を操作することによって、スキャンの実行を所望する指示をCPU21が受けたことにより開始される。
【0049】
CPU21は、スキャンの実行を所望する指示が行われたことを確認する(S202)。スキャンの実行を所望する指示が確認されると、続いてCPU21は、図5に示す選択画面SC5を表示部25に出力する。なお、選択画面SC5は、NVRAM23に記憶されているスキャン解像度の情報を読み出すことによって生成される。
【0050】
図示するように、選択画面SC5には、スキャン実行部24がスキャンを実行するためのスキャン解像度が選択できるプルダウンボックスB5aと、最適化スキャンモードでのスキャンの実行を選択させるためのプルダウンボックスB5bと、が表示されている。ユーザは、操作部27を操作することによって、それぞれのプルダウンボックスから、所望するスキャン解像度と、所望するモードが実行される選択肢とを指定する。なお、所望するモードが実行される選択肢において、オンの場合は最適化スキャンが実行され、オフの場合は通常スキャンが実行される。当該指定が完了したら、ユーザは操作部27を操作することによって、実行ボタンB5cを選択する。これらの操作によって、ユーザによって指定されたスキャン解像度の情報と、ユーザによって所望されたモードの選択肢を特定する情報と、がRAM22に記憶される。
【0051】
スキャン解像度と、所望するモードの選択肢とがユーザによって指定されると、続いてCPU21は、ユーザによって選択されたスキャン解像度の数値を特定する(S204)。なお、該特定は、ユーザによって指定されたスキャン解像度の情報を、RAM22から読み出すことによって行われる。
【0052】
その後、CPU21は、最適化スキャンモードでのスキャンの実行をユーザが所望するか否かを判断する(S206)。なお、該判断は、ユーザによって所望されたモードの選択肢を特定する情報を、RAM22から読み出すことによって行われる。
【0053】
S206において、ユーザによって最適化スキャンモードが選択されなかったと判断された場合は、CPU21は、前述する通常スキャンモードでのスキャンの実行を行うことを決定する。具体的には、CPU21は、RAM22に記憶されているユーザが指定したスキャン解像度と合致するよう、主走査方向及び副走査方向のスキャン解像度を決定する(S220)。例えば、ユーザによって指定されたスキャン解像度において、主走査方向のスキャン解像度が600dpiで、副走査方向のスキャン解像度が600dpiであった場合は、CPU21は、スキャン実行部24に、主走査方向のスキャン解像度を600dpi、副走査方向のスキャン解像度を600dpiでスキャンを実行することを決定する。
【0054】
続いてCPU21は、S216で決定されたスキャン解像度に基づいて、往路方向にスキャンを実行するようスキャン実行部24に命令する(S222)。往路方向のスキャンを実行させながら、CPU21は、スキャンが完了した領域から順にJPEG形式に変換し、最終的に1ページ分のスキャンデータを生成して、図5のスキャン処理を終了する。
【0055】
一方、S206において、ユーザによって最適化スキャンモードが選択されたと判断された場合は、CPU21は、RAM22に記憶されているユーザが指定したスキャン解像度を読み出す。その際、主走査方向に関しては指定されたスキャン解像度で、副走査方向に関しては指定されたスキャン解像度の半分のスキャン解像度で、スキャン実行部24にスキャンを実行させることを決定する(S208)。例えば、ユーザによって指定されたスキャン解像度において、主走査方向のスキャン解像度が600dpiで、副走査方向のスキャン解像度が600dpiであった場合は、CPU21は、スキャン実行部24に、主走査方向のスキャン解像度を600dpi、副走査方向のスキャン解像度を300dpiでスキャンを実行することを決定する。
【0056】
続いてCPU21は、S208で決定されたスキャン解像度に基づいて、往路方向にスキャンを実行するようスキャン実行部24に命令する(S210)。具体的には、CPU21は、図2の領域Z2の領域のスキャンを実行するようスキャン実行部24に命令する。往路方向のスキャンを実行させながら、CPU21は、スキャンした領域から得られたスキャンデータを、一時的にRAM22に記憶する。
【0057】
スキャン実行部24によって往路方向のスキャンが終了すると、続いてCPU21は、一時的にRAM22に記憶されていたスキャンデータに基づいて、後述する処理である復路スキャンの実行要否判断処理を実行する(S212)。該処理によって、CPU21は、往路方向のスキャンを実行することのみでスキャン実行部24にスキャンの実行を終了させるか、さらに副走査方向のスキャン解像度を高めるために、スキャン実行部24に復路方向にスキャンを実行させるかを決定する(S214)。
【0058】
S214において、復路方向にスキャンを実行することが決定された場合は、CPU21は、復路方向にスキャンを実行するようスキャン実行部24に命令する(S216)。命令されるスキャン解像度は、主走査方向に関しては指定されたスキャン解像度であり、副走査方向に関しては指定されたスキャン解像度の半分のスキャン解像度である。この際、前述したように、スキャンの実行を行いながら、CPU21は、往路方向のスキャンデータと、復路方向のスキャンデータとを合成する。具体的には、CPU21は、スキャン実行部24に、図2の領域Z3のスキャンを実行させながら、領域Z2のスキャンデータと、領域Z3のスキャンデータと、を合成する。また、復路方向のスキャンを実行させながら、CPU21は、スキャンが完了した領域から順にJPEG形式に変換し、最終的に1ページ分のスキャンデータを生成して、図4のスキャン処理を終了する。
【0059】
一方、S214において、復路方向にスキャンを実行しないことが決定された場合は、CPU21は、往路方向のスキャンによって得られたスキャンデータを1ページ分の画像データとしてJPEG形式に変換し、図5のスキャン処理を終了する。
【0060】
A―3−1.復路スキャンの実行要否判断処理:
次に、S212の復路スキャンの実行要否判断処理について、図6のフローチャートを用いて詳述する。
【0061】
本実施例で行われる復路スキャンの実行要否判断処理の概略は、以下のようなものである。図4のスキャン処理では、原稿に文字が含まれる場合、さらに副走査方向のスキャン解像度を高めるために、CPU21はスキャン実行部24に復路方向へのスキャンを実行させる。ここで、文字が含まれる場合、スキャンによって得られるスキャンデータは特定の輝度値に集中する傾向がある。これを踏まえ、本処理では、CPU21は、スキャンデータの輝度値の分布を判断することによって、原稿に文字が含まれるか否かを特定する。
【0062】
図7は、輝度値の分布をヒストグラム化した具体例を示す図である。なお、輝度値は、スキャンデータの各画素のRGB値を変数として用いることによって算出される。
【0063】
スキャンデータに文字のみが含まれている場合は、スキャンデータが、黒色の画素もしくは何ら印字されていない白色の画素で構成されていることが考えられる。この場合、通常図7(A)に示すように、輝度値がグラフの端部付近(図7(A)のPa、Pb)に集中する傾向がある。一方、原稿に写真が含まれている場合は、通常図7(B)に示すように、輝度値が分散する傾向がある。また、原稿に写真と文字の両方が含まれている場合は、通常図7(C)に示すように、輝度値が分散する部分があるものの、図7(A)に示したように黒色の文字に基づく輝度値の集中がグラフの端部(図の7(C)のPc)に確認される傾向がある。
【0064】
本処理では、CPU21は、上述した輝度値の集中がある鋭いピーク(図7のX)を特定することにより、復路スキャンを実行するか否かを判断する。
【0065】
まず始めに、CPU21は、図7に示すように、往路方向のスキャンによって得られたスキャンデータの全領域の輝度値のヒストグラムを作成する(S302)。図示するように、該ヒストグラムは、往路方向のスキャンを実行した領域において、輝度値の階調ごとに、その輝度値を有する画素数を積算した図である。
【0066】
ヒストグラムが作成されると、続いてCPU21は、全ての階調の中で、最も画素数が多く含まれている階調を特定する。その後、CPU21は、特定された階調に含まれる画素数のうち、所定の割合の数を閾値として設定する(S304)。なお、本実施例では、所定の割合の数は、特定された階調に含まれる画素数の1/4の数とする。
【0067】
CPU21は、全ての階調の中で、当該閾値以上の画素数を含む階調が検出されるか否かを判断する(S306)。
【0068】
当該閾値以上の画素数を含む階調が検出されないと判断された場合は、CPU21は、復路方向にスキャンを実行させる必要はないと判断し(S312)、復路スキャンの実行要否判断処理を終了する。
【0069】
一方、当該閾値以上の画素数を含む階調が少なくとも1つ検出されると判断された場合は、CPU21は、当該閾値以上の画素数を含む階調がヒストグラムの横方向にいくつ連続しているかを特定する。なお、当該連続する階調は、図7のX1からX5に相当する。その後、CPU21は、連続している階調の数が所定数以下であるか否かを判断する(S308)。なお、所定数は予めNVRAM23に記憶されている。本実施例では、全階調数(例えば256階調)の8%の階調数を所定数とする。
【0070】
全ての連続する階調において、連続する階調の数が所定数より多い場合(鋭いピークが存在しない場合)は、CPU21は、復路方向にスキャンを実行させる必要はないと判断し(S312)、復路スキャンの実行要否判断処理を終了する。なお、図7(B)のX3のように連続する階調数が所定の数より多い場合がS312のように判断される傾向がある。
【0071】
一方、連続する階調の数が所定数以下であるものが存在する場合(鋭いピークが存在する場合)は、CPU21は、復路方向にスキャンを実行させる必要があると判断し(S310)、復路スキャンの実行要否判断処理を終了する。なお、図7(A)のX1とX2や、図7(C)のX5のように、連続する階調の数が所定の数以下であるものが存在する場合がS310のように判断される傾向がある。
【0072】
A―3−2.復路スキャンの実行要否判断処理の変形例:
次に、S212の復路スキャンの実行要否判断処理の変形例について、図8のフローチャートを用いて詳述する。
【0073】
本変形例で行われる復路スキャンの実行要否判断処理の概略は、以下のようなものである。図4のスキャン処理は、原稿に文字が含まれる場合に、さらに副走査方向のスキャン解像度を高めるために、CPU21はスキャン実行部24に復路方向にスキャンを実行させる。ここで、文字が含まれる場合は、例えば、ある特定の主走査方向のラインには文字が集中し、別のラインには文字が何ら含まれないことが想定される。このため、有色の画素数の分布を主走査方向の1ラインごとに判断することによって、原稿に文字が含まれるか否かを特定しようとする処理である。なお、1ラインとは、主走査方向に延びる、センサが1度の走査で読み取ることができる走査線を想定する。
【0074】
まず始めに、CPU21は、往路スキャンによって得られるスキャンデータにおいて、主走査方向に延びる1ラインに含まれる有色の画素数を積算する処理を実行し、ヒストグラムを作成する(S402)。
【0075】
図9は、本変形例に基づくヒストグラムの作成方法を示す図である。まず、図9(A)は、原稿と、作成されるヒストグラムとの関係を示す図である。図示するように、該ヒストグラムは、往路方向のスキャンを実行した領域において、何らかの有色の画素数を、ラインごとに積算したものである。
【0076】
該ヒストグラムが作成されると、続いてCPU21は、スキャン解像度に基づいて、以下に示す式に従って文字高さ閾値を算出する(S404)。なお、主走査方向のスキャン解像度の情報は、図4のスキャン処理におけるS204において特定される情報であり、RAM22から読み出される。
L[dot] = X[dpi]×(1/72)[inch/point]×M[point] … 式(2)
(ただし、L:文字高さ閾値、X:主走査方向のスキャン解像度、1/72:インチをポイントに変換するための係数、M:基準幅)
なお、基準値Mは予めNVRAM23に記憶されている。本実施例では、原稿内において、副走査方向に8ポイント以下で有色画素が連続することを示す値を基準幅Mの値とする。
【0077】
図9(B)は、往路方向のスキャンによって得られたスキャンデータから算出されたヒストグラムを示す図である。図示するように、CPU21は、作成されたヒストグラムの中で、所定の有色画素数より多い有色の画素を含むラインが検出されるか否かを特定する(S306)。なお、所定の有色画素数は予めNVRAM23に記憶されている。本変形例では、所定の有色画素数は、主走査方向に延びる1ラインに含まれる全画素数の30%の数とする。
【0078】
所定の有色画素数より多いラインが検出されないと判断された場合は、CPU21は、復路方向にスキャンを実行させる必要はないと判断する(S412)。CPU21は、復路方向のスキャンを実行させないための情報をRAM22に書き込み、復路スキャンの実行要否判断処理を終了する。
【0079】
一方、所定の有色の画素数より多いラインが検出されると判断された場合は、CPU21は、当該ラインが副走査方向にいくつ連続しているかを計算し、連続しているラインの数が式(2)で算出された文字高さ閾値L以下であるか否かを判断する(S408)。
【0080】
連続するラインの数がLより大きい場合は、CPU21は、復路方向にスキャンを実行させる必要はないと判断する(S412)。CPU21は、復路方向のスキャンを実行させないための情報をRAM22に書き込み、復路スキャンの実行要否判断処理を終了する。
【0081】
一方、連続するラインの数がL以下であった場合は、CPU21は、復路方向にスキャンを実行させる必要があると判断する(S410)。CPU21は、復路方向のスキャンを実行させるための情報をRAM22に書き込み、復路スキャンの実行要否判断処理を終了する。
【0082】
以上の説明において、CPU21によって実行されるスキャンプログラムのうち、図4のS206が本発明のスキャン処理選択手段によって実行される処理に相当する。また、図4のS212が判断手段によって実行される処理に相当する。また、図4のS208、S210、S216、S220、S222がスキャン制御手段によって実行される処理に相当する。また、図6のS310、S312、及び図8のS410、S412が文字判断手段によって実行される処理に相当する。また、図6のS306が第1画素数特定手段によって実行される処理に相当する。また、図6のS308が階調群判断手段によって実行される処理に相当する。また、図8のS406が第2画素数特定手段によって実行される処理に相当する。また、図8のS408がデータ群判断手段によって実行される処理に相当する。また、図4のS218が合成手段によって実行される処理に相当する。
【0083】
また、往路方向が本発明の第1方向に相当し、復路方向が本発明の第2方向に相当する。また、領域Z2が本発明の第1領域に相当し、領域Z3が本発明の第2領域に相当する。また、最適化スキャンモードが本発明の第1モードに相当し、通常スキャンモードが本発明の第2モードに相当する。
【0084】
以上説明したように、原稿のスキャンを実行する本実施例のスキャナ装置は、ユーザによって最適化スキャンモードが選択された場合、指定された副走査方向のスキャン解像度の半分の副走査方向のスキャン解像度で往路方向にスキャンを実行した後、S212の復路スキャン実行要否判断処理に基づいて、復路方向のスキャンを実行するか否かを判断する。判断の結果、副走査方向にスキャンを実行すると判断された場合は、スキャナ装置は、さらに副走査方向の解像度を高めるために、指定された副走査方向のスキャン解像度の半分の副走査方向のスキャン解像度で復路方向にスキャンを実行する。一方、復路方向にスキャンを実行しないと判断された場合は、スキャナ装置は、復路方向のスキャンを実行せずにスキャンを終了する。このように、本実施例では、スキャナ装置は、原稿に応じて、異なる解像度でスキャンを実行することができるため、適切な解像度でスキャンを実行することができる。
【0085】
B.別の実施例
(1)上記実施例では、スキャン実行部24が復路方向のスキャンを実行している期間に、往路方向と復路方向のスキャンデータが合成されているが、これに代えて、復路方向のスキャンが完了した後に、往路方向と復路方向のスキャンデータが合成されてもよい。
【0086】
さらに、スキャナ装置内でスキャンデータを合成することを記載したが、異なる構成であってもよい。すなわち、スキャナ装置と、図示しない端末装置と、がLAN30を介して接続されている状態で、スキャナ装置が端末装置に対し、往路方向と復路方向それぞれのスキャンデータを供給し、端末装置内で往路方向と復路方向のスキャンデータを合成してもよい。
【0087】
(2)上記実施例では、S212の処理で原稿に文字が含まれると判断された場合に、復路方向のスキャンを実行することとしているが、別の構成であってもよい。例えば、写真が原稿に含まれると判断される場合に、復路方向のスキャンを実行させてもよい。こうすることで、写真を含む原稿であってもスキャンデータのスキャン解像度を高めることができる。
【0088】
(3)上記実施例では、往路方向のスキャンが終了した後に、S212の処理を実行することによって復路方向のスキャンを実行するか否かを判断しているが、別の構成であってもよい。すなわち、往路方向のスキャンが終了する前に、往路方向のスキャンデータの一部のデータを用いて、復路方向のスキャンを実行するか否かを判断してもよい。例えば、往路方向に、原稿の半分以上の領域のスキャンの実行が完了したことを契機として、復路方向のスキャンを実行するか否かの判断を実行してもよい。
【0089】
(4)上記実施例では、スキャン実行部24に、最適化スキャンモードで往路方向と復路方向とのスキャンを実行することによって得られるスキャンデータのスキャン解像度と、通常スキャンモードでスキャンを実行することによって得られるスキャンデータのスキャン解像度と、が同じになるようにスキャンを実行させているが、異なる構成であってもよい。
【0090】
例えば、最適化スキャンモードで往路方向と復路方向とのスキャンを実行して得られるスキャンデータにおいて、主走査方向のスキャン解像度が600dpi、副走査方向のスキャン解像度が600dpiとなるようにスキャンを実行させるのに対し、通常スキャンモードで往路方向のスキャンを実行することによって得られるスキャンデータにおいては、主走査方向のスキャン解像度が600dpi、副走査方向のスキャン解像度が1200dpiとなるように、スキャンを実行させてもよい。
【0091】
(5)上記実施例では、通常スキャンモードでスキャンを実行するか、最適化スキャンモードでスキャンを実行するかをユーザに選択させているが、別の構成であってもよい。すなわち、ユーザにスキャンを実行するモードを選択させることなく、最適化スキャンを実行してもよい。
【0092】
こうすることで、ユーザにスキャンのモードを選択させる手間を省くことができる。
【0093】
(6)上記実施例では、A−3−2.において説明したように、主走査方向のラインごとの有色画素数を積算したヒストグラムに基づいて、復路スキャンを実行するか否かを判断したが、別の構成であってもよい。すなわち、副走査方向に延びるラインごとの有色画素数を積算したヒストグラムを作成し、当該ヒストグラムに基づいて、復路スキャンを実行するか否かを判断してもよい。また、主走査方向と副走査方向のそれぞれで当該ヒストグラムを作成し、両方のヒストグラムに基づいて復路スキャンを実行するか否かを判断してもよい。
【0094】
さらに、当該ヒストグラムは有色の画素数を積算して作成されているが、これに代えて、黒色の画素数と、その他の特定の1または複数の色を有する画素数と、で別のヒストグラムを作成し、それぞれのヒストグラムにおいてA−3−2.で説明した処理を実行してもよい。
【0095】
こうすることで、原稿に文字が含まれるか否かをより正確に判定することができる。
【0096】
(7)上記実施例では、スキャンデータをJPEG形式に変換しているが、これに代えて、スキャンデータをJPEG形式に変換することなく、例えばビットマップ形式でスキャンデータを生成してもよい。
【0097】
一般に、スキャンデータの出力形式は特定されるものではなく、例えばPDF形式やTIFF形式などのフォーマットでスキャンデータを生成することが可能である。
【0098】
(8)上述したように、本実施例では、ユーザによってスキャンを実行するモードが選択されているが、別の構成であってもよい。例えば、スキャンデータの転送先に応じて、スキャンを実行するモードを対応付けてもよい。具体的には、CPU21は、ネットワークを介して他のデバイスに転送する場合と、可搬型メモリに転送する場合とで、スキャンを実行するモードを選択させてもよい。
【0099】
(9)上述したように、本実施例では、ユーザがスキャナ装置20の操作部27を操作することによってスキャンの実行指示を行っているが、別の構成であってもよい。例えば、ユーザが、スキャナ装置20とLAN30を介して接続された図示しない端末装置の操作部を操作することによって、スキャンの実行指示を行ってもよい。すなわち、ユーザは、本実施例に記載したいわゆるプッシュスキャンの実行に限定されるのではなく、いわゆるプルスキャンを実行してもよい。
【0100】
(10)上述したように、本実施例では、スキャナ装置のCPU21でスキャン実行部24を制御しているが、これに代えて、スキャナ装置とLANを介して接続された図示しない端末装置がスキャン実行部24を制御してもよい。
【符号の説明】
【0101】
20…スキャナ装置、21…CPU、22…RAM、23…NVRAM、24…印刷部、25…表示部、26…メディア装着部、27…操作部、28…ネットワークインターフェース、29…バス、30…LAN

【特許請求の範囲】
【請求項1】
原稿のスキャンを実行するスキャン実行手段を制御するための制御装置であって、
前記スキャン実行手段が、副走査方向に沿う第1方向に、特定の副走査方向の解像度で、前記原稿内の第1領域のためのスキャンの実行を開始した後、前記第1領域をスキャンすることによって得られる第1スキャンデータの少なくとも一部を用いて、スキャン実行手段に、前記副走査方向に沿う第2方向に、前記特定の副走査方向の解像度で、前記原稿内の第2領域のためのスキャンを実行させるか否かを判断する判断手段と、
前記第2領域のためのスキャンを実行させると判断された場合に、前記スキャン実行手段に、前記第2方向に前記第2領域のためのスキャンを実行させ、前記第2領域のためのスキャンを実行しないと判断された場合に、前記スキャン実行手段に、前記第2方向に前記第2領域のためのスキャンを実行させないスキャン制御手段と、
を備える、制御装置。
【請求項2】
請求項1に記載の制御装置であって、
前記判断手段は、
前記第1スキャンデータの少なくとも一部を用いて、前記原稿の前記第1領域内に文字が含まれるか否かを判断する文字判断手段を備え、
前記判断手段は、前記文字が前記第1領域内に含まれると判断された場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させると判断し、前記文字が前記第1領域内に含まれないと判断された場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させないと判断する
ことを特徴とする、制御装置。
【請求項3】
請求項1または2のいずれかに記載の制御装置であって、
前記判断手段は、
前記第1スキャンデータの少なくとも一部を用いて、階調毎の画素数を特定する第1画素数特定手段と、
前記第1画素数特定手段によって特定される結果に基づいて、画素数のピークを形成する特定の階調群が存在するか否かを判断する階調群判断手段であって、前記特定の階調群は、連続する複数の階調で構成され、前記連続する複数の階調の個数は、第1閾値以下の個数であり、前記連続する複数の階調に含まれるそれぞれの画素数は、第2閾値以上である、前記階調群判断手段と、
を備え、
前記判断手段は、前記特定の階調群が存在すると判断される第1の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させると判断し、前記特定の階調群が存在しないと判断される第2の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させないと判断する
ことを特徴とする、制御装置。
【請求項4】
請求項1または2のいずれかに記載の制御装置であって、
前記判断手段は、
前記第1スキャンデータ内で、特定の方向に延びる部分データ毎に、特定の色を有する画素数を特定する第2画素数特定手段と、
前記第2画素数特定手段によって特定される結果に基づいて、前記スキャンデータが、特定の部分データ群を含むか否かを判断するデータ群判断手段であって、前記特定の部分データ群は、前記特定の方向と直交する方向に沿って連続する複数の特定の部分データで構成され、前記連続する複数の特定の部分データの個数は、第3閾値以下の個数であり、前記連続する複数の部分データのそれぞれの前記特定の色を有する画素数は、第4閾値以上である、前記データ群判断手段と、
を備え、
前記判断手段は、前記スキャンデータが前記特定の部分データ群を含むと判断される第3の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させると判断し、前記スキャンデータが前記特定の部分データ群を含まないと判断される第4の場合に、前記スキャン実行手段に、前記第2領域のためのスキャンを実行させないと判断する
ことを特徴とする、制御装置。
【請求項5】
請求項1乃至4のいずれかに記載の制御装置であって、
前記判断手段は、前記スキャン実行手段が、前記第1領域のためのスキャンの実行を終了した後に、前記スキャン実行手段に前記第2領域のためのスキャンを実行させるか否かを判断する
ことを特徴とする、制御装置。
【請求項6】
請求項1乃至5に記載の制御装置であって、さらに、
前記第1スキャンデータと、前記第2領域をスキャンすることによって得られる第2スキャンデータと、を合成する合成手段と、
を備える、制御装置。
【請求項7】
請求項1乃至6のいずれかに記載の制御装置であって、さらに、
前記スキャン実行手段は、前記第1領域のためのスキャンの実行を開始した後、前記第2領域のためのスキャンを実行するか否かを前記判断手段が判断する判断結果に基づいて、前記スキャン制御手段が前記スキャン実行手段に前記第2領域のためのスキャンを実行させる第1モードと、前記判断手段による前記判断結果を得ることなく、前記スキャン制御手段が、前記スキャン実行手段に、前記第1方向のみに、前記第1領域と、前記第2領域と、のスキャンを実行させる第2モードと、に従ってスキャンを実行することが可能であり、
ユーザからの指示に従って、前記第1モードでスキャンを実行するか、前記第2モードでスキャンを実行するか、を選択するスキャン処理選択手段を備える
ことを特徴とする、制御装置。
【請求項8】
請求項7に記載の制御装置であって、
前記第2モードでスキャンを実行することが選択された場合に、前記スキャン実行部は、前記特定の副走査方向の解像度の2倍の解像度でスキャンを実行する
ことを特徴とする、制御装置。
【請求項9】
原稿のスキャンを実行するスキャン実行手段を制御するコンピュータに、
前記スキャン実行手段が、副走査方向に沿う第1方向に、特定の副走査方向の解像度で、前記原稿内の第1領域のためのスキャンの実行を開始した後、前記副走査方向の解像度を高めるために、前記第1領域をスキャンすることによって得られる第1スキャンデータの少なくとも一部を用いて、スキャン実行手段に、前記副走査方向に沿う第2方向に、前記特定の副走査方向の解像度で、前記原稿内の第2領域のためのスキャンを実行させるか否かを判断する判断手段と、
前記第2領域のためのスキャンを実行させると判断された場合に、前記スキャン実行手段に、前記第2方向に前記第2領域のためのスキャンを実行させ、前記第2領域のためのスキャンを実行しないと判断された場合に、前記スキャン実行手段に、前記第2方向に前記第2領域のためのスキャンを実行させないスキャン制御手段として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−199853(P2012−199853A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−63730(P2011−63730)
【出願日】平成23年3月23日(2011.3.23)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】