(57)【要約】      （修正有）【課題】同一物品間において各物品を識別するためにバーコードを利用する際に、各物品に付されたバーコード間で、見た目の統一性を図ると共に、肉眼でのバーコードの内容の認識が困難なバーコード付き物品とバーコード読取装置を提供する。【解決手段】各トレーディングカード１７のデータビットの全長に応じて、適切な長さのダミービットを付加し、又は、付加しない。ダミービットに、全種類のバーコードの全長を揃えている。【選択図】図１
0003152712.tif 000002
【実用新案登録請求の範囲】
【請求項１】
各々が割り当てられた同一物品に付される複数の異なるバーコードからなるバーコードセットであって、
前記バーコードの各々は、
実体的な情報を表すデータビットと、
前記実体的な情報を表さないダミービットと、を含み、
前記バーコードの全長が所定長を基準に所定範囲に属するように、前記データビットに前記ダミービットが付加され、
前記データビットは、スペースとバーとの組み合わせからなり、
前記ダミービットは、スペースとダミーバーとの組み合わせからなる、バーコードセット。
【請求項２】
前記データビットは、合計幅が第１の所定幅からなる前記スペース及び前記バーから構成される第１の単位データビット、合計幅が前記第１の所定幅より大きい第２の所定幅からなる前記スペース及び前記バーから構成される第２の単位データビット、又はそれらの組み合わせからなり、
前記第１の単位データビットは、論理０あるいは論理１のいずれかを示し、前記第２の単位データビットは、前記第１の単位データビットが示す論理と逆の論理を示す、請求項１記載のバーコードセット。
【請求項３】
前記ダミービットは、単数又は複数の単位ダミービットからなり、
前記単位ダミービットは、合計幅が第３の所定幅からなる前記スペース及び前記ダミーバーから構成され、
前記第３の所定幅は、前記第１の所定幅及び前記第２の所定幅と異なる、請求項２記載のバーコードセット。
【請求項４】
前記ダミービットに代えて、図画、文字、数字及び／又は記号を前記データビットに付加する、請求項１記載のバーコードセット。
【請求項５】
前記バーコードが付される前記物品は、トレーディングカードである、請求項１から４記載のバーコードセット。
【請求項６】
請求項１から５記載のバーコードセットを構成する前記各バーコードを読み取るバーコード読取装置であって、
前記バーコードをスキャンし、そのバーコードに応じた電気信号を出力するスキャン手段と、
前記バーコードに応じた前記電気信号を解析して、前記バーコードが表す情報を取得する解析手段と、
前記バーコードが表す前記情報から前記ダミービットが表す情報を抽出して、抽出した前記ダミービットが表す前記情報に基づいてエラーチェックを行うエラーチェック手段と、を備えるバーコード読取装置。
【請求項７】
前記バーコードに含まれる前記ダミービットのビット数の情報とそのバーコードの前記データビットが表す前記実体的な情報とを関連付けたテーブルをさらに備え、
前記エラーチェック手段は、スキャンされた前記ダミービットのビット数を計数し、その計数値及びスキャンされた前記データビットの前記実体的な情報と、前記テーブルに格納された前記ダミービットのビット数の前記情報及び前記データビットが表す前記実体的な情報と、に基づいて、エラーの有無を判定する、請求項６記載のバーコード読取装置。
【請求項８】
前記エラーチェック手段は、予め設定された情報に基づいて、前記バーコードが表す前記情報から前記ダミービットが表す前記情報を抽出する、請求項６又は７記載のバーコード読取装置。
【請求項９】
前記予め設定された情報は、前記データビットのビット数の情報である、請求項８記載のバーコード読取装置。
【請求項１０】
前記エラーチェック手段は、前記データビットに含まれるチェックサムの情報に基づいてエラーチェックを行う、請求項６から９記載のバーコード読取装置。
【考案の詳細な説明】
【技術分野】
【０００１】
本考案は、各々が割り当てられた同一物品に付される複数の異なるバーコードからなるバーコードセット、それらのバーコードを読み取るためのバーコード読取装置、及びそれらの関連技術に関する。
【背景技術】
【０００２】
特許文献１には、特定の形状を有する絵柄の内部にバーコードを設け、さらに、バーコードの前後に意味のないバーを付加することによって、より絵柄をそれらしく見せ、バーコードのデザイン性を高めるという発明が開示されている。
【０００３】
特許文献１の従来技術では、バーコードのマージン（読取のために必要な余白）の外側にダミーバーを配置するか（つまり、ダミーバーがバーコードの一部を構成しない）、ダミーバーの色をバーコード読取装置に認識不可能な色にするなど、ダミーバーが、バーコード読取装置によって読み取られないように工夫されている。こうすることで、実体的な情報を表しているバーのみがバーコード読取装置によって読み取られるので、実体的な情報の正確な読取が担保される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２１２６１１
【考案の開示】
【考案が解決しようとする課題】
【０００５】
ところで、通常、バーコードは、ある商品群を他の商品群と識別するために使用される。つまり、同一商品には同一のバーコードが付される。従って、同一商品間で異なるバーコードが付されることはない。従って、特許文献１では、このような通常のバーコードに、ダミーバーを付加することを意図していると考えられる。このため、絵柄並びにその内部のダミーバー及びバーコードは、同一商品間では同一となる。つまり、特許文献１では、同一商品間において、全てのダミーバー及び全てのバーは同一である。
【０００６】
ところが、同一物品間において各物品を識別するためにバーコードを使用することもある。この場合、当然、付されるバーコードは、物品間で異なってくる。つまり、バーコードの全長が、物品間で異なってくるのである。これでは、見た目も好ましくない。また、用途によっては、肉眼によってバーコードの内容を認識でき難いほうが好ましい場合もある。しかし、バーコードの全長が物品間で異なることは、肉眼によるバーコードの内容の認識を手助けすることになる。
【０００７】
そこで、本考案の目的は、同一物品間において各物品を識別するためにバーコードを利用する際に、各物品に付されたバーコード間で、見た目の統一性を図ると共に、肉眼でのバーコードの内容の認識が困難なバーコードセット及びその関連技術を提供することである。
【課題を解決するための手段】
【０００８】
本考案の第１の観点によると、バーコードセットは、各々が割り当てられた同一物品に付される複数の異なるバーコードからなり、前記バーコードの各々は、実体的な情報を表すデータビットと、前記実体的な情報を表さないダミービットと、を含み、前記バーコードの全長が所定長を基準に所定範囲に属するように、前記データビットに前記ダミービットが付加され、前記データビットは、スペースとバーとの組み合わせからなり、前記ダミービットは、スペースとダミーバーとの組み合わせからなる。
【０００９】
この構成によれば、同一物品間において各物品を識別するためにバーコードを利用する際に、各物品間でデータビットの全長が異なる場合でも、ダミービットを付加することによって、バーコード間で全長を揃えることができる。その結果、各物品に付されたバーコード間で見た目の統一性を図ることができる。また、肉眼でのバーコードの内容の認識を困難にすることができる。
【００１０】
ここで、所定範囲は０を含む。所定範囲が０の場合、全てのバーコードの全長が所定長となる。もちろん、所定範囲は、負から正の範囲であってもよいし、負の範囲でもよいし、正の範囲でもよい。
【００１１】
また、データビットは、広義の意味に用いられ、少なくとも実体的な情報を含み、スタートビット、ストップビット、及びチェックサム等の、ダミービット以外の他の情報を含む広い概念である。
【００１２】
上記バーコードセットにおいて、前記データビットは、合計幅が第１の所定幅からなる前記スペース及び前記バーから構成される第１の単位データビット、合計幅が前記第１の所定幅より大きい第２の所定幅からなる前記スペース及び前記バーから構成される第２の単位データビット、又はそれらの組み合わせからなり、前記第１の単位データビットは、論理０あるいは論理１のいずれかを示し、前記第２の単位データビットは、前記第１の単位データビットが示す論理と逆の論理を示す。
【００１３】
この構成によれば、広狭２つの単位データビットを用いてデータビットを構成するので、バーコード間でデータビットの広狭が発生し又は目立ち易くなり、それ故、ダミービットを付加することの上記意義がより大きくなる。最も極端な例は、あるデータビットが全て第１の単位データビットからなり、別のデータビットが全て第２の単位データビットからなる場合であり、この場合は、データビットの全長の差が最も大きい。
【００１４】
このバーコードセットにおいて、前記ダミービットは、単数又は複数の単位ダミービットからなり、前記単位ダミービットは、合計幅が第３の所定幅からなる前記スペース及び前記ダミーバーから構成され、前記第３の所定幅は、前記第１の所定幅及び前記第２の所定幅と異なる。
【００１５】
この構成によれば、単位ダミービットの幅が、第１の単位データビットの幅及び第２の単位データビットの幅と異なるので、バーコードの見た目のバリエーションを増やすことができる。
【００１６】
上記バーコードセットにおいて、前記ダミービットに代えて、図画、文字、数字及び／又は記号を前記データビットに付加することもできる。この構成によれば、より装飾的効果を高めることができる。
【００１７】
上記バーコードセットにおいて、前記バーコードが付される前記物品は、トレーディングカードである。
【００１８】
一般に、トレーディングカードは、それに付された図柄が重要な要素であり、その図柄がコレクターの収集意欲を喚起する要因の１つでもある。従って、ダミービットを付加して、トレーディングカード間でバーコードの全長を揃え、見た目を良くする意義は大きい。
【００１９】
本考案の第２の観点によると、バーコード読取装置は、上記バーコードセットを構成する前記各バーコードを読み取るバーコード読取装置であって、前記バーコードをスキャンし、そのバーコードに応じた電気信号を出力するスキャン手段と、前記バーコードに応じた前記電気信号を解析して、前記バーコードが表す情報を取得する解析手段と、前記バーコードが表す前記情報から前記ダミービットが表す情報を抽出して、抽出した前記ダミービットが表す前記情報に基づいてエラーチェックを行うエラーチェック手段と、を備える。
【００２０】
この構成によれば、ダミービットを装飾目的だけでなく、エラーチェックのためにも利用できる。言わば、一石二鳥である。
【００２１】
上記バーコード読取装置は、前記バーコードに含まれる前記ダミービットのビット数の情報とそのバーコードの前記データビットが表す前記実体的な情報とを関連付けたテーブルをさらに備え、前記エラーチェック手段は、スキャンされた前記ダミービットのビット数を計数し、その計数値及びスキャンされた前記データビットの前記実体的な情報と、前記テーブルに格納された前記ダミービットのビット数の前記情報及び前記データビットが表す前記実体的な情報と、に基づいて、エラーの有無を判定する。この構成によれば、テーブルを持つだけで、簡易にエラーチェックを行うことができる。
【００２２】
上記バーコード読取装置において、前記エラーチェック手段は、予め設定された情報に基づいて、前記バーコードが表す前記情報から前記ダミービットが表す前記情報を抽出する。
【００２３】
例えば、前記予め設定された情報は、前記データビットのビット数の情報である。バーコードの情報には、データビットの情報及びダミービットの情報が含まれるところ、この構成によれば、データビットのビット数が分かるので、データビットとダミービットとの境界を容易に認識でき、それ故、容易にダミービットの情報を抽出できる。
【００２４】
上記バーコード読取装置において、前記エラーチェック手段は、前記データビットに含まれるチェックサムの情報に基づいてエラーチェックを行う。この構成によれば、ダミービットによるエラーチェックに加えて、チェックサムによるエラーチェックも行われるので、得られたデータの信頼性の向上をより図ることができる。
【図面の簡単な説明】
【００２５】
【図１】本考案の実施の形態によるゲームシステムの全体構成を示す図である。
【図２】（ａ）図１のトレーディングカード１７の表の面を示す図である。（ｂ）図１のトレーディングカード１７の裏の面を示す図である。
【図３】（ａ）図１のゲーム機１Ａの斜視図である。（ｂ）図１のゲーム機１Ａの平面図である。（ｃ）図３（ｂ）のＡ−Ａ線によるゲーム機１Ａの断面図である。
【図４】図１のゲーム機１Ａの電気的構成を示すブロック図である。
【図５】図４のプロセッサ２３の電気的構成を示すブロック図である。
【図６】（ａ）バーコード２１の例示図である。（ｂ）バーコード２１の他の例示図である。（ｃ）バーコード２１のさらに他の例示図である。
【図７】ダミービット４９を利用したエラーチェックの際に使用されるテーブルの例示図である。
【図８】（ａ）バーコード２１のスタートビット４１の説明図である。（ｂ）バーコード２１のストップビット４７の説明図である。（ｃ）バーコード２１のダミービット４９の説明図である。（ｄ）バーコード２１の単位データビット３５の説明図である。（ｅ）バーコード２１の単位データビット３６の説明図である。
【図９】バーコード２１の解析方法の基本原理の説明図である。
【図１０】図４のプロセッサ２３によるスキャンモードでの処理の流れを示すフローチャートである。
【図１１】図４のプロセッサ２３の割込み処理の流れを示すフローチャートである。
【図１２】図１０のステップＳ５のデータ解析処理の流れを示すフローチャートである。
【図１３】図１０のステップＳ８のダミービット４９によるエラーチェック処理の流れを示すフローチャートである。
【考案を実施するための形態】
【００２６】
以下、本考案の実施の形態について、図面を参照しながら説明する。なお、図中、同一又は相当部分については同一の参照符号を付してその説明を援用する。また、本実施の形態において、０ｂは二進数を表す。
【００２７】
図１は、本考案の実施の形態によるゲームシステムの全体構成を示す図である。図１に示すように、このゲームシステムは、１Ｐ（第１プレイヤ）用のゲーム機１Ａ、２Ｐ（第２プレイヤ）用のゲーム機１Ｂ、テレビジョンモニタ３、及び複数枚のトレーディングカード１７を含む。本実施の形態では、このシステムによって、サッカーゲームを行う例を挙げる。
【００２８】
ゲーム機１Ａとゲーム機１Ｂとは、ケーブル６によって接続される。ゲーム機１Ａは、Ａ／Ｖケーブル５により、テレビジョンモニタ３に接続される。また、図示していないが、ゲーム機１Ａには、ＡＣアダプタ又は電池により、電源電圧が供給される。そして、ゲーム機１Ａは、ケーブル６を通して、ゲーム機１Ｂへ電源電圧を供給する。
【００２９】
第１プレイヤ及び第２プレイヤは、それぞれゲーム機１Ａ及び１Ｂの入力ボタン１２〜１６（後述）を操作して、テレビジョンモニタ３上の自分のチームの選手キャラクタを動かし、相手チームと対戦する。この場合、当初、選手キャラクタごとに異なる能力のデフォルト値が設定される。この場合の能力とは、選手キャラクタが有するサッカープレイにおけるポテンシャルのことであり、例えば、ロングキック速度、ロングキック威力、シュート能力、ヘディングの高さ、及びドリブル速度等である。ただし、各選手キャラクタの能力は、対応するトレーディングカード１７に付されたバーコード２１（後述）を読み取ることによって変更可能である。
【００３０】
次に、ゲームシステムを構成する各要素について詳しく説明する。
【００３１】
図２（ａ）は、図１のトレーディングカード１７の表の面を示す図であり、図２（ｂ）は、図１のトレーディングカード１７の裏の面を示す図である。図２（ａ）に示すように、トレーディングカード１７の表には、サッカー選手の写真が印刷される。一方、図２（ｂ）に示すように、トレーディングカード１７の裏には、一方の長辺に沿って、帯状のバーコード領域３８が設けられ、この領域３８に、短辺に平行な黒色のバーと白色のスペースとの組み合わせからなるバーコード２１が印刷される。バーコード領域３８以外の領域には、サッカー選手のプロフィールが印刷される。
【００３２】
より具体的には、トレーディングカード１７の裏の面のバーコード領域３８において、バーコード２１の先頭のバーは、一方の短辺から距離ＬＳの位置に印刷される。そして、バーコード２１の最後尾のバーは、先頭のバーから距離ＬＢの位置に印刷される。つまり、トレーディングカード１７の長辺に沿った長さＬＢは、バーコード２１の全長である。最後尾のバーから、他方の短辺までは、距離ＬＥである。
【００３３】
バーコード２１のスキャンは、先頭のバーから最後尾のバーへ向かって実行される。従って、先頭のバーに近い、バーコード領域３８のエッジ（図中下側の短辺の一部）を、入力エッジ８０と呼ぶことにする。
【００３４】
本実施の形態では、実体的な情報の内容が異なるバーコード２１が印刷された１２４種類のトレーディングカード１７を用意する。この場合、１人のサッカー選手に対して、４種類のトレーディングカード１７が用意される。従って、上記のように、トレーディングカード１７によって、テレビジョンモニタ３に表示される選手キャラクタの能力を設定できるので、一体の選手キャラクタの能力は、デフォルトを含めると、異なる５つの能力のいずれかに設定できる。
【００３５】
図３（ａ）は、ゲーム機１Ａの斜視図であり、図３（ｂ）は、ゲーム機１Ａの平面図であり、図３（ｃ）は、図３（ｂ）のＡ−Ａ線によるゲーム機１Ａの断面図である。
【００３６】
図３（ａ）及び図３（ｂ）を参照して、ゲーム機１Ａの上面には、プレイヤがサッカーゲームの進行（主として選手キャラクタ）をコントロールするための入力ボタン１２〜１６が設けられる。また、ゲーム機１Ａには、入力ボタン１４の外側に、溝部８が形成される。この溝部８は、トレーディングカード１７のバーコード２１をスキャンするためのスキャン装置の一部を構成し、平面視において、直線状となっている。ただし、溝部８の入口側６０は、入力ボタン１４側の壁面６４に対向する壁面が、平面視において、外側に広がっている。
【００３７】
図３（ｃ）を参照して、溝部８の壁面６４には、入口側６０の端部と出口側６２の端部との中間位置にスリット７０が形成される。このスリット７０の高さは、バーコード２１の一本のバーの長さより小さく設定され、スリット７０の幅は、バーコード２１の一本のバーの幅より小さく設定される。
【００３８】
壁面６４の後ろ側であって、かつ、スリット７０の後ろ側には、スリット７０の長手方向に（つまり、バーコード２１のバーの長手方向に）、スキャン装置の他の一部を構成する赤外発光ダイオード７２及びフォトトランジスタ７４が配置される。溝部８の深さは、バーコード２１の一本のバーの長さより深くなるように形成される。ここで、バーの長さとは、トレーディングカード１７の短辺に沿った長さのことを指し、バーの幅とは、トレーディングカード１７の長辺に沿った長さのことを指す。
【００３９】
プレイヤは、トレーディングカード１７のバーコード２１を、溝部８の壁面６４と対面するように向けて、トレーディングカード１７の入力エッジ８０を、溝部８の入口側６０から差し込み、トレーディングカード１７のバーコード領域３８側の長辺を、溝部８の平坦な底部６１に沿ってスライドさせ、出口側６２から抜き出す。
【００４０】
そうすると、赤外発光ダイオード７２からの赤外光は、バーコード２１に照射され、そして、バーコード２１に反射されて、フォトトランジスタ７４に入射する。この場合、バーコード２１の白色のスペースは、黒色のバーよりも、より強く赤外光を反射するので、白色のスペースが反射した赤外光がフォトトランジスタ７４に入射する場合が、黒色のバーが反射した赤外光がフォトトランジスタ７４に入射する場合よりも、フォトトランジスタ７４の出力レベルは大きくなる。従って、上記のようにトレーディングカード１７を溝部８に沿ってスライドさせることにより、フォトトランジスタ７４からは、バーコード２１のパターンに応じたパルス信号が出力される。ゲーム機１Ａは、このパルス信号を解析して、バーコード２１の情報を読み取り、選手キャラクタに反映させる。
【００４１】
図４は、ゲーム機１Ａの電気的構成を説明するブロック図である。図４に示すように、ゲーム機１Ａは、プロセッサ２３、検知ユニット２５、操作スイッチ２８、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２７、及びバス２６を含む。
【００４２】
検知ユニット２５は、上述の赤外発光ダイオード７２及びフォトトランジスタ７４を含み、さらに、フォトトランジスタ７４の出力信号を増幅・反転・整形して出力するアンプ（図示せず）を含む。従って、フォトトランジスタ７４の出力信号を反転した信号がプロセッサ２３に入力される。つまり、検知ユニット２５からプロセッサ２３に入力されるパルス信号の高いレベルは、黒色のバーに対応し、低いレベルは、白色のスペースに対応する。ただし、検知ユニット２５は、必ずしも反転出力する必要はなく、反転せずに出力してもよい。
【００４３】
上記のように、フォトトランジスタ７４の出力信号は、トレーディングカード１７のバーコード２１のパターンに応じたパルス信号なので、プロセッサ２３は、検知ユニット２５からのパルス信号を解析して、バーコード２１の情報を読み取り、選手キャラクタに反映させる。
【００４４】
操作スイッチ２８は、上記の入力ボタン１２〜１６を含む。プロセッサ２３は、これらからのオン／オフ信号を受けて、第１プレイヤの選手キャラクタを動かしたり、その他のゲームの進行を制御する。
【００４５】
ところで、図１のゲーム機１Ｂは、ゲーム機１Ａと同様の構成を有する。従って、ゲーム機１Ｂは、ゲーム機１Ａの入力ボタン１２〜１６と同様の入力ボタン１２〜１６を有する。ただし、ゲーム機１Ｂには、プロセッサ２３、バス２６、ＲＯＭ２７、及び検知ユニット２５は搭載されず、溝部８も形成されない。
【００４６】
従って、図４に示すように、ゲーム機１Ｂの入力ボタン１２〜１６のオン／オフ信号は、ケーブル６により、ゲーム機１Ａに伝送され、プロセッサ２３は、これらからのオン／オフ信号を受けて、第２プレイヤの選手キャラクタを動かしたり、その他のゲームの進行を制御する。
【００４７】
また、プロセッサ２３は、バス２６を通じて、ＲＯＭ２７にアクセスできる。従って、プロセッサ２３は、ＲＯＭ２７に格納されたプログラムを実行でき、また、ＲＯＭ２７に格納されたデータをリードして処理することができる。このＲＯＭ２７に、後述のフローチャートで示される各処理を行うプログラム、画像データ、及び音声データ等が予め格納される。
【００４８】
つまり、プロセッサ２３は、ＲＯＭ２７に格納されたプログラムを実行し、ゲーム機１Ａ及び１Ｂの入力ボタン１２〜１６のオン／オフ信号に基づいて、各種演算、グラフィック処理、及びサウンド処理を実行して、ＲＯＭ２７に格納された画像データ及び音声データからビデオ信号ＶＤ及びオーディオ信号ＡＵを生成する。プロセッサ２３が生成したビデオ信号ＶＤおよびオーディオ信号ＡＵは、Ａ／Ｖケーブル５を介して、テレビジョンモニタ３に与えられ、応じて、テレビジョンモニタ３に映像が表示され、そのスピーカ（図示せず）から音声が出力される。
【００４９】
図５は、図４のプロセッサ２３の電気的構成を示すブロック図である。図５に示すように、このプロセッサ２３は、中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１０１、グラフィックプロセッサ１０３、ピクセルプロッタ１０５、サウンドプロセッサ１０７、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コントローラ１０９、第１バスアービタ１１３、第２バスアービタ１１４、バックアップコントロール回路１１５、メインメモリ１１７、タイマ回路１１９、Ａ／Ｄコンバータ（ＡＤＣ：ａｎａｌｏｇ  ｔｏ  ｄｉｇｉｔａｌ  ｃｏｎｖｅｒｔｅｒ）１２０、入出力制御回路１２１、外部メモリインタフェース回路１２３、クロックドライバ１２９、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路１２７、低電圧検出回路１２５、第１バス１３１、及び第２バス１３３を含む。 
【００５０】
本実施の形態では、メインメモリ１１７及びＲＯＭ２７を区別して説明する必要がないときは、「メモリＭＥＭ」と表記する。
【００５１】
ＣＰＵ１０１は、メモリＭＥＭに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ１０１は、第１バス１３１及び第２バス１３３のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００５２】
グラフィックプロセッサ１０３は、第１バス１３１及び第２バス１３３のバスマスタであり、メモリＭＥＭに格納されたデータを基に、グラフィックデータを合成し、さらにこれを基にテレビジョンモニタ３に合わせたビデオ信号ＶＤを生成して出力する。ここで、グラフィックデータは、バックグラウンドスクリーンとスプライトとビットマップスクリーンとから合成される。また、グラフィックプロセッサ１０３は、第１バス１３１を通じて、ＣＰＵ１０１により制御され、また、ＣＰＵ１０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００５３】
ピクセルプロッタ１０５は、第１バス１３１を通じて、ＣＰＵ１０１により制御され、ＣＰＵ１０１から与えられたピクセルデータの描画を実行する。この場合、ピクセル単位での描画が可能である。ここで言うピクセルデータは、１ピクセルの表示色をＭビット（Ｍは１以上の整数）で表したデータである。また、ピクセルプロッタ１０５は、キャッシュシステムにより、高速な描画と効率的なバス（第１バス１３１及び第２バス１３３）の使用を実現している。さらに、ピクセルプロッタ１０５は、第１バス１３１及び第２バス１３３のバスマスタであり、キャッシュ（図示せず）からメモリＭＥＭへのライト及びメモリＭＥＭからキャッシュへのライトを自律的に行うことができる。
【００５４】
サウンドプロセッサ１０７は、第１バス１３１及び第２バス１３３のバスマスタであり、メモリＭＥＭに格納されたデータを基に、サウンドデータを合成し、さらにこれを基にオーディオ信号ＡＵを生成して出力する。サウンドデータは、基本の音色となるＰＣＭ（パルスコードモジュレーション）データに対し、ピッチ変換及び振幅変調を行い合成される。振幅変調では、ＣＰＵ１０１によって指示されるボリューム制御の他に、楽器の波形を再現するためのエンベロープ制御の機能が用意される。また、サウンドプロセッサ１０７は、第１バス１３１を通じて、ＣＰＵ１０１により制御され、また、ＣＰＵ１０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００５５】
ＤＭＡコントローラ１０９は、外部バス２６に接続されたＲＯＭ２７から、メインメモリ１１７へのデータ転送を司る。また、ＤＭＡコントローラ１０９は、データ転送の完了を通知するために、ＣＰＵ１０１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。さらに、ＤＭＡコントローラ１０９は、第１バス１３１及び第２バス１３３のバスマスタであり、また、第１バス１３１を通じてＣＰＵ１０１により制御される。
【００５６】
メインメモリ１１７は、マスクＲＯＭ、ＳＲＡＭ、及び、ＤＲＡＭのうち、必要なものを備える。本実施の形態では、メインメモリ１１７をＳＲＡＭで構成する。
【００５７】
バックアップコントロール回路１１５は、後述の低電圧検出回路１２５が低電圧を検知した場合に、メインメモリ１１７を非活性化する。そして、メインメモリ１１７には、バッテリ１４１から電源電圧が供給される。従って、電源電圧Ｖｃｃ０及びＶｃｃ１の供給が停止された場合でも、ＳＲＡＭたるメインメモリ１１７のデータが保持される。
【００５８】
第１バスアービタ１１３は、第１バス１３１の各バスマスタからの第１バス使用要求信号を受け付け、調停を行って、バスサイクル毎に１つのバスマスタに対して第１バス使用許可信号を発行する。各バスマスタは、第１バス使用許可信号を受領することによって第１バス１３１の使用が許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図５では、第１バス調停信号ＦＡＢとして示されている。
【００５９】
第２バスアービタ１１４は、第２バス１３３の各バスマスタからの第２バス使用要求信号を受け付け、調停を行って、要求されたバイト数に対応する１または複数のバスサイクル毎に１つのバスマスタに第２バス使用許可信号を発行する。各バスマスタは、第２バス使用許可信号を受領することによって第２バス１３３の使用が許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図５では、第２バス調停信号ＳＡＢとして示されている。
【００６０】
タイマ回路１１９は、設定された時間間隔に基づき、ＣＰＵ１０１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。時間間隔等の設定は、第１バス１３１を介してＣＰＵ１０１によって行われる。
【００６１】
ＡＤＣ１２０は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス１３１を介してＣＰＵ１０１によってリードされる。また、ＡＤＣ１２０は、ＣＰＵ１０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、外部からのアナログ信号は、例えば、６つのアナログポートＡＩＮ０〜５（図示せず）を介して、ＡＤＣ１２０へ入力される。
【００６２】
入出力制御回路１２１は、外部入出力装置や外部の半導体素子との通信等を、入出力信号を介して行う。入出力信号は、第１バス１３１を介して、ＣＰＵ１０１からリード／ライトされる。また、入出力制御回路１２１は、ＣＰＵ１０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、入出力信号は、例えば、プログラマブルな入出力ポートＩＯ０〜ＩＯ２３（図示せず）を介して入出力される。
【００６３】
本実施の形態では、ＣＰＵ１０１は、ゲーム機１Ａ及び１Ｂの入力ボタン１２〜１６からのオン／オフ信号を、入出力制御回路を介して取得する。
【００６４】
低電圧検出回路１２５は、電源電圧Ｖｃｃ０及びＶｃｃ１を監視し、いずれかの電源電圧がそれぞれについて定められた電圧以下になったときに、ＰＬＬ回路１２７等のリセット信号ＬＰＷ、その他のシステム全体のリセット信号ＲＥＳを発行する。ここで、電源電圧Ｖｃｃ０は、例えば、＋２．５Ｖであり、主にプロセッサ２３内のデジタル回路に供給される。また、電源電圧Ｖｃｃ１は、例えば、＋３．３Ｖであり、主にプロセッサ２３内のアナログ回路及びＩ／Ｏ部に供給される。
【００６５】
ＰＬＬ回路１２７は、水晶振動子１３７より得られる正弦波信号を逓倍した高周波クロック信号ｃｋを生成する。
【００６６】
クロックドライバ１２９は、ＰＬＬ回路１２７より受け取った高周波クロック信号ｃｋを、十分な信号強度へ増幅して、内部クロックＣＫとして、各ブロックへ供給する。
【００６７】
外部メモリインタフェース回路１２３は、第２バス１３３を外部バス２６に接続するための機能を有する。
【００６８】
図５のプロセッサ２３におけるデータの転送経路を説明する。例えば、バスマスタたるＣＰＵ１０１が、バススレイブとして第１バス１３１に接続されている他の機能ブロック（グラフィックプロセッサ１０３、ピクセルプロッタ１０５、サウンドプロセッサ１０７、ＤＭＡコントローラ１０９、第１バスアービタ１１３、および第２バスアービタ１１４等）を制御する場合は、これら機能ブロックの制御レジスタ等へのライトデータは、第１バスアービタ１１３へ与えられ、調停後に、第１バス１３１から、各機能ブロックに与えられ、一方、これら機能ブロックの制御レジスタ等からのリードデータは、調停後に、第１バス１３１及び第１バスアービタ１１３を介して、ＣＰＵ１０１に与えられる。但し、グラフィックプロセッサ１０３、ピクセルプロッタ１０５、サウンドプロセッサ１０７、およびＤＭＡコントローラ１０９は、第１バス１３１のバスマスタとして、第１バスアービタ１１３へバス使用要求を行う機能を備える。
【００６９】
バスマスタが、メインメモリ１１７に対してアクセスする場合は、ライトデータは、第１バスアービタ１１３に与えられ、調停後に、第１バス１３１から、メインメモリ１１７に与えられ、一方、リードデータは、調停後に、第１バス１３１及び第１バスアービタ１１３を介して、バスマスタに与えられる。
【００７０】
また、バスマスタが、ＲＯＭ２７に対してアクセスする場合は、ライトデータは、第２バスアービタ１１４に与えられ、調停後に、第２バス１３３から、外部メモリインタフェース回路１２３及び外部バス２６を介して、ＲＯＭ２７に与えられ、一方、リードデータは、調停後に、外部バス２６、外部メモリインタフェース回路１２３、第２バス１３３及び第２バスアービタ１１４を介して、バスマスタに与えられる。
【００７１】
次に、本実施の形態のバーコード２１について詳しく説明する。
【００７２】
図６（ａ）〜図６（ｃ）は、バーコード２１の例示図である。図６（ａ）及び図６（ｃ）を参照して、これらのバーコード２１は、バーコード２１の先頭を示すスタートビット４１、トレーディングカード１７の識別情報（ＩＤ）を含むデータビット４３、エラーチェックのためのチェックサム４５、チェックサム４５の終了を示すストップビット４７、及び全種類のバーコード２１の全長を揃えるためのダミービット４９からなる。また、図６（ｂ）を参照して、このバーコード２１は、スタートビット４１、データビット４３、チェックサム４５、及びストップビット４７からなる。このように、データビット４３の全長によっては、ダミービット４９が存在しないバーコード２１もある。
【００７３】
図６（ａ）〜図６（ｃ）を参照して、データビット４３は、１５ビットの情報を表す。後で図示するが、１ビットは、「０」を示す単位データビット３５あるいは「１」を示す単位データビット３６からなる。データビット４３の第０ビットから第７ビットが、トレーディングカード１７のＩＤを表し、第８ビットから第１４ビットは、ＰＫ（ペナルティキック）対戦で使用するＰＫパラメータを表す。ＲＯＭ２７には、トレーディングカード１７のＩＤと選手キャラクタの能力値とを関連付けた能力テーブルが用意される。従って、プロセッサ２３は、トレーディングカード１７のＩＤをインデックスとして、この能力テーブルを参照して、選手キャラクタの能力値を取得する。このように、バーコード２１には、能力値そのものを含ませず、ＩＤを含ませることで、バーコード２１の情報量を少なくしている。
【００７４】
チェックサム４５は、データビット４３に含まれる「０」の数を４ビットで表している。１ビットは、単位データビット３５あるいは単位データビット３６からなる。
【００７５】
ダミービット４９は、全種類のバーコード２１の全長を揃えるために、ストップビット４７の後に付される。なぜなら、図６（ａ）〜図６（ｃ）から明らかなように、データビット４３の全長は、それが表す情報の内容によって異なってくるからである。後で図示するが、ダミービット４９は、幅が同じ１以上の単位ダミービット５０からなる。従って、データビット４３の全長に応じて、何個の単位ダミービット５０を付加するのか、あるいは、ダミービット４９を付加しないのか、が決定される。本実施の形態では、最大３個の単位ダミービット５０を付加する。
【００７６】
ダミービット４９を付加することにより、全種類のバーコード２１の全長が揃えられるが、完全に一致するわけではなく、概ね一致する。例えば、所定のバーコード２１の全長を基準に、所定範囲内に収まるように単位ダミービット５０を付加する。
【００７７】
もし、ダミービット４９を付加しないならば、トレーディングカード１７間で、バーコード２１の全長が大きく異なるため、見た目が好ましくない。そこで、ダミービット４９を付加して、バーコード２１の外観の均整を図る。このように、ダミービット４９は、装飾的な機能を有する。
【００７８】
一方、ダミービット４９は、エラーチェックのためにも使用される。ＲＯＭ２７には、このエラーチェックに使用するためのテーブルが格納されている。
【００７９】
図７は、ダミービット４９を利用したエラーチェックの際に使用されるテーブルの例示図である。図７を参照して、このテーブルは、トレーディングカード１７のＩＤ、つまり、データビット４３の第０ビット〜第７ビットと、トレーディングカード１７の単位ダミービット５０の数と、を関連付けたものである。
【００８０】
プロセッサ２３は、このテーブルを参照して、スキャンの結果得られたバーコード２１のデータビット４３が示すトレーディングカード１７のＩＤに関連付けられた単位ダミービット５０の数を取得する。そして、プロセッサ２３は、スキャンの結果得られたバーコード２１の単位ダミービット５０の数と、テーブルから取得した単位ダミービット５０の数と、を比較して、スキャンエラーか否かを判定する。プロセッサ２３は、両者が不一致の場合はエラーと認識する。このように、本実施の形態では、チェックサム４５及びダミービット４９を用いて、二重のエラーチェックを行っている。このため、エラーデータが処理に反映されることを極力防止できる。
【００８１】
ここで、バーコード２１のうち、ダミービット４９を除く部分、即ち、スタートビット４１、データビット４３、チェックサム４５、及びストップビット４７を、広義のデータビットと位置づける。従って、データビット４３は、狭義のデータビットである。
【００８２】
図８（ａ）は、バーコード２１のスタートビット４１の説明図である。図８（ａ）を参照して、スタートビット４１は、それぞれ幅が「ｗ」の黒色バー３３、白色スペース３１、及び黒色バー３３をスキャンの方向に並べて構成される。プロセッサ２３は、このスタートビット４１を検知することで、バーコード２１の先頭を認識できる。白色スペース３１及びその後の黒色バー３３の組は、「０」（つまり論理０）を表す。
【００８３】
図８（ｂ）は、バーコード２１のストップビット４７の説明図である。図８（ｂ）を参照して、ストップビット４７は、幅が「２ｗ」の白色スペース３２及び幅が「ｗ」の黒色バー３３をスキャンの方向に並べて構成される。ストップビット４７は、「１」（つまり論理１）を表す。プロセッサ２３は、このストップビット４７を検知することで、チェックサム４５の終了を認識できる。
【００８４】
図８（ｃ）は、バーコード２１の単位ダミービット５０の説明図である。図８（ｃ）を参照して、単位ダミービット５０は、幅が「３ｗ」の白色スペース３４及び幅が「ｗ」の黒色バー３３をスキャンの方向に並べて構成される。１以上の単位ダミービット５０により、ダミービット４９が構成される。単位ダミービット５０は、「１」（つまり論理１）を表す。
【００８５】
図８（ｄ）は、バーコード２１の単位データビット３５の説明図である。図８（ｄ）を参照して、単位データビット３５は、幅が「ｗ」の白色スペース３１及び幅が「ｗ」の黒色バー３３をスキャンの方向に並べて構成される。単位データビット３５は、「０」（つまり論理０）を表す。
【００８６】
図８（ｅ）は、バーコード２１の単位データビット３６の説明図である。図８（ｅ）を参照して、単位データビット３６は、幅が「２ｗ」の白色スペース３２及び幅が「ｗ」の黒色バー３３をスキャンの方向に並べて構成される。単位データビット３５は、「１」（つまり論理１）を表す。
【００８７】
合計１５個の単位データビット３５及び／又は３６によりデータビット４３が構成され、合計４個の単位データビット３５及び／又は３６によりチェックサムが構成される。
【００８８】
図６（ａ）〜図６（ｃ）に戻って、図６（ａ）のデータビット４３は、「０ｂ０００００００００００００００」を、図６（ｂ）のデータビット４３は、「０ｂ１１１１１１１１１１１１１１１」を、図６（ｃ）のデータビット４３は、「０ｂ０１１００１０１０１００１０１」を、それぞれ表す。
【００８９】
このように、「０」を示す単位データビット３５が多いバーコード２１ほど、その全長が短くなり、「１」を示す単位データビット３６が多いバーコード２１ほど、その全長が長くなる。従って、図６（ａ）のバーコード２１は、３個の単位ダミービット５０を含み、図６（ｂ）のバーコード２１は、単位ダミービット５０を含まず、図６（ｃ）のバーコード２１は、２個の単位ダミービット５０を含む。このように、単位ダミービット５０を付加する数によって、バーコード２１の長さを統一して、見た目を整えている。
【００９０】
次に、バーコード２１の解析方法の基本原理を説明する。
【００９１】
図９（ａ）及び図９（ｂ）は、バーコード２１の解析方法の基本原理の説明図である。プレイヤが、図９（ａ）のトレーディングカード１７をゲーム機１Ａの溝部８に沿ってスライドさせると、検知ユニット２５のフォトトランジスタ７４は、信号を反転する上記したアンプ（図示せず）を介して、図９（ｂ）に示す信号７１を出力する。なお、この例では、トレーディングカード１７をスライドさせる速度が一定であるとしている。
【００９２】
より詳細には、次の通りである。ゲーム機１Ａの溝部８にトレーディングカード１７がない状態では、赤外発光ダイオード７２からの赤外光は、溝部８の壁面６４に対面する壁面に照射されるため、反射赤外光は弱く、それ故、フォトトランジスタ７４の出力信号のレベルは低くなる。ところが、検知ユニット２５は、フォトトランジスタ７４の出力信号を反転して出力するので、この状態では、検知ユニット２５の出力信号のレベルは高くなる（ハイレベル）。
【００９３】
そして、プレイヤがトレーディングカード１７を溝部８に沿ってスライドさせると、まず、トレーディングカード１７の入力エッジ８０から長さＬＳ（図２（ｂ）参照）までは、白色の領域が続くので、この領域に照射され、反射される赤外光は強く、それ故、フォトトランジスタ７４の出力信号のレベルは高くなる。ところが、検知ユニット２５は、反転出力を行うので、この状態では、出力信号７１のレベルは低い（ローレベル）。
【００９４】
次に、スタートビット４１の最初の黒色バーに、赤外光が照射されるため、反射赤外光は弱く、それ故、フォトトランジスタ７４の出力信号のレベルは低くなる。ところが、検知ユニット２５は、反転出力を行うので、この状態では、出力信号７１のレベルは高い（ハイレベル）。
【００９５】
次に、スタートビット４１の最初の白色スペースに、赤外光が照射されるため、反射赤外光は強く、それ故、フォトトランジスタ７４の出力信号のレベルは高くなる。ところが、検知ユニット２５は、反転出力を行うので、この状態では、出力信号７１のレベルは低い（ローレベル）。
【００９６】
以下同様に、黒色バーに赤外光が照射されたときは、検知ユニット２５の出力信号７１は高いレベル（ハイレベル）となり、白色スペースに赤外光が照射されたときは、検知ユニット２５の出力信号７１は低いレベル（ローレベル）となる。
【００９７】
本実施の形態では、プロセッサ２３は、検知ユニット２５の出力信号７１の立ち下がりエッジを順次検出する。これは、プロセッサ２３が、黒色バーの後端エッジ（図中右側のエッジ（長辺））を順次検出することを意味する。そして、プロセッサ２３は、検知ユニット２５の出力信号７１の立ち下がりエッジから次の立ち下がりエッジまでの時間を計測する。これは、プロセッサ２３が、黒色バーの後端エッジから次の黒色バーの後端エッジまでの長さを計測することに相当する。
【００９８】
単位データビット３５（幅２ｗ）は、単位データビット３６（幅３ｗ）より小さい。従って、黒色バーの後端エッジから、その次の単位データビット３５を構成する黒色バーの後端エッジまでの長さ２ｗは、黒色バーの後端エッジから、その次の単位データビット３６を構成する黒色バーの後端エッジまでの長さ３ｗより短い。
【００９９】
言い換えると、黒色バーの後端エッジに相当する出力信号７１の立ち下がりエッジから、その次の単位データビット３５を構成する黒色バーの後端エッジに相当する出力信号７１の立下りエッジまでの時間Ｔ０は、黒色バーの後端エッジに相当する出力信号７１の立ち下がりエッジから、その次の単位データビット３６を構成する黒色バーの後端エッジに相当する出力信号７１の立下りエッジまでの時間Ｔ１より短い。
【０１００】
よって、プロセッサ２３は、検知ユニット２５の出力信号の立ち下がりエッジから次の立ち下がりエッジまでの時間を計測し、その長短を判定することにより、単位データビット３５と単位データビット３６とを判別する。
【０１０１】
ところが、トレーディングカード１７をスライドさせるのはプレイヤ、つまり、人間であるため、ゲーム機１Ａのスリット７０を通過するときの黒色バーの速度は、それぞれのバーで異なってくる。また、プレイヤによっても、トレーディングカード１７をスライドさせるときの速度は異なってくる。これらの点を考慮し、本実施の形態では、後述のフローチャートに示すようにして、単位データビット３５と単位データビット３６とを判別している。
【０１０２】
さて、本実施の形態では、スキャンモード、ゲームモード、及びＰＫモードが用意される。スキャンモードは、トレーディングカード１７のバーコード２１をスキャンするモードである。ゲームモードは、第１プレイヤと第２プレイヤとがそれぞれの選手キャラクタを操作して、サッカーゲームの対戦を行うモードである。ＰＫモードは、第１プレイヤと第２プレイヤとがそれぞれのトレーディングカード１７を使用して、ＰＫの対戦を行うモードである。
【０１０３】
以下では、第１プレイヤあるいは第２プレイヤが、入力ボタン１２〜１６を操作して、スキャンモードを選択した場合の処理を説明する。
【０１０４】
図１０は、図４のプロセッサ２３によるスキャンモードでの処理の流れを示すフローチャートである。図１０を参照して、ステップＳ１にて、プロセッサ２３は、システムの初期設定を実行する。この処理で、図１０の処理及び後述する図１１〜図１３の処理で使用される全ての変数及びカウンタが初期化（０を代入）されるとともに、全てのフラグがオフ（クリア）される。ただし、後述するプレイヤ特定フラグは第１プレイヤを示す値にセットされる。また、プロセッサ２３は、使用する全ての配列の全ての要素を「０」に設定する。
【０１０５】
ステップＳ２にて、プロセッサ２３は、検知ユニット２５の出力信号７１の立ち下がりエッジを検出するためのエッジトリガをイネーブルにする。これにより、図５の入出力制御回路１２１は、出力信号７１の立ち下がりエッジを検出した時に、割込み要求信号ＩＮＲＱをＣＰＵ１０１に発行する。以下、この時の込み要求信号ＩＮＲＱをエッジトリガと呼ぶ。
【０１０６】
ここで、ステップＳ３以降の説明の前に、割込み処理について説明する。この割込み処理は、エッジトリガによる割込み又はタイマ回路１１９による割込みが発生した時に、プロセッサ２３により実行される。
【０１０７】
図１１は、図４のプロセッサ２３の割込み処理の流れを示すフローチャートである。図１１を参照して、ステップＳ３０にて、プロセッサ２３は、割り込みが、エッジトリガに基づくものか、あるいは、タイマ回路１１９に基づくものか、を判断し、エッジトリガに基づく割込みの場合はステップＳ３１に進み、タイマ回路１１９に基づく割り込みの場合ステップＳ４８に進む。
【０１０８】
エッジトリガに基づく割込みの場合、ステップＳ３１にて、プロセッサ２３は、バーコード２１を読み込み中であることを示すリード中フラグをオンにする。なぜなら、エッジトリガが発生したということは、トレーディングカード１７の入力エッジ又はバーコード２１の黒色バーの後端エッジが検出されたことを意味するので、バーコード２１の読み取り中ということになるからである。
【０１０９】
ステップＳ３２にて、プロセッサ２３は、検知ユニット２５の出力信号７１の立下りエッジの検出回数を計数するカウンタＣＥが「０」か否かを判断する。カウンタＣＥが「０」の場合は、その時のエッジトリガは、トレーディングカード１７の入力エッジ８０が検出されたことに基づくものであるので、ステップＳ３３に進む。一方、カウンタＣＥが「０」以外の場合は、その時のエッジトリガは、バーコード２１の黒色バーの後端エッジが検出されたことに基づくものであるので、ステップＳ３５に進む。
【０１１０】
入力エッジ８０が検出された場合、ステップＳ３３にて、プロセッサ２３は、タイマ回路１１９による割込みをセットし、メインルーチンにリターンする。この場合、割込み発生の間隔は、例えば、０．５秒にセットされる。
【０１１１】
入力エッジ８０が検出された後、０．５秒以内に、スタートビット４１の最初の黒色バーの後端エッジが検出されない場合は、トレーディングカード１７が溝部８に挿入されたにも拘らず、停止しているとみなして、読み取りエラーと判断するためである。なお、ここで設定する０．５秒は、あくまでも例示であり、図２（ｂ）の長さＬＳに応じて、適宜変更される。
【０１１２】
ステップＳ３４にて、プロセッサ２３は、カウンタＣＥを１つインクリメントして、メインルーチンにリターンする。
【０１１３】
ステップＳ３２で、カウンタＣＥが「０」以外であると判断されると、ステップＳ３５にて、プロセッサ２３は、カウンタＣＥが「１」か否かを判断する。カウンタＣＥが「１」の場合は、その時のエッジトリガは、スタートビット４１の最初の黒色バーの後端エッジが検出されたことに基づくものであるので、ステップＳ４５に進む。一方、カウンタＣＥが２以上の場合は、その時のエッジトリガは、スタートビット４１の最初の黒色バーに後続する一連の黒色バーのいずれかの後端エッジが検出されたことに基づくものであるので、ステップＳ３６に進む。
【０１１４】
スタートビット４１の最初の黒色バーの後端エッジが検出された場合、ステップＳ４５にて、プロセッサ２３は、タイマ回路１１９による割込みをセットする。この場合、割込み発生の周波数は、例えば、６２５ｋＨｚにセットされる。この割り込みは、検知ユニット２５の出力信号７１立下りエッジと次の立ち下がりエッジとの間隔を計測するためのものである。
【０１１５】
ステップＳ４６にて、プロセッサ２３は、カウンタＣＥを１つインクリメントして、メインルーチンにリターンする。
【０１１６】
ステップＳ３５でカウンタＣＥが２以上の場合は、ステップＳ３６にて、プロセッサ２３は、カウンタＣＥを１つインクリメントする。ステップＳ３７にて、プロセッサ２３は、カウンタＣＥが「２６」か否かを判断する。カウンタＣＥが「２６」の場合は、その時のエッジトリガは、３個の単位ダミービット５０が付加されたバーコード２１の最後尾の黒色バー、つまり、３つ目の単位ダミービット５０の黒色バーの後端エッジが検出されたことに基づくものであるので、バーコード２１の読み取り処理を終了すべくステップＳ３８に進む。一方、カウンタＣＥが３以上２６未満の場合は、その時のエッジトリガは、スタートビット４１の最初の黒色バーに後続する一連の黒色バーのいずれかの後端エッジが検出されたことに基づくものであるので、ステップＳ４２に進む。
【０１１７】
３つ目の単位ダミービット５０の黒色バーの後端エッジが検出された場合、ステップＳ３８にて、プロセッサ２３は、バーコード２１の読み込み処理が終了したことを示すリード終了フラグをオンにする。ステップＳ３９にて、プロセッサ２３は、リード中フラグをオフにする。ステップＳ４０にて、プロセッサ２３は、エッジトリガをディセーブルにする。ステップＳ４１にて、プロセッサ２３は、タイマ回路１１９による割込みを解除する。
【０１１８】
ステップＳ４２では、プロセッサ２３は、カウンタＴＣの値を配列Ａの要素Ａ［ｋ］として格納する。カウンタＴＣの値は、検知ユニット２５の出力信号７１の立下りエッジから次の立下りエッジまでの時間に相当する。ステップＳ４３にて、プロセッサ２３は、カウンタＴＣに「０」を代入する。ステップＳ４４にて、プロセッサ２３は、配列Ａの要素番号を表す変数ｋを１つインクリメントして、メインルーチンにリターンする。
【０１１９】
ちなみに、ステップＳ４２において、変数ｋが「０」（初期値）の場合は、ＣＥ＝３であるので、その時のカウンタＴＣの値は、スタートビット４１の最初の黒色バーの後端エッジに対応する出力信号７１の立ち下がりエッジから、その次の立下りエッジまでの時間を示す。この場合のカウンタＴＣの値は、配列Ａの要素Ａ［０］として格納される。従って、スタートビット４１の最初の黒色バーの後端エッジから、スタートビット４１の最後尾の黒色バーの後端エッジまでの距離に相当する時間が、配列Ａの要素Ａ［０］として格納される。もちろん、要素Ａ［０］として格納されるカウンタＴＣの値は、その時のトレーディングカード１７のスライド速度に依存して変動する。上記のように、プレイヤによるトレーディングカード１７のスライド速度は一定ではないので、プロセッサ２３は、要素Ａ［０］として格納されたカウンタＴＣの値を基準に、単位データビット３５と単位データビット３６とを判別する。この点は、後述する。
【０１２０】
プロセッサ２３は、ステップＳ３０でタイマ回路１１９による割り込みであると判断した場合は、ステップＳ４８にて、カウンタＣＥが「１」か否かを判断する。カウンタＣＥが「１」のときに発生するタイマ回路１１９による割り込みは、ステップＳ３３に基づくものである。従って、この場合、バーコード２１のスタートビット４１の最初の黒色バーの後端エッジが未だ検出されていない。このため、カウンタＣＥが「１」の場合、読み取りエラーと判断すべく、ステップＳ４９に進む。一方、カウンタＣＥが２以上のときに発生するタイマ回路１１９による割り込みは、ステップＳ４５に基づくものである。従って、出力信号７１の立ち下がりエッジ間の時間を計測すべく、ステップＳ５１に進む。
【０１２１】
ステップＳ４９では、プロセッサ２３は、バーコード２１のスキャンにエラーが発生したことを示すエラーフラグをオンにする。そして、ステップＳ５０にて、プロセッサ２３は、リード中フラグをオフにして、ステップＳ５５に進む。
【０１２２】
一方、ステップＳ５１では、プロセッサ２３は、カウンタＴＣを１つインクリメントする。ステップＳ５２にて、プロセッサ２３は、カウンタＴＣの値が３５ミリ秒に相当するか否かを判断し、３５ミリ秒に相当しない場合は、メインルーチンにリターンする。プロセッサ２３は、カウンタＴＣの値が３５ミリ秒に相当する場合は、読み取り処理を終了すべく、ステップＳ５３に進む。カウンタＴＣの値が３５ミリ秒ということは、出力信号７１の立下りエッジが検出されてから３５ミリ秒が経過したが、次の立ち下がりエッジが検出されていないことを意味する。つまり、３５ミリ秒の間、出力信号７１の立ち下がりエッジが発生していないことになる。そこで、このような場合は、読み取りを終了することにしたのである。ステップＳ５３では、プロセッサ２３は、リード終了フラグをオンにする。そして、ステップＳ５４にて、プロセッサ２３は、リード中フラグをオフにする。
【０１２３】
ステップＳ５５では、プロセッサ２３は、エッジトリガをディセーブルにする。ステップＳ５６にて、プロセッサ２３は、タイマ回路１１９による割込みを解除して、メインルーチンにリターンする。
【０１２４】
図１０に戻って、ステップＳ３では、プロセッサ２３は、バーコード２１のスキャンにエラーが発生したことを示すエラーフラグを参照して、オンの場合はステップＳ１５に進み、オフの場合はステップＳ４に進む。
【０１２５】
ステップＳ１５では、プロセッサ２３は、バーコード２１をスキャンするための再設定を行う。具体的には、プロセッサ２３は、図１０及び図１１の処理並びに後述する図１２及び図１３の処理で使用される全ての変数及びカウンタを初期化（０を代入）するとともに、全てのフラグをオフ（クリア）にする。ただし、後述するプレイヤ特定フラグの値は維持される。また、プロセッサ２３は、使用する全ての配列の全ての要素を「０」に設定する。さらに、プロセッサ２３は、ステップＳ２と同様にエッジトリガをイネーブルにする。ステップＳ１６にて、プロセッサ２３は、エラーである旨のテレビジョンモニタ３への表示のための画像情報（画像データ格納位置情報及び表示位置情報など）をメインメモリ１１７に設定する。
【０１２６】
ステップＳ３でエラーでない場合、ステップＳ４にて、プロセッサ２３は、バーコード２１の読み取りが終了したことを示すリード終了フラグを参照して、オフの場合はステップＳ１２に進み、オンの場合はステップＳ５に進む。
【０１２７】
ステップＳ１２では、プロセッサ２３は、バーコード２１を読み込み中であることを示すリード中フラグを参照して、オンの場合はステップＳ１３に進み、オフの場合はステップＳ１４に進む。ステップＳ１３では、プロセッサ２３は、リード中である旨のテレビジョンモニタ３への表示のための画像情報（画像データ格納位置情報及び表示位置情報など）をメインメモリ１１７に設定する。一方、ステップＳ１４では、プロセッサ２３は、待機中である旨の表示のための画像情報（画像データ格納位置情報及び表示位置情報など）をメインメモリ１１７に設定する。
【０１２８】
ステップＳ４でリード終了の場合、ステップＳ５にて、プロセッサ２３は、読み込んだバーコード２１のデータ（つまり、配列Ａ）を解析する。
【０１２９】
図１２は、図１０のステップＳ５のデータ解析処理の流れを示すフローチャートである。図１２を参照して、ステップＳ７０にて、プロセッサ２３は、検知ユニット２５の出力信号７１の立下りエッジの検出回数を計数するカウンタＣＥが２２以下か否かを判断する。カウンタＣＥが２２以下の場合は、ストップビット４７が検出されていないので、読み取りエラーとすべく、プロセッサ２３は、図１０のステップＳ１５に進む。カウンタＣＥが２２を超えている場合は、ストップビット４７は検出されているので、データ解析を行うべく、プロセッサ２３は、ステップＳ７１に進む。
【０１３０】
ステップＳ７１にて、プロセッサ２３は、配列Ａの要素番号を示す変数ｎが「０」か否かを判断する。変数ｎが「０」のときの配列Ａの要素Ａ［０］は、スタートビット４１の最初の黒色バーの後端エッジから次の黒色バーの後端エッジまでの距離２ｗに相当する時間である。つまり、要素Ａ［０］はスタートビット４１に関する情報であり、実体的な情報ではない。そこで、この場合、プロセッサ２３は、ステップＳ７３に進む。ステップＳ７３では、プロセッサ２３は、「０」を配列Ｄの要素Ｄ［０］として格納し、ステップＳ７４に進む。なぜなら、スタートビット４１の最初の黒色バーの後端エッジから次の黒色バーの後端エッジまでの距離２ｗは、「０」を示す単位データビット３５の幅２ｗと同一であるため、スタートビット４１の最初の黒色バーの後端エッジから次の黒色バーの後端エッジまでの距離２ｗに相当する時間を、「０」と判定するための基準とするためである。
【０１３１】
ステップＳ７１で変数ｎが１以上のときは、ステップＳ７４にて、プロセッサ２３は、変数ｎを１つインクリメントする。ステップＳ７５にて、プロセッサ２３は、配列Ｄの要素Ｄ［ｎ−１］が「０」か否かを判断し、「０」の場合はステップＳ７６に進み、「０」でない場合、つまり、「１」の場合ステップＳ８０に進む。
【０１３２】
ステップＳ７６では、プロセッサ２３は、配列Ａの要素Ａ［ｎ−１］に１．２５を乗じて、閾値Ｔｈ０とする。つまり、１つ前の単位データビットが「０」を示す単位データビット３５である場合、その単位データビット３５の幅２ｗに相当する時間である要素Ａ［ｎ−１］に１．２５を乗じて、閾値Ｔｈ０とする。１つ前が、スタートビット４１の場合も同様に、スタートビット４１の最初の黒色バーの後端エッジから最後尾の黒色バーの後端エッジまでの長さ２ｗに相当する時間である要素Ａ［０］に１．２５を乗じて、閾値Ｔｈ０とする。
【０１３３】
そして、ステップＳ７７にて、プロセッサ２３は、配列Ａの要素Ａ［ｎ］が閾値Ｔｈ０より小さいか否かを判断し、小さい場合は今回の単位データビットが「０」を示す単位データビット３５であるとし、ステップＳ７９に進む。ステップＳ７９では、プロセッサ２３は、「０」を配列Ｄの要素Ｄ［ｎ］として格納する。一方、プロセッサ２３は、配列Ａの要素Ａ［ｎ］が閾値Ｔｈ０より小さくない場合は今回の単位データビットが「１」を示す単位データビット３６であるとし、ステップＳ７８に進む。ステップＳ７８では、プロセッサ２３は、「１」を配列Ｄの要素Ｄ［ｎ］として格納する。
【０１３４】
ステップＳ７５で配列Ｄの要素Ｄ［ｎ−１］が「１」の場合、ステップＳ８０にて、プロセッサ２３は、配列Ａの要素Ａ［ｎ−１］に０．７５を乗じて、閾値Ｔｈ１とする。つまり、１つ前の単位データビットが「１」を示す単位データビット３６である場合、その単位データビット３６の幅３ｗに相当する時間である要素Ａ［ｎ−１］に０．７５を乗じて、閾値Ｔｈ１とする。
【０１３５】
そして、ステップＳ８１にて、プロセッサ２３は、配列Ａの要素Ａ［ｎ］が閾値Ｔｈ１より大きいか否かを判断し、大きい場合は今回の単位データビットが「１」を示す単位データビット３６であるとし、ステップＳ８２に進む。ステップＳ８２では、プロセッサ２３は、「１」を配列Ｄの要素Ｄ［ｎ］として格納する。一方、プロセッサ２３は、配列Ａの要素Ａ［ｎ］が閾値Ｔｈ１より大きくない場合は今回の単位データビットが「０」を示す単位データビット３５であるとし、ステップＳ８３に進む。ステップＳ８３では、プロセッサ２３は、「０」を配列Ｄの要素Ｄ［ｎ］として格納する。
【０１３６】
ステップＳ８４では、プロセッサ２３は、変数ｎが値（ＣＥ−３）に等しいか否かを判断し、「ＮＯ」の場合ステップＳ７１に戻り、「ＹＥＳ」の場合メインルーチンにリターンする。ｎ＝ＣＥ−３は、バーコード２１の最後尾の黒色バーまで、対応するデータが配列Ｄに格納されたことを意味する。
【０１３７】
ここで、ステップＳ７６では、要素Ａ［ｎ−１］に１．２５を乗じている。理由は次の通りである。前回と今回の単位データビットが単位データビット３５の場合において、トレーディングカード１７のスライド速度が減速した場合、もし、要素Ａ［ｎ−１］をそのまま閾値Ｔｈ０とするならば、単位データビット３５の長さに相当する要素Ａ［ｎ］が閾値Ｔｈ０より大きいと判断され、単位データビット３５が「１」として要素Ｄ［ｎ］に格納されてしまう。この誤認識を回避するために、プラス２５％のマージンを持たせたのである。なお、どのくらいのマージンを持たせるかは、プラス２５％に限らず、経験的に定めることができる。ちなみに、トレーディングカード１７のスライド速度が加速した場合は、上記のケースでは、問題なく単位データビット３５が「０」と認識される。
【０１３８】
また、ステップＳ８０では、要素Ａ［ｎ−１］に０．７５を乗じている。理由は次の通りである。前回と今回の単位データビットが単位データビット３６の場合において、トレーディングカード１７のスライド速度が加速した場合、もし、要素Ａ［ｎ−１］をそのまま閾値Ｔｈ１とするならば、単位データビット３６の長さに相当する要素Ａ［ｎ］が閾値Ｔｈ１より小さいと判断され、単位データビット３６が「０」として要素Ｄ［ｎ］に格納されてしまう。この誤認識を回避するために、マイナス２５％のマージンを持たせたのである。なお、どのくらいのマージンを持たせるかは、マイナス２５％に限らず、経験的に定めることができる。ちなみに、トレーディングカード１７のスライド速度が減速した場合は、上記のケースでは、問題なく単位データビット３６が「１」と認識される。
【０１３９】
図１０に戻って、ステップＳ６では、プロセッサ２３は、スタートビット４１及びストップビット４７に基づいてエラーチェックを行う。具体的には、プロセッサ２３は、配列Ｄから、スタートビット４１が示すデータを格納している要素Ｄ［０］及びストップビット４７が示すデータを格納している要素Ｄ［２０］を取得する。そして、プロセッサ２３は、要素Ｄ［０］が「１」及び／又は要素Ｄ［２０］が「０」の場合は、エラーと判断して、ステップＳ１５に進み、それ以外は、つまり、要素Ｄ［０］が「０」かつ要素Ｄ［２０］が「１」の場合はステップＳ７に進む。
【０１４０】
ステップＳ７にて、プロセッサ２３は、チェックサム４５に基づいてエラーチェックを行う。具体的には、プロセッサ２３は、データビット４３に対応する配列Ｄの要素Ｄ［１］〜Ｄ［１５］に含まれる「０」の数と、要素Ｄ［１６］〜Ｄ［１９］であるチェックサム４５が示す「０」の数と、を比較して、両者が一致しない場合は、エラーと判断して、ステップＳ１５に進み、それ以外はステップＳ８に進む。
【０１４１】
ステップＳ８では、プロセッサ２３は、ダミービット４９に基づいてエラーチェックを行う。
【０１４２】
図１３は、図１０のステップＳ８のダミービット４９によるエラーチェック処理の流れを示すフローチャートである。図１３を参照して、ステップＳ１００にて、プロセッサ２３は、変数ｉに「２０」を代入する。ステップＳ１０１にて、プロセッサ２３は、変数ｉを１つインクリメントする。
【０１４３】
ステップＳ１０２にて、プロセッサ２３は、配列Ｄの要素Ｄ［ｉ］が「１」か否かを判断する。プロセッサ２３は、要素Ｄ［ｉ］が「１」の場合は、単位ダミービット５０が存在すると判断して、ステップＳ１０３に進む。ステップＳ１０３では、単位ダミービット５０の数を計数するカウンタｊを１つインクリメントし、ステップＳ１０４に進む。一方、プロセッサ２３は、要素Ｄ［ｉ］が「０」の場合は、ステップＳ１０２からステップＳ１０４に直接進む。
【０１４４】
ステップＳ１０４にて、プロセッサ２３は、変数ｉがＣＥ−３に等しいか否かを判断し、等しい場合は、ステップＳ１０５に進み、それ以外はステップＳ１０１に戻る。このようにして、読み込んだバーコード２１に含まれる単位ダミービット５０の数を計数する。
【０１４５】
ステップＳ１０５にて、プロセッサ２３は、図７のテーブルを参照して、カウンタｊの値の正当性をチェックする。
【０１４６】
つまり、プロセッサ２３は、ステップＳ５のデータ解析の結果得られたトレーディングカード１７のＩＤ（つまり、要素Ｄ［１］〜Ｄ［８］）をインデックスとして、テーブルを参照し、そのＩＤに関連付けられた単位ダミービット５０の数を示す情報を取得する。そして、プロセッサ２３は、ステップＳ５のデータ解析の結果に基づく単位ダミービット５０の数を示すカウンタｊの値と、テーブルから取得した単位ダミービット５０の数の情報と、を比較する。ステップＳ１０６にて、プロセッサ２３は、両者が不一致の場合は、エラーと判断して、図１０のステップＳ１５に進み、両者が一致する場合はスキャンが成功したと判断して、メインルーチンにリターンする。
【０１４７】
図１０に戻って、ステップＳ９にて、プロセッサ２３は、スキャンしたトレーディングカード１７が示す選手キャラクタの能力値を設定する。具体的には、プロセッサ２３は、スキャンしたトレーディングカード１７のＩＤ（つまり、要素Ｄ［１］〜Ｄ［８］）をインデックスとして、上記した能力テーブルを参照して、そのＩＤに関連付けられた能力値を取得し、選手キャラクタの能力値を再設定する。
【０１４８】
この場合、プロセッサ２３は、プレイヤ特定フラグが第１プレイヤを示している場合は、第１プレイヤの選手キャラクタに対して能力値を再設定する。一方、プロセッサ２３は、プレイヤ特定フラグが第２プレイヤを示している場合は、第２プレイヤの選手キャラクタに対して能力値を再設定する。プロセッサ２３は、選手キャラクタの能力値を再設定した後に、プレイヤ特定フラグの値を異なるプレイヤを示す値にセットする。このようにして、第１プレイヤの選手キャラクタに対する能力設定と第２プレイヤに対する能力設定とが交互に行われる。
【０１４９】
ステップＳ１０では、プロセッサ２３は、バーコード２１をスキャンするための再設定を行う。具体的には、プロセッサ２３は、図１０〜図１３の処理で使用される全ての変数及びカウンタを初期化（０を代入）するとともに、全てのフラグをオフ（クリア）にする。ただし、プレイヤ特定フラグの値は維持される。また、プロセッサ２３は、使用する全ての配列の全ての要素を「０」に設定する。さらに、プロセッサ２３は、ステップＳ２と同様にエッジトリガをイネーブルにする。ステップＳ１１にて、プロセッサ２３は、テレビジョンモニタ３に次のプレイヤのトレーディングカード１７のスキャンができる旨の表示をすべく、画像情報（画像データ格納位置情報及び表示位置情報など）をメインメモリ１１７に設定する。
【０１５０】
ステップＳ１７にて、プロセッサは、ビデオ同期信号による割り込みが発生した場合はステップＳ１８に進み、それ以外は同じステップＳ１７に進む。ビデオ同期信号による割り込みが発生すると、プロセッサ２３は、ステップＳ１８にて、ステップＳ１１，Ｓ１３，Ｓ１４又はＳ１６でセットされた画像情報に基づいて、テレビジョンモニタ３の画面（ビデオフレーム）を更新すると共に、ステップＳ１９にて、音声処理を実行し、音楽や効果音を出力する。そして、プロセッサ２３は、ステップＳ３に戻る。
【０１５１】
ここで、ＰＫモードについて簡単に説明する。このモードでは、プレイヤが自分のトレーディングカード１７をゲーム機１Ａにスキャンさせる。そして、ゲーム機１Ａは、バーコード２１のデータビット４３の第８〜第１４ビットの情報をＰＫ対戦に利用する。データビット４３の第８〜第１４ビットの情報は、そのトレーディングカード１７に対応する選手キャラクタのＰＫに関する能力値を示している。従って、ゲーム機１Ａは、その能力値に基づいて、ＰＫの成功及び失敗を決定する。
【０１５２】
さて、以上のように、本実施の形態では、絵柄が異なるトレーディングカード１７間において各トレーディングカード１７を識別するためにバーコード２１を利用している。そして、各トレーディングカード１７のデータビット４３の全長に応じて、適切な長さのダミービット４９を付加し、又は、付加しない。このように、ダミービットによって、全種類のバーコード２１の全長を揃えている。その結果、各トレーディングカード１７に付されたバーコード２１間で見た目の統一性を図ることができる。また、肉眼でのバーコード２１の内容の認識を困難にすることができる。
【０１５３】
特に、本実施の形態では、広狭２つの単位データビット３５及び３６を用いてデータビット４３を構成するので、バーコード２１間でデータビット４３の広狭が発生し、しかも、目立ち易い。それ故、ダミービット４９を付加することの上記意義がより大きくなる。最も極端な例は、あるデータビット４３が全て単位データビット３５からなり、別のデータビット４３が全て単位データビット３６からなる場合であり、この場合は、双方の全長の差が最も大きい。
【０１５４】
一般に、トレーディングカードは、それに付された絵柄が重要な要素であり、その絵柄がコレクターの収集意欲を喚起する要因の１つでもある。従って、ダミービット４９を付加して、トレーディングカード１７間でバーコード２１の全長を揃え、見た目を良くする意義は大きい。
【０１５５】
また、本実施の形態では、単位ダミービット５０の幅４ｗは、単位データビット３５の幅２ｗ及び単位データビット３６の幅３ｗと異なる。このため、バーコード２１の見た目のバリエーションを増やすことができる。特に、本実施の形態では、広狭２つの単位データビット３５及び３６を用いてデータビット４３を構成するので、もし、単位ダミービット５０の幅が、これらのうちのどれかと同じならば、見た目のバリエーションが少なくなる。
【０１５６】
さらに、本実施の形態では、単位ダミービット５０の幅４ｗは、ストップビット４７の幅３ｗより大きい。このため、ストップビット４７の直後の単位ダミービット５０の誤認識を極力防止できる。
【０１５７】
さらに、バーコード２１の情報には、データビット４３の情報及びダミービット４９の情報が含まれるところ、本実施の形態では、広義のデータビット（スタートビット４１、データビット４３、チェックサム４５、及びストップビット４７）のビット数（２１）の情報が予め設定されている（ステップＳ１００及びＳ１０１）。従って、プロセッサ２３は、データビット４３の情報とダミービット４９の情報との境界を容易に認識でき、それ故、配列Ｄから容易にダミービット４９の情報を抽出できる（ステップＳ１０２）。
【０１５８】
さらに、本実施の形態では、チェックサム４５に基づくエラーチェック加えて、ダミービット４９基づくエラーチェックをも行っている。このように、ダミービット４９を装飾目的だけでなく、エラーチェックのためにも利用している。その結果、得られたデータの信頼性が向上する。
【０１５９】
なお、本考案は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で、種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０１６０】
（１）ダミービット４９に代えて、図画、文字、数字及び／又は記号をデータビット（広義）に付加することもできる。これによって、より装飾的効果を高めることができる。
【０１６１】
（２）上記では、２種類の単位データビット３５及び３６を用いて、データを二進法により表現した。ただし、３種類以上の単位データビット３５及び３６を用いてデータを表現してもよい。また、単位データビット３５及び３６は、それぞれ１つのバーと１つのスペースとの組み合わせにより構成したが、これに限定されず、複数のバー及び複数のスペースにより、１つの単位データビットを構成することもできる。つまり、本考案は、バーコードの構造にほとんど依存しない。
【０１６２】
（３）上記では、バーコード２１を光学的に走査して、得られた信号７１の立下りエッジを検知して、単位データビット３５及び３６等の幅を測定し、その幅の長短によって「０」か「１」かを判別した。ただし、そのような解析方法に限らず、立ち上がりエッジを検知してもよいし、双方を検知してもよいし、また、磁気的な走査方法であったり、バーコード２１全体を撮像して、得られた映像を処理する方法であってもよい。つまり、本考案は、走査方法にはほとんど依存しない。
【０１６３】
（４）上記では、単位データビット３５及び３６等の幅を計測して、０か１かを判定している。従って、同じ種類の単位データビット間で、スペースの幅とバーの幅との合計幅が同じならば、スペース及びバーの幅をそれぞれ任意に設定できる。この点、単位ダミービットについても同様である。
【０１６４】
（５）上記では、ダミービット４９をデータビット（広義）の後に付加した。ただし、ダミービット４９をデータビット（広義）の前に付加することもできる。
【０１６５】
（６）上記では、単位ダミービット５０を１種類用意した。ただし、複数種類の単位ダミービットを使用することもできる。
【０１６６】
（７）上記では、１次元バーコードを例に挙げたが、本考案を２次元バーコードに適用することもできる。
【符号の説明】
【０１６７】
１Ａ，１Ｂ…ゲーム機、３…テレビジョンモニタ、５…Ａ／Ｖケーブル、６…ケーブル、１７…トレーディングカード、２１…バーコード、２３…プロセッサ、２５…検知ユニット、４１…スタートビット、４３…データビット、４５…チェックサム、４７…ストップビット、４９…ダミービット。
【図１】
0003152712.tif 000003
【図２】
0003152712.tif 000004
【図３】
0003152712.tif 000005
【図４】
0003152712.tif 000006
【図５】
0003152712.tif 000007
【図６】
0003152712.tif 000008
【図７】
0003152712.tif 000009
【図８】
0003152712.tif 000010
【図９】
0003152712.tif 000011
【図１０】
0003152712.tif 000012
【図１１】
0003152712.tif 000013
【図１２】
0003152712.tif 000014
【図１３】
0003152712.tif 000015
【手続補正書】
【提出日】平成21年6月8日(2009.6.8)
【手続補正１】
【補正対象書類名】実用新案登録請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【実用新案登録請求の範囲】
【請求項１】
バーコードが付されたバーコード付き物品であって、
前記バーコードは、実体的な情報を表すデータビットと、前記実体的な情報を表さないダミービットと、を含み、前記バーコードの全長が所定長を基準に所定範囲に属するように、前記データビットに前記ダミービットが付加され、前記データビットは、スペースとバーとの組み合わせからなり、前記ダミービットは、スペースとダミーバーとの組み合わせからなることを特徴とする、バーコード付き物品。
【請求項２】
前記データビットは、合計幅が第１の所定幅からなる前記スペース及び前記バーから構成される第１の単位データビット、合計幅が前記第１の所定幅より大きい第２の所定幅からなる前記スペース及び前記バーから構成される第２の単位データビット、又はそれらの組み合わせからなり、前記第１の単位データビットは、論理０あるいは論理１のいずれかを示し、前記第２の単位データビットは、前記第１の単位データビットが示す論理と逆の論理を示す、請求項１記載のバーコード付き物品。
【請求項３】
前記ダミービットは、単数又は複数の単位ダミービットからなり、前記単位ダミービットは、合計幅が第３の所定幅からなる前記スペース及び前記ダミーバーから構成され、前記第３の所定幅は、前記第１の所定幅及び前記第２の所定幅と異なる、請求項２記載のバーコード付き物品。
【請求項４】
前記ダミービットに代えて、図画、文字、数字及び／又は記号を前記データビットに付加する、請求項１から３のいずれか一つに記載のバーコード付き物品。
【請求項５】
前記バーコード付き物品は、トレーディングカードである、請求項１から４のいずれか一項に記載のバーコード付き物品。
【請求項６】
請求項１から５のいずれか一項に記載のバーコード付き物品に付された前記バーコードを読み取るバーコード読取装置であって、
前記バーコードをスキャンし、そのバーコードに応じた電気信号を出力するスキャン手段と、
前記バーコードに応じた前記電気信号を解析して、前記バーコードが表す情報を取得する解析手段と、
前記バーコードが表す前記情報から前記ダミービットが表す情報を抽出して、抽出した前記ダミービットが表す前記情報に基づいてエラーチェックを行うエラーチェック手段と、を備えるバーコード読取装置。
【請求項７】
前記バーコードに含まれる前記ダミービットのビット数の情報とそのバーコードの前記データビットが表す前記実体的な情報とを関連付けたテーブルをさらに備え、
前記エラーチェック手段は、スキャンされた前記ダミービットのビット数を計数し、その計数値及びスキャンされた前記データビットの前記実体的な情報と、前記テーブルに格納された前記ダミービットのビット数の前記情報及び前記データビットが表す前記実体的な情報と、に基づいて、エラーの有無を判定する、請求項６記載のバーコード読取装置。
【請求項８】
前記エラーチェック手段は、予め設定された情報に基づいて、前記バーコードが表す前記情報から前記ダミービットが表す前記情報を抽出する、請求項６又は７記載のバーコード読取装置。
【請求項９】
前記予め設定された情報は、前記データビットのビット数の情報である、請求項８記載のバーコード読取装置。
【請求項１０】
前記エラーチェック手段は、前記データビットに含まれるチェックサムの情報に基づいてエラーチェックを行う、請求項６から９のいずれか一項に記載のバーコード読取装置。