USRE48845E

Video decoding system supporting multiple standards

Claim Score by NHIP

Read claim 9, the broadest

Abstract

System and method for decoding digital video data. The decoding system employs hardware accelerators that assist a core processor in performing selected decoding tasks. The hardware accelerators are configurable to support a plurality of existing and future encoding/decoding formats. The accelerators are configurable to support substantially any existing or future encoding/decoding formats that fall into the general class of DCT-based, entropy decoded, block-motion-compensated compression algorithms. The hardware accelerators illustratively comprise a programmable entropy decoder, an inverse quantization module, a inverse discrete cosine transform module, a pixel filter, a motion compensation module and a de-blocking filter. The hardware accelerators function in a decoding pipeline wherein at any given stage in the pipeline, while a given function is being performed on a given macroblock, the next macroblock in the data stream is being worked on by the previous function in the pipeline.

USRE48845E, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Expired 1 April 2022, 4.5 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

31 claims: 6 independent, 25 dependent

  1. 1
    A method of decoding a digital media data stream, comprising:(a) receiving media data of a first encoding/decoding format;(b) configuring at least one external decoding function based on the first encoding/decoding format;(c) decoding media data of the first encoding/decoding format using the at least one external decoding function;(d) receiving media data of a second encoding/decoding format;(e) configuring the at least one external decoding function based on the second encoding/decoding format;and (f) decoding media data of the second encoding/decoding format using the at least one external decoding function , wherein decoding media data using the at least one external decoding function in operations (c) and (f) comprises at least one configurable hardware module performing the at least one external decoding function, and wherein configuring the at least one external decoding function in operations (b) and (e) comprises configuring the at least one configurable hardware module, wherein the at least one configurable hardware module is a plurality of configurable hardware modules, and wherein each of the plurality of configurable hardware modules performs at least one decoding function, wherein at least one of the plurality of configurable hardware modules does not include a processor .
  2. 9
    Broadest claimClaim Score 82, broad(NHIP)A video decoding method, comprising:receiving a first video macroblock encoded in a first encoding format;configuring a first external decoding function based on the first encoding format;decoding the first video macroblock using the first external decoding function;receiving a second video macroblock encoded in a second encoding format;configuring a second external decoding function based on the second encoding format;and decoding the second video macroblock using the second external decoding function.
  3. 17
    A video decoding method, comprising:determining a data format for a video data stream;configuring a programmable entropy decoder to perform entropy decoding based on the determined data format;configuring an inverse quantizer to perform an inverse quantization based on the determined data format;configuring an inverse transform accelerator to perform an inverse transform operations based on the determined data format;configuring a pixel filter to perform a pixel filtering based on the determined data format;configuring a motion compensator to perform a motion compensation based on the determined data format;and configuring a de-blocking filter to perform a de-blocking operation based on the determined data format.
  4. 25
    A method of decoding a digital media data stream, comprising:(a) receiving media data of a first encoding/decoding format;(b) configuring at least one external decoding function based on the first encoding/decoding format;(c) decoding media data of the first encoding/decoding format using the at least one external decoding function;(d) receiving media data of a second encoding/decoding format;(e) configuring the at least one external decoding function based on the second encoding/decoding format;and (f) decoding media data of the second encoding/decoding format using the at least one external decoding function, wherein decoding media data using the at least one external decoding function in operations (c) and (f) comprises at least one configurable hardware module performing the at least one external decoding function, and wherein configuring the at least one external decoding function in operations (b) and (e) comprises configuring the at least one configurable hardware module, wherein the at least one configurable hardware module is a plurality of configurable hardware modules, and wherein each of the plurality of configurable hardware modules performs at least one decoding function, wherein none of the plurality of configurable hardware modules includes a processor.
  5. 27
    A method of decoding a digital media data stream, comprising:(a) receiving media data of a first encoding/decoding format;(b) configuring at least one external decoding function based on the first encoding/decoding format;(c) decoding media data of the first encoding/decoding format using the at least one external decoding function;(d) receiving media data of a second encoding/decoding format;(e) configuring the at least one external decoding function based on the second encoding/decoding format;and (f) decoding media data of the second encoding/decoding format using the at least one external decoding function, wherein decoding media data using the at least one external decoding function in operations (c) and (f) comprises at least one configurable hardware module performing the at least one external decoding function, and wherein configuring the at least one external decoding function in operations (b) and (e) comprises configuring the at least one configurable hardware module, wherein the at least one configurable hardware module is a plurality of configurable hardware modules, and wherein each of the plurality of configurable hardware modules performs at least one decoding function, wherein each of the configurable hardware modules is separate from others of the plurality of configurable hardware modules.
  6. 31
    A method of decoding a digital media data stream, comprising:(a) receiving media data of a first encoding/decoding format;(b) configuring at least one external decoding function based on the first encoding/decoding format;(c) decoding media data of the first encoding/decoding format using the at least one external decoding function;(d) receiving media data of a second encoding/decoding format;(e) configuring the at least one external decoding function based on the second encoding/decoding format;and (f) decoding media data of the second encoding/decoding format using the at least one external decoding function, wherein decoding media data using the at least one external decoding function in operations (c) and (f) comprises at least one configurable hardware module performing the at least one external decoding function, and wherein configuring the at least one external decoding function in operations (b) and (e) comprises configuring the at least one configurable hardware module, wherein the at least one configurable hardware module is a plurality of configurable hardware modules, and wherein each of the plurality of configurable hardware modules performs at least one decoding function, wherein each of the plurality of configurable hardware modules is independently controlled by a core decoding processor, wherein the core decoding processor independently controls each of the plurality of configurable hardware modules by programming a register for each of the plurality of configurable hardware modules.