JP2014149712A - 情報処理装置、端末装置、情報処理方法及びプログラム - Google Patents

情報処理装置、端末装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2014149712A
JP2014149712A JP2013018437A JP2013018437A JP2014149712A JP 2014149712 A JP2014149712 A JP 2014149712A JP 2013018437 A JP2013018437 A JP 2013018437A JP 2013018437 A JP2013018437 A JP 2013018437A JP 2014149712 A JP2014149712 A JP 2014149712A
Authority
JP
Japan
Prior art keywords
space
user
real
information processing
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013018437A
Other languages
English (en)
Inventor
Shinichiro Abe
真一郎 阿部
Masaki Fukuchi
正樹 福地
Shunichi Honma
俊一 本間
Ka-Nyong Oh
嘉寧 呉
Tatsuoki Kashiwatani
辰起 柏谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2013018437A priority Critical patent/JP2014149712A/ja
Priority to US14/152,070 priority patent/US20140218361A1/en
Priority to CN201410036333.XA priority patent/CN103970268A/zh
Publication of JP2014149712A publication Critical patent/JP2014149712A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition

Abstract

【課題】拡張現実の特性を活かした魅力的なユーザ体験を提供すること。
【解決手段】撮像装置から実空間の撮像画像を取得する画像取得部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、を備える情報処理装置を提供する。
【選択図】図4

Description

本開示は、情報処理装置、端末装置、情報処理方法及びプログラムに関する。
従来、人工的に構築される仮想空間をユーザに呈示する様々な仮想現実(VR:Virtual Reality)技術が実用化されている。例えば、下記特許文献1は、仮想空間内に存在するアバタをユーザが操作する際の高い操作性を達成するための技術を提案している。これに対し、近年注目されている拡張現実(AR:Augmented Reality)技術は、実空間を部分的に改変することにより構築される拡張現実空間(AR空間)をユーザに呈示する。典型的なAR技術では、仮想的に生成されるオブジェクト(仮想オブジェクト)が実空間に向けられる撮像装置からの画像に重畳され、画像に映る実空間にあたかも当該オブジェクトが存在しているかのようなユーザ体験が提供される。
特開2003−150978号公報
AR技術においてユーザのアバタを仮想オブジェクトとして用いることにより、ARアバタと表現され得るアプリケーションが実現される。しかし、単にアバタが活動する空間の背景が実空間の画像となるだけでは、拡張現実の魅力は十分に引き出されない。
そこで、本開示は、仮想現実とは異なる拡張現実の特性を活かした魅力的なユーザ体験を提供するための仕組みを提案する。
本開示によれば、撮像装置から実空間の撮像画像を取得する画像取得部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、を備える情報処理装置が提供される。
また、本開示によれば、実空間を撮像することにより撮像画像を生成する撮像部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、を備える端末装置が提供される。
また、本開示によれば、撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、前記サーバ装置は、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定し、前記情報処理方法は、前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させることと、を含む、情報処理方法が提供される。
また、本開示によれば、端末装置を制御するコンピュータを、撮像装置から実空間の撮像画像を取得する画像取得部と、前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、として機能させるための、プログラムが提供される。
本開示に係る技術によれば、拡張現実の特性を活かした魅力的なユーザ体験を提供することができる。
一実施形態に係る情報処理装置の概要について説明するための第1の説明図である。 一実施形態に係る情報処理装置の概要について説明するための第2の説明図である。 一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。 一実施形態に係る情報処理装置の論理的機能の構成の一例を示すブロック図である。 AR空間のための座標系について説明するための説明図である。 実オブジェクトの離散化の一例について説明するための説明図である。 実空間マップから構築されるAR空間の一例について説明するための説明図である。 AR空間のカスタマイズの一例について説明するための説明図である。 仮想オブジェクトのテクスチャ又は色を設定するための手法の第1の例について説明するための説明図である。 仮想オブジェクトのテクスチャ又は色を設定するための手法の第2の例について説明するための説明図である。 仮想オブジェクトの表示属性を設定するための手法の一変形例について説明するための説明図である。 複数のユーザの間でAR空間を共有するための手法の第1の例について説明するための説明図である。 複数のユーザの間でAR空間を共有するための手法の第2の例について説明するための説明図である。 複数のユーザの間でAR空間を共有するための手法の第3の例について説明するための説明図である。 複数のユーザにより共有されるAR空間の表示の一例について説明するための説明図である。 共有し又は共有しないオブジェクトを指定するためのユーザインタフェースの一例について説明するための説明図である。 ボクセルの粒度の設定について説明するための説明図である。 アバタ選択ウィンドウの一例ついて説明するための説明図である。 基本的な操作ウィンドウの一例ついて説明するための説明図である。 アバタの移動のための操作の一例について説明するための説明図である。 アバタの移動を停止するための操作の一例について説明するための説明図である。 アバタを方向転換させるための操作の一例について説明するための説明図である。 アバタを方向転換させるための操作の他の例について説明するための説明図である。 アバタにより実行されるアイテムを用いたアクションの第1の例について説明するための第1の説明図である。 アバタにより実行されるアイテムを用いたアクションの第1の例について説明するための第2の説明図である。 アバタにより使用されるアイテムを切り替えるための操作の一例について説明するための説明図である。 アバタにより実行されるアイテムを用いたアクションの第2の例について説明するための説明図である。 アバタを介するコミュニケーションの第1の例について説明するための説明図である。 アバタを介するコミュニケーションの第2の例について説明するための説明図である。 アバタ情報を表示するための操作の一例について説明するための説明図である。 AR空間の位置を変更するための操作の一例について説明するための説明図である。 AR空間の姿勢を変更するための操作の一例について説明するための説明図である。 ARアプリケーションにおいて採用され得るいくつかのメニューの例について説明するための説明図である。 リアルタイムモード及びスナップショットモードについて説明するための説明図である。 図33に示した2種類の動作モード間の遷移について説明するための説明図である。 設計図モードについて説明するための説明図である。 カメラ視点モード及びアバタ視点モードについて説明するための説明図である。 図36に示した2種類の表示モード間の遷移について説明するための説明図である。 AR空間を選択するための手法の第1の例について説明するための説明図である。 AR空間を選択するための手法の第2の例について説明するための説明図である。 AR空間を選択するための手法の第3の例について説明するための説明図である。 AR空間を選択するための手法の第4の例について説明するための説明図である。 AR空間の可変パラメータの調整の第1の例について説明するための説明図である。 AR空間の可変パラメータの調整の第2の例について説明するための説明図である。 AR空間内の仮想オブジェクトの初期位置を設定するための手法の第1の例について説明するための説明図である。 AR空間内の仮想オブジェクトの初期位置を設定するための手法の第2の例について説明するための説明図である。 通常モードにおけるAR空間内のアバタ数の変化について説明するための説明図である。 過去再現モードにおけるAR空間内のアバタ数の変化について説明するための説明図である。 足跡モードについて説明するための説明図である。 AR空間の間を移動するためのパスの一例について説明するための説明図である。 AR空間へのチェックインのための画面遷移の一例について説明するための遷移図の前半部である。 AR空間へのチェックインのための画面遷移の一例について説明するための遷移図の後半部である。 ARアプリケーションを実行するための情報処理の流れの一例を示すフローチャートである。 図51に示したアクション判定処理の詳細な流れの一例を示すフローチャートである。 一変形例に係る情報処理装置の論理的機能の構成の一例を示すブロック図である。 仮想オブジェクトの配置を決定するための手法の一変形例について説明するための説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下の順序で説明を行う。
1.概要
2.一実施形態に係る情報処理装置の構成例
2−1.ハードウェア構成
2−2.論理的機能の構成
3.AR空間の設定
3−1.AR空間の座標系
3−2.実空間マップからのAR空間の構築
3−3.AR空間のカスタマイズ
3−4.仮想オブジェクトの表示属性の設定
3−5.AR空間の共有
3−6.共有されるオブジェクトに関連する設定
4.仮想オブジェクトの操作
4−1.操作ウィンドウの例
4−2.アバタのアクション
4−3.アバタを用いたコミュニケーション
4−4.AR空間に対する操作
4−5.その他の操作
4−6.様々な動作モード
5.ARコミュニティ
5−1.ARコミュニティの形成
5−2.可変パラメータの調整
5−3.初期位置の設定
5−4.様々なアクセスモード
6.処理の流れの例
6−1.チェックイン時の画面遷移
6−2.ARアプリケーションの実行
6−3.アクション判定処理
7.変形例
7−1.端末とサーバとの連携
7−2.簡易的な実空間の認識
8.まとめ
<1.概要>
まず、図1及び図2を用いて、本開示に係る技術の概要を説明する。図1及び図2は、一実施形態に係る情報処理装置100の概要について説明するための説明図である。
図1を参照すると、ユーザUaが有する情報処理装置100aが示されている。ユーザUaは、実空間11aに向けて情報処理装置100aを掲げている。情報処理装置100aは、実空間11aに向けられたレンズを有するカメラ(撮像装置)と、ディスプレイの画面とを備える。図1の例において、実空間11aには、実オブジェクトR10a、R11a、R12及びR13が存在する。実オブジェクトR10aは、テーブルである。実オブジェクトR11aは、ポスターである。実オブジェクトR12は、本である。実オブジェクトR13は、マグカップである。情報処理装置100aのカメラは、実空間11aを撮像することにより、撮像画像を生成する。情報処理装置100aのディスプレイは、撮像画像を画面に表示し得る。情報処理装置100aは、拡張現実(AR)アプリケーションを動作させる制御部(図示せず)を備え得る。ARアプリケーションは、実空間が映る撮像画像を入力画像として受け取り、仮想オブジェクトの重畳された出力画像をディスプレイへ出力する。図1の例では、仮想オブジェクトA11があたかもテーブルR10aの上に立っているかのように、出力画像Im11において仮想オブジェクトA11が重畳されている。
図2を参照すると、ユーザUbが有する情報処理装置100bが示されている。ユーザUbは、実空間11bに向けて情報処理装置100bを掲げている。情報処理装置100bは、実空間11bに向けられたレンズを有するカメラ(撮像装置)と、ディスプレイの画面とを備える。図2の例において、実空間11bには、実オブジェクトR10b、R11b、R14及びR15が存在する。実オブジェクトR10bは、テーブルである。実オブジェクトR11bは、ポスターである。実オブジェクトR14は、ペンである。実オブジェクトR15は、コーヒーカップである。情報処理装置100bのカメラは、実空間11bを撮像することにより、撮像画像を生成する。情報処理装置100bのディスプレイは、撮像画像を画面に表示し得る。情報処理装置100bは、ARアプリケーションを動作させる制御部(図示せず)を備え得る。ARアプリケーションは、実空間が映る撮像画像を入力画像として受け取り、仮想オブジェクトの重畳された出力画像をディスプレイへ出力する。図2の例では、仮想オブジェクトA11、A12及びA13があたかもテーブルR10bの上で歩いているかのように、出力画像Im12において仮想オブジェクトA11、A12及びA13が重畳されている。
図1の例において、仮想オブジェクトA11は、ユーザUaのアバタである。アバタA11は、実空間11aに関連付けて設定される拡張現実空間(AR空間)内に配置され、様々なアクションを実行し得る。ユーザUaは、画面に表示されるアバタA11を閲覧し、又はアバタA11を操作することにより、ARアプリケーションを楽しむことができる。
ARアプリケーションは、単独のユーザによって利用されてもよく、又は複数のユーザによって利用されてもよい。図2の例において、仮想オブジェクトA11はユーザUaのアバタであり、仮想オブジェクトA12はユーザUbのアバタである。即ち、図1において実空間11aに関連付けて設定されているAR空間と共通するAR空間が、図2では実空間11bに関連付けて設定されている。それにより、同じAR空間が、ユーザUaとユーザUbとの間で共有される。ユーザUaは情報処理装置100aを用いてアバタA11を操作し、ユーザUbは情報処理装置100bを用いてアバタA12を操作し得る。アバタA11とアバタA12とが互いにインタラクションすることも可能である。それにより、ARアプリケーションを介するユーザ間のコミュニケーションが成立する。アバタA13は、また別のユーザのアバタであってもよく、又は何らかのアルゴリズムに従って自律的に動作するキャラクタ(NPC(Non-Player Character)ともいう)であってもよい。
このように、AR技術においてユーザのアバタを仮想オブジェクトとして用いる際、単にアバタが活動する空間の背景が実空間の画像となるだけでは、拡張現実の魅力は十分に引き出されない。そこで、次節より詳細に説明する様々な実施形態によって、仮想現実とは異なる拡張現実の特性を活かした魅力的なユーザ体験を提供するための仕組みを実現する。
なお、以下の説明において、情報処理装置100a及び100bを互いに区別する必要が無い場合には、符号の末尾のアルファベットを省略することにより、これらを情報処理装置100と総称する。
図1及び図2では、情報処理装置100の一例としてタブレット端末を示している。しかしながら、情報処理装置100は、かかる例に限定されない。情報処理装置100は、例えば、PC(Personal Computer)、PDA(Personal Digital Assistant)、スマートフォン、ゲーム端末、PND(Portable Navigation Device)、コンテンツプレーヤ又はデジタル家電機器などであってもよい。また、情報処理装置100は、HMD(Head Mounted Display)などのウェアラブル装置であってもよい。また、ARアプリケーションは、ユーザにより操作される端末上で動作する代わりに、端末との間で通信可能な他の装置(例えば、アプリケーションサーバ)上で動作してもよい。
<2.一実施形態に係る情報処理装置の構成例>
[2−1.ハードウェア構成]
図3は、一実施形態に係る情報処理装置100のハードウェア構成の一例を示すブロック図である。図3を参照すると、情報処理装置100は、カメラ102、センサ104、入力インタフェース106、メモリ108、ディスプレイ110、通信インタフェース112、バス116及びプロセッサ118を備える。
(1)カメラ
カメラ102は、画像を撮像するカメラモジュールである。カメラ102は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を用いて実空間を撮像し、撮像画像を生成する。カメラ102により生成される撮像画像は、プロセッサ118により実行される情報処理の入力画像となる。なお、カメラ102は、必ずしも情報処理装置100の一部でなくてもよい。例えば、情報処理装置100と有線又は無線で接続される撮像装置がカメラ102として扱われてもよい。
(2)センサ
センサ104は、情報処理装置100の地理的位置を測位する測位センサを含むセンサモジュールである。例えば、測位センサは、GPS(Global Positioning System)信号を受信して緯度、経度及び高度を測定してもよく、無線アクセスポイントとの間で送受信される無線信号に基づいて位置を測定してもよい。さらに、センサ104は、加速度センサ及びジャイロセンサなどのその他の種類のセンサを含んでもよい。センサ104により生成されるセンサデータは、実空間の認識の支援、地理的な位置に特化したデータの取得、又はユーザ入力の検出などの様々な用途のために利用されてよい。
(3)入力インタフェース
入力インタフェース106は、ユーザが情報処理装置100を操作し又は情報処理装置100へ情報を入力するために使用される入力デバイスである。入力インタフェース106は、例えば、ディスプレイ110の画面(又は画面の反対側の筐体表面)上へのユーザによるタッチを検出するタッチセンサを含んでもよい。その代わりに(又はそれに加えて)、入力インタフェース106は、ボタン、スイッチ、キーパッド又はポインティングデバイスなどのその他の種類の入力デバイスを含んでもよい。また、入力インタフェース106は、ユーザにより発せられる音声コマンドをユーザ入力として認識する音声入力モジュール、又はユーザの視線方向をユーザ入力として検出する視線検出モジュールを含んでもよい。
(4)メモリ
メモリ108は、半導体メモリ又はハードディスクなどの記憶媒体により構成され、情報処理装置100による処理のためのプログラム及びデータを記憶する。メモリ108により記憶されるデータは、撮像画像データ、センサデータ、及び後に説明するデータ記憶部内の様々なデータを含み得る。なお、本明細書で説明するプログラム及びデータの一部は、メモリ108により記憶されることなく、外部のデータソース(例えば、データサーバ、ネットワークストレージ又は外付けメモリなど)から取得されてもよい。
(5)ディスプレイ
ディスプレイ110は、LCD(Liquid Crystal Display)、OLED(Organic light-Emitting Diode)又はCRT(Cathode Ray Tube)などのディスプレイを含む表示モジュールである。ディスプレイ110は、例えば、情報処理装置100により生成されるARアプリケーションの画像を表示するために使用される。なお、ディスプレイ110もまた、必ずしも情報処理装置100の一部でなくてもよい。例えば、情報処理装置100と有線又は無線で接続される表示装置がディスプレイ110として扱われてもよい。
(6)通信部
通信インタフェース112は、情報処理装置100による他の装置との間の通信を仲介する通信インタフェースである。通信インタフェース112は、任意の無線通信プロトコル又は有線通信プロトコルをサポートし、他の装置との間の通信接続を確立する。
(7)バス
バス116は、カメラ102、センサ104、入力インタフェース106、メモリ108、ディスプレイ110、通信インタフェース112及びプロセッサ118を相互に接続する。
(8)制御部
プロセッサ118は、CPU(Central Processing Unit)又はDSP(Digital Signal Processor)などに相当し得る。プロセッサ118は、メモリ108又は他の記憶媒体に記憶されるプログラムを実行することにより、後に説明する情報処理装置100の様々な機能を動作させる。
[2−2.論理的機能の構成]
図4は、図3に示した情報処理装置100のメモリ108及びプロセッサ118により実現される論理的機能の構成の一例を示すブロック図である。図4を参照すると、情報処理装置100は、画像取得部120、データ取得部130、AR処理部140、及びデータ記憶部160を備える。AR処理部140は、認識部142、AR空間設定部144及びオブジェクト制御部146を有する。
(1)画像取得部
画像取得部120は、実空間を映した撮像画像を入力画像としてカメラ102から取得する。画像取得部120により取得される入力画像は、典型的には、動画を構成する各フレームである。画像取得部120は、取得した入力画像を、AR処理部140へ出力する。
(2)データ取得部
データ取得部130は、AR処理部140がARアプリケーションを動作させるために使用されるデータを取得する。例えば、データ取得部130は、センサ104により生成されるセンサデータ、及び通信インタフェース112を介して外部装置から受信される外部データを取得する。後に説明するデータ記憶部160内のデータの各々は、情報処理装置100により予め記憶されてもよく、又は外部装置から動的に受信されてもよい。
(3)認識部
認識部142は、画像取得部120から入力される入力画像に映る実オブジェクトを認識し、認識した実オブジェクトごとの実空間内の位置及び姿勢を表現する実空間マップ164を生成する。また、認識部142は、情報処理装置100(カメラ102)の位置及び姿勢をも認識する。認識部142は、例えば、SfM(Structure from Motion)法又はSLAM(Simultaneous Localization And Mapping)法などの公知の画像認識アルゴリズムに従い、実オブジェクト及び情報処理装置100の3次元的な位置及び姿勢を認識してもよい。一例として、特開2011−159162号公報は、SLAM法を活用することにより実空間マップ(環境マップ)を動的に構築するための手法を開示している。認識部142は、かかる手法を応用することにより、実オブジェクト及び情報処理装置100の3次元的な位置及び姿勢をリアルタイムで認識し、実空間マップ164を生成することができる。その代わりに、認識部142は、カメラ102に追加的に設けられ得る深度センサからの深度データに基づいて、情報処理装置100に対する実オブジェクトの相対的な位置及び姿勢を認識してもよい。また、認識部142は、赤外線測距システム又はモーションキャプチャシステムなどの環境認識システムからの出力データに基づいて、認識処理を実行してもよい。認識部142は、新たな入力画像が入力される都度更新され得る実空間マップ164を、データ記憶部160に記憶させる。
(4)AR空間設定部
AR空間設定部144は、入力画像に映る実空間を仮想的に拡張する拡張現実空間(AR空間)を設定する。本実施形態において、AR空間とは、実空間に関連付けて設定される3次元的な空間である。図1及び図2を用いて説明したアバタ及びその他の仮想オブジェクトは、AR空間設定部144により設定されるAR空間内に配置され、AR空間内で様々なアクションを行う。AR空間が実空間に関連付けて設定されるため、例えば、カメラ102の画角が変化しても仮想オブジェクトが実空間内の同じ位置に留まっているかのような表示、又はアバタが実オブジェクトの表面上を移動するかのような表示が可能となる。AR空間設定部144は、設定すべきAR空間を表現するAR空間モデル166を生成し又は取得し、AR空間モデル166をデータ記憶部160に記憶させる。
ある実施例において、AR空間設定部144は、入力画像に映る実空間内の実オブジェクト(例えば、実空間マップ164により表現される各オブジェクト)をボクセル単位で離散化することにより、AR空間モデル166を生成する。ボクセル(Voxel)とは、体積を有する単位要素である。通常は、立方体状の3次元的な小ブロックがボクセルとして使用され得る。別の実施例において、AR空間設定部144は、他のユーザの撮像画像に基づいて生成されるAR空間モデル166を、外部データとして取得する。AR空間モデル166により表現されるAR空間は、撮像画像に関連する関連情報に応じて異なってもよい。このようなAR空間を設定するための様々な手法について、後にさらに説明する。
AR空間モデル166において、実空間内の実オブジェクトに対応する仮想オブジェクトは、例えば、当該実オブジェクトの形状を、ボクセル単位で離散的に表現する。AR空間設定部144は、これら仮想オブジェクトの表示属性(例えば、テクスチャ及び色など)を、様々な条件に従って設定し得る。仮想オブジェクトの表示属性を設定するための様々な条件について、後にさらに説明する。
(5)オブジェクト制御部
オブジェクト制御部146は、AR空間内に仮想オブジェクトを配置し、配置した仮想オブジェクトを画面に表示させる。オブジェクト制御部146により配置される仮想オブジェクトは、図1及び図2を用いて説明したようなユーザのアバタを含む。また、仮想オブジェクトは、アバタとは異なるオブジェクト(例えば、チャットなどのコミュニケーションのためのメッセージオブジェクト又は自律的に動作するキャラクタなど)を含んでもよい。オブジェクト制御部146は、例えば、AR空間モデル166により表現される水平面上のいずれかの場所に、アバタ又はキャラクタを配置してもよい。また、オブジェクト制御部146は、ある実オブジェクトに関連する仮想オブジェクトを、当該実オブジェクトの近傍に配置してもよい。典型的には、オブジェクト制御部146は、仮想オブジェクトが互いに干渉しないように、各仮想オブジェクトを配置する。ここでの干渉とは、AR空間内の同じ体積要素を2つ以上の仮想オブジェクトが占めることをいう(オブジェクトの衝突と表現されてもよい)。例えば、アバタが実オブジェクトに対応する仮想オブジェクトと干渉すると、出力画像において実オブジェクトにアバタがめり込んでいるような不自然な表示がなされ得る。そうしたオブジェクト間の干渉の回避について、後にさらに説明する。
AR空間内に配置した仮想オブジェクトがユーザにより操作可能である場合、オブジェクト制御部146は、当該仮想オブジェクトのアクションをユーザ入力に応じて決定する。また、オブジェクト制御部146は、自律的に動作する仮想オブジェクトのアクションを、何らかの自律制御アルゴリズム(あるいはAI(人工知能))に従って決定する。そして、オブジェクト制御部146は、決定したアクションを仮想オブジェクトに実行させる。仮想オブジェクト(例えば、アバタ)をユーザが操作するための様々なユーザインタフェースについて、後にさらに説明する。
オブジェクト制御部146は、画像取得部120から入力される入力画像、及びユーザ入力に基づいて、AR空間設定部144により設定されたAR空間内の1つ以上の仮想オブジェクトの状態を動的に更新し、仮想オブジェクトの画像を生成する。各仮想オブジェクトの画像は、例えば、カメラ102の位置及び姿勢、並びにAR空間内の各仮想オブジェクトの位置及び姿勢に基づいて、ピンホールモデルに従って生成されてもよい。そして、オブジェクト制御部146は、仮想オブジェクト画像の重畳された実空間の画像(出力画像)を、ディスプレイ110の画面に表示させる。このような出力画像が動的に更新される結果として、画面上では、実空間が仮想オブジェクトによって拡張されたかのような表示が実現され得る。
(6)データ記憶部
データ記憶部160は、実オブジェクトデータ162、実空間マップ164、AR空間モデル166及び仮想オブジェクトデータ168を記憶する。
実オブジェクトデータ162は、実空間に存在し得る実オブジェクトの特徴を定義するデータである。実オブジェクトデータ162は、例えば、実オブジェクトごとの形状、サイズ及びテクスチャを定義し、又は実オブジェクトごとの画像特徴量を含み得る。実オブジェクトデータ162は、例えば、認識部142が撮像画像に映る実オブジェクトを認識するために使用され得る。
実空間マップ164は、認識部142により認識される実オブジェクトごとの実空間内の位置及び姿勢を表現するデータである。実空間マップ164は、例えば、AR空間設定部144がAR空間を設定する際に参照され得る。カメラ102の位置及び姿勢もまた実空間マップ164により表現されてもよい。
AR空間モデル166は、AR空間設定部144により設定されるAR空間を表現するデータである。AR空間モデル166は、例えば、オブジェクト制御部146が仮想オブジェクトをAR空間に配置し又は仮想オブジェクトのアクションを決定する際に参照され得る。AR空間モデル166は、配置された各仮想オブジェクトの位置及び姿勢を表現するデータを含んでもよい。
仮想オブジェクトデータ168は、AR空間に配置され得る仮想オブジェクトの特徴を定義するデータである。例えば、仮想オブジェクトデータ168は、ユーザごとに選択されるアバタのニックネーム、外観、及び実行可能なアクションの種類を定義する。また、仮想オブジェクトデータ168は、アバタとは異なる仮想オブジェクトの外観及び実行可能なアクションの種類を定義してもよい。仮想オブジェクトデータ168もまた、例えば、オブジェクト制御部146が仮想オブジェクトをAR空間に配置し又は仮想オブジェクトのアクションを決定する際に参照され得る。
このような情報処理装置100により実現され得るARアプリケーションの詳細を、次節よりさらに説明する。
<3.AR空間の設定>
本節では、実空間と関連付けてAR空間を設定するための様々な手法について説明する。
[3−1.AR空間の座標系]
仮想オブジェクトの位置及び姿勢は、AR空間の座標系(以下、AR座標系という)で表現される。AR座標系は、実空間マップ164において実オブジェクトの位置及び姿勢を表現するために使用される座標系と同一であってよい。AR座標系は、例えば、入力画像に映る何らかの実オブジェクトに沿って設定されてもよく、又はセンサデータから推定され得る水平面に沿って設定されてもよい。
一例として、ユーザがARアプリケーションを開始する際に撮像される実オブジェクトを、基準オブジェクトという。AR座標系は、認識部142により認識される基準オブジェクトの位置及び姿勢を基準として設定されてもよい。図5を参照すると、実オブジェクトR11aが示されている。実オブジェクトR11aは、「A」という文字が描かれたポスターである。ここでは、実オブジェクトR11aが基準オブジェクトとして使用される。図5に示したX−Y−Z座標系は基準オブジェクトR11aの位置及び姿勢に沿って設定されており、当該X−Y−Z座標系はAR座標系として使用され得る。AR座標系のスケールは、基準オブジェクトR11aのサイズに合わせて設定され得る。なお、上述したSLAM法に従って実空間が認識される場合、認識の初期段階において基準オブジェクトが撮像された後、基準オブジェクトが画角の外へ移動しても、AR座標系を見失うことなく実空間の認識を継続することが可能である。
[3−2.実空間マップからのAR空間の構築]
ある実施例において、AR空間設定部144は、例えば、認識部142により生成された実空間マップ164内の実オブジェクトの各々を上述したボクセル単位で離散化することにより、AR空間を構築する。
図6は、実オブジェクトの離散化の一例について説明するための説明図である。図6の上段を参照すると、実オブジェクトR10aの表面上に存在する実オブジェクトR12が示されている。AR座標系における実オブジェクトR12の位置及び姿勢(P12,W12)は、認識部142により実行される認識処理の結果として、実空間マップ164内に記述される。実オブジェクトR12の形状及びサイズは、実オブジェクトデータ162により予め定義され得る。従って、AR空間設定部144は、実オブジェクトR12の位置、姿勢、形状及びサイズに基づいて実オブジェクトR12の空間的な境界を算出し、実オブジェクトR12がどの範囲のボクセルを占めているかを判定することができる。
図6の下段には、実オブジェクトR12が占めているボクセルの集合に相当する仮想オブジェクトV12が示されている。例えば、ボクセルVX1は、その体積の半分以上が実オブジェクトR12の空間的な境界の内側にあるため、仮想オブジェクトV12を構成する。一方、ボクセルVX2は、実オブジェクトR12の空間的な境界の外側にあるため、仮想オブジェクトV12を構成しない。各ボクセルが実オブジェクトを構成するか否かは、例えばボクセルごとに1ビットの情報によって表現され得る。このように、実オブジェクトをボクセル単位で離散化し、実オブジェクトにより占められているボクセルとそうでないボクセルとをAR空間モデル166において識別しておくことにより、AR空間をハンドリングする際の様々なメリットが生じる。それらメリットについては、後にさらに説明する。
図7は、実空間マップから構築されるAR空間の一例について説明するための説明図である。図7の上段には、図1を用いて説明した実空間11aについて認識部142により生成され得る実空間マップが、概念的に示されている。当該実空間マップは、実オブジェクトR10aの位置及び姿勢(P10、W10)、実オブジェクトR11aの位置及び姿勢(P11、W11)、実オブジェクトR12の位置及び姿勢(P12、W12)、並びに実オブジェクトR13の位置及び姿勢(P13、W13)を含む。図7の下段には、実空間11aについて実空間マップを離散化することにより生成され得るAR空間モデルM10が、概念的に示されている。AR空間モデルM10は、実オブジェクトR10a、R11a、R12及びR13により空間的に占められているボクセルを識別する。仮想オブジェクトV10aは実オブジェクトR10aに、仮想オブジェクトV11aは実オブジェクトR11aに、仮想オブジェクトV12は実オブジェクトR12に、仮想オブジェクトV13は実オブジェクトR13にそれぞれ対応する。このようなAR空間モデルが、アバタ及びその他の仮想オブジェクトのAR空間内のアクションを制御するために使用され得る。
なお、実空間マップ及びAR空間モデルは、それぞれ、複数の入力画像を用いた累積的な認識結果に基づいて生成されてよい。即ち、AR空間が構築されるフェーズにおいて、1人のユーザが周囲の実空間をスキャンするようにカメラ102の画角を動かすことにより、複数のフレームにわたって認識される広い空間的範囲にわたる実空間マップ及びAR空間モデルが生成されてよい。その代わりに、複数のユーザにより並列的に撮像された複数の実空間の入力画像から、広い空間的範囲にわたる実空間マップ及びAR空間モデルが協調的に生成されてもよい。
[3−3.AR空間のカスタマイズ]
AR空間は、実空間を離散化することにより構築された状態から、ユーザによりカスタマイズされてもよい。図8は、AR空間のカスタマイズの一例について説明するための説明図である。図8を参照すると、図7の下段に示したAR空間モデルM10が再び示されている。但し、図8の例では、AR空間モデルM10は、仮想オブジェクトV16及び窪みH17を含む。仮想オブジェクトV16は、実オブジェクトに対応しない、仮想的なブロックの集合である。仮想オブジェクトV16により占められるボクセルもまた、AR空間モデルM10により識別され得る。仮想的なブロックを追加するためのユーザインタフェースの一例について、後にさらに説明する。窪みH17は、本来実オブジェクトが占めていたはずのボクセルであって、実オブジェクトが存在しないとされるボクセルに相当する。このようなAR空間のカスタマイズが可能となれば、ユーザが自らの意図に沿ってゲームのフィールド又は他ユーザとのコミュニケーションのフィールドを独自に構築することが可能となる。例えば、対戦型ゲームのフィールドにおいて、仮想オブジェクトV16は障害物に、窪みH17は落とし穴にそれぞれなり得る。
[3−4.仮想オブジェクトの表示属性の設定]
AR空間設定部144は、AR空間モデル166において、実オブジェクトに対応する仮想オブジェクトの表示属性を、様々な条件に従って設定し得る。AR空間設定部144により設定され得る仮想オブジェクトの表示属性は、仮想オブジェクトのテクスチャ及び色を含み得る。以下、実オブジェクトに対応する仮想オブジェクトの表示属性を設定するための手法のいくつかの例を説明する。
(1)第1の例
図9は、仮想オブジェクトのテクスチャ又は色を設定するための手法の第1の例について説明するための説明図である。第1の例において、AR空間設定部144は、各実オブジェクトに対応する各仮想オブジェクトのテクスチャ又は色を、当該実オブジェクトのテクスチャ又は色に基づいて設定する。図9の上段には、実オブジェクトR12が示されている。実オブジェクトR12は本であり、その表紙には模様が描かれている。実オブジェクトR12の側面には、重なったページの端部が見えている。AR空間設定部144は、このような実オブジェクトR12に対応する仮想オブジェクトV12の表面のテクスチャ又は色を、入力画像から取得され得る実オブジェクトR12のテクスチャ又は色に基づいて設定する。図9の下段には、テクスチャ又は色の付与された仮想オブジェクトV12が示されている。図9の例では、テクスチャ又は色は、ボクセルの面ごとに決定されている。なお、仮想オブジェクトのテクスチャ又は色は、オブジェクトごとに決定されてもよく、又は仮想オブジェクトの面ごとに決定されてもよい。このような手法によれば、離散化された仮想オブジェクトの外観が対応する実オブジェクトの外観に似たものとなるため、実オブジェクトの代わりに対応する仮想オブジェクトが表示される場合にも、出力画像において実空間の状況をユーザが把握することが容易となる。
(2)第2の例
図10は、仮想オブジェクトのテクスチャ又は色を設定するための手法の第2の例について説明するための説明図である。第2の例において、AR空間設定部144は、各実オブジェクトに対応する各仮想オブジェクトのテクスチャ又は色を、基準オブジェクトのテクスチャ又は色に基づいて設定する。図10の上段には、実オブジェクトR12及びR19が示されている。実オブジェクトR12は本である。実オブジェクトR19は、飲料缶である。これら2つの実オブジェクトのうち、実オブジェクトR19が基準オブジェクトであるものとする。AR空間設定部144は、実オブジェクトR12に対応する仮想オブジェクトV12の表面のテクスチャ又は色を、基準オブジェクトR19のテクスチャ又は色に基づいて設定する。図10の下段には、テクスチャの付与された仮想オブジェクトV12が示されている。図10の例では、仮想オブジェクトV12のテクスチャは、基準オブジェクトR19の外観に類似する外観を示している。このような手法によれば、ユーザにより撮像される特定の実オブジェクトの外観でユーザの部屋の空間を装飾するような特別なAR空間を提供することが可能となる。また、特定の製品のマーケティングを計画する企業が、当該製品を基準オブジェクトとして使用するARアプリケーションを提供してもよい。その場合には、製品のパッケージ又はロゴの外観でユーザの周囲の空間が装飾されるため、ユーザに対する当該製品の認知度を高め、ユーザの購買意欲を喚起することができる。
(3)変形例
図11は、仮想オブジェクトの表示属性を設定するための手法の一変形例について説明するための説明図である。ここでは、AR空間設定部144は、各実オブジェクトに対応する各仮想オブジェクトの外観の種類を、当該実オブジェクトの地形的パラメータに基づいて設定する。実オブジェクトの地形的パラメータとは、例えば、実オブジェクトの水平方向の幅、何らかの基準面からの高さ、及び位置を含み得る。図11の上段には、実オブジェクトR12及びR13が示されている。実オブジェクトR12は、第1の閾値を上回る幅と第2の閾値を上回る高さとを有する。実オブジェクトR13は、第1の閾値を下回る幅と第2の閾値を上回る高さとを有する。AR空間設定部144は、このような地形的パラメータに基づいて、実オブジェクトR12に対応する仮想オブジェクトV12の外観の種類を、山に設定する。また、AR空間設定部144は、実オブジェクトR13に対応する仮想オブジェクトV13の外観の種類を、木に設定する。AR空間設定部144は、基準面と等しい高さを有する領域の外観の種類を地面に、基準面よりも低い高さを有する領域の外観の種類を水面にそれぞれ設定してもよい。このような手法により、ユーザの周囲の空間が自然の景観で装飾されたかのような特別なAR空間をユーザに提供することができる。
[3−5.AR空間の共有]
ここまで説明したような手法で構築されるAR空間は、1人のユーザがARアプリケーションを楽しむために利用されてもよく、又は複数のユーザがアバタなどの仮想オブジェクトを介してコミュニケーションするために利用されてもよい。後者の場合、複数のユーザがそれぞれ個別にAR空間を構築するだけでは、それらAR空間は共有されない。そこで、本項では、複数のユーザの間でAR空間を共有するための手法のいくつかの例を説明する。
(1)第1の例
図12は、複数のユーザの間でAR空間を共有するための手法の第1の例について説明するための説明図である。第1の例では、AR空間設定部144は、AR空間が複数のユーザにより共有される場合に、当該複数のユーザのうちの親ユーザの撮像画像に基づいて設定されるAR空間を、複数のユーザの各々に適用する。図12には、ユーザUa、Ub及びUcが示されている。これらユーザのうち、ユーザUaは親ユーザであり、ユーザUb及びUcは子ユーザである。AR空間モデルM11は、親ユーザUaの撮像画像に基づいて設定されるAR空間を表現するモデル(以下、親AR空間モデルという)である。親AR空間モデルM11は、例えば、親ユーザUaの周囲の実空間を離散化することにより生成され得る。そして、親AR空間モデルM11は、親ユーザUaの端末又はアプリケーションサーバから、子ユーザUb及びUcの端末にそれぞれ配信される。子ユーザ側の情報処理装置100のAR空間設定部144は、データ取得部130を介して取得される親AR空間モデルを参照し、画像取得部120により取得される入力画像に映る実空間と関連付けて、親AR空間モデルにより表現されるAR空間を設定する。このような手法によれば、例えば、選択された親ユーザの部屋へ子ユーザのアバタが訪問しているかのようなARアプリケーションを実現することが可能となる。
(2)第2の例
図13は、複数のユーザの間でAR空間を共有するための手法の第2の例について説明するための説明図である。第2の例では、AR空間設定部144は、AR空間が複数のユーザにより共有される場合に、当該複数のユーザの撮像画像に基づいてそれぞれ構築される複数のユーザ別AR空間を統合することにより、1つのAR空間を形成する。AR空間設定部144は、例えば、複数のユーザ別AR空間の和をボクセル単位で計算することにより、当該複数のユーザ別AR空間を統合し得る。図13には、ユーザUa及びUbが示されている。ユーザUa及びUbは、互いにピアユーザである。図13の左上には、ユーザUaの周囲の実空間を離散化することにより構築されるユーザ別AR空間を表現するユーザ別AR空間モデルM21が示されている。図13の右上には、ユーザUbの周囲の実空間を離散化することにより構築されるユーザ別AR空間を表現するユーザ別AR空間モデルM22が示されている。ユーザ別AR空間モデルM21及びM22は、ユーザUa及びUbの端末において又はアプリケーションサーバにおいて統合され、1つの統合AR空間モデルM23が形成される。図13の例では、ユーザ別AR空間モデルM21及びM22は、基準オブジェクトの位置及び姿勢を基準として位置決め(align)された上で、ボクセル単位で論理和を計算することにより統合され、統合AR空間モデルM23が形成されている。ここでの論理和は、少なくとも一方のユーザ別AR空間モデルにおいて実(仮想)オブジェクトにより占められていると識別されるボクセルが、統合AR空間モデルにおいても実(仮想)オブジェクトにより占められていると識別されることを意味する。例えば、ユーザ別AR空間モデルM21は、実オブジェクトに対応する仮想オブジェクトV21及びV22を含む。ユーザ別AR空間モデルM22は、実オブジェクトに対応する仮想オブジェクトV23及びV24を含む。統合AR空間モデルM23は、これら仮想オブジェクトV21、V22、V23及びV24の全てを含む。
ここで、対比のために、(統合AR空間モデルM23ではなく)ユーザ別AR空間モデルM22がユーザUa及びUbの間で共有される状況を想定する。図1及び図2を用いて説明したアバタは、AR空間内で他の仮想オブジェクトに衝突しないように移動し得る。しかし、ユーザ別AR空間モデルM22は仮想オブジェクトV22を含まないため、アバタが仮想オブジェクトV22の位置を通過してしまうことがあり得る。ユーザUbの側では仮想オブジェクトV22の位置に実オブジェクトは存在しないため、このようなアバタの動きは問題とならない。一方、ユーザUaの側では、仮想オブジェクトV22の位置に実オブジェクトが存在するため、アバタが当該実オブジェクトを通り抜けたように見えるという不自然な表示が行われ得る。これに対し、統合AR空間モデルM23がユーザUa及びUbの間で共有される場合には、統合AR空間モデルM23が仮想オブジェクトV21、V22、V23及びV24の全てを含むため、共有されるAR空間内のアバタがいずれのユーザの周囲の実オブジェクトと干渉することも効果的に防止される。ユーザ別AR空間モデルがボクセル単位で離散化されていれば、ボクセル単位の論理演算に基づく単純なアルゴリズムによって、少ない計算負荷でAR空間モデルを統合することが可能である。なお、他の例において、論理和の代わりに論理積が計算されてもよい。
(3)第3の例
図14は、複数のユーザの間でAR空間を共有するための手法の第3の例について説明するための説明図である。第3の例では、AR空間設定部144は、AR空間が複数のユーザにより共有される場合に、当該複数のユーザの撮像画像に基づいてそれぞれ構築される複数のユーザ別AR空間を統合することにより、1つのAR空間を形成する。AR空間は、ユーザにそれぞれ割当てられる複数のテリトリに区分され、AR空間設定部144は、例えば、テリトリごとのユーザの割当てに従って、それぞれ異なるユーザ別拡張現実空間をテリトリごとに選択することにより、ユーザ別拡張現実空間を統合し得る。図14には、ユーザUa及びUbが示されている。ユーザUbは、ユーザUaの相手ユーザである。図14の左上には、ユーザUaの周囲の実空間を離散化することにより構築されるユーザ別AR空間を表現するユーザ別AR空間モデルM31が示されている。図14の右上には、ユーザUbの周囲の実空間を離散化することにより構築されるユーザ別AR空間を表現するユーザ別AR空間モデルM32が示されている。ユーザ別AR空間モデルM31及びM32は、ユーザUa及びUbの端末において又はアプリケーションサーバにおいて統合され、1つの統合AR空間モデルM33が形成される。図14の例では、基準オブジェクトの位置を基準として、AR空間の左半分がユーザUaに割当てられるテリトリTa、AR空間の右半分がユーザUbに割当てられるテリトリTbである。AR空間設定部144は、テリトリTaについてユーザ別AR空間モデルM31を選択し、テリトリTaについてユーザ別AR空間モデルM32を選択し、これら選択したユーザ別AR空間モデルをテリトリ境界で結合することにより、統合AR空間モデルM33を形成する。統合AR空間モデルM33は、テリトリTaにおいてユーザ別AR空間モデルM31に含まれていた仮想オブジェクトV31を含み、テリトリTbにおいてユーザ別AR空間モデルM32に含まれていた仮想オブジェクトV32及びV33を含む。
このような手法によれば、AR空間の構築及びカスタマイズを、テリトリ別に複数のユーザが分担して行うことが可能となる。また、対戦型ゲーム(例えば、アバタによるサバイバルゲーム、ドッジボール又は雪合戦など)の用途において、ユーザがそれぞれ自分の陣地を構築し、ユーザ別の陣地を結合することにより全体としての1つの対戦フィールドを形成することも可能となる。
なお、いずれの手法においても、AR空間設定部144は、複数のユーザにより共有されるAR空間の表示スケールを、例えば入力画像に映る実空間内の基準オブジェクトのサイズに基づいて設定してよい。それにより、例えば、サーバから配信されるAR空間モデルを用いてAR空間を設定した場合に、設定したAR空間が実空間から浮いて見えたり逆に沈んで見えたりするような不自然な表示を回避することができる。その代わりに、AR空間の表示スケールは、例えば、実空間の床面、壁面又はテーブルの表面などの何らかの基準面とカメラとの距離に基づいて設定されてもよい。
[3−6.共有されるオブジェクトの表示]
(1)仮想オブジェクトの表示属性
複数のユーザの間でAR空間が共有される場合、あるユーザの周囲には存在しない実オブジェクトに対応する仮想オブジェクトが、共有されるAR空間モデルに含まれる可能性がある。この場合、当該仮想オブジェクトが表示されなければ、ユーザは、そのオブジェクトの存在を認識しない。一方、ユーザの周囲に存在する実オブジェクトに対応する仮想オブジェクトが表示されなかったとしても、当該実オブジェクトは入力画像に映るため、ユーザは、そのオブジェクトの存在を認識することができる。実オブジェクトに対応する仮想オブジェクトを画面に表示させる際、オブジェクト制御部146は、仮想オブジェクトの表示属性を、当該仮想オブジェクトに対応する実オブジェクトがどのユーザの撮像画像に映っているかに応じて変化させてもよい。例えば、オブジェクト制御部146は、自装置のユーザの撮像画像に映っている実オブジェクトに対応する仮想オブジェクトは非表示又は半透明とし、他のユーザの撮像画像に映っている実オブジェクトに対応する仮想オブジェクトのみを入力画像に重畳してもよい。また、オブジェクト制御部146は、他のユーザの撮像画像に映っている実オブジェクトに対応する仮想オブジェクトのテクスチャ又は色を、ユーザごとに異なるように設定してもよい。
図15は、複数のユーザにより共有されるAR空間の表示の一例について説明するための説明図である。図15を参照すると、ユーザUaが有する情報処理装置100aが示されている。情報処理装置100aの画面には、入力画像に重畳されたユーザUaのアバタA11及びユーザUbのアバタA12が表示されている。入力画像には、実オブジェクトR12が映っている。実オブジェクトR12は、ユーザUaの周囲の実空間に存在する。さらに、情報処理装置100aの画面には、仮想オブジェクトV15が表示されている。仮想オブジェクトV15に対応する実オブジェクトは、ユーザUaの周囲の実空間には存在せず、ユーザUbの周囲の実空間(図示せず)に存在する。このように仮想オブジェクトの表示属性(図15の例では、表示/非表示)が設定されることにより、ユーザは、ARアプリケーションの画像内で、自身の周囲に存在するオブジェクトとそれ以外のオブジェクトとを見分けることができる。また、仮想オブジェクトの表示属性がユーザごとに別々に設定される場合には、どの仮想オブジェクトがどのユーザの周囲の実オブジェクトに由来しているのかを、ユーザが見分けることが可能となる。
(2)共有/非共有の設定
複数のユーザの間でAR空間が共有される場合に、ユーザは、自らの周囲にどのような実オブジェクトが存在するかを他のユーザに知られることを望まない可能性がある。ARアプリケーションを開始するにあたって、他のユーザに知られたくない実オブジェクトを実空間から物理的に排除しなければならないとすれば、ユーザにとっては不便である。そこで、AR空間設定部144は、ユーザにより指定される実オブジェクトのみを離散化することにより、AR空間を設定してもよい。その代わりに、AR空間設定部144は、AR空間から除外すべき実オブジェクトをユーザに指定させ、除外されなかった実オブジェクトを離散化することにより、AR空間を設定してもよい。
図16は、共有し又は共有しないオブジェクトをユーザが指定するためのユーザインタフェースの一例について説明するための説明図である。図16を参照すると、情報処理装置100aの画面に、実空間11aを映した画像Im13が表示されている。画像Im13には、実空間11aに存在する実オブジェクトR12が映っている。認識部142は、例えば実オブジェクトデータ162を用いて、実オブジェクトR12を認識する。AR空間設定部144は、AR空間を設定する前に、認識された実オブジェクトR12をAR空間から除外するか否かを問い合わせるメッセージMSG11を、画像Im13に重畳する。例えば、ユーザが実オブジェクトR12をAR空間から除外することを選択した場合には、実オブジェクトR12に対応する仮想オブジェクトは、AR空間モデルに含まれない。一方、ユーザが実オブジェクトR12をAR空間から除外しないことを選択した場合には、実オブジェクトR12に対応する仮想オブジェクトが、AR空間モデルに含まれる。このようなユーザインタフェースが提供されることにより、他のユーザとの間で共有することをユーザが許容するオブジェクトのみをARアプリケーションにおいて共有することが可能となる。
(3)ボクセルの粒度
AR空間設定部144は、実オブジェクトを離散化するために使用されるボクセルの粒度を、ユーザに指定させてもよい。ボクセルの粒度が小さければ、実オブジェクトに対応する仮想オブジェクトは、当該実オブジェクトの外観を明瞭に再現し得る。ボクセルの粒度が大きければ実オブジェクトに対応する仮想オブジェクトは、当該実オブジェクトの外観を曖昧にのみ再現し得る。
図17は、ボクセルの粒度の設定について説明するための説明図である。図17の左には、一例としての実オブジェクトR19が示されている。図17の右には、実オブジェクトR19に対応する仮想オブジェクトV19a、V19b及びV19cが示されている。仮想オブジェクトV19aのボクセル粒度は相対的に大きく、仮想オブジェクトV19aは3つのボクセルから構成される。仮想オブジェクトV19bのボクセル粒度は仮想オブジェクトV19aよりも小さく、仮想オブジェクトV19bは24個のボクセルから構成される。仮想オブジェクトV19cのボクセル粒度は仮想オブジェクトV19bよりもさらに小さく、仮想オブジェクトV19cはさらに多くのボクセルから構成される。図17から理解されるように、仮想オブジェクトV19cは、仮想オブジェクトV19a及びV19bと比較して、実オブジェクトR19の外観をより明瞭に再現している。
例えば、ユーザは、実空間の再現性を重要視する場合には、より小さいボクセル粒度を指定し得る。これに対し、ユーザは、実空間の再現性よりもプライバシー保護を重要視する場合には、より大きいボクセル粒度を指定し得る。このようなボクセル粒度を指定可能なユーザインタフェースが提供されれば、ユーザが個々の時点で自らの意図に合わせてボクセル粒度を選択することが可能となる。
ボクセル粒度は、ユーザにより直接的に指定される代わりに、ユーザのプライバシー設定に基づいて決定されてもよい。図17に示したように、ユーザが高レベルのプライバシー保護を求める場合には、AR空間設定部144は、より大きいボクセル粒度を決定する。一方、ユーザが低レベルのプライバシー保護を許容する場合には、AR空間設定部144は、より小さいボクセル粒度を決定する。このようなプライバシーレベルを指定可能なユーザインタフェースが提供されれば、ユーザが求めるプライバシー保護のレベルに合わせて、ARアプリケーションがボクセル粒度を適応的に調整することが可能となる。
<4.仮想オブジェクトの操作>
本節では、AR空間内に配置されるアバタ及びその他の仮想オブジェクトの操作に関連する様々な実施例について説明する。
[4−1.操作ウィンドウの例]
(1)アバタ選択ウィンドウ
図18は、アバタ選択ウィンドウの一例ついて説明するための説明図である。アバタ選択ウィンドウは、ユーザがアバタベースのARアプリケーションを開始する際に、又はユーザがユーザデータをアプリケーションに登録する際に表示され得るウィンドウである。図18の例において、アバタ選択ウィンドウIm21には、4体のアバタが表示されている。ユーザは、例えば左右方向のフリックによって、現在選択の候補となっているアバタを変更することができる。ユーザがOKボタンをタップすると、その時点で選択の候補となっているアバタ(典型的には、正面に表示されているアバタ)が、ユーザのためのアバタとして選択される。
(2)操作ウィンドウ
図19は、基本的な操作ウィンドウの一例ついて説明するための説明図である。操作ウィンドウは、ARアプリケーションが実行されている間に表示され得るウィンドウである。図19の例において、操作ウィンドウIm22には、オブジェクト制御部146により生成される出力画像が表示される。当該出力画像は、例えば、実空間を映した入力画像に仮想オブジェクトを重畳させることにより生成され得る。図19の例では、アバタA11及びアバタA12が仮想オブジェクトとして表示されている。また、操作ウィンドウIm22には、ボタンB1、B2、B3及びB4が重畳されている。
図1及び図2を用いて説明したように、ARアプリケーションを利用している間、ユーザは、原則として端末(カメラ)を実空間に向けて掲げている。カメラをどの方向に向けるかは、ARアプリケーションにとって重要である。カメラの姿勢の意図しないブレは、実空間の認識の精度にも悪影響を与え得る。そして、多くの携帯端末はタッチパネルディスプレイを有し、タッチ入力に基づくユーザインタフェースを採用しているが、タッチ入力は端末の姿勢のブレを比較的引き起こし易い。これに対し、本節で説明するユーザインタフェースは、端末の姿勢のブレを可能な限り低減することにより、ARアプリケーションの安定的な動作と操作性の向上とを実現する。
例えば、オブジェクト制御部146は、AR空間内のオブジェクトを表示する操作ウィンドウの右端領域及び左端領域の少なくとも一方に、ユーザにより操作されるユーザインタフェースを重畳する。当該右端領域及び左端領域は、ディスプレイを把持しているユーザの指が届く領域である。図19の例において、ボタンB1及びB2はユーザの右手の指が届く右端領域Rg1に、ボタンB3及びB4はユーザの左手の指が届く左端領域Rg2に重畳されている。このようなユーザインタフェースの配置によって、ユーザが両手で情報処理装置100を支持したままボタンB1、B2、B3又はB4にタッチすることが可能である。オブジェクト制御部146は、ユーザの利き手を自動的に判定し、ユーザの利き手の側の端部領域により多くのユーザインタフェースを配置してもよい。
また、例えば、オブジェクト制御部146は、AR空間内のオブジェクトとカメラの光軸との間の位置関係に基づいて、AR空間内で実行されるアクションの対象位置を決定する。カメラの光軸は、通常、撮像面の中央から撮像面に対して垂直に奥行き方向に伸びる直線である。図19には、AR空間内のテーブルの表面とカメラの光軸との交点C1が、×印で示されている。このようなAR空間内のオブジェクトとカメラの光軸との間の位置関係に基づくアバタのアクションのいくつかの例について、次項で説明する。
[4−2.アバタのアクション]
一例として、オブジェクト制御部146は、アバタにより実行されるアクションの対象位置を、AR空間内のオブジェクトとカメラの光軸との交点の位置に基づいて決定する。例えば、アバタは、AR空間内で移動する。この場合、アバタの移動の目的地がアクションの対象位置である。また、アバタは、AR空間内でアイテムを使用する。この場合、アバタが使用するアイテムの作用点がアクションの対象位置である。
(1)移動/停止
図20は、アバタの移動のための操作の一例について説明するための説明図である。図20の上段には、画像Im23aが示されている。画像Im23aには、アバタA11が表示されている。ここでは、説明の簡明さのために、実オブジェクトに対応する仮想オブジェクトのボクセルがグリッド状に可視化されている。しかしながら、実際には、ボクセルは必ずしも可視化されなくてもよい。アバタA11は、仮想オブジェクトV10の上面に配置されている。位置P11は、仮想オブジェクトV10とカメラの光軸との交点の位置である。位置P11がユーザに視認可能となるように、位置P11を指し示すマークが表示されてもよい。アバタA11は、位置P11を目的地として、AR空間内で移動する。図20の下段に示した画像Im23bにおいて、アバタA11は、より位置P11に近付いている。ユーザは、情報処理装置100を動かしてカメラの向きを変化させることにより、所望の目的地に向けてアバタを移動させることができる。その際、ユーザは画面にタッチする必要が無いため、ユーザは、情報処理装置100を安定的に支持しながらアバタを移動させることができる。なお、移動の目的地(アクションの対象位置)は、必ずしもオブジェクトとカメラの光軸との交点の位置に一致していなくてもよい。例えば、当該交点から一定のオフセットを有する位置が、アクションの対象位置として決定されてもよい。
なお、ユーザの操作に応じて移動の目的地が変化しても、オブジェクト制御部146は、アバタを即座にその目的地まで移動させるのではなく、目的地の変化速度よりも遅い速度でアバタを目的地に向けて移動させる。また、AR空間モデルは実オブジェクトをボクセル単位で離散化することにより生成され、オブジェクト制御部146は、図20の例のように、アクションの対象位置をボクセル単位で決定し得る。従って、カメラの姿勢の微小なブレに起因してオブジェクトとカメラの光軸との交点の位置がわずかに変動したとしても、その変動が1つのボクセルの範囲内に留まる限り、アクションの対象位置は変化しない。これら工夫によって、カメラの動きに対してアバタの動きが過剰にセンシティブになることが回避される。その結果、ARアプリケーションにおけるアバタの自然な動きが実現される。オブジェクト制御部146は、単一のボクセル単位ではなく、複数のボクセルを含むボクセル集合の単位でアクションの対象位置を決定してもよい。カメラからオブジェクトまでの距離がより大きいほど当該ボクセル集合のサイズを大きくすることにより、当該距離に影響されることなくアバタの動きのセンシティビティを安定化することも可能である。
例えば対戦型ゲームなどの用途では、アバタを迅速に移動させるための手段が追加的に提供されることも有益である。そのような迅速な移動は、例えば背面入力インタフェース(画面の反対側の筐体表面に配設されるタッチセンサなど)を介するユーザ入力に関連付けられてもよい。
アバタの現在位置から目的地までの直線的な経路上に障害物となる仮想オブジェクトが存在する場合、オブジェクト制御部146は、アバタがその障害物を自動的に避けるように、非直線的な経路を自動的に設定してよい。AR空間がボクセル単位で離散化されたAR空間モデルによって表現されている場合、AR空間内のある座標点が何らかのオブジェクトによって占められているかを判定することは容易である。従って、オブジェクト制御部146は、そのようなAR空間モデルを参照して、アバタの経路を少ない計算コストで自動的に設定することができる。
ボタンB1は、アクションの種類をユーザに選択させるためのユーザインタフェースである。ボタンB1に関連付られるアクションの種類は、アバタの移動及び停止を含む。図20の例では、アバタの移動がアクションとして既に選択されている。
図21は、アバタの移動を停止するための操作の一例について説明するための説明図である。図21の上段には、画像Im23bが再び示されている。画像Im23bには、アバタA11が表示されている。位置P11は、仮想オブジェクトV10とカメラの光軸との交点の位置であり、アバタA11の移動の目的地である。ここで、例えばユーザが右手の親指でボタンB1をタップすると、アバタA11の移動は停止する。図21の下段に示した画像Im23cにおいて、アバタA11は、その時点の位置で停止している。ボタンB1は操作ウィンドウの右端領域に配置されているため、ユーザは、アバタを停止させるために、右手を情報処理装置100から離さなくてよい。ユーザがボタンB1を再びタップすると、アバタA11の移動は再開され得る。
(2)方向転換
アバタの方向転換は、いくつかの手法で実現され得る。例えば、アバタは、単純に移動の目的地の方向を向いてもよい。図22は、アバタを方向転換させるための操作の一例について説明するための説明図である。図22の上段には、画像Im23bが再び示されている。画像Im23bには、アバタA11が表示されている。位置P11は、仮想オブジェクトV10とカメラの光軸との交点の位置であり、アバタA11の移動の目的地である。その後、ユーザが情報処理装置100を動かしてカメラの向きを変化させた結果、位置P12が移動の新たな目的地になったものとする。図22の下段に示した画像Im23dにおいて、アバタA11は位置P12の方向を向いている。このように、ユーザは、情報処理装置100を動かすことにより、アバタを方向転換させることもできる。
さらに、アバタを方向転換させるための追加的なユーザインタフェースが採用されてもよい。例えば、オブジェクト制御部146は、カメラの光軸周りの回転に基づいて、アバタの姿勢を制御してもよい。図23は、アバタを方向転換させるための操作の他の例について説明するための説明図である。図23の上段には、画像Im23bが再び示されている。ここで、ユーザが情報処理装置100を光軸周りに回転させたものとする。オブジェクト制御部146は、認識部142によるカメラの姿勢についての認識結果から当該回転を検出し、アバタA11の方向を転換させる。図22の下段に示した画像Im23eにおいて、アバタA11は自身の左方向へ方向転換している。
なお、図23の下段のように情報処理装置100を傾けたままアバタの操作を継続することは、ユーザにとって不便であり得る。従って、オブジェクト制御部146は、例えば所定のボタン(図示せず)がタッチ又は押下されている状態においてのみ、カメラの光軸周りの回転に基づいてアバタの姿勢を変化させてもよい。それにより、ユーザは、アバタの姿勢が元に戻ってしまうことを回避しつつ、情報処理装置100の姿勢を元に戻すことができる。
アバタを方向転換させるための手法は、上述した例に限定されない。例えば、オブジェクト制御部146は、所定の注目オブジェクトがアバタの近傍に存在する場合に、アバタを当該注目オブジェクトに向けて自動的に方向転換させてもよい。注目オブジェクトは、例えば、他のユーザのアバタ、又は予め定義されるその他の仮想オブジェクトを含み得る。
(3)アイテムの使用
図24A及び図24Bは、アバタにより実行されるアイテムを用いたアクションの第1の例について説明するための説明図である。図24Aの上段には、画像Im24aが示されている。画像Im24aには、アバタA11が表示されている。位置P11は、仮想オブジェクトV10とカメラの光軸との交点の位置である。ボタンB2は、アクションの種類をユーザに選択させるためのユーザインタフェースである。ボタンB2に関連付られるアクションの種類は、ブロックの設置を含む。図24Aの例では、ユーザがボタンB2をタップした結果として、アバタA11がブロックBL1を持っている。さらにユーザが画面をタップすると、アバタA11は、位置P11をアイテムの作用点(この場合、ブロックの設置点)として、ブロックBL1をAR空間内に設置する。図24Aの下段に示した画像Im24bにおいて、アバタA11は、ブロックBL1を位置P11に向けて放り投げている。さらに、図24Bの上段に示した画像Im24cにおいて、ブロックBL1は、位置P11に着地している。このようなユーザインタフェースによれば、ユーザは、情報処理装置100を動かしてカメラの向きを変化させることにより、AR空間内の所望の場所にアバタにブロックを設置させることができる。その際、ユーザは、所望の場所を指定するために、情報処理装置100から手を離さなくてよい。図24Bの下段に示した画像Im24dにおいて、より多くのブロックがAR空間内に設置されている。このようなユーザインタフェースは、例えば、図8を用いて説明したようにユーザがAR空間をカスタマイズすることを可能とするために採用されてもよい。その代わりに、当該ユーザインタフェースは、例えば積み木又は3次元的な落ち物ゲーム(3D block-matching puzzle)のようなARアプリケーションを実現するために採用されてもよい。
図25は、アバタにより使用されるアイテムを切り替えるための操作の一例について説明するための説明図である。図25には、画像Im25が示されている。画像Im25には、ボタンB2が重畳されている。ユーザがボタンB2に対してフリック入力をすると、使用可能なアイテムが複数のアイテム候補の間で切り替わる(トグリングされ得る)。図25には、5種類のアイテム候補が示されている。これらアイテム候補は、例えば、テクスチャ若しくは色の異なるブロックを含んでもよく、又はブロック以外のアイテムを含んでもよい。なお、使用可能なアイテム候補は、ユーザにより負担されるコスト(アイテム購入代金のような金銭的コスト、又はAR空間内の活動実績のような作業面のコストなど)に応じて変化してもよい。次の例では、設置されたブロックを破壊するためのハンマーが、アバタにより使用される。
図26は、アバタにより実行されるアイテムを用いたアクションの第2の例について説明するための説明図である。図26の上段には、画像Im26aが示されている。画像Im26aには、アバタA11が表示されている。位置P13は、仮想オブジェクトV10とカメラの光軸との交点の位置である。図26の例では、ユーザがボタンB2をタップした結果として、アバタA11がハンマーHM1を持っている。さらにユーザが画面をタップすると、アバタA11は、位置P13をアイテムの作用点(この場合、ハンマーの打撃点)として、ハンマーHM1を振り下ろす。図26の下段に示した画像Im26bにおいて、アバタA11はハンマーHM1を振り下ろしており、位置P13に存在していたブロックBL12が破壊されている。このようなユーザインタフェースによれば、ユーザは、情報処理装置100を動かしてカメラの向きを変化させることにより、AR空間内の所望の場所に設置されたブロックをアバタに破壊させることができる。その際、ユーザは、所望の場所を指定するために、情報処理装置100から手を離さなくてよい。
なお、オブジェクト制御部146は、本項で例示したようなアクションが実行された場合において、対象位置に対応する実空間内の実オブジェクトがリアクションを遂行可能なときに、当該実オブジェクトにリアクションの遂行を指示してもよい。例えば、ハンマーが振り下ろされた対象位置にバイブレータを内蔵する端末装置(実オブジェクト)が存在することを実空間マップ164が示す場合に、オブジェクト制御部146は、当該端末装置へ無線信号を送信し、バイブレータを振動させてもよい。実オブジェクトのリアクションは、かかる例に限定されず、例えば、LED(Light Emitting Diode)の発光又はスピーカからの効果音の出力などであってもよい。それにより、実空間とAR空間との間の密接な関連を演出し、ARアプリケーションのリアリティを高めることができる。
[4−3.アバタを用いたコミュニケーション]
アバタのアクションは、アバタを介するユーザ間のコミュニケーションのために実行されてもよい。オブジェクト制御部146は、アバタを介するコミュニケーションのためのアクションを、ユーザ入力に従ってアバタに実行させる。
図27は、アバタを介するコミュニケーションの第1の例について説明するための説明図である。図27の上段には、画像Im31aが示されている。画像Im31aには、アバタA11及びアバタA12が表示されている。アバタA11は、ユーザにより操作されるアバタである。アバタA12は、他のユーザのアバタである。ボタンB3は、アバタを介するコミュニケーションのためのアクションメニューの表示及び非表示を切り替えるためのユーザインタフェースである。図27の例では、ユーザがボタンB3をタップした結果として、7つのコマンドボタンからなるアクションメニューが画像に重畳されている。これらコマンドボタンのうち、コマンドボタンCO1は、アバタに手を振るアクションを実行させるためのユーザインタフェースである。図27の下段に示した画像Im31bにおいて、ユーザがコマンドボタンCO1をタップした結果として、アバタA11は手を振っている。このようなアクションは、アバタA12を操作する他のユーザの端末の画面にも表示される。それにより、アバタを介するコミュニケーションが成立する。
図28は、アバタを介するコミュニケーションの第2の例について説明するための説明図である。図28の上段には、画像Im31cが示されている。画像Im31cには、アバタA11及びアバタA12が表示されている。ボタンB5は、例えばアクションメニューの一部として表示される、アバタを介するチャットのためのユーザインタフェースである。ボタンB5がタップされた場合、チャットメッセージをユーザが入力するためのソフトウェアキーボードが画面に表示されてもよい。その代わりに、音声入力インタフェースを介してチャットメッセージが入力されてもよい。図28の下段に示した画像Im31dにおいて、ユーザにより入力されたチャットメッセージを表示する吹き出しCB1が、アバタA11の近傍に重畳されている。このようなチャットメッセージは、アバタA12を操作する他のユーザの端末の画面にも表示される。それにより、アバタ同士で会話が行われているかのようなコミュニケーションが成立する。
アバタを介するユーザ間のコミュニケーションを促進するためには、AR空間内で遭遇する他のユーザのアバタについての情報をユーザが知ることも有益である。図29は、アバタ情報を表示するための操作の一例について説明するための説明図である。図29には、画像Im32が示されている。画像Im32には、アバタA11及びアバタA12が表示されている。例えば、ユーザがアバタA12を画面上でタップすると、アバタA12についてのアバタ情報を表示する吹き出しCB2がアバタA12の近傍に重畳される。吹き出しCB2は、例えば、アバタA12(又はアバタA12のユーザ)のニックネーム及びその他の属性情報を表示する。
[4−4.AR空間に対する操作]
ここまでに説明してきたように、AR空間は、原則的には、入力画像に映る実空間に関連付けて設定される。そして、カメラの画角が変化すれば、画面上でのAR空間の見え方は、画角の変化に追随して変化する。しかしながら、AR空間の中でユーザが見たいと望む場所を見るために常にユーザがカメラを動かし又はユーザ自身が動かなければならないとすれば、ユーザにとっては不都合も生じ得る。そこで、以下に説明するように、AR空間そのものの位置及び姿勢をユーザが操作することを可能とするようなユーザインタフェースが提供されれば有益である。
図30は、AR空間の位置を変更するための操作の一例について説明するための説明図である。図30の上段には、画像Im33aが示されている。画像Im33aには、アバタA12が表示されている。しかし、アバタA12は、ウィンドウの境界付近に位置している。そこで、ユーザは、例えば両手の親指で画面にマルチタッチしたまま、双方の親指を右方向(図中のD1方向)へドラッグする。オブジェクト制御部146は、かかるユーザ入力が検出された場合に、カメラに対するAR空間の相対的な位置を、ドラッグ方向に沿って並行移動させる。図30の下段に示した画像Im33bにおいて、AR空間が右方向(図中のD2方向)へ並行移動した結果、アバタA12の表示位置は、ウィンドウの中央に近付いている。このようなユーザインタフェースが提供されることにより、例えば、ユーザから遠い場所に位置する仮想オブジェクトを、ユーザ自身が移動することなく画面上でより容易に視認することが可能となる。
図31は、AR空間の姿勢を変更するための操作の一例について説明するための説明図である。図31の上段には、画像Im34aが示されている。画像Im34aには、アバタA11及びA12が表示されている。しかし、アバタA11は、アバタA12の陰に隠れてしまっている。そこで、ユーザは、例えば両手の親指で画面にマルチタッチしたまま、左手の親指を下方向(図中のD3方向)へ、右手の親指を上方向(図中のD4方向)へそれぞれドラッグする。オブジェクト制御部146は、かかるユーザ入力が検出された場合に、カメラに対するAR空間の相対的な姿勢を回転させる。図31の下段に示した画像Im34bにおいて、AR空間がZ軸周りに図中のD5方向へ回転した結果、アバタA11はアバタA12により隠されていない。このようなユーザインタフェースが提供されることにより、例えば、他のオブジェクトの陰に隠れた仮想オブジェクトを、ユーザ自身が移動することなく画面上でより容易に視認することが可能となる。
なお、オブジェクト制御部146は、カメラに対するAR空間の相対的な位置又は姿勢ではなく、AR空間のスケールを、所定のユーザ入力(例えば、ピンチイン及びピンチアウト)に基づいて変更してもよい。
[4−5.その他の操作]
上述した例に限定されず、様々な操作がARアプリケーションにおいて採用されてよい。例えば、図19に示した操作ウィンドウIm22のボタンB4は、ARアプリケーションにおいて採用され得るいくつかの追加的なメニューの表示及び非表示を切り替えるためのユーザインタフェースである。ボタンB4をタップすることにより表示され得る操作メニューの例が、図32に示されている。図32に示した画像Im35において、ユーザがボタンB4に対してフリック入力をすると、選択可能な操作メニューが複数のメニュー候補の間で切り替わる(トグリングされ得る)。図32には、4種類のメニュー候補B11、B12、B13及びB14が示されている。例えば、メニュー候補B11は、アバタにより実行されたアクションをアンドゥする(AR空間をアクション前の状態に戻す)ための操作メニューである。メニュー候補B12は、AR空間の状態をリセットする(例えば、設置された全てのブロックを消去する)ための操作メニューである。メニュー候補B13は、後に説明するARアプリケーションの動作モードを切り替えるための操作メニューである。メニュー候補B14は、AR空間からユーザが退出する(チェックアウトする)ための操作メニューである。
[4−6.様々な動作モード]
本項では、情報処理装置100によりサポートされ得るいくつかの動作モードについて説明する。
(1)リアルタイムモード/スナップショットモード
ここまでに説明したARアプリケーションは、通常は、毎フレーム更新される(画像取得部120により順次取得される)入力画像にAR空間内の仮想オブジェクトを重畳して画面に表示させる。そのような動作モードを、本明細書ではリアルタイムモードという。しかしながら、いくつかの状況を想定すると、リアルタイムモードでの動作が望ましくないこともあり得る。
例えば、ユーザは、実空間に向けて情報処理装置100を掲げている間に疲れてしまうかも知れない。しかし、リアルタイムモードでARアプリケーションが動作している場合に、ユーザが例えば情報処理装置100をテーブルの上に置くと、最新の入力画像にはテーブルの表面のみが映ることになり、適切なAR空間の画像が表示されない。そこで、一例として、情報処理装置100は、以下に説明するスナップショットモードをもサポートする。
スナップショットモードにおいて、オブジェクト制御部146は、入力画像を更新することなく、1枚の静止画である入力画像(スナップショット画像)にAR空間内の仮想オブジェクトを重畳させる。スナップショット画像は、リアルタイムモードからスナップショットモードへの遷移のタイミングで画像取得部120により取得されてもよく、又はその他のタイミングで画像取得部120により取得されてもよい。なお、特定の時点の入力画像の代わりに、その他の画像(例えば、予め用意されるスナップショットモード専用の画像)が、スナップショットモードにおける背景画像として使用されてもよい。
図33は、リアルタイムモード及びスナップショットモードについて説明するための説明図である。図33の左において、ユーザUaは、情報処理装置100を実空間11aに向けて掲げている。画像Im41はリアルタイムモードにおいて表示され得る画像であり、画像Im41において実オブジェクトR11a及びアバタA11が表示されている。一方、図33の右において、情報処理装置100は、ユーザUaの手を離れてテーブルR10aの上に置かれている。仮に情報処理装置100がリアルタイムモードで動作すると、入力画像にはテーブルの表面のみが映る(又は明るさが不十分なために入力画像はブラックアウトする)。しかし、情報処理装置100がスナップショットモードで動作する場合、情報処理装置100がテーブルR10aの上に置かれる前に取得されたスナップショットが、入力画像として継続的に使用される。画像Im42はスナップショットモードにおいて表示され得る画像である。画像Im42は、画像Im41と同様に、実オブジェクトR11a及びアバタA11を表示している。
このようなスナップショットモードがサポートされることにより、ユーザが一時的に情報処理装置100を掲げる姿勢を止めたとしてもARアプリケーションの適切な表示を継続することが可能となる。その結果、ユーザの身体的な負担を軽減することができる。なお、スナップショットモードにおいては、上述したAR空間内のオブジェクトとカメラの光軸との間の位置関係に基づくユーザインタフェースは無効化される。代替的なユーザインタフェースとして、例えば、スナップショットモードでは、画面上のタッチ位置に基づくユーザインタフェース(例えば、アクションの対象位置としてタッチ位置が利用され得る)が提供されてよい。それにより、スナップショットモードにおいても、ユーザがアバタを操作することができる。現在の動作モードがリアルタイムモード及びスナップショットモードのいずれであるかをユーザに通知するための標識が、画面に表示されてもよい。
図34は、図33に示した2種類の動作モード間の遷移について説明するための説明図である。図34において、トリガT1は、リアルタイムモードからスナップショットモードへの遷移のトリガである。トリガT1は、デバイスが置かれたことの検出、所定のユーザ入力の検出、及び連続的な実空間の認識の失敗を含み得る。トリガT2は、スナップショットモードからリアルタイムモードへの遷移のトリガである。トリガT2は、デバイスが持ち上げられたことの検出、所定のユーザ入力の検出、及び実空間の認識の成功を含み得る。
例えば、オブジェクト制御部146は、データ取得部130により取得されるセンサデータに基づいて、デバイスが置かれたこと(又は持ち上げられたこと)を自動的に検出してもよい。また、オブジェクト制御部146は、図32に例示したメニュー候補B13のようなユーザインタフェースを介して、動作モードを切り替えるためのユーザ入力を検出してもよい。
また、オブジェクト制御部146は、リアルタイムモードにおいて入力画像に映る実オブジェクトの認識の失敗が所定のフレーム数にわたって連続した場合に、動作モードをスナップショットモードへ切り替えてもよい。例えば、認識部142が入力画像内の特徴点の認識に基づいて実空間マップを生成するケースでは、入力画像に映る特徴点の数が極端に少なくなると、実オブジェクト(並びにカメラの位置及び姿勢)の認識が失敗し得る。こうした認識の失敗が連続すると、オブジェクト制御部146によって適切な位置にアバタなどの仮想オブジェクトを配置することが困難となり、ARアプリケーションの表示が不安定化する。そこで、オブジェクト制御部146は、表示が不安定となる前に自動的に動作モードをスナップショットモードへ切り替えることにより、不安定化した不自然な画像がユーザに呈示されることを防止することができる。なお、オブジェクト制御部146は、動作モードをスナップショットモードへ切り替える前に、警告メッセージを画面に表示してもよい。また、オブジェクト制御部146は、実オブジェクトの認識の失敗に応じて、ユーザのアバタの表示属性を変化させてもよい(例えば、点滅又は半透明化など)。それにより、アバタが不安定な挙動を示す原因をユーザに知らせることができる。
(2)設計図モード
設計図モードは、アプリケーションモードの一種である。設計図モードは、ユーザがAR空間をカスタマイズする際に利用されてもよく、又は積み木のようなアプリケーション用途において利用されてもよい。
図35は、設計図モードについて説明するための説明図である。図35を参照すると、アバタA11が配置されたAR空間の画像Im43が示されている。当該AR空間には、既にアバタA11により設置されたブロックBL21を含むブロック群が存在する。画像Im43は、これら設置済みのブロック群のみならず、ブロックBL22を含む未設置の半透明のブロック群をも表示する。これら未設置のブロック群の表示は、例えば、ユーザが複数のブロックを積み重ねてが何らかの仮想オブジェクトを形成する際に、設計図として参照される。ブロックBL23は、新たにアバタA11が設置しようとしているブロックである。画像Im43の上部には、仮想オブジェクトが完成するまでの残りブロック数も表示されている。設計図データは、予めデータ記憶部160により記憶されてもよく、又はデータ取得部130によりアプリケーションサーバなどの外部装置から取得されてもよい。
(3)アバタ視点モード
オブジェクト制御部146は、通常、AR空間の画像を、カメラ102の位置及び姿勢を基準として生成する。そのような表示モードを、本明細書ではカメラ視点モードという。これに対し、アバタ視点モードにおいて、オブジェクト制御部146は、AR空間内に配置されるアバタの位置及び姿勢を基準として、AR空間の画像を生成する。
図36は、カメラ視点モード及びアバタ視点モードについて説明するための説明図である。図36の上段には、カメラ視点モードで生成される画像Im44aが示されている。画像Im44aには、アバタA11及びA12が表示されている。アバタA12の近傍には、吹き出しCB3が重畳されている。吹き出しCB3は、アバタA12のユーザにより入力されたチャットメッセージを表示する仮想オブジェクトである。図36の下段には、アバタ視点モードで生成される画像Im44bが示されている。画像Im44bは、アバタA11の位置及び姿勢に基づいて生成される画像である。画像Im44bにおいて、アバタA12が、ユーザの目の前にいるかのように大きく表示されている。さらに、吹き出しCB3もまた、画像Im44bに大きく重畳され得る。このようなアバタ視点モードが導入されることにより、ユーザのAR空間への没入感が高められる。
図37は、図36に示した2種類の表示モード間の遷移について説明するための説明図である。図37において、トリガT3は、カメラ視点モードからアバタ視点モードへの遷移のトリガである。トリガT3は、所定のイベントの発生及び所定のユーザ入力の検出を含み得る。トリガT4は、アバタ視点モードからカメラ視点モードへの遷移のトリガである。トリガT4は、発生したイベントの終了、所定のユーザ入力の検出、及び一定時間の経過を含み得る。所定のイベントとは、例えば、図27及び図28を用いて説明したようなアバタ間コミュニケーション、アバタと他の仮想オブジェクト(例えば、他のアバタが放り投げたブロック)との衝突、並びに対戦型ゲームにおける攻撃及び防御などを含み得る。このような2種類の表示モード間の遷移によって、変化の少ない視点からの単調な画像ではなく、より多彩なARアプリケーションの画像をユーザに提供することが可能となる。
<5.ARコミュニティ>
本節では、ここまでに説明した仕組みをプラットフォームとして用いるARコミュニティを、複数のユーザが利用することを前提とする様々な実施例について説明する。
なお、以下の説明において、ユーザが特定のAR空間に参加することを、AR空間へのチェックインという。ユーザがAR空間から退出することを、AR空間からのチェックアウトという。ユーザがAR空間にチェックインすると、例えば、オブジェクト制御部146は、ユーザのアバタを当該AR空間内に配置する。そして、配置されたアバタがカメラ102の画角に入る場合に、当該アバタの画像が画面に表示される。
[5−1.ARコミュニティの形成]
ARコミュニティに複数のユーザが参加することに関連する重要な論点の1つは、どのユーザとどのユーザとに共通のAR空間を設定するか、である。何の基準もなく全てのユーザに共通のAR空間が設定されれば、AR空間内で多数のアバタが無秩序に活動することになるため、良好なユーザ体験は期待されない。そこで、一例として、AR空間設定部144は、入力画像に関連する関連情報(以下、画像関連情報という)に応じて異なるAR空間を、入力画像に映る実空間に関連付けて設定する。AR空間設定部144は、例えば、予め用意される複数のAR空間候補のうち画像関連情報に応じて選択されるAR空間を、入力画像を撮像したユーザのために設定してもよい。その代わりに(又はそれに加えて)、AR空間設定部144は、AR空間候補の可変パラメータを画像関連情報に応じて調整することにより形成されるAR空間を、入力画像を撮像したユーザのために設定してもよい。
(1)AR空間の選択の第1の例
図38は、AR空間を選択するための手法の第1の例について説明するための説明図である。第1の例において、画像関連情報は、入力画像に映る基準オブジェクトの属性を含む。一例として、基準オブジェクトの属性は、基準オブジェクトの種類を含む。AR空間設定部144は、同じ種類の基準オブジェクトを撮像したユーザに、共通のAR空間を設定する。図38の上段には、5人のユーザUa、Ub、Uc、Ud及びUeが示されている。
例えば、ユーザUaは、基準オブジェクトとして実オブジェクトR11aを撮像する。その結果、ユーザUaの端末のAR空間設定部144は、ユーザUaのためにAR空間M41aを設定する。また、ユーザUbは、基準オブジェクトとして実オブジェクトR11bを撮像する。実オブジェクトR11bは、実オブジェクトR11aと同じ種類のオブジェクト(例えば、同じテクスチャを有するポスター)である。そこで、ユーザUbの端末のAR空間設定部144は、ユーザUbのために、ユーザUaと共通のAR空間M41aを設定する。
一方、ユーザUcは、基準オブジェクトとして実オブジェクトR19cを撮像する。実オブジェクトR19cは、実オブジェクトR11a及びR11bとは異なる種類のオブジェクトである。その結果、ユーザUcの端末のAR空間設定部144は、ユーザUcのためにAR空間M41aとは異なるAR空間M41bを設定する。また、ユーザUdは、基準オブジェクトとして実オブジェクトR19dを撮像する。実オブジェクトR19dは、実オブジェクトR19cと同じ種類のオブジェクト(例えば、同じドリンクの飲料缶)である。そこで、ユーザUdの端末のAR空間設定部144は、ユーザUdのために、ユーザUcと共通のAR空間M41bを設定する。また、ユーザUeは、基準オブジェクトとして実オブジェクトR19eを撮像する。実オブジェクトR19eは、実オブジェクトR19c及びR19dと同じ種類のオブジェクトである。そこで、ユーザUeの端末のAR空間設定部144は、ユーザUeのために、ユーザUc及びUdと共通のAR空間M41bを設定する。
このように、入力画像に映る基準オブジェクトの属性に応じてユーザが異なるAR空間に振り分けられることで、保持しているオブジェクトについて共通点を有するユーザのアバタが1つのAR空間に集まってARコミュニティを形成することが可能となる。例えば、製品のマーケティングの用途において、特定の製品を手にしたユーザがARコミュニティを形成して互いにコミュニケーションする結果として、当該製品についての話題が盛り上がり、製品の認知度が加速度的に向上するという効果も期待される。
なお、AR空間M41a及びM41bは、それぞれ、予めARアプリケーションの提供者によって構築されてもよく、又は図12〜図14を用いて説明したいずれかの手法に従ってユーザのチェックインの際に動的に構築されてもよい。
(2)AR空間の選択の第2の例
図39は、AR空間を選択するための手法の第2の例について説明するための説明図である。第2の例において、画像関連情報は入力画像に映る基準オブジェクトの属性を含み、基準オブジェクトはあるアーティストの音楽CD(Compact Disc)である。ここでは、ユーザを振り分けるための基準オブジェクトの属性として、基準オブジェクトの種類ではなく、基準オブジェクトの発売年が使用される。AR空間設定部144は、同じ年に発売された音楽CDを撮像したユーザに、共通のAR空間を設定する。図39の上段には、5人のユーザUa、Ub、Uc、Ud及びUeが示されている。
例えば、ユーザUaは、基準オブジェクトとして実オブジェクトR21aを撮像する。実オブジェクトR21aの発売年は2009年である。その結果、ユーザUaの端末のAR空間設定部144は、ユーザUaのためにAR空間M42aを設定する。また、ユーザUbは、基準オブジェクトとして実オブジェクトR21bを撮像する。実オブジェクトR21bは、実オブジェクトR21aと同じ2009年に発売された音楽CDである。そこで、ユーザUbの端末のAR空間設定部144は、ユーザUbのために、ユーザUaと共通のAR空間M42aを設定する。
一方、ユーザUcは、基準オブジェクトとして実オブジェクトR21cを撮像する。実オブジェクトR21cは、実オブジェクトR21a及びR21bとは異なり、2012年に発売された音楽CDである。その結果、ユーザUcの端末のAR空間設定部144は、ユーザUcのためにAR空間M42aとは異なるAR空間M42bを設定する。また、ユーザUdは、基準オブジェクトとして実オブジェクトR21dを撮像する。実オブジェクトR21dは、実オブジェクトR21cと同じ2012年に発売された音楽CDである。そこで、ユーザUdの端末のAR空間設定部144は、ユーザUdのために、ユーザUcと共通のAR空間M42bを設定する。また、ユーザUeは、基準オブジェクトとして実オブジェクトR21eを撮像する。実オブジェクトR21eは、実オブジェクトR21c及びR21dと同じ2012年に発売された音楽CDである。そこで、ユーザUeの端末のAR空間設定部144は、ユーザUeのために、ユーザUc及びUdと共通のAR空間M42bを設定する。
第2の例においても、入力画像に映る基準オブジェクトの属性に応じてユーザが異なるAR空間に振り分けられることで、保持しているオブジェクトについて共通点を有するユーザのアバタが1つのAR空間に集まってARコミュニティを形成することが可能となる。
なお、ユーザを振り分けるために使用される基準オブジェクトの属性は、上述した例に限定されない。例えば、基準オブジェクトの名称、販売元企業、産地、販売数又は注目度(例えば、SNSにおける関連する投稿の数)などの様々な属性が、ユーザをAR空間に振り分けるために使用されてよい。
第1の例及び第2の例において、基準オブジェクトの属性は、認識部142により認識され得る。そして、認識された属性を示す基準オブジェクトデータがユーザを振り分ける機能を有する装置(例えば、アプリケーションサーバ又は親ユーザの端末など)へ送信され、選択されたAR空間についてのAR空間モデルがデータ取得部130により当該装置から取得され得る。その代わりに、ユーザを振り分ける機能を有する装置において、入力画像から基準オブジェクトの属性が認識されてもよい。
第1の例と同様、第2の例においても、AR空間M42a及びM42bは、それぞれ、予めARアプリケーションの提供者によって構築されてもよく、又は図12〜図14を用いて説明したいずれかの手法に従ってユーザのチェックインの際に動的に構築されてもよい。
(3)AR空間の選択の第3の例
図40は、AR空間を選択するための手法の第3の例について説明するための説明図である。第3の例において、画像関連情報は、入力画像の撮像場所を含む。AR空間設定部144は、同じ地域において同一の又は異なる基準オブジェクトを撮像したユーザに、共通のAR空間を設定する。図40の上段には、5人のユーザUa、Ub、Uc、Ud及びUeが示されている。
例えば、ユーザUa及びUbは、実空間において同じ地域K1に位置する。そこで、ユーザUa及びUbの端末のAR空間設定部144は、それぞれ、ユーザUa及びUbのために共通のAR空間M43aを設定する。ユーザUc、Ud及びUeは、実空間において同じ地域K2に位置する。そこで、ユーザUc、Ud及びUeの端末のAR空間設定部144は、それぞれ、ユーザUc、Ud及びUeのために共通のAR空間M43bを設定する。
このように、入力画像の撮像場所に応じてユーザが異なるAR空間に振り分けられることで、ロケーションについて共通点を有する複数のユーザのアバタが1つのAR空間に集まってARコミュニティを形成することが可能となる。それにより、複数のユーザのアバタが無秩序にAR空間にチェックインする場合と比較して、ARコミュニティにおけるユーザ間のコミュニケーションを活性化することができる。
なお、入力画像の撮像場所は、例えば、センサ104により測定され得る。そして、ユーザを振り分ける機能を有する装置(例えば、アプリケーションサーバ又は親ユーザの端末など)へセンサデータが送信され、選択されたAR空間についてのAR空間モデルがデータ取得部130により当該装置から取得され得る。
第1及び第2の例と同様、第3の例においても、AR空間M43a及びM43bは、それぞれ、予めARアプリケーションの提供者によって構築されてもよく、又は図12〜図14を用いて説明したいずれかの手法に従ってユーザのチェックインの際に動的に構築されてもよい。
第1及び第2の例では、入力画像に映る基準オブジェクトの属性に応じて、ユーザが異なるAR空間に振り分けられる。従って、「モノにチェックイン」と概念的に称されるようなARコミュニティへの参加手法が実現され得る。一方、第3の例では、撮像場所に応じて、ユーザが異なるAR空間に振り分けられる。従って、「場所(あるいは地域)にチェックイン」と概念的に称されるようなARコミュニティへの参加手法が実現され得る。なお、ユーザをAR空間に振り分けるために使用され得る画像関連情報は、かかる例に限定されない。例えば、画像関連情報は、入力画像を撮像した撮像装置の属性を含んでもよい。撮像装置の属性とは、例えば、撮像装置の種類、モデル名又はメーカ名などであってよい。それにより、撮像装置について共通点を有する複数のユーザ(例えば、共通するメーカのデバイスで入力画像を撮像したユーザ)のアバタが1つのAR空間に集まってARコミュニティを形成することが可能となる。
(4)AR空間の選択の第4の例
図41は、AR空間を選択するための手法の第4の例について説明するための説明図である。第4の例において、AR空間設定部144は、複数のAR空間候補から画像関連情報に応じて決定されるサブセットのうちユーザにより指定されるAR空間を選択し、選択したAR空間を当該ユーザのために設定する。図41の上段には、4つのAR空間候補M44a、M44b、M44c及びM44dが示されている。
例えば、ユーザUaにより撮像された入力画像に、基準オブジェクトである実オブジェクトR11aが映っているものとする。すると、認識部142は、入力画像に実オブジェクトR11aが映っていることを認識する。AR空間設定部144は、認識部142による認識結果に基づいて、実オブジェクトR11aの属性を画像関連情報として取得する。そして、AR空間設定部144は、実オブジェクトR11aの属性に応じて、AR空間候補のサブセットを決定する。図41の例では、AR空間候補M44a及びM44bが、決定されたサブセットに含まれている。次に、AR空間設定部144は、サブセットに含まれるAR空間候補のリストを画像Im51に表示し、ユーザUaがチェックインすることを希望するAR空間候補をユーザに指定させる。図41の例では、AR空間設定部144は、ユーザUaにより指定されたAR空間M44aを、ユーザUaのために設定する。
このように、AR空間へのユーザの振り分けは、段階的に行われてもよい。特に、基準オブジェクトの属性又は場所などの画像関連情報に応じた振り分けとユーザ指定とを段階的に組合せることにより、多数のAR空間候補からAR空間を選択するユーザにとっての煩雑さを軽減しつつ、ユーザに選択の余地を残すことができる。
なお、AR空間設定部144は、設定すべきAR空間が画像関連情報から決定されない場合には、画像関連情報に依存しない既定のAR空間(アノニマス空間ともいう)をユーザのために設定してもよい。AR空間が画像関連情報から決定されない場合とは、例えば、入力画像に基準オブジェクトが映っていない場合、位置データが取得されない場合、又はユーザが既定のAR空間を選択することを希望した場合などを含み得る。既定のAR空間は、単にアバタが活動するための水平面(地面)が存在するだけのプレーンな空間であってもよく、又はよりリッチな空間であってもよい。
[5−2.可変パラメータの調整]
上述したように、AR空間設定部144は、ユーザのために設定すべきAR空間の可変パラメータを、画像関連情報に応じて調整してもよい。AR空間の可変パラメータは、例えば、AR空間のサイズ、NPCの数、ポリゴン解像度、参加可能なユーザの上限数、仮想オブジェクトのテクスチャ若しくは色、当該AR空間内で実行可能なアクションの種類、又は当該AR空間内で使用可能なアイテムの種類などを含み得る。
(1)第1の例
図42は、AR空間の可変パラメータの調整の第1の例について説明するための説明図である。図42の例において、AR空間の可変パラメータは、空間サイズ及びNPC数を含む。これら可変パラメータは、AR空間ごとに、基準オブジェクトの種類に応じて調整される。図42の上段には、5人のユーザUa、Ub、Uc、Ud及びUeが示されている。
例えば、ユーザUaは、基準オブジェクトとして実オブジェクトR11aを撮像する。ユーザUbは、基準オブジェクトとして実オブジェクトR11bを撮像する。実オブジェクトR11a及びR11bは、同じ種類のオブジェクトである。その結果、ユーザUa及びUbの端末に、共通のAR空間M45aが設定される。AR空間設定部144は、AR空間M45aの空間サイズを小(Small)に、NPC数を1に設定する。
一方、ユーザUcは、基準オブジェクトとして実オブジェクトR19cを撮像する。ユーザUdは、基準オブジェクトとして実オブジェクトR19dを撮像する。ユーザUeは、基準オブジェクトとして実オブジェクトR19eを撮像する。その結果、ユーザUc、Ud及びUeの端末に、共通のAR空間M45bが設定される。AR空間設定部144は、AR空間M45bの空間サイズを大(Large)に、NPC数を3に設定する。
このように、画像関連情報に応じてAR空間の可変パラメータが調整されることで、AR空間ごとの特徴の違いをユーザにとって明確にすることができる。それにより、様々なモノを撮像し又は様々な場所で実空間を撮像してみようとする動機付けをユーザに与え、ARコミュニティを活性化させることが可能となる。また、マーケティングの用途などにおいて多数のユーザが同じ種類の製品にチェックインするような状況が想定される場合には、当該製品に関連するAR空間の空間サイズを予め十分に大きく設定しておくことにより、AR空間の混雑を予防することもできる。
(2)第2の例
図43は、AR空間の可変パラメータの調整の第2の例について説明するための説明図である。図43の例において、AR空間の可変パラメータは、ポリゴン解像度、NPC数及びユーザ上限数を含む。これら可変パラメータは、ユーザごとに、AR空間の表示に関与する装置の性能に応じて調整される。図43の上段には、2人のユーザUa及びUbが示されている。
例えば、ユーザUaは、基準オブジェクトとして実オブジェクトR11aを撮像する。ユーザUbは、基準オブジェクトとして実オブジェクトR11bを撮像する。実オブジェクトR11a及びR11bは、同じ種類のオブジェクトである。その結果、ユーザUa及びUbの端末に、共通のAR空間が設定される。但し、ユーザUbの端末の性能はユーザUaの端末の性能と比較して低く、ユーザUbの端末はユーザUaの端末と同等の画質でAR空間の画像を表示することが難しいものとする。
そこで、ユーザUbの端末のAR空間設定部144は、設定すべきAR空間の可変パラメータを調整する。図43の例では、AR空間設定部144は、ユーザUbのためのAR空間M46bのポリゴン解像度を「低(Low)」に、NPC数を「1」にそれぞれ設定し、ユーザ数に上限を課している。一方、ユーザUaの端末のAR空間設定部144は、ユーザUaのためのAR空間M46aのポリゴン解像度を「高(High)」に、NPC数を「3」にそれぞれ設定している。AR空間M46aはAR空間M46bと共通の空間であるため、AR空間M46aのユーザ数には上限が課され得る。
このように、AR空間の表示に関与する装置の性能に応じてAR空間の可変パラメータがユーザごとに調整されることで、様々な装置においてAR空間が適切に表示されることを保証し、より多くのユーザがARアプリケーションを利用することを可能とすることができる。なお、オブジェクト制御部146は、予め定義されるフレンドユーザについては当該フレンドユーザのアバタのリッチな画像表現を維持し(例えば、高いポリゴン解像度、又は完全なアバタ画像)、その他のアバタの画像表現のみを簡素化してもよい(例えば、低いポリゴン解像度、又は顔画像のみの表示)。
[5−3.初期位置の設定]
オブジェクト制御部146は、AR空間内に配置されるアバタなどの仮想オブジェクトの初期位置を、様々な条件に基づいて決定し得る。例えば、オブジェクト制御部146は、上述した画像関連情報に基づいてアバタの初期位置を決定してもよく、又はユーザの属性に基づいて決定してもよい。
(1)第1の例
図44は、AR空間内の仮想オブジェクトの初期位置を設定するための手法の第1の例について説明するための説明図である。図44の例において、仮想オブジェクトの初期位置は、画像関連情報に基づいて決定される。画像関連情報は、撮像位置を含む。図44の上段には、2人のユーザUa及びUbが示されている。ユーザUaは、実空間において位置PRaに位置する。ユーザUbは、実空間において位置PRbに位置する。
例えば、ユーザUa及びUbが同じ種類の基準オブジェクトを撮像した結果として、ユーザUa及びUbの端末に、共通のAR空間M47が設定される。オブジェクト制御部146は、AR空間M47内の位置PAaに、ユーザUaのアバタA11を配置する。位置PAaは、実空間内のユーザUaの位置PRaに対応する。また、オブジェクト制御部146は、AR空間M47内の位置PAbに、ユーザUbのアバタA12を配置する。位置PAbは、実空間内のユーザUbの位置PRbに対応する。
このように、AR空間が複数のユーザにより共有される場合に、仮想オブジェクトの初期位置を画像関連情報に基づいて決定することで、共通の話題をより多く有するユーザを互いにより近くに配置して、ユーザ間のコミュニケーションを促進することができる。
(2)第2の例
図45は、AR空間内の仮想オブジェクトの初期位置を設定するための手法の第2の例について説明するための説明図である。図45の例において、仮想オブジェクトの初期位置は、ユーザの属性に基づいて決定される。ここでのユーザの属性は、例えば、ユーザの年齢、性別、職業、勤務先、嗜好又は予め定義されるグループなどであってよい。図45の上段には、4人のユーザUa、Ub、Uc及びUdが示されている。ユーザUa及びUcは、ユーザグループUG1に属する。ユーザUb及びUdは、ユーザグループUG2に属する。
例えば、ユーザUa、Ub、Uc及びUdの端末に、共通のAR空間M48が設定される。オブジェクト制御部146は、AR空間M48内の位置PAaに、ユーザUaのアバタA11を配置する。位置PAaは、ユーザグループUG1のための初期位置として予め決定され得る。また、オブジェクト制御部146は、AR空間M48内の位置PAbに、ユーザUbのアバタA12を配置する。位置PAbは、ユーザグループUG2のための初期位置として予め決定され得る。
このように、AR空間が複数のユーザにより共有される場合に、ユーザをその属性に基づいてグルーピングすることによりユーザごとの初期位置を決定することで、互いに類似する属性を有するユーザを近くに配置して、ユーザ間のコミュニケーションを促進することができる。また、ユーザが自身とは異なる属性を有する他のユーザとのコミュニケーションを積極的に望む場合には、ユーザは、自身のアバタを初期位置から遠い領域へ移動させて、その領域において他のユーザとのコミュニケーションを図ることもできる。
[5−4.様々なアクセスモード]
(1)通常モード
オブジェクト制御部146は、通常のアクセスモードにおいて、同じAR空間にリアルタイムでアクセスしている1人以上のユーザのアバタ(又はその他の仮想オブジェクト)を、当該AR空間内に配置する。そして、オブジェクト制御部146は、ユーザにより操作されるアバタのアクションを記述するアクションデータを、他のユーザの装置との間で、(例えばアプリケーションサーバを介して又は直接的に)リアルタイムで交換する。また、オブジェクト制御部146は、AR空間内に配置されるNPC(非ユーザキャラクタ)のアクションシナリオを、他のユーザの装置との間で共有する。ここでのアクションシナリオは、各NPCの未来のアクションが時間軸に沿って記述されたデータである。それにより、アバタ及びNPCが同じように動作する共通のARアプリケーションの世界を、複数のユーザが同時に体験することが可能となる。アクションシナリオは、例えば、一定の時間間隔でブロードキャストされてもよく、又は各ユーザのチェックインの際に各ユーザの端末へ配信されてもよい。
図46は、通常モードにおけるAR空間内のアバタ数の変化について説明するための説明図である。図46を参照すると、図中上部から下部へ向かう時間軸と、時間軸の左側の5人のユーザUa、Uf、Ug、Uh及びUiとが示されている。ユーザUfは、時刻t11にAR空間へチェックインし、時刻t13にAR空間からチェックアウトする。ユーザUgは、時刻t12にAR空間へチェックインし、時刻t18にAR空間からチェックアウトする。ユーザUhは、時刻t15にAR空間へチェックインする。ユーザUiは、時刻t16にAR空間へチェックインする。これに対し、ユーザUaは、時刻t14にAR空間へチェックインする。
ユーザUaが時刻t14にAR空間M51へチェックインした際、AR空間M51には、ユーザUaのアバタA11以外に、1人のユーザ(ユーザUg)のアバタ及びNPCが存在する。その後、時刻t17では、ユーザが増加し、AR空間M51には、ユーザUaのアバタA11以外に、3人のユーザ(ユーザUg、Uh及びUi)のアバタ及びNPCが存在する。
このように、多くのユーザが1つのAR空間を共有する場合、ARアプリケーションにリアルタイムでアクセスしているユーザのアバタのみをAR空間に配置しても、同時にプレイする十分な数のユーザを確保することができる。しかし、AR空間を共有するユーザの数が少ない場合、完全にリアルタイムなアクセスモードでは、同じ時間にARアプリケーションにアクセスしているユーザが1人のみという状況も想定される。そのような状況下では、上述した通常モードの代わりに、次に説明する過去再現モードを利用することが有益である。
(2)過去再現モード
過去再現モードにおいて、オブジェクト制御部146は、同じAR空間に過去にアクセスしたユーザのアバタをも、当該AR空間内に配置する。
図47は、過去再現モードにおけるAR空間内のアバタ数の変化について説明するための説明図である。図47を参照すると、図中上部から下部へ向かう時間軸と、時間軸の左側の3人のユーザUa、Uf及びUgとが示されている。ユーザUfは、時刻t21にAR空間へチェックインし、時刻t22にAR空間からチェックアウトする。ユーザUgは、時刻t23にAR空間へチェックインし、時刻t24にAR空間からチェックアウトする。これに対し、ユーザUaは、時刻t25にAR空間へチェックインする。
ユーザUaが時刻t25にAR空間M52へチェックインした時点で実際にAR空間M52にアクセスしているユーザは、ユーザUaのみである。この場合、上述した通常モードに従ってAR空間M52内にアバタが配置されると、ユーザUaは、他のユーザの存在を知ることができない。しかし、過去再現モードでは、オブジェクト制御部146は、AR空間M52に過去にアクセスしたユーザUf及びUgのアバタをも、AR空間M52内に配置する。図47の例では、時刻t26から過去に向かうタイムフレームTFが、時刻t21、t22、t23及びt24を含む。そこで、オブジェクト制御部146は、ユーザUaのアバタA11のみならず、ユーザUfのアバタA21及びユーザUgのアバタA22を、AR空間M52内に配置する。例えば、ユーザUaは、図29を用いて説明したようなユーザインタフェースを介して、アバタA21及びA22がどのようなユーザのアバタであるかを知ることができる。
このような過去再現モードが提供されることにより、AR空間を共有するユーザの数が少ない場合にも、AR空間が見た目上で過疎化してしまうことを防止し、ユーザのAR空間に対する興味を維持することができる。また、例えばレアなアイテムを基準オブジェクトとして撮像するユーザが、他にどのようなユーザが同じアイテムに興味を示しているかを知ることも可能となる。なお、タイムフレームTFの長さは、予め固定的に定義されてもよく、又はユーザ数などのパラメータに応じて動的に設定されてもよい。
(3)足跡モード
オブジェクト制御部146は、過去再現モードの代わりに、次に説明する足跡モードをサポートしてもよい。オブジェクト制御部146は、足跡モードにおいて、同じAR空間に過去にアクセスしたユーザのアバタの足跡を、当該AR空間において表現する。
図48は、足跡モードについて説明するための説明図である。図48を参照すると、図中上部から下部へ向かう時間軸と、時間軸の左側の3人のユーザUa、Uf及びUgとが示されている。ユーザUa、Uf及びUgがAR空間へチェックインし及びチェックアウトするタイミングは、図47の例と同様である。
時刻t21と時刻t22との間の時刻t27の時点で、AR空間M53には、ユーザUfのアバタA21が配置されている。次に、時刻t23と時刻t24との間の時刻t28の時点で、AR空間M53には、ユーザUgのアバタA22が配置されている。ユーザUfのアバタA21は既にAR空間M53から退出しているものの、AR空間M53には、アバタA21が存在していたことを表現する足跡TR21が残されている。次に、時刻t25よりも後の時刻t29の時点で、AR空間M53には、ユーザUaのアバタA11が配置されている。ユーザUfのアバタA21及びユーザUgのアバタA22は既にAR空間M53から退出しているものの、AR空間M53には、アバタA21及びA22が存在していたことを表現する足跡TR21及びTR22がそれぞれが残されている。なお、これら足跡は、時間の経過と共に視覚的にフェードアウトしてよい(足跡TR21参照)。
このような足跡モードが提供されることにより、ユーザは、AR空間に過去にどれだけの数のユーザのアバタが存在したか、それらアバタがどのような活動を行ったかを、足跡の表現から知ることができる。
(4)AR空間の間の移動
あるAR空間にユーザがチェックインした後、他のAR空間に興味が移った場合、現在のAR空間から一度チェックアウトして他のAR空間にチェックインし直さなければならないとすれば、ユーザにとって不便である。そこで、AR空間設定部144は、ユーザのために設定したAR空間内に、他のAR空間へアバタが移動することを可能とするためのパスを配置してもよい。
図49は、AR空間の間を移動するためのパスの一例について説明するための説明図である。図49を参照すると、画像Im51にAR空間M54が映っている。AR空間M54にはアバタA11が配置されている。また、AR空間M54内に、階段の形状をしたパスPT11が配置されている。パスPT11は、他のAR空間M55へとつながっている。例えば、図20を用いて説明したようなユーザインタフェースを介してユーザがアバタA11をパスPT11の上へ移動させると、AR空間設定部144は、新たにAR空間M55をユーザのために設定する。
このようなAR空間の間の移動のためのパスが提供されることにより、アバタが様々なARコミュニティの間を渡り歩くことが容易になる。また、現在のAR空間のみならず移動可能な他のAR空間が画面上で視認されることにより、ユーザの好奇心を引き起こし、様々なARコミュニティへのユーザの参加を促進することもできる。
<6.処理の流れの例>
[6−1.チェックイン時の画面遷移]
図50A及び図50Bは、ユーザがAR空間へのチェックインする際の画面遷移の一例について説明するための遷移図である。
図50Aを参照すると、まず、AR空間設定部144は、メニューMN1を画面に表示させる。メニューMN1は、メニューアイテムMN11(「一人で遊ぶ」)、メニューアイテムMN12(「みんなで遊ぶ(親になる)」)及びメニューアイテムMN13(「みんなで遊ぶ」)を含む。ユーザがメニューアイテムMN11を選択した場合、AR空間設定部144は、メニューMN2を画面に表示させる。メニューMN2は、メニューアイテムMN21(「新しく空間を構築」)及びメニューアイテムMN22(「データをロード」)を含む。
メニューMN2においてユーザがメニューアイテムMN21を選択した場合、画像取得部120は、新たにAR空間を構築するために、撮像画像を入力画像として取得する(ステップS12)。
一方、メニューMN2においてユーザがメニューアイテムMN22を選択した場合、AR空間設定部144は、さらにメニューMN3を画面に表示させる。メニューMN3は、記憶されているAR空間モデルのリストを含む。そして、ユーザがいずれかのAR空間モデルを選択すると、AR空間設定部144は、選択されたAR空間モデルをデータ記憶部160からロードする(ステップS11)。画像取得部120は、ロードされたAR空間を実空間に関連付けるために、撮像画像を入力画像として取得する(ステップS12)。
そして、AR空間設定部144は、入力画像についての認識部142による認識結果に基づいて、又はロードされたAR空間モデルを用いて、入力画像に映る実空間に関連付けてAR空間を設定する。それにより、ARアプリケーションが開始される(ステップS13)。
メニューMN1において、メニューアイテムMN12又はMN13が選択された場合、AR空間設定部144は、メニューMN4を画面に表示させる。図50Bを参照すると、メニューMN4は、メニューアイテムMN41(「カメラでチェックイン」)、メニューアイテムMN42(「現在位置でチェックイン」)、メニューアイテムMN43(「全てのリストから選択」)及びメニューアイテムMN44(「前回と同じコミュニティへ」)を含む。
メニューMN4においてユーザがメニューアイテムMN41を選択した場合、AR空間設定部144は、画像取得部120により取得される撮像画像を、ユーザを振り分ける機能を有する装置へ送信する(ステップS14)。ここでは、一例として、アプリケーションサーバが、ユーザを振り分ける機能を有するものとする。また、メニューMN4においてユーザがメニューアイテムMN42を選択した場合、AR空間設定部144は、データ取得部130により取得される位置データを、アプリケーションサーバへ送信する(ステップS15)。また、メニューMN4においてユーザがメニューアイテムMN43を選択した場合、AR空間設定部144は、AR空間候補のリストの配信を求めるリクエストを、アプリケーションサーバへ送信する。いずれの場合にも、AR空間設定部144は、アプリケーションサーバからAR空間候補のリストを受信する(ステップS16)。
AR空間設定部144は、アプリケーションサーバから受信したAR空間候補のリストが複数のAR空間候補を含む場合には、メニューMN5を画面に表示させる。AR空間候補のリストが1つのAR空間候補のみを含む場合には、メニューMN5の表示は省略されてもよい。そして、AR空間設定部144は、メニューMN5においてユーザにより指定されたAR空間、又はAR空間候補のリストに含まれる単一のAR空間のAR空間モデルを、アプリケーションサーバから受信する(ステップS17)。
一方、メニューMN4においてユーザがメニューアイテムMN44を選択した場合、AR空間設定部144は、前回ユーザがチェックアウトしたAR空間の識別子をデータ記憶部160から取得し、当該識別子により識別されるAR空間のAR空間モデルを、アプリケーションサーバから受信する(ステップS17)。
そして、画像取得部120は、撮像画像を入力画像として取得する(ステップS18)。AR空間設定部144は、アプリケーションサーバから受信されたAR空間モデルを用いて、入力画像に映る実空間に関連付けてAR空間を設定する(ステップS18)。そして、ARアプリケーションが開始される(ステップS19)。
[6−2.ARアプリケーションの実行]
図51は、ARアプリケーションを実行するための情報処理の流れの一例を示すフローチャートである。
図51を参照すると、まず、画像取得部120は、実空間を映した撮像画像を入力画像としてカメラ102から取得する(ステップS110)。そして、画像取得部120は、取得した入力画像を、AR処理部140へ出力する。
次に、認識部142は、画像取得部120から入力される入力画像に映る実オブジェクトの位置及び姿勢を認識する(ステップS115)。また、認識部142は、情報処理装置100の位置及び姿勢をも認識し得る。そして、認識部142は、認識結果に基づいて実空間マップ164を生成し又は更新し、実空間マップ164をデータ記憶部160に記憶させる。
次に、AR空間設定部144は、実空間マップ164により表現される実空間に関連付けて、AR空間を設定する(ステップS120)。ここで設定されるAR空間は、入力画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより構築される空間であってもよく、又は他の装置から受信されるAR空間モデルにより表現される空間であってもよい。
次に、AR空間設定部144は、設定したAR空間内に、1つ以上のアバタ及びその他の仮想オブジェクトを配置する(ステップS125)。ここで配置されるアバタは、メインユーザのアバタ、及びAR空間を共有する他のユーザのアバタを含み得る。また、ここで配置される仮想オブジェクトは、NPC(非ユーザキャラクタ)を含み得る。
次に、オブジェクト制御部146は、予め取得され得るアクションシナリオに従って、AR空間内に配置したNPCの動作を決定する(ステップS130)。
また、オブジェクト制御部146は、アクション判定処理を実行し、メインユーザのアバタについてのアクションを判定する(ステップS140)。そして、オブジェクト制御部146は、AR空間が他のユーザと共有されている場合には(ステップS160)、当該他のユーザの端末との間でアクションデータを交換する(ステップS165)。
次に、オブジェクト制御部146は、AR空間の状態(例えば、アバタを含む1つ以上の仮想オブジェクトの位置及び姿勢など)を更新する(ステップS170)。そして、オブジェクト制御部146は、仮想オブジェクト画像の重畳された出力画像(アバタのアクションのアニメーションを含み得る)を、ディスプレイ110の画面に表示させる(ステップS175)。
その後、その時点の動作モードがリアルタイムモードである場合には、処理はステップS110へ戻り、次のフレームを入力画像として上述した処理が繰り返される。一方、動作モードがスナップショットモードである場合には、新たな入力画像は取得されず、ステップS130以降の上述した処理が繰り返される(ステップS180)。
[6−3.アクション判定処理]
図52は、図51に示したアクション判定処理の詳細な流れの一例を示すフローチャートである。図52を参照すると、アクション判定処理は、その時点の動作モードがリアルタイムモード及びスナップショットモードのいずれであるかに依存して分岐する(ステップS142)。
動作モードがリアルタイムモードである場合、オブジェクト制御部146は、AR空間内のオブジェクトとカメラの光軸との間の位置関係に基づいて、アクションの対象位置を決定する(ステップS144)。一方、動作モードがスナップショットモードである場合、オブジェクト制御部146は、オブジェクトとカメラの光軸との間の位置関係に基づくことなく、アクションの対象位置を決定する(ステップS146)。
次に、オブジェクト制御部146は、ユーザ入力の検出結果に従って、メインユーザのアバタに実行させるべきアクションを決定する(ステップS148)。
<7.変形例>
[7−1.端末とサーバとの連携]
図4に示したブロック図は、実空間の認識、AR空間の設定及びオブジェクトの制御などの主要な機能をユーザ端末である情報処理装置100が有する例を示している。しかしながら、本開示に係る技術は、これら機能の少なくとも一部が外部装置(例えば、アプリケーションサーバ又は近傍の他の端末など)において実装される例にも適用可能である。そこで、本節では、そうした変形例の1つについて説明する。
図53は、一変形例に係る情報処理装置200の論理的機能の構成の一例を示すブロック図である。情報処理装置200のハードウェア構成は、図3に示した情報処理装置100のハードウェア構成と同様であってよい。図53を参照すると、情報処理装置200は、画像取得部120、データ取得部130及びサーバ連携部250を備える。サーバ連携部250は、データ送信部252及びAR画像受信部254を有する。
データ送信部252は、情報処理装置100のAR空間設定部144及びオブジェクト制御部146と同等の機能を有するサーバ装置300へ、通信インタフェースを介して、入力画像を送信する。データ送信部252は、ユーザ入力が検出された場合には、ユーザ入力データをサーバ装置300へ送信してもよい。また、データ送信部252は、情報処理装置200の現在位置を示す位置データを含み得るセンサデータを、サーバ装置300へ送信してもよい。
AR画像受信部254は、サーバ装置300からAR画像を受信する。AR画像受信部254により受信されるAR画像は、例えば、AR空間内で実行されるアクションを表現する画像である。AR空間は、入力画像に映る実オブジェクトをボクセル単位で離散化することにより、入力画像に関連付けて設定されてもよい。また、AR空間は、入力画像に関連する画像関連情報に応じて設定されてもよい。アクションの対象位置は、AR空間内のオブジェクトとカメラの光軸との間の位置関係に基づいて決定されてもよい。そして、AR画像受信部254は、ディスプレイ110へ出力画像を出力し、ARアプリケーションの画像を画面に表示させる。
[7−2.簡易的な実空間の認識]
上述した実施形態では、認識部142が実空間内の位置及び姿勢を表現する実空間マップを生成した後、AR空間設定部144が実空間マップを離散化することにより、仮想オブジェクトの配置を表すAR空間モデルを生成する例について主に説明した。しかしながら、仮想オブジェクトの配置は、より簡易な手法で決定されてもよい。
図54は、仮想オブジェクトの配置を決定するための手法の一変形例について説明するための説明図である。図54を参照すると、実オブジェクトである一例としてのマーカオブジェクトMK1、並びに、コンテンツ辞書においてマーカオブジェクトMK1に関連付られる仮想オブジェクトVM1及び描画モデルDM1が示されている。図54の例では、描画モデルDM1は、船の外観を表現する画像データである。描画モデルDM1もまた、一種の仮想オブジェクトであるといってよい。コンテンツ辞書は、さらに、マーカオブジェクトMK1に対する仮想オブジェクトVM1及び描画モデルDM1の相対的な配置のための基準となる基準点RP1をも定義する。認識部142は、公知の画像認識技術を用いて、入力画像に映るマーカオブジェクトMK1を認識する。AR空間設定部144は、認識されたマーカオブジェクトMK1の位置とコンテンツ辞書における定義とに基づいて、入力画像内の基準点RP1の位置を決定する。そして、AR空間設定部144(又はオブジェクト制御部146)は、決定した基準点RP1の位置を基準として、仮想オブジェクトVM1を配置する(図中のステップS21)。仮想オブジェクトVM1は、1つ以上のボクセルを占める透明なオブジェクトであってよい。さらに、オブジェクト制御部146は、基準点RP1の位置を基準として、画面上で、描画モデルDM1をマーカオブジェクトMK1に重畳する(図中のステップS22)。アバタは、オブジェクト制御部146による制御の下で、例えば仮想オブジェクトVM1を避けるように、又は仮想オブジェクトVM1の上に乗るように動く。アバタは、ユーザによる操作に従って、仮想オブジェクトVM1の上にブロックを積み重ねてもよい。結果として、画面上で、アバタがあたかも描画モデルDM1により表現される船とインタラクションをしているかのような出力画像を表示することができる。なお、マーカオブジェクトは、何らかのテクスチャを有する任意のオブジェクト(例えば、ポスター又は商品のパッケージなど)であってよい。コンテンツ辞書は、いかなる数のマーカオブジェクトについてのデータを定義してもよい。
<8.まとめ>
ここまで、図1〜図54を用いて、本開示に係る技術の様々な実施形態について説明した。上述した実施形態によれば、実オブジェクトと仮想オブジェクトとの間の関連付けの強化、ARアプリケーションならではの操作性の向上、及びARコミュニティにおけるコミュニケーションの活性化などの様々な観点を通じて、ユーザにより体験される拡張現実の魅力が向上される。
例えば、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することによりAR空間が設定される場合には、AR空間内で活動するアバタ又はその他の仮想オブジェクトが実オブジェクトと干渉することを、容易に防止することができる。このような手法は、実オブジェクトの位置及び姿勢を記述する情報(例えば、上述した実空間マップ、又は特開2011−159162号公報に記載された環境マップなど)から直接的に干渉を判定する手法と比較して、計算負荷を抑え、判定のアルゴリズムを単純化させることを可能とする。それにより、例えば複数の端末が互いに連携するようなARアプリケーションにおいて、リアルタイム性を確保することも容易となる。
また、例えば、AR空間内のオブジェクトと撮像装置の光軸との間の位置関係に基づいてAR空間内で実行されるアクションの対象位置が決定される場合には、対象位置を決定するために、タッチ入力やボタンの押下などのユーザ入力が不要となる。それにより、ユーザが仮想オブジェクトのアクションを操作する際の端末の姿勢のブレが低減され、ARアプリケーションの安定的な動作と操作性の向上とが実現される。
また、例えば、撮像画像に関連する画像関連情報に応じて異なるAR空間が設定される場合には、多数のユーザが無秩序にAR空間に集まるのではなく、何らかの共通点を有するユーザのアバタが共通のAR空間に集まってARコミュニティを形成することが可能となる。ARアプリケーションを利用する際には、通常、ユーザは画像を撮像する。よって、本手法に従って画像関連情報を取得するためにユーザに追加的な作業を課すことなく、ユーザ間のコミュニケーションのために効果的なARコミュニティを形成することが可能である。
なお、本明細書において説明した各装置による一連の処理は、典型的には、ソフトウェアを用いて実現される。一連の処理を実現するソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体(非一時的な媒体:non-transitory media)に予め格納される。そして、各プログラムは、例えば、実行時にRAM(Random Access Memory)に読み込まれ、CPUなどのプロセッサにより実行される。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、
前記拡張現実空間内のオブジェクトと前記撮像装置の光軸との間の位置関係に基づいて、前記拡張現実空間内で実行されるアクションの対象位置を決定する制御部と、
を備える情報処理装置。
(2)
前記制御部は、前記拡張現実空間内にユーザのアバタを配置し、前記アバタにより実行される前記アクションの前記対象位置を前記位置関係に基づいて決定する、前記(1)に記載の情報処理装置。
(3)
前記制御部は、前記アバタの移動の目的地として、前記対象位置を決定する、前記(2)に記載の情報処理装置。
(4)
前記制御部は、前記アバタが使用するアイテムの作用点として、前記対象位置を決定する、前記(2)に記載の情報処理装置。
(5)
前記制御部は、前記撮像装置の前記光軸周りの回転に基づいて、前記アバタの姿勢を制御する、前記(2)〜(4)のいずれか1項に記載の情報処理装置。
(6)
前記制御部は、前記撮像装置に対する前記拡張現実空間の相対的な位置、姿勢又はスケールを、所定のユーザ入力に基づいて変更する、前記(1)〜(5)のいずれか1項に記載の情報処理装置。
(7)
前記制御部は、前記拡張現実空間内のオブジェクトを表示するウィンドウの右端領域及び左端領域の少なくとも一方に、前記アクションの種類をユーザに選択させるためのユーザインタフェースを重畳し、
前記右端領域及び前記左端領域は、ディスプレイを把持しているユーザの指が届く領域である、
前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)
前記情報処理装置は、前記撮像画像に映る実オブジェクトの前記実空間内の位置及び姿勢を認識する認識部、をさらに備え、
前記制御部は、前記認識部による前記実オブジェクトの認識結果を用いて、当該実オブジェクトに関連する前記アクションを制御する、
前記(1)〜(7)のいずれか1項に記載の情報処理装置。
(9)
前記撮像画像に映る実オブジェクトの前記拡張現実空間内の配置は、当該実オブジェクトをボクセル単位で離散化することにより決定される、前記(1)〜(8)のいずれか1項に記載の情報処理装置。
(10)
前記制御部は、前記アクションの前記対象位置を前記ボクセル単位で決定する、前記(9)に記載の情報処理装置。
(11)
前記制御部は、第1の動作モードにおいて、毎フレーム更新される前記撮像画像に前記拡張現実空間内のオブジェクトを重畳して画面に表示させ、第2の動作モードにおいて、前記撮像画像を更新することなく前記拡張現実空間内のオブジェクトを画面に表示させる、前記(1)〜(10)のいずれか1項に記載の情報処理装置。
(12)
前記制御部は、所定のユーザ入力に応じて、前記第1の動作モードと前記第2の動作モードとを切り替える、前記(11)に記載の情報処理装置。
(13)
前記制御部は、前記撮像画像に映る実オブジェクトの認識の失敗が所定のフレーム数分連続した場合に、前記第1の動作モードから前記第2の動作モードへ切り替える、前記(11)に記載の情報処理装置。
(14)
前記制御部は、前記第2の動作モードにおいて、前記拡張現実空間内のオブジェクトと前記撮像装置の光軸との間の位置関係に基づくことなく、前記拡張現実空間内で実行される前記アクションの前記対象位置を決定する、前記(11)〜(13)のいずれか1項に記載の情報処理装置。
(15)
前記制御部は、カメラ視点モードにおいて、前記撮像装置の位置及び姿勢を基準として前記拡張現実空間の画像を生成し、アバタ視点モードにおいて、前記拡張現実空間内に配置されるアバタの位置及び姿勢を基準として、前記拡張現実空間の画像を生成する、前記(1)〜(10)のいずれか1項に記載の情報処理装置。
(16)
前記制御部は、所定のユーザ入力又は前記拡張現実空間内の所定のイベントの発生に応じて、前記カメラ視点モードから前記アバタ視点モードへ切り替える、前記(15)に記載の情報処理装置。
(17)
前記制御部は、前記アクションが実行された場合において、前記対象位置に対応する前記実空間内の実オブジェクトがリアクションを遂行可能なときに、当該実オブジェクトにリアクションの遂行を指示する、前記(1)〜(16)のいずれか1項に記載の情報処理装置。
(18)
実空間を撮像することにより撮像画像を生成する撮像部と、
前記撮像画像に映る前記実空間に関連付けて前記実空間を仮想的に拡張する拡張現実空間を設定し、設定した当該拡張現実空間内のオブジェクトと前記撮像部の光軸との間の位置関係に基づいて前記拡張現実空間内で実行されるアクションの対象位置を決定するサーバ装置、と通信する通信部と、
前記サーバ装置により決定された前記対象位置に対して前記拡張現実空間内で実行される前記アクションを表現する画像を画面に表示させる制御部と、
を備える端末装置。
(19)
撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、
前記サーバ装置は、撮像画像に映る実空間に関連付けて前記実空間を仮想的に拡張する拡張現実空間を設定し、設定した当該拡張現実空間内のオブジェクトと前記撮像部の光軸との間の位置関係に基づいて前記拡張現実空間内で実行されるアクションの対象位置を決定し、
前記情報処理方法は、
前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
前記サーバ装置により決定された前記対象位置に対して前記拡張現実空間内で実行される前記アクションを表現する画像を画面に表示させることと、
を含む、情報処理方法。
(20)
端末装置を制御するコンピュータを、
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間に関連付けて前記実空間を仮想的に拡張する拡張現実空間を設定するサーバ装置であって、設定した当該拡張現実空間内のオブジェクトと前記撮像装置の光軸との間の位置関係に基づいて前記拡張現実空間内で実行されるアクションの対象位置を決定する当該サーバ装置、により決定された前記対象位置に対して前記拡張現実空間内で実行される前記アクションを表現する画像を画面に表示させる制御部と、
として機能させるための、プログラム。
また、以下のような構成も本開示の技術的範囲に属する。
(1)
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、
前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、
を備える情報処理装置。
(2)
前記仮想オブジェクトは、ユーザのアバタを含む、前記(1)に記載の情報処理装置。
(3)
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記実オブジェクトのテクスチャ又は色に基づいて設定する、
前記(1)又は前記(2)に記載の情報処理装置。
(4)
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記撮像画像に映る基準オブジェクトのテクスチャ又は色に基づいて設定する、
前記(1)又は前記(2)に記載の情報処理装置。
(5)
前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトの表示属性を、前記実オブジェクトの地形的パラメータに基づいて設定する、
前記(1)又は前記(2)に記載の情報処理装置。
(6)
前記情報処理装置は、前記撮像画像に映る前記実オブジェクトの前記実空間内の位置及び姿勢を認識することにより実空間マップを生成する認識部、をさらに備え、
前記設定部は、前記認識部により生成された前記実空間マップをボクセル単位で離散化することにより、前記拡張現実空間を構築する、
前記(1)〜(5)のいずれか1項に記載の情報処理装置。
(7)
前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザのうちの親ユーザの前記撮像画像に基づいて設定される前記拡張現実空間を、前記複数のユーザの各々に適用する、前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)
前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザの前記撮像画像に基づいてそれぞれ構築される複数のユーザ別拡張現実空間を統合することにより、前記拡張現実空間を形成する、前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(9)
前記設定部は、前記複数のユーザ別拡張現実空間の和をボクセル単位で計算することにより、前記複数のユーザ別拡張現実空間を統合する、前記(8)に記載の情報処理装置。
(10)
前記拡張現実空間は、ユーザにそれぞれ割当てられる複数のテリトリに区分され、
前記設定部は、テリトリごとに当該テリトリに割当てられたユーザの前記ユーザ別拡張現実空間を選択することにより、前記複数のユーザ別拡張現実空間を統合する、
前記(8)に記載の情報処理装置。
(11)
前記制御部は、前記撮像画像に重畳される前記仮想オブジェクトの表示属性を、当該仮想オブジェクトに対応する実オブジェクトがどのユーザの前記撮像画像に映っているかに応じて変化させる、前記(7)〜(10)のいずれか1項に記載の情報処理装置。
(12)
前記設定部は、前記複数のユーザにより共有される前記拡張現実空間の表示スケールを、前記撮像画像に映る基準オブジェクトのサイズに基づいて設定する、前記(7)〜(11)のいずれか1項に記載の情報処理装置。
(13)
前記設定部は、ユーザにより指定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、前記(1)〜(12)のいずれか1項に記載の情報処理装置。
(14)
前記設定部は、ユーザのプライバシー設定に基づいて決定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、前記(1)〜(12)のいずれか1項に記載の情報処理装置。
(15)
前記設定部は、ユーザにより指定される前記実オブジェクト又はユーザにより除外されなかった前記実オブジェクトを離散化することにより、前記拡張現実空間を設定する、前記(1)〜(14)のいずれか1項に記載の情報処理装置。
(16)
実空間を撮像することにより撮像画像を生成する撮像部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、
前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
を備える端末装置。
(17)
撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、
前記サーバ装置は、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定し、
前記情報処理方法は、
前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させることと、
を含む、情報処理方法。
(18)
端末装置を制御するコンピュータを、
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
として機能させるための、プログラム。
また、以下のような構成も本開示の技術的範囲に属する。
(1)
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を、前記実空間に関連付けて設定する設定部と、
前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を画面に表示させる制御部と、
を備える情報処理装置。
(2)
前記仮想オブジェクトは、ユーザごとのアバタを含む、前記(1)に記載の情報処理装置。
(3)
前記関連情報は、前記撮像画像に映る基準オブジェクトの属性を含む、前記(1)又は前記(2)に記載の情報処理装置。
(4)
前記関連情報は、前記撮像画像の撮像場所を含む、前記(1)又は前記(2)に記載の情報処理装置。
(5)
前記関連情報は、前記撮像装置の属性を含む、前記(1)又は前記(2)に記載の情報処理装置。
(6)
前記設定部は、予め用意される複数の拡張現実空間候補から前記関連情報に応じて選択される前記拡張現実空間を設定する、前記(3)〜(5)のいずれか1項に記載の情報処理装置。
(7)
前記設定部は、前記複数の拡張現実空間候補から前記関連情報に応じて決定されるサブセットのうちユーザにより指定される前記拡張現実空間を選択する、前記(6)に記載の情報処理装置。
(8)
前記設定部は、設定すべき前記拡張現実空間の可変パラメータを、前記関連情報に応じて調整する、前記(3)〜(6)のいずれか1項に記載の情報処理装置。
(9)
前記設定部は、前記拡張現実空間の表示に関与する装置の性能に基づいて、設定すべき前記拡張現実空間の可変パラメータを調整する、前記(1)〜(8)のいずれか1項に記載の情報処理装置。
(10)
前記制御部は、前記拡張現実空間内に配置される前記仮想オブジェクトの初期位置を、前記関連情報に基づいて決定する、前記(1)〜(9)のいずれか1項に記載の情報処理装置。
(11)
前記制御部は、前記拡張現実空間内に配置される前記仮想オブジェクトの初期位置を、前記ユーザの属性に基づいて決定する、前記(1)〜(9)のいずれか1項に記載の情報処理装置。
(12)
前記設定部は、設定すべき前記拡張現実空間が前記関連情報から決定されない場合に、前記関連情報に依存しない既定の拡張現実空間候補を前記拡張現実空間として設定する、前記(1)〜(11)のいずれか1項に記載の情報処理装置。
(13)
前記仮想オブジェクトは、ユーザごとのアバタを含み、
前記制御部は、同じ前記拡張現実空間にリアルタイムでアクセスしている1人以上のユーザのアバタを当該拡張現実空間内に配置する、
前記(1)〜(12)のいずれか1項に記載の情報処理装置。
(14)
前記制御部は、同じ前記拡張現実空間に過去にアクセスしたユーザのアバタをも、当該拡張現実空間内に配置する、前記(13)に記載の情報処理装置。
(15)
前記制御部は、同じ前記拡張現実空間に過去にアクセスしたユーザのアバタの足跡を、前記拡張現実空間において表現する、前記(13)に記載の情報処理装置。
(16)
前記制御部は、前記拡張現実空間内に配置される非ユーザキャラクタのアクションシナリオを、前記1人以上のユーザの装置の間で共有する、前記(13)〜(15)のいずれか1項に記載の情報処理装置。
(17)
前記仮想オブジェクトは、ユーザごとのアバタを含み、
前記設定部は、設定した前記拡張現実空間内に、他の拡張現実空間へ前記アバタが移動することを可能とするためのパスを配置する、
前記(1)〜(16)のいずれか1項に記載の情報処理装置。
(18)
実空間を撮像することにより撮像画像を生成する撮像部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、
前記サーバ装置により設定された前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を、画面に表示させる制御部と、
を備える端末装置。
(19)
撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法において、
前記サーバ装置は、撮像画像に映る実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を前記実空間に関連付けて設定し、
前記情報処理方法は、
前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
前記サーバ装置により設定された前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を、画面に表示させることと、
を含む、情報処理方法。
(20)
端末装置を制御するコンピュータを、
撮像装置から実空間の撮像画像を取得する画像取得部と、
前記撮像画像に映る前記実空間を仮想的に拡張する拡張現実空間であって、前記撮像画像に関連する関連情報に応じて異なる当該拡張現実空間を前記実空間に関連付けて設定するサーバ装置により設定された前記拡張現実空間内にユーザごとに配置される仮想オブジェクトの画像を、画面に表示させる制御部と、
として機能させるための、プログラム。
100 情報処理装置
102 カメラ(撮像部)
110 ディスプレイ(表示部)
112 通信インタフェース(通信部)
118 プロセッサ(制御部)
120 画像取得部
130 データ取得部
142 認識部
144 AR空間設定部
146 オブジェクト制御部
200 端末装置

Claims (18)

  1. 撮像装置から実空間の撮像画像を取得する画像取得部と、
    前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定する設定部と、
    前記拡張現実空間内に配置される仮想オブジェクトのアクションを制御する制御部と、
    を備える情報処理装置。
  2. 前記仮想オブジェクトは、ユーザのアバタを含む、請求項1に記載の情報処理装置。
  3. 前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
    前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記実オブジェクトのテクスチャ又は色に基づいて設定する、
    請求項1に記載の情報処理装置。
  4. 前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
    前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトのテクスチャ又は色を、前記撮像画像に映る基準オブジェクトのテクスチャ又は色に基づいて設定する、
    請求項1に記載の情報処理装置。
  5. 前記仮想オブジェクトは、前記実オブジェクトに対応するオブジェクトを含み、
    前記設定部は、前記実オブジェクトに対応する前記仮想オブジェクトの表示属性を、前記実オブジェクトの地形的パラメータに基づいて設定する、
    請求項1に記載の情報処理装置。
  6. 前記情報処理装置は、前記撮像画像に映る前記実オブジェクトの前記実空間内の位置及び姿勢を認識することにより実空間マップを生成する認識部、をさらに備え、
    前記設定部は、前記認識部により生成された前記実空間マップをボクセル単位で離散化することにより、前記拡張現実空間を構築する、
    請求項1に記載の情報処理装置。
  7. 前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザのうちの親ユーザの前記撮像画像に基づいて設定される前記拡張現実空間を、前記複数のユーザの各々に適用する、請求項1に記載の情報処理装置。
  8. 前記設定部は、前記拡張現実空間が複数のユーザにより共有される場合に、前記複数のユーザの前記撮像画像に基づいてそれぞれ構築される複数のユーザ別拡張現実空間を統合することにより、前記拡張現実空間を形成する、請求項1に記載の情報処理装置。
  9. 前記設定部は、前記複数のユーザ別拡張現実空間の和をボクセル単位で計算することにより、前記複数のユーザ別拡張現実空間を統合する、請求項8に記載の情報処理装置。
  10. 前記拡張現実空間は、ユーザにそれぞれ割当てられる複数のテリトリに区分され、
    前記設定部は、テリトリごとに当該テリトリに割当てられたユーザの前記ユーザ別拡張現実空間を選択することにより、前記複数のユーザ別拡張現実空間を統合する、
    請求項8に記載の情報処理装置。
  11. 前記制御部は、前記撮像画像に重畳される前記仮想オブジェクトの表示属性を、当該仮想オブジェクトに対応する実オブジェクトがどのユーザの前記撮像画像に映っているかに応じて変化させる、請求項7に記載の情報処理装置。
  12. 前記設定部は、前記複数のユーザにより共有される前記拡張現実空間の表示スケールを、前記撮像画像に映る基準オブジェクトのサイズに基づいて設定する、請求項7に記載の情報処理装置。
  13. 前記設定部は、ユーザにより指定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、請求項1に記載の情報処理装置。
  14. 前記設定部は、ユーザのプライバシー設定に基づいて決定される粒度を有するボクセルを、前記実オブジェクトを離散化するために使用する、請求項1に記載の情報処理装置。
  15. 前記設定部は、ユーザにより指定される前記実オブジェクト又はユーザにより除外されなかった前記実オブジェクトを離散化することにより、前記拡張現実空間を設定する、請求項1に記載の情報処理装置。
  16. 実空間を撮像することにより撮像画像を生成する撮像部と、
    前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、と通信する通信部と、
    前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
    を備える端末装置。
  17. 撮像部、及びサーバ装置と通信する通信部、を備える端末装置により実行される情報処理方法であって、
    前記サーバ装置は、撮像画像に映る実空間内の実オブジェクトをボクセル単位で離散化することにより、前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定し、
    前記情報処理方法は、
    前記撮像部を用いて実空間を撮像することにより前記撮像画像を生成することと、
    前記サーバ装置により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させることと、
    を含む、情報処理方法。
  18. 端末装置を制御するコンピュータを、
    撮像装置から実空間の撮像画像を取得する画像取得部と、
    前記撮像画像に映る前記実空間内の実オブジェクトをボクセル単位で離散化することにより前記実空間を仮想的に拡張する拡張現実空間を前記実空間に関連付けて設定するサーバ装置、により設定された前記拡張現実空間内に配置される仮想オブジェクトの画像を画面に表示させる制御部と、
    として機能させるための、プログラム。
JP2013018437A 2013-02-01 2013-02-01 情報処理装置、端末装置、情報処理方法及びプログラム Pending JP2014149712A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013018437A JP2014149712A (ja) 2013-02-01 2013-02-01 情報処理装置、端末装置、情報処理方法及びプログラム
US14/152,070 US20140218361A1 (en) 2013-02-01 2014-01-10 Information processing device, client device, information processing method, and program
CN201410036333.XA CN103970268A (zh) 2013-02-01 2014-01-24 信息处理设备、客户端设备、信息处理方法以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013018437A JP2014149712A (ja) 2013-02-01 2013-02-01 情報処理装置、端末装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2014149712A true JP2014149712A (ja) 2014-08-21

Family

ID=51239873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013018437A Pending JP2014149712A (ja) 2013-02-01 2013-02-01 情報処理装置、端末装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US20140218361A1 (ja)
JP (1) JP2014149712A (ja)
CN (1) CN103970268A (ja)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016157247A1 (ja) * 2015-03-30 2016-10-06 株式会社カプコン 仮想三次元空間生成方法、映像システム、その制御方法およびコンピュータ装置での読み取りが可能な記録媒体
JP2016200920A (ja) * 2015-04-09 2016-12-01 セイコーエプソン株式会社 情報処理装置、画像表示装置、情報処理装置および画像表示装置の制御方法、および、コンピュータープログラム
JP2016218534A (ja) * 2015-05-15 2016-12-22 国立大学法人九州大学 画像表示システムおよび画像表示方法
JP2017041068A (ja) * 2015-08-19 2017-02-23 富士通株式会社 表示制御方法、情報処理装置及び表示制御プログラム
JP2017528834A (ja) * 2014-09-11 2017-09-28 ノキア テクノロジーズ オサケユイチア 画像を表示するための方法、装置およびコンピュータ・プログラム
WO2017203774A1 (ja) * 2016-05-26 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法及び記憶媒体
JP2018072992A (ja) * 2016-10-26 2018-05-10 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP2018109937A (ja) * 2016-12-28 2018-07-12 株式会社コロプラ 情報処理方法、装置、情報処理システム、および当該情報処理方法をコンピュータに実行させるプログラム
KR20190088466A (ko) * 2016-11-21 2019-07-26 소니 주식회사 정보 처리 장치, 정보 처리 방법, 및 프로그램
KR20190107012A (ko) * 2017-01-16 2019-09-18 소니 주식회사 정보 처리 장치, 정보 처리 방법, 및 프로그램
JPWO2018168247A1 (ja) * 2017-03-15 2020-01-23 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
WO2020110323A1 (ja) * 2018-11-30 2020-06-04 株式会社ドワンゴ 動画合成装置、動画合成方法及び記録媒体
WO2020110322A1 (ja) * 2018-11-30 2020-06-04 株式会社ドワンゴ 動画合成装置、動画合成方法及び記録媒体
JP2020170903A (ja) * 2019-04-01 2020-10-15 日本電信電話株式会社 情報処理システム、コンテンツ生成装置、コンテンツ提示装置、コンテンツ生成方法、コンテンツ提示方法およびプログラム
JP2020190971A (ja) * 2019-05-23 2020-11-26 株式会社インフォマティクス 空間認識システム、空間認識装置、空間認識方法及びプログラム
JP2021002402A (ja) * 2020-10-06 2021-01-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
JP2021085739A (ja) * 2019-11-27 2021-06-03 株式会社インフォマティクス 空間認識システム、空間認識装置、空間認識方法及びプログラム
JP2021192242A (ja) * 2015-03-12 2021-12-16 ハッピー エル−ロード アクチボラグHappy L−Lord Ab 3次元ボクセル・ベース・モデリングのためのシステム、方法、およびデバイス
JP7016438B1 (ja) 2021-03-29 2022-02-18 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム
JP2022522422A (ja) * 2019-02-26 2022-04-19 リム,ソン-キュ ビジュアルデジタル装飾装置及びその制御方法
JP7082698B1 (ja) 2021-02-18 2022-06-08 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP7086242B1 (ja) 2021-02-18 2022-06-17 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP7340746B2 (ja) 2021-03-29 2023-09-08 ナイアンティック, インコーポレイテッド 拡張現実環境におけるマルチユーザルート追跡

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589000B2 (en) * 2012-08-30 2017-03-07 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
US9430877B2 (en) * 2013-01-25 2016-08-30 Wilus Institute Of Standards And Technology Inc. Electronic device and method for selecting augmented content using the same
AU2014248874B2 (en) 2013-03-11 2019-07-11 Magic Leap, Inc. System and method for augmented and virtual reality
CA3160567A1 (en) 2013-03-15 2014-09-18 Magic Leap, Inc. Display system and method
JP2014191718A (ja) 2013-03-28 2014-10-06 Sony Corp 表示制御装置、表示制御方法および記録媒体
JP6138566B2 (ja) * 2013-04-24 2017-05-31 川崎重工業株式会社 部品取付作業支援システムおよび部品取付方法
KR20150008733A (ko) * 2013-07-15 2015-01-23 엘지전자 주식회사 안경형 휴대기기 및 그의 정보 투사면 탐색방법
US10930038B2 (en) 2014-06-10 2021-02-23 Lab Of Misfits Ar, Inc. Dynamic location based digital element
US9619940B1 (en) 2014-06-10 2017-04-11 Ripple Inc Spatial filtering trace location
US10026226B1 (en) 2014-06-10 2018-07-17 Ripple Inc Rendering an augmented reality object
US9646418B1 (en) * 2014-06-10 2017-05-09 Ripple Inc Biasing a rendering location of an augmented reality object
US11205075B2 (en) * 2018-01-10 2021-12-21 Quantum Interface, Llc Interfaces, systems and apparatuses for constructing 3D AR environment overlays, and methods for making and using same
US9779512B2 (en) * 2015-01-29 2017-10-03 Microsoft Technology Licensing, Llc Automatic generation of virtual materials from real-world materials
KR102235707B1 (ko) * 2015-01-29 2021-04-02 한국전자통신연구원 콘텐츠 부가 정보 제공 방법 및 모바일 단말 및 콘텐츠 제어 서버
CN104660995B (zh) * 2015-02-11 2018-07-31 尼森科技(湖北)有限公司 一种救灾救援可视系统
CN104766354B (zh) * 2015-03-19 2018-05-04 深圳市创梦天地科技有限公司 一种增强现实绘图的方法及移动终端
CN107852488B (zh) * 2015-05-22 2021-03-30 三星电子株式会社 用于通过hmd设备显示虚拟图像的系统和方法
JP6780642B2 (ja) * 2015-06-15 2020-11-04 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US9901816B2 (en) * 2015-08-24 2018-02-27 Htc Corporation Interactive game system with an HMD and a ground pad
US9766713B2 (en) * 2015-09-08 2017-09-19 Unity IPR ApS System and method for providing user interface tools
US9898869B2 (en) * 2015-09-09 2018-02-20 Microsoft Technology Licensing, Llc Tactile interaction in virtual environments
CN105653036A (zh) * 2015-12-31 2016-06-08 深圳市路通网络技术有限公司 一种涂鸦增强现实的方法及系统
WO2017120271A1 (en) * 2016-01-04 2017-07-13 Meta Company Apparatuses, methods and systems for application of forces within a 3d virtual environment
CN105739879A (zh) * 2016-01-29 2016-07-06 广东欧珀移动通信有限公司 一种虚拟现实的应用方法及终端
WO2017142977A1 (en) 2016-02-15 2017-08-24 Meta Company Apparatuses, methods and systems for tethering 3-d virtual elements to digital content
CN107823877A (zh) * 2016-09-16 2018-03-23 天津思博科科技发展有限公司 应用三维定位传感器实现的虚拟运动游戏装置
CN110100222B (zh) * 2016-12-21 2024-03-29 瑞典爱立信有限公司 用于处理触觉反馈的方法和装置
CN107025674B (zh) * 2017-03-08 2020-08-18 武汉秀宝软件有限公司 一种基于增强现实的涂色识别图的显示方法及系统
WO2018162985A1 (en) * 2017-03-10 2018-09-13 Zyetric Augmented Reality Limited Interactive augmented reality
US10242457B1 (en) * 2017-03-20 2019-03-26 Zoox, Inc. Augmented reality passenger experience
CN107168662B (zh) * 2017-03-28 2020-04-24 联想(北京)有限公司 一种信息处理方法及电子设备
CN107193371A (zh) * 2017-04-28 2017-09-22 上海交通大学 一种基于虚拟现实的实时人机交互系统及方法
CN107274465A (zh) * 2017-05-31 2017-10-20 珠海金山网络游戏科技有限公司 一种虚拟现实的主播方法、装置和系统
EP3639114B1 (en) * 2017-06-15 2024-03-06 Tencent Technology (Shenzhen) Company Limited System and method of instantly previewing immersive content
KR102085440B1 (ko) * 2017-12-26 2020-03-05 (주)스코넥엔터테인먼트 가상 현실 제어 시스템
CN108520552A (zh) * 2018-03-26 2018-09-11 广东欧珀移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN108543309B (zh) * 2018-04-03 2020-03-10 网易(杭州)网络有限公司 在增强现实中控制虚拟控制对象移动的方法、装置及终端
US11315337B2 (en) * 2018-05-23 2022-04-26 Samsung Electronics Co., Ltd. Method and apparatus for managing content in augmented reality system
US11250636B2 (en) * 2018-07-20 2022-02-15 Sony Corporation Information processing device, information processing method, and program
JP6745301B2 (ja) * 2018-07-25 2020-08-26 株式会社バーチャルキャスト コンテンツ配信システム、コンテンツ配信方法、コンピュータプログラム
WO2020044949A1 (ja) * 2018-08-29 2020-03-05 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
CN109254660B (zh) * 2018-08-31 2020-11-17 歌尔光学科技有限公司 内容显示方法、装置及设备
EP4276520A3 (en) 2018-08-31 2024-01-24 Magic Leap, Inc. Spatially-resolved dynamic dimming for augmented reality device
US10937244B2 (en) * 2018-10-23 2021-03-02 Microsoft Technology Licensing, Llc Efficiency enhancements to construction of virtual reality environments
US10921878B2 (en) * 2018-12-27 2021-02-16 Facebook, Inc. Virtual spaces, mixed reality spaces, and combined mixed reality spaces for improved interaction and collaboration
CN109782910B (zh) * 2018-12-29 2021-04-06 北京诺亦腾科技有限公司 一种vr场景交互方法及装置
CN109857249A (zh) * 2019-01-09 2019-06-07 重庆爱奇艺智能科技有限公司 一种用于生成虚拟化身形象的方法与装置
US20210097731A1 (en) * 2019-09-26 2021-04-01 Apple Inc. Presenting environment based on physical dimension
CN110968194A (zh) * 2019-11-28 2020-04-07 北京市商汤科技开发有限公司 交互对象的驱动方法、装置、设备以及存储介质
CN110941341B (zh) * 2019-11-29 2022-02-01 维沃移动通信有限公司 图像控制方法及电子设备
JP2023512870A (ja) * 2020-02-11 2023-03-30 イシア ゲームズ リミテッド オブジェクト管理のためのシステムおよび方法
CN111640179B (zh) * 2020-06-26 2023-09-01 百度在线网络技术(北京)有限公司 宠物模型的显示方法、装置、设备以及存储介质
CN112230772B (zh) * 2020-10-14 2021-05-28 华中师范大学 一种虚实融合的教具自动生成方法
JP2022079362A (ja) * 2020-11-16 2022-05-26 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
US11500511B1 (en) * 2021-05-25 2022-11-15 Capital One Services, Llc Augmented reality system visualization

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10916057B2 (en) 2014-09-11 2021-02-09 Nokia Technologies Oy Method, apparatus and computer program for displaying an image of a real world object in a virtual reality enviroment
JP2017528834A (ja) * 2014-09-11 2017-09-28 ノキア テクノロジーズ オサケユイチア 画像を表示するための方法、装置およびコンピュータ・プログラム
JP2021192242A (ja) * 2015-03-12 2021-12-16 ハッピー エル−ロード アクチボラグHappy L−Lord Ab 3次元ボクセル・ベース・モデリングのためのシステム、方法、およびデバイス
JPWO2016157247A1 (ja) * 2015-03-30 2018-02-08 株式会社カプコン 仮想三次元空間生成方法、映像システム、その制御方法およびコンピュータ装置での読み取りが可能な記録媒体
WO2016157247A1 (ja) * 2015-03-30 2016-10-06 株式会社カプコン 仮想三次元空間生成方法、映像システム、その制御方法およびコンピュータ装置での読み取りが可能な記録媒体
JP2016200920A (ja) * 2015-04-09 2016-12-01 セイコーエプソン株式会社 情報処理装置、画像表示装置、情報処理装置および画像表示装置の制御方法、および、コンピュータープログラム
JP2016218534A (ja) * 2015-05-15 2016-12-22 国立大学法人九州大学 画像表示システムおよび画像表示方法
JP2017041068A (ja) * 2015-08-19 2017-02-23 富士通株式会社 表示制御方法、情報処理装置及び表示制御プログラム
WO2017203774A1 (ja) * 2016-05-26 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法及び記憶媒体
JPWO2017203774A1 (ja) * 2016-05-26 2019-03-22 ソニー株式会社 情報処理装置、情報処理方法及び記憶媒体
JP2018072992A (ja) * 2016-10-26 2018-05-10 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
KR20190088466A (ko) * 2016-11-21 2019-07-26 소니 주식회사 정보 처리 장치, 정보 처리 방법, 및 프로그램
KR102355175B1 (ko) * 2016-11-21 2022-01-26 소니그룹주식회사 정보 처리 장치, 정보 처리 방법, 및 비일시적 컴퓨터 판독가능 매체
US11043033B2 (en) 2016-11-21 2021-06-22 Sony Corporation Information processing device and information processing method capable of deciding objects arranged in virtual space generated based on real space
JP2018109937A (ja) * 2016-12-28 2018-07-12 株式会社コロプラ 情報処理方法、装置、情報処理システム、および当該情報処理方法をコンピュータに実行させるプログラム
KR20190107012A (ko) * 2017-01-16 2019-09-18 소니 주식회사 정보 처리 장치, 정보 처리 방법, 및 프로그램
KR102355135B1 (ko) * 2017-01-16 2022-01-26 소니그룹주식회사 정보 처리 장치, 정보 처리 방법, 및 프로그램
JP7131542B2 (ja) 2017-03-15 2022-09-06 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム
JPWO2018168247A1 (ja) * 2017-03-15 2020-01-23 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US11244510B2 (en) 2017-03-15 2022-02-08 Sony Corporation Information processing apparatus and method capable of flexibility setting virtual objects in a virtual space
US11367260B2 (en) 2018-11-30 2022-06-21 Dwango Co., Ltd. Video synthesis device, video synthesis method and recording medium
WO2020110323A1 (ja) * 2018-11-30 2020-06-04 株式会社ドワンゴ 動画合成装置、動画合成方法及び記録媒体
US11625858B2 (en) 2018-11-30 2023-04-11 Dwango Co., Ltd. Video synthesis device, video synthesis method and recording medium
US11195302B2 (en) 2018-11-30 2021-12-07 Dwango Co., Ltd. Video synthesis device, video synthesis method and recording medium
JP2020087278A (ja) * 2018-11-30 2020-06-04 株式会社ドワンゴ 動画合成装置、動画合成方法及び動画合成プログラム
WO2020110322A1 (ja) * 2018-11-30 2020-06-04 株式会社ドワンゴ 動画合成装置、動画合成方法及び記録媒体
JP2020087277A (ja) * 2018-11-30 2020-06-04 株式会社ドワンゴ 動画合成装置、動画合成方法及び動画合成プログラム
JP7403858B2 (ja) 2019-02-26 2023-12-25 リム,ソン-キュ ビジュアルデジタル装飾装置及びその制御方法
JP2022522422A (ja) * 2019-02-26 2022-04-19 リム,ソン-キュ ビジュアルデジタル装飾装置及びその制御方法
JP2020170903A (ja) * 2019-04-01 2020-10-15 日本電信電話株式会社 情報処理システム、コンテンツ生成装置、コンテンツ提示装置、コンテンツ生成方法、コンテンツ提示方法およびプログラム
JP7280495B2 (ja) 2019-04-01 2023-05-24 日本電信電話株式会社 情報処理システム、コンテンツ生成装置、コンテンツ提示装置、コンテンツ生成方法、コンテンツ提示方法およびプログラム
JP2020190971A (ja) * 2019-05-23 2020-11-26 株式会社インフォマティクス 空間認識システム、空間認識装置、空間認識方法及びプログラム
JP2021085739A (ja) * 2019-11-27 2021-06-03 株式会社インフォマティクス 空間認識システム、空間認識装置、空間認識方法及びプログラム
JP2021002402A (ja) * 2020-10-06 2021-01-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
JP7044846B2 (ja) 2020-10-06 2022-03-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
JP7086242B1 (ja) 2021-02-18 2022-06-17 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP7082698B1 (ja) 2021-02-18 2022-06-08 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP2022126547A (ja) * 2021-02-18 2022-08-30 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP2022126546A (ja) * 2021-02-18 2022-08-30 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP2022152443A (ja) * 2021-03-29 2022-10-12 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム
JP7340746B2 (ja) 2021-03-29 2023-09-08 ナイアンティック, インコーポレイテッド 拡張現実環境におけるマルチユーザルート追跡
JP7016438B1 (ja) 2021-03-29 2022-02-18 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム

Also Published As

Publication number Publication date
US20140218361A1 (en) 2014-08-07
CN103970268A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
JP6281496B2 (ja) 情報処理装置、端末装置、情報処理方法及びプログラム
JP6281495B2 (ja) 情報処理装置、端末装置、情報処理方法及びプログラム
JP2014149712A (ja) 情報処理装置、端末装置、情報処理方法及びプログラム
JP7109408B2 (ja) 広範囲同時遠隔ディジタル提示世界
US11080310B2 (en) Information processing device, system, information processing method, and program
US11058950B2 (en) Methods and systems for spectating characters in virtual reality views
JP6499154B2 (ja) 拡張現実および仮想現実のためのシステムおよび方法
JPWO2019130864A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP2015116336A (ja) 複合現実感アリーナ
CN107930114A (zh) 信息处理方法及装置、存储介质、电子设备
JP2019526103A (ja) 位置に基づくゲームプレイコンパニオンアプリケーションへユーザの注目を向ける方法及びシステム
WO2023065949A1 (zh) 虚拟场景中的对象控制方法、装置、终端设备、计算机可读存储介质、计算机程序产品
KR20210006689A (ko) 게임 이미지 변경 방법 및 장치