Abstract:
An apparatus for coding video data according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores video data. The video data may include a base layer comprising samples with a lower bit depth and an enhancement layer comprising samples with a higher bit depth. The processor predicts the values of samples in the enhancement layer based on the values of samples in the base layer. The prediction performed by the processor includes applying a preliminary mapping to the base layer samples to obtain preliminary predictions, and then applying adaptive adjustments to the preliminary predictions to obtain refined predictions. Parameters used for the adaptive adjustments may depend on the values and distribution of base layer samples. The processor may encode or decode the video data.
Abstract:
Techniques are described for improving intra-subpartitioning (ISP) mode for splitting coding blocks into sub-blocks. In some cases, whether ISP mode is enabled for a coding block is based on size constraints pertaining to data units (e.g., VPDUs, transform blocks, among others). For instance, based on a size constraint related to a VPDU, the ISP mode can be disabled for coding blocks crossing VPDU boundaries. In some cases, whether to enable ISP mode may be based on comparison of the width and/or height of the coding block to size thresholds corresponding to one or more maximum transform block sizes. In some cases, where the ISP mode is enabled for a coding block, a value of a flag used for defining a type of split, horizontal or vertical, for the coding block, can be inferred based on the width and/or height of the coding block relative to one or more thresholds.
Abstract:
Provided are systems and methods for processing 360-degree video data by obtaining a 360-degree rectangular formatted projected picture, the 360-degree rectangular formatted projected picture including a first region with a region boundary and a first region area; identifying coding tree units (CTUs) within the first region area; selectively identifying a first coding unit (CU) and a second CU from within the CTUs; determining an initial QP value for the first CU; determining an initial QP value for the second CU; identifying the first CU as a region boundary CU; identifying the second CU as a non-region boundary CU; reducing the initial QP value for the first CU to a final first QP value in response to identifying the first CU as a region boundary CU, and generating an encoded video bitstream comprising: the final QP value for the first CU, and the initial QP value for the second CU.
Abstract:
Techniques and systems are provided for processing 360-degree video data. For example, a picture of the 360-degree video data can be obtained. The picture can include samples projected from a three-dimensional format to a two-dimensional format. A weight value can be determined for at least one sample of the picture. The weight value can be determined based at least on a position of the at least one sample in the picture. At least one adaptive parameter can be determined for the at least one sample using the determined weight value. The at least one adaptive parameter can include one or more of an adaptive weighted distortion, an adaptive weighted quantization parameter value, or an adaptive weighted lambda value. A cost associated with coding the at least one sample using one or more coding modes can be determined using the at least one adaptive parameter of the at least one sample.
Abstract:
Provided are systems and methods for processing 360-degree video data. In various implementations, a spherical representation of a 360-degree video frame can be segmented into a top region, a bottom region, and a middle region. The middle region can be mapped into one or more rectangular areas of an output video frame. The top region can be mapped into a first rectangular area of the output video frame using a mapping that converts a square to a circle, such that pixels in the circular top region are expanded to fill the first rectangular region. The bottom region can be mapped into a second rectangular area of the output video frame such that pixels in the circular bottom region are expanded to fill the second rectangular region.
Abstract:
Provided are systems and methods for processing 360-degree video data by obtaining a 360-degree rectangular formatted projected picture, where the 360-degree rectangular formatted projected picture includes at least a first region, the at least first region includes at least one region boundary, and the at least first region includes a first region area; determining at least one guard band area located within the first region area, where the at least one guard band area is located alongside the at least one region boundary, and the first region area further includes a projected region area located outside the at least one guard band area; and coding a current coding block in the at least one guard band area using at least one additional guard band sample.
Abstract:
Techniques and systems are provided for processing 360-degree video data. For example, 360-degree video data can be obtained that includes a representation including spherical video data mapped to faces of a geometry. The representation includes a viewport corresponding to an orientation in a 360-degree scene. A window can be determined on a spherical representation of the 360-degree scene at the orientation corresponding to the viewport of the representation. The window is determined based on a front face of the geometry corresponding to the representation. A viewport-aware quality metric can then be determined for the window on the spherical representation of the 360-degree scene.
Abstract:
An example method includes determining whether an encoded block of residual video data was encoded losslessly in accordance with a lossless coding mode, based on whether transform operations were skipped during encoding of the block of residual video data, and if the block of residual video data was encoded losslessly, then decoding the encoded block of residual video data according to the lossless coding mode to form a reconstructed block of residual video data, where decoding the encoded block of residual data comprises bypassing quantization and sign hiding while decoding the encoded block of residual video data, and bypassing all loop filters with respect to the reconstructed block of residual video data.
Abstract:
Techniques are described for providing continuous control of a deblocking filter for a video block using a beta offset parameter. Deblocking filters are defined based on one or more deblocking decisions. Conventionally, a quantization parameter and a beta offset parameter are used to identify a beta parameter (“β”) value that determines threshold values of the deblocking decisions. The value of the beta offset parameter results in a change or increment of the β value. For small increments of the β value, rounding of the threshold values may result in no change and discontinuous control of the deblocking decisions. The techniques include calculating at least one deblocking decision for the deblocking filter according to a threshold value that has been modified based on a multiplier value of the beta offset parameter. The multiplier value applied to the beta offset parameter causes an integer change in the modified threshold value.
Abstract:
A video encoder signals, in a bitstream, a syntax element that indicates whether a current video unit is predicted from a VSP picture. The current video unit is a macroblock or a macroblock partition. The video encoder determines, based at least in part on whether the current video unit is predicted from the VSP picture, whether to signal, in the bitstream, motion information for the current video unit. A video decoder decodes the syntax element from the bitstream and determines, based at least in part on the syntax element, whether the bitstream includes the motion information.