JP3602884B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP3602884B2
JP3602884B2 JP08056895A JP8056895A JP3602884B2 JP 3602884 B2 JP3602884 B2 JP 3602884B2 JP 08056895 A JP08056895 A JP 08056895A JP 8056895 A JP8056895 A JP 8056895A JP 3602884 B2 JP3602884 B2 JP 3602884B2
Authority
JP
Japan
Prior art keywords
image
image data
scanning
value
pixel
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.)
Expired - Fee Related
Application number
JP08056895A
Other languages
Japanese (ja)
Other versions
JPH08107479A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP08056895A priority Critical patent/JP3602884B2/en
Publication of JPH08107479A publication Critical patent/JPH08107479A/en
Application granted granted Critical
Publication of JP3602884B2 publication Critical patent/JP3602884B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Processing (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Character Input (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、原稿画像を走査して読み取られた画像データを、画像データに対応する走査位置に基づいて画像メモリに格納するための画像処理装置に関する。
【0002】
【従来の技術】
従来、手動によって原稿上を自由走査して原稿画像を読み取るハンドスキャナにおいては、読み取りセンサの原稿上の走査位置を逐次検出し、検出された走査位置に基づいて画像データを画像メモリに格納していた。
【0003】
読み取りセンサの原稿上の走査位置を検出する方法としては、補助装置として基準格子が印刷されたシートを用い、原稿上に置かれたシートの上を、基準格子を検出する読み取りセンサと一体になった光感知素子によって走査することにより、光感知素子の出力から基準格子に対する画像データの位置を算出する方法がある(例えば、米国特許第4、260、979号)。
【0004】
また、補助装置としてタブレットを用い、タブレット上に載置された原稿の上を、読み取りセンサと一体になった検出コイルによって走査することにより、検出コイルの出力からタブレット上の座標位置を検出し、検出された座標位置に基づいて画像データの位置を算出する方法がある(例えば、米国特許第4、581、761号)
また、読み取りセンサと一体に移動する車輪に取り付けられ、車輪の回転に伴ってパルスを発生するエンコーダの出力から読み取りセンサの位置を検出し、検出された位置に基づいて画像データの位置を算出する方法がある(例えば、特開昭62−15964号公報)。
【0005】
これら従来の検出方法によって検出された走査位置に基づいて画像データの座標上の位置を算出し、画像メモリの所定のアドレスに格納する画像処理装置を用いれば、手動走査による手ぶれや蛇行の影響を排除することができるので、画像メモリ上の格納データに画像歪みが生じることはない。
【0006】
【発明が解決しようとする課題】
しかし、上記した従来の構成では、以下のような問題がある。
基準格子が印刷されたシートやタブレットなどの補助装置を用いる場合、走査位置の検出精度を高め、絶対位置誤差を小さくするには、精密な加工と高価な補正回路が必要となり、通常、コストが高くなる。また、精度の低い補助装置を用いると、検出する走査位置に大きな絶対位置誤差が生じる。
【0007】
一方、読み取りセンサと一体に移動する車輪に取り付けられ、車輪の回転に伴ってパルスを発生するエンコーダを用いる場合には、走査開始位置を基準点として逐次検出されるエンコーダのパルスをカウントして走査位置を算出するので、機械精度、車輪の滑りなどによって大きな累積位置誤差が生じる。
【0008】
検出される走査位置の絶対位置誤差、あるいは累積位置誤差が大きくなると、読み取りセンサが実際に走査している原稿上の正規の走査位置との間で大きな位置誤差が生じる(以下、この位置誤差を「位置ずれ」という。)。
【0009】
この位置ずれした走査位置に基づいて画像データの座標上の位置を算出し、画像メモリの所定のアドレスに格納すると、画像メモリ上で再現された平面画像に大きな画像歪みが生じるといった問題がある。この位置ずれによる平面画像の画像歪みについて、図19(b)〜(d)を用いて説明する。
【0010】
図19(b)に示すように、ハンドスキャナ1004によって原稿1000の上を自由に走査する場合について説明する。図19(c)に示すように、一方向のみを読み取る小型のハンドスキャナでは、原稿1000の上の大画面を読み取ることはできない。しかし、一方向に対してセンサの読み取り範囲だけ画像メモリ上に画像データが格納されるので、接続ずれは発生しない。図19(d)に示すように、一筆書きの往復走査によって原稿1000の上の大画面を読み取るハンドスキャナでは、位置ずれした走査位置に基づいて画像データを画像メモリに格納すると、画像の接続部が位置ずれを起こし、画像が歪んでしまう。特に、累積位置誤差を発生させるスキャナでは、走査する範囲が広くなればなるほど位置ずれがひどくなり、画像自体を判読することができなくなる。
【0011】
次に、画像メモリに画像データを格納する場合の問題点について説明する。
図22に示すように、画像メモリ2001内に画像データが格納される箇所(画像データ格納画素)2002と、画像データが格納されない箇所(以下「写像抜け領域」という。)2003があると、黒ベタ領域ではかなりよく目立つ白筋となり、画質品位が著しく劣化する。また、図23に示すように、この写像抜け領域が文字領域で発生した場合には、文字に白筋が入るなど、文字の品質が著しく劣化する。
【0012】
本発明は、従来技術における前記課題を解決するため、検出される走査位置に誤差が含まれていても、位置ずれを補正し、かつ、位置ずれの補正によって起こる写像抜け領域の発生を防止することにより、接続ずれのない高品位な接続画像を生成することのできる画像処理装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
前記目的を達成するため、本発明に係る画像処理装置の第1の構成は、ラインイメージセンサにより原稿画像を走査して読み取られた画像データと、前記画像データに対応する走査位置とを順次入力し、走査位置に基づいて前記画像データを画像メモリに格納する画像処理装置であって、重複して走査する重なり走査領域内の、前記画像データと前記画像メモリに格納された格納データとから前記走査位置の位置ずれを所定の間引かれたライン位置で検出し、前記位置ずれを補正する補正値をラインごとに逐次出力する位置ずれ検出手段と、前記補正値に基づいて前記走査位置を補正する補正手段と、補正された走査位置に基づいて前記画像データを前記画像メモリに格納する写像手段とを少なくとも備えたことを特徴とする。
【0014】
前記本発明の画像処理装置の第1の構成においては、補正値を所定の割合で可変する補正制御手段がさらに備わり、補正手段は、所定の割合で可変された前記補正値に基づいて走査位置を補正するのが好ましい。また、この場合には、補正制御手段は、位置ずれ検出手段からの補正値を分割した値を可変制御量とし、走査位置が異なるごとに段階的に前記補正値を所定の割合で可変するのが好ましい。
【0018】
また、前記本発明の画像処理装置の第1の構成においては、補正手段は、位置ずれ検出手段から出力される補正値を累積した累積補正値を生成する保持手段を備え、前記累積補正値によって走査位置を補正するのが好ましい。
【0019】
また、本発明に係る画像処理装置の第2の構成は、原稿画像を走査して読み取られた画像データと、前記画像データに対応する走査位置とを順次入力し、走査位置に基づいて前記画像データを画像メモリに格納する画像処理装置であって、重複して走査する重なり走査領域内の、前記画像データと前記画像メモリに格納された格納データとから前記走査位置の位置ずれを検出し、前記位置ずれを補正する補正値を出力する位置ずれ検出手段と、前記補正値に基づいて前記走査位置を補正する補正手段と、補正された走査位置に基づいて前記画像データを前記画像メモリに格納する写像手段とを少なくとも備え、かつ、前記写像手段は、隣接する画素から補間によって画像データを高密度化する画素密度変換手段と、走査位置に基づいて、高密度化した前記画像データ中の各画素の原稿上における実数座標値を、前記所定の画素密度を単位として算出する手段と、前記原稿上における実数座標値を、前記所定の画素密度を単位とする整数座標値に変換する整数化手段と、前記座標値の整数化の際に生じる座標誤差値を算出する手段と、前記整数座標値を前記画像メモリのアドレスに変換する手段と、前記座標誤差値の大きさと予め決められた所定の値とを比較する手段とを備え、前記座標誤差値の大きさが前記所定の値以下である画素のみを前記画像メモリのアドレスに格納することを特徴とする
また、前記本発明の画像処理装置の第2の構成においては、画素密度変換手段は、被処理画素とその周辺の隣接画素を用いて補間画素を生成する手段を備え、当該手段によって画像データを2倍の画素密度に変換するのが好ましく、さらには、被処理画素Pi,j (但し、画像データ中、iライン目の画像データのj番目の画素データを示す。)とその周辺の隣接画素Pi,j+1 、Pi-1,j 、Pi-1,j+1 を用いて、上記(数1)より補間画素Qi,j 、Ri,j 、Si,j を算出するのが好ましい。
また、前記本発明の画像処理装置の第2の構成においては、所定の値は、所定の画素密度を単位として0.3〜0.35であるのが好ましい。
【0022】
【作用】
前記本発明の画像処理装置の第1の構成によれば、ラインイメージセンサにより原稿画像を走査して読み取られた画像データと、前記画像データに対応する走査位置とを順次入力し、走査位置に基づいて前記画像データを画像メモリに格納する画像処理装置であって、重複して走査する重なり走査領域内の、前記画像データと前記画像メモリに格納された格納データとから前記走査位置の位置ずれを所定の間引かれたライン位置で検出し、前記位置ずれを補正する補正値をラインごとに逐次出力する位置ずれ検出手段と、前記補正値に基づいて前記走査位置を補正する補正手段と、補正された走査位置に基づいて前記画像データを前記画像メモリに格納する写像手段とを少なくとも備えていることにより、入力した走査位置に位置誤差が含まれていても、重複して走査する重なり走査領域内の画像データと格納データとの画像情報から走査位置の位置ずれを検出して、位置ずれを補正することができる。そして、この補正した走査位置に基づいて画像データを画像メモリに格納することにより、走査位置に位置誤差によって生じる画像の接続ずれを防止し、画像メモリ内で接続された平面画像の画像歪みを低減することができる。
【0023】
前記本発明の画像処理装置の第1の構成において、補正値を所定の割合で可変する補正制御手段がさらに備わり、補正手段は、所定の割合で可変された前記補正値に基づいて走査位置を補正するという好ましい例によれば、位置ずれを補正する補正値を所定の割合で可変制御し、補正された走査位置に基づいて画像データを画像メモリに格納することができるので、走査位置の補正によって生じる画像メモリ内の画像データが格納されない領域の発生が抑制される。また、走査位置が急激に補正されないことから、画像データと格納データとの画像情報から位置ずれを検出する場合の相関値の検出範囲を小さくすることができるので、回路の小型化が図られる。さらには、画像メモリ内の画像データが格納されない領域の発生(写像抜け)が防止されることから、重複した走査領域内の画像データと格納データとの画像情報から位置ずれを検出する際の相関値の誤差を小さくすることができるので、位置ずれ検出の精度が向上する。
【0027】
また、前記本発明の画像処理装置の第1の構成において、補正手段は、位置ずれ検出手段から出力される補正値を累積した累積補正値を生成する保持手段を備え、前記累積補正値によって走査位置を補正するという好ましい例によれば、位置ずれを無くす補正値を累積させることにより、累積誤差を含む走査位置の補正処理を小さい回路で実現することができる。なぜなら、累積された補正位置を中心に位置ずれを検出するため、位置ずれの検出範囲を小さくすることができるからである。
【0028】
また、本発明に係る画像処理装置の第2の構成によれば原稿画像を走査して読み取られた画像データと、前記画像データに対応する走査位置とを順次入力し、走査位置に基づいて前記画像データを画像メモリに格納する画像処理装置であって、重複して走査する重なり走査領域内の、前記画像データと前記画像メモリに格納された格納データとから前記走査位置の位置ずれを検出し、前記位置ずれを補正する補正値を出力する位置ずれ検出手段と、前記補正値に基づいて前記走査位置を補正する補正手段と、補正された走査位置に基づいて前記画像データを前記画像メモリに格納する写像手段とを少なくとも備え、かつ、前記写像手段は、隣接する画素から補間によって画像データを高密度化する画素密度変換手段と、走査位置に基づいて、高密度化した前記画像データ中の各画素の原稿上における実数座標値を、前記所定の画素密度を単位として算出する手段と、前記原稿上における実数座標値を、前記所定の画素密度を単位とする整数座標値に変換する整数化手段と、前記座標値の整数化の際に生じる座標誤差値を算出する手段と、前記整数座標値を前記画像メモリのアドレスに変換する手段と、前記座標誤差値の大きさと予め決められた所定の値とを比較する手段とを備え、前記座標誤差値の大きさが前記所定の値以下である画素のみを前記画像メモリのアドレスに格納するようにしたことにより、格納アドレスに対して誤差の小さい画素データを選択して画像メモリに格納することができるので、格納した画像の再現品位が向上する。そして、この格納データを位置ずれ検出に用いれば、歪みの小さい接続合成画像が得られ、平面画像の品位が向上する。
また、前記本発明の画像処理装置の第2の構成において、画素密度変換手段は、被処理画素とその周辺の隣接画素を用いて補間画素を生成する手段を備え、当該手段によって画像データを2倍の画素密度に変換するという好ましい例によれば、画素密度を上げることにより、画像の再現品位が向上する。さらには、補間処理を2のべき乗(2n )で実現することができることから、回路をビットシフトで構成することができるので、回路の簡素化が図られる。そして、この場合、被処理画素Pi,j (但し、画像データ中、iライン目の画像データのj番目の画素データを示す。)とその周辺の隣接画素Pi,j+1 、Pi-1,j 、Pi-1,j+1 を用いて、上記(数1)より補間画素Qi,j 、Ri,j 、Si,j を算出するという好ましい例によれば、所定の補間画素を容易に生成することができる。
また、前記本発明の画像処理装置の第2の構成において、所定の値は、所定の画素密度を単位として0.3〜0.35であるという好ましい例によれば、写像抜け画素を無くすことができる。
【0031】
【実施例】
以下、実施例を用いて本発明をさらに具体的に説明する。
<第1の実施例>
まず、本発明の第1の実施例の画像処理装置について、図面を参照しながら説明する。図1は本発明の第1の実施例における画像処理装置及び原稿画像を読み取り走査する画像読み取り部を示すブロック図である。図1中、Aは画像処理装置を示し、Bは画像読み取り部を示す。
【0032】
図1に示すように、原稿9の上を手動によって走査し、原稿画像を読み取ることにより、ラインイメージセンサ1が画像データを生成する。そして、生成された画像データは、画像バッファ4に出力される。
【0033】
図16に示すように、原稿画像を読み取り走査する画像読み取り部Bは、ラインイメージセンサ1が取り付けられたハンドスキャナ本体の匡体104と、ラインイメージセンサ1の両端位置に装備された2個の車輪31、32と、各車輪31、32にそれぞれ取り付けられ、車輪31、32の回転を検出するエンコーダ2a、2bとを備えている。各エンコーダ2a、2bは、車輪31、32の回転角度に応じて90度だけ位相の異なる2相のA相パルスとB相パルスを発生させる。そして、このA相パルスとB相パルスを用いて、車輪31、32の回転方向が検出される。A相パルスとB相パルスは90度だけ位相が異なるため、B相パルスの立ち上がりによって検出されるA相パルスのレベルは、車輪31、32の回転方向によって「H」レベルと「L」レベルとに識別される。識別された信号341、361の「L」レベルを車輪31、32の前進方向(UP方向)とすれば、「H」レベルは車輪31、32の後進方向(DOWN方向)となる。位置カウンタ33、35は、信号341、361が「L」レベルの場合に、B相パルス数に従ってカウント値を増加させ、信号341、361が「H」レベルの場合に、B相パルス数に従ってカウント値を減少させる。位置座標検出回路37は、位置カウンタ33、35からのカウント値331、351を入力し、車輪31、32の回転方向を考慮した各車輪31、32の移動距離を検出する。
【0034】
次に、図1に示すように、走査位置検出回路3は、車輪31、32の移動距離に基づいて各車輪31、32の原稿9上における座標を算出する。さらに、走査位置検出回路3は、各車輪31、32の座標をラインイメージセンサ1の両端の各読み取り画素の座標に変換し、走査位置座標300として位置ずれ検出回路7に出力する。図16に示すように、走査位置検出回路3は、位置座標検出回路37、位置カウンタ33、35、により構成されるが、その動作の詳細については後述する。
【0035】
写像回路5は、画像バッファ4から出力される画像データ400を画素密度変換し、高密度化画像データ500を出力する。位置ずれ検出回路7は、写像回路5から出力される高密度化画像データ500と、画像メモリ6に格納された格納データの相関値を算出する。さらに、位置ずれ検出回路7は、この相関値に基づいて算出される位置補正量を用いて走査位置座標300を補正し、補正位置座標710として写像回路5に出力する。さらに、写像回路5は、位置ずれ検出回路7から出力される補正位置座標710を用いて、画像メモリ6のアドレスを生成する。そして、写像回路5は、高密度化画像データ500の各画素データを、バス600を介して画像メモリ6に格納する。写像回路5及び位置ずれ検出回路7の動作の詳細については後述する。
【0036】
次に、走査位置検出回路3の動作について、さらに詳細に説明する。
図2は走査位置検出回路の動作説明図である。図2において、太線は2個の車輪31、32の移動軌跡を示している。ラインイメージセンサ1(図1)がiライン目の画素データを読み取ったときの2個の車輪31、32の位置を示す座標を、それぞれP0(X0,Y0)、P1(X1,Y1)とする。今、P0i−1 、P1i−1 の座標が既知であるとすれば、P0及びP1の座標は、下記(数2)を用いて近似的に算出される。
【0037】
【数2】

Figure 0003602884
【0038】
ここで、・は乗算を行う演算であり、/は除算を行う演算である。以後、・は乗算を示す演算子、/は除算を示す演算子として用いる。L0i−1 は、読み取り開始時から(i−1)ライン目の読み取りを行った時までに車輪31、32が移動した距離である。△L0は、(i−1)ライン目の読み取り開始時からiライン目の読み取を行った時までに車輪31、32が移動した距離である。移動距離は、車輪31、32の回転方向を考慮するので、マイナスの値にもなり得る。また、車輪31、32の原稿9上における移動距離は、図16に示すエンコーダ2a、2bのパルス数Nと1パルス当たりの分解能P(インチ/1パルス)を用い、P×Nを計算することによって得られる。位置座標検出回路37は、位置カウンタ33、35のカウント値331、351をラインイメージセンサ1の読み取り周期に同期して読み取り、iライン目と(i−1)ライン目で検出したカウント値の差分から、車輪31、32の回転方向を含む原稿9上における移動距離△L0を検出する。Dは、車輪31と車輪32との間の距離である。上記(数1)は、△θ=|θ−θi−1 |=|△L0−△L1|/Dを0とした近似計算である。△θは、ラインイメージセンサ1の1ライン走査時間の間におけるラインイメージセンサ1の変化角度である。上記(数1)を用いることにより、読み取り開始時における2つの車輪31、32の座標を決めておけば、2つの車輪31、32の移動距離からそれらの座標を算出することができる。
【0039】
図3はラインイメージセンサの両端部の読み取り画素の座標を算出する場合の説明図である。車輪31の座標をP0(X0,Y0)、車輪32の座標をP1(X1,Y1)とする。ラインイメージセンサ1の両端部の画素の座標Ps(Xs,Ys)及びPe(Xe,Ye)は、下記(数3)によって算出される。
【0040】
【数3】
Figure 0003602884
【0041】
ここで、Dは車輪31と車輪32との間の距離、d1は車輪31から読み取り画素Psまでの距離、d2は車輪31から読み取り画素Peまでの距離である。
走査位置検出回路3は、エンコーダ2a、2bが発生させる2相パルスから得られる車輪31、32の移動距離を用いて、上記(数2)及び(数3)の演算を行い、ラインイメージセンサ1の両端部の読み取り画素の座標Ps(Xs,Ys)、Pe(Xe,Ye)を、走査位置座標300として位置ずれ検出回路7に出力する。
【0042】
図4はラインイメージセンサの走査領域の説明図である。図4を用いて、原稿9の読み取り領域幅がラインイメージセンサ1の長さよりも大きい場合の、ラインイメージセンサ1の手動走査による動きについて説明する。原稿9を読み取るために、操作者は、ハンドスキャナ本体を原稿9に接触させ、原稿9の上を往復運動させながら手動走査する。このとき、ハンドスキャナ本体に取り付けられた2個の車輪31、32が回転し、エンコーダ2a、2bから2相パルスが出力される。図4は、ラインイメージセンサ1によって読み取られる原稿9上の読み取り領域を示している。
【0043】
ラインイメージセンサ1は原稿9の全幅を走査することができないため、画像読み取り部B(図1)は、ラインイメージセンサ1の往復運動によって原稿9の全体を読み取る。図4には、ラインイメージセンサ1の両端画素のみの位置が記載されているが、ラインイメージセンサ1は両端画素を結ぶライン上の画像を読み取る。例えば、ラインイメージセンサ1の両端画素がそれぞれA点とB点である場合、ラインイメージセンサ1はA点とB点を結ぶライン上を読み取っている(以後、これを「読み取り位置A−B」と記す。)。
【0044】
図4において、ラインイメージセンサ1は、読み取り位置A−Bを走査開始位置として、読み取り位置C−Dまで走査する。A点、B点、D点、C点によって囲まれる領域ABDCを読み取った画像データ中の各画素は、走査位置検出回路3(図1)から出力される走査位置座標300に基づき、写像回路5(図1)によって画像メモリ6に新規に格納される。以後、このような領域を「新規走査領域」と称する。
【0045】
次に、ラインイメージセンサ1は、戻り方向に移動し、読み取り位置C−Dから読み取り位置E−Fまで走査する。C点、D点、G点、E点によって囲まれる領域CDGEは、重複して画像が読み取られる領域である。以後、この重複して読み取られる領域を「重なり走査領域」と称する。D点、G点、F点によって囲まれる領域DGFは、新規走査領域である。このように、重なり走査領域CDGE、新規走査領域ABGEC及び新規走査領域DFGの3つの走査領域が存在する。
【0046】
走査位置座標300に位置誤差がなければ、この走査位置座標300に基づいて、読み取り画像データ中の各画素を画像メモリ6に写像して格納することができる。すなわち、重なり走査領域CDGEの読み取り画像データが画像メモリ6にオーバーライトされても、新規走査領域ABGECと重なり走査領域CDGEの継ぎ目部分において、画像メモリ6中の読み取り画像にずれが生じることはない。しかし、ハンドスキャナの機構設計精度、車輪31、32と原稿9との間のスリップ、車輪31、32の原稿9への沈み込み、曲線手動走査時における車輪31と車輪32との間の幅の影響などによって、走査位置座標300には位置誤差が含まれる。また、走査位置検出回路3は、エンコーダ2a、2bから出力される2相パルスをカウントしてエンコーダ2a、2bの移動距離を得るので、前記位置誤差が累積される。このため、走査位置座標300を用いて画像データ400を画像メモリ6に写像すると、前記継ぎ目部分に画像のずれが生じてしまう。ここで、「写像」とは、読み取り画像データを画像メモリ6の所定のアドレスに格納する動作のことである。
【0047】
この画像のずれを無くすため、位置ずれ検出回路7は、重なり走査領域CDGEの画像メモリ6に格納された画像データと高密度化画像データ500とを用いて、それらの相関度合いを示す相関値を算出する。さらに、位置ずれ検出回路7は、この相関値に基づいて、走査位置座標300を補正するための位置補正量を算出する。位置ずれ検出回路7は、この位置補正量に従って走査位置座標300を補正し、補正位置座標710として写像回路5に出力する。写像回路5は、補正位置座標710に従って、高密度化画像データ500中の各画素を画像メモリ6に写像するためのアドレスを生成し、これを画像メモリ6に格納する。尚、重なり走査領域CDGEの抽出については後述する。
【0048】
図7は画像メモリの説明図である。画像メモリ6の各画素のビットは、走査確認情報を保持する書き込みフラグの記憶ビット(ビット7)と、画像データの記憶ビット(ビット0〜6)とにより構成されている。ここで、画像データの記憶ビット数は特定されるものではなく、必要な階調数に応じて設計することができる。本実施例では128階調の画像を扱うものとし、0から127の値を有する濃淡データを格納するために、1画素当たり7ビットが画像メモリ6に確保される。ビット7の書き込みフラグは、画像データが画像メモリ6に書き込まれていない場合(すなわち、未格納状態の場合)に「0」であり、画像データがすでに書き込まれている場合(すなわち、格納状態の場合)には「1」となる。このように画像データを格納するメモリと走査確認情報を格納するメモリとを共用すれば、アドレスの生成及びメモリ制御部を簡素化することができ、さらには、同時にアクセスすることも可能となるので、アクセス速度の高速化が図られる。尚、画像データを格納するメモリと走査確認情報を格納するメモリを個別に構成することもでき、また、走査確認情報を画素単位ではなく、ブロック単位で格納するようにしてもよい。画像データの格納位置を特定できる走査確認情報を記憶させることができればよい。
【0049】
次に、位置ずれ検出回路7について、その動作を説明する。
図5は位置ずれ検出回路を示すブロック図である。ラインイメージセンサ1の読み取り走査が開始される前に、画像メモリ6の全てのデータ、補正量算出回路73の位置補正量703及び画像相関回路72内の相関テーブルは、「0」に初期化される。この初期化の後、ラインイメージセンサ1のラインの読み取り走査ごとに、走査位置座標300が位置補正回路74によって補正され、補正位置座標710として写像回路5に出力される。ラインイメージセンサ1の読み取り走査が開始された時点においては、位置補正量703は「0」であるため、走査位置座標300と補正位置座標710は同じ座標値になる。
【0050】
写像回路5は、画素密度変換処理によって画像データ400を高密度化し、高密度化画像データ500を生成する。さらに、写像回路5は、入力される補正位置座標710を用いて、高密度化画像データ500の各画素データPnの画像メモリ6への格納アドレスADRnを算出する。写像回路5は、アドレスADRnに従って、バス600を経由して画像メモリ6のアドレスADRnに格納されている画素データPnを読み出し、この画素データPnをバス600を介して重なり領域検出回路71に出力する。尚、写像回路5の動作の詳細については後述する。
【0051】
重なり領域検出回路71は、画素データPnの書き込みフラグ(ビット7)をチェックし、この画素データPnのアドレスADRnに画像データが格納済みかどうかを判定する。画素データPnの書き込みフラグ(ビット7)が1の場合には、ラインイメージセンサ1の読み取り走査によって画像データがすでにアドレスADRnに格納されていることを示しているので、画素データPnは重なり走査領域に含まれていると判定される。また、画素データPnの書き込みフラグ(ビット7)が0の場合には、画素データPnは新規走査領域に含まれていると判定される。重なり領域検出回路71は、判定信号701を画像相関回路72と写像回路5に出力する。ここで、判定信号701は、画素データPnが新規走査領域に含まれる場合に「0」、重なり走査領域に含まれる場合に「1」となる信号である。
【0052】
画像相関回路72は、判定信号701が「1」の場合に画素データPnについての相関値算出処理を行い、判定信号701が「0」の場合には画素データPnについての相関値算出処理を行わない。写像回路5は、判定信号701が「0」の場合に高密度化画素データPnを画像メモリ6に格納し、判定信号701が「1」の場合には高密度化画素データPnを画像メモリ6に格納しない。この1画素単位の一連の処理動作を、高密度化画像データ500の1ラインの全ての画素データについて行う。
【0053】
1ライン分の高密度化画像データ500の上記処理が終了した時点で、画像相関回路72は、重なり走査領域に含まれる画素についてのみ相関値計算処理を行うことによって作成した相関テーブルを用いて、走査位置座標300の位置ずれ方向を検出する。さらに、画像相関回路72は、位置ずれをキャンセルするためのオフセット値702を補正量算出回路73に出力する。1ライン全ての高密度化画素が新規走査領域に含まれる場合には、画像相関回路72の相関テーブルは初期値「0」のままである。この場合、オフセット値702は「0」(位置ずれ無し)となる。
【0054】
補正量算出回路73は、オフセット値702を、内部に保持している補正量の累積値に加算し、位置補正量703として位置補正回路74に出力する。位置補正回路74は、次に処理する1ラインの画像データの走査位置座標300と位置補正量703とを加算し、補正位置座標710として写像回路5に出力する。以後、上述した一連の処理を順次ラインごとに繰り返し行う。
【0055】
次に、写像回路5の動作について、図6、図7、図9を用いて説明する。図6は写像回路を示すブロック図、図7は画像メモリの説明図、図9は画素密度変換の説明図である。
【0056】
図6に示すように、画素密度変換回路51は、画像データ400中の1画素データにつき3つの補間画素を生成し、2倍に高密度化された高密度化画像データ500を出力する。
【0057】
まず、補間画素の生成方法について、図9を用いて説明する。図9中、Pi,j は、画像データ400におけるiライン目の画像データのj番目の画素データを示す。黒ドットは各画素データの座標点である。図9(a)は画像データ400中の隣接する4つの画素を示している。図9(b)において、Qi,j 、Ri,j 及びSi,j は、画像データ400中の画素データPi,j に対する補間画素データである。各補間画素データQi,j 、Ri,j 、Si,j は、上記(数1)によって算出される。
【0058】
次に、座標値算出回路52について説明する。図6に示すように、座標値算出回路52には、ラインイメージセンサ1の両端画素の補正後の座標値である補正位置座標710が入力される。座標値算出回路52は、入力された補正位置座標710を用いて高密度化画像データ500の各画素の座標値520を計算する。図7に示すようにラインイメージセンサ1の両端画素Ps、Peの座標(補正位置座標710)がそれぞれ(Xs,Ys)、(Xe,Ye)である場合の、座標値算出回路52の動作について説明する。サフィックスiは、画像データ400のiライン目の補正位置座標であることを示す。ここで、ラインイメージセンサ1の読み取り画素密度を8画素/mm、画像メモリ6に格納する画像の画素密度を8画素/mmとする。Xs、Ys、Xe及びYeは、1/8mmを単位とする実数値である。
【0059】
ラインイメージセンサ1の1ラインの読み取り画素数をNd、1ライン中の画素番号をjとした場合、画素データPi,j の座標(XPi,j ,YPi,j )は、下記(数4)を用いて算出される。
【0060】
【数4】
Figure 0003602884
【0061】
画素データPi,j に対応する3つの補間画素データQi,j 、Ri,j 及びSi,j の座標(XQi,j ,YQi,j )、(XRi,j ,YRi,j )及び(XSi,j ,YSi,j )は、下記(数5)を用いて算出される。
【0062】
【数5】
Figure 0003602884
【0063】
座標値算出回路52は、上記(数4)及び(数5)に示す演算処理を行うことにより、高密度化画像データ500中の各画素の座標値520を算出する。
整数化回路53は、実数値である座標値520を整数化し、整数化座標値530を出力する。実数の座標値520を(Xreal,Yreal)、整数化座標値530を(Xint ,Yint )とすれば、整数化座標値は、下記(数6)を用いて算出される。
【0064】
【数6】
Figure 0003602884
【0065】
(数6)において、[ ]は、小数点以下を四捨五入する演算を示す。0.5を加算した後に小数部切り捨て処理を行うことは、四捨五入することと等価である。
【0066】
アドレス生成回路54は、整数化回路53から出力された整数化座標値530を画像メモリ6のアドレス540に変換する。図10に、画像メモリのアドレス配置を示す。画像メモリ6は、X方向にM画素、Y方向にN画素のページメモリである。画像メモリ6の左上の画素のアドレスは0、右上の画素のアドレスは(M−1)、右下の画素のアドレスは(MN−1)である。整数化座標値530を(Xint ,Yint )とすれば、画像メモリ6のアドレスADRは、下記(数7)によって算出される。
【0067】
【数7】
Figure 0003602884
【0068】
誤差算出回路55には、実数の座標値520と整数化座標値530が入力され、実数の座標値520が整数化されたために生じる座標誤差550を比較回路56に出力する。X方向の座標誤差をEx、Y方向の座標誤差をEyとすれば、座標誤差(Ex,Ey)は、下記(数8)によって算出される。
【0069】
【数8】
Figure 0003602884
【0070】
ここで、| |は絶対値をとる演算を示す。以後、| |を、絶対値をとる演算子として用いる。Ex及びEyは、0〜0.5の値をとる。
比較回路56は、座標誤差Ex、Eyと予め決められた所定の値とを比較する。比較回路56は、座標誤差Ex及びEyが共に前記所定の値よりも小さい場合に「1」となる信号560をアクセス回路57に出力する。
【0071】
アクセス回路57は、バス600を介して画像メモリ6(図5)をアクセスする。画像メモリ6のアドレスは、アドレス生成回路54からアクセス回路57に出力されるアドレス540によって指定される。アクセス回路57による高密度化画像データ500の画像メモリ6への格納は、判定信号701が「0」でかつ信号560が「1」である場合にのみ行われる。すなわち、高密度化画像データ500内の任意の画素の画像メモリ6への写像は、その画素が新規走査領域に含まれる画素でかつ座標誤差Ex及びEyが共に前記所定の値よりも小さいという条件を満たす場合にのみ行われる。この条件を満たさない画素は、画像メモリ6へ写像されない。この画像メモリ6上の格納済み領域に新規な画像データを格納しないメモリ制御を行うことにより、累積位置誤差を含む走査位置が入力されても、手動で往復した一筆書き走査によって順次重ねて読み取る際に、累積位置誤差の小さい状態の画像データが優先して画像メモリ6に格納されるので、画像メモリ6上には常に走査位置誤差の小さい画像が格納される。この格納データを位置ずれ検出に用いれば、歪みの小さい接続合成画像が得られ、平面画像の品位が向上する。
【0072】
図11は高密度化画像データの画像メモリへの写像動作の説明図である。図11(a)は、高密度化画像データ500を示す。図11(a)において、黒ドットは各画素P、Q、R、Sの座標値である。高密度化画像データ500の画素密度は、最小で16画素/mmである。図11(b)は、画像メモリ6の画素を示す。図11(b)において、黒ドットは画素Wの座標値である。距離Uは、写像回路5の比較回路56において用いられる所定の値を示している。画像メモリ6は、画素密度が8画素/mmの画像データを格納する。図11(c)は、高密度化画像データ500(図11(a))と画像メモリ6の画素(図11(b))を同一の座標系で重ねた場合の例である。図11(c)の場合、高密度画像データ500の各画素P、Q、R、Sの各座標値は、領域Tの外側にあるため、画素P、Q、R、Sのいずれも画像メモリ6の画素Wには写像されない。すなわち、画像メモリ6の中に、原稿読み取り領域であるにも関わらず写像されない画素(写像抜け画素)が存在することになる。写像抜け画素は、領域Tを広げることによって無くすことができる。しかし、領域Tを広げると写像時の座標誤差が大きくなるので、画像メモリ6に写像された画像の歪みが大きくなる。画像の歪みの点からすると、領域Tは狭いほど良い。
【0073】
写像抜け画素を無くすための距離Uの上限値Umax は、画像メモリ6の画素ピッチを単位として下記(数9)によって表される。
【0074】
【数9】
Figure 0003602884
【0075】
本実施例の場合、画像メモリ6の画素密度は8画素/mmであるので、単位は1/8mmとなる。距離Uを0.35とすることにより、写像抜け画素を無くすことができる。ある程度の写像抜け画素の発生を許容して、画像ひずみを低減することに重点を置く場合には、距離Uは0.3〜0.35の範囲に設定すればよい。距離Uを0.3以下にすると、写像抜け画素が多発し、再現画像の画質が著しく低下する。
【0076】
図5に示す位置ずれ検出回路7の動作説明に戻る。図8は相関テーブルの説明図である。画像相関回路72について、主に図8を用いて説明する。図8(a)は相関処理の対象となる相関位置の説明図、図8(b)は相関テーブルの説明図である。位置補正回路74に入力されるiライン目の走査位置座標300をP10(X1,Y1)、P20(X2,Y2)とし、位置補正量703を△Xoffset、△Yoffsetとする。位置補正回路74は、走査位置座標300及び位置補正量703を用い、下記(数10)によって補正位置座標710のP11(X3,Y3)、P21(X4,Y4)を算出する。
【0077】
【数10】
Figure 0003602884
【0078】
画像相関回路72は、重なり領域検出回路71からの判定信号701が「1」の場合(すなわち、被処理画素が重なり走査領域に含まれている場合)にのみ、被処理画素について相関値を算出し、相関テーブルの更新を行う。被処理画素の座標に対応する画像メモリ6中の画素Pnを着目画素とする。相関値の算出は、被処理画素の座標を微小値だけ増減した座標に対応する画像メモリ6中の画素データと被処理画素の画素データとの差分値を算出することによって行われる。
【0079】
着目画素Pnの座標を(Xn,Yn)、微小座標値を△hx、△hyとした場合、被処理画素の相関値算出の対象となる画素データPhの座標(Xhmn,Yhmn)は、下記(数11)によって算出される。
【0080】
【数11】
Figure 0003602884
【0081】
ここで、m、nは、それぞれ−1、0、1の値をとる。また、[ ]は、小数点以下を四捨五入する演算を示す。
図8(a)において、P12→P22は、m=1、n=1の場合の相関値を算出する1ラインの位置を示している。この相関値算出の対象座標に対応する相関テーブルの値をh(m,n)とすると、図8(b)に示す相関テーブルが作成される。
【0082】
高密度化画像データ500の1ライン中の画素番号をj、データ値をDn、画像メモリ6中の相関値算出の対象となる画素データをDhjmn とすれば、各相関テーブルの値h(m,n)は、下記(数12)によって算出される。
【0083】
【数12】
Figure 0003602884
【0084】
ここで、ho(m,n)は、画素番号(j−1)までの相関値計算によって生成された相関値テーブルの値である。1ラインの相関値計算を開始する前に、相関テーブルの値は全て「0」に初期化される。
【0085】
画像相関回路72は、上記の相関値計算を、高密度化画像データ500中の1ラインの全ての画素について行うことにより、相関テーブルを完成させる。また、相関値算出の対象座標は、上記(数10)によって算出される補正位置座標710である。
【0086】
画像相関回路72は、1ラインの相関値の計算が終了した時点で、h(m,n)の最小値を保持する(mmin ,nmin )を検索し、オフセット値702として補正量算出回路73に出力する。相関テーブル中に複数の最小値が存在し、その最小値に(mmin ,nmin )=(0,0)が含まれる場合には、(0,0)の最小値が優先して用いられる。相関テーブル中の相関値h(mmin ,nmin )が最も小さいということは、(△hx×mmin ,△hy×nmin )の微小値を各画素の座標に加算して写像した場合に、画像メモリ6中の画像とこれから写像しようとするラインの画像とが最もよく一致することを示している。また、複数の最小値が存在し、その最小値に相関窓の中心が含まれる場合には、オフセット値702は「0」とする。例えば、3×3の相関窓を設定すれば、h(0,0)が相関窓の中心となる。ここで、m、nは、それぞれ−1、0、1の値をとるものとする。
【0087】
補正量算出回路73は、オフセット値702(mmin ,nmin )を用いて下記(数13)に示す演算を行う。ここで、オフセット値702を、△X=△hx×mmin 、△Y=△hy×nmin とする。
【0088】
【数13】
Figure 0003602884
【0089】
上記(数13)において、サフィックスiは、高密度化画像データ500のiライン目の相関テーブル完成時における位置補正量703を表わす。位置補正回路74は、走査位置座標300に(△Xoffset,△Yoffset)を加算することによって走査位置座標300の補正を行い、補正位置座標710として出力する。
【0090】
以上のように、本実施例の画像処理装置の構成によれば、入力した走査位置に位置誤差が含まれていても、重複して走査する重なり走査領域内の画像データと格納データとの画像情報から走査位置の位置ずれを検出して、位置ずれを補正することができる。そして、この補正した走査位置に基づいて画像データを画像メモリ6に格納することにより、走査位置の位置誤差によって生じる画像の接続ずれを防止し、画像メモリ6内で接続された平面画像の画像歪みを低減することができる。
【0091】
尚、本実施例においては、相関対象画素位置を9箇所としているが、必ずしも9箇所に限定されるものではない。位置ずれ量が大きい場合には、相関対象画素位置をより多くして、相関範囲を広げてもよい。また、相関テーブルの作成をN(N>1)走査ライン間隔で行い、N(N>1)走査ライン間隔で位置ずれの補正を行ってもよい。例えば、N=8としてもよい。
【0092】
<第2の実施例>
次に、本発明の第2の実施例として、画像相関回路72(図5)で検出される位置ずれに対応したオフセット値702が大きい場合の処理について説明する。
【0093】
画像相関回路72で検出される位置ずれに対応したオフセット値702が大きい場合、位置補正量703はオフセット値702が加算される位置で大きく変化し、その結果、補正位置座標710は補正される位置で大きく変化する。
【0094】
補正位置座標710が大きく変化したときの画像メモリ6におけるデータの格納状態を、図15を用いて説明する。図15は画像メモリにおけるデータの格納状態を示す説明図である。図15では、(i−1)ライン目を画像相関検出を行うラインとし、iライン目を位置補正を行うラインとする。また、(i−1)ライン目の両端画素をPsi−1 、Pei−1 、iライン目の両端画素をPs、Peとして記載している。
【0095】
図15に示すように、補正される量が大きく変化する位置における補正位置座標710に従って、写像回路5が画像メモリ6に画像データを格納すると、(i−1)ライン目とiライン目のライン間にはデータが格納されない領域(位置補正による写像抜け領域)が発生する。
【0096】
このデータが格納されない領域の発生を抑える方法について、図12、図13、図14を用いて説明する。図12は分割制御回路を含む位置ずれ検出回路のブロック図、図13は分割制御回路のタイミングチャート図、図14は位置補正量と分割位置補正量との違いを説明するための図である。
【0097】
図12において、図5の位置ずれ検出回路7のブロック図と異なる点は、画像相関回路72のオフセット値702が補正量算出回路73に直接入力されていない点である。オフセット値702は、分割制御回路75によってデータが格納されない領域(位置補正による写像抜け領域)の発生を抑える分割オフセット値704に変換された後、補正量算出回路73に入力される。
【0098】
位置補正による写像抜け領域の発生を抑えるために、レジスタ754にはオフセット値702を分割するパラメータNBが保持されている。オフセット値702は、レジスタ754に保持されている分割パラメータNBによって除算器751で除算され、スイッチ752はスイッチ制御753の制御出力によって除算器751の出力をON/OFFする。「ON」の場合は、除算器751から分割オフセット値704が出力され、「OFF」の場合には、分割オフセット値704は出力されない(オフセット値無し)。分割パラメータNBが2であれば、除算器751はnビットシフトで構成することができる。尚、分割パラメータNBは特定されるものではなく、オフセット値702のとり得る最大値に応じて任意に設定することができる。
【0099】
図13を用いて、分割制御回路75の動作をタイミングチャートに従って説明する。ここでは、分割パラメータNBを4として説明する。また、画像相関を最初に行うライン位置をi番目とし、8走査ライン間隔で画像相関検出を行うものとする。図13においては、iライン目を0(ライン位置)、(i+8)ライン目を8(ライン位置)というように、数のみが記載されている。
【0100】
写像回路5は、ラインセンサ1が読み取った1ラインの画像信号をすべて写像した時点で、1ラインのライン同期信号をバス600を経由して分割制御回路75、画像相関回路72に出力する。
【0101】
画像相関回路72は、走査が開始される最初のライン位置を初期化ライン位置(i=0のライン位置)とし、初期化ライン位置からライン同期信号をカウントする。そして、カウント数iを8で割った余りが0の場合に、画像相関検出を行い(i=0の初期化ライン位置は除く。)、次のライン位置の読み取りが開始される前に、オフセット値702をライン同期信号に同期して更新する。画像相関検出が終了すると、画像相関回路72は、相関終了信号をバス600を経由して分割制御回路75のスイッチ制御753に出力する。スイッチ制御753は、画像相関回路72の相関終了信号を受信した次のライン位置を、カウント値で1とし、次のライン位置からライン同期信号のカウントを開始する。レジスタ754に保持されている分割パラメータNBに対応して、スイッチ制御753は、「1≦カウント値≦4」の場合にスイッチ752をONにし、「カウント値>4」の場合にスイッチ752をOFFにする。
【0102】
補正量算出回路73は、分割した分割オフセット値704を入力し、1ライン前の位置補正量705を格納したレジスタ731の累積値と分割オフセット値704を加算器732で加算し、分割制御された位置補正量(以下「分割位置補正量」という。)705として位置補正回路74に出力する。
【0103】
次に、補正量算出回路73において、オフセット値702を入力して生成する位置補正量703(分割制御なし、図5)と、分割オフセット値704を入力して生成する分割位置補正量705(分割制御あり)との違いについて、図14を用いて説明する。
【0104】
図13と同様に、画像相関を最初に行うライン位置をi番目とし、8走査ライン間隔で画像相関検出を行うものとする。図14においては、iライン目を0(ライン位置)、(i+8)ライン目を8(ライン位置)というように、数のみが記載されている。また、位置ずれのキャンセルを行うオフセット値702は、X方向、Y方向ともに同じ処理であるため、X方向の一方だけが記載されている。また、i番目のライン位置では、補正量算出回路73のレジスタ731の累積値は「0」、分割制御回路75のレジスタ754の分割数は4として説明する。尚、3×3の相関窓を設定した場合には、このように分割数は4で十分であり、5×5の相関窓を設定した場合には、分割数は8で十分である。本発明の特許請求の範囲の請求項3に記載した「可変制御量」とは、分割オフセット値704のことである。
【0105】
図14において、iライン目と(i+8)ライン目で画像相関検出を行うことから、画像相関回路72からのオフセット値702は、(i+1)ライン目(オフセット値=△hx×m)と(i+9)ライン目(オフセット値=−△hx×m)で出力される。
【0106】
分割制御を行わない場合(図5)、補正量算出回路73は、オフセット値702を入力し、次の(i+1)ライン目において、レジスタ731の累積値(累積値=0)とオフセット値の△hx×mを加算した位置補正量703を得る。また同様に、補正量算出回路73は、(i+9)ライン目において、レジスタ731の累積値(累積値=△hx×m)とオフセット値の−△hx×mを加算した位置補正量703を得る。
【0107】
分割制御を行う場合、補正量算出回路73は、分割オフセット値704を入力し、次の(i+1)ライン目において、レジスタ731の累積値(累積値=0)とオフセット値の△hx×(m/4)を加算した分割位置補正量705を得る。また、補正量算出回路73は、(i+2)ライン目において、レジスタ731の累積値(累積値=△hx×(m/4))とオフセット値の△hx×(m/4)を加算した分割位置補正量705を得る。以降、(i+4)ライン目まで、順次△hx×(m/4)だけ増加する分割位置補正量705を得る。(i+4)ライン目から(i+8)ライン目までは、分割オフセット値704が0となるために変化しない。また、補正量算出回路73は、(i+9)ライン目において、レジスタ731の累積値(累積値=△hx×m)とオフセット値の−△hx×(m/4)を加算した分割位置補正量705を得る。以降、(i+9)ライン目から(i+12)ライン目まで、順次−△hx×(m/4)だけ減少する分割位置補正量705を得る。(i+13)ライン目からは、分割オフセット値704が0となるために変化しない。
【0108】
分割制御を行わない場合、大きなオフセット値702が検出されると、そのまま画像相関検出を行う(i−1)ライン目と次のiライン目で、位置補正量703が大きく増加又は減少する。このため、図15に示すように、(i−1)ライン目とiライン目のライン間には、データが格納されない領域(補正による写像抜け領域)が発生する。
【0109】
一方、分割制御を行う場合には、大きなオフセット値702が検出されても、分割制御回路75がオフセット値702をラインごとに分割するので、画像相関検出を行う(i−1)ライン目と次のiライン目で、分割位置補正量705は徐々に増加又は減少する。このため、図16に示すように、(i−1)ライン目と「分割制御なし」の場合のiライン目との間に、分割制御によって設定されるhiライン目が設定され、(i−1)ライン目とiライン目のライン間におけるデータが格納されない領域(補正による写像抜け領域)の発生が抑えられる。ここで、hiライン目は両端画素をPshi、Pehiとして記載されている。
【0110】
また、相関対象範囲を広げた場合には、大きなオフセット値によって走査位置が補正されることとなるので、データが格納されない領域(補正による写像抜け領域)が多発する。この場合、分割制御を行うことにより、画像メモリ6にデータが格納されない領域(補正による写像抜け領域)の発生が抑えられ、画像相関検出を行う場合の位置ずれ検出精度が向上する。その結果、画像メモリ6上に再現される画像品位が向上する。
【0111】
また、入力画像データを高密度化することにより画素数を増大させた上で、写像時の座標誤差の少ない画素のみを画像メモリへ写像し、かつ、分割制御を行うことにより、画像メモリ6中の写像されない画素が大幅に減少する。さらに、写像時の座標変換誤差に起因する読み取り再現画像の歪みが大幅に低減する。加えて、ラインイメージセンサ1の画素数を増やしたり、最大手動走査速度を小さくする必要もないので、画像メモリ6上における画像品位がさらに向上する。
【0112】
以上のように、本実施例の画像処理装置の構成によれば、位置ずれを補正する補正値を所定の割合で可変制御し、段階的に可変された補正値に基づいて走査位置を補正し、補正された走査位置のデータに基づいて画像データを画像メモリ6に格納することができるので、走査位置の補正によって生じる画像メモリ6内の画像データが格納されない領域の発生が抑制される。また、走査位置が急激に補正されないことから、画像データと格納データとの画像情報から位置ずれを検出する場合の相関値の検出範囲を小さくすることができるので、回路の小型化が図られる。さらには、画像メモリ6内の画像データが格納されない領域の発生(写像抜け)が防止されることから、重複した走査領域内の画像データと格納データとの画像情報から位置ずれを検出する際の相関値の誤差を小さくすることができるので、位置ずれ検出の精度が向上する。その結果、画像メモリ6内で再現される画像品位が向上する。また、本発明の画像処理装置をハードウェア構成すれば、1ラインごとに順次処理することができるので、回路の小型化が図られ、さらにリアルタイムで処理することが可能となる。
【0113】
尚、本実施例においては、入力画像データ400を高密度化した高密度化画像データ500を用い、画素数を増大させた上で、写像時の座標誤差の少ない画素のみを画像メモリ6へ写像しているが、高密度化しない画像データ400を用いてもよい。この場合には、分割制御を行うことにより、写像されない領域の発生が抑えられる。また、写像時の座標誤差の判定を0.5にする場合(すなわち、写像時の座標誤差を四捨五入する場合)、入力画像データ400(Pi,j )と高密度化画像データ500のうち、走査ライン間に生成されるRi,j を常時格納するようにして(図9参照)、画像メモリ6へ写像してもよい。これにより、走査ラインに許容以上の間隔が生じた場合にも、画像データが格納されない領域(写像抜け領域)の発生が抑えられる。
【0114】
<第3の実施例>
以上、第1及び第2の実施例においては、走査位置のX方向、Y方向に対する位置ずれ検出について説明したが、本実施例においては、走査位置の回転方向に対する位置ずれ検出をさらに追加した場合について、図16、図17、図18を用いて説明する。
【0115】
図3に示す構成において、位置誤差が生じる要因として、車輪31、32の原稿上での滑り、車輪31の径と車輪32の径の精度誤差、車輪31、32間の距離Dの精度誤差、車輪31、32の原稿への沈み込み、手動走査によって回転する際に回転中心が車輪31、32間の幅に影響されること、などを挙げることができる。従って、回転方向に対する位置誤差を補正の対象に加えることにより、位置ずれを精度良く補正することができる。
【0116】
図16に示す画像読み取り部Bは、第1の実施例と同様のものである。図16において、第1の実施例と異なる点は、回転方向に対する位置ずれ検出を行うために座標回転変換回路8が追加されている点と、位置ずれ検出の精度を向上させるために遅延回路9が追加されている点である。尚、この遅延回路9は、第1及び第2の実施例においても、位置ずれの補正精度を向上させる効果を有する。この効果については後述する。
【0117】
図16に示す画像処理装置は、ライン単位で得られる走査位置座標300と、走査位置に対応する画像データ400とを画像読み取り部Bから順次入力する。ラインイメージセンサ1のアナログ出力はアンプ102で増幅され、A/D変換器103でデジタル画像データに変換される。デジタル画像データは、画像バッファ4に一時記憶される。画像バッファ4は、走査位置座標300と同期して対応する画像データ400を出力する。
【0118】
補正量算出回路73は、画像相関回路72から出力されるオフセット値702を累積して保持する。
位置補正回路74は、位置誤差を累積して保持している補正量算出回路73から出力される位置補正量703によって走査位置座標300の位置ずれを補正し、補正走査位置座標710として出力する。
【0119】
遅延回路9は、走査ライン単位で、補正走査位置座標710と補正走査位置座標710に対応する走査ラインの画像データ400とを遅延させる。
写像回路5は、遅延された補正走査位置座標710の座標データ92から、1走査ラインの各画素データ61(Pn)のメモリアドレス62(ADRn)を生成し、画像メモリ6の平面画像データの格納領域(メモリ65)に、遅延された画像データ91のうち写像対象となる画素データ61(Pn)を格納する。
【0120】
ここで、第1の実施例と同様に、画像メモリ6を図7に示すような構成にすると、画像データの走査確認情報を保持する書き込みフラグの記憶ビット(ビット7)がメモリ66に相当し、画像データの記憶ビット(ビット0〜6)がメモリ65に相当する。従って、重なり領域検出回路71は、メモリ66のメモリアドレス62(ADRn)に格納されている走査確認情報から、重複して走査する重なり領域を判定し、重なり走査領域の判定信号701を出力する。
【0121】
判定信号701は、画素Pnの書き込みフラグ(ビット7)をチェックし、この画素データ61(Pn)のアドレス62(ADRn)に画像データが格納済みかどうかを判定する。画素データ61(Pn)のビット7が1の場合には、ラインイメージセンサ1の読み取り走査によって画像データがすでにメモリアドレス62(ADRn)に格納されていることを示しているので、画素データ61(Pn)は重なり走査領域に含まれると判定される。また、画素データ61(Pn)のビット7が0の場合には、画素データ61(Pn)は新規走査領域に含まれると判定される。重なり領域検出回路71は、判定信号701を画像相関回路72と写像回路5に出力する。ここで、判定信号701は、画素データ61(Pn)が新規走査領域に含まれる場合に「0」となり、重なり走査領域に含まれる場合に「1」となる信号である。
【0122】
写像回路5は、判定信号701が「0」の場合に、画素データ61(Pn)をメモリ65に格納する。また、写像回路5は、判定信号701が「1」の場合には画素データ61(Pn)をメモリ65に格納しない。この1画素単位の一連の処理動作を、1走査ラインの画像データ91の全画素について行う。
【0123】
座標回転変換回路8は、補正走査位置座標710[Ps−Pe]に対して微小角△φを振った傾き方向の相関座標800を、画像相関回路72に1走査ライン単位で出力する。
【0124】
画像相関回路72は、相関座標800の座標データから、1走査ラインの各相関検出の対象画素Pnの相関検出アドレス63を生成し、画像メモリ6の平面画像データの格納領域(メモリ65)から格納済みデータ64を読み出し、同時に、格納済みデータ64に対応する走査確認情報をメモリ66から読み出し、重なり領域検出回路71に出力する。
【0125】
重なり領域検出回路71は、メモリ66の走査確認情報から、重複して走査する重なり領域を判定し、重なり走査領域の判定信号701を出力する。
画像相関回路72は、判定信号701が「1」の場合に画素Pnについての相関値算出処理を行い、判定信号701が「0」の場合には画素Pnについての相関値算出処理を行わない。
【0126】
図17に示すように、画像相関回路72において、走査位置座標300[Ps−Pe]に対して微小角△φを振った傾き方向の相関座標[Ps−Pe(±△φ)]又は相関座標[Ps(±△φ)−Pe]の相関検出処理を加えて行うことにより、回転方向の位置ずれが検出され、さらに精度の高い位置ずれ補正が実現される。この場合、上記第1の実施例の相関テーブル値h(m,n)と組み合わせれば、相関テーブル値はh(l,m,n)となる。ここで、lは、−1、0、1の値をとるものとする。角度方向(回転方向)に3通り、位置方向(X、Y方向)に9通りの計27通りの相関テーブルが作成される。相関テーブルの最小値がh(l,m,n)の場合、角度の補正量△φoffsetはl・△φという計算を行うことによって生成される。ここで、△φは、例えば0.2度である。尚、l、m、nの値は特定されるものではなく、要求される位置ずれの補正精度によって設定される値である。l、m、nの値を大きくすれば、相関を行う領域が広くなり、補正精度が向上する。
【0127】
図16に示すように、位置ずれの回転方向を検出するために、補正走査位置座標710の座標を座標上で座標回転変換回路8により回転変換し、走査位置座標300[Ps−Pe]に対して微小角△φを振った傾き方向の相関座標800[Ps−Pe(±△φ)]又は相関座標800[Ps(±△φ)−Pe]を出力する。
【0128】
画像相関回路72は、回転変換によって微小角△φを振った傾き方向のそれぞれの相関座標800に従って、上記(数10)〜(数12)の演算を繰り返すことにより、27通りの相関テーブル67を作成する。ここで、l、m、nは、それぞれ−1、0、1の値をとるものとする。
【0129】
この相関テーブル67から、位置ずれを補正するオフセット値702が検出される。
画像相関回路72は、1走査ラインの各角度に対して相関値の計算が終了した時点で、h(l,m,n)の最小値を保持する(lmin ,mmin ,nmin )を検索し、オフセット値702として補正量算出回路73に出力する。相関テーブル67中に複数の最小値が存在し、その最小値に(lmin ,mmin ,nmin )=(0,0,0)が含まれる場合には、(0,0,0)の最小値が優先して用いられる。相関テーブル67中の相関値h(lmin ,mmin ,nmin )が最も小さいということは、(△φ×lmin ,△hx×mmin ,△hy×nmin )の微小値を各画素の座標に加算して写像した場合に、画像メモリ6中の格納データとこれから写像しようとするラインの画像データとの画像情報が最もよく一致することを示している。また、複数の最小値が存在し、その最小値に相関窓の中心が含まれる場合には、オフセット値702のX方向、Y方向は0とする。例えば、3×3の相関窓を設定すれば、h(l,0,0)が相関窓の中心となる。
【0130】
補正量算出回路73は、オフセット値702(lmin ,mmin ,nmin )を用いて下記(数14)に示す演算を行う。ここで、オフセット値702を、△X=△hx×mmin 、△Y=hy×nmin 、△Ψ=△φ×lmin とする。
【0131】
【数14】
Figure 0003602884
【0132】
上記(数14)において、サフィックスiは、画像データ400のiライン目の相関テーブル完成時における位置補正量703を表わす。
位置補正回路74は、走査位置座標300に(△Xoffset,△Yoffset,△φoffset)を加算することにより、走査位置座標300の補正を行い、補正走査位置座標710として出力する。
【0133】
位置補正回路74に入力されるiライン目の走査位置座標300をPs(Xs,Ys)、Pe(Xe,Ye)とし、位置補正量703を△Xoffset、△Yoffset、△φoffsetとする。位置補正回路74は、走査位置座標300を用い、下記(数15)によって補正走査位置座標710のPsh(Xsh,Ysh)、Peh(Xeh,Yeh)を算出する。
【0134】
【数15】
Figure 0003602884
【0135】
ここで、座標上の回転中心を常に座標Psとする。また、arcsin[ ]は、アークサインの演算を行う関数である。また、Ndは、ラインイメージセンサ1の1ラインの読み取り画素数である。尚、座標上の回転中心を座標Peとしてもよい。また、座標上の回転中心を座標Psとする回転変換と、座標上の回転中心を座標Peとする回転変換との両方を行ってもよい。両方を行うことにより、両車輪31、32に対応した位置ずれを検出することができる。
【0136】
次に、遅延回路9によって位置ずれの補正精度を向上させる方法について、図14、図16、図18を用いて説明する。図18は図16に示す遅延回路の動作説明図である。
【0137】
図14に示す分割位置補正量(分割制御あり)705は、位置補正量(分割制御なし)703と異なり、オフセット値702に相当する補正値が段階的に変化するため、画像相関の検出位置から可変制御される間の走査ライン数に相当する走査領域において必要な補正量が不足してしまう。そして、このように補正量が不足すると、位置誤差をキャンセルするための補正値が不足するため、位置ずれ検出位置で接続ずれが残ってしまう。
【0138】
このような補正量が不足する状態を回避するために、遅延回路9において、補正走査位置座標710と画像データ400を、分割位置補正量705が可変制御される間の走査ライン数に相当する分だけ遅延させ、写像回路5において、写像位置と画像相関回路72で検出される位置ずれの検出位置とを異ならせる。
【0139】
図14においては、位置ずれの検出位置と、分割位置補正量705が位置補正量703と同じになる位置とが4ラインずれているので、遅延回路9は補正走査位置座標710と画像データ400を4ライン分だけ遅延させる。この遅延によって、写像回路5における写像位置では、位置補正量703と同じ分割位置補正量705が得られる。これにより、位置誤差をキャンセルするための補正値が確保され、位置ずれの補正精度がさらに向上する。
【0140】
また、図18に示すように、ラインイメージセンサ1の読み取り領域には、手動走査される位置において、領域a、領域b、領域aと領域bとの混在という3つの状態が発生する。新規走査領域では常に領域bの状態であり、重なり走査領域と新規走査領域とが混在する領域では領域aと領域bとが混在し、重なり走査領域だけでは領域aのみとなる。
【0141】
ここで、領域aでは、位置ずれ検出を行う場合の相関検出ウインド内の位置で、メモリ65(図16)の平面画像データの格納状態は状態1となる。この状態1においては、着目画素位置の周辺にすべて格納データが存在することから、位置ずれ検出を行うための相関値を検出することができる。
【0142】
一方、領域bでは、位置ずれ検出を行う場合の相関検出ウインド内の位置で、メモリ65の平面画像データの格納状態は状態2となる。この状態2においては、着目画素位置の周辺に格納データが存在する位置と存在しない位置とが混在している。このため、この相関検出ウインド内で位置ずれ検出を行った場合には、相関値に偏りが発生してしまう。なぜなら、格納データが存在する位置では、平面画像データと格納データの画像情報から相関値を生成することができるが、格納データが存在しない位置では、格納データがないために、初期化されているデータと平面画像データとから相関値を生成することとなるからである。この異なるデータに基づいて生成された相関値から位置ずれを検出すると、検出誤差が生じてしまう。
【0143】
検出誤差をなくすために、メモリ66の走査確認情報を用いる。走査確認情報によって相関検出ウインド内の位置で1箇所でも未格納画素があると判定された場合(すなわち、状態2である場合)には、相関値を生成しない。未格納画素があるかどうかの判定は、重なり領域検出回路71で検出される判定信号701を用いて行われる。これにより、相関値の偏りをなくすことができるので、位置ずれ検出の精度が向上する。
【0144】
図16に示す遅延回路9を用いて、写像位置と位置ずれの検出位置とを異ならせ、位置ずれの検出位置をラインイメージセンサ1の移動方向に対して先行させることにより、リアルタイム処理で位置ずれの補正精度を向上させることができる。
【0145】
ところで、リアルタイム処理においては、写像処理と位置ずれ検出とを平行して行った場合に、着目画素周辺に新規に写像して格納される画素が頻繁に発生するので、相関値が新規写像画素の影響を受ける。また、手動走査時の手ぶれなどによって検出位置が前後すると、さらに新規写像画素の影響が大きくなり、位置ずれの検出精度が低下する。このため、写像位置と位置ずれの検出位置とを異ならせ、位置ずれの検出位置をラインイメージセンサ1の移動方向に対して先行させることにより、新規写像画素の影響を抑えて位置ずれの検出精度を向上させることができる。
【0146】
以上のように、本実施例の画像処理装置の構成によれば、車輪の滑り、車輪間の径の精度誤差、車輪間の距離の精度誤差、車輪の原稿への沈み込みなどの要因によって起こる回転方向に対する位置ずれの補正を加えることにより、走査位置座標300の位置誤差が精度良く補正される。
【0147】
さらに、遅延回路9によって補正走査位置座標710と画像データ400を遅延させ、写像位置と位置ずれの検出位置とを異ならせることにより、写像位置で位置誤差をキャンセルするための補正値が確保されるので、位置ずれの補正精度がさらに向上する。また、直前に写像したラインのデータが相関値に影響するのを防ぐことができるので、位置ずれの補正精度が向上する。
【0148】
尚、上記第1〜第3の実施例においては、入力画像データ及び走査位置座標を、ラインイメージセンサ1の両端位置に装備された2個の車輪31、32の回転に伴ってパルスを発生させる2つのエンコーダ2a、2bを用いるハンドスキャナから入力することとしているが、必ずしもこの構成に限定されるものではない。例えば、タブレット若しくは基準格子が印刷されたシートを補助装置として用い、ラインイメージセンサ1の両端位置を検出することによって走査位置座標と画像データとを得るハンドスキャナから入力する構成としてもよい(例えば、米国特許第4、260、979号、米国特許第4,581,761号)。
【0149】
また、上記第1〜第3の実施例においては、ラインイメージセンサ1を用いたハンドスキャナから入力される画像信号を処理する画像処理装置を例に挙げて説明しているが、画像入力装置としては必ずしもハンドスキャナに限定されるものではない。例えば、エリアイメージセンサを用いた画像入力装置からの画像信号を処理するものであってもよい。
【0150】
また、上記第1〜第3の実施例と同様の処理を、パーソナルコンピュータ、MPU(マイクロプロセッサユニット)やDSP(ディジタルシグナルプロセッサ)を用い、ソフトウエアによって実現してもよい。
【0151】
また、図19(a)に示すように、本発明の画像処理装置は、読み取り範囲の限定された小型の入力装置1004によって画像を入力し、原稿1000上の部分画像を接続合成して大画面の平面画像を作成する。従って、本発明の画像処理装置を携帯型情報機器の本体1001に搭載すれば、小型の入力装置1004を有する携帯型情報機器であっても大きな原稿の画像入力を行うことが可能となる。例えば、携帯FAX、携帯情報端末、携帯スキャナなどに最適である。尚、図19中、1002は表示装置であり、液晶パネル、CRTなどによって構成される。そして、入力装置1004によって読み取られた画像データは、内部の画像メモリ6に格納され、画像メモリ6上で接続合成された画像を表示する。また、図20に示すように、入力装置1004を小型化できることから、携帯端末の本体1001と一体にして使用することもできる。また、図20に示す入力装置1004は、図22に示すように、携帯端末の本体1001から自由に着脱可能な構成としてもよい。入力装置1004には、標準的なI/F(インタフェース)仕様を満足するICカード1003が備えられており、本体1001のICカードスロット1007に挿入することにより、データの転送、制御が可能となる。さらに、入力装置1004にはロックピン1008a、1008bが設けられており、このロックピン1008a、1008bを本体1001のピン挿入穴1009a、1009bにそれぞれ差し込むことにより、入力装置1004が携帯端末の本体1001に固定される。ここで、入力装置1004には、図16に示したラインイメージセンサ1と車輪31、32が装着されている。これにより、タブレットなどの補助装置が不要となり、小型で、操作性に優れた入力装置が実現される。また、携帯端末の本体1001の代わりにパーソナルコンピュータを用いれば、小型で、操作性に優れ、しかも大画面の入力が可能な入力装置が実現される。
【0152】
また、図19(e)に示すように、本発明の画像処理装置は、検出した走査位置座標の位置ずれを累積しながら補正を行うものであるため、累積位置誤差の大きい入力装置1004を用いても、位置ずれを補正して接続ずれのない画像を生成することができる。従って、上記第1〜第3の実施例で用いたように、ラインイメージセンサ1の両端位置に装備された2個の車輪31、32の回転に伴ってパルスを発生させる2つのエンコーダ2a、2bを用いるハンドスキャナに搭載すれば、一層大きな効果が得られる。タブレット若しくは基準格子が印刷されたシートを補助装置として用いるハンドスキャナに比較して、高価な補助装置を必要としないので、小型で、携帯性、操作性などに優れた画像処理装置を実現することができる。さらには、厚い書籍を読み取ることもできる。ここで、入力装置1004は、例えば、図16に示す画像読取り部Bを有するスキャナである。
【0153】
【発明の効果】
以上説明したように、本発明に係る画像処理装置の第1の構成によれば、入力した走査位置に位置誤差が含まれていても、重複して走査する重なり走査領域内の画像データと格納データとの画像情報から走査位置の位置ずれを検出して、位置ずれを補正することができる。そして、この補正した走査位置に基づいて画像データを画像メモリに格納することにより、走査位置に位置誤差によって生じる画像の接続ずれを防止し、画像メモリ内で接続された平面画像の画像歪みを低減することができる。
【0154】
また、前記本発明の画像処理装置の第1の構成において、補正値を所定の割合で可変する補正制御手段がさらに備わり、補正手段は、所定の割合で可変された前記補正値に基づいて走査位置を補正するという好ましい例によれば、位置ずれを補正する補正値を所定の割合で可変制御し、補正された走査位置に基づいて画像データを画像メモリに格納することができるので、走査位置の補正によって生じる画像メモリ内の画像データが格納されない領域の発生が抑制される。また、走査位置が急激に補正されないことから、画像データと格納データとの画像情報から位置ずれを検出する場合の相関値の検出範囲を小さくすることができるので、回路の小型化が図られる。さらには、画像メモリ内の画像データが格納されない領域の発生(写像抜け)が防止されることから、重複した走査領域内の画像データと格納データとの画像情報から位置ずれを検出する際の相関値の誤差を小さくすることができるので、位置ずれ検出の精度が向上する。
【図面の簡単な説明】
【図1】本発明の第1の実施例における画像処理装置及び原稿画像を読み取り走査する画像読み取り部を示すブロック図である。
【図2】本発明の第1の実施例における位置検出回路の動作説明図である。
【図3】本発明の第1の実施例におけるラインイメージセンサの両端部読み取り画素の座標算出を示す説明図である。
【図4】本発明の第1の実施例におけるラインイメージセンサの走査領域の説明図である。
【図5】本発明の第1の実施例における位置ずれ検出回路を示すブロック図である。
【図6】本発明の第1の実施例における写像回路を示すブロック図である。
【図7】本発明の第1の実施例における画像メモリの説明図である。
【図8】本発明の第1の実施例における相関テーブルの説明図である。
【図9】本発明の第1の実施例における画素密度変換の説明図である。
【図10】本発明の第1の実施例における画像メモリのアドレス配置図である。
【図11】本発明の第1の実施例における高密度化画像データの画像メモリへの写像動作の説明図である。
【図12】本発明の第2の実施例における分割制御回路を含む位置ずれ検出回路のブロック図である。
【図13】本発明の第2の実施例における分割制御回路のタイミングチャート図である。
【図14】本発明の第2の実施例における位置補正量と分割位置補正量との違いを示す説明図である。
【図15】本発明の第2の実施例における画像メモリのデータの格納状態の説明図である。
【図16】本発明の第3の実施例における画像処理装置及び原稿画像を読み取り走査する画像読み取り部を示すブロック図である。
【図17】本発明の第3の実施例における角度補正の説明図である。
【図18】本発明の第3の実施例における遅延回路の動作説明図である。
【図19】走査位置の位置ずれによる読み取り画像の接続ずれの説明図である。
【図20】本発明の第3の実施例における携帯端末機器の一実施例を示す斜視図である。
【図21】本発明の第3の実施例における携帯端末機器の他の実施例を示す分解斜視図である。
【図22】従来技術における写像抜け状態の一例を示す説明図である。
【図23】従来技術における写像抜け状態の他の例を示す説明図である。
【符号の説明】
1 ラインイメージセンサ
2a、2b エンコーダ
3 走査位置検出回路
4 画像バッファ
5 写像回路
6 画像メモリ
7 位置ずれ検出回路
8 座標回転変換回路
9 遅延回路
31、32 車輪
33、35 位置カウンタ
37 位置座標検出回路
51 画素密度変換回路
52 座標値算出回路
53 整数化回路
54 アドレス生成回路
55 誤差算出回路
65、66 メモリ
67 相関テーブル
71 重なり領域検出回路
72 画像相関回路
73 補正量算出回路
74 位置補正回路
75 分割制御回路
1001 携帯端末の本体
1004 入力装置
1007 ICカードスロット
1008a、1008b ロックピン
1009a、1009b ピン挿入穴[0001]
[Industrial applications]
The present invention provides an image processing apparatus for storing image data read by scanning a document image in an image memory based on a scanning position corresponding to the image data. In place Related.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in a hand scanner that manually scans a document manually to read a document image, a scanning position of a reading sensor on the document is sequentially detected, and image data is stored in an image memory based on the detected scanning position. Was.
[0003]
As a method of detecting the scanning position of the reading sensor on the document, a sheet on which a reference grid is printed is used as an auxiliary device, and the sheet placed on the document is integrated with a reading sensor that detects the reference grid. There is a method of calculating the position of image data with respect to a reference grid from the output of the light sensing element by scanning with the light sensing element (for example, US Pat. No. 4,260,979).
[0004]
In addition, using a tablet as an auxiliary device, by scanning a document placed on the tablet with a detection coil integrated with a reading sensor, the coordinate position on the tablet is detected from the output of the detection coil, There is a method of calculating the position of image data based on the detected coordinate position (for example, US Pat. No. 4,581,761).
Also, the position of the reading sensor is detected from the output of an encoder that is attached to a wheel that moves integrally with the reading sensor and generates a pulse with the rotation of the wheel, and calculates the position of the image data based on the detected position. There is a method (for example, JP-A-62-15964).
[0005]
If an image processing device that calculates the position on the coordinates of the image data based on the scanning position detected by these conventional detection methods and stores the calculated position at a predetermined address in the image memory is used, the influence of camera shake and meandering due to manual scanning can be reduced. Since it can be eliminated, no image distortion occurs in the data stored in the image memory.
[0006]
[Problems to be solved by the invention]
However, the conventional configuration described above has the following problems.
When using an auxiliary device such as a sheet or tablet on which a reference grid is printed, precise processing and an expensive correction circuit are required to increase the scanning position detection accuracy and reduce the absolute position error. Get higher. In addition, when an auxiliary device with low accuracy is used, a large absolute position error occurs in the detected scanning position.
[0007]
On the other hand, when using an encoder that is attached to a wheel that moves together with the reading sensor and generates a pulse with the rotation of the wheel, scanning is performed by counting pulses of the encoder that are sequentially detected with the scanning start position as a reference point. Since the position is calculated, a large accumulated position error occurs due to mechanical accuracy, wheel slip, and the like.
[0008]
When the absolute position error or the accumulated position error of the detected scanning position becomes large, a large position error occurs between the original scanning position on the document which is actually scanned by the reading sensor (hereinafter, this position error is referred to as the position error). "Position shift.")
[0009]
If the position on the coordinates of the image data is calculated based on the displaced scanning position and stored at a predetermined address in the image memory, there is a problem that a large image distortion occurs in the planar image reproduced on the image memory. The image distortion of the planar image due to the displacement will be described with reference to FIGS.
[0010]
As shown in FIG. 19B, a case where the original 1000 is freely scanned by the hand scanner 1004 will be described. As shown in FIG. 19C, a large screen on the document 1000 cannot be read by a small hand scanner that reads only one direction. However, since image data is stored in the image memory only in the reading range of the sensor in one direction, no connection deviation occurs. As shown in FIG. 19D, in a hand scanner that reads a large screen on a document 1000 by one-stroke reciprocal scanning, when image data is stored in an image memory based on a shifted scanning position, an image connection unit Causes a displacement, and the image is distorted. In particular, in a scanner that generates an accumulated position error, as the scanning range becomes wider, the position shift becomes more serious, and the image itself cannot be read.
[0011]
Next, a problem in storing image data in the image memory will be described.
As shown in FIG. 22, if there is a location (image data storage pixel) 2002 where image data is stored in the image memory 2001 and a location 2003 where image data is not stored (hereinafter, referred to as a “mapping missing area”) 2003, black appears. In the solid region, white streaks become noticeable and the image quality is significantly degraded. In addition, as shown in FIG. 23, when the mapping missing area occurs in the character area, the quality of the character is significantly deteriorated, such as white streaks in the character.
[0012]
The present invention solves the above-mentioned problem in the prior art, and corrects a position shift even if an error is included in a detected scanning position, and prevents the occurrence of a mapping missing area caused by the position shift correction. Image processing device that can generate a high-quality connection image with no connection deviation. Place The purpose is to provide.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, an image processing apparatus according to the present invention First The configuration is By line image sensor An image processing apparatus for sequentially inputting image data read by scanning a document image and a scanning position corresponding to the image data, and storing the image data in an image memory based on the scanning position. In the overlapping scanning area where scanning is performed, the displacement of the scanning position is determined from the image data and the storage data stored in the image memory. At a predetermined thinned line position Detect and calculate a correction value for correcting the displacement. Sequentially for each line At least a displacement detecting unit for outputting, a correcting unit for correcting the scanning position based on the correction value, and a mapping unit for storing the image data in the image memory based on the corrected scanning position. It is characterized by.
[0014]
The present invention Image processing Equipment First In the configuration, it is preferable that a correction control unit that changes the correction value at a predetermined ratio is further provided, and the correction unit corrects the scanning position based on the correction value changed at a predetermined ratio. Further, in this case, the correction control means sets a value obtained by dividing the correction value from the displacement detection means as a variable control amount, and varies the correction value stepwise at a predetermined ratio every time the scanning position is different. Is preferred.
[0018]
Further, the present invention Image processing Equipment First In the configuration, it is preferable that the correction unit includes a holding unit that generates a cumulative correction value obtained by accumulating the correction values output from the displacement detection unit, and corrects the scanning position based on the cumulative correction value.
[0019]
Also, Second configuration of image processing apparatus according to the present invention Is An image processing apparatus for sequentially inputting image data read by scanning a document image and a scanning position corresponding to the image data, and storing the image data in an image memory based on the scanning position. A displacement detection unit that detects a displacement of the scanning position from the image data and the stored data stored in the image memory and outputs a correction value for correcting the displacement, A correction unit that corrects the scanning position based on the correction value, and a mapping unit that stores the image data in the image memory based on the corrected scanning position, and The mapping means includes a pixel density conversion means for increasing the density of image data by interpolation from adjacent pixels, and a real coordinate value of each pixel in the image data of which density has been increased on a document based on a scanning position. Means for calculating a predetermined pixel density as a unit, real number coordinate values on the document, integer conversion means for converting into integer coordinate values using the predetermined pixel density as a unit, Means for calculating a resulting coordinate error value; and Said Means for converting to an address of an image memory, and means for comparing the magnitude of the coordinate error value with a predetermined value, wherein only pixels whose magnitude of the coordinate error value is equal to or less than the predetermined value are included. Is stored in the address of the image memory. Characterized by .
Further, in the second configuration of the image processing apparatus of the present invention, The pixel density conversion means includes means for generating an interpolated pixel by using the pixel to be processed and neighboring pixels around the pixel, and preferably converts the image data to twice the pixel density by the means. Pixel P i, j (However, the image data indicates the j-th pixel data of the i-th image data in the image data.) i, j + 1 , P i-1, j , P i-1, j + 1 And the interpolation pixel Q i, j , R i, j , S i, j Is preferably calculated.
Also, In a second configuration of the image processing apparatus of the present invention, The predetermined value is preferably 0.3 to 0.35 in units of a predetermined pixel density.
[0022]
[Action]
The present invention Image processing Equipment First According to the configuration By line image sensor An image processing apparatus for sequentially inputting image data read by scanning a document image and a scanning position corresponding to the image data, and storing the image data in an image memory based on the scanning position. In the overlapping scanning area where scanning is performed, the displacement of the scanning position is determined from the image data and the storage data stored in the image memory. At a predetermined thinned line position Detect and calculate a correction value for correcting the displacement. Sequentially for each line It comprises at least a displacement detecting means for outputting, a correcting means for correcting the scanning position based on the correction value, and a mapping means for storing the image data in the image memory based on the corrected scanning position. Accordingly, even if the input scanning position includes a position error, the position deviation of the scanning position is detected from the image information of the image data in the overlapping scanning region and the storage data which are scanned in an overlapping manner, and the position deviation is detected. Can be corrected. Then, by storing the image data in the image memory based on the corrected scanning position, it is possible to prevent the connection deviation of the image caused by the position error in the scanning position and reduce the image distortion of the planar image connected in the image memory. can do.
[0023]
The present invention Image processing Equipment First According to a preferred embodiment, the configuration further includes a correction control unit that changes the correction value at a predetermined ratio, and the correction unit corrects the scanning position based on the correction value that is changed at a predetermined ratio. Can be variably controlled at a predetermined ratio, and the image data can be stored in the image memory based on the corrected scanning position. Therefore, the image data in the image memory caused by the correction of the scanning position is not stored. Generation of a region is suppressed. Further, since the scanning position is not sharply corrected, the detection range of the correlation value when detecting a positional deviation from the image information of the image data and the stored data can be reduced, so that the circuit can be downsized. Further, since the occurrence of an area where image data is not stored in the image memory (mapping loss) is prevented, the correlation when detecting a positional shift from the image information of the image data in the overlapping scanning area and the stored data is prevented. Since the error of the value can be reduced, the accuracy of detecting the displacement can be improved.
[0027]
Further, the present invention Image processing Equipment First According to a preferred example, the correction means includes a holding means for generating a cumulative correction value obtained by accumulating the correction values output from the positional deviation detecting means, and correcting the scanning position by the cumulative correction value. By accumulating the correction values that eliminate the error, the correction processing of the scanning position including the accumulated error can be realized with a small circuit. This is because a position shift is detected centering on the accumulated correction position, so that the position shift detection range can be reduced.
[0028]
Also, According to the second configuration of the image processing apparatus according to the present invention, , An image processing apparatus for sequentially inputting image data read by scanning a document image and a scanning position corresponding to the image data, and storing the image data in an image memory based on the scanning position. A displacement detection unit that detects a displacement of the scanning position from the image data and the stored data stored in the image memory and outputs a correction value for correcting the displacement, A correction unit that corrects the scanning position based on the correction value, and a mapping unit that stores the image data in the image memory based on the corrected scanning position, and The mapping means is a pixel density conversion means for increasing the density of image data by interpolation from adjacent pixels, and a real number coordinate value of each pixel in the density-enhanced image data on the document based on the scanning position. Means for calculating a predetermined pixel density as a unit, real number coordinate values on the document, integer conversion means for converting into integer coordinate values using the predetermined pixel density as a unit, Means for calculating a resulting coordinate error value; and Said Means for converting to an address of an image memory, and means for comparing the magnitude of the coordinate error value with a predetermined value, wherein only pixels whose magnitude of the coordinate error value is equal to or less than the predetermined value are included. Is stored in the address of the image memory. By doing so Since pixel data having a small error with respect to the storage address can be selected and stored in the image memory, the reproduction quality of the stored image is improved. And If this stored data is used for detecting the displacement, a connected composite image with small distortion can be obtained, and the quality of the planar image is improved.
Further, in the second configuration of the image processing apparatus of the present invention, According to a preferred example, the pixel density converting means includes means for generating an interpolated pixel using the pixel to be processed and neighboring pixels around the pixel, and the image data is converted into a double pixel density by the means. By increasing the density, the reproduction quality of the image is improved. Further, the interpolation processing is performed by a power of 2 (2 n ), The circuit can be configured by bit shift, thereby simplifying the circuit. In this case, the pixel to be processed P i, j (However, the image data indicates the j-th pixel data of the i-th image data in the image data.) i, j + 1 , P i-1, j , P i-1, j + 1 And the interpolation pixel Q i, j , R i, j , S i, j According to a preferable example of calculating the predetermined pixel, a predetermined interpolation pixel can be easily generated.
Also, In the second configuration of the image processing apparatus of the present invention, According to a preferred example in which the predetermined value is 0.3 to 0.35 in units of a predetermined pixel density, it is possible to eliminate mapping omission pixels.
[0031]
【Example】
Hereinafter, the present invention will be described more specifically with reference to examples.
<First embodiment>
First, an image processing apparatus according to a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating an image processing apparatus and an image reading unit that reads and scans a document image according to a first embodiment of the present invention. In FIG. 1, A indicates an image processing device, and B indicates an image reading unit.
[0032]
As shown in FIG. 1, the line image sensor 1 generates image data by scanning the document 9 manually and reading the document image. Then, the generated image data is output to the image buffer 4.
[0033]
As shown in FIG. 16, an image reading unit B for reading and scanning a document image includes a housing 104 of a hand scanner main body to which the line image sensor 1 is attached, and two housings provided at both ends of the line image sensor 1. The vehicle includes wheels 31, 32 and encoders 2a, 2b attached to the wheels 31, 32, respectively, for detecting rotation of the wheels 31, 32. Each of the encoders 2a and 2b generates two-phase A-phase and B-phase pulses having phases different from each other by 90 degrees according to the rotation angles of the wheels 31 and 32. Then, using the A-phase pulse and the B-phase pulse, the rotation direction of the wheels 31, 32 is detected. Since the phases of the A-phase pulse and the B-phase pulse are different by 90 degrees, the level of the A-phase pulse detected by the rise of the B-phase pulse is “H” level and “L” level depending on the rotation direction of the wheels 31 and 32. Is identified. Assuming that the “L” level of the identified signals 341 and 361 is the forward direction (UP direction) of the wheels 31 and 32, the “H” level is the backward direction (DOWN direction) of the wheels 31 and 32. The position counters 33 and 35 increase the count value according to the number of B-phase pulses when the signals 341 and 361 are at the “L” level, and count according to the number of B-phase pulses when the signals 341 and 361 are at the “H” level. Decrease the value. The position coordinate detection circuit 37 receives the count values 331 and 351 from the position counters 33 and 35 and detects the moving distance of each of the wheels 31 and 32 in consideration of the rotation direction of the wheels 31 and 32.
[0034]
Next, as shown in FIG. 1, the scanning position detection circuit 3 calculates the coordinates of the wheels 31, 32 on the document 9 based on the moving distance of the wheels 31, 32. Further, the scanning position detection circuit 3 converts the coordinates of each wheel 31, 32 into the coordinates of each read pixel at both ends of the line image sensor 1, and outputs the coordinates to the displacement detection circuit 7 as the scanning position coordinates 300. As shown in FIG. 16, the scanning position detection circuit 3 includes a position coordinate detection circuit 37 and position counters 33 and 35, and details of the operation will be described later.
[0035]
The mapping circuit 5 performs pixel density conversion on the image data 400 output from the image buffer 4 and outputs high-density image data 500. The displacement detection circuit 7 calculates a correlation value between the high-density image data 500 output from the mapping circuit 5 and the data stored in the image memory 6. Further, the position shift detection circuit 7 corrects the scanning position coordinates 300 using the position correction amount calculated based on the correlation value, and outputs the result to the mapping circuit 5 as corrected position coordinates 710. Further, the mapping circuit 5 generates an address of the image memory 6 using the corrected position coordinates 710 output from the position shift detection circuit 7. Then, the mapping circuit 5 stores each pixel data of the high-density image data 500 in the image memory 6 via the bus 600. Details of the operations of the mapping circuit 5 and the displacement detection circuit 7 will be described later.
[0036]
Next, the operation of the scanning position detection circuit 3 will be described in more detail.
FIG. 2 is an explanatory diagram of the operation of the scanning position detection circuit. In FIG. 2, the bold lines indicate the movement trajectories of the two wheels 31 and 32. The coordinates indicating the positions of the two wheels 31 and 32 when the line image sensor 1 (FIG. 1) reads the pixel data of the i-th line are represented by P0 and P0, respectively. i (X0 i , Y0 i ), P1 i (X1 i , Y1 i ). Now, P0 i-1 , P1 i-1 Is known, P0 i And P1 i Are approximately calculated using the following (Equation 2).
[0037]
(Equation 2)
Figure 0003602884
[0038]
Here, “·” is an operation for performing multiplication, and “/” is an operation for performing division. Hereinafter, "." Is used as an operator indicating multiplication, and "/" is used as an operator indicating division. L0 i-1 Is the distance traveled by the wheels 31, 32 from the start of reading to the time of reading the (i-1) th line. △ L0 i Is the distance traveled by the wheels 31, 32 from the start of reading the (i-1) line to the time of reading the i line. The moving distance can be a negative value because the rotation direction of the wheels 31 and 32 is taken into account. Further, the moving distance of the wheels 31 and 32 on the document 9 is calculated by calculating P × N using the number of pulses N of the encoders 2a and 2b and the resolution P per inch (inch / 1 pulse) shown in FIG. Obtained by The position coordinate detection circuit 37 reads the count values 331 and 351 of the position counters 33 and 35 in synchronization with the reading cycle of the line image sensor 1, and calculates the difference between the count values detected at the i-th line and the (i-1) -th line. From the moving distance ΔL0 on the document 9 including the rotation direction of the wheels 31 and 32 i Is detected. D is the distance between the wheels 31 and 32. The above (Equation 1) is: △ θ = | θ i −θ i-1 | = | △ L0 i -△ L1 i This is an approximate calculation with | / D set to 0. Δθ is a change angle of the line image sensor 1 during one line scanning time of the line image sensor 1. By using the above (Equation 1), if the coordinates of the two wheels 31, 32 at the time of starting reading are determined, the coordinates can be calculated from the moving distance of the two wheels 31, 32.
[0039]
FIG. 3 is an explanatory diagram for calculating coordinates of read pixels at both ends of the line image sensor. Let the coordinates of the wheel 31 be P0 (X0, Y0) and the coordinates of the wheel 32 be P1 (X1, Y1). The coordinates Ps (Xs, Ys) and Pe (Xe, Ye) of the pixels at both ends of the line image sensor 1 are calculated by the following (Equation 3).
[0040]
(Equation 3)
Figure 0003602884
[0041]
Here, D is the distance between the wheel 31 and the wheel 32, d1 is the distance from the wheel 31 to the read pixel Ps, and d2 is the distance from the wheel 31 to the read pixel Pe.
The scanning position detection circuit 3 calculates the above (Equation 2) and (Equation 3) by using the moving distances of the wheels 31 and 32 obtained from the two-phase pulses generated by the encoders 2a and 2b. Then, the coordinates Ps (Xs, Ys) and Pe (Xe, Ye) of the read pixels at both ends are output to the displacement detection circuit 7 as the scanning position coordinates 300.
[0042]
FIG. 4 is an explanatory diagram of a scanning area of the line image sensor. The movement of the line image sensor 1 by manual scanning when the width of the reading area of the document 9 is larger than the length of the line image sensor 1 will be described with reference to FIG. In order to read the original 9, the operator brings the hand scanner body into contact with the original 9 and performs manual scanning while reciprocating on the original 9. At this time, the two wheels 31, 32 attached to the hand scanner body rotate, and the encoders 2a, 2b output two-phase pulses. FIG. 4 shows a reading area on the document 9 read by the line image sensor 1.
[0043]
Since the line image sensor 1 cannot scan the entire width of the document 9, the image reading unit B (FIG. 1) reads the entire document 9 by the reciprocating motion of the line image sensor 1. FIG. 4 shows the position of only the pixels at both ends of the line image sensor 1, but the line image sensor 1 reads an image on a line connecting the pixels at both ends. For example, when the pixels at both ends of the line image sensor 1 are points A and B, respectively, the line image sensor 1 reads a line connecting the points A and B (hereinafter, this is referred to as a “read position AB”). It is written.).
[0044]
In FIG. 4, the line image sensor 1 scans to the reading position CD with the reading position AB as a scanning start position. Each pixel in the image data obtained by reading the area ABCD surrounded by the points A, B, D, and C is based on the scanning position coordinates 300 output from the scanning position detection circuit 3 (FIG. 1). As shown in FIG. 1, the image data is newly stored in the image memory 6. Hereinafter, such an area is referred to as a “new scanning area”.
[0045]
Next, the line image sensor 1 moves in the return direction and scans from the reading position CD to the reading position EF. An area CDGE surrounded by points C, D, G, and E is an area from which an image is read in an overlapping manner. Hereinafter, the area that is read redundantly is referred to as an “overlap scanning area”. An area DGF surrounded by points D, G, and F is a new scanning area. As described above, there are three scanning areas: the overlapping scanning area CDGE, the new scanning area ABGEC, and the new scanning area DFG.
[0046]
If there is no position error in the scanning position coordinates 300, each pixel in the read image data can be mapped and stored in the image memory 6 based on the scanning position coordinates 300. That is, even if the read image data of the overlapping scan area CDGE is overwritten in the image memory 6, the read image in the image memory 6 does not shift at the joint between the new scan area ABGEC and the overlap scan area CDGE. However, the mechanism design accuracy of the hand scanner, the slip between the wheels 31 and 32 and the document 9, the sinking of the wheels 31 and 32 into the document 9, and the width between the wheels 31 and 32 during the manual curve scanning. The scanning position coordinates 300 include a position error due to influence or the like. The scanning position detection circuit 3 counts the two-phase pulses output from the encoders 2a and 2b to obtain the moving distance of the encoders 2a and 2b, so that the position errors are accumulated. Therefore, when the image data 400 is mapped on the image memory 6 using the scanning position coordinates 300, an image shift occurs at the joint. Here, “mapping” refers to an operation of storing read image data at a predetermined address in the image memory 6.
[0047]
In order to eliminate this image shift, the position shift detection circuit 7 uses the image data stored in the image memory 6 of the overlap scanning area CDGE and the high-density image data 500 to calculate a correlation value indicating the degree of correlation between them. calculate. Further, the position shift detection circuit 7 calculates a position correction amount for correcting the scanning position coordinates 300 based on the correlation value. The position shift detection circuit 7 corrects the scanning position coordinates 300 according to the position correction amount, and outputs the result to the mapping circuit 5 as corrected position coordinates 710. The mapping circuit 5 generates an address for mapping each pixel in the high-density image data 500 to the image memory 6 according to the correction position coordinates 710, and stores the address in the image memory 6. The extraction of the overlap scanning area CDGE will be described later.
[0048]
FIG. 7 is an explanatory diagram of the image memory. The bit of each pixel of the image memory 6 is composed of a storage bit (bit 7) of a write flag that holds scanning confirmation information and a storage bit (bits 0 to 6) of image data. Here, the number of storage bits of the image data is not specified, and can be designed according to the required number of gradations. In the present embodiment, it is assumed that an image of 128 gradations is handled, and 7 bits per pixel are secured in the image memory 6 in order to store density data having a value of 0 to 127. The write flag of bit 7 is “0” when the image data is not written in the image memory 6 (that is, when the image data is not stored), and when the image data is already written (that is, when the image data is stored). Case) is “1”. If the memory for storing the image data and the memory for storing the scan confirmation information are shared in this way, the address generation and the memory control unit can be simplified, and the access can be made simultaneously. Thus, the access speed can be increased. The memory for storing the image data and the memory for storing the scan confirmation information can be configured separately, and the scan confirmation information may be stored in blocks instead of pixels. It is only necessary to be able to store the scan confirmation information that can specify the storage position of the image data.
[0049]
Next, the operation of the displacement detection circuit 7 will be described.
FIG. 5 is a block diagram showing a position shift detection circuit. Before the reading scan of the line image sensor 1 is started, all data in the image memory 6, the position correction amount 703 of the correction amount calculation circuit 73, and the correlation table in the image correlation circuit 72 are initialized to "0". You. After this initialization, the scan position coordinates 300 are corrected by the position correction circuit 74 every time the line image sensor 1 reads and scans a line, and is output to the mapping circuit 5 as corrected position coordinates 710. At the point in time when the reading scan of the line image sensor 1 is started, the position correction amount 703 is “0”, so that the scan position coordinates 300 and the correction position coordinates 710 have the same coordinate value.
[0050]
The mapping circuit 5 increases the density of the image data 400 by a pixel density conversion process, and generates high-density image data 500. Further, the mapping circuit 5 calculates a storage address ADRn of each pixel data Pn of the high-density image data 500 in the image memory 6 using the input correction position coordinates 710. The mapping circuit 5 reads the pixel data Pn stored at the address ADRn of the image memory 6 via the bus 600 according to the address ADRn, and outputs the pixel data Pn to the overlapping area detection circuit 71 via the bus 600. . The details of the operation of the mapping circuit 5 will be described later.
[0051]
The overlap area detection circuit 71 checks the write flag (bit 7) of the pixel data Pn, and determines whether or not the image data has been stored at the address ADRn of the pixel data Pn. When the write flag (bit 7) of the pixel data Pn is 1, it indicates that the image data has already been stored at the address ADRn by the reading scan of the line image sensor 1, so that the pixel data Pn overlaps the scanning area. Is determined to be included. When the write flag (bit 7) of the pixel data Pn is 0, it is determined that the pixel data Pn is included in the new scanning area. The overlapping area detection circuit 71 outputs the determination signal 701 to the image correlation circuit 72 and the mapping circuit 5. Here, the determination signal 701 is a signal that becomes “0” when the pixel data Pn is included in the new scanning area and becomes “1” when it is included in the overlapping scanning area.
[0052]
The image correlation circuit 72 performs a correlation value calculation process on the pixel data Pn when the determination signal 701 is “1”, and performs a correlation value calculation process on the pixel data Pn when the determination signal 701 is “0”. Absent. The mapping circuit 5 stores the high-density pixel data Pn in the image memory 6 when the determination signal 701 is “0”, and stores the high-density pixel data Pn in the image memory 6 when the determination signal 701 is “1”. Not stored in A series of processing operations in units of one pixel are performed for all pixel data of one line of the high-density image data 500.
[0053]
When the above processing of the high-density image data 500 for one line is completed, the image correlation circuit 72 uses the correlation table created by performing the correlation value calculation processing only on the pixels included in the overlapping scanning area, The direction of displacement of the scanning position coordinates 300 is detected. Further, the image correlation circuit 72 outputs an offset value 702 for canceling the displacement to the correction amount calculation circuit 73. When the high-density pixels of one line are all included in the new scanning area, the correlation table of the image correlation circuit 72 remains at the initial value “0”. In this case, the offset value 702 is “0” (no displacement).
[0054]
The correction amount calculation circuit 73 adds the offset value 702 to the accumulated value of the correction amounts held therein, and outputs the result to the position correction circuit 74 as the position correction amount 703. The position correction circuit 74 adds the scan position coordinates 300 of the image data of one line to be processed next and the position correction amount 703, and outputs the result to the mapping circuit 5 as corrected position coordinates 710. Thereafter, the above-described series of processing is sequentially repeated for each line.
[0055]
Next, the operation of the mapping circuit 5 will be described with reference to FIGS. 6 is a block diagram showing a mapping circuit, FIG. 7 is an explanatory diagram of an image memory, and FIG. 9 is an explanatory diagram of pixel density conversion.
[0056]
As shown in FIG. 6, the pixel density conversion circuit 51 generates three interpolation pixels for one pixel data in the image data 400, and outputs high-density image data 500 that is twice as high in density.
[0057]
First, a method of generating an interpolation pixel will be described with reference to FIG. In FIG. 9, P i, j Indicates the j-th pixel data of the i-th image data in the image data 400. Black dots are coordinate points of each pixel data. FIG. 9A shows four adjacent pixels in the image data 400. In FIG. 9B, Q i, j , R i, j And S i, j Is the pixel data P in the image data 400 i, j Are interpolated pixel data. Each interpolated pixel data Q i, j , R i, j , S i, j Is calculated by the above (Equation 1).
[0058]
Next, the coordinate value calculation circuit 52 will be described. As shown in FIG. 6, the coordinate value calculating circuit 52 receives correction position coordinates 710, which are the corrected coordinate values of the pixels at both ends of the line image sensor 1. The coordinate value calculation circuit 52 calculates the coordinate value 520 of each pixel of the high-density image data 500 using the input corrected position coordinates 710. As shown in FIG. 7, both end pixels Ps of the line image sensor 1 i , Pe i (Correction position coordinates 710) are (Xs i , Ys i ), (Xe i , Ye i The operation of the coordinate value calculation circuit 52 in the case of ()) will be described. The suffix i indicates the correction position coordinates of the i-th line of the image data 400. Here, the reading pixel density of the line image sensor 1 is 8 pixels / mm, and the pixel density of an image stored in the image memory 6 is 8 pixels / mm. Xs i , Ys i , Xe i And Ye i Is a real value in units of 1/8 mm.
[0059]
When the number of pixels read on one line of the line image sensor 1 is Nd, and the pixel number in one line is j, the pixel data P i, j Coordinates (XP i, j , YP i, j ) Is calculated using the following (Equation 4).
[0060]
(Equation 4)
Figure 0003602884
[0061]
Pixel data P i, j Three interpolated pixel data Q corresponding to i, j , R i, j And S i, j Coordinates (XQ i, j , YQ i, j ), (XR i, j , YR i, j ) And (XS i, j , YS i, j ) Is calculated using the following (Equation 5).
[0062]
(Equation 5)
Figure 0003602884
[0063]
The coordinate value calculation circuit 52 calculates the coordinate value 520 of each pixel in the high-density image data 500 by performing the arithmetic processing shown in (Equation 4) and (Equation 5).
The integer conversion circuit 53 converts the coordinate value 520, which is a real value, into an integer and outputs an integer coordinate value 530. When the real coordinate value 520 is (X real , Y real ), The integer coordinate value 530 is (X int , Y int ), The integer coordinate value is calculated using the following (Equation 6).
[0064]
(Equation 6)
Figure 0003602884
[0065]
In (Equation 6), [] indicates an operation for rounding off the decimal part. Performing fractional part truncation processing after adding 0.5 is equivalent to rounding.
[0066]
The address generation circuit 54 converts the integer coordinate value 530 output from the integer conversion circuit 53 into an address 540 of the image memory 6. FIG. 10 shows the address arrangement of the image memory. The image memory 6 is a page memory having M pixels in the X direction and N pixels in the Y direction. The address of the upper left pixel of the image memory 6 is 0, the address of the upper right pixel is (M-1), and the address of the lower right pixel is (MN-1). Integer coordinate value 530 is (X int , Y int ), The address ADR of the image memory 6 is calculated by the following (Equation 7).
[0067]
(Equation 7)
Figure 0003602884
[0068]
The error calculation circuit 55 receives the real coordinate value 520 and the integer coordinate value 530, and outputs a coordinate error 550 caused by converting the real coordinate value 520 into an integer to the comparison circuit 56. Assuming that the coordinate error in the X direction is Ex and the coordinate error in the Y direction is Ey, the coordinate error (Ex, Ey) is calculated by the following (Equation 8).
[0069]
(Equation 8)
Figure 0003602884
[0070]
Here, || indicates an operation that takes an absolute value. Hereinafter, || is used as an operator that takes an absolute value. Ex and Ey take values from 0 to 0.5.
The comparison circuit 56 compares the coordinate errors Ex and Ey with a predetermined value. The comparison circuit 56 outputs a signal 560 that becomes “1” to the access circuit 57 when the coordinate errors Ex and Ey are both smaller than the predetermined value.
[0071]
The access circuit 57 accesses the image memory 6 (FIG. 5) via the bus 600. The address of the image memory 6 is specified by an address 540 output from the address generation circuit 54 to the access circuit 57. The storage of the high-density image data 500 in the image memory 6 by the access circuit 57 is performed only when the determination signal 701 is “0” and the signal 560 is “1”. That is, the mapping of an arbitrary pixel in the high-density image data 500 to the image memory 6 is a condition that the pixel is a pixel included in the new scanning area and that the coordinate errors Ex and Ey are both smaller than the predetermined value. Only done if Pixels that do not satisfy this condition are not mapped to the image memory 6. By performing a memory control in which new image data is not stored in the stored area on the image memory 6, even when a scanning position including an accumulated position error is input, it is possible to perform sequential reciprocating single-stroke scanning to sequentially read. Since the image data in the state where the accumulated position error is small is preferentially stored in the image memory 6, an image having a small scanning position error is always stored on the image memory 6. If this stored data is used for detecting the displacement, a connected composite image with small distortion can be obtained, and the quality of the planar image is improved.
[0072]
FIG. 11 is an explanatory diagram of an operation of mapping high-density image data onto an image memory. FIG. 11A shows the densified image data 500. In FIG. 11A, the black dots are the coordinate values of the pixels P, Q, R, and S. The pixel density of the high-density image data 500 is a minimum of 16 pixels / mm. FIG. 11B shows the pixels of the image memory 6. In FIG. 11B, a black dot is a coordinate value of the pixel W. The distance U indicates a predetermined value used in the comparison circuit 56 of the mapping circuit 5. The image memory 6 stores image data having a pixel density of 8 pixels / mm. FIG. 11C shows an example in which the high-density image data 500 (FIG. 11A) and the pixels of the image memory 6 (FIG. 11B) are overlapped in the same coordinate system. In the case of FIG. 11C, since the coordinate values of the pixels P, Q, R, and S of the high-density image data 500 are outside the region T, all of the pixels P, Q, R, and S are stored in the image memory. No mapping is performed on the pixel W of No. 6. That is, in the image memory 6, there is a pixel that is not mapped despite being a document reading area (mapping missing pixel). The mapping missing pixels can be eliminated by expanding the region T. However, when the area T is widened, the coordinate error at the time of mapping increases, so that the distortion of the image mapped on the image memory 6 increases. From the viewpoint of image distortion, the smaller the area T, the better.
[0073]
Upper limit value U of distance U for eliminating mapping missing pixels max Is expressed by the following (Equation 9) using the pixel pitch of the image memory 6 as a unit.
[0074]
(Equation 9)
Figure 0003602884
[0075]
In the case of the present embodiment, since the pixel density of the image memory 6 is 8 pixels / mm, the unit is 1/8 mm. By setting the distance U to 0.35, it is possible to eliminate mapping missing pixels. In a case where the occurrence of some mapping missing pixels is allowed and emphasis is placed on reducing image distortion, the distance U may be set in the range of 0.3 to 0.35. If the distance U is 0.3 or less, the number of missing pixels is increased, and the image quality of the reproduced image is remarkably reduced.
[0076]
Returning to the description of the operation of the displacement detection circuit 7 shown in FIG. FIG. 8 is an explanatory diagram of the correlation table. The image correlation circuit 72 will be described mainly with reference to FIG. FIG. 8A is an explanatory diagram of a correlation position to be subjected to the correlation processing, and FIG. 8B is an explanatory diagram of a correlation table. The scan position coordinates 300 of the i-th line input to the position correction circuit 74 are P10 (X1, Y1) and P20 (X2, Y2), and the position correction amount 703 is {Xoffset}. i , @Yoffset i And The position correction circuit 74 calculates P11 (X3, Y3) and P21 (X4, Y4) of the correction position coordinates 710 according to the following (Equation 10) using the scanning position coordinates 300 and the position correction amount 703.
[0077]
(Equation 10)
Figure 0003602884
[0078]
The image correlation circuit 72 calculates the correlation value for the pixel to be processed only when the determination signal 701 from the overlap region detection circuit 71 is “1” (that is, when the pixel to be processed is included in the overlapped scanning region). Then, the correlation table is updated. The pixel Pn in the image memory 6 corresponding to the coordinates of the pixel to be processed is set as the pixel of interest. The calculation of the correlation value is performed by calculating the difference value between the pixel data in the image memory 6 corresponding to the coordinates obtained by increasing or decreasing the coordinates of the pixel to be processed by a minute value and the pixel data of the pixel to be processed.
[0079]
When the coordinates of the target pixel Pn are (Xn, Yn) and the minute coordinate values are △ hx and △ hy, the coordinates (Xh mn , Yh mn ) Is calculated by the following (Equation 11).
[0080]
(Equation 11)
Figure 0003602884
[0081]
Here, m and n take values of -1, 0 and 1, respectively. [] Indicates an operation for rounding off the decimal part.
In FIG. 8A, P12 → P22 indicates the position of one line for calculating the correlation value when m = 1 and n = 1. Assuming that the value of the correlation table corresponding to the target coordinates for calculating the correlation value is h (m, n), the correlation table shown in FIG. 8B is created.
[0082]
The pixel number in one line of the high-density image data 500 is j, and the data value is Dn. j The pixel data for which the correlation value is to be calculated in the image memory 6 is Dh jmn Then, the value h (m, n) of each correlation table is calculated by the following (Equation 12).
[0083]
(Equation 12)
Figure 0003602884
[0084]
Here, ho (m, n) is a value in the correlation value table generated by calculating the correlation value up to the pixel number (j-1). Before starting the calculation of the correlation value for one line, the values of the correlation table are all initialized to “0”.
[0085]
The image correlation circuit 72 completes the correlation table by performing the above-described correlation value calculation for all the pixels of one line in the high-density image data 500. The target coordinates for calculating the correlation value are the correction position coordinates 710 calculated by the above (Equation 10).
[0086]
The image correlation circuit 72 holds the minimum value of h (m, n) when the calculation of the correlation value for one line is completed (m min , N min ) And outputs it to the correction amount calculation circuit 73 as the offset value 702. There are a plurality of minimum values in the correlation table, and the minimum value is (m min , N min ) = (0,0), the minimum value of (0,0) is preferentially used. Correlation value h (m in the correlation table min , N min ) Is the smallest (、 hx × m min , △ hy × n min This indicates that, when the minute value of ()) is added to the coordinates of each pixel and mapped, the image in the image memory 6 and the image of the line to be mapped best match best. When there are a plurality of minimum values and the minimum value includes the center of the correlation window, the offset value 702 is set to “0”. For example, if a 3 × 3 correlation window is set, h (0,0) becomes the center of the correlation window. Here, m and n take values of −1, 0 and 1, respectively.
[0087]
The correction amount calculation circuit 73 calculates the offset value 702 (m min , N min ) Is used to perform the calculation shown in (Equation 13) below. Here, the offset value 702 is defined as △ X = △ hx × m min , △ Y = △ hy × n min And
[0088]
(Equation 13)
Figure 0003602884
[0089]
In the above (Equation 13), the suffix i represents the position correction amount 703 when the correlation table of the i-th line of the high-density image data 500 is completed. The position correction circuit 74 adds (△ Xoffset) to the scanning position coordinates 300. i , @ Yoffset i ) Is added to correct the scanning position coordinates 300 and output as corrected position coordinates 710.
[0090]
As described above, according to the configuration of the image processing apparatus of the present embodiment, even if the input scanning position includes a position error, the image of the image data and the storage data in the overlapping scanning area that scans in an overlapping manner is scanned. The positional deviation of the scanning position can be detected from the information, and the positional deviation can be corrected. Then, by storing the image data in the image memory 6 based on the corrected scanning position, it is possible to prevent the connection deviation of the image caused by the position error of the scanning position, and to reduce the image distortion of the planar image connected in the image memory 6. Can be reduced.
[0091]
In this embodiment, the number of correlation target pixel positions is nine, but is not necessarily limited to nine. If the amount of displacement is large, the position of the pixel to be correlated may be increased to widen the correlation range. Alternatively, the correlation table may be created at N (N> 1) scan line intervals, and the positional deviation may be corrected at N (N> 1) scan line intervals. For example, N = 8 may be set.
[0092]
<Second embodiment>
Next, as a second embodiment of the present invention, a process when the offset value 702 corresponding to the displacement detected by the image correlation circuit 72 (FIG. 5) is large will be described.
[0093]
When the offset value 702 corresponding to the displacement detected by the image correlation circuit 72 is large, the position correction amount 703 changes greatly at the position where the offset value 702 is added, and as a result, the corrected position coordinates 710 are corrected. Changes greatly.
[0094]
The storage state of data in the image memory 6 when the correction position coordinates 710 greatly change will be described with reference to FIG. FIG. 15 is an explanatory diagram showing a data storage state in the image memory. In FIG. 15, the (i-1) -th line is a line for performing image correlation detection, and the i-th line is a line for performing position correction. Further, the pixels at both ends of the (i-1) th line are represented by Ps i-1 , Pe i-1 , The pixels at both ends of the i-th line are Ps i , Pe i It is described as.
[0095]
As shown in FIG. 15, when the mapping circuit 5 stores the image data in the image memory 6 in accordance with the correction position coordinates 710 at the position where the correction amount greatly changes, the (i-1) th line and the i-th line An area where no data is stored (a missing image area due to position correction) occurs between them.
[0096]
A method for suppressing the occurrence of an area where data is not stored will be described with reference to FIGS. 12, 13, and 14. FIG. 12 is a block diagram of a misregistration detection circuit including a division control circuit, FIG. 13 is a timing chart of the division control circuit, and FIG. 14 is a diagram for explaining a difference between a position correction amount and a division position correction amount.
[0097]
12 differs from the block diagram of the displacement detection circuit 7 in FIG. 5 in that the offset value 702 of the image correlation circuit 72 is not directly input to the correction amount calculation circuit 73. The offset value 702 is converted by the division control circuit 75 into a division offset value 704 that suppresses the occurrence of an area where data is not stored (a missing image area due to position correction), and is then input to the correction amount calculation circuit 73.
[0098]
The register 754 holds a parameter NB for dividing the offset value 702 in order to suppress the occurrence of a mapping omission region due to position correction. The offset value 702 is divided by the divider 751 by the division parameter NB held in the register 754, and the switch 752 turns ON / OFF the output of the divider 751 by the control output of the switch control 753. In the case of "ON", the division offset value 704 is output from the divider 751, and in the case of "OFF", the division offset value 704 is not output (no offset value). When the division parameter NB is 2 n Then, the divider 751 can be configured by n-bit shift. Note that the division parameter NB is not specified, and can be arbitrarily set according to the maximum value that the offset value 702 can take.
[0099]
The operation of the division control circuit 75 will be described with reference to FIG. Here, a description will be given assuming that the division parameter NB is 4. It is assumed that the line position where image correlation is performed first is the i-th line, and image correlation detection is performed at intervals of 8 scanning lines. In FIG. 13, only the numbers are described, for example, the i-th line is 0 (line position) and the (i + 8) -th line is 8 (line position).
[0100]
The mapping circuit 5 outputs a one-line sync signal to the division control circuit 75 and the image correlation circuit 72 via the bus 600 when all the one-line image signals read by the line sensor 1 are mapped.
[0101]
The image correlation circuit 72 sets the first line position at which scanning is started as an initialization line position (i = 0 line position), and counts a line synchronization signal from the initialization line position. If the remainder obtained by dividing the count number i by 8 is 0, image correlation detection is performed (excluding the initialization line position at i = 0), and the offset is set before the reading of the next line position is started. The value 702 is updated in synchronization with the line synchronization signal. When the image correlation detection ends, the image correlation circuit 72 outputs a correlation end signal to the switch control 753 of the division control circuit 75 via the bus 600. The switch control 753 sets the next line position, which has received the correlation end signal of the image correlation circuit 72, as a count value of 1, and starts counting the line synchronization signal from the next line position. In response to the division parameter NB held in the register 754, the switch control 753 turns on the switch 752 when “1 ≦ count value ≦ 4” and turns off the switch 752 when “count value> 4”. To
[0102]
The correction amount calculation circuit 73 receives the divided offset value 704, adds the accumulated value of the register 731 storing the position correction amount 705 of the previous line and the divided offset value 704 by the adder 732, and performs division control. The position correction amount (hereinafter, referred to as “division position correction amount”) 705 is output to the position correction circuit 74.
[0103]
Next, in the correction amount calculating circuit 73, a position correction amount 703 (without division control, FIG. 5) generated by inputting the offset value 702, and a division position correction amount 705 (divided by inputting the division offset value 704) The difference from (with control) will be described with reference to FIG.
[0104]
As in FIG. 13, the line position where image correlation is performed first is set to the i-th line, and image correlation detection is performed at intervals of 8 scanning lines. In FIG. 14, only the numbers are described, for example, the i-th line is 0 (line position) and the (i + 8) -th line is 8 (line position). Further, since the offset value 702 for canceling the position shift is the same in both the X and Y directions, only one of the X directions is described. At the i-th line position, the cumulative value of the register 731 of the correction amount calculation circuit 73 is “0” and the number of divisions of the register 754 of the division control circuit 75 is four. When a 3 × 3 correlation window is set, the number of divisions is four in this way, and when a 5 × 5 correlation window is set, eight divisions is sufficient. The “variable control amount” described in claim 3 of the present invention is a division offset value 704.
[0105]
In FIG. 14, since the image correlation is detected at the i-th line and the (i + 8) -th line, the offset value 702 from the image correlation circuit 72 is (i + 1) -th line (offset value = 値 hx × m) and (i + 9) ) Output at the line (offset value = − = hx × m).
[0106]
When the division control is not performed (FIG. 5), the correction amount calculation circuit 73 inputs the offset value 702, and in the next (i + 1) th line, the cumulative value of the register 731 (cumulative value = 0) and the offset value △ The position correction amount 703 obtained by adding hx × m is obtained. Similarly, in the (i + 9) th line, the correction amount calculation circuit 73 obtains the position correction amount 703 obtained by adding the accumulated value (accumulated value = △ hx × m) of the register 731 and the offset value − △ hx × m. .
[0107]
When performing the division control, the correction amount calculation circuit 73 inputs the division offset value 704, and in the next (i + 1) th line, the cumulative value of the register 731 (cumulative value = 0) and the offset value Δhx × (m / 4) is added to obtain a division position correction amount 705. Further, the correction amount calculation circuit 73 divides the (i + 2) th line by adding the cumulative value of the register 731 (cumulative value = △ hx × (m / 4)) and the offset value of (hx × (m / 4). The position correction amount 705 is obtained. Thereafter, a division position correction amount 705 that is sequentially increased by Δhx × (m / 4) is obtained up to the (i + 4) th line. There is no change from the (i + 4) th line to the (i + 8) th line because the division offset value 704 is 0. In addition, the correction amount calculation circuit 73 calculates the division position correction amount obtained by adding the accumulated value (accumulated value = △ hx × m) of the register 731 and the offset value − △ hx × (m / 4) in the (i + 9) th line. 705 is obtained. Thereafter, a division position correction amount 705 that is sequentially reduced by −Δhx × (m / 4) is obtained from the (i + 9) th line to the (i + 12) th line. The (i + 13) th line does not change because the division offset value 704 becomes 0.
[0108]
When the division control is not performed, when a large offset value 702 is detected, the position correction amount 703 greatly increases or decreases in the (i-1) th line where the image correlation detection is performed as it is and in the next i-th line. For this reason, as shown in FIG. 15, an area where no data is stored (a mapping missing area due to correction) occurs between the (i-1) th line and the i-th line.
[0109]
On the other hand, when the division control is performed, even if a large offset value 702 is detected, the division control circuit 75 divides the offset value 702 for each line. In the i-th line, the division position correction amount 705 gradually increases or decreases. For this reason, as shown in FIG. 16, the hi-th line set by the division control is set between the (i-1) th line and the i-th line in the case of "no division control", and (i- 1) The occurrence of an area where no data is stored between the lines of the i-th line and the i-th line (a missing image region due to correction) is suppressed. Here, in the hi-th line, pixels at both ends are Ps hi , Pe hi It is described as.
[0110]
Further, when the correlation target range is widened, the scanning position is corrected by a large offset value, so that an area in which data is not stored (a mapping missing area due to correction) frequently occurs. In this case, by performing the division control, the occurrence of an area in which data is not stored in the image memory 6 (mapping missing area due to correction) is suppressed, and the displacement detection accuracy when performing image correlation detection is improved. As a result, the image quality reproduced on the image memory 6 is improved.
[0111]
In addition, after increasing the number of pixels by increasing the density of input image data, only pixels having a small coordinate error at the time of mapping are mapped to the image memory, and division control is performed. The pixels which are not mapped are greatly reduced. Further, distortion of the read reproduction image due to a coordinate conversion error at the time of mapping is greatly reduced. In addition, since it is not necessary to increase the number of pixels of the line image sensor 1 or to reduce the maximum manual scanning speed, the image quality on the image memory 6 is further improved.
[0112]
As described above, according to the configuration of the image processing apparatus of the present embodiment, the correction value for correcting the displacement is variably controlled at a predetermined rate, and the scanning position is corrected based on the correction value that is changed stepwise. Since the image data can be stored in the image memory 6 based on the corrected data of the scanning position, the occurrence of an area in the image memory 6 where the image data is not stored due to the correction of the scanning position is suppressed. Further, since the scanning position is not sharply corrected, the detection range of the correlation value when detecting a positional deviation from the image information of the image data and the stored data can be reduced, so that the circuit can be downsized. Furthermore, since the occurrence of an area where image data is not stored in the image memory 6 (mapping loss) is prevented, a position shift is detected from the image information of the image data and the storage data in the overlapping scanning area. Since the error of the correlation value can be reduced, the accuracy of detecting the displacement can be improved. As a result, the image quality reproduced in the image memory 6 is improved. Further, if the image processing apparatus of the present invention is configured by hardware, processing can be sequentially performed for each line, so that the circuit can be downsized and processing can be performed in real time.
[0113]
In this embodiment, the density of the input image data 400 is increased, the number of pixels is increased, and only pixels having a small coordinate error during mapping are mapped to the image memory 6. However, the image data 400 that does not increase the density may be used. In this case, by performing the division control, the occurrence of a region that is not mapped can be suppressed. When the determination of the coordinate error at the time of mapping is set to 0.5 (that is, when the coordinate error at the time of mapping is rounded off), the input image data 400 (P i, j ) And the high-density image data 500 generated between the scan lines. i, j May be stored at all times (see FIG. 9) and mapped to the image memory 6. As a result, even when the scanning line has an unacceptable interval, occurrence of an area where no image data is stored (mapping missing area) is suppressed.
[0114]
<Third embodiment>
As described above, in the first and second embodiments, the detection of the displacement of the scanning position in the X direction and the Y direction has been described. However, in the present embodiment, the detection of the displacement of the scanning position in the rotation direction is further added. Will be described with reference to FIGS. 16, 17, and 18. FIG.
[0115]
In the configuration shown in FIG. 3, factors that cause position errors include slipping of the wheels 31 and 32 on a document, accuracy errors of the diameter of the wheels 31 and 32, accuracy errors of the distance D between the wheels 31 and 32, For example, the wheels 31 and 32 may sink into the document, or the center of rotation may be affected by the width between the wheels 31 and 32 when rotated by manual scanning. Therefore, by adding the position error in the rotation direction to the correction target, the position shift can be corrected with high accuracy.
[0116]
The image reading unit B shown in FIG. 16 is the same as in the first embodiment. In FIG. 16, the point different from the first embodiment is that a coordinate rotation conversion circuit 8 is added for detecting a displacement in the rotation direction, and a delay circuit 9 for improving the accuracy of the displacement detection. Is added. Note that the delay circuit 9 also has an effect of improving the correction accuracy of the positional deviation in the first and second embodiments. This effect will be described later.
[0117]
The image processing apparatus shown in FIG. 16 sequentially receives, from the image reading unit B, scanning position coordinates 300 obtained in line units and image data 400 corresponding to the scanning positions. The analog output of the line image sensor 1 is amplified by the amplifier 102 and converted to digital image data by the A / D converter 103. The digital image data is temporarily stored in the image buffer 4. The image buffer 4 outputs corresponding image data 400 in synchronization with the scanning position coordinates 300.
[0118]
The correction amount calculation circuit 73 accumulates and holds the offset value 702 output from the image correlation circuit 72.
The position correction circuit 74 corrects the positional deviation of the scanning position coordinates 300 based on the position correction amount 703 output from the correction amount calculation circuit 73 that holds the accumulated position error, and outputs the corrected position as the corrected scanning position coordinates 710.
[0119]
The delay circuit 9 delays the corrected scanning position coordinates 710 and the image data 400 of the scanning line corresponding to the corrected scanning position coordinates 710 in units of scanning lines.
The mapping circuit 5 generates a memory address 62 (ADRn) of each pixel data 61 (Pn) of one scan line from the coordinate data 92 of the delayed corrected scanning position coordinates 710, and stores the planar image data in the image memory 6. The pixel data 61 (Pn) to be mapped among the delayed image data 91 is stored in the area (memory 65).
[0120]
Here, as in the first embodiment, when the image memory 6 is configured as shown in FIG. 7, the storage bit (bit 7) of the write flag that holds the scan confirmation information of the image data corresponds to the memory 66. , The storage bits (bits 0 to 6) of the image data correspond to the memory 65. Therefore, the overlap area detection circuit 71 determines the overlap area to be scanned in duplicate from the scan confirmation information stored in the memory address 62 (ADRn) of the memory 66, and outputs the overlap scan area determination signal 701.
[0121]
The determination signal 701 checks the write flag (bit 7) of the pixel Pn, and determines whether image data has been stored in the address 62 (ADRn) of the pixel data 61 (Pn). If the bit 7 of the pixel data 61 (Pn) is 1, it indicates that the image data has already been stored in the memory address 62 (ADRn) by the reading scan of the line image sensor 1, and thus the pixel data 61 (Pn) is read. Pn) is determined to be included in the overlap scanning area. When bit 7 of the pixel data 61 (Pn) is 0, it is determined that the pixel data 61 (Pn) is included in the new scanning area. The overlapping area detection circuit 71 outputs the determination signal 701 to the image correlation circuit 72 and the mapping circuit 5. Here, the determination signal 701 is a signal that becomes “0” when the pixel data 61 (Pn) is included in the new scanning area, and becomes “1” when it is included in the overlapping scanning area.
[0122]
When the determination signal 701 is “0”, the mapping circuit 5 stores the pixel data 61 (Pn) in the memory 65. When the determination signal 701 is “1”, the mapping circuit 5 does not store the pixel data 61 (Pn) in the memory 65. The series of processing operations in units of one pixel are performed for all pixels of the image data 91 of one scanning line.
[0123]
The coordinate rotation conversion circuit 8 outputs, to the image correlation circuit 72, a correlation coordinate 800 in a tilt direction obtained by turning the corrected scanning position coordinate 710 [Ps-Pe] by a small angle Δφ in units of one scanning line.
[0124]
The image correlation circuit 72 generates the correlation detection address 63 of the target pixel Pn of each correlation detection of one scan line from the coordinate data of the correlation coordinate 800, and stores the correlation detection address 63 from the planar image data storage area (memory 65) of the image memory 6. The read data 64 is read, and at the same time, the scan confirmation information corresponding to the stored data 64 is read from the memory 66 and output to the overlap area detection circuit 71.
[0125]
The overlap area detection circuit 71 determines an overlap area to be scanned in duplicate from the scan confirmation information in the memory 66, and outputs an overlap scan area determination signal 701.
The image correlation circuit 72 performs the correlation value calculation process for the pixel Pn when the determination signal 701 is “1”, and does not perform the correlation value calculation process for the pixel Pn when the determination signal 701 is “0”.
[0126]
As shown in FIG. 17, in the image correlation circuit 72, the correlation coordinate [Ps-Pe (± φφ)] or the correlation coordinate in the inclination direction in which the small angle Δφ is shifted with respect to the scanning position coordinate 300 [Ps-Pe]. By performing the correlation detection processing of [Ps (± △ φ) -Pe], the positional deviation in the rotational direction is detected, and more accurate positional deviation correction is realized. In this case, if the correlation table value is combined with the correlation table value h (m, n) of the first embodiment, the correlation table value becomes h (l, m, n). Here, it is assumed that l takes a value of -1, 0, or 1. A total of 27 correlation tables are created, three in the angular direction (rotation direction) and nine in the position direction (X, Y directions). When the minimum value of the correlation table is h (l, m, n), the angle correction amount △ φoffset i Is generated by performing a calculation of l · △ φ. Here, Δφ is, for example, 0.2 degrees. It should be noted that the values of l, m, and n are not specified, but are values that are set depending on the required positional deviation correction accuracy. When the values of l, m, and n are increased, the area for performing the correlation is widened, and the correction accuracy is improved.
[0127]
As shown in FIG. 16, in order to detect the rotation direction of the positional shift, the coordinates of the corrected scanning position coordinates 710 are rotationally converted on the coordinates by the coordinate rotation converting circuit 8, and the scanning position coordinates 300 [Ps-Pe] are And outputs a correlation coordinate 800 [Ps-Pe (± φφ)] or a correlation coordinate 800 [Ps (± φφ) -Pe] in the tilt direction in which the small angle Δφ is swung.
[0128]
The image correlation circuit 72 repeats the calculations of (Equation 10) to (Equation 12) in accordance with the respective correlation coordinates 800 in the tilt direction in which the small angle △ φ has been rotated by the rotation conversion, thereby forming 27 types of correlation tables 67. create. Here, l, m, and n assume values of -1, 0, and 1, respectively.
[0129]
From this correlation table 67, an offset value 702 for correcting a position shift is detected.
The image correlation circuit 72 holds the minimum value of h (l, m, n) when the calculation of the correlation value is completed for each angle of one scan line (l min , M min , N min ) And outputs it to the correction amount calculation circuit 73 as the offset value 702. There are a plurality of minimum values in the correlation table 67, and (l min , M min , N min ) = (0,0,0), the minimum value of (0,0,0) is preferentially used. The correlation value h (l in the correlation table 67 min , M min , N min ) Is the smallest (△ φ × l min , △ hx × m min , △ hy × n min ) Indicates that the image information of the data stored in the image memory 6 and the image data of the line to be mapped best match the most when the image is mapped by adding the minute value of each pixel to the coordinates of each pixel. When there are a plurality of minimum values and the minimum value includes the center of the correlation window, the offset value 702 is set to 0 in the X and Y directions. For example, if a 3 × 3 correlation window is set, h (l, 0,0) will be the center of the correlation window.
[0130]
The correction amount calculation circuit 73 calculates the offset value 702 (l min , M min , N min ) Is used to perform the calculation shown in (Equation 14) below. Here, the offset value 702 is defined as △ X = △ hx × m min , △ Y = hy × n min , △ Ψ = △ φ × l min And
[0131]
[Equation 14]
Figure 0003602884
[0132]
In the above (Equation 14), the suffix i represents the position correction amount 703 when the correlation table of the i-th line of the image data 400 is completed.
The position correction circuit 74 adds (△ Xoffset) to the scanning position coordinates 300. i , @ Yoffset i , △ φoffset i ) Is added to correct the scanning position coordinates 300 and output as corrected scanning position coordinates 710.
[0133]
The scan position coordinates 300 of the i-th line input to the position correction circuit 74 are Ps (Xs, Ys) and Pe (Xe, Ye), and the position correction amount 703 is {Xoffset}. i , @Yoffset i , △ φoffset i And Using the scanning position coordinates 300, the position correction circuit 74 calculates Psh (Xsh, Ysh) and Peh (Xeh, Yeh) of the corrected scanning position coordinates 710 according to (Equation 15) below.
[0134]
[Equation 15]
Figure 0003602884
[0135]
Here, the rotation center on the coordinates is always set to the coordinates Ps. Arcsin [] is a function for performing an arc sine operation. Nd is the number of pixels read by one line of the line image sensor 1. Note that the rotation center on the coordinates may be the coordinates Pe. Further, both the rotation conversion using the rotation center on the coordinates as the coordinates Ps and the rotation conversion using the rotation center on the coordinates as the coordinates Pe may be performed. By performing both, it is possible to detect a displacement corresponding to both wheels 31, 32.
[0136]
Next, a description will be given of a method of improving the correction accuracy of the positional deviation by the delay circuit 9, with reference to FIGS. 14, 16, and 18. FIG. FIG. 18 is an explanatory diagram of the operation of the delay circuit shown in FIG.
[0137]
Unlike the position correction amount (without division control) 703, the correction value corresponding to the offset value 702 changes stepwise in the division position correction amount (with division control) 705 shown in FIG. The necessary correction amount is insufficient in the scanning area corresponding to the number of scanning lines during the variable control. When the correction amount is insufficient, a correction value for canceling a position error is insufficient, and a connection shift remains at a position shift detection position.
[0138]
In order to avoid such a state in which the correction amount is insufficient, the delay circuit 9 replaces the corrected scanning position coordinates 710 and the image data 400 by the amount corresponding to the number of scanning lines while the division position correction amount 705 is variably controlled. In the mapping circuit 5, the mapping position is made different from the detected position of the displacement detected by the image correlation circuit 72.
[0139]
In FIG. 14, since the position where the positional deviation is detected and the position where the divisional position correction amount 705 becomes the same as the position correction amount 703 are shifted by four lines, the delay circuit 9 sets the corrected scanning position coordinates 710 and the image data 400 to be different. Delay by 4 lines. Due to this delay, the same divided position correction amount 705 as the position correction amount 703 is obtained at the mapping position in the mapping circuit 5. As a result, a correction value for canceling the position error is secured, and the correction accuracy of the position shift is further improved.
[0140]
As shown in FIG. 18, in the reading area of the line image sensor 1, three states occur at the position where manual scanning is performed, that is, an area a, an area b, and a mixture of the area a and the area b. In the new scanning area, the state is always the area b. In the area where the overlapping scanning area and the new scanning area are mixed, the area a and the area b are mixed, and only the area a is used in the overlapping scanning area alone.
[0141]
Here, in the area a, the storage state of the planar image data in the memory 65 (FIG. 16) is state 1 at a position in the correlation detection window in the case of performing the position shift detection. In this state 1, since the stored data exists all around the target pixel position, it is possible to detect the correlation value for performing the displacement detection.
[0142]
On the other hand, in the area b, the storage state of the planar image data in the memory 65 is state 2 at a position in the correlation detection window when the position shift is detected. In this state 2, a position where the stored data exists and a position where the stored data does not exist exist around the target pixel position. For this reason, when the positional deviation is detected in the correlation detection window, the correlation value is biased. Because the correlation value can be generated from the planar image data and the image information of the stored data at the position where the stored data exists, but at the position where the stored data does not exist, the correlation value is initialized because there is no stored data. This is because a correlation value is generated from the data and the plane image data. If a positional deviation is detected from a correlation value generated based on the different data, a detection error will occur.
[0143]
In order to eliminate the detection error, the scan confirmation information in the memory 66 is used. When it is determined that there is an unstored pixel even at one position in the correlation detection window based on the scan confirmation information (that is, in the case of state 2), no correlation value is generated. The determination as to whether or not there is an unstored pixel is performed using a determination signal 701 detected by the overlapping area detection circuit 71. Thereby, since the bias of the correlation value can be eliminated, the accuracy of the position shift detection is improved.
[0144]
By using the delay circuit 9 shown in FIG. 16 to make the mapping position and the detection position of the positional deviation different, and to make the detection position of the positional deviation preceding the moving direction of the line image sensor 1, the positional deviation can be performed in real time processing. Can be improved in accuracy.
[0145]
By the way, in the real-time processing, when the mapping processing and the position shift detection are performed in parallel, a pixel that is newly mapped and stored around the pixel of interest frequently occurs. to be influenced. In addition, if the detection position is moved forward or backward due to camera shake during manual scanning or the like, the influence of the newly mapped pixels is further increased, and the detection accuracy of the displacement is reduced. For this reason, by making the mapping position different from the detection position of the positional deviation, and making the detection position of the positional deviation preceding the moving direction of the line image sensor 1, the influence of the new mapped pixel is suppressed and the detection accuracy of the positional deviation is detected. Can be improved.
[0146]
As described above, according to the configuration of the image processing apparatus of the present embodiment, it occurs due to factors such as slippage of the wheels, accuracy error of the diameter between the wheels, accuracy error of the distance between the wheels, and sinking of the wheels into the document. The position error of the scanning position coordinates 300 is corrected with high accuracy by correcting the positional deviation in the rotation direction.
[0147]
Further, by delaying the corrected scanning position coordinates 710 and the image data 400 by the delay circuit 9 and making the mapping position and the detection position of the positional deviation different, a correction value for canceling a position error at the mapping position is secured. Therefore, the correction accuracy of the positional deviation is further improved. Further, since it is possible to prevent the data of the line mapped immediately before from affecting the correlation value, the accuracy of correcting the positional deviation is improved.
[0148]
In the first to third embodiments, a pulse is generated from the input image data and the scanning position coordinate with the rotation of the two wheels 31 and 32 provided at both ends of the line image sensor 1. Although the input is made from the hand scanner using the two encoders 2a and 2b, it is not necessarily limited to this configuration. For example, a tablet or a sheet on which a reference grid is printed may be used as an auxiliary device, and input may be performed from a hand scanner that obtains scanning position coordinates and image data by detecting both end positions of the line image sensor 1 (for example, U.S. Pat. No. 4,260,979, U.S. Pat. No. 4,581,761).
[0149]
In the first to third embodiments, an image processing apparatus that processes an image signal input from a hand scanner using the line image sensor 1 has been described as an example. Is not necessarily limited to the hand scanner. For example, it may process an image signal from an image input device using an area image sensor.
[0150]
Further, the same processing as in the first to third embodiments may be realized by software using a personal computer, an MPU (microprocessor unit) or a DSP (digital signal processor).
[0151]
Further, as shown in FIG. 19A, the image processing apparatus of the present invention inputs an image with a small input device 1004 having a limited reading range, and connects and combines partial images on the original 1000 to form a large screen. Create a planar image of. Therefore, if the image processing apparatus of the present invention is mounted on the main body 1001 of a portable information device, it becomes possible to input an image of a large document even with a portable information device having a small input device 1004. For example, it is most suitable for a portable FAX, a portable information terminal, a portable scanner, and the like. In FIG. 19, reference numeral 1002 denotes a display device, which includes a liquid crystal panel, a CRT, and the like. Then, the image data read by the input device 1004 is stored in the internal image memory 6, and the connected image is displayed on the image memory 6. Further, as shown in FIG. 20, since the input device 1004 can be reduced in size, it can be used integrally with the main body 1001 of the portable terminal. The input device 1004 illustrated in FIG. 20 may be configured to be freely detachable from the main body 1001 of the mobile terminal as illustrated in FIG. The input device 1004 is provided with an IC card 1003 that satisfies the standard I / F (interface) specifications. Data can be transferred and controlled by being inserted into the IC card slot 1007 of the main body 1001. . Further, the input device 1004 is provided with lock pins 1008a and 1008b. By inserting the lock pins 1008a and 1008b into the pin insertion holes 1009a and 1009b of the main body 1001, the input device 1004 is connected to the main body 1001 of the portable terminal. Fixed. Here, the input device 1004 is equipped with the line image sensor 1 and the wheels 31 and 32 shown in FIG. Accordingly, an auxiliary device such as a tablet is not required, and a small-sized input device having excellent operability is realized. If a personal computer is used instead of the main body 1001 of the mobile terminal, an input device that is small, has excellent operability, and can input a large screen is realized.
[0152]
Further, as shown in FIG. 19E, the image processing apparatus of the present invention performs the correction while accumulating the positional deviation of the detected scanning position coordinates, and therefore uses the input device 1004 having a large accumulated position error. Even so, it is possible to generate an image without a connection shift by correcting the position shift. Therefore, as used in the first to third embodiments, the two encoders 2a and 2b that generate pulses with the rotation of the two wheels 31 and 32 provided at both ends of the line image sensor 1. If mounted on a hand scanner that uses, a greater effect can be obtained. Compared with a hand scanner that uses a tablet or a sheet on which a reference grid is printed as an auxiliary device, an expensive auxiliary device is not required, so that an image processing device that is small and has excellent portability and operability is realized. Can be. Furthermore, a thick book can be read. Here, the input device 1004 is, for example, a scanner having an image reading unit B shown in FIG.
[0153]
【The invention's effect】
As described above, the image processing apparatus according to the present invention First According to the configuration, even if the input scan position includes a position error, the position shift of the scan position is detected from the image information of the image data in the overlapped scan area and the storage data that are scanned in an overlapping manner, and the position is detected. The deviation can be corrected. Then, by storing the image data in the image memory based on the corrected scanning position, it is possible to prevent the connection deviation of the image caused by the position error in the scanning position and reduce the image distortion of the planar image connected in the image memory. can do.
[0154]
Further, the present invention Image processing Equipment First According to a preferred embodiment, the configuration further includes a correction control unit that changes the correction value at a predetermined ratio, and the correction unit corrects the scanning position based on the correction value that is changed at a predetermined ratio. Can be variably controlled at a predetermined ratio, and the image data can be stored in the image memory based on the corrected scanning position. Therefore, the image data in the image memory caused by the correction of the scanning position is not stored. Generation of a region is suppressed. Further, since the scanning position is not sharply corrected, the detection range of the correlation value when detecting a positional deviation from the image information of the image data and the stored data can be reduced, so that the circuit can be downsized. Further, since the occurrence of an area where image data is not stored in the image memory (mapping loss) is prevented, the correlation when detecting a positional shift from the image information of the image data in the overlapping scanning area and the stored data is prevented. Since the error of the value can be reduced, the accuracy of detecting the displacement can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an image processing apparatus and an image reading unit that reads and scans a document image according to a first embodiment of the present invention.
FIG. 2 is an operation explanatory diagram of the position detection circuit according to the first embodiment of the present invention.
FIG. 3 is an explanatory diagram illustrating calculation of coordinates of pixels read at both ends of a line image sensor according to the first embodiment of the present invention.
FIG. 4 is an explanatory diagram of a scanning area of the line image sensor according to the first embodiment of the present invention.
FIG. 5 is a block diagram illustrating a position shift detection circuit according to the first embodiment of the present invention.
FIG. 6 is a block diagram illustrating a mapping circuit according to the first embodiment of the present invention.
FIG. 7 is an explanatory diagram of an image memory according to the first embodiment of the present invention.
FIG. 8 is an explanatory diagram of a correlation table in the first embodiment of the present invention.
FIG. 9 is an explanatory diagram of pixel density conversion in the first embodiment of the present invention.
FIG. 10 is an address layout diagram of an image memory according to the first embodiment of the present invention.
FIG. 11 is an explanatory diagram of an operation of mapping high-density image data to an image memory according to the first embodiment of the present invention.
FIG. 12 is a block diagram of a misregistration detection circuit including a division control circuit according to a second embodiment of the present invention.
FIG. 13 is a timing chart of a division control circuit according to a second embodiment of the present invention.
FIG. 14 is an explanatory diagram showing a difference between a position correction amount and a division position correction amount according to the second embodiment of the present invention.
FIG. 15 is an explanatory diagram of a data storage state of an image memory according to a second embodiment of the present invention.
FIG. 16 is a block diagram illustrating an image processing apparatus and an image reading unit that reads and scans a document image according to a third embodiment of the present invention.
FIG. 17 is an explanatory diagram of angle correction in a third embodiment of the present invention.
FIG. 18 is a diagram illustrating the operation of the delay circuit according to the third embodiment of the present invention.
FIG. 19 is an explanatory diagram of a connection shift of a read image due to a scan position shift.
FIG. 20 is a perspective view showing one embodiment of a portable terminal device according to a third embodiment of the present invention.
FIG. 21 is an exploded perspective view showing another embodiment of the portable terminal device according to the third embodiment of the present invention.
FIG. 22 is an explanatory diagram showing an example of a mapping omission state in the related art.
FIG. 23 is an explanatory diagram showing another example of a mapping omission state in the related art.
[Explanation of symbols]
1 Line image sensor
2a, 2b encoder
3 Scanning position detection circuit
4 Image buffer
5 Mapping circuit
6. Image memory
7 Position shift detection circuit
8. Coordinate rotation conversion circuit
9 Delay circuit
31, 32 wheels
33, 35 Position counter
37 Position coordinate detection circuit
51 Pixel density conversion circuit
52 Coordinate value calculation circuit
53 integer conversion circuit
54 Address Generation Circuit
55 Error Calculation Circuit
65, 66 memory
67 Correlation table
71 Overlapping area detection circuit
72 Image Correlation Circuit
73 Correction amount calculation circuit
74 Position correction circuit
75 division control circuit
1001 Body of mobile terminal
1004 Input device
1007 IC card slot
1008a, 1008b Lock pin
1009a, 1009b Pin insertion hole

Claims (8)

ラインイメージセンサにより原稿画像を走査して読み取られた画像データと、前記画像データに対応する走査位置とを順次入力し、走査位置に基づいて前記画像データを画像メモリに格納する画像処理装置であって、
重複して走査する重なり走査領域内の、前記画像データと前記画像メモリに格納された格納データとから前記走査位置の位置ずれを所定の間引かれたライン位置で検出し、前記位置ずれを補正する補正値をラインごとに逐次出力する位置ずれ検出手段と、前記補正値に基づいて前記走査位置を補正する補正手段と、補正された走査位置に基づいて前記画像データを前記画像メモリに格納する写像手段とを少なくとも備えたことを特徴とする画像処理装置。
An image processing apparatus for sequentially inputting image data read by scanning a document image by a line image sensor and a scanning position corresponding to the image data, and storing the image data in an image memory based on the scanning position. hand,
In the overlapping scanning area where the scanning is performed in an overlapped manner, the positional deviation of the scanning position is detected at a predetermined thinned line position from the image data and the stored data stored in the image memory, and the positional deviation is corrected. A displacement detection unit for sequentially outputting a correction value to be performed for each line, a correction unit for correcting the scanning position based on the correction value, and storing the image data in the image memory based on the corrected scanning position. An image processing apparatus comprising at least mapping means.
補正値を所定の割合で可変する補正制御手段がさらに備わり、補正手段は、所定の割合で可変された前記補正値に基づいて走査位置を補正する請求項1に記載の画像処理装置。The image processing apparatus according to claim 1, further comprising a correction control unit that changes a correction value at a predetermined ratio, wherein the correction unit corrects a scanning position based on the correction value changed at a predetermined ratio. 補正制御手段は、位置ずれ検出手段からの補正値を分割した値を可変制御量とし、走査位置が異なるごとに段階的に前記補正値を所定の割合で可変する請求項2に記載の画像処理装置。3. The image processing apparatus according to claim 2, wherein the correction control unit uses a value obtained by dividing the correction value from the displacement detection unit as a variable control amount, and changes the correction value stepwise at a predetermined ratio every time the scanning position is different. apparatus. 補正手段は、位置ずれ検出手段から出力される補正値を累積した累積補正値を生成する保持手段を備え、前記累積補正値によって走査位置を補正する請求項1に記載の画像処理装置。2. The image processing apparatus according to claim 1, wherein the correction unit includes a holding unit configured to generate a cumulative correction value obtained by accumulating the correction values output from the displacement detection unit, and corrects the scanning position based on the cumulative correction value. 3. 原稿画像を走査して読み取られた画像データと、前記画像データに対応する走査位置とを順次入力し、走査位置に基づいて前記画像データを画像メモリに格納する画像処理装置であって、
重複して走査する重なり走査領域内の、前記画像データと前記画像メモリに格納された格納データとから前記走査位置の位置ずれを検出し、前記位置ずれを補正する補正値を出力する位置ずれ検出手段と、前記補正値に基づいて前記走査位置を補正する補正手段と、補正された走査位置に基づいて前記画像データを前記画像メモリに格納する写像手段とを少なくとも備え、かつ、
前記写像手段は、隣接する画素から補間によって画像データを高密度化する画素密度変換手段と、走査位置に基づいて、高密度化した前記画像データ中の各画素の原稿上における実数座標値を、前記所定の画素密度を単位として算出する手段と、前記原稿上における実数座標値を、前記所定の画素密度を単位とする整数座標値に変換する整数化手段と、前記座標値の整数化の際に生じる座標誤差値を算出する手段と、前記整数座標値を前記画像メモリのアドレスに変換する手段と、前記座標誤差値の大きさと予め決められた所定の値とを比較する手段とを備え、前記座標誤差値の大きさが前記所定の値以下である画素のみを前記画像メモリのアドレスに格納することを特徴とする画像処理装置。
An image processing apparatus that sequentially inputs image data read by scanning a document image and a scanning position corresponding to the image data, and stores the image data in an image memory based on the scanning position,
Position shift detection for detecting a position shift of the scanning position from the image data and the stored data stored in the image memory in an overlapped scanning area for overlapping scanning, and outputting a correction value for correcting the position shift. Means, correction means for correcting the scanning position based on the correction value, and at least mapping means for storing the image data in the image memory based on the corrected scanning position, and
The mapping means, pixel density conversion means for increasing the density of the image data by interpolation from adjacent pixels, based on the scanning position, the real number coordinate value of each pixel in the density of the image data on the document, Means for calculating the predetermined pixel density as a unit, integer conversion means for converting a real number coordinate value on the document into an integer coordinate value using the predetermined pixel density as a unit, and converting the coordinate value to an integer. and means for calculating the coordinate error values occurring, and means for converting the integer coordinates to the address of the image memory, and means for comparing a predetermined value determined in advance and the size of the coordinate error values, The image processing apparatus according to claim 1, wherein only pixels having a magnitude of the coordinate error value equal to or smaller than the predetermined value are stored in an address of the image memory.
画素密度変換手段は、被処理画素とその周辺の隣接画素を用いて補間画素を生成する手段を備え、当該手段によって画像データを2倍の画素密度に変換する請求項5に記載の画像処理装置。6. The image processing apparatus according to claim 5, wherein the pixel density conversion means includes means for generating an interpolated pixel using the pixel to be processed and neighboring pixels around the pixel, and converts the image data into a double pixel density by the means. . 被処理画素Pi,j (但し、画像データ中、iライン目の画像データのj番目の画素データを示す。)とその周辺の隣接画素Pi,j+1 、Pi-1,j 、Pi-1,j+1 を用いて、下記(数1)より補間画素Qi,j 、Ri,j 、Si,j を算出する請求項6に記載の画像処理装置。
[数1]
i,j =(Pi,j +Pi,j+1 )/2
i,j =(Pi,j +Pi-1,j )/2
i,j =(Pi,j +Pi,j+1 +Pi-1,j +Pi-1,j+1 )/4
The pixel to be processed P i, j (however, the j-th pixel data of the i-th image data in the image data is shown) and its neighboring pixels P i, j + 1 , P i-1, j , 7. The image processing apparatus according to claim 6, wherein the interpolation pixels Q i, j , R i, j , and S i, j are calculated from the following (Equation 1) using P i−1, j + 1 .
[Equation 1]
Q i, j = (P i, j + P i, j + 1 ) / 2
R i, j = (P i, j + P i-1, j ) / 2
S i, j = (P i, j + P i, j + 1 + P i-1, j + P i-1, j + 1 ) / 4
所定の値は、所定の画素密度を単位として0.3〜0.35である請求項5に記載の画像処理装置。The image processing apparatus according to claim 5, wherein the predetermined value is 0.3 to 0.35 in units of a predetermined pixel density.
JP08056895A 1994-04-14 1995-04-05 Image processing device Expired - Fee Related JP3602884B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08056895A JP3602884B2 (en) 1994-04-14 1995-04-05 Image processing device

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP7585894 1994-04-14
JP6-187482 1994-08-09
JP6-75858 1994-08-09
JP18748294 1994-08-09
JP08056895A JP3602884B2 (en) 1994-04-14 1995-04-05 Image processing device

Publications (2)

Publication Number Publication Date
JPH08107479A JPH08107479A (en) 1996-04-23
JP3602884B2 true JP3602884B2 (en) 2004-12-15

Family

ID=27301966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08056895A Expired - Fee Related JP3602884B2 (en) 1994-04-14 1995-04-05 Image processing device

Country Status (1)

Country Link
JP (1) JP3602884B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL118914A0 (en) 1996-07-22 1996-10-31 Zohar Argamanit Ltd Hand-holdable optical scanner particularly useful as electronic translator
US6233066B1 (en) 1997-08-06 2001-05-15 Matsushita Electric Industrial Co., Ltd. Image processing apparatus, method for image processing, and image reader apparatus
SE0303370D0 (en) 2003-12-16 2003-12-16 Anoto Ab Method, apparatus, computer program and storage medium for recording a movement of a user unit
CN113408717A (en) * 2020-03-17 2021-09-17 安徽寒武纪信息科技有限公司 Computing device, method, board card and computer readable storage medium
CN113592956B (en) * 2021-07-30 2023-12-19 武汉精测电子集团股份有限公司 Multi-lens combined calibration method and device based on microscopic detection machine

Also Published As

Publication number Publication date
JPH08107479A (en) 1996-04-23

Similar Documents

Publication Publication Date Title
US5930411A (en) Image processing apparatus for adjusting scanning position
US5949921A (en) Image processing apparatus for reading an image by hand scanning
US8379054B2 (en) Image synthesis method, image synthesis apparatus, and storage medium
US6304313B1 (en) Digital camera and document processing system using the digital camera
KR100525425B1 (en) Image warping method and apparatus
US8937753B2 (en) Image scanning apparatus, image compensation method and computer-readable recording medium
JP2019120749A (en) Display controller, image projection system, control method and program
JP3602884B2 (en) Image processing device
US6345116B1 (en) Image processing apparatus
JPH08214130A (en) Image processing unit
CN1210951C (en) Projection display device with distortion correction function
JP4270035B2 (en) Image processing device
JP2006203710A (en) Image processing unit
JP2005086598A (en) Device, method, program, and circuit for processing image
JPH0851526A (en) Image processing unit
JPH0851532A (en) Image processing unit and image processing method
JP2005352703A (en) Image processing apparatus
EP0268359B1 (en) Method and apparatus for processing video image signals
US5428461A (en) Reduction image converting device
JP3184478B2 (en) Image processing device
JPH09116710A (en) Edit area setting device and image reader
JPH0851531A (en) Image processing unit
JPH1198348A (en) Method and device for processing picture
JP2000322565A (en) Image data correcting circuit
JP2004129212A (en) Image projection device and image transformation method

Legal Events

Date Code Title Description
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: 20040915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040927

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081001

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091001

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees