カード読取装置及びバーコード読取方法
【課題】低価格で提供でき、しかも、遊戯カードの読み取り速度が変動しても正確に読み取ることができるカード読取装置を提供する。
【解決手段】複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、細太測定手段により判定された結果に基づいて、バーコードにおける細いバーと太いバーの並びによるパターンを解析し、パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、細太判定手段は、幅測定手段により測定された第1のバーの幅と、第1のバーに隣接し、第1のバーよりも前に測定された第2のバーの幅とに基づき、第2のバーの幅H2に対する第1のバーの幅H1の比Rの値に応じて、第1のバーと第2のバーの細太判定をする。
【解決手段】複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、細太測定手段により判定された結果に基づいて、バーコードにおける細いバーと太いバーの並びによるパターンを解析し、パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、細太判定手段は、幅測定手段により測定された第1のバーの幅と、第1のバーに隣接し、第1のバーよりも前に測定された第2のバーの幅とに基づき、第2のバーの幅H2に対する第1のバーの幅H1の比Rの値に応じて、第1のバーと第2のバーの細太判定をする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遊戯カード等のカードに記録されたバーコード等を読み取るカード読取装置及びバーコード読取方法に関する。
【背景技術】
【0002】
遊戯カードとしては従来からトランプカードが一般的であるが、トレーディングカードなどの各種遊戯カードを用いたゲームも人気を集めている。
【0003】
遊戯カードを用いたゲームシステムとして、甲虫の対戦をテーマとしたゲームシステム(「甲虫王者ムシキング」(登録商標))がある。遊戯カードを遊戯装置に読み込ませ、甲虫同士を闘わせるカード格闘ゲームである。
【0004】
遊戯カードを用いた女児向けのゲームシステムとして、着せ替え遊びをテーマとしたゲームシステム(「オシャレ魔女ラブandベリー」(登録商標))がある。遊戯カードを遊戯装置に読み込ませ、キャラクタに着せ替えを行うカード着せ替えゲームである。
【0005】
これらゲームシステムは、ゲームセンタ等に設置された所謂アーケード型ゲーム装置により行われている。しかしながら、アーケード型ゲーム装置だけのゲームでは飽き足りなくなり、携帯用ゲーム装置や、家庭用ゲーム装置等でも同様のゲームを行いたいとの需要が高まってきている。
【0006】
しかしながら、遊戯カードを用いたゲームを携帯用ゲーム装置や家庭用ゲーム装置用のゲームソフトとして提供する場合には、遊戯カードを読み込むためのカードリーダを附属させる必要がある。
【0007】
カードリーダとして、例えば、特許文献1、特許文献2、特許文献3に記載されたものが知られている。
【特許文献1】特開平5−62005号公報
【特許文献2】特開平5−101214号公報
【特許文献3】特開平8−202798号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、携帯用ゲーム装置や家庭用ゲーム装置用のゲームソフトに附属させるカードリーダは、ゲームソフトとしての価格の制約から、アーケード型ゲーム装置のカードリーダに比べて非常に低価格で提供する必要がある。しかしながら、従来のカードリーダ、例えば、特許文献3のカードリーダは、光源のビームスポットの大小による読み取り誤差を補正するためのロジック回路が複雑であるためゲート数が多くなり、高コストであった。
【0009】
一方、家庭内で用いられるために、カードの読み取り環境が良好であることは期待できない。特に、遊戯カードの読み取り速度については、アーケード型ゲーム装置の場合よりも変動が大きい可能性があり、アーケード型ゲーム装置のカードリーダに比べて少なくとも同等又はそれ以上の性能が求められる。
【0010】
本発明の目的は、低価格で提供でき、しかも、遊戯カードの読み取り速度が変動しても正確に読み取ることができる高性能なカード読取装置及びバーコード読取方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の一態様によるカード読取装置は、複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、前記細太判定手段は、前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定することを特徴とする。
【0012】
上述したカード読取装置において、定数Aは、1.25〜1.50の範囲の値であり、定数Bは、0.6250〜0.8125の範囲の値であるようにしてもよい。
【0013】
本発明の他の態様によるカード読取装置は、複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、前記幅測定手段により第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とが測定され、前記細太判定手段により前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正する幅補正手段を更に有することを特徴とする。
【0014】
上述したカード読取装置において、定数Cは、0.750〜0.875の範囲の値であるようにしてもよい。
【0015】
上述したカード読取装置において、前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定するようにしてもよい。
【0016】
本発明の一態様によるバーコード読取方法は、複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップとを有するバーコード読取方法であって、前記第1のステップは、前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定することを特徴とする。
【0017】
上述したバーコード読取方法において、定数Aは、1.25〜1.50の範囲の値であり、定数Bは、0.6250〜0.8125の範囲の値であるようにしてもよい。
【0018】
本発明の他の態様によるバーコード読取方法は、複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップとを有するバーコード読取方法であって、前記第1のステップでは、第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とを測定し、前記第2のステップでは、前記第1のステップで前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正することを特徴とする。
【0019】
上述したバーコード読取方法において、定数Cは、0.750〜0.875の範囲の値であるようにしてもよい。
【0020】
上述したバーコード読取方法において、前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定するようにしてもよい。
【発明の効果】
【0021】
本発明によれば、複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、細太測定手段により判定された結果に基づいて、バーコードにおける細いバーと太いバーの並びによるパターンを解析し、パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、細太判定手段は、幅測定手段により測定された第1のバーの幅と、第1のバーに隣接し、第1のバーよりも前に測定された第2のバーの幅とに基づき、第2のバーの幅H2に対する第1のバーの幅H1の比Rの値に応じて、第1のバーと第2のバーの細太判定をするようにしたので、低価格で提供でき、しかも、遊戯カードの読み取り速度が変動しても正確に読み取ることができる。
【発明を実施するための最良の形態】
【0022】
[一実施形態]
本発明の一実施形態によるカード読取装置について、以下、図面を用いて説明する。
【0023】
(ゲーム装置)
本実施形態のカード読取装置を用いたゲーム装置を図1及び図2に示す。図1は本実施形態のゲーム装置の外観を示す図であり、図2は本実施形態のゲーム装置の構成を示すブロック図である。
【0024】
(ゲーム装置の外観)
本実施形態のゲーム装置として、物理的に二つの表示画面を有し、一方の表示画面がタッチパネルに覆われている携帯型ゲーム装置を一例に上げて説明する。
【0025】
ゲーム装置10は、第1表示画面11aを有する第1LCD11と、第2表示画面12aを有する第2LCD12とを備えている。第1表示画面11aは、第2表示画面12aとは物理的に異なった表示画面であり、第2表示画面12aとは所定間隙を隔てて設けられている。
【0026】
第1表示画面11aの左右両側には、ゲーム音楽や音声を出力するためのスピーカ15a、15bが設けられている。
【0027】
第2表示画面12aの表面は、タッチパネル13によって覆われている。第2表示画面12aの右側には、プレイヤの右手によって操作可能な位置に、Aボタン14a、Bボタン14b、Xボタン14c、Yボタン14d、スタートボタン14e、セレクトボタン14fが設けられている。第2表示画面12aの左側には、プレイヤの左手によって操作可能な位置に、十字キー14gが設けられている。
【0028】
ゲーム装置10には、タッチパネル13に対する入力を行うためのスタイラス(図示せず)が設けられ、スタイラスはゲーム装置10内に着脱自在に収納されている。
【0029】
タッチパネル13の位置検出精度が高い場合にはスタイラスを利用することが有効であるが、位置検出精度が低い場合にはスタイラスを利用する必要がなく、例えばプレイヤの指によってタッチパネル13の入力を行うことも可能である。
【0030】
また、タッチパネル13は、抵抗膜式、光学式、超音波式、静電容量式、電磁誘導式などのいずれの方式でもよく、特に抵抗膜式が低コストであるため有利である。また、検出方式は、その構成によりマトリクス方式(デジタル)および抵抗値検出方式(アナログ)のいずれであってもかまわない。
【0031】
ゲーム装置10の第1LCD11側の上端にはコネクタ16が設けられ、ゲームのソフトウエアが記憶されたカートリッジ18が接続される。
【0032】
ゲーム装置10の第2LCD12側の下端にはコネクタ17が設けられ、遊戯カードを読み込むためのカード読取装置19が接続される。
【0033】
(ゲーム装置の構成)
ゲーム装置10の回路基板20は、ゲームプログラムを実行するためのコンピュータの一例であるCPUコア21等を備える。CPU(中央処理装置)コア21には、WRAM(作業用記憶装置)22、第1GPU(画像処理装置)24、第2GPU26、およびI/F(インターフェイス)回路27が所定のバスを介して電気的に接続される。
【0034】
第1GPU24と第2GPU26には、座標系を有するメモリがある。
【0035】
WRAM22は、CPUコア21によって実行されるゲームプログラムや、CPUコア21の演算結果などを一次的に記憶するメモリである。
【0036】
第1GPU24は、CPUコア21からの指示に応じて第1LCD11に表示出力するための第1ゲーム画像を第1VRAM(ビデオRAM)23に描画し、描画した当該第1ゲーム画像を第1LCD11の第1表示画面11aに表示させる。
【0037】
第2GPU26は、CPUコア21からの指示に応じて第2LCD12に表示出力するための第2ゲーム画像を第2VRAM25に描画し、描画した当該第2ゲーム画像を第2表示画面12aに表示させる。
【0038】
I/F回路27は、タッチパネル13、操作スイッチ部14、およびスピーカ15などの外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。
【0039】
タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応する座標系を有し、スタイラスやプレイヤの指などによって入力(指示)された位置に対応する位置座標のデータを出力する。
【0040】
なお、本実施形態では、一例として第1表示画面11aおよび第2表示画面12aの解像度を、それぞれ192dot×256dotであるとする。また、タッチパネル13の検出精度も第2表示画面12aに対応した192dot×256dotとして説明するが、タッチパネル13の検出精度は表示画面の解像度よりも低いものであってもよい。
【0041】
さらに、CPUコア21にはコネクタ16、17が電気的に接続されている。コネクタ16にはカートリッジ18が着脱可能に接続され、コネクタ17にはカード読取装置19が着脱可能に接続されている。
【0042】
カートリッジ18には、ゲームプログラムを記憶するROM18a、バックアップデータを書き換え可能に記憶するRAM18bが設けられている。
【0043】
カートリッジ18のROM18aに記憶されたゲームプログラムは、WRAM22にロードされ、WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。
【0044】
(遊戯カード)
本実施形態のゲーム装置で用いる遊戯カードの一例を図3に示す。
【0045】
本実施形態の遊戯カードは、トランプサイズと呼ばれる縦88mmで横63mmの厚手の紙製のカードである。本実施形態では3種類の遊戯カード(オシャレ魔法カード)が用意されている。頭部のおしゃれをするヘア&メイクアップカードと、胴体部のおしゃれをするドレスアップカードと、足部のおしゃれをするフットウエアカードである。
【0046】
図3に示す遊戯カードは、3種類の遊戯カードのうち、頭部のおしゃれをするヘア&メイクアップカードである。図3(a)はヘア&メイクアップカード30の表面を示し、図3(b)はヘア&メイクアップカード30の裏面を示している。
【0047】
図3(a)に示すように、ヘア&メイクアップカード30の表面左上部には、カードの属性を表す属性欄31が設けられている。図3(a)では、属性欄31に「H」というデザイン文字がハート中に描かれている。
【0048】
ヘア&メイクアップカード30の表面上縁部には、カードの属性名が記された属性名表記欄32が設けられている。図3(a)では、属性名称欄32に「ヘア&メイクアップカード」と記されている。
【0049】
ヘア&メイクアップカード30の表面属性名表記欄32の右横には、3桁−3桁の数字のアイテム番号が記されたアイテム番号欄33が設けられている。図3(a)では、アイテム番号欄33に「001−04A」と記されている。
【0050】
ヘア&メイクアップカード30の表面左縁部には、ゲーム装置10のカード読取装置19によるカード読取のためのバーコードが描かれたバーコード欄34aが設けられている。バーコード欄34aのバーコードはカード30の左縁にバーが接している。
【0051】
ヘア&メイクアップカード30の表面中央には、カードのアイテム番号に対応した顔部分が描かれる肖像画欄35と、コメントが記されたコメント欄36が設けられている。図3(a)では、肖像画欄35に「さらさらロングヘア」の絵柄が描かれ、コメント欄36に「どんなコーデにも合うていばんヘアだよね。ナチュラルメイクでせいそにきめるよ。」と記されている。
【0052】
ヘア&メイクアップカード30の表面右上部のアイテム番号欄33の下部には、カードのアイテム番号に対応した名称が描かれる名称欄37aが設けられている。図3(a)では、名称欄37aに「さらさらロング」と記されている。
【0053】
ヘア&メイクアップカード30の表面下縁部には、カードのアイテム番号に対応した名称が描かれる名称欄37bが設けられている。図3(a)では、名称欄37bに「SARASARA LONG」と記されている。
【0054】
ヘア&メイクアップカード30の表面右縁部には、本遊戯の遊戯名称が表記された遊戯名称欄38aが設けられている。図3(b)では、遊戯名称欄38aに「Osharemajo Love & Berry」と記されている。なお、海外版では、遊戯名称欄38aに「LOVE AND BERRY Dress up and Dance!」と記されている。
【0055】
図3(b)に示すように、ヘア&メイクアップカード30の裏面右縁部には、ゲーム装置10のカード読取装置19によるカード読取のためのバーコードが描かれたバーコード欄34bが設けられている。このバーコード欄34bは、ヘア&メイクアップカード30の表面のバーコード欄34aと対応していて、同じバーコードの長さ、幅、内容は同じである。バーコード欄34bのバーコードはカード30の左縁にバーが接している。
【0056】
ヘア&メイクアップカード30の裏面上部には、本遊戯の遊戯名称が表記された遊戯名称欄38bが設けられている。ヘア&メイクアップカード30の裏面中央には、本遊戯の代表的肖像が描かれた肖像画欄39が設けられている。図3(b)では、遊戯名称欄38bに「オシャレ魔女ラブandベリー」(登録商標)と記され、肖像画欄39に統一した絵柄の肖像が描かれている。なお、海外版では、遊戯名称欄38bに、「LOVE AND BERRY Dress up and Dance!」と記されている。
【0057】
なお、図3では、表面のバーコード欄34aや裏面のバーコード欄34bのように、バーコード表示専用の領域を設け、この領域内にバーコードを印刷している。このバーコードは、黒色の太線又は細線(バー)が所定の間隔(スペース)を挟んで配置されている。本実施形態では、表面のバーコード欄34aや裏面のバーコード欄34bの地色を白色とし、それに黒色のバーを印刷している。
【0058】
本実施形態では、バーは黒色でスペースは白色であったが、バーとスペースが識別することができれば如何なる色の組合せでもよい。スペースの「白色」としては、白に限定されず発光素子の色を反射する色であればよいし、バーの「黒色」としては、黒に限定されず発光素子の色を吸収する色であればよい。
【0059】
例えば、発光素子の色が赤色の場合は、スペースの「白色」は、赤色又は赤成分が多い色(ピンク色など)であればよいし、バーの「黒色」は、赤の補色又はその成分が多い色(青色など)であればよい。例えば、表面のバーコード欄34aや裏面のバーコード欄34bの地色を薄い青色とし、バーを濃い赤色としてもよい。
【0060】
また、スペースの「白色」や、バーの「黒色」は、単色でなくてもよい。例えば、グラデーションがかかった色や絵柄であってもよい。
【0061】
また、本実施形態絵では、表面のバーコード欄34aや裏面のバーコード欄34bのように境界線を記載し、その境界線内の領域をバーコード表示専用の領域としたが、そのような境界線は記載せず、遊戯カードの表面又は裏面の全面に模様や写真等の絵柄を記載し、その絵柄上にバーを印刷するようにしてもよい。
【0062】
(カード読取装置の構成)
本実施形態のカード読取装置について図1及び図4を用いて説明する。
【0063】
カード読取装置19には、図1に示すように、遊戯カード30を読み込ませるための溝19aが形成されている。溝19a内側には、遊戯カード30のバーコード欄34a、34bに記載されたバーコードを光学的に読み取るための発光素子と受光素子が設けられている。遊戯者は遊戯カード30のバーコード欄34a、34bを溝19aに差し入れ、横方向に移動してバーコード欄34bに記載されたバーコードを読取らせる。
【0064】
なお、バーコードは、黒色の太線又は細線が所定の間隔を挟んで配置されている。通常、黒色の線のことをバー、隣接するバー間の間隔のことをスペースと読んでいるが、本実施形態では、バーのことを黒バー、スペースのことを白バーと呼ぶこととする。
【0065】
また、遊戯カードの表面又は裏面の全面に模様や写真等の絵柄を記載し、その絵柄上にバーを印刷するようにした場合には、印刷したバーが黒バーであり、その黒バー間の地色(地模様)の部分が白バーとなる。
【0066】
本実施形態では、黒バーが細いか太いか、すなわち、細黒バーか、太黒バーか、白バーが細いか太いか、すなわち、細白バーか、太白バーかを判定し、それに基づいて、バーコードが示す文字コードを判定する。
【0067】
カード読取装置19の構成を図4に示す。
【0068】
カード読取装置19の溝19a内側に、遊戯カード30のバーコード欄34a、34bを照射するための発光素子40と、遊戯カード30のバーコード欄34a、34bからの反射光を受光する受光素子42とが設けられている。
【0069】
受光素子42にはバンドパスフィルタ44が接続されている。バンドパスフィルタ44は、受光素子42から出力される受光信号を濾波し、その直流成分や不要な周波数成分をカットする。
【0070】
バンドパスフィルタ44には増幅回路46が接続されている。増幅回路46は、バンドパスフィルタ44により濾波された受光信号を増幅する。
【0071】
増幅回路46には2値化処理部(幅測定部)48が接続されている。
【0072】
2値化処理部(幅測定部)48には、黒用バーカウンタ50A、白用バーカウンタ50Bと、黒用終了フラグ51A、白用終了フラグ51Bが設けられている。
【0073】
2値化処理部(幅測定部)48は、増幅回路46から出力される受光信号を所定のしきい値と比較して、所定のしきい値よりも小さいときには「黒」と判断し、所定のしきい値よりも大きいときには「白」と判断する。
【0074】
2値化処理部(幅測定部)48は、クロック信号に基づく所定周期で受光信号が黒であるか白であるかを判断する。受光信号が黒であると判断されると、黒用バーカウンタ50Aをインクリメントする。受光信号が白であると判断されると、白用バーカウンタ50Bをインクリメントする。
【0075】
走査された遊戯カード30のバーコードを読み取り、ひとつのバーの読み取りが終了したと判断されると、黒用終了フラグ51A又は白用終了フラグ51Bにフラグを立てる。例えば、黒の受光信号が連続した後に、所定時間だけ白の受光信号が連続すると、黒バーの測定が完了したと判断し、黒用終了フラグ51Aにフラグを立てる。また、白の受光信号が連続した後に、所定時間だけ黒の受光信号が連続すると、白バーの測定が完了したと判断し、白用終了フラグ51Bにフラグを立てる。
【0076】
黒用終了フラグ51Aにフラグが立ったときの黒用バーカウンタ50Aのカウンタ値が、受光素子42により黒が受光された時間、すなわち、バーコードの黒バーの幅に比例した値となる。
【0077】
白用終了フラグ51Bにフラグが立ったときの白用バーカウンタ50Bのカウンタ値が、受光素子42により白が受光された時間、すなわち、バーコードの白バーの幅に比例した値となる。
【0078】
なお、2値化処理部(幅測定部)48の処理の詳細については後述する。
【0079】
2値化処理部(幅測定部)48には細太判定部52が接続されている。細太判定部52には、黒用データメモリ54Aと白用データメモリ54Bが設けられている。
【0080】
細太判定部52は、黒用バーカウンタ50Aと白用バーカウンタ50Bに基づいて、現在読み取っている黒バー又は白バーが、太いバーであるか細いバーである判断する。黒バーの判断結果は、黒用データメモリ54Aに記憶され、白バーの判定結果は、白用データメモリ54Bに記憶される。
【0081】
走査された遊戯カード30のバーコードを読み取ると、黒用データメモリ54Aには、黒バーが細いか太いかの情報が読み取ったバーの順番に記憶され、白用データメモリ54Bには、白バーが細いか太いかの情報が読み取ったバーの順番に記憶される。黒バー及び白バーについて、例えば、「細い→太い→細い→細い→・・・・」というような情報が記憶される。なお、細太判定部52の処理の詳細については後述する。
【0082】
細太判定部52には文字コード化部56が接続されている。文字コード化部56は、CODE39等のコード化規則により定められたキャラクタのパターンを参照して、黒データメモリ54Aに記憶された黒バーの細いバーと太いバーの並びによるパターンと、白データメモリ54Bに記憶された白バーの細いバーと太いバーの並びによるパターンとに基づき、読み取ったバーコードが示す文字コードを決定する。文字コード化部56により決定された文字コードは文字コードメモリ58に記憶される。
【0083】
(カード読取処理)
本実施形態のカード読取装置によるカード読取処理の概略について図5を用いて説明する。図5は本実施形態のカード読取装置によるカード読取処理の概略を示すフローチャートである。
【0084】
遊戯者が、遊戯カード30のバーコード欄34a、34bをバーコード読取装置19の溝19aに差し入れ、横方向に移動してバーコード欄34bに記載されたバーコードを読取らせる。
【0085】
バーコード読取装置19では、発光素子40により遊戯カード30のバーコード欄34a、34bを照射し、遊戯カード30のバーコード欄34a、34bからの反射光を受光素子42により受光する。
【0086】
受光素子42からの受光信号は、バンドパスフィルタ44により濾波され、増幅回路46により増幅され、2値化処理部(幅測定部)48により2値化される。2値化処理部(幅測定部)48は、クロック信号に基づく所定周期で受光信号が黒であるか白であるかを判断し、受光信号が黒であると判断されると、黒用バーカウンタ50Aがインクリメントされ、受光信号が白であると判断されると、白用バーカウンタ50Bがインクリメントされる。
【0087】
まず、図5のフローチャートに示すように、黒用終了フラグ51A又は白用終了フラグ51Bにバー終了フラグが立ったか否かを判定する(ステップS10)。
【0088】
黒用終了フラグ51A又は白用終了フラグ51Bにバー終了フラグが立った場合には、細太判定部52により細太判定処理を行い(ステップS20)、その後、細太判定処理の結果に基づいて文字コード化部56により文字コード化処理を行う(ステップS30)。これら細太判定処理及び文字コード化処理については後述する。
【0089】
黒用終了フラグ51A又は白用終了フラグ51Bにバー終了フラグが立っていない場合には、続いて、黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローしていないか判定する(ステップS11)。
【0090】
遊戯カード30ではない白紙等が溝19a差し込まれている場合や、遊戯カード30が差し込まれているが動かされず停止している場合等には、黒又は白の受光信号が入力し続けて黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローする。この場合にはタイムアウト処理してバーコード読み取りをリセットする必要がある。
【0091】
そこで、黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローしている場合には、黒用バーカウンタ50A及び白用バーカウンタ50Bと2値化処理部48をクリアして、バーコード読み取り待ち状態にして(ステップS12)、ステップS10に戻る。
【0092】
黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローしていない場合には、通常通り、黒用バーカウンタ50A又は白用バーカウンタ50Bのカウント値をインクリメントして(ステップS13)、ステップS10に戻る。
【0093】
(細太判定処理)
次に、本実施形態のカード読取処理における細太判定処理について図6乃至図9を用いて説明する。図6は本実施形態のカード読取処理における細太判定処理の詳細を示すフローチャートであり、図7は本実施形態のカード読取処理における細太判定処理での補正処理の説明図であり、図8は本実施形態のカード読取処理における細太判定処理の原理を説明するための図であり、図9は本実施形態のカード読取処理における細太判定処理の説明図である。
【0094】
この細太判定処理の前には、2値化処理部(幅測定部)48により黒バー又は白バーの幅が測定され、今測定したバーの幅(H1)と共に、この測定したバーに隣接する直前に測定したバーの幅(H2)が、黒用バーカウンタ50A又は白用バーカウンタ50Bに格納されている。また、黒用データメモリ54A又は白用データメモリ54Bには、直前に測定したバーが細バーであるか太バーであるかが格納されている。なお、直前に測定したバーの細太判定が未だなされていない場合には何も格納されていない。
【0095】
まず、直前に測定されたバーが太バーであったか判断する(ステップ21)。直前のバーが太バーの場合には、今測定したバーの幅(H1)を補正する(ステップS22)。
【0096】
本願発明者は、例えば、図7に示すようなバーコードを読み取った場合、太バーの直後のバーは、黒バーの場合でも白バーの場合でも実際よりも太く測定されることに気がついた。
【0097】
図7に示すように、黒細バー→白細バー→黒細バー→白細バー→黒太バー→白太バー→黒太バー→白細バー→黒細バー→白細バー→黒細バー→白細バー→黒細バー、というパターンを読み取る場合、黒太バーの直後の白太バー、白太バーの直後の黒太バー、黒太バーの直後の白細バーは、本来測定されるべき正しい太さよりも太く測定される。
【0098】
このように測定される理由を、図8を用いて説明する。
【0099】
図8(a)はバーコードの具体例を示し、図8(b)は受光素子42の出力信号を示し、図8(c)はバンドパスフィルタ44の出力信号を示し、図8(d)は増幅回路46の出力信号を示している。
【0100】
図8(a)に示す実施形態では、右から2番目の白バーが太い。この太い白バーを読み取ると、白を検出している時間が長くなり、図8(b)に示すように、受光素子42の出力信号が飽和してしまう。受光信号42の出力信号が飽和すると、図8(c)に示すように、バンドパスフィルタ44の出力信号は、直流成分がカットされて基準電位に戻ろうとする。
【0101】
このため、次の黒バーの信号が入力されたときに、一点鎖線で示す通常の信号波形よりも早いタイミングで、バンドパスフィルタ44の出力信号が黒バーの閾値信号を超えてしまう。したがって、右から1番目の黒バーの幅は通常よりも太く測定され、右から2番目の白バーの幅は通常よりも細く測定される。
【0102】
そこで、本願発明者は、今測定したバーの幅(H1)に様々な定数Cを乗算して、次式
H1′=H1×C
により補正することに思い至った。本願発明者は、定数Cとして、0.375、0.500、0.625、0.750、0.8125、0.875、1.000を用意し、いずれの値が適切か実験を行った、
その実験の結果、定数Cとして、0.8125が最も適しており、0.750〜0.875の範囲の値が望ましいということがわかった。
【0103】
次に、直前のバーの幅H2に対する今測定したバーの幅H1(ステップS22で補正した場合には補正後の幅H1′)の比Rを演算する(ステップS23)。本実施形態では、この比Rの値に基づいて、今測定したバーが細バーか太バーかを決定する。
【0104】
本実施形態では、今測定したバーの幅H1を直前測定したバーの幅H2と逐次比較して次のように判断する。
(1)直前測定したバーが細バーで次のバーがある一定範囲内の大きさの場合には、今のバーも細バーであると判断する。
(2)直前測定したバーが太バーで次のバーがある一定範囲内の大きさの場合には、今のバーも太バーであると判断する。
(3)直前測定したバーが細バーで次のバーがある一定範囲を超える大きさの場合には、今のバーは太バーであると判断する。
(4)直前測定したバーが細バーで次のバーがある一定範囲を下回る大きさの場合には、今のバーは細バーであると判断する。
【0105】
具体的には、図6のフローチャートに示すように、直前のバーの幅H2に対する今測定したバーの幅H1の比R(=H1/H2)の範囲を判定し(ステップS24)、比Rが定数Aよりも小さい場合には、今のバーは太バーであり直前のバーは細バーであるとし(ステップS27)、比Rが定数Bよりも小さい場合には、今のバーは細バーであり直前のバーは太バーであるとし(ステップS25)、比Rが定数B以上で定数A以下である場合には、今のバーの細太判定を直前のバーの細太判定を同じとする(ステップS26)。
【0106】
本願発明者は、定数Aと定数Bとしてどの値が適切であるか繰り返し実験を行った。
【0107】
その実験の結果、定数Aとして、1.375が最も適しており、1.25〜1.50の範囲の値が望ましいと言うことがわかった。
【0108】
また、定数Bとして、0.75が最も適しており、0.6250〜0.8125の範囲の値が望ましいと言うことがわかった。
【0109】
図9に示すように、黒バーについて、幅100→幅90→幅200→幅160→幅140→幅95→幅85が続く場合には、次のように細太判定がなされる。
【0110】
比較(1)
今測定したバーの幅が90、直前測定したバーの幅が100(R=90/100=0.90)の場合、直前測定したバーと今測定したバーは同じと判定する(太バーか細バーかは不明)。
【0111】
比較(2)
今測定したバーの幅が200、直前測定したバーの幅が90(R=200/90=2.22)の場合、直前測定したバーは細バー、今測定したバーは太バーと判定する。この時点で比較(1)でのバーが細バーであることが判明する。
【0112】
比較(3)
今測定したバーの幅が160、直前測定したバーの幅が200(R=160/200=0.80)の場合、直前測定したバーは太バー、今測定したバーも太バーと判定する。
【0113】
比較(4)
今測定したバーの幅が140、直前測定したバーの幅が160(R=140/160=0.88)の場合、直前測定したバーは太バー、今測定したバーも太バーと判定する。
【0114】
比較(5)
今測定したバーの幅が95、直前測定したバーの幅が140(R=95/140=0.68)の場合、直前測定したバーは太バー、今測定したバーは細バーと判定する。
【0115】
比較(6)
今測定したバーの幅が85、直前測定したバーの幅が95(R=85/95=0.89)の場合、直前測定したバーは細バー、今測定したバーも細バーと判定する。
【0116】
このように本実施形態では、基準となるバーの幅を細太判定したバーの幅に逐次置き換えて判定しているので遊戯カードの走査速度が変動しても正しく測定できる。例えば、上述した比較(2)と太さ200のバーも、比較(4)における太さ140のバーも、幅として測定値は異なっていても正しく太バーと判別できる。
【0117】
(文字コード化処理)
次に、本実施形態のカード読取装置における文字コード化処理について図10及び図11を用いて説明する。図10は本実施形態のカード読取処理における文字コード化処理の詳細を示すフローチャートであり、図11はバーコード規格であるCODE39の説明図である。
【0118】
前述したように、文字コード化部56は、CODE39のコード化規則により定められたキャラクタのパターンを参照して、黒データメモリ54Aに記憶された黒バーの細いバーと太いバーの並びによるパターンと、白データメモリ54Bに記憶された白バーの細いバーと太いバーの並びによるパターンとに基づき、読み取ったバーコードが示す文字コードを決定する。
【0119】
CODE39は、図11に示すように、バーコードの最初と最後に*(アスタリスク)のコードを設け、その間に必要数(図11の例では2個)のキャラクタのデータを挿入する。*(アスタリスク)のコードは、図11に示すように決まっているので、最初の白バーと2番目の白バーを比較し、最初の黒バーと2番目の黒バーとを比較することにより、遊戯カード30の走査方向を確定することができる。
【0120】
そこで、まず、最初の白バーと2番目の白バーの比較と、最初の黒バーと2番目の黒バーの比較を同時に行う(ステップS31)。
【0121】
次に、その比較の結果から、*(アスタリスク)のコードが順方向で読まれているか判断する(ステップS32)。
【0122】
*(アスタリスク)のコードが順方向で読まれている場合には、読み取ったデータを文字コードメモリ58の上位ビットから下位ビットへ順番に格納する(ステップS33)。
【0123】
*(アスタリスク)のコードが順方向で読まれていない場合には、読み取ってデータを文字コードメモリ58の下位ビットから上位ビットへ順番に格納する(ステップS34)。
【0124】
次に、文字コードメモリ58に格納したデータをアスキーコードに変換して出力する(ステップS34)。
【0125】
なお、本実施形態では、バーコード規格としてCODE39を用いたが、他のコード規格を用いてもよい。
【0126】
[変形実施形態]
本発明は上記実施形態に限らず種々の変形が可能である。
【0127】
例えば、上記実施形態では、各遊戯者がそれぞれ着せ替え処理を行ったが、遊戯者同士がキャラクタを操作して対戦し、勝ち負けを決定するようにしてもよい。
【0128】
また、上記実施形態では、携帯用ゲーム装置を例として説明したが、家庭用ゲーム装置や、パーソナルコンピュータ、あるいは携帯電話機等を用いたゲームシステムや、ゲームセンタに設置された所謂アーケード型のゲーム装置を用いたゲームシステムにも適用することができる。
【0129】
また、上記実施形態では、カード読取装置におけるバーコード読取機能を、図4のブロック図に示すような電子回路により実現したが、その代わりに、汎用のコンピュータに専用のプログラムを読み込ませて実行することにより、バーコード読取機能を実現するようにしてもよい。上記専用のプログラムは、コンピュータ読み取り可能な記録媒体に記録するようにしてもよい。
【0130】
また、上記実施形態では、バーコードに光を照射する光源として発光素子を用いたが、レーザや白熱球を使用してもよい。また、ペンスキャナやレーザスキャナで用いられる素子のホトセンサでもよい。
【0131】
また、上記実施形態では、遊戯者がカードを動かしてバーコードを走査したが、モータ等を用いて自動的に走査するようにしてもよい。また、バーコードを走査する方向は、いずれの方向であってもよい。
【0132】
また、上記実施形態では、バーコードとして直線状に長いバーのバーコードを用いたが、他の形状、例えば、円形のカードに円弧状にバーを配したバーコードでもよい。
【図面の簡単な説明】
【0133】
【図1】本発明の一実施形態によるゲーム装置の外観を示す図である。
【図2】本発明の一実施形態によるゲーム装置のブロック図である。
【図3】本発明の一実施形態によるゲーム装置で用いる遊戯カードの一具体例であるヘア&メイクアップカードを示す図である。
【図4】本発明の一実施形態によるカード読取装置のブロック図である。
【図5】本発明の一実施形態によるカード読取処理の概略を示すフローチャートである。
【図6】本発明の一実施形態によるカード読取処理における細太判定処理の詳細を示すフローチャートである。
【図7】本発明の一実施形態によるカード読取処理における細太判定処理での補正処理の説明図である。
【図8】本発明の一実施形態によるカード読取処理における細太判定処理の原理を説明するための図である。
【図9】本発明の一実施形態によるカード読取処理における細太判定処理の説明図である。
【図10】本発明の一実施形態によるカード読取処理における文字コード化処理の詳細を示すフローチャートである。
【図11】バーコード規格であるCODE39の説明図である。
【符号の説明】
【0134】
10…ゲーム装置
11…第1LCD
11a…第1表示画面
12…第2LCD
12a…第2表示画面
13…タッチパネル
14…操作ボタン
14a…Aボタン
14b…Bボタン
14c…Xボタン
14d…Yボタン
14e…スタートボタン
14f…セレクトボタン
14g…十字キー
15、15a、15b…スピーカ
16、17…コネクタ
18…ゲームカートリッジ
18a…ROM
18b…RAM
19…カードリーダ
19a…溝
20…回路基板
21…CPUコア
22…WRAM(作業用記憶装置)
23…第1VRAM(ビデオRAM)
24…第1GPU(画像処理装置)
25…第2VRAM(ビデオRAM)
26…第2GPU(画像処理装置)
27…I/F(インターフェイス)回路
30…ヘア&メイクアップカード
31…属性欄
32…属性名表記欄
33…アイテム番号欄
34a、34b…バーコード欄
35…肖像画欄
36…コメント欄
37a、37b…名称欄
38a…遊戯名称欄
39…肖像画欄
40…発光素子
42…受光素子
44…バンドパスフィルタ
46…増幅回路
48…2値化処理部(幅測定部)
50A…黒用バーカウンタ
50B…白用バーカウンタ
51A…黒用終了フラグ
51B…白用終了フラグ
52…細太判定部
54A…黒用データメモリ
54B…白用データメモリ
56…文字コード化部
58…文字コードメモリ
【技術分野】
【0001】
本発明は、遊戯カード等のカードに記録されたバーコード等を読み取るカード読取装置及びバーコード読取方法に関する。
【背景技術】
【0002】
遊戯カードとしては従来からトランプカードが一般的であるが、トレーディングカードなどの各種遊戯カードを用いたゲームも人気を集めている。
【0003】
遊戯カードを用いたゲームシステムとして、甲虫の対戦をテーマとしたゲームシステム(「甲虫王者ムシキング」(登録商標))がある。遊戯カードを遊戯装置に読み込ませ、甲虫同士を闘わせるカード格闘ゲームである。
【0004】
遊戯カードを用いた女児向けのゲームシステムとして、着せ替え遊びをテーマとしたゲームシステム(「オシャレ魔女ラブandベリー」(登録商標))がある。遊戯カードを遊戯装置に読み込ませ、キャラクタに着せ替えを行うカード着せ替えゲームである。
【0005】
これらゲームシステムは、ゲームセンタ等に設置された所謂アーケード型ゲーム装置により行われている。しかしながら、アーケード型ゲーム装置だけのゲームでは飽き足りなくなり、携帯用ゲーム装置や、家庭用ゲーム装置等でも同様のゲームを行いたいとの需要が高まってきている。
【0006】
しかしながら、遊戯カードを用いたゲームを携帯用ゲーム装置や家庭用ゲーム装置用のゲームソフトとして提供する場合には、遊戯カードを読み込むためのカードリーダを附属させる必要がある。
【0007】
カードリーダとして、例えば、特許文献1、特許文献2、特許文献3に記載されたものが知られている。
【特許文献1】特開平5−62005号公報
【特許文献2】特開平5−101214号公報
【特許文献3】特開平8−202798号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、携帯用ゲーム装置や家庭用ゲーム装置用のゲームソフトに附属させるカードリーダは、ゲームソフトとしての価格の制約から、アーケード型ゲーム装置のカードリーダに比べて非常に低価格で提供する必要がある。しかしながら、従来のカードリーダ、例えば、特許文献3のカードリーダは、光源のビームスポットの大小による読み取り誤差を補正するためのロジック回路が複雑であるためゲート数が多くなり、高コストであった。
【0009】
一方、家庭内で用いられるために、カードの読み取り環境が良好であることは期待できない。特に、遊戯カードの読み取り速度については、アーケード型ゲーム装置の場合よりも変動が大きい可能性があり、アーケード型ゲーム装置のカードリーダに比べて少なくとも同等又はそれ以上の性能が求められる。
【0010】
本発明の目的は、低価格で提供でき、しかも、遊戯カードの読み取り速度が変動しても正確に読み取ることができる高性能なカード読取装置及びバーコード読取方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の一態様によるカード読取装置は、複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、前記細太判定手段は、前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定することを特徴とする。
【0012】
上述したカード読取装置において、定数Aは、1.25〜1.50の範囲の値であり、定数Bは、0.6250〜0.8125の範囲の値であるようにしてもよい。
【0013】
本発明の他の態様によるカード読取装置は、複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、前記幅測定手段により第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とが測定され、前記細太判定手段により前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正する幅補正手段を更に有することを特徴とする。
【0014】
上述したカード読取装置において、定数Cは、0.750〜0.875の範囲の値であるようにしてもよい。
【0015】
上述したカード読取装置において、前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定するようにしてもよい。
【0016】
本発明の一態様によるバーコード読取方法は、複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップとを有するバーコード読取方法であって、前記第1のステップは、前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定することを特徴とする。
【0017】
上述したバーコード読取方法において、定数Aは、1.25〜1.50の範囲の値であり、定数Bは、0.6250〜0.8125の範囲の値であるようにしてもよい。
【0018】
本発明の他の態様によるバーコード読取方法は、複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップとを有するバーコード読取方法であって、前記第1のステップでは、第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とを測定し、前記第2のステップでは、前記第1のステップで前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正することを特徴とする。
【0019】
上述したバーコード読取方法において、定数Cは、0.750〜0.875の範囲の値であるようにしてもよい。
【0020】
上述したバーコード読取方法において、前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定するようにしてもよい。
【発明の効果】
【0021】
本発明によれば、複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、細太測定手段により判定された結果に基づいて、バーコードにおける細いバーと太いバーの並びによるパターンを解析し、パターンが示す文字コードを決定する文字コード化部とを有するカード読取装置において、細太判定手段は、幅測定手段により測定された第1のバーの幅と、第1のバーに隣接し、第1のバーよりも前に測定された第2のバーの幅とに基づき、第2のバーの幅H2に対する第1のバーの幅H1の比Rの値に応じて、第1のバーと第2のバーの細太判定をするようにしたので、低価格で提供でき、しかも、遊戯カードの読み取り速度が変動しても正確に読み取ることができる。
【発明を実施するための最良の形態】
【0022】
[一実施形態]
本発明の一実施形態によるカード読取装置について、以下、図面を用いて説明する。
【0023】
(ゲーム装置)
本実施形態のカード読取装置を用いたゲーム装置を図1及び図2に示す。図1は本実施形態のゲーム装置の外観を示す図であり、図2は本実施形態のゲーム装置の構成を示すブロック図である。
【0024】
(ゲーム装置の外観)
本実施形態のゲーム装置として、物理的に二つの表示画面を有し、一方の表示画面がタッチパネルに覆われている携帯型ゲーム装置を一例に上げて説明する。
【0025】
ゲーム装置10は、第1表示画面11aを有する第1LCD11と、第2表示画面12aを有する第2LCD12とを備えている。第1表示画面11aは、第2表示画面12aとは物理的に異なった表示画面であり、第2表示画面12aとは所定間隙を隔てて設けられている。
【0026】
第1表示画面11aの左右両側には、ゲーム音楽や音声を出力するためのスピーカ15a、15bが設けられている。
【0027】
第2表示画面12aの表面は、タッチパネル13によって覆われている。第2表示画面12aの右側には、プレイヤの右手によって操作可能な位置に、Aボタン14a、Bボタン14b、Xボタン14c、Yボタン14d、スタートボタン14e、セレクトボタン14fが設けられている。第2表示画面12aの左側には、プレイヤの左手によって操作可能な位置に、十字キー14gが設けられている。
【0028】
ゲーム装置10には、タッチパネル13に対する入力を行うためのスタイラス(図示せず)が設けられ、スタイラスはゲーム装置10内に着脱自在に収納されている。
【0029】
タッチパネル13の位置検出精度が高い場合にはスタイラスを利用することが有効であるが、位置検出精度が低い場合にはスタイラスを利用する必要がなく、例えばプレイヤの指によってタッチパネル13の入力を行うことも可能である。
【0030】
また、タッチパネル13は、抵抗膜式、光学式、超音波式、静電容量式、電磁誘導式などのいずれの方式でもよく、特に抵抗膜式が低コストであるため有利である。また、検出方式は、その構成によりマトリクス方式(デジタル)および抵抗値検出方式(アナログ)のいずれであってもかまわない。
【0031】
ゲーム装置10の第1LCD11側の上端にはコネクタ16が設けられ、ゲームのソフトウエアが記憶されたカートリッジ18が接続される。
【0032】
ゲーム装置10の第2LCD12側の下端にはコネクタ17が設けられ、遊戯カードを読み込むためのカード読取装置19が接続される。
【0033】
(ゲーム装置の構成)
ゲーム装置10の回路基板20は、ゲームプログラムを実行するためのコンピュータの一例であるCPUコア21等を備える。CPU(中央処理装置)コア21には、WRAM(作業用記憶装置)22、第1GPU(画像処理装置)24、第2GPU26、およびI/F(インターフェイス)回路27が所定のバスを介して電気的に接続される。
【0034】
第1GPU24と第2GPU26には、座標系を有するメモリがある。
【0035】
WRAM22は、CPUコア21によって実行されるゲームプログラムや、CPUコア21の演算結果などを一次的に記憶するメモリである。
【0036】
第1GPU24は、CPUコア21からの指示に応じて第1LCD11に表示出力するための第1ゲーム画像を第1VRAM(ビデオRAM)23に描画し、描画した当該第1ゲーム画像を第1LCD11の第1表示画面11aに表示させる。
【0037】
第2GPU26は、CPUコア21からの指示に応じて第2LCD12に表示出力するための第2ゲーム画像を第2VRAM25に描画し、描画した当該第2ゲーム画像を第2表示画面12aに表示させる。
【0038】
I/F回路27は、タッチパネル13、操作スイッチ部14、およびスピーカ15などの外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。
【0039】
タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応する座標系を有し、スタイラスやプレイヤの指などによって入力(指示)された位置に対応する位置座標のデータを出力する。
【0040】
なお、本実施形態では、一例として第1表示画面11aおよび第2表示画面12aの解像度を、それぞれ192dot×256dotであるとする。また、タッチパネル13の検出精度も第2表示画面12aに対応した192dot×256dotとして説明するが、タッチパネル13の検出精度は表示画面の解像度よりも低いものであってもよい。
【0041】
さらに、CPUコア21にはコネクタ16、17が電気的に接続されている。コネクタ16にはカートリッジ18が着脱可能に接続され、コネクタ17にはカード読取装置19が着脱可能に接続されている。
【0042】
カートリッジ18には、ゲームプログラムを記憶するROM18a、バックアップデータを書き換え可能に記憶するRAM18bが設けられている。
【0043】
カートリッジ18のROM18aに記憶されたゲームプログラムは、WRAM22にロードされ、WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。
【0044】
(遊戯カード)
本実施形態のゲーム装置で用いる遊戯カードの一例を図3に示す。
【0045】
本実施形態の遊戯カードは、トランプサイズと呼ばれる縦88mmで横63mmの厚手の紙製のカードである。本実施形態では3種類の遊戯カード(オシャレ魔法カード)が用意されている。頭部のおしゃれをするヘア&メイクアップカードと、胴体部のおしゃれをするドレスアップカードと、足部のおしゃれをするフットウエアカードである。
【0046】
図3に示す遊戯カードは、3種類の遊戯カードのうち、頭部のおしゃれをするヘア&メイクアップカードである。図3(a)はヘア&メイクアップカード30の表面を示し、図3(b)はヘア&メイクアップカード30の裏面を示している。
【0047】
図3(a)に示すように、ヘア&メイクアップカード30の表面左上部には、カードの属性を表す属性欄31が設けられている。図3(a)では、属性欄31に「H」というデザイン文字がハート中に描かれている。
【0048】
ヘア&メイクアップカード30の表面上縁部には、カードの属性名が記された属性名表記欄32が設けられている。図3(a)では、属性名称欄32に「ヘア&メイクアップカード」と記されている。
【0049】
ヘア&メイクアップカード30の表面属性名表記欄32の右横には、3桁−3桁の数字のアイテム番号が記されたアイテム番号欄33が設けられている。図3(a)では、アイテム番号欄33に「001−04A」と記されている。
【0050】
ヘア&メイクアップカード30の表面左縁部には、ゲーム装置10のカード読取装置19によるカード読取のためのバーコードが描かれたバーコード欄34aが設けられている。バーコード欄34aのバーコードはカード30の左縁にバーが接している。
【0051】
ヘア&メイクアップカード30の表面中央には、カードのアイテム番号に対応した顔部分が描かれる肖像画欄35と、コメントが記されたコメント欄36が設けられている。図3(a)では、肖像画欄35に「さらさらロングヘア」の絵柄が描かれ、コメント欄36に「どんなコーデにも合うていばんヘアだよね。ナチュラルメイクでせいそにきめるよ。」と記されている。
【0052】
ヘア&メイクアップカード30の表面右上部のアイテム番号欄33の下部には、カードのアイテム番号に対応した名称が描かれる名称欄37aが設けられている。図3(a)では、名称欄37aに「さらさらロング」と記されている。
【0053】
ヘア&メイクアップカード30の表面下縁部には、カードのアイテム番号に対応した名称が描かれる名称欄37bが設けられている。図3(a)では、名称欄37bに「SARASARA LONG」と記されている。
【0054】
ヘア&メイクアップカード30の表面右縁部には、本遊戯の遊戯名称が表記された遊戯名称欄38aが設けられている。図3(b)では、遊戯名称欄38aに「Osharemajo Love & Berry」と記されている。なお、海外版では、遊戯名称欄38aに「LOVE AND BERRY Dress up and Dance!」と記されている。
【0055】
図3(b)に示すように、ヘア&メイクアップカード30の裏面右縁部には、ゲーム装置10のカード読取装置19によるカード読取のためのバーコードが描かれたバーコード欄34bが設けられている。このバーコード欄34bは、ヘア&メイクアップカード30の表面のバーコード欄34aと対応していて、同じバーコードの長さ、幅、内容は同じである。バーコード欄34bのバーコードはカード30の左縁にバーが接している。
【0056】
ヘア&メイクアップカード30の裏面上部には、本遊戯の遊戯名称が表記された遊戯名称欄38bが設けられている。ヘア&メイクアップカード30の裏面中央には、本遊戯の代表的肖像が描かれた肖像画欄39が設けられている。図3(b)では、遊戯名称欄38bに「オシャレ魔女ラブandベリー」(登録商標)と記され、肖像画欄39に統一した絵柄の肖像が描かれている。なお、海外版では、遊戯名称欄38bに、「LOVE AND BERRY Dress up and Dance!」と記されている。
【0057】
なお、図3では、表面のバーコード欄34aや裏面のバーコード欄34bのように、バーコード表示専用の領域を設け、この領域内にバーコードを印刷している。このバーコードは、黒色の太線又は細線(バー)が所定の間隔(スペース)を挟んで配置されている。本実施形態では、表面のバーコード欄34aや裏面のバーコード欄34bの地色を白色とし、それに黒色のバーを印刷している。
【0058】
本実施形態では、バーは黒色でスペースは白色であったが、バーとスペースが識別することができれば如何なる色の組合せでもよい。スペースの「白色」としては、白に限定されず発光素子の色を反射する色であればよいし、バーの「黒色」としては、黒に限定されず発光素子の色を吸収する色であればよい。
【0059】
例えば、発光素子の色が赤色の場合は、スペースの「白色」は、赤色又は赤成分が多い色(ピンク色など)であればよいし、バーの「黒色」は、赤の補色又はその成分が多い色(青色など)であればよい。例えば、表面のバーコード欄34aや裏面のバーコード欄34bの地色を薄い青色とし、バーを濃い赤色としてもよい。
【0060】
また、スペースの「白色」や、バーの「黒色」は、単色でなくてもよい。例えば、グラデーションがかかった色や絵柄であってもよい。
【0061】
また、本実施形態絵では、表面のバーコード欄34aや裏面のバーコード欄34bのように境界線を記載し、その境界線内の領域をバーコード表示専用の領域としたが、そのような境界線は記載せず、遊戯カードの表面又は裏面の全面に模様や写真等の絵柄を記載し、その絵柄上にバーを印刷するようにしてもよい。
【0062】
(カード読取装置の構成)
本実施形態のカード読取装置について図1及び図4を用いて説明する。
【0063】
カード読取装置19には、図1に示すように、遊戯カード30を読み込ませるための溝19aが形成されている。溝19a内側には、遊戯カード30のバーコード欄34a、34bに記載されたバーコードを光学的に読み取るための発光素子と受光素子が設けられている。遊戯者は遊戯カード30のバーコード欄34a、34bを溝19aに差し入れ、横方向に移動してバーコード欄34bに記載されたバーコードを読取らせる。
【0064】
なお、バーコードは、黒色の太線又は細線が所定の間隔を挟んで配置されている。通常、黒色の線のことをバー、隣接するバー間の間隔のことをスペースと読んでいるが、本実施形態では、バーのことを黒バー、スペースのことを白バーと呼ぶこととする。
【0065】
また、遊戯カードの表面又は裏面の全面に模様や写真等の絵柄を記載し、その絵柄上にバーを印刷するようにした場合には、印刷したバーが黒バーであり、その黒バー間の地色(地模様)の部分が白バーとなる。
【0066】
本実施形態では、黒バーが細いか太いか、すなわち、細黒バーか、太黒バーか、白バーが細いか太いか、すなわち、細白バーか、太白バーかを判定し、それに基づいて、バーコードが示す文字コードを判定する。
【0067】
カード読取装置19の構成を図4に示す。
【0068】
カード読取装置19の溝19a内側に、遊戯カード30のバーコード欄34a、34bを照射するための発光素子40と、遊戯カード30のバーコード欄34a、34bからの反射光を受光する受光素子42とが設けられている。
【0069】
受光素子42にはバンドパスフィルタ44が接続されている。バンドパスフィルタ44は、受光素子42から出力される受光信号を濾波し、その直流成分や不要な周波数成分をカットする。
【0070】
バンドパスフィルタ44には増幅回路46が接続されている。増幅回路46は、バンドパスフィルタ44により濾波された受光信号を増幅する。
【0071】
増幅回路46には2値化処理部(幅測定部)48が接続されている。
【0072】
2値化処理部(幅測定部)48には、黒用バーカウンタ50A、白用バーカウンタ50Bと、黒用終了フラグ51A、白用終了フラグ51Bが設けられている。
【0073】
2値化処理部(幅測定部)48は、増幅回路46から出力される受光信号を所定のしきい値と比較して、所定のしきい値よりも小さいときには「黒」と判断し、所定のしきい値よりも大きいときには「白」と判断する。
【0074】
2値化処理部(幅測定部)48は、クロック信号に基づく所定周期で受光信号が黒であるか白であるかを判断する。受光信号が黒であると判断されると、黒用バーカウンタ50Aをインクリメントする。受光信号が白であると判断されると、白用バーカウンタ50Bをインクリメントする。
【0075】
走査された遊戯カード30のバーコードを読み取り、ひとつのバーの読み取りが終了したと判断されると、黒用終了フラグ51A又は白用終了フラグ51Bにフラグを立てる。例えば、黒の受光信号が連続した後に、所定時間だけ白の受光信号が連続すると、黒バーの測定が完了したと判断し、黒用終了フラグ51Aにフラグを立てる。また、白の受光信号が連続した後に、所定時間だけ黒の受光信号が連続すると、白バーの測定が完了したと判断し、白用終了フラグ51Bにフラグを立てる。
【0076】
黒用終了フラグ51Aにフラグが立ったときの黒用バーカウンタ50Aのカウンタ値が、受光素子42により黒が受光された時間、すなわち、バーコードの黒バーの幅に比例した値となる。
【0077】
白用終了フラグ51Bにフラグが立ったときの白用バーカウンタ50Bのカウンタ値が、受光素子42により白が受光された時間、すなわち、バーコードの白バーの幅に比例した値となる。
【0078】
なお、2値化処理部(幅測定部)48の処理の詳細については後述する。
【0079】
2値化処理部(幅測定部)48には細太判定部52が接続されている。細太判定部52には、黒用データメモリ54Aと白用データメモリ54Bが設けられている。
【0080】
細太判定部52は、黒用バーカウンタ50Aと白用バーカウンタ50Bに基づいて、現在読み取っている黒バー又は白バーが、太いバーであるか細いバーである判断する。黒バーの判断結果は、黒用データメモリ54Aに記憶され、白バーの判定結果は、白用データメモリ54Bに記憶される。
【0081】
走査された遊戯カード30のバーコードを読み取ると、黒用データメモリ54Aには、黒バーが細いか太いかの情報が読み取ったバーの順番に記憶され、白用データメモリ54Bには、白バーが細いか太いかの情報が読み取ったバーの順番に記憶される。黒バー及び白バーについて、例えば、「細い→太い→細い→細い→・・・・」というような情報が記憶される。なお、細太判定部52の処理の詳細については後述する。
【0082】
細太判定部52には文字コード化部56が接続されている。文字コード化部56は、CODE39等のコード化規則により定められたキャラクタのパターンを参照して、黒データメモリ54Aに記憶された黒バーの細いバーと太いバーの並びによるパターンと、白データメモリ54Bに記憶された白バーの細いバーと太いバーの並びによるパターンとに基づき、読み取ったバーコードが示す文字コードを決定する。文字コード化部56により決定された文字コードは文字コードメモリ58に記憶される。
【0083】
(カード読取処理)
本実施形態のカード読取装置によるカード読取処理の概略について図5を用いて説明する。図5は本実施形態のカード読取装置によるカード読取処理の概略を示すフローチャートである。
【0084】
遊戯者が、遊戯カード30のバーコード欄34a、34bをバーコード読取装置19の溝19aに差し入れ、横方向に移動してバーコード欄34bに記載されたバーコードを読取らせる。
【0085】
バーコード読取装置19では、発光素子40により遊戯カード30のバーコード欄34a、34bを照射し、遊戯カード30のバーコード欄34a、34bからの反射光を受光素子42により受光する。
【0086】
受光素子42からの受光信号は、バンドパスフィルタ44により濾波され、増幅回路46により増幅され、2値化処理部(幅測定部)48により2値化される。2値化処理部(幅測定部)48は、クロック信号に基づく所定周期で受光信号が黒であるか白であるかを判断し、受光信号が黒であると判断されると、黒用バーカウンタ50Aがインクリメントされ、受光信号が白であると判断されると、白用バーカウンタ50Bがインクリメントされる。
【0087】
まず、図5のフローチャートに示すように、黒用終了フラグ51A又は白用終了フラグ51Bにバー終了フラグが立ったか否かを判定する(ステップS10)。
【0088】
黒用終了フラグ51A又は白用終了フラグ51Bにバー終了フラグが立った場合には、細太判定部52により細太判定処理を行い(ステップS20)、その後、細太判定処理の結果に基づいて文字コード化部56により文字コード化処理を行う(ステップS30)。これら細太判定処理及び文字コード化処理については後述する。
【0089】
黒用終了フラグ51A又は白用終了フラグ51Bにバー終了フラグが立っていない場合には、続いて、黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローしていないか判定する(ステップS11)。
【0090】
遊戯カード30ではない白紙等が溝19a差し込まれている場合や、遊戯カード30が差し込まれているが動かされず停止している場合等には、黒又は白の受光信号が入力し続けて黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローする。この場合にはタイムアウト処理してバーコード読み取りをリセットする必要がある。
【0091】
そこで、黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローしている場合には、黒用バーカウンタ50A及び白用バーカウンタ50Bと2値化処理部48をクリアして、バーコード読み取り待ち状態にして(ステップS12)、ステップS10に戻る。
【0092】
黒用バーカウンタ50A又は白用バーカウンタ50Bがオーバーフローしていない場合には、通常通り、黒用バーカウンタ50A又は白用バーカウンタ50Bのカウント値をインクリメントして(ステップS13)、ステップS10に戻る。
【0093】
(細太判定処理)
次に、本実施形態のカード読取処理における細太判定処理について図6乃至図9を用いて説明する。図6は本実施形態のカード読取処理における細太判定処理の詳細を示すフローチャートであり、図7は本実施形態のカード読取処理における細太判定処理での補正処理の説明図であり、図8は本実施形態のカード読取処理における細太判定処理の原理を説明するための図であり、図9は本実施形態のカード読取処理における細太判定処理の説明図である。
【0094】
この細太判定処理の前には、2値化処理部(幅測定部)48により黒バー又は白バーの幅が測定され、今測定したバーの幅(H1)と共に、この測定したバーに隣接する直前に測定したバーの幅(H2)が、黒用バーカウンタ50A又は白用バーカウンタ50Bに格納されている。また、黒用データメモリ54A又は白用データメモリ54Bには、直前に測定したバーが細バーであるか太バーであるかが格納されている。なお、直前に測定したバーの細太判定が未だなされていない場合には何も格納されていない。
【0095】
まず、直前に測定されたバーが太バーであったか判断する(ステップ21)。直前のバーが太バーの場合には、今測定したバーの幅(H1)を補正する(ステップS22)。
【0096】
本願発明者は、例えば、図7に示すようなバーコードを読み取った場合、太バーの直後のバーは、黒バーの場合でも白バーの場合でも実際よりも太く測定されることに気がついた。
【0097】
図7に示すように、黒細バー→白細バー→黒細バー→白細バー→黒太バー→白太バー→黒太バー→白細バー→黒細バー→白細バー→黒細バー→白細バー→黒細バー、というパターンを読み取る場合、黒太バーの直後の白太バー、白太バーの直後の黒太バー、黒太バーの直後の白細バーは、本来測定されるべき正しい太さよりも太く測定される。
【0098】
このように測定される理由を、図8を用いて説明する。
【0099】
図8(a)はバーコードの具体例を示し、図8(b)は受光素子42の出力信号を示し、図8(c)はバンドパスフィルタ44の出力信号を示し、図8(d)は増幅回路46の出力信号を示している。
【0100】
図8(a)に示す実施形態では、右から2番目の白バーが太い。この太い白バーを読み取ると、白を検出している時間が長くなり、図8(b)に示すように、受光素子42の出力信号が飽和してしまう。受光信号42の出力信号が飽和すると、図8(c)に示すように、バンドパスフィルタ44の出力信号は、直流成分がカットされて基準電位に戻ろうとする。
【0101】
このため、次の黒バーの信号が入力されたときに、一点鎖線で示す通常の信号波形よりも早いタイミングで、バンドパスフィルタ44の出力信号が黒バーの閾値信号を超えてしまう。したがって、右から1番目の黒バーの幅は通常よりも太く測定され、右から2番目の白バーの幅は通常よりも細く測定される。
【0102】
そこで、本願発明者は、今測定したバーの幅(H1)に様々な定数Cを乗算して、次式
H1′=H1×C
により補正することに思い至った。本願発明者は、定数Cとして、0.375、0.500、0.625、0.750、0.8125、0.875、1.000を用意し、いずれの値が適切か実験を行った、
その実験の結果、定数Cとして、0.8125が最も適しており、0.750〜0.875の範囲の値が望ましいということがわかった。
【0103】
次に、直前のバーの幅H2に対する今測定したバーの幅H1(ステップS22で補正した場合には補正後の幅H1′)の比Rを演算する(ステップS23)。本実施形態では、この比Rの値に基づいて、今測定したバーが細バーか太バーかを決定する。
【0104】
本実施形態では、今測定したバーの幅H1を直前測定したバーの幅H2と逐次比較して次のように判断する。
(1)直前測定したバーが細バーで次のバーがある一定範囲内の大きさの場合には、今のバーも細バーであると判断する。
(2)直前測定したバーが太バーで次のバーがある一定範囲内の大きさの場合には、今のバーも太バーであると判断する。
(3)直前測定したバーが細バーで次のバーがある一定範囲を超える大きさの場合には、今のバーは太バーであると判断する。
(4)直前測定したバーが細バーで次のバーがある一定範囲を下回る大きさの場合には、今のバーは細バーであると判断する。
【0105】
具体的には、図6のフローチャートに示すように、直前のバーの幅H2に対する今測定したバーの幅H1の比R(=H1/H2)の範囲を判定し(ステップS24)、比Rが定数Aよりも小さい場合には、今のバーは太バーであり直前のバーは細バーであるとし(ステップS27)、比Rが定数Bよりも小さい場合には、今のバーは細バーであり直前のバーは太バーであるとし(ステップS25)、比Rが定数B以上で定数A以下である場合には、今のバーの細太判定を直前のバーの細太判定を同じとする(ステップS26)。
【0106】
本願発明者は、定数Aと定数Bとしてどの値が適切であるか繰り返し実験を行った。
【0107】
その実験の結果、定数Aとして、1.375が最も適しており、1.25〜1.50の範囲の値が望ましいと言うことがわかった。
【0108】
また、定数Bとして、0.75が最も適しており、0.6250〜0.8125の範囲の値が望ましいと言うことがわかった。
【0109】
図9に示すように、黒バーについて、幅100→幅90→幅200→幅160→幅140→幅95→幅85が続く場合には、次のように細太判定がなされる。
【0110】
比較(1)
今測定したバーの幅が90、直前測定したバーの幅が100(R=90/100=0.90)の場合、直前測定したバーと今測定したバーは同じと判定する(太バーか細バーかは不明)。
【0111】
比較(2)
今測定したバーの幅が200、直前測定したバーの幅が90(R=200/90=2.22)の場合、直前測定したバーは細バー、今測定したバーは太バーと判定する。この時点で比較(1)でのバーが細バーであることが判明する。
【0112】
比較(3)
今測定したバーの幅が160、直前測定したバーの幅が200(R=160/200=0.80)の場合、直前測定したバーは太バー、今測定したバーも太バーと判定する。
【0113】
比較(4)
今測定したバーの幅が140、直前測定したバーの幅が160(R=140/160=0.88)の場合、直前測定したバーは太バー、今測定したバーも太バーと判定する。
【0114】
比較(5)
今測定したバーの幅が95、直前測定したバーの幅が140(R=95/140=0.68)の場合、直前測定したバーは太バー、今測定したバーは細バーと判定する。
【0115】
比較(6)
今測定したバーの幅が85、直前測定したバーの幅が95(R=85/95=0.89)の場合、直前測定したバーは細バー、今測定したバーも細バーと判定する。
【0116】
このように本実施形態では、基準となるバーの幅を細太判定したバーの幅に逐次置き換えて判定しているので遊戯カードの走査速度が変動しても正しく測定できる。例えば、上述した比較(2)と太さ200のバーも、比較(4)における太さ140のバーも、幅として測定値は異なっていても正しく太バーと判別できる。
【0117】
(文字コード化処理)
次に、本実施形態のカード読取装置における文字コード化処理について図10及び図11を用いて説明する。図10は本実施形態のカード読取処理における文字コード化処理の詳細を示すフローチャートであり、図11はバーコード規格であるCODE39の説明図である。
【0118】
前述したように、文字コード化部56は、CODE39のコード化規則により定められたキャラクタのパターンを参照して、黒データメモリ54Aに記憶された黒バーの細いバーと太いバーの並びによるパターンと、白データメモリ54Bに記憶された白バーの細いバーと太いバーの並びによるパターンとに基づき、読み取ったバーコードが示す文字コードを決定する。
【0119】
CODE39は、図11に示すように、バーコードの最初と最後に*(アスタリスク)のコードを設け、その間に必要数(図11の例では2個)のキャラクタのデータを挿入する。*(アスタリスク)のコードは、図11に示すように決まっているので、最初の白バーと2番目の白バーを比較し、最初の黒バーと2番目の黒バーとを比較することにより、遊戯カード30の走査方向を確定することができる。
【0120】
そこで、まず、最初の白バーと2番目の白バーの比較と、最初の黒バーと2番目の黒バーの比較を同時に行う(ステップS31)。
【0121】
次に、その比較の結果から、*(アスタリスク)のコードが順方向で読まれているか判断する(ステップS32)。
【0122】
*(アスタリスク)のコードが順方向で読まれている場合には、読み取ったデータを文字コードメモリ58の上位ビットから下位ビットへ順番に格納する(ステップS33)。
【0123】
*(アスタリスク)のコードが順方向で読まれていない場合には、読み取ってデータを文字コードメモリ58の下位ビットから上位ビットへ順番に格納する(ステップS34)。
【0124】
次に、文字コードメモリ58に格納したデータをアスキーコードに変換して出力する(ステップS34)。
【0125】
なお、本実施形態では、バーコード規格としてCODE39を用いたが、他のコード規格を用いてもよい。
【0126】
[変形実施形態]
本発明は上記実施形態に限らず種々の変形が可能である。
【0127】
例えば、上記実施形態では、各遊戯者がそれぞれ着せ替え処理を行ったが、遊戯者同士がキャラクタを操作して対戦し、勝ち負けを決定するようにしてもよい。
【0128】
また、上記実施形態では、携帯用ゲーム装置を例として説明したが、家庭用ゲーム装置や、パーソナルコンピュータ、あるいは携帯電話機等を用いたゲームシステムや、ゲームセンタに設置された所謂アーケード型のゲーム装置を用いたゲームシステムにも適用することができる。
【0129】
また、上記実施形態では、カード読取装置におけるバーコード読取機能を、図4のブロック図に示すような電子回路により実現したが、その代わりに、汎用のコンピュータに専用のプログラムを読み込ませて実行することにより、バーコード読取機能を実現するようにしてもよい。上記専用のプログラムは、コンピュータ読み取り可能な記録媒体に記録するようにしてもよい。
【0130】
また、上記実施形態では、バーコードに光を照射する光源として発光素子を用いたが、レーザや白熱球を使用してもよい。また、ペンスキャナやレーザスキャナで用いられる素子のホトセンサでもよい。
【0131】
また、上記実施形態では、遊戯者がカードを動かしてバーコードを走査したが、モータ等を用いて自動的に走査するようにしてもよい。また、バーコードを走査する方向は、いずれの方向であってもよい。
【0132】
また、上記実施形態では、バーコードとして直線状に長いバーのバーコードを用いたが、他の形状、例えば、円形のカードに円弧状にバーを配したバーコードでもよい。
【図面の簡単な説明】
【0133】
【図1】本発明の一実施形態によるゲーム装置の外観を示す図である。
【図2】本発明の一実施形態によるゲーム装置のブロック図である。
【図3】本発明の一実施形態によるゲーム装置で用いる遊戯カードの一具体例であるヘア&メイクアップカードを示す図である。
【図4】本発明の一実施形態によるカード読取装置のブロック図である。
【図5】本発明の一実施形態によるカード読取処理の概略を示すフローチャートである。
【図6】本発明の一実施形態によるカード読取処理における細太判定処理の詳細を示すフローチャートである。
【図7】本発明の一実施形態によるカード読取処理における細太判定処理での補正処理の説明図である。
【図8】本発明の一実施形態によるカード読取処理における細太判定処理の原理を説明するための図である。
【図9】本発明の一実施形態によるカード読取処理における細太判定処理の説明図である。
【図10】本発明の一実施形態によるカード読取処理における文字コード化処理の詳細を示すフローチャートである。
【図11】バーコード規格であるCODE39の説明図である。
【符号の説明】
【0134】
10…ゲーム装置
11…第1LCD
11a…第1表示画面
12…第2LCD
12a…第2表示画面
13…タッチパネル
14…操作ボタン
14a…Aボタン
14b…Bボタン
14c…Xボタン
14d…Yボタン
14e…スタートボタン
14f…セレクトボタン
14g…十字キー
15、15a、15b…スピーカ
16、17…コネクタ
18…ゲームカートリッジ
18a…ROM
18b…RAM
19…カードリーダ
19a…溝
20…回路基板
21…CPUコア
22…WRAM(作業用記憶装置)
23…第1VRAM(ビデオRAM)
24…第1GPU(画像処理装置)
25…第2VRAM(ビデオRAM)
26…第2GPU(画像処理装置)
27…I/F(インターフェイス)回路
30…ヘア&メイクアップカード
31…属性欄
32…属性名表記欄
33…アイテム番号欄
34a、34b…バーコード欄
35…肖像画欄
36…コメント欄
37a、37b…名称欄
38a…遊戯名称欄
39…肖像画欄
40…発光素子
42…受光素子
44…バンドパスフィルタ
46…増幅回路
48…2値化処理部(幅測定部)
50A…黒用バーカウンタ
50B…白用バーカウンタ
51A…黒用終了フラグ
51B…白用終了フラグ
52…細太判定部
54A…黒用データメモリ
54B…白用データメモリ
56…文字コード化部
58…文字コードメモリ
【特許請求の範囲】
【請求項1】
複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、
前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、
前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部と
を有するカード読取装置であって、
前記細太判定手段は、
前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定する
ことを特徴とするカード読取装置。
【請求項2】
請求項1記載のカード読取装置において、
定数Aは、1.25〜1.50の範囲の値であり、
定数Bは、0.6250〜0.8125の範囲の値である
ことを特徴とするカード読取装置。
【請求項3】
複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、
前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、
前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部と
を有するカード読取装置であって、
前記幅測定手段により第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とが測定され、前記細太判定手段により前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正する幅補正手段を更に有する
ことを特徴とするカード読取装置。
【請求項4】
請求項3記載のカード読取装置において、
定数Cは、0.750〜0.875の範囲の値である
ことを特徴とするカード読取装置。
【請求項5】
請求項1乃至4のいずれか1項に記載のカード読取装置において、
前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、
前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、
前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、
前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定する
ことを特徴とするカード読取装置。
【請求項6】
複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、
前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、
前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップと
を有するバーコード読取方法であって、
前記第1のステップは、
前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定する
ことを特徴とするバーコード読取方法。
【請求項7】
請求項6記載のバーコード読取方法において、
定数Aは、1.25〜1.50の範囲の値であり、
定数Bは、0.6250〜0.8125の範囲の値である
ことを特徴とするバーコード読取方法。
【請求項8】
複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、
前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、
前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップと
を有するバーコード読取方法であって、
前記第1のステップでは、第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とを測定し、
前記第2のステップでは、前記第1のステップで前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正する
ことを特徴とするバーコード読取方法。
【請求項9】
請求項8記載のバーコード読取方法において、
定数Cは、0.750〜0.875の範囲の値である
ことを特徴とするバーコード読取方法。
【請求項10】
請求項6乃至9のいずれか1項に記載のバーコード読取方法において、
前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、
前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、
前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、
前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定する
ことを特徴とするカード読取装置。
【請求項11】
コンピュータに、請求項6乃至10のいずれか1項に記載のバーコード読取方法における前記第1のステップと、前記第2のステップと、前記第3のステップとを実行させるためのプログラム。
【請求項12】
コンピュータに、請求項6乃至10のいずれか1項に記載のバーコード読取方法における前記第1のステップと、前記第2のステップと、前記第3のステップとを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、
前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、
前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部と
を有するカード読取装置であって、
前記細太判定手段は、
前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定する
ことを特徴とするカード読取装置。
【請求項2】
請求項1記載のカード読取装置において、
定数Aは、1.25〜1.50の範囲の値であり、
定数Bは、0.6250〜0.8125の範囲の値である
ことを特徴とするカード読取装置。
【請求項3】
複数のバーからなるバーコードの各バーの幅を順次測定する幅測定手段と、
前記幅測定手段により測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する細太判定手段と、
前記細太測定手段により判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する文字コード化部と
を有するカード読取装置であって、
前記幅測定手段により第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とが測定され、前記細太判定手段により前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正する幅補正手段を更に有する
ことを特徴とするカード読取装置。
【請求項4】
請求項3記載のカード読取装置において、
定数Cは、0.750〜0.875の範囲の値である
ことを特徴とするカード読取装置。
【請求項5】
請求項1乃至4のいずれか1項に記載のカード読取装置において、
前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、
前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、
前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、
前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定する
ことを特徴とするカード読取装置。
【請求項6】
複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、
前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、
前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップと
を有するバーコード読取方法であって、
前記第1のステップは、
前記幅測定手段により測定された第1のバーの幅と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅とに基づき、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R>A
ただし、Aは1より大きい定数
を満足した場合、前記第1のバーを太いバー、前記第2のバーを細いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
R<B
ただし、Bは1より小さい定数
を満足した場合、前記第1のバーを細いバー、前記第2のバーを太いバーと判定し、
前記第2のバーの幅H2に対する前記第1のバーの幅H1の比R(=H1/H2)が次式
B≦R≦A
を満足した場合、前記第1のバーと前記第2のバーの太さは変化しないと判定する
ことを特徴とするバーコード読取方法。
【請求項7】
請求項6記載のバーコード読取方法において、
定数Aは、1.25〜1.50の範囲の値であり、
定数Bは、0.6250〜0.8125の範囲の値である
ことを特徴とするバーコード読取方法。
【請求項8】
複数のバーからなるバーコードの各バーの幅を順次測定する第1のステップと、
前記測定された各バーの幅に基づいて、各バーが細いバーか太いバーかを判定する第2のステップと、
前記判定された結果に基づいて、前記バーコードにおける細いバーと太いバーの並びによるパターンを解析し、前記パターンが示す文字コードを決定する第3のステップと
を有するバーコード読取方法であって、
前記第1のステップでは、第1のバーの幅H1と、前記第1のバーに隣接し、前記第1のバーよりも前に測定された第2のバーの幅H2とを測定し、
前記第2のステップでは、前記第1のステップで前記第2のバーが太いバーと判定されたときには、前記第1のバーの幅H1を次式
H1′=H1×C
ただし、Cは1より小さい定数
によりH1′に補正する
ことを特徴とするバーコード読取方法。
【請求項9】
請求項8記載のバーコード読取方法において、
定数Cは、0.750〜0.875の範囲の値である
ことを特徴とするバーコード読取方法。
【請求項10】
請求項6乃至9のいずれか1項に記載のバーコード読取方法において、
前記バーコードのバーは、光を吸収する色のバー又は光を反射する色のバーであり、
前記幅測定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーの幅を測定し、
前記細太判定手段は、前記バーコードの光を吸収する色のバー又は光を反射する色のバーが細いバーか太いバーかを判定し、
前記文字コード化手段は、前記バーコードの光を吸収する色のバーの細いバーと太いバーの並びによるパターン、又は、前記バーコードの光を反射する色のバーの細いバーと太いバーの並びによるパターンに基づいて、文字コードを決定する
ことを特徴とするカード読取装置。
【請求項11】
コンピュータに、請求項6乃至10のいずれか1項に記載のバーコード読取方法における前記第1のステップと、前記第2のステップと、前記第3のステップとを実行させるためのプログラム。
【請求項12】
コンピュータに、請求項6乃至10のいずれか1項に記載のバーコード読取方法における前記第1のステップと、前記第2のステップと、前記第3のステップとを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−117249(P2008−117249A)
【公開日】平成20年5月22日(2008.5.22)
【国際特許分類】
【出願番号】特願2006−301248(P2006−301248)
【出願日】平成18年11月7日(2006.11.7)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
【公開日】平成20年5月22日(2008.5.22)
【国際特許分類】
【出願日】平成18年11月7日(2006.11.7)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
[ Back to top ]