Rate control for low latency video encoding and transmission

US12081769B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12081769-B2
Application numberUS-202217933057-A
CountryUS
Kind codeB2
Filing dateSep 16, 2022
Priority dateJun 28, 2018
Publication dateSep 3, 2024
Grant dateSep 3, 2024

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 video encoding system in which pixel data is decomposed into frequency bands prior to encoding. The frequency bands for a slice of a frame may be buffered so that complexity statistics may be calculated across the frequency bands prior to encoding. The statistics may then be used by a rate control component in determining quantization parameters for the frequency bands for modulating the rate in the encoder for the current slice. The quantization parameters for the frequency bands may be calculated jointly to optimize the quality of the displayed frames after decoder reconstruction and wavelet synthesis on a receiving device. Information about one or more previously processed frames may be used in combination with the statistics for a current slice in determining the quantization parameters for the current slice.

First claim

Opening claim text (preview).

What is claimed is: 1. A video encoding system, comprising: a wavelet transform component comprising one or more processors configured to: apply a wavelet transform to pixel blocks from a current video frame to decompose the pixel blocks into a plurality of frequency bands; and output frequency blocks comprising frequency data for the plurality of frequency bands; a complexity analysis component comprising one or more processors configured to: analyze the frequency data in the frequency blocks to calculate complexity statistics across the plurality of frequency bands of the current video frame; and output the complexity statistics for the plurality of frequency bands of the current video frame; a block-based encoder configured to: access a foveated region from a previous video frame; determine a number of bits that were used to encode co-sited pixel blocks from the previous video frame; determine quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame based, at least in part, on: (a) the complexity statistics for the plurality of frequency bands of the current video frame; (b) the other complexity statistics from the previous video frame; (c) the foveated region of the previous video frame; and (d) the determined number of bits that were used to encode the co-sited pixel blocks from the previous video frame; and apply an encoding technique to the frequency blocks of the current video frame, wherein the encoding technique uses the determined quantization parameters for the plurality of frequency bands of the current video frame to compress the frequency data in the frequency blocks; and a wireless interface configured to transmit the compressed frequency data over a wireless connection to a receiving device. 2. The video encoding system as recited in claim 1 , wherein, to determine the quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame, the block-based encoder is further configured to: determine a region of the current video frame based on the foveated region of the previous video frame; and determine the quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame based, at least in part, on the determined region of the current video frame such that the determined region of the current video frame is encoded to provide higher resolution than a peripheral region of the current video frame outside of the determined region. 3. The video encoding system as recited in claim 1 , wherein, to determine the quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame, the block-based encoder is further configured to: modulate the other complexity statistics from the previous video frame according to the foveated region of the previous video frame; and determine the quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame based, at least in part, on the modulated other complexity statistics from the previous video frame in combination with the complexity statistics for the current video frame. 4. The video encoding system as recited in claim 1 , wherein, to determine the quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame, the block-based encoder is further configured to: examine additional statistics for the previous video frame to determine the number of bits that were used to encode co-sited frequency blocks of the previous video frame. 5. The video encoding system as recited in claim 1 , wherein the complexity statistics comprise one or more of pixel gradient information and variance in size of at least one of the frequency blocks with respect to another of the frequency blocks. 6. The video encoding system as recited in claim 1 , wherein the wireless interface is further configured to provide a current available bit rate for the wireless connection as feedback to the block-based encoder; and wherein, when determining the quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame, the block-based encoder is further configured to allocate the current available bit rate among respective ones of the plurality of frequency bands of the current video frame. 7. The video encoding system as recited in claim 1 , wherein the wireless interface is further configured to provide a current available bit rate for the wireless connection and a current dropped packet rate on the wireless connection as feedback to the block-based encoder; wherein, when determining the quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame, the block-based encoder is further configured to adjust the quantization parameters for respective ones of the plurality of frequency bands to minimize the dropped packet rate while maximizing available bandwidth usage at the current available bit rate. 8. The video encoding system as recited in claim 1 , wherein the wavelet transform is a two-level wavelet decomposition applied to each pixel block from the current video frame. 9. The video encoding system as recited in claim 1 , wherein the block-based encoder comprises a block-processing pipeline and a rate control component, wherein: the rate control component is configured to perform the determination of the quantization parameters for each of the frequency bands and is further configured to provide the quantization parameters to the block processing pipeline; and the block processing pipeline is configured to apply the encoding technique to the frequency blocks of the current video frame. 10. A method, comprising: one or more processors configured to implement: applying a wavelet transform to pixel blocks from a current video frame to decompose the pixel blocks into a plurality of frequency bands; storing frequency data for the plurality of frequency bands into frequency blocks; analyzing the frequency data in the frequency blocks to calculate complexity statistics across the plurality of frequency bands of the current video frame; accessing a foveated region from a previous video frame; determining a number of bits that were used to encode co-sited pixel blocks from the previous video frame; determining quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame based, at least in part, on: (a) the complexity statistics for the plurality of frequency bands of the current video frame; (b) the other complexity statistics from the previous video frame; (c) the foveated region of the previous video frame; and (d) the determined number of bits that were used to encode the co-sited pixel blocks from the previous video frame; applying an encoding technique to the frequency blocks, wherein the encoding technique uses the determined quantization parameters for the plurality of frequency bands of the current video frame to compress the frequency data in the frequency blocks; and transmitting the compressed frequency data over a wireless connection to a receiving device. 11. The method as recited in claim 10 , wherein said determining quantization parameters for each of the frequency bands of the plurality of frequency bands of the current video frame comprises: determining a region of the current video frame based on the foveated region of the previous video frame; and determining the quantization parameters for each of the frequency bands of t

Assignees

Inventors

Classifications

  • adapting media to network capabilities · CPC title

  • H04N19/146Primary

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

  • H04N19/63Primary

    using sub-band based transform, e.g. wavelets · CPC title

  • Media network packetisation · CPC title

  • the unit being a video data packet, e.g. a network abstraction layer [NAL] unit · 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 US12081769B2 cover?
A video encoding system in which pixel data is decomposed into frequency bands prior to encoding. The frequency bands for a slice of a frame may be buffered so that complexity statistics may be calculated across the frequency bands prior to encoding. The statistics may then be used by a rate control component in determining quantization parameters for the frequency bands for modulating the rate…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/146. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 03 2024 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).