(57)【特許請求の範囲】
【請求項１】
媒体に設けた磁気ストライプに対し、データの書き込み及び読み出しを行う磁気ストライプデータ処理装置において、
上位装置から転送された０〜９までの１０進数１桁単位のデータから、６桁単位でデータを切り出すデータ切り出し手段と、
前記切り出した６桁単位のデータを５桁の１６進数に変換して、１６進数５桁のバイナリデータを生成するデータ変換手段と、
前記生成したバイナリデータを前記磁気ストライプに書き込む磁気ストライプデータ書き込み手段と、
前記５桁の１６進数データで未使用の１６進数データにより、該５桁の１６進数データを、そのデータ内で２桁以上の０が連続する特殊パターンを発生させないコードに変換するコード変換手段と、
前記特殊パターンを、データブロックの区切りコードを含む他の用途に使用して媒体上の磁気ストライプに書き込む特殊パターン書き込み手段と、
を備えていることを特徴とした磁気ストライプデータ処理装置。
【請求項２】
前記媒体上の磁気ストライプに、同一データを２ケ所に書き込む２ブロックデータフォーマットに対し、各データブロックへのデータの書き込み方向を、それぞれ逆方向として書き込む２ブロックデータ書き込み手段を備えていることを特徴とした請求項１記載の磁気ストライプデータ処理装置。
【請求項３】
前記磁気ストライプ上のデータブロックを複数ブロック化し、前記複数ブロック内の２ブロックには、それぞれ磁気ストライプデータの内のキーとなる一部のデータのみを書き込み、該キーデータのみを二重化するキーデータ二重化手段を備えていることを特徴とした請求項１又は２記載の磁気ストライプデータ処理装置。
【請求項４】
媒体に設けた磁気ストライプに対し、データの書き込み及び読み出しを行う磁気ストライプデータ処理装置に、
上位装置から転送された０〜９までの１０進数１桁単位のデータから、６桁単位でデータを切り出す手順と、
前記切り出した６桁単位のデータを５桁の１６進数に変換して、１６進数５桁のバイナリデータを生成する手順と、
前記生成したバイナリデータを前記磁気ストライプに書き込む手順と、
前記５桁の１６進数データで未使用の１６進数データにより、該５桁の１６進数データを、そのデータ内で２桁以上の０が連続する特殊パターンを発生させないコードに変換する手順と、
前記特殊パターンを、データブロックの区切りコードを含む他の用途に使用して媒体上の磁気ストライプに書き込む手順を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、磁気ストライプデータ処理装置、及び記録媒体に関するものである。特に本発明は、銀行等の金融機関の店舗に設置され、顧客の取引に利用される窓口装置（テラー端末、記帳機等）、或いはＡＴＭ（自動取引装置）等に利用されるものであり、顧客の通帳（取引に使用する通帳）に設けた磁気ストライプ（以下、「ＭＳ」と記す）に取引データを記録する機能を備えた磁気ストライプデータ処理装置、及び記録媒体に関する。
【０００２】
【従来の技術】
図９は従来例の説明図（その１）、図１０は従来例の説明図（その２）、図１１は従来例の説明図（その３）である。以下、図９〜図１１に基づいて従来例を説明する。
【０００３】
§１：システムの説明・・・図９参照
従来、銀行等の金融機関において、図９に示したようなシステムが使用されていた。このシステムは、センタ１と各営業店２との間が通信回線３により接続されたシステムであり、前記センタ１には元帳ファイルを格納した元帳ファイル装置６を備えたホスト５が設置され、各営業店には、それぞれサーバ１０と、該サーバ１０に対して営業店内の通信回線により接続された窓口装置１２、ＡＴＭ（自動取引装置）１１等が設置されている。
【０００４】
そして、窓口装置１２としては、記帳機１３や複数台のテラー端末１４等が有り、これら記帳機１３やテラー端末１４は、それぞれ営業店内の通信回線を介してサーバ１０に接続されている。更に、ＡＴＭ１１には、それぞれ、顧客の通帳に対して取引データを印字するための通帳プリンタユニット１５や該通帳プリンタユニットを制御する通帳プリンタ制御部等が設けてある。
【０００５】
この場合、通帳プリンタユニット１５には、通帳のＭＳに対してデータの書き込み及び読み出しを行うＭＳユニットや、通帳に取引データを印字するための印字ユニット等が設けてある。また、前記記帳機１３にも、ＡＴＭ１１内の通帳プリンタユニット１５や通帳プリンタ制御部等と同様の手段が設けてある。
【０００６】
§２：テラー端末の詳細な説明・・・図１０のＡ図参照
前記テラー端末１４は、ワークステーション、或いはパーソナルコンピュータ等で構成され、装置本体２０と、該装置本体２０に接続された通帳プリンタ２１を備えている。また、装置本体２０には、各種情報を表示するためのディスプレイ装置２２、係員が操作してデータを入力するためのキーボード２３、プログラムやその他のデータを格納するためのハードディスク装置（ＨＤＤ）２４、マウス（図示省略）、フレキシブルディスクドライブ（図示省略）、光ディスクドライブ（図示省略）等が接続されている。
【０００７】
また、装置本体２０には、装置内の各種制御を行うＣＰＵ（中央処理装置）２５と、メモリ２６等が設けてあり、前記ＣＰＵ２５の制御により通帳プリンタ２１を制御するように構成されている。前記通帳プリンタ２１は、装置本体２０のＣＰＵ２５の制御により、顧客の取引通帳（以下、単に「通帳」と記す）に取引データを印字するものである。なお、この通帳プリンタ２１には、通帳のＭＳに対して、データの書き込み、読み込みを行うためのＭＳユニットや、通帳に取引データを印字するための印字ユニット等が設けてある。
【０００８】
§３：通帳とＭＳデータの説明・・・図１０のＢ図、Ｃ図参照
前記のように、テラー端末１４では顧客取引を行う際、通帳プリンタ２１を制御して顧客の通帳に取引データを印字するが、この場合、例えば、通帳３０の裏表紙の一部にＭＳ（磁気ストライプ）３１が設けてあるので、このＭＳ３１を使用して取引データを書き込む。なお、前記ＭＳ３１に書き込むデータは、顧客の口座番号、取引の科目（定期預金、普通預金、等の識別コード）、通帳世代管理番号、ページ数、桁数（ページ行情報）、銀行コード等を含むデータである。
【０００９】
図１０のＣ図に示したように、前記ＭＳ３１にデータを書き込む際のＭＳデータフォーマットには２種類あり、▲１▼で示した１ブロックデータフォーマットと、▲２▼で示した２ブロックデータフォーマットとがある。この例では、▲１▼の１ブロックデータフォーマットでは、「ダミー領域」、「ＳＴＸ」（ＳＴＸ：スタートコード）、「データ領域」、「ＥＴＸ」（ＥＴＸ：ストップコード）、「ＣＨＫ」（ＣＨＫ：チェックコード）、「ダミー領域」の順に並んでいる。
【００１０】
この場合、ダミー領域は、データのセパレート用の仕切り領域として使用されている。また、「ＳＴＸ」は、１６進数のＡ〜Ｆが割り当てられており、ＣＨＫは５ビットのＢＣＣコードが使用されている。また、「データ領域」は、１桁＝４ビット＋パリティ１ビット＝５ビットで、合計５４桁、又は６０桁の１６進数（バイナリコード）で書き込まれる。
【００１１】
また、▲２▼の２ブロックデータフォーマットでは、ダミー領域、ＳＴＸ、１ブロック目のデータ領域、ＥＴＸ、ＣＨＫ、ダミー領域、ＳＴＸ、２ブロック目のデータ領域、ＥＴＸ、ＣＨＫ、ダミー領域の順に並んでいる。この場合、１ブロック目のデータ領域と２ブロック目のデータ領域は、それぞれ２７桁（４ビット＋パリティ１ビット）の１６進数（バイナリコード）で書き込まれている。
【００１２】
§４：ＭＳデータ書き込み時の説明・・・図１１参照
テラー端末１４において通帳のＭＳにＭＳデータを書き込む際、前記テラー端末１４では、ホスト５から転送されたＭＳデータ（０〜９までの１桁単位の１０進数データ）を受信すると、その受信データを一旦バッファメモリ（図示省略）に格納する。そして、前記バッファメモリのデータを１桁単位で１６進数データに変換し、通帳プリンタ２１へ転送して通帳のＭＳに書き込む。
【００１３】
この場合、ホスト５から転送されたＭＳデータは、０〜９までの１桁単位の１０進数データであり、１桁は４ビット、又は５ビット（４ビット＋パリティＰ＝１ビット）である。テラー端末１４では、このデータを１桁単位で１６進数データに変換する。そして、前記変換した１６進数データ（バイナリデータ）を通帳のＭＳに書き込む。
【００１４】
前記のようにしてＭＳデータの書き込みを行うが、１ブロックデータフォーマットのＭＳでは、５４桁のデータを書き込み、２ブロックデータフォーマットのＭＳでは、それぞれのブロックに２７桁のデータを書き込んでいた。
【００１５】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
(1) ：従来、通帳に設けたＭＳへのデータの書き込みは、ホストから転送された０〜９までの１桁単位の１０進数データを、１桁単位で１６進数のバイナリデータに変換し、ＭＳへ書き込んでいた。また、２ブロックデータフォーマットでは、チェックコードを含めデータを２重化していた。
【００１６】
ところが近年、磁石製品、例えば、ハンドバック留め金、携帯電話機等のスピーカなどによる通帳のＭＳのデータ消失障害が増加してきており、消失のデータのリカバリができる２ブロックデータフォーマットの優位性が再認識されつつある。
【００１７】
しかしながら、２ブロックデータフォーマットでは、記録データ数が半分以下となり、通帳の多目的化（例えば、１冊の通帳に、普通、定期等の複数の科目を設ける等）による必要データ桁数の増加と相反することとなる。
【００１８】
(2) ：従来、多科目（又は複数科目）通帳を実現するに当たり、ＭＳデータ桁数拡大が必要となり、２ブロックで運用していたＭＳデータを１ブロック化してデータ桁数の拡大を図ってきた。ところが、昨今の磁石製品の磁力アップにより、その磁界の影響によるＭＳデータの一部消失、及び全消失障害による取引不可が増加してきている。前記のようなＭＳ消失の実態として一部破壊が大半を占めており、２ブロック仕様での救済率が非常に高い。
【００１９】
しかし、従来のＭＳデータ書き込み方式では、２ブロック方式の場合、十分なデータ桁数が得られず、特に、多科目通帳を実現するには不十分であった。従って、磁気消失等に対する対策が不十分であった。
【００２０】
本発明は、このような従来の課題を解決し、現在使用している装置のハードウェア変更を伴うことなく、実質上のデータ桁数を可能な限り拡大できるようにすることを目的とする。また、本発明は、データブロックのデータ桁数を拡大することにより、多科目通帳での２ブロック化を実現し、外部磁気破壊に対する復元率を向上できるようにすることを目的とする。
【００２１】
【課題を解決するための手段】
図１は本発明の原理説明図である。本発明は前記の目的を達成するため、次のように構成した。
(1) ：媒体に設けた磁気ストライプ（ＭＳ）に対し、データの書き込み及び読み出しを行う磁気ストライプデータ処理装置３５において、上位装置から転送された０〜９までの１０進数１桁単位のデータから、６桁単位でデータを切り出すデータ切り出し手段と、前記切り出した６桁単位のデータを５桁の１６進数に変換して、１６進数５桁のバイナリデータを生成するデータ変換手段と、前記生成したバイナリデータを前記磁気ストライプに書き込む磁気ストライプデータ書き込み手段と、前記５桁の１６進数データで未使用の１６進数データにより、該５桁の１６進数データを、そのデータ内で２桁以上の０が連続する特殊パターンを発生させないコードに変換するコード変換手段と、前記特殊パターンを、データブロックの区切りコードを含む他の用途に使用して媒体上の磁気ストライプに書き込む特殊パターン書き込み手段とを備えている。
【００２２】
(2) ：前記(1) の磁気ストライプデータ処理装置３５において、前記媒体上の磁気ストライプに、同一データを２ケ所に書き込む２ブロックデータフォーマットに対し、各データブロックへのデータの書き込み方向を、それぞれ逆方向として書き込む２ブロックデータ書き込み手段を備えている。
【００２３】
(3) ：前記(1) 又は(2) の磁気ストライプデータ処理装置３５において、前記磁気ストライプ上のデータブロックを複数ブロック化し、前記複数ブロック内の２ブロックには、それぞれ磁気ストライプデータの内のキーとなる一部のデータのみを書き込み、該キーデータのみを二重化するキーデータ二重化手段を備えている。
【００２４】
(4) ：媒体に設けた磁気ストライプに対し、データの書き込み及び読み出しを行う磁気ストライプデータ処理装置３５に、上位装置から転送された０〜９までの１０進数１桁単位のデータから、６桁単位でデータを切り出す手順と、前記切り出した６桁単位のデータを５桁の１６進数に変換して、１６進数５桁のバイナリデータを生成する手順と、前記生成したバイナリデータを前記磁気ストライプに書き込む手順と、前記５桁の１６進数データで未使用の１６進数データにより、該５桁の１６進数データを、そのデータ内で２桁以上の０が連続する特殊パターンを発生させないコードに変換する手順と、前記特殊パターンを、データブロックの区切りコードを含む他の用途に使用して媒体上の磁気ストライプに書き込む手順を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【００２７】
（作用）
前記構成に基づく本発明の作用を、図１に基づいて説明する。
(a) ：前記(1) の作用
データ切り出し手段は、上位装置から転送された０〜９までの１０進数１桁単位のデータから、６桁単位でデータを切り出す。その後、データ変換手段は、前記切り出した６桁単位のデータを５桁の１６進数に変換して、１６進数５桁のバイナリデータを生成する。そして、磁気ストライプデータ書き込み手段は、前記生成したバイナリデータを前記磁気ストライプに書き込む。
次に、コード変換手段は、前記５桁の１６進数データで未使用の１６進数データにより、該５桁の１６進数データを、そのデータ内で２桁以上の０が連続する特殊パターンを発生させないコードに変換する。また、特殊パターン書き込み手段は、前記特殊パターンを、データブロックの区切りコードを含む他の用途に使用して媒体上の磁気ストライプに書き込む。
【００２８】
このようにすれば、現行のハードウェア（記録密度等）の変更を伴わずに、２ブロックでのデータ桁数を増やすことができる。従って、多科目（複数科目）の通帳でも、２ブロックの磁気ストライプで運用できるため、磁気喪失に対しての救済率が大幅に向上する。
【００３０】
また、現在使用している磁気ストライプユニットの書き込み密度等のハードウェア変更を伴わずに、実質上のデータ桁数を可能な限り拡大することができる。
【００３２】
また、現行のハードウェア（記録密度等）の変更を伴わずに、２ブロックでのデータ桁数を増やすことができる。従って、多科目（複数科目）の通帳でも、２ブロックの磁気ストライプで運用できるため、磁気喪失に対しての救済率が大幅に向上する。
【００３３】
(b) ：前記(2) の作用
２ブロックデータ書き込み手段は、媒体上の磁気ストライプに、同一データを２ケ所に書き込む２ブロックデータフォーマットに対し、各データブロックへのデータの書き込み方向を、それぞれ逆方向として書き込む。このようにすれば、２ブロックデータに対するチェックコードを共通化でき、書き込みデータ桁数を削減することができる。
【００３４】
(c) ：前記(3) の作用
キーデータ二重化手段は、磁気ストライプ上のデータブロックを複数ブロック化し、前記複数ブロックの内の２ブロックには、それぞれ磁気ストライプデータの内のキーとなる一部のデータ（例えば、口座番号等）のみを書き込み、該キーデータのみを二重化する。
【００３５】
このように、複数ブロック化を行い、磁気ストライプデータの一部消失時に、磁気ストライプデータを復元できる最低限のキーデータのみを二重化するか、若しくは、複数科目通帳等で頻繁に使用される科目（例えば、普通科目等）のみ二重化して、限定した科目のみ外部破壊に強くすることができる。
【００３６】
(d) ：前記(4) の作用
前記記録媒体のプログラムを読み出して実行することにより、媒体に設けた磁気ストライプに対し、データの書き込み及び読み出しを行う磁気ストライプデータ処理装置に、上位装置から転送された０〜９までの１０進数１桁単位のデータから、６桁単位でデータを切り出す手順と、前記切り出した６桁単位のデータを５桁の１６進数に変換して、１６進数５桁のバイナリデータを生成する手順と、前記生成したバイナリデータを前記磁気ストライプに書き込む手順と、前記５桁の１６進数データで未使用の１６進数データにより、該５桁の１６進数データを、そのデータ内で２桁以上の０が連続する特殊パターンを発生させないコードに変換する手順と、前記特殊パターンを、データブロックの区切りコードを含む他の用途に使用して媒体上の磁気ストライプに書き込む手順を実行させる。
【００３７】
このようにすれば、現行のハードウェア（記録密度等）の変更を伴わずに、２ブロックでのデータ桁数を増やすことができる。従って、多科目（複数科目）の通帳でも、２ブロックの磁気ストライプで運用できるため、磁気喪失に対して効果が期待できる。
【００３８】
【発明の実施の形態】
以下、発明の実施の形態を図面に基づいて詳細に説明する。なお、本実施の形態で使用するシステム、及びテラー端末の構成は前記従来例（図９、図１０のＡ図参照）と同じなので、従来例のシステムを援用して説明する。また、以下の説明では、磁気ストライプを「ＭＳ」と記す。
【００３９】
§１：処理概要の説明
本実施の形態の処理概要は次の通りである。
(1) ：一般に、通帳のＭＳに記録するＭＳデータは、１桁が４ビット（パリティ無し）、若しくは５ビット（４ビット＋パリティ１ビット）の１６進数（バイナリデータ）で表現されている。よって、１桁は０〜Ｆｈ（ｈ：１６進数表示）で表現されている。そこで、ホストデータが０〜９までの１０進数１桁単位のデータである場合に、該ホストデータを６桁単位で切り出し、この６桁単位のデータを５桁の１６進数データに変換することで、１．２倍（６桁／５桁＝１．２倍）のデータ桁を記録することが可能になる。
【００４０】
(2) ：前記５桁の１６進数データで未使用の１６進数データにより、該５桁の１６進数データを、そのデータ内で特殊パターン（例えば、２つ以上の０パターン）を発生させないコードに変換する。すなわち、前記１０進数６桁（００００００〜９９９９９９）は、１６進数５桁（０００００〜Ｆ４２３Ｆ）で表現できるため、使用しないＦ４２４０〜ＦＦＦＦＦＦを使用して、特殊パターン（例えば、２つ以上の０パターン）を発生させないコードに変換する。
【００４１】
そして、前記特殊パターンを、データブロックの区切りコード（ダミーコード等）を含む他の用途に使用して媒体上の磁気ストライプに書き込む。これにより、記録データとしての明確な識別を行うことができ、データブロックとの区切り等を区別するために、データ内から区切りコード（従来使用されていたコードのパターン）を削除することが可能になる。
【００４２】
(3) ：２ブロックＭＳデータを形成する上で、１ブロック目と２ブロック目の仕切りコード（ダミーコード）とチェックコードを少なくするため、データ書き込み形式を変える。この場合、ＭＳ両端より固定長データとし、かつ、チェックコードを共通化することで、更に、書き込みデータ数を増やすことが可能になる。
【００４３】
(4) ：通帳に設けたＭＳ上のデータブロックを複数ブロック化し、前記複数ブロックの内の２ブロックには、それぞれＭＳデータの内のキーとなる一部のデータ（例えば、口座番号）のみを書き込み、該キーデータのみを二重化する。このように、複数ブロック化を行い、磁気ストライプデータの一部消失時に、磁気ストライプデータを復元できる最低限のキーデータのみを二重化するか、若しくは、複数科目通帳等で頻繁に使用される科目（例えば、普通科目等）のみ二重化して、限定した科目のみ外部破壊に強くすることができる。
【００４４】
§２：ＭＳデータ変換処理例の説明・・・図２参照
図２はデータ変換処理説明図（その１）である。以下、図２に基づいてデータ変換処理例を説明する。この例は、ホスト５から転送されたＭＳデータ（通帳のＭＳへの書き込みデータ）をテラー端末１４で受信し、該受信データを通帳のＭＳに書き込む時の処理例である。
【００４５】
先ず、ホスト５からテラー端末１４へデータが転送されると、このデータをテラー端末１４が受信する。この場合、ホスト５からテラー端末１４へ転送されるデータは、１桁が４ビット＋パリティ１ビットの１０進数であり、０〜９までの１桁単位の数の組み合わせである。
【００４６】
例えば、１０進数の「１」は、「０００１」４ビット＋パリティ「Ｐ」１ビットで表現され、１０進数の「２」は、「００１０」４ビット＋パリティ「Ｐ」１ビットで表現され、１０進数の「３」は、「００１１」４ビット＋パリティ「Ｐ」１ビットで表現される。このように、ホスト５からテラー端末１４へ１桁が４ビット＋パリティ１ビットの１０進数のデータが転送されるが、この場合、例えば、前記転送データの桁数は６０桁である。
【００４７】
テラー端末１４ではホスト５からの転送データを受信すると、そのデータを一旦、バッファメモリに格納する。その後、前記バッファメモリの受信データを対象として、６０桁のデータから不要データ（例えば、店番号コード）を削除して５４桁のデータにする。
【００４８】
その後、前記５４桁の１桁単位の受信データを６桁単位で切り出し、この６桁単位のデータを、６桁の１０進数データとして扱い、このデータを１６進数に変換する。このようにすれば、受信データから６桁単位で切り出したデータは、５桁の１６進数データに変換される。
【００４９】
すなわち、６桁単位で切り出した１０進数データを１６進数に変換し、５桁バイナリを単位としたＭＳデータに変換する。このようにして、前記受信データ全てを１６進数データに変換しＭＳデータとする。この変換処理により、６桁が５桁に変換されるので、１．２倍（６桁／５桁＝１．２倍）のデータ拡張ができる。すなわち、ＭＳへの記録データの桁数を減らすことができる。
【００５０】
§３：ＭＳデータ変換処理例の詳細な説明・・・図３参照
図３はデータ変換処理説明図（その２）である。以下、図３に基づいて、ＭＳデータ変換処理例を詳細に説明する。この例は前記処理例と同様に、ホスト５から転送されたデータ（通帳のＭＳへの書き込みデータ）をテラー端末１４で受信し、該受信データを通帳のＭＳに書き込む時の処理例である。図３において、▲１▼はホストからの転送データ、▲２▼はテラー端末１４での受信データ、▲３▼は６桁単位で切り出したデータ、▲４▼は１６進数への変換後のデータ、▲５▼は変換後のデータをコード変換テーブル（後述する）で変換した後のデータ、▲６▼はＭＳ書き込みデータを示す。
【００５１】
先ず、ホスト５からテラー端末１４へ▲１▼のデータ（例えば、６０桁）が転送されると、テラー端末１４では前記データを受信してバッファメモリに格納する。この場合、ホスト５から転送されるデータは１桁単位の１０進数データであり、全体で６０桁のデータであるが、この６０桁のデータから不要なデータ（銀行コード等）を削除し、５４桁のデータにデータカットを行う（▲２▼参照）。
【００５２】
テラー端末１４では、このようにしてホスト５からのデータを受信した後、該バッファメモリから６桁単位でデータを切り出し、１６進数に変換する（▲３▼参照）。すなわち、１０進数６桁を１６進数５桁に変換して１６進数のバイナリデータとする（バイナリ化）。この変換処理により、５４桁の１０進数が４５桁の１６進数データに変換される（▲４▼参照）。
【００５３】
次に、前記変換後の４５桁データに対し、データ「０」の連続３個を無くす処理（詳細は後述する）を行う（コード変換）。その後、前記変換後のデータに対し、ＣＲＣ（巡回誤り訂正符号）とＳＤＣ｛ＳＤＣ：スタートコード（新フォーマット＋圧縮）｝を求めてデータに付加する。このような処理により、▲６▼に示したＭＳ書き込みデータが得られる。このＭＳ書き込みデータは、ダミー、ＳＤＣ、データ、ＣＲＣ１、ＣＲＣ２の順に並んでいる。
【００５４】
§４：コード変換の説明・・・図４参照
図４はコード変換テーブル例である。以下、図４に基づきコード変換を説明する。この処理は、前記５桁バイナリデータ内で、２つ以上の「０」（２桁の「０」）を発生させないための処理である。すなわち、前記変換後の１６進数５桁のバイナリデータ内に２つ以上の「０」を発生させない処理を行うことで、前記変換後の４５桁データに対し、データ「０」の連続３個を無くす処理である。なお、図４に示したコード変換テーブルは、例えば、テラー端末１４のハードディスク装置に格納しておき、このハードディスク装置内のコード変換テーブルを利用してコード変換する。
【００５５】
このコード変換テーブルには、条件の欄と、コード変換テーブルの欄があり、前記コード変換テーブルの欄には、元コードの欄と、生成コードの欄がある。そして、前記条件の欄には、「０」が２桁存在する場合、「０」が３桁存在する場合、「０」が４桁存在する場合、「０」が５桁存在する場合について、コード変換テーブルのデータが格納されている。
【００５６】
前記コード変換テーブルにおいて、元コードはホストデータから６桁単位で切り出した１０進数データを、１６進数の５桁データに変換した場合の５桁データである。また、生成データは、１６進数の５桁バイナリデータ内で２つ以上の０を発生させないためのコードである。また、ｘ，ｙ，ｚは、１６進数で０を除く１〜Ｆまでの数字である。
【００５７】
前記コード変換テーブルを使用してコード変換を行うと、例えば、「０」が２桁存在する条件では、元コード＝ｘｙｚ００は、生成コード＝Ｆ５ｘｙｚに変換され、元コード＝ｘｙ０ｚ０は、生成コード＝Ｆ６ｘｙｚに変換され、元コード＝ｘｙ００ｚは、生成コード＝Ｆ７ｘｙｚに変換され、元コード＝ｘ０ｙｚ０は、生成コード＝Ｆ８ｘｙｚに変換される。
【００５８】
「０」が３桁存在する条件では、元コード＝ｘｙ０００は、生成コード＝ＦＦ１ｙｚに変換され、元コード＝ｘ０ｙ００は、生成コード＝ＦＦ２ｙｚに変換され、元コード＝ｘ００ｙ０は、生成コード＝ＦＦ３ｙｚに変換され、元コード＝ｘ０００ｙは、生成コード＝ＦＦ４ｙｚに変換され、元コード＝０ｘｙ００は、生成コード＝ＦＦ５ｙｚに変換され、元コード＝０ｘ０ｙ０は、生成コード＝ＦＦ６ｙｚに変換される。
【００５９】
「０」が４桁存在する条件では、元コード＝ｘ００００は、生成コード＝ＦＦＦ１ｘに変換され、元コード＝０ｘ０００は、生成コード＝ＦＦＦ２ｘに変換され、元コード＝００ｘ００は、生成コード＝ＦＦＦ３ｘに変換され、元コード＝０００ｘ０は、生成コード＝ＦＦＦ４ｘに変換され、元コード＝００００ｘは、生成コード＝ＦＦＦ５ｘに変換される。「０」が５桁存在する条件では、元コード＝０００００は、生成コード＝ＦＦＦＦＦに変換される。
【００６０】
以上の処理をまとめると次のようになる。すなわち、前記ＭＳデータにおいて未使用の領域である、Ｆ５ｘｘｘ〜ＦＦＦＦＦで前記コード変換テーブルを使用し、次の▲１▼〜▲４▼のようにして、１６進数の生成ＭＳデータ内では、３つ以上の連続０パターンが存在しないようにできる。
【００６１】
▲１▼：「０」２桁存在時：５桁中２桁の０パターンは１０通りであり、それぞれのパターンをＦ５ｘｙｚ〜ＦＥｘｙｚでコード化する。
▲２▼：「０」３桁存在時：５桁中３桁の０パターンは１０通りであり、それぞれのパターンをＦＦ１ｙｚ〜ＦＦＡｙｚでコード化する。
【００６２】
▲３▼：「０」４桁存在時：５桁中４桁の０パターンは５通りであり、それぞれのパターンをＦＦＦ１ｘ〜ＦＦＦ５ｘでコード化する。
▲４▼：「０」５桁存在時：５桁中５桁の０パターンは１通りであり、それをＦＦＦＦＦでコード化する。
【００６３】
前記のようなコード変換を行うことで、データ「０」の連続３個を無くすことができる。この具体例では次のようになる。例えば、前記変換後の５桁の１６進数＝１２３００はＦ５１２３にコード変換され、５桁の１６進数＝０００１０はＦＦＦ４１にコード変換される。
【００６４】
従って、前記データが並んでいると、コード変換前は、１２３００と０００１０が続いているため、０が５個続くことになる。しかし、コード変換後は、Ｆ５１２３とＦＦＦ４１が続くので、０００パターンは出現しない。また、前記５桁データ＝２３４５０と０２３４５と１２３００が続いていた場合、前記データの内２３４５０と０２３４５は０が１桁存在するだけなので、コード変換テーブルでの変換は行わない。そして、前記データ１２３００については、０が２桁存在するので、コード変換テーブルを使用してコード変換を行い、Ｆ５１２３に変換する。
【００６５】
その結果、コード変換後のデータとして、２３４５０と、０２３４５と、Ｆ５１２３を得る。この場合、変換後のデータでは、０が２桁連続するが、３つ以上の０が連続することはない。すなわち、０００のパターンは出現しない。このようにして、コード変換することにより、１６進数のＭＳバイナリ内（例えば、この例では４５桁内）で３つ以上の連続０（０００パターン）を出現しないようにできるので、ＭＳデータの区切りパターンに連続３つ以上のパターンを使用することが可能になる。
【００６６】
§５：ＭＳデータ２ブロック化方法、ＭＳデータ複数ブロック化方法の説明・・・図５参照
図５は複数ブロック化ＭＳデータフォーマット説明図であり、Ａ図は２ブロック化ＭＳデータフォーマット、Ｂ図は複数ブロック化ＭＳデータフォーマットを示す。以下、図５に基づいて、ＭＳデータ２ブロック化方法、ＭＳデータ複数ブロック化方法を説明する。
【００６７】
２ブロックＭＳ方式（同一データを２つデータブロックに書き込む形式）のＭＳデータ書き込み方向（データの並べる方向）を、それぞれ逆方向からとし、チェックコード（ＣＲＣ）を共通化することで、ＭＳデータの書き込みデータ桁数を拡大する。
【００６８】
また、複数ブロック化を行い、ＭＳデータの一部消失時にＭＳデータを復元できる最低限のキーデータのみを二重化する。また、別の方法として、複数科目通帳等で頻繁に使用される（例えば、普通科目等）科目のみ二重化して、限定した科目のみ外部磁気破壊に強くする。具体的には次のようにする。
【００６９】
２ブロックＭＳデータを形成する上で、１ブロック目と２ブロック目の区切りコード（ダミーコード）と、チェックコード（ＣＲＣ等）の桁数を少なくするため、データ書き込み形式を図５のＡ図に示したように、ＭＳ両端より固定長データ（例えば、４５桁）とし、かつ、チェックコード（ＣＲＣ１、ＣＲＣ２）を共通化してチェックコードの桁数を削減する。このようにして、更にＭＳデータの書き込みデータ数を増やすことができる。なお、図５のＡ図において、ＳＤＣはスタートコード、ＣＲＣは巡回誤り検出符号である。
【００７０】
この例では、ダミー、ＳＤＣ、データ１、ＣＲＣ１、ＣＲＣ２、データ２、ＳＤＣ、ダミーが並んだＭＳデータフォーマットとなっていて、ＭＳへの書き込みデータであるデータ１、データ２は同じ４５桁のデータ（パリティビット無しのデータ）であり、ＭＳへの書き込み方向が逆（データの並べ方が逆）になっている。また、チェックコードであるＣＲＣ１、ＣＲＣ２はデータ１とデータ２とで共通化（データ１のチェックコード＝データ２のチェックコード＝ＣＲＣ１＋ＣＲＣ２＝４ビット＋４ビット＝８ビットで共通化）する。
【００７１】
このように、データ書き込み形式をＭＳ両端より固定長とし、かつ、書き込み方向をそれぞれＭＳの両端側からとすることで、中ダミー（仕切りコード）を削除することができる。また、チェックコードを共通化することで、チェックコードの桁数を減らすことができる。
【００７２】
なお、前記ＣＲＣ１＋ＣＲＣ２の代わりに、ＢＣＣ（ＢＣＣ：Block Check Character ）コード（水平パリティコード）を使用し、前記データ１及びデータ２を、それぞれ４ビット＋パリティ＝１ビットとしても実施可能である。すなわち、前記のようにデータ１とデータ２の書き込み方向を逆にして、その間にチェックビットを配置する方法で実施可能である。
【００７３】
また、前記のような２ブロック化方法に限らず、図５のＢ図に示したような２ブロック以上の複数ブロック化も可能である。例えば、図５のＢ図に示したように、ＭＳ破壊時に復元に最低限必要なキーデータのみを複数化することで、通常データで必要な桁数を確保する。
【００７４】
この方法では、ＭＳを複数ブロック化（この例では３ブロック化）し、通帳ＭＳ復元に最低限必要なキーコード（例えば、口座番号）のみを二重化する。また、特定科目のみキーデータとして、磁気破壊が発生した場合には、特定科目のみ復元させる。例えば、ダミー領域、ＳＴＸ、キーデータ領域、ＥＴＸ、ＣＨＫ、ＳＴＸ、付帯情報領域、ＥＴＸ、ＣＨＫ、ＳＴＸ、キーデータ領域、ＥＴＸ、ＣＨＫ、ダミー領域のようにフォーマット化する。
【００７５】
この場合、２つのキーデータ領域は同じデータであり、重要データ（例えば、口座番号等）を書き込む領域である。付帯情報領域は他のデータである。このように口座番号等の重要データ（特定科目のデータ）はキーデータとして２重化し、他のデータは二重化しないようにすれば、ＭＳへの書き込み桁数を減らし、二重化するＭＳデータの桁数を増やすことができる。
【００７６】
§６：取引時の処理説明・・・図６参照
図６は取引時の処理フローチャートである。以下、図６に基づいて、取引時の処理を説明する。なお、Ｓ１〜Ｓ１２は各処理ステップを示す。また、この処理はテラー端末１４がホスト５と通信を行いながら通帳プリンタ２１を制御して行う取引処理である。
【００７７】
テラー端末１４では、通帳プリンタ２１を制御して通帳を吸引し（Ｓ１）、該通帳のＭＳをリードする（Ｓ２）。この時通帳からリードしたＭＳデータは新フォーマット（図５のＡ図に示したデータフォーマット）のデータであるとする。そして、ＭＳからリードしたＭＳデータを基に、ＭＳデータフォーマットの逆変換を行う（Ｓ３）。この処理では、新フォーマットの４５桁データを５４桁データに変換し、これに＋α（余分なデータ）を付加して６０桁の旧フォーマットデータ（従来例のデータフォーマット）とする。
【００７８】
次に、テラー端末１４では、係員の操作により、取引入力及びキー入力等の操作を行い（Ｓ４）、前記入力データ（ＭＳリードデータ及び入力した取引データ）をホスト５へ送信する（Ｓ５）。この場合、テラー端末１４からホスト５へ転送するＭＳデータは、旧フォーマットデータ（従来例のデータフォーマットのデータ）である。
【００７９】
ホスト５は前記テラー端末１４からのデータを受信すると、元帳データを使用して取引処理を行う（Ｓ６）。そして、取引処理後のデータ出力を行う（Ｓ７）。その後、テラー端末１４はホスト５からのデータを受信すると（Ｓ８）、記帳処理を行い（Ｓ９）、旧フォーマットから新フォーマットへのフォーマット変換を行う（Ｓ１０）。
【００８０】
この場合、ホスト５から受信した旧フォーマットの６０桁データは、余分なデータαを削除して５４桁のデータに変換し、その後、６桁単位の１０進数データを１６進数に変換して４５桁の新フォーマットに変換し、そのデータを通帳のＭＳにライトする（Ｓ１１）。このようにして前記ＭＳライト処理が終了したら、通帳を返却して（Ｓ１２）、この処理を終了する。
【００８１】
§７：ＭＳリード時の処理説明・・・図７参照
図７はＭＳリード時の処理フローチャートである。以下、図７に基づいて、ＭＳリード時の処理を説明する。なお、Ｓ２１〜Ｓ２９は各処理ステップを示す。この処理は、テラー端末１４が通帳プリンタ２１を制御して行う処理である。
【００８２】
先ず、テラー端末１４の制御により、通帳プリンタ２１に挿入された通帳を吸引し（Ｓ２１）、該通帳のＭＳをリードする（Ｓ２１）。そして、リードしたＭＳデータのフォーマット識別処理を行い（Ｓ２２）、新２ブロックフォーマット（図５のＡ図参照）か否かを判断する（Ｓ２３）。その結果、新２ブロックでない場合は、旧１ブロックフォーマット（図１０参照）か否かを判断する（Ｓ２４）。
【００８３】
その結果、旧１ブロックフォーマットであれば、旧１ブロックフォーマットの６０桁データの処理を行い（Ｓ２６）、旧１ブロックフォーマットでなければ、旧２７桁２ブロックフォーマットと判断し、旧２７桁２ブロックフォーマットの処理を行う（Ｓ２５）。
【００８４】
一方、前記Ｓ２３の処理で、新２ブロックフォーマットと判断した場合は、新４５桁２ブロックフォーマットの１６進数データを、１０進数データに逆変換し、４５桁から５４桁に変換する（Ｓ２７）。そして、変換後の５４桁データに不要データαを付加して６０桁に変換し（Ｓ２８）、ホスト５へ送信し（Ｓ２９）、処理を終了する。
【００８５】
§８：ＭＳライト時の処理説明・・・図８参照
図８はＭＳライト時の処理フローチャートである。以下、図８に基づいて、ＭＳライト時の処理を説明する。なお、Ｓ３１〜Ｓ３５は各処理ステップを示す。この処理は、テラー端末１４が通帳プリンタ２１を制御して行う処理であり、ホスト５から受信したデータを通帳のＭＳにライトする処理である。
【００８６】
テラー端末１４では、ホスト５からＭＳデータを受信すると（Ｓ３１）、旧フォーマットの６０桁データから不要なデータを削除して５４桁に変換する（Ｓ３２）。そして、前記変換後のデータを６桁毎に切り出し（６桁単位で切り出し）、５桁の１６進数データに変換することで、５４桁から４５桁への変換を行う（Ｓ３３）。次に、前記４５桁のデータを基に、２ブロックフォーマット編集処理を行い（Ｓ３４）、通帳のＭＳへのライト処理を行う（Ｓ３５）。
【００８７】
§９：記録媒体とプログラムの説明
前記テラー端末１４が行う前記処理は、テラー端末１４内のＣＰＵ２５が、ハードディスク装置２４内のプログラムを実行することにより行う。この場合、例えば、ＣＰＵ２５の制御によりハードディスク装置２４の記録媒体に格納されている前記プログラムやデータを読み出して、一旦、メモリ２６に格納した後、ＣＰＵ２５がメモリ２６に格納してあるプログラムの内、必要なプログラムから順次読み出して実行することにより、前記実施の形態の処理を行う。なお、前記ハードディスク装置２４の記録媒体に格納するプログラムは、次のようにして記録（記憶）する。
【００８８】
▲１▼：フレキシブルディスク（フロッピィディスク）に格納されているプログラム（他の装置で作成したプログラムデータ）を、テラー端末１４に設けたフレキシブルディスクドライブ（ＦＤＤ）により読み取り、ハードディスク装置（ＨＤＤ）２４の記録媒体（ハードディスク）に格納する。
【００８９】
▲２▼：光磁気ディスク、或いはＣＤ−ＲＯＭ等の記憶媒体に格納されているデータを、前記テラー端末１４に設けたドライブ装置（ＣＤ−ＲＯＭドライブ等）により読み取り、ハードディスク装置２４の記録媒体（ハードディスク）に格納する。
【００９０】
▲３▼：ＬＡＮ等の通信回線を介して他の装置（例えば、ホスト）から伝送されたプログラム等のデータを、テラー端末１４が通信制御部を介して受信し、そのデータをハードディスク装置２４の記録媒体（ハードディスク）に格納する。
【００９１】
§１０：その他の説明
(1) ：前記実施の形態では、テラー端末１４で行う例について説明したが、本願発明は、このような例に限らず、前記記帳機１３、或いはＡＴＭ１１でも同様にして実施可能である。この場合、例えば、ＡＴＭ１１では、内部の通帳プリンタユニット１５を制御する通帳プリンタ制御部が設けてあり、該通帳プリンタ制御部が前記処理を行う。
【００９２】
(2) ：前記の例では、ホスト５からテラー端末１４へ転送されるデータは６０桁であるが、本発明は、このような例に限らず、他の任意の桁数に対して実施可能である。
【００９３】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
(1) ：従来、多科目（又は複数科目）通帳を実現するに当たり、ＭＳデータ桁数拡大が必要となり、２ブロックで運用していたＭＳデータを１ブロック化してデータ桁数の拡大を図ってきた。ところが、昨今の磁石製品の磁力アップにより、その磁界の影響によるＭＳデータの一部消失、及び全消失障害による取引不可が増加してきている。前記のようなＭＳ消失の実態として一部破壊が大半を占めており、２ブロック仕様での救済率が非常に高い。しかし、従来ではデータ桁数の不足により多科目通帳等での２ブロック化は困難であった。
【００９４】
本願発明では、現行ハードウェア（記録密度等）の変更を伴わずに、２ブロックでのデータ桁数を増やすことができる。従って、多科目（複数科目）の通帳でも、２ブロックの磁気ストライプで運用できるため、磁気喪失に対しての救済率の向上が期待できる。
【００９５】
前記効果の他、各請求項に対応して次のような効果がある。
【００９６】
(2) ：請求項１では、現行のハードウェア（記録密度等）の変更を伴わずに、２ブロックでのデータ桁数を増やすことができる。従って、多科目（複数科目）の通帳でも、２ブロックの磁気ストライプで運用できるため、磁気喪失に対しての救済率が向上できる。
【００９８】
(3) ：また、現在使用している磁気ストライプユニットの書き込み密度等のハードウェア変更を伴わずに、実質上のデータ桁数を可能な限り拡大することができる。
【０１００】
また、現行のハードウェア（記録密度等）の変更を伴わずに、２ブロックでのデータ桁数を増やすことができる。従って、多科目（複数科目）の通帳でも、２ブロックの磁気ストライプで運用できるため、磁気喪失に対しての救済率が向上する。
【０１０１】
(4) ：請求項２では、２ブロックデータ書き込み手段は媒体上の磁気ストライプに同一データを２か所に書き込む２ブロックデータフォーマットに対し、各データブロックへのデータの書き込み方向をそれぞれ逆方向として書き込む。このようにすれば、２ブロックのデータに対するチェックコードを共通化でき、その分チェックコードの桁数を削減することができる。従って、ＭＳデータの桁数を拡大することができる。
【０１０２】
(5) ：請求項３では、キーデータ二重化手段は磁気ストライプ上のデータブロックを複数ブロック化し、複数ブロックの内の２ブロックにはそれぞれ磁気ストライプデータの内のキーとなる一部のデータのみを書き込み、該キーデータのみを二重化する。
【０１０３】
このように、複数ブロック化を行い、磁気ストライプデータの一部消失時に、磁気ストライプデータを復元できる最低限のキーデータのみを二重化するか、若しくは、複数科目通帳等で頻繁に使用される科目（例えば、普通科目等）のみ二重化して、限定した科目のみ磁気ストライプの外部破壊に強くすることができる。
【０１０４】
(6) ：請求項４では、現行のハードウェア（記録密度等）の変更を伴わずに、２ブロックでのデータ桁数を増やすことができる。従って、多科目（複数科目）の通帳でも、２ブロックの磁気ストライプで運用できるため、磁気喪失に対して効果が期待できる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明の実施の形態におけるデータ変換処理説明図（その１）である。
【図３】本発明の実施の形態におけるデータ変換処理説明図（その２）である。
【図４】本発明の実施の形態におけるコード変換テーブル例である。
【図５】本発明の実施の形態における複数ブロック化ＭＳデータフォーマット説明図である。
【図６】本発明の実施の形態における取引時の処理フローチャートである。
【図７】本発明の実施の形態におけるＭＳリード時の処理フローチャートである。
【図８】本発明の実施の形態におけるＭＳライト時の処理フローチャートである。
【図９】従来例の説明図（その１）である。
【図１０】従来例の説明図（その２）である。
【図１１】従来例の説明図（その３）である。
【符号の説明】
１  センタ
２  営業店
３  通信回線
５  ホスト
６  元帳ファイル装置
１０  サーバ
１１  ＡＴＭ
１２  窓口装置
１３  記帳機
１４  テラー端末
１５  通帳プリンタユニット
２０  装置本体
２１  通帳プリンタ
２２  ディスプレイ装置
２３  キーボード
２４  ハードデイスク装置
２５  ＣＰＵ
２６  メモリ
３０  通帳
３１  ＭＳ（磁気ストライプ）
【図１】
0004119535.tif 000002
【図２】
0004119535.tif 000003
【図３】
0004119535.tif 000004
【図４】
0004119535.tif 000005
【図５】
0004119535.tif 000006
【図６】
0004119535.tif 000007
【図７】
0004119535.tif 000008
【図８】
0004119535.tif 000009
【図９】
0004119535.tif 000010
【図１０】
0004119535.tif 000011
【図１１】
0004119535.tif 000012