IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特許7559758画像処理装置、および画像処理方法、並びにプログラム
<>
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図1
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図2
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図3
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図4
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図5
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図6
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図7
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図8
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図9
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図10
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図11
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図12
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図13
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図14
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図15
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図16
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図17
  • 特許-画像処理装置、および画像処理方法、並びにプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】画像処理装置、および画像処理方法、並びにプログラム
(51)【国際特許分類】
   G06V 10/70 20220101AFI20240925BHJP
   G06F 3/04815 20220101ALI20240925BHJP
   G06F 3/01 20060101ALI20240925BHJP
   G06T 19/00 20110101ALI20240925BHJP
   G06V 20/20 20220101ALI20240925BHJP
【FI】
G06V10/70
G06F3/04815
G06F3/01 510
G06T19/00 600
G06V20/20
【請求項の数】 14
(21)【出願番号】P 2021539168
(86)(22)【出願日】2020-07-07
(86)【国際出願番号】 JP2020026611
(87)【国際公開番号】W WO2021029164
(87)【国際公開日】2021-02-18
【審査請求日】2023-05-12
(31)【優先権主張番号】P 2019147046
(32)【優先日】2019-08-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭
(74)【代理人】
【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治
(74)【代理人】
【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫
(74)【代理人】
【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二
(74)【代理人】
【識別番号】110000763
【氏名又は名称】弁理士法人大同特許事務所
(72)【発明者】
【氏名】後藤 智彦
(72)【発明者】
【氏名】青木 秀憲
(72)【発明者】
【氏名】荒井 富士夫
(72)【発明者】
【氏名】永野 京二郎
(72)【発明者】
【氏名】深澤 遼
(72)【発明者】
【氏名】藤澤 春香
【審査官】菊池 伸郎
(56)【参考文献】
【文献】特開2015-060579(JP,A)
【文献】国際公開第2019/016870(WO,A1)
【文献】特開2019-012537(JP,A)
【文献】国際公開第2018/106542(WO,A1)
【文献】特開2017-091433(JP,A)
【文献】特開2017-049658(JP,A)
【文献】特開2014-206904(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/00-40/70
G06T 1/00-7/90
G06T 19/00
G06F 3/04815
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
実世界上の実オブジェクトの識別処理を実行するオブジェクト識別部と、
実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御部を有し、
前記オブジェクト識別部は、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行し、
前記コンテンツ表示制御部は、
前記オブジェクト識別部において識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択する処理を実行し、
前記オブジェクト識別部は、
オブジェクト種類に応じて予め規定された時間間隔でオブジェクト識別処理を繰り返し実行する画像処理装置。
【請求項2】
前記オブジェクト識別部は、
画像認識処理によりオブジェクト識別処理を実行する請求項1に記載の画像処理装置。
【請求項3】
前記オブジェクト識別部は、
セマンティック・セグメンテーション処理を適用してオブジェクト識別処理を実行する請求項2に記載の画像処理装置。
【請求項4】
前記オブジェクト識別部は、
前記仮想オブジェクトの表示領域とするターゲット領域を決定し、決定したターゲット領域の実オブジェクトの識別処理を実行する請求項1に記載の画像処理装置。
【請求項5】
前記オブジェクト識別部は、
前記ターゲット領域をユーザ動作、ユーザ視線、ユーザ操作、ユーザ位置、またはユーザ姿勢の少なくともいずれかに基づいて決定する請求項4に記載の画像処理装置。
【請求項6】
前記オブジェクト識別部は、
前記ターゲット領域を水平面領域から選択して決定する請求項4に記載の画像処理装置。
【請求項7】
前記コンテンツ表示制御部は、
前記仮想オブジェクトを前記水平面領域に接するように表示する請求項6に記載の画像処理装置。
【請求項8】
前記オブジェクト識別部は、
前記オブジェクト識別処理をリアルタイム処理として実行する請求項4に記載の画像処理装置。
【請求項9】
前記画像処理装置は、
カメラ撮影画像に基づく実世界の3次元マップを生成する3次元マップ生成部を有し、
前記オブジェクト識別部は、
前記3次元マップを利用して前記仮想オブジェクトの表示領域とするターゲット領域を決定する請求項1に記載の画像処理装置。
【請求項10】
前記3次元マップ生成部は、
SLAM(Simultaneous Localization and Mapping)処理により、実世界の3次元マップを生成する請求項9に記載の画像処理装置。
【請求項11】
前記コンテンツ表示制御部は、
前記オブジェクト識別部において識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するとともに、
前記オブジェクト識別結果に応じて、表示する仮想オブジェクトの表示態様も制御する請求項1に記載の画像処理装置。
【請求項12】
前記画像処理装置は、さらに、
音声出力制御を実行するコンテンツ音声制御部を有し、
前記コンテンツ音声制御部は、
前記オブジェクト識別部において識別されたオブジェクト識別結果に応じて出力する音声を決定して出力する請求項1に記載の画像処理装置。
【請求項13】
画像処理装置において実行する画像処理方法であり、
オブジェクト識別部が、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別処理ステップを実行し、
コンテンツ表示制御部が、実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御ステップを実行し、
前記オブジェクト識別処理ステップは、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行するステップであり、
前記コンテンツ表示制御ステップは、
前記オブジェクト識別処理ステップにおいて識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するステップを実行し、
前記オブジェクト識別処理ステップは、
オブジェクト種類に応じて予め規定された時間間隔でオブジェクト識別処理を繰り返し実行するステップである画像処理方法。
【請求項14】
画像処理装置において画像処理を実行させるプログラムであり、
オブジェクト識別部に、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別処理ステップを実行させ、
コンテンツ表示制御部に、実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御ステップを実行させ、
前記オブジェクト識別処理ステップにおいては、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行させ、
前記コンテンツ表示制御ステップにおいては、
前記オブジェクト識別処理ステップにおいて識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するステップを実行させ、
前記オブジェクト識別処理ステップにおいては、
オブジェクト種類に応じて予め規定された時間間隔でオブジェクト識別処理を繰り返し実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置、および画像処理方法、並びにプログラムに関する。さらに詳細には、現実に観察可能な実オブジェクトにキャラクタ画像等の仮想コンテンツを重畳して表示する拡張現実(AR:Augumented Reality)画像を生成して出力する画像処理装置、および画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
実空間で観察可能な実オブジェクトや、実オブジェクトと画像に仮想オブジェクトを重畳して表示した画像を拡張現実(AR:Augumented Reality)画像と呼ぶ。
【0003】
AR画像を利用したコンテンツやゲームで利用される仮想オブシェクトには様々な種類があるが、例えば人間と同じような動きをする仮想オブジェクト、すなわちキャラクタが利用されることが多い。
【0004】
AR画像は、例えばユーザの目に装着するヘッド・マウント・ディスプレイ(HMD)や、スマホ(スマートフォン)等の携帯端末等を利用して表示される。
ユーザは、AR画像を視聴することで、例えばAR画像中の表示キャラクタが実世界に存在するような感覚を楽しむことができる。
【0005】
AR画像中にキャラクタを表示させる場合、例えばゲームプログラム等、コンテンツ再生プログラムに従った表示処理がなされる。
具体的には、プログラムに記録されているキャラクタ出力条件を満たす場合にプログラムに規定された手順でキャラクタが表示される。
しかし、このようなプログラムに規定されたキャラクタ表示を行うと、常に同じような処理が繰り返されることになり、面白みが薄れてしまう。
【0006】
一方、近年、画像内のオブジェクトを識別する技術としてセマンティック・セグメンテーションについての研究や利用が進んでいる。セマンティック・セグメンテーションは、例えばカメラ撮影画像に含まれる様々なオブジェクト、例えば人、車、ビル、道路、木等、オブジェクトの種類を識別する技術である。
【0007】
なお、このセマンティック・セグメンテーションについて開示した文献として、例えば特許文献1(特開2015-207291号公報)がある。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2015-207291号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本開示は、実オブジェクトの種類に応じて表示するキャラクタの制御を行う画像処理装置、および画像処理方法、並びにプログラムを提供するものである。
【0010】
本開示の一実施例においては、上述したセマンティック・セグメンテーション等のオブジェクト識別処理によって画像の背景オブジェクトを識別し、識別結果に応じて表示するキャラクタを制御する画像処理装置、および画像処理方法、並びにプログラムを提供するものである。
【課題を解決するための手段】
【0011】
本開示の第1の側面は、
実世界上の実オブジェクトの識別処理を実行するオブジェクト識別部と、
実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御部を有し、
前記オブジェクト識別部は、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行し、
前記コンテンツ表示制御部は、
前記オブジェクト識別部において識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択する画像処理装置にある。
【0012】
さらに、本開示の第2の側面は、
画像処理装置において実行する画像処理方法であり、
オブジェクト識別部が、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別処理ステップを実行し、
コンテンツ表示制御部が、実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御ステップを実行し、
前記オブジェクト識別処理ステップは、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行するステップであり、
前記コンテンツ表示制御ステップは、
前記オブジェクト識別処理ステップにおいて識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するステップを実行する画像処理方法にある。
【0013】
さらに、本開示の第3の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
オブジェクト識別部に、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別処理ステップを実行させ、
コンテンツ表示制御部に、実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御ステップを実行させ、
前記オブジェクト識別処理ステップにおいては、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行させ、
前記コンテンツ表示制御ステップにおいては、
前記オブジェクト識別処理ステップにおいて識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するステップを実行させるプログラムにある。
【0014】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【0015】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0016】
本開示の一実施例の構成によれば、仮想オブジェクトの表示領域とするターゲット領域の実オブジェクト種類に応じて表示する仮想オブジェクトの選択や表示態様変更を行う装置、方法が実現される。
具体的には、例えば、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別部と、実オブジェクトと仮想オブジェクトを重畳表示したAR画像を生成するコンテンツ表示制御部を有する。オブジェクト識別部は、仮想オブジェクトの表示領域とするターゲット領域の実オブジェクトを識別し、コンテンツ表示制御部は、オブジェクト識別結果に応じて表示する仮想オブジェクトを選択する処理や表示態様の変更処理を行う。
本構成により、仮想オブジェクトの表示領域とするターゲット領域の実オブジェクト種類に応じて表示する仮想オブジェクトの選択や表示態様変更を行う装置、方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【0017】
図1】本開示の画像処理装置の構成例と実行する処理について説明する図である。
図2】本開示の画像処理装置の実行する処理について説明する図である。
図3】本開示の画像処理装置の実行する処理について説明する図である。
図4】本開示の画像処理装置の実行する処理について説明する図である。
図5】本開示の画像処理装置の構成例と実行する処理について説明する図である。
図6】本開示の画像処理装置の構成例と実行する処理について説明する図である。
図7】本開示の画像処理装置の実行する処理について説明する図である。
図8】本開示の画像処理装置の実行する処理について説明する図である。
図9】本開示の画像処理装置の一構成例について説明する図である。
図10】空間マップデータのデータ構成例について説明する図である。
図11】クラス対応更新時間データのデータ構成例について説明する図である。
図12】クラス対応仮想オブジェクトデータのデータ構成例について説明する図である。
図13】本開示の画像処理装置の実行する処理のシーケンスについて説明するフローチャートを示す図である。
図14】本開示の画像処理装置の実行するターゲット領域決定処理のシーケンスについて説明するフローチャートを示す図である。
図15】本開示の画像処理装置の実行するターゲット領域決定処理のシーケンスについて説明するフローチャートを示す図である。
図16】本開示の画像処理装置の実行する処理のシーケンスについて説明するフローチャートを示す図である。
図17】本開示の画像処理装置の実行する処理のシーケンスについて説明するフローチャートを示す図である。
図18】本開示の画像処理装置のハードウェア構成例について説明する図である。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら本開示の画像処理装置、および画像処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
1.本開示の画像処理装置の実行する処理の概要について
2.本開示の画像処理装置の構成例について
3.本開示の画像処理装置の実行する処理のシーケンスについて
3-(1)画像処理装置の実行する基本処理シーケンス
3-(2)ターゲット領域の設定領域をほぼ水平な面に設定する処理のシーケンス
3-(3)実オブジェクト識別処理の更新シーケンス
4.画像処理装置のハードウェア構成例について
5.本開示の構成のまとめ
【0019】
[1.本開示の画像処理装置の実行する処理の概要について]
まず、図1以下を参照して、本開示の画像処理装置の実行する処理の概要について説明する。
【0020】
図1には、本開示の画像処理装置の一例として、ヘッド・マウント・ディスプレイ(HMD)型の光透過型AR画像表示デバイス10を示している。
ユーザは、ユーザの目を覆うようにヘッド・マウント・ディスプレイ(HMD)型の光透過型AR画像表示デバイス10を装着する。
【0021】
光透過型AR画像表示デバイス10は光透過型の表示部(ディスプレイ)を有する。光透過型の表示部(ディスプレイ)をユーザの目の前の位置に設定するようにユーザに装着される。
【0022】
ユーザは、光透過型AR画像表示デバイス10の光透過型の表示部(ディスプレイ)を介して外部の実オブジェクトをそのまま観察することができる。
さらに、光透過型の表示部(ディスプレイ)に、仮想オブジェクト、例えばキャラクタ画像等の仮想オブジェクト画像が表示される。
【0023】
ユーザは、光透過型AR画像表示デバイス10を介して外部の実オブジェクトとキャラクタ等の仮想オブジェクト画像を併せて観察することが可能となり、あたかもキャラクタ等の仮想オブジェクトが実世界状に存在するかのような感覚を体感することができる。
【0024】
図1の右側には、ユーザが、光透過型AR画像表示デバイス10を介して観察可能な画像の例を示している。
【0025】
(a)観察画像例1は、光透過型AR画像表示デバイス10を介して観察される外部の実オブジェクトからなる透過観察画像21によって構成されている。この画像例1には、仮想オブジェクトは表示されていない。
【0026】
一方、(b)観察画像例2は、光透過型AR画像表示デバイス10を介して観察される外部の実オブジェクトからなる透過観察画像21に併せて、キャラクタ画像等の仮想オブジェクト画像22を表示した画像例である。この画像例2は、ユーザが実オブジェクトと仮想オブジェクトを併せて観察可能な画像である。
【0027】
前述したように、実空間で観察可能な実オブジェクトや、実オブジェクトと画像に仮想オブジェクトを重畳して表示した画像を拡張現実(AR:Augumented Reality)画像と呼ぶ。
本開示の画像処理装置は、このAR画像の表示処理を行う装置である。
【0028】
本開示の画像処理装置、例えば図1に示す光透過型AR画像表示デバイス10は、AR画像表示における仮想オブジェクトの表示制御を実行する。
【0029】
本開示の画像処理装置、例えば図1に示す光透過型AR画像表示デバイス10の実行する具体的な処理は、例えば以下の処理である。
(a)自己位置推定と環境3次元マップ生成を行うSLAM(Simultaneous Localization and Mapping)処理等を適用して、ユーザが光透過型AR画像表示デバイス10を介して観察している実世界の3次元マップを生成する処理。
(b)セマンティック・セグメンテーション等のオブジェクト識別処理によって実世界に含まれるオブジェクトを識別する処理。
(c)実世界のオブジェクト識別結果に応じて、表示する仮想オブジェクト(キャラクタ等)を選択し、また仮想オブジェクトの表示態様を制御する処理。
本開示の画像処理装置は、例えばこれらの処理を実行する。
【0030】
図2以下を参照して、本開示の画像処理装置が実行する仮想オブジェクトの表示制御例について説明する。
【0031】
図2の左に示す図は、光透過型AR画像表示デバイス10を装着したユーザが公園を歩き回り、池の近くで、池の水面を見ながら、池の水面方向に「指さし」を行った状態を示している。
【0032】
光透過型AR画像表示デバイス10は、カメラを有しており、ユーザが指さしを行った画像を撮影し、撮影画像がデバイス内部の画像解析部を介して3次元マップ生成部に入力される。
画像解析部は撮影画像から特徴点を抽出し、3次元マップ生成部は、画像から抽出された特徴点を利用して実世界の3次元マップを生成する。
この3次元マップ生成処理は、例えば、SLAM(Simultaneous Localization and Mapping)処理によってリアルタイムで実行される。
【0033】
SLAM(Simultaneous Localization and Mapping)処理は、自己位置推定と環境3次元マップの生成を同時に並列して実行することを可能とした処理である。
【0034】
さらに、3次元マップ生成部が生成した3次元マップは、画像処理装置のオブジェクト識別部に入力される。
オブジェクト識別部は、3次元マップ生成部が生成した3次元マップを用いて、ユーザの指さし方向にある実オブジェクト領域をターゲット領域11として決定する。さらに、このターゲット領域11のオブジェクトを識別する。
【0035】
オブジェクト識別部は、例えば、セマンティック・セグメンテーション処理を適用して実世界のオブジェクトの識別処理を行う。
【0036】
セマンティック・セグメンテーションは、画像認識処理の一種であり、ディープラーニングを用いて画像中の物体が画素レベルで何かを認識するタスクを行う手法である。例えば様々な実際のオブジェクトの形状情報やその他の特徴情報を登録したオブジェクト識別用の辞書データ(学習済みデータ)と、例えばカメラ撮影画像内のオブジェクトとの一致度に基づいて、画像の構成画素(ピクセル)各々が、どのオブジェクトカテゴリに属する画素であるかを識別する技術である。
このセマンティック・セグメンテーションにより、カメラ撮影画像に含まれる様々なオブジェクト、例えば人、車、ビル、道路、木、池、芝生等、オブジェクトの種類を識別することができる。
【0037】
図2に示す例では、光透過型AR画像表示デバイス10の画像解析部は、カメラ撮影画像に基づいて、ユーザの指さし方向のターゲット領域11のオブジェクトが「池」であると判定する。
【0038】
さらに、光透過型AR画像表示デバイス10の仮想オブジェクト表示制御を実行するコンテンツ表示制御部は、ターゲット領域11のオブジェクト識別結果を入力し、オブジェクト識別結果に従って表示すべき仮想オブジェクト(キャラクタ等)の選択処理や表示態様を決定して表示する。
【0039】
図2に示す例では、図2右側の(b)観察画像例2に示すように、仮想オブジェクト画像22として、「水の妖精キャラクタ」の画像を表示する制御を行う。
これは、ユーザの指さし方向の実オブジェクトが、「池」であるとの解析結果に基づく表示制御である。
すなわち、コンテンツ表示制御部は、ターゲット領域11のオブジェクト識別結果=「池」に応じた最適な仮想オブジェクトとして、「水の妖精キャラクタ」を選択して表示する処理を行う。
なお、仮想オブジェクト画像22は、例えば3Dコンテンツ画像として表示する。
【0040】
図3は、本開示の画像処理装置が実行する異なる仮想オブジェクトの表示制御例を説明する図である。
図3の左に示す図も、図2と同様、光透過型AR画像表示デバイス10を装着したユーザが公園を歩き回っている図である。ユーザは、公園の芝生を見ながら、芝生方向に指さしを行っている。
【0041】
この場合、光透過型AR画像表示デバイス10のオブジェクト識別部は、カメラ撮影画像の解析により、ユーザの指さし方向であるターゲット領域11のオブジェクトが「芝生」であるとの解析結果を出力する。
【0042】
さらに、光透過型AR画像表示デバイス10のコンテンツ表示制御部は、ターゲット領域11のオブジェクト識別結果を入力し、オブジェクト識別結果に従って表示すべき仮想オブジェクト(キャラクタ等)の選択処理や表示態様を決定して表示する。
【0043】
図3に示す例では、図3右側の(b)観察画像例2に示すように、仮想オブジェクト画像23として、「草原の妖精キャラクタ」の画像を表示する制御を行う。
これは、ユーザの指さし方向の実オブジェクトが、「芝生」であるとの解析結果に基づく表示制御である。
すなわち、コンテンツ表示制御部は、ターゲット領域11のオブジェクト識別結果=「芝生」に応じた最適な仮想オブジェクトとして、「芝生の妖精キャラクタ」を選択して表示する処理を行う。
【0044】
図4は、本開示の画像処理装置が実行する異なる仮想オブジェクトの表示制御例を説明する図である。
図4の左に示す図も、図2図3と同様、光透過型AR画像表示デバイス10を装着したユーザが公園を歩き回っている図である。ユーザは、公園の木を見ながら、木の方向に指さしを行っている。
【0045】
この場合、光透過型AR画像表示デバイス10のオブジェクト識別部は、カメラ撮影画像の解析により、ユーザの指さし方向であるターゲット領域11のオブジェクトが「木」であるとの解析結果を出力する。
【0046】
さらに、光透過型AR画像表示デバイス10のコンテンツ表示制御部は、ターゲット領域11のオブジェクト識別結果を入力し、オブジェクト識別結果に従って表示すべき仮想オブジェクト(キャラクタ等)の選択処理や表示態様を決定して表示する。
【0047】
図4に示す例では、図4右側の(b)観察画像例2に示すように、仮想オブジェクト画像23として、「木の妖精キャラクタ」の画像を表示する制御を行う。
これは、ユーザの指さし方向の実オブジェクトが、「木」であるとの解析結果に基づく表示制御である。
すなわち、コンテンツ表示制御部は、ターゲット領域11のオブジェクト識別結果=「木」に応じた最適な仮想オブジェクトとして、「木の妖精キャラクタ」を選択して表示する処理を行う。
【0048】
このように、本開示の画像処理装置は、SLAM処理等を用いて実世界の3次元形状解析を行い、実世界の3次元マップを生成し、さらにセマンティック・セグメンテーション等のオブジェクト識別処理によって実世界の3次元マップ内のターゲット領域のオブジェクトを識別し、識別結果に応じて表示するキャラクタ等の仮想オブジェクトの表示制御を実行する。
【0049】
なお、セマンティック・セグメンテーション等のオブジェクト識別処理によって解析する実オブジェクトの対象は、例えば、ユーザの指によって指定された領域、すなわちターゲット領域のみに限定して処理を行うことが可能となる。このように、解析範囲を限定することにより高速処理が実現される。
【0050】
なお、本開示の画像処理装置は、図1を参照して説明したヘッド・マウント・ディスプレイ(HMD)型の光透過型AR画像表示デバイス10に限らず、様々な表示部を備えた装置によって構成することができる。
【0051】
例えば、図5に示すカメラ撮影画像表示型AR画像表示デバイス30としてもよい。図5に示すカメラ撮影画像表示型AR画像表示デバイス30は、非透過型の表示部(ディスプレイ)を有する。光透過型の表示部(ディスプレイ)は、ユーザによって観察可能なユーザの目の前の位置に設定されるようにユーザに装着される。
【0052】
カメラ撮影画像表示型AR画像表示デバイス30に一体化されたカメラ31の撮影画像、すなわち図5に示すカメラ撮影画像32がユーザの目の前の表示部に表示される。すなわちカメラ31が撮影する実オブジェクトの画像がユーザの目の前の表示部に表示され、ユーザは、カメラ撮影画像32を見ることで、外部の景色を確認することができる。
【0053】
さらに、表示部(ディスプレイ)には、仮想オブジェクト、例えばキャラクタ画像等の仮想オブジェクト画像22が表示される。
【0054】
ユーザは、カメラ撮影画像表示型AR画像表示デバイス30の表示部(ディスプレイ)に表示されるカメラ撮影画像32、すなわち実オブジェクト画像と、キャラクタ等の仮想オブジェクト画像22を併せて観察することが可能となり、あたかもキャラクタ等の仮想オブジェクトが実世界状に存在するかのような感覚を体感することができる。
【0055】
さらに、本開示の画像処理装置は、図6に示すようなスマホ40等の携帯型表示装置とすることも可能である。
【0056】
図6に示すスマホ40は、表示部を有し、カメラ41を有する。カメラ41の撮影画像、すなわち図に示すカメラ撮影画像42が表示部に表示される。すなわちカメラ41が撮影する実オブジェクトの画像が表示部に表示され、ユーザは、カメラ撮影画像を見ることで、外部の景色を確認することができる。
【0057】
さらに、表示部(ディスプレイ)には、仮想オブジェクト、例えばキャラクタ画像等の仮想オブジェクト画像が表示される。
【0058】
ユーザは、スマホ40の表示部(ディスプレイ)に表示されるカメラ撮影画像、すなわち実オブジェクト画像と、キャラクタ等の仮想オブジェクト画像を併せて観察することが可能となり、あたかもキャラクタ等の仮想オブジェクトが実世界状に存在するかのような感覚を体感することができる。
【0059】
なお、このスマホ40の例では、ユーザがスマホ40の表示部のある位置をタッチした場合に、画像処理装置(スマホ)の画像解析部が、タッチ位置を解析し、さらにタッチ位置の実オブジェクトの種類を判別する。その後、画像処理装置(スマホ)のコンテンツ表示制御部が、この判別結果に応じてキャラクタ等の仮想オブジェクトの表示制御を実行する。
【0060】
上述したように、本開示の画像処理装置は、仮想オブジェクトの表示位置となるターゲット領域にある実オブジェクトが水であるか、草であるか、木であるか等のオブジェクト識別を行い、識別結果に応じて表示するキャラクタ等の仮想オブジェクトを選択して表示する処理等を行う。
【0061】
さらに、本開示の画像処理装置は、ターゲット領域にある実オブジェクトの識別結果に応じた表示仮想オブジェクトの選択処理のみならず、実オブジェクト識別結果に応じてキャラクタ等の仮想オブジェクトの表示態様を変更する処理も実行する。
【0062】
図7以下を参照して、実オブジェクト識別結果に応じた仮想オブジェクトの表示態様の変更処理の具体例について説明する。
【0063】
図7には、本開示の画像処理装置の表示部に表示されるAR画像の一例として、実オブジェクトである池から仮想オブジェクト(キャラクタ)が飛び出すAR画像の表示例を示している。
【0064】
本開示の画像処理装置のコンテンツ表示制御部は、ターゲット領域に表示したキャラクタ等の仮想オブジェクトを予め設定されたプログラムに従って移動させる処理や動かす処理を行う。
図7に示す例は、ターゲット領域11に表示したキャラクタを上方向に移動させる表示を行う例を示している。
【0065】
図7(1)池から仮想オブジェクト(キャラクタ)が飛び出す瞬間-1は、仮想オブジェクト(キャラクタ)の上半分のみが水上に表示され、下半分が水中にある状態である。
このような状態では、画像処理装置のコンテンツ表示制御部は、図7(1)に示すように、水上の仮想オブジェクト画像50と、水中の仮想オブジェクト画像51を異なる表示態様で表示する。
すなわち、水上の仮想オブジェクト画像50については、通常の輪郭がはっきりした画像として表示するが、水中の仮想オブジェクト画像51については、水中に存在するように3次元的な歪みを持つ画像として表示する。
【0066】
さらに、画像処理装置のコンテンツ音声制御部は、キャラクタが水上に移動する際の効果音として、水の音(ピチャピチャ等)を、スピーカを介して出力する。
【0067】
図7(2)池から仮想オブジェクト(キャラクタ)が飛び出す瞬間-2は、図7(1)の後のAR画像表示例である。この時点では、仮想オブジェクト(キャラクタ)の全身が水上に表示されている。この状態では、水上の仮想オブジェクト画像50がキャラクタ全体の画像となり、画像処理装置のコンテンツ表示制御部は、キャラクタ全体画像を輪郭がはっきりした画像として表示する。
【0068】
図8は、実オブジェクトの識別結果に応じてキャラクタ等の仮想オブジェクト表示態様を変更する処理の別の具体例について説明する図である。
【0069】
図8には、本開示の画像処理装置の表示部に表示されるAR画像の一例として、仮想オブジェクト(キャラクタ)の影を表示したAR画像の表示例を示している。
すなわち、コンテンツ表示制御部がターゲット領域11にキャラクタを表示する際、キャラクタの影の表示も併せて実行する。
【0070】
図8に示す「(1)影の映る面が平面の場合のキャラクタの影の表示例」は、
仮想オブジェクト(キャラクタ)画像50の影の映る面が、室内の床や、外部の歩道等、平面である場合の影の表示例である。
このように仮想オブジェクト(キャラクタ)画像50の影の映る面が平面である場合、画像処理装置のコンテンツ表示制御部は、ターゲット領域11に3次元キャラクタである仮想オブジェクト画像50を表示する際、仮想オブジェクト画像50の影を示す仮想オブジェクト影画像52を輪郭がはっきりした画像として表示する。
【0071】
一方、図8「(2)影の映る面が非平面(砂場等)の場合のキャラクタの影の表示例は」、
仮想オブジェクト(キャラクタ)画像50の影の映る面が、例えば砂場等、平面でない場合の影の表示例である。
このように仮想オブジェクト(キャラクタ)画像50の影の映る面が砂場等、でこぼこのある面の場合、画像処理装置のコンテンツ表示制御部は、ターゲット領域11に3次元キャラクタである仮想オブジェクト画像50を表示する際、仮想オブジェクト画像50の影を示す仮想オブジェクト影画像52を輪郭がはっきりしない、でこぼこのある画像として表示する。
【0072】
このように、本開示の画像処理装置のコンテンツ表示制御部は、仮想オブジェクトを表示するターゲット領域の実オブジェクトの識別結果に応じて、仮想オブジェクトの表示態様も変更して表示する制御を行い、また、コンテンツ音声制御部はターゲット領域の実オブジェクトの識別結果に応じた効果音の出力制御を行う。
【0073】
[2.本開示の画像処理装置の構成例について]
次に、本開示の画像処理装置の構成例について説明する。
【0074】
前述したように、本開示の画像処理装置は、図1を参照して説明した光透過型AR画像表示デバイス10、あるいは図5を参照して説明したカメラ撮影画像表示型AR画像表示デバイス30、あるいは図6を参照して説明したスマホ40等の携帯型の表示装置等、様々な形態を持つ装置として実現することができる。
【0075】
図9は、これら様々な形態を取り得る本開示の画像処理装置の一構成例を示すブロック図である。
図9に示す画像処理装置100の構成について説明する。
【0076】
図9に示すように、画像処理装置100は、データ入力部110、データ処理部120、データ出力部130、通信部140を有する。
【0077】
データ入力部110は、外部撮影カメラ111、内部撮影カメラ112、モーションセンサ(ジャイロ、加速度センサ等)113、操作部114、マイク115を有する。
【0078】
データ処理部120は、外部撮影画像解析部121、3次元マップ生成部122、内部撮影画像解析部123、デバイス姿勢解析部124、音声解析部125、オブジェクト識別部126、空間マップデータ127、クラス対応更新時間データ128を有する。
【0079】
データ出力部130は、コンテンツ表示制御部131、コンテンツ音声制御部132、表示部133、スピーカ134、クラス対応仮想オブジェクトデータ(3Dモデル、音声データ等)135を有する。
【0080】
データ入力部110の外部撮影カメラ111は、外部の画像を撮影する。例えば、HMDを装着したユーザのいる環境における外の景色等を撮影する。スマホ等の携帯端末の場合はスマホ等に備えられたカメラである。
内部撮影カメラ112は、基本的にHMD固有の構成であり、ユーザの視線方向を解析するためのユーザの目の領域の画像を撮影する。
【0081】
モーションセンサ(ジャイロ、加速度センサ等)113は、例えばHMDやスマホ等、画像処理装置100本体の姿勢や動きを検出する。
モーションセンサジ113は、例えば、ジャイロ、加速度センサ、方位センサ、一測位センサ、慣性計測装置(IMU)等によって構成される。
【0082】
操作部114は、ユーザによって操作可能な操作部であり、例えばターゲット領域の入力や、その他の処理指示等の入力に利用される。
マイク115は、ユーザによる音声入力による指示の入力等に用いられる。また、外部の環境音の入力にも利用できる。
【0083】
次に、データ処理部120の構成部について説明する。
外部撮影画像解析部121は、外部撮影カメラ111によって撮影された外部の撮影画像を入力し、外部撮影画像から特徴点の抽出を行う。
この特徴点抽出処理は、3次元マップの生成に利用するための特徴点であり、抽出した特徴点情報は、外部撮影カメラ111によって撮影された外部の撮影画像とともに、3次元マップ生成部122に入力する。
【0084】
3次元マップ生成部122は、外部撮影カメラ111によって撮影された外部の撮影画像と、外部撮影画像解析部121が抽出した特徴点に基づいて、外部の実オブジェクトによって構成される3次元マップを生成する。
【0085】
この3次元マップ生成処理は、例えば、SLAM(Simultaneous Localization and Mapping)処理によってリアルタイム処理として実行する。
前述したように、SLAM(Simultaneous Localization and Mapping)処理は、自己位置推定と環境3次元マップの生成を同時に並列して実行することを可能とした処理である。
【0086】
3次元マップ生成部122の生成した外部環境の3次元マップデータは、オブジェクト識別部126に入力される。
【0087】
内部撮影画像解析部123は、内部撮影カメラ112の撮影したユーザの目の領域の画像に基づいてユーザの視線方向を解析する。この内部撮影画像解析部123も、前述した内部撮影カメラ112と同様、基本的にHMD固有の構成である。
内部撮影画像解析部123の解析したユーザ視線情報は、オブジェクト識別部126に入力される。
【0088】
デバイス姿勢解析部124は、モーションセンサ(ジャイロ、加速度センサ等)113によって計測されたセンサ検出情報に基づいて、HMDやスマホ等、画像処理装置100本体の姿勢や動きを解析する。
デバイス姿勢解析部124の解析した画像処理装置100本体の姿勢や動き情報は、オブジェクト識別部126に入力される。
【0089】
音声解析部125は、マイク115から入力するユーザ音声や環境音の解析を行う。解析結果は、オブジェクト識別部126に入力される。
【0090】
オブジェクト識別部126は、3次元マップ生成部122が生成した3次元マップを入力し、仮想オブジェクトの表示領域に設定するためのターゲット領域を決定し、さらに、決定したターゲット領域の実オブジェクトの識別処理を実行する。例えばターゲット領域が池である、木である等のオブジェクト識別処理を実行する。
【0091】
ターゲット領域の特定処理は、様々な方法によって実行可能である。
例えば、3次元マップに含まれるユーザの指の画像を用いて行うことが可能である。
ユーザの指さし方向の延長線と、3次元マップ上の実オブジェクトとの交点を求め、例えば、交点を中心とするあらかじめ規定した半径の円形領域をターゲット領域として決定する。
【0092】
なお、ターゲット領域の指定は、ユーザによる指さし以外の方法で行うことも可能である。オブジェクト識別部126は、ターゲット領域の決定に使用するための情報として、以下のいずれかの情報を利用することができる。
(a)内部撮影画像解析部123の解析したユーザ視線情報
(b)デバイス姿勢解析部124の解析した画像処理装置100本体の姿勢や動き情報
(c)操作部114を介して入力するユーザ操作情報
(d)音声解析部125が解析したユーザ音声情報
【0093】
「(a)内部撮影画像解析部123の解析したユーザ視線情報」を利用する場合、オブジェクト識別部126は、ユーザの視線方向の延長線と、3次元マップ上の実オブジェクトとの交点を求め、例えば、交点を中心とする所定半径の円形領域をターゲット領域として決定する。
【0094】
「(b)デバイス姿勢解析部124の解析した画像処理装置100本体の姿勢や動き情報」を利用する場合、オブジェクト識別部126は、ユーザによって装着されたHMD、あるいはユーザの持つスマホの前方方向の延長線と、3次元マップ上の実オブジェクトとの交点を求め、例えば、交点を中心とする所定半径の円形領域をターゲット領域として決定する。
【0095】
「(c)操作部114を介して入力するユーザ操作情報」を利用する場合、オブジェクト識別部126は、例えば画像処理装置100の入力部を介して入力されたユーザの操作情報に基づいてターゲット領域を決定する。
例えば、先に説明した図6に示すスマホを利用した構成において、ユーザの指による画面位置指定情報をユーザ操作情報として入力し、この指定位置をターゲッ領域の中心位置とするといった処理が可能である。
【0096】
なお、この他、操作部114として、画像処理装置100と別体の棒状の指示部材を用い、この指示部材の指示方向情報をオブジェクト識別部126に入力し、指示方向に基づいてターゲット領域を決定する構成としてもよい。
【0097】
「(d)音声解析部125が解析したユーザ音声情報」を利用する場合、オブジェクト識別部126は、例えばユーザによる発話を解析してターゲット領域を決定する。
例えば、ユーザ発話が「前の池」といった発話である場合、その色をターゲット領域として決定する。
【0098】
さらに、オブジェクト識別部126は、これら以外のターゲット領域決定処理を行ってもよい。例えば、外部撮影カメラ111によって撮影された画像に基づいて生成される3次元マップや、モーションセンサ113の検出情報に基づいて地面、床面、水面等の水平面の検出処理を実行し、撮影画像の中心領域に最も近い水平面の領域をターゲット領域として決定する処理を行ってもよい。
【0099】
また、例えばユーザが仮想的なボールを投げる動作を行い、これを外部撮影カメラ111によって撮影し、撮影画像を解析してボールの着地点を解析して、この着地点をターゲット領域の中心位置に設定するといった処理を行ってもよい。
【0100】
オブジェクト識別部126は、上述した方法のいずれかを用いて、仮想オブジェクト表示領域とするターゲット領域を決定する。さらに、決定したターゲット領域の実オブジェクトの識別処理を実行する。例えばターゲット領域が池である、木である等のオブジェクト識別処理を実行する。
【0101】
前述したように、この実オブジェクトのオブジェクト識別処理は、例えば、セマンティック・セグメンテーション処理を適用して実行する。
セマンティック・セグメンテーションは、様々な実際のオブジェクトの形状情報やその他の特徴情報を登録したオブジェクト識別用の辞書データ(学習済みデータ)と、例えばカメラ撮影画像内のオブジェクトとの一致度に基づいて、画像の構成画素(ピクセル)各々が、どのオブジェクトカテゴリに属する画素であるかを識別する技術である。
このセマンティック・セグメンテーションにより、カメラ撮影画像に含まれる様々なオブジェクト、例えば人、車、ビル、道路、木、池、芝生等、オブジェクトの種類を識別することができる。
【0102】
なお、オブジェクト識別部126において実行する実オブジェクトの識別処理は、ターゲット領域のみ、あるいはターゲット領域を含む周囲領域の限られた範囲のみを対象として実行する。このような限定範囲の処理を行うことで高速の処理、すなわちリアルタイム処理が可能となる。なお。リアルタイム処理とは、例えばユーザによるターゲット領域の指定後、即座に実オブジェクトの識別処理が実行されることを意味する。これにより、例えばユーザがターゲット領域を観察している間に時間遅れなくオブジェクト識別が完了する。
【0103】
オブジェクト識別部126が解析したターゲット領域の実オブジェクトの識別結果は、データ出力部130のコンテンツ表示制御部131と、コンテンツ音声制御部132に入力される。
【0104】
データ出力部130のコンテンツ表示制御部131は、オブジェクト識別部126からターゲット領域のオブジェクト識別結果を入力し、オブジェクト識別結果に従って表示すべき仮想オブジェクト(キャラクタ等)の選択処理や表示態様を決定して表示部133に表示する。
具体的には、例えば先に説明した図2図4図7図8に示すような仮想オブジェクト(キャラクタ等)の表示処理を実行する。
【0105】
データ出力部130のコンテンツ音声制御部132は、オブジェクト識別部126からターゲット領域のオブジェクト識別結果を入力し、オブジェクト識別結果に従って出力すべき音声を決定してスピーカ134を介して出力する。
具体的には、例えば先に説明した図7に示すように、実オブジェクトである池から仮想オブジェクトが現れる場合、水の音を出力する処理を実行する。
【0106】
なお、データ出力部130のコンテンツ表示制御部131と、コンテンツ音声制御部132は、クラス対応仮想オブジェクトデータ135に記録された仮装オブジェクトの3Dコンテンツや様々な音声データを取得してデータ出力を実行する。
【0107】
クラス対応仮想オブジェクトデータ135には、ターゲット領域の実オブジェクトの識別結果に相当する実オブジェクト種類(クラス)に対応づけられた表示用の仮装オブジェクトの3Dコンテンツや様々な音声データが記録されている。
クラス対応仮想オブジェクトデータ135の具体例については後述する。
【0108】
また、コンテンツ表示部131は、画像処理装置100が、例えば図5を参照して説明したカメラ撮影画像表示型AR画像表示デバイス30や、図6を参照して説明したスマホ40のようにカメラ撮影画像を表示する処理を行う構成の場合は、外部撮影カメラ11の撮影画像を入力して、この撮影画像に仮想オブジェクトを重畳させた表示画像を生成して表示部133に表示する。
【0109】
通信部140は、例えば外部サーバと通信し、仮想コンテンツであるキャラクタの3Dコンテンツを取得する。その他、データ処理に必要となる様々なデータやパラメータを外部サーバから取得する構成としてもよい。
【0110】
なお、オブジェクト識別部126は、ターゲット領域の実オブジェクトの識別処理を行う際、識別結果を空間マップデータ127として記憶部に格納する。
図10に、空間マップデータ127のデータ構成例を示す。
【0111】
図10に示すように、空間マップデータは以下の各データの対応データが格納される。
(a)タイムスタンプ(sec)
(b)位置情報
(c)クラス
(d)識別処理後経過時間(sec)
【0112】
(a)タイムスタンプ(sec)は、オブジェクト識別処理を実行した時間情報である。
(b)位置情報は、オブジェクト識別対象となった実オブジェクトの位置情報である。位置情報の記録方式は、様々な方式が利用可能である。図に示す例は、3次元座標(x,y,z)のリストによるメッシュとして記述した例である。この他、例えば、ターゲット領域の中心位置の位置情報を記録するといった構成とでもよい。
【0113】
(c)クラスは、オブジェクト識別結果としてのオブジェクト種類情報である。
(d)識別処理後経過時間(sec)は、オブジェクト識別処理の完了時からの経過時間である。
【0114】
なお、オブジェクト識別部126は、ターゲット領域が決定された直後に、ターゲット領域の実オブジェクトの識別処理を実行するが、その後も、その領域に対するオブジェクト識別処理を繰り返し実行し、図10に示す空間マップデータを、逐次、更新する。
【0115】
ただし、更新処理の間隔は、識別された実オブジェクトの種類(クラス)によって異なる。
この実オブジェクトの種類(クラス)によって異なる更新時間の規定データが、クラス対応更新時間データ128として予め登録されている。
図11に、クラス対応更新時間データ128のデータ例を示す。
【0116】
図11に示すように、クラス対応更新時間データ128は、以下の各データを対応付けたデータである。
(a)ID
(b)カテゴリ
(c)クラス
(d)更新時間(sec)
【0117】
(a)IDは、登録データの識別子である。
(b)カテゴリは、実オブジェクトの種類(クラス)のカテゴリである。
(c)クラスは、実オブジェクトの種類情報である。
(d)更新時間(sec)は、実オブジェクト識別処理の更新間隔を示す時間である。
【0118】
例えば、ID001のクラス(オブジェクト種類)=芝生の場合、更新時間は3600sec(=1時間)である。芝生のようなオブジェクトは、時間経過に伴う変化が少なく、更新時間が長く設定される。
一方、例えばID=004のクラス(オブジェクト種類)=影の場合、更新時間は2secである。影のようなオブジェクトは、時間経過に伴う変化が大きいため、更新時間が短く設定される。
【0119】
オブジェクト識別部126は、このクラス対応更新時間データ128のデータを参照して、識別したオブジェクトについて規定された時間間隔で、随時、オブジェクト識別処理を繰り返し、実行する。新たな識別処理によって検出された実オブジェクトは、図10を参照して説明した空間マップデータ127として、順次、登録する。
【0120】
また、前述したように、データ出力部130のコンテンツ表示制御部131と、コンテンツ音声制御部132は、クラス対応仮想オブジェクトデータ135に記録された仮装オブジェクトの3Dコンテンツや様々な音声データを取得してデータ出力を実行する。
【0121】
クラス対応仮想オブジェクトデータ135には、ターゲット領域の実オブジェクトの識別結果に相当する実オブジェクト種類(クラス)に対応づけられた表示用の仮装オブジェクトの3Dコンテンツや様々な音声データが記録されている。
図12を参照して、クラス対応仮想オブジェクトデータ135の具体例について説明する。
【0122】
図12に示すように、クラス対応仮想オブジェクトデータ135には、以下の各データが対応付けて記録されている。
(a)クラス
(b)仮想オブジェクト3Dモデル(キャラクタ3Dモデル)
(c)出力音声
【0123】
(a)クラスは、実オブジェクトの種類情報である。
(b)仮想オブジェクト3Dモデル(キャラクタ3Dモデル)は、各クラス、すなわちターゲット領域の実オブジェクトの種類に応じて出力(表示)する仮想オブジェクト(キャラクタ)の3Dモデルを登録している。なお、図に示す例では3DもでるのIDと、3Dモデルを併せて記録した構成としているが、例えばIDのみを記録し、IDに基づいて他のデータベースからID対応の3Dモデルを取得する構成としてもよい。
【0124】
(c)出力音声は、各クラス、すなわちターゲット領域の実オブジェクトの種類に応じて出力する音声データを登録している。
【0125】
このように、クラス対応仮想オブジェクトデータ135には、ターゲット領域の実オブジェクトの識別結果に相当する実オブジェクト種類(クラス)に対応づけられた表示用の仮装オブジェクトの3Dコンテンツや様々な音声データが記録されている。
【0126】
なお、クラス対応仮想オブジェクトデータ135には、さらに、各仮想オブジェクトの出力態様情報も記録されている。例えば先に図7図8を参照して説明したように、ターゲット領域の実オブジェクトが水である場合の表示態様情報や、砂場である場合の表示態様情報等の情報も記録されている。
【0127】
データ出力部130のコンテンツ表示制御部131と、コンテンツ音声制御部132は、この図12に示すようなデータを格納したクラス対応仮想オブジェクトデータ135に記録された仮装オブジェクトの3Dコンテンツや様々な音声データを取得してデータ出力を実行する。
【0128】
[3.本開示の画像処理装置の実行する処理のシーケンスについて]
次に、本開示の画像処理装置100の実行する処理のシーケンスについて説明する。
【0129】
なお、以下に示す複数の処理シーケンスについて、順次、説明する。
(1)画像処理装置の実行する基本処理シーケンス
(2)ターゲット領域の設定領域をほぼ水平な面に設定する処理のシーケンス
(3)実オブジェクト識別処理の更新シーケンス
【0130】
(3-(1)画像処理装置の実行する基本処理シーケンス)
まず、図13に示すフローチャートを参照して本開示の画像処理装置100の実行する基本的な処理のシーケンスについて説明する。
【0131】
なお、図13以下に示すフローチャートに従った処理は、主に画像処理装置100のデータ処理部120において実行される処理である。データ処理部120は、プログラム実行機能を持つCPUを備え、記憶部に格納されたプログラムに従ってフローに従った処理を実行する。
以下、図13に示すフローの各ステップの処理について説明する。
【0132】
(ステップS101)
まず、画像処理装置100のデータ処理部120は、ステップS101において、外部撮影カメラの撮影画像を入力する。
【0133】
(ステップS102)
次に、データ処理部120は、ステップS102において、入力した外部撮影カメラの撮影画像から特徴点を抽出する。
【0134】
この処理は、図9に示すデータ処理部120の外部撮影画像解析部121が実行する処理である。
外部撮影画像解析部121は、入力した外部撮影カメラの撮影画像から特徴点を抽出する。この特徴点抽出処理は、3次元マップの生成に利用するための特徴点であり、抽出した特徴点情報は、外部撮影カメラによって撮影された外部の撮影画像とともに、3次元マップ生成部122に入力する。
【0135】
(ステップS103)
次に、データ処理部は、ステップS103において、外部撮影カメラによって撮影された外部の撮影画像とその特徴点情報を利用して3次元マップを生成する。
【0136】
この処理は、図9に示すデータ処理部120の3次元マップ生成部122が実行する処理である。
【0137】
3次元マップ生成部122は、外部撮影カメラ111によって撮影された外部の撮影画像と、外部撮影画像解析部121が抽出した特徴点に基づいて、外部の実オブジェクトによって構成される3次元マップを生成する。
この3次元マップ生成処理は、例えば、SLAM(Simultaneous Localization and Mapping)処理によってリアルタイム処理として実行する。
【0138】
(ステップS104)
次に、データ処理部は、ステップS104において、ターゲット領域決定処理を実行する。
【0139】
この処理は、図9に示すデータ処理部120のオブジェクト識別部126が実行する処理である。
オブジェクト識別部126は、仮想オブジェクト表示領域とするターゲット領域を決定する。
【0140】
このターゲット領域の決定処理は、前述したように、様々な手法が適用可能である。
例えば、3次元マップに含まれるユーザの指の画像を用いて行うことが可能である。
すなわち、ユーザの指さし方向の延長線と、3次元マップ上の実オブジェクトとの交点を求め、例えば、交点を中心とするあらかじめ規定した半径の円形領域をターゲット領域として決定する。
【0141】
さらに、図9に示すデータ入力部110の各構成部からの入力情報を用いてターゲット領域を決定することも可能である。具体的には、以下の入力情報である。
(a)内部撮影画像解析部123の解析したユーザ視線情報
(b)デバイス姿勢解析部124の解析した画像処理装置100本体の姿勢や動き情報
(c)操作部114を介して入力するユーザ操作情報
(d)音声解析部125が解析したユーザ音声情報
例えば、これらの入力情報のいずれかを用いてターゲット領域を決定してもよい。
【0142】
代表的なターゲット領域の決定シーケンスについて、図14図15を参照して説明する。
【0143】
図14(1)は、ユーザの指さし方向の解析に基づくターゲット領域の決定シーケンスである。ユーザの指さし方向の解析に基づくターゲット領域決定処理は、以下の処理シーケンスで実行される。
まず、ステップS211で、ユーザの指さし方向を解析する。この解析処理は、3次元マップ生成部122の生成した3次元マップを利用して実行する。
【0144】
次に、ステップS212で、ユーザの指さし方向の延長線からなる直線と、実オブジェクトとの交点を検出する。この処理も3次元マップ生成部122の生成した3次元マップを利用して実行する。
【0145】
最後に、ステップS213において、ユーザの指さし方向の延長線からなる直線と、実オブジェクトとの交点を中心とする円形領域をターゲット領域として決定する。
なお、ターゲット領域の形状は任意であり、円形の他、矩形形状としてもよい。またターゲット領域の大きさも任意であり、様々な大きさに設定可能である。
ただし、形状、大きさは、事前に規定し、その規定に従ってターゲット領域を決定することが好ましい。
【0146】
図14(2)は、ユーザの視線方向解析に基づくターゲット領域の決定シーケンスである。ユーザ視線方向の解析に基づくターゲット領域決定処理は、以下の処理シーケンスで実行される。
まず、ステップS221で、ユーザの視線方向を解析する。この解析処理は、内部撮影カメラ112の撮影画像に基づいて、内部撮影画像解析部123が実行する。
【0147】
次に、ステップS222で、ユーザ視線方向の延長線からなる直線と、実オブジェクトとの交点を検出する。この処理は3次元マップ生成部122の生成した3次元マップを利用して実行する。
【0148】
最後に、ステップS223において、ユーザ視線方向の延長線からなる直線と、実オブジェクトとの交点を中心とする円形領域をターゲット領域として決定する。
なお、前述したように、ターゲット領域の形状、大きさはさまざまな設定が可能である。
【0149】
図15(3)は、ユーザの操作情報の解析に基づくターゲット領域の決定シーケンスである。ユーザ操作情報の解析に基づくターゲット領域決定処理は、以下の処理シーケンスで実行される。
まず、ステップS231で、ユーザの操作情報を解析する。例えば、先に図6を参照して説明したスマホに対するタッチ操作等である。
【0150】
次に、ステップS232で、ユーザ操作情報に基づく実オブジェクト指定位置を検出する。この処理は例えばユーザの指の接触位置の検出処理として実行される。
【0151】
最後に、ステップS233において、ユーザ操作情報に基づく実オブジェクト指定位置を中心とする円形領域をターゲット領域として決定する。
なお、前述したように、ターゲット領域の形状、大きさはさまざまな設定が可能である。
【0152】
図15(4)は、ユーザの音声情報の解析に基づくターゲット領域の決定シーケンスである。ユーザの音声情報の解析に基づくターゲット領域決定処理は、以下の処理シーケンスで実行される。
まず、ステップS241で、ユーザの発話音声を解析する。例えば、「前の池」等のユーザ発話音声を解析する。
【0153】
次に、ステップS242で、ユーザの音声情報に基づく実オブジェクト指定位置を検出する。
【0154】
最後に、ステップS243において、ユーザ発話音声に基づく実オブジェクト指定位置を中心とする円形領域をターゲット領域として決定する。
なお、前述したように、ターゲット領域の形状、大きさはさまざまな設定が可能である。
【0155】
図14図15を参照して説明した以外にも、例えば、以下のようなターゲット領域決定処理を行ってもよい。
(a)デバイス姿勢解析部124の解析した画像処理装置100本体の姿勢や動き情報を用いたターゲット領域決定処理。
(b)外部撮影カメラ111によって撮影された画像に基づいて生成される3次元マップや、モーションセンサ113の検出情報に基づいて地面、床面、水面等の水平面の検出処理を実行し、撮影画像の中心領域に最も近い水平面の領域をターゲット領域として決定する処理。
(c)ユーザが仮想的なボールを投げる動作を行い、これを外部撮影カメラ111によって撮影し、撮影画像を解析してボールの着地点を解析して、この着地点をターゲット領域の中心位置として決定する処理。
(d)その他、ユーザ動作、ユーザ視線、ユーザ操作、ユーザ位置、またはユーザ姿勢の少なくともいずれかを解析して、解析結果に基づいてターゲット領域を決定する処理。
【0156】
図13に示すフローに戻り、説明を続ける。
上述したように、画像処理装置100のデータ処理部120のオブジェクト識別部126は、ステップS104において、ターゲット領域決定処理を実行する。
【0157】
(ステップS105)
次に、データ処理部は、ステップS105において、ターゲット領域の実オブジェクトを識別する。
具体的には、ターゲット領域が池である、木である等のオブジェクト識別処理を実行する。
【0158】
前述したように、この実オブジェクトのオブジェクト識別処理は、例えば、セマンティック・セグメンテーション処理を適用して実行する。
セマンティック・セグメンテーションは、様々な実際のオブジェクトの形状情報やその他の特徴情報を登録したオブジェクト識別用の辞書データ(学習済みデータ)と、例えばカメラ撮影画像内のオブジェクトとの一致度に基づいて、画像の構成画素(ピクセル)各々が、どのオブジェクトカテゴリに属する画素であるかを識別する技術である。
【0159】
なお、オブジェクト識別部126において実行する実オブジェクトの識別処理は、ターゲット領域のみ、あるいはターゲット領域を含む周囲領域の限られた範囲のみを対象として実行する。このような限定範囲の処理を行うことで高速の処理、すなわちリアルタイム処理が可能となる。
【0160】
オブジェクト識別部126が解析したターゲット領域の実オブジェクトの識別結果は、データ出力部130のコンテンツ表示制御部131と、コンテンツ音声制御部132に入力される。
【0161】
(ステップS106)
次に、ステップS106において、識別されたターゲット領域の実オブジェクト(クラス)に基づいて、ターゲット領域に表示する仮想オブジェクトの種類と出力態様を決定する。
【0162】
この処理は、図9に示す画像処理装置100のデータ出力部130のコンテンツ表示制御部131、コンテンツ音声制御部132が実行する処理である。
データ出力部130のコンテンツ表示制御部131と、コンテンツ音声制御部132は、先に図12を参照して説明したデータを記録したクラス対応仮想オブジェクトデータ135を参照して、ターゲット領域に表示する仮想オブジェクトの種類と出力態様を決定する。
【0163】
すなわち、クラス対応仮想オブジェクトデータ135の各エントリから、ターゲット領域の実オブジェクト種類(クラス)を記録したエントリを選択し、そのエントリに記録された仮装オブジェクトを出力オブジェクトとして決定する処理等を実行する。
【0164】
(ステップS107)
最後に、ステップS107において、ステップS106で決定したターゲット領域に表示する仮想オブジェクトの種類と出力態様に従って仮想オブジェクトをターゲット領域に出力(表示)する。
【0165】
この処理も、図9に示す画像処理装置100のデータ出力部130のコンテンツ表示制御部131、コンテンツ音声制御部132が実行する処理である。
【0166】
コンテンツ表示制御部131は、オブジェクト識別部126からターゲット領域のオブジェクト識別結果を入力し、オブジェクト識別結果に従って表示すべき仮想オブジェクト(キャラクタ等)の選択処理や表示態様を決定して表示部133に表示する。
具体的には、例えば先に説明した図2図4図7図8に示すような仮想オブジェクト(キャラクタ等)の表示処理を実行する。
【0167】
また、コンテンツ音声制御部132は、オブジェクト識別部126からターゲット領域のオブジェクト識別結果を入力し、オブジェクト識別結果に従って出力すべき音声を決定してスピーカ134を介して出力する。
具体的には、例えば先に説明した図7に示すように、実オブジェクトである池から仮想オブジェクトが現れる場合、水の音を出力する処理を実行する。
【0168】
(3-(2)ターゲット領域の設定領域をほぼ水平な面に設定する処理のシーケンス)
次に、図16に示すフローチャートを参照して、ターゲット領域の設定領域をほぼ水平な面に設定する処理のシーケンスについて説明する。
【0169】
キャラクタ等の仮想オブドェクトを実世界の実オブジォクト上に表示する場合、屋外であれば地面の上、室内であれば床の上に表示すれば、より自然なキャラクタ表示が可能となり、ユーザにキャラクタが実際に実世界に存在するような感覚を与えることが可能となる。
【0170】
このためには、キャラクタである仮想オブジェクトの出力領域となるターゲット領域を地面の上や床の上等、ほぼ水平な面に設定する制御を行うことが有効である。
図16に示すフローチャートは、このような処理を実行する画像処理装置100の処理シーケンスを説明するフローチャートである。
以下、図16に示すフローチャートの各ステップの処理について説明する。
【0171】
なお、図16に示すフローチャートのステップS101~S103とステップS105~S107の処理は、先に図13を参照して説明した基本処理フローの各ステップの処理と同様の処理である。
【0172】
図16に示すフローのステップS301~S303の処理と、ステップS104の処理が先に説明した図13に示すフローと異なる点である。
この各ステップの処理について説明する。
【0173】
(ステップS301)
ステップS301は、図9に示す画像処理装置100のデータ入力部110のモーションセンサ113から、データ処理部120のデバイス姿勢解析部124にセンサ検出情報を入力する処理である。
【0174】
先に図9を参照して説明したように、モーションセンサ113は、ジャイロ、加速度センサ等を有し、例えばHMDやスマホ等、画像処理装置100本体の姿勢や動きを検出するセンサである。
このモーションセンサ113から、データ処理部120のデバイス姿勢解析部124にセンサ検出情報が入力される。
【0175】
(ステップS302)
次に、ステップS302において、モーションセンサ検出情報に基づいて重力方向を推定する。
【0176】
この処理は、図9に示すデータ処理部120のデバイス姿勢解析部124が実行する処理である。
データ処理部120のデバイス姿勢解析部124は、モーションセンサ113を構成するジャイロや、加速度センサ等のセンサ検出情報を用いて、重力方向を算出する。
【0177】
(ステップS303)
次に、ステップS303において、水平面領域の検出処理を行う。
この処理は、図9に示すオブジェクト識別部126が実行する処理である。
【0178】
オブジェクト識別部126は、3次元マップ生成部122の生成した3次元マップと、デバイス姿勢解析部124から入力した重力方向情報を用いて、3次元マップ内の水平面領域を検出する。具体的には例えば地面や床面等を検出する。
なお、検出する水平面領域は、完全な水平面に限定されず、ほぼ水平な領域とすればよい。
【0179】
例えばある程度のでこぼこや、ある程度の勾配を持つ坂道等も水平面領域であると判定して検出する。
どの程度のでこぼこや傾斜を水平面領域として許容するかについては、事前に設定することが可能である。
【0180】
(ステップS104)
次に、データ処理部は、ステップS104において、ターゲット領域決定処理を実行する。
ただし、本処理例では、ターゲット領域は、ステップS303において検出した水平面領域からのみ選択するものとする。
【0181】
この処理は、図9に示すデータ処理部120のオブジェクト識別部126が実行する処理である。
オブジェクト識別部126は、仮想オブジェクト表示領域とするターゲット領域をステップS303において検出した水平面領域内に限定して決定する。
【0182】
このターゲット領域の決定処理は、前述したように、様々な手法が適用可能である。
例えば、3次元マップに含まれるユーザの指の画像を用いて行うことが可能である。
すなわち、ユーザの指さし方向の延長線と、3次元マップ上の実オブジェクトであり、地面や床面等の水平面と判定された水平面領域との交点を求め、この水平面との交点を中心とするあらかじめ規定した半径の円形領域をターゲット領域として決定する。
【0183】
なお、ターゲット領域の決定に利用するデータは、先に図13を参照して説明したと同様、様々な情報を利用することが可能である。例えば、以下の入力情報をもちいる構成としてもよい。
(a)内部撮影画像解析部123の解析したユーザ視線情報
(b)デバイス姿勢解析部124の解析した画像処理装置100本体の姿勢や動き情報
(c)操作部114を介して入力するユーザ操作情報
(d)音声解析部125が解析したユーザ音声情報
例えば、これらの入力情報のいずれかを用いてターゲット領域を決定してもよい。
【0184】
ステップS101~S103の処理とステップS105以下の処理は、先に説明した図13に示すフローチャートと同様の処理となる。
【0185】
本処理例では、キャラクタである仮想オブジェクトの出力領域となるターゲット領域を地面の上や床の上等、ほぼ水平な面に設定する制御を行うことが可能となる。
これにより、キャラクタ等の仮想オブドェクトを実世界の実オブジォクト上に表示する場合、屋外であれば地面の上、室内であれば床の上等、水平面領域に接するように表示することが可能となり、より自然なキャラクタ表示が可能となり、ユーザにキャラクタが実際に実世界に存在するような感覚を与えることが可能となる。
【0186】
(3-(3)実オブジェクト識別処理の更新シーケンス)
次に、オブジェクト識別部が実行する実オブジェクト識別処理の更新シーケンスについて説明する。
【0187】
先に図10図11等を参照して説明したように、図9に示す画像処理装置100のデータ処理部120内のオブジェクト識別部126は、ターゲット領域が決定された直後に、ターゲット領域の実オブジェクトの識別処理を実行するが、その後も、その領域に対するオブジェクト識別処理を繰り返し実行し、図10に示す空間マップデータを、逐次、更新する。
【0188】
ただし、更新処理の間隔は、識別された実オブジェクトの種類(クラス)によって異なる。
この実オブジェクトの種類(クラス)によって異なる更新時間の規定データは、クラス対応更新時間データ128として予め登録されている。
クラス対応更新時間データ128は、先に図11を参照して説明したように以下の各データを対応付けたデータである。
(a)ID
(b)カテゴリ
(c)クラス
(d)更新時間(sec)
【0189】
(a)IDは、登録データの識別子である。
(b)カテゴリは、実オブジェクトの種類(クラス)のカテゴリである。
(c)クラスは、実オブジェクトの種類情報である。
(d)更新時間(sec)は、実オブジェクト識別処理の更新間隔を示す時間である。
【0190】
例えば、ID001のクラス(オブジェクト種類)=芝生の場合、更新時間は3600sec(=1時間)である。芝生のようなオブジェクトは、時間経過に伴う変化が少なく、更新時間が長く設定される。
一方、例えばID=004のクラス(オブジェクト種類)=影の場合、更新時間は2secである。影のようなオブジェクトは、時間経過に伴う変化が大きいため、更新時間が短く設定される。
【0191】
オブジェクト識別部126は、このクラス対応更新時間データ128のデータを参照して、識別したオブジェクトについて規定された時間間隔で、随時、オブジェクト識別処理を繰り返し、実行する。新たな識別処理によって検出された実オブジェクトは、図10を参照して説明した空間マップデータ127として、順次、登録する。
【0192】
図17に示すフローチャートは、このオブジェクト識別処理の繰り返し実行シーケンスを含む処理を説明するフローチャートである。
以下、図17に示すフローチャートの各ステップの処理について説明するる
【0193】
なお、図17に示すフローチャートのステップS101~S105の処理と、ステップS106~S107の処理は、先に図13を参照して説明した基本処理フローの各ステップの処理と同様の処理である。
【0194】
図17に示すフローのステップS401とステップS402の処理が先に説明した図13に示すフローと異なる点である。
この各ステップの処理について説明する。
【0195】
(ステップS401)
ステップS101~S105において、ターゲット領域の決定と、ターゲット領域の実オブジェクト(クラス)の識別処理が実行された後、ステップS401の処理を実行する。
【0196】
ステップS401では、ステップS105において実行されたターゲット領域のオブジェクト識別結果を空間マップデータに記録する。
【0197】
空間マップデータは、先に図10を参照して説明したように、以下の各データの対応データを格納している。
(a)タイムスタンプ(sec)
(b)位置情報
(c)クラス
(d)識別処理後経過時間(sec)
【0198】
(a)タイムスタンプ(sec)は、オブジェクト識別処理を実行した時間情報である。
(b)位置情報は、オブジェクト識別対象となった実オブジェクトの位置情報である。
(c)クラスは、オブジェクト識別結果としてのオブジェクト種類情報である。
(d)識別処理後経過時間(sec)は、オブジェクト識別処理の完了時からの経過時間である。
【0199】
ステップS401では、ステップS105において識別したターゲット領域の実オブジェクトについて、これらの各データを空間マップデータに登録する。
【0200】
(ステップS106~S107)
ステップS106~S107の処理は、先に図13を参照して説明した処理と同様の処理である。すなわち、以下の処理を実行する。
【0201】
ステップS106において、識別されたターゲット領域の実オブジェクト(クラス)に基づいて、ターゲット領域に表示する仮想オブジェクトの種類と出力態様を決定する。
ステップS107において、ステップS106で決定したターゲット領域に表示する仮想オブジェクトの種類と出力態様に従って仮想オブジェクトをターゲット領域に出力(表示)する。
【0202】
(ステップS402)
さらに、ステップS107の処理後、ステップS402において、ステップS105において実行したターゲット領域の実オブジェクトの識別処理後の経過時間が、図11を参照して説明したクラス対応更新時間データに規定された「(d)更新時間」を超えたか否かを判定する。
【0203】
超えたと判定した場合、ステップS101に戻り、ステップS101以下の処理を繰り返し、実行する。
すなわち、再度、ターゲット領域の決定、ターゲット領域の実オブジェクト識別処理を実行する。
【0204】
この処理において、ターゲット領域の位置が変更されていなければ、同じ位置のターゲット領域で実オブジェクト識別が再度実行される。
一方、ターゲット領域の位置が変更されていれば、新たな位置のターゲット領域で実オブジェクト識別が実行される。
【0205】
これらの処理を行うことで、ターゲット領域の更新処理や、実オブジェクトの識別結果の更新処理を即座に行うことが可能となり、ユーザの動きや指示に応じたタイムリな仮想ブジェクト表示処理を行うことが可能となる。
【0206】
[4.画像処理装置のハードウェア構成例について]
次に、上述した実施例に従った処理を実行する画像処理装置のハードウェア構成例について、図18を参照して説明する。
図18に示すハードウェアは、図9を参照して説明した本開示の画像処理装置100のハードウェア構成の一例である。
図18に示すハードウェア構成について説明する。
【0207】
CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
【0208】
CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種センサ、カメラ、スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続されている。
【0209】
入出力インタフェース305に接続されている記憶部308は、例えばハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部、さらに放送波の送受信部として機能し、外部の装置と通信する。
【0210】
入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
【0211】
[5.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0212】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 実世界上の実オブジェクトの識別処理を実行するオブジェクト識別部と、
実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御部を有し、
前記オブジェクト識別部は、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行し、
前記コンテンツ表示制御部は、
前記オブジェクト識別部において識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択する画像処理装置。
【0213】
(2) 前記オブジェクト識別部は、
画像認識処理によりオブジェクト識別処理を実行する(1)に記載の画像処理装置。
【0214】
(3) 前記オブジェクト識別部は、
セマンティック・セグメンテーション処理を適用してオブジェクト識別処理を実行する(2)に記載の画像処理装置。
【0215】
(4) 前記オブジェクト識別部は、
前記仮想オブジェクトの表示領域とするターゲット領域を決定し、決定したターゲット領域の実オブジェクトの識別処理を実行する(1)~(3)いずれかに記載の画像処理装置。
【0216】
(5) 前記オブジェクト識別部は、
前記ターゲット領域をユーザ動作、ユーザ視線、ユーザ操作、ユーザ位置、またはユーザ姿勢の少なくともいずれかに基づいて決定する(4)に記載の画像処理装置。
【0217】
(6) 前記オブジェクト識別部は、
前記ターゲット領域を水平面領域から選択して決定する(4)または(5)に記載の画像処理装置。
【0218】
(7) 前記コンテンツ表示制御部は、
前記仮想オブジェクトを前記水平面領域に接するように表示する(6)に記載の画像処理装置。
【0219】
(8) 前記オブジェクト識別部は、
前記オブジェクト識別処理をリアルタイム処理として実行する(1)~(7)に記載の画像処理装置。
【0220】
(9) 前記オブジェクト識別部は、
オブジェクト種類に応じて予め規定された時間間隔でオブジェクト識別処理を繰り返し実行する(1)~(8)いずれかに記載の画像処理装置。
【0221】
(10) 前記画像処理装置は、
カメラ撮影画像に基づく実世界の3次元マップを生成する3次元マップ生成部を有し、
前記オブジェクト識別部は、
前記3次元マップを利用して前記仮想オブジェクトの表示領域とするターゲット領域を決定する(1)~(9)いずれかに記載の画像処理装置。
【0222】
(11) 前記3次元マップ生成部は、
SLAM(Simultaneous Localization and Mapping)処理により、実世界の3次元マップを生成する(10)に記載の画像処理装置。
【0223】
(12) 前記コンテンツ表示制御部は、
前記オブジェクト識別部において識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するとともに、
前記オブジェクト識別結果に応じて、表示する仮想オブジェクトの表示態様も制御する(1)~(11)いずれかに記載の画像処理装置。
【0224】
(13) 前記画像処理装置は、さらに、
音声出力制御を実行するコンテンツ音声制御部を有し、
前記コンテンツ音声制御部は、
前記オブジェクト識別部において識別されたオブジェクト識別結果に応じて出力する音声を決定して出力する(1)~(12)いずれかに記載の画像処理装置。
【0225】
(14) 画像処理装置において実行する画像処理方法であり、
オブジェクト識別部が、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別処理ステップを実行し、
コンテンツ表示制御部が、実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御ステップを実行し、
前記オブジェクト識別処理ステップは、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行するステップであり、
前記コンテンツ表示制御ステップは、
前記オブジェクト識別処理ステップにおいて識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するステップを実行する画像処理方法。
【0226】
(15) 画像処理装置において画像処理を実行させるプログラムであり、
オブジェクト識別部に、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別処理ステップを実行させ、
コンテンツ表示制御部に、実オブジェクトと仮想オブジェクトを重畳表示したAR(Augumented Reality)画像を生成するコンテンツ表示制御ステップを実行させ、
前記オブジェクト識別処理ステップにおいては、
前記仮想オブジェクトの表示領域の実オブジェクトを識別するオブジェクト識別処理を実行させ、
前記コンテンツ表示制御ステップにおいては、
前記オブジェクト識別処理ステップにおいて識別されたオブジェクト識別結果に応じて表示する仮想オブジェクトを選択するステップを実行させるプログラム。
【0227】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0228】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0229】
以上、説明したように、本開示の一実施例の構成によれば、仮想オブジェクトの表示領域とするターゲット領域の実オブジェクト種類に応じて表示する仮想オブジェクトの選択や表示態様変更を行う装置、方法が実現される。
具体的には、例えば、実世界上の実オブジェクトの識別処理を実行するオブジェクト識別部と、実オブジェクトと仮想オブジェクトを重畳表示したAR画像を生成するコンテンツ表示制御部を有する。オブジェクト識別部は、仮想オブジェクトの表示領域とするターゲット領域の実オブジェクトを識別し、コンテンツ表示制御部は、オブジェクト識別結果に応じて表示する仮想オブジェクトを選択する処理や表示態様の変更処理を行う。
本構成により、仮想オブジェクトの表示領域とするターゲット領域の実オブジェクト種類に応じて表示する仮想オブジェクトの選択や表示態様変更を行う装置、方法が実現される。
【符号の説明】
【0230】
10 光透過型AR画像表示デバイス
11 ターゲット領域
21 透過観察画像
22~24 仮想オブジェクト画像
30 カメラ撮影画像表示型AR画像表示デバイス
31 カメラ
32 カメラ撮影画像
40 スマホ
41 カメラ
42 カメラ撮影画像
50 水上の仮想オブジェクト画像
51 水中の仮想オブジェクト画像
52 仮想オブジェクト画像
53,54 仮想オブジェクト影画像
100 画像処理装置
110 データ入力部
111 外部撮影カメラ
112 内部撮影カメラ
113 モーションセンサ(ジャイロ、加速度センサ等)
114 操作部
115 マイク
120 データ処理部
121 外部撮影画像解析部
122 3次元マップ生成部
123 内部撮影画像解析部
124 デバイス姿勢解析部
125 音声解析部
126 オブジェクト識別部
127 空間マップデータ
128 クラス対応更新時間データ
130 データ出力部
131 コンテンツ表示制御部
132 コンテンツ音声制御部
133 表示部
134 スピーカ
135 クラス対応仮想オブジェクトデータ(3Dモデル、音声データ等)
140 通信部
301 CPU
302 ROM
303 RAM
304 バス
305 入出力インタフェース
306 入力部
307 出力部
308 記憶部
309 通信部
310 ドライブ
311 リムーバブルメディア
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18