(57)【要約】【課題】表示画面などの表示面における表示を、携帯端末を利用して柔軟に制御できるようにする【解決手段】携帯端末２０００は、マーカ２０に関する情報であるマーカ情報を取得する。マーカ情報は、１）撮像画像１２からマーカ２０を検出するための情報（以下、特徴情報）、及び２）マーカ２０と表示面３０との配置関係を示す情報（以下、配置情報）を含む。携帯端末２０００は、特徴情報を用いて撮像画像１２からマーカ２０を検出する。携帯端末２０００は、検出したマーカ２０及び配置情報を用いて、ポインティング位置５０を算出する。携帯端末２０００は、特定したポインティング位置５０をサーバ装置３０００へ送信する。サーバ装置３０００は、受信したポインティング位置５０に基づいて、表示位置６０を決定し、表示位置６０に画像７０を表示させる。【選択図】図１
2018163458.tif 000002
【特許請求の範囲】
【請求項１】
カメラが設けられている携帯端末であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、当該携帯端末によって指し示される前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有する携帯端末。
【請求項２】
カメラが設けられている携帯端末であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした当該携帯端末の位置を算出する算出手段と、
前記算出した当該携帯端末の位置を他の装置へ送信する送信手段と、を有する携帯端末。
【請求項３】
前記算出手段は、前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした当該携帯端末の姿勢をさらに算出し、
前記送信手段は、前記算出した当該携帯端末の姿勢をさらに前記他の装置へ送信する、請求項２に記載の携帯端末。
【請求項４】
前記マーカは、前記他の装置によって前記表示面に表示される画像であり、
前記取得手段は、前記他の装置から前記マーカ情報を取得する、請求項１乃至３いずれか一項に記載の携帯端末。
【請求項５】
前記マーカは、前記表示面と所定の配置関係にある場所に予め設けられおり、
前記マーカ情報は、前記所定の配置関係を示す、請求項１乃至３いずれか一項に記載の携帯端末。
【請求項６】
前記表示面はディスプレイ装置の表示画面であり、
前記マーカは前記表示画面の縁に設けられている、請求項５に記載の携帯端末。
【請求項７】
前記マーカは、前記表示画面と所定の配置関係にある場所に予め設けられた実物体の３次元形状である、請求項５又は６に記載の携帯端末。
【請求項８】
前記カメラはデプスカメラであり、
前記検出手段は、前記デプスカメラを用いて前記マーカの３次元形状を検出することで、前記マーカを検出する、請求項７に記載の携帯端末。
【請求項９】
カメラが設けられている携帯端末であって、
表示面の外観を表す表示面情報を取得する取得手段と、
前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出手段と、
前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、当該携帯端末が指し示す前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有する携帯端末。
【請求項１０】
前記送信手段は、当該携帯端末の識別子に対応づけて前記表示面上の位置を送信する、請求項１乃至９いずれか一項に記載の携帯端末。
【請求項１１】
前記表示面は、ディスプレイ装置の表示画面である、請求項１乃至５及び７乃至１０いずれか一項に記載の携帯端末。
【請求項１２】
前記表示面は、画像が投影される投影面である、請求項１乃至５及び７乃至１０いずれか一項に記載の携帯端末。
【請求項１３】
携帯端末から表示面上の位置を受信する受信手段と、
前記表示面において、前記受信した位置に画像を表示させる表示制御手段と、を有するサーバ装置。
【請求項１４】
前記受信手段は、複数の前記表示面の内の１つの識別子をさらに受信し、
前記表示制御手段は、前記受信した識別子によって特定される前記表示面において、前記受信した位置に前記画像を表示させる、請求項１３に記載のサーバ装置。
【請求項１５】
前記受信手段は、複数の携帯端末それぞれから、その携帯端末の識別子と対応づけて、前記表示面上の位置を受信し、
前記表示制御手段は、複数の前記携帯端末から受信した前記表示面上の位置それぞれに、各前記携帯端末の識別子に対応する画像を表示させる、請求項１３又は１４に記載のサーバ装置。
【請求項１６】
前記受信手段は、前記携帯端末から受信した前記表示面上の位置に表示させる画像を、その携帯端末から受信する、請求項１５に記載のサーバ装置。
【請求項１７】
携帯端末から、マーカを基準とする前記携帯端末の位置を受信手段と、
前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出手段と、
前記表示面において、前記算出した位置に画像を表示させる表示制御手段と、を有するサーバ装置。
【請求項１８】
前記受信手段は、前記携帯端末から、前記マーカを基準とする前記携帯端末の姿勢をさらに受信し、
前記算出手段は、前記マーカを基準とする前記携帯端末の位置及び姿勢に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する、請求項１７に記載のサーバ装置。
【請求項１９】
カメラが設けられている携帯端末と、サーバ装置とを有する情報処理システムであって、
前記携帯端末は、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、前記携帯端末によって指し示される前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を前記サーバ装置へ送信する送信手段と、を有し、
前記サーバ装置は、
前記携帯端末から前記表示面上の位置を受信する受信手段と、
前記受信した表示面上の位置に画像を表示させる表示制御手段と、を有する情報処理システム。
【請求項２０】
カメラが設けられている携帯端末と、サーバ装置とを有する情報処理システムであって、
前記携帯端末は、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした前記携帯端末の位置を算出する算出手段と、
前記算出した携帯端末の位置を他の装置へ送信する送信手段と、を有し、
前記サーバ装置は、
前記携帯端末から、前記マーカを基準とした前記携帯端末の位置を受信する受信手段と、
前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出手段と、
前記表示面において、前記算出した位置に画像を表示させる表示制御手段と、を有する情報処理システム。
【請求項２１】
カメラが設けられている携帯端末と、サーバ装置とを有する情報処理システムであって、
前記携帯端末は、
表示面の外観を表す表示面情報を取得する取得手段と、
前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出手段と、
前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、前記携帯端末が指し示す前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有し、
前記サーバ装置は、
前記携帯端末から前記表示面上の位置を受信する受信手段と、
前記受信した表示面上の位置に画像を表示させる表示制御手段と、を有する情報処理システム。
【請求項２２】
カメラが設けられている携帯端末によって実行される制御方法であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得ステップと、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出ステップと、
前記検出されたマーカ及び前記マーカ情報を用いて、前記携帯端末によって指し示される前記表示面上の位置を算出する算出ステップと、
前記算出した表示面上の位置を他の装置へ送信する送信ステップと、を有する制御方法。
【請求項２３】
カメラが設けられている携帯端末によって実行される制御方法であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得ステップと、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出ステップと、
前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした前記携帯端末の位置を算出する算出ステップと、
前記算出した当該携帯端末の位置を他の装置へ送信する送信ステップと、を有する制御方法。
【請求項２４】
カメラが設けられている携帯端末によって実行される制御方法であって、
表示面の外観を表す表示面情報を取得する取得ステップと、
前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出ステップと、
前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、前記携帯端末が指し示す前記表示面上の位置を算出する算出ステップと、
前記算出した表示面上の位置を他の装置へ送信する送信ステップと、を有する制御方法。
【請求項２５】
サーバ装置によって実行される制御方法であって、
携帯端末から表示面上の位置を受信する受信ステップと、
前記受信した表示面上の位置に画像を表示させる表示制御ステップと、を有する制御方法。
【請求項２６】
サーバ装置によって実行される制御方法であって、
携帯端末から、マーカを基準とする前記携帯端末の位置を受信ステップと、
前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出ステップと、
前記表示面において、前記算出した位置に画像を表示させる表示制御ステップと、を有する制御方法。
【請求項２７】
請求項２２乃至２４いずれか一項に記載の制御方法の各ステップを携帯端末に実行させるプログラム。
【請求項２８】
請求項２５又は２６に記載の制御方法の各ステップをサーバ装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタフェースに関する。
【背景技術】
【０００２】
パブリックディスプレイなど、ユーザが保持する入力デバイスと直接接続されていない表示画面をユーザが制御できるようにする技術が開発されている。例えば特許文献１には、パブリックディスプレイに表示される操作用の色や形状などを利用することで、ユーザが携帯端末を用いてパブリックディスプレイを制御できるシステムが開示されている。例えば２つの選択肢をユーザに選択させる場合、特許文献１のシステムは、パブリックディスプレイに、各選択肢に対応する色（例えば赤色と青色）を表示させる。赤色に対応する選択肢を選択したい場合、ユーザは、携帯端末の画面に赤色を表示させて、パブリックディスプレイに接続されているカメラにその画面を撮像させる。特許文献１のシステムは、カメラによって撮像された携帯端末の画面が赤色であることを検出することで、赤色に対応する選択肢が選択されたことを認識する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−５４１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
表示画面の制御の一つとして、任意の場所を指し示すポインティング操作がある。例えば一般に、パソコンでマウスを利用すると、マウスを使って指し示した場所にマウスポインタが表示される。特許文献１の発明では、このように任意の場所を指し示すポインティング操作を実現することはできない。
【０００５】
本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、表示画面などの表示面における表示を、携帯端末を利用して柔軟に制御できる技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の第１の携帯端末は、カメラが設けられている携帯端末である。当該携帯端末は、１）マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、２）前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、３）前記検出されたマーカ及び前記マーカ情報を用いて、当該携帯端末によって指し示される前記表示面上の位置を算出する算出手段と、４）前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有する。
【０００７】
本発明の第２の携帯端末は、カメラが設けられている携帯端末である。当該携帯端末は、１）マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、２）前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、３）前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした当該携帯端末の位置を算出する算出手段と、４）前記算出した当該携帯端末の位置を他の装置へ送信する送信手段と、を有する。
【０００８】
本発明の第３の携帯端末は、カメラが設けられている携帯端末である。当該携帯端末は、１）表示面の外観を表す表示面情報を取得する取得手段と、２）前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出手段と、３）前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、当該携帯端末が指し示す前記表示面上の位置を算出する算出手段と、４）前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有する。
【０００９】
本発明の第１のサーバ装置は、１）携帯端末から表示面上の位置を受信する受信手段と、２）前記表示面において、前記受信した位置に画像を表示させる表示制御手段と、を有する。
【００１０】
本発明の第２のサーバ装置は、１）携帯端末から、マーカを基準とする前記携帯端末の位置を受信手段と、２）前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出手段と、３）前記表示面において、前記算出した位置に画像を表示させる表示制御手段と、を有する。
【００１１】
本発明の第１の情報処理システムは、カメラが設けられている携帯端末と、サーバ装置とを有する。
前記携帯端末は、１）マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、２）前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、３）前記検出されたマーカ及び前記マーカ情報を用いて、前記携帯端末によって指し示される前記表示面上の位置を算出する算出手段と、４）前記算出した表示面上の位置を前記サーバ装置へ送信する送信手段と、を有する。
前記サーバ装置は、１）前記携帯端末から前記表示面上の位置を受信する受信手段と、２）前記受信した表示面上の位置に画像を表示させる表示制御手段と、を有する。
【００１２】
本発明の第２の情報処理システムは、カメラが設けられている携帯端末と、サーバ装置とを有する。
前記携帯端末は、１）マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、２）前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、３）前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした前記携帯端末の位置を算出する算出手段と、４）前記算出した携帯端末の位置を他の装置へ送信する送信手段と、を有する。
前記サーバ装置は、１）前記携帯端末から、前記マーカを基準とした前記携帯端末の位置を受信する受信手段と、２）前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出手段と、３）前記表示面において、前記算出した位置に画像を表示させる表示制御手段と、を有する。
【００１３】
本発明の第３の情報処理システムは、カメラが設けられている携帯端末と、サーバ装置とを有する。
前記携帯端末は、１）表示面の外観を表す表示面情報を取得する取得手段と、２）前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出手段と、３）前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、前記携帯端末が指し示す前記表示面上の位置を算出する算出手段と、４）前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有する。
前記サーバ装置は、１）前記携帯端末から前記表示面上の位置を受信する受信手段と、２）前記受信した表示面上の位置に画像を表示させる表示制御手段と、を有する。
【００１４】
本発明の第１の制御方法は、カメラが設けられている携帯端末によって実行される。当該制御方法は、１）マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得ステップと、２）前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出ステップと、３）前記検出されたマーカ及び前記マーカ情報を用いて、前記携帯端末によって指し示される前記表示面上の位置を算出する算出ステップと、４）前記算出した表示面上の位置を他の装置へ送信する送信ステップと、を有する。
【００１５】
本発明の第２の制御方法は、カメラが設けられている携帯端末によって実行される。当該制御方法は、１）マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得ステップと、２）前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出ステップと、３）前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした前記携帯端末の位置を算出する算出ステップと、４）前記算出した当該携帯端末の位置を他の装置へ送信する送信ステップと、を有する。
【００１６】
本発明の第３の制御方法は、カメラが設けられている携帯端末によって実行される。当該制御方法は、１）表示面の外観を表す表示面情報を取得する取得ステップと、２）前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出ステップと、３）前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、前記携帯端末が指し示す前記表示面上の位置を算出する算出ステップと、４）前記算出した表示面上の位置を他の装置へ送信する送信ステップと、を有する。
【００１７】
本発明の第４の制御方法は、サーバ装置によって実行される。当該制御方法は、１）携帯端末から表示面上の位置を受信する受信ステップと、２）前記受信した表示面上の位置に画像を表示させる表示制御ステップと、を有する。
【００１８】
本発明の第５の制御方法は、サーバ装置によって実行される。当該制御方法は、１）携帯端末から、マーカを基準とする前記携帯端末の位置を受信ステップと、２）前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出ステップと、３）前記表示面において、前記算出した位置に画像を表示させる表示制御ステップと、を有する。
【００１９】
本発明の第１のプログラムは、本発明の第１乃至第３いずれか一つの制御方法が有する各ステップを携帯端末に実行させる。
【００２０】
本発明の第２のプログラムは、本発明の第４又は第５の制御方法が有する各ステップをサーバ装置に実行させる。
【発明の効果】
【００２１】
本発明によれば、表示画面などの表示面における表示を、携帯端末を利用して柔軟に制御できる技術が提供される。
【図面の簡単な説明】
【００２２】
【図１】実施形態１の情報処理システムの動作を概念的に例示する図である。
【図２】情報処理システムの機能構成を例示する図である。
【図３】携帯端末を実現するための計算機を例示する図である。
【図４】サーバ装置を実現するための計算機を例示する図である。
【図５】実施形態１の携帯端末によって実行される処理の流れを例示するフローチャートである。
【図６】実施形態１のサーバ装置によって実行される処理の流れを例示するフローチャートである。
【図７】表示面の周囲に予め設けられるマーカを例示する図である。
【図８】メインのコンテンツである映像の一部として実現されるマーカを例示する図である。
【図９】算出部がポインティング位置を算出する方法を概念的に示す図である。
【図１０】ポインティング方向を表す画像が重畳された撮像画像が、携帯端末の表示画面に表示されている様子を例示する図である。
【図１１】立体オブジェクトを表すコンテンツ画像の位置と姿勢が、携帯端末２０００によって制御される様子を例示する図である。
【図１２】複数の携帯端末を有する情報処理システムを例示する図である。
【図１３】仮想オブジェクトが携帯端末によって指し示される様子を例示する図である。
【図１４】携帯端末の位置と基準位置を用いてポインティング位置を算出する方法を例示する第１の図である。
【図１５】携帯端末の位置と基準位置を用いてポインティング位置を算出する方法を例示する第２の図である。
【図１６】携帯端末のユーザによって直線が設定される様子を例示する図である。
【図１７】携帯端末の位置と基準位置を用いてポインティング位置を算出する方法を例示する第３の図である。
【図１８】ポインティング位置を算出する方法を概念的に示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。
【００２４】
［実施形態１］
＜概要＞
図１は、実施形態１の情報処理システム４０００の動作を概念的に例示する図である。以下で説明する情報処理システム４０００の動作は、情報処理システム４０００の理解を容易にするための例示であり、情報処理システム４０００の動作は以下の例に限定されるわけではない。情報処理システム４０００の動作の詳細やバリエーションについては後述する。
【００２５】
情報処理システム４０００は、携帯端末２０００によって指し示される表示面３０上の位置、又はその位置によって特定される表示面３０上の他の位置に、画像７０を表示させるシステムである。表示面３０は、画像を表示させることができる任意の面である。画像７０は、静止画像であってもよいし、動画像であってもよい。
【００２６】
そのために、情報処理システム４０００は携帯端末２０００及びサーバ装置３０００を有する。携帯端末２０００は、カメラ１０が設けられている可搬型の装置（スマートフォン、タブレット端末、ヘッドマウントディスプレイ、又はウェアラブルグラスなど）である。カメラ１０は、撮像を行って撮像画像１２を生成する任意のカメラである。サーバ装置３０００は、表示面３０に画像７０を表示させる装置である。携帯端末２０００とサーバ装置３０００は、通信可能に接続されている。
【００２７】
サーバ装置３０００は、携帯端末２０００によって指し示されている表示面３０上の位置（以下、ポインティング位置）に基づいて、画像を表示させる表示面３０上の位置（以下、表示位置）を決定する。表示位置は、ポインティング位置と同じ位置であってもよいし、ポインティング位置によって特定される他の位置であってもよい。図１において、ポインティング位置は符号５０で表される位置である。また、表示位置は符号６０で表される位置である。この例では、ポインティング位置５０と表示位置６０は同一の位置である。
【００２８】
携帯端末２０００は、カメラ１０によって生成される撮像画像１２を用いて、ポインティング位置５０の算出を行う。携帯端末２０００のユーザは、表示面３０の一部を指し示すように、カメラ１０に撮像を行わせる。例えば、カメラ１０で動画を撮影している状態で、表示面３０へカメラ１０を向ける。その結果、撮像画像１２に表示面３０の一部が含まれる。
【００２９】
また、撮像画像１２には、マーカ２０が含まれるようにする。マーカ２０は、任意の文字、記号、又は図形などである。マーカ２０についての詳細な説明は後述する。
【００３０】
携帯端末２０００は、撮像画像１２に含まれるマーカ２０を利用してポインティング位置５０を算出する。そのために、携帯端末２０００は、マーカ２０に関する情報であるマーカ情報を取得する。マーカ情報は、１）撮像画像１２からマーカ２０を検出するための情報（以下、特徴情報）、及び２）マーカ２０と表示面３０との配置関係を示す情報（以下、配置情報）を含む。それぞれについての具体的な説明は後述する。
【００３１】
携帯端末２０００は、特徴情報を用いて、撮像画像１２からマーカ２０を検出する。さらに携帯端末２０００は、検出したマーカ２０及び配置情報を用いて、ポインティング位置５０を算出する。そして、携帯端末２０００は、特定したポインティング位置５０をサーバ装置３０００へ送信する。
【００３２】
サーバ装置３０００は、携帯端末２０００からポインティング位置５０を受信する。さらにサーバ装置３０００は、受信したポインティング位置５０に基づいて、表示位置６０を決定する。そして、サーバ装置３０００は、表示位置６０に画像７０を表示させる。
【００３３】
本実施形態の情報処理システム４０００によれば、表示面３０において、携帯端末２０００によって指し示された位置に画像７０が表示される。よって、携帯端末２０００を使って、表示面３０の任意の場所をポインティングできるようになる。その結果、携帯端末を用いて、表示面における表示の制御を柔軟に行うことができる。
【００３４】
以下、本実施形態の情報処理システム４０００について、さらに詳細に説明する。
【００３５】
＜機能構成の例＞
図２は、情報処理システム４０００の機能構成を例示する図である。情報処理システム４０００は、携帯端末２０００及びサーバ装置３０００を有する。携帯端末２０００は、取得部２０２０、検出部２０４０、算出部２０６０、及び送信部２０８０を有する。取得部２０２０はマーカ情報を取得する。検出部２０４０は、マーカ情報を用いて、撮像画像１２からマーカ２０を検出する。算出部２０６０は、検出されたマーカ２０及びマーカ情報を用いて、ポインティング位置５０を算出する。送信部２０８０は、ポインティング位置５０をサーバ装置３０００へ送信する。
【００３６】
サーバ装置３０００は、受信部３０２０及び表示制御部３０４０を有する。受信部３０２０は、携帯端末２０００からポインティング位置５０を受信する。表示制御部３０４０は、ポインティング位置５０に基づいて表示位置６０を決定し、決定した表示位置６０に画像７０を表示させる。
【００３７】
＜携帯端末２０００のハードウエア構成の例＞
携帯端末２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、携帯端末２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００３８】
図３は、携帯端末２０００を実現するための計算機１０００を例示する図である。計算機１０００は、例えばスマートフォン、タブレット端末、ヘッドマウントディスプレイ、又はウェアラブルグラスなどである。計算機１０００は、携帯端末２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００３９】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。プロセッサ１０４０は、CPU（Central Processing Unit）や GPU（Graphics Processing Unit）などの演算処理装置である。メモリ１０６０は、RAM（Random Access Memory）などで実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスク、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などで実現される補助記憶装置である。
【００４０】
ネットワークインタフェース１１２０は、通信網に接続するためのインタフェースである。計算機１０００は、ネットワークインタフェース１１２０を介して、後述する計算機５０００（サーバ装置３０００を実現するための計算機）と通信可能に接続される。
【００４１】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。図３において、入出力インタフェース１１００には、カメラ１０が接続されている。
【００４２】
ストレージデバイス１０８０は携帯端末２０００の各機能を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、そのプログラムモジュールに対応する各機能を実現する。
【００４３】
計算機１０００のハードウエア構成は図３に示した構成に限定されず、他の様々な構成をとりうる。例えば、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。
＜サーバ装置３０００のハードウエア構成の例＞
サーバ装置３０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、サーバ装置３０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００４４】
図４は、サーバ装置３０００を実現するための計算機５０００を例示する図である。計算機５０００は、例えばサーバ装置や Personal Computer（PC）などである。ただし、計算機５０００は、ラップトップコンピュータやスマートフォンなどの可搬型の計算機であってもよい。計算機５０００は、サーバ装置３０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００４５】
計算機５０００は、バス５０２０、プロセッサ５０４０、メモリ５０６０、ストレージデバイス５０８０、入出力インタフェース５１００、及びネットワークインタフェース５１２０を有する。以下で説明する点を除き、これらのハードウエアはそれぞれ、計算機１０００が有するバス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０と同様のハードウエアである。
【００４６】
ストレージデバイス５０８０はサーバ装置３０００の各機能を実現するプログラムモジュールを記憶している。プロセッサ５０４０は、これら各プログラムモジュールをメモリ５０６０に読み出して実行することで、そのプログラムモジュールに対応する各機能を実現する。
【００４７】
計算機５０００は、ネットワークインタフェース５１２０を介して、計算機１０００と通信可能に接続される。
【００４８】
＜＜カメラ１０について＞＞
カメラ１０としては、携帯端末２０００に内蔵されているカメラを利用することができる。例えば一般に、スマートフォンやタブレット端末にはカメラが内蔵されている。また、ヘッドマウントディスプレイやウェアラブルグラスは、レンズ付近などにカメラが設けられている。ただし、カメラ１０は、携帯端末２０００に対して外付けされるカメラであってもよい。
【００４９】
カメラ１０は、静止画像を生成するカメラ（スチルカメラ）であってもよいし、動画像を生成するカメラ（ビデオカメラ）であってもよい。後者の場合、撮像画像１２は、動画データを構成する各動画フレームである。なお、カメラ１０は、深度センサを有するデプスカメラであってもよい。また、カメラ１０は赤外線カメラであってもよい。
【００５０】
＜＜表示面３０について＞＞
表示面３０は、画像を表示させることができる任意の面である。例えば、表示面３０は、ディスプレイ装置の表示画面である。ディスプレイ装置は、野球場やサッカースタジアムなどに設けられている大型のディスプレイ装置であってもよいし、オフィスに設置されるディスプレイ装置や家庭用のテレビなどのように比較的小型のディスプレイ装置であってもよい。
【００５１】
表示面３０は、プロジェクタなどによって画像が投影される投影面であってもよい。投影面は、平面であってもよいし、平面でなくもよい。前者の場合、例えば投影面は、平面で構成されるスクリーンや壁などである。後者の場合、例えば投影面は、曲面で構成されるスクリーンや壁、又は立体的な建築物の表面（例えば、プロジェクションマッピングにおいて画像が投影される建築物の表面）などである。
【００５２】
表示面３０がディスプレイ装置の表示画面である場合、表示制御部３０４０は、このディスプレイ装置を制御することで、表示面３０の表示位置６０に画像７０を表示させる。一方、表示面３０が投影面である場合、表示制御部３０４０は、この投影面に画像を投影する装置（例えばプロジェクタ）を制御することで、表示面３０の表示位置６０に画像７０を表示させる。
【００５３】
＜処理の流れ＞
図５は、実施形態１の携帯端末２０００によって実行される処理の流れを例示するフローチャートである。取得部２０２０はマーカ情報を取得する（Ｓ１０２）。Ｓ１０４からＳ１１４は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Ａである。Ｓ１０４において、携帯端末２０００は、終了条件が満たされているか否かを判定する。終了条件が満たされている場合、図５の処理は終了する。一方、終了条件が満たされていない場合、図５の処理はＳ１０６に進む。
【００５４】
検出部２０４０は、撮像画像１２を取得する（Ｓ１０６）。検出部２０４０は、マーカ情報を用いて、撮像画像１２からマーカ２０を検出する（Ｓ１０８）。算出部２０６０は、検出したマーカ２０及びマーカ情報を用いてポインティング位置５０を算出する（Ｓ１１０）。送信部２０８０は、算出したポインティング位置５０をサーバ装置３０００へ送信する（Ｓ１１２）。Ｓ１１４は、ループ処理Ａの終端であるため、図５の処理はＳ１０４に進む。
【００５５】
ここで、繰り返し実行されるＳ１０６で取得される各撮像画像１２は、それぞれ異なる撮像画像１２である。例えば検出部２０４０は、Ｓ１０６を実行する時点における最新の撮像画像１２を取得する。その他にも例えば、検出部２０４０は、カメラ１０によって生成された複数の撮像画像１２をまとめて取得し、その複数の撮像画像１２を生成された順に処理してもよい。
【００５６】
図５に示した処理の流れによれば、ポインティング位置５０が時間と共に変化する場合に、そのポインティング位置５０の変化に追従するように、表示面３０において画像７０が表示される位置が変化する。つまり、携帯端末２０００のユーザが携帯端末２０００を動かすと、その動きに追従するように、表示面３０における画像７０の表示位置が変化する。
【００５７】
ループ処理Ａの終了条件は任意である。例えば終了条件は、ユーザから所定の入力操作を受け付けることである。その他にも例えば、終了条件は、ループ処理Ａを開始してから所定の時間が経過することである。その他にも例えば、終了条件は、携帯端末２０００がサーバ装置３０００から所定の通知を受信することである。例えばサーバ装置３０００は、表示面３０に画像７０を表示させる処理を終了する際に、携帯端末２０００に対してその旨の通知を送信する。携帯端末２０００は、この通知を受信することを終了条件として、前述したループ処理Ａを終了する。
【００５８】
図６は、実施形態１のサーバ装置３０００によって実行される処理の流れを例示するフローチャートである。受信部３０２０は携帯端末２０００からポインティング位置５０を受信する（Ｓ２０２）。表示制御部３０４０は表示位置６０を決定する（Ｓ２０４）。表示制御部３０４０は表示位置６０に画像７０を表示させる（Ｓ２０６）。なお、図６の処理は、携帯端末２０００から繰り返し送信されるポインティング位置５０をそれぞれ受信するように、繰り返し行われる。
【００５９】
＜マーカ２０について＞
マーカ２０は、撮像画像１２において少なくともその位置と形状が特定できる任意のマーク（記号、文字、又は図形など）である。例えばマーカ２０は、３次元の座標系の決定に利用できるマーカである。３次元の座標系の決定に利用できるマーカは、例えば AR（Augmented Reality）マーカである。ただし、３次元の座標系の決定に利用できるマーカは、参照方向によらず、或る基準点からの相互に直交する３つの方向を一定に得ることができるものであればよく、AR マーカには限定されない。
【００６０】
図１において、マーカ２０は、QR コード（登録商標）を模したマークとして実現されている。しかし前述したように、マーカ２０は、任意の記号、文字、又は図形などとすることができる。例えばマーカ２０には、ロゴなどを利用できる。
【００６１】
マーカ２０は、表示面３０の少なくとも一部と共にカメラ１０によって撮像できる任意の場所に設けることができる。例えばマーカ２０は、表示面３０の周囲に予め設けられる。図７は、表示面３０の周囲に予め設けられるマーカ２０を例示する図である。表示面３０がディスプレイ装置の表示画面である場合、例えばマーカ２０は、表示画面の縁に設けられる。図７（ａ）において、マーカ２０は、表示画面９０の縁９２に設けられている。
【００６２】
表示面３０が、壁やスクリーンなどの一部である投影面である場合、マーカ２０は、それら壁やスクリーンのうち、投影面以外の部分（例えば壁やスクリーンの端や隅）に設けられる。図７（ｂ）において、表示面３０はスクリーン１００の一部である。そして、マーカ２０は、スクリーン１００の隅に設けられている。
【００６３】
なお、図７において、マーカ２０は、人の手で描画されたり、機械によって印字されたりする平面的なマーク（凹凸がないマーク）として図示されている。しかし、マーカ２０は、平面的なマークに限定されない。例えばマーカ２０は、凹凸を有する立体的なマークであってもよい。例えば立体的なマークとして実現されるマーカ２０は、表示面３０やその付近に付される任意の物体である。その他にも例えば、立体的なマークとして実現されるマーカ２０は、表示画面の縁や壁などを彫る又は刻むなどの方法によって形成されてもよい。
【００６４】
例えばカメラ１０をデプスカメラとして実現すれば、このようなマーカ２０の立体的な形状を把握することができる。ただし、マーカ２０が立体的なマークとして実現されている場合に、マーカ２０を平面視することで得られる平面形状をマーカ２０として扱ってもよい。この場合、カメラ１０はデプスカメラである必要はなく、２次元カメラでよい。
【００６５】
マーカ２０は、表示面３０の周囲に予め設けられるものに限定されない。例えばマーカ２０は、サーバ装置３０００によって表示面３０に表示される画像であってもよい。ここで、表示面３０には、画像７０以外に、メインとなるコンテンツが表示されるとする。例えば表示面３０がサッカースタジアムに設けられている大型ディスプレイの表示画面である場合に、表示面３０にはメインのコンテンツとして、試合の情報などが表示される。なお、メインのコンテンツは静止画像であってもよいし、動画像であってもよい。
【００６６】
例えば表示面３０に表示させる画像として実現されるマーカ２０は、上記メインのコンテンツの一部に含まれてもよい。図８は、メインのコンテンツである映像の一部として実現されるマーカ２０を例示する図である。図８において、表示面３０はディスプレイ装置の表示画面９０である。表示画面９０には、メインのコンテンツが表示されている（図８における斜線部分）。そして、メインのコンテンツの一部として、マーカ２０が表示されている。
【００６７】
ここで、表示面３０に表示されるマーカ２０は、人の目でも容易に認識できる画像として実現されてもよいし、人の目では認識しにくい画像（電子透かしなど）として実現されてもよい。さらに、マーカ２０は、表示面３０に表示されるメインのコンテンツそのものとして実現されてもよい。マーカ２０を電子透かしとして実現したり、マーカ２０をメインのコンテンツそのものとして実現したりする方法によれば、メインのコンテンツを見る視聴者がマーカ２０を意識しないようにすることができ、メインのコンテンツに視聴者が集中できるようにすることができる。
【００６８】
なお、表示面３０に表示される画像としてマーカ２０を実現する場合、サーバ装置３０００は、マーカ２０を常に表示面３０に表示させてもよいし、所定のタイミングのみマーカ２０を表示面３０に表示させてもよい。後者の場合、例えばサーバ装置３０００は、所定の頻度で（例えば、１秒間に１回）マーカ２０を表示させる。この際、マーカ２０が表示される時間の長さは、任意の長さに設定することができる。常にマーカ２０が表示されるようにすると、携帯端末２０００がマーカ２０を検出しやすくなる。一方、所定のタイミングのみマーカ２０が表示されるようにすると、メインのコンテンツを見る視聴者がマーカ２０を意識しないようにすることができ、メインのコンテンツに視聴者が集中できるようにすることができる。
【００６９】
その他にも例えば、マーカ２０は、表示面３０の一部として実現されてもよい。例えば表示面３０が、プロジェクションマッピングに利用されるような立体的な表示面（凹凸を有する表示面）であるとする。この場合、表示面３０の一部分の立体的な形状を、マーカ２０として扱う。前述したように、このような立体的な形状は、例えばカメラ１０をデプスカメラとして実現することで把握することができる。
【００７０】
その他にも例えば、マーカ２０は、赤外線を照射する１つ以上の光源として実現してもよい。この光源が設けられる場所は、表示面３０上であってもよいし、表示面３０上でなくてもよい。赤外線を照射する光源をマーカ２０として利用する場合、マーカ２０を撮像するためのカメラ１０を、赤外線カメラとして実現する。この方法によれば、より目立たないようにマーカ２０を構成することができる。
【００７１】
マーカ２０を表示面３０の縁などに固定で設ける方法によれば、サーバ装置３０００にマーカ２０の表示処理を行わせる必要がないため、サーバ装置３０００の処理負荷が軽減される。一方、マーカ２０を画像として表示面３０に表示させる方法によれば、必要な時のみマーカ２０が存在するようにできるため、表示面３０の見栄えを良くすることができる。
【００７２】
マーカ２０は、１つだけ設けられてもよいし、複数設けられてもよい。後者の場合、例えば表示面３０の複数の隅（例えば４隅）にそれぞれマーカ２０を設ける。なお、マーカ２０を複数設ける場合、これらは互いに識別可能な異なるマーカであるとする。
【００７３】
＜マーカ情報について＞
マーカ情報は、１）特徴情報（撮像画像１２からマーカ２０を検出するための情報）、及び２）配置情報（マーカ２０と表示面３０との配置関係を示す情報）を含む。以下、それぞれについて説明する。
【００７４】
＜＜特徴情報＞＞
特徴情報は、撮像画像１２からマーカ２０を検出するために利用される情報である。特徴情報は、マーカ２０の外観を表す。例えば特徴情報は、マーカ２０の特徴量を示す。マーカ２０の特徴量とは、そのマーカ２０の外観（形状、模様、又は色など）の特徴を表す１つ以上の値である。その他にも例えば、特徴情報は、マーカ２０のテンプレート画像を示してもよい。
【００７５】
ここで前述したように、マーカ２０は、凹凸のない平面的なマークとして実現されてもよいし、凹凸のある立体的なマークとして実現されてもよい。後者の場合、マーカ２０の特徴量は、立体的な形状や模様として定義される。ただし、凹凸のある立体的なマークを平面視することで得られる平面形状をマーカ２０として扱う場合には、マーカ２０の特徴量を立体的な形状や模様として定義してもよいし、平面的な形状として定義してもよい。なお、これら種々の特徴量を用いて、カメラによって撮像される立体的なマークを検出する技術には、既存の技術を利用することができる。
【００７６】
＜＜配置情報＞＞
配置情報は、マーカ２０と表示面３０の配置関係を示す情報である。例えば配置情報は、マーカ２０によって定まる座標系における表示面３０の位置、姿勢、及びマーカ２０を基準とする表示面３０の大きさを定めた情報である。なお、或る座標空間における平面や立体の位置、姿勢、及び大きさを定める方法には、例えば３Ｄグラフィックスソフトにおいて３Ｄオブジェクトの配置を定める方法など、既存の方法を利用することができる。例えば配置情報は、マーカ２０によって定まる座標系における表示面３０の各頂点の座標を示す。なお、表示面３０の形状が曲線を含む場合、配置情報には、表示面３０の各頂点の座標に加え、上記曲線を定めるための情報（例えば曲線上の複数の点の座標）を含むことが好適である。
【００７７】
なお、例えば表示面３０の形状が矩形など、一部の頂点が分かればその形状が定まるものである場合、配置情報が示す表示面３０の頂点の座標は、一部の頂点の座標のみであってもよい。例えば表示面３０が矩形である場合、配置情報は、１）表示面３０が矩形であること、及び２）対角にある表示面３０の２つの頂点の座標とすることができる。
【００７８】
＜マーカ情報の取得：Ｓ１０２＞
取得部２０２０はマーカ情報を取得する（Ｓ１０２）。取得部２０２０がマーカ情報を取得する方法は様々である。例えば、取得部２０２０からアクセス可能な記憶装置（例えばストレージデバイス１０８０）にマーカ情報を記憶させておき、取得部２０２０はこの記憶装置にアクセスしてマーカ情報を取得する。その他にも例えば、取得部２０２０は、サーバ装置３０００からマーカ情報を取得してもよい。
【００７９】
＜撮像画像１２の取得：Ｓ１０６＞
検出部２０４０は撮像画像１２を取得する（Ｓ１０６）。検出部２０４０が撮像画像１２を取得する方法は任意である。例えば検出部２０４０は、カメラ１０から直接撮像画像を取得する。また、カメラ１０が記憶装置（例えばストレージデバイス１０８０）に撮像画像１２を記憶させる場合、検出部２０４０は、この記憶装置から撮像画像１２を取得してもよい。
【００８０】
検出部２０４０は、カメラ１０によって生成される撮像画像１２の全てを取得してもよいし、一部のみを取得してもよい。後者の場合、例えば検出部２０４０は、カメラ１０によって生成される動画を構成する動画フレームの一部（例えば所定数の動画フレームごとに１枚の動画フレーム）を取得する。また、カメラ１０によって生成される撮像画像１２の全てを検出部２０４０が取得した上で、検出部２０４０が取得された撮像画像１２の一部のみを利用するようにしてもよい。
【００８１】
＜マーカ２０の検出：Ｓ１０８＞
検出部２０４０は、特徴情報を用いて、撮像画像１２からマーカ２０を検出する（Ｓ１０８）。ここで、或る物体の特徴量やテンプレート画像など、その物体の外観を表す情報を用いて画像からその物体を検出する技術には、特徴量マッチングやテンプレートマッチングなど、既存の技術を利用することができる。
【００８２】
＜ポインティング位置５０の算出：Ｓ１１０＞
算出部２０６０は、撮像画像１２から検出されたマーカ２０及びマーカ情報を用いて、ポインティング位置５０を算出する（Ｓ１１０）。以下、ポインティング位置５０の算出方法を具体的に説明する。
【００８３】
算出部２０６０は、撮像画像１２から検出されたマーカ２０及びマーカ情報を用いて、マーカ２０を基準とした携帯端末２０００の配置（携帯端末２０００の位置及び姿勢）を算出する。例えば携帯端末２０００の姿勢は、カメラ１０の画角の中心方向によって定まる。そして、携帯端末２０００は、マーカ２０を基準とする携帯端末２０００の配置と表示面３０の配置とに基づいて、ポインティング位置５０を算出する。
【００８４】
ここで、カメラによって生成される撮像画像から検出されるマーカに基づいて、そのマーカを基準とするカメラの位置や姿勢を算出する技術には、既存の技術を利用することができる。また、カメラの位置や姿勢から、そのカメラが設けられている装置（本実施形態における携帯端末２０００）の位置や姿勢も算出することができる。すなわち、算出部２０６０は、これら既存の技術を利用し、撮像画像１２から検出されるマーカ２０の大きさや形状などに基づいて、マーカ２０を基準として定まる３次元空間における携帯端末２０００の位置や姿勢を算出することができる。なお、マーカ２０を基準とする表示面３０の配置は、前述したように、マーカ情報に含まれる配置情報によって示されている。
【００８５】
以下、ポインティング位置５０を算出する具体的な方法の一例を説明する。図９は、算出部２０６０がポインティング位置５０を算出する方法を概念的に示す図である。図９では、携帯端末２０００が利用されている状況を平面図で表している。また、この状況においてカメラ１０によって生成される撮像画像１２を示している。なお、図９では、図を見やすくするために、厚みを持つ物として表示面３０とマーカ２０を描画している。しかし実際には、表示面３０とマーカ２０は厚みを持たないものであってもよい。
【００８６】
まず算出部２０６０は、撮像画像１２におけるマーカ２０の形状と、特徴情報によって特定されるマーカ２０の形状とから、携帯端末２０００からマーカ２０へ向かう方向１０５を算出する。
【００８７】
さらに算出部２０６０は、方向１０５をポインティング方向１１０に変換する。例えば図９において、ポインティング方向１１０は、カメラ１０から撮像画像１２の中心位置１４に対応する方向である。そこで、算出部２０６０は、撮像画像１２におけるマーカ２０の位置と中心位置１４を用いて、方向１００をポインティング方向１１０に変換する。携帯端末２０００の姿勢は、ポインティング方向１１０によって表される。ここで、この変換方法には、既存の技術を利用することができる。例えばこの変換は、カメラ１０のカメラパラメタ（例えば、レンズなどの光学系の仕様を表すパラメタ）を利用して定義される変換式を用いて行われる。
【００８８】
次に算出部２０６０は、携帯端末２０００とマーカ２０との間の距離を算出する。例えば予め、撮像画像１２から検出されるマーカ２０のサイズを、マーカ２０によって定まる座標空間における携帯端末２０００とマーカ２０との間の距離に変換する変換式を定めておく。携帯端末２０００は、この変換式を用いることで、撮像画像１２から検出されたマーカ２０のサイズを、携帯端末２０００とマーカ２０との間の距離に変換する。
【００８９】
算出部２０６０は、携帯端末２０００からマーカ２０へ向かう方向１０５、及びマーカ２０と携帯端末２０００との距離に基づいて、マーカ２０を基準とする携帯端末２０００の位置を算出する。
【００９０】
以上により、マーカ２０を基準とした携帯端末２０００の配置が求まる。
【００９１】
最後に、算出部２０６０は、携帯端末２０００の位置からポインティング方向１１０へ向かう直線と表示面３０との交点を、ポインティング位置５０として算出する。ここで、この算出を行うためには、携帯端末２０００と表示面３０の配置関係を把握する必要がある。この点、マーカ２０を基準とした携帯端末２０００の配置は、前述した方法で算出されている。また、マーカ２０を基準とした表示面３０の配置は、マーカ情報に含まれる配置情報で定められている。よって、マーカ２０を基準として、携帯端末２０００と表示面３０との配置関係が定まるため、携帯端末２０００の位置からポインティング方向１１０へ向かう直線と表示面３０との交点を算出することができる。
【００９２】
ここで、ポインティング方向１１０を視覚的に把握できると、携帯端末２０００のユーザは携帯端末２０００を操作しやすくなる。そこで携帯端末２０００は、ポインティング方向１１０を視覚的に表示するようにしてもよい。具体的には、携帯端末２０００は、ポインティング方向１１０を表す線や矢印などの画像を撮像画像１２に重畳させ、その撮像画像１２を携帯端末２０００の表示画面に表示させる。
【００９３】
図１０は、ポインティング方向１１０を表す画像が重畳された撮像画像１２が、携帯端末２０００の表示画面１９０に表示されている様子を例示する図である。図１０において、表示面３０には、携帯端末２０００が指し示している位置に画像７０が表示されている。その様子がカメラ１０によって撮像されるため、表示画面１９０には、表示面３０に画像７０が表示される様子が表示される。
【００９４】
ここで、図１０において、表示画面１９０に表示されている矢印１３０は、表示面３０に表示されている画像ではなく、携帯端末２０００によって生成された画像である。具体的には、矢印１３０は、携帯端末２０００が、ポインティング方向１１０を表す画像として生成し、撮像画像１２に重畳させたものである。この矢印１３０を見ることで、携帯端末２０００のユーザは、自身が保持している携帯端末２０００によって指し示されている位置（その位置を表す画像７０）を容易に把握することができる。このことは、後述するように複数の携帯端末２０００が同じ表示面３０を指し示す場合に特に好適である。この場合、表示面３０に複数の画像７０が表示されるため、各携帯端末２０００のユーザが、自身が保持する携帯端末２０００が指し示している位置を表す画像７０がどの画像７０であるかを把握しづらいためである。
【００９５】
＜マーカ２０のその他の利用方法＞
前述したように、マーカ２０は、ポインティング位置５０の算出に利用される。しかし、マーカ２０は、ポインティング位置５０の算出に加え、他の用途でさらに利用されてもよい。以下、その具体例を説明する。なお、以下の例において、マーカ２０の全体又は一部が、情報が符号化されたコード（例えば、バーコードや QR コード（登録商標））として実現されているものとする。以下、このコードを、「マーカ２０に含まれるコード」と表現する。なお、コードを復号するアルゴリズムには、既存のアルゴリズムを利用できる。
【００９６】
例えばマーカ２０は、サーバ装置３０００のネットワークアドレスを特定するために利用される。この場合、マーカ２０に含まれるコードは、ネットワークアドレスが符号化されたものである。送信部２０８０は、撮像画像１２から、マーカ２０に含まれるコードを抽出し、そのコードを復号することで、サーバ装置３０００のネットワークアドレスを特定する。
【００９７】
その他にも例えば、マーカ２０は、汎用的な携帯端末を本実施形態の携帯端末２０００として機能させるためのアプリケーションを得るために利用される。この場合、マーカ２０に含まれるコードは、上記アプリケーションのインストールプログラムをダウンロードするための URL（Uniform Resource Locator）などが符号されたものである。携帯端末２０００を利用したいユーザは、自身が所持する携帯端末のカメラに、マーカ２０に含まれるコードを撮像させる。上記携帯端末は、撮像されたコードを復号することで上記インストールプログラムを取得し、取得したインストールプログラムを実行することで、上記アプリケーションのインストールを行う。その結果、ユーザが所持する携帯端末が、本実施形態の携帯端末２０００として機能するようになる。なお、コードをカメラに撮像させることでアプリケーションを携帯端末にインストールさせる技術には、既存の技術を利用することができる。
【００９８】
このように、サーバ装置３０００のネットワークアドレスの特定や、汎用の携帯端末を携帯端末２０００として機能させるためのアプリケーションの取得にマーカ２０を利用できることには、情報処理システム４０００のユーザが、情報処理システム４０００を利用するための準備（ユーザが所持する携帯端末の設定）を容易に行えるという利点がある。
【００９９】
ただし、サーバ装置３０００のネットワークアドレスの特定や、汎用の携帯端末を携帯端末２０００として機能させるためのアプリケーションの取得に利用するコードは、マーカ２０とは別途設けられてもよい。例えば、マーカ２０と共にカメラ１０によって撮像される位置（マーカ２０の近傍）に、マーカ２０とは別に上述のコードを設けておく。その他にも例えば、情報処理システム４０００のユーザに提供される印刷物（例えばスタジアムで観客に配布されるパンフレットなど）に、上記コードを印字しておいてもよい。この場合、情報処理システム４０００のユーザは、印刷物に印字されているコードをユーザが所持する携帯端末に読み取らせることで、情報処理システム４０００を利用するための準備を行うことができる。
【０１００】
＜ポインティング位置５０の送信：Ｓ１１２＞
送信部２０８０は、ポインティング位置５０をサーバ装置３０００へ送信する（Ｓ１１２）。ポインティング位置５０の送信はネットワークを介して行われるため、送信部２０８０は、ネットワーク上におけるサーバ装置３０００の所在（ネットワークアドレス）を取得する。例えばネットワークアドレスは、IP（Internet Protocol）アドレスである。その他にも例えば、ネットワークアドレスは、サーバ装置３０００で利用できるメールアカウントのメールアドレスである。そして、送信部２０８０は、取得したネットワークアドレスを宛先として、ポインティング位置５０を送信する。
【０１０１】
送信部２０８０がサーバ装置３０００のネットワークアドレスを取得する方法は任意である。例えば、携帯端末２０００のユーザから予めサーバ装置３０００のネットワークアドレスを指定する入力を受け付けておき、入力されたサーバ装置３０００のネットワークアドレスを、携帯端末２０００からアクセス可能な記憶装置（例えばストレージデバイス１０８０）に記憶させておく。その他にも例えば、携帯端末２０００の機能を実現するためのアプリケーションを計算機１０００にインストールすることで携帯端末２０００を実現する場合、サーバ装置３０００のネットワークアドレスがそのアプリケーションと共に携帯端末２０００が備える記憶装置に記憶されるようにしておいてもよい。
【０１０２】
＜表示位置６０の決定：Ｓ２０４＞
サーバ装置３０００の表示制御部３０４０は、携帯端末２０００から受信したポインティング位置５０に基づいて表示位置６０を決定する（Ｓ２０４）。ここで、表示位置６０は、ポインティング位置５０と所定の関係にある位置である。例えば表示位置６０は、ポインティング位置５０と同じ位置である。その他にも例えば、表示位置６０は、ポインティング位置５０から所定方向に所定距離離れた位置である。この所定方向及び所定距離は、予め表示制御部３０４０に設定されていてもよいし、表示制御部３０４０からアクセス可能な記憶装置に記憶されていてもよい。
【０１０３】
＜画像７０の表示：Ｓ２０６＞
表示制御部３０４０は、表示面３０の表示位置６０に、画像７０を表示させる（Ｓ２０６）。ここで、表示面３０の特定の位置に画像を表示させる技術には、既存の技術を利用することができる。
【０１０４】
＜画像７０について＞
表示面３０に表示させる画像７０には、様々な画像データを利用することができる。例えば画像７０として利用する画像データは、予め定められている所定の画像データである。その他にも例えば、画像７０として利用する画像データは、サーバ装置３０００が複数の画像データの中から適宜選択する（例えばランダムに選択する）任意の画像データである。
【０１０５】
その他にも例えば、画像７０として利用する画像データは、携帯端末２０００によって指定される画像データである。この場合、例えば受信部３０２０は、ポインティング位置５０と共に、画像７０として利用する画像データを指定する情報を、携帯端末２０００から受信する。画像データを指定する情報は、例えば、画像データの識別子を示す。
【０１０６】
この場合、例えば携帯端末２０００は、ユーザから予め、画像データを指定する入力を受け付ける。この際、例えばサーバ装置３０００が、指定可能な画像データの一覧を携帯端末２０００へ提供する。携帯端末２０００は、ユーザによって指定された画像データの識別子を、ポインティング位置５０と共にサーバ装置３０００へ送信する。表示制御部３０４０は、受信した識別子を持つ画像データを画像７０として利用する。なお、携帯端末２０００は、サーバ装置３０００に対して画像データの識別子を一度送信すればよく、ポインティング位置５０を送信する度に画像データを送信する必要はない。ただし、ユーザが画像７０を変更した際には、携帯端末２０００は、変更後の画像７０の識別子を送信する。
【０１０７】
ここで、ユーザによって指定される画像データは、前述のようにサーバ装置３０００から提供されるものには限定されず、携帯端末２０００から提供されるものであってもよい。この場合、携帯端末２０００は、ポインティング位置５０と共に、画像７０として利用する画像データをサーバ装置３０００へ送信する。表示制御部３０４０は、受信した画像データを画像７０として利用する。なおこの際、携帯端末２０００は、サーバ装置３０００に対して画像データを一度送信すればよく、ポインティング位置５０を送信する度に画像データを送信する必要はない。ただし、携帯端末２０００が画像７０として利用する画像データを変更した場合には、新たな画像７０をサーバ装置３０００へ送信する。
【０１０８】
携帯端末２０００は、画像データではなく、文字列データをサーバ装置３０００に提供してもよい。この場合、サーバ装置３０００は、受信した文字列データを、画像７０として表示面３０に表示させる。例えばユーザが携帯端末２０００でメッセージを作成し、そのメッセージをサーバ装置３０００に提供することで、表示面３０においてユーザが作成したメッセージが画像７０として表示されるようになる。例えば表示面３０が、スタジアムにおける大型ディスプレイなどのパブリックディスプレイであれば、ユーザのメッセージが、このパブリックディスプレイを見ている人たちに見えるようにすることができる。
【０１０９】
画像７０は、表示面３０に表示されるコンテンツ（例えば映像）を構成する画像であってもよい。例えばコンテンツを構成する映像の中に、携帯端末２０００によって制御可能な画像（以下、コンテンツ画像）を含めておき、このコンテンツ画像を画像７０として扱う。この場合、サーバ装置３０００は、携帯端末２０００から受信したポインティング位置５０に基づいて定まる表示位置６０に、コンテンツ画像を表示させる。
【０１１０】
ここで、コンテンツ画像が立体的なオブジェクトを表すとする。この場合、コンテンツ画像の表示位置に加え、コンテンツ画像の姿勢（コンテンツ画像が表すオブジェクトの姿勢）を携帯端末２０００が制御できるようにしてもよい。この場合、携帯端末２０００は、ポインティング位置５０に加え、携帯端末２０００の位置をサーバ装置３０００に対して送信する。サーバ装置３０００は、携帯端末２０００の位置に基づいて、ポインティング位置５０の姿勢を制御する。
【０１１１】
例えば、コンテンツ画像が表すオブジェクトの所定の面（例えば正面に位置する面）が、携帯端末２０００の位置を向くように定めておく。この定義によれば、上記オブジェクトの所定の面が必ず携帯端末２０００の方（携帯端末２０００のユーザの方）を向くようになる。
【０１１２】
図１１は、立体オブジェクトを表すコンテンツ画像の位置と姿勢が、携帯端末２０００によって制御される様子を例示する図である。図１１に示すように、携帯端末２０００が指し示す位置及び携帯端末２０００の位置の変化に合わせて、コンテンツ画像１２０の表示位置及び姿勢が変更されている。図１１では、コンテンツ画像１２０の面１２２の中心位置における法線１２４が携帯端末２０００の位置を通るように、コンテンツ画像１２０の姿勢が決定されている。
【０１１３】
＜表示面３０が複数存在するケースについて＞
サーバ装置３０００によって制御される表示面３０の数は、複数であってもよい。この場合、ユーザがどの表示面３０を指し示しているかは、撮像画像１２に含まれるマーカ２０によって特定できる。そこでこの場合、携帯端末２０００は、ポインティング位置５０と共に、撮像画像１２から検出されたマーカ２０の識別子をサーバ装置３０００へ送信する。サーバ装置３０００は、受信したマーカ２０の識別子を用いることで、どの表示面３０に画像７０を表示させるべきかを特定することができる。なおこの場合、マーカ情報には、各マーカ２０の特徴情報に対応づけて、その特徴情報で特定されるマーカ２０の識別子が示されているとする。
【０１１４】
＜複数の携帯端末２０００が存在するケースについて＞
情報処理システム４０００は、複数の携帯端末２０００を有してもよい。図１２は、複数の携帯端末２０００を有する情報処理システム４０００を例示する図である。図１２において、画像７０−１は、携帯端末２０００−１によって指し示されている位置に表示される画像である。一方、画像７０−２は、携帯端末２０００−２によって指し示されている位置に表示される画像である。
【０１１５】
このように携帯端末２０００が複数存在する場合、受信部３０２０は、複数の携帯端末２０００それぞれからポインティング位置５０を受信する。そして表示制御部３０４０は、受信した各ポインティング位置５０から表示位置６０を決定し、各表示位置６０に画像７０を表示させる。
【０１１６】
ここで、複数の表示位置６０それぞれに表示させる画像７０として利用する画像データは、共通して用いられる１つの画像データであってもよいし、それぞれ異なる画像データであってもよい。後者の場合、表示制御部３０４０は、携帯端末２０００ごとに、画像７０として利用する画像データを特定する必要がある。
【０１１７】
そこで例えば、携帯端末２０００の識別子と、画像７０として利用する画像データの識別子とを対応づける。表示制御部３０４０は、携帯端末２０００の識別子と対応づけられている識別子を持つ画像データを、その携帯端末２０００に対応する表示位置６０に表示させる画像７０として利用する。この場合、サーバ装置３０００の受信部３０２０は、携帯端末２０００から、ポインティング位置５０と共に、携帯端末２０００の識別子を受信する。そのため、送信部２０８０は、ポインティング位置５０と共に携帯端末２０００の識別子を送信する。
【０１１８】
ここで前述したように、画像７０として利用する画像データは、サーバ装置３０００によって決定されてもよいし、ユーザによって指定されてもよい。前者の場合、例えばサーバ装置３０００は、或る携帯端末２０００から初めてポインティング位置５０及び携帯端末２０００の識別子を受信した時に、その携帯端末２０００に対応づける画像データを決定する。そしてサーバ装置３０００は、決定した画像データの識別子と携帯端末２０００の識別子との対応付けを示す情報を、記憶装置に記憶させる。
【０１１９】
画像７０として利用する画像データがユーザによって指定される場合において、携帯端末２０００が、サーバ装置３０００によって提供される複数の画像データの中から、画像７０として利用する画像データを指定するとする。この場合、例えばサーバ装置３０００は、携帯端末２０００から、携帯端末２０００の識別子及び画像データの識別子を受信する。そして、サーバ装置３０００は、受信した携帯端末２０００の識別子と画像データの識別子とを対応付け、その対応付けを示す情報を記憶装置に記憶させる。
【０１２０】
画像７０として利用する画像データがユーザによって指定される場合において、携帯端末２０００がサーバ装置３０００に対して、画像７０として利用する画像データを提供するとする。この場合、サーバ装置３０００は、携帯端末２０００から、携帯端末２０００の識別子及び画像データを受信する。そしてサーバ装置３０００は、受信した画像データを、携帯端末２０００の識別子と対応づけて記憶装置に記憶させる。
【０１２１】
なお、画像データを指定する情報（画像データの識別子や画像データそのもの）は、ポインティング位置５０と共に送信されてもよいし、ポインティング位置５０とは別途送信されてもよい。後者の場合、例えば携帯端末２０００を利用する際の初期設定として、画像７０として利用する画像データをユーザに選択させる。そして、携帯端末２０００は、選択された画像データの識別子又はその画像データそのものを、携帯端末２０００の識別子と共にサーバ装置３０００へ送信する。以後、サーバ装置３０００は、その携帯端末２０００からポインティング位置５０及び携帯端末２０００の識別子を受信したら、予めその携帯端末２０００の識別子と対応づけておいた画像データを取得して、画像７０として利用する。
【０１２２】
＜変形例１＞
情報処理システム４０００は、以下のように構成されてもよい。以下で示す情報処理システム４０００を、変形例１の情報処理システム４０００を表記する。また、変形例１の情報処理システム４０００が有する携帯端末２０００とサーバ装置３０００をそれぞれ、変形例１の携帯端末２０００とサーバ装置３０００と呼ぶ。なお、下記で説明する点を除き、変形例１の情報処理システム４０００は、実施形態１の情報処理システム４０００と同様の機能を有する。
【０１２３】
変形例１の携帯端末２０００において、算出部２０６０は、マーカ２０を基準とした携帯端末２０００の位置及び姿勢（携帯端末２０００の配置）を算出する。ここで、マーカ２０を基準とした携帯端末２０００の配置を算出する方法は、前述した通りである。送信部２０８０は、算出した携帯端末２０００の配置を、サーバ装置３０００へ送信する。
【０１２４】
受信部３０２０は、携帯端末２０００の配置を受信する。表示制御部３０４０は、受信した携帯端末２０００の配置を用いて、ポインティング位置５０を算出する。さらに表示制御部３０４０は、ポインティング位置５０に基づいて定まる表示位置６０に、画像７０を表示させる。
【０１２５】
表示制御部３０４０が携帯端末２０００の配置を用いてポインティング位置５０を算出する方法は、例えば前述した、「携帯端末２０００の位置からポインティング方向１１０へ向かう直線と表示面３０との交点を、ポインティング位置５０として算出する」という方法である。ただし、表示制御部３０４０がポインティング位置５０を算出する方法は、この方法に限定されない。以下、これ以外の方法を例示する。
【０１２６】
前提として、表示制御部３０４０が、仮想空間上の仮想オブジェクトを表示面３０に射影したものとして生成されるコンテンツ画像を、表示面３０に表示させるとする。この場合、表示制御部３０４０は、携帯端末２０００によって指し示される仮想オブジェクト上の位置を算出する。そして表示制御部３０４０は、算出した仮想オブジェクト上の位置を表示面３０に射影することで算出される表示面３０上の位置を、ポインティング位置５０とする。
【０１２７】
図１３は、仮想オブジェクト１４０が携帯端末２０００によって指し示される様子を例示する図である。図１３では、携帯端末２０００が利用されている状況を平面図で表している。また、この状況における表示面３０の表示を示している。仮想オブジェクト１４０は、仮想空間上において、表示面３０の後方に配置されている立方体である。なお、図１３では、図を見やすくするために、厚みを持つ物として表示面３０とマーカ２０を描画している。しかし実際には、表示面３０とマーカ２０は厚みを持たないものであってもよい。
【０１２８】
表示制御部３０４０は、携帯端末２０００から受信する携帯端末２０００の配置、及びマーカ２０を基準とした仮想オブジェクト１４０の配置を用いて、携帯端末２０００によって指し示される仮想オブジェクト１４０上の位置を算出する。まず表示制御部３０４０は、携帯端末２０００の配置を用いて、ポインティング方向１１０を算出する。そして表示制御部３０４０は、携帯端末２０００の位置を始点とするポインティング方向１１０と、仮想オブジェクト１４０との交点を、携帯端末２０００によって指し示される仮想オブジェクト１４０上の位置１４５として算出する。さらに携帯端末２０００は、算出した仮想オブジェクト１４０上の位置１４５を、表示面３０上に射影することで、ポインティング位置５０を算出する。
【０１２９】
なお、携帯端末２０００の姿勢とポインティング方向１１０との関係は、予め定めておく。例えばポインティング方向１１０は、携帯端末２０００に設けられているカメラ１０の画角の中心方向である。また、マーカ２０を基準とした仮想オブジェクト１４０の配置も、予め定めておく。仮想オブジェクト１４０は仮想空間上の配置が予め定められているため、例えばこの仮想空間とマーカ２０によって定まる３次元の座標空間との対応関係を予め定めておけば、マーカ２０を基準とした仮想オブジェクト１４０の配置が定まる。
【０１３０】
変形例１の情報処理システム４０００によれば、仮想空間上の仮想オブジェクトを表すコンテンツ画像を表示面３０に表示させる場合において、あたかも携帯端末２０００によってその仮想オブジェクトが指し示されているように、画像７０を表示面３０に表示させることができる。よって、情報処理システム４０００のユーザにとって、表示面３０における表示をより柔軟に制御できるようになり、情報処理システム４０００の利便性がさらに向上する。
【０１３１】
＜変形例２＞
その他にも例えば、情報処理システム４０００は、以下のように構成されてもよい。以下で示す情報処理システム４０００を、変形例２の情報処理システム４０００と表記する。また、変形例２の情報処理システム４０００が有する携帯端末２０００とサーバ装置３０００をそれぞれ、変形例２の携帯端末２０００とサーバ装置３０００と呼ぶ。なお、下記で説明する点を除き、変形例２の情報処理システム４０００は、実施形態１の情報処理システム４０００と同様の機能を有する。
【０１３２】
変形例２の算出部２０６０は、マーカ２０を基準とした携帯端末２０００の位置を算出する。ここで、マーカ２０を基準とした携帯端末２０００の位置を算出する方法は、前述した通りである。送信部２０８０は、算出した携帯端末２０００の位置を、サーバ装置３０００へ送信する。
【０１３３】
受信部３０２０は、携帯端末２０００の位置を受信する。表示制御部３０４０は、受信した携帯端末２０００の位置を用いて、ポインティング位置５０を算出する。さらに表示制御部３０４０は、ポインティング位置５０に基づいて定まる表示位置６０に、画像７０を表示させる。
【０１３４】
以下、表示制御部３０４０が携帯端末２０００の位置を用いてポインティング位置５０を算出する方法について、２通りの方法を例示する。前提として、携帯端末２０００が、マーカ２０を基準として定まる空間上の基準位置を指し示すものとする。
【０１３５】
＜＜方法１＞＞
表示制御部３０４０は、受信した携帯端末２０００の位置と基準位置とを結ぶ直線と、表示面３０との交点を、ポインティング位置５０として算出する。図１４は、携帯端末２０００の位置と基準位置を用いてポインティング位置５０を算出する方法を例示する第１の図である。表示制御部３０４０は、携帯端末２０００の位置と基準位置１５０とを結ぶ直線である直線１６０と、表示面３０との交点を、ポインティング位置５０として算出する。
【０１３６】
ただしポインティング位置５０は、必ずしも携帯端末２０００と基準位置１５０とを結んだ直線１６０上の位置でなくてもよい。例えば、直線１６０と所定の関係にある別の直線１７０を定め、その直線１７０と表示面３０との交点を、ポインティング位置５０として扱うようにする。
【０１３７】
図１５は、携帯端末２０００の位置と基準位置を用いてポインティング位置５０を算出する方法を例示する第２の図である。図１５において、直線１７０は、直線１６０と所定の角度を成す直線である。表示制御部３０４０は、直線１６０ではなく、直線１７０と表示面３０との交点を、ポインティング位置５０として扱う。
【０１３８】
直線１７０は、例えば携帯端末２０００のユーザによって設定される。図１６は、携帯端末２０００のユーザによって直線１７０が設定される様子を例示する図である。まず、初期設定として、携帯端末２０００は、前述した直線１６０と表示面３０との交点を、ポインティング位置５０として扱うとする。また、携帯端末２０００の位置（直線１６０の一端）は、撮像画像１２の中心位置１４に対応するとする。
【０１３９】
図１６（ａ）において、表示画面１９０には、カメラ１０によって生成される撮像画像１２が表示されている。また、図１６（ａ）において、画像７０の表示位置は、直線１６０と表示面３０との交点として定まるポインティング位置５０に基づいて決定されている。
【０１４０】
図１６（ａ）に示す状況において、携帯端末２０００のユーザは、表示画面１９０に表示されている撮像画像１２の位置１６をタップする（図１６（ｂ））。これにより、携帯端末２０００のユーザは、指し示したい表示面３０の位置を指定する。携帯端末２０００は、タップされた位置１６と中心位置１４との位置関係に基づいて、位置１６によって表される方向が、タップされた撮像画像１２の中心位置によって表される方向（カメラ１０の画角の中心方向）に対して成す角度を算出する。
【０１４１】
携帯端末２０００は、算出した角度をサーバ装置３０００へ送信する。表示制御部３０４０は、受信した角度を用いて、直線１６０を直線１７０へ変換する。そして、直線１７０と表示面３０との交点をポインティング位置５０として算出する。その結果、画像７０の表示位置が変更される（図１６（ｃ））。
【０１４２】
以後サーバ装置３０００は、携帯端末２０００から携帯端末２０００の位置を受信すると、携帯端末２０００の位置と基準位置１５０とを結ぶ直線１６０を算出し、さらにこの直線１６０を直線１７０に変換する。そして、サーバ装置３０００は、直線１７０と表示面３０との交点をポインティング位置５０として算出する。
【０１４３】
このように、基準位置１５０と携帯端末２０００とを結ぶ直線１６０の代わりに、ユーザが指定した位置に基づいて定まる直線１７０を利用するようにすることで、基準位置１５０と携帯端末２０００とを結ぶ直線１６０上に位置しない任意の位置を携帯端末２０００によって指し示すことができるようになる。よって、ユーザにとって、表示面３０における表示をより柔軟に制御できるようになり、情報処理システム４０００の利便性が向上する。
【０１４４】
ここで、カメラによって生成される撮像画像上の２点それぞれに表される方向が成す角度は、カメラ１０のカメラパラメタ（例えば、レンズなどの光学系の仕様を表すパラメタ）を利用して定義される計算式を用いて算出することができる。なお、「カメラによって生成される撮像画像上の点によって表される方向」とは、カメラからその点に写っている物へ向かう方向を意味する。
【０１４５】
＜＜方法２＞＞
前提として、表示制御部３０４０が、仮想空間上の仮想オブジェクト１４０を表示面３０に射影することで生成されるコンテンツ画像を、表示面３０に表示させるとする。この場合、表示制御部３０４０は、受信した携帯端末２０００の位置、基準位置１５０、及び仮想オブジェクト１４０の配置に基づいて、携帯端末２０００によって指し示されている仮想オブジェクト１４０上の位置を算出する。そして、表示制御部３０４０は、算出された仮想オブジェクト１４０上の位置を表示面３０に射影することで定まる位置を、ポインティング位置５０とする。
【０１４６】
図１７は、携帯端末２０００の位置と基準位置１５０を用いてポインティング位置５０を算出する方法を例示する第３の図である。図１７において、仮想オブジェクト１４０は、表示面３０の後方に配置されている。
【０１４７】
表示制御部３０４０は、携帯端末２０００の位置と基準位置１５０とを結ぶ直線である直線１６０と、仮想オブジェクト１４０との交点１８０を算出する。そして表示制御部３０４０は、交点１８０を表示面３０に射影した位置を、ポインティング位置５０として算出する。
【０１４８】
なお、この方法２においても、方法１と同様に、直線１６０の代わりに直線１７０を用いるようにしてもよい。すなわち、表示制御部３０４０は、直線１６０と所定の関係にある別の直線１７０を定め、その直線１７０と仮想オブジェクト１４０との交点を、ポインティング位置５０として扱うようにしてもよい。こうすることで、基準位置１５０と携帯端末２０００とを結ぶ直線１６０上に位置しない仮想オブジェクト１４０上の任意の位置を、携帯端末２０００によって指し示すことができる。よって、ユーザにとって、表示面３０における表示をより柔軟に制御できるようになり、情報処理システム４０００の利便性が向上する。
【０１４９】
＜変形例３＞
情報処理システム４０００は、以下のように構成されてもよい。以下で示す情報処理システム４０００を、変形例３の情報処理システム４０００を表記する。また、変形例３の情報処理システム４０００が有する携帯端末２０００とサーバ装置３０００をそれぞれ、変形例３の携帯端末２０００とサーバ装置３０００と呼ぶ。なお、下記で説明する点を除き、変形例３の情報処理システム４０００は、実施形態１の情報処理システム４０００と同様の機能を有する。
【０１５０】
変形例３の携帯端末２０００において、取得部２０２０は、表示面３０の外観を表す表示面情報を取得する。検出部２０４０は、表示面情報を用いて、撮像画像１２から表示面３０の縁を検出する。算出部２０６０は、撮像画像１２から検出された表示面３０の縁及び表示面情報を用いて、撮像画像１２上の所定位置（例えば撮像画像１２の中心位置）を、表示面３０上の位置であるポインティング位置５０に変換することで、ポインティング位置５０を算出する。送信部２０８０は、算出されたポインティング位置５０を送信する。変形例３の携帯端末２０００には、マーカ２０を利用しなくてもポインティング位置５０を特定できるという利点がある。
【０１５１】
＜表示面情報について＞
表示面情報が示す表示面３０の外観は、前述したマーカ情報に含まれる特徴情報と同様に、表示面３０の特徴量や表示面３０のテンプレート画像を示す。検出部２０４０は、表示面情報を用いて、撮像画像１２から表示面３０を検出する。
【０１５２】
＜ポインティング位置５０の算出方法＞
算出部２０６０は、撮像画像１２の所定位置について、表示面３０によって定まる平面上の座標を算出し、この座標をポインティング位置５０の座標とする。この座標は、表示面３０の基準位置（例えば４隅のいずれか１つ）を原点とする座標である。そして送信部２０８０は、この座標をサーバ装置３０００へ送信する。
【０１５３】
図１８は、ポインティング位置５０を算出する方法を概念的に示す図である。図１８において、撮像画像１２の所定位置は、中心位置１４である。撮像画像１２に含まれる表示面３０の形状、及び表示面情報に示される表示面３０の形状を用いると、撮像画像１２に含まれる表示面３０を、平面視した状態に線形変換することができる。この際、中心位置１４も表示面３０と同様に線形変換することで、平面視した表示面３０において中心位置１４に相当する位置、すなわちポインティング位置５０を特定できる。よって、表示面３０の基準位置３２を基準としたポインティング位置５０の座標を算出することができる。
【０１５４】
ここで、ポインティング位置５０の座標の算出には、基準位置３２から表示面３０までの長さが特定できる必要がある。この長さは、実空間上の長さである必要はなく、表示面３０上の何らかの物を基準とする長さでよい。そこで例えば、表示面３０が直線の構成要素を含む場合（例えば多角形の場合）、撮像画像１２には少なくとも、表示面３０を構成する一つの辺の全体が含まれるようにする。その他にも例えば、表示面３０が円形である場合、撮像画像１２には少なくとも、その直径を把握できるように表示面３０が含まれるようにする。
【０１５５】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【０１５６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  カメラが設けられている携帯端末であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、当該携帯端末によって指し示される前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有する携帯端末。
２．  カメラが設けられている携帯端末であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした当該携帯端末の位置を算出する算出手段と、
前記算出した当該携帯端末の位置を他の装置へ送信する送信手段と、を有する携帯端末。
３．  前記算出手段は、前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした当該携帯端末の姿勢をさらに算出し、
前記送信手段は、前記算出した当該携帯端末の姿勢をさらに前記他の装置へ送信する、２．に記載の情報処理装置。
４．  前記マーカは、前記他の装置によって前記表示面に表示される画像であり、
前記取得手段は、前記他の装置から前記マーカ情報を取得する、１．乃至３．いずれか一つに記載の携帯端末。
５．  前記マーカは、前記表示面と所定の配置関係にある場所に予め設けられおり、
前記マーカ情報は、前記所定の配置関係を示す、１．乃至３．いずれか一つに記載の携帯端末。
６．  前記表示面はディスプレイ装置の表示画面であり、
前記マーカは前記表示画面の縁に設けられている、５．に記載の携帯端末。
７．  前記マーカは、前記表示画面と所定の配置関係にある場所に予め設けられた実物体の３次元形状である、５．又は６．に記載の携帯端末。
８．  前記カメラはデプスカメラであり、
前記検出手段は、前記デプスカメラを用いて前記マーカの３次元形状を検出することで、前記マーカを検出する、７．に記載の情報処理装置。
９．  カメラが設けられている携帯端末であって、
表示面の外観を表す表示面情報を取得する取得手段と、
前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出手段と、
前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、当該携帯端末が指し示す前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有する携帯端末。
１０．  前記送信手段は、当該携帯端末の識別子に対応づけて前記表示面上の位置を送信する、１．乃至９．いずれか一つに記載の携帯端末。
１１．  前記表示面は、ディスプレイ装置の表示画面である、１．乃至５及び７乃至１０いずれか一つに記載の携帯端末。
１２．  前記表示面は、画像が投影される投影面である、１．乃至５及び７乃至１０いずれか一つに記載の携帯端末。
【０１５７】
１３．  携帯端末から表示面上の位置を受信する受信手段と、
前記表示面において、前記受信した位置に画像を表示させる表示制御手段と、を有するサーバ装置。
１４．  前記受信手段は、複数の前記表示面の内の１つの識別子をさらに受信し、
前記表示制御手段は、前記受信した識別子によって特定される前記表示面において、前記受信した位置に前記画像を表示させる、１３．に記載のサーバ装置。
１５．  前記受信手段は、複数の携帯端末それぞれから、その携帯端末の識別子と対応づけて、前記表示面上の位置を受信し、
前記表示制御手段は、複数の前記携帯端末から受信した前記表示面上の位置それぞれに、各前記携帯端末の識別子に対応する画像を表示させる、１３．又は１４．に記載のサーバ装置。
１６．  前記受信手段は、前記携帯端末から受信した前記表示面上の位置に表示させる画像を、その携帯端末から受信する、１５．に記載のサーバ装置。
１７．  携帯端末から、マーカを基準とする前記携帯端末の位置を受信手段と、
前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出手段と、
前記表示面において、前記算出した位置に画像を表示させる表示制御手段と、を有するサーバ装置。
１８．  前記受信手段は、前記携帯端末から、前記マーカを基準とする前記携帯端末の姿勢をさらに受信し、
前記算出手段は、前記マーカを基準とする前記携帯端末の位置及び姿勢に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する、１７．に記載のサーバ装置。
【０１５８】
１９．  カメラが設けられている携帯端末と、サーバ装置とを有する情報処理システムであって、
前記携帯端末は、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、前記携帯端末によって指し示される前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を前記サーバ装置へ送信する送信手段と、を有し、
前記サーバ装置は、
前記携帯端末から前記表示面上の位置を受信する受信手段と、
前記受信した表示面上の位置に画像を表示させる表示制御手段と、を有する情報処理システム。
２０．  カメラが設けられている携帯端末と、サーバ装置とを有する情報処理システムであって、
前記携帯端末は、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得手段と、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出手段と、
前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした前記携帯端末の位置を算出する算出手段と、
前記算出した携帯端末の位置を他の装置へ送信する送信手段と、を有し、
前記サーバ装置は、
前記携帯端末から、前記マーカを基準とした前記携帯端末の位置を受信する受信手段と、
前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出手段と、
前記表示面において、前記算出した位置に画像を表示させる表示制御手段と、を有する情報処理システム。
２１．  前記算出手段は、前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした当該携帯端末の姿勢をさらに算出し、
前記送信手段は、前記算出した当該携帯端末の姿勢をさらに前記他の装置へ送信する、２０．に記載の情報処理システム。
２２．  前記マーカは、前記他の装置によって前記表示面に表示される画像であり、
前記取得手段は、前記他の装置から前記マーカ情報を取得する、１９．乃至２１．いずれか一つに記載の情報処理システム。
２３．  前記マーカは、前記表示面と所定の配置関係にある場所に予め設けられおり、
前記マーカ情報は、前記所定の配置関係を示す、１９．乃至２１．いずれか一つに記載の情報処理システム。
２４．  前記表示面はディスプレイ装置の表示画面であり、
前記マーカは前記表示画面の縁に設けられている、２３．に記載の情報処理システム。
２５．  前記マーカは、前記表示画面と所定の配置関係にある場所に予め設けられた実物体の３次元形状である、２３．又は２４．に記載の情報処理システム。
２６．  前記カメラはデプスカメラであり、
前記検出手段は、前記デプスカメラを用いて前記マーカの３次元形状を検出することで、前記マーカを検出する、２５．に記載の情報処理システム。
２７．  カメラが設けられている携帯端末と、サーバ装置とを有する情報処理システムであって、
前記携帯端末は、
表示面の外観を表す表示面情報を取得する取得手段と、
前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出手段と、
前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、前記携帯端末が指し示す前記表示面上の位置を算出する算出手段と、
前記算出した表示面上の位置を他の装置へ送信する送信手段と、を有し、
前記サーバ装置は、
前記携帯端末から前記表示面上の位置を受信する受信手段と、
前記受信した表示面上の位置に画像を表示させる表示制御手段と、を有する情報処理システム。
２８．  前記送信手段は、当該携帯端末の識別子に対応づけて前記表示面上の位置を送信する、１９．乃至２７．いずれか一つに記載の情報処理システム。
２９．  前記表示面は、ディスプレイ装置の表示画面である、１９．乃至２３．及び２５．乃至２８．いずれか一つに記載の情報処理システム。
３０．  前記表示面は、画像が投影される投影面である、１９．乃至２３．及び２５．乃至２８．いずれか一つに記載の情報処理システム。
【０１５９】
３１．  カメラが設けられている携帯端末によって実行される制御方法であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得ステップと、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出ステップと、
前記検出されたマーカ及び前記マーカ情報を用いて、前記携帯端末によって指し示される前記表示面上の位置を算出する算出ステップと、
前記算出した表示面上の位置を他の装置へ送信する送信ステップと、を有する制御方法。
３２．  カメラが設けられている携帯端末によって実行される制御方法であって、
マーカの外観を表す情報と、前記マーカと表示面との配置関係を示す情報とを含むマーカ情報を取得する取得ステップと、
前記マーカ情報を用いて、前記カメラによって生成された撮像画像からマーカを検出する検出ステップと、
前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした前記携帯端末の位置を算出する算出ステップと、
前記算出した当該携帯端末の位置を他の装置へ送信する送信ステップと、を有する制御方法。
３３．  前記算出ステップにおいて、前記検出されたマーカ及び前記マーカ情報を用いて、前記マーカを基準とした当該携帯端末の姿勢をさらに算出し、
前記送信ステップにおいて、前記算出した当該携帯端末の姿勢をさらに前記他の装置へ送信する、３２．に記載の制御方法。
３４．  前記マーカは、前記他の装置によって前記表示面に表示される画像であり、
前記取得ステップにおいて、前記他の装置から前記マーカ情報を取得する、３１．乃至３３．いずれか一つに記載の制御方法。
３５．  前記マーカは、前記表示面と所定の配置関係にある場所に予め設けられおり、
前記マーカ情報は、前記所定の配置関係を示す、３１．乃至３３．いずれか一つに記載の制御方法。
３６．  前記表示面はディスプレイ装置の表示画面であり、
前記マーカは前記表示画面の縁に設けられている、３５．に記載の制御方法。
３７．  前記マーカは、前記表示画面と所定の配置関係にある場所に予め設けられた実物体の３次元形状である、３５．又は３６．に記載の制御方法。
３８．  前記カメラはデプスカメラであり、
前記検出ステップにおいて、前記デプスカメラを用いて前記マーカの３次元形状を検出することで、前記マーカを検出する、３７．に記載の制御方法。
３９．  カメラが設けられている携帯端末によって実行される制御方法であって、
表示面の外観を表す表示面情報を取得する取得ステップと、
前記カメラによって生成された撮像画像から、前記表示面の縁を検出する検出ステップと、
前記検出した表示面の縁、前記表示面情報、及び前記撮像画像の所定位置を用いて、前記携帯端末が指し示す前記表示面上の位置を算出する算出ステップと、
前記算出した表示面上の位置を他の装置へ送信する送信ステップと、を有する制御方法。
４０．  前記送信ステップにおいて、当該携帯端末の識別子に対応づけて前記表示面上の位置を送信する、３１．乃至３９．いずれか一つに記載の制御方法。
４１．  前記表示面は、ディスプレイ装置の表示画面である、３１．乃至３５．及び３７．乃至４０．いずれか一つに記載の制御方法。
４２．  前記表示面は、画像が投影される投影面である、３１．乃至３５．及び３７．乃至４０．いずれか一つに記載の制御方法。
【０１６０】
４３．  サーバ装置によって実行される制御方法であって、
携帯端末から表示面上の位置を受信する受信ステップと、
前記表示面において、前記受信した位置に画像を表示させる表示制御ステップと、を有する制御方法。
４４．  前記受信ステップにおいて、複数の前記表示面の内の１つの識別子をさらに受信し、
前記表示制御ステップにおいて、前記受信した識別子によって特定される前記表示面において、前記受信した位置に前記画像を表示させる、４３．に記載の制御方法。
４５．  前記受信ステップにおいて、複数の携帯端末それぞれから、その携帯端末の識別子と対応づけて、前記表示面上の位置を受信し、
前記表示制御ステップにおいて、複数の前記携帯端末から受信した前記表示面上の位置それぞれに、各前記携帯端末の識別子に対応する画像を表示させる、４３．又は４４．に記載の制御方法。
４６．  前記受信ステップにおいて、前記携帯端末から受信した前記表示面上の位置に表示させる画像を、その携帯端末から受信する、４５．に記載の制御方法。
４７．  サーバ装置によって実行させる制御方法であって、
携帯端末から、マーカを基準とする前記携帯端末の位置を受信ステップと、
前記マーカを基準とする前記携帯端末の位置に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する算出ステップと、
前記表示面において、前記算出した位置に画像を表示させる表示制御ステップと、を有する制御方法。
４８．  前記受信ステップにおいて、前記携帯端末から、前記マーカを基準とする前記携帯端末の姿勢をさらに受信し、
前記算出ステップにおいて、前記マーカを基準とする前記携帯端末の位置及び姿勢に基づいて、前記携帯端末によって指し示される表示面上の位置を算出する、４７．に記載の制御方法。
【０１６１】
４９．  ３１．乃至４２．いずれか一つに記載の制御方法の各ステップを携帯端末に実行させるプログラム。
５０．  ４３．乃至４８．いずれか一つに記載の制御方法の各ステップをサーバ装置に実行させるプログラム。
【符号の説明】
【０１６２】
１０  カメラ
１２  撮像画像
１４  中心位置
２０  マーカ
２２  直線
２４  直線
２６  円
３０  表示面
３２  基準位置
５０  ポインティング位置
６０  表示位置
７０  画像
９０  表示画面
９２  縁
１００  スクリーン
１０５  方向
１１０  ポインティング方向
１２０  コンテンツ画像
１２２  面
１２４  法線
１３０  矢印
１４０  仮想オブジェクト
１４５  位置
１５０  基準位置
１６０  直線
１７０  直線
１８０  交点
１９０  表示画面
１０００  計算機
１０２０  バス
１０４０  プロセッサ
１０６０  メモリ
１０８０  ストレージデバイス
１１００  入出力インタフェース
１１２０  ネットワークインタフェース
２０００  携帯端末
２０２０  取得部
２０４０  検出部
２０６０  算出部
２０８０  送信部
３０００  サーバ装置
３０２０  受信部
３０４０  表示制御部
４０００  情報処理システム
５０００  計算機
５０２０  バス
５０４０  プロセッサ
５０６０  メモリ
５０８０  ストレージデバイス
５１００  入出力インタフェース
５１２０  ネットワークインタフェース
【図１】
2018163458.tif 000003
【図２】
2018163458.tif 000004
【図３】
2018163458.tif 000005
【図４】
2018163458.tif 000006
【図５】
2018163458.tif 000007
【図６】
2018163458.tif 000008
【図７】
2018163458.tif 000009
【図８】
2018163458.tif 000010
【図９】
2018163458.tif 000011
【図１０】
2018163458.tif 000012
【図１１】
2018163458.tif 000013
【図１２】
2018163458.tif 000014
【図１３】
2018163458.tif 000015
【図１４】
2018163458.tif 000016
【図１５】
2018163458.tif 000017
【図１６】
2018163458.tif 000018
【図１７】
2018163458.tif 000019
【図１８】
2018163458.tif 000020