(58)【調査した分野】(Int.Cl.,DB名)
前記設定手段は、前記距離が所定の値よりも大きい場合に、前記第1のモードを設定し、前記距離が前記所定の値と等しい、または前記所定の値よりも小さい場合に、前記第2のモードを設定することを特徴とする請求項5に記載の情報処理装置。
【発明を実施するための形態】
【0011】
(第1の実施形態)
本発明にかかる実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、
図13を用いて説明する。
【0012】
図13は、本実施形態における情報装置のハードウェア構成図である。同図において、CPU1310は、バス1300を介して接続する各デバイスを統括的に制御する。CPU1310は、読み出し専用メモリ(ROM)1320に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はROM1320に記憶されており、ランダムアクセスメモリ(RAM)1330に一時記憶され、CPU1310によって適宜実行される。また、入力I/F1340は、外部の装置(表示装置や操作装置など)から情報処理装置1で処理可能な形式で入力信号として入力する。また、出力I/F1350は、外部の装置(表示装置)へ表示装置が処理可能な形式で出力信号として出力する。
【0013】
図1は、本実施形態に係る情報処理装置1000を備えたシステムの構成例を示すブロック図である。
図1に示す如く、本実施形態に係る情報処理装置1000は、表示装置1100と、入力部1700と、頭部装着型表示装置1200とに接続されている。また、情報処理装置1000は、撮像画像取得部1020、データ記憶部1040、視点情報計測部1030、モード設定部1050、仮想空間生成部1080、画像生成部1060、画像出力部1070により構成される。
【0014】
頭部装着型表示装置(以降HMD)1200は、撮像部1220(撮像部1220R、撮像部1220L)と表示部1210(表示部1210R、表示部1210L)とが取り付けられ固定されている。観察者は、このHMD1200を頭部に装着することで、表示部1020に映るステレオの複合現実空間画像(以下、MR画像とする)を観察することができる。すなわち、観察者は、
図1における、現実物体1600と、仮想物体1300とが合成されたMR画像を表示部1210を介して観察する。また、現実物体1400と、仮想物体1500とが合成されたMR画像を表示部1210を介して観察する。現実物体1400と現実物体1600は、それぞれ、HMD1200からの距離が異なっている。また、本願発明のHMD1200は、特許文献1に開示される装置とは異なり、撮像部1220R、撮像部1220Lの間の基線長および、輻輳角が固定されており、撮像部1220R、撮像部1220Lの焦点位置も固定されているものとする。
【0015】
また、本実施形態では、ステレオの撮像と表示を行うことに限定するものではなく、3以上の複数の撮像部、表示部であってもよい。また、少なくとも1つ以上の撮像部と表示部があれば適応可能である。さらに、本発明では、HMD1200を使用することに限定するものではなく、撮像部1210が装備されていないタイプでも適応可能である。以下、表示部及び撮像部について特に右眼用の表示部、左眼用の表示部に限定していない限り、表示装置は1210、撮像装置は1220でもって示す(R、Lは付けない)。なお、本実施形態では、頭部装着型表示装置として説明するが、頭部でなくユーザの顔面に装着する形式の表示装置でもよい。
【0016】
情報処理装置1000の有する各機能について以下説明する。
【0017】
撮像画像取得部1020は、撮像装置1220から送出された右眼の撮像画像、左眼用の撮像画像を取得する。そして取得した右撮像画像、左撮像画像をデータ記憶部1040に格納する。以降、右撮像画像、左撮像画像の両方をさす場合は撮像画像とする。
【0018】
視点情報計測部1030は、データ記憶部1040に保存している撮像画像から撮像装置の位置姿勢を計測し視点位置姿勢情報を求める(位置姿勢取得)。この時、撮像装置ではなく、観察者の頭の中心、撮像装置1220Lと撮像装置1220Rの中心であっても良く視点位置姿勢情報を計測する方法に関しては、種々の研究報告が行われておりどの手法を利用しても良く、磁気式センサー、光学式センサーを利用しても良い。その後、前記視点位置姿勢情報をデータ記憶部1040に保存する。
【0019】
モード設定部1050では、入力部1700から入力されたイベント等から遠景モードまたは近景モードを設定し、前記データ記憶部1040に保存する。
【0020】
仮想空間生成部1080は、データ記憶部1040に格納されている仮想空間のデータに基づいて、仮想空間を生成する。仮想空間のデータには、仮想物体1300、仮想物体1400及び現実物体1600、現実物体1500を3Dデジタイザや既知の手法で三次元計測された三次元データや仮想空間を構成する各仮想物体に係るデータや、仮想空間中を照射する光源に係るデータなどが含まれる。その後、仮想空間データをデータ記憶部1040に保存する。
【0021】
画像生成部1060では、データ記憶部1040に保存されている、モード設定から前記右撮像画像または前記左撮像画像と前記仮想空間データと前記位置姿勢情報に基づいて仮想画像を生成する。仮想画像生成の詳細に関しては、
図5のフローチャートにて説明を行う。
【0022】
画像出力部1070では、画像生成部1060で生成された前記右複合現実感画像を表示部1210Rに表示し、前記左複合現実感画像を表示部1210Lに表示する。
【0023】
この時、画像が出力可能な表示部1100に前記左複合現実画像または前記右複合現実画像または他の画像の表示を行っても良い。
【0024】
データ記憶部1040は、上述の通り、様々な情報を格納するためのものであり、RAMやハードディスクドライブ装置などにより構成されている。なお、データ記憶部1040には、上記説明においてデータ記憶部1040に格納するものとして説明した情報のほかに、本実施形態において既知の情報として説明するものについても格納されているものとする。
【0025】
これらの各機能部は、CPU1310が、ROM1320に格納されたプログラムをRAM1330に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU1310を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【0026】
以下、情報処理装置1000による複合現実感画像を生成の処理について、
図5のフローチャートを参照して説明する。
【0027】
(ステップS16001)
ステップS16001で、ユーザの処理を開始する。
【0028】
(ステップS16002)
次に、ステップS16002では、モード設定部は、入力部1700から入力されたデータに基づいて、遠景(第1のモード)または近景のモード(第2のモード)の設定を行う。この時、入力はGUIからの入力でもテキストでの入力でもゲームコントローラーからの入力でもジェスチャーでもモードを設定できる方法であれば何でも良い。そして、ステップS16003に処理を移す。
【0029】
(ステップS16003)
次に、ステップS16003では、撮像画像取得部1020は、HMD1200から、撮像画像を取得し、データ記憶部1040に記憶させる。そして、ステップS16003に処理を移す。
【0030】
(ステップS16004)
ステップS16004では、視点情報計測部1030は、ステップS16003でデータ記憶部1040に記憶された撮像画像に基づいて、撮像装置1220の位置姿勢情報を計測する。計測する方法に関しては、種々の研究報告が行われておりどの手法を利用しても良い。そして、ステップS16005へ処理を移す。
【0031】
(ステップS16005)
ステップS16005では、ステップS16002で入力したモードが近景モードの時は、ステップS16006に処理を移し、遠景モードの時は、ステップS16007へ処理を移す。
【0032】
(ステップS16006)
ステップS16006では、画像生成部1060は、表示装置1210Rに表示される近景用の複合現実感映像を生成するために撮像装置1220Rが取得した撮像画像を背景画像として設定を行う。同様に、画像生成部1060は、表示装置1210Lに表示される近景用の複合現実感映像を生成するために撮像装置1220Lが取得した撮像画像を背景画像として設定を行う。つまり左右の視差を考慮した異なる映像を左右の表示装置に背景画像として設定する。
【0033】
そこで、本実施形態では、上記のように、左右の視差を考慮した異なる映像を左右の表示装置に背景画像として設定する。これにより、観察者は、立体視をすることができる。
【0034】
(ステップS16007)
ステップS16007では、画像生成部1060は、表示部1210Rに表示される遠景用の複合現実感映像を生成するために撮像装置1220Rが取得した撮像画像を背景画像として設定を行う。同様に、画像生成部1060は、表示部1210Lに表示される遠景用の複合現実感映像を生成するために撮像装置1220Rが取得した撮像画像を背景画像として設定を行う。つまり左右で同じ映像を設定する。
【0035】
ここで、本発明のように、基線長や輻輳角が固定された撮像装置の場合に生じる、遠景現実物体1500、遠景仮想物体1400の立体視が適切に行われない課題を
図2、3を用いて詳述する。
【0036】
図2は、近景にある現実物体1600を肉眼または、HMDを通して確認した図である。
図1と同じ部分については同じ番号をつけており、その説明を省略する。
【0037】
図2(A)は、肉眼で、観察者から近景にある現実物体1600を観察している様子を表している。
【0038】
右眼2100Rは、観察者(ユーザ)の右眼であり、同様に左眼2100Lは観察者の左眼である。
【0039】
視線2200Rは観察者の右眼2100Rの視線方向であり、同様に視線2200Lは観察者の左眼2100Lの視線方向である。
【0040】
焦点位置2300は、観察者の視線が交わる焦点である。
【0041】
距離2501は、観察者の両目の中心から焦点までの距離である。
【0042】
映像2210Rは、右眼2100Rから肉眼で見える映像であり、同様にして映像2210Lは左眼2100Lから肉眼で見える映像である。観察者は、映像2201Rと映像2210Lとをそれぞれの眼で観察することにより、立体感のある映像を観察できる。
【0043】
一方、
図2(B)は、観察者がHMDを装着して、HMD1200から近景にある現実物体1600及び仮想物体1300を確認している様子を表している。
【0044】
焦点位置2301は、HMDに固定された撮像部1220Lと撮像部1220Rとの焦点である。ここで、HMD1200の撮像部1220R、撮像部1220Lの間の距離(基線長)と
図2(A)の観察者の眼間距離は略等しく、HMDに固定された撮像部1220Lと撮像部1220Rの焦点位置2301と、観察者の肉眼の焦点位置2300とは略等しい位置であるとする。
【0045】
距離2502は、HMD1200の撮像装置1220の中心から焦点位置2301までの距離である。
【0046】
映像2211Lは、表示部1210Lに表示される複合現実感映像であり、同様にして映像2211Rは、表示部1210Lに表示される複合現実感映像である。複合現実感映像の生成方法の詳細に関しては、後述する。
【0047】
本実施形態では、上記のように、焦点位置2300と焦点位置2301とは略等しい、即ち、距離2501と距離2502との距離が略等しい。そのため、映像2210Lと前記映像2211Lの画像がほぼ同じとなるため肉眼とHMDを通して見た映像の差が少なくなり、肉眼で観察した場合と同様に立体感のある映像を観察することができる。
【0048】
次に、観察する現実物体が肉眼またはHMD2100から遠距離にある場合の例を説明する。
図3は、遠景にある物体を肉眼または、HMD1200を通して観察した場合を示す。
図1、
図2と同じ部分については同じ番号をつけており、その説明を省略する。
【0049】
図3(A)は、肉眼で遠景にある現実物体1500を観察している様子を表している。
【0050】
視線3200Rは観察者の右眼3100Rの視線方向であり、同様に視線3200Lは観察者の左眼3100Lの視線方向である。
【0051】
焦点位置3300は、観察者の視線が交わる焦点である。
【0052】
距離3501は、観察者の両目の中心から焦点までの距離である。
【0053】
映像3210Rは、右眼3100Rから肉眼で見える映像であり、同様にして映像3210Lは左眼3100Lから肉眼で見える映像である。
【0054】
図3(A)において、距離3501は、距離2501よりも大きく、観察者の両眼で観察する映像3210R,3210Lには視差がつきにくくなる。
【0055】
一方、
図3(B)は、HMD1200から遠距離にある現実物体1500と仮想物体1400が合成された画像を観察している場合を表している。
【0056】
映像3211Lは、表示部1210Lに表示される複合現実感映像であり、同様にして映像3211Rは、表示部1210Rに表示される複合現実感映像である。複合現実感映像の生成方法の詳細に関しては、後述する。
【0057】
この時、距離3501と距離2502の距離の差が大きい程、映像4210Lと前記映像4211Lの画像の差が大きくなり肉眼とHMD1200を通して見た映像の差が大きく観察者は違和感を感じる。
【0058】
本実施形態では、この課題を解決するために、上記のように、左右の表示部に対して、同じ画像を設定する。これより、視差がつかないため、立体視はできなくなるが、上記のような違和感を解消することができる。また、
図3(B)のように、対象物体までの距離がある程度離れていると、肉眼であってもそれほど視差はつかないため、本実施形態のように同じ画像を設定しても、観察者にとっても違和感はほとんど感じられない。
【0059】
(ステップS16008)
ステップS16008では、仮想画像生成部1080は、ステップS16004で求めた撮像装置1220の位置姿勢情報と、データ記憶部1040に記憶された仮想物体及びの情報から仮想画像を生成する。
【0060】
(ステップS16009)
ステップS16009では、画像生成部1060は、ステップS16010で生成した仮想画像と、ステップ16006またはステップ16007で設定された背景画像とを合成した画像を生成し、ステップS16012に処理を移す。
【0061】
この時、生成される近景モード時の画像と遠景モード時の画像を、
図2、
図3、
図4を用いて説明を行う。
図1と同じ部分については同じ番号をつけており、その説明を省略する。また、既知の複合現実画像の生成手法に関しては説明を省略する。
【0062】
図2(B)は、上記の通り近くにある現実物体1600や仮想物体1300をHMD1200を通して確認した際の事例である。よって近景のモードが設定されている場合は、表示部1210Rに撮像装置1220Rから取得された撮像画像と撮像画像から計測された撮像装置1220Rの位置姿勢と仮想空間から映像2211Rが表示(提示)され、表示部1210Lには同様に映像2211Lが表示される。
【0063】
一方で、
図3(B)のように、観察者から遠くにある現実物体1500を見た際には、撮像装置1220の焦点位置2301と、現実物体1500とが大きく離れているため、撮像されたそれぞれの画像を観察する観察者には、大きな違和感を与える。
【0064】
そこで、本実施形態では、
図4のように、遠景モードが設定されると、以下の如く処理を行う。すなわち、遠景モードが設定されている場合には、ステップS16007で設定されたように、表示部1210Rと表示部1210Lとで、が表示される。
【0065】
(ステップS16010)
ステップS16010では、ステップS16009で生成された画像を画像出力部1130によって表示部1210L及び表示部1210Rに表示しステップS16011に処理を移す。
【0066】
ステップS16011では、処理を終了する。
【0067】
上記の処理を行うことにより、対象物体までの距離が焦点位置よりも遠くである場合であっても、観察者にとって違和感のない映像を提供することができる。
【0068】
(第2の実施形態)
第1の実施形態では、入力部1700から入力されたモードに応じて、近景モード又は遠景モードの設定を行っていたが、本実施形態では、HDMの位置と観察者が観察している観察物との距離から自動的にモードを設定する例を説明する。
【0069】
本実施形態に係る情報処理装置6000を備えるシステムについて
図6のブロック図を用いて説明する。
図1と同じ部分については同じ番号をつけており、その説明を省略する。
【0070】
次に情報処理装置6000について説明する。
【0071】
距離計測部6010は、データ記憶部1040に保存された視点位置情報と撮像画像1220に映っている仮想物体または現実物体との間の距離を計測し(距離取得)、計測された距離を、距離情報としてデータベースに記憶する。距離の導出については、後述する。
【0072】
モード設定部6020は、データ記憶部1040に記憶してある距離情報に基づいて、所定の距離よりも大きい場合には、遠景モード、それ以外の場合には近景モードと、自動的に設定を行い、そのモードをデータ記憶部1040に記憶する。
【0073】
図7は、情報処理装置6000が複合現実感画像を生成し、HMD1200の表示装置1210又は表示装置1100に対して出力するために行う処理のフローチャートである。
図5と同じ部分については同じ番号をつけており、その説明を省略する。
【0074】
(ステップS17004)
ステップS17004では、距離計測部6010は、ステップS16003で求めた撮像装置1220の位置と観察者が注視している仮想物体又は現実物体との距離を求める。距離の算出方法に関して
図8を用いて詳細な説明を行う。
図2と同じ部分については同じ番号を付けており、その説明を省略する。
【0075】
撮像装置1220Lと撮像装置1220Rを結んだ線分8002の中点8001から、線分8002に垂直なベクトル8003と仮想物体1300と交わる点7002と点8001との距離8000を求め、ステップS17005に処理を進める。
【0076】
本実施形態では、上記手法で距離を求めたが、観察者が注視している仮想物体又は現実物体をジェスチャー等で指定しても良く、またゲームコントローラーやキーボードやタブレット等で指定しても良い。
【0077】
(ステップS17005)
ステップS17005では、モード設定部6020は、距離8000が観察者又はシステムが設定した任意のXmm以上の時は、ステップS16008に処理を進め、Xmm以内の時はステップS16006に処理を進める。
【0078】
以上、本実施形態は、現実物体または仮想物体までの距離を測定することにより、自動で遠景または近景のいずれかのモードを設定することができるため、観察者に特別な処理を要求することなく、観察者にとって違和感のない映像を提供することができる。
【0079】
(第3の実施形態)
第1、第2の実施形態では、撮像装置1220から取得した撮像画像を遠景・近景モードの現実画像として利用していた。本実施形態は、情報処理装置が動的に背景画像を作り出す例を示す。
【0080】
本実施形態に係る情報処理装置9000を備えるシステムについて
図9のブロック図を用いて説明する。
図1、
図6と同じ部分については同じ番号をつけており、その説明を省略する。本実施形態では、現実画像生成部9020が追加された点が、第2の実施形態と異なる。
【0081】
現実画像生成部9020では、撮像画像取得部1020で得られた画像7010、7020と距離計測部6010から得られた距離とに基づいて、
図10に示す背景画像7030を作成する。そして、生成された背景画像7030から、表示装置1210Rに表示される複合現実感映像を生成するための背景画像を生成し、同様に表示部1210Lに表示される複合現実感映像を生成するための背景画像を生成する。詳細に関しては後述する。
【0082】
図12は、情報処理装置9000が複合現実感画像を生成し、HMD1200の表示装置1210又は表示装置1100に対して出力するために行う処理のフローチャートである。
図5と同じ部分については同じ番号をつけており、その説明を省略する。
【0083】
(ステップS97007)
ステップ97007において、現実画像生成部9020は、撮像部1220で得られた撮像画像をスティッチする。以下、
図10を用いて本処理を詳述する。
【0084】
図10は、撮像部1220L及び撮像部1220Rで得られた撮像画像7010、7020とから、背景画像7030を生成している。
【0085】
撮像画像7020は、撮像部1220Lから取得した画像である。
【0086】
撮像画像7010は、撮像部1220Rから取得した画像である。
【0087】
背景画像7030は、撮像画像7020撮像画像7010をスティッチして作成した画像である。スティッチに関しては公知の技術(特許文献3に開示されている)であるためその説明を省略する。
【0088】
背景画像7030を作成した後、ステップ96008へ処理を進める。
【0089】
(ステップS96008)
ステップ96008において、現実画像生成部9020は、ステップ96007で得られた背景画像7030から右眼左眼用の背景画像の生成を行う。
図11は、背景画像7030から右眼左眼用の背景画像を生成する図である。
【0090】
第1、第2の実施形態では、右眼と左眼を同じ画像を背景として表示して違和感を軽減したが、本実施形態では、スティッチ画像7030から左眼用の画像7020と右眼用の画像7010を作成する。画像から視差画像を生成する方法に関しては、公知の技術(特許文献4に開示されている)のためその説明を割愛する。
【0091】
右眼用現実画像7040は、
図3(A)のように観察者が観察物を見た際に右眼に見える映像を想定して作成した画像である。
【0092】
左眼用現実画像7050は、
図3(A)のように観察者が観察物を見た際に左眼に見える映像を想定して作成した画像である。
【0093】
現実画像生成部9020は、右眼用現実画像7040及び左眼用現実画像7050を生成しステップ16010に処理を進める。
【0094】
上記の処理を行うことにより、対象物体までの距離が焦点位置よりも遠くである場合であっても、観察者にとって違和感のない映像を提供することができる。
【0095】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。
【0096】
即ち、上述した各実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0097】
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。