Abstract:
An image capture accelerator performs accelerated processing of image data. In one embodiment, the image capture accelerator includes accelerator circuitry including a pre-processing engine and a compression engine. The pre-processing engine is configured to perform accelerated processing on received image data, and the compression engine is configured to compress processed image data received from the pre-processing engine. In one embodiment, the image capture accelerator further includes a demultiplexer configured to receive image data captured by an image sensor array implemented within, for example, an image sensor chip. The demultiplexer may output the received image data to an image signal processor when the image data is captured by the image sensor array in a standard capture mode, and may output the received image data to the accelerator circuitry when the image data is captured by the image sensor array in an accelerated capture mode.
Abstract:
An image capture accelerator performs accelerated processing of image data. In one embodiment, the image capture accelerator includes accelerator circuitry including a pre-processing engine and a compression engine. The pre-processing engine is configured to perform accelerated processing on received image data, and the compression engine is configured to compress processed image data received from the pre-processing engine. In one embodiment, the image capture accelerator further includes a demultiplexer configured to receive image data captured by an image sensor array implemented within, for example, an image sensor chip. The demultiplexer may output the received image data to an image signal processor when the image data is captured by the image sensor array in a standard capture mode, and may output the received image data to the accelerator circuitry when the image data is captured by the image sensor array in an accelerated capture mode.
Abstract:
An image capture accelerator performs accelerated processing of image data. In one embodiment, the image capture accelerator includes accelerator circuitry including a pre-processing engine and a compression engine. The pre-processing engine is configured to perform accelerated processing on received image data, and the compression engine is configured to compress processed image data received from the pre-processing engine. In one embodiment, the image capture accelerator further includes a demultiplexer configured to receive image data captured by an image sensor array implemented within, for example, an image sensor chip. The demultiplexer may output the received image data to an image signal processor when the image data is captured by the image sensor array in a standard capture mode, and may output the received image data to the accelerator circuitry when the image data is captured by the image sensor array in an accelerated capture mode.
Abstract:
A panoramic video frame is partitioned into a plurality of tiles. A viewport corresponding to a field of view within the panoramic video frame is identified. First tiles of the plurality of tiles corresponding to the viewport are encoded at a first bitrate to obtain first encoded tiles. Second tiles of the plurality of tiles outside the viewport are encoded at a second bitrate lower than the first bitrate to obtain second encoded tiles. The first encoded tiles and the second encoded tiles are transmitted to a user device for rendering.
Abstract:
A target image captured from a fisheye lens or other lens with known distortion parameters may be transformed to align it to a reference image. Corresponding features may be detected in the target image and the reference image. The features may be transformed to a spherical coordinate space. In the spherical space, images may be re-pointed or rotated in three dimensions to align all or a subset of the features of the target image to the corresponding features of the reference image. For example, in a sequence of images, background features of the target image in the spherical image space may be aligned to background features of the reference image in the spherical image space to compensate for camera motion while preserving foreground motion. An inverse transformation may then be applied to bring the images back into the original image space.
Abstract:
A method for encoding images includes decoding a first encoded image to obtain a first decoded image, where the first decoded image includes a first decoded portion corresponding to a first encoded portion of the first encoded image and a second decoded portion corresponding to a second encoded portion of the first encoded image; decoding a second encoded image to obtain a second decoded image; combining the first decoded image and the second decoded image to obtain a single decoded image; and encoding the single decoded image to obtain a single encoded image that includes a third and a fourth encoded portions. Encoding the single decoded image includes obtaining the third encoded portion of the single encoded image by copying the first encoded portion of the first encoded image; and obtaining the fourth encoded portion of the single encoded image by encoding the second decoded portion using an encoder.
Abstract:
Systems and methods for providing panoramic image and/or video content using spatially selective encoding and/or decoding. Panoramic content may include stitched spherical (360-degree) images and/or VR video. In some implementations, selective encoding functionality may be embodied in a spherical image capture device that may include two lenses configured to capture pairs of hemispherical images. Encoded source images may be decoded and stitched in order to obtain a combined image characterized by a greater field of view as compared to source images. The stitched image may be encoded using a selective encoding methodology including: partitioning a stitched image into multiple portions, determining if a portion is to be re-encoded. If the image portion is to be re-encoded, re-encoding the image portion. If an image portion is not to be re-encoded, copying previously encoded image portion in lieu of encoding.
Abstract:
Images captured by multi-camera arrays with overlap regions can be stitched together using image stitching operations. An image stitching operation can be selected for use in stitching images based on a number of factors. An image stitching operation can be selected based on a view window location of a user viewing the images to be stitched together. An image stitching operation can also be selected based on a type, priority, or depth of image features located within an overlap region. Finally, an image stitching operation can be selected based on a likelihood that a particular image stitching operation will produce visible artifacts. Once a stitching operation is selected, the images corresponding to the overlap region can be stitched using the stitching operation, and the stitched image can be stored for subsequent access.
Abstract:
Systems and methods for providing panoramic image and/or video content using multi-resolution stitching. Panoramic content may include stitched spherical (360-degree) images and/or VR video. In some implementations, multi-resolution stitching functionality may be embodied in a spherical image capture device that may include two lenses configured to capture pairs of hemispherical images. The capture device may obtain images (e.g., representing left and right hemispheres) that may be characterized by 180-degree (or greater) field of view. Source images may be combined using multi-resolution stitching methodology. Source images may be transformed to obtain multiple image components characterized by two or more image resolutions. The stitched image may be encoded using selective encoding methodology including: partitioning source images into a low resolution/frequency and a high resolution/frequency components; stitching low resolution/frequency components using coarse stitching operation, stitching high resolution/high frequency components using a refined stitch operation; combining stitched LF components and stitched HF components.
Abstract:
Systems and methods for providing video content using spatially adaptive video encoding. Panoramic and/or virtual reality content may be viewed by a client device using a viewport with viewing dimension(s) configured smaller than available dimension(s) of the content. Client device may include a portable media device characterized by given energy and/or computational resources. Video content may be encoded using spatially varying encoding. For image playback, portions of panoramic image may be pre-encoded using multiple quality bands. Pre-encoded image portions, matching the viewport, may be provided and reduce computational and/or energy load on the client device during consumption of panoramic content. Quality distribution may include gradual quality transition area allowing for small movements of the viewport without triggering image re-encoding. Larger movements of the viewport may automatically trigger transition to another spatial encoding distribution.