JP2007053423A - 画像読取装置 - Google Patents
画像読取装置 Download PDFInfo
- Publication number
- JP2007053423A JP2007053423A JP2005235211A JP2005235211A JP2007053423A JP 2007053423 A JP2007053423 A JP 2007053423A JP 2005235211 A JP2005235211 A JP 2005235211A JP 2005235211 A JP2005235211 A JP 2005235211A JP 2007053423 A JP2007053423 A JP 2007053423A
- Authority
- JP
- Japan
- Prior art keywords
- image
- image data
- scanning
- data
- scan
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Input (AREA)
- Facsimile Scanning Arrangements (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
【課題】 画像の繋ぎ目の発生を目立たなくして高品位な画像を表す画像データを得る。
【解決手段】 バッファメモリのデータ蓄積量を監視する。バッファメモリのデータ蓄積量が所定の上限値まで増加した場合には、スキャン対象画像の主走査方向に沿った走査位置の、副走査方向への移動を停止し、画像データの生成を停止する。バッファメモリのデータ蓄積量が所定の下限値まで減少した場合には、移動を停止した走査停止位置から所定の移動量だけ戻った走査再開位置を先頭走査位置として、走査位置の移動を再開し、画像データの生成を再開する。走査再開位置から走査停止位置までの各走査位置については、イメージセンサから出力される電気信号に応じて生成される画像データと、バッファメモリに格納されている画像データと、に基づいて導き出されるデータを画像データとする。
【選択図】 図7
【解決手段】 バッファメモリのデータ蓄積量を監視する。バッファメモリのデータ蓄積量が所定の上限値まで増加した場合には、スキャン対象画像の主走査方向に沿った走査位置の、副走査方向への移動を停止し、画像データの生成を停止する。バッファメモリのデータ蓄積量が所定の下限値まで減少した場合には、移動を停止した走査停止位置から所定の移動量だけ戻った走査再開位置を先頭走査位置として、走査位置の移動を再開し、画像データの生成を再開する。走査再開位置から走査停止位置までの各走査位置については、イメージセンサから出力される電気信号に応じて生成される画像データと、バッファメモリに格納されている画像データと、に基づいて導き出されるデータを画像データとする。
【選択図】 図7
Description
本発明は、スキャナや複写機等の画像読取装置に関するものである。
近年、原稿、図面、写真等の画像(以下、「スキャン対象画像」と呼ぶ。)を走査して、コンピュータで処理可能な画像データを生成するスキャナが普及している。なお、画像データの表す画像を「電子化画像」と呼ぶ場合もある。
このスキャナは、スキャン対象画像の読み取りを指示したコンピュータ(以下、「ホストコンピュータ」とも呼ぶ。)に対して、生成した画像データを転送する。通常、スキャナがスキャン対象画像を走査して画像データを生成する速度(以下、「画像走査速度」とも呼ぶ。)は、スキャナからホストコンピュータへ画像データを転送する転送速度(以下、「画像転送速度」とも呼ぶ。)よりも速くなる。このため、スキャナは、生成した画像データを一時的に記憶するバッファメモリと呼ばれる記憶装置を備えており、バッファメモリに順次蓄積した画像データをホストコンピュータへ転送することとしている。具体的には、例えば、以下の手順で行われる。
スキャナは、スキャン対象画像の走査を開始すると、生成した画像データを順次バッファメモリに蓄積していく。バッファメモリが蓄積した画像データで一杯になってしまった時点で、その走査を一時停止する。そして、バッファメモリに蓄積された画像データがホストコンピュータへ順次転送されて、バッファメモリが空になるまで待機する。バッファメモリが空になったら、一時停止した走査位置から走査を再開する。このように、従来のスキャナは、スキャン対象画像を走査して画像データを生成し、ホストコンピュータへ転送していた。
しかしながら、上記のようにして、画像データを生成する場合、スキャン対象画像の走査の一時停止前と再開後との間で、走査位置に位置ずれが発生する場合があり、一時停止前に生成された画像データの表す画像と再開後に生成された画像データの表す画像との間で画像の繋ぎ目が発生してしまう場合があるため、高品位な画像を表す画像データを得ることができないという問題がある。
本発明は、上記問題点を解決するためになされたものであり、画像の繋ぎ目の発生を目立たなくして、高品位な画像を表す画像データを得ることが可能な技術を提供することを目的とする。
上記目的の少なくとも一部を達成するために、本発明は、
所定のスキャン対象画像を走査して画像データを生成し、生成した画像データを所定の外部機器へ転送する画像読取装置であって、
前記スキャン対象画像の主走査方向に沿った走査位置を、前記主走査方向に垂直な副走査方向に沿って順次移動させる走査位置制御部と、
前記走査位置ごとの画像を順次読み取り、読み取った画像に対応する電気信号を出力するイメージセンサと、
前記イメージセンサから順次出力される電気信号に応じた画像データを生成する画像処理部と、
前記画像処理部で順次生成される画像データを一時的に格納するバッファメモリと、
前記バッファメモリに格納された画像データを前記外部機器へ順次転送するインタフェース部と、
前記バッファメモリのデータ蓄積量を監視するデータ蓄積量監視部と、
を備え、
前記バッファメモリのデータ蓄積量が所定の上限値まで増加した場合には、前記走査位置制御部は前記走査位置の移動を停止するとともに、前記画像処理部は前記画像データの生成を停止し、
前記データ蓄積量が所定の下限値まで減少した場合には、前記走査位置制御部は、前記移動を停止した走査停止位置から所定の移動量だけ戻った走査再開位置を先頭として、前記走査位置の移動を再開するとともに、前記画像処理部は、前記画像データの生成を再開し、
前記画像処理部は、再開した前記画像データの生成のうち、前記走査再開位置から前記走査停止位置までの各走査位置については、前記イメージセンサから出力される電気信号に応じて生成される画像データと、前記バッファメモリに格納されている画像データと、に基づいて導き出されるデータを前記画像データとする、
ことを特徴とする。
所定のスキャン対象画像を走査して画像データを生成し、生成した画像データを所定の外部機器へ転送する画像読取装置であって、
前記スキャン対象画像の主走査方向に沿った走査位置を、前記主走査方向に垂直な副走査方向に沿って順次移動させる走査位置制御部と、
前記走査位置ごとの画像を順次読み取り、読み取った画像に対応する電気信号を出力するイメージセンサと、
前記イメージセンサから順次出力される電気信号に応じた画像データを生成する画像処理部と、
前記画像処理部で順次生成される画像データを一時的に格納するバッファメモリと、
前記バッファメモリに格納された画像データを前記外部機器へ順次転送するインタフェース部と、
前記バッファメモリのデータ蓄積量を監視するデータ蓄積量監視部と、
を備え、
前記バッファメモリのデータ蓄積量が所定の上限値まで増加した場合には、前記走査位置制御部は前記走査位置の移動を停止するとともに、前記画像処理部は前記画像データの生成を停止し、
前記データ蓄積量が所定の下限値まで減少した場合には、前記走査位置制御部は、前記移動を停止した走査停止位置から所定の移動量だけ戻った走査再開位置を先頭として、前記走査位置の移動を再開するとともに、前記画像処理部は、前記画像データの生成を再開し、
前記画像処理部は、再開した前記画像データの生成のうち、前記走査再開位置から前記走査停止位置までの各走査位置については、前記イメージセンサから出力される電気信号に応じて生成される画像データと、前記バッファメモリに格納されている画像データと、に基づいて導き出されるデータを前記画像データとする、
ことを特徴とする。
上記構成の画像読取装置では、バッファメモリのデータ蓄積量が所定の上限値まで増加して走査位置の移動および画像データの生成を停止した後、バッファメモリのデータ蓄積量が所定の下限値まで減少して走査位置の移動および画像データの生成を再開した場合に、走査停止位置から所定の移動量だけ戻った走査再開位置から走査位置の移動および画像データの生成を再開している。そして、走査再開位置から走査停止位置までの各走査位置については、イメージセンサから出力される電気信号に応じて生成される画像データと、バッファメモリに格納されている画像データと、に基づいて導き出されるデータを画像データとしている。これにより、停止前に生成された画像データの表す画像と、再開後に生成された画像データの表す画像との間で発生する画像の繋ぎ目を目立たなくすることができ、高品位な画像を表す画像データを得ることが可能である。
ここで、前記導き出されるデータは、前記イメージセンサから出力される電気信号に応じて生成される画像データと、前記バッファメモリに格納されている画像データとの平均値を表すデータとすることができる。
こうすれば、停止前に生成された画像データの表す画像と、再開後に生成された画像データの表す画像との間で発生する画像の繋ぎ目を目立たなくするために、走査再開位置から走査停止位置までの各走査位置についての画像データを簡単に求めることができる。
なお、本発明は、上記した装置発明の態様に限ることなく、画像読取装置の制御方法などの方法発明としての態様で実現することも可能である。さらには、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
また、本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、上記装置の動作を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、ROMカートリッジ、パンチカード、バーコードなどの符合が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.実施例:
A1.スキャナの構成:
A2.画像読み取り動作:
A3.具体例:
A4.効果:
B.変形例:
A.実施例:
A1.スキャナの構成:
A2.画像読み取り動作:
A3.具体例:
A4.効果:
B.変形例:
A.実施例:
A1.スキャナの構成:
図1は、本実施例のスキャナの構成を示すブロック図である。このスキャナ10は、パーソナルコンピュータ(以下、単に「パソコン」と呼ぶ。)PCに接続されている。スキャナ10は、ユーザによるパソコンPCからの指示に従って、図示しないスキャン対象画像を走査して画像データを生成し、生成した画像データをパソコンPCに転送する画像読取装置である。
A1.スキャナの構成:
図1は、本実施例のスキャナの構成を示すブロック図である。このスキャナ10は、パーソナルコンピュータ(以下、単に「パソコン」と呼ぶ。)PCに接続されている。スキャナ10は、ユーザによるパソコンPCからの指示に従って、図示しないスキャン対象画像を走査して画像データを生成し、生成した画像データをパソコンPCに転送する画像読取装置である。
このスキャナ10は、イメージセンサ12と、センサ搬送部14と、制御回路16と、を備えている。
イメージセンサ12は、副走査方向に垂直な主走査方向に沿って複数のセンサがスキャン対象画像配列されたラインセンサである。このイメージセンサ12は、後述する制御回路16のセンサ位置制御部190からの指示に従って駆動されるセンサ搬送部14により、副走査方向に沿って、スキャン対象画像を走査する各ラインに対応する位置(走査位置)に順次移動する。なお、このイメージセンサ12の走査位置への移動は、イメージセンサ12自身が移動するものと、スキャン対象画像が移動するものとがある。本例では、イメージセンサ12自身が移動するものとして説明する。そして、イメージセンサ12は、各走査位置からの画像を表す反射光を電気信号に変換し、後述する制御回路16の画像処理部170に出力する。イメージセンサ12から出力された電気信号は、画像処理部170によって画像データに変換される。
制御回路16は、主として、CPU110と、ROM120と、RAM130と、外部インタフェース140と、バッファメモリ(以下、単に「バッファ」と呼ぶ。)150と、バッファ制御部160と、画像処理部170と、センサ動作制御部180と、センサ位置制御部190と、を備える。
RAM130は、所定のプログラムの展開作業やスキャナ10の動作をコントロールするための種々の設定データの作成作業等を行うための作業領域として機能する。
CPU110は、ROM120に格納されている所定のプログラムをRAM130上で実行することにより、スキャナ10全体をコントロールするための種々の制御を行う。また、CPU110は、ユーザに指示され、パソコンPCから送信されてくる、スキャン対象画像の読み取り解像度(dpi)を表す解像度情報や走査対象物において走査する領域(以下では、「走査領域」と呼ぶ。)を表す走査領域情報などを外部インタフェース140を介して受け取る。そして、受け取った解像度情報(主走査方向の解像度および副走査方向の解像度)およびスキャン対象画像の走査領域情報(主走査方向および副走査方向の長さ等)に基づいて、スキャン処理開始位置やスキャン処理終了位置、走査するライン数、走査するライン間隔等の情報を求める。求められたこれらの情報は、センサ位置制御部190やセンサ動作制御部180、画像処理部170の動作を制御する制御情報としてRAM130に保存するとともに、処理状況に応じてセンサ動作制御部180およびセンサ位置制御部190に受け渡される。
センサ動作制御部180は、与えられた解像度情報および走査領域情報に基づいて、イメージセンサ12において、入射する反射光を電気信号に変換する動作と、画像処理部170においてイメージセンサ12から出力される電気信号を画像データに変換する動作と、を制御する。
画像処理部170において生成された画像データは、スキャンデータとして順次バッファ150に格納される。バッファ150に格納された画像データは、外部インタフェース140を介してパソコンPCに転送される。なお、画像処理部170から出力される画像データのバッファ150への書き込みと、外部インタフェース140へ出力される画像データのバッファ150からの読み出しとは、CPU110からの指示に従って動作するバッファ制御部160によって制御される。
外部インタフェース140は、バッファ150から出力される画像データを、CPU110からの指示に従ってパソコンPCへ転送する。なお、パソコンPCとの間の画像データの転送に利用されるインタフェースとしては、USBやRS−232C、SCSI等の種々の通信インタフェースを利用可能である。
センサ位置制御部190は、センサ搬送部14の動作を制御することにより、イメージセンサ12を副走査方向に沿って移動させて、スキャン対象画像を走査する各ラインに対応する位置(走査位置)に順次移動するように制御する。
以上説明したように、スキャナ10は、制御回路16がイメージセンサ12およびセンサ搬送部14を駆動することにより、スキャン対象画像を読み取って画像データを生成し、生成した画像データのパソコンPCへの転送を実行する。
なお、センサ位置制御部190およびセンサ搬送部14が本発明の走査位置制御部に相当する。また、CPU110およびバッファ制御部160が本発明のデータ蓄積量監視部に相当する。
A2.画像読み取り動作:
次に、制御回路16によって実行されるスキャン対象画像の読み取り処理について、図2を用いて説明する。
次に、制御回路16によって実行されるスキャン対象画像の読み取り処理について、図2を用いて説明する。
図2は、制御回路16によって実行されるスキャン対象画像の読み取り処理について示すフローチャートである。
まず、CPU110は、センサ位置制御部190およびセンサ動作制御部180の動作を制御して、スキャン処理開始位置Lstを先頭ラインとしてスキャン対象画像のスキャン処理を開始させる(ステップS10)。
ここで、スキャン処理が開始されると、画像処理部170は、イメージセンサ12から順次入力される電気信号に応じた画像データを生成し、バッファ150に向けて出力する。そして、バッファ150は、バッファ制御部160の制御に従って、画像処理部170から出力された画像データを、順次格納する。
図3および図4は、画像処理部170によって実行される画像処理について示すフローチャートである。
まず、走査するライン位置を示す処理位置Msを、先頭の走査位置であるスキャン処理開始ライン位置Lstにセットする(ステップS110)。そして、イメージセンサ12から順次入力される電気信号に応じた画像データを、走査したラインの主走査方向に沿った各画素のスキャンデータとして生成し(ステップS120)、バッファ制御部160に従ってバッファ150に書き込む(ステップS130)。そして、走査した1ライン分についての処理が終了したか否か判断する(ステップS140)。1ライン分の処理が終了していない場合には(ステップS140:NO)、1ライン分の処理が終了するまで、ステップS120およびS130の処理を繰り返す。1ライン分の処理が終了した場合には、さらに、スキャン処理を停止するか否か判断する(ステップS150)。このスキャン処理の停止は、後述するように、CPU110からのスキャン処理停止指示の有無により実行される。
スキャン処理停止指示が無く、スキャン処理を停止しない場合には(ステップS150:NO)、処理位置MSを1ライン変化させて(ステップS160)、処理位置MSがスキャン処理終了ライン位置Lendを超えたか否か判断する(ステップS170)。処理位置MSがスキャン処理終了ライン位置Lendを超えた場合には(ステップS170:YES)、画像処理を終了し、超えていない場合には(ステップS170:NO)、ステップS120に戻って、新たな処理位置Msに対応するラインのスキャンデータとして、画像データの生成およびバッファ150への書き込みを実行する。こうして、スキャン処理終了位置Lendの走査を終了するまで、画像データの生成およびバッファ150への書き込みが繰り返し実行される。
一方、ステップS150において、スキャン処理停止指示が有り、スキャン処理を停止する場合には(ステップS150:YES)、スキャン処理を再開するまで待機する(ステップS210)。このスキャン処理の再開は、後述するように、CPU110からのスキャン処理再開指示の有無により判断される。
ここで、CPU110は、以下で示すようにして画像処理部170にスキャン処理停止指示および再開指示を与える。
図2に示すように、CPU110は、ステップS10においてスキャン処理を開始させると、次に、バッファ制御部160を介してバッファ150における画像データの蓄積量(以下、「データ蓄積量」と呼ぶ。)Musの監視を開始し、データ蓄積量Musが使用可能な上限値Mupまで増加したか否か判断する(ステップS20)。
データ蓄積量Musが上限値Mupまで増加していない場合には(ステップS20:NO)、さらに、スキャン処理を終了するか否かの判断を行い(ステップS60)、スキャン処理を終了しないならば(ステップS60:NO)、ステップS20の処理に戻り、データ蓄積量Musの判断およびその後の処理を繰り返す。なお、スキャン処理の終了は、画像処理170から与えられる画像処理終了応答により判断される。
一方、データ蓄積量Musが上限値Mupまで増加した場合には(ステップS20:YES)、センサ位置制御部190やセンサ動作制御部180、画像処理部170に対してスキャン処理停止指示を与えて、スキャン処理を停止させ、スキャン停止位置Lstpを示す情報、および、停止直前に画像データを格納したバッファ蓄積位置Mstpを示す情報を、センサ位置制御部190およびバッファ制御部160から取得して、RAM130に保存する。そして、データ蓄積量Musが所定の下限値Mdp以下に減少するまで、データ蓄積量MUsの判断処理を繰り返す(ステップS40)。
データ蓄積量Musが下限値Mdp以下に減少した場合には(ステップS40:YES)、スキャン処理再開位置Lrstを先頭に画像のスキャン処理を再開させる。そして、スキャン処理を終了するか否かの判断を行い(ステップS60)、スキャン処理を終了しないならば(ステップS60:NO)、ステップS20の処理に戻り、データ蓄積量Musの判断およびその後の処理を繰り返す。
なお、スキャン処理再開位置Lrstは、スキャン停止位置Lstpおよび補正ライン数Lcpをパラメータとして、下式で表される。すなわち、スキャン処理再開位置Lrstは、スキャン停止位置Lstpから補正ライン数Lcpだけ戻ったライン位置とする。
Lrst=(Lstp+1)−Lcp ...(1)
Lrst=(Lstp+1)−Lcp ...(1)
ここで、スキャン処理が再開されると、画像処理部170は、イメージセンサ12から順次入力される電気信号に応じた画像データの生成を再開する。そして、バッファ150は、バッファ制御部160の制御に従って、画像処理部170から出力された画像データを、順次格納する。
具体的には、図4に示すように、スキャン処理が再開されると(ステップS210:YES)、処理位置Msをスキャン処理再開位置Lrstにセットする(ステップS220)。そして、イメージセンサ12から順次入力される電気信号に応じた画像データを、走査したラインの主走査方向に沿った各画素のスキャンデータ(以下、「再開後スキャンデータ」とも呼ぶ。)として生成する(ステップS230)。また、生成した画像データと同じ位置の画像データとして、停止前のスキャン処理においてバッファ150に既に書き込まれている画像データ(以下、「停止前スキャンデータ」とも呼ぶ。)をバッファ150から読み出して取得する(ステップS240)。そして、再開後スキャンデータと停止前スキャンデータとの平均値を求め(ステップS250)、求めた平均値の表す画像データをスキャンデータとしてバッファ150に書き戻す(ステップS260)。そして、走査した1ライン分についての処理が終了したか否か判断する(ステップS270)。1ライン分の処理が終了していない場合には(ステップS270:NO)、1ライン分の処理が終了するまで、ステップS230ないしS260の処理を繰り返す。一方走査した1ライン分についての処理が終了した場合には(ステップS270:YES)、処理位MSを1ライン変化させて(ステップS280)、処理位置MSがスキャン停止位置Lstpを超えたか否か判断する(ステップS290)。処理位置MSがスキャン停止位置Lstpを超えていない場合には(ステップS290:NO)、ステップS230に戻って、ステップS230ないしS280の処理を繰り返して、新たな処理位置Msに対応するラインのスキャンデータを生成する。一方、処理位置MSがスキャン停止位置Lstpを超えた場合には(ステップS290:YES)、図3のステップS120に戻って、スキャン処理停止前と同様に、ステップS120以降の通常のスキャン処理による画像処理を実行する。
以上のようにして、本実施例のスキャナ10においては、制御回路16によって査対象画像の読み取り処理が実行される。
A3.具体例:
次に、図2〜図4を用いて説明したスキャン対象画像の読み取り処理について、図5に示すスキャン対象画像および図6に示すバッファを例に、図7を用いてさらに具体的に説明する。
次に、図2〜図4を用いて説明したスキャン対象画像の読み取り処理について、図5に示すスキャン対象画像および図6に示すバッファを例に、図7を用いてさらに具体的に説明する。
図5は、読み取り処理について説明するためのスキャン対象画像の具体例を示す説明図である。このスキャン対象画像PSは、説明を容易にするため、用紙の上下左右の端縁までを走査領域とし、解像度情報および走査領域情報によって決定される副走査方向のライン数が40の画像であるとする。また、各ラインについて、先頭のライン(SL)から順に1,2,3,...,40の番号で示すこととする。ここで、センサ位置制御部190によって制御される、実際の各ラインの位置は、スキャン処理開始位置Lstに対応するスキャン対象画像上の実際の位置やライン間隔に基づいて決定されるが、上記図2〜図4を用いて説明したスキャン対象画像の読み取り処理では、実際のライン位置は問題ではなく、先頭ラインからの相対的な位置が問題となる。そこで、上記したように、各ライン位置を先頭からのライン番号で規定することとする。また、このスキャン対象画像は、後述する効果をより明確に示すため、左上から右下へ向う斜め線が引かれた図面であるとする。なお、図5中の破線はラインの区切りを示しており、実際の画像中に存在するものではない。
図6は、読み取り処理について説明するためのバッファ150の具体例を示す説明図である。このバッファ150としては、スキャン対象画像PSの20ライン分の画像データを記憶するメモリを用いることとする。ただし、説明を容易にするため、バッファ150は、図6に示すように、20ライン分の画像データをライン単位で記憶するもの、例えば、スキャン対象画像PSの1ライン分の画像データを記憶するラインバッファMLを20ライン分備えるものとする。また、各ラインバッファMLについて、先頭のラインバッファから順に1,2,3,...,20の番号で示すこととする。また、データ蓄積量Mus、その上限値Mupおよび下限値Mdpを、ライン数で定義することとし、バッファ150に記憶可能な最大のライン数である20を上限値Mupとして設定し、上限値Mupの半分のライン数である10を下限値Mdpとして設定することとする。さらに、スキャン処理中において、バッファ150へのデータの格納速度は、バッファ150から読み出されて外部インタフェース140を介してパソコンPCへ送信する転送速度に比べて速く、1ライン分の画像データをパソコンPCへ送信するよりも、20ライン分の画像データを格納する方が速いこととする。なお、図6の例は、図5のスキャン対象画像のラインSL1〜ラインSL20までの画像が、ラインバッファML1〜ML20に順に格納された状態を概念的に示しており、第1のラインバッファML1中のクロスハッチで示す部分は、パソコンPCへ転送済みのデータ領域を示している。
図7は、図5に示すスキャン対象画像の読み取り処理について、図6に示すバッファを例にして具体的に示す説明図である。スキャン対象画像PSの1番目のラインSL1をスキャン処理開始位置Lstとして(Lst=1)、スキャン処理を開始すると、1ラインごとにラインSL1,SL2,SL3...の順に走査して、読み取った画像の画像データが生成される。そして、生成された画像データは、スキャンデータとしてバッファ150にラインバッファML1,ML2,ML3...の順に格納される。
上述したように、スキャン対象画像PSの20番目のラインSL20が走査されて、読み取られた画像の画像データがバッファ150の20番目のラインバッファML20に格納されても、1番目のラインSL1の画像データのパソコンPCへの転送は終了していないことになるので、データ蓄積量MusはMus=20となる。この結果、データ蓄積量Musは、使用可能な上限値Mup(=20)まで増加したことになり、1回目のスキャン処理が停止されることになる。そして、スキャン処理が停止された20番目のラインSL20の番号20がスキャン停止位置Lstpとして記憶され、格納後停止した20番目のラインバッファML20の番号20がバッファ蓄積位置Mstpとして記憶される。なお、図7のバッファ150の使用量を概念的に示しており、空白の部分が空き領域を示し、クロスハッチングの部分が使用領域を示している。
スキャン処理が停止されても、外部インタフェース140を介してパソコンPCへの画像データの転送は引き続き実行される。なお、データ蓄積量Musは、既に格納されているラインバッファの数から、画像データを転送済みのラインバッファの数を差し引いた数である。従って、ラインバッファML1,ML2,ML3...の順に格納されている画像データがラインバッファML1,ML2,ML3...の順に転送されると、これに応じてデータ蓄積量Musは減少していくことになる。
そして、ラインバッファML1〜ML10に格納された画像データが転送されて、データ蓄積量MusがMus=10となると、データ蓄積量Musは下限値Mdp(=10)まで減少したことになり、停止していたスキャン処理が再開される。スキャン処理の再開位置Lrstは、上式(1)により決定される。例えば、補正ライン数LcpをLcp=4とすると、スキャン処理再開位置LrstはLrst=17に設定される。
ここで、スキャン処理が再開されると、2回目のスキャン処理の先頭のラインである17番目のラインSL17から、1回目のスキャン処理の最後のラインである20番目のラインSL20までの4本の各ラインは、1回目のスキャン処理において既に走査が実行されて、それぞれのラインに対応する画像データがラインバッファML17からラインバッファML20に格納されている重複ラインであるので、以下で説明するようにして生成された画像データが新たなスキャンデータとしてバッファ150に格納される。
図8は、重複ラインについての画像データの生成について示す説明図である。重複ラインであるラインSL17〜ラインSL20は、バッファ150のラインバッファML17〜ラインバッファML20に、それぞれ第1回目のスキャン処理において既に生成された画像データが格納されている。そこで、第2回目のスキャン処理において、17番目のラインSL17の主走査方向の各画素について、新たに17番目のラインSL17を走査して生成した画像データ(再開後スキャンデータ)と、既に17番目のラインバッファML17に格納されている画像データ(停止前スキャンデータ)との平均値が求められ、求められた平均値の表す画像データが17番目のラインSL17のスキャンデータとして、ラインバッファML17に書き戻される。他のラインSL18〜ラインSL20についても、同様である。
次に、図7において、21番目のラインSL21以降のラインは、1回目のスキャン処理では走査されていない新たなラインであるので、1回目のスキャン処理と同様に、1ラインごとにラインSL21,SL22,SL23,...の順に走査して、読み取った画像の画像データが生成される。そして、生成された画像データはスキャンデータとしてバッファ150の空いている領域に順に格納される。具体的には、上述したように、データ蓄積量MusがMus=20となって第1回目のスキャン処理が停止した後、第2回目のスキャン処理が開始されるまでの間、1番目のラインバッファML1から順に画像データが転送される。そして、データ蓄積量Musが減少してMus=10となって第2回目のスキャン処理が開始されるときには、ラインバッファML1〜ラインバッファML10が空き領域となっている。従って、順に生成されたラインSL21〜ラインSL30のスキャンデータは、バッファ150にラインバッファML1,ML2,ML3...の順に格納される。
図9は、バッファ150のラインバッファML17〜ML20に停止前スキャンデータと再開後スキャンデータの平均値がスキャンデータとして書き込まれ、ラインバッファML1〜ラインバッファML10に新たなラインSL21〜SL30のスキャンデータが書き込まれた状態を示す説明図である。
ここで、第1回目のスキャン処理における20番目のラインSL20と同様に、スキャン対象画像PSの30番目のラインSL30が走査されて、読み取られた画像の画像データがバッファ150の10番目のラインバッファML10に格納されても、上述したように、11番目のラインバッファML11に格納されたスキャン対象画像PSの11番目のラインSL11の画像データの転送は終了していないので(図中クロスハッチの部分のみが転送済み)、データ蓄積量MusはMus=20となる。この結果、データ蓄積量Musは、使用可能な上限値Mup(=20)まで増加したことになり、再開した2回目のスキャン処理が停止されることになる。そして、スキャン処理が停止された30番目のラインSL30の番号30がスキャン停止位置Lstpとして記憶され、スキャンデータを格納後停止した10番目のラインバッファML10の番号10がバッファ蓄積位置Mstpとして記憶される。
図7において、2回目のスキャン処理が停止された後、バッファ150のラインバッファML11〜ML20に格納されていた画像データが転送されて、データ蓄積量MusがMus=10となると、データ蓄積量Musは下限値Mdp(=10)まで減少したことになり、停止していたスキャン処理が再開される。スキャン処理の再開位置Lrstは、上式(1)により、Lrst=27に設定される。
ここで、3回目のスキャン処理が開始されると、3回目のスキャン処理の先頭のラインである27番目のラインSL27から、2回目のスキャン処理の最後のラインである30番目のラインSL30までの4本の各ラインは、2回目のスキャン処理において既に走査が実行されて、それぞれのラインに対応する画像データがラインバッファML7からラインバッファML10に格納されている重複ラインであるので、2回目のスキャン処理において説明したのと同様に、走査して読み取った画像の画像データ(再開後スキャンデータ)と、既にラインバッファに格納されている画像データ(停止前スキャンデータ)との平均値が求められ、求められた平均値の表す画像データが対応するラインのスキャンデータとして、対応するラインバッファに順に書き戻される。
そして、31番目のラインSL31以降のラインは、2回目のスキャン処理では走査されていない新たなラインであるので、1回目および2回目のスキャン処理と同様に、1ラインごとにラインSL31,SL32,SL33,...の順に走査して、読み取った画像の画像データがスキャンデータとして生成される。そして、生成した画像データは、スキャンデータとしてバッファ150の空いている領域、すなわち、ラインバッファML11〜ラインバッファML20に、ラインバッファML11,ML12,ML13...の順に格納される。
以上のようにして、図5に示したライン数40のスキャン対象画像は、3回のスキャン処理により読み取られ、生成された画像データがパソコンPCへ転送される。
A4.効果:
図10は、実施例の効果を示す説明図である。従来のように、スキャン処理の途中でバッファが一杯になって、スキャン処理を停止した場合、スキャン処理を停止した次のラインからスキャン処理を再開していた。この場合、スキャン処理を一旦停止した後スキャン処理を再開する際に、スキャン処理の再開位置にずれが発生する場合があり、図10(A)に示すように、スキャン処理の停止前の画像とスキャン処理の再開後の画像との境界で繋ぎ目が発生してしまう場合がある。図10(A)は、20番目のラインSL20でスキャン処理を一旦停止し、21番目のラインSL21からスキャン処理を再開したために、21番目のラインSL21以降の斜め線が20番目のラインSL20までの斜め線に比べて右方向にずれた状態を示している。
図10は、実施例の効果を示す説明図である。従来のように、スキャン処理の途中でバッファが一杯になって、スキャン処理を停止した場合、スキャン処理を停止した次のラインからスキャン処理を再開していた。この場合、スキャン処理を一旦停止した後スキャン処理を再開する際に、スキャン処理の再開位置にずれが発生する場合があり、図10(A)に示すように、スキャン処理の停止前の画像とスキャン処理の再開後の画像との境界で繋ぎ目が発生してしまう場合がある。図10(A)は、20番目のラインSL20でスキャン処理を一旦停止し、21番目のラインSL21からスキャン処理を再開したために、21番目のラインSL21以降の斜め線が20番目のラインSL20までの斜め線に比べて右方向にずれた状態を示している。
しかしながら、上記実施例の場合には、上述したように、バッファが一杯になって、スキャン処理を停止した場合、停止前のラインの一部と重複したラインからスキャン処理を再開している。そして、重複ライン部分については、先のスキャン処理で生成した画像データと後のスキャン処理で生成した画像データとの平均値を求めることにより生成した画像データを、その重複ラインの画像データとしている。これにより、図10(B)に示すように、画像の繋ぎ目を目立たなくすることができる。なお、図10(B)は、20番目のラインSL20でスキャン処理を一旦停止した場合に、17番目のラインSL17からスキャン処理を再開して、ラインSL17〜ラインSL20までの画像データを、先のスキャン処理で生成した画像データと、後のスキャン処理で生成した画像データとの平均値とした場合を示しており、図10(A)の従来例に比べて、21番目のラインSL21以降の斜め線の右方向へのずれを目立たなくするように補正した状態を示している。
B.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
B1.変形例1:
上記実施例では、説明の便宜上、バッファ150を、20ライン分の画像データを1ラインごとに記憶する20ライン分のラインバッファで構成したメモリとして説明したが、ラインバッファではなく種々の一般的なメモリに構成することが可能である。また、記憶容量も20ライン分に限定されるものではない。
上記実施例では、説明の便宜上、バッファ150を、20ライン分の画像データを1ラインごとに記憶する20ライン分のラインバッファで構成したメモリとして説明したが、ラインバッファではなく種々の一般的なメモリに構成することが可能である。また、記憶容量も20ライン分に限定されるものではない。
B2.変形例2:
上記実施例では、説明の便宜上、バッファ150に記憶可能な画像データの上限値Mupを20ライン、下限値Mdpを10ラインとして説明したが、これに限定されるものではない。上限値Mupは、設定されるバッファの記憶容量によって決定され、下限値Mdpは、スキャン対象画像を走査する速度と、画像データをパソコンへ転送する速度との関係を考慮して、適切な値に設定されるべきものである。
上記実施例では、説明の便宜上、バッファ150に記憶可能な画像データの上限値Mupを20ライン、下限値Mdpを10ラインとして説明したが、これに限定されるものではない。上限値Mupは、設定されるバッファの記憶容量によって決定され、下限値Mdpは、スキャン対象画像を走査する速度と、画像データをパソコンへ転送する速度との関係を考慮して、適切な値に設定されるべきものである。
B3.変形例3:
上記実施例では、説明の便宜上、スキャン処理の再開時に重複して走査する補正ライン数LcpをLcp=4として説明したが、これに限定されるものではない。この補正ライン数Lcpは、画像の繋ぎ目を効果的に目立たなくするように設定されるべきものである。
上記実施例では、説明の便宜上、スキャン処理の再開時に重複して走査する補正ライン数LcpをLcp=4として説明したが、これに限定されるものではない。この補正ライン数Lcpは、画像の繋ぎ目を効果的に目立たなくするように設定されるべきものである。
B4.変形例4:
上記実施例では、スキャン処理の再開時において、重複ラインの部分については、先のスキャン処理で生成した画像データと後のスキャン処理で生成した画像データとの平均値を求めることにより生成した画像データを、その重複ラインの画像データとして、先のスキャン処理で生成した画像データが格納されている領域に格納する構成としている。しかしながら、これに限定されるものではなく、空き領域に格納し、先のスキャン処理で生成した画像データが格納されている領域を空き領域に変更するようにしてもよい。
上記実施例では、スキャン処理の再開時において、重複ラインの部分については、先のスキャン処理で生成した画像データと後のスキャン処理で生成した画像データとの平均値を求めることにより生成した画像データを、その重複ラインの画像データとして、先のスキャン処理で生成した画像データが格納されている領域に格納する構成としている。しかしながら、これに限定されるものではなく、空き領域に格納し、先のスキャン処理で生成した画像データが格納されている領域を空き領域に変更するようにしてもよい。
B5.変形例5:
上記実施例では、重複ラインの部分については、先のスキャン処理で生成した画像データと後のスキャン処理で生成した画像データとの平均値を求めることにより生成した画像データを、その重複ラインの画像データとしているが、必ずしも平均値である必要はなく、先のスキャン処理で生成した画像データと、後のスキャン処理で生成した画像データと、に基づいて導きだされたデータを画像データとするようにすればよい。例えば、先のスキャン処理で生成した画像データと後のスキャン処理で生成した画像データとで重み付けを買えて平均値を求める等の種々の方法が考えられる。
上記実施例では、重複ラインの部分については、先のスキャン処理で生成した画像データと後のスキャン処理で生成した画像データとの平均値を求めることにより生成した画像データを、その重複ラインの画像データとしているが、必ずしも平均値である必要はなく、先のスキャン処理で生成した画像データと、後のスキャン処理で生成した画像データと、に基づいて導きだされたデータを画像データとするようにすればよい。例えば、先のスキャン処理で生成した画像データと後のスキャン処理で生成した画像データとで重み付けを買えて平均値を求める等の種々の方法が考えられる。
B6.変形例6:
上記実施例において、スキャナ10の各部は、ソフトウェア的に構成されているものを、ハードウェア的に構成するようにしてもよいし、ハードウェア的に構成されているものを、ソフトウェア的に構成するようにしてもよい。
上記実施例において、スキャナ10の各部は、ソフトウェア的に構成されているものを、ハードウェア的に構成するようにしてもよいし、ハードウェア的に構成されているものを、ソフトウェア的に構成するようにしてもよい。
10...スキャナ
12...イメージセンサ
14...モータ
16...制御回路
110...CPU
120...ROM
130...RAM
140...外部インタフェース
150...バッファ
160...バッファ制御部
170...画像処理部
180...センサ動作制御部
190...センサ位置制御部
PC...パーソナルコンピュータ(パソコン)
12...イメージセンサ
14...モータ
16...制御回路
110...CPU
120...ROM
130...RAM
140...外部インタフェース
150...バッファ
160...バッファ制御部
170...画像処理部
180...センサ動作制御部
190...センサ位置制御部
PC...パーソナルコンピュータ(パソコン)
Claims (3)
- 所定のスキャン対象画像を走査して画像データを生成し、生成した画像データを所定の外部機器へ転送する画像読取装置であって、
前記スキャン対象画像の主走査方向に沿った走査位置を、前記主走査方向に垂直な副走査方向に沿って順次移動させる走査位置制御部と、
前記走査位置ごとの画像を順次読み取り、読み取った画像に対応する電気信号を出力するイメージセンサと、
前記イメージセンサから順次出力される電気信号に応じた画像データを生成する画像処理部と、
前記画像処理部で順次生成される画像データを一時的に格納するバッファメモリと、
前記バッファメモリに格納された画像データを前記外部機器へ順次転送するインタフェース部と、
前記バッファメモリのデータ蓄積量を監視するデータ蓄積量監視部と、
を備え、
前記バッファメモリのデータ蓄積量が所定の上限値まで増加した場合には、前記走査位置制御部は前記走査位置の移動を停止するとともに、前記画像処理部は前記画像データの生成を停止し、
前記データ蓄積量が所定の下限値まで減少した場合には、前記走査位置制御部は、前記移動を停止した走査停止位置から所定の移動量だけ戻った走査再開位置を先頭の走査位置として、前記走査位置の移動を再開するとともに、前記画像処理部は、前記画像データの生成を再開し、
前記画像処理部は、再開した前記画像データの生成のうち、前記走査再開位置から前記走査停止位置までの各走査位置については、前記イメージセンサから出力される電気信号に応じて生成される画像データと、前記バッファメモリに格納されている画像データと、に基づいて導き出されるデータを前記画像データとする、
ことを特徴とする画像読取装置。 - 請求項1記載の画像読取装置であって、
前記導き出されるデータは、前記イメージセンサから出力される電気信号に応じて生成される画像データと、前記バッファメモリに格納されている画像データとの平均値を表すデータであることを特徴とする画像読取装置。 - 所定のスキャン対象画像を走査して画像データを生成し、生成した画像データを所定の外部機器へ転送する画像読取装置の制御方法であって、
前記画像読取装置は、
前記スキャン対象画像の主走査方向に沿い、前記主走査方向に垂直な副走査方向に沿って順次移動される走査位置ごとの画像を順次読み取り、読み取った画像に対応する電気信号を出力するイメージセンサと、
前記イメージセンサから順次出力される電気信号に応じて生成される画像データを一時的に格納するバッファメモリと、
前記バッファメモリに格納された画像データを前記外部機器へ順次転送するインタフェース部と、
を備え、
前記バッファメモリのデータ蓄積量を監視し、
前記バッファメモリのデータ蓄積量が所定の上限値まで増加した場合には、前記走査位置の移動を停止するとともに、前記画像データの生成を停止し、
前記データ蓄積量が所定の下限値まで減少した場合には、前記移動を停止した走査停止位置から所定の移動量だけ戻った走査再開位置を先頭として、前記走査位置の移動を再開するとともに、前記画像データの生成を再開し、
再開した前記画像データの生成のうち、前記走査再開位置から前記走査停止位置までの各走査位置については、前記イメージセンサから出力される電気信号に応じて生成される画像データと、前記バッファメモリに格納されている画像データと、に基づいて導き出されるデータを前記画像データとする、
ことを特徴とする画像読取装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005235211A JP2007053423A (ja) | 2005-08-15 | 2005-08-15 | 画像読取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005235211A JP2007053423A (ja) | 2005-08-15 | 2005-08-15 | 画像読取装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007053423A true JP2007053423A (ja) | 2007-03-01 |
Family
ID=37917596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005235211A Withdrawn JP2007053423A (ja) | 2005-08-15 | 2005-08-15 | 画像読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007053423A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012244547A (ja) * | 2011-05-23 | 2012-12-10 | Seiko Epson Corp | 画像読取装置、記録装置、および画像読取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01272372A (ja) * | 1988-04-25 | 1989-10-31 | Fujitsu Ltd | 原稿読取装置 |
JPH11215326A (ja) * | 1998-01-23 | 1999-08-06 | Canon Inc | 画像読取装置 |
-
2005
- 2005-08-15 JP JP2005235211A patent/JP2007053423A/ja not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01272372A (ja) * | 1988-04-25 | 1989-10-31 | Fujitsu Ltd | 原稿読取装置 |
JPH11215326A (ja) * | 1998-01-23 | 1999-08-06 | Canon Inc | 画像読取装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012244547A (ja) * | 2011-05-23 | 2012-12-10 | Seiko Epson Corp | 画像読取装置、記録装置、および画像読取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1271918B1 (en) | Image processing apparatus, and control method and control device therefor | |
US20170336852A1 (en) | Image forming apparatus, control method of image forming apparatus, and program | |
US8842304B2 (en) | Image processing apparatus, image processing circuit, and method of controlling image processing apparatus | |
CN1208948C (zh) | 图象传感装置及其控制方法 | |
US10158777B2 (en) | Image processing apparatus including a correction circuit configured to stop formation of an inclination-corrected line in a main scanning direction, image forming apparatus, image processing method and non-transitory computer readable medium | |
JP2007053423A (ja) | 画像読取装置 | |
JP2019004198A (ja) | 電子装置及びプログラム | |
JP3920168B2 (ja) | 画像形成装置とその制御方法並びに画像形成システム及び記録媒体 | |
JP4099725B2 (ja) | 画像形成装置 | |
JP6819349B2 (ja) | 画像処理装置および画像処理方法 | |
JP4901781B2 (ja) | 画像形成装置 | |
JP2011120040A (ja) | 画像処理装置 | |
JP2003057578A (ja) | 画像記録装置 | |
JP2006039766A (ja) | 画像入出力装置、制御方法、及びプログラム | |
JP2006173902A (ja) | 情報読み取り装置 | |
JP2004237667A (ja) | データ転送方法 | |
JP3120616B2 (ja) | 画像記録装置 | |
JP4671357B2 (ja) | 画像転送方法,装置および画像形成装置 | |
KR19980083886A (ko) | 복합기에서의 디지털 복사 방법 | |
JP4363100B2 (ja) | 画像読取装置および画像形成装置 | |
JP2001274952A (ja) | デジタル画像読み取り装置及び読み取り画像データの間引き処理方法 | |
JP3061522U (ja) | 画像読取装置 | |
JPH0974468A (ja) | 画像処理装置 | |
JP2009064342A (ja) | データ転送システム | |
JP2003335004A (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080702 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100730 |