Movatterモバイル変換


[0]ホーム

URL:


JP7465133B2 - Information processing device and information processing method - Google Patents

Information processing device and information processing method
Download PDF

Info

Publication number
JP7465133B2
JP7465133B2JP2020056622AJP2020056622AJP7465133B2JP 7465133 B2JP7465133 B2JP 7465133B2JP 2020056622 AJP2020056622 AJP 2020056622AJP 2020056622 AJP2020056622 AJP 2020056622AJP 7465133 B2JP7465133 B2JP 7465133B2
Authority
JP
Japan
Prior art keywords
environment map
image
polyhedron
information processing
mapped
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020056622A
Other languages
Japanese (ja)
Other versions
JP2021157458A5 (en
JP2021157458A (en
Inventor
貴文 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon IncfiledCriticalCanon Inc
Priority to JP2020056622ApriorityCriticalpatent/JP7465133B2/en
Publication of JP2021157458ApublicationCriticalpatent/JP2021157458A/en
Publication of JP2021157458A5publicationCriticalpatent/JP2021157458A5/ja
Application grantedgrantedCritical
Publication of JP7465133B2publicationCriticalpatent/JP7465133B2/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Landscapes

Description

Translated fromJapanese

本発明は、複合現実空間を提供するための技術に関するものである。The present invention relates to technology for providing mixed reality spaces.

近年、現実空間と仮想空間とのつなぎ目のない結合を目的とした、複合現実感(Mixed Reality:MR)システムの開発が盛んに行われている。MRシステムの研究の進展に伴い、特許文献1や非特許文献1のように現実物体と仮想物体の合成を目的とした、マスキング技術も提案されている。In recent years, there has been active development of mixed reality (MR) systems aimed at seamlessly combining real and virtual spaces. As research into MR systems progresses, masking techniques have also been proposed, such as those in Patent Document 1 and Non-Patent Document 1, which aim to synthesize real and virtual objects.

現実空間と仮想空間の融合性を高める方法の一つとして、金属のように表面に光沢がある仮想物体を複合現実空間で提示する際、仮想物体の周囲に存在する現実空間の景色が、仮想物体の表面に反射して映り込む現象の再現が挙げられる。このような映り込みを正確に実現するためには、観察者に提示する複合現実空間の画像の画素に対応するすべての光線の伝播を物理法則に従ってシミュレートするレイトレーシングを利用する方法がある(特許文献2)。しなしながら、レイトレーシングは一般に計算量が大きいことが知られている。One method for enhancing the integration of real space and virtual space is to reproduce the phenomenon in which the scenery in real space surrounding a virtual object that has a shiny surface, such as metal, is reflected and projected onto the surface of the virtual object when the virtual object is presented in a mixed reality space. In order to accurately reproduce such reflections, there is a method that uses ray tracing, which simulates the propagation of all light rays corresponding to the pixels of the image in the mixed reality space presented to the observer according to the laws of physics (Patent Document 2). However, ray tracing is generally known to require a large amount of calculations.

映り込みを簡易的に実現する方法として、コンピュータグラフィックの分野では、古くより環境マッピングと呼ばれる方法が取られてきた。環境マッピングは、物体に映り込むと想定される周囲環境の画像を用意し、物体に対してあたかも映り込んでいるかのようにテクスチャマッピングする方法である。特許文献3では、角度を制御できる撮像装置を利用して周囲の動画像を取得し、これを環境マッピングで利用することで映り込みを実現する方法が開示されている。In the field of computer graphics, a method known as environment mapping has long been used as a simple way to achieve reflections. Environment mapping is a method in which an image of the surrounding environment that is expected to be reflected in an object is prepared, and texture mapping is performed on the object to make it appear as if it is being reflected. Patent Document 3 discloses a method of achieving reflections by acquiring moving images of the surroundings using an imaging device with a controllable angle, and using this in environment mapping.

特開2002-157606号公報JP 2002-157606 A特許第4999711号公報Patent No. 4999711特開2011-175567号公報JP 2011-175567 A

林建一,加藤博一,西田正吾,“境界線ベースステレオマッチングを用いた実物体と仮想物体の前後判定”,日本バーチャルリアリティ学会論文誌,Vol.10,No.3,pp.371-380,2005.Kenichi Hayashi, Hirokazu Kato, Shogo Nishida, "Determining Front and Back of Real and Virtual Objects Using Boundary-Based Stereo Matching," Transactions of the Virtual Reality Society of Japan, Vol. 10, No. 3, pp. 371-380, 2005.

しかしながら、一般に環境マッピングは、十分に大きな球体あるいは立方体といった多面体に周囲の様子を映した画像が貼付されていると想定し、観察者の視線が仮想物体の表面で反射した際のベクトル(以下、反射ベクトル)から該画像のどの画素の色と対応付くかを調べる方法であり、あくまで近似である。したがって、現実空間に存在する3次元物体の映り込みを正確に再現することはできず、映り込み位置が本来の位置から大きくずれることがある。本発明では、仮想物体の表面に現実空間の映り込みを実現する場合に、映り込み位置の不正確さを低減させるための技術を提供する。However, environment mapping generally assumes that an image of the surroundings is attached to a sufficiently large polyhedron such as a sphere or cube, and examines which pixel color in the image corresponds to the vector (hereinafter referred to as the reflection vector) when the observer's line of sight is reflected on the surface of the virtual object; this is merely an approximation. As a result, it is not possible to accurately reproduce the reflection of a three-dimensional object that exists in real space, and the position of the reflection may deviate significantly from the original position. This invention provides a technology for reducing the inaccuracy of the position of the reflection when real space is reflected on the surface of a virtual object.

本発明の一様態は、背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成手段と、現実空間の色画像を取得するデバイスと移動体との間の距離に応じたサイズを有する多面体に、該デバイスが取得した該移動体の色画像をマッピングすることで得られるマッピング済み多面体を第2環境マップとして生成する第2生成手段と、仮想物体の画像を生成する第3生成手段とを備え、前記第3生成手段は、前記仮想物体の画像の画素値を、前記第1環境マップと、前記第2環境マップと、に基づいて決定することを特徴とする。One aspect of the present invention includes a first generation means for generating a polyhedron onto which a color image for a background is mapped as a first environment map, a second generation means for generating a mapped polyhedron obtained by mapping a color image of a moving body acquired by a device that acquires a color image of real space onto a polyhedron having a size according to the distance between the moving body and the device, as a second environment map, and a third generation means for generating an image of a virtual object, the third generation means being characterized in that it determines pixel values of the image of the virtual object based on the first environment map and the second environment map.

本発明の構成によれば、仮想物体の表面に現実空間の映り込みを実現する場合に、映り込み位置の不正確さを低減させることができる。The configuration of the present invention makes it possible to reduce inaccuracies in the position of reflections when reflecting real space on the surface of a virtual object.

システムの構成例を示すブロック図。FIG. 1 is a block diagram showing an example of a system configuration.環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理のフローチャート。11 is a flowchart of a process for generating an environment map and a process for generating an "image of a virtual object in which the reflection of the surrounding environment is reproduced" based on the environment map.第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を示す図。1 is a diagram showing a bird's-eye view of a first environmental map, a second environmental map, a user wearing anHMD 1000 on his or her head, and an RGB-D sensor 1100. FIG.環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理のフローチャート。11 is a flowchart of a process for generating an environment map and a process for generating an "image of a virtual object in which the reflection of the surrounding environment is reproduced" based on the environment map.第1多面体、第2多面体、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を示す図。1 is a diagram showing a bird's-eye view of a first polyhedron, a second polyhedron, a first environmental map, a second environmental map, a user wearing anHMD 1000 on his or her head, and an RGB-D sensor 1100. FIG.第1多面体、第2多面体、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を示す図。1 is a diagram showing a bird's-eye view of a first polyhedron, a second polyhedron, a first environmental map, a second environmental map, a user wearing anHMD 1000 on his or her head, and an RGB-D sensor 1100. FIG.システムの構成例を示すブロック図。FIG. 1 is a block diagram showing an example of a system configuration.コンピュータ装置のハードウェア構成例を示すブロック図。FIG. 1 is a block diagram showing an example of the hardware configuration of a computer apparatus.情報処理装置1200が行う処理のフローチャート。13 is a flowchart of a process performed by theinformation processing device 1200.

以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。The following embodiments are described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe multiple features, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicate explanations are omitted.

[第1の実施形態]
環境マッピングにおいて、仮想物体における現実空間の映り込みの位置が正確に表現されない主な原因は、主に次の2点である。つまり、計算を省略するために、周囲の空間の形状を球体あるいは立方体などの多面体で近似することと、多面体の大きさを映り込みが発生する物体に対し十分に大きく設定することにある。これらの原因によって、特に仮想物体の近傍の周囲の現実空間の映り込みは誤差が大きくなることが多い。本実施形態を含む以下の各実施形態では、複合現実感において上記問題を低減するために、周囲の現実空間の形状や、現実空間に存在する特定物体までの距離や位置を計測し、この情報を利用して近似の精度を向上させる。
[First embodiment]
In environment mapping, the main reasons why the position of the reflection of the real space in the virtual object is not accurately represented are mainly the following two points. That is, in order to omit calculations, the shape of the surrounding space is approximated by a polyhedron such as a sphere or a cube, and the size of the polyhedron is set to be sufficiently large compared to the object in which the reflection occurs. Due to these reasons, the reflection of the surrounding real space, especially in the vicinity of the virtual object, often has a large error. In each of the following embodiments including this embodiment, in order to reduce the above problems in mixed reality, the shape of the surrounding real space and the distance and position to a specific object existing in the real space are measured, and this information is used to improve the accuracy of the approximation.

本実施形態では、環境マッピングを実施する際の、計算上の想定としての、周囲の現実空間の画像を貼付する多面体の大きさや形状や位置を、現実空間の部屋の大きさや移動体の位置に合わせて設定することで、映り込み位置のずれの軽減を行う。In this embodiment, when performing environment mapping, the size, shape, and position of the polyhedron onto which the image of the surrounding real space is attached are set according to the size of the room in real space and the position of the moving object, thereby reducing the deviation in the position of the reflection.

先ず、本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。図1に示す如く、本実施形態に係るシステムは、RGB-Dセンサ1100と、HMD1000と、情報処理装置1200と、を有する。情報処理装置1200とHMD1000との間は、互いにデータ通信が可能なように接続されており、例えば、LANやインターネットなどのネットワークを介して接続されている。なお、情報処理装置1200とHMD1000との間の接続形態については特定の接続形態に限らない。例えば、無線であっても良いし有線であっても良い。また、HMD1000と情報処理装置1200とを一体化させて1つの装置としてもよい。また、情報処理装置1200とRGB-Dセンサ1100との間は、互いにデータ通信が可能なように接続されている。情報処理装置1200とRGB-Dセンサ1100との間の接続形態についても、特定の接続形態に限らない。First, a configuration example of a system according to this embodiment will be described with reference to the block diagram of FIG. 1. As shown in FIG. 1, the system according to this embodiment includes an RGB-D sensor 1100, anHMD 1000, and aninformation processing device 1200. Theinformation processing device 1200 and the HMD 1000 are connected to each other so that they can communicate data with each other, for example, via a network such as a LAN or the Internet. The connection between theinformation processing device 1200 and the HMD 1000 is not limited to a specific connection. For example, it may be wireless or wired. The HMD 1000 and theinformation processing device 1200 may be integrated into one device. Theinformation processing device 1200 and the RGB-D sensor 1100 are connected to each other so that they can communicate data with each other. The connection between theinformation processing device 1200 and the RGB-D sensor 1100 is not limited to a specific connection.

先ず、RGB-Dセンサ1100について説明する。RGB-Dセンサ1100は、現実空間中に配置され、その配置位置からの現実空間の色画像(例えばRGB画像)および距離画像を取得可能なセンサである。周知の如く、距離画像の各画素の画素値は該距離画像の撮像面からの奥行値を表していることから、該画素は現実空間(3次元空間)における1点(3次元点)に対応することになる。このように、距離画像は、該距離画像における各画素に対応する3次元点の集合(3次元点群)に対応していることから、以下では、距離画像を3次元点群と称する場合がある。First, the RGB-D sensor 1100 will be described. The RGB-D sensor 1100 is a sensor that is placed in real space and can acquire a color image (e.g., an RGB image) and a distance image of the real space from its placement position. As is well known, the pixel value of each pixel in the distance image represents a depth value from the imaging plane of the distance image, so that the pixel corresponds to a point (a three-dimensional point) in real space (a three-dimensional space). In this way, the distance image corresponds to a collection of three-dimensional points (a three-dimensional point cloud) that correspond to each pixel in the distance image, and therefore, hereinafter, the distance image may be referred to as a three-dimensional point cloud.

なお、本実施形態では、現実空間の色画像および距離画像が取得できるのであれば、その方式は特定の方式に限らない。例えば、「RGBカメラ」と「Time of Flight方式あるいはアクティブステレオ方式、あるいは位相差検出方式などを利用した深度カメラ」とを組み合わせて、現実空間の色画像および距離画像を取得する方法を採用してもよい。また、ステレオのRGBカメラから距離画像を算出する方法や、単眼のRGBカメラから機械学習などによって距離画像を推定する方法を採用してもよい。In this embodiment, the method is not limited to a specific method as long as a color image and a distance image of the real space can be acquired. For example, a method may be adopted in which a color image and a distance image of the real space are acquired by combining an "RGB camera" with a "depth camera using a time-of-flight method, an active stereo method, or a phase difference detection method, etc." Also, a method may be adopted in which a distance image is calculated from a stereo RGB camera, or a method in which a distance image is estimated from a monocular RGB camera by machine learning, etc.

次に、HMD1000について説明する。HMD1000は、現実空間と仮想空間とを融合させた複合現実空間をユーザに提供するための頭部装着型表示装置の一例である。ユーザは自身の頭部にHMD1000を装着して該HMD1000に表示される画像を観察することで該複合現実空間を体感することができる。Next, we will explain the HMD 1000. The HMD 1000 is an example of a head-mounted display device that provides a user with a mixed reality space that combines real space and virtual space. A user can experience the mixed reality space by wearing the HMD 1000 on their head and observing the images displayed on the HMD 1000.

撮像部1010は、HMD1000を頭部に装着したユーザの視線方向と略一致する視線方向の現実空間の動画像を撮像し、該撮像した動画像の各フレームの色画像(現実空間の撮像画像)は順次、情報処理装置1200に対して出力される。撮像部1010は、単一の撮像センサによって単一画像を取得するものであっても良いし、左眼用及び右眼用の二つの撮像センサによってステレオ画像を取得するものであっても良い。Theimaging unit 1010 captures moving images in real space with a line of sight that is approximately the same as the line of sight of a user wearing the HMD 1000 on his head, and color images of each frame of the captured moving images (captured images of real space) are output sequentially to theinformation processing device 1200. Theimaging unit 1010 may capture a single image using a single imaging sensor, or may capture stereo images using two imaging sensors, one for the left eye and one for the right eye.

表示部1020は、HMD1000を自身の頭部に装着したユーザの眼前に位置するようにHMD1000に取り付けられており、情報処理装置1200から送信される画像や文字を表示する。表示部1020は、ステレオ立体視のために、左眼と右眼に個別に表示を行えるよう、左眼用表示部と右眼用表示部とを有する構成であっても良いし、どちらか一方の眼のみに提示する構成でも良い。Thedisplay unit 1020 is attached to the HMD 1000 so as to be positioned in front of the eyes of a user wearing theHMD 1000 on his or her head, and displays images and text transmitted from theinformation processing device 1200. Thedisplay unit 1020 may be configured to have a left eye display unit and a right eye display unit so that images can be displayed separately to the left eye and right eye for stereoscopic vision, or may be configured to present images to only one of the eyes.

なお、HMD1000に加えて若しくは代えて撮像機能と表示機能とを有する装置を用いてもよく、そのような装置には、例えば、スマートフォンやタブレット端末装置が適用可能である。In addition to or instead of the HMD 1000, a device having imaging and display functions may be used, and examples of such devices include a smartphone and a tablet terminal device.

次に、情報処理装置1200について説明する。情報処理装置1200には、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末装置などのコンピュータ装置を適用することができる。Next, theinformation processing device 1200 will be described. Theinformation processing device 1200 can be a computer device such as a PC (personal computer), a smartphone, or a tablet terminal device.

生成部1210は、RGB-Dセンサ1100から得られる現実空間の距離画像および色画像に基づいて、仮想物体に対する環境マッピングを実施するために用いる環境マップを生成する。Thegeneration unit 1210 generates an environment map to be used for performing environment mapping for a virtual object based on the distance image and color image of real space obtained from the RGB-D sensor 1100.

算出部1220は、撮像部1010から出力された現実空間の撮像画像から、世界座標系(現実空間中における1点を原点とし、該原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系)における撮像部1010(視点)の位置姿勢を求める。本実施形態では、現実空間の撮像画像中に写っている特徴点に基づいて、Simultaneous Localization and Mapping(SLAM)の処理を実施することで、世界座標系における撮像部1010の位置姿勢を求める。なお、世界座標系における撮像部1010の位置姿勢を取得するための方法には様々な方法があり、特定の方法に限らない。例えば、撮像部1010に対する相対的な位置姿勢が既知のセンサをHMD1000に取り付け、該センサによる計測値を該相対的な位置姿勢に基づいて変換することで、世界座標系における撮像部1010の位置姿勢を求めるようにしても良い。また、モーションキャプチャシステムを利用して、世界座標系における撮像部1010の位置姿勢を求めてもよい。Thecalculation unit 1220 calculates the position and orientation of the imaging unit 1010 (viewpoint) in a world coordinate system (a coordinate system in which one point in the real space is the origin and three mutually orthogonal axes at the origin are the x-axis, y-axis, and z-axis) from the captured image of the real space output from theimaging unit 1010. In this embodiment, the position and orientation of theimaging unit 1010 in the world coordinate system is calculated by performing Simultaneous Localization and Mapping (SLAM) processing based on feature points captured in the captured image of the real space. Note that there are various methods for acquiring the position and orientation of theimaging unit 1010 in the world coordinate system, and the method is not limited to a specific method. For example, a sensor whose relative position and orientation with respect to theimaging unit 1010 is known may be attached to theHMD 1000, and the measurement value by the sensor may be converted based on the relative position and orientation to calculate the position and orientation of theimaging unit 1010 in the world coordinate system. Additionally, a motion capture system may be used to determine the position and orientation of theimaging unit 1010 in the world coordinate system.

レンダリング部1230は、周囲環境の映り込みが再現された仮想物体を、生成部1210が生成した環境マップに基づいて生成し、該生成した仮想物体を算出部1220が求めた位置姿勢を有する視点から見た画像を、仮想物体画像として生成する。Therendering unit 1230 generates a virtual object in which the reflection of the surrounding environment is reproduced based on the environment map generated by thegeneration unit 1210, and generates an image of the generated virtual object from a viewpoint having the position and orientation determined by thecalculation unit 1220 as a virtual object image.

合成部1240は、撮像部1010から出力された現実空間の撮像画像と、レンダリング部1230によって生成された仮想物体画像と、を合成した合成画像を複合現実空間の画像として生成する。Thesynthesis unit 1240 generates a synthetic image by synthesizing the captured image of the real space output from theimaging unit 1010 and the virtual object image generated by therendering unit 1230 as an image in mixed reality space.

ここで、現実空間の撮像画像の画像領域における一部もしくは全部に仮想物体画像を合成(重畳)させる場合、現実物体と仮想物体との奥行きを考慮して、物体同士の隠蔽関係を整合させても良い。つまり、撮像画像における現実物体の画像領域において該現実物体よりも視点に近い仮想物体が重なっている部分領域については、仮想物体画像の重畳を許可する。一方、撮像画像における現実物体の画像領域において該現実物体よりも視点から遠い仮想物体が被っている部分領域については仮想物体画像の重畳を禁止する。Here, when a virtual object image is synthesized (superimposed) on a part or all of the image area of a captured image in real space, the occlusion relationship between the real object and the virtual object may be adjusted by taking into account the depth between the real object and the virtual object. In other words, the superimposition of a virtual object image is permitted for a partial area in the image area of a real object in the captured image where a virtual object closer to the viewpoint than the real object overlaps. On the other hand, the superimposition of a virtual object image is prohibited for a partial area in the image area of a real object in the captured image where a virtual object farther from the viewpoint than the real object overlaps.

そして合成部1240は、該生成した複合現実空間の画像をHMD1000(表示部1020)に対して出力する。これにより、HMD1000を自身の頭部に装着したユーザの眼前に、該複合現実空間の画像を提示することができる。Thesynthesis unit 1240 then outputs the generated image of the mixed reality space to the HMD 1000 (display unit 1020). This makes it possible to present the image of the mixed reality space in front of the eyes of a user wearing theHMD 1000 on their head.

次に、視点の位置姿勢に応じた複合現実空間の画像を生成してHMD1000に出力するために情報処理装置1200が行う処理について、図9のフローチャートに従って説明する。なお、図9のフローチャートに従った処理は、1フレーム分の複合現実空間の画像を生成してHMD1000に出力するための処理である。よって、実際には、情報処理装置1200は、図9のフローチャートに従った処理を繰り返すことで、複数フレームの複合現実空間の画像を生成してHMD1000に出力する。Next, the process performed by theinformation processing device 1200 to generate an image of the mixed reality space according to the position and orientation of the viewpoint and output it to theHMD 1000 will be described with reference to the flowchart in FIG. 9. Note that the process according to the flowchart in FIG. 9 is a process for generating one frame of an image of the mixed reality space and outputting it to theHMD 1000. Therefore, in practice, theinformation processing device 1200 generates multiple frames of images of the mixed reality space and outputs them to theHMD 1000 by repeating the process according to the flowchart in FIG. 9.

ステップS901では、算出部1220は、撮像部1010から出力された現実空間の撮像画像を取得する。ステップS902では、算出部1220は、ステップS901で取得した撮像画像から、世界座標系における撮像部1010(視点)の位置姿勢を求める。In step S901, thecalculation unit 1220 acquires a captured image of the real space output from theimaging unit 1010. In step S902, thecalculation unit 1220 calculates the position and orientation of the imaging unit 1010 (viewpoint) in the world coordinate system from the captured image acquired in step S901.

ステップS903では、生成部1210は、RGB-Dセンサ1100から得られる現実空間の距離画像および色画像に基づいて環境マップを生成する。そして、レンダリング部1230は、周囲環境の映り込みが再現された仮想物体を、生成部1210が生成した環境マップに基づいて生成し、該生成した仮想物体をステップS902で求めた位置姿勢を有する視点から見た画像を、仮想物体画像として生成する。In step S903, thegeneration unit 1210 generates an environment map based on the distance image and color image of the real space obtained from the RGB-D sensor 1100. Therendering unit 1230 then generates a virtual object in which the reflection of the surrounding environment is reproduced based on the environment map generated by thegeneration unit 1210, and generates an image of the generated virtual object viewed from a viewpoint having the position and orientation determined in step S902 as a virtual object image.

ステップS904では、合成部1240は、ステップS901で取得した現実空間の撮像画像と、ステップS903でレンダリング部1230によって生成された仮想物体画像と、を合成した合成画像を複合現実空間の画像として生成する。ステップS905では、合成部1240は、ステップS904で生成した複合現実空間の画像をHMD1000(表示部1020)に対して出力する。In step S904, thesynthesis unit 1240 generates a synthetic image by synthesizing the captured image of the real space acquired in step S901 with the virtual object image generated by therendering unit 1230 in step S903 as an image of the mixed reality space. In step S905, thesynthesis unit 1240 outputs the image of the mixed reality space generated in step S904 to the HMD 1000 (display unit 1020).

次に、環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理について、図2のフローチャートに従って説明する。Next, the process of generating an environment map and the process of generating an "image of a virtual object in which the reflection of the surrounding environment is reproduced" based on the environment map will be explained with reference to the flowchart in Figure 2.

図2のフローチャートにおいてステップS2100およびステップS2200では、HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。よって、ステップS2100およびステップS2200は、該ユーザが該部屋に入る前に前処理として実行される。In the flowchart of FIG. 2, steps S2100 and S2200 generate an environmental map of a real space (a room, which is an example of a space in which the user experiences a mixed reality space) that does not include the user wearing theHMD 1000 on his/her head. Therefore, steps S2100 and S2200 are executed as pre-processing before the user enters the room.

ステップS2100では、生成部1210は、RGB-Dセンサ1100から出力された「HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の距離画像および色画像」を取得する。ここで、一般的なRGB-Dセンサ1100の視野角では、全周囲の距離画像および色画像を一度に取得することは困難である。よって本実施形態では、RGB-Dセンサ1100を様々な方向に向けて全周囲(部屋全体)の撮像を行って、部屋全体の距離画像(部屋全体の3次元点群)および色画像(部屋の全周囲色画像)を取得する。そして生成部1210は、このような撮像により得られた部屋全体の距離画像が表す該部屋の形状(部屋全体の3次元点群によって規定される形状)に最もフィットする多面体(直方体、立方体など)を第1多面体として求める。In step S2100, thegenerator 1210 acquires a distance image and a color image of a real space (a room, which is an example of a space in which the user experiences a mixed reality space) that does not include the user wearing theHMD 1000 on his head, output from the RGB-D sensor 1100. Here, with the viewing angle of a typical RGB-D sensor 1100, it is difficult to acquire a distance image and a color image of the entire periphery at once. Therefore, in this embodiment, the RGB-D sensor 1100 is oriented in various directions to capture an image of the entire periphery (the entire room) to acquire a distance image (a three-dimensional point cloud of the entire room) and a color image (a color image of the entire periphery of the room) of the entire room. Thegenerator 1210 then determines, as the first polyhedron, a polyhedron (such as a rectangular parallelepiped or cube) that best fits the shape of the room (a shape defined by the three-dimensional point cloud of the entire room) represented by the distance image of the entire room obtained by such imaging.

なお、第1多面体を取得する方法は特定の方法に限らない。例えば、RGB-Dセンサ1100が取得する距離画像は部屋の一部の距離画像であってもよく、一部の距離画像から構成が困難な第1多面体の面については、他の面の位置姿勢や所定の値を用いて補完しても良い。また、事前に部屋の形状をメジャーなどの計測器で計測しておき、該計測により得られた計測値をもとに、第1多面体を構成してもよい。The method of acquiring the first polyhedron is not limited to a specific method. For example, the distance image acquired by the RGB-D sensor 1100 may be a distance image of part of the room, and faces of the first polyhedron that are difficult to construct from the partial distance image may be supplemented using the positions and orientations of other faces or predetermined values. In addition, the shape of the room may be measured in advance with a measuring device such as a tape measure, and the first polyhedron may be constructed based on the measurement values obtained by the measurement.

このような撮像を行った後、本システムのオペレータはRGB-Dセンサ1100を、「HMD1000を装着して複合現実空間を体感するユーザが部屋内で行動すると推定される領域」を撮像可能な位置および姿勢に移動させる。該移動後のRGB-Dセンサ1100によって撮像された距離画像および色画像は生成部1210に出力される。生成部1210は、該距離画像が表す3次元点群が、部屋全体の距離画像が表す3次元点群のどの部分に最も一致するかを特定し、該特定した部分の3次元点群に基づいて、第1多面体に対するRGB-Dセンサ1100の相対的な位置姿勢(相対位置姿勢)を求める。また生成部1210は、第1多面体を規定する各頂点の位置を世界座標系における位置に変換する。この変換では、第1多面体を規定する各頂点の位置(RGB-Dセンサ1100の位置姿勢を基準とする座標系における位置)を、世界座標系におけるRGB-Dセンサ1100の位置姿勢と上記の相対位置姿勢とに基づいて変換する処理が行われる。世界座標系におけるRGB-Dセンサ1100の位置姿勢の取得方法は特定の取得方法に限らない。例えば、世界座標系における原点の位置にマーカを配置し、このマーカの色画像をRGB-Dセンサ1100で取得し、それを画像処理することによって自身の世界座標系における位置姿勢を推定しても良い。また、RGB-Dセンサ1100にモーションキャプチャなどの位置姿勢センサを取り付けて、自身の世界座標系における位置姿勢を計測しても良い。あるいは、RGB-Dセンサ1100にマーカを添付し、それを外部から撮影し、該撮影により得られる画像を画像処理することによって、RGB-Dセンサ1100の世界座標系における位置姿勢を推定しても良い。After capturing images in this way, the operator of the system moves the RGB-D sensor 1100 to a position and orientation that allows capturing images of the "area in the room where a user wearing theHMD 1000 experiencing a mixed reality space is estimated to be active." The distance image and color image captured by the RGB-D sensor 1100 after the movement are output to thegeneration unit 1210. Thegeneration unit 1210 identifies which part of the three-dimensional point cloud represented by the distance image of the entire room the three-dimensional point cloud represented by the distance image of the entire room most closely matches with the three-dimensional point cloud represented by the identified part, and determines the relative position and orientation (relative position and orientation) of the RGB-D sensor 1100 with respect to the first polyhedron. Thegeneration unit 1210 also converts the positions of the vertices that define the first polyhedron to positions in the world coordinate system. In this conversion, the position of each vertex that defines the first polyhedron (position in a coordinate system based on the position and orientation of the RGB-D sensor 1100) is converted based on the position and orientation of the RGB-D sensor 1100 in the world coordinate system and the above-mentioned relative position and orientation. The method of acquiring the position and orientation of the RGB-D sensor 1100 in the world coordinate system is not limited to a specific acquisition method. For example, a marker may be placed at the position of the origin in the world coordinate system, a color image of the marker may be acquired by the RGB-D sensor 1100, and the position and orientation of the sensor in the world coordinate system may be estimated by image processing the image. In addition, a position and orientation sensor such as a motion capture may be attached to the RGB-D sensor 1100 to measure the position and orientation of the sensor in the world coordinate system. Alternatively, a marker may be attached to the RGB-D sensor 1100, an image of the sensor may be captured from the outside, and the image obtained by the image capture may be image processed to estimate the position and orientation of the RGB-D sensor 1100 in the world coordinate system.

次に、ステップS2200では、生成部1210は、ステップS2100でRGB-Dセンサ1100から取得した全周囲色画像を第1多面体にマッピングしたマッピング済み多面体を、第1環境マップとして生成する。このマッピングでは、第1多面体の各頂点と、全周囲色画像上の画素位置と、を対応付けている。これにより、第1多面体上の着目位置に対応する全周囲色画像上の画素位置を特定することができ、第1多面体上の着目位置に対応する色が、該着目位置に対応する全周囲色画像上の画素位置における画素値(色)であると特定することができる。Next, in step S2200, thegenerator 1210 generates a mapped polyhedron as a first environment map by mapping the panoramic color image acquired from the RGB-D sensor 1100 in step S2100 onto the first polyhedron. In this mapping, each vertex of the first polyhedron is associated with a pixel position on the panoramic color image. This makes it possible to identify a pixel position on the panoramic color image that corresponds to a position of interest on the first polyhedron, and to identify the color that corresponds to the position of interest on the first polyhedron as the pixel value (color) at the pixel position on the panoramic color image that corresponds to the position of interest.

次に、ステップS2300~ステップS2500では、HMD1000を頭部に装着したユーザを含む現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。ステップS2300~ステップS2500の処理は、仮想物体画像を生成する各フレームについて行ってもよいし、所定の時間間隔で行ってもよい。Next, in steps S2300 to S2500, an environmental map of the real space (a room, which is an example of a space in which the user experiences a mixed reality space) including the user wearing theHMD 1000 on his/her head is generated. The processing in steps S2300 to S2500 may be performed for each frame in which a virtual object image is generated, or may be performed at a predetermined time interval.

ステップS2300では生成部1210は、RGB-Dセンサ1100から出力された距離画像および色画像を取得する。そして生成部1210は、該取得した距離画像および色画像の両方若しくは一方を用いた背景差分によって、該色画像におけるユーザの画像領域および該距離画像における該ユーザの領域を特定する。例えば、事前にユーザを含まない現実空間の画像を背景情報として一度取得しておく。そして、その後、ユーザが存在する現実空間の画像と背景情報との差分から、該画像におけるユーザの画像領域を抽出する。この「画像」を色画像として上記の処理を行えば、色画像におけるユーザの画像領域を特定することができ、「画像」を距離画像として上記の処理を行えば、距離画像におけるユーザの画像領域を特定することができる。In step S2300, thegeneration unit 1210 acquires the distance image and color image output from the RGB-D sensor 1100. Thegeneration unit 1210 then identifies the user's image area in the color image and the user's area in the distance image by background difference using both or one of the acquired distance image and color image. For example, an image of real space not including the user is acquired in advance as background information. Then, the image area of the user in the image is extracted from the difference between the image of the real space in which the user exists and the background information. If the above process is performed using this "image" as a color image, the user's image area in the color image can be identified, and if the above process is performed using the "image" as a distance image, the user's image area in the distance image can be identified.

ステップS2400では、生成部1210は、RGB-Dセンサ1100からユーザまでの距離に基づいて、第2多面体を設定する。例えば、生成部1210は、ステップS2300で特定した「距離画像におけるユーザの画像領域」を構成する各画素の画素値のうち最も小さい画素値(ユーザとRGB-Dセンサ1100との間の最小距離)を距離dとして特定する。そして生成部1210は、RGB-Dセンサ1100の世界座標系における位置を中心とし、一辺が2dの立方体を第2多面体として設定する。In step S2400, thegeneration unit 1210 sets a second polyhedron based on the distance from the RGB-D sensor 1100 to the user. For example, thegeneration unit 1210 identifies the smallest pixel value (the smallest distance between the user and the RGB-D sensor 1100) among the pixel values of each pixel constituting the "image area of the user in the distance image" identified in step S2300 as the distance d. Thegeneration unit 1210 then sets a cube with a side length of 2d, centered on the position of the RGB-D sensor 1100 in the world coordinate system, as the second polyhedron.

なお、距離dに適用するものは、上記の例に限らず、例えば、ステップS2300で特定した「距離画像におけるユーザの画像領域」を構成する各画素の画素値の平均値を距離dとしてもよい。また、「距離画像におけるユーザの画像領域」に対応する3次元点群の領域の一部をセグメンテーションし、このセグメンテーションされた一部の領域の重心(該領域の3次元点群の位置から求める)までの距離であっても良い。また、第2多面体は立方体に限らず、例えば、RGB-Dセンサ1100の世界座標系における位置を中心とし、「距離画像におけるユーザの画像領域」に対応する3次元点群の一部若しくは全部を含む多面体であってもよい。Note that the distance d is not limited to the above examples, and may be, for example, the average pixel value of each pixel constituting the "user's image area in the distance image" identified in step S2300. Alternatively, a part of the area of the three-dimensional point cloud corresponding to the "user's image area in the distance image" may be segmented, and the distance to the center of gravity of this segmented part of the area (determined from the position of the three-dimensional point cloud of the area) may be used. Furthermore, the second polyhedron is not limited to a cube, and may be, for example, a polyhedron centered on the position of the RGB-D sensor 1100 in the world coordinate system and including part or all of the three-dimensional point cloud corresponding to the "user's image area in the distance image".

ステップS2500では、生成部1210は、第2多面体において、「距離画像におけるユーザの画像領域」に対応する領域Rに、「色画像におけるユーザの画像領域」をマッピングしたマッピング済み多面体を、第2環境マップとして生成する。第2多面体において領域Rを除く他の領域には、「適当な値」を有する画素を有する画像をマッピングする。「適当な値」には、例えば、色画像がαチャンネルを有さない場合は、予め定義されたブランクの値を用いてもよいし、色画像がαチャンネルを有する場合は、α値「0」を用いてもよい。ユーザの画像領域は、環境マップの画像の一部にしか過ぎないため、メモリアクセスの処理時間を省くために画像領域のみを書き換える工夫などを適宜行っても良い。In step S2500, thegenerator 1210 generates a mapped polyhedron as the second environment map, in which the "user's image area in the color image" is mapped to region R in the second polyhedron that corresponds to the "user's image area in the distance image." An image having pixels with "appropriate values" is mapped to other regions in the second polyhedron except region R. For the "appropriate value," for example, a predefined blank value may be used if the color image does not have an alpha channel, or an alpha value of "0" may be used if the color image has an alpha channel. Since the user's image area is only a part of the image in the environment map, appropriate measures may be taken to rewrite only the image area in order to reduce memory access processing time.

ここで、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を図3に示す。図3では、部屋3000全体の3次元点群に最もフィットする多面体3030が第1多面体として求められており、該多面体3030には部屋3000全体の全周囲色画像がマッピングされており、これが第1環境マップとなる。また、図3では、RGB-Dセンサ1100の位置を中心とし且つユーザ3010とRGB-Dセンサ1100との間の最小距離dの2倍の距離を一辺とする多面体3040が設定されている。多面体3040においてユーザの画像領域に対応する領域Rには、色画像における該画像領域がマッピングされており、これが第2環境マップとなる。また、ユーザ3010の頭部にはHMD1000が装着されている。Here, FIG. 3 shows an overhead view of the first environment map, the second environment map, the user wearing theHMD 1000 on his/her head, and the RGB-D sensor 1100. In FIG. 3, apolyhedron 3030 that best fits the three-dimensional point cloud of theentire room 3000 is determined as the first polyhedron, and the entire surrounding color image of theentire room 3000 is mapped onto thepolyhedron 3030, which becomes the first environment map. Also, in FIG. 3, apolyhedron 3040 is set that is centered on the position of the RGB-D sensor 1100 and has a side that is twice the distance of the minimum distance d between theuser 3010 and the RGB-D sensor 1100. In thepolyhedron 3040, the image area in the color image is mapped onto an area R that corresponds to the image area of the user, which becomes the second environment map. Also, theHMD 1000 is worn on the head of theuser 3010.

次に、ステップS2600~S2800では、第1環境マップおよび第2環境マップを用いて、周囲の現実空間の映り込みを反映させた仮想物体の画像(仮想物体画像)を生成する。ステップS2600~ステップS2800の処理は、仮想物体画像を生成する各フレームについて行う。Next, in steps S2600 to S2800, the first and second environment maps are used to generate an image of a virtual object (virtual object image) that reflects the surrounding real space. The processing in steps S2600 to S2800 is performed for each frame for which a virtual object image is generated.

ステップS2600では、レンダリング部1230は先ず、仮想物体を生成して配置する。そしてレンダリング部1230は、視点の位置から、仮想物体画像の各画素(着目画素)に対応する仮想空間中の位置への方向ベクトルを視線ベクトルとして求める。そしてレンダリング部1230は、それぞれの視線ベクトルについて、仮想物体において該視線ベクトルとの交点位置(仮想物体上の位置)を求め、該交点位置における該視線ベクトルの反射ベクトルを求める。仮想物体は、該仮想物体を規定する規定データ(仮想物体がポリゴンで構成される場合は、該ポリゴンの頂点の位置データ、該ポリゴンの法線データ、該ポリゴンの材質を表すデータ等を含む)を用いて構成される。仮想物体において視線ベクトルとの交点位置が特定されると、該交点位置における法線ベクトルは上記の規定データから取得することができるので、該視線ベクトルおよび該法線ベクトルから周知の計算方法により、対応する反射ベクトルを求めることができる。In step S2600, therendering unit 1230 first generates and places a virtual object. Therendering unit 1230 then obtains a line of sight vector, which is a directional vector from the viewpoint to a position in the virtual space corresponding to each pixel (target pixel) of the virtual object image. Therendering unit 1230 then obtains an intersection position (position on the virtual object) between the line of sight vector and the virtual object for each line of sight vector, and obtains a reflection vector of the line of sight vector at the intersection position. The virtual object is configured using definition data that defines the virtual object (if the virtual object is configured of polygons, this includes position data of the vertices of the polygon, normal data of the polygon, data representing the material of the polygon, etc.). When the intersection position with the line of sight vector is specified in the virtual object, the normal vector at the intersection position can be obtained from the above-mentioned definition data, so that the corresponding reflection vector can be obtained from the line of sight vector and the normal vector by a well-known calculation method.

図3の例では、仮想物体3020において視線ベクトル3050との交点位置3060を求め、該交点位置3060における法線ベクトル3070と、該視線ベクトル3050と、から該視線ベクトル3050に対応する反射ベクトル3080を求める。図3に示す如く、反射ベクトル3080は、多面体3030と交差するサイズを有するものとする。In the example of FIG. 3, anintersection position 3060 with a line ofsight vector 3050 is obtained on avirtual object 3020, and areflection vector 3080 corresponding to the line ofsight vector 3050 is obtained from anormal vector 3070 at theintersection position 3060 and the line ofsight vector 3050. As shown in FIG. 3, thereflection vector 3080 is assumed to have a size that allows it to intersect with thepolyhedron 3030.

ステップS2700では、レンダリング部1230は、ステップS2600で求めた反射ベクトルごとに次のような処理を行う。つまりレンダリング部1230は、第1環境マップにおいて反射ベクトルとの交点位置を求め、該第1環境マップにおいて該交点位置における画素値(色)を第1色情報として特定する。図3の例では、第1環境マップである多面体3030において反射ベクトル3080との交点位置3100を求め、該交点位置3100における第1環境マップの画素値(色)を第1色情報として特定する。またレンダリング部1230は、第2環境マップにおいて反射ベクトルとの交点位置を求め、該第2環境マップにおいて該交点位置における画素値(色)を第2色情報として特定する。図3の例では、第2環境マップである多面体3040において反射ベクトル3080との交点位置3090を求め、該交点位置3090における第2環境マップの画素値(色)を第2色情報として特定する。In step S2700, therendering unit 1230 performs the following process for each reflection vector obtained in step S2600. That is, therendering unit 1230 obtains an intersection position with the reflection vector in the first environment map, and identifies the pixel value (color) at the intersection position in the first environment map as the first color information. In the example of FIG. 3, therendering unit 1230 obtains anintersection position 3100 with thereflection vector 3080 in thepolyhedron 3030, which is the first environment map, and identifies the pixel value (color) of the first environment map at theintersection position 3100 as the first color information. Therendering unit 1230 also obtains an intersection position with the reflection vector in the second environment map, and identifies the pixel value (color) at the intersection position in the second environment map as the second color information. In the example of FIG. 3, theintersection position 3090 with thereflection vector 3080 is determined in thepolyhedron 3040, which is the second environment map, and the pixel value (color) of the second environment map at theintersection position 3090 is identified as the second color information.

ステップS2800では、レンダリング部1230は、反射ベクトルごとに次のような処理を行うことで、仮想物体画像における各画素の画素値(色)を確定する。レンダリング部1230は、着目反射ベクトルについてステップS2700で特定した第2色情報が「適用な値」ではない場合(第2環境マップにおいて着目反射ベクトルとの交点位置が、該第2環境マップにマッピングされているユーザの画像領域内である場合)には、着目反射ベクトルに対応する仮想物体画像の画素の画素値を第2色情報に基づいて決定する。一方、レンダリング部1230は、着目反射ベクトルについてステップS2700で特定した第2色情報が「適用な値」である場合(第2環境マップにおいて着目反射ベクトルとの交点位置が、該第2環境マップにマッピングされているユーザの画像領域外である場合)には、着目反射ベクトルに対応する仮想物体画像の画素の画素値を第1色情報に基づいて決定する。画素の画素値を第1色情報に基づいて決定する場合であっても第2色情報に基づいて決定する場合であっても、該画素に対応する仮想物体の面のマテリアル情報や環境光などを勘案して、最終的な画素値を決定する。In step S2800, therendering unit 1230 performs the following process for each reflection vector to determine the pixel value (color) of each pixel in the virtual object image. If the second color information identified in step S2700 for the focus reflection vector is not an "applicable value" (if the intersection position with the focus reflection vector in the second environment map is within the image area of the user mapped to the second environment map), therendering unit 1230 determines the pixel value of the pixel of the virtual object image corresponding to the focus reflection vector based on the second color information. On the other hand, if the second color information identified in step S2700 for the focus reflection vector is an "applicable value" (if the intersection position with the focus reflection vector in the second environment map is outside the image area of the user mapped to the second environment map), therendering unit 1230 determines the pixel value of the pixel of the virtual object image corresponding to the focus reflection vector based on the first color information. Whether the pixel value of a pixel is determined based on the first color information or the second color information, the final pixel value is determined by taking into account the material information of the surface of the virtual object corresponding to the pixel, the ambient light, etc.

このような処理をそれぞれの視線ベクトルに対応する反射ベクトルについて行うことで、視点から見た仮想物体の画像(仮想物体画像)における各画素の画素値(色)を決定することができる。By performing this process on the reflection vectors corresponding to each line of sight vector, the pixel value (color) of each pixel in the image of the virtual object seen from the viewpoint (virtual object image) can be determined.

[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。一般的な環境マッピングでは、環境マップに利用する立方体や球体などの多面体に対して、映り込みが発生する仮想物体を十分に大きく設定し、またユーザの視線ベクトルと仮想物体との交点が環境マップの多面体の中心に存在するものと仮定する。これにより、交点での反射ベクトルから、環境マップにおけるどの画素の色を交点における映り込みの色としてサンプリングするかを簡易な計算で求めることができる。
Second Embodiment
In the following embodiments including this embodiment, the differences from the first embodiment will be described, and unless otherwise specified below, it is assumed that the embodiments are the same as the first embodiment. In general environment mapping, a virtual object that generates a reflection is set to be sufficiently large relative to a polyhedron such as a cube or sphere used in the environment map, and it is assumed that the intersection point between the user's line of sight vector and the virtual object exists at the center of the polyhedron in the environment map. This makes it possible to determine by simple calculation which pixel color in the environment map should be sampled as the reflection color at the intersection point, based on the reflection vector at the intersection point.

本実施形態では、第1の実施形態のように、現実物体の形状や位置に応じて、環境マップに利用する多面体自体の形状や大きさ、位置を変化させるのではなく、反射ベクトルを補正する。これにより、既存の一般的な環境マッピングの仕組みを活用しつつ、映り込み位置の不正確さを低減する。In this embodiment, unlike the first embodiment, the shape, size, and position of the polyhedron used in the environment map are not changed according to the shape and position of the real object, but the reflection vector is corrected. This reduces inaccuracies in the reflection position while utilizing the existing general environment mapping mechanism.

環境マップを生成する処理および該環境マップに基づいて「周囲環境の映り込みが再現された仮想物体の画像」を生成する処理について、図4のフローチャートに従って説明する。The process of generating an environment map and the process of generating an "image of a virtual object in which the surrounding environment is reproduced" based on the environment map will be explained with reference to the flowchart in Figure 4.

図4のフローチャートにおいてステップS4010~S4020では、HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。よって、ステップS4010~S4020は、該ユーザが該部屋に入る前に前処理として実行される。In the flowchart of FIG. 4, steps S4010 to S4020 generate an environmental map of a real space (a room, which is an example of a space in which the user experiences a mixed reality space) that does not include the user wearing theHMD 1000 on his/her head. Therefore, steps S4010 to S4020 are executed as pre-processing before the user enters the room.

ステップS4010では、生成部1210は、RGB-Dセンサ1100から出力された「HMD1000を頭部に装着したユーザを含まない現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の距離画像および色画像」を取得する。本実施形態では、RGB-Dセンサ1100を部屋の中央に配置して様々な方向に向けて全周囲(部屋全体)の撮像を行って、部屋全体の距離画像(部屋全体の3次元点群)および色画像(部屋の全周囲色画像)を取得する。そして生成部1210は、部屋に対して十分に大きいサイズの多面体に該全周囲色画像をマッピングすることで第1環境マップを生成する。つまり生成部1210は、全周囲色画像がこの多面体に貼付されていると想定し、該多面体の頂点と全周囲色画像の座標とを対応付ける。ステップS4020では、生成部1210は、上記のステップS2100と同様の処理を行うことで、第1多面体を求める。In step S4010, thegeneration unit 1210 acquires a distance image and a color image of a real space (a room, which is an example of a space in which the user experiences a mixed reality space) that does not include a user wearing theHMD 1000 on his head, output from the RGB-D sensor 1100. In this embodiment, the RGB-D sensor 1100 is placed in the center of the room and captures images of the entire surroundings (the entire room) in various directions to acquire a distance image (a three-dimensional point cloud of the entire room) and a color image (an entire surrounding color image of the room). Thegeneration unit 1210 then generates a first environment map by mapping the entire surrounding color image onto a polyhedron that is sufficiently large compared to the room. In other words, thegeneration unit 1210 assumes that the entire surrounding color image is attached to this polyhedron, and associates the vertices of the polyhedron with the coordinates of the entire surrounding color image. In step S4020, thegeneration unit 1210 performs the same process as in step S2100 above to obtain a first polyhedron.

このような撮像を行った後、第1の実施形態と同様、本システムのオペレータはRGB-Dセンサ1100を、「HMD1000を装着して複合現実空間を体感するユーザが部屋内で行動すると推定される領域」を撮像可能な位置および姿勢に移動させる。After capturing such images, as in the first embodiment, the operator of this system moves the RGB-D sensor 1100 to a position and orientation that allows capturing images of "the area in the room where the user wearing theHMD 1000 and experiencing the mixed reality space is estimated to be active."

次に、ステップS4030~ステップS4050では、HMD1000を頭部に装着したユーザを含む現実空間(該ユーザが複合現実空間を体感する空間の一例である部屋)の環境マップを生成する。ステップS4030~ステップS4050の処理は、仮想物体画像を生成する各フレームについて行ってもよいし、所定の時間間隔で行ってもよい。Next, in steps S4030 to S4050, an environmental map of a real space (a room, which is an example of a space in which the user experiences a mixed reality space) including a user wearing theHMD 1000 on his/her head is generated. The processing in steps S4030 to S4050 may be performed for each frame in which a virtual object image is generated, or may be performed at a predetermined time interval.

ステップS4030では、生成部1210は、第1の実施形態と同様にして、色画像におけるユーザの画像領域および該距離画像における該ユーザの領域を特定する。In step S4030, thegeneration unit 1210 identifies the user's image area in the color image and the user's area in the distance image, in the same manner as in the first embodiment.

ステップS4040では、生成部1210は、部屋に対して十分に大きいサイズの多面体にステップS4030で色画像から特定したユーザの画像領域をマッピングすることで第2環境マップを生成する。第2環境マップを立方体とすると、その立方体上のどの位置にユーザの画像領域を貼付するかの対応付けが整合的に行われる必要がある。これについては、世界座標系におけるRGB-Dセンサ1100の向きが規定されていれば、色画像座標が、環境マップ上のどこに位置づくかを一意に決定することができる。なお、多面体においてユーザの画像領域をマッピングしていない領域には、第1の実施形態と同様に、「適当な値」を有する画素を有する画像をマッピングする。ユーザの画像領域は、環境マップの画像の一部にしか過ぎないため、メモリアクセスの処理時間を省くために画像領域のみを書き換える工夫などを適宜行っても良い。ステップS4050では、生成部1210は、上記のステップS2400と同様の処理を行うことで、第2多面体を設定する。In step S4040, thegeneration unit 1210 generates a second environment map by mapping the user's image area identified from the color image in step S4030 onto a polyhedron that is large enough for the room. If the second environment map is a cube, it is necessary to consistently determine which position on the cube the user's image area is to be attached to. In this regard, if the orientation of the RGB-D sensor 1100 in the world coordinate system is specified, it is possible to uniquely determine where on the environment map the color image coordinates are located. Note that, as in the first embodiment, an image having pixels with "appropriate values" is mapped to areas of the polyhedron where the user's image area is not mapped. Since the user's image area is only a part of the image of the environment map, it is possible to appropriately devise a way to rewrite only the image area in order to reduce the processing time for memory access. In step S4050, thegeneration unit 1210 sets the second polyhedron by performing the same processing as in step S2400 above.

ここで、第1多面体、第2多面体、第1環境マップ、第2環境マップ、HMD1000を自身の頭部に装着したユーザ、RGB-Dセンサ1100、を俯瞰した様子を図5,6に示す。図5,6において図3に示した要素と同じ要素については同じ参照番号を付しており、該要素に係る説明は省略する。Here, Figs. 5 and 6 show an overhead view of the first polyhedron, the second polyhedron, the first environmental map, the second environmental map, the user wearing theHMD 1000 on his/her head, and the RGB-D sensor 1100. In Figs. 5 and 6, the same elements as those shown in Fig. 3 are given the same reference numbers, and descriptions of those elements will be omitted.

図5では、部屋3000よりも十分に大きいサイズを有する多面体5000には部屋3000全体の全周囲色画像がマッピングされており、これが第1環境マップとなる。図6では、部屋3000よりも十分に大きいサイズを有する多面体6000にはステップS4030で色画像から特定したユーザの画像領域がマッピングされており、これが第2環境マップとなる。In FIG. 5, apolyhedron 5000 having a size sufficiently larger than theroom 3000 is mapped with a color image of the entire surroundings of theroom 3000, which serves as the first environment map. In FIG. 6, apolyhedron 6000 having a size sufficiently larger than theroom 3000 is mapped with the image area of the user identified from the color image in step S4030, which serves as the second environment map.

次に、ステップS4060~S4110では、第1環境マップおよび第2環境マップを用いて、周囲の現実空間の映り込みを反映させた仮想物体の画像(仮想物体画像)を生成する。ステップS4060~ステップS4110の処理は、仮想物体画像を生成する各フレームについて行う。Next, in steps S4060 to S4110, the first and second environment maps are used to generate an image of a virtual object (virtual object image) that reflects the surrounding real space. The processing in steps S4060 to S4110 is performed for each frame for which a virtual object image is generated.

ステップS4060でレンダリング部1230は第1の実施形態と同様に、仮想物体を生成して配置し、それぞれの視線ベクトルについて、仮想物体において該視線ベクトルとの交点位置(対応位置)を求め、該交点位置における該視線ベクトルの反射ベクトルを求める。図5や図6の例では、仮想物体3020において視線ベクトル3050との交点位置3060を求め、該交点位置3060における法線ベクトル3070と、該視線ベクトル3050と、から該視線ベクトル3050に対応する反射ベクトル5020を求める。なお、ステップS4060で求めた反射ベクトルは、後の処理で補正するため、「仮の反射ベクトル」と称する。In step S4060, therendering unit 1230 generates and places virtual objects in the same manner as in the first embodiment, and for each line of sight vector, determines the intersection position (corresponding position) with the line of sight vector in the virtual object, and determines the reflection vector of the line of sight vector at the intersection position. In the example of Figures 5 and 6, theintersection position 3060 with the line ofsight vector 3050 is determined in thevirtual object 3020, and thereflection vector 5020 corresponding to the line ofsight vector 3050 is determined from thenormal vector 3070 at theintersection position 3060 and the line ofsight vector 3050. Note that the reflection vector determined in step S4060 is referred to as a "temporary reflection vector" because it is corrected in later processing.

一般的な環境マッピングにおいては、仮の反射ベクトルを利用して、環境マップから反射色をサンプリングする。しかしながら一般的な環境マップは、環境マップが仮想物体に対して十分に大きいことを想定しており、反射ベクトルは常に環境マップの中心から伸びている(図5のベクトル5050参照)と近似することで計算を簡略化している。したがって、本実施形態のように有限の大きさの背景、例えば部屋などの映り込みの場合は、映り込み位置がずれることがある。そこで、以下のステップS4070~S4090の処理によって、この仮の反射ベクトルを補正して、映り込み位置のずれを補正する。以下では、図5,6を例にとり説明する。また、以下の処理は、それぞれの視線ベクトルについて求めた仮の反射ベクトルについて行う。In typical environment mapping, a provisional reflection vector is used to sample the reflected color from the environment map. However, typical environment maps assume that the environment map is sufficiently large compared to the virtual object, and the calculation is simplified by approximating that the reflection vector always extends from the center of the environment map (seevector 5050 in Figure 5). Therefore, in the case of a reflection of a background of finite size, such as a room, as in this embodiment, the reflection position may shift. Therefore, the provisional reflection vector is corrected by the processing of the following steps S4070 to S4090 to correct the shift in the reflection position. The following explanation will be given using Figures 5 and 6 as examples. The following processing is performed on the provisional reflection vector calculated for each line of sight vector.

ステップS4070では、レンダリング部1230は、仮の反射ベクトル5020と第1多面体3030との交点位置5030(第1交点)を求めるとともに、仮の反射ベクトル5020と第2多面体3040との交点位置6020(第2の交点)を求める。In step S4070, therendering unit 1230 determines the intersection position 5030 (first intersection) between theprovisional reflection vector 5020 and thefirst polyhedron 3030, and also determines the intersection position 6020 (second intersection) between theprovisional reflection vector 5020 and thesecond polyhedron 3040.

ステップS4080では、レンダリング部1230は、第1環境マップである多面体5000において仮の反射ベクトル5020を補正した補正反射ベクトル5060を求める。一般的な環境マッピングの仕組みを活用するには、反射ベクトルが多面体5000の中心位置5010より伸びているという前提を壊さないことである。そこで、図5に示す如く、レンダリング部1230は、多面体5000の中心位置5010から交点位置3060に伸びるベクトル5070を求める。そしてレンダリング部1230は、中心位置5010を始点とし且つ「ベクトル5070と反射ベクトル5020(交点位置3060を始点とし、交点位置5030を終点とするベクトル)との合成ベクトル」を、補正反射ベクトル5060として求める。図5に示す如く、補正反射ベクトル5060は第1環境マップである多面体5000と交差するサイズを有する。In step S4080, therendering unit 1230 obtains a correctedreflection vector 5060 by correcting theprovisional reflection vector 5020 in thepolyhedron 5000, which is the first environment map. In order to utilize a general environment mapping mechanism, it is necessary to maintain the premise that the reflection vector extends from thecenter position 5010 of thepolyhedron 5000. Therefore, as shown in FIG. 5, therendering unit 1230 obtains avector 5070 extending from thecenter position 5010 of thepolyhedron 5000 to theintersection position 3060. Therendering unit 1230 then obtains the correctedreflection vector 5060, which is a composite vector of thevector 5070 and the reflection vector 5020 (a vector whose starting point is theintersection position 3060 and whose ending point is the intersection position 5030) with thecenter position 5010 as the starting point. As shown in FIG. 5, the correctedreflection vector 5060 has a size that intersects with thepolyhedron 5000, which is the first environment map.

ステップS4090では、レンダリング部1230は、第2環境マップである多面体6000において仮の反射ベクトル5020を補正した補正反射ベクトル6040を求める。つまり、図6に示す如く、レンダリング部1230は、多面体6000の中心位置から交点位置3060に伸びるベクトル6030を求める。そしてレンダリング部1230は、該中心位置を始点とし且つ「ベクトル6030と反射ベクトル5020(交点位置3060を始点とし、交点位置6020を終点とするベクトル)との合成ベクトル」を、補正反射ベクトル6040として求める。図6に示す如く、補正反射ベクトル6040は第2環境マップである多面体6000と交差するサイズを有する。In step S4090, therendering unit 1230 obtains a correctedreflection vector 6040 by correcting theprovisional reflection vector 5020 in thepolyhedron 6000, which is the second environment map. That is, as shown in FIG. 6, therendering unit 1230 obtains avector 6030 extending from the center position of thepolyhedron 6000 to theintersection position 3060. Therendering unit 1230 then obtains a correctedreflection vector 6040, which has the center position as its starting point and is the composite vector of thevector 6030 and the reflection vector 5020 (a vector whose starting point is theintersection position 3060 and whose end point is the intersection position 6020). As shown in FIG. 6, the correctedreflection vector 6040 has a size that intersects with thepolyhedron 6000, which is the second environment map.

ステップS4100では、レンダリング部1230は、第1環境マップである多面体5000において補正反射ベクトル5060との交点位置5040を求め、該多面体5000において該交点位置5040における画素値(色)を第1色情報として特定する。またレンダリング部1230は、第2環境マップである多面体6000において補正反射ベクトル6040との交点位置6050を求め、該多面体6000において該交点位置6050における画素値(色)を第2色情報として特定する。反射ベクトルが環境マップの中心から伸びている場合、環境マップにおいて色情報を取得する点は反射ベクトルの向きだけで決定することができる。In step S4100, therendering unit 1230 determines theintersection position 5040 with the correctedreflection vector 5060 in thepolyhedron 5000, which is the first environment map, and identifies the pixel value (color) at theintersection position 5040 in thepolyhedron 5000 as the first color information. Therendering unit 1230 also determines theintersection position 6050 with the correctedreflection vector 6040 in thepolyhedron 6000, which is the second environment map, and identifies the pixel value (color) at theintersection position 6050 in thepolyhedron 6000 as the second color information. When the reflection vector extends from the center of the environment map, the point in the environment map from which color information is obtained can be determined only by the orientation of the reflection vector.

ステップS4110では、レンダリング部1230は、着目補正反射ベクトルについてステップS4100で特定した第2色情報が「適当な値」ではない場合には、着目補正反射ベクトルに対応する仮想物体画像の画素の画素値を第2色情報に基づいて決定する。一方、レンダリング部1230は、着目補正反射ベクトルについてステップS4100で特定した第2色情報が「適当な値」である場合には、着目補正反射ベクトルに対応する仮想物体画像の画素の画素値を第1色情報に基づいて決定する。In step S4110, if the second color information identified in step S4100 for the focus-corrected reflection vector is not an "appropriate value," therendering unit 1230 determines the pixel value of the pixel in the virtual object image corresponding to the focus-corrected reflection vector based on the second color information. On the other hand, if the second color information identified in step S4100 for the focus-corrected reflection vector is an "appropriate value," therendering unit 1230 determines the pixel value of the pixel in the virtual object image corresponding to the focus-corrected reflection vector based on the first color information.

[第3の実施形態]
第1,2の実施形態では、RGB-Dセンサを用いて、環境マップの色画像を取得する取得デバイス(つまり該RGB-Dセンサ)から現実物体までの距離を直接的に計測している。しかし、環境マップの色画像を取得する取得デバイスと現実物体までの距離を計測することができれば、取得デバイスとして利用可能なデバイスはRGB-Dセンサに限らない。たとえば、色画像の取得デバイスとして広角カメラを用いてもよい。広角カメラは一般にRGB-Dセンサよりも入手性が高く、視野角も広いため、より簡便にシステムを構築・運用できると考えられる。本実施形態では、HMDの撮像部には複数のカメラもしくは深度センサが搭載されており、HMDからの深度情報を取得することで、環境マップの色画像を取得する広角カメラと現実物体までの距離情報を取得する場合について説明する。
[Third embodiment]
In the first and second embodiments, the RGB-D sensor is used to directly measure the distance from the acquisition device (i.e., the RGB-D sensor) that acquires the color image of the environment map to the real object. However, as long as the distance between the acquisition device that acquires the color image of the environment map and the real object can be measured, the device that can be used as the acquisition device is not limited to the RGB-D sensor. For example, a wide-angle camera may be used as the acquisition device for the color image. Since the wide-angle camera is generally more readily available than the RGB-D sensor and has a wider viewing angle, it is considered that the system can be constructed and operated more easily. In this embodiment, the imaging unit of the HMD is equipped with multiple cameras or depth sensors, and a case will be described in which distance information between the wide-angle camera that acquires the color image of the environment map and the real object is acquired by acquiring depth information from the HMD.

本実施形態に係るシステムの構成例について、図7のブロック図を用いて説明する。本実施形態に係るシステムでは、RGB-Dセンサ1100の代わりに広角カメラ7000を有する。広角カメラ7000は、HMD7050や情報処理装置1200の外部装置として設けられ、ユーザが複合現実空間を体感する空間全体を撮像する。An example of the configuration of a system according to this embodiment will be described with reference to the block diagram in FIG. 7. In the system according to this embodiment, a wide-angle camera 7000 is provided instead of the RGB-D sensor 1100. The wide-angle camera 7000 is provided as an external device to theHMD 7050 or theinformation processing device 1200, and captures an image of the entire space in which the user experiences the mixed reality space.

本実施形態に係るHMD7050が有する撮像部7010は、該HMD7050を自身の頭部に装着したユーザの視線と略一致する視線方向の現実空間のステレオ画像を撮像するステレオカメラとして機能する。なお、撮像部7010により撮像されるステレオ画像は、仮想物体画像と合成するために利用されるとともに、各画素が奥行値を有する距離画像(深度情報)を生成するためにも利用される。よって、撮像部7010は、仮想物体画像と合成するための色画像と、距離画像を生成するために必要な情報と、を取得できれば、ステレオカメラ以外の装置で構成されてもよい。Theimaging unit 7010 of theHMD 7050 according to this embodiment functions as a stereo camera that captures stereo images of real space in a line of sight direction that approximately matches the line of sight of a user wearing theHMD 7050 on his or her head. The stereo images captured by theimaging unit 7010 are used to synthesize with a virtual object image, and are also used to generate a distance image (depth information) in which each pixel has a depth value. Therefore, theimaging unit 7010 may be configured as a device other than a stereo camera as long as it can acquire a color image to synthesize with a virtual object image and information necessary to generate a distance image.

本実施形態に係る情報処理装置1200が有する生成部7020は、撮像部7010からのステレオ画像から、「各画素が撮像部7010の撮像面からの奥行値を有する距離画像」を生成する。距離画像の生成方法は特定の生成方法に限らない。例えば、ステレオ画像からセミグローバルマッチング法により視差画像を算出し、ステレオ画像を取得した二つのカメラの相対的な位置関係から距離画像を生成する。なお、視差を得る方法は上記の方法に限らず、例えば、ステレオ画像で対応する特徴点やエッジから視差を得ても良いし、機械学習の推論によって視差を得ても良い。Thegenerating unit 7020 of theinformation processing device 1200 according to this embodiment generates a "distance image in which each pixel has a depth value from the imaging plane of theimaging unit 7010" from the stereo images from theimaging unit 7010. The method of generating the distance image is not limited to a specific method. For example, a parallax image is calculated from the stereo images by a semi-global matching method, and the distance image is generated from the relative positional relationship of the two cameras that acquired the stereo images. Note that the method of obtaining parallax is not limited to the above method, and for example, parallax may be obtained from corresponding feature points or edges in the stereo images, or parallax may be obtained by machine learning inference.

本実施形態に係る情報処理装置1200が有する算出部7030は、撮像部7010によるステレオ画像から第1の実施形態で説明した方法により、世界座標系における撮像部7010の位置姿勢を求める。そして算出部7030は、生成部7020が生成した距離画像中のユーザの領域を構成する各画素の奥行値(該画素に対応する3次元点の座標)を、世界座標系における撮像部7010の位置姿勢を用いて、世界座標系における3次元点の位置に変換する。そして算出部7030は、世界座標系における3次元点の位置の重心位置を、世界座標系におけるユーザの位置として求める。そして算出部7030は、前記、世界座標系におけるユーザの位置と世界座標における広角カメラ7000の位置姿勢からユーザと広角カメラ7000との間の相対的な位置姿勢(相対位置姿勢)を求める。なお広角カメラ7000の世界座標系における位置姿勢は、事前にメジャーで計測した値を利用しても良いし、広角カメラ7000にモーションキャプチャなどの位置姿勢センサを取り付けて計測しても良い。あるいは、広角カメラ7000にマーカを添付し、それを外部から撮影、画像処理をすることによって位置姿勢を推定しても良い。Thecalculation unit 7030 of theinformation processing device 1200 according to this embodiment calculates the position and orientation of theimage capturing unit 7010 in the world coordinate system from the stereo image captured by theimage capturing unit 7010 by the method described in the first embodiment. Thecalculation unit 7030 converts the depth value (coordinates of the three-dimensional point corresponding to the pixel) of each pixel constituting the user's area in the distance image generated by thegeneration unit 7020 into the position of the three-dimensional point in the world coordinate system using the position and orientation of theimage capturing unit 7010 in the world coordinate system. Thecalculation unit 7030 then calculates the center of gravity position of the three-dimensional point position in the world coordinate system as the user's position in the world coordinate system. Thecalculation unit 7030 then calculates the relative position and orientation (relative position and orientation) between the user and the wide-angle camera 7000 from the position of the user in the world coordinate system and the position and orientation of the wide-angle camera 7000 in the world coordinate system. The position and orientation of the wide-angle camera 7000 in the world coordinate system may be measured in advance using a tape measure, or may be measured by attaching a position and orientation sensor such as a motion capture to the wide-angle camera 7000. Alternatively, markers can be attached to the wide-angle camera 7000, and the position and orientation can be estimated by capturing an image from outside and processing the image.

なお、複合現実感を体験する空間において、事前には何も物体が存在しない領域を指定しておくことで、体験中にこの領域に物体を検出した場合、その物体は移動体とみなすことができる。複合現実感においては、HMDを装着したユーザ自身の頭部や手などの身体が仮想物体へ映り込むことによって、現実空間と仮想空間の融合感がより高まると考えられる。そこで、算出部7030では、頭部や手といった特定の現実物体に特化して位置を算出しても良い。頭部位置は、撮像部に対して所定の相対位置に頭部が存在するとみなすことができる。また手の位置については、例えば、手の色を自身に登録しておき、色画像において手の色を有する画像領域を特定し、距離画像において該画像領域に対応する3次元点群の世界座標系における位置の重心位置を手の位置として利用することができる。In addition, by specifying an area in advance in which no objects exist in the space in which mixed reality is experienced, if an object is detected in this area during the experience, the object can be regarded as a moving object. In mixed reality, the head, hands, and other parts of the user's body wearing the HMD are reflected in the virtual object, which is thought to enhance the sense of fusion between the real space and the virtual space. Therefore, thecalculation unit 7030 may calculate the position of a specific real object such as the head or hands. The head position can be regarded as being present at a predetermined relative position with respect to the imaging unit. In addition, for the position of the hand, for example, the color of the hand can be registered to the user, an image area having the color of the hand can be identified in the color image, and the center of gravity of the position in the world coordinate system of the three-dimensional point group corresponding to the image area in the distance image can be used as the position of the hand.

生成部7040は、第1環境マップおよび第2環境マップを生成する。第1環境マップおよび第2環境マップの生成方法は、第1の実施形態で説明した生成方法であってもよいし、第2の実施形態で説明した生成方法であってもよい。Thegenerating unit 7040 generates a first environment map and a second environment map. The method of generating the first environment map and the second environment map may be the method of generating described in the first embodiment, or the method of generating described in the second embodiment.

なお、本実施形態では、第1多面体に色画像をマッピングすることで第1環境マップを生成する場合、次のような処理を行う。すなわち、HMD7050の向きを動かすことで部屋全体の距離画像を取得し、該取得した距離画像から、部屋全体の3次元点群に最もフィットする多面体を第1多面体として取得する。そして、該第1多面体に広角カメラ7000による撮像画像をマッピングすることで第1環境マップを生成する。In this embodiment, when generating the first environment map by mapping a color image onto the first polyhedron, the following processing is performed. That is, a distance image of the entire room is acquired by moving the orientation of theHMD 7050, and from the acquired distance image, a polyhedron that best fits the three-dimensional point cloud of the entire room is acquired as the first polyhedron. Then, the first environment map is generated by mapping an image captured by the wide-angle camera 7000 onto the first polyhedron.

また、本実施形態では、第2多面体にユーザの画像領域をマッピングすることで第2環境マップを生成する場合には、次のような処理を行う。すなわち、世界座標系におけるユーザの位置と上記の相対位置姿勢とを用いて世界座標系における広角カメラ7000の位置を求める。そして、上記の相対位置姿勢から得られる「ユーザと広角カメラ7000との間の距離」を距離dとして求める。そして、世界座標系における広角カメラ7000の位置を中心とし、一辺が2dの立方体を第2多面体として設定する。なお、上記のように算出部7030が頭部や手といった特定現実物体に特化して位置を算出した場合、この値を利用する。そして、第2多面体に、広角カメラ7000による撮像画像においてユーザの画像領域を対応する領域にマッピングし、そのほかの領域には「適用な値」を有する画素の画像をマッピングすることで、第2環境マップを生成する。In addition, in this embodiment, when the second environment map is generated by mapping the user's image area on the second polyhedron, the following processing is performed. That is, the position of the wide-angle camera 7000 in the world coordinate system is obtained using the user's position in the world coordinate system and the above-mentioned relative position and orientation. Then, the "distance between the user and the wide-angle camera 7000" obtained from the above-mentioned relative position and orientation is obtained as distance d. Then, a cube with a side length of 2d and centered on the position of the wide-angle camera 7000 in the world coordinate system is set as the second polyhedron. Note that, when thecalculation unit 7030 calculates the position specifically for a specific real object such as the head or hand as described above, this value is used. Then, the user's image area is mapped to the corresponding area in the image captured by the wide-angle camera 7000 on the second polyhedron, and the image of pixels having "applicable values" is mapped to the other areas to generate the second environment map.

[第4の実施形態]
上記の各実施形態では、HMDはビデオシースルー型のHMDであるものとして説明したが、光学シースルー方式のHMDであってもよい。後者の場合、合成部1240は、仮想物体画像をHMDの表示部に出力することになる。
[Fourth embodiment]
In the above embodiments, the HMD is described as a video see-through type HMD, but it may be an optical see-through type HMD. In the latter case, thesynthesis unit 1240 outputs the virtual object image to the display unit of the HMD.

また、上記の各実施形態では、移動体は、HMDを頭部に装着したユーザであるものとして説明したが、該ユーザに加えて若しくは代えて他の物体を移動体としてもよい。また、移動体は単数であってもよいし、複数であってもよい。なお、「移動体」とは、常に動く物体に限らず、定期的もしくは不定期的に移動する物体であればよい。In addition, in each of the above embodiments, the moving body has been described as a user wearing an HMD on his/her head, but other objects may be used as the moving body in addition to or instead of the user. The moving body may be singular or multiple. Note that a "moving body" is not limited to an object that is constantly moving, but may be an object that moves periodically or irregularly.

また、第1の環境マップは、背景用の色画像をマッピングした多面体の一例であり、ユーザが複合現実空間を体感する空間において背景となる場所の色画像をマッピングした多面体であれば、如何なる多面体であってもよい。The first environment map is an example of a polyhedron onto which a background color image is mapped, and may be any polyhedron onto which a color image of a location that serves as the background in the space in which the user experiences the mixed reality space is mapped.

また、図1,7に示した情報処理装置1200が有するものとして示した各機能部はハードウェアで実装してもよいし、ソフトウェア(コンピュータプログラム)で実装してもよい。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は情報処理装置1200に適用することができる。情報処理装置1200に適用可能なコンピュータ装置のハードウェア構成例について、図8のブロック図を用いて説明する。Furthermore, each functional unit shown as possessed by theinformation processing device 1200 shown in Figures 1 and 7 may be implemented in hardware or software (computer program). In the latter case, a computer device capable of executing this computer program can be applied to theinformation processing device 1200. An example of the hardware configuration of a computer device applicable to theinformation processing device 1200 will be described using the block diagram in Figure 8.

CPU8200は、RAM8400やROM8300に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU8200は、コンピュータ装置全体の動作制御を行うとともに、情報処理装置1200が行うものとして上述した各処理を実行もしくは制御する。TheCPU 8200 executes various processes using computer programs and data stored in theRAM 8400 and theROM 8300. As a result, theCPU 8200 controls the operation of the entire computer device, and executes or controls each of the processes described above as being performed by theinformation processing device 1200.

ROM8300には、コンピュータ装置の設定データや起動プログラムなどが格納されている。RAM8400は、外部記憶装置8450やROM8300からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM8400は、入力I/F8500を介して外部装置(RGB-Dセンサ1100、撮像部1010、撮像部7010、広角カメラ7000など)から受信した各種のデータを格納するためのエリアを有する。さらにRAM8400は、CPU8200が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM8400は各種のエリアを適宜提供することができる。TheROM 8300 stores setting data and startup programs for the computer device. TheRAM 8400 has an area for storing computer programs and data loaded from theexternal storage device 8450 or theROM 8300. TheRAM 8400 also has an area for storing various data received from external devices (such as the RGB-D sensor 1100, theimaging unit 1010, theimaging unit 7010, and the wide-angle camera 7000) via the input I/F 8500. TheRAM 8400 also has a work area used by theCPU 8200 when executing various processes. In this way, theRAM 8400 can provide various areas as appropriate.

外部記憶装置8450は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置8450には、OS(オペレーティングシステム)や、情報処理装置1200が行うものとして上述した各処理をCPU8200に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。Theexternal storage device 8450 is a large-capacity information storage device such as a hard disk drive. Theexternal storage device 8450 stores an OS (operating system) and computer programs and data for causing theCPU 8200 to execute or control each of the processes described above as being performed by theinformation processing device 1200.

外部記憶装置8450に保存されているコンピュータプログラムには、図1,7に示した情報処理装置1200が有するものとして示した各機能部の機能をCPU8200に実行もしくは制御させるためのコンピュープログラムが含まれている。The computer programs stored in theexternal storage device 8450 include computer programs that cause theCPU 8200 to execute or control the functions of each functional unit shown as possessed by theinformation processing device 1200 shown in Figures 1 and 7.

外部記憶装置8450に保存されているデータには、仮想物体に関連する上記の規定データ、仮想空間に関連するデータ(仮想空間中に配置される光源を規定するデータなど)、仮想物体画像と共に表示される画像や文字のデータが含まれている。The data stored in theexternal storage device 8450 includes the above-mentioned definition data related to virtual objects, data related to the virtual space (such as data defining light sources to be placed in the virtual space), and image and text data to be displayed together with the virtual object images.

外部記憶装置8450に保存されているコンピュータプログラムやデータは、CPU8200による制御に従って適宜RAM8400にロードされ、CPU8200による処理対象となる。Computer programs and data stored in theexternal storage device 8450 are loaded into theRAM 8400 as appropriate under the control of theCPU 8200, and are processed by theCPU 8200.

入力I/F8500は、外部装置(HMD1000、RGB-Dセンサ1100、HMD7050、広角カメラ7000など)からのデータ入力を行うための通信インターフェースである。出力I/F8600は、外部装置(HMD1000、HMD7050など)に対するデータ出力を行うための通信インターフェースである。The input I/F 8500 is a communication interface for inputting data from external devices (HMD 1000, RGB-D sensor 1100,HMD 7050, wide-angle camera 7000, etc.). The output I/F 8600 is a communication interface for outputting data to external devices (HMD 1000,HMD 7050, etc.).

CPU8200、ROM8300、RAM8400、外部記憶装置8450、入力I/F8500、出力I/F8600は何れも、システムバス8100に接続されている。なお、情報処理装置1200に適用可能なコンピュータ装置のハードウェア構成は、図8に示した構成に限らず、適宜変形/変更が可能である。TheCPU 8200,ROM 8300,RAM 8400,external storage device 8450, input I/F 8500, and output I/F 8600 are all connected to thesystem bus 8100. Note that the hardware configuration of a computer device applicable to theinformation processing device 1200 is not limited to the configuration shown in FIG. 8, and can be modified/changed as appropriate.

なお、上記の説明において使用した数値、処理タイミング、処理順などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順などに限定することを意図したものではない。Note that the numerical values, processing timing, processing order, etc. used in the above explanation are given as examples to provide a concrete explanation, and are not intended to be limiting.

また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。Furthermore, any or all of the embodiments described above may be used in appropriate combination.Furthermore, any or all of the embodiments described above may be used selectively.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Other Embodiments
The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。The invention is not limited to the above-described embodiment, and various modifications and variations are possible without departing from the spirit and scope of the invention. Therefore, the following claims are appended to disclose the scope of the invention.

1000:HMD 1010:撮像部 1020:表示部 1100:RGB-Dセンサ 1200:情報処理装置 1210:生成部 1220:算出部 1230:レンダリング部 1240:合成部1000: HMD 1010: Imaging unit 1020: Display unit 1100: RGB-D sensor 1200: Information processing device 1210: Generation unit 1220: Calculation unit 1230: Rendering unit 1240: Synthesis unit

Claims (13)

Translated fromJapanese
背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成手段と、
現実空間の色画像を取得するデバイスと移動体との間の距離に応じたサイズを有する多面体に、該デバイスが取得した該移動体の色画像をマッピングすることで得られるマッピング済み多面体を第2環境マップとして生成する第2生成手段と、
仮想物体の画像を生成する第3生成手段と
を備え、
前記第3生成手段は、前記仮想物体の画像の画素値を、前記第1環境マップと、前記第2環境マップと、に基づいて決定する
ことを特徴とする情報処理装置。
a first generating means for generating a polyhedron onto which a background color image is mapped as a first environment map;
a second generating means for generating, as a second environment map, a mapped polyhedron obtained by mapping a color image of the moving body acquired by a device that acquires a color image of the real space onto a polyhedron having a size corresponding to a distance between the moving body and the device;
and a third generating means for generating an image of a virtual object,
the third generating means determines a pixel value of the image of the virtual object based on the first environment map and the second environment map.
前記第1生成手段は、現実空間に対応する多面体を、該現実空間の距離画像に基づいて生成し、該多面体に該現実空間の色画像をマッピングしたマッピング済み多面体を、前記第1環境マップとして生成することを特徴とする請求項1に記載の情報処理装置。The information processing device according to claim 1, characterized in that the first generating means generates a polyhedron corresponding to a real space based on a distance image of the real space, and generates a mapped polyhedron by mapping a color image of the real space onto the polyhedron as the first environment map. 前記第2生成手段は、前記デバイスの位置を中心とし且つ前記距離に応じたサイズを有する多面体を設定し、該設定した多面体に前記デバイスが取得した移動体の色画像をマッピングしたマッピング済み多面体を、前記第2環境マップとして生成することを特徴とする請求項1または2に記載の情報処理装置。The information processing device according to claim 1 or 2, characterized in that the second generating means sets a polyhedron centered on the position of the device and having a size according to the distance, and generates a mapped polyhedron by mapping a color image of the moving body acquired by the device onto the set polyhedron as the second environment map. 前記第3生成手段は、
前記仮想物体の画像における着目画素に対応する前記仮想物体上の位置への視線ベクトルの、該位置における反射ベクトルを求める手段と、
前記第2環境マップにおいて前記反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域内であれば、前記第2環境マップの前記反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定し、前記第2環境マップにおいて前記反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域外であれば、前記第1環境マップの前記反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定する手段と
を備えることを特徴とする請求項1ないし3の何れか1項に記載の情報処理装置。
The third generating means is
means for calculating a reflection vector at a position on the virtual object corresponding to a pixel of interest in an image of the virtual object, of a line of sight vector to the position;
The information processing device according to any one of claims 1 to 3, further comprising: a means for determining a pixel value of the pixel of interest based on a pixel value at the intersection position with the reflection vector in the second environment map if the intersection position with the reflection vector in the second environment map is within an image area of a moving body mapped to the second environment map; and a means for determining a pixel value of the pixel of interest based on a pixel value at the intersection position with the reflection vector in the first environment map if the intersection position with the reflection vector in the second environment map is outside an image area of a moving body mapped to the second environment map.
背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成手段と、
移動体を含む現実空間の色画像をマッピングした多面体を第2環境マップとして生成する第2生成手段と、
仮想物体の画像を生成する第3生成手段と
を備え、
前記第3生成手段は、
前記仮想物体の画像における着目画素に対応する前記仮想物体上の対応位置への視線ベクトルの、該対応位置における反射ベクトルを求め、該反射ベクトルを前記第1環境マップおよび前記第2境マップのそれぞれについて補正した補正反射ベクトルと、前記第1環境マップと、前記第2環境マップと、に基づいて、前記着目画素の画素値を決定する
ことを特徴とする情報処理装置。
a first generating means for generating a polyhedron onto which a background color image is mapped as a first environment map;
a second generating means for generating a polyhedron onto which a color image of a real space including a moving object is mapped as a second environment map;
and a third generating means for generating an image of a virtual object,
The third generating means is
an information processing apparatus comprising: a display unit that displays a pixel value of the target pixel based on a line of sight vector of the line of sight vector to a corresponding position on the virtual object corresponding to the pixel value of the target pixel in an image of the virtual object; and a display unit that displays a pixel value of the target pixel based on a corrected reflection vector obtained by correcting the reflection vector for each of the firstenvironment map and the second environment map, the corrected reflection vector being obtained by correcting the line of sight ...
前記第1生成手段は、現実空間の色画像を、該現実空間よりも大きいサイズの多面体にマッピングしたマッピング済み多面体を、前記第1環境マップとして生成することを特徴とする請求項5に記載の情報処理装置。The information processing device according to claim 5, characterized in that the first generating means generates, as the first environment map, a mapped polyhedron in which a color image of real space is mapped onto a polyhedron of a size larger than the real space. 前記第2生成手段は、移動体を含む現実空間の色画像を、該現実空間よりも大きいサイズの多面体にマッピングしたマッピング済み多面体を、前記第2環境マップとして生成することを特徴とする請求項5または6に記載の情報処理装置。The information processing device according to claim 5 or 6, characterized in that the second generation means generates, as the second environment map, a mapped polyhedron in which a color image of a real space including a moving object is mapped onto a polyhedron of a size larger than the real space. 前記第3生成手段は、
前記反射ベクトルを、前記第1環境マップの中心位置から前記対応位置へのベクトルに基づいて補正した第1補正反射ベクトルを求める手段と、
前記反射ベクトルを、前記第2環境マップの中心位置から前記対応位置へのベクトルに基づいて補正した第2補正反射ベクトルを求める手段と、
前記第2環境マップにおいて前記第2補正反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域内であれば、前記第2環境マップの前記第2補正反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定し、前記第2環境マップにおいて前記第2補正反射ベクトルとの交点位置が、該第2環境マップにマッピングされている移動体の画像領域外であれば、前記第1環境マップの前記第1補正反射ベクトルとの交点位置における画素値に基づいて前記着目画素の画素値を決定する手段と
を備えることを特徴とする請求項5ないし7の何れか1項に記載の情報処理装置。
The third generating means is
a means for obtaining a first corrected reflection vector by correcting the reflection vector based on a vector from a center position of the first environment map to the corresponding position;
a means for obtaining a second corrected reflection vector by correcting the reflection vector based on a vector from a center position of the second environment map to the corresponding position;
8. The information processing device according to claim 5, further comprising: a means for determining a pixel value of the pixel of interest based on a pixel value at the intersection position with the second corrected reflection vector in the second environment map if the intersection position with the second corrected reflection vector in the second environment map is within an image area of the moving body mapped to the second environment map; and a means for determining a pixel value of the pixel of interest based on a pixel value at the intersection position with the first corrected reflection vector in the first environment map if the intersection position with the second corrected reflection vector in the second environment map is outside an image area of the moving body mapped to the second environment map.
前記第3生成手段は、
前記仮想物体の画像を、頭部装着型表示装置によって撮像された現実空間の画像と合成して該頭部装着型表示装置に出力することを特徴とする請求項1ないし8の何れか1項に記載の情報処理装置。
The third generating means is
9. The information processing apparatus according to claim 1, wherein the image of the virtual object is synthesized with an image of real space captured by a head-mounted display device and output to the head-mounted display device.
前記現実空間は、複合現実空間を体感する空間であることを特徴とする請求項1ないし9の何れか1項に記載の情報処理装置。The information processing device according to any one of claims 1 to 9, characterized in that the real space is a space in which a mixed reality space is experienced. 情報処理装置が行う情報処理方法であって、
前記情報処理装置の第1生成手段が、背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成工程と、
前記情報処理装置の第2生成手段が、現実空間の色画像を取得するデバイスと移動体との間の距離に応じたサイズを有する多面体に、該デバイスが取得した該移動体の色画像をマッピングすることで得られるマッピング済み多面体を第2環境マップとして生成する第2生成工程と、
前記情報処理装置の第3生成手段が、仮想物体の画像を生成する第3生成工程と
を備え、
前記第3生成工程では、前記仮想物体の画像の画素値を、前記第1環境マップと、前記第2環境マップと、に基づいて決定する
ことを特徴とする情報処理方法。
An information processing method performed by an information processing device,
a first generation step in which a first generation means of the information processing device generates a polyhedron onto which a background color image is mapped as a first environment map;
a second generation step in which a second generation means of the information processing device generates, as a second environment map, a mapped polyhedron obtained by mapping a color image of the moving body acquired by a device that acquires a color image of real space onto a polyhedron having a size corresponding to a distance between the moving body and the device;
a third generation step in which a third generation means of the information processing device generates an image of a virtual object;
the third generating step determines pixel values of the image of the virtual object based on the first environment map and the second environment map.
情報処理装置が行う情報処理方法であって、
前記情報処理装置の第1生成手段が、背景用の色画像をマッピングした多面体を第1環境マップとして生成する第1生成工程と、
前記情報処理装置の第2生成手段が、移動体を含む現実空間の色画像をマッピングした多面体を第2環境マップとして生成する第2生成工程と、
前記情報処理装置の第3生成手段が、仮想物体の画像を生成する第3生成工程と
を備え、
前記第3生成工程では、
前記仮想物体の画像における着目画素に対応する前記仮想物体上の対応位置への視線ベクトルの、該対応位置における反射ベクトルを求め、該反射ベクトルを前記第1環境マップおよび前記第2境マップのそれぞれについて補正した補正反射ベクトルと、前記第1環境マップと、前記第2環境マップと、に基づいて、前記着目画素の画素値を決定する
ことを特徴とする情報処理方法。
An information processing method performed by an information processing device,
a first generation step in which a first generation means of the information processing device generates a polyhedron onto which a background color image is mapped as a first environment map;
a second generation step in which a second generation means of the information processing device generates, as a second environment map, a polyhedron onto which a color image of a real space including a moving object is mapped;
a third generation step in which a third generation means of the information processing device generates an image of a virtual object;
In the third generation step,
an information processing method comprising: determining a reflection vector at a corresponding position on the virtual object corresponding to a pixel of interest in an image of the virtual object, of a line of sight vector to the corresponding position, and determining a pixel value of the pixel of interest based on a corrected reflection vector obtained by correcting the reflection vector for each of the firstenvironment map and the second environment map, the first environment map, and the second environment map.
コンピュータを、請求項1ないし10の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。A computer program for causing a computer to function as each of the means of an information processing device according to any one of claims 1 to 10.
JP2020056622A2020-03-262020-03-26 Information processing device and information processing methodActiveJP7465133B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2020056622AJP7465133B2 (en)2020-03-262020-03-26 Information processing device and information processing method

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2020056622AJP7465133B2 (en)2020-03-262020-03-26 Information processing device and information processing method

Publications (3)

Publication NumberPublication Date
JP2021157458A JP2021157458A (en)2021-10-07
JP2021157458A5 JP2021157458A5 (en)2023-03-29
JP7465133B2true JP7465133B2 (en)2024-04-10

Family

ID=77917934

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2020056622AActiveJP7465133B2 (en)2020-03-262020-03-26 Information processing device and information processing method

Country Status (1)

CountryLink
JP (1)JP7465133B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2008033531A (en)2006-07-272008-02-14Canon Inc Information processing method
JP2020535557A (en)2017-09-292020-12-03株式会社ソニー・インタラクティブエンタテインメント Modular Hierarchical Visual System for Autonomous Personal Companion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2008033531A (en)2006-07-272008-02-14Canon Inc Information processing method
JP2020535557A (en)2017-09-292020-12-03株式会社ソニー・インタラクティブエンタテインメント Modular Hierarchical Visual System for Autonomous Personal Companion

Also Published As

Publication numberPublication date
JP2021157458A (en)2021-10-07

Similar Documents

PublicationPublication DateTitle
US11928838B2 (en)Calibration system and method to align a 3D virtual scene and a 3D real world for a stereoscopic head-mounted display
CN107209950B (en)Automatic generation of virtual material from real world material
JP6687204B2 (en) Projection image generation method and apparatus, and mapping method between image pixels and depth values
JP4804256B2 (en) Information processing method
US20200027194A1 (en)Mixed reality system with virtual content warping and method of generating virtual content using same
KR102359978B1 (en) Mixed reality system with multi-source virtual content synthesis and method for creating virtual content using same
JP5818773B2 (en) Image processing apparatus, image processing method, and program
WO2018116790A1 (en)Inconsistency detection system, mixed reality system, program, and inconsistency detection method
JP4667111B2 (en) Image processing apparatus and image processing method
JP2020514908A (en) Mixed reality system with color virtual content warping and method of generating virtual content using the same
KR20180101496A (en) Head-mounted display for virtual and mixed reality with inside-out location, user body and environment tracking
JP2018511098A (en) Mixed reality system
JP2004062758A (en) Information processing apparatus and method
CN116309854B (en) Method, device, equipment, system and storage medium for calibrating augmented reality equipment
JP2010109783A (en)Electronic camera
CN110969706B (en)Augmented reality device, image processing method, system and storage medium thereof
JP2018106661A (en)Inconsistency detection system, mixed reality system, program, and inconsistency detection method
CN119301946A (en) Image processing device, head mounted display device, control method of image processing device, control method of head mounted display device, and program
JP2019133310A (en)Image processing system and image processing program and image processing method
JP7175715B2 (en) Information processing device, information processing method and program
JP6890524B2 (en) Attitude control system
JP7465133B2 (en) Information processing device and information processing method
US20230122185A1 (en)Determining relative position and orientation of cameras using hardware
JP4689344B2 (en) Information processing method and information processing apparatus
WO2018173205A1 (en)Information processing system, method for controlling same, and program

Legal Events

DateCodeTitleDescription
RD01Notification of change of attorney

Free format text:JAPANESE INTERMEDIATE CODE: A7421

Effective date:20210103

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20210113

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20230320

A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20230320

A977Report on retrieval

Free format text:JAPANESE INTERMEDIATE CODE: A971007

Effective date:20240215

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20240301

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20240329

R150Certificate of patent or registration of utility model

Ref document number:7465133

Country of ref document:JP

Free format text:JAPANESE INTERMEDIATE CODE: R150


[8]ページ先頭

©2009-2025 Movatter.jp