Patent classifications
H04N19/192
DEEP PALETTE PREDICTION
Example embodiments allow for training of encoders (e.g., artificial neural networks (ANNs)) to generate a color palette based on an input image. The color palette can then be used to generate, using the input image, a quantized, reduced color depth image that corresponds to the input image. Differences between a plurality of such input images and corresponding quantized images are used to train the encoder. Encoders trained in this manner are especially suited for generating color palettes used to convert images into different reduced color depth image file formats. Such an encoder also has benefits, with respect to memory use and computational time or cost, relative to the median-cut algorithm or other methods for producing reduced color depth color palettes for images.
Adaptive motion vector precision for affine motion model based video coding
Systems and methods are described for video coding using affine motion models with adaptive precision. In an example, a block of video is encoded in a bitstream using an affine motion model, where the affine motion model is characterized by at least two motion vectors. A precision is selected for each of the motion vectors, and the selected precisions are signaled in the bitstream. In some embodiments, the precisions are signaled by including in the bitstream information that identifies one of a plurality of elements in a selected predetermined precision set. The identified element indicates the precision of each of the motion vectors that characterize the affine motion model. In some embodiments, the precision set to be used is signaled expressly in the bitstream; in other embodiments, the precision set may be inferred, e.g., from the block size, block shape or temporal layer.
Adaptive motion vector precision for affine motion model based video coding
Systems and methods are described for video coding using affine motion models with adaptive precision. In an example, a block of video is encoded in a bitstream using an affine motion model, where the affine motion model is characterized by at least two motion vectors. A precision is selected for each of the motion vectors, and the selected precisions are signaled in the bitstream. In some embodiments, the precisions are signaled by including in the bitstream information that identifies one of a plurality of elements in a selected predetermined precision set. The identified element indicates the precision of each of the motion vectors that characterize the affine motion model. In some embodiments, the precision set to be used is signaled expressly in the bitstream; in other embodiments, the precision set may be inferred, e.g., from the block size, block shape or temporal layer.
Encoding and decoding image data
Certain aspects of the present disclosure provide techniques for encoding image data for one or more images. In one embodiment, a method includes the steps of downscaling the one or more images, and encoding the one or more downscaled images using an image codec. Another embodiment concerns a computer-implemented method of decoding encoded image data, and a computer-implemented method of encoding and decoding image data.
IMAGE BLOCK-BASED MATCHING METHOD AND SYSTEM, AND VIDEO PROCESSING DEVICE
This application provides an image block matching method performed at a computing device, the method including: obtaining a target image block and an image; identifying a candidate image block within the image and multiple search points in the candidate image block; calculating a plurality of differences between the target image block and the candidate image block, each difference corresponding to a respective search point; choosing, among the plurality of differences, a smallest value and a corresponding smallest-value search point; and when the smallest-value search point is at the center of the target image block, choosing the candidate image block as a match of the target image block.
Optimal multi-codec ABR ladder design
Techniques are disclosed for the creation of multi-codec encoding profiles (or encoding ladders), which define quality and bitrate for each of the streams made available to clients for streaming a video. In particular, optimization techniques may take into account a quality rate function of each of the codecs when determining the encoding ladder. Additional considerations may include a network bandwidth distribution and/or a distribution of client types.
PICTURE CODING METHOD, PICTURE CODING APPARATUS, PICTURE DECODING METHOD, AND PICTURE DECODING APPARATUS
A picture coding method includes: performing a first derivation process for deriving a first merging candidate which includes a candidate set of a prediction direction, a motion vector, and a reference picture index for use in coding of a current block;
performing a second derivation process for deriving a second merging candidate; selecting a merging candidate to be used in the coding of the current block from among the first and second merging candidates; and attaching an index for identifying the selected merging candidate to the bitstream; wherein the first derivation process is performed so that a total number of the first merging candidates does not exceed a predetermined number, and the second derivation process is performed when the total number of the first merging candidates is less than a predetermined maximum number of merging candidates.
METHOD AND DEVICE FOR ENCODING/DECODING DEEP NEURAL NETWORK MODEL
Disclosed herein are a method and apparatus for encoding/decoding a deep neural network. According to the present disclosure, the method for decoding a deep neural network may include: in a plurality of layers of the deep neural network, entropy decoding quantization information for a current layer; performing dequantization on the current layer; and obtaining a plurality of layers of the deep neural network. At least one of global quantization and local quantization is performed on the current layer.
Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
Systems and methods for reducing latency through motion estimation and compensation techniques are disclosed. The systems and methods include a client device that uses transmitted lookup tables from a remote server to match user input to motion vectors, and tag and sum those motion vectors. When a remote server transmits encoded video frames to the client, the client decodes those video frames and applies the summed motion vectors to the decoded frames to estimate motion in those frames. In certain embodiments, the systems and methods generate motion vectors at a server based on predetermined criteria and transmit the generated motion vectors and one or more invalidators to a client, which caches those motion vectors and invalidators. The server instructs the client to receive input from a user, and use that input to match to cached motion vectors or invalidators. Based on that comparison, the client then applies the matched motion vectors or invalidators to effect motion compensation in a graphic interface. In other embodiments, the systems and methods cache repetitive motion vectors at a server, which transmits a previously generated motion vector library to a client. The client stores the motion vector library, and monitors for user input data. The server instructs the client to calculate a motion estimate from the input data and instructs the client to update the stored motion vector library based on the input data, so that the client applies the stored motion vector library to initiate motion in a graphic interface prior to receiving actual motion vector data from the server. In this manner, latency in video data streams is reduced.
Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
Systems and methods for reducing latency through motion estimation and compensation techniques are disclosed. The systems and methods include a client device that uses transmitted lookup tables from a remote server to match user input to motion vectors, and tag and sum those motion vectors. When a remote server transmits encoded video frames to the client, the client decodes those video frames and applies the summed motion vectors to the decoded frames to estimate motion in those frames. In certain embodiments, the systems and methods generate motion vectors at a server based on predetermined criteria and transmit the generated motion vectors and one or more invalidators to a client, which caches those motion vectors and invalidators. The server instructs the client to receive input from a user, and use that input to match to cached motion vectors or invalidators. Based on that comparison, the client then applies the matched motion vectors or invalidators to effect motion compensation in a graphic interface. In other embodiments, the systems and methods cache repetitive motion vectors at a server, which transmits a previously generated motion vector library to a client. The client stores the motion vector library, and monitors for user input data. The server instructs the client to calculate a motion estimate from the input data and instructs the client to update the stored motion vector library based on the input data, so that the client applies the stored motion vector library to initiate motion in a graphic interface prior to receiving actual motion vector data from the server. In this manner, latency in video data streams is reduced.