IP Library › Granted Patent US 10,742,699
Granted Patent B1
US 10,742,699 · App. 15/720,438 · Granted Aug 11, 2020

Requesting transmission of future encoded segments

Inventors: Yueshi Shen (Cupertino, CA); Martin Hess (Soquel, CA); Shawn Hsu (San Jose, CA); Eran Ambar (Sunnyvale, CA); Abhinav Kapoor (Fremont, CA); Jorge Arturo Villatoro (San Francisco, CA); Spencer Nelson (Brooklyn, NY); Jeffrey Garneau (Durham, NC); Cyrus Hall (San Francisco, CA); Jyotindra Vasudeo (Berkeley, CA); Andrew Francis (San Francisco, CA); Yuechuan Li (Issaquah, WA); Chih-Chiang Lu (Fremont, CA)
Assignee: Twitch Interactive, Inc.
H04L65/4084H04L29/0651H04L29/06176H04L29/06476H04L65/00H04L65/60H04L65/607H04N21/2187H04N21/8456H04L65/80
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 10,742,699
App. No.
15/720,438
Granted
Aug 11, 2020
Kind
B1
Abstract

Techniques for low latency streaming, for example in a broadcasting environment, are described herein. In some examples, a playlist may include both currently encoded segments, which are segments that are fully encoded at or before playlist generation, and also future encoded segments, which are segments that have not yet been fully encoded at playlist generation. In some cases, the inclusion of future encoded segments in a playlist may result in a player requesting a segment that has not yet been fully encoded at the time that the request is received by the server. In some examples, even though the segment is not yet fully encoded, the server may nevertheless save and process the request, for example by transmitting encoded portions of the requested segment as those portions are made available by the encoder.

Claims (33)

1. A computing system for transmission of streaming video content comprising:

one or more processors; and

one or more memories having stored therein instructions that, upon execution by the one or more processors, cause the computing system perform operations comprising:

receiving, from a player, a request for a first segment of the streaming video content, wherein a first frame of the first segment has been fully encoded by one or more encoders when the request is received, and wherein a second frame of the first segment has not yet been fully encoded by the one or more encoders when the request is received;

receiving, from the one or more encoders, after the first frame is fully encoded, the first frame;

transmitting the first frame to the player;

receiving, from the one or more encoders, after the second frame is fully encoded, the second frame, wherein at least part of the first frame is transmitted to the player prior to the receiving of the second frame; and

transmitting the second frame to the player.

2. The computing system of claim 1 , wherein the request is processed without requiring the player to resubmit the request.

3. The computing system of claim 1 , wherein the streaming video content includes video of an event, and wherein at least part of the streaming video content is transmitted during a live occurrence of at least part of the event.

4. The computing system of claim 1 , wherein the first segment is identified in a playlist that is generated before the first segment is fully encoded by the one or more encoders.

5. A computer-implemented method for transmission of streaming video content comprising:

receiving, from a recipient, a request for a first segment of the streaming video content, wherein a first portion of the first segment has been fully encoded by one or more encoders when the request is received, and wherein a second portion of the first segment has not yet been fully encoded by the one or more encoders when the request is received;

receiving, from the one or more encoders, after the first portion is fully encoded, the first portion;

transmitting the first portion to the recipient;

receiving, from the one or more encoders, after the second portion is fully encoded, the second portion, wherein at least part of the first portion is transmitted to the recipient prior to the receiving of the second portion; and

transmitting the second portion to the recipient.

6. The computer-implemented method of claim 5 , wherein the request is processed without requiring the recipient to resubmit the request.

7. The computer-implemented method of claim 5 , wherein the first portion is a first frame of the first segment.

8. The computer-implemented method of claim 5 , wherein the streaming video content includes video of an event, and wherein at least part of the streaming video content is transmitted during a live occurrence of at least part of the event.

9. The computer-implemented method of claim 5 , wherein the first segment is identified in a playlist that is generated before the first segment is fully encoded by the one or more encoders.

10. The computer-implemented method of claim 9 , wherein the first segment is identified in a comment of the playlist.

11. One or more non-transitory computer-readable storage media having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices to perform operations comprising:

receiving, from a recipient, a request for a first segment of streaming video content, wherein a first portion of the first segment has been fully encoded by one or more encoders when the request is received, and wherein a second portion of the first segment has not yet been fully encoded by the one or more encoders when the request is received;

receiving, from the one or more encoders, after the first portion is fully encoded, the first portion;

transmitting the first portion to the recipient;

receiving, from the one or more encoders, after the second portion is fully encoded, the second portion, wherein at least part of the first portion is transmitted to the recipient prior to the receiving of the second portion; and

transmitting the second portion to the recipient.

12. The one or more non-transitory computer-readable storage media of claim 11 , wherein the request is processed without requiring the recipient to resubmit the request.

13. The one or more non-transitory computer-readable storage media of claim 11 , wherein the first portion is a first frame of the first segment.

14. The one or more non-transitory computer-readable storage media of claim 11 , wherein the streaming video content includes video of an event, and wherein at least part of the streaming video content is transmitted during a live occurrence of at least part of the event.

15. The one or more non-transitory computer-readable storage media of claim 11 , wherein the first segment is identified in a playlist that is generated before the first segment is fully encoded by the one or more encoders.

16. The one or more non-transitory computer-readable storage media of claim 15 , wherein the first segment is identified in a comment of the playlist.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2019
From: SHEN, YUESHI; HESS, MARTIN; HSU, SHAWN; AMBAR, ERAN; KAPOOR, ABHINAV; VILLATORO, JORGE ARTURO; NELSON, SPENCER; GARNEAU, JEFFREY; HALL, CYRUS; VASUDEO, JYOTINDRA; FRANCIS, ANDREW; LI, YUECHUAN; LU, CHIH-CHIANG
To: TWITCH INTERACTIVE, INC.
Reel/Frame 049423/0745 →
Cited By (3)
US 12,267,544 US 12,389,080 US 12,598,241