Abstract:
This disclosure describes techniques for coding of refinement coefficients of an enhancement layer in a scalable video coding (SVC) scheme. According to this disclosure, a method may comprise evaluating a history of transform coefficient values associated with one or more previous layers of the SVC scheme, and estimating one or more refinement coefficient values associated with a current layer of the SVC scheme based on the history. On the encoding side, the coding process may include excluding information for one or more refinement coefficient values from the bitstream and signaling to the decoder that such information is excluded from the bitstream. On the decoding side, coding process include parsing the bitstream to identify information that signals to the decoder that information is excluded from the bitstream, and generating such information based on the history associated with one or more previous layers of the SVC scheme.
Abstract:
This disclosure presents methods and systems for coding video in merge mode of a motion vector prediction process. A method of coding video data may determining a merge candidate set for a current prediction unit of a current coding unit, wherein the merge candidate set is determined without comparing motion information of a merge candidate in the merge candidate set to motion information of any other prediction units, and performing a merge motion vector prediction process for the current prediction unit using the merge candidate set. The method may further comprise excluding merge candidates from the merge candidate set that are within another prediction unit of the current coding unit.
Abstract:
In an example, a process for coding video data includes coding, with a variable length code, a syntax element indicating depth modeling mode (DMM) information for coding a depth block of video data. The process also includes coding the depth block based on the DMM information.
Abstract:
A video encoder may encode video data by adaptively selecting between one-eighth-pixel and one-quarter-pixel precision motion vectors, and signal the selected precision. In one example, an apparatus includes a video encoder to encode a block of video data using a one-eighth-pixel precision motion vector when use of the one-eighth-pixel precision motion vector is determined to be preferable for the block over a one-quarter-pixel precision motion vector, and to generate a signal value indicative of the use of the one-eighth-pixel precision motion vector for the block, and an output interface to output the encoded block and the signal value. A video decoder may be configured to receive the signal value and the encoded block, analyze the signal value to determine whether the block was encoded using one-eighth-pixel precision or one-quarter-pixel precision, and decode the block based on the determination.
Abstract:
During a prediction stage of video coding, a video coder may use relatively longer interpolation filters to generate predictive sub-pixel values using values of reference integer pixels of a reference block of video data positioned in parallel relative to a scanning order associated with the block and may use relatively shorter interpolation filters to generate predictive sub-pixel values using values of reference integer pixels of the block positioned perpendicular relative to the scanning order, wherein a longer interpolation filter generally refers to a filter with relatively more filter coefficients, or “taps,” and a shorter filter generally refers to a filter with relatively fewer taps.
Abstract:
A receiver receives coded coefficient values of enhancement layer video blocks. A control unit defines one or more vectors of transform coefficients for decoding of the enhancement layer blocks, and selects a prediction mode for the enhancement layer blocks based on the vectorized entropy decoding. Each of the vectors comprises one or more of the transform coefficients in a scan order having an end position indicated by a vector control signal. The control unit selects weighted prediction when the vectorized entropy decoding establishes two or more vectors, and selects non-weighted prediction when the defined vectorized entropy coding establishes a single vector. A prediction unit performs predictive decoding based on the prediction mode. An entropy decoding unit performs the vectorized entropy decoding. A scanning unit scans the enhancement layer video blocks from the vectors into two-dimensional blocks of transform coefficients, and separately entropy decodes the vectors.
Abstract:
This disclosure describes techniques for estimating a depth of image objects for a two-dimensional (2D) view of a video presentation. For example, an initial indication of depth (e.g., an optical flow) may be determined for a 2D view. The initial indication of depth may be used to estimate global motion, e.g., motion of an observer (e.g., camera), of the 2D view. The initial indication of depth may be modified based on the estimation of global motion to create a global motion-adjusted indication of depth. The global motion-adjusted depth indication may be used to create a depth map for the 2D view, which may be used to generate an alternative view of the video presentation that may be used to display a three-dimensional (3D) video presentation.
Abstract:
In an example, a method includes coding significance information for transform coefficients in a set of transform coefficients associated with the residual video data according to a scan order in one or more first passes. The method also includes coding a first set of one or more bins of information for the transform coefficients according to the scan order in one or more second passes, where the first set of one or more bins are coded in a first mode of a coding process. The method also includes coding a second set of one or more bins of information for the transform coefficients according to the scan order in one or more third passes, where the second set of one or more bins are coded in a second mode of the coding process.
Abstract:
In general, techniques are described for implementing a 16-point inverse discrete cosine transform (IDCT) that is capable of applying multiple IDCTs of different sizes. For example, an apparatus comprising a 16-point inverse discrete cosine transform of type II (IDCT-II) unit may implement the techniques of this disclosure. The 16-point IDCT-II unit performs these IDCTs-II of different sizes to transform data from a spatial to a frequency domain. The 16-point IDCT-II unit includes an 8-point IDCT-II unit that performs one of the IDCTs-II of size 8 and a first 4-point IDCT-II unit that performs one of the IDCTs-II of size 4. The 8-point IDCT-II unit includes the first 4-point DCT-II unit. The 16-point IDCT-II unit also comprises an inverse 8-point DCT-IV unit that includes a second 4-point IDCT-II unit and a third 4-point IDCT-II unit. Each of the second and third 4-point IDCT-II units performs one of the IDCTs-II of size 4.
Abstract:
This disclosure describes techniques for encoding digital video data using interpolation filters and offsets. An encoder may be configured to select interpolation filters for sub-pixel precision motion estimation based on historical interpolation results obtained for previously encoded video units, such as frames or slices. The encoder also may be configured to compute and assign offsets to the sub-pixel positions after interpolation based on differences between a reference unit and the unit to be coded. The computation and assignment of offsets may be performed before motion estimation. Motion estimation may be refined so that the motion search considers sub-pixel positions to which offsets have been previously added and evaluates sub-pixel positions that have a non-zero offset. In some cases, interpolation filter selection, offset computation, and/or refined motion estimation for a given unit may be performed in a single encoding pass.