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 of decoding a slice of video data may include determining two slice reference lists that are associated with the slice of video data and finding a co-located picture that is associated with the slice of video data. The method may also include retrieving two co-located reference lists that are associated with the co-located picture. Two lowest lists for the slice of video data may be calculated by comparing pairs of the two slice reference lists and the two co-located reference lists.
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.
Abstract:
An encoder for coding multiple layers of video signal to provide for efficient use of bandwidth. The encoder produces an error signal based at least in part on criteria considered by a perceptual preprocessor which takes into account limitations inherent in human visual perception. If the error signal generated from a subject frame represents high priority data that would be visually perceptible by a viewer, as determined by the preprocessor, the error signal is coded onto a base layer and an error resilience layer of a coded signal for transmission. In the event that the error signal is determined to be of less priority, such as if it represents only slightly visually perceptible information, then the error signal is coded onto only a low priority layer of the coded signal.
Abstract:
Two software-only prefix encoding techniques employ encoding look-up tables to produce contributions to the encoded bit stream that are incremented in integral numbers of bytes to facilitate accelerated encoding rates at the expense of an acceptable trade-off in increased memory size requirements. The first technique, referred to as offset-based encoding, employs encoding tables which eliminate most of the bit-based operations that need to be performed by a prefix encoder without inordinately expanding memory requirements. In offset-based encoding, a Huffman table is employed which contains information for each number of bits by which the length of a Huffman word is offset from an integral number of bytes. The encoding method generates bytes of encoded data, even though the Huffman code has variable length code words for each symbol to be encoded. The second technique, referred to as byte-based encoding, employs a byte-based Huffman encoding table which operates even faster than the offset-based encoding scheme because it does not employ any bit-based operations at all; however, this is achieved at the expense of a considerable expansion in memory requirements.
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.