IP Library Granted Patent US 10,165,034
Granted Patent B2
US 10,165,034 · App. 15/679,079 · Granted Dec 25, 2018

Apparatus, system, and method for multi-bitrate content streaming

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,165,034
App. No.
15/679,079
Granted
Dec 25, 2018
Kind
B2
Abstract

An apparatus, system, and method for maintaining a programming lineup of adaptive-bitrate content streaming is provided. The apparatus includes a timeline module configured to maintain a programming lineup of media content available over a network. The media content may comprise a plurality of streamlets. The apparatus also includes at least one data module configured to maintain multi-bitrate streamlet information. The system includes the apparatus and a client module configured to acquire content based upon the programming lineup provided by the timeline module. The method includes maintaining a programming lineup of media content available over a network, and maintaining multi-bitrate streamlet information.

Claims (33)

1. An apparatus for multi-bitrate content streaming, the apparatus comprising:

a programmable hardware device, comprising:

a timeline module configured to receive and maintain a broadcaster defined programming lineup of media content available over a network, the media content comprising a plurality of streamlets representative of a portion of the media content wherein the timeline module configured to periodically request updates to the broadcaster defined programming lineup:

an anchor module, the anchor module configured to tie an actual point in time in a day that each of the plurality of streamlets of the media content in the programming lineup is available over the network

at least one data module configured to maintain multi-bitrate streamlet information for the plurality of streamlets: and

a client module configured to request streamlets for playback of media content based upon the actual point in time in the day that each of the plurality of streamlets is available over the network according to the broadcaster defined programming lineup, wherein the client module is configured to edit content based upon an editing instruction in the timeline module associated with a time index of one of the plurality of streamlets;

wherein each streamlet comprises a portion of the media content encapsulated as an independent media object, and wherein each streamlet comprises a predetermined duration of time.

2. The apparatus of claim 1 , wherein multi-bitrate streamlet information is selected from the group consisting of start time, end time, live video, publisher data, encryption, duration, bitrate values, frame size, channels, codecs, sample rate, and frames parser.

3. The apparatus of claim 1 , wherein the client module configured to skip content in response to a rating system.

4. The apparatus of claim 3 , wherein the client module is configured to skip streamlets that do not conform to a selected rating level.

5. The apparatus of claim 3 , wherein the client module is configured to mute the audio of streamlets that do not conform to a selected rating level.

6. The apparatus of claim 1 , further comprising a content management system configured to dynamically replace portions of the media content.

7. A system for multi-bitrate content streaming, the system comprising:

a programmable hardware device, comprising:

a timeline module configured to receive and maintain a broadcaster defined programming lineup of media content available over a network, the media content comprising a plurality of streamlets representative of a portion of the media content, wherein the timeline module configured to periodically request updates to the broadcaster defined programming lineup;

an anchor module, the anchor module configured to tie an actual point in time in a day that each of the plurality of streamlets of the media content in the programming lineup is available over the network;

at least one data module configured to maintain multi-bitrate streamlet information for the plurality of streamlets; and

a client module configured to configured to request streamlets for playback of media content based upon the actual point in time in the day that each of the plurality of streamlets is available over the network according to the broadcaster defined programming lineup, wherein the client module is configured to edit content based upon an editing instruction in the timeline module associated with a time index of one of the plurality of streamlets;

wherein each streamlet comprises a portion of the media content encapsulated as an independent media object, and wherein each streamlet comprises a predetermined duration of time.

8. The system of claim 7 , wherein multi-bitrate streamlet information is selected from the group consisting of start time, end time, live video, publisher data, encryption, duration, bitrate values, frame size, channels, codecs, sample rate, and frames parser.

9. The system of claim 7 , wherein the client module is configured to skip streamlets that do not conform to a selected rating level.

10. The system of claim 7 , wherein the client module is configured to mute the audio of streamlets that do not conform to a selected rating level.

11. The system of claim 7 , further comprising a content management system configured to dynamically replace portions of the media content.

12. A method for multi-bitrate content streaming, the method comprising: receiving and maintaining a broadcaster defined programming lineup of media content available over a network, the media content comprising a plurality of

streamlets representative of a portion of the media content, wherein the timeline module configured to periodically request updates to the broadcaster defined programming lineup;

anchoring an actual point in time in a day that each of the plurality of streamlets of the media content in the programming lineup is available over the network; and

request streamlets for playback of media content based upon the actual point in time in the day that each of the plurality of streamlets is available over the network according to the broadcaster defined programming lineup, wherein the client module is configured to edit content based upon an editing instruction in the timeline module associated with a time index of one of the plurality of streamlets;

wherein each streamlet comprises a portion of the media content encapsulated as an independent media object, and wherein each streamlet comprises a predetermined duration of time.

13. The method of claim 12 , wherein the multi-bitrate streamlet information is selected from the group consisting of start time, end time, live video, publisher data, encryption, duration, bitrate values, frame size, channels, codecs, sample rate, and frames parser.

14. The method of claim 12 , further comprising skipping content in response to a rating system.

15. The method of claim 14 , further comprising skipping streamlets that do not conform to a selected rating level.

16. The method of claim 12 , further comprising muting the audio of streamlets that do not conform to a selected rating level.

17. The method of claim 12 , further comprising dynamically replacing portions of the media content.

Assignments (3)
SECURITY INTEREST Recorded Nov 30, 2021
From: DISH BROADCASTING CORPORATION; DISH NETWORK L.L.C.; DISH TECHNOLOGIES L.L.C.
To: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 058295/0293 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ATTORNEY DOCKET NUMBER PREVIOUSLY RECORDED AT REEL: 047126 FRAME: 0553. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 12, 2018
From: HURST, MARK B.; BRUECK, DAVID B.
To: DISH TECHNOLOGIES L.L.C.
Reel/Frame 047649/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: HURST, MARK B.; BRUECK, DAVID F.
To: DISH TECHNOLOGIES L.L.C.
Reel/Frame 047126/0553 →