SOFTWARE OUT-OF-FOCUS 3D METHOD, SYSTEM, AND APPARATUS

Abstract: A method, system, and apparatus is disclosed for producing enhanced three dimensional effects. The invention emulates physical processes of focusing wherein objects in the foreground and the background are in varying degrees out-of-focus and represented differently to each of a viewer's eyes (Fig.2). In particular, the invention divides out-of-focus light sources so that different partitions of such a division are viewed by a viewer's right eye as compared to what is viewed by the viewer's left eye. Thus, the invention interposes novel processing between a determination as to what to render in a synthetically produced three dimensional space and the actual rendering thereof (Fig. 3), wherein the novel processing produces stereoscopic views from a two dimensional view by utilizing information about the relationship of light sources in the three dimensional space to the in-focus plane in the space (Fig. 1).

Description: SOFTWARE OUT-OF-FOCUS 3D METHOD, SYSTEM, AND APPARATUS BACKGROUND OF THE INVENTION Many methods, systems, and apparatuses have been disclosed to provide computer generated graphical rendering scenes wherein depth information for objects in the scenes is used as a part of the software generation of the scene. Among the techniques in common use are- (a) shadowing to convey background depth, wherein shadows cast by objects m the scene provide the viewer with information as to the distance to each object, (b) smearing to simulate foreground and background out-of-focus areas, and (c) computed foreground and background out-of-focus renderings modeled on physical principles such as graphical representations of objects in a foggy scene as in U.S Patent 5,724,561 It is further known that there are graphics systems which provide a viewer with visual depth information in scenes by rendering 3D or stereoscopic views, wherein different views are simultaneously (i.e., within the limits of persistence of human vision) presented to each of the viewer's eyes Among the techniques in common use for such 3D or stereoscopic rendering are edge detection, motion following, and completely separately generated oculai views. Note that the scenes rendered by the techniques (a) - (c) above give a viewer only indications of scene depth, but there is no sense of the scenes being three dimensional due to a viewer's eyes receiving different scene views as in stereoscopic rendering systems Alternatively, the 3D or stereoscopic graphic systems require stereoscopic eye wear for a viewer In other scene viewing systems, three dimensional effects can be created from a two dimensional scene by modifying the aperture stop of a lens system so that the aperture stop is vertically bifurcated to yield, e g., different left and right scene views wherein a different one of the scene views is provided to each of the viewer's eyes. In particular, the effect of bifurcating the aperture stop vertically causes distinctly different out-of-focus regions in the background and foreground display areas of the two scene views, while the ln-focus image plane of each scene view is congruent (i.e., perceived as identical) in both views One of the advantages of this physical method is that it produces an image the can be viewed comfortably in 2D without eye-wear and in 3D with eye-wear. One of the advantages of modeling this physical method with a software method is that animated films can be created which can also be viewed comfortably in 2D without eye- wear and in 3D with eye- wear. It would be desirable to have a simple graphical rendering system that allows a viewer to clearly view the same scene or presentation with or without stereoscopic eye wear, wherein techniques such as (a) - (c) above may be presented differently depending on whether the viewer is wearing stereoscopic eye wear or not. In particular, it would be desirable for the viewer to have a more pronounced sense of visual depth in the scene or presentation when such stereoscopic eye wear used. SUMMARY OF THE INVENTION The present invention is a method and apparatus for allowing a viewer (also denoted a user herein) to clearly view the same computer generated graphical scene or presentation with or without stereoscopic eye wear, wherein techniques such as (a) - (c) above may be presented differently depending on whether the viewer is wearing stereoscopic eye wear or not. In particular, the present invention provides the user with a more pronounced sense of visual depth in the scene or presentation when such stereoscopic eye wear used, but the same scene or presentation can be concurrently and clearly viewed without such eye-wear. The stereoscopic imaging techniques disclosed herein can be utilized with any image acquisition devices. For example, the techniques can be used with any of the imaging devices described in U.S. Patent Application Serial No. 09/354,230, filed July 16, 1999; U.S. Provisional Patent Application Serial No. 60/166,902, filed November 22, 1999; U.S. Patent Application Serial No. 09/664,084, filed September 18, 2000; and U.S. Provisional Application Serial No. 60/245,793, filed November 3, 2000; and U.S. Provisional Patent Application Serial No. 60/261,236, filed January 12, 2000; U.S. Provisional Patent Application Serial No. 60/190,459, filed March 17, 2000; and U.S. Provisional Application Serial No., 60/222,901, filed August 3, 2000, all of which are incorporated herein by reference. In the event that the acquired image is in analog form, any number of known processes may be employed to digitize the image for processing using the techniques disclosed herein. To further facilitate a greater appreciation and understanding of the present invention, the following U.S. Patents are incorporated herein by this reference: 3,665,184 5/1972 Schagen 378/041 4.189.210 2/1980 Browning 359/464 4,835,712 5/1989 Drebin 345/423 4,901,064 2/1990 Deering 345/246 4,947,347 8/1990 Sato 345/421 5,402,337 3/1995 Nishide 345/426 5,412,764 5/1995 Tanaka 345/424 5,555,353 9/1996 Shibazaki 345/426 5,616,031 4/1997 Logg 434/038 5,883,629 6/1996 Johnson 345/419 5,724,561 3/1998 Tarolli 345/523 5,742,749 4/1998 Foran 345/426 5,798,765 8/1998 Barclay 345/426 5,808,620 9/1998 Doi 345/426 5,809,219 9/1998 Pearce 345/426 5,838,329 11/1998 Day 345/426 5,883,629 3/1999 Johnson 345/419 5,900,878 5/1999 Goto 345/419 5,914,724 6/1999 Deering 345/431 5,926,182 7/1999 Menon 345/421 5,936,629 8/1999 Brown 345/426 5,977,979 11/1999 Clough 345/422 6,018,350 1/2000 Lee 345/426 6,064,392 5/2000 Rohner 345/426 6.078,332 6/2000 Ohazama 345/426 6,081,274 6/2000 Shiraishi 345/426 6,147,690 11/2000 Cosman 345/431 6,175,368 1/2001 Aleksic 245/430 Further benefits and feature s of the present invention will become evident from the accompanying figures and the Detailed Description hereinbelow. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates that optically out-of-focus portions of a scene that are in the background do not differ from out-of focus portions of a scene that are in the foreground. Fig. 2 shows that a single lens 3D produces out-of-focus areas that differ between the left and right views and between the foreground and background. Fig. 3 shows that the method of the present invention can interpose a decision between the decision to render and the process of rendering. Fig. 4 shows that the method cannot be circumvented. Fig. 5 shows a logic diagram which describes the system and apparatus. Fig. 6 is a programmatic representation of the advisory computational component 19 shown here in the C programming language. Figs. 7A and 7B is a flowchart showing, at a high level, the processing performed by the present invention. Fig. 8 illustrates the division of a (model space) pixel's out-of-focus image extent (on the image plane), wherein this extent is divided vertically (i.e., traversely to the line between a viewer's eyes) into greater than two (and in particular four) portions for displaying these portions selectively to different of the viewer's eyes. Fig. 9 illustrates a similar division of a (model space) pixel's out-of-focus image extent; however, the division of the present figure is horizontal rather than vertical (i.e., substantially parallel to the line between a viewer's eyes). Fig. 10 illustrates a division of a (model space) pixel's out-of-focus image extent wherein the division of this extent is at an angle different from vertical (Fig. 8) and also different from horizontal (Fig. 9). DETAILED DESCRIPTION OF THE INVENTION Given, e.g., a point light source (not shown, and more generally, an object) to be imaged by a lens system (not shown), Fig. 1 shows an in-focus image 12 of the point light source, wherein the image 12 is on an image plane 11. Other images of the point light source may be viewed on planes that are parallel to the image plane 11 but at different offsets from the image plane 11. Images 13A through 16B depict the images of the point light source on such offset planes (note, that these images are not shown their offset planes; instead, the images are shown in the plane of the drawing to thereby better show their size and orientation to one another). In particular, offset planes of substantially equal distance in the foreground and the background from the image plane have substantially the same out of focus image for a point light source. Moreover, given an object plane (not shown) which, by definition, is substantially normal to the aperture of the lens system, and contains the portion of the image that is in-focus on the image plane 1 1 , a different point light source on the opposite side of the object plane from the lens system (i.e., in the "background" of a scene displayed on the image plane 1 1) will project to a point image (i.e., focus) ahead of the image plane 11 (i.e., on the side of the image plane labeled BACKGROUND). Thus, the image of such a background point on the image plane 1 1 will be out-of-focus. Alternatively, a point light source on the same side of the object plane (i.e., in the "foreground" of the scene displayed on the image plane 11) will project to a point image behind the image plane (i.e., on the side of the image plane labeled FOREGROUND). Thus, the image of such a foreground point light source in the image plane 11 will be similarly out-of-focus, and more particularly, foreground and background objects of a equal offset from the object plane will be substantially equally out of focus on the image plane 1 1. For example, the images 13A through 16B show the size of the representation of various point light sources in the foreground and the background as they might appear on the image plane 1 1 (assuming the point light sources for each image 13A and 13B are the same distance from the object plane, similarly for the pairs of images 14A and B, 15A and B, and, 16A and B). When, a background or foreground point is out of focus, but insufficiently out-of- focus for the human eye to perceive it as out- of-focus, it is denoted herein as "physically out-of-focus". Note that image points 13A and 13B are to be considered as only physically out of focus herein. When a background and foreground point is sufficiently out-of-focus for the human eye to perceive it as out-of-focus, it is denoted herein as "visually out-of-focus". Note that images 14A through 16B are to be considered as visually out of focus herein. Furthermore, note that as a point in the three dimensional space (i.e., model or object space) moves further away from the object plane, its projections onto the image plane 1 1 becomes more and more out-of-focus on the image plane. When a user is wearing eye wear (or is viewing a display-device that displays a different view to each eye) according to the present invention, wherein different digital images can be substantially simultaneously (i.e., within limits of image persistence of the human eye) presented to each of the user's eyes, the present invention provides an improved three dimensional effect by performing, at a high level, the following steps: Step (a) determining an image, LVl, of the model space wherein the image of each object in IM is in-focus regardless of its distances from the point of view of the viewer, Step (b) determining an object plane coincident with the portion of model space that will the in-focus plane, Step (c) determining the out-of-focus image extent of each pixel in IM based on its distance from the object plane, and assign to each such pixel a value based on its being in front of or behind the object plane relative to the point of view of the viewer, Step (d) dividing into two image portions, e.g., image halves, the image extent of each pixel determined in step (c) that is visually out-of-focus, Step (e) for each pixel image extent divided in (d) into first and second halves: (i) prohibiting the out-of-focus first image half from being viewed by a first of the user's eyes, while concurrently presenting this first image half to the second of the user's eyes, and (ii) prohibiting the out-of-focus second image half from view by the second of the user's eyes, while presenting this second half image to the first of the user's eyes. Fig. 2 shows each of the out of focus point images 13A through 16B of Fig. 1 divided, wherein the divisions are intended to represent the divisions resulting from step (d) above. In particular, the divisions of the point images 13A through 16B are along an axis that is both parallel to the image plane 11 and perpendicular to a line between a viewer's eyes. Thus, the image halves 13Aι and 13A 2 are the two image halves (left and right respectively) of the background image point 13 A. The image halves 13Bι and 13B show the divided left and right halves respectively of the foreground point image 13B wherein 13Bj and 13B are physically out-of-focus substantially the same as image halves 13Aι and 13A 2 . The left and right image halves 14Aι and 14A 2 are visually out-of-focus and accordingly these image halves will be displayed selectively to the viewer's eyes as in step (e) above. That is, each of the viewer's eyes sees a different one of the image halves 14Aι and 14A , and in particular, the viewer's right eye views only the left image half 14Aι while the viewer's left eye views only the right image half 14A as is discussed further immediately below. Thus, as indicated by the letter labels (Fig. 2) inside each half, the right eye view will be presented with the out-of-focus halves labeled with the letter "R" and the left eye view will be presented with the out-of-focus halves labeled with the letter "L". Note that the side presented to an eye view is reversed depending on whether the foreground or background is being rendered. Thus, in addition to the Steps (a) through (e) above, the present invention also performs an additional step (denoted herein as Step (e. l)) of determining which of the viewer's eyes is to receive each of the visually out-of-focus image halves. In this way the present invention provides the viewer with additional visual effects for indicating whether a visually out-of-focus portion of a scene or presentation is in the background or in the foreground. That is, for each pixel of IM from which a visually out-of-focus foreground portion of a scene is derived, the corresponding out-of-focus image halves are selectively displayed so that the left image half is displayed only to the viewer's right eye, and the right image half is displayed only to the viewer's left eye. Moreover, for each pixel of IM from which a visually out-of-focus background portion of a scene is derived, the corresponding out-of-focus image halves are selectively displayed so that the left image half is displayed only to the viewer's left eye, and the right image half is displayed only to the viewer's right eye. Thus, for the left and right background image halves 16Aι and 16A 2 , each respectively is presented solely to the viewer's left and right eyes. It is important to note that the enhanced three dimensional rendering system of the present invention, provided by Steps (a) through (e) and (el), can be used with substantially any lens system (or simulation thereof). Thus, the invention may be utilized with lens systems (or graphical simulations thereof) where the focusing lens is spherically based, anamorphic, or some other configuration. Moreover, in one primary embodiment of the present invention, scenes from a modeled or artificially generated three dimensional world (e.g., virtual reality) are rendered more realistically to the viewer using digital eye wear (or other stereoscopic viewing devices) allowing each eye to receive concurrently a different digital view of a scene. The present invention is also not limited to selectively providing half-circles to the viewer's eyes. Various other out-of-focus shapes (other than circles) may be divided in step (d) hereinabove. In particular, it has been demonstrated in the physical world that many other shapes will also produce the desired three dimensional image production and perception. For example, instead of being circular, the out-of-focus shapes may be rectangular, elliptical, asymmetric, oi even disconnected. Thus, such out-of-focus shapes need not be symmetric, nor need they model out-of-focus light sources from the physical world. Moreover, it is believed that one skilled in the graphics software arts will easily see that most any method for achieving a suitable out-of-focus effect can be divided in some suitable way to achieve a stereoscopic result (from a non-stereoscopic image), and any such division is within the scope of the present invention. Moreover, note that in the dividing step (d) hereinabove, such left and right image "halves" need not be mirror images of one another. Furthermore, the left and right image halves need not have a common boundary. Instead, the right and left image halves may, in some embodiments, overlap, or have a gap between them. Additionally, it is within the scope of the present invention to divide out-of-focus images and selectively display the resulting divided portions (e.g., image halves as discussed above) for only the foreground or only the background. Additionally, it is within the scope of the present invention to process only portions of either the background and/or the foreground such as the portions of a model space image within a particular distance of the object plane. For example, in modeling certain real world effects in computational systems, it may be unnecessary (and/or not cost effective) to apply the present invention to all out-of- focus regions. Moreover, in Steps (a) through (e) and (el) hereinabove, the out-of-focus image extent may be determined from an area larger than a pixel and/or the image IM (Step (a) above) may include pixels that themselves include portions of, e.g., both the background and the foreground. It is also worth noting that the present invention is not limited to only left and right eye stereoscopic views. It is well known that lenticular displays can employ multiple eye views. The division into left and right image halves as described hereinabove may be only a first division wherein additional divisions may also be performed. For example, as shown in Fig. 8 , for each of one or more of the out-of-focus areas, such an area (labeled 501) can be divided into four vertical areas, thus creating the potential for four discrete views 502 through 505 for the pixel area 501 (instead of two "halves" as described hereinabove in Step (d)). Thus, those skilled in the software graphics arts will be readily able to extend the present invention to perform divisions (Step (d) hereinabove) to obtain as many out-of-focus image portions as are needed to satisfy particular display needs Accordingly, the present invention includes substantially any number of vertical divisions of the image extents of pixels as in Step (d) above Note that when there are multiple divisions in Step (d) above of an image extent of an IM pixel, then the rendering of the resulting image portions for enhanced three dimensional effects can be performed by an alternative embodiment of Step (el) which receives three or more image portions of the out-of-focus IM pixel and then, e g , performs the following substeps as referenced to Fig 8 1 For views Vi through V n (n>=2) of a pixel image extent obtained from dividing this extent (e g., the views illustrated in Fig 8 as views 502 through 505 with n-4), wherein these views correspond to multiple eye views from the viewer's far left to the far right field of view, determine whether a point for a view is a background or foreground point 2 If the point for view V x is a background point, return V (n x+ i ) For example, a background point for view 505 would be 502 3 If the point for view V x is a foreground point, return V x For example, a foreground point for view 505 would be 505 Additionally, note that horizontal divisions may also be provided in Step (d) above by embodiments of the invention, wherein the resulting horizontal "image portions" of the image extent of out-of-focus IM pixels are divided horizontally In particular, such horizontal image portions, when selectively displayed to the viewer's eyes, can supply an enhanced three dimensional effect when a vertical head motion of the viewer is detected as one skilled in the art will understand Note that for selective display of such horizontal image portions, Step (el) may include the following substeps as illustrated by Fig 9 1 For views V] through V n (n>=2) of a pixel image extent obtained from dividing this extent (e g , the views illustrated in Fig 9 as views 602 through 605 with n=4), wherein these views correspond to multiple eye views from the viewer's topmost to the bottom most field of view, determine whether a point for a view is a background or foreground point 2 If the point for view V x is a background point, return V (n x+ i) For example, a background point for view 605 would be 602 3 If the the point for view V x is a foreground point, return V x For example, a foreground point for view 605 would be 605 Moreover, it is within the scope of the present invention for Step (d) to divide IM out- of-focus pixels at other angles rather than vertical and horizontal. When Step (d) divides image extents at any angle, Step (el) may include the following substeps, the general principals of which are illustrated in Fig. 10: 1. For views Vi through V n (n>=2) of a pixel image extent obtained from dividing this extent (e.g., the views illustrated in Fig. 10 as views 701 through 703), wherein these views correspond to multiple eye views rotationally symmetric around a center, determine whether a point for a view is a background or foreground point. 2. If the point for view V x is a background point, invert both horizontally and vertically the reference as at 705, and return V x. For example, a background point for view 703 would be determined by rotating horizontally and vertically the reference at 704 to yield a new reference at 705, and then to return 703 relative to the new reference. 3. If the point for view V x is a foreground point, return V x. For example, a foreground point for view 703 would use the unrotated reference at 704 and would return 703 relative to that reference. Furthermore, note that Step (d) may generate vertical, horizontal and angled divisions one the same IM out-of-focus pixels as one skilled in the art will understand Furthermore, note that when reference views are used and their inverted and reflected counterparts, it is preferable that each reference be calculated once and buffered thereafter. It is also preferred when using such an approach, that an identifier for the reference be returned rather than the input and a reference. Fig. 3 shows graphical representations 17A and 18A of two formulas for determining how light goes out-of-focus as a function of distance from the object plane. In particular, the horizontal axis 20 of each of these graphs represents width of the out-of-focus area, and the vertical axis 22 represents the clarity of the image. More precisely, the vertical axis 22 describes may be considered as the intensity of an in-focus image on the image plane, and for each graph 17A and 18A, the respective portions to the left of its vertical axis is the graphical representation of how it is expected that light go out-of-focus for a viewer's eye while the portions to the right of the vertical axis is the graphical representation of how it is expected that light go out-of-focus for a viewer's other eye. Note that the clarity measurement used on the vertical axes 22 may be described as follows: A narrow, tall graph represents a bright in- focus point, whereas a short, wide graph represents a dim, out-of-focus point. The vertical axis 22 in all graphs specifies spectral intensity values, and the horizontal axis 20 specifies the degree to which a point light source is rendered out-of-focus. Referring now to graph 17A, this graph shows the graphic representation of the formula for a "circle of confusion" function, as one skilled in the optic arts will understand. The circle of confusion function can be represented by a formula that shows how light goes out-of-focus in the physical world. Referring now to graph 18A, this graph shows the graphic representation of a formula for "smearing" image components. Techniques that compute out-of-focus portions of images according to 18A are commonly used to suggest out-of-focus areas in a computer generated or computer altered image. In the center of Fig. 3 is an advisory computational component 19 that may be used by the present invention for rendering foreground and background areas: image out-of-focus, smeared, shadowed, or otherwise different from the in-focus areas of the image plane. That is, the advisory computational component 19 performs at least Step (e) hereinabove. In particular it is believed that such an advisory computational component 19, wherein one or more selections are made regarding the type of rendering and/or the amount of rendering for imaging the foreground and background areas, has heretofore not been disclosed in the prior art. That is, between the "intention" to render and the actualization of that rendering, such a selection process has here-to-fore never been made. In one embodiment of the advisory computational component, this component may determine answers to the following two questions for converting a non-stereoscopic view into a simulated stereoscopic view: 1. Is the point or area under query a background or a foreground point? and 2. Is the point or area under query a left eye view or a right eye view? Accordingly, the advisory computational component 19 outputs a determination as to where to render the divided portions of step (d) above. In one embodiment of the advisory computational component 19, this component may output a determination to render only the left image half (e.g., a semicircle as shown in Fig. 2). Accordingly, graph 17B shows the graphic representation of the formula for a "circle of confusion" function, where the decision was to render only such a left image half. Additionally, graph 18B shows the graphic representation of a formula for "smearing" out- of-focus portions of an image, wherein the decision was to render only the left image half according to a smearing technique. Fig. 4 depicts an intention to render an out-of-focus point or region according to circle of confusion processing (i.e. represented by graph 10A) to the viewer's left eye without using the advisory component 19. However, to selectively render different image halves to different of the viewer's eyes requires at least one test and one branch. It is within the scope of the present invention to include all such tests and branches inside the component 19, where those tests and branches are used to determine a mapping between foreground and background and right and left views, and to a rendering technique (e.g., circle of confusion or smearing) that is appropriate. Note that there can be embodiments of the present invention wherein there is an attached data store for buffering or storing output rendering decisions generated by the advisory computational component 19, wherein such stored decisions can be returned in, e.g., a first-in-first-out order, or in a last-in-first-out order. For example, in multi-threaded applications, parallel processes may in a first instance seek to supply a module with points (e.g., IM pixels) to consider, and may in a second instance seek to use prior decided point information (e.g., image halves) to perform actual rendering. Fig. 5 shows an embodiment of the advisory computational component 19 at a high level . In this figure, two inputs, INPUT 1 and INPUT 2, are combined logically to produce one output 30. The output 30 indicates whether a currently being processed out-of-focus image of a model space image point is to be rendered as a left or right out-of-focus area. The INPUT 1 has one of two possible values, each value representing a different one of the viewer's eyes to which the output 30 is to be presented. In one embodiment, INPUT 1 may be, e.g., a Boolean expression whose value corresponds to which of the left and right eyes the output 30 is to be presented. Upon receipt of the INPUT 1, the advisory computational component 19 stores it in input register 33. INPUT 2 also has one of two possible values, each value representing whether the currently being processed out-of-focus image is substantially of a model space image point (IP) in the foreground or in the background. In one embodiment, INPUT 2 may be, e.g., a Boolean expression whose value represents the foreground or the background. Upon receipt of the INPUT 2, the advisory computational component 19 stores it in the input register 37. Logic module 34 evaluates the two input registers, 33 and 37, periodically or whenever either changes. It either evaluates INPUT 2 in 37 for determining whether IP is: (i) a foreground IM pixel (alternatively, an IM pixel that does not contain any background), or (ii) an IM pixel containing at least some background. If the evaluation of INPUT 2 in register 37 results in a data representation for "FOREGROUND" (e.g., "false"), then INPUT 1 in register 33 is passed through to and stored in the output register 38 with its value (indicating which of the viewer's eyes IP is to be displayed) unchanged. If the evaluation in logic module 34 of INPUT 2 results in a data representation for "BACKGROUND" (e.g., "true"), then component 35 inverts the value of INPUT 1 so that if its value indicates presentation to the viewer's left eye then it is inverted to indicate presentation to the viewer's right eye and vise versa. Subsequently, the output of component 35 is provided to output register 38. Note that the logic module 34 may only evaluate the two registers 33 and 37 whenever either one changes. In one embodiment of the present invention for rendering of half-circular out-of- focus areas, the following table shows the four possible input states and their corresponding four output states. I. Two Input versus One Output Logic INPUT 1 INPUT 1 OUTPUT SHAPE Left Foreground Left Left half circle Right Foreground Right Right Half circle Left Background Right Right half circle Right Background Left Left half circle In an alternative embodiment of the advisory computation component 19, note that INPUT 2 may have more than two values. For example, INPUT 2 may present one of three values to the input register 37, i.e., values for foreground, background, and neither, wherein the latter value corresponds to each point (e.g., IM pixel) on the object plane, equivalently an in-focus point. Because a point on the object plane is in-focus, there is no reason to render it in either out-of-focus form. Still referring to Fig. 5, any change to the contents of one of the input registers 33 and 37 is immediately reflected by a corresponding change in the output register 38. Clearly, anyone skilled in the software arts will realize that such input/output relationships can be asynchronous or clocked, and that they can be implemented in a number of variations, any of which will produce the same decision for producing enhanced three dimensional effects. Fig. 6 shows an embodiment of the advisory computational component 19 coded in the C programming language. Such code can be compiled for installation into hardware chips. However, other embodiments of the advisory computational component 19 other than a C language implementation are possible. Fig. 7 is a high level flowchart the steps performed by at least one embodiment of the present invention for rendering one or more three dimensionally enhanced scenes. In step 704, the model coordinates of pixels for a "current scene" (i.e., a graphical scene being currently processed for defocusing the foreground and the background, and, adding three dimensional visual effects) are obtained. In step 708, a determination of the object plane in model space is made. In step 712, for each pixel in the current scene, the pixel (previously denoted IM pixel) is assigned to one of three pixel sets, namely: 1. A foreground pixel set having pixels with model coordinates that are between the viewer's point of view and the object plane; 2. An object plane set have pixels with model coordinates that lie substantially on the object plane; and. 3. A background pixel set have pixels with model coordinates wherein the object plane is between these pixels and viewer's point of view. Subsequently, in step 716, for each pixel P in the foreground pixel set, determine the pixel's out-of-focus image extent on the image plane. That is, generate the set FS(P) of pixel identifiers for identifying each pixel on the image plane that will be effected by the defocusing of P. Note that this determination is dependent upon both the characteristics of the type of imaging being performed (such as telescopic, wide angle, etc.), and the distance that the pixel P is from the object plane. Additionally, for each image plane pixel P F identified in FS(P), determine a corresponding pixel descriptor having the spectral intensity of color that P (more precisely, the defocused extent of P) contributes to the pixel P F of the image plane. In step 720, for each pixel P in the foreground pixel set, perform Step (d) previously described for dividing the corresponding out-of-focus image plane extent, FS(P), into, e.g., a left portion FS(P) L and a right portion FS(P) R (from the viewer's perspective). In step 724, for each pixel P in the background pixel set, determine the pixel's out-of- focus image extent on the image plane. That is, generate the set BS(P) of pixel identifiers for identifying each pixel on the image plane that will be effected by the defocusing of P. Note that as with step 716, this determination is dependent upon both the characteristics of the type of imaging being performed (such as telescopic, wide angle, etc.), and the distance that the pixel P is from the object plane. Additionally, for each image plane pixel PR identified in BS(P), determine a corresponding pixel descriptor having the spectral intensity of color that P (more precisely, the focused extent of P) contributes to the pixel P B of the image plane. In step 728, for each pixel P in the background pixel set, perform Step (d) previously described for dividing the corresponding out-of-focus image plane extent, BS(P), into, e.g., a left portion BS(P) L and a right portion BS(P) R (from the viewer's perspective). Subsequently, steps 732 and 736 are performed (parallelly, asynchronously, or serially). In step 732, a version of the current scene (i.e., a version of the image plane) is determined for displaying to the viewer's right eye and in step 736, a version of the current scene (i.e., also a version of the image plane) is determined for displaying to the viewer's left eye. In particular, in step 732, for determining each pixel P R to be presented to the viewer's right eye, the following substeps are performed: 732(a) Determine any corresponding pixel OP(P R ) from the object plane that corresponds to the display location of P R ; 732(b) Obtain the set F R (P R ) having all (i.e., zero or more) pixel identifiers, ID, for the from the left portion sets FS(K) L for K a pixel in the foreground pixel set, wherein each of the pixel identifiers ID identify the pixel P R . Note that each FS(K) L is determined in step 720 ; 732(c) Obtain the set B R (P R ) having all (i.e., zero or more) pixel identifiers, ID, from the right portion sets BS(K) R for K a pixel in the background pixel set, wherein each of the pixel identifiers ID identify the pixel P R . Note that each BS(K) R is determined in step 728; and 732(d) Determine a color and intensity for P R by computing a weighted sum of the color intensities of: OP(P R ), and the color and intensity of each pixel descriptor in F R (P R ) |jB R (P R ) . In at least one embodiment, the weighted sum is determined so that the resulting spectral intensity of P R is substantially the same as the initial spectral intensity of the uniquely corresponding pixel from model space prior to any defocusing. Thus, for example, assume the pixel display location of P R (on the image plane) is a unique projection of a background pixel P m in model space prior to any defocusing, and P m has a spectral intensity of 66 (on a scale of, e.g., 0 to 256). Also assume that it is determined (in step 720) that there are two background left portion sets BS(K I ) L and BS(K 2 ) L having, -espectively, pixel identifiers IDi and ID 2 each identifying the image plane locati of P R , and that the spectral intensity contribution to the pixel location of P R from the (model space) pixels identified by IDi and ID 2 is respectively 14 and 23. Further, assume that there is one background right portion set BS(K 3 ) R (determined in step 728) having a pixel identifier ID 3 also identifying the image plane location of P R wherein the spectral intensity contribution of the pixel location of P R is 55. Then the color and spectral intensity ( 66 14 23 55 \ of PR IS: 66* * c„ + ■ ■ * c, + • • * c, + wherein , 158 " 158 ' 158 158 / 66+14+23+55=158 and c m , c, , c 2 , and c 3 are the color designations for P m , Ki, K 2 , and K 3 . Note that step 736 can be described similarly to step 732 above by merely replacing "R" subscripts with "L" subscripts, and "L" subscripts with "R" subscripts. In step 740 the pixels determined in steps 732 and/or 736 are supplied to one or more viewing devices for viewing the current scene by one or more viewers. Note that such display devices may include stereoscopic and non-stereoscopic display devices. In particular, for viewers viewing the current scene non-stereoscopically, step 744 is performed wherein the display device either displays only the pixels determined by one of the steps 732 and 736, or alternatively both right eye and left eye versions of the current scene may be displayed substantially simultaneously (e.g., by combining the right eye and left eye versions as one skilled in the art will understand). Note, however, that the combining of the right eye and left eye versions of the current scene may also be performed in step 740 prior the transmission of any current scene data to the non-stereoscopic display devices. Concurrently with step 744, step 748 is performed for providing current scene data to each stereoscopic display device to be used by some viewer for viewing the current scene. However in this step, the pixels determined in step 732 are provided to the right eye of each viewer and the pixels determined in step 736 are provided the left eye of each viewer. In particular, for each viewer, the viewer's right eye is presented with the right eye version of the current scene substantially simultaneously with the viewer's left eye being presented with the left eye version of the current scene (wherein "substantially simultaneously" implies, e.g., that the viewer can not easily recognize any time delay between displays of the two versions). Finally, in step 748 a determination is made as to whether there is another scene to convert to provide an enhanced three dimensional effect according to the present invention. The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variation and modification commiserate with the above teachings, within the skill and knowledge of the relevant art, are within the scope of the present invention. The embodiment described hereinabove is further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention as such, or in other embodiments, and with the various modifications required by their particular application or uses of the invention.

Claims: What is claimed is: 1. A method for rendering a stereoscopic view of an image, comprising: providing an image, the image including an out-of-focus image representation of an object in the image; selecting a first part of the out-of-focus image representation and a second part of the out-of-focus image representation: and presenting, at least substantially simultaneously, the first part to a first eye of a viewer and a second part to a second eye of the viewer that is different from the first eye. 2. The method of Claim 1, wherein the providing step includes the step of: determining an image plane, wherein the projection of each object on the image plane is in-focus regardless of the object's distance from a point of view of the viewer. 3. The method of Claim 2, wherein the providing step further includes the step of: determining an object plane in a model space that is at least substantially parallel to the image plane. 4. The method of Claim 3, wherein the providing step further includes the step of: determining an out-of-focus image extent of at least a first pixel in the image plane based on a distance of the at least a first pixel from the object plane; and assigning to the at least a first pixel a value based on the at least a first pixel being in front of or behind the object plane relative to the point of view of the viewer. 5. The method of Claim 1, wherein in the selecting step the first and second parts are portions of the same object image. 5. The method of Claim 4, wherein the first and second parts are portions of the out-of-focus image extent of the at least a first pixel. 6. The method of Claim 6, wherein the presenting step includes the steps of: prohibiting the first part from being viewed by the second eye of the viewer; and prohibiting the second part from being viewed by the first eye of the viewer. 7. The method of Claim 1, wherein the providing step includes the step of determining first coordinates in an at least three dimensional model space of at least a first object pixel, the first object pixel being a representation of at least a portion of the image that would be displayed if all objects in the image were m focus. 8. The method of Claim 8, wherein the providing step further includes the step of determining coordinates of an object plane in the at least three dimensional model space. 9. The method of Claim 9, wherein the selecting step includes the step of assigning the first object pixel to one of a foreground pixel set, an object plane pixel set, or a background pixel set, wherein the foreground pixel set includes object pixels having coordinates in the at least three dimensional model space that are located between the viewer's point of view and the object plane, the object plane pixel set includes object pixels having coordinates in the at least three dimensional model space that are located at least substantially in the object plane, and the background pixel set includes object pixels having coordinates the at least three dimensional model space such that the image plane is located between the object pixels in the background pixel set and the viewer's point of view. 10 The method of Claim 10, wherein the selecting step further includes the step of when the first object pixel is in the foreground pixel set, assigning, based on the first object pixel's distance from the object plane and a characteristic of an imaging system, the first object pixel to a corresponding out-of-focus pixel identifier set, the out-of-focus pixel identifier set including for each out-of-focus object pixel in the foreground pixel set a corresponding image pixel on the image plane; and determining, for at least a first image pixel, an image pixel descriptor having an intensity of color that the at least a first image pixel contributes to the intensity of color of the corresponding first object pixel in the out-of-focus pixel identifier set 11 The method of Claim 11 , wherein the selecting step further includes the step of when the first object pixel is in the foreground pixel set, dividing the corresponding out-of-focus pixel identifier set into the first part, the first part having identifiers of image pixels for the left part of the foreground pixel set as viewed by the viewer and the second part, the second part having identifiers of image pixels for the right part of the foreground pixel set as viewed by the viewer. 12. The method of Claim 12, wherein the selecting step further includes the step of: when the first pixel is in the background pixel set, assigning, based on the first object pixel's distance from the object plane and a characteristic of an imaging system, the first object pixel to the corresponding out-of-focus pixel identifier set, the out-of-focus pixel identifier set including for each out-of-focus object pixel in the background pixel set a corresponding image pixel on the image plane; and determining for at least the first object pixel the pixel descriptor having an intensity of color that the first object pixel contributes to the intensity of color of the corresponding image pixel in the out-of-focus pixel identifier set. 13. The method of Claim 13, wherein the selecting step further includes the step of: when the first object pixel is in the background pixel set, dividing the corresponding out-of-focus pixel identifier set into the first part, the first part having identifiers of image pixels for the left part of the background pixel set as viewed by the viewer and the second part, the second part having identifiers of image pixels for the right part of the background pixel set as viewed by the viewer. 14. The method of Claim 14, wherein the presenting step includes, for each first pixel to be presented to the first eye, the steps of: retrieve any object pixel from the object plane that corresponds to the first pixel; for each object pixel corresponding to the first pixel, determining the corresponding image pixel in the foreground pixel set and the corresponding second part of the corresponding image pixel; for each object pixel corresponding to the first pixel, determining the corresponding image pixel in the background pixel set and the corresponding first part of the corresponding image pixel; and assigning the corresponding second part of the foreground pixel set and the corresponding first part of the background pixel set to a first eye pixel set. 15. The method of Claim 15, wherein the presenting step includes, for each first pixel to be presented to the first eye, the steps of: determining a color and intensity for the first pixel by a weighted sum of (a) the colors and intensities of the object pixels corresponding to the first pixel and (b) the colors and intensities of each pixel descriptor in the union of the second' part of the out-of-focus pixel identifier set corresponding to the respective image pixels in the foreground pixel set and of the first part of the out-of-focus pixel identifier set corresponding to the respective image pixels in the background pixel set. 16. A system for rendering a stereoscopic view of an image, the image including an out-of-focus image representation of an object in the image and an in-focus image representation of an object in the image, the system comprising, selecting means for selecting a first part of the out-of-focus image representation and a second part of the out-of-focus image representation: and display means for displaying, at least substantially simultaneously, the first part to a first eye of a viewer and a second part to a second eye of the viewer that is different from the first eye. 17. The system of Claim 17, wherein the selecting means comprises: first determining means for determining an image plane of a model space, wherein the projection of each object on the image plane is in-focus regardless of the object's distance from a point of view of the viewer. 18. The system of Claim 18, wherein the selecting means comprises: second determining means for determining an object plane that is at least substantially parallel to the image plane. 19. The system of Claim 19, wherein the selecting means comprises: third determining means for determining an out-of-focus image extent of at least a first pixel in the image plane based on a distance of the at least a first pixel from the object plane; and assigning means for assigning to the at least a first pixel a value based on the at least a first pixel being in front of or behind the object plane relative to the point of view of the viewer. 20. The system of Claim 17, wherein the first and second parts are portions of the same object image. 21. The system of Claim 20, wherein the first and second parts are portions of the out-of-focus image extent of the at least a first pixel. 22. The system of Claim 20, wherein the displaying means further includes: first prohibiting means for prohibiting the first part from being viewed by the second eye of the viewer; and second prohibiting means for prohibiting the second part from being viewed by the first eye of the viewer. 23. A system for rendering a stereoscopic view of an image, the image including an out-of-focus image representation of an object in the image and an in-focus image representation of an object in the image, the system comprising, a processor for selecting a first part of the out-of-focus image representation and a second part of the out-of-focus image representation: and a display for displaying, at least substantially simultaneously, the first part to a first eye of a viewer and a second part to a second eye of the viewer that is different from the first eye. 24. The system of Claim 24,wherein the processor comprises: a first computational component for determining an image plane of a model space, wherein the projection of each object on the image plane is in-focus regardless of the object's distance from a point of view of the viewer. 25. The system of Claim 25, wherein the processor comprises: a second computational component for determining an object plane that is at least substantially parallel to the image plane. 26. The system of Claim 26, wherein the processor comprises: a third computational component for determining an out-of-focus image extent of at least a first pixel in the image plane based on a distance of the at least a first pixel from the object plane; and a fourth computational component for assigning to the at least a first pixel a value based on the at least a first pixel being in front of or behind the object plane relative to the point of view of the viewer. 27. The system of Claim 27, wherein the first and second parts are portions of the same object image. 28. The system of Claim 27, wherein the first and second parts are portions of the out-of-focus image extent of the at least a first pixel. 29. The system of Claim 27, wherein the processor includes: a fifth computation component for prohibiting the first part from being viewed by the second eye of the viewer; and a sixth computation component for prohibiting the second part from being viewed by the first eye of the viewer. AMENDED CLAIMS [received by the International Bureau on 11 June 2001 (11.06.01); original claims 1-29 replaced by new claims 1-41 (6 pages)] 1. A method for rendering a stereoscopic view of an image, comprising: providing an image, the image including an out-of-focus image representation of an object in the image; selecting a first part of the out-of-focus image representation and a second part of the out-of-focus image representation; and presenting, at least substantially simultaneously, the first part to a first eye of a viewer and a second part to a second eye of the viewer that is different from the first eye. 2. The method of Claim 1, further including presenting an in-focus image representation of a portion of said image substantially simultaneously to both eyes. 3. The method of Claim 1, displaying said out-of-focus image representation as a lower resolution image than an in-focus image representation of a portion of said image. 4. The method of Claim 1 , wherein said first part and said second part overlap in a display of said image. 5. The method of Claim 1, wherein said first part includes a presentation of a first portion of said image, wherein said portion is at a visually distinguishable offset from an in-focus portion of said image and said first portion is not included in said second part. 6. The method of Claim 1 , wherein said first and second parts include respective portions of at least one pixel of an out-of focus portion of said image, and said respective portions are different. 7. The method of Claim 6, wherein said respective portions are mirror images of one another. 8. The method of Claim 1, wherein said providing step includes performing one of telescopic and wide-angle imaging to obtain said image. 9. The method of Claim 1, wherein there is a third part of the out-of-focus image representation, and said third part is not included in a combination of said first and second parts. 10. The method of claim 9, wherein said third part is presented substantially simultaneously to both eyes. 11. The method of C. aim 1, wherein the providing step includes the step of: determining an image pkne, wherein the projection of each object on the image plane is in-focus regardless of the object's distance from a point of view of the viewer. 12. The method of Claim 11 wherein the providing step further includes the step of: determining an object plane in a model space that is at least substantially parallel to the image plane. 13. The method of Claim 12, wherein the providing step further includes the step of: determining an out-of-focus image extent of at least a first pixel in the image plane based on a distance of the at least a first pixel from the object plane; and assigning to the at least a first pixel a value based on the at least a first pixel being in front of or behind the object plane relative to the point of view of the viewer. 14. The method of Claim 1 wherein in the selecting step the first and second parts are portions of the same object image. 15. The method of Claim 13, wherein the first and second parts are portions of the out-of-focus image extent of the at least a first pixel. 16. The method of Claim 15, wherein the presenting step includes the steps of: prohibiting the first part from being viewed by the second eye of the viewer; and prohibiting the second part from being viewed by the first eye of the viewer. 17. The method of Claim 1 , wherein the providing step includes the step of: determining first coordinates in an at least three dimensional model space of at least a first object pixel, the first object pixel being a representation of at least a portion of the image that would be displayed if all objects in the image were in focus. 18. The method of Claim 17, wherein the providing step further includes the step of: determining coordinates of an object plane in the at least three dimensional model space. 19. The method of Claim 18, wherein the selecting step includes the step of: assigning the first object pixel to one of a foreground pixel set, an object plane pixel set, or a background pixel set, wherein the foreground pixel set includes object pixels having coordinates in the at least three dimensional model space that are located between the viewer's point of view and the object plane, the object plane pixel set includes object pixels having coordinates in tne at least three dimensional model space that are located at least substantially in the object plane, and the background pixel set includes object pixels having coordinates in the at least three dimensional model space such that the image plane is located between the object pixels in the background pixel set and the viewer's point of view. 20. The method of Claim 19, wherein the selecting step further includes the step of: when the first object pixel is in the foreground pixel set, assigning, based on the first object pixel's distance from the object plane and a characteristic of an imaging system, the first object pixel to a corresponding out-of-focus pixel identifier set, the out- of-focus pixel identifier set including for each out-of-focus object pixel in the foreground pixel set a corresponding image pixel on the image plane; and determining, for at least a first image pixel, an image pixel descriptor having an intensity of color that the at least a first image pixel contributes to the intensity of color of the corresponding first object pixel in the out-of-focus pixel identifier set. 21. The method of Claim 20, wherein the selecting step further includes the step of: when the first object pixel is in the foreground pixel set, dividing the corresponding out-of-focus pixel identifier set into the first part, the first part having identifiers of image pixels for the left part of the foreground pixel set as viewed by the viewer and the second part, the second part having identifiers of image pixels for the right part of the foreground pixel set as viewed by the viewer. 22. The method of Claim 21, wherein the selecting step further includes the step of: when the first pixel is in the background pixel set, assigning, based on the first object pixel's distance from the object plane and a characteristic of an imaging system, the first object pixel to the corresponding out-of-focus pixel identifier set, the out-of-focus pixel identifier set including for each out-of-focus object pixel in the background pixel set a corresponding image pixel on the image plane; and determining for at least the first object pixel the pixel descriptor having an intensity of color that the first object pixel contributes to the intensity of color of the corresponding image pixel in the out-of-focus pixel identifier set. 23. The method of Claim 22, wherein the selecting step further includes the step of: when the first object pixel is in the background pixel set, dividing the corresponding out-of-focus pixel identifier set into the first part, the first part having identifiers of image pixels for the left part of the background pixel set as viewed by the viewer and the second part, the second part having identifiers of image pixels for the right part of the background pixel set as viewed by the viewer. 24. The method of Claim 23, wherein the presenting step includes, for each first pixel to be presented to the first eye, the steps of: retrieve any object pixel from the object plane that corresponds to the first pixel; for each object pixel corresponding to the first pixel, determining the corresponding image pixel in the foreground pixel set and the corresponding second part of the corresponding image pixel; for each object pixel corresponding to the first pixel, determining the corresponding image pixel in the background pixel set and the corresponding first part of the corresponding image pixel; and assigning the corresponding second part of the foreground pixel set and the corresponding first part of the background pixel set to a first eye pixel set. 25. The method of Claim 24, wherein the presenting step includes, for each first pixel to be presented to the first eye, the steps of: determining a color and intensity for the first pixel by a weighted sum of (a) the colors and intensities of the object pixels corresponding to the first pixel and (b) the colors and intensities of each pixel descriptor in the union of the second ' part of the out- of-focus pixel identifier set corresponding to the respective image pixels in the foreground pixel set and of the first part of the out-of-focus pixel identifier set corresponding to the respective image pixels in the background pixel set. 26. A system for rendering a stereoscopic view of an image, the image including an out-of-focus image representation of an object in the image and an in-focus image representation of an object in the image, the system comprising, selecting means for selecting a first part of the out-of-focus image representation and a second part of the out-of-focus image representation; and display means for displaying, at least substantially simultaneously, the first part to a first eye of a viewer and a second part to a second eye of the viewer that is different from the first eye. 27. The system of Claim 26,wherein the selecting means comprises: first determining means for determining an image plane of a model space, wherein the projection of each object on the image plane is in-focus regardless of the object's distance from a point of view of the viewer. 28. The system of Claim 26, wherein said display means also presents an in- focus image representation of a portion of said image substantially simultaneously to both eyes. 29. The system of Claim 27, wherein the selecting means comprises: second determining means for determining an object plane that is at least substantially parallel to the image plane. 30. The system of Claim 29, wherein the selecting means comprises: third determining means for determining an out-of-focus image extent of at least a first pixel in the image plane based on a distance of the at least a first pixel from the object plane; and assigning means for assigning to the at least a first pixel a value based on the at least a first pixel being in front of or behind the object plane relative to the point of view of the viewer. 31. The system of Claim 26, wherein the first and second parts are portions of the same object image. 32. The system of Claim 30, wherein the first and second parts are portions of the out-of-focus image extent of the at least a first pixel. 33. The system of Claim 30, wherein the displaying means further includes: first prohibiting means for prohibiting the first part from being viewed by the second eye of the viewer; and second prohibiting means for prohibiting the second part from being viewed by the first eye of the viewer. 34. A system for rendering a stereoscopic view of an image, the image including an out-of-focus image representation of an object in the image and an in-focus image representation of an object in the image, the system comprising, a processor for selecting a first part of the out-of-focus image representation and a second part of the out-of-focus image representation: and a display for displaying, at least substantially simultaneously, the first part to a first eye of a viewer and a second part to a second eye of the viewer that is different from the first eye. 35. The system of Claim 34,wherein the processor comprises: a first computational component for determining an image plane of a model space, wherein the projection of each object on the image plane is in-focus regardless of the object's distance from a point of view of the viewer. 36. The system of Claim 34, wherein said display also presents an in-focus image representation of a portion of said image substantially simultaneously to both eyes. 37. The system of Claim 35, wherein the processor comprises: a second computational component for determining an object plane that is at least substantially parallel to the image plane. 38. The system of Claim 37, wherein the processor comprises: a third computational component for determining an out-of-focus image extent of at least a first pixel in the image plane based on a distance of the at least a first pixel from the object plane; and a fourth computational component for assigning to the at least a first pixel a value based on the at least a first pixel being in front of or behind the object plane relative to the point of view of the viewer. 39. The system of Claim 38, wherein the first and second parts are portions of the same object image. 40. The system of Claim 38, wherein the first and second parts are portions of the out-of-focus image extent of the at least a first pixel. 41. The system of Claim 38, wherein the processor includes: a fifth computation component for prohibiting the first part from being viewed by the second eye of the viewer; and a sixth computation component for prohibiting the second part from being viewed by the first eye of the viewer.

Inventors: COSTALES BRYAN L, FLYNT MARCIA K, COSTALES, BRYAN, L., FLYNT, MARCIA, K.
Applicants: COSTALES BRYAN L, FLYNT MARCIA K, SL3D INC, COSTALES, BRYAN, L., FLYNT, MARCIA, K., SL3D, INC.
Application year: 2001
Main classification: G02B27
IPC codes: G02B21, G02B23, G02B27, G06T17, H04N13