Abstract:
A system and method is provided to avoid or otherwise reduce luminance and/or chrominance trailing artifacts in block-based hybrid video coders using multiple block sizes and shapes. The proposed trailing artifact avoidance approach has at its core three main components. The first component is a method to identify flat blocks in the source frame that are most susceptible to the appearance of trailing artifacts, and where flatness is determined according to several proposed criteria. The second component is a method to identify bad blocks, which refer to predicted blocks in motion estimation that correspond to flat blocks in the source frame and that contain trailing artifacts. The third component is a method to avoid trailing artifacts when they are detected within a bad block, and where the avoidance is achieved by employing one or more tools from among a proposed set of high fidelity coding tools and/or high performance motion estimation tools.
Abstract:
A method of motion vector prediction for use in differential motion vector coding within a block motion-compensation-based video coder. The video coder employs a generalized multiple reference picture buffer which may contain multiple reference pictures in both the forward and backward temporal direction from the current picture. For the purpose of coding selections of reference pictures within the buffer, the pictures are organized into two, potentially overlapping, lists of reference pictures. The prediction of a motion vector that selects a reference picture using a given reference picture list is not dependent upon any motion vectors that select their reference pictures using the other reference picture list. The values of spatially neighbouring motion vectors that use the same list of reference pictures as the notion vector being predicted are used for prediction, regardless of the relative temporal direction of the current and neighbouring motion vectors.
Abstract:
A video coding method progressively refines a predicted motion vector to obtain an estimated motion vector. Subsequent steps are omitted if the estimated motion vector matches a current macroblock. Variable matching thresholds can permit dynamic adjustment of image quality and computational cost to optimize encoding performance for available computational resources. The method permits control of desired encoding speed and bit rate by adjusting encoding parameters. Video coders according to the invention may comprise a motion estimator, transform computer and coder each of which operates according to one or more parameters. A speed rate control and/or a bit rate control may adjust the parameters to maintain a desired encoding speed and output bit rate. A coder according to the invention may be implemented in software running on a general purpose computer. The method may be used in block-based video encoders including MPEG-2 and H.263 encoders.
Abstract:
Disclosed are adaptive loop filtering techniques for video encoding and/or decoding. For a video unit, the encoder selects a set of predefined filters or generates a set of new filters, and places into the bitstream information identifying the set of predefined filters, or information defining the set of new filters. The set of filters may be used for loop filtering of at least one of the reconstructed samples of the video unit. At the decoder, a set of filters may be obtained by, decoding an index that identifies a set of predefined filters, or by decoding information related to a set of new filters. The obtained set of filters may be used for loop filtering of at least one decoded and reconstructed sample of the video unit.
Abstract:
Disclosed are techniques for adaptive interpolation filtering of luminance and chrominance samples in the context of motion compensation in video encoding or decoding. A two-dimensional interpolation filter of n×m coefficients may be separable, i.e., it may be separated into two one-dimensional filters with m and n coefficients, respectively. The bitstream may include, per video unit and sub-sample position, information indicating whether to use a newly-generated, a cached, or a default filter that may be a separable two-dimensional filter. The information may be structured in a way that takes advantage of the two-dimensional filter being separable. When a newly-generated filter is signalled, the bitstream may contain information pertaining to the characteristics of the newly-generated filter, such as its coefficients. A decoder may fetch this information from the bitstream to create the filters which are applied to samples of the video unit. An encoder may create a bitstream as described.
Abstract:
A method of motion vector prediction for use in differential motion vector coding within a block motion-compensation-based video coder. The video coder employs a generalized multiple reference picture buffer which may contain multiple reference pictures in both the forward and backward temporal direction from the current picture. For the purpose of coding selections of reference pictures within the buffer, the pictures are organized into two, potentially overlapping, lists of reference pictures. The prediction of a motion vector that selects a reference picture using a given reference picture list is not dependent upon any motion vectors that select their reference pictures using the other reference picture list. The values of spatially neighbouring motion vectors that use the same list of reference pictures as the motion vector being predicted are used for prediction, regardless of the relative temporal direction of the current and neighbouring motion vectors.
Abstract:
A method of motion vector prediction for use in differential motion vector coding within a block motion-compensation-based video coder. The video coder employs a generalized multiple reference picture buffer which may contain multiple reference pictures in both the forward and backward temporal direction from the current picture. For the purpose of coding selections of reference pictures within the buffer, the pictures are organized into two, potentially overlapping, lists of reference pictures. The prediction of a motion vector that selects a reference picture using a given reference picture list is not dependent upon any motion vectors that select their reference pictures using the other reference picture list. The values of spatially neighbouring motion vectors that use the same list of reference pictures as the notion vector being predicted are used for prediction, regardless of the relative temporal direction of the current and neighbouring motion vectors.
Abstract:
This disclosure describes systems, methods, and devices related to bit-rate-based hybrid encoding. A device may generate a list of encodes based on pairs of resolution and quantization parameters (QP) pairs associated with one or more video segments received from a source. The device may generate an estimated bit rate associated with the one or more video segments based on an analysis of the one or more video segments. The device may compare the estimated bit rate to a threshold. The device may switch between a software encoder and a hardware encoder based on the comparison of the estimated bit rate to the threshold. The device may encode each of the one or more video segments for transmission using the hardware encoder or the software encoder.
Abstract:
A subband coder with jointly optimized multistage residual quantizers and entropy coders for image coding which allows the subband coder to exploit both linear and non-linear dependencies that may exist within and across the subbands. Both inter- and intra-band dependencies are simultaneously exploited via jointly optimizing the subband coders and entropy coders in an entropy constrained optimization framework involving rate, distortion and complexity. The multistage quantization structure and the effectiveness of the statistical modeling algorithm results in an attractive balance among reproduction quality, rate and complexity.
Abstract:
This disclosure describes systems, methods, and devices related to complexity aware encoding. A device may generate a list of encodes based on pairs of resolution and quantization parameters (QP) pairs associated with one or more video segments received from a source. The device may generate an estimated bit rate associated with the one or more video segments based on an analysis of the one or more video segments. The device may determine distortion values associated with the one or more video segments. The device may apply a weighting mechanism to the distortion values using the estimated bit rate. The device may select a subset of encodes based on the weighting mechanism. The device may perform the subset of encodes on the one or more video segments for transmission.