Abstract:
Techniques are disclosed involving contrast adjustment for images. For example, an input image is classified based on its pixel value characteristics, as expressed in an input brightness histogram. From such a classification, a target histogram distribution for a corresponding output image (i.e., a contrast-adjusted transformation of the input image) may be specified. With the target histogram of the output image specified, a transformation function may be derived that maps input image values to output image values. Moreover, transitions of such transformation functions may be smoothed. Such smoothing may provide advantages, such as a reduction in flickering associated with video data.
Abstract:
Systems, devices and methods for performing low memory access candidate-based decoder-side motion vector determination (DMVD) are described. The number of candidate motion vectors (MVs) searched may be confined by limiting the range of pixels associated with candidate MVs to a pre-defined window. Reference windows may then be loaded into memory only once for both DMVD and motion compensation (MC) processing. Reference window size may be adapted to different PU sizes. Further, various schemes are described for determining reference window positions.
Abstract:
Video compression encoding includes intra and inter prediction to reduce spatial and temporal redundancies in video. Prediction results or residuals represent differences between original video pixel values and predicted pixel values. The prediction residuals may be transformed into coefficients, referred to as transform coefficients, in the frequency domain. The transform coefficients may be quantized and entropy encoded. The transform coefficients can be sub-sampled prior to quantization to reduce their number. For example, sub-sampling may reduce more high frequency components than low frequency components represented in the transform coefficients. Therefore, sub-sampling reduces the number of transform coefficients that need to be quantized, reduces quantization complexity, and correspondingly increases throughput in the encoding.
Abstract:
Systems, devices and methods for performing luma-based chroma ultra prediction are described. Down-sample filters may be applied to luma values of luma pixel positions to generate reconstructed luma values for chroma pixel positions in a prediction unit of an intra frame. The down-sampled reconstructed luma values may then be used to predict chroma values for the chroma pixel positions. In some implementations, a reconstructed luma value of a chroma position may be used to predict that position's chroma value. In other implementations, reconstructed luma values of neighboring chroma pixel positions may be analyzed to adaptively predict a chroma value for a chroma pixel position.
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:
Systems and methods for choosing whether to select either a spatial interpolation value or a motion compensation interpolation value for deinterlacing an interlaced frame. A minimal sum of absolute differences (SAD) may be determined for a current pixel. Depending on the magnitude of the minimal SAD relative to two threshold values, different checks may be applied. The outcome of the checks may determine whether the spatial interpolation value or the motion compensation interpolation value may be used in deinterlacing. Generally, the magnitude of the minimal SAD may determine the reliability of the SAD and the consequent trustworthiness of the associated motion vector (MV). Greater reliability of the minimal SAD may suggest that the motion compensation interpolation value may be used for purposes of deinterlacing. Less reliability in the minimal SAD may motivate additional checks to further evaluate whether the motion compensation interpolation value should be used. A less reliable minimal SAD and/or failure of some of the checks may suggest that the motion compensation interpolation value should not be used.
Abstract:
Adaptive control can use hierarchical motion estimation (HME) and/or multiple reference motion estimation (MRME) for the motion estimation of current encoding blocks. Both HME and MRME are allowed in the motion estimation to achieve a high coding gain. Control consists of slice level control and macro-block (MB) level control. A slice is one or more contiguous macroblocks. In slice level control, it is decided to use only one reference frame or use multiple reference frames to coding current slice based on the motion vectors obtained in coarse level motion estimation. In MB level control, it is decided to perform MRME or perform HME for the MB and its subblocks based on the coarse level motion vectors of the MB.
Abstract:
Methods and systems to manipulate color processing parameters to allow the detection of an arbitrary color of interest. Such reconfigurations may enable general point-of-interest color processing. Color mapping curves may also be configured, to accomplish the tasks of color correction, enhancement, de-saturation, and color compression.
Abstract:
A method includes selecting a target pixel and comparing a value of the target pixel with a respective value of each of a plurality of pixels located in an area that includes the target pixel. Further, for each pixel of the plurality of pixels that has a value different by at least a threshold amount from the value of the target pixel, the value of such pixel is replaced by the value of the target pixel. A filter function is applied to a set of pixels which includes the value of the target pixel and current values, after the selective replacement step, of the plurality of pixels.