Systems and methods for coding video data using switchable encoders and decoders

US9635374B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9635374-B2
Application numberUS-201213564686-A
CountryUS
Kind codeB2
Filing dateAug 1, 2012
Priority dateAug 1, 2011
Publication dateApr 25, 2017
Grant dateApr 25, 2017

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.

A system and method for switching between multiple encoders or decoders may be implemented to quickly and seamlessly transfer coding operations between two encoders. Before switching from a first encoder to a second encoder, the second encoder is initialized and updated with a copy of the necessary information from the first encoder. Similarly when switching from a first decoder to a second decoder, the second decoder is initialized and the necessary information from the first decoder is passed to the second decoder. A controller may monitor the system to identify a condition that would trigger an encoder switch and identify the encoder that best suits the system conditions. A shared memory unit accessible by either encoder may store the initialization information. A shared decode unit accessible by either encoder may transmit decoded frames between encoders.

First claim

Opening claim text (preview).

We claim: 1. A system for encoding video data comprising: a plurality of encoders each to code source video data and each having different operational characteristics; and a controller configured to: monitor at least one performance measure of the system in which the plurality of encoders are operating; identify a desired operating point of the system; when a second encoder is a closer match to the desired operating point than a first encoder, initialize the second encoder, wherein initializing the second encoder comprises: passing state information from the first encoder to the second encoder; and once the second encoder has been initialized, transferring coding operations from the first encoder to the second encoder and deactivating the first encoder. 2. The system of claim 1 , wherein the state information includes at least one reference frame from a reference frame cache. 3. The system of claim 1 , wherein the state information includes a frame count. 4. The system of claim 1 , wherein the state information includes a structure for a current Group of Pictures (GOP). 5. The system of claim 1 , wherein the state information includes a control bitrate. 6. The system of claim 1 , wherein the state information includes a quantization parameter. 7. The system of claim 1 , wherein the desired operating point represents a power consumption rate. 8. The system of claim 1 , wherein the desired operating point represents a coding quality of coded video. 9. The system of claim 1 , wherein the desired operating point represents a bandwidth of coded video. 10. The system of claim 1 , wherein the desired operating point represents a type of codec. 11. The system of claim 1 , wherein the desired operating point represents an encode frame rate. 12. The system of claim 1 , wherein the desired operating point represents a decode power consumption at a receiver. 13. The system of claim 1 , wherein the transferring the state information comprises a controller transferring the state information from a memory unit for the first encoder to a memory unit for the second encoder to update the state information. 14. The system of claim 1 , wherein the initializing the second encoder further comprises coding at the second encoder a duplicate frame as previously coded by the first encoder, the duplicate frame to be discarded. 15. The system of claim 1 , wherein said first encoder is a hardware encoder. 16. The system of claim 1 , wherein said second encoder is a software encoder. 17. The system of claim 1 , further comprising a shared memory unit to store the state information, the shared memory unit accessible by both the first and the second encoder. 18. The system of claim 17 , wherein said passing includes identifying a location of the current state information within the shared memory unit and providing that location to the second encoder. 19. The system of claim 17 , wherein said passing includes updating the state information at a predetermined location in the shared memory unit. 20. The system of claim 1 , further comprising a decode unit to decode coded frames of the video data, the decode unit accessible by both the first and the second encoder. 21. The system of claim 20 , wherein said passing includes transmitting a current reference frame from the decode unit to the second encoder. 22. The system of claim 20 , wherein said passing includes decoding a current frame at the decode unit and passing the decoded frame to the second encoder. 23. A system for decoding compressed video data comprising: a plurality of decoders, wherein a first decoder is implemented to decode compressed video data; a controller configured to: monitor at least one operational characteristic of the system in which the plurality of the decoders are operating; identify a desired operating point of the system; when a second decoder is a closer match to the desired operating point than a first decoder, initialize the second decoder wherein initializing the second decoder comprises: passing state information from the first decoder to the second decoder; and once the second decoder has been initialized, transferring the decoding operations from the first decoder to the second decoder and deactivating the first decoder. 24. The system of claim 20 , wherein said initializing the second decoder further comprises coding at the second encoder a duplicate frame as previously coded by the first encoder, the duplicate frame to be discarded. 25. The system of claim 20 , further comprising a memory unit to store the state information, the memory unit accessible by both the first and the second decoder. 26. A method for encoding video data comprising: coding source video data at a first encoder; monitoring at least one operational characteristic of the system in which the first encoder is operating; identifying a desired operating point of the system; when a second encoder is a closer match to the desired operating point than the first encoder, initializing the second encoder, wherein said initializing comprises: passing state information from the first encoder to the second encoder; and once the second encoder has been initialized, transferring the coding operations from the first encoder to the second encoder and deactivating the first encoder. 27. The method of claim 26 , wherein the state information includes at least one reference frame from a reference frame cache. 28. The method of claim 26 , wherein said initializing further comprises coding at the second encoder a duplicate frame as previously coded by the first encoder, the duplicate frame to be discarded. 29. The method of claim 26 , further comprising storing said state information in a shared memory unit accessible by both the first and the second encoder. 30. The method of claim 29 , wherein said passing includes identifying a location of the current state information within the shared memory unit and providing that location to the second encoder. 31. The method of claim 29 , wherein said passing includes updating the state information at a predetermined location in the shared memory unit. 32. The method of claim 26 , wherein said passing further comprises decoding a frame at a decode unit accessible by both the first and the second encoder and transmitting the decoded frame to the second encoder. 33. A non-transitory computer readable medium storing program instructions that, when executed by a processing device, cause the device to: code source video data at a first encoder; monitor at least one operational characteristic of a system in which the first encoder is operating; identify a desired operating point of the system; when a second encoder is a closer match to the desired operating point than the first encoder, initialize the second encoder, wherein said initializing comprises: passing state information from the first encoder to the second encoder; and once the second encoder has been initialized, transferring the coding operations from the first encoder to the second encoder and deactivating the first encoder.

Assignees

Inventors

Classifications

  • H04N19/42Primary

    characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation (H04N19/635 takes precedence) · CPC title

  • Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264 · 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 US9635374B2 cover?
A system and method for switching between multiple encoders or decoders may be implemented to quickly and seamlessly transfer coding operations between two encoders. Before switching from a first encoder to a second encoder, the second encoder is initialized and updated with a copy of the necessary information from the first encoder. Similarly when switching from a first decoder to a second dec…
Who is the assignee on this patent?
Zhou Xiaosong, Wu Hsi-Jung, Chung Chris Y, and 2 more
What technology area does this patent fall under?
Primary CPC classification H04N19/42. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 25 2017 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).