IP Library Granted Patent US 10,972,522
Granted Patent B2
US 10,972,522 · App. 16/752,877 · Granted Apr 6, 2021

Streaming media state machine

Inventor: Brandon C. Furtwangler (Issaquah, WA)
Assignee: HOME BOX OFFICE, INC.
H04L65/4092G06N7/005H04L45/24H04L65/602H04L65/80H04N21/25883H04N21/25891H04N21/2668H04N21/26258H04N21/4331H04N21/8456H04N21/44004
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,972,522
App. No.
16/752,877
Granted
Apr 6, 2021
Kind
B2
Abstract

The described technology is directed towards having multiple paths through streamed media content, such as a video. The content may be represented as a state machine of states, in which each state corresponds to one or more periods of one or more segments, and transitions to one or more other states. When a state is able to transition to different states, one or more criteria may be used to select one of the transition paths to a next state. Segments corresponding to unknown paths (where the transition decision is not yet available) may be selected and streamed for buffering via a multiple path buffering mechanism.

Claims (34)

1. A system, comprising:

a processor, communicatively coupled to a memory that stores computer-executable instructions, that executes or facilitates execution of the computer-executable instructions to perform operations, the operations comprising:

generating a state machine for video content, the state machine comprising respective nodes representing video content portions of the video content and respective edges representing transition paths between the nodes, the respective nodes comprising transition rules defining conditions for selecting the transition paths, including a node comprising transition paths to a plurality of other nodes;

streaming the video content using different transition paths through the video content based on the state machine, the streaming comprising:

building a set of segments based on the state machine, wherein the set of segments comprises certain segments corresponding to a certain node of the state machine and uncertain segments corresponding to uncertain nodes of the state machine based on the transition rules of the certain node; and

processing the set of segments to select segments for video playback, including to select previously uncertain segments that have become certain based on the transition rules and current condition state data, wherein the current condition state data comprises an indication of whether a client device to which the video content is streamed is moving based on client device motion data.

2. The system of claim 1 , wherein the current condition state data further comprises data from at least one social media source.

3. The system of claim 1 , wherein the current condition state data further comprises client input data from the client.

4. The system of claim 1 , wherein the processing the set of segments to select segments for the video playback current comprises selecting segments from a non-previously traversed transition path based on the current condition state data indicating a previously traversed transition path.

5. The system of claim 1 , wherein the current condition state data further comprises age-based rating video content viewing restrictions.

6. The system of claim 1 , wherein the current condition state data is determined from client input data.

7. The system of claim 1 , wherein the current condition state data further comprises client preference data for a particular genre.

8. The system of claim 1 , wherein the operations further comprise, discarding uncertain segments from the set that are not to be selected for playback based on the transition rules and the current condition state data.

9. A method comprising:

generating, by a system comprising a processor, a state machine for streaming video content playback, wherein the state machine has respective nodes representing video content portions of video content and respective edges representing transition paths between the nodes, wherein the respective nodes comprise transition rules defining conditions for selecting the transition paths, and at least one node comprises transition paths to a plurality of other nodes; and

streaming the video content using different transition paths through the video content based on the state machine, the streaming comprising:

buffering a set of content portions, wherein the set contains a respective number of content portions from each path of the different transition paths, and wherein each respective number is proportional to a rounded probability associated with respective corresponding path;

using the transition rules associated with a node representing a currently playing content portion to determine which transition path associated with the node to select for transitioning to a next buffered content period for playback, wherein the transition rules use one or more criteria to determine which transition path to select, wherein the one or more criteria comprises a determination of whether a client device to which the video content is streamed is moving based on client device motion data; and

transmitting data for the next buffered content period for playback.

10. The method of claim 9 , further comprising obtaining information corresponding to the one or more criteria from a social media source.

11. The method of claim 9 , further comprising obtaining information corresponding to the one or more criteria associated with a client viewer of the streaming video content playback.

12. The method of claim 11 , wherein the obtaining the information comprises obtaining client preference data indicating a particular genre.

13. The method of claim 11 , wherein the obtaining the information comprises obtaining at least one of client device type data or client device location data.

14. The method of claim 9 , further comprising obtaining information corresponding to the one or more criteria from at least one of: past history data or client profile data.

15. The method of claim 9 , further comprising obtaining information corresponding to the one or more criteria based on age information of a viewer of the streaming video content playback and age-based rating video content viewing restrictions.

16. The method of claim 9 , further comprising obtaining information corresponding to the one or more criteria based on client preference data indicating a desired camera angle.

17. A non-transitory computer-readable medium having instructions stored thereon that, in response to execution, cause a system including a processor to perform operations, the operations comprising:

generating a state machine for a content, wherein the state machine has respective nodes representing content periods of the content and respective edges representing transition paths between the nodes, wherein the respective nodes comprise transition rules defining conditions for selecting the transition paths, and at least one node comprises transition paths to a plurality of other nodes, and wherein the state machine comprises at least one loop amongst one or more nodes; and

streaming the content using different transition paths through the content to different clients based on the state machine, the streaming comprising:

buffering a set of content periods, wherein the set contains a respective number of content periods from each path of the different transition paths, and wherein each respective number is proportional to a rounded probability associated with respective corresponding path;

using the transition rules associated with a node representing a currently playing content period to determine which transition path associated with the node to select to transition to a next buffered content period for a client, wherein the transition rules use one or more criteria to determine which transition path to select, wherein the one or more criteria comprises a determination of whether a client to which the video content is streamed is moving based on client device motion data; and transmitting data for the next buffered content period to the client.

18. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise obtaining the one or more criteria based on at least one of: client device type data or client device location data.

19. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise obtaining the one or more criteria based on client input.

20. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise obtaining the one or more criteria based on at least one of: past history data or client profile data.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: FURTWANGLER, BRANDON C.
To: HOME BOX OFFICE, INC.
Reel/Frame 051627/0333 →