(57)【特許請求の範囲】
【請求項１】
全画像データを複数の単位画像データに分割し、スキャナで、前記複数の単位画像データを前記スキャナの移動方向における第１の方向で単位画像データごとに読取る第１の読取手段と、
前記複数の単位画像データのうち、前記第１の読取手段によって予め規定された時間内に読取られなかった単位画像データを、前記第１の読取手段による読取処理のオーバフローとして検出する検出手段と、
前記検出された単位画像データを、前記スキャナで、前記スキャナの移動方向における、前記第１の方向の逆の方向である第２の方向で読取る第２の読取手段と、
前記第２の読取手段の動作を制御する制御手段とを備え、
前記制御手段は、前記検出手段において前記読取られなかった単位画像データが検出された場合に、前記第１の読取手段での読取りの後に、前記第２の読取手段において、前記検出された単位画像データを読取らせ、かつ前記読取られなかった単位画像データを読取る際の前記スキャナの前記第２の方向の移動速度を、前記全画像データの前記読取られなかった単位画像データ以外の箇所における前記スキャナの移動速度よりも遅くなるよう制御する、画像処理システム。
【請求項２】
前記検出手段で検出された単位画像データの、前記全画像データにおける位置を特定する情報を記憶する第１の記憶手段をさらに備える、請求項１に記載の画像処理システム。
【請求項３】
前記第１の記憶手段は、前記検出手段で検出された単位画像データの前記全画像データにおける位置を特定する情報として、前記検出された単位画像データのうち、前記全画像データにおいて、前記第１の読取手段で読取った最終位置から前記第２の方向に先頭に位置する単位画像データの位置と、前記先頭に位置する単位画像データからの連続数とを記憶する、請求項２に記載の画像処理システム。
【請求項４】
前記第１の読取手段および前記第２の読取手段で読取られた単位画像データを記憶する第２の記憶手段と、
前記第１の読取手段および前記第２の読取手段で読取られた単位画像データを前記第２の記憶手段に記憶させるための処理を行なう処理手段とをさらに備え、
前記処理手段は、前記第１の読取手段で読取られた単位画像データを前記第２の記憶手段に記憶させ、前記第２の読取手段で読取られた単位画像データに対して鏡像処理を行なって、前記第２の記憶手段のうちの前記第１の読取手段で読取られた単位画像データが記憶された領域の他の領域に記憶する、請求項１〜３のいずれかに記載の画像処理システム。
【請求項５】
前記制御手段は、前記スキャナを前記全画像データのうちの前記検出された単位画像データの位置まで前記第２の方向で移動させてから、前記第２の読取手段によって前記検出された単位画像データを読取らせる、請求項１〜４のいずれかに記載の画像処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は画像処理システムに関し、特に原稿画像を読取った後に処理する画像処理システムに関する。
【０００２】
【従来の技術】
従来より原稿をラインセンサでスキャンすることで原稿画像を読取り、圧縮などの画像処理を行なう画像処理システムが知られている。
【０００３】
【発明が解決しようとする課題】
たとえば細かい市松模様の画像データに対してランレングス圧縮を行なう場合、処理に要する時間が長くなる。したがって、このような処理時間の長い画像データを処理するためには、スキャンの速度を遅くするまたは処理速度の速い高価な画像処理装置を用いる必要がある。しかしながら、画像処理システムが常に細かい市松模様のような画像データを扱う場合は考えにくい。したがって、処理時間の長い画像データのためにスキャンの速度を遅くすることは画像処理の効率を悪くさせる。また、高価な画像処理装置を用いることは徒に画像処理システムをコストアップさせることにつながる。
【０００４】
そこでこの発明は、画像処理の効率がよく、かつ安価な画像処理システムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するためこの発明のある局面に従うと、画像処理システムは、全画像データを複数の単位画像データに分割し、複数の単位画像データを順次処理する第１の処理手段と、複数の単位画像データのうち、第１の処理手段によっては処理できなかった単位画像データを検出する検出手段と、検出された単位画像データを処理する第２の処理手段とを備える。
【０００６】
好ましくは検出手段は、第１の処理手段による処理のオーバフローを検出する。
【０００７】
さらに好ましくは第１の処理手段は、原稿を第１の方向にスキャンしながら処理を行ない、第２の処理手段は原稿を第２の方向にスキャンしながら処理を行なう。
【０００８】
この発明に従うと、第１の処理手段によっては処理ができなかった単位画像データが存在する場合に第２の処理手段により処理が行なわれるため、画像処理の効率がよい画像処理システムを提供することが可能となる。また、第１の処理手段により処理ができなかった単位画像データがある場合でも、第２の処理手段による処理が可能であるため、第１の処理手段の処理速度を速める必要がない。これにより、安価な画像処理システムを提供することが可能である。
【０００９】
【発明の実施の形態】
図１は、本発明の実施の形態の１つにおける画像読取装置（画像処理システムの一種）の構成を示す側面図である。図を参照して、画像読取装置は原稿を載置するプラテンガラス１００と、プラテンガラス１００に載置された原稿に対しての照明を行ない、反射光を得るための露光ランプ２００と、原稿からの反射光を導いて撮像素子に結像させる光学系３０１〜３０４と、原稿画像の信号を１ライン単位で読取る撮像素子（ＣＣＤセンサ）４００と、露光ランプ２００および光学系の一部（スキャナ）を読取ラインの位置に応じて移動させるための駆動モータ５００とから構成される。
【００１０】
図２は、図１に示される画像読取装置の信号処理部の構成を示すブロック図である。図を参照して信号処理部は、撮像素子（ＣＣＤセンサ）４００で得られた電気信号をＭＰＵで処理できる数値データに変換するＡ／Ｄ変換部４１０と、各種の信号処理を実行するＭＰＵ６００と、１ライン単位の処理を実行する際のバッファメモリとなるワークバッファ６１０と、処理した結果のデータを蓄積しておくメモリ６２０と、メモリ６２０の内容を外部の装置に対して送出する際に使用されるインターフェイス部６３０とから構成される。
【００１１】
駆動モータ５００および露光ランプ２００はＭＰＵ６００に接続される。
図３は、本実施の形態における画像読取装置の動作を説明するための図である。まず、図１（Ａ）に示されるように、露光ランプ２００の往方向のスキャンにより原稿画像データの読取が行なわれると同時に、画像データの圧縮が行なわれる。画像データの圧縮に必要とされる時間は画像データの内容により異なる。したがって、スキャンの速度との関係から画像データの圧縮処理を行なうことができた領域（ハッチングで示される領域Ａ）と、圧縮処理を行なうことができなかった領域（ハッチングが付されていない領域）とが発生している。
【００１２】
このとき、圧縮処理を行なうことができなかった領域の位置Ｐｏｓ１〜５と、その領域の幅ＢＮＤ１〜５とをメモリ６２０に記憶しておく。
【００１３】
そして、図３（Ｂ）に示されるように、露光ランプの復方向のスキャンを行ない、Ｐｏｓ１〜５およびＢＮＤ１〜５の値から、往方向のスキャンにより圧縮処理を行なうことができなかった領域の画像データの読取と圧縮とを行なう。
【００１４】
通常の原稿に対しては往方向のスキャンのみによりすべての画像データの圧縮処理が可能となるように、スキャン速度とＭＰＵ６００の処理速度との関係を調整しておく。
【００１５】
そして、原稿に細かい市松模様などの処理時間が長い画像が含まれている場合に、その画像は復方向のスキャンで処理する。これにより、通常の原稿に対しては高速な処理を行なうことができ、かつ処理時間の長い画像を含む原稿に対しては復方向のスキャンで確実な読取をすることができる。
【００１６】
また、本実施の形態によるとスキャンを行なう機械的部分の構成はそのままで、ＭＰＵなどの処理回路を別のものに変えることができる。これにより、簡単に画像読取装置の機能を向上させることができる。
【００１７】
図４は、本実施の形態における画像読取装置の処理を示すフローチャートである。図を参照して、ステップＳ１で初期設定が行なわれる。ステップＳ３で往方向のスキャン処理が行なわれる。そして、ステップＳ５でＰｏｓｉの情報があるかが判定され、ＹＥＳであればステップＳ７で復スキャン処理を行なう。
【００１８】
一方、ステップＳ５でＮＯであれば、復スキャンは行なわずそのまま画像の読取を終了する。
【００１９】
図５は、図４の往スキャン処理（Ｓ３）の内容を示すフローチャートである。図を参照して、ステップＳ１０１で往方向のスキャンが開始される。ステップＳ１０３でラインカウンタＬの値に「０」が代入される。
【００２０】
ステップＳ１０５でタイマ１がスタートされる。このタイマ１は原稿の１ライン分のスキャンが終了するまでの時刻をカウントするタイマである。
【００２１】
ステップＳ１０７で原稿の１ライン分の画像データ（単位画像データ）の読取が行なわれる。ステップＳ１０９で読取られた画像データに対し圧縮処理が行なわれる。ステップＳ１１１で圧縮された画像データにヘッダとしてライン位置情報Ｌを付加してメモリへストアする。図６にメモリへストアされるデータの具体例を示す。図６を参照してデータはライン位置情報Ｌをヘッダ部とし、圧縮画像データとエンドマークＥＯＬとを持つ。
【００２２】
ステップＳ１１３でタイマ１のカウントが既に終了しているかが判定される。ＹＥＳであれば、１ライン分のスキャンが終了する間に圧縮処理ができなかった場合（処理のオーバーフロー）を示すため、ステップＳ１１５へ進み、タイマ１のカウントアップ回数ｎを読取る。そして、ステップＳ１１７でラインカウンタＬの値にｎを加算し、ステップＳ１１９でＰｏｓｉの値にＬを代入し、ＢＮＤｉの値にｎを代入する。その後、ステップＳ１０５へ戻る。
【００２３】
ステップＳ１１３でＮＯであれば、１ライン分のスキャンの間に圧縮処理が終了したことを示すため、ステップＳ１２１へ進み、ラインカウンタＬの値を１インクリメントし、ステップＳ１２３で最終ラインに到達したかを判定する。ＹＥＳであれば、往スキャン処理を終了し、ＮＯであればステップＳ１０５へ戻る。
【００２４】
図７は、往スキャンが終了した時点におけるメモリ６２０に格納されている画像データの具体例である。図７を参照して、図６に示される１ライン分の画像データが処理された順にメモリ６２０に格納されている。ここでは、第０〜第９９９ラインまでの圧縮処理がリアルタイムで行なわれ、第１０００〜第１４９９ラインまでの圧縮は往スキャンでは処理できなかった場合を示している。その後、第１５００〜第１９９９ラインまでのデータは再びリアルタイムで圧縮が行なわれている。
【００２５】
このとき、読取ができなかった画像データの位置の情報として、Ｐｏｓ＝１４９９，ＢＮＤ＝５００がメモリ６２０に併せて記録される。
【００２６】
図５に示される処理により、原稿のスキャン時に処理がオーバフローした場合には、オーバフローした最終値Ｐｏｓｉとオーバフローしたライン数ＢＮＤｉとがメモリ６２０に記憶される。往スキャンにおいては、上述のＢＮＤｉの領域については、処理を行なわない。
【００２７】
図８は、図４の復スキャン処理（Ｓ７）の内容を示すフローチャートである。復スキャンでは、往スキャンで処理できなった領域についての処理が行なわれる。具体的には、スキャナが往スキャン時に処理できなかった領域まで移動し、各ラインの処理を実行する。このとき、復スキャンは往スキャンとは逆方向のスキャンとなるため、鏡像処理が画像データに対して行なわれる。処理が終了した結果は図７に示されるメモリ６２０の空き領域に格納される。
【００２８】
図８を参照して、ステップＳ２０１で最後に記録されたＰｏｓｉおよびＢＮＤｉの値が読取られる。これは、具体的には図３（Ａ）の例においてはＰｏｓ５の値とＢＮＤ５の値とを読取るものである。
【００２９】
次にステップＳ２０３でラインカウンタＬの値に最終ラインのカウント値（図７の例では１９９９）を代入する。ステップＳ２０５で復スキャンを開始する。
【００３０】
ステップＳ２０７でスキャナがＰｏｓｉが示す位置まで到達したかが判定される。ＮＯであれば、ステップＳ２２３でラインカウンタＬの値を１デクリメントし、ステップＳ２２５でスキャナを１ライン分移動させ、ステップＳ２０７へ戻る。
【００３１】
ステップＳ２０７でＹＥＳであれば、ステップＳ２０９で１ライン分のデータの鏡像読取を行ない、ステップＳ２１１で圧縮処理を行なう。ステップＳ２１３で圧縮された画像データのヘッダにライン位置情報Ｌを付加してメモリへストアする。
【００３２】
ステップＳ２１５でＢＮＤｉの値を１デクリメントし、ステップＳ２１７でＢＮＤｉ＝０となったかを判定する。
【００３３】
ステップＳ２１７でＮＯであれば、ステップＳ２２７でラインカウンタＬの値を１デクリメントし、ステップＳ２２９でスキャナを１ライン分移動させた後、ステップＳ２０９へ進む。
【００３４】
ステップＳ２１７でＹＥＳであれば、ステップＳ２１９で次のＰｏｓｉデータがあるかが判定され、ＹＥＳであればステップＳ２２１でＰｏｓｉの目標値を更新してスキャナを移動させ、ステップＳ２０７へ戻る。
【００３５】
ステップＳ２１９でＮＯであれば、本ルーチンを終了する。
図９は、復スキャンにおけるスキャナの速度の変化を説明するための図である。復スキャンにおいて再度読取が必要な位置（ＰｏｓｉからＢＮＤｉライン分の位置）は、他の部分と比較してスキャナの速度を遅くする。これにより、復動作における画像の読取と圧縮を確実に行なうことができる。
【００３６】
往スキャンおよび復スキャンで生成された圧縮データは、図６に示されるヘッダ部のライン位置情報に従って順に読出され、外部インターフェイス６３０（図２参照）を介して外部装置へ送信される。
【００３７】
なお、上述の実施の形態においてはスキャナを用いた読取装置を例にとり本発明を説明したが、たとえばメモリに記憶されたデータを順次スキャンしてそのデータを処理する装置においても、処理のオーバフローが生じた場合に後で再びその部分のスキャンを行なうようにすることで本発明を実施することができる。
【００３８】
また、上記実施例においては、単一の装置内において処理を実行する例を示したが、複数の装置で処理を分担するようにしてもよい。例えば、プリンターと、イメージスキャナとをネットワークを介して接続し、両者装置内にあるプロセッサで分担処理するようにし、上記処理を実行してもよい。
【００３９】
さらに、本例において、上記処理を実行させるプログラムをメモリした記録媒体を用意し、プログラムをＭＰＵ６００へロードさせ、ＭＰＵ６００で実行する構成としてもよい。
【００４０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】本発明の実施の形態の１つにおける画像読取装置の構成を示す側面図である。
【図２】図１の画像読取装置の信号処理部の構成を示すブロック図である。
【図３】本発明の実施の形態における画像読取装置の動作を説明するための図である。
【図４】画像読取装置の動作を説明するためのフローチャートである。
【図５】図４の往スキャン処理（Ｓ３）の内容を示すフローチャートである。
【図６】メモリへストアされる画像データを説明するための図である。
【図７】メモリ６２０の内容を説明するための図である。
【図８】図４の復スキャン処理（Ｓ７）の内容を示すフローチャートである。
【図９】復スキャン時におけるスキャナの速度を説明するための図である。
【符号の説明】
２００  露光ランプ
４００  撮像素子（ＣＣＤセンサ）
５００  駆動モータ
６００  ＭＰＵ
６２０  メモリ
【図１】
0004305980.tif 000002
【図２】
0004305980.tif 000003
【図３】
0004305980.tif 000004
【図４】
0004305980.tif 000005
【図５】
0004305980.tif 000006
【図６】
0004305980.tif 000007
【図７】
0004305980.tif 000008
【図８】
0004305980.tif 000009
【図９】
0004305980.tif 000010