Video encoder with latency control
First Claim
1. A method, comprising:
- at a server system comprising one or more processors and memory storing one or more programs configured to be executed by the one or more processors;
determining a number of bits corresponding to a frame of video;
determining a length of time needed to transmit the number of bits;
determining that the length of time exceeds a frame period, wherein the frame period corresponds to an inverse of an average frame update rate; and
in response to determining that the length of time exceeds the frame period;
transmitting one or more P-frames that each comprise a plurality of empty macro-blocks, wherein each of the one or more P-frames is transmitted over a period of time less than the frame period; and
after transmitting the one or more P-frames, transmitting the frame of video over a period of time exceeding one frame period.
5 Assignments
0 Petitions
Accused Products
Abstract
In a method of transmitting a frame of video, a number of bits corresponding to a frame of video is determined. A length of time needed to transmit the number of bits is determined and is compared with a length of time corresponding to a frame period. A frame period may correspond to an inverse of an average frame update rate. If the length of time exceeds the length of time corresponding to the frame period, one or more P-frames including a plurality of empty macro-blocks may be transmitted and the frame of video may then be transmitted over period of time exceeding one frame period. In some cases, the transmission of the frame of video may equal two or more frame periods. The transmitting may include transmitting an instruction for setting a latency in a client device to less than 50 ms.
-
Citations
19 Claims
-
1. A method, comprising:
- at a server system comprising one or more processors and memory storing one or more programs configured to be executed by the one or more processors;
determining a number of bits corresponding to a frame of video;
determining a length of time needed to transmit the number of bits;
determining that the length of time exceeds a frame period, wherein the frame period corresponds to an inverse of an average frame update rate; and
in response to determining that the length of time exceeds the frame period;
transmitting one or more P-frames that each comprise a plurality of empty macro-blocks, wherein each of the one or more P-frames is transmitted over a period of time less than the frame period; and
after transmitting the one or more P-frames, transmitting the frame of video over a period of time exceeding one frame period. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13)
- at a server system comprising one or more processors and memory storing one or more programs configured to be executed by the one or more processors;
-
2. A method, comprising:
- at a server system comprising one or more processors and memory storing one or more programs configured to be executed by the one or more processors;
determining a number of bits corresponding to a frame of video;
determining a length of time needed to transmit the number of bits;
determining that the length of time exceeds a frame period, wherein the frame period corresponds to an inverse of an average frame update rate; and
in response to determining that the length of time exceeds the frame period;
transmitting one or more P-frames that each comprise a plurality of empty macro-blocks, wherein each of the one or more P-frames is transmitted over a period of time less than the frame period; and
after transmitting the one or more P-frames, transmitting the frame of video over two or more frame periods. - View Dependent Claims (3)
- at a server system comprising one or more processors and memory storing one or more programs configured to be executed by the one or more processors;
-
4. An apparatus, comprising:
-
one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising; instructions for determining a number of bits corresponding to a frame of video; instructions for determining a length of time needed to transmit the number of bits; instructions for determining that the length of time exceeds a frame period, wherein the frame period corresponds to an inverse of an average frame update rate; instructions for transmitting, in response to determining that the length of time exceeds the frame period, one or more P-frames that each comprise a plurality of empty macro-blocks, wherein each of the one or more P-frames is to be transmitted over a period of time less than the frame period; and instructions for transmitting the frame of video after transmitting the one or more P-frames, wherein the frame of video is to be transmitted over a period of time exceeding one frame period. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification