(57)【特許請求の範囲】
【請求項１】
高低２種の周波数信号の組み合わせによる周波数変調信号で２値データを形成し、この２値データの所定ビット数により１文字分のデータを形成するようになっており、記録されたデータ信号を再生して得られる再生信号波形よりピーク点の有無を検出することにより２値データを読み取るようにしたデータの復調方法であって、
上記再生信号波形の各ピーク間のピーク時間間隔を計測し、１文字分を構成する個々のピーク間隔値を基準値と比較することにより２値データからなるビット配列に変換し、１文字分のデータを復調するに際し、
１文字分のデータ間隔に対応する基準セグメント長に対し、この基準セグメント長とピーク位置を基準として復調すべきセグメント長候補を複数選定し、この複数のセグメント長候補に対して基準波形データとパターンマッチングを行い、その類似度により該当する文字を判定することを特徴とするデータの復調方法。
【請求項２】
上記パターンマッチングはタイムパターンマッチングであり、上記セグメント長候補は上記基準セグメント長に対し近いものから順位付けされてなる請求項１記載のデータの復調方法。
【請求項３】
上記基準セグメント長は、復調すべきセグメントの直前における複数個のセグメント長の平均により定めたものである請求項１記載のデータの復調方法。
【請求項４】
上記基準セグメント長は、セグメントごとに更新するものであるとともに、上記セグメント長候補は同一極性のピーク位置が選定されるようになっており、前記パターンマッチングの評価値が基準値を満たすものであるかどうかを判定するようにした請求項３記載のデータの復調方法。
【請求項５】
上記パターンマッチングの評価値が基準値を満たすものでなかった場合、基準セグメント長に最も近いセグメント長候補を選定するようにした請求項４記載のデータの復調方法。
【請求項６】
高低２種の周波数信号の組み合わせによる周波数変調信号で２値データを形成し、この２値データの所定ビット数により１文字分のデータを形成するようになっており、記録されたデータ信号を再生して得られる再生信号波形よりピーク点の有無を検出することにより２値データを読み取るようにしたデータの復調装置であって、
上記再生信号波形の各ピーク間のピーク時間間隔を計測する計測手段と、
１文字分を構成する個々のピーク時間間隔値を基準値と比較することにより２値データからなるビット配列に変換し、１文字分のデータを復調する復調手段と、上記復調手段で復調するに際し、１文字分のデータ間隔に対応する基準セグメント長に対し、この基準セグメント長とピーク位置を基準として復調すべきセグメント長候補を複数選定し、この複数のセグメント長候補に対して基準波形データとパターンマッチングを行い、その類似度により該当する文字を判定する判定手段とを有することを特徴とするデータの復調装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば磁気カード等に記録されているデータ信号の復調方法およびデータ信号の復調装置に関するもので、周波数変調方式により記録されているデータを高い信頼性で復調することができるものである。
【０００２】
【従来の技術】
例えば磁気カードリーダ等の記録再生装置においては、Ｆおよび２Ｆという２種類の周波数の組み合わせによって２値のデータ信号を記憶するＦＭ変調方式が一般に知られている。このＦＭ変調方式によって記録されたデータの再生時は、磁気カードの磁気ストライプに対して相対的に磁気ヘッドが摺動することにより、磁気記録データをアナログ再生信号の形態で再生し、このアナログ再生信号の信号波形に基づき、２値データを復調するようになっている。
【０００３】
一般的な磁気カードの磁気ストライプは、実際に記録データが記憶されている有効データ領域だけではなく、その前の同期ビット領域と、記録データの始まりを示すＳＴＸコード領域と、有効データ領域の後ろのデータ終了を示すＥＴＸコード領域、ＬＲＣコード領域および同期ビット領域を有している。
【０００４】
図１７に上記のような従来の磁気カードの記録データ復調時の一般的な機能ブロックを、図１８にその各部の信号波形を示す。図１７において、磁気カード１０が相対移動することによって得られる磁気ヘッド１１の出力信号は二つの増幅器１２、１５によって増幅される。増幅器１２の出力信号はピーク検出回路１３によってピーク検出が行われ、ピーク検出回路１３のピーク検出信号はコンパレータ１４によってゼロレベルと比較されゼロクロス点が検出されるようになっている。他方の増幅器１５の出力信号はコンパレータ１６によってゼロクロス点が検出され、その出力信号はタイミング発生回路１７に入力される。タイミング発生回路１７では、一方のコンパレータ１４から出力される信号の転換位置における他方のコンパレータ１６の出力信号レベルを見て、そのときのコンパレータ１６の出力信号レベルに応じてその出力レベルを転換するようになっている。タイミング発生回路１７の出力信号はデータ弁別回路またはＣＰＵ１８に入力され、所定の信号処理が行われることによって文字が判別されるようになっている。
【０００５】
図１７に示す機能ブロックの動作を、図１８を併せて参照しながらさらに具体的に説明する。磁気カード１０に記録されている信号の例を図１８（ａ）に示す。記録信号はＦおよび２Ｆという２種類の周波数の組み合わせによる２値のデータ信号であって、１ビット分の時間間隔Ｔ内において信号極性が反転するか否かによってそのビットが「０」であるか、または「１」であるかを表している。図１８（ａ）の例は「０１１０１」を表している。この記録信号を磁気ヘッド１１で読み取り、増幅器１２、１５で増幅したものの例を図１８（ｂ）に示す。記録信号「０」に対応する増幅器１２、１５の出力の周波数に対して記録信号「１」に対応する増幅器１２、１５の出力の周波数は２倍、したがって周期は１／２になっている。
【０００６】
ピーク検出回路１３は微分回路からなるものと考えてよく、従ってピーク検出出力は図１８（ｃ）に示すように増幅器１２の出力信号のピーク位置でゼロクロスとなる信号波形が得られる。その信号はコンパレータ１４によりゼロレベルと比較され、図１８（ｄ）に示すように上記ピーク検出波形のゼロクロス位置で反転するデジタル信号に変換される。他方の増幅器１５の出力波形はコンパレータ１６によりゼロレベルと比較され、図１８（ｅ）に示すように増幅器１５の出力波形のゼロクロス位置で反転するデジタル信号に変換される。タイミング発生回路１７は、コンパレータ１４の出力信号の転換位置におけるコンパレータ１６の出力信号のレベルを見て、そのときのコンパレータ１６の出力信号レベルに応じてその出力レベルを転換し、図１８（ｆ）に示すような信号を出力するようになっている。図１８（ｆ）に示す信号は（ａ）に示す信号と同じ「０１１０１」を表すデジタル信号となっており、磁気カードに記録されているデータ信号が復調されることがわかる。
【０００７】
以上説明したような磁気カードに記録されているデータの読み取り性能は、磁気記録媒体であるカードの状態や、磁気ヘッドの汚れや摩耗、モータなどからの電気的なノイズ、機械的なノイズなどの影響を受ける。すなわち、磁気カード等の記録媒体は、繰り返し使用されることによって様々な負荷を受ける結果、記録媒体の表面の汚れや傷により、本来存在するはずのない位置に信号が発生することがある。また、記録媒体に記録される基本データは１回書き込まれると使用を繰り返しても書き換えられることはないため、繰り返し使用して磁気ヘッドとの接触を繰り返すうちに磁力が減衰し、再生に必要な信号強度が不足してデータの読み取りの信頼性が低下する。さらに、磁気ヘッドの摩耗によって磁気ヘッドの分解能が低下し、ピークシフトが発生する。
【０００８】
このようにしてデータの読み取り波形に異常が生じると、媒体に記録されているデータの読み取り性能を低下させる要因となり、データを正しく判別することができなくなる。また、本来存在するはずのないピークが存在したり、本来存在すべき位置にピークが存在しなかったりすると、異常波形が忠実にデコードされることを原因としてビット数を誤って読み取り、以降のビットの区切りにもずれが生じ、この影響が後続の文字区間に波及し、後続の文字区間でも誤読を引き起こす原因となる。
【０００９】
前述のＦＭ変調方式では、図２に示すように、１ビットの時間間隔Ｔに関して一定の基準時間αＴ（ただし、０≦α≦１、例えばα＝０.８）を設定し、この基準時間αＴ内に読み取り信号の極性反転があるかないかで２値データが「０」かまたは「１」かの判定を行うようになっている。すなわち、基準時間αＴ内に極性反転がなければ周波数Ｆで２値データは「０」、基準時間αＴ内に極性反転があれば周波数２Ｆで２値データは「１」と判定する。これによってある程度のピークシフトによる影響を回避することができる。
【００１０】
しかしながら、図２に示す例のように、基準時間αＴを設定し、その時間αＴ内に読み取り信号の極性反転があるかないかで２値データを判定するようにしても、前述のような、本来存在するはずのないピークが存在したり、本来存在すべき位置にピークが存在しなかったりすることによって誤読を生じることがある。
【００１１】
そして、ビット列中のたった一つのビットだけについて誤読を生じたとしても、この誤読が後続のビット列にも波及し、誤った判定をすることになる。そこで本発明者らは、一つのビットの誤読が後続のビット列に波及することのないようにしたデータの復調方法について先に特許出願した。特願平１１−８８０４８号、特願平１１−１０５０６５号、特願平１１−１１６２０２号の明細書および図面に記載されている発明がそれで、個々のビットの２値データを判定するに当たり、１文字分の文字時間間隔を合理的な方法で区切り、この１文字分の文字時間間隔という要素を加味することによって、誤読を大幅に減らし、信頼性の高いデータの復調を可能としたものである。
【００１２】
上記各出願に係る発明の狙いは、再生波形データを解析し、その波形データを正確に１文字分ごとに区切ること、すなわちセグメンテーションを正確に行うことである。上記各出願にかかる発明のうち特願平１１−１１６２０２号にかかる発明は、予め１文字を構成する各ビットのピーク間隔値を文字ごとに基準配列パターンとして用意しておき、上記再生信号の各ピーク間の時間間隔を計測し、１文字分を構成する個々のピーク間隔値を上記基準配列パターンと比較してタイムパターンマッチングを行い、最も高い類似度を示す上記基準配列パターンに対応する文字を該当する文字と判定するものである。こうすることによって、より信頼性の高いデータの復調が可能である。
【００１３】
【発明が解決しようとする課題】
上記の各出願にかかる発明によれば、データ復調の信頼性を高めることができる。しかしながら、上記各出願にかかる発明によっても、読み取り信号の異常の出方によっては、記録媒体上の記録データを正しく読み取ることが困難な場合がある。例えば、読み取り信号波形にピークシフトが存在すると、１文字分の２値データの配列パターンが誤って読み取られることがある。その結果、文字の選択を誤ることになるため、何らかのエラー処理が必要になる。また、例えば、第２番目のビットで２値変換を誤ったとすると、第３ビット以降のビットの区切りにずれが生じ、この影響が後続の文字区間に波及し、後続の文字区間でも誤読を生じる原因となる場合もある。このように、上記各出願にかかる発明は、さらに改良する余地がある。
【００１４】
本発明は上記のような従来技術に鑑みてなされたもので、読み取り信号波形にピークシフトが存在していても、正確に記録情報を復調することができるようにし、もって、誤読を大幅に減らすことができ、信頼性の高いデータの復調方法およびデータの復調装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記の目的を達成するために本発明は、請求項１に記載されているように、高低２種の周波数信号の組み合わせによる周波数変調信号で２値データを形成し、この２値データの所定ビット数により１文字分のデータを形成するようになっており、記録されたデータ信号を再生して得られる再生信号波形よりピーク点の有無を検出することにより２値データを読み取るようにしたデータの復調方法であって、上記再生信号波形の各ピーク間のピーク時間間隔を計測し、１文字分を構成する個々のピーク間隔値を基準値と比較することにより２値データからなるビット配列に変換し、１文字分のデータを復調するに際し、１文字分のデータ間隔に対応する基準セグメント長に対し、この基準セグメント長とピーク位置を基準として復調すべきセグメント長候補を複数選定し、この複数のセグメント長候補に対して基準波形データとパターンマッチングを行い、その類似度により該当する文字を判定することを特徴とする。
【００１６】
請求項２記載の発明は、請求項１記載の発明において、上記パターンマッチングはタイムパターンマッチングであり、上記セグメント長候補は上記基準セグメント長に対し近いものから順位付けされるようにしたものである。
【００１７】
請求項３記載の発明は、請求項１記載の発明において、上記基準セグメント長は、復調すべきセグメントの直前における複数個のセグメント長の平均により定めるものである。
【００１８】
請求項４記載の発明は、請求項３記載の発明において、上記基準セグメント長は、セグメントごとに更新するものであるとともに、上記セグメント長候補は同一極性のピーク位置が選定されるようになっており、前記パターンマッチングの評価値が基準値を満たすものであるかどうかを判定するようにしたものである。
【００１９】
請求項５記載の発明は、請求項４記載の発明において、上記パターンマッチングの評価値が基準値を満たすものでなかった場合、基準セグメント長に最も近いセグメント長候補を選定するようにしたものである。
【００２０】
請求項６記載の発明は、高低２種の周波数信号の組み合わせによる周波数変調信号で２値データを形成し、この２値データの所定ビット数により１文字分のデータを形成するようになっており、記録されたデータ信号を再生して得られる再生信号波形よりピーク点の有無を検出することにより２値データを読み取るようにしたデータの復調装置であって、上記再生信号波形の各ピーク間のピーク時間間隔を計測する計測手段と、１文字分を構成する個々のピーク時間間隔値を基準値と比較することにより２値データからなるビット配列に変換し、１文字分のデータを復調する復調手段と、この復調手段で復調するに際し、１文字分のデータ間隔に対応する基準セグメント長に対し、この基準セグメント長とピーク位置を基準として復調すべきセグメント長候補を複数選定し、この複数のセグメント長候補に対して基準波形データとパターンマッチングを行い、その類似度により該当する文字を判定する判定手段とを有することを特徴とする。
【００２１】
【発明の実施の形態】
以下、本発明にかかるデータの復調方法およびデータの復調装置の実施形態について図１〜図１６を参照しながら説明する。本発明に用いられるハードウエアの構成例を、図１にブロック図で示す。図１において、磁気記録媒体である磁気カード２０の磁気ストライプには、Ｆおよび２Ｆという高低２種類の周波数信号の組み合わせによる周波数変調信号で形成された２値データが記録されている。２値データは、所定ビット数とパリティビットとにより１文字分のデータを形成するようになっていて、複数文字分のデータが記録されている。図１の例は磁気カード２０の記録信号を再生する場合の例で、磁気カード２０を記録再生装置に挿入すると、搬送ローラ２６が図示されないモータによって回転駆動され、搬送ローラ２６は磁気カード２０を、その磁気ストライプを磁気ヘッド２１に摺接させながら搬送し、磁気ヘッド２１は磁気ストライプに記録されているデータ信号を読み出すようになっている。
【００２２】
磁気ヘッド２１の出力信号は増幅器２２で必要な信号強度まで増幅され、アナログ・デジタル変換器２３によりサンプリングされてデジタル信号に変換され、バッファメモリ２４に記憶されるようになっている。バッファメモリ２４の記憶データはＣＰＵ２５において読み出され、復調処理が実行される。以下、ＣＰＵ２５における復調処理について説明する。
【００２３】
図３に示すように、初めにステップ２０１（以下ステップについては「Ｓ４０」「Ｓ２０１」のように表す）において波形の平滑化を行い、スパイク状ノイズを除去する。Ｓ２０２において逐次波形のピークを検出し、ピークを検出するごとに一つ前のピークとの時間間隔を計測する。この処理を、ＬＲＣを復調するまで、すなわち磁気カードの磁気ストライプ全長にわたって実行し、ピーク間隔データの配列を生成する。これがＳ２０３のデータビット検出である。
【００２４】
図５に読み取り波形の例とそのピーク間隔データ（以下「ピーク間隔値」という）配列の例を示す。磁気カードは、例えばＩＳＯ規格では第１、第３トラックは記録密度２１０ＢＰＩであり、カード搬送速度を１９０ｍｍ／Ｓとすれば、１ビットに相当する時間は６３６．６μＳである。アナログ波形をＡ／Ｄ変換するときのサンプリングレートを１０μｓとすれば、１ビットに含まれるデータ点数の理論値は６３．７個になる。図５の波形の例では、ピーク間隔値配列は「６５」「４４」「３４」「３１」「３１」……となっている。
【００２５】
上記ピーク間隔値配列に基づいてセグメンテーションを行う。セグメンテーションとは、再生波形データを文字に対応するように区切ることをいう（図３、Ｓ２０４参照）。このセグメンテーションの手順の具体例を図５、図６を参照しながら説明する。図５に示す波形はＩＳＯ第３トラックの例である。ＩＳＯ第３トラックは４個のデータビットと１個のパリティビットとの合計５ビットで１文字を表す。奇数パリティであるため、ビット０は偶数個しか許されず、従ってセグメントを構成するピーク間隔値の個数は、６、８、１０の３通りに限定される。
【００２６】
ここで、ピーク間隔値の個数が６ということは、「０」が４個、「１」が１個で構成される文字符号に対応する。ピーク間隔値の個数が８ということは、「０」が２個、「１」が３個の場合であり、ピーク間隔値の個数が１０ということは、５ビット全てが「１」の文字符号に対応する。
【００２７】
上記セグメンテーションの動作例を図６に示す。図６において、まず、ピーク間隔値累計をゼロにする（Ｓ３０１）。次にＳ３０２で基準セグメント長を設定する。これは、前述の例のように５ビットで記録データの１文字分を表すようになっているため、基準ビットセル長の５倍に設定する。基準ビットセル長は、例えば、連続する「０」で構成される同期ビット部分の波形を計測するなどして求める。
【００２８】
次に、Ｓ３０３において符号化するセグメントの最初のピーク間隔値をピーク間隔値累計に加算する。続いてＳ３０４でピーク間隔値累計が基準セグメント長の０．９倍を超えているかどうかを判断する。図５に示す例において、最初のピーク間隔値を加算した段階ではピーク間隔値累計は「６５」で、基準セグメント長の０．９倍を超えることはないので、Ｓ３０７で次のピーク間隔データを取り出し、これをＳ３０３に戻ってピーク間隔値累計に加算する。以上の動作を数回繰り返すことによって、Ｓ３０４での判断でピーク間隔値累計が基準セグメント長の０．９倍を超えるので、そのときはＳ３０５でここまで加算してきたピーク間隔値の個数が偶数であるかどうかチェックする。
【００２９】
Ｓ３０５の判断で偶数でなければ、さらにＳ３０７で次のピーク間隔データを取り出し、Ｓ３０４，Ｓ３０５を繰り返す。Ｓ３０５でピーク間隔値の個数が偶数と判断されれば、Ｓ３０６に進み、ピーク間隔値累計が基準セグメント長の１．１倍より小さいかどうかをチェックする。ピーク間隔値累計が基準セグメント長の１．１倍より小さければ、これでセグメンテーションを打ち切る。ピーク間隔値累計が基準セグメント長の１．１倍より大きければ、ピーク間隔値累計が大きすぎると判断できるため、Ｓ３０８で最後の２個分のピーク間隔値データをピーク間隔値累計から差し引くとともにピーク間隔値の個数を表すポインタの値を「２」だけ減じる。２個分のピーク間隔値データを差し引く理由は、ピーク間隔値の個数は偶数個しかとりえないという条件を満足させるためである。
【００３０】
このようにして１文字分のセグメントが得られる。ピーク間隔値の累計個数を、上記のようにして基準セグメント長の０．９〜１．１倍の範囲に入るように決定する根拠は、この範囲内にあれば、１文字分のセグメントがほとんど誤りなく得られることが実験的にわかったからである。
【００３１】
このようにして切り出されたセグメントに関して、この構成要素である個々のピーク間隔データをチェックし、バイナリ値に変換する。この操作をここではビット変換と呼ぶ。図３に示すＳ２０５がそれで、このビット変換の詳細を図１１に示す。図１１のビット変換について、異常な波形を含む図１２の例を用いながら説明する。図１２の例では、ピーク間隔データが「１９」「２１」「３２」「２９」……「３４」「６９」となっていて、異常なデータを含む。まずＳ４０においてピーク間隔値累計を「０」にリセットし、未処理ビット数を７または５にセットする。次にＳ４１で、基準セル幅を、（セグメント長−ピーク間隔値累計）／未処理ビット数、の演算を行うことによって設定し、基準境界値を、ピーク間隔値累計＋基準セル幅、の演算を行うことによって設定する。また、しきい値Ａを、基準境界値−基準セル幅×０．３、の演算を行うことによって設定し、しきい値Ｂを、基準境界値＋基準セル幅×０．３、の演算を行うことによって設定する。
【００３２】
図１２の例ではセグメント長は「３２２」であり、当初、ピーク間隔値累計はゼロ、未処理ビット数の初期値は「５」であるから、図１１のＳ４１で、基準セル幅を３２２／５を演算して「６４」と設定する。また、ピーク間隔値累計はゼロであるから、基準境界値は「６４」となる。この結果、しきい値Ａは、６４−６４×０．３＝４４、しきい値Ｂは、６４＋６４×０．３＝８３となる。
【００３３】
図１１のＳ４２において、サブビットカウンタを０にリセットし、次にＳ４３でピーク間隔値をピーク間隔値累計に加算し、ピーク間隔値ポインタを更新する。図１２の例でセグメント中の最初のピーク間隔値は「１９」であり、これがピーク間隔値累計に加算される結果、累計は「１９」となる。ピーク間隔値ポインタは「１」に更新される。上記ピーク間隔値累計「１９」はＳ４４でしきい値Ａと比較され、上記しきい値Ａの「４４」よりも小さいので、基準セル幅内にピークがあったことを意味することになり、Ｓ４２’においてサブビットカウンタをインクリメント（ここでは０→１）したあとＳ４３に戻る。Ｓ４３ではピーク間隔値累計に次のピーク間隔値「２１」が加算されて「４０」となる。これは、しきい値Ａ＝４４よりも小さいため、Ｓ４２’においてサブビットカウンタをインクリメント（ここでは１→２）したあとＳ４３に戻る。
【００３４】
ピーク間隔値累計は、これに次のピーク間隔値「３２」が加算されて「７２」となる。この値はしきい値Ａよりも大きく、しきい値Ｂよりも小さいので、Ｓ４４、Ｓ４５、Ｓ４６の順に進み、Ｓ４６でサブビットカウンタが０であるかどうかが判断される。上記のようにＳ４２’においてサブビットカウンタはインクリメントされて「２」となっているため、Ｓ５１が選択され、最初のバイナリ値として「２」が得られる。Ｓ５２で未処理ビット数が「１」引かれて「５」から「４」に変化する。この未処理ビット数は「０」ではないので、Ｓ５３での判断を経てＳ５４に進み、バイナリ値は「３」ではないため、Ｓ５４を経てＳ４１に戻る。
【００３５】
Ｓ４１では前述のように基準セル幅、基準境界値、しきい値Ａ、しきい値Ｂを演算する。この場合、基準セル幅は（３２２−７２）／４＝６２、基準境界値は７２＋６２＝１３４、しきい値Ａは１３４−６２×０．３＝１１６、しきい値Ｂは１３４＋６２×０．３＝１５２となる。Ｓ４３ではピーク間隔値累計にピーク間隔値２９が加算されて７２＋２９＝１０１となる。上記の処理と同様にＳ４４，Ｓ４２’の順に実行され、Ｓ４３に戻り、ピーク間隔値累計「１０１」に「３５」が加算され、ピーク間隔値累計は「１３６」となる。以下、Ｓ４４，Ｓ４５，Ｓ４６，Ｓ４７，Ｓ５０の順に実行され、２番目のバイナリ値＝１が得られる。Ｓ５２で未処理ビット数が「４」から「３」に変化し、従ってその結果は「０」ではなく、バイナリ値も「３」ではないので、Ｓ５４を経てＳ４１に戻る。
【００３６】
Ｓ４１では、基準セル幅＝（３２２−１３６）／３＝６２、基準境界値＝１３６＋６２＝１９８、しきい値Ａ＝１９８−６２×０．３＝１８０、しきい値Ｂ＝１９８＋６２×０．３＝２１６が演算され、それぞれの値がセットされる。以下、Ｓ４３，Ｓ４４，Ｓ４２’，Ｓ４３，Ｓ４４，Ｓ４５，Ｓ４６，Ｓ４７，Ｓ５０の順に実行され、３番目のバイナリ値＝１が得られる。以下、未処理ビット数がゼロとなるまで処理が実行され、４番目のバイナリ値＝１、５番目のバイナリ値＝０が得られる。
【００３７】
このようにしてビット変換されることにより、２値で表されるビット列が得られる。上記の例で得られるビット列は「２１１１０」であり、これをもとに文字コードに変換する。この例では第１ビットが「２」になっていて異常を示しており、これ以外の４個のビットは正しいものとみなすことにすると、奇数パリティという制約条件から、この１文字分に含まれるビット「０」の個数は偶数、ビット「１」の個数は奇数でなければならない。上記正常な４個のビットの内訳は、ビット「０」が１個、ビット「１」が３個であるから、残りの１ビットは「０」であることがわかる。従って、本来のビット列は「０１１１０」であり、このセグメントに対応する文字は「ＯＥＨ」であると推定することができる。
【００３８】
このように、再生した信号を記録データの１文字分の長さに相当するセグメントに切り出し、このセグメントを一つの処理単位として、この構成要素であるピーク間隔値の大小関係を基準値と比較し、「０」と「１」からなるビット列を得てこのセグメントに対応する文字コードを得るようにし、１文字分の文字時間間隔という要素を加味しながら個々のビットの２値データを復調するようになっているため、従来のように個々のビットを単位としてビット列を得る場合に比べて、誤読を大幅に減らすことができる。これによって、信頼性の高いデータの復調方法を得ることができ、加えて、１文字分を構成する個々のピーク間隔値を基準値と比較することにより、２値データからなるビット配列に変換するため、ピーク間隔値が極端に小さい場合や極端に大きい場合もこれを検出することができ、この異常なピーク間隔値に対応するビット値を導入することにより、現に評価中のセグメントに波形異常が存在することを検出することができる。
ここまで説明してきたセグメント切り出しおよびビット変換は、本出願人の出願にかかる前記特願平１１−１１６２０２号および特願平１１−１０５０６５号に記載されているものと同じである。
【００３９】
図３に戻って、ビット変換後Ｓ２０６において異常ピーク間隔検出を行い、Ｓ２０７で異常ピーク間隔ありと判定されたときは、Ｓ２０８においてパターンマッチングを行う。ここでは、予め１文字を構成する各ビットのピーク間隔値を、文字ごとに基準配列パターンとして用意しておき、上記再生信号波形をアナログ・デジタル変換によってデジタル信号に変換し、デジタル化した再生信号の各ピーク間の時間間隔を計測し、１文字分を構成する個々のピーク間隔値を上記基準配列パターンと比較するタイムパターンマッチングを行い、最も高い類似度を示す上記基準配列パターンに対応する文字を該当する文字と判定する。以下、このタイムパターンマッチングについて具体的に説明する。
【００４０】
パターンマッチングの機能部分として、テンプレート、マッチング演算手段、データ判別手段などがあり、これらの機能部分は、図１に示すＣＰＵあるいはマイクロコンピュータに持たせることができる。テンプレートの例を図７に示す。ＩＳＯ第２、第３トラックでは、４データビット＋１パリティビットの５ビットで１文字を表現するため、図７に示すテンプレートは全部で１６通りのパターンＴ０，Ｔ１，……，Ｔ１５が存在する。このうちのパターンＴ０の波形と、この波形のピーク間隔値配列、および各ピーク間隔値の比率を図８に示す。これは、文字コード「１０Ｈ」に対応する理想的な波形で、ピーク間隔値配列Ｔ０＝｛６４，６４，６４，６４，３２，３２｝である。テンプレートの値としては、バイナリ「０」の磁化反転間隔を「６４」、バイナリ「１」の磁化反転間隔を「３２」として、この値をそのまま用いてもよいが、磁化反転間隔の比率が２：１という条件が満たされていれば、図８に示すように、Ｔ０’＝｛２，２，２，２，１，１｝を用いてもよい。図７の例では、文字コードパターンＴ０，Ｔ１，……，Ｔ１５のそれぞれにつき、ピーク間隔値配列を磁化反転間隔の比率で表すとともに、それぞれに対応する文字コードを表している。
【００４１】
上記テンプレートを用いたパターンマッチングの具体的な動作例について、図４、図５、図９、図１０を参照しながら説明する。なお、図４、図５に示す波形は同じ波形であり、図４にはその波形についての正しいビット変換と誤ったビット変換を示し、図５には、上記波形を計測して得られるピーク間隔値配列を示す。まず、図１０に示すＳ１で対象パターンのピーク間隔値Ｐを取得する。図５に示す例では、Ｐ＝｛６５，４４，３４，３１，３１，２５，３８，５８｝であり、Ｐの要素は８であるから、図７に示す１６パターンのテンプレートのうち、図９に示すように、要素数８を持つテンプレートＴＰ３，ＴＰ５，ＴＰ６，ＴＰ７，ＴＰ９，ＴＰ１０，ＴＰ１１，ＴＰ１２，ＴＰ１３，ＴＰ１４の１０個を比較の対象となるテンプレートとして取得する（Ｓ３）。
【００４２】
次に、Ｓ４において、対象パターンと、上記比較の対象となる１０個のテンプレートとの相関値を演算する。相関値の演算は次の式による。ｒｋは相関値、Ｓｎはセグメント、Ｔｋはテンプレートを示す。
0003778742.tif 000002
【００４３】
比較の対象となる１０個のテンプレート全てについて相関値の演算が済んだら（Ｓ５）、次に、算出された相関値の中から最大相関値を見つける（Ｓ７）。図４、図５に示す波形の例について、比較の対象となる上記１０個のテンプレートを比較演算して得られた各相関値を図９に示す。この例によれば、テンプレートＴＰ１４との相関値が約０．９と最も大きいので、このセグメントの文字は、テンプレートＴＰ１４に対応する「０ＥＨ」（コード「０１１１０Ｂ」）を、該当する文字と判定する。この文字コードは、図４に示す波形の、本来の正しいビット変換値列と一致しており、図４に示すようなピークシフト（ジッタ）が存在する波形であっても、誤りなく読み取ることができることがわかる。
【００４４】
図３にＳ２１１で示されるように、ＬＲＣを復調するまで、ピーク検出およびピーク間隔計測、セグメンテーション、ピーク間隔マッチング（パターンマッチング）操作が繰り返され、ＬＲＣ復調が終わると、最後にＳ２１２でＬＲＣチェック、すなわち全体としての復調結果の成否判定が行われる。
【００４５】
以上説明したセグメンテーション、ピーク間隔マッチング（タイムパターンマッチング）操作によれば、予め１文字を構成する各ビットのピーク間隔値を、文字ごとに基準配列パターンとして用意しておき、上記再生信号の時間間隔を計測し、１文字分を構成する個々のピーク間隔値を上記基準配列パターンと比較してパターンマッチングを行い、最も高い類似度を示す上記基準配列パターンに対応する文字を該当する文字と判定するようにしたため、ビット変換では正しく判定することができない異常波形、例えば局所的なピーク間隔の変動があったとしても、１文字分を構成するセグメントという一つのブロック全体として、局所的なピーク間隔の変動の影響を受け難く、正しく文字を判定することができ、データ復調の信頼性を高めることができる。
【００４６】
しかしながら、それでも記録媒体の表面の汚れや傷、磨耗により、本来存在するはずのない位置に信号が発生すると、上記のようにして判定した正しい文字のはずが、実は間違った文字であったということがあり得る。そこで、本発明では、前述のセグメンテーションに工夫を加えてデータ復調エラーをさらに低減できるようにした。以下、本発明の特徴的な構成部分であるセグメンテーションの例について具体的に説明する。
【００４７】
図１３は、セグメンテーションの基本的な処理の流れを示す。図１３において、まず、Ｓ１１で基準セグメント長を更新し、Ｓ１２でこの基準セグメント長を用いてこれに最も近いセグメントを基準セグメントとして設定する。続いてＳ１３で上記標準セグメント長よりもピーク間隔値が２個分短いセグメントと２個分長いセグメントを選択し、全部で３種類のセグメントをセグメンテーション候補として準備する。さらにＳ１４で上記３種類のセグメントの順位付けを行い、パターンマッチング処理を行うセグメントの順番を設定する。この順番に従い、上記３種類のセグメントに対してタイムパターンマッチングを行い、その結果に従い、Ｓ１５でこの波形部分のセグメントを決定する。このセグメンテーションについて、波形の例を用いながら以下に詳細に説明する。
【００４８】
図１４は、上記セグメンテーションを説明するための再生信号波形の一部を示す。この波形は、磁気カードのＩＳＯ第３トラックを読み出したときに得られる波形の例である。このフォーマットでは、１文字はデータビット４個＋パリティビット１個で構成され、パリティは奇数パリティである。いま、セグメンテーションを行おうとしている部分は図１４中のＳＥＧ(ｉ)である。ＳＥＧ(ｉ)のセグメンテーションに使用する基準セグメント長は、その直前の連続する４個のセグメントＳＥＧ(ｉ−４)、ＳＥＧ(ｉ−３)、ＳＥＧ(ｉ−２)、ＳＥＧ(ｉ−１)のそれぞれのセグメント長の平均値である。こうすることによって基準セグメント長の変動を抑制することができる。図１４の例では、上記のようにして得られた基準セグメント長Ｌｍは「１０６」となっている。
【００４９】
次に、標準セグメントを設定する。これは、既に説明した特願平１１−１１６２０２号に係る発明におけるセグメンテーションと同じ方法で行う。この標準セグメントを含む３種類のセグメント設定の様子を図１５に示す。図１５に示す例において、標準セグメントの設定に使用するしきい値は、１０６×０.９＝９５となる。ピーク間隔データの累計値は、７個のセグメントまで加算したところで「１００」となり、これはしきい値の「９５」を超える。しかし、加算個数は偶数個でなければならないので、図１５の例では８番目のピーク間隔値「９」を加えたところで演算を打ち切る。したがって、標準セグメントは図１５にＬ＝１０９で示すセグメントとなる。
【００５０】
上記標準セグメントをもとに、さらに二つのセグメント候補を設定する。ピーク間隔値が２個分短いセグメント、したがって、標準セグメントに隣接する同一極性のピーク位置で区切られるセグメントとして図１５にＬ＝９１で示すセグメントと、ピーク間隔値が２個分長いセグメント、したがって、標準セグメントに隣接する同一極性のピーク位置で区切られるセグメントとして図１５にＬ＝１３７で示すセグメントを選択し設定する。ピーク間隔値が２個分短く、または、２個分長いセグメントを選択する理由は、セグメントを構成するピーク間隔データの個数は偶数であるという制約に従うからである。すなわち、作為的に作られたカードでない限り、ピーク間隔データが７個もしくは９個などというセグメントは存在しないということである。
【００５１】
上記のようにしてセグメント候補が設定されたら、次にセグメントの処理順位を決定する。選択された上記３種類のセグメントの中から、基準セグメント長に最も近いセグメント長を持つセグメントを選択し、これを処理順位１とする。また、２番目に近いセグメント長のセグメントを第２位とし、残りのセグメントを第３位とする。この演算は、単にセグメント長の差を計算し、その値の大小関係で順位を決定すればよい。最後にセグメントの評価・決定を行う。
【００５２】
図１６は、以上の処理の流れを示す。図１６において、まずＳ２１において第１のセグメント候補を設定し、この第１のセグメント候補について、S２２においてタイムパターンマッチング演算を実行し、相関値ｒを得る。マッチング演算は、段落「００３９」乃至「００４３」に記載した、前述の特願平１１−１１６２０２号の明細書および図面記載のものと同じ方法によって行う。Ｓ２３において上記相関値ｒを、予め用意した規格値ｒ０と比較し、ｒ０以上であればＳ２７においてこのセグメント候補を正しいセグメントとして採択する。Ｓ２３において相関値ｒが規格値ｒ０に満たない場合は、Ｓ２４において未処理候補のセグメントの有無を判定し、もし未評価のセグメントがあればＳ２６において次順位のセグメントについてタイムパターンマッチング演算を行う。未評価のセグメントがない場合は、相関値が規格値を満足しない原因はセグメンテーションの誤りではなく、波形異常の存在によるものとして、Ｓ２５で第１位のセグメントを正しいセグメントとして採択する。
【００５３】
以上説明した本発明の実施の形態によれば、再生信号波形の各ピーク間のピーク時間間隔を計測し、１文字分を構成する個々のピーク間隔値を基準値と比較することにより２値データからなるビット配列に変換し、１文字分のデータを復調するに際し、１文字分のデータ間隔に対応する基準セグメント長に対し、この基準セグメント長とピーク位置を基準として復調すべきセグメント長候補を複数選定し、この複数のセグメント長候補に対して基準波形データとパターンマッチングを行い、その類似度により該当する文字を判定するため、カードの速度変動等によって再生波形のピーク間隔が著しく乱れた場合でも、正しくカードデータを読み取ることができ、誤読の少ない信頼性の高いデータの復調方法およびデータの復調装置を提供することができる。また、再生波形中の異常なピークや、ピークの欠落を検出することもできる。
【００５４】
本発明にかかるデータの復調方法および装置は、モータ駆動式磁気カードリーダにも適用できるし、手動式磁気カードリーダにも適用することができる。
【００５５】
【発明の効果】
請求項１または６記載の発明によれば、再生信号波形の各ピーク間のピーク時間間隔を計測し、１文字分を構成する個々のピーク間隔値を基準値と比較することにより２値データからなるビット配列に変換し、１文字分のデータを復調するに際し、１文字分のデータ間隔に対応する基準セグメント長に対し、この基準セグメント長とピーク位置を基準として復調すべきセグメント長候補を複数選定し、この複数のセグメント長候補に対して基準波形データとパターンマッチングを行い、その類似度により該当する文字を判定するため、カードの速度変動等によって再生波形のピーク間隔が著しく乱れた場合でも、正しくカードデータを読み取ることができ、誤読の少ない信頼性の高いデータの復調方法およびデータの復調装置を提供することができる。
【００５６】
請求項２記載の発明によれば、請求項１記載の発明において、上記パターンマッチングはタイムパターンマッチングであり、上記セグメント長候補は上記基準セグメント長に対し近いものから順位付けするため、セグメント長候補の選定が合理的に行われ、請求項１記載の発明の効果をよりいっそう高めることができる。
【００５７】
請求項３記載の発明によれば、請求項１記載の発明において、上記基準セグメント長は、復調すべきセグメントの直前における複数個のセグメント長の平均により定めるものであるため、基準セグメントの設定が的確に行われ、請求項１記載の発明の効果をよりいっそう高めることができる。
【００５８】
請求項４記載の発明によれば、請求項３記載の発明において、上記基準セグメント長は、セグメントごとに更新するものであるとともに、上記セグメント長候補は同一極性のピーク位置が選定されるようになっており、前記パターンマッチングの評価値が基準値を満たすものであるかどうかを判定するものであるため、セグメンテーションが合理的かつ厳格に行われることになり、誤読が少なく、より一層信頼性の高いデータの復調方法を提供することができる。
【００５９】
請求項５記載の発明のように、請求項４記載の発明において、上記パターンマッチングの評価値が基準値を満たすものでなかった場合、基準セグメント長に最も近いセグメント長候補を選定するようにしたものにおいても、セグメンテーションが合理的かつ厳格に行われることになり、誤読が少なく、より一層信頼性の高いデータの復調方法を提供することができる。
【図面の簡単な説明】
【図１】本発明にかかるデータの復調方法および復調装置の実施形態を示す機能ブロック図である。
【図２】Ｆ２Ｆ変調方式を説明するための波形図である。
【図３】上記実施形態によるデータ復調動作を示すフローチャートである。
【図４】データ復調における再生波形の例とそのビット変換の例を示す波形図である。
【図５】データ復調における再生波形の例とそのピーク間隔値配列を示す波形図である。
【図６】本発明における１文字分のセグメンテーションの例を示すフローチャートである。
【図７】本発明にかかるデータの復調方法においてパターンマッチングに用いるテンプレートの例を示す数列図である。
【図８】本発明に用いることができる特定の１文字分のテンプレートの例を示す波形図である。
【図９】本発明において比較の対象とする基準配列パターンとある再生信号ピーク間隔値配列とを比較した結果を類似度で示す数列図である。
【図１０】本発明におけるパターンマッチングの例を示すフローチャートである。
【図１１】本発明に適用可能なビット変換の例を示すフローチャートである。
【図１２】余分なピークを含むためにデータ復調における誤読を生じる場合の例を説明するための波形図である。
【図１３】本発明に用いることができるセグメンテーションの基本的な処理の例を示すフローチャートである。
【図１４】同上セグメンテーションを説明するための再生信号波形の一部を示す波形図である。
【図１５】同上セグメンテーションにおいて標準セグメントを含む複数のセグメント候補設定の様子を示す波形図である。
【図１６】上記複数のセグメント候補の中から一つのセグメントを選定する様子を示すフローチャートである。
【図１７】従来のデータの復調方法の例を示す機能ブロック図である。
【図１８】同上従来のデータの復調方法の動作を説明するためのタイミングチャートである。
【符号の説明】
２０  磁気カード
２１  磁気ヘッド
２２  増幅器
２３  ＡＤ変換器
２４  メモリ
２５  ＣＰＵ
【図１】
0003778742.tif 000003
【図２】
0003778742.tif 000004
【図３】
0003778742.tif 000005
【図４】
0003778742.tif 000006
【図５】
0003778742.tif 000007
【図６】
0003778742.tif 000008
【図７】
0003778742.tif 000009
【図８】
0003778742.tif 000010
【図９】
0003778742.tif 000011
【図１０】
0003778742.tif 000012
【図１１】
0003778742.tif 000013
【図１２】
0003778742.tif 000014
【図１３】
0003778742.tif 000015
【図１４】
0003778742.tif 000016
【図１５】
0003778742.tif 000017
【図１６】
0003778742.tif 000018
【図１７】
0003778742.tif 000019
【図１８】
0003778742.tif 000020