(57)【特許請求の範囲】
【請求項１】
カメラによって撮像された、それぞれ区別可能な始点エレメント及び終点エレメントが両端に位置するように複数のエレメントが線状に形成されることによって識別情報を表す光学式認識コードを含む撮像画像を取得する取得手段と、
前記取得された撮像画像に含まれる光学式認識コードによって表される識別情報に対応する３次元オブジェクト画像を、当該撮像画像上に重畳表示する表示処理手段と
を具備し、
前記撮像画像上に重畳表示される３次元オブジェクト画像の向きは、前記撮像画像上における前記始点エレメント及び前記終点エレメントの位置に基づいて算出される前記光学式認識コードの向きと前記カメラの傾きとに基づいて決定される
ことを特徴とする画像表示装置。
【請求項２】
カメラによって撮像された、それぞれ区別可能な始点エレメント及び終点エレメントが両端に位置するように複数のエレメントが線状に形成されることによって識別情報を表す光学式認識コードを含む撮像画像を取得する第１の取得手段と、
前記第１の取得手段によって取得された撮像画像に含まれる光学式認識コードを読み取ることによって、当該光学式認識コードによって表される識別情報を取得する第２の取得手段と、
前記第２の取得手段によって取得された識別情報に対応する３次元オブジェクト画像を取得する第３の取得手段と、
前記撮像画像上における前記線状に形成された光学式認識コードの両端に位置する始点エレメント及び終点エレメントの位置を抽出する抽出手段と、
前記抽出された始点エレメント及び終点エレメントの位置に基づいて前記撮像画像上における前記光学式認識コードの向きを算出する第１の算出手段と、
前記カメラの傾きを検出する検出手段と、
前記検出されたカメラの傾きに基づいて前記光学式認識コードに対する前記カメラの相対位置を算出する第２の算出手段と、
前記第１の算出手段によって算出された前記撮像画像上における前記光学式認識コードの向き及び前記第２の算出手段によって算出された前記カメラの相対位置に基づいて、前記第３の取得手段によって取得された３次元オブジェクト画像の向きを変化させた表示画像を生成する生成手段と、
前記生成された表示画像を、前記撮像画像上に重畳表示する表示処理手段と
を具備することを特徴とする画像表示装置。
【請求項３】
前記光学式認識コードは、３以上の色彩のうちの１の色彩が付されたセルが複数配列されてなるコードを含むことを特徴とする請求項２記載の画像表示装置。
【請求項４】
前記表示処理手段は、前記生成された表示画像を、前記撮像画像に含まれる光学式認識コード上に表示することを特徴とする請求項３記載の画像表示装置。
【請求項５】
画像表示装置が実行する画像表示方法であって、
カメラによって撮像された、それぞれ区別可能な始点エレメント及び終点エレメントが両端に位置するように複数のエレメントが線状に形成されることによって識別情報を表す光学式認識コードを含む撮像画像を取得するステップと、
前記取得された撮像画像に含まれる光学式認識コードによって表される識別情報に対応する３次元オブジェクト画像を、当該撮像画像上に重畳表示するステップと
を具備し、
前記撮像画像上に重畳表示される３次元オブジェクト画像の向きは、前記撮像画像上における前記始点エレメント及び前記終点エレメントの位置に基づいて算出される前記光学式認識コードの向きと前記カメラの傾きとに基づいて決定される
ことを特徴とする画像表示方法。
【請求項６】
画像表示装置のコンピュータによって実行されるプログラムであって、
前記コンピュータに、
カメラによって撮像された、それぞれ区別可能な始点エレメント及び終点エレメントが両端に位置するように複数のエレメントが線状に形成されることによって識別情報を表す光学式認識コードを含む撮像画像を取得するステップと、
前記取得された撮像画像に含まれる光学式認識コードによって表される識別情報対応する３次元オブジェクト画像を、当該撮像画像上に重畳表示するステップと
を実行させ、
前記撮像画像上に重畳表示される３次元オブジェクト画像の向きは、前記撮像画像上における前記始点エレメント及び前記終点エレメントの位置に基づいて算出される前記光学式認識コードの向きと前記カメラの傾きとに基づいて決定される
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像表示装置、画像表示方法及びプログラムに関する。
【背景技術】
【０００２】
近年では、拡張現実（ＡＲ：Augmented Reality）と称される技術（以下、ＡＲ技術と表記）が注目されている。
【０００３】
このＡＲ技術によれば、例えばカメラが搭載されたスマートフォンのような画像表示装置によって撮像された現実空間の画像上に仮想的なオブジェクト（以下、仮想オブジェクトと表記）の画像を重畳表示することができる。
【０００４】
なお、ＡＲ技術においては、ＡＲマーカと称される所定の形状のコード（マーク）が現実空間に配置される。このようなＡＲマーカを画像表示装置を用いて撮像することによって、当該ＡＲマーカに対応する仮想オブジェクトの画像が表示される。この仮想オブジェクトの画像には、例えば３次元画像が含まれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１３４５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上述したＡＲマーカは、例えば略正方形状の所定の範囲内に白の領域と黒の領域とが配置されることによって構成されるマーク（以下、ＡＲマークと表記）である場合が多い。
【０００７】
このようなＡＲマークの場合、上述した現実空間の画像上において当該ＡＲマークの例えば４隅の点を抽出することによって当該ＡＲマークの向き及び当該ＡＲマーカが配置された現実空間を撮像する画像表示装置の位置（角度）を検出し、当該検出された向き及び位置に応じた仮想オブジェクトの画像を表示することができる。
【０００８】
しかしながら、上記したようにＡＲマーカの向き及び当該ＡＲマーカが配置された現実空間を撮像する画像表示装置の位置を検出可能とするためには、ある程度の大きさ（面積）のＡＲマーク（略正方形状を有するマーク）を用意する必要がある。このため、このようなＡＲマークの場合には、例えば現実空間の画像上で複数の仮想オブジェクトの画像を重ねて表示するようなことが困難である。すなわち、上記した略正方形状を有するマークでは、利用態様が制限され、柔軟性が低い。
【０００９】
そこで、本発明の目的は、柔軟性の高いコードをＡＲマーカとして利用することが可能な画像表示装置、画像表示方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の１つの態様によれば、カメラによって撮像された、それぞれ区別可能な始点エレメント及び終点エレメントが両端に位置するように複数のエレメントが線状に形成されることによって識別情報を表す光学式認識コードを含む撮像画像を取得する取得手段と、前記取得された撮像画像に含まれる光学式認識コードによって表される識別情報に対応する３次元オブジェクト画像を、当該撮像画像上に重畳表示する表示処理手段とを具備し、前記撮像画像上に重畳表示される３次元オブジェクト画像の向きは、前記撮像画像上における前記始点エレメント及び前記終点エレメントの位置に基づいて算出される前記光学式認識コードの向きと前記カメラの傾きとに基づいて決定されることを特徴とする画像表示装置が提供される。
【発明の効果】
【００１１】
本発明は、柔軟性の高いコードをＡＲマーカとして利用することを可能とする。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る画像表示装置の外観の一例を示す図。
【図２】カラービットコードについて説明するための図。
【図３】図１に示す画像表示装置１０のハードウェア構成の一例を示す図。
【図４】本実施形態に係る画像表示装置１０の主として機能構成を示すブロック図。
【図５】本実施形態に係る画像表示装置１０の処理手順を示すフローチャート。
【図６】表示画像の表示態様について説明するための図。
【図７】表示画像の表示態様について説明するための図。
【図８】表示画像の表示態様について説明するための図。
【図９】表示画像の表示態様について説明するための図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態について説明する。  
図１は、本実施形態に係る画像表示装置の外観の一例を示す図である。本実施形態において、画像表示装置は、カメラを備えた情報処理装置であり、例えばスマートフォン、タブレット端末及びパーソナルコンピュータ（ＰＣ）等を含む。なお、図１においては、画像表示装置１０がスマートフォンである場合を示している。図１に示す画像表示装置（スマートフォン）１０の場合、図示されていないが、例えば背面にカメラが搭載（内臓）されている。
【００１４】
本実施形態に係る画像表示装置１０は、カメラによって光学式認識コード（光学式シンボル）を撮像することによって、当該光学式認識コードを読み取ることができる。なお、本実施形態に係る画像表示装置１０において読み取ることができる光学式認識コードは、例えば複数のエレメントが線状（棒状）に形成されたコードである。具体的には、光学式認識コードは、例えば３以上の色彩のうちの１の色彩が付されたセル（エレメント）が複数配列されてなるコード（以下、カラービットコードと表記）を含む。このカラービットコードによれば、複数配列された各セルに付されている色彩の遷移によって識別情報（例えば、ＩＤ等）を表すことができる。
【００１５】
以下の説明においては、本実施形態に係る画像表示装置１０によって読み取られる光学式認識コードはカラービットコードであるものとして説明する。
【００１６】
ここで、図２を参照して、カラービットコードについて説明する。なお、図２においては、便宜的にカラービットコードの一部分のみが示されている。
【００１７】
図２に示すように、カラービットコードは、例えば赤色、緑色及び青色のうちの１の色彩が付されたセル２０が複数配列されて構成されている。図２において、赤色はＲ、緑色はＧ、青色はＢとして示されている。なお、図２においては、説明の便宜上、カラービットコードに３色の色彩（赤色、緑色、青色）が用いられている例が示されているが、各セルに含まれている色彩の遷移を識別することができるのであれば、４色以上の色彩がカラービットコードに用いられても構わない。
【００１８】
カラービットコードを構成するセル２０は、１つの色彩が付される範囲または領域であり、種々の形状を有することができる。図２に示す例では、複数のセル２０の各々は四角形状であるが、例えば丸形状または三角形状等であっても構わない。このような複数のセル２０を線状に配列することによってカラービットコードが形成される。なお、線状とは、直線であってもよいし、曲線であってもよい。
【００１９】
なお、カラービットコードを構成するセル２０の数は、予め規定されているものとする。また、カラービットコードは上記したように色彩の遷移によって特定のデータを表すものであるから、当該カラービットコードにおいては、隣接するセル２０同士には同色は付されず、異なる色彩が付される。カラービットコードはこれらの条件等に基づいて作成される。
【００２０】
また、カラービットコードを構成する複数のセル２０には、端点セルが含まれる。端点セルは、線状に連なったセル群から構成されるカラービットコードの端点に位置するセルである。コード内にあるセルは２つのセルと隣接するが、端点セルだけは１つのセルとしか隣接しない。こうした端点セルは必ずコード内に２つある。２つの端点の色は必ず異なる。端点セルの色でどちらが起点なのかどうかは判定できるようになっている。
【００２１】
上記したようなカラービットコードによれば例えば３色の色彩の遷移（配列）によって特定の識別情報を表すことができるため、当該カラービットコードにおける各色彩の占める領域の大きさ及び形状の制限は緩く、当該カラービットコードが例えば凹凸のある表面や柔軟性のある素材上に付された場合であっても、高い読み取り精度を実現することができる。
【００２２】
なお、本実施形態において、上記したカラービットコードは、拡張現実（ＡＲ：Augmented Reality）と称される技術（ＡＲ技術）におけるＡＲマーカとして利用される。すなわち、本実施形態に係る画像表示装置１０は、現実空間にＡＲマーカとして配置されたカラービットコードが上記したカメラによって撮像された際に、当該カメラによって撮像された画像（以下、撮像画像と表記）に含まれるカラービットコードによって表される識別情報に対応する仮想的なオブジェクト（３次元オブジェクト）の画像（映像）を、当該撮像画像上に表示する機能を有する。
【００２３】
図３は、図１に示す画像表示装置１０のハードウェア構成の一例を示す。ここでは、上記したように画像表示装置１０がスマートフォンであるものとして説明する。
【００２４】
図３に示すように、画像表示装置１０においては、バス１１に、不揮発性メモリ１２、ＣＰＵ１３、メインメモリ１４、無線通信部１５、ディスプレイ１６、タッチパネル１７及び加速度センサ１８等が接続されている。なお、図３においては、上述したカメラについては省略されているものとする。
【００２５】
不揮発性メモリ１２は、例えばオペレーティングシステム（ＯＳ）や上記したカラービットコードの読み取り処理及びＡＲ技術に関する処理を実現するためのプログラムを含む各種プログラムを格納する。
【００２６】
ＣＰＵ１３は、例えば不揮発性メモリ１２に格納されている各種プログラムを実行する。なお、ＣＰＵ１３は、画像表示装置１０全体の制御を司るものである。
【００２７】
メインメモリ１４は、例えばＣＰＵ１３が各種プログラムを実行する際に必要とされるワークエリア等として使用される。
【００２８】
無線通信部１５は、インターネット等のネットワークを介して各種サーバ装置等の外部装置との通信を制御する機能を有する。また、無線通信部１５は、例えば無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）及びＷｉｆｉ（登録商標）等の無線通信機能を有する。
【００２９】
ディスプレイ１６は、例えば液晶表示パネル及び表示制御を行う駆動回路を備えることにより、各種データ等を表示する機能を有する。なお、上述した画像表示装置１０に備えられているカメラによって撮像された画像は、このディスプレイ１６に表示することができる。
【００３０】
タッチパネル１７は、ディスプレイ１６の前面に重畳して配置され、例えばユーザの指先等で指定された画面上の位置を検出する機能を有する。これにより、タッチパネル１７は、画像表示装置１０に対するユーザの各種操作を検知することができる。
【００３１】
加速度センサ１８は、画像表示装置１０に対して作用する加速度（例えば、重力加速度）を検出するセンサである。この加速度センサ１８は、例えば直交３軸（ｘ軸、ｙ軸及びｚ軸）の各軸方向の加速度を検出可能な３軸加速度センサ（３次元加速度センサ）であるものとする。画像表示装置１０においては、このような加速度センサ１８を用いることによって、当該画像表示装置１０（に備えられているカメラ）の傾きを検出することができる。なお、本実施形態においては加速度センサ１８が用いられるものとして説明するが、画像表示装置１０の傾きを検出することができるセンサであれば他のセンサ（例えば、ジャイロセンサ等）が用いられても構わない。
【００３２】
図４は、本実施形態に係る画像表示装置１０の主として機能構成を示すブロック図である。図４に示すように、画像表示装置１０は、格納部１０１、撮像画像取得部１０２、デコード処理部１０３、表示画像生成部１０４及び画像表示処理部１０５を含む。
【００３３】
本実施形態において、格納部１０１は、例えば図３に示す不揮発性メモリ１２等に格納される。また、撮像画像取得部１０２、デコード処理部１０３、表示画像生成部１０４及び画像表示処理部１０５は、例えば図３に示すＣＰＵ１３（つまり、画像表示装置１０のコンピュータ）が不揮発性メモリ１２に格納されているプログラムを実行することにより実現されるものとする。なお、このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムは、例えばネットワークを介して画像表示装置１０にダウンロードされても構わない。
【００３４】
格納部１０１には、上述したカラービットコードによって表される識別情報に対応づけて、当該識別情報に対応する３次元オブジェクトの画像（以下、３次元オブジェクト画像と表記）が予め格納されている。
【００３５】
撮像画像取得部１０２は、上記したように画像表示装置１０に備えられているカメラによって現実空間に配置されているカラービットコードが撮像されることによって得られる撮像画像（データ）を取得する。すなわち、撮像画像取得部１０２によって取得される撮像画像は、カラービットコードを含み、色情報の最小単位である複数の画素（ピクセル）から構成される。なお、ここでは、画像表示装置１０に備えられているカメラによって撮像された撮像画像が取得されるものとして説明したが、撮像画像取得部１０２は、例えば画像表示装置１０の外部のカメラによって撮像された撮像画像を取得しても構わない。
【００３６】
デコード処理部１０３は、撮像画像取得部１０２によって取得された撮像画像に含まれるカラービットコードを読み取る（デコードする）処理を実行する。デコード処理部１０３によるデコードは、カラービットコードにおける色彩の遷移（つまり、当該カラービットコードを構成する複数のセル２０の各々に付されている色彩の遷移）に基づいて行われる。これにより、デコード処理部１０３は、撮像画像に含まれるカラービットコードによって表される識別情報を取得する。
【００３７】
表示画像生成部１０４は、デコード処理部１０３によって取得された識別情報に対応づけて格納部１０１に格納されている３次元オブジェクト画像を取得する。また、表示画像生成部１０４は、撮像画像取得部１０２によって取得された撮像画像上におけるカラービットコードの向きを算出する。更に、表示画像生成部１０４は、上記した加速度センサ１８を用いて検出された画像表示装置１０の傾きに基づいてカラービットコードに対する画像表示装置１０（に備えられるカメラ）の相対位置を算出する。
【００３８】
表示画像生成部１０４は、算出された撮像画像上におけるカラービットコードの向き及び画像表示装置１０の相対位置に基づいて、取得された３次元オブジェクト画像の向きを変化させた表示画像を生成する。換言すれば、表示画像における３次元オブジェクト画像の向きは、撮影画像上におけるカラービットコードの向き及び画像表示装置１０（に備えられるカメラ）の傾きに基づいて決定される。
【００３９】
画像表示処理部１０５は、表示画像生成部１０４によって生成された表示画像（３次元オブジェクト画像）を、撮影画像に含まれるカラービット上に表示する。
【００４０】
次に、図５のフローチャートを参照して、本実施形態に係る画像表示装置１０の処理手順について説明する。
【００４１】
まず、画像表示装置１０を利用するユーザは、当該画像表示装置１０を操作することによって当該画像表示装置１０に備えられているカメラを起動する。この場合、現実空間に配置された（または貼り付けられた）カラービットコードがカメラの画角内に含まれるようにユーザがカメラ位置を調整することにより、当該カメラは、カラービットコードを撮像することができる。なお、本実施形態におけるカラービットコード（ＡＲマーカ）は、略水平面上に配置されていることを想定している。
【００４２】
このようにカメラによってカラービットコードが撮像された場合、撮像画像取得部１０２は、当該カラービットコードを含む撮像画像を取得する（ステップＳ１）。
【００４３】
次に、デコード処理部１０３は、ステップＳ１において取得された撮像画像に含まれるカラービットコードに対してデコード処理（読み取り処理）を実行する（ステップＳ２）。以下、ステップＳ２のデコード処理について具体的に説明する。
【００４４】
まず、デコード処理部１０３は、撮像画像を各色領域に区分けする処理（以下、色領域区分け処理と表記）を実行する。ここで、一般的に撮像画像は背景を含めて様々な色彩で構成されており、それらのパターンも様々である。このため、色領域区分け処理においては、この撮像画像中の色彩を色空間の中で赤色、緑色、青色及び無彩色に区分けし、各画素の色彩をいずれかの領域に当てはめる処理（均色化処理）が行われる。すなわち、色領域区分け処理においては、撮像画像中の各画素に対するラベリング処理が実行される。
【００４５】
なお、上記した赤色、緑色及び青色はカラービットコードを構成する各セルに付される色彩として定義された色彩（以下、構成色と表記）であるが、色領域区分け処理においては、例えば照明、彩色、退色等を考慮して色空間上でこれらの構成色と認定することができる一定の範囲に包含される色彩であれば、当該色彩（の画素）を当該構成色として区分けするものとする。すなわち、例えば赤色の領域を区分けする場合には、当該赤色を中心とする一定の範囲の色彩の画素の全てを赤色の領域として認定する。また、無彩色とは、色領域区分け処理において赤色、緑色及び青色として認定される色彩以外の色彩である。
【００４６】
また、上記したように撮像画像に対して均色化処理が行われるが、一般的に当該撮像画像にはノイズ成分が混入している場合が多い。このノイズに相当する微小部位の色彩異変に対しては例えばその周囲の色彩に合わせる、または、平均化する等のノイズ除去処理を行うことによって、当該ノイズを除去することが好ましい。
【００４７】
次に、デコード処理部１０３は、色領域区分け処理によって区分けされた各色領域に基づいて複数の構成色（赤色、緑色及び青色）の領域が配列されてなるカラービットコードの領域（以下、コード領域と表記）を切り出す処理（以下、コード切り出し処理と表記）を実行する。このコード切り出し処理においては、各色領域の周囲の色彩（例えば、他の構成色の領域及び無彩色の領域の配置等）やカラービットコードを構成するセルの数等に基づいてコード領域が切り出される。
【００４８】
なお、上記した色領域区分け処理及びコード切り出し処理については、例えば特開２００８−２８７４１４号公報等に開示されているため、ここではその詳細な説明については省略する。
【００４９】
次に、デコード処理部１０３は、撮像画像に含まれるカラービットコードの有効性を検証する処理を実行する。具体的には、コード切り出し処理によって撮像画像から切り出されたコード領域において配列されている複数の色領域の数が予め規定されているカラービットコードにおいて配列されるセル２０の数と一致する場合には、撮像画像に含まれるカラービットコードが有効であると判定する。一方、コード切り出し処理によって撮像画像から切り出されたコード領域において配列されている複数の色領域の数が予め規定されているカラービットコードを構成するセル２０の数と一致しない場合には、撮像画像に含まれるカラービットコードが有効でないと判定する。
【００５０】
ここでは、カラービットコードの有効性の検証に予め規定されているセル２０の数を用いるものとして説明したが、当該検証にカラービットコードにおいて有効な色彩（セル）の配列に関するルール等が用いられても構わない。すなわち、上記した撮像画像から切り出されたコード領域において配列されている複数の色領域（色彩）の順番（配列）がルールに合致する場合には撮像画像に含まれるカラービットコードが有効であると判定され、当該ルールに合致しない場合には当該カラービットコードが有効でないと判定されるようにしてもよい。
【００５１】
ここで説明したカラービットコードの有効性の検証処理は一例であり、他の処理によってカラービットコードの有効性が検証されても構わない。具体的には、チェックディジット等により有効性（整合性）が検証されても構わない。
【００５２】
カラービットコードが有効であると判定された場合、デコード処理部１０３は、コード切り出し処理によって撮像画像から切り出されたコード領域において配列されている複数の色領域における色彩の遷移（つまり、当該複数の色領域の順番）に基づいてカラービットコードをデコードする。これによれば、カラービットコードにおける例えば始点セル２０から終点セル２０までの色彩の遷移によって表される識別情報が取得される。一方、カラービットコードが有効でないと判定された場合には、例えばユーザに対してカラービットコードをデコードすることができない旨が通知されて、処理が終了される。
【００５３】
上述したようにデコード処理部１０３によるデコード処理が実行されると、表示画像生成部１０４は、デコード処理部１０３によって取得された識別情報に対応づけて格納部１０１に格納されている３次元オブジェクト画像（つまり、当該識別情報に対応する３次元オブジェクト画像）を取得する（ステップＳ３）。
【００５４】
次に、表示画像生成部１０４は、撮像画像取得部１０２によって取得された撮像画像上における当該撮像画像に含まれるカラービットコードの両端（に位置する端点セル２０）の位置を抽出する（ステップＳ４）。
【００５５】
更に、既述のように端点セル（に付された色彩）は識別可能であり、当該端点セルが始点セルであるか終点セルであるかは認識され得る。これにより、表示画像生成部１０４は、例えば上述した撮像画像から切り出されたコード領域において配列されている複数の色領域（つまり、複数のセル２０）の中からカラービットコードの両端に該当する２つセル２０（始点セル２０及び終点セル２０）を抽出する。この場合、表示画像生成部１０４は、抽出された始点セル２０の位置（座標）及び終点セル２０の位置（座標）を取得する。
【００５６】
表示画像生成部１０４は、抽出されたカラービットコードの両端の位置（つまり、始点セル２０の位置及び終点セル２０の位置）に基づいて、撮像画像上における当該カラービットコードの向きを算出する（ステップＳ５）。なお、画像表示装置１０内部においては、現実空間に配置される（つまり、カメラによって撮像される）カラービットコードの形状（及び大きさ）の情報が予め保持されているものとする。これにより、表示画像生成部１０４は、始点セル２０の位置及び終点セル２０の位置からカラービットコードの向きを算出することが可能となる。
【００５７】
なお、画像表示装置１０内部には、上記したカラービットコードの形状及び大きさの情報以外に、当該画像表示装置１０に備えられるカメラの画角（つまり、当該カメラによる撮像範囲）に関する情報等も予め保持されている。
【００５８】
ここで、ＡＲマーカとして一般的に利用されている例えば略正方形状の所定の範囲内に白の領域と黒の領域とが配置されることによって構成されるマーク（以下、ＡＲマークと表記）の場合、当該ＡＲマークの例えば４隅の点（の位置）を抽出することによって当該マークに対する画像表示装置１０の位置（角度）を検出することができる。これにより、ＡＲマークと画像表示装置１０の位置関係とに応じて３次元オブジェクト画像の向き等を変えることができる。
【００５９】
これに対して、本実施形態においてＡＲマーカとして利用されるカラービットコードからは上述したように当該カラービットコードの両端（始点セル２０及び終点セル２０）の位置しか抽出することができない。この場合、撮像画像からは上述したように当該撮像画像上におけるカラービットコードの向きは算出することができるものの、当該カラービットコードに対する画像表示装置１０の位置（相対位置）までは算出することができない。
【００６０】
そこで、本実施形態に係る画像表示装置１０においては、カメラによって撮像されたカラービットコードに対する画像表示装置１０の位置を算出するために、当該画像表示装置１０に備えられている加速度センサ１８を用いる。
【００６１】
この場合、表示画像生成部１０４は、加速度センサ１８によって検出された加速度（画像表示装置１０に対して作用する重力加速度）を取得する。これにより、表示画像生成部１０４は、取得された重力加速度に基づいて画像表示装置１０（に備えられるカメラ）の傾きを検出（算出）する（ステップＳ６）。
【００６２】
表示画像生成部１０４は、ステップＳ４において抽出されたカラービットコードの両端の位置（つまり、撮像画像上におけるカラービットコードの位置）、ステップＳ６において検出された画像表示装置１０の傾き、画像表示装置１０内に予め保持されている情報（カラービットコードの形状及び大きさの情報、画像表示装置１０に備えられているカメラの画角に関する情報等）に基づいて、カラービットコードに対する画像表示装置１０（に備えられるカメラ）の相対位置を算出する（ステップＳ７）。
【００６３】
表示画像生成部１０４は、ステップＳ５において算出された撮像画像上におけるカラービットコードの向き及びステップＳ７において算出されたカラービットコードに対する画像表示装置１０の相対位置に基づいて、ステップＳ３において取得された３次元オブジェクト画像の向きを変化させた表示画像（３次元オブジェクト画像）を生成する（ステップＳ８）。この場合において、表示画像生成部１０４によって生成される表示画像は、例えばカラービットコードの向きに対応する方向を向いた３次元オブジェクトを、当該カラービットコードに対する画像表示装置１０の相対位置から見たような画像である。なお、この場合における３次元オブジェクト（画像）の大きさは、上記したカラービットコードに対する画像表示装置１０の相対位置に基づいて定められればよい。具体的には、カラービットコードから画像表示装置１０までの距離が遠い場合にはより小さい３次元オブジェクト（画像）が表示されるようにし、当該カラービットコードから画像表示装置１０までの距離が近い場合にはより大きな３次元オブジェクト（画像）が表示されるようにすることができる。
【００６４】
すなわち、表示画像生成部１０４によって生成される表示画像（つまり、３次元オブジェクト画像の向き）は、カラービットコードと画像表示装置１０との位置関係に応じて変化する。
【００６５】
画像表示処理部１０５は、ステップＳ８において生成された表示画像を、ステップＳ１において取得された撮像画像上に重畳表示する（ステップＳ９）。具体的には、表示画像は、撮像画像に含まれるカラービットコード上に表示される。なお、表示画像は、撮影画像に含まれるカラービットコード上以外（例えば、当該カラービットコードの近傍等）に表示されても構わない。
【００６６】
上述したように、図５に示す処理によれば、例えば線状に形成されたカラービットコードをＡＲマーカとして利用した場合であっても、当該カラービットコードと画像表示装置１０との位置関係に応じて向きを変化させた３次元オブジェクト画像を撮像画像（に含まれるカラービットコード）上に表示することができる。
【００６７】
なお、図５に示す処理は、カラービットコード（が配置された現実空間）がカメラによって撮像される（すなわち、撮像画像が取得される）度に実行される。
【００６８】
また、ここでは撮像画像に含まれるカラービットコード（つまり、撮像画像から切り出されるコード領域）の数は１つであるものとして主に説明したが、当該撮像画像内に複数のカラービットコードが含まれている場合には、当該カラービットコードの各々に対してステップＳ２〜Ｓ９の処理が実行されればよい。
【００６９】
以下、図６〜図９を参照して、表示画像の表示態様の一例について説明する。図６は、カラービットコードが配置された現実空間を表す図である。なお、図６〜図９を用いた説明においては、カラービットコードの両端に該当する２つのセル２０を始点セル２０ａ及び終点セル２０ｂとする。
【００７０】
図６に示すように現実空間に配置されたカラービットコードが矢印２０１の方向からカメラによって撮像された場合には、図７に示すように、所定のキャラクタの３次元オブジェクト画像２１１が当該カラービットコード上に表示される。具体的には、図７に示す例では、例えば直線状に形成されたカラービットコードにおける始点セル２０ａを右側、終点セル２０ｂを左側とする向きを向いた３次元オブジェクトを、矢印２０１の方向から見たような３次元オブジェクト画像２１１（つまり、当該３次元オブジェクトの正面を少し上から見たような画像）が表示されている。
【００７１】
一方、図６に示すように現実空間に配置されたカラービットコードが矢印２０２の方向からカメラによって撮像された場合には、図８に示すように、所定のキャラクタの３次元オブジェクト画像２１２が当該カラービットコード上に表示される。具体的には、図８に示す例では、図７と同様にカラービットコードにおける始点セル２０ａを右側、終点セル２０ｂを左側とする向きを向いた３次元オブジェクトを、矢印２０２の方向から見たような３次元オブジェクト画像２１２（つまり、当該３次元オブジェクトの左側面を少し上から見たような画像）が表示されている。
【００７２】
なお、例えばカラービットコードが近接して複数配置されているような場合において、当該複数のカラービットコードがカメラによって撮像された場合には、図９に示すように、当該複数のカラービットコードの各々の上に３次元オブジェクト画像２１３及び２１４が重なるように表示される。
【００７３】
上記したように本実施形態においては、カメラによって撮像されたカラービットコード（光学式認識コード）を含む撮影画像を取得し、当該取得された撮影画像に含まれるカラービットコードによって表される識別情報に対応する３次元オブジェクト画像を、当該撮像画像上（例えば、カラービットコード上）に重畳表示する。この撮像画像上に重畳表示される３次元オブジェクト画像の向きは、撮像画像上におけるカラービットコードの向き及びカメラの傾きに基づいて決定される。
【００７４】
具体的には、撮像画像上におけるカラービットコードの両端に位置する始点セル２０及び終点セル２０の位置に基づいてカラービットコードの向きを算出し、加速度センサ１８を用いて検出されたカメラの傾きに基づいてカラービットコードに対するカメラの相対位置を算出し、当該カラービットコードの向き及び当該カメラの相対位置に基づいて３次元オブジェクト画像の向きを変化させた表示画像を生成する。
【００７５】
すなわち、本実施形態においては、カメラの位置（角度）に応じて、様々な角度からの３次元オブジェクト（画像）を表示することが可能となる。
【００７６】
本実施形態においては、このような構成により、ＡＲマーカとして一般的に利用されている略正方形状の所定の範囲内に白の領域と黒の領域とが配置されることによって構成されるＡＲマーク等と比較してより柔軟性の高いカラービットコードをＡＲマーカとして利用することが可能となる。
【００７７】
例えば、上記したＡＲマークを利用する場合にはある程度の大きさのＡＲマークを用意する必要があるのに対して、カラービットコードは当該カラービットコードが占める領域の大きさ及び形状の制限が緩い。このため、本実施形態によれば、例えば上述した図９に示すように複数のセル２０を直線状に配列した複数のカラービットコードを並べて配置することによって、複数の３次元オブジェクト（画像）を重なるように表示することも可能である。
【００７８】
また、カラービットコードは高い読み取り精度を実現することが可能であるため、例えば上記したＡＲマークでは読取不能な位置からであっても当該カラービットコードであれば読み取ることができる場合がある。すなわち、カラービットコードは、ＡＲマークと比較して読み取り可能な範囲が広い。また、本実施形態においては、カラービットコードを読み取ることさえできれば、３次元オブジェクト画像を表示させることができる。よって、本実施形態によれば、ＡＲマークを利用する場合と比較してより広い範囲でＡＲ（技術）を利用することが可能となる。
【００７９】
すなわち、本実施形態によれば、スマートフォンのような画像表示装置１０が有する加速度センサ１８を用いることによってカラービットをＡＲマーカとして利用することが可能となるため、ＡＲ技術を利用する場合においても、一般的なＡＲマークと比較して有利なカラービットコードの特長を活かすことができる（つまり、カラービットコードの利益を享受することができる）。
【００８０】
なお、本実施形態に係る画像表示装置１０の利用態様としては種々のものが想定される。近年ではカードゲームが世界的に普及しているが、カードゲームにおいて用いられるカード（の端等）にカラービットコードを付して、本実施形態に係る画像表示装置１０を使用することができる。この場合には、カード（に付されているカラービットコード）を画像表示装置１０に備えられたカメラで撮像することによって、例えば当該撮像された撮像画像上において例えば当該カードに対応するキャラクタの３次元画像（映像）を重畳表示することができる。このように本実施形態に係る画像表示装置１０をカードゲームにおいて利用した場合には、当該カードゲームの興趣性を飛躍的に向上させることが可能となる。
【００８１】
更に、大きなカラービットコードをＡＲマーカとして利用する場合には、例えば人の横（の床面等）に当該カラービットコードを配置して、画像表示装置１０を使用することができる。この場合には、人及びカラービットコードの両方がカメラの画角内に含まれるように撮像することによって、例えば当該撮像された撮像画像上において等身大のキャラクタの３次元画像を重畳表示することができる。これによれば、撮像画像内において人が等身大のキャラクタと肩を組んだり、握手したりした状態を画像表示装置１０上で表示し、必要に応じて当該画像を保存することができる。また、部屋等に複数のカラービットコードを配置して画像表示装置１０を使用した場合には、当該部屋を画像表示装置１０に備えられたカメラで撮像することによって、当該撮像された撮像画像（つまり、部屋の画像）上において所望の家具等が配置（表示）された画像を得るようなことも可能となる。
【００８２】
また、例えば博物館の展示品の近傍に設けられている表示板の隅にカラービットコードを付して、画像表示装置１０を使用することができる。この場合には、表示板（に付されているカラービットコード）を画像表示装置１０に備えられているカメラで撮像することによって、例えば展示品に関する説明用の３次元画像（映像）を表示することができる。
【００８３】
また、例えば街中の看板（またはポスター）等の隅にカラービットコードを印字して、画像表示装置１０を使用することができる。この場合には、ポスター（に印字されているカラービットコード）を画像表示装置１０に備えられているカメラで撮像することによって、例えば当該看板の位置（つまり、画像表示装置１０を使用するユーザの位置）や当該看板周辺の情報を３次元画像として表示することができる。カラービットコードは、バーコード及びＱＲコード（登録商標）と異なり、読み込むために接近する必要がない点で大きな利点がある。
【００８４】
また、例えば３色のＬＥＤを利用した看板（以下、ＬＥＤ看板と表記）が普及しているが、当該ＬＥＤ看板における３色を構成色とするカラービットコードをデザイン化して当該ＬＥＤ看板の一部に表示して、画像表示装置１０を使用することができる。この場合には、ＬＥＤ看板の一部に表示されたカラーヒットコードを画像表示装置１０に備えられているカメラで撮像することによって、画像表示装置１０上（つまり、撮像画像上）で様々な情報を３次元画像として表示することができる。更に、例えば角度を変えると異なる画像を表示するようなことも可能である。
【００８５】
なお、本実施形態においては、画像表示装置１０に備えられるカメラによって撮像される（読み取られる）カラービットコード（によって表される識別情報）に対応する３次元オブジェクト画像が当該画像表示装置１０内（格納部１０１）に格納されているものとして説明したが、当該３次元オブジェクト画像は、画像表示装置１０の外部のサーバ装置等に格納されていてもよい。この場合、画像表示装置１０は、カラービットコードを読み取ることによって取得された識別情報をサーバ装置に送信し、当該識別情報に対応する３次元オブジェクト画像を当該サーバ装置から取得すればよい。
【００８６】
また、本実施形態においてはＡＲマーカとしてカラービットコードを利用するものとして説明したが、本実施形態は、コードの両端（つまり、２点）の位置を抽出可能なコードであれば、例えばバーコード、二次元コード及びグリッド型カラーコードのような他のコードを利用することも可能である。更に、本実施形態は、カラービットコードのように複数のエレメントが線状（棒状）に形成されたコードのみではなく、任意の２点の表示のみを利用して３次元画像を表示することも可能である。
【００８７】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。  
【符号の説明】
【００８８】
１０…画像表示装置、１１…バス、１２…不揮発性メモリ、１３…ＣＰＵ、１４…メインメモリ、１５…無線通信部、１６…ディスプレイ、１７…タッチパネル、１８…加速度センサ、１０１…格納部、１０２…撮像画像取得部、１０３…デコード処理部、１０４…表示画像生成部、１０５…画像表示処理部
【要約】
【課題】柔軟性の高いコードをＡＲマーカとして利用することを可能とする。
【解決手段】撮像画像取得部１０２は、カメラによって撮像された、複数のエレメントが線状に形成されることによって識別情報を表す光学式認識コードを含む撮像画像を取得する。画像表示処理部１０５は、取得された撮像画像に含まれる光学式認識コードによって表される識別情報に対応する３次元オブジェクト画像を、当該撮像画像上に重畳表示する。撮像画像上に重畳表示される３次元オブジェクト画像の向きは、当該撮像画像上における光学式認識コードの向き及びカメラの傾きに基づいて決定される。
【選択図】図４【図１】
0005812550.tif 000002
【図２】
0005812550.tif 000003
【図３】
0005812550.tif 000004
【図４】
0005812550.tif 000005
【図５】
0005812550.tif 000006
【図６】
0005812550.tif 000007
【図７】
0005812550.tif 000008
【図８】
0005812550.tif 000009
【図９】
0005812550.tif 000010