The present invention relates to a system for presenting a 3-dimensional image. In particular, the invention relates to a system for generating a stereoscopic image suitable for the reduction in the quantity of the hardware used and adequate for ensuring the proper perception of users by controlling the amount of parallax between pictures, which are presented to both eyes of a viewer.
Since many years, there have been strong demands on a stereoscopic display system. In recent years, with rapid progress and technical development to attain low cost production and high performance characteristics of digital image display system, stereoscopic display systems suitable for practical application have increasingly appeared in the market. Among traditional types of stereoscopic display systems, there are the systems based on anagram system using glasses with two different colors or based on polarizing glass.
Also, the systems for providing stereoscopic vision for naked eyes and stereoscopic vision from multiple visual points have been increasingly designed and produced in recent years. As such examples, the system using barrier system or the system using renticular lens, a system using lens array, etc. can be given.
In the cases of any of these types of display systems, images of the same object are obtained through observation from two or more visual points for the picture to be displayed.
As shown in
Depending on the visual point positions 104, 105 and 106, concrete schemes to show different pictures differ according to stereoscopic display method adopted by the display device (stereoscopic image output unit) 100. In this case, the problem commonly found for almost all types of stereoscopic image display systems is that an effective image should be prepared as seen from a plurality of visual points such as images 101, 102 and 103 for an object.
To prepare the original image, there are various methods: a method to actually take images by using a plurality of cameras, a method for manually drawing different pictures to reproduce stereoscopic image, and a method to prepare a plurality of images from a model with 3D information by means of calculation processing.
For arranging the visual point positions 201-203 in the virtual space, it is necessary to make arrangement to match the visual point positions 104-106 in
This method for preparing stereoscopic image by using a 3-dimensional CG model is now widely used because of the technical improvement in calculating ability of computers. This is now applied for preparing the animation images or for displaying the image with interactive performance characteristics at real time.
In many cases of the display of 3-dimensional CG model, surface portions are regarded as assembly of polygons (polygon meshes), and shape, color and reflection parameters are described and retained as 3-dimensional information of a 3-dimensional CG model 200. Based on the surface information, an image of the 3-dimensional CG model 200 can be calculated by simulation calculation.
To this 3-dimensonal CG model 200, positions and field angles of cameras 201-203 are set up virtually at visual point positions. The conditions of the rays entering the cameras 201-203 are simulated, and image information is prepared. This process to construct 2-dimensional image by lighting simulation is also used for the preparation of the types of CG images other than stereoscopic image, and it is generally called “rendering processing”.
Regarding the rendering operation of stereoscopic image as described above, JP-A-10-74269 (hereinafter referred as “Patented Reference 1”) discloses a method to automatically or manually correct parameters of camera so that movement on the screen can be property perceived without incongruity and in a manner suitable for human visual perception.
Also, JP-A-11-355808 (hereinafter referred as “Patented Reference 2”) describes an imaging system, in which stereoscopic property of a stereoscopic image can be adequately controlled. According to this reference, a stereoscopic image is prepared by synthesizing two types of 2-dimensional images. There is provided control means for preparing an image to alleviate the burden of the viewer from fatigue by controlling the amount of parallax in the synthesizing process.
Further, according to JP-A-2003-348622 (hereinafter referred as “Patented Reference 3”), the amount of parallax is gradually changed as time elapses from a preset initial value to the final value in order to reduce the burden of fatigue on the user side.
Also, JP-A-9-74573 (hereinafter referred as “Patented Reference 4”) proposes means for calculating the conditions of camera parameters so that total image of the object can be placed within a combination range of both eyes of a viewer.
In
Also, when using a stereoscopic display for naked eyes, there is a case where images 101-103 to be sent to visual point positions 104-106 in
Therefore, a distance of depth, at which a stereoscopic image can be viewed in natural manner, depends on personal characteristics of the viewer and also on the ability of the stereoscopic image display system.
For this reason, in many cases at present, specialists in charge of preparing the image are experiencing trial and error and are trying to produce such stereoscopic contents that discomfort may not be given to the viewer. Compared with an ordinary image, it is necessary to shorten the time of viewing or to give special care on the reduction of the depth of the picture or the amount of motion.
In particular, as shown in
In the Patented References 1 and 4 as given above, description is given on a method, by which the viewer can adjust the stereoscopic image to a position easily observable by changing the camera parameters 3-dimensionally in virtual space.
However, with the changes of camera parameters, field angle of the picture or visual point position may vary. Even when the same object is observed, visual perception actually felt by the viewer might be different from the one initially intended by the designer and the producer of the system. Also, an image after the adjustment by the viewer may vary from the image, which the specialist in charge of preparation of contents has initially intended.
The Patented Reference 2 provides means for preparing an image without causing much burden on the viewer from fatigue by controlling only the amount of parallax under a certain rule. Further, the Patented Reference 3 describes that the amount of parallax is gradually changed as time elapses.
However, in case of the objects with striking difference in depth distance just as in the case of the background model 401 and the foreground model 402 shown in
As described above, when points where strict stereoscopic effect is needed and the points where excessive parallax occurs although stereoscopic effect is not essential are intermingled with each other within one screen, there are elements, which cannot be controlled or sufficient effect cannot be attained in the background art.
It is an object of the present invention to provide a system and a method, by which it is possible to perform processing on the component in depth direction as seen from specific visual point positions with respect to each visual point position coordinates in order to allow the restriction on hardware ability of a stereoscopic image display system and to be convenient for estimation of parallax amount allowable by a viewer when a scene constructed by a 3-dimensional model is prepared as an image.
By this processing, it is possible to prepare a stereoscopic image by excluding excessive parallax effect, and this is accomplished by designating, with respect to the inner part of a 3-dimensional scene, a region where stereoscopic effect is essential and a region where it is not.
The present invention comprises calculating means for producing a plurality of 2-dimensional images to be provided on a stereoscopic image display system by maintaining scenes constructed by structure information describing 3-dimensional configuration as information, means for maintaining an information of parallax amount allowable by a viewer, calculating means for processing the component in depth direction when each of vertex position coordinates are seen from a specific visual point position, numerical value calculating means to be used for the processing converting means for converting distance data such as a table with numerical values, and calculating means for reducing parallax amount between the images while maintaining the image as seen from a visual point, which serves as the center.
Description will be given below on embodiments of the invention referring to the drawings.
Here, description will be given on an embodiment of a stereoscopic image display system to show contents of stereoscopic image, in which stereoscopic characteristics of images due to parallax can be changed and adjusted depending on the distance of depth without changing the impression of the image to be seen at the position of the visual point position, which serves as the center of the view.
In the main storage unit 602 and an external storage unit 605, programs and data necessary for execution of control processing are stored. As the external storage unit 605, a hard disk drive or an existing type of large capacity media are used.
An input/output I/F 603 comprises means for transferring data necessary for giving and taking of input and output data between the stereoscopic image output unit 100 and the input unit for receiving the instruction from the user.
The instruction of the user is sent from the input unit 502. As the input unit 502, the existing types of input unit such as keyboard, mouse, touch panel, button, lever, etc. are used. The CPU 601 is provided with means for interrupt processing using timer, and it has a function to perform a series of operations preset for a certain period of time.
In the stereoscopic imaging system of the present embodiment, calculation processing is preformed according to an operating system 610 and a program 611 stored in the main storage unit 602. The 3-dimensional CG model data 612 stored in the main storage unit 602 and the image data in the image buffer 613 are updated, and the updated data are outputted to the stereoscopic image output unit 100.
Each portion of the program 611 is divided to partial operations called routines (steps). When these routines (steps) are called from the operating system 610 for performing basic control, the operation of the total system is carried out.
The arrangement of the operating system and the calling operation of the program are similar to those of the existing type of system, and detailed description is not given here. Now, description will be given on the operations specific to the present invention, which are carried out in the routines (steps).
In the present embodiment, the 3-dimensional CG model data 612 and input information from the user are received as input data. Processing to modify the input is carried out as appropriate. The image data prepared by this processing is stored in the image buffer 613, and the image data in the image buffer 613 is displayed on the stereoscopic image output unit 100.
To carry out this operation, the procedures in Steps 700-706 of the routine processing flow as shown in
Step 700 is a step for initialization and data reading including the input of the 3-dimensional CG model data 612. Step 701 is a step of redrawing the instruction from OS, which modifies the 3-dimensional CG model data 612 according to the input from the user. Step 703 is a step for animation processing.
Step 703 is a step for vertex conversion processing to change the position so that parallax amount between the images is reduced without changing the projecting position as observed from a visual point, serving as the center with respect to each of the vertexes, which constitute the 3-dimensional CG model data 612. Step 704 is a step for the rendering processing to prepare a 2-dimensional image from the 3-dimensional CG model data 612 and parameter of projection matrix. Step 705 is a step of processing to generate the stereoscopic image. Step 706 is a step to display a 2-dimensional image on a screen of the stereoscopic image output unit 100.
The processing in these Steps 700-706 is continuously performed in the order of the Steps shown in
About the trigger to call the routine processing shown in
Detailed description will be given below on Step 700 for initialization and data reading and on Steps 702-705 for redrawing processing when Step 701 for redrawing instruction from OS is carried out, including concrete operation of each routine.
First, description will be given on Step 700 for initialization and data reading. In
In Step 700 for initialization and data reading, the 3-dimensional CG model data 612 is read as shown in
The example shown in
In the present embodiment, such manner of storage as given above to store the model information is adopted, while the present invention can also cope with the case where 3-dimensional information is retained by polygon data or voxel data or with the case where it is retained by piecewise function such as spline or Bezier surface.
Numeral 901 shown in
The 3-dimensional position vector data 1001 are made up with a set of three floating points. Numeral 1002 represents a region where coordinate position is stored when the processing to change according to the present invention is applied. Detailed description will be given later on the contents to be stored in this region.
A data structure 1003 represents a normal line vector data (unit vector) with a length of 1 to indicate the direction of a normal line on the surface of the object with respect to the vertex position, and it is stored as the data to retain a set of three floating points. In addition, when the existing technique is applied such as color information, texture information, etc. for each vertex, these types of information can be added further to the structure body.
The data structure 902 shown in
When the data shown in
Next, as Step 802 shown in
The data structure 1100 shown in
Also, data structure 1102 indicates initial value of matrix to convert the coordinate point in virtual space to orthogonal coordinate system aligned with the display space of the stereoscopic image output unit 100.
By applying this matrix to a certain coordinate value in the virtual space, it is converted to coordinate system with Z direction directed in the direction of normal line to the stereoscopic image output unit 100 by using the point projected on the stereoscopic image output unit 100 (where vergence of parallax is turned to 0) when the stereoscopic display is performed. The data structure 1101 indicates visual point vector data of a virtual visual point in this coordinate system.
In the stereoscopic image display system, information of the virtual visual point is present in a set of two or more types of information. The parameters such as number of information, visual point position, and field angle depend on the arrangement and the packaging procedure of the stereoscopic image output unit 100 as well as on the design when the stereoscopic image display system is operated.
When the stereoscopic image display system is observed, a visual point position 105 (
In Step 802 shown in
The values d1 to d4 of
Finally, in Step 803 shown in
For the animation processing to be performed to the 3-dimensional CG model, the existing technique also used in non-stereoscopic rendering such as skin mesh processing can be directly used, and detailed description is not given here. When various data as described above have been read, Step 700 for initialization and data reading shown in
Next, description will be given on a series of Steps 702-706 to be executed when a trigger for drawing is issued from OS (Step 701).
In Step 702 shown in
Similarly, visual point position is changed according to the time transition and the input information from the user. When translational shifting of the visual point position is expressed by using matrix T and rotational shifting is expressed by using matrix R, a synthetic matrix TR for translational shifting and rotational shifting is prepared to each 3-dimensional vector to indicate position of the gaze point, position of each visual point, and orthogonal coordinate system, and a product (TRV_i) with matrix V_i (i.e. transformation matrix data 1102 in
Using the 3-dimensional CG model prepared in Step 702 of
This routine processing is the processing specific to the present invention. The routine processing is executed by using a transformation program 614 of the coordinate position prepared on the storage unit 600. Description will be given below on the details of the routine processing referring to the flow chart shown in
In Step 1201 of
In Step 1204, position vector data 1001 (p_i) of each vertex is converted to 3-dimensional vector “p” in the display coordinates. The symbol “p” represents a coordinate value of display coordinate system, which is obtained by applying TRV_i to the position vector data p_i of vertex position.
In Step 1205, a position vector data 1002 (q) for drawing is calculated from the position vector data p_i. This conversion processing is carried out by using the values of the following Formula 1:
The symbols given in Formula 1 are defined as shown in
Within this coordinate system, vector “a” is a position vector 1301 at a visual point position “a” of the camera 202 (
The symbol “t” represents a distance 1304 between the vector “p” and the vector “a”. The symbol represents an intersection 1307 between a straight line extended from the visual point position “a” toward the unit vector “d” and a plane where Z=0. The symbol “s” represents a distance 1306 from “b” to “a”.
Here, D(x) in Formula 1 is a function of one variable shown in
1: A function with monotonous increase. That is, in case there are two numerical values given as “t” (where t1>t2), the condition of (D (t1)≧D (t2) is satisfied.
2: There are upper limit and lower limit. In case “t” advances in negative direction (a direction toward visual point position “a”), i.e. when a distance between the visual point position “a” and the vertex position “p” is turned closer to 0, the value D(t) after conversion is never turned to a value, which is equal to or lower than the fixed value d1. As a result, parallax over the fixed value does not occur on the screen.
When the value “t” is increased in positive direction (i.e. in a direction where the vertex position “p” is separated away from the visual point position “a”), there are the following two cases:
(1) The first is a case where the amount of parallax is at a distance of infinity, and it is turned to a value equal to or more than the allowable limit of parallax. In this case, a function, which is not turned to d4 or more when t=∞, is defined as D(t).
(2) The second case is a case where the amount of parallax at the distance of infinity can be suppressed to the allowable limit of the parallax. In this case, it is not necessarily required to set the upper limit d4.
3: There is linearity near the gaze point. Specifically, in the range up to the vicinity of t=0 (t=d2 to d3), linear or almost linear conversion is carried out. In so doing, within this range, a stereoscopic shape given by the use of the coordinate “q” represents a shape approximately similar to stereoscopic configuration given by the coordinate “p”.
For the packaging of the conversion program 614 to satisfy these three conditions, there are various methods, i.e. to convert by using a reference table or to use piecewise polynomial function such as spline function, or to use mathematical function. One example of the mathematical function to satisfy the above conditions is given in Formula 2:
y=(d4−d3)·2/π·tan−1((x−d3)·π/2)+d3(d3<x)
y=x(d2<x<d3)
y=(d2−d1)·2/π·tan−1((x−d2)·π/2)+d2(d2>x) [Formula 2]
In the present embodiment, this function is defined as D(x) (this function is executed by the conversion program 614 at the coordinate position), while the present invention can also be attained by the use of any other method, which satisfies the above conditions. By carrying out the processing as give above, the data 1002 of the vertex “q” with respect to the data 1001 of each vertex “p” can be obtained.
However, in case of the model 200, which is prepared by mapping on the plane Z=0 by projection matrix as seen from the central visual point position, the 3-dimensional model by “p” and the 3-dimensional model by “q” have the same configuration on a 2-dimensional plane.
Next, in Step 704 of
However, vertex conversion has been performed in the preceding step, and it is different from ordinary rendering method in that the data “p” to be read from initial data and the data to be read from the data “q” after conversion should be used separately depending on each case.
This processing is shown in the data structure of
In Step 704 of the rendering processing, as many image data as the number of cameras used are constructed. As each element of the array, data structure 1601 is stored. This data structure 1601 comprises a red component 1602, a blue component 1603, and a green component 1604 stored as numeral data of 0 to 1. Also, a depth data 1605 is stored as numerical data of the floating point for depth information.
This data structure 1601 can be called by using the position on 2-dimensional array data structure 1600 (integral coordinate values in longitudinal and lateral directions). This data structure 1601 is referred as “pixel” hereinafter.
In Step 1701 shown in
In the next Step 1702, a data structure 1100 (
For each of the triangles expressed by the data structure 900 (
When the 3-dimensional position vector “q” (1002 in
If it is surrounded, advance to Step 1708. If not surrounded, go back to Step 1706, and a new pixel is selected.
For the pixel thus selected, the order of before-and-after is judged on the triangle already drawn and on the new triangle. This method is a modification of the existing technique called “Z buffer method” modified for the present invention. In case a triangle already drawn on screen is closer to this side from the depth of a triangle to be drawn (referring to a depth data 1605), go back to Step 1706 without drawing. Then, select a new pixel and repeat the judgment procedure (Step 1708).
A reciprocal number of a distance (between 3-dimensional position on a surface of a triangle reflected on the pixel newly drawn and 3-dimensional position of the camera) is written to the variable of depth information of pixel structure.
However, in the judging procedure based on this Z buffer method, vertex data of the coordinate “p”, and not the coordinate “q”, is used. Also, the depth data based on the coordinate “p” is written in the depth data 1605 as Z buffer region.
Next, in Step 1709, color information is written in the region as appropriate by calculating color of the surface from light source position, visual point position, direction of normal line, and color information. As the method to determine color information on the surface used, the existing method should be applied.
In the present invention, however, the value of 1003 shown in
When processing has been completed for all pixels, select a new triangle and repeat the procedure (Step 1710).
By repeating this procedure for all of the triangles (Step 1711), the image is completed. When the image has been completed, an image is prepared on new visual point position (Step 1712). When the image has been completed for all of the visual point positions, the procedure of Step 704 in
In Step 705 shown in
In the present invention, the display method is not limited by the existing method for the stereoscopic image output unit 100. Because this Step 705 depends on internal structure of the display method of the stereoscopic image output unit 100, no further description is given on Step 705 in the present specification.
In Step 706, an image is displayed on the stereoscopic image output unit 100. Because the existing technique is used for the display step, no detailed description will be given in the present specification.
Through a series of flows as described above, a stereoscopic image is transferred to the stereoscopic image output unit 100. By repeating the procedure as described above, the continuously changing stereoscopic image can be displayed in continuous manner.
Embodiment 2 relates to an arrangement where the amount of parallax is interactively controlled according to input information of the user.
A viewer at a central visual point 105 can operate the levers 1820 and 1821 while viewing the stereoscopic image output unit 100. In this case, the values set up by the lever can be read sequentially as decimal values from 0 to 1.
The flow of processing in the present embodiment is shown in
The difference from Embodiment 1 is that the value of the lever 1820 and the value of the lever 1821 are read in Step 1903. In Step 1903, the procedure similar to that of Step 703 is carried out. When the vertex coordinate “q” in Step 1204 is calculated in Step 703, a product of a value read from the lever 1802 with the initial value is used as the value d2 of the display recommended distance and the value d3 of the display recommended distance.
As the value d1 of the display allowable distance and the value d4 of the display allowable distance, a product of the value read from the lever 1821 with the initial value is used. By substituting these values, calculation is performed in the same manner as in Step 703 of Embodiment 1.
By changing the input information from this lever, the viewer can control the width of the effective region and the recommended region and can specify stereoscopic effect of the image to any value as desired.
Embodiment 3 relates to an arrangement where the present invention is applied for the preparation of a stereoscopic image.
In the present embodiment, a monitor 2022 of another screen is provided. By sending an image signal from the stereoscopic imaging system 2001 to this monitor 2022, a non-stereoscopic image can be displayed.
Also, a switch 2023 is provided. By this switch 2023, integral value can be read and visual point position data to be used in the rendering processing can be set up by number. The setting information of this switch 2023 can be read from the stereoscopic imaging system 2002. Further, a switch 2024 is provided, and two values of On/Off can be set. The setting information of this switch 2024 can also be read from the stereoscopic imaging system 2001.
The flow of processing in this embodiment is shown in
In the present embodiment, however, camera information to be read in Step 2100 contains one or more types of camera information different from camera information needed by stereoscopic image output unit 100 for giving a stereoscopic image.
In Step 2102, this camera information can receive information of the user independently from other camera information and can change parameters such as position, angle, etc.
When the rendering processing in Step 2104 is performed, different types of icon information (2201-2204) to indicate the values d1, d2, d3 and d4 respectively are given by rendering as semi-transparent planes shown in
These planes are the planes to have Z=d1, Z=d2, Z=d3 and Z=d4 in the display coordinates. By drawing lattice pattern for reference with respect to these planes, the planes can be made observable. Also, the position corresponding to the frame of the stereoscopic image is drawn in planar shape of Z=0. A reference lattice pattern 2205 as a semi-transparent frame is displayed, and the rendering processing is preformed.
In Step 2106, the stereoscopic imaging system 2001 sends an image of camera number designated by the switch 2023 to the monitor 2022. The viewer determines adequate values for d1, d2, d3 and d4 while viewing the monitor 2022.
Further, in case the switch 2024 is turned on when the procedure in Step 2100 is carried out, the same image information as the information outputted to the stereoscopic image output unit 100 is also sent to the external storage unit and is stored. After the completion of the storage processing, the information stored in the external storage unit is sent to the stereoscopic image output unit 100, and the same scene can be reproduced on the monitor 2022.
Embodiment 4 relates to an arrangement where the present invention is applied as a viewer of 3-dimensional model. As the technical arrangement where a 3-dimensional model prepared by the user is interactively viewed, the existing technique such as VRML (virtual reality modeling language) is known.
The difference from Embodiment 1 is that there are provided a reading device 2310 for external media and a connection device 2312 with an external network 2311.
For the packaging of the device 2310, the existing types of media such as floppy disk, CD-ROM drive, DVD-ROM drive, etc. can be used. For the packaging of the device 2312, the existing type of TCP/IP connection device can be used.
The user transfers the information of the 3-dimensional model prepared outside and can use this 3-dimensional model as a substitute for the 3-dimensional CG model 612 in Embodiment 1. The subsequent procedure is similar to that of Embodiment 1.
Embodiment 5 relates to an arrangement where the present invention is applied for interactive 3-dimensional application. There are various types of this application including the application for amusement purpose.
In the processing flow shown in
However, in the program 2611 stored in the main storage unit 2602, a program is included, which reproduces and makes branch decision for the order displayed and the procedure of operation of 3-dimensional model in the reproduction of animation according to a preset scenario and the input information of the user. The existing technique is applied to interactive application to be reproduced according to this procedure.
A switch 2422 is an input device to stop the operation of Step 2502. The stereoscopic imaging system 2401 reads the on/off conditions of this switch in Step 2507. When this switch 2422 is turned on, the control of the situation at real time is skipped, while display operation of the stereoscopic image in Steps 2503-2506 are continued.
Therefore, under the condition where this switch 2422 is turned on, only the input operations of the lever 2420 and the lever 2421 are accepted. By utilizing this function, the user can adjust proper viewing condition of the stereoscopic image independently from real time processing of Step 2502 or from the execution of the scenario.
According to the present invention, it is possible to provide a stereoscopic image comfortably and without giving fatigue to the viewer and without changing the arrangement of the image as seen from visual point position serving as the center in such manner as to be suitable for the properties of the stereoscopic image and for the operating conditions of the stereoscopic image display system.
Number | Date | Country | Kind |
---|---|---|---|
2004-374113 | Dec 2004 | JP | national |