Abstract:
Systems, methods, and computer-readable storage media are provided for decoded picture buffer (DPB) operations and rewriting access unit delimiters (AUDs) after bitstream extractions. An example method can include storing one or more pictures associated with an access unit (AU) in a decoded picture buffer (DPB), the AU including a first plurality of pictures, the first plurality of pictures corresponding to a plurality of video coding layers; after each picture of a second plurality of pictures associated with the AU is removed from a coded picture buffer (CPB), removing at least one picture of the one or more pictures from the DPB; and storing, in the DPB, each picture of the second plurality of pictures removed from the CPB.
Abstract:
Systems, methods, and media are provided for video coding, including loop filtering. One example includes obtaining the video data comprising one or more pictures and determining a sample of the one or more pictures to be filtered using a loop filter. A shift variable associated with the sample is determined, and a rounding value is selected based on the shift variable. A modified sample is generated, the modified sample being generated at least in part by modifying a value of the sample using one or more filter coefficients, one or more clipping values of the loop filter, the rounding value, and the shift variable. The modified sample is then output.
Abstract:
Systems, methods, and media are provided for loop filtering across raster scan slices. One example includes obtaining the video data comprising one or more pictures and a first block of a picture having a pixel subject to filtering. A second block is determined to be located in the first slice in a particular relation to the second block. A third block that includes pixels for filtering the pixel is determined to be in a second slice at a diagonal corner of the first block, with filtering across slice boundaries disabled. First one or more pixels of the second block are identified as available for performing loop filtering of the pixel and second one or more pixels of the third block identified as unavailable for performing the loop filtering of the pixel of the first block. The first one or more pixels and the second one or more pixels are padded.
Abstract:
Systems, methods, and computer-readable media are provided for simplification of clipping value calculations for adaptive loop filtering. An example method can include obtaining video data including one or more pictures; obtaining a block of a picture from the one or more pictures; determining clipping values for a filter, the clipping values corresponding to a luma component in the picture and/or a chroma component in the picture, wherein each clipping value is determined by left shifting a first integer by a second integer, the second integer including a result of a bit depth value for a sample from the picture minus an offset value associated with a clipping index value; and applying the filter to the block.
Abstract:
Techniques are described for improving transform coding. For example, an encoded block of video data can be obtained, and a width and/or a height of the block can be determined. The width can be compared to a first threshold and/or the height can be compared to a second threshold. A horizontal transform and a vertical transform can be determined for the block based on comparing the width of the block to the first threshold and/or the height of the block to the second threshold. The horizontal transform and the vertical transform are determined without decoding a syntax element that indicates the horizontal transform and the vertical transform (e.g., the syntax element is not in an encoded video bitstream processed by a decoding device). In some cases, residual data is determined using the horizontal and vertical transforms, and a video block is determined using the residual data and a predictive block.
Abstract:
An apparatus configured to code video information includes a memory and a processor in communication with the memory. The memory is configured to store video information associated with a reference layer and an enhancement layer, the reference layer associated with a reference layer (RL) codec and the enhancement layer associated an enhancement layer (EL) codec. The processor is configured to determine whether the RL codec associated with the reference layer is a particular type of codec, and in response to determining that the RL codec is a particular type of codec, process, in a video bitstream, an indication that motion information of the reference layer cannot be used to code the enhancement layer. The processor may encode or decode the video information.
Abstract:
An apparatus configured to code video information includes a memory unit and a processor in communication with the memory unit. The memory unit is configured to store video information associated with a current layer and an enhancement layer, the current layer having a current picture. The processor is configured to determine whether the current layer may be coded using information from the enhancement layer, determine whether the enhancement layer has an enhancement layer picture corresponding to the current picture, and in response to determining that the current layer may be coded using information from the enhancement layer and that the enhancement layer has an enhancement layer picture corresponding to the current picture, code the current picture based on the enhancement layer picture. The processor may encode or decode the video information.
Abstract:
An apparatus configured to code video information includes a memory unit and a processor in communication with the memory unit. The memory unit is configured to store video information associated with an enhancement layer having a first block and a base layer having a second block, the second block in the base layer corresponding to the first block in the enhancement layer. The processor is configured to predict, by inter layer prediction, the first block in the enhancement layer based on information derived from the second block in the base layer. At least a portion of the second block is located outside of a reference region of the base layer, the reference region being available for use for the inter layer prediction of the first block. The processor may encode or decode the video information.
Abstract:
An apparatus configured to code video information includes a memory unit and a processor in communication with the memory unit. The memory unit is configured to store video information associated with a base layer and an enhancement layer. The video information comprises at least one enhancement layer (EL) block and at least one co-located base layer (BL) block. The co-located BL block has motion information associated therewith. The processor is configured to, in response to determining that the size of the EL block is smaller than a threshold size, either (1) use less than all of the motion information associated with the co-located BL block to code the EL block, or (2) refrain from using any motion information associated with the co-located BL block to code the EL block. The processor may encode or decode the video information.
Abstract:
An apparatus for coding video information according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores video information associated with a reference layer and a corresponding enhancement layer. The processor receives a mode list associated with the enhancement layer, the mode list comprising three entities, each entity identifying a different mode for determining a value of a video unit located at a position within the enhancement layer. The processor changes the mode list when a mode associated with a co-located video unit in the reference layer is not stored as the first entity in the mode list. The co-located video unit is located at a position in the reference layer corresponding to the position of the video unit in the enhancement layer.