US20160065948A1 - Methods, systems, and computer program products for creating three-dimensional video sequences - Google Patents

Methods, systems, and computer program products for creating three-dimensional video sequences Download PDF

Info

Publication number
US20160065948A1
US20160065948A1 US14/935,899 US201514935899A US2016065948A1 US 20160065948 A1 US20160065948 A1 US 20160065948A1 US 201514935899 A US201514935899 A US 201514935899A US 2016065948 A1 US2016065948 A1 US 2016065948A1
Authority
US
United States
Prior art keywords
frames
depth
objects
scene
static
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/935,899
Inventor
Michael McNamer
Tassos Markas
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.)
3DMedia Corp
Original Assignee
3DMedia 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 3DMedia Corp filed Critical 3DMedia Corp
Priority to US14/935,899 priority Critical patent/US20160065948A1/en
Publication of US20160065948A1 publication Critical patent/US20160065948A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • H04N13/0296
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • G06T7/0042
    • G06T7/0065
    • G06T7/0081
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • H04N13/0022
    • H04N13/0207
    • H04N13/0257
    • 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/128Adjusting depth or disparity
    • 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/15Processing image signals for colour aspects of 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/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Definitions

  • the subject matter disclosed herein relates to generating a video sequence of a scene.
  • the subject matter disclosed herein relates to methods, systems, and computer program products for using a two-dimensional video sequence of a scene to create a three-dimensional video sequence of the scene.
  • Video is a sequence of captured images (or frames), each of which, when combined with camera displacement, can record the same object(s) or new objects from slightly different angles.
  • the captured sequence can then be transferred to a processor that may assign the captured sequence as the view for one eye (i.e., left or right eye), may analyze the individual frames and possibly interpolate additional frames/frame views, and may, for each frame generate a corresponding view for the other eye.
  • the two resulting video sequences may then be combined to create a three-dimensional video sequence.
  • the resulting three-dimensional video sequence can further be encoded using, but not limited, to one of the popular video encoding formats such as motion JPEG, MPEG, H.264, and the like.
  • the video sequence can further be stored with audio to a digital media using a format such as, but not limited to, .avi, .mpg, and the like.
  • display devices have recently been developed that are well-suited for displaying stereoscopic images and videos.
  • display devices include, but are not limited to, digital still cameras, personal computers, digital picture frames, set-top boxes, high-definition televisions (HDTVs), and the like.
  • digital image capture devices such as, but not limited to, digital still cameras, digital camcorders (or video cameras), and phones with built-in cameras, for use in capturing digital images has become widespread and popular.
  • video sequenced captured using these devices are stored in a digital format, such video can be easily distributed and edited.
  • the videos can be easily distributed over networks, such as the Internet.
  • the videos can be edited by use of suitable software on the image capture device or a personal computer.
  • Video sequences captured using conventional single lens, single sensor image capture devices are inherently two-dimensional. While dual lens/sensor combinations can be used to create three-dimensional content, it is desirable to provide methods and systems for using these conventional devices for generating three-dimensional videos.
  • inventions of the presently disclosed subject matter can include a method that uses a processor and memory for receiving a two-dimensional video sequence of a scene.
  • the two-dimensional video sequence can include multiple frames.
  • the method may also include selecting a target frame, T, from among the multiple frames.
  • the method may include selecting a first subset of frames representative of a large camera displacement, N, from among the multiple frames that are associated with the target frame T.
  • the method may also include analyzing the first subset of frames to identify two images for use in forming a stereoscopic pair of frames with a predetermined spatial difference.
  • the method may include extracting depth data of static objects in the stereoscopic pair of frames.
  • the method may also include selecting a second subset of frames representative of a small camera displacement, n (n ⁇ N), from among the multiple frames that are associated with T.
  • the method may include utilizing the second subset of frames to calculate depth of moving objects.
  • the method may also include combining the static and moving objects based on the depth data. Further, the method may include generating a three-dimensional video frame corresponding to the target frame based on the depth data.
  • FIG. 1 is a front view of a user holding a camera and moving the camera for creating an initial panning sequence of a scene in accordance with embodiments of the present subject matter;
  • FIG. 2 is a diagram depicting a top view of an example panning sequence that may be implemented by use of an image capture device in accordance with embodiments of the present subject matter;
  • FIG. 3 is a block diagram of an example image capture device including an image sensor and a lens for use in capturing a two-dimensional video sequence of a scene according to embodiments of the presently disclosed subject matter;
  • FIGS. 4A and 4B depict a flow chart of an example method for creating a three-dimensional video sequence of a scene using the image capture device, alone or together with any other suitable device, in accordance with embodiments of the present disclosure
  • FIGS. 5A and 5B depict a flow chart of an example method for creating a three-dimensional video sequence of a scene in accordance with embodiments of the present subject matter
  • FIG. 6 is an example method for depth creation according to an embodiment of the present subject matter
  • FIG. 7 is a flow chart of an exemplary method for depth creation using a macro-stereo based technique according to an embodiment of the present subject matter
  • FIG. 8 is a flow chart of an example method for depth creation using a micro-stereo based technique according to an embodiment of the present subject matter
  • FIG. 9 is a diagram showing depth calculation using a micro-based technique in accordance with an embodiment of the present subject matter.
  • FIG. 10 illustrates diagrams of a micro stereo based technique using frame-by-frame analysis in accordance with an embodiment of the present subject matter.
  • FIG. 11 illustrates an exemplary environment for implementing various aspects of the subject matter disclosed herein.
  • a method includes receiving a two-dimensional video sequence of a scene.
  • a camera or other image capture device may capture the two-dimensional video sequence.
  • the two-dimensional video sequence can include a plurality of frames.
  • the method also includes selecting a target frame from among the plurality of frames. Further, the method includes selecting a subset of frames from among the plurality of frames that are associated with the target frame.
  • the method also includes determining a depth of the scene based on the target frame and the subset of frames. Further, the method includes generating a three-dimensional video frame corresponding to the target frame and based on the determined depth.
  • Embodiments of the present subject matter relate to an image capture device, such as a camera, that allows a user to capture a two-dimensional video sequence or use a stored two-dimensional video sequence for generating a three-dimensional video sequence based on the two-dimensional video sequence.
  • the functions disclosed herein can be implemented in hardware, software, and/or firmware that can be executed within the image capture device.
  • Example image capture devices include, but are not limited to, a digital still camera, a video camera (or camcorder), a personal computer, a digital picture frame, a set-top box, an HDTV, a phone, and the like.
  • a method can include use of macro stereo base-techniques (i.e., utilizing two or more frames captured at a large horizontal displacement of the capture device in the original video sequence) to create a very accurate representation of the background and the non-moving objects on the scene. Further, the method can include the use of micro stereo base techniques (i.e., utilizing two or more frames captured at a small horizontal displacement of the capture device in the original video sequence) to create a very accurate representation of close as well as moving objects. Such three-dimensional video sequences can be viewed or displayed on a suitable stereoscopic display.
  • the functions and methods described herein can be implemented on an image capture device capable of capturing still images and executing computer executable instructions or computer readable program code on a processor.
  • the image capture device may be, for example, a digital still camera, a video camera (or camcorder), a personal computer, a digital picture frame, a set-top box, an HDTV, a phone, or the like.
  • the functions of the image capture device may include methods for selecting video segments, creating corresponding views for each image in the sequence, rectifying and registering at least two views, matching the color and edges of the views, performing stabilization of the sequence, altering the perceived depth of objects, and display-specific transformation to create a single, high-quality three-dimensional video sequence.
  • Image capture devices as disclosed herein may be utilized in various types of shooting modes for capturing a video sequence.
  • a video camera may remain static.
  • the video camera may be mounted on a tripod or otherwise kept stationary during image capture.
  • a user may control the video camera to capture images of an event that is fully or partially contained within a fixed field of view of the video camera.
  • the video camera may pan left, right, or another suitable direction for capturing panoramic scenery of the event.
  • a user may hold the camera during use of the camera to capture images of an event.
  • the event may be fully or partially contained within a fixed field of view of the camera.
  • the camera may not be kept perfectly static in this example, because it can be difficult for someone holding the camera to keep it still. In this case, there may be some vertical and/or horizontal movement even if anti-shaking techniques are implemented on the camera.
  • a user may pan the camera or move in various directions to either follow an object that is moving from the camera's field of view, or to refocus on a different object within the same field of view.
  • the panning movement may be a parallel and/or rotating movement of the camera.
  • a method may include utilizing macro stereo base techniques to estimate depth when there is a significant movement of the camera.
  • the results from the micro stereo base techniques may be further used in conjunction with the macro stereo base results to estimate the depth of a scene when the movement of the camera is very small.
  • a first step in creation of a stereoscopic sequence is to define an initial three-dimensional representation of a scene or environment.
  • moving objects may be identified. A depth of the moving objects can be estimated. Further, the objects may subsequently be placed a suitable depth in the previously constructed scene.
  • the moving objects may be tracked while they are moving into the scene, and the location of the objects may be adjusted accordingly.
  • Other objects may enter the field of view, or other static objects may appear on the scene as a result of camera panning. These other objects may also be detected and incorporated at a suitable depth into the scene.
  • FIG. 1 illustrates a front view of a user 100 holding a camera 102 and moving the camera 102 for creating an initial panning sequence of a scene (not shown) in accordance with embodiments of the present subject matter.
  • a method of creating a three-dimensional video sequence of the scene may include creating a panning sequence of the scene by having a user move the camera in any direction (e.g., generally to the right or left). In this example, the user 100 is moving the camera 102 to his right as indicated by the direction arrow 104 . Alternatively, the user 100 may move the camera 102 to his left or any other suitable direction. As the camera 102 is moved, the camera 102 may capture a two-dimensional video sequence of the scene.
  • the two-dimensional video sequence may include multiple frames of images.
  • the user 100 can keep the camera 102 on the same field of view to continue capturing a moving object that remains in the same place (i.e., a person talking), or the user 100 can move the camera 102 to re-center to either a different object, or to a new object entering or leaving the field of view.
  • the captured video sequence which can be a combination of the previously described shooting techniques, may be used for creating a three-dimensional video sequence in accordance with embodiments described herein.
  • FIG. 2 illustrates a diagram depicting a top view of an example panning sequence that may be implemented by use of an image capture device 200 in accordance with embodiments of the present subject matter.
  • the image capture device 200 is a camera positioned for capturing images of a background 202 of a scene.
  • Objects 204 and 206 are positioned in a foreground area of the scene. In these positions, images of the objects 204 and 206 are also captured by the device 200 .
  • the device 200 is moved or panned between a position generally referenced as 208 , where the device 200 is depicted by solid lines, and a position generally referenced as 210 , where the device 200 is depicted by broken lines.
  • the device 200 captures and stores a two-dimensional video sequence of the scene.
  • the device 200 captures one or more images of a field of view defined by lines 212 and 214 , which contains segments 216 through 218 of the background 202 of the scene, as well as images of the object 204 and part of the object 206 .
  • the device 200 captures one or more images of a field of view defined by lines 220 and 222 , which contains segments 224 through 226 of the background 202 of the scene, as well an image of the object 206 .
  • FIG. 3 illustrates a block diagram of an example image capture device 300 including an image sensor 302 and a lens 304 for use in capturing a two-dimensional video sequence of a scene according to embodiments of the presently disclosed subject matter.
  • the image capture device 300 may include a video generator 306 configured to create three-dimensional video sequences in accordance with embodiments of the presently disclosed subject matter.
  • the image capture device 302 is capable of capturing a digital camera digital video of a scene.
  • the image sensor 302 and lens 304 may operate to capture multiple consecutive still digital images of the scene.
  • the image capture device 300 may be a video camera capable of capturing a video sequence including multiple still images of a scene.
  • a user of the image capture device 300 may position the system in different positions for capturing images of different perspective views of a scene.
  • the captured images may be suitably stored and processed for creating a three-dimensional video sequence of the scene as described herein.
  • the image capture device 300 may use the images for creating a three-dimensional video sequence of the scene and for displaying the three-dimensional video sequence to the user.
  • the image sensor 302 may include an array of charge coupled device (CCD) or CMOS sensors.
  • the image sensor 302 may be exposed to a scene through the lens 304 and a respective exposure control mechanism.
  • the video generator 306 may include analog and digital circuitry such as, but not limited to, a memory 308 for storing computer readable program code including computer readable code that controls the image capture device 300 , together with at least one CPU 310 , in accordance with embodiments of the presently disclosed subject matter.
  • the CPU 310 executes the computer readable code so as to cause the image capture device 300 to expose the image sensor 302 to a scene and derive digital images corresponding to the scene.
  • the digital images may be captured and stored in the memory 308 .
  • All or a portion of the memory 308 may be removable, so as to facilitate transfer of the digital images to other devices such as the computer 306 .
  • the image capture device 300 may be provided with an input/output (I/O) interface 312 so as to facilitate transfer of digital image even if the memory 308 is not removable.
  • the image capture device 300 may also include a display 314 controllable by the CPU 310 and operable to display the captured images in real-time for real-time viewing by a user.
  • the display 314 may also be controlled for displaying the three-dimensional video sequences created in accordance with embodiments of the present subject matter.
  • the memory 308 and the CPU 310 may be operable together to implement the video generator 306 for performing image processing including generation of three-dimensional images in accordance with embodiments of the presently disclosed subject matter.
  • the video generator 306 may control the image sensor 302 and the lens 304 for capturing a two-dimensional video sequence of a scene.
  • the video sequence may include multiple frames.
  • the video generator 306 may further process the images and generate a three-dimensional video sequence of the scene as described herein.
  • FIGS. 4A and 4B illustrate a flow chart of an example method for creating a three-dimensional video sequence of a scene using the image capture device 300 , alone or together with any other suitable device, in accordance with embodiments of the present disclosure. Referring to FIGS.
  • the method includes using 400 an image capture device to capture a two-dimensional video sequence of a scene.
  • the video generator 306 shown in FIG. 3 may control the image sensor 302 and the lens 304 to capture a two-dimensional video sequence of a scene.
  • the captured video sequence may include images of the same or different perspective views of the scene.
  • the CPU 310 may then implement computer readable code stored in the memory 308 for receiving and storing the captured video sequence in the memory 308 .
  • the method of FIGS. 4A and 4B includes selecting 402 a target frame from among frames of the captured video sequence.
  • the video generator 306 may select a target frame T from among multiple frames captured by the image sensor 302 and the lens 304 .
  • the method of FIGS. 4A and 4B includes selecting 404 a first subset of frames, N, from among the plurality of frames that are associated with the target frame TN represents a desired macro stereo base offset of camera position from the position related to the target frame T, as measured by camera pose information gathered from the sequence or by camera positional sensor data.
  • 4A and 4B includes analyzing 406 the first subset of frames to identify two images or frames for use in forming a stereoscopic pair of frames representative of the desired macro stereo baseline (predetermined spatial displacement of the capture device).
  • the video generator 306 may analyze the first subset of frames for identifying the two images or frames.
  • the predetermined spatial difference may be such that the two images provide an optimal viewing of the scene.
  • the method of FIGS. 4A and 4B includes extracting 408 depth data of static objects via measurement of their pixel disparities in the stereoscopic pair of frames.
  • the video generator 306 may extract depth data of static objects in the stereoscopic pair of frames.
  • the method of FIGS. 4A and 4B includes selecting 410 a second subset of frames, n, from among the plurality of frames, N, that are representative of a substantially smaller stereo baseline separation of camera positions than is N.
  • the video generator 306 may select a second subset of frames from among multiple captured frames that are associated with the sequence of frames, N.
  • the method of FIGS. 4A and 4B includes utilizing 412 the second subset of frames, n, to measure small disparities of and construct depth data for moving objects.
  • the video generator 306 may utilize the second subset of frames to calculate depth data of moving objects.
  • the method of FIGS. 4A and 4B includes combining 414 the static and moving objects based on the depth data. For each image, image warping techniques may be used, along with the two-dimensional capture data, to generate a suitable second view for a stereo pair. For example, the video generator 306 may combine the static and moving objects based on the depth data.
  • the method of FIGS. 4A and 4B includes generating 416 a three-dimensional video frame corresponding to the target frame based on the depth data.
  • the video generator 306 may generate a three-dimensional video frame corresponding to the target frame based on the depth data.
  • the method of FIGS. 4A and 4B may include one or more steps of identifying suitable frames, registration, stabilization, color correction, transformation, and depth adjustment. Further, the method may include generating one or more additional frames and frame viewpoints using one of existing raster data and depth information. Further, the method may include using a micro or macro stereo based technique for generating image representations of close and moving objects of the scene.
  • a display such as the display 314 or a display of the computer 306 , may display multiple three-dimensional video frames in a sequence.
  • FIGS. 5A and 5B illustrate a flow chart of an example method for creating a three-dimensional video sequence of a scene in accordance with embodiments of the present subject matter.
  • the example method of FIGS. 5A and 5B may be implemented by any suitable image capture device, such as the image capture device 300 shown in FIG. 3 .
  • the video generator 306 shown in FIG. 3 may control components of the image capture device 300 to implement the steps of the method of FIGS. 5A and 5B .
  • the method includes segmenting 500 a video stream into panning sequences based on camera motion.
  • such segmenting may include identifying instances in which a camera pans horizontally or vertically, instances in which the camera is still, combinations of these, and the like.
  • Each instance of horizontal panning may represent an instance of a macro stereo base, while still instances and instances dominated by only vertical motion may utilize micro stereo base.
  • Sequences can be divided by utilizing a combination of a scene change detection technique and camera pose information.
  • Camera pose can be generated using any combination of any suitable on-board motion sensor data and suitable computer vision techniques that utilize camera calibrations matrices.
  • processing for each panning sequence is implemented as shown in FIGS. 5A and 5B .
  • the processing of each panning sequence begins at step 502 .
  • a subset of frames, N representing a desired horizontal displacement of the capture device, herein referred to as the macro stereo base can be identified.
  • a lesser value may be used, provided it is representative of a macro stereo base, typically representing a distance at least as wide as typical human eye separation (6-7 cm), and preferably longer. Measurement of this displacement can be performed using either analysis of camera pose or using positional sensor data from the camera.
  • processing for each video frame in the panning sequence is implemented in a process which begins at step 504 .
  • the resulting video segment can be used to create an accurate depth representation of the scene (step 506 ).
  • the accuracy of these measurements may be further enhanced via interpolation (upsampling) of intermediate frame data, if needed.
  • the captured video sequence can be partitioned in panning sequences that are processed separately (e.g., beginning at step 502 ).
  • a new panning sequence can be defined when there is a significant or predetermined change on the rate at which the video sequence is captured (e.g., camera is panning, remaining static, accelerating/decelerating in one direction, and the like) and/or a significant change in the contents of the scene (e.g., objects passing into or out of view).
  • the individual frames can be processed to determine the depth of the objects.
  • object segmentation can be performed to identify static and moving objects.
  • Extraction of the depth information can be a two-step process.
  • macro stereo base techniques can be used to identify depth of static objects.
  • micro stereo base techniques can be used to identify the depth of moving objects.
  • FIG. 6 illustrates an example method for depth creation according to an embodiment of the present subject matter.
  • the method includes segmenting video frames to moving and static objects (step 600 ).
  • the method includes using macro-stereo base techniques to estimate a depth of the static objects.
  • the method may include estimating the camera movement.
  • the method includes using micro stereo base techniques to estimate depth of moving objects.
  • the method includes combining the estimated depths from the micro- and macro-stereo base techniques to create a depth map of a video frame.
  • the method includes identifying ideal stereo based of static objects (step 700 ), which selects the subset of frames, N, from the current panning sequence of frames (step 702 ). Further, the method includes registering the selected frames (step 704 ) and calculating disparity (step 706 ). The method also includes assigning depth on static objects (step 708 ).
  • the initial panning sequence may include of collection of frames that are taking at different locations. Each symmetric pair of such collection can create a stereoscopic representation of static objects or subjects on the scene at different depths.
  • Objects that are relatively far from the capture device may require a larger stereo base (defined herein as a macro stereo base) to accurately estimate depth of the objects.
  • a larger stereo base defined herein as a macro stereo base
  • N frames may have been captured between positions 208 and 210 of the image capture device 200 .
  • Each pair of those frames around the center of the 208 and 210 positions can form a stereoscopic pair of different stereo base and therefore a different depth perception.
  • image capture device positions between positions 208 and 210 moves laterally without toeing out. Based on the example of FIG.
  • FIG. 7 illustrates a flow chart of an exemplary method for depth creation using a macro-stereo based technique according to an embodiment of the present subject matter.
  • measurement of the depth of individual objects may be accomplished by analyzing image pairs at an interval N, such that the interval is representative of a target stereo baseline, or by maintaining depth values of those same objects in the case that the capture device is no longer being displaced (between panning sequences).
  • Image pairs are registered and processed by use of suitable techniques.
  • This macro-stereo base technique may allow identification of disparities of, and assign depth to, static objects in the scene.
  • a dense disparity map may be generated, producing a disparity result (and hence, a depth estimate) for each pixel in the frame.
  • techniques using feature detection and tracking can be used to generate only a sparse disparity map for a subset of pixels. Additionally, moving objects may be identified and ignored during this process.
  • the method may include a small stereo baseline (micro-stereo) analysis to calculate depth of moving objects and near objects for which disparity techniques are weak at larger stereo baselines (e.g., step 504 ).
  • a small stereo baseline micro-stereo
  • the movement of the camera may be computed to increase the accuracy of the micro-stereo analysis since it relies on small camera movements (step 603 of FIG. 6 ).
  • camera movement can be recorded via a suitable module such as, but not limited to, a gyroscopic sensor residing in the camera.
  • a suitable module such as, but not limited to, a gyroscopic sensor residing in the camera.
  • Another method of identifying the positioning of the camera includes analyzing two frames, identifying key points in both frames, rectifying and extracting the fundamental matrix relationship, and combining with camera parameters (focal length and the like) to generate the projective camera matrices for each position.
  • Analysis of the motion vectors of each pixel within the context of object segmentation can provide detailed information of the depth of a scene. Analysis of motion vectors of static objects, due to camera movement, can detect the movement of an image capture device. If an object is at the same depth, motion vectors of that object can accurately detect the lateral (horizontal and/or vertical movement of the camera). If parts of an object reside in various depths, the motion vectors of the individual pixels can accurately detect the rotational movement of the image capture device.
  • FIG. 8 illustrates a flow chart of an example method for depth creation using a micro-stereo based technique according to an embodiment of the present subject matter. This may be accomplished by analyzing image pairs at an interval M, such that M ⁇ N. The value of n may be the equivalent of the motion incurred in panning for 1/60 to 1/15 of a second. Each pair of images may again be registered and processed with suitable techniques. Disparities of objects in the scene that may have been previously recognized as moving or non-static can be measured using the same general techniques and again, depths can be assigned.
  • the method includes analyzing video frames between 1 and n, where n is less than N (step 800 ).
  • the method also includes selecting two video frames of distance n to match stereo base (step 802 ). Further, the method includes registering the selected frames (step 804 ).
  • the method also includes calculating disparity (step 806 ) and assigning depth of close objects and objects identified as moving (step 808 ).
  • FIG. 9 illustrates a diagram showing depth calculation using a micro-based technique in accordance with an embodiment of the present subject matter.
  • a scene including a background area generally designated 900 a moving object 902 (person), a static object 904 (window), and another static object 906 (base) is captured using a camera.
  • a moving object 902 person
  • a static object 904 window
  • base another static object 906
  • the objects captured in the first frame 908 are designated by “a” (e.g., objects 902 a , 904 a , and 906 a ), and the object captured in the second frame 910 are designated by “b” (e.g., objects 902 b , 904 b , and 906 b ).
  • the disparity between the moving object 902 a , 902 b in the frames 908 and 910 is indicated by Dm
  • the disparity between the static object 904 a , 904 b in the frames 908 and 910 , which is further in the back in the background 900 is indicated by Dw
  • Dv the disparity between the static object 904 a , 904 b is indicated by Dv.
  • Dm Dv ⁇ Dw.
  • a smaller stereo base technique can be used for the depth analysis.
  • two frames 912 and 914 that are close in time are examined (t and t+h, where h is much smaller than H).
  • the movement of the object 902 a , 902 b is very small and conceptually static.
  • motion estimation techniques may be used to compensate for the motion of the moving object. By disabling any motion stabilization capabilities inside the camera, there can be some natural micro-stereo based because of handshaking and this can result in movement of the camera from positions 916 to 918 of the camera 901 .
  • the process may be repeated multiple times with different values of n (where n ⁇ h) until a disparity value for each object identified as moving is available that discounts most or all of the motion of the object. It is noted that the disparity values may only be important in relative relation to the image, and need not represent specifically accurate disparity for each object.
  • step 506 at the point of having data from step 508 in FIGS. 5A and 5B and step 808 in FIG. 8 , macro and micro stereo base information can be combined.
  • Disparity information from the macro stereo base calculations is assigned to the objects identified as “non-moving” or distant, relative to a given camera separation represented by a set of frames, N.
  • Disparity information must then be added for moving and close objects using the result from the micro analysis. For close objects, this may be performed simply by noting the disparity result(s) from step 808 and the ratio between the specific value of n used to assign the value and N. The disparity for these pixels can become the value from step 808 multiplied by the factor N/n.
  • a Dm′ disparity of the object 902 a , 902 b can be compared with the Dw′ disparity of the known static object 904 a , 904 b and the Dw disparity of the static object in the macro stereo base case.
  • n For moving objects, the relative relationships of the same pixels in the different analyses may be relied upon. From the micro calculation (e.g., step 808 ), a value of n can be identified for which a disparity can be assigned to the pixels in question. This disparity can have a relation to other pixels in the scene, and specifically, to pixels identified and placed in a previous video segment, or to pixels identified and placed at a particular static disparity in step 708 . For pixels that correspond to those placed in an earlier segment, the depth assigned in that segment can be extrapolated to the current segment, while recognizing a possibility of approach toward or retreat from the camera.
  • the ratios of the depth and displarity of known objects can be used to place unknown object.
  • a pixel classified as moving at coordinate (j, k) in the micro analysis can be assumed to have an assigned disparity d 1 for the selected frame M, and a pixel at coordinate (m, n) that has a static disparity D 2 for separation N in the macro analysis and a value of d 2 for the selected frame n in the micro analysis.
  • n may not be found, and other micro-based methods can be employed to calculate the depth of moving objects or movement of the camera. Utilization of those techniques may apply to values of n ranging from one to two. In other words, successive frames may be used to measure movement of various subjects.
  • each of the above shooting modes can create movement of subjects that can be classified as of one of the following categories: absolute movement of objects on the scene; and movement of an image capture device that results into a movement of static objects on the scene (global motion for all static pixels on the scene) and a relative motion for the moving objects on the scene (global minus absolute motion).
  • this can be a three dimensional movement where objects travel in x, y, and z (i.e., depth) dimensions.
  • the movement of the camera can be three dimensional.
  • movement on the depth i.e., z-plane
  • movement on the image capture device can be either lateral or rotational.
  • an image capture device can be rotational, global motion many not be identical for all the static pixels on the scene. Pixels closer to the image capture device may have larger motion vectors and pixels far away from the image capture device may have smaller magnitude motion vectors compared to the closer objects. In addition, the movement of the image capture device cannot be constant and is expected that it can change over time.
  • each pixel (P) located in ‘i’ horizontal, a T vertical, and a ‘k’ depth coordinates can potentially have a different static motion vector caused by image capture device movement mvsx (t, i, j, k), mvsy (t, i, j, k) and mvsz (t, i, j, k) for horizontal, vertical, and z-plane movement, as well as absolute motion vector caused by the movement of the object (mvmx (t, i, j, k), mvmy (t, i, j, k) and mvmz (t, j, k) for horizontal, vertical, and depth movements). Knowing the location of any static pixel (Ps) in a frame (t), it location in time (t+1) can be found using the following equation:
  • the static motion vectors (mvsx, mvsy, mvxz) can be calculated by analyzing the captured frames, identifying highly correlated static points on the images (Ps rectifying and registering the frames, and then calculating the inverse registration transform that can result from the movement of those points into the three dimensional space (Equation 1).
  • the absolute motion vectors (mvmx, mvmy, mvmz) can be calculated by performing the same operation for the Pm points using Equation (2).
  • the absolute motion vectors for moving objects in the scene can be obtained.
  • the camera movement, the static background, and the moving objects can be fully defined into the three-dimensional space.
  • Non-flying objects can have an anchor point which is the ground for most part of static object staying at the ground.
  • the initial position of such objects is based on their anchor points to the ground.
  • the ground, or in general any static object, can be placed on the three-dimensional space by using the following technique:
  • their trajectory path can be identified and determine their path across other objects. If their path hides static objects, it can be implied that they are in front of them. If their path places them behind objects, their path is behind objects.
  • the background can remain constant, and its depth has already been estimated.
  • utilize motion compensation techniques can be used to estimate the speed of the object in the horizontal and vertical dimensions, and the rate of scaling methods to estimate its speed on the z-plane. Based on those estimates, the proper depth representation can be created.
  • the method further includes the dynamic adjustment of the background or static objects when user pans the camera left or right to maintain the high depth accuracy obtained using the large stereo base (step 508 ).
  • This adjustment may be performed by looking at the depth map gradient of the different surfaces that comprise the background scene and interpolating based on the amount of movement.
  • the method of FIGS. 5A and 5B further includes the dynamic adjustment of moving objects (step 510 ).
  • the size of moving objects may be compared with the size on the previous frames and if the size gets larger it is appropriately adjusted on the depth map by taking in consideration the size of the increase and the time frame at which this increase took place. Similarly, if the object size gets smaller, it can be moved back on the depth plane with the amount that is appropriate based on the size of the decrease and the tie for this decrease took place.
  • the absolute motion vectors of the moving objects can also be estimated.
  • the rate of increase of the size of a moving object determines its motion towards the camera (closer in depth) and the rate of decrease of the size determines the motion away from the camera (farther in depth).
  • rate of scaling is a technique where key features of an object are measured between successive frames.
  • object motion vectors may be indicative of the movement.
  • FIG. 10 illustrates diagrams of a micro stereo based technique using frame-by-frame analysis in accordance with an embodiment of the present subject matter. For an object 1000 a at its position at time t, which is approaching the image capture device, its location at time t+1 may be closer to the image capture device than when the object 1000 b is at its location at time t+1, and therefore it will appear larger.
  • any component of the object (or camera) motion that is away from the center line from the object to the camera can result in a translational component that may change the scale of the vectors, but will still maintain the magnitude change relationship.
  • the rate of change these magnitudes, combined with a depth estimation, can be indicative of the velocity of this movement.
  • the combined motion vectors (MV) of moving objects can be calculated using “rate of scaling” techniques to calculate motion vectors for movement in depth and traditional motion compensation methods to calculate movement in x and y coordinates. Enlargement of the measurements, during rate of scaling calculations, indicate that objects move closer to the camera, whereas smaller measurement indicate that objects move away from the camera. The rate of change also determines the motion vectors.
  • the method of FIGS. 5A and 5B further includes identification of occlusion zones resulting from the movement of objects in the scene (step 512 ). Once the occlusion area is calculated, a search can performed in adjacent frames to identify an accurate representation of such areas. If such areas do not exist, then occlusion zones can be calculated based on suitable techniques.
  • the method of FIGS. 5A and 5B further includes detection and placement of new objects in the depth plane (step 514 ).
  • New objects can appear on the scene by either panning the camera left or right, or the objects entering the scene because of their movement.
  • it can be determined whether the object is a static or moving object by, for example, analyzing the motion vectors of the object and comparing the vectors with the motion vectors of the still background objects (step 516 ). If the objects are static, macro based techniques can be used to determine their depth and frames with large stereo base can be used to create their three-dimensional representation (step 518 ).
  • micro based techniques can be used to determine their depth and frames with small stereo base can be used to create their three-dimensional representation after they have properly adjusted for motion (step 520 ).
  • the recognition of new “objects” entering a given scene may also trigger the creation of a new panning sequence.
  • the method of FIGS. 5A and 5B includes processing a next frame in the sequence, if there is another frame (step 522 ). If there is another frame, the method proceeds to step 504 . Otherwise, the method includes combining the current panning sequence with the one before by equalizing depth and other 3D parameters (step 524 ), as well as stabilizing for hand-shaking (step 525 ), and then processing a next panning sequence, if there is another (step 526 ). The method may then proceed to step 502 for another panning sequence.
  • the method of FIGS. 5A and 5B further includes combining the results from the macro- and micro-stereo base calculations to create a three-dimensional model for each frame in the panning sequence of a given scene, with the recognition that a given video sequence may include of multiple panning sequences, with depth equalization between them based on corresponding features (step 524 ).
  • Each raster pixel for a frame can have an assign (x,y,z) triplet, and can be transformed via perspective projection to a triplet (x′,y′,z′) using a targeted angular rotation about the Y axis or similar view synthesis technique.
  • the screen plane depth may initially be chosen or selected to create the axes for this rotation, and this may be done by selecting a depth from the range represented such that objects in front of the modeled plane are no further than X % of the planes distance closer to the viewer, with a typical value for X being 25%.
  • the target angular rotation may be selected using an approximate viewing location and screen size for the final video, and is chosen to create an ideal stereo base representation of the entire scene and comfortable depth range for the viewer. In an embodiment, this depth range is viewer adjustable from the default settings previously calculated using the aforementioned parameters.
  • images may be captured by a camera such as, but not limited to, a digital camera.
  • the camera may be connected to a personal computer for communication of the captured images to the personal computer.
  • the personal computer may then generate one or more three-dimensional videos in accordance with embodiments of the present subject matter.
  • the personal computer may communicate the three-dimensional videos to the camera for display on a suitable three-dimensional display.
  • the camera may include a suitable three-dimensional display.
  • the camera may be in suitable electronic communication with a high-definition television for display of the three-dimensional videos on the television.
  • the communication of the three-dimensional videos may be, for example, via an HDMI connection.
  • three-dimensional videos may be generated by a camera and displayed by a separate suitable display.
  • the camera may capture conventional two-dimensional images and then use the captured images to generate three-dimensional videos.
  • the camera may be in suitable electronic communication with a high-definition television for display of the three-dimensional videos on the television.
  • the communication of the three-dimensional videos may be, for example, via an HDMI connection.
  • FIG. 11 and the following discussion are intended to provide a brief, general description of components of a suitable electronic device 1100 in which various aspects of the disclosed subject matter may be implemented. While the present subject matter is described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices, those skilled in the art will recognize that the disclosed subject matter can also be implemented in combination with other program modules and/or as a combination of hardware and software.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular data types.
  • the operating environment 1100 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the subject matter disclosed herein.
  • Other well-known computer systems, environments, and/or configurations that may be suitable for use with the subject matter include but are not limited to, personal computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include the above systems or devices, and the like.
  • an exemplary environment 1100 for implementing various aspects of the present subject matter disclosed herein includes a computer 1102 .
  • the computer 1102 includes a processing unit 1104 , a system memory 1106 , and a system bus 1108 .
  • the system bus 1108 couples system components including, but not limited to, the system memory 1106 to the processing unit 1104 .
  • the processing unit 1104 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit 1104 .
  • the system bus 1108 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 11-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MCA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
  • ISA Industrial Standard Architecture
  • MCA Micro-Channel Architecture
  • EISA Extended ISA
  • IDE Intelligent Drive Electronics
  • VLB VESA Local Bus
  • PCI Peripheral Component Interconnect
  • USB Universal Serial Bus
  • AGP Advanced Graphics Port
  • PCMCIA Personal Computer Memory Card International Association bus
  • SCSI Small Computer Systems Interface
  • the system memory 1106 includes volatile memory 1110 and nonvolatile memory 1112 .
  • the basic input/output system (BIOS) containing the basic routines to transfer information between elements within the computer 1102 , such as during start-up, is stored in nonvolatile memory 1112 .
  • nonvolatile memory 1112 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory.
  • Volatile memory 1110 includes random access memory (RAM), which acts as external cache memory.
  • RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
  • SRAM synchronous RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM Synchlink DRAM
  • DRRAM direct Rambus RAM
  • Disk storage 1114 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memory stick.
  • disk storage 1024 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM).
  • CD-ROM compact disk ROM
  • CD-R Drive CD recordable drive
  • CD-RW Drive CD rewritable drive
  • DVD-ROM digital versatile disk ROM drive
  • a removable or nonremovable interface is typically used such as interface 1116 .
  • FIG. 11 describes software that acts as an intermediary between users and the basic computer resources described in suitable operating environment 1100 .
  • Such software includes an operating system 1118 .
  • Operating system 1118 which can be stored on disk storage 1114 , acts to control and allocate resources of the computer system 1102 .
  • System applications 1120 take advantage of the management of resources by operating system 1118 through program modules 1122 and program data 1124 stored either in system memory 1106 or on disk storage 1114 . It is to be appreciated that the subject matter disclosed herein can be implemented with various operating systems or combinations of operating systems.
  • Input devices 1126 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 1104 through the system bus 1108 via interface port(s) 1128 .
  • Interface port(s) 1128 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB).
  • Output device(s) 1130 use some of the same type of ports as input device(s) 1126 .
  • a USB port may be used to provide input to computer 1102 and to output information from computer 1102 to an output device 1130 .
  • Output adapter 1132 is provided to illustrate that there are some output devices 1130 like monitors, speakers, and printers among other output devices 1130 that require special adapters.
  • the output adapters 1132 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1130 and the system bus 1108 . It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1134 .
  • Computer 1102 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1134 .
  • the remote computer(s) 1134 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1102 .
  • only a memory storage device 1136 is illustrated with remote computer(s) 1134 .
  • Remote computer(s) 1134 is logically connected to computer 1102 through a network interface 1138 and then physically connected via communication connection 1140 .
  • Network interface 1138 encompasses communication networks such as local-area networks (LAN) and wide-area networks (WAN).
  • LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet/IEEE 1102.3, Token Ring/IEEE 1102.5 and the like.
  • WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
  • ISDN Integrated Services Digital Networks
  • DSL Digital Subscriber Lines
  • Communication connection(s) 1140 refers to the hardware/software employed to connect the network interface 1138 to the bus 1108 . While communication connection 1140 is shown for illustrative clarity inside computer 1102 , it can also be external to computer 1102 .
  • the hardware/software necessary for connection to the network interface 1138 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
  • the various techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both.
  • the methods and apparatus of the disclosed embodiments, or certain aspects or portions thereof may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the subject matter.
  • the computer will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device and at least one output device.
  • One or more programs are preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system.
  • the program(s) can be implemented in assembly or machine language, if desired.
  • the language may be a compiled or interpreted language, and combined with hardware implementations.
  • the described methods and apparatus may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the subject matter.
  • a machine such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like
  • PLD programmable logic device
  • client computer a client computer
  • video recorder or the like
  • the program code When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the processing of the present subject matter.

Abstract

Methods and systems for creating three-dimensional video sequences of a scene are disclosed. An example method can include receiving multiple frames of a scene. The method may include selecting a target frame from among the multiple frames; selecting a first subset of frames, N, from among the multiple frames that are associated with the target frame that is representative of a large stereo baseline; and analyzing the first frame subset to identify two images for forming a stereoscopic pair of frames. Further, the method includes extracting depth data of static objects in the stereoscopic pair. The method includes selecting a second subset of frames that are associated with the target frame that is representative of a smaller stereo baseline than that represented by N; and utilizing the second frame subset to calculate depth of moving objects. The method includes generating a three-dimensional video frame based on the depth data.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. utility patent application Ser. No. 13/288,209, filed Nov. 3, 2011, which claims the benefit of U.S. provisional patent application Ser. No. 61/409,664, filed Nov. 3, 2010; the disclosures of which are incorporated herein by reference in their entireties.
  • TECHNICAL FIELD
  • The subject matter disclosed herein relates to generating a video sequence of a scene. In particular, the subject matter disclosed herein relates to methods, systems, and computer program products for using a two-dimensional video sequence of a scene to create a three-dimensional video sequence of the scene.
  • BACKGROUND
  • Stereoscopic, or three-dimensional, video is based on the principle of human vision. Video is a sequence of captured images (or frames), each of which, when combined with camera displacement, can record the same object(s) or new objects from slightly different angles. In such case, the captured sequence can then be transferred to a processor that may assign the captured sequence as the view for one eye (i.e., left or right eye), may analyze the individual frames and possibly interpolate additional frames/frame views, and may, for each frame generate a corresponding view for the other eye. The two resulting video sequences may then be combined to create a three-dimensional video sequence. The resulting three-dimensional video sequence can further be encoded using, but not limited, to one of the popular video encoding formats such as motion JPEG, MPEG, H.264, and the like. The video sequence can further be stored with audio to a digital media using a format such as, but not limited to, .avi, .mpg, and the like.
  • Many techniques of viewing stereoscopic video have been developed and include the use of colored or polarizing filters to separate the two views, temporal selection by successive transmission of video using a shutter arrangement, or physical separation of the two views in the viewer and projecting them separately to each eye of a viewer. In addition, display devices have recently been developed that are well-suited for displaying stereoscopic images and videos. For example, such display devices include, but are not limited to, digital still cameras, personal computers, digital picture frames, set-top boxes, high-definition televisions (HDTVs), and the like.
  • The use of digital image capture devices, such as, but not limited to, digital still cameras, digital camcorders (or video cameras), and phones with built-in cameras, for use in capturing digital images has become widespread and popular. Because video sequenced captured using these devices are stored in a digital format, such video can be easily distributed and edited. For example, the videos can be easily distributed over networks, such as the Internet. In addition, the videos can be edited by use of suitable software on the image capture device or a personal computer.
  • Video sequences captured using conventional single lens, single sensor image capture devices are inherently two-dimensional. While dual lens/sensor combinations can be used to create three-dimensional content, it is desirable to provide methods and systems for using these conventional devices for generating three-dimensional videos.
  • SUMMARY
  • Methods, systems, and computer program products for creating three-dimensional video sequences of a scene are disclosed herein. Particularly, embodiments of the presently disclosed subject matter can include a method that uses a processor and memory for receiving a two-dimensional video sequence of a scene. The two-dimensional video sequence can include multiple frames. The method may also include selecting a target frame, T, from among the multiple frames. Further, the method may include selecting a first subset of frames representative of a large camera displacement, N, from among the multiple frames that are associated with the target frame T. The method may also include analyzing the first subset of frames to identify two images for use in forming a stereoscopic pair of frames with a predetermined spatial difference. Further, the method may include extracting depth data of static objects in the stereoscopic pair of frames. The method may also include selecting a second subset of frames representative of a small camera displacement, n (n<<N), from among the multiple frames that are associated with T. The method may include utilizing the second subset of frames to calculate depth of moving objects. The method may also include combining the static and moving objects based on the depth data. Further, the method may include generating a three-dimensional video frame corresponding to the target frame based on the depth data.
  • The Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, not is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to any limitations that solve any or all disadvantages noted in any part of this disclosure.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing summary, as well as the following detailed description of various embodiments, is better understood when read in conjunction with the appended drawings. For the purposes of illustration, there is shown in the drawings exemplary embodiments; however, the present subject matter is not limited to the specific methods and instrumentalities disclosed. In the drawings:
  • FIG. 1 is a front view of a user holding a camera and moving the camera for creating an initial panning sequence of a scene in accordance with embodiments of the present subject matter;
  • FIG. 2 is a diagram depicting a top view of an example panning sequence that may be implemented by use of an image capture device in accordance with embodiments of the present subject matter;
  • FIG. 3 is a block diagram of an example image capture device including an image sensor and a lens for use in capturing a two-dimensional video sequence of a scene according to embodiments of the presently disclosed subject matter;
  • FIGS. 4A and 4B depict a flow chart of an example method for creating a three-dimensional video sequence of a scene using the image capture device, alone or together with any other suitable device, in accordance with embodiments of the present disclosure;
  • FIGS. 5A and 5B depict a flow chart of an example method for creating a three-dimensional video sequence of a scene in accordance with embodiments of the present subject matter;
  • FIG. 6 is an example method for depth creation according to an embodiment of the present subject matter;
  • FIG. 7 is a flow chart of an exemplary method for depth creation using a macro-stereo based technique according to an embodiment of the present subject matter;
  • FIG. 8 is a flow chart of an example method for depth creation using a micro-stereo based technique according to an embodiment of the present subject matter;
  • FIG. 9 is a diagram showing depth calculation using a micro-based technique in accordance with an embodiment of the present subject matter;
  • FIG. 10 illustrates diagrams of a micro stereo based technique using frame-by-frame analysis in accordance with an embodiment of the present subject matter; and
  • FIG. 11 illustrates an exemplary environment for implementing various aspects of the subject matter disclosed herein.
  • DETAILED DESCRIPTION
  • The subject matter of the present subject matter is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or elements similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the term “step” may be used herein to connote different aspects of methods employed, the term should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
  • Methods, systems, and computer programs products for creating three-dimensional video sequences are disclosed. According to an aspect, a method includes receiving a two-dimensional video sequence of a scene. For example, a camera or other image capture device may capture the two-dimensional video sequence. The two-dimensional video sequence can include a plurality of frames. The method also includes selecting a target frame from among the plurality of frames. Further, the method includes selecting a subset of frames from among the plurality of frames that are associated with the target frame. The method also includes determining a depth of the scene based on the target frame and the subset of frames. Further, the method includes generating a three-dimensional video frame corresponding to the target frame and based on the determined depth.
  • Embodiments of the present subject matter relate to an image capture device, such as a camera, that allows a user to capture a two-dimensional video sequence or use a stored two-dimensional video sequence for generating a three-dimensional video sequence based on the two-dimensional video sequence. The functions disclosed herein can be implemented in hardware, software, and/or firmware that can be executed within the image capture device. Example image capture devices include, but are not limited to, a digital still camera, a video camera (or camcorder), a personal computer, a digital picture frame, a set-top box, an HDTV, a phone, and the like.
  • According to one or more other embodiments of the present subject matter, a method can include use of macro stereo base-techniques (i.e., utilizing two or more frames captured at a large horizontal displacement of the capture device in the original video sequence) to create a very accurate representation of the background and the non-moving objects on the scene. Further, the method can include the use of micro stereo base techniques (i.e., utilizing two or more frames captured at a small horizontal displacement of the capture device in the original video sequence) to create a very accurate representation of close as well as moving objects. Such three-dimensional video sequences can be viewed or displayed on a suitable stereoscopic display.
  • The functions and methods described herein can be implemented on an image capture device capable of capturing still images and executing computer executable instructions or computer readable program code on a processor. The image capture device may be, for example, a digital still camera, a video camera (or camcorder), a personal computer, a digital picture frame, a set-top box, an HDTV, a phone, or the like. The functions of the image capture device may include methods for selecting video segments, creating corresponding views for each image in the sequence, rectifying and registering at least two views, matching the color and edges of the views, performing stabilization of the sequence, altering the perceived depth of objects, and display-specific transformation to create a single, high-quality three-dimensional video sequence.
  • Image capture devices as disclosed herein may be utilized in various types of shooting modes for capturing a video sequence. In an example shooting mode, a video camera may remain static. For example, the video camera may be mounted on a tripod or otherwise kept stationary during image capture. A user may control the video camera to capture images of an event that is fully or partially contained within a fixed field of view of the video camera. The video camera may pan left, right, or another suitable direction for capturing panoramic scenery of the event.
  • In another example shooting mode, a user may hold the camera during use of the camera to capture images of an event. The event may be fully or partially contained within a fixed field of view of the camera. In contrast with the aforementioned example of using a tripod or otherwise keeping the camera stationary, the camera may not be kept perfectly static in this example, because it can be difficult for someone holding the camera to keep it still. In this case, there may be some vertical and/or horizontal movement even if anti-shaking techniques are implemented on the camera.
  • In yet another example shooting mode, a user may pan the camera or move in various directions to either follow an object that is moving from the camera's field of view, or to refocus on a different object within the same field of view. The panning movement may be a parallel and/or rotating movement of the camera.
  • According to an embodiment, a method may include utilizing macro stereo base techniques to estimate depth when there is a significant movement of the camera. The results from the micro stereo base techniques may be further used in conjunction with the macro stereo base results to estimate the depth of a scene when the movement of the camera is very small.
  • In an embodiment, a first step in creation of a stereoscopic sequence is to define an initial three-dimensional representation of a scene or environment. Once a three-dimensional static space has been defined, moving objects may be identified. A depth of the moving objects can be estimated. Further, the objects may subsequently be placed a suitable depth in the previously constructed scene. The moving objects may be tracked while they are moving into the scene, and the location of the objects may be adjusted accordingly. Other objects may enter the field of view, or other static objects may appear on the scene as a result of camera panning. These other objects may also be detected and incorporated at a suitable depth into the scene.
  • FIG. 1 illustrates a front view of a user 100 holding a camera 102 and moving the camera 102 for creating an initial panning sequence of a scene (not shown) in accordance with embodiments of the present subject matter. A method of creating a three-dimensional video sequence of the scene may include creating a panning sequence of the scene by having a user move the camera in any direction (e.g., generally to the right or left). In this example, the user 100 is moving the camera 102 to his right as indicated by the direction arrow 104. Alternatively, the user 100 may move the camera 102 to his left or any other suitable direction. As the camera 102 is moved, the camera 102 may capture a two-dimensional video sequence of the scene. The two-dimensional video sequence may include multiple frames of images. After the initial panning sequence has been completed, the user 100 can keep the camera 102 on the same field of view to continue capturing a moving object that remains in the same place (i.e., a person talking), or the user 100 can move the camera 102 to re-center to either a different object, or to a new object entering or leaving the field of view. The captured video sequence, which can be a combination of the previously described shooting techniques, may be used for creating a three-dimensional video sequence in accordance with embodiments described herein.
  • FIG. 2 illustrates a diagram depicting a top view of an example panning sequence that may be implemented by use of an image capture device 200 in accordance with embodiments of the present subject matter. Referring to FIG. 2, the image capture device 200 is a camera positioned for capturing images of a background 202 of a scene. Objects 204 and 206 are positioned in a foreground area of the scene. In these positions, images of the objects 204 and 206 are also captured by the device 200. In this example, the device 200 is moved or panned between a position generally referenced as 208, where the device 200 is depicted by solid lines, and a position generally referenced as 210, where the device 200 is depicted by broken lines. During panning between positions 208 and 210, the device 200 captures and stores a two-dimensional video sequence of the scene. When the device 200 is located at position 208, the device 200 captures one or more images of a field of view defined by lines 212 and 214, which contains segments 216 through 218 of the background 202 of the scene, as well as images of the object 204 and part of the object 206. When the device 200 is located at position 210, the device 200 captures one or more images of a field of view defined by lines 220 and 222, which contains segments 224 through 226 of the background 202 of the scene, as well an image of the object 206.
  • Method embodiments described herein can be implemented on an image capture device capable of capturing still images and video sequences. The image capture device may also be capable of displaying three-dimensional images or videos, and executing computer readable program code on a processor. Such computer readable program code may be stored on a suitable computer readable storage medium. The image capture device may be, for example, a digital still camera, a video camera (or camcorder), a personal computer, a digital picture frame, a set-top box, an HDTV, a phone, or the like. As an example, FIG. 3 illustrates a block diagram of an example image capture device 300 including an image sensor 302 and a lens 304 for use in capturing a two-dimensional video sequence of a scene according to embodiments of the presently disclosed subject matter. Further, the image capture device 300 may include a video generator 306 configured to create three-dimensional video sequences in accordance with embodiments of the presently disclosed subject matter. In this example, the image capture device 302 is capable of capturing a digital camera digital video of a scene. The image sensor 302 and lens 304 may operate to capture multiple consecutive still digital images of the scene. In another example, the image capture device 300 may be a video camera capable of capturing a video sequence including multiple still images of a scene. A user of the image capture device 300 may position the system in different positions for capturing images of different perspective views of a scene. The captured images may be suitably stored and processed for creating a three-dimensional video sequence of the scene as described herein. For example, subsequent to capturing the images of the different perspective views of the scene, the image capture device 300, alone or in combination with a computer such as computer 306, may use the images for creating a three-dimensional video sequence of the scene and for displaying the three-dimensional video sequence to the user.
  • Referring to FIG. 3, the image sensor 302 may include an array of charge coupled device (CCD) or CMOS sensors. The image sensor 302 may be exposed to a scene through the lens 304 and a respective exposure control mechanism. The video generator 306 may include analog and digital circuitry such as, but not limited to, a memory 308 for storing computer readable program code including computer readable code that controls the image capture device 300, together with at least one CPU 310, in accordance with embodiments of the presently disclosed subject matter. The CPU 310 executes the computer readable code so as to cause the image capture device 300 to expose the image sensor 302 to a scene and derive digital images corresponding to the scene. The digital images may be captured and stored in the memory 308. All or a portion of the memory 308 may be removable, so as to facilitate transfer of the digital images to other devices such as the computer 306. Further, the image capture device 300 may be provided with an input/output (I/O) interface 312 so as to facilitate transfer of digital image even if the memory 308 is not removable. The image capture device 300 may also include a display 314 controllable by the CPU 310 and operable to display the captured images in real-time for real-time viewing by a user. The display 314 may also be controlled for displaying the three-dimensional video sequences created in accordance with embodiments of the present subject matter.
  • The memory 308 and the CPU 310 may be operable together to implement the video generator 306 for performing image processing including generation of three-dimensional images in accordance with embodiments of the presently disclosed subject matter. The video generator 306 may control the image sensor 302 and the lens 304 for capturing a two-dimensional video sequence of a scene. The video sequence may include multiple frames. Further, the video generator 306 may further process the images and generate a three-dimensional video sequence of the scene as described herein. FIGS. 4A and 4B illustrate a flow chart of an example method for creating a three-dimensional video sequence of a scene using the image capture device 300, alone or together with any other suitable device, in accordance with embodiments of the present disclosure. Referring to FIGS. 4A and 4B, the method includes using 400 an image capture device to capture a two-dimensional video sequence of a scene. For example, the video generator 306 shown in FIG. 3 may control the image sensor 302 and the lens 304 to capture a two-dimensional video sequence of a scene. The captured video sequence may include images of the same or different perspective views of the scene. The CPU 310 may then implement computer readable code stored in the memory 308 for receiving and storing the captured video sequence in the memory 308.
  • The method of FIGS. 4A and 4B includes selecting 402 a target frame from among frames of the captured video sequence. For example, the video generator 306 may select a target frame T from among multiple frames captured by the image sensor 302 and the lens 304. The method of FIGS. 4A and 4B includes selecting 404 a first subset of frames, N, from among the plurality of frames that are associated with the target frame TN represents a desired macro stereo base offset of camera position from the position related to the target frame T, as measured by camera pose information gathered from the sequence or by camera positional sensor data. The method of FIGS. 4A and 4B includes analyzing 406 the first subset of frames to identify two images or frames for use in forming a stereoscopic pair of frames representative of the desired macro stereo baseline (predetermined spatial displacement of the capture device). For example, the video generator 306 may analyze the first subset of frames for identifying the two images or frames. The predetermined spatial difference may be such that the two images provide an optimal viewing of the scene.
  • The method of FIGS. 4A and 4B includes extracting 408 depth data of static objects via measurement of their pixel disparities in the stereoscopic pair of frames. For example, the video generator 306 may extract depth data of static objects in the stereoscopic pair of frames.
  • The method of FIGS. 4A and 4B includes selecting 410 a second subset of frames, n, from among the plurality of frames, N, that are representative of a substantially smaller stereo baseline separation of camera positions than is N. For example, the video generator 306 may select a second subset of frames from among multiple captured frames that are associated with the sequence of frames, N.
  • The method of FIGS. 4A and 4B includes utilizing 412 the second subset of frames, n, to measure small disparities of and construct depth data for moving objects. For example, the video generator 306 may utilize the second subset of frames to calculate depth data of moving objects.
  • The method of FIGS. 4A and 4B includes combining 414 the static and moving objects based on the depth data. For each image, image warping techniques may be used, along with the two-dimensional capture data, to generate a suitable second view for a stereo pair. For example, the video generator 306 may combine the static and moving objects based on the depth data.
  • The method of FIGS. 4A and 4B includes generating 416 a three-dimensional video frame corresponding to the target frame based on the depth data. For example, the video generator 306 may generate a three-dimensional video frame corresponding to the target frame based on the depth data.
  • In an example, the method of FIGS. 4A and 4B may include one or more steps of identifying suitable frames, registration, stabilization, color correction, transformation, and depth adjustment. Further, the method may include generating one or more additional frames and frame viewpoints using one of existing raster data and depth information. Further, the method may include using a micro or macro stereo based technique for generating image representations of close and moving objects of the scene. A display, such as the display 314 or a display of the computer 306, may display multiple three-dimensional video frames in a sequence.
  • FIGS. 5A and 5B illustrate a flow chart of an example method for creating a three-dimensional video sequence of a scene in accordance with embodiments of the present subject matter. The example method of FIGS. 5A and 5B may be implemented by any suitable image capture device, such as the image capture device 300 shown in FIG. 3. For example, the video generator 306 shown in FIG. 3 may control components of the image capture device 300 to implement the steps of the method of FIGS. 5A and 5B. Referring to FIG. 5, the method includes segmenting 500 a video stream into panning sequences based on camera motion. In an example, such segmenting may include identifying instances in which a camera pans horizontally or vertically, instances in which the camera is still, combinations of these, and the like. Each instance of horizontal panning (alone or in part with other camera motion) may represent an instance of a macro stereo base, while still instances and instances dominated by only vertical motion may utilize micro stereo base. Sequences can be divided by utilizing a combination of a scene change detection technique and camera pose information. Camera pose can be generated using any combination of any suitable on-board motion sensor data and suitable computer vision techniques that utilize camera calibrations matrices.
  • Subsequent to step 500, processing for each panning sequence is implemented as shown in FIGS. 5A and 5B. The processing of each panning sequence begins at step 502. For each target frame, T, a subset of frames, N, representing a desired horizontal displacement of the capture device, herein referred to as the macro stereo base can be identified. In the event that a given panning sequence does not displace the camera enough to reach the targeted stereo baseline, a lesser value may be used, provided it is representative of a macro stereo base, typically representing a distance at least as wide as typical human eye separation (6-7 cm), and preferably longer. Measurement of this displacement can be performed using either analysis of camera pose or using positional sensor data from the camera. Further, following step 502, processing for each video frame in the panning sequence is implemented in a process which begins at step 504. Once such panning sequence information is gathered, the resulting video segment can be used to create an accurate depth representation of the scene (step 506). The accuracy of these measurements may be further enhanced via interpolation (upsampling) of intermediate frame data, if needed. The captured video sequence can be partitioned in panning sequences that are processed separately (e.g., beginning at step 502). A new panning sequence can be defined when there is a significant or predetermined change on the rate at which the video sequence is captured (e.g., camera is panning, remaining static, accelerating/decelerating in one direction, and the like) and/or a significant change in the contents of the scene (e.g., objects passing into or out of view). In each panning sequence, the individual frames can be processed to determine the depth of the objects. For each frame, object segmentation can be performed to identify static and moving objects.
  • Extraction of the depth information can be a two-step process. During the first step, macro stereo base techniques can be used to identify depth of static objects. During the second step, micro stereo base techniques can be used to identify the depth of moving objects. FIG. 6 illustrates an example method for depth creation according to an embodiment of the present subject matter. Referring now to FIG. 6, the method includes segmenting video frames to moving and static objects (step 600). At step 602, the method includes using macro-stereo base techniques to estimate a depth of the static objects. At step 603, the method may include estimating the camera movement. At step 604, the method includes using micro stereo base techniques to estimate depth of moving objects. Next, at step 606, the method includes combining the estimated depths from the micro- and macro-stereo base techniques to create a depth map of a video frame.
  • Referring now to FIG. 7, which illustrates a macro stereo base technique in accordance with embodiments of the present subject matter, the method includes identifying ideal stereo based of static objects (step 700), which selects the subset of frames, N, from the current panning sequence of frames (step 702). Further, the method includes registering the selected frames (step 704) and calculating disparity (step 706). The method also includes assigning depth on static objects (step 708).
  • The initial panning sequence may include of collection of frames that are taking at different locations. Each symmetric pair of such collection can create a stereoscopic representation of static objects or subjects on the scene at different depths.
  • Objects that are relatively far from the capture device may require a larger stereo base (defined herein as a macro stereo base) to accurately estimate depth of the objects. Referring to FIG. 2 for example, and during the capture of a video sequence, N frames may have been captured between positions 208 and 210 of the image capture device 200. Each pair of those frames around the center of the 208 and 210 positions can form a stereoscopic pair of different stereo base and therefore a different depth perception. For accurate representation of the depth, it may be more ideal that image capture device positions between positions 208 and 210 moves laterally without toeing out. Based on the example of FIG. 2, a pair of those frames may be used to create an initial three-dimensional representation of the space outlined by lines 214 and 220 that includes the segment between 218 and 224, the object 204, and a small portion of object 206. By continuing this example method, other areas can be covered to generate a stereoscopic view of the area of interest. For example, FIG. 7 illustrates a flow chart of an exemplary method for depth creation using a macro-stereo based technique according to an embodiment of the present subject matter. For such a macro stereo base, measurement of the depth of individual objects may be accomplished by analyzing image pairs at an interval N, such that the interval is representative of a target stereo baseline, or by maintaining depth values of those same objects in the case that the capture device is no longer being displaced (between panning sequences). Image pairs are registered and processed by use of suitable techniques. The displacement, or disparity, of objects in the image pairs may then be measured and translated into depth under the general stereo equation h=Baseline*FocalLength/disparity, where Baseline is the distance of camera movement in the interval of N frames and FocalLength is the focal length of the camera lens. This macro-stereo base technique may allow identification of disparities of, and assign depth to, static objects in the scene. In an embodiment, a dense disparity map may be generated, producing a disparity result (and hence, a depth estimate) for each pixel in the frame. In another embodiment, in part because the calculation of a dense disparity map may be difficult, techniques using feature detection and tracking can be used to generate only a sparse disparity map for a subset of pixels. Additionally, moving objects may be identified and ignored during this process.
  • Returning to FIGS. 5A and 5B, the method may include a small stereo baseline (micro-stereo) analysis to calculate depth of moving objects and near objects for which disparity techniques are weak at larger stereo baselines (e.g., step 504). Prior to micro-stereo analysis, the movement of the camera may be computed to increase the accuracy of the micro-stereo analysis since it relies on small camera movements (step 603 of FIG. 6).
  • For each frame in the sequence, camera movement can be recorded via a suitable module such as, but not limited to, a gyroscopic sensor residing in the camera. Another method of identifying the positioning of the camera includes analyzing two frames, identifying key points in both frames, rectifying and extracting the fundamental matrix relationship, and combining with camera parameters (focal length and the like) to generate the projective camera matrices for each position.
  • Analysis of the motion vectors of each pixel within the context of object segmentation can provide detailed information of the depth of a scene. Analysis of motion vectors of static objects, due to camera movement, can detect the movement of an image capture device. If an object is at the same depth, motion vectors of that object can accurately detect the lateral (horizontal and/or vertical movement of the camera). If parts of an object reside in various depths, the motion vectors of the individual pixels can accurately detect the rotational movement of the image capture device.
  • In an example, FIG. 8 illustrates a flow chart of an example method for depth creation using a micro-stereo based technique according to an embodiment of the present subject matter. This may be accomplished by analyzing image pairs at an interval M, such that M<<N. The value of n may be the equivalent of the motion incurred in panning for 1/60 to 1/15 of a second. Each pair of images may again be registered and processed with suitable techniques. Disparities of objects in the scene that may have been previously recognized as moving or non-static can be measured using the same general techniques and again, depths can be assigned. Since the camera movement during the interval of n frames may be relatively small, this represents a micro-stereo based approach that allows evaluation of object depth for non-static objects with a high degree of confidence, such as may not be possible by use of a macro-stereo technique, due to temporal latency. By also compensating for camera movement as described at step 303 of FIG. 6 can further improve the quality of micro-stereo analysis.
  • Referring now to FIG. 8, the method includes analyzing video frames between 1 and n, where n is less than N (step 800). The method also includes selecting two video frames of distance n to match stereo base (step 802). Further, the method includes registering the selected frames (step 804). The method also includes calculating disparity (step 806) and assigning depth of close objects and objects identified as moving (step 808).
  • FIG. 9 illustrates a diagram showing depth calculation using a micro-based technique in accordance with an embodiment of the present subject matter. Referring to FIG. 9, a scene including a background area generally designated 900, a moving object 902 (person), a static object 904 (window), and another static object 906 (base) is captured using a camera. During the initial panning sequence, two frames taken at times t and t+H (indicated by frame 908 and 910, respectively) have been used to construct the macro stereo base depth representation of the scene. The objects captured in the first frame 908 are designated by “a” (e.g., objects 902 a, 904 a, and 906 a), and the object captured in the second frame 910 are designated by “b” (e.g., objects 902 b, 904 b, and 906 b). The disparity between the moving object 902 a, 902 b in the frames 908 and 910 is indicated by Dm, the disparity between the static object 904 a, 904 b in the frames 908 and 910, which is further in the back in the background 900 is indicated by Dw, and the disparity between the static object 904 a, 904 b is indicated by Dv. In this particular example, Dm<Dv<Dw.
  • During a panning sequence, if the object 902 a, 902 b is moving, a smaller stereo base technique can be used for the depth analysis. Under the micro stereo basis analysis shown on the right side of FIG. 9, two frames 912 and 914 that are close in time are examined (t and t+h, where h is much smaller than H). In such case, the movement of the object 902 a, 902 b is very small and conceptually static. In an example, motion estimation techniques may be used to compensate for the motion of the moving object. By disabling any motion stabilization capabilities inside the camera, there can be some natural micro-stereo based because of handshaking and this can result in movement of the camera from positions 916 to 918 of the camera 901. The process may be repeated multiple times with different values of n (where n<h) until a disparity value for each object identified as moving is available that discounts most or all of the motion of the object. It is noted that the disparity values may only be important in relative relation to the image, and need not represent specifically accurate disparity for each object.
  • Now referring back to FIGS. 5A and 5B at step 506, at the point of having data from step 508 in FIGS. 5A and 5B and step 808 in FIG. 8, macro and micro stereo base information can be combined. Disparity information from the macro stereo base calculations is assigned to the objects identified as “non-moving” or distant, relative to a given camera separation represented by a set of frames, N. Disparity information must then be added for moving and close objects using the result from the micro analysis. For close objects, this may be performed simply by noting the disparity result(s) from step 808 and the ratio between the specific value of n used to assign the value and N. The disparity for these pixels can become the value from step 808 multiplied by the factor N/n.
  • In FIG. 9, a Dm′ disparity of the object 902 a, 902 b can be compared with the Dw′ disparity of the known static object 904 a, 904 b and the Dw disparity of the static object in the macro stereo base case.
  • For moving objects, the relative relationships of the same pixels in the different analyses may be relied upon. From the micro calculation (e.g., step 808), a value of n can be identified for which a disparity can be assigned to the pixels in question. This disparity can have a relation to other pixels in the scene, and specifically, to pixels identified and placed in a previous video segment, or to pixels identified and placed at a particular static disparity in step 708. For pixels that correspond to those placed in an earlier segment, the depth assigned in that segment can be extrapolated to the current segment, while recognizing a possibility of approach toward or retreat from the camera.
  • For pixels not previously assigned, the ratios of the depth and displarity of known objects can be used to place unknown object. Without loss of generality, a pixel classified as moving at coordinate (j, k) in the micro analysis can be assumed to have an assigned disparity d1 for the selected frame M, and a pixel at coordinate (m, n) that has a static disparity D2 for separation N in the macro analysis and a value of d2 for the selected frame n in the micro analysis. The disparity assigned this pixel in the final combined map can subsequently be calculated as D1==D2*d1/d2. Repetition of this process for multiple small intervals of n across a video segment can also be used to place approaching and retreating objects in a scene.
  • In one case, a suitable n may not be found, and other micro-based methods can be employed to calculate the depth of moving objects or movement of the camera. Utilization of those techniques may apply to values of n ranging from one to two. In other words, successive frames may be used to measure movement of various subjects.
  • At any given time, each of the above shooting modes can create movement of subjects that can be classified as of one of the following categories: absolute movement of objects on the scene; and movement of an image capture device that results into a movement of static objects on the scene (global motion for all static pixels on the scene) and a relative motion for the moving objects on the scene (global minus absolute motion). In the category of absolute movements of objects on the scene, this can be a three dimensional movement where objects travel in x, y, and z (i.e., depth) dimensions. In the category of movement of an image capture device, the movement of the camera can be three dimensional. Further, in this category, besides movement on the horizontal and vertical coordinates, movement on the depth (i.e., z-plane) can be caused by the actual camera moving closer or further away from the object or by utilizing the zoom capability of the image capture device. Further, movement of the image capture device can be either lateral or rotational.
  • Because the movement of an image capture device can be rotational, global motion many not be identical for all the static pixels on the scene. Pixels closer to the image capture device may have larger motion vectors and pixels far away from the image capture device may have smaller magnitude motion vectors compared to the closer objects. In addition, the movement of the image capture device cannot be constant and is expected that it can change over time. Therefore, at any given time each pixel (P) located in ‘i’ horizontal, a T vertical, and a ‘k’ depth coordinates can potentially have a different static motion vector caused by image capture device movement mvsx (t, i, j, k), mvsy (t, i, j, k) and mvsz (t, i, j, k) for horizontal, vertical, and z-plane movement, as well as absolute motion vector caused by the movement of the object (mvmx (t, i, j, k), mvmy (t, i, j, k) and mvmz (t, j, k) for horizontal, vertical, and depth movements). Knowing the location of any static pixel (Ps) in a frame (t), it location in time (t+1) can be found using the following equation:

  • Ps(t+1,i,j,k)=Ps(t,i+mvsx(t,i,j,k),j+mvsy(t,i,j,k),k+mvsz(t,i,j,k)+mvmz(t,i,j,k)  (Equation 1)
  • Any moving pixel (Pm) in a frame (t+1) can be found in frame (t) using the following equation:

  • Pm(t+1,i,j,k)=Pm(t,i+mvsx(t,i,j,k)+mvmx(t,i,j,k),j+mvsy(t,i,j,k)+mvmy(t,i,j,k),k+mvsz(t,i,j,k)+mvmz(t,i,j,k)  (Equation 2)
  • The static motion vectors (mvsx, mvsy, mvxz) can be calculated by analyzing the captured frames, identifying highly correlated static points on the images (Ps rectifying and registering the frames, and then calculating the inverse registration transform that can result from the movement of those points into the three dimensional space (Equation 1).
  • Once the static motion vectors have been calculated, the absolute motion vectors (mvmx, mvmy, mvmz) can be calculated by performing the same operation for the Pm points using Equation (2).
  • By subsequently subtracting the static motion vectors from the combined motion vectors, the absolute motion vectors for moving objects in the scene can be obtained. With the present analysis, the camera movement, the static background, and the moving objects can be fully defined into the three-dimensional space.
  • Non-flying objects can have an anchor point which is the ground for most part of static object staying at the ground. The initial position of such objects is based on their anchor points to the ground. The ground, or in general any static object, can be placed on the three-dimensional space by using the following technique:
      • First, the image can be analyzed to detect all static objects by looking at the disparity between two images comprising a stereo pair during macro stereo-base analysis;
      • The image can be segmented into static objects in objects;
      • In each object, key features can be identified that are also key features on a corresponding stereo pair during macro analysis; and
      • The disparity of the key points provides a surface on the three dimensional space which is the static object.
  • For flying objects as well as non-flying in certain instances, their trajectory path can be identified and determine their path across other objects. If their path hides static objects, it can be implied that they are in front of them. If their path places them behind objects, their path is behind objects.
  • In case there is no much movement on the camera (both laterally and rotationally), the background can remain constant, and its depth has already been estimated. For moving objects and once an initial estimate is obtained, utilize motion compensation techniques can be used to estimate the speed of the object in the horizontal and vertical dimensions, and the rate of scaling methods to estimate its speed on the z-plane. Based on those estimates, the proper depth representation can be created.
  • Returning to FIGS. 5A and 5B, the method further includes the dynamic adjustment of the background or static objects when user pans the camera left or right to maintain the high depth accuracy obtained using the large stereo base (step 508). This adjustment may be performed by looking at the depth map gradient of the different surfaces that comprise the background scene and interpolating based on the amount of movement.
  • The method of FIGS. 5A and 5B further includes the dynamic adjustment of moving objects (step 510). For example, the size of moving objects may be compared with the size on the previous frames and if the size gets larger it is appropriately adjusted on the depth map by taking in consideration the size of the increase and the time frame at which this increase took place. Similarly, if the object size gets smaller, it can be moved back on the depth plane with the amount that is appropriate based on the size of the decrease and the tie for this decrease took place.
  • Once the lateral and rotational motion vectors of the camera have been estimated, the absolute motion vectors of the moving objects can also be estimated. The rate of increase of the size of a moving object determines its motion towards the camera (closer in depth) and the rate of decrease of the size determines the motion away from the camera (farther in depth).
  • According to an embodiment, rate of scaling is a technique where key features of an object are measured between successive frames. Upon approach or retreat of an object from the camera (or camera from the object), object motion vectors may be indicative of the movement. FIG. 10 illustrates diagrams of a micro stereo based technique using frame-by-frame analysis in accordance with an embodiment of the present subject matter. For an object 1000 a at its position at time t, which is approaching the image capture device, its location at time t+1 may be closer to the image capture device than when the object 1000 b is at its location at time t+1, and therefore it will appear larger. For an object 1002 a at its position at time t and is retreating from the image capture device, its location at time t+1 will be further away when the object 1002 b is at its location at time t+1, and therefore it will appear smaller. For motion directly in line with the image capture device center, directionality of the mode measurements of pixel movement on the left, right, top, and bottom centers is indicative of the object (or camera) motion toward or away from the camera. Approaching motion may have a negative motion component on the left and top of the object, and positive on the right and bottom, such that the magnitude between left and right side vectors and between top and bottom vectors can increase. Retreating motion will have the opposite, such that the same magnitudes can decrease. Without loss of generality, any component of the object (or camera) motion that is away from the center line from the object to the camera can result in a translational component that may change the scale of the vectors, but will still maintain the magnitude change relationship. The rate of change these magnitudes, combined with a depth estimation, can be indicative of the velocity of this movement.
  • The combined motion vectors (MV) of moving objects, defined as objects comprising of pixels that do not follow the global motion movement, can be calculated using “rate of scaling” techniques to calculate motion vectors for movement in depth and traditional motion compensation methods to calculate movement in x and y coordinates. Enlargement of the measurements, during rate of scaling calculations, indicate that objects move closer to the camera, whereas smaller measurement indicate that objects move away from the camera. The rate of change also determines the motion vectors.
  • The method of FIGS. 5A and 5B further includes identification of occlusion zones resulting from the movement of objects in the scene (step 512). Once the occlusion area is calculated, a search can performed in adjacent frames to identify an accurate representation of such areas. If such areas do not exist, then occlusion zones can be calculated based on suitable techniques.
  • The method of FIGS. 5A and 5B further includes detection and placement of new objects in the depth plane (step 514). New objects can appear on the scene by either panning the camera left or right, or the objects entering the scene because of their movement. Once a new object is detected, it can be determined whether the object is a static or moving object by, for example, analyzing the motion vectors of the object and comparing the vectors with the motion vectors of the still background objects (step 516). If the objects are static, macro based techniques can be used to determine their depth and frames with large stereo base can be used to create their three-dimensional representation (step 518). If the objects are moving objects, micro based techniques can be used to determine their depth and frames with small stereo base can be used to create their three-dimensional representation after they have properly adjusted for motion (step 520). The recognition of new “objects” entering a given scene may also trigger the creation of a new panning sequence.
  • The method of FIGS. 5A and 5B includes processing a next frame in the sequence, if there is another frame (step 522). If there is another frame, the method proceeds to step 504. Otherwise, the method includes combining the current panning sequence with the one before by equalizing depth and other 3D parameters (step 524), as well as stabilizing for hand-shaking (step 525), and then processing a next panning sequence, if there is another (step 526). The method may then proceed to step 502 for another panning sequence.
  • The method of FIGS. 5A and 5B further includes combining the results from the macro- and micro-stereo base calculations to create a three-dimensional model for each frame in the panning sequence of a given scene, with the recognition that a given video sequence may include of multiple panning sequences, with depth equalization between them based on corresponding features (step 524). Each raster pixel for a frame can have an assign (x,y,z) triplet, and can be transformed via perspective projection to a triplet (x′,y′,z′) using a targeted angular rotation about the Y axis or similar view synthesis technique. The screen plane depth may initially be chosen or selected to create the axes for this rotation, and this may be done by selecting a depth from the range represented such that objects in front of the modeled plane are no further than X % of the planes distance closer to the viewer, with a typical value for X being 25%. The target angular rotation may be selected using an approximate viewing location and screen size for the final video, and is chosen to create an ideal stereo base representation of the entire scene and comfortable depth range for the viewer. In an embodiment, this depth range is viewer adjustable from the default settings previously calculated using the aforementioned parameters. Following this transform, multiple pixels are projected back to 2D space for viewing, with the recognition that some pixels may occupy the same space (meaning that the closer is viewed and the further is hidden), or that disparity/depth estimates may not exist for some pixels (in a sparse disparity map embodiment), such that some raster locations may not have assigned pixel values. In the latter case, pixel fill and interpolation methodologies, utilizing data available from previous or subsequent frames in the panning sequence may be performed.
  • The creation and presentation, such as display, of three-dimensional videos of a scene in accordance with embodiments of the present subject matter may be implemented by a single device or combination of devices. In one or more embodiments of the present subject matter, images may be captured by a camera such as, but not limited to, a digital camera. The camera may be connected to a personal computer for communication of the captured images to the personal computer. The personal computer may then generate one or more three-dimensional videos in accordance with embodiments of the present subject matter. After generation of the three-dimensional images, the personal computer may communicate the three-dimensional videos to the camera for display on a suitable three-dimensional display. The camera may include a suitable three-dimensional display. Also, the camera may be in suitable electronic communication with a high-definition television for display of the three-dimensional videos on the television. The communication of the three-dimensional videos may be, for example, via an HDMI connection.
  • In one or more other embodiments of the present subject matter, three-dimensional videos may be generated by a camera and displayed by a separate suitable display. For example, the camera may capture conventional two-dimensional images and then use the captured images to generate three-dimensional videos. The camera may be in suitable electronic communication with a high-definition television for display of the three-dimensional videos on the television. The communication of the three-dimensional videos may be, for example, via an HDMI connection.
  • The subject matter disclosed herein may be implemented by a suitable electronic device having one or more processors and memory, such as a digital still camera, a video camera, a mobile phone, a smart phone, phone, or the like. In order to provide additional context for various aspects of the disclosed subject matter, FIG. 11 and the following discussion are intended to provide a brief, general description of components of a suitable electronic device 1100 in which various aspects of the disclosed subject matter may be implemented. While the present subject matter is described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices, those skilled in the art will recognize that the disclosed subject matter can also be implemented in combination with other program modules and/or as a combination of hardware and software.
  • Generally, however, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular data types. The operating environment 1100 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the subject matter disclosed herein. Other well-known computer systems, environments, and/or configurations that may be suitable for use with the subject matter include but are not limited to, personal computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include the above systems or devices, and the like.
  • With reference to FIG. 6, an exemplary environment 1100 for implementing various aspects of the present subject matter disclosed herein includes a computer 1102. The computer 1102 includes a processing unit 1104, a system memory 1106, and a system bus 1108. The system bus 1108 couples system components including, but not limited to, the system memory 1106 to the processing unit 1104. The processing unit 1104 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit 1104.
  • The system bus 1108 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 11-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MCA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
  • The system memory 1106 includes volatile memory 1110 and nonvolatile memory 1112. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer 1102, such as during start-up, is stored in nonvolatile memory 1112. By way of illustration, and not limitation, nonvolatile memory 1112 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory 1110 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
  • Computer 602 also includes removable/nonremovable, volatile/nonvolatile computer storage media. FIG. 6 illustrates, for example, disk storage 1114. Disk storage 1114 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memory stick. In addition, disk storage 1024 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM). To facilitate connection of the disk storage devices 1114 to the system bus 1108, a removable or nonremovable interface is typically used such as interface 1116.
  • It is to be appreciated that FIG. 11 describes software that acts as an intermediary between users and the basic computer resources described in suitable operating environment 1100. Such software includes an operating system 1118. Operating system 1118, which can be stored on disk storage 1114, acts to control and allocate resources of the computer system 1102. System applications 1120 take advantage of the management of resources by operating system 1118 through program modules 1122 and program data 1124 stored either in system memory 1106 or on disk storage 1114. It is to be appreciated that the subject matter disclosed herein can be implemented with various operating systems or combinations of operating systems.
  • A user enters commands or information into the computer 1102 through input device(s) 1126. Input devices 1126 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 1104 through the system bus 1108 via interface port(s) 1128. Interface port(s) 1128 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) 1130 use some of the same type of ports as input device(s) 1126. Thus, for example, a USB port may be used to provide input to computer 1102 and to output information from computer 1102 to an output device 1130. Output adapter 1132 is provided to illustrate that there are some output devices 1130 like monitors, speakers, and printers among other output devices 1130 that require special adapters. The output adapters 1132 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1130 and the system bus 1108. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1134.
  • Computer 1102 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1134. The remote computer(s) 1134 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1102. For purposes of brevity, only a memory storage device 1136 is illustrated with remote computer(s) 1134. Remote computer(s) 1134 is logically connected to computer 1102 through a network interface 1138 and then physically connected via communication connection 1140. Network interface 1138 encompasses communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet/IEEE 1102.3, Token Ring/IEEE 1102.5 and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
  • Communication connection(s) 1140 refers to the hardware/software employed to connect the network interface 1138 to the bus 1108. While communication connection 1140 is shown for illustrative clarity inside computer 1102, it can also be external to computer 1102. The hardware/software necessary for connection to the network interface 1138 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
  • The various techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the disclosed embodiments, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the subject matter. In the case of program code execution on programmable computers, the computer will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device and at least one output device. One or more programs are preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations.
  • The described methods and apparatus may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the subject matter. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the processing of the present subject matter.
  • While the embodiments have been described in connection with the preferred embodiments of the various figures, it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function without deviating therefrom. Therefore, the disclosed embodiments should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.

Claims (20)

What is claimed:
1. A method for creating a three-dimensional video sequence of a scene, the method comprising:
using at least one processor and memory for:
receiving a two-dimensional video sequence of a scene, the two-dimensional video sequence including a plurality of frames;
selecting a target frame from among the plurality of frames;
selecting a first subset of frames, N, from among the plurality of frames that are associated with the target frame, representative of a targeted stereo displacement of the capture device from the target frame position;
analyzing the first subset of frames to identify two images for use in forming a stereoscopic pair of frames with a predetermined spatial difference;
identifying and classifying static and moving objects between the stereoscopic pair of frames;
extracting depth data of static objects in the stereoscopic pair of frames;
selecting a second subset of frames, n, from among the plurality of frames that are associated with the target frame, representative of a stereo displacement that is substantially smaller than the displacement represented by N;
utilizing the second subset of frames to calculate depth of moving objects;
combining the depth values of static and moving objects based on an absolute depth of static objects and the relative depth of moving objects; and
generating a three-dimensional video frame consisting of the target frame and a depth-generated view corresponding to the target frame based on the depth data.
2. The method of claim 1, further comprising one or more steps of identifying suitable frames, registration, stabilization, color correction, transformation, and depth adjustment.
3. The method of claim 1, further comprising generating one or more additional frames and frame viewpoints using one of existing raster data and depth information.
4. The method of claim 1, further comprising using a micro stereo base technique for generating image representations of close and moving objects of the scene.
5. The method of claim 1, further comprising using a macro stereo base technique for generating image representations of a background and non-moving objects of the scene.
6. The method of claim 1, further comprising using an image capture device for capturing the two-dimensional video sequence.
7. The method of claim 1, further comprising using the steps of claim 1 for generating a plurality of three-dimensional video frames.
8. The method of claim 1, further comprising dividing the captured two-dimensional video sequence into segments divided by utilizing one of a scene change detection and camera pose information.
9. The method of claim 8, further comprising creating a stereoscopic video sequence from each segment.
10. The method of claim 9, further comprising equalizing the depths and other three-dimensional parameters and combining the individual stereoscopic segments to form a single three-dimensional video stream.
11. The method of claim 1, further comprising analyzing captured frames to measure object displacements between two or more frames via motion vectors and identifying and classifying static and moving objects within the current target frame.
12. The method of claim 1, further comprising:
analyzing captured frames; and
identifying a position of key static objects to estimate the position of the camera.
13. The method of claim 1, further comprising measuring the motion vectors of the moving objects and estimating their relative position on the x, y space.
14. The method of claim 1, further comprising:
measuring sizes of moving objects; and
estimating their relative position on the z-space based on the rate of increase or decrease of their sizes.
15. The method of claim 1, further comprising estimating the depth of moving objects by identifying the depth of key points of moving objects relative to the depth of neighboring static objects with known depths and extrapolating based on temporal or structural relationships.
16. The method of claim 1, further comprising estimating the depth of moving objects by determining whether they are moving behind or in front of static objects and utilizing the depth of static objects to estimate the depth of a moving object based on the moving object's trajectory in time.
17. The method of claim 1, further comprising:
segmenting the static portions of the scene into static objects with known positions in three-dimensional space and utilizing prediction techniques to estimate the depth of new information entering into the captured video sequence associated with the same or related static objects.
18. The method of claim 1, further comprising:
measuring sizes of static objects; and
estimating changes in camera focal length and adjusting the depth of the scene based on the relative zoom factor of the camera based on their relative rate of increase or decrease over time.
19. A system for creating a three-dimensional video sequence of a scene, the system comprising:
a memory having stored therein computer program code;
a computer processor that executes the computer program code;
a video generator configured to:
receive a two-dimensional video sequence of a scene, the two-dimensional video sequence including a plurality of frames;
select a target frame from among the plurality of frames;
select a first subset of frames, N, from among the plurality of frames that are associated with the target frame, representative of a targeted stereo displacement of the capture device from the target frame position;
analyze the first subset of frames to identify two images for use in forming a stereoscopic pair of frames with a predetermined spatial difference;
extract depth data of static objects in the stereoscopic pair of frames;
select a second subset of frames, n, from among the plurality of frames that are associated with the target frame, representative of a stereo displacement that is substantially smaller than the displacement represented by N;
utilize the second subset of frames to calculate depth of moving objects;
combine the depth values of static and moving objects based on the absolute depth of static objects and the relative depth of moving objects; and
generate a three-dimensional video frame consisting of the target frame and a depth-generated view corresponding to the target frame based on the depth data.
20. The system of claim 19, wherein the video generator is configured to implement one or more functions of identifying suitable frames, registration, stabilization, color correction, transformation, and depth adjustment.
US14/935,899 2010-11-03 2015-11-09 Methods, systems, and computer program products for creating three-dimensional video sequences Abandoned US20160065948A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/935,899 US20160065948A1 (en) 2010-11-03 2015-11-09 Methods, systems, and computer program products for creating three-dimensional video sequences

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US40966410P 2010-11-03 2010-11-03
US13/288,209 US9185388B2 (en) 2010-11-03 2011-11-03 Methods, systems, and computer program products for creating three-dimensional video sequences
US14/935,899 US20160065948A1 (en) 2010-11-03 2015-11-09 Methods, systems, and computer program products for creating three-dimensional video sequences

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/288,209 Continuation US9185388B2 (en) 2010-11-03 2011-11-03 Methods, systems, and computer program products for creating three-dimensional video sequences

Publications (1)

Publication Number Publication Date
US20160065948A1 true US20160065948A1 (en) 2016-03-03

Family

ID=45996274

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/288,209 Expired - Fee Related US9185388B2 (en) 2010-11-03 2011-11-03 Methods, systems, and computer program products for creating three-dimensional video sequences
US14/935,899 Abandoned US20160065948A1 (en) 2010-11-03 2015-11-09 Methods, systems, and computer program products for creating three-dimensional video sequences

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/288,209 Expired - Fee Related US9185388B2 (en) 2010-11-03 2011-11-03 Methods, systems, and computer program products for creating three-dimensional video sequences

Country Status (2)

Country Link
US (2) US9185388B2 (en)
WO (1) WO2012061549A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170358101A1 (en) * 2016-06-10 2017-12-14 Apple Inc. Optical Image Stabilization for Depth Sensing

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2442720B1 (en) 2009-06-17 2016-08-24 3Shape A/S Focus scanning apparatus
WO2011014419A1 (en) * 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for creating three-dimensional (3d) images of a scene
US9380292B2 (en) 2009-07-31 2016-06-28 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating three-dimensional (3D) images of a scene
US8436893B2 (en) * 2009-07-31 2013-05-07 3Dmedia Corporation Methods, systems, and computer-readable storage media for selecting image capture positions to generate three-dimensional (3D) images
KR101055411B1 (en) * 2010-03-12 2011-08-09 이상원 Method and apparatus of generating stereoscopic image
US9344701B2 (en) 2010-07-23 2016-05-17 3Dmedia Corporation Methods, systems, and computer-readable storage media for identifying a rough depth map in a scene and for determining a stereo-base distance for three-dimensional (3D) content creation
WO2012061549A2 (en) 2010-11-03 2012-05-10 3Dmedia Corporation Methods, systems, and computer program products for creating three-dimensional video sequences
US10200671B2 (en) 2010-12-27 2019-02-05 3Dmedia Corporation Primary and auxiliary image capture devices for image processing and related methods
US8274552B2 (en) 2010-12-27 2012-09-25 3Dmedia Corporation Primary and auxiliary image capture devices for image processing and related methods
US9118902B1 (en) * 2011-07-05 2015-08-25 Lucasfilm Entertainment Company Ltd. Stereoscopic conversion
US20140253737A1 (en) * 2011-09-07 2014-09-11 Yitzchak Kempinski System and method of tracking an object in an image captured by a moving device
US20130107008A1 (en) * 2011-10-31 2013-05-02 Nokia Corporation Method, apparatus and computer program product for capturing images
US20130201328A1 (en) * 2012-02-08 2013-08-08 Hing Ping Michael CHUNG Multimedia processing as a service
US20130328930A1 (en) * 2012-06-06 2013-12-12 Samsung Electronics Co., Ltd. Apparatus and method for providing augmented reality service
JP2014003465A (en) * 2012-06-19 2014-01-09 Seiko Epson Corp Image display device and control method therefor
WO2014027229A1 (en) * 2012-08-15 2014-02-20 Ludovic Angot Method and apparatus for converting 2d images to 3d images
US9299152B2 (en) * 2012-12-20 2016-03-29 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for image depth map generation
US10491916B2 (en) * 2013-10-01 2019-11-26 Advanced Micro Devices, Inc. Exploiting camera depth information for video encoding
KR102084253B1 (en) * 2013-11-20 2020-03-03 한국전자통신연구원 Apparatus and method for tracking a camera using reconstructed surface segments and volumetric surface
US20150215530A1 (en) * 2014-01-27 2015-07-30 Microsoft Corporation Universal capture
US10010387B2 (en) 2014-02-07 2018-07-03 3Shape A/S Detecting tooth shade
EP3916632A1 (en) * 2014-05-21 2021-12-01 Tangible Play, Inc. Virtualization of tangible interface objects
JP6425534B2 (en) * 2014-12-25 2018-11-21 キヤノン株式会社 IMAGE PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM
US9978135B2 (en) 2015-02-27 2018-05-22 Cognex Corporation Detecting object presence on a target surface
US9648303B1 (en) * 2015-12-15 2017-05-09 Disney Enterprises, Inc. Systems and methods for facilitating three-dimensional reconstruction of scenes from videos
CA3007434A1 (en) * 2015-12-23 2017-06-29 Mayo Foundation For Medical Education And Research System and method for integrating three dimensional video and galvanic vestibular stimulation
US10755428B2 (en) * 2017-04-17 2020-08-25 The United States Of America, As Represented By The Secretary Of The Navy Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
JP2018204950A (en) * 2017-05-30 2018-12-27 株式会社東海理化電機製作所 Image recognition apparatus
CN111369688B (en) * 2020-03-11 2023-05-09 暗物智能科技(广州)有限公司 Cognitive navigation method and system for structured scene expression
CN114697758B (en) * 2020-12-30 2023-03-31 北京金山云网络技术有限公司 Video processing method and device and electronic equipment
CN112954293B (en) * 2021-01-27 2023-03-24 北京达佳互联信息技术有限公司 Depth map acquisition method, reference frame generation method, encoding and decoding method and device
CN112950699A (en) * 2021-03-30 2021-06-11 深圳市商汤科技有限公司 Depth measurement method, depth measurement device, electronic device and storage medium
CN114051128B (en) * 2021-11-11 2023-09-05 北京奇艺世纪科技有限公司 Method, device, equipment and medium for converting 2D video into 3D video

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026093A1 (en) * 2000-08-23 2002-02-28 Kabushiki Kaisha Toshiba Endscope system
US6504569B1 (en) * 1998-04-22 2003-01-07 Grass Valley (U.S.), Inc. 2-D extended image generation from 3-D data extracted from a video sequence
US20050100192A1 (en) * 2003-10-09 2005-05-12 Kikuo Fujimura Moving object detection using low illumination depth capable computer vision
US20050271279A1 (en) * 2004-05-14 2005-12-08 Honda Motor Co., Ltd. Sign based human-machine interaction
US20070074251A1 (en) * 2005-09-27 2007-03-29 Oguz Seyfullah H Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
US20080260207A1 (en) * 2006-10-31 2008-10-23 Honda Motor Co., Ltd. Vehicle environment monitoring apparatus
US20090041302A1 (en) * 2007-08-07 2009-02-12 Honda Motor Co., Ltd. Object type determination apparatus, vehicle, object type determination method, and program for determining object type
US7620202B2 (en) * 2003-06-12 2009-11-17 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
US20100149422A1 (en) * 2007-01-26 2010-06-17 Jonatan Samuelsson Image block classification
US20100309286A1 (en) * 2009-06-05 2010-12-09 Qualcomm Incorporated Encoding of three-dimensional conversion information with two-dimensional video sequence
US20110064275A1 (en) * 2008-04-24 2011-03-17 Honda Motor Co., Ltd. Vehicle periphery monitoring apparatus
US20110096832A1 (en) * 2009-10-23 2011-04-28 Qualcomm Incorporated Depth map generation techniques for conversion of 2d video data to 3d video data
US20110141227A1 (en) * 2009-12-11 2011-06-16 Petronel Bigioi Stereoscopic (3d) panorama creation on handheld device
US20110164810A1 (en) * 2008-01-04 2011-07-07 Tong Zang Image signatures for use in motion-based three-dimensional reconstruction
US20110178658A1 (en) * 2010-01-20 2011-07-21 Honeywell International Inc. Systems and methods for monocular airborne object detection
US20120030727A1 (en) * 2010-08-02 2012-02-02 At&T Intellectual Property I, L.P. Apparatus and method for providing media content
US20120074227A1 (en) * 2009-06-16 2012-03-29 Bran Ferren Camera applications in a handheld device
US20120219188A1 (en) * 2009-10-19 2012-08-30 Metaio Gmbh Method of providing a descriptor for at least one feature of an image and method of matching features

Family Cites Families (211)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3503316A (en) 1965-11-09 1970-03-31 Toppan Printing Co Ltd Apparatus for producing stereoscopic pictures
US3953869A (en) 1974-09-24 1976-04-27 Dimensional Development Corporation Stereoscopic photography apparatus
GB8317407D0 (en) 1983-06-27 1983-07-27 Rca Corp Image transform techniques
US4956705A (en) 1989-03-10 1990-09-11 Dimensional Visions Group Electronic method and apparatus for stereoscopic photography
FR2650465B1 (en) 1989-07-26 1996-06-21 France Etat PROCESS AND TRANSMISSION THROUGH A MAC-TYPE CHANNEL OF A TORQUE SEQUENCE OF STEREOSCOPIC TELEVISION IMAGES
JP2928548B2 (en) 1989-08-02 1999-08-03 株式会社日立製作所 Three-dimensional shape detection method and device
US4980762A (en) 1989-10-13 1990-12-25 Massachusetts Institute Of Technology Method and apparatus for image processing to obtain three dimensional motion and depth
US5369735A (en) 1990-03-30 1994-11-29 New Microtime Inc. Method for controlling a 3D patch-driven special effects system
JPH0560528A (en) 1991-09-03 1993-03-09 Hitachi Ltd Input device for three-dimensional information
US5603687A (en) 1992-10-28 1997-02-18 Oktas General Partnership Asymmetric stereo-optic endoscope
US5613048A (en) 1993-08-03 1997-03-18 Apple Computer, Inc. Three-dimensional image synthesis using view interpolation
US5444479A (en) 1993-09-02 1995-08-22 Vision Iii Imaging, Inc. Single camera autostereoscopic imaging apparatus
US5448322A (en) 1993-11-05 1995-09-05 Vision Iii Imaging, Inc. Autostereoscopic imaging apparatus and method using a parallax scanning lens aperture
US5511153A (en) 1994-01-18 1996-04-23 Massachusetts Institute Of Technology Method and apparatus for three-dimensional, textured models from plural video images
US5963247A (en) 1994-05-31 1999-10-05 Banitt; Shmuel Visual display systems and a system for producing recordings for visualization thereon and methods therefor
JP3242529B2 (en) 1994-06-07 2001-12-25 松下通信工業株式会社 Stereo image matching method and stereo image parallax measurement method
JP3513219B2 (en) 1994-07-12 2004-03-31 キヤノン株式会社 Corresponding point matching method and apparatus
JP2846840B2 (en) 1994-07-14 1999-01-13 三洋電機株式会社 Method for generating 3D image from 2D image
FR2724033B1 (en) 1994-08-30 1997-01-03 Thomson Broadband Systems SYNTHESIS IMAGE GENERATION METHOD
EP0703716B1 (en) 1994-09-22 2002-11-27 Sanyo Electric Co. Ltd Method of converting two-dimensional images into three-dimensional images
US6414709B1 (en) 1994-11-03 2002-07-02 Synthonics Incorporated Methods and apparatus for zooming during capture and reproduction of 3-dimensional images
JP2846830B2 (en) 1994-11-22 1999-01-13 三洋電機株式会社 How to convert 2D video to 3D video
KR100414629B1 (en) 1995-03-29 2004-05-03 산요덴키가부시키가이샤 3D display image generation method, image processing method using depth information, depth information generation method
KR100381348B1 (en) 1995-04-17 2003-07-07 산요 덴키 가부시키가이샤 How to convert 2D image to 3D image
US5748199A (en) 1995-12-20 1998-05-05 Synthonics Incorporated Method and apparatus for converting a two dimensional motion picture into a three dimensional motion picture
US5953054A (en) 1996-05-31 1999-09-14 Geo-3D Inc. Method and system for producing stereoscopic 3-dimensional images
US5874988A (en) 1996-07-08 1999-02-23 Da Vinci Systems, Inc. System and methods for automated color correction
US6075905A (en) 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6445833B1 (en) 1996-07-18 2002-09-03 Sanyo Electric Co., Ltd Device and method for converting two-dimensional video into three-dimensional video
US5652616A (en) 1996-08-06 1997-07-29 General Instrument Corporation Of Delaware Optimal disparity estimation for stereoscopic video coding
US6064759A (en) 1996-11-08 2000-05-16 Buckley; B. Shawn Computer aided inspection machine
US6031564A (en) 1997-07-07 2000-02-29 Reveo, Inc. Method and apparatus for monoscopic to stereoscopic image conversion
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US6747610B1 (en) 1997-07-22 2004-06-08 Sanyo Electric Co., Ltd. Stereoscopic image display apparatus capable of selectively displaying desired stereoscopic image
US6018349A (en) 1997-08-01 2000-01-25 Microsoft Corporation Patch-based alignment method and apparatus for construction of image mosaics
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
US5883695A (en) 1997-09-19 1999-03-16 Paul; Eddie Method and apparatus for producing stereoscopic images with single sensor
AU9663098A (en) 1997-09-23 1999-04-12 Enroute, Inc. Generating three-dimensional models of objects defined by two-dimensional image data
US6047078A (en) 1997-10-03 2000-04-04 Digital Equipment Corporation Method for extracting a three-dimensional model using appearance-based constrained structure from motion
CA2305735C (en) 1997-12-05 2008-01-08 Dynamic Digital Depth Research Pty. Ltd. Improved image conversion and encoding techniques
JP4056154B2 (en) 1997-12-30 2008-03-05 三星電子株式会社 2D continuous video 3D video conversion apparatus and method, and 3D video post-processing method
US6094215A (en) 1998-01-06 2000-07-25 Intel Corporation Method of determining relative camera orientation position to create 3-D visual images
JP4172554B2 (en) 1998-03-12 2008-10-29 富士重工業株式会社 Stereo camera adjustment device
US6240198B1 (en) 1998-04-13 2001-05-29 Compaq Computer Corporation Method for figure tracking using 2-D registration
US6269172B1 (en) 1998-04-13 2001-07-31 Compaq Computer Corporation Method for tracking the motion of a 3-D figure
US7116323B2 (en) 1998-05-27 2006-10-03 In-Three, Inc. Method of hidden surface reconstruction for creating accurate three-dimensional images converted from two-dimensional images
US7116324B2 (en) 1998-05-27 2006-10-03 In-Three, Inc. Method for minimizing visual artifacts converting two-dimensional motion pictures into three-dimensional motion pictures
US6208348B1 (en) 1998-05-27 2001-03-27 In-Three, Inc. System and method for dimensionalization processing of images in consideration of a pedetermined image projection format
US6246412B1 (en) 1998-06-18 2001-06-12 Microsoft Corporation Interactive construction and refinement of 3D models from multiple panoramic images
US6023588A (en) 1998-09-28 2000-02-08 Eastman Kodak Company Method and apparatus for capturing panoramic images with range data
GB2343320B (en) 1998-10-31 2003-03-26 Ibm Camera system for three dimentional images and video
US6278460B1 (en) 1998-12-15 2001-08-21 Point Cloud, Inc. Creating a three-dimensional model from two-dimensional images
JP2000251090A (en) 1999-03-01 2000-09-14 Sony Computer Entertainment Inc Drawing device, and method for representing depth of field by the drawing device
US6661913B1 (en) 1999-05-05 2003-12-09 Microsoft Corporation System and method for determining structure and motion using multiples sets of images from different projection models for object modeling
GB9912438D0 (en) 1999-05-27 1999-07-28 United Bristol Healthcare Nhs Method and apparatus for displaying volumetric data
US6760488B1 (en) 1999-07-12 2004-07-06 Carnegie Mellon University System and method for generating a three-dimensional model from a two-dimensional image sequence
US6556704B1 (en) 1999-08-25 2003-04-29 Eastman Kodak Company Method for forming a depth image from digital image data
GB2354389A (en) 1999-09-15 2001-03-21 Sharp Kk Stereo images with comfortable perceived depth
EP1085769B1 (en) 1999-09-15 2012-02-01 Sharp Kabushiki Kaisha Stereoscopic image pickup apparatus
US6862364B1 (en) 1999-10-27 2005-03-01 Canon Kabushiki Kaisha Stereo image processing for radiography
US6381302B1 (en) 2000-07-05 2002-04-30 Canon Kabushiki Kaisha Computer assisted 2D adjustment of stereo X-ray images
AUPQ416699A0 (en) 1999-11-19 1999-12-16 Dynamic Digital Depth Research Pty Ltd Depth map compression technique
US6970591B1 (en) 1999-11-25 2005-11-29 Canon Kabushiki Kaisha Image processing apparatus
ATE499625T1 (en) 1999-12-13 2011-03-15 Univ Columbia RECTIFIED CATADIOPTRIC STEREO SENSORS
US6677981B1 (en) 1999-12-31 2004-01-13 Stmicroelectronics, Inc. Motion play-back of still pictures comprising a panoramic view for simulating perspective
US6980690B1 (en) 2000-01-20 2005-12-27 Canon Kabushiki Kaisha Image processing apparatus
US6978051B2 (en) 2000-03-06 2005-12-20 Sony Corporation System and method for capturing adjacent images by utilizing a panorama mode
US7373017B2 (en) 2005-10-04 2008-05-13 Sony Corporation System and method for capturing adjacent images by utilizing a panorama mode
US7522186B2 (en) * 2000-03-07 2009-04-21 L-3 Communications Corporation Method and apparatus for providing immersive surveillance
JP2001285894A (en) 2000-03-31 2001-10-12 Olympus Optical Co Ltd Method for running three-dimensional image data
JP4635403B2 (en) 2000-04-04 2011-02-23 ソニー株式会社 Stereoscopic image creation method and apparatus
US7027642B2 (en) 2000-04-28 2006-04-11 Orametrix, Inc. Methods for registration of three-dimensional frames to create three-dimensional virtual models of objects
US6701005B1 (en) 2000-04-29 2004-03-02 Cognex Corporation Method and apparatus for three-dimensional object segmentation
US7224357B2 (en) 2000-05-03 2007-05-29 University Of Southern California Three-dimensional modeling based on photographic images
US6606406B1 (en) 2000-05-04 2003-08-12 Microsoft Corporation System and method for progressive stereo matching of digital images
US6611268B1 (en) 2000-05-30 2003-08-26 Microsoft Corporation System and process for generating 3D video textures using video-based rendering techniques
US6559846B1 (en) 2000-07-07 2003-05-06 Microsoft Corporation System and process for viewing panoramic video
US6967659B1 (en) 2000-08-25 2005-11-22 Advanced Micro Devices, Inc. Circuitry and systems for performing two-dimensional motion compensation using a three-dimensional pipeline and methods of operating the same
US6677982B1 (en) 2000-10-11 2004-01-13 Eastman Kodak Company Method for three dimensional spatial panorama formation
US6927769B2 (en) 2000-11-21 2005-08-09 Vrex, Inc. Stereoscopic image processing on a computer system
CA2327894A1 (en) 2000-12-07 2002-06-07 Clearview Geophysics Inc. Method and system for complete 3d object and area digitizing
US7155049B2 (en) 2001-01-11 2006-12-26 Trestle Acquisition Corp. System for creating microscopic digital montage images
EP1371019A2 (en) 2001-01-26 2003-12-17 Zaxel Systems, Inc. Real-time virtual viewpoint in simulated reality environment
DE10105423C1 (en) 2001-01-31 2002-07-04 Hertz Inst Heinrich Correlation analysis method for image characteristics in corresponding real-time video images uses hybrid recursive technique for providing disparity vector field used as correlation vector field
DE10116056B4 (en) 2001-03-30 2005-09-08 Karl Storz Gmbh & Co. Kg Endoscopic visualization device with different image systems
WO2002096096A1 (en) 2001-05-16 2002-11-28 Zaxel Systems, Inc. 3d instant replay system and method
JP2002354477A (en) * 2001-05-24 2002-12-06 Pioneer Electronic Corp Quantization unit setting device and method thereof, encoding device and encoding method and information recording medium and quantization unit setting program
JP2002354476A (en) * 2001-05-24 2002-12-06 Pioneer Electronic Corp Quantization unit setting device and method therefor, encoding device and encoding method, information recording medium, and quantization unit setting program
US20030002870A1 (en) 2001-06-27 2003-01-02 Baron John M. System for and method of auto focus indications
US6947059B2 (en) 2001-08-10 2005-09-20 Micoy Corporation Stereoscopic panoramic image capture device
JP2003141562A (en) 2001-10-29 2003-05-16 Sony Corp Image processing apparatus and method for nonplanar image, storage medium, and computer program
US7046840B2 (en) 2001-11-09 2006-05-16 Arcsoft, Inc. 3-D reconstruction engine
JP5020458B2 (en) 2001-11-24 2012-09-05 フェニックス スリーディー インコーポレイテッド Generation of stereoscopic image sequence from 2D image sequence
US20040218269A1 (en) 2002-01-14 2004-11-04 Divelbiss Adam W. General purpose stereoscopic 3D format conversion system and method
DE10201523A1 (en) 2002-01-17 2003-07-31 Bosch Gmbh Robert Method and device for masking detection in image sensor systems
JP2003244500A (en) 2002-02-13 2003-08-29 Pentax Corp Stereo image pickup device
JP2003244727A (en) 2002-02-13 2003-08-29 Pentax Corp Stereoscopic image pickup system
US20030152264A1 (en) 2002-02-13 2003-08-14 Perkins Christopher H. Method and system for processing stereoscopic images
CA2380105A1 (en) 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
US7081892B2 (en) 2002-04-09 2006-07-25 Sony Computer Entertainment America Inc. Image with depth of field using z-buffer image data and alpha blending
US7203356B2 (en) 2002-04-11 2007-04-10 Canesta, Inc. Subject segmentation and tracking using 3D sensing technology for video compression in multimedia applications
US7224382B2 (en) 2002-04-12 2007-05-29 Image Masters, Inc. Immersive imaging system
US7489812B2 (en) 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
IL150131A (en) 2002-06-10 2007-03-08 Rafael Advanced Defense Sys Method for converting a sequence of monoscopic images to a sequence of stereoscopic images
WO2004001667A2 (en) 2002-06-21 2003-12-31 The Trustees Of Columbia University In The City Of New York Systems and methods for de-blurring motion blurred images
US7400782B2 (en) 2002-08-28 2008-07-15 Arcsoft, Inc. Image warping correction in forming 360 degree panoramic images
WO2004021151A2 (en) 2002-08-30 2004-03-11 Orasee Corp. Multi-dimensional image system for digital image input and output
JP4216021B2 (en) 2002-08-30 2009-01-28 富士重工業株式会社 Intruder detection device
US7466336B2 (en) 2002-09-05 2008-12-16 Eastman Kodak Company Camera and method for composing multi-perspective images
JP4072674B2 (en) 2002-09-06 2008-04-09 ソニー株式会社 Image processing apparatus and method, recording medium, and program
EP1570683A1 (en) 2002-11-21 2005-09-07 Vision III Imaging, Inc. Critical alignment of parallax images for autostereoscopic display
US20040100565A1 (en) 2002-11-22 2004-05-27 Eastman Kodak Company Method and system for generating images used in extended range panorama composition
AU2002952874A0 (en) 2002-11-25 2002-12-12 Dynamic Digital Depth Research Pty Ltd 3D image synthesis from depth encoded source view
GB0228875D0 (en) 2002-12-11 2003-01-15 Eastman Kodak Co Three dimensional images
JP4490074B2 (en) 2003-04-17 2010-06-23 ソニー株式会社 Stereoscopic image processing apparatus, stereoscopic image display apparatus, stereoscopic image providing method, and stereoscopic image processing system
GB0310504D0 (en) 2003-05-07 2003-06-11 Canon Europa Nv Photographing apparatus,device and method for obtaining images to be used for creating three-dimensional model
US8896725B2 (en) 2007-06-21 2014-11-25 Fotonation Limited Image capture device with contemporaneous reference image capture mechanism
GB0318701D0 (en) * 2003-08-08 2003-09-10 Inst Of Cancer Res The A method and apparatus for image processing
US8553113B2 (en) 2003-08-20 2013-10-08 At&T Intellectual Property I, L.P. Digital image capturing system and method
GB2405764A (en) 2003-09-04 2005-03-09 Sharp Kk Guided capture or selection of stereoscopic image pairs.
JP3991020B2 (en) 2003-09-30 2007-10-17 キヤノン株式会社 Image display method and image display system
US7409105B2 (en) 2003-10-22 2008-08-05 Arcsoft, Inc. Panoramic maker engine for a low profile system
GB2408901B (en) 2003-12-05 2006-07-12 Motorola Inc A decoder for a wireless communication device
GB0329312D0 (en) 2003-12-18 2004-01-21 Univ Durham Mapping perceived depth to regions of interest in stereoscopic images
ATE382919T1 (en) 2004-02-17 2008-01-15 Koninkl Philips Electronics Nv CREATE A DEPTH MAP
US7103213B2 (en) 2004-03-02 2006-09-05 Sarnoff Corporation Method and apparatus for classifying an object
KR100519782B1 (en) 2004-03-04 2005-10-07 삼성전자주식회사 Method and apparatus for detecting people using a stereo camera
FR2868168B1 (en) 2004-03-26 2006-09-15 Cnes Epic FINE MATCHING OF STEREOSCOPIC IMAGES AND DEDICATED INSTRUMENT WITH A LOW STEREOSCOPIC COEFFICIENT
US8049776B2 (en) 2004-04-12 2011-11-01 Angstrom, Inc. Three-dimensional camcorder
US7512883B2 (en) 2004-06-30 2009-03-31 Microsoft Corporation Portable solution for automatic camera management
EP1613060A1 (en) 2004-07-02 2006-01-04 Sony Ericsson Mobile Communications AB Capturing a sequence of images
JP4581512B2 (en) 2004-07-02 2010-11-17 オムロン株式会社 Three-dimensional image processing apparatus, optical axis adjustment method, and optical axis adjustment support method
US7515759B2 (en) 2004-07-14 2009-04-07 Sharp Laboratories Of America, Inc. 3D video coding using sub-sequences
KR100601958B1 (en) 2004-07-15 2006-07-14 삼성전자주식회사 Method for estimting disparity for 3D object recognition
WO2006017771A1 (en) 2004-08-06 2006-02-16 University Of Washington Variable fixation viewing distance scanned light displays
CN101027900A (en) 2004-09-24 2007-08-29 皇家飞利浦电子股份有限公司 System and method for the production of composite images comprising or using one or more cameras for providing overlapping images
JP2006113807A (en) 2004-10-14 2006-04-27 Canon Inc Image processor and image processing program for multi-eye-point image
WO2006062325A1 (en) 2004-12-06 2006-06-15 Electronics And Telecommunications Research Institute Apparatus for correcting image distortion of stereo-camera and method thereof
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system
US8082120B2 (en) 2005-03-11 2011-12-20 Creaform Inc. Hand-held self-referenced apparatus for three-dimensional scanning
US20060210111A1 (en) 2005-03-16 2006-09-21 Dixon Cleveland Systems and methods for eye-operated three-dimensional object location
US7760962B2 (en) 2005-03-30 2010-07-20 Casio Computer Co., Ltd. Image capture apparatus which synthesizes a plurality of images obtained by shooting a subject from different directions, to produce an image in which the influence of glare from a light is reduced
US7643062B2 (en) 2005-06-08 2010-01-05 Hewlett-Packard Development Company, L.P. Method and system for deblurring an image based on motion tracking
US8384763B2 (en) 2005-07-26 2013-02-26 Her Majesty the Queen in right of Canada as represented by the Minster of Industry, Through the Communications Research Centre Canada Generating a depth map from a two-dimensional source image for stereoscopic and multiview imaging
KR100653965B1 (en) 2005-08-01 2006-12-05 심재용 A 3d stereoscopic image processing device of portable telephone using the different camera sensor
KR100667810B1 (en) 2005-08-31 2007-01-11 삼성전자주식회사 Apparatus for controlling depth of 3d picture and method therefor
EP1763258B1 (en) 2005-09-09 2010-11-03 Olympus Medical Systems Corp. Medical stereo observation system
US20070064098A1 (en) 2005-09-19 2007-03-22 Available For Licensing Systems and methods for 3D rendering
CN101536036A (en) 2005-09-26 2009-09-16 皇家飞利浦电子股份有限公司 Method and device for tracking a movement of an object or of a person
US7605817B2 (en) * 2005-11-09 2009-10-20 3M Innovative Properties Company Determining camera motion
JP4356689B2 (en) 2005-12-08 2009-11-04 ソニー株式会社 CAMERA SYSTEM, CAMERA CONTROL DEVICE, PANORAMA IMAGE CREATION METHOD, AND COMPUTER PROGRAM
US20070165942A1 (en) 2006-01-18 2007-07-19 Eastman Kodak Company Method for rectifying stereoscopic display systems
KR100679054B1 (en) 2006-02-15 2007-02-06 삼성전자주식회사 Apparatus and method for displaying three-dimensional image
JP4889351B2 (en) * 2006-04-06 2012-03-07 株式会社トプコン Image processing apparatus and processing method thereof
US7965859B2 (en) * 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
GB0608841D0 (en) 2006-05-04 2006-06-14 Isis Innovation Scanner system and method for scanning
US7573475B2 (en) 2006-06-01 2009-08-11 Industrial Light & Magic 2D to 3D image conversion
US7573489B2 (en) 2006-06-01 2009-08-11 Industrial Light & Magic Infilling for 2D to 3D image conversion
US7705970B2 (en) 2006-06-05 2010-04-27 The Regents Of The University Of Colorado Method and system for optical imaging and ranging
US7538876B2 (en) 2006-06-12 2009-05-26 The Boeing Company Efficient and accurate alignment of stereoscopic displays
US7711201B2 (en) 2006-06-22 2010-05-04 Sony Corporation Method of and apparatus for generating a depth map utilized in autofocusing
US8411931B2 (en) 2006-06-23 2013-04-02 Imax Corporation Methods and systems for converting 2D motion pictures for stereoscopic 3D exhibition
US8189100B2 (en) 2006-07-25 2012-05-29 Qualcomm Incorporated Mobile device with dual digital camera sensors and methods of using the same
US8970680B2 (en) 2006-08-01 2015-03-03 Qualcomm Incorporated Real-time capturing and generating stereo images and videos with a monoscopic low power mobile device
US20080158345A1 (en) 2006-09-11 2008-07-03 3Ality Digital Systems, Llc 3d augmentation of traditional photography
TWI314832B (en) 2006-10-03 2009-09-11 Univ Nat Taiwan Single lens auto focus system for stereo image generation and method thereof
US7857455B2 (en) 2006-10-18 2010-12-28 Reald Inc. Combining P and S rays for bright stereoscopic projection
WO2008075276A1 (en) 2006-12-19 2008-06-26 Koninklijke Philips Electronics N.V. Method and system to convert 2d video into 3d video
US8330801B2 (en) 2006-12-22 2012-12-11 Qualcomm Incorporated Complexity-adaptive 2D-to-3D video sequence conversion
EP1939955A3 (en) 2006-12-27 2015-12-23 CSEM Centre Suisse d'Electronique et de Microtechnique SA - Recherche et Développement Optical device and system and method for fabricating the device
US8184926B2 (en) 2007-02-28 2012-05-22 Microsoft Corporation Image deblurring with blurred/noisy image pairs
GB0708676D0 (en) 2007-05-04 2007-06-13 Imec Inter Uni Micro Electr A Method for real-time/on-line performing of multi view multimedia applications
EP2158573A1 (en) 2007-06-20 2010-03-03 Thomson Licensing System and method for stereo matching of images
US7817187B2 (en) 2007-06-27 2010-10-19 Aptina Imaging Corporation Image blur correction using a secondary camera
WO2009008864A1 (en) 2007-07-12 2009-01-15 Thomson Licensing System and method for three-dimensional object reconstruction from two-dimensional images
KR100904846B1 (en) * 2007-08-27 2009-06-25 아주대학교산학협력단 Apparatus and method for inferencing topology of multiple cameras network by tracking movement
US20090061381A1 (en) 2007-09-05 2009-03-05 Duane Milford Durbin Systems and methods for 3D previewing
JP2009133753A (en) 2007-11-30 2009-06-18 Toshiba Corp Image processing device and its method
GB2455316B (en) 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
KR100912715B1 (en) 2007-12-17 2009-08-19 한국전자통신연구원 Method and apparatus of digital photogrammetry by integrated modeling for different types of sensors
EP2235955A1 (en) 2008-01-29 2010-10-06 Thomson Licensing Method and system for converting 2d image data to stereoscopic image data
GB2458927B (en) 2008-04-02 2012-11-14 Eykona Technologies Ltd 3D Imaging system
US20100097444A1 (en) 2008-10-16 2010-04-22 Peter Lablans Camera System for Creating an Image From a Plurality of Images
US8350892B2 (en) 2008-05-20 2013-01-08 Sony Corporation Image pickup apparatus, image pickup method, playback control apparatus, playback control method, and program
US8830341B2 (en) 2008-05-22 2014-09-09 Nvidia Corporation Selection of an optimum image in burst mode in a digital camera
KR101490689B1 (en) 2008-05-27 2015-02-06 삼성전자주식회사 Method and apparatus for generating a stereoscopic image datastream using a camera parameter, and method and apparatus for reconstructing a stereoscopic image using the same
JP4569670B2 (en) * 2008-06-11 2010-10-27 ソニー株式会社 Image processing apparatus, image processing method, and program
ZA200903757B (en) 2008-07-29 2010-04-28 Eskom Holdings Pty Ltd Stray-flux detection and analysis system
US20110115790A1 (en) 2008-08-26 2011-05-19 Enhanced Chip Technology Inc Apparatus and method for converting 2d image signals into 3d image signals
EP2353298B1 (en) 2008-11-07 2019-04-03 Telecom Italia S.p.A. Method and system for producing multi-view 3d visual contents
EP3396416A1 (en) 2008-11-25 2018-10-31 Tetravue, Inc. Systems and methods of high resolution three-dimensional imaging
US8675091B2 (en) * 2008-12-15 2014-03-18 Nvidia Corporation Image data processing with multiple cameras
US8405742B2 (en) 2008-12-30 2013-03-26 Massachusetts Institute Of Technology Processing images having different focus
US9569819B2 (en) * 2009-01-30 2017-02-14 Thomson Licensing Coding of depth maps
GB2467932A (en) 2009-02-19 2010-08-25 Sony Corp Image processing device and method
WO2010108119A2 (en) 2009-03-19 2010-09-23 Flextronics Ap, Llc Dual sensor camera
US8743176B2 (en) 2009-05-20 2014-06-03 Advanced Scientific Concepts, Inc. 3-dimensional hybrid camera and production system
TWI411870B (en) 2009-07-21 2013-10-11 Teco Elec & Machinery Co Ltd Stereo image generating method and system
US8436893B2 (en) 2009-07-31 2013-05-07 3Dmedia Corporation Methods, systems, and computer-readable storage media for selecting image capture positions to generate three-dimensional (3D) images
WO2011014420A1 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for selecting image capture positions to generate three-dimensional (3d) images
US9380292B2 (en) * 2009-07-31 2016-06-28 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating three-dimensional (3D) images of a scene
WO2011014419A1 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for creating three-dimensional (3d) images of a scene
WO2011014421A2 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating stereoscopic content via depth map creation
EP2462536A4 (en) 2009-08-04 2014-10-22 Shenzhen Tcl New Technology Systems and methods for three-dimensional video generation
US8922628B2 (en) 2009-09-01 2014-12-30 Prime Focus Vfx Services Ii Inc. System and process for transforming two-dimensional images into three-dimensional images
US8908958B2 (en) 2009-09-03 2014-12-09 Ron Kimmel Devices and methods of generating three dimensional (3D) colored models
KR101214536B1 (en) 2010-01-12 2013-01-10 삼성전자주식회사 Method for performing out-focus using depth information and camera using the same
US8994790B2 (en) * 2010-02-25 2015-03-31 The Board Of Trustees Of The Leland Stanford Junior University Motion capture with low input data constraints
US8683387B2 (en) * 2010-03-03 2014-03-25 Cast Group Of Companies Inc. System and method for visualizing virtual objects on a mobile device
WO2012061549A2 (en) 2010-11-03 2012-05-10 3Dmedia Corporation Methods, systems, and computer program products for creating three-dimensional video sequences
US8274552B2 (en) 2010-12-27 2012-09-25 3Dmedia Corporation Primary and auxiliary image capture devices for image processing and related methods

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504569B1 (en) * 1998-04-22 2003-01-07 Grass Valley (U.S.), Inc. 2-D extended image generation from 3-D data extracted from a video sequence
US20020026093A1 (en) * 2000-08-23 2002-02-28 Kabushiki Kaisha Toshiba Endscope system
US7620202B2 (en) * 2003-06-12 2009-11-17 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
US20050100192A1 (en) * 2003-10-09 2005-05-12 Kikuo Fujimura Moving object detection using low illumination depth capable computer vision
US7366325B2 (en) * 2003-10-09 2008-04-29 Honda Motor Co., Ltd. Moving object detection using low illumination depth capable computer vision
US20050271279A1 (en) * 2004-05-14 2005-12-08 Honda Motor Co., Ltd. Sign based human-machine interaction
US20070074251A1 (en) * 2005-09-27 2007-03-29 Oguz Seyfullah H Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
US20080260207A1 (en) * 2006-10-31 2008-10-23 Honda Motor Co., Ltd. Vehicle environment monitoring apparatus
US20100149422A1 (en) * 2007-01-26 2010-06-17 Jonatan Samuelsson Image block classification
US8837591B2 (en) * 2007-01-26 2014-09-16 Telefonaktiebolaget L M Ericsson (Publ) Image block classification
US20090041302A1 (en) * 2007-08-07 2009-02-12 Honda Motor Co., Ltd. Object type determination apparatus, vehicle, object type determination method, and program for determining object type
US20110164810A1 (en) * 2008-01-04 2011-07-07 Tong Zang Image signatures for use in motion-based three-dimensional reconstruction
US8503763B2 (en) * 2008-01-04 2013-08-06 3M Innovative Properties Company Image signatures for use in motion-based three-dimensional reconstruction
US20110064275A1 (en) * 2008-04-24 2011-03-17 Honda Motor Co., Ltd. Vehicle periphery monitoring apparatus
US20100309286A1 (en) * 2009-06-05 2010-12-09 Qualcomm Incorporated Encoding of three-dimensional conversion information with two-dimensional video sequence
US9124874B2 (en) * 2009-06-05 2015-09-01 Qualcomm Incorporated Encoding of three-dimensional conversion information with two-dimensional video sequence
US20120074227A1 (en) * 2009-06-16 2012-03-29 Bran Ferren Camera applications in a handheld device
US20120219188A1 (en) * 2009-10-19 2012-08-30 Metaio Gmbh Method of providing a descriptor for at least one feature of an image and method of matching features
US20150092987A1 (en) * 2009-10-19 2015-04-02 Metaio Gmbh Method of providing a descriptor for at least one feature of an image and method of matching features
US8537200B2 (en) * 2009-10-23 2013-09-17 Qualcomm Incorporated Depth map generation techniques for conversion of 2D video data to 3D video data
US20110096832A1 (en) * 2009-10-23 2011-04-28 Qualcomm Incorporated Depth map generation techniques for conversion of 2d video data to 3d video data
US20110141227A1 (en) * 2009-12-11 2011-06-16 Petronel Bigioi Stereoscopic (3d) panorama creation on handheld device
US20110178658A1 (en) * 2010-01-20 2011-07-21 Honeywell International Inc. Systems and methods for monocular airborne object detection
US9097532B2 (en) * 2010-01-20 2015-08-04 Honeywell International Inc. Systems and methods for monocular airborne object detection
US20120030727A1 (en) * 2010-08-02 2012-02-02 At&T Intellectual Property I, L.P. Apparatus and method for providing media content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170358101A1 (en) * 2016-06-10 2017-12-14 Apple Inc. Optical Image Stabilization for Depth Sensing

Also Published As

Publication number Publication date
WO2012061549A2 (en) 2012-05-10
US20120105602A1 (en) 2012-05-03
WO2012061549A3 (en) 2012-07-12
US9185388B2 (en) 2015-11-10

Similar Documents

Publication Publication Date Title
US9185388B2 (en) Methods, systems, and computer program products for creating three-dimensional video sequences
US20210314547A1 (en) Methods, systems, and computer-readable storage media for generating three-dimensional (3d) images of a scene
US8274552B2 (en) Primary and auxiliary image capture devices for image processing and related methods
US8508580B2 (en) Methods, systems, and computer-readable storage media for creating three-dimensional (3D) images of a scene
US9299152B2 (en) Systems and methods for image depth map generation
JP6158929B2 (en) Image processing apparatus, method, and computer program
JP5153940B2 (en) System and method for image depth extraction using motion compensation
JP5138031B2 (en) Method, apparatus and system for processing depth related information
US20180192033A1 (en) Multi-view scene flow stitching
Feng et al. Object-based 2D-to-3D video conversion for effective stereoscopic content generation in 3D-TV applications
US9813693B1 (en) Accounting for perspective effects in images
JP2011166264A (en) Image processing apparatus, imaging device and image processing method, and program
JP6300346B2 (en) IP stereoscopic image estimation apparatus and program thereof
EP3396635A2 (en) A method and technical equipment for encoding media content
US9661307B1 (en) Depth map generation using motion cues for conversion of monoscopic visual content to stereoscopic 3D
US20230117311A1 (en) Mobile multi-camera multi-view capture
KR100335617B1 (en) Method for synthesizing three-dimensional image
US20220408019A1 (en) Viewpoint path modeling
Gao et al. Design of signal processing pipeline for stereoscopic cameras
US20230290061A1 (en) Efficient texture mapping of a 3-d mesh
US20210037230A1 (en) Multiview interactive digital media representation inventory verification
US20230196658A1 (en) Enclosed multi-view visual media representation
Yamamoto et al. Real-time capturing and interactive synthesis of 3D scenes using integral photography
El Choubassi et al. Stabilized high-speed video from camera arrays
Zhu et al. Intermediate view synthesis based on disparity estimation and image interpolation

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

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