(58)【調査した分野】(Int.Cl.,DB名)
前記表示する段階は、前記端末に具備されるカメラによって撮影される映像と、前記オブジェクトとを重畳して表示することを特徴とする請求項1〜6のうちの何れか1項に記載のコンピュータプログラム。
前記パラメータは、前記オブジェクトの大きさ、方向、色相、及び前記オブジェクトに適用されるアニメーションのうち少なくとも一つを含むことを特徴とする請求項1〜8のうちの何れか1項に記載のコンピュータプログラム。
前記表示制御部は、前記端末に具備されるカメラによって撮影される映像と、前記オブジェクトとを重畳して表示することを特徴とする請求項11〜15のうちの何れか1項に記載の拡張現実提供装置。
前記パラメータは、前記オブジェクトの大きさ、方向、色相、及び前記オブジェクトに適用されるアニメーションのうち少なくとも一つを含むことを特徴とする請求項11〜17のうちの何れか1項に記載の拡張現実提供装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、平面を認識し、平面に該当するオブジェクトを表示する拡張現実を提供する。本発明の実施形態は、平面と端末との方向によって平面の属性を区分し、平面の属性に該当するオブジェクトを表示する拡張現実を提供する。
【課題を解決するための手段】
【0005】
本発明の一実施形態によれば、コンピュータを利用し、複数のポイントに係わる距離(distance)を利用し、前記複数のポイントを含む平面に係わる平面情報を獲得する段階と、方向センサによって測定された端末の方向情報、及び前記平面情報を利用し、前記平面のノーマルベクトルを獲得する段階と、前記ノーマルベクトルを考慮し、前記平面に表示するオブジェクトのパラメータを決定する段階と、前記端末の表示部に、前記決定されたパラメータにより、前記オブジェクトを表示する段階と、を含む拡張現実提供方法を実行させるために、コンピュータで読み取り可能な媒体に保存されたコンピュータプログラムが開示される。
【0006】
本実施形態において、赤外線センサから測定された前記赤外線センサから複数のポイントまでの距離及び方向を獲得する段階をさらに含み、前記平面情報を獲得する段階は、前記測定された距離及び方向を利用し、前記平面情報を獲得することができる。
【0007】
本実施形態において、前記平面情報は、前記端末の方向を基準にする前記平面の方向情報であり、前記方向センサは、加速度センサ及びジャイロセンサのうち1以上を含み、前記ノーマルベクトルを獲得する段階は、前記測定された端末の方向情報に基づいて、前記平面の方向情報の基準を、前記端末の方向から前記方向センサの基準方向に変換し、前記ノーマルベクトルを獲得することができる。
【0008】
本実施形態において、前記決定する段階は、前記ノーマルベクトルに基づいて、前記平面の属性を決定し、前記決定された属性を考慮し、前記パラメータを決定することができる。
【0009】
本実施形態において、前記平面情報は、前記平面の方向情報であり、前記決定する段階は、前記属性に基づいて、前記オブジェクトの第1パラメータを決定し、前記平面の方向情報に基づいて、前記オブジェクトの第2パラメータを決定することができる。
【0010】
本実施形態において、前記平面情報は、前記平面の方向情報であり、前記決定する段階は、前記属性に基づいて、前記オブジェクトの種類を決定し、前記平面の方向情報に基づいて、前記オブジェクトのレンダリング方向を決定し、前記表示する段階は、前記オブジェクトを表示するための三次元情報を、前記レンダリング方向に沿って、二次元にレンダリングして表示することができる。
【0011】
本実施形態において、前記表示する段階は、前記端末に具備されるカメラによって撮影される映像と、前記オブジェクトとを重畳して表示することができる。
【0012】
本実施形態において、前記距離は、前記端末に具備される距離センサによって測定され、前記カメラ及び前記距離センサは、同一方向に向けても設置される。
【0013】
本実施形態において、前記パラメータは、前記オブジェクトの大きさ、方向、色相、及び前記オブジェクトに適用されるアニメーションのうち少なくとも一つを含んでもよい。
【0014】
本発明の他の実施形態は、複数のポイントに係わる距離を利用し、前記複数のポイントを含む平面に係わる平面情報を獲得する段階と、方向センサによって測定された端末の方向情報、及び前記平面情報を利用し、前記平面のノーマルベクトルを獲得する段階と、前記ノーマルベクトルを考慮し、前記平面に表示するオブジェクトのパラメータを決定する段階と、前記端末の表示部に、前記決定されたパラメータにより、前記オブジェクトを表示する段階と、を含む拡張現実提供方法を開示する。
【0015】
本発明のさらに他の実施形態は、距離センサによって測定された複数のポイントに係わる距離情報、及び方向センサによって測定された端末の方向情報を獲得する信号獲得部と、前記距離を利用し、前記複数のポイントを含む平面に係わる平面情報を獲得し、前記端末の方向情報、及び前記平面情報を利用し、前記平面のノーマルベクトルを獲得し、前記ノーマルベクトルを考慮し、前記平面に表示するオブジェクトのパラメータを決定する演算部と、前記端末の表示部に、前記決定されたパラメータにより、前記オブジェクトを表示する表示制御部と、を含む拡張現実提供装置を開示する。
【0016】
本実施形態において、前記装置は、加速度センサ及びジャイロセンサのうち1以上を含む前記方向センサをさらに含み、前記平面情報は、前記端末の方向を基準にする前記平面の方向情報であり、前記演算部は、前記測定された端末の方向情報に基づいて、前記平面の方向情報の基準を、前記端末の方向から前記方向センサの基準方向に変換し、前記ノーマルベクトルを獲得することができる。
【0017】
本実施形態において、前記演算部は、前記ノーマルベクトルに基づいて、前記平面の属性を決定し、前記決定された属性を考慮し、前記パラメータを決定することができる。
【0018】
本実施形態において、前記平面情報は、前記平面の方向情報であり、前記演算部は、前記属性に基づいて、前記オブジェクトの第1パラメータを決定し、前記平面の方向情報に基づいて、前記オブジェクトの第2パラメータを決定することができる。
【0019】
本実施形態において、前記平面情報は、前記平面の方向情報であり、前記演算部は、前記属性に基づいて、前記オブジェクトの種類を決定し、前記平面の方向情報に基づいて、前記オブジェクトのレンダリング方向を決定し、前記表示制御部は、前記オブジェクトを表示するための三次元情報を、前記レンダリング方向に沿って、二次元にレンダリングして表示することができる。
【0020】
本実施形態において、前記表示制御部は、前記端末に具備されるカメラによって撮影される映像と、前記オブジェクトとを重畳して表示することができる。
【0021】
本実施形態において、前記装置は、前記カメラと、前記距離センサと、をさらに含み、前記カメラ及び前記距離センサは、同一方向に向けても設置される。
【0022】
本実施形態において、前記パラメータは、前記オブジェクトの大きさ、方向、色相、及び前記オブジェクトに適用されるアニメーションのうち少なくとも一つを含んでもよい。
【0023】
前述のところ以外の他の側面、特徴、利点が、以下の図面、特許請求の範囲、及び発明の詳細な説明から明確になるであろう。そのような一般的であって具体的な側面が、システム、方法、コンピュータプログラム、またはいかなるシステム、方法、コンピュータプログラムの組み合わせを使用しても実施される。
【発明の効果】
【0024】
本発明の実施形態に係わる拡張現実提供方法、その装置及びそのコンピュータプログラムは、平面と端末との方向に沿って、平面の属性を区分し、平面の属性に該当するオブジェクトを表示することにより、映像だけでは分かりにくい平面の属性であるとしても、ユーザが仮想オブジェクトを介して、平面の属性を視覚的/直観的に認知するようにする。
【0025】
本発明の実施形態に係わる拡張現実提供方法、その装置及びそのコンピュータプログラムは、平面の属性と係わりのあるオブジェクトを選別して提供するので、現実と密接な連関がある仮想オブジェクトを表示することができるようになり、さらに臨場感ある拡張現実が提供される。また、平面の属性により、他のオブジェクトを提供しなければならないサービスに適用可能である。
【発明を実施するための形態】
【0027】
本発明は、多様な変換を加えることができ、さまざまな実施形態を有することができるが、特定実施形態を図面に例示し、詳細な説明によって詳細に説明する。本発明の効果、特徴、及びそれらを達成する方法は、図面と共に詳細に後述されている実施形態を参照すれば、明確になるであろう。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、多様な形態によっても具現される。
【0028】
以下、添付された図面を参照し、本発明の実施形態について詳細に説明するが、図面を参照して説明するとき、同一であるか、あるいは対応する構成要素は、同一図面符号を付し、それに係わる重複される説明は、省略する。
【0029】
以下の実施形態において、第1、第2のような用語は、限定的な意味ではなく、1つの構成要素を他の構成要素と区別する目的に使用された。以下の実施形態において、単数の表現は、文脈上明白に異なって意味しない限り、複数の表現を含む。以下の実施形態において、「含む」または「有する」というような用語は、明細書上に記載された特徴または構成要素が存在するということを意味するものであり、1以上の他の特徴または構成要素が付加される可能性をあらかじめ排除するものではない。図面においては、説明の便宜のために、構成要素が、その大きさが誇張されていたり縮小されていたりする。例えば、図面に示された各構成の大きさ及び厚みは、説明の便宜のために任意に示されているので、本発明は、必ずしも図示されているところに限定されるものではない。
【0030】
図1は、本発明の一実施形態による拡張現実提供システムの構成を示した図面である。
【0031】
図1を参照すれば、本発明の一実施形態による拡張現実提供システムは、サーバ10、ユーザ端末20、及びそれらを連結するネットワーク30を含む。
【0032】
本発明の一実施形態によって提供される拡張現実提供システムは、カメラによって撮影される映像にオブジェクトを重畳し、リアルタイムで表示する拡張現実を提供する。詳細には、一実施形態によって提供される拡張現実は、ユーザ端末20周辺に実際に存在する平面を認識し、認識された平面の属性を決定し、それによる仮想のオブジェクトを、カメラによって撮影される映像と共にリアルタイムで表示する。
【0033】
サーバ10は、拡張現実を提供するためのプログラムを、ユーザ端末20に提供する。ユーザ端末20は、サーバ10からプログラムを提供されてインストールし、インストールされたプログラムを利用し、ユーザに拡張現実を提供することができる。
【0034】
ユーザ端末20は、本発明の一実施形態によって提供される拡張現実提供プログラムがインストールされるいかなる端末でも可能である。ユーザ端末20は、携帯用端末でもある。
図1においては、携帯用端末が、スマートフォン(smart phone)として図示されているが、本発明の思想は、それに制限されるものではなく、前述のように、コンピュータプログラムのインストール可能な端末であるならば、制限なしに借用されるのである。例えば、ユーザ端末20は、ウェアラブルコンピュータ、HMD(head mounted display)などを含む。
【0035】
ユーザ端末20は、画面を表示する表示部、及び映像を撮影するカメラを含む。該表示部は、映像を直接表示する表示パネルを具備することもできるが、それに限定されるものではなく、プロジェクタ方式の表示装置も該当する。ユーザ端末20は、距離センサ及び方向センサをさらに含んでもよい。
【0036】
ネットワーク30は、ユーザ端末20とサーバ10とを連結する役割を遂行する。例えば、ネットワーク30は、ユーザ端末20がサーバ10に接続した後、パケットデータを送受信することができるように接続経路を提供する。
【0037】
図面には図示されていないが、本発明の一実施形態によるサーバ10は、メモリ、入出力部、プログラム保存部、制御部などを含んでもよい。
【0038】
図2は、本発明の一実施形態による拡張現実提供装置200の構成を図示したものである。
【0039】
本発明の一実施形態による拡張現実提供装置200は、データを処理するプロセッサ(processor)を含む全種の装置に該当する。例えば、拡張現実提供装置200は、少なくとも1以上のプロセッサを含んでもよい。ここで、「プロセッサ」は、例えば、プログラム内に含まれたコードまたは命令によって表現された機能を遂行するために、物理的に構造化された回路を有する、ハードウェアに内蔵されたデータ処理装置を意味する。そのように、ハードウェアに内蔵されたデータ処理装置の一例として、マイクロプロセッサ(microprocessor)、中央処理装置(CPU:central processing unit)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)のような処理装置を網羅することができるが、本発明の範囲は、それらに限定されるものではない。それにより、拡張現実提供装置200は、マイクロプロセッサや汎用コンピュータシステムのような他のハードウェア装置に含まれた形態によっても駆動される。拡張現実提供装置200は、
図1に図示されたユーザ端末20にも搭載される。
【0040】
図2に図示された拡張現実提供装置200は、本実施形態の特徴が不明確になることを防止するために、本実施形態と係わる構成要素のみを図示したものである。従って、
図2に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということは、本実施形態と係わる技術分野において当業者であるならば、理解することができるであろう。
【0041】
例えば、拡張現実提供装置200は、他のネットワーク装置(例えば、サーバ10)と、有無線連結を介して信号を送受信するために必要なハードウェア及びソフトウェアを含む通信部をさらに含んでもよい。
【0042】
また、拡張現実提供装置200は、拡張現実提供装置200が処理するデータを、一時的または永久に保存する機能を遂行するメモリをさらに含んでもよい。該メモリは、磁気記録媒体(magnetic storage media)またはフラッシュ記録媒体(flash storage media)を含んでもよいが、本発明の範囲は、それらに限定されるものではない。
【0043】
本発明の一実施形態による拡張現実提供装置200は、プロセッサ210を利用し、距離センサ221の測定値によって平面を認識し、方向センサ222の測定値を利用し、平面の属性を決定し、それによる仮想のオブジェクトを、カメラ223によって撮影される映像と共に、表示部230にリアルタイムで表示する。
【0044】
図2を参照すれば、本発明の一実施形態による拡張現実提供装置200は、プロセッサ210、距離センサ221、方向センサ222、カメラ223及び表示部230を含む。
【0045】
距離センサ221は、距離センサから前方の複数ポイントまでの距離を獲得する。距離センサ221は、複数のポイントに対する方向情報をさらに獲得する。前方に平面が存在する場合、距離センサ221は、平面上の複数のポイントまでの距離及び方向を獲得することができ、プロセッサ210は、距離センサ221が測定した情報を利用し、複数のポイントを含む平面情報、例えば、平面を定義することができる情報として、平面方程式、平面ベクトルなどを獲得することができる。
【0046】
距離センサ221は、例えば赤外線センサであり、赤外線センサから複数のポイントまでの距離を測定することができる。該赤外線センサは、赤外線を送信した後、反射されて戻って来る赤外線を受光し、赤外線が反射された地点までの距離を測定する。距離センサ221は、例えば超音波センサであってもよい。該超音波センサは、超音波を送信した後、反射されて戻って来る超音波を受信し、超音波が反射された地点までの距離を測定する。
【0047】
一例によれば、距離センサ221は、赤外線を発光させる発光部と、反射される赤外線を受光する受光部と、を含む。一例によれば、距離センサ221は、赤外線を第1方向に送信した後、反射された赤外線を受光することにより、距離センサ221から第1方向に位置する第1ポイントまでの距離を測定し、赤外線を第2方向に送信した後、反射される赤外線を受光することにより、距離センサ221から第2方向に位置する第2ポイントまでの距離を測定することができる。距離センサ221は、そのような過程を反復し、複数のポイントまでの距離を各方向について測定することができる。
【0048】
距離センサ221が赤外線を発光させる方向は、既設定条件によって可変に設定されてもよい。距離センサ221は、発光方向の調節が可能な1つの発光部を具備してもよいし、あるいは複数の発光部を具備してもよい。
【0049】
方向センサ222は、ユーザ端末20が向かう方向を測定する。方向センサ222は、例えば、加速度センサ、角速度センサ、地磁界センサ、またはそれらのうち少なくとも2つの組み合わせでもある。該方向センサは、重力方向を認識し、重力方向を基準に、端末が向かう方向を測定することができる。ただし、該重力方向は、基準方向の例示であるので、それに限定されるものではない。
【0050】
カメラ223は、映像を撮影する。表示部230は、ディスプレイパネルを含み、プロセッサ210の制御によって映像を表示する。
【0051】
本発明の一実施形態によれば、カメラ223と距離センサ221は、同一方向に向けて設置される。それにより、カメラ223によって撮影された映像と、距離センサ221によって獲得された情報との連繋が容易になり、距離センサ221によって獲得された情報に基づいて生成されたオブジェクトを、カメラ223によって撮影された映像と重畳し、表示する拡張現実の提供が容易になる。
【0052】
カメラ223と距離センサ221とが異なる方向に向けて設置される場合には、距離センサ221によって獲得された情報を、カメラ223の設置方向を基準に変換するには追加的な作業が要求される。
【0053】
図3は、
図2に図示されたプロセッサ210の構成を示したブロック図である。
【0054】
図3を参照すれば、プロセッサ210は、信号獲得部211、演算部212及び表示制御部213を含む。
図3に図示されたプロセッサ210に含まれたそれぞれのブロックは、1つのプロセッサ上でいずれも具現され、機能によって区分されるものでもあるが、それに限定されるものではなく、それぞれ別個のプロセッサ上にも具現されるということは言うまでもない。また、それぞれのブロックの機能は、1つのプログラムコードを介して、統合的にも具現されるが、各ブロックの機能が別個のプログラムコードに作成され、各プログラムコードが連繋され、
図3に図示されたプロセッサ210、及び
図2に図示された拡張現実提供装置200が、拡張現実を提供する方式によっても具現される。
【0055】
以下では、
図2及び
図3を共に参照し、本発明の実施形態について説明する。
【0056】
一実施形態による信号獲得部211は、距離センサ221、方向センサ222、カメラ223から信号を獲得する。
【0057】
一実施形態による演算部212は、信号獲得部211が獲得した信号を処理する。例えば、信号獲得部211は、複数のポイントに係わる距離(distance)を、距離センサ221から獲得し、演算部212は、獲得された距離を利用し、複数のポイントを含む平面に係わる平面情報を獲得する。該平面情報は、距離センサ221が設置された方向を基準にする平面の方向情報であり、平面方程式、平面ベクトルなどの形態によって表現されてもよい。複数のポイントから平面情報を獲得する演算は、RANSAC(random sample consensus)技法を利用することができるが、それに限定されるものではない。
【0058】
一例によれば、演算部212は、信号獲得部211が獲得した複数のポイントに係わる距離のうち、一部のポイントに係わる距離を利用し、一部のポイントを含む平面に係わる平面情報を獲得する。例えば、第1ポイントと第2ポイントとの方向が類似しているにもかかわらず、第1ポイントまでの距離と、第2ポイントまでの距離との差が大きい場合、第1ポイントと第2ポイントは、他の平面に存在する可能性が高い。第2ポイントと第3ポイントとの方向が類似しており、第2ポイントまでの距離と、第3ポイントまでの距離との差が小さい場合、第2ポイントと第3ポイントは、同じ平面に存在する可能性が高い。従って、演算部212は、複数のポイントのうち、距離センサ221からの距離が類似した一部のポイントを抽出し、抽出された一部のポイントまでの距離を利用し、平面情報を獲得することができる。例えば、演算部212は、複数のポイントのうち、3個以上のポイントまでの距離の差が既設定の臨界値未満である場合、当該3個以上のポイントの距離を利用し、平面情報を獲得する。例えば、演算部212は、第1ポイント、第2ポイント及び第3ポイントそれぞれの距離差が、いずれも既設定の臨界値未満である場合、第1ポイント、第2ポイント及び第3ポイントを含む平面に係わる平面情報を獲得する。
【0059】
信号獲得部211は、方向センサ222によって測定された端末の方向情報を獲得し、演算部212は、先立って獲得した平面情報と、端末の方向情報とを利用し、平面のノーマルベクトルを獲得する。詳細には、演算部212は、平面情報の基準方向を、端末の方向(または、端末に設置された距離センサ221が向かう方向)から方向センサ222の基準方向に変換する。詳細には、演算部212は、端末の方向を基準に獲得された平面の方向情報を、方向センサ222によって測定された端末の方向情報(加速度センサによって認識される重力方向を基準にする)を利用して移動させることにより、最終的に、重力方向を基準にする平面の方向情報を獲得する。そのように獲得された重力方向基準平面の方向情報は、平面のノーマルベクトルと見ることができる。
【0060】
演算部212は、平面のノーマルベクトルを考慮し、平面に表示するオブジェクトのパラメータを決定する。該オブジェクトは、複数のパラメータを含んでもよい。該パラメータは、例えば、オブジェクトの色相、勾配(偏り)、カテゴリー、種類、方向、及びオブジェクトに適用されるアニメーションでもある。例えば、演算部212は、平面のノーマルベクトルの方向に対応するように、オブジェクトの偏りを設定することができる。
【0061】
演算部212は、平面のノーマルベクトルを考慮し、平面の属性を区分することができる。また、演算部212は、平面の属性を考慮し、オブジェクトのパラメータを決定することができる。平面の属性は、例えば、平面の種類であり、床、壁、天井にも区分される。演算部212は、平面が床であるか、壁であるか、あるいは天井であるかということにより、オブジェクトのパラメータを異ならせて決定することができる。例えば、演算部212は、平面が壁である場合、平面を突き抜ける経路でオブジェクトが移動するように、アニメーションパラメータを設定することができる。演算部212は、平面が床である場合、床上で床と平行に移動するアニメーションパラメータを設定することができる。
【0062】
演算部212は、平面のノーマルベクトルによって決定された平面の属性と、平面の方向情報(端末方向を基準にする)とをそれぞれ考慮し、オブジェクトのパラメータを決定することができる。例えば、演算部212は、平面の属性により、オブジェクトの第1パラメータを決定し、平面のノーマルベクトルにより、オブジェクトの第2パラメータを決定することができる。例えば、演算部212は、平面の属性により、オブジェクトの色相を決定し、平面の方向に沿って、オブジェクトの偏りを決定することができる。該オブジェクトがアイコンである場合、演算部212は、平面の種類により、アイコンの色相を異ならせて決定し、平面の方向に沿って、アイコンの偏りを決定することができる。該偏りは、三次元のアイコン表示情報を二次元にレンダリングして表示するための偏りであるか、あるいはアイコンの横縦表示比でもある。
【0063】
本発明の一実施形態による拡張現実は、家具配置シミュレーションを提供することができる。オブジェクトは、家具でもある。その場合、演算部212は、平面の属性によってオブジェクトの種類を決定し、平面の方向に沿って、オブジェクトのレンダリング方向を決定することができる。例えば、平面属性が「床」である場合、演算部212は、オブジェクトの種類を、床に配置可能な家具、例えば、テーブル、椅子、ソファ、ベッドなどに決定し、平面の方向に沿って、オブジェクトの表示方向を決定することができる。オブジェクトの表示方向は、三次元の家具表示情報を二次元にレンダリングして表示するためのものでもあるが、それに限定されるものではなく、二次元の家具表示情報を回転及び/またはスケーリングして表示するためのものでもある。
【0064】
本発明の一実施形態による信号獲得部211は、カメラ223から映像を獲得し、表示制御部213は、獲得された映像を表示部230に表示する。演算部212は、オブジェクトのパラメータを決定するために、信号獲得部211が獲得した映像をさらに利用することができる。例えば、演算部212は、カメラ223によって撮影される映像が分析し、平面のテクスチャを決定することができる。演算部212は、距離センサ221によって認識された複数のポイントの色相を、カメラ223から獲得された映像から抽出し、抽出された色相情報を利用し、平面の色相を決定することができ、平面のテクスチャを決定することができる。演算部212は、抽出された色相情報を利用し、オブジェクトのパラメータを決定することができる。演算部212は、平面の色相またはテクスチャにより、オブジェクトのパラメータを決定することができる。例えば、平面のテクスチャにより、オブジェクトのアニメーションを決定することができる。例えば、平面のテクスチャがつるつるした滑らかな表面を有している場合、オブジェクトに滑るアニメーションを設定することができる。演算部212は、平面の色相により、オブジェクトの色相を決定することができる。演算部212は、空間に含まれた複数の平面の色相を考慮し、全体空間のコンセプトが分類することができ、分類されたコンセプトに該当するオブジェクトを選択することができる。
【0065】
一実施形態による表示制御部213は、ユーザ端末20に具備されるカメラ223によって撮影される映像を、リアルタイムで表示部230に表示する。表示制御部213は、カメラ223によって撮影される映像と、オブジェクトとを重畳して表示することにより、拡張現実を提供することができる。表示制御部213は、カメラ223によって撮影される映像において、演算部212によって認識された平面に該当する領域に、オブジェクトを重畳して表示する。カメラ223と距離センサ221とが同一方向に向けて設置される場合、距離センサ221は、カメラ223によって撮影される平面を認識する。従って、表示制御部213は、カメラ223によって撮影された平面を表示しながら、距離センサ221の測定値を基に獲得された当該平面の情報に基づいて決定されたオブジェクトのパラメータにより、オブジェクトを共に表示することにより、拡張現実を提供することができる。
【0066】
該オブジェクトは、二次元または三次元のイメージ、静的/動的アイコンに該当し、複数のパラメータ値を有する。オブジェクトのパラメータは、平面情報によって設定されるので、平面情報により、オブジェクトが異なるようにも表示される。表示制御部213は、オブジェクトのパラメータを参照し、オブジェクトを表示する。表示制御部213は、オブジェクトのレンダリング方向パラメータに基づいて、オブジェクトを表示するための三次元情報を、当該レンダリング方向に沿って、二次元にレンダリングし、表示部230に表示することができる。
【0067】
一実施形態によれば、演算部212は、属性が「壁」である平面に対して表示するオブジェクトを「鏡」と決定することができる。その場合、表示制御部213は、当該平面に対して、鏡オブジェクトを表示し、鏡オブジェクト内部には、前面カメラによって撮影される映像をリアルタイムで表示することができる。
【0068】
オブジェクトのパラメータがアニメーションを含む場合、表示制御部213は、アニメーションを適用し、オブジェクトを表示する。例えば、「壁」属性の平面に対し、壁を突き抜けるアニメーションが設定されたオブジェクトを表示する場合、表示制御部213は、オブジェクトに対して不透明な仮想レイヤを平面に重ねて表示し、該オブジェクトを、仮想レイヤの後ろから前に移動させて表示することにより、該オブジェクトが平面を突き抜けるようなアニメーションを表示する。該仮想レイヤは、該オブジェクト以外の他の表示については、透明にも設定される。
【0069】
一実施形態によれば、演算部212は、「天井」属性の平面について、日、月、星のイメージを表示するオブジェクトを設定することができる。一実施形態によれば、演算部212は、複数の平面間を移動するオブジェクトを設定することができる。例えば、「天井」属性の平面から「床」属性の平面に向けて移動する水玉オブジェクトを設定することができる。該水玉オブジェクトは、「床」属性の平面に逹すれば、当該平面と同一方向に散らばるアニメーションを含んでもよい。
【0070】
図4は、本発明の一実施形態による拡張現実提供方法を図示したフローチャートである。
【0071】
図4に図示されたフローチャートは、
図2及び
図3に図示されたプロセッサにおいて、時系列的に処理される段階によって構成される。従って、以下において省略された内容であるとしても、
図2及び
図3で図示された構成について、以上で記述された内容は、
図4に図示されたフローチャートにも適用されるということが分かる。
【0072】
図4を参照すれば、段階S41において、演算部212は、複数のポイントに係わる距離を利用し、複数のポイントを含む平面に係わる平面情報を獲得する。演算部212は、複数のポイントに係わる方向をさらに利用することができる。
【0073】
段階S42において、演算部212は、方向センサ222によって測定された端末の方向情報、及び段階S41で獲得された平面情報を利用し、平面のノーマルベクトルを獲得する。
【0074】
段階S43において、演算部212は、平面のノーマルベクトルを考慮し、オブジェクトのパラメータを決定する。
【0075】
段階S44において、表示制御部213は、端末の表示部230にオブジェクトを表示する。
【0076】
図5は、
図2の拡張現実提供装置200が平面を認識する方法について説明するための図面である。
【0077】
図5を参照すれば、ユーザ端末20が、三次元空間内に具備され、ユーザ端末20に具備される拡張現実提供装置200により、三次元空間を認識する方法が図示されている。ユーザ端末20が自由に方向を変更する間、ユーザ端末20に具備される拡張現実提供装置200は、複数の平面を認識することができ、複数の平面を含む空間を認識することができる。
図5には、第1平面P1、第2平面P2及び第3平面P3が図示されている。
【0078】
まず、ユーザ端末20が床に向かう間、拡張現実提供装置200が、第3平面P3を認識する実施形態について説明する。ユーザ端末20が床に向かうことになれば、ユーザ端末20の背面に具備される距離センサは、床に位置する複数のポイントS1,S2,S3,S4までの距離及び方向を測定する。拡張現実提供装置200は、複数のポイントS1,S2,S3,S4までの距離及び方向の情報を組み合わせ、複数のポイントS1,S2,S3,S4をいずれも含む第3平面P3を定義し、第3平面P3の方向情報を獲得する。該方向情報は、平面方程式または平面ベクトルによっても表現されるが、それに限定されるものではなく、空間上で平面を定義することができるいかなる情報でも可能である。
【0079】
一方、ユーザ端末20を基準に測定された複数ポイントS1,S2,S3,S4の距離及び方向の情報を基に獲得された第3平面P3の方向情報は、ユーザ端末20が向かう方向を基準にする。従って、ユーザ端末20に具備された方向センサによって測定された地表面基準端末方向情報を考慮し、第3平面P3の方向情報を変換すれば、地表面を基準にする第3平面P3に係わる第3ノーマルベクトルN3を獲得することができる。詳細には、ユーザ端末20の方向を基準にする第3平面P3の方向情報に、地表面(または、重力方向)を基準にするユーザ端末20の方向情報を加え、地表面(または、重力方向)を基準にする第3平面P3の第3ノーマルベクトルN3値を獲得することができる。方向センサは、重力加速度を認識する加速度センサでもあるが、それに限定されるものではなく、加速度センサ及びジャイロセンサのうち1以上の組み合わせによって形成された3軸,6軸または9軸センサでもある。
【0080】
前述のような方法で、ユーザ端末20の方向を変更しながら、第1平面P1に係わる第1ノーマルベクトルN1、第2平面P2に係わる第2ノーマルベクトルN2をさらに獲得することができる。
【0081】
拡張現実提供装置200の演算部212は、各平面のノーマルベクトルにより、各平面の属性を決定する。例えば、ユーザ端末20には、床及び天井のベクトルと、壁のベクトルとが事前に保存されている。
【0082】
例えば、床及び天井のベクトル範囲は、−5〜5゜及び/または175〜185゜であり、壁のベクトル範囲は、85〜95゜及び/または265〜275゜でもある。
図5に図示された例によれば、第1ノーマルベクトルN1及び第3ノーマルベクトルN3は、床及び天井のベクトル範囲に属し、第2ノーマルベクトルN2は、壁のベクトル範囲に属する。従って、拡張現実提供装置200は、第1平面P1及び第3平面P3の属性を、床または天井と決定し、第2平面P2の属性を壁と決定する。
【0083】
または、床及び天井のベクトルが、0゜または180゜と定義され、壁のベクトルが90゜または270゜にも定義される。演算部212は、平面のノーマルベクトルが、誤差範囲内において、既定義ベクトルのうち床及び天井のベクトルと同一である場合、平面の属性を「床または天井」と定義し、誤差範囲内において、壁のベクトルと同一である場合、平面の属性を「壁」と定義する。
【0084】
演算部212は、平面の属性を決定するために、平面のノーマルベクトルと、既設定特定属性のベクトルとの類似度を算出するために、ベクトル内積演算を行うことができる。そのように、ベクトル間の距離を算出する代わりに、ベクトル内積値を算出し、類似度測定に使用することにより、演算時間を顕著に短縮させることができる。ベクトルが類似するほど、内積値は、1または−1に近くなる。例えば、第2平面P2の第2ノーマルベクトルN2と、既設定「壁」属性のベクトルとの内積の値が、1または−1に対して既設定誤差範囲内に含まれる場合、演算部212は、第2平面P2の属性を「壁」と決定する。
【0085】
拡張現実提供装置200は、第1平面P1及び第3平面P3の属性を、床及び天井のうちいずれか一つに決定するために、各平面の高さ情報、またはユーザ端末20の方向情報を考慮することができる。例えば、各平面の方向情報、及びユーザ端末20の方向情報によって区分される各平面の高さ情報を、端末の高さと比較し、天井と床とを区分することができる。例えば、平面の高さが端末より高い第1平面P1の属性を天井と、平面の高さが端末より低い第3平面P3を床と決定する。または、平面認識時点に、ユーザ端末20の方向が90゜以上である第1平面P1の属性を天井と、平面認識時点に、ユーザ端末20が90゜未満である第3平面P3の属性を床と決定する。
【0086】
図5を参照すれば、拡張現実提供装置200は、平面と平面との交差線を、各平面のエッジ(edge)、すなわち、端と認識することができる。例えば、拡張現実提供装置200は、
図5に図示された第1平面P1及び第2平面P2それぞれのノーマルベクトルN1,N2を参照し、第1平面P1と第2平面P2との交差線e1を、第1平面P1と第2平面P2とのエッジと認識する。また、拡張現実提供装置200は、第2平面P2及び第3平面P3それぞれのノーマルベクトルN2,N3を参照し、第2平面P2と第3平面P3との交差線e2を、第2平面P2と第3平面P3とのエッジと認識する。拡張現実提供装置200は、第1ノーマルベクトルN1、第2ノーマルベクトルN2及び第3ノーマルベクトルN3を利用し、三次元空間を認識することができる。
【0087】
認識された全ての平面がエッジによって取り囲まれれば、拡張現実提供装置200は、閉空間(closed space)を認識することができる。拡張現実提供装置200は、閉空間を完成させるために、ゲーム要素を利用し、ユーザ端末20の撮影方向を誘導することができる。例えば、拡張現実提供装置200は、エッジで取り囲まれていない平面がある場合、当該平面のエッジで取り囲まれていない部分を示す矢印などを、ユーザ端末20の表示部230に表示したり、ユーザ端末20の表示部230に表示されたキャラクタを、エッジによって取り囲まれていない部分に移動させるアニメーションを適用したりすることができる。
【0088】
拡張現実提供装置200は、認識されていない平面を撮影している場合、ユーザが当該方向を続けて撮影するように、当該方向に時間が必要となるゲーム要素を表示することができる。拡張現実提供装置200は、ユーザが、ゲーム要素を進める間、周辺空間を認識する。
【0089】
拡張現実提供装置200は、平面上にオブジェクトを表示することができる。例えば、床に認識された第3平面P3上で移動するキャラクタを表示することができる。拡張現実提供装置200は、キャラクタが第3平面P3上で移動するとき、距離センサによって認識されたポイントS1,S2,S3,S4間の経路を移動するように設定することができる。
【0090】
図6は、
図2の拡張現実提供装置200が平面を認識する方法について説明するための他の図面である。
【0091】
図6を参照すれば、床と認識される第3平面P3上に、物体60が置かれており、拡張現実提供装置200は、物体60の上部表面を、第6平面P6と認識することができる。第3平面P3と第6平面P6との属性は、いずれも「床」でもある。そのように、属性が同一である複数の平面が存在する場合、拡張現実提供装置200は、複数の平面間を移動するオブジェクトを提供することができ、移動するとき、アニメーションを適用することができる。例えば、該オブジェクトは、キャラクタであり、該キャラクタが高さが異なる2つの平面P3,P6間を移動するとき、「ジャンプ」アニメーションを適用することができる。
【0092】
拡張現実提供装置200は、ユーザのタッチにより、オブジェクトを移動させることができる。該オブジェクトが第3平面P3上を移動しているとき、ユーザが第6平面P6をタッチする場合、該オブジェクトは、タッチされた地点に移動する。ただし、移動経路上において、平面移動があり、移動する平面の高さが異なるので、拡張現実提供装置200は、「ジャンプ」アニメーションを適用する。
【0093】
図7及び
図8は、拡張現実が提供された画面の例である。
【0094】
図7を参照すれば、画面70には、カメラ223によって撮影された画面が表示され、平面71上にオブジェクトi1が重畳されて表示され、拡張現実が提供される。オブジェクトi1のパラメータは、色相及び偏りを含んでもよい。オブジェクトi1の色相は、平面71の属性である「床」に対応する色相に表示され、オブジェクトi1の偏りは、平面71の方向情報によっても設定される。
図7においては、平面71の方向に合わせ、オブジェクトi1が偏って楕円形に表示された例が図示されている。
【0095】
図8を参照すれば、画面80には、カメラ223によって撮影された画面が表示され、平面81上にオブジェクトi2が重畳されて表示され、拡張現実が提供される。オブジェクトi2のパラメータは、色相及び偏りを含んでもよい。オブジェクトi2の色相は、平面81の属性である「壁」に対応する色相に表示され、オブジェクトi2の偏りは、平面81の方向情報によっても設定される。
図8においては、平面81の方向に合わせ、オブジェクトi2が偏って楕円形に表示された例が図示されている。
【0096】
図7及び
図8を参照すれば、ユーザは、オブジェクトの色相により、オブジェクトが表示された平面の属性を認知することができ、オブジェクトの偏りにより、平面の方向を直観的に認知することができる。
【0098】
図9A、
図9B及び
図9Cを参照すれば、画面90には、カメラ223によって撮影された画面が表示され、拡張現実提供装置200によって認識された平面91上に、オブジェクトi3が重畳されて表示され、拡張現実が提供される。オブジェクトi3のパラメータは、キャラクタ表示情報を含んでもよい。
図9A、
図9B及び
図9Cを参照すれば、拡張現実提供装置200は、不透明な仮想レイヤ92を平面91に重ねて表示し、オブジェクトi3を、平面91のノーマルベクトル方向に、例えば、仮想レイヤ92の後ろから前に移動するように表示することにより、オブジェクトi3が平面91を突き抜けるようなアニメーションを表示する。仮想レイヤ92は、オブジェクトi3以外の他の表示については、透明に表示されるようにも設定される。すなわち、仮想レイヤ92は、オブジェクトi3の位置により、オブジェクトi3の表示を隠すことはできるが、それ以外の平面91などの表示を隠さないように設定される。
【0099】
オブジェクトi3が仮想レイヤ92の後ろから前に移動することにより、ユーザ端末20に表示される画面は、
図9Aから
図9Bに、
図9Bから
図9Cに順次に変更される。
図9Aにおいては、オブジェクトi3が仮想レイヤ92の後ろに存在し、画面90に表示されていない例が図示されている。
図9Aにおいては、説明の便宜上、オブジェクトi3は点線で描かれているが、実際には、画面90に表示されない。
図9Bにおいては、オブジェクトi3が、仮想レイヤ92の後ろから前に移動する最中の画面が図示されており、オブジェクトi3の一部は、平面91上に表示され、残り一部は、画面90に表示されていない例が図示されている。
図9Bにおいては、説明のために、オブジェクトi3の一部を点線で表示しているが、点線で表示された部分は、実際には、画面90に図示されないものでもある。
図9Cにおいては、オブジェクトi3が仮想レイヤ92の前に移動し、オブジェクトi3の全体像が平面91上に重畳して表示された例が図示されている。
【0100】
一方、オブジェクトi3は、三次元客体であってもよく、
図9A、
図9B及び
図9Cの例において、オブジェクトi3がユーザ端末20に近くなる方向に移動するので、拡張現実提供装置200は、オブジェクトi3が移動するにつれ、オブジェクトi3の大きさをだんだんと大きく変更して表示することができる。
【0101】
図10は、拡張現実が提供された画面の他の例である。
【0102】
図10を参照すれば、画面100には、カメラ223によって撮影された画面が表示され、拡張現実提供装置200によって認識された平面101上に、オブジェクトi4が重畳されて表示され、拡張現実が提供される。
図10を参照すれば、拡張現実提供装置200は、「壁」と属性が指定された平面101上に「鏡」オブジェクトi4を表示することができる。拡張現実提供装置200は、オブジェクトi4の既設定内部領域に、ユーザ端末20に具備された前面カメラ(図示せず)によって撮影される画面を表示することにより、オブジェクトi4が鏡であるということを示すことができる。
【0103】
図11は、拡張現実が提供された画面の他の例である。
【0104】
図11を参照すれば、画面110には、カメラ223によって撮影された画面が表示され、拡張現実提供装置200によって認識された平面111,112情報により、画面110に、オブジェクトi5が重畳されて表示されて拡張現実が提供される。
図11を参照すれば、拡張現実提供装置200は、「天井」と属性が指定された平面111から、「床」と属性が指定された平面112に向けて移動するオブジェクトi5を表示することができる。
図11に図示された矢印は、説明の便宜のために、オブジェクトi5に含まれた複数要素(雨粒)が移動する経路を示したものであり、画面110に表示されるものではない。
図11を参照すれば、オブジェクトi5の要素は、平面111から平面112に移動し、平面112に至れば、平面112の同一方向で散らばった後、フェードアウト(fade-out)されて消えるアニメーションが表示されることにより、雨粒が床に散らばるような表示効果が具現される。
【0105】
図11を参照すれば、拡張現実提供装置200は、「天井」と属性が指定された平面111上に、オブジェクトi6をさらに重畳して表示することができる。
図11に図示されているように、拡張現実提供装置200は、複数のオブジェクトを共に表示することができる。
【0106】
一方、一例によれば平面111には、前述の仮想レイヤが表示され、オブジェクトi5の要素は、平面111に対応する仮想レイヤの後ろから前に移動するようにも表示される。他の例によれば、オブジェクトi5の要素は、オブジェクトi6の後ろから前に移動するようにも表示される。オブジェクトi6は、オブジェクトi5に対して不透明に設定されてもよく、オブジェクトi5だけではなく、画面110に表示される他の部分、例えば、平面110についても不透明に設定されてもよい。
【0107】
一方、
図4に図示された本発明の一実施形態による拡張現実提供方法は、コンピュータで実行されるプログラムによって作成可能であり、コンピュータで読み取り可能な記録媒体を利用し、前記プログラムを動作させる汎用デジタルコンピュータにおいても具現される。
【0108】
媒体は、コンピュータで実行可能なプログラムを続けて保存したり、実行またはダウンロードのために臨時保存したりするものであってもよい。また、該媒体は、単一または数個のハードウェアが結合された形態の多様な記録手段または保存手段でもあるが、あるコンピュータシステムに直接接続される媒体に限定されるものではなく、ネットワーク上に分散存在するものであってもよい。該媒体の例示としては、ハードディスク、フロッピィーディスク及び磁気テープのような磁気媒体;CD−ROM及びDVDのような光記録媒体;フロプティカルディスク(floptical disk)のような磁気・光媒体(magneto-optical medium);及びROM、RAM、フラッシュメモリなどを含み、プログラム命令語が保存されるように構成されたものがある。また、他の媒体の例示として、アプリケーションを流通するアプリストアや、その他多様なソフトウェアを供給あるいは流通するサイト、サーバなどで管理する記録媒体ないし記録媒体も挙げることができる。
【0109】
以上、本発明に対してその望ましい実施形態を中心に述べた。本発明は、図面に図示された実施形態を参照して説明されたが、それらは、例示的なものに過ぎず、本発明が属する技術分野において当業者であるならば、本発明が、本発明の本質的な特性から外れない範囲で変形された形態にも具現され、均等な他の実施例が可能であるということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。本発明の範囲は、前述の説明ではなく特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、本発明に含まれたものであると解釈されなければならないのである。