IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーエプソン株式会社の特許一覧

<>
  • 特開-画像読取装置および画像読取方法 図1
  • 特開-画像読取装置および画像読取方法 図2
  • 特開-画像読取装置および画像読取方法 図3
  • 特開-画像読取装置および画像読取方法 図4
  • 特開-画像読取装置および画像読取方法 図5
  • 特開-画像読取装置および画像読取方法 図6
  • 特開-画像読取装置および画像読取方法 図7
  • 特開-画像読取装置および画像読取方法 図8
  • 特開-画像読取装置および画像読取方法 図9
  • 特開-画像読取装置および画像読取方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024075152
(43)【公開日】2024-06-03
(54)【発明の名称】画像読取装置および画像読取方法
(51)【国際特許分類】
   H04N 1/00 20060101AFI20240527BHJP
   H04N 1/387 20060101ALI20240527BHJP
【FI】
H04N1/00 Z
H04N1/00 L
H04N1/00 J
H04N1/387 110
H04N1/387
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022186373
(22)【出願日】2022-11-22
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】松並 稔典
【テーマコード(参考)】
5C062
5C076
【Fターム(参考)】
5C062AA02
5C062AA05
5C062AB02
5C062AB40
5C062AB42
5C062AC22
5C062AC58
5C062AE15
5C076AA19
5C076BA01
(57)【要約】
【課題】メモリーの消費、データ転送の効率、画像品質といった各課題について更なる改善の余地があった。
【解決手段】記憶部は、1ページの原稿の読み取りに応じて生成される画像データにおけるそれぞれ異なる部分画像データが順次記憶される2つの第1バッファと、第1バッファに記憶されて画像処理が実行された後のデータが記憶される第2バッファと、を含み、制御部は、原稿の先端側の部分画像データから順に各第1バッファへ記憶させる記憶処理と、第1バッファが記憶した部分画像データに対し、画像処理として、エッジ検出により原稿に対応する原稿領域を切り出す切り出し処理と原稿領域の傾きを補正する傾き補正処理とを実行した後で、原稿領域の画像データを第2バッファへ転送する第1転送処理と、第2バッファから原稿領域の画像データを読み出して外部へ転送する第2転送処理と、を実行可能である。
【選択図】図6
【特許請求の範囲】
【請求項1】
原稿を読み取る読取部と、
前記読取部が前記原稿を読み取ることにより生成される互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データを記憶可能な記憶部と、
制御部と、を備え、
前記記憶部は、
1ページの前記原稿の読み取りに応じて生成される前記画像データにおけるそれぞれ異なる部分領域である部分画像データが順次記憶される2つの第1バッファと、
前記第1バッファに記憶されて画像処理が実行された後のデータが記憶される第2バッファと、を含み、
前記制御部は、
前記画像データにおける、複数の画素が前記第1方向に並ぶ第1ラインが前記第2方向に所定数並ぶ所定サイズの領域を前記部分画像データとし、前記原稿の先端側の前記部分画像データから順に各前記第1バッファへ記憶させる記憶処理と、
前記第1バッファが記憶した前記部分画像データに対し、前記画像処理として、エッジ検出により前記原稿に対応する原稿領域を切り出す切り出し処理と前記第1方向に対する前記原稿領域の傾きを補正する傾き補正処理とを実行した後で、前記原稿領域の画像データを前記第2バッファへ転送する第1転送処理と、
前記第2バッファから前記原稿領域の画像データを読み出して外部へ転送する第2転送処理と、を実行可能であり、
前記画像処理では、前記原稿の先端である先端エッジの両端を検出することにより前記原稿領域の幅を特定し、2つの前記第1バッファのうち一方の前記第1バッファが記憶する前記部分画像データ内の前記原稿領域に前記先端エッジと平行な第2ラインであって長さが前記原稿領域の幅に満たない前記第2ラインが含まれている場合に、2つの前記第1バッファのそれぞれが記憶する前記部分画像データ内の前記原稿領域を併せた領域から、長さが前記原稿領域の幅を満たす前記第2ラインを読み出して前記第1転送処理の対象の前記原稿領域の画像データの一部とする、ことが実行可能である画像読取装置。
【請求項2】
前記制御部は、前記画像処理では、前記原稿の最も先端側の前記部分画像データである1番目の前記部分画像データからの前記先端エッジの両端の検出を実行し、1番目の前記部分画像データから前記両端のうち一端しか検出できなかった場合、1番目の前記部分画像データの次の前記部分画像データである2番目の前記部分画像データからの前記両端のうちの他端の検出を実行する、ことを特徴とする請求項1に記載の画像読取装置。
【請求項3】
前記記憶部は、前記第1バッファを3つ有し、
前記制御部は、
前記記憶処理では、前記部分画像データを3つの前記第1バッファへ順次記憶させ、
前記画像処理では、2番目の前記部分画像データから前記他端を検出できなかった場合、2番目の前記部分画像データの次の前記部分画像データである3番目の前記部分画像データからの前記他端の検出を実行する、ことを特徴とする請求項2に記載の画像読取装置。
【請求項4】
前記読取部は、前記原稿の第1面と前記第1面の反対の面である第2面とを読み取り可能であり、
前記記憶部は、前記第1面用の2つの前記第1バッファと、前記第2面用の2つの前記第1バッファと、を含み、
前記制御部は、前記記憶処理では、
前記第1面の読み取りに応じて生成される前記画像データにおける前記部分画像データを、前記先端側の前記部分画像データから順に前記第1面用の各前記第1バッファへ記憶させ、
前記第2面の読み取りに応じて生成される前記画像データにおける前記部分画像データを、前記先端側の前記部分画像データから順に前記第2面用の各前記第1バッファへ記憶させる、ことを特徴とする請求項1に記載の画像読取装置。
【請求項5】
原稿を第1読取解像度で読み取り可能であり、かつ、前記原稿を前記第1読取解像度よりも高い第2読取解像度で読み取り可能な読取部と、
前記読取部が前記原稿を読み取ることにより生成される互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データを記憶可能な記憶部と、
制御部と、を備え、
前記記憶部は、前記読取部により前記第1読取解像度で読み取られた1ページ分の前記原稿の前記画像データである第1画像データを記憶可能であり、前記読取部により前記第2読取解像度で読み取られた1ページ分の前記原稿の前記画像データである第2画像データを記憶不能な容量をそれぞれに有する第1バッファおよび第2バッファを含み、
前記制御部は、前記読取部が前記原稿を前記第2読取解像度で読み取った場合は、
前記第2画像データにおける、複数の画素が前記第1方向に並ぶ第1ラインが前記第2方向に所定数並ぶ所定サイズの領域を部分画像データとし、前記原稿の先端側の前記部分画像データから順に、前記第1バッファを分割して確保した2つの小バッファへ順次記憶させる記憶処理と、
前記小バッファが記憶した前記部分画像データに対し、画像処理として、エッジ検出により前記原稿に対応する原稿領域を切り出す切り出し処理と前記第1方向に対する前記原稿領域の傾きを補正する傾き補正処理とを実行した後で、前記原稿領域の画像データを前記第2バッファへ転送する第1転送処理と、
前記第2バッファから前記原稿領域の画像データを読み出して外部へ転送する第2転送処理と、を実行し、
前記画像処理では、前記原稿の先端である先端エッジの両端を検出することにより前記原稿領域の幅を特定し、2つの前記小バッファのうち一方の前記小バッファが記憶する前記部分画像データ内の前記原稿領域に前記先端エッジと平行な第2ラインであって長さが前記原稿領域の幅に満たない前記第2ラインが含まれている場合に、2つの前記小バッファのそれぞれが記憶する前記部分画像データ内の前記原稿領域を併せた領域から、長さが前記原稿領域の幅を満たす前記第2ラインを読み出して前記第1転送処理の対象の前記原稿領域の画像データの一部とする、ことを特徴とする画像読取装置。
【請求項6】
読取部により原稿を読み取って互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データを生成する読取工程と、
前記画像データを記憶部へ記憶させる記憶工程と、を備える画像読取方法であって、
前記記憶部は、
1ページの前記原稿の読み取りに応じて生成される前記画像データにおけるそれぞれ異なる部分領域である部分画像データが順次記憶される2つの第1バッファと、
前記第1バッファに記憶されて画像処理が実行された後のデータが記憶される第2バッファと、を含み、
前記記憶工程では、前記画像データにおける、複数の画素が前記第1方向に並ぶ第1ラインが前記第2方向に所定数並ぶ所定サイズの領域を前記部分画像データとし、前記原稿の先端側の前記部分画像データから順に各前記第1バッファへ記憶させ、
さらに、前記第1バッファが記憶した前記部分画像データに対し、前記画像処理として、エッジ検出により前記原稿に対応する原稿領域を切り出す切り出し処理と前記第1方向に対する前記原稿領域の傾きを補正する傾き補正処理とを実行した後で、前記原稿領域の画像データを前記第2バッファへ転送する第1転送工程と、
前記第2バッファから前記原稿領域の画像データを読み出して外部へ転送する第2転送工程と、を備え、
前記画像処理では、前記原稿の先端である先端エッジの両端を検出することにより前記原稿領域の幅を特定し、2つの前記第1バッファのうち一方の前記第1バッファが記憶する前記部分画像データ内の前記原稿領域に前記先端エッジと平行な第2ラインであって長さが前記原稿領域の幅に満たない前記第2ラインが含まれている場合に、2つの前記第1バッファのそれぞれが記憶する前記部分画像データ内の前記原稿領域を併せた領域から、長さが前記原稿領域の幅を満たす前記第2ラインを読み出して前記第1転送処理の対象の前記原稿領域の画像データの一部とする、ことを特徴とする画像読取方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像読取装置および画像読取方法に関する。
【背景技術】
【0002】
ユーザーは、原稿をスキャナーに読み取らせて原稿を電子データ化する。
また、スキャン設定情報を基に、分割設定がされているか否かを判定し、分割設定がされていれば、設定されている分割サイズで原稿の読取領域を複数に分割し、分割した領域をスキャナー部で読み取る画像読取装置が開示されている(特許文献1参照)。
【0003】
前記文献1によれば、分割して読み取った画像データを、蓄積メモリー、又はUSBメモリー等の外部記憶媒体へマルチ画像ファイルとして保存する。また、前記文献1によれば、分割サイズが設定されていなくても、高い解像度が設定されていれば、スキャナー部で一回に読み取る原稿の画像サイズが一定サイズ以下となるように、原稿の読取領域を複数に分割してスキャナー部で読み取る。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010‐245610号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、前記のような従来技術を鑑みたとき、原稿の読み取りから画像データの転送や保存に至る過程において、メモリーの消費、データ転送の効率、画像品質といった各課題について更なる改善の余地があった。
【課題を解決するための手段】
【0006】
画像読取装置は、原稿を読み取る読取部と、前記読取部が前記原稿を読み取ることにより生成される互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データを記憶可能な記憶部と、制御部と、を備え、前記記憶部は、1ページの前記原稿の読み取りに応じて生成される前記画像データにおけるそれぞれ異なる部分領域である部分画像データが順次記憶される2つの第1バッファと、前記第1バッファに記憶されて画像処理が実行された後のデータが記憶される第2バッファと、を含み、前記制御部は、前記画像データにおける、複数の画素が前記第1方向に並ぶ第1ラインが前記第2方向に所定数並ぶ所定サイズの領域を前記部分画像データとし、前記原稿の先端側の前記部分画像データから順に各前記第1バッファへ記憶させる記憶処理と、前記第1バッファが記憶した前記部分画像データに対し、前記画像処理として、エッジ検出により前記原稿に対応する原稿領域を切り出す切り出し処理と前記第1方向に対する前記原稿領域の傾きを補正する傾き補正処理とを実行した後で、前記原稿領域の画像データを前記第2バッファへ転送する第1転送処理と、前記第2バッファから前記原稿領域の画像データを読み出して外部へ転送する第2転送処理と、を実行可能であり、前記画像処理では、前記原稿の先端である先端エッジの両端を検出することにより前記原稿領域の幅を特定し、2つの前記第1バッファのうち一方の前記第1バッファが記憶する前記部分画像データ内の前記原稿領域に前記先端エッジと平行な第2ラインであって長さが前記原稿領域の幅に満たない前記第2ラインが含まれている場合に、2つの前記第1バッファのそれぞれが記憶する前記部分画像データ内の前記原稿領域を併せた領域から、長さが前記原稿領域の幅を満たす前記第2ラインを読み出して前記第1転送処理の対象の前記原稿領域の画像データの一部とする、ことが実行可能である。
【0007】
画像読取装置は、原稿を第1読取解像度で読み取り可能であり、かつ、前記原稿を前記第1読取解像度よりも高い第2読取解像度で読み取り可能な読取部と、前記読取部が前記原稿を読み取ることにより生成される互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データを記憶可能な記憶部と、制御部と、を備え、前記記憶部は、前記読取部により前記第1読取解像度で読み取られた1ページ分の前記原稿の前記画像データである第1画像データを記憶可能であり、前記読取部により前記第2読取解像度で読み取られた1ページ分の前記原稿の前記画像データである第2画像データを記憶不能な容量をそれぞれに有する第1バッファおよび第2バッファを含み、前記制御部は、前記読取部が前記原稿を前記第2読取解像度で読み取った場合は、前記第2画像データにおける、複数の画素が前記第1方向に並ぶ第1ラインが前記第2方向に所定数並ぶ所定サイズの領域を部分画像データとし、前記原稿の先端側の前記部分画像データから順に、前記第1バッファを分割して確保した2つの小バッファへ順次記憶させる記憶処理と、前記小バッファが記憶した前記部分画像データに対し、画像処理として、エッジ検出により前記原稿に対応する原稿領域を切り出す切り出し処理と前記第1方向に対する前記原稿領域の傾きを補正する傾き補正処理とを実行した後で、前記原稿領域の画像データを前記第2バッファへ転送する第1転送処理と、前記第2バッファから前記原稿領域の画像データを読み出して外部へ転送する第2転送処理と、を実行し、前記画像処理では、前記原稿の先端である先端エッジの両端を検出することにより前記原稿領域の幅を特定し、2つの前記小バッファのうち一方の前記小バッファが記憶する前記部分画像データ内の前記原稿領域に前記先端エッジと平行な第2ラインであって長さが前記原稿領域の幅に満たない前記第2ラインが含まれている場合に、2つの前記小バッファのそれぞれが記憶する前記部分画像データ内の前記原稿領域を併せた領域から、長さが前記原稿領域の幅を満たす前記第2ラインを読み出して前記第1転送処理の対象の前記原稿領域の画像データの一部とする。
【0008】
画像読取方法は、読取部により原稿を読み取って互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データを生成する読取工程と、前記画像データを記憶部へ記憶させる記憶工程と、を備え、前記記憶部は、1ページの前記原稿の読み取りに応じて生成される前記画像データにおけるそれぞれ異なる部分領域である部分画像データが順次記憶される2つの第1バッファと、前記第1バッファに記憶されて画像処理が実行された後のデータが記憶される第2バッファと、を含み、前記記憶工程では、前記画像データにおける、複数の画素が前記第1方向に並ぶ第1ラインが前記第2方向に所定数並ぶ所定サイズの領域を前記部分画像データとし、前記原稿の先端側の前記部分画像データから順に各前記第1バッファへ記憶させ、画像読取方法はさらに、前記第1バッファが記憶した前記部分画像データに対し、前記画像処理として、エッジ検出により前記原稿に対応する原稿領域を切り出す切り出し処理と前記第1方向に対する前記原稿領域の傾きを補正する傾き補正処理とを実行した後で、前記原稿領域の画像データを前記第2バッファへ転送する第1転送工程と、前記第2バッファから前記原稿領域の画像データを読み出して外部へ転送する第2転送工程と、を備え、前記画像処理では、前記原稿の先端である先端エッジの両端を検出することにより前記原稿領域の幅を特定し、2つの前記第1バッファのうち一方の前記第1バッファが記憶する前記部分画像データ内の前記原稿領域に前記先端エッジと平行な第2ラインであって長さが前記原稿領域の幅に満たない前記第2ラインが含まれている場合に、2つの前記第1バッファのそれぞれが記憶する前記部分画像データ内の前記原稿領域を併せた領域から、長さが前記原稿領域の幅を満たす前記第2ラインを読み出して前記第1転送処理の対象の前記原稿領域の画像データの一部とする。
【図面の簡単な説明】
【0009】
図1】装置構成を簡易的に示す図。
図2】画像読取装置の内部構成を側方からの視点により簡易的に示す図。
図3】主に読取工程と記憶工程とを含む処理を示すフローチャート。
図4】原稿の1ページ分の画像データを例示する図。
図5】第1バッファおよび第2バッファと、データ移動の流れとを模式的に示す図。
図6】主に画像処理と第1転送工程とを含む処理を示すフローチャート。
図7】主に画像処理と第1転送工程とを含む処理を示すフローチャート。
図8】原稿の1ページ分の画像データであって図4と異なる例を示す図。
図9】第1面用、第2面用それぞれの第1バッファおよび第2バッファと、データ移動の流れとを模式的に示す図。
図10】読取解像度の違いに応じた処理の流れを簡単に示すフローチャート。
【発明を実施するための形態】
【0010】
以下、各図を参照しながら本発明の実施形態を説明する。なお各図は、本実施形態を説明するための例示に過ぎない。各図は例示であるため、比率や形状や濃淡が正確でなかったり、互いに整合していなかったり、一部が省略されていたりする場合がある。
【0011】
1.装置構成の概略説明:
図1は、本実施形態にかかる画像読取装置10の構成を簡易的に示している。画像読取装置10は、画像読取方法を実行する。画像読取装置10は、シートフィードタイプのスキャナーであり、制御部11、表示部13、操作受付部14、記憶部15、通信IF16、搬送部17、読取部18等を備える。IFはインターフェイスの略である。制御部11は、プロセッサーとしてのCPU11a、ROM11b、RAM11c等を有する一つ又は複数のICや、その他の不揮発性メモリー等を含んで構成される。
【0012】
制御部11では、プロセッサーつまりCPU11aが、ROM11bや、その他のメモリー等に保存されたプログラム12に従った演算処理を、RAM11c等をワークエリアとして用いて実行することにより、本実施形態にかかる処理を実現する。プロセッサーは、一つのCPUに限られることなく、複数のCPUや、ASIC等のハードウェア回路により処理を行う構成としてもよいし、CPUとハードウェア回路とが協働して処理を行う構成としてもよい。
【0013】
表示部13は、視覚情報を表示するための手段であり、例えば、液晶ディスプレイや、有機ELディスプレイ等により構成される。表示部13は、ディスプレイと、ディスプレイを駆動するための駆動回路と、を含む構成であってもよい。
操作受付部14は、ユーザーによる操作や入力を受け付けるための手段であり、例えば、物理的なボタンや、タッチパネルや、マウスや、キーボード等によって実現される。タッチパネルとしての操作受付部14は、表示部13の一機能として実現される。
表示部13や操作受付部14は、画像読取装置10に対して外付けされた周辺機器であってもよい。
【0014】
記憶部15は、例えば、ハードディスクドライブや、ソリッドステートドライブや、その他のメモリーによる記憶手段である。制御部11が有するメモリーの一部を記憶部15と捉えてもよい。記憶部15を、制御部11の一部と捉えてもよい。
通信IF16は、公知の通信規格を含む所定の通信プロトコルに準拠して有線又は無線で装置外部と通信を実行するための一つまたは複数のIFの総称である。図1の例では、画像読取装置10は、通信IF16を介して外部装置1と接続している。外部装置1は、例えば、パーソナルコンピューター、サーバー、スマートフォン、タブレット型端末等といった各種端末である。
【0015】
搬送部17は、読取対象となる原稿を所定の搬送経路に沿って搬送するための手段である。搬送部17は、例えば、回転して原稿を搬送するローラーや、回転の動力源としてのモーター等を備える。搬送部17は、原稿トレイに置かれた複数枚の原稿を一枚単位で順次搬送可能な、いわゆるADF(Auto Document Feeder)の機能を兼ね備えている。
【0016】
読取部18は、搬送部17が搬送する原稿を光学的に読み取る手段である。読取部18は、原稿を照射する光源、原稿からの反射光や透過光を受光して光電変換により読取結果としての電気信号を生成し出力するイメージセンサー、イメージセンサーからの出力をデジタル信号に変換等して画像データとするアナログフロントエンド等、スキャナーとして一般的な構成を有する。
【0017】
図2は、画像読取装置10の主に内部構成を側方からの視点により簡易的に示している。画像読取装置10は、原稿2を載置する載置部3を有する。載置部3は原稿トレイである。搬送部17は、載置部3に載置された原稿2を所定の搬送経路で搬送する。搬送部17が実行する原稿2の搬送は「搬送工程」に該当する。搬送部17は、搬送経路を挟み込むように対向配置されたローラー17b1,17b2からなる給紙ローラー対17bや、同じく対向配置されたローラー17a1,17a2からなる排紙ローラー対17aを備える。例えば、搬送経路の下側に配置されるローラー17b1とローラー17a1とが、不図示のモーターに連結されており、モーターから与えられる動力で回転する。搬送経路に沿う方向を搬送方向D1と言う。搬送方向D1の上流、下流を、単に上流、下流と言う。
【0018】
給紙ローラー対17bは、読取部18よりも上流に配置されており、原稿2を下流へ搬送する。排紙ローラー対17aは、読取部18よりも下流に配置されており、読取部18に読み取られた原稿2を下流へ搬送して排出する。例えば、給紙ローラー対17bの近傍位置に、原稿2の端部を検知するセンサー19が備えられていてもよい。給紙ローラー対17bよりも上流の載置部3に近い位置には、搬送部17の一部としてのロードローラー17cが備えられている。ロードローラー17cは、載置部3から原稿2を一枚単位で搬送経路へ導入する。
【0019】
図2の例では、読取部18は、搬送経路を挟むようにして搬送経路の上下に備えられており、原稿2の両面を同時に読み取り可能である。つまり、読取部18は、搬送経路の上方に設けられたイメージセンサーにより原稿2の上面を読み取り、かつ、搬送経路の下方に設けられたイメージセンサーにより原稿2の下面を読み取る。ただし、画像読取装置10が原稿2の両面を同時に読み取り可能な製品であることは必須ではない。画像読取装置10は、例えば、読取部18が搬送経路の下方に設けられたイメージセンサーにより搬送中の原稿2の下方を向く面を読み取り、搬送部17が原稿2をUターンさせて結果的に原稿2の両面を読取部18に読み取らせることが可能な製品であってもよい。原稿2の両面のうち一方の面を「第1面」と呼び、第1面の反対の面を「第2面」と呼んでもよい。あるいは、画像読取装置10は、原稿2の両面のうち一方の面のみを読み取り可能な製品であってもよい。
【0020】
2.画像読取処理:
図3は、制御部11がプログラム12に従って実行する処理の一部を、フローチャートにより示している。図3のフローチャートは、主に「読取工程」と「記憶工程」とを含んでいる。
ユーザーは、操作受付部14を操作して画像読取装置10に原稿2のスキャン開始を指示する。制御部11は、スキャン開始の指示を受けたことを契機として図3のフローチャートを開始する。
【0021】
ステップS100では、制御部11は、原稿2の有無を判定する。図示は省略しているが、画像読取装置10は、載置部3に原稿2が載置されていることを検出するセンサーを載置部3の近傍に有する。制御部11は、現在、当該センサーにより原稿2が検出されていれば、原稿有りすなわちステップS100で“Yes”と判定してステップS110へ進む。一方、制御部11は、現在、当該センサーにより原稿2が検出されていなければ、原稿無し、すなわちステップS100で“Nо”と判定して図3のフローチャートを終了する。
【0022】
ステップS110では、制御部11は、載置部3から原稿2を一枚搬送する処理を搬送部17に実行させ、搬送される原稿2の読取を読取部18に実行させる。制御部11は、例えば、原稿2の下流を向く先端が、図2に示すセンサー19により検知されたことを契機として、その後の所定タイミングで読取部18に読取動作を開始させる。この結果、原稿2の一面単位、つまりページ単位の読取結果としての画像データが生成される。ステップS110は、読取部18により原稿2を読み取って互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データを生成する読取工程に該当する。
【0023】
本実施形態では、原稿2や、画像データや、それらの一部分の領域に関して、下流側の端部を“先端”と呼び、上流側の端部を“後端”と呼ぶことにする。
ステップS110の開始後、制御部11は、ステップS110と並行して、ステップS120において、記憶部15の第1バッファへ「部分画像データ」を記憶させる。つまり、ステップS110の結果として原稿2の1ページ分の画像データの生成が終わるよりも前に、ステップS120が開始される。ステップS120は、画像データを記憶部15へ記憶させる記憶工程や記憶処理に該当する。
【0024】
図4は、原稿2の1ページ分の画像データ30の例を示している。画像データ30は、直交するX軸方向およびY軸方向に画素が2次元状に並ぶことにより構成されている。ここでは、X軸方向を第1方向、Y軸方向を第2方向と捉える。X,Y軸方向と搬送方向D1との対応関係としては、Y軸方向と搬送方向D1とが平行であり、X軸方向は搬送方向D1に直交する方向と捉えればよい。また、X軸方向は、原稿2の幅方向に対応し、Y軸方向は、搬送方向D1における原稿2の長さ方向に対応する、と捉えることもできる。
【0025】
画像データ30のうち、符号32で示した矩形の領域が、原稿2自体の読取結果に対応する原稿領域32である。画像データ30のうち、原稿領域32の外側のグレー色で示す領域は、読取部18のイメージセンサーが、いわゆる背景板を読み取った結果に対応している。このように、読取部18は、原稿2の1ページのサイズよりも広い範囲を読み取って1ページ分の画像データ30を生成する。
【0026】
画像データ30における、それぞれ異なる部分領域が部分画像データ31である。部分画像データ31は、複数の画素がX軸方向に並ぶ第1ラインがY軸方向に所定数並ぶ所定サイズの領域であり、画像データ30をY軸方向において複数に分割した場合に得られる個々の矩形領域とも言える。第1ラインを、ラスターラインとも言う。1つの部分画像データ31を形成する第1ラインの数は、ユーザーが設定可能である。例えば、1つの部分画像データ31を形成する第1ラインの最大数が予め決まっており、ユーザーは、操作受付部14の操作を通じて、この最大数以内で第1ラインの数を任意に設定することができる。いずれにしても、1つの部分画像データ31を形成する第1ラインの数は、ステップS120を開始する時点で既に決められている。
【0027】
図4では、各部分画像データ31に対して符号31a,31b,31c,31d,31e,31f,31gを付して便宜上区別している。図4では、Y軸方向のマイナス側が下流側に対応し、Y軸方向のプラス側が上流側に対応している。従って、画像データ30において部分画像データ31aは、最も先端側の部分画像データ31であり、これを1番目の部分画像データ31とも言う。部分画像データ31aの上流側に隣接する部分画像データ31bは、2番目の部分画像データ31と捉える。
【0028】
同様に、部分画像データ31bの上流側に隣接する部分画像データ31cは3番目の部分画像データ31、部分画像データ31cの上流側に隣接する部分画像データ31dは4番目の部分画像データ31…と捉える。図4の例によれば、ステップS110において、部分画像データ31aが1番目に生成される部分画像データ31であるから、1回目のステップS120では、制御部11は、部分画像データ31aを第1バッファへ記憶する。
【0029】
ステップS130では、制御部11は、画像データの後端まで記憶処理を終えたか否かを判定し、終えていなければ“Nо”の判定からステップS110以下を継続し、終えていれば“Yes”の判定からステップS100へ進む。つまり、制御部11は、画像データ30の最も後端の第1ラインを含む最後の部分画像データ31gを第1バッファへ記憶し終えた場合に、ステップS130で“Yes”と判定する。
【0030】
図5は、第1バッファおよび第2バッファと、データ移動の流れとを模式的に示している。第1バッファ15a1,15a2,15a3および第2バッファ15bは、それぞれが記憶部15内に確保された記憶領域であり、記憶部15の一部である。図5の例では、第1バッファとして、第1バッファ15a1,15a2,15a3の3つが確保されている。ただし、第1バッファは少なくとも2つ確保されていればよく、第1バッファ15a1,15a2のみであってもよい。第1バッファ15a1,15a2,15a3のそれぞれや、第2バッファ15bは、いずれも部分画像データ31を記憶可能な容量を有しているが、画像データ30の全体を記憶可能な程の容量は有していない。
【0031】
制御部11は、原稿2の先端側の部分画像データ31から順に、各部分画像データ31を各第1バッファへ記憶させる。図4,5の例を参照すると、制御部11は、1回目のステップS120では、記憶先として第1バッファ15a1を選択し、部分画像データ31aを第1バッファ15a1へ記憶する。2回目のステップS120では、記憶先として第1バッファ15a2を選択し、部分画像データ31bを第1バッファ15a2へ記憶し、3回目のステップS120では、記憶先として第1バッファ15a3を選択し、部分画像データ31cを第1バッファ15a3へ記憶する。
【0032】
4回目以降の各回のステップS120では、制御部11は、4番目以降の各部分画像データ31d,31e…の記憶先とする第1バッファを再び第1バッファ15a1,15a2,15a3の順で選択する。また、部分画像データ31の記憶は、記憶先とした第1バッファの空き容量が不足した場合は、古いデータに対して上書きする。第1バッファが第1バッファ15a1,15a2の2つのみであれば、制御部11は、ステップS120の度に、記憶先として第1バッファ15a1と第1バッファ15a2とを交互に選択すればよい。
第2バッファ15bには、後述するように、第1バッファに記憶されて画像処理が実行された後のデータが、記憶される。
【0033】
図6および図7は、制御部11がプログラム12に従って実行する処理の一部を、フローチャートにより示している。図6および図7のフローチャートは、主に、部分画像データ31に対する切り出し処理や傾き補正処理といった「画像処理」と、「第1転送工程」とを含んでいる。制御部11は、図3のフローチャートと、図6,7のフローチャートとを並行して実施可能である。具体的には、制御部11は、少なくとも1回目のステップS120により1番目の部分画像データ31が第1バッファへ記憶された後に、図6のフローチャートを開始する。
【0034】
概略、図6は1番目の部分画像データ31に原稿2の先端のエッジ(以下、先端エッジ)の両端が含まれている場合に対応するフローチャートであり、図7は1番目の部分画像データ31に先端エッジの一方の端しか含まれていない場合に対応するフローチャートである。先端エッジの両端とは、原稿2の先端側の左右の角のことである。画像データ30や部分画像データ31に関する説明では、原稿2の先端エッジを、原稿領域の先端エッジとも言う。
【0035】
上述したように、制御部11は、原稿2の先端がセンサー19により検知されたことを契機として、その後の所定タイミングで読取部18に読取動作を開始させる。そのため本実施形態では、1番目の部分画像データ31には、先端エッジの少なくとも一方の端は含まれているという前提で説明を行う。
【0036】
搬送時の原稿2の姿勢が、搬送方向D1に対して傾いていない理想的な姿勢であれば、先端エッジは両端を含めてその全てが1番目の部分画像データ31に含まれており、先端エッジはX軸方向と平行である。一方、搬送時の原稿2の姿勢が、搬送方向D1に対して傾いている、つまりスキューしている姿勢であれば、先端エッジはX軸方向に対して傾いた状態となる。図4の例では、原稿領域32の先端エッジ32E1はX軸方向に対して傾いているが、先端エッジ32E1の全体が部分画像データ31aに含まれている。
【0037】
ステップS200では、制御部11は、1番目の部分画像データ31から、原稿領域32の先端エッジ32E1の検出を行う。つまり、制御部11は、第1バッファ15a1にアクセスして、そこに記憶されている部分画像データ31aを対象にして先端エッジ32E1の検出を試みる。一般に画像のエッジは色や明るさが急激に変化する位置である。部分画像データ31aにおいては、背景板のグレー色から原稿2自体の色に変化した位置の画素が原稿領域32の内外を区切るエッジとなる。原稿2自体の色は、白や白に近い淡色である。エッジ検出の方法は公知であるため詳しい説明は省略する。また、ライン状のエッジが90°又はほぼ90°に近い角度で交差する点が、原稿領域32のエッジの端、つまり角32C1,32C2となる。このような2つの角32C1,32C2を両端とするラインが原稿領域32の先端エッジ32E1となる。
【0038】
ステップS210では、制御部11は、1番目の部分画像データ31からの先端エッジ32E1の検出に成功したか否かに応じて処理を分岐する。先端エッジ32E1の検出に成功した場合は、“Yes”の判定からステップS220へ進み、先端エッジ32E1の検出に成功しなかった場合は、“Nо”の判定から図7のステップS300へ進む。2つの角32C1,32C2が検出できれば先端エッジ32E1が確定したことになるため、制御部11は、部分画像データ31a内から2つの角32C1,32C2を検出できた場合に、ステップS210で“Yes”と判定する。一方、制御部11は、部分画像データ31a内から角を1つしか検出できなかった場合は、ステップS210で“Nо”と判定する。
【0039】
ステップS220以降の処理について、図4を適宜参照して説明する。
ステップS220では、ステップS200の検出結果から、原稿領域32の幅、サイドエッジ、2番目の部分画像データ31への引継ぎ点、を特定する。原稿領域32の幅は、角32C1,32C2間の距離であり、先端エッジ32E1の長さそのものである。サイドエッジは、原稿領域32の左右両側のエッジであり、角32C1を通り先端エッジ32E1と90°に交差するラインおよび、角32C2を通り先端エッジ32E1と90°に交差するラインである。引継ぎ点は、サイドエッジと現在の処理対象としている部分画像データ31の後端との交点であり、部分画像データ31aから部分画像データ31bへの引継ぎ点は、図4に示すように点P1および点P2である。
【0040】
このようなステップS220に伴い、1番目の部分画像データ31内の原稿領域が特定される。つまり、角32C1、角32C2、点P2、点P1で囲まれた四角形の領域が部分画像データ31a内の原稿領域である。処理対象としている部分画像データ31を、注目部分画像データ31とも呼ぶ。ステップS220や、ステップS220の直後のステップS230では、注目部分画像データ31は、当然に部分画像データ31aである。
【0041】
ステップS230では、制御部11は、注目部分画像データ31内の原稿領域に、先端エッジ32E1と平行な「第2ライン」であって長さが原稿領域32の幅に満たない第2ラインが含まれているか否かを判定する。このような、原稿領域32の幅に満たない第2ラインを、幅未達第2ラインと称する。図4では、部分画像データ31a内の原稿領域に含まれる2本の第2ラインL1,L2を2点鎖線で例示している。第2ラインL1,L2のうち、第2ラインL1は、先端エッジ32E1と同じ長さであり、原稿領域32の幅を満たす。一方、第2ラインL1よりも後端側の第2ラインL2は、先端エッジ32E1の傾きの影響により、片方のサイドエッジに達する前に部分画像データ31bに入ってしまうラインとなっており、幅未達第2ラインに該当する。
【0042】
従って、図4の例によれば、ステップS230では幅未達第2ライン有り、つまり“Yes”と判定してステップS260へ進む。簡単に言うと、先端エッジ32E1がX軸方向に対して傾いている場合は、ステップS230で“Yes”と判定する。一方、先端エッジ32E1がX軸方向と平行であれば、注目部分画像データ31内の原稿領域を構成する第2ラインは全て、X軸方向と平行であり先端エッジ32E1と同じ長さであるため、ステップS230で“Nо”と判定し、ステップS240へ進むことになる。なお、ステップS230の判定は、図6のフローチャートを開始してから終えるまで複数回繰り返すが、それらの判定結果は1回目の判定結果と毎回同じとする。
【0043】
ステップS240では、制御部11は、注目部分画像データ31内の原稿領域の画像データを切り出して、これを記憶していた例えば第1バッファ15a1から、第2バッファ15bへ転送し、第2バッファ15bへ記憶させる。この転送は、図5に示すように第1転送処理に該当する。ステップS230で“Nо”と判定した場合は、X,Y軸方向に対して原稿領域32が傾いていないため、ステップS240の原稿領域の切り出し時において、画像データを回転させる傾き補正は不要である。
【0044】
ステップS250では、制御部11は、次の部分画像データ31において原稿領域を特定する。“次の部分画像データ31”とは、注目部分画像データ31に対して上流側に隣接する部分画像データ31であり、仮に部分画像データ31aが注目部分画像データ31であれば、部分画像データ31bが次の部分画像データ31である。ステップS250の時点で、注目部分画像データ31と次の部分画像データ31との間の引継ぎ点や、引継ぎ点を通るサイドエッジは既知であるため、サイドエッジと、次の部分画像データ31の後端との交点を求めることで、次の部分画像データ31内の原稿領域を特定することができる。このように、次の部分画像データ31内の原稿領域を特定する処理は、次の部分画像データ31を記憶する、例えば第1バッファ15a2へアクセスして実行する。サイドエッジと次の部分画像データ31の後端との交点は、次の部分画像データ31と、更にその次の部分画像データ31との間の引継ぎ点となる。以下では逐一言及しないが、制御部11は、読むべき対象の部分画像データ31を切り替える場合は、当然、アクセス先の第1バッファを順次切り替える。
【0045】
ステップS250の後、制御部11は、ステップS290において、原稿領域32の後端エッジ32E2まで処理を終えたか否かを判定し、後端エッジ32E2まで処理を終えていれば“Yes”の判定をして図6のフローチャートを終える。一方、後端エッジ32E2まで処理を終えていなければ、ステップS290の“Nо”の判定からステップS230の判定に進む。ステップS290の判定に関しては後にも説明する。
制御部11は、ステップS250において原稿領域を特定した、次の部分画像データ31を、ステップS290の“Nо”およびステップS230の“Nо”を経た次回のステップS240では注目部分画像データ31として扱う。
【0046】
ステップS230の“Yes”から進んだステップS260では、制御部11は、次の部分画像データ31において原稿領域を特定する。ステップS260は、結果的に特定される原稿領域の形状は異なるが処理としてはステップS250と同じであるため、説明を省略する。
【0047】
ステップS270では、制御部11は、2つの第1バッファのそれぞれが記憶する部分画像データ31内の原稿領域を併せた領域から、長さが原稿領域32の幅を満たす第2ラインを取得する。例えば、第1バッファ15a1が記憶する部分画像データ31aが注目部分画像データ31であり、第1バッファ15a2が記憶する部分画像データ31bが次の部分画像データ31であるとする。この場合、制御部11は、部分画像データ31a,31bを併せた領域から、注目部分画像データ31に対応する第2ラインであって長さが原稿領域32の幅を満たす第2ラインを読み出す。
【0048】
第2ラインL1のように、原稿領域32の幅を満たしており、全てが部分画像データ31a内の原稿領域に含まれている第2ラインについては、単純に部分画像データ31a内の原稿領域から読み出せばよい。一方、第2ラインL2のような、部分画像データ31a内の幅未達第2ラインに関しては、原稿領域32の幅に対して足りない分の長さを、部分画像データ31b内の原稿領域から読み出して補う。このようなステップS270は、注目部分画像データ31内の原稿領域と、注目部分画像データ31内の原稿領域と組み合わせたときに全体を矩形にする領域との画像データを読み出すことに等しい。つまり、制御部11は、注目部分画像データ31である部分画像データ31a内の原稿領域と、次の部分画像データ31である部分画像データ31b内の原稿領域のうち図4においてハッチングを書き入れた三角形領域31b1とを、読み出して取得する。
【0049】
ステップS280では、制御部11は、ステップS270で取得した第2ラインの束である原稿領域を、注目部分画像データ31および次の部分画像データ31から切り出して、これを記憶していた例えば第1バッファ15a1,15a2から、第2バッファ15bへ転送し、第2バッファ15bへ記憶させる。このとき、制御部11は、切り出した原稿領域を、X軸方向に対する傾きを解消するために回転させる傾き補正をした上で転送する。この転送は、図5に示すように第1転送処理に該当する。このようなステップS260~S280の流れは、2つの第1バッファのそれぞれが記憶する部分画像データ31内の原稿領域を併せた領域から、長さが原稿領域の幅を満たす第2ラインを読み出して第1転送処理の対象の原稿領域の画像データの一部とする処理、を含んでいると言える。
【0050】
ステップS280の後、制御部11は、ステップS290の判定に進む。
制御部11は、ステップS260において原稿領域を特定した、次の部分画像データ31を、ステップS290の“Nо”およびステップS230の“Yes”を経た次回のステップS260~S280では注目部分画像データ31として扱う。また、三角形領域31b1のような、ステップS280において注目部分画像データ31の原稿領域と共に次の部分画像データ31から切り出した領域については、当該次の部分画像データ31を注目部分画像データ31として扱う場合に、切り出し済みであるため切り出しの対象から除外する。
【0051】
ステップS250又はステップS260において、制御部11は、次の部分画像データ31内で原稿領域を特定する際、併せて、原稿領域32の後端エッジ32E2と、その両端である角32C3,32C4の検出も試みる。サイドエッジと90°又はほぼ90°に交差するエッジが後端エッジであり、そのようなエッジとサイドエッジとの交点が角である。図4の例によれば、制御部11は、部分画像データ31fを次の部分画像データ31として、ステップS260において部分画像データ31f内から原稿領域を特定する際に、角32C4と後端エッジ32E2の一部を検出する。また、制御部11は、部分画像データ31gを次の部分画像データ31として、ステップS260において部分画像データ31g内から原稿領域を特定する際に、角32C3を検出し、これにより角32C3と角32C4とを結ぶ後端エッジ32E2が確定する。
【0052】
図4の例では、後端エッジ32E2の両端である角32C3,32C4は互いに異なる部分画像データ31に含まれているが、原稿領域32の傾きの程度や、部分画像データ31の1つあたりのサイズの設定や、原稿2のサイズによっては、角32C3,32C4は同じ部分画像データ31に含まれていることもある。また、ステップS230で“Nо”と判定されるような、原稿領域32がX,Y軸方向に対して傾いていない場合は、当然、角32C3,32C4は同じ部分画像データ31に含まれている。
【0053】
ステップS250又はステップS260において、後端エッジ32E2を確定できた場合、現在のステップS250又はステップS260において原稿領域を特定した部分画像データ31が、画像データ30の最も後端の部分画像データ31であるから、図6のフローチャートを終了するまでの間、それ以降ステップS250,S260は実行しない。制御部11は、最も後端の部分画像データ31内の原稿領域についてステップS240又はステップS280の処理を終えた場合に、ステップS290で“Yes”と判定すればよい。
【0054】
図8は、図4と同様に原稿2の1ページ分の画像データ30の例を示している。図8に関しては、図4と共通する説明は適宜省略する。図8の例では、先端エッジ32E1はX軸方向に対して図4の例よりも大きく傾いており、先端エッジ32E1の一部は部分画像データ31bに含まれている。そのため、図7のフローチャートについては、図8を適宜参照して説明する。また、図7に関しては、図6と共通する説明は適宜省略する。
【0055】
ステップS300では、制御部11は、1番目の部分画像データ31から2番目の部分画像データ31への引継ぎ点を特定する。ステップS300の時点では、ステップS200により、部分画像データ31a内で互いに直交するライン状の2本のエッジと、これら2本のエッジの交点である1つの角32C2が検出されている。ただしステップS300の時点では、これら2本のエッジのうちどちらが先端エッジ32E1であるかは不明である。制御部11は、これら2本のエッジそれぞれと部分画像データ31aの後端との交点を、部分画像データ31aから部分画像データ31bへの引継ぎ点P3,P4とする。
【0056】
ステップS310では、制御部11は、2番目の部分画像データ31から先端エッジ32E1のもう1つの端、つまりステップS200では検出されなかった角を検出する。部分画像データ31a内で検出された2本のエッジをそれぞれ引継ぎ点P3,P4を超えて部分画像データ31b内へ延長していったとき、どちらかのラインの延長線上で、エッジの角32C1が検出される。これにより、2つの角32C1,32C2を両端とする先端エッジ32E1が確定する。このように制御部11は、画像処理では、原稿2の最も先端側の部分画像データ31である1番目の部分画像データ31からの先端エッジ32E1の両端の検出を実行し、1番目の部分画像データ31から前記両端のうち一端しか検出できなかった場合、1番目の部分画像データ31の次の部分画像データ31である2番目の部分画像データ31から前記両端のうちの他端の検出を実行する。
【0057】
ステップS320では、ステップS310までの検出結果から、原稿領域32の幅、サイドエッジ、3番目の部分画像データ31への引継ぎ点、を特定する。3番目の部分画像データ31への引継ぎ点は、当然、サイドエッジと部分画像データ31bの後端との交点である。ステップS320までの処理により、部分画像データ31a内の原稿領域と、部分画像データ31b内の原稿領域とがそれぞれ特定されたことになる。また、ステップS320の時点では、画像データ31aが注目部分画像データ31であり、画像データ31bが次の部分画像データ31に該当する。
【0058】
ステップS330では、ステップS270と同様に、制御部11は、2つの第1バッファのそれぞれが記憶する部分画像データ31内の原稿領域を併せた領域から、長さが原稿領域32の幅を満たす第2ラインを取得する。これまでの説明から解るように、ステップS320の直後のステップS330であれば、制御部11は、注目部分画像データ31である部分画像データ31a内の原稿領域と、次の部分画像データ31である部分画像データ31b内の原稿領域のうち図8においてハッチングを書き入れた四角形領域31b2とを、読み出して取得する。
【0059】
なお、ステップS210の判定からステップS300へ進んだ場合は、部分画像データ31a内の原稿領域には必ず幅未達の第2ラインが含まれていると考えてよいため、図7のフローチャートではステップS230と同様の判定は省いている。ステップS330に続くステップS340,S350も、ステップS280,S290と同様の処理である。ステップS350の“Nо”によりステップS360へ進み、ステップS350の“Yes”により図7のフローチャートを終了する。
【0060】
ステップS360では、制御部11は、上流側の部分画像データ31において原稿領域を特定する。ステップS360で言う“上流側の部分画像データ31”とは、現時点での次の部分画像データ31に対して上流側に隣接する部分画像データ31を指す。画像データ31aが注目部分画像データ31、画像データ31bが次の部分画像データ31であれば、部分画像データ31cが上流側の部分画像データ31に該当する。ステップS360から進んだステップS330以降では、それまでの次の部分画像データ31を注目部分画像データ31として扱い、直前のステップS360で原稿領域を特定した部分画像データ31を次の部分画像データ31として扱う。また、ステップS350で“Nо”と判定した場合であっても、画像データ30の最も後端の部分画像データ31について既に原稿領域の特定を終えていれば、当然、ステップS360をスキップしてステップS330へ進めばよい。
【0061】
ステップS340の転送は第1転送処理に該当する。また、ステップS310~S340の流れや、ステップS360~S340の流れは、2つの第1バッファのそれぞれが記憶する部分画像データ31内の原稿領域を併せた領域から、長さが原稿領域の幅を満たす第2ラインを読み出して第1転送処理の対象の原稿領域の画像データの一部とする処理、を含んでいる。
【0062】
制御部11は、第1転送処理により第2バッファ15bへ記憶された原稿領域の画像データを第2バッファ15bから逐次読み出して外部へ転送する第2転送処理を、図3のフローチャートや、図6または図7のフローチャートと並行して実行する。ここでいう外部とは、例えば外部装置1であり、図5に示す第2転送処理は、通信IF16を通じて行われる。
【0063】
上述したように、記憶部15は、第1バッファを2つ有する構成であってもよいが、図5に示すように3つ有する構成であってもよい。第1バッファとして、第1バッファ15a1,15a2,15a3が確保されている場合、上述したように、制御部11は記憶処理では、部分画像データ31a,31b,31c…を3つの第1バッファ15a1,15a2,15a3へ順次記憶させる。また、搬送時の原稿2の傾きの程度によっては、画像データ30において、原稿領域32の先端エッジ32E1が、2つの部分画像データ31ではなく3つの部分画像データ31に跨っている状態も有り得る。そのため、図6,7における画像処理では、制御部11は、1番目の部分画像データ31から先端エッジ32E1の両端のうち一端しか検出できなかった場合、2番目の部分画像データ31から前記両端のうちの他端の検出を実行するが、2番目の部分画像データ31から前記他端を検出できなかった場合は、3番目の部分画像データ31から前記他端の検出を実行するとしてもよい。また、同様に、制御部11は、ステップS330において原稿領域32の幅を満たす第2ラインを複数の部分画像データ31から取得する際、3つの部分画像データ31に跨る第2ラインを取得するようにしてもよい。
【0064】
ここで、搬送部17により搬送される一枚の原稿2は、その第1面と第2面とが読取部18により読み取られることを想定する。この場合、搬送部17が一枚の原稿2を搬送すると、この原稿2の第1面の読み取りに応じて1ページ分の画像データ30が生成され、かつ、第2面の読み取りに応じて1ページ分の画像データ30が生成される。このような状況を鑑みると、記憶部15は、第1面用の2つの第1バッファと、第2面用の2つの第1バッファと、を含むことが好ましい。
【0065】
図9は、記憶部15が、第1面用に第1バッファ15a1,15a2,15a3と、第2バッファ15bとを有し、さらに、第2面用に第1バッファ15a4,15a5,15a6と、第2バッファ15cとを有する例を示している。図9は、図5に記載した構成を単純に2つ分確保した構成である。制御部11は、これまで図3,6,7で説明した処理を、第1面の読み取りに応じて生成される画像データ30について第1面用の複数の第1バッファ15a1,15a2,15a3および第2バッファ15bを用いて実行し、並行して、第2面の読み取りに応じて生成される画像データ30について第2面用の複数の第1バッファ15a4,15a5,15a6および第2バッファ15cを用いて実行する。つまり、制御部11は、記憶処理では、第1面の読み取りに応じて生成される画像データ30における部分画像データ31を、先端側の部分画像データ31から順に第1面用の各第1バッファへ記憶させ、第2面の読み取りに応じて生成される画像データ30における部分画像データ31を、先端側の部分画像データ31から順に第2面用の各第1バッファへ記憶させる。これまでの説明から解るように、第1面用の複数の第1バッファは、第1バッファ15a1,15a2の2つのみであってもよく、第2面用の複数の第1バッファは第1バッファ15a4,15a5の2つのみであってもよい。
【0066】
3.まとめ:
このように本実施形態によれば、画像読取装置10は、原稿2を読み取る読取部18と、読取部18が原稿2を読み取ることにより生成される互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データ30を記憶可能な記憶部15と、制御部11と、を備え、記憶部15は、1ページの原稿2の読み取りに応じて生成される画像データ30におけるそれぞれ異なる部分領域である部分画像データ31が順次記憶される2つの第1バッファと、第1バッファに記憶されて画像処理が実行された後のデータが記憶される第2バッファと、を含む。制御部11は、画像データ30における、複数の画素が第1方向に並ぶ第1ラインが第2方向に所定数並ぶ所定サイズの領域を部分画像データ31とし、原稿2の先端側の部分画像データ31から順に各第1バッファへ記憶させる記憶処理と、第1バッファが記憶した部分画像データ31に対し、画像処理として、エッジ検出により原稿2に対応する原稿領域を切り出す切り出し処理と第1方向に対する原稿領域の傾きを補正する傾き補正処理とを実行した後で、原稿領域の画像データを第2バッファへ転送する第1転送処理と、第2バッファから原稿領域の画像データを読み出して外部へ転送する第2転送処理と、を実行可能である。さらに制御部11は、画像処理では、原稿2の先端である先端エッジ32E1の両端を検出することにより原稿領域の幅を特定し、2つの第1バッファのうち一方の第1バッファが記憶する部分画像データ31内の原稿領域に先端エッジ32E1と平行な第2ラインであって長さが原稿領域の幅に満たない第2ラインが含まれている場合に、2つの第1バッファのそれぞれが記憶する部分画像データ内の原稿領域を併せた領域から、長さが原稿領域の幅を満たす第2ラインを読み出して第1転送処理の対象の原稿領域の画像データの一部とする、ことが実行可能である。
【0067】
前記構成によれば、画像読取装置10は、画像データ30の全体ではなく画像データ30におけるそれぞれ異なる部分領域である部分画像データ31単位で、第1バッファへの記憶、画像処理、第2バッファへの転送、外部への転送といった各処理を行うことができる。そのため、画像データ30全体でこれら処理を行う場合と比較して、記憶部15内で確保すべき第1バッファや第2バッファの記憶容量が少なくて済み、メモリー消費を抑制することができる。また、第2バッファへ記憶したり外部へ転送したりするデータは、部分画像データ31のうち原稿領域の画像データであるため、第2バッファへの転送、記憶、さらには外部への転送といった各処理の効率が上がる。また、原稿領域について傾き補正をした上で転送するため、外部へ提供する画像の品質も保たれる。また、原稿領域を切り出したり傾き補正したりする際、1つの第1バッファが記憶する部分画像データ31内の原稿領域に幅未達第2ラインが含まれていれば、別の第1バッファが記憶する部分画像データ31も参照して長さが原稿領域の幅を満たす第2ラインを読み出すため、必要な原稿領域を確実に第2バッファへ転送することができる。
【0068】
また、本実施形態によれば、制御部11は、画像処理では、原稿2の最も先端側の部分画像データ31である1番目の部分画像データ31からの先端エッジ32E1の両端の検出を実行し、1番目の部分画像データ31から前記両端のうち一端しか検出できなかった場合、1番目の部分画像データ31の次の部分画像データである2番目の部分画像データ31からの前記両端のうちの他端の検出を実行する。
前記構成によれば、原稿2の傾きに起因して、1番目の部分画像データ31から先端エッジ32E1の両端のうち一端しか検出できない場合でも、別の第1バッファに記憶された2番目の部分画像データ31から前記両端のうちの他端を検出し、2つの部分画像データ31に跨る先端エッジ32E1を検出することができる。
【0069】
また、本実施形態によれば、記憶部15は、第1バッファを3つ有し、制御部11は、記憶処理では、部分画像データ31を3つの第1バッファへ順次記憶させ、画像処理では、2番目の部分画像データ31から前記他端を検出できなかった場合、2番目の部分画像データ31の次の部分画像データ31である3番目の部分画像データ31からの前記他端の検出を実行する、としてもよい。
前記構成によれば、原稿2の傾きに起因して、2番目の部分画像データ31から前記他端を検出できない場合でも、3つ目の第1バッファに記憶された3番目の部分画像データ31から前記他端を検出し、3つの部分画像データ31に跨る先端エッジ32E1を検出することができる。
【0070】
なお、1番目の部分画像データ31から先端エッジ32E1の両端のうち一端しか検出できず、2番目の部分画像データ31から前記両端のうちの他端を検出できなかった場合に、制御部11は、原稿2の搬送エラーと判断して搬送部17による原稿2の搬送を停止してもよい。つまり、このような場合は原稿2の傾きが過大であり、原稿2の損傷が生じる虞が高いと言えるため、搬送を停止する。
特に、原稿2の1ページに対応する画像データ30から得られる各部分画像データ31にとっての第1バッファが3つではなく2つである構成では、1番目の部分画像データ31と3番目の部分画像データ31とを同時に読むことは難しい。そのため、1番目の部分画像データ31から先端エッジ32E1の両端のうち一端しか検出できず、2番目の部分画像データ31から前記両端のうちの他端を検出できなかった場合、制御部11は、搬送エラーと判断して原稿2の搬送を停止するとしてもよい。
【0071】
また、本実施形態によれば、読取部18は、原稿2の第1面と第1面の反対の面である第2面とを読み取り可能であり、記憶部15は、第1面用の2つの第1バッファと、第2面用の2つの第1バッファと、を含むとしてもよい。そして、制御部11は、記憶処理では、第1面の読み取りに応じて生成される画像データ30における部分画像データ31を、先端側の部分画像データ31から順に第1面用の各第1バッファへ記憶させ、第2面の読み取りに応じて生成される画像データ30における部分画像データ31を、先端側の部分画像データ31から順に第2面用の各第1バッファへ記憶させる。
前記構成によれば、これまでに説明した記憶処理、画像処理、第1転送処理といった一連の処理を、原稿2の第1面、第2面それぞれについて並行して実行することができる。
【0072】
なお、特許請求の範囲においては、請求項同士の組み合わせの一部のみを記載しているが、本実施形態は、独立請求項と従属請求項との一対一の組み合わせだけでなく、当然に、複数の従属請求項の各種組み合わせを開示範囲に含める。
本実施形態は、画像読取装置10以外にも、画像読取方法や、当該方法をプロセッサーと協働して実現するためのプログラム12を開示する。
つまり、画像読取方法は、読取部18により原稿2を読み取って互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データ30を生成する読取工程と、画像データ30を記憶部15へ記憶させる記憶工程と、を備え、記憶部15は、1ページの原稿2の読み取りに応じて生成される画像データ30におけるそれぞれ異なる部分領域である部分画像データ31が順次記憶される2つの第1バッファと、第1バッファに記憶されて画像処理が実行された後のデータが記憶される第2バッファと、を含み、記憶工程では、画像データ30における、複数の画素が第1方向に並ぶ第1ラインが第2方向に所定数並ぶ所定サイズの領域を部分画像データ31とし、原稿2の先端側の部分画像データ31から順に各第1バッファへ記憶させる。画像読取方法はさらに、第1バッファが記憶した部分画像データ31に対し、画像処理として、エッジ検出により原稿2に対応する原稿領域を切り出す切り出し処理と第1方向に対する原稿領域の傾きを補正する傾き補正処理とを実行した後で、原稿領域の画像データを前記第2バッファへ転送する第1転送工程と、第2バッファから原稿領域の画像データを読み出して外部へ転送する第2転送工程と、を備え、画像処理では、原稿2の先端である先端エッジ32E1の両端を検出することにより原稿領域の幅を特定し、2つの第1バッファのうち一方の第1バッファが記憶する部分画像データ31内の原稿領域に先端エッジ32E1と平行な第2ラインであって長さが原稿領域の幅に満たない第2ラインが含まれている場合に、2つの第1バッファのそれぞれが記憶する部分画像データ31内の原稿領域を併せた領域から、長さが原稿領域の幅を満たす第2ラインを読み出して第1転送処理の対象の原稿領域の画像データの一部とする。
【0073】
4.変形例:
読取部18は、原稿2を第1読取解像度で読み取り可能であり、かつ、原稿2を第1読取解像度よりも高い第2読取解像度で読み取り可能であってもよい。読取解像度は、これまでに説明した第1方向や第2方向における画像データ30の画素密度dpi(dots per inch)である。第1読取解像度は、例えば、300dpiや600dpi、第2読取解像度は1200dpiである。いずれにしても、第1読取解像度および第2読取解像度は予め決まっているか、第1読取解像度と第2読取解像度とを区別するしきい値が予め決まっている。ユーザーは、操作受付部14や外部装置1を操作することにより、画像読取装置10に対して、画像データ生成のための読取解像度を設定することができる。
【0074】
当該変形例においても、記憶部15は、読取部18が原稿2を読み取ることにより生成される互いに直交する第1方向と第2方向とに画素が2次元状に並ぶ画像データ30を記憶可能である。記憶部15は、読取部18により第1読取解像度で読み取られた1ページ分の原稿2の画像データ30である「第1画像データ」を記憶可能であり、読取部18により第2読取解像度で読み取られた1ページ分の原稿2の画像データ30である「第2画像データ」を記憶不能な容量をそれぞれに有する第1バッファおよび第2バッファを含む。当該変形例では、便宜上、第1バッファ15a1,15a2,15a3といった複数の第1バッファを1つにまとめた記憶領域を第1バッファと称し、その中の第1バッファ15a1,15a2,15a3といった個々の領域を、第1バッファを分割して確保された「小バッファ」と称する。
【0075】
つまり、第1バッファや、第2バッファは、1ページ分の第1画像データの全体を記憶する容量はそれぞれ有するが、1ページ分の第2画像データの全体を記憶する程の容量は有していない。例えば、第1読取解像度が600dpi、第2読取解像度が1200dpiであれば、第2画像データのデータ量は第1画像データの4倍となる。そこで、当該変形例では、制御部11は、読取部18が原稿2を第2読取解像度で読み取った場合に、これまでに説明した実施形態を適用する。
【0076】
図10は、変形例にかかる処理の流れを簡単に示すフローチャートである。
ステップS400では、制御部11は、読取解像度の設定を取得する。つまり、ユーザーによって第1読取解像度と第2読取解像度とのいずれが設定されているかを把握する。制御部11は、例えば、スキャン開始の指示を受けたタイミングでステップS400を実行する。ステップS410では制御部11は、ステップS400で取得した読取解像度が第2読取解像度に該当するか否かを判定して処理を分岐する。
【0077】
制御部11は、ステップS400で取得した読取解像度が第2読取解像度であれば、ステップS410の“Yes”の判定からステップS420の分割処理に進む。一方、ステップS400で取得した読取解像度が第1読取解像度であれば、ステップS410の“Nо”の判定からステップS430の通常処理に進む。分割処理または通常処理の終了により、図10のフローチャートを終える。分割処理とは、これまでに図3~9を参照して説明した実施形態を指す。
【0078】
つまり、制御部11は、読取部18が原稿2を第2読取解像度で読み取った場合は、第2画像データにおける、複数の画素が第1方向に並ぶ第1ラインが第2方向に所定数並ぶ所定サイズの領域を部分画像データ31とし、原稿2の先端側の部分画像データ31から順に、第1バッファを分割して確保した2つの小バッファへ順次記憶させる記憶処理と、小バッファが記憶した部分画像データ31に対し、画像処理として、エッジ検出により原稿2に対応する原稿領域を切り出す切り出し処理と第1方向に対する原稿領域の傾きを補正する傾き補正処理とを実行した後で、原稿領域の画像データを第2バッファへ転送する第1転送処理と、第2バッファから原稿領域の画像データを読み出して外部へ転送する第2転送処理と、を実行する。そして、画像処理では、原稿2の先端である先端エッジ32E1の両端を検出することにより原稿領域の幅を特定し、2つの小バッファのうち一方の小バッファが記憶する部分画像データ31内の原稿領域に先端エッジ32E1と平行な第2ラインであって長さが原稿領域の幅に満たない第2ラインが含まれている場合に、2つの小バッファのそれぞれが記憶する部分画像データ31内の原稿領域を併せた領域から、長さが原稿領域の幅を満たす第2ラインを読み出して第1転送処理の対象の原稿領域の画像データの一部とする。
【0079】
なお、分割処理において、第2画像データの一部である部分画像データ31は、小バッファへ記憶可能なデータ量であるとする。制御部11は、部分画像データ31のサイズを、小バッファへ記憶できる程度のデータ量とする、とも言える。
【0080】
詳細は省くが、通常処理では、制御部11は1ページ分の第1画像データの全体について、それを分割することなく第1バッファへの記憶処理、切り出しや傾き補正といった画像処理、画像処理後の第2バッファへの転送処理、第2バッファから外部への転送処理を実行すればよい。
このような変形例によれば、読取解像度が相対的に高い所定の第2読取解像度に設定されている場合に、第2画像データについて、限られた容量の第1バッファや第2バッファを用いて本実施形態を適用し、適切に処理することができる。
【符号の説明】
【0081】
1…外部装置、2…原稿、10…画像読取装置、11…制御部、12…プログラム、15…記憶部、15a1,15a2,15a3,15a4,15a5,15a6…第1バッファ、15b,15c…第2バッファ、16…通信IF、17…搬送部、18…読取部、30…画像データ、31,31a,31b,31c,31d,31e,31f,31g…部分画像データ、32…原稿領域、32C1,32C2,32C3,32C4…角、32E1…先端エッジ、32E2…後端エッジ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10