US20140139610A1 - Navigable telepresence method and system utilizing an array of cameras - Google Patents
Navigable telepresence method and system utilizing an array of cameras Download PDFInfo
- Publication number
- US20140139610A1 US20140139610A1 US13/949,132 US201313949132A US2014139610A1 US 20140139610 A1 US20140139610 A1 US 20140139610A1 US 201313949132 A US201313949132 A US 201313949132A US 2014139610 A1 US2014139610 A1 US 2014139610A1
- Authority
- US
- United States
- Prior art keywords
- user
- camera
- environment
- array
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/157—Conference systems defining a virtual conference space and using avatars or agents
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B37/00—Panoramic or wide-screen photography; Photographing extended surfaces, e.g. for surveying; Photographing internal surfaces, e.g. of pipe
- G03B37/04—Panoramic or wide-screen photography; Photographing extended surfaces, e.g. for surveying; Photographing internal surfaces, e.g. of pipe with cameras or projectors providing touching or overlapping fields of view
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/167—Synchronising or controlling image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/189—Recording image signals; Reproducing recorded image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/243—Image signal generators using stereoscopic image cameras using three or more 2D image sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/296—Synchronisation thereof; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/58—Means for changing the camera field of view without moving the camera body, e.g. nutating or panning of optics or image sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2624—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2625—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of images from a temporal image sequence, e.g. for a stroboscopic effect
- H04N5/2627—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of images from a temporal image sequence, e.g. for a stroboscopic effect for providing spin image effect, 3D stop motion effect or temporal freeze effect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/142—Constructional details of the terminal equipment, e.g. arrangements of the camera and the display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
- H04N7/185—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source from a mobile camera, e.g. for remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/246—Calibration of cameras
Definitions
- the present invention relates to a telepresence system and, more particularly, to a navigable camera array telepresence system and method of using same.
- static venues such as museums, and dynamic venues or events, such as a music concerts.
- the viewing of such venues is limited by time, geographical location, and the viewer capacity of the venue. For example, potential visitors to a museum may be prevented from viewing an exhibit due to the limited hours the museum is open. Similarly, music concert producers must turn back fans due to the limited seating of an arena. In short, limited access to venues reduces the revenue generated.
- the broadcast resulting from these editorial and production efforts provides viewers with limited enjoyment.
- the broadcast is typically based on filming the venue from a finite number of predetermined cameras.
- the broadcast contains limited viewing angles and perspectives of the venue.
- the viewing angles and perspectives presented in the broadcast are those selected by a producer or director during the editorial and production process; there is no viewer autonomy.
- the broadcast is often recorded for multiple viewings, the broadcast has limited content life because each viewing is identical to the first. Because each showing looks and sounds the same, viewers rarely come back for multiple viewings.
- This system has several drawbacks. For example, in order for a viewer's perspective to move through the venue, the moving vehicle must be actuated and controlled. In this regard, operation of the system is complicated. Furthermore, because the camera views are contiguous, typically at right angles, changing camera views results in a discontinuous image.
- 360 degree camera systems also suffer from drawbacks.
- such systems limit the user's view to 360 degrees from a given point perspective.
- 360 degree camera systems provide the user with a panoramic view from a single location. Only if the camera system was mounted on a moving vehicle could the user experience simulated movement through an environment.
- U.S. Pat. No. 5,187,571 for Television System For Displaying Multiple Views of A Remote Location issued Feb. 16, 1993, describes a camera system similar to the 360 degree camera systems described above.
- the system described provides a user to select an arbitrary and continuously variable section of an aggregate field of view. Multiple cameras are aligned so that each camera's field of view merges contiguously with those of adjacent cameras thereby creating the aggregate field of view.
- the aggregate field of view may expand to cover 360 degrees.
- the cameras' views must be contiguous.
- the cameras In order for the camera views to be contiguous, the cameras have to share a common point perspective, or vertex.
- the system of U.S. Pat. No. 5,187,571 limits a user's view to a single point perspective, rather than allowing a user to experience movement in perspective through an environment.
- a telepresence system includes an array of cameras, each of which has an associated view of an environment and an associated output representing the view.
- the system also includes a first user interface device having first user inputs associated with movement along a first path in the array.
- the system may further include a second user interface device having second user inputs associated with movement along a second path in the array.
- a processing element is coupled to the user interface devices. The processing element receives and interprets the first inputs and selects outputs of cameras in the first path. Similarly, the processing element receives and interprets the second inputs and selects outputs of cameras in the second path independently of the first inputs.
- the system may also provide the users with an additional source output, including imagery and data associated with a virtual world and other audio and/or visual content.
- FIG. 1 is an overall schematic of one embodiment of the present invention.
- FIG. 2 a is a perspective view of a camera and a camera rail section of the array according to one embodiment of the present invention.
- FIGS. 2 b - 2 d are side plan views of a camera and a camera rail according to one embodiment of the present invention.
- FIG. 2 e is a top plan view of a camera rail according to one embodiment of the present invention.
- FIG. 3 is a perspective view of a portion of the camera array according to one embodiment of the present invention.
- FIG. 4 is a perspective view of a portion of the camera array according to an alternate embodiment of the present invention.
- FIG. 5 is a flowchart illustrating the general operation of the user interface according to one embodiment of the present invention.
- FIG. 6 is a flowchart illustrating in detail a portion of the operation shown in FIG. 5 .
- FIG. 7 a is a perspective view of a portion of one embodiment of the present invention illustrating the arrangement of the camera array relative to objects being viewed.
- FIGS. 7 b - 7 g illustrate views from the perspectives of selected cameras of the array in FIG. 7 a.
- FIG. 8 is a schematic view of an alternate embodiment of the present invention.
- FIG. 9 is a schematic view of a server according to one embodiment of the present invention.
- FIG. 10 is a schematic view of a server according to an alternate embodiment of the present invention.
- FIG. 11 is a top plan view of an alternate embodiment of the present invention.
- FIG. 12 is a flowchart illustrating in detail the image capture portion of the operation of the embodiment shown in FIG. 11 .
- the present invention relates to a telepresence system that, in a preferred embodiments, uses modular, interlocking arrays of microcameras.
- the cameras are on rails, with each rail holding a plurality of cameras. These cameras, each locked in a fixed relation to every adjacent camera on the array and dispersed dimensionally in a given environment, transmit image output to an associated storage node, thereby enabling remote viewers to navigate through such environment with the same moving light reflections and shadows) that characterize an actual in-environment transit.
- the outputs of these microcameras are linked by tiny (less than half the width of a human hair) Vertical Cavity Surface Emitting Lasers (VCSELs), or alternatively any photonic or optoelectric throughput device, to optical fibers, fed through area net hubs, buffered on server arrays or server farms (either for recording or (instantaneous) relay) and sent to viewers at remote terminals, interactive wall screens, or mobile image appliances (like Virtual Retinal Displays).
- VCSELs Vertical Cavity Surface Emitting Lasers
- GUI graphical user interface
- the system uses the multiplicity of positioned microcameras to move the viewer's perspective from microcamera node to adjacent microcamera node in a way that provides the viewer with a sequential visual and acoustical path throughout the extent of the array. This allows the viewer to fluidly track or dolly through a 3-dimensional remote environment, to move through an event and make autonomous real-time decisions about where to move and when to linger.
- FIG. 1 A telepresence system 100 according to the present invention is shown in FIG. 1 .
- the telepresence system 100 generally includes an array 10 of cameras 14 coupled to a server 18 , which in turn is coupled to one or more users 22 each having a user interfaced/display device 24 .
- the operation and functionality of the embodiment described herein is provided, in part, by the server and user interface/display device. While the operation of these components is not described by way of particular code listings or logic diagrams, it is to be understood that one skilled in the art will be able to arrive at suitable implementations based on the functional and operational details provided herein. Furthermore, the scope of the present invention is not to be construed as limited to any particular code or logic implementation.
- the camera array 10 is conceptualized as being in an X, Z coordinate system. This allows each camera to have an associated, unique node address comprising an X, and Z coordinate (X, Z).
- a coordinate value corresponding to an axis of a particular camera represents the number of camera positions along that axis the particular camera is displaced from a reference camera.
- the X axis runs left and right, and the Z axis runs down and up.
- Each camera 14 is identified by its X, Z coordinate. It is to be understood, however, that other methods of identifying cameras 14 can be used.
- the array is three dimensional, located in an X, Y, Z coordinate system.
- the array 10 comprises a plurality of rails 12 , each rail 12 including a series of cameras 14 .
- the cameras 14 are microcameras.
- the output from the microcameras 14 are coupled to the server 18 by means of local area hubs 16 .
- the local area hubs 16 gather the outputs and, when necessary, amplify the outputs for transmission to the server 18 .
- the local area hubs 16 multiplex the outputs for transmission to the server 18 .
- the communication links 15 between the camera 14 and the server 18 as being hardwired, it is to be understood that wireless links may be employed.
- the communication links 15 may take the form of fiber optics, cable, satellite, microwave transmission, internet, and the like.
- the server 18 transfers the outputs to the electronic storage device 20 .
- the electronic (mass) storage device 20 transfers each camera's output onto a storage medium or means, such as CD-ROM, DVD, tape, platter, disk array, or the like.
- the output of each camera 14 is stored in a particular location on the storage medium associated with that camera 14 or is stored with an indication to which camera 14 each stored output corresponds.
- the output of each camera 14 is stored in contiguous locations on a separate disk, tape, CD-ROM, or platter.
- the camera output may be stored in a compressed format, such as JPEG, MPEG1, MPEG2, and the like. Having stored each output allows a user to later view the environment over and over again, each time moving through the array 10 in a new path, as described below. In some embodiments of the present invention, such as those providing only real-time viewing, no storage device is required.
- the server 18 receives output from the cameras 14 in the array.
- the server 18 processes these outputs for either storage in the electronic storage device 20 , transmission to the users 22 or both.
- the server 18 is configured to provide the functionality of the system 100 in the present embodiment, it is to be understood that other processing elements may provide the functionality of the system 100 .
- the user interface device is a personal computer programmed to interpret the user input and transmit an indication of the desired current node address, buffer outputs from the array, and provide other of the described functions.
- the system 100 can accommodate (but does not require) multiple users 22 .
- Each user 22 has associated therewith a user interface device including a user display device (collectively 24 ).
- user 22 - 1 has an associated user interface device and a user display device in the form of a computer 24 - 1 having a monitor and a keyboard.
- User 22 - 2 has associated therewith an interactive wall screen 24 - 2 which serves as a user interface device and a user display device.
- the user interface device and the user display device of user 22 - 3 includes a mobile audio and image appliance 24 - 3 .
- a digital interactive TV 24 - 4 is the user interface device and user display device of user 22 - 4 .
- user 22 - 5 has a voice recognition unit and monitor 24 - 5 as the user interface and display devices.
- voice recognition unit and monitor 24 - 5 as the user interface and display devices.
- user interface devices and user display devices are merely exemplary; for example, other interface devices include a mouse, touch screen, biofeedback devices, as well as those identified in U.S. Provisional Patent Application Ser. No. 60/080,413 and the like.
- each user interface device 24 has associated therewith user inputs. These user inputs allow each user 22 to move or navigate independently through the array 10 . In other words, each user 22 enters inputs to generally select which camera outputs are transferred to the user display device.
- each user display device includes a graphical representation of the array 10 . The graphical representation includes an indication of which camera in the array the output of which is being viewed. The user inputs allow each user to not only select particular cameras, but also to select relative movement or navigational paths through the array 10 .
- each user 22 may be coupled to the server 18 by an independent communication link.
- each communication link may employ different technology.
- the communication links include an internet link, a microwave signal link, a satellite link, a cable link, a fiber optic link, a wireless link, and the like.
- the array 10 provides several advantages. For example, because the array 10 employs a series of cameras 14 , no individual camera, or the entire array 10 for that matter, need be moved in order to obtain a seamless view of the environment. Instead, the user navigates through the array 10 , which is strategically placed through and around the physical environment to be viewed. Furthermore, because the cameras 14 of the array 10 are physically located at different points in the environment to be viewed, a user is able to view changes in perspective, a feature unavailable to a single camera that merely changes focal length.
- Each camera 14 is preferably a microcamera.
- the microcameras microlenses mounted on thumbnail-sized CMOS active pixel sensor (APS) microchips—are arranged in patterns that enable viewers to move radically, in straight lines, or in fluid combinations thereof.
- the cameras are produced in a mainstream manufacturing process, by several companies, including Photobit, Pasadena, Calif.; Sarnoff Corporation, Princeton, N.J.; and VLSI Vision, Ltd., Edinburgh, Scotland.
- the camera array 10 of the present embodiment comprises a series of modular rails 12 carrying microcameras 14 .
- the structure of the rails 12 and cameras 14 will now be discussed in greater detail with reference to FIGS. 2 a through 2 d .
- Each camera 14 includes registration pins 34 .
- the cameras 14 utilize VCSELs to transfer their outputs to the rail 12 . It is to be understood that the present invention is not limited to any particular type of camera 14 , however, or even to an array 10 consisting of only one type of camera 14 .
- Each rail 12 includes two sides, 12 a , 12 b , at least one of which 12 b is hingeably connected to the base 12 c of the rail 12 .
- the base 12 c includes docking ports 36 for receiving the registration pins 34 of the camera 14 .
- Each rail 12 further includes a first end 38 and a second end 44 .
- the first end 38 includes, in the present embodiment, two locking pins 40 and a protected transmission relay port 42 for transmitting the camera outputs.
- the second end 44 includes two guide holes 46 for receiving the locking pins 40 , and a transmission receiving port 48 .
- the first end 38 of one rail 12 is engagable with a second end 44 of another rail 12 . Therefore, each rail 12 is modular and can be functionally connected to another rail to create the array 10 .
- Each rail 12 includes communication paths for transmitting the output from each camera 14 .
- the array 10 is shown having a particular configuration, it is to be understood that virtually any configuration of rails 12 and cameras 14 is within the scope of the present invention.
- the array 10 may be a linear array of cameras 14 , a 2-dimensional array of cameras 14 , a 3-dimensional array of cameras 14 , or any combination thereof.
- the array 10 need not be comprised solely of linear segments, but rather may include curvilinear sections.
- the array 10 is supported by any of a number of support means.
- the array 10 can be fixedly mounted to a wall or ceiling; the array 10 can be secured to a moveable frame that can be wheeled into position in the environment or supported from cables.
- FIG. 3 illustrates an example of a portion of the array 10 .
- the array 10 comprises five rows of rails 12 a , through 12 e .
- Each of these rails 12 a - 12 e is directed towards a central plane, which substantially passes through the center row 12 c . Consequently, for any object placed in the same plane as the middle row 12 c , a user would be able to view the object essentially from the bottom, front, and top.
- the rails 12 of the array 10 need not have the same geometry.
- some of the rails 12 may be straight while others may be curved.
- FIG. 4 illustrates the camera alignment that results from utilizing curved rails. It should be noted that rails in FIG. 4 have been made transparent so that the arrangement of cameras 14 may be easily seen.
- each rail is configured in a step-like fashion or an arc with each camera above (or below) and in front of a previous camera.
- the user has the option of moving forward through the environment.
- the spacing of the microcameras 14 depends on the particular application, including the objects being viewed, the focal length of the microcameras 14 , and the speed of movement through the array 10 .
- the distance between microcameras 14 can be approximated by analogy to a conventional movie reel recording projector.
- the speed of movement of a projector through an environment divided by the frames per unit of time second results in a frame-distance ratio.
- a frame is taken ever inch.
- a conventional movie projector records twenty-four frames per second. When such a projector is moved through an environment at two feet per second, a frame is taken approximately every inch.
- a frame of the projector is analogous to a camera 14 in the present invention.
- one frame per inch results in a movie having a seamless view of the environment, so too does one camera 14 per inch.
- the cameras 14 are spaced approximately one inch apart, thereby resulting in a seamless view of the environment.
- step 110 the user is presented with a predetermined starting view of the environment corresponding to a starting camera.
- the operation of the system is controlled, in part, by software residing in the server.
- the system associates each camera in the array with a coordinate.
- the system is able to note the coordinates of the starting camera node. The camera output and, thus the corresponding view, changes only upon receiving a user input.
- the user When the user determines that they want to move or navigate through the array, the user enters a user input through the user interface device 24 .
- the user inputs of the present embodiment generally include moving to the right, to the left, up, or down in the array. Additionally, a user may jump to a particular camera in the array. In alternate embodiments, a subset of these or other inputs, such as forward, backward, diagonal, over, and under, are used.
- the user interface device transmits the user input to the server in step 120 .
- decoding the input generally involves determining whether the user wishes to move to the right, to the left, up, or down in the array.
- the server 18 proceeds to determine whether the input corresponds to moving to the user's right in the array 10 . This determination is shown in step 140 . If the received user input does correspond to moving to the right, the current node address is incremented along the X axis in step 150 to obtain an updated address.
- the server 18 determines whether the input corresponds to moving to the user's left in the array 10 in step 160 . Upon determining that the input does correspond to moving to the left, the server 18 then decrements the current node address along the X axis to arrive at the updated address. This is shown in step 170 .
- the server 18 determines whether the input corresponds to moving up in the array. This determination is made in step 180 . If the user input corresponds to moving up, in step 190 , the server 18 increments the current node address along the Z axis, thereby obtaining an updated address.
- the server 18 determines whether the received user input corresponds to moving down in the array 10 . This determination is made in step 200 . If the input does correspond to moving down in the array 10 , in step 210 the server 18 decrements the current node address along the Z axis.
- step 220 the server 18 determines whether the received user input corresponds to jumping or changing the view to a particular camera 14 . As indicated in FIG. 5 , if the input corresponds to jumping to a particular camera 14 , the server 18 changes the current node address to reflect the desired camera position. Updating the node address is shown as step 230 . In an alternate embodiment, the input corresponds to jumping to a particular position in the array 10 , not identified by the user as being a particular camera but by some reference to the venue, such as stage right.
- the server 18 may decode the received user inputs in any of a number of ways, including in any order. For example, in an alternate embodiment the server 18 first determines whether the user input corresponds to up or down. In another alternate, preferred embodiment, user navigation includes moving forward, backward, to the left and right, and up and down through a three dimensional array.
- step 240 the server 18 causes a message signal to be transmitted to the user display device 24 , causing a message to be displayed to the user 22 that the received input was not understood. Operation of the system 100 then continues with step 120 , and the server 18 awaits receipt of the next user input.
- step 250 After adjusting the current node address, either by incrementing or decrementing the node address along an axis or by jumping to a particular node address, the server 18 proceeds in step 250 to adjust the user's view. Once the view is adjusted, operation of the system 100 continues again with step 120 as the server 18 awaits receipt of the next user input.
- the server 18 continues to update the node address and adjust the view based on the received user input. For example, if the user input corresponded to “moving to the right”, then operation of the system 100 would continuously loop through steps 140 , 150 , and 250 , checking for a different input. When the different input is received, the server 18 continuously updates the view accordingly.
- FIG. 6 is a more detailed diagram of the operation of the system according to steps 140 , 150 , and 250 of FIG. 5 .
- FIG. 6 describes more detailed movement one direction i.e., to the right, the same detailed movement can be applied in any other direction.
- the determination of whether the user input corresponds to moving to the right actually involves several determinations. As described in detail below, these determinations include moving to the right through the array 10 at different speeds, moving to the right into a composited additional source output at different speeds, and having the user input overridden by the system 100 .
- the present invention allows a user 22 to navigate through the array 10 at the different speeds.
- the server 18 will apply an algorithm that controls the transition between camera outputs either at critical speed (n nodes/per unit of time), under critical speed (n ⁇ 1 nodes/per unit of time), or over critical speed (n+1 nodes/per unit of time).
- speed of movement through the array 10 can alternatively be expressed as the time to switch from one camera 14 to another camera 14 .
- the server 18 makes the determination whether the user input corresponds to moving to the right at a critical speed.
- the critical speed is preferably a predetermined speed of movement through the array 10 set by the system operator or designer depending on the anticipated environment being viewed. Further, the critical speed depends upon various other factors, such as focal length, distance between cameras, distance between the cameras and the viewed object, and the like.
- the speed of movement through the array 10 is controlled by the number of cameras 14 traversed in a given time period. Thus, the movement through the array 10 at critical speed corresponds to traversing some number, “n”, camera nodes per millisecond, or taking some amount of time, “s”, to switch from one camera 14 to another.
- the server 18 increments the current node address along the X axis at n nodes per millisecond.
- the user traverses twenty-four cameras 14 per second.
- a movie projector records twenty-four frames per second. Analogizing between the movie projector and the present invention, at critical the user traverses (and the server 18 switches between) approximately twenty-four cameras 14 per second, or a camera 14 approximately every 0.04167 seconds.
- the user 22 may advance not only at critical speed, but also at over the critical speed, as shown in step 140 b , or at under the critical speed, as shown in step 140 c .
- the server 18 increments the current node address along the X axis by a unit of greater than n, for example, at n+2 nodes per millisecond.
- the step of incrementing the current node address at n+1 nodes per millisecond along the X axis is shown in step 150 b .
- the server 18 proceeds to increment the current node address at a variable less than n, for example, at n ⁇ 1 nodes per millisecond. This operation is shown as step 150 c.
- the shape of the array 10 can also be electronically scaled and the system 100 designed with a “center of gravity” that will ease a user's image path back to a “starting” or “critical position” node or ring of nodes, either when the user 22 releases control or when the system 100 is programmed to override the user's autonomy; that is to say, the active perimeter or geometry of the array 10 can be pre-configured to change at specified times or intervals in order to corral or focus attention in a situation that requires dramatic shaping.
- the system operator can, by real-time manipulation or via a pre-configured electronic proxy sequentially activate or deactivate designated portions of the camera array 10 . This is of particular importance in maintaining authorship and dramatic pacing in theatrical or entertainment venues, and also for implementing controls over how much freedom a user 22 will have to navigate through the array 10 .
- the system 100 can be programmed such that certain portions of the array 10 are unavailable to the user 22 at specified times or intervals.
- the server 18 makes the determination whether the user input corresponds to movement to the right through the array but is subject to a navigation control algorithm.
- the navigation control algorithm causes the server 18 to determine, based upon navigation control factors, whether the user's desired movement is permissible.
- the navigation control algorithm determines whether the desired movement would cause the current node address to fall outside the permissible range of node coordinates.
- the permissible range of node coordinates is predetermined and depends upon the time of day, as noted by the server 18 .
- the navigation control factors include time.
- permissible camera nodes and control factors can be correlated in a table stored in memory.
- the navigation control factors include time as measured from the beginning of a performance being viewed, also as noted by the server.
- the system operator can dictate from where in the array a user will view certain scenes.
- the navigation control factor is speed of movement through the array. For example, the faster a user 22 moves or navigates through the array, the wider the turns must be.
- the permissible range of node coordinates is not predetermined.
- the navigation control factors and, therefore, the permissible range is dynamically controlled by the system operator who communicates with the server via an input device.
- the server 18 further proceeds, in step 150 d , to increment the current node address along a predetermined path.
- incrementing the current node address along a predetermined path the system operator is able to corral or focus the attention of the user 22 to the particular view of the permissible cameras 14 , thereby maintaining authorship and dramatic pacing in theatrical and entertainment venues.
- the server 18 does not move the user along a predetermined path. Instead, the server 18 merely awaits a permissible user input and holds the view at the current node. Only when the server 18 receives a user input resulting in a permissible node coordinate will the server 18 adjust the user's view.
- the user 22 may, at predetermined locations in the array 10 , choose to leave the real world environment being viewed. More specifically, additional source outputs, such as computer graphic imagery, virtual world camera views and virtual world grid data, virtual world imagery, virtual objects and their grid positioning data, applets, sprites, avatar representations, film clips, animation, augmented reality objects or images or recordings of real-world objects and other artificial and real camera outputs, are made available to the user 22 .
- the additional source output is composited with the view of the real environment.
- the user's view transfers completely from the real environment to that offered by the additional source output.
- the additional source output is stored (preferably in digital form) in the electronic storage device 20 .
- the server 18 transmits the additional source output to the user interface/display device 24 .
- the server 18 simply transmits the additional source output to the user display device 24 .
- the server 18 first composites the additional source output with the camera output and then transmits the composited signal to the user interface/display device 24 .
- the server 18 makes the determination whether the user input corresponds to moving in the array into the source output. If the user 22 decides to move (or the system is configured to cause the user 22 to move) into the additional source output, the server 18 adjusts the view by, for example, substituting the additional source output for the updated camera output identified in either of steps 150 a - d.
- the additional source output may include multiplexed, composited (using blue screen, green screen, or alpha techniques), or layered output from the group of various inputs and/or outputs including: computer graphic imagery, virtual world camera views and virtual world grid data, virtual world imagery, virtual objects and their grid positioning data, applets, sprites, avatar representations, film clips, animation, augmented reality objects or images or recordings of real-world objects.
- the system may present the additional source output, alone or in combination with the camera output, for example, by mosaicing, mixing, layering or multiplexing it.
- the additional source output may be aligned and registered with real world camera views along the user's perspective motion path, as the user's viewpoint moves from camera to camera.
- This alignment or registration of a real world camera view with a virtual world view can be aided by camera orientation and pointing platforms (such as a spherical ultrasonic motor or a spherical magnetic stepper motor or other such devices on the physical camera array side, and virtual camera navigation algorithms on the virtual world side) along with protocol handshakes between the camera array operating system and the virtual world operating system; and the alignment can be triggered or guided by transceivers embedded in real world environmental sensors, such as: radio frequency (RFID) tags worn by event actors or embedded in event objects, proximity sensors, infrared heat sensors, motion sensors, sound and voice sensors, vibration sensors, and further aided by accelerometers and/or transceivers riding on the cameras themselves or the camera support structure.
- RFID radio frequency
- the system may also be configured to permit the convergence of real world perspective paths with virtual world perspective paths and the seamless continuation of such paths.
- the additional source output is imagery and data from a virtual world environment relevant to a user-guided virtual camera path, such as camera animation algorithms and data from wire mesh geometries
- the real-world perspective motion path the path that progresses through the overlapping fields of view of the physical camera array
- the user's path along the real world camera array will transition fluidly and seamlessly into a continuing path in the virtual world, and subsequently along virtual world camera paths that are controlled by the user.
- the motion path transition between worlds can be effected by a number of methods, including camera sequencing that employs the same techniques used to move the viewing path through the physical array (and where the first virtual camera view is treated as if it were the next physical camera view in the physical array). It can also employ other techniques, including multiplexing, layering, or transitional visual effects, e.g., a simple dissolve.
- the transition from the viewing path along the physical array of cameras into a navigable virtual world camera path is novel and requires software APIs (application interfaces) on both sides of the equation for the viewing path to be tightly convergent and continuous.
- the system of one embodiment identifies some real world feature that could be made common to both worlds, a doorway, for example, or some architectural element.
- a replica of the real world feature common to both worlds could be constructed using building tools in the virtual environment and based, in one embodiment, on a 3D laser map (or the data from some other metrology tool familiar to those in the art) of the real-world topology; this virtual world object or feature would be subsequently scaled, rotated, and aligned with the feature in the physical array camera views to provide the visual transition ramp.
- the method of transition could be as simple as a dissolve (or any method that would equate with the camera array navigation process) and would be supported by a protocol handshake between the camera array operating system and the virtual world operating system (for example, an open-source simulation environment). Windowing, digital zooming and repositioning within the physical camera sensors would provide another layer of adjustment and refinements for finessing the transitions.
- the system links real and virtual world paths in a continuum that can scale to a “3D Internet”.
- the additional source output may be the imagery and data from a virtual world camera path, and herein the egress from that virtual world camera path is a transition to a real-world navigable camera array (or some other interim virtual world path, or any alternative, physical camera array path); thus, a continuum is established for making the Internet a continuously navigable spatial network of paths, based on transitions between the user-guided perspective motion paths along navigable real world camera arrays and the user-guided camera paths in virtual worlds.
- virtual worlds thus become the connecting tissue between separated real world environments (e.g., transitioning from a first real world camera array and associated environment to a second real world camera array and associated environment) and vice versa, and real world environments can be “nested” in the “shells” of virtual worlds and vice versa.
- the system programming specifies and controls the objects and elements in a given environment and allows the code to function in specific ways.
- the functional interface in a virtual world environment that allows the user to bring a real world video stream (link) into a virtual world space and map it onto objects or the background plane may be such an API.
- Such functionalities already exist in virtual worlds including that under the tradename of SECOND LIFE. They enable real video to be displayed (e.g., mapped) on a virtual object that can be resized in real time and/or mapped on the virtual world's background plane (e.g., so that the virtual world, from the user's camera perspective (and thus corresponding camera output) is enveloped by the virtual world.
- the camera perspective is the background plane.
- the reverse mapping is also within the scope of the present invention, namely mapping virtual worlds (or other additional source output) into the real world camera perspective (output), for example, onto real objects or substituting a real background plane with a virtual one.
- the mapping of an image, or sequence of images, in various ways on the virtual world plane or on objects in it involves aligning the digital video imagery from the real world camera path with the digital imagery from the virtual world camera path, or overlaying one on top of another, to create the illusion that a real world path was merging into a virtual camera path and vice versa.
- the user experiences a continuous motion path, bridging from a real world environment into a virtual world environment (or vice versa) or into a combination real and virtual world environment; that experience is mediated by the system software that analyzes and controls the real and virtual camera paths on both sides of the transition, making adjustments to align and lock or synchronize those paths, and create entry and exit “ramps” that would hide any “stalls” caused by handshakes and protocols negotiated between the different domains.
- the system provides the ability to align and lock a navigable video user path (that is, a sequence of digital video frames controlled by the user) with a separate individual camera path in a virtual world (a frame sequence in the virtual world environment also controlled by the user).
- a navigable video user path that is, a sequence of digital video frames controlled by the user
- a separate individual camera path in a virtual world a frame sequence in the virtual world environment also controlled by the user.
- Such “aligning and locking” may entail establishing specific correlations between the apparent motion of a specific real world navigation path and the apparent motion of a specific virtual camera path that moves across the grid of a virtual world.
- the overlaid camera perspectives (e.g., real camera output and virtual camera output), which can be thought of as on and off ramps between the real and virtual environments, may be held in buffer or other system memory for efficient retrieval, thereby circumventing the latency that may be encountered by having to “log” or go through handshake protocols between one environment (server) and another.
- the end result would be a continuous navigation experience with no stalls or stops due to negotiating access from one domain into another.
- the characteristics of the camera path are extrapolated to match those path characteristics.
- characteristics may include direction, speed, orientation and other characteristics of the user's navigation. For example, if the background is moving left to right, or right to left, that orientation and flow ideally is matched and continued (at least momentarily through the transition) in the virtual world camera movement.
- the motion along the user path can be characterized, in one embodiment, by the concept of “apparent speed” and/or “apparent direction” (e.g., relative to the background).
- apparent speed and/or “apparent direction” (e.g., relative to the background).
- apparent direction e.g., relative to the background.
- the user is not given options for such characteristics, so by default the real and virtual world navigation characteristics may be matched.
- the adjustments to the user's path through the real camera array might be controlled by a system “override” (i.e., overriding the user inputs), which temporarily commandeers the user's control and automatically feathers the speed and direction of the user's path and flow through the real-virtual/virtual-real camera transition (and after the transition period, cedes control back to the user).
- a system “override” i.e., overriding the user inputs
- adjustments to the user's path in the virtual world may be imposed through the transition by an algorithm that temporarily controls the camera path and which, subsequent to ushering the user through the transition, cedes control back to the user to either stop or move the camera ahead in any direction desired.
- Control methods include adjusting the path speed or direction through the camera nodes, varying the frame rate, “double printing” (to use an old film term) or duplicating and repeating camera fields, deleting in-between frames, or setting virtual world camera animation functions to expand or compress the time line.
- This correlation between paths in both worlds could also be driven by a “grid” correspondence, whereby the software enables a visual grid to be superimposed on the topology of the real world camera arrays and referenced to various grid schemes in virtual worlds.
- the frequency of grid lines navigated (representing distances across camera fields of view) and also the movement of in situ objects in the local environment moving across the grid (representing near-field or far field objects and the direction of movement) provide the data for shaping the virtual world camera path through the transition and perhaps just beyond it.
- the virtual world ramp into the transition will be shaped according to the path flexibility on the real world array side (that is, whether there is more than one array path diverging from the transition exit).
- APIs in the real word Navigable Video System and APIs in software add-ons for virtual world “users” would facilitate the automatic pre-build of camera-path “ramps” for each respective side of the transition. These ramps (based on the path options and specific characteristics of each local world) would enable the expansion or compression of the time it takes to transverse camera nodes leading up to the transition points.
- transition could be a fluid and continuous motion path and not be interrupted by administrative protocols or Internet congestion.
- a pre-built motion ramp is activated and the software intermediates to control the flow of the transition as it monitors the progress of any log-in or handshake process behind the scenes.
- embodiments of the present invention are not limited to any particular type of transition or system implementation for a transition, if a transition is even provided.
- the server 18 proceeds to adjust the user's view in step 250 .
- the server 18 “mixes” the existing or current camera output being displayed with the output of the camera 14 identified by the updated camera node address. Mixing the outputs is achieved differently in alternate embodiments of the invention. In the present embodiment, mixing the outputs involves electronically switching at a particular speed from the existing camera output to the output of the camera 14 having the new current node address (to the additional source output).
- the camera outputs are synchronized.
- a synchronizing signal from a “sync generator” is supplied to the cameras.
- the sync generator may take the form of those used in video editing and may comprise, in alternate embodiments, part of the server, the hub, and/or a separate component coupled to the array.
- the server 18 switches camera outputs approximately at a rate of 24 per second, or one every 0.04167 seconds. If the user 22 is moving through the array 10 at under the critical speed, the outputs of the intermediate cameras 14 are each displayed for a relatively longer duration than if the user is moving at the critical speed. Similarly, each output is displayed for a relatively shorter duration when a user navigates at over the critical speed. In other words, the server 18 adjusts the switching speed based on the speed of the movement through the array 10 .
- the user may navigate at only the critical speed.
- mixing the outputs is achieved by compositing the existing or current output and the updated camera node output. In yet another embodiment, mixing involves dissolving the existing view into the new view. In still another alternate embodiment, mixing the outputs includes adjusting the frame refresh rate of the user display device. Additionally, based on speed of movement through the array, the server may add motion blur to convey the realistic sense of speed.
- the server causes a black screen to be viewed instantaneously between camera views.
- black screens reduce the physiologic “carrying over” of one view into a subsequent view.
- the user inputs corresponding to movements through the array at different speeds may include either different keystrokes on a keypad, different positions of a joystick, positioning a joystick in a given position for a predetermined length of time, and the like.
- the decision to move into an additional source output may be indicated by a particular keystroke, joystick movement, or the like (including optical, infrared, gesture driven, voice-activated, biofeedback-initiated, multi-touch or haptic interface controllers).
- mixing may be accomplished by “mosaicing” the outputs of the intermediate cameras 14 .
- U.S. Pat. No. 5,649,032 entitled System For Automatically Aligning Images To Form A Mosaic Image to Peter J. Burt et al. discloses a system and method for generating a mosaic from a plurality of images and is hereby incorporated by reference.
- the server 18 automatically aligns one camera output to another camera output, a camera output to another mosaic (generated from previously occurring camera output) such that the output can be added to the mosaic, or an existing mosaic to a camera output.
- the present embodiment utilizes a mosaic composition process to construct (or update) a mosaic.
- the mosaic composition comprises a selection process and a combination process.
- the selection process automatically selects outputs for incorporation into the mosaic and may include masking and cropping functions to select the region of interest in a mosaic.
- the combination process combines the various outputs to form the mosaic.
- the combination process applies various output processing techniques, such as merging, fusing, filtering, output enhancement, and the like, to achieve a seamless combination of the outputs.
- the resulting mosaic is a smooth view that combines the constituent outputs such that temporal and spatial information redundancy are minimized in the mosaic.
- the mosaic may be formed as the user moves through the system (on the fly) and the output image displayed close to real time.
- the system may form the mosaic from a predetermined number of outputs or during a predetermined time interval, and then display the images pursuant to the user's navigation through the environment.
- the server 18 enables the output to be mixed by a “tweening” process.
- a “tweening” process is disclosed in U.S. Pat. No. 5,529,040 entitled Method For Determining Sensor Motion And Scene Structure And Image Processing System Therefor to Keith J. Hanna, herein incorporated by reference. Tweening enables the server 18 to process the structure of a view from two or more camera outputs of the view.
- the server monitors the movement among the intermediate cameras 14 through a scene using local scene characteristics such as brightness derivatives of a pair of camera outputs.
- a global camera output movement constraint is combined with a local scene characteristic constancy constraint to relate local surface structures with the global camera output movement model and local scene characteristics.
- the method for determining a model for global camera output movement through a scene and scene structure model of the scene from two or more outputs of the scene at a given image resolution comprises the following steps:
- an embodiment of the present invention monitors the user movement among live cameras or storage nodes.
- the server 18 also transmits to the user display device 24 outputs from some or all of the intermediate cameras, namely those located between the current camera node and the updated camera node.
- FIG. 7 a illustrates a curvilinear portion of an array 10 that extends along the X axis or to the left and right from the user's perspective.
- the coordinates that the server 18 associates with the cameras 14 differ only in the X coordinate. More specifically, for purposes of the present example, the cameras 14 can be considered sequentially numbered, starting with the left-most camera 14 being the first, i.e., number “1”.
- the X coordinate of each camera 14 is equal to the camera's position in the array. For illustrative purposes, particular cameras will be designate 14 -X, where X equals the camera's position in the array 10 and, thus, its associated X coordinate.
- FIGS. 7 a - 7 g illustrate possible user movement through the array 10 .
- the environment to be viewed includes three objects 602 , 604 , 606 , the first and second of which include numbered surfaces. As will be apparent, these numbered surface allow a better appreciation of the change in user perspective.
- FIG. 7 a six cameras 14 - 2 , 14 - 7 , 14 - 11 , 14 - 14 , 14 - 20 , 14 - 23 of the array 10 are specifically identified.
- the boundaries of each camera's view is identified by the pair of lines 14 - 2 a , 14 - 7 a , 14 - 11 a , 14 - 14 a , 14 - 20 a , 14 - 23 a , radiating from each identified camera 14 - 2 , 14 - 7 , 14 - 11 , 14 - 14 , 14 - 20 , 14 - 23 , respectively.
- the user 22 navigates through the array 10 along the X axis such that the images or views of the environment are those corresponding to the identified cameras 14 - 2 , 14 - 7 , 14 - 11 , 14 - 14 , 14 - 20 , 14 - 23 .
- the present example provides the user 22 with the starting view from camera 14 - 2 . This view is illustrated in FIG. 7 b .
- the user 22 desiring to have a better view of the object 702 , pushes the “7” key on the keyboard. This user input is transmitted to and interpreted by the server 18 .
- the server 18 has been programmed to recognized the “7” key as corresponding to moving or jumping through the array to camera 14 - 7 .
- the server 18 changes the X coordinate of the current camera node address to 7, selects the output of camera 14 - 7 , and adjusts the view or image sent to the user 22 .
- Adjusting the view involves mixing the outputs of the current and updated camera nodes. Mixing the outputs, in turn, involves switching intermediate camera outputs into the view to achieve the seamless progression of the discrete views of cameras 14 - 2 through 14 - 7 , which gives the user 22 the look and feel of moving around the viewed object.
- the user 22 now has another view of the first object 702 .
- the view from camera 14 - 7 is shown in FIG. 7 c .
- the server 18 would omit some or all of the intermediate outputs.
- the user 22 indicates to the system 100 a desire to navigate to the right at critical speed.
- the server 18 causes the mixing of the output of camera 14 - 11 with that of camera 14 - 7 . Again, this includes switching into the view the outputs of the intermediate cameras (i.e., 14 - 8 , 14 - 9 , and 14 - 10 ) to give the user 22 the look and feel of navigating around the viewed object.
- the user 22 is thus presented with the view from camera 14 - 11 , as shown in FIG. 7 d.
- the user 22 enters a user input, for example, “alt-right arrow,” indicating a desire to move to the right at less than critical speed.
- the server 18 increments the updated camera node address by n ⁇ 1 nodes, namely 3 in the present example, to camera 14 - 14 .
- the outputs from cameras 14 - 11 and 14 - 14 are mixed, and the user 22 is presented with a seamless view associated with cameras 14 - 11 through 14 - 14 .
- FIG. 7 e illustrates the resulting view of camera 14 - 14 .
- the user 22 enters a user input such as “shift-right arrow,” indicating a desire to move quickly through the array 10 , i.e., at over the critical speed.
- the server 18 interprets the user input and increments the current node address by n+2, or 6 in the present example.
- the updated node address thus corresponds to camera 14 - 20 .
- the server 18 mixes the outputs of cameras 14 - 14 and 14 - 20 , which includes switching into the view the outputs of the intermediate cameras 14 - 15 through 14 - 19 .
- the resulting view of camera 14 - 20 is displayed to the user 22 .
- the user 22 now views the second object 704 .
- the user 22 desires to move slowly through the array 10 . Accordingly, the user 22 enters “alt-right arrow” to indicate moving to the right at below critical speed.
- the server 18 interprets the received user input, it updates the current camera node address along the X axis by 3 to camera 14 - 23 .
- the server 18 then mixes the outputs of camera 14 - 20 and 14 - 23 , thereby providing the user 22 with a seamless progression of views through camera 14 - 23 .
- the resulting view 14 - 23 a is illustrated in FIG. 7 g.
- devices other than cameras may be interspersed in the array.
- These other devices such as RFID, motion capture cameras, reflective devices, make-up and systems, motion sensors and microphones, provide data to the server(s) for processing.
- output from motion sensors or microphones are fed to the server(s) and used to scale the array.
- permissible camera nodes are those near the sensor or microphone having a desired output e.g., where there is motion or sound.
- navigation control factors include output from other such devices.
- the output from the sensors or microphones are provided to the user.
- data received from any of such other data devices may be used as a trigger to transition to or otherwise provide additional source output to users or may be used in conjunction with the additional source output (e.g., using real world sounds captured from microphones in conjunction with a virtual world depiction).
- the system 800 generally includes an array of cameras 802 coupled to a server 804 , which, in turn, is coupled to one or more user interface and display devices 806 and an electronic storage device 808 .
- a hub 810 collects and transfers the outputs from the array 802 to the server 804 .
- the array 802 comprises modular rails 812 that are interconnected. Each rail 812 carries multiple microcameras 814 and a microphone 816 centrally located at rail 812 .
- the system 800 includes microphones 818 that are physically separate from the array 802 . The outputs of both the cameras 814 and microphones 816 , 818 are coupled to the server 804 for processing.
- the server 804 receives the sound output from the microphones 816 , 818 and, as with the camera output, selectively transmits sound output to the user. As the server 804 updates the current camera node address and changes the user's view, it also changes the sound output transmitted to the user.
- the server 804 has stored in memory an associated range of camera nodes with a given microphone, namely the cameras 814 on each rail 810 are associated with the microphone 816 on that particular rail 810 . In the event a user attempts to navigate beyond the end of the array 802 , the server 804 determines the camera navigation is impermissible and instead updates the microphone node output to that of the microphone 818 adjacent to the array 802 .
- the server 804 might include a database in which camera nodes in a particular area are associated with a given microphones. For example, a rectangle defined by the (X, Y, Z) coordinates (0,0,0), (10,0,0), (10,5,0), (0,5,0), (0,0,5), (10,0,5), (10,5,5) and (0,5,5) are associated with a given microphone. It is to be understood that selecting one of the series of microphones based on the user's position (or view) in the array provides the user with a sound perspective of the environment that coincides with the visual perspective.
- server 902 may take any of a number of known configurations. Two examples of server configurations suitable for use with the present invention will be described with reference to FIGS. 9 and 10 .
- FIG. 9 the server 902 , electronic storage device 20 , array 10 , users (1, 2, 3, . . . N) 22 - 1 - 22 -N, and associated user interface/display devices 24 - 1 - 24 -N are shown therein.
- the server 902 includes, among other components, a processing means in the form of one or more central processing units (CPU) 904 coupled to associated read only memory (ROM) 906 and a random access memory (RAM) 908 .
- CPU central processing units
- ROM 906 is for storing the program that dictates the operation of the server 902
- RAM 908 is for storing variables and values used by the CPU 904 during operation.
- user interface/display devices 24 are also coupled to the CPU 904 . It is to be understood that the CPU may, in alternate embodiments, comprise several processing units, each performing a discrete function.
- a memory controller 910 Coupled to both the CPU 904 and the electronic storage device 20 is a memory controller 910 .
- the memory controller 910 under direction of the CPU 904 , controls accesses (reads and writes) to the storage device 20 .
- the memory controller 910 is shown as part of the server 902 , it is to be understood that it may reside in the storage device 20 .
- the CPU 904 receives camera outputs from the array 10 via bus 912 . As described above, the CPU 904 mixes the camera outputs for display on the user interface/display device 24 . Which outputs are mixed depends on the view selected by each user 22 . Specifically, each user interface/display devices 24 transmits across bus 914 the user inputs that define the view to be displayed. Once the CPU 904 mixes the appropriate outputs, it transmits the resulting output to the user interface/display device 24 via bus 916 . As shown, in the present embodiment, each user 22 is independently coupled to the server 902 .
- the bus 912 also carries the camera outputs to the storage device 20 for storage.
- the CPU 904 directs the memory controller 910 to store the output of each camera 14 in a particular location of memory in the storage device 20 .
- the CPU 904 When the image to be displayed has previously been stored in the storage device 20 , the CPU 904 causes the memory controller 910 to access the storage device 20 to retrieve the appropriate camera output. The output is thus transmitted to the CPU 904 via bus 918 where it is mixed. Bus 918 also carries additional source output to the CPU 904 for transmission to the users 22 . As with outputs received directly from the array 10 , the CPU 904 mixes these outputs and transmits the appropriate view to the user interface/display device 24 .
- FIG. 10 shows a server configuration according to an alternate embodiment of the present invention.
- the server 1002 generally comprises a control central processing unit (CPU) 1004 , a mixing CPU 1006 associated with each user 22 , and a memory controller 1008 .
- the control CPU 1004 has associated ROM 1010 and RAM 1012 .
- each mixing CPU 1006 has associated ROM 1014 and RAM 1016 .
- the camera outputs from the array 10 are coupled to each of the mixing CPUs 1 through N 1006 - 1 , 1006 -N via bus 1018 .
- each user 22 enters inputs in the interface/display device 24 for transmission (via bus 1020 ) to the control CPU 1004 .
- the control CPU 1004 interprets the inputs and, via buses 1022 - 1 , 1022 -N, transmits control signals to the mixing CPUs 1006 - 1 , 1006 -N instructing them which camera outputs received on bus 1018 to mix.
- the mixing CPUs 1006 - 1 , 1006 -N mix the outputs in order to generate the appropriate view and transmit the resulting view via buses 1024 - 1 , 1024 -N to the user interface/display devices 24 - 1 , 24 -N.
- each mixing CPU 1006 multiplexes outputs to more than one user 22 . Indications of which outputs are to mixed and transmitted to each user 22 comes from the control CPU 1004 .
- the bus 1018 couples the camera outputs not only to the mixing CPUs 1006 - 1 , 1006 -N, but also to the storage device 20 .
- the storage device 20 stores the camera outputs in known storage locations.
- the control CPU 1004 causes the memory controller 1008 to retrieve the appropriate images from the storage device 20 . Such images are retrieved into the mixing CPUs 1006 via bus 1026 . Additional source output is also retrieved to the mixing CPUs 1006 - 1 , 1006 -N via bus 1026 .
- the control CPU 1004 also passes control signals to the mixing CPUs 1006 - 1 , 1006 -N to indicate which outputs are to be mixed and displayed.
- the system retrieves from the array (or the electronic storage device) and simultaneously transmits to the user at least portions of outputs from two cameras.
- the server processing element mixes these camera outputs to achieve a stereoscopic output.
- Each view provided to the user is based on such a stereoscopic output.
- the outputs from two adjacent cameras in the array are used to produce one stereoscopic view.
- FIGS. 7 a - 7 g one view is the stereoscopic view from cameras 14 - 1 and 14 - 2 .
- the next view is based on the stereoscopic output of cameras 14 - 2 and 14 - 3 or two other cameras.
- the user is provided the added feature of a stereoscopic seamless view of the environment.
- the present invention allows multiple users to simultaneously navigate through the array independently of each other.
- the systems described above distinguish between inputs from the multiple users and selects a separate camera output appropriate to each user's inputs.
- the server tracks the current camera node address associated with each user by storing each node address in a particular memory location associate with that user.
- each user's input is differentiated and identified as being associated with the particular memory location with the use of message tags appended to the user inputs by the corresponding user interface device.
- two or more users may choose to be linked, thereby moving in tandem and having the same view of the environment.
- each includes identifying another user by his/her code to serve as a “guide”.
- the server provides the outputs and views selected by the guide user to both the guide and the other user selecting the guide.
- Another user input causes the server to unlink the users, thereby allowing each user to control his/her own movement through the array.
- a user may also wish to navigate forward and backward through the environment, thereby moving closer to or further away from an object.
- cameras with zoom capability simply zooming towards an object does not change the user's image point perspective.
- FIG. 11 One such embodiment in which users can move dimensionally forward and backward through the environment with a changing image point perspective will now be described with respect to FIG. 11 and continuing reference to FIG. 1 .
- the arrays described with reference to FIG. 11 may be used with any server, storage device and user terminals described herein.
- FIG. 11 illustrates a top plan view of another embodiment enabling the user to move left, right, up, down, forward or backwards through the environment.
- a plurality of cylindrical arrays ( 121 - 1 - 121 - n ) of differing diameters comprising a series of cameras 14 may be situated around an environment comprising one or more objects 1200 , one cylindrical array at a time.
- Cameras 14 situated around the object(s) 1100 are positioned along an X and Z coordinate system.
- an array 12 may comprise a plurality of rings of the same circumference positioned at different positions (heights) throughout the z-axis to form a cylinder of cameras 14 around the object(s) 1100 .
- each camera in each array 12 to have an associated, unique storage node address comprising an X and Z coordinate—i.e., array 1 (X, Z).
- a coordinate value corresponding to an axis of a particular camera represents the number of camera positions along that axis the particular camera is displaced from a reference camera.
- the X axis runs around the perimeter of an array 12
- the Z axis runs down and up.
- Each storage node is associated with a camera view identified by its X, Z coordinate.
- the outputs of the cameras 14 are coupled to one or more servers for gathering and transmitting the outputs to the server 18 .
- each camera requires only one storage location.
- the camera output may be stored in a logical arrangement, such as a matrix of n arrays, wherein each array has a plurality of (X,Z) coordinates.
- the node addresses may comprise of a specific coordinate within an array—i.e., Array 1 (X n ,Z n ), Array 2 (X n ,Z n ) through Array n (X n ,Z n ).
- a cylindrical array 12 - 1 is situated around the object(s) located in an environment 1100 .
- the view of each camera 14 is transmitted to server 18 in step 1220 .
- the electronic storage device 20 of the server 18 stores the output of each camera 14 at the storage node address associated with that camera 14 . Storage of the images may be effectuated serially, from one camera 14 at a time within the array 12 , or by simultaneous transmission of the image data from all of the cameras 14 of each array 12 .
- cylindrical array 12 - 1 is removed from the environment (step 1240 ).
- step 1250 a determination is made as to the availability of additional cylindrical arrays 12 of differing diameters to those already situated. If additional cylindrical arrays 12 are desired, the process repeats beginning with step 1210 . When no additional arrays 12 are available for situating around the environment, the process of inputting images into storage devices 20 is complete (step 1260 ). At the end of the process, a matrix of addressable stored images exist.
- a user may navigate through the environment. Navigation is effectuated by accessing the input of the storage nodes by a user interface device 24 .
- the user inputs generally include moving around the environment or object 1100 by moving to the left or right, moving higher or lower along the z-axis, moving through the environment closer or further from the object 1100 , or some combination of moving around and through the environment. For example, a user may access the image stored in the node address Array 3 (0,0) to view an object from the camera previously located at coordinate (0,0) of Array 3 .
- the user may move directly forward, and therefore closer to the object 1100 , by accessing the image stored in Array 2 (0,0) and then Array 1 (0,0). To move further away from the object and to the right and up, the user may move from the image stored in node address Array 1 (0,0) and access the images stored in node address Array 2 (1,1), followed by accessing the image stored in node address Array 3 (2,2), an so on.
- a user may, of course, move among arrays and/or coordinates by any increments changing the point perspective of the environment with each node. Additionally, a user may jump to a particular camera view of the environment. Thus, a user may move throughout the environment in a manner similar to that described above with respect to accessing output of live cameras.
- This embodiment allows user to access images that are stored in storage nodes as opposed to accessing live cameras. Moreover, this embodiment provides a convenient system and method to allow a user to move forward and backward in an environment.
- each storage node is associated with a camera view identified by its X, Z coordinate of a particular array
- other methods of identifying camera views and storage nodes can be used.
- other coordinate systems such as those noting angular displacement from a fixed reference point as well as coordinate systems that indicate relative displacement from the current camera node may be used.
- the camera arrays 12 may be other shapes other than cylindrical.
- the foregoing user inputs namely, move clockwise, move counter-clockwise, up, down, closer to the environment, and further from the environment, are merely general descriptions of movement through the environment.
- movement in each of these general directions is further defined based upon the user input.
- the output generated by the server to the user may be mixed when moving among adjacent storage nodes associated with environment views (along the x axis, z axis, or among juxtaposed arrays) to generate seamless movement throughout the environment. Mixing may be accomplished by, but are not limited to, the processes described above.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A telepresence system including an array of cameras, a user interface device and at least one processor. Each camera has an associated view of the environment and an associated camera output representing the associated view, the array thus including at least one camera path for viewing the environment. In one embodiment, the user interface device has first user inputs associated with movement along a first path in the environment. The user interface device is coupled to the processor, which receives and interprets the user inputs and provides camera outputs to the user interface device, thereby allowing the user to navigate through the environment. In another embodiment, the processor is configured to provide additional source output, such as virtual world imagery and data, to the user interface device, thereby allowing the user to navigate real, virtual and combination real and virtual worlds.
Description
- This application is a continuation of and claims priority under 35 U.S.C. §120 to commonly assigned pending U.S. patent application Ser. No. 12/610,188, filed on Oct. 30, 2009, which is a continuation of U.S. patent application Ser. No. 11/359,233, filed Feb. 21, 2006, which issued as U.S. Pat. No. 7,613,999, entitled A Navigable Telepresence Method And System Utilizing An Array of Cameras, which is a continuation of U.S. patent application Ser. No. 10/308,230, filed on Dec. 2, 2002, entitled A Navigable Telepresence Method And System Utilizing An Array of Cameras, which is a continuation of and claims priority under 35 U.S.C. §120 to U.S. patent application Ser. No. 09/419,274, filed on Oct. 15, 1999, which issued as U.S. Pat. No. 6,522,325, entitled A Navigable Telepresence Method And System Utilizing An Array of Cameras, which is a continuation-in-part of and claims priority under 35 U.S.C. §120 to U.S. patent application Ser. No. 09/283,413, filed on Apr. 1, 1999, which issued as U.S. Pat. No. 6,535,226, entitled A Navigable Telepresence Method And System Utilizing An Array of Cameras, which claims the benefit of U.S. Provisional Application Ser. No. 60/080,413, filed on Apr. 2, 1998, all of which are hereby incorporated herein by reference.
- 1. Field of the Invention
- The present invention relates to a telepresence system and, more particularly, to a navigable camera array telepresence system and method of using same.
- 2. Description of Related Art
- In general, a need exists for the development of telepresence systems suitable for use with static venues, such as museums, and dynamic venues or events, such as a music concerts. The viewing of such venues is limited by time, geographical location, and the viewer capacity of the venue. For example, potential visitors to a museum may be prevented from viewing an exhibit due to the limited hours the museum is open. Similarly, music concert producers must turn back fans due to the limited seating of an arena. In short, limited access to venues reduces the revenue generated.
- In an attempt to increase the revenue stream from both static and dynamic venues, such venues have been recorded for broadcast or distribution. In some instances, dynamic venues are also broadcast live. While such broadcasting increases access to the venues, it involves considerable production effort. Typically, recorded broadcasts must be cut and edited, as views from multiple cameras are pieced together. These editorial and production efforts are costly.
- In some instances, the broadcast resulting from these editorial and production efforts provides viewers with limited enjoyment. Specifically, the broadcast is typically based on filming the venue from a finite number of predetermined cameras. Thus, the broadcast contains limited viewing angles and perspectives of the venue. Moreover, the viewing angles and perspectives presented in the broadcast are those selected by a producer or director during the editorial and production process; there is no viewer autonomy. Furthermore, although the broadcast is often recorded for multiple viewings, the broadcast has limited content life because each viewing is identical to the first. Because each showing looks and sounds the same, viewers rarely come back for multiple viewings.
- A viewer fortunate enough to attend a venue in person will encounter many of the same problems. For example, a museum-goer must remain behind the barricades, viewing exhibits from limited angles and perspectives. Similarly, concert-goers are often restricted to a particular seat or section in an arena. Even if a viewer were allowed free access to the entire arena to videotape the venue, such a recording would also have limited content life because each viewing would be the same as the first. Therefore, a need exists for a telepresence system that preferably provides user autonomy while resulting in recordings with enhanced content life at a reduced production cost.
- Apparently, attempts have been made to develop telepresence systems to satisfy some of the foregoing needs. One telepresence system is described in U.S. Pat. No. 5,708,469 for Multiple View Telepresence Camera Systems Using A Wire Cage Which Surrounds A Polarity Of Multiple Cameras And Identifies The Fields Of View, issued Jan. 13, 1998. The system disclosed therein includes a plurality of cameras, wherein each camera has a field of view that is space-contiguous with and at a right angle to at least one other camera. In other words, it is preferable that the camera fields of view do not overlap each other. A user interface allows the user to jump between views. In order for the user's view to move through the venue or environment, a moving vehicle carries the cameras.
- This system, however, has several drawbacks. For example, in order for a viewer's perspective to move through the venue, the moving vehicle must be actuated and controlled. In this regard, operation of the system is complicated. Furthermore, because the camera views are contiguous, typically at right angles, changing camera views results in a discontinuous image.
- Other attempts at providing a telepresence system have taken the form of a 360 degree camera systems. One such system is described in U.S. Pat. No. 5,745,305 for Panoramic Viewing Apparatus, issued Apr. 28, 1998. The system described therein provides a 360 degree view of environment by arranging multiple cameras around a pyramid shaped reflective element. Each camera, all of which share a common virtual optical center, receives an image from a different side of the reflective pyramid. Other types of 360 degree camera systems employ a parabolic lens or a rotating camera.
- Such 360 degree camera systems also suffer from drawbacks. In particular, such systems limit the user's view to 360 degrees from a given point perspective. In other words, 360 degree camera systems provide the user with a panoramic view from a single location. Only if the camera system was mounted on a moving vehicle could the user experience simulated movement through an environment.
- U.S. Pat. No. 5,187,571 for Television System For Displaying Multiple Views of A Remote Location issued Feb. 16, 1993, describes a camera system similar to the 360 degree camera systems described above. The system described provides a user to select an arbitrary and continuously variable section of an aggregate field of view. Multiple cameras are aligned so that each camera's field of view merges contiguously with those of adjacent cameras thereby creating the aggregate field of view. The aggregate field of view may expand to cover 360 degrees. In order to create the aggregate field of view, the cameras' views must be contiguous. In order for the camera views to be contiguous, the cameras have to share a common point perspective, or vertex. Thus, like the previously described 360 degree camera systems, the system of U.S. Pat. No. 5,187,571 limits a user's view to a single point perspective, rather than allowing a user to experience movement in perspective through an environment.
- Also, with regard to the system of U.S. Pat. No. 5,187,571, in order to achieve the continuity between camera views, a relatively complex arrangement of mirrors is required. Additionally, each camera seemingly must also be placed in the same vertical plane.
- Thus, a need still exists for an improved telepresence system that provides the ability to better simulate a viewer's actual presence in a venue, preferably in real time.
- 3. Summary of Embodiments of the Invention
- These and other needs are satisfied by embodiments of the present invention. A telepresence system according to one embodiment of the present invention includes an array of cameras, each of which has an associated view of an environment and an associated output representing the view. The system also includes a first user interface device having first user inputs associated with movement along a first path in the array. The system may further include a second user interface device having second user inputs associated with movement along a second path in the array. A processing element is coupled to the user interface devices. The processing element receives and interprets the first inputs and selects outputs of cameras in the first path. Similarly, the processing element receives and interprets the second inputs and selects outputs of cameras in the second path independently of the first inputs. Thus, a first user and a second user are able to navigate simultaneously and independently through the array. In another embodiment, the system may also provide the users with an additional source output, including imagery and data associated with a virtual world and other audio and/or visual content.
-
FIG. 1 is an overall schematic of one embodiment of the present invention. -
FIG. 2 a is a perspective view of a camera and a camera rail section of the array according to one embodiment of the present invention. -
FIGS. 2 b-2 d are side plan views of a camera and a camera rail according to one embodiment of the present invention. -
FIG. 2 e is a top plan view of a camera rail according to one embodiment of the present invention. -
FIG. 3 is a perspective view of a portion of the camera array according to one embodiment of the present invention. -
FIG. 4 is a perspective view of a portion of the camera array according to an alternate embodiment of the present invention. -
FIG. 5 is a flowchart illustrating the general operation of the user interface according to one embodiment of the present invention. -
FIG. 6 is a flowchart illustrating in detail a portion of the operation shown inFIG. 5 . -
FIG. 7 a is a perspective view of a portion of one embodiment of the present invention illustrating the arrangement of the camera array relative to objects being viewed. -
FIGS. 7 b-7 g illustrate views from the perspectives of selected cameras of the array inFIG. 7 a. -
FIG. 8 is a schematic view of an alternate embodiment of the present invention. -
FIG. 9 is a schematic view of a server according to one embodiment of the present invention. -
FIG. 10 is a schematic view of a server according to an alternate embodiment of the present invention. -
FIG. 11 is a top plan view of an alternate embodiment of the present invention. -
FIG. 12 is a flowchart illustrating in detail the image capture portion of the operation of the embodiment shown inFIG. 11 . - 1. General Description Of Preferred Embodiments
- The present invention relates to a telepresence system that, in a preferred embodiments, uses modular, interlocking arrays of microcameras. The cameras are on rails, with each rail holding a plurality of cameras. These cameras, each locked in a fixed relation to every adjacent camera on the array and dispersed dimensionally in a given environment, transmit image output to an associated storage node, thereby enabling remote viewers to navigate through such environment with the same moving light reflections and shadows) that characterize an actual in-environment transit.
- In another preferred embodiment, the outputs of these microcameras are linked by tiny (less than half the width of a human hair) Vertical Cavity Surface Emitting Lasers (VCSELs), or alternatively any photonic or optoelectric throughput device, to optical fibers, fed through area net hubs, buffered on server arrays or server farms (either for recording or (instantaneous) relay) and sent to viewers at remote terminals, interactive wall screens, or mobile image appliances (like Virtual Retinal Displays). Each remote viewer, through an intuitive graphical user interface (GUI), can navigate effortlessly through the environment, enabling seamless movement through the event.
- This involves a multiplexed, electronic, photonic, optoelectronic, or any data throughput-configured switching process (invisible to the viewer) which moves the viewer's point perspective from camera to camera. Rather than relying, per se, on physically moving a microcamera through space, the system uses the multiplicity of positioned microcameras to move the viewer's perspective from microcamera node to adjacent microcamera node in a way that provides the viewer with a sequential visual and acoustical path throughout the extent of the array. This allows the viewer to fluidly track or dolly through a 3-dimensional remote environment, to move through an event and make autonomous real-time decisions about where to move and when to linger.
- Instead of investing the viewer with the capacity to physically move a robotic camera, which would immediately limit the number of viewers that could simultaneously control their own course and navigate via storage nodes containing images of an environment associated with a pre-existing array of cameras. The user can move around the environment in any direction—clockwise or counterclockwise, up, down, closer to or further away from the environment, or some combination thereof. Moreover, image output mixing, such as mosaicing and tweening, effectuates seamless motion throughout the environment.
- 2. Detailed Description Of Preferred Embodiments
- Certain embodiments of the present invention will now be described in greater detail with reference to the drawings. It is understood that the operation and functionality of many of the components of the embodiments described herein are known to one skilled in the art and, as such, the present description does not go into detail into such operative and functionality.
- A telepresence system 100 according to the present invention is shown in
FIG. 1 . The telepresence system 100 generally includes anarray 10 ofcameras 14 coupled to aserver 18, which in turn is coupled to one ormore users 22 each having a user interfaced/display device 24. As will be understood to one skilled it the art, the operation and functionality of the embodiment described herein is provided, in part, by the server and user interface/display device. While the operation of these components is not described by way of particular code listings or logic diagrams, it is to be understood that one skilled in the art will be able to arrive at suitable implementations based on the functional and operational details provided herein. Furthermore, the scope of the present invention is not to be construed as limited to any particular code or logic implementation. - In the present embodiment, the
camera array 10 is conceptualized as being in an X, Z coordinate system. This allows each camera to have an associated, unique node address comprising an X, and Z coordinate (X, Z). In the present embodiment, for example, a coordinate value corresponding to an axis of a particular camera represents the number of camera positions along that axis the particular camera is displaced from a reference camera. In the present embodiment, from the user's perspective the X axis runs left and right, and the Z axis runs down and up. Eachcamera 14 is identified by its X, Z coordinate. It is to be understood, however, that other methods of identifyingcameras 14 can be used. For example, other coordinate systems, such as those noting angular displacement from a fixed reference point as well as coordinate systems that indicate relative displacement from the current camera node may be used. In another alternate embodiment, the array is three dimensional, located in an X, Y, Z coordinate system. - The
array 10 comprises a plurality ofrails 12, eachrail 12 including a series ofcameras 14. In the present preferred embodiment, thecameras 14 are microcameras. The output from themicrocameras 14 are coupled to theserver 18 by means oflocal area hubs 16. Thelocal area hubs 16 gather the outputs and, when necessary, amplify the outputs for transmission to theserver 18. In an alternate embodiment, thelocal area hubs 16 multiplex the outputs for transmission to theserver 18. Although the figure depicts the communication links 15 between thecamera 14 and theserver 18 as being hardwired, it is to be understood that wireless links may be employed. Thus, it is within the scope of the present invention for the communication links 15 to take the form of fiber optics, cable, satellite, microwave transmission, internet, and the like. - Also coupled to the
server 18 is anelectronic storage device 20. Theserver 18 transfers the outputs to theelectronic storage device 20. The electronic (mass)storage device 20, in turn, transfers each camera's output onto a storage medium or means, such as CD-ROM, DVD, tape, platter, disk array, or the like. The output of eachcamera 14 is stored in a particular location on the storage medium associated with thatcamera 14 or is stored with an indication to whichcamera 14 each stored output corresponds. For example, the output of eachcamera 14 is stored in contiguous locations on a separate disk, tape, CD-ROM, or platter. As is known in the art, the camera output may be stored in a compressed format, such as JPEG, MPEG1, MPEG2, and the like. Having stored each output allows a user to later view the environment over and over again, each time moving through thearray 10 in a new path, as described below. In some embodiments of the present invention, such as those providing only real-time viewing, no storage device is required. - As will be described in detail below, the
server 18 receives output from thecameras 14 in the array. Theserver 18 processes these outputs for either storage in theelectronic storage device 20, transmission to theusers 22 or both. - It is to be understood that although the
server 18 is configured to provide the functionality of the system 100 in the present embodiment, it is to be understood that other processing elements may provide the functionality of the system 100. For example, in alternate embodiments, the user interface device is a personal computer programmed to interpret the user input and transmit an indication of the desired current node address, buffer outputs from the array, and provide other of the described functions. - As shown, the system 100 can accommodate (but does not require)
multiple users 22. Eachuser 22 has associated therewith a user interface device including a user display device (collectively 24). For example, user 22-1 has an associated user interface device and a user display device in the form of a computer 24-1 having a monitor and a keyboard. User 22-2 has associated therewith an interactive wall screen 24-2 which serves as a user interface device and a user display device. The user interface device and the user display device of user 22-3 includes a mobile audio and image appliance 24-3. A digital interactive TV 24-4 is the user interface device and user display device of user 22-4. Similarly, user 22-5 has a voice recognition unit and monitor 24-5 as the user interface and display devices. It is to be understood that the foregoing user interface devices and user display devices are merely exemplary; for example, other interface devices include a mouse, touch screen, biofeedback devices, as well as those identified in U.S. Provisional Patent Application Ser. No. 60/080,413 and the like. - As described in detail below, each
user interface device 24 has associated therewith user inputs. These user inputs allow eachuser 22 to move or navigate independently through thearray 10. In other words, eachuser 22 enters inputs to generally select which camera outputs are transferred to the user display device. Preferably, each user display device includes a graphical representation of thearray 10. The graphical representation includes an indication of which camera in the array the output of which is being viewed. The user inputs allow each user to not only select particular cameras, but also to select relative movement or navigational paths through thearray 10. - As shown in
FIG. 1 , eachuser 22 may be coupled to theserver 18 by an independent communication link. Furthermore, each communication link may employ different technology. For example, in alternate embodiments, the communication links include an internet link, a microwave signal link, a satellite link, a cable link, a fiber optic link, a wireless link, and the like. - It is to be understood that the
array 10 provides several advantages. For example, because thearray 10 employs a series ofcameras 14, no individual camera, or theentire array 10 for that matter, need be moved in order to obtain a seamless view of the environment. Instead, the user navigates through thearray 10, which is strategically placed through and around the physical environment to be viewed. Furthermore, because thecameras 14 of thearray 10 are physically located at different points in the environment to be viewed, a user is able to view changes in perspective, a feature unavailable to a single camera that merely changes focal length. - Each
camera 14 is preferably a microcamera. The microcameras—microlenses mounted on thumbnail-sized CMOS active pixel sensor (APS) microchips—are arranged in patterns that enable viewers to move radically, in straight lines, or in fluid combinations thereof. The cameras are produced in a mainstream manufacturing process, by several companies, including Photobit, Pasadena, Calif.; Sarnoff Corporation, Princeton, N.J.; and VLSI Vision, Ltd., Edinburgh, Scotland. - The structure of the
array 10 will now be described in greater detail with reference toFIGS. 2 a-2 e. In general, thecamera array 10 of the present embodiment comprises a series ofmodular rails 12 carryingmicrocameras 14. The structure of therails 12 andcameras 14 will now be discussed in greater detail with reference toFIGS. 2 a through 2 d. Eachcamera 14 includes registration pins 34. In the preferred embodiment, thecameras 14 utilize VCSELs to transfer their outputs to therail 12. It is to be understood that the present invention is not limited to any particular type ofcamera 14, however, or even to anarray 10 consisting of only one type ofcamera 14. - Each
rail 12 includes two sides, 12 a, 12 b, at least one of which 12 b is hingeably connected to the base 12 c of therail 12. The base 12 c includesdocking ports 36 for receiving the registration pins 34 of thecamera 14. When thecamera 14 is seated on arail 12 such that the registration pins 34 are fully engaged in thedocking ports 36, the hingedside 12 b of therail 12 is moved against thebase 32 of thecamera 14, thereby securing thecamera 14 to therail 12. - Each
rail 12 further includes afirst end 38 and asecond end 44. Thefirst end 38 includes, in the present embodiment, two lockingpins 40 and a protectedtransmission relay port 42 for transmitting the camera outputs. Thesecond end 44 includes twoguide holes 46 for receiving the locking pins 40, and atransmission receiving port 48. Thus, thefirst end 38 of onerail 12 is engagable with asecond end 44 of anotherrail 12. Therefore, eachrail 12 is modular and can be functionally connected to another rail to create thearray 10. - Once the
camera 14 is securely seated to therail 12, thecamera 14 is positioned such that the camera output may be transmitted via the VCSEL to therail 12. Eachrail 12 includes communication paths for transmitting the output from eachcamera 14. - Although the
array 10 is shown having a particular configuration, it is to be understood that virtually any configuration ofrails 12 andcameras 14 is within the scope of the present invention. For example, thearray 10 may be a linear array ofcameras 14, a 2-dimensional array ofcameras 14, a 3-dimensional array ofcameras 14, or any combination thereof. Furthermore, thearray 10 need not be comprised solely of linear segments, but rather may include curvilinear sections. - The
array 10 is supported by any of a number of support means. For example, thearray 10 can be fixedly mounted to a wall or ceiling; thearray 10 can be secured to a moveable frame that can be wheeled into position in the environment or supported from cables. -
FIG. 3 illustrates an example of a portion of thearray 10. As shown, thearray 10 comprises five rows ofrails 12 a, through 12 e. Each of theserails 12 a-12 e is directed towards a central plane, which substantially passes through thecenter row 12 c. Consequently, for any object placed in the same plane as themiddle row 12 c, a user would be able to view the object essentially from the bottom, front, and top. - As noted above, the
rails 12 of thearray 10 need not have the same geometry. For example, some of therails 12 may be straight while others may be curved. For example,FIG. 4 illustrates the camera alignment that results from utilizing curved rails. It should be noted that rails inFIG. 4 have been made transparent so that the arrangement ofcameras 14 may be easily seen. - In an alternate embodiment, each rail is configured in a step-like fashion or an arc with each camera above (or below) and in front of a previous camera. In such an arrangement, the user has the option of moving forward through the environment.
- It is to be understood that the spacing of the
microcameras 14 depends on the particular application, including the objects being viewed, the focal length of themicrocameras 14, and the speed of movement through thearray 10. In one embodiment the distance betweenmicrocameras 14 can be approximated by analogy to a conventional movie reel recording projector. In general, the speed of movement of a projector through an environment divided by the frames per unit of time second results in a frame-distance ratio. - For example, as shown by the following equations, in some applications a frame is taken ever inch. A conventional movie projector records twenty-four frames per second. When such a projector is moved through an environment at two feet per second, a frame is taken approximately every inch.
-
- A frame of the projector is analogous to a
camera 14 in the present invention. Thus, where one frame per inch results in a movie having a seamless view of the environment, so too does onecamera 14 per inch. Thus, in one embodiment of the present invention thecameras 14 are spaced approximately one inch apart, thereby resulting in a seamless view of the environment. - The general operation of the present embodiment will now be described with reference to
FIG. 5 and continuing reference toFIG. 1 . As shown in step 110, the user is presented with a predetermined starting view of the environment corresponding to a starting camera. It is to be understood that the operation of the system is controlled, in part, by software residing in the server. As noted above, the system associates each camera in the array with a coordinate. Thus, the system is able to note the coordinates of the starting camera node. The camera output and, thus the corresponding view, changes only upon receiving a user input. - When the user determines that they want to move or navigate through the array, the user enters a user input through the
user interface device 24. As described below, the user inputs of the present embodiment generally include moving to the right, to the left, up, or down in the array. Additionally, a user may jump to a particular camera in the array. In alternate embodiments, a subset of these or other inputs, such as forward, backward, diagonal, over, and under, are used. The user interface device, in turn, transmits the user input to the server instep 120. - Next, the server receives the user input in step 130 and proceeds to decode the input. In the present embodiment, decoding the input generally involves determining whether the user wishes to move to the right, to the left, up, or down in the array.
- On the other hand, if the received user input does not correspond to backward, then the
server 18 proceeds to determine whether the input corresponds to moving to the user's right in thearray 10. This determination is shown in step 140. If the received user input does correspond to moving to the right, the current node address is incremented along the X axis in step 150 to obtain an updated address. - If the received user input does not correspond to moving to the right in the array, the
server 18 then determines whether the input corresponds to moving to the user's left in thearray 10 in step 160. Upon determining that the input does correspond to moving to the left, theserver 18 then decrements the current node address along the X axis to arrive at the updated address. This is shown in step 170. - If the received user input does not correspond to either moving to the right or to the left, the
server 18 then determines whether the input corresponds to moving up in the array. This determination is made in step 180. If the user input corresponds to moving up, in step 190, theserver 18 increments the current node address along the Z axis, thereby obtaining an updated address. - Next, the
server 18 determines whether the received user input corresponds to moving down in thearray 10. This determination is made in step 200. If the input does correspond to moving down in thearray 10, in step 210 theserver 18 decrements the current node address along the Z axis. - Lastly, in step 220 the
server 18 determines whether the received user input corresponds to jumping or changing the view to aparticular camera 14. As indicated inFIG. 5 , if the input corresponds to jumping to aparticular camera 14, theserver 18 changes the current node address to reflect the desired camera position. Updating the node address is shown as step 230. In an alternate embodiment, the input corresponds to jumping to a particular position in thearray 10, not identified by the user as being a particular camera but by some reference to the venue, such as stage right. - It is to be understood that the
server 18 may decode the received user inputs in any of a number of ways, including in any order. For example, in an alternate embodiment theserver 18 first determines whether the user input corresponds to up or down. In another alternate, preferred embodiment, user navigation includes moving forward, backward, to the left and right, and up and down through a three dimensional array. - If the received user input does not correspond to any of the recognized inputs, namely to the right, to the left, up, down, or jumping to a particular position in the
array 10 then in step 240, theserver 18 causes a message signal to be transmitted to theuser display device 24, causing a message to be displayed to theuser 22 that the received input was not understood. Operation of the system 100 then continues withstep 120, and theserver 18 awaits receipt of the next user input. - After adjusting the current node address, either by incrementing or decrementing the node address along an axis or by jumping to a particular node address, the
server 18 proceeds in step 250 to adjust the user's view. Once the view is adjusted, operation of the system 100 continues again withstep 120 as theserver 18 awaits receipt of the next user input. - In an alternate embodiment, the
server 18 continues to update the node address and adjust the view based on the received user input. For example, if the user input corresponded to “moving to the right”, then operation of the system 100 would continuously loop through steps 140, 150, and 250, checking for a different input. When the different input is received, theserver 18 continuously updates the view accordingly. - It is to be understood that the foregoing user inputs, namely, to the right, to the left, up, and down, are merely general descriptions of movement through the array. Although the present invention is not so limited, in the present preferred embodiment, movement in each of these general directions is further defined based upon the user input.
- Accordingly,
FIG. 6 is a more detailed diagram of the operation of the system according to steps 140, 150, and 250 ofFIG. 5 . Moreover, it is to be understood that whileFIG. 6 describes more detailed movement one direction i.e., to the right, the same detailed movement can be applied in any other direction. As illustrated, the determination of whether the user input corresponds to moving to the right actually involves several determinations. As described in detail below, these determinations include moving to the right through thearray 10 at different speeds, moving to the right into a composited additional source output at different speeds, and having the user input overridden by the system 100. - The present invention allows a
user 22 to navigate through thearray 10 at the different speeds. Depending on the speed (i.e. number of camera nodes transversed per unit of time) indicated by the user's input, such as movement of a pointing device (or other interface device), theserver 18 will apply an algorithm that controls the transition between camera outputs either at critical speed (n nodes/per unit of time), under critical speed (n−1 nodes/per unit of time), or over critical speed (n+1 nodes/per unit of time). - It is to be understood that speed of movement through the
array 10 can alternatively be expressed as the time to switch from onecamera 14 to anothercamera 14. - Specifically, as shown in step 140 a, the
server 18 makes the determination whether the user input corresponds to moving to the right at a critical speed. The critical speed is preferably a predetermined speed of movement through thearray 10 set by the system operator or designer depending on the anticipated environment being viewed. Further, the critical speed depends upon various other factors, such as focal length, distance between cameras, distance between the cameras and the viewed object, and the like. The speed of movement through thearray 10 is controlled by the number ofcameras 14 traversed in a given time period. Thus, the movement through thearray 10 at critical speed corresponds to traversing some number, “n”, camera nodes per millisecond, or taking some amount of time, “s”, to switch from onecamera 14 to another. It is to be understood that in the same embodiment the critical speed of moving through thearray 10 in one dimension need not equal the critical speed of moving through the array in another dimension. Consequently, theserver 18 increments the current node address along the X axis at n nodes per millisecond. - In the present preferred embodiment the user traverses twenty-four
cameras 14 per second. As discussed above, a movie projector records twenty-four frames per second. Analogizing between the movie projector and the present invention, at critical the user traverses (and theserver 18 switches between) approximately twenty-fourcameras 14 per second, or acamera 14 approximately every 0.04167 seconds. - As shown in
FIG. 6 , theuser 22 may advance not only at critical speed, but also at over the critical speed, as shown in step 140 b, or at under the critical speed, as shown in step 140 c. Where the user input “I” indicates movement through thearray 10 at over the critical speed, theserver 18 increments the current node address along the X axis by a unit of greater than n, for example, at n+2 nodes per millisecond. The step of incrementing the current node address at n+1 nodes per millisecond along the X axis is shown in step 150 b. Where the user input “I” indicates movement through thearray 10 at under the critical speed, theserver 18 proceeds to increment the current node address at a variable less than n, for example, at n−1 nodes per millisecond. This operation is shown as step 150 c. - The shape of the
array 10 can also be electronically scaled and the system 100 designed with a “center of gravity” that will ease a user's image path back to a “starting” or “critical position” node or ring of nodes, either when theuser 22 releases control or when the system 100 is programmed to override the user's autonomy; that is to say, the active perimeter or geometry of thearray 10 can be pre-configured to change at specified times or intervals in order to corral or focus attention in a situation that requires dramatic shaping. The system operator can, by real-time manipulation or via a pre-configured electronic proxy sequentially activate or deactivate designated portions of thecamera array 10. This is of particular importance in maintaining authorship and dramatic pacing in theatrical or entertainment venues, and also for implementing controls over how much freedom auser 22 will have to navigate through thearray 10. - In the present embodiment, the system 100 can be programmed such that certain portions of the
array 10 are unavailable to theuser 22 at specified times or intervals. Thus, continuing with step 140 d ofFIG. 6 , theserver 18 makes the determination whether the user input corresponds to movement to the right through the array but is subject to a navigation control algorithm. The navigation control algorithm causes theserver 18 to determine, based upon navigation control factors, whether the user's desired movement is permissible. - More specifically, the navigation control algorithm, which is programmed in the
server 18, determines whether the desired movement would cause the current node address to fall outside the permissible range of node coordinates. In the present embodiment, the permissible range of node coordinates is predetermined and depends upon the time of day, as noted by theserver 18. Thus, in the present embodiment, the navigation control factors include time. As will be appreciated by those skilled in the art, permissible camera nodes and control factors can be correlated in a table stored in memory. - In an alternate embodiment, the navigation control factors include time as measured from the beginning of a performance being viewed, also as noted by the server. In such an embodiment, the system operator can dictate from where in the array a user will view certain scenes. In another alternate embodiment, the navigation control factor is speed of movement through the array. For example, the faster a
user 22 moves or navigates through the array, the wider the turns must be. In other alternate embodiments, the permissible range of node coordinates is not predetermined. In one embodiment, the navigation control factors and, therefore, the permissible range, is dynamically controlled by the system operator who communicates with the server via an input device. - Having determined that the user input is subject to the navigation control algorithm, the
server 18 further proceeds, in step 150 d, to increment the current node address along a predetermined path. By incrementing the current node address along a predetermined path, the system operator is able to corral or focus the attention of theuser 22 to the particular view of thepermissible cameras 14, thereby maintaining authorship and dramatic pacing in theatrical and entertainment venues. - In an alternate embodiment where the user input is subject to a navigation control algorithm, the
server 18 does not move the user along a predetermined path. Instead, theserver 18 merely awaits a permissible user input and holds the view at the current node. Only when theserver 18 receives a user input resulting in a permissible node coordinate will theserver 18 adjust the user's view. - In addition to moving through the
array 10, theuser 22 may, at predetermined locations in thearray 10, choose to leave the real world environment being viewed. More specifically, additional source outputs, such as computer graphic imagery, virtual world camera views and virtual world grid data, virtual world imagery, virtual objects and their grid positioning data, applets, sprites, avatar representations, film clips, animation, augmented reality objects or images or recordings of real-world objects and other artificial and real camera outputs, are made available to theuser 22. In one embodiment, the additional source output is composited with the view of the real environment. In an alternate embodiment, the user's view transfers completely from the real environment to that offered by the additional source output. - More specifically, the additional source output is stored (preferably in digital form) in the
electronic storage device 20. Upon theuser 22 inputting a desire to view the additional source output, theserver 18 transmits the additional source output to the user interface/display device 24. The present embodiment, theserver 18 simply transmits the additional source output to theuser display device 24. In an alternate embodiment, theserver 18 first composites the additional source output with the camera output and then transmits the composited signal to the user interface/display device 24. - As shown in step 140 e, the
server 18 makes the determination whether the user input corresponds to moving in the array into the source output. If theuser 22 decides to move (or the system is configured to cause theuser 22 to move) into the additional source output, theserver 18 adjusts the view by, for example, substituting the additional source output for the updated camera output identified in either of steps 150 a-d. - The additional source output may include multiplexed, composited (using blue screen, green screen, or alpha techniques), or layered output from the group of various inputs and/or outputs including: computer graphic imagery, virtual world camera views and virtual world grid data, virtual world imagery, virtual objects and their grid positioning data, applets, sprites, avatar representations, film clips, animation, augmented reality objects or images or recordings of real-world objects. The system may present the additional source output, alone or in combination with the camera output, for example, by mosaicing, mixing, layering or multiplexing it.
- The additional source output may be aligned and registered with real world camera views along the user's perspective motion path, as the user's viewpoint moves from camera to camera. This alignment or registration of a real world camera view with a virtual world view can be aided by camera orientation and pointing platforms (such as a spherical ultrasonic motor or a spherical magnetic stepper motor or other such devices on the physical camera array side, and virtual camera navigation algorithms on the virtual world side) along with protocol handshakes between the camera array operating system and the virtual world operating system; and the alignment can be triggered or guided by transceivers embedded in real world environmental sensors, such as: radio frequency (RFID) tags worn by event actors or embedded in event objects, proximity sensors, infrared heat sensors, motion sensors, sound and voice sensors, vibration sensors, and further aided by accelerometers and/or transceivers riding on the cameras themselves or the camera support structure. The alignment can also be aided by windowing and image repositioning within the camera's field of view.
- The system may also be configured to permit the convergence of real world perspective paths with virtual world perspective paths and the seamless continuation of such paths. For example, where the additional source output is imagery and data from a virtual world environment relevant to a user-guided virtual camera path, such as camera animation algorithms and data from wire mesh geometries, and where the real-world perspective motion path (the path that progresses through the overlapping fields of view of the physical camera array) transitions to a virtual world camera path, the user's path along the real world camera array will transition fluidly and seamlessly into a continuing path in the virtual world, and subsequently along virtual world camera paths that are controlled by the user. The motion path transition between worlds can be effected by a number of methods, including camera sequencing that employs the same techniques used to move the viewing path through the physical array (and where the first virtual camera view is treated as if it were the next physical camera view in the physical array). It can also employ other techniques, including multiplexing, layering, or transitional visual effects, e.g., a simple dissolve. The transition from the viewing path along the physical array of cameras into a navigable virtual world camera path is novel and requires software APIs (application interfaces) on both sides of the equation for the viewing path to be tightly convergent and continuous. The system of one embodiment identifies some real world feature that could be made common to both worlds, a doorway, for example, or some architectural element. Since the virtual world is completely malleable, a replica of the real world feature common to both worlds could be constructed using building tools in the virtual environment and based, in one embodiment, on a 3D laser map (or the data from some other metrology tool familiar to those in the art) of the real-world topology; this virtual world object or feature would be subsequently scaled, rotated, and aligned with the feature in the physical array camera views to provide the visual transition ramp. The method of transition could be as simple as a dissolve (or any method that would equate with the camera array navigation process) and would be supported by a protocol handshake between the camera array operating system and the virtual world operating system (for example, an open-source simulation environment). Windowing, digital zooming and repositioning within the physical camera sensors would provide another layer of adjustment and refinements for finessing the transitions.
- In certain embodiments, the system links real and virtual world paths in a continuum that can scale to a “3D Internet”. In such embodiments, the additional source output may be the imagery and data from a virtual world camera path, and herein the egress from that virtual world camera path is a transition to a real-world navigable camera array (or some other interim virtual world path, or any alternative, physical camera array path); thus, a continuum is established for making the Internet a continuously navigable spatial network of paths, based on transitions between the user-guided perspective motion paths along navigable real world camera arrays and the user-guided camera paths in virtual worlds. In essence, virtual worlds thus become the connecting tissue between separated real world environments (e.g., transitioning from a first real world camera array and associated environment to a second real world camera array and associated environment) and vice versa, and real world environments can be “nested” in the “shells” of virtual worlds and vice versa.
- The system programming, including the above-referenced APIs, specifies and controls the objects and elements in a given environment and allows the code to function in specific ways. For example, the functional interface in a virtual world environment that allows the user to bring a real world video stream (link) into a virtual world space and map it onto objects or the background plane may be such an API. Such functionalities already exist in virtual worlds including that under the tradename of SECOND LIFE. They enable real video to be displayed (e.g., mapped) on a virtual object that can be resized in real time and/or mapped on the virtual world's background plane (e.g., so that the virtual world, from the user's camera perspective (and thus corresponding camera output) is enveloped by the virtual world. Wherever the user navigates or whatever direction the user turns or looks, the camera perspective is the background plane. The reverse mapping is also within the scope of the present invention, namely mapping virtual worlds (or other additional source output) into the real world camera perspective (output), for example, onto real objects or substituting a real background plane with a virtual one.
- In such embodiments, the mapping of an image, or sequence of images, in various ways on the virtual world plane or on objects in it involves aligning the digital video imagery from the real world camera path with the digital imagery from the virtual world camera path, or overlaying one on top of another, to create the illusion that a real world path was merging into a virtual camera path and vice versa. Consequently, the user experiences a continuous motion path, bridging from a real world environment into a virtual world environment (or vice versa) or into a combination real and virtual world environment; that experience is mediated by the system software that analyzes and controls the real and virtual camera paths on both sides of the transition, making adjustments to align and lock or synchronize those paths, and create entry and exit “ramps” that would hide any “stalls” caused by handshakes and protocols negotiated between the different domains.
- Different techniques may be used to align or overlay the real and virtual worlds, including those utilized in movie film special effects, depending on what creative tools the system designer decides best promotes the effect, including the scaling and aligning of objects or features that are common to both worlds. The latter approach means that real world objects are reproduced in the virtual world and scaled and aligned with the object or feature as it appears in the last frame of the real world video so that those objects or features are “extended” into the virtual environment. An example would be a hallway or a tunnel or a path with, perhaps, various replicated inanimate objects repeating from the real world environment and continuing into the virtual one to suggest the extension of the space. Such computer graphics imagery (CGI) special effects may thus build on the last frame of actual film footage when transitioning to digital effects.
- Although tools and processes for CGI effects are known, as will be appreciated to those skilled in the art, such embodiments of the present invention have the benefit of a guided motion path, initiated by the user, but intermediated by system software, that will bridge between real and virtual worlds by bringing together the user-guided camera paths on both sides of the transition.
- Thus, the system provides the ability to align and lock a navigable video user path (that is, a sequence of digital video frames controlled by the user) with a separate individual camera path in a virtual world (a frame sequence in the virtual world environment also controlled by the user). Such “aligning and locking” may entail establishing specific correlations between the apparent motion of a specific real world navigation path and the apparent motion of a specific virtual camera path that moves across the grid of a virtual world.
- Notably, in certain embodiments, the overlaid camera perspectives (e.g., real camera output and virtual camera output), which can be thought of as on and off ramps between the real and virtual environments, may be held in buffer or other system memory for efficient retrieval, thereby circumventing the latency that may be encountered by having to “log” or go through handshake protocols between one environment (server) and another. The end result would be a continuous navigation experience with no stalls or stops due to negotiating access from one domain into another.
- It is important to note that if the end user is given options for moving through a navigable video camera array (i.e., speed and path direction in approaching a “transition point”) that only one side of the equation will be known prior to the transition—the characteristics of the user's camera path before the transition—specifically, how fast the user is moving through the array, and from what direction the user is approaching the transition point. Thus, in certain embodiments, the characteristics of the camera path (for example, in the virtual world on the other side of the real-to-virtual world transition) are extrapolated to match those path characteristics. Such characteristics may include direction, speed, orientation and other characteristics of the user's navigation. For example, if the background is moving left to right, or right to left, that orientation and flow ideally is matched and continued (at least momentarily through the transition) in the virtual world camera movement.
- The motion along the user path can be characterized, in one embodiment, by the concept of “apparent speed” and/or “apparent direction” (e.g., relative to the background). Thus, the orientation of the camera field of view relative to the direction of the motion path through the local environment, and the distance of objects from the camera (for example, whether the camera is perpendicular or parallel to the line of movement, or whether there are near-field objects or far-field objects in view) have a bearing on the perception of speed.
- Of course, in simpler embodiments, the user is not given options for such characteristics, so by default the real and virtual world navigation characteristics may be matched.
- If transitioning from a virtual world environment to a real world environment, the adjustments to the user's path through the real camera array might be controlled by a system “override” (i.e., overriding the user inputs), which temporarily commandeers the user's control and automatically feathers the speed and direction of the user's path and flow through the real-virtual/virtual-real camera transition (and after the transition period, cedes control back to the user). If transitioning from a real world camera array to a user's individual virtual world camera, adjustments to the user's path in the virtual world may be imposed through the transition by an algorithm that temporarily controls the camera path and which, subsequent to ushering the user through the transition, cedes control back to the user to either stop or move the camera ahead in any direction desired. Control methods include adjusting the path speed or direction through the camera nodes, varying the frame rate, “double printing” (to use an old film term) or duplicating and repeating camera fields, deleting in-between frames, or setting virtual world camera animation functions to expand or compress the time line.
- This correlation between paths in both worlds could also be driven by a “grid” correspondence, whereby the software enables a visual grid to be superimposed on the topology of the real world camera arrays and referenced to various grid schemes in virtual worlds. In this embodiment, the frequency of grid lines navigated (representing distances across camera fields of view) and also the movement of in situ objects in the local environment moving across the grid (representing near-field or far field objects and the direction of movement) provide the data for shaping the virtual world camera path through the transition and perhaps just beyond it. In the reverse scenario (and since the virtual world camera paths offer more flexibility than the real world array paths), the virtual world ramp into the transition will be shaped according to the path flexibility on the real world array side (that is, whether there is more than one array path diverging from the transition exit).
- Finally, since (in some embodiments) there may be a latency factor in moving the user experience from one server to another (in logging a user from a navigable video server in the “cloud” to another virtual world server), APIs in the real word Navigable Video System and APIs in software add-ons for virtual world “users” (the GUIs that control the user experience and give users options for how to view and move through the virtual grid) would facilitate the automatic pre-build of camera-path “ramps” for each respective side of the transition. These ramps (based on the path options and specific characteristics of each local world) would enable the expansion or compression of the time it takes to transverse camera nodes leading up to the transition points. They would be applied relative to the closure of the handshake between servers, so that the transition could be a fluid and continuous motion path and not be interrupted by administrative protocols or Internet congestion. Thus, when a request is made to navigate between worlds via marked transition points, a pre-built motion ramp is activated and the software intermediates to control the flow of the transition as it monitors the progress of any log-in or handshake process behind the scenes.
- It should be noted that embodiments of the present invention are not limited to any particular type of transition or system implementation for a transition, if a transition is even provided.
- Continuing with the process flow, once the current node address is updated in either of steps 150 a-d, the
server 18 proceeds to adjust the user's view in step 250. When adjusting the view, theserver 18 “mixes” the existing or current camera output being displayed with the output of thecamera 14 identified by the updated camera node address. Mixing the outputs is achieved differently in alternate embodiments of the invention. In the present embodiment, mixing the outputs involves electronically switching at a particular speed from the existing camera output to the output of thecamera 14 having the new current node address (to the additional source output). - It is to be understood that in this and other preferred embodiments disclosed herein, the camera outputs are synchronized. As is well known in the art, a synchronizing signal from a “sync generator” is supplied to the cameras. The sync generator may take the form of those used in video editing and may comprise, in alternate embodiments, part of the server, the hub, and/or a separate component coupled to the array.
- As described above, in the current embodiment, at critical speed, the
server 18 switches camera outputs approximately at a rate of 24 per second, or one every 0.04167 seconds. If theuser 22 is moving through thearray 10 at under the critical speed, the outputs of theintermediate cameras 14 are each displayed for a relatively longer duration than if the user is moving at the critical speed. Similarly, each output is displayed for a relatively shorter duration when a user navigates at over the critical speed. In other words, theserver 18 adjusts the switching speed based on the speed of the movement through thearray 10. - Of course, it is to be understood that in a simplified embodiment of the present invention, the user may navigate at only the critical speed.
- In another alternate embodiment, mixing the outputs is achieved by compositing the existing or current output and the updated camera node output. In yet another embodiment, mixing involves dissolving the existing view into the new view. In still another alternate embodiment, mixing the outputs includes adjusting the frame refresh rate of the user display device. Additionally, based on speed of movement through the array, the server may add motion blur to convey the realistic sense of speed.
- In yet another alternate embodiment, the server causes a black screen to be viewed instantaneously between camera views. Although not always advantageous, such black screens reduce the physiologic “carrying over” of one view into a subsequent view.
- It is to be understood that the user inputs corresponding to movements through the array at different speeds may include either different keystrokes on a keypad, different positions of a joystick, positioning a joystick in a given position for a predetermined length of time, and the like. Similarly, the decision to move into an additional source output may be indicated by a particular keystroke, joystick movement, or the like (including optical, infrared, gesture driven, voice-activated, biofeedback-initiated, multi-touch or haptic interface controllers).
- In another embodiment, mixing may be accomplished by “mosaicing” the outputs of the
intermediate cameras 14. U.S. Pat. No. 5,649,032 entitled System For Automatically Aligning Images To Form A Mosaic Image to Peter J. Burt et al. discloses a system and method for generating a mosaic from a plurality of images and is hereby incorporated by reference. Theserver 18 automatically aligns one camera output to another camera output, a camera output to another mosaic (generated from previously occurring camera output) such that the output can be added to the mosaic, or an existing mosaic to a camera output. - Once the mosaic alignment is complete, the present embodiment utilizes a mosaic composition process to construct (or update) a mosaic. The mosaic composition comprises a selection process and a combination process. The selection process automatically selects outputs for incorporation into the mosaic and may include masking and cropping functions to select the region of interest in a mosaic. Once the selection process selects which output(s) are to be included in the mosaic, the combination process combines the various outputs to form the mosaic. The combination process applies various output processing techniques, such as merging, fusing, filtering, output enhancement, and the like, to achieve a seamless combination of the outputs. The resulting mosaic is a smooth view that combines the constituent outputs such that temporal and spatial information redundancy are minimized in the mosaic. In one embodiment of the present invention, the mosaic may be formed as the user moves through the system (on the fly) and the output image displayed close to real time. In another embodiment, the system may form the mosaic from a predetermined number of outputs or during a predetermined time interval, and then display the images pursuant to the user's navigation through the environment.
- In yet another embodiment, the
server 18 enables the output to be mixed by a “tweening” process. One example of the tweening process is disclosed in U.S. Pat. No. 5,529,040 entitled Method For Determining Sensor Motion And Scene Structure And Image Processing System Therefor to Keith J. Hanna, herein incorporated by reference. Tweening enables theserver 18 to process the structure of a view from two or more camera outputs of the view. - Applying the Hanna patent to the telepresence method/system herein, tweening is now described. The server monitors the movement among the
intermediate cameras 14 through a scene using local scene characteristics such as brightness derivatives of a pair of camera outputs. A global camera output movement constraint is combined with a local scene characteristic constancy constraint to relate local surface structures with the global camera output movement model and local scene characteristics. The method for determining a model for global camera output movement through a scene and scene structure model of the scene from two or more outputs of the scene at a given image resolution comprises the following steps: -
- (a) setting initial estimates of local scene models and a global camera output movement model;
- (b) determining a new value of one of the models by minimizing the difference between the measured error in the outputs and the error predicted by the model;
- (c) resetting the initial estimates of the local scene models and the image sensor motion model using the new value of one of the models determined in step (b);
- (d) determining a new value of the second of the models using the estimates of the models determined in step (b) by minimizing the difference between the measured error in the outputs and the error predicted by the model;
- (e) warping one of the outputs towards the other output using the current estimates of the models at the given image resolution; and
- (f) repeating steps (b), (c), (d) and (e) until the differences between the new values of the models and the values determined in the previous iteration are less than a certain value or until a fixed number of iterations have occurred.
- It should be noted that where the Hanna patent effectuates the tweening process by detecting the motion of an image sensor (e.g., a video camera), an embodiment of the present invention monitors the user movement among live cameras or storage nodes.
- In an alternate embodiment, although not always necessary, to ensure a seamless progression of views, the
server 18 also transmits to theuser display device 24 outputs from some or all of the intermediate cameras, namely those located between the current camera node and the updated camera node. Such an embodiment will now be described with reference toFIGS. 7 a-7 g. Specifically,FIG. 7 a illustrates a curvilinear portion of anarray 10 that extends along the X axis or to the left and right from the user's perspective. Thus, the coordinates that theserver 18 associates with thecameras 14 differ only in the X coordinate. More specifically, for purposes of the present example, thecameras 14 can be considered sequentially numbered, starting with theleft-most camera 14 being the first, i.e., number “1”. The X coordinate of eachcamera 14 is equal to the camera's position in the array. For illustrative purposes, particular cameras will be designate 14-X, where X equals the camera's position in thearray 10 and, thus, its associated X coordinate. - In general,
FIGS. 7 a-7 g illustrate possible user movement through thearray 10. The environment to be viewed includes three objects 602, 604, 606, the first and second of which include numbered surfaces. As will be apparent, these numbered surface allow a better appreciation of the change in user perspective. - In
FIG. 7 a, six cameras 14-2, 14-7, 14-11, 14-14, 14-20, 14-23 of thearray 10 are specifically identified. The boundaries of each camera's view is identified by the pair of lines 14-2 a, 14-7 a, 14-11 a, 14-14 a, 14-20 a, 14-23 a, radiating from each identified camera 14-2, 14-7, 14-11, 14-14, 14-20, 14-23, respectively. As described below, in the present example theuser 22 navigates through thearray 10 along the X axis such that the images or views of the environment are those corresponding to the identified cameras 14-2, 14-7, 14-11, 14-14, 14-20, 14-23. - The present example provides the
user 22 with the starting view from camera 14-2. This view is illustrated inFIG. 7 b. Theuser 22, desiring to have a better view of theobject 702, pushes the “7” key on the keyboard. This user input is transmitted to and interpreted by theserver 18. - Because the
server 18 has been programmed to recognized the “7” key as corresponding to moving or jumping through the array to camera 14-7. Theserver 18 changes the X coordinate of the current camera node address to 7, selects the output of camera 14-7, and adjusts the view or image sent to theuser 22. Adjusting the view, as discussed above, involves mixing the outputs of the current and updated camera nodes. Mixing the outputs, in turn, involves switching intermediate camera outputs into the view to achieve the seamless progression of the discrete views of cameras 14-2 through 14-7, which gives theuser 22 the look and feel of moving around the viewed object. Theuser 22 now has another view of thefirst object 702. The view from camera 14-7 is shown inFIG. 7 c. As noted above, if the jump in camera nodes is greater than a predetermined limit, theserver 18 would omit some or all of the intermediate outputs. - Pressing the “right arrow” key on the keyboard, the
user 22 indicates to the system 100 a desire to navigate to the right at critical speed. Theserver 18 receives and interprets this user input as indicating such and increments the current camera node address by n=4. Consequently, the updated camera node address is 14-11. Theserver 18 causes the mixing of the output of camera 14-11 with that of camera 14-7. Again, this includes switching into the view the outputs of the intermediate cameras (i.e., 14-8, 14-9, and 14-10) to give theuser 22 the look and feel of navigating around the viewed object. Theuser 22 is thus presented with the view from camera 14-11, as shown inFIG. 7 d. - Still interested in the
first object 702, theuser 22 enters a user input, for example, “alt-right arrow,” indicating a desire to move to the right at less than critical speed. Accordingly, theserver 18 increments the updated camera node address by n−1 nodes, namely 3 in the present example, to camera 14-14. The outputs from cameras 14-11 and 14-14 are mixed, and theuser 22 is presented with a seamless view associated with cameras 14-11 through 14-14.FIG. 7 e illustrates the resulting view of camera 14-14. - With little to see immediately after the
first object 702, theuser 22 enters a user input such as “shift-right arrow,” indicating a desire to move quickly through thearray 10, i.e., at over the critical speed. Theserver 18 interprets the user input and increments the current node address by n+2, or 6 in the present example. The updated node address thus corresponds to camera 14-20. Theserver 18 mixes the outputs of cameras 14-14 and 14-20, which includes switching into the view the outputs of the intermediate cameras 14-15 through 14-19. The resulting view of camera 14-20 is displayed to theuser 22. As shown inFIG. 7 f, theuser 22 now views thesecond object 704. - Becoming interested in the
third object 704, theuser 22 desires to move slowly through thearray 10. Accordingly, theuser 22 enters “alt-right arrow” to indicate moving to the right at below critical speed. Once theserver 18 interprets the received user input, it updates the current camera node address along the X axis by 3 to camera 14-23. Theserver 18 then mixes the outputs of camera 14-20 and 14-23, thereby providing theuser 22 with a seamless progression of views through camera 14-23. The resulting view 14-23 a is illustrated inFIG. 7 g. - It is to be understood that devices other than cameras may be interspersed in the array. These other devices, such as RFID, motion capture cameras, reflective devices, make-up and systems, motion sensors and microphones, provide data to the server(s) for processing. For example, in alternate embodiments output from motion sensors or microphones are fed to the server(s) and used to scale the array. More specifically, permissible camera nodes (as defined in a table stored in memory) are those near the sensor or microphone having a desired output e.g., where there is motion or sound. As such, navigation control factors include output from other such devices. Alternatively, the output from the sensors or microphones are provided to the user. Furthermore, data received from any of such other data devices may be used as a trigger to transition to or otherwise provide additional source output to users or may be used in conjunction with the additional source output (e.g., using real world sounds captured from microphones in conjunction with a virtual world depiction).
- An alternate embodiment in which the array of cameras includes multiple microphones interspersed among the viewed environment and the cameras will now be described with reference to
FIG. 8 . Thesystem 800 generally includes an array ofcameras 802 coupled to aserver 804, which, in turn, is coupled to one or more user interface anddisplay devices 806 and anelectronic storage device 808. Ahub 810 collects and transfers the outputs from thearray 802 to theserver 804. More specifically, thearray 802 comprisesmodular rails 812 that are interconnected. Eachrail 812 carriesmultiple microcameras 814 and amicrophone 816 centrally located atrail 812. Additionally, thesystem 800 includesmicrophones 818 that are physically separate from thearray 802. The outputs of both thecameras 814 andmicrophones server 804 for processing. - In general, operation of the
system 800 proceeds as described with respect to system 100 ofFIGS. 1-2 d and 5-6. Beyond the operation of the previously described system 100, however, theserver 804 receives the sound output from themicrophones server 804 updates the current camera node address and changes the user's view, it also changes the sound output transmitted to the user. In the present embodiment, theserver 804 has stored in memory an associated range of camera nodes with a given microphone, namely thecameras 814 on eachrail 810 are associated with themicrophone 816 on thatparticular rail 810. In the event a user attempts to navigate beyond the end of thearray 802, theserver 804 determines the camera navigation is impermissible and instead updates the microphone node output to that of themicrophone 818 adjacent to thearray 802. - In an alternate embodiment, the
server 804 might include a database in which camera nodes in a particular area are associated with a given microphones. For example, a rectangle defined by the (X, Y, Z) coordinates (0,0,0), (10,0,0), (10,5,0), (0,5,0), (0,0,5), (10,0,5), (10,5,5) and (0,5,5) are associated with a given microphone. It is to be understood that selecting one of the series of microphones based on the user's position (or view) in the array provides the user with a sound perspective of the environment that coincides with the visual perspective. - It is to be understood that the server of the embodiments discussed above may take any of a number of known configurations. Two examples of server configurations suitable for use with the present invention will be described with reference to
FIGS. 9 and 10 . Turning first toFIG. 9 , theserver 902,electronic storage device 20,array 10, users (1, 2, 3, . . . N) 22-1-22-N, and associated user interface/display devices 24-1-24-N are shown therein. - The
server 902 includes, among other components, a processing means in the form of one or more central processing units (CPU) 904 coupled to associated read only memory (ROM) 906 and a random access memory (RAM) 908. In general,ROM 906 is for storing the program that dictates the operation of theserver 902, and theRAM 908 is for storing variables and values used by theCPU 904 during operation. Also coupled to theCPU 904 are the user interface/display devices 24. It is to be understood that the CPU may, in alternate embodiments, comprise several processing units, each performing a discrete function. - Coupled to both the
CPU 904 and theelectronic storage device 20 is amemory controller 910. Thememory controller 910, under direction of theCPU 904, controls accesses (reads and writes) to thestorage device 20. Although thememory controller 910 is shown as part of theserver 902, it is to be understood that it may reside in thestorage device 20. - During operation, the
CPU 904 receives camera outputs from thearray 10 viabus 912. As described above, theCPU 904 mixes the camera outputs for display on the user interface/display device 24. Which outputs are mixed depends on the view selected by eachuser 22. Specifically, each user interface/display devices 24 transmits acrossbus 914 the user inputs that define the view to be displayed. Once theCPU 904 mixes the appropriate outputs, it transmits the resulting output to the user interface/display device 24 viabus 916. As shown, in the present embodiment, eachuser 22 is independently coupled to theserver 902. - The
bus 912 also carries the camera outputs to thestorage device 20 for storage. When storing the camera outputs, theCPU 904 directs thememory controller 910 to store the output of eachcamera 14 in a particular location of memory in thestorage device 20. - When the image to be displayed has previously been stored in the
storage device 20, theCPU 904 causes thememory controller 910 to access thestorage device 20 to retrieve the appropriate camera output. The output is thus transmitted to theCPU 904 viabus 918 where it is mixed.Bus 918 also carries additional source output to theCPU 904 for transmission to theusers 22. As with outputs received directly from thearray 10, theCPU 904 mixes these outputs and transmits the appropriate view to the user interface/display device 24. -
FIG. 10 shows a server configuration according to an alternate embodiment of the present invention. As shown therein, theserver 1002 generally comprises a control central processing unit (CPU) 1004, a mixingCPU 1006 associated with eachuser 22, and amemory controller 1008. Thecontrol CPU 1004 has associatedROM 1010 andRAM 1012. Similarly, each mixingCPU 1006 has associatedROM 1014 andRAM 1016. - To achieve the functionality described above, the camera outputs from the
array 10 are coupled to each of the mixingCPUs 1 through N 1006-1, 1006-N viabus 1018. During operation, eachuser 22 enters inputs in the interface/display device 24 for transmission (via bus 1020) to thecontrol CPU 1004. Thecontrol CPU 1004 interprets the inputs and, via buses 1022-1, 1022-N, transmits control signals to the mixing CPUs 1006-1, 1006-N instructing them which camera outputs received onbus 1018 to mix. As the name implies, the mixing CPUs 1006-1, 1006-N mix the outputs in order to generate the appropriate view and transmit the resulting view via buses 1024-1, 1024-N to the user interface/display devices 24-1, 24-N. - In an alternate related embodiment, each mixing
CPU 1006 multiplexes outputs to more than oneuser 22. Indications of which outputs are to mixed and transmitted to eachuser 22 comes from thecontrol CPU 1004. - The
bus 1018 couples the camera outputs not only to the mixing CPUs 1006-1, 1006-N, but also to thestorage device 20. Under control of thememory controller 1008, which in turn is controlled by thecontrol CPU 1004, thestorage device 20 stores the camera outputs in known storage locations. Where user inputs to thecontrol CPU 1004 indicate a users' 22 desire to view stored images, thecontrol CPU 1004 causes thememory controller 1008 to retrieve the appropriate images from thestorage device 20. Such images are retrieved into the mixingCPUs 1006 viabus 1026. Additional source output is also retrieved to the mixing CPUs 1006-1, 1006-N viabus 1026. Thecontrol CPU 1004 also passes control signals to the mixing CPUs 1006-1, 1006-N to indicate which outputs are to be mixed and displayed. - It is to be understood that it is within the scope of the present invention to employ stereoscopic views of the environment. To achieve the stereoscopic view, the system retrieves from the array (or the electronic storage device) and simultaneously transmits to the user at least portions of outputs from two cameras. The server processing element mixes these camera outputs to achieve a stereoscopic output. Each view provided to the user is based on such a stereoscopic output. In one stereoscopic embodiment, the outputs from two adjacent cameras in the array are used to produce one stereoscopic view. Using the notation of
FIGS. 7 a-7 g, one view is the stereoscopic view from cameras 14-1 and 14-2. The next view is based on the stereoscopic output of cameras 14-2 and 14-3 or two other cameras. Thus, in such an embodiment, the user is provided the added feature of a stereoscopic seamless view of the environment. - As described above, the present invention allows multiple users to simultaneously navigate through the array independently of each other. To accommodate multiple users, the systems described above distinguish between inputs from the multiple users and selects a separate camera output appropriate to each user's inputs. In one such embodiment, the server tracks the current camera node address associated with each user by storing each node address in a particular memory location associate with that user. Similarly, each user's input is differentiated and identified as being associated with the particular memory location with the use of message tags appended to the user inputs by the corresponding user interface device.
- In an alternate embodiment, two or more users may choose to be linked, thereby moving in tandem and having the same view of the environment. In such an embodiment, each includes identifying another user by his/her code to serve as a “guide”. In operation, the server provides the outputs and views selected by the guide user to both the guide and the other user selecting the guide. Another user input causes the server to unlink the users, thereby allowing each user to control his/her own movement through the array.
- In certain applications, a user may also wish to navigate forward and backward through the environment, thereby moving closer to or further away from an object. Although it is within the scope of the present invention to use cameras with zoom capability, simply zooming towards an object does not change the user's image point perspective. One such embodiment in which users can move dimensionally forward and backward through the environment with a changing image point perspective will now be described with respect to
FIG. 11 and continuing reference toFIG. 1 . As will be understood by those skilled in the art, the arrays described with reference toFIG. 11 may be used with any server, storage device and user terminals described herein. -
FIG. 11 illustrates a top plan view of another embodiment enabling the user to move left, right, up, down, forward or backwards through the environment. A plurality of cylindrical arrays (121-1-121-n) of differing diameters comprising a series ofcameras 14 may be situated around an environment comprising one or more objects 1200, one cylindrical array at a time.Cameras 14 situated around the object(s) 1100 are positioned along an X and Z coordinate system. Accordingly, anarray 12 may comprise a plurality of rings of the same circumference positioned at different positions (heights) throughout the z-axis to form a cylinder ofcameras 14 around the object(s) 1100. This also allows each camera in eacharray 12 to have an associated, unique storage node address comprising an X and Z coordinate—i.e., array1(X, Z). In the present embodiment, for example, a coordinate value corresponding to an axis of a particular camera represents the number of camera positions along that axis the particular camera is displaced from a reference camera. In the present embodiment, from the user's perspective, the X axis runs around the perimeter of anarray 12, and the Z axis runs down and up. Each storage node is associated with a camera view identified by its X, Z coordinate. - As described above, the outputs of the
cameras 14 are coupled to one or more servers for gathering and transmitting the outputs to theserver 18. - In one embodiment, because the environment is static, each camera requires only one storage location. The camera output may be stored in a logical arrangement, such as a matrix of n arrays, wherein each array has a plurality of (X,Z) coordinates. In one embodiment, the node addresses may comprise of a specific coordinate within an array—i.e., Array1(Xn,Zn), Array2(Xn,Zn) through Arrayn(Xn,Zn). As described below, users can navigate the stored images in much the same manner as the user may navigate through an environment using live camera images.
- The general operation of one embodiment of inputting images in
storage device 20 for transmission to a user will now be described with reference toFIG. 12 and continuing reference toFIG. 11 . As shown in step 1210, a cylindrical array 12-1 is situated around the object(s) located in anenvironment 1100. The view of eachcamera 14 is transmitted toserver 18 in step 1220. Next, in step 1220, theelectronic storage device 20 of theserver 18 stores the output of eachcamera 14 at the storage node address associated with thatcamera 14. Storage of the images may be effectuated serially, from onecamera 14 at a time within thearray 12, or by simultaneous transmission of the image data from all of thecameras 14 of eacharray 12. Once the output for eachcamera 14 of array 12-1 is stored, cylindrical array 12-1 is removed from the environment (step 1240). In step 1250, a determination is made as to the availability of additionalcylindrical arrays 12 of differing diameters to those already situated. If additionalcylindrical arrays 12 are desired, the process repeats beginning with step 1210. When noadditional arrays 12 are available for situating around the environment, the process of inputting images intostorage devices 20 is complete (step 1260). At the end of the process, a matrix of addressable stored images exist. - Upon storing all of the outputs associated with the arrays 12-1 through 12-n, a user may navigate through the environment. Navigation is effectuated by accessing the input of the storage nodes by a
user interface device 24. In the present embodiment, the user inputs generally include moving around the environment orobject 1100 by moving to the left or right, moving higher or lower along the z-axis, moving through the environment closer or further from theobject 1100, or some combination of moving around and through the environment. For example, a user may access the image stored in the node address Array3(0,0) to view an object from the camera previously located at coordinate (0,0) of Array3. The user may move directly forward, and therefore closer to theobject 1100, by accessing the image stored in Array2(0,0) and then Array1(0,0). To move further away from the object and to the right and up, the user may move from the image stored in node address Array1(0,0) and access the images stored in node address Array2(1,1), followed by accessing the image stored in node address Array3(2,2), an so on. A user may, of course, move among arrays and/or coordinates by any increments changing the point perspective of the environment with each node. Additionally, a user may jump to a particular camera view of the environment. Thus, a user may move throughout the environment in a manner similar to that described above with respect to accessing output of live cameras. This embodiment, however, allows user to access images that are stored in storage nodes as opposed to accessing live cameras. Moreover, this embodiment provides a convenient system and method to allow a user to move forward and backward in an environment. - It should be noted that although each storage node is associated with a camera view identified by its X, Z coordinate of a particular array, other methods of identifying camera views and storage nodes can be used. For example, other coordinate systems, such as those noting angular displacement from a fixed reference point as well as coordinate systems that indicate relative displacement from the current camera node may be used. It should also be understood that the
camera arrays 12 may be other shapes other than cylindrical. Moreover, it is not essential, although often advantageous, that thecamera arrays 12 surround the entire environment. - It is to be understood that the foregoing user inputs, namely, move clockwise, move counter-clockwise, up, down, closer to the environment, and further from the environment, are merely general descriptions of movement through the environment. Although the present invention is not so limited, in the present preferred embodiment, movement in each of these general directions is further defined based upon the user input. Moreover the output generated by the server to the user may be mixed when moving among adjacent storage nodes associated with environment views (along the x axis, z axis, or among juxtaposed arrays) to generate seamless movement throughout the environment. Mixing may be accomplished by, but are not limited to, the processes described above.
- Although the present invention has been described in terms of certain preferred embodiments, other embodiments that are apparent to those of ordinary skill in the art are also intended to be within the scope of this invention. Accordingly, the scope of the present invention is intended to be limited only by the claims appended hereto.
Claims (30)
1. A telepresence system for providing a first user with a first display of an environment and a second user with a second display of the environment, the system comprising:
an array of cameras, each camera having an associated view of the environment and an associated camera output representing the associated view, the array including at least one camera path and a first camera having a first output and a second camera having a second output;
a first user interface device associated with the first user having first user inputs associated with movement along a first path in the array;
a second user interface device associated with the second user having second user inputs associated with movement along a second path in the array;
at least one processing element coupled to the user interface devices for receiving user inputs, the processing element configured to interpret received first inputs and select outputs of cameras in the first path, interpret received second inputs and select outputs of cameras in the second path independently of the first inputs, thereby allowing the first user and second user to navigate simultaneously and independently through the array, and the processing element is configured to mix the first and second outputs in accordance with the received first user inputs by mosaicing the view associated with the first camera with the view of the second camera.
2. The system of claim 1 wherein the system further includes a memory storing additional source output, wherein the user inputs include an indication of viewing the additional source output, and the processing element is further configured to mix camera output and the additional source output upon receiving the indication to view the additional source output by mosaicing the camera output and the additional source output.
3. The system of claim 2 wherein the additional source output includes output from the group of outputs including: computer graphic imagery, virtual world imagery, applets, film clips, and animation.
4. A device for providing a user with a display of an environment in response to user inputs, the system comprising:
an array of cameras, each camera having an associated view of the environment and an associated camera output representing the associated view;
memory storing an additional source output; and
at least one processing element coupled to the memory for receiving the additional source output, the processing element configured to interpret user inputs and select, based on the user inputs, a camera output to provide to the user, the additional source output to provide to the user, or both a camera view and the additional source output to provide to the user, and the processing element is configured to mix the additional source output with camera output by mosaicing from the camera output to the additional source output.
5. A system for remote seamless viewing of an environment from an array of cameras, each having an output representing an image of the environment, the device comprising:
an interface device having inputs for selecting a path through at least a portion of the array from which to view the environment, the path including a sequence of cameras, each camera in the sequence having a different point perspective and a field of view that overlaps that of an adjacent cameras; and
a display device for sequentially displaying the image from each camera in the sequence by mosaicing the image of a current camera in the sequence to the image of a next camera in the sequence, thereby providing the user a seamless view of the environment.
6. A method for seamless viewing of an environment, the method comprising:
receiving electronically a first image from an array of cameras, the first image having a first field of view;
receiving electronically a second image from the array, the second image having a second field of view that overlaps the first field of view;
receiving electronically a third image from the array, the third image having a third field of view that overlaps the second field of view;
mosaicing the first image with the second image and then mosaicing the second image with the third image; and
displaying the first, second, third and mosaic images in sequence to obtaining a seamless view through the environment.
7. The method of claim 6 further including selecting an additional source output to be displayed and mosaicing the additional source output with the third image.
8. The method of claim 6 wherein the first, second and third images correspond to first, second, and third cameras, respectively.
9. The method of claim 8 wherein the second camera is adjacent to the first and third cameras.
10. A telepresence system for providing a first user with a first display of an environment and a second user with a second display of the environment, the system comprising:
an array of cameras, each camera having an associated view of the environment and an associated camera output representing the associated view, the array including at least one camera path and a first camera having a first output and a second camera having a second output;
a first user interface device associated with the first user having first user inputs associated with movement along a first path in the array;
a second user interface device associated with the second user having second user inputs associated with movement along a second path in the array;
at least one processing element coupled to the user interface devices for receiving user inputs, the processing element configured to interpret received first inputs and select outputs of cameras in the first path, interpret received second inputs and select outputs of cameras in the second path independently of the first inputs, thereby allowing the first user and second user to navigate simultaneously and independently through the array, and the processing element is configured to mix the first and second outputs in accordance with the received first user inputs by tweening the view associated with the first camera with the view of the second camera.
11. The system of claim 10 wherein the system further includes a memory storing additional source output, wherein the user inputs include an indication of viewing the additional source output, and the processing element is further configured to mix camera output and the additional source output upon receiving the indication to view the additional source output by tweening the camera output and the additional source output.
12. The system of claim 11 wherein the additional source output includes output from the group of outputs including: computer graphic imagery, virtual world imagery, applets, film clips, and animation.
13. A device for providing a user with a display of an environment in response to user inputs, the system comprising:
an array of cameras, each camera having an associated view of the environment and an associated camera output representing the associated view;
memory storing an additional source output; and
at least one processing element coupled to the memory for receiving the additional source output, the processing element configured to interpret user inputs and select, based on the user inputs, a camera output to provide to the user, the additional source output to provide to the user, or both a camera view and the additional source output to provide to the user, and the processing element is configured to mix the additional source output with camera output by tweening from the camera output to the additional source output.
14. A system for remote seamless viewing of an environment from an array of cameras, each having an output representing an image of the environment, the device comprising:
an interface device having inputs for selecting a path through at least a portion of the array from which to view the environment, the path including a sequence of cameras, each camera in the sequence having a different point perspective and a field of view that overlaps that of an adjacent cameras; and
a display device for sequentially displaying the image from each camera in the sequence by tweening the image of a current camera in the sequence to the image of a next camera in the sequence, thereby providing the user a seamless view of the environment.
15. A method for seamless viewing of an environment, the method comprising:
receiving electronically a first image from an array of cameras, the first image having a first field of view;
receiving electronically a second image from the array, the second image having a second field of view that overlaps the first field of view;
receiving electronically a third image from the array, the third image having a third field of view that overlaps the second field of view;
tweening the first image with the second image and then mosaicing the second image with the third image; and
displaying the first, second, third and tweened images in sequence to obtaining a seamless view through the environment.
16. The method of claim 15 further including selecting an additional source output to be displayed and tweening the additional source output with the third image.
17. The method of claim 15 wherein the first, second and third images correspond to first, second, and third cameras, respectively.
18. The method of claim 17 wherein the second camera is adjacent to the first and third cameras.
19. A method of providing users with real time views of a remote environment, the method comprising:
receiving electronic images of the environment from an array of cameras, the array including at least one camera path through the environment;
receiving a first input from a first user interface device associated with a first user, the first input indicating movement along a first path;
receiving a second input from a second user interface device associated with a second user, the second input indicating movement along a second path;
obtaining a first mixed image by mosaicing or tweening, with a first processing element, a first image with a second image in accordance with the first input;
obtaining a second mixed image by mosaicing or tweening, with a second processing element, a third image with a fourth image in accordance with the second input;
providing the first user with the first mixed image in substantially real time, thereby simulating movement along the first path; and
providing the second user with the second mixed image substantially in real time and simultaneous to providing the first user with the first mixed image, thereby independently and simulating movement along the second path.
20. The method of claim 19 wherein receiving the first input includes receiving an indication of mosaicing or tweening an additional source output, the method further including obtaining a third mixed output by mosaicing or tweening the second image with the additional source output.
21. The method of claim 19 further including obtaining a third mixed image by mosaicing or tweening the second image with a fifth image in accordance with the first input and providing the first use the third mixed image.
22. A telepresence system for providing a first user with a first display of an environment and a second user with a second display of the environment, the system comprising:
a plurality of removable arrays of cameras, each camera having an associated view of the environment and an associated camera output representing the associated view;
at least one storage device including a plurality of storage nodes wherein the output of each camera is stored in an associated storage node, the storage nodes are accessible to permit at least one path for viewing the environment;
a first user interface device associated with the first user having first user inputs associated with movement along a first path in the environment;
a second user interface device associated with the second user having second user inputs associated with movement along a second path in the environment;
at least one processing element coupled to the user interface devices for receiving user inputs including moving up down, clockwise around an environment, counter-clockwise around an environment, forward and backward through the environment, the processing element configured to interpret received first inputs and select outputs of the storage nodes forming the first path, and interpret received second inputs and select outputs of storage nodes forming the second path independently of the first inputs, thereby allowing the first user and second user to navigate simultaneously and independently through the environment.
23. The telepresence system of claim 22 wherein the outputs of the cameras are accessible by the processing element.
24. The telepresence system of claim 22 wherein each removable array is situated at different lengths from the environment.
25. The telepresence system of claim 23 wherein each array is removed after the cameras in the array have transmitted the output to the associated storage node.
26. The telepresence system of claim 25 wherein each array is of cylindrical shape and of a varying diameter.
27. A telepresence system for providing a first user with a first display of an environment and a second user with a second display of the environment, the system comprising:
a plurality of removable arrays of cameras, each camera having an associated view of the environment and an associated camera output representing the associated view, the arrays situated at varying lengths from the environment and including at least one path for viewing the environment, said arrays are removed after the cameras in the array have transmitted the output to an associated storage node;
at least one storage device including a plurality of storage nodes wherein the output of each camera is stored in an associated storage node, the storage nodes are accessible to permit at least one path for viewing the environment;
a first user interface device associated with the first user having first user inputs associated with movement along a first path in the environment;
a second user interface device associated with the second user having second user inputs associated with movement along a second path in the environment;
at least one processing element coupled to the user interface devices for receiving user inputs including moving up down, clockwise around an environment, counter-clockwise around an environment, forward and backward through the environment, the processing element configured to interpret received first inputs and select outputs of the storage node forming the first path, and interpret received second inputs and select outputs of the storage node forming the second path independently of the first inputs, thereby allowing the first user and second user to navigate simultaneously and independently through the environment.
28. A method of providing users with views of a remote environment, the method comprising:
receiving electronic images of the environment from a plurality of array of cameras;
storing the image of the environment in storage nodes associated with each camera, the storage nodes are accessible to permit at least one path for viewing the environment;
removing the array of cameras after storing the image in the associated storage node;
receiving a first input from a first user interface device associated with a first user, the first input indicating movement along a first path;
receiving a second input from a second user interface device associated with a second user, the second input indicating movement along a second path;
obtaining a first mixed image by mixing, with a first processing element, a first image with a second image in accordance with the first input;
obtaining a second mixed image by mixing, with a second processing element, a third image with a fourth image in accordance with the second input;
providing the first user with the first mixed image thereby simulating movement along the first path; and
providing the second user with the second mixed image thereby independently and simulating movement along the second path.
29. The method of claim 28 wherein one array at a time is situated around the environment.
30. The method of claim 29 wherein the storage nodes may be accessed to permit a plurality of navigable paths and the first path differs from the second path.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/949,132 US20140139610A1 (en) | 1998-04-02 | 2013-07-23 | Navigable telepresence method and system utilizing an array of cameras |
US14/505,208 US9055234B2 (en) | 1998-04-02 | 2014-10-02 | Navigable telepresence method and system |
US15/220,146 US20160337615A1 (en) | 1998-04-02 | 2016-07-26 | Navigable telepresence method and system utilizing an array of cameras |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8041398P | 1998-04-02 | 1998-04-02 | |
US09/283,413 US6535226B1 (en) | 1998-04-02 | 1999-04-01 | Navigable telepresence method and system utilizing an array of cameras |
US09/419,274 US6522325B1 (en) | 1998-04-02 | 1999-10-15 | Navigable telepresence method and system utilizing an array of cameras |
US10/308,230 US20030132951A1 (en) | 1998-04-02 | 2002-12-02 | Navigable telepresence method and system utilizing an array of cameras |
US11/359,233 US7613999B2 (en) | 1998-04-02 | 2006-02-21 | Navigable telepresence method and systems utilizing an array of cameras |
US12/610,188 US20100115411A1 (en) | 1998-04-02 | 2009-10-30 | Navigable telepresence method and system utilizing an array of cameras |
US13/949,132 US20140139610A1 (en) | 1998-04-02 | 2013-07-23 | Navigable telepresence method and system utilizing an array of cameras |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/610,188 Continuation US20100115411A1 (en) | 1998-04-02 | 2009-10-30 | Navigable telepresence method and system utilizing an array of cameras |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/505,208 Continuation US9055234B2 (en) | 1998-04-02 | 2014-10-02 | Navigable telepresence method and system |
US15/220,146 Continuation US20160337615A1 (en) | 1998-04-02 | 2016-07-26 | Navigable telepresence method and system utilizing an array of cameras |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140139610A1 true US20140139610A1 (en) | 2014-05-22 |
Family
ID=46149822
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/419,274 Expired - Lifetime US6522325B1 (en) | 1998-04-02 | 1999-10-15 | Navigable telepresence method and system utilizing an array of cameras |
US10/308,230 Abandoned US20030132951A1 (en) | 1998-04-02 | 2002-12-02 | Navigable telepresence method and system utilizing an array of cameras |
US11/359,233 Expired - Fee Related US7613999B2 (en) | 1998-04-02 | 2006-02-21 | Navigable telepresence method and systems utilizing an array of cameras |
US12/610,188 Abandoned US20100115411A1 (en) | 1998-04-02 | 2009-10-30 | Navigable telepresence method and system utilizing an array of cameras |
US13/949,132 Abandoned US20140139610A1 (en) | 1998-04-02 | 2013-07-23 | Navigable telepresence method and system utilizing an array of cameras |
US14/505,208 Expired - Fee Related US9055234B2 (en) | 1998-04-02 | 2014-10-02 | Navigable telepresence method and system |
US15/220,146 Abandoned US20160337615A1 (en) | 1998-04-02 | 2016-07-26 | Navigable telepresence method and system utilizing an array of cameras |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/419,274 Expired - Lifetime US6522325B1 (en) | 1998-04-02 | 1999-10-15 | Navigable telepresence method and system utilizing an array of cameras |
US10/308,230 Abandoned US20030132951A1 (en) | 1998-04-02 | 2002-12-02 | Navigable telepresence method and system utilizing an array of cameras |
US11/359,233 Expired - Fee Related US7613999B2 (en) | 1998-04-02 | 2006-02-21 | Navigable telepresence method and systems utilizing an array of cameras |
US12/610,188 Abandoned US20100115411A1 (en) | 1998-04-02 | 2009-10-30 | Navigable telepresence method and system utilizing an array of cameras |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/505,208 Expired - Fee Related US9055234B2 (en) | 1998-04-02 | 2014-10-02 | Navigable telepresence method and system |
US15/220,146 Abandoned US20160337615A1 (en) | 1998-04-02 | 2016-07-26 | Navigable telepresence method and system utilizing an array of cameras |
Country Status (1)
Country | Link |
---|---|
US (7) | US6522325B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130188068A1 (en) * | 2010-10-06 | 2013-07-25 | Hewlett-Packard Development Company, L.P. | Systems and methods for acquiring and processing image data produced by camera arrays |
US9536351B1 (en) * | 2014-02-03 | 2017-01-03 | Bentley Systems, Incorporated | Third person view augmented reality |
US10701318B2 (en) | 2015-08-14 | 2020-06-30 | Pcms Holdings, Inc. | System and method for augmented reality multi-view telepresence |
US10841537B2 (en) | 2017-06-09 | 2020-11-17 | Pcms Holdings, Inc. | Spatially faithful telepresence supporting varying geometries and moving users |
US11488364B2 (en) | 2016-04-01 | 2022-11-01 | Pcms Holdings, Inc. | Apparatus and method for supporting interactive augmented reality functionalities |
US11765175B2 (en) * | 2009-05-27 | 2023-09-19 | Samsung Electronics Co., Ltd. | System and method for facilitating user interaction with a simulated object associated with a physical location |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL138808A0 (en) * | 1998-04-02 | 2001-10-31 | Kewazinga Corp | A navigable telepresence method and system utilizing an array of cameras |
US6731305B1 (en) * | 2000-07-17 | 2004-05-04 | Imove, Inc. | Camera system which records camera identification in image file |
IL139995A (en) * | 2000-11-29 | 2007-07-24 | Rvc Llc | System and method for spherical stereoscopic photographing |
GB2380885A (en) * | 2001-10-11 | 2003-04-16 | Hewlett Packard Co | Multiple camera arrangement |
US7265663B2 (en) | 2001-11-28 | 2007-09-04 | Trivinci Systems, Llc | Multimedia racing experience system |
US20030105558A1 (en) * | 2001-11-28 | 2003-06-05 | Steele Robert C. | Multimedia racing experience system and corresponding experience based displays |
US7631261B2 (en) * | 2002-09-12 | 2009-12-08 | Inoue Technologies, LLC | Efficient method for creating a visual telepresence for large numbers of simultaneous users |
US7180529B2 (en) * | 2002-12-19 | 2007-02-20 | Eastman Kodak Company | Immersive image viewing system and method |
CN1922892B (en) * | 2003-12-26 | 2012-08-15 | 米科伊公司 | Multi-dimensional imaging apparatus, systems, and methods |
US7831532B2 (en) * | 2004-11-16 | 2010-11-09 | Microsoft Corporation | Precomputation and transmission of time-dependent information for varying or uncertain receipt times |
US20060146132A1 (en) * | 2005-01-05 | 2006-07-06 | Hy Mayerson | Video system having multiple video cameras for capturing events |
US7796152B2 (en) * | 2005-04-04 | 2010-09-14 | Micoy Corporation | Multi-dimensional imaging |
US8004558B2 (en) | 2005-04-07 | 2011-08-23 | Axis Engineering Technologies, Inc. | Stereoscopic wide field of view imaging system |
US7872665B2 (en) | 2005-05-13 | 2011-01-18 | Micoy Corporation | Image capture and processing |
US7656403B2 (en) * | 2005-05-13 | 2010-02-02 | Micoy Corporation | Image processing and display |
US7884848B2 (en) * | 2005-05-25 | 2011-02-08 | Ginther Mark E | Viewing environment and recording system |
US9182228B2 (en) * | 2006-02-13 | 2015-11-10 | Sony Corporation | Multi-lens array system and method |
US9166883B2 (en) | 2006-04-05 | 2015-10-20 | Joseph Robert Marchese | Network device detection, identification, and management |
US20100321475A1 (en) * | 2008-01-23 | 2010-12-23 | Phillip Cox | System and method to quickly acquire three-dimensional images |
US20090265105A1 (en) * | 2008-04-21 | 2009-10-22 | Igt | Real-time navigation devices, systems and methods |
US8730863B2 (en) * | 2008-09-09 | 2014-05-20 | The Charles Stark Draper Laboratory, Inc. | Network communication systems and methods |
US20120159996A1 (en) * | 2010-12-28 | 2012-06-28 | Gary Edwin Sutton | Curved sensor formed from silicon fibers |
SG166690A1 (en) * | 2009-05-13 | 2010-12-29 | Sony Corp | Camera for multiple perspective image capturing |
US9032288B2 (en) * | 2009-09-11 | 2015-05-12 | Xerox Corporation | Document presentation in virtual worlds |
JP5267396B2 (en) * | 2009-09-16 | 2013-08-21 | ソニー株式会社 | Image processing apparatus and method, and program |
WO2011064438A1 (en) * | 2009-11-30 | 2011-06-03 | Nokia Corporation | Audio zooming process within an audio scene |
US9030536B2 (en) | 2010-06-04 | 2015-05-12 | At&T Intellectual Property I, Lp | Apparatus and method for presenting media content |
US9787974B2 (en) | 2010-06-30 | 2017-10-10 | At&T Intellectual Property I, L.P. | Method and apparatus for delivering media content |
US8918831B2 (en) | 2010-07-06 | 2014-12-23 | At&T Intellectual Property I, Lp | Method and apparatus for managing a presentation of media content |
US9049426B2 (en) | 2010-07-07 | 2015-06-02 | At&T Intellectual Property I, Lp | Apparatus and method for distributing three dimensional media content |
US9032470B2 (en) | 2010-07-20 | 2015-05-12 | At&T Intellectual Property I, Lp | Apparatus for adapting a presentation of media content according to a position of a viewing apparatus |
US9232274B2 (en) | 2010-07-20 | 2016-01-05 | At&T Intellectual Property I, L.P. | Apparatus for adapting a presentation of media content to a requesting device |
US9560406B2 (en) | 2010-07-20 | 2017-01-31 | At&T Intellectual Property I, L.P. | Method and apparatus for adapting a presentation of media content |
US8994716B2 (en) | 2010-08-02 | 2015-03-31 | At&T Intellectual Property I, Lp | Apparatus and method for providing media content |
US8438502B2 (en) | 2010-08-25 | 2013-05-07 | At&T Intellectual Property I, L.P. | Apparatus for controlling three-dimensional images |
US8947511B2 (en) | 2010-10-01 | 2015-02-03 | At&T Intellectual Property I, L.P. | Apparatus and method for presenting three-dimensional media content |
DE202011110924U1 (en) * | 2010-11-24 | 2017-04-25 | Google Inc. | Guided navigation through geo-tagged panoramas |
US9030522B2 (en) | 2011-06-24 | 2015-05-12 | At&T Intellectual Property I, Lp | Apparatus and method for providing media content |
US9602766B2 (en) | 2011-06-24 | 2017-03-21 | At&T Intellectual Property I, L.P. | Apparatus and method for presenting three dimensional objects with telepresence |
US9445046B2 (en) | 2011-06-24 | 2016-09-13 | At&T Intellectual Property I, L.P. | Apparatus and method for presenting media content with telepresence |
US8947497B2 (en) | 2011-06-24 | 2015-02-03 | At&T Intellectual Property I, Lp | Apparatus and method for managing telepresence sessions |
US8587635B2 (en) | 2011-07-15 | 2013-11-19 | At&T Intellectual Property I, L.P. | Apparatus and method for providing media services with telepresence |
US8867886B2 (en) * | 2011-08-08 | 2014-10-21 | Roy Feinson | Surround video playback |
US9009596B2 (en) * | 2011-11-21 | 2015-04-14 | Verizon Patent And Licensing Inc. | Methods and systems for presenting media content generated by attendees of a live event |
EP2792157B1 (en) | 2011-12-12 | 2020-06-03 | Samsung Electronics Co., Ltd. | Method and apparatus for experiencing a multimedia service |
US9749594B2 (en) * | 2011-12-22 | 2017-08-29 | Pelco, Inc. | Transformation between image and map coordinates |
US9743069B2 (en) * | 2012-08-30 | 2017-08-22 | Lg Innotek Co., Ltd. | Camera module and apparatus for calibrating position thereof |
US10187610B2 (en) * | 2012-10-23 | 2019-01-22 | Sony Corporation | Controlling display based on an object position in an imaging space |
US9044863B2 (en) | 2013-02-06 | 2015-06-02 | Steelcase Inc. | Polarized enhanced confidentiality in mobile camera applications |
US20140218291A1 (en) * | 2013-02-07 | 2014-08-07 | Microsoft Corporation | Aligning virtual camera with real camera |
US9497380B1 (en) | 2013-02-15 | 2016-11-15 | Red.Com, Inc. | Dense field imaging |
US9232183B2 (en) | 2013-04-19 | 2016-01-05 | At&T Intellectual Property I, Lp | System and method for providing separate communication zones in a large format videoconference |
US9123172B2 (en) | 2013-05-20 | 2015-09-01 | Steven Sebring | Systems and methods for producing visual representations of objects |
US10019057B2 (en) * | 2013-06-07 | 2018-07-10 | Sony Interactive Entertainment Inc. | Switching mode of operation in a head mounted display |
US9113036B2 (en) * | 2013-07-17 | 2015-08-18 | Ebay Inc. | Methods, systems, and apparatus for providing video communications |
JP6187811B2 (en) * | 2013-09-09 | 2017-08-30 | ソニー株式会社 | Image processing apparatus, image processing method, and program |
US9544534B2 (en) * | 2013-09-24 | 2017-01-10 | Motorola Solutions, Inc. | Apparatus for and method of identifying video streams transmitted over a shared network link, and for identifying and time-offsetting intra-frames generated substantially simultaneously in such streams |
US20160335862A1 (en) * | 2014-01-17 | 2016-11-17 | Alexander Jaber | Tactical personal surveillance and monitoring system |
US9473745B2 (en) * | 2014-01-30 | 2016-10-18 | Google Inc. | System and method for providing live imagery associated with map locations |
US9330436B2 (en) | 2014-04-01 | 2016-05-03 | Gopro, Inc. | Multi-camera array with adjacent fields of view |
US9821465B2 (en) * | 2014-05-06 | 2017-11-21 | Kenneth Dean Stephens, Jr. | Enhanced environment simulator for proxy robot handlers |
JP6299492B2 (en) * | 2014-07-03 | 2018-03-28 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
US10178325B2 (en) | 2015-01-19 | 2019-01-08 | Oy Vulcan Vision Corporation | Method and system for managing video of camera setup having multiple cameras |
US10484662B2 (en) | 2015-02-27 | 2019-11-19 | Leia Inc. | Multiview camera, multiview imaging system, and method of multiview image capture |
US10012733B2 (en) | 2015-06-07 | 2018-07-03 | Geoffrey Louis Barrows | Localization method and apparatus |
US9848212B2 (en) * | 2015-07-10 | 2017-12-19 | Futurewei Technologies, Inc. | Multi-view video streaming with fast and smooth view switch |
WO2017075614A1 (en) | 2015-10-29 | 2017-05-04 | Oy Vulcan Vision Corporation | Video imaging an area of interest using networked cameras |
US20170126985A1 (en) * | 2015-10-30 | 2017-05-04 | Gopro, Inc. | Enumeration of Cameras in an Array |
USD812671S1 (en) | 2015-12-03 | 2018-03-13 | Durst Sebring Revolution, Llc | 3D imaging system |
USD798936S1 (en) | 2015-12-03 | 2017-10-03 | Durst Sebring Revolution, Llc | Photo booth |
USD781948S1 (en) | 2015-12-03 | 2017-03-21 | Durst Sebring Revolution, Llc | Photographic imaging system |
USD782559S1 (en) | 2015-12-03 | 2017-03-28 | Durst Sebring Revolution, Llc | Photo booth |
USD822746S1 (en) | 2016-02-05 | 2018-07-10 | Durst Sebring Revolution, Llc | Photo booth |
US10200659B2 (en) | 2016-02-29 | 2019-02-05 | Microsoft Technology Licensing, Llc | Collaborative camera viewpoint control for interactive telepresence |
CN107249096B (en) * | 2016-06-14 | 2021-02-26 | 杭州海康威视数字技术股份有限公司 | Panoramic camera and shooting method thereof |
US10416757B2 (en) | 2016-12-08 | 2019-09-17 | Raymond Maurice Smit | Telepresence system |
US10970915B2 (en) * | 2017-01-06 | 2021-04-06 | Canon Kabushiki Kaisha | Virtual viewpoint setting apparatus that sets a virtual viewpoint according to a determined common image capturing area of a plurality of image capturing apparatuses, and related setting method and storage medium |
US11221497B2 (en) | 2017-06-05 | 2022-01-11 | Steelcase Inc. | Multiple-polarization cloaking |
CN111183638B (en) | 2017-10-02 | 2022-06-17 | 镭亚股份有限公司 | Multi-view camera array, multi-view system and method having sub-arrays of cameras with shared cameras |
US10653957B2 (en) | 2017-12-06 | 2020-05-19 | Universal City Studios Llc | Interactive video game system |
US11106124B2 (en) | 2018-02-27 | 2021-08-31 | Steelcase Inc. | Multiple-polarization cloaking for projected and writing surface view screens |
WO2021008638A1 (en) * | 2019-07-18 | 2021-01-21 | Ecopetrol S.A. | Interactive system for displaying objects on screens in real time and operating method thereof |
EP3839699A1 (en) * | 2019-12-19 | 2021-06-23 | Koninklijke KPN N.V. | Augmented virtuality self view |
US20210203842A1 (en) * | 2019-12-27 | 2021-07-01 | Industrial Technology Research Institute | Panoramic video processing method, panoramic video processing device and panoramic video system |
US11643105B2 (en) | 2020-02-21 | 2023-05-09 | Argo AI, LLC | Systems and methods for generating simulation scenario definitions for an autonomous vehicle system |
US11429107B2 (en) | 2020-02-21 | 2022-08-30 | Argo AI, LLC | Play-forward planning and control system for an autonomous vehicle |
NO346392B1 (en) * | 2020-08-05 | 2022-07-04 | Muybridge As | Multiple camera sensor system and method of providing a target image by a virtual camera |
US11648959B2 (en) * | 2020-10-20 | 2023-05-16 | Argo AI, LLC | In-vehicle operation of simulation scenarios during autonomous vehicle runs |
US12019449B2 (en) | 2021-02-18 | 2024-06-25 | Argo AI, LLC | Rare event simulation in autonomous vehicle motion planning |
JP2022182119A (en) * | 2021-05-27 | 2022-12-08 | キヤノン株式会社 | Image processing apparatus, control method thereof, and program |
US20230067584A1 (en) * | 2021-08-27 | 2023-03-02 | Apple Inc. | Adaptive Quantization Matrix for Extended Reality Video Encoding |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4273440A (en) * | 1977-08-30 | 1981-06-16 | Horst Froessl | Method and apparatus for data collection and preparation |
US5130794A (en) * | 1990-03-29 | 1992-07-14 | Ritchey Kurtis J | Panoramic display system |
US5187571A (en) * | 1991-02-01 | 1993-02-16 | Bell Communications Research, Inc. | Television system for displaying multiple views of a remote location |
US5253168A (en) * | 1991-12-06 | 1993-10-12 | Berg Jacqueline L | System for creative expression based on biofeedback |
US5257349A (en) * | 1990-12-18 | 1993-10-26 | David Sarnoff Research Center, Inc. | Interactive data visualization with smart object |
US5259040A (en) * | 1991-10-04 | 1993-11-02 | David Sarnoff Research Center, Inc. | Method for determining sensor motion and scene structure and image processing system therefor |
US5465729A (en) * | 1992-03-13 | 1995-11-14 | Mindscope Incorporated | Method and apparatus for biofeedback |
US5495576A (en) * | 1993-01-11 | 1996-02-27 | Ritchey; Kurtis J. | Panoramic image based virtual reality/telepresence audio-visual system and method |
US5548348A (en) * | 1993-12-10 | 1996-08-20 | Japan Aviation Electronics Industry Limited | Distributed projection type liquid crystal display device |
US5598208A (en) * | 1994-09-26 | 1997-01-28 | Sony Corporation | Video viewing and recording system |
US5649032A (en) * | 1994-11-14 | 1997-07-15 | David Sarnoff Research Center, Inc. | System for automatically aligning images to form a mosaic image |
US5659323A (en) * | 1994-12-21 | 1997-08-19 | Digital Air, Inc. | System for producing time-independent virtual camera movement in motion pictures and other media |
US5686957A (en) * | 1994-07-27 | 1997-11-11 | International Business Machines Corporation | Teleconferencing imaging system with automatic camera steering |
US5703961A (en) * | 1994-12-29 | 1997-12-30 | Worldscape L.L.C. | Image transformation and synthesis methods |
US5708469A (en) * | 1996-05-03 | 1998-01-13 | International Business Machines Corporation | Multiple view telepresence camera system using a wire cage which surroundss a plurality of movable cameras and identifies fields of view |
US5729491A (en) * | 1996-11-12 | 1998-03-17 | Samsung Electronics Co., Ltd. | Nonvolatile integrated circuit memory devices having ground interconnect lattices with reduced lateral dimensions |
US5768447A (en) * | 1996-06-14 | 1998-06-16 | David Sarnoff Research Center, Inc. | Method for indexing image information using a reference model |
US5850352A (en) * | 1995-03-31 | 1998-12-15 | The Regents Of The University Of California | Immersive video, including video hypermosaicing to generate from multiple video views of a scene a three-dimensional video mosaic from which diverse virtual video scene images are synthesized, including panoramic, scene interactive and stereoscopic images |
US5909521A (en) * | 1996-02-14 | 1999-06-01 | Nec Corporation | Multi-shot still image reader |
US6075905A (en) * | 1996-07-17 | 2000-06-13 | Sarnoff Corporation | Method and apparatus for mosaic image construction |
US6084979A (en) * | 1996-06-20 | 2000-07-04 | Carnegie Mellon University | Method for creating virtual reality |
US6195122B1 (en) * | 1995-01-31 | 2001-02-27 | Robert Vincent | Spatial referenced photography |
US6222538B1 (en) * | 1998-02-27 | 2001-04-24 | Flashpoint Technology, Inc. | Directing image capture sequences in a digital imaging device using scripts |
US6304286B1 (en) * | 1995-06-09 | 2001-10-16 | Pioneer Electronic Corporation | Stereoscopic display apparatus for generating images in accordance with an observer's viewing position |
US6320173B1 (en) * | 1996-02-12 | 2001-11-20 | Curtis A. Vock | Ball tracking system and methods |
US6522787B1 (en) * | 1995-07-10 | 2003-02-18 | Sarnoff Corporation | Method and system for rendering and combining images to form a synthesized view of a scene containing image information from a second image |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4355328A (en) | 1981-02-23 | 1982-10-19 | The United States Of America As Represented By The Secretary Of The Navy | 360 Degree closed circuit television system |
US4463380A (en) | 1981-09-25 | 1984-07-31 | Vought Corporation | Image processing system |
US4847700A (en) | 1987-07-16 | 1989-07-11 | Actv, Inc. | Interactive television system for providing full motion synched compatible audio/visual displays from transmitted television signals |
US5023725A (en) | 1989-10-23 | 1991-06-11 | Mccutchen David | Method and apparatus for dodecahedral imaging system |
GB9001468D0 (en) | 1990-01-23 | 1990-03-21 | Sarnoff David Res Center | Computing multiple motions within an image region |
US5990941A (en) * | 1991-05-13 | 1999-11-23 | Interactive Pictures Corporation | Method and apparatus for the interactive display of any portion of a spherical image |
US5185808A (en) | 1991-06-06 | 1993-02-09 | Eastman Kodak Company | Method for merging images |
GB9119964D0 (en) | 1991-09-18 | 1991-10-30 | Sarnoff David Res Center | Pattern-key video insertion |
US5724091A (en) | 1991-11-25 | 1998-03-03 | Actv, Inc. | Compressed digital data interactive program system |
US5325449A (en) | 1992-05-15 | 1994-06-28 | David Sarnoff Research Center, Inc. | Method for fusing images and apparatus therefor |
EP0986252B1 (en) | 1993-06-04 | 2006-03-08 | Sarnoff Corporation | System and method for electronic image stabilization |
US5497188A (en) | 1993-07-06 | 1996-03-05 | Kaye; Perry | Method for virtualizing an environment |
GB2282505A (en) | 1993-09-23 | 1995-04-05 | Sharp Kk | Three dimensional imaging apparatus |
US5562572A (en) | 1995-03-10 | 1996-10-08 | Carmein; David E. E. | Omni-directional treadmill |
US5999641A (en) | 1993-11-18 | 1999-12-07 | The Duck Corporation | System for manipulating digitized image objects in three dimensions |
JPH07222202A (en) | 1994-02-02 | 1995-08-18 | Rohm Co Ltd | Stereoscopic vision camera |
US5537141A (en) | 1994-04-15 | 1996-07-16 | Actv, Inc. | Distance learning system providing individual television participation, audio responses and memory for every student |
US5559707A (en) | 1994-06-24 | 1996-09-24 | Delorme Publishing Company | Computer aided routing system |
US5802492A (en) | 1994-06-24 | 1998-09-01 | Delorme Publishing Company, Inc. | Computer aided routing and positioning system |
US5632007A (en) | 1994-09-23 | 1997-05-20 | Actv, Inc. | Interactive system and method for offering expert based interactive programs |
US5600368A (en) | 1994-11-09 | 1997-02-04 | Microsoft Corporation | Interactive television system and method for viewer control of multiple camera viewpoints in broadcast programming |
US5644694A (en) | 1994-12-14 | 1997-07-01 | Cyberflix Inc. | Apparatus and method for digital movie production |
US5581629A (en) | 1995-01-30 | 1996-12-03 | David Sarnoff Research Center, Inc | Method for estimating the location of an image target region from tracked multiple image landmark regions |
US5729471A (en) | 1995-03-31 | 1998-03-17 | The Regents Of The University Of California | Machine dynamic selection of one video camera/image of a scene from multiple video cameras/images of the scene in accordance with a particular perspective on the scene, an object in the scene, or an event in the scene |
US5745305A (en) | 1995-04-28 | 1998-04-28 | Lucent Technologies Inc. | Panoramic viewing apparatus |
GB2301216A (en) | 1995-05-25 | 1996-11-27 | Philips Electronics Uk Ltd | Display headset |
US5682196A (en) | 1995-06-22 | 1997-10-28 | Actv, Inc. | Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers |
US5963664A (en) | 1995-06-22 | 1999-10-05 | Sarnoff Corporation | Method and system for image combination using a parallax-based technique |
JPH0914984A (en) | 1995-06-28 | 1997-01-17 | Aisin Aw Co Ltd | Navigation device for vehicle |
US6282362B1 (en) | 1995-11-07 | 2001-08-28 | Trimble Navigation Limited | Geographical position/image digital recording and display system |
US5706416A (en) | 1995-11-13 | 1998-01-06 | Massachusetts Institute Of Technology | Method and apparatus for relating and combining multiple images of the same scene or object(s) |
US6208379B1 (en) | 1996-02-20 | 2001-03-27 | Canon Kabushiki Kaisha | Camera display control and monitoring system |
US6020931A (en) | 1996-04-25 | 2000-02-01 | George S. Sheng | Video composition and position system and media signal communication system |
US6151009A (en) | 1996-08-21 | 2000-11-21 | Carnegie Mellon University | Method and apparatus for merging real and synthetic images |
US6384820B2 (en) * | 1997-12-24 | 2002-05-07 | Intel Corporation | Method and apparatus for automated dynamics of three-dimensional graphics scenes for enhanced 3D visualization |
-
1999
- 1999-10-15 US US09/419,274 patent/US6522325B1/en not_active Expired - Lifetime
-
2002
- 2002-12-02 US US10/308,230 patent/US20030132951A1/en not_active Abandoned
-
2006
- 2006-02-21 US US11/359,233 patent/US7613999B2/en not_active Expired - Fee Related
-
2009
- 2009-10-30 US US12/610,188 patent/US20100115411A1/en not_active Abandoned
-
2013
- 2013-07-23 US US13/949,132 patent/US20140139610A1/en not_active Abandoned
-
2014
- 2014-10-02 US US14/505,208 patent/US9055234B2/en not_active Expired - Fee Related
-
2016
- 2016-07-26 US US15/220,146 patent/US20160337615A1/en not_active Abandoned
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4273440A (en) * | 1977-08-30 | 1981-06-16 | Horst Froessl | Method and apparatus for data collection and preparation |
US5130794A (en) * | 1990-03-29 | 1992-07-14 | Ritchey Kurtis J | Panoramic display system |
US5257349A (en) * | 1990-12-18 | 1993-10-26 | David Sarnoff Research Center, Inc. | Interactive data visualization with smart object |
US5187571A (en) * | 1991-02-01 | 1993-02-16 | Bell Communications Research, Inc. | Television system for displaying multiple views of a remote location |
US5259040A (en) * | 1991-10-04 | 1993-11-02 | David Sarnoff Research Center, Inc. | Method for determining sensor motion and scene structure and image processing system therefor |
US5253168A (en) * | 1991-12-06 | 1993-10-12 | Berg Jacqueline L | System for creative expression based on biofeedback |
US5465729A (en) * | 1992-03-13 | 1995-11-14 | Mindscope Incorporated | Method and apparatus for biofeedback |
US5495576A (en) * | 1993-01-11 | 1996-02-27 | Ritchey; Kurtis J. | Panoramic image based virtual reality/telepresence audio-visual system and method |
US5548348A (en) * | 1993-12-10 | 1996-08-20 | Japan Aviation Electronics Industry Limited | Distributed projection type liquid crystal display device |
US5686957A (en) * | 1994-07-27 | 1997-11-11 | International Business Machines Corporation | Teleconferencing imaging system with automatic camera steering |
US5598208A (en) * | 1994-09-26 | 1997-01-28 | Sony Corporation | Video viewing and recording system |
US5649032A (en) * | 1994-11-14 | 1997-07-15 | David Sarnoff Research Center, Inc. | System for automatically aligning images to form a mosaic image |
US5659323A (en) * | 1994-12-21 | 1997-08-19 | Digital Air, Inc. | System for producing time-independent virtual camera movement in motion pictures and other media |
US5703961A (en) * | 1994-12-29 | 1997-12-30 | Worldscape L.L.C. | Image transformation and synthesis methods |
US6195122B1 (en) * | 1995-01-31 | 2001-02-27 | Robert Vincent | Spatial referenced photography |
US5850352A (en) * | 1995-03-31 | 1998-12-15 | The Regents Of The University Of California | Immersive video, including video hypermosaicing to generate from multiple video views of a scene a three-dimensional video mosaic from which diverse virtual video scene images are synthesized, including panoramic, scene interactive and stereoscopic images |
US6304286B1 (en) * | 1995-06-09 | 2001-10-16 | Pioneer Electronic Corporation | Stereoscopic display apparatus for generating images in accordance with an observer's viewing position |
US6522787B1 (en) * | 1995-07-10 | 2003-02-18 | Sarnoff Corporation | Method and system for rendering and combining images to form a synthesized view of a scene containing image information from a second image |
US6320173B1 (en) * | 1996-02-12 | 2001-11-20 | Curtis A. Vock | Ball tracking system and methods |
US5909521A (en) * | 1996-02-14 | 1999-06-01 | Nec Corporation | Multi-shot still image reader |
US5708469A (en) * | 1996-05-03 | 1998-01-13 | International Business Machines Corporation | Multiple view telepresence camera system using a wire cage which surroundss a plurality of movable cameras and identifies fields of view |
US5768447A (en) * | 1996-06-14 | 1998-06-16 | David Sarnoff Research Center, Inc. | Method for indexing image information using a reference model |
US6084979A (en) * | 1996-06-20 | 2000-07-04 | Carnegie Mellon University | Method for creating virtual reality |
US6075905A (en) * | 1996-07-17 | 2000-06-13 | Sarnoff Corporation | Method and apparatus for mosaic image construction |
US5729491A (en) * | 1996-11-12 | 1998-03-17 | Samsung Electronics Co., Ltd. | Nonvolatile integrated circuit memory devices having ground interconnect lattices with reduced lateral dimensions |
US6222538B1 (en) * | 1998-02-27 | 2001-04-24 | Flashpoint Technology, Inc. | Directing image capture sequences in a digital imaging device using scripts |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11765175B2 (en) * | 2009-05-27 | 2023-09-19 | Samsung Electronics Co., Ltd. | System and method for facilitating user interaction with a simulated object associated with a physical location |
US20130188068A1 (en) * | 2010-10-06 | 2013-07-25 | Hewlett-Packard Development Company, L.P. | Systems and methods for acquiring and processing image data produced by camera arrays |
US9232123B2 (en) * | 2010-10-06 | 2016-01-05 | Hewlett-Packard Development Company, L.P. | Systems and methods for acquiring and processing image data produced by camera arrays |
US9536351B1 (en) * | 2014-02-03 | 2017-01-03 | Bentley Systems, Incorporated | Third person view augmented reality |
US10701318B2 (en) | 2015-08-14 | 2020-06-30 | Pcms Holdings, Inc. | System and method for augmented reality multi-view telepresence |
US11363240B2 (en) | 2015-08-14 | 2022-06-14 | Pcms Holdings, Inc. | System and method for augmented reality multi-view telepresence |
US11962940B2 (en) | 2015-08-14 | 2024-04-16 | Interdigital Vc Holdings, Inc. | System and method for augmented reality multi-view telepresence |
US11488364B2 (en) | 2016-04-01 | 2022-11-01 | Pcms Holdings, Inc. | Apparatus and method for supporting interactive augmented reality functionalities |
US10841537B2 (en) | 2017-06-09 | 2020-11-17 | Pcms Holdings, Inc. | Spatially faithful telepresence supporting varying geometries and moving users |
Also Published As
Publication number | Publication date |
---|---|
US9055234B2 (en) | 2015-06-09 |
US20150015660A1 (en) | 2015-01-15 |
US6522325B1 (en) | 2003-02-18 |
US20100115411A1 (en) | 2010-05-06 |
US7613999B2 (en) | 2009-11-03 |
US20030132951A1 (en) | 2003-07-17 |
US20160337615A1 (en) | 2016-11-17 |
US20060146123A1 (en) | 2006-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9055234B2 (en) | Navigable telepresence method and system | |
US6535226B1 (en) | Navigable telepresence method and system utilizing an array of cameras | |
US6741250B1 (en) | Method and system for generation of multiple viewpoints into a scene viewed by motionless cameras and for presentation of a view path | |
US20060114251A1 (en) | Methods for simulating movement of a computer user through a remote environment | |
AU2003297508A1 (en) | Distributed immersive entertainment system | |
WO2001028309A2 (en) | Method and system for comparing multiple images utilizing a navigable array of cameras | |
US11703942B2 (en) | System and method for interactive 360 video playback based on user location | |
JPH08279054A (en) | Video generation and display system | |
CN105324995A (en) | Method and system for generating multi-projection images | |
CN105324994A (en) | Method and system for generating multi-projection images | |
JP2019512177A (en) | Device and related method | |
JP5457668B2 (en) | Video display method and video system | |
EP0742987A1 (en) | Viewing imaged objects from selected points of view | |
JP2023032393A (en) | Image display device, image display method, and image display system | |
JPH08279058A (en) | Video generation and display system | |
JPH08279055A (en) | Video generation and display system | |
CN116962660A (en) | Image processing system, image processing method, and storage medium | |
Shahabi et al. | Media Immersion Environment (MIE) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: STROOCK & STROOCK & LAVAN LLP, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:KEWAZINGA CORP.;K LICENSING LLC;REEL/FRAME:037543/0583 Effective date: 20160115 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |