(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183693
(43)【公開日】2023-12-28
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20231221BHJP
【FI】
G06T19/00 600
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022097342
(22)【出願日】2022-06-16
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】渡部 宏樹
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA09
5B050CA07
5B050DA04
5B050DA05
5B050EA07
5B050EA19
5B050EA30
5B050FA05
(57)【要約】
【課題】 MR静止画像の品質を向上させつつ、MR静止画像の生成処理の演算量をより少なくする。
【解決手段】 画像処理装置100は、撮像画像データを取得し、レンダリング条件を示すレンダリング情報に基づいて仮想空間に配置された仮想オブジェクトの仮想視点からの見えに対応するCGを生成し、撮像画像にCGを重畳させてMR動画像を生成する。また、MR動画像のフレームに対応するMR静止画像のデータの取得要求を受けたときに、MR静止画像を生成する際に用いる生成情報を出力する。ここで、生成情報は、取得要求を受けたときの、撮像画像のデータ及びレンダリング情報と、CGを生成するときに生成される中間データであって、取得要求を受けたときの中間データとを含み、中間データは、CGを生成するときのライティング処理に用いられる情報である。
【選択図】
図1
【特許請求の範囲】
【請求項1】
撮像画像のデータを取得する画像取得手段と、
レンダリング条件を示すレンダリング情報に基づいて、仮想空間に配置された仮想オブジェクトの仮想視点からの見えに対応するCGを生成するCG生成手段と、
前記撮像画像に前記CGを重畳させて、MR動画像を生成するMR生成手段と、
前記MR動画像のフレームに対応するMR静止画像のデータの取得要求を受け付ける受付手段と、
前記MR静止画像を生成する際に用いる生成情報を出力する出力手段と、
を有し、
前記出力手段は、前記生成情報として、前記取得要求を受けたときの前記撮像画像のデータと、前記取得要求を受けたときの前記レンダリング情報と、前記CGを生成するときに生成される中間データであって、前記取得要求を受けたときの前記中間データとを出力し、
前記中間データは、前記CGを生成するときのライティング処理に用いられる情報であること
を特徴とする画像処理装置。
【請求項2】
前記中間データは、前記仮想オブジェクトを構成する1以上の要素のそれぞれの色を示す情報、前記1以上の要素のそれぞれの前記仮想視点からの距離を示す情報、及び前記1以上の要素のそれぞれの反射率を示す情報のうちの少なくとも1つを含むこと
を特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記仮想オブジェクトが1以上のポリゴンにより構成される場合、前記中間データは、前記仮想オブジェクトを構成する前記1以上のポリゴンのそれぞれの色を示す情報、前記1以上のポリゴンのそれぞれの前記仮想視点からの距離を示す情報、前記1以上のポリゴンのそれぞれの反射率を示す情報、及び前記1以上のポリゴンのそれぞれの向きを示す情報のうちの少なくとも1つを含むこと
を特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記MR動画像を表示装置に表示させる表示制御手段をさらに有し、
前記表示装置は、頭部装着型の前記表示装置であり、
前記表示制御手段は、前記MR動画像を前記頭部装着型の前記表示装置に表示させること
を特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記出力手段は、前記生成情報に加えて、前記取得要求を受けたときの前記MR動画像のフレームのデータを出力すること
を特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記レンダリング情報は、少なくとも前記仮想視点の位置を示す視点情報を含み、前記視点情報に加えて、前記取得要求を受けたときに前記レンダリング条件として使用されるシェーダコードのデータ、及び前記取得要求を受けたときに前記レンダリング条件として使用される光源情報のうちの少なくとも1つを含むこと
を特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記画像取得手段は、前記撮像画像における撮像範囲のうちの少なくとも一部に対応する空間の深度を示す深度データを更に取得し、
前記MR生成手段は、前記画像取得手段により取得された前記撮像画像のデータ及び前記深度データ、並びに、前記CG生成手段により生成された前記CGのデータを用いて前記MR動画像を生成し、
前記出力手段は、前記生成情報として、前記深度データを更に出力すること
を特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記画像取得手段は、前記撮像画像のデータに対応するRAWデータを更に取得し、
前記出力手段は、前記生成情報として、前記撮像画像のデータに替えて、前記取得要求を受けたときの前記RAWデータを出力すること
を特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記CG生成手段は第1のCG生成手段として動作して第1のCGを生成し、
前記MR生成手段は第1のMR生成手段として動作して前記MR動画像を生成し、
前記出力手段により出力された前記生成情報を取得する取得手段と、
前記取得手段により取得された前記生成情報に含まれる前記中間データ及び前記レンダリング情報を用いて、ライティング処理を行うことにより、前記第1のCGとは異なる第2のCGを生成する第2のCG生成手段と、
前記取得手段により取得された前記生成情報に含まれる前記撮像画像のデータと、前記第2のCG生成手段により生成された前記第2のCGのデータとを用いて、前記撮像画像に前記第2のCGを重畳することにより、前記MR静止画像を生成する第2のMR生成手段と、
を有すること
を特徴とする請求項1に記載の画像処理装置。
【請求項10】
前記画像取得手段は、前記撮像画像における撮像範囲のうちの少なくとも一部に対応する空間の深度を示す深度データを更に取得し、
前記出力手段は、前記生成情報として、前記取得要求を受けたときの前記深度データを更に出力し、
前記第2のMR生成手段は、前記取得手段により取得された前記生成情報に含まれる前記撮像画像のデータ及び前記深度データ、並びに前記第2のCGのデータを用いて、前記MR静止画像を生成すること
を特徴とする請求項9に記載の画像処理装置。
【請求項11】
前記画像取得手段は、前記撮像画像のデータに対応するRAWデータを更に取得し、
前記出力手段は、前記生成情報として、前記撮像画像のデータに替えて、前記取得要求を受けたときの前記RAWデータを出力し、
前記第2のMR生成手段は、前記撮像画像に替えて、前記取得手段により取得された前記生成情報に含まれる前記RAWデータを現像することにより得られた画像に、前記第2のCGを重畳することにより前記MR静止画像を生成すること
を特徴とする請求項9に記載の画像処理装置。
【請求項12】
前記第2のCG生成手段は、前記取得手段により取得された前記生成情報に含まれる前記中間データを用いてポストプロセス処理を更に行うことにより、前記第2のCGを生成すること
を特徴とする請求項9に記載の画像処理装置。
【請求項13】
撮像画像のデータを取得する画像取得工程と、
レンダリング条件を示すレンダリング情報に基づいて、仮想空間に配置された仮想オブジェクトの仮想視点からの見えに対応するCGを生成するCG生成工程と、
前記撮像画像に前記CGを重畳させて、MR動画像を生成するMR生成工程と、
前記MR動画像のフレームに対応するMR静止画像のデータの取得要求を受け付ける受付工程と、
前記MR静止画像を生成する際に用いる生成情報を出力する出力工程と、
を有し、
前記出力工程は、前記生成情報として、前記取得要求を受けたときの前記撮像画像のデータと、前記取得要求を受けたときの前記レンダリング情報と、前記CGを生成するときに生成される中間データであって、前記取得要求を受けたときの前記中間データとを出力し、
前記中間データは、前記CGを生成するときのライティング処理に用いられる情報であること
を特徴とする画像処理方法。
【請求項14】
コンピュータを、請求項1乃至12のいずれか1項に記載の画像処理装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、MR画像を生成するための画像処理技術に関する。
【背景技術】
【0002】
MR(Mixed Reality)動画像を生成して表示装置に表示させる場合、動画像のリアルタイム性を維持するために、MR画像に重畳させるCG(Computer Graphics)を生成する処理の演算量を少なくして、低品質のCGを生成することが一般的に行われている。そのため、MR動画像のうちの当該時点におけるフレームのデータをそのままMR静止画像のデータとして保存した場合、MR静止画像は低品質なものになってしまう。特許文献1には、リアルタイムにCGを生成する手段と、当該手段とは異なる手段であって、任意の時点におけるCGを高品質に生成する手段とを有することにより、動画像としてのリアルタイム性と静止画像としての品質との両立させる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された技術を用いて任意の時点における高品質のCGを生成するには、生成処理に多くの演算を要する。そのため、特許文献1に記載された技術をMR画像の生成に適用した場合、任意の時点における高品質のMR静止画像を生成するには、生成処理に多くの演算を要する。
【課題を解決するための手段】
【0005】
本開示に係る画像処理装置は、撮像画像のデータを取得する画像取得手段と、レンダリング条件を示すレンダリング情報に基づいて、仮想空間に配置された仮想オブジェクトの仮想視点からの見えに対応するCGを生成するCG生成手段と、前記撮像画像に前記CGを重畳させて、MR動画像を生成するMR生成手段と、前記MR動画像のフレームに対応するMR静止画像のデータの取得要求を受け付ける受付手段と、前記MR静止画像を生成する際に用いる生成情報を出力する出力手段と、を有し、前記出力手段は、前記生成情報として、前記取得要求を受けたときの前記撮像画像のデータと、前記取得要求を受けたときの前記レンダリング情報と、前記CGを生成するときに生成される中間データであって、前記取得要求を受けたときの前記中間データとを出力し、前記中間データは、前記CGを生成するときのライティング処理に用いられる情報である。
【発明の効果】
【0006】
本開示によれば、任意の時点におけるMR静止画像の品質を向上させつつ、MR静止画像の生成処理の際の演算量をより少なくすることができる。
【図面の簡単な説明】
【0007】
【
図1】実施形態1に係る画像処理装置100の機能構成の一例を示すブロック図である。
【
図2】実施形態1に係る画像処理装置100のハードウェア構成の一例を示すブロック図である。
【
図3】実施形態1に係る画像生成装置の機能構成の一例を示すブロック図である。
【
図4】実施形態1に係る画像処理装置の処理フローの一例を示すフローチャートである。
【
図5】実施形態1に係る画像処理装置が有するCG生成部の処理フローの一例を示すフローチャートである。
【
図6】実施形態1に係る画像処理装置が有するCG生成部の処理の一例を説明するための説明図である。
【
図7】拡散反射光の算出方法の一例を説明するための説明図である。
【
図8】鏡面反射光の算出方法の一例を説明するための説明図である。
【
図9】実施形態1に係る画像生成装置の処理フローの一例を示すフローチャートである。
【
図10】実施形態2に係る画像処理装置の処理フローの一例を示すフローチャートである。
【
図11】実施形態2に係る画像生成装置の処理フローの一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について添付の図面を参照して説明する。なお、以下の実施形態は、本開示を必ずしも限定するものではない。また、以下の実施形態において説明されている特徴の組み合わせの全てが本開示の解決手段に必須のものとは限らず、複数の特徴は任意に組み合わせられてもよい。また、フローチャートにおける各工程(ステップ)については「S」で始まる符号を用いて示す。
【0009】
[実施形態1]
図1乃至9を参照して、実施形態1に係る画像処理装置100について説明する。まず、
図1及び2を参照して、画像処理装置100の構成について説明する。
図1は、実施形態1に係る画像処理装置100の機能構成の一例を示すブロック図である。画像処理装置100は、
図1に示すように、例えば、画像処理システム1に適用される。画像処理システム1は、画像処理装置100、撮像装置110、及び画像生成装置120を有する。
【0010】
画像処理装置100と撮像装置110とは、専用線又はLAN(Local Area Network)等の通信回線140により、互いに通信可能に接続されている。また、画像処理装置100と画像生成装置120とは、専用線又はLAN等の通信回線150により、互いに通信可能に接続されている。撮像装置110は、デジタルスチルカメラ又はデジタルビデオカメラ等により構成され、撮像により得た画像(以下、撮像画像と呼ぶ)のデータ(以下、撮像画像データとも呼ぶ)を出力する。
【0011】
画像処理装置100は、撮像装置110から出力された撮像画像データを、通信回線140を介して取得して、撮像画像にコンピュータグラフィックス(以下、CGと呼ぶ)を重畳させた画像(以下、MR画像と呼ぶ)を生成する。なお、画像処理装置100により生成されるMR画像は動画像(以下、MR動画像と呼ぶ)である。画像処理装置100は、生成したMR動画像を
図1には不図示の表示装置に表示させる。画像処理装置100は、例えば、HMD(Head Mounted Display)に適用される。画像処理装置100がHMDに適用される場合、撮像装置110は、例えば、HMDに配置され、HMDを装着したユーザの顔の向く方向を撮像する。また、この場合、画像処理装置100は、生成したMR動画像をHMDに配置された表示装置に表示させる。
【0012】
また、画像処理装置100は、ユーザ等からの、MR動画像のフレームに対応するMR画像の静止画像(以下、MR静止画像と呼ぶ)のデータの取得要求(以下、単に、取得要求と呼ぶ)を受け付ける。画像処理装置100は、取得要求を受けたときのMR動画像におけるフレームに対応するMR静止画像を生成するのに必要な情報を出力する。以下、MR静止画像を生成するのに必要な情報を「生成情報」と称して説明する。具体的には、画像処理装置100は、取得要求を受けたときの、撮像画像データ、深度データ、レンダリング情報、及びCGを生成するときに生成される中間データを生成情報として出力する。本実施形態では、画像処理装置100は、撮像画像データ、レンダリング情報、及びCGを生成するときに生成される中間データに加えて、取得要求を受けたときの深度データについても生成情報として出力するものとして説明する。ここで、深度データとは、撮像画像における撮像範囲のうちの少なくとも一部に対応する空間の深度、すなわち、撮像装置から当該空間に存在するオブジェクトまでの距離を示すデータである。また、レンダリング情報とは、CGを生成するときに用いられるレンダリング条件を示す情報である。レンダリング情報は、視点の位置を示す視点情報を少なくとも含む。中間データは、CGを生成するときに生成され、例えば、CGを生成するときのライティング処理に用いられる。深度データ、レンダリング情報、及び中間データの詳細については後述する。
【0013】
画像生成装置120は、画像処理装置100から出力された生成情報を、通信回線150を介して取得し、取得した生成情報に基づいて、MR静止画像を生成する。具体的には、画像生成装置120は、生成情報に含まれる中間データ及びレンダリング情報を用いて、撮像画像に重畳させるCGを生成する。更に、生成したCGのデータ、並びに、生成情報に含まれる撮像画像データ及び深度データを用いて、撮像画像にCGを重畳させたMR静止画像を生成する。画像生成装置120は、中間データ及びレンダリング情報を用いてCGを生成することにより、上述のフレームの品質と比較して、高品質のCGを少ない演算量で生成することができる。結果として、画像生成装置120は、高品質のMR静止画像を少ない演算量で生成することができる。
【0014】
<画像処理装置の構成>
画像処理装置100は、機能構成として、画像取得部101、CG生成部102、MR生成部103、受付部104、及び出力部105を有する。画像処理装置100が機能構成として備える各部の処理は、画像処理装置100に内蔵されたASIC(Application Specific Integrated Circuit)等のハードウェアによってなされる。当該処理は、FPGA(Field Programmable Gate Array)等のハードウェアによってなされるものであってもよい。また、画像処理装置100が機能構成として備える各部の処理は、RAM(Random Access Memory)等のメモリと、CPU(Central Processor Unit)等のプロセッサとを用いたソフトウェアによってなされるものであってもよい。
図1に示す各部の処理の詳細については後述する。
【0015】
図2を参照して、画像処理装置100が機能構成として備える各部がソフトウェアとして動作する場合の画像処理装置100のハードウェア構成について説明する。
図2は、実施形態1に係る画像処理装置100のハードウェア構成の一例を示すブロック図である。画像処理装置100は、コンピュータにより構成されており、当該コンピュータは、
図2に一例として示すようにCPU201、ROM202、RAM203、補助記憶装置204、表示部205、操作部206、通信部207、及びバス208を有している。
【0016】
CPU201は、ROM202又はRAM203等に格納されているプログラム又はデータを用いて当該コンピュータを制御することにより、当該コンピュータを
図1に示す画像処理装置100が機能構成として備える各部として機能させるプロセッサである。なお、画像処理装置100は、CPU201とは異なる1又は複数の専用のハードウェアを有し、CPU201による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、及びDSP(デジタルシグナルプロセッサ)等がある。ROM202は、変更を必要としないプログラム等を格納するメモリである。RAM203は、補助記憶装置204から供給されるプログラム若しくはデータ、又は通信部207を介して外部から供給されるデータ等を一時記憶するメモリである。補助記憶装置204は、例えばハードディスクドライブにより構成され、プログラム、又は画像データ若しくは音声データ等の種々のデータを記憶する。
【0017】
表示部205は、例えば液晶ディスプレイ又はLED等により構成され、ユーザが画像処理装置100を操作、又は画像処理装置100における処理の状態を閲覧するためのGUI(Graphical User Interface)等を表示する。本実施形態では、画像処理装置100により生成されたMR動画像は、表示部205に表示されるものとする。操作部206は、例えばキーボード、マウス、ジョイスティック、又はタッチパネル等により構成され、ユーザによる操作を受けて各種の指示をCPU201に入力する。CPU201は、表示部205を制御する表示制御部、及び操作部206を制御する操作制御部としても動作する。
【0018】
通信部207は、画像処理装置100の外部の装置との間のデータ等の送受信等の通信に用いられる。例えば、画像処理装置100が外部の装置と有線接続される場合には、通信用のケーブルが通信部207に接続される。画像処理装置100が外部の装置と無線通信する機能を有する場合には、通信部207はアンテナを備える。本実施形態では、画像処理装置100は、通信部207を介して、撮像装置110及び画像生成装置120等と通信する。バス208は、画像処理装置100のハードウェア構成として備える各部をつないで情報を伝達する。実施形態1では、表示部205及び操作部206は、画像処理装置100の内部に存在するものとして説明するが、表示部205及び操作部206の少なくとも一方は、画像処理装置100の外部に別の装置として存在していてもよい。
【0019】
<画像処理装置の各機能構成における処理>
画像処理装置100が機能構成として備える各部の処理について説明する。画像取得部101は、撮像画像データを取得する。具体的には、画像取得部101は、撮像装置110が出力する撮像画像データを、通信部207を介して取得する。撮像画像データの取得元は撮像装置110に限定されるものではなく、画像取得部101は、
図1には不図示の記憶装置から撮像画像データを読み出すことにより、撮像画像データを取得してもよい。この場合、例えば、撮像装置110は、記憶装置に撮像画像データを出力して、撮像画像データを記憶装置に予め記憶させる。
【0020】
画像取得部101は、撮像画像データに加えて、深度データを取得してもよい。例えば、画像取得部101は、
図1には不図示のデプスカメラが出力する深度画像データを、深度データとして取得する。この場合、撮像装置110とデプスカメラとは近接した位置に配置されており、また、撮像装置110の光軸の方向とデプスカメラの光軸の方向とは、同一の方向であることが好適である。なお、ここでいう「同一」とは、完全に一致している場合に限定されず、略同一である場合も含む。
【0021】
深度画像データは、デプスカメラが出力するものに限定されるものではない。例えば、撮像装置110がステレオカメラである場合、画像取得部101は、撮像装置110が出力する、左右のそれぞれに対応する2つの撮像画像データを用いて、深度画像データを生成して取得してもよい。ステレオカメラが出力する撮像画像データを用いて深度画像データを生成する手法は周知であるため説明を省略する。深度データは、深度画像データに限定されるものではなく、点群データであってもよい。この場合、例えば、画像取得部101は、レーザ光のタイムオブフライト方式等による、
図1には不図示の三次元スキャナが出力する点群データを深度データとして取得する。この場合、撮像装置110と三次元スキャナとは近接した位置に配置されていることが好適である。以下、画像取得部101は、撮像画像データに加えて、深度データについても取得するものとして説明する。
【0022】
CG生成部102は、レンダリング情報に基づいてレンダリングを行うことにより、CGを生成する。ここで、レンダリング情報は、CG生成部102がCGを生成するときのレンダリング条件を示す情報である。具体的には、CG生成部102は、レンダリング情報に基づいてレンダリングを行うことにより、仮想空間に配置された仮想オブジェクトの仮想視点からの見えに対応するCGを生成する。レンダリング情報には、少なくとも、仮想空間における仮想視点の位置を示す情報(以下、視点情報と呼ぶ)が含まれている。CGの生成処理の詳細については後述する。
【0023】
CG生成部102は、CGを生成するときに、その生成過程で中間データを生成する。中間データは、例えば、CG生成部102がCGを生成するときのライティング処理に用いられる。ここで、中間データとは、ベースカラーを示す情報(以下、カラー情報と呼ぶ)、法線を示す情報(以下、法線情報と呼ぶ)、反射率を示す情報(以下、反射率情報と呼ぶ)、又はCGの各ピクセルの世界座標を示す情報(以下、CG座標情報と呼ぶ)等である。中間データには、例えば、上述の情報のうちの少なく1つが含まれる。
【0024】
カラー情報とは、CGに写る、仮想オブジェクトを構成する1以上の要素のそれぞれの色又は色彩を示す情報である。また、法線情報とは、CGに写る、仮想オブジェクトを構成する各要素の向きを示す情報である。また、反射率情報とは、CGに写る、仮想オブジェクトを構成する各要素の反射率を示す情報である。また、CG座標情報とは、例えば、CGの各ピクセルに対応する、仮想空間における位置を示す情報であって、現実空間と同じ座標系を用いて表現された情報である。
【0025】
具体的には、仮想オブジェクトを示す3次元形状データが1以上のポリゴンにより表現される場合、カラー情報とは、例えば、CGに写る、仮想オブジェクトを構成する各ポリゴンの色又は色彩を示す情報である。また、この場合、法線情報とは、例えば、CGに写る、仮想オブジェクトを構成する各ポリゴンの向きを示す情報であって、各ポリゴンの法線の方向を示す情報である。また、この場合、反射率情報とは、例えば、CGに写る、仮想オブジェクトを構成する各ポリゴンの反射率を示す情報である。
【0026】
仮想オブジェクトを示す3次元形状データは、1以上のポリゴンにより表現されるものに限定されるものではなく、例えば、点群又はボクセルにより表現されるものであってもよい。仮想オブジェクトを示す3次元形状データが点群により表現される場合、カラー情報は、例えば、CGに写る、仮想オブジェクトを示す点群における各点の色を示す情報である。また、この場合、法線情報とは、例えば、CGに写る、仮想オブジェクトを示す点群における各点について、点同士を結んだ線分により囲まれる平面の向きを示す情報であって、この平面の法線の方向を示す情報である。また、この場合、反射率情報とは、例えば、CGに写る、仮想オブジェクトを示す点群における各点について、点同士を結んだ線分により囲まれる平面の反射率を示す情報である。
【0027】
同様に、仮想オブジェクトを示す3次元形状データがボクセルにより表現される場合、カラー情報は、例えば、CGに写る、仮想オブジェクトの表面を示す各ボクセルの色を示す情報である。また、この場合、法線情報とは、例えば、CGに写る、仮想オブジェクトの表面を示すボクセル同士を結んだ線分により囲まれる平面の向きを示す情報であって、この平面の法線の方向を示す情報である。また、この場合、反射率情報とは、例えば、CGに写る、仮想オブジェクトの表面を示すボクセル同士を結んだ線分により囲まれる平面の反射率を示す情報である。以下、仮想オブジェクトを示す3次元形状データは、1以上のポリゴンにより表現されているものとして説明する。
【0028】
MR生成部103は、撮像画像にCGを重畳させて、MR動画像のフレームを生成する。具体的には、撮像画像データ、深度データ、及びCGのデータを用いてMR動画像のフレームを生成する。MR生成部103は、MR動画像のフレームの生成を繰り返すことによりMR動画像を生成する。MR生成部103により生成されたMR動画像は、表示部205に出力されて、表示部205に表示される。ここで、MR生成部103により生成されるMR画像は動画像であるため、MR生成部103は、MR動画像の各フレームを表示のフレームレートに合わせて生成する。したがって、CG生成部102は、MR動画像の各フレームを生成するときに用いられるCGを表示のフレームレートに合わせて生成する。撮像画像データとCGのデータとを用いたMR動画像のフレームの生成手法については、周知であるため詳細な説明を省略する。
【0029】
受付部104は、取得要求を示す信号を受信することにより、取得要求を受け付ける。当該信号は、例えば、ユーザが操作部206を操作することにより、操作部206から出力される。出力部105は、取得要求を受け付けたときのMR動画像のフレームに対応するMR静止画像を生成する際に用いる生成情報を出力する。生成情報には、取得要求を受けたときの、MR生成部103によるMR動画像のフレーム生成に用いられる撮像画像データが含まれる。また、生成情報には、レンダリング情報であって、取得要求を受けたときの、MR動画像のフレーム生成に用いられるCGを生成するときのレンダリング情報が含まれる。更に、生成情報には、中間データであって、取得要求を受けたときの、MR動画像のフレーム生成に用いられるCGを生成するときに生成される中間データが含まれる。
【0030】
また、出力部105は、視点情報に加えて、取得要求を受けたときにレンダリング条件として使用されるシェーダコードのデータを含むレンダリング情報を、生成情報に含めて出力してもよい。また、出力部105は、視点情報に加えて、光源の位置、光源が放つ光の差し込む角度、この光の色、又はこの光の強度等を示す情報(以下、光源情報と呼ぶ)を含むレンダリング情報を、生成情報に含めて出力してもよい。また、出力部105は、撮像画像データに加えて、取得要求を受けたときの、MR動画像のフレーム生成に用いられる深度データを生成情報に含めて出力してもよい。出力部105は、生成情報を、通信回線150を介して画像生成装置120に出力する。生成情報の出力先は、画像生成装置120に限定されるものではなく、出力部105は、補助記憶装置204又は
図1には不図示の記憶装置等に生成情報を出力し、出力した生成情報を記憶させてもよい。
【0031】
<画像生成装置の構成>
画像生成装置120は、画像処理装置100が出力する生成情報を用いて、取得要求を受けたときのMR動画像のフレームに対応する高品質のMR静止画像を生成する。具体的には、画像生成装置120は、生成情報に含まれるレンダリング情報と中間データとを用いて、再レンダリングを行うことにより、取得要求を受けたときのMR動画像のフレームに重畳されたCGに対応する高品質のCGを生成する。更に、画像生成装置120は、生成情報に含まれる撮像画像データ及び深度データと、生成したCGのデータとを用いて、撮像画像にCGに重畳させて、高品質のMR静止画像を生成する。
図3を参照して、画像生成装置120の機能構成について説明する。
図3は、実施形態1に係る画像生成装置120の機能構成の一例を示すブロック図である。画像生成装置120は、機能構成として、取得部301、CG生成部302、及びMR生成部303を有する。
【0032】
画像生成装置120は、パーソナルコンピュータ、スマートフォン、又はタブレット端末等のコンピュータにより構成される。画像生成装置120が機能構成として有する各部は、画像生成装置120に内蔵されたCPU又はGPU等のプロセッサ、及びRAM等のメモリとを用いたソフトウェアによってなされる。なお、画像生成装置120は、プロセッサとは異なる1又は複数の専用のハードウェアを有し、プロセッサによる処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、及びDSP等がある。
【0033】
<画像生成装置の各機能構成における処理>
取得部301は、通信回線150を介して、画像処理装置100が出力した生成情報を取得する。生成情報の取得元は、画像処理装置100に限定されるものではなく、取得部301は、生成情報を予め記憶した記憶装置から生成情報を読み出すことにより、生成情報を取得してもよい。CG生成部302は、取得部301により取得された生成情報に含まれる中間データとレンダリング情報とを用いて再レンダリングを行うことによりCGを生成する。CG生成部302は、中間データを用いて再レンダリングを行うことにより、高品質のCGを少ない演算量で生成することができる。
【0034】
MR生成部303は、取得部301により取得された生成情報に含まれる撮像画像データ及び深度データと、CG生成部302により生成されたCGとを用いて、撮像画像にCGを重畳させたMR静止画像を生成する。このようにして、画像生成装置120は、取得要求を受けたときのMR動画像のフレームに対応する高品質のMR静止画像を少ない演算量で生成することができる。
【0035】
<画像処理装置の動作>
図4を参照して、画像処理装置100の動作について説明する。
図4は、実施形態1に係る画像処理装置100の処理フローの一例を示すフローチャートである。画像処理装置100は、例えば、ユーザによる操作等による、表示装置へのMR動画像の表示を終了させる指示を受け付けるまでの間、当該フローチャートの処理を繰り返し実行する。まず、S410にて、画像取得部101は撮像画像データを取得する。次に、S420にて、画像取得部101は深度データを取得する。次に、S430にて、CG生成部102は、CGを生成する。CG生成部102がCGを生成する際のレンダリング処理の詳細については、
図5及び6を用いて後述する。
【0036】
次に、S440にて、MR生成部103は、S410にて取得された撮像画像データ、S420にて取得された深度データ、及びS430にて生成されたCGのデータを用いて、MR動画像のフレームを生成する。例えば、MR生成部103は、S420にて取得された深度データと、S430にて生成されたCGの各画素の深度、すなわち、仮想視点からCGの画素に対応する仮想空間における点までの距離を示す情報とを比較する。具体的には、例えば、MR生成部103は、撮像画像の画素と、この画素に重畳させるCGの画素とを画素ごとに比較して、どちらがユーザの視点の位置の近傍に位置するかを判定する。CGの画素の方がユーザの視点の位置の近傍に位置する場合、このCGの画素を撮像画像に重畳することによりMR動画像のフレームを生成する。
【0037】
次に、S450にて、受付部104は、取得要求を受け付けたか否かを判定する。S450にて取得要求を受け付けたと判定された場合、S460にて、出力部105は、生成情報を出力する。このとき、出力部105は、生成情報に加えて、S440にて生成されたMR動画像のフレームのデータを出力してもよい。なお、出力部105は、生成情報に含まれる撮像画像データ、レンダリング情報、及び中間データ等をまとめて出力してもよく、撮像画像データ、レンダリング情報、及び中間データ等を任意の順に順次出力してもよい。S460の後、又は、S450にて取得要求を受け付けていないと判定された場合、画像処理装置100は、
図4に示すフローチャートの処理を終了する。終了後、画像処理装置100は、S410の処理に戻って、例えば、表示装置へのMR動画像の表示を終了させる指示を受け付けるまでの間、当該フローチャートの処理を繰り返し実行する。
【0038】
<レンダリング処理>
図5及び6を参照して、S430にて実行されるレンダリング処理について説明する。
図5は、実施形態1に係る画像処理装置100が有するCG生成部102のレンダリング処理の処理フローの一例を示すフローチャートである。
図6は、実施形態1に係る画像処理装置100が有するCG生成部102におけるレンダリング処理の一例を説明するための説明図である。
図6(a)は、仮想視点603と仮想オブジェクト601との位置関係を示している。まず、S431にて、CG生成部102は、ポリゴン等の3次元形状データにより表現された仮想オブジェクト601の各頂点を、2次元平面602に投影する。
図6(b)は、仮想視点603から見たときの仮想オブジェクト601の見えを示すものであって、2次元平面602に投影された仮想オブジェクト601の頂点同士を線分でつなぎ、この線分で囲まれた領域604を示している。すなわち、領域604は、2次元平面602に投影された仮想オブジェクト601に対応する領域である。
【0039】
図6(c)は、2次元平面602を画像605に変換したときの領域604に対応する画像領域606を示している。S431の後、S432にて、CG生成部102は、2次元平面602に投影された形状、すなわち、領域604をラスタライズして、領域604に対応する画像領域606を含む画像605を取得する。なお、
図6(c)において、画像605中に矩形を用いて表現された各領域は、画像605における画素(ピクセル)を示し、画像領域606は、画素の集まりにより表現される。
【0040】
図6(d)は、中間データ607の集まりを示している。S432の後、S433にて、CG生成部102は、後段の処理で用いられる様々なデータを生成して、生成したもののうちの一部又は全部を中間データ607としてRAM203等に保存する。後段の処理とは、例えば、仮想オブジェクト601に対するライティング処理である。ライティング処理で必要となるデータとは、例えば、上述したカラー情報、法線情報、及びCG座標情報であるが、これに限定されるものではない。
【0041】
図6(e)は、ライティング処理後の仮想オブジェクト601に対応する画像領域609を含む画像608を示している。S433の後、S434にて、CG生成部102は、S433にて生成されたデータを用いて、ライティング処理を行う。CG生成部102は、ライティング処理により、光源から放たれた光が仮想オブジェクト601に照射されたときに現れる陰影を算出して、光源の影響を考慮した画像608を生成する。ライティング処理の詳細については後述する。
【0042】
図6(f)は、画像608に対してエフェクト処理を行った後の画像610を示している。S434の後、S435にて、CG生成部102は、S434にて生成された画像608に対して、ポストプロセスとして様々なエフェクト処理を行い、仮想オブジェクト601に対応する最終的なCGとして画像610を生成する。エフェクト処理とは、例えば、表示内容に応じて画像全体の明るさを調整する露出処理であるが、これに限定されるものではない。
【0043】
<ライティング処理>
本実施形態では、ライティング処理の一例として、拡散反射光及び鏡面反射光の2つの反射光の強さを算出する形態について説明する。以下、本実施形態の光源は、無限遠方に存在し、光源からの距離によらず光の強さが一定であるディレクショナルライトであるものとして説明する。なお、本実施形態では、一例として、光源はディレクショナルライトであり、上述の2つの反射光があるものとして説明するが、ライティング処理の手法はこれに限定されるものではない。
【0044】
拡散反射は、反射光が様々な方向に同程度の強さで広がる反射である。
図7を参照して、拡散反射光の算出方法について説明する。
図7は、拡散反射光の一般的な算出方法の一例を説明するための説明図である。以下、ある平面701にディレクショナルライトからの光が照射されている場合について説明する。光線ベクトル702はディレクショナルライトの照射光が進む方向を示している。法線ベクトル703は、平面701の法線の方向を示している。このとき、拡散反射光の強さI
dは、次式(1)を用いて算出される。ここで、k
dは拡散反射率、I
iは光源が放つ照射光の強さ、Nは平面701の法線ベクトル703、Lはディレクショナルライトの照射光の光線ベクトル702である。
I
d=k
d・I
i・(-N・L) ・・・式(1)
【0045】
鏡面反射は正反射方向に強く反射する、ハイライトとも呼ばれる反射である。
図8を参照して、鏡面反射光の算出方法について説明する。
図8は、鏡面反射光の一般的な算出方法の一例を説明するための説明図である。以下、ある平面801にディレクショナルライトからの光が照射されている場合について説明する。光線ベクトル802はディレクショナルライトの照射光が進む方向を示している。法線ベクトル803は平面801の法線の方向を示している。光線ベクトル804はディレクショナルライト802からの光の鏡面反射光が進む方向を示している。視点806は視点の位置を示し、視線ベクトル805は視線の方向を示している。このとき、鏡面反射光の強さI
sは、次式(2)を用いて算出される。ここで、k
sは鏡面反射率、I
iは光源が放つ照射光の強さ、Rはディレクショナルライトの照射光が平面801で鏡面反射した鏡面反射光が進む方向を示す光線ベクトル、Vは視線ベクトル、nは鏡面反射の強さを制御するパラメータを表している。
I
s=k
s・I
i・(-R・V)
n ・・・ 式(2)
【0046】
また、反射光ベクトルR及び視線ベクトルVは、次式(3)及び(4)を用いて算出できる。ここで、Nは平面801の法線ベクトル、Lはディレクショナルライトの照射光の光線ベクトル、(xe,ye,ze)は視点の座標、(xs,ys,zs)はディレクショナルライトの照射光の入射点の座標を示している。
R=L+2(-N・L)×N ・・・ 式(3)
V=(xs,ys,zs)-(xe,ye,ze) ・・・ 式(4)
【0047】
拡散反射及び鏡面反射による2つの反射光の強さを用いて、ライティング処理を行い、その結果として、画素値ILは次式(5)を用いて求められる。ここで、IBはベースカラーの値を示す。
IL=(Id+Is)・IB ・・・ 式(5)
【0048】
<画像生成装置の動作>
図9を参照して、画像生成装置120の動作について説明する。
図9は、実施形態1に係る画像生成装置120の処理フローの一例を示すフローチャートである。例えば、画像生成装置120は、これまで用いていない新たな生成情報が存在する場合に
図9に示すフローチャートの処理を実行する。まず、S910にて、取得部301は、生成情報を取得する。本実施形態では、生成情報には、レンダリング情報として、光源が放つ光の差し込む角度、及びこの光の強度等を示す光源情報が含まれ、CG生成部302は、これらの情報が示す生成情報を使用してCGを生成するものとして説明する。なお、CGを生成する際に使用するレンダリング条件は、これに限定されるものではない。
【0049】
次に、S950にて、CG生成部302は、S910にて取得された生成情報に含まれる、カラー情報、法線情報、反射率情報、及びCG座標情報等の中間データと、視点情報及び光源情報等のレンダリング情報とを用いてCGを生成する。具体的には、例えば、CG生成部302は、例えば、CG生成部102によるS434と同様に、ライティング処理として、まず、拡散反射光及び鏡面反射光の2つの反射光の強さを算出することにより、CGを生成する。拡散反射光の強さは、中間データに含まれる、反射率情報が示す拡散反射率及び法線情報と、レンダリング情報に含まれる、光源情報が示す光源が放つ光の差し込む角度に基づく照射光の光線ベクトル及び光源情報が示す光源が放つ光の強度とを用いて算出される。鏡面反射光の強さは、法線情報と照射光の光線ベクトルとから求められる反射光ベクトル、及び視点情報とCG座標情報とから求められる視線ベクトル、鏡面反射率、及び光源が放つ光の強度を用いて算出される。更に、CG生成部302は、算出した上述の2つの反射光の強さと、中間データに含まれるカラー情報とを用いたライティング処理を行うことにより、最終的なCGを生成する。
【0050】
次に、S960にて、MR生成部303は、S910にて取得された生成情報に含まれる、撮像画像データ及び深度データ、並びに、S950にて生成されたCGのデータを用いて、撮像画像にCGを重畳させたMR静止画像を生成する。S960の後、画像生成装置120は、
図9に示すフローチャートの処理を終了する。画像生成装置120は、取得要求を受けたときの中間データを用いてCGのレンダリングを行うことにより、高品質のCGを少ない演算量で生成することができる。結果として、画像生成装置120は、取得要求を受けたときのMR動画像のフレームに対応する高品質のMR静止画像を少ない演算量で生成することができる。
【0051】
したがって、以上のように構成された画像処理装置100によれば、任意の時点におけるMR静止画像の品質を向上させつつ、MR静止画像の生成処理の際の演算量をより少なくすることができる。
【0052】
なお、上述したように、レンダリング情報は、取得要求を受けたときにレンダリング条件として使用されるシェーダコードのデータを含むものであってよい。レンダリング情報にシェーダコードのデータが含まれる場合、CG生成部302は、中間データに加えて、シェーダコードを用いてライティング処理を行ってもよい。このように構成することにより、CG生成部302は、CG生成部102と同じシェーダコードを用いてライティング処理を行うことができる。そのため、MR生成部303は、MR生成部103が生成したMR動画像のフレームに対して、違和感の少ない、且つ、高品質のMR静止画像を少ない演算量で生成することができる。
【0053】
また、実施形態1では、生成情報として出力されるレンダリング情報には、視点情報に加えて、CG生成部102がライティング処理に使用した光源情報も含まれるものとして説明したが、これに限定されるものではない。例えば、生成情報として出力されるレンダリング情報は、光源情報等の視点情報以外の情報を含んでなくてもよい。生成情報として出力されるレンダリング情報が光源情報を含まない場合、CG生成部302は、例えば、予め用意された光源情報を用いてライティング処理を行い、CGを生成してもよい。
【0054】
また、例えば、CG生成部302は、生成情報に含まれる撮像画像データ、又は撮像画像データ及び深度データを用いて、撮像画像に写るオブジェクトとオブジェクトの影とから光源情報を生成し、生成した光源情報を用いてライティング処理を行ってもよい。また、例えば、CG生成部302は、操作部206を介してユーザにより設定された光源情報を用いてライティング処理を行ってもよい。なお、光源情報とは、光源が放つ光の差し込む角度、又はこの光の強度等を示す情報であるが、光源情報は、これに限定されるものではない。このように構成することにより、CG生成部302は、CG生成部102がCGを生成したときとは異なる条件でライティング処理を行ったCGを生成できる。
【0055】
また、実施形態1では、画像処理装置100は深度データを取得し、深度データを生成情報として更に出力するものと説明したが、画像処理装置100は必ずしも深度データを取得する必要はなく、また、深度データは生成情報に必ずしも含まれる必要はない。画像処理装置100が深度データを取得しない場合、MR生成部103は、例えば、撮像画像の全ての画素についてCGを重畳する等の手法により、MR動画像のフレームを生成してもよい。また、画像生成装置120が取得した生成情報に深度データが含まれていない場合、MR生成部303は、撮像画像の全ての画素についてCGを重畳する等の手法により、MR静止画像を生成してもよい。なお、撮像画像の全ての画素についてCGを重畳する手法は一例であって、深度データがない場合の処理は、これに限定されるものではない。
【0056】
また、実施形態1では、CG生成部302は、S950にてライティング処理を行うことにより最終的なCGを生成する形態について説明したが、S950の処理はこれに限定されるものではない。例えば、CG生成部302は、S950にてライティング処理に加えて、S435で行ったようなポストプロセス処理を行ってもよい。この場合、CG生成部302は、生成情報に含まれる中間データを用いてポストプロセス処理を行ってもよい。
【0057】
また、実施形態1では、出力部105は、S460にて生成情報の出力を行ったが、生成情報の出力のタイミングはこれに限定されるものではない。例えば、出力部105は、S460においてはRAM203等のメモリ上に生成情報を退避しておく。その後、表示装置へのMR動画像の表示を終了させる指示を受け付けてMR動画像のフレームの生成処理が不要となったとき等の処理に余裕ができたときに、メモリ上に退避した生成情報を出力してもよい。
【0058】
また、実施形態1では、画像処理装置100と画像生成装置120とを互いに異なる装置として構成する形態を説明したが、これに限定されるものではない。例えば、画像処理装置100は、画像取得部101、CG生成部102、MR生成部103、受付部104、及び出力部105に加えて、画像生成装置120が有する取得部301、CG生成部302、及びMR生成部303を有してもよい。
【0059】
また、画像処理装置100の適用の範囲は、HMDに限定されるものではない。例えば、画像処理装置100をスマートフォン又はタブレット端末等に適用することも可能である。例えば、画像処理装置100をスマートフォンに適用する場合、撮像装置110は、例えば、スマートフォンの表示面とは反対の面に配置される。また、この場合、画像処理装置100は、生成したMR動画像をスマートフォンの表示面に表示させる。
【0060】
[実施形態2]
図1乃至3、並びに
図10及び11を参照して、実施形態2に係る画像処理装置100(以下、単に、画像処理装置100と表記する)について説明する。実施形態1に係る画像処理装置100は、生成情報として、撮像画像データを出力するものであった。また、実施形態1に係る画像生成装置120は、生成情報に含まれる撮像画像データを用いて、撮像画像にCGを重畳させたMR静止画像を生成するものであった。
【0061】
これに対して、画像処理装置100は、撮像画像データに加えて、撮像画像データに対応するRAWデータについても取得し、生成情報として、撮像画像データに替えてRAWデータを出力する。また、実施形態2に係る画像生成装置120は、生成情報に含まれるRAWデータを用いて、RAWデータを現像することにより得た画像(以下、現像画像と呼ぶ)にCGを重畳させたMR静止画像を生成する。これにより、より高品質のMR静止画像を生成することができる。
【0062】
<画像処理装置の構成>
画像処理装置100は、実施形態1に係る画像処理装置100と同様に
図1に一例として示す各部を備える。画像処理装置100が備える各部の処理は、実施形態1に係る画像処理装置100と同様に、画像処理装置100に内蔵されたASIC若しくはFPGA等のハードウェアによってなされる。当該処理は、
図2に一例として示すようなRAM203等のメモリとCPU201等のプロセッサとを用いたソフトウェアによってなされてもよい。また、画像処理装置100は、実施形態1に係る画像処理装置100と同様に、
図1に一例として示す画像処理システム1に適用される。
【0063】
<画像処理装置の各機能構成における処理>
画像処理装置100が機能構成として備える各部の処理について説明する。なお、以下、画像処理装置100が備えるCG生成部102、MR生成部103、及び受付部104は、実施形態1に係る画像処理装置100が備える対応する各部と同様であるため、詳細な説明を省略する。画像取得部101は、撮像画像データ、及び撮像画像データに対応するRAWデータを取得する。具体的には、画像取得部101は、撮像装置110が出力する撮像画像データ及びRAWデータを取得する。撮像画像データ及びRAWデータの取得元は撮像装置110に限定されるものではない。例えば、画像取得部101は、
図1には不図示の記憶装置から撮像画像データ及びRAWデータの少なくとも一方を読み出すことにより、撮像画像データ又はRAWデータを取得してもよい。この場合、例えば、撮像装置110は、撮像画像データ又はRAWデータを記憶装置に出力して、記憶装置に予め記憶させる。画像取得部101は、撮像画像データ及びRAWデータに加えて、深度データを取得してもよい。以下、画像取得部101は、撮像画像データ及びRAWデータに加えて、深度データについても取得するものとして説明する。
【0064】
出力部105は、CGの再レンダリングにより、取得要求を受け付けたときのMR動画像のフレームに対応するMR静止画像を生成する際に用いる生成情報を出力する。生成情報には、取得要求を受けたときのMR動画像のフレーム生成に用いられる撮像画像データに対応するRAWデータが含まれる。画像取得部101が深度データを取得する場合、出力部105は、出力する生成情報に深度データを含めてもよい。また、出力部105は、取得要求を受けたときのCGの生成処理に用いるレンダリング情報と、取得要求を受けたときのCGの生成処理のときに生成される中間データとを生成情報として出力する。レンダリング情報及び中間データの詳細については上述したため説明を省略する。
【0065】
なお、レンダリング情報には、少なくとも、視点情報が含まれている。レンダリング情報は、視点情報に加えて、取得要求を受けたときの光源情報、及び、取得要求を受けたときにレンダリング条件として使用されるシェーダコードのデータのうちの少なくともいずれかを含んでいてもよい。出力部105は、生成情報を、通信回線150を介して画像生成装置120に出力する。生成情報の出力先は、画像生成装置120に限定されるものではなく、出力部105は、補助記憶装置204、又は
図1には不図示の記憶装置等に生成情報を出力し、出力した生成情報をこれらのいずれかに記憶させてもよい。
【0066】
<画像生成装置の構成>
画像生成装置120は、実施形態1に係る画像生成装置120と同様に
図3に一例として示す各部を備える。画像生成装置120は、実施形態1に係る画像処理装置100と同様に、コンピュータにより構成される。画像生成装置120が機能構成として有する各部は、画像生成装置120に内蔵されたCPU又はGPU等のプロセッサ、及びRAM等のメモリとを用いたソフトウェアによってなされる。なお、画像生成装置120は、プロセッサとは異なる1又は複数の専用のハードウェアを有し、プロセッサによる処理の少なくとも一部を専用のハードウェアが実行してもよい。
【0067】
<画像生成装置の各機能構成における処理>
画像生成装置120が機能構成として備える各部の処理について説明する。なお、以下、画像生成装置120が備える取得部301及びCG生成部302は、実施形態1に係る画像生成装置120が備える対応する各部と同様であるため、詳細な説明を省略する。MR生成部303は、取得部301により取得された生成情報に含まれるRAWデータと、CG生成部302により生成されたCGのデータとを用いてMR静止画像を生成する。MR生成部303により生成されるMR静止画像は、取得要求を受けたときのMR動画像のフレームに対応する高品質のMR静止画像である。
【0068】
具体的には、まず、MR生成部303は、RAWデータを現像して、RAWデータに対応する現像画像を取得する。ここで、現像に使用するパラメータは、例えば、
図3には不図示の記憶装置に予め記憶されており、MR生成部303は、記憶装置から読み出すことにより、現像に使用するパラメータを取得する。現像に使用するパラメータは、記憶装置に記憶されているものに限定されるものではなく、例えば、ユーザによる入力により設定されたものであってもよい。次に、MR生成部303は、現像画像にCG生成部302により生成されたCGを重畳させて、MR静止画像を生成する。生成情報に深度データが含まれる場合、MR生成部303は、深度データを用いて、現像画像にCGを重畳させてもよい。
【0069】
以上のような構成により、画像生成装置120は、中間データを用いてレンダリングを行うことにより高品質のCGを少ない演算量で生できるため、高品質のMR静止画像を少ない演算量で生成することができる。
【0070】
<画像処理装置の動作>
図10を参照して、画像処理装置100の動作について説明する。
図10は、実施形態2に係る画像処理装置100の処理フローの一例を示すフローチャートである。画像処理装置100は、例えば、ユーザによる操作等による、表示装置へのMR動画像の表示を終了させる指示を受け付けるまでの間、当該フローチャートの処理を繰り返し実行する。以下の説明において、実施形態1に係る画像処理装置100と同様の処理については、
図4と同じ符号を用いて説明を省略する。
【0071】
まず、画像処理装置100は、S410の処理を実行する。S410の後、S1010にて、画像取得部101は、S410にて取得した撮像画像データに対応するRAWデータを取得する。S1010の後、画像処理装置100は、S420からS460までの処理を実行する。なお、S460にて出力部が出力する生成情報は、撮像画像データを含まず、撮像画像データに対応するRAWデータを含むものである。S460の後、又は、S450にて取得要求を受け付けていないと判定された場合、画像処理装置100は、
図10に示すフローチャートの処理を終了する。終了後、画像処理装置100は、S410の処理に戻って、例えば、表示装置へのMR動画像の表示を終了させる指示を受け付けるまでの間、当該フローチャートの処理を繰り返し実行する。
【0072】
<画像生成装置の動作>
図11を参照して、画像生成装置120の動作について説明する。
図11は、実施形態2に係る画像生成装置120の処理フローの一例を示すフローチャートである。例えば、画像生成装置120は、これまで用いていない、新たな生成情報が存在する場合に
図11に示すフローチャートの処理を実行する。以下の説明において、実施形態1に係る画像生成装置120と同様の処理については、
図9と同じ符号を用いて説明を省略する。
【0073】
まず、画像生成装置120は、S910及びS950の処理を実行する。なお、S910にて取得部301が取得する生成情報は、RAWデータを含むものである。S950の後、S1110にて、MR生成部303は、生成情報に含まれるRAWデータを現像して、現像画像のデータを取得する。S1110の後、S1120にて、S910にて取得された生成情報に含まれる深度データ、S950にて生成されたCGのデータ、及び、S1110にて取得された現像画像のデータを用いて、現像画像にCGを重畳させたMR静止画像を生成する。
【0074】
S1110の後、画像生成装置120は、
図11に示すフローチャートの処理を終了する。画像生成装置120は、取得要求を受けたときの中間データを用いてCGのレンダリングを行うことにより、高品質のCGを少ない演算量で生成することができる。結果として、画像生成装置120は、取得要求を受けたときのMR動画像のフレームに対応する高品質のMR静止画像を少ない演算量で生成することができる。また、画像生成装置120は、取得要求を受けたときの、MR動画像のフレーム生成に用いられた撮像画像データに対応するRAWデータを用いて、このフレームの対応するMR静止画像を生成する。これにより、画像生成装置120は、撮像画像データを用いた場合と比較して、より高品質のMR静止画像を生成することができる。
【0075】
したがって、以上のように構成された画像処理装置100によれば、任意の時点におけるMR静止画像の品質を向上させつつ、MR静止画像の生成処理の際の演算量をより少なくすることができる。また、画像処理装置100によれば、RAWデータを生成情報として出力することにより、MR静止画像の品質をより向上させることができる。
【0076】
なお、実施形態2では、画像処理装置100は、撮像画像データに替えて撮像画像データに対応するRAWデータを生成情報として出力するものとして説明したが、RAWデータ及び撮像画像データの両方を生成情報として出力してもよい。
【0077】
また、実施形態2では、画像処理装置100と画像生成装置120とを互いに異なる装置として構成する形態を説明したが、これに限定されるものではない。例えば、画像処理装置100は、画像取得部101、CG生成部102、MR生成部103、受付部104、及び出力部105に加えて、画像生成装置120が有する取得部301、CG生成部302、及びMR生成部303を有してもよい。
【0078】
[その他の実施形態]
本開示は、上述の実施形態の1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1つ以上の機能を実現するASIC等の回路によっても実現可能である。
【0079】
また、本開示は、その開示の範囲内において、各実施形態の自由な組み合わせ、各実施形態の任意の構成要素の変形、又は、各実施形態において任意の構成要素の省略が可能である。
【0080】
[本開示の構成]
[構成1]
撮像画像のデータを取得する画像取得手段と、
レンダリング条件を示すレンダリング情報に基づいて、仮想空間に配置された仮想オブジェクトの仮想視点からの見えに対応するCGを生成するCG生成手段と、
前記撮像画像に前記CGを重畳させて、MR動画像を生成するMR生成手段と、
前記MR動画像のフレームに対応するMR静止画像のデータの取得要求を受け付ける受付手段と、
前記MR静止画像を生成する際に用いる生成情報を出力する出力手段と、
を有し、
前記出力手段は、前記生成情報として、前記取得要求を受けたときの前記撮像画像のデータと、前記取得要求を受けたときの前記レンダリング情報と、前記CGを生成するときに生成される中間データであって、前記取得要求を受けたときの前記中間データとを出力し、
前記中間データは、前記CGを生成するときのライティング処理に用いられる情報であること
を特徴とする画像処理装置。
【0081】
[構成2]
前記中間データは、前記仮想オブジェクトを構成する1以上の要素のそれぞれの色を示す情報、前記1以上の要素のそれぞれの前記仮想視点からの距離を示す情報、及び前記1以上の要素のそれぞれの反射率を示す情報のうちの少なくとも1つを含むこと
を特徴とする構成1に記載の画像処理装置。
【0082】
[構成3]
前記仮想オブジェクトが1以上のポリゴンにより構成される場合、前記中間データは、前記仮想オブジェクトを構成する前記1以上のポリゴンのそれぞれの色を示す情報、前記1以上のポリゴンのそれぞれの前記仮想視点からの距離を示す情報、前記1以上のポリゴンのそれぞれの反射率を示す情報、及び前記1以上のポリゴンのそれぞれの向きを示す情報のうちの少なくとも1つを含むこと
を特徴とする構成1又は2に記載の画像処理装置。
【0083】
[構成4]
前記MR動画像を表示装置に表示させる表示制御手段をさらに有し、
前記表示装置は、頭部装着型の前記表示装置であり、
前記表示制御手段は、前記MR動画像を前記頭部装着型の前記表示装置に表示させること
を特徴とする構成1乃至3のいずれか1つに記載の画像処理装置。
【0084】
[構成5]
前記出力手段は、前記生成情報に加えて、前記取得要求を受けたときの前記MR動画像のフレームのデータを出力すること
を特徴とする構成1乃至4のいずれか1つに記載の画像処理装置。
【0085】
[構成6]
前記レンダリング情報は、少なくとも前記仮想視点の位置を示す視点情報を含み、前記視点情報に加えて、前記取得要求を受けたときに前記レンダリング条件として使用されるシェーダコードのデータ、及び前記取得要求を受けたときに前記レンダリング条件として使用される光源情報のうちの少なくとも1つを含むこと
を特徴とする構成1乃至5のいずれか1つに記載の画像処理装置。
【0086】
[構成7]
前記画像取得手段は、前記撮像画像における撮像範囲のうちの少なくとも一部に対応する空間の深度を示す深度データを更に取得し、
前記MR生成手段は、前記画像取得手段により取得された前記撮像画像のデータ及び前記深度データ、並びに、前記CG生成手段により生成された前記CGのデータを用いて前記MR動画像を生成し、
前記出力手段は、前記生成情報として、前記深度データを更に出力すること
を特徴とする構成1乃至6のいずれか1つに記載の画像処理装置。
【0087】
[構成8]
前記画像取得手段は、前記撮像画像のデータに対応するRAWデータを更に取得し、
前記出力手段は、前記生成情報として、前記撮像画像のデータに替えて、前記取得要求を受けたときの前記RAWデータを出力すること
を特徴とする構成1乃至7のいずれか1つに記載の画像処理装置。
【0088】
[構成9]
前記CG生成手段は第1のCG生成手段として動作して第1のCGを生成し、
前記MR生成手段は第1のMR生成手段として動作して前記MR動画像を生成し、
前記出力手段により出力された前記生成情報を取得する取得手段と、
前記取得手段により取得された前記生成情報に含まれる前記中間データ及び前記レンダリング情報を用いて、ライティング処理を行うことにより、前記第1のCGとは異なる第2のCGを生成する第2のCG生成手段と、
前記取得手段により取得された前記生成情報に含まれる前記撮像画像のデータと、前記第2のCG生成手段により生成された前記第2のCGのデータとを用いて、前記撮像画像に前記第2のCGを重畳することにより、前記MR静止画像を生成する第2のMR生成手段と、
を有すること
を特徴とする構成1乃至8のいずれか1つに記載の画像処理装置。
【0089】
[構成10]
前記画像取得手段は、前記撮像画像における撮像範囲のうちの少なくとも一部に対応する空間の深度を示す深度データを更に取得し、
前記出力手段は、前記生成情報として、前記取得要求を受けたときの前記深度データを更に出力し、
前記第2のMR生成手段は、前記取得手段により取得された前記生成情報に含まれる前記撮像画像のデータ及び前記深度データ、並びに前記第2のCGのデータを用いて、前記MR静止画像を生成すること
を特徴とする構成9に記載の画像処理装置。
【0090】
[構成11]
前記画像取得手段は、前記撮像画像のデータに対応するRAWデータを更に取得し、
前記出力手段は、前記生成情報として、前記撮像画像のデータに替えて、前記取得要求を受けたときの前記RAWデータを出力し、
前記第2のMR生成手段は、前記撮像画像に替えて、前記取得手段により取得された前記生成情報に含まれる前記RAWデータを現像することにより得られた画像に、前記第2のCGを重畳することにより前記MR静止画像を生成すること
を特徴とする構成9又は10に記載の画像処理装置。
【0091】
[構成12]
前記第2のCG生成手段は、前記取得手段により取得された前記生成情報に含まれる前記中間データを用いてポストプロセス処理を更に行うことにより、前記第2のCGを生成すること
を特徴とする構成9乃至11のいずれか1つに記載の画像処理装置。
【0092】
[構成13]
撮像画像のデータを取得する画像取得工程と、
レンダリング条件を示すレンダリング情報に基づいて、仮想空間に配置された仮想オブジェクトの仮想視点からの見えに対応するCGを生成するCG生成工程と、
前記撮像画像に前記CGを重畳させて、MR動画像を生成するMR生成工程と、
前記MR動画像のフレームに対応するMR静止画像のデータの取得要求を受け付ける受付工程と、
前記MR静止画像を生成する際に用いる生成情報を出力する出力工程と、
を有し、
前記出力工程は、前記生成情報として、前記取得要求を受けたときの前記撮像画像のデータと、前記取得要求を受けたときの前記レンダリング情報と、前記CGを生成するときに生成される中間データであって、前記取得要求を受けたときの前記中間データとを出力し、
前記中間データは、前記CGを生成するときのライティング処理に用いられる情報であること
を特徴とする画像処理方法。
【0093】
[構成14]
コンピュータを、構成1乃至12のいずれか1つに記載の画像処理装置として動作させるためのプログラム。
【符号の説明】
【0094】
100 画像処理装置
104 受付部
105 出力部