Abstract:
In general, techniques are described for performing motion vector prediction for video coding. A video coding device comprising a processor may perform the techniques. The processor may be configured to determine a plurality of candidate motion vectors for a current block of the video data so as to perform the motion vector prediction process and scale one or more of the plurality of candidate motion vectors determined for the current block of the video data to generate one or more scaled candidate motion vectors. The processor may then be configured to modify the scaled candidate motion vectors to be within a specified range.
Abstract:
This disclosure relates to techniques for performing sample adaptive offset (SAO) processes in a video coding process. A video coder may store sets of SAO information. The SAO information may include data indicative of offset values. The video coder may also store mapping information that maps at least some of the sets of SAO information for one or more sequence partitions of a frame of video data. Additionally, the video coder may perform the SAO processes for one of the partitions of the frame based on the stored SAO information and the stored mapping information.
Abstract:
This disclosure describes techniques for determining transform partitions in video encoding processes that allow for non-square transform partitions in intra-coded blocks. According to one example of the disclosure, a video coding method comprise partitioning a coding unit into multiple prediction units, and determining a transform partition for each of the prediction units, wherein at least one transform partition is a non-square partition.
Abstract:
The disclosure provides a system and methods for encoding video data. The method can include storing a data structure in a memory, the data structure having a first plurality of data elements arranged corresponding to a second plurality of data elements of a first video data block, and defining a periphery, the data structure further including data related to all of a smallest prediction unit (PU) for the first video data block. The method can also include increasing a size of the data structure in the memory by adding a plurality of extended units along the periphery of the first plurality of data elements, each extended unit having data related to a smallest data element of the first video data block, the extended units being set to default values. The method can also comprise encoding the first video data block based on the data structure.
Abstract:
A video coding device may be configured to estimate, based on a combination of a first parameter and a number of non-zero coefficients in a frame, a number of bits for non-zero coefficients of the frame, to encode the frame based on the estimated number of bits for the non-zero coefficients, to collect an actual number of bits used to encode the non-zero coefficients of the frame and an actual number of the non-zero coefficients in the frame, to update, based on the actual number of bits used to encode the non-zero coefficients of the frame and the actual number of non-zero coefficients in the frame, only the first parameter to form an updated first parameter, to form a rate estimation model using the updated first parameter and a second parameter, and to select, based on the rate estimation model, a coding mode for each block in the frame.
Abstract:
A video coder performs a padding operation that processes a set of border pixels according to an order. The order starts at a bottom-left border pixel and proceeds through the border pixels sequentially to a top-right border pixel. When the padding operation processes an unavailable border pixel, the padding operation predicts a value of the unavailable border pixel based on a value of a border pixel previously processed by the padding operation. The video coder may generate an intra-predicted video block based on the border pixels.
Abstract:
The method may comprise receiving an indication of a size of a parallel motion estimation (PME) area, performing a motion vector prediction process on coding units having a size smaller than or equal to the PME area using a PME style candidate list construction process and the PME area, deriving an implicit PME area for coding units having a size larger than the PME area, and performing the motion vector prediction process on coding units having the size larger than the PME area using the PME style candidate list construction process and the implicit PME area.
Abstract:
Techniques for coding video data include coding a plurality of blocks of video data, wherein at least one block of the plurality of blocks of video data is coded using a coding mode that is one of an intra pulse code modulation (IPCM) coding mode and a lossless coding mode. In some examples, the lossless coding mode may use prediction. The techniques further include assigning a non-zero quantization parameter (QP) value for the at least one block coded using the coding mode. The techniques also include performing deblocking filtering on one or more of the plurality of blocks of video data based on the coding mode used to code the at least one block and the assigned non-zero QP value for the at least one block.
Abstract:
In one example, a device for decoding video data includes a memory configured to store video data and a video decoder configured to determine that a motion prediction candidate for a current block of video data indicates that motion information is to be derived for sub-blocks of the current block, in response to the determination: partition the current block into the sub-blocks, for each of the sub-blocks, derive motion information using motion information for at least two neighboring blocks, and decode the sub-blocks using the respective derived motion information.
Abstract:
In one example, an apparatus for context adaptive entropy coding may include a coder configured to determine one or more initialization parameters for a context adaptive entropy coding process based on one or more initialization parameter index values. The coder may be further configured to determine one or more initial context states for initializing one or more contexts of the context adaptive entropy coding process based on the initialization parameters. The coder may be still further configured to initialize the contexts based on the initial context states. In some examples, the initialization parameters may be included in one or more tables, wherein, to determine the initialization parameters, the coder may be configured to map the initialization parameter index values to the initialization parameters in the tables. Alternatively, the coder may be configured to calculate the initialization parameters using the initialization parameter index values and one or more formulas.