IP Library Granted Patent US 9,015,470
Granted Patent B2
US 9,015,470 · App. 13/732,479 · Granted Apr 21, 2015

Adaptive video server with fast initialization and methods for use therewith

Inventors: Eugene Losev (Brampton, CA); Thomas Walter Maxwell (Brampton, CA); Michael Podolsky (Thornhill, CA); Ashraf Tahir (Oakville, CA); King Chiu Tam (Vaughan, CA)
Assignee: Morega Systems, Inc
H04L65/607H04N21/27H04L65/605H04L65/4084H04N21/2347H04N21/2402H04N21/64769H04N21/8456
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 9,015,470
App. No.
13/732,479
Granted
Apr 21, 2015
Kind
B2
Abstract

A streaming video server includes a virtual file system that stores playlist data corresponding to a plurality of video programs available from at least one video source and that stores at least one initial video program segment for each of the plurality of video segments. The streaming video server receives a request for a selected one of the plurality of video programs from a client device. The selected one of the plurality of video programs is retrieved from the at least one video source in response to the request. A plurality of encoded segments are generated from the selected one of the plurality of video programs, based on rate data. A multiplexer generates a plurality of output segments from the at least one initial video program segment corresponding to the selected one of the plurality of video programs and the plurality of encoded video program segments.

Claims (32)

1. A streaming server comprising:

at least one memory;

at least one processor that operates in conjunction with the at least one memory;

a virtual file system that operates via the at least one memory that stores playlist data corresponding to a plurality of video programs available from at least one video source in a memory of the streaming server and that further stores variant playlist data corresponding to each of the plurality of video programs, wherein the virtual file system includes a segment memory that stores at least one initial video program segment for each of the plurality of video programs;

a network interface, coupled to bidirectionally communicate with a client device and to bidirectionally communicate with the at least one video source via at least one network, wherein the network interface further generates transmission feedback data;

a rate generator that operates via the at least one processor, coupled to the network interface, that generates rate data based on the transmission feedback data;

a command handler that operates via the at least one processor, coupled to the network interface, and the virtual file system, that receives a request for a selected one of the plurality of video programs from the client device via the network interface and retrieves the selected one of the plurality of video programs from the at least one video source via the network interface in response to the request; and

a video encoder that operates via the at least one processor, coupled to the rate generator and the command handler, that encodes the selected one of the plurality of video programs into a plurality of encoded video program segments at a rate that is controlled based on the rate data; and

a multiplexer that the operates via the at least one processor of the streaming server, coupled to the virtual file system and the video encoder, that generates a plurality of output segments from the at least one initial video program segment corresponding to the selected one of the plurality of video programs during an initial temporal period and that generates the plurality of output segments from the plurality of encoded video program segments subsequent to the initial temporal period in a temporal sequence of the plurality of output segments, wherein the at least one initial video program segment includes a plurality of initial video program segments that cover the initial temporal period of selected one of the plurality of video programs corresponding to an initial latency period of the video encoder in producing a first encoded video segment in a temporal sequence of the plurality of encoded video program segments.

2. The streaming server of claim 1 further comprising:

a video encryptor, coupled to the network interface, the video encoder and the command handler, that generates encrypted segments from the output segments in accordance with an encryption key;

wherein the network interface sends a streaming video signal to the client device that includes the encrypted segments.

3. The streaming server of claim 1 wherein the rate generator adjusts the data rate based on an initial data rate.

4. The streaming server of claim 1 wherein the at least one initial video program segment is generated at a nominal data rate.

5. The streaming server of claim 1 wherein the variant playlist indicates a single variant for streaming each of the plurality of video programs.

6. The streaming server of claim 4 wherein the initial data rate is generated based on context data that indicates properties of the selected one of the plurality of video programs.

7. A method for use in a streaming server, the method comprising:

storing playlist data corresponding to a plurality of video programs available from at least one video source in at least one memory;

storing variant playlist data corresponding to each of the plurality of video programs in the at least one memory;

storing at least one initial video program segment for each of the plurality of video programs in the at least one memory;

bidirectionally communicating with a client device and the at least one video source via a network interface, wherein the network interface further generates transmission feedback data;

generating rate data via at least one processor based on the transmission feedback data;

receiving a request for a selected one of the plurality of video programs from the client device via the network interface;

retrieving the selected one of the plurality of video programs from the at least one video source via the network interface in response to the request;

encoding the selected one of the plurality of video programs via the at least one processor into a plurality of encoded video program segments at a rate that is controlled based on the rate data; and

generating a plurality of output segments via the at least one processor as the at least one initial video program segment corresponding to the selected one of the plurality of video programs during an initial temporal period and as the plurality of output segments from the plurality of encoded video program segments subsequent to the initial temporal period in a temporal sequence of the plurality of output segments, wherein the at least one initial video program segment includes a plurality of initial video program segments that cover the initial temporal period of selected one of the plurality of video programs corresponding to an initial latency period of the video encoder in producing a first encoded video segment in a temporal sequence of the plurality of encoded video program segments.

8. The method of claim 7 further comprising:

generating encrypted segments from the output segments in accordance with an encryption key; and

sending a streaming video signal to the client device that includes the plurality of encrypted segments via a network interface.

9. The method of claim 7 wherein the data rate is adjusted based on an initial data rate.

10. The method of claim 7 wherein the at least one initial video program segment is generated at a nominal data rate.

11. The method of claim 7 wherein the variant playlist indicates a single variant for streaming each of the plurality of video programs.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2019
From: 3311148 NOVA SCOTIA LIMITED
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 048155/0630 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2019
From: MOREGA SYSTEMS INC.
To: 3311148 NOVA SCOTIA LIMITED
Reel/Frame 048121/0760 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2013
From: LOSEV, EUGENE; PATKO, TAMAS; PODOLSKY, MICHAEL; TAHIR, ASHRAF; TAM, KING CHIU
To: MOREGA SYSTEMS INC.
Reel/Frame 029552/0052 →
Continuity (2)
Provisional Application 61724110 · Nov 8, 2012
Related Publication 20140129825A1 · May 8, 2014