Macroblock-level adaptive quantization in quality-aware video optimization

US9621896B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9621896-B2
Application numberUS-201213492619-A
CountryUS
Kind codeB2
Filing dateJun 8, 2012
Priority dateJun 10, 2011
Publication dateApr 11, 2017
Grant dateApr 11, 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 method of optimizing an encoded video stream comprising one or more video frames, each video frame comprising a plurality of macroblocks, each macroblock comprising a plurality of pixels. The method includes receiving an encoded macroblock, decoding the encoded macroblock, and extracting a first quantization parameter. The first quantization parameter corresponds to quantization settings originally used for compressing the encoded macroblock. The method also includes computing a second quantization parameter based at least in part on the first quantization parameter, re-encoding the decoded macroblock based on the second quantization parameter, and providing the re-encoded macroblock.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of macroblock-level quality-aware video optimization of an encoded video stream comprising one or more video frames, each video frame comprising a plurality of macroblocks, each macroblock comprising a plurality of pixels, the method comprising: receiving an encoded macroblock; decoding the encoded macroblock; extracting a first quantization parameter, wherein the first quantization parameter corresponds to quantization settings originally used for compressing the encoded macroblock; determining first and second thresholds as a function of past input quantization parameters, wherein the past input quantization parameters correspond to quantization settings originally used for compressing a plurality of previously received encoded macroblocks; computing a second quantization parameter based at least in part on the first quantization parameter, the first and second thresholds, and a number of bits occupied by the encoded macroblock; re-encoding the decoded macroblock based on the second quantization parameter; and providing the re-encoded macroblock. 2. The method of claim 1 , wherein computing the second quantization parameter comprises setting the second quantization parameter to be equal or lower than the first quantization parameter when the first quantization parameter is higher than the first threshold, and setting the second quantization parameter to be higher than the first quantization parameter when the first quantization parameter is lower than the second threshold. 3. The method of claim 1 , wherein computing the second quantization parameter is based in part on visual characteristics of the encoded macroblock or the decoded macroblock. 4. The method of claim 3 , wherein the visual characteristics of the encoded macroblock or the decoded macroblock include a variance of the plurality of pixels of either the encoded macroblock or the decoded macroblock. 5. The method of claim 3 , wherein the visual characteristics of the encoded macroblock or the decoded macroblock include an average brightness of the plurality of pixels of either the encoded macroblock or the decoded macroblock. 6. The method of claim 1 , wherein computing the second quantization parameter is based in part on output coding parameters received from an encoder. 7. The method of claim 6 , wherein the output coding parameters include one or more past output quantization parameters that correspond to quantization settings used for re-encoding previously received encoded macroblocks. 8. The method of claim 6 , wherein the output coding parameters include an output bitrate, wherein the output bitrate corresponds to an average number of bits occupied by a plurality of previously re-encoded macroblocks. 9. The method of claim 8 , wherein computing the second quantization parameter comprises increasing the second quantization parameter if the output bitrate is higher than a first predefined target bitrate, and decreasing the second quantization parameter if the output bitrate is lower than a second predefined target bitrate. 10. A non-transitory computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of macroblock-level quality-aware video optimization of an encoded video stream comprising one or more video frames, each frame comprising a plurality of macroblocks, and each macroblock comprising a plurality of pixels, the method comprising: receiving an encoded macroblock; decoding the encoded macroblock; extracting a first quantization parameter, wherein the first quantization parameter corresponds to quantization settings originally used for compressing the encoded macroblock; determining first and second thresholds as a function of past input quantization parameters, wherein the past input quantization parameters correspond to quantization settings originally used for compressing a plurality of previously received encoded macroblocks; computing a second quantization parameter based at least in part on the first quantization parameter, the first and second thresholds, and a number of bits occupied by the encoded macroblock; re-encoding the decoded macroblock based on the second quantization parameter; and providing the re-encoded macroblock. 11. The non-transitory computer readable medium of claim 10 , wherein computing the second quantization parameter comprises setting the second quantization parameter to be equal or lower than the first quantization parameter when the first quantization parameter is higher than the first threshold, and setting the second quantization parameter to be higher than the first quantization parameter when the first quantization parameter is lower than the second threshold. 12. The non-transitory computer readable medium of claim 10 , wherein computing the second quantization parameter is based in part on visual characteristics of the encoded macroblock or the decoded macroblock. 13. The non-transitory computer readable medium of claim 12 , wherein the visual characteristics of the encoded macroblock or the decoded macroblock include a variance of the plurality of pixels of either the encoded macroblock or the decoded macroblock. 14. The non-transitory computer readable medium of claim 12 , wherein the visual characteristics of the encoded macroblock or the decoded macroblock include an average brightness of the plurality of pixels of either the encoded macroblock or the decoded macroblock. 15. The non-transitory computer readable medium of claim 10 , wherein computing the second quantization parameter is based in part on output coding parameters received from an encoder. 16. The non-transitory computer readable medium of claim 15 , wherein the output coding parameters include one or more past output quantization parameters that correspond to quantization settings used for re-encoding previously received encoded macroblocks. 17. The non-transitory computer readable medium of claim 15 , wherein the output coding parameters include an output bitrate, wherein the output bitrate corresponds to an average number of bits occupied by a plurality of previously re-encoded macroblocks. 18. The non-transitory computer readable medium of claim 17 , wherein computing the second quantization parameter comprises increasing the second quantization parameter if the output bitrate is higher than a first predefined target bitrate, and decreasing the second quantization parameter if the output bitrate is lower than a second predefined target bitrate. 19. A video optimizer for macroblock-level quality-aware video optimization of an encoded video stream comprising one or more video frames, each frame comprising a plurality of macroblocks, and each macroblock comprising a plurality of pixels, the video optimizer comprising: a decoder configured to receive an encoded macroblock, to decode the encoded macroblock, and to extract a first quantization parameter, wherein the first quantization parameter corresponds to quantization settings originally used for compressing the encoded macroblock; a quantization parameter adjustment module configured to: determine first and second thresholds as a function of past input quantization parameters, wherein the past input quantization parameters correspond to quantization settings originally used for compressing a plurality of previously received encoded macroblocks; and compute a second quantization parameter based at least in part on the first quantization parameter and a number of bits occupied by the encoded macroblock; and

Assignees

Inventors

Classifications

  • Data rate or code amount at the encoder output · CPC title

  • Incoming video signal characteristics or properties · CPC title

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

  • Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147) · CPC title

  • using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream · 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 US9621896B2 cover?
A method of optimizing an encoded video stream comprising one or more video frames, each video frame comprising a plurality of macroblocks, each macroblock comprising a plurality of pixels. The method includes receiving an encoded macroblock, decoding the encoded macroblock, and extracting a first quantization parameter. The first quantization parameter corresponds to quantization settings orig…
Who is the assignee on this patent?
Tidemann Jeremy, Penner Andrew, Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/124. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 11 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).