(57)【特許請求の範囲】
【請求項１】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備することを特徴とするコード読取装置。
【請求項２】
前記コード読取装置は、当該コード読取装置または前記記録媒体を把持しながら前記コードを光学的に読み取るように構成されたものであることを特徴とする請求項１に記載のコード読取装置。
【請求項３】
前記コード読取装置は、当該コード読取装置または前記記録媒体を把持して当該コード読取装置と前記記録媒体とを相対的に移動させることにより前記コードを光学的に読み取るように構成されたものであることを特徴とする請求項２に記載のコード読取装置。
【請求項４】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、前記コードの読み取りに関するパラメータを検出することにより読み取り結果にランダム性を付与するパラメータ検出及びランダム性付与手段を含むことを特徴とするコード読取装置。
【請求項５】
前記パラメータ検出及びランダム性付与手段は、前記コードの読み取り方に関するパラメータを検出することにより読み取り結果にランダム性を付与する検出及び付与手段を含むことを特徴とする請求項４に記載のコード読取装置。
【請求項６】
前記検出及び付与手段は、前記コードを構成する所定の構成要素の検出位置に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項７】
前記検出及び付与手段は、前記コードを構成する所定の構成要素の検出数に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項８】
前記検出及び付与手段は、前記コードを構成する所定の構成要素の輝度情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項９】
前記検出及び付与手段は、前記コードを構成する所定の構成要素の大きさに関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項１０】
前記検出及び付与手段は、前記コードを構成する所定の構成要素の形状に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項１１】
前記検出及び付与手段は、前記読み取られたコードから欠落した欠落情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項１２】
前記コード読取装置が、当該コード読取装置または前記記録媒体を把持して当該コード読取装置と前記記録媒体とを相対的に移動させることにより前記コードを光学的に読み取るように構成されたものであるとき、
前記検出及び付与手段は、前記相対的移動速度に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項１３】
前記コード読取装置が、当該コード読取装置または前記記録媒体を把持して当該コード読取装置と前記記録媒体とを相対的に移動させることにより前記コードを光学的に読み取るように構成されたものであるとき、
前記検出及び付与手段は、前記相対的移動時の蛇行性に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項１４】
前記コード読取装置が、当該コード読取装置または前記記録媒体を把持して当該コード読取装置と前記記録媒体とを相対的に移動させることにより前記コードを光学的に読み取るように構成されたものであるとき、
前記検出及び付与手段は、前記相対的移動方向に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項１５】
前記コード読取装置が、当該コード読取装置または前記記録媒体を把持して当該コード読取装置と前記記録媒体とを相対的に移動させることにより前記コードを光学的に読み取るように構成されたものであるとき、
前記検出及び付与手段は、前記相対的移動回数に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項５に記載のコード読取装置。
【請求項１６】
前記パラメータ検出及びランダム性付与手段は、前記コードの読み取り環境に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項４に記載のコード読取装置。
【請求項１７】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、前記記録媒体に関するパラメータを検出することにより読み取り結果にランダム性を付与する検出及び付与手段を含むことを特徴とするコード読取装置。
【請求項１８】
前記検出及び付与手段は、前記コードを構成する所定の構成要素間の位置関係に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項１７に記載のコード読取装置。
【請求項１９】
前記検出及び付与手段は、前記コードの記録濃度に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項１７に記載のコード読取装置。
【請求項２０】
前記検出及び付与手段は、前記コードの大きさに関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項１７に記載のコード読取装置。
【請求項２１】
前記検出及び付与手段は、前記コードの形状に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項１７に記載のコード読取装置。
【請求項２２】
前記検出及び付与手段は、前記記録されたコードの欠落情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項１７に記載のコード読取装置。
【請求項２３】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、自己のコード読取装置固有のパラメータを検出することにより読み取り結果にランダム性を付与する検出及び付与手段を含むことを特徴とするコード読取装置。
【請求項２４】
前記検出及び付与手段は、前記コードを構成する所定の構成要素が検出されるべき位置に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項２３に記載のコード読取装置。
【請求項２５】
前記検出及び付与手段は、前記コード読み取りにあたっての明るさに関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項２３に記載のコード読取装置。
【請求項２６】
前記検出及び付与手段は、前記読み取られたコードの大きさに関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項２３に記載のコード読取装置。
【請求項２７】
前記検出及び付与手段は、前記読み取られたコードの形状に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項２３に記載のコード読取装置。
【請求項２８】
前記検出及び付与手段は、前記読み取られたコードから欠落する欠落情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする請求項２３に記載のコード読取装置。
【請求項２９】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、前記コードを構成する所定の構成要素間の位置関係に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とするコード読取装置。
【請求項３０】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、前記コードを構成する所定の構成要素の輝度情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とするコード読取装置。
【請求項３１】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、前記コードを構成する所定の構成要素の大きさに関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とするコード読取装置。
【請求項３２】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、前記コードを構成する所定の構成要素の形状に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とするコード読取装置。
【請求項３３】
データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、
前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、
前記ランダム性付与手段は、前記読み取られたコードから欠落した欠落情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とするコード読取装置。
【請求項３４】
前記コード読取装置は、当該コード読取装置または前記記録媒体を把持しながら前記コードを光学的に読み取るように構成されたものであることを特徴とする請求項２９乃至３３の何れかに記載のコード読取装置。
【請求項３５】
前記コード読取装置は、当該コード読取装置または前記記録媒体を把持して当該コード読取装置と前記記録媒体とを相対的に移動させることにより前記コードを光学的に読み取るように構成されたものであることを特徴とする請求項３４に記載のコード読取装置。
【請求項３６】
複数個の情報を記憶している記憶手段を更に具備し、
前記ランダム性付与手段は、前記記憶手段に記憶されている複数個の情報から選択を行うことで、前記記憶されている情報の出力を変化させる手段を含むこと特徴とする請求項１乃至３５の何れかに記載のコード読取装置。
【請求項３７】
前記記憶手段が記憶している情報は、テキスト、音声、画像、プログラムの内の少なくとも一つを含むものであることを特徴とする請求項３６に記載のコード読取装置。
【請求項３８】
前記記憶手段が記憶している情報は、複数個の動きを選択可能なプログラムを含み、
前記ランダム性付与手段は、前記プログラムの動きを選択する手段を含むことを特徴とする請求項３６に記載のコード読取装置。
【請求項３９】
前記記憶手段が記憶している情報は、プログラムパラメータを取り扱うプログラムを含み、
前記ランダム性付与手段は、前記プログラムパラメータを変化させ、それによってプログラムの動作を変化させる手段を含むことを特徴とする請求項３６に記載のコード読取装置。
【請求項４０】
前記光学的に読み取り可能なコードとして前記記録媒体に記録されているデータは、複数個の情報を含み、
前記ランダム性付与手段は、前記記録媒体から読み取られた複数個の情報から選択を行うことで、前記記録されている情報の出力を変化させる手段を含むこと特徴とする請求項１乃至３５の何れかに記載のコード読取装置。
【請求項４１】
前記記録媒体に記録されている情報は、テキスト、音声、画像、プログラムの内の少なくとも一つ含むものであることを特徴とする請求項４０に記載のコード読取装置。
【請求項４２】
前記記録媒体に記録されている情報は、複数個の動きを選択可能なプログラムを含み、
前記ランダム性付与手段は、前記プログラムの動きを選択する手段を含むことを特徴とする請求項４０に記載のコード読取装置。
【請求項４３】
前記記録媒体に記録されている情報は、プログラムパラメータを取り扱うプログラムを含み、
前記ランダム性付与手段は、前記プログラムパラメータを変化させ、それによってプログラムの動作を変化させる手段を含むことを特徴とする請求項４０に記載のコード読取装置。
【請求項４４】
請求項１乃至４３の何れかに記載のコード読取装置を用いたことを特徴とする娯楽システム。
【請求項４５】
ランダム性が付加されるべき情報とランダム性の付加に用いられる複数個の情報とを含むデータが、光学的に読み取り可能なコードとして記録され、
前記コードがコード読取装置によって読み取られることにより、当該記録媒体から読み取られた前記複数個のランダム性の付加に用いられる情報から選択を行うことで、その読み取られたランダム性が付加されるべき情報の出力が変化されることを特徴とする記録媒体。
【請求項４６】
前記光学的に読み取り可能なコードとして記録されるデータに含まれる情報は、テキスト、音声、画像、プログラムの内の少なくとも一つ含むものであることを特徴とする請求項４５に記載の記録媒体。
【請求項４７】
ランダム性が付加されるべき情報と複数個の動きを選択可能なプログラムとを含むデータが、光学的に読み取り可能なコードとして記録され、
前記コードがコード読取装置によって読み取られることにより、前記プログラムの動きが選択されて、その読み取られたランダム性が付加されるべき情報の出力が変化されることを特徴とする記録媒体。
【請求項４８】
ランダム性が付加されるべき情報とプログラムパラメータを取り扱うプログラムとを含むデータが、光学的に読み取り可能なコードとして記録され、
前記コードがコード読取装置によって読み取られることにより、前記プログラムパラメータが変化され、それによってプログラムの動作が変化されることで、その読み取られたランダム性が付加されるべき情報の出力が変化されることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを光学的に読み取り可能なコードとして記録した記録媒体からそのコードを光学的に読み取るコード読取装置、及び、そのような記録媒体、並びに、そのようなコード読取装置を用いた娯楽システムに関する。
【０００２】
【従来の技術】
データを光学的に読み取り可能なコード、例えば一次元または二次元バーコートとして記録した記録媒体からそのコードを光学的に読み取るコード読取装置が各種知られている。
【０００３】
【発明が解決しようとする課題】
上記のような従来のコード読取装置は、操作者によるコードの読み取り操作に対して、出力する情報が略一義的に決まっていたものであったため、これをゲーム機器等の娯楽システムや教育機器に応用した場合、単純な遊び方や機械的な学習方法しか提供できず、操作者に興趣を増したり、或いは興味を引き起こしたりするのにはどうしても一定の限界があった。
【０００４】
本発明は、上記の点に鑑みてなされたものであり、本発明の一つの目的は、コード読取装置において、そのコードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備することにより、操作者に対して、コードの読み取り操作に対する結果の意外性を簡単に提示できるようにし、もって、ゲーム機器等の娯楽システムや教育機器に好適に応用できるようにしたコード読取装置を提供することにある。
【０００５】
また、本発明のもう一つの目的は、そのランダム性を活用し、遊びに豊富な変化を与えて操作者の楽しみを拡張する娯楽システムを提供することにある。
【０００６】
【課題を解決するための手段】
上記の目的を達成するために、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から上記コードを光学的に読み取るコード読取装置において、上記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備することを特徴とする。
或いは、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、前記コードの読み取りに関するパラメータを検出することにより読み取り結果にランダム性を付与するパラメータ検出及びランダム性付与手段を含むことを特徴とする。
更に、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、前記記録媒体に関するパラメータを検出することにより読み取り結果にランダム性を付与する検出及び付与手段を含むことを特徴とする。
また、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、自己のコード読取装置固有のパラメータを検出することにより読み取り結果にランダム性を付与する検出及び付与手段を含むことを特徴とする。
或いは、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、前記コードを構成する所定の構成要素間の位置関係に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする。
更に、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、前記コードを構成する所定の構成要素の輝度情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする。
また、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、前記コードを構成する所定の構成要素の大きさに関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする。
或いは、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、前記コードを構成する所定の構成要素の形状に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする。
更に、本発明によるコード読取装置は、データを光学的に読み取り可能なコードとして記録した記録媒体から前記コードを光学的に読み取るコード読取装置において、前記コードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備し、前記ランダム性付与手段は、前記読み取られたコードから欠落した欠落情報に関するパラメータを検出することにより読み取り結果にランダム性を付与する手段を含むことを特徴とする。
【０００７】
なお、上記コード読取装置を用いて娯楽システムを構成することができる。
【０００８】
また、本発明による記録媒体は、ランダム性が付加されるべき情報とランダム性の付加に用いられる複数個の情報とを含むデータが、光学的に読み取り可能なコードとして記録され、上記コードがコード読取装置によって読み取られることにより、当該記録媒体から読み取られた上記複数個のランダム性の付加に用いられる情報から選択を行うことで、その読み取られたランダム性が付加されるべき情報の出力が変化されることを特徴とする。
【０００９】
或いは、本発明による記録媒体は、ランダム性が付加されるべき情報と複数個の動きを選択可能なプログラムとを含むデータが、光学的に読み取り可能なコードとして記録され、上記コードがコード読取装置によって読み取られることにより、上記プログラムの動きが選択されて、その読み取られたランダム性が付加されるべき情報の出力が変化されることを特徴とする。
【００１０】
更に、本発明による記録媒体は、ランダム性が付加されるべき情報とプログラムパラメータを取り扱うプログラムとを含むデータが、光学的に読み取り可能なコードとして記録され、上記コードがコード読取装置によって読み取られることにより、上記プログラムパラメータが変化され、それによってプログラムの動作が変化されるこで、その読み取られたランダム性が付加されるべき情報の出力が変化されることを特徴とする。
【００１１】
即ち、本発明のコード読取装置、娯楽システム及び記録媒体によれば、コードの読み取り結果にランダム性を付与することができるので、操作者に対して、コードの読み取り操作に対する結果の意外性を簡単に提示できるようになる。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１３】
［第１の実施の形態］
図１の（Ａ）は、本発明の第１の実施の形態に係るコード読取装置の構成を示す図である。
【００１４】
即ち、このコード読取装置は、読取装置本体１００と、アプリケーションプログラム格納カートリッジ２００と、プログラム処理装置３００とから構成されている。上記読取装置本体１００は、照明用ＬＥＤ１０１，結像レンズ１０２，撮像素子１０３，Ａ／Ｄ変換回路１０４，２値化回路１０５，２値化メモリ１０６，ＣＰＵ（マイコン）１０７，タイミング発生器１０８，照明駆動回路１０９，操作釦１１０，媒体センサ１１１，システムＲＯＭ１１２，ワークＲＡＭ１１３，バスブリッジ１１４，及び電源部１１５からなる。また、上記アプリケーションプログラム格納カートリッジ２００は、プログラムＲＯＭ２０１，データＲＡＭ２０２，環境検出センサ２０３，及びコネクタ２０４を含んでいる。そして、上記プログラム処理装置３００は、コネクタ３０１，ＣＰＵ３０２，ＲＯＭ３０３，ＲＡＭ３０４，操作部３０５，液晶表示器（ＬＣＤ）３０６，及び音声出力部３０７から構成されている。
【００１５】
ここで、上記読取装置本体１００内の照明用ＬＥＤ１０１は、記録媒体４００上の、データが光学的に読み取り可能に記録されたコード４０１を照明するためのものであり、そのコード４０１からの反射光が上記結像レンズ１０２を介して上記撮像素子１０３によって撮像される。このとき、操作者が上記読取装置本体１００又は上記記録媒体４００を把持して当該読取装置本体１００と記録媒体４００とを相対的に移動させる、即ち手動走査することで、コード４０１がワンショットで撮像できないものであっても、そのコード全体を撮像することが可能である。勿論、コード４０１が、図１の（Ｂ）に示すように、ワンショットで撮像可能な場合には、そのような手動走査は不要である。更には、手動ではなく、記録媒体４００を機械的に移動させるような自走式で撮像することも可能である。
【００１６】
上記撮像素子１０３からのアナログ映像信号は、上記Ａ／Ｄ変換回路１０４によって多値画像信号に変換され、更に、上記２値化回路１０５によって２値画像に変換されて、上記２値化メモリ１０６に記憶される。
【００１７】
上記ＣＰＵ１０７は、この２値化メモリ１０６に記憶された２値画像を処理して、上記コード４０１として記録された元のデータを復元する。また、このＣＰＵ１０７は、上記撮像素子１０３，Ａ／Ｄ変換回路１０４，２値化回路１０５，及び２値化メモリ１０６に駆動信号を与える上記タイミング発生器１０８を制御することで、それら各部の駆動タイミングを制御する。更に、上記２値化回路１０５に閾値設定情報を与えることで２値化の閾値を制御し、上記照明駆動回路１０９に発光パルス信号を与えることで、上記照明用ＬＥＤ１０１の発光を制御する。
【００１８】
なお、このＣＰＵ１０７による各部の制御動作は、上記操作釦１１０の操作に応じた操作指示情報により開始されることができる。或いは、上記媒体センサ１１１からの上記記録媒体４００の検出信号により開始するようにしても良い。即ち、上記操作釦１１０と媒体センサ１１１とは択一的に設けても良いし、両方備えるようにしても構わない。
【００１９】
上記システムＲＯＭ１１２は、上記ＣＰＵ１０７の動作プログラムや各種データを不揮発性に記憶しているメモリであり、上記ワークＲＡＭ１１３は、上記ＣＰＵ１０７の動作中に各種データを一時記憶するのに用いられるメモリである。
【００２０】
上記バスブリッジ１１４は、上記ＣＰＵ１０７のシステムバスと上記アプリケーションプログラム格納カートリッジ２００内のバスとを結合するためのものであり、これにより、上記ＣＰＵ１０７から、上記復元したデータ等の各種データを上記アプリケーションプログラム格納カートリッジ２００側へ通信できるようになっている。
【００２１】
また、詳細は後述するが、上記ＣＰＵ１０７は、上記Ａ／Ｄ変換回路１０４からの多値画像情報より輝度情報等のパラメータを検出して、上記バスブリッジ１１４を介して上記アプリケーションプログラム格納カートリッジ２００側へ送ったり、上記２値化メモリ１０６からの２値画像情報を処理して元のデータを復元する処理の途中で得られる各種パラメータを上記アプリケーションプログラム格納カートリッジ２００側へ送ることも可能にされている。
【００２２】
なお、上記電源部１１５は、該読取装置本体１００内の各部へ電源を供給するためのものである。勿論、このような電源部１１５を設ける代わりに、該読取装置本体１００内の各部への電源を、アプリケーションプログラム格納カートリッジ２００を介してプログラム処理装置３００側から供給するようにしても良い。
【００２３】
一方、上記アプリケーションプログラム格納カートリッジ２００の上記プログラムＲＯＭ２０１は、上記プログラム処理装置３００のＣＰＵ３０２で実行されるアプリケーションプログラムを不揮発性に記憶しているメモリである。
【００２４】
また、上記データＲＡＭ２０２は、上記バスブリッジ１１４を介して上記ＣＰＵ１０７から供給された上記復元されたデータや各種パラメータを保存するメモリである。
【００２５】
そして、上記環境検出センサ２０３は、温度，湿度，時間，位置，気圧，等を検出するためのセンサである。なおこの場合、位置の検出は、ＧＰＳを利用したり、ＰＨＳの位置取得サービスを利用したりすることで行うことができる。
【００２６】
上記コネクタ２０４は、上記プログラム処理装置３００のコネクタ３０１と該アプリケーションプログラム格納カートリッジ２００を電気的に接続するもので、例えば基板の端部に複数の接点を形成したエッジコネクタ等が用いられる。このコネクタ２０４と上記コネクタ３０１により、該アプリケーションプログラム格納カートリッジ２００内のバスと上記プログラム処理装置３００内のシステムバスとが結合され、上記プログラムＲＯＭ２０１に記憶されたアプリケーションプログラム、データＲＡＭ２０２に保存されたデータやパラメータ、及び上記環境検出センサ２０３の検出値を、上記プログラム処理装置３００のＣＰＵ３０２が読み出せるようになる。
【００２７】
なお、特に図示はしていないが、該アプリケーションプログラム格納カートリッジ２００内の各部への電源は、プログラム処理装置３００側から供給されるようになっている。
【００２８】
また、上記プログラム処理装置３００の上記ＲＯＭ３０３は上記ＣＰＵ３０２の動作プログラムや各種データを不揮発性に記憶しているメモリであり、上記ＲＡＭ３０４は、上記ＣＰＵ３０２の動作中に各種データを一時記憶するのに用いられるメモリである。
【００２９】
上記操作部３０５は、操作者が上記ＣＰＵ３０２に対して所望の動作を指示するの用いられる釦等である。上記ＬＣＤ３０６は、上記ＣＰＵ３０２の制御によって画像表示データを表示出力するためのものであり、上記音声出力部３０７は、上記ＣＰＵ３０２の制御によって音声データを音声出力するためのものである。
【００３０】
なお、該プログラム処理装置３００がビデオゲーム機の場合は、上記ＬＣＤ３０６に代えて、テレビモニタ（図示せず）を接続するための端子（図示せず）と、上記ＣＰＵ３０２の制御によって画像表示データを映像信号（ビデオ信号又はＲＧＢ信号）に変換する映像信号発生回路（図示せず）とが設けられることになる。
【００３１】
而して、以上のような構成のコード読取装置では、プログラム処理装置３００のＣＰＵ３０２がアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１に格納されたアプリケーションプログラムに従って、操作部３０５の操作に応じてＬＣＤ３０６の表示出力を変更したり、音声出力部３０７から音声出力を行う。そして、必要に応じて、記録媒体４００に光学的に読み取り可能なコード４０１として記録されたデータが読取装置本体１００によって読み取られ、その読み取り結果がアプリケーションプログラム格納カートリッジ２００のＲＡＭ２０２に格納されるので、プログラム処理装置３００のＣＰＵ３０２はそのコードの読み取り結果を読み出して、コードの読み取り結果に応じた表示出力又は音声出力を上記ＬＣＤ３０６又は音声出力部３０７により行うものである。
【００３２】
以上の動作は、従来のコード読取装置と同様であるが、本実施の形態に係るコード読取装置では、更に、読取装置本体１００又はアプリケーションプログラム格納カートリッジ２００で、上記コードの読み取りにおいて詳細は後述するようなパラメータを検出してＲＡＭ２０２に格納しておき、プログラム処理装置３００のＣＰＵ３０２はそのパラメータに基づいて、上記コードの読み取り結果にランダム性を付与するものであり、それによって、操作者にコード４０１の読み取り操作に対する結果の意外性を提示できるようにしている。
【００３３】
以下に、そのようなランダム性を付与するための手段と、ランダム性の内容について順に説明する。
【００３４】
まず、ランダム性を付与するための手段について説明する。
【００３５】
上記読取装置本体１００の機能は、図２の（Ａ）に示すように表すことができる。即ち、上記照明用ＬＥＤ１０１，結像レンズ１０２，撮像素子１０３，及びＡ／Ｄ変換回路１０４に対応する画像入力手段１２１によって、光学的に読み取り可能な上記コード４０１を撮像して、多値画像を得る。次に、上記２値化回路１０５，２値化メモリ１０６，及びＣＰＵ１０７に対応する２値化手段１２２により、上記多値画像を２値化して２値画像を得る。そして、上記ＣＰＵ１０７に対応するデータ読取位置決定手段１２３により、上記２値画像におけるデータ読取点を決定すると共に、コード位置・形状情報を得る。その後、上記ＣＰＵ１０７に対応するデータ読取手段１２４によって、上記２値画像から上記データ読取点の画像データを読み取ることで、コードデータを得る。そして、上記ＣＰＵ１０７に対応するデータ復元手段１２５によって、上記コードデータに対し復号等の処理を行って、元のデータである復元情報を得る。
【００３６】
例えば、記録媒体４００に記録されたコード４０１が、図２の（Ｂ）に示すように、コード４０１であることを表すコード指標４０２と、記録されるべきデータの「１」又は「０」に応じて黒又は白の四角として示されるデータ４０３とからなるものであるとした場合、上記画像入力手段１２１で得られる多値画像情報，上記２値化手段１２２で得られる２値画像情報，上記データ読取位置決定手段１２３で得られるコード位置・形状情報，上記データ読取手段１２４で得られるコードデータ情報，及び上記データ復元手段１２５で得られる復元情報はそれぞれ、図２の（Ｃ）に示すようになる。
【００３７】
これら、多値画像情報，２値画像情報，コード位置・形状情報，コードデータ情報，及び復元情報は、ＣＰＵ１０７から上記バスブリッジ１１４を介して上記アプリケーションプログラム格納カートリッジ２００のＲＡＭ２０２に格納され、プログラム処理装置３００のＣＰＵ３０２によって読み出されて、その情報内容に応じて、上記復元情報であるコード４０１として記録されていたデータの出力にランダム性を付与することができる。
【００３８】
ここで、上記多値画像情報からは、図３の（Ａ）中の右上に示すように各画素の輝度を検出することで、最大輝度、最小輝度、又は平均輝度のパラメータを得ることができる。或いは、同図中の右下に示すように各輝度の発生頻度を検出することで、黒メジアン、白メジアン、又は極値のパラメータを得ることができる。更には、同図中の左下に示すような撮像領域内に所定領域を設けて、それぞれの平均輝度のパラメータを得ることもできる。勿論、そのような所定領域における最大輝度や黒メジアン等のパラメータを得ることも可能である。
【００３９】
また、上記２値画像情報からは、図３の（Ｂ）中の右上に示すような黒画素と白画素の発生頻度のパラメータを得ることができる。或いは、同図中の右下に示すように、所定位置画素が黒画素であるのか白画素であるかという画素属性のパラメータを得ることができる。更には、同図中の左下に示すように、所定領域に黒画素と白画素が何パーセント存在するかという所定領域の画素分布のパラメータを得ることもできる。
【００４０】
また、上記コード位置・形状情報からは、図４の（Ａ）中の右上に示すようなコード構成要素の位置、大きさ、又は形状のパラメータを得ることができる。或いは、同図中の右下に示すようなデータの読取位置のパラメータを得ることができる。更には、同図中の左下に示すように、コード構成要素、例えばコード指標４０２、の検出数のパラメータを得ることもできる。
【００４１】
また、上記コードデータ情報からは、図４の（Ｂ）に示すように、０の数や１の数、０と１の反転数、データ長、所定長毎の０と１の数、０の連続数や１の連続数、等々のパラメータを得ることができる。
【００４２】
そして、上記復元情報からは、図４の（Ｃ）に示すように、情報の種類（それが絵なのか、文字なのか、音なのか、等）、情報の長さ（バイト数、時間、等）、情報の内容（作成者、コードや記録媒体のＩＤ、等）、等々のパラメータを得ることができる。
【００４３】
なお、コード４０１としては、図５の（Ａ）に示すような二次元コードや同図の（Ｂ）に示すような一次元バーコードを利用することができる。
【００４４】
ここで、図５の（Ａ）に示すような二次元コードにおいては、コードの四隅のうち３つの角にコード指標４０２が配され、データ領域４０４中に、記録すべきデータに応じたデータセル４０３Ａが記録されるようになっている。そして、データセル４０３Ａの量が多い場合に、位置決めを精度良くするために、コード指標間４０２に位置決め指標４０５が配置されている。
【００４５】
また、図５の（Ｂ）に示すような一次元バーコードは、コードの両脇にコード指標４０２が配され、それらの間に記録すべきデータ４０３に応じたバーが記録されて構成されるものである。
【００４６】
更に、図５の（Ａ）に示すようなコードにアドレス情報を加えてブロック化することで、図５の（Ｃ）に示すような複数のブロックからなるコードを構成することかできる。
【００４７】
また、そのような複数ブロックからなるコードとしては、特開平８-１７１６２０号公報に開示されているようなドットコードが知られている。これは、図５の（Ｄ）に示すように、各ブロックが、記録すべきデータに対応したドットイメージが所定の２次元配列にて存在するブロックデータ４０４Ａを有しており、更に、そのブロックデータ４０４Ａ内の各ドット（データドット４０３Ｂ）を読み取るための読取基準点を見つけるために使用される各ブロックの四隅に配置された一定の黒の連続数を有するコード指標としてのマーカ４０２Ａと、その読取基準点を更に精度良く見つけるために使用されるマーカ４０２Ａ間に配置された孤立ドットの集合体である位置決め指標としてのパターンドット４０５Ａと、各ブロックを識別するために同じくマーカ４０２Ａ間に配置されたエラー検出又はエラー訂正符号を含むブロックアドレスパターン４０６と、を有しているものである。
【００４８】
なお、上記２値化手段１２２は、図６の（Ａ）に示すように、輝度情報検出手段１２２Ａ、閾値制御手段１２２Ｂ、及び２値判定手段１２２Ｃから構成することができる。勿論、実際には、上記輝度情報検出手段１２２Ａ及び上記閾値制御手段１２２Ｂは上記ＣＰＵ１０７で、上記２値判定手段１２２Ｃは上記２値化回路１０５で構成されることになる。
【００４９】
即ち、上記画像入力手段１２１からの多値画像情報の輝度を上記輝度情報検出手段１２２Ａで検出し、上記閾値制御手段１２２Ｂは、この輝度情報を使用して、２値化の閾値を決定する（例えば、最大輝度と最小輝度の中間値を閾値とするなど）。そして、この決定された閾値の情報が上記閾値設定情報として、上記２値判定手段１２２Ｃとしての２値化回路１０５に与えられ、上記画像入力手段１２１からの多値画像情報を２値化することになる。
【００５０】
このような構成によれば、上記輝度情報検出手段１２２Ａからは、輝度情報が得られ、これにより、例えば前述したような輝度の最大値等のパラメータを抽出することが可能となる。また、上記閾値制御手段１２２Ｂからは、閾値情報が得られる。
【００５１】
また、コード４０１として、図５の（Ａ）や図５の（Ｄ）に示すような位置決め指標を有するコードを用いた場合には、上記データ読取位置決定手段１２３は、図６の（Ｂ）に示すように、コード指標検出手段１２３Ａ、位置決め指標検出手段１２３Ｂ、データ読取位置算出手段１２３Ｃから構成されることができる。
【００５２】
即ち、上記コード指標検出手段１２３Ａにより、上記２値化手段１２２からの２値画像中よりコード指標４０２（マーカ４０２Ａ）の画像を検出し、上記位置決め指標検出手段１２３Ｂにより、そのコード指標４０２間に配されている位置決め指標４０５（パターンドット４０５Ａ）の画像を検出する。そして、上記データ読取位置算出手段１２３Ｃにより、そのコード指標及び位置決め指標の画像位置に基づいて２値画像中のデータ読取位置を算出する。
【００５３】
このような構成によれば、上記コード指標検出手段１２３Ａからは、コード指標の位置、数、形状情報が得られ、また、上記位置決め指標検出手段１２３Ｂからは、位置決め指標の位置、数、形状情報が得られることになる。
【００５４】
また、コード４０１として、図５の（Ｃ）や図５の（Ｄ）に示したような複数のブロックからなるコードを用いた場合には、図６の（Ｃ）に示すように、アドレス検出手段１２６を更に含むことが必要となる。
【００５５】
即ち、上記データ読取位置決定手段１２３で決定されたデータ読取位置のデータをデータ読取手段１２４で読み取るのと並行して、上記アドレス検出手段１２６により該データの含まれるブロックのアドレスを検出する。そして、上記データ復元手段１２５において、上記データ読取手段１２４で読み取ったデータを上記アドレス検出手段１２６で検出したアドレスに基づいて並び替えた上で、復元していくことになる。
【００５６】
この場合には、上記アドレス検出手段１２６からは、アドレス情報を得ることが可能である。
【００５７】
また、一般にコードデータには、変調をかけたり、エラー訂正データを付加することが行われる場合があるが、そのようなコードを用いた場合には、上記データ復元手段１２５は、図６の（Ｄ）に示すように、復調手段１２５Ａ、エラー訂正情報抽出手段１２５Ｂ、及びエラー訂正手段１２５Ｃから構成される。
【００５８】
即ち、例えば特開平６−２３１４６６号公報に開示されているように、データを光学的に読み取り可能なコード４０１として記録する際には一般に変調が施されているため、上記復調手段１２５Ａによりその変調に対応する復調を上記データ読取手段１２４で読み取られたデータに対して行う。そして、上記エラー訂正情報抽出手段１２５Ｂにより、上記復調手段１２５Ａで復調されたデータからエラー訂正情報を抽出し、上記エラー訂正手段１２５Ｃで、その抽出したエラー訂正情報に従って、上記復調手段１２５Ａで復調されたデータのエラー訂正を行う。
【００５９】
このような構成においては、上記復調手段１２５Ａからは、復調後データ情報が得られ、また、上記エラー訂正情報抽出手段１２５Ｂからは、エラー訂正数や訂正位置などのエラー訂正情報が得られる。
【００６０】
一方、コード４０１を手動走査する場合には、例えば図７の（Ａ）に示すように、コード４０１はカード状の記録媒体４００の一の辺に沿って記録され、このような記録媒体４００を把持し、それを読取装置本体１００に設けられたスリット１３１に沿って移動させることで、上記コード４０１の全体を上記スリット１３１の所定位置に位置決めされた撮像素子１０３の撮像領域１３２に入れていくことになる。
【００６１】
或いは、図７の（Ｂ）に示すように、コード４０１はシート状の記録媒体４００上に記録され、ペン型形状に形成され且つ上記アプリケーションプログラム格納カートリッジ２００とケーブル５００で接続された読取装置本体１００を把持し、該読取装置本体１００をコード４０１をなぞるように移動させることで、その先端に配された図示しない撮像領域にコード４０１の全体を入れていくことになる。
【００６２】
そして、このようにコードを手動走査する場合には、更に、以下のような情報も取得できる。
【００６３】
即ち、図８の（Ａ）に示すように、コード４０１として図５の（Ｃ）や（Ｄ）に示すようなアドレス情報を持ちそのアドレスが順に並んでいるコードを使用して、撮像領域１３２に対して相対的に走査した場合には、相対的移動情報として速度のパラメータを求めることができる。これは、ある時点で図８の（Ｂ）に示すような撮像画面が得られ、次の撮像で同図の（Ｃ）に示すような撮像画面が得られたとすると、各撮像画面に含まれるアドレス情報より、同図の（Ｄ）に示すようにコードの移動量が求められる。そして、その移動量と撮像間隔（時間）とにより、コードの相対的移動速度を算出することができる。
【００６４】
また、この算出された相対的移動速度を微分することで加速度のパラメータが求められる。
【００６５】
或いは、図９の（Ａ）に示すように、コード４０１として図５の（Ｃ）や（Ｄ）に示すようなアドレス情報を持ちそのアドレスが順に並んでいるコードを使用して、ペン型形状の読取装置本体１００でコード４０１を走査した場合には、相対的移動情報として蛇行性に関するパラメータを求めることができる。これは、ある時点で図９の（Ｂ）に示すような撮像画面が得られ、次の撮像で同図の（Ｃ）に示すような撮像画面が得られたとすると、同図の（Ｄ）に示すように撮像領域１３２に対してコード４０１が移動していることが判る。従って、この場合には、同図の（Ｅ）に示すように、２つの撮像画面のアドレスを対応させることで、撮像画面間での移動量、つまりどれだけ蛇行したかが求められる。
【００６６】
また、コード４０１として図５の（Ｃ）や（Ｄ）に示すようなアドレス情報を持ちそのアドレスが順に並んでいるコードを使用した場合には、相対的移動情報として、その相対移動の方向又は回数に関するパラメータを求めることも可能である。即ち、アドレスが昇順で検出されたのか、降順で検出されたのかにより、移動方向が判別できる。また、図７の（Ｃ）に示すように、「１，２，３，４，５，６，７，８，７，６，５，４，５，６，５，６，７，８，９，１０，…」とアドレスが検出されたならば、そのアドレスの検出順により、同図中に丸数字で示す順にコード４０１が相対移動された、つまり移動方向と移動回数を共に求めることができる。
【００６７】
また、以下のようにして、コード読取装置に関するパラメータも得ることができる。
【００６８】
即ち、読取装置本体１００が、図７の（Ａ）に示したようなスリット１３１にカード状の記録媒体４００を通すことでコード４０１を読み取るタイプの場合、照明用ＬＥＤ１０１，結像レンズ１０２，及び撮像素子１０３は、図１０の（Ａ）に示すように、記録媒体４００がスリット１３１の底である走査ガイド１３３に当て付けながら移動されるときに、撮像領域１３２がコード４０１の位置となるように組み付けられる。
【００６９】
このとき、図１０の（Ｂ）に示すように、撮像画面より、例えばコード指標４０２の読取位置の情報等を利用して、コード４０１を構成するブロックの対角線長を検出することで、予めコード４０１のサイズが先見情報として与えられていれば、結像レンズ１０２の倍率に関するパラメータを求めることができる。
【００７０】
或いは、図１０の（Ｃ）に示すように、撮像画面の画面端からコード指標４０２までの距離を検出することで、走査ガイド１３３の位置に関するパラメータを求めることができる。
【００７１】
また、図１０の（Ｄ）に示すように、輝度情報（ここでは、所定領域毎の平均輝度の情報）を検出することで、照明用ＬＥＤ１０１の照明状態に関するパラメータを取得したり、図１０の（Ｅ）に示すように、コードを構成するブロックの形状、例えばそれぞれの縦又は横方向長さを検出することで、結像レンズ１０２の歪み状態に関するパラメータを取得することができる。
【００７２】
ここまでは、検出できるパラメータの種類やその検出方法について説明してきたが、図１１は、ランダム性を出すために効果的なパラメータの例をまとめたものである。即ち、検出された情報と、その情報から得られるパラメータ、並びに、そのパラメータが「読取に関するパラメータ」、「読取方に関するパラメータ」、「記録媒体に関するパラメータ」、及び「読取装置に関するパラメータ」の何れとして特に有効であるかを一覧形式で示している。
【００７３】
なお、「読取方に関するパラメータ」とは、同じ記録媒体で、操作者の操作の仕方により結果をコントロールできるような使い方が可能となるパラメータである。また、「記録媒体に関するパラメータ」とは、同じ読取装置で、同じように操作しても、読み取る媒体によって結果の出方がコントロールされるような使い方が可能となるパラメータである。そして、「読取装置に関するパラメータ」とは、同じ記録媒体で、同じように操作しても、読取装置によって結果の出方がコントロールされるような使い方が可能となるパラメータである。
【００７４】
即ち、環境情報を検出すれば、温度、湿度、時間、位置、気圧、等々の読取環境パラメータが得られ、このパラメータは「読取に関するパラメータ」又は「読取装置に関するパラメータ」として利用して特に有効である。また、この環境情報としては、電源立ち上がり時間や電源電圧のパラメータを得ることも可能で、このパラメータは「読取装置に関するパラメータ」として利用して特に有効である。
【００７５】
一方、多値画像情報を検出すれば、最大輝度、最小輝度、平均輝度、輝度分布、所定領域の平均輝度、等のパラメータが得られ、これらのパラメータは、例えばペン型形状の読取装置本体１００の浮きや傾きのパラメータとなるので「読取方に関するパラメータ」として利用でき、また、例えば記録媒体４００の反射率のパラメータでもあるので「記録媒体に関するパラメータ」として利用でき、或いは、照明用ＬＥＤ１０１の照明量やシェーディング、撮像素子１０３のセンサ感度のパラメータでもあるので「読取装置に関するパラメータ」として利用することができる。また、この多値画像情報からは、例えば最大輝度と最小輝度の比を演算することでコード４０１の記録濃度のパラメータを得ることができ、この濃度パラメータは「記録媒体に関するパラメータ」として利用できる。或いは、コード構成要素の輝度、例えばコード指標の輝度や背景の輝度のパラメータを得ることも可能で、このパラメータは「記録媒体に関するパラメータ」や「読取装置に関するパラメータ」として利用できる。
【００７６】
また、閾値情報を検出すれば、閾値パラメータが得られ、これは、記録媒体の記録濃度や読取装置の照明量によって変化するので、「記録媒体に関するパラメータ」や「読取装置に関するパラメータ」として利用して特に有効である。
【００７７】
一方、２値画像情報を検出すれば、黒画素数や白画素数、白／黒画素数比、等のパラメータが得られ、このパラメータはコードやその周辺のデザインに依存するので「記録媒体に関するパラメータ」として利用できる。また、特に黒画素数パラメータについては、照明量やシェーディング量にも関係するので、「読取装置に関するパラメータ」としても利用できる。
【００７８】
更に、コード指標（位置決め指標）位置・数・形状情報を検出すれば、コード指標（位置決め指標）検出位置、コード指標（位置決め指標）検出数、コード指標大きさ、コード指標形状、コード指標重心／中心位置、コード指標間距離（コードやブロック大きさ）、コード指標位置関係（コードやブロック形状）、コード指標欠落情報、等のパラメータが得られる。これらのパラメータは「読取に関するパラメータ」及び「読取方に関するパラメータ」として利用して特に有効である。また、例えば印刷濃度や結像レンズ１０２の倍率で変化することから、コード指標検出位置、コード指標大きさ、コード指標形状、コード指標重心／中心位置、コード指標間距離、コード指標位置関係、及びコード指標欠落情報パラメータは、「記録媒体に関するパラメータ」及び「読取装置に関するパラメータ」として利用することができる。
【００７９】
或いは、アドレス情報を検出すれば、アドレス、また、アドレスにエラー訂正符号を付加していればアドレスのエラー訂正数（アドレスデータ欠落）、アドレスエラー訂正位置、アドレス欠落情報、等のパラメータが得られる。ここで、アドレスパラメータは、例えばアドレス「１０」が検出された／されない、或いは、アドレス「１０」が何フレーム目で検出された（読み取り開始後、何ｍＳで検出された）という情報であり、「読取に関するパラメータ」及び「読取方に関するパラメータ」として利用して特に有効である。また、アドレスエラー訂正数（アドレスデータ欠落）パラメータは、アドレスが幾つ誤ったかという情報であり、走査速度や蛇行、媒体上の汚れなどに依存するので「読取に関するパラメータ」、「読取方に関するパラメータ」、及び「記録媒体に関するパラメータ」として利用できる。また、アドレスエラー訂正位置パラメータは、アドレスのどこが誤ったかという情報であり、「記録媒体に関するパラメータ」として利用できる。更に、アドレス欠落情報パラメータは、読取方によってアドレスが欠落したり、記録状態によって欠落したり、或いは結像レンズ１０３が汚れていたり撮像素子１０３に欠損があることで欠落する等考えられるので、「読取に関するパラメータ」、「読取方に関するパラメータ」、「記録媒体に関するパラメータ」及び「読取装置に関するパラメータ」として利用して特に有効である。
【００８０】
一方、コードデータ情報からは、データ読取位置、黒数、白数、黒／白比、データ長、ブロック読取数、等のパラメータが得られる。これらのパラメータは、どういうコードが記録されているかに起因するので、「記録媒体に関するパラメータ」として利用して特に有効である。また、データ読取位置パラメータについては、蛇行などに起因することもあるので、「読取に関するパラメータ」及び「読取方に関するパラメータ」としても利用できる。更に、ブロック読取数パラメータは、例えば走査速度が速すぎで全てのブロックを読み取れないというようなことがあるので、「読取に関するパラメータ」及び「読取方に関するパラメータ」としても利用できる。
【００８１】
また、復調後データ情報を検出した場合には、１の数、０の数、１／０の比等のパラメータが得られ、これらのパラメータは、コードに起因するので、「記録媒体に関するパラメータ」として利用して特に有効である。
【００８２】
一方、エラー訂正情報を検出した場合には、エラー訂正数（データ欠落）及びエラー訂正位置パラメータが得られる。ここで、エラー訂正数（データ欠落）パラメータは、走査速度や記録媒体の状態に依存するので、「読取に関するパラメータ」、「読取方に関するパラメータ」及び「記録媒体に関するパラメータ」として利用される。エラー訂正位置パラメータは、記録状態に依存するところが大きいので、「記録媒体に関するパラメータ」として利用して特に有効である。
【００８３】
また、復元情報を検出した場合には、ＩＤ、作成者、情報の種類、記録時間、データ量、等のパラメータが得られ、これらのパラメータは、コードに記録されている情報に依存するので、「記録媒体に関するパラメータ」として利用して特に有効である。
【００８４】
そして、相対的移動情報が検出された場合には、移動速度、移動方向、移動回数、等のパラメータが得られ、これらのパラメータは「読取に関するパラメータ」及び「読取方に関するパラメータ」として利用して特に有効である。また、蛇行性パラメータも得られるが、このパラメータは、ペン型形状の読取装置本体１００を使用する場合には「読取に関するパラメータ」、「読取方に関するパラメータ」として利用され、また、スリット１３１にカード型の記録媒体４００を通してコードを読み取るタイプの読取装置本体１００が使用される場合には、記録媒体４００の裁断辺の裁断誤差に起因するので「記録媒体に関するパラメータ」として、更には、裁断辺と接する走査ガイド１３３と撮像素子１０３との組み付け誤差等にも起因するので、「読取装置に関するパラメータ」としても利用できる。
【００８５】
また、この相対的移動情報からは、上記操作釦１１０の操作又は媒体センサ１１１による媒体検出に応じた入力指示がなされた時点から実際にコードの所定位置を撮像するまでの時間をパラメータとして得ることができ、このパラメータは、「読取に関するパラメータ」及び「読取方に関するパラメータ」として利用することができる。
【００８６】
なお、図１１中に丸で示すのは、特に有効という意味であり、丸が付されていなくても、当該パラメータが「読取に関するパラメータ」、「読取方に関するパラメータ」、「記録媒体に関するパラメータ」、又は「読取装置に関するパラメータ」として利用できる場合もある。
【００８７】
また、「読取方に関するパラメータ」としては、図１２の（Ａ）に示すようなマスキングカードを利用することも考えられる。
【００８８】
即ち、マスキングカード４００Ｍは、寸法形状同一のものが複数セット存在し、それぞれ上記カード型の記録媒体４００に対応するデータカード４００Ｄ上のデータコード４０１Ｄに対応する位置に孔４１１が設けられ、その孔４１１の横に制御コード４０１Ｃが配されている。ここで、制御コード４０１Ｃの大きさ及び印刷位置は同一であり、よって、操作者から見たマスキングカード４００Ｍはどれも同じである。
【００８９】
また、データカード４００Ｄは、データコード４０１Ｄのコードブロック構成、印刷位置は同一であり、マスキングカード４００Ｍによって選択される情報を含んだデータコード４０１Ｄを記録したデータカード４００Ｄを複数種類制作するものである。
【００９０】
そして、同図の（Ｂ）に示すように、欲しい情報カード（データカード４００Ｄ）の上に、任意に選択したマスキングカード４００Ｍを重ねて、コードの読取操作を行うと、制御コード４１２とデータコード４０１Ｄとが読み取られ、その制御コード４１２の情報に従って、データコード４０１Ｄから読み取られるブロックが決定される。
【００９１】
即ち、同図の（Ｃ）に示すように、データコード４０１Ｄのみをコード読取装置で読み取った場合には、そのデータコード４０１ＤのＺのブロックのみが読まれ、そのＺには、例えば「マスキングカードを重ねて読んでね」というメッセージが表示出力又は音声出力されるようなデータが記録されている。そして、制御コード４０１Ｃとして制御コード“Ａ”が記録されたマスキングカード４００Ｍを重ねて読み取ると、データコード４０１ＤのＡのブロックのみが読まれる。
【００９２】
このように重ねるマスキングカードとデータコードの組み合わせにより、出力が異なってくるものである。
【００９３】
次に、上記のようなランダム性を付与するための手段を用いて、コードの読取結果にどのようなランダム性を与えることができるかを説明する。
【００９４】
ここでは、本実施の形態に係るデータ読取装置が娯楽システムであるものとして説明する。
【００９５】
この場合、図１３の（Ａ）に示すように、上記プログラム処理装置３００は携帯型のゲーム機本体として提供され、偏平に形状をしたハウジング３１１の一方主面（図示の表面）に上記操作部３０５及びＬＣＤ３０６を装着している。ハウジング３１１の背面上部には、ゲームカートリッジとして提供される上記アプリケーションプログラム格納カートリッジ２００を挿入するための挿入孔３１２が形成されている。一方、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００は、上記挿入孔３１２に挿入される側と反対側に上記読取装置本体１００が一体的に取り付けられている。この場合、該カートリッジ２００がゲーム機本体としての上記プログラム処理装置３００に装着されたときに上部となる位置に、上記記録媒体４００が通されるスリット１３１が露出するように形成されている。
【００９６】
一方、記録媒体４００は、図１の（Ｃ）に示すような遊戯カードのセットとして提供される。即ち、この遊戯カードとしての記録媒体４００は、その一方主面に、図柄表示領域４３１と、能力データ記録領域４３２と、データを光学的に読み取り可能に記録したコード４０１とが記録形成されたものである。
【００９７】
ここで、上記図柄表示領域４３１は、例えば記録媒体４００が縦長の長方形であれば、最も目立つ上部（上半分）領域又は上半分よりも多少広い領域の領域に形成され、その中に動物又は人物若しくは架空のモンスター等の種々のキャラクタが印刷等によって描かれる。また、この図柄表示領域４３１に描かれるキャラクタは、遊戯カードの特徴を表すために、カード毎に異なる種類又はデザイン若しくは図柄のキャラクタであり、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１に記憶されたゲームプログラムを実行したときにゲーム画面に登場するキャラクタ（主人公キャラクタ又は味方や敵のキャラクタ若しくは収集対象となるキャラクタ等）を含む。このキャラクタは、好ましくは収集家（コレクター）が収集したくなるような珍しいキャラクタや可愛らしいキャラクタが任意の確率で含まれるように、多数枚（例えば３０枚〜４０枚）組み合わせてセット販売（これを「スタータキット」という）されるか、読取装置本体１００及びアプリケーションプログラム格納カートリッジ２００と同梱してセット販売される。また、これらの多数枚のセット販売とは別に、少ない枚数で複数枚組み合わせてセット販売（これを「拡張パック」という）される場合もある。更に、読取装置本体１００がアプリケーションプログラム格納カートリッジ２００と別体として提供される時には、上記スタータキットをアプリケーションプログラム格納カートリッジ２００と同梱してセット販売して良い。
【００９８】
また、上記能力データ記録領域４３２は、上記図柄表示領域４３１に描かれたキャラクタの能力データ（属性データという場合もある）を文字，記号，数値若しくはこれらの組み合わせで表示する領域であり、例えば、キャラクタの名称とキャラクタ番号、キャラクタの使用できる武器又は魔法、体力，パワー，ヒットポイント，攻撃力，防禦力等を表す文字又は記号とその量を示す数値、その他種々のデータが目視可能（視覚的に認識可能）に印刷される。さらに、必要に応じて、この能力データ記録領域４３２には、キャラクタの描かれた記録媒体４００の稀少価値の程度を表す記号（レア度マーク）が印刷される。
【００９９】
上記コード４０１は、遊戯カードとしての記録媒体４００の少なくとも一辺に沿って目立たないように形成される。このコード４０１は、必要に応じて、上記記録媒体４００の上記図柄表示領域４３１及び能力データ記録領域４３２を除く領域であって、対向する二辺に沿って形成しても良く、また、上記図柄表示領域４３１及び能力データ記録領域４３２を囲む三辺又は四辺に沿って形成しても良い。このコード４０１として記録されるデータは、例えば、上記能力データ記録領域４３２に記録されているキャラクタの識別コード，ゲームに使用できる技又は武器，特徴を説明した単語又は文章等の文字（又はテキスト）データ等の能力データと同じデータであったり、それに追加するデータ（例えば、音声データ，キャラクタの図柄を示すドットデータ若しくはグラフィックデータ）等の複数の情報を含む。
【０１００】
なおここで、上記能力データ及び追加データは、ゲーム内容に応じて適宜選択されるデータである。追加データは、キャラクタが人間であれば話し声，動物や架空のモンスターであれば鳴き声等の音声データ、目視可能な態様で記録されている能力データ以外の追加能力データ（魔法を使えるアイテムや一定時間無敵状態になる等の隠し能力データ）等が含まれる。
【０１０１】
例えば、ゲーム内容が架空のモンスターの捕獲又は育成ゲームの場合は、図柄表示領域４３１に描かれるキャラクタがモンスターであり、コード４０１として記録されるデータ（能力データ及び／又は追加データ）がモンスター毎の技のデータ，鳴き声の音声データ，進化に関するデータ，モンスターの特徴を説明する単語又は文章等の説明文（文字又はテキストデータ），これらの説明文の翻訳データ等である。また、ゲーム内容が野球又はサッカー等のスポーツゲームの場合は、キャラクタがスポーツ（野球又はサッカー）選手の写真であり、コード４０１として記録されるデータが写真の選手のチーム名，背番号，年令に加えて成績データ（野球の場合は、打者ならば打率，ホームラン数，打点，盗塁数，走力等、投手ならば防禦率，奪三振数，自責点等。サッカーの場合は、身体能力，得点，アシスト数等）である。また、ゲーム内容がロールプレイングゲーム又はアクションゲームの場合は、キャラクタがゲーム登場人物又は動物若しくは架空の動植物であり、個性表現データが登場人物のライフ，パワー，能力，使用可能なアイテム（武器・防具・魔法）等である。
【０１０２】
また、複数枚の遊戯カードとしての記録媒体４００を組み合わせて１つのミニゲームをプレイ可能にする場合は、ミニゲームのためのプログラムが複数個に分割され、分割されたミニゲーム用プログラムの一部と順序データとが各遊戯カードとしての記録媒体４００のコード４０１に分けて記録されることもできる。この場合、ミニゲームのプログラムを複数種類準備しておき、カードの種類（カードが水系，火系，草系等のモンスターの種類）によって、ミニゲームの種類を異ならせても良い。
【０１０３】
さらに、コード４０１への記録は、複数種類のデータを適宜の組み合わせで記録するようにしても良い。
【０１０４】
また、図１３の（Ｂ）に示すように、各種類のデータのデータ種類やデータ量（バイト数）を判別するための属性と、当該記録媒体４００を特定するためのカードＩＤとを、ヘッダとして記録しておき、記録データの種類毎にそのデータを判別して電子ゲームに反映させるようにしても良い。
【０１０５】
このような遊戯カードとしての記録媒体４００は、図柄表示領域４３１に印刷される図柄の魅力により、収集カード（トレーディングカード）として収集され、能力データ記録領域４３２に記録した情報を用いてカードゲーム単独のゲームにも使用できる。
【０１０６】
なお、以下の説明では、電子ゲーム内容が架空のモンスターの捕獲又は育成ゲームであり、遊戯カードとしての記録媒体４００の図柄が電子ゲームに登場するモンスターである場合を例に説明する。
【０１０７】
この場合、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１には、上記のような遊戯カードとしての記録媒体４００のコード４０１から読み取られたデータと、前述のようにして得られた「読取に関するパラメータ」，「読取方に関するパラメータ」，「記録媒体に関するパラメータ」，及び／又は「読取装置に関するパラメータ」とを使用して、電子ゲームの内容に変化を与えるためのプログラムが記憶されている。例えば、上記個性表現データがキャラクタの能力を高めるアイテム（武器又は魔法等）であれば、上記パラメータに応じて決定されるアイテムを本来のゲーム中に使用可能にするプログラム等が含まれる。また、個性表現データがゲームソフトに登場するキャラクタにないキャラクタのドット（又はグラフィック若しくはイメージ）データの場合は、遊戯カードとしての記録媒体４００から読み取られたキャラクタのドット（グラフィック）データをそれぞれ異なるアニメーション表示するためのプログラムを含み、どのようなアニメーション表示するかが上記パラメータにより決定される。その他の例としては、記録媒体４００に記録されている個性表現データが複数のミニゲーム用プログラムのそれぞれの一部を所定のデータ単位に分割したものの場合は、パラメータによってどのミニプログラムかが決定されて、複数の記録媒体４００から読み出した当該ミニプログラムの各一部を予め定める順序に組み立てて１つのミニゲームプログラムを構成し、ミニゲームを実行する制御プログラムであることも考えられる。
【０１０８】
図１４は、上記のような構成の娯楽システムの動作を説明するためのフローチャートを示している。
【０１０９】
即ち、携帯ゲーム機本体としてのプログラム処理装置３００の電源スイッチ（図示せず）が投入されると、読取装置本体１００のＣＰＵ１０７は、システムＲＯＭ１１２のプログラムに基づいてこの動作をスタートする。そして、まず、上記媒体センサ１１１の出力に基づいて遊戯カードとしての記録媒体４００の挿入検出があったか否か（或いは、上記操作釦１１０の操作による操作指示情報があるか否か）を判断する（ステップＳ１１）。ここで、挿入検出のない場合には、媒体センサ１１１が遊戯カードとしての記録媒体４００を検出するまで待機する。
【０１１０】
これに対して、遊戯カードとしての記録媒体４００がスリット１３１に挿入されると、媒体センサ１１１が遊戯カードとしての記録媒体４００を検出する。これに応じて、ＣＰＵ１０７は、上記照明用ＬＥＤ１０１を点灯駆動する（ステップＳ１２）。そして、コード４０１の形成されている辺に沿うように、操作者が記録媒体４００をスリット１３１の底の走査ガイド１３３に当て付けながらの移動を開始するので（ステップＳ１３）、ＣＰＵ１０７は、上記撮像素子１０３によって上記記録媒体４００上のコード４０１を撮像させ（ステップＳ１４）、その撮像結果を上記２値化回路１０５に２値化させて、２値化メモリに２値画像として取り込ませる（ステップＳ１５）。その後、前述したようにして、この２値画像よりデータ読取位置を決定して（ステップＳ１６）、データを読み取り（ステップＳ１７）、元のデータに復元して（ステップＳ１８）、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＡＭ２０２にその復元されたデータを書き込む。また、この処理の途中で得られた、前述したようなパラメータもＲＡＭ２０２に格納される。
【０１１１】
そしてここで、遊戯カードとしての記録媒体４００の移動が終了したか否か（或いは、上記操作釦１１０の操作による操作指示情報がなくなったか否か）が判断され（ステップＳ１９）、まだ媒体センサ１１１が記録媒体４００の検出期間中であれば前述のステップＳ１４へ戻り、記録媒体４００を検出しなくなるまでステップＳ１４〜Ｓ１９の動作が繰り返される。つまり、このステップＳ１４〜Ｓ１９の動作は、コード４０１に記録されている全てのブロックのデータが読み出されるまで繰り返される。
【０１１２】
而して、ステップＳ１９において、遊戯カードとしての記録媒体４００の移動終了が検出されると、照明用ＬＥＤ１０１が消灯される（ステップＳ２０）。そして、上記ＲＡＭ２０２に記憶されている、１枚の遊戯カードとしての記録媒体４００のコード４０１から読み取られたデータ及び処理途中で得られたパラメータは、携帯ゲーム機本体としてのプログラム処理装置３００のＣＰＵ３０２によって順次読み出されて、ＲＡＭ３０４に一時記憶される（ステップＳ２１）。そして、ＣＰＵ３０２は、このＲＡＭ３０４に記憶されている読取データを解析し（ステップＳ２２）、その解析後の読取データとゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１に記憶されているプログラムとに基づいて、本来のゲーム処理に基づく処理に対して解析後の読取データに応じたランダム性を加えた処理を行う（ステップＳ２３）。このランダム性を加えた処理としては、例えばコード４０１に記録されているデータがテキストデータであれば、読み取った文字又は文章をＬＣＤ３０６に表示するが、その際に、パラメータに応じてフォントを変えたり、語尾を変化させる等の処理が行われる（ステップＳ２３Ａ）。また、コード４０１に記録されているデータがキャラクタを表示するためのグラフィック（又はドット）データであれば、そのグラフィックデータがＬＣＤ３０６に表示されるが、その際、パラメータに応じて表示間隔を変えたりするランダム性を加える（ステップＳ２３Ｂ）。さらに、コード４０１に記録されているデータがモンスターの鳴き声等の音声データであれば、音声データがＤ／Ａ変換されて音声出力部３０７から音声として出力されるが、その際、パラメータに応じて音声の出力時間を変える等のランダム性を加える（ステップＳ２３Ｃ）。
【０１１３】
次に、上記パラメータに応じてどのうよにしてランダム性が付加されるかを、例えば、上記エラー訂正数のパラメータを使う場合を例に、より詳細に説明する。
【０１１４】
今、遊戯カードとしての記録媒体４００には、図１３の（Ｂ）に示す論理形式でデータがコード４０１として記録されており、このコード４０１から読み取られたデータは、エラーがある場合にはエラーを訂正され、著しくエラーが多い場合を除いてデータが読み出されることが保証されている。
【０１１５】
ここで、データ部には、画像データが収容され、これに画像データのもう一つの要素であるアニメーションパターンが加わって、アニメーションパターン通りの動きをＬＣＤ３０６に表示するように構成されている。また、記録媒体４００のコード４０１の読み取り時に検出したエラー訂正数（エラーレート）がＣＰＵ１０７からＣＰＵ３０２にＲＡＭ２０２，３０４を介して伝えられるようになっている。
【０１１６】
また、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１には、図１３の（Ｃ）に示すように、エラーレートとアニメーションパターンの組が記憶されている。ここで、例えば、アニメーションパターン［０］には弱いアニメーションを、パターンが［１］，［２］，［３］，…となるにつれて力強いアニメーションにすることにより、使い込むに従ってキャラクタが強くなるカードとなる遊びが実現できる。
【０１１７】
このようなアニメーションパターンをＲＯＭ２０１に持つ場合、携帯型ゲーム機本体としてのプログラム処理装置３００のＣＰＵ３０２は、上記ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１に記憶されたゲームプログラムに従って、図１５に示すようにして、アニメーションを実現する。
【０１１８】
即ち、この場合には、前述のステップＳ２１に相当する処理として、上記コード４０１から読み取られたキャラクタデータと、そのキャラクタデータ取得の処理中に得られたパラメータであるエラーレートＥとを、アプリケーションプログラム格納カートリッジ２００のＲＡＭ２０２から読み出して、ＲＡＭ３０４に記憶する（ステップＳ１１１）。なお、この例では、ＲＯＭ２０１に記憶されている情報により、コード４０１から読み出されるデータがキャラクタデータであることが予め判っているので、上記ステップＳ２２の読み取りデータの解析処理は省略される。
【０１１９】
そして、ＣＰＵ３０２は、内部カウンタα（図示せず）に初期値として「０」をセットし（ステップＳ１１２）、その後、その内部カウンタαの値で示されるエラーレート［α］と上記ＲＡＭ３０４に記憶したエラーレートＥとを比較し、エラーレートＥがエラーレート［α］以上であるか否かを判別する（ステップＳ１１３）。
【０１２０】
ここで、エラーレートＥがエラーレート［α］以上でない場合には、上記内部カウンタαの値を「＋１」する（ステップＳ１１４）。そして、その「＋１」後の内部カウンタαの値が上記ＲＯＭ２０１に記憶されているエラーレートとアニメーションパターンの組の数ｎを越えたか否かを判別し（ステップＳ１１５）、まだ越えていなければ上記ステップＳ１１３に戻る。これに対して、上記組の数ｎを越えてしまった時には、所定のエラー表示出力やエラー音声の出力を行うことになる。
【０１２１】
また、エラーレートＥがエラーレート［α］以上となった場合には、上記ステップＳ１１３においてＹＥＳと判定され、この場合には、そのエラーレート［α］に対応するアニメーションパターン［α］をアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１から読み出し、それを上記ＲＡＭ３０４に記憶されているキャラクタデータと組み合わせて表示することにより、アニメーション表示を行う（ステップＳ１１６）。
【０１２２】
このように、遊戯カードとしての記録媒体４００のコード４０１から読み取られるキャラクタデータは一つであるにもかかわらず、その読み取りのエラーレートＥに応じて複数のアニメーションパターンの一つを選択することで、異なるアニメーションが表示される。
【０１２３】
また、１３の（Ｃ）に示すようなアニメーションパターンを持たずに、プログラムそのものでアニメーションを実現することも可能である。この場合は、ＣＰＵ３０２は、ＲＯＭ２０１に記憶されたゲームプログラムに従って、図１６の（Ａ）に示すように動作する。
【０１２４】
即ち、この場合には、上記コード４０１から読み取られたキャラクタデータと、そのキャラクタデータ取得の処理中に得られたパラメータであるエラーレートＥとを、アプリケーションプログラム格納カートリッジ２００のＲＡＭ２０２から読み出して、ＲＡＭ３０４に記憶する（ステップＳ１２１）。
【０１２５】
そして、そのＲＡＭ３０４に記憶したエラーレートＥを、ＲＯＭ２０１に記憶されたゲームプログラムにより与えられる２つのエラーレート定数β１，β２と比較する（ステップＳ１２２）。
【０１２６】
ここで、エラーレートＥが第１のエラーレート定数β１以下であれば、上記ＲＯＭ２０１に記憶されたゲームプログラムのアニメーション１サブルーチンが実行され（ステップＳ１２３）、上記ＲＡＭ３０４に記憶されているキャラクタデータを用いた第１のアニメーション表示が行われる。
【０１２７】
また、エラーレートＥが上記第１のエラーレート定数β１よりも大きいが第２のエラーレート定数β２以下であれば、上記ＲＯＭ２０１に記憶されたゲームプログラムのアニメーション２サブルーチンが実行され（ステップＳ１２４）、上記ＲＡＭ３０４に記憶されているキャラクタデータを用いた第２のアニメーション表示が行われる。
【０１２８】
そして、エラーレートＥが上記第２のエラーレート定数β２よりも大きければ、上記ＲＯＭ２０１に記憶されたゲームプログラムのアニメーション３サブルーチンが実行され（ステップＳ１２５）、上記ＲＡＭ３０４に記憶されているキャラクタデータを用いた第３のアニメーション表示が行われる。
【０１２９】
このように、遊戯カードとしての記録媒体４００のコード４０１から読み取られるキャラクタデータは一つであるにもかかわらず、その読み取りのエラーレートＥに応じてプログラムの動きを選択することで、異なるアニメーションが表示される。
【０１３０】
また、図１７に示すように、エラーレートＥの大きさに従い、アニメーションのフレームレート、つまりアニメーションの動くスピードを変化させるよう構成することも可能である。
【０１３１】
即ち、まず、上記コード４０１から読み取られたキャラクタデータと、そのキャラクタデータ取得の処理中に得られたパラメータであるエラーレートＥとを、アプリケーションプログラム格納カートリッジ２００のＲＡＭ２０２から読み出して、ＲＡＭ３０４に記憶する（ステップＳ１３１）。
【０１３２】
そして、このＲＡＭ３０４に記憶したエラーレートＥで、ＲＯＭ２０１に記憶されたゲームプログラムにより与えられる定数Ｆを割り、その結果の値を書替インターバルとして内部レジスタに記憶する（ステップＳ１３２）。また、内部カウンタＴに初期値として「０」をセットすると共に、内部カウンタＡに初期値として「０」をセットする（ステップＳ１３３）。
【０１３３】
その後、上記内部カウンタＴの値を「＋１」すると共に、内部カウンタＡの値を「＋１」する（ステップＳ１３４）。そして、その内部カウンタＡの値が上記内部レジスタに記憶した書替インターバルよりも小さいか否かを判別する（ステップＳ１３５）。
【０１３４】
ここで、内部カウンタＡの値が書替インターバルよりも小さい場合には、上記ＲＡＭ３０４に記憶されているキャラクタデータを用いた一画面表示を行う（ステップＳ１３６）。そしてその後、上記内部カウンタＴの値が１５０以下であるか否かを判別し（ステップＳ１３７）、そうであれば、上記ステップＳ１３４に戻る。
【０１３５】
また、上記ステップＳ１３５で、内部カウンタＡの値が書替インターバル以上となったと判別された時には、上記ＲＡＭ３０４に記憶されているキャラクタデータの画像を書き替える（ステップＳ１３８）。そして、上記内部カウンタＡの値を「０」にリットとした後（ステップＳ１３９）、上記ステップＳ１３６に進み、その書き替えられたキャラクタデータを用いた一画面表示を行うことになる。
【０１３６】
こうして、上記ステップＳ１３７で上記内部カウンタＴの値が１５０を越えるまで、上記処理が繰り返される。
【０１３７】
即ち、画像は３０分の１秒毎に一回書き替えを行うようになっており、上記書替インターバルは、その３０分の１秒毎の画面書き替えの何回毎にキャラクタデータに変更を加えるかを示している。エラーレートＥが大きくなると、この書替インターバルが小さくなり、頻繁に書き替えられるため、アニメーションが早く動くようになる。このフローチャートにおいては、１５０フレームつまり５秒間ループをして、処理を終了するようになっている。
【０１３８】
このように、遊戯カードとしての記録媒体４００のコード４０１から読み取られるキャラクタデータは一つであるにもかかわらず、その読み取りのエラーレートＥをプログラムパラメータとして使用することでプログラムの動作を変化させ、異なるアニメーションが表示される。
【０１３９】
なお、上記アニメーションパターンデータや図１５，図１６の（Ａ）及び図１７のフローチャートで示された動作を行うプログラムを、ＲＯＭ２０１に収納せずに記録媒体４００上のコード４０１に収納し、ＲＡＭ２０２を介してＲＡＭ３０４に転送して動作させる構成でも実現できる。即ち、基本的には、図１３の（Ｃ）に括弧書きで示すように、ＲＯＭ２０１をＲＡＭ２０２に置き換えるだけで良い。
【０１４０】
このようにコード４０１に記録する場合には、これらの情報を置くスペースが記録媒体４００に必要となるために、記録媒体４００上の他のスペース、即ち図柄表示領域４３１及び能力データ記録領域４３２が圧迫されるというデメリットがある一方で、アメーションパターンやプログラムが、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００側のＲＯＭ２０１内に固定化されず、コード４０１として記録されるデータを変更することにより様々に変化させることができるので、非常に柔軟性に富んだ娯楽を提供することができる。
【０１４１】
また、上記エラーレートのパラメータを前述したような別のパラメータとしても、同様に、コードの読み取り結果にランダム性を付与できる。
【０１４２】
以上詳述したように、本第１の実施の形態によれば、記録媒体またはコード読取装置または操作者または読取環境において、同一の条件であれば同一の結果が得られつつ、この条件が異なる時にはランダム性を有する多様な結果が得られるという効果を奏することができる。
【０１４３】
例えば、トレーディングカードと呼ばれる収集を目的とするカードに光学的に読み取り可能なコードを付加し、そのコードを読み取らせて結果の画像を画面に表示させて楽しむ娯楽システムにおいて、遊びに変化を持たせようとした場合、従来のようにコードを読み込ませる毎にプログラムで乱数を発生させ、その乱数によって遊びに変化を持たせる方法を取ると、この方法はプログラムであるために変化を容易に発生させることができるが、その一方で、ある任意の表示画面は、繰り返し操作を行えば誰でもそれを見ることができ、遊びの幅が広がらないものとなってしまっていた。また、一度見ることができたその任意の表示画面をユーザがもう一度見ようとしても、乱数に基づくために再現性はなく、同じ画像を表示させるためにはコード読み取り操作を繰り返し行うしかなく、ユーザにフラストレーションを与える原因になってしまっていた。
【０１４４】
一方、カードに印刷されたコードは、カードの印刷の具合や、汚れや劣化などによるデータ欠落やなどにより、カード毎に異なる特性を持っている。また、コード読取装置も、機械的、電子的な製造上のバラツキがあり、そのためにそのバラツキを修正する調整値や読み取り時の自動調整値は、コード読取装置毎に異なる特性を持っている。読み取り操作を行う環境条件においても、温度や、コード読取装置に入り込む外来光などによって変化する特性を持っている。さらに、人間がカードを操作する際に、カードの走査方向や、速度や、手ぶれや、コードが複数ある場合にはそれを読み取る順番など、人毎に異なる癖があり、異なる特性が得られる。
【０１４５】
本実施の形態を使用することにより、コードを読ませる時に得られるこれらの異なる特性を活用することで、ランダム性を持つ多種多様な変化を生成する娯楽システムを提供することができ、カードの違い、コード読取装置の違い、環境条件の違い、操作者の違いにより、個性や変化が付けられようになり、ユーザの遊びの幅を広げられるという効果が得られる。
【０１４６】
特に、具体的な効果としては次のようなものがある。
【０１４７】
１：トレーディングカードは、色々なカードを集めたり交換したりすることや、お互いに情報を交換することが楽しみの中心となる。本実施の形態によれば、カードに印刷されたコードのバラツキにより多様な結果を生成することができ、同じ種類のカードでも自分の持っている物と友人の持っている物とで異なる結果が得られ、カードを交換する楽しみ、収集する楽しみを強化することができる。
【０１４８】
２：コードのドットの大きさや輝度情報の違いにより、結果が変化するように娯楽システムを構成しておくことにより、印刷時にインクの乗りや濃度を積極的に変えていくことにより、コストが掛かるデータや版下に変更を加えることなく動作の異なる多様なカードを作成することができるようになり、容易にカードのバリエーションを増やすことができる。
【０１４９】
３：また、本実施の形態によれば、コード読取装置のバラツキによっても、多様な結果を生成することができ、同一のカードでも自分の持っているコード読取装置と友人の持っているコード読取装置で異なる結果が得られるようになり、お互いに自分のカードを相手のコード読取装置に読み取らせてどのような結果が出てくるかを試して楽しむ、という遊びを生み出すことができる。またこの場合、コード読取装置に通信機能を持たせれば、自分のカードを相手のコード読取装置に読み取らせて得られた結果を、自分のコード読取装置に取り込むという使用法も考えられる。
【０１５０】
４：同様に、本実施の形態によれば、操作者の癖に依存するものであるカードをコード読取装置に読み込ませる時の操作方法の違いにより、操作者によって異なる結果が得られるようになり、同一カード同一装置であっても人によって出力されるものが異なるようになる。例えばモンスターが描かれているカードに、それが画面で演技をするように構成されていた場合、同じモンスターが人によって演技が異なるようになり、「友人のモンスターはのろまだが、自分のモンスターはせっかちだ」というような、人とは違う自分だけのモンスターへの愛着心を育むことができ、モンスターと自分との一体感を演出することができる。
【０１５１】
５：更に、本実施の形態によれば、カードをコード読取装置に読み込ませるための環境条件の違いにより、異なる結果を得られるようになり、外来光が多い時に読み込ませると、モグラのようなモンスターは出現しない、という演出をすることができる。或いは、氷系，火系，草系等のモンスターの種類があるとき、ＧＰＳ等で得た位置が北国であるとか、測定した温度が低いというときに、氷系のモンスターが強くなる等の演出をすることも可能である。
【０１５２】
６：同様に、本実施の形態によれば、エラーによるデータ欠損量が増えるに従い最初はそのカードの力が強く、その後弱くなるように変化する娯楽システムを構成することができ、欠損量はカードを使い込むに従って増えることから、画面上のアニメーションあるいはゲーム上の能力が、使い込むに従って最初は成長して強いモンスターとなり、そのうちに老化した弱いモンスターになるというような演出や遊びを付加することができる。
【０１５３】
７：更に、エラーを活用するものにおいては、エラーによりコードデータを取得できなかった場合に、エラーの量や内容により色々な演出を行うように構成することにより、通常であればユーザのフラストレーションの元となるエラーそのものも遊びにすることができ、ユーザの楽しみの拡大を図ることができる。
【０１５４】
［第２の実施の形態］
次に、本発明の第２の実施の形態を説明する。
【０１５５】
上記第１の実施の形態においては、コードの読み取り結果に、その読み取り処理中に得られたパラメータに応じてランダム性を付加するようにしているが、例えば、移動速度等の人間にとって予測可能なものについては、最高速度や平均速度といった値をそのままパラメータとして使用したのでは、操作者に与えるランダム性のインパクトが弱い。
【０１５６】
そこで、本第２の実施の形態では、更にランダム性の度合いを増すための構成を付加するものである。
【０１５７】
即ち、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１に、最高速度や平均速度といった速度の値ではなくて、図１８の（Ａ）に示すように、その速度の変化の状態を示す速度パターンを複数記憶しておく。そして、同図の（Ｂ）に示すように、測定した速度の変化パターンを、上記ＲＯＭ２１に記憶された速度パターンと同様の単位時間となるよう正規化し、それを上記記憶されている各パターンと順次パターンマッチングして、最も近い速度パターンをパラメータとして選択する。
【０１５８】
或いは、図１６の（Ｂ）に示すように、測定した速度範囲の値に応じて、昇順や降順ではないパラメータ値が得られるようなテーブルを、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１に記憶、もしくは、コード４０１に記録しておくようにしても良い。
【０１５９】
なお、このような構成は、上記速度パラメータ以外の他のパラメータについても、同様に適用することが可能なことは勿論である。
【０１６０】
このように、本第２の実施の形態によれば、更にランダム性を増すことができるという効果を奏することができる。
【０１６１】
以上実施の形態に基づいて本発明を説明したが、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【０１６２】
例えば、上記実施の形態では、プログラム処理装置３００をＬＣＤ付の携帯ゲーム機とした場合について説明したが、この発明の技術思想はこれに限定されるものではなく、ビデオゲーム機やパソコンを使用するゲームにも適用可能である。その場合は、ゲームカートリッジとしてのアプリケーションプログラム格納カートリッジ２００のＲＯＭ２０１の記憶データがビデオゲーム機用の情報記憶媒体、例えばメモリカートリッジ，磁気ディスク，ＣＤ−ＲＯＭ，又はＤＶＤ（ディジタル多用途ディスク）等に記憶され、読取装置本体１００がビデオゲーム機又はパソコンに一体的に又は外付けで接続されることになる。
【０１６３】
また、上述の実施の形態では、電子ゲームの内容の一例として、モンスターを捕獲・育成・収集等するゲームの場合を説明したが、この発明の技術思想は、実施の形態のゲームに限定されるものではなく、遊戯カードと電子ゲームを組み合わせたゲームであれば、任意のゲームに適用可能であることを指摘しておく。
【０１６４】
なお、キャラクタの識別コードは、キャラクタ毎に１個に限ることなく、同一キャラクタでも個性表現データが異なる複数種類のカードが存在する場合であれは、１つのキャラクタにつき複数個の識別データを持つようにしても良い。
【０１６５】
また、本発明は、上記実施の形態で説明したような娯楽システムだけでなく、教育機器等、その他のシステムにも利用可能なことは勿論である。
【０１６６】
【発明の効果】
以上詳述したように、本発明によれば、コード読取装置において、そのコードの読み取り結果にランダム性を付与するためのランダム性付与手段を具備することにより、操作者に対して、コードの読み取り操作に対する結果の意外性を簡単に提示できるようにし、もって、ゲーム機器等の娯楽システムや教育機器に好適に応用できるようにしたコード読取装置を提供することができる。
【０１６７】
また、本発明によれば、そのランダム性を活用し、遊びに豊富な変化を与えて操作者の楽しみを拡張する娯楽システムを提供することができる。
【図面の簡単な説明】
【図１】（Ａ）は本発明の第１の実施の形態に係るコード読取装置の構成を示す図、（Ｂ）はワンショット撮像可能なコードを示す図であり、（Ｃ）は遊戯カードとしての記録媒体を示す図である。
【図２】（Ａ）は読取装置本体の機能ブロック図、（Ｂ）は記録媒体に記録されたコードの例を示す図であり、（Ｃ）は読取装置本体の各機能ブロックから取得できる情報を説明するための図である。
【図３】（Ａ）は多値画像情報から得られる輝度情報に関するパラメータを説明するための図であり、（Ｂ）は２値画像情報から得られる画素属性に関するパラメータを説明するための図である。
【図４】（Ａ）はコード位置・形状情報から得られる位置・形状に関するパラメータを説明するための図、（Ｂ）はコードデータ情報から得られるコードデータに関するパラメータを説明するための図であり、（Ｃ）は復元情報から得られる復元情報に関するパラメータを説明するための図である。
【図５】（Ａ）及び（Ｂ）はそれぞれ一般的なコードを示す図、（Ｃ）は複数のブロックからなるコードを示す図であり、（Ｄ）はドットコードのブロックの構成例を示す図である。
【図６】（Ａ）は２値化手段の構成と取得できる情報を示す図、（Ｂ）はデータ読取位置決定手段の構成と取得できる情報を示す図、（Ｃ）はアドレス検出手段を含む構成を示す図であり、（Ｄ）はデータ復元手段の構成と取得できる情報を示す図である。
【図７】（Ａ）は記録媒体を把持して手動走査を行う場合の構成を示す図、（Ｂ）は読取装置本体を把持して手動走査を行う場合の構成を示す図であり、（Ｃ）は相対移動方向、回数に関するパラメータの検出方法を説明するための図である。
【図８】（Ａ）は記録媒体に記録されたコードと撮像領域との関係を示す図、（Ｂ）はある時点での撮像画面を示す図、（Ｃ）は次の撮像での撮像画面を示す図であり、（Ｄ）は相対移動速度に関するパラメータの検出方法を説明するための図である。
【図９】（Ａ）は読取装置本体を把持して手動走査を行う様子を示す図、（Ｂ）はある時点での撮像画面を示す図、（Ｃ）は次の撮像での撮像画面を示す図、（Ｄ）は各撮像時点での撮像領域に対するコードの関係を示す図であり、（Ｅ）は蛇行性に関するパラメータの検出方法を説明するための図である。
【図１０】（Ａ）は走査ガイドと撮像素子の組み付け位置関係を示す図、（Ｂ）はレンズ倍率に関するパラメータの取得方法を説明するための図、（Ｃ）は走査ガイド位置に関するパラメータの取得方法を説明するための図、（Ｄ）は照明状態に関するパラメータの取得方法を説明するための図であり、（Ｅ）は結像レンズの歪み状態に関するパラメータの取得方法を説明するための図である。
【図１１】ランダム性を出すために効果的なパラメータの例をまとめて示す図である。
【図１２】（Ａ）はマスキングカード及びデータカードを示す図、（Ｂ）はマスキングカードとデータコードとを重ね合わせた状態を示す図であり、（Ｃ）は制御コードの読取に応じてコード読取結果に付加されるランダム性を説明するための図である。
【図１３】（Ａ）は第１の実施の形態に係るコード読取装置を娯楽システムに適用した場合の構成を示す図、（Ｂ）はコードの論理フォーマットを示す図であり、（Ｃ）はゲームカートリッジとしてのアプリケーションプログラム格納カートリッジのＲＯＭの記憶データを示す図である。
【図１４】娯楽システムの動作を説明するためのフローチャートを示す図である。
【図１５】娯楽システムにおける携帯型ゲーム機本体としてのプログラム処理装置のＣＰＵの動作を説明するためのフローチャートを示す図である。
【図１６】（Ａ）はプログラム処理装置のＣＰＵの動作の別の例を説明するためのフローチャートを示す図であり、（Ｂ）は第２の実施の形態に係るコード読取装置における速度に関するパラメータ取得のために用いられるアプリケーションプログラム格納カートリッジのＲＯＭの記憶データを説明するための図である。
【図１７】プログラム処理装置のＣＰＵの動作の更に別の例を説明するためのフローチャートを示す図である。
【図１８】（Ａ）は本発明の第２の実施の形態に係るコード読取装置におけるアプリケーションプログラム格納カートリッジのＲＯＭの記憶データを説明するための図であり、（Ｂ）は速度に関するパラメータの取得方法を説明するための図である。
【符号の説明】
１００      読取装置本体
１０１      照明用ＬＥＤ
１０２      結像レンズ
１０３      撮像素子
１０５      ２値化回路
１０６      ２値化メモリ
１０７，３０２      ＣＰＵ
１１０      操作釦
１１１      媒体センサ
１２１      画像入力手段
１２２      ２値化手段
１２２Ａ      輝度情報検出手段
１２２Ｂ      閾値制御手段
１２２Ｃ      ２値判定手段
１２３      データ読取位置決定手段
１２３Ａ      コード指標検出手段
１２３Ｂ      位置決め指標検出手段
１２３Ｃ      データ読取位置算出手段
１２４      データ読取手段
１２５      データ復元手段
１２５Ａ      復調手段
１２５Ｂ      エラー訂正情報抽出手段
１２５Ｃ      エラー訂正手段
１２６      アドレス検出手段
２００      アプリケーションプログラム格納カートリッジ
２０１，３０３      ＲＯＭ
２０２，３０４      ＲＡＭ
２０３      環境検出センサ
２０４      コネクタ
３００      プログラム処理装置
３０１      コネクタ
３０５      操作部
３０６      ＬＣＤ
３０７      音声出力部
４００      記録媒体
４０１      コード
【図１】
0004884591.tif 000002
【図２】
0004884591.tif 000003
【図３】
0004884591.tif 000004
【図４】
0004884591.tif 000005
【図５】
0004884591.tif 000006
【図６】
0004884591.tif 000007
【図７】
0004884591.tif 000008
【図８】
0004884591.tif 000009
【図９】
0004884591.tif 000010
【図１０】
0004884591.tif 000011
【図１１】
0004884591.tif 000012
【図１２】
0004884591.tif 000013
【図１３】
0004884591.tif 000014
【図１４】
0004884591.tif 000015
【図１５】
0004884591.tif 000016
【図１６】
0004884591.tif 000017
【図１７】
0004884591.tif 000018
【図１８】
0004884591.tif 000019