JP2013235374A - 画像処理装置、投影制御方法及びプログラム - Google Patents

画像処理装置、投影制御方法及びプログラム Download PDF

Info

Publication number
JP2013235374A
JP2013235374A JP2012106725A JP2012106725A JP2013235374A JP 2013235374 A JP2013235374 A JP 2013235374A JP 2012106725 A JP2012106725 A JP 2012106725A JP 2012106725 A JP2012106725 A JP 2012106725A JP 2013235374 A JP2013235374 A JP 2013235374A
Authority
JP
Japan
Prior art keywords
projection
image
control unit
unit
image processing
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
JP2012106725A
Other languages
English (en)
Inventor
Akihiko Kaino
彰彦 貝野
Kenichiro Oi
堅一郎 多井
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 JP2012106725A priority Critical patent/JP2013235374A/ja
Publication of JP2013235374A publication Critical patent/JP2013235374A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Projection Apparatus (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】拡張現実(AR)の特性を踏まえてARコンテンツの投影を制御すること。
【解決手段】撮像装置を用いて実空間を撮像することにより生成される入力画像を取得する画像取得部と、前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させる表示制御部と、前記入力画像を用いて、前記実物体の位置を認識する認識部と、認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御する投影制御部と、を備える画像処理装置を提供する。
【選択図】図5

Description

本開示は、画像処理装置、投影制御方法及びプログラムに関する。
近年、実空間に付加的な情報を重畳してユーザに呈示する拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術においてユーザに呈示される情報は、テキスト、アイコン又はアニメーションなどの様々な形態の仮想オブジェクトを用いて可視化される。そして、仮想オブジェクトは、関連付けられる実物体の位置に応じて、AR空間内に配置される。仮想オブジェクトは、一般的には、携帯端末のディスプレイ、ヘッドマウントディスプレイ又は眼鏡型ディスプレイなどの画面上に表示される。しかし、これらディスプレイは、通常、単一のユーザが画像を見ることを前提として設計される。そのため、ユーザにどのようなARコンテンツが提供されているかを第三者が知ることは難しい。
ところで、実空間に画像を投影可能な投影装置(いわゆるプロジェクタ)を有する端末もまた開発されている(例えば、下記特許文献1参照)。ARコンテンツが投影装置を用いて投影されれば、どのようなARコンテンツが提供されているかを第三者が知ることができる。
特開2011−193243号公報
しかしながら、ARコンテンツを実空間内の何らかの投影面に単純に投影するだけでは、投影される仮想オブジェクトは、当該仮想オブジェクトと関連付けられる実物体とは直接的に関係のない投影面に映るだけとなる。この場合、“拡張現実感”、即ち現実世界が拡張されたかのような感覚は、第三者には与えられない。従って、ディスプレイ出力用のARコンテンツと同じARコンテンツを単純に投影するのではなく、拡張現実の特性を踏まえてARコンテンツの投影を制御することのできる仕組みが提供されることが望ましい。
本開示によれば、撮像装置を用いて実空間を撮像することにより生成される入力画像を取得する画像取得部と、前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させる表示制御部と、前記入力画像を用いて、前記実物体の位置を認識する認識部と、認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御する投影制御部と、を備える画像処理装置が提供される。
また、本開示によれば、撮像装置を用いて実空間を撮像することにより生成される入力画像を取得することと、前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させることと、前記入力画像を用いて、前記実物体の位置を認識することと、認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御することと、を含む投影制御方法が提供される。
また、本開示によれば、画像処理装置を制御するコンピュータを、撮像装置を用いて実空間を撮像することにより生成される入力画像を取得する画像取得部と、前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させる表示制御部と、前記入力画像を用いて、前記実物体の位置を認識する認識部と、認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御する投影制御部と、として機能させるためのプログラムが提供される。
本開示に係る技術によれば、拡張現実の特性を踏まえてARコンテンツの投影を制御することができる。
既存の手法におけるARコンテンツの投影について説明するための説明図である。 一実施形態に係る画像処理装置の概要について説明するための説明図である。 一実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。 撮像部及び投影部の物理的配置の一例について説明するための説明図である。 一実施形態に係る画像処理装置の論理的機能の構成の一例を示すブロック図である。 コンテンツDBのデータ構成の一例を示す説明図である。 表示モードの第1の例について説明するための説明図である。 表示モードの第2の例について説明するための説明図である。 表示モードの第3の例について説明するための説明図である。 投影解像度に応じた仮想オブジェクトの制御について説明するための説明図である。 認識精度の低下を防止するための仮想オブジェクトの制御の第1の例について説明するための説明図である。 認識精度の低下を防止するための仮想オブジェクトの制御の第2の例について説明するための説明図である。 ユーザにより指定されるプライバシーレベルに従った仮想オブジェクトの制御の第1の例について説明するための説明図である。 ユーザにより指定されるプライバシーレベルに従った仮想オブジェクトの制御の第2の例について説明するための説明図である。 投影の状態が不適切となり得る状況の第1の例について説明するための説明図である。 図11Aの状況において投影の状態を維持するための制御について説明するための説明図である。 投影の状態が不適切となり得る状況の第2の例について説明するための説明図である。 図12Aの状況において投影の状態を維持するための制御について説明するための説明図である。 投影制御パラメータを活用するために提供される得るユーザインタフェースの一例について説明するための説明図である。 一実施形態に係る処理の全体的な流れの一例を示すフローチャートである。 図14に示した投影制御処理のより詳細な流れの一例を示すフローチャートである。 図15に示した投影オブジェクト制御処理のより詳細な流れの一例を示すフローチャートである。 本開示に係る技術を応用することにより実現され得るARアプリケーションの一例について説明するための説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下の順序で説明を行う。
1.概要
2.一実施形態に係る装置の構成
2−1.ハードウェア構成
2−2.プロジェクタ出力用の座標変換
2−3.機能構成
2−4.様々な表示モード
2−5.投影される仮想オブジェクトの制御
2−6.投影制御パラメータの活用
3.処理の流れ
3−1.全体的な流れ
3−2.投影制御処理
3−3.投影オブジェクト制御処理
4.応用例
5.まとめ
<1.概要>
まず、図1及び図2を用いて、本開示に係る技術の概要を説明する。
図1は、既存の手法におけるARコンテンツの投影について説明するための説明図である。図1を参照すると、ユーザUaが有する画像処理装置10が示されている。画像処理装置10は、画像を表示する表示部11と、例えば表示部11の背面に設けられ、実空間20を撮像する撮像部(図示せず)と、画像を投影する投影部13と、を備える。図1の例において、実空間20には、実物体であるテーブル21が存在している。画像処理装置10の制御部(図示せず)は、撮像される画像を入力画像として受け取り、拡張現実(AR)アプリケーションを動作させる。表示部11は、ARアプリケーションによって仮想オブジェクトの重畳された画像を表示する。図1の例では、画像Im01が表示されており、テーブル21の上に仮想オブジェクトV1があたかも存在するかのように、画像Im01に仮想オブジェクトV1が重畳されている。投影部13は、このような画像Im01を実空間内の投影面(例えば、壁面、床面又は実物体の表面)に投影する。図1の例では、画像Im01が壁面に投影されている。
第三者、即ちユーザUa以外の人物は、投影された画像Im01を見ることにより、ユーザUaにどのようなARコンテンツが提供されているかを知ることができる。しかし、画像Im01内の仮想オブジェクトV1は、実空間20内のテーブル21の上には存在しない。従って、第三者には、“拡張現実感”、即ち現実世界が拡張されたかのような感覚は与えられない。
図2は、一実施形態に係る画像処理装置100の概要について説明するための説明図である。図2を参照すると、図1と同様の実空間20内でユーザUaが有する画像処理装置100が示されている。画像処理装置100は、撮像部102、表示部110及び投影部112を備える。画像処理装置100の制御部(図示せず)は、撮像部102により撮像される画像を入力画像として受け取り、ARアプリケーションを動作させる。表示部110は、ARアプリケーションによって仮想オブジェクトの重畳された画像(例えば、画像Im01)を表示する。投影部112は、表示部110により表示される画像Im01の代わりに、投影のために適合される画像Im02を投影する。図3の例では、AR空間内の仮想オブジェクトV1の表示位置に対応するテーブル21上の3次元位置に、仮想オブジェクトV1を表現する画像Im02が投影されている。
第三者は、画像Im02を見ることにより、ユーザUaと同様に、テーブル21の上に仮想オブジェクトV1があたかも存在するかのような感覚を体験することができる。それにより、ユーザUaと第三者との拡張現実感の共有が実現される。また、公共の場においてARアプリケーションの対象物に仮想オブジェクトが投影されれば、カメラをかざすユーザの行動の意図を第三者に理解させることができる。それにより、第三者に不審な感情を与えることを防止し、又は第三者の興味を引き起こしてARアプリケーションへの参加を促すことができる。
このような投影を実現するための装置の構成について、次節でより詳細に説明する。なお、拡張現実のための仮想オブジェクトの投影には、例えば、投影解像度、環境認識の精度、プライバシー、及び投影状態の安定化など、いくつかの特有の課題が伴う。それら課題への対策もまた、本開示において提供される。
図2では、画像処理装置100の一例として携帯端末を示している。しかしながら、画像処理装置100は、かかる例に限定されない。画像処理装置100は、例えば、PC(Personal Computer)、PDA(Personal Digital Assistant)、スマートフォン、ゲーム端末、PND(Portable Navigation Device)、コンテンツプレーヤ又はデジタル家電機器などであってもよい。また、ARアプリケーションは、ユーザにより操作される端末上で動作する代わりに、端末との間で通信可能な他の装置(例えば、アプリケーションサーバ)上で動作してもよい。
<2.一実施形態に係る装置の構成>
[2−1.ハードウェア構成]
図3は、一実施形態に係る画像処理装置100のハードウェア構成の一例を示すブロック図である。図3を参照すると、画像処理装置100は、撮像部102、センサ部104、入力部106、記憶部108、表示部110、投影部112、通信部114、バス116及び制御部118を備える。
(1)撮像部
撮像部102は、画像を撮像するカメラモジュールである。撮像部102は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を用いて実空間を撮像し、撮像画像を生成する。撮像部102により生成される撮像画像は、制御部118により実行される処理の入力画像となる。なお、撮像部102は、必ずしも画像処理装置100の一部でなくてもよい。例えば、画像処理装置100と有線又は無線で接続される撮像装置が撮像部102として扱われてもよい。
(2)センサ部
センサ部104は、測位センサ(例えば、GPS(Global Positioning System)モジュールなど)、地磁気センサ、加速度センサ及びジャイロセンサなどの様々なセンサを含み得る。測位センサは、端末の現在位置を測定する。地磁気センサは、端末の現在の姿勢(方位)を測定する。センサ部104において得られる測定結果は、地理的な位置に特化したデータの取得、環境認識の支援、又はユーザ入力の検出などの様々な用途のために利用されてよい。なお、センサ部104は、画像処理装置100の構成から省略されてもよい。
(3)入力部
入力部106は、ユーザが画像処理装置100を操作し又は画像処理装置100へ情報を入力するために使用される入力デバイスである。入力部106は、例えば、表示部110の画面上へのユーザによるタッチを検出するタッチセンサを含んでもよい。その代わりに(又はそれに加えて)、入力部106は、マウス又はタッチパッドなどのポインティングデバイスを含んでもよい。さらに、入力部106は、キーボード、キーパッド、ボタン又はスイッチなどのその他の種類の入力デバイスを含んでもよい。
(4)記憶部
記憶部108は、半導体メモリ又はハードディスクなどの記憶媒体により構成され、画像処理装置100による処理のためのプログラム及びデータを記憶する。記憶部108により記憶されるデータは、例えば、撮像画像データ、センサデータ及び後に説明する様々なデータベース(DB)内のデータを含み得る。なお、本明細書で説明するプログラム及びデータの一部は、記憶部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は、液晶プロジェクタ、DLP(Digital Light Processing)プロジェクタ(登録商標)又はLCOS(Liquid Crystal On Silicon)プロジェクタなどのプロジェクタモジュールである。投影部112は、例えば、画像処理装置100により生成されるARアプリケーションの仮想オブジェクトを実空間内の投影面に投影するために使用される。なお、投影部112もまた、必ずしも画像処理装置100の一部でなくてもよい。例えば、画像処理装置100と有線又は無線で接続される投影装置が投影部112として扱われてもよい。
(7)通信部
通信部114は、画像処理装置100による他の装置との間の通信を仲介する通信インタフェースである。通信部114は、任意の無線通信プロトコル又は有線通信プロトコルをサポートし、他の装置との間の通信接続を確立する。
(8)バス
バス116は、撮像部102、センサ部104、入力部106、記憶部108、表示部110、投影部112、通信部114及び制御部118を相互に接続する。
(9)制御部
制御部118は、CPU(Central Processing Unit)又はDSP(Digital Signal Processor)などのプロセッサに相当する。制御部118は、記憶部108又は他の記憶媒体に記憶されるプログラムを実行することにより、後に説明する画像処理装置100の様々な機能を動作させる。
[2−2.プロジェクタ出力用の座標変換]
本実施形態において、撮像部102及び投影部112の物理的配置は予め校正されており、撮像部102と投影部112との間の相対的な位置及び姿勢が画像処理装置100にとって既知であるものとする。図4は、撮像部102及び投影部112の物理的配置の一例を示している。
図4を参照すると、端末の筐体の一面に、撮像部102のレンズ及び投影部112のレンズが並置されている。撮像部102の光軸及び投影部112の光軸は、おおよそ同じ方向に向けられる。撮像部102のレンズの背後には、多数の撮像素子が配設される撮像面IPが設置される。画像処理装置100により入力画像内で認識される実物体の位置(及び姿勢)は、撮像面の座標系U(u,v)で2次元的に表現され、及び実空間の座標系X(x,y,z)で3次元的に表現される。2次元座標系Uと3次元座標系Xとの間の関係は、例えば、いわゆるピンホールモデルに従って幾何的に与えられる。ARアプリケーションは、実物体の位置及び姿勢に基づいて、仮想オブジェクトの3次元的な配置を決定する。決定された3次元的な配置から、仮想オブジェクトの2次元画像を生成することができる。ここで、投影部112が撮像部102と物理的に完全に同じ位置には設置されない点に留意すべきである。ディスプレイ出力用に生成される2次元画像をそのまま投影部112に投影させるのは、適切でない。そこで、画像処理装置100は、座標変換パラメータTc_p及びRc_pを用いて、ディスプレイ出力用の仮想オブジェクトの配置Vを、プロジェクタ出力用の配置Vに変換する。座標変換パラメータは、例えば、撮像部102を基準とする座標系X(x,y,z)と投影部112を基準とする座標系X(x,y,z)との間の変換(並進、回転及びスケーリング)を表す座標変換行列であってよい。座標変換パラメータの既定値は、撮像部102と投影部112との間の校正された相対的な位置関係に応じて予め決定され、例えば記憶部108により記憶される。
なお、投影部112は、一般的なプロジェクタモジュールと同様、投影スケール(ズーム率)及びフォーカス位置を調整するための固有の機構を有し得る。例えば、投影部112の当該機構が駆動されることにより投影スケールが変更されると、座標変換パラメータは、投影スケールの変化量に応じて再計算され得る。後に詳細に説明するように、画像処理装置100は、投影の状態を良好に保つために、これら機構をも活用し得る。
[2−3.機能構成]
図5は、図3に示した画像処理装置100の記憶部108及び制御部118により実現される論理的機能の構成の一例を示すブロック図である。図5を参照すると、画像処理装置100は、画像取得部120、データ取得部130、環境認識部140、環境データベース(DB)145、オブジェクト制御部150、コンテンツDB155、表示制御部160、投影制御部170及びユーザインタフェース部180を有する。
(1)画像取得部
画像取得部120は、撮像部102により生成される撮像画像を入力画像として取得する。画像取得部120により取得される入力画像は、実空間を映した画像である。当該入力画像は、静止画であってもよく、又は動画を構成する各フレームであってもよい。画像取得部120は、取得した入力画像を、環境認識部140及び表示制御部160へ出力する。
(2)データ取得部
データ取得部130は、環境の認識、及び仮想オブジェクトの表示又は投影の制御などの様々な目的のために使用されるデータを取得する。例えば、データ取得部130は、センサ部104により生成されるセンサデータ(例えば、位置データ及び姿勢データ)を取得してもよい。また、データ取得部130は、端末の現在位置の近傍に存在する実物体に関するデータを、端末の現在位置を用いて外部のデータサーバに問合せを行うことにより取得してもよい。
(3)環境認識部
環境認識部140は、入力画像に映る1つ以上の実物体を認識する。また、環境認識部140は、認識した実物体と撮像部102との間の相対的な位置関係(位置及び姿勢)を認識する。そして、環境認識部140は、環境認識の結果を環境DB145に記憶させる。
例えば、環境認識部140は、各実物体の識別子と実空間内の位置とを関連付けるマップデータを取得する。また、環境認識部140は、センサデータに基づいて撮像部102の位置及び姿勢を認識する。そして、環境認識部140は、撮像部102の位置及び姿勢から推定されるカメラアングルをマップデータと照合することにより、カメラアングル内のどこに実物体が存在するかを認識し得る。
その代わりに、環境認識部140は、より高度な環境認識技術を活用してもよい。例えば、環境認識部140は、実物体の特徴量を記述するモデルデータを取得する。そして、環境認識部140は、入力画像から抽出される特徴量とモデルデータにより記述される特徴量とを照合することにより、入力画像のどこにどのような姿勢で実物体が映っているかを認識し得る。公知の環境認識技術とは、例えば、SURF法(H.Bay, A.Ess, T.Tuytelaars and L.V.Gool, “Speeded-Up Robust Features (SURF)”, Computer Vision - ECCV,2006参照)又はSLAM法(Andrew J.Davison,“Real-Time Simultaneous Localization and Mapping with a Single Camera”,Proceedings of the 9th IEEE International Conference on Computer Vision Volume 2, 2003, pp.1403-1410参照)などであってよい。
環境DB145は、環境認識部140による環境認識の結果を記憶するデータベースである。環境DB145により記憶される環境認識の結果は、例えば、撮像部102の位置及び姿勢を基準とする、認識された実物体の相対的な位置及び姿勢を含み得る。実物体の位置及び姿勢は、図4を用いて説明した3次元座標系Xで表現されてよい。
(4)オブジェクト制御部
オブジェクト制御部150は、環境認識部140により認識される実物体の位置及び姿勢に従って、当該実物体と関連付けられる拡張現実のための仮想オブジェクトの配置を決定する。より具体的には、オブジェクト制御部150は、例えば、認識された実物体と関連付けられている仮想オブジェクトのデータをコンテンツDB155から取得する。また、オブジェクト制御部150は、当該実物体の位置及び姿勢を、環境DB145から取得する。そして、オブジェクト制御部150は、実物体の位置及び姿勢に従って、仮想オブジェクトの配置を決定する(図2の例では、テーブル21の上に仮想オブジェクトV1が配置されている)。そして、オブジェクト制御部150は、表示すべき仮想オブジェクトの識別子とその3次元的な配置とを表示制御部160へ出力する。
また、オブジェクト制御部150は、後に詳細に説明する表示モードに応じて、仮想オブジェクトを変化させる。ある表示モードにおいて、仮想オブジェクトを重畳するための画像は、表示制御部160から表示部110へ出力される。他の表示モードにおいて、仮想オブジェクトを重畳するための画像は、表示制御部160から投影部112へ出力される。オブジェクト制御部150は、例えば、出力先が投影部112である場合に、出力先が表示部110である場合よりも簡易な仮想オブジェクトを、投影される仮想オブジェクトとして選択してもよい。また、オブジェクト制御部150は、出力先が投影部112である場合に、仮想オブジェクトの少なくとも1つの表示属性を、投影の解像度に応じて調整してもよい。また、オブジェクト制御部150は、投影される仮想オブジェクトを原因として環境認識部140による認識処理の精度が低下すると判定される場合に、当該仮想オブジェクトの少なくとも1つの表示属性を調整し、又は当該仮想オブジェクトの位置を移動させてもよい。さらに、オブジェクト制御部150は、投影される情報について予め設定され又は動的に指定されるプライバシーレベルに従って、仮想オブジェクトにより示される情報を変化させてもよい。
コンテンツDB155は、各実物体と関連付けられる仮想オブジェクトについてのデータを蓄積しているデータベースである。図6は、コンテンツDB155のデータ構成の一例を示す説明図である。図6を参照すると、コンテンツDB155は、コンテンツID155a、カテゴリ155b、関連物体155c、既定の配置155d、表示データ155e及び投影データ155fという6つのデータ項目を有する。
コンテンツID155aは、各仮想オブジェクトを一意に識別するための識別子である。カテゴリ155bは、各仮想オブジェクトの種類を表す。関連物体155cは、各仮想オブジェクトと関連付けられる実物体の識別子である。1つの実物体に、複数の仮想オブジェクトが関連付けられてもよい。既定の配置155dは、各仮想オブジェクトの既定の配置(関連付けられる実物体に対する相対的な位置、姿勢及びスケール)を表す。表示データ155eは、各仮想オブジェクトのディスプレイ出力用のデータの実体である。投影データ155fは、各仮想オブジェクトのプロジェクタ出力用のデータの実体である。個々のデータは、テキスト形式、イメージ形式又は外部のデータソースへのリンク形式など、いかなる形式で記述されてもよい。
図6の例において、コンテンツID=“C4”を有する仮想オブジェクトのディスプレイ出力用のデータがレストランについてのレビューコメントのテキストを含む一方で、当該仮想オブジェクトのプロジェクタ出力用のデータはレーティングに対応する数の星印のアイコンイメージのみを含む。このように、プロジェクタ出力用のARコンテンツをディスプレイ出力用のARコンテンツよりも簡易な内容とすることで、表示画像よりも通常低い解像度しか期待できない投影画像においてARコンテンツを判別することが困難となることを避けることができる。
図6から理解されるように、投影データ155fは、1つの仮想オブジェクトについて複数のデータの実体を格納することができる。これら複数のデータは、例えば、異なる投影解像度又は異なるプライバシーレベルに対応するデータであってよい。
オブジェクト制御部150は、このようなデータ構成を有するコンテンツDB155を用いて、表示され又は投影される仮想オブジェクトを制御する。なお、図6の例のように1つの仮想オブジェクトについて複数のデータが予めデータベース内に記憶される代わりに、オブジェクト制御部150は、1つのデータから他のデータを動的に生成してもよい。オブジェクト制御部150による仮想オブジェクトの制御について、後にさらに説明する。
(5)表示制御部
表示制御部160は、第1の表示モードにおいて、仮想オブジェクトを重畳するための出力画像を表示部110へ出力し、表示部110の画面上に当該出力画像を表示させる。また、表示制御部160は、第2の表示モードにおいて、仮想オブジェクトを重畳するための出力画像を投影部112へ出力し、投影部112に実空間内の投影面へ当該出力画像を投影させる。表示部110及び投影部112へ並列的に画像が出力される第3の表示モードがサポートされてもよい。表示制御部160によりサポートされ得るこれら表示モードについて、後に図面を用いてさらに説明する。
仮想オブジェクトのAR空間内の3次元的な配置は、環境認識の結果とコンテンツDB155内のデータ(例えば、既定の配置155d)とに基づいて、オブジェクト制御部150により決定される。表示制御部160は、例えばピンホールモデルに従って、仮想オブジェクトの3次元的な配置から、仮想オブジェクトの2次元画像を生成する。表示制御部160から表示部110へ出力される出力画像は、例えば、当該2次元画像を入力画像に重畳することにより生成され得る。また、表示制御部160は、上述した座標変換パラメータを用いて、仮想オブジェクトの配置を、投影部112への出力のために変換する。表示制御部160から投影部112へ出力される出力画像は、当該変換後の配置に従って生成される仮想オブジェクトの2次元画像であってよい。
(6)投影制御部
投影制御部170は、環境認識部140により認識される撮像部102の位置又は姿勢に基づいて、投影部112による投影を制御する。より具体的には、投影制御部170は、投影部112固有の制御パラメータ(以下、投影制御パラメータという)を通じて調整され得る基準状態に投影の状態が維持されるように、投影を制御する。以下の説明において、投影制御パラメータは、図4を用いて説明した投影スケール及びフォーカス位置を含むものとする。なお、かかる例に限定されず、投影制御パラメータは、台形補正及び輝度などのその他の種類のパラメータを含んでもよい。
投影の状態とは、投影面上の仮想オブジェクトの解像度、サイズ、完全性及びフォーカス状態などを含み得る。
例えば、他の条件が一定であれば、投影部112と投影面を有する実物体との間の距離が増加するにつれて、投影解像度は低下する。そこで、投影制御部170は、上記距離の増加に従って投影スケールを縮小することにより、投影解像度の低下を回避する。また、投影部112と投影面を有する実物体との間の距離が減少すると、仮想オブジェクトが投影アングル内に収まりきらず、仮想オブジェクトが欠損する(即ち、仮想オブジェクトの完全性が失われる)可能性がある。そこで、投影制御部170は、上記距離の減少に従って投影スケールを拡大することにより、仮想オブジェクトの欠損を回避する。いずれのケースでも、投影制御部170は、オブジェクト制御部150と連携することにより、投影面上の仮想オブジェクトの実サイズ(投影サイズ)の拡大又は縮小を相殺するように、仮想オブジェクトの投影アングルに対する相対的なサイズを変化させる。
また、仮想オブジェクトが鮮明に投影されるように一旦フォーカス位置が調整されたとしても、その後に投影部112と実物体との間の距離が変化すれば、フォーカスはズレた状態となり得る。そこで、投影制御部170は、上記距離の変動に関わらず、投影される仮想オブジェクトのフォーカス状態が維持されるように、フォーカス位置を制御する。
本実施形態において、投影制御部170による投影の制御は、調整フェーズと維持フェーズという2つのフェーズを含む。調整フェーズにおいて、投影の状態は、必ずしも維持されない。むしろ、ユーザによる投影制御パラメータの調整に従って、投影制御部170は、投影の状態を変化させる。例えば、ユーザは、ユーザインタフェースを介して投影スケールを調整することにより、仮想オブジェクトの投影サイズを拡大し又は縮小することができる。また、ユーザは、ユーザインタフェースを介してフォーカス位置を調整することにより、仮想オブジェクトフォーカス状態を変更することができる。所定のユーザ入力が検出されると、投影の制御は、調整フェーズから維持フェーズへと遷移する。上記ユーザ入力の検出の時点での投影の状態は、維持フェーズにおいて基準状態として扱われる。上記ユーザ入力の検出の時点での投影制御パラメータの値は、制御の基準値として保持され得る。維持フェーズにおいて、投影制御部170は、例えば投影部112と実物体との間の距離の変動に関わらず、投影の状態が基準状態に維持されるように、投影スケール及びフォーカス位置を制御する。なお、投影制御パラメータの既定値を制御の基準値として用いることにより、調整フェーズがスキップされてもよい。
投影制御部170は、このようにユーザにより調整され又は動的に制御される投影制御パラメータの値を投影部112に設定し、投影部112の固有の機構を駆動する。それにより、上述した投影の状態が維持される。投影制御部170により実行されるこのような投影制御の例について、後に図面を用いてさらに説明する。
(7)ユーザインタフェース部
ユーザインタフェース部180は、ARアプリケーションのための様々なユーザインタフェース(UI)をユーザに提供する。例えば、ユーザインタフェース部180により提供されるUIは、複数のモードの間で表示モードを切り替えるためのUI、プライバシーレベルをユーザに指定させるためのUI、投影制御パラメータをユーザに調整させるためのUI、及び投影制御のフェーズを遷移させるためのUIを含み得る。各UIは、例えば、画面上に表示されるグラフィカルユーザインタフェース(GUI)であってもよく、又はタッチセンサを用いて実現されるタッチUIであってもよい。各UIは、スイッチ若しくはボタンなどの物理的なUI、又は音声コマンドを認識することにより実現される音声UIであってもよい。
[2−4.様々な表示モード]
図7A〜図7Cは、表示制御部160によりサポートされ得る表示モードの3つの例をそれぞれ示している。
図7Aに示した表示モードM1は、ディスプレイオンリーモードである。表示制御部160は、表示モードM1を指定するモード切替信号SWが入力されると、ディスプレイオンリーモードに遷移し得る。モード切替信号SWは、所定のユーザ入力に応じて生成され得る。ディスプレイオンリーモードにおいて、表示制御部160は、仮想オブジェクトを重畳するための画像を表示部110へ出力する一方で、投影部112へ画像を出力しない。
図7Bに示した表示モードM2は、デュアルモードである。表示制御部160は、表示モードM2を指定するモード切替信号SWが入力されると、デュアルモードに遷移し得る。デュアルモードにおいて、表示制御部160は、仮想オブジェクトを重畳するための画像を表示部110へ出力すると共に、同じ仮想オブジェクト又は異なる仮想オブジェクトを重畳するための画像を、投影部112へ出力する。
図7Cに示した表示モードM3は、プロジェクタオンリーモードである。表示制御部160は、表示モードM3を指定するモード切替信号SWが入力されると、プロジェクタオンリーモードに遷移し得る。プロジェクタオンリーモードにおいて、表示制御部160は、仮想オブジェクトを重畳するための画像を投影部112へ出力する一方で、表示部110へ画像を出力しない。
なお、これら表示モードは例に過ぎない。即ち、他の追加的な表示モードがサポートされてもよく、又はいずれかの表示モードがサポートされなくてもよい。
[2−5.投影される仮想オブジェクトの制御]
上述したように、オブジェクト制御部150は、画像の出力先が表示部110及び投影部112のいずれであるかに応じて、表示され又は投影される仮想オブジェクトを変化させる。なお、本明細書において、「仮想オブジェクトを変化させる」との用語は、ある仮想オブジェクトの代わりに他の仮想オブジェクトを用いることに加えて、ある仮想オブジェクトの配置、属性又は当該仮想オブジェクトにより示される情報を変更することをも含むものとする。
(1)簡易な仮想オブジェクトの投影
例えば、オブジェクト制御部150は、出力先が投影部112である場合には、出力先が表示部110である場合よりも簡易な仮想オブジェクトを、投影される仮想オブジェクトとして選択してよい。簡易な仮想オブジェクトとは、例えば、ARアプリケーションにおいて注目されている場所(表示部110の画面上で仮想オブジェクトが重畳される場所)を第三者に単に通知するだけの標識(indication)であってもよい。当該標識は、例えば、仮想オブジェクトと関連付けられる実物体を囲む枠又は当該実物体を指し示すアイコンなどであってよい。このような簡易な仮想オブジェクトの投影によって、ARアプリケーションのユーザがどの実物体に注目しているかを、第三者が知ることができる。また、ARコンテンツの詳細を第三者に秘匿することにより、ユーザのプライバシーを保護することができる。
(2)投影解像度に応じた制御
また、オブジェクト制御部150は、出力先が投影部112である場合に、投影される仮想オブジェクトを、投影解像度に応じて変化させてもよい。
図8は、投影解像度に応じた仮想オブジェクトの制御について説明するための説明図である。図8を参照すると、実物体22により近い位置PT01に位置する画像処理装置100、及び実物体22からより遠い位置PT02に位置する画像処理装置100が示されている。実物体22の一面は、仮想オブジェクトの投影面である。一般的に、投影面からの距離がより大きければ、投影解像度はより低くなる。本実施形態においても、特に調整フェーズでは、投影解像度を維持するように投影スケールが制御されないため、投影解像度の低下は避けられない。そして、仮想オブジェクトのグラフィックとしての空間解像度を投影解像度が下回ると、投影される仮想オブジェクトの細部が視認困難となる(例えば、文字つぶれが発生し得る)可能性がある。そこで、オブジェクト制御部150は、例えば環境認識部140による環境認識の結果を用いて、投影面を有する実物体と投影部112との間の距離を計算し、計算した距離に基づいて、投影解像度を推定する。上記距離と投影解像度との間のマッピングを示すデータが、予め記憶されていてもよい。そして、オブジェクト制御部150は、推定した投影解像度が仮想オブジェクトの空間解像度を下回る場合に、投影される仮想オブジェクトを変化させる。例えば、オブジェクト制御部150は、仮想オブジェクトのポリゴン数を削減し、又は複雑なグラフィックを有する仮想オブジェクトを簡易なアイコンなどに切り替えてもよい。図8の例では、仮想オブジェクトV2bが、位置PT02に位置する画像処理装置100により実物体22へ投影されている。仮想オブジェクトV2bは、例えばポリゴンが削減された結果として、位置PT01に位置する画像処理装置100により投影される仮想オブジェクトV2aよりも低い空間解像度を有する。
(3)認識精度の低下の防止
また、オブジェクト制御部150は、投影される仮想オブジェクトを原因として環境認識部140による認識処理の精度が低下すると判定される場合に、当該仮想オブジェクトの少なくとも1つの表示属性を調整し、又はその位置を移動させてもよい。ここでの表示属性とは、例えば、仮想オブジェクトの輝度、色又はコントラストを含み得る。
図9Aは、認識精度の低下を防止するための仮想オブジェクトの制御の第1の例について説明するための説明図である。図9Aを参照すると、表示部110により画面上に表示される画像Im31、及び投影部112により投影される画像Im32が示されている。画像Im31において、実物体23に仮想オブジェクトV3aが重畳されている。また、画像Im32により、実空間内の実物体23に仮想オブジェクトV3bが重畳される。投影される仮想オブジェクトV3bの輝度は、画面上に表示される仮想オブジェクトV3aの輝度よりも低減される。それにより、実物体23に投影光が当たる結果として環境認識部140による実物体23の認識が困難となることを防止することができる。オブジェクト制御部150は、輝度の代わりに、投影される仮想オブジェクトのコントラストを低減してもよく、又は、いわゆるカラーイコライゼーション処理によって仮想オブジェクトの色を投影面の色に合わせて調整してもよい。
図9Bは、認識精度の低下を防止するための仮想オブジェクトの制御の第2の例について説明するための説明図である。図9Bを参照すると、図9Aと同様に画面上に表示される画像Im31、及び投影部112により投影される画像Im33が示されている。画像Im33により、実物体23ではなく、実物体23の近傍の投影面に仮想オブジェクトV3cが投影されている。即ち、仮想オブジェクトV3cの位置は、画面上に表示される仮想オブジェクトV3aの表示位置から移動されている。この場合には、実物体23に投影光が当たることが回避されるため、環境認識部140による実物体23の認識が困難となることを防止することができる。なお、オブジェクト制御部150は、例えば画面上でのフリック又はドラッグなどのユーザ入力に応じて、仮想オブジェクトV3cの位置を移動させてもよい。
(4)プライバシーレベルに従った制御
また、オブジェクト制御部150は、出力先が投影部112である場合に、投影部112により投影される情報について予め設定され又は動的に指定されるプライバシーレベルに従って、投影される仮想オブジェクトを変化させてもよい。
図10A及び図10Bは、ユーザにより指定されるプライバシーレベルに従った仮想オブジェクトの制御の2つの例を示している。図10Aの左には、実物体24を撮像する画像処理装置100が示されている。実物体24は、カレンダーである。表示部110の画面上において、カレンダー24に仮想オブジェクトV4aが重畳されている。仮想オブジェクトV4aは、カレンダー24に記載された日付に関連付けられるスケジュールアイテムの詳細情報(例えば、ミーティングの場所、参加者など)を示している。一方、実空間内のカレンダー24には仮想オブジェクトV4cが投影されている。仮想オブジェクトV4cは、カレンダー24に記載された日付に関連付けられるスケジュールアイテムが存在することを単に通知する簡易なアイコンである。
ここで、例えばユーザインタフェース部180により所定のユーザ入力が検出されると、プライバシーレベルの設定が変更される。図10Aの例では、タッチジェスチャの一種であるピンチアウトが検出されている。本実施形態において、ピンチアウトは、プライバシーレベルの引き下げを意味し得る。ピンチアウトの検出に応じて、オブジェクト制御部150は、仮想オブジェクトV4cを仮想オブジェクトV4bに変更する。図10Aの右に示すカレンダー24には、仮想オブジェクトV4bが投影されている。仮想オブジェクトV4bは、カレンダー24に記載された日付に関連付けられるスケジュールアイテムの件名(例えば、“ミーティング”)を示している。図示された操作とは逆に、オブジェクト制御部150は、例えば、ピンチインの検出に応じてプライバシーレベルを引き上げ、仮想オブジェクトV4bを仮想オブジェクトV4cに変更してもよい。
図10Bの左には、カレンダー24を撮像する画像処理装置100が再び示されている。表示部110の画面上において、カレンダー24に仮想オブジェクトV4aが重畳されている。一方、実空間内のカレンダー24には仮想オブジェクトV4bが投影されている。画面の右端には、ユーザがプライバシーレベルを指定するためのGUIであるスライダUI0が表示されている。スライダU10がユーザにより下方へドラッグされ、又はタップされると、プライバシーレベルの設定が引き下げられる。それに応じて、オブジェクト制御部150は、仮想オブジェクトV4bを仮想オブジェクトV4aに変更する。図10Bの右に示すカレンダー24には、画面上に表示されているものと同じ仮想オブジェクトV4aが投影されている。
このようなプライバシーレベルに従った制御によれば、ARアプリケーションのユーザが、第三者とのARコンテンツの共有レベルをプライバシーの観点で柔軟に指定することが可能となる。
本項で説明した投影される仮想オブジェクトの様々な制御は、どのような形で互いに組み合わされてもよい。
[2−6.投影制御パラメータの活用]
本開示に係る技術が携帯端末を用いて実現される場合、携帯端末の位置及び姿勢は、ユーザの意図に沿って又はその意図に反して、ARアプリケーションの動作中に変動し得る。そして、環境認識部140による認識処理が適切に動作している限り、端末の位置及び姿勢の変動は正確に認識され、仮想オブジェクトの表示の状態は正常に保たれる。しかし、端末の位置及び姿勢の変動が正確に認識されていても、ある条件下で、仮想オブジェクトの投影の状態は不適切となり得る。そこで、投影制御部170は、上述したように、投影部112固有の投影制御パラメータを活用し、投影の状態が適切に維持されるように投影を制御する。
図11Aは、投影の状態が不適切となり得る状況の第1の例について説明するための説明図である。図11Aの左には、実物体25を撮像する画像処理装置100が示されている。実物体25には、仮想オブジェクトV5aが投影されている。この時点で、投影スケールScの値は、Sc=sc1であるものとする。投影アングルPA1は、投影スケールの値に対応する。図11Aの右には、実物体25からより遠くに位置する画像処理装置100が示されている。環境認識部140は、実物体25との間の距離の変化を認識する。それに応じて、オブジェクト制御部150は、投影アングルPA1に対する仮想オブジェクトの相対的なサイズを縮小する。結果的に、実物体25には、仮想オブジェクトV5bが投影されている。仮想オブジェクトV5bの投影サイズ(投影面上での実サイズ)は、仮想オブジェクトV5aの投影サイズと等しい。しかし、投影アングルに対する仮想オブジェクトの相対的なサイズの縮小は、投影解像度の低下を招く。そして、仮想オブジェクトV5bが複雑なグラフィックを有する場合には、そのグラフィックの細部が視認困難となる(例えば、文字つぶれが起こる、など)可能性がある。特に、上述したような仮想オブジェクトの切り替えなどの対策が行われないようなケースでは、こうした投影解像度の低下は避けられることが望ましい。
図11Bは、図11Aの状況において投影の状態を適切に維持するための制御について説明するための説明図である。図11Bの左には、図11Aの右に示した通りの投影解像度が低下した状況が、再び示されている。図11Bの右の画像処理装置100の実物体25からの距離は、図11Aの左における当該距離と等しい。投影制御部170は、環境認識の結果に基づいて取得される距離の増加に応じて、投影スケールScの値を、sc1からsc2へ縮小する。それに応じて、投影アングルPA2は、投影アングルPA1よりも狭くなる。投影アングルに対する仮想オブジェクトの相対的なサイズは、拡大される。結果的に、実物体25には、仮想オブジェクトV5cが投影されている。仮想オブジェクトV5cの投影サイズは、仮想オブジェクトV5a及びV5bの投影サイズと等しい。投影アングルに対する仮想オブジェクトの相対的なサイズは拡大されるため、投影解像度は、距離の変動に関わらず維持される。
図12Aは、投影の状態が不適切となり得る状況の第2の例について説明するための説明図である。図12Aの左には、実物体26を撮像する画像処理装置100が示されている。実物体26には、仮想オブジェクトV6aが投影されている。この時点で、投影スケールScの値は、Sc=sc1であるものとする。投影アングルPA1は、投影スケールの値に対応する。図12Aの右には、実物体26からより近くに位置する画像処理装置100が示されている。環境認識部140は、実物体26との間の距離の変化を認識する。それに応じて、オブジェクト制御部150は、投影アングルPA1に対する仮想オブジェクトの相対的なサイズを拡大する。結果的に、実物体26には、仮想オブジェクトV6bが投影されている。しかし、仮想オブジェクトV6bは投影アングルPA1内に収まりきらず、投影された仮想オブジェクトV6bの一部は欠損している。
図12Bは、図12Aの状況において投影の状態を適切に維持するための制御について説明するための説明図である。図12Bの左には、図12Aの右に示した通りの仮想オブジェクトの一部が欠損した状況が、再び示されている。図12Bの右の画像処理装置100の実物体26からの距離は、図12Bの左における当該距離と等しい。投影制御部170は、環境認識の結果に基づいて取得される距離の減少に応じて、投影スケールScの値を、sc1からsc3へ拡大する。それに応じて、投影アングルPA3は、投影アングルPA1よりも広くなる。投影アングルに対する仮想オブジェクトの相対的なサイズは、縮小される。結果的に、実物体26には、仮想オブジェクトV6cが投影されている。仮想オブジェクトV6cの投影サイズは、仮想オブジェクトV6aの投影サイズと等しく、かつ仮想オブジェクトV6cの完全性は維持されている(即ち、仮想オブジェクトV6cは欠損していない)。
投影制御部170は、維持フェーズにおいて、このように投影スケールを制御することにより、投影の状態を適切な状態に維持する。ここでの適切な状態とは、典型的には、調整フェーズにおけるユーザによる調整を経て決定される基準の状態であってよい。その代わりに、例えばコンテンツDB155により予め記憶される既定の状態が、基準の状態として使用されてもよい。
図13は、投影制御パラメータを活用するために提供される得るユーザインタフェースの一例について説明するための説明図である。図13の左には、調整フェーズにおいて画像処理装置100の画面上に表示されるスライダUI1、スライダUI2、ボタンUI3及びボタンUI4が示されている。スライダUI1は、投影スケールScを調整するためのユーザインタフェースである。ユーザは、スライダUI1を左右にスライドさせることにより、投影スケールScを拡大し又は縮小することができる。それにより、仮想オブジェクトの投影解像度及び投影サイズは変化し得る。スライダUI2は、フォーカス位置Fcを調整するためのユーザインタフェースである。ユーザは、スライダUI2を左右にスライドさせることにより、フォーカス位置Fcを奥行方向に動かすことができる。それにより、投影される仮想オブジェクトの鮮明度(ボケの程度)は変化し得る。ボタンUI3及びボタンUI4は、いずれもフェーズを維持フェーズへ遷移させるためのユーザインタフェースである。ボタンUI3へのタッチが検出されると、投影制御部170は、その検出の時点の投影制御パラメータの値を基準値として記憶し、当該時点の投影の状態(即ち、基準状態)が維持されるように、その後の投影制御パラメータの値を制御する。ボタンUI4へのタッチが検出されると、投影制御部170は、投影制御パラメータの既定の値をデータベースから読み出し、既定の投影の状態(即ち、基準状態)が維持されるように、その後の投影制御パラメータの値を制御する。図13の右には、維持フェーズにおいて画像処理装置100の画面上に表示されるボタンUI5が示されている。ボタンUI5は、フェーズを調整フェーズへ遷移させるためのユーザインタフェースである。
なお、調整フェーズにおいて、許容範囲を超えるパラメータ値がユーザにより指定された場合には、ユーザインタフェース部180は、警告メッセージを表示し又は投影してもよい。また、維持フェーズにおいて、投影の状態を維持し得ない位置に端末が移動した場合にも、ユーザインタフェース部180は、警告メッセージを表示し又は投影してよい。
図13に示したユーザインタフェースは一例に過ぎない。図示されたユーザインタフェースの代わりに、他の種類のGUI、タッチUI、物理的なUI、又は音声UIなどが使用されてもよい。
<3.処理の流れ>
次に、図14〜図16を用いて、一実施形態に係る処理の流れについて説明する。
[3−1.全体的な流れ]
図14は、一実施形態に係る処理の全体的な流れの一例を示すフローチャートである。
図14を参照すると、まず、画像取得部120は、撮像部102により生成される撮像画像を入力画像として取得する(ステップS10)。次に、環境認識部140は、入力画像に映る1つ以上の実物体を認識する(ステップS15)。その後の処理は、環境認識部140が少なくとも1つの実物体の認識に成功した場合に実行される(ステップS20)。
実物体が認識された場合に、環境認識部140は、さらに、認識した実物体と撮像部102との間の相対的な位置関係(位置及び姿勢)を認識する(ステップS30)。次に、オブジェクト制御部150は、認識された実物体と関連付けられている仮想オブジェクトのデータを、コンテンツDB155から取得する(ステップS35)。次に、オブジェクト制御部150は、実物体の位置及び姿勢に従って、仮想オブジェクトをAR空間内に配置する(ステップS40)。
その後の処理は、その時点の表示モードに依存して切り替えられる。表示モードがディスプレイオンリーモード又はデュアルモードであれば、ステップS55及びS60の処理が実行される(ステップS50)。ステップS55において、表示制御部160は、例えばピンホールモデルに従って生成される仮想オブジェクトの画像を入力画像に重畳することにより、ディスプレイ出力用の画像を生成する。そして、表示制御部160は、生成した画像を表示部110へ出力する(ステップS60)。
表示モードがデュアルモード又はプロジェクタオンリーモードであれば、ステップS75の投影制御処理が実行される(ステップS70)。
[3−2.投影制御処理]
図15は、図14のステップS70において実行される投影制御処理のより詳細な流れの一例を示すフローチャートである。
図15を参照すると、まず、投影制御処理は、フェーズに依存して分岐する(ステップS100)。調整フェーズでは、投影制御部170は、ユーザインタフェースを介して調整される投影制御パラメータ(例えば、投影スケール及びフォーカス位置)の値を取得する(ステップS110)。
一方、維持フェーズでは、投影制御部170は、プロジェクタの位置及び姿勢の変動に基づいて、投影制御パラメータの値を決定する(ステップS120)。例えば、維持フェーズへの遷移の後にプロジェクタの実物体からの距離が増加した場合には、投影制御部170は、投影スケールを基準値から縮小する。また、維持フェーズへの遷移の後に上記距離が減少した場合には、投影制御部170は、投影スケールを基準値から拡大する。投影制御部170は、上記距離の変動に関わらずフォーカス状態が維持されるように、フォーカス位置を変更してもよい。
次に、オブジェクト制御部150は、投影制御部170により取得され又は決定された投影制御パラメータの値に基づいて、座標変換パラメータを再計算する(ステップS130)。次に、オブジェクト制御部150は、投影オブジェクト制御処理を実行し、投影される仮想オブジェクトを変化させる(ステップS140)。
次に、表示制御部160は、図4を用いて説明したように、座標変換パラメータを用いて、投影される仮想オブジェクトの3次元的な配置を、プロジェクタ出力用の配置に変換する(ステップS150)。次に、表示制御部160は、座標変換後の仮想オブジェクトの3次元的な配置から、仮想オブジェクトのプロジェクタ出力用の画像を生成する(ステップS160)。
次に、投影制御部170は、ステップS110において取得し、又はステップS120において決定した投影制御パラメータの値を投影部112に設定し、投影部112の固有の機構を駆動する(ステップS170)。そして、表示制御部160は、プロジェクタ出力用の画像を投影部112へ出力する(ステップS180)。
[3−3.投影オブジェクト制御処理]
図16は、図15のステップS140において実行される投影オブジェクト制御処理のより詳細な流れの一例を示すフローチャートである。
図16を参照すると、まず、オブジェクト制御部150は、例えば図10A又は図10Bを用いて説明したように指定され得るプライバシーレベルに従って、投影される仮想オブジェクトを切り替える(ステップS141)。
次に、オブジェクト制御部150は、実物体と投影部112との間の距離、及び投影制御部170から供給される投影スケールの値に基づいて、投影解像度を推定する(ステップS142)。そして、オブジェクト制御部150は、推定した投影解像度が仮想オブジェクトの空間解像度を下回る場合に、仮想オブジェクトのグラフィックを調整する(ステップS143)。例えば、オブジェクト制御部150は、仮想オブジェクトのポリゴン数を削減してもよい。
また、オブジェクト制御部150は、投影される仮想オブジェクトを原因として環境認識部140による認識処理の精度が低下するリスクを判定する(ステップS144)。精度低下のリスクの高い仮想オブジェクトが、コンテンツDB155において予め定義されていてもよい。認識処理の精度が低下するリスクが高い場合には、オブジェクト制御部150は、仮想オブジェクトの輝度、色又はコントラストなどの表示属性を調整し、又は仮想オブジェクトを移動させる(ステップS145)。
このように投影のために適合された仮想オブジェクトが、図15の投影制御処理の結果として、投影部112から実空間内の投影面へ投影される。その後、処理は図14のステップS10へ戻り、次の入力画像について同様の処理が繰り返される。
なお、本節で説明した処理は、一例に過ぎない。上述したいくつかの処理ステップは省略されてもよく、他の処理ステップが追加的に実行されてもよい。また、いくつかの処理ステップが並列的に実行されてもよく、処理の順序が変更されてもよい。
<4.応用例>
図17は、本開示に係る技術を応用することにより実現され得るARアプリケーションの一例について説明するための説明図である。
図17を参照すると、上述した画像処理装置100と同等の構成を有する3つの画像処理装置100a、100b及び100cが示されている。画像処理装置100a、100b及び100cは、それぞれ異なるユーザ(図示せず)により保持される。画像処理装置100a、100b及び100cの撮像部102及び投影部112は、実空間内に存在するレストランのメニューブック27に向けられている。画像処理装置100aにおいて動作するARアプリケーションは、メニューブック27に記載されたメニュー28に注目しており、仮想オブジェクトV7aをメニュー28に投影する。同様に、画像処理装置100bにおいて動作するARアプリケーションもまた、メニュー28に注目しており、仮想オブジェクトV7bをメニュー28に投影する。仮想オブジェクトV7a及びV7bは、注目されている実物体の位置を通知する簡易な標識であってもよく、又はより複雑なグラフィックを有してもよい。画像処理装置100cの環境認識部140は、メニュー28を認識する。そして、画像処理装置100cのオブジェクト制御部150は、メニュー28に投影される投影光の強度に基づいて、メニュー28に対する他のユーザの関心度を判定する。図17の例では、オブジェクト制御部150は、メニュー28が2人のユーザから関心を寄せられていると判定することができる。そして、オブジェクト制御部150は、例えば、判定した関心度に応じて、表示され又は投影される仮想オブジェクトを変化させる。図17の例では、画像処理装置100cの画面上で、メニュー28に注目すべきことをユーザに通知する仮想オブジェクトV8が、メニュー28に重畳されている。
このように、ARアプリケーションの仮想オブジェクトを、画面上で表示するだけでなく、表示位置に対応する実空間内の3次元位置に投影することにより、投影光が、入力画像を通じてARアプリケーションにフィードバックされる。そのようなフィードバックを利用して、よりリッチな情報をARアプリケーションが提供することが可能となる。
<5.まとめ>
ここまで、図1〜図17を用いて、本開示に係る技術の様々な実施形態を説明した。上述した実施形態によれば、ARのための仮想オブジェクトの表示位置に対応する3次元位置に当該仮想オブジェクトが投影されるため、ARアプリケーションのユーザのみならず、第三者にもいわゆる拡張現実感を与えることができる。即ち、ユーザと第三者との拡張現実感の共有が実現される。また、公共の場においてARアプリケーションが利用される場合にも、カメラをかざすユーザの行動の意図を第三者に理解させることができる。また、第三者の興味を引き起こして、ARアプリケーションへの参加を促すことができる。
また、上述した実施形態によれば、入力画像を用いて認識される端末の位置又は姿勢に基づいて仮想オブジェクトの投影が制御されるため、仮想オブジェクトの投影の状態を適切に維持することができる。特に、投影スケールなどのプロジェクタ固有の制御パラメータが制御されることにより、アプリケーションレベルでの仮想オブジェクトの調整だけでは回避し得ないような投影の不具合を、効果的に防止することができる。
なお、本明細書において説明した各装置による一連の制御処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にRAM(Random Access Memory)に読み込まれ、CPUなどのプロセッサにより実行される。
また、各装置の論理的機能の一部は、当該装置上に実装される代わりに、クラウドコンピューティング環境内に存在する装置上に実装されてもよい。その場合には、論理的機能の間でやり取りされる情報が、図3に例示した通信部114を介して装置間で送信され又は受信され得る。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
撮像装置を用いて実空間を撮像することにより生成される入力画像を取得する画像取得部と、
前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させる表示制御部と、
前記入力画像を用いて、前記実物体の位置を認識する認識部と、
認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御する投影制御部と、
を備える画像処理装置。
(2)
前記投影制御部は、前記投影の状態が基準状態に維持されるように、前記投影装置の固有の制御パラメータを制御する、前記(1)に記載の画像処理装置。
(3)
前記画像処理装置は、前記基準状態をユーザに調整させるためのユーザインタフェース部、をさらに備える、前記(2)に記載の画像処理装置。
(4)
前記制御パラメータは、投影スケールである、前記(2)又は前記(3)に記載の画像処理装置。
(5)
前記投影制御部は、前記投影装置と前記実物体との間の距離の変動に関わらず、前記投影の状態が前記基準状態に維持されるように、前記投影スケールを制御する、前記(4)に記載の画像処理装置。
(6)
前記投影制御部は、前記距離の減少に応じて、前記投影スケールを拡大する、前記(5)に記載の画像処理装置。
(7)
前記投影制御部は、前記距離の増加に応じて、前記投影スケールを縮小する、前記(5)に記載の画像処理装置。
(8)
前記画像処理装置は、前記投影スケールの拡大又は縮小に応じて、投影される仮想オブジェクトの投影アングルに対する相対的なサイズを変化させるオブジェクト制御部、をさらに備える、前記(6)又は前記(7)に記載の画像処理装置。
(9)
前記制御パラメータは、フォーカス位置であり、
前記投影制御部は、前記投影装置と前記実物体との間の距離の変動に関わらず、投影される仮想オブジェクトのフォーカス状態が維持されるように、前記フォーカス位置を制御する、
前記(2)〜(8)のいずれか1項に記載の画像処理装置。
(10)
前記投影制御部は、所定のユーザ入力が検出されるまでの間、ユーザによる前記制御パラメータの調整に従って前記投影の状態を変化させ、前記所定のユーザ入力が検出された時点の前記投影の状態を前記基準状態として扱う、前記(2)〜(9)のいずれか1項に記載の画像処理装置。
(11)
前記撮像装置と前記投影装置との間の相対的な位置及び姿勢は、前記画像処理装置にとって既知である、前記(1)〜(10)のいずれか1項に記載の画像処理装置。
(12)
前記画像処理装置は、前記撮像装置及び前記投影装置をさらに備える携帯端末である、
前記(1)〜(11)のいずれか1項に記載の画像処理装置。
(13)
前記画像取得部、前記表示制御部、前記認識部及び前記投影制御部のうち少なくとも1つが前記画像処理装置の代わりにクラウドコンピューティング環境上に存在する装置により実現される、前記(1)〜(12)のいずれか1項に記載の画像処理装置。
(14)
撮像装置を用いて実空間を撮像することにより生成される入力画像を取得することと、
前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させることと、
前記入力画像を用いて、前記実物体の位置を認識することと、
認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御することと、
を含む投影制御方法。
(15)
画像処理装置を制御するコンピュータを、
撮像装置を用いて実空間を撮像することにより生成される入力画像を取得する画像取得部と、
前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させる表示制御部と、
前記入力画像を用いて、前記実物体の位置を認識する認識部と、
認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御する投影制御部と、
として機能させるためのプログラム。
100 画像処理装置
102 撮像部(撮像装置)
110 表示部(表示装置)
112 投影部(投影装置)
120 画像取得部
140 環境認識部
150 オブジェクト制御部
160 表示制御部
170 投影制御部
180 ユーザインタフェース部

Claims (15)

  1. 撮像装置を用いて実空間を撮像することにより生成される入力画像を取得する画像取得部と、
    前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させる表示制御部と、
    前記入力画像を用いて、前記実物体の位置を認識する認識部と、
    認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御する投影制御部と、
    を備える画像処理装置。
  2. 前記投影制御部は、前記投影の状態が基準状態に維持されるように、前記投影装置の固有の制御パラメータを制御する、請求項1に記載の画像処理装置。
  3. 前記画像処理装置は、前記基準状態をユーザに調整させるためのユーザインタフェース部、をさらに備える、請求項2に記載の画像処理装置。
  4. 前記制御パラメータは、投影スケールである、請求項2に記載の画像処理装置。
  5. 前記投影制御部は、前記投影装置と前記実物体との間の距離の変動に関わらず、前記投影の状態が前記基準状態に維持されるように、前記投影スケールを制御する、請求項4に記載の画像処理装置。
  6. 前記投影制御部は、前記距離の減少に応じて、前記投影スケールを拡大する、請求項5に記載の画像処理装置。
  7. 前記投影制御部は、前記距離の増加に応じて、前記投影スケールを縮小する、請求項5に記載の画像処理装置。
  8. 前記画像処理装置は、前記投影スケールの拡大又は縮小に応じて、投影される仮想オブジェクトの投影アングルに対する相対的なサイズを変化させるオブジェクト制御部、をさらに備える、請求項6に記載の画像処理装置。
  9. 前記制御パラメータは、フォーカス位置であり、
    前記投影制御部は、前記投影装置と前記実物体との間の距離の変動に関わらず、投影される仮想オブジェクトのフォーカス状態が維持されるように、前記フォーカス位置を制御する、
    請求項2に記載の画像処理装置。
  10. 前記投影制御部は、所定のユーザ入力が検出されるまでの間、ユーザによる前記制御パラメータの調整に従って前記投影の状態を変化させ、前記所定のユーザ入力が検出された時点の前記投影の状態を前記基準状態として扱う、請求項2に記載の画像処理装置。
  11. 前記撮像装置と前記投影装置との間の相対的な位置及び姿勢は、前記画像処理装置にとって既知である、請求項1に記載の画像処理装置。
  12. 前記画像処理装置は、前記撮像装置及び前記投影装置をさらに備える携帯端末である、
    請求項1に記載の画像処理装置。
  13. 前記画像取得部、前記表示制御部、前記認識部及び前記投影制御部のうち少なくとも1つが前記画像処理装置の代わりにクラウドコンピューティング環境上に存在する装置により実現される、請求項1に記載の画像処理装置。
  14. 撮像装置を用いて実空間を撮像することにより生成される入力画像を取得することと、
    前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させることと、
    前記入力画像を用いて、前記実物体の位置を認識することと、
    認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御することと、
    を含む投影制御方法。
  15. 画像処理装置を制御するコンピュータを、
    撮像装置を用いて実空間を撮像することにより生成される入力画像を取得する画像取得部と、
    前記入力画像に映る実物体と関連付けられる仮想オブジェクトを重畳するための出力画像を投影装置へ出力し、前記実物体へ前記出力画像を投影させる表示制御部と、
    前記入力画像を用いて、前記実物体の位置を認識する認識部と、
    認識される前記実物体の位置に基づいて、前記投影装置による前記出力画像の投影を制御する投影制御部と、
    として機能させるためのプログラム。
JP2012106725A 2012-05-08 2012-05-08 画像処理装置、投影制御方法及びプログラム Pending JP2013235374A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012106725A JP2013235374A (ja) 2012-05-08 2012-05-08 画像処理装置、投影制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012106725A JP2013235374A (ja) 2012-05-08 2012-05-08 画像処理装置、投影制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2013235374A true JP2013235374A (ja) 2013-11-21

Family

ID=49761461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012106725A Pending JP2013235374A (ja) 2012-05-08 2012-05-08 画像処理装置、投影制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2013235374A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015103891A (ja) * 2013-11-22 2015-06-04 株式会社リコー 画像投影システム、画像処理装置、画像投影方法およびプログラム
JP2015141418A (ja) * 2014-01-29 2015-08-03 株式会社リコー 両眼光学拡張現実システムの深さ−視差較正
JP2016071720A (ja) * 2014-09-30 2016-05-09 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2016123093A (ja) * 2014-12-25 2016-07-07 パナソニックIpマネジメント株式会社 画像投影装置
JP2016122443A (ja) * 2014-12-25 2016-07-07 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
US9841847B2 (en) 2014-12-25 2017-12-12 Panasonic Intellectual Property Management Co., Ltd. Projection device and projection method, for projecting a first image based on a position of a moving object and a second image without depending on the position
CN109725247A (zh) * 2018-12-18 2019-05-07 蒂姆维澳(上海)网络技术有限公司 一种电路板远程维护保障方法及系统
JPWO2018235128A1 (ja) * 2017-06-19 2019-11-14 三菱電機株式会社 表示編集装置、携帯機器、表示編集方法、および、表示編集プログラム
WO2020003860A1 (ja) * 2018-06-26 2020-01-02 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
KR20200063495A (ko) * 2018-11-28 2020-06-05 임훈 이미지 인식을 이용하여 ar영상을 제공하는 서버
JP2020098451A (ja) * 2018-12-18 2020-06-25 川崎重工業株式会社 情報投影システム、制御装置、及び情報投影方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015103891A (ja) * 2013-11-22 2015-06-04 株式会社リコー 画像投影システム、画像処理装置、画像投影方法およびプログラム
JP2015141418A (ja) * 2014-01-29 2015-08-03 株式会社リコー 両眼光学拡張現実システムの深さ−視差較正
JP2016071720A (ja) * 2014-09-30 2016-05-09 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2016123093A (ja) * 2014-12-25 2016-07-07 パナソニックIpマネジメント株式会社 画像投影装置
JP2016122443A (ja) * 2014-12-25 2016-07-07 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
US9841847B2 (en) 2014-12-25 2017-12-12 Panasonic Intellectual Property Management Co., Ltd. Projection device and projection method, for projecting a first image based on a position of a moving object and a second image without depending on the position
JPWO2018235128A1 (ja) * 2017-06-19 2019-11-14 三菱電機株式会社 表示編集装置、携帯機器、表示編集方法、および、表示編集プログラム
WO2020003860A1 (ja) * 2018-06-26 2020-01-02 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
KR20200063495A (ko) * 2018-11-28 2020-06-05 임훈 이미지 인식을 이용하여 ar영상을 제공하는 서버
KR102154270B1 (ko) * 2018-11-28 2020-09-09 임훈 이미지 인식을 이용하여 ar영상을 제공하는 서버
CN109725247A (zh) * 2018-12-18 2019-05-07 蒂姆维澳(上海)网络技术有限公司 一种电路板远程维护保障方法及系统
JP2020098451A (ja) * 2018-12-18 2020-06-25 川崎重工業株式会社 情報投影システム、制御装置、及び情報投影方法
CN109725247B (zh) * 2018-12-18 2020-11-20 蒂姆维澳(上海)网络技术有限公司 一种电路板远程维护保障方法及系统
JP7414395B2 (ja) 2018-12-18 2024-01-16 川崎重工業株式会社 情報投影システム、制御装置、及び情報投影制御方法

Similar Documents

Publication Publication Date Title
JP6040564B2 (ja) 画像処理装置、投影制御方法及びプログラム
JP2013235374A (ja) 画像処理装置、投影制御方法及びプログラム
AU2017203098B2 (en) Information processing system and display control method
US10586395B2 (en) Remote object detection and local tracking using visual odometry
US10657716B2 (en) Collaborative augmented reality system
US10649638B2 (en) Immersive media content navigation and editing techniques
US10832448B2 (en) Display control device, display control method, and program
CN104350736B (zh) 附近位置信息的增强现实布置
US10437545B2 (en) Apparatus, system, and method for controlling display, and recording medium
JP6288084B2 (ja) 表示制御装置、表示制御方法および記録媒体
JP6421670B2 (ja) 表示制御方法、表示制御プログラム、及び情報処理装置
KR20200028481A (ko) 촬상 장치, 화상 표시 시스템 및 조작 방법
US20110287811A1 (en) Method and apparatus for an augmented reality x-ray
JP2015018296A (ja) 表示制御装置、プログラム及び記録媒体
US9794495B1 (en) Multiple streaming camera navigation interface system
US20160012612A1 (en) Display control method and system
KR20160101070A (ko) 타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍
JP2013105253A (ja) 情報処理装置、情報処理方法およびプログラム
JP2014191718A (ja) 表示制御装置、表示制御方法および記録媒体
WO2015072194A1 (ja) 表示制御装置、表示制御方法およびプログラム
US20110050720A1 (en) System and method for panning and selecting on large displays using mobile devices without client software
KR20120010041A (ko) 이동 단말 환경에서 증강 현실 콘텐츠를 저작하는 방법 및 시스템
JP2011081557A (ja) 情報処理装置、情報処理方法およびプログラム
JP6065084B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2015111371A (ja) 情報処理装置、情報処理方法およびプログラム