US20180205936A1 - Stereoscopic 3d camera for virtual reality experience - Google Patents
Stereoscopic 3d camera for virtual reality experience Download PDFInfo
- Publication number
- US20180205936A1 US20180205936A1 US15/920,160 US201815920160A US2018205936A1 US 20180205936 A1 US20180205936 A1 US 20180205936A1 US 201815920160 A US201815920160 A US 201815920160A US 2018205936 A1 US2018205936 A1 US 2018205936A1
- Authority
- US
- United States
- Prior art keywords
- stereoscopic
- image
- calibration
- images
- captured
- 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
-
- H04N13/0246—
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- H04N13/0014—
-
- H04N13/0055—
-
- H04N13/0066—
-
- H04N13/0239—
-
- H04N13/0296—
-
- 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/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- 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/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
- H04N13/178—Metadata, e.g. disparity information
-
- 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/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/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/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- 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/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H04N5/23238—
-
- H04N5/23267—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
- H04N5/772—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
- H04N9/8227—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/87—Regeneration of colour television signals
- H04N9/8715—Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal
Definitions
- Virtual reality is a computer technology that simulates an environment.
- Virtual reality can replicates different sensory experience, e.g., sight, touch, hearing or smell in a way that allows a user to interact with the simulated environment.
- some virtual reality technologies focus on visual experience.
- the visual experience is displayed on a computer screen or with a virtual reality headset (also referred to as head mounted display or HMD).
- the virtual reality technology simulates the immersive environment in a way close to the real world experience in order to replicate a lifelike experience.
- FIG. 1 is a block diagram showing components of a stereoscopic 3D video camera that can record stereoscopic videos and embed stereoscopic calibration metadata.
- FIG. 2 is a block diagram showing various components of a sample stereoscopic device.
- FIG. 3 shows a sample set of calibration metadata including various types of information for a sample stereoscopic device.
- FIG. 4 shows a sample process of playing back a stereoscopic video using embedded calibration metadata.
- FIG. 5 shows multiple stereoscopic devices for capturing 3D videos from different directions simultaneously.
- FIG. 6 is a high-level block diagram illustrating an example of a hardware architecture of a computing device that performs disclosed functionalities, in various embodiments.
- FIG. 1 is a block diagram showing components of a stereoscopic 3D video camera device that can record three-dimensional (3D) stereoscopic videos and embed 3D stereoscopic calibration metadata.
- the stereoscopic 3D video camera device also referred to as stereoscopic device
- FOV wide field of view
- the disclosed 3D VR technology provides a virtual reality (VR) experience by immersing a user in a simulated environment using the captured 3D images or videos.
- the playback device for simulating the immersive 3D VR environment can be either the stereoscopic 3D video camera itself, or a separate display device or HMD.
- the stereoscopic device includes two wide-angle lenses (e.g., fish-eye lenses) to capture 3d images and videos with a wide field of view.
- the field of view can be, e.g., 180 degrees.
- the two wide-angle lenses can be spaced apart at a distance similar to a typical distance between the human eyes.
- the stereoscopic device can further include two digital image sensors that capture images based on light transmitted through the two wide-angle lenses. Each image sensor is mounted behind one of the wide-angle lenses.
- the digital image sensors can be, e.g., charge-coupled devices (CCDs) or complementary metal-oxide-semiconductor (CMOS) devices that convert the light signals into digital data.
- CCDs charge-coupled devices
- CMOS complementary metal-oxide-semiconductor
- the wide-angle lenses and the digital image sensors can simultaneously capture images or video streams from two different perspectives, each with a wide field of view (e.g., 180 degrees).
- the stereoscopic 3D video camera device 100 includes two or more image sensors 112 and 114 fitted with one lens ( 122 and 124 ) per sensor.
- the lens 122 and image sensor 112 can capture images or videos for a left eye channel; while the lens 124 and image sensor 114 can capture images or videos for a right eye channel.
- the images or videos for the left eye channel will be played back to be perceived by a left eye of a user; while the images or videos for the right eye channel will be played back to be perceived by a right eye of a user. Because of the left and right channels are captured from two different perspectives, the user is able to experience the 3D effect using his eyes.
- Each of the image sensors 112 , 114 and lenses 122 , 124 have associated parameters, such as the sensor size and resolution, the lens focal lengths, and lens distortion parameters.
- the parameters of each image sensor and lens may be unique for each image sensor or lens, and are often determined through a stereoscopic camera calibration process.
- the image sensors e.g., 112 , 114
- the stereoscopic camera combines the frames from the individual image sensors into a composite video file.
- the composite video file includes two channels of video streams, for left and right eyes respectively.
- the video frames may be processed prior to being encoded into the video file, with additional image processing parameters describing the processing.
- the device 100 may have additional sensors, such as a gyroscope 130 , accelerometer 140 , or GPS device 150 to record information related to the movement or position of the stereoscopic device 100 .
- the electrical components of the device 100 are interconnected by a bus 190 .
- the stereoscopic device can further include a storage device for storing the digital data of the captured images and videos (also referred to image data and video data).
- the storage device can be, e.g., a flash memory, a solid-state drive (SSD) or a magnetic storage device.
- the stereoscopic device can include one or more data interfaces for communicating with external devices.
- the stereoscopic device can include a USB interface that is capable of connecting to an external device (e.g., a laptop, an external hard drive, a tablet, a smart phone) for transmitting the video data or video data to the external device.
- an external device e.g., a laptop, an external hard drive, a tablet, a smart phone
- the stereoscopic device itself can further function as a virtual reality headset.
- the device includes a display screen (e.g., display screen 160 ) for playing back the captured 3D images or 3D videos.
- the device can utilize a motion sensor (e.g., accelerometer 140 , or an inertial measurement unit, as referred to as IMU) for determining head position and orientation of a user who wears the stereoscopic device as a virtual reality headset.
- the shape of the stereoscopic device is designed to be fit into a mounting device to form a head mount device.
- the mounting device is for attaching the stereoscopic device on the head of the user such that the user's eyes are in front of the left and right portions of the display screen respectively.
- the device simultaneously records two videos from two different perspectives using the two digital image sensors. Because of the wide-angle lenses 112 and 124 , the videos are captured with a wide field of views (FOVs), e.g., 180 degrees. Such a field of view is wider than the field of view of human eyes. For example, humans' binocular visions typically have a field of view of 114 degrees (horizontally).
- FOVs wide field of views
- humans' binocular visions typically have a field of view of 114 degrees (horizontally).
- the stereoscopic device determines the head position and orientation and only plays back a cropped portion of the captured 3D images or videos. The sizes and locations of the cropping windows depend on the detected head position and orientation, as well as the human field of view.
- the device plays back the cropped 3D images or videos with a narrower field of view on the left and right portions of the display screen.
- the left eye of the user is in front of the left portion of the display screen, and views the left channel of the cropped 3D images or videos.
- the right eye of the user is in front of the right portion of the display, and views the right channel of the cropped 3D images or videos. Because the left and right channels of the 3D images or videos were captured at two different perspectives, the user experiences a stereoscopic 3D effect.
- the motion sensor detects the movement. Based on the new head position or orientation, the device determines new positions (or new sizes as well) of the cropping windows and generates in real time the cropped 3D images or videos. Therefore, the field of view experienced by the user eyes changes correspondingly as the user moves the head. Thus, the user is immersed in a virtual reality created based on the 3D images or videos.
- the user can move the head to look freely in different directions at different parts of the 3D image or 3D video within the wide field of view (e.g. 180 degrees, or even 360 degrees). Because the field of view of the captured 3D image or 3D video (prior to cropping) is larger than the field of view of the human vision, the user experiences a sense of presence in a virtual environment created based on the captured 3D image or 3D video. In other words, the 3D image or video provides the user a realistic illusion of being immersed into the image or video.
- the stereoscopic device does not need to combine the left and right channels of the 3D image or 3D video into a single channel, since the two channels are shown separately to the left and right eyes of the user.
- the left and right channels of the 3D image or 3D video can be combined together to form a single feed of image or video such that there is no visible seam between the left and right portions of the display screen when the device plays back the 3D image or 3D video.
- multiple stereoscopic devices can be used together to capture the 3D image or 3D video in a super wide field of view (e.g., 360 degrees).
- a super wide field of view e.g., 360 degrees
- three stereoscopic devices can be mounted on a 360 rig mount such the three stereoscopic devices are facing three different directions.
- the 3D images or 3D videos captured by the stereoscopic devices can be stitched together to create a 360-degree virtual reality experience.
- the device in real time plays back a cropped portion of the 360-degree stitched 3D videos based on the head orientation and human vision field of view. Therefore, the user can experience a sense of presence in a 360-degree virtual environment based on the 360-degree 3D image or 3D video captured simultaneously by the three stereoscopic devices.
- FIG. 2 is a block diagram showing various components of a sample stereoscopic device.
- the stereoscopic device 200 includes a video processor 210 for processing various data collected by different components.
- the video processor 210 receives captured image data from image sensors 212 and 214 .
- a power management integrated circuit (PMIC) 220 is responsible for controlling a battery charging circuit 222 to charge a battery 224 .
- the battery 224 supplied electrical energy for running the stereoscopic device 200 .
- the video processor 210 can be connected to an external device via a USB controller 226 .
- the battery charging circuit 222 receives external electrical energy via the USB controller 226 for charging the battery 224 .
- the stereoscopic device 200 includes a volatile memory 230 (e.g. double data rate memory or 4R memory) and a non-volatile memory 232 (e.g., embedded MMC or eMMC, solid-state drive or SSD, etc.).
- the video processor 210 can also control an audio codec circuit 240 , which collects audio signals from microphone 242 and microphone 244 for stereo sound recording.
- the stereoscopic device 200 can include additional components to communicate with external devices.
- the video processor 210 can be connected to a video interface 250 (e.g., high-definition multimedia interface or HDMI) for sending video signals to an external device.
- the device 200 can further include an interface 254 conforming to Joint Test Action Group (JTAG) standard and Universal Asynchronous Receiver/Transmitter (UART) standard.
- JTAG Joint Test Action Group
- UART Universal Asynchronous Receiver/Transmitter
- the stereoscopic device 200 can include a memory card connector 252 to accommodate a memory card for providing additional storage space.
- the device 200 can further include a slide switch 260 and a push button 262 for operating the device 200 .
- a user may turn on or off the device 200 by pressing the push button 262 .
- the user may switch between different modes (e.g., image capturing, video capturing, 3D capturing) using the slide switch 260 .
- the device 200 can include an inertial measurement unit (IMU) 270 for detecting orientation and/or motion of the device 200 .
- the video processor 210 can further control a light control circuit 280 for controlling the status lights 282 .
- the status lights 282 can include, e.g., multiple light-emitting diodes (LEDs) in different colors for showing various status of the device 200 .
- the stereoscopic 3D camera device records stereoscopic image frames from two different camera modules, each of which includes a fisheye lens and an image sensor.
- the stereoscopic camera device can store calibration metadata related to the lenses and images sensors of the camera device for correcting distortion caused by manufacturing variances of the lenses and the image sensors.
- FIG. 3 shows a sample set of calibration metadata including various types of information for a sample stereoscopic device.
- two types of calibration metadata 300 are determined for each stereoscopic 3D camera device, in order to properly render the final 3D images or videos perceived by the users.
- each camera module is calibrated to determine its camera intrinsic calibration metadata 310 .
- stereoscopic calibration metadata 320 which relates to the relevant relationship between two camera modules, is also determined.
- the camera intrinsic calibration metadata 310 for a camera module (which includes a fisheye lens and an image sensor) can include parameters f x , f y , c x , c y , and k 1 , k 2 , . . . , k n .
- Each of the camera modules has its own unique set of camera intrinsic calibration metadata.
- the f x and f y parameters 312 describe the focal lengths of the fisheye lens in the x and y directions that are perpendicular to each other.
- the focal lengths are the distances over which initially collimated light rays are brought to a focus, and measures of how strongly the fisheye lens converges or diverges lights.
- a fisheye lens with a shorter focal length can bend the light rays more sharply. Since the fisheye lens may not be perfectly circular, the fisheye lens may distort or bend the light in slightly different ways in the x direction versus the y direction.
- the focal length at the x direction f x can be different from the focal length at the y direction f y .
- the c x and c y parameters 314 describe the distortion center of the fisheye projection in the image frame captured by the fisheye lens. Since the fisheye lens may not have a prefect circular symmetry, the distortion center denoted by c x and c y may not at the geometric center of the image frame.
- the k 1 , k 2 , . . . , k n parameters 316 are distortion coefficients that describe the levels of fisheye distortion, as a function of the radius from the center of the captured image frame to the edge of the frame.
- n can be, e.g., between 1 and 4, depending on how precise the calibration needs to be and the characteristics of the particular fisheye lens.
- the k 1 , k 2 , . . . , k n parameters essentially describe how much fisheye distortion an image pixel has as a location of the pixel moves from the center of the image to the edge of the image.
- the k 1 , k 2 , . . . , k n parameters are defined radially and do not depend on the circular angle of the pixel location.
- each camera module has its own set of camera intrinsic calibration metadata.
- the distance between the left wide-angle lens and the left image sensor may be slightly shorter than the distance between the right wide-angle lens and the right image sensor.
- the left wide-angle lens may have an optical distortion profile and/or focal length that are different from the optical distortion profile and/or focal length of the right wide-angle lens.
- the camera device is also calibrated to determine stereoscopic calibration metadata 320 for the pair of the two camera modules.
- the set of stereoscopic calibration metadata 320 describes how a distortion of one fisheye lens is related to a distortion of another fisheye lens.
- the set of stereoscopic calibration metadata 320 includes a mapping of distorted coordinates between the two fisheye lenses.
- the two fisheye lenses of the camera are perfectly aligned next to each other.
- any of the two fisheye lenses may be slightly off-center from the perfectly aligned location or its direction may be slightly off the perfectly aligned orientation.
- the set of stereoscopic calibration metadata can be used to correct the captured images offset the distortion caused by imperfect alignment between those two fisheye lenses.
- the images are corrected as if they were taken by two fisheye lenses with perfect alignment.
- the correction of images improves the 3D effect since human eyes are very sensitive to the distortion differences between left and right channels.
- the set of stereoscopic calibration metadata 320 includes a rotation matrix 322 and a projection matrix 324 .
- the rotation matrix 322 describes a rotational correction to align an image captured by one fisheye lens to another image captured by another fisheye lens so that the image planes of the left and right channels are on the same plane.
- the projection matrix 324 describes a projection operation to ensure that the image frames of the left and right channels are vertically aligned with each other.
- the set of stereoscopic calibration metadata 320 can include compensation metadata that relates to image sensors.
- the image sensor of the left channel may have slightly different color balance than the image sensor of the right channel.
- the camera can store color-mapping metadata as port of the set of stereoscopic calibration metadata to equalize the color balance of the image sensors.
- the stereoscopic device In order to enhance the stereoscopic 3D effect, it is desirable to eliminate the optical distortion difference between the left and right channels of the 3D video due to the manufacturing variances.
- the device including the wide-angle lens and the image sensors, can be tested through a calibration process to detect the distortion differences between the left and right channels, represented by the sets of camera intrinsic calibration metadata and the stereoscopic calibration metadata.
- the stereoscopic device can capture 3D stereoscopic images and/or videos of several pre-determined test subjects (also referred to as calibration targets), and generate calibration metadata based on the images or videos of the test subjects.
- the calibration metadata are stored within the 3D stereoscopic images or videos in real time. Using those calibration metadata, the captured 3D stereoscopic images or videos can be played back with a compensation based on the calibration metadata.
- the calibration metadata are also referred to as a calibration vector. Each element of the calibration vector stores one entry or type of the calibration metadata.
- the 3D calibration metadata for a particular stereoscopic device does not change after the device is manufactured and calibrated.
- the stereoscopic device may need re-calibration in some situations. For example, if the stereoscopic device is dropped to the ground. The distance between a lens and the image sensor behind the lens may be slightly changed. The stereoscopic device can perform a re-calibration process to re-capture the new 3D calibration metadata.
- the stereoscopic device can re-calibrate itself when the device is capturing a 3D video.
- the stereoscopic device can establish new 3D calibration parameters. For example, a certain object in the video with sharply contrasted portions may act like a contrast-level calibration reference object for the stereoscopic device to conduct the automatic re-calibration.
- an object in the video may be known as have a rectangular shape, but appears to be curved due to the distortion.
- the stereoscopic device then can re-calibrate the distortion metadata by detecting the level of distortion on the curved image of the object.
- the re-calibrated 3D calibration metadata may be transmitted to the playback device in a real time, when the playback device replays the 3D video as the stereoscopic device captures the 3D video.
- the 3D calibration metadata can be embedded into the 3D videos as metadata.
- the stereoscopic device captures the 3D video into a recorded 3D video file and embeds the 3D calibration metadata into the 3D video file as metadata.
- These metadata can include, e.g., camera intrinsic parameters, parameters of each of the left and right wide-angle lenses, parameters of each of the left and right image sensors, information about the inertial measurement unit (IMU), information about the accelerator, information about the gyroscopic device, information of the device location, etc.
- IMU inertial measurement unit
- the 3D calibration metadata can be saved in the metadata header of the 3D video file.
- the 3D calibration metadata can be saved in a subtitle channel or a closed caption channel in the video file.
- the 3D calibration metadata can be saved in a foreign language subtitle channel that does not correspond to any real-world language.
- the 3D calibration metadata can be visually encoded into one or more frames of the 3D video file via, e.g., a video steganography process.
- a graphic processing unit GPU
- the 3D calibration metadata are stored in each frame of the 3D stereoscopic video. Any video playback software or video editing software can extract the 3D calibration metadata since the metadata embedded using steganography does not depends on the video format and always stays with the video frames.
- Some of those parameters may be fixed for the duration of the video, such as image sensor and calibration parameters; while some parameters may change during the recording process, such as accelerometer, gyroscope, and GPS sensor readings.
- a player can read and process a video file that has been generated using the captured video of different stereoscopic cameras.
- two users with different stereoscopic cameras may record scenes with their own devices, and then concatenate their respective videos into a single video file.
- the stereoscopic video player will need to be able to associate different portions of the composite video file with different camera parameters, including different lens distortion parameters and image sensor parameters.
- a system or method that can embed the camera and sensor parameters into the video file captured by a stereoscopic 3D camera. Parameters will be either set once per the entirety of the file, or changed for each frame of the video. Additionally, there is a need for a system or method that can process such a stereoscopic 3D video file and decode the parameters, either fixed for the entirety of the file, or on a per frame basis. Such a system or method could then utilize the parameters during the playback of the video file.
- a playback device e.g., a stereoscopic device disclosed herein or another device such as a computer, a smart phone, a VR headset or an HMD
- the metadata can be, e.g., extracted from the metadata header of the video file, or decoded from one or more frames of the video though a video steganography technique, when the video is being processed by a stereoscopic video player running on the playback device.
- a stereoscopic video playback device can run a playback process to render a stereoscopic 3D video, such as a virtual reality (“VR”) headset or a mobile phone fitted with a stereoscopic display adapter.
- a stereoscopic 3D video such as a virtual reality (“VR”) headset or a mobile phone fitted with a stereoscopic display adapter.
- the functionalities and components of the stereoscopic video player can be included in the stereoscopic 3D video camera 100 as well.
- the camera 100 can include a display screen 160 for playing back the 3D videos, as shown in FIG. 1 .
- Each of the stereoscopic frames is processed by the player, which may additionally require the parameters associated with the camera that captured the frames. For example, the player may require knowing details about the camera's image sensors and calibration metadata to properly render the stereoscopic frames. If the video frames were processed by the camera prior to being encoded into the video file, the play may also need to know the parameters of the image processing algorithms that processed the frames.
- FIG. 4 shows a sample process of playing back a stereoscopic video using embedded calibration metadata.
- the playback process retrieves the camera intrinsic calibration metadata of each camera module, the rectification matrices of the capturing device (as stereoscopic calibration metadata), and the raw fisheye image frames captured by each sensor.
- the playback process may retrieve some parameters about the headset, such as its current orientation (e.g., represented by an orientation matrix), its field of view, and the offset between the two eye locations of the headset.
- Rendering the frame is generally done pixel-by-pixel for each display pixel on the VR headset.
- the playback process identifies one or more corresponding pixels from the captured image frames (also referred to as image pixels or frame pixels).
- the playback process repeats the pixel-by-pixel rendering for both left and right channels.
- the playback process can use the headset's current orientation to determine the latitude and longitude of that pixel relative to center of the VR headset (also referred to as a head center location of the VR headset).
- the orientation can be described using, e.g., an orientation matrix or any equivalent description about the direction.
- the playback process can use a pinhole camera model to intersect the pixel with the image plane, to get the pinhole camera model projected coordinates.
- the playback process can then use the position coordinates of that pixel to map it into the coordinates of the raw fisheye image.
- the pixels of the left VR display will be mapped to the left camera module's image (left channel), and the pixels of the right VR display to the right module's captured image (right channel).
- the playback process can determine (x, y) coordinates by using the VR headset orientation and parameters to get a point (X, Y, Z) in the world coordinate system that would map to that pixel in the headset display.
- the playback process can then apply the rectification matrices to this point, to map the image into a rectified form.
- the stereoscopic camera rectification is described by two rectification matrices: a rotation matrix (R) and a projection transform matrix (P).
- R rotation matrix
- P projection transform matrix
- the rectified left and right channel frames are in the forms as though the frames were captured from the same image plane.
- the rotation matrix R is responsible for mapping the image planes of the left and right frames to be on the same plane.
- the projection matrix P is used to ensure that the left and right images are vertically aligned, and satisfy an epipolar geometry.
- the left and right frames can be assigned their own rotation and projection matrices, R1, P1, and R2, P2, respectively, such that when applied the frames will be rectified to a common image plane that is halfway between the left and right planes. Coordinates from the unrectified left frame, for example, can be mapped to the rectified plane by pre-multiplying the coordinate by R*P. Similarly, the inverse of R*P can be used to map points from the rectified frame to an unrectified frame.
- the rectification process may be defined by a rotation matrix and a translation matrix. These matrices describe how to rotate and then translate one image frame to line it up with the other's plane. Algorithms, such as Bouguet's algorithm, can be used to convert the rotation and translation matrices into a rotation and projection matrix. Bouguet's algorithm, for example, is used to compute R and P while minimizing reprojection distortions, while maximizing the common viewing area between the left and right frames.
- the playback process can then intersect the point with the image plane, to get the point (a, b) in normalized units.
- the playback process then can convert those coordinates into pixel coordinates of the original fisheye images.
- the final pixel coordinates are vector [u; v], where:
- the playback process can draw corresponding image data from certain position on the raw fisheye frame.
- the [u, v]coordinates need not be integers.
- the playback process can use interpolation in the source fisheye image if the [u,v] coordinates are not integers. With those coordinates, the playback process pulls the [u, v] pixel from the fisheye image, and displays that pixel value on the VR headset at the original pixel point that is being rendered.
- the playback process repeats this procedure for all pixels in the VR headset, on both the left and right displays.
- the playback process can update the pixels at the refresh rate of the headset.
- the playback process can be performed efficiently by a graphics processing unit (GPU), though it could also be done on a central processing unit (CPU).
- GPU graphics processing unit
- CPU central processing unit
- multiple stereoscopic devices can be combined together to capture the 3D image or 3D video in a super wide field of view (e.g., 360 degrees) simultaneously.
- Each stereoscopic device can capture the 3D image or 3D video at a wide field of view (e.g., 180 degrees) for both left and right channels.
- Those simultaneously captured 3D videos can be combined together to create a virtual reality experience in 360 degrees.
- the combining process is also referred to as stitching.
- the left eye images captured by different devices can be stitched together, and the right eye images can be stitched together.
- the two stitched images can be used to regenerate the stereoscopic effect in 360 degrees.
- Each set of the 3D calibration metadata corresponds to a channel of a 3D video captured by a pair of a wide-angle lens and an image sensor within a stereoscopic device.
- FIG. 5 shows multiple stereoscopic devices for capturing 3D videos from different directions simultaneously.
- Each of the stereoscopic devices 510 , 520 , 530 has a field of view of, e.g., 180 degrees.
- a virtual reality of 360 degrees can be recreated.
- three stereoscopic devices 510 , 520 , 530 can be mounted on a 360 rig mount 540 such the three stereoscopic devices 510 , 520 , 530 are facing three different directions.
- the 3D images or 3D videos captured by the lenses 512 , 514 , 522 , 524 , 532 , 534 of the stereoscopic devices 510 , 520 , 530 can be stitched together to create a 360-degree virtual reality experience. For example, when a user moves the head at any orientation with the 360 degrees, the device in real time plays back a cropped portion of the 360-degree stitched 3D videos based on the head orientation and human vision field of view. Therefore, the user can experience a sense of presence in a 360-degree virtual environment based on the 360-degree 3D image or 3D video captured simultaneously by the three stereoscopic devices.
- the playback device might use multiple channels from one or more stereoscopic device to general in real time the left and right playback videos.
- the playback device switches in real time between different sets of 3D calibration metadata, depending on the channels it currently uses for generating the playback videos.
- the calibration using the 3D calibration metadata is performed on a frame-by-frame basis. Therefore, the 3D calibration metadata needs to be extracted in a real time in order to switch between the sets of 3D calibration metadata in real time.
- the playback device determines that at the first time point, only the left and right channels of the 3D video captured by the device 510 is need in order to achieve the binocular stereoscopic effect and play back the current 3D VR videos for the eyes of the user. In other words, the device needs the 3D calibration metadata that relate to the device 510 , including the lenses 512 and 514 .
- the playback device determines that at the second time point, the device needs the right channel of the 3D video captured by the device 510 and the left channel of the 3D video captured by the device 530 , in order to play back the current 3D VR videos for both eyes of user.
- the playback device leverages different reference points (with different perspectives) from lenses from different stereoscopic devices to achieve the binocular stereoscopic effect.
- the device needs the 3D calibration metadata that relate to the device 510 (including the lens 514 ), as well as the 3D calibration metadata that relate to the device 530 (including the lens 532 ). Therefore, the playback device needs to switch between different sets of 3D calibration metadata in real time, depending on the 3D video channels on which the device currently relies for playing back the 3D VR video for the user.
- the 3D effect at the point 555 might be less than the 3D effect at the point 50 , because of the different perspectives of lenses and the fields of view.
- generally human eyes do not notice the diminishing 3D effect. This is because human eyes themselves have less 3D perception for the peripheral visions. Therefore, humans are used to the facts that areas of peripheral visions generally have less stereoscopic 3D effects.
- FIG. 5 shows three devices
- the technology can be applied to an arbitrary number of stereoscopic devices.
- two stereoscopic devices with 180 degrees can be used to recreate a 360-degree virtual reality experience, using the technology disclosed herein.
- FIG. 5 shows multiple devices for recording a combined 3D video for a field of view of 360 degrees
- the 3D effect of a field of view of 360 degrees can be achieved by a panoramic scan using a stereoscopic device.
- a user can use the stereoscopic device to capture a continuous sequence of stereoscopic 3D images by a panoramic scanning motion.
- a playback device can recreate a 3D image with a field of view of 360 degrees.
- the 360 stitching process needs to process the calibration metadata of different camera modules and cameras.
- Each camera module has its unique set of camera intrinsic calibration metadata.
- each stereoscopic pair of lenses from a capturing device has its own stereoscopic calibration metadata.
- the 360 stitching process uses those metadata to avoid distortions that are caused by the hardware variances of the lenses and capturing devices.
- the 360 stitching process can first re-project each 180-degree stereo pair into a particular form, such as an equirectangular projection format.
- An equirectangular projection maps a sphere onto a rectangular image, such that the y coordinate is the latitude, and the x coordinate is the longitude, multiplied by a constant.
- a 180-degree FOV image will only cover a portion of the recording sphere (half of it).
- the image is converted to an equirectangular format
- the equirectangular form of the 180-degree FOV image fills a portion of the recording sphere.
- the procedure described in the previous VR playback section can be used for reprojection.
- the process can determine the latitude and longitude coordinates of the pixel based on the (x, y) coordinates of the image.
- the process can then apply the stereoscopic calibration and then camera intrinsic calibration, to map the point of the pixel onto the source fisheye image.
- the process can reproject the original fisheye image into a different format, such as an equirectangular projection.
- This process applies the calibration metadata, and converts the images into a standard projection.
- the calibration information is no longer needed for stitching.
- the 360 stitching can then be done on those standard projected images. Even though each original camera module had its own unique calibration settings, by reprojecting using the calibration metadata and then stitching, the images can now be stitched together without further calibration.
- FIG. 6 is a high-level block diagram illustrating an example of a hardware architecture of a computing device 600 that performs the above process, in various embodiments.
- the computing device 600 executes some or all of the processor executable process steps that are described below in detail.
- the computing device 600 includes a processor subsystem that includes one or more processors 602 .
- Processor 602 may be or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such hardware based devices.
- DSPs digital signal processors
- ASICs application specific integrated circuits
- PLDs programmable logic devices
- the computing device 600 can further include a memory 604 , a network adapter 610 , a cluster access adapter 612 and a storage adapter 614 , all interconnected by an interconnect 608 .
- Interconnect 608 may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), or an Institute of Electrical and Electronics Engineers (I9E) standard 1394 bus (sometimes referred to as “Firewire”) or any other data communication system.
- PCI Peripheral Component Interconnect
- ISA HyperTransport or industry standard architecture
- SCSI small computer system interface
- USB universal serial bus
- I9E Institute of Electrical and Electronics Engineers
- the cluster access adapter 612 includes one or more ports adapted to couple the computing device 600 to other devices.
- Ethernet can be used as the clustering protocol and interconnect media, although other types of protocols and interconnects may be utilized within the cluster architecture described herein.
- the computing device 600 can be embodied as a single- or multi-processor system executing an operating system 606 that can implement a high-level module, e.g., a manager, to logically organize the information as a hierarchical structure of named directories, files and special types of files called virtual disks at the storage devices.
- the computing device 600 can further include graphical processing unit(s) for graphical processing tasks or processing non-graphical tasks in parallel.
- the memory 604 can comprise storage locations that are addressable by the processor(s) 602 and adapters 610 , 612 , and 614 for storing processor executable code and data structures.
- the processor 602 and adapters 610 , 612 , and 614 may, in turn, comprise processing elements and/or logic circuitry configured to execute the software code and manipulate the data structures.
- the operating system 606 portions of which are typically resident in memory and executed by the processor(s) 602 , functionally organizes the computing device 600 by (among other things) configuring the processor(s) 602 to invoke. It will be apparent to those skilled in the art that other processing and memory implementations, including various computer readable storage media, may be used for storing and executing program instructions pertaining to the technology.
- the network adapter 610 can include multiple ports to couple the computing device 600 to one or more clients over point-to-point links, wide area networks, virtual private networks implemented over a public network (e.g., the Internet) or a shared local area network.
- the network adapter 610 thus can include the mechanical, electrical and signaling circuitry needed to connect the computing device 600 to the network.
- the network can be embodied as an Ethernet network or a Fibre Channel (FC) network.
- a client can communicate with the computing device over the network by exchanging discrete frames or packets of data according to pre-defined protocols, e.g., TCP/IP.
- the storage adapter 614 can cooperate with the operating system 606 to access information requested by a client.
- the information may be stored on any type of attached array of writable storage media, e.g., magnetic disk or tape, optical disk (e.g., CD-ROM or DVD), flash memory, solid-state disk (SSD), electronic random access memory (RAM), micro-electro mechanical and/or any other similar media adapted to store information, including data and parity information.
- the storage adapter 614 can include multiple ports having input/output (I/O) interface circuitry that couples to the disks over an I/O interconnect arrangement, e.g., a conventional high-performance, Fibre Channel (FC) link topology.
- the cluster adapter 612 and the storage adapter 614 can be implemented as one adapter configured to connect to a switching fabric, e.g., a storage network switch, in order to communicate with other devices and the mass storage devices.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Geometry (AREA)
Abstract
Description
- This application is a divisional application of U.S. patent application Ser. No. 15/179,056 entitled “STEREOSCOPIC 3D CAMERA FOR VIRTUAL REALITY EXPERIENCE,” and filed Jun. 10, 2016, which is incorporated by reference herein in their entirety.
- Virtual reality (VR) is a computer technology that simulates an environment. Virtual reality can replicates different sensory experience, e.g., sight, touch, hearing or smell in a way that allows a user to interact with the simulated environment. In particular, some virtual reality technologies focus on visual experience. The visual experience is displayed on a computer screen or with a virtual reality headset (also referred to as head mounted display or HMD). The virtual reality technology simulates the immersive environment in a way close to the real world experience in order to replicate a lifelike experience.
-
FIG. 1 is a block diagram showing components of a stereoscopic 3D video camera that can record stereoscopic videos and embed stereoscopic calibration metadata. -
FIG. 2 is a block diagram showing various components of a sample stereoscopic device. -
FIG. 3 shows a sample set of calibration metadata including various types of information for a sample stereoscopic device. -
FIG. 4 shows a sample process of playing back a stereoscopic video using embedded calibration metadata. -
FIG. 5 shows multiple stereoscopic devices for capturing 3D videos from different directions simultaneously. -
FIG. 6 is a high-level block diagram illustrating an example of a hardware architecture of a computing device that performs disclosed functionalities, in various embodiments. -
FIG. 1 is a block diagram showing components of a stereoscopic 3D video camera device that can record three-dimensional (3D) stereoscopic videos and embed 3D stereoscopic calibration metadata. The stereoscopic 3D video camera device (also referred to as stereoscopic device) captures 3D images and/or videos with a wide field of view (FOV). The disclosed 3D VR technology provides a virtual reality (VR) experience by immersing a user in a simulated environment using the captured 3D images or videos. The playback device for simulating the immersive 3D VR environment can be either the stereoscopic 3D video camera itself, or a separate display device or HMD. - In some embodiments, the stereoscopic device includes two wide-angle lenses (e.g., fish-eye lenses) to capture 3d images and videos with a wide field of view. For example, the field of view can be, e.g., 180 degrees. The two wide-angle lenses can be spaced apart at a distance similar to a typical distance between the human eyes.
- The stereoscopic device can further include two digital image sensors that capture images based on light transmitted through the two wide-angle lenses. Each image sensor is mounted behind one of the wide-angle lenses. The digital image sensors can be, e.g., charge-coupled devices (CCDs) or complementary metal-oxide-semiconductor (CMOS) devices that convert the light signals into digital data. The wide-angle lenses and the digital image sensors can simultaneously capture images or video streams from two different perspectives, each with a wide field of view (e.g., 180 degrees).
- As shown in
FIG. 1 , the stereoscopic 3Dvideo camera device 100 includes two ormore image sensors lens 122 andimage sensor 112 can capture images or videos for a left eye channel; while thelens 124 andimage sensor 114 can capture images or videos for a right eye channel. During a playback stage, the images or videos for the left eye channel will be played back to be perceived by a left eye of a user; while the images or videos for the right eye channel will be played back to be perceived by a right eye of a user. Because of the left and right channels are captured from two different perspectives, the user is able to experience the 3D effect using his eyes. - Each of the
image sensors lenses - During the video capturing process, the image sensors (e.g., 112, 114) record video frames, and the stereoscopic camera combines the frames from the individual image sensors into a composite video file. In some embodiments, the composite video file includes two channels of video streams, for left and right eyes respectively. The video frames may be processed prior to being encoded into the video file, with additional image processing parameters describing the processing.
- Additionally, the
device 100 may have additional sensors, such as agyroscope 130,accelerometer 140, orGPS device 150 to record information related to the movement or position of thestereoscopic device 100. The electrical components of thedevice 100 are interconnected by a bus 190. - The stereoscopic device can further include a storage device for storing the digital data of the captured images and videos (also referred to image data and video data). For example, the storage device can be, e.g., a flash memory, a solid-state drive (SSD) or a magnetic storage device.
- The stereoscopic device can include one or more data interfaces for communicating with external devices. For example, the stereoscopic device can include a USB interface that is capable of connecting to an external device (e.g., a laptop, an external hard drive, a tablet, a smart phone) for transmitting the video data or video data to the external device.
- In some embodiments, the stereoscopic device itself can further function as a virtual reality headset. The device includes a display screen (e.g., display screen 160) for playing back the captured 3D images or 3D videos. The device can utilize a motion sensor (e.g.,
accelerometer 140, or an inertial measurement unit, as referred to as IMU) for determining head position and orientation of a user who wears the stereoscopic device as a virtual reality headset. The shape of the stereoscopic device is designed to be fit into a mounting device to form a head mount device. The mounting device is for attaching the stereoscopic device on the head of the user such that the user's eyes are in front of the left and right portions of the display screen respectively. - The device simultaneously records two videos from two different perspectives using the two digital image sensors. Because of the wide-
angle lenses - The device plays back the cropped 3D images or videos with a narrower field of view on the left and right portions of the display screen. The left eye of the user is in front of the left portion of the display screen, and views the left channel of the cropped 3D images or videos. Similarly, the right eye of the user is in front of the right portion of the display, and views the right channel of the cropped 3D images or videos. Because the left and right channels of the 3D images or videos were captured at two different perspectives, the user experiences a stereoscopic 3D effect.
- When the user moves the head to a different position or orientation, the motion sensor detects the movement. Based on the new head position or orientation, the device determines new positions (or new sizes as well) of the cropping windows and generates in real time the cropped 3D images or videos. Therefore, the field of view experienced by the user eyes changes correspondingly as the user moves the head. Thus, the user is immersed in a virtual reality created based on the 3D images or videos.
- In this way, the user can move the head to look freely in different directions at different parts of the 3D image or 3D video within the wide field of view (e.g. 180 degrees, or even 360 degrees). Because the field of view of the captured 3D image or 3D video (prior to cropping) is larger than the field of view of the human vision, the user experiences a sense of presence in a virtual environment created based on the captured 3D image or 3D video. In other words, the 3D image or video provides the user a realistic illusion of being immersed into the image or video.
- In some embodiments, the stereoscopic device does not need to combine the left and right channels of the 3D image or 3D video into a single channel, since the two channels are shown separately to the left and right eyes of the user. In some other embodiments, the left and right channels of the 3D image or 3D video can be combined together to form a single feed of image or video such that there is no visible seam between the left and right portions of the display screen when the device plays back the 3D image or 3D video.
- In some embodiments, multiple stereoscopic devices can be used together to capture the 3D image or 3D video in a super wide field of view (e.g., 360 degrees). For example, three stereoscopic devices can be mounted on a 360 rig mount such the three stereoscopic devices are facing three different directions. The 3D images or 3D videos captured by the stereoscopic devices can be stitched together to create a 360-degree virtual reality experience. For example, when a user moves the head at any orientation with the 360 degrees, the device in real time plays back a cropped portion of the 360-degree stitched 3D videos based on the head orientation and human vision field of view. Therefore, the user can experience a sense of presence in a 360-degree virtual environment based on the 360-degree 3D image or 3D video captured simultaneously by the three stereoscopic devices.
- In addition to the lens and image sensors, the stereoscopic device can include various types of components.
FIG. 2 is a block diagram showing various components of a sample stereoscopic device. The stereoscopic device 200 includes avideo processor 210 for processing various data collected by different components. Thevideo processor 210 receives captured image data fromimage sensors 212 and 214. - A power management integrated circuit (PMIC) 220 is responsible for controlling a
battery charging circuit 222 to charge abattery 224. Thebattery 224 supplied electrical energy for running the stereoscopic device 200. Thevideo processor 210 can be connected to an external device via aUSB controller 226. In some embodiments, thebattery charging circuit 222 receives external electrical energy via theUSB controller 226 for charging thebattery 224. - The stereoscopic device 200 includes a volatile memory 230 (e.g. double data rate memory or 4R memory) and a non-volatile memory 232 (e.g., embedded MMC or eMMC, solid-state drive or SSD, etc.). The
video processor 210 can also control anaudio codec circuit 240, which collects audio signals frommicrophone 242 andmicrophone 244 for stereo sound recording. - The stereoscopic device 200 can include additional components to communicate with external devices. For example, the
video processor 210 can be connected to a video interface 250 (e.g., high-definition multimedia interface or HDMI) for sending video signals to an external device. The device 200 can further include aninterface 254 conforming to Joint Test Action Group (JTAG) standard and Universal Asynchronous Receiver/Transmitter (UART) standard. - The stereoscopic device 200 can include a
memory card connector 252 to accommodate a memory card for providing additional storage space. The device 200 can further include aslide switch 260 and apush button 262 for operating the device 200. For example, a user may turn on or off the device 200 by pressing thepush button 262. The user may switch between different modes (e.g., image capturing, video capturing, 3D capturing) using theslide switch 260. - The device 200 can include an inertial measurement unit (IMU) 270 for detecting orientation and/or motion of the device 200. The
video processor 210 can further control alight control circuit 280 for controlling the status lights 282. The status lights 282 can include, e.g., multiple light-emitting diodes (LEDs) in different colors for showing various status of the device 200. - Other than the different perspectives, human eyes are very sensitive to any differences between the left and right eye visions. When there is a noticeable difference in distortions between the left and right channels of the 3D video, the stereoscopic 3D effect experienced by the user is significantly suppressed. During the manufacturing processes of the wide-angle lenses, digital image sensors, and the stereoscopic device, various types of manufacturing variances can be introduced.
- As shown in
FIG. 1 , the stereoscopic 3D camera device records stereoscopic image frames from two different camera modules, each of which includes a fisheye lens and an image sensor. The stereoscopic camera device can store calibration metadata related to the lenses and images sensors of the camera device for correcting distortion caused by manufacturing variances of the lenses and the image sensors. -
FIG. 3 shows a sample set of calibration metadata including various types of information for a sample stereoscopic device. At manufacture time, two types of calibration metadata 300 (also referred to as calibration information) are determined for each stereoscopic 3D camera device, in order to properly render the final 3D images or videos perceived by the users. At manufacture time, each camera module is calibrated to determine its cameraintrinsic calibration metadata 310. Furthermore,stereoscopic calibration metadata 320, which relates to the relevant relationship between two camera modules, is also determined. - In some embodiments, the camera
intrinsic calibration metadata 310 for a camera module (which includes a fisheye lens and an image sensor) can include parameters fx, fy, cx, cy, and k1, k2, . . . , kn. Each of the camera modules has its own unique set of camera intrinsic calibration metadata. - The fx and fy parameters 312 describe the focal lengths of the fisheye lens in the x and y directions that are perpendicular to each other. The focal lengths are the distances over which initially collimated light rays are brought to a focus, and measures of how strongly the fisheye lens converges or diverges lights. A fisheye lens with a shorter focal length can bend the light rays more sharply. Since the fisheye lens may not be perfectly circular, the fisheye lens may distort or bend the light in slightly different ways in the x direction versus the y direction. Thus, the focal length at the x direction fx can be different from the focal length at the y direction fy.
- The cx and cy parameters 314 describe the distortion center of the fisheye projection in the image frame captured by the fisheye lens. Since the fisheye lens may not have a prefect circular symmetry, the distortion center denoted by cx and cy may not at the geometric center of the image frame.
- The k1, k2, . . . , kn
parameters 316 are distortion coefficients that describe the levels of fisheye distortion, as a function of the radius from the center of the captured image frame to the edge of the frame. In some embodiments, n can be, e.g., between 1 and 4, depending on how precise the calibration needs to be and the characteristics of the particular fisheye lens. The k1, k2, . . . , kn parameters essentially describe how much fisheye distortion an image pixel has as a location of the pixel moves from the center of the image to the edge of the image. In some embodiments, the k1, k2, . . . , kn parameters are defined radially and do not depend on the circular angle of the pixel location. - There are various reasons why each camera module has its own set of camera intrinsic calibration metadata. In some embodiments, the distance between the left wide-angle lens and the left image sensor may be slightly shorter than the distance between the right wide-angle lens and the right image sensor. Alternatively, due to the manufacturing variance of the wide-angle lenses, the left wide-angle lens may have an optical distortion profile and/or focal length that are different from the optical distortion profile and/or focal length of the right wide-angle lens.
- In addition to the camera intrinsic calibration metadata, the camera device is also calibrated to determine
stereoscopic calibration metadata 320 for the pair of the two camera modules. The set ofstereoscopic calibration metadata 320 describes how a distortion of one fisheye lens is related to a distortion of another fisheye lens. In order words, the set ofstereoscopic calibration metadata 320 includes a mapping of distorted coordinates between the two fisheye lenses. - Ideally, the two fisheye lenses of the camera are perfectly aligned next to each other. However, in an actual camera product, any of the two fisheye lenses may be slightly off-center from the perfectly aligned location or its direction may be slightly off the perfectly aligned orientation. The set of stereoscopic calibration metadata can be used to correct the captured images offset the distortion caused by imperfect alignment between those two fisheye lenses. The images are corrected as if they were taken by two fisheye lenses with perfect alignment. The correction of images improves the 3D effect since human eyes are very sensitive to the distortion differences between left and right channels.
- In some embodiments, the set of
stereoscopic calibration metadata 320 includes arotation matrix 322 and aprojection matrix 324. Therotation matrix 322 describes a rotational correction to align an image captured by one fisheye lens to another image captured by another fisheye lens so that the image planes of the left and right channels are on the same plane. Theprojection matrix 324 describes a projection operation to ensure that the image frames of the left and right channels are vertically aligned with each other. - In some embodiments, the set of
stereoscopic calibration metadata 320 can include compensation metadata that relates to image sensors. For example, the image sensor of the left channel may have slightly different color balance than the image sensor of the right channel. Based on a color calibration test, the camera can store color-mapping metadata as port of the set of stereoscopic calibration metadata to equalize the color balance of the image sensors. - In order to enhance the stereoscopic 3D effect, it is desirable to eliminate the optical distortion difference between the left and right channels of the 3D video due to the manufacturing variances. After the stereoscopic device is manufactured, the device, including the wide-angle lens and the image sensors, can be tested through a calibration process to detect the distortion differences between the left and right channels, represented by the sets of camera intrinsic calibration metadata and the stereoscopic calibration metadata. During the calibration process, the stereoscopic device can capture 3D stereoscopic images and/or videos of several pre-determined test subjects (also referred to as calibration targets), and generate calibration metadata based on the images or videos of the test subjects.
- When the stereoscopic device captures images and videos, the calibration metadata are stored within the 3D stereoscopic images or videos in real time. Using those calibration metadata, the captured 3D stereoscopic images or videos can be played back with a compensation based on the calibration metadata.
- The calibration metadata are also referred to as a calibration vector. Each element of the calibration vector stores one entry or type of the calibration metadata.
- Although generally the 3D calibration metadata for a particular stereoscopic device does not change after the device is manufactured and calibrated. However, the stereoscopic device may need re-calibration in some situations. For example, if the stereoscopic device is dropped to the ground. The distance between a lens and the image sensor behind the lens may be slightly changed. The stereoscopic device can perform a re-calibration process to re-capture the new 3D calibration metadata.
- In some embodiments, the stereoscopic device can re-calibrate itself when the device is capturing a 3D video. Using the content of the 3D video, including the differences between the left and right channels, the stereoscopic device can establish new 3D calibration parameters. For example, a certain object in the video with sharply contrasted portions may act like a contrast-level calibration reference object for the stereoscopic device to conduct the automatic re-calibration. Alternatively, an object in the video may be known as have a rectangular shape, but appears to be curved due to the distortion. The stereoscopic device then can re-calibrate the distortion metadata by detecting the level of distortion on the curved image of the object. The re-calibrated 3D calibration metadata may be transmitted to the playback device in a real time, when the playback device replays the 3D video as the stereoscopic device captures the 3D video.
- In some embodiments, the 3D calibration metadata can be embedded into the 3D videos as metadata. For example, the stereoscopic device captures the 3D video into a recorded 3D video file and embeds the 3D calibration metadata into the 3D video file as metadata. These metadata can include, e.g., camera intrinsic parameters, parameters of each of the left and right wide-angle lenses, parameters of each of the left and right image sensors, information about the inertial measurement unit (IMU), information about the accelerator, information about the gyroscopic device, information of the device location, etc.
- In some embodiments, the 3D calibration metadata can be saved in the metadata header of the 3D video file. Alternatively, the 3D calibration metadata can be saved in a subtitle channel or a closed caption channel in the video file. For example, the 3D calibration metadata can be saved in a foreign language subtitle channel that does not correspond to any real-world language.
- In some embodiments, the 3D calibration metadata can be visually encoded into one or more frames of the 3D video file via, e.g., a video steganography process. In some embodiments, a graphic processing unit (GPU) can perform the video steganography process. With the steganography process, the 3D calibration metadata are stored in each frame of the 3D stereoscopic video. Any video playback software or video editing software can extract the 3D calibration metadata since the metadata embedded using steganography does not depends on the video format and always stays with the video frames.
- It is desirable to embed the parameters about the camera, sensor, and processing directly into the video file recorded by the stereoscopic camera at the time of capture. Some of those parameters may be fixed for the duration of the video, such as image sensor and calibration parameters; while some parameters may change during the recording process, such as accelerometer, gyroscope, and GPS sensor readings.
- In some embodiments, it is desirable that a player can read and process a video file that has been generated using the captured video of different stereoscopic cameras. For example, two users with different stereoscopic cameras may record scenes with their own devices, and then concatenate their respective videos into a single video file. In such a case, the stereoscopic video player will need to be able to associate different portions of the composite video file with different camera parameters, including different lens distortion parameters and image sensor parameters.
- Accordingly, there is a need for a system or method that can embed the camera and sensor parameters into the video file captured by a stereoscopic 3D camera. Parameters will be either set once per the entirety of the file, or changed for each frame of the video. Additionally, there is a need for a system or method that can process such a stereoscopic 3D video file and decode the parameters, either fixed for the entirety of the file, or on a per frame basis. Such a system or method could then utilize the parameters during the playback of the video file.
- During playback of the 3D video file, a playback device (e.g., a stereoscopic device disclosed herein or another device such as a computer, a smart phone, a VR headset or an HMD) can extract the 3D calibration metadata from the 3D video file. For example, the metadata can be, e.g., extracted from the metadata header of the video file, or decoded from one or more frames of the video though a video steganography technique, when the video is being processed by a stereoscopic video player running on the playback device.
- A stereoscopic video playback device can run a playback process to render a stereoscopic 3D video, such as a virtual reality (“VR”) headset or a mobile phone fitted with a stereoscopic display adapter. In some embodiments, the functionalities and components of the stereoscopic video player can be included in the stereoscopic
3D video camera 100 as well. For example, thecamera 100 can include adisplay screen 160 for playing back the 3D videos, as shown inFIG. 1 . - Each of the stereoscopic frames is processed by the player, which may additionally require the parameters associated with the camera that captured the frames. For example, the player may require knowing details about the camera's image sensors and calibration metadata to properly render the stereoscopic frames. If the video frames were processed by the camera prior to being encoded into the video file, the play may also need to know the parameters of the image processing algorithms that processed the frames.
-
FIG. 4 shows a sample process of playing back a stereoscopic video using embedded calibration metadata. At block 410, to render a stereoscopic 3D image (or a stereoscopic 3D video frame) onto a VR headset (or other playback device), the playback process retrieves the camera intrinsic calibration metadata of each camera module, the rectification matrices of the capturing device (as stereoscopic calibration metadata), and the raw fisheye image frames captured by each sensor. In addition, the playback process may retrieve some parameters about the headset, such as its current orientation (e.g., represented by an orientation matrix), its field of view, and the offset between the two eye locations of the headset. - Rendering the frame is generally done pixel-by-pixel for each display pixel on the VR headset. In other words, for each pixel to be displayed on the VR headset (also referred to as display pixel), the playback process identifies one or more corresponding pixels from the captured image frames (also referred to as image pixels or frame pixels). The playback process repeats the pixel-by-pixel rendering for both left and right channels.
- For each pixel, the playback process can use the headset's current orientation to determine the latitude and longitude of that pixel relative to center of the VR headset (also referred to as a head center location of the VR headset). The orientation can be described using, e.g., an orientation matrix or any equivalent description about the direction.
- In some alternative embodiments, the playback process can use a pinhole camera model to intersect the pixel with the image plane, to get the pinhole camera model projected coordinates. The playback process can then use the position coordinates of that pixel to map it into the coordinates of the raw fisheye image. The pixels of the left VR display will be mapped to the left camera module's image (left channel), and the pixels of the right VR display to the right module's captured image (right channel).
- For example, assuming (a, b) are the (x, y) coordinates of an original pixel, which are mapped onto the image plane, such that (0, 0) is the center of the image. At
block 420, the playback process can determine (x, y) coordinates by using the VR headset orientation and parameters to get a point (X, Y, Z) in the world coordinate system that would map to that pixel in the headset display. - At
block 430, the playback process can then apply the rectification matrices to this point, to map the image into a rectified form. In some embodiments, the stereoscopic camera rectification is described by two rectification matrices: a rotation matrix (R) and a projection transform matrix (P). After the rectification using the rectification matrices, the rectified left and right channel frames are in the forms as though the frames were captured from the same image plane. The rotation matrix R is responsible for mapping the image planes of the left and right frames to be on the same plane. The projection matrix P is used to ensure that the left and right images are vertically aligned, and satisfy an epipolar geometry. In some embodiments, the left and right frames can be assigned their own rotation and projection matrices, R1, P1, and R2, P2, respectively, such that when applied the frames will be rectified to a common image plane that is halfway between the left and right planes. Coordinates from the unrectified left frame, for example, can be mapped to the rectified plane by pre-multiplying the coordinate by R*P. Similarly, the inverse of R*P can be used to map points from the rectified frame to an unrectified frame. - In some embodiments, the rectification process may be defined by a rotation matrix and a translation matrix. These matrices describe how to rotate and then translate one image frame to line it up with the other's plane. Algorithms, such as Bouguet's algorithm, can be used to convert the rotation and translation matrices into a rotation and projection matrix. Bouguet's algorithm, for example, is used to compute R and P while minimizing reprojection distortions, while maximizing the common viewing area between the left and right frames.
- At
block 440, the playback process can then intersect the point with the image plane, to get the point (a, b) in normalized units. Atblock 450, the playback process determines the radius of the pixel which can be defined by the equation: r2=a2+b2; and the circular angle θ of the pixel which can be defined as: θ=a tan(r). - At
block 460, the playback process determines the fisheye distortion parameter for the pixel: θd=θ(1+k1θ2+k2θ4+k3θ6+k4θ8); and the distorted point coordinates [x′; y′], where x′=(θd/r)a, y′=(θd/r)b. - At
block 470, the playback process then can convert those coordinates into pixel coordinates of the original fisheye images. The final pixel coordinates are vector [u; v], where: -
u=f x(x′+αy′)+c x -
v=f y y′+c y - At
block 480, with those final pixel coordinates, the playback process can draw corresponding image data from certain position on the raw fisheye frame. The [u, v]coordinates need not be integers. The playback process can use interpolation in the source fisheye image if the [u,v] coordinates are not integers. With those coordinates, the playback process pulls the [u, v] pixel from the fisheye image, and displays that pixel value on the VR headset at the original pixel point that is being rendered. Atblock 490, the playback process repeats this procedure for all pixels in the VR headset, on both the left and right displays. In addition, the playback process can update the pixels at the refresh rate of the headset. In some embodiments, the playback process can be performed efficiently by a graphics processing unit (GPU), though it could also be done on a central processing unit (CPU). - In some embodiments, multiple stereoscopic devices can be combined together to capture the 3D image or 3D video in a super wide field of view (e.g., 360 degrees) simultaneously. Each stereoscopic device can capture the 3D image or 3D video at a wide field of view (e.g., 180 degrees) for both left and right channels.
- Those simultaneously captured 3D videos can be combined together to create a virtual reality experience in 360 degrees. The combining process is also referred to as stitching. To maintain the stereoscopic effect, the left eye images captured by different devices (for a particular frame) can be stitched together, and the right eye images can be stitched together. The two stitched images can be used to regenerate the stereoscopic effect in 360 degrees.
- Thus, multiple sets of 3D calibration metadata need to be embedded into the combined 3D videos. Each set of the 3D calibration metadata corresponds to a channel of a 3D video captured by a pair of a wide-angle lens and an image sensor within a stereoscopic device.
-
FIG. 5 shows multiple stereoscopic devices for capturing 3D videos from different directions simultaneously. Each of the stereoscopic devices 510, 520, 530 has a field of view of, e.g., 180 degrees. By combining the 3D videos captured by the three devices (totally 6 channels), a virtual reality of 360 degrees can be recreated. - During video capturing, three stereoscopic devices 510, 520, 530 can be mounted on a 360
rig mount 540 such the three stereoscopic devices 510, 520, 530 are facing three different directions. The 3D images or 3D videos captured by thelenses - During the playback, depending on the orientation of the user head, the playback device might use multiple channels from one or more stereoscopic device to general in real time the left and right playback videos. Thus, the playback device switches in real time between different sets of 3D calibration metadata, depending on the channels it currently uses for generating the playback videos. In some embodiments, the calibration using the 3D calibration metadata is performed on a frame-by-frame basis. Therefore, the 3D calibration metadata needs to be extracted in a real time in order to switch between the sets of 3D calibration metadata in real time.
- For example, at a first time point during the playback of the combined 3D videos, the user head is pointing toward a direction corresponding to the point 350 as illustrated in
FIG. 5 . The playback device determines that at the first time point, only the left and right channels of the 3D video captured by the device 510 is need in order to achieve the binocular stereoscopic effect and play back the current 3D VR videos for the eyes of the user. In other words, the device needs the 3D calibration metadata that relate to the device 510, including thelenses - At a second time point during the playback of the combined 3D videos, the user head is pointing toward a direction corresponding to the
point 555 as illustrated inFIG. 5 . This time, the playback device determines that at the second time point, the device needs the right channel of the 3D video captured by the device 510 and the left channel of the 3D video captured by the device 530, in order to play back the current 3D VR videos for both eyes of user. In other words, the playback device leverages different reference points (with different perspectives) from lenses from different stereoscopic devices to achieve the binocular stereoscopic effect. - Thus, at the second time point, the device needs the 3D calibration metadata that relate to the device 510 (including the lens 514), as well as the 3D calibration metadata that relate to the device 530 (including the lens 532). Therefore, the playback device needs to switch between different sets of 3D calibration metadata in real time, depending on the 3D video channels on which the device currently relies for playing back the 3D VR video for the user.
- The 3D effect at the
point 555 might be less than the 3D effect at the point 50, because of the different perspectives of lenses and the fields of view. However, generally human eyes do not notice the diminishing 3D effect. This is because human eyes themselves have less 3D perception for the peripheral visions. Therefore, humans are used to the facts that areas of peripheral visions generally have less stereoscopic 3D effects. - Although
FIG. 5 shows three devices, the technology can be applied to an arbitrary number of stereoscopic devices. For example, two stereoscopic devices with 180 degrees can be used to recreate a 360-degree virtual reality experience, using the technology disclosed herein. - Although
FIG. 5 shows multiple devices for recording a combined 3D video for a field of view of 360 degrees, in some embodiments, the 3D effect of a field of view of 360 degrees can be achieved by a panoramic scan using a stereoscopic device. For example, a user can use the stereoscopic device to capture a continuous sequence of stereoscopic 3D images by a panoramic scanning motion. By stitching the continuous sequences of stereoscopic 3D images together, a playback device can recreate a 3D image with a field of view of 360 degrees. - In order to stitch the images or video frames captured by different camera modules (including lenses and image sensors) of different capturing devices (e.g., 3D cameras), the 360 stitching process needs to process the calibration metadata of different camera modules and cameras. Each camera module has its unique set of camera intrinsic calibration metadata. In addition, each stereoscopic pair of lenses from a capturing device has its own stereoscopic calibration metadata. The 360 stitching process uses those metadata to avoid distortions that are caused by the hardware variances of the lenses and capturing devices.
- The 360 stitching process can first re-project each 180-degree stereo pair into a particular form, such as an equirectangular projection format. An equirectangular projection maps a sphere onto a rectangular image, such that the y coordinate is the latitude, and the x coordinate is the longitude, multiplied by a constant.
- A 180-degree FOV image will only cover a portion of the recording sphere (half of it). When the image is converted to an equirectangular format, the equirectangular form of the 180-degree FOV image fills a portion of the recording sphere. Once all of the images from each sensor for a particular eye channel (left or right) have been converted to an equirectangular format (or other projection format, as desired), those images in the equirectangular format can be stitched together using image or video stitching algorithm as a 360-degree recording sphere image for left or right eye channel.
- The procedure described in the previous VR playback section can be used for reprojection. For each pixel in the destination projection, the process can determine the latitude and longitude coordinates of the pixel based on the (x, y) coordinates of the image. The process can then apply the stereoscopic calibration and then camera intrinsic calibration, to map the point of the pixel onto the source fisheye image. Thus, the process can reproject the original fisheye image into a different format, such as an equirectangular projection. This process applies the calibration metadata, and converts the images into a standard projection. After the process, the calibration information is no longer needed for stitching. The 360 stitching can then be done on those standard projected images. Even though each original camera module had its own unique calibration settings, by reprojecting using the calibration metadata and then stitching, the images can now be stitched together without further calibration.
-
FIG. 6 is a high-level block diagram illustrating an example of a hardware architecture of acomputing device 600 that performs the above process, in various embodiments. Thecomputing device 600 executes some or all of the processor executable process steps that are described below in detail. In various embodiments, thecomputing device 600 includes a processor subsystem that includes one ormore processors 602.Processor 602 may be or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such hardware based devices. - The
computing device 600 can further include amemory 604, anetwork adapter 610, acluster access adapter 612 and astorage adapter 614, all interconnected by aninterconnect 608.Interconnect 608 may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), or an Institute of Electrical and Electronics Engineers (I9E) standard 1394 bus (sometimes referred to as “Firewire”) or any other data communication system. - The
cluster access adapter 612 includes one or more ports adapted to couple thecomputing device 600 to other devices. In the illustrated embodiment, Ethernet can be used as the clustering protocol and interconnect media, although other types of protocols and interconnects may be utilized within the cluster architecture described herein. - The
computing device 600 can be embodied as a single- or multi-processor system executing anoperating system 606 that can implement a high-level module, e.g., a manager, to logically organize the information as a hierarchical structure of named directories, files and special types of files called virtual disks at the storage devices. Thecomputing device 600 can further include graphical processing unit(s) for graphical processing tasks or processing non-graphical tasks in parallel. - The
memory 604 can comprise storage locations that are addressable by the processor(s) 602 andadapters processor 602 andadapters operating system 606, portions of which are typically resident in memory and executed by the processor(s) 602, functionally organizes thecomputing device 600 by (among other things) configuring the processor(s) 602 to invoke. It will be apparent to those skilled in the art that other processing and memory implementations, including various computer readable storage media, may be used for storing and executing program instructions pertaining to the technology. - The
network adapter 610 can include multiple ports to couple thecomputing device 600 to one or more clients over point-to-point links, wide area networks, virtual private networks implemented over a public network (e.g., the Internet) or a shared local area network. Thenetwork adapter 610 thus can include the mechanical, electrical and signaling circuitry needed to connect thecomputing device 600 to the network. Illustratively, the network can be embodied as an Ethernet network or a Fibre Channel (FC) network. A client can communicate with the computing device over the network by exchanging discrete frames or packets of data according to pre-defined protocols, e.g., TCP/IP. - The
storage adapter 614 can cooperate with theoperating system 606 to access information requested by a client. The information may be stored on any type of attached array of writable storage media, e.g., magnetic disk or tape, optical disk (e.g., CD-ROM or DVD), flash memory, solid-state disk (SSD), electronic random access memory (RAM), micro-electro mechanical and/or any other similar media adapted to store information, including data and parity information. Thestorage adapter 614 can include multiple ports having input/output (I/O) interface circuitry that couples to the disks over an I/O interconnect arrangement, e.g., a conventional high-performance, Fibre Channel (FC) link topology. In various embodiments, thecluster adapter 612 and thestorage adapter 614 can be implemented as one adapter configured to connect to a switching fabric, e.g., a storage network switch, in order to communicate with other devices and the mass storage devices. - Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Specific embodiments and implementations have been described herein for purposes of illustration, but various modifications can be made without deviating from the scope of the embodiments and implementations. The specific features and acts described above are disclosed as example forms of implementing the claims that follow. Accordingly, the embodiments and implementations are not limited except as by the appended claims.
- Any patents, patent applications, and other references noted above, are incorporated herein by reference. Aspects can be modified, if necessary, to employ the systems, functions, and concepts of the various references described above to provide yet further implementations. If statements or subject matter in a document incorporated by reference conflicts with statements or subject matter of this application, then this application shall control.
Claims (14)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/920,160 US20180205936A1 (en) | 2015-04-29 | 2018-03-13 | Stereoscopic 3d camera for virtual reality experience |
US16/166,018 US10848743B2 (en) | 2016-06-10 | 2018-10-19 | 3D Camera calibration for adjustable camera settings |
US16/254,542 US10645366B2 (en) | 2016-06-10 | 2019-01-22 | Real time re-calibration of stereo cameras |
US16/283,684 US10602126B2 (en) | 2016-06-10 | 2019-02-22 | Digital camera device for 3D imaging |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562154703P | 2015-04-29 | 2015-04-29 | |
US15/143,443 US9930315B2 (en) | 2015-04-29 | 2016-04-29 | Stereoscopic 3D camera for virtual reality experience |
US15/179,056 US9948919B2 (en) | 2015-04-29 | 2016-06-10 | Stereoscopic 3D camera for virtual reality experience |
US15/920,160 US20180205936A1 (en) | 2015-04-29 | 2018-03-13 | Stereoscopic 3d camera for virtual reality experience |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/179,056 Division US9948919B2 (en) | 2015-04-29 | 2016-06-10 | Stereoscopic 3D camera for virtual reality experience |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/166,018 Continuation-In-Part US10848743B2 (en) | 2016-06-10 | 2018-10-19 | 3D Camera calibration for adjustable camera settings |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180205936A1 true US20180205936A1 (en) | 2018-07-19 |
Family
ID=57204261
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/143,443 Active US9930315B2 (en) | 2015-04-29 | 2016-04-29 | Stereoscopic 3D camera for virtual reality experience |
US15/179,056 Active US9948919B2 (en) | 2015-04-29 | 2016-06-10 | Stereoscopic 3D camera for virtual reality experience |
US15/908,692 Active 2036-08-24 US10979693B2 (en) | 2015-04-29 | 2018-02-28 | Stereoscopic 3D camera for virtual reality experience |
US15/920,160 Abandoned US20180205936A1 (en) | 2015-04-29 | 2018-03-13 | Stereoscopic 3d camera for virtual reality experience |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/143,443 Active US9930315B2 (en) | 2015-04-29 | 2016-04-29 | Stereoscopic 3D camera for virtual reality experience |
US15/179,056 Active US9948919B2 (en) | 2015-04-29 | 2016-06-10 | Stereoscopic 3D camera for virtual reality experience |
US15/908,692 Active 2036-08-24 US10979693B2 (en) | 2015-04-29 | 2018-02-28 | Stereoscopic 3D camera for virtual reality experience |
Country Status (1)
Country | Link |
---|---|
US (4) | US9930315B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110335307A (en) * | 2019-06-26 | 2019-10-15 | Oppo广东移动通信有限公司 | Scaling method, device, computer storage medium and terminal device |
TWI692241B (en) * | 2018-09-10 | 2020-04-21 | 宏碁股份有限公司 | Stereoscopic display device and stereoscopic display method |
US20230345135A1 (en) * | 2020-06-19 | 2023-10-26 | Beijing Boe Optoelectronics Technology Co., Ltd. | Method, apparatus, and device for processing images, and storage medium |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9930315B2 (en) | 2015-04-29 | 2018-03-27 | Lucid VR, Inc. | Stereoscopic 3D camera for virtual reality experience |
KR20170091323A (en) * | 2016-02-01 | 2017-08-09 | 삼성전자주식회사 | Image Display Apparatus, Driving Method of Image Display Apparatus, and Computer Readable Recording Medium |
US10404915B1 (en) * | 2016-04-07 | 2019-09-03 | Scott Zhihao Chen | Method and system for panoramic video image stabilization |
CN107316273B (en) * | 2016-04-27 | 2021-05-18 | 深圳看到科技有限公司 | Panoramic image acquisition device and acquisition method |
US10433025B2 (en) * | 2016-05-10 | 2019-10-01 | Jaunt Inc. | Virtual reality resource scheduling of process in a cloud-based virtual reality processing system |
US10432855B1 (en) * | 2016-05-20 | 2019-10-01 | Gopro, Inc. | Systems and methods for determining key frame moments to construct spherical images |
US10848743B2 (en) * | 2016-06-10 | 2020-11-24 | Lucid VR, Inc. | 3D Camera calibration for adjustable camera settings |
US20180007344A1 (en) * | 2016-07-01 | 2018-01-04 | Facebook, Inc. | Stereoscopic image capture |
KR102531386B1 (en) | 2016-10-04 | 2023-05-12 | 주식회사 비원영상기술연구소 | Image data encoding/decoding method and apparatus |
US20190253624A1 (en) * | 2017-07-17 | 2019-08-15 | Ki Baek Kim | Image data encoding/decoding method and apparatus |
US10560678B2 (en) | 2016-11-09 | 2020-02-11 | Mediatek Inc. | Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function |
KR20180074369A (en) * | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | Method and Apparatus for Managing Thumbnail of 3-dimensional Contents |
US10911689B2 (en) | 2017-02-15 | 2021-02-02 | Intel IP Corporation | Methods and apparatus using long exposure video for virtual reality headset |
US20180242016A1 (en) * | 2017-02-21 | 2018-08-23 | Intel Corporation | Deblock filtering for 360 video |
WO2018213812A2 (en) | 2017-05-18 | 2018-11-22 | Synaptics Incorporated | Display interface with foveal compression |
US10455211B2 (en) * | 2017-05-25 | 2019-10-22 | Advanced Micro Devices, Inc. | Method and apparatus of image processing |
EP3619617B1 (en) * | 2017-07-17 | 2023-06-07 | Google LLC | Methods, systems, and media for presenting media content previews |
US20200213576A1 (en) * | 2017-09-14 | 2020-07-02 | Oregon State University | Automated calibration target stands |
KR102082707B1 (en) * | 2017-09-22 | 2020-02-28 | 엘지전자 주식회사 | How to send 360 video, how to receive 360 video, 360 video sending device, 360 video receiving device |
CN108038820B (en) * | 2017-11-14 | 2021-02-02 | 影石创新科技股份有限公司 | Method and device for achieving bullet time shooting effect and panoramic camera |
US10313653B1 (en) * | 2017-11-15 | 2019-06-04 | Secret Location Inc. | Systems and methods for procedural rendering of cinematic virtual reality content |
WO2019098728A1 (en) * | 2017-11-16 | 2019-05-23 | 삼성전자 주식회사 | Method and apparatus for processing three-dimensional images |
US20190182462A1 (en) | 2017-12-08 | 2019-06-13 | Gopro, Inc. | Methods and apparatus for projection conversion decoding for applications eco-systems |
DE102018100439A1 (en) | 2018-01-10 | 2019-07-11 | Kulzer Gmbh | Virtual 3D illustration of the oral cavity |
US20190038964A1 (en) * | 2018-01-12 | 2019-02-07 | Karthik Veeramani | Personalized calibration and adaption of vr experience |
CA2993561C (en) * | 2018-01-31 | 2020-06-30 | Synaptive Medical (Barbados) Inc. | System for three-dimensional visualization |
RU181214U1 (en) * | 2018-02-12 | 2018-07-06 | Евгений Владимирович Эверт | DEVICE FOR CREATING A STEREOSCOPIC IMAGE |
CA3090017A1 (en) * | 2018-02-17 | 2019-08-22 | Dreamvu, Inc. | System and method for capturing omni-stereo videos using multi-sensors |
CN110324601A (en) * | 2018-03-27 | 2019-10-11 | 京东方科技集团股份有限公司 | Rendering method, computer product and display device |
US20190313077A1 (en) * | 2018-04-08 | 2019-10-10 | Vefxi Corporation | Virtual reality environment |
CN110415329B (en) | 2018-04-26 | 2023-10-13 | 财团法人工业技术研究院 | Three-dimensional modeling device and calibration method applied to same |
US10475248B1 (en) | 2018-06-08 | 2019-11-12 | Microsoft Technology Licensing, Llc | Real-time compositing in mixed reality |
US20200036872A1 (en) | 2018-07-24 | 2020-01-30 | Gopro, Inc. | Module isolation |
CN110868581A (en) | 2018-08-28 | 2020-03-06 | 华为技术有限公司 | Image display method, device and system |
US11153481B2 (en) * | 2019-03-15 | 2021-10-19 | STX Financing, LLC | Capturing and transforming wide-angle video information |
US11025804B2 (en) * | 2019-06-27 | 2021-06-01 | Intel Corporation | Modular wedges for generating panoramic video |
CN110766760B (en) * | 2019-10-21 | 2022-08-02 | 北京百度网讯科技有限公司 | Method, device, equipment and storage medium for camera calibration |
US11427193B2 (en) | 2020-01-22 | 2022-08-30 | Nodar Inc. | Methods and systems for providing depth maps with confidence estimates |
KR20230104298A (en) * | 2020-01-22 | 2023-07-07 | 노다르 인크. | Non-rigid stereo vision camera system |
US11748905B2 (en) | 2020-03-03 | 2023-09-05 | Magic Leap, Inc. | Efficient localization based on multiple feature types |
CN111294580B (en) * | 2020-03-12 | 2022-05-03 | 佳都科技集团股份有限公司 | Camera video projection method, device and equipment based on GPU and storage medium |
US11734789B2 (en) | 2020-06-02 | 2023-08-22 | Immersive Tech, Inc. | Systems and methods for image distortion correction |
CN113890984B (en) * | 2020-07-03 | 2022-12-27 | 华为技术有限公司 | Photographing method, image processing method and electronic equipment |
CN113920200A (en) * | 2020-07-10 | 2022-01-11 | 北京观海科技发展有限责任公司 | Calibration method and system of image acquisition device |
US11758101B2 (en) | 2020-08-25 | 2023-09-12 | Samsung Electronics Co., Ltd. | Restoration of the FOV of images for stereoscopic rendering |
CN112437276B (en) * | 2020-11-20 | 2023-04-07 | 埃洛克航空科技(北京)有限公司 | WebGL-based three-dimensional video fusion method and system |
CN113223095B (en) * | 2021-05-25 | 2022-06-17 | 中国人民解放军63660部队 | Internal and external parameter calibration method based on known camera position |
US20220400243A1 (en) * | 2021-06-15 | 2022-12-15 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
US11577748B1 (en) | 2021-10-08 | 2023-02-14 | Nodar Inc. | Real-time perception system for small objects at long range for autonomous vehicles |
CN114786001B (en) * | 2022-05-20 | 2023-12-05 | 广东未来科技有限公司 | 3D picture shooting method and 3D shooting system |
US11782145B1 (en) | 2022-06-14 | 2023-10-10 | Nodar Inc. | 3D vision system with automatically calibrated stereo vision sensors and LiDAR sensor |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030060681A1 (en) * | 2001-08-31 | 2003-03-27 | Olympus Optical Co., Ltd. | Instrumentation endoscope apparatus |
US20060093239A1 (en) * | 2004-10-28 | 2006-05-04 | Aisin Seiki Kabushiki Kaisha | Image processing method and image processing device |
US20120075428A1 (en) * | 2010-09-24 | 2012-03-29 | Kabushiki Kaisha Toshiba | Image processing apparatus |
US20130010062A1 (en) * | 2010-04-01 | 2013-01-10 | William Gibbens Redmann | Subtitles in three-dimensional (3d) presentation |
US20130124471A1 (en) * | 2008-08-29 | 2013-05-16 | Simon Chen | Metadata-Driven Method and Apparatus for Multi-Image Processing |
US20150049946A1 (en) * | 2013-08-16 | 2015-02-19 | Samsung Electronics Co., Ltd. | Electronic device and method for adding data to image and extracting added data from image |
US20150254818A1 (en) * | 2014-03-10 | 2015-09-10 | Omnivision Technologies, Inc. | Image Transformation And Multi-View Output Systems And Methods |
US20160253795A1 (en) * | 2015-02-24 | 2016-09-01 | NextVR, Inc. | Calibration for immersive content systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7142209B2 (en) | 2004-08-03 | 2006-11-28 | Microsoft Corporation | Real-time rendering system and process for interactive viewpoint video that was generated using overlapping images of a scene captured from viewpoints forming a grid |
US8411751B2 (en) * | 2009-12-15 | 2013-04-02 | Nvidia Corporation | Reducing and correcting motion estimation artifacts during video frame rate conversion |
US9762795B2 (en) | 2013-09-04 | 2017-09-12 | Gyeongil Kweon | Method and apparatus for obtaining rectilinear images using rotationally symmetric wide-angle lens |
US8736674B2 (en) | 2010-09-23 | 2014-05-27 | Dolby Laboratories Licensing Corporation | Method and system for 3D display calibration with feedback determined by a camera device |
US9111418B2 (en) | 2010-12-15 | 2015-08-18 | Bally Gaming, Inc. | System and method for augmented reality using a player card |
US9311883B2 (en) * | 2011-11-11 | 2016-04-12 | Microsoft Technology Licensing, Llc | Recalibration of a flexible mixed reality device |
EP2870751A4 (en) | 2012-07-04 | 2016-03-09 | Intel Corp | Panorama based 3d video coding |
US9367962B2 (en) * | 2013-10-22 | 2016-06-14 | Topcon Positioning Systems, Inc. | Augmented image display using a camera and a position and orientation sensor |
US11122251B2 (en) * | 2014-09-03 | 2021-09-14 | Apple Inc. | Methods and apparatus for receiving and/or playing back content |
CN107431801A (en) | 2015-03-01 | 2017-12-01 | 奈克斯特Vr股份有限公司 | The method and apparatus for support content generation, sending and/or resetting |
US9451166B1 (en) * | 2015-03-24 | 2016-09-20 | Raytheon Company | System and method for imaging device motion compensation |
US9930315B2 (en) | 2015-04-29 | 2018-03-27 | Lucid VR, Inc. | Stereoscopic 3D camera for virtual reality experience |
-
2016
- 2016-04-29 US US15/143,443 patent/US9930315B2/en active Active
- 2016-06-10 US US15/179,056 patent/US9948919B2/en active Active
-
2018
- 2018-02-28 US US15/908,692 patent/US10979693B2/en active Active
- 2018-03-13 US US15/920,160 patent/US20180205936A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030060681A1 (en) * | 2001-08-31 | 2003-03-27 | Olympus Optical Co., Ltd. | Instrumentation endoscope apparatus |
US20060093239A1 (en) * | 2004-10-28 | 2006-05-04 | Aisin Seiki Kabushiki Kaisha | Image processing method and image processing device |
US20130124471A1 (en) * | 2008-08-29 | 2013-05-16 | Simon Chen | Metadata-Driven Method and Apparatus for Multi-Image Processing |
US20130010062A1 (en) * | 2010-04-01 | 2013-01-10 | William Gibbens Redmann | Subtitles in three-dimensional (3d) presentation |
US20120075428A1 (en) * | 2010-09-24 | 2012-03-29 | Kabushiki Kaisha Toshiba | Image processing apparatus |
US20150049946A1 (en) * | 2013-08-16 | 2015-02-19 | Samsung Electronics Co., Ltd. | Electronic device and method for adding data to image and extracting added data from image |
US20150254818A1 (en) * | 2014-03-10 | 2015-09-10 | Omnivision Technologies, Inc. | Image Transformation And Multi-View Output Systems And Methods |
US20160253795A1 (en) * | 2015-02-24 | 2016-09-01 | NextVR, Inc. | Calibration for immersive content systems |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI692241B (en) * | 2018-09-10 | 2020-04-21 | 宏碁股份有限公司 | Stereoscopic display device and stereoscopic display method |
CN110335307A (en) * | 2019-06-26 | 2019-10-15 | Oppo广东移动通信有限公司 | Scaling method, device, computer storage medium and terminal device |
US20230345135A1 (en) * | 2020-06-19 | 2023-10-26 | Beijing Boe Optoelectronics Technology Co., Ltd. | Method, apparatus, and device for processing images, and storage medium |
US11997397B2 (en) * | 2020-06-19 | 2024-05-28 | Beijing Boe Optoelectronics Technology Co., Ltd. | Method, apparatus, and device for processing images, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20160323560A1 (en) | 2016-11-03 |
US9948919B2 (en) | 2018-04-17 |
US9930315B2 (en) | 2018-03-27 |
US20160323561A1 (en) | 2016-11-03 |
US10979693B2 (en) | 2021-04-13 |
US20180192034A1 (en) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9948919B2 (en) | Stereoscopic 3D camera for virtual reality experience | |
US10848743B2 (en) | 3D Camera calibration for adjustable camera settings | |
US11528468B2 (en) | System and method for creating a navigable, three-dimensional virtual reality environment having ultra-wide field of view | |
TWI712918B (en) | Method, device and equipment for displaying images of augmented reality | |
US9699438B2 (en) | 3D graphic insertion for live action stereoscopic video | |
US20150358539A1 (en) | Mobile Virtual Reality Camera, Method, And System | |
JP2019092170A (en) | System and method for generating 3-d plenoptic video images | |
US20110306413A1 (en) | Entertainment device and entertainment methods | |
JP2017532847A (en) | 3D recording and playback | |
JP2017505565A (en) | Multi-plane video generation method and system | |
WO2012166593A2 (en) | System and method for creating a navigable, panoramic three-dimensional virtual reality environment having ultra-wide field of view | |
CA2927046A1 (en) | Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing | |
EP3437319A1 (en) | Multi-camera image coding | |
CN107005689B (en) | Digital video rendering | |
JP2013115668A (en) | Image processing apparatus, image processing method, and program | |
US20230018560A1 (en) | Virtual Reality Systems and Methods | |
Naimark | Elements of real-space imaging: a proposed taxonomy | |
US11190757B2 (en) | Camera projection technique system and method | |
KR20200115631A (en) | Multi-viewing virtual reality user interface | |
US9989762B2 (en) | Optically composited augmented reality pedestal viewer | |
US20240078743A1 (en) | Stereo Depth Markers | |
KR20180092187A (en) | System for providing augmented realty | |
Mendiburu et al. | 3d image processing and monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |