Patent classifications
H04N19/56
Simplification of hash-based motion searching
Methods, systems and device for hash-based motion estimation in video coding are described. An exemplary method of video processing includes determining, for a conversion between a current block of a video and a bitstream representation of the video, motion information associated with the current block using a hash-based motion search, a size of the current block being M×N, M and N being positive integers and M being not equal to N, applying, based on the motion information and a video picture comprising the current block, a prediction for the current block, and performing, based on the prediction, the conversion.
SYSTEMS AND METHODS FOR GAME-GENERATED MOTION VECTORS
Systems and methods for integrated graphics rendering are disclosed. In certain embodiments, the systems and methods utilize a graphics engine, a video encoding engine, and remote client coding engine to render graphics over a network. The systems and methods involve the generation of per-pixel motion vectors, which are converted to per-block motion vectors at the graphics engine. The graphics engine injects these per-block motion vectors into a video encoding engine, such that the video encoding engine may convert those vectors into encoded video data for transmission to the remote client coding engine.
ADAPTIVE BILATERAL MATCHING FOR DECODER SIDE MOTION VECTOR REFINEMENT FOR VIDEO CODING
An example method of encoding or decoding video data includes determining a motion vector for a block of video data using a decoder side motion vector derivation process that includes performing an iterative search process, wherein performing the iterative search process includes: determining a minimum cost through a previous search iteration; updating an overall minimum cost through a current search iteration; and terminating the iterative search process early based on a comparison of the minimum cost through the previous search iteration and the overall minimum cost through the current search iteration; and encoding or decoding the block of video data using the motion vector.
MOTION SEARCH METHOD AND APPARATUS, ELECTRONIC DEVICE AND STORAGE MEDIUM
A method includes: performing a first diamond search according to an initial point determined from points in a search window, a search step size being incremented by i.sup.th power of 2, i being a natural number, 0≤i≤N; and performing the following first processing: acquiring an updated initial point and an optimization range, the optimization range being less than 2.sup.N; performing a second diamond search according to the initial point, wherein, prior to a search with a search step size larger than the optimization range, if it is determined that an ending condition is met, the diamond search is ended and a corresponding second optimal point is determined; and determining a required optimal motion vector according to the second optimal point if the second optimal point meets a predetermined requirement, and otherwise, repeating the first processing.
CODING METHOD AND APPARATUS WITH CANDIDATE MOTION VECTORS
A transmitting method for transmitting a bitstream to a terminal is provided. The bit stream is generated by coding a current block of a picture and has an index for identifying a motion vector candidate from a motion vector candidate list. The motion vector candidate list is generated and includes motion vector candidates and a value for each motion vector candidate. A second candidate is arranged before a first candidate in the motion vector candidate list. The first candidate is sorted before the second candidate in the motion vector candidate list based on the values of the first and second candidates. The value of the first candidate is higher than the value of the second candidate. For each motion vector candidate, the value is based on a number of times the motion vector candidate is selected as a motion vector predictor for neighboring blocks.
CODING METHOD AND APPARATUS WITH CANDIDATE MOTION VECTORS
A transmitting method for transmitting a bitstream to a terminal is provided. The bit stream is generated by coding a current block of a picture and has an index for identifying a motion vector candidate from a motion vector candidate list. The motion vector candidate list is generated and includes motion vector candidates and a value for each motion vector candidate. A second candidate is arranged before a first candidate in the motion vector candidate list. The first candidate is sorted before the second candidate in the motion vector candidate list based on the values of the first and second candidates. The value of the first candidate is higher than the value of the second candidate. For each motion vector candidate, the value is based on a number of times the motion vector candidate is selected as a motion vector predictor for neighboring blocks.
Sub-prediction unit based advanced temporal motion vector prediction
In one example, a device for coding video data includes a memory configured to store video data and a video coder configured to form, for a current block of the video data, a merge candidate list including a plurality of merge candidates, the plurality of merge candidates including four spatial neighboring candidates from four neighboring blocks to the current block and, immediately following the four spatial neighboring candidates, an advanced temporal motion vector prediction (ATMVP) candidate, code an index into the merge candidate list that identifies a merge candidate of the plurality of merge candidates in the merge candidate list, and code the current block of video data using motion information of the identified merge candidate.
Sub-prediction unit based advanced temporal motion vector prediction
In one example, a device for coding video data includes a memory configured to store video data and a video coder configured to form, for a current block of the video data, a merge candidate list including a plurality of merge candidates, the plurality of merge candidates including four spatial neighboring candidates from four neighboring blocks to the current block and, immediately following the four spatial neighboring candidates, an advanced temporal motion vector prediction (ATMVP) candidate, code an index into the merge candidate list that identifies a merge candidate of the plurality of merge candidates in the merge candidate list, and code the current block of video data using motion information of the identified merge candidate.
Video coding and decoding
A method of encoding a motion vector predictor index, in particular a Merge index, comprises generating a list of motion vector predictor candidates, in particular merge candidates. The list includes an ATMVP candidate. One of the motion vector predictor candidates in the list is selected. A motion vector predictor index for the selected motion vector predictor candidate is generated using CABAC coding. One or more bits of the motion vector predictor index are bypass CABAC coded. For example, only the first bit of the motion vector predictor index is CABAC coded using a single context.
Video coding and decoding
A method of encoding a motion vector predictor index, in particular a Merge index, comprises generating a list of motion vector predictor candidates, in particular merge candidates. The list includes an ATMVP candidate. One of the motion vector predictor candidates in the list is selected. A motion vector predictor index for the selected motion vector predictor candidate is generated using CABAC coding. One or more bits of the motion vector predictor index are bypass CABAC coded. For example, only the first bit of the motion vector predictor index is CABAC coded using a single context.