(57)【要約】【課題】撮影画像に対し、別の画像を合成する場合に、ユーザの手間を軽減し、画像を合成すべき位置を検出する精度を向上させる技術を提供する。【解決手段】情報処理装置１００Ｓと情報処理装置１００Ｍとは、通信接続を確立し、互いにデータを送受信する。撮影側の情報処理装置１００Ｓは、画像認識処理によるＡＲマーカ６５のトレースに成功しなかった場合、情報処理装置１００Ｍに対し、撮影画像に含まれる色のうち少ない色を優先してＡＲマーカ６５の表示色として指示し、情報処理装置１００Ｍは、指示に従ってＡＲマーカ６５を表示する。情報処理装置１００Ｓは、撮影画像に含まれるＡＲマーカ６５を示す領域を検出し、検出結果に応じてコンテンツデータを合成する。また、情報処理装置１００Ｍは、通信接続により、情報処理装置１００Ｓに対し、表示すべきコンテンツデータを指定することができる。【選択図】図７
2015122707.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の動作を制御するためのプログラムであって、
前記情報処理装置は、カメラと、他の情報処理装置と通信するための通信モジュールと、前記カメラによる撮影画像を表示するための第１のディスプレイと、前記撮影画像に合成されるコンテンツデータを記憶するためのメモリと、前記情報処理装置の動作を制御するためのプロセッサとを備え、
前記他の情報処理装置は、前記他の情報処理装置が備える第２のディスプレイに、画像認識処理によって検出される特定の画像を表示するよう構成され、
前記プログラムは、前記プロセッサに、
前記他の情報処理装置との通信接続を確立するステップと、
前記通信接続を確立した前記他の情報処理装置に対し、前記特定の画像を前記第２のディスプレイに表示するための表示設定を送信するステップと、
前記他の情報処理装置を前記カメラで撮影することにより得られる撮影画像に対し、前記表示設定に基づいて画像認識処理を行うことにより、前記撮影画像に含まれる前記特定の画像を検出するステップと、
前記撮影画像に対する前記特定の画像の検出結果に基づいて、前記コンテンツデータを合成する位置を決定し、前記決定された位置に前記コンテンツデータを合成した合成画像データを生成するステップと、
前記生成された前記合成画像データを前記第１のディスプレイに表示するステップとを実行させる、プログラム。
【請求項２】
前記送信するステップは、前記撮影画像に含まれる色の分布を取得し、前記分布において撮影画像に含まれる色が少ない色を優先して、前記特定の画像の表示色として決定し、決定した前記表示色を前記表示設定に含めて前記他の情報処理装置へ送信するステップを含む、請求項１記載のプログラム。
【請求項３】
前記検出するステップは、前記他の情報処理装置へ送信した前記表示設定に含まれる前記特定の画像の表示色のフィルタを前記撮影画像に適用することでフィルタ適用後の画像を取得し、取得した画像に対し前記画像認識処理を行うことにより、前記撮影画像に含まれる前記特定の画像を検出するステップを含む、請求項２記載のプログラム。
【請求項４】
前記プログラムは、前記プロセッサに、
前記他の情報処理装置から、前記第１のディスプレイに合成すべきコンテンツデータの指定を受信するステップを実行させ、
前記表示するステップは、前記他の情報処理装置によって指定された前記コンテンツデータを前記撮影画像に合成するステップを含む、請求項１記載のプログラム。
【請求項５】
情報処理装置の動作を制御するためのプログラムであって、
前記情報処理装置は、他の情報処理装置と通信するための通信モジュールと、画像を表示するためのディスプレイと、前記情報処理装置の動作を制御するためのプロセッサとを備え、
前記プログラムは、前記プロセッサに、
前記他の情報処理装置との通信接続を確立するステップと、
前記ディスプレイに、画像認識処理によって検出される特定の画像を表示するステップと、
前記通信接続を確立した前記他の情報処理装置から、前記特定の画像を前記ディスプレイに表示するための表示設定を受信するステップとを実行させ、
前記特定の画像を表示するステップは、前記他の情報処理装置から受信した前記表示設定に従って、前記特定の画像を前記ディスプレイに表示させるステップを含む、プログラム。
【請求項６】
前記プログラムは、前記プロセッサに、
前記通信接続を確立した他の情報処理装置に対し、前記他の情報処理装置の前記撮影画像に合成すべき前記コンテンツデータの指定を送信するステップを実行させる、請求項５記載のプログラム。
【請求項７】
前記情報処理装置は、前記他の情報処理装置において撮影画像に合成させるためのコンテンツデータを記憶するためのメモリを備え、
前記送信するステップは、前記他の情報処理装置に対し、前記コンテンツデータ本体、前記コンテンツデータの識別情報、または前記コンテンツデータの取得方法を示す情報の少なくともいずれかを送信するステップを含む、請求項６記載のプログラム。
【請求項８】
第１の情報処理装置と第２の情報処理装置とからなるシステムにおいて合成画像を生成する方法であって、
前記第１の情報処理装置は、カメラと、第２の情報処理装置と通信するための第１の通信モジュールと、前記カメラによる撮影画像を表示するための第１のディスプレイと、前記撮影画像に合成されるコンテンツデータを記憶するためのメモリと、前記第１の情報処理装置の動作を制御するためのプロセッサとを備え、
前記第２の情報処理装置は、前記第１の情報処理装置と通信するための第２の通信モジュールと、画像認識処理によって検出される特定の画像を表示するよう構成される第２のディスプレイとを備え、
前記方法は、
前記第１の情報処理装置と前記第２の情報処理装置とが、互いに通信接続を確立するステップと、
前記第１の情報処理装置が、前記通信接続を確立した前記第２の情報処理装置に対し、前記特定の画像を前記第２のディスプレイに表示するための表示設定を送信するステップと、
前記第１の情報処理装置が、前記第２の情報処理装置を前記カメラで撮影することにより得られる撮影画像に対し、前記表示設定に基づいて画像認識処理を行うことにより、前記撮影画像に含まれる前記特定の画像を検出するステップと、
前記第１の情報処理装置が、前記撮影画像において、前記検出された前記特定の画像に基づいて、前記コンテンツデータを合成する位置を決定し、前記決定された位置に前記コンテンツデータを合成した合成画像データを生成するステップと、
前記第１の情報処理装置が、前記生成された前記合成画像データを前記第１のディスプレイに表示するステップとを含む、方法。
【請求項９】
撮影機能を有する情報処理装置であって、
前記情報処理装置は、カメラと、他の情報処理装置と通信するための通信モジュールと、前記カメラによる撮影画像を表示するための第１のディスプレイと、前記撮影画像に合成されるコンテンツデータを記憶するためのメモリと、前記情報処理装置の動作を制御するためのプロセッサとを備え、
前記他の情報処理装置は、前記他の情報処理装置が備える第２のディスプレイに、画像認識処理によって検出される特定の画像を表示するよう構成され、
前記プロセッサは、
前記他の情報処理装置との通信接続を確立し、前記通信接続を確立した前記他の情報処理装置に対し、前記特定の画像を前記第２のディスプレイに表示するための表示設定を送信する通信処理部と、
前記他の情報処理装置を前記カメラで撮影することにより得られる撮影画像に対し、前記表示設定に基づいて画像認識処理を行うことにより、前記撮影画像に含まれる前記特定の画像を検出する検出部と、
前記撮影画像に対する前記特定の画像の検出結果に基づいて、前記コンテンツデータを合成する位置を決定し、前記決定された位置に前記コンテンツデータを合成した合成画像データを生成し、前記生成された前記合成画像データを前記第１のディスプレイに表示する映像処理部と、の各機能を発揮するよう構成される、情報処理装置。
【請求項１０】
情報処理装置であって、
前記情報処理装置は、他の情報処理装置と通信するための通信モジュールと、画像を表示するためのディスプレイと、前記情報処理装置の動作を制御するためのプロセッサとを備え、
前記プロセッサは、
前記他の情報処理装置との通信接続を確立し、前記通信接続を確立した前記他の情報処理装置から、前記特定の画像を前記ディスプレイに表示するための表示設定を受信する通信処理部と、
前記他の情報処理装置から受信した前記表示設定に従って、前記特定の画像を前記ディスプレイに表示させる映像処理部と、の各機能を発揮するよう構成される、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、カメラの撮影により得られる撮影画像データに、別の画像を合成して表示するための技術に関する。
【背景技術】
【０００２】
スマートフォン、タブレット端末など、カメラを備えた情報処理装置が広く普及している。ユーザは、これらカメラ機能を利用して、例えばユーザ同士を撮影し、ＳＮＳ（Social  Networking  Service）サイトやグループチャットアプリ等に投稿して撮影画像をユーザ間で共有している。
【０００３】
これらスマートフォンなどの情報処理装置に対して、数々のアプリケーションが提供されている。情報処理装置は、例えばアプリケーションストアを通じて、配信サーバからアプリケーションをダウンロードする。これらアプリケーションは、例えば、カメラが生成する画像信号に基づき、情報処理装置のディスプレイに撮影画像のプレビューを表示しつつ、撮影画像に対し、アイコンなど別の画像を合成する操作をユーザから受け付けて、合成画像を生成するためのものなどがある。撮影画像に対して別の画像を合成するための技術は、例えば特開２００８−１０３８７３号公報（特許文献１）に開示されている。
【０００４】
情報処理装置は、アプリケーションを起動して、例えば、撮影画像に合成するための画像を指定する入力操作をユーザから受け付けて、撮影画像に対し、ユーザが指定する位置に画像を合成する。例えば、情報処理装置のユーザが、被写体となる別の人物を撮影し、撮影画像に合成するための画像として、炎や刀などのアニメーション画像を指定したとする。また、ユーザが、撮影画像の被写体の手の部分を、アニメーション画像を合成する位置として指定したとする。情報処理装置は、撮影画像を表示するとともに、ユーザが指定した位置（被写体の手の部分）にアニメーション画像を合成する。これにより、ユーザは、被写体とアニメーション画像とを合成し、他のユーザ（例えば、被写体となったユーザ）と画像を共有して楽しむことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１０３８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、撮影画像に対してユーザがアニメーション画像を合成する場合に、アニメーション画像を合成する位置を指定する操作をする必要があるため、ユーザにとって入力操作が煩雑になることがある。例えば、アニメーション画像を、被写体のどの部位に合成すべきか定まっている場合（例えば、アニメーション画像が、刀など手に把持するものである場合）に、ユーザが、都度、被写体の手の位置を指定してアニメーション画像を合成することが、ユーザにとって手間に感じられることがある。
【０００７】
ただし、アニメーション画像を被写体のどの部分に合成すべきかがある程度定まっている場合は、その合成すべき位置を画像認識処理等によって検出することもできる。例えば、眼鏡など顔に装着する物品を示す画像を、被写体の顔の一部分に合成する場合を想定する。この場合、情報処理装置は、顔検出処理によって目の位置等を検出し、検出された位置に基づいて、アニメーション画像を合成すべき位置をある程度特定することができる。これにより、ユーザの入力操作の手間を軽減することも期待できる。しかし、撮影環境の光量など、被写体を撮影する状況によっては、撮影画像から、画像認識処理等によってアニメーション画像を合成すべき位置を特定することが困難になることもある。
【０００８】
したがって、撮影画像に対し、別の画像を合成する場合に、その別の画像を合成する位置の調整をするユーザの手間を軽減し、また、被写体の撮影環境にかかわらず、画像を合成すべき位置を検出する精度を向上させる技術が必要とされている。
【課題を解決するための手段】
【０００９】
一実施形態に従うと、情報処理装置の動作を制御するためのプログラムが提供される。情報処理装置は、カメラと、他の情報処理装置と通信するための通信モジュールと、カメラによる撮影画像を表示するための第１のディスプレイと、撮影画像に合成されるコンテンツデータを記憶するためのメモリと、情報処理装置の動作を制御するためのプロセッサとを備える。他の情報処理装置は、他の情報処理装置が備える第２のディスプレイに、画像認識処理によって検出される特定の画像を表示するよう構成される。このプログラムは、プロセッサに、他の情報処理装置との通信接続を確立するステップと、通信接続を確立した他の情報処理装置に対し、特定の画像を第２のディスプレイに表示するための表示設定を送信するステップと、他の情報処理装置をカメラで撮影することにより得られる撮影画像に対し、表示設定に基づいて画像認識処理を行うことにより、撮影画像に含まれる特定の画像を検出するステップと、撮影画像に対する特定の画像の検出結果に基づいて、コンテンツデータを合成する位置を決定し、決定された位置にコンテンツデータを合成した合成画像データを生成するステップと、生成された合成画像データを第１のディスプレイに表示するステップとを実行させる。
【００１０】
別の実施形態に従うと、情報処理装置の動作を制御するためのプログラムが提供される。情報処理装置は、他の情報処理装置と通信するための通信モジュールと、画像を表示するためのディスプレイと、情報処理装置の動作を制御するためのプロセッサとを備える。プログラムは、プロセッサに、他の情報処理装置との通信接続を確立するステップと、ディスプレイに、画像認識処理によって検出される特定の画像を表示するステップと、通信接続を確立した他の情報処理装置から、特定の画像をディスプレイに表示するための表示設定を受信するステップとを実行させ、特定の画像を表示するステップは、他の情報処理装置から受信した表示設定に従って、特定の画像をディスプレイに表示させるステップを含む。
【００１１】
別の実施形態に従うと、第１の情報処理装置と第２の情報処理装置とからなるシステムにおいて合成画像を生成する方法が提供される。第１の情報処理装置は、カメラと、第２の情報処理装置と通信するための第１の通信モジュールと、カメラによる撮影画像を表示するための第１のディスプレイと、撮影画像に合成されるコンテンツデータを記憶するためのメモリと、第１の情報処理装置の動作を制御するためのプロセッサとを備える。第２の情報処理装置は、第１の情報処理装置と通信するための第２の通信モジュールと、画像認識処理によって検出される特定の画像を表示するよう構成される第２のディスプレイとを備える。この方法は、第１の情報処理装置と第２の情報処理装置とが、互いに通信接続を確立するステップと、第１の情報処理装置が、通信接続を確立した第２の情報処理装置に対し、特定の画像を第２のディスプレイに表示するための表示設定を送信するステップと、第１の情報処理装置が、第２の情報処理装置をカメラで撮影することにより得られる撮影画像に対し、表示設定に基づいて画像認識処理を行うことにより、撮影画像に含まれる特定の画像を検出するステップと、第１の情報処理装置が、撮影画像において、検出された特定の画像に基づいて、コンテンツデータを合成する位置を決定し、決定された位置にコンテンツデータを合成した合成画像データを生成するステップと、第１の情報処理装置が、生成された合成画像データを第１のディスプレイに表示するステップとを含む。
【００１２】
別の実施形態に従うと、撮影機能を有する情報処理装置が提供される。情報処理装置は、カメラと、他の情報処理装置と通信するための通信モジュールと、カメラによる撮影画像を表示するための第１のディスプレイと、撮影画像に合成されるコンテンツデータを記憶するためのメモリと、情報処理装置の動作を制御するためのプロセッサとを備え、他の情報処理装置は、他の情報処理装置が備える第２のディスプレイに、画像認識処理によって検出される特定の画像を表示するよう構成され、プロセッサは、他の情報処理装置との通信接続を確立し、通信接続を確立した他の情報処理装置に対し、特定の画像を第２のディスプレイに表示するための表示設定を送信する通信処理部と、他の情報処理装置をカメラで撮影することにより得られる撮影画像に対し、表示設定に基づいて画像認識処理を行うことにより、撮影画像に含まれる特定の画像を検出する検出部と、撮影画像に対する特定の画像の検出結果に基づいて、コンテンツデータを合成する位置を決定し、決定された位置にコンテンツデータを合成した合成画像データを生成し、生成された合成画像データを第１のディスプレイに表示する映像処理部と、の各機能を発揮するよう構成される。
【００１３】
別の実施形態に従う情報処理装置は、他の情報処理装置と通信するための通信モジュールと、画像を表示するためのディスプレイと、情報処理装置の動作を制御するためのプロセッサとを備え、プロセッサは、他の情報処理装置との通信接続を確立し、通信接続を確立した他の情報処理装置から、特定の画像をディスプレイに表示するための表示設定を受信する通信処理部と、他の情報処理装置から受信した表示設定に従って、特定の画像をディスプレイに表示させる映像処理部と、の各機能を発揮するよう構成される。
【発明の効果】
【００１４】
上記一実施形態によると、撮影画像において、別の画像を合成する位置を調整するためのユーザの手間を軽減することができ、撮影画像に対し、別の画像を容易に合成することができる。また、被写体の撮影環境に対応して、情報処理装置間で通信が行なわれることで、撮影画像に対し、別の画像を合成する位置を検出する精度を向上させることができる。
【００１５】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１６】
【図１】実施の形態にかかる情報処理装置１００が使用される状況の一例を示す図である。
【図２】情報処理装置１００を含むネットワークの構成を示す図である。
【図３】情報処理装置１００の構成を示すブロック図である。
【図４】コンテンツ管理テーブル３３を示す図である。
【図５】被写体を撮影する撮影側の情報処理装置１００において、撮影画像とコンテンツデータとを合成するためのユーザインタフェースの一例を示す図である。
【図６】情報処理装置１００Ｍにおいて、ＡＲ（Augmented  Reality）マーカを表示し、情報処理装置１００Ｓの撮影画像に合成するコンテンツデータを指定するためのユーザインタフェースの一例を示す図である。
【図７】実施の形態１の情報処理装置１００による、コンテンツデータと撮影画像とを合成して表示するための処理の概要を示す図である。
【図８】被写体となる情報処理装置１００Ｍがマーカをディスプレイ１６に表示する処理を示すフローチャートである。
【図９】被写体となる情報処理装置１００Ｍが、撮影側の情報処理装置１００Ｓからの通信を受信して、マーカの表示を変更する処理を示すフローチャートである。
【図１０】被写体となる情報処理装置１００Ｍが、情報処理装置１００Ｍによる計測データを情報処理装置１００Ｓへ送信するための送信タイマーイベント発生時の処理を示すフローチャートである。
【図１１】撮影側となる情報処理装置１００Ｓが、被写体となる情報処理装置１００Ｍとの通信接続を確立し、情報処理装置１００Ｍのディスプレイ１６に表示されるＡＲマーカ６５を認識するための処理を示すフローチャートである。
【図１２】撮影側となる情報処理装置１００Ｓが、被写体となる情報処理装置１００Ｍとの通信によってデータを受信し、ＡＲデータをディスプレイ１６に表示する設定を更新するための処理を示すフローチャートである。
【図１３】撮影側となる情報処理装置１００Ｓが、ディスプレイ１６において撮影画像に合成するコンテンツデータを設定するための処理を示すフローチャートである。
【図１４】撮影側となる情報処理装置１００Ｓが、撮影画像に対して画像認識処理を行い、マーカの検出結果に応じてコンテンツデータを合成する処理を示すフローチャートである。
【図１５】情報処理装置１００Ｓが、コンテンツデータの合成のＯＮまたはＯＦＦを、情報処理装置１００Ｍの指示によって受け付ける例を示す図である。
【図１６】情報処理装置１００において、撮影画像に合成する対象となるコンテンツデータを購入する入力操作を受け付けるためのインタフェースの例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１８】
＜実施の形態１＞
図１は、実施の形態にかかる情報処理装置１００が使用される状況の一例を示す図である。図１では、情報処理装置１００として、情報処理装置１００Ｍと情報処理装置１００Ｓとを示している（以下、情報処理装置１００Ｍと情報処理装置１００Ｓとを総称して情報処理装置１００ということもある）。情報処理装置１００は、例えば、タッチパネルを備えるスマートフォンであるが、スマートフォンに限られない。情報処理装置１００は、カメラを備え、カメラが撮影した撮影画像をディスプレイ１６に表示している。図１の例では、情報処理装置１００Ｍを保持する被写体を、情報処理装置１００Ｓが撮影している。情報処理装置１００Ｍは、ディスプレイ１６Ｍに、ＡＲ（Augmented  Reality）マーカ６５を表示している。情報処理装置１００Ｓは、カメラによって被写体を撮影しており、撮影画像をディスプレイ１６Ｓに表示している。情報処理装置１００Ｓは、撮影画像から、被写体が保持している情報処理装置１００Ｍのディスプレイ１６に表示されるＡＲマーカ６５を、画像認識処理によって検出する。情報処理装置１００Ｓは、検出したＡＲマーカ６５の位置に、撮影画像に合成するためのＡＲモデルデータ（コンテンツデータ）を合成する。
【００１９】
情報処理装置１００Ｓと情報処理装置１００Ｍとは、無線ＬＡＮ（Local  Area  Network）規格、Ｂｌｕｅｔｏｏｔｈ（登録商標）など近距離無線通信用のプロトコルに従って通信接続し、互いにデータを送受信することができる。情報処理装置１００Ｓは、撮影画像において情報処理装置１００Ｍのディスプレイ１６Ｍに表示されるＡＲマーカ６５を画像認識処理によって検出することを容易にするため、情報処理装置１００Ｍと通信し、ＡＲマーカ６５の発光色を指定する。例えば、ＡＲマーカ６５が、情報処理装置１００Ｍの周囲の環境と同種類の色で発光している場合に、情報処理装置１００ＳによるＡＲマーカ６５の検出が困難になることがある。そこで、情報処理装置１００Ｍの周囲の環境に少ない色でＡＲマーカ６５を発光させるよう、情報処理装置１００Ｓが情報処理装置１００Ｍに対して指示をする。これにより、被写体の周囲の環境にかかわらず、情報処理装置１００ＳによるＡＲマーカ６５の検出の精度が高まる。
【００２０】
また、被写体となる情報処理装置１００Ｍのユーザは、情報処理装置１００Ｍが通信接続している情報処理装置１００Ｓに対し、撮影画像からＡＲマーカ６５を検出したときにＡＲマーカ６５の位置に合成すべきコンテンツデータを指定することができる。これにより、情報処理装置１００Ｍのユーザは、自らが被写体となった撮影画像において、どのコンテンツデータを合成するかを情報処理装置１００Ｓに対して指定することができる。
【００２１】
なお、図１に示すように、情報処理装置１００Ｓは、スピーカ２３Ｓとフロントカメラ１８Ｓとを備える。情報処理装置１００Ｓのユーザは、フロントカメラ１８Ｓを起動させてユーザ自身を容易に撮影することができる。例えばコンテンツデータを合成するためのマーカの模様をユーザが保持することで、情報処理装置１００Ｓのユーザは、ディスプレイ１６Ｓに表示されるユーザ自身と、コンテンツデータとの合成画像を容易に得ることができる。
【００２２】
図１の例では、被写体のユーザ（情報処理装置１００Ｓのユーザ）は、漫画、ゲーム、アニメ、映画など、ある作品のキャラクターになりきっているとする。被写体は、キャラクターの衣装を装着し、ある姿勢を維持している。情報処理装置１００Ｓは、撮影画像に対し画像認識処理を行うことで、被写体が保持する情報処理装置１００Ｍのディスプレイ１６Ｍに表示されたＡＲマーカ６５を検出し、検出結果に基づいて、コンテンツデータを合成する位置を設定する。これにより、例えば、被写体が、ある作品のキャラクターになりきっている場合に、情報処理装置１００は、作品中の演出や作品中のアイテムなどを撮影画像に合成することができる。このように、情報処理装置１００は、キャラクターになりきった感覚を被写体に対して提供することができる。
【００２３】
＜構成＞
図２は、情報処理装置１００を含むネットワークの構成を示す図である。図２では、情報処理装置１００として、情報処理装置１００Ａ、１００Ｂ、１００Ｃが示されている。情報処理装置１００Ａ、１００Ｃは、スマートフォンであり、情報処理装置１００Ｂは、タブレット端末である。図２を参照して、情報処理装置１００Ａは、無線基地局７００と無線通信により接続し、ネットワーク８００を経由して配信サーバ９００と通信する。配信サーバ９００は、情報処理装置１００が撮影画像と合成してディスプレイ１６に表示するための複数のコンテンツデータを記憶している。情報処理装置１００Ａは、配信サーバ９００と通信することで、配信サーバ９００からコンテンツデータを取得する。例えば、情報処理装置１００は、使用可能な期間が定められたコンテンツデータや、課金処理によって購入することができるコンテンツデータなどを配信サーバ９００から取得する。情報処理装置１００Ｂは、ルータ６００と無線通信により接続し、ネットワーク８００を経由して配信サーバ９００と通信する。情報処理装置１００Ｃは、ルータ６００と無線通信により接続し、ネットワーク８００を経由して配信サーバ９００と通信する。
【００２４】
情報処理装置１００Ｂと情報処理装置１００Ｃとは、無線通信規格に従って通信接続し、互いにデータを送受信することができる。情報処理装置１００Ｂと情報処理装置１００Ｃとは、撮影画像から、画像認識処理によって特定の画像（例えば、マーカ）を検出したときに、コンテンツデータを撮影画像に合成してディスプレイ１６に表示する。情報処理装置１００Ｂと情報処理装置１００Ｃとは、互いに通信することにより、ディスプレイ１６に表示するマーカの発光色を変更して撮影画像からマーカの検出を容易にする処理、撮影画像に合成するコンテンツデータを送受信する処理等を行う。
【００２５】
図３は、情報処理装置１００の構成を示すブロック図である。図３に示すように、情報処理装置１００は、アンテナ１１，１３と、遠距離通信用モジュール１２と、近距離通信用モジュール１４と、タッチパネル１５と、ディスプレイ１６と、測位センサ１７と、フロントカメラ１８と、リアカメラ１９と、電源制御部２０と、バッテリ２１と、マイク２２と、スピーカ２３と、音声処理部２４と、記憶部２５と、加速度センサ２６と、制御部２７とを含む。
【００２６】
アンテナ１１とアンテナ１３とは、情報処理装置１００が発する信号を電波として放射する。また、アンテナ１１は、空間から電波を受信して受信信号を遠距離通信用モジュール１２へ与える。アンテナ１３は、空間から電波を受信して受信信号を近距離通信用モジュール１４へ与える。
【００２７】
遠距離通信用モジュール１２と近距離通信用モジュール１４とは、情報処理装置１００が他の無線機器と通信するため、アンテナ１１等を介して信号を送受信するための変復調処理などを行う。遠距離通信用モジュール１２と近距離通信用モジュール１４とは、チューナー、高周波回路などを含む通信モジュールであり、情報処理装置１００が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部２７へ与える。
【００２８】
遠距離通信用モジュール１２は、例えば、ＬＴＥ（Long  Term  Evolution）、ＵＭＴＳ（Universal  Mobile  Telecommunications  System）などの移動体通信システムに対応した通信モジュールであり、比較的長距離の通信に対応している。
【００２９】
近距離通信用モジュール１４は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの近距離無線通信規格や、ＩＥＥＥ（Institute  of  Electrical  and  Electronic  Engineers）８０２．１１などの無線ＬＡＮ（Local  Area  Network）規格などに対応した通信モジュールであり、比較的近距離の通信に対応している。情報処理装置１００が複数の通信方式に対応する場合、これら通信方式に対応してアンテナと通信用モジュールとを備えてもよい。
【００３０】
タッチパネル１５は、ユーザの入力操作を受け付ける。タッチパネル１５は、例えば静電容量方式のものを用いることによってユーザの接触操作を受け付ける。タッチパネル１５は、ユーザによる入力操作を制御部２７へ出力する。
【００３１】
ディスプレイ１６は、メニュー画面においてアイコンや背景画像を表示し、アプリケーションの動作によって静止画や動画などを表示する。ディスプレイ１６は、例えばＬＣＤ（Liquid  Crystal  Display）や有機ＥＬ（electroluminescence）ディスプレイによって実現される。
【００３２】
測位センサ１７は、情報処理装置１００の位置を計測するためのセンサであり、例えばＧＰＳ（Global  Positioning  System）モジュールである。
【００３３】
フロントカメラ１８とリアカメラ１９は、入射光を受光して電気信号に変換するカメラモジュールであり、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）センサ、ＡＤＣ（Analog  to  Digital  Converter）等を含み、画像信号を制御部２７へ出力する。情報処理装置１００の筺体において、ディスプレイ１６が配置される面を前面としたときに、フロントカメラ１８は、情報処理装置１００の前面に配置される。また、リアカメラ１９は、情報処理装置１００の背面に配置される。
【００３４】
電源制御部２０は、情報処理装置１００の各回路に対する電力の供給を制御する。電源制御部２０は、例えば電源制御用ＩＣ（Integrated  Circuit）である。
【００３５】
バッテリ２１は、情報処理装置１００の各回路を動作させるための電力を供給する供給源である。バッテリ２１からの電力は、電源制御部２０の制御に従って各回路へ供給される。
【００３６】
マイク２２は、ユーザによる音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部２４へ与える。
【００３７】
スピーカ２３は、音声処理部２４から与えられる音声信号を音声に変換して当該音声を情報処理装置１００の外部へ出力する。
【００３８】
音声処理部２４は、音声信号の変復調を行う。音声処理部２４は、マイク２２から与えられる信号を変調して、変調後の信号を制御部２７へ与える。また、音声処理部２４は、音声信号をスピーカ２３へ与える。音声処理部２４は、例えば音声処理用のプロセッサによって実現される。
【００３９】
記憶部２５は、例えばフラッシュメモリ等により構成され、情報処理装置１００が使用するデータおよびプログラムを記憶する。ある局面において、記憶部２５は、ＡＲコンテンツデータ３１と、画像データ３２と、コンテンツ管理テーブル３３とを記憶する。
【００４０】
ＡＲコンテンツデータ３１は、撮影画像に合成するための各コンテンツデータの識別情報に対応する静止画または動画のデータである。
【００４１】
画像データ３２は、撮影画像とコンテンツデータとを合成した画像をデータとして保存する処理によって生成される静止画または動画のデータである。
【００４２】
コンテンツ管理テーブル３３は、詳しくは後述するが、撮影画像に合成する対象となるコンテンツデータそれぞれを識別する識別情報と、コンテンツデータのファイル名と、コンテンツデータの名称と、コンテンツデータを利用できる期間とを対応付けたテーブルである。
【００４３】
制御部２７は、記憶部２５に記憶される制御プログラムを読み込んで実行することにより、情報処理装置１００の動作を制御する。制御部２７は、例えばアプリケーションプロセッサである。制御部２７は、プログラムに従って動作することにより、検出処理部４１と、映像処理部４２と、通信処理部４３と、音声認識部４４との各機能を発揮する。
【００４４】
検出処理部４１は、画像認識処理の機能を情報処理装置１００に発揮させ、リアカメラ１９またはフロントカメラ１８から出力される撮影画像に対し、画像認識処理を施すことにより、撮影画像に含まれるマーカなどの特定の被写体を検出する。例えば、検出処理部４１は、撮影画像に対して画像認識処理を行い、撮影画像に含まれるマーカの位置、マーカの傾きなどを出力する。
【００４５】
映像処理部４２は、撮影画像に対し、検出処理部４１の検出結果に基づいてコンテンツデータを合成する位置を決定する等の処理を行なって、合成後の画像を生成する。映像処理部４２は、撮影画像や、生成した画像等に基づいて映像信号を生成してディスプレイ１６の表示内容を制御する。
【００４６】
通信処理部４３は、通信プロトコルに従って、情報処理装置１００と他の情報処理装置との通信処理を制御する。
【００４７】
音声認識部４４は、マイク２２から出力される音声信号、情報処理装置１００が他の情報処理装置から受信する音声信号その他の音声信号に対し、音声認識処理を行って、音声信号に示される人間の音声に基づき文字データを生成する。情報処理装置１００は、自装置において音声認識処理用のプログラムを動作させ、音声信号から文字データを生成することとしてもよい。また、情報処理装置１００は、音声信号を示す音声データを外部のサーバ（配信サーバ９００など）へ送信し、外部のサーバによって音声認識処理を行わせ、その処理の結果を外部のサーバから受信することとしてもよい。
【００４８】
＜データ構造＞
図４を参照し、情報処理装置１００の処理において用いられるデータを説明する。図４は、コンテンツ管理テーブル３３を示す図である。
【００４９】
図４に示すように、コンテンツ管理テーブル３３の各レコードは、識別番号３３１と、ファイル名３３２と、ＡＲデータ名称３３３と、利用可能期間３３４とを含む。
【００５０】
識別番号３３１は、コンテンツデータそれぞれを識別するための識別情報である。ファイル名３３２は、コンテンツデータの識別情報に対応するファイルの名称を示す。ＡＲデータ名称３３３は、識別情報に示されるコンテンツデータのタイトルを示す。利用可能期間３３４は、コンテンツデータを利用できる期間を示す。図４に示すように、例えば、利用可能期間３３４のデータ「2013/10/31」は、ユーザがコンテンツデータを利用できる期間が２０１３年１０月３１日までであることを示し、データ「期限設定なし」は、コンテンツデータの利用可能な期間が設定されていないことを示す。
【００５１】
＜ユーザインタフェースの例（撮影側の装置）＞
図５を参照して、情報処理装置１００がディスプレイ１６に表示する画面の一例を説明する。図５は、被写体を撮影する撮影側の情報処理装置１００において、撮影画像とコンテンツデータとを合成するためのユーザインタフェースの一例を示す図である。
【００５２】
図５に示すように、撮影側の情報処理装置１００Ｓの制御部２７は、ディスプレイ１６Ｓにおいて、表示切替部５１と、画像表示領域５２と、撮影切替部５４と、撮影開始部５５と、撮影画像投稿部５６と、選択ファイル表示部５７と、指示送信部５８とを表示する。また、制御部２７は、撮影画像に合成するコンテンツデータをアニメーション合成部５３に表示する。図５の例では、選択ファイル表示部５７に示されるコンテンツデータがユーザによって選択されている。制御部２７は、選択ファイル表示部５７に示されるコンテンツデータと、撮影画像とを合成して画像表示領域５２に表示する。
【００５３】
表示切替部５１は、ユーザによって指定されたコンテンツデータと撮影画像とが合成された画像をディスプレイ１６に表示するか否かの設定を示す領域である。図８の例では、表示切替部５１は設定「ＯＮ」を示している。この場合、制御部２７は、コンテンツデータと撮影画像とを合成して生成された画像をディスプレイ１６に表示する。なお、表示切替部５１の表示内容が設定「ＯＦＦ」の場合は、制御部２７は、カメラによって取得された撮影画像をディスプレイ１６に表示する。制御部２７は、ユーザの入力操作をタッチパネル１５によって受け付けており、表示切替部５１に対する入力操作を受け付けて、撮影画像とコンテンツデータとが合成された画像を表示するか否かの設定のＯＮとＯＦＦとを切り替える。
【００５４】
画像表示領域５２は、情報処理装置１００のカメラから出力される撮影画像と、ユーザによって指定されたコンテンツデータとを合成した画像を表示するための領域である。画像表示領域５２において、コンテンツデータを合成している領域をアニメーション合成部５３に示す。制御部２７は、撮影画像に対する画像認識処理により、マーカなど特定の被写体を検出し、検出された位置に基づいてアニメーション合成部５３を決定し、アニメーション合成部５３にコンテンツデータを合成する。
【００５５】
撮影切替部５４は、画像表示領域５２において表示されている画像を、静止画として保存するか、動画として保存するかの設定を受け付けるための領域である。
【００５６】
撮影開始部５５は、画像表示領域５２において表示されている画像を保存するための入力操作をユーザから受け付けるための領域である。表示切替部５１において、設定が「ＯＮ」、すなわちコンテンツデータと撮影画像とが合成された画像を表示する設定である場合、情報処理装置１００は、撮影開始部５５に対する入力操作に応じて、コンテンツデータが合成された画像を静止画または動画として保存する。
【００５７】
撮影画像投稿部５６は、画像表示領域５２に表示されている画像、または撮影開始部５５への入力操作に応じて保存した画像を、他の情報処理装置と共有するための入力操作をユーザから受け付けるための領域である。情報処理装置１００は、撮影画像投稿部５６に対する入力操作を受け付けることで、他の情報処理装置へ画像ファイルを送信するための処理、画像投稿用のＳＮＳサイトにアクセスして画像を投稿するための処理などを行う。
【００５８】
選択ファイル表示部５７は、ユーザによって選択されたコンテンツデータを示す領域である。また、選択ファイル表示部５７は、コンテンツデータを選択する操作をユーザから受け付けるための領域である。例えば、情報処理装置１００は、選択ファイル表示部５７に対する入力操作を受け付けることで、コンテンツデータの選択をユーザから受け付けるための画面を表示する。
【００５９】
指示送信部５８は、被写体となっているユーザの情報処理装置１００Ｍと通信し、マーカの色の変更などの指示を情報処理装置１００Ｍに行うための入力操作を受け付ける領域である。
【００６０】
＜ユーザインタフェースの例（マーカ側の装置）＞
図６を参照して、被写体となるユーザが把持する情報処理装置１００Ｍがディスプレイ１６Ｍに表示する画面の一例を説明する。図６は、情報処理装置１００Ｍにおいて、ＡＲマーカを表示し、情報処理装置１００Ｓの撮影画像に合成するコンテンツデータを指定するためのユーザインタフェースの一例を示す図である。
【００６１】
図６に示すように、情報処理装置１００Ｍの制御部２７は、ディスプレイ１６Ｍにおいて、マーカ表示領域６１と、コンテンツ指定部６２と、データ送信部６３と、データ購入部６４とを表示する。
【００６２】
マーカ表示領域６１は、撮影側の情報処理装置１００Ｍが、撮影画像に対する画像認識処理によって検出するＡＲマーカ６５を表示するための領域である。
【００６３】
コンテンツ指定部６２は、撮影側の情報処理装置１００Ｓにおいて撮影画像に合成するコンテンツデータを情報処理装置１００Ｍにおいて指定するための入力操作を受け付ける領域である。制御部２７は、コンテンツ指定部６２において、情報処理装置１００Ｍのユーザが指定したコンテンツデータを示す画像を表示する。また、制御部２７は、例えばコンテンツ指定部６２に対する入力操作を受け付けて、コンテンツデータを選択するための画面をディスプレイ１６Ｍに表示する。
【００６４】
データ送信部６３は、情報処理装置１００Ｍのユーザが指定したコンテンツデータを特定する情報を、撮影側の情報処理装置１００Ｓに送信するための入力操作をユーザから受け付ける領域である。情報処理装置１００Ｍの制御部２７は、データ送信部６３に対する入力操作を受け付けて、情報処理装置１００Ｓに対し、コンテンツデータそのもの、または、コンテンツデータの識別子などコンテンツデータを特定する情報を送信する。
【００６５】
データ購入部６４は、コンテンツデータの購入をするための入力操作をユーザから受け付ける領域である。制御部２７は、データ購入部６４に対する入力操作を受け付けて、購入可能なコンテンツデータのリストを表示し、コンテンツデータを配信する外部のサーバとの通信接続を行う。
【００６６】
＜制御構造＞
図７を参照して、情報処理装置１００の制御構造を説明する。図７は、実施の形態１の情報処理装置１００による、コンテンツデータと撮影画像とを合成して表示するための処理の概要を示す図である。なお、図７では、情報処理装置１００Ｍを保持しているユーザを図示していない。
【００６７】
図７（Ａ）に示すように、情報処理装置１００Ｓは、カメラを起動して情報処理装置１００Ｍを撮影している。情報処理装置１００Ｍは、ディスプレイ１６ＭにＡＲマーカ６５を表示している。ただし、撮影環境（周囲の色、光量など）の影響を受けて、情報処理装置１００Ｓは、撮影画像から、ＡＲマーカ６５の検出に失敗している。情報処理装置１００Ｓは、情報処理装置１００Ｍと通信し、撮影画像からＡＲマーカ６５を検出しやすくするため、情報処理装置１００Ｍのマーカ表示領域６１に表示されるＡＲマーカ６５の発光色など、ＡＲマーカ６５の表示の設定を指定する。
【００６８】
図７（Ｂ）に示すように、情報処理装置１００Ｍは、情報処理装置１００Ｓの指示に応じて、ディスプレイ１６Ｍに表示するＡＲマーカ６５の設定（発光色などの設定）を変更する。例えば、情報処理装置１００Ｓは、撮影画像に含まれる各色の分布を参照し、各色のうち最も少ない色を検出し、この色でＡＲマーカ６５を表示するよう情報処理装置１００Ｍに指示を送る。情報処理装置１００Ｓは、情報処理装置１００Ｍに指示した色を用いたフィルタを適用し、撮影画像からＡＲマーカ６５を検出する。情報処理装置１００Ｓは、撮影画像においてＡＲマーカ６５を検出した位置に基づいて、コンテンツデータを表示する位置を決定する。
【００６９】
図７（Ｃ）に示すように、被写体側の情報処理装置１００Ｍは、撮影側の情報処理装置１００Ｓにおいて撮影画像に合成するコンテンツデータを指定することもできる。情報処理装置１００Ｍは、情報処理装置１００Ｓと通信接続し、コンテンツデータそのもの、コンテンツデータの識別子、またはコンテンツデータを取得する方法を示す情報などコンテンツデータを特定する情報を情報処理装置１００Ｓへ送信する。例えば、情報処理装置１００Ｍは、情報処理装置１００Ｓと通信し、情報処理装置１００Ｓのコンテンツ管理テーブル３３に示されるコンテンツデータの一覧を取得することとしてもよい。情報処理装置１００Ｍは、情報処理装置１００Ｓが管理しているコンテンツデータの一覧の中から、コンテンツデータを識別する情報を選択し、選択した識別情報を情報処理装置１００Ｓへ送信することとしてもよい。
【００７０】
図７（Ｄ）に示すように、情報処理装置１００Ｓは、撮影画像からＡＲマーカ６５を検出した位置に基づいてコンテンツデータを合成する位置を決定し、決定した位置に、情報処理装置１００Ｍから指定されたコンテンツデータを表示する。
【００７１】
なお、実施の形態１では、コンテンツデータは、例えば３次元の形状を有するアニメーションのデータである。以下、情報処理装置１００がユーザからの入力操作をタッチパネル１５によって受け付けて、コンテンツデータを撮影画像に合成する処理を説明する。
【００７２】
＜被写体側の情報処理装置１００Ｍの制御構造＞
図８は、被写体となる情報処理装置１００Ｍがマーカをディスプレイ１６に表示する処理を示すフローチャートである。
【００７３】
ステップＳ８０１において、情報処理装置１００Ｍの制御部２７は、撮影側となる情報処理装置１００Ｓと、例えば無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）などの近距離無線通信の規格に従って通信接続を確立する。
【００７４】
ステップＳ８０３において、制御部２７は、撮影側の情報処理装置１００Ｓに対し、コンテンツデータを指定するか否かを判断する。例えば、制御部２７は、コンテンツデータを指定するか否かの入力操作をユーザから受け付ける。情報処理装置１００Ｍが情報処理装置１００Ｓに対しコンテンツデータを指定する場合（ステップＳ８０３においてＹＥＳ）、制御部２７は、ステップＳ８０５の処理を行い、そうでない場合（ステップＳ８０３においてＮＯ）、制御部２７は、ステップＳ８０７の処理を行う。
【００７５】
ステップＳ８０５において、制御部２７は、情報処理装置１００Ｍが情報処理装置１００Ｓへ送信するコンテンツデータのデータサイズと閾値とを比較し、データサイズが閾値を上回る場合は、コンテンツデータを特定する情報として、コンテンツデータを取得する方法を示す情報（例えば、ＵＲＬ（Uniform  Resource  Locator））を情報処理装置１００Ｓへ送信する。また、情報処理装置１００Ｍの制御部２７は、コンテンツデータのデータサイズが閾値を越えない場合は、コンテンツデータそのもの（コンテンツデータ本体）を情報処理装置１００Ｓへ送信する。
【００７６】
ステップＳ８０７において、制御部２７は、ＡＲマーカ６５を表示するための設定（表示するマーカの形状、表示する色、表示する大きさなど）に基づいて、ＡＲマーカ６５をマーカ表示領域６１に表示する。制御部２７は、ＡＲマーカ６５を表示するための設定を情報処理装置１００Ｓから指定されている場合は、情報処理装置１００Ｓの指定に従ってＡＲマーカ６５をマーカ表示領域６１に表示する。
【００７７】
ステップＳ８０９において、制御部２７は、タイマーを設定して、イベントの発生を待機する状態へと移る。ステップＳ８０９において制御部２７が設定するタイマーは、情報処理装置１００Ｍが測位センサ１７や加速度センサ２６によって情報処理装置１００Ｍの使用状態を示す情報を取得し、取得した情報を、情報処理装置１００Ｓへ送信するタイミングを示す。
【００７８】
図９は、被写体となる情報処理装置１００Ｍが、撮影側の情報処理装置１００Ｓからの通信を受信して、マーカの表示を変更する処理を示すフローチャートである。
【００７９】
ステップＳ９０１において、情報処理装置１００Ｍの制御部２７は、情報処理装置１００Ｓから、ＡＲマーカ６５をディスプレイ１６に表示する設定を示すデータを受信する。
【００８０】
ステップＳ９０３において、制御部２７は、ステップＳ９０１で受信したデータに基づいて、ＡＲマーカ６５の表示方法（マーカの色、模様、形状、表示サイズなど）の設定を更新し、表示方法の設定に従ってディスプレイ１６にＡＲマーカ６５を表示する。
【００８１】
図１０は、被写体となる情報処理装置１００Ｍが、情報処理装置１００Ｍによる計測データを情報処理装置１００Ｓへ送信するための送信タイマーイベント発生時の処理を示すフローチャートである。図１０に示すように、情報処理装置１００Ｍは、加速度センサ２６、測位センサ１７、ジャイロセンサなどを備えており、これらセンサによる測定データを保持している。情報処理装置１００Ｍは、タイマーに示される周期に従って、情報処理装置１００Ｓへ測定データを送信する。
【００８２】
ステップＳ１００１において、情報処理装置１００Ｍの制御部２７は、情報処理装置１００Ｍの各種センサの測定データをメモリから読み出す。
【００８３】
ステップＳ１００３において、制御部２７は、メモリから読み出した測定データを、撮影側の情報処理装置１００Ｓへ送信する。
【００８４】
ステップＳ１００５において、制御部２７は、情報処理装置１００Ｍの各種センサの測定データを送信するための送信タイマーを設定する。
【００８５】
制御部２７は、ステップＳ１００５で設定した送信タイマーによるイベントが発生する都度、図１０に示す処理を行う。
【００８６】
図１１は、撮影側となる情報処理装置１００Ｓが、被写体となる情報処理装置１００Ｍとの通信接続を確立し、情報処理装置１００Ｍのディスプレイ１６に表示されるＡＲマーカ６５を認識するための処理を示すフローチャートである。
【００８７】
ステップＳ１１０１において、情報処理装置１００Ｓの制御部２７は、近距離無線通信の規格に従って、被写体となる情報処理装置１００Ｍとの通信接続を確立する。
【００８８】
ステップＳ１１０３において、制御部２７は、撮影画像からＡＲマーカ６５が検出されたときに、撮影画像に合成するコンテンツデータ（ＡＲモデルデータ）を設定するための処理を行う。ステップＳ１１０３に示す処理の詳細は、後述する。
【００８９】
ステップＳ１１０５において、制御部２７は、フロントカメラ１８の撮影機能を発揮させるための初期化の処理を行い、例えば撮影画像を取得するためのキャプチャ周期の設定などを行って、フロントカメラ１８による撮影を開始する。
【００９０】
図１２は、撮影側となる情報処理装置１００Ｓが、被写体となる情報処理装置１００Ｍとの通信によってデータを受信し、ＡＲデータをディスプレイ１６に表示する設定を更新するための処理を示すフローチャートである。
【００９１】
ステップＳ１２０１において、情報処理装置１００Ｓの制御部２７は、撮影側の情報処理装置１００Ｍから、情報処理装置１００Ｍの各種センサの測定データ、情報処理装置１００Ｍによって指定されるコンテンツデータなど、各種のデータを受信する。
【００９２】
ステップＳ１２０３において、制御部２７は、撮影画像からＡＲマーカ６５が検出されたときに、撮影画像に合成するコンテンツデータ（ＡＲモデルデータ）を設定するための処理を行う。ステップＳ１２０３に示す処理の詳細は、後述する。
【００９３】
ステップＳ１２０５において、制御部２７は、ステップＳ１２０１で受信したデータに基づき、３次元のＡＲデータであるコンテンツデータをディスプレイ１６に表示するための向き等のパラメータを更新する。
【００９４】
図１３は、撮影側となる情報処理装置１００Ｓが、ディスプレイ１６において撮影画像に合成するコンテンツデータを設定するための処理を示すフローチャートである。図１３に示す処理は、ステップＳ１１０３、ステップＳ１２０３の各処理に対応する。
【００９５】
ステップＳ１３０１において、情報処理装置１００Ｓの制御部２７は、情報処理装置１００Ｍから、コンテンツデータの指定を受けた場合は、メモリを参照し、撮影画像に合成するコンテンツデータの設定と、情報処理装置１００Ｍによるコンテンツデータの指定とを比較する。比較の結果、メモリに保持するコンテンツデータの設定と、情報処理装置１００Ｍから指定されたコンテンツデータとが一致する場合は、制御部２７は、コンテンツデータの設定を変更する必要がないと判断する（ステップＳ１３０１において、「変更なし」）。また、メモリに保持するコンテンツデータの設定と、情報処理装置１００Ｍによるコンテンツデータの指定とが一致しない場合は、制御部２７は、コンテンツデータの設定を変更する必要があると判断し（ステップＳ１３０１において、「変更あり」）、ステップＳ１３０３の処理を行う。
【００９６】
ステップＳ１３０３において、制御部２７は、コンテンツデータそのものを情報処理装置１００Ｍから受信しているか、またはコンテンツデータを取得可能なＵＲＬの情報を受信しているかを判断する。コンテンツデータそのものを情報処理装置１００Ｍから受信している場合（ステップＳ１３０３においてＹＥＳ）、制御部２７は、ステップＳ１３０７の処理を行う。制御部２７は、コンテンツデータを取得可能なＵＲＬの情報を受信している場合は（ステップＳ１３０３においてＮＯ）、ステップＳ１３０５の処理を行う。
【００９７】
ステップＳ１３０５において、制御部２７は、情報処理装置１００Ｍから受信したＵＲＬに基づき、コンテンツデータを受信し、受信したコンテンツデータを、撮影画像に合成するコンテンツデータとして設定する。
【００９８】
ステップＳ１３０７において、制御部２７は、情報処理装置１００Ｍから受信したコンテンツデータを、撮影画像に合成するコンテンツデータとして設定する。
【００９９】
図１４は、撮影側となる情報処理装置１００Ｓが、撮影画像に対して画像認識処理を行い、マーカの検出結果に応じてコンテンツデータを合成する処理を示すフローチャートである。情報処理装置１００Ｓは、キャプチャ周期に従って撮影画像を取得し、取得した撮影画像のプレビューをディスプレイ１６に表示する都度、図１４に示す処理を行う。
【０１００】
ステップＳ１４０１において、情報処理装置１００Ｓの制御部２７は、撮影画像からＡＲマーカ（情報処理装置１００Ｍのディスプレイ１６に表示されたＡＲマーカ６５）をトレースする処理が終了しているか（ＡＲマーカの検出に成功または失敗）、またはＡＲマーカをトレースする処理を実行中であるかを判断する。ＡＲマーカをトレースする処理が終了している場合（ステップＳ１４０１においてＹＥＳ）、制御部２７は、ステップＳ１４０７の処理を行う。ＡＲマーカをトレースする処理を実行中である場合（ステップＳ１４０１においてＮＯ）、制御部２７は、ステップＳ１４０３の処理を行う。
【０１０１】
ステップＳ１４０３において、制御部２７は、撮影画像に対する画像認識処理によって、ＡＲマーカのトレースに成功したか否かを判断する。制御部２７は、ＡＲマーカのトレースに成功している場合（ステップＳ１４０３においてＹＥＳ）、ステップＳ１４０５の処理を行い、そうでない場合（ステップＳ１４０３においてＮＯ）、ステップＳ１４２５の処理を行う。
【０１０２】
ステップＳ１４０５において、制御部２７は、撮影画像に対する画像認識処理によって検出されたＡＲマーカの座標値に基づいてコンテンツデータを表示する位置を決定し、情報処理装置１００Ｍから受信した情報処理装置１００Ｍの各種センサの測定データに基づいて、３次元のコンテンツデータの向きなどを決定する。制御部２７は、これらコンテンツデータを表示する位置および向きに従って、撮影画像にコンテンツデータを合成してディスプレイ１６に表示する。
【０１０３】
ステップＳ１４０７において、情報処理装置１００Ｓの制御部２７は、情報処理装置１００Ｍに対し、ＡＲマーカ６５を表示するための設定の変更を指示しているモード（変色待ちモード）であるか否かを判断する。制御部２７は、変色待ちモードであると判断した場合（ステップＳ１４０７においてＹＥＳ）、ステップＳ１４０９の処理を行う。制御部２７は、変色待ちモードではないと判断した場合（ステップＳ１４０７においてＮＯ）、ステップＳ１４１７の処理を行う。
【０１０４】
そこで、情報処理装置１００Ｓが変色待ちモードである場合を説明する。
ステップＳ１４０９において、制御部２７は、情報処理装置１００Ｍに対し、ＡＲマーカ６５を表示するために指定した色を用いて、撮影画像にフィルター処理を適用する。
【０１０５】
ステップＳ１４１１において、制御部２７は、撮影画像にフィルター処理を適用した画像に基づき、ＡＲマーカ６５を検出し、撮影画像におけるＡＲマーカ６５の座標値を取得する。
【０１０６】
ステップＳ１４１３において、制御部２７は、ステップＳ１４１１の処理によって取得された座標値を参照し、ＡＲマーカ６５の座標値が一意に確定したか否かを判断する。ＡＲマーカ６５の座標値が一意に確定した場合（ステップＳ１４１３においてＹＥＳ）、その座標値を、撮影画像におけるＡＲマーカ６５の座標とし、変色待ちモードからＡＲマーカをトレースするモードへ移行し、ステップＳ１４１５の処理を行う。制御部２７は、マーカの表示色を変更した回数を示す変数「ｎ」の値をリセットする。ＡＲマーカ６５の座標値が一意に確定しない（座標値が検出されない、または複数の座標値が検出される）場合（ステップＳ１４１３においてＮＯ）、制御部２７は、ステップＳ１４１９以降の処理を行って、情報処理装置１００Ｍに表示させるマーカの表示色を変更させる。
【０１０７】
ステップＳ１４１５において、制御部２７は、撮影画像から検出されたＡＲマーカ６５の座標値に基づいて、ＡＲマーカをトレースする処理を開始する。
【０１０８】
次に、ステップＳ１４０７において、情報処理装置１００Ｓが変色待ちモードではない場合を説明する。
【０１０９】
ステップＳ１４１７において、制御部２７は、メモリを参照し、情報処理装置１００Ｍに対してＡＲマーカ６５を表示する設定を変更させるための処理が１回目であるか否かを判断する。制御部２７は、マーカの表示色を変更した回数を示す変数「ｎ」を管理し、例えば、当該変数「ｎ」の値が１であるか否かを判断する。ＡＲマーカ６５を表示する設定を変更させるための処理が１回目である場合（ステップＳ１４１７においてＹＥＳ）、制御部２７は、ステップＳ１４２５の処理を行い、そうでない場合（ステップＳ１４１７においてＮＯ）、制御部２７は、ステップＳ１４１９の処理を行う。
【０１１０】
ステップＳ１４２５において、制御部２７は、撮影画像に含まれる色の分布を参照し、撮影画像を構成する各色から、分布が最も少ない色を選択する。例えば、制御部２７は、撮影画像に含まれる色を、赤、青、緑などいくつかのグループに分類し、最も色の少ないグループを選択する。
【０１１１】
ステップＳ１４２７において、制御部２７は、ステップＳ１４２５で選択した色に基づき、情報処理装置１００Ｍに対し、ＡＲマーカ６５の発光色を変更するよう指示を送る。情報処理装置１００Ｓは、変色待ちモードへ移行する。
【０１１２】
ステップＳ１４２９において、制御部２７は、マーカの表示色を変更した回数を示す変数「ｎ」を更新する。ここでは、情報処理装置１００Ｍに表示されるＡＲマーカ６５の表示色を変更する１回目の処理であるため、例えば変数「ｎ」の値を「１」とする。
【０１１３】
また、ステップＳ１４１９（ＡＲマーカ６５の表示方法を変更する処理が初回ではない場合）において、制御部２７は、変数「ｎ」の値を参照し、撮影画像に含まれる色の分布のうち、値「ｎ」番目に少ない色を選択する。
【０１１４】
ステップＳ１４２１において、制御部２７は、ステップＳ１４１９で選択した色でＡＲマーカ６５を発光させるよう、情報処理装置１００Ｍに指示を送信し、情報処理装置１００Ｓを「変色待ちモード」へ移行させる。
【０１１５】
ステップＳ１４２３において、制御部２７は、変数「ｎ」の値をカウントアップすることで更新する。
【０１１６】
以上に示す処理を行うことで、撮影側の情報処理装置１００Ｓと、被写体となる情報処理装置１００Ｍとは、互いに通信しつつ、撮影画像にコンテンツデータを合成する。（１）情報処理装置１００Ｓは、撮影画像からＡＲマーカ６５を検出しやすくするため、情報処理装置１００Ｍに対し、ＡＲマーカ６５を表示するための設定を指示する。（２）情報処理装置１００Ｍは、情報処理装置１００Ｓに表示されるコンテンツデータを、情報処理装置１００Ｍのユーザの所望のものとするため、情報処理装置１００Ｍから情報処理装置１００Ｓに対し、コンテンツデータを指定するための情報（コンテンツデータそのもの、コンテンツデータを取得することができるＵＲＬなど）を送信する。
【０１１７】
＜撮影画像にコンテンツデータを合成するか否かの設定の切替＞
図１５を参照して、情報処理装置１００Ｓの撮影画像にコンテンツデータを合成するか否かの設定を、被写体となる情報処理装置１００Ｍから切り替える例を説明する。図１５は、情報処理装置１００Ｓが、コンテンツデータの合成のＯＮまたはＯＦＦを、情報処理装置１００Ｍの指示によって受け付ける例を示す図である。
【０１１８】
＜１．情報処理装置１００Ｍからの指定の受信によるＯＮ−ＯＦＦ制御＞
例えば、情報処理装置１００Ｓは、情報処理装置１００Ｍからのコンテンツデータの指定を受け付けることで、コンテンツデータの合成のＯＮとＯＦＦとを切り替えることとしてもよい。図１５において、被写体となる情報処理装置１００Ｍのユーザは、ディスプレイ１６Ｍに表示されるデータ送信部６３に対する入力操作を行う。これにより、情報処理装置１００Ｍから情報処理装置１００Ｓへとコンテンツデータを指定するための情報が送信される。情報処理装置１００Ｓは、情報処理装置１００Ｍからコンテンツデータを指定するための情報を受信すると、コンテンツデータの合成をＯＮにし、画像表示領域５２のアニメーション合成部５３にコンテンツデータを重ねる。
【０１１９】
＜２．情報処理装置１００Ｍにおける音声認識処理に基づくＯＮ−ＯＦＦ制御＞
また、情報処理装置１００Ｍは、マイク２２を介して情報処理装置１００Ｍのユーザから音声入力を受け付けて、受け付けた音声に基づいて、情報処理装置１００Ｓにおけるコンテンツデータの合成のＯＮとＯＦＦとを切り替えることとしてもよい。例えば、情報処理装置１００Ｍは、マイク２２から出力される音声信号に対して音声認識処理を行って、音声信号に示されるテキストデータを取得する。情報処理装置１００Ｍは、テキストデータに示される命令に応じて、データ送信部６３に対する入力操作が行われたものとしてコンテンツデータを情報処理装置１００Ｓへ送信することとしてもよい。
【０１２０】
また、情報処理装置１００Ｍは、音声認識処理によって取得されるテキストデータに示される命令に応じて、情報処理装置１００Ｓに対し、コンテンツデータの合成のＯＮとＯＦＦとを指示することとしてもよい。これにより、情報処理装置１００Ｍのユーザは、自らが所望するタイミングで、情報処理装置１００Ｓにおけるコンテンツデータの合成のＯＮとＯＦＦのタイミングを制御することができる。
【０１２１】
＜３．情報処理装置１００Ｍにおける振動の検出に基づくＯＮ−ＯＦＦ制御＞
また、情報処理装置１００Ｍは、情報処理装置１００Ｍのユーザが情報処理装置１００Ｍを把持したまま振る動作（シェイク）を加速度センサ２６等の測定結果に基づき検出し、検出結果に応じて、情報処理装置１００Ｓに、コンテンツデータの合成のＯＮとＯＦＦとを切り替える指示を送信することとしてもよい。
【０１２２】
これにより、情報処理装置１００Ｍのユーザが、例えばある作品のキャラクターになりきっている場合に、情報処理装置１００Ｓにおいて、そのキャラクターの特徴を示すコンテンツデータが合成されるタイミングを、ユーザ自身が容易に制御することができる。そのため、情報処理装置１００Ｓと情報処理装置１００Ｍとは、ユーザに対し、キャラクターになりきった感覚を提供することができる。図１５の例では、情報処理装置１００Ｍのユーザが、エネルギー波を示すコンテンツデータを情報処理装置１００Ｓの画像表示領域５２に表示するタイミングを制御している。
【０１２３】
また、情報処理装置１００Ｓは、コンテンツデータの合成のＯＮとＯＦＦとを切り替える過程を含めて、コンテンツデータと撮影画像とが合成される前の画像と、合成された後の画像とを、例えば動画等によって保存することもできる。情報処理装置１００Ｓは、保存された動画等を、他のユーザと共有することができることとしてもよい。例えば、情報処理装置１００Ｓは、撮影画像に対してコンテンツデータを合成して生成された静止画または動画を、例えば画像投稿用のＷｅｂサイトやグループチャットに投稿することができることとしてもよい。これにより、ユーザ同士での作品の楽しみ方のバリエーションを拡げることができる。
【０１２４】
＜コンテンツデータの購入を受け付けるためのユーザインタフェースの例＞
図１６を参照して、情報処理装置１００がユーザからコンテンツデータの購入を受け付けるためのユーザインタフェースの例を説明する。図１６は、情報処理装置１００において、撮影画像に合成する対象となるコンテンツデータを購入する入力操作を受け付けるためのインタフェースの例を示す図である。
【０１２５】
図１６に示すように、制御部２７は、ディスプレイ１６において、購入ボタン７２と、コンテンツデータリスト７１とを表示する。コンテンツデータリスト７１は、ユーザが購入可能なコンテンツデータの一覧を表示する。
【０１２６】
制御部２７は、タッチパネル１５を介して、ユーザがコンテンツデータを選択するための入力操作を受け付ける。購入ボタン７２は、ユーザが選択したコンテンツデータを購入するための入力操作を受け付けるボタンである。
【０１２７】
＜実施の形態２＞
次に、実施の形態２にかかる情報処理装置１００について説明する。実施の形態２では、複数の情報処理装置１００が通信接続を確立する（例えば、１の情報処理装置１００に対し、他の装置が通信接続を確立する）。これら複数の情報処理装置１００において、被写体となる情報処理装置１００それぞれは、マーカをディスプレイ１６に表示する。
【０１２８】
撮影側となる情報処理装置１００は、撮影画像に含まれる複数のマーカをそれぞれ認識し、認識される各マーカとコンテンツデータとを対応付けてディスプレイ１６に表示する。例えば、情報処理装置１００は、撮影画像に対し画像認識処理を行うときに、検出対象とする複数のマーカを登録する。情報処理装置１００は、これらマーカそれぞれと、コンテンツデータとを対応付けてメモリに保持する。これにより、被写体となる各情報処理装置は、マーカをディスプレイ１６に表示し、撮影側の情報処理装置１００は、撮影画像において、被写体の情報処理装置１００に表示される各マーカの位置に、それぞれコンテンツデータを合成することができる。例えば、２人の被写体が、それぞれの情報処理装置１００にマーカを表示し、各被写体と、コンテンツデータとを対応づける。これにより、情報処理装置１００は、複数の被写体が、例えばそれぞれ異なる発光色のサーベル状の武具を把持している場面をディスプレイ１６に表示することができる。
【０１２９】
＜変形例  コンテンツデータの配信方法＞
上記の実施形態の説明では、情報処理装置１００は、ＡＲコンテンツデータ３１を、例えば配信サーバ９００から取得することができるとして説明したが、この他にも、例えば、ある特定の地域に限定してＡＲコンテンツデータ３１を取得することができることとしてもよい。例えば、コンテンツデータを配信する配信サーバ９００は、情報処理装置１００の位置として、（ａ）測位センサ１７のＧＰＳによる測位の結果、（ｂ）情報処理装置１００が無線通信をしている無線基地局７００の識別情報、（ｃ）情報処理装置１００が無線通信をしている無線ＬＡＮルータの識別情報等の情報を取得する。配信サーバ９００は、情報処理装置１００から、配布地域が限定されているＡＲコンテンツデータ３１を取得するための要求を受け付けたとき、情報処理装置１００の位置の情報に基づいて、ＡＲコンテンツデータ３１の配信の可否を制御する（または、情報処理装置１００において、ＡＲコンテンツデータ３１の配信を受けることが可能な地域であるか否かを判定してもよい）。
【０１３０】
このように、情報処理装置１００がＡＲコンテンツデータ３１を取得可能な地域を限定することで、例えば、ＡＲコンテンツデータ３１と関係のある地域で開催されるイベントや観光地へとユーザが訪問することを促すことができる。例えば、配信サーバ９００は、地域の産品や、観光地に関連する物品や、地域に関連するアニメーション作品の作中に登場するアイテムなどを示すコンテンツデータを、地域限定で情報処理装置１００へ配信することとしてもよい。
【０１３１】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３２】
１１，１３  アンテナ、１２  遠距離通信用モジュール、１４  近距離通信用モジュール、１５  タッチパネル、１６  ディスプレイ、１７  測位センサ、１８  フロントカメラ、１９  リアカメラ、２０  電源制御部、２１  バッテリ、２２  マイク、２３  スピーカ、２４  音声処理部、２５  記憶部、２６  加速度センサ、２７  制御部、３１  ＡＲコンテンツデータ、３２  画像データ、３３  コンテンツ管理テーブル、４１  検出処理部、４２  映像処理部、４３  通信処理部、４４  音声認識部、１００  情報処理装置、６００  ルータ、７００  無線基地局、８００  ネットワーク、９００  配信サーバ。
【図１】
2015122707.tif 000003
【図２】
2015122707.tif 000004
【図３】
2015122707.tif 000005
【図４】
2015122707.tif 000006
【図５】
2015122707.tif 000007
【図６】
2015122707.tif 000008
【図７】
2015122707.tif 000009
【図８】
2015122707.tif 000010
【図９】
2015122707.tif 000011
【図１０】
2015122707.tif 000012
【図１１】
2015122707.tif 000013
【図１２】
2015122707.tif 000014
【図１３】
2015122707.tif 000015
【図１４】
2015122707.tif 000016
【図１５】
2015122707.tif 000017
【図１６】
2015122707.tif 000018