(57)【要約】【課題】低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができるようにする。【解決手段】  固定領域コード認識部５３は、固定領域コードを認識する。可変領域コードデフォルト値設定部５４は、コードテーブルから可変領域コードデフォルト値とコマンドテーブルを特定する。可変領域コード認識部５６は、可変領域コードの認識を行う。パターン比較部５７は、可変領域コードデフォルト値（パターン）と、認識結果のパターンを比較し、その差分、つまり可変領域コードのどの部分が隠蔽されたかを求める。コマンド指定部５８は、パターン比較部５７より供給された差分値に対応するコマンドを特定する。本発明は、ゲーム処理やリモートコントロール処理を行う情報処理装置に適用することができる。【選択図】図４
2006171958.tif 000002
【特許請求の範囲】
【請求項１】
画像に含まれるコードを読み取る情報処理装置であって、
撮影部において得られた撮影画像の画像データを取得する画像データ取得手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、
前記固定領域コード認識手段により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識手段と、
前記可変領域コードデフォルト値設定手段により設定された前記デフォルト値と、前記可変領域コード認識手段により認識された前記可変領域コードの値を比較し、差分値を求める比較手段と、
前記比較手段による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記可変領域に形成される前記可変領域コード全体の値が前記デフォルト値に設定され、前記可変領域コードの一部または全部が隠蔽されることにより前記可変領域コードの値が変化する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記可変領域にコードが存在しない状態が前記デフォルト値に設定され、前記可変領域に付加的なコードが追加されることにより前記可変領域コードの値が変化する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記固定領域コードの値と前記デフォルト値を関連付けるテーブル情報であるコードテーブルを記憶するコードテーブル記憶手段をさらに備え、
前記可変領域コードデフォルト値設定手段は、前記コードテーブル記憶手段により記憶されている前記コードテーブルを参照して前記固定領域コードの値に対応する前記デフォルト値を設定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記差分値と前記コマンドを関連付けるテーブル情報であるコマンドテーブルを記憶するコマンドテーブル記憶手段をさらに備え、
前記コマンド指定手段は、前記コマンドテーブル記憶手段により記憶されている前記コマンドテーブルを参照して前記差分値に対応する前記コマンドを指定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記コードが有する、前記固定領域および前記可変領域の位置の特定する際の基準となるガイド部分を認識し、前記ガイド部分の位置を特定するガイド部分認識手段をさらに備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
画像に含まれるコードを読み取る情報処理装置の情報処理方法であって、
撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、
前記固定領域コード認識ステップの処理により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識ステップと、
前記可変領域コードデフォルト値設定ステップの処理により設定された前記デフォルト値と、前記可変領域コード認識ステップの処理により認識された前記可変領域コードの値を比較し、差分値を求める比較ステップと、
前記比較ステップの処理による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定ステップと
を含むことを特徴とする情報処理方法。
【請求項８】
画像に含まれるコードを読み取る処理をコンピュータに実行させるプログラムにおいて、
撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、
前記固定領域コード認識ステップの処理により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識ステップと、
前記可変領域コードデフォルト値設定ステップの処理により設定された前記デフォルト値と、前記可変領域コード認識ステップの処理により認識された前記可変領域コードの値を比較し、差分値を求める比較ステップと、
前記比較ステップの処理による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定ステップと
を含むことを特徴とするプログラム。
【請求項９】
撮影画像に含まれるコードを読み取る情報処理装置に対して情報を入力する入力装置であって、
前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記情報処理装置の撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段を備える
ことを特徴とする入力装置。
【請求項１０】
前記操作は、前記コードの一部または全部の隠蔽である
ことを特徴とする請求項９に記載の入力装置。
【請求項１１】
前記操作は、前記コードに対する新たなコードの追加である
ことを特徴とする請求項９に記載の入力装置。
【請求項１２】
画像に含まれるコードを読み取る情報処理装置と、前記情報処理装置に対して情報を入力する入力装置とからなる情報処理システムにおいて、
前記情報処理装置は、
撮影部により得られた撮影画像の画像データを取得する画像データ取得手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、
前記固定領域コード認識手段により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識手段と、
前記可変領域コードデフォルト値設定手段により設定された前記デフォルト値と、前記可変領域コード認識手段により認識された前記可変領域コードの値を比較し、差分値を求める比較手段と、
前記比較手段による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定手段と
を備え、
前記入力装置は、
前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段を備える
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、入力装置および方法、プログラム、並びに情報処理システムに関し、特に、画像情報として一部または全部を変更可能な識別子を利用することにより、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができるようにする情報処理装置および方法、入力装置および方法、プログラム、並びに情報処理システムに関する。
【背景技術】
【０００２】
従来、カードや紙媒体に印刷された２次元バーコードをカメラで撮像し、撮像画像からそのパターンを読み取り、あたかも２次元バーコード上に立体物が存在するかのように、テレビなどの画面上に、パターンに対応したコンピュータグラフィック画像（以下、CG（Computer Graphics）画像と称する）を表示させる技術があった（例えば、特許文献１参照）。
【０００３】
このような合成処理を行う情報処理装置は、２次元バーコードの３次元空間における位置を特定するとともに、さらにその２次元バーコードの情報を読み取り、その情報に対応するCG画像のオブジェクトを特定する。そして、情報処理装置は、そのCG画像のオブジェクトが３次元空間において２次元バーコード上に位置するように画像処理を施し、そのCG画像と撮像画像を合成する。このようにして情報処理装置は、CG画像のオブジェクトが２次元バーコード上に位置しているかのような合成画像を表示する。
【０００４】
このような仮想空間画像の生成技術は例えば、テレビジョン受信装置をモニタとして利用する、所謂、テレビゲーム等に利用される。
【０００５】
【特許文献１】特開２０００−３２２６０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、以上のような方法においては、カメラを介して読み取られた２次元バーコードの画像パターンに応じた所定のCG画像（例えば、ゲームのキャラクタ等の画像）を表示させることができるが、その表示させたCG画像のオブジェクトに対してユーザが更に指示を入力することができなかった。例えば、ユーザは、カメラに２次元バーコードを提示することでその２次元バーコードの画像パターンに対応するゲームのキャラクタのCG画像をモニタに表示させることができるが、そのキャラクタに対して、新たに、立たせたり座らせたりする等の動作コマンドを入力することができなかった。
【０００７】
例えば、表示するCG画像を動画とすることにより、２次元バーコードの画像パターンに応じた予め定められた所定の動きを伴うキャラクタ（CG画像）を表示させる事は可能であるが、基本的に、１つの画像パターンに対して１種類の動きしか登録することができない。従って、この場合も、一旦表示されたCG画像のキャラクタに対してユーザが新たに指示を入力することはできなかった。さらに、２次元バーコードの１つの画像パターンに対して複数の動作を登録しておき、画像表示時にそれらの中から表示する動作が任意に選択されるようにしてもよいが、その場合も、その選択はランダムに行われるものであり、ユーザが指示するものではない。従って、この場合も、一旦表示されたCG画像のキャラクタに対してユーザが新たに指示を入力することはできなかった。
【０００８】
つまり、このようなシステムにおいて、ユーザは、１つの２次元バーコードで複数の指示を入力することができないという課題があった。逆に、複数の指示を入力する場合、ユーザは複数の２次元バーコードを用意しなければならず、認識させる２次元バーコードの交換等、煩雑な作業を伴い、入力作業が複雑になってしまうという課題があった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、１つの可変な識別子を用いて複数の情報を識別することができるようにし、低コストで操作性に優れたインタフェースをユーザに提供することができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、撮影部において得られた撮影画像の画像データを取得する画像データ取得手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段とを備えることを特徴とする。
【００１１】
前記可変領域に形成される可変領域コード全体の値がデフォルト値に設定され、可変領域コードの一部または全部が隠蔽されることにより可変領域コードの値が変化するようにすることができる。
【００１２】
前記可変領域にコードが存在しない状態がデフォルト値に設定され、可変領域に付加的なコードが追加されることにより可変領域コードの値が変化するようにすることができる。
【００１３】
前記固定領域コードの値とデフォルト値を関連付けるテーブル情報であるコードテーブルを記憶するコードテーブル記憶手段をさらに備え、可変領域コードデフォルト値設定手段は、コードテーブル記憶手段により記憶されているコードテーブルを参照して固定領域コードの値に対応するデフォルト値を設定するようにすることができる。
【００１４】
前記差分値とコマンドを関連付けるテーブル情報であるコマンドテーブルを記憶するコマンドテーブル記憶手段をさらに備え、コマンド指定手段は、コマンドテーブル記憶手段により記憶されているコマンドテーブルを参照して差分値に対応するコマンドを指定するようにすることができる。
【００１５】
前記コードが有する、固定領域および可変領域の位置の特定する際の基準となるガイド部分を認識し、ガイド部分の位置を特定するガイド部分認識手段をさらに備えるようにすることができる。
【００１６】
本発明の情報処理方法は、撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、固定領域コード認識ステップの処理により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識ステップと、可変領域コードデフォルト値設定ステップの処理により設定されたデフォルト値と、可変領域コード認識ステップの処理により認識された可変領域コードの値を比較し、差分値を求める比較ステップと、比較ステップの処理による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定ステップとを含むことを特徴とする。
【００１７】
本発明のプログラムは、撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、固定領域コード認識ステップの処理により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識ステップと、可変領域コードデフォルト値設定ステップの処理により設定されたデフォルト値と、可変領域コード認識ステップの処理により認識された可変領域コードの値を比較し、差分値を求める比較ステップと、比較ステップの処理による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定ステップとを含むことを特徴とする。
【００１８】
本発明の入力装置は、コードに対するユーザによる操作を受け付け、受け付けた操作に基づいて値が変更されたコードを情報処理装置の撮影部に対して提示することにより、操作に対応する情報を情報処理装置に入力する操作受け付け手段を備えることを特徴とする。
【００１９】
前記操作は、コードの一部または全部の隠蔽であるようにすることができる。
【００２０】
前記操作は、コードに対する新たなコードの追加であるようにすることができる。
【００２１】
本発明の情報処理システムは、画像に含まれるコードを読み取る情報処理装置と、情報処理装置に対して情報を入力する入力装置とからなる情報処理システムであって、情報処理装置は、撮影部により得られた撮影画像の画像データを取得する画像データ取得手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段とを備え、入力装置は、コードに対するユーザによる操作を受け付け、受け付けた操作に基づいて値が変更されたコードを撮影部に対して提示することにより、操作に対応する情報を情報処理装置に入力する操作受け付け手段を備えることを特徴とする。
【００２２】
本発明の情報処理装置および方法、並びにプログラムにおいては、撮影部において得られた撮影画像の画像データが取得され、その取得された撮影画像が解析され、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値が認識され、その認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値が設定され、また、取得された撮影画像が解析され、撮影画像に含まれるコードの、可変領域コードの値が認識され、設定されたデフォルト値と、認識された可変領域コードの値が比較されて、差分値が求められ、その差分値に基づいて、実行するコマンドが指定される。
【００２３】
本発明の入力装置においては、コードに対するユーザによる操作が受け付けられ、受け付けられた操作に基づいて値が変更されたコードが情報処理装置の撮影部に対して提示されることにより、操作に対応する情報が情報処理装置に入力される。
【００２４】
本発明の情報処理システムは、画像に含まれるコードを読み取る情報処理装置と、情報処理装置に対して情報を入力する入力装置とからなり、その情報処理装置においては、撮影部により得られた撮影画像の画像データが取得され、その取得された撮影画像が解析され、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値が認識され、その認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値が設定され、また、取得された撮影画像が解析され、撮影画像に含まれるコードの、可変領域コードの値が認識され、設定されたデフォルト値と、認識された可変領域コードの値が比較され、差分値が求められ、その差分値に基づいて、実行するコマンドが指定され、入力装置においては、コードに対するユーザによる操作が受け付けられ、その受け付けられた操作に基づいて値が変更されたコードが撮影部に対して提示されることにより、操作に対応する情報が情報処理装置に入力される。
【発明の効果】
【００２５】
本発明によれば、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２７】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２８】
本発明においては、画像に含まれるコード（例えば、図２の２次元バーコード）を読み取る情報処理装置（例えば、図１の情報処理装置）が提供される。この情報処理装置では、撮影部（例えば、図１のカメラ）において得られた撮影画像の画像データを取得する画像データ取得手段（例えば、図４の画像データ取得部）と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域（例えば、図２の固定領域）と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域（例えば、図２の可変領域）を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段（例えば、図４の固定領域コード認識部）と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段（例えば、図４の可変領域コードデフォルト値設定部）と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段（例えば、図４の可変領域コード認識部）と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段（例えば、図４のパターン比較部）と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段（例えば、図４のコマンド指定部）とを備える。
【００２９】
前記可変領域に形成される可変領域コード全体の値がデフォルト値に設定され、可変領域コードの一部または全部が隠蔽されることにより可変領域コードの値が変化する（例えば、図１０乃至図１５）ようにすることができる。
【００３０】
前記可変領域にコードが存在しない状態がデフォルト値に設定され、可変領域に付加的なコードが追加されることにより可変領域コードの値が変化する（例えば、図１６）ようにすることができる。
【００３１】
前記固定領域コードの値とデフォルト値を関連付けるテーブル情報であるコードテーブルを記憶するコードテーブル記憶手段（例えば、図４のコードテーブル記憶部）をさらに備え、可変領域コードデフォルト値設定手段は、コードテーブル記憶手段により記憶されているコードテーブルを参照して固定領域コードの値に対応するデフォルト値を設定するようにすることができる。
【００３２】
前記差分値とコマンドを関連付けるテーブル情報であるコマンドテーブルを記憶するコマンドテーブル記憶手段（例えば、図４のコマンドテーブル記憶部）をさらに備え、コマンド指定手段は、コマンドテーブル記憶手段により記憶されているコマンドテーブルを参照して差分値に対応するコマンドを指定するようにすることができる。
【００３３】
前記コードが有する、固定領域および可変領域の位置の特定する際の基準となるガイド部分（例えば、図２のガイド部分）を認識し、ガイド部分の位置を特定するガイド部分認識手段（例えば、図４のガイド部分認識部）をさらに備えるようにすることができる。
【００３４】
本発明においては、画像に含まれるコード（例えば、図２の２次元バーコード）を読み取る情報処理装置（例えば、図１の情報処理装置）の情報処理方法が提供される。この情報処理方法においては、撮影部（例えば、図１のカメラ）において得られた撮影画像の画像データを取得する画像データ取得ステップ（例えば、図８のステップＳ２１）と、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域（例えば、図２の固定領域）と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域（例えば、図２の可変領域）を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップ（例えば、図８のステップＳ２５）と、固定領域コード認識ステップの処理により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと（例えば、図８のステップＳ２７）、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識ステップ（例えば、図８のステップＳ２８）と、可変領域コードデフォルト値設定ステップの処理により設定されたデフォルト値と、可変領域コード認識ステップの処理により認識された可変領域コードの値を比較し、差分値を求める比較ステップ（例えば、図８のステップＳ２９）と、比較ステップの処理による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定ステップ（例えば、図８のステップＳ３１またはステップＳ３２）とを含む。
【００３５】
本発明のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、本発明の情報処理方法と同様である。
【００３６】
本発明においては、撮影画像に含まれるコード（例えば、図２の２次元バーコード）を読み取る情報処理装置（例えば、図１の情報処理装置）に対して情報を入力する入力装置（例えば、図１のカード５）が提供される。この入力装置では、前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記情報処理装置の撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段（例えば、図２の可変領域）を備える。
【００３７】
前記操作は、コードの一部または全部の隠蔽である（例えば、図１０乃至図１５）ようにすることができる。
【００３８】
前記操作は、コードに対する新たなコードの追加である（例えば、図１６）ようにすることができる。
【００３９】
本発明においては、画像に含まれるコード（例えば、図２の２次元バーコード）を読み取る情報処理装置（例えば、図１の情報処理装置）と、情報処理装置に対して情報を入力する入力装置（例えば、図１のカード５）とからなる情報処理システム（例えば、図１の情報処理システム）が提供される。この情報処理システムの情報処理装置では、撮影部（例えば、図１のカメラ）において得られた撮影画像の画像データを取得する画像データ取得手段（例えば、図４の画像データ取得部）と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた１つの固定的なコードが形成される固定領域（例えば、図２の固定領域）と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域（例えば、図２の可変領域）を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段（例えば、図４の固定領域コード認識部）と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段（例えば、図４の可変領域コードデフォルト値設定部）と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段（例えば、図４の可変領域コード認識部）と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段（例えば、図４のパターン比較部）と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段（例えば、図４のコマンド指定部）とを備え、入力装置では、前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記情報処理装置の撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段（例えば、図２の可変領域）を備える。
【００４０】
以下、本発明の実施の形態について図を参照して説明する。
【００４１】
図１は、本発明を適用した情報処理システムの構成例を示す図である。
【００４２】
図１に示される情報処理システムは、情報処理装置１、カメラ２、およびモニタ３を有しており、２次元バーコード（以下、２Ｄコードと称する）を読み取り、そのパターンに対応した画像処理を実行するシステムである。
【００４３】
情報処理装置１は、カメラ２およびモニタ３に電気的に接続されている。情報処理装置１は、所謂テレビゲーム機であり、モニタ３にゲームの画像を表示させ、ユーザにテレビゲームをプレイさせる。
【００４４】
カメラ２は、レンズと電荷の読み出しにCCD（Charge Coupled Device）やCMOS（Complementary Metal Oxide Semiconductor）を利用した撮像素子を有し、光を電気信号に変換するデバイスであり、例えばその設置場所や方向などによって決定される撮影範囲である範囲４の画像を電気信号（画像データ）として取り込み、情報処理装置１に供給する。情報処理装置１は、このカメラ２より供給される画像データをモニタ３に供給し、その画像を表示させるとともに、画像内に２Ｄコードが確認できた場合には、そのコードにより指定される処理を実行する。
【００４５】
例えば、図１に示されるように、範囲４内に２Ｄコードが印刷されたカード５が設置されると、カメラ２は結果的にそのカード５を含む画像を取り込む。情報処理装置１は、その画像を取得すると、その画像からカード５に印刷された２Ｄコードを検出し、その２Ｄコードのパターンを解析し、そのパターンに対応する処理を実行する。例えば、情報処理装置１は、ゲーム処理において、カード５の２Ｄコードに対応するキャラクタを選択し、そのキャラクタのCG（Computer Graphics）画像をカメラ２より供給される撮影画像に合成し、その合成画像をモニタ３に表示させる。図１において、モニタ３に表示されている表示画像３Ａには、情報処理装置１の処理により、カメラ２により撮影されたカード５の画像であるカード撮影画像６の上に位置するように、カード５に印刷された２Ｄコードに対応するキャラクタのCG画像７が合成されている。
【００４６】
このように情報処理装置１は、テレビゲームをユーザにプレイさせるゲーム処理において、カメラ２を介して取り込まれた撮影画像に含まれる２Ｄコードを読み取り、その２Ｄコードに対応するキャラクタのCG画像７を、カード撮影画像６の上に位置するように、撮影画像と合成し、その合成画像をモニタ３に表示画像３Ａとして表示させる。
【００４７】
なお、カード５の材質は紙、プラスチック、または金属等何でもよい。カード５の形状も円形、正方形、長方形、または三角形等何でもよい。さらに、カード５の厚さもいくつであってもよく、カード５が立体であってももちろんよい。また、２Ｄコードが印刷される面は、情報処理装置１がその２Ｄコードを正常に認識できるのであれば、平面でなくてもよく、カード５が球形や錐等であってももちろん良い。
【００４８】
図２は、カード５に印刷された２Ｄコードの構成例を示す図である。２Ｄコードは、図２に示されるように、１ブロックを１単位とし、縦方向が１２．５ブロック分の長さで、横方向が７ブロック分の長さの長方形の範囲内に、ガイド部分１１、固定領域１２、および可変領域１３の３つの要素が互いに１ブロックずつ分離して配置されている。
【００４９】
ガイド部分１１は、縦方向が１．５ブロック分の長さで、横方向が７ブロック分の長さの大きな長方形のセルにより形成され、情報処理装置１が固定領域１２および可変領域１３の位置を認識するのに利用する。つまりガイド部分１１は、情報処理装置１がその位置を特定しやすいように、固定領域１２や可変領域１３の絵柄（パターン）よりも単純な図形（絵柄）により構成される。情報処理装置１は、まず、この位置を特定し易い（認識し易い）ガイド部分を認識して所定の３次元座標上におけるその位置を特定し、それを基準として固定領域１２や可変領域１３の位置を特定し、そのコード（パターン）を読み取る。なお、このガイド部分１１には、そのスペースをさらに有効に利用するために、例えば、２Ｄコードの内容を示す情報や宣伝のためのマーク（ロゴ）などが記載されるので、ガイド部分１１のことをロゴ部と称することもある。
【００５０】
図２においてこのガイド部分１１の上部には１ブロック分離れて固定領域１２が設けられている。固定領域１２は、縦方向と横方向が共に、７ブロック分の長さの正方形の範囲内に、方形のセルが２次元的にパターン化され配置されている。従って、このセルの集合である固定領域１２のことをセル部と称することもある。固定領域１２のセルの配置パターン（セルパターン）は、固定的に使用されるパターンであり、７×７ブロック全体で１つの意味を成している。つまり、例えば、この固定領域１２は、固定的な１種類の情報のみを示すものである。情報処理装置１は、この領域（セルパターン）の全てを読み取った場合のみ、正しくその固定領域１２のパターンが示す１種類の情報（固定領域コード）を得ることができる。
【００５１】
なお、例えば、ユーザがこの固定領域１２の一部を隠蔽した場合であっても、その読み取り結果が、偶然に、他のセルパターンの場合の読み取り結果と一致し、情報処理装置１がその２Ｄコードを正常に認識することも考えられるが、このような事態は仕様上想定されておらず、固定領域１２の正常な状態ではない（その隠蔽に根拠が無く、制御下にない）ので、以下においてはこのようなことが起こらないもの（固定領域１２に形成されるセルパターンを全て読み込めない場合はエラーとなるもの）として説明する。
【００５２】
そして固定領域１２に形成される１つのセルパターン（固定領域コード）は、１種類の意味しか示さない。つまり、１つのセルパターンが複数の処理を連続して実行することを示す場合もあるが、そのセルパターンから導き出される処理（およびその実行順や諸条件等）は常に一意に決定される。換言すると、予め定められた１つの固定的なコードが形成される領域が固定領域であり、そのコードが固定領域コードである。
【００５３】
図２においてガイド部分１１の下部、つまり、固定領域１２と反対側には１ブロック分離れて可変領域１３が設けられている。可変領域１３は、縦２ブロック×横７ブロックの領域であり、固定領域１２と同様にセルの集合により構成される。ただし、可変領域１３は、固定領域１２の場合と異なり、それぞれが１つの意味を成すセルパターンにより構成される部分領域の集合である。つまり、可変領域１３のセルパターンは、複数の意味をなすセルパターンの集合により構成される。ユーザは、この可変領域１３に形成されるセルパターンの一部を隠蔽してカメラ２に読み取らせないようにすることにより、情報処理装置１にその隠蔽されたセルパターンが示す処理を実行させる。換言すると、複数のコードの組み合わせからなる、値が可変的なコードが形成される領域が可変領域であり、そのコードが可変領域コードである。
【００５４】
例えば、図２の場合、可変領域１３には４つのセル（黒四角）が形成されており、各セルに互いに異なる意味が対応付けられている。このとき、ユーザがいずれか１つのセルを隠蔽すると、情報処理装置１は、そのときの、いずれも隠蔽されていない状態の可変領域１２のセルパターン（すなわち、４つのセルが認識できる状態）からの変化を求め、どのセルが読み取れなくなったかを認識し、その読み取れなくなったセルに対応する処理を実行する。
【００５５】
つまり、ユーザは、可変領域１３のセルの集合の一部を隠蔽することにより指示を情報処理装置１に入力することができる。すなわち、この可変領域１３は、固定領域１２と異なり、そこ形成される１つのセルパターンによってユーザが複数の情報を入力することができるようになされている。なお、もちろん、可変領域１３全体のセルパターンがさらに他の１つの意味をなすようにしてもよい。
【００５６】
次にこのような２Ｄコードを読み取り処理を行う図１の情報処理装置１について説明する。図３は、情報処理装置１の内部の、本発明に関連する主な構成例を説明するブロック図である。
【００５７】
図３において、情報処理装置１は、ゲーム処理部３１、ROM（Read Only Memory）３２、RAM（Random Access Memory）３３、入力部３４、記憶部３５、通信部３６、ドライブ３７、リムーバブルメディア３８、入力インタフェース４１、コード認識部４２、表示制御部４３、および出力インタフェース４４を有している。
【００５８】
ゲーム処理部３１は、演算部や制御部等からなり、ROM３２やRAM３３等を利用して、ユーザがプレイするテレビゲームに関する処理（ゲーム処理）全体を制御する処理部である。つまり、ゲーム処理部３１は、このゲーム処理が実行される情報処理装置１においてCPU（Central Processing Unit）として動作する。
【００５９】
ROM３２は、製造時に回路にデータやプログラムが書き込まれている読み出し専用のマスクROMであり、必要に応じて、そのデータやプログラムをゲーム処理部３１に供給する。RAM３３は、データの更新が可能な半導体メモリであり、ゲーム処理部３１が実行中の処理（プログラム）やその処理に必要なデータを、ゲーム処理部３１の制御に基づいて、一時的に保持する。入力部３４は、例えば、キーボード、マウス、ジョイスティック等の入力デバイスにより構成され、ユーザがその入力部３４を操作することにより入力した指示をゲーム処理部３１に供給する。
【００６０】
記憶部３５は、例えば、ハードディスク等の不揮発性の記憶媒体により構成され、ゲーム処理部３１が実行するプログラムやデータ等の各種の情報を記憶し、必要に応じてそれらの情報をゲーム処理部３１に供給する。通信部３６は、ゲーム処理部３１に制御され、図示せぬネットワークを介して接続され、図示せぬ他の情報処理装置等と通信を行い、情報の授受を行う。ドライブ３７は、装着されたリムーバブルメディア３８を駆動させ、リムーバブルメディア３８に記憶されているデータの読み出し、それをゲーム処理部３１に供給する。例えば、リムーバブルメディア３８は、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリやハードディスクなどで構成される。ドライブ３７は、このリムーバブルメディア３８に記録されているゲームプログラムを読み出し、ゲーム処理部３１において実行させる。
【００６１】
入力インタフェース４１は、例えば、USB（Universal Serial Bus）やIEEE（Institute of Electrical and Electronic Engineers）１３９４等の所定の方式で情報処理装置１の外部装置と情報処理装置１を接続し、外部装置から供給される情報を情報処理装置１に供給するためのインタフェース部である。図２において入力インタフェース４１は、カメラ２に接続され、カメラ２より供給される画像情報をコード認識部４２に供給する。
【００６２】
コード認識部４２は、ゲーム処理部３１に制御され、入力インタフェース４１を介して取得したカメラ２の撮影画像から２Ｄコードを認識する処理を行う。コード認識部４２の詳細については後述する。コード認識部４２は、２Ｄコードの認識処理を行うと、その認識結果をゲーム処理部３１に供給する。ゲーム処理部３１は、その認識結果に基づいて処理を行う。
【００６３】
表示制御部４３は、図示せぬ画像用のバッファメモリを有し、モニタ３に表示される表示画像３Ａの生成に関する処理を行う。例えば、表示制御部４３は、ゲーム処理部３１に制御され、入力インタフェース４１を介して取得したカメラ２の撮影画像にゲーム処理部３１より供給されたCG画像を合成し、その合成画像（合成画像データ）を出力インタフェース４４に供給する。
【００６４】
出力インタフェース４４は、モニタ３等、情報処理装置１の外部装置と接続され、表示制御部４３より供給される画像データ等をその外部装置に供給するインタフェースである。図３の場合、出力インタフェース４４は、表示制御部４３より供給された画像データを所定のタイミングでモニタ３に供給する。
【００６５】
図４は、図３のコード認識部４２の詳細な構成例を説明するブロック図である。
【００６６】
図４において、コード認識部４２は、画像データ取得部５０、ガイド部分認識部５１、座標変換部５２、固定領域コード認識部５３、可変領域コードデフォルト値設定部５４、コードテーブル記憶部５５、可変領域コード認識部５６、パターン比較部５７、コマンド指定部５８、およびコマンドテーブル記憶部５９を有している。
【００６７】
画像データ取得部５０は、入出力インタフェース４１を介してカメラ２により取り込まれる撮影画像の画像データをフレーム毎に取得し、そのフレーム画像（画像データ）をガイド部分認識部５１、固定領域コード認識部５３、および可変領域コード認識部５６に供給する。
【００６８】
ガイド部分認識部５１は、画像データ取得部５０より供給された、カメラ２において得られた撮影画像（フレーム画像）を解析し、図２に示される２Ｄコードのガイド部分１１を認識する処理を行う。そしてガイド部分認識部５１は、その認識結果を座標変換部５２に供給する。
【００６９】
座標変換部５２は、ガイド部分認識部５１がガイド部分１１を認識することにより得られた座標系に従って、画像データ取得部５０より供給された画像データの撮影画像を座標変換し、３次元空間における固定領域１２や可変領域１３の位置を特定する。そして、座標変換部５２は、その特定結果を固定領域コード認識部５３に供給する。
【００７０】
固定領域コード認識部５３は、座標変換部５２より特定された位置の画像を解析し、固定領域１２のコードのセルパターンを認識する。このとき、固定領域１２のセルパターンを認識することができなかった場合、固定領域コード認識部５３は、その認識結果（失敗）をガイド部分認識部５１に供給し、処理を戻す。ガイド部分認識部５１は、次のフレーム画像に対して上述したガイド部分１１の認識処理を繰り返す。また、固定領域コード認識部５１は、固定領域１２のコード（固定領域コード、すなわちセルパターン）を認識することができた場合、その認識結果（認識された値）を可変領域コードデフォルト値設定部５４に供給する。
【００７１】
可変領域コードデフォルト値設定部５４は、コードテーブル記憶部５５に記憶されているコードテーブルを参照し、固定領域コード認識部５３より供給された固定領域コードに対応する可変領域コードデフォルト値とコマンドテーブルを特定する。可変領域コードデフォルト値は、可変領域１３に形成される可変領域コード（セルパターン）の初期値（デフォルト値）のことである。つまり、可変領域コードデフォルト値は、ユーザ等により隠蔽されてない状態の（カメラ２において得られる撮影画像から、可変領域１３に形成されたセルパターンが全て認識可能な状態の）可変領域コードの値を示す。コマンドテーブルは、認識された可変領域コードに対応するコマンド（処理）が示されるテーブル情報であり、後述するコマンドテーブル記憶部５９に記憶されている。
【００７２】
つまり、可変領域コードデフォルト値設定部５４は、固定領域コードに対応する処理を可変領域１３の可変領域コードに割り当てるための情報を設定する。換言すると、可変領域１３の可変領域コードに対応する処理は、固定領域コードの値によって変化するように設定されている。
【００７３】
コードテーブル記憶部５５は、固定領域コードに、可変領域コードデフォルト値とコマンドテーブルを割り当てるテーブル情報であるコードテーブルを予め記憶しており、可変領域コードデフォルト値設定部５４より固定領域コードの値を供給されると、記憶しているコードテーブルに基づいて、その固定領域コードの値に対応する可変領域コードデフォルト値とコマンドテーブルの情報を、応答として可変領域コードデフォルト値設定部５４に返す。
【００７４】
可変領域コードデフォルト値設定部５４は、この可変領域コードデフォルト値とコマンドテーブルの情報を、パターン比較部５７に供給するとともに、可変領域コード認識部５６に可変領域１３の位置（座標）に関する情報を供給し、可変領域コードの認識処理を開始させる。
【００７５】
可変領域コード認識部５６は、可変領域コードデフォルト値設定部５４より供給された可変領域１３の位置（座標）に関する情報に基づいて、画像データ取得部５０より供給された画像データの撮影画像の画像データを解析し、可変領域１３に形成される可変領域コードの認識を行う。そして、可変領域コード認識部５６は、可変領域コードの認識結果をパターン比較部５７に供給する。
【００７６】
パターン比較部５７は、可変領域コードデフォルト値設定部５４より供給された可変領域コードデフォルト値（パターン）と、可変領域コード認識部５６より供給された可変領域コードの認識結果のパターンを比較し、その差分、つまり可変領域コードのどの部分が隠蔽されたかを求める。そしてパターン比較部５７は、その差分情報とコマンドテーブルの情報をコマンド指定部５８に供給する。
【００７７】
コマンド指定部５８は、パターン比較部５７より供給されたコマンドテーブルの情報に基づいて、コマンドテーブル記憶部５９に記憶されている複数のコマンドテーブルの中から参照するコマンドテーブルを特定し、そのコマンドテーブルを用いて、パターン比較部５７より供給された差分情報（差分値）に対応するコマンドを特定する。
【００７８】
コマンドテーブル記憶部５９には、後述するようなコマンドテーブルが複数記憶されている。コマンドテーブルは差分値とコマンドを関連付けるテーブル情報である。コマンドテーブル記憶部５９は、コマンド指定部５８より供給されたコマンドテーブルの情報に指定されるコマンドテーブルを用いて、コマンド指定部５８より供給された差分情報（差分値）に対応するコマンドをコマンド指定部５８に供給する。
【００７９】
コマンド指定部５８は、その特定したコマンドを指定するコマンド指定フラグを立てる指示（コマンド指定指示）をゲーム処理部３１に供給する。ゲーム処理部３１は、その情報に基づいてコマンド指定フラグを立て、コマンド実行の予約を行い、最適なタイミングで、そのコマンドを実行する。コマンド指定の指示が終了するとコマンド指定部５８は、画像データ取得部５０に次のフレーム画像（画像データ）を取得させる。
【００８０】
以上のように、コード認識部４２は、その内部の各部が上述したような処理を行い、カメラ２において得られた撮影画像に含まれる２Ｄコードの固定領域コードおよび可変領域コードを認識し、それらのコードに応じたコマンドを指定し、ゲーム処理部３１にそのコマンドを実行させる。
【００８１】
図５は、図４のコードテーブル記憶部５５に記憶されているコードテーブルの構成例を示す図である。
【００８２】
図５において、コードテーブル６１は、固定領域コードに可変領域コードデフォルト値とコマンドテーブルを関連付けるテーブル情報である。例えば、可変領域コードデフォルト値設定部５４より固定領域コードとして「ＡＡＡ」を供給されると、コードテーブル記憶部５５は、コードテーブル６１を参照し、図５中上から２行目に基づいて、可変領域コードデフォルト値として「パターンＡ」、コマンドテーブルの情報として「パターンＡの１」を可変領域コードデフォルト値設定部５４に返す。
【００８３】
なお、この、可変領域コードデフォルト値である「パターンＡ」が、可変領域１３のデフォルト値のセルパターンそのものであってもよいし、このセルパターンと等価な数値等の代替情報であってもよい。また、可変領域コードデフォルト値設定部５４が複数のセルパターンを予め有しており、それらの中から可変領域コードデフォルト値として使用するセルパターンを特定するための識別情報であってもよい。
【００８４】
さらに、コマンドテーブルを示す情報「パターンＡの１」が、コマンドテーブル記憶部５９に予め記憶されている複数のコマンドテーブルの中から１つを特定するコマンドテーブルの識別情報であってもよいし、コマンドテーブルそのものとし、コマンドテーブル記憶部５９を省略するようにしてもよい。
【００８５】
図６は、図４のコマンドテーブル記憶部５９に記憶されているコマンドテーブルの構成例を示す図である。
【００８６】
図６Ａにおいてコマンドテーブル６２は、コマンドテーブル識別情報、差分値、およびコマンドで構成される。コマンドテーブル識別情報は、各テーブルに固有の情報である。図６Ａのコマンドテーブル６２の場合「パターンＡの１」がコマンドテーブル識別情報である。コマンドテーブル６２は、差分値（認識されたセルパターンとデフォルトのセルパターンとの差分）とコマンドを関連付けるテーブル情報である。つまり、コマンドテーブル６２は、可変領域１３において隠蔽されたセルに対応するコマンドを特定するのに利用される情報である。
【００８７】
例えば、差分値が「０」、すなわち、認識されたセルパターンがデフォルト値でありどのセルも隠蔽されていない場合、ゲーム中のキャラクタＡのCG画像をモニタ３に表示させる「キャラクタＡ表示」コマンドが実行コマンドとして選択され、差分値が「１」の場合、ゲーム中においてキャラクタＡが対戦相手を攻撃する攻撃動作に関する各種の処理を行う「攻撃」コマンドが実行コマンドとして選択され、差分値が「２」の場合、ゲーム中においてキャラクタＡが対戦相手からの攻撃に対する防御動作に関する各種の処理を行う「防御」コマンドが実行コマンドとして選択され、差分値が「３」の場合、ゲーム中においてキャラクタＡが対戦相手からの攻撃を回避する回避動作に関する各種の処理を行う「回避」コマンドが実行コマンドとして選択され、差分値が「４」の場合、ゲーム中においてキャラクタＡがアイテムを使用するアイテム使用動作に関する各種の処理を行う「アイテム使用」コマンドが実行コマンドとして選択される。コマンドテーブル記憶部５９は、このように、コマンド指定部５８より供給された差分値に対応するコマンドの実行をコマンド指定部５８に指示する。
【００８８】
図６Ｂは、コマンドテーブルの他の例を示す図である。コマンドテーブル６３に割り当てられたコマンドテーブル識別情報は「パターンＢの３」である。このコマンドテーブル６３には、各差分値に対してコマンドテーブル６２と異なるコマンドが割り当てられている。例えば、差分値が「０」の場合、ゲーム中のキャラクタＢのCG画像をモニタ３に表示させる「キャラクタＢ表示」コマンドが実行コマンドとして選択され、差分値が「１」の場合、ゲーム中においてモニタ３に表示されているキャラクタＢが立つ動作を行うように各種の処理を行う「立つ」コマンドが実行コマンドとして選択され、差分値が「２」の場合、ゲーム中においてモニタ３に表示されているキャラクタＢが座る動作を行うように各種の処理を行う「座る」コマンドが実行コマンドとして選択され、差分値が「３」の場合、ゲーム中においてモニタ３に表示されているキャラクタＢが右を向く動作を行うように各種の処理を行う「右を向く」コマンドが実行コマンドとして選択され、差分値が「４」の場合、ゲーム中においてモニタ３に表示されているキャラクタＢが左を向く動作を行うように各種の処理を行う「左を向く」コマンドが実行コマンドとして選択される。
【００８９】
図６Ａおよび図６Ｂに示されるように、コマンドテーブル記憶部５９は、差分値に対して互いに異なるコマンドが割り当てられた複数のコマンドテーブルを記憶している。コマンドテーブル記憶部５９は、コマンド指定部５８より供給されたコマンドテーブルの識別情報に対応するコマンドテーブルを選択し、そのコマンドテーブルを用いてコマンド指定部５８より供給された差分値に対応するコマンドの実行をコマンド指定部５８に指示する。
【００９０】
次に、以上のような構成の情報処理装置１が実行する処理の流れについて説明する。情報処理装置１のゲーム処理部３１は、情報処理装置１の電源が投入されると、入力部３４を介してユーザの指示を受け付け、記憶部３５やドライブ３７に接続されたリムーバブルメディア３８より読み出したテレビゲームのプログラム、または通信部３６を介して情報処理装置１の外部より取得したテレビゲームのプログラムを実行し、ゲーム処理を開始する。
【００９１】
図７のフローチャートを参照し、このように実行されるゲーム処理の内、ユーザが、２Ｄコードが印刷されたカード５を利用してプレイするテレビゲームのゲーム処理、すなわち、カメラ２を用いて２Ｄコードを認識する処理を伴うゲーム処理の流れを説明する。
【００９２】
ゲーム処理を開始したゲーム処理部３１は、ステップＳ１において、範囲４内において提示されたカード５に印刷された２Ｄコードを読み取るコード認識処理の実行をコード認識部４２に開始させる。このコード認識処理の詳細については図８のフローチャートを参照して後述する。
【００９３】
コード認識処理の実行を開始させると、ゲーム処理部３１は、ステップＳ２において、そのコード認識処理の結果としてコマンド指定指示をコード認識部４２より取得したか否かを判定する。コマンド指定指示を取得したと判定した場合、ゲーム処理部３１は、処理をステップＳ３に進め、コマンド指定指示により指定されるコマンドを実行する。正確には、ゲーム処理部３１は、コード認識部４２より供給されたコマンド指定指示に基づいてコマンド指定フラグを立て、スケジュールに応じて所定のタイミングでそのコマンドを実行する。
【００９４】
コマンドを実行したゲーム処理部３１は、ステップＳ４においてコマンド実行結果を反映した出力CG画像を生成し、それを表示制御部４３に供給する。出力CG画像を供給されたゲーム処理部３１は、ステップＳ５において、ゲーム処理部３１に制御され、その出力CG画像をカメラ２より入力インタフェース４１を介して供給される撮影画像に合成し、その合成画像を出力インタフェース４４に供給する。出力インタフェース４４は、ステップＳ６において、ゲーム処理部３１に制御され、その供給された合成画像をモニタ３に供給し、表示させる。モニタ３は、出力インタフェース４４より供給された合成画像を表示する。
【００９５】
ステップＳ６の処理が終了すると、ゲーム処理部３１は、ステップＳ７に処理を進める。またステップＳ２においてコマンド指定指示を取得していないと判定したゲーム処理部３１は、ステップＳ３乃至ステップＳ６の処理を省略し、ステップＳ７に処理を進める。
【００９６】
ステップＳ７において、ゲーム処理部３１は、コード認識処理に関する処理以外のその他の処理を行う。そして、ステップＳ８においてゲーム処理部３１は、ゲームを終了するか否かを判定し、ユーザがゲームをプレイ中であり、ゲームを終了しないと判定した場合、ステップＳ２に処理を戻し、それ以降の処理を繰り返す。また、ステップＳ８においてユーザの指示等に基づいてゲームを終了すると判定した場合、ゲーム処理部３１は、ステップＳ９に処理を進め、コード認識部４２を制御し、コード認識処理を終了させ、ゲーム処理を終了する。
【００９７】
次に、図８のフローチャートを参照して、図７のステップＳ１において実行が開始されるコード認識処理の流れについて説明する。
【００９８】
コード認識処理が開始されると、画像データ取得部５０は、ステップＳ２１において、入出力インタフェース４１を介してカメラ２より撮影画像の画像データを取得する。
【００９９】
ガイド部分認識部５１は、ステップＳ２２において、ガイド部分認識処理を行い、撮影画像を解析し、範囲４内のカード５に印刷された２Ｄコード（撮影画像に含まれるカード撮影画像６の２Ｄコード）のガイド部分１１を認識する。そしてガイド部分認識部５１は、その認識したガイド部分１１を基準として３次元の座標系を構築する。
【０１００】
ステップＳ２３においてガイド部分認識部５１は、２Ｄコードのガイド部分を認識できたか否かを判定し、例えば、範囲４にカード５が置かれず（撮影画像にカード撮影画像６が存在せず）、ガイド部分を認識できなかったと判定した場合、ステップＳ２１に処理を戻し、次のフレーム画像（撮影画像）に対してそれ以降の処理を実行させる。
【０１０１】
ステップＳ２３において２Ｄコードのガイド部分を認識できたと判定した場合、ガイド部分認識部５１は、処理をステップＳ２４に進める。座標変換部５２は、ステップＳ２４において、得られた３次元の座標系に従って撮影画像を座標変換する。
【０１０２】
固定領域コード認識部５３は、ステップＳ２５において、３次元座標系に基づいて撮影画像の画像データを解析し、ガイド部分の位置を基準として固定領域１２の位置を特定し、その固定領域１２におけるコード認識処理を行い、７×７ブロックのセルパターンを解析し、固定領域コードを認識する。そして固定領域コード認識部５３は、ステップＳ２６において、固定領域コードを認識することができたか否かを判定し、例えば固定領域１１の一部または全部が、物陰に隠れるなどしてカメラ２の撮影画像に含まれなかった（カメラ２により撮影することができなかった）等の理由により、固定領域コードを認識することができなかったと判定して場合、固定領域コード認識部５３は、ステップＳ２１に処理を戻し、次のフレーム画像に対するそれ以降の処理を実行させる。
【０１０３】
また、ステップＳ２６において固定領域コードを認識することができたと判定した場合、固定領域コード認識部５３は、処理をステップＳ２７に進める。
【０１０４】
ステップＳ２７において、可変領域コードデフォルト値設定部５４は、認識した固定領域コードに対応する可変領域コードのデフォルト値をコードテーブル記憶部５５から読み出し、その値を可変領域コードデフォルト値として設定する。
【０１０５】
可変領域コード認識部５６は、ステップＳ２８において、撮影画像において可変領域１３についてコード認識処理を行い、３次元座標系に基づいて撮影画像から可変領域１３の位置を特定し、その可変領域１３に含まれる可変領域コードを認識する。
【０１０６】
パターン比較部５６は、ステップＳ２９において、その可変領域コードの認識結果と可変領域コードのデフォルト値を比較し、それらの差分値を求める。コマンド指定部５８は、ステップＳ３０において、その比較結果に基づいて認識結果が可変領域コードのデフォルト値と異なるか否か（可変領域コードの一部または全部が隠蔽されたか否か）を判定し、異なると判定した場合、処理をステップＳ３１に進め、その差分値に対応するコマンドの情報をコマンドテーブル記憶部５９より取得し、（ゲーム処理部３１にコマンド指定指示を供給して）そのコマンドの実行を指定するコマンド指定フラグを立て、処理をステップＳ３３に進める。
【０１０７】
また、ステップＳ３０において認識された可変領域コードの認識結果とデフォルト値が一致する（デフォルト値が認識された）と判定した場合、コマンド指定部５８は、ステップＳ３２に処理を進め、そのデフォルト値に対応するコマンドの情報をコマンドテーブル記憶部５９より取得し、（ゲーム処理部３１にコマンド指定指示を供給して）そのコマンドの実行を指定するコマンド指定フラグを立て、処理をステップＳ３３に進める。
【０１０８】
ステップＳ３３においてコマンド指定部５８は、コード認識処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップＳ２１に戻し、次のフレーム画像に対するそれ以降の処理を実行させる。このコード認識処理は、図７のゲーム処理と並行してゲームがプレイされている間、ステップＳ２１乃至ステップＳ３３の処理が繰り返し実行され続ける。
【０１０９】
そして、ステップＳ３３において、例えばユーザがゲームを終了する等して、コード認識処理を終了すると判定した場合、コマンド指定部５８は、コード認識処理を終了する。このとき図７のフローチャートを参照して説明したゲーム処理も終了される。
【０１１０】
つまり、以上のようなコード認証処理をコード認証部４２が実行し、認証したコードに対応するコマンドの実行指示をゲーム処理部３１に供給し、ゲーム処理部３１はその指示に基づいてコマンドを実行し、ゲームに関する処理を行う。
【０１１１】
このように情報処理装置１の各部が動作することにより、ユーザが範囲４に提示したカード５に印刷された２Ｄコードに基づいて各種の処理が実行される。つまり、ユーザは範囲４にカード５を提示することにより、情報処理装置１が実行する処理を制御する指示を入力することができる。例えば、ユーザは、可変領域１３の可変領域コードを適宜隠蔽しながら、範囲４にカード５を提示することにより、情報処理装置１が提供する（ユーザがプレイ中の）テレビゲームに対する各種の指示入力を行うことができる。
【０１１２】
例えば、図９に示されるように、固定領域１２の固定領域コードのそれぞれには互いに異なるキャラクタが割り当てられており、カード撮影画像６上には、この固定領域コードに対応するキャラクタが表示される。例えば、図９の上側のように固定領域コードが「ＡＡＡ」で示されるセルパターンである場合、カード撮影画像６−１上にはキャラクタ７１が表示され、図９の下側のように固定領域コードが「ＢＢＢ」で示されるセルパターンである場合、カード撮影画像６−２上にはキャラクタ７１と異なるキャラクタ７２が表示される。
【０１１３】
このように、ユーザは、提示する固定領域コードを変更する（すなわち、提示するカード５を変更する）ことにより、カード撮影画像６上に表示されるキャラクタを変更することができる。
【０１１４】
また、例えば、図１０に示されるように、可変領域１３の可変領域コードにはデフォルト値との差分値に応じてゲーム用のコマンドがそれぞれ割り当てられており、ユーザが可変領域コードの一部または全部を隠蔽することにより、その隠蔽の仕方に応じたコマンドの実行が入力される。例えば、図１０に示されるように可変領域１３の可変領域コードのデフォルト値がセル８１乃至セル８４の４つのセル（黒色の正方形）により構成される場合において、図１０の上側に示されるようにユーザがセル８１を隠蔽した場合（セル８１が認識されず、セル８２乃至セル８４が認識された場合）、隠蔽されたセル８１が差分値Ａ−１であり、この差分値Ａ−１に対応するコマンドＡ−１が実行される。
【０１１５】
また、図１０の下側に示されるように、ユーザがセル８２を隠蔽した場合（セル８２が認識されず、セル８１、セル８３、およびセル８４が認識された場合）、隠蔽されたセル８２が差分値Ａ−２であり、この差分値Ａ−２に対応するコマンドＡ−２が実行される。
【０１１６】
つまり、ユーザは、このように可変領域１３の可変領域コードの一部または全部を隠蔽することにより、その隠蔽の仕方に応じたコマンドの実行指示を入力することができる。その可変領域コードを利用した指示入力の様子の例を図１１に示す。
【０１１７】
例えば、図１１Ａに示されるように、ユーザがセル８１乃至セル８４を隠蔽しなかった場合、すなわち、認識結果が可変領域コードデフォルト値と一致する場合、カード撮影画像６上には動作しないキャラクタ９１−１が表示される。これに対して、例えば、図１１Ｂに示されるように、ユーザが手９２等を用いてセル８１を隠蔽した場合、この差分値にはコマンドテーブルによって「攻撃」コマンドが割り当てられており、カード撮影画像６上には剣を振り回し攻撃動作をするキャラクタ９１−２が表示される。また、例えば、図１１Ｃに示されるように、ユーザが手９２を用いてセル８２を隠蔽した場合、この差分値にはコマンドテーブルによって「防御」コマンドが割り当てられており、カード撮影画像６上には盾を突き出して防御動作をするキャラクタ９１−３が表示される。
【０１１８】
従来の場合、カード５には固定領域１２に対応するような固定的な２Ｄコードしか印刷されていない。従って、ユーザは、複数の指示を情報処理装置１に対して入力する場合、各指示に対応する２Ｄコードを情報処理装置１に認識させるために、その指示毎に提示するカードを交換しなければならなかったが、本発明の場合、以上のように、ユーザは、提示するカード５を変更しなくても、容易に、可変領域コードの隠蔽の仕方によって多様な指示を情報処理装置１（カメラ２およびモニタ３も含めた情報処理システム）に対して入力することができる。
【０１１９】
また、以上のように、ユーザが隠蔽方法を変更することにより入力情報が変更されるので、この２Ｄコードのセルパターン自体は変化する必要がない。つまり、２Ｄコードはカード５に印刷（または描画）された絵柄であってもよく、例えば、カード５がモニタ等の表示部を有し、その表示部に２Ｄコードを変更可能に表示する必要はない。このように表示部等を用いてその２Ｄコードを変更可能にすることにより、ユーザはカード５を交換しなくても複数の情報を情報処理装置１に入力することができるが、その場合、カード５がCPUやモニタ等の複雑な構成を有する必要があり、カード５の製造コストや運用コストが増大してしまう。これに対して、本発明の場合、カード５は、２Ｄコードのセルパターンが印刷（または描画）されていればどのようなものでもよく、電気的構成または機械的構成等の複雑な構成が不要であり、例えば紙やプラスチック等の素材で安価に製造可能である。またこのカード５には電気的構成または機械的構成が不要であるから、運用コストも低減することができる。
【０１２０】
また、カード５の２Ｄコードは、固定領域１２と可変領域１３の両方を有する。つまりユーザは、図９に示されるように、固定領域コードにより表示するキャラクタを指示し、さらに、図１０や図１１に示されるように、可変領域コードによりそのキャラクタに対応するコマンドを指示することができる。このようにカード５の２Ｄコードは、全体として複数の（互いに階層的な関係の）情報（指示）を有しており、ユーザはこの２Ｄコードを提示することにより（互いに階層的な関係の）複数の情報（指示）を一度に情報処理装置１（情報処理システム）に入力することができる。
【０１２１】
以上のように、カード５は、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースである。換言すると、情報処理装置１（情報処理システム）は、このカード５の２Ｄコードを読み取り処理を行うことができるので、ユーザに対して低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができる。
【０１２２】
なお、カード５の可変領域コードのセルパターンは、上述したようにユーザが指等によってその一部または全部を隠蔽する。従って、ユーザがその隠蔽を意図どおりに容易に制御することができるように、隠蔽の最小単位毎にセルパターンの配置間隔を十分に設けるようにしてもよい。例えば、図１２Ａに示されるように、可変領域１３の可変領域コードが４つのセルにより構成されており、ユーザによる隠蔽の最小単位がセル１つである場合、つまり、ユーザが可変領域１３のセルのいずれか１つ隠蔽することにより、デフォルト値との差分が発生し、新たなコマンド入力されるような場合、両矢印１０１乃至両矢印１０４に示されるように各セルをガイド部分１１より十分に離れた位置に設けるだけでなく、さらに、両矢印１０５乃至両矢印１０７に示されるように、各セル同士も互いに十分に離れるように設ける。このようにすることにより、図１２Ｂに示されるように、ユーザが手９２の親指によりセルの１つを隠蔽しても、両矢印１１１乃至１１３に示されるようにユーザの親指と、ガイド部分１１や隣のセルとの間に隙間が残り、誤った隠蔽の発生を抑制することができる。
【０１２３】
つまり、カード５の可変領域１３のセルパターンは、例えば、隠蔽の最小単位で十分な間隔を保つように各セルを配置するなど、ユーザによる隠蔽を考慮した配置とするようにしてもよい。このようにすることにより、情報処理装置１によるカード５の２Ｄコードの認識率を向上させることができる。
【０１２４】
また、可変領域１３のセルは、１色だけでなく複数の色により構成されるようにしてもよく、例えば、図１３Ａに示されるように黒の正方形と白の正方形により構成されるようにしてもよい。この場合、図１３Ｂに示されるように、ユーザがセルを手９２で隠蔽した場合、その隠蔽された指の部分は白と認識されるようにしても良いし黒と認識されるようにしても良い。このように情報処理装置１が黒の正方形と白の正方形の両方を認識できなければ隠蔽されていると判定するようにカード５の２Ｄコードのパターンを構成することにより、情報処理装置１によるカード５の２Ｄコードの認識率を向上させることができる。
【０１２５】
さらに、カード５の可変領域１３のセルパターンを、例えば図１４Ａに示されるように、指等のパターンと明らかに異なるような複雑なパターンにするようにしてもよい。このようにすることにより、図１４Ｂに示されるように、ユーザが手９２によってセルパターンの一部を隠蔽した場合であっても、その隠蔽した部分の指のパターンがセルパターンの他の部分（隠蔽されていない部分）のパターンと明らかに異なるので、情報処理装置１が指を誤って可変領域コードのパターンとして認識してしまうことを抑制することができる。つまり、情報処理装置１によるカード５の２Ｄコードの認識率を向上させることができる。
【０１２６】
また、可変領域１３の可変領域コード（セル）はどのような図形であってもよく、例えば、図１５Ａに示されるように記号を用いたものであっても良いし、図１５Ｂに示されるように文字を用いたものであってもよい。また、図１５Ａおよび図１５Ｂに示されるように、各セルが互いに異なる図形（記号や文字）であってもよい。なお、可変領域１３のセルとして、記号、文字、および図形等を組み合わせて用いるようにしてももちろんよい。
【０１２７】
なお、以上においては、可変領域コードの『隠蔽』により情報を入力が制御されるように説明した。つまり、可変領域１３に形成される可変領域コード全体の値が可変領域コードのデフォルト値に設定され、その可変領域コードの一部または全部が隠蔽されることにより、その可変領域コードの値が変化するように説明した。しかしながら、可変領域コードの値の変更方法は、これに限らず、例えば図１６Ａに示されるように可変領域コードのデフォルト値を空欄とし、図１６Ｂに示されるように、その可変領域１３への所定の記号の『追加』により情報の入力が制御されるようにしてもよい。つまり、可変領域１３にコードが存在しない状態が可変領域コードのデフォルト値に設定され、その可変領域１３に対して追加された付加的なコードが可変領域コードとされるようにし、このような付加的なコードの追加により可変領域コードの値が変化するようにしてもよい。
【０１２８】
図１６Ａにおいて、カード５の２Ｄコードの可変領域１３は、可変領域コードデフォルト値が空欄として設定されている。図１６Ｂに示されるようにユーザが、この可変領域１３に、所定の記号が記載された小型のカード１５１やカード１５２を用いて記号を『追加』すると情報処理装置１は、その追加された記号の種類、またはその記号の位置等によって入力される情報（指示）を識別する。
【０１２９】
このように付加的なコードを追加する場合、情報処理装置１のコード認識部４２の可変領域コード認識部５６によるコード認識処理は、図８のステップＳ３０の処理において「可変領域コードの一部または全部が隠蔽されたか否か」を判定するのではなく、「可変領域コードに予め定められた所定の画像情報（例えば図形、記号、および文字等）が追加されたか否か」を判定する。
【０１３０】
なお、以上の『隠蔽』と『追加』の両方を同時に適用するようにしてももちろんよい。例えば、可変領域コードのデフォルト値に対して、その一部または全部を隠蔽した場合と、新たな画像情報を追加した場合のいずれの場合の差分値に対しても所定の実行コマンドが割り当てられているようにしてもよい。
【０１３１】
また、カード５の２Ｄコードの各領域の配置関係は図２に示される関係以外であってももちろん良い。
【０１３２】
例えば、図１７Ａに示されるカード１６１のように、ガイド部分１１の同じ側に固定領域１２と可変領域１３が設けられるようにしてもよいし、図１７Ｂに示されるカード１６２のように、ガイド部分１１と固定領域１２の横側に可変領域１３が設けられるようにしていてもよいし、図１７Ｃに示されるカード１６３のように、ガイド部分１１が固定領域１２と可変領域１３を囲むように設けられていてもよい。
【０１３３】
また、図１７Ｄに示されるカード１６４のように、固定領域１２と可変領域１３が１つの領域（可変領域１６５）として構成されるようにしてもよい。この場合、可変領域１６５のコードは、例えば、時間的に認識方法が制御される。例えば、あるタイミングにおいては固定領域コードとして認識され、他のタイミングにおいては可変領域コードとして認識される。ユーザは、可変領域１６５のコードが固定領域コードとして認識されるタイミングにおいては、この可変領域１６５のセルを隠蔽せずに、デフォルト値を固定領域コードとして認識させ、可変領域１６５のコードが可変領域コードとして認識されるタイミングにおいては、この可変領域１６５のセルの一部または全部を隠蔽することにより、認識させるコードを変化させる。
【０１３４】
さらに、カード５の２Ｄコードは、固定領域１２が省略され、ガイド部分１１と可変領域１３のみにより構成されるようにしてもよいし、さらにガイド部分１１が省略され、可変領域１３のみにより構成されるようにしてもよい。
【０１３５】
また、それ以外にも、図１８に示されるように、ユーザが隠蔽するセルを変更するパターンを実行コマンドに関連付けるようにしてもよい。図１８の場合、ユーザが、最初に、左上段に示されるように手９２を用いて可変領域１３のセル８１を隠蔽し（番号１）、次に、左中段に示されるようにセル８３を隠蔽し（番号２）、最後に、左下段に示されるようにセル８２を隠蔽する（番号３）ことに対して、コマンドテーブルによって隠しコマンドの「ダンス」が対応付けられており、ユーザがこのように各セルを隠蔽することによりキャラクタがダンスをするCG画像がモニタ３に表示されるようになされている。
【０１３６】
このように可変領域コードの隠蔽の変更パターン（または追加の変更パターン）によって入力される指示が指定されるようにする場合、情報処理装置１のコード認識部４２は、図１９に示されるように構成される。図１９において、コード認識部４２は、図４に示される構成の他に差分値変化パターン確認部１８１と差分値変化パターン保持部１８２を有している。
【０１３７】
図１９において、差分値変化パターン確認部１８１は、パターン比較部５７により比較され検出された差分値が変化する様子（差分値変化パターン）を確認する。差分値変化パターン１８１は、パターン比較部５７より差分値を供給されると、それを差分値変化パターン保持部１８２に供給し、差分値変化パターン保持部１８２が差分値変化パターンとして保持している差分値の集合に追加させる。差分値変化パターン１８１は、コマンドテーブル記憶部５９に記憶されているコマンドテーブルを取得し、そのコマンドテーブルに登録されている差分値変化パターンと、差分値変化パターン保持部１８２に保持されている差分値変化パターンを比較し、それらが互いに一致するか否かを確認し、確認結果をコマンド指定部５８に供給する。
【０１３８】
コマンド指定部５８は、その確認結果に基づいて、コマンドテーブル記憶部５９に記憶されているコマンドテーブルから指定するコマンドを特定し、ゲーム処理部３１に対して、そのコマンドの実行を指示する。
【０１３９】
図２０は、コマンドテーブル記憶部５９が記憶するコマンドテーブルの構成例を示す図である。図２０においてコマンドテーブル１８３は、コマンドテーブル識別情報、差分値変化パターン、およびコマンドの各情報により構成される。例えばコマンドテーブル１８３は、「パターンＡの５」のコマンドテーブル識別情報で識別されており、差分値が「１」→「３」→「２」の順で変化する差分値変化パターンに対しては「踊りＡ」のコマンドが割り当てられている。つまり、差分値が「１」→「３」→「２」の順で変化するようにユーザが可変領域コードを隠蔽した場合、「踊りＡ」のコマンドの実行指示が情報処理装置１に入力される。
【０１４０】
この場合のコード認識処理の流れを図２１および図２２のフローチャートを参照して説明する。
【０１４１】
この場合もコード認識部４２の各部は、ステップＳ５１乃至ステップＳ５９の処理をステップＳ２１乃至ステップＳ２９の処理と同様に実行するのでそれらの処理についての説明は省略する。
【０１４２】
パターン比較部５７がデフォルト値と認識結果を比較すると、差分値変化パターン確認部１８１は、図２１のステップＳ６０において、差分値変化パターン保持部１８２を利用してその差分値の変化パターンを確認し、処理を図２２のステップＳ６１に進める。
【０１４３】
図２２のステップＳ６１において、差分値変化パターン確認部１８１は、差分値の変化パターンがコードテーブルに登録されている差分値変化パターンである予約変化パターンに前方一致するか否かを判定する。つまり、差分値変化パターン確認部１８１は、差分値変化パターン保持部１８２に保持させたこれまでの差分値の変化パターンが、コードテーブルに登録されている変化パターンに完全一致する可能性があるか否かを判定する。
【０１４４】
差分値の変化パターンが予約変化パターンに前方一致すると判定した場合、差分値変化パターン確認部１８１は、処理をステップＳ６２に進め、差分値の変化パターンが予約変化パターンと完全一致するか否かを判定する。差分値の変化パターンが予約変化パターンと完全一致すると判定した場合、差分値変化パターン確認部１８１は、処理をステップＳ６３に進める。ステップＳ６３においてコマンド指定部５８は、その完全一致した予約変化パターンに応じたコマンドをコマンドテーブルに基づいて特定し、そのコマンドの実行を予約するコマンド指定フラグを立てるようにゲーム処理部３１に指示を出す。
【０１４５】
ステップＳ６３の処理を終了したコマンド指定部５８は、処理をステップＳ６４に進め、コード認識処理を終了するか否かを判定し、終了しないと判定した場合、処理を図２１のステップＳ５１に戻し、それ以降の処理を次のフレーム画像に対して実行させる。
【０１４６】
また、ステップＳ６４において、コード認識処理を終了すると判定した場合、コマンド指定部５８は、コード認識処理を終了する。
【０１４７】
なお、ステップＳ６２において、差分値の変化パターンが予約変化パターンに前方一致するものの完全一致しないと判定した場合、つまり、まだ差分値の変化パターンにおける差分値の数が予約変化パターンにおける差分値の数に一致していないと判定した場合、差分値変化パターン確認部１８１は、ステップＳ６５に処理を進め、その差分値を差分値変化パターン保持部１８２に供給し、差分値の変化パターンに追加させる。ステップＳ６５の処理を終了すると、差分値変化パターン確認部１８１は、処理をステップＳ６４に進め上述したように処理を実行させる。
【０１４８】
また、ステップＳ６１において差分値の変化パターンが予約変化パターンに前方一致しない、つまり、差分値の変化パターンが予約変化パターンと異なり、完全一致する可能性がないと判定した場合、差分値変化パターン確認部１８１は、ステップＳ６６に処理を進める。
【０１４９】
コマンド指定部５８は、コマンドテーブル記憶部５９を制御し、ステップＳ６６乃至ステップＳ６８の処理を図８のステップＳ３０乃至ステップＳ３２の処理の場合と同様に実行する。従って、これらの処理についての説明は省略する。ステップＳ６７またはステップＳ６８の処理を終了するとコマンド指定部５８は、処理をステップＳ６４に進め、上述したように処理を実行させる。
【０１５０】
このようにすることにより、最初に説明した場合よりも、ユーザは、さらにより多様な操作指示を容易に入力することができる。換言すると、情報処理装置１（情報処理システム）は、低コストで製造および運用が可能であり、かつ、さらにより多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができる。
【０１５１】
なお、以上においては、カード５がテレビゲームに対するユーザインタフェースであるように説明したが、これに限らず、例えば、複数のＡＶ（Audio Visual）機器の動作を制御する指示を入力するリモートコントローラであるようにしてもよい。
【０１５２】
図２３は、そのような複数のＡＶ機器により構成される、本発明を適用した情報処理システムの構成例を示す図である。
【０１５３】
図２３において、情報処理システムは、情報処理装置２０１、カメラ２０２、テレビジョン受像機２０３、ハードディスクレコーダ２０４、およびオーディオコンポーネントシステム２０５（以下、オーディオコンポ２０５と称する）を有している。
【０１５４】
情報処理装置２０１は、テレビジョン受像機２０３、ハードディスクレコーダ２０４、およびオーディオコンポ２０５の動作を一元管理し、制御する制御装置である。例えば、情報処理装置１は、テレビジョン受像機２０３に対して、電源のON・OFF、受信する放送チャンネル、出力音声に関する設定（音量、音質、チャンネル数、主音声と副音声の切り替え等）、および画面設定（画像サイズ、輝度、色合い、シャープネス、ノイズリダクション、垂直・水平同期等）等を制御する。また、情報処理装置１は、ハードディスクレコーダ２０４に対して、電源のON・OFF、録画処理や再生処理の制御、および予約情報の管理等を行う。さらに、情報処理装置１は、オーディオコンポ２０５に対して、電源のON・OFF、CD（Compact Disc）やMD（Mini-Disk）（登録商標）の再生処理の制御、録音処理の制御、予約処理の制御、ラジオ番組の受信制御、出力音声の音量や音質の制御等を行う。
【０１５５】
また、情報処理装置２０１は、カメラ２を制御して撮影画像を取得し、上述した２Ｄコードによるユーザ２１２の指示入力を受け付ける。ユーザ２１２は、カメラ２０２の撮影範囲２１１内において、カード２１３をカメラ２０２に提示する。このカード２１３には上述したカード５と同様の２Ｄコードが印刷されている。ただし、この場合、固定領域コードは、テレビジョン受像機２０３、ハードディスクレコーダ２０４、およびオーディオコンポ２０５を指定するコードにより形成され、可変領域コードは、それらの装置に入力する制御情報を指定するコードにより形成される。
【０１５６】
ユーザ２１２は、このカード２１３の２Ｄコードをカメラ２０２に提示する。このときユーザ２１２は、指示を入力する装置（テレビジョン受像機２０３、ハードディスクレコーダ２０４、またはオーディオコンポ２０５）に応じた固定領域コードが印刷されたカード２１３を選択し、入力する指示に応じて、そのカード２１３の可変領域コードの一部または全部を隠蔽しながらそのカード２１３をカメラ２０２に提示する。
【０１５７】
情報処理装置２０１は、カメラ２０２により取り込まれた撮影画像を解析し、この２Ｄコードの固定領域コードから指示が入力された装置を特定し、さらに可変領域コードの隠蔽の仕方に応じて入力された指示を特定する。そして、情報処理装置２０１は、それらの情報に従って、テレビジョン受像機２０３、ハードディスクレコーダ２０４、またはオーディオコンポ２０５の動作を制御する。この時、情報処理装置２０１は、制御内容（例えば、現在選択されているチャンネル情報や音量等を示す画像情報）をテレビジョン受像機２０３の画面に表示画像２０３Ａとして表示する。ユーザ２１２は、この表示画像２０３Ａを参照することにより自分が入力した制御内容を確認しながら各装置の制御情報を入力する（各装置をリモートコントロールする）ことができる。
【０１５８】
このように、ユーザ２１２は、２Ｄコードが印刷されたカード２１３を、テレビジョン受像機２０３、ハードディスクレコーダ２０４、およびオーディオコンポ２０５のリモートコントローラとして使用することができる。つまり、カード２１３は、電池も不要な、低コストで製造および運用が可能であり、かつ、さらにより多様な操作指示をユーザが容易に入力することができるユーザインタフェース（リモートコントローラ）である。
【０１５９】
図２４は、図２３の情報処理装置２０１の内部の構成例を示すブロック図である。図２４において、情報処理装置２０１の内部の構成は、図３の情報処理装置１の構成と基本的に同様である。ただし、情報処理装置２０１は、情報処理装置１がテレビゲームに関する処理を行うのに対して、ユーザ２１２による（カード２１３を用いた）AV機器のリモートコントロール処理を行う。従って、情報処理装置２０１は、情報処理装置１におけるゲーム処理部３１の代わりに、リモートコントロール処理部２３１を有し、情報処理装置１における表示制御部４３の代わりに、AV機器制御部２４３を有している。
【０１６０】
リモートコントロール制御処理部２３１は、ユーザ２１２によるテレビジョン受像機２０３、ハードディスクレコーダ２０４、またはオーディオコンポ２０５の制御入力情報を受け付け、その情報に基づいて各装置を制御するリモートコントロール処理を行う。この時、リモートコントロール制御処理部２３１は、ゲーム処理部３１の場合と同様に、コード認識部４２を制御して撮影画像に含まれる２Ｄコードの認識処理を実行させる。また、リモートコントロール制御処理部２３１は、その認識結果をAV機器制御部２４３に供給し、テレビジョン受像機２０３、ハードディスクレコーダ２０４、またはオーディオコンポ２０５等に対する制御情報を、出力インタフェース４４を介して制御先の装置に供給させる。
【０１６１】
この情報処理装置２０１によるリモートコントロール処理の流れを図２５のフローチャートを参照して説明する。この処理は、情報処理装置１が実行するゲーム処理に対応する処理である。
【０１６２】
ステップＳ８１において、リモートコントロール処理部２３１は、コード認識部４２を制御し、コード認識処理の実行を開始させる。コード認識処理部４２はこの指示に基づいて図８のフローチャートを参照して説明したコード認識処理を開始し、範囲２１１においてユーザ２１２によりカード２１３がカメラ２０２に提示された場合、その撮影画像を解析してカード２１３の２Ｄコードを認識し、その２Ｄコードに対応するコマンド指定指示をリモートコントロール処理部２３１に供給する。
【０１６３】
ステップＳ８２において、リモートコントロール処理部２３１は、そのコード認識部４２から供給されるコマンド指定指示を取得したか否かを判定し、取得したと判定した場合、処理をステップＳ８３に進める。ステップＳ８３において、リモートコントロール処理部２３１は、その取得したコマンド指定指示により指定されるコマンドを実行する。正確には、リモートコントロール処理部２３１は、取得したコマンド指定指示により指定されるコマンドの実行を予約するフラグを立て、実行スケジュールに従った所定の（最適な）タイミングにおいてそのコマンドを実行する。つまり、リモートコントロール処理部２３１がコマンド指定指示を取得してからそのコマンドが実行されるまでに時間が空く場合がある。
【０１６４】
ステップＳ８３の処理を終了したリモートコントロール処理部２３１は、処理をステップＳ８４に進める。ステップＳ８４において、AV機器制御部２４３は、コマンドを実行したリモートコントロール処理部２３１に制御されて、ユーザ２１２に指定された制御情報を、出力インタフェース４４を介して、その制御先のAV機器に供給する。また、ステップＳ８５において、AV機器制御部２４３は、その制御結果を、出力インタフェース４４を介してテレビジョン受像機２０３に供給し、出力（表示）させる。
【０１６５】
ステップＳ８５の処理を終了すると、AV機器制御部２４３は、ステップＳ８６に処理を進める。また、ステップＳ８２において、コマンド指定指示を取得していないと判定した場合、リモートコントロール処理部２３１は、ステップＳ８３乃至ステップＳ８５の処理を省略し、ステップＳ８６に処理を進める。
【０１６６】
ステップＳ８６において、リモートコントロール処理部２３１は、リモートコントロール処理を終了するか否かを判定し、終了しないと判定した場合、ステップＳ８２に処理を戻し、それ以降の処理を繰り返す。また、ステップＳ８６において、リモートコントロール処理を終了すると判定した場合、リモートコントロール処理部２３１は、ステップＳ８７に処理を進め、コード認識部４２を制御し、コード認識処理を終了させ、リモートコントロール処理を終了する。
【０１６７】
以上のように、カード２１３は、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるリモートコントローラ（ユーザインタフェース）である。換言すると、情報処理装置２０１（情報処理システム）は、このカード２１３の２Ｄコードを読み取り、そのコードに応じたAV機器の制御処理を行うことができるので、ユーザに対して低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるリモートコントローラ（ユーザインタフェース）を提供することができる。
【０１６８】
なお、以上においては２次元バーコードを用いた制御について説明したが、このようなユーザインタフェースは、カードに印刷（描画）された２次元バーコードに限らず、カメラが取得した撮影画像において画像情報として認識可能な情報であればどのような情報を利用して実現してもよい。
【０１６９】
図２６は、図２３を参照して説明した情報処理システムの他の構成例を説明する図である。図２３においてカード２１３により構成されていたリモートコントローラ（ユーザインタフェース）は、図２６において、テーブル２５１により構成される。カメラ２０２は、テーブル２５１の上面２５１Ａの一部または全部である範囲２５２を撮影範囲とし、撮影を行う。このテーブル２５１の上面２５１Ａの範囲２５２内には、２次元画像の絵柄２６１乃至絵柄２６４、並びに３次元物体の立体アイテム２６５が設けられている。図示せぬユーザは、これらの絵柄やアイテムをカメラ２０２に対して隠蔽することにより、制御情報の入力を行う。すなわち、この場合、範囲２５２の全てが可変領域とされ、絵柄２６１乃至絵柄２６４、並びに立体アイテム２６５が可変領域コードとされる。
【０１７０】
図示せぬユーザがこれらの絵柄や立体アイテムを隠蔽すると、情報処理装置２０１は、カメラ２０２の撮影画像からその隠蔽された絵柄またはアイテムを特定し、その図柄、または、その位置や向き等に基づいてユーザが実行を指示するコマンドを特定する。
【０１７１】
なお、この可変領域コードとなる絵柄や立体アイテムの数はいくつであってもよいし、その形状はどのようなものであってもよい。また、それらの配置場所は範囲２５２内であればどこでもよい。
【０１７２】
このように、ユーザ２１２は、絵柄や立体アイテムが上面２５１Ａに印刷（描画）されたテーブル２５１を、テレビジョン受像機２０３、ハードディスクレコーダ２０４、およびオーディオコンポ２０５のリモートコントローラとして使用することができる。つまり、テーブル２５１は、電池も不要な、低コストで製造および運用が可能であり、かつ、さらにより多様な操作指示をユーザが容易に入力することができるユーザインタフェース（リモートコントローラ）である。
【０１７３】
このように、情報処理装置２０１（情報処理システム）は、このテーブル２５１の絵柄や立体アイテムの状況を可変領域コードとして読み取り、そのコードに応じたAV機器の制御処理を行うことができるので、ユーザに対して低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるリモートコントローラ（ユーザインタフェース）を提供することができる。
【０１７４】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図３の情報処理装置１および図２４の情報処理装置２０１は、図２７に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０１７５】
図２７において、パーソナルコンピュータ３００のCPU（Central Processing Unit）３０１は、ROM（Read Only Memory）３０２に記憶されているプログラム、または記憶部３１３からRAM（Random Access Memory）３０３にロードされたプログラムに従って各種の処理を実行する。RAM３０３にはまた、CPU３０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１７６】
CPU３０１、ROM３０２、およびRAM３０３は、バス３０４を介して相互に接続されている。このバス３０４にはまた、入出力インタフェース３１０も接続されている。
【０１７７】
入出力インタフェース３１０には、キーボード、マウスなどよりなる入力部３１１、CRT（Cathode Ray Tube）、LCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部３１２、ハードディスクなどより構成される記憶部３１３、モデムなどより構成される通信部３１４が接続されている。通信部３１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０１７８】
入出力インタフェース３１０にはまた、必要に応じてドライブ３１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部３１３にインストールされる。
【０１７９】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１８０】
この記録媒体は、例えば、図２７に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア３２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM３０２や、記憶部３１３に含まれるハードディスクなどで構成される。
【０１８１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８２】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１８３】
【図１】本発明を適用した情報処理システムの構成例を示す図である。
【図２】図１のカードの２Ｄコードの構成例を説明する図である。
【図３】図１の情報処理装置の内部の構成例を示すブロック図である。
【図４】図３のコード認識部の詳細な構成例を示すブロック図である。
【図５】コードテーブルの構成例を示す図である。
【図６】コマンドテーブルの構成例を示す図である。
【図７】ゲーム処理を説明するフローチャートである。
【図８】コード認識処理を説明するフローチャートである。
【図９】固定領域コードに対応する処理の例を説明する図である。
【図１０】可変領域コードに対応する処理の例を説明する図である。
【図１１】可変領域コードのコード変更方法を説明する図である。
【図１２】可変領域のセルパターンの例を示す図である。
【図１３】可変領域のセルパターンの、他の例を示す図である。
【図１４】可変領域のセルパターンの、さらに他の例を示す図である。
【図１５】可変領域コードの、他の例を示す図である。
【図１６】可変領域コードの、さらに他の例を示す図である。
【図１７】２Ｄコード内における固定領域および可変領域の配置例を示す図である。
【図１８】可変領域コードの、さらに他の例を示す図である。
【図１９】コード認識部４２の他の構成例を示すブロック図である。
【図２０】コマンドテーブルの他の構成例を示すブロック図である。
【図２１】コード認識処理の他の例を説明するフローチャートである。
【図２２】コード認識処理の他の例を説明する、図２１に続くフローチャートである。
【図２３】本発明を適用した情報処理システムの他の構成例を示す図である。
【図２４】図２３の情報処理装置の内部の構成例を示すブロック図である。
【図２５】リモートコントロール処理を説明するフローチャートである。
【図２６】本発明を適用した情報処理システムのさらに他の構成例を示す図である。
【図２７】本発明を適用したパーソナルコンピュータの構成例を示す図である。
【符号の説明】
【０１８４】
１  情報処理装置，  ２  カメラ，  ３  モニタ，  ４  範囲，  ５  カード，  ６  作カード撮影画像，  ７  CG画像，  １１  ガイド部分，  １２  固定領域，  １３  可変領域，  ３１  ゲーム処理部，  ４２  コード認識部，  ４３  表示制御部，  ５０  画像データ取得部，  ５１  ガイド部分認識部，  ５２  座標変換部，  ５３  固定領域コード認識部，  ５４  可変領域コードデフォルト値設定部，  ５５  コードテーブル記憶部，  ５６  可変領域コード認識部，  ５７  パターン比較部，  ５８  コマンド指定部，  ５９  コマンドテーブル記憶部，  ６１  コードテーブル，  ６２  コマンドテーブル，  ６３  コマンドテーブル，  １８１  差分値変化パターン確認部，  １８２  差分値変化パターン保持部，  １８３  コマンドテーブル，  ２０１  情報処理装置，  ２０２  カメラ，  ２０３  テレビジョン受像機，  ２０４  ハードディスクレコーダ，  ２０５  オーディオコンポーネントシステム，  ２１１  範囲，  ２１２  ユーザ，  ２１３  カード，  ２３１  リモートコントロール処理部，  ２４３  AV機器制御部，  ２５１  テーブル，  ２５２  範囲，  ２６１乃至２６４  絵柄，  ２６５  立体アイテム
【図１】
2006171958.tif 000003
【図２】
2006171958.tif 000004
【図３】
2006171958.tif 000005
【図４】
2006171958.tif 000006
【図５】
2006171958.tif 000007
【図６】
2006171958.tif 000008
【図７】
2006171958.tif 000009
【図８】
2006171958.tif 000010
【図９】
2006171958.tif 000011
【図１０】
2006171958.tif 000012
【図１１】
2006171958.tif 000013
【図１２】
2006171958.tif 000014
【図１３】
2006171958.tif 000015
【図１４】
2006171958.tif 000016
【図１５】
2006171958.tif 000017
【図１６】
2006171958.tif 000018
【図１７】
2006171958.tif 000019
【図１８】
2006171958.tif 000020
【図１９】
2006171958.tif 000021
【図２０】
2006171958.tif 000022
【図２１】
2006171958.tif 000023
【図２２】
2006171958.tif 000024
【図２３】
2006171958.tif 000025
【図２４】
2006171958.tif 000026
【図２５】
2006171958.tif 000027
【図２６】
2006171958.tif 000028
【図２７】
2006171958.tif 000029