US8558832B1 - System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time - Google Patents

System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time Download PDF

Info

Publication number
US8558832B1
US8558832B1 US11/765,382 US76538207A US8558832B1 US 8558832 B1 US8558832 B1 US 8558832B1 US 76538207 A US76538207 A US 76538207A US 8558832 B1 US8558832 B1 US 8558832B1
Authority
US
United States
Prior art keywords
dimensional images
depth maps
images
depth
primitives
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US11/765,382
Inventor
David Robert Cook
Gerrit A. Slavenburg
Viatcheslav V. Gostrenko
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Priority to US11/765,382 priority Critical patent/US8558832B1/en
Assigned to NVIDIA CORPORATION reassignment NVIDIA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COOK, DAVID ROBERT, GOSTRENKO, VIATCHESLAV V., SLAVENBURG, GERRIT A.
Application granted granted Critical
Publication of US8558832B1 publication Critical patent/US8558832B1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/005Aspects relating to the "3D+depth" image format

Definitions

  • the present invention relates to display systems, and more particularly to stereoscopic display systems.
  • FIG. 1 shows a stereoscopic display system 100 , in accordance with the prior art.
  • a processor 102 e.g. a graphics processor, etc.
  • a display 108 communicates with various scene information.
  • various scene information is required to generate different images intended for viewing by a left and right eye of a viewer.
  • scene information is provided to the display 108 in the form of a depth map 104 and a two-dimensional image 106 .
  • Such depth map 104 and two-dimensional image 106 together include information describing a single view of a scene.
  • FIG. 2 shows a view 202 of a scene 200 represented by the depth map 104 and two-dimensional image 106 of FIG. 1 , in accordance with the prior art.
  • the view 202 involves a plurality of background objects 204 , at least one of which is occluded by a foreground object 206 .
  • information describing the occluded background object 204 is omitted.
  • the depth map 104 and two-dimensional image 106 are used by the display 108 to generate a first left eye image intended for a left eye (see view 208 ) and a second right eye image intended for a right eye (see view 210 ), such images are often deficient.
  • artifacts are typically introduced due to the fact that such information must be estimated from the single depth map 104 and two-dimensional image 106 .
  • a system, method, and computer program product are provided for generating a plurality of two-dimensional images and a plurality of depth maps for a scene at a point in time.
  • such two-dimensional images and depth maps may be utilized to generate a plurality of images.
  • FIG. 1 shows a stereoscopic display system, in accordance with the prior art.
  • FIG. 2 shows a view of a scene represented by the depth map and two-dimensional image of FIG. 1 , in accordance with the prior art.
  • FIG. 3 shows a method for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment.
  • FIG. 4 shows a system for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment.
  • FIG. 5 shows a plurality of views of a scene represented by multiple two-dimensional images and depth maps, in accordance with one embodiment.
  • FIG. 6 illustrates an exemplary system in which the various architecture and/or functionality of different embodiments may be implemented.
  • FIG. 3 shows a method 300 for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment.
  • a scene is identified. Note operation 302 .
  • such scene may refer to any set of primitives, objects, etc. to be rendered and/or recorded.
  • the scene may include one frame of a video sequence.
  • a plurality of two-dimensional images and depth maps are generated for the scene at a point in time.
  • such two-dimensional images may include any images with at least two-dimensions that are capable of being used, at least in part, to render and/or record the scene.
  • such two-dimensional images may include coordinate (e.g. x, y, z) information, color information, and/or any other image information, for that matter.
  • the aforementioned depth maps may include any data structures that are capable of storing depth-related information which is capable of being used, at least in part, to render and/or record the scene.
  • the depth maps may reflect depth information including a z-coordinate relative to the viewpoint.
  • the depth maps may include disparity maps. Such disparity maps may be generated utilizing a plurality of disparity values. In one embodiment, each disparity value may be calculated utilizing the following formula set forth in Table 1.
  • the maximum disparity refers to a disparity desired for infinitely far objects.
  • the zero separation plane depth refers to a depth at which it is desired to have zero disparity between left and right eye images.
  • the w-value may include a z-coordinate in a coordinate system centered at the view point. More information regarding such disparity maps may be found with reference to a co-pending application filed May 17, 2007 under the title “System, Method, And Computer Program Product For Generating A Disparity Map” and application Ser. No. 11/750,288, which is incorporated herein by reference in its entirety. Again, the foregoing examples of depth maps are set forth illustrative purposes only and should not be construed as limiting in any manner whatsoever, since any depth map data structure may be utilized that meets the above definition.
  • the two-dimensional images and the depth maps may be utilized in any desired manner to render and/or record the scene.
  • the two-dimensional images and the depth maps may be used to generate a plurality of images.
  • such images may each represent a viewpoint.
  • one or more images may be generated which are intended for viewing by a left eye and one or more images may be generated which are intended for viewing by a right eye.
  • a single left eye image may be generated for the left eye and a single right eye image may be generated for the right eye.
  • a single left eye image may be generated for the left eye and a single right eye image may be generated for the right eye.
  • any number of images may be generated representing different viewpoints.
  • additional information may thereby be made available by virtue of the fact that additional images and maps are utilized.
  • the multiple two-dimensional image/depth map pairs may each reflect different views. The use of such additional information may therefore result in a higher-quality stereoscopic viewing.
  • image/map pairs associated with multiple views are used, additional visual information may be afforded which, in turn, may allow appropriate viewing of various objects in the scene that would otherwise be occluded and/or require the use of estimation algorithms (which are inherently deficient).
  • estimation algorithms which are inherently deficient.
  • the two-dimensional images and the depth maps may be utilized to reduce artifacts.
  • use of the foregoing techniques may be utilizing in the context of recording, as well as for rendering purposes, as noted above.
  • FIG. 4 shows a system 400 for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment.
  • the present system 400 may be implemented to carry out the method 300 of FIG. 3 , for example.
  • the system 400 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
  • a processor 402 e.g. a graphics processor, etc.
  • a processor 402 may, in one embodiment, be capable of generating two or more two-dimensional images 404 and two or more depth maps 406 for a scene at a particular point in time.
  • the two-dimensional images 404 and the depth maps 406 are both outputted from the processor 402 in the manner illustrated.
  • depth information associated with the depth map 406 may each be dithered. More information regarding one possible related dithering technique may be found with reference to a co-pending application filed Oct. 17, 2006 under the title “System And Method For Dithering Depth Values” and application Ser. No. 11/550,347, which is incorporated herein by reference in its entirety. It should be also noted that, as yet another option, multiple images 404 and maps 406 may be generated for a plurality of sequential scenes (e.g. in an embodiment where each scene reflects a frame of video, etc.). In yet another embodiment, any redundancy of information among the images 404 and maps 406 of a single scene (e.g. frame, etc.) may be identified and removed, for compression purposes.
  • the two-dimensional images 404 and the depth maps 406 may be passed to a display 408 which may, in turn, use such information for providing a stereoscopic viewing experience.
  • the display 408 may only use the two two-dimensional images as left and right eye images for a stereoscopic display.
  • the display 408 may be used to generate three or more images for multi-view display, again utilizing the two-dimensional images 404 and the depth maps 406 .
  • processor 402 and the display 408 are shown to be separate in FIG. 4 , it should be noted that such components may be integrated as desired.
  • various embodiments may exist where the processor 402 may itself use the two-dimensional images 404 and/or the depth maps 406 to generate the appropriate multi-view images.
  • the processor 402 is shown to calculate and output the two-dimensional images 404 and the depth maps 406 to the display 408 , other embodiments are contemplated where source data may be passed instead, such that the data may be utilized by downstream processes (e.g. at the display 408 ) for use in generating the two-dimensional images 404 and/or the depth maps 406 .
  • FIG. 5 shows a plurality of views of a scene 500 represented by multiple two-dimensional images and depth maps, in accordance with one embodiment.
  • the present views may be represented by the two-dimensional images 404 and the depth maps 406 of FIG. 4 .
  • the views may be relevant in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • the scene 500 involves a plurality of background objects 504 , at least one of which is occluded by a foreground object 506 from the perspective of a center viewpoint.
  • information associated with a first view 508 is represented with a first two-dimensional image/depth map pair
  • information associated with a second view 510 is represented with a second two-dimensional image/depth map pair
  • the first view 508 and second view 510 may represent boundary or constraint views (i.e. the endmost views).
  • a distance D between the first view 508 and second view 510 may be a function of an average distance between a right eye and a left eye of a human.
  • information associated with intermediate views between the first view 508 and second view 510 may be calculated by way of interpolation.
  • a plurality of additional images 512 may be generated by interpolating between information associated with the first two-dimensional image/depth map associated with the first view 508 and the second two-dimensional image/depth map associated with the second view 510 . Note FIG. 5 .
  • the processor 402 may thus generate a minimal number (e.g. two, etc.) of two-dimensional image/depth map pairs, which may be forwarded to the downstream display 408 .
  • the display 408 may thus generate any desired number of images or views by way of interpolation.
  • a minimal amount of processing and bandwidth is required by the processor 402 and intermediate communication channels, respectively (while maximizing quality).
  • the processor 402 is relied upon to generate more two-dimensional image/depth map pairs, for further quality enhancement.
  • the depth maps and two-dimensional images are used by a display to generate a first left eye image intended for a left eye (see view 508 ) and a second right eye image intended for a right eye (see view 510 ), such images are more comprehensive in nature. Specifically, by virtue of the presence of information describing the occluded background object 504 , for example, artifacts are avoided due to the fact that such information need not necessarily be estimated from a single depth map and two-dimensional image.
  • image pairs may be used in conjunction with associated depth maps to generate multiple views.
  • images are those with the greatest disparity, all of the pixels may be present and other views may be extracted without necessarily having to fabricate pixels, as set forth above.
  • FIG. 6 illustrates an exemplary system 600 in which the various architecture and/or functionality of different embodiments may be implemented.
  • the present system 600 may be implemented in the context of the functionality and architecture of FIGS. 1-5 .
  • the system 600 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
  • a system 600 including at least one host processor 601 which is connected to a communication bus 602 .
  • the system 600 also includes a main memory 604 .
  • Control logic (software) and data are stored in the main memory 604 which may take the form of random access memory (RAM).
  • RAM random access memory
  • the system 600 also includes a graphics processor 606 and a display 608 . While one system 600 and display 608 are shown in FIG. 6 , additional displays may be provided in the context of the present system 600 or other systems, as desired, for carrying out the functionality set forth hereinabove.
  • the graphics processor 606 may include a plurality of shader modules, a rasterization module, etc. Each of the foregoing modules may even be situated on a single semiconductor platform to form a graphics processing unit (GPU).
  • a single semiconductor platform may refer to a sole unitary semiconductor-based integrated circuit or chip. It should be noted that the term single semiconductor platform may also refer to multi-chip modules with increased connectivity. Of course, the various modules may also be situated separately or in various combinations of semiconductor platforms per the desires of the user. For example, an embodiment is contemplated where a single-chip computer or game console includes an integrated central processor, graphics processor, etc.
  • the system 600 may also include a secondary storage 610 .
  • the secondary storage 610 includes, for example, a hard disk drive and/or a removable storage drive, representing a floppy disk drive, a magnetic tape drive, a compact disk drive, etc.
  • the removable storage drive reads from and/or writes to a removable storage unit in a well known manner.
  • Computer programs, or computer control logic algorithms may be stored in the main memory 604 and/or the secondary storage 610 . Such computer programs, when executed, enable the system 600 to perform various functions. Memory 604 , storage 610 and/or any other storage are possible examples of computer-readable media.
  • the architecture and/or functionality of the various other figures may be implemented in the context of the host processor 601 , graphics processor 606 , a chipset (i.e. a group of integrated circuits designed to work and sold as a unit for performing related functions, etc.), and/or any other integrated circuit for that matter. Still yet, the architecture and/or functionality of the various figures may be implemented in the context of a general system, a circuit board system, a game console system dedicated for entertainment purposes, an application-specific system, and/or any other desired system.
  • the system 600 may take the form of a desktop computer, lap-top computer, and/or any other type of logic. Still yet, the system 600 may take the form of various other devices including, but not limited to a personal digital assistant (PDA) device, a mobile phone device, a television, etc.
  • PDA personal digital assistant
  • system 600 may be coupled to a network [e.g. a telecommunications network, local area network (LAN), wireless network, wide area network (WAN) such as the Internet, peer-to-peer network, cable network, etc.) for communication purposes.
  • a network e.g. a telecommunications network, local area network (LAN), wireless network, wide area network (WAN) such as the Internet, peer-to-peer network, cable network, etc.

Abstract

A system, method, and computer program product are provided for generating a plurality of two-dimensional images and a plurality of depth maps for a scene at a point in time. In various embodiments, such two-dimensional images and depth maps may be utilized to generate a plurality of images.

Description

FIELD OF THE INVENTION
The present invention relates to display systems, and more particularly to stereoscopic display systems.
BACKGROUND
FIG. 1 shows a stereoscopic display system 100, in accordance with the prior art. As shown, a processor 102 (e.g. a graphics processor, etc.) is provided which communicates with a display 108. During use of such a stereoscopic display system 100, various scene information is required to generate different images intended for viewing by a left and right eye of a viewer. Specifically, such scene information is provided to the display 108 in the form of a depth map 104 and a two-dimensional image 106. Such depth map 104 and two-dimensional image 106 together include information describing a single view of a scene.
FIG. 2 shows a view 202 of a scene 200 represented by the depth map 104 and two-dimensional image 106 of FIG. 1, in accordance with the prior art. As illustrated, the view 202 involves a plurality of background objects 204, at least one of which is occluded by a foreground object 206. As shown, information describing the occluded background object 204 is omitted.
To this end, when the depth map 104 and two-dimensional image 106 are used by the display 108 to generate a first left eye image intended for a left eye (see view 208) and a second right eye image intended for a right eye (see view 210), such images are often deficient. Specifically, by virtue of the lack of information describing the occluded background object 204, artifacts are typically introduced due to the fact that such information must be estimated from the single depth map 104 and two-dimensional image 106.
There is thus a need for addressing these and/or other issues associated with the prior art.
SUMMARY
A system, method, and computer program product are provided for generating a plurality of two-dimensional images and a plurality of depth maps for a scene at a point in time. In various embodiments, such two-dimensional images and depth maps may be utilized to generate a plurality of images.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a stereoscopic display system, in accordance with the prior art.
FIG. 2 shows a view of a scene represented by the depth map and two-dimensional image of FIG. 1, in accordance with the prior art.
FIG. 3 shows a method for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment.
FIG. 4 shows a system for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment.
FIG. 5 shows a plurality of views of a scene represented by multiple two-dimensional images and depth maps, in accordance with one embodiment.
FIG. 6 illustrates an exemplary system in which the various architecture and/or functionality of different embodiments may be implemented.
DETAILED DESCRIPTION
FIG. 3 shows a method 300 for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment. As shown, a scene is identified. Note operation 302. In the context of the present description, such scene may refer to any set of primitives, objects, etc. to be rendered and/or recorded. For example, in one embodiment, the scene may include one frame of a video sequence.
As set forth in operation 304, a plurality of two-dimensional images and depth maps are generated for the scene at a point in time. In the context of the present description, such two-dimensional images may include any images with at least two-dimensions that are capable of being used, at least in part, to render and/or record the scene. In various exemplary embodiments, such two-dimensional images may include coordinate (e.g. x, y, z) information, color information, and/or any other image information, for that matter.
Also in the context of the present description, the aforementioned depth maps may include any data structures that are capable of storing depth-related information which is capable of being used, at least in part, to render and/or record the scene. For example, in one embodiment, the depth maps may reflect depth information including a z-coordinate relative to the viewpoint.
In other embodiments, the depth maps may include disparity maps. Such disparity maps may be generated utilizing a plurality of disparity values. In one embodiment, each disparity value may be calculated utilizing the following formula set forth in Table 1.
TABLE 1
disparity value = maximum disparity * (1 − zero separation plane
depth * (1/w))
In such formula, the maximum disparity refers to a disparity desired for infinitely far objects. Further, the zero separation plane depth refers to a depth at which it is desired to have zero disparity between left and right eye images. Still yet, the w-value may include a z-coordinate in a coordinate system centered at the view point. More information regarding such disparity maps may be found with reference to a co-pending application filed May 17, 2007 under the title “System, Method, And Computer Program Product For Generating A Disparity Map” and application Ser. No. 11/750,288, which is incorporated herein by reference in its entirety. Again, the foregoing examples of depth maps are set forth illustrative purposes only and should not be construed as limiting in any manner whatsoever, since any depth map data structure may be utilized that meets the above definition.
By this design, the two-dimensional images and the depth maps may be utilized in any desired manner to render and/or record the scene. For example, in one exemplary rendering embodiment, the two-dimensional images and the depth maps may be used to generate a plurality of images. In one embodiment, such images may each represent a viewpoint. To this end, one or more images may be generated which are intended for viewing by a left eye and one or more images may be generated which are intended for viewing by a right eye.
In various embodiments, a single left eye image may be generated for the left eye and a single right eye image may be generated for the right eye. Of course, other embodiments are contemplated where any number of images may be generated representing different viewpoints.
In any case, where the two-dimensional images and the depth maps are generated for stereoscopic viewing, additional information may thereby be made available by virtue of the fact that additional images and maps are utilized. For example, in one embodiment, the multiple two-dimensional image/depth map pairs may each reflect different views. The use of such additional information may therefore result in a higher-quality stereoscopic viewing.
Thus, when image/map pairs associated with multiple views are used, additional visual information may be afforded which, in turn, may allow appropriate viewing of various objects in the scene that would otherwise be occluded and/or require the use of estimation algorithms (which are inherently deficient). To this end, the two-dimensional images and the depth maps may be utilized to reduce artifacts. Of course, use of the foregoing techniques may be utilizing in the context of recording, as well as for rendering purposes, as noted above.
More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing framework may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
FIG. 4 shows a system 400 for generating a plurality of two-dimensional images and depth maps, in accordance with one embodiment. As an option, the present system 400 may be implemented to carry out the method 300 of FIG. 3, for example. Of course, however, the system 400 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
As shown, a processor 402 (e.g. a graphics processor, etc.) is provided which may, in one embodiment, be capable of generating two or more two-dimensional images 404 and two or more depth maps 406 for a scene at a particular point in time. To this end, the two-dimensional images 404 and the depth maps 406 are both outputted from the processor 402 in the manner illustrated.
Strictly as an option, depth information associated with the depth map 406 may each be dithered. More information regarding one possible related dithering technique may be found with reference to a co-pending application filed Oct. 17, 2006 under the title “System And Method For Dithering Depth Values” and application Ser. No. 11/550,347, which is incorporated herein by reference in its entirety. It should be also noted that, as yet another option, multiple images 404 and maps 406 may be generated for a plurality of sequential scenes (e.g. in an embodiment where each scene reflects a frame of video, etc.). In yet another embodiment, any redundancy of information among the images 404 and maps 406 of a single scene (e.g. frame, etc.) may be identified and removed, for compression purposes.
By this design, the two-dimensional images 404 and the depth maps 406 may be passed to a display 408 which may, in turn, use such information for providing a stereoscopic viewing experience. Specifically, in one embodiment, the display 408 may only use the two two-dimensional images as left and right eye images for a stereoscopic display. In another embodiment, the display 408 may be used to generate three or more images for multi-view display, again utilizing the two-dimensional images 404 and the depth maps 406.
While the processor 402 and the display 408 are shown to be separate in FIG. 4, it should be noted that such components may be integrated as desired. For example, various embodiments may exist where the processor 402 may itself use the two-dimensional images 404 and/or the depth maps 406 to generate the appropriate multi-view images. Still yet, while the processor 402 is shown to calculate and output the two-dimensional images 404 and the depth maps 406 to the display 408, other embodiments are contemplated where source data may be passed instead, such that the data may be utilized by downstream processes (e.g. at the display 408) for use in generating the two-dimensional images 404 and/or the depth maps 406.
FIG. 5 shows a plurality of views of a scene 500 represented by multiple two-dimensional images and depth maps, in accordance with one embodiment. As an option, the present views may be represented by the two-dimensional images 404 and the depth maps 406 of FIG. 4. Of course, however, the views may be relevant in any desired environment. Again, the aforementioned definitions may apply during the present description.
As illustrated, the scene 500 involves a plurality of background objects 504, at least one of which is occluded by a foreground object 506 from the perspective of a center viewpoint. In use, information associated with a first view 508 is represented with a first two-dimensional image/depth map pair, information associated with a second view 510 is represented with a second two-dimensional image/depth map pair, and so forth. In one embodiment, the first view 508 and second view 510 may represent boundary or constraint views (i.e. the endmost views). In one embodiment, a distance D between the first view 508 and second view 510 may be a function of an average distance between a right eye and a left eye of a human.
By distancing the boundary first view 508 and second view 510 in such manner, information associated with intermediate views between the first view 508 and second view 510 may be calculated by way of interpolation. For instance, a plurality of additional images 512 may be generated by interpolating between information associated with the first two-dimensional image/depth map associated with the first view 508 and the second two-dimensional image/depth map associated with the second view 510. Note FIG. 5.
In the context of the embodiment of FIG. 4, the processor 402 may thus generate a minimal number (e.g. two, etc.) of two-dimensional image/depth map pairs, which may be forwarded to the downstream display 408. The display 408 may thus generate any desired number of images or views by way of interpolation. By this design, a minimal amount of processing and bandwidth is required by the processor 402 and intermediate communication channels, respectively (while maximizing quality). Of course, other embodiments are contemplated where the processor 402 is relied upon to generate more two-dimensional image/depth map pairs, for further quality enhancement.
To this end, when the depth maps and two-dimensional images are used by a display to generate a first left eye image intended for a left eye (see view 508) and a second right eye image intended for a right eye (see view 510), such images are more comprehensive in nature. Specifically, by virtue of the presence of information describing the occluded background object 504, for example, artifacts are avoided due to the fact that such information need not necessarily be estimated from a single depth map and two-dimensional image.
To this end, image pairs may be used in conjunction with associated depth maps to generate multiple views. In embodiments where images are those with the greatest disparity, all of the pixels may be present and other views may be extracted without necessarily having to fabricate pixels, as set forth above.
FIG. 6 illustrates an exemplary system 600 in which the various architecture and/or functionality of different embodiments may be implemented. As an option, the present system 600 may be implemented in the context of the functionality and architecture of FIGS. 1-5. Of course, however, the system 600 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description.
As shown, a system 600 is provided including at least one host processor 601 which is connected to a communication bus 602. The system 600 also includes a main memory 604. Control logic (software) and data are stored in the main memory 604 which may take the form of random access memory (RAM).
The system 600 also includes a graphics processor 606 and a display 608. While one system 600 and display 608 are shown in FIG. 6, additional displays may be provided in the context of the present system 600 or other systems, as desired, for carrying out the functionality set forth hereinabove.
In one embodiment, the graphics processor 606 may include a plurality of shader modules, a rasterization module, etc. Each of the foregoing modules may even be situated on a single semiconductor platform to form a graphics processing unit (GPU). In the present description, a single semiconductor platform may refer to a sole unitary semiconductor-based integrated circuit or chip. It should be noted that the term single semiconductor platform may also refer to multi-chip modules with increased connectivity. Of course, the various modules may also be situated separately or in various combinations of semiconductor platforms per the desires of the user. For example, an embodiment is contemplated where a single-chip computer or game console includes an integrated central processor, graphics processor, etc.
The system 600 may also include a secondary storage 610. The secondary storage 610 includes, for example, a hard disk drive and/or a removable storage drive, representing a floppy disk drive, a magnetic tape drive, a compact disk drive, etc. The removable storage drive reads from and/or writes to a removable storage unit in a well known manner.
Computer programs, or computer control logic algorithms, may be stored in the main memory 604 and/or the secondary storage 610. Such computer programs, when executed, enable the system 600 to perform various functions. Memory 604, storage 610 and/or any other storage are possible examples of computer-readable media.
In various embodiments, the architecture and/or functionality of the various other figures may be implemented in the context of the host processor 601, graphics processor 606, a chipset (i.e. a group of integrated circuits designed to work and sold as a unit for performing related functions, etc.), and/or any other integrated circuit for that matter. Still yet, the architecture and/or functionality of the various figures may be implemented in the context of a general system, a circuit board system, a game console system dedicated for entertainment purposes, an application-specific system, and/or any other desired system. For example, the system 600 may take the form of a desktop computer, lap-top computer, and/or any other type of logic. Still yet, the system 600 may take the form of various other devices including, but not limited to a personal digital assistant (PDA) device, a mobile phone device, a television, etc.
Further, while not shown, the system 600 may be coupled to a network [e.g. a telecommunications network, local area network (LAN), wireless network, wide area network (WAN) such as the Internet, peer-to-peer network, cable network, etc.) for communication purposes.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (22)

What is claimed is:
1. A method, comprising:
identifying a set of primitives to be rendered; and
generating a plurality of two-dimensional images and a plurality of depth maps for a single frame of video associated with the set of primitives to be rendered at a single instant particular point in time such that at least two two-dimensional images and at least two depth maps are generated and output from a processor for the single frame of video associated with the set of primitives to be rendered at the single instant particular point in time;
wherein the at least two two-dimensional images include a maximum disparity for avoiding fabrication of any pixel in the single frame of video, such that all pixels of the single frame of video are present within the at least two two-dimensional images;
wherein a redundancy of information among each pair of the at least two two-dimensional images and the at least two depth maps generated and output for the single frame of video associated with the set of primitives to be rendered at the single instant particular point in time is identified and removed for compression purposes;
wherein the at least two two-dimensional images and the at least two depth maps are passed to a display, and the display generates three or more images for a multi-view display utilizing the at least two two-dimensional images and the at least two depth maps.
2. The method of claim 1, wherein the generating is carried out by the processor that includes a graphics processor.
3. The method of claim 2, wherein the two-dimensional images and the depth maps are passed from the graphics processor to the display.
4. The method of claim 1, wherein the processor includes a graphics processor.
5. The method of claim 1, wherein the three or more images are generated utilizing the display to which the two-dimensional images and the depth maps are passed by the processor that includes a graphics processor.
6. The method of claim 1, wherein the three or more images are generated by interpolating between information associated with a first one of the two-dimensional images and a second one of the two-dimensional images.
7. The method of claim 6, wherein the interpolation involves information associated with at least one of the depth maps.
8. The method of claim 7, wherein the three or more images are generated for the multi-view display by interpolating between the information associated with: the first one of the two-dimensional images and a first one of the depth maps associated with the first one of the two-dimensional images, and the second one of the two-dimensional images and a second one of the depth maps associated with the second one of the two-dimensional images.
9. The method of claim 1, wherein the two-dimensional images and the depth maps are generated for a plurality of sequential scenes, each of the scenes comprising a different portion of the set of primitives to be rendered.
10. The method of claim 1, wherein the depth maps include disparity maps.
11. The method of claim 1, wherein the depth maps include depth information from a z-buffer.
12. The method of claim 1, wherein the two-dimensional images and the depth maps are generated for recording purposes.
13. The method of claim 1, wherein the two-dimensional images and the depth maps are utilized to reduce artifacts during the multi-view display.
14. The method of claim 1, and further comprising dithering information associated with at least one of the depth maps.
15. The method of claim 1, wherein the at least two two-dimensional images include a single left eye image generated for a left eye and a single right eye image generated for a right eye.
16. The method of claim 1, wherein each pair of the at least two two-dimensional images and the at least two depth maps represent different views such that information associated with a first view is represented with a first two-dimensional image and depth map pair, and information associated with a second view is represented with a second two-dimensional image and depth map pair.
17. The method of claim 16, wherein the single frame of video associated with the set of primitives to be rendered at the single instant particular point in time includes a background object which is occluded by a foreground object from a perspective of a center viewpoint, the perspective of the center viewpoint located between the first view represented with the first two-dimensional image and depth map pair and the second view represented with the second two-dimensional image and depth map pair.
18. The method of claim 17, wherein the first view represented with the first two-dimensional image and depth map pair and the second view represented with the second two-dimensional image and depth map pair each represent a boundary, and a distance between the first view and the second view is a function of an average distance between a right eye and a left eye of a human.
19. The method of claim 1, wherein a subsequent utilization of the at least two two-dimensional images and the at least two depth maps during generation of a stereoscopic view prevents a use of any estimation algorithm during the generation of the stereoscopic view.
20. A computer program product embodied on a non-transitory computer readable medium, comprising:
computer code for identifying a set of primitives to be rendered; and
computer code for generating a plurality of two-dimensional images and a plurality of depth maps for a single frame of video associated with the set of primitives to be rendered at a single instant particular point in time such that at least two two-dimensional images and at least two depth maps are generated and output from a processor for the single frame of video associated with the set of primitives to be rendered at the single instant particular point in time;
wherein the at least two two-dimensional images include a maximum disparity for avoiding fabrication of any pixel in the single frame of video, such that all pixels of the single frame of video are present within the at least two two-dimensional images;
wherein the computer program product is operable such that a redundancy of information among each pair of the at least two two-dimensional images and the at least two depth maps generated and output for the single frame of video associated with the set of primitives to be rendered at the single instant particular point in time is identified and removed for compression purposes;
wherein the computer program product is operable such that the at least two two-dimensional images and the at least two depth maps are passed to a display, and the display generates three or more images for a multi-view display utilizing the at least two two-dimensional images and the at least two depth maps.
21. An apparatus, comprising:
a processor for generating a plurality of two-dimensional images and a plurality of depth maps for a single frame of video associated with a set of primitives to be rendered at a single instant particular point in time such that at least two two-dimensional images and at least two depth maps are generated and output from the processor for the single frame of video associated with the set of primitives to be rendered at the single instant particular point in time;
wherein the at least two two-dimensional images include a maximum disparity for avoiding fabrication of any pixel in the single frame of video, such that all pixels of the single frame of video are present within the at least two two-dimensional images;
wherein the apparatus is operable such that a redundancy of information among each pair of the at least two two-dimensional images and the at least two depth maps generated and output for the single frame of video associated with the set of primitives to be rendered at the single instant particular point in time is identified and removed for compression purposes;
wherein the apparatus is operable such that the at least two two-dimensional images and the at least two depth maps are passed to a display, and the display generates three or more images for a multi-view display utilizing the at least two two-dimensional images and the at least two depth maps.
22. The apparatus of claim 21, wherein the processor is in communication with memory and a display via a bus.
US11/765,382 2007-06-19 2007-06-19 System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time Active 2030-04-20 US8558832B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/765,382 US8558832B1 (en) 2007-06-19 2007-06-19 System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/765,382 US8558832B1 (en) 2007-06-19 2007-06-19 System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time

Publications (1)

Publication Number Publication Date
US8558832B1 true US8558832B1 (en) 2013-10-15

Family

ID=49321497

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/765,382 Active 2030-04-20 US8558832B1 (en) 2007-06-19 2007-06-19 System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time

Country Status (1)

Country Link
US (1) US8558832B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130051673A1 (en) * 2011-08-24 2013-02-28 Sony Mobile Communications Ab Portable electronic and method of processing a series of frames
US20130278597A1 (en) * 2012-04-20 2013-10-24 Total 3rd Dimension Systems, Inc. Systems and methods for real-time conversion of video into three-dimensions
US9373190B2 (en) * 2014-07-09 2016-06-21 Google Inc. High-quality stereo reconstruction featuring depth map alignment and outlier identification
US20190035099A1 (en) * 2017-07-27 2019-01-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11348269B1 (en) 2017-07-27 2022-05-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11961252B1 (en) * 2023-02-09 2024-04-16 AI Incorporated Method and apparatus for combining data to construct a floor plan

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111979A (en) * 1996-04-23 2000-08-29 Nec Corporation System for encoding/decoding three-dimensional images with efficient compression of image data
US6456433B1 (en) * 1996-10-04 2002-09-24 Charles W. Jones Stereographic book
US6487304B1 (en) * 1999-06-16 2002-11-26 Microsoft Corporation Multi-view approach to motion and stereo
US20030035001A1 (en) * 2001-08-15 2003-02-20 Van Geest Bartolomeus Wilhelmus Damianus 3D video conferencing
US6614444B1 (en) * 1998-08-20 2003-09-02 Apple Computer, Inc. Apparatus and method for fragment operations in a 3D-graphics pipeline
US20050190180A1 (en) * 2004-02-27 2005-09-01 Eastman Kodak Company Stereoscopic display system with flexible rendering of disparity map according to the stereoscopic fusing capability of the observer
US20060066612A1 (en) * 2004-09-23 2006-03-30 Herb Yang Method and system for real time image rendering
US20100165077A1 (en) * 2005-10-19 2010-07-01 Peng Yin Multi-View Video Coding Using Scalable Video Coding
US8111906B2 (en) * 2005-06-30 2012-02-07 Samsung Mobile Display Co., Ltd. Stereoscopic image display device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111979A (en) * 1996-04-23 2000-08-29 Nec Corporation System for encoding/decoding three-dimensional images with efficient compression of image data
US6456433B1 (en) * 1996-10-04 2002-09-24 Charles W. Jones Stereographic book
US6614444B1 (en) * 1998-08-20 2003-09-02 Apple Computer, Inc. Apparatus and method for fragment operations in a 3D-graphics pipeline
US6487304B1 (en) * 1999-06-16 2002-11-26 Microsoft Corporation Multi-view approach to motion and stereo
US20030035001A1 (en) * 2001-08-15 2003-02-20 Van Geest Bartolomeus Wilhelmus Damianus 3D video conferencing
US20050190180A1 (en) * 2004-02-27 2005-09-01 Eastman Kodak Company Stereoscopic display system with flexible rendering of disparity map according to the stereoscopic fusing capability of the observer
US20060066612A1 (en) * 2004-09-23 2006-03-30 Herb Yang Method and system for real time image rendering
US8111906B2 (en) * 2005-06-30 2012-02-07 Samsung Mobile Display Co., Ltd. Stereoscopic image display device
US20100165077A1 (en) * 2005-10-19 2010-07-01 Peng Yin Multi-View Video Coding Using Scalable Video Coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
U.S. Appl. No. 11/550,347, filed Oct. 17, 2006.
U.S. Appl. No. 11/750,288, filed May 17, 2007.

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130051673A1 (en) * 2011-08-24 2013-02-28 Sony Mobile Communications Ab Portable electronic and method of processing a series of frames
US8818097B2 (en) * 2011-08-24 2014-08-26 Sony Corporation Portable electronic and method of processing a series of frames
US20130278597A1 (en) * 2012-04-20 2013-10-24 Total 3rd Dimension Systems, Inc. Systems and methods for real-time conversion of video into three-dimensions
US9384581B2 (en) * 2012-04-20 2016-07-05 Affirmation, Llc Systems and methods for real-time conversion of video into three-dimensions
US9373190B2 (en) * 2014-07-09 2016-06-21 Google Inc. High-quality stereo reconstruction featuring depth map alignment and outlier identification
US20190035099A1 (en) * 2017-07-27 2019-01-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
US10482619B2 (en) * 2017-07-27 2019-11-19 AI Incorporated Method and apparatus for combining data to construct a floor plan
US10740920B1 (en) 2017-07-27 2020-08-11 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11348269B1 (en) 2017-07-27 2022-05-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11481918B1 (en) * 2017-07-27 2022-10-25 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11657531B1 (en) * 2017-07-27 2023-05-23 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11961252B1 (en) * 2023-02-09 2024-04-16 AI Incorporated Method and apparatus for combining data to construct a floor plan

Similar Documents

Publication Publication Date Title
US10403032B2 (en) Rendering an image from computer graphics using two rendering computing devices
US9159135B2 (en) Systems, methods, and computer program products for low-latency warping of a depth map
KR101697184B1 (en) Apparatus and Method for generating mesh, and apparatus and method for processing image
US7982733B2 (en) Rendering 3D video images on a stereo-enabled display
US10935788B2 (en) Hybrid virtual 3D rendering approach to stereovision
US20140232820A1 (en) Real-time automatic conversion of 2-dimensional images or video to 3-dimensional stereo images or video
KR102412242B1 (en) Image processing apparatus, method and storage medium
US20120256906A1 (en) System and method to render 3d images from a 2d source
US8558832B1 (en) System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time
US11528538B2 (en) Streaming volumetric and non-volumetric video
US11227449B2 (en) Image rendering method and apparatus employing flexible scale rasterization
US11069026B2 (en) Method for processing projection-based frame that includes projection faces packed in cube-based projection layout with padding
JP7371691B2 (en) Point cloud encoding using homography transformation
US20130329985A1 (en) Generating a three-dimensional image
Plath et al. Adaptive image warping for hole prevention in 3D view synthesis
Horng et al. VLSI architecture for real-time HD1080p view synthesis engine
WO2014171066A1 (en) Three-dimensional image display system, server for three-dimensional image display system, and three-dimensional image display method
US20220108420A1 (en) Method and system of efficient image rendering for near-eye light field displays
US10931927B2 (en) Method and system for re-projection for multiple-view displays
US20200314407A1 (en) Image data transmission method, content processing apparatus, head-mounted display, relay apparatus and content processing system
Ruijters et al. IGLANCE: transmission to medical high definition autostereoscopic displays
US8842114B1 (en) System, method, and computer program product for adjusting a depth of displayed objects within a region of a display
JP7365185B2 (en) Image data transmission method, content processing device, head mounted display, relay device, and content processing system
KR20060114708A (en) Method and scaling unit for scaling a three-dimensional model
US8482574B2 (en) System, method, and computer program product for calculating statistics associated with a surface to be rendered utilizing a graphics processor

Legal Events

Date Code Title Description
AS Assignment

Owner name: NVIDIA CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:COOK, DAVID ROBERT;SLAVENBURG, GERRIT A.;GOSTRENKO, VIATCHESLAV V.;SIGNING DATES FROM 20070615 TO 20070618;REEL/FRAME:019453/0158

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8