Multi-camera navigation interface

Information

  • Patent Grant
  • 10965862
  • Patent Number
    10,965,862
  • Date Filed
    Thursday, January 18, 2018
    8 years ago
  • Date Issued
    Tuesday, March 30, 2021
    4 years ago
Abstract
An interface is provided for navigating among views in a multi-camera environment. In addition to providing improved ease of use, such an interface also provides an overview of the scene represented by the captured video, by virtue of the positioning of various user interface elements representing different camera views. The navigation interface includes a number of selectable user interface elements, arranged in a fashion that approximates the physical positions of the cameras. Tapping or clicking on one of the elements causes a main window to display a current view from a corresponding camera or video feed. The navigation interface can be implemented, for example, in a live video capture system, or in a post-production system.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to U.S. application Ser. No. 15/084,326 for “Capturing Light-Field Volume Image and Video Data Using Tiled Light-Field Cameras”, filed Mar. 29, 2016, the disclosure of which is incorporated herein by reference in its entirety.


The present application is related to U.S. application Ser. No. 15/582,237 for “Image Capture for Virtual Reality Displays”, filed Apr. 28, 2017, the disclosure of which is incorporated herein by reference in its entirety.


The present application is also related to U.S. application Ser. No. 15/590,877 for “Spatial Random Access Enabled Video System with a Three-Dimensional Viewing Volume”, filed May 9, 2017, the disclosure of which is incorporated herein by reference in its entirety.


The present application is also related to U.S. application Ser. No. 15/590,951 for “Wedge-Based Light-Field Video Capture”, filed May 9, 2017, the disclosure of which is incorporated herein by reference in its entirety.


TECHNICAL FIELD

The present document relates to improved techniques for navigating among camera views in a multi-camera system.


BACKGROUND

The above-referenced related applications describe multi-camera systems wherein views from multiple cameras are combined to generate, for example, a light-field image or video stream that can be used in generating virtual reality (VR) or augmented reality (AR) content.


In many software applications for content creation, it is useful to navigate among views from multiple cameras. One such example is Nuke, a compositing suite available from Foundry, of London, United Kingdom. In generating VR or AR content, it is often necessary to navigate among dozens of video feeds, which can be challenging if the navigation interface is not clear and intuitive.


SUMMARY

In various embodiments, an improved interface is provided for navigating among views in a multi-camera environment. In addition to providing improved ease of use, such an interface also provides an overview of the scene represented by the captured video, by virtue of the positioning of various user interface elements representing different camera views.


In at least one embodiment, the navigation interface includes a number of selectable user interface elements, arranged in a fashion that approximates the physical positions of the cameras. Each element corresponds to one of the cameras. Tapping or clicking on one of the elements causes a main window to display a current view from the corresponding camera or video feed. In at least one embodiment, each element identifies the camera to which it corresponds, for example by a label, icon, number, or the like. In another embodiment, each element is a thumbnail image of a representative view from the corresponding camera. The thumbnail image can be a still image, or it can be a video stream displaying a view from the corresponding camera (which may be either a live view or a recorded view). The video stream can optionally be accompanied by identifying information, labels, captions, timing data, and/or the like.


In at least one embodiment, the navigation interface can be implemented in a live video capture system, so as to facilitate navigation among live video feeds during capture. In such an embodiment, the selectable user interface elements can represent live images from the cameras of a multi-camera rig, allowing the user to select and/or control cameras during capture operations. The user interface elements are arranged in a fashion that approximates the physical positions of the cameras from which the live views are being captured. Tapping or clicking on an element causes the main window to display the live video feed from the corresponding camera. In at least one embodiment, multiple elements can be selected simultaneously, so that the main screen shows multiple views at the same time.


In another embodiment, the navigation interface can be implemented in a post-production system, so as to facilitate navigation among previously captured video feeds during capture. In such an embodiment, the selectable user interface elements can represent various video feeds captured from different cameras of a multi-camera rig, allowing the user to select among the various feeds during post-processing operations. The elements are arranged in a fashion that approximates the physical positions of the cameras from which the views were captured. Tapping or clicking on an element causes the main window to display the captured video from the corresponding camera. In at least one embodiment, multiple elements can be selected simultaneously, so that the main screen shows multiple views at the same time.





BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate several embodiments. Together with the description, they serve to explain the principles of the embodiments. One skilled in the art will recognize that the particular embodiments illustrated in the drawings are merely exemplary, and are not intended to limit scope.



FIG. 1A is a block diagram depicting an overall architecture of a system for implementing a user interface for navigating among different camera views during live capture, according to one embodiment.



FIG. 1B is a block diagram depicting an overall architecture of a system for implementing a user interface for navigating among different camera views during post-production, according to one embodiment.



FIG. 1C is a block diagram depicting an overall architecture of a system for implementing a user interface for navigating among different camera views as implemented on a camera system, according to one embodiment.



FIG. 2 depicts an example of a multi-camera system.



FIG. 3 is a diagram depicting the use of a camera system such as that of FIG. 2 to capture a 360° view of a scene in five wedge-shaped portions, according to one embodiment.



FIG. 4A is a flow chart depicting a method for implementing a user interface for navigating among different live camera views, according to one embodiment.



FIG. 4B is a flow chart depicting a method for implementing a user interface for navigating among stored video streams corresponding to different camera views, according to one embodiment.



FIGS. 5A through 5C depict examples of a user interface for displaying and navigating among different camera views, according to one embodiment.



FIGS. 6A through 6D depict examples of a user interface for selecting a camera view, according to one embodiment.



FIGS. 7A through 7E depict additional examples of a user interface for navigating among different camera views, according to various embodiments.





DETAILED DESCRIPTION

Definitions


For purposes of the description provided herein, the following definitions are used:















Light-field image
A four-dimensional sample representing information carried



by ray bundles of light depicting an environment.



Each ray may be indexed by a standard four-dimensional



coordinate system.


Light-field volume
The combination of all images captured into a single data



set. A light-field volume may be fully or sparsely sampled.


Capture system
Any system usable for capturing images, video, light-field



images, virtual reality images, augmented reality images,



and/or a light-field volume. One example of a capture system



is an array of cameras used to capture a light-field volume.



Other examples include a camera system and a light-



field camera (including a plenoptic light-field camera or a



tiled camera array).


Light-field camera
A device that can capture a light-field image.


Plenoptic light-
A microlens-based implementation of a light-field camera,


field camera
wherein a plenoptic microlens array is inserted between the



objective lens and the photosensor, as described in more



detail in the above-referenced related applications.


Plenoptic
A microlens array in a plenoptic camera that is used to


microlens array
capture the directional information. Each microlens in the



array may create an image of the aperture stop of the



objective lens on the surface of the sensor, as described in more



detail in the above-referenced related applications.


Tiled camera array
A specific implementation of a light-field camera, containing



an array of objective lenses with overlapping fields-of-



view and one or more photosensors.


Virtual reality
An immersive viewing experience, typically delivered by a


(VR)
VR headset or other device.


Viewing volume
A volume in three-dimensional space for which the data



exists to render virtual views. A viewing volume may have



any shape.


Augmented reality
An immersive viewing experience that includes a combination


(AR)
of virtual reality elements with real-world surroundings



and objects, typically delivered by an AR headset or



other device.


Video stream
Video data that can be used to generate one or more views



of a scene for display for a viewer.


View
The subset of a multi-view video stream pertaining to a



single viewpoint.


Data store
One or more devices that store data temporarily or on a



lasting basis, in volatile and/or nonvolatile form.


Input device
Any device that captures user input.


Processor
Any device capable of processing information in digital



form.









In addition, for ease of nomenclature, the terms “camera”, “rig”, and “capture system” are used herein to refer to image capture devices or other data acquisition devices. Such data acquisition devices can be any device, rig, system, or combination for acquiring, recording, measuring, estimating, determining and/or computing data representative of a scene, including but not limited to two-dimensional image data, three-dimensional image data, virtual reality (VR) data, augmented reality (AR) data video, volumetric video, and/or light-field data. Such data acquisition devices may include optics, sensors, and image processing electronics for acquiring data representative of a scene, using techniques that are well known in the art. One skilled in the art will recognize that many types of data acquisition devices can be used in connection with the present disclosure, and that the disclosure is not limited to particular types of cameras, rigs, or capture systems. Thus, the use of the terms “camera”, “rig”, and “capture system” herein is intended to be illustrative and exemplary, but should not be considered to limit the scope of the disclosure. Specifically, any use of such term herein should be considered to refer to any suitable device for acquiring video, image data, VR data, and/or AR data.


Furthermore, the techniques and methods presented herein may be used in connection with a wide variety of camera and rig types. Even though several examples utilize a tiled camera array, one of skill in the art will recognize how the described methods and techniques could be applied to other types of light-field cameras and/or image capture systems, such as plenoptic light-field cameras.


Architecture


Referring now to FIG. 1A, there is shown a block diagram depicting an overall architecture of a system for implementing a user interface for navigating among different camera views during live capture, according to one embodiment.


Camera system 200 includes a rig 101, which in turn includes any number of cameras 102 configured to capture video representing a scene. Cameras 102 can be positioned according to any suitable arrangement; in at least one embodiment, they are positioned in a planar arrangement wherein they all point in the same direction but capture different views of the scene. In other embodiments, cameras 102 can be positioned in a non-planar arrangement. Examples of different arrangements for cameras 102 of rig 101 are set forth in the above-referenced related applications. The particular configuration depicted in FIG. 1A, wherein cameras 102 are arranged in a planar grid to form a hexagon, is merely exemplary.


In at least one embodiment, cameras 102 are configured to capture various views of a scene for purposes of constructing a virtual reality environment or augmented reality environment. Thus, cameras 102 may be positioned so that the video streams they capture can be assembled in a manner that allows a user to interact and move within the environment, for example by changing his or her position and/or orientation. As is known in the art, during playback, in response to such changes, the view presented to the user is changed so as to simulate an actual physical environment through which the user can navigate.


In at least one embodiment, the system also includes computing device 103, which includes various components for receiving images from camera system 200, presenting such images to user 111, and receiving input from user 111 to control the displayed view. Computing device 103 can be a computer, tablet, laptop, smartphone, kiosk, set-top box, and/or any other electronic device or combination of electronic devices, although for illustrative purposes it is depicted herein as a single device. In at least one embodiment, computing device 103 operates under the control and direction of software run by processor 104. In various embodiments, the functionality described herein can be implemented as a stand-alone software application or as a plug-in for any software application for controlling a camera system.


Computing device 103 also includes memory 105 that can be used by processor 104 in performing its operations and running software, and/or for buffering video data received from camera system 200. Output device 108 may include, for example, one or more display screens for presenting video output to user 111. Communications interface 109 can be any electronic component suited for receiving video data from camera system 200. Video processing component 110 can be any suitable electronic or software component for processing such video data as appropriate for display on output device 108, in accordance with the techniques described herein. User input device 107 can be any suitable input device operable by user 111 to control, for example, the display of video data on output device 108. In various embodiments, user input device 107 can be a touchscreen, mouse, joystick, keyboard, trackball, stylus, and/or any combination thereof. Data storage 106, which may be internal or external with respect to device 103, can be used for storing video data from camera system 200 and/or other data, such as a record of user 111 actions and selections with respect to the video data, for future use.


Referring now to FIG. 1B, there is shown a block diagram depicting an overall architecture of a system for implementing a user interface for navigating among different camera views during post-production, according to one embodiment. The architecture depicted in FIG. 1B is similar to that of FIG. 1A, except that camera system 200 and rig 101 are omitted, as computing device 103 retrieves video data from video data store 112 rather than from camera system 200. Video data in video data store 112 may include, for example, video and/or images previously captured by a camera system (such as camera system 200) and stored in data store 112, or it can come from other sources. In this manner, device 103 can be used for controlling playback and editing of data in a post-production context wherein video data was previously captured and stored. Such an embodiment may be used, for example, in editing of a virtual reality presentation, augmented reality presentation, or other type of immersive multi-camera presentation. In at least one such embodiment, the system is implemented as a plug-in for a visual effects software application such as Nuke (a compositing suite available from Foundry, of London, United Kingdom), or as a stand-alone software application or plug-in for any other post-processing system.


Referring now to FIG. 1C, there is shown a block diagram depicting an overall architecture of a system for implementing a user interface for navigating among different camera views as implemented on a camera system, according to one embodiment. Here, various components such as processor 104, output device 108, video processing module 110, user input device 107, and memory 105 are components of camera system 200 itself, rather than a separate computing device. For example, output device 108 can be implemented as a screen on camera rig 101. Such an arrangement allows user 111 to manipulate and control camera system 200 based on the output displayed on output device 108. In addition, in at least one embodiment, user 111 interacts with user input device 107 to control the operation of camera system 200. In other respects, the architecture depicted in FIG. 1C operates similarly to that of FIG. 1A.


Referring now to FIG. 2, there is shown an example of a multi-camera system 200 that can be used in connection with the apparatus of FIG. 1A or 1C, according to one embodiment, or for capturing the video data stored in video data store 112 of FIG. 1B. Rig 101 includes a set of cameras 102, which may be arranged to define a planar array having a generally hexagonal shape. One skilled in the art will recognize that other arrangements and shapes are possible. Each of the cameras 102 may be a plenoptic light-field camera as described in the above-referenced related applications, or a conventional camera of any type known in the art. Video data and/or image data captured by cameras 102 may be combined to define a light-field even if cameras 102 are conventional cameras. According to some examples, each camera 102 may have a field-of-view encompassing an angle of 90°, both vertically and horizontally. Camera system 200 may optionally include a synchronization trigger (not shown) that can be used to automatically activate cameras 102 in rig 101, audio recording equipment (not shown), and/or audio playback equipment (not shown) to facilitate synchronization of video captured by cameras 102 in rig 101 with audio and/or video captured by cameras 102 in rig 101 at different orientations.


In at least one embodiment, cameras 102 may be secured to a plate 230, which may be rotatably coupled to a frame 240. Plate 230 may be selectively angled relative to frame 240 to permit cameras 102 to be oriented horizontally as shown, or tilted upward or downward. Frame 240 may be rotatably coupled to a base 250. A motor (not shown) may optionally be coupled to frame 240 to rotate frame 240 relative to base 250. The rotation may be about an axis 260.


The ability to rotate frame 240 on base 250 may enable rig 101 to be easily oriented each time an image is captured. Further, as described in the above-referenced related applications, cameras 102 may be used to capture volumetric video and/or light-field volume data, permitting a view to be generated from any viewpoint within a viewing volume, as determined by the position and/or orientation of the viewer's head. Thus, camera system 200 may be used to facilitate video capture for virtual reality, augmented reality, and/or other interactive applications.


In at least one embodiment, video data and/or image data captured by rig 101 is transmitted directly to communications interface 109 of computing device 103, and such data is used in the manner described herein to manipulate live video. In another embodiment, video data and/or image data captured by rig 101 is stored at video data store 112, and used at a later time during post-processing operations.


In at least one embodiment, camera system 200 may be used to capture video data representing a scene via sequential capture of five wedge-shaped portions of the scene. As described in the above-referenced related applications, the five captured videos may be combined to generate a combined video depicting a 360° view of the scene. Capture of five wedge-shaped portions is merely exemplary; one skilled in the art will recognize that a camera system may be used to capture a scene divided into a different number of portions, which may not necessarily be wedge-shaped. A camera system used to capture a different number of wedges (for example, two, three, four, six, seven, or eight wedges) may have a different field-of-view, or may have the same field-of-view as camera system 200 depicted in FIG. 2.


Referring now to FIG. 3, there is shown a diagram 300 depicting the use of camera system 200 such as that of FIG. 2 to capture a 360° view of a scene 310 in five wedge-shaped portions 320, according to one embodiment. As shown, each wedge-shaped portion 320 may have a field-of-view 330, which may include the fields-of-view of all of cameras 102 of camera system 200. Cameras 102 at the left and right points of the hexagonal shape of the planar array of cameras 102 may define the horizontal extents of field-of-view 330 for each wedge-shaped portion 320.


Further, each wedge-shaped portion 320 may have a safe action zone 340 that is a subset of field-of-view 330 for that wedge-shaped portion 320. In at least one embodiment, safe action zone 340 for a wedge-shaped portion 320 may be the portion of field-of-view 330 for that wedge-shaped portion 320 that is not included in field-of-view 330 of any other wedge-shaped portion 320. Outside of safe action zones 340, each field-of-view 330 may include two overlapping portions 350, each of which overlaps with field-of-view 330 of adjacent wedge-shaped portion 320.


In at least one embodiment, camera system 200 may be rotated sequentially so that it captures video for each wedge-shaped portion 320 in sequence. Thus, camera system 200 may first be oriented to capture field-of-view 330 labeled “Capture 1” Then, camera system 200 may be rotated such that camera system 200 is oriented to capture field-of-view 330 labeled “Capture 2,” and then rotated in like manner to capture fields-of-view 330 labeled “Capture 3,” “Capture 4,” and “Capture 5.” Such techniques are further described in the above-referenced related applications.


Method


Referring now to FIG. 4A, there is shown a flow chart depicting a method for implementing a user interface for navigating among different live camera views, according to one embodiment. The method depicted in FIG. 4A can be used, for example, in connection with the architecture depicted in FIG. 1A or 1C, although one skilled in the art will recognize that the method can be used in connection with other architectures as well.


The method begins 400. Computing device 103 receives 401 video data in a live stream as it is captured by camera system 200; the live stream includes video data from all cameras 102. Video from one (or more) of cameras 102 is displayed 402, for example on output device 108. Concurrently, a user interface is displayed 403, to allow user 111 to control the displayed video. In at least one embodiment, the user interface is displayed 403 on the same output device 108 as is the video from one (or more) of cameras 102. As described in more detail below, the user interface can include user interface elements arranged in a manner that approximates the physical arrangement of cameras 102 within rig 101. Such user interface elements can include on-screen buttons, links, descriptive text, icons, images, thumbnails, live video, and/or any combination thereof.


User 111 can select 404 one of the displayed user interface elements, for example by tapping on it or clicking on it with an on-screen cursor. In at least one embodiment, this causes the display on output device 108 to switch 405 to a view of a camera 102 corresponding to the selected user interface element. In at least one embodiment, steps 404 and 405 can be repeated any number of types, allowing user 111 to repeatedly select different cameras 102 and see the video stream being captured from each selected camera 102. In at least one embodiment, additional controls can also be provided to allow user 111 to control and/or manipulate the currently selected camera 102, for example by changing its orientation and/or other parameters. In at least one embodiment, the sequence and timing of user's 111 selections of cameras 102 can be recorded, so as to provide an edit stream that can be used later in generating content.


Referring now to FIG. 4B, there is shown a flow chart depicting a method for implementing a user interface for navigating among stored video streams corresponding to different camera views, according to one embodiment. The method depicted in FIG. 4B can be used, for example, in connection with the architecture depicted in FIG. 1B to perform post-processing operations, although one skilled in the art will recognize that the method can be used in connection with other architectures as well.


The method begins 450. Computing device 103 receives 451 previously captured video data, for example from video data store 112; this can include video data from all cameras 102. Video from one (or more) of cameras 102 is displayed 402, for example on output device 108. Concurrently, a user interface is displayed 403, to allow user 111 to control the displayed video. In at least one embodiment, the user interface is displayed 403 on the same output device 108 as is the video from one (or more) of cameras 102. As described in more detail below, the user interface can include user interface elements arranged in a manner that approximates the physical arrangement of cameras 102 within rig 101. Such user interface elements can include on-screen buttons, links, descriptive text, icons, images, thumbnails, live video, and/or any combination thereof.


User 111 can select 404 one of the displayed user interface elements, for example by tapping on it, or clicking on it with an on-screen cursor. In at least one embodiment, this causes the display on output device 108 to switch 405 to a view that was previously captured by a camera 102 corresponding to the selected user interface element. In at least one embodiment, steps 404 and 405 can be repeated any number of types, allowing user 111 to repeatedly select different cameras 102 and see the video stream previously captured by each selected camera 102. In at least one embodiment, the sequence and timing of user's 111 selections of cameras 102 can be recorded, so as to provide an edit stream that can be used later in generating content.


In both the methods of FIGS. 4A and 4B, in at least one embodiment, user 111 can also perform other operations on the selected video stream, such as editing operations for generating content.


User Interface


Referring now to FIGS. 5A through 5C, there are shown examples of a user interface for displaying and navigating among different camera views, according to various embodiments. The user interface depicted in these examples can be used in connection with either live views of video stream(s) from cameras 102 within rig 101, or previously captured video data retrieved from video data store 112. In at least one embodiment, the user interface as depicted in these examples can be presented on output device 108, which may be part of camera system 200 (as in the architecture of FIG. 1C) or may be part of a separate computing device 103 (as in the architecture of FIG. 1A or 1B). As depicted in these examples, the user interface provides a way to display live (or recorded) camera views from any number of individual cameras 102 within rig 101, in an on-screen configuration that makes clear the physical arrangement of the individual cameras 102.



FIG. 5A depicts example 500, in which a single video stream is displayed in main video window 501. Rig schematic display 502 shows a representation of rig 101, wherein each dot in display 502 represents a camera 102. In this example, the dot corresponding to the camera view currently being shown in main video window 501 is shown in a different color than the other dots in display 502, making it easy for user 111 to determine which camera view is being presented. In at least one embodiment, user 111 can tap or click on dots within display 502 to cause corresponding camera views to be shown. In at least one embodiment, dots act as toggles, so that a user can tap or click again to remove a currently displayed view from the screen. In at least one embodiment video window(s) 501 automatically resize as video streams are added or removed, so as to make best use of available screen space while still displaying all activated videos.



FIG. 5B depicts example 510, in which seven video streams are concurrently displayed in seven different video windows 501. In at least one embodiment, as shown in example 510, video windows 501 are arranged on-screen in a manner that approximates the relative physical positions of the corresponding cameras 102 from which the video streams originate. Again, rig schematic display 502 shows a representation of rig 101, wherein each dot in display 502 represents a camera 102. Here, seven dots are shown in a distinct color to indicate which camera views are currently being presented. As before, in at least one embodiment, user 111 can tap or click on dots within display 502 to cause corresponding camera views to be shown.



FIG. 5C depicts example 520, in which video streams from all cameras 102 in rig 101 are concurrently displayed in 61 different video windows 501. In at least one embodiment, as shown in example 520, video windows 501 are arranged onscreen in a manner that approximates the relative physical positions of the corresponding cameras 102 from which the video streams originate. Again, rig schematic display 502 shows a representation of rig 101, wherein each dot in display 502 represents a camera 102. Here, all of the dots are shown in the distinct color to that all camera views are currently being presented. As before, in at least one embodiment, user 111 can tap or click on dots within display 502 to cause corresponding camera views to be shown.


In at least one embodiment, certain predefined view configurations of camera views can be made available. For example, user 111 can click a button or otherwise activate a command that causes only the view from center camera 102 to be displayed (as in example 500). As another example, user 111 can click a button or otherwise activate a command that causes the view from center camera 102 along with views from six corner cameras 102 to be displayed (as in example 510). As another example, user 111 can click a button or otherwise activate a command that causes the views from all cameras 102 to be displayed (as in example 520). Any number of such predefined view configurations of camera views can be provided. In at least one embodiment, user 111 can also edit or define his or her own view configurations, and/or manually select a view configuration.


Referring now to FIGS. 6A through 6D, there are shown various screens depicting an example 600 of a user interface for selecting a camera view, according to one embodiment. The depicted user interface can be used in connection with either live views of video stream(s) from cameras 102 within rig 101, or previously captured video data retrieved from video data store 112. In at least one embodiment, the depicted user interface can be presented on output device 108, which may be part of camera system 200 (as in the architecture of FIG. 1C) or may be part of a separate computing device 103 (as in the architecture of FIG. 1A or 1B). As depicted in this example, the user interface provides a way to select wedges and/or individual cameras 102 within rig 101, wherein the controls for performing such selections are presented in an on-screen configuration that maps to the physical arrangement of the cameras 102 themselves.


Wedge selection tool 601 provides a mechanism for user 111 to select among five wedge-shaped portions, also referred to as “wedges” (corresponding to wedge-shaped portions 320 of FIG. 3). Each wedge includes some subset of the total views taken by all cameras 102 within rig 101; for example, a wedge may be one of five different sequentially captured views of the scene that can be combined to form a 360° view of the scene, as described above in connection with FIGS. 2 and 3.


In at least one embodiment, wedge selection tool 601 includes five overlapping elongated rectangles 602, each representing a wedge. User 111 can select a wedge by tapping or clicking on one of rectangles 602. In other embodiments, other representations of wedges can be shown, with other mechanisms by which user 111 can select a wedge. Any number of wedges (or other subsets of views and/or cameras 102) can be provided, which can be selectable by user 111. Alternatively, the system can be implemented without any wedge selection tool 601 at all; in such a case, only the bottom portion of example 600 (containing camera selection tool 603) need be included. In the depicted example, user 111 has selected the wedge represented by rectangle 602A, which is currently highlighted.


Camera selection tool 603 includes a number of elements 604, each representing an individual camera 102. Each element 604 can be identified by a number, label, icon, thumbnail image, and/or any combination thereof. In at least one embodiment, camera selection tool 603 presents elements 604 that correspond to a subset of cameras 102 in rig 101, wherein the subset corresponds to the particular wedge selected via wedge selection tool 601. Thus, if user 111 selects a different wedge using wedge selection tool 601, a different set of elements 604 may be presented in camera selection tool 603; alternatively, the same set of elements 604 can be presented, but representing views taken from a different angle. In an alternative embodiment, camera selection tool 603 presents elements 604 that correspond to all views from all cameras 102 in rig 101, without any need to select a particular wedge or subset of views or cameras 102.


Notably, in at least one embodiment, elements 604 are positioned in an arrangement that approximates the physical arrangement of their corresponding cameras 102 in rig 101. This mapping between element positions 604 and physical camera positions makes it easier for user 111 to locate and select the correct element 604 for a particular desired camera 102.


In at least one embodiment, user 111 can tap or click on one or more elements 604 to select corresponding camera(s) 102. In at least one embodiment, live and/or recorded view(s) for the selected camera(s) 102 is/are displayed. In at least one embodiment, each element 604 acts as a toggle: tapping or clicking on it selects a corresponding camera 102 if it is currently unselected, or de-selects a corresponding camera 102 if it is currently selected. In the example of FIG. 6, the center element 604 (labeled “00000”) is highlighted indicating that it is currently selected and that the view from its corresponding camera 102 is currently being displayed. In this example, the highlighted element 604 is indicated with a black background that contrasts with the background of other elements 604; however, one skilled in the art will recognize that any technique can be used to visually distinguish the highlighted element 604 from other elements 604.


Other user interface elements can also be provided. Some examples are shown in FIGS. 6A through 6D, as follows:

    • Drop-down menu 605 allows user 111 to select other rigs 101 to control, in an embodiment wherein multiple rigs 101 can be controlled by the same interface;
    • Find rigs button 606 reloads camera 102 positions and finds new nodes, which causes the list in menu 605 to be populated. Rig nodes are identified by the presence of Camera nodes placed within a Group node.
    • Highlight button 607 allows elements 604 to be highlighted using one of several modes, as shown in FIG. 6B. Elements 604 may be highlighted based on comma-delimited camera indexes stored in the clipboard. Elements 604 may also be highlighted based on another rig file, to show decimations, as shown in FIG. 6C, or colorized based on a particular group of cameras, as shown in FIG. 6D.
    • Refresh button 608 updates the currently highlighted element 604. This is necessary if the active view is changed using some means other than the camera selection interface.
    • Wedges button 609 includes a label that indicates the number of wedges and indicates the camera views included in each wedge. User 111 can click on button 609 to change these values.
    • Wedge selection buttons 610 provide an alternative mechanism for selecting a wedge. This performs the same operation as does wedge selection tool 601. Buttons 610 also indicate which cameras 102 are associated with each wedge.
    • Find box 611 allows a camera index to be entered, at which point the currently selected element is changed. If the element exists in a different wedge, the currently active wedge is also updated.


In at least one embodiment, keyboard shortcuts can be provided to navigate among camera views. Examples of keyboard shortcuts include:

    • Ctrl+Alt+R: Open a new panel for selecting a rig 101.
    • Ctrl+Shift+Up: Move to the next closest view above the current view.
    • Ctrl+Shift+Down: Move to the next closest view below the current view.
    • Ctrl+Shift+Left: Move to the next closest view to the left of the current view.
    • Ctrl+Shift+Right: Move to the next closest view to the right of the current view.
    • Ctrl+Shift+PageUp: Move to the next wedge.
    • Ctrl+Shift+PageDown: Move to the previous wedge.
    • Ctrl+Shift+Home: Move to the center view in the current wedge.
    • Ctrl+Shift+End: Move to the last selected view. This can be used to toggle between two views.
    • Ctrl+Shift+/: Activate and move cursor to Find box 611.


Referring now to FIGS. 7A through 7E, there are shown additional examples of a user interface for navigating among different camera views, according to various embodiments.



FIG. 7A depicts example 700. In this example, user 111 has used wedge selection tool 601 to select wedge 1, and has used camera selection tool 603 to select the camera labeled “00081”. Main video window 501 displays video captured by the camera labeled “00081”. Also included in example 700 is node graph 701, which depicts a sample Read node and camera rig node.



FIG. 7B depicts example 710. In this example, user 111 has used wedge selection tool 601 to select wedge 1, and has used camera selection tool 603 to select the camera labeled “00045”. Main video window 501 displays video captured by the camera labeled “00045”. Also included in example 710 is node graph 701.



FIG. 7C depicts example 720. In this example, user 111 is in the process of using wedge selection tool 601 to select wedge 5, and has used camera selection tool 603 to select the camera labeled “00461”. Main video window 501 displays video captured by the camera labeled “00461”. Also included in example 720 is node graph 701.



FIG. 7D depicts example 730. In this example, user 111 has used wedge selection tool 601 to select wedge 2, and has used camera selection tool 603 to select the camera labeled “00095”. Main video window 501 displays video captured by the camera labeled “00095”. Also included in example 730 is node graph 701.



FIG. 7E depicts example 740. In this example, user 111 has used wedge selection tool 601 to select the cameras not in any wedge, denoted by “Leftovers” 741, and has used camera selection tool 603 (which in this case only includes one camera selection button) to select the camera labeled “01000”. Main video window 501 displays video captured by the currently selected camera labeled “01000”. Also included in example 740 is node graph 701.


The above description and referenced drawings set forth particular details with respect to possible embodiments. Those of skill in the art will appreciate that the techniques described herein may be practiced in other embodiments. First, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the techniques described herein may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements, or entirely in software elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead be performed by a single component.


Reference in the specification to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.


Some embodiments may include a system or a method for performing the above-described techniques, either singly or in any combination. Other embodiments may include a computer program product comprising a non-transitory computer-readable storage medium and computer program code, encoded on the medium, for causing a processor in a computing device or other electronic device to perform the above-described techniques.


Some portions of the above are presented in terms of algorithms and symbolic representations of operations on data bits within a memory of a computing device. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps (instructions) leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient at times, to refer to certain arrangements of steps requiring physical manipulations of physical quantities as modules or code devices, without loss of generality.


It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “displaying” or “determining” or the like, refer to the action and processes of a computer system, or similar electronic computing module and/or device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.


Certain aspects include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of described herein can be embodied in software, firmware and/or hardware, and when embodied in software, can be downloaded to reside on and be operated from different platforms used by a variety of operating systems.


Some embodiments relate to an apparatus for performing the operations described herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computing device. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, flash memory, solid state drives, magnetic or optical cards, application specific integrated circuits (ASICs), and/or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Further, the computing devices referred to herein may include a single processor or may be architectures employing multiple processor designs for increased computing capability.


The algorithms and displays presented herein are not inherently related to any particular computing device, virtualized system, or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will be apparent from the description provided herein. In addition, the techniques set forth herein are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the techniques described herein, and any references above to specific languages are provided for illustrative purposes only.


Accordingly, in various embodiments, the techniques described herein can be implemented as software, hardware, and/or other elements for controlling a computer system, computing device, or other electronic device, or any combination or plurality thereof. Such an electronic device can include, for example, a processor, an input device (such as a keyboard, mouse, touchpad, trackpad, joystick, trackball, microphone, and/or any combination thereof), an output device (such as a screen, speaker, and/or the like), memory, long-term storage (such as magnetic storage, optical storage, and/or the like), and/or network connectivity, according to techniques that are well known in the art. Such an electronic device may be portable or non-portable. Examples of electronic devices that may be used for implementing the techniques described herein include: a mobile phone, personal digital assistant, smartphone, kiosk, server computer, enterprise computing device, desktop computer, laptop computer, tablet computer, consumer electronic device, television, set-top box, or the like. An electronic device for implementing the techniques described herein may use any operating system such as, for example: Linux; Microsoft Windows, available from Microsoft Corporation of Redmond, Wash.; Mac OS X, available from Apple Inc. of Cupertino, Calif.; iOS, available from Apple Inc. of Cupertino, Calif.; Android, available from Google, Inc. of Mountain View, Calif.; and/or any other operating system that is adapted for use on the device.


In various embodiments, the techniques described herein can be implemented in a distributed processing environment, networked computing environment, or web-based computing environment. Elements can be implemented on client computing devices, servers, routers, and/or other network or non-network components. In some embodiments, the techniques described herein are implemented using a client/server architecture, wherein some components are implemented on one or more client computing devices and other components are implemented on one or more servers. In one embodiment, in the course of implementing the techniques of the present disclosure, client(s) request content from server(s), and server(s) return content in response to the requests. A browser may be installed at the client computing device for enabling such requests and responses, and for providing a user interface by which the user can initiate and control such interactions and view the presented content.


Any or all of the network components for implementing the described technology may, in some embodiments, be communicatively coupled with one another using any suitable electronic network, whether wired or wireless or any combination thereof, and using any suitable protocols for enabling such communication. One example of such a network is the Internet, although the techniques described herein can be implemented using other networks as well.


While a limited number of embodiments has been described herein, those skilled in the art, having benefit of the above description, will appreciate that other embodiments may be devised which do not depart from the scope of the claims. In addition, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure is intended to be illustrative, but not limiting.

Claims
  • 1. A multi-camera navigation interface, comprising: a communication interface, configured to receive video signals from a plurality of cameras arranged according to a physical layout;a first display area, configured to display a user interface comprising a plurality of visual elements representing the cameras, the visual elements being arranged according to a layout approximating the physical layout of the cameras;a user input device, configured to receive user input selecting a first one of the visual elements;a second display area, configured to display a first video signal from a first camera corresponding to the first visual element; anda wedge selection tool that includes a plurality of over-lapping elongated rectangles arranged such that centers of the plurality of over-lapping elongated rectangles overlap angularly at a midpoint of each over-lapping elongated rectangle, the wedge selection tool being configured to allow for a selection of a wedge of a plurality of wedges associated with the plurality of cameras in the first display area, each wedge being represented as an elongated rectangle of the plurality of over-lapping elongated rectangles.
  • 2. The multi-camera navigation interface of claim 1, wherein the plurality of visual elements representing the cameras comprises a plurality of thumbnail video streams comprising images from the received video signals.
  • 3. The multi-camera navigation interface of claim 2, wherein each thumbnail video stream comprises a live view from one of the cameras.
  • 4. The multi-camera navigation interface of claim 3, further comprising a control device, configured to: receive additional user input to control the first camera; andtransmit a signal to control operation of the first camera in response to the received additional user input.
  • 5. The multi-camera navigation interface of claim 2, wherein each thumbnail video stream comprises a recorded video stream from one of the cameras.
  • 6. The multi-camera navigation interface of claim 2, further comprising: video processing circuitry, communicatively coupled to the communication interface, configured to generate a composite video stream comprising the images from the received video signals;wherein the displayed plurality of visual elements representing the cameras comprises the composite video stream.
  • 7. The multi-camera navigation interface of claim 1, further comprising: a display device;wherein:the first display area and the second display area are presented on the same display device.
  • 8. The multi-camera navigation interface of claim 1, further comprising: a first display device; anda second display device;wherein: the first display area is presented on the first display device; andthe second display area is presented on the second display device.
  • 9. The multi-camera navigation interface of claim 1, wherein: the user input device is further configured to receive additional user input selecting a second one of the visual elements, wherein the additional user input is received while the second display area is dis-playing the first video signal; andthe second display area is further configured to, responsive to the user input device receiving the additional user input, switch to displaying a second video signal from a second camera corresponding to the second visual element.
  • 10. The multi-camera navigation interface of claim 1, wherein the plurality of cameras comprise a camera rig.
  • 11. The multi-camera navigation interface of claim 10, wherein the camera rig comprises a planar camera rig.
  • 12. The multi-camera navigation interface of claim 1, wherein the plurality of cameras is configured to capture light-field video.
  • 13. The multi-camera navigation interface of claim 1, wherein the received video signals represent video for a virtual reality experience.
  • 14. The multi-camera navigation interface of claim 1, wherein the received video signals represent video for an augmented reality experience.
  • 15. The multi-camera navigation interface of claim 1, wherein: each wedge comprises a subset of the cameras;and wherein the user input device is configured to: receive first user input selecting one of the wedges; andreceive second user input selecting one of the cameras within the selected wedge.
  • 16. The multi-camera navigation interface of claim 1, wherein: the user input device comprises a touch screen;and wherein the user input comprises a user touching the touch screen at a location corresponding to the display of one of the visual elements.
  • 17. The multi-camera navigation interface of claim 1, wherein: the user input device comprises a pointing device;and wherein the user input comprises a user using the pointing device to move a cursor to a location corresponding to the display of one of the visual elements.
  • 18. The multi-camera navigation interface of claim 1, wherein the received video signals represent different views of a common scene.
  • 19. A method for providing a multi-camera navigation interface, comprising: receiving, via a communication interface, video signals from a plurality of cameras arranged according to a physical layout;in a first display area, displaying a user interface comprising a plurality of visual elements representing the cameras, the visual elements being arranged according to a layout approximating the physical layout of the cameras;at a user input device, receiving user input selecting a first one of the visual elements; andin a second display area, displaying a first video signal from a first camera corresponding to the first visual element, wherein a wedge selection tool is configured to allow a user to select a wedge of a plurality of wedges and the plurality of cameras associated with the plurality of wedges; by tapping or clicking on the wedge.
  • 20. The method of claim 19, wherein the plurality of visual elements representing the cameras comprises a plurality of thumbnail video streams comprising images from the received video signals.
  • 21. The method of claim 20, wherein each thumbnail video stream comprises a live view from one of the cameras.
  • 22. The method of claim 21, further comprising: at the user input device, receiving additional user input to control the first camera; andtransmitting a signal to control operation of the first camera in response to the received additional user input.
  • 23. The method of claim 20, wherein each thumbnail video stream comprises a recorded video stream from one of the cameras.
  • 24. The method of claim 20, further comprising: using video processing circuitry, generating a composite video stream comprising the images from the received video signals;wherein the displayed plurality of visual elements representing the cameras comprises the composite video stream.
  • 25. The method of claim 19, wherein the first display area and the second display area are presented on the same display device.
  • 26. The method of claim 19, wherein the first display area is presented on a first display device and the second display area is presented on a second display device.
  • 27. The method of claim 19, further comprising: at the user input device, receiving additional user input selecting a second one of the visual elements, wherein the additional user input is received while the second display area is displaying the first video signal; andresponsive to receiving the additional user input, in the second display area, displaying a second video signal from a second camera corresponding to the second visual element.
  • 28. The method of claim 19, wherein the plurality of cameras comprise a camera rig.
  • 29. The method of claim 28, wherein the camera rig comprises a planar camera rig.
  • 30. The method of claim 19, wherein the plurality of cameras is configured to capture light-field video.
  • 31. The method of claim 19, wherein the received video signals represent video for a virtual reality experience.
  • 32. The method of claim 19, wherein the received video signals represent video for an augmented reality experience.
  • 33. The method of claim 19, wherein: each wedge comprises a subset of the cameras;and wherein receiving the user input selecting a first one of the visual elements comprises:receiving first user input selecting one of the wedges; andreceiving second user input selecting one of the cameras within the selected wedge.
  • 34. The method of claim 19, wherein: the user input device comprises a touch screen; andreceiving the user input selecting a first one of the visual elements comprises detecting user contact with the touch screen at a location corresponding to the display of one of the visual elements.
  • 35. The method of claim 19, wherein: the user input device comprises a pointing device controlling a cursor; andreceiving the user input selecting a first one of the visual elements comprises detecting the cursor being positioned at a location corresponding to the display of one of the visual elements.
  • 36. The method of claim 19, wherein the received video signals represent different views of a common scene.
  • 37. A non-transitory computer-readable medium for providing a multi-camera navigation interface, comprising instructions stored thereon, that when executed by one or more processors, perform the steps of: receiving, via a communication interface, video signals from a plurality of cameras arranged according to a physical layout;causing a display device to display, in a first display area, a user interface comprising a plurality of visual elements representing the cameras, the visual elements being arranged according to a layout approximating the physical layout of the cameras;causing a user input device to receive user input selecting a first one of the visual elements; andcausing the display device to display, in a second display area, a first video signal from a first camera corresponding to the first visual element, wherein a wedge selection tool includes a plurality of over-lapping elongated rectangles arranged such that centers overlap the plurality of over-lapping elongated rectangles angularly at a midpoint of each over-lapping elongated rectangle, the wedge selection tool being configured to allow for a selection of a wedge of a plurality of wedges associated with the plurality of cameras in the first display area, each wedge being represented as an elongated rectangle.
  • 38. The non-transitory computer-readable medium of claim 37, wherein the plurality of visual elements representing the cameras comprises a plurality of thumbnail video streams comprising images from the received video signals.
  • 39. The non-transitory computer-readable medium of claim 38, wherein each thumbnail video stream comprises a live view from one of the cameras.
  • 40. The non-transitory computer-readable medium of claim 39, further comprising instructions that, when executed by one or more processors, perform the steps of: causing the user input device to receive additional user input to control the first camera; andtransmitting a signal to control operation of the first camera in response to the received additional user input.
  • 41. The non-transitory computer-readable medium of claim 38, wherein each thumbnail video stream comprises a recorded video stream from one of the cameras.
  • 42. The non-transitory computer-readable medium of claim 38, further comprising instructions that, when executed by one or more processors, perform the steps of: using video processing circuitry, generating a composite video stream comprising the images from the received video signals;wherein the displayed plurality of visual elements representing the cameras comprises the composite video stream.
  • 43. The non-transitory computer-readable medium of claim 37, wherein the first display area and the second display area are presented on the same display device.
  • 44. The non-transitory computer-readable medium of claim 37, wherein the first display area is presented on a first display device and the second display area is presented on a second display device.
  • 45. The non-transitory computer-readable medium of claim 37, further comprising instructions that, when executed by one or more processors, perform the steps of: causing the user input device to receive additional user input selecting a second one of the visual elements, wherein the additional user input is received while the second display area is displaying the first video signal; andresponsive to receiving the additional user input, causing the display device to display, in the second display area, a second video signal from a second camera corresponding to the second visual element.
  • 46. The non-transitory computer-readable medium of claim 37, wherein the plurality of cameras comprise a camera rig.
  • 47. The non-transitory computer-readable medium of claim 46, wherein the camera rig comprises a planar camera rig.
  • 48. The non-transitory computer-readable medium of claim 37, wherein the plurality of cameras is configured to capture light-field video.
  • 49. The non-transitory computer-readable medium of claim 37, wherein the received video signals represent video for a virtual reality experience.
  • 50. The non-transitory computer-readable medium of claim 37, wherein the received video signals represent video for an augmented reality experience.
  • 51. The non-transitory computer-readable medium of claim 37, wherein: each wedge comprises a subset of the cameras;and wherein receiving the user input selecting a first one of the visual elements comprises:receiving first user input selecting one of the wedges; andreceiving second user input selecting one of the cameras within the selected wedge.
  • 52. The non-transitory computer-readable medium of claim 37, wherein: the user input device comprises a touch screen; andreceiving the user input selecting a first one of the visual elements comprises detecting user contact with the touch screen at a location corresponding to the display of one of the visual elements.
  • 53. The non-transitory computer-readable medium of claim 37, wherein: the user input device comprises a pointing device controlling a cursor; andreceiving the user input selecting a first one of the visual elements comprises detecting the cursor being positioned at a location corresponding to the display of one of the visual elements.
  • 54. The non-transitory computer-readable medium of claim 37, wherein the received video signals represent different views of a common scene.
US Referenced Citations (533)
Number Name Date Kind
725567 Ives Apr 1903 A
4383170 Takagi et al. May 1983 A
4661986 Adelson Apr 1987 A
4694185 Weiss Sep 1987 A
4920419 Easterly Apr 1990 A
5076687 Adelson Dec 1991 A
5077810 D'Luna Dec 1991 A
5157465 Kronberg Oct 1992 A
5251019 Moorman et al. Oct 1993 A
5282045 Mimura et al. Jan 1994 A
5499069 Griffith Mar 1996 A
5572034 Karellas Nov 1996 A
5610390 Miyano Mar 1997 A
5729471 Jain et al. Mar 1998 A
5748371 Cathey, Jr. et al. May 1998 A
5757423 Tanaka et al. May 1998 A
5818525 Elabd Oct 1998 A
5835267 Mason et al. Nov 1998 A
5907619 Davis May 1999 A
5949433 Klotz Sep 1999 A
5974215 Bilbro et al. Oct 1999 A
6005936 Shimizu et al. Dec 1999 A
6021241 Bilbro et al. Feb 2000 A
6023523 Cohen et al. Feb 2000 A
6028606 Kolb et al. Feb 2000 A
6034690 Gallery et al. Mar 2000 A
6061083 Aritake et al. May 2000 A
6061400 Pearlstein et al. May 2000 A
6069565 Stern et al. May 2000 A
6075889 Hamilton, Jr. et al. Jun 2000 A
6084979 Kanade et al. Jul 2000 A
6091860 Dimitri Jul 2000 A
6097394 Levoy et al. Aug 2000 A
6115556 Reddington Sep 2000 A
6137100 Fossum et al. Oct 2000 A
6169285 Pertrillo et al. Jan 2001 B1
6201899 Bergen Mar 2001 B1
6221687 Abramovich Apr 2001 B1
6320979 Melen Nov 2001 B1
6424351 Bishop et al. Jul 2002 B1
6448544 Stanton et al. Sep 2002 B1
6466207 Gortler et al. Oct 2002 B1
6476805 Shum et al. Nov 2002 B1
6479827 Hamamoto et al. Nov 2002 B1
6483535 Tamburrino et al. Nov 2002 B1
6529265 Henningsen Mar 2003 B1
6577342 Webster Jun 2003 B1
6587147 Li Jul 2003 B1
6597859 Leinhardt et al. Jul 2003 B1
6606099 Yamada Aug 2003 B2
6658168 Kim Dec 2003 B1
6674430 Kaufman et al. Jan 2004 B1
6687419 Atkin Feb 2004 B1
6768980 Meyer et al. Jul 2004 B1
6785667 Orbanes et al. Aug 2004 B2
6833865 Fuller et al. Dec 2004 B1
6842297 Dowski, Jr. et al. Jan 2005 B2
6900841 Mihara May 2005 B1
6924841 Jones Aug 2005 B2
6927922 George et al. Aug 2005 B2
7003061 Wiensky Feb 2006 B2
7015954 Foote et al. Mar 2006 B1
7025515 Woods Apr 2006 B2
7034866 Colmenarez et al. Apr 2006 B1
7079698 Kobayashi Jul 2006 B2
7102666 Kanade et al. Sep 2006 B2
7164807 Morton Jan 2007 B2
7206022 Miller et al. Apr 2007 B2
7239345 Rogina Jul 2007 B1
7286295 Sweatt et al. Oct 2007 B1
7304670 Hussey et al. Dec 2007 B1
7329856 Ma et al. Feb 2008 B2
7336430 George Feb 2008 B2
7417670 Linzer et al. Aug 2008 B1
7469381 Ording Dec 2008 B2
7477304 Hu Jan 2009 B2
7587109 Reininger Sep 2009 B1
7620309 Georgiev Nov 2009 B2
7623726 Georgiev Nov 2009 B1
7633513 Kondo et al. Dec 2009 B2
7683951 Aotsuka Mar 2010 B2
7687757 Tseng et al. Mar 2010 B1
7723662 Levoy et al. May 2010 B2
7724952 Shum et al. May 2010 B2
7748022 Frazier Jun 2010 B1
7847825 Aoki et al. Dec 2010 B2
7936377 Friedhoff et al. May 2011 B2
7936392 Ng et al. May 2011 B2
7941634 Georgi May 2011 B2
7945653 Zuckerberg et al. May 2011 B2
7949252 Georgiev May 2011 B1
7982776 Dunki-Jacobs et al. Jul 2011 B2
8013904 Tan et al. Sep 2011 B2
8085391 MacHida et al. Dec 2011 B2
8106856 Matas et al. Jan 2012 B2
8115814 Iwase et al. Feb 2012 B2
8155456 Babacan Apr 2012 B2
8155478 Vitsnudel et al. Apr 2012 B2
8189089 Georgiev et al. May 2012 B1
8228417 Georgiev et al. Jul 2012 B1
8248515 Ng et al. Aug 2012 B2
8259198 Cote et al. Sep 2012 B2
8264546 Witt Sep 2012 B2
8279325 Pitts et al. Oct 2012 B2
8289440 Knight et al. Oct 2012 B2
8290358 Georgiev Oct 2012 B1
8310554 Aggarwal et al. Nov 2012 B2
8315476 Georgiev et al. Nov 2012 B1
8345144 Georgiev et al. Jan 2013 B1
8400533 Szedo Mar 2013 B1
8400555 Georgiev et al. Mar 2013 B1
8411948 Rother Apr 2013 B2
8427548 Lim et al. Apr 2013 B2
8442397 Kang et al. May 2013 B2
8446516 Pitts et al. May 2013 B2
8494304 Venable et al. Jul 2013 B2
8531581 Shroff Sep 2013 B2
8542933 Venkataraman et al. Sep 2013 B2
8559705 Ng Oct 2013 B2
8570426 Pitts et al. Oct 2013 B2
8577216 Li et al. Nov 2013 B2
8581998 Ohno Nov 2013 B2
8589374 Chaudhri Nov 2013 B2
8593564 Border et al. Nov 2013 B2
8605199 Imai Dec 2013 B2
8614764 Pitts et al. Dec 2013 B2
8619082 Ciurea et al. Dec 2013 B1
8629930 Brueckner et al. Jan 2014 B2
8665440 Kompaniets et al. Mar 2014 B1
8675073 Aagaard et al. Mar 2014 B2
8724014 Ng et al. May 2014 B2
8736710 Spielberg May 2014 B2
8736751 Yun May 2014 B2
8749620 Pitts et al. Jun 2014 B1
8750509 Renkis Jun 2014 B2
8754829 Lapstun Jun 2014 B2
8760566 Pitts et al. Jun 2014 B2
8768102 Ng et al. Jul 2014 B1
8797321 Bertolami et al. Aug 2014 B1
8811769 Pitts et al. Aug 2014 B1
8831377 Pitts et al. Sep 2014 B2
8848970 Aller et al. Sep 2014 B2
8860856 Wetsztein et al. Oct 2014 B2
8879901 Caldwell et al. Nov 2014 B2
8903232 Caldwell Dec 2014 B1
8908058 Akeley et al. Dec 2014 B2
8948545 Akeley et al. Feb 2015 B2
8953882 Lim et al. Feb 2015 B2
8971625 Pitts et al. Mar 2015 B2
8976288 Ng et al. Mar 2015 B2
8988317 Liang et al. Mar 2015 B1
8995785 Knight et al. Mar 2015 B2
8997021 Liang et al. Mar 2015 B2
9001226 Ng et al. Apr 2015 B1
9013611 Szedo Apr 2015 B1
9106914 Doser Aug 2015 B2
9172853 Pitts et al. Oct 2015 B2
9184199 Pitts et al. Nov 2015 B2
9201193 Smith Dec 2015 B1
9210391 Mills Dec 2015 B1
9214013 Venkataraman et al. Dec 2015 B2
9294662 Vondran, Jr. et al. Mar 2016 B2
9300932 Knight et al. Mar 2016 B2
9305375 Akeley Apr 2016 B2
9305956 Pittes et al. Apr 2016 B2
9386288 Akeley et al. Jul 2016 B2
9392153 Myhre et al. Jul 2016 B2
9419049 Pitts et al. Aug 2016 B2
9467607 Ng et al. Oct 2016 B2
9497380 Jannard et al. Nov 2016 B1
9607424 Ng et al. Mar 2017 B2
9628684 Liang et al. Apr 2017 B2
9635332 Carroll et al. Apr 2017 B2
9639945 Oberheu et al. May 2017 B2
9647150 Blasco Claret May 2017 B2
9681069 El-Ghoroury et al. Jun 2017 B2
9774800 El-Ghoroury et al. Sep 2017 B2
9858649 Liang et al. Jan 2018 B2
9866810 Knight et al. Jan 2018 B2
9900510 Karafin et al. Feb 2018 B1
9979909 Kuang et al. May 2018 B2
20010048968 Cox et al. Dec 2001 A1
20010053202 Mazess et al. Dec 2001 A1
20020001395 Davis et al. Jan 2002 A1
20020015048 Nister Feb 2002 A1
20020061131 Sawhney May 2002 A1
20020109783 Hayashi et al. Aug 2002 A1
20020159030 Frey et al. Oct 2002 A1
20020199106 Hayashi Dec 2002 A1
20030043270 Rafey Mar 2003 A1
20030081145 Seaman et al. May 2003 A1
20030103670 Schoelkopf et al. Jun 2003 A1
20030117511 Belz et al. Jun 2003 A1
20030123700 Wakao Jul 2003 A1
20030133018 Ziemkowski Jul 2003 A1
20030147252 Fioravanti Aug 2003 A1
20030156077 Balogh Aug 2003 A1
20030184647 Yonezawa Oct 2003 A1
20040002179 Barton et al. Jan 2004 A1
20040012688 Tinnerinno et al. Jan 2004 A1
20040012689 Tinnerinno et al. Jan 2004 A1
20040101166 Williams et al. May 2004 A1
20040114176 Bodin et al. Jun 2004 A1
20040135780 Nims Jul 2004 A1
20040189686 Tanguay et al. Sep 2004 A1
20040257360 Sieckmann Dec 2004 A1
20050031203 Fukuda Feb 2005 A1
20050049500 Babu et al. Mar 2005 A1
20050052543 Li et al. Mar 2005 A1
20050080602 Snyder et al. Apr 2005 A1
20050162540 Yata Jul 2005 A1
20050212918 Serra et al. Sep 2005 A1
20050225634 Brunetti Oct 2005 A1
20050276441 Debevec Dec 2005 A1
20060008265 Ito Jan 2006 A1
20060023066 Li et al. Feb 2006 A1
20060050170 Tanaka Mar 2006 A1
20060056040 Lan Mar 2006 A1
20060056604 Sylthe et al. Mar 2006 A1
20060072175 Oshino Apr 2006 A1
20060082879 Miyoshi et al. Apr 2006 A1
20060130017 Cohen et al. Jun 2006 A1
20060208259 Jeon Sep 2006 A1
20060248348 Wakao et al. Nov 2006 A1
20060250322 Hall et al. Nov 2006 A1
20060256226 Alon et al. Nov 2006 A1
20060274210 Kim Dec 2006 A1
20060285741 Subbarao Dec 2006 A1
20070008317 Lundstrom Jan 2007 A1
20070019883 Wong et al. Jan 2007 A1
20070030357 Levien et al. Feb 2007 A1
20070033588 Landsman Feb 2007 A1
20070052810 Monroe Mar 2007 A1
20070071316 Kubo Mar 2007 A1
20070081081 Cheng Apr 2007 A1
20070097206 Houvener May 2007 A1
20070103558 Cai et al. May 2007 A1
20070113198 Robertson et al. May 2007 A1
20070140676 Nakahara Jun 2007 A1
20070188613 Norbori et al. Aug 2007 A1
20070201853 Petschnigg Aug 2007 A1
20070229653 Matusik et al. Oct 2007 A1
20070230944 Georgiev Oct 2007 A1
20070269108 Steinberg et al. Nov 2007 A1
20070273795 Jaynes Nov 2007 A1
20080007626 Wernersson Jan 2008 A1
20080012988 Baharav et al. Jan 2008 A1
20080018668 Yamauchi Jan 2008 A1
20080031537 Gutkowicz-Krusin et al. Feb 2008 A1
20080049113 Hirai Feb 2008 A1
20080056569 Williams et al. Mar 2008 A1
20080122940 Mori May 2008 A1
20080129728 Satoshi Jun 2008 A1
20080144952 Chen et al. Jun 2008 A1
20080152215 Rorie et al. Jun 2008 A1
20080158345 Schklair Jul 2008 A1
20080168404 Ording Jul 2008 A1
20080180792 Georgiev Jul 2008 A1
20080187305 Raskar et al. Aug 2008 A1
20080193026 Horie et al. Aug 2008 A1
20080205871 Utagawa Aug 2008 A1
20080226274 Spielberg Sep 2008 A1
20080232680 Berestov et al. Sep 2008 A1
20080253652 Gupta et al. Oct 2008 A1
20080260291 Alakarhu et al. Oct 2008 A1
20080266688 Errando Smet et al. Oct 2008 A1
20080277566 Utagawa Nov 2008 A1
20080309813 Watanabe Dec 2008 A1
20080316301 Givon Dec 2008 A1
20090027542 Yamamoto et al. Jan 2009 A1
20090041381 Georgiev et al. Feb 2009 A1
20090041448 Georgiev et al. Feb 2009 A1
20090070710 Kagaya Mar 2009 A1
20090109280 Gotsman Apr 2009 A1
20090128658 Hayasaka et al. May 2009 A1
20090128669 Ng et al. May 2009 A1
20090135258 Nozaki May 2009 A1
20090140131 Utagawa Jun 2009 A1
20090102956 Georgiev Jul 2009 A1
20090185051 Sano Jul 2009 A1
20090185801 Georgiev et al. Jul 2009 A1
20090190022 Ichimura Jul 2009 A1
20090190024 Hayasaka et al. Jul 2009 A1
20090195689 Hwang et al. Aug 2009 A1
20090202235 Li et al. Aug 2009 A1
20090204813 Kwan Aug 2009 A1
20090207233 Mauchly et al. Aug 2009 A1
20090273843 Raskar et al. Nov 2009 A1
20090295829 Georgiev et al. Dec 2009 A1
20090309973 Kogane Dec 2009 A1
20090309975 Gordon Dec 2009 A1
20090310885 Tamaru Dec 2009 A1
20090321861 Oliver et al. Dec 2009 A1
20100003024 Agrawal et al. Jan 2010 A1
20100021001 Honsinger et al. Jan 2010 A1
20100026852 Ng et al. Feb 2010 A1
20100050120 Ohazama et al. Feb 2010 A1
20100060727 Steinberg et al. Mar 2010 A1
20100097444 Lablans Apr 2010 A1
20100103311 Makii Apr 2010 A1
20100107068 Butcher et al. Apr 2010 A1
20100111489 Presler May 2010 A1
20100123784 Ding et al. May 2010 A1
20100141780 Tan et al. Jun 2010 A1
20100142839 Lakus-Becker Jun 2010 A1
20100201789 Yahagi Aug 2010 A1
20100253782 Elazary Oct 2010 A1
20100265385 Knight et al. Oct 2010 A1
20100277617 Hollinger Nov 2010 A1
20100277629 Tanaka Nov 2010 A1
20100303288 Malone Dec 2010 A1
20100328485 Imamura et al. Dec 2010 A1
20110001858 Shintani Jan 2011 A1
20110018903 Lapstun et al. Jan 2011 A1
20110019056 Hirsch et al. Jan 2011 A1
20110025827 Shpunt et al. Feb 2011 A1
20110032338 Raveendran et al. Feb 2011 A1
20110050864 Bond Mar 2011 A1
20110050909 Ellenby Mar 2011 A1
20110069175 Mistretta et al. Mar 2011 A1
20110075729 Dane et al. Mar 2011 A1
20110090255 Wilson et al. Apr 2011 A1
20110091192 Iwane Apr 2011 A1
20110123183 Adelsberger et al. May 2011 A1
20110129120 Chan Jun 2011 A1
20110129165 Lim et al. Jun 2011 A1
20110148764 Gao Jun 2011 A1
20110149074 Lee et al. Jun 2011 A1
20110169994 DiFrancesco et al. Jul 2011 A1
20110205384 Zamowski et al. Aug 2011 A1
20110221947 Awazu Sep 2011 A1
20110242334 Wilburn et al. Oct 2011 A1
20110242352 Hikosaka Oct 2011 A1
20110249341 DiFrancesco et al. Oct 2011 A1
20110261164 Olesen et al. Oct 2011 A1
20110261205 Sun Oct 2011 A1
20110267263 Hinckley Nov 2011 A1
20110267348 Lin Nov 2011 A1
20110273466 Imai et al. Nov 2011 A1
20110279479 Rodriguez Nov 2011 A1
20110133649 Bales et al. Dec 2011 A1
20110292258 Adler Dec 2011 A1
20110293179 Dikmen Dec 2011 A1
20110298960 Tan et al. Dec 2011 A1
20110304745 Wang et al. Dec 2011 A1
20110311046 Oka Dec 2011 A1
20110316968 Taguchi et al. Dec 2011 A1
20120014837 Fehr et al. Jan 2012 A1
20120050562 Perwass et al. Mar 2012 A1
20120056889 Carter et al. Mar 2012 A1
20120057040 Park et al. Mar 2012 A1
20120057806 Backlund et al. Mar 2012 A1
20120062755 Takahashi et al. Mar 2012 A1
20120132803 Hirato et al. May 2012 A1
20120133746 Bigioi et al. May 2012 A1
20120147205 Lelescu et al. Jun 2012 A1
20120176481 Lukk et al. Jul 2012 A1
20120188344 Imai Jul 2012 A1
20120201475 Carmel et al. Aug 2012 A1
20120206574 Shikata et al. Aug 2012 A1
20120218463 Benezra et al. Aug 2012 A1
20120224787 Imai Sep 2012 A1
20120229691 Hiasa et al. Sep 2012 A1
20120249529 Matsumoto et al. Oct 2012 A1
20120249550 Akeley Oct 2012 A1
20120249819 Imai Oct 2012 A1
20120251131 Henderson et al. Oct 2012 A1
20120257065 Velarde et al. Oct 2012 A1
20120257795 Kim et al. Oct 2012 A1
20120271115 Buerk Oct 2012 A1
20120272271 Nishizawa et al. Oct 2012 A1
20120287246 Katayama Nov 2012 A1
20120287296 Fukui Nov 2012 A1
20120287329 Yahata Nov 2012 A1
20120293075 Engelen et al. Nov 2012 A1
20120300091 Shroff et al. Nov 2012 A1
20120237222 Ng et al. Dec 2012 A9
20130002902 Ito Jan 2013 A1
20130002936 Hirama et al. Jan 2013 A1
20130021486 Richardson Jan 2013 A1
20130038696 Ding et al. Feb 2013 A1
20130041215 McDowall Feb 2013 A1
20130044290 Kawamura Feb 2013 A1
20130050546 Kano Feb 2013 A1
20130064453 Nagasaka et al. Mar 2013 A1
20130064532 Caldwell et al. Mar 2013 A1
20130070059 Kushida Mar 2013 A1
20130070060 Chatterjee et al. Mar 2013 A1
20130077880 Venkataraman et al. Mar 2013 A1
20130082905 Ranieri et al. Apr 2013 A1
20130088616 Ingrassia, Jr. Apr 2013 A1
20130093844 Shuto Apr 2013 A1
20130093859 Nakamura Apr 2013 A1
20130094101 Oguchi Apr 2013 A1
20130107085 Ng et al. May 2013 A1
20130113981 Knight et al. May 2013 A1
20130120356 Georgiev et al. May 2013 A1
20130120605 Georgiev et al. May 2013 A1
20130120636 Baer May 2013 A1
20130121577 Wang May 2013 A1
20130127901 Georgiev et al. May 2013 A1
20130128052 Catrein et al. May 2013 A1
20130128081 Georgiev et al. May 2013 A1
20130128087 Georgiev et al. May 2013 A1
20130129213 Shectman May 2013 A1
20130135448 Nagumo et al. May 2013 A1
20130176481 Holmes et al. Jul 2013 A1
20130188068 Said Jul 2013 A1
20130215108 McMahon et al. Aug 2013 A1
20130215226 Chauvier et al. Aug 2013 A1
20130222656 Kaneko Aug 2013 A1
20130234935 Griffith Sep 2013 A1
20130242137 Kirkland Sep 2013 A1
20130243391 Park et al. Sep 2013 A1
20130258451 El-Ghoroury et al. Oct 2013 A1
20130262511 Kuffner et al. Oct 2013 A1
20130286236 Mankowski Oct 2013 A1
20130321574 Zhang et al. Dec 2013 A1
20130321581 El-Ghoroury Dec 2013 A1
20130321677 Cote et al. Dec 2013 A1
20130329107 Burley et al. Dec 2013 A1
20130329132 Tico et al. Dec 2013 A1
20130335596 Demandoix et al. Dec 2013 A1
20130342700 Kass Dec 2013 A1
20140002502 Han Jan 2014 A1
20140002699 Guan Jan 2014 A1
20140003719 Bai et al. Jan 2014 A1
20140013273 Ng Jan 2014 A1
20140035959 Lapstun Feb 2014 A1
20140037280 Shirakawa Feb 2014 A1
20140049663 Ng et al. Feb 2014 A1
20140059462 Wernersson Feb 2014 A1
20140085282 Luebke et al. Mar 2014 A1
20140092424 Grosz Apr 2014 A1
20140098191 Rime et al. Apr 2014 A1
20140132741 Aagaard et al. May 2014 A1
20140133749 Kuo et al. May 2014 A1
20140139538 Barber et al. May 2014 A1
20140167196 Heimgartner et al. Jun 2014 A1
20140168484 Suzuki Jun 2014 A1
20140176540 Tosic et al. Jun 2014 A1
20140176592 Wilburn et al. Jun 2014 A1
20140176710 Brady Jun 2014 A1
20140177905 Grefalda Jun 2014 A1
20140184885 Tanaka et al. Jul 2014 A1
20140192208 Okincha Jul 2014 A1
20140193047 Grosz Jul 2014 A1
20140195921 Grosz Jul 2014 A1
20140204111 Vaidyanathan et al. Jul 2014 A1
20140211077 Ng et al. Jul 2014 A1
20140218540 Geiss et al. Aug 2014 A1
20140226038 Kimura Aug 2014 A1
20140240463 Pitts et al. Aug 2014 A1
20140240578 Fishman et al. Aug 2014 A1
20140245367 Sasaki Aug 2014 A1
20140267243 Venkataraman et al. Sep 2014 A1
20140267639 Tatsuta Sep 2014 A1
20140300753 Yin Oct 2014 A1
20140313350 Keelan Oct 2014 A1
20140313375 Milnar Oct 2014 A1
20140333787 Venkataraman Nov 2014 A1
20140340390 Lanman et al. Nov 2014 A1
20140347540 Kang Nov 2014 A1
20140354863 Ahn et al. Dec 2014 A1
20140368494 Sakharnykh et al. Dec 2014 A1
20140368640 Strandemar et al. Dec 2014 A1
20150062178 Matas et al. Mar 2015 A1
20150062386 Sugawara Mar 2015 A1
20150092071 Meng et al. Apr 2015 A1
20150097985 Akeley Apr 2015 A1
20150130986 Ohnishi May 2015 A1
20150193937 Georgiev et al. Jul 2015 A1
20150206340 Munkberg et al. Jul 2015 A1
20150207990 Ford et al. Jul 2015 A1
20150237273 Sawadaishi Aug 2015 A1
20150104101 Bryant et al. Oct 2015 A1
20150288867 Kajimura Oct 2015 A1
20150304544 Eguchi Oct 2015 A1
20150310592 Kano Oct 2015 A1
20150312553 Ng et al. Oct 2015 A1
20150312593 Akeley et al. Oct 2015 A1
20150346832 Cole et al. Dec 2015 A1
20150370011 Ishihara Dec 2015 A1
20150370012 Ishihara Dec 2015 A1
20150373279 Osborne Dec 2015 A1
20160029017 Liang Jan 2016 A1
20160065931 Konieczny Mar 2016 A1
20160065947 Cole et al. Mar 2016 A1
20160088287 Sadi Mar 2016 A1
20160094773 Maciuca Mar 2016 A1
20160142615 Liang May 2016 A1
20160155215 Suzuki Jun 2016 A1
20160165206 Huang et al. Jun 2016 A1
20160173844 Knight et al. Jun 2016 A1
20160191823 El-Ghoroury Jun 2016 A1
20160253837 Zhu et al. Sep 2016 A1
20160269620 Romanenko et al. Sep 2016 A1
20160307368 Akeley Oct 2016 A1
20160307372 Pitts et al. Oct 2016 A1
20160309065 Karafin et al. Oct 2016 A1
20160353006 Anderson Dec 2016 A1
20160353026 Blonde et al. Dec 2016 A1
20160381348 Hayasaka Dec 2016 A1
20170031146 Zheng Feb 2017 A1
20170059305 Nonn et al. Mar 2017 A1
20170067832 Ferrara, Jr. et al. Mar 2017 A1
20170078578 Sato Mar 2017 A1
20170094906 Liang et al. Mar 2017 A1
20170134639 Pitts et al. May 2017 A1
20170139131 Karafin et al. May 2017 A1
20170221226 Shen Aug 2017 A1
20170237971 Pitts et al. Aug 2017 A1
20170243373 Bevensee et al. Aug 2017 A1
20170244948 Pang et al. Aug 2017 A1
20170256036 Song et al. Sep 2017 A1
20170263012 Sabater et al. Sep 2017 A1
20170302903 Ng et al. Oct 2017 A1
20170330365 Adamov Nov 2017 A1
20170358092 Bleibel et al. Dec 2017 A1
20170365068 Tan et al. Dec 2017 A1
20170374411 Lederer et al. Dec 2017 A1
20180007253 Abe Jan 2018 A1
20180012397 Carothers Jan 2018 A1
20180020204 Pang et al. Jan 2018 A1
20180024753 Gewickey et al. Jan 2018 A1
20180033209 Akeley et al. Feb 2018 A1
20180034134 Pang et al. Feb 2018 A1
20180070066 Knight et al. Mar 2018 A1
20180070067 Knight et al. Mar 2018 A1
20180082405 Liang Mar 2018 A1
20180089903 Pang et al. Mar 2018 A1
20180097867 Pang et al. Apr 2018 A1
20180158198 Kamad Jun 2018 A1
Foreign Referenced Citations (13)
Number Date Country
101226292 Jul 2008 CN
101309359 Nov 2008 CN
19624421 Jan 1997 DE
2010020100 Jan 2010 JP
2011135170 Jul 2011 JP
2003052465 Jun 2003 WO
2006039486 Apr 2006 WO
2007092545 Aug 2007 WO
2007092581 Aug 2007 WO
2011010234 Mar 2011 WO
2011029209 Mar 2011 WO
2011081187 Jul 2011 WO
2015104953 Jul 2015 WO
Non-Patent Literature Citations (173)
Entry
International Search Report and Written Opinion dated Apr. 16, 2019 for corresponding International Application No. PCT/US2019/013645, 13 pages.
Meng, J. et al., “An Approach on Hardware Design for Computational Photography Applications Based on Light Field Refocusing Algorithm,” Nov. 18, 2007, 12 pages.
Wikipedia—Data overlay techniques for real-time visual feed. For example, heads-up displays: http://en.wikipedia.org/wiki/Head-up_display. Retrieved Jan. 2013.
Wikipedia—Exchangeable image file format: http://en.wikipedia.org/wiki/Exchangeable_image_file_format. Retrieved Jan. 2013.
Wikipedia—Expeed: http://en.wikipedia.org/wiki/EXPEED. Retrieved Jan. 15, 2014.
Wikipedia—Extensible Metadata Platform: http://en.wikipedia.org/wiki/Extensible_Metadata_Plafform. Retrieved Jan. 2013.
Wikipedia—Key framing for video animation: http://en.wikipedia.org/wiki/Key_frame. Retrieved Jan. 2013.
Wikipedia—Lazy loading of image data: http://en.wikipedia.org/wiki/Lazy_loading. Retrieved Jan. 2013.
Wikipedia—Methods of Variable Bitrate Encoding: http://en.wikipedia.org/wiki/Variable_bitrate#Methods_of VBR_encoding. Retrieved Jan. 2013.
Wikipedia—Portable Network Graphics format: http://en.wikipedia.org/wiki/Portable_Network_Graphics. Retrieved Jan. 2013.
Wikipedia—Unsharp Mask Technique: https://en.wikipedia.org/wiki/Unsharp_masking. Retrieved May 3, 2016.
Wilburn et al., “High Performance Imaging using Large Camera Arrays”, ACM Transactions on Graphics (TOG), vol. 24, Issue 3 (Jul. 2005), Proceedings of ACM SIGGRAPH 2005, pp. 765-776.
Wilburn, Bennett, et al., “High Speed Video Using a Dense Camera Array”, 2004.
Wilburn, Bennett, et al., “The Light Field Video Camera”, Proceedings of Media Processors 2002.
Williams, L. “Pyramidal Parametrics,” Computer Graphic (1983).
Winnemoller, H., et al., “Light Waving: Estimating Light Positions From Photographs Alone”, Eurographics 2005.
Wippermann, F. “Chirped Refractive Microlens Array,” Dissertation 2007.
Wuu, S., et al., “A Manufacturable Back-Side Illumination Technology Using Bulk Si Substrate for Advanced CMOS Image Sensors”, 2009 International Image Sensor Workshop, Bergen, Norway.
Wuu, S., et al., “BSI Technology with Bulk Si Wafer”, 2009 International Image Sensor Workshop, Bergen, Norway.
Xiao, Z. et al., “Aliasing Detection and Reduction in Plenoptic Imaging,” IEEE Conference on Computer Vision and Pattern Recognition; 2014.
Xu, Xin et al., “Robust Automatic Focus Algorithm for Low Contrast Images Using a New Contrast Measure,” Sensors 2011; 14 pages.
Zheng, C. et al., “Parallax Photography: Creating 3D Cinematic Effects from Stills”, Proceedings of Graphic Interface, 2009.
Zitnick, L. et al., “High-Quality Video View Interpolation Using a Layered Representation,” Aug. 2004; ACM Transactions on Graphics (TOG), Proceedings of ACM SIGGRAPH 2004; vol. 23, Issue 3; pp. 600-608.
Zoberbier, M., et al., “Wafer Cameras—Novel Fabrication and Packaging Technologies”, 2009 International Image Senor Workshop, Bergen, Norway, 5 pages.
U.S. Appl. No. 15/967,076, filed Apr. 30, 2018 listing Jiantao Kuang et al. as inventors, entitled “Automatic Lens Flare Detection and Correction for Light-Field Images”.
U.S. Appl. No. 15/666,298, filed Aug. 1, 2017 listing Yonggang Ha et al. as inventors, entitled “Focal Reducer with Controlled Optical Properties for Interchangeable Lens Light-Field Camera”.
U.S. Appl. No. 15/590,808, filed May 9, 2017 listing Alex Song et al. as inventors, entitled “Adaptive Control for Immersive Experience Delivery”.
U.S. Appl. No. 15/864,938, filed Jan. 8, 2018 listing Jon Karafin et al. as inventors, entitled “Motion Blur for Light-Field Images”.
U.S. Appl. No. 15/703,553, filed Sep. 13, 2017 listing Jon Karafin et al. as inventors, entitled “4D Camera Tracking and Optical Stabilization”.
U.S. Appl. No. 15/590,841, filed May 9, 2017 listing Kurt Akeley et al. as inventors, entitled “Vantage Beneration and Interactive Playback”.
U.S. Appl. No. 15/590,951, filed May 9, 2017 listing Alex Song et al. as inventors, entitled “Wedge-Based Light-Field Video Capture”.
U.S. Appl. No. 15/944,551, filed Apr. 3, 2018 listing Zejing Wang et al. as inventors, entitled “Generating Dolly Zoom Effect Using Light Field Image Data”.
U.S. Appl. No. 15/897,994, filed Feb. 15, 2018 listing Trevor Carothers et al. as inventors, entitled “Generation of Virtual Reality With 6 Degrees of Freesom From Limited Viewer Data”.
U.S. Appl. No. 15/605,037, filed May 25, 2017 listing Zejing Wang et al. as inventors, entitled “Multi-View Back-Projection to a Light-Field”.
U.S. Appl. No. 15/897,836, filed Feb. 15, 2018 listing Francois Bleibel et al. as inventors, entitled “Multi-View Contour Tracking”.
U.S. Appl. No. 15/897,942, filed Feb. 15, 2018 listing Francois Bleibel et al. as inventors, entitled “Multi-View Contour Tracking With Grabcut”.
Adelsberger, R. et al., “Spatially Adaptive Photographic Flash,” ETH Zurich, Department of Computer Science, Technical Report 612, 2008, pp. 1-12.
Adelson et al., “Single Lens Stereo with a Plenoptic Camera” IEEE Translation on Pattern Analysis and Machine Intelligence, Feb. 1992. vol. 14, No. 2, pp. 99-106.
Adelson, E. H., and Bergen, J. R. 1991. The plenoptic function and the elements of early vision. In Computational Models of Visual Processing, edited by Michael S. Landy and J. Anthony Movshon. Cambridge, Mass.: mit Press.
Adobe Systems Inc, “XMP Specification”, Sep. 2005.
Adobe, “Photoshop CS6 / in depth: Digital Negative (DNG)”, http://www.adobe.com/products/photoshop/extend.displayTab2html. Retrieved Jan. 2013.
Agarwala, A., et al., “Interactive Digital Photomontage,” ACM Transactions on Graphics, Proceedings of SIGGRAPH 2004, vol. 32, No. 3, 2004.
Andreas Observatory, Spectrograph Manual: IV. Flat-Field Correction, Jul. 2006.
Apple, “Apple iPad: Photo Features on the iPad”, Retrieved Jan. 2013.
Bae, S., et al., “Defocus Magnification”, Computer Graphics Forum, vol. 26, Issue 3 (Proc. of Eurographics 2007), pp. 1-9.
Belhumeur, Peter et al., “The Bas-Relief Ambiguity”, International Journal of Computer Vision, 1997, pp. 1060-1066.
Belhumeur, Peter, et al., “The Bas-Relief Ambiguity”, International Journal of Computer Vision, 1999, pp. 33-44, revised version.
Bhat, P. et al. “GradientShop: A Gradient-Domain Optimization Framework for Image and Video Filtering,” SIGGRAPH 2010; 14 pages.
Bolles, R., et al., “Epipolar-Plane Image Analysis: An Approach to Determining Structure from Motion”, International Journal of Computer Vision, 1, 7-55 (1987).
Bourke, Paul, “Image filtering in the Frequency Domain,” pp. 1-9, Jun. 1998.
Canon, Canon Speedlite wireless flash system, User manual for Model 550EX, Sep. 1998.
Chai, Jin-Xang et al., “Plenoptic Sampling”, ACM SIGGRAPH 2000, Annual Conference Series, 2000, pp. 307-318.
Chen, S. et al., “A CMOS Image Sensor with On-Chip Image Compression Based on Predictive Boundary Adaptation and Memoryless QTD Algorithm,” Very Large Scalee Integration (VLSI) Systems, IEEE Transactions, vol. 19, Issue 4; Apr. 2011.
Chen, W., et al., “Light Field mapping: Efficient representation and hardware rendering of surface light fields”, ACM Transactions on Graphics 21, 3, 447-456, 2002.
Cohen, Noy et al., “Enhancing the performance of the light field microscope using wavefront coding,” Optics Express, vol. 22, issue 20; 2014.
Daly, D., “Microlens Arrays” Retrieved Jan. 2013.
Debevec, et al, “A Lighting Reproduction Approach to Live-Action Compoisting” Proceedings SIGGRAPH 2002.
Debevec, P., et al., “Acquiring the reflectance field of a human face”, SIGGRAPH 2000.
Debevec, P., et al., “Recovering high dynamic radiance maps from photographs”, SIGGRAPH 1997, 369-378.
Design of the xBox menu. Retrieved Jan. 2013.
Digital Photography Review, “Sony Announce new RGBE CCD,” Jul. 2003.
Dorsey, J., et al., “Design and simulation of opera light and projection effects”, in Computer Graphics (Proceedings of SIGGRAPH 91), vol. 25, 41-50.
Dorsey, J., et al., “Interactive design of complex time dependent lighting”, IEEE Computer Graphics and Applications 15, 2 (Mar. 1995), 26-36.
Dowski et al., “Wavefront coding: a modern method of achieving high performance and/or low cost imaging systems” SPIE Proceedings, vol. 3779, Jul. 1999, pp. 137-145.
Dowski, Jr. “Extended Depth of Field Through Wave-Front Coding,” Applied Optics, vol. 34, No. 11, Apr. 10, 1995; pp. 1859-1866.
Duparre, J. et al., “Micro-Optical Artificial Compound Eyes,” Institute of Physics Publishing, Apr. 2006.
Eisemann, Elmar, et al., “Flash Photography Enhancement via Intrinsic Relighting”, SIGGRAPH 2004.
Fattal, Raanan, et al., “Multiscale Shape and Detail Enhancement from Multi-light Image Collections”, SIGGRAPH 2007.
Fernando, Randima, “Depth of Field—A Survey of Techniques,” GPU Gems. Boston, MA; Addison-Wesley, 2004.
Fitzpatrick, Brad, “Camlistore”, Feb. 1, 2011.
Fujifilm, Super CCD EXR Sensor by Fujifilm, brochure reference No. EB-807E, 2008.
Georgiev, T. et al., “Reducing Plenoptic Camera Artifacts,” Computer Graphics Forum, vol. 29, No. 6, pp. 1955-1968; 2010.
Georgiev, T., et al., “Spatio-Angular Resolution Tradeoff in Integral Photography,” Proceedings of Eurographics Symposium on Rendering, 2006.
Nimeroff, J., et al., “Efficient rendering of naturally illuminatied environments” in Fifth Eurographics Workshop on Rendering, 359-373, 1994.
Nokia, “City Lens”, May 2012.
Ogden, J., “Pyramid-Based Computer Graphics”, 1985.
Okano et al., “Three-dimensional video system based on integral photography” Optical Engineering, Jun. 1999. vol. 38, No. 6, pp. 1072-1077.
Orzan, Alexandrina, et al., “Diffusion Curves: A Vector Representation for Smooth-Shaded Images,” ACM Transactions on Graphics—Proceedings of SIGGRAPH 2008; vol. 27; 2008.
Pain, B., “Back-Side Illumination Technology for SOI-CMOS Image Sensors”, 2009.
Perez, Patrick et al., “Poisson Image Editing,” ACM Transactions on Graphics—Proceedings of ACM SIGGRAPH 2003; vol. 22, Issue 3; Jul. 2003; pp. 313-318.
Petschnigg, George, et al., “Digial Photography with Flash and No-Flash Image Pairs”, SIGGRAPH 2004.
Primesense, “The Primesense 3D Awareness Sensor”, 2007.
Ramamoorthi, R., et al, “Frequency space environment map rendering” ACM Transactions on Graphics (SIGGRAPH 2002 proceedings) 21, 3, 517-526.
Ramamoorthi, R., et al., “An efficient representation for irradiance environment maps”, in Proceedings of SIGGRAPH 2001, 497-500.
Raskar, Ramesh et al., “Glare Aware Photography: 4D Ray Sampling for Reducing Glare Effects of Camera Lenses,” ACM Transactions on Graphics—Proceedings of ACM SIGGRAPH, Aug. 2008; vol. 27, Issue 3; pp. 1-10.
Raskar, Ramesh et al., “Non-photorealistic Camera: Depth Edge Detection and Stylized Rendering using Multi-Flash Imaging”, SIGGRAPH 2004.
Raytrix, “Raytrix Lightfield Camera,” Raytrix GmbH, Germany 2012, pp. 1-35.
Roper Scientific, Germany “Fiber Optics,” 2012.
Scharstein, Daniel, et al., “High-Accuracy Stereo Depth Maps Using Structured Light,” CVPR'03 Proceedings of the 2003 IEEE Computer Society, pp. 195-202.
Schirmacher, H. et al., “High-Quality Interactive Lumigraph Rendering Through Warping,” May 2000, Graphics Interface 2000.
Shade, Jonathan, et al., “Layered Depth Images”, SIGGRAPH 98, pp. 1-2.
Shreiner, OpenGL Programming Guide, 7th edition, Chapter 8, 2010.
Simpleviewer, “Tiltview”, http://simpleviewer.net/tiltviewer. Retrieved Jan. 2013.
Skodras, A. et al., “The JPEG 2000 Still Image Compression Standard,” Sep. 2001, IEEE Signal Processing Magazine, pp. 36-58.
Sloan, P., et al., “Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments”, ACM Transactions on Graphics 21, 3, 527-536, 2002.
Snavely, Noah, et al., “Photo-tourism: Exploring Photo collections in 3D”, ACM Transactions on Graphics (SIGGRAPH Proceedings), 2006.
Sokolov, “Autostereoscopy and Integral Photography by Professor Lippmann's Method” , 1911, pp. 23-29.
Sony Corp, “Interchangeable Lens Digital Camera Handbook”, 2011.
Sony, Sony's First Curved Sensor Photo: http://www.engadget.com; Jul. 2014.
Stensvold, M., “Hybrid AF: A New Approach to Autofocus Is Emerging for both Still and Video”, Digital Photo Magazine, Nov. 13, 2012.
Story, D., “The Future of Photography”, Optics Electronics, Oct. 2008.
Sun, Jian, et al., “Stereo Matching Using Belief Propagation”, 2002.
Tagging photos on Flickr, Facebook and other online photo sharing sites (see, for example, http://support.gnip.com/customer/portal/articles/809309-flickr-geo-photos-tag-search). Retrieved Jan. 2013.
Takahashi, Keita, et al., “All in-focus View Synthesis from Under-Sampled Light Fields”, ICAT 2003, Tokyo, Japan.
Tanida et al., “Thin observation module by bound optics (TOMBO): concept and experimental verification” Applied Optics 40, 11 (Apr. 10, 2001), pp. 1806-1813.
Tao, Michael, et al., “Depth from Combining Defocus and Correspondence Using Light-Field Cameras”, Dec. 2013.
Techcrunch, “Coolinis”, Retrieved Jan. 2013.
Teo, P., et al., “Efficient linear rendering for interactive light design”, Tech. Rep. STAN-CS-TN-97-60, 1998, Stanford University.
Teranishi, N. “Evolution of Optical Structure in Images Sensors,” Electron Devices Meeting (IEDM) 2012 IEEE International; Dec. 10-13, 2012.
Vaish et al., “Using plane + parallax for calibrating dense camera arrays”, In Proceedings CVPR 2004, pp. 2-9.
Vaish, V., et al., “Synthetic Aperture Focusing Using a Shear-Warp Factorization of the Viewing Transform,” Workshop on Advanced 3D Imaging for Safety and Security (in conjunction with CVPR 2005), 2005.
VR Playhouse, “The Surrogate,” http://www.vrplayhouse.com/the-surrogate.
Wanner, S. et al., “Globally Consistent Depth Labeling of 4D Light Fields,” IEEE Conference on Computer Vision and Pattern Recognition, 2012.
Wanner, S. et al., “Variational Light Field Analysis for Disparity Estimation and Super-Resolution,” IEEE Transacations on Pattern Analysis and Machine Intellegence, 2013.
Wenger, et al, “Performance Relighting and Reflectance Transformation with Time-Multiplexed Illumination”, Institute for Creative Technologies, SIGGRAPH 2005.
Wetzstein, Gordon, et al., “Sensor Saturation in Fourier Multiplexed Imaging”, IEEE Conference on Computer Vision and Pattern Recognition (2010).
Wikipedia—Adaptive Optics: http://en.wikipedia.org/wiki/adaptive_optics. Retrieved Feb. 2014.
Wikipedia—Autofocus systems and methods: http://en.wikipedia.org/wiki/Autofocus. Retrieved Jan. 2013.
Wikipedia—Bayer Filter: http:/en.wikipedia.org/wiki/Bayer_filter. Retrieved Jun. 20, 2013.
Wikipedia—Color Image Pipeline: http://en.wikipedia.org/wiki/color_image_pipeline. Retrieved Jan. 15, 2014.
Wikipedia—Compression standard JPEG XR: http://en.wikipedia.org/wiki/JPEG_XR. Retrieved Jan. 2013.
Wikipedia—CYGM Filter: http://en.wikipedia.org/wiki/CYGM_filter. Retrieved Jun. 20, 2013.
Georgiev, T., et al., “Suppersolution with Plenoptic 2.0 Cameras,” Optical Society of America 2009; pp. 1-3.
Georgiev, T., et al., “Unified Frequency Domain Analysis of Lightfield Cameras” (2008).
Georgiev, T., et al., Plenoptic Camera 2.0 (2008).
Girod, B., “Mobile Visual Search”, IEEE Signal Processing Magazine, Jul. 2011.
Gortler et al., “The lumigraph” SIGGRAPH 96, pp. 43-54.
Groen et al., “A Comparison of Different Focus Functions for Use in Autofocus Algorithms,” Cytometry 6:81-91, 1985.
Haeberli, Paul “A Multifocus Method for Controlling Depth of Field” GRAPHICA Obscura, 1994, pp. 1-3.
Heide, F. et al., “High-Quality Computational Imaging Through Simple Lenses,” ACM Transactions on Graphics, SIGGRAPH 2013; pp. 1-7.
Heidelberg Collaboratory for Image Processing, “Consistent Depth Estimation in a 4D Light Field,” May 2013.
Hirigoyen, F., et al., “1.1 um Backside Imager vs. Frontside Image: an optics-dedicated FDTD approach”, IEEE 2009 International Image Sensor Workshop.
Huang, Fu-Chung et al., “Eyeglasses-free Display: Towards Correcting Visual Aberrations with Computational Light Field Displays,” ACM Transaction on Graphics, Aug. 2014, pp. 1-12.
Isaksen, A., et al., “Dynamically Reparameterized Light Fields,” SIGGRAPH 2000, pp. 297-306.
Ives H., “Optical properties of a Lippman lenticulated sheet,” J. Opt. Soc. Am. 21, 171 (1931).
Ives, H. “Parallax Panoramagrams Made with a Large Diameter Lens”, Journal of the Optical Society of America; 1930.
Jackson et al., “Selection of a Convolution Function for Fourier Inversion Using Gridding” IEEE Transactions on Medical Imaging, Sep. 1991, vol. 10, No. 3, pp. 473-478.
Kautz, J., et al., “Fast arbitrary BRDF shading for low-frequency lighting using spherical harmonics”, in Eurographic Rendering Workshop 2002, 291-296.
Koltun, et al., “Virtual Occluders: An Efficient Interediate PVS Representation”, Rendering Techniques 2000: Proc. 11th Eurographics Workshop Rendering, pp. 59-70, Jun. 2000.
Kopf, J., et al., Deep Photo: Model-Based Photograph Enhancement and Viewing, SIGGRAPH Asia 2008.
Lehtinen, J., et al. “Matrix radiance transfer”, in Symposium on Interactive 3D Graphics, 59-64, 2003.
Lesser, Michael, “Back-Side Illumination”, 2009.
Levin, A., et al., “Image and Depth from a Conventional Camera with a Coded Aperture”, SIGGRAPH 2007, pp. 1-9.
Levoy et al.,“Light Field Rendering” SIGGRAPH 96 Proceeding, 1996. pp. 31-42.
Levoy, “Light Fields and Computational Imaging” IEEE Computer Society, Aug. 2006, pp. 46-55.
Levoy, M. “Light Field Photography and Videography,” Oct. 18, 2005.
Levoy, M. “Stanford Light Field Microscope Project,” 2008; http://graphics.stanford.edu/projects/lfmicroscope/, 4 pages.
Levoy, M., “Autofocus: Contrast Detection”, http://graphics.stanford.edu/courses/cs178/applets/autofocusPD.html, pp. 1-3, 2010.
Levoy, M., “Autofocus: Phase Detection”, http://graphics.stanford.edu/courses/cs178/applets/autofocusPD.html, pp. 1-3, 2010.
Levoy, M., et al., “Light Field Microscopy,” ACM Transactions on Graphics, vol. 25, No. 3, Proceedings SIGGRAPH 2006.
Liang, Chia-Kai, et al., “Programmable Aperture Photography: Multiplexed Light Field Acquisition”, ACM SIGGRAPH, 2008.
Lippmann, “Reversible Prints”, Communication at the French Society of Physics, Journal of Physics, 7 , Mar. 4, 1908, pp. 821-825.
Lumsdaine et al., “Full Resolution Lighffield Rendering” Adobe Technical Report Jan. 2008, pp. 1-12.
Maeda, Y. et al., “A CMOS Image Sensor with Pseudorandom Pixel Placement for Clear Imaging,” 2009 International Symposium on Intelligent Signal Processing and Communication Systems, Dec. 2009.
Magnor, M. et al., “Model-Aided Coding of Multi-Viewpoint Image Data,” Proceedings IEEE Conference on Image Processing, ICIP-2000, Vancouver, Canada, Sep. 2000. https://graphics.tu-bs.de/static/people/magnor/publications/icip00.pdf.
Mallat, Stephane, “A Wavelet Tour of Signal Processing”, Academic Press 1998.
Malzbender, et al., “Polynomial Texture Maps”, Proceedings SIGGRAPH 2001.
Marshall, Richard J. et al., “Improving Depth Estimation from a Plenoptic Camera by Patterned Illumination,” Proc. of SPIE, vol. 9528, 2015, pp. 1-6.
Masselus, Vincent, et al., “Relighting with 4D Incident Light Fields”, SIGGRAPH 2003.
Meynants, G., et al., “Pixel Binning in CMOS Image Sensors,” Frontiers in Electronic Imaging Conference, 2009.
Moreno-Noguer, F. et al., “Active Refocusing of Images and Videos,” ACM Transactions on Graphics, Aug. 2007; pp. 1-9.
Munkberg, J. et al., “Layered Reconstruction for Defocus and Motion Blur” EGSR 2014, pp. 1-12.
Niaemura et al., “3-D Computer Graphics based on Integral Photography” Optics Express, Feb. 12, 2001. vol. 8, No. 2, pp. 255-262.
Nakamura, J., “Image Sensors and Signal Processing for Digital Still Cameras” (Optical Science and Engineering), 2005.
National Instruments, “Anatomy of a Camera,” pp. 1-5, Sep. 6, 2006.
Nayar, Shree, et al., “Shape from Focus”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 16, No. 8, pp. 824-831, Aug. 1994.
Ng, R., et al. “Light Field Photography with a Hand-held Plenoptic Camera,” Stanford Technical Report, CSTR 2005-2, 2005.
Ng, R., et al., “All-Frequency Shadows Using Non-linear Wavelet Lighting Approximation. ACM Transactions on Graphics,” ACM Transactions on Graphics; Proceedings of SIGGRAPH 2003.
Ng, R., et al., “Triple Product Wavelet Integrals for All-Frequency Relighting”, ACM Transactions on Graphics (Proceedings of SIGGRAPH 2004).
Ng, Yi-Ren, “Digital Light Field Photography,” Doctoral Thesis, Standford University, Jun. 2006; 203 pages.
Ng., R., “Fourier Slice Photography,” ACM Transactions on Graphics, Proceedings of SIGGRAPH 2005, vol. 24, No. 3, 2005, pp. 735-744.
Nguyen, Hubert. “Practical Post-Process Depth of Field.” GPU Gems 3. Upper Saddle River, NJ: Addison-Wesley, 2008.
International Preliminary Report on Patentability dated Jul. 30, 2020 for International Application No. PCT/US2019/013645, 8 pages.
Related Publications (1)
Number Date Country
20190222748 A1 Jul 2019 US