説明

情報処理装置および方法、入力装置および方法、プログラム、並びに情報処理システム

【課題】低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができるようにする。
【解決手段】 固定領域コード認識部53は、固定領域コードを認識する。可変領域コードデフォルト値設定部54は、コードテーブルから可変領域コードデフォルト値とコマンドテーブルを特定する。可変領域コード認識部56は、可変領域コードの認識を行う。パターン比較部57は、可変領域コードデフォルト値(パターン)と、認識結果のパターンを比較し、その差分、つまり可変領域コードのどの部分が隠蔽されたかを求める。コマンド指定部58は、パターン比較部57より供給された差分値に対応するコマンドを特定する。本発明は、ゲーム処理やリモートコントロール処理を行う情報処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および方法、入力装置および方法、プログラム、並びに情報処理システムに関し、特に、画像情報として一部または全部を変更可能な識別子を利用することにより、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができるようにする情報処理装置および方法、入力装置および方法、プログラム、並びに情報処理システムに関する。
【背景技術】
【0002】
従来、カードや紙媒体に印刷された2次元バーコードをカメラで撮像し、撮像画像からそのパターンを読み取り、あたかも2次元バーコード上に立体物が存在するかのように、テレビなどの画面上に、パターンに対応したコンピュータグラフィック画像(以下、CG(Computer Graphics)画像と称する)を表示させる技術があった(例えば、特許文献1参照)。
【0003】
このような合成処理を行う情報処理装置は、2次元バーコードの3次元空間における位置を特定するとともに、さらにその2次元バーコードの情報を読み取り、その情報に対応するCG画像のオブジェクトを特定する。そして、情報処理装置は、そのCG画像のオブジェクトが3次元空間において2次元バーコード上に位置するように画像処理を施し、そのCG画像と撮像画像を合成する。このようにして情報処理装置は、CG画像のオブジェクトが2次元バーコード上に位置しているかのような合成画像を表示する。
【0004】
このような仮想空間画像の生成技術は例えば、テレビジョン受信装置をモニタとして利用する、所謂、テレビゲーム等に利用される。
【0005】
【特許文献1】特開2000−322602号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、以上のような方法においては、カメラを介して読み取られた2次元バーコードの画像パターンに応じた所定のCG画像(例えば、ゲームのキャラクタ等の画像)を表示させることができるが、その表示させたCG画像のオブジェクトに対してユーザが更に指示を入力することができなかった。例えば、ユーザは、カメラに2次元バーコードを提示することでその2次元バーコードの画像パターンに対応するゲームのキャラクタのCG画像をモニタに表示させることができるが、そのキャラクタに対して、新たに、立たせたり座らせたりする等の動作コマンドを入力することができなかった。
【0007】
例えば、表示するCG画像を動画とすることにより、2次元バーコードの画像パターンに応じた予め定められた所定の動きを伴うキャラクタ(CG画像)を表示させる事は可能であるが、基本的に、1つの画像パターンに対して1種類の動きしか登録することができない。従って、この場合も、一旦表示されたCG画像のキャラクタに対してユーザが新たに指示を入力することはできなかった。さらに、2次元バーコードの1つの画像パターンに対して複数の動作を登録しておき、画像表示時にそれらの中から表示する動作が任意に選択されるようにしてもよいが、その場合も、その選択はランダムに行われるものであり、ユーザが指示するものではない。従って、この場合も、一旦表示されたCG画像のキャラクタに対してユーザが新たに指示を入力することはできなかった。
【0008】
つまり、このようなシステムにおいて、ユーザは、1つの2次元バーコードで複数の指示を入力することができないという課題があった。逆に、複数の指示を入力する場合、ユーザは複数の2次元バーコードを用意しなければならず、認識させる2次元バーコードの交換等、煩雑な作業を伴い、入力作業が複雑になってしまうという課題があった。
【0009】
本発明はこのような状況に鑑みてなされたものであり、1つの可変な識別子を用いて複数の情報を識別することができるようにし、低コストで操作性に優れたインタフェースをユーザに提供することができるようにするものである。
【課題を解決するための手段】
【0010】
本発明の情報処理装置は、撮影部において得られた撮影画像の画像データを取得する画像データ取得手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段とを備えることを特徴とする。
【0011】
前記可変領域に形成される可変領域コード全体の値がデフォルト値に設定され、可変領域コードの一部または全部が隠蔽されることにより可変領域コードの値が変化するようにすることができる。
【0012】
前記可変領域にコードが存在しない状態がデフォルト値に設定され、可変領域に付加的なコードが追加されることにより可変領域コードの値が変化するようにすることができる。
【0013】
前記固定領域コードの値とデフォルト値を関連付けるテーブル情報であるコードテーブルを記憶するコードテーブル記憶手段をさらに備え、可変領域コードデフォルト値設定手段は、コードテーブル記憶手段により記憶されているコードテーブルを参照して固定領域コードの値に対応するデフォルト値を設定するようにすることができる。
【0014】
前記差分値とコマンドを関連付けるテーブル情報であるコマンドテーブルを記憶するコマンドテーブル記憶手段をさらに備え、コマンド指定手段は、コマンドテーブル記憶手段により記憶されているコマンドテーブルを参照して差分値に対応するコマンドを指定するようにすることができる。
【0015】
前記コードが有する、固定領域および可変領域の位置の特定する際の基準となるガイド部分を認識し、ガイド部分の位置を特定するガイド部分認識手段をさらに備えるようにすることができる。
【0016】
本発明の情報処理方法は、撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、固定領域コード認識ステップの処理により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識ステップと、可変領域コードデフォルト値設定ステップの処理により設定されたデフォルト値と、可変領域コード認識ステップの処理により認識された可変領域コードの値を比較し、差分値を求める比較ステップと、比較ステップの処理による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定ステップとを含むことを特徴とする。
【0017】
本発明のプログラムは、撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、固定領域コード認識ステップの処理により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識ステップと、可変領域コードデフォルト値設定ステップの処理により設定されたデフォルト値と、可変領域コード認識ステップの処理により認識された可変領域コードの値を比較し、差分値を求める比較ステップと、比較ステップの処理による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定ステップとを含むことを特徴とする。
【0018】
本発明の入力装置は、コードに対するユーザによる操作を受け付け、受け付けた操作に基づいて値が変更されたコードを情報処理装置の撮影部に対して提示することにより、操作に対応する情報を情報処理装置に入力する操作受け付け手段を備えることを特徴とする。
【0019】
前記操作は、コードの一部または全部の隠蔽であるようにすることができる。
【0020】
前記操作は、コードに対する新たなコードの追加であるようにすることができる。
【0021】
本発明の情報処理システムは、画像に含まれるコードを読み取る情報処理装置と、情報処理装置に対して情報を入力する入力装置とからなる情報処理システムであって、情報処理装置は、撮影部により得られた撮影画像の画像データを取得する画像データ取得手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段とを備え、入力装置は、コードに対するユーザによる操作を受け付け、受け付けた操作に基づいて値が変更されたコードを撮影部に対して提示することにより、操作に対応する情報を情報処理装置に入力する操作受け付け手段を備えることを特徴とする。
【0022】
本発明の情報処理装置および方法、並びにプログラムにおいては、撮影部において得られた撮影画像の画像データが取得され、その取得された撮影画像が解析され、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値が認識され、その認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値が設定され、また、取得された撮影画像が解析され、撮影画像に含まれるコードの、可変領域コードの値が認識され、設定されたデフォルト値と、認識された可変領域コードの値が比較されて、差分値が求められ、その差分値に基づいて、実行するコマンドが指定される。
【0023】
本発明の入力装置においては、コードに対するユーザによる操作が受け付けられ、受け付けられた操作に基づいて値が変更されたコードが情報処理装置の撮影部に対して提示されることにより、操作に対応する情報が情報処理装置に入力される。
【0024】
本発明の情報処理システムは、画像に含まれるコードを読み取る情報処理装置と、情報処理装置に対して情報を入力する入力装置とからなり、その情報処理装置においては、撮影部により得られた撮影画像の画像データが取得され、その取得された撮影画像が解析され、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有するコードの、固定領域のコードである固定領域コードの値が認識され、その認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値が設定され、また、取得された撮影画像が解析され、撮影画像に含まれるコードの、可変領域コードの値が認識され、設定されたデフォルト値と、認識された可変領域コードの値が比較され、差分値が求められ、その差分値に基づいて、実行するコマンドが指定され、入力装置においては、コードに対するユーザによる操作が受け付けられ、その受け付けられた操作に基づいて値が変更されたコードが撮影部に対して提示されることにより、操作に対応する情報が情報処理装置に入力される。
【発明の効果】
【0025】
本発明によれば、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができる。
【発明を実施するための最良の形態】
【0026】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【0027】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【0028】
本発明においては、画像に含まれるコード(例えば、図2の2次元バーコード)を読み取る情報処理装置(例えば、図1の情報処理装置)が提供される。この情報処理装置では、撮影部(例えば、図1のカメラ)において得られた撮影画像の画像データを取得する画像データ取得手段(例えば、図4の画像データ取得部)と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域(例えば、図2の固定領域)と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域(例えば、図2の可変領域)を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段(例えば、図4の固定領域コード認識部)と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段(例えば、図4の可変領域コードデフォルト値設定部)と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段(例えば、図4の可変領域コード認識部)と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段(例えば、図4のパターン比較部)と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段(例えば、図4のコマンド指定部)とを備える。
【0029】
前記可変領域に形成される可変領域コード全体の値がデフォルト値に設定され、可変領域コードの一部または全部が隠蔽されることにより可変領域コードの値が変化する(例えば、図10乃至図15)ようにすることができる。
【0030】
前記可変領域にコードが存在しない状態がデフォルト値に設定され、可変領域に付加的なコードが追加されることにより可変領域コードの値が変化する(例えば、図16)ようにすることができる。
【0031】
前記固定領域コードの値とデフォルト値を関連付けるテーブル情報であるコードテーブルを記憶するコードテーブル記憶手段(例えば、図4のコードテーブル記憶部)をさらに備え、可変領域コードデフォルト値設定手段は、コードテーブル記憶手段により記憶されているコードテーブルを参照して固定領域コードの値に対応するデフォルト値を設定するようにすることができる。
【0032】
前記差分値とコマンドを関連付けるテーブル情報であるコマンドテーブルを記憶するコマンドテーブル記憶手段(例えば、図4のコマンドテーブル記憶部)をさらに備え、コマンド指定手段は、コマンドテーブル記憶手段により記憶されているコマンドテーブルを参照して差分値に対応するコマンドを指定するようにすることができる。
【0033】
前記コードが有する、固定領域および可変領域の位置の特定する際の基準となるガイド部分(例えば、図2のガイド部分)を認識し、ガイド部分の位置を特定するガイド部分認識手段(例えば、図4のガイド部分認識部)をさらに備えるようにすることができる。
【0034】
本発明においては、画像に含まれるコード(例えば、図2の2次元バーコード)を読み取る情報処理装置(例えば、図1の情報処理装置)の情報処理方法が提供される。この情報処理方法においては、撮影部(例えば、図1のカメラ)において得られた撮影画像の画像データを取得する画像データ取得ステップ(例えば、図8のステップS21)と、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域(例えば、図2の固定領域)と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域(例えば、図2の可変領域)を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップ(例えば、図8のステップS25)と、固定領域コード認識ステップの処理により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと(例えば、図8のステップS27)、画像データ取得ステップの処理により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識ステップ(例えば、図8のステップS28)と、可変領域コードデフォルト値設定ステップの処理により設定されたデフォルト値と、可変領域コード認識ステップの処理により認識された可変領域コードの値を比較し、差分値を求める比較ステップ(例えば、図8のステップS29)と、比較ステップの処理による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定ステップ(例えば、図8のステップS31またはステップS32)とを含む。
【0035】
本発明のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、本発明の情報処理方法と同様である。
【0036】
本発明においては、撮影画像に含まれるコード(例えば、図2の2次元バーコード)を読み取る情報処理装置(例えば、図1の情報処理装置)に対して情報を入力する入力装置(例えば、図1のカード5)が提供される。この入力装置では、前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記情報処理装置の撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段(例えば、図2の可変領域)を備える。
【0037】
前記操作は、コードの一部または全部の隠蔽である(例えば、図10乃至図15)ようにすることができる。
【0038】
前記操作は、コードに対する新たなコードの追加である(例えば、図16)ようにすることができる。
【0039】
本発明においては、画像に含まれるコード(例えば、図2の2次元バーコード)を読み取る情報処理装置(例えば、図1の情報処理装置)と、情報処理装置に対して情報を入力する入力装置(例えば、図1のカード5)とからなる情報処理システム(例えば、図1の情報処理システム)が提供される。この情報処理システムの情報処理装置では、撮影部(例えば、図1のカメラ)において得られた撮影画像の画像データを取得する画像データ取得手段(例えば、図4の画像データ取得部)と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域(例えば、図2の固定領域)と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域(例えば、図2の可変領域)を有するコードの、固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段(例えば、図4の固定領域コード認識部)と、固定領域コード認識手段により認識された固定領域コードの値に基づいて、可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段(例えば、図4の可変領域コードデフォルト値設定部)と、画像データ取得手段により取得された撮影画像を解析し、撮影画像に含まれるコードの、可変領域コードの値を認識する可変領域コード認識手段(例えば、図4の可変領域コード認識部)と、可変領域コードデフォルト値設定手段により設定されたデフォルト値と、可変領域コード認識手段により認識された可変領域コードの値を比較し、差分値を求める比較手段(例えば、図4のパターン比較部)と、比較手段による比較により得られた差分値に基づいて、実行するコマンドを指定するコマンド指定手段(例えば、図4のコマンド指定部)とを備え、入力装置では、前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記情報処理装置の撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段(例えば、図2の可変領域)を備える。
【0040】
以下、本発明の実施の形態について図を参照して説明する。
【0041】
図1は、本発明を適用した情報処理システムの構成例を示す図である。
【0042】
図1に示される情報処理システムは、情報処理装置1、カメラ2、およびモニタ3を有しており、2次元バーコード(以下、2Dコードと称する)を読み取り、そのパターンに対応した画像処理を実行するシステムである。
【0043】
情報処理装置1は、カメラ2およびモニタ3に電気的に接続されている。情報処理装置1は、所謂テレビゲーム機であり、モニタ3にゲームの画像を表示させ、ユーザにテレビゲームをプレイさせる。
【0044】
カメラ2は、レンズと電荷の読み出しにCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)を利用した撮像素子を有し、光を電気信号に変換するデバイスであり、例えばその設置場所や方向などによって決定される撮影範囲である範囲4の画像を電気信号(画像データ)として取り込み、情報処理装置1に供給する。情報処理装置1は、このカメラ2より供給される画像データをモニタ3に供給し、その画像を表示させるとともに、画像内に2Dコードが確認できた場合には、そのコードにより指定される処理を実行する。
【0045】
例えば、図1に示されるように、範囲4内に2Dコードが印刷されたカード5が設置されると、カメラ2は結果的にそのカード5を含む画像を取り込む。情報処理装置1は、その画像を取得すると、その画像からカード5に印刷された2Dコードを検出し、その2Dコードのパターンを解析し、そのパターンに対応する処理を実行する。例えば、情報処理装置1は、ゲーム処理において、カード5の2Dコードに対応するキャラクタを選択し、そのキャラクタのCG(Computer Graphics)画像をカメラ2より供給される撮影画像に合成し、その合成画像をモニタ3に表示させる。図1において、モニタ3に表示されている表示画像3Aには、情報処理装置1の処理により、カメラ2により撮影されたカード5の画像であるカード撮影画像6の上に位置するように、カード5に印刷された2Dコードに対応するキャラクタのCG画像7が合成されている。
【0046】
このように情報処理装置1は、テレビゲームをユーザにプレイさせるゲーム処理において、カメラ2を介して取り込まれた撮影画像に含まれる2Dコードを読み取り、その2Dコードに対応するキャラクタのCG画像7を、カード撮影画像6の上に位置するように、撮影画像と合成し、その合成画像をモニタ3に表示画像3Aとして表示させる。
【0047】
なお、カード5の材質は紙、プラスチック、または金属等何でもよい。カード5の形状も円形、正方形、長方形、または三角形等何でもよい。さらに、カード5の厚さもいくつであってもよく、カード5が立体であってももちろんよい。また、2Dコードが印刷される面は、情報処理装置1がその2Dコードを正常に認識できるのであれば、平面でなくてもよく、カード5が球形や錐等であってももちろん良い。
【0048】
図2は、カード5に印刷された2Dコードの構成例を示す図である。2Dコードは、図2に示されるように、1ブロックを1単位とし、縦方向が12.5ブロック分の長さで、横方向が7ブロック分の長さの長方形の範囲内に、ガイド部分11、固定領域12、および可変領域13の3つの要素が互いに1ブロックずつ分離して配置されている。
【0049】
ガイド部分11は、縦方向が1.5ブロック分の長さで、横方向が7ブロック分の長さの大きな長方形のセルにより形成され、情報処理装置1が固定領域12および可変領域13の位置を認識するのに利用する。つまりガイド部分11は、情報処理装置1がその位置を特定しやすいように、固定領域12や可変領域13の絵柄(パターン)よりも単純な図形(絵柄)により構成される。情報処理装置1は、まず、この位置を特定し易い(認識し易い)ガイド部分を認識して所定の3次元座標上におけるその位置を特定し、それを基準として固定領域12や可変領域13の位置を特定し、そのコード(パターン)を読み取る。なお、このガイド部分11には、そのスペースをさらに有効に利用するために、例えば、2Dコードの内容を示す情報や宣伝のためのマーク(ロゴ)などが記載されるので、ガイド部分11のことをロゴ部と称することもある。
【0050】
図2においてこのガイド部分11の上部には1ブロック分離れて固定領域12が設けられている。固定領域12は、縦方向と横方向が共に、7ブロック分の長さの正方形の範囲内に、方形のセルが2次元的にパターン化され配置されている。従って、このセルの集合である固定領域12のことをセル部と称することもある。固定領域12のセルの配置パターン(セルパターン)は、固定的に使用されるパターンであり、7×7ブロック全体で1つの意味を成している。つまり、例えば、この固定領域12は、固定的な1種類の情報のみを示すものである。情報処理装置1は、この領域(セルパターン)の全てを読み取った場合のみ、正しくその固定領域12のパターンが示す1種類の情報(固定領域コード)を得ることができる。
【0051】
なお、例えば、ユーザがこの固定領域12の一部を隠蔽した場合であっても、その読み取り結果が、偶然に、他のセルパターンの場合の読み取り結果と一致し、情報処理装置1がその2Dコードを正常に認識することも考えられるが、このような事態は仕様上想定されておらず、固定領域12の正常な状態ではない(その隠蔽に根拠が無く、制御下にない)ので、以下においてはこのようなことが起こらないもの(固定領域12に形成されるセルパターンを全て読み込めない場合はエラーとなるもの)として説明する。
【0052】
そして固定領域12に形成される1つのセルパターン(固定領域コード)は、1種類の意味しか示さない。つまり、1つのセルパターンが複数の処理を連続して実行することを示す場合もあるが、そのセルパターンから導き出される処理(およびその実行順や諸条件等)は常に一意に決定される。換言すると、予め定められた1つの固定的なコードが形成される領域が固定領域であり、そのコードが固定領域コードである。
【0053】
図2においてガイド部分11の下部、つまり、固定領域12と反対側には1ブロック分離れて可変領域13が設けられている。可変領域13は、縦2ブロック×横7ブロックの領域であり、固定領域12と同様にセルの集合により構成される。ただし、可変領域13は、固定領域12の場合と異なり、それぞれが1つの意味を成すセルパターンにより構成される部分領域の集合である。つまり、可変領域13のセルパターンは、複数の意味をなすセルパターンの集合により構成される。ユーザは、この可変領域13に形成されるセルパターンの一部を隠蔽してカメラ2に読み取らせないようにすることにより、情報処理装置1にその隠蔽されたセルパターンが示す処理を実行させる。換言すると、複数のコードの組み合わせからなる、値が可変的なコードが形成される領域が可変領域であり、そのコードが可変領域コードである。
【0054】
例えば、図2の場合、可変領域13には4つのセル(黒四角)が形成されており、各セルに互いに異なる意味が対応付けられている。このとき、ユーザがいずれか1つのセルを隠蔽すると、情報処理装置1は、そのときの、いずれも隠蔽されていない状態の可変領域12のセルパターン(すなわち、4つのセルが認識できる状態)からの変化を求め、どのセルが読み取れなくなったかを認識し、その読み取れなくなったセルに対応する処理を実行する。
【0055】
つまり、ユーザは、可変領域13のセルの集合の一部を隠蔽することにより指示を情報処理装置1に入力することができる。すなわち、この可変領域13は、固定領域12と異なり、そこ形成される1つのセルパターンによってユーザが複数の情報を入力することができるようになされている。なお、もちろん、可変領域13全体のセルパターンがさらに他の1つの意味をなすようにしてもよい。
【0056】
次にこのような2Dコードを読み取り処理を行う図1の情報処理装置1について説明する。図3は、情報処理装置1の内部の、本発明に関連する主な構成例を説明するブロック図である。
【0057】
図3において、情報処理装置1は、ゲーム処理部31、ROM(Read Only Memory)32、RAM(Random Access Memory)33、入力部34、記憶部35、通信部36、ドライブ37、リムーバブルメディア38、入力インタフェース41、コード認識部42、表示制御部43、および出力インタフェース44を有している。
【0058】
ゲーム処理部31は、演算部や制御部等からなり、ROM32やRAM33等を利用して、ユーザがプレイするテレビゲームに関する処理(ゲーム処理)全体を制御する処理部である。つまり、ゲーム処理部31は、このゲーム処理が実行される情報処理装置1においてCPU(Central Processing Unit)として動作する。
【0059】
ROM32は、製造時に回路にデータやプログラムが書き込まれている読み出し専用のマスクROMであり、必要に応じて、そのデータやプログラムをゲーム処理部31に供給する。RAM33は、データの更新が可能な半導体メモリであり、ゲーム処理部31が実行中の処理(プログラム)やその処理に必要なデータを、ゲーム処理部31の制御に基づいて、一時的に保持する。入力部34は、例えば、キーボード、マウス、ジョイスティック等の入力デバイスにより構成され、ユーザがその入力部34を操作することにより入力した指示をゲーム処理部31に供給する。
【0060】
記憶部35は、例えば、ハードディスク等の不揮発性の記憶媒体により構成され、ゲーム処理部31が実行するプログラムやデータ等の各種の情報を記憶し、必要に応じてそれらの情報をゲーム処理部31に供給する。通信部36は、ゲーム処理部31に制御され、図示せぬネットワークを介して接続され、図示せぬ他の情報処理装置等と通信を行い、情報の授受を行う。ドライブ37は、装着されたリムーバブルメディア38を駆動させ、リムーバブルメディア38に記憶されているデータの読み出し、それをゲーム処理部31に供給する。例えば、リムーバブルメディア38は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリやハードディスクなどで構成される。ドライブ37は、このリムーバブルメディア38に記録されているゲームプログラムを読み出し、ゲーム処理部31において実行させる。
【0061】
入力インタフェース41は、例えば、USB(Universal Serial Bus)やIEEE(Institute of Electrical and Electronic Engineers)1394等の所定の方式で情報処理装置1の外部装置と情報処理装置1を接続し、外部装置から供給される情報を情報処理装置1に供給するためのインタフェース部である。図2において入力インタフェース41は、カメラ2に接続され、カメラ2より供給される画像情報をコード認識部42に供給する。
【0062】
コード認識部42は、ゲーム処理部31に制御され、入力インタフェース41を介して取得したカメラ2の撮影画像から2Dコードを認識する処理を行う。コード認識部42の詳細については後述する。コード認識部42は、2Dコードの認識処理を行うと、その認識結果をゲーム処理部31に供給する。ゲーム処理部31は、その認識結果に基づいて処理を行う。
【0063】
表示制御部43は、図示せぬ画像用のバッファメモリを有し、モニタ3に表示される表示画像3Aの生成に関する処理を行う。例えば、表示制御部43は、ゲーム処理部31に制御され、入力インタフェース41を介して取得したカメラ2の撮影画像にゲーム処理部31より供給されたCG画像を合成し、その合成画像(合成画像データ)を出力インタフェース44に供給する。
【0064】
出力インタフェース44は、モニタ3等、情報処理装置1の外部装置と接続され、表示制御部43より供給される画像データ等をその外部装置に供給するインタフェースである。図3の場合、出力インタフェース44は、表示制御部43より供給された画像データを所定のタイミングでモニタ3に供給する。
【0065】
図4は、図3のコード認識部42の詳細な構成例を説明するブロック図である。
【0066】
図4において、コード認識部42は、画像データ取得部50、ガイド部分認識部51、座標変換部52、固定領域コード認識部53、可変領域コードデフォルト値設定部54、コードテーブル記憶部55、可変領域コード認識部56、パターン比較部57、コマンド指定部58、およびコマンドテーブル記憶部59を有している。
【0067】
画像データ取得部50は、入出力インタフェース41を介してカメラ2により取り込まれる撮影画像の画像データをフレーム毎に取得し、そのフレーム画像(画像データ)をガイド部分認識部51、固定領域コード認識部53、および可変領域コード認識部56に供給する。
【0068】
ガイド部分認識部51は、画像データ取得部50より供給された、カメラ2において得られた撮影画像(フレーム画像)を解析し、図2に示される2Dコードのガイド部分11を認識する処理を行う。そしてガイド部分認識部51は、その認識結果を座標変換部52に供給する。
【0069】
座標変換部52は、ガイド部分認識部51がガイド部分11を認識することにより得られた座標系に従って、画像データ取得部50より供給された画像データの撮影画像を座標変換し、3次元空間における固定領域12や可変領域13の位置を特定する。そして、座標変換部52は、その特定結果を固定領域コード認識部53に供給する。
【0070】
固定領域コード認識部53は、座標変換部52より特定された位置の画像を解析し、固定領域12のコードのセルパターンを認識する。このとき、固定領域12のセルパターンを認識することができなかった場合、固定領域コード認識部53は、その認識結果(失敗)をガイド部分認識部51に供給し、処理を戻す。ガイド部分認識部51は、次のフレーム画像に対して上述したガイド部分11の認識処理を繰り返す。また、固定領域コード認識部51は、固定領域12のコード(固定領域コード、すなわちセルパターン)を認識することができた場合、その認識結果(認識された値)を可変領域コードデフォルト値設定部54に供給する。
【0071】
可変領域コードデフォルト値設定部54は、コードテーブル記憶部55に記憶されているコードテーブルを参照し、固定領域コード認識部53より供給された固定領域コードに対応する可変領域コードデフォルト値とコマンドテーブルを特定する。可変領域コードデフォルト値は、可変領域13に形成される可変領域コード(セルパターン)の初期値(デフォルト値)のことである。つまり、可変領域コードデフォルト値は、ユーザ等により隠蔽されてない状態の(カメラ2において得られる撮影画像から、可変領域13に形成されたセルパターンが全て認識可能な状態の)可変領域コードの値を示す。コマンドテーブルは、認識された可変領域コードに対応するコマンド(処理)が示されるテーブル情報であり、後述するコマンドテーブル記憶部59に記憶されている。
【0072】
つまり、可変領域コードデフォルト値設定部54は、固定領域コードに対応する処理を可変領域13の可変領域コードに割り当てるための情報を設定する。換言すると、可変領域13の可変領域コードに対応する処理は、固定領域コードの値によって変化するように設定されている。
【0073】
コードテーブル記憶部55は、固定領域コードに、可変領域コードデフォルト値とコマンドテーブルを割り当てるテーブル情報であるコードテーブルを予め記憶しており、可変領域コードデフォルト値設定部54より固定領域コードの値を供給されると、記憶しているコードテーブルに基づいて、その固定領域コードの値に対応する可変領域コードデフォルト値とコマンドテーブルの情報を、応答として可変領域コードデフォルト値設定部54に返す。
【0074】
可変領域コードデフォルト値設定部54は、この可変領域コードデフォルト値とコマンドテーブルの情報を、パターン比較部57に供給するとともに、可変領域コード認識部56に可変領域13の位置(座標)に関する情報を供給し、可変領域コードの認識処理を開始させる。
【0075】
可変領域コード認識部56は、可変領域コードデフォルト値設定部54より供給された可変領域13の位置(座標)に関する情報に基づいて、画像データ取得部50より供給された画像データの撮影画像の画像データを解析し、可変領域13に形成される可変領域コードの認識を行う。そして、可変領域コード認識部56は、可変領域コードの認識結果をパターン比較部57に供給する。
【0076】
パターン比較部57は、可変領域コードデフォルト値設定部54より供給された可変領域コードデフォルト値(パターン)と、可変領域コード認識部56より供給された可変領域コードの認識結果のパターンを比較し、その差分、つまり可変領域コードのどの部分が隠蔽されたかを求める。そしてパターン比較部57は、その差分情報とコマンドテーブルの情報をコマンド指定部58に供給する。
【0077】
コマンド指定部58は、パターン比較部57より供給されたコマンドテーブルの情報に基づいて、コマンドテーブル記憶部59に記憶されている複数のコマンドテーブルの中から参照するコマンドテーブルを特定し、そのコマンドテーブルを用いて、パターン比較部57より供給された差分情報(差分値)に対応するコマンドを特定する。
【0078】
コマンドテーブル記憶部59には、後述するようなコマンドテーブルが複数記憶されている。コマンドテーブルは差分値とコマンドを関連付けるテーブル情報である。コマンドテーブル記憶部59は、コマンド指定部58より供給されたコマンドテーブルの情報に指定されるコマンドテーブルを用いて、コマンド指定部58より供給された差分情報(差分値)に対応するコマンドをコマンド指定部58に供給する。
【0079】
コマンド指定部58は、その特定したコマンドを指定するコマンド指定フラグを立てる指示(コマンド指定指示)をゲーム処理部31に供給する。ゲーム処理部31は、その情報に基づいてコマンド指定フラグを立て、コマンド実行の予約を行い、最適なタイミングで、そのコマンドを実行する。コマンド指定の指示が終了するとコマンド指定部58は、画像データ取得部50に次のフレーム画像(画像データ)を取得させる。
【0080】
以上のように、コード認識部42は、その内部の各部が上述したような処理を行い、カメラ2において得られた撮影画像に含まれる2Dコードの固定領域コードおよび可変領域コードを認識し、それらのコードに応じたコマンドを指定し、ゲーム処理部31にそのコマンドを実行させる。
【0081】
図5は、図4のコードテーブル記憶部55に記憶されているコードテーブルの構成例を示す図である。
【0082】
図5において、コードテーブル61は、固定領域コードに可変領域コードデフォルト値とコマンドテーブルを関連付けるテーブル情報である。例えば、可変領域コードデフォルト値設定部54より固定領域コードとして「AAA」を供給されると、コードテーブル記憶部55は、コードテーブル61を参照し、図5中上から2行目に基づいて、可変領域コードデフォルト値として「パターンA」、コマンドテーブルの情報として「パターンAの1」を可変領域コードデフォルト値設定部54に返す。
【0083】
なお、この、可変領域コードデフォルト値である「パターンA」が、可変領域13のデフォルト値のセルパターンそのものであってもよいし、このセルパターンと等価な数値等の代替情報であってもよい。また、可変領域コードデフォルト値設定部54が複数のセルパターンを予め有しており、それらの中から可変領域コードデフォルト値として使用するセルパターンを特定するための識別情報であってもよい。
【0084】
さらに、コマンドテーブルを示す情報「パターンAの1」が、コマンドテーブル記憶部59に予め記憶されている複数のコマンドテーブルの中から1つを特定するコマンドテーブルの識別情報であってもよいし、コマンドテーブルそのものとし、コマンドテーブル記憶部59を省略するようにしてもよい。
【0085】
図6は、図4のコマンドテーブル記憶部59に記憶されているコマンドテーブルの構成例を示す図である。
【0086】
図6Aにおいてコマンドテーブル62は、コマンドテーブル識別情報、差分値、およびコマンドで構成される。コマンドテーブル識別情報は、各テーブルに固有の情報である。図6Aのコマンドテーブル62の場合「パターンAの1」がコマンドテーブル識別情報である。コマンドテーブル62は、差分値(認識されたセルパターンとデフォルトのセルパターンとの差分)とコマンドを関連付けるテーブル情報である。つまり、コマンドテーブル62は、可変領域13において隠蔽されたセルに対応するコマンドを特定するのに利用される情報である。
【0087】
例えば、差分値が「0」、すなわち、認識されたセルパターンがデフォルト値でありどのセルも隠蔽されていない場合、ゲーム中のキャラクタAのCG画像をモニタ3に表示させる「キャラクタA表示」コマンドが実行コマンドとして選択され、差分値が「1」の場合、ゲーム中においてキャラクタAが対戦相手を攻撃する攻撃動作に関する各種の処理を行う「攻撃」コマンドが実行コマンドとして選択され、差分値が「2」の場合、ゲーム中においてキャラクタAが対戦相手からの攻撃に対する防御動作に関する各種の処理を行う「防御」コマンドが実行コマンドとして選択され、差分値が「3」の場合、ゲーム中においてキャラクタAが対戦相手からの攻撃を回避する回避動作に関する各種の処理を行う「回避」コマンドが実行コマンドとして選択され、差分値が「4」の場合、ゲーム中においてキャラクタAがアイテムを使用するアイテム使用動作に関する各種の処理を行う「アイテム使用」コマンドが実行コマンドとして選択される。コマンドテーブル記憶部59は、このように、コマンド指定部58より供給された差分値に対応するコマンドの実行をコマンド指定部58に指示する。
【0088】
図6Bは、コマンドテーブルの他の例を示す図である。コマンドテーブル63に割り当てられたコマンドテーブル識別情報は「パターンBの3」である。このコマンドテーブル63には、各差分値に対してコマンドテーブル62と異なるコマンドが割り当てられている。例えば、差分値が「0」の場合、ゲーム中のキャラクタBのCG画像をモニタ3に表示させる「キャラクタB表示」コマンドが実行コマンドとして選択され、差分値が「1」の場合、ゲーム中においてモニタ3に表示されているキャラクタBが立つ動作を行うように各種の処理を行う「立つ」コマンドが実行コマンドとして選択され、差分値が「2」の場合、ゲーム中においてモニタ3に表示されているキャラクタBが座る動作を行うように各種の処理を行う「座る」コマンドが実行コマンドとして選択され、差分値が「3」の場合、ゲーム中においてモニタ3に表示されているキャラクタBが右を向く動作を行うように各種の処理を行う「右を向く」コマンドが実行コマンドとして選択され、差分値が「4」の場合、ゲーム中においてモニタ3に表示されているキャラクタBが左を向く動作を行うように各種の処理を行う「左を向く」コマンドが実行コマンドとして選択される。
【0089】
図6Aおよび図6Bに示されるように、コマンドテーブル記憶部59は、差分値に対して互いに異なるコマンドが割り当てられた複数のコマンドテーブルを記憶している。コマンドテーブル記憶部59は、コマンド指定部58より供給されたコマンドテーブルの識別情報に対応するコマンドテーブルを選択し、そのコマンドテーブルを用いてコマンド指定部58より供給された差分値に対応するコマンドの実行をコマンド指定部58に指示する。
【0090】
次に、以上のような構成の情報処理装置1が実行する処理の流れについて説明する。情報処理装置1のゲーム処理部31は、情報処理装置1の電源が投入されると、入力部34を介してユーザの指示を受け付け、記憶部35やドライブ37に接続されたリムーバブルメディア38より読み出したテレビゲームのプログラム、または通信部36を介して情報処理装置1の外部より取得したテレビゲームのプログラムを実行し、ゲーム処理を開始する。
【0091】
図7のフローチャートを参照し、このように実行されるゲーム処理の内、ユーザが、2Dコードが印刷されたカード5を利用してプレイするテレビゲームのゲーム処理、すなわち、カメラ2を用いて2Dコードを認識する処理を伴うゲーム処理の流れを説明する。
【0092】
ゲーム処理を開始したゲーム処理部31は、ステップS1において、範囲4内において提示されたカード5に印刷された2Dコードを読み取るコード認識処理の実行をコード認識部42に開始させる。このコード認識処理の詳細については図8のフローチャートを参照して後述する。
【0093】
コード認識処理の実行を開始させると、ゲーム処理部31は、ステップS2において、そのコード認識処理の結果としてコマンド指定指示をコード認識部42より取得したか否かを判定する。コマンド指定指示を取得したと判定した場合、ゲーム処理部31は、処理をステップS3に進め、コマンド指定指示により指定されるコマンドを実行する。正確には、ゲーム処理部31は、コード認識部42より供給されたコマンド指定指示に基づいてコマンド指定フラグを立て、スケジュールに応じて所定のタイミングでそのコマンドを実行する。
【0094】
コマンドを実行したゲーム処理部31は、ステップS4においてコマンド実行結果を反映した出力CG画像を生成し、それを表示制御部43に供給する。出力CG画像を供給されたゲーム処理部31は、ステップS5において、ゲーム処理部31に制御され、その出力CG画像をカメラ2より入力インタフェース41を介して供給される撮影画像に合成し、その合成画像を出力インタフェース44に供給する。出力インタフェース44は、ステップS6において、ゲーム処理部31に制御され、その供給された合成画像をモニタ3に供給し、表示させる。モニタ3は、出力インタフェース44より供給された合成画像を表示する。
【0095】
ステップS6の処理が終了すると、ゲーム処理部31は、ステップS7に処理を進める。またステップS2においてコマンド指定指示を取得していないと判定したゲーム処理部31は、ステップS3乃至ステップS6の処理を省略し、ステップS7に処理を進める。
【0096】
ステップS7において、ゲーム処理部31は、コード認識処理に関する処理以外のその他の処理を行う。そして、ステップS8においてゲーム処理部31は、ゲームを終了するか否かを判定し、ユーザがゲームをプレイ中であり、ゲームを終了しないと判定した場合、ステップS2に処理を戻し、それ以降の処理を繰り返す。また、ステップS8においてユーザの指示等に基づいてゲームを終了すると判定した場合、ゲーム処理部31は、ステップS9に処理を進め、コード認識部42を制御し、コード認識処理を終了させ、ゲーム処理を終了する。
【0097】
次に、図8のフローチャートを参照して、図7のステップS1において実行が開始されるコード認識処理の流れについて説明する。
【0098】
コード認識処理が開始されると、画像データ取得部50は、ステップS21において、入出力インタフェース41を介してカメラ2より撮影画像の画像データを取得する。
【0099】
ガイド部分認識部51は、ステップS22において、ガイド部分認識処理を行い、撮影画像を解析し、範囲4内のカード5に印刷された2Dコード(撮影画像に含まれるカード撮影画像6の2Dコード)のガイド部分11を認識する。そしてガイド部分認識部51は、その認識したガイド部分11を基準として3次元の座標系を構築する。
【0100】
ステップS23においてガイド部分認識部51は、2Dコードのガイド部分を認識できたか否かを判定し、例えば、範囲4にカード5が置かれず(撮影画像にカード撮影画像6が存在せず)、ガイド部分を認識できなかったと判定した場合、ステップS21に処理を戻し、次のフレーム画像(撮影画像)に対してそれ以降の処理を実行させる。
【0101】
ステップS23において2Dコードのガイド部分を認識できたと判定した場合、ガイド部分認識部51は、処理をステップS24に進める。座標変換部52は、ステップS24において、得られた3次元の座標系に従って撮影画像を座標変換する。
【0102】
固定領域コード認識部53は、ステップS25において、3次元座標系に基づいて撮影画像の画像データを解析し、ガイド部分の位置を基準として固定領域12の位置を特定し、その固定領域12におけるコード認識処理を行い、7×7ブロックのセルパターンを解析し、固定領域コードを認識する。そして固定領域コード認識部53は、ステップS26において、固定領域コードを認識することができたか否かを判定し、例えば固定領域11の一部または全部が、物陰に隠れるなどしてカメラ2の撮影画像に含まれなかった(カメラ2により撮影することができなかった)等の理由により、固定領域コードを認識することができなかったと判定して場合、固定領域コード認識部53は、ステップS21に処理を戻し、次のフレーム画像に対するそれ以降の処理を実行させる。
【0103】
また、ステップS26において固定領域コードを認識することができたと判定した場合、固定領域コード認識部53は、処理をステップS27に進める。
【0104】
ステップS27において、可変領域コードデフォルト値設定部54は、認識した固定領域コードに対応する可変領域コードのデフォルト値をコードテーブル記憶部55から読み出し、その値を可変領域コードデフォルト値として設定する。
【0105】
可変領域コード認識部56は、ステップS28において、撮影画像において可変領域13についてコード認識処理を行い、3次元座標系に基づいて撮影画像から可変領域13の位置を特定し、その可変領域13に含まれる可変領域コードを認識する。
【0106】
パターン比較部56は、ステップS29において、その可変領域コードの認識結果と可変領域コードのデフォルト値を比較し、それらの差分値を求める。コマンド指定部58は、ステップS30において、その比較結果に基づいて認識結果が可変領域コードのデフォルト値と異なるか否か(可変領域コードの一部または全部が隠蔽されたか否か)を判定し、異なると判定した場合、処理をステップS31に進め、その差分値に対応するコマンドの情報をコマンドテーブル記憶部59より取得し、(ゲーム処理部31にコマンド指定指示を供給して)そのコマンドの実行を指定するコマンド指定フラグを立て、処理をステップS33に進める。
【0107】
また、ステップS30において認識された可変領域コードの認識結果とデフォルト値が一致する(デフォルト値が認識された)と判定した場合、コマンド指定部58は、ステップS32に処理を進め、そのデフォルト値に対応するコマンドの情報をコマンドテーブル記憶部59より取得し、(ゲーム処理部31にコマンド指定指示を供給して)そのコマンドの実行を指定するコマンド指定フラグを立て、処理をステップS33に進める。
【0108】
ステップS33においてコマンド指定部58は、コード認識処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS21に戻し、次のフレーム画像に対するそれ以降の処理を実行させる。このコード認識処理は、図7のゲーム処理と並行してゲームがプレイされている間、ステップS21乃至ステップS33の処理が繰り返し実行され続ける。
【0109】
そして、ステップS33において、例えばユーザがゲームを終了する等して、コード認識処理を終了すると判定した場合、コマンド指定部58は、コード認識処理を終了する。このとき図7のフローチャートを参照して説明したゲーム処理も終了される。
【0110】
つまり、以上のようなコード認証処理をコード認証部42が実行し、認証したコードに対応するコマンドの実行指示をゲーム処理部31に供給し、ゲーム処理部31はその指示に基づいてコマンドを実行し、ゲームに関する処理を行う。
【0111】
このように情報処理装置1の各部が動作することにより、ユーザが範囲4に提示したカード5に印刷された2Dコードに基づいて各種の処理が実行される。つまり、ユーザは範囲4にカード5を提示することにより、情報処理装置1が実行する処理を制御する指示を入力することができる。例えば、ユーザは、可変領域13の可変領域コードを適宜隠蔽しながら、範囲4にカード5を提示することにより、情報処理装置1が提供する(ユーザがプレイ中の)テレビゲームに対する各種の指示入力を行うことができる。
【0112】
例えば、図9に示されるように、固定領域12の固定領域コードのそれぞれには互いに異なるキャラクタが割り当てられており、カード撮影画像6上には、この固定領域コードに対応するキャラクタが表示される。例えば、図9の上側のように固定領域コードが「AAA」で示されるセルパターンである場合、カード撮影画像6−1上にはキャラクタ71が表示され、図9の下側のように固定領域コードが「BBB」で示されるセルパターンである場合、カード撮影画像6−2上にはキャラクタ71と異なるキャラクタ72が表示される。
【0113】
このように、ユーザは、提示する固定領域コードを変更する(すなわち、提示するカード5を変更する)ことにより、カード撮影画像6上に表示されるキャラクタを変更することができる。
【0114】
また、例えば、図10に示されるように、可変領域13の可変領域コードにはデフォルト値との差分値に応じてゲーム用のコマンドがそれぞれ割り当てられており、ユーザが可変領域コードの一部または全部を隠蔽することにより、その隠蔽の仕方に応じたコマンドの実行が入力される。例えば、図10に示されるように可変領域13の可変領域コードのデフォルト値がセル81乃至セル84の4つのセル(黒色の正方形)により構成される場合において、図10の上側に示されるようにユーザがセル81を隠蔽した場合(セル81が認識されず、セル82乃至セル84が認識された場合)、隠蔽されたセル81が差分値A−1であり、この差分値A−1に対応するコマンドA−1が実行される。
【0115】
また、図10の下側に示されるように、ユーザがセル82を隠蔽した場合(セル82が認識されず、セル81、セル83、およびセル84が認識された場合)、隠蔽されたセル82が差分値A−2であり、この差分値A−2に対応するコマンドA−2が実行される。
【0116】
つまり、ユーザは、このように可変領域13の可変領域コードの一部または全部を隠蔽することにより、その隠蔽の仕方に応じたコマンドの実行指示を入力することができる。その可変領域コードを利用した指示入力の様子の例を図11に示す。
【0117】
例えば、図11Aに示されるように、ユーザがセル81乃至セル84を隠蔽しなかった場合、すなわち、認識結果が可変領域コードデフォルト値と一致する場合、カード撮影画像6上には動作しないキャラクタ91−1が表示される。これに対して、例えば、図11Bに示されるように、ユーザが手92等を用いてセル81を隠蔽した場合、この差分値にはコマンドテーブルによって「攻撃」コマンドが割り当てられており、カード撮影画像6上には剣を振り回し攻撃動作をするキャラクタ91−2が表示される。また、例えば、図11Cに示されるように、ユーザが手92を用いてセル82を隠蔽した場合、この差分値にはコマンドテーブルによって「防御」コマンドが割り当てられており、カード撮影画像6上には盾を突き出して防御動作をするキャラクタ91−3が表示される。
【0118】
従来の場合、カード5には固定領域12に対応するような固定的な2Dコードしか印刷されていない。従って、ユーザは、複数の指示を情報処理装置1に対して入力する場合、各指示に対応する2Dコードを情報処理装置1に認識させるために、その指示毎に提示するカードを交換しなければならなかったが、本発明の場合、以上のように、ユーザは、提示するカード5を変更しなくても、容易に、可変領域コードの隠蔽の仕方によって多様な指示を情報処理装置1(カメラ2およびモニタ3も含めた情報処理システム)に対して入力することができる。
【0119】
また、以上のように、ユーザが隠蔽方法を変更することにより入力情報が変更されるので、この2Dコードのセルパターン自体は変化する必要がない。つまり、2Dコードはカード5に印刷(または描画)された絵柄であってもよく、例えば、カード5がモニタ等の表示部を有し、その表示部に2Dコードを変更可能に表示する必要はない。このように表示部等を用いてその2Dコードを変更可能にすることにより、ユーザはカード5を交換しなくても複数の情報を情報処理装置1に入力することができるが、その場合、カード5がCPUやモニタ等の複雑な構成を有する必要があり、カード5の製造コストや運用コストが増大してしまう。これに対して、本発明の場合、カード5は、2Dコードのセルパターンが印刷(または描画)されていればどのようなものでもよく、電気的構成または機械的構成等の複雑な構成が不要であり、例えば紙やプラスチック等の素材で安価に製造可能である。またこのカード5には電気的構成または機械的構成が不要であるから、運用コストも低減することができる。
【0120】
また、カード5の2Dコードは、固定領域12と可変領域13の両方を有する。つまりユーザは、図9に示されるように、固定領域コードにより表示するキャラクタを指示し、さらに、図10や図11に示されるように、可変領域コードによりそのキャラクタに対応するコマンドを指示することができる。このようにカード5の2Dコードは、全体として複数の(互いに階層的な関係の)情報(指示)を有しており、ユーザはこの2Dコードを提示することにより(互いに階層的な関係の)複数の情報(指示)を一度に情報処理装置1(情報処理システム)に入力することができる。
【0121】
以上のように、カード5は、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースである。換言すると、情報処理装置1(情報処理システム)は、このカード5の2Dコードを読み取り処理を行うことができるので、ユーザに対して低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができる。
【0122】
なお、カード5の可変領域コードのセルパターンは、上述したようにユーザが指等によってその一部または全部を隠蔽する。従って、ユーザがその隠蔽を意図どおりに容易に制御することができるように、隠蔽の最小単位毎にセルパターンの配置間隔を十分に設けるようにしてもよい。例えば、図12Aに示されるように、可変領域13の可変領域コードが4つのセルにより構成されており、ユーザによる隠蔽の最小単位がセル1つである場合、つまり、ユーザが可変領域13のセルのいずれか1つ隠蔽することにより、デフォルト値との差分が発生し、新たなコマンド入力されるような場合、両矢印101乃至両矢印104に示されるように各セルをガイド部分11より十分に離れた位置に設けるだけでなく、さらに、両矢印105乃至両矢印107に示されるように、各セル同士も互いに十分に離れるように設ける。このようにすることにより、図12Bに示されるように、ユーザが手92の親指によりセルの1つを隠蔽しても、両矢印111乃至113に示されるようにユーザの親指と、ガイド部分11や隣のセルとの間に隙間が残り、誤った隠蔽の発生を抑制することができる。
【0123】
つまり、カード5の可変領域13のセルパターンは、例えば、隠蔽の最小単位で十分な間隔を保つように各セルを配置するなど、ユーザによる隠蔽を考慮した配置とするようにしてもよい。このようにすることにより、情報処理装置1によるカード5の2Dコードの認識率を向上させることができる。
【0124】
また、可変領域13のセルは、1色だけでなく複数の色により構成されるようにしてもよく、例えば、図13Aに示されるように黒の正方形と白の正方形により構成されるようにしてもよい。この場合、図13Bに示されるように、ユーザがセルを手92で隠蔽した場合、その隠蔽された指の部分は白と認識されるようにしても良いし黒と認識されるようにしても良い。このように情報処理装置1が黒の正方形と白の正方形の両方を認識できなければ隠蔽されていると判定するようにカード5の2Dコードのパターンを構成することにより、情報処理装置1によるカード5の2Dコードの認識率を向上させることができる。
【0125】
さらに、カード5の可変領域13のセルパターンを、例えば図14Aに示されるように、指等のパターンと明らかに異なるような複雑なパターンにするようにしてもよい。このようにすることにより、図14Bに示されるように、ユーザが手92によってセルパターンの一部を隠蔽した場合であっても、その隠蔽した部分の指のパターンがセルパターンの他の部分(隠蔽されていない部分)のパターンと明らかに異なるので、情報処理装置1が指を誤って可変領域コードのパターンとして認識してしまうことを抑制することができる。つまり、情報処理装置1によるカード5の2Dコードの認識率を向上させることができる。
【0126】
また、可変領域13の可変領域コード(セル)はどのような図形であってもよく、例えば、図15Aに示されるように記号を用いたものであっても良いし、図15Bに示されるように文字を用いたものであってもよい。また、図15Aおよび図15Bに示されるように、各セルが互いに異なる図形(記号や文字)であってもよい。なお、可変領域13のセルとして、記号、文字、および図形等を組み合わせて用いるようにしてももちろんよい。
【0127】
なお、以上においては、可変領域コードの『隠蔽』により情報を入力が制御されるように説明した。つまり、可変領域13に形成される可変領域コード全体の値が可変領域コードのデフォルト値に設定され、その可変領域コードの一部または全部が隠蔽されることにより、その可変領域コードの値が変化するように説明した。しかしながら、可変領域コードの値の変更方法は、これに限らず、例えば図16Aに示されるように可変領域コードのデフォルト値を空欄とし、図16Bに示されるように、その可変領域13への所定の記号の『追加』により情報の入力が制御されるようにしてもよい。つまり、可変領域13にコードが存在しない状態が可変領域コードのデフォルト値に設定され、その可変領域13に対して追加された付加的なコードが可変領域コードとされるようにし、このような付加的なコードの追加により可変領域コードの値が変化するようにしてもよい。
【0128】
図16Aにおいて、カード5の2Dコードの可変領域13は、可変領域コードデフォルト値が空欄として設定されている。図16Bに示されるようにユーザが、この可変領域13に、所定の記号が記載された小型のカード151やカード152を用いて記号を『追加』すると情報処理装置1は、その追加された記号の種類、またはその記号の位置等によって入力される情報(指示)を識別する。
【0129】
このように付加的なコードを追加する場合、情報処理装置1のコード認識部42の可変領域コード認識部56によるコード認識処理は、図8のステップS30の処理において「可変領域コードの一部または全部が隠蔽されたか否か」を判定するのではなく、「可変領域コードに予め定められた所定の画像情報(例えば図形、記号、および文字等)が追加されたか否か」を判定する。
【0130】
なお、以上の『隠蔽』と『追加』の両方を同時に適用するようにしてももちろんよい。例えば、可変領域コードのデフォルト値に対して、その一部または全部を隠蔽した場合と、新たな画像情報を追加した場合のいずれの場合の差分値に対しても所定の実行コマンドが割り当てられているようにしてもよい。
【0131】
また、カード5の2Dコードの各領域の配置関係は図2に示される関係以外であってももちろん良い。
【0132】
例えば、図17Aに示されるカード161のように、ガイド部分11の同じ側に固定領域12と可変領域13が設けられるようにしてもよいし、図17Bに示されるカード162のように、ガイド部分11と固定領域12の横側に可変領域13が設けられるようにしていてもよいし、図17Cに示されるカード163のように、ガイド部分11が固定領域12と可変領域13を囲むように設けられていてもよい。
【0133】
また、図17Dに示されるカード164のように、固定領域12と可変領域13が1つの領域(可変領域165)として構成されるようにしてもよい。この場合、可変領域165のコードは、例えば、時間的に認識方法が制御される。例えば、あるタイミングにおいては固定領域コードとして認識され、他のタイミングにおいては可変領域コードとして認識される。ユーザは、可変領域165のコードが固定領域コードとして認識されるタイミングにおいては、この可変領域165のセルを隠蔽せずに、デフォルト値を固定領域コードとして認識させ、可変領域165のコードが可変領域コードとして認識されるタイミングにおいては、この可変領域165のセルの一部または全部を隠蔽することにより、認識させるコードを変化させる。
【0134】
さらに、カード5の2Dコードは、固定領域12が省略され、ガイド部分11と可変領域13のみにより構成されるようにしてもよいし、さらにガイド部分11が省略され、可変領域13のみにより構成されるようにしてもよい。
【0135】
また、それ以外にも、図18に示されるように、ユーザが隠蔽するセルを変更するパターンを実行コマンドに関連付けるようにしてもよい。図18の場合、ユーザが、最初に、左上段に示されるように手92を用いて可変領域13のセル81を隠蔽し(番号1)、次に、左中段に示されるようにセル83を隠蔽し(番号2)、最後に、左下段に示されるようにセル82を隠蔽する(番号3)ことに対して、コマンドテーブルによって隠しコマンドの「ダンス」が対応付けられており、ユーザがこのように各セルを隠蔽することによりキャラクタがダンスをするCG画像がモニタ3に表示されるようになされている。
【0136】
このように可変領域コードの隠蔽の変更パターン(または追加の変更パターン)によって入力される指示が指定されるようにする場合、情報処理装置1のコード認識部42は、図19に示されるように構成される。図19において、コード認識部42は、図4に示される構成の他に差分値変化パターン確認部181と差分値変化パターン保持部182を有している。
【0137】
図19において、差分値変化パターン確認部181は、パターン比較部57により比較され検出された差分値が変化する様子(差分値変化パターン)を確認する。差分値変化パターン181は、パターン比較部57より差分値を供給されると、それを差分値変化パターン保持部182に供給し、差分値変化パターン保持部182が差分値変化パターンとして保持している差分値の集合に追加させる。差分値変化パターン181は、コマンドテーブル記憶部59に記憶されているコマンドテーブルを取得し、そのコマンドテーブルに登録されている差分値変化パターンと、差分値変化パターン保持部182に保持されている差分値変化パターンを比較し、それらが互いに一致するか否かを確認し、確認結果をコマンド指定部58に供給する。
【0138】
コマンド指定部58は、その確認結果に基づいて、コマンドテーブル記憶部59に記憶されているコマンドテーブルから指定するコマンドを特定し、ゲーム処理部31に対して、そのコマンドの実行を指示する。
【0139】
図20は、コマンドテーブル記憶部59が記憶するコマンドテーブルの構成例を示す図である。図20においてコマンドテーブル183は、コマンドテーブル識別情報、差分値変化パターン、およびコマンドの各情報により構成される。例えばコマンドテーブル183は、「パターンAの5」のコマンドテーブル識別情報で識別されており、差分値が「1」→「3」→「2」の順で変化する差分値変化パターンに対しては「踊りA」のコマンドが割り当てられている。つまり、差分値が「1」→「3」→「2」の順で変化するようにユーザが可変領域コードを隠蔽した場合、「踊りA」のコマンドの実行指示が情報処理装置1に入力される。
【0140】
この場合のコード認識処理の流れを図21および図22のフローチャートを参照して説明する。
【0141】
この場合もコード認識部42の各部は、ステップS51乃至ステップS59の処理をステップS21乃至ステップS29の処理と同様に実行するのでそれらの処理についての説明は省略する。
【0142】
パターン比較部57がデフォルト値と認識結果を比較すると、差分値変化パターン確認部181は、図21のステップS60において、差分値変化パターン保持部182を利用してその差分値の変化パターンを確認し、処理を図22のステップS61に進める。
【0143】
図22のステップS61において、差分値変化パターン確認部181は、差分値の変化パターンがコードテーブルに登録されている差分値変化パターンである予約変化パターンに前方一致するか否かを判定する。つまり、差分値変化パターン確認部181は、差分値変化パターン保持部182に保持させたこれまでの差分値の変化パターンが、コードテーブルに登録されている変化パターンに完全一致する可能性があるか否かを判定する。
【0144】
差分値の変化パターンが予約変化パターンに前方一致すると判定した場合、差分値変化パターン確認部181は、処理をステップS62に進め、差分値の変化パターンが予約変化パターンと完全一致するか否かを判定する。差分値の変化パターンが予約変化パターンと完全一致すると判定した場合、差分値変化パターン確認部181は、処理をステップS63に進める。ステップS63においてコマンド指定部58は、その完全一致した予約変化パターンに応じたコマンドをコマンドテーブルに基づいて特定し、そのコマンドの実行を予約するコマンド指定フラグを立てるようにゲーム処理部31に指示を出す。
【0145】
ステップS63の処理を終了したコマンド指定部58は、処理をステップS64に進め、コード認識処理を終了するか否かを判定し、終了しないと判定した場合、処理を図21のステップS51に戻し、それ以降の処理を次のフレーム画像に対して実行させる。
【0146】
また、ステップS64において、コード認識処理を終了すると判定した場合、コマンド指定部58は、コード認識処理を終了する。
【0147】
なお、ステップS62において、差分値の変化パターンが予約変化パターンに前方一致するものの完全一致しないと判定した場合、つまり、まだ差分値の変化パターンにおける差分値の数が予約変化パターンにおける差分値の数に一致していないと判定した場合、差分値変化パターン確認部181は、ステップS65に処理を進め、その差分値を差分値変化パターン保持部182に供給し、差分値の変化パターンに追加させる。ステップS65の処理を終了すると、差分値変化パターン確認部181は、処理をステップS64に進め上述したように処理を実行させる。
【0148】
また、ステップS61において差分値の変化パターンが予約変化パターンに前方一致しない、つまり、差分値の変化パターンが予約変化パターンと異なり、完全一致する可能性がないと判定した場合、差分値変化パターン確認部181は、ステップS66に処理を進める。
【0149】
コマンド指定部58は、コマンドテーブル記憶部59を制御し、ステップS66乃至ステップS68の処理を図8のステップS30乃至ステップS32の処理の場合と同様に実行する。従って、これらの処理についての説明は省略する。ステップS67またはステップS68の処理を終了するとコマンド指定部58は、処理をステップS64に進め、上述したように処理を実行させる。
【0150】
このようにすることにより、最初に説明した場合よりも、ユーザは、さらにより多様な操作指示を容易に入力することができる。換言すると、情報処理装置1(情報処理システム)は、低コストで製造および運用が可能であり、かつ、さらにより多様な操作指示をユーザが容易に入力することができるユーザインタフェースを提供することができる。
【0151】
なお、以上においては、カード5がテレビゲームに対するユーザインタフェースであるように説明したが、これに限らず、例えば、複数のAV(Audio Visual)機器の動作を制御する指示を入力するリモートコントローラであるようにしてもよい。
【0152】
図23は、そのような複数のAV機器により構成される、本発明を適用した情報処理システムの構成例を示す図である。
【0153】
図23において、情報処理システムは、情報処理装置201、カメラ202、テレビジョン受像機203、ハードディスクレコーダ204、およびオーディオコンポーネントシステム205(以下、オーディオコンポ205と称する)を有している。
【0154】
情報処理装置201は、テレビジョン受像機203、ハードディスクレコーダ204、およびオーディオコンポ205の動作を一元管理し、制御する制御装置である。例えば、情報処理装置1は、テレビジョン受像機203に対して、電源のON・OFF、受信する放送チャンネル、出力音声に関する設定(音量、音質、チャンネル数、主音声と副音声の切り替え等)、および画面設定(画像サイズ、輝度、色合い、シャープネス、ノイズリダクション、垂直・水平同期等)等を制御する。また、情報処理装置1は、ハードディスクレコーダ204に対して、電源のON・OFF、録画処理や再生処理の制御、および予約情報の管理等を行う。さらに、情報処理装置1は、オーディオコンポ205に対して、電源のON・OFF、CD(Compact Disc)やMD(Mini-Disk)(登録商標)の再生処理の制御、録音処理の制御、予約処理の制御、ラジオ番組の受信制御、出力音声の音量や音質の制御等を行う。
【0155】
また、情報処理装置201は、カメラ2を制御して撮影画像を取得し、上述した2Dコードによるユーザ212の指示入力を受け付ける。ユーザ212は、カメラ202の撮影範囲211内において、カード213をカメラ202に提示する。このカード213には上述したカード5と同様の2Dコードが印刷されている。ただし、この場合、固定領域コードは、テレビジョン受像機203、ハードディスクレコーダ204、およびオーディオコンポ205を指定するコードにより形成され、可変領域コードは、それらの装置に入力する制御情報を指定するコードにより形成される。
【0156】
ユーザ212は、このカード213の2Dコードをカメラ202に提示する。このときユーザ212は、指示を入力する装置(テレビジョン受像機203、ハードディスクレコーダ204、またはオーディオコンポ205)に応じた固定領域コードが印刷されたカード213を選択し、入力する指示に応じて、そのカード213の可変領域コードの一部または全部を隠蔽しながらそのカード213をカメラ202に提示する。
【0157】
情報処理装置201は、カメラ202により取り込まれた撮影画像を解析し、この2Dコードの固定領域コードから指示が入力された装置を特定し、さらに可変領域コードの隠蔽の仕方に応じて入力された指示を特定する。そして、情報処理装置201は、それらの情報に従って、テレビジョン受像機203、ハードディスクレコーダ204、またはオーディオコンポ205の動作を制御する。この時、情報処理装置201は、制御内容(例えば、現在選択されているチャンネル情報や音量等を示す画像情報)をテレビジョン受像機203の画面に表示画像203Aとして表示する。ユーザ212は、この表示画像203Aを参照することにより自分が入力した制御内容を確認しながら各装置の制御情報を入力する(各装置をリモートコントロールする)ことができる。
【0158】
このように、ユーザ212は、2Dコードが印刷されたカード213を、テレビジョン受像機203、ハードディスクレコーダ204、およびオーディオコンポ205のリモートコントローラとして使用することができる。つまり、カード213は、電池も不要な、低コストで製造および運用が可能であり、かつ、さらにより多様な操作指示をユーザが容易に入力することができるユーザインタフェース(リモートコントローラ)である。
【0159】
図24は、図23の情報処理装置201の内部の構成例を示すブロック図である。図24において、情報処理装置201の内部の構成は、図3の情報処理装置1の構成と基本的に同様である。ただし、情報処理装置201は、情報処理装置1がテレビゲームに関する処理を行うのに対して、ユーザ212による(カード213を用いた)AV機器のリモートコントロール処理を行う。従って、情報処理装置201は、情報処理装置1におけるゲーム処理部31の代わりに、リモートコントロール処理部231を有し、情報処理装置1における表示制御部43の代わりに、AV機器制御部243を有している。
【0160】
リモートコントロール制御処理部231は、ユーザ212によるテレビジョン受像機203、ハードディスクレコーダ204、またはオーディオコンポ205の制御入力情報を受け付け、その情報に基づいて各装置を制御するリモートコントロール処理を行う。この時、リモートコントロール制御処理部231は、ゲーム処理部31の場合と同様に、コード認識部42を制御して撮影画像に含まれる2Dコードの認識処理を実行させる。また、リモートコントロール制御処理部231は、その認識結果をAV機器制御部243に供給し、テレビジョン受像機203、ハードディスクレコーダ204、またはオーディオコンポ205等に対する制御情報を、出力インタフェース44を介して制御先の装置に供給させる。
【0161】
この情報処理装置201によるリモートコントロール処理の流れを図25のフローチャートを参照して説明する。この処理は、情報処理装置1が実行するゲーム処理に対応する処理である。
【0162】
ステップS81において、リモートコントロール処理部231は、コード認識部42を制御し、コード認識処理の実行を開始させる。コード認識処理部42はこの指示に基づいて図8のフローチャートを参照して説明したコード認識処理を開始し、範囲211においてユーザ212によりカード213がカメラ202に提示された場合、その撮影画像を解析してカード213の2Dコードを認識し、その2Dコードに対応するコマンド指定指示をリモートコントロール処理部231に供給する。
【0163】
ステップS82において、リモートコントロール処理部231は、そのコード認識部42から供給されるコマンド指定指示を取得したか否かを判定し、取得したと判定した場合、処理をステップS83に進める。ステップS83において、リモートコントロール処理部231は、その取得したコマンド指定指示により指定されるコマンドを実行する。正確には、リモートコントロール処理部231は、取得したコマンド指定指示により指定されるコマンドの実行を予約するフラグを立て、実行スケジュールに従った所定の(最適な)タイミングにおいてそのコマンドを実行する。つまり、リモートコントロール処理部231がコマンド指定指示を取得してからそのコマンドが実行されるまでに時間が空く場合がある。
【0164】
ステップS83の処理を終了したリモートコントロール処理部231は、処理をステップS84に進める。ステップS84において、AV機器制御部243は、コマンドを実行したリモートコントロール処理部231に制御されて、ユーザ212に指定された制御情報を、出力インタフェース44を介して、その制御先のAV機器に供給する。また、ステップS85において、AV機器制御部243は、その制御結果を、出力インタフェース44を介してテレビジョン受像機203に供給し、出力(表示)させる。
【0165】
ステップS85の処理を終了すると、AV機器制御部243は、ステップS86に処理を進める。また、ステップS82において、コマンド指定指示を取得していないと判定した場合、リモートコントロール処理部231は、ステップS83乃至ステップS85の処理を省略し、ステップS86に処理を進める。
【0166】
ステップS86において、リモートコントロール処理部231は、リモートコントロール処理を終了するか否かを判定し、終了しないと判定した場合、ステップS82に処理を戻し、それ以降の処理を繰り返す。また、ステップS86において、リモートコントロール処理を終了すると判定した場合、リモートコントロール処理部231は、ステップS87に処理を進め、コード認識部42を制御し、コード認識処理を終了させ、リモートコントロール処理を終了する。
【0167】
以上のように、カード213は、低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるリモートコントローラ(ユーザインタフェース)である。換言すると、情報処理装置201(情報処理システム)は、このカード213の2Dコードを読み取り、そのコードに応じたAV機器の制御処理を行うことができるので、ユーザに対して低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるリモートコントローラ(ユーザインタフェース)を提供することができる。
【0168】
なお、以上においては2次元バーコードを用いた制御について説明したが、このようなユーザインタフェースは、カードに印刷(描画)された2次元バーコードに限らず、カメラが取得した撮影画像において画像情報として認識可能な情報であればどのような情報を利用して実現してもよい。
【0169】
図26は、図23を参照して説明した情報処理システムの他の構成例を説明する図である。図23においてカード213により構成されていたリモートコントローラ(ユーザインタフェース)は、図26において、テーブル251により構成される。カメラ202は、テーブル251の上面251Aの一部または全部である範囲252を撮影範囲とし、撮影を行う。このテーブル251の上面251Aの範囲252内には、2次元画像の絵柄261乃至絵柄264、並びに3次元物体の立体アイテム265が設けられている。図示せぬユーザは、これらの絵柄やアイテムをカメラ202に対して隠蔽することにより、制御情報の入力を行う。すなわち、この場合、範囲252の全てが可変領域とされ、絵柄261乃至絵柄264、並びに立体アイテム265が可変領域コードとされる。
【0170】
図示せぬユーザがこれらの絵柄や立体アイテムを隠蔽すると、情報処理装置201は、カメラ202の撮影画像からその隠蔽された絵柄またはアイテムを特定し、その図柄、または、その位置や向き等に基づいてユーザが実行を指示するコマンドを特定する。
【0171】
なお、この可変領域コードとなる絵柄や立体アイテムの数はいくつであってもよいし、その形状はどのようなものであってもよい。また、それらの配置場所は範囲252内であればどこでもよい。
【0172】
このように、ユーザ212は、絵柄や立体アイテムが上面251Aに印刷(描画)されたテーブル251を、テレビジョン受像機203、ハードディスクレコーダ204、およびオーディオコンポ205のリモートコントローラとして使用することができる。つまり、テーブル251は、電池も不要な、低コストで製造および運用が可能であり、かつ、さらにより多様な操作指示をユーザが容易に入力することができるユーザインタフェース(リモートコントローラ)である。
【0173】
このように、情報処理装置201(情報処理システム)は、このテーブル251の絵柄や立体アイテムの状況を可変領域コードとして読み取り、そのコードに応じたAV機器の制御処理を行うことができるので、ユーザに対して低コストで製造および運用が可能であり、かつ、より多様な操作指示をユーザが容易に入力することができるリモートコントローラ(ユーザインタフェース)を提供することができる。
【0174】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図3の情報処理装置1および図24の情報処理装置201は、図27に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0175】
図27において、パーソナルコンピュータ300のCPU(Central Processing Unit)301は、ROM(Read Only Memory)302に記憶されているプログラム、または記憶部313からRAM(Random Access Memory)303にロードされたプログラムに従って各種の処理を実行する。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0176】
CPU301、ROM302、およびRAM303は、バス304を介して相互に接続されている。このバス304にはまた、入出力インタフェース310も接続されている。
【0177】
入出力インタフェース310には、キーボード、マウスなどよりなる入力部311、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部312、ハードディスクなどより構成される記憶部313、モデムなどより構成される通信部314が接続されている。通信部314は、インターネットを含むネットワークを介しての通信処理を行う。
【0178】
入出力インタフェース310にはまた、必要に応じてドライブ315が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア321が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部313にインストールされる。
【0179】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0180】
この記録媒体は、例えば、図27に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア321により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM302や、記憶部313に含まれるハードディスクなどで構成される。
【0181】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0182】
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
【図面の簡単な説明】
【0183】
【図1】本発明を適用した情報処理システムの構成例を示す図である。
【図2】図1のカードの2Dコードの構成例を説明する図である。
【図3】図1の情報処理装置の内部の構成例を示すブロック図である。
【図4】図3のコード認識部の詳細な構成例を示すブロック図である。
【図5】コードテーブルの構成例を示す図である。
【図6】コマンドテーブルの構成例を示す図である。
【図7】ゲーム処理を説明するフローチャートである。
【図8】コード認識処理を説明するフローチャートである。
【図9】固定領域コードに対応する処理の例を説明する図である。
【図10】可変領域コードに対応する処理の例を説明する図である。
【図11】可変領域コードのコード変更方法を説明する図である。
【図12】可変領域のセルパターンの例を示す図である。
【図13】可変領域のセルパターンの、他の例を示す図である。
【図14】可変領域のセルパターンの、さらに他の例を示す図である。
【図15】可変領域コードの、他の例を示す図である。
【図16】可変領域コードの、さらに他の例を示す図である。
【図17】2Dコード内における固定領域および可変領域の配置例を示す図である。
【図18】可変領域コードの、さらに他の例を示す図である。
【図19】コード認識部42の他の構成例を示すブロック図である。
【図20】コマンドテーブルの他の構成例を示すブロック図である。
【図21】コード認識処理の他の例を説明するフローチャートである。
【図22】コード認識処理の他の例を説明する、図21に続くフローチャートである。
【図23】本発明を適用した情報処理システムの他の構成例を示す図である。
【図24】図23の情報処理装置の内部の構成例を示すブロック図である。
【図25】リモートコントロール処理を説明するフローチャートである。
【図26】本発明を適用した情報処理システムのさらに他の構成例を示す図である。
【図27】本発明を適用したパーソナルコンピュータの構成例を示す図である。
【符号の説明】
【0184】
1 情報処理装置, 2 カメラ, 3 モニタ, 4 範囲, 5 カード, 6 作カード撮影画像, 7 CG画像, 11 ガイド部分, 12 固定領域, 13 可変領域, 31 ゲーム処理部, 42 コード認識部, 43 表示制御部, 50 画像データ取得部, 51 ガイド部分認識部, 52 座標変換部, 53 固定領域コード認識部, 54 可変領域コードデフォルト値設定部, 55 コードテーブル記憶部, 56 可変領域コード認識部, 57 パターン比較部, 58 コマンド指定部, 59 コマンドテーブル記憶部, 61 コードテーブル, 62 コマンドテーブル, 63 コマンドテーブル, 181 差分値変化パターン確認部, 182 差分値変化パターン保持部, 183 コマンドテーブル, 201 情報処理装置, 202 カメラ, 203 テレビジョン受像機, 204 ハードディスクレコーダ, 205 オーディオコンポーネントシステム, 211 範囲, 212 ユーザ, 213 カード, 231 リモートコントロール処理部, 243 AV機器制御部, 251 テーブル, 252 範囲, 261乃至264 絵柄, 265 立体アイテム

【特許請求の範囲】
【請求項1】
画像に含まれるコードを読み取る情報処理装置であって、
撮影部において得られた撮影画像の画像データを取得する画像データ取得手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、
前記固定領域コード認識手段により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識手段と、
前記可変領域コードデフォルト値設定手段により設定された前記デフォルト値と、前記可変領域コード認識手段により認識された前記可変領域コードの値を比較し、差分値を求める比較手段と、
前記比較手段による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記可変領域に形成される前記可変領域コード全体の値が前記デフォルト値に設定され、前記可変領域コードの一部または全部が隠蔽されることにより前記可変領域コードの値が変化する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記可変領域にコードが存在しない状態が前記デフォルト値に設定され、前記可変領域に付加的なコードが追加されることにより前記可変領域コードの値が変化する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記固定領域コードの値と前記デフォルト値を関連付けるテーブル情報であるコードテーブルを記憶するコードテーブル記憶手段をさらに備え、
前記可変領域コードデフォルト値設定手段は、前記コードテーブル記憶手段により記憶されている前記コードテーブルを参照して前記固定領域コードの値に対応する前記デフォルト値を設定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記差分値と前記コマンドを関連付けるテーブル情報であるコマンドテーブルを記憶するコマンドテーブル記憶手段をさらに備え、
前記コマンド指定手段は、前記コマンドテーブル記憶手段により記憶されている前記コマンドテーブルを参照して前記差分値に対応する前記コマンドを指定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記コードが有する、前記固定領域および前記可変領域の位置の特定する際の基準となるガイド部分を認識し、前記ガイド部分の位置を特定するガイド部分認識手段をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
画像に含まれるコードを読み取る情報処理装置の情報処理方法であって、
撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、
前記固定領域コード認識ステップの処理により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識ステップと、
前記可変領域コードデフォルト値設定ステップの処理により設定された前記デフォルト値と、前記可変領域コード認識ステップの処理により認識された前記可変領域コードの値を比較し、差分値を求める比較ステップと、
前記比較ステップの処理による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定ステップと
を含むことを特徴とする情報処理方法。
【請求項8】
画像に含まれるコードを読み取る処理をコンピュータに実行させるプログラムにおいて、
撮影部において得られた撮影画像の画像データを取得する画像データ取得ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識ステップと、
前記固定領域コード認識ステップの処理により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定ステップと、
前記画像データ取得ステップの処理により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識ステップと、
前記可変領域コードデフォルト値設定ステップの処理により設定された前記デフォルト値と、前記可変領域コード認識ステップの処理により認識された前記可変領域コードの値を比較し、差分値を求める比較ステップと、
前記比較ステップの処理による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定ステップと
を含むことを特徴とするプログラム。
【請求項9】
撮影画像に含まれるコードを読み取る情報処理装置に対して情報を入力する入力装置であって、
前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記情報処理装置の撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段を備える
ことを特徴とする入力装置。
【請求項10】
前記操作は、前記コードの一部または全部の隠蔽である
ことを特徴とする請求項9に記載の入力装置。
【請求項11】
前記操作は、前記コードに対する新たなコードの追加である
ことを特徴とする請求項9に記載の入力装置。
【請求項12】
画像に含まれるコードを読み取る情報処理装置と、前記情報処理装置に対して情報を入力する入力装置とからなる情報処理システムにおいて、
前記情報処理装置は、
撮影部により得られた撮影画像の画像データを取得する画像データ取得手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる、予め定められた1つの固定的なコードが形成される固定領域と、複数のコードの組み合わせからなる値が可変的なコードが形成される可変領域を有する前記コードの、前記固定領域のコードである固定領域コードの値を認識する固定領域コード認識手段と、
前記固定領域コード認識手段により認識された前記固定領域コードの値に基づいて、前記可変領域のコードである可変領域コードのデフォルト値を設定する可変領域コードデフォルト値設定手段と、
前記画像データ取得手段により取得された前記撮影画像を解析し、前記撮影画像に含まれる前記コードの、前記可変領域コードの値を認識する可変領域コード認識手段と、
前記可変領域コードデフォルト値設定手段により設定された前記デフォルト値と、前記可変領域コード認識手段により認識された前記可変領域コードの値を比較し、差分値を求める比較手段と、
前記比較手段による比較により得られた前記差分値に基づいて、実行するコマンドを指定するコマンド指定手段と
を備え、
前記入力装置は、
前記コードに対するユーザによる操作を受け付け、受け付けた前記操作に基づいて値が変更された前記コードを前記撮影部に対して提示することにより、前記操作に対応する情報を前記情報処理装置に入力する操作受け付け手段を備える
ことを特徴とする情報処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2006−171958(P2006−171958A)
【公開日】平成18年6月29日(2006.6.29)
【国際特許分類】
【出願番号】特願2004−361217(P2004−361217)
【出願日】平成16年12月14日(2004.12.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】