(57)【要約】【課題】磁気ストライプの読み込みの際に、各トラックごとに読み込まれた磁気データ間の誤差を補正することができる技術を提供する。【解決手段】磁気データ読取装置１０００は、磁気ストライプ２０の複数の磁気トラックＴｒs，Ｔｒ1〜Ｔｒnを読み取る磁気ヘッド１００と、磁気ヘッド部１００の出力信号から磁気変化点を示す波形データＷｆs，Ｗｆ1〜Ｗｆnを生成する波形生成部２００と、複数の波形データ同士の位相の誤差を補正するデータ補正モジュール３２１を備える。データ補正モジュール３２１は、基準トラック波形データＷｆsと、位相差検出用波形データＷｆ1との各磁気変化点における位相差ＥYの平均Ｅavgを用いて、基準トラック波形データＷｆs以外の他の波形データＷｆ1〜Ｗｆnの各位相を、基準トラックＴｒsから他の波形データＷｆ1〜Ｗｆnに対応する各磁気トラックＴｒ1〜Ｔｒnまでの距離に応じて補正する。【選択図】図９
2009129517.tif 000002
【特許請求の範囲】
【請求項１】
並列なＮ本（Ｎは３以上の整数）の磁気トラックとして書き込まれた磁気データを読み取る磁気データ読取装置であって、
前記Ｎ本の磁気トラックのそれぞれについて、磁化方向の変化を検出するＮ個の磁気ヘッド素子若しくは複数の磁気検知部が搭載されている磁気ヘッドと、
前記磁化方向が変化する変化点をピークとして示すパルスを含むＮ個の波形データを、前記磁気ヘッドの出力信号から生成する波形データ生成部と、
前記Ｎ個の波形データ同士の位相の誤差を補正するデータ補正部と、
を備え、
前記データ補正部は、
前記Ｎ個の波形データの中から選ばれた基準トラック波形データと前記基準トラック波形データ以外のＮ−１個の波形データの中からから選ばれた位相差検出用波形データとの位相差を検出する位相差検出部と、
前記基準トラック波形データと前記位相差検出波形データとの間の前記位相差を用いて、前記Ｎ個の波形データ中の前記基準トラック波形データ以外の他の波形データの位相を前記基準トラック波形データに対応する磁気トラックとの距離に応じて前記位相差を調整し、調整後の位相差を用いて前記他の波形データのそれぞれの位相を補正する補正実行部と、
を有する、磁気データ読取装置。
【請求項２】
請求項１記載の磁気データ読取装置であって、さらに、
前記Ｎ個の波形データのそれぞれから、単位時間あたり１ビットの２値データを生成する２値データ生成部を備え、
前記データ補正部は、前記単位時間を、前記Ｎ個の波形データのうちの任意の波形データにおける磁気変化点から決定する、磁気データ読取装置。
【請求項３】
請求項２に記載の磁気データ読取装置であって、
前記２値データは、ビット誤りを検出可能なエラー検出ビットを含み、
前記データ補正部は、前記２値データのビット誤りを検出した場合に、前記２値データをビット単位でシフトさせる、磁気データ読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、磁気ストライプに書き込まれた情報を読み取る磁気データ読取装置に関する。
【背景技術】
【０００２】
銀行の通帳や鉄道の乗車券などにおいては、利用情報等を並列な複数の磁気トラックからなる磁気ストライプに書き込むものがある。磁気ストライプに書き込まれた磁気データを読み取る装置としては、磁気ストライプに対して、各磁気トラックに磁気ヘッドを同時に走査させて、磁気トラックごとに磁性体の磁化方向の変化を読み取るものが知られている（特許文献１等）。
【０００３】
【特許文献１】特開平１０−２２２８１０
【０００４】
ここで、このような磁気データ読取装置において、磁気トラックの書き込まれた媒体が、磁気ヘッドの走査方向に対して角度を有して配置された状態（スキュー状態）を想定する。すると、磁気トラックが書き込まれた方向に対して、磁気ヘッドの並び方向が垂直ではなくなるため、各磁気トラックの読み込み開始時刻がずれてしまう。即ち、磁気ヘッドにおいて読み込まれた各磁気データには、その時間的ずれによる誤差が生じてしまう。このような問題は、上述したスキュー状態だけでなく、例えば、媒体に対して斜めに書き込まれてしまった磁気ストライプを読み取る場合であっても同様である。こうした誤差が生じると、磁気ストライプに書き込まれたデータを正確に再生することが困難となるため、当該誤差を適切に補正することが好ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、磁気ストライプの読み込みの際に、各トラックごとに読み込まれた磁気データ間の誤差を補正することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］  並列なＮ本（Ｎは３以上の整数）の磁気トラックとして書き込まれた磁気データを読み取る磁気データ読取装置であって、前記Ｎ本の磁気トラックのそれぞれについて、磁化方向の変化を検出するＮ個の磁気ヘッド素子若しくは複数の磁気検知部が搭載されている磁気ヘッドと、前記磁化方向が変化する変化点をピークとして示すパルスを含むＮ個の波形データを、前記磁気ヘッドの出力信号から生成する波形データ生成部と、前記Ｎ個の波形データ同士の位相の誤差を補正するデータ補正部とを備え、前記データ補正部は、前記Ｎ個の波形データの中から選ばれた基準トラック波形データと前記基準トラック波形データ以外のＮ−１個の波形データの中からから選ばれた位相差検出用波形データとの位相差を検出する位相差検出部と、前記基準トラック波形データと前記位相差検出波形データとの間の前記位相差を用いて、前記Ｎ個の波形データ中の前記基準トラック波形データ以外の他の波形データの位相を前記基準トラック波形データに対応する磁気トラックとの距離に応じて前記位相差を調整し、調整後の位相差を用いて前記他の波形データのそれぞれの位相を補正する補正実行部とを有する、磁気データ読取装置。
【０００８】
この磁気データ読取装置によれば、複数の波形データのうち、少なくとも２つ（基準トラック波形データと位相差検出用波形データ）の波形データの位相差を検出するのみで、基準トラック波形データ以外の他の波形データのそれぞれについて、その位相の補正を行う。従って、磁気ストライプの読み込みの際に、各トラックごとに読み込まれた磁気データ間の誤差を、迅速に補正することができる。
【０００９】
［適用例２］適用例１記載の磁気データ読取装置であって、さらに、前記Ｎ個の波形データのそれぞれから、単位時間あたり１ビットの２値データを生成する２値データ生成部を備え、前記データ補正部は、前記単位時間を、前記Ｎ個の波形データのうちの任意の波形データにおける磁気変化点から決定する、磁気データ読取装置。
【００１０】
この磁気データ読取装置によれば、磁気ストライプの任意のトラックのパルス発生間隔（磁気変化点発生間隔）を基準として単位時間を決定するため、２値データのビット列を生成したときに、各波形データ間に位相差があるために生じるビットずれの発生を抑制することができる。即ち、各トラックごとに読み込まれた磁気データ間の誤差を補正することができる。
【００１１】
［適用例３］適用例１または適用例２に記載の磁気データ読取装置であって、さらに、前記Ｎ個の波形データのそれぞれから、単位時間あたり１ビットの２値データを生成する２値データ生成部を備え、前記２値データは、ビット誤りを検出可能なエラー検出ビットを含み、前記データ補正部は、前記２値データのビット誤りを検出した場合に、前記２値データをビット単位でシフトさせる、磁気データ読取装置。
【００１２】
この磁気データ読取装置によれば、２値データのビット列にビットずれを検出したときに、補正後の各波形データの位相が単位時間分ずれているものとして、２値データのビットがシフトするように補正処理を行う。従って、各トラックごとに生成された２値データを、簡易な処理で迅速に補正することができる。
【００１３】
なお、本発明は、種々の形態で実現することが可能であり、例えば、磁気ストライプの読み取りデータの補正方法および磁気ストライプを読み取る磁気データ読取装置、磁気データ読取装置の制御方法および磁気データ読取装置の制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム等の形態で実現することができる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A．第１実施例：
B．第２実施例：
C．第３実施例：
D．変形例：
【００１５】
A．第１実施例：
図１は、本発明の一実施例としての磁気データ読取装置の構成を示す概略図である。尚、本説明では、磁気媒体を磁気付き通帳として説明するが磁気カードなどの他の磁気媒体でも良い。この磁気データ読取装置１０００は、磁気付き通帳１０の磁気ストライプ２０に書き込まれた磁気データを読み取るためのものである。磁気付き通帳１０は、非磁性体１１の一方の外表面に磁性体１２が貼付されており、磁性体１２に磁気ストライプ２０が書き込まれている。磁気ストライプ２０は、１本の基準トラックＴｒsと、利用者の利用情報等が書き込まれたｎ本のデータトラックＴｒ1〜Ｔｒnとを有している（ｎは任意の自然数）。基準トラックＴｒsについては後述する。
【００１６】
磁気データ読取装置１０００は、磁気ヘッド１００と、波形生成部２００と、制御部３００とを備えている。磁気ヘッド１００は、ｎ＋１個の磁気データ読取部１１０を備えている。ｎ＋１個の磁気データ読取部１１０のそれぞれは、磁気ストライプ２０の各トラックＴｒs，Ｔｒ1〜Ｔｒnに対応して一列に配置されており、磁気ストライプ２０の各トラックＴｒs，Ｔｒ1〜Ｔｒnを同時に走査することができる。なお、磁気ヘッド１００は、磁気付き通帳１０を搬送するための通帳搬送部（後述）を備えているが、図示は省略されている。
【００１７】
波形生成部２００は、ｎ＋１個の増幅アンプ２１０と、ｎ＋１個の波形生成回路２２０とを備えている。各増幅アンプ２１０は、各磁気データ読取部１１０からの出力波形を増幅する。各波形生成回路２２０は、各磁気データ読取部１１０からの出力波形に対して、ノイズ除去などの波形整形処理や、デジタル変換処理を行う。
【００１８】
制御部３００は、中央演算処理装置（ＣＰＵ）３１０と、記憶装置であるメモリ３２０とを備えている。メモリ３２０には、デジタライズされた波形データの補正を行うデータ補正モジュール３２１や、補正後の波形データを２値化するための２値化モジュール３２２などのプログラム、ディジタル化された読取波形３２３が格納されている。
【００１９】
図２は、磁気データ読取装置１０００における磁気ストライプ読取処理の処理工程を示すフローチャートである。ステップＳ１０では、複数の磁気データ読取部１１０によって磁気ストライプ２０の各トラックＴｒs，Ｔｒ1〜Ｔｒnを走査する。
【００２０】
図３は、磁気ヘッド１００による磁気ストライプ２０の走査工程を示す概略図である。図３は、複数の磁気データ読取部１１０をその列に沿った方向に見たときの磁気ヘッド周辺機構４００を示している。磁気ヘッド周辺機構４００は、通帳搬送部１２０を備えている。通帳搬送部１２０は、磁気付き通帳１０が搬送される通帳搬送路１２１と、磁気付き通帳１０を搬送するための搬送ローラ１２２とを備えている。
【００２１】
通帳搬送部１２０は、通帳搬送路１２１に磁気付き通帳１０が挿入されると、磁気付き通帳１０を複数の搬送ローラ１２２によって搬送方向ＰＤへと一定速度で搬送する。磁気ヘッド１００は、通帳搬送路１２１の途中に、搬送されていく磁気付き通帳１０の磁気ストライプ２０を走査可能なように設けられている。このとき、磁気付き通帳を搬送するのではなく、磁気付き通帳を止めた状態で、磁気ヘッド１００が磁気ストライプ２０を走査方向に移動しても良い。
【００２２】
ステップ１０（図２）では、さらに、複数の磁気データ読取部１１０のそれぞれの出力信号ごとに、波形生成部２００（図１）が波形データを生成し、ＣＰＵ３１０を介してメモリ３２０に格納する。
【００２３】
図４（Ａ）は、データトラックから読み取られる波形データを説明するための説明図である。図４（Ａ）に示された磁気ストライプ２０のデータトラックＴｒ1は、データトラックＴｒ1の一部を模式的に示しており、白く塗りつぶされた領域と黒く塗りつぶされた領域とでは、磁化方向が反転していることを示している。
【００２４】
図４（Ａ）のグラフは、磁気ヘッド１００の走査時間と磁気データ読取部１１０が出力する電圧レベルとの関係を示している。磁気データ読取部１１０は、データトラックＴｒ1上を走査すると（走査開始時刻ｔ0）、磁化方向が反転する変化点（以後、単に「磁気変化点」と呼ぶ）を通過する際に、その磁気変化点をピークとする電圧レベルの変化を出力する。出力される電圧レベルの正負は、磁化方向の反転する向きに応じて変化する。
【００２５】
この出力信号を基に、波形生成部２００は、データトラックＴｒ1について、図４のグラフに示す波形データＷｆ1を生成する。波形データＷｆ１には、磁気変化点ごとに交互に正負を反転させたパルスＰ（以後「磁気変化点Ｐ」と呼ぶ）が発生している。なお、ステップＳ１０では、基準トラックＴｒs及び他のデータトラックＴｒ2〜Ｔｒnについても同様に波形データＷｆs，Ｗｆ2〜Ｗｆnが生成される。
【００２６】
図４（Ａ）のグラフの下に示される２値データのビット列ＢＳ1は、後述する波形データの２値化処理（図２；ステップＳ６０）において、制御部３００の２値化モジュール３２２（図１）が、波形データＷｆ1を基に波形処理等を行って生成する２値データである。２値化処理については下記にて説明する。
【００２７】
図４（Ｂ）は、基準トラックＴｒsを説明するための説明図である。基準トラックＴｒsは、所定の間隔で連続して磁気変化点Ｐが発生するように磁気データが書き込まれているが、基準トラックＴｒsの波形データＷｆs（以後、「基準トラック波形データＷｆs」と呼ぶ）における磁気変化点Ｐは、機構部の要因等による磁気付き通帳の搬送速度の変化に同期して変化するため、基準トラックを基準に他のトラックの２値化とすることで搬送速度変化の誤差を吸収することができる。
【００２８】
基準トラックの連続して発生する磁気変化点は、データの１ビット長の単位時間となっている。そのため基準トラックの磁気変化点１ビット長の単位時間ｔを算出し、その１ビット長の単位時間区域に対し、他トラックのデータに磁気変化点がある場合、２値化処理において「１」を、磁気変化点が無い場合「０」を生成し、波形データＷｆ1〜Ｗｆnからビットデータを生成する。
【００２９】
図５（Ａ）は、比較例として、図２のステップＳ２０の工程で、正常に磁気ストライプの読み取りが行われる場合を説明するための説明図である。図５（Ａ）は、磁気付き通帳１０の磁気ストライプ２０と、複数の磁気データ読取部１１０との位置関係を模式的に示している。この比較例では、磁気ストライプ２０の各トラックＴｒs，Ｔｒ1〜Ｔｒnの端部Ｔｒｅを結ぶ直線Ｌ１と、複数の磁気データ読取部１１０のそれぞれの中心１１０ｃを結ぶ直線Ｌ２とが平行な状態で、磁気ストライプ２０が走査される。なお、この直線Ｌ２に沿った方向を「磁気ヘッドの列方向」と呼ぶ。
【００３０】
図５（Ｂ）は、図５（Ａ）の位置関係で磁気ストライプ２０の走査が行われた場合に、波形生成部２００によって生成される波形データ群を示している。図５（Ｂ）のグラフは、それぞれの磁気変化点Ｐの位置関係から明らかなように、基準トラック波形データＷｆsに対し、他のデータトラックＴｒ1〜Ｔｒnから生成された波形データＷｆ1〜Ｗｆnの位相に差が生じていないことを示している。また、データトラックＴｒ1〜Ｔｒnの波形データＷｆ1〜ｗｆnにおける磁気変化点Ｐの発生時刻はいずれも、基準トラック波形データＷｆsにおけるいずれかの磁気変化点Ｐの発生時刻と一致している。
【００３１】
図６は、図２のステップＳ２０の工程で、正常に磁気ストライプの読み取りが行われない場合の一例を説明するための説明図である。図６（Ａ）は、磁気付き通帳１０に対して磁気ストライプ２０Ａの各トラックＴｒs，Ｔｒ1〜Ｔｒnが、ずれて書き込まれている点以外は、図５（Ａ）とほぼ同じである。
【００３２】
磁気ストライプ２０Ａの書き込みを行う装置の磁気ヘッドの列方向が、製造誤差などによって、磁気付き通帳１０の搬送方向ＰＤに対して垂直ではなかった場合に、磁気ストライプ２０Ａの各トラックＴｒs，Ｔｒ1〜Ｔｒnは、このようにずれて書き込まれてしまう。このような磁気ストライプ２０Ａが書き込まれた磁気付き通帳１０を、正常に配列された磁気ヘッド１００を有する磁気データ読取装置１０００で読み取る場合には、各トラックＴｒs，Ｔｒ1〜Ｔｒnの端部Ｔｒｅを結ぶ直線Ｌ１と複数の磁気データ読取部１１０の中心１１０ｃを結ぶ直線Ｌ２とが非平行な状態となる。
【００３３】
図６（Ｂ）は、図６（Ａ）の位置関係で磁気ストライプ２０Ａの走査が行われた場合に、波形生成部２００によって生成される波形データ群を、図５（Ｂ）と同様なグラフによって示している。図６（Ｂ）のグラフには、比較のために、図５（Ｂ）のグラフを破線で重ねて示してある。
【００３４】
図６（Ｂ）のグラフでは、各波形データＷｆs，Ｗｆ1〜Ｗｆnは、破線で示す図５（Ｂ）のグラフに対して位相がずれている（矢印で図示）。また、その位相差も各トラックごとに異なる。この理由は、図６（Ａ）の状態で磁気ストライプ２０Ａの走査が行われた場合には、読み込み開始時刻ｔ0における各磁気データ読取部１１０に対する各トラックＴｒs，Ｔｒ1〜Ｔｒnの位置が異なるためためである。
【００３５】
なお、このような波形データ同士の位相誤差は、上記の場合だけではなく、磁気付き通帳１０が搬送方向ＰＤに対して角度を有して配置されてしまう、いわゆるスキュー状態であっても生じ得る。このように波形データの位相に誤差が生じている状態で波形データの２値化処理を実行してもビットずれが生じて正確な情報が再生され得ない可能性が高い。
【００３６】
ところで、前述したとおり、磁気ストライプ２０，２０Ａに基準トラックＴｒsが書き込まれており、その基準トラック波形データＷｆsの磁気変化点発生間隔から算出される１ビット長単位時間ｔを基準としてビットデータを生成する（図４（Ａ），（Ｂ））。従って、データトラックＴｒ1〜Ｔｒnから生成された各波形データＷｆ1〜Ｗｆnの位相は、基準トラック波形データＷｆsの位相と一致するように補正されることが好ましい。以下に、各波形データＷｆ1〜Ｗｆnの位相差補正処理を説明する。
【００３７】
図７（Ａ）は、図２のステップＳ２０における基準トラック波形データＷｆsにおける各磁気変化点の発生時刻検出処理の工程を説明するための説明図である。制御部３００のデータ補正モジュール３２１（図１）は、メモリ３２０に格納された基準トラック波形データＷｆsを読み込む。そして、基準トラック波形データＷｆsの各パルスＰの変化点発生時刻ｔｓXを検出する（Ｘ＝１，２，…，ｘ；ｘは任意の自然数）。なお、図４（Ｂ）で説明したように、ｘは各波形データＷｆs，Ｗｆ1〜Ｗｆnから生成される２値データのビット数と一致する。
【００３８】
図７（Ｂ）は、図２のステップＳ３０における位相差検出用トラックの波形データにおける各発生時刻検出処理の工程を説明するための説明図である。ここで、「位相差検出用トラック」とは、この補正処理工程のためにデータトラックＴｒ1〜Ｔｒnのうちから任意に選択される１つのトラックである。本実施例では、データトラックＴｒ1を位相差検出用トラックとする。なお、以後、位相差検出用トラックＴｒ1の波形データＷｆ1を「位相差検出用波形データＷｆ1」と呼ぶ。
【００３９】
制御部３００のデータ補正モジュール３２１（図１）は、メモリ３２０に格納された位相差検出用波形データＷｆ1を読み込む。そして、位相差検出用波形データＷｆ1から変化点発生時刻ｔｄY（Ｙ＝１，２，…，ｙ；ｙは任意の自然数）を検出する。なお、ｙはデータトラックＴｒ1における磁気変化点の数に一致する。
【００４０】
図８は、図２のステップＳ４０における平均位相差算出処理の処理手順を示すフローチャートである。ここで、「平均位相差算出処理」とは、基準トラック波形データＷｆsの変化点発生時刻ｔｓXと、位相差検出用波形データＷｆ1の変化点発生時刻ｔｄYとから、各磁気変化点における２つの波形データＷｆs，Ｗｆ1の位相差の平均を算出する処理をいう。
【００４１】
ステップＳ４１０（図８）では、変数Ｘ，Ｙにそれぞれ「１」を代入する初期設定を行う。ステップＳ４２０では、基準トラック波形データＷｆsの変化点発生時刻ｔｓXを中央の時刻とする所定の時間区域内に、位相差検出用波形データＷｆ1の変化点発生時刻ｔｄYが存在するか否かの判断をする（式（１））。
ｔｓX−１／２ｔ＜ｔｄY≦ｔｓX＋１／２ｔ  …  （１）
【００４２】
２つの変化点発生時刻ｔｓX，ｔｄYが不等式（１）の関係を満たさない場合には、変数Ｘがインクリメントされて（ステップＳ４２５）、当該変化点発生時刻ｔｄYと、次の変化点発生時刻ｔｓXとを用いてステップＳ４２０の判定処理が再び行われる。２つの変化点発生時刻ｔｓX，ｔｄYが不等式（１）の関係を満たす場合には、ステップＳ４３０において両者の差を位相差ＥYとして算出する（式（２））。
ＥY＝ｔｓX−ｔｄY  …  （２）
以下に、具体的な例を用いて、ここまでの処理を説明する。
【００４３】
図９は、この平均位相差算出処理の処理工程を具体的に説明するための説明図である。図９には、基準トラック波形データＷｆsと位相差検出用波形データＷｆ1とを示すグラフと、ステップＳ４３０における算出結果を示す表とを対応させて示してある。なお、便宜のため、グラフは単位時間ｔごとに破線で分割して表示してある。
【００４４】
ステップＳ４１０〜ステップＳ４３０の処理では、１番目の変化点発生時刻ｔｄ1は、基準トラック波形データＷｆsの１番目の変化点発生時刻ｔｓ1の存在する時間区域（ｔｓ1−１／２ｔ〜ｔｓ1＋１／２ｔ）に属する。従って、位相差Ｅ1として変化点発生時刻ｔｓ1と変化点発生時刻ｔｄ1との差が算出される。
【００４５】
次に、２番目の変化点発生時刻ｔｄ2は、基準トラック波形データＷｆsの３番目の変化点発生時刻ｔｓ3の存在する時間区域（ｔｓ3−１／２ｔ〜ｔｓ3＋１／２ｔ）に属する。従って、位相差Ｅ2として変化点発生時刻ｔｓ3と変化点発生時刻ｔｄ2との差が算出される。以下、同様に、ｙ番目の変化点発生時刻ｔｄyは、ｘ番目の変化点発生時刻ｔｓxの存在する時間区域（ｔｓx−１／２ｔ〜ｔｓx＋１／２ｔ）に属するため、位相差Ｅyとして変化点発生時刻ｔｓxと変化点発生時刻ｔｄyとの差が算出される。
【００４６】
即ち、この一連の処理では、２つの波形データＷｆs，Ｗｆ1の同じビット長単位時間区域に発生している両波形データＷｆs，Ｗｆ1の磁気変化点同士の位相差を求めている。この理由は、位相差を算出される磁気変化点同士は、２つの波形Ｗｆs，Ｗｆ1を２値化処理したときに、同順位のビットを生成する磁気変化点であるとみなされるため、位相が一致していることが好ましいからである。
【００４７】
ステップＳ４４０（図８）では、位相差検出用波形データＷｆ1の次の変化点発生時刻ｔｄYについて検証するために、変数Ｙをインクリメントする。波形データＷｆ1の全ての変化点発生時刻ｔｄYについて位相差ＥYを算出するまでステップＳ４２０〜ステップＳ４４０の処理を繰り返す（ステップＳ４５０）。
【００４８】
全ての変化点発生時刻ｔｄYについて位相差ＥYを算出した場合には、全位相差ＥYの平均である平均位相差Ｅavgを算出し（式（３））、この平均位相差算出処理は終了する。
Ｅavg＝（Ｅ1＋Ｅ2＋…＋Ｅy）／ｙ  …  （３）
【００４９】
図１０は、図２のステップＳ５０におけるデータトラックＴｒ1〜Ｔｒnの位相差補正処理を説明するための説明図である。図１０は、各トラックＴｒs，Ｔｒ1〜Ｔｒnがずれて書き込まれた磁気ストライプ２０Ａを模式的に示している。
【００５０】
各トラックＴｒs，Ｔｒ1〜Ｔｒnは搬送速度に変化がない場合、等間隔Ｔｉで書き込まれている。従って、基準トラックＴｒsに対する各データトラックＴｒ1〜Ｔｒnの位置ずれ量は、一定比率で基準トラックＴｒsから離れるほど増加する。即ち、１番目のデータトラックＴｒ1の位置ずれ量をＴｄとすると、ｎ番目のデータトラックＴｒnの位置ずれ量は、Ｔｄ×ｎとして求めることができる。そこで、ステップＳ５０では、ステップＳ４０で求めた平均位相差Ｅavgを用いて、位相差検出用トラックＴｒ1のからの各データトラックＴｒ2〜Ｔｒnの距離に応じて、各波形データＷｆ1〜Ｗｆnの位相を補正する。即ち、ｎ番目のトラックＴｒnの波形データＷｆnに対しては、位相をＥavg×ｎだけシフトさせる補正を行う。搬送速度に変化があり、基準トラックが等間隔でない場合についてもそれぞれの基準トラックの間隔と既知である標準の基準間隔（１ビットの標準単位時間）との関係から位置ずれ量を求めることで補正を行うことができる。
【００５１】
図１１は、上述した位相補正処理の結果を説明するための説明図である。図１１（Ａ）は、補正前の各波形データＷｆs，Ｗｆ1〜Ｗｆnを示すグラフであり、図１１（Ｂ）は、補正処理後の各波形データＷｆs，Ｗｆ1〜Ｗｆnを示すグラフである。図１１（Ａ）は図６（Ｂ）とほぼ同じであり、図１１（Ｂ）は図５（Ｂ）とほぼ同じである。即ち、この補正処理によって、磁気ストライプ２０Ａから読み取られた波形データ群は、正常に磁気ストライプ２０の読み取りが行われた場合の波形データ群とほぼ一致させることができる。従って、ステップＳ６０（図２）の２値化処理において生成されるビットデータに、ビットずれが発生することを抑制することができる。
【００５２】
このように、本実施例の磁気データ読取装置１０００によれば、基準トラック波形データＷｆsと位相差検出用波形データＷｆ1との位相差を求めて、その位相差を利用して全てのデータトラックＴｒ1〜Ｔｒnの波形データＷｆ1〜Ｗｆnの位相誤差を補正している。従って、磁気ストライプの読み込みの際に、各トラックごとに読み込まれた磁気データ間の誤差を簡易かつ迅速に補正することができ、磁気ストライプの読み取り精度を向上させることができる。
【００５３】
B．第２実施例：
図１２（Ａ）は本発明の第２実施例としての磁気データ読取装置の磁気ヘッド１００と、磁気ストライプ２０Ｂが書き込まれた磁気付き通帳１０とを示す概略図である。図１２は、基準トラックＴｒsがない点以外は、図６（Ａ）とほぼ同じである。なお、第２実施例の磁気データ読取装置の装置構成は第１実施例で説明したものと同じである（図１）。
【００５４】
図１２（Ｂ）は、図１２（Ａ）の磁付き通帳１０の磁気ストライプ２０Ｂの読み取り処理走査が行われた場合に、波形生成部２００によって生成される波形データ群を示すグラフである。図１２（Ｂ）は、基準トラック波形データＷｆsと、１ビット長単位時間ｔによる分割線と、比較のために示された破線グラフがない点以外は、図６（Ｂ）とほぼ同じである。
【００５５】
図１３は、第２実施例の磁気データ読取装置における磁気ストライプ読取処理の処理工程を示すフローチャートである。図１３は、ステップＳ２０の工程に替えて、ステップＳ２２〜ステップＳ２５が行われている点以外は、図２とほぼ同じである。ステップＳ１０では、第１実施例と同様に、磁気ストライプ２０Ｂを複数の磁気データ読取部１１０で読み取り、波形生成部２００によって生成された波形データ群（図１２（Ｂ））がメモリ３２０に格納される。
【００５６】
図１４は、ステップＳ２２〜ステップＳ２５の処理工程を説明するための説明図である。図１４には、ステップＳ１０で取得された磁気ストライプ２０Ｂの波形データ群のうち、第１のデータトラックＴｒ1の波形データＷｆ1を示すグラフが示されている。
【００５７】
第１実施例では、基準トラック波形データＷｆsの磁気変化点間隔から１ビット長の２値データ生成の基準となる１ビット長単位時間ｔを決定することができた。しかし、第２実施例の磁気ストライプ２０Ｂには、基準トラックＴｒsが書き込まれておらず、各データトラックＴｒ1〜Ｔｒnから生成される各波形データＷｆ1〜Ｗｆnにおけるパルスの発生タイミングも連続的であるとは限らない。
【００５８】
そこで、ステップＳ２２〜Ｓ２５の工程では、データトラックＴｒ1〜Ｔｒnのうちの任意の１つのトラックの波形データ（「単位時間基準トラック波形データ」と呼ぶ）を選び、単位時間基準トラック波形データの磁気変化点発生間隔を基に１ビット長の単位時間を決定する。具体的には、以下の補正処理を行う。
【００５９】
ステップＳ２２では、データトラックＴｒ1〜Ｔｒnのうち最上段にある第１のデータトラックＴｒ1の波形データＷｆ1を単位時間基準トラック波形データとして選ぶ。続いて、波形データＷｆ1の各変化点発生時刻を検出し、そのうちの任意の２つの変化点発生時刻を選び、両時刻の時間間隔ｔｄを算出する。ここでは、最初の変化点発生時刻ｔfと、最後の変化点発生時刻ｔlとを用いて時間間隔ｔｄを求める。なお、２つの変化点発生時刻は、この時間間隔ｔｄがなるべく大きくなるように選ばれることが好ましい。この理由は、時間間隔ｔｄが大きいほど、後述する補正処理によって誤差を低減することが可能だからである。
【００６０】
ステップＳ２５では、求めた時間間隔ｔｄを、仮の単位時間ｔpで除算し、その商Ｄと剰余αを求める（式（４））。ここで、「仮の単位時間ｔp」とは、波形データから１ビットの２値データを生成できる予め設定された単位時間であり、例えば、磁気付き通帳１０の磁気ヘッド１００における設計上の搬送速度をもとに算出できる時間としても良い。
ｔｄ／ｔp＝Ｄ＋α  …（４）
なお、商Ｄは整数値であり、剰余αは小数値である。
【００６１】
ここで、剰余αが仮の単位時間ｔpの１／２より小さい場合には、剰余αは、仮の単位時間ｔpが補正によって求められる真の単位時間ｔtより小さいために生じた誤差であると考えられる。一方、剰余αが仮の単位時間ｔpの１／２より大きい値であるときは、真の単位時間ｔtは仮の単位時間ｔpより大きい値であり、そのために生じる誤差はマイナスの値であると推定される。そこで、この場合には、当該剰余αから仮の単位時間ｔpを減じ、商Ｄに１を加算する修正を実行する。この修正後の剰余αはマイナスの値となる。
【００６２】
次に、このようにして求められた商Ｄを用いて時間間隔ｔｄを除算し、真の単位時間ｔtを得る（式（５））。
ｔt＝ｔｄ／Ｄ  …（５）
即ち、この単位時間補正処理では、仮の単位時間ｔpを基準として、単位時間基準トラック波形データの任意のパルス同士のパルス間隔を小数の剰余が生じないように除算可能な値を、真の単位時間ｔtとして求めている。
【００６３】
図１５（Ａ），（Ｂ）は、単位時間補正処理を行った結果を示すための説明図である。図１５（Ａ）は、波形データＷｆ1の時間間隔ｔｄを補正処理前の仮の単位時間ｔpで複数の時間区間に分割したグラフであり、図１４とほぼ同じである。図１５（Ｂ）は、波形データＷｆ1の時間間隔ｔｄを補正処理後の真の単位時間ｔtで複数の時間区間に分割したグラフである。
【００６４】
単位時間補正処理前のグラフ（図１５（Ａ））では、時間間隔ｔｄを、誤差を含む仮の単位時間ｔｐで複数の時間区間に分割しているため、その時間区間の境界時刻と各変化点発生時刻との間にはずれが生じている。一方、単位時間補正処理後のグラフ（図１５（Ｂ））では、時間間隔ｔｄが真の単位時間ｔtによって分割された複数の時間区間の境界時刻と各変化点発生時刻とはほぼ一致する。
【００６５】
ところで、図１５（Ｂ）には、真の単位時間ｔtの時間間隔で連続的に変化点を示すパルスを発生する波形データＷｆvsを破線で示してある。このように、真の単位時間ｔtを求めることにより、第１実施例の基準トラック波形データＷｆsに相当する仮想的基準トラック波形データＷｆvsを仮想的に設定することが可能である。そこで、この第２実施例では、この仮想的基準トラック波形データＷｆvsと、単位時間基準トラック波形データＷｆ1以外の波形データＷｆ2〜Ｗｆnのうちの任意の１つを位相差検出用トラックとして選択し、第１実施例と同様の位相差補正処理を実行する（ステップＳ３０〜ステップＳ５０）。位相差検出用トラックとしては、例えば、２番目のデータトラックＴｒ2の波形データＷｆ2を選択しても良い。そして、ステップＳ４０で、各トラックごとの波形データＷｆ2〜Ｗｆnの位相差を補正し、補正後の各波形データＷｆ1〜Ｗｆnから２値データを生成する（ステップＳ６０）。
【００６６】
このように、この第２実施例の構成によれば、任意の磁気トラックから、２値化処理のための単位時間を決定することが可能である。従って、基準トラックＴｒsを有していない磁気ストライプ２０Ｂから読み込まれた波形データ群に対しても、第１実施例と同様な位相差補正処理を実行することができ、磁気データ読取装置における磁気ストライプ読み取り精度を向上させることができる。
【００６７】
C．第３実施例：
図１６は、本発明の第３実施例として磁気データ読取装置における磁気ストライプ読取処理の処理工程を示すフローチャートである。尚、第２実施例の処理工程にて第３実施例を説明するが、第１実施例に本実施例を適用しても良い。図１６は、ステップＳ７０〜Ｓ８０が追加されている点以外は、図１３とほぼ同じである。なお、第３実施例の磁気データ読取装置の装置構成は、第２実施例で説明したものと同様である。即ち、この第３実施例では、第２実施例と同様に、ステップＳ１０〜ステップＳ６０までの工程によって、磁気ストライプ２０Ｂの各トラックＴｒ1〜Ｔｒnごとに２値データのビット列が生成される。
【００６８】
図１７は、ビット誤りが発生する一例として、位相差補正処理が実行される前と後の位相差検出用トラックＴｒ2の波形データＷｆ2の一部を示すグラフである。また、図１７の補正前の波形データＷｆ2には、仮想的基準トラック波形データＷｆvsを破線で重ねて示してあり、補正後の波形データＷｆ2には、補正前の波形データＷｆ2を破線で重ねて示してある。なお、補正後の波形データＷｆ2についての２値化処理後の結果を示すビット列ＢＳ2と、本来のビット値を示すビット列ＢＳtとを比較するための表を、波形データＷｆ2に対応させて示してある。
【００６９】
この例では、位相差検出用波形データＷｆ2には、仮想的基準トラック波形データＷｆsに対して、真の単位時間ｔt＋β（０＜β＜１）だけの位相の遅れが発生している。この場合には、図８のステップＳ４２０では、位相差としてβが算出されてしまい、その補正処理は、真の単位時間ｔtの分だけ補正量が少ない状態で行われてしまう。その結果、その２値データも１ビットのビットずれを生じる。従って、この誤った補正量で他の波形データＷｆ3〜Ｗｆnも補正されてしまうため、２値化処理後の２値データにビットずれが生じて、パリティチェック等によるビット誤り検出でビット誤りが検出される。
【００７０】
この場合には、位相差検出用波形データＷｆ2から得られたビット列を１ビットだけ左に論理シフトさせることによって正しいデータへと補正することができる。また、他のトラックＴｒ3〜ｔｒnについても同様に、位相の補正量に応じたビット数を左に論理シフトすることによって正しいデータを得ることができる。
【００７１】
なお、図１７の例では、補正量の誤りが、真の単位時間ｔtであったため、位相差検出用波形データＷｆ2のビット列は１ビットの補正で正しくなったが、補正量の誤りが、真の単位時間の整数倍となる場合も生じ得る。この場合には、その分だけ、論理シフトするビット数を増すことによって、正しいデータを得ることができる可能性があるため、ビット誤りが解消されるまでビットシフト処理（ステップＳ８０）とパリティチェック（ステップＳ７０）とを繰り返す。なお、所定の回数ビットシフト処理を実行してもビット誤りが検出される場合には、ステップＳ１０から再度実行されるものとしても良い。
【００７２】
また、図１７の例では、仮想的基準トラック波形データＷｆvsに対して位相差検出用波形データＷｆ2の位相が遅れていたが、位相が進んでいる場合もあり得る。この場合には、ビットシフト処理において、各ビット列を左に論理シフトさせる処理と、右に論理シフトさせる処理とを並行に実行するものとしても良い。具体的には、左に論理シフトさせた場合の各ビット列と、右に論理シフトさせた場合の各ビット列の２つのビットデータを生成する。そして、それぞれについてステップＳ７０のパリティチェックを行い、ビット誤りが解消されているビットデータを正式なデータとして採用する。
【００７３】
このように、第３実施例の構成によれば、位相差検出用波形データとして選択された波形データが、２値データを生成するのための単位時間以上の位相のずれを生じている場合であっても、簡易なビット演算を施すことによって、正しいデータを得ることができる。
【００７４】
D．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７５】
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、データ補正モジュール３２１や２値化モジュール３２２の機能の一部をアナログ回路によって実現するものとしても良い。
【００７６】
D1．変形例１：
上記実施例において説明したように、位相差検出用トラックとしては、磁気ストライプのうちの任意のトラックを選択することが可能である。他の構成例としては、例えば、位相差検出用トラックとして磁気ストライプの中央列に位置するトラックを位相差検出用トラックとして採用するものとしても良い。ステップＳ５０の位相差補正処理では、通常、位相差検出用トラックと、位相補正の対象となるトラックとの間の距離が大きくなるに従い、各波形データに対する補正量に含まれる誤差も増大する。そこで、位相差検出用トラックを磁気ストライプの中央列により近い列のトラックとすることによって、位相差検出用トラックと各磁気トラックとの間の距離が増加することを比較的低減することができる。従って、より適切な各波形データの位相補正を実行することが可能であり、磁気データ読取装置の読取精度も向上する。
【００７７】
また、上記実施例では、位相差検出用トラックとして１本のトラックを選択していたが、複数本のトラックを選択するものとしても良い。これによって、より高い精度で各トラックから生成される各波形データの位相差を補正することができる。
【００７８】
さらに、上記第１実施例において、基準トラックＴｒsが磁気ストライプ２０の最も外側のトラックとして書き込まれていたが、他の位置に書き込まれているものとしても良い。例えば、基準トラックＴｒsは、磁気ストライプ２０の中央列のトラックとして書き込まれていても良い。また、複数の基準トラックＴｒsが書き込まれているものとしても良い。
【００７９】
D2．変形例２：
上記実施例において、磁気ストライプ２０，２０Ａ，２０Ｂの各トラックＴｒs，Ｔｒ1〜Ｔｒnは、等間隔で書き込まれていたが、それぞれ異なる間隔で書き込まれるものとしても良い。この場合には、ステップＳ５０の処理は、予め各トラックと位相差検出用トラックとの間隔を検出しておき、基準トラック波形データと位相差検出用波形データとの位相差を用いて、その間隔に応じて各トラックごとに位相差量を算出して行うものとしても良い。
【００８０】
D3．変形例３：
上記実施例において、基準トラック波形データと位相差検出と位相差検出用波形データとの平均位相差を算出してステップＳ５０の位相差補正処理に用いていたが、平均位相差は算出されなくとも良い。例えば、位相差検出用トラックの全ての変化点発生時刻の誤差を検出した後、誤差の中央値を後続する補正処理に用いても良い。
【００８１】
D4．変形例４：
上記実施例において、２値化処理（図２；ステップＳ６０）のための単位時間ｔ，ｔtは、他の方法によって決定されるものとしても良い。ただし、単位時間ｔ，ｔtは、磁気ストライプに書き込まれたいずれかのトラックの磁気変化点の書き込み間隔を基準にする方法によって決定されることが好ましい。
【００８２】
D5．変形例５：
上記第３実施例において、ステップＳ７０においてパリティチェックを行っていたが、他の方法によってビット誤りの検出や、誤り訂正を行うものとしても良い。
【００８３】
D6．変形例６：
上記第３実施において、ビット誤りが検出した際のビットシフト処理において、ビット演算を行っていたが、ステップＳ４０に戻り、位相差検出用波形データの位相を単位時間分だけずらして処理を続行するものとしても良い。このようにしても、最終的にビットずれが解消された２値データを得ることができる。
【図面の簡単な説明】
【００８４】
【図１】磁気データ読取装置の構成を示す概略図。
【図２】磁気データ読取処理の処理工程を示すフローチャート。
【図３】磁気ヘッド周辺機構を示す概略図。
【図４】磁気トラックとその磁気トラックから読み取られる波形データとを説明するための説明図。
【図５】比較例として磁気データが正常に読み取られる場合を説明するための説明図。
【図６】波形データの位相に誤差が生じる状態で読み取られる場合を説明するための説明図。
【図７】位相差補正処理の各処理工程を説明するための説明図。
【図８】平均位相差算出処理の処理手順を示すフローチャート。
【図９】平均位相差算出処理の処理工程を説明するための説明図。
【図１０】磁気ストライプの各トラック間隔と位置ずれ量と関係を説明するための説明図。
【図１１】位相差補正処理の処理結果を説明するための説明図。
【図１２】第２実施例の磁気ストライプとその読み取り波形を説明するための説明図。
【図１３】第２実施例の磁気データ読取処理の処理工程を示すフローチャート。
【図１４】真の単位時間算出処理を説明するための説明図。
【図１５】真の単位時間算出処理の処理結果を説明するための説明図。
【図１６】第３実施例の磁気データ読取処理の処理工程を示すフローチャート。
【図１７】位相差補正処理の結果、ビットずれが生じてしまう場合を説明するための説明図。
【符号の説明】
【００８５】
１０…磁気付き通帳
１１…非磁性体
１２…磁性体
２０，２０Ａ，２０Ｂ…磁気ストライプ
１０００…磁気データ読取装置
１００…磁気ヘッド
１１０…磁気データ読取部
１１０ｃ…中心
１２０…通帳搬送部
１２１…通帳搬送路
１２２…搬送ローラ
２００…波形生成部
２１０…増幅アンプ
２２０…波形生成回路
３００…制御部
３１０…ＣＰＵ
３２０…メモリ
３２１…データ補正モジュール
３２２…２値化モジュール
３２３…読取波形
４００…磁気ヘッド周辺機構
ＢＳ1〜ＢＳn，ＢＳs，ＢＳt…ビット列
ＥY（Ｙ＝１，２，…，ｙ）…位相差
Ｅavg…平均位相差
Ｌ１…直線
Ｌ２…直線
Ｄ…商
Ｐ…パルス
ＰＤ…搬送方向
Ｔｉ…間隔
Ｔｒ1〜Ｔｒn…データトラック
Ｔｒs…基準トラック
Ｔｒｅ…端部
Ｗｆ1〜Ｗｆn…波形データ
Ｗｆs…基準トラック波形データ
Ｗｆvs…仮想的基準トラック波形データ
ｔp…仮の単位時間
ｔt…真の単位時間
ｔ…単位時間
ｔ0…読み取り開始時刻
ｔf…最初の変化点発生時刻
ｔl…最後の変化点発生時刻
ｔｄ…時間間隔
α…剰余
【図１】
2009129517.tif 000003
【図２】
2009129517.tif 000004
【図３】
2009129517.tif 000005
【図４】
2009129517.tif 000006
【図５】
2009129517.tif 000007
【図６】
2009129517.tif 000008
【図７】
2009129517.tif 000009
【図８】
2009129517.tif 000010
【図９】
2009129517.tif 000011
【図１０】
2009129517.tif 000012
【図１１】
2009129517.tif 000013
【図１２】
2009129517.tif 000014
【図１３】
2009129517.tif 000015
【図１４】
2009129517.tif 000016
【図１５】
2009129517.tif 000017
【図１６】
2009129517.tif 000018
【図１７】
2009129517.tif 000019