The present invention relates to a mixed reality technique for generating a mixed reality space image by superimposing a virtual space image onto a real space image.
In recent years, studies about mixed reality that aims at seamless joint of real and virtual spaces have been extensively made. For example, as described in Japanese Patent Laid-Open No. 11-88913 (U.S. Pat. No. 6,522,312), a mixed reality system that presents mixed reality is implemented as a system which presents, to an observer, a mixed reality space image formed by superimposing an image of a virtual space (a virtual object generated by rendering a three-dimensional (3D) model) by computer graphics (CG), text information, and the like onto an image of a real space captured by an image sensing device such as a video camera or the like.
Conventionally, as such mixed reality system, a system that superimposes a CG model as an image of a virtual space onto a miniature as a real object located (present) on a real space is known.
This conventional mixed reality system superimposes an annotation that explains components of the CG model and miniature onto the miniature.
Furthermore, the present application has proposed by Japanese Application No. 2002-95535 (U.S. Patent Pub. No. US2003/185416 A1) a technique for realizing natural display in consideration of the depth (occlusion) so as to prevent an observer's hand from being occluded by a CG model if the observer's hand is located in front of the CG model (i.e., so as not to display the CG model on the region of the hand of the observer).
However, in the conventional mixed reality system when display is made to prevent the observer's hand from being occluded by the CD model, not only the CG model but also an annotation undergo similar display control. For this reason, when the observer's hand overlaps an annotation display, the annotation display of the overlapping portion cannot be observed.
Such annotation often includes information required for the observer to experience mixed reality. If the annotation is occluded, it is inconvenient for the observer. Especially, when comments about the types and operation methods of buttons to be operated by the observer are displayed as an annotation, this problem becomes conspicuous.
Therefore, it is demanded to attain both natural display and convenient display (i.e., the CG model is occluded by the hand but the annotation is not occluded by the hand). However, no such conventional technique is available.
The present invention has been made in consideration of the conventional problems, and has as its principal object to provide a mixed reality space image generation method and apparatus, which can selectively process an object to be displayed in consideration of occlusion and an object which is not to undergo such control, of virtual space images.
According to an aspect of the present invention, it is provided a mixed reality space image generation method for generating a mixed reality space image formed by superimposing virtual space image onto a real space image obtained by capturing a real space, comprising:
According to another aspect of the present invention, it is provided a mixed reality space image generation apparatus for generating a mixed reality space image formed by superimposing virtual space images onto a real space image obtained by capturing a real space, comprising: first image superimposing unit adapted to superimpose a first virtual space image onto the real space image based on an occlusion by a real object; and second image superimposing unit adapted to superimpose a second virtual space image onto the superimposed image generated by the first image composition unit without considering the occlusion.
According to a further aspect of the present invention, it is provided a mixed reality space image generation method for generating a mixed reality space image formed by superimposing virtual space image onto a real space image obtained by capturing a real space, comprising: obtaining information of location and orientation of an observer; extracting an object region from the real space image; generating a first virtual space image based on the information of location and orientation of an observer; first superimposing the first virtual space image onto the real space image other than the object region; and second superimposing a second virtual space image onto a region of the superimposed image generated in the first superimposing step based on the information of location and orientation of an observer.
According to yet further aspect of the present invention, it is provided a mixed reality space presenting system employing a mixed reality space image generation apparatus of the present invention.
Other objects and advantageous besides those discussed above shall be apparent to those skilled in the art from the description of a preferred embodiment of the invention which follows. In the description, reference is made to accompanying drawings, which from a part thereof, and which illustrate an example of the various embodiments of the invention. Such example, however, is not exhaustive of the various embodiments of the invention, and therefore reference is made to the claims which follow the description for determining the scope of the invention.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Preferred embodiments of the present invention will now be described in detail in accordance with the accompanying drawings.
This embodiment will explain a digital mock-up system that exploits an MR (Mixed Reality) technique as a mixed reality system that utilizes a mixed reality space image generation apparatus according to the present invention.
A digital mock-up system according to this embodiment superimposes and presents a three-dimensional computer graphics (3DCG) image that represents a concrete shape and outer appearance of a given industrial product onto a simple mock-up (model) of that product using the MR technique. The system user can actually pick up and touch the mock-up while observing the mock-up superimposed with the 3DCG image of the product, and can virtually operate it.
The mock-up incorporates a position and orientation sensor. 3DCG data is generated in correspondence with the position and orientation of the mock-up detected from the measurement values of that sensor, and is superimposed on the mock-up. For this reason, the user can experience as if he or she were picking up a product represented by the concrete 3DCG image superimposed on the mock-up, although he or she handles the simple mock-up in practice. The digital mock-up system of this embodiment has a function of displaying annotations (component names, functions, how to use, and the like) associated with an industrial product to be experienced.
A video see-through HMD (head-mounted display) 32 has a left-eye camera 33, a right-eye camera 34, a video display unit 35 such as an LCD or the like, and a position and orientation sensor 36 for detecting the viewpoint position and orientation of an observer. The left-eye camera 33 senses a video from the perspective of the left-eye position of the observer. The sensed video is captured by the video capture device A 102. The right-eye camera 34 senses a video from the perspective of the right-eye position of the observer. The sensed video is captured by the video capture device B 103. The video display unit 35 is a display device that presents a mixed reality space image output from the display control unit 104 to the observer. The position and orientation sensor 36 detects the viewpoint position and orientation of the observer, and transmits them to the position and orientation measurement unit 105.
A mock-up 11 is a full-scale model of a camera in this embodiment, as shown in
The mock-up 11 incorporates a position and orientation sensor 12. The position and orientation sensor 12 is fixed or incorporated at a predetermined position in the mock-up 11, and the positional relationship between the mock-up 11 and position and orientation sensor 12 is constant. For this reason, the position and orientation of the mock-up can be calculated from position/orientation information of the position and orientation sensor 12.
The position and orientation information measured by the position and orientation sensor 12 is transmitted to the position and orientation measurement unit 105 of the PC 101. The position and orientation measurement unit 105 receives position and orientation information from the position and orientation sensor 36 fixed to the HMD, and the position and orientation sensor 12 incorporated in the mock-up. The position and orientation measurement unit 105 executes processes such as coordinate conversion and the like of the received position and orientation information to calculate the viewpoint position and orientation of the observer and the position and orientation of the mock-up 11 on a world coordinate system, and transits them to the 3DCG model generation unit 107.
The 3DCG model generation unit 107 generates 3DCG models (e.g., a CG camera 21 shown in
Right and left videos from the right- and left-eye cameras 34 and 33, which are respectively captured by the video capture devices B 103 and A 102 are respectively transmitted to the image composition unit 109 and object region extraction unit 106.
The operation of the object region extraction unit. 106 will be explained below using
In this embodiment, the object is an observer's hand, and the object color information registration unit 110 registers information associated with a flesh color sampled in advance.
The image composition process in the image composition unit 109 will be described below using
In step S1103, a stencil buffer value stencil(i, j) is referred to for a pixel at each coordinate position (i, j) of each of the right- and left-eye images. If stencil(i, j)=1, i.e., if a pixel real(i, j) in the actually captured image is included in the object region, a pixel frame(i, j) of the corresponding frame buffer is not updated; if stencil(i, j)=0, i.e., if a pixel real(i, j) in the actually captured image is not included in the object region, and it is a pixel on which the CG camera 21 is to be superimposed, the value of frame(i, j) is replaced by a pixel value CGI(i, j) of the CG camera 21 generated by the 3DCG model generation unit 107. In this way, images (mixed reality space images) obtained by superimposing the CG image onto the actually captured images (only a portion except for the object region) are generated. The generated images are transmitted to the annotation generation unit 108.
The annotation generation unit 108 generates annotations 41 shown in, e.g.,
An exemplary method of displaying the annotations 41 to point to correct positions of the 3DCG image is now described. First, acquiring the position and orientation information of the mock-up and the observer from the position and orientation measurement unit 105. Next, determining annotation display positions based on these position and orientation information and positional relationship between the annotations 41 and the CG camera 21. Then, overwriting a text corresponding to the annotations 41 on the determined display positions of an image output from the image composition unit 109.
Accordingly, by overwriting annotations on a superimposed image generated by superimposing a 3DCG image onto an actual captured image, a displayed image, e.g., as shown in
As an exemplary method of displaying annotations, acquiring image coordinate positions of the shutter button and lens in the 3DCG image from the 3DCG model generation unit 107 and then generating annotations to point to these image coordinate positions, and the like can be adopted. The annotation generation unit 108 transmits the mixed reality space images overwritten with the annotations to the display control unit 104.
On the other hand, in this embodiment, since the annotations are overwritten finally, even when the object region (i.e., the observer's hand) is located at the position shown in
The display control unit 104 transmits right- and left-eye mixed reality space images to the video display unit 35 of the video see-through HMD 32, and the video display unit 35 receives and displays these images.
In this embodiment, even when the orientation of the mock-up 11 has changed, as shown in
The position and orientation sensor 12 provided to the mock-up 11 may detect its direction, and annotation display may be made in accordance with the detected direction of the mock-up 11. For example, in this embodiment, when the front surface of the camera (a surface that the object faces) faces the observer, annotations for the range viewed from the front surface side can be displayed; when the back surface faces the observer, annotations for the range viewed from the back surface side can be displayed.
Referring to
A ROM (Read Only Memory) 206 stores programs to be executed by the CPU 205, parameters, and the like. A RAM (Random Access Memory) 207 is used as a work area when the CPU 205 executes various programs, a temporary save area in an error process, and the like.
A hard disk drive (HDD) 208 and removable media drive (RMD) 209 serve as external storage devices. The removable media drive is a device for reading/writing information from/on or reading information from a removable recording medium. The removable media drive may comprise a flexible disk drive, optical disk drive, magnetooptical disk drive, or memory card reader, or may comprise a removable HDD or the like.
Note that programs (e.g., application programs, and error processing programs) that implement various functions of the PC 101 described in this embodiment, an OS, other application programs such as a browser and the like, data, libraries, and the like are stored in one or more of the ROM 206, HDD 208, and (recording medium of) RMD 209 according to their purposes.
An expansion slot 210 is an expansion card slot complying with, e.g., the PCI (Peripheral Component Interconnect) bus standard, and can connect various expansion boards such as a video capture board, sound board, GPIB board, and the like.
A network interface 211 is used to connect the computer to a computer network. A bus 212 includes an address bus, data bus, and control bus, and interconnects the aforementioned units. The computer also has a serial interface such as RS-232C, RS-422, USB (Universal Serial Bus), IEEE1394, or the like, and a parallel interface such as IEEE1284 or the like and can connect external devices such as a modem, printer, and the like.
Such general-purpose computer can communicate with another device on the computer network or public telephone network using the OS, required driver software, and the like, and a router (including a dial-up router) connected as needed via the network interface 211 or a modem, TA, or the like connected via the serial interface.
When the general-purpose computer shown in
As described above, according to this embodiment, visually natural display in consideration of the depth (occlusion) and display in consideration of the observer's convenience can be achieved at the same time.
In the above embodiment, the mixed reality system including the HMD and mock-up has been explained to help easy understanding, but they are not always required. Components associated with acquisition of a real space image, display of a mixed reality space image, and position and orientation measurements of the mock-up and observer's viewpoint are not indispensable, and acquisition and display processes of such images and information may be done by an external apparatus.
In the aforementioned embodiment, the object region is detected by comparing a color registered in the object color information registration unit with each pixel in the image. However, for example, if the object is the observer's hand, and if it is determined based on the output value of the position and orientation sensor of the mock-up that the observer holds the mock-up, a color region which is different from the color of the mock-up may be extracted from a mock-up portion in the actually captured image and may be determined as an object region, or an object region may be obtained by the aforementioned method using a color of that region as the object color information. By dynamically setting object color information or detecting the object region in this way, various situations (e.g., when the observer wears gloves) can be coped with.
In the aforementioned embodiment, the present invention is applied to the mock-up system exploiting mixed reality. However, the present invention is not limited to an application that displays a virtual space image which represents the outer appearance of a real object, but it can be applied to arbitrary other applications and mixed reality systems in which virtual space images to be displayed include those to be displayed in consideration of the depth (occlusion) and those which need not undergo such control. Therefore, a virtual space image which is to be displayed without considering any occlusion is not limited to an annotation but may be an arbitrary virtual space image.
In the aforementioned embodiment, the object is the observer's hand, but may be an instrument to be operated by the observer, other body regions, or a real object other than the observer.
In the above embodiment, the PC 101 is configured by a single device. However, the equivalent functions may be implemented by a system including a plurality of devices.
Note that the present invention includes a case wherein the equivalent functions are achieved by supplying a software program that implements the functions of the aforementioned embodiments directly from a recording medium or using wired/wireless communications to a system or apparatus having a computer that can execute the program, and executing the supplied program by the computer of that system or apparatus.
Therefore, the program code itself supplied to and installed in the computer to implement the functional process of the present invention using the computer implements the present invention. That is, the present invention includes the computer program itself for implementing the functional process of the present invention.
In this case, the form of program is not particularly limited, and an object code, a program to be executed by an interpreter, script data to be supplied to an OS, and the like may be used as along as they have the program function.
As the recording medium for supplying the program, for example, magnetic recording media such as a flexible disk, hard disk, magnetic tape, and the like, optical/magnetooptical storage media such as an MO, CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-R, DVD-RW, and the like, a nonvolatile semiconductor memory, and so forth may be used.
As a program supply method using the wired/wireless communications, a server on a computer network may store a data file (program data file) that can be a computer program which forms the present invention on a client computer, such as the computer program itself which forms the present invention, a compressed file including an automatic installation function, or the like, and the program data file may be downloaded to the client computer which establishes connection to the server. In this case, the program data file may be segmented into a plurality of segment files, which may be allocated on different servers.
That is, the present invention includes a server apparatus which makes a plurality of users download the program data file for implementing the functional process of the present invention on a computer.
Also, a storage medium such as a CD-ROM or the like, which stores the encrypted program of the present invention, may be delivered to the user, the user who has cleared a predetermined condition may be allowed to download key information that is used to decrypt the program from a home page via the Internet, and the encrypted program may be executed using that key information to be installed on a computer, thus implementing the present invention.
The functions of the aforementioned embodiments may be implemented not only by executing the readout program code by the computer but also by some or all of actual processing operations executed by an OS or the like running on the computer on the basis of an instruction of that program.
Furthermore, the functions of the aforementioned embodiments may be implemented by some or all of actual processes executed by a CPU or the like arranged in a function extension board or a function extension unit, which is inserted in or connected to the computer, after the program read out from the recording medium is written in a memory of the extension board or unit.
As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.
This application claims priority from Japanese Patent Application No. 2003-341629 filed on Sep. 30, 2003, which is hereby incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2003-341629 | Sep 2003 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5815411 | Ellenby et al. | Sep 1998 | A |
5892554 | DiCicco et al. | Apr 1999 | A |
6094625 | Ralston | Jul 2000 | A |
6522312 | Ohshima et al. | Feb 2003 | B2 |
6618425 | Carlesi et al. | Sep 2003 | B1 |
6977630 | Donath et al. | Dec 2005 | B1 |
20020075286 | Yonezawa et al. | Jun 2002 | A1 |
20020122036 | Sasaki | Sep 2002 | A1 |
20020191004 | Ebersole et al. | Dec 2002 | A1 |
20030085866 | Bimber et al. | May 2003 | A1 |
20030185416 | Sugiura | Oct 2003 | A1 |
20040080467 | Chinthammit et al. | Apr 2004 | A1 |
20050174361 | Kobayashi et al. | Aug 2005 | A1 |
20050276444 | Zhou et al. | Dec 2005 | A1 |
20050285878 | Singh et al. | Dec 2005 | A1 |
20060028400 | Lapstun et al. | Feb 2006 | A1 |
20060155467 | Hortner et al. | Jul 2006 | A1 |
20060241792 | Pretlove et al. | Oct 2006 | A1 |
20070006889 | Kobal et al. | Jan 2007 | A1 |
20070035563 | Biocca et al. | Feb 2007 | A1 |
20070182761 | Kuroki | Aug 2007 | A1 |
Number | Date | Country |
---|---|---|
8-016102 | Jan 1996 | JP |
11-088913 | Mar 1999 | JP |
2002-95535 | Apr 2002 | JP |
2003-050132 | Feb 2003 | JP |
2003-203245 | Jul 2003 | JP |
2003-296759 | Oct 2003 | JP |
WO 0135641 | May 2001 | WO |
WO 0235823 | May 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20050179617 A1 | Aug 2005 | US |