JP2002042127A - ベクタ方向変換方法及びその方法を用いた画像データ読み取り装置 - Google Patents

ベクタ方向変換方法及びその方法を用いた画像データ読み取り装置

Info

Publication number
JP2002042127A
JP2002042127A JP2000230260A JP2000230260A JP2002042127A JP 2002042127 A JP2002042127 A JP 2002042127A JP 2000230260 A JP2000230260 A JP 2000230260A JP 2000230260 A JP2000230260 A JP 2000230260A JP 2002042127 A JP2002042127 A JP 2002042127A
Authority
JP
Japan
Prior art keywords
vector
image data
scanning
circuit
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000230260A
Other languages
English (en)
Inventor
Hisashi Nishimura
西村  久
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.)
Olympus Corp
Original Assignee
Olympus Optical 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 Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP2000230260A priority Critical patent/JP2002042127A/ja
Publication of JP2002042127A publication Critical patent/JP2002042127A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 ハードウエア化が容易で演算速度の高速化を
図ることが可能なベクタ方向変換方法及びその方法を用
いた画像データ読み取り装置を提供する。 【解決手段】 認識パターンを有する画像データを撮像
する撮像手段101 と、画像データを記憶するフレームメ
モリ104 と、記憶した画像データを所定方向に読み取り
走査を行うフレームメモリ制御部105 と、読み取り走査
した画像データを演算処理し認識パターンがもつ情報に
変換する情報変換部106 とを有する画像データ読み取り
装置において、フレームメモリ制御部が走査開始点から
の走査方向を等間隔で変えた走査アドレス列を生成する
走査アドレス発生部114 を備え、走査アドレス発生部
は、走査方向を表すベクタの大きさを調節するベクタ量
調節回路201 と、ベクタを等間隔に方向を振って変化さ
せるベクタ方向変換回路202 と、走査アドレス列を演算
するアドレス演算回路203 ,204 とで構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ベクタ方向変換
方法及びその方法を用いた画像データ読み取り装置、特
に特定の認識パターンを有する画像データをCCD等の
撮像素子により撮像しメモリに書き込み画像処理を行う
装置において、前記画像データの走査ラインを発生する
のに有効な手段を備え、IC化による処理速度の高速化
を実現できるようにした画像データ読み取り装置に関す
る。
【0002】
【従来の技術】一般に、CCD等の撮像手段によって撮
像され、DRAM等の記憶素子に蓄えられた、例えばバ
ーコードのような特定の認識パターンを有する画像デー
タは、前記記憶素子にどのような傾きあるいは歪みをも
って記憶されているか一義的に決まっていない。なお、
ここで述べている歪みとは、例えば長方形のパターンが
台形に変形して撮像されていることを示している。
【0003】そこで、まず該画像データの例えば特定の
認識パターンの端部、あるいは特異なマーカを発見する
処理を実施し、認識パターンの存在及び位置を確認する
必要がある。認識パターンが矩形である場合は、その端
部あるいは特異なマーカの辺上の点と辺の傾きを得るこ
とで認識パターンの位置を確定することができる。
【0004】例えば、2次元バーコードを読み取るため
には、コード内に含まれている黒と白の繰り返しパター
ンを読み残しなく、且つ重複して読み取ることのない効
率的な走査ラインを生成することが必要である。この走
査ラインを生成するためには、2次元バーコードの端部
及び特異なマーカの位置を正確に把握し、2次元バーコ
ードの傾き及び歪みの情報を得ることが不可欠である。
【0005】従来の画像データ読み取り装置では、速く
正確に矩形の特定の認識パターンの端部あるいは特異な
マーカの辺の方向を得るために、図9に示すような構成
のものが用いられていた。すなわち、図9において、90
1 は一段目の方向検出装置、902 は二段目の方向検出装
置、903 は高速走査装置、904 は走査装置、905 は方向
変換装置である。このように、方向検出装置は二段構成
となっており、一段目の方向検出装置901 は高速走査装
置903 を備え、二段目の方向検出装置902 は走査装置90
4 と方向変換装置905 を備えている。
【0006】図10は、特定の認識パターンの端部あるい
は特異なマーカの辺の方向を得る際の作用を説明する図
である。次に、図10を参照しながら、図9に示した画像
データ読み取り装置の動作について説明する。第一段階
として、特定の認識パターンを有する画像データは、方
向検出装置901 に入力されて、特定の認識パターンの端
部あるいは特異なマーカの辺の方向が粗く設定される。
高速走査装置903 は、例えば画像データの画素数を間引
くなどして、精度は低いが短い時間で画像データの読み
取り走査を行っている。辺の方向は、例えば辺上の2点
である点1001及び点1002を結ぶ方向1005として得ること
ができる。
【0007】第一段階で得た粗く設定された方向1005
は、第二段階として、方向検出装置902 において精度の
向上が図られる。点1001及びその近傍点(点1003,点10
04など)を走査開始点として、方向変換装置905 によっ
て方向1005を等間隔に変化させた方向1006に、走査装置
904 によって画像データの読み取り走査を行う。走査結
果をもとに最も正確な方向を選出し、特定の認識パター
ンの端部あるいは特異なマーカの辺の方向とする。
【0008】上記第二段階における方向を振る、つまり
方向を変化させる処理は、振り幅が等間隔であることが
要求されておれば、方向を角度表現して角度を等間隔で
変化させる手法が一般的である。そこで、方向変換装置
905 は、傾き値あるいはベクタで表現された方向を三角
関数によって角度に変換した上で方向を変化させて振
り、振り終えた角度を再度傾き値あるいはベクタに変換
している。
【0009】すなわち、例えばベクタの方向を変化させ
る場合、角度への変換にarctan演算が、角度からベクタ
へ戻す変換に sin演算及び cos演算が必要であり、この
ような複雑な関数演算はソフトウェアによって処理され
ている。
【0010】
【発明が解決しようとする課題】上記従来の画像データ
読み取り装置によって、撮像された画像データの特定の
認識パターンの端部あるいは特異なマーカの位置を検出
することは可能である。しかし、画像データ読み取り装
置を小型高速化するには、演算量の多さ、ハードウェア
化の困難な処理機能構成の面から、コストの増大、及び
性能の低下を招くことは必至である。
【0011】本発明は、従来の画像データ読み取り装置
の上記問題点を解消するためなされたもので、ハードウ
ェア化が容易で、小型化と演算速度の高速化を図りコス
トを低減することの可能なベクタ方向変換方法及びその
方法を用いた画像データ読み取り装置を提供することを
目的とする。
【0012】
【課題を解決するための手段】上記問題点を解決するた
め、請求項1に係る発明は、ベクタの方向を等角度間隔
で順次変化させるベクタ方向変換方法において、初期ベ
クタの方向成分に対して、正接 tanθの等差数列の補正
量を生成するベクタ補正量演算手段から得られる補正量
を、加減算処理手段で加減算処理して、角度θと正接 t
anθが線形近似する領域において、ベクタの方向成分を
角度θに変換することなく正接 tanθのまま、等しい角
度間隔で方向を変化させることを特徴とするものであ
る。
【0013】一般に、方向変換振り角θが小さい領域
(−45°〜+45°)においては、振り角θとその正接 t
anθは線形近似可能である。したがって、 tanθを等差
数列で等間隔に変化させれば、角度θも等間隔に変化す
る。そして初期ベクタから振り角θだけ方向を変化させ
たベクタは、初期ベクタの成分と tanθとで表すことが
できるから、本発明のように、この tanθを等間隔に変
化させることで、ベクタを角度に変換することなくベク
タ表現のまま、等間隔にベクタの方向を変化させること
により、ハードウェア化が容易で演算速度の高速化を図
ることの可能なベクタ方向変換方法を実現することがで
きる。
【0014】請求項2に係る発明は、バーコードなどの
特定の認識パターンを有する画像データを撮像するため
のCCD等の撮像手段と、画像データの白黒を表す多階
調の輝度値を画素単位で記憶するためのDRAM等の記
憶素子と、記憶した画像データを所定方向に読み取り走
査を行うための記憶素子制御手段と、読み取り走査した
画像データから白/黒情報に演算処理し、認識パターン
が持つ情報に変換する情報変換手段とからなる画像デー
タ読み取り装置において、前記記憶素子制御手段が、走
査開始点からの走査方向を等間隔に変換する走査アドレ
ス列を生成する走査アドレス発生手段を有し、該走査ア
ドレス発生手段は、走査方向を表すベクタの大きさを調
節するベクタ量調節手段と、該ベクタを等間隔に方向を
変化させるベクタ方向変換手段と、走査アドレス列を演
算するアドレス演算手段を備えることを特徴とするもの
である。
【0015】このように構成した画像データ読み取り装
置においては、ベクタ量調節手段によってベクタ量を予
め設定した範囲の大きさに調節し、調節されたベクタを
もとに方向を変換した方向変換ベクタを生成し、アドレ
ス演算手段によって方向変換ベクタの方向にアドレス列
を演算する機能を備えた走査アドレス発生手段により、
記憶素子制御手段は走査開始点から等間隔に方向を変化
させた走査ライン上のアドレス列に従って記憶した輝度
値を読み取ることができる。これにより、簡単な回路構
成で走査方向の変換が可能となり、回路規模の縮小及び
演算速度の向上を図った画像読み取り装置を実現するこ
とができる。
【0016】請求項3に係る発明は、請求項2に係る画
像データ読み取り装置において、前記ベクタ量調節手段
は、2成分を有するベクタのうち大きい方の成分を予め
設定した大きさになるようにビットシフトし、他方の成
分も同数のビットシフトを行うビットシフト手段と、ビ
ットシフトした値を評価するための評価手段とを有し、
前記ベクタ方向変換手段における演算精度を確保できる
大きさにベクタ量を調節することを特徴とするものであ
る。
【0017】このように、ベクタ量調節手段は、ビット
シフト手段と評価手段とを有しており、2成分を有する
ベクタ成分のうち、大きい方の成分が予め設定した大き
さになるように評価手段で値を評価しながらビットシフ
トし、他方の成分も同数のビットシフトを行いベクタ量
を調節するようになっており、このようにしてベクタ量
を調節することにより、ベクタ方向変換手段における演
算精度を容易に確保することが可能となる。
【0018】請求項4に係る発明は、請求項2に係る画
像データ読み取り装置において、前記ベクタ方向変換手
段は、方向変換に必要なベクタ補正量を演算するベクタ
補正量演算手段と、補正量を加算あるいは減算する変換
ベクタ演算手段とを有し、ベクタを角度に変換して再度
ベクタに変換することなく、ベクタのまま等間隔に方向
を変化させることを特徴とするものである。
【0019】このように、ベクタ方向変換手段はベクタ
補正量演算手段と変換ベクタ演算手段とを有しており、
等間隔に方向を変化させる場合のベクタの補正量を演算
し、該補正量を加算あるいは減算して方向を変化させた
ベクタを生成する。したがって、ベクタから角度に変換
して再度ベクタに変換する複雑な関数演算を廃し、ベク
タ補正量を加減算するだけの簡易な手法でベクタの方向
を変化させ、回路規模の縮小及び演算速度の向上を図る
ことができる。
【0020】請求項5に係る発明は、請求項2に係る画
像データ読み取り装置において、前記アドレス演算手段
は、走査方向を表すベクタの2成分の大きさを比較する
成分比較手段と、走査方向を示すベクタの絶対値が大き
い成分に相当する走査ライン上のアドレス成分を発生す
る大成分発生手段と、走査方向を示すベクタの絶対値が
小さい成分に相当するアドレス成分を演算する小成分演
算手段とを有することを特徴とするものである。
【0021】このように、アドレス演算手段は、成分比
較手段と大成分発生手段と小成分演算手段を有してお
り、走査方向を表すベクタの大きい方の成分に関して1
画素毎に走査アドレスを発生し、小さい方の成分は対応
する値を演算するようになっている。したがって、走査
方向を表すベクタの大きい方の成分の走査アドレスは、
カウントアップあるいはカウントダウンによって生成
し、小さい方の成分もイネーブル信号を備えたカウント
アップあるいはカウントダウンによって生成することに
より、演算量の少ないハードウェアによって、高速に走
査アドレスを発生することが可能となる。
【0022】
【発明の実施の形態】次に、実施の形態について説明す
る。なお、以下の説明においては、「画像データの読み
取り走査」を、単に「走査」と表現することとする。図
1は、本発明に係る画像読み取り装置の実施の形態を示
すブロック構成図である。図1において、101 はCCD
等の撮像手段、102 は増幅器、103 はA/D変換器、10
4 はフレームメモリ、105 はフレームメモリ104 の制御
部、106 は情報変換部、107 はワークメモリ、108 はシ
ステム全体を制御するプロセッサ、109 はプロセッサを
補助する周辺回路、110 はプロセッサバスである。114
は走査アドレス発生部、115 は走査方向変換部で、フレ
ームメモリの制御部105 は走査方向変換部115 を有する
走査アドレス発生部114 で構成されている。また、111
はDMA転送部、112 は輝度値情報を白/黒情報に演算
処理する2値化回路、113 はコード検出部で、これらは
情報変換部106 を構成している。なお、フレームメモリ
の制御部105 ,情報変換部106 ,ワークメモリ107 ,プ
ロセッサ108 ,周辺回路109 はプロセッサバス110 によ
って接続されている。
【0023】次に、バーコードを読み取る場合を動作例
として挙げ、画像データ読み取り装置のシステム全体の
動作について説明する。まず、CCD等の撮像手段101
で取り込まれたバーコードを含む画像情報は、増幅器10
2 を介してA/D変換器103によって、所望のビット長
に多値変換され、フレームメモリ104 内に取り込まれ
る。この際、メモリ制御部105 はフレームメモリ104 へ
格納するために必要な制御信号を発生する。
【0024】次に、フレームメモリ104 内の画像データ
をメモリ制御部105 の制御によって走査する。すなわ
ち、メモリ制御部105 に備えた走査アドレス発生部114
により、最初に粗く走査し、バーコードの位置及び方向
の概略を得る。次に、バーコードの端部あるいは特異な
マーカ近傍において、走査アドレス発生部114 及び走査
方向変換部115 により、走査開始アドレス及び走査方向
を微小量ずつ振って変え、バーコードの端部あるいは特
異なマーカの正確な位置と方向を得る。走査アドレス発
生部114 及び走査方向変換部115 はハードウェア化によ
って、より高速処理を行うことが可能である。
【0025】メモリ制御部105 が動作しているときに、
情報変換部106 も同時に動作している。走査された輝度
値データから2値化回路112 によって、バー/スペース
の幅データを生成していき、逐次コード検出部113 に与
え、発見したバーコードの情報をプロセッサ108 に知ら
せる。該プロセッサ108 は、メモリ制御部105 が走査し
た位置及び方向と、情報変換部106 が生成したバーコー
ド情報から、走査結果の判定、メモリ制御部105 への動
作命令を行っている。
【0026】バーコードの端部あるいは特異なマーカの
正確な位置と方向が得られたら、プロセッサ108 はバー
コード情報を検出するための走査ラインの本数及び位置
/方向の初期設定をメモリ制御部105 に対して実行し、
メモリ制御部105 はフレームメモリ104 を走査し、情報
変換部106 はバーコード情報に変換していく。
【0027】以上が、本発明に係る画像データ読み取り
装置の全体の処理であり、次に述べる走査アドレス発生
部以外の機能に関する詳細な説明は省略する。
【0028】図2は、図1に示した実施の形態における
走査アドレス発生部114 の構成例を示すブロック図であ
る。図2において、201 はベクタ量調節回路、202 はベ
クタ方向変換回路、203 及び204 はアドレス演算回路で
あり、これらで走査アドレス発生部114 が構成されてい
る。
【0029】図3は、走査アドレス発生部114 の動作を
説明するための図で、図2に示した走査アドレス発生部
114 のバス信号である初期ベクタ(Vsx,Vsy),初期
走査開始アドレス(Xs0,Ys0),大きさ補正ベクタ
(Vx ,Vy ),走査開始アドレス(X0 ,Y0 ),方
向変換ベクタ(Wx ,Wy ),走査アドレス(X,Y)
の例を図示している。
【0030】走査アドレス発生部114 は、プロセッサ10
8 から与えられる初期ベクタ(Vsx,Vsy)と初期走査
開始アドレス(Xs0,Ys0)から、走査アドレス(X,
Y)を発生する回路である。例えば、バーコードの端
部、あるいは特異なマーカのある辺上、あるいは誤差に
起因してその近傍に、P1とP2の2点が検出された場
合、プロセッサ108 はP1からP2に向かうベクタを初
期ベクタ(Vsx,Vsy),P1のアドレスを初期走査開
始アドレス(Xs0,Ys0)として走査アドレス発生部11
4 にセットする。
【0031】ベクタ量調節回路201 は、初期ベクタ(V
sx,Vsy)と方向が一致して大きさの異なる大きさ補正
ベクタ(Vx ,Vy )を、ベクタ方向変換回路202 及び
アドレス演算回路203 ,204 における演算処理が所望の
精度を確保できる大きさとなるように、生成する。ベク
タ方向変換回路202 は、大きさ補正ベクタ(Vx ,Vy
)を等間隔に振って変化させた方向を示す方向変換ベ
クタ(Wx ,Wy )を生成する。アドレス演算回路203
は、初期走査開始アドレス(Xs0,Ys0)から大きさ補
正ベクタ(Vx ,Vy )と直交する方向に移動した走査
開始アドレス(X0 ,Y0 )を生成する。アドレス演算
回路204 は、走査開始アドレス(X0 ,Y0 )から方向
変換ベクタ(Wx ,Wy )の方向に移動した走査アドレ
ス(X,Y)を生成する。
【0032】上記走査アドレス発生部114 を構成する各
回路は、クロックあるいは該クロックをベースに任意の
周期に設定した仮想クロック(以下単にクロックと表現
する)に従って動作し、各回路の出力波形は図4に示す
ようになる。すなわち、走査アドレス(X,Y)はクロ
ックCLKの立ち上がりエッヂで設定され、方向変換ベ
クタ(Wx ,Wy )の示す方向に、クロック1周期毎に
1つのアドレスを発生する。
【0033】信号LSは、1走査ライン毎に生ずるパル
ス信号で、信号LSが‘H’のときのCLKの立ち上が
りエッヂで、走査アドレス(X,Y)に走査開始アドレ
ス(X0 ,Y0 )をセットする。また、同時にこの時点
から開始する走査ラインに適用する方向変換ベクタ(W
x ,Wy )に切り換える。
【0034】信号DSは、走査開始点を変化させる毎
に、すなわちある走査開始アドレスからの走査ラインを
振る本数に相当する回数のLSが発生する毎に生ずるパ
ルス信号で、信号DSが‘H’のときのCLK立ち上が
りエッヂで、次の信号LSが発生してから開始する走査
ライン群に適用する新たな走査開始アドレス(X0 ,Y
0 )に切り換える。
【0035】以上のように走査アドレス発生部114 は、
上記のタイミングにより、走査開始アドレス及び走査方
向を変化させながら、走査アドレス(X,Y)を生成す
る。
【0036】図5は、図2に示した走査アドレス発生部
におけるベクタ量調節回路201 の構成例を示すブロック
図である。図5において、501 及び502 はシフトレジス
タ、503 はOR回路、504 は最上位ビット監視回路であ
り、これらの回路でベクタ量調節回路201 を構成してい
る。
【0037】ベクタ量調節回路201 は、符号を取り去っ
た初期ベクタの絶対値(Vsx,Vsy)の2成分のうち大
きい方の成分を、予め範囲をもって設定した大きさに変
換し、他方の成分も同率の大きさに変換して、走査アド
レス発生時の精度が確保できる大きさの大きさ補正ベク
タの絶対値(Vx ,Vy )を生成する回路である。な
お、符号情報はベクタ量調節回路201 においては不要で
あるため、絶対値による演算処理を行っている。
【0038】初期ベクタのx成分Vsxをシフトレジスタ
501 に、y成分Vsyをシフトレジスタ502 にセットす
る。2成分Vsx及びVsyのビット長は任意に設定可能で
あるが、例えばフレームサイズが 640×480 であれば、
最大値640 を表現できる10ビットを確保しておくとよ
い。
【0039】シフトレジスタ501 ,502 の段数は、大き
さ補正ベクタに必要とするビット長に応じて決定する。
例えば、大きさ補正ベクタ(Vx ,Vy )の大きい方の
成分が、 128〜255 となるようにするためには、大きさ
補正ベクタのビット長を8ビットとし、シフトレジスタ
501 ,502 の段数を8段とする。
【0040】シフトレジスタ501 はVsxの最上位ビット
から順に1段目のレジスタにデータを入れていき、クロ
ックに従って順次値をシフトしていく。一方、シフトレ
ジスタ502 はVsyの最上位ビットから順に1段目のレジ
スタにデータを入れていき、クロックに従って順次値を
シフトしていく。両者ともVsx及びVsyのビット数分の
データを入力し終えたら、‘0’を入れていく。
【0041】シフトレジスタ501 及び502 の最上段のレ
ジスタに保たれているデータを最上位ビット、最下段の
レジスタに保たれているデータを最下位ビットとして出
力するものが、大きさ補正ベクタ(Vx ,Vy )であ
る。
【0042】OR回路503 は、Vx の最上位ビットとV
y の最上位ビットとのORを取り、このデータを最上位
ビット監視回路504 に入力する。最上位ビット監視回路
504は、‘H’を検出すると、当初はアクティブであっ
たイネーブル信号をインアクティブに切り換える。イネ
ーブル信号は、シフトレジスタ501 及び502 に結線され
ており、インアクティブになると、シフトレジスタ501
及び502 はビットシフトを中止する。
【0043】以上のようにして、ベクタ量調節回路201
により、絶対値とした初期ベクタの2成分Vsx及びVsy
は、大きい方の成分が例えば 128〜255 の値になるよう
に2 n 倍された、大きさ補正ベクタの2成分Vx 及びV
y に変換される。
【0044】図6は、図2に示した走査アドレス発生部
114 におけるベクタ方向変換回路202 の構成例を示すブ
ロック図である。図6において、 601及び602 はベクタ
補正量演算回路、603 ,604 ,605 ,606 はセレクタ回
路、 607及び610 は減算回路、 608及び609 は加算回
路、 611及び612 はセレクタ回路であり、これらでベク
タ方向変換回路202 を構成している。このベクタ方向変
換回路202 は、符号情報を有した大きさ補正ベクタ(V
x ,Vy )を等間隔に方向を振って変換した方向変換ベ
クタ(Wx ,Wy )を生成する回路である。
【0045】次に、このような構成のベクタ方向変換回
路202 の動作について説明する。まず、本回路の基本原
理に関して説明する。ベクタ量調節回路201 から出力さ
れる大きさ補正補正ベクタ(Vx ,Vy )を、θ[degre
e]振って方向変換したベクタ(Wx ,Wy )は、(1)
式及び(2)式で表される。 Wx = cos〔arctan(Vy/Vx )+θ〕 ・・・・・・・・(1) Wy = sin〔arctan(Vy/Vx )+θ〕 ・・・・・・・・(2) ベクタの大きさは変化するが、方向を維持して変形する
と、(3)式及び(4)式となる。 Wx =Vx −Vy tanθ ・・・・・・・・・・・・(3) Wy =Vy +Vx tanθ ・・・・・・・・・・・・(4) (3)式及び(4)式のθを等差数列で与えれば、等間
隔に方向を振って変換したベクタ(Wx ,Wy )が得ら
れるが、三角関数演算が介入するため演算量が多い。
【0046】図7は、θと tanθの関係を示したグラフ
である。このグラフから変換振り角θの絶対値が小さい
ときには、θと tanθとは線形に近似できることが解か
る。したがって、振り角の小さい場合には、 tanθを等
差数列で与えても、等間隔に方向を振って変換したベク
タ(Wx ,Wy )を得ることが可能である。
【0047】具体的には、θが−45°〜45°程度の範囲
では、θと tanθはほぼ線形であり、例えば方向を1°
刻みで変化させるためには、 tanθの公差を0.0175程
度、2°刻みで変化させるためには 0.035程度とすれば
よい。しかし、これらの値を用いたのでは演算量が軽減
できないため、ビットシフトによって演算時間を短縮で
きるように、約1°刻みの場合は1/64,約2°刻みの
場合は1/32とする。その他の刻み幅にする場合にも、
tanθの公差は1/2n で設定する。
【0048】以上により、例えば方向の刻み幅を約1°
刻みとした場合のベクタ(Wx ,Wy )は、(5)式及
び(6)式,あるいは(7)式及び(8)式で表され
る。 Wx =Vx −n(Vy >>6) ・・・・・・・・・・・・(5) Wy =Vy +n(Vx >>6) ・・・・・・・・・・・・(6) Wx =Vx +n(Vy >>6) ・・・・・・・・・・・・(7) Wy =Vy −n(Vx >>6) ・・・・・・・・・・・・(8) ここで、nは0,1,2,・・・・・で、θに関して正
方向に振った場合が(5)式及び(6)式で表され、θ
に関して負方向に振った場合が(7)式及び(8)式で
表される。また、上記(5)〜(8)式において、“>
>6”は右に6ビットシフトの意味である。
【0049】以上の基本原理に沿って、ベクタ方向変換
回路202 を構成している。この回路を構成するベクタ補
正量演算回路 601及び602 は、下位ビットに向かってビ
ットシフトする回路で、例えば6ビットシフトして1/
32倍した値を得る。補正量演算回路601 は、(5)式及
び(7)式の第2項に存在する例えば(Vy >>6)の
演算を行い、補正量演算回路602 は、(6)式及び
(8)式の第2項に存在する例えば(Vx >>6)の演
算を行い、方向ベクタを生成する際に必要な補正量を演
算する。なお、ある一つの特定認識パターンの端部ある
いは特異なマーカの辺を検出する間、補正ベクタ(Vx
,Vy )が変化することはない。したがって、ベクタ
補正量演算回路601 ,602 における補正量の演算は、一
つの辺の検出につき1回だけ動作する。
【0050】方向変換ベクタの生成は、図4に示す波形
図におけるパルス信号LSが発生する間隔を1周期と
し、この間に一つの方向変換ベクタ(Wx ,Wy )を生
成する。パルス信号LSが発生するときのクロック立ち
上がりエッヂから1LSパルス周期が、1本の走査ライ
ン発生期間であり、この期間に(Wx ,Wy )が参照さ
れる。方向変換ベクタ(Wx ,Wy )の更新は、パルス
信号LSが発生するときのクロック立ち上がりエッヂで
行う。
【0051】また、図4に示す波形図におけるパルス信
号DSが発生した直後のパルス信号LSが発生するとき
の、クロック立ち上がりエッヂから1DSパルス周期
が、一つの走査開始アドレス(X0 ,Y0 )から方向を
変化させた走査ラインを発生する期間である。新たな走
査開始アドレス(X0 ,Y0 )が設定されるのと同時
に、方向変換ベクタ(Wx ,Wy )には初期値である大
きさ補正ベクタ(Vx ,Vy )が設定される。この選択
を行うのがセレクタ回路603 ,604 ,605 ,606 で、ス
イッチ信号SW1によって切り換えられる。スイッチ信
号SW1の切り換えは、図4の波形図におけるパルス信
号DSが発生した直後にパルス信号LSが発生したとき
は(Vx ,Vy )を選択し、それ以外の場合は1周期前
の値を選択するように行われる。
【0052】減算回路607 は、θに関して正方向に方向
を振って変化させた方向変換ベクタのx成分Wx を演算
する回路で、初期値Vx あるいは前回の演算値から、ベ
クタ補正量演算回路601 で得られた補正量を減ずる。加
算回路608 は、θに関して負方向に方向を振って変化さ
せた方向変換ベクタのx成分Wx を演算する回路で、初
期値Vx あるいは前回の演算値に、ベクタ補正量演算回
路601 で得られた補正量を加える。加算回路609 は、θ
に関して正方向に方向を振って変化させた方向変換ベク
タのy成分Wy を演算する回路で、初期値Vy あるいは
前回の演算値に、ベクタ補正量演算回路602 で得られた
補正量を加える。減算回路610 は、θに関して負方向に
方向を振って変化させた方向変換ベクタのy成分Wy を
演算する回路で、初期値Vy あるいは前回の演算値か
ら、ベクタ補正量演算回路602 で得られた補正量を減ず
る。
【0053】例えば、θに関して正方向に振って変化さ
せた方向変換ベクタと負方向に振って変化させた方向変
換ベクタとを交互に生成する場合、上記各加算回路及び
減算回路は、図4に示す波形図における2LSパルス周
期につき1回の動作を行う。減算回路607 と加算回路60
9 とが、例えばあるDSパルス周期における奇数回目の
LSパルス周期に動作し、加算回路608 と減算回路610
とが、あるDSパルス周期における偶数回目のLSパル
ス周期に動作する。
【0054】セレクタ 611及び612 は、θに関して正方
向に振って変化させた方向変換ベクタと負方向に振って
変化させた方向変換ベクタとを選択する回路で、スイッ
チ信号SW2によって切り換えられる。セレクタ603 ,
604 ,605 ,606 が初期値を選んだ場合は、スイッチ信
号SW2の選択はどちらでもよいが、例えばθに関して
正方向に振って変化させた方向変換ベクタと、負方向に
振って変化させた方向変換ベクタとを交互に生成する場
合には、スイッチ信号SW2はLSパルス周期毎に交互
に切り換えられる。
【0055】ベクタ方向変換回路202 の以上のような流
れの動作によって、方向変換ベクタ(Wx ,Wy )が生
成され、レジスタを用いてパルス信号LSが発生すると
きのクロック立ち上がりエッヂで、ベクタ方向変換回路
202 から出力される。
【0056】図8は、図2に示した走査アドレス発生部
114 におけるアドレス演算回路の構成例を示すブロック
図である。図8において、801 は比較回路、802 はセレ
クタ回路、803 はカウントアップ/カウントダウン回
路、804 はイネーブル端子付きのカウントアップ/カウ
ントダウン回路、 805及び806 は符号/絶対値分離回
路、807 は1/2演算回路、808 はセレクタ回路、809
は加算回路、810 は比較回路、811 は減算回路、812 は
セレクタ回路であり、これらでアドレス演算回路を構成
している。なお、図8に示した本アドレス演算回路にお
ける入出力信号は、図2におけるアドレス演算回路204
の例として示したものである。以下の動作説明において
もこれに基づいて行う。
【0057】アドレス演算回路204 は、走査開始アドレ
ス(X0 ,Y0 )と方向変換ベクタ(Wx ,Wy )とか
ら、クロックに従って走査アドレス(X,Y)を演算す
る回路である。比較回路801 は、方向変換ベクタ(Wx
,Wy )の2成分の絶対値の大きさを比較し、絶対値
の大きい成分であるベクタ大成分と、絶対値の小さい成
分であるベクタ小成分とを出力する。また、どちらの成
分の絶対値が大きいかを示す判定信号を出力する。セレ
クタ回路802 は、比較回路801 から出力された判定信号
をもとに、方向変換ベクタ(Wx ,Wy )の絶対値の大
きい成分に相当する大成分開始アドレスと、方向変換ベ
クタ(Wx ,Wy )の絶対値の小さい成分に相当する小
成分開始アドレスを、走査開始アドレス(X0 ,Y0 )
の2成分から選択する。
【0058】符号/絶対値分離回路805 は、ベクタ大成
分を符号と絶対値の信号とに分離する。符号/絶対値分
離回路806 は、ベクタ小成分を符号と絶対値の信号とに
分離する。カウントアップ/カウントダウン回路803
は、大成分開始アドレスを初期値として、符号/絶対値
分離回路805 が出力した符号信号が正を示していれば、
クロックに従ってカウントアップ、符号信号が負を示し
ていれば、クロックに従ってカウントダウンする。
【0059】カウントアップ/カウントダウン回路804
は、小成分開始アドレスを初期値として、符号/絶対値
分離回路806 が出力した符号信号が正を示していれば、
比較回路810 が出力したイネーブル信号がアクティブで
あるときに、クロックに従ってカウントアップ、符号信
号が負を示していれば、比較回路810 が出力したイネー
ブル信号がアクティブであるときに、クロックに従って
カウントダウンする。
【0060】1/2演算回路807 は、符号/絶対値分離
回路805 が出力した絶対値データ信号に対して、ビット
シフトによって1/2倍の演算を行う。セレクタ回路80
8 は、ベクタ大成分の絶対値の1/2の値を示す1/2
演算回路807 から出力されたデータ信号と、前の周期の
演算結果である加算回路809 及び減算回路811 を経てき
たデータ信号とを、スイッチ信号SWによって選択す
る。スイッチ信号SWは、走査ラインの開始時のみ、初
期値となるベクタ大成分の1/2の値を選択し、走査ラ
インのアドレスを順次発生している際には、前の周期の
演算結果を選択する。
【0061】加算回路809 は、ベクタ小成分の絶対値を
示す符号/絶対値分離回路806 から出力された絶対値デ
ータ信号と、初期値あるいは前の周期の演算結果を示す
セレクタ回路808 から出力されたデータ信号との加算処
理を、クロックに従って行う。比較回路810 は、加算回
路809 から出力されたデータ信号と、符号/絶対値分離
回路805 から出力されたデータ信号とを比較し、加算回
路809 から出力されたデータ信号の値が大きい場合に、
イネーブル信号をアクティブにする。
【0062】減算回路811 は、加算回路809 から出力さ
れたデータ信号から、ベクタ大成分の絶対値を示す符号
/絶対値分離回路805 から出力された絶対値データ信号
を減ずる処理を、比較回路810 が出力したイネーブル信
号がアクティブであるときに、クロックに従って行う。
【0063】セレクタ回路812 は、比較回路801 から出
力された判定信号をもとに、カウントアップ/カウント
ダウン回路803 から出力された大成分走査アドレスと、
カウントアップ/カウントダウン回路804 から出力され
た小成分走査アドレスとから、走査アドレス(X,Y)
を選択する。
【0064】以上の動作により、走査開始アドレス(X
0 ,Y0 )から方向変換ベクタ(Wx ,Wy )の方向に
向かった走査アドレス(X,Y)を、クロックに従って
発生することができる。
【0065】また、図2に示した走査アドレス発生部11
4 におけるアドレス演算回路203 も、図8に示した回路
構成と全く同様の回路構成であるが、大きさ補正ベクタ
(Vx ,Vy )の方向ではなく、(Vx ,Vy )に直交
する方向にアドレス列を生成するので、大きさ補正ベク
タ直交ベクタとして(Vx ,Vy )を(−Vy ,Vx)
に変換する回路が付加される。
【0066】
【発明の効果】以上実施の形態に基づいて説明したよう
に、請求項1に係る発明によれば、ハードウエア化が容
易で演算速度の高速化を図ることの可能なベクタ方向変
換方法を実現することができる。請求項2に係る発明に
よれば、簡単な回路構成で画像データの読み取り走査方
向の変換が可能となり、回路規模の縮小及び演算速度の
向上を図ることが可能な画像データ読み取り装置を実現
することができる。請求項3に係る発明によれば、請求
項2に係る画像データ読み取り装置において、ベクタ量
を調節することによりベクタ方向変換手段における演算
精度を容易に確保することが可能となる。請求項4に係
る発明によれば、請求項2に係る画像データ読み取り装
置において、ベクタ補正量を加減算するだけの簡単な手
法で、ベクタの方向変換を行うことでき、回路規模の縮
小及び演算速度の向上を図ることができる。請求項5に
係る発明によれば、請求項2に係る画像データ読み取り
装置において、演算量の少ないハードウエアによって高
速に走査アドレスを発生させることができる等の利点が
得られる。
【図面の簡単な説明】
【図1】本発明に係る画像データ読み取り装置の実施の
形態を示すブロック構成図である。
【図2】図1に示した実施の形態における走査アドレス
発生部の構成を示すブロック構成図である。
【図3】図2に示した走査アドレス発生部の動作を説明
するための説明図である。
【図4】図2に示した走査アドレス発生部の動作を説明
するための各信号波形を示すタイミングチャートであ
る。
【図5】図2に示した走査アドレス発生部におけるベク
タ量調節回路の構成例を示すブロック図である。
【図6】図2に示した走査アドレス発生部におけるベク
タ方向変換回路の構成例を示すブロック図である。
【図7】角度θと正接 tanθとの関係を示す図である。
【図8】図2に示した走査アドレス発生部におけるアド
レス演算回路の構成例を示すブロック図である。
【図9】従来の画像データ読み取り装置の構成例を示す
ブロック図である。
【図10】図9に示した画像データ読み取り装置の動作を
説明するための端部検出の走査態様を示す図である。
【符号の説明】
101 撮像手段 102 増幅器 103 A/D変換器 104 フレームメモリ 105 フレームメモリ制御部 106 情報変換部 107 ワークメモリ 108 プロセッサ 109 周辺回路 110 プロセッサバス 111 DMA転送部 112 2値化回路 113 コード検出部 114 走査アドレス発生部 115 走査方向変換部 201 ベクタ量調節回路 202 ベクタ方向変換回路 203,204 アドレス演算回路 501,502 シフトレジスタ 503 OR回路 504 最上位ビット監視回路 601,602 ベクタ補正量演算回路 603,604,605,606 セレクタ回路 607,610 減算回路 608,609 加算回路 611,612 セレクタ回路 801 比較回路 802 セレクタ回路 803 カウントアップ/カウントダウン回路 804 イネーブル端子付きカウントアップ/カウントダ
ウン回路 805,806 符号/絶対値分離回路 807 1/2演算回路 808 セレクタ回路 809 加算回路 810 比較回路 811 減算回路 812 セレクタ回路

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ベクタの方向を等角度間隔で順次変化さ
    せるベクタ方向変換方法において、初期ベクタの方向成
    分に対して、正接 tanθの等差数列の補正量を生成する
    ベクタ補正量演算手段から得られる補正量を、加減算処
    理手段で加減算処理して、角度θと正接 tanθが線形近
    似する領域において、ベクタの方向成分を角度θに変換
    することなく正接 tanθのまま、等しい角度間隔で方向
    を変化させることを特徴とするベクタ方向変換方法。
  2. 【請求項2】 バーコードなどの特定の認識パターンを
    有する画像データを撮像するためのCCD等の撮像手段
    と、画像データの白黒を表す多階調の輝度値を画素単位
    で記憶するためのDRAM等の記憶素子と、記憶した画
    像データを所定方向に読み取り走査を行うための記憶素
    子制御手段と、読み取り走査した画像データから白/黒
    情報に演算処理し、認識パターンが持つ情報に変換する
    情報変換手段とからなる画像データ読み取り装置におい
    て、前記記憶素子制御手段が、走査開始点からの走査方
    向を等間隔に変換する走査アドレス列を生成する走査ア
    ドレス発生手段を有し、該走査アドレス発生手段は、走
    査方向を表すベクタの大きさを調節するベクタ量調節手
    段と、該ベクタを等間隔に方向を変化させるベクタ方向
    変換手段と、走査アドレス列を演算するアドレス演算手
    段を備えることを特徴とする画像データ読み取り装置。
  3. 【請求項3】 前記ベクタ量調節手段は、2成分を有す
    るベクタのうち大きい方の成分を予め設定した大きさに
    なるようにビットシフトし、他方の成分も同数のビット
    シフトを行うビットシフト手段と、ビットシフトした値
    を評価するための評価手段とを有し、前記ベクタ方向変
    換手段における演算精度を確保できる大きさにベクタ量
    を調節することを特徴とする請求項2に係る画像データ
    読み取り装置。
  4. 【請求項4】 前記ベクタ方向変換手段は、方向変換に
    必要なベクタ補正量を演算するベクタ補正量演算手段
    と、補正量を加算あるいは減算する変換ベクタ演算手段
    とを有し、ベクタを角度に変換して再度ベクタに変換す
    ることなく、ベクタのまま等間隔に方向を変化させるこ
    とを特徴とする請求項2に係る画像データ読み取り装
    置。
  5. 【請求項5】 前記アドレス演算手段は、走査方向を表
    すベクタの2成分の大きさを比較する成分比較手段と、
    走査方向を示すベクタの絶対値が大きい成分に相当する
    走査ライン上のアドレス成分を発生する大成分発生手段
    と、走査方向を示すベクタの絶対値が小さい成分に相当
    するアドレス成分を演算する小成分演算手段とを有する
    ことを特徴とする請求項2に係る画像データ読み取り装
    置。
JP2000230260A 2000-07-31 2000-07-31 ベクタ方向変換方法及びその方法を用いた画像データ読み取り装置 Withdrawn JP2002042127A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000230260A JP2002042127A (ja) 2000-07-31 2000-07-31 ベクタ方向変換方法及びその方法を用いた画像データ読み取り装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000230260A JP2002042127A (ja) 2000-07-31 2000-07-31 ベクタ方向変換方法及びその方法を用いた画像データ読み取り装置

Publications (1)

Publication Number Publication Date
JP2002042127A true JP2002042127A (ja) 2002-02-08

Family

ID=18723243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000230260A Withdrawn JP2002042127A (ja) 2000-07-31 2000-07-31 ベクタ方向変換方法及びその方法を用いた画像データ読み取り装置

Country Status (1)

Country Link
JP (1) JP2002042127A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10316252B2 (en) 2014-09-05 2019-06-11 Fujifilm Corporation Polymerizable compound, polymer, polymerizable composition, and film

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10316252B2 (en) 2014-09-05 2019-06-11 Fujifilm Corporation Polymerizable compound, polymer, polymerizable composition, and film

Similar Documents

Publication Publication Date Title
WO2003096689A1 (en) Image angle detection device and scan line interpolation device having the same
JPH06325162A (ja) 画像処理装置
JP2002042127A (ja) ベクタ方向変換方法及びその方法を用いた画像データ読み取り装置
JP2004120585A (ja) 車載用走行車線認識装置
JP2001145014A (ja) 画像信号処理装置、画像信号処理方法及び記録媒体
JP3528115B2 (ja) 動き予測ベクトル検出回路
JPS5932742B2 (ja) 相関追尾装置
JP3022856B1 (ja) ナンバープレート位置抽出方式
JP2845376B2 (ja) 画素密度変換装置
JPS63254578A (ja) パタ−ン認識装置
JP3465910B2 (ja) 自動合焦方式
JP3068669B2 (ja) パターン認識装置
JP2008048459A (ja) 画像合成装置
JP3386491B2 (ja) 自動合焦方式
JP2766803B2 (ja) 変換回路
JP2002165095A (ja) 画像階調変換回路
JP2008305325A (ja) 画像処理装置および画像処理方法
JP3063188B2 (ja) 濃淡画像処理方法およびその装置
JPH0371326A (ja) 画線付加装置
JPS61278138A (ja) パタ−ンマツチング装置
JPH06231248A (ja) 画像処理装置
JPH0785274A (ja) ピークフィルタ
JPH04216179A (ja) 画像処理装置
JPS6242315B2 (ja)
JPS60217756A (ja) 信号処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002