(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023145551
(43)【公開日】2023-10-11
(54)【発明の名称】画像処理装置と、その処理方法、プログラム
(51)【国際特許分類】
H04N 23/68 20230101AFI20231003BHJP
H04N 23/60 20230101ALI20231003BHJP
H04N 13/293 20180101ALI20231003BHJP
H04N 13/344 20180101ALI20231003BHJP
H04N 13/366 20180101ALI20231003BHJP
G06T 19/00 20110101ALI20231003BHJP
【FI】
H04N23/68
H04N23/60 500
H04N13/293
H04N13/344
H04N13/366
G06T19/00 600
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023117247
(22)【出願日】2023-07-19
(62)【分割の表示】P 2022068056の分割
【原出願日】2017-07-31
(71)【出願人】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(71)【出願人】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(74)【代理人】
【識別番号】100227857
【弁理士】
【氏名又は名称】中山 圭
(72)【発明者】
【氏名】兜 雅之
(72)【発明者】
【氏名】入口 浩一
(57)【要約】 (修正有)
【課題】体験者の状態により合成画像のブレ補正を制御し、使い勝手のよい画像処理装置及びプログラムを提供する。
【解決手段】画像処理装置(PC100)は、体験者の視点に係る位置姿勢に応じて表示される仮想物体(CGモデル130等)の画像を合成した合成画像を生成する生成部と、前記生成手段により生成された合成画像を体験者の利用する第1表示装置(HMD101)に出力する第1出力部と、前記合成画像を用いてブレ補正された合成画像を第2表示装置160に出力する第2出力部とを備え、前記第2出力部は、体験者の位置に基づき、ブレ補正に係る条件を満たす場合に、前記生成部により生成された合成画像を第2表示装置(外部ディスプレイ160)に出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
体験者の視点に係る位置姿勢に応じて表示される仮想物体の画像を合成した合成画像を生成する生成手段と、 前記生成手段により生成された合成画像を体験者の利用する第1表示装置に出力する第1出力手段と、 前記合成画像を用いてブレ補正された合成画像を第2表示装置に出力する第2出力手段とを備え、 前記第2出力手段は、体験者の位置に基づき、ブレ補正に係る条件を満たす場合に、前記生成手段により生成された合成画像を第2表示装置に出力することを特徴とする画像処理装置。
【請求項2】
前記体験者の位置に基づきブレ補正に係る条件を満たし、前記生成手段により生成された合成画像を第2表示装置に出力する場合に、ブレ補正がされていないこと通知する通知手段
を更に備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
ブレ補正に係る条件とは、ブレ補正を解除する条件であって、体験者の位置と対象物との距離であることを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記第2出力手段は、対象物との距離を満たさない場合に、ブレ補正された合成画像を第2表示装置に出力し、対象物との距離を満たさない場合に、ブレ補正を解除して前記生成手段により生成された合成画像を第2表示装置に出力することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
体験者の視点に係る位置姿勢に応じて表示される仮想物体の画像を合成した合成画像を生成する生成ステップと、 前記生成ステップにより生成された合成画像を体験者の利用する第1表示装置に出力する第1出力ステップと、 前記合成画像を用いてブレ補正された合成画像を第2表示装置に出力する第2出力ステップとを実行し、 前記第2出力ステップは、体験者の位置に基づき、ブレ補正に係る条件を満たす場合に、前記生成ステップにより生成された合成画像を第2表示装置に出力することを特徴とする画像処理装置の処理方法。
【請求項6】
画像処理装置を 体験者の視点に係る位置姿勢に応じて表示される仮想物体の画像を合成した合成画像を生成する生成手段と、 前記生成手段により生成された合成画像を体験者の利用する第1表示装置に出力する第1出力手段と、 前記合成画像を用いてブレ補正された合成画像を第2表示装置に出力する第2出力手段として機能させ、 前記第2出力手段を、体験者の位置に基づき、ブレ補正に係る条件を満たす場合に、前記生成手段により生成された合成画像を第2表示装置に出力させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、合成画像のブレ補正に係る技術に関するものである。
【背景技術】
【0002】
近年、複合現実(Mixed Reality/以下、MRと記載)の技術が普及している。複合現実の技術を用いることで、ヘッドマウントディスプレイ(以下、HMD)を装着したユーザに対し、現実画像にCGモデルを配置した複合現実画像を提供し、現実と仮想を複合した複合現実の世界(複合現実空間)を体験させることができる。複合現実画像を生成するにあたり、HMDの位置とCGモデルの位置とを、センサや二次元マーカを用いて特定する手法が取られている。
【0003】
特許文献2には、客観カメラにより撮影された体験者を含む画像と、体験者が体験している際に映し出されるCG画像と、を合成して、ディスプレイに表示する技術が開示されている。
【0004】
このように、単に体験者に画像を表示するばかりでなく、体験者が見ている画像や、体験者の体験状態を映し出すことが一般的に行われている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003-308514号公報
【特許文献2】特開2015-170232号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、MRでは、体験者の見ている映像を外部ディスプレイに表示(体験者のHMDに表示されている映像と同じ映像を表示)して、体験していない人が外部から確認することがある。
【0007】
この場合、体験者は移動しているため、HMDで撮影した現実画像(動画)はブレが大きくなる(多くのブレが発生する)。体験者は自分の動きに合わせてHMDに現実画像を用いて生成されたMR画像が表示されるため、ブレとなるような表示があっても違和感がないものの、体験していない人は自分の動きとは関係ない映像(ブレのある映像)を外部ディスプレイで見ているため気分がわるくなる(酔いやすい)ということが発生する。
【0008】
特に、外部ディスプレイは大型のディスプレイを用いていることが多く、よりブレが大きく感じることがあり、HMDに表示している映像は体験していない人には適さないという問題があった。
【0009】
一方、体験していない人であっても、体験者の実際の作業状態を見る必要が場合(検証作業などの場合)、体験者のHMDで表示している映像をそのまま見る必要があるため一律にブレを制御することにも問題がある。
【0010】
そこで、本発明は、体験者の状態により合成画像のブレ補正を制御し、使い勝手のよい仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の目的を達成するための画像処理装置は、体験者の視点に係る位置姿勢に応じて表示される仮想物体の画像を合成した合成画像を生成する生成手段と、前記生成手段により生成された合成画像を体験者の利用する第1表示装置に出力する第1出力手段と、前記合成画像を用いてブレ補正された合成画像を第2表示装置に出力する第2出力手段とを備え、前記第2出力手段は、体験者の位置に基づき、ブレ補正に係る条件を満たす場合に、前記生成手段により生成された合成画像を第2表示装置に出力することを特徴とする。
【発明の効果】
【0012】
本発明により、体験者の状態により合成画像のブレ補正を制御し、使い勝手のよい仕組みを提供することができる。
【図面の簡単な説明】
【0013】
【
図2】HMD101及びPC100のそれぞれのハードウェア構成例を示すブロック図。
【
図4】PC100のモジュール構成例を示すブロック図。
【
図5】HMD101、PC100、外部ディスプレイ160が行う処理のフローチャート。
【
図6】ステップS510における処理のフローチャート。
【
図7】外部メモリ211に保持される情報の構成例を示す図。
【
図8】外部ディスプレイ160のブレ補正時の表示例を示す図。
【
図9】外部ディスプレイ160のブレ補正解除時の表示例を示す図。
【発明を実施するための形態】
【0014】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
【0015】
本実施形態に係るシステムは、現実空間と仮想空間との合成空間である複合現実空間を、HMD等の頭部装着型表示装置や、頭部装着型表示装置は別個に設けられた表示装置に対して提示する複合現実感提示システムである。先ず、本実施形態に係るシステムの概要について、
図1を用いて説明する。
【0016】
ユーザの頭部にはHMD101が装着されており、HMD101の表示画面には、画像処理装置としてのPC100から出力される複合現実空間の画像が表示される。ユーザはHMD101の表示画面に表示される複合現実空間の画像を観察することで複合現実空間を体験する。
【0017】
また、本実施形態において、体験しているユーザは複数人(体験者A、体験者B)いるものとして説明する。
【0018】
HMD101には、光学式センサ104で検知可能(計測可能)な光学式マーカ103が取り付けられており、光学式センサ104による光学式マーカ103の計測結果はPC100に送出される。
図1では図示を簡略化するために、光学式センサ104の数を1としているが、実際には複数の光学式センサ104を配置する。PC100は光学式センサ104による光学式マーカ103の計測結果に基づいて光学式マーカ103の位置姿勢を求める。光学式センサ104による光学式マーカ103の計測結果に基づいて該光学式マーカ103の位置姿勢を求めるための技術については周知であるため、該技術に係る詳細な説明は省略する。そしてPC100は、例えばHMD101に備わっているカメラをユーザの視点(ユーザ視点)とする場合には、予め求めた「ユーザ視点と光学式マーカ103との間の相対的な位置姿勢関係」を用いて、光学式マーカ103の位置姿勢をユーザ視点の位置姿勢に変換する。
【0019】
なお、ユーザ視点の位置姿勢を取得する方法は特定の方法に限らない。例えば、ユーザ視点の位置姿勢を得るために用いる位置姿勢計測用センサは光学式センサ104に限らず、磁気センサ、超音波センサなど他の種類の位置姿勢計測用センサを用いてユーザ視点の位置姿勢を取得するようにしても良い。また、現実空間中に配されている二次元マーカ102をHMD101に備わっているカメラにより撮像し、該撮像により得られる撮像画像を用いてユーザ視点の位置姿勢を求めても良い。また、位置姿勢計測用センサと2次元マーカとを併用してユーザ視点の位置姿勢を取得するようにしても良い。
【0020】
そしてPC100は、CGモデル130等の仮想物体を生成して仮想空間中に配置し、ユーザ視点から見た仮想物体の画像を生成する。そしてPC100は、この生成した仮想物体の画像と、HMD101が有するカメラにより撮像された現実空間の画像と、を合成した合成画像を複合現実空間の画像として生成し、該生成した複合現実空間の画像をHMD101に対して送出する。これによりユーザは、自身の視点の位置姿勢に応じた複合現実空間の画像を眼前に観察することができる。
【0021】
また、現実空間には、ユーザが複合現実空間を体験している際の映像を表示する外部ディスプレイ160が配されている。この外部ディスプレイ160は、体験していないユーザにより体験者の映像を確認するために用いられる。
【0022】
本実施形態では、外部ディスプレイ160が、HMD101それぞれのPC100に接続されているものとする。そして、それぞれのHMD101で表示している映像がそれぞれの外部ディスプレイ160に表示されている。体験者AのHMD101の映像は、体験者A用の外部ディスプレイ160に表示されている。また、体験者BのHMD101の映像は、体験者B用の外部ディスプレイ160に表示されている。
【0023】
なお、この外部ディスプレイ160への表示制御が本実施形態における特徴の一例である。
【0024】
次に、HMD101及びPC100のそれぞれのハードウェア構成例について、
図2のブロック図を用いて説明する。なお、
図2に示した構成は、HMD101、PC100に適用可能なハードウェア構成の一例であり、
図2の構成に限るものではない。
【0025】
先ず、HMD101について説明する。右目・左目ビデオカメラ221は、ユーザの右目に提供する現実空間の画像を撮像するための右目用ビデオカメラと、ユーザの左目に提供する現実空間の画像を撮像するための左目用ビデオカメラと、を有し、それぞれのビデオカメラによる撮像画像(現実空間の画像)はPC100に送出される。
【0026】
右目・左目ディスプレイ222は、ユーザの右目に映像(画像及び文字を含む)を提供するための右目用ディスプレイと、ユーザの左目に映像(画像及び文字を含む)を提供するための左目用ディスプレイと、を有する。PC100から送出された右目用の映像は右目用ディスプレイに表示され、左目用の映像は左目用ディスプレイに表示される。
【0027】
次に、PC100について説明する。汎用バス212は、右目・左目ビデオカメラ221から送出される現実空間の画像を受信するためのインターフェースとして機能するものであり、例えば、外部入力端子(例えば、IEEE1394端子)によって構成される。
【0028】
CPU201はROM202やRAM203に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU201は、PC100全体の動作制御を行うと共に、PC100が行うものとして後述する各処理を実行若しくは制御する。
【0029】
ROM202には、書換不要のコンピュータプログラムやデータ、例えば、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)が格納されている。
【0030】
RAM203は、ROM202や外部メモリ211からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。またRAM203は、汎用バス212を介して右目・左目ビデオカメラ221から受信した現実空間の画像を格納するためのエリアを有する。またRAM203は、通信I/Fコントローラ208を介して光学式センサ104から受信した計測結果を格納するためのエリアを有する。またRAM203は、通信I/Fコントローラ208を介して客観カメラ106から受信した現実空間の画像を格納するためのエリアを有する。またRAM203は、CPU201が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM203は、各種のエリアを適宜提供することができる。
【0031】
ビデオコントローラ206は、右目・左目ディスプレイ222、ディスプレイ210、外部ディスプレイ160の表示制御を行うためのものである。右目・左目ディスプレイ222に対しては、例えば外部出力端子(例えば、Digital Visual Interface)を用いて映像信号(画像や文字の表示用信号)の出力を行う。ディスプレイ210は、CRTや液晶画面などにより構成されており、CPU201による処理結果を画像や文字などでもって表示することができる。ディスプレイ210を用いて、システムの各種設定などの情報の入力・表示を行うことができる。
【0032】
入力コントローラ205は、入力デバイス209の動作制御を行うためのものである。入力デバイス209は、マウスやキーボードなどのユーザインターフェースとして機能するものであり、ユーザが操作することで各種の指示をCPU201に対して入力することができる。例えば、入力デバイス209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンを押下(指等でタッチ)することにより、各種の指示の入力を行うことができる。なお、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0033】
メモリコントローラ207は、外部メモリ211への情報の読み書きを制御するためのものである。外部メモリ211は、ハードディスクドライブ装置、フレキシブルディスク、PCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等のメモリ装置である。外部メモリ211には、OS(オペレーティングシステム)や、PC100が行うものとして後述する各処理をCPU201に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。
【0034】
外部メモリ211に保存されているコンピュータプログラムには、以下に説明する各フローチャートに従った処理をCPU201に実行させるためのコンピュータプログラムが含まれている。また、外部メモリ211に保存されているデータには、本実施形態を含む以下の各実施形態において既知の情報として取り扱う情報や、CGモデル130を含む様々な仮想物体の描画に要するデータ(描画データ)が含まれている。外部メモリ211に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM203にロードされ、CPU201による処理対象となる。なお、外部メモリ211は、USBメモリ、SDカードなどのメモリ装置であっても良い。
【0035】
通信I/Fコントローラ208は、光学式センサ104から計測結果や現実空間の画像を受信するためのインターフェースとして機能するものである。また通信I/Fコントローラ208は、LANやインターネットなどのネットワークを介して外部の機器との間のデータ通信を行うためのインターフェースとして機能するものである。例えば、通信I/Fコントローラ208は、TCP/IPを用いたインターネット通信等が可能である。また通信I/Fコントローラ208は、ギガビットイーサネット(登録商標)等を通じて光学式センサ104との通信も制御する。なお、
図1では、光学式センサ104、及び外部ディスプレイ160と、PC100と、の間のデータ通信は有線であるが、無線であっても良い。例えば、PC100は、LANケーブルやUSBケーブル、無線通信など様々な通信形態によって光学式センサ104、外部ディスプレイ160との間のデータ通信を行うことができる。
【0036】
上記の汎用バス212、CPU201、ROM202、RAM203、ビデオコントローラ206、入力コントローラ205、メモリコントローラ207、通信I/Fコントローラ208は何れも、システムバス204に接続されている。
【0037】
なお、本実施形態では、HMD101とPC100とを別個の機器とするが、HMD101とPC100とを一体化させても良い。また、PC100をサーバ装置として取り扱っても良い。
【0038】
次に、PC100のモジュール構成例について、
図4のブロック図を用いて説明する。オペレーティングシステム401は、HMD101との間の入出力を制御し、右目・左目ビデオカメラ221から汎用バス212を介して得られた現実空間の画像を複合現実感プラットフォーム403へと受け渡す。またオペレーティングシステム401は、グラフィックエンジン402で描画された複合現実空間の画像を、ビデオコントローラ206を介して、右目・
左目ディスプレイ222へ出力する。
【0039】
グラフィックエンジン402は、外部メモリ211に記憶されている仮想物体の描画データを用いて仮想物体の画像を生成し、該生成した仮想物体の画像を右目・左目ビデオカメラ221による撮像画像上に重畳することで複合現実空間の画像を生成する。仮想物体の画像の生成(描画)に利用するエンジンは、例えば、OpenGLやDirectXなどの広く利用されているグラフィックエンジンでも、独自に開発したグラフィックエンジンでもよい。なお、本実施形態ではグラフィックライブラリとしてOpenGLを利用するものとする。
【0040】
複合現実感プラットフォーム(MRプラットフォームともいう)403は、上記のようにしてユーザの視点の位置姿勢を求め、現実空間と仮想空間との位置合わせを行う。これらの技術は、例えば、特開2002-32784号公報、特開2006-072903公報、特開2007-166427公報等に開示されている既存の技術を用いて実現することが可能である。
【0041】
複合現実感アプリケーション(MRアプリケーションやビューアアプリケーションともいう)404は、複合現実感プラットフォーム403から視点の位置姿勢や、仮想物体の色や形状の情報、仮想物体の位置姿勢等の仮想物体の描画に要する情報を受け付け、グラフィックエンジン402に対して、仮想物体の画像の描画命令を発行する。この時、OpenGLのAPIを用いて、描画する仮想物体の識別情報、位置姿勢の情報を設定した命令を発行する。
【0042】
また、複合現実感プラットフォーム403は、客観カメラ106から撮像画像を受信すると、該撮像画像を複合現実感アプリケーション404へ受け渡す。補正モジュール405は、グラフィックエンジン402で描画された画像をブレ補正する処理を行う。ブレ補正する処理を行うか否かについての制御は、複合現実感プラットフォーム403や複合現実感アプリケーション404が制御するものとする。
【0043】
補正モジュール405は、電子式の手ブレ補正技術を用いることで実現可能である。例えば、撮影された画像を一度メモリに読み込み、次に撮影された画像と比較して、像のズレを画素をずらすことで補正する。ブレ補正する技術については様々あり、いずれの補正技術を用いて実現してもよい。補正する画像は、HMD101に出力する画像である。
【0044】
補正モジュール405によりブレ補正した画像またはブレ補正しない画像を外部ディスプレイ160へ出力する。
【0045】
次に、1枚(1フレーム分)の複合現実空間の画像を生成してHMD101や外部ディスプレイ160に表示するためにHMD101及びPC100が行う処理について、
図5のフローチャートに従って説明する。
【0046】
ステップS500では、PC100で、ブレ補正に係る補正処理設定を行う。補正処理設定については、HMD情報700とCGモデル情報720に設定される。PC100のディスプレイ210で表示される設定画面から設定情報が入力される。
【0047】
ここで、
図7について説明する。
図7は、本実施形態で用いる設定情報の一例を示す図である。設定情報は、外部メモリ211に記憶されるものとする。
【0048】
設定情報には、HMD情報700とCGモデル情報720がある。HMD情報700は各HMD101の設定が記憶されている。
【0049】
CGモデル情報720は、仮想空間における各CGモデルの設定が記憶されている。
【0050】
HMD情報700は、HMDID701、位置702、姿勢703、外部ディスプレイ表示有無704、対象705、設定値706の情報を有している。
【0051】
HMDID701は、HMD101ごとのIDを記憶しているものである。位置702と姿勢703は、複合現実感プラットフォーム403で算出されたHMD101の位置姿勢情報を記憶するものである。この情報は常に更新されるものである。
【0052】
外部ディスプレイ表示有無704は、HMD101に出力する画像を外部ディスプレイに出力するか否かを設定した情報(フラグ)である。ONの場合には、外部ディスプレイ160に出力する設定でありブレ補正処理を行う場合の設定である。OFFの場合には、外部ディスプレイ160に出力しない設定であり、ブレ補正処理を行わない場合の設定である。また、ONの場合には、対象705と設定値706が設定されるものとする。
【0053】
なお、外部ディスプレイ表示有無704がONの場合であっても、対象705と設定値706が設定されていない場合には、外部ディスプレイ160に画像を出力はするが補正処理をしないように制御する構成であってもよい。
【0054】
対象705と設定値706は、ブレ補正処理を行う場合の設定であり、ブレ補正処理を行う基準が設定されている。
【0055】
対象705は、他の体験者のHMD101との関係によりブレ補正処理を解除するか、CGとの関係によりブレ補正処理を解除するのかを設定できる。HMD101に近づいた際にブレ補正処理を解除する場合には、対象705に対象とするHMDのIDが設定され、設定値706に距離情報が記憶される。
【0056】
また、CGに近づいた際に補正処理を解除する場合には、対象705に対象とするCGが設定され、設定値706に距離情報が記憶される。
【0057】
対象705にCGのモデルIDが設定されてもよいが、本実施形態では、補正の解除処理がされるCGかは、CGモデル情報720で設定されるものとする。
【0058】
CGモデル情報720は、モデルID721、モデル名722、ファイルパス723、位置724、姿勢725、補正制御解除対象726の情報を有している。
【0059】
モデルID721はCGモデルのIDを記憶しているものである。モデル名722は、CGモデル自体のファイル名称を記憶しているものである。ファイルパス723は、CGモデルとなるファイルが保存されている場所を記憶しているものである。
【0060】
位置724、姿勢725は、CGモデルを表示する現実空間において表示すべき仮想空間上の位置姿勢の値を有している。
【0061】
補正制御解除対象726は、補正処理を解除するか否かを設定する情報を記憶しているものである。補正処理(補正制御)を解除するCGモデルの場合には、ONが設定される。補正処理(補正制御)を解除しないCGモデルの場合には、OFFが設定される。
【0062】
すなわち、補正制御解除対象726でONとなっており、対象705がCGとなっている場合に、所定の位置にHMD101があると補正処理が解除され、HMD101で表示している画像と同じブレのある画像が外部ディスプレイ160に表示される。
【0063】
ステップS501では、
図7の設定情報をメモリに読み込み、HMD101が起動される。HMD101が起動されると、ステップS502へ処理を移す。
【0064】
ステップS502では、右目・左目ビデオカメラ221の機能を用いて現実画像の撮像を開始する。
【0065】
ステップS503では、右目・左目ビデオカメラ221は、撮像した現実空間の画像(右目用カメラによる撮像画像、左目用カメラによる撮像画像)をPC100に対して出力する。なお撮像と送信は繰り返し行われ、PC100から順次MR画像を受信してHMD101の右目・左目ディスプレイ222で表示する。
【0066】
ステップS504では、CPU201は、右目・左目ビデオカメラ221から出力された現実空間の画像を汎用バス212を介して受信し、ステップS505ではCPU201は、該受信した現実空間の画像をRAM203や外部メモリ211に格納する。
【0067】
ステップS506では、CPU201は、光学式センサ104による光学式マーカ103の計測結果を通信I/Fコントローラ208を介して取得し、該取得した計測結果に基づいて上記のようにしてユーザ視点の位置姿勢(HMD101の位置姿勢)を求める。ステップS506で求めるユーザ視点の位置姿勢は、右の視点(右目用ビデオカメラ)の位置姿勢、左の視点(左目用ビデオカメラ)の位置姿勢、である。右の視点については上記と同様、予め求めた「右の視点と光学式マーカ103との間の相対的な位置姿勢関係」を用いて、光学式マーカ103の位置姿勢を変換することで求めることができる。同様に、左の視点については上記と同様、予め求めた「左の視点と光学式マーカ103との間の相対的な位置姿勢関係」を用いて、光学式マーカ103の位置姿勢を変換することで求めることができる。
【0068】
ステップS507では、CPU201は、ステップS506で求めた視点の位置姿勢を、HMD101の識別情報(ID)と関連づけて外部メモリ211に格納する。例えば、
図7のHMD情報700に示す如く、HMDごとにID、位置、姿勢を対応付けて管理している。
【0069】
ステップS508では、CPU201は、
図7のCGモデル情報720を基に、外部メモリ211に格納されている仮想物体の描画データをRAM203に読み出し、該読み出した描画データに基づいて仮想物体を生成し、該生成した仮想物体を仮想空間中に配置する。そしてCPU201は、ステップS506で求めた視点の位置姿勢に基づいて、該視点から見た仮想物体の画像を生成する。そしてCPU201は、ステップS504で受信した現実空間の画像上に、仮想物体の画像を重畳させることで複合現実空間の画像(MR画像)を生成する。厳密にはCPU201は、右目用カメラによる撮像画像(現実空間の画像)上に、右の視点の位置姿勢に基づいて生成した仮想物体の画像を重畳させることで、右目用の複合現実空間の画像を生成すると共に、左目用カメラによる撮像画像(現実空間の画像)上に、左の視点の位置姿勢に基づいて生成した仮想物体の画像を重畳させることで、左目用の複合現実空間の画像を生成する。
【0070】
ステップS508は、体験者の視点に係る位置姿勢に応じて表示される仮想物体の画像を合成した合成画像を生成する生成処理の一例を示すものである。
【0071】
ステップS509では、CPU201は、外部ディスプレイ表示有無704の設定に基づいて、外部ディスプレイにステップS508で生成されたMR画像を表示するか否かを判定する。ONの場合には、ステップS510へ処理を移し、OFFの場合には、ステップS514へ処理を移す。
【0072】
ステップS510では、CPU201は、外部ディスプレイ160への出力の際の補正制御を行う。補正制御処理の詳細については、
図6にて詳述する。
【0073】
ステップS511では、CPU201は、ビデオコントローラ206を介して外部ディスプレイ160へMR画像を出力する。このMR画像は、ブレ補正処理がされた画像の場合と、ブレ補正処理がされていない(解除された)画像の場合がある。
【0074】
ステップS511は、合成画像を用いてブレ補正された合成画像を第2表示装置に出力する第2出力処理の一例を示すものである。また、体験者の位置に基づき、ブレ補正に係る条件を満たす場合に、ステップS508で生成された合成画像を第2表示装置に出力する第2出力処理の一例を示すものである。 更に、対象物との距離を満たさない場合に、ブレ補正された合成画像を第2表示装置に出力し、対象物との距離を満たさない場合に、ブレ補正を解除してステップS508で生成された合成画像を第2表示装置に出力するものである。
【0075】
ステップS512では、外部ディスプレイ160が、MR画像をPC100から受信し、ステップS513で、受信したMR画像を表示する。
【0076】
ステップS513において、外部ディスプレイ160で表示した例が、
図8と
図9である。
【0077】
図8は、補正制御解除するCG802を体験者Aが見ているが、設定値706の距離外にいる(条件を満たさない)ためブレ補正処理がされ表示されている状態である。
【0078】
図9は、補正制御解除するCG902を体験者Aが見ており、設定値706の距離内にい
る(基準を満たす)ためブレ補正処理が解除され表示されている状態である。902の点線のCGは、ブレにより表示されているモデルを示している。なお、903の点線の表示はブレを便宜的に説明するためのものであり、点線表示に限定されるものではない。
【0079】
また、901のように、体験者以外で外部ディスプレイ160を見ているユーザに注意を促すため、「体験者と同じ映像が表示されています。ブレ補正処理がないため気分が悪くなることがあります。ご注意ください。」と表示する。この表示は、補正制御を解除した際に、PC100から出力される情報である。また、901の表示は、
図7の設定情報(不図示)にて、任意に設定することができるものとする。
【0080】
ステップS514では、CPU201は、ステップS508において生成したMR画像(右目用の複合現実空間の画像、左目用の複合現実空間の画像)を、ビデオコントローラ206を介してHMD101に対して出力する。
【0081】
ステップS514は、ステップS508で生成された合成画像を体験者の利用する第1表示装置に出力する第1出力処理の一例を示すものである。
【0082】
ステップS515では、右目・左目ディスプレイ222は、ステップS514においてPC100から送信された右目用の複合現実空間の画像及び左目用の複合現実空間の画像を受信する。そしてステップS516では、右目・左目ディスプレイ222は、右目用の複合現実空間の画像を右目用ディスプレイに表示する。
【0083】
次に、ステップS510の補正制御処理について、
図6のフローチャートに従って説明する。
【0084】
ステップS601では、CPU201は、
図7の設定情報に基づき、他の体験者のHMD101、或いは、対象のCGを特定する。なお、他の体験者のHMD101の場合には、他の体験者が撮像された画像に含まれることが望ましい。すなわち、他の体験者を見ている状態で設定値等の条件を満たした場合に、ブレ補正制御の解除がされるものである。
【0085】
ステップS602では、CPU201は、他の体験者のHMD101、或いは、対象のCGとの距離を算出して、取得する。距離の算出は、対象となる体験者のHMD101の位置と他の体験者のHMDの位置、或いは、対象となる体験者のHMD101の位置とCGとの位置により算出することができる。
【0086】
ステップS603では、CPU201は、取得した距離が、設定値706の距離を満たすか否かを判定する。具体的には、設定値706の距離より遠い位置に対象となる体験者のHMD101が存在するか否かを判定する。遠い位置にある場合には、条件を満たさないとして、ステップS607へ処理を移す。近い位置にある場合には、条件を満たすとして、ステップS604へ処理を移す。 すなわち、上述の条件は、ブレ補正に係る条件であり、ブレ補正を解除する条件である。また、体験者の位置と対象物との距離でもある。
【0087】
ステップS604では、CPU201は、ブレ補正が解除されたか否かを判定する。すなわち、ブレ補正状態からブレ補正を行わない状態(解除状態)となった場合には、ステップS605へ処理を移す。既に解除状態である場合には、ステップS606へ処理を移す。
【0088】
ステップS605では、通常の場合にはブレ補正を実行しているため、ブレ補正が解除された場合には、体験者以外のユーザに補正処理が解除されたことを注意喚起するべく、CPU201は、ブレ補正がされていないことの情報を外部ディスプレイ160へ出力(通知)する。注意喚起の例が、
図9の901である。
【0089】
なお、本実施形態では、ブレ補正が解除された際に注意喚起するように制御したが、ブレ補正が解除されている間は注意喚起の情報を出力する(所定間隔で出力する)ようにしてもよい。
【0090】
また、注意喚起の表示がされており、ブレ補正がされるタイミングになった場合には、注意喚起の表示を解除するように制御することは言うまでもない。
【0091】
ステップS605は、体験者の位置に基づきブレ補正に係る条件を満たし、ステップS508で生成された合成画像を第2表示装置に出力する場合に、ブレ補正がされていないこと通知する通知処理の一例を示すものである。
【0092】
ステップS606では、CPU201は、ステップS508で生成されたMR画像(補正処理なしのMR画像)を取得する。
【0093】
ステップS607では、ステップS508で生成されたMR画像を用いて、補正モジュール405でブレ補正を実行する。
【0094】
ステップS608では、CPU201は、ステップS607で補正したMR画像を取得する。
【0095】
ステップS606又はステップS607で取得したMR画像を、ステップS511で出力する。
【0096】
以上、本実施形態によれば、HMD101の条件により、ブレ補正処理の有無を切り替えて外部ディスプレイに表示を行うため、使い勝手のよい仕組みとなる。特に、長時間ブレのある映像をみることを軽減し、酔いなどを防ぐことができる。
【0097】
他の実施形態として、以下のような形態も考えられる。 上記の実施形態では、条件を満たす場合にブレ補正処理を解除するものとしたが、他の実施形態では、条件を満たす(例えばHMD101が設定距離外にあるという条件を満たす)場合にブレ補正処理を実行し、条件を満たさない(例えばHMD101が設定距離内にあるという条件を満たす)場合にブレ補正処理を解除する構成とする。
【0098】
このように、ブレの補正処理の実行と解除を切替することができればよく、条件を満たす基準(距離内か距離外どちらを基準とするか)については、どちらであってもよい。
【0099】
最後に、上記のPC100の機能構成例について、
図3のブロック図を用いて説明する。なお、
図3の各機能部はハードウェアで実装しても良いし、ソフトウェア(コンピュータプログラム)で実装しても良い。前者の場合、例えばこのようなハードウェアをHMD101に搭載することで、HMD101は、PC100が行うものとして上述した各処理をも実行することができる。後者の場合、このようなコンピュータプログラムを外部メモリ211に保存しておき、CPU201がこのコンピュータプログラムを適宜RAM203に読み出して実行することで、対応する機能部の機能を実現することができる。 なお、PC100は、画像処理装置として言い換えることも可能である。
【0100】
生成部301は、体験者の視点に係る位置姿勢に応じて表示される仮想物体の画像を合成した合成画像を生成する機能部である。撮像された現実画像とCGとを合成した複合現実空間の画像であることが望ましい。
【0101】
第1出力部302は、生成部301により生成された合成画像を体験者の利用する第1表示装置(例えば、HMD101)に出力する機能部である。
【0102】
第2出力部303は、合成画像を用いてブレ補正された合成画像を第2表示装置(例えば、外部ディスプレイ160)に出力する機能部である。また、第2出力部303は、体験者の位置姿勢に基づき、ブレ補正に係る条件(具体的には、ブレ補正を解除する条件)を満たす場合に、生成部301により生成された合成画像を第2表示装置に出力する機能部である。
【0103】
通知部304は、体験者の位置姿勢に基づきブレ補正を解除する条件を満たし、生成部301により生成された合成画像を第2表示装置に出力する場合に、ブレ補正がされていないこと通知する機能部である。通知の例は901である。
【0104】
ブレ補正を解除する条件とは、体験者の位置姿勢と対象物との距離である。
【0105】
また、第2出力部303は、対象物との距離を満たさない場合に、ブレ補正された合成画像を第2表示装置に出力し、対象物との距離を満たさない場合に、ブレ補正を解除して生成部301により生成された合成画像を第2表示装置に出力する。
【0106】
つまり、本実施形態に係る画像処理装置は、外部ディスプレイへ合成画像を表示する際に、体験者の位置によりブレ補正をしない合成画像を出力することで検証などの形態において利便性を高めることができる。特に検証に不要な動作の場合にはブレ補正がされ、検証に必要(正確な表示が必要)な場合にはブレ補正がされないように制御するため、外部で確認しているユーザの酔いなどの体調不良を軽減しつつ、外部からの検証を容易にすることができる。
【0107】
なお、外部ディスプレイは、体験者以外が利用する表示装置であればいずれの装置であってもよい。
【0108】
なお、上述の実施形態では、HMD101とPC100とを別個の装置としているが、HMD101とPC100とを一体化させ、HMD101は自機が行うものとして上述した各処理だけでなく、PC100が行うものとして説明した上記の各処理も行うようにしても良い。
【0109】
また上述の実施形態では、HMD101はビデオシースルー方式の頭部装着型表示装置であるものとして説明した。しかし、HMD101として光学シースルー方式の頭部装着型表示装置を使用しても良い。
【0110】
また、ユーザの頭部に装着されているHMD101に加えて若しくは代えて他の表示装置、例えばタブレット端末装置やスマートフォン等の携帯端末装置に対してユーザ視点に基づく複合現実空間の画像を出力するようにしても良い。この場合、携帯端末装置は、該携帯端末装置に備わっているセンサやアプリケーションを使用することで該携帯端末装置の位置姿勢をユーザ視点として取得することができる。ユーザ視点に基づく複合現実空間の画像はPC100が生成しても良いし、携帯端末装置側で生成しても良い。
【0111】
また、上述の実施形態では、現実空間と仮想空間とを合成した複合現実空間をユーザに提示する複合現実感提示システム(MRシステム)を例にとり説明したが、仮想空間のみをユーザに提示する、所謂VRシステムに適用しても構わない。その場合、現実空間の撮像や現実空間の画像との合成に係る処理は不要となる。
【0112】
また、上述の実施形態では説明を簡単にするために、1台のPC100に1台のHMD101が接続されているものとしたが、1台のPC100に2台以上のHMD101を接続するようにしても良い。
【0113】
以上、本発明の実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0114】
また、本発明におけるプログラムは、フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は処理方法をコンピュータが実行可能なプログラムが記憶されている。
【0115】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0116】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0117】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0118】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0119】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0120】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0121】
さらに、本発明を達成するためのプログラムを通信線上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0122】
なお、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わないし、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【符号の説明】
【0123】
100 PC 101 HMD 103 光学式マーカ 102 二次元マーカ 104 光学式センサ 130 CGモデル 160 外部ディスプレイ
【手続補正書】
【提出日】2023-08-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザが装着する第1の表示手段に出力するための画像として、当該第1の表示手段の位置を含む情報に応じた画像を生成するように制御し、
第2の表示手段に出力するための画像として、前記第1の表示手段の位置を含む情報に応じた画像に対して、特定のブレ補正を施した画像を生成するように制御する制御手段
を備えることを特徴とする画像処理装置。
【請求項2】
前記第1の表示手段の位置を含む情報に応じた画像は撮影された画像を含む画像であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記撮影された画像は前記第1の表示手段を有する装置に備えられた撮像手段で撮影された画像であることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記第1の表示手段の位置を含む情報に応じた画像は、前記撮影された画像と仮想画像との合成画像であることを特徴とする請求項2または3に記載の画像処理装置。
【請求項5】
前記第1の表示手段の位置を含む情報に応じた画像は、撮影されている画像を含まず、仮想画像を含む画像であることを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記制御手段は、前記第1の表示手段に出力するための画像として、前記第1の表示手段を備える装置の位置及び姿勢に応じた画像を生成するように制御することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
特定の画像に対して、像のズレを補正する特定のブレ補正を施さずに、第1の表示手段に出力するように制御し、
前記特定の画像に対して、前記特定のブレ補正を施して第2の表示手段に出力するように制御する制御手段
を備え、
前記特定の画像は前記第1の表示手段を有する装置に備えられた撮像手段で撮影された画像を含むことを特徴とする画像処理装置。
【請求項8】
前記特定の画像は、前記撮像手段により撮影された画像と仮想画像との合成画像であることを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記特定のブレ補正は、像のズレを、画素をずらすことで補正する処理であることを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
前記特定のブレ補正は、前後の画像を比較した結果に基づいて補正する処理であることを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
前記特定のブレ補正は、電子式の手ブレ補正であることを特徴とする請求項1乃至10のいずれか1項に記載の画像処理装置。
【請求項12】
前記第1の表示手段はヘッドマウントディスプレイに備えられていることを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
【請求項13】
前記第2の表示手段は、前記ヘッドマウントディスプレイの体験者以外が利用する装置の表示手段であることを特徴とする請求項12に記載の画像処理装置。
【請求項14】
ユーザが装着する第1の表示手段に出力するための画像として、当該第1の表示手段の位置を含む情報に応じた画像を生成するように制御し、
第2の表示手段に出力するための画像として、前記第1の表示手段の位置を含む情報に応じた画像に対して、特定のブレ補正を施した画像を生成するように制御する制御ステップ
を備えることを特徴とする画像処理装置の制御方法。
【請求項15】
特定の画像に対して、像のズレを補正する特定のブレ補正を施さずに、第1の表示手段に出力するように制御し、
前記特定の画像に対して、前記特定のブレ補正を施して第2の表示手段に出力するように制御する制御ステップ
を備え、
前記特定の画像は前記第1の表示手段を有する装置に備えられた撮像手段で撮影された画像を含むことを特徴とする画像処理装置の制御方法。
【請求項16】
コンピュータを、請求項1乃至13のいずれか1項に記載された画像処理装置の各手段として機能させるためのプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
本発明の目的を達成するために画像処理装置は、
ユーザが装着する第1の表示手段に出力するための画像として、当該第1の表示手段の位置を含む情報に応じた画像を生成するように制御し、
第2の表示手段に出力するための画像として、前記第1の表示手段の位置を含む情報に応じた画像に対して、特定のブレ補正を施した画像を生成するように制御する制御手段
を備えることを特徴とする。