Techniques for scalable dynamic data encoding and decoding

US9307267B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9307267-B2
Application numberUS-33234508-A
CountryUS
Kind codeB2
Filing dateDec 11, 2008
Priority dateDec 11, 2008
Publication dateApr 5, 2016
Grant dateApr 5, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Scalable techniques for dynamic data encoding and decoding are directed toward a system including a plurality of frame processing units. A main frame processing unit manages frame processing unit resource, dispatches frames to appropriate frame processing units. One or more auxiliary frame processing units encode or decode the non-reference frames dispatched by the main frame processing unit. The main frame processing unit encodes or decodes the reference frames and encodes or decodes non-reference frames if none of the auxiliary frame processing units are available.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method comprising: receiving, by a processor, a given frame of data; determining if the given frame of data is a reference frame; decoding the given frame of data by a main frame processing unit if the given frame of data is a reference frame: determining if an auxiliary frame processing unit is available for decoding the given frame of data if the given frame of data is not a reference frame; decoding the given frame of data by a given auxiliary frame processing unit and not the main frame processing unit if the given frame of data is not a reference frame and the given auxiliary frame processing unit is available; decoding the given frame of data by the main frame processing unit and not the given auxiliary frame processing unit if the given frame of data is not a reference frame and no auxiliary frame processing unit is available; determining if the given frame of data needs deblocking; determining if an auxiliary frame processing unit is available for deblocking the given frame of data; deblocking the given frame of data by a given auxiliary frame processing unit if the given auxiliary frame processing unit is available; and deblocking the given frame of data by the main frame processing unit if no auxiliary frame processing unit is available. 2. The computer implemented method according to claim 1 , wherein the frame of data comprises a frame of video data. 3. The computer implemented method according to claim 1 , wherein the frame of data comprises a frame of audio data. 4. The computer implemented method according to claim 1 , wherein deblocking the given frame of data by the given auxiliary frame processing unit comprises in-order macroblock deblocking. 5. The computer implemented method according to claim 1 , wherein deblocking the given frame of data by the main frame processing unit comprises on-spot macroblock deblocking. 6. The computer implemented method according to claim 5 , wherein on-spot macroblock deblocking includes deblocking consecutive available macroblocks. 7. One or more non-transitory computing device readable media storing one or more computing device executable instructions which when executed by a processing unit perform a process comprising: receiving a given frame of data; determining if the given frame of data is a reference frame; determining if an auxiliary frame processing unit is available for decoding the given frame of data if the given frame of data is not a reference frame; decoding the given frame of data by a given auxiliary frame processing unit and not the main frame processing unit if the given frame of data is not a reference frame and the given auxiliary frame processing unit is available; decoding the given frame of data by a main frame processing unit if the given frame of data is a reference frame, or by the main frame processing unit and not the given auxiliary frame processing unit if the given frame of data is not a reference frame and no auxiliary frame processing unit is available; determining if the given frame of data needs deblocking; determining if an auxiliary frame in processing unit is available for deblocking the given frame of data; deblocking the given frame of data by a given auxiliary frame processing unit if the given auxiliary frame processing unit is available; and deblocking the given frame of data by the main frame processing unit if no auxiliary frame processing unit is available. 8. The one or more non-transitory computing device readable media storing one or more computing device executable instructions which when executed by a processing unit perform a process according to claim 7 , wherein deblocking the given frame of data by the given auxiliary frame processing unit comprises in-order macroblock deblocking. 9. The one or more non-transitory computing device readable media storing one or more computing device executable instructions which when executed by a processing unit perform a process according to claim 7 , wherein deblocking the given frame of data by the main frame processing unit comprises on-spot macroblock deblocking. 10. The one or more non-transitory computing device readable media storing one or more computing device executable instructions which when executed by a processing unit perform a process according to claim 9 , wherein on-spot macroblock deblocking includes deblocking consecutive available macroblocks. 11. The one or more non-transitory computing device readable media storing one or more computing device executable instructions which when executed by a processing unit perform a process according to claim 7 , wherein the main frame processing unit manages auxiliary frame processing unit resources and dispatches one or more frames. 12. A system comprising: a main frame processing unit for, managing a resource of one or more frame processing units, dispatching frames of a bit stream to the one or more frame processing units, decoding reference frames, encoding reference frames and encoding non-reference frames if one or more auxiliary frame processing units are not available, and deblocking macroblocks of reference and non-reference frames if the one or more auxiliary frame processing units are not available; one or more auxiliary frame processing units for, decoding non-reference frames, encoding non-reference frames, and deblocking macroblocks of reference and non-reference frames; and wherein the frame processing units are each implemented in respective hardware that perform the recited respective one or more functions or a combination of hardware processing unit and processing unit executable instructions stored in non-transitory processing unit executable storage media which when executed by the processing unit perform the recited respective one or more functions, and wherein the frame processing unit includes the main frame processing unit and the one or more auxiliary frame processing units. 13. The system of claim 12 , wherein the main frame processing unit decodes non-reference frames if the one or more auxiliary frame processing units are not available. 14. The system of claim 12 , wherein the main frame processing unit and the one or more auxiliary frame processing units are video frame processing units. 15. The system of claim 12 , wherein the main frame processing unit and the one or more auxiliary frame processing units are audio frame processing units. 16. The system of claim 12 , wherein the main frame processing unit and the one or more auxiliary frame processing units are audio/video frame processing units.

Assignees

Inventors

Classifications

  • the region being a picture, frame or field · CPC title

  • in combination with predictive coding · CPC title

  • the region being a block, e.g. a macroblock · CPC title

  • characterised by the element, parameter or criterion affecting or controlling the adaptive coding · CPC title

  • Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9307267B2 cover?
Scalable techniques for dynamic data encoding and decoding are directed toward a system including a plurality of frame processing units. A main frame processing unit manages frame processing unit resource, dispatches frames to appropriate frame processing units. One or more auxiliary frame processing units encode or decode the non-reference frames dispatched by the main frame processing unit. T…
Who is the assignee on this patent?
Jia Wei, Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification H04N19/86. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).