Abstract:
Techniques are described that can be used to either compress or expand video. Color compression techniques are described that can be used to compress the wide color gamut content into lower color gamut for inclusion in a baseline layer. Color expansion techniques are described that convert lower color gamut data into wider color gamut format for inclusion in an enhancement layer. Both of the baseline video stream and enhancement layer video streams may be transmitted through a channel or stored in a memory device to be viewed later. Accordingly, both baseline and enhancement video layers are available so that either lower or higher quality displays can be used to display video.
Abstract:
To let decoder side motion vector derivation (DMVD) coded blocks be decoded in parallel, decoder side motion estimation (ME) dependency on spatially neighboring reconstructed pixels can be removed. Mirror ME and projective ME are only performed on two reference pictures, and the spatially neighboring reconstructed pixels will not be considered in the measurement metric of the decoder side ME. Also, at a video decoder, motion estimation for a target block in a current picture can be performed by calculating a motion vector for a spatially neighboring DMVD block, using the calculated motion vector to predict motion vectors of neighboring blocks of the DMVD block, and decoding the DMVD block and the target block in parallel. In addition, determining a best motion vector for a target block in a current picture can be performed by searching only candidate motion vectors in a search window, wherein candidate motion vectors are derived from a small range motion search around motion vectors of neighboring blocks.
Abstract:
Techniques to identify one or more candidate reference blocks used to generate a prediction block to encode a current coding block. The candidate reference blocks can be in the same layer as the current coding block or a different layer. In addition, the candidate reference blocks do not have to be co-located with the current coding block. Motion vectors and shift vectors can be used to identify the one or more candidate reference blocks. In addition, uniform and non-uniform weighting can be applied to the one or more candidate reference blocks to generate the prediction block. Accordingly, an encoder can determine and identify reference blocks to a decoder that can provide desirable rate-distortion cost.
Abstract:
Methods, systems, and computer program products for the generation of multiple layers of scaled encoded video data compatible with the HEVC standard. Residue from prediction processing may be transformed into coefficients in the frequency domain. The coefficients may then be sampled to create a layer of encoded data. The coefficients may be sampled in different ways to create multiple respective layers. The layers may then be multiplexed and sent to a decoder. There, one or more of the layers may be chosen. The choice of certain layer(s) may be dependent on the desired attributes of the resulting video. A certain level of video quality, frame rate, resolution, and/or bit depth may be desired, for example. The coefficients in the chosen layers may then be assembled to create a version of the residue to be used in video decoding.
Abstract:
A video encoder may use an adaptive Wiener filter inside the core video encoding loop to improve coding efficiency. In one embodiment, the Wiener filter may be on the input to a motion estimation unit and, in another embodiment, it may be on the output of a motion compensation unit. The taps for the Wiener filter may be determined based on characteristics of at least a region of pixel intensities within a picture. Thus, the filtering may be adaptive in that it varies based on the type of video being processed.
Abstract:
Adaptive filtering may be used to increase the quality of tone mapped, baseline layer encoded information. As a result, scalable video codecs may be implemented with improved picture quality in some embodiments.