Patent classifications
H04N19/192
METHODS, DEVICES AND SYSTEMS FOR PARALLEL VIDEO ENCODING AND DECODING
A method for decoding a video bitstream is disclosed. The method comprises: entropy decoding a first portion of a video bitstream, wherein first portion of video bitstream is associated with a video frame, thereby producing a first portion of decoded data; entropy decoding a second portion of video bitstream, wherein second portion of video bitstream is associated with video frame, thereby producing a second portion of decoded data, wherein entropy decoding second portion of video bitstream is independent of entropy decoding first portion of video bitstream; and reconstructing a first portion of video frame associated with video bitstream using first portion of decoded data and second portion of decoded data.
SYSTEMS AND METHODS OF RATE CONTROL FOR MULTIPLE PASS VIDEO ENCODING
This disclosure is directed to systems and methods of rate control in multiple pass video encoding. The video encoder may complete multiple encoding passes for slices of an image. Rate control algorithms may be implemented that scale the quantization step size and quantization matrix values depending on the determined size of the image slices. This may enable the size of slices to be adjusted based on size parameters for the image data.
POINT CLOUD COMPRESSION METHOD, ENCODER, DECODER, AND STORAGE MEDIUM
Disclosed are a point cloud compression method, an encoder, a decoder, and a storage medium. In the method, the current block of a video to be encoded is obtained; geometric information of point cloud data of the current block and corresponding attribute information are determined; down-sampling is performed on the geometric information and the corresponding attribute information by using a sparse convolutional network so as to obtain hidden layer features; and the hidden layer features is compressed to obtain a compressed code stream.
Video intra prediction using hybrid recursive filters
An example method of decoding video data includes obtaining, from a coded video bitstream and for a current block of the video data, an indication of an intra-prediction mode that identifies an initial predictive block; filtering, in parallel, samples in a current line of a plurality of lines of the initial predictive block based on filtered values of samples in a preceding line of the plurality of lines and unfiltered values of samples in the current line to generate filtered values for samples for the current line; and reconstructing, using intra prediction, values of samples of the current block based on the filtered values of the samples of the current initial predictive block and residual data for the current block that represents a difference between the filtered values of the samples of the current initial predictive block and the values of samples of the current block.
Video intra prediction using hybrid recursive filters
An example method of decoding video data includes obtaining, from a coded video bitstream and for a current block of the video data, an indication of an intra-prediction mode that identifies an initial predictive block; filtering, in parallel, samples in a current line of a plurality of lines of the initial predictive block based on filtered values of samples in a preceding line of the plurality of lines and unfiltered values of samples in the current line to generate filtered values for samples for the current line; and reconstructing, using intra prediction, values of samples of the current block based on the filtered values of the samples of the current initial predictive block and residual data for the current block that represents a difference between the filtered values of the samples of the current initial predictive block and the values of samples of the current block.
TECHNIQUES FOR REDUCING CODING ARTIFACTS IN CODING SYSTEM
Techniques for reducing reduce coding artifacts in video data are disclosed. In one aspect, a frame of video data is partitioned into pixel blocks, which are organized into slices. The pixel blocks of each slice are coded by a compression algorithm and an estimate of coding artifacts in the slice is made. For slices that are estimated to possess coding artifacts, the method revises coding parameters applied to pixel blocks in the slice and recodes the slice. The method substitutes recoded slices for originally-coded slices in frame, working in a priority order from a slice with the highest estimated likelihood of coding artifacts down to slices with lower estimated likelihoods of coding artifacts, measuring changes in the frame's coding size as it goes. The likelihood of coding artifacts can be estimated from slice statistics that may be developed from a comparison of transform coefficients among the pixel blocks within a slice, from an evaluation of transform coefficients of a pixel block with a slice that is estimated to have a lowest spatial complexity, or from coded luma data of the pixel blocks within a slice. In a further aspect, slice statistics may be computed from pixel block data only for a subset of slices within a frame. Slice statistics for other slices may be derived from the statistics of neighboring slices. In another aspect, a method may revise coding parameters in iterative fashion working from an initialized value and estimate (without recoding them) data sizes of coded slices that may be obtained from the revised parameters. As the method operates, it may compare the coding parameters to parameters used in a first iteration of coding and terminate the iterative process for that slice if the first iteration coding parameters are higher than the revised parameter.
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.
Image processing method and image processing device
An image processing method includes: downsizing a current frame and a reference frame; dividing the down-sized current frame and the down-sized reference frame into multiple first current blocks and multiple first reference blocks, respectively; performing a first motion estimation to the first current blocks and the first reference blocks to generate multiple first motion vectors; dividing the current picture and the reference picture into multiple second current blocks and multiple second reference blocks, respectively; performing a second motion estimation to the second current blocks and the second reference blocks to generate multiple second motion vectors; and generating a compensated frame between the current frame and the reference frame according to the second motion vectors. The second motion estimation includes: performing a 3D recursive search for each second current block; and adjusting multiple estimation parameters in the 3D recursive search according to the first motion vector.
Image processing method and image processing device
An image processing method includes: downsizing a current frame and a reference frame; dividing the down-sized current frame and the down-sized reference frame into multiple first current blocks and multiple first reference blocks, respectively; performing a first motion estimation to the first current blocks and the first reference blocks to generate multiple first motion vectors; dividing the current picture and the reference picture into multiple second current blocks and multiple second reference blocks, respectively; performing a second motion estimation to the second current blocks and the second reference blocks to generate multiple second motion vectors; and generating a compensated frame between the current frame and the reference frame according to the second motion vectors. The second motion estimation includes: performing a 3D recursive search for each second current block; and adjusting multiple estimation parameters in the 3D recursive search according to the first motion vector.