Abstract:
Systems, methods, and computer program products that can be used to determine a search range (SR) when performing motion estimation at, for example, a video encoder or decoder. Determining a motion vector for a current block during motion estimation may involve searching within a search window that may reside in a reference frame, or in a previously decoded block that spatially or temporally neighbors the current block. Such a search seeks a motion vector that minimizes a metric, such as a sum of absolute differences between corresponding blocks of reference frames. A motion vector that minimizes such a metric may be a good candidate for use in motion estimation. The search may become more efficient if a search range is determined such that the extent of the search is bounded. A search range may be determined at the block level or at the picture level.
Abstract:
The format of telecined video may be determined including a bottom field first cadence. In addition, video using 2:3:3:2 top field first can be identified. Moreover, mixed cadence videos can also be detected. In some embodiments, mixed cadence videos may be detected by calculating variances of different areas within a frame.
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.
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:
Implementations of a history-based temporal motion noise filtering technique that considers the temporal smooth among multiple pictures as well as the block-based technique to estimate the noise/motion history to better reflect the spatial/temporal smoothness in the local neighborhood are provided. In particular, implementations of the per-pixel blending technique in the block-based noise measurement may be used to better manipulate pixels in both the spatial and temporal domains. A global noise detection technique may be used to estimate the occurrence and/or strength of the noise. A content adaptive spatial filtering content adaptive spatial filter based on a local edge measurement may be used to reduce picture noise as well as preserve edge sharpness. Implementations may be configured for various applications. In particular, programmability options allow users to specify the filter parameters for singularity detection, spatial-only, temporal-only and spatial-temporal filters to achieve user desirable viewing experience.
Abstract:
A method can include selecting a block of pixels. It may be determined whether the block of pixels contains an edge pixel. If the block of pixels contains an edge pixel, a first pixel may be selected among the block of pixels. If it is determined that the first pixel is a ringing noise pixel, a ringing filter may be applied. An edge-preserved filter may be applied if the first pixel is not a ringing noise pixel.
Abstract:
A technique includes converting a first value for a pixel that is associated with a lower bit depth into a second value for the pixel, which is associated with a higher bit depth based at least in part on a neighborhood of the pixel.
Abstract:
A method of filtering noise from a picture may include determining a set of pixel noise metrics for a set of selected pixels in the picture, based solely on information from the set of selected pixels in the picture. The method may also designate as valid a subset of pixel noise metrics in the set of pixel noise metrics those associated pixels are not located at an edge or are not located in a complicated area of the picture. A set of block noise metrics may be calculated from the valid subset of pixel noise metrics, and a global noise metric for the picture may be ascertained from the set of block noise metrics. The picture may be filtered using the global noise metric to generate a filtered picture.
Abstract:
A method is disclosed for decoding multiple-coded symbols from a coded input symbol stream in a single clock cycle. The method constructs an original Huffman look-up table by extending the associated Huffman tree to decode multiple symbols in one clock cycle in a first embodiment and decodes multiple DCT coefficient symbols in an alternate embodiment. An advantage of the method is that the depth of the new Huffman tree is adjustable thereby making the method easily adaptable to various hardware architectures. A further advantage of the present invention is that the decoding process speed is significantly increased while the size of the lookup table is nominally increased.
Abstract:
A method is disclosed for decoding multiple-coded symbols from a coded input symbol stream in a single clock cycle. The method constructs an original Huffman look-up table by extending the associated Huffman tree to decode multiple symbols in one clock cycle in a first embodiment and decodes multiple DCT coefficient symbols in an alternate embodiment. An advantage of the method is that the depth of the new Huffman tree is adjustable thereby making the method easily adaptable to various hardware architectures. A further advantage of the present invention is that the decoding process speed is significantly increased while the size of the look-up table is nominally increased.