Abstract:
In one example, a video coder may be configured to determine that a slice of a picture of video data begins in a row of coding tree units (CTUs) in the picture at a position other than a beginning of the row. Based on the determination, the video coder may be further configured to determine that the slice ends within the row of CTUs. The video coder may be further configured to code the slice based on the determination that the slice ends within the row of CTUs.
Abstract:
A video encoder signals whether WPP is used to encode a picture of a sequence of video picture. If WPP is used to encode the picture, the video encoder generates a coded slice NAL unit that includes a plurality of sub-streams, each of which includes a consecutive series of bits that represents one encoded row of coding tree blocks (CTBs) in a slice of the picture. A video decoder receives a bitstream that includes the coded slice NAL unit. Furthermore, the video decoder may determine, based on a syntax element in the bitstream, that the slice is encoded using WPP and may decode the slice using WPP.
Abstract:
Techniques described herein for coding video data include techniques for coding pictures partitioned into tiles, in which each of the plurality of tiles in a picture is assigned to one of a plurality of tile groups. One example method for coding video data comprising a picture that is partitioned into a plurality tiles comprises coding video data in a bitstream, and coding, in the bitstream, information that indicates one of a plurality of tile groups to which each of the plurality of tiles is assigned. The techniques for grouping tiles described herein may facilitate improved parallel processing for both encoding and decoding of video bitstreams, improved error resilience, and more flexible region of interest (ROI) coding.
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 computing device, such as a video encoder, determines an initial quantized level for a coefficient of a coefficient block and determines whether the coefficient is less than the product of the initial quantized level and a quantization step size value. In response to determining that the coefficient is less than the product of the initial quantized level and the quantization step size value, the computing device determines rate-distortion costs of quantizing the coefficient to be the initial quantized level for the coefficient, the initial quantized level minus one, and in some circumstances, 0. The computing device determines an actual quantized level for the coefficient based at least in part on the calculated rate-distortion costs and includes the actual quantized level in a quantized version of the coefficient block.
Abstract:
In an example, a method of processing data includes determining, by a receiver device, an allowable excess delay parameter based on a difference between a time at which received data is received by the receiver device and a time at which the received data is scheduled to be played out, where the allowable excess delay parameter indicates an amount of delay that is supportable by a channel between a sender device and the receiver device. The method also includes determining, by the receiver device, a sender bit rate increase for increasing a bit rate at which data is to be sent from the sender device to the receiver device based on the determined allowable excess delay parameter, and transmitting an indication of the sender bit rate increase to the sender device.
Abstract:
The techniques are generally related to the coding of weighted prediction parameters. A video coder may determine the weighted prediction parameters for a reference picture list based on coded weighted prediction parameters for another reference picture list. Examples of the reference picture list include reference picture lists constructed for coding purposes, including a combined reference picture list.
Abstract:
In one example, an apparatus is disclosed for coding coefficients associated with a block of video data during a video coding process, wherein the apparatus includes a video coder configured to code x- and y-coordinates that indicate a position of a last non-zero coefficient within the block according to a scanning order associated with the block when the scanning order comprises a first scanning order, and code interchanged x- and y-coordinates that indicate the position of the last non-zero coefficient within the block according to the scanning order when the scanning order comprises a second scanning order, wherein the second scanning order is different than the first scanning order.
Abstract:
Techniques are described where a device that includes a video decoder outputs information identifying a picture to a device that includes a video encoder. The video encoder may determine pictures that could have been used to inter-prediction encode the identified picture and/or pictures following the identified picture in coding order. The video encoder may inter-prediction encode a current picture based on one or more of the determined pictures and/or the identified picture.
Abstract:
In one example, an apparatus is disclosed for coding coefficients associated with a block of video data during a video coding process, wherein the apparatus includes a video coder configured to code x- and y-coordinates that indicate a position of a last non-zero coefficient within the block according to a scanning order associated with the block when the scanning order comprises a first scanning order, and code interchanged x- and y-coordinates that indicate the position of the last non-zero coefficient within the block according to the scanning order when the scanning order comprises a second scanning order, wherein the second scanning order is different than the first scanning order.