Patent classifications
H04N19/179
Error resilience for interactive real-time multimedia applications
An error resilience method comprising: using a computer, creating and storing, in computer memory, one or more FEC filter tables for use by the FEC filter for selectively forwarding a FEC packet; selectively forwarding a request for the FEC packet through a FEC filter based on the FEC table and a dynamic packet loss level at a receiver; limiting a re-transmission request for a particular packet through the FEC filter based on a number of re-transmission requests for the particular packet; and selectively skipping a key frame request based on a number of key frame requests received from a plurality receiver devices, wherein the method is performed by one or more special-purpose computing devices.
SYSTEM AND METHOD OF ENABLING ADAPTIVE BITRATE STREAMING FOR VOLUMETRIC VIDEOS
Aspects of the subject disclosure may include, for example, a device that has a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations including selecting a downsampling technique for removing points from a point cloud in a volumetric video; selecting a data reduction percentage for a target bitrate for streaming the volumetric video; downsampling the point cloud in each frame of the volumetric video for the target bitrate using the downsampling technique and data reduction percentage selected, thereby creating a downsampled volumetric video; and compressing and encoding the downsampled volumetric video, thereby creating an encoded volumetric video. Other embodiments are disclosed.
EVENT/OBJECT-OF-INTEREST CENTRIC TIMELAPSE VIDEO GENERATION ON CAMERA DEVICE WITH THE ASSISTANCE OF NEURAL NETWORK INPUT
An apparatus including an interface and a processor. The interface may be configured to receive pixel data generated by a capture device. The processor may be configured to generate video frames in response to the pixel data, perform computer vision operations on the video frames to detect objects, perform a classification of the objects detected based on characteristics of the objects, determine whether the classification of the objects corresponds to a user-defined event and generate encoded video frames from the video frames. The encoded video frames may be communicated to a cloud storage service. The encoded video frames may comprise a first sample of the video frames selected at a first rate when the user-defined event is not detected and a second sample of the video frames selected at a second rate while the user-defined event is detected. The second rate may be greater than the first rate.
Method of encoding a video data signal for use with a multi-view rendering device
The present invention relates to a method of encoding a video data signal for use with a multi-view rendering device, a method of decoding the video data signal, the video data signal, an encoder of the video data signal, a decoder of the video data signal, a computer program product comprising instructions for encoding the video data signal and a computer program product comprising instructions for decoding a video data signal. The method of encoding provides (401) a first image (10) of a scene associated with a first viewpoint, a depth map (20) associated with the first image, metadata (30) for use in depth map processing or rendering one or more views for further viewpoints by the multi-view rendering device, and generates (404) the video data signal. The video data signal comprises video frames partitioned in sub-images comprising a sub-image based on the first image and a depth sub-image based on the depth map, and metadata encoded in a color component of the depth sub-image.
Method of encoding a video data signal for use with a multi-view rendering device
The present invention relates to a method of encoding a video data signal for use with a multi-view rendering device, a method of decoding the video data signal, the video data signal, an encoder of the video data signal, a decoder of the video data signal, a computer program product comprising instructions for encoding the video data signal and a computer program product comprising instructions for decoding a video data signal. The method of encoding provides (401) a first image (10) of a scene associated with a first viewpoint, a depth map (20) associated with the first image, metadata (30) for use in depth map processing or rendering one or more views for further viewpoints by the multi-view rendering device, and generates (404) the video data signal. The video data signal comprises video frames partitioned in sub-images comprising a sub-image based on the first image and a depth sub-image based on the depth map, and metadata encoded in a color component of the depth sub-image.
Image compression and decompression
Clusters of pixels are defined for image compression and decompression. The image information used to define the clusters may include pixel values at predetermined positions relative to a pixel or related motion vectors, gradients, texture etc. During compression of images, image information relative to pixels is examined to determine the cluster to which it belongs. Thus pixels can be classified according to the cluster for their image information. In an embodiment the definitions of the clusters are selected dynamically, dependent on image content. For each cluster a control parameter set is computed for a post-processing operation, such as filter coefficients for filtering or statistical data for locally generating texture. The control parameter set is selected dependent on the image content so that, when the post-processing operation is applied to the image after decompression it will improve image quality for the pixels that are classified as belonging to the cluster.
Image compression and decompression
Clusters of pixels are defined for image compression and decompression. The image information used to define the clusters may include pixel values at predetermined positions relative to a pixel or related motion vectors, gradients, texture etc. During compression of images, image information relative to pixels is examined to determine the cluster to which it belongs. Thus pixels can be classified according to the cluster for their image information. In an embodiment the definitions of the clusters are selected dynamically, dependent on image content. For each cluster a control parameter set is computed for a post-processing operation, such as filter coefficients for filtering or statistical data for locally generating texture. The control parameter set is selected dependent on the image content so that, when the post-processing operation is applied to the image after decompression it will improve image quality for the pixels that are classified as belonging to the cluster.
Content aware uniform quality for quality-defined variable bitrate encoding of videos
Techniques for providing content aware uniform quality for quality-defined variable bitrate encoding of videos are described. According to some embodiments, a computer-implemented method includes receiving a request at a content delivery service to encode a live video at a quality level of a plurality of quality levels of a quality-defined variable bitrate encoding, determining features for a frame of the live video, generating a first predicted quantization parameter for the frame by a first machine learning model, trained for a first objective quality metric, receiving an input of the features and the quality level, performing a real time encode of the live video based at least in part on the first predicted quantization parameter to generate an encoded live video, and transmitting the encoded live video to a viewer device.
Selection of motion vector precision
Approaches to selection of motion vector (“MV”) precision during video encoding are presented. These approaches can facilitate compression that is effective in terms of rate-distortion performance and/or computational efficiency. For example, a video encoder determines an MV precision for a unit of video from among multiple MV precisions, which include one or more fractional-sample MV precisions and integer-sample MV precision. The video encoder can identify a set of MV values having a fractional-sample MV precision, then select the MV precision for the unit based at least in part on prevalence of MV values (within the set) having a fractional part of zero. Or, the video encoder can perform rate-distortion analysis, where the rate-distortion analysis is biased towards the integer-sample MV precision. Or, the video encoder can collect information about the video and select the MV precision for the unit based at least in part on the collected information.
Selection of motion vector precision
Approaches to selection of motion vector (“MV”) precision during video encoding are presented. These approaches can facilitate compression that is effective in terms of rate-distortion performance and/or computational efficiency. For example, a video encoder determines an MV precision for a unit of video from among multiple MV precisions, which include one or more fractional-sample MV precisions and integer-sample MV precision. The video encoder can identify a set of MV values having a fractional-sample MV precision, then select the MV precision for the unit based at least in part on prevalence of MV values (within the set) having a fractional part of zero. Or, the video encoder can perform rate-distortion analysis, where the rate-distortion analysis is biased towards the integer-sample MV precision. Or, the video encoder can collect information about the video and select the MV precision for the unit based at least in part on the collected information.