IP Library Granted Patent US 11,190,570
Granted Patent B2
US 11,190,570 · App. 16/998,654 · Granted Nov 30, 2021

Video encoding using starve mode

Inventors: Yaming He (Redmond, WA); Zhengping Zuo (Medina, WA)
Assignee: Facebook, Inc.
H04L65/608H04L43/0864H04L65/602H04L65/607H04L65/80H04N19/107H04N19/124H04N19/132H04N19/146H04N19/164H04N19/172
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,190,570
App. No.
16/998,654
Granted
Nov 30, 2021
Kind
B2
Abstract

A video encoder may be put in a starve mode during a low latency operation in which the video encoder may be operated in a mode that allows video frames to be encoded without any interdependencies such as motion compensation. At least one encoding parameter of the video encoding is selected such that, for each resulting encoded video frame, the video frame fits in exactly one application layer packet.

Claims (32)

1. An apparatus comprising a memory, a processor, and a network interface for performing real-time video communication, comprising:

an encoder module implemented by the processor that produces one or more compressed video representations of a video frame;

one or more buffers that store the one or more compressed video representations; and

a packetizer module implemented by the processor that checks sizes of the one or more compressed video representations and provides feedback to the encoder module about altering a parameter for producing the one or more compressed video representations;

wherein the encoder module is operable in at least two modes of operation, including a normal mode in which the encoder module produces the one or more compressed video representations by refraining from altering the parameter based on the feedback, and a starve mode for encoding video for low bandwidth in which the encoder module alters the parameter based on the feedback from the packetizer module and produces the one or more compressed video representations by performing intra-only encoding of the video frame and using the altered parameter to fit each of the compressed video representations in a single packet of transmission.

2. The apparatus of claim 1 , wherein the encoder module includes an image resolution filter module that operates to downsample the video frame prior to compression, based on the feedback.

3. The apparatus of claim 1 , wherein the encoder module includes a look-up table that controls output video compressed video frame rate based on the feedback.

4. The apparatus of claim 1 , wherein the encoder module is operable in the starve mode to produce candidate video encoded bits at least at two different encoding parameter settings to decide which ones of the at least two different encoding parameter settings result in packets that fit within the single packet of transmission.

5. The apparatus of claim 1 , wherein the packetizer module receives a control packet from at least one other device indicative of a network condition.

6. The apparatus of claim 5 , wherein, the control packet includes information about a number of lost packets.

7. The apparatus of claim 5 , wherein the control packet includes information about a round-trip network delay of a previously transmitted compressed video packet.

8. The apparatus of claim 1 , wherein the encoder is operable in the starve mode for a duration of time that is proportional to a monitored network condition.

9. The apparatus of claim 1 , wherein the encoder is operable in the starve mode for a duration of time corresponding to a video epoch, wherein the video epoch starts at a fixed time after the encoder module receives information indicative of a network condition.

10. The apparatus of claim 1 , wherein the encoder module is operable in the starve mode to selectively drop the video frame based on a detected scene change.

11. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

producing one or more compressed video representations of a video frame;

storing the one or more compressed video representations in one or more buffers;

checking sizes of the one or more compressed video representations and provides feedback to the encoder module about altering a parameter for producing the one or more compressed video representations;

operating in at least two modes of operation, including a normal mode to produce the one or more compressed video representations by refraining from altering the parameter based on the feedback, and a starve mode for encoding video for low bandwidth, in which the parameter is altered based on the feedback, to produce the one or more compressed video representations by performing intra-only encoding of the video frame and using the altered parameter to fit each of the compressed video representations in a single packet of transmission.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

downsampling the video frame prior to compression with an image resolution filter based on the feedback.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

controlling an output video compressed video frame rate with a look-up table based on the feedback.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

producing candidate video encoded bits at least at two different encoding parameter settings to decide which ones of the at least two different encoding parameter settings result in packets that fit within the single packet of transmission.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

receiving a control packet from at least one other device indicative of a network condition.

16. The non-transitory computer readable storage medium of claim 15 , wherein, the control packet includes information about a number of lost packets.

17. The non-transitory computer readable storage medium of claim 15 , wherein the control packet includes information about a round-trip network delay of a previously transmitted compressed video packet.

18. The non-transitory computer readable storage medium of claim 11 , wherein the starve mode is operable for a duration of time that is proportional to a monitored network condition.

19. The non-transitory computer readable storage medium of claim 11 , wherein the starve mode is operable for a duration of time corresponding to a video epoch, wherein the video epoch starts at a fixed time after the encoder module receives information indicative of a network condition.

20. The non-transitory computer readable storage medium of claim 11 , wherein the starve mode is operable to selectively drop the video frame based on a detected scene change.

Assignments (1)
CHANGE OF NAME Recorded Nov 24, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058238/0740 →
Continuity (2)
Division 15394699 · Dec 29, 2016
Related Publication 20200382575A1 · Dec 3, 2020