IP Library Granted Patent US 9,015,779
Granted Patent B2
US 9,015,779 · App. 13/754,124 · Granted Apr 21, 2015

Streaming video server with segment length control and methods for use therewith

Inventors: Thomas Walter Maxwell (Brampton, CA); Preetkanwal Samra (Brampton, CA)
Assignee: Morega Systems, Inc
H04N21/47202H04N21/6175H04N21/64322H04N21/4305H04N21/4825H04N21/845H04N19/119H04N19/162H04N19/177H04N19/179
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,779
App. No.
13/754,124
Granted
Apr 21, 2015
Kind
B2
Abstract

A streaming server includes a virtual file system that stores playlist data corresponding to video programs available from at least one video source and that further stores variant playlist data corresponding to each of the video programs for streaming. A command handler receives a request for a video program from a client device. A video encoder encodes the selected video program into a plurality of video program segments in response to the request. The plurality of video program segments each have a length that is controlled based on length data, wherein the plurality of video segments includes one or more initial video program segments having at least one initialization length and steady state video program segments having a steady state length where the initialization length is less than the steady state length.

Claims (28)

1. A streaming server comprising:

a virtual file system that stores playlist data corresponding to a plurality of video programs available from at least one video source and that further stores variant playlist data corresponding to each of the plurality of video programs for streaming each of the plurality of video programs;

a network interface is coupled to bidirectionally communicate with a client device;

a command handler, coupled to the network interface and the virtual file system, receives a request for a selected one of the plurality of video programs from the client device via the network interface;

a video encoder, coupled to the command handler, encodes the selected one of the plurality of video programs into a plurality of video program segments in response to the request that each include a unique portion of the selected one of the plurality of video programs having a plurality of frames, the plurality of video program segments each have a length that is controlled based on length data, wherein the plurality of video segments includes at least one initial video program segment having at least one initialization length and a plurality of steady state video program segments having a steady state length and wherein the at least one initialization length is less than the steady state length; and

a length data generator that generates the length data based on variant playlist data and further based on based on segment request data, wherein the length data generator detects a steady state condition based on the segment request data and generates the length data for the plurality of steady state video program segments as a corresponding playlist length indicated by the variant playlist data when the steady state condition is detected.

2. The streaming server of claim 1 wherein the at least one initialization length includes a plurality of monotonically increasing lengths that are each less than the steady state length and wherein the stead state length is fixed.

3. The streaming server of claim 1 wherein the length data generator detects a reinitialization condition based on the segment request data and wherein the length data generator generates the length data for at least one first reinitialization video program segment as at least one first reinitialization length that is reduced from the corresponding playlist length when the reinitialization condition is detected.

4. The streaming server of claim 3 wherein the length data generator generates first accumulation data that represents an accumulated difference between the at least one first reinitialization length and the corresponding playlist length for the at least one first video program segment and generates the length data for at least one second reinitialization encoded video program segment as at least one second reinitialization length that is increased from the corresponding playlist length.

5. The streaming server of claim 4 wherein the length data generator generates second accumulation data that represents an accumulated difference between the at least one second reinitialization length and the corresponding playlist length for the at least one reinitialization video program segment, and wherein the length data generator returns to the steady state condition when the second accumulation data compares favorably to the first accumulation data.

6. 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;

storing variant playlist data corresponding to each of the plurality of video programs for streaming each of the plurality of video programs;

bidirectionally communicating with a client device;

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

encoding the selected one of the plurality of video programs into a plurality of video program segments in response to the request that each include a unique portion of the selected one of the plurality of video programs and that each include a plurality of frames, wherein the plurality of video program segments each have a length that is controlled based on length data, wherein the plurality of video segments includes at least one initial video program segment having at least one initialization length and a plurality of steady state video program segments having a steady state length and wherein the at least one initialization length is less than the steady state length;

detecting a steady state condition based on segment request data; and

generating the length data based on variant playlist data and the segment request data, wherein the length data is generated for the plurality of steady state video program segments as a corresponding playlist length indicated by the variant playlist data when the steady state condition is detected.

7. The method of claim 6 wherein the at least one initialization length includes a plurality of monotonically increasing lengths that are each less than the steady state length and wherein the stead state length is fixed.

8. The method of claim 6 further comprising:

detecting a reinitialization condition based on the segment request data;

wherein the length data is generated for at least one first reinitialization video program segment as at least one first reinitialization length that is reduced from the corresponding playlist length when the reinitialization condition is detected.

9. The method of claim 8 further comprising:

generating first accumulation data that represents an accumulated difference between the at least one first reinitialization length and the corresponding playlist length for the at least one first reinitialization video program segment;

wherein the length data is generated for at least one second reinitialization video program segments as at least one second reinitialization length that is increased from the corresponding playlist length.

10. The method of claim 9 further comprising:

generating second accumulation data that represents an accumulated difference between the at least one second reinitialization length and the corresponding playlist length for the at least one second reinitialization video program segment; and

returning to the steady state condition when the second accumulation data compares favorably to the first accumulation data.

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/0989 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2019
From: MOREGA SYSTEMS INC.
To: 3311148 NOVA SCOTIA LIMITED
Reel/Frame 048121/0508 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2013
From: MAXWELL, THOMAS WALTER; SAMRA, PREETKANWAL
To: MOREGA SYSTEMS INC.
Reel/Frame 030322/0653 →
Continuity (1)
Related Publication 20140215536A1 · Jul 31, 2014