US2014331262A1PendingUtilityA1

Adaptive video server with virtual file system and methods for use therewith

55
Assignee: MOREGA SYSTEMS INCPriority: Apr 27, 2011Filed: May 21, 2014Published: Nov 6, 2014
Est. expiryApr 27, 2031(~4.8 yrs left)· nominal 20-yr term from priority
Inventors:King Chiu Tam
H04N 21/4621H04N 21/8549H04N 21/439H04N 21/47202H04N 21/2343H04N 21/44209H04N 21/2662H04N 21/8456H04N 21/4825H04N 21/234309H04N 21/26258
55
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A streaming video server includes a virtual file system that 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 program 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 at least one encoding parameter that is adjusted in response to context data relating to the streaming session for the selected one of the plurality of video programs.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A streaming server comprising:
 an apparatus that operates via a processing device and a memory device and that 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 further that pre-stores variant playlist data corresponding to each of the plurality of video programs;   a network interface, coupled to bidirectionally communicate with a client device;   a video encoder;   a command handler, coupled to the network interface, the video encoder, and the virtual file system, that operates by:
 receiving a request for variant playlist data corresponding to 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 in response to the request and segments and encodes the selected one of the plurality of video programs into a plurality of encoded segments via the video encoder, based on at least one encoding parameter that is adjusted in response to context data relating to the streaming session for the selected one of the plurality of video programs, wherein the plurality encoded segments each include a plurality of seconds of the selected one of the plurality of video programs; 
 wherein the command handler associates the plurality of encoded segments to a segment playlist that includes a network address for each of the plurality of encoded segments. 
   
     
     
         2 . The streaming server of  claim 1  wherein that network interface receives the context data from the client device that indicates a current one of a plurality of device states. 
     
     
         3 . The streaming server of  claim 2  wherein the current one of a plurality of device states includes at least one of: a video display window size, and a volume setting. 
     
     
         4 . The streaming server of  claim 1  wherein that network interface receives the context data from the client device that indicates an operating system of the client device. 
     
     
         5 . The streaming server of  claim 1  wherein the context data indicates a genre of the selected one of the plurality of video programs. 
     
     
         6 . The streaming server of  claim 1  wherein the context data indicates a number of audio channels included in the selected one of the plurality of video programs. 
     
     
         7 . The streaming server of  claim 1  further comprising;
 an entropy pre-processing module that generates entropy preview data from the selected one of the plurality of video programs, wherein the entropy preview data is included in the context data and the entropy preview data includes at least one of: audio entropy data and video entropy data. 
 
     
     
         8 . The streaming server of  claim 1  wherein the context data includes bandwidth assessment data generated in response to a bandwidth test performed in response to the request for the selected one of the plurality of video programs. 
     
     
         9 . The streaming server of  claim 1  wherein the at least one encoding parameter includes at least one of:
 an overall average bitrate for each of the plurality of encoded segments; 
 an average video bitrate for each of the plurality of encoded segments; 
 an average audio bitrate for each of the plurality of encoded segments; 
 a video resolution for each of the plurality of encoded segments; 
 a video frame rate for each of the plurality of encoded segments; and 
 a number of encoded audio channels for each of the plurality of encoded segments. 
 
     
     
         10 . The streaming server of  claim 1  wherein the command handler associates the plurality of encoded segments to a segment playlist that includes a network address for each of the plurality of encoded segments. 
     
     
         11 . A method comprising:
 prestoring segment playlist data that includes a network address corresponding to each of a plurality of encoded segments for each of a plurality of video programs, prior to generating at least one of the plurality of encoded segments;   receiving a request for a selected one of the plurality of video programs from a client device including a request for the at least one of the plurality of encoded segments at the corresponding network address;   retrieving the selected one of the plurality of video programs in response to the request;   generating the at least one of the plurality of encoded segments, based on at least one encoding parameter that is adjusted in response to context data relating to a streaming session for the selected one of the plurality of video programs, wherein the at least one of the plurality encoded segments each include a plurality of seconds of the selected one of the plurality of video programs.   
     
     
         12 . The method of  claim 11  further comprising:
 receiving the context data from the client device; 
 wherein the context data indicates a current one of a plurality of device states. 
 
     
     
         13 . The method of  claim 12  wherein the current one of a plurality of device states includes at least one of: a video display window size, and a volume setting. 
     
     
         14 . The method of  claim 11  further comprising:
 receiving the context data from the client device; 
 wherein the context data indicates an operating system of the client device. 
 
     
     
         15 . The method of  claim 11  wherein the context data indicates a genre of the selected one of the plurality of video programs. 
     
     
         16 . The method of  claim 11  wherein the context data indicates a number of audio channels included in the selected one of the plurality of video programs. 
     
     
         17 . The method of  claim 11  further comprising:
 generating entropy preview data by preprocessing the selected one of the plurality of video programs; 
 wherein the entropy preview data is included in the context data and the entropy preview data includes at least one of: audio entropy data and video entropy data. 
 
     
     
         18 . The method of  claim 11  wherein the context data includes bandwidth assessment data generated in response to a bandwidth test performed in response to the request for the selected one of the plurality of video programs. 
     
     
         19 . The method of  claim 11  wherein the at least one encoding parameter includes at least one of:
 an overall average bitrate for each of the plurality of encoded segments; 
 an average video bitrate for each of the plurality of encoded segments; 
 an average audio bitrate for each of the plurality of encoded segments; 
 a video resolution for each of the plurality of encoded segments; 
 a video frame rate for each of the plurality of encoded segments; and 
 a number of encoded audio channels for each of the plurality of encoded segments. 
 
     
     
         20 . A streaming server comprising:
 an apparatus that operates via a processing device and a memory device and that includes:   a virtual file system that stores segment playlist data corresponding to a plurality of encoded segments for each of a plurality of video programs, wherein the segment playlist data includes a network address corresponding to each of a plurality of encoded segments for each of a plurality of video programs;   a network interface, coupled to bidirectionally communicate with a client device;   a video encoder;   a command handler, coupled to the network interface, the video encoder, and the virtual file system, that operates by:
 receiving a request for at least one of the plurality of segments corresponding to a selected one of the plurality of video programs from the client device via the network interface; and 
 retrieving the selected one of the plurality of video programs in response to the request and generates the at least one of the plurality of encoded segments in response to the request by segmenting and encoding, via the video encoder, the selected one of the plurality of video programs based on at least one encoding parameter that is adjusted in response to context data received from the client device, wherein the at least one of the plurality encoded segments each include a plurality of seconds of the selected one of the plurality of video programs.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.