IP Library Granted Patent US 7,936,819
Granted Patent B2
US 7,936,819 · App. 11/178,176 · Granted May 3, 2011

Video encoder with latency control

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 7,936,819
App. No.
11/178,176
Granted
May 3, 2011
Kind
B2
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.

Claims (28)

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.

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.

3. The method of claim 2 , wherein:

transmitting the one or more P-frames and the frame of video comprises setting a latency less than 50 ms; and

setting the latency includes defining a first time and a second time, the first time corresponding to a global clock and the second time corresponding to an offset relative to the global clock, and wherein the latency corresponds to a time difference between an arrival of the number of bits corresponding to the frame of video and decoding of the number of bits.

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.

5. The method of claim 1 , wherein the frame of video is a P-frame.

6. The method of claim 1 , wherein the frame of video comprises update information for a previously transmitted frame of video.

7. The method of claim 1 , wherein the frame of video is transmitted over 3 to 3.9 frame periods.

8. The method of claim 7 , wherein the one or more P-frames comprise three P-frames.

9. The method of claim 1 , wherein all macro-blocks of the one or more P-frames are empty.

10. The method of claim 1 , wherein each macro-block of the one or more P-frames is either empty or skipped.

11. The method of claim 1 , wherein the server system is a video game system comprising one or more video game servers.

12. The method of claim 11 , wherein the one or more P-frames and the frame of video are transmitted in response to a user command in a video game.

13. The method of claim 1 , further comprising setting a latency less than 50 ms.

14. The apparatus of claim 4 , wherein the frame of video is a P-frame.

15. The apparatus of claim 4 , wherein the instructions for transmitting the frame of video comprise instructions for transmitting the frame of video over two or more frame periods.

16. The apparatus of claim 4 , wherein the instructions for transmitting the frame of video comprise instructions for transmitting the frame of video over 3 to 3.9 frame periods.

17. The apparatus of claim 16 , wherein the instructions for transmitting the one or more P-frames comprise instructions for transmitting three P-frames.

18. The apparatus of claim 4 , wherein each macro-block of the one or more P-frames is either empty or skipped.

19. The apparatus of claim 4 , further comprising instructions to set a latency less than 50 ms.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2015
From: VENTURE LENDING & LEASING IV, LLC
To: ACTIVEVIDEO NETWORKS, INC.
Reel/Frame 035139/0986 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2011
From: TAG NETWORKS, INC.
To: ACTIVEVIDEO NETWORKS, INC.
Reel/Frame 027457/0683 →