H04N19/142

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.

TRANSMISSION DEVICE, TRANSMISSION METHOD, AND PROGRAM
20230121046 · 2023-04-20 ·

Provided are a transmission device, a transmission method, and a program capable of performing rate control suitable for an image quality priority image. A basic parameter value decision section (28a) decides, for a frame image that is not an image quality priority image, values of parameters used for encoding an encoding unit that is a part or whole of the frame image, by applying the difference between a control amount and a target value to a predetermined control rule. An image quality priority parameter value decision section (28b) decides, for the frame image that is the image quality priority image, values by which the data size of the generated image data becomes larger than those decided by applying the difference between the control amount and the target value to the predetermined control rule as the values of the parameters used for the encoding unit of the frame image.

TRANSMISSION DEVICE, TRANSMISSION METHOD, AND PROGRAM
20230121046 · 2023-04-20 ·

Provided are a transmission device, a transmission method, and a program capable of performing rate control suitable for an image quality priority image. A basic parameter value decision section (28a) decides, for a frame image that is not an image quality priority image, values of parameters used for encoding an encoding unit that is a part or whole of the frame image, by applying the difference between a control amount and a target value to a predetermined control rule. An image quality priority parameter value decision section (28b) decides, for the frame image that is the image quality priority image, values by which the data size of the generated image data becomes larger than those decided by applying the difference between the control amount and the target value to the predetermined control rule as the values of the parameters used for the encoding unit of the frame image.

CONTENT ADAPTIVE QUANTIZATION FOR VIDEO CODING
20230164320 · 2023-05-25 · ·

Techniques related to coding video using adaptive quantization rounding offsets for use in transform coefficient quantization are discussed. Such techniques may include determining the value of a quantization rounding offset for a picture of a video sequence based on evaluating a maximum coding bit limit of the picture, a quantization parameter of the picture, and parameters corresponding to the video.

CONTENT ADAPTIVE QUANTIZATION FOR VIDEO CODING
20230164320 · 2023-05-25 · ·

Techniques related to coding video using adaptive quantization rounding offsets for use in transform coefficient quantization are discussed. Such techniques may include determining the value of a quantization rounding offset for a picture of a video sequence based on evaluating a maximum coding bit limit of the picture, a quantization parameter of the picture, and parameters corresponding to the video.

BUFFER DRAIN RATE TUNING TO A MEASURED MAXIMUM RECEIVE BANDWIDTH MEASURED FOR A CLIENT DEVICE WHEN STREAMING
20230115947 · 2023-04-13 ·

A method for cloud gaming. The method including generating a plurality of video frames when executing a video game at a cloud gaming server. The method including encoding the plurality of video frames at an encoder bit rate, wherein the plurality of video frames that is compressed is transmitted to a client from a streamer of the cloud gaming server. The method including measuring a maximum receive bandwidth of a client. The method including monitoring the encoding of the plurality of video frames at the streamer. The method including dynamically tuning a parameter of the encoder based on the monitoring of the encoding.

BUFFER DRAIN RATE TUNING TO A MEASURED MAXIMUM RECEIVE BANDWIDTH MEASURED FOR A CLIENT DEVICE WHEN STREAMING
20230115947 · 2023-04-13 ·

A method for cloud gaming. The method including generating a plurality of video frames when executing a video game at a cloud gaming server. The method including encoding the plurality of video frames at an encoder bit rate, wherein the plurality of video frames that is compressed is transmitted to a client from a streamer of the cloud gaming server. The method including measuring a maximum receive bandwidth of a client. The method including monitoring the encoding of the plurality of video frames at the streamer. The method including dynamically tuning a parameter of the encoder based on the monitoring of the encoding.

Apparatus, a method and a computer program for video coding and decoding

A method includes maintaining a set of parameters or weights derived through online learning for a neural net; transmitting an update of the parameters or weights to a decoder; deriving a first prediction block based on an output of the neural net using the parameters or weights; deriving a first encoded prediction error block through encoding a difference of the first prediction block and a first input block; encoding the first encoded prediction error block into a bitstream; deriving a reconstructed prediction error block based on the first encoded prediction error block; deriving a second prediction block based on an output of the neural net using the parameters or weights and the reconstructed prediction error block; deriving a second encoded prediction error block through encoding a difference of the second prediction block and a second input block; and encoding the second encoded prediction error block into a bitstream.

ENCODING A VIDEO FRAME AS A REFERENCE FRAME BASED ON A SCENE CHANGE HINT AT A CLOUD GAMING SERVER
20230138708 · 2023-05-04 ·

A method for encoding including executing game logic built on a game engine of a video game at a cloud gaming server to generate video frames. The method including executing scene change logic to predict a scene change in the video frames based on game state collected during execution of the game logic. The method including identifying a range of video frames that is predicted to include the scene change. The method including generating a scene change hint using the scene change logic, wherein the scene change hint identifies the range of video frames, wherein the range of video frames includes a first video frame. The method including delivering the first video frame to an encoder. The method including sending the scene change hint from the scene change logic to the encoder. The method including encoding the first video frame as an I-frame based on the scene change hint.