US20050190181A1 - Image processing method and apparatus - Google Patents

Image processing method and apparatus Download PDF

Info

Publication number
US20050190181A1
US20050190181A1 US11/115,162 US11516205A US2005190181A1 US 20050190181 A1 US20050190181 A1 US 20050190181A1 US 11516205 A US11516205 A US 11516205A US 2005190181 A1 US2005190181 A1 US 2005190181A1
Authority
US
United States
Prior art keywords
image
illumination
virtual
real
real space
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.)
Abandoned
Application number
US11/115,162
Inventor
Yukio Sakagawa
Akihiro Katayama
Daisuke Kotake
Masakazu Fujiki
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
Priority claimed from JP22395899A external-priority patent/JP3387856B2/en
Priority claimed from JP22395999A external-priority patent/JP3392078B2/en
Priority claimed from JP24677099A external-priority patent/JP3486575B2/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to US11/115,162 priority Critical patent/US20050190181A1/en
Publication of US20050190181A1 publication Critical patent/US20050190181A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Definitions

  • the present invention relates to an image processing apparatus and method for shading or shadowing a virtual object using a virtual light source upon expressing a virtual space on the basis of photo image data.
  • the present invention also relates to an image processing apparatus and method for changing a real illumination condition in real time and generating a mixed reality image in accordance with the changed condition.
  • IBR Image Based Rendering
  • a coordinate system 0 -X-Y-Z is defined in a real space.
  • the degree of freedom of the light ray can be reduced to two dimensions.
  • This x- ⁇ two-dimensional space is a partial space of the ray space.
  • Image sensing by a camera corresponds to registering in an imaging plane the rays that passes through the lens focal point of the camera, and the intensity and color of the ray is represented as an image.
  • the set of light rays that passes through one point in the real space i.e., the focal point position
  • the set of light rays that passes through one point in the real space i.e., the focal point position
  • the degree of freedom in the ⁇ direction is omitted, and the behavior of a light ray is examined in only the X-Z plane, only pixels on a line segment that intersects a plane perpendicular to the Y-axis need be considered. In this manner, by sensing an image, light rays that pass through one point can be collected, and data on a single line segment in the x-u space can be captured by single image sensing.
  • an image observed from a new arbitrary viewpoint position can be generated ( FIG. 7 ) from the data of the x-u space ( FIG. 6 ).
  • an image observed from a new viewpoint position E(X, Z) indicated by an eye mark can be generated by reading out data on a line given by equation (1) from the x-u space.
  • Image processes using photo image data do not excel in addition of shades and generation of a shadow by means of virtual illumination. This is because although shades or shadow change in accordance with the three-dimensional pattern of an object, it is hard to reconstruct shades or shadow since photo image data does not have any information pertaining to the geometric shape of the object. That is, a technique for rendering a virtual object on the basis of space data including geometric shape information, rendering shades to be added to that object or rendering a shadow formed by the object is known to those skilled in an image processing field based on geometric shape information (e.g., computer graphics (to be abbreviated as CG hereinafter)), but is unknown in an image processing field using a photo image such as a ray space or the like.
  • geometric shape information e.g., computer graphics (to be abbreviated as CG hereinafter)
  • One difficulty in generation of a mixed reality space involves changing a real illumination condition and mixing a virtual image with a real space in real time in correspondence with the change in illumination condition.
  • the brightness of a real space is measured by a batch method, and the detected illumination condition is reflected in the mixed reality space.
  • the present invention has been proposed to solve the conventional problems, and has as its object to provide an image processing method and apparatus suitable for recording space data, which is suitable for generating shades of a virtual object from space data based on a photo image.
  • FIG. 1 is a view for explaining the principle for generating ray space data
  • FIG. 2 is a view for explaining data in a real space
  • FIG. 3 is a view showing the space shown in FIG. 2 , which is expressed by ray space data;
  • FIG. 4 is a view for explaining the principle of generating real space data when there are a plurality of cameras
  • FIG. 5 is a view for explaining the principle of generating ray space data when there are a plurality of cameras
  • FIG. 7 is a view for explaining the principle of reconstructing a real space from an arbitrary viewpoint in FIG. 6 ;
  • FIG. 8 is a block diagram for explaining the arrangement of an image processing apparatus according to the first embodiment of the present invention.
  • FIG. 9 is a view for explaining storage of ray space data in the first embodiment
  • FIG. 10 is a view for explaining a scheme for obtaining a photo image with shades of an object at each of a plurality of different camera viewpoints when the object is illuminated from a plurality of different illumination positions;
  • FIG. 11 is a chart for explaining the process for generating ray space data of a photo image with shades of an object
  • FIG. 12 is a view for explaining generation of shades of a virtual object illuminated by virtual illuminations placed at L 1 and L 2 when viewed from virtual viewpoint position i;
  • FIG. 13 is a view for explaining shades added to the virtual object shown in FIG. 12 ;
  • FIG. 14 is a view for explaining a scheme for extracting ray space data RS corresponding to viewpoint position i and illumination positions L 1 and L 2 from data stored in a disk;
  • FIG. 15 is a flow chart showing the control sequence until a photo image with shades of an object is captured and is converted into ray space data
  • FIG. 16 is a table which stores illumination conditions set upon obtaining ray space data shown in FIG. 15 ;
  • FIG. 17 is a flow chart showing the control sequence for generating an image with shades of a virtual object when an arbitrary virtual illumination is set;
  • FIG. 18 is a flow chart for explaining a rendering routine in FIG. 17 ;
  • FIG. 19 is a flow chart for explaining a restart routine in FIG. 17 ;
  • FIG. 20 is a view for explaining the principle of controlling the pixel value in accordance with the illumination position with respect to an object
  • FIG. 21 is a view for explaining the principle of generating a silhouette serving as a source of a shadow image of an arbitrary object
  • FIG. 22 is a view showing an example of the silhouette extracted by the principle of FIG. 21 ;
  • FIG. 23 is a view for explaining a change in silhouette obtained by FIG. 22 with changing virtual illumination position (to be lower);
  • FIG. 24 is a view for explaining a change in silhouette obtained by FIG. 22 with changing virtual illumination position (to be higher);
  • FIG. 25 is a view for explaining the principle of generating a mapping plane in the first embodiment
  • FIG. 26 is a flow chart showing the control sequence for generating a shadow image beforehand
  • FIG. 27 is a flow chart showing the control sequence for pasting a shadow image generated beforehand to a virtual object
  • FIG. 28 is a view for explaining a method for generation of a simple shadow image
  • FIG. 29 is a block diagram for explaining the arrangement of a mixed reality presentation apparatus according to the second embodiment of the present invention.
  • FIG. 30 is a view for explaining the arrangement of an illumination unit used in the apparatus of the second embodiment.
  • FIG. 31 is a block diagram functionally showing operations in principal parts of the mixed reality presentation apparatus
  • FIG. 32 is a view for explaining a GUI used to change illumination conditions
  • FIG. 33 is a flow chart showing the control sequence of a mixed reality space management module
  • FIG. 34 is a flow chart showing the control sequence of a CG image generation module.
  • FIG. 35 is a view showing the arrangement of a modification of an illumination device.
  • FIG. 36 shows a table stored in a memory, in which illumination positions (Ln) and ray space data RS(Ln) are registered.
  • FIG. 37 shows a table stored in a memory, in which illumination positions (Ln) and shadow data SHADOW(Ln) are registered.
  • FIGS. 38A to 38 C show change of a displayed object in accordance with operation of virtual illumination.
  • the image processing apparatus and method have a function of rendering shades to be added to a virtual object by a virtual illumination from ray space data, and rendering a shadow by the virtual illumination.
  • FIG. 8 shows the arrangement of an image processing system of this embodiment.
  • the hardware arrangement shown in FIG. 8 is that of a normal workstation. More specifically, the hardware arrangement itself is the same as that of a normal workstation.
  • This system presents a virtual space to the user on a CRT 23 .
  • the user can freely walk through that virtual space or can manipulate (move, rotate, enlarge, or the like) an object in the virtual space by operating a mouse 28 .
  • an object in the real space is converted into ray space data on the basis of a photo image, and the converted data is stored in advance in a disk 25 .
  • a ray space data object image at the moved viewpoint position is generated, as has been explained with reference to FIG. 7 .
  • This image is mapped on a transparent plate laid out in the virtual space by a texture mapper 24 , and the entire virtual space including the mapped image is rendered and displayed on the CRT 23 .
  • the texture mapper 24 also maps the texture of a shadow to a transparent plate laid out on the bottom portion of the object.
  • FIG. 9 explains the recording method of ray space data stored in the disk 25 in this system. That is, as has been explained in FIGS. 1 to 7 , ray space data expressed by a single line in an (X, u) space corresponds to a photo image that was converted in this line image.
  • reference numeral 29 denotes a color camera for obtaining a photo image.
  • the camera 29 is mounted on a moving mechanism 30 , and a CPU 20 drives the moving mechanism 30 in accordance with a control program (to be described later) to move the position of the camera 29 .
  • the CPU 20 can detect the moved position of the camera, i.e., the moved viewpoint position (including posture), via the moving mechanism 30 .
  • Reference numeral 32 denotes an illumination light source. This light source is moved to an arbitrary position via a moving mechanism 31 . The moved position is detected by the CPU 20 .
  • the camera 29 and, especially, the illumination light source 32 are movable to sense shades generated by illuminations (real illuminations) at a plurality of known positions.
  • This system generates ray space data with shades in advance on the basis of real shade images. Also, this system holds silhouette images of an object viewed from the light source positions as a shadow image database.
  • FIG. 10 explains the principle of capturing shade data.
  • reference numeral 100 denotes a real object, which is a circular cone 100 in this example, for the sake of simplicity.
  • reference numerals 101 and 102 denote image sensing routes, along which a plurality of image sensing positions are designated.
  • the route 101 vertically makes a round of the circular cone 100
  • the route 102 horizontally makes a round of the circular cone 100 .
  • 36 images of the circular cone 100 can be obtained, and these 36 color images are those of the object 100 with shades.
  • the sensed images are converted into ray space data by the aforementioned method, and are stored in the disk 25 .
  • reference numerals 200 and 201 denote moving routes of the illumination light source 32 .
  • the moving routes 200 and 201 have, e.g., semi-circular arcuated shapes, and are perpendicular to each other. That is, the routes 200 and 201 respectively have 180° moving ranges. Assuming that the light source 32 moves in 10° increments, 18 points of illumination positions for each of routes 200 and 201 (a total of 36 points) can be obtained.
  • the number of illumination positions influences the precision of the shapes of shades and shadow.
  • the 10° increment width along each of the horizontal and vertical image sensing routes is merely an example, and the increment width can be arbitrarily increased/decreased as needed.
  • FIG. 11 illustrates a state wherein a real image RI i (L) (i is the viewpoint position along the route 101 or 102 ) obtained by sensing the real object 100 illuminated from the illumination position L by the camera 29 is temporarily stored in the disk 25 and is converted into a ray space data object RS(L), and the converted object is stored.
  • FIG. 12 explains a scheme for generating shades upon rendering a virtual image 100 ′ of the object 100 at a certain viewpoint position in a virtual space with a plurality of virtual illuminations.
  • three virtual illuminations L 1 , L 2 , L 3 ) are set in the virtual space, and the virtual illuminations (L 1 , L 2 ) are ON, and the virtual illumination (L 3 ) is OFF.
  • light shades must be formed on regions 300 and 301 of the surface of the circular cone 100 as a virtual object, and a dense shade on a region 302 .
  • a virtual image shown in FIG. 13 should be obtained by rendering.
  • a ray space data object image RS i (L 1 ) generated at viewpoint position i by setting a light at the illumination position L 1 and a ray space data object image RS i (L 2 ) generated at viewpoint position i by setting a light at the illumination position L 2 can be mixed, as shown in FIG. 14 .
  • FIG. 15 is a flow chart for explaining the storage sequence of ray space data according to the first embodiment.
  • An image of a real object illuminated by an illumination L n is captured at camera viewpoint position i (step S 10 ), and the captured image is saved (step S 12 ).
  • This operation is repeated for all a plurality of predetermined viewpoint positions i (steps S 14 and S 16 ).
  • the plurality of image data obtained in step S 10 -S 16 are converted into ray space data RS(L n ) of the illumination L n (step S 18 ), and the converted data are saved in the disk 25 (step S 20 ).
  • the aforementioned process is repeated for all the illuminations (steps S 22 and S 24 ).
  • the camera 29 is directed to the real object at each of a plurality of camera viewpoint positions i, the real object is illuminated from each of a plurality of illumination positions L n , to capture images of the real object, the captured image data are converted into ray space data RS in units of illumination positions L n , and the converted data are saved in the disk 25 as shown in FIG. 36 .
  • appropriate ray space data can be obtained by searching the table shown in FIG. 36 based on relative position between the object and the virtual illumination (step S 62 of FIG. 18 ).
  • FIG. 16 shows various illumination conditions of the illumination device at the individual illumination positions. These illumination conditions were recorded upon storing ray space data of a real image.
  • an application program of this image processing system implements walkthrough in a virtual space, it virtually turns on/off the respective illuminations (virtual illuminations) in accordance with its specifications or by receiving a user instruction upon rendering a virtual object in the virtual space. That is, as has been explained above in relation to FIGS. 12 and 13 , an image of a virtual object with shades is rendered considering the sum of the contributions of all ON illuminations.
  • FIG. 17 shows the control sequence for rendering an image by that application program.
  • step S 30 viewpoint position i to be rendered is determined. It is checked in step S 32 if rendering of ray space data objects pre-stored in correspondence with viewpoint position i of interest is complete. If rendering is not complete, the flow advances to step S 34 , the table shown in FIG. 16 is searched for virtual illuminations the user (or the application program) wants to turn on. Processes in steps S 38 and S 40 are done for a ray space object RS(L ON ) corresponding to a designated ON virtual illumination. Note that L ON is the number of a designated ON virtual illumination.
  • FIG. 18 shows the rendering process in step S 38 in detail.
  • steps S 60 to S 64 process an object RS(L n ). That is, the relative position of the object with respect to the illumination L n is computed in step S 60 , and object data is acquired by searching the table shown in FIG. 36 in accordance with that relative position in step S 62 .
  • step S 64 an image of the object RS(L n ) is generated in consideration of illuminance of the illumination L n . For each of R, G, and B values which do not consider any illumination, the pixel value of is changed larger with increasing illuminance value and decreasing distance to the illumination. That is, as shown in FIG.
  • step S 40 the next ON illumination is referred to in step S 40 , and the flow returns to step S 36 to repeat processes in step S 38 ⁇ step S 40 .
  • step S 42 Upon completion of the process in step S 38 for all ON virtual illuminations, the flow advances to step S 42 to compute the sum of pixel values of that pixel computed for the respective virtual illuminations.
  • the sum of pixel values can be obtained by simply adding the pixel values of the respective generated images at the corresponding pixel position. It is checked in step S 44 if the sum of pixel values computed in step S 42 overflows, i.e., exceeds the gamut of the display device (CRT 23 ). If 12 S in step A 44 restart process is done in step S 46 . In the restart process, the illuminance of the virtual illumination is decreased not to cause any overflow, and rendering is redone. FIG. 19 shows details of the restart process.
  • step S 66 objects are marked to indicate overflow.
  • step S 68 the set illuminance values of all the virtual illuminations (see the table in FIG. 16 ) are decreased.
  • step S 70 a virtual environment is rendered again.
  • step S 44 determines whether overflow is detected. If it is determined in step S 44 that no overflow is detected, the next object is referred to in step S 50 , and the flow returns to step S 32 . If YES is determined in step S 32 , ray space data have been processed for all pixels for one frame, and as a result, a virtual image under a condition that two virtual illuminations are ON ( FIG. 12 ) is generated, as shown in, e.g., FIG. 13 .
  • shades from an illumination at a desired position can be appropriately generated even for a virtual object expressed by IBR data (having no geometric shape information) of the ray space theory or the like.
  • the image processing apparatus of this embodiment also has a function of adding a shadow by a virtual illumination in addition to addition of shades by the virtual illumination.
  • the shape of a shadow is dominated by the geometric shape of an object and the shape of a plane (to be referred to as a “mapping plane” hereinafter) on which the shadow is projected.
  • a mapping plane since an IBR image such as ray space data or the like does not have any geometric shape for an object, it is conventionally difficult to implement processes pertaining to a shadow, as described early.
  • the image processing apparatus of this embodiment generates a shadow image in advance like in shading.
  • the mapping plane is generated using a so-called “bounding box” known to those who are skilled in the CG art.
  • FIGS. 21 and 22 illustrate the principle of a scheme for generating shadow data of the circular cone 100 as an example of a real object.
  • the camera 29 is set at a position substantially matching that (including a posture) of the illumination 32 to sense an image of the object 100 illuminated by the illumination 32 .
  • This image 120 has a shape, as shown in, e.g., FIG, 23 , and its silhouette 121 should have a shape approximate to a shadow generated when the object 100 is illuminated by the illumination 32 .
  • an image is sensed by the camera to record photo images of the object added with shades in the form of ray space data in advance. But upon generating a shadow, an image of the object is sensed to obtain a shadow image.
  • the silhouette 121 serves as a basis of a shadow image, and will be simply referred to as an “Hedge shape” hereinafter.
  • a shadow formed by a virtual illumination i.e., a virtual shadow
  • the shape of a shadow is influenced by the shape of the mapping plane in addition to the silhouette shape.
  • the shadow shape is obtained by projecting the silhouette onto the mapping plane. This projected shape is expressed by an affine transform.
  • mapping plane The principle of generating the mapping plane will be explained below.
  • a shadow of an object has a shape corresponding to the shape of said object. That is, a shadow is formed within a range corresponding to the shape of an object.
  • a feature of this embodiment is to limit the shape (i.e., range) of the mapping plane to that of the mapping plane of the bounding box of an object (virtual object).
  • a bounding box that includes all spatial spreads of these virtual images is obtained.
  • This box is normally set to have a rectangular parallelopiped shape, and is a box 300 in the example shown in FIG. 25 .
  • a projected shape 302 of this box is a rectangle, as shown in FIG. 25 .
  • This projected shape 302 serves as the mapping plane.
  • FIG. 26 shows the control sequence for obtaining the edge shape.
  • step S 100 the camera 29 and illumination device 32 are set at an arbitrary position L.
  • step S 102 a real object is illuminated by the illumination 32 at this position L to capture its image.
  • step S 104 a silhouette is acquired from that image.
  • step S 106 pixel values in that silhouette are set to be black. Also, the transparency is set at a predetermined value (which does not indicate 100% transparency but allows to see through the surface of the virtual object).
  • a process in step S 108 is selectively done. That is, if the image sensing plane (the camera position/posture) is not parallel to the projective plane (illumination position/posture), a re-projection process of a shadow image is required. However, in the example shown in FIG. 21 since these planes are not parallel to each other and the angle these planes make is small, errors are expected to be small, and little difference is observed if such re-projection process is not done. When a silhouette is obtained not from a real object but from a virtual object, the perspective viewing volume can be set so that the rendering plane matches the plane of a shadow image.
  • a blur process in step S 108 considers the fact that an actual shadow is blurred at its edge portion. That is, by adding the blur process, a shadow image can look more natural. Furthermore, by increasing the blur value for a shadow projected at a position farther from the object, the natural feel can be further enhanced.
  • this blur process is done for an silhouette image generated from an image of a virtual object, it can be implemented using a viewing volume used upon rendering an image using a depth-of-field effect.
  • step S 110 the obtained shadow image data is saved.
  • step S 112 the next image sensing position (illumination position) L+1 is selected, and the processes in steps S 100 to S 112 are repeated until the processes are done for all the illumination positions.
  • step S 110 the shadow data is saved in step S 110 to be indexed by the relative position value between the illumination and object as shown in FIG. 37 .
  • silhouettes obtained upon illuminating an object from a plurality of illumination positions can be prepared as shadow images.
  • FIG. 27 explains the sequence for rendering a shadow in detail.
  • ray space data of a virtual object for which a shadow is to be generated is read out from the memory in step S 120 .
  • step S 122 all virtual illuminations that may generate shadows are detected.
  • Steps S 126 to S 134 implement a rendering process of a shadow image formed by an ON illumination of those detected virtual illuminations. More specifically, one ON illumination L is found in step S 126 .
  • step S 128 the shape of the mapping plane is computed. The shape of the mapping plane can be computed if the geometric shape of the bounding box of virtual object and the relative position of a light source are given, as described above. The geometric shape of the shadow mapping plane can be set so that an arbitrary element in its bounding box has a shadow projected onto that mapping plane.
  • the bounding box used to determine the mapping plane can be used to create a simple shadow image in some cases. For example, when light reflected by a ceiling or external light serves as a light source, a very simple shadow image like an ellipse 305 that inscribes the bounding box can be used, as shown in FIG. 28 .
  • step S 130 a shadow image is rendered in correspondence with the relative position of the object with respect to the illumination L.
  • the shadow image is indexed by the value of the relative position of the real object (virtual object) with respect to the illumination L (see FIG. 37 ).
  • an image corresponding to shadow data can be read out from the memory using the relative position.
  • re-projection and shadow image blur processes are executed.
  • step S 132 the generated shadow image is mapped on the mapping plane. This mapping is implemented using texture mapping ( 24 in FIG. 8 ).
  • step S 124 the flow returns to step S 124 to consider another illumination. If another ON illumination is available, in other words, if shadows formed by a plurality of illuminations may exist, the shadow images generated by the aforementioned scheme are mixed by known CG rendering (in consideration of semi-transparency of an image).
  • a shadow formed by an illumination at a desired position can be appropriately generated even for a virtual object expressed by IBR data (having no geometric shape information) of the ray space theory or the like.
  • ray space data are obtained by computations, but a RAM or ROM that stores them as a table may be used.
  • the display device is not limited to the CRT.
  • a lenticular or HMD type display device may be used.
  • the above embodiment has exemplified a method of holding in advance images sensed from all possible illumination positions. This is because ray space data objects used have only horizontal disparities but ignore vertical disparities. If a ray space data object can be generated in also consideration of the vertical disparity, an image of an object viewed from a given position of an illumination is generated using that ray space data object, and a silhouette can be rendered. In the ray space theory, not only the horizontal disparity but also vertical disparity can be provided, and such process can be implemented by expanding the aforementioned ray space data process pertaining to the horizontal disparity in the vertical direction. Hence, even when shadow data are not sensed in advance, the silhouette of an image viewed from an illumination position can be generated in real time using ray space data objects, and a shadow can be expressed by re-projecting the generated image.
  • shades can be appropriately added to a virtual object defined by space data based on a photo image.
  • a shadow can be appropriately mapped on a virtual object defined by space data based on a photo image.
  • FIG. 29 is a block diagram showing the overall arrangement of a mixed reality presentation system of this embodiment.
  • reference numeral 106 denotes a sensor for measuring the viewpoint position and line-of-sight direction of the user.
  • This sensor may be a magnetic or optical sensor provided outside user's body or a sensor attached to an HMD (Head Mounted Display) the user wears.
  • the measured viewpoint position and posture are sent to an image generation module 103 .
  • the image generation module 103 generates a CG image in consideration of the viewpoint position and line of sight of the user.
  • an image sensing device 105 uses a video camera or the like for sensing an image of a real space.
  • the image sensing device 105 is preferably attached to the head of the user when the viewpoint position and line-of-sight direction of the user change.
  • An image input module 104 converts an image sensed by the image sensing device 105 into an object, also generates a depth value of a given in that image, and passes them on to an image mixing module 102 .
  • the image mixing module 102 mixes the CG image generated by the image generation module 103 with the video image from the image input module 104 .
  • occlusion is determined by comparing the depth values of the CG image and video image, and a mask corresponding to a portion to be hidden of a behind object is generated, thus mixing the video and CG images.
  • the image generation module 103 receives information that pertains to illumination conditions from a mixed reality space management module 108 . That is, the image generation module 103 generates a CG with shades in accordance with the illumination conditions.
  • a real illumination device 107 is used to illuminate an object.
  • the management module 108 can change the illuminance, illumination direction, and the like of the illumination device.
  • the management module 108 converts changed conditions of the illumination device 107 into predetermined parameter values, and passes them on to the image generation module 103 .
  • FIG. 30 shows an example of the illumination device 107 .
  • This illumination device has a light control unit 206 , which is pivotally supported by a boom 205 via a joint (not shown).
  • the boom 205 is fixed to a support shaft 202 via a joint 204 .
  • the support shaft 202 is pivotally fixed on a rotary stage 203 , which is slidably placed on a slide table 201 .
  • the light control unit can slide, pan, tilt, and rotate.
  • the joints, rotary stage, and the like are driven by motors, they can be controlled by a signal from the management unit 108 .
  • the amount of light can be controlled by controlling the voltage/current to be applied to the light control unit.
  • each motor, joint, slide table, and light control unit respectively have a rotary encoder, goniometer, linear distance sensor, and illuminance sensor, their position/posture information can be acquired.
  • FIG. 31 explains the relationship among the illumination device 107 , management module 108 , and image mixing module 103 .
  • a GUI 120 is a graphic user interface which is displayed on a display device by the management module to change illumination conditions.
  • FIG. 32 shows an example of the GUI.
  • arrows are control buttons which can be changed by, e.g., a mouse.
  • the user wants to slide the illumination unit horizontally he or she clicks one of the right and left arrows with the mouse, and moves the desired arrow in a desired direction.
  • the user wants to adjust angle he or she selects the arrow of a portion to be changed by clicking the mouse and rotates it using, e.g., a joystick.
  • brightness and color of illumination, and the like can be changed using a keyboard, joystick, or the like.
  • the arrow of a portion to be changed may be selected by clicking the mouse and the angle may be set by dragging the mouse in place of the joystick.
  • the illumination conditions set by the user via this GUI are sent to a controller 107 b in the illumination device 107 .
  • the controller 107 b converts the illumination conditions into drive amounts of the motors and the like of the illumination device 107 , and outputs them. In this manner, the illumination device 107 is set at illuminance and the like set by the user via the GUI.
  • the illumination conditions set via the GUI are converted into illumination condition parameters, e.g., angle, specular, ambient, position, diffusion, and the like defined by a space language used in the generation module 103 .
  • these parameter values are determined in advance by experiments under various illumination conditions.
  • the image generation module 103 sets the received parameter values in a rendering routine.
  • FIG. 33 shows the control sequence of the mixed reality space management module 108
  • FIG. 34 shows the control sequence of the image generation module 103
  • the mixed reality space management module 108 and image generation module 103 are program modules and communicate with each other via an API (Application Program Interface) of a predetermined protocol. More specifically, the management module 108 monitors in step S 102 if the user has changed illumination conditions using the GUI. If YES in step S 102 , the module 108 computes various controlled variables for the illumination unit in step S 104 , and send them to the controller 107 b of the illumination device 107 in step S 106 .
  • API Application Program Interface
  • the module 108 generates illumination parameters such as angle in step S 108 , and the like and send them to the image generation module 103 via an API in step S 110 .
  • the module 108 generates an event and informs the module 103 of the event.
  • the image generation module 103 waits for generation of an event (step S 202 ). If an event is generated, the module 103 confirms in step S 204 if the event is an illumination condition change event, and receives illumination parameters via an API in step S 206 . In step S 208 , the module 103 replaces parameters in the rendering routine by the received parameters. In step S 210 , the module 103 renders a CG image in accordance with the received parameters. The rendered CG image has shades or the like, which have been changed in accordance with the changed illumination conditions.
  • An illumination device 3802 has light source 3803 , control buttons 3804 for adjusting illumination brightness and manipulator 3805 for turning the illumination device in horizontal direction around the axis 3806 .
  • the illumination (light source) is at a position “n”. Accordingly, an object image 3801 is rendered based on ray space data RS(Ln).
  • FIG. 35 explains a modification of an illumination unit 107 a .
  • the light control unit 206 is supported by a tilt unit 301 , which is axially supported to be free to tilt.
  • the tilt unit 301 is vertically movable.
  • a support shaft 304 is connected to a motor 303 and can be rotated to pan the light control unit.
  • the support shaft 304 is parallelly movable along a slide table 302 .
  • the slide table 302 is movable in a direction perpendicular to the moving direction of the shaft 304 .
  • the GUI is used to change illumination conditions.
  • hardware devices such as a volume, slide switch, joystick, and the like may be used. When such hardware devices are used, output signals from these devices must be sent to the apparatus having the management module.
  • the illumination conditions are changed under the control of a computer.
  • the present invention is not limited to such specific control.
  • the present invention can be applied when the illumination conditions are manually changed.
  • condition change values on the GUI 120 may be read by the controller 107 b in a software manner.
  • the need for the rotary encoder in the above embodiment can be obviated.
  • an illuminance sensor, a sensor for detecting illumination direction, and the like are provided, and these sensor outputs are supplied to the management module.
  • illumination program parameters are pre-stored in a predetermined memory 121 , but may be computed in real time on the basis of the detected illuminance, illumination direction, and the like.
  • conversion formulas for deriving parameter values from the detection values of the illumination conditions may be pre-stored in the memory, and parameters may be computed using these conversion formulas in real time.
  • the illumination conditions of a virtual image can be acquired in real time in correspondence with changes in real illumination. For this reason, deviation of image quality between real and virtual images due to structural differences of the illumination conditions can be minimized.

Abstract

There is provided an image processing apparatus for describing a real image as a virtual object using space data formed based on a photo image of the real object, and generating a virtual image of the virtual object using the space data. The image processing apparatus captures the photo image of the real object from a real camera viewpoint position while illuminating the real object by an illumination light source placed at a real illumination position. The captured photo image is converted into space data in the form of an object for each pixel, and the space data is stored in a memory together with various illumination conditions at the real illumination position to allow a search at a later time.

Description

    FIELD OF THE INVENTION
  • The present invention relates to an image processing apparatus and method for shading or shadowing a virtual object using a virtual light source upon expressing a virtual space on the basis of photo image data.
  • The present invention also relates to an image processing apparatus and method for changing a real illumination condition in real time and generating a mixed reality image in accordance with the changed condition.
  • BACKGROUND OF THE INVENTION
  • Many schemes for describing a virtual space based not on a three-dimensional geometric shape but on a photo image have been proposed. Such schemes are called Image Based Rendering (to be abbreviated as IBR hereinafter), and can express a virtual space with high reality that cannot be obtained by a scheme based on a three-dimensional geometric shape.
  • Attempts to describe a virtual space on the basis of the ray space theory as one IBR scheme have been proposed. See, for example, “Implementation of Virtual Environment by Mixing CG model and Ray Space Data”, IEICE Journal D-11, Vol. J80-D-11 No. 11, pp. 3048-3057, November 1997, or “Manual Conversion between Hologram and Ray Space Aiming at 3D Integrated Image Communication”, 3D Image Conference, and the like.
  • The ray space theory will be explained below.
  • As shown in FIG. 1, a coordinate system 0-X-Y-Z is defined in a real space. A light ray that passes through a reference plane P (Z=z) perpendicular to the Z-axis is defined by a position (x, y) where the light ray crosses P, and variables θ and φ that indicate the direction of the light ray. More specifically, a single light ray is uniquely defined by five variables (x, y, z, θ, φ). If a function that represents the light intensity of this light ray is defined as f, light ray group data in this space can be expressed by f(x, y, z, θ, φ). This five-dimensional space is called a “ray space”.
  • If the reference plane P is set at z=0, and disparity information of a light ray in the vertical direction, i.e., the degree of freedom in the φ direction is omitted, the degree of freedom of the light ray can be reduced to two dimensions. This x-θ two-dimensional space is a partial space of the ray space. As shown in FIG. 3, if u=tan θ, a light ray (FIG. 2) which passes through a point (X, Z) in the real space is mapped onto a line in the x-u space; which line is given by:
    X=x+uZ
  • Image sensing by a camera corresponds to registering in an imaging plane the rays that passes through the lens focal point of the camera, and the intensity and color of the ray is represented as an image. In other words, the set of light rays that passes through one point in the real space, i.e., the focal point position, corresponds to the set of captured pixels. In this, since the degree of freedom in the φ direction is omitted, and the behavior of a light ray is examined in only the X-Z plane, only pixels on a line segment that intersects a plane perpendicular to the Y-axis need be considered. In this manner, by sensing an image, light rays that pass through one point can be collected, and data on a single line segment in the x-u space can be captured by single image sensing.
  • When an image is sensed a large number of times by changing the viewpoint position, light ray groups which pass through a large number of points can be captured. When the real space is sensed using N cameras, as shown in FIG. 4, data on a line given by:
    x+Z n u=X n  (2)
    can be input in correspondence with a focal point position (Xn, Zn) of the n-th camera (n=1, 2, . . . , N), as shown in FIG. 5. In this way, when an image is sensed from a sufficiently large number of view points, the x-u space can be densely filled with data.
  • Conversely, an image observed from a new arbitrary viewpoint position can be generated (FIG. 7) from the data of the x-u space (FIG. 6). As shown in FIG. 7, an image observed from a new viewpoint position E(X, Z) indicated by an eye mark can be generated by reading out data on a line given by equation (1) from the x-u space.
  • In the mixed reality space that takes a photo image into a virtual space, real and virtual spaces are mixed. For this reason, image processes which are easy to implement in a real or virtual space alone may become hard to implement.
  • Image processes using photo image data do not excel in addition of shades and generation of a shadow by means of virtual illumination. This is because although shades or shadow change in accordance with the three-dimensional pattern of an object, it is hard to reconstruct shades or shadow since photo image data does not have any information pertaining to the geometric shape of the object. That is, a technique for rendering a virtual object on the basis of space data including geometric shape information, rendering shades to be added to that object or rendering a shadow formed by the object is known to those skilled in an image processing field based on geometric shape information (e.g., computer graphics (to be abbreviated as CG hereinafter)), but is unknown in an image processing field using a photo image such as a ray space or the like.
  • One difficulty in generation of a mixed reality space involves changing a real illumination condition and mixing a virtual image with a real space in real time in correspondence with the change in illumination condition.
  • Conventionally, the brightness of a real space is measured by a batch method, and the detected illumination condition is reflected in the mixed reality space.
  • SUMMARY OF THE INVENTION
  • The present invention has been proposed to solve the conventional problems, and has as its object to provide an image processing method and apparatus suitable for recording space data, which is suitable for generating shades of a virtual object from space data based on a photo image.
  • It is another object of the present invention to provide an image processing method and apparatus for generating shades of a virtual object from space data based on a photo image at high speed.
  • It is still another object of the present invention to provide an image processing method and apparatus capable of appropriately generating shades even when the position or condition of a virtual light source is arbitrarily-changed.
  • It is still another object of the present invention to provide an image processing method and apparatus capable of generating shades for a virtual object described in space data based on a photo image.
  • It is still another object of the present invention to provide an image processing method and apparatus capable of pasting a shadow image to a virtual object image from space data based on a photo image.
  • It is still another object of the present invention to provide an image processing method and apparatus suitable for real-time processes for directly generating a shadow image from space data, and pasting the shadow image in a virtual space.
  • It is still another object of the present invention to provide a mixed reality presentation apparatus for constructing a mixed reality space in response to a change in real illumination condition in real time.
  • Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • FIG. 1 is a view for explaining the principle for generating ray space data;
  • FIG. 2 is a view for explaining data in a real space;
  • FIG. 3 is a view showing the space shown in FIG. 2, which is expressed by ray space data;
  • FIG. 4 is a view for explaining the principle of generating real space data when there are a plurality of cameras;
  • FIG. 5 is a view for explaining the principle of generating ray space data when there are a plurality of cameras;
  • FIG. 6 is a view for explaining the principle of generating ray space data (x+Zu=X) at an arbitrary viewpoint position from ray space data when there are a plurality of cameras;
  • FIG. 7 is a view for explaining the principle of reconstructing a real space from an arbitrary viewpoint in FIG. 6;
  • FIG. 8 is a block diagram for explaining the arrangement of an image processing apparatus according to the first embodiment of the present invention;
  • FIG. 9 is a view for explaining storage of ray space data in the first embodiment;
  • FIG. 10 is a view for explaining a scheme for obtaining a photo image with shades of an object at each of a plurality of different camera viewpoints when the object is illuminated from a plurality of different illumination positions;
  • FIG. 11 is a chart for explaining the process for generating ray space data of a photo image with shades of an object;
  • FIG. 12 is a view for explaining generation of shades of a virtual object illuminated by virtual illuminations placed at L1 and L2 when viewed from virtual viewpoint position i;
  • FIG. 13 is a view for explaining shades added to the virtual object shown in FIG. 12;
  • FIG. 14 is a view for explaining a scheme for extracting ray space data RS corresponding to viewpoint position i and illumination positions L1 and L2 from data stored in a disk;
  • FIG. 15 is a flow chart showing the control sequence until a photo image with shades of an object is captured and is converted into ray space data;
  • FIG. 16 is a table which stores illumination conditions set upon obtaining ray space data shown in FIG. 15;
  • FIG. 17 is a flow chart showing the control sequence for generating an image with shades of a virtual object when an arbitrary virtual illumination is set;
  • FIG. 18 is a flow chart for explaining a rendering routine in FIG. 17;
  • FIG. 19 is a flow chart for explaining a restart routine in FIG. 17;
  • FIG. 20 is a view for explaining the principle of controlling the pixel value in accordance with the illumination position with respect to an object;
  • FIG. 21 is a view for explaining the principle of generating a silhouette serving as a source of a shadow image of an arbitrary object;
  • FIG. 22 is a view showing an example of the silhouette extracted by the principle of FIG. 21;
  • FIG. 23 is a view for explaining a change in silhouette obtained by FIG. 22 with changing virtual illumination position (to be lower);
  • FIG. 24 is a view for explaining a change in silhouette obtained by FIG. 22 with changing virtual illumination position (to be higher);
  • FIG. 25 is a view for explaining the principle of generating a mapping plane in the first embodiment;
  • FIG. 26 is a flow chart showing the control sequence for generating a shadow image beforehand;
  • FIG. 27 is a flow chart showing the control sequence for pasting a shadow image generated beforehand to a virtual object;
  • FIG. 28 is a view for explaining a method for generation of a simple shadow image;
  • FIG. 29 is a block diagram for explaining the arrangement of a mixed reality presentation apparatus according to the second embodiment of the present invention;
  • FIG. 30 is a view for explaining the arrangement of an illumination unit used in the apparatus of the second embodiment;
  • FIG. 31 is a block diagram functionally showing operations in principal parts of the mixed reality presentation apparatus;
  • FIG. 32 is a view for explaining a GUI used to change illumination conditions;
  • FIG. 33 is a flow chart showing the control sequence of a mixed reality space management module;
  • FIG. 34 is a flow chart showing the control sequence of a CG image generation module; and
  • FIG. 35 is a view showing the arrangement of a modification of an illumination device.
  • FIG. 36 shows a table stored in a memory, in which illumination positions (Ln) and ray space data RS(Ln) are registered.
  • FIG. 37 shows a table stored in a memory, in which illumination positions (Ln) and shadow data SHADOW(Ln) are registered.
  • FIGS. 38A to 38C show change of a displayed object in accordance with operation of virtual illumination.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Preferred embodiments of the present invention will now be described in detail in accordance with the accompanying drawings.
  • First Embodiment
  • An image processing apparatus and method according to the first embodiment of the present invention will be described in detail below with reference to the accompanying drawings. The image processing apparatus and method have a function of rendering shades to be added to a virtual object by a virtual illumination from ray space data, and rendering a shadow by the virtual illumination.
  • FIG. 8 shows the arrangement of an image processing system of this embodiment. The hardware arrangement shown in FIG. 8 is that of a normal workstation. More specifically, the hardware arrangement itself is the same as that of a normal workstation.
  • This system presents a virtual space to the user on a CRT 23. The user can freely walk through that virtual space or can manipulate (move, rotate, enlarge, or the like) an object in the virtual space by operating a mouse 28. More specifically, an object in the real space is converted into ray space data on the basis of a photo image, and the converted data is stored in advance in a disk 25. When the viewpoint position moves as the user walks through, a ray space data object image at the moved viewpoint position is generated, as has been explained with reference to FIG. 7. This image is mapped on a transparent plate laid out in the virtual space by a texture mapper 24, and the entire virtual space including the mapped image is rendered and displayed on the CRT 23. The texture mapper 24 also maps the texture of a shadow to a transparent plate laid out on the bottom portion of the object.
  • FIG. 9 explains the recording method of ray space data stored in the disk 25 in this system. That is, as has been explained in FIGS. 1 to 7, ray space data expressed by a single line in an (X, u) space corresponds to a photo image that was converted in this line image.
  • Referring to FIG. 8, reference numeral 29 denotes a color camera for obtaining a photo image. The camera 29 is mounted on a moving mechanism 30, and a CPU 20 drives the moving mechanism 30 in accordance with a control program (to be described later) to move the position of the camera 29. The CPU 20 can detect the moved position of the camera, i.e., the moved viewpoint position (including posture), via the moving mechanism 30. Reference numeral 32 denotes an illumination light source. This light source is moved to an arbitrary position via a moving mechanism 31. The moved position is detected by the CPU 20.
  • The camera 29 and, especially, the illumination light source 32 are movable to sense shades generated by illuminations (real illuminations) at a plurality of known positions. This system generates ray space data with shades in advance on the basis of real shade images. Also, this system holds silhouette images of an object viewed from the light source positions as a shadow image database.
  • <Generation of Shades by Virtual Illumination>
  • FIG. 10 explains the principle of capturing shade data. Referring to FIG. 10, reference numeral 100 denotes a real object, which is a circular cone 100 in this example, for the sake of simplicity. Also, in FIG. 10, reference numerals 101 and 102 denote image sensing routes, along which a plurality of image sensing positions are designated. In the example shown in FIG. 10, the route 101 vertically makes a round of the circular cone 100, and the route 102 horizontally makes a round of the circular cone 100. For example, when the circular cone 100 is sensed at 36 points of viewpoint positions in 10° increments along the route 101 (one round=360°), 36 images of the circular cone 100 can be obtained, and these 36 color images are those of the object 100 with shades. The sensed images are converted into ray space data by the aforementioned method, and are stored in the disk 25.
  • Referring to FIG. 10, reference numerals 200 and 201 denote moving routes of the illumination light source 32. The moving routes 200 and 201 have, e.g., semi-circular arcuated shapes, and are perpendicular to each other. That is, the routes 200 and 201 respectively have 180° moving ranges. Assuming that the light source 32 moves in 10° increments, 18 points of illumination positions for each of routes 200 and 201 (a total of 36 points) can be obtained.
  • As will be described later, the number of illumination positions influences the precision of the shapes of shades and shadow. Hence, the 10° increment width along each of the horizontal and vertical image sensing routes is merely an example, and the increment width can be arbitrarily increased/decreased as needed.
  • In this example, ray space data are respectively generated at 36 points of illumination positions. Each ray space data are generated from 36 images. If RS represents one object, the object RS can be expressed by RS(L) since it has an argument L of an illumination position. FIG. 11 illustrates a state wherein a real image RIi(L) (i is the viewpoint position along the route 101 or 102) obtained by sensing the real object 100 illuminated from the illumination position L by the camera 29 is temporarily stored in the disk 25 and is converted into a ray space data object RS(L), and the converted object is stored.
  • FIG. 12 explains a scheme for generating shades upon rendering a virtual image 100′ of the object 100 at a certain viewpoint position in a virtual space with a plurality of virtual illuminations. In the example shown in FIG. 12, three virtual illuminations (L1, L2, L3) are set in the virtual space, and the virtual illuminations (L1, L2) are ON, and the virtual illumination (L3) is OFF. Then, light shades must be formed on regions 300 and 301 of the surface of the circular cone 100 as a virtual object, and a dense shade on a region 302. When the virtual object 100 formed with such shades is viewed from virtual viewpoint position i, a virtual image shown in FIG. 13 should be obtained by rendering. In order to implement such rendering, a ray space data object image RSi(L1) generated at viewpoint position i by setting a light at the illumination position L1 and a ray space data object image RSi(L2) generated at viewpoint position i by setting a light at the illumination position L2 can be mixed, as shown in FIG. 14.
  • FIG. 15 is a flow chart for explaining the storage sequence of ray space data according to the first embodiment. An image of a real object illuminated by an illumination Ln is captured at camera viewpoint position i (step S10), and the captured image is saved (step S12). This operation is repeated for all a plurality of predetermined viewpoint positions i (steps S14 and S16). The plurality of image data obtained in step S10-S16 are converted into ray space data RS(Ln) of the illumination Ln (step S18), and the converted data are saved in the disk 25 (step S20). The aforementioned process is repeated for all the illuminations (steps S22 and S24). In this manner, the camera 29 is directed to the real object at each of a plurality of camera viewpoint positions i, the real object is illuminated from each of a plurality of illumination positions Ln, to capture images of the real object, the captured image data are converted into ray space data RS in units of illumination positions Ln, and the converted data are saved in the disk 25 as shown in FIG. 36.
  • As explained later, appropriate ray space data can be obtained by searching the table shown in FIG. 36 based on relative position between the object and the virtual illumination (step S62 of FIG. 18).
  • FIG. 16 shows various illumination conditions of the illumination device at the individual illumination positions. These illumination conditions were recorded upon storing ray space data of a real image. When an application program of this image processing system implements walkthrough in a virtual space, it virtually turns on/off the respective illuminations (virtual illuminations) in accordance with its specifications or by receiving a user instruction upon rendering a virtual object in the virtual space. That is, as has been explained above in relation to FIGS. 12 and 13, an image of a virtual object with shades is rendered considering the sum of the contributions of all ON illuminations.
  • FIG. 17 shows the control sequence for rendering an image by that application program.
  • In step S30, viewpoint position i to be rendered is determined. It is checked in step S32 if rendering of ray space data objects pre-stored in correspondence with viewpoint position i of interest is complete. If rendering is not complete, the flow advances to step S34, the table shown in FIG. 16 is searched for virtual illuminations the user (or the application program) wants to turn on. Processes in steps S38 and S40 are done for a ray space object RS(LON) corresponding to a designated ON virtual illumination. Note that LON is the number of a designated ON virtual illumination. FIG. 18 shows the rendering process in step S38 in detail.
  • If Ln represents the number of the ON illumination, steps S60 to S64 process an object RS(Ln). That is, the relative position of the object with respect to the illumination Ln is computed in step S60, and object data is acquired by searching the table shown in FIG. 36 in accordance with that relative position in step S62. In step S64, an image of the object RS(Ln) is generated in consideration of illuminance of the illumination Ln. For each of R, G, and B values which do not consider any illumination, the pixel value of is changed larger with increasing illuminance value and decreasing distance to the illumination. That is, as shown in FIG. 20, considering the illuminance (R0) and position (i.e., distance D0) of a real illumination, with respect to a virtual illumination (illuminance Rx, distance Dx) located in the same direction as the real illumination, a pixel value Px of a virtual image is given by:
    P x =f(P, D x, D0, Rx, R0)
    where P is the pixel value of a real image, and f is a predetermined function.
  • In this manner, rendering of an object is completed.
  • Referring back to FIG. 17, the next ON illumination is referred to in step S40, and the flow returns to step S36 to repeat processes in step S38→step S40.
  • Upon completion of the process in step S38 for all ON virtual illuminations, the flow advances to step S42 to compute the sum of pixel values of that pixel computed for the respective virtual illuminations. In this case, the sum of pixel values can be obtained by simply adding the pixel values of the respective generated images at the corresponding pixel position. It is checked in step S44 if the sum of pixel values computed in step S42 overflows, i.e., exceeds the gamut of the display device (CRT 23). If 12S in step A44 restart process is done in step S46. In the restart process, the illuminance of the virtual illumination is decreased not to cause any overflow, and rendering is redone. FIG. 19 shows details of the restart process.
  • In step S66, objects are marked to indicate overflow. In step S68, the set illuminance values of all the virtual illuminations (see the table in FIG. 16) are decreased. In step S70, a virtual environment is rendered again.
  • On the other hand, if it is determined in step S44 that no overflow is detected, the next object is referred to in step S50, and the flow returns to step S32. If YES is determined in step S32, ray space data have been processed for all pixels for one frame, and as a result, a virtual image under a condition that two virtual illuminations are ON (FIG. 12) is generated, as shown in, e.g., FIG. 13.
  • <Effect of Shade Addition>
  • As described above, according to shade generation of this embodiment, shades from an illumination at a desired position can be appropriately generated even for a virtual object expressed by IBR data (having no geometric shape information) of the ray space theory or the like.
  • <Addition of Shadow by Virtual Illumination>
  • The image processing apparatus of this embodiment also has a function of adding a shadow by a virtual illumination in addition to addition of shades by the virtual illumination. The shape of a shadow is dominated by the geometric shape of an object and the shape of a plane (to be referred to as a “mapping plane” hereinafter) on which the shadow is projected. However, since an IBR image such as ray space data or the like does not have any geometric shape for an object, it is conventionally difficult to implement processes pertaining to a shadow, as described early. The image processing apparatus of this embodiment generates a shadow image in advance like in shading. The mapping plane is generated using a so-called “bounding box” known to those who are skilled in the CG art.
  • FIGS. 21 and 22 illustrate the principle of a scheme for generating shadow data of the circular cone 100 as an example of a real object.
  • More specifically, when an illumination 32 illuminates a real circular cone 100 from the position in FIG. 21, the camera 29 is set at a position substantially matching that (including a posture) of the illumination 32 to sense an image of the object 100 illuminated by the illumination 32. This image 120 has a shape, as shown in, e.g., FIG, 23, and its silhouette 121 should have a shape approximate to a shadow generated when the object 100 is illuminated by the illumination 32. In other words, when shades are generated, an image is sensed by the camera to record photo images of the object added with shades in the form of ray space data in advance. But upon generating a shadow, an image of the object is sensed to obtain a shadow image.
  • The silhouette 121 serves as a basis of a shadow image, and will be simply referred to as an “Hedge shape” hereinafter. A shadow formed by a virtual illumination (i.e., a virtual shadow) can be obtained by computing the coordinate transform of the silhouette to have the viewpoint position of the virtual illumination as a coordinate axis, i.e., the affine transform. For example, when the angle of elevation of the virtual illumination is low, an elongated shadow should be generated, as shown in FIG. 23; when the angle of elevation is high, a shadow with a short length should be generated, as shown in FIG. 24.
  • The shape of a shadow is influenced by the shape of the mapping plane in addition to the silhouette shape. When the mapping plane is determined, the shadow shape is obtained by projecting the silhouette onto the mapping plane. This projected shape is expressed by an affine transform.
  • The principle of generating the mapping plane will be explained below.
  • A shadow of an object has a shape corresponding to the shape of said object. That is, a shadow is formed within a range corresponding to the shape of an object. A feature of this embodiment is to limit the shape (i.e., range) of the mapping plane to that of the mapping plane of the bounding box of an object (virtual object).
  • For example, when virtual images of two animal toys 301 having complicated geometric shapes in practice are present, as shown in FIG. 25, a bounding box that includes all spatial spreads of these virtual images is obtained. This box is normally set to have a rectangular parallelopiped shape, and is a box 300 in the example shown in FIG. 25. A projected shape 302 of this box is a rectangle, as shown in FIG. 25. This projected shape 302 serves as the mapping plane.
  • FIG. 26 shows the control sequence for obtaining the edge shape.
  • In step S100, the camera 29 and illumination device 32 are set at an arbitrary position L. In step S102, a real object is illuminated by the illumination 32 at this position L to capture its image. In step S104, a silhouette is acquired from that image. In step S106, pixel values in that silhouette are set to be black. Also, the transparency is set at a predetermined value (which does not indicate 100% transparency but allows to see through the surface of the virtual object).
  • A process in step S108 is selectively done. That is, if the image sensing plane (the camera position/posture) is not parallel to the projective plane (illumination position/posture), a re-projection process of a shadow image is required. However, in the example shown in FIG. 21 since these planes are not parallel to each other and the angle these planes make is small, errors are expected to be small, and little difference is observed if such re-projection process is not done. When a silhouette is obtained not from a real object but from a virtual object, the perspective viewing volume can be set so that the rendering plane matches the plane of a shadow image.
  • A blur process in step S108 considers the fact that an actual shadow is blurred at its edge portion. That is, by adding the blur process, a shadow image can look more natural. Furthermore, by increasing the blur value for a shadow projected at a position farther from the object, the natural feel can be further enhanced. When this blur process is done for an silhouette image generated from an image of a virtual object, it can be implemented using a viewing volume used upon rendering an image using a depth-of-field effect.
  • In step S110, the obtained shadow image data is saved. In step S112, the next image sensing position (illumination position) L+1 is selected, and the processes in steps S100 to S112 are repeated until the processes are done for all the illumination positions.
  • Note that the shadow data is saved in step S110 to be indexed by the relative position value between the illumination and object as shown in FIG. 37.
  • In this manner, silhouettes obtained upon illuminating an object from a plurality of illumination positions can be prepared as shadow images.
  • FIG. 27 explains the sequence for rendering a shadow in detail.
  • More specifically, ray space data of a virtual object for which a shadow is to be generated is read out from the memory in step S120.
  • In step S122, all virtual illuminations that may generate shadows are detected. Steps S126 to S134 implement a rendering process of a shadow image formed by an ON illumination of those detected virtual illuminations. More specifically, one ON illumination L is found in step S126. In step S128, the shape of the mapping plane is computed. The shape of the mapping plane can be computed if the geometric shape of the bounding box of virtual object and the relative position of a light source are given, as described above. The geometric shape of the shadow mapping plane can be set so that an arbitrary element in its bounding box has a shadow projected onto that mapping plane.
  • Note that the bounding box used to determine the mapping plane can be used to create a simple shadow image in some cases. For example, when light reflected by a ceiling or external light serves as a light source, a very simple shadow image like an ellipse 305 that inscribes the bounding box can be used, as shown in FIG. 28.
  • In step S130, a shadow image is rendered in correspondence with the relative position of the object with respect to the illumination L. As has been described above in step S110, the shadow image is indexed by the value of the relative position of the real object (virtual object) with respect to the illumination L (see FIG. 37). Hence, an image corresponding to shadow data can be read out from the memory using the relative position. If required, re-projection and shadow image blur processes are executed. In step S132, the generated shadow image is mapped on the mapping plane. This mapping is implemented using texture mapping (24 in FIG. 8).
  • In step S124, the flow returns to step S124 to consider another illumination. If another ON illumination is available, in other words, if shadows formed by a plurality of illuminations may exist, the shadow images generated by the aforementioned scheme are mixed by known CG rendering (in consideration of semi-transparency of an image).
  • <Effect of Shadow Generation>
  • According to shadow generation of the above embodiment, a shadow formed by an illumination at a desired position can be appropriately generated even for a virtual object expressed by IBR data (having no geometric shape information) of the ray space theory or the like.
  • Various modifications of the present invention can be made.
  • In the above embodiment, ray space data are obtained by computations, but a RAM or ROM that stores them as a table may be used.
  • The display device is not limited to the CRT. For example, a lenticular or HMD type display device may be used.
  • The above embodiment has exemplified a method of holding in advance images sensed from all possible illumination positions. This is because ray space data objects used have only horizontal disparities but ignore vertical disparities. If a ray space data object can be generated in also consideration of the vertical disparity, an image of an object viewed from a given position of an illumination is generated using that ray space data object, and a silhouette can be rendered. In the ray space theory, not only the horizontal disparity but also vertical disparity can be provided, and such process can be implemented by expanding the aforementioned ray space data process pertaining to the horizontal disparity in the vertical direction. Hence, even when shadow data are not sensed in advance, the silhouette of an image viewed from an illumination position can be generated in real time using ray space data objects, and a shadow can be expressed by re-projecting the generated image.
  • When a plurality of illuminations are used, a silhouette image is generated at each illumination position, and shadows can be mixed by the scheme described in the above embodiment.
  • To restate, according to the present invention, shades can be appropriately added to a virtual object defined by space data based on a photo image.
  • Also, according to the present invention, a shadow can be appropriately mapped on a virtual object defined by space data based on a photo image.
  • Second Embodiment
  • A mixed reality presentation apparatus according to the second embodiment of the present invention will be described in detail below with reference to the accompanying drawings.
  • FIG. 29 is a block diagram showing the overall arrangement of a mixed reality presentation system of this embodiment.
  • Referring to FIG. 29, reference numeral 106 denotes a sensor for measuring the viewpoint position and line-of-sight direction of the user. This sensor may be a magnetic or optical sensor provided outside user's body or a sensor attached to an HMD (Head Mounted Display) the user wears. The measured viewpoint position and posture are sent to an image generation module 103. The image generation module 103 generates a CG image in consideration of the viewpoint position and line of sight of the user.
  • On the other hand, an image sensing device 105 uses a video camera or the like for sensing an image of a real space. The image sensing device 105 is preferably attached to the head of the user when the viewpoint position and line-of-sight direction of the user change. An image input module 104 converts an image sensed by the image sensing device 105 into an object, also generates a depth value of a given in that image, and passes them on to an image mixing module 102.
  • The image mixing module 102 mixes the CG image generated by the image generation module 103 with the video image from the image input module 104. In this mixing, as is well known, occlusion is determined by comparing the depth values of the CG image and video image, and a mask corresponding to a portion to be hidden of a behind object is generated, thus mixing the video and CG images.
  • Note that the image generation module 103 receives information that pertains to illumination conditions from a mixed reality space management module 108. That is, the image generation module 103 generates a CG with shades in accordance with the illumination conditions.
  • In this embodiment, a real illumination device 107 is used to illuminate an object. The management module 108 can change the illuminance, illumination direction, and the like of the illumination device. The management module 108 converts changed conditions of the illumination device 107 into predetermined parameter values, and passes them on to the image generation module 103.
  • FIG. 30 shows an example of the illumination device 107. This illumination device has a light control unit 206, which is pivotally supported by a boom 205 via a joint (not shown). The boom 205 is fixed to a support shaft 202 via a joint 204. The support shaft 202 is pivotally fixed on a rotary stage 203, which is slidably placed on a slide table 201. Hence, the light control unit can slide, pan, tilt, and rotate. In addition, since the joints, rotary stage, and the like are driven by motors, they can be controlled by a signal from the management unit 108. Furthermore, the amount of light can be controlled by controlling the voltage/current to be applied to the light control unit. Also, since each motor, joint, slide table, and light control unit respectively have a rotary encoder, goniometer, linear distance sensor, and illuminance sensor, their position/posture information can be acquired.
  • FIG. 31 explains the relationship among the illumination device 107, management module 108, and image mixing module 103.
  • A GUI 120 is a graphic user interface which is displayed on a display device by the management module to change illumination conditions. FIG. 32 shows an example of the GUI. Referring to FIG. 32, arrows are control buttons which can be changed by, e.g., a mouse. For example, when the user wants to slide the illumination unit horizontally, he or she clicks one of the right and left arrows with the mouse, and moves the desired arrow in a desired direction. When the user wants to adjust angle, he or she selects the arrow of a portion to be changed by clicking the mouse and rotates it using, e.g., a joystick. Using this GUI, the angles of the respective portions of the illumination unit shown in FIG. 30, brightness and color of illumination, and the like can be changed using a keyboard, joystick, or the like. Note that in the GUI, the arrow of a portion to be changed may be selected by clicking the mouse and the angle may be set by dragging the mouse in place of the joystick.
  • The illumination conditions set by the user via this GUI are sent to a controller 107 b in the illumination device 107. The controller 107 b converts the illumination conditions into drive amounts of the motors and the like of the illumination device 107, and outputs them. In this manner, the illumination device 107 is set at illuminance and the like set by the user via the GUI.
  • On the other hand, the illumination conditions set via the GUI are converted into illumination condition parameters, e.g., angle, specular, ambient, position, diffusion, and the like defined by a space language used in the generation module 103. Note that these parameter values are determined in advance by experiments under various illumination conditions. The image generation module 103 sets the received parameter values in a rendering routine.
  • FIG. 33 shows the control sequence of the mixed reality space management module 108, and FIG. 34 shows the control sequence of the image generation module 103. The mixed reality space management module 108 and image generation module 103 are program modules and communicate with each other via an API (Application Program Interface) of a predetermined protocol. More specifically, the management module 108 monitors in step S102 if the user has changed illumination conditions using the GUI. If YES in step S102, the module 108 computes various controlled variables for the illumination unit in step S104, and send them to the controller 107 b of the illumination device 107 in step S106. The module 108 generates illumination parameters such as angle in step S108, and the like and send them to the image generation module 103 via an API in step S110. In step S112, the module 108 generates an event and informs the module 103 of the event.
  • In the flow chart shown in FIG. 34, the image generation module 103 waits for generation of an event (step S202). If an event is generated, the module 103 confirms in step S204 if the event is an illumination condition change event, and receives illumination parameters via an API in step S206. In step S208, the module 103 replaces parameters in the rendering routine by the received parameters. In step S210, the module 103 renders a CG image in accordance with the received parameters. The rendered CG image has shades or the like, which have been changed in accordance with the changed illumination conditions.
  • The states of such changes of a CG image are shown in FIGS. 38A to 38C. An illumination device 3802 has light source 3803, control buttons 3804 for adjusting illumination brightness and manipulator 3805 for turning the illumination device in horizontal direction around the axis 3806. The illumination (light source) is at a position “n”. Accordingly, an object image 3801 is rendered based on ray space data RS(Ln).
  • Various modifications of this embodiment may be made within the scope of the present invention.
  • FIG. 35 explains a modification of an illumination unit 107 a. In this modification, the light control unit 206 is supported by a tilt unit 301, which is axially supported to be free to tilt. The tilt unit 301 is vertically movable. A support shaft 304 is connected to a motor 303 and can be rotated to pan the light control unit. The support shaft 304 is parallelly movable along a slide table 302. The slide table 302 is movable in a direction perpendicular to the moving direction of the shaft 304.
  • In the above embodiment, the GUI is used to change illumination conditions. Instead, hardware devices such as a volume, slide switch, joystick, and the like may be used. When such hardware devices are used, output signals from these devices must be sent to the apparatus having the management module.
  • In the apparatus of the above embodiment, the illumination conditions are changed under the control of a computer. The present invention is not limited to such specific control. For example, the present invention can be applied when the illumination conditions are manually changed. On the other hand, condition change values on the GUI 120 may be read by the controller 107 b in a software manner. In this modification, the need for the rotary encoder in the above embodiment can be obviated. In order to detect changes in illumination conditions, an illuminance sensor, a sensor for detecting illumination direction, and the like are provided, and these sensor outputs are supplied to the management module.
  • In the above embodiment, illumination program parameters are pre-stored in a predetermined memory 121, but may be computed in real time on the basis of the detected illuminance, illumination direction, and the like. For this purpose, conversion formulas for deriving parameter values from the detection values of the illumination conditions may be pre-stored in the memory, and parameters may be computed using these conversion formulas in real time.
  • To recapitulate, according to the present invention, the illumination conditions of a virtual image can be acquired in real time in correspondence with changes in real illumination. For this reason, deviation of image quality between real and virtual images due to structural differences of the illumination conditions can be minimized.
  • 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 claims.

Claims (7)

1-74. (canceled)
75. A mixed reality presentation apparatus for mixing a virtual space with a real space illuminated by a real illumination device, comprising:
a change unit configured to change an illumination condition of the illumination device;
an illuminating unit configured to illuminate the real space by using the illumination device, based on the illumination condition changed by said change unit;
an input unit configured to input an image of the real space;
a setting unit configured to set an illumination condition parameter value corresponding to a value of the changed illumination condition;
a generating unit configured to generate a virtual image using the condition parameter set by said setting unit; and
a mixing unit configured to mix the virtual image generated by said generating unit and the image of the real space input by said input unit.
76. The apparatus according to claim 75, wherein the illumination condition includes one of illuminance, color and an illumination direction.
77. The apparatus according to claim 75, wherein said change unit comprises a GUI operated by a user to display control buttons for graphically changing illuminance, color, and an illumination direction of the illumination device on a display screen.
78. The apparatus according to claim 75, wherein said mixing unit determines occlusion by comparing depth values of the image of the real space and the virtual image, and mixes the image of the real space and the virtual image in accordance with the determined occlusion.
79. A mixed reality presentation method for mixing a virtual space with a real space illuminated by a real illumination device, said method comprising:
a change step of changing an illumination condition of the illumination device;
an illuminating step of illuminating the real space by using the illumination device, based on the illumination condition changed in the change step;
an input step of inputting an image of the real space;
a setting step of setting an illumination condition parameter value corresponding to a value of the changed illumination condition;
a generating step of generating a virtual image using the condition parameter set in said setting step; and
a mixing step of mixing the virtual image generated in the generating step and the image of the real space input in the input step.
80. A storage medium that stores a control program for making a computer execute a mixed reality presentation process for mixing a virtual space with a real space illuminated by a real illumination device, said mixed reality presentation process comprising:
a change step of changing an illumination condition of the illumination device;
an illuminating step of illuminating the real space by using the illumination device, based on the illumination condition changed in the change step;
an input step of inputting an image of the real space;
a setting step of setting an illumination condition parameter value corresponding to a value of the changed illumination condition;
a generating step of generating a virtual image using the condition parameter set in said setting step; and
a mixing step of mixing the virtual image generated in the generating step and the image of the real space input in the input step.
US11/115,162 1999-08-06 2005-04-27 Image processing method and apparatus Abandoned US20050190181A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/115,162 US20050190181A1 (en) 1999-08-06 2005-04-27 Image processing method and apparatus

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP22395899A JP3387856B2 (en) 1999-08-06 1999-08-06 Image processing method, image processing device, and storage medium
JP11-223959 1999-08-06
JP11-223958 1999-08-06
JP22395999A JP3392078B2 (en) 1999-08-06 1999-08-06 Image processing method, image processing device, and storage medium
JP11-246770 1999-08-31
JP24677099A JP3486575B2 (en) 1999-08-31 1999-08-31 Mixed reality presentation apparatus and method, and storage medium
US09/512,836 US6930685B1 (en) 1999-08-06 2000-02-25 Image processing method and apparatus
US11/115,162 US20050190181A1 (en) 1999-08-06 2005-04-27 Image processing method and apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/512,836 Division US6930685B1 (en) 1999-08-06 2000-02-25 Image processing method and apparatus

Publications (1)

Publication Number Publication Date
US20050190181A1 true US20050190181A1 (en) 2005-09-01

Family

ID=27330836

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/512,836 Expired - Lifetime US6930685B1 (en) 1999-08-06 2000-02-25 Image processing method and apparatus
US11/115,162 Abandoned US20050190181A1 (en) 1999-08-06 2005-04-27 Image processing method and apparatus
US11/115,344 Abandoned US20050195332A1 (en) 1999-08-06 2005-04-27 Image processing method and apparatus

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/512,836 Expired - Lifetime US6930685B1 (en) 1999-08-06 2000-02-25 Image processing method and apparatus

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/115,344 Abandoned US20050195332A1 (en) 1999-08-06 2005-04-27 Image processing method and apparatus

Country Status (2)

Country Link
US (3) US6930685B1 (en)
EP (1) EP1074943A3 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040114806A1 (en) * 2001-03-12 2004-06-17 Eisaku Katayama Three-dimensional structure verification supporting apparatus, three-dimensional structure verification method, recording medium, and program therefor
US20040151365A1 (en) * 2003-02-03 2004-08-05 An Chang Nelson Liang Multiframe correspondence estimation
US20070115287A1 (en) * 2005-11-23 2007-05-24 Autodesk, Inc. Stroked fill
US20070115283A1 (en) * 2005-11-23 2007-05-24 Autodesk, Inc. Casting shadows
US20080018650A1 (en) * 2006-07-19 2008-01-24 Autodesk, Inc. Vector marker strokes
US20080266309A1 (en) * 2007-04-27 2008-10-30 Autodesk, Inc. Edge effect
US20100177097A1 (en) * 2007-06-05 2010-07-15 Konami Digital Entertainment Co., Ltd. Image processor, image processing method, program, and information storage medium
US20120194433A1 (en) * 2011-01-27 2012-08-02 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
US20140375639A1 (en) * 2013-06-21 2014-12-25 Center Of Human-Centered Interaction For Coexistence Method, system and computer-readable recording medium for displaying shadow of 3d virtual object
US9914222B2 (en) 2015-02-05 2018-03-13 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium that calculate an accuracy of correspondence between a model feature and a measurement data feature and collate, based on the accuracy, a geometric model and an object in an image
US10354573B2 (en) * 2017-07-25 2019-07-16 Lenovo (Singapore) Pte Ltd Screen color calibration

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239345B1 (en) * 2001-10-12 2007-07-03 Worldscape, Inc. Camera arrangements with backlighting detection and methods of using same
JP4115188B2 (en) * 2002-07-19 2008-07-09 キヤノン株式会社 Virtual space drawing display device
US7969409B2 (en) * 2004-02-18 2011-06-28 Rafal Jan Krepec Camera assisted pen tablet
US7218324B2 (en) * 2004-06-18 2007-05-15 Mitsubishi Electric Research Laboratories, Inc. Scene reflectance functions under natural illumination
US7603621B2 (en) * 2006-01-25 2009-10-13 Microsoft Corporation Computer interface for illiterate and near-illiterate users
JP4804256B2 (en) * 2006-07-27 2011-11-02 キヤノン株式会社 Information processing method
US20090153550A1 (en) * 2007-12-18 2009-06-18 Disney Enterprises, Inc. Virtual object rendering system and method
CN101458823B (en) * 2008-12-19 2011-08-31 北京航空航天大学 Real-time lighting drawing method under virtual stage environment
US8754891B2 (en) 2010-08-18 2014-06-17 Industrial Technology Research Institute Method for image processing and an apparatus thereof
TWI462053B (en) * 2010-08-18 2014-11-21 Ind Tech Res Inst Method and apparatus for image processing
JP2012243147A (en) * 2011-05-20 2012-12-10 Nintendo Co Ltd Information processing program, information processing device, information processing system, and information processing method
WO2012171116A1 (en) 2011-06-16 2012-12-20 Rafal Jan Krepec Visual feedback by identifying anatomical features of a hand
WO2013032441A1 (en) * 2011-08-30 2013-03-07 Hewlett-Packard Development Company, L.P. Inserting an object into an image
JP2013127774A (en) * 2011-11-16 2013-06-27 Canon Inc Image processing device, image processing method, and program
US8872853B2 (en) 2011-12-01 2014-10-28 Microsoft Corporation Virtual light in augmented reality
US9311751B2 (en) 2011-12-12 2016-04-12 Microsoft Technology Licensing, Llc Display of shadows via see-through display
US9652892B2 (en) 2013-10-29 2017-05-16 Microsoft Technology Licensing, Llc Mixed reality spotlight
CN104077802B (en) * 2014-07-16 2018-01-05 四川蜜蜂科技有限公司 The method that enhancing virtual scene real-time simulation image is shown
US9646413B2 (en) * 2014-08-27 2017-05-09 Robert Bosch Gmbh System and method for remote shadow rendering in a 3D virtual environment
CN104346831B (en) * 2014-11-01 2017-02-22 长春理工大学 Method for approximately drawing soft shadow of three-dimensional scene
US20160350967A1 (en) * 2015-06-01 2016-12-01 Cable Television Laboratories, Inc. Dynamic adjustments for augmented, mixed and virtual reality presentations
KR102502449B1 (en) * 2015-10-05 2023-02-22 삼성전자주식회사 Device and method to display illumination
US10281378B2 (en) * 2016-05-05 2019-05-07 Honeywell Federal Manufacturing & Technologies, Llc System and method for testing true stress and true strain

Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185638A (en) * 1991-04-26 1993-02-09 International Business Machines Corporation Computer controlled, multiple angle illumination system
US5329431A (en) * 1986-07-17 1994-07-12 Vari-Lite, Inc. Computer controlled lighting system with modular control resources
US5515485A (en) * 1990-04-11 1996-05-07 Symah Vision Method and device for modifying a zone in successive images
US5519826A (en) * 1994-04-29 1996-05-21 Atari Games Corporation Stop motion animation system
US5565745A (en) * 1994-01-04 1996-10-15 Huether; James L. Communications protocol
US5572635A (en) * 1991-06-04 1996-11-05 Hitachi, Ltd. Method for changing a natural image based on a light environment in the natural image
US5583975A (en) * 1993-01-22 1996-12-10 Matsushita Electric Industrial Co., Ltd. Image generating apparatus and method of generating an image by parallel processing thread segments
US5629587A (en) * 1995-09-26 1997-05-13 Devtek Development Corporation Programmable lighting control system for controlling illumination duration and intensity levels of lamps in multiple lighting strings
US5644324A (en) * 1993-03-03 1997-07-01 Maguire, Jr.; Francis J. Apparatus and method for presenting successive images
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US5736986A (en) * 1995-07-14 1998-04-07 Sever, Jr.; Frank Virtual reality mental conditioning medium
US5737031A (en) * 1996-07-30 1998-04-07 Rt-Set System for producing a shadow of an object in a chroma key environment
US5815411A (en) * 1993-09-10 1998-09-29 Criticom Corporation Electro-optic vision system which exploits position and attitude
US5815741A (en) * 1994-12-21 1998-09-29 Canon Kabushiki Kaisha Image observing apparatus and imaging apparatus utilizing the image observing apparatus
US5831619A (en) * 1994-09-29 1998-11-03 Fujitsu Limited System for generating image of three-dimensional object seen from specified viewpoint
US5864640A (en) * 1996-10-25 1999-01-26 Wavework, Inc. Method and apparatus for optically scanning three dimensional objects using color information in trackable patches
US6064749A (en) * 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
US6166744A (en) * 1997-11-26 2000-12-26 Pathfinder Systems, Inc. System for combining virtual images with real-world scenes
US6307589B1 (en) * 1993-01-07 2001-10-23 Francis J. Maquire, Jr. Head mounted camera with eye monitor and stereo embodiments thereof
US6317139B1 (en) * 1998-03-25 2001-11-13 Lance Williams Method and apparatus for rendering 3-D surfaces from 2-D filtered silhouettes
US6385331B2 (en) * 1997-03-21 2002-05-07 Takenaka Corporation Hand pointing device
US6400362B1 (en) * 1997-03-10 2002-06-04 Canon Kabushiki Kaisha Image processing method and apparatus
US6411266B1 (en) * 1993-08-23 2002-06-25 Francis J. Maguire, Jr. Apparatus and method for providing images of real and virtual objects in a head mounted display
US6452593B1 (en) * 1999-02-19 2002-09-17 International Business Machines Corporation Method and system for rendering a virtual three-dimensional graphical display
US20030063093A1 (en) * 2001-09-28 2003-04-03 Howard Richard T. Video image tracking engine
US6628298B1 (en) * 1998-07-17 2003-09-30 The Regents Of The University Of California Apparatus and method for rendering synthetic objects into real scenes using measurements of scene illumination
US6685326B2 (en) * 2001-06-08 2004-02-03 University Of Southern California Realistic scene lighting simulation
US6690338B1 (en) * 1993-08-23 2004-02-10 Francis J. Maguire, Jr. Apparatus and method for providing images of real and virtual objects in a head mounted display
US20040046737A1 (en) * 1998-03-17 2004-03-11 Shunichi Numazaki Information input apparatus, information input method, and recording medium
US20050206583A1 (en) * 1996-10-02 2005-09-22 Lemelson Jerome H Selectively controllable heads-up display system
US6983082B2 (en) * 2002-11-15 2006-01-03 Warner Bros. Entertainment Inc. Reality-based light environment for digital imaging in motion pictures
US7091973B1 (en) * 2003-06-20 2006-08-15 Jonathan Michael Cohen Apparatus and method for estimating reflected radiance under complex distant illumination
US7110615B2 (en) * 2000-12-06 2006-09-19 Hideyasu Karasawa Image processing method, program of the same, and image processing apparatus for searching images and producing realistic images
US7138997B2 (en) * 2002-06-28 2006-11-21 Autodesk, Inc. System for physical rotation of volumetric display enclosures to facilitate viewing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS644871A (en) 1987-06-27 1989-01-10 Aisin Seiki Different kind light source illuminance difference stereo image recognizing device
JPH01281574A (en) 1988-05-09 1989-11-13 Canon Inc Method and device for image processing
JP3236362B2 (en) 1992-09-22 2001-12-10 株式会社資生堂 Skin surface shape feature extraction device based on reconstruction of three-dimensional shape from skin surface image
JPH06274579A (en) 1993-03-17 1994-09-30 Nippon Hoso Kyokai <Nhk> Stereoscopic still picture file system
JPH06307833A (en) 1993-04-23 1994-11-04 Nippon Steel Corp Surface unevenness shape recognizing device
JPH0727531A (en) 1993-07-14 1995-01-27 Hitachi Denshi Ltd Inspection region recognizing method for appearance shape inspecting device
JP3013690B2 (en) 1994-03-24 2000-02-28 日本鋼管株式会社 Method and apparatus for measuring three-dimensional curved surface shape
JPH08210820A (en) 1995-02-01 1996-08-20 Hitachi Denshi Ltd Method and device for recognizing part to be inspected in visual inspection device of parts-mounted board
JPH10255069A (en) * 1997-03-10 1998-09-25 Canon Inc Image processing system
JPH11134519A (en) 1997-10-31 1999-05-21 Atr Chino Eizo Tsushin Kenkyusho:Kk Virtual light source controller

Patent Citations (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329431A (en) * 1986-07-17 1994-07-12 Vari-Lite, Inc. Computer controlled lighting system with modular control resources
US5515485A (en) * 1990-04-11 1996-05-07 Symah Vision Method and device for modifying a zone in successive images
US5185638A (en) * 1991-04-26 1993-02-09 International Business Machines Corporation Computer controlled, multiple angle illumination system
US5572635A (en) * 1991-06-04 1996-11-05 Hitachi, Ltd. Method for changing a natural image based on a light environment in the natural image
US6307589B1 (en) * 1993-01-07 2001-10-23 Francis J. Maquire, Jr. Head mounted camera with eye monitor and stereo embodiments thereof
US5583975A (en) * 1993-01-22 1996-12-10 Matsushita Electric Industrial Co., Ltd. Image generating apparatus and method of generating an image by parallel processing thread segments
US5644324A (en) * 1993-03-03 1997-07-01 Maguire, Jr.; Francis J. Apparatus and method for presenting successive images
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US6411266B1 (en) * 1993-08-23 2002-06-25 Francis J. Maguire, Jr. Apparatus and method for providing images of real and virtual objects in a head mounted display
US6690338B1 (en) * 1993-08-23 2004-02-10 Francis J. Maguire, Jr. Apparatus and method for providing images of real and virtual objects in a head mounted display
US5815411A (en) * 1993-09-10 1998-09-29 Criticom Corporation Electro-optic vision system which exploits position and attitude
US5565745A (en) * 1994-01-04 1996-10-15 Huether; James L. Communications protocol
US5519826A (en) * 1994-04-29 1996-05-21 Atari Games Corporation Stop motion animation system
US5831619A (en) * 1994-09-29 1998-11-03 Fujitsu Limited System for generating image of three-dimensional object seen from specified viewpoint
US5815741A (en) * 1994-12-21 1998-09-29 Canon Kabushiki Kaisha Image observing apparatus and imaging apparatus utilizing the image observing apparatus
US5736986A (en) * 1995-07-14 1998-04-07 Sever, Jr.; Frank Virtual reality mental conditioning medium
US5629587A (en) * 1995-09-26 1997-05-13 Devtek Development Corporation Programmable lighting control system for controlling illumination duration and intensity levels of lamps in multiple lighting strings
US5737031A (en) * 1996-07-30 1998-04-07 Rt-Set System for producing a shadow of an object in a chroma key environment
US6064749A (en) * 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
US20050206583A1 (en) * 1996-10-02 2005-09-22 Lemelson Jerome H Selectively controllable heads-up display system
US5864640A (en) * 1996-10-25 1999-01-26 Wavework, Inc. Method and apparatus for optically scanning three dimensional objects using color information in trackable patches
US6400362B1 (en) * 1997-03-10 2002-06-04 Canon Kabushiki Kaisha Image processing method and apparatus
US6385331B2 (en) * 1997-03-21 2002-05-07 Takenaka Corporation Hand pointing device
US6166744A (en) * 1997-11-26 2000-12-26 Pathfinder Systems, Inc. System for combining virtual images with real-world scenes
US20040046737A1 (en) * 1998-03-17 2004-03-11 Shunichi Numazaki Information input apparatus, information input method, and recording medium
US6317139B1 (en) * 1998-03-25 2001-11-13 Lance Williams Method and apparatus for rendering 3-D surfaces from 2-D filtered silhouettes
US6628298B1 (en) * 1998-07-17 2003-09-30 The Regents Of The University Of California Apparatus and method for rendering synthetic objects into real scenes using measurements of scene illumination
US6452593B1 (en) * 1999-02-19 2002-09-17 International Business Machines Corporation Method and system for rendering a virtual three-dimensional graphical display
US7110615B2 (en) * 2000-12-06 2006-09-19 Hideyasu Karasawa Image processing method, program of the same, and image processing apparatus for searching images and producing realistic images
US7044613B2 (en) * 2001-06-08 2006-05-16 University Of Southern California Realistic scene illumination reproduction
US6685326B2 (en) * 2001-06-08 2004-02-03 University Of Southern California Realistic scene lighting simulation
US20030063093A1 (en) * 2001-09-28 2003-04-03 Howard Richard T. Video image tracking engine
US7138997B2 (en) * 2002-06-28 2006-11-21 Autodesk, Inc. System for physical rotation of volumetric display enclosures to facilitate viewing
US7079137B2 (en) * 2002-11-15 2006-07-18 Warner Bros. Entertainment Inc. Method for digitally rendering an object using measured BRDF data
US6983082B2 (en) * 2002-11-15 2006-01-03 Warner Bros. Entertainment Inc. Reality-based light environment for digital imaging in motion pictures
US7091973B1 (en) * 2003-06-20 2006-08-15 Jonathan Michael Cohen Apparatus and method for estimating reflected radiance under complex distant illumination

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379582B2 (en) * 2001-03-12 2008-05-27 Toudai Tlo, Ltd. Three-dimensional structure verification supporting apparatus, three-dimensional structure verification method, recording medium, and program therefor
US20040114806A1 (en) * 2001-03-12 2004-06-17 Eisaku Katayama Three-dimensional structure verification supporting apparatus, three-dimensional structure verification method, recording medium, and program therefor
US20040151365A1 (en) * 2003-02-03 2004-08-05 An Chang Nelson Liang Multiframe correspondence estimation
US7146036B2 (en) * 2003-02-03 2006-12-05 Hewlett-Packard Development Company, L.P. Multiframe correspondence estimation
US7616201B2 (en) * 2005-11-23 2009-11-10 Autodesk, Inc. Casting shadows
US20070115283A1 (en) * 2005-11-23 2007-05-24 Autodesk, Inc. Casting shadows
US20070115287A1 (en) * 2005-11-23 2007-05-24 Autodesk, Inc. Stroked fill
US7663638B2 (en) 2005-11-23 2010-02-16 Autodesk, Inc. Stroked fill
US7714866B2 (en) 2006-07-19 2010-05-11 Autodesk, Inc. Rendering a simulated vector marker stroke
US20080018650A1 (en) * 2006-07-19 2008-01-24 Autodesk, Inc. Vector marker strokes
US7777745B2 (en) 2007-04-27 2010-08-17 Autodesk, Inc. Edge effect
US20080266309A1 (en) * 2007-04-27 2008-10-30 Autodesk, Inc. Edge effect
US20100177097A1 (en) * 2007-06-05 2010-07-15 Konami Digital Entertainment Co., Ltd. Image processor, image processing method, program, and information storage medium
US20120194433A1 (en) * 2011-01-27 2012-08-02 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
US8878786B2 (en) * 2011-01-27 2014-11-04 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
US20140375639A1 (en) * 2013-06-21 2014-12-25 Center Of Human-Centered Interaction For Coexistence Method, system and computer-readable recording medium for displaying shadow of 3d virtual object
US9123180B2 (en) * 2013-06-21 2015-09-01 Center Of Human-Centered Interaction For Coexistence Method, system and computer-readable recording medium for displaying shadow of 3D virtual object
US9914222B2 (en) 2015-02-05 2018-03-13 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and computer readable storage medium that calculate an accuracy of correspondence between a model feature and a measurement data feature and collate, based on the accuracy, a geometric model and an object in an image
US10354573B2 (en) * 2017-07-25 2019-07-16 Lenovo (Singapore) Pte Ltd Screen color calibration

Also Published As

Publication number Publication date
US6930685B1 (en) 2005-08-16
EP1074943A2 (en) 2001-02-07
EP1074943A3 (en) 2004-03-24
US20050195332A1 (en) 2005-09-08

Similar Documents

Publication Publication Date Title
US6930685B1 (en) Image processing method and apparatus
ES2951587T3 (en) A system for mixing or compositing computer-generated 3D objects and a video signal from a film camera in real time
US9001120B2 (en) Using photo collections for three dimensional modeling
US7965304B2 (en) Image processing method and image processing apparatus
US7499586B2 (en) Photographing big things
AU2011312140C1 (en) Rapid 3D modeling
US5949433A (en) Processing image data
US6323862B1 (en) Apparatus for generating and interactively viewing spherical image data and memory thereof
JP5093053B2 (en) Electronic camera
GB2352901A (en) Rendering three dimensional representations utilising projected light patterns
JP4395689B2 (en) Image data processing method and modeling apparatus
JP2023546739A (en) Methods, apparatus, and systems for generating three-dimensional models of scenes
Nyland et al. Capturing, processing, and rendering real-world scenes
JP2001118074A (en) Method and device for producing three-dimensional image and program recording medium
Wong et al. 3D object model reconstruction from image sequence based on photometric consistency in volume space
JP3387856B2 (en) Image processing method, image processing device, and storage medium
Corrêa et al. Towards point-based acquisition and rendering of large real-world environments
JP2001052208A (en) Method and device for processing image and storage medium
Slabaugh Novel volumetric scene reconstruction methods for new view synthesis
Nyland Capturing Dense Environmental Range Information wit a Panning Scanning Laser Rangefinder
CN113658318A (en) Data processing method and system, training data generation method and electronic equipment
Abad et al. Integrating synthetic objects into real scenes
Nilsson et al. The ARC 3D webservice
Valanis et al. Photogrammetric texture mapping of complex objects
Machover et al. Tools and products

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION