H04N19/521

Adaptive Affine Motion Compensation Unit Determining in Video Picture Coding Method, Video Picture Decoding Method, Coding Device, and Decoding Device
20230077431 · 2023-03-16 ·

The present disclosure provides a video picture coding method, a video picture decoding method, a coding device, and a decoding device. The method includes: determining a distance between control points for an affine picture block; determining a motion vector difference for the affine picture block, motion vectors of the control points being used to determine the motion vector difference; and performing coding processing on the affine picture block over a size that includes a horizontal length and a vertical length, wherein the horizontal length and the vertical length vary based on the distance between the control points, the motion vector difference, and a motion vector precision.

Multiple history based non-adjacent MVPs for wavefront processing of video coding

An example device for coding video data includes a memory configured to store video data; and one or more processing units implemented in circuitry and configured to: store motion information for a first coding tree unit (CTU) line of a picture in a first history motion vector predictor (MVP) buffer of the memory; reset a second history MVP buffer of the memory; and after resetting the second history MVP buffer, store motion information for a second CTU line of the picture in the second history MVP buffer, the second CTU line being different than the first CTU line. Separate threads of a video coding process executed by the one or more processors may process respective CTU lines, in some examples.

SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM INCLUDING PROGRAM FOR PROVIDING LIVE VIDEO DISTRIBUTION SERVICE
20230132371 · 2023-04-27 · ·

According to one embodiment of the present invention, a live video distribution server helps users appropriately perform the live video distribution. The server provides users with a live video distribution (e.g., live streaming) service for distributing and watching live videos via the user terminals. The server generates advice information to a distributor and displays the advice information on a distributor screen. This configuration may allow users to perform the live video distribution while referring to the advice information presented in real-time.

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.

Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
11601670 · 2023-03-07 · ·

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.

Encoder, decoder, encoding method, and decoding method

An encoder encodes a video, and includes: circuitry; and memory coupled to the circuitry. Using the memory, the circuitry: obtains at least two items of prediction information for a first partition included in the video; derives at least one template from neighboring samples which neighbor the first partition; calculates at least two costs, using the at least one template and the at least two items of prediction information; using the at least two costs, (i) determines at least one splitting direction for the first partition or (ii) assigns one of the at least two items of prediction information to a second partition split from the first partition according to the splitting direction, and another thereof to a third partition split from the first partition according to the splitting direction; and encodes the first partition according to the splitting direction and the at least two items of prediction information.

Motion compensation method and module, chip, electronic device and storage media

The present disclosure relates to a motion compensation method and module, a chip, an electronic device, and a storage medium, to improve the problem of haloes easily appearing on the edges of moving objects.

PREDICTIVE MOTION VECTOR CODING
20230117479 · 2023-04-20 ·

Overlapped block disparity estimation and compensation is described. Compensating for images with overlapped block disparity compensation (OBDC) involves determining if OBDC is enabled in a video bit stream, and determining if OBDC is enabled for one or more macroblocks that neighbor a first macroblock within the video bit stream. The neighboring macroblocks may be transform coded. If OBDC is enabled in the video bit stream and for the one or more neighboring macroblocks, predictions may be made for a region of the first macroblock that has an edge adjacent with the neighboring macroblocks. OBDC can be causally applied. Disparity compensation parameters or modes may be shared amongst views or layers. A variety of predictions may be used with causally-applied OBDC.

METHODS AND APPARATUS FOR REDUCING THE CODING LATENCY OF DECODER-SIDE MOTION REFINEMENT
20230120362 · 2023-04-20 ·

Embodiments of video coding systems and methods are described for reducing coding latency introduced by decoder-side motion vector refinement (DMVR). In one example, two non-refined motion vectors are identified for coding of a first block of samples (e.g. a first coding unit) using bi-prediction. One or both of the non-refined motion vectors are used to predict motion information for a second block of samples (e.g. a second coding unit). The two non-refined motion vectors are refined using DMVR, and the refined motion vectors are used to generate a prediction signal of the first block of samples. Such embodiments allow the second block of samples to be coded substantially in parallel with the first block without waiting for completion of DMVR on the first block. In additional embodiments, optical-flow-based techniques are described for motion vector refinement.

MULTIPLE HISTORY BASED NON-ADJACENT MVPs FOR WAVEFRONT PROCESSING OF VIDEO CODING

An example device for coding video data includes a memory configured to store video data; and one or more processing units implemented in circuitry and configured to: store motion information for a first coding tree unit (CTU) line of a picture in a first history motion vector predictor (MVP) buffer of the memory; reset a second history MVP buffer of the memory; and after resetting the second history MVP buffer, store motion information for a second CTU line of the picture in the second history MVP buffer, the second CTU line being different than the first CTU line. Separate threads of a video coding process executed by the one or more processors may process respective CTU lines, in some examples.