US20080022343A1 - Multiple audio streams - Google Patents
Multiple audio streams Download PDFInfo
- Publication number
- US20080022343A1 US20080022343A1 US11/492,673 US49267306A US2008022343A1 US 20080022343 A1 US20080022343 A1 US 20080022343A1 US 49267306 A US49267306 A US 49267306A US 2008022343 A1 US2008022343 A1 US 2008022343A1
- Authority
- US
- United States
- Prior art keywords
- audio
- video
- units
- segments
- boxes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25891—Management of end-user data being end-user preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47208—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting near-video-on-demand content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the present invention is generally related to multimedia delivery over the Internet. Particularly, the present invention is related to techniques providing media services including movies with multiple audio streams on an open network, such as the Internet.
- Continuous or on-demand media data such as video and audio programs have been broadcasted over data networks (e.g., the Internet). Broadcast of such media information over data networks by digital broadcasting systems provides many advantages and benefits that cannot be matched by current television cable systems or over-the-air broadcasting.
- FIG. 1 shows a video delivery system 100 that is commonly used for delivering VOD programs over a network.
- the video delivery system 100 includes a video server 102 that is sometimes referred to as a head-end.
- the video server 102 can provide continuous, scheduled and video-on-demand (VOD) services to respective client machines 106 - 1 , 106 - 2 , . . . 106 - n (i.e., its subscribers).
- the server 102 is further coupled to a media storage device 112 that may be configured to store various media files (e.g., movies or news footage).
- the media storage device 112 must be on-line, store and supply titles scheduled or demanded for delivery to any of the client machines 106 - 1 , 106 - 2 , . . . 106 - n.
- the bandwidth requirement of the network path (e.g., 108 - 1 , 108 - 2 , . . . 108 - n ) to each of the client machines 106 - 1 , 106 - 2 , . . . 106 - n has to be sufficient.
- the bandwidth of the backbone network path 110 increases linearly, and the overall cost of the system 100 increases considerably at the same time. If the server has a fixed bandwidth limit and system support capability, an increase in the number of subscribers beyond a certain threshold will result in slower transfer of data to clients.
- the transmission of the video data over the network 104 to the subscribers via the client machines 106 - 1 , 106 - 2 , . . . 106 - n is no longer guaranteed.
- the display of the video data may fail or at least become jittery.
- a video delivery system often employs multiple video servers as rendering farms, perhaps in multiple locations.
- Each of the video servers similar to the video server 102 , is configured to support a limited number of subscribers. Whenever the number of subscribers goes beyond the capacity of a video server or the bandwidth thereof, an additional video server needs to be deployed or additional bandwidth needs to be allocated. Subsequently, overall costs go up considerably when more subscribers sign up with the video delivery system 100 .
- the implementation of the video server 102 present many challenges to consider in delivering programs over an open network.
- movies come with a number of different audio tracks.
- a movie may include respective audio tracks in English, Spanish, French, Chinese, or other languages.
- Streaming multiple audio streams for each video increases the bandwidth requirements of the network. Increasing the bandwidth requirement for multiple audio tracks makes the overall cost of the system 100 too costly and may not be practically possible.
- the present invention relates to techniques for providing media services over an open network.
- the present invention provides techniques for encoding and sending multiple audio streams, and single video stream into a transport—seeding a “fat” transport. Then, streaming a transport with a single audio and a single video with other audios filtered out to a subscriber—streaming a “lean” transport.
- the embodiment comprises encoding and sending each video and audio stream separately, then streaming a transport with requested single audio and single video in real-time.
- data pertaining to a title is divided or organized into several segments that are distributed among boxes in service.
- General orders of titles being offered in a library are fulfilled by a group of selected client devices (e.g., boxes) delivering respective segments to an ordering box.
- Special orders of certain programs are fulfilled directly by a server.
- the server is configured to supply some of the segments to an ordering box or back up any one of the selected boxes designated to supply the needed data to an ordering box. Because of its inherent superior computing power and more bandwidth, the server may deliver more than one segment at a time.
- the architecture contemplated in the present invention offers the flexibilities of being relatively independent from the number of users while, at the same time, offering centralized management or services to the users.
- the present invention inherently distributes load among client devices in service by using the computing power and bandwidth collectively available at any time in the client devices. Furthermore, much of the traditional server functionality now gets distributed among the client devices in service.
- the invention provides a method of providing media services over a network, the method comprises: receiving a request from one of a plurality of boxes (hereinafter “ordering box”), the request including an order of a title and an audio.
- ordering box a plurality of boxes
- the embodiments further comprise identifying one or more of the boxes other than the ordering box to provide distributed segments pertaining to the title to the ordering box, wherein the ordering box proceeds with downloading the distributed segments, and a playback of the title based on the distributed segments together with residing segments, if any, is started or continued.
- the invention provides a system for providing media services, the system comprises a server coupled to a network and configured to manage the medial services, and a plurality of boxes coupled to the network, wherein one of the boxes (herein after “ordering box”) initiating a request including an order of a title communicates directly with the server configured to proceed with identifying one or more of the boxes other than the ordering box to provide distributed segments pertaining to the title to the ordering box, wherein the ordering box proceeds with downloading the distributed segments, and a playback of the title based on the distributed segments together with residing segments, if any, is started or continued.
- order box one of the boxes initiating a request including an order of a title communicates directly with the server configured to proceed with identifying one or more of the boxes other than the ordering box to provide distributed segments pertaining to the title to the ordering box, wherein the ordering box proceeds with downloading the distributed segments, and a playback of the title based on the distributed segments together with residing segments, if any, is started or continued.
- FIG. 1 shows a video delivery system that is commonly used for delivering video services over a network, also referred to as a server-and-client architecture;
- FIG. 2 shows a configuration of a distributed network system in accordance with an embodiment of the present invention
- FIG. 3A shows data steams in accordance with one embodiment of the invention.
- FIG. 3B a file is being organized or fragmented in terms of four segments
- FIG. 3C shows another embodiment in which a file is being organized or fragmented in terms of a head and four segments, where the head is always locally cached;
- FIG. 3D shows a data stream representing a file or a majority of a file, the file is being divided into four segments
- FIG. 4A shows an exemplary architecture that combines both the traditional client and server architecture of FIG. 1 and the distributed architecture of FIG.2A .
- FIG. 4B shows an exemplary source information shown as a map illustrating how a library of 5000 movie titles is distributed across N boxes;
- FIG. 4C shows a source information map corresponding to FIG. 3B , where three other boxes are designated to supply the needed three segments that are together assembled with the locally cached segment to facilitate the playback of the ordered movie;
- FIG. 4D shows exemplary source information with backup boxes in a table 352 that includes a backup identifier (shown as an IP address) for each of the designated boxes;
- FIG. 5A shows an embodiment of an ordering box retrieving and assembling segments to support a playback of a selected movie
- FIG. 5B shows an embodiment of an ordering box receiving streaming directly from a server
- FIG. 6 shows an exemplary configuration in which the present invention may be practiced
- FIGS. 7A and 7B show flowcharts or processes according to an embodiment of the present invention
- FIG. 8 shows fragmenting a multiple audio stream according to an embodiment of the present invention.
- FIG. 9 shows replacing filtered out packets with padded packets according to an embodiment of the present invention.
- the present invention is related to techniques of providing multiple audio streams of media services based on a distributed architecture or a hybrid architecture taking the benefits, features, and advantages of both distributed architecture and client-server architecture.
- a prior art system in which one video with different audio tracks are treated as different movies, multiple audio streams and a single video are encoded together and sent to a number of boxes, a single audio and a single video are streamed to an ordering box with other audio tracks filtered out by boxes acting as a media content provider.
- each video and audio is encoded and sent separately to a number of boxes, a single audio and a single video are encoded at a number of boxes to be streamed to the ordering box.
- multiple audio streams are provided for a single video without using increased bandwidth.
- references herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one implementation of the invention.
- the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Further, the order of blocks in process, flowcharts or functional diagrams representing one or more embodiments do not inherently indicate any particular order nor imply limitations in the invention.
- FIG. 2 shows an exemplary configuration 200 of a distributed network system 100 .
- a server 202 presumably managed and/or populated by a service provider, is configured to handle the delivery of video (or multimedia) services to users via local machines or boxes 206 - 1 , 206 - 2 , . . . 206 - n .
- the server 202 is not responsible for delivering the content in response to a request from a user, and instead is configured to provide source information as to where and how to retrieve at least some of the content from other boxes.
- the server 102 of FIG. 1 requires the media storage device 112 to provide the content when any of the client machines 106 - 1 , 106 - 2 , . . . 106 - n is being serviced, while the server 202 does not need necessarily a media storage device to provide the content. Instead, some of the boxes 206 - 1 , 206 - 2 , . . . 206 - n are respectively configured to supply part or all of the content to each other.
- a server response to a request from a box may include source information (e.g., identifiers), authorization information and security information.
- the box may be activated to begin playback of a title (e.g., 207 - 1 ).
- the box may initiate one or more requests to other boxes (e.g., 206 - 2 and 206 - n ) in accordance with the source identifiers to request subsequent portions of the title (e.g., 207 - 2 and 207 - n ). Assuming proper authorization, the requesting box receives the subsequent portions of the data concurrently from the other boxes. Because of box-to-box communication of content over the path 209 , the bandwidth requirement for box-to-server communications over the network paths 208 - 1 and 210 is kept low and typically short in duration. In the event there are a large number of user boxes issuing playback requests substantially at the same time, the bandwidth of the backbone path 210 should be sufficient to avoid noticeable or burdensome delay.
- the contents available in a library being offered in any of the boxes 206 - 1 , 206 - 2 , . . . 206 - n are originally provided by one or more content providers.
- the content providers include service satellite receivers, television relay stations, analog or digital broadcasting station, movie studios and Internet sites.
- the contents may be initially received or originated in the server 202 .
- the server 202 is configured to distribute the content or files to a plurality of local machines registered with the server 202 .
- the boxes 206 - 1 , 206 - 2 , . . . 206 - n shown in FIG. 2 are examples of local machines in service.
- the server 202 at any time has no need to keep a copy of the content.
- the server 202 at any time has no need to keep a copy of the content.
- none of the boxes in service has a complete copy of a title until an order is placed. Consequently, with embedded security in the distributed objects, some embodiments of the present invention may alleviate the concern of electronic piracy and widespread distribution (e.g., by hacking or illegal duplication).
- a file pertaining to a title is played back when the title is selected and ordered by a user.
- a corresponding file must be available for playback.
- One of the features in the system 200 is that a file, or at least a portion thereof, regardless of its size, can be accessed instantaneously, thereby realizing instantaneous VOD.
- a system may offer a large library of titles (e.g., 5000) for access at any time instantly.
- the files for the titles must be stored in advance to offer instantaneous playback, the local storage of a box would have to have a capacity of 4,000 Gbytes, consequently, rendering instantaneous VOD economically impractical.
- a beginning portion referred to as a “head”
- tail segments of a file are locally cached in a box.
- Such locally cached segments are referred to as residing objects or segments, while segments not residing locally are referred to as distributed objects or segments.
- the head of the corresponding file is instantly played back.
- the distributed objects corresponding to the title are retrieved simultaneously from other boxes.
- the received parts of the distributed segments being streamed in from other boxes is combined with residing segments for the title, if any, to enable a continuous playback.
- the number of residing objects may be increased or decreased to control the dependency of each box on other boxes for playback.
- the head is always played first to ensure an instant playback.
- the head size is reduced to zero, in which case, a time-fill program is played first to provide a time frame that is sufficient enough to fetch and assembly the beginning data portion of the segments either locally available or from other boxes.
- the time-fill program may include one or more trailers related to the title being ordered, various notifications/updates or commercial programs.
- the time-fill program may be locally configured.
- the time-fill program is provided to give a time frame in which data being fetched from one or more other devices can be stabilized.
- the time-fill program provides a platform for sponsors that hope to display their respective programs to audience. Orders or slot positions for these programs in a time-fill program may be auctioned.
- IP packets that are directed to appropriate channels for delivery over the data network.
- the IP packets include IP data representing the content of the programs.
- the IP packets Prior to transmission over the data network, the IP packets are encrypted by a conditional access encryption unit 710 . Once the IP data is encrypted, the Slicing unit 712 slices the data stream in segments of data stream as described further below.
- FIG. 3B there shows an embodiment in which a file 220 is being organized or fragmented in terms of four segments 224 .
- the file 220 representing a collection of all data pertaining to a title may be divided into any number of segments in consideration of a required transmission rate (e.g., related to the encoding and decoding rates for successful playback), and the minimum uploading and downloading capabilities of a network, or even dynamically and adaptively selected depending on the selected serving boxes at run-time and in real-time during the transmission.
- FIG. 3C shows another embodiment in which a file 230 is being organized or fragmented in terms of a head 232 and four segments 224 , where the head 232 is always locally cached.
- One of the advantages of having a head locally cached is to facilitate an instantaneous playback after a movie is ordered. While the head is being played back, the needed segments are retrieved from other designated boxes. It can be appreciated the length of a head may be predefined or dynamically determined to provide a time buffer (e.g., 5 minutes) sufficiently to retrieve part of the data from the distributed segments for assembling with that of any locally cached segments, if any. As a result, an instantaneous VOD system may be realized.
- a time buffer e.g., 5 minutes
- a file or a majority of a file will be fragmented and the segments are distributed among the boxes in service.
- a required transmission rate e.g., 1 megabit per second or 1 Mbps
- the minimum uploading and downloading speeds of a network are considered to determine a number that defines the segmentation, and thus the dependency on other boxes and the support for concurrent demands of a particular title.
- a file or a majority of a file is preferably divided into k segments to optimally utilize the uploading speed of U, assuming that the downloading speed is at least k times faster than the uploading speed.
- the required transmission may be about 1.0 Mbps while the uploading speed may be about 300 kbps.
- k 4.
- an ordering box has a downloading speed four times the uploading speed of the other boxes, up to four segments in other boxes can be downloaded concurrently across the network as streaming into the ordering box without interruption.
- FIG. 3D shows a data stream 240 representing a file or a majority of a file.
- the file 240 is divided into four segments 247 - 250 .
- the segments 247 - 250 are created or formed by respectively sampling the file in a decimated manner.
- each of the segments includes a plurality of data blocks.
- an n-th data block in each of the segments 247 - 250 is four successive data blocks in the file.
- a data block comprises a chunk of data, for example, 256 Kbytes or 1 Mbyte.
- the data stream 240 is expressed in data blocks as follows: b 11 , b 21 , b 31 , b 41 , b 12 , b 22 , b 32 , b 42 , b 13 , b 23 , b 33 , b 43 , . . . b 1 n, b 2 n, b 3 n , b 4 n .
- the four segments 247 - 250 obtained can be respectively expressed as follows:
- Segment 1 ⁇ b 11 , b 12, b 13, b 14 . . . ⁇ ;
- Segment 2 ⁇ b 21, b 22, b 23, b 24 . . . ⁇ ;
- Segment 3 ⁇ b 31, b 32, b 33, b 34 . . . ⁇ ;
- Segment 4 ⁇ b 41, b 42, b 43, b 44 . . . ⁇ .
- b stands for “data block”, numerals after “b” are mere reference numbers.
- the data blocks b 11 , b 21 , b 31 , b 41 , b 12 , b 22 , b 32 , b 42 , b 13 , b 23 , b 33 , b 43 , . . . b 1 n, b 2 n, b 3 n, b 4 n are sequential while, for example, data blocks b 11 , b 12 , b 13 , b 14 . . . b 1 n in Segment 1 are not sequential.
- Segmentation is performed to the point where there is no cutting into the middle of an audio.
- an interleaving block size of a multiple of 188 bytes 820 is chosen to ensure that the MPEG transport stream 188 byte packet is not cut off in the middle. This allows filtering of complete MPEG TS packets 830 - 1 . . . 830 - 6 in or out.
- a head if used, includes data blocks that are consecutive so that an instantaneous playback of the head is possible. It is evident that the data blocks in the segments are non-consecutive, interlaced or interleaved.
- FIG. 3A illustrates different types of data streams according to embodiments of the present invention.
- the data streams 240 - 2 and 240 - 6 are the video and audio streams encrypted, sliced and sent to a number of designated boxes 206 over the network path 210 and 208 of FIG. 2A .
- these data streams may be fetched and viewed by one of the boxes, typically the data streams are distributed to boxes for future distribution—hence fat seeding.
- fat seeding There is no time limitation and this may be done over a period of time where the bandwidth is freely available. For example, this process of fat seeding may be done during the night when the network is not busy.
- the data stream 240 - 2 includes one single video 260 and multiple audios 262 associated with the video.
- the video 260 may be a movie and multiple audios may be audios in different languages such as English, French, Spanish, Italian, Chinese, and etc.
- the data stream may be sliced into smaller segments and distributed to the boxes.
- the boxes with different segments filter out the requested audio to be sent to the ordering box. For example, if the ordering box requests the video 260 with audio 262 - 3 , then the boxes with segments for the requested video 260 filter out all other audios 262 - 1 , 262 - 2 . . .
- the requested data stream 240 - 8 which only includes the video 260 and audio 262 - 3 can be sent to the ordering box in real-time without wasting the bandwidth because it only has one video and one audio—hence a lean streaming.
- the data stream 240 - 2 may include multiple audio and multiple closed captioning.
- fat seeding may be achieved by distributing video and audio streams 240 - 4 and 240 - 6 separately.
- a video stream 240 - 4 is encrypted, sliced, and distributed to a number of boxes.
- An audio stream 240 - 6 is encrypted, sliced, and distributed to a number of boxes. This is repeated for the audio stream until all audios associated with the video is distributed to the boxes.
- the video and audio streams reside until an ordering box requests for the video and audio.
- the ordering box requests for a program that includes a video ID and an audio ID.
- segments of requested video and audio are multiplexed at the sending boxes, the segments of the data stream 240 - 8 which only includes one video and audio are forwarded to the ordering box over the path 209 .
- distribution of one single video and multiple audios may be done gradually over the paths 210 and 208 from the server 202 to a number of boxes 206 —fat seed. Once an ordering box makes a request, the number of boxes forwards a lean stream over the path 209 to the ordering box.
- the original stream 910 includes video 1 910 - 1 and 910 - 3 , audio 1 910 - 2 , which can be English, audio 2 910 - 4 , which can be Spanish, closed caption 1 910 - 5 , which can be English, and closed caption 2 910 - 6 , which can be Spanish. If a user selects video 1 and Spanish audio and closed caption, audio 1 910 - 2 and caption 1 910 - 5 are filtered out and only the requested packets are sent out.
- the sending server also sends information about the filtered out packets.
- This information allows the receiver side to reconstruct complete structure of the original stream 910 , and insert padding MPEG TS packets 920 - 2 and 920 - 4 in place of the filtered out packets.
- the top level structure of the MPEG TS stream is preserved, and indexing for the original MPEG TS stream can remain valid and usable.
- FIG. 4A it shows, according to one embodiment of the present invention, an architecture 300 that combines both the traditional client-server architecture of FIG. 1 and the distributed architecture of FIG. 2A .
- One of the features, benefits and advantages of the architecture 300 is the underlying mechanism of using the computing capacity as well as the bandwidth in the client side to deliver media services while, at the same time, providing centralized services.
- the architecture 300 may be configured to deliver non-prerecorded programs such as live broadcasts by a multicasting protocol.
- the server 302 receives orders from some of the subscribers (e.g., for boxes 306 - 1 and 306 - n ) for a broadcasting event. When the event comes, the server 302 receives a streaming feed from a source (e.g., a televised site). The streaming is then delivered by the server 302 via the network path 310 to 308 - 1 and 308 - n to the ordering boxes 306 - 1 and 306 - n. As the subscriber for the box 306 - 2 did not order the event, the box 306 - 2 will not receive the streaming from the server 302 . It can be appreciated that the number of recipients for the program does not affect the performance of the server 302 or demands higher bandwidth because the program is being multicast to the ordering boxes.
- the architecture 300 allows non-interrupted media services among the boxes. Similar to the description for FIG. 2 , segments for each title in a library are distributed among the boxes in service. When the box 306 - 1 is used to order one of the titles in a library, the request is sent to the server 302 via the network path 308 - 1 and 210 .
- the server 302 is configured to determine which other boxes are most appropriate to be the suppliers for providing the distributed segments. Either the server 302 causes the suppliers to contact the ordering box 306 - 1 to receive the needed segments or the ordering box 306 - 1 initiates communication with the suppliers upon receiving a response form the server 302 , where the response includes information about the suppliers. In one embodiment, the information includes designation information (e.g., network addresses) as to who are the suppliers, security information as to how to decrypt the data, and other information to facilitate the playback of the ordered title.
- designation information e.g., network addresses
- FIG. 4B shows exemplary source information shown as a map 330 illustrating how a library of 5000 movie titles is distributed across N boxes.
- Column 332 lists all boxes in service. Each box is assigned a unique identifier for identification. Information in the column 332 may be viewed as the identifiers for the boxes in service. For example, box 1 is assigned a unique identifier of “Box 1” or a sequence of alphanumeric characters.
- the column 334 lists a corresponding IP address for each of the boxes listed in column 332 .
- the Column 336 lists predetermined time-fill programs for all titles in the library. Depending on implementation, the time-fill programs may be identical or each of the time-fill programs is self-configured in accordance with what has been ordered.
- the column 338 lists what segments for title 1 are residing in each of the boxes, assuming title 1 is required to have two segments cached in each box.
- the column 340 lists what segment for title 2 is residing in each of the boxes, assuming title 2 is required to have one segment cached in each of the boxes.
- the column 342 lists what segment for title 5000 is in a selected set of boxes, assuming title 5000 is required to have one segment in these selected boxes. As a result, all segments in a box may be uniquely addressed for uploading to another box or playback of an ordered title locally.
- FIG. 4C shows a source information map 350 corresponding to FIG. 3B .
- FIG. 4D shows exemplary source information with backup boxes in a table 352 that includes a backup identifier (shown as an IP address) for each of the designated boxes.
- a backup identifier shown as an IP address
- the backup IP address is immediately called upon to switch to the corresponding backup box that is available to provide or continue to provide a segment that the originally designated box fails to provide.
- the server 302 may designate itself to be one of the suppliers to an ordering box.
- a supplier provided to an ordering box can be either another box in the network or the server itself.
- the supplier when the supplier is a server, it is capable of supplying more than one segment.
- a server is configured to do so because the server inherently has more computing power and bandwidth than a single box does.
- the server may provide only a portion of a segment in order to complement a supplier that provides another portion of the segment in case the supplier cannot upload the segment at a sufficiently high rate.
- the server may attempt to designate client boxes as suppliers for a title but may designate itself as a back-up box in case an originally designed client box fails in the process.
- a server when a server is designed to be one of the suppliers to service an ordering box, the server is not necessarily the one that provides the designation information.
- a service provider may deploy several servers, each is designated to cover a specific area in accordance with one or more specification (e.g., popularity, geography, demographics, and/or like criteria).
- the server 302 is configured to provide titles that are not widely distributed among the boxes in service. It is understood that the distributed architecture as described in FIG. 2 can provide a library with a large number of titles in a box with a limited capacity of storage. These titles are presumably popular among the subscribers. However, there may be some less popular titles for which the overhead of storing many copies of its segments on different boxes may be too high, or for which the number of copies available in the network may be insufficient to address a temporary spike in demand for that title. In addition, there may be many titles that are newly introduced into the library and that have not yet been seeded into the boxes in the field. The server 302 can be configured to fulfill the need for serving such titles.
- a storage space 323 is provided to store data related to such rare or newly introduced titles that are not included in a library being offered. Streaming pertaining to such titles may be provided to an ordering box, in which case the data is provided by a unicast protocol.
- the server 302 is configured to provide any title in the library during periods of high demand in the system when there are an insufficient number of client boxes to service all the requests for different titles in the system.
- FIG. 5A there shows an embodiment of an ordering box retrieving and assembling segments to support a playback of a selected movie. If all segments are streaming at predetermined minimum speeds, then, at 476 , portions of the segments locally stored and the portions of the segments being streamed in are multiplexed into a buffer as shown in FIG. 4A . A portion 474 of the time-fill program 472 has been played out of the buffer 470 . The remaining portion 476 of the time-fill program 472 is yet to be played. At the same time, the streaming of segments 478 and 480 is being fed into the buffer 470 . Segments 478 - 481 (including the segments locally stored and the segments being streamed in) are multiplexed into the buffer 470 .
- a block of data from segment 1 , a block of data from segment 2 , a block of data from segment 3 and a block of data from segment 4 are multiplexed and successively fed into the buffer 470 .
- the original order of the data is restored and the remaining portion of the file pertaining to the title is assembled.
- each of the pointers 482 and 484 is used to remember where the data block of a segment is being fed or about to be fed to the buffer 470 .
- the ordering box knows exactly where to start fetching the segment from where it was interrupted in accordance with the pointer.
- similar pointers may be provided to remember where the data block of the locally cached segment is being fed or about to be fed to the buffer 470 .
- the ordering box needs to be reset or is suddenly powered off and back on, these pointers can facilitate the continuation of the playback of the ordered movie.
- FIG. 5B shows an embodiment of an ordering box receiving streaming directly from a server.
- the ordering box is configured to buffer the data of the streaming into the buffer 470 that is provided to minimize any possible instability or interruption of the streaming.
- a time-fill program 472 is instantly played.
- a data sequence from a server is being fetched and put into the buffer 470 .
- the buffered portion of the data is started.
- data pointers may be used in FIG. 5B to facilitate the continuation of the playback of the data in case the ordering box is accidentally out of operation and turned back on.
- FIG. 6 there shows an exemplary configuration in which the present invention may be practiced.
- a server 504 Coupled to the network 502 , there are a server 504 and a plurality of local machines or boxes 506 - 1 , 506 - 2 , 506 - 3 , . . . 506 - n and 508 .
- the server 504 may correspond to the server 502 of FIG. 2 .
- Each of the boxes 506 - 1 , 506 - 2 , 506 - 3 , . . . 506 - n and 508 includes or is connected to a display screen (not shown).
- . 506 - n and 508 may correspond to a computing device, a set-top box, or a television.
- Each of the boxes 506 - 1 , 506 - 2 , 506 - 3 , . . . 506 - n and 508 may access compressed data representing one or more movies that may be locally or remotely provided.
- any of the boxes 506 - 1 , 506 - 2 , 506 - 3 , . . . 506 - n and 508 may receive compressed data from the server 504 that centrally stores all video data and delivers required video data pertaining to an ordered title upon receiving a request.
- the server 504 is configured to identify one or more other boxes to supply pieces of compressed data to a box requesting the data.
- all video data is distributed among all boxes in service and the server 504 is not required to deliver all the data in response to a request, and instead is configured to provide source information as to where and how to retrieve some or all of the data from other boxes.
- a set of compressed video 510 for a movie includes four segments, one being locally available, and the other three segments are respectively fetched from the boxes 506 - 1 , 506 - 3 and 506 - n.
- FIG. 7A The operation of distributing segments of a single video and multiple audios—fat seeding—is described in a flow chart or process 750 shown in FIG. 7A .
- the process 750 may be readily understood in conjunction with FIGS. 2A , 4 A, and 6 .
- the process 750 may be independently implemented in software, hardware or a combination of both as a method, a process, or a system.
- the process 750 is executed in a computing device that may correspond to a box as used herein.
- the server is configured to distribute programs to a plurality of boxes for future access depending on popularity.
- the server also takes into account the programs that are already residing at boxes because either they have been viewed or distributed.
- the server encodes the program.
- the program includes a single video and multiple audios.
- the data stream may included multiple video, audio, and closed captioning.
- the server may encode the single video and multiple audios as a single data stream or as separate data streams. For example, referring back to FIG. 3A , a data stream 240 - 2 includes a single video with multiple audios.
- the data streams 240 - 4 and 240 - 6 include video and audio streams separately.
- the data stream is sliced into segments and distributed to a number of boxes at 758 .
- the number and location of boxes depend on the popularity of a program, available bandwidth, and other factors.
- each data stream is sliced into segments and distributed to a number of boxes at 758 . This is repeated until all audios have been distributed to the boxes. Whether the data stream includes single video and multiple audios, or single video or audio, once the process is completed, the selected boxes have for each video, multiple audios associated with each video—fat seed.
- data stream is sent from a server to some clients, and then from those clients to other clients.
- the server waits for a request from one of the boxes (hereinafter “ordering box”) for a title. Once a request is received, the server determines which boxes have segments of requested program and instructs the boxes to forward the segments of the requested program.
- the buffer can be on a disk and/or in the memory.
- the requested audio is selected depending on how the audio streams are residing at the box—either as separate streams or in a single data stream along with the video—the requested audio is selected.
- the requested audio is identified by its audio ID number.
- the selected audio is multiplex with the requested video.
- all audios are filtered out except for the requested audio.
- the data stream only includes the requested video and audio.
- a lean stream including one video and one audio is constructed.
- MPEG2 TS has about 188 byte packets, and individual stream IDs, knows as Program Ids (PID). Video, and each audio stream have their own PID.
- segments of the lean stream of the requested video and audio are sent to the ordering box.
- the ordering box receives, multiplexes segments received from different boxes to a buffer.
- the ordering box plays assembled data in the buffer.
- the architecture of FIG. 2 provides techniques to seed segments of a video with multiple audios associated with the video to a number of boxes coupled to the network. Once an ordering makes a request for a video and an audio, responsive boxes filters to provide a lean stream of the requested video and audio to the ordering box. These techniques allow faster and cheaper ways to access different programs with multiple audios without expanding bandwidth requirements.
- responsive boxes can filter out the irrelevant subtitles before streaming. If the user does not choose any subtitles, then all subtitle packets are filtered out. In cases where there are multiple video tracks, e.g., at different bit rates, and one video track may be streamed depending on the bandwidth available on the receiver.
- one embodiment of the present invention dynamically determines what fragments to stream and what to filter out. For example, the receiver may tell the sender exactly what to send and what to filter out. Such dynamic switching is useful to enable the following features:
- each closed caption stream of data is multiplexed into the media stream with its own ID and its own presentation time information.
- Each closed caption stream could correspond to one language or there could be multiple closed caption streams in single language with different content (e.g. Actual dialog, or commentary, etc).
- Segments of the complete media stream with multiple close caption streams gets distributed to client boxes during seeding (fat seed).
- user of the requesting box selects which closed caption stream, if any, s/he wants to see.
- the serving boxes filter out all closed caption streams other than the requested stream based on the ID of the requested stream.
Abstract
Description
- This application is related to U.S. application Ser. No. 11/388,613, entitled “System and Method for Trick Play of Highly Compressed Video Data,” filed Mar. 23, 2006, and U.S. application Ser. No. 11/331,113, entitled “Access Control of Media Services Over an Open Network” and filed Jan. 10, 2006, and U.S. application Ser. No. 11/075,573, entitled “Continuous Data Feeding in a Distributed Environment” and filed Mar. 9, 2005, which patent applications are incorporated herein by reference in their entirety for all purposes.
- 1. Technical Field
- The present invention is generally related to multimedia delivery over the Internet. Particularly, the present invention is related to techniques providing media services including movies with multiple audio streams on an open network, such as the Internet.
- 2. Description of the Related Art
- Continuous or on-demand media data such as video and audio programs have been broadcasted over data networks (e.g., the Internet). Broadcast of such media information over data networks by digital broadcasting systems provides many advantages and benefits that cannot be matched by current television cable systems or over-the-air broadcasting.
- With the media-over-network systems, service providers are often able to draw viewers into an exciting, interactive and enhanced television or viewing experience. Video-On-Demand (VOD) or Near Video-On-Demand (NVOD) collectively referred to herein as VOD programs are examples of the interactive television programs typically provided by a service provider to its subscribers. VOD programs are video sessions that subscribers can order whenever they want or per NVOD schedules.
FIG. 1 shows avideo delivery system 100 that is commonly used for delivering VOD programs over a network. Thevideo delivery system 100 includes avideo server 102 that is sometimes referred to as a head-end. Through adata network 104, thevideo server 102 can provide continuous, scheduled and video-on-demand (VOD) services to respective client machines 106-1, 106-2, . . . 106-n (i.e., its subscribers). Theserver 102 is further coupled to amedia storage device 112 that may be configured to store various media files (e.g., movies or news footage). Themedia storage device 112 must be on-line, store and supply titles scheduled or demanded for delivery to any of the client machines 106-1, 106-2, . . . 106-n. - To ensure quality of service (QoS), the bandwidth requirement of the network path (e.g., 108-1, 108-2, . . . 108-n) to each of the client machines 106-1, 106-2, . . . 106-n has to be sufficient. However, as the number of the subscribers continues to increase, the demand on the bandwidth of the
backbone network path 110 increases linearly, and the overall cost of thesystem 100 increases considerably at the same time. If the server has a fixed bandwidth limit and system support capability, an increase in the number of subscribers beyond a certain threshold will result in slower transfer of data to clients. In other words, the transmission of the video data over thenetwork 104 to the subscribers via the client machines 106-1, 106-2, . . . 106-n is no longer guaranteed. When the video data is not received in a client machine on time, the display of the video data may fail or at least become jittery. - To alleviate such loading problem to the
video server 102, a video delivery system often employs multiple video servers as rendering farms, perhaps in multiple locations. Each of the video servers, similar to thevideo server 102, is configured to support a limited number of subscribers. Whenever the number of subscribers goes beyond the capacity of a video server or the bandwidth thereof, an additional video server needs to be deployed or additional bandwidth needs to be allocated. Subsequently, overall costs go up considerably when more subscribers sign up with thevideo delivery system 100. - Although more servers may be added to accommodate more subscribers, the implementation of the
video server 102 present many challenges to consider in delivering programs over an open network. In general, movies come with a number of different audio tracks. Typically, a movie may include respective audio tracks in English, Spanish, French, Chinese, or other languages. Streaming multiple audio streams for each video increases the bandwidth requirements of the network. Increasing the bandwidth requirement for multiple audio tracks makes the overall cost of thesystem 100 too costly and may not be practically possible. - There have been various effort towards providing multiple audio tracks for a movie. One approach is to treat video with different audio tracks as different movies. For example, a video with English audio track is treated as a different movie from the same video with Spanish audio track. However, such an approach wastes storage space and bandwidth by duplicating videos for different audio tracks.
- Thus, there is a need for improved techniques for cost effective ways for service providers to deliver programs with multiple audios to subscribers over an open network.
- This section is for the purpose of summarizing some aspects of embodiments of the present invention and to briefly introduce some preferred embodiments. Simplifications or omissions in this section as well as the title and the abstract of this disclosure may be made to avoid obscuring the purpose of the section, the title and the abstract. Such simplifications or omissions are not intended to limit the scope of the present invention.
- In general, the present invention relates to techniques for providing media services over an open network. To ensure that multiple audio streams are available for a video, the present invention provides techniques for encoding and sending multiple audio streams, and single video stream into a transport—seeding a “fat” transport. Then, streaming a transport with a single audio and a single video with other audios filtered out to a subscriber—streaming a “lean” transport.
- According to another embodiment, the embodiment comprises encoding and sending each video and audio stream separately, then streaming a transport with requested single audio and single video in real-time.
- According to one aspect of the present invention, data pertaining to a title is divided or organized into several segments that are distributed among boxes in service. General orders of titles being offered in a library are fulfilled by a group of selected client devices (e.g., boxes) delivering respective segments to an ordering box. Special orders of certain programs (e.g., a live event or a rare title not included in the library) are fulfilled directly by a server. In addition, the server is configured to supply some of the segments to an ordering box or back up any one of the selected boxes designated to supply the needed data to an ordering box. Because of its inherent superior computing power and more bandwidth, the server may deliver more than one segment at a time. The architecture contemplated in the present invention offers the flexibilities of being relatively independent from the number of users while, at the same time, offering centralized management or services to the users. The present invention inherently distributes load among client devices in service by using the computing power and bandwidth collectively available at any time in the client devices. Furthermore, much of the traditional server functionality now gets distributed among the client devices in service.
- Embodiments of the invention may be implemented in numerous ways, including a method, system, device, or a computer readable medium. Several embodiments of the invention are discussed below. In one embodiment, the invention provides a method of providing media services over a network, the method comprises: receiving a request from one of a plurality of boxes (hereinafter “ordering box”), the request including an order of a title and an audio. The embodiments further comprise identifying one or more of the boxes other than the ordering box to provide distributed segments pertaining to the title to the ordering box, wherein the ordering box proceeds with downloading the distributed segments, and a playback of the title based on the distributed segments together with residing segments, if any, is started or continued.
- According to another embodiment, the invention provides a system for providing media services, the system comprises a server coupled to a network and configured to manage the medial services, and a plurality of boxes coupled to the network, wherein one of the boxes (herein after “ordering box”) initiating a request including an order of a title communicates directly with the server configured to proceed with identifying one or more of the boxes other than the ordering box to provide distributed segments pertaining to the title to the ordering box, wherein the ordering box proceeds with downloading the distributed segments, and a playback of the title based on the distributed segments together with residing segments, if any, is started or continued. One of the objects, features, and advantages of the present invention is to provide various techniques related to streaming multiple audio tracks based on a distributed architecture, a client-server architecture, and a hybrid architecture taking the benefits, features, and advantages of both distributed architecture and client-server architecture.
- It should be understood that each technique so described herein has its own distinctive features, and all techniques in combination yield an equally independently novel combination as well, even if combined in their broadest sense; i.e., with less than the specific manner in which each of the techniques has been reduced to practice.
- Other objects, features, and advantages of the present invention will become apparent upon examining the following detailed description of an embodiment thereof, taken in conjunction with the attached drawings.
- The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
-
FIG. 1 shows a video delivery system that is commonly used for delivering video services over a network, also referred to as a server-and-client architecture; -
FIG. 2 shows a configuration of a distributed network system in accordance with an embodiment of the present invention; -
FIG. 3A shows data steams in accordance with one embodiment of the invention. -
FIG. 3B , according to one embodiment, a file is being organized or fragmented in terms of four segments; -
FIG. 3C shows another embodiment in which a file is being organized or fragmented in terms of a head and four segments, where the head is always locally cached; -
FIG. 3D shows a data stream representing a file or a majority of a file, the file is being divided into four segments; -
FIG. 4A shows an exemplary architecture that combines both the traditional client and server architecture ofFIG. 1 and the distributed architecture ofFIG.2A . -
FIG. 4B shows an exemplary source information shown as a map illustrating how a library of 5000 movie titles is distributed across N boxes; -
FIG. 4C shows a source information map corresponding toFIG. 3B , where three other boxes are designated to supply the needed three segments that are together assembled with the locally cached segment to facilitate the playback of the ordered movie; -
FIG. 4D shows exemplary source information with backup boxes in a table 352 that includes a backup identifier (shown as an IP address) for each of the designated boxes; -
FIG. 5A shows an embodiment of an ordering box retrieving and assembling segments to support a playback of a selected movie; -
FIG. 5B shows an embodiment of an ordering box receiving streaming directly from a server; -
FIG. 6 shows an exemplary configuration in which the present invention may be practiced; -
FIGS. 7A and 7B show flowcharts or processes according to an embodiment of the present invention; -
FIG. 8 shows fragmenting a multiple audio stream according to an embodiment of the present invention; and -
FIG. 9 shows replacing filtered out packets with padded packets according to an embodiment of the present invention. - The present invention is related to techniques of providing multiple audio streams of media services based on a distributed architecture or a hybrid architecture taking the benefits, features, and advantages of both distributed architecture and client-server architecture. Different from a prior art system in which one video with different audio tracks are treated as different movies, multiple audio streams and a single video are encoded together and sent to a number of boxes, a single audio and a single video are streamed to an ordering box with other audio tracks filtered out by boxes acting as a media content provider. Alternatively, each video and audio is encoded and sent separately to a number of boxes, a single audio and a single video are encoded at a number of boxes to be streamed to the ordering box. As a result, multiple audio streams are provided for a single video without using increased bandwidth.
- In the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. The present invention may be practiced without these specific details. The description and representation herein are the means used by those experienced or skilled in the art to effectively convey the substance of their work to others skilled in the art. In other instances, well-known methods, procedures, components, and circuitry have not been described in detail since they are already well understood and to avoid unnecessarily obscuring aspects of the present invention.
- Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one implementation of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Further, the order of blocks in process, flowcharts or functional diagrams representing one or more embodiments do not inherently indicate any particular order nor imply limitations in the invention.
- Embodiments of the present invention are discussed herein with reference to
FIGS. 2-9 . However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes only as the invention extends beyond these limited embodiments. - Shown as
FIG. 2 of U.S. patent application Ser. No. 11/075,573,FIG. 2 herein shows anexemplary configuration 200 of a distributednetwork system 100. Aserver 202, presumably managed and/or populated by a service provider, is configured to handle the delivery of video (or multimedia) services to users via local machines or boxes 206-1, 206-2, . . . 206-n. Different from thevideo server 102 ofFIG. 1 that delivers video data to a subscriber upon receiving a request therefrom, theserver 202 is not responsible for delivering the content in response to a request from a user, and instead is configured to provide source information as to where and how to retrieve at least some of the content from other boxes. In other words, theserver 102 ofFIG. 1 requires themedia storage device 112 to provide the content when any of the client machines 106-1, 106-2, . . . 106-n is being serviced, while theserver 202 does not need necessarily a media storage device to provide the content. Instead, some of the boxes 206-1, 206-2, . . . 206-n are respectively configured to supply part or all of the content to each other. - According to one embodiment, when fulfilling a request from a local machine or a box (e.g., 206-1), communication between the
server 202 and the box 206-1 over the network paths 208-1 and 210 may be limited to small-scale requests and responses (e.g., of small size and very infrequent). A server response to a request from a box may include source information (e.g., identifiers), authorization information and security information. Using the response from theserver 202, the box may be activated to begin playback of a title (e.g., 207-1). Substantially at the same time, the box may initiate one or more requests to other boxes (e.g., 206-2 and 206-n) in accordance with the source identifiers to request subsequent portions of the title (e.g., 207-2 and 207-n). Assuming proper authorization, the requesting box receives the subsequent portions of the data concurrently from the other boxes. Because of box-to-box communication of content over thepath 209, the bandwidth requirement for box-to-server communications over the network paths 208-1 and 210 is kept low and typically short in duration. In the event there are a large number of user boxes issuing playback requests substantially at the same time, the bandwidth of thebackbone path 210 should be sufficient to avoid noticeable or burdensome delay. - The contents available in a library being offered in any of the boxes 206-1, 206-2, . . . 206-n are originally provided by one or more content providers. Examples of the content providers include service satellite receivers, television relay stations, analog or digital broadcasting station, movie studios and Internet sites. Depending on implementation, the contents may be initially received or originated in the
server 202. Instead of maintaining and managing the content in a large storage device, theserver 202 is configured to distribute the content or files to a plurality of local machines registered with theserver 202. The boxes 206-1, 206-2, . . . 206-n shown inFIG. 2 are examples of local machines in service. Unless there is a need for a backup copy, theserver 202 at any time has no need to keep a copy of the content. On the other hand, unless there is a special need to keep a complete copy of an extremely high-demand title in a box, none of the boxes in service has a complete copy of a title until an order is placed. Consequently, with embedded security in the distributed objects, some embodiments of the present invention may alleviate the concern of electronic piracy and widespread distribution (e.g., by hacking or illegal duplication). - For convenience, it is assumed herein that a file pertaining to a title is played back when the title is selected and ordered by a user. When an order for a title is placed, a corresponding file must be available for playback. One of the features in the
system 200 is that a file, or at least a portion thereof, regardless of its size, can be accessed instantaneously, thereby realizing instantaneous VOD. According to one embodiment, where a file is 840 Mbytes on average and a box includes a storage capacity of 300 Gbytes, a system may offer a large library of titles (e.g., 5000) for access at any time instantly. In the prior art, if the files for the titles must be stored in advance to offer instantaneous playback, the local storage of a box would have to have a capacity of 4,000 Gbytes, consequently, rendering instantaneous VOD economically impractical. - According to one aspect of the present invention, only a beginning portion (referred to as a “head”) and possibly one or more tail segments of a file are locally cached in a box. Such locally cached segments are referred to as residing objects or segments, while segments not residing locally are referred to as distributed objects or segments. When a title is selected, the head of the corresponding file is instantly played back. During the time the head is being played, the distributed objects corresponding to the title are retrieved simultaneously from other boxes. When the head is finished, the received parts of the distributed segments being streamed in from other boxes is combined with residing segments for the title, if any, to enable a continuous playback. Depending on the popularity and concurrent demand for a particular title, the number of residing objects may be increased or decreased to control the dependency of each box on other boxes for playback. Typically, the more residing objects for a title a box has, the more distributed copies of the title there are in the entire system and thus the less dependency of the ordering box on the other boxes.
- In one embodiment, the head is always played first to ensure an instant playback. In another embodiment, the head size is reduced to zero, in which case, a time-fill program is played first to provide a time frame that is sufficient enough to fetch and assembly the beginning data portion of the segments either locally available or from other boxes. Depending on implementation, the time-fill program may include one or more trailers related to the title being ordered, various notifications/updates or commercial programs. The time-fill program may be locally configured. In one embodiment, the time-fill program is provided to give a time frame in which data being fetched from one or more other devices can be stabilized. In another embodiment, the time-fill program provides a platform for sponsors that hope to display their respective programs to audience. Orders or slot positions for these programs in a time-fill program may be auctioned.
- Various content streams include IP packets that are directed to appropriate channels for delivery over the data network. The IP packets include IP data representing the content of the programs. Prior to transmission over the data network, the IP packets are encrypted by a conditional access encryption unit 710. Once the IP data is encrypted, the Slicing unit 712 slices the data stream in segments of data stream as described further below.
- Referring to
FIG. 3B , there shows an embodiment in which afile 220 is being organized or fragmented in terms of foursegments 224. In general, thefile 220 representing a collection of all data pertaining to a title may be divided into any number of segments in consideration of a required transmission rate (e.g., related to the encoding and decoding rates for successful playback), and the minimum uploading and downloading capabilities of a network, or even dynamically and adaptively selected depending on the selected serving boxes at run-time and in real-time during the transmission.FIG. 3C shows another embodiment in which afile 230 is being organized or fragmented in terms of ahead 232 and foursegments 224, where thehead 232 is always locally cached. One of the advantages of having a head locally cached is to facilitate an instantaneous playback after a movie is ordered. While the head is being played back, the needed segments are retrieved from other designated boxes. It can be appreciated the length of a head may be predefined or dynamically determined to provide a time buffer (e.g., 5 minutes) sufficiently to retrieve part of the data from the distributed segments for assembling with that of any locally cached segments, if any. As a result, an instantaneous VOD system may be realized. - Regardless whether a head is used or not, a file or a majority of a file will be fragmented and the segments are distributed among the boxes in service. According to one embodiment, given a required transmission rate (e.g., 1 megabit per second or 1 Mbps), the minimum uploading and downloading speeds of a network are considered to determine a number that defines the segmentation, and thus the dependency on other boxes and the support for concurrent demands of a particular title.
- It is assumed that a minimum uploading speed is U and a required transmission rate is D, and D/U=K<k, where k is the smallest integer greater than K. In one embodiment, a file or a majority of a file is preferably divided into k segments to optimally utilize the uploading speed of U, assuming that the downloading speed is at least k times faster than the uploading speed. For example, in a POTS-based DSL network for residential areas, the required transmission may be about 1.0 Mbps while the uploading speed may be about 300 kbps. Hence, k=4. Assuming that an ordering box has a downloading speed four times the uploading speed of the other boxes, up to four segments in other boxes can be downloaded concurrently across the network as streaming into the ordering box without interruption.
-
FIG. 3D shows adata stream 240 representing a file or a majority of a file. Thefile 240 is divided into four segments 247-250. The segments 247-250 are created or formed by respectively sampling the file in a decimated manner. As a result, each of the segments includes a plurality of data blocks. Depending on an exact data length of thefile 240, an n-th data block in each of the segments 247-250 is four successive data blocks in the file. In one embodiment, a data block comprises a chunk of data, for example, 256 Kbytes or 1 Mbyte. - As shown in
FIG. 3D , thedata stream 240 is expressed in data blocks as follows: b11, b21, b31, b41, b12, b22, b32, b42, b13, b23, b33, b43, . . . b1 n, b2 n, b3 n, b4 n. With the decimated sampling, the four segments 247-250 obtained can be respectively expressed as follows: -
Segment 1={b11, b12, b13, b14 . . . }; -
Segment 2={b21, b22, b23, b24 . . . }; -
Segment 3={b31, b32, b33, b34 . . . }; and -
Segment 4={b41, b42, b43, b44 . . . }. - where b stands for “data block”, numerals after “b” are mere reference numbers. As used above, the data blocks b11, b21, b31, b41, b12, b22, b32, b42, b13, b23, b33, b43, . . . b1 n, b2 n, b3 n, b4 n are sequential while, for example, data blocks b11, b12, b13, b14 . . . b1 n in
Segment 1 are not sequential. - Because multiple audios are encoded, the fragmentation of the file is difficult:
- Segmentation is performed to the point where there is no cutting into the middle of an audio.
- Referring to
FIG. 8 , when astream 810 including a video, multiple audio, and/or closed captions is sliced, an interleaving block size of a multiple of 188bytes 820 is chosen to ensure that theMPEG transport stream 188 byte packet is not cut off in the middle. This allows filtering of complete MPEG TS packets 830-1 . . . 830-6 in or out. - It should be noted, however, a head, if used, includes data blocks that are consecutive so that an instantaneous playback of the head is possible. It is evident that the data blocks in the segments are non-consecutive, interlaced or interleaved.
-
FIG. 3A illustrates different types of data streams according to embodiments of the present invention. The data streams 240-2 and 240-6 are the video and audio streams encrypted, sliced and sent to a number of designatedboxes 206 over thenetwork path FIG. 2A . Although, these data streams may be fetched and viewed by one of the boxes, typically the data streams are distributed to boxes for future distribution—hence fat seeding. There is no time limitation and this may be done over a period of time where the bandwidth is freely available. For example, this process of fat seeding may be done during the night when the network is not busy. - In one embodiment, the data stream 240-2 includes one
single video 260 andmultiple audios 262 associated with the video. For example, thevideo 260 may be a movie and multiple audios may be audios in different languages such as English, French, Spanish, Italian, Chinese, and etc. To ease the bandwidth requirement, the data stream may be sliced into smaller segments and distributed to the boxes. When a movie (i.e., a video and a particular audio stream) is requested by an ordering box, the boxes with different segments filter out the requested audio to be sent to the ordering box. For example, if the ordering box requests thevideo 260 with audio 262-3, then the boxes with segments for the requestedvideo 260 filter out all other audios 262-1, 262-2 . . . 262-n, so that only audio 262-3 is sent with thevideo 260. Once the filtering is done, the requested data stream 240-8 which only includes thevideo 260 and audio 262-3 can be sent to the ordering box in real-time without wasting the bandwidth because it only has one video and one audio—hence a lean streaming. - Furthermore, the data stream 240-2 may include multiple audio and multiple closed captioning.
- In another embodiment, fat seeding may be achieved by distributing video and audio streams 240-4 and 240-6 separately. For example, at the
server 202, a video stream 240-4 is encrypted, sliced, and distributed to a number of boxes. An audio stream 240-6 is encrypted, sliced, and distributed to a number of boxes. This is repeated for the audio stream until all audios associated with the video is distributed to the boxes. At the boxes, the video and audio streams reside until an ordering box requests for the video and audio. The ordering box requests for a program that includes a video ID and an audio ID. Once the request is received by the server, the server instructs the boxes with segments to multiplex the requested video and audio. This is done by looking at the video ID and audio ID, and individual packet presentation and decoding time stamps. Once, segments of requested video and audio are multiplexed at the sending boxes, the segments of the data stream 240-8 which only includes one video and audio are forwarded to the ordering box over thepath 209. - In both embodiments, distribution of one single video and multiple audios may be done gradually over the
paths server 202 to a number ofboxes 206—fat seed. Once an ordering box makes a request, the number of boxes forwards a lean stream over thepath 209 to the ordering box. - Referring to
FIG. 9 , information about filtered out packets is also sent to the receiver including their PIDs, their location within the original block before filtering, etc. Theoriginal stream 910 includesvideo 1 910-1 and 910-3,audio 1 910-2, which can be English, audio 2 910-4, which can be Spanish,closed caption 1 910-5, which can be English, andclosed caption 2 910-6, which can be Spanish. If a user selectsvideo 1 and Spanish audio and closed caption,audio 1 910-2 andcaption 1 910-5 are filtered out and only the requested packets are sent out. The sending server also sends information about the filtered out packets. This information allows the receiver side to reconstruct complete structure of theoriginal stream 910, and insert padding MPEG TS packets 920-2 and 920-4 in place of the filtered out packets. Thus, the top level structure of the MPEG TS stream is preserved, and indexing for the original MPEG TS stream can remain valid and usable. - Referring now to
FIG. 4A , it shows, according to one embodiment of the present invention, anarchitecture 300 that combines both the traditional client-server architecture ofFIG. 1 and the distributed architecture ofFIG. 2A . One of the features, benefits and advantages of thearchitecture 300 is the underlying mechanism of using the computing capacity as well as the bandwidth in the client side to deliver media services while, at the same time, providing centralized services. - For example, the
architecture 300 may be configured to deliver non-prerecorded programs such as live broadcasts by a multicasting protocol. Theserver 302 receives orders from some of the subscribers (e.g., for boxes 306-1 and 306-n) for a broadcasting event. When the event comes, theserver 302 receives a streaming feed from a source (e.g., a televised site). The streaming is then delivered by theserver 302 via thenetwork path 310 to 308-1 and 308-n to the ordering boxes 306-1 and 306-n. As the subscriber for the box 306-2 did not order the event, the box 306-2 will not receive the streaming from theserver 302. It can be appreciated that the number of recipients for the program does not affect the performance of theserver 302 or demands higher bandwidth because the program is being multicast to the ordering boxes. - The
architecture 300, at the same time, allows non-interrupted media services among the boxes. Similar to the description forFIG. 2 , segments for each title in a library are distributed among the boxes in service. When the box 306-1 is used to order one of the titles in a library, the request is sent to theserver 302 via the network path 308-1 and 210. Theserver 302 is configured to determine which other boxes are most appropriate to be the suppliers for providing the distributed segments. Either theserver 302 causes the suppliers to contact the ordering box 306-1 to receive the needed segments or the ordering box 306-1 initiates communication with the suppliers upon receiving a response form theserver 302, where the response includes information about the suppliers. In one embodiment, the information includes designation information (e.g., network addresses) as to who are the suppliers, security information as to how to decrypt the data, and other information to facilitate the playback of the ordered title. -
FIG. 4B shows exemplary source information shown as amap 330 illustrating how a library of 5000 movie titles is distributed across N boxes.Column 332 lists all boxes in service. Each box is assigned a unique identifier for identification. Information in thecolumn 332 may be viewed as the identifiers for the boxes in service. For example,box 1 is assigned a unique identifier of “Box 1” or a sequence of alphanumeric characters. Thecolumn 334 lists a corresponding IP address for each of the boxes listed incolumn 332. TheColumn 336 lists predetermined time-fill programs for all titles in the library. Depending on implementation, the time-fill programs may be identical or each of the time-fill programs is self-configured in accordance with what has been ordered. The column 338 lists what segments for title1 are residing in each of the boxes, assuming title1 is required to have two segments cached in each box. The column 340 lists what segment for title2 is residing in each of the boxes, assuming title2 is required to have one segment cached in each of the boxes. Thecolumn 342 lists what segment for title5000 is in a selected set of boxes, assuming title5000 is required to have one segment in these selected boxes. As a result, all segments in a box may be uniquely addressed for uploading to another box or playback of an ordered title locally. -
FIG. 4C shows asource information map 350 corresponding toFIG. 3B . There are three other boxes 306-n, 306-3 and 306-1 designated to supply three needed segments that are together assembled with a locally cached segment to facilitate the playback of the ordered movie. It can be appreciated that relying on multiple sources to retrieve distributed segments to support a playback can be advantageously used in the architecture of current networks where the downloading bandwidth is typically a multiple of the uploading bandwidth. -
FIG. 4D shows exemplary source information with backup boxes in a table 352 that includes a backup identifier (shown as an IP address) for each of the designated boxes. Should one of the boxes fail to respond to the request for a segment from the ordering box or the segment cannot be received correctly, the backup IP address is immediately called upon to switch to the corresponding backup box that is available to provide or continue to provide a segment that the originally designated box fails to provide. - Referring now back to
FIG. 4A , It can be appreciated that at any time theserver 302 may designate itself to be one of the suppliers to an ordering box. In other words, a supplier provided to an ordering box can be either another box in the network or the server itself. According to one embodiment, when the supplier is a server, it is capable of supplying more than one segment. Although it is possible for a designated box to supply more than one segment for a title at a time to an ordering box, it is preferable that a server is configured to do so because the server inherently has more computing power and bandwidth than a single box does. According to one embodiment, the server may provide only a portion of a segment in order to complement a supplier that provides another portion of the segment in case the supplier cannot upload the segment at a sufficiently high rate. According to one embodiment, the server may attempt to designate client boxes as suppliers for a title but may designate itself as a back-up box in case an originally designed client box fails in the process. - In one embodiment, when a server is designed to be one of the suppliers to service an ordering box, the server is not necessarily the one that provides the designation information. A service provider may deploy several servers, each is designated to cover a specific area in accordance with one or more specification (e.g., popularity, geography, demographics, and/or like criteria).
- According to one embodiment, the
server 302 is configured to provide titles that are not widely distributed among the boxes in service. It is understood that the distributed architecture as described inFIG. 2 can provide a library with a large number of titles in a box with a limited capacity of storage. These titles are presumably popular among the subscribers. However, there may be some less popular titles for which the overhead of storing many copies of its segments on different boxes may be too high, or for which the number of copies available in the network may be insufficient to address a temporary spike in demand for that title. In addition, there may be many titles that are newly introduced into the library and that have not yet been seeded into the boxes in the field. Theserver 302 can be configured to fulfill the need for serving such titles. According to one embodiment, astorage space 323 is provided to store data related to such rare or newly introduced titles that are not included in a library being offered. Streaming pertaining to such titles may be provided to an ordering box, in which case the data is provided by a unicast protocol. According to one embodiment, theserver 302 is configured to provide any title in the library during periods of high demand in the system when there are an insufficient number of client boxes to service all the requests for different titles in the system. - Referring now to
FIG. 5A , there shows an embodiment of an ordering box retrieving and assembling segments to support a playback of a selected movie. If all segments are streaming at predetermined minimum speeds, then, at 476, portions of the segments locally stored and the portions of the segments being streamed in are multiplexed into a buffer as shown inFIG. 4A . Aportion 474 of the time-fill program 472 has been played out of thebuffer 470. The remainingportion 476 of the time-fill program 472 is yet to be played. At the same time, the streaming ofsegments buffer 470. Segments 478-481 (including the segments locally stored and the segments being streamed in) are multiplexed into thebuffer 470. More specifically, a block of data fromsegment 1, a block of data fromsegment 2, a block of data fromsegment 3 and a block of data fromsegment 4 are multiplexed and successively fed into thebuffer 470. As a result, the original order of the data is restored and the remaining portion of the file pertaining to the title is assembled. - To facilitate the continuation of a data stream, each of the
pointers buffer 470. In the event, the segment being fetched from a box is interrupted and a backup box needs to step in, the ordering box knows exactly where to start fetching the segment from where it was interrupted in accordance with the pointer. Likewise, similar pointers (not shown) may be provided to remember where the data block of the locally cached segment is being fed or about to be fed to thebuffer 470. In the event, the ordering box needs to be reset or is suddenly powered off and back on, these pointers can facilitate the continuation of the playback of the ordered movie. -
FIG. 5B shows an embodiment of an ordering box receiving streaming directly from a server. Different from the multiplexing operation shown inFIG. 5A , the ordering box is configured to buffer the data of the streaming into thebuffer 470 that is provided to minimize any possible instability or interruption of the streaming. In operation, once an order is placed, a time-fill program 472 is instantly played. At the same time, a data sequence from a server is being fetched and put into thebuffer 470. As soon as the time-fill program 472 is done, the buffered portion of the data is started. Not shown inFIG. 5B , data pointers may be used inFIG. 5B to facilitate the continuation of the playback of the data in case the ordering box is accidentally out of operation and turned back on. - It should be readily understood to those skilled in the art that the above description may be equally applied to cases in which instantaneous VOD services are desired. Instead of playing back the time-fill program, a head of a movie title can be played back first, during which the remaining segments, if not locally available, can be fetched from other designated boxes.
- Referring now to
FIG. 6 , there shows an exemplary configuration in which the present invention may be practiced. Coupled to thenetwork 502, there are aserver 504 and a plurality of local machines or boxes 506-1, 506-2, 506-3, . . . 506-n and 508. Theserver 504 may correspond to theserver 502 ofFIG. 2 . Each of the boxes 506-1, 506-2, 506-3, . . . 506-n and 508 includes or is connected to a display screen (not shown). In one embodiment, each of the boxes 506-1, 506-2, 506-3, . . . 506-n and 508 may correspond to a computing device, a set-top box, or a television. Each of the boxes 506-1, 506-2, 506-3, . . . 506-n and 508 may access compressed data representing one or more movies that may be locally or remotely provided. - According to one embodiment, any of the boxes 506-1, 506-2, 506-3, . . . 506-n and 508 may receive compressed data from the
server 504 that centrally stores all video data and delivers required video data pertaining to an ordered title upon receiving a request. According to another embodiment, theserver 504 is configured to identify one or more other boxes to supply pieces of compressed data to a box requesting the data. In other words, all video data is distributed among all boxes in service and theserver 504 is not required to deliver all the data in response to a request, and instead is configured to provide source information as to where and how to retrieve some or all of the data from other boxes. As shown inFIG. 5A , a set ofcompressed video 510 for a movie includes four segments, one being locally available, and the other three segments are respectively fetched from the boxes 506-1, 506-3 and 506-n. - The operation of distributing segments of a single video and multiple audios—fat seeding—is described in a flow chart or
process 750 shown inFIG. 7A . Theprocess 750 may be readily understood in conjunction withFIGS. 2A , 4A, and 6. However, theprocess 750 may be independently implemented in software, hardware or a combination of both as a method, a process, or a system. Preferably, theprocess 750 is executed in a computing device that may correspond to a box as used herein. - At 752, the server is configured to distribute programs to a plurality of boxes for future access depending on popularity. The server also takes into account the programs that are already residing at boxes because either they have been viewed or distributed. Once the server determines that a program needs to be distributed, at 754, the server encodes the program. Typically, the program includes a single video and multiple audios. However, the data stream may included multiple video, audio, and closed captioning. The server may encode the single video and multiple audios as a single data stream or as separate data streams. For example, referring back to
FIG. 3A , a data stream 240-2 includes a single video with multiple audios. The data streams 240-4 and 240-6 include video and audio streams separately. - In the case of one data stream that includes a video and multiple audios, at 756, the data stream is sliced into segments and distributed to a number of boxes at 758. The number and location of boxes depend on the popularity of a program, available bandwidth, and other factors.
- In the case of separate data stream for a video and each audio, at 756, each data stream is sliced into segments and distributed to a number of boxes at 758. This is repeated until all audios have been distributed to the boxes. Whether the data stream includes single video and multiple audios, or single video or audio, once the process is completed, the selected boxes have for each video, multiple audios associated with each video—fat seed. Typically, data stream is sent from a server to some clients, and then from those clients to other clients.
- The operation of fetching segments of requested single video and single audio—lean streaming is described in a flow chart or
process 780 shown inFIG. 7B . At 782, the server waits for a request from one of the boxes (hereinafter “ordering box”) for a title. Once a request is received, the server determines which boxes have segments of requested program and instructs the boxes to forward the segments of the requested program. InFIG. 7B , the buffer can be on a disk and/or in the memory. - At 786, depending on how the audio streams are residing at the box—either as separate streams or in a single data stream along with the video—the requested audio is selected. In the case where multiple audios are in separate audio streams, the requested audio is identified by its audio ID number. Then, the selected audio is multiplex with the requested video. In the case where multiple audios are in a single data stream together, all audios are filtered out except for the requested audio. Thus, after the filtering, the data stream only includes the requested video and audio. In either case, a lean stream including one video and one audio is constructed. MPEG2 TS has about 188 byte packets, and individual stream IDs, knows as Program Ids (PID). Video, and each audio stream have their own PID.
- At 788, segments of the lean stream of the requested video and audio are sent to the ordering box. At 789, the ordering box receives, multiplexes segments received from different boxes to a buffer. At 790, the ordering box plays assembled data in the buffer.
- As described above, the architecture of
FIG. 2 provides techniques to seed segments of a video with multiple audios associated with the video to a number of boxes coupled to the network. Once an ordering makes a request for a video and an audio, responsive boxes filters to provide a lean stream of the requested video and audio to the ordering box. These techniques allow faster and cheaper ways to access different programs with multiple audios without expanding bandwidth requirements. - Similarly, in the event where a video is associated with multiple subtitle tracks, responsive boxes can filter out the irrelevant subtitles before streaming. If the user does not choose any subtitles, then all subtitle packets are filtered out. In cases where there are multiple video tracks, e.g., at different bit rates, and one video track may be streamed depending on the bandwidth available on the receiver.
- In addition, one embodiment of the present invention dynamically determines what fragments to stream and what to filter out. For example, the receiver may tell the sender exactly what to send and what to filter out. Such dynamic switching is useful to enable the following features:
-
- Dynamic switching of audio tracks during a movie.
- Dynamic switching of subtitles during a movie.
- Dynamic switching of video tracks (or audio tracks) to adapt to bandwidth changes. If there are video/audio encoded at different bitrates, it can be switched to a lower-quality track whenever bandwidth drops and switch to a higher-quality track whenever bandwidth increases. For example, the sender sends as fast as possible, potentially capped by a designated maximum rate, and the receiver monitors how long his buffer of received data is to determine what quality level the content should be streamed at. If the buffer starts decreasing below a threshold, it reduces the quality level. If the buffer starts increasing above a threshold, it increases the quality level.
- In another embodiment, the above described architecture can be used to deal with associated closed caption streams. Each closed caption stream of data is multiplexed into the media stream with its own ID and its own presentation time information. There can be none, one or more closed caption streams in the media stream. Each closed caption stream could correspond to one language or there could be multiple closed caption streams in single language with different content (e.g. Actual dialog, or commentary, etc). Segments of the complete media stream with multiple close caption streams gets distributed to client boxes during seeding (fat seed). During playback, user of the requesting box selects which closed caption stream, if any, s/he wants to see. The serving boxes filter out all closed caption streams other than the requested stream based on the ID of the requested stream.
- The foregoing description of embodiments is illustrative of various aspects/embodiments of the present invention. Various modifications to the present invention can be made to the preferred embodiments by those skilled in the art without departing from the true spirit and scope of the invention as defined by the appended claims. Accordingly, the scope of the present invention is defined by the appended claims rather than the foregoing description of embodiments.
Claims (24)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/492,673 US20080022343A1 (en) | 2006-07-24 | 2006-07-24 | Multiple audio streams |
US12/896,701 US8745675B2 (en) | 2005-03-09 | 2010-10-01 | Multiple audio streams |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/492,673 US20080022343A1 (en) | 2006-07-24 | 2006-07-24 | Multiple audio streams |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/388,613 Continuation-In-Part US8018995B2 (en) | 2005-03-09 | 2006-03-23 | System and method for trick play of highly compressed video data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/896,701 Continuation US8745675B2 (en) | 2005-03-09 | 2010-10-01 | Multiple audio streams |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080022343A1 true US20080022343A1 (en) | 2008-01-24 |
Family
ID=38972887
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/492,673 Abandoned US20080022343A1 (en) | 2005-03-09 | 2006-07-24 | Multiple audio streams |
US12/896,701 Active 2025-03-14 US8745675B2 (en) | 2005-03-09 | 2010-10-01 | Multiple audio streams |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/896,701 Active 2025-03-14 US8745675B2 (en) | 2005-03-09 | 2010-10-01 | Multiple audio streams |
Country Status (1)
Country | Link |
---|---|
US (2) | US20080022343A1 (en) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060206889A1 (en) * | 2005-03-09 | 2006-09-14 | Vvond, Llc | Fragmentation of a file for instant access |
US20060218217A1 (en) * | 2005-03-09 | 2006-09-28 | Vvond, Llc | Continuous data feeding in a distributed environment |
US20070239881A1 (en) * | 2006-04-05 | 2007-10-11 | Agiledelta, Inc. | Multiplexing binary encoding to facilitate compression |
US20080282036A1 (en) * | 2005-03-09 | 2008-11-13 | Vvond, Llc | Method and apparatus for instant playback of a movie title |
US20080281913A1 (en) * | 2005-03-09 | 2008-11-13 | Vudu, Inc. | Live video broadcasting on distributed networks |
US20080282298A1 (en) * | 2005-03-09 | 2008-11-13 | Prasanna Ganesan | Method and apparatus for supporting file sharing in a distributed network |
US20090019468A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Llc | Access control of media services over an open network |
US20090025046A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Hybrid architecture for media services |
US20090025048A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Method and apparatus for sharing media files among network nodes |
GB2467743A (en) * | 2009-02-11 | 2010-08-18 | Sony Corp | Video server and method of distributing media over a network |
US20100239226A1 (en) * | 2009-03-19 | 2010-09-23 | Eldon Technology Limited | Archiving broadcast programs |
US20110135284A1 (en) * | 2009-12-08 | 2011-06-09 | Echostar Technologies L.L.C. | Systems and methods for selective archival of media content |
EP2400710A1 (en) * | 2010-06-23 | 2011-12-28 | Alcatel Lucent | Mechanism for filtering content in IPTV |
US8099511B1 (en) | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
US8296812B1 (en) | 2006-09-01 | 2012-10-23 | Vudu, Inc. | Streaming video using erasure encoding |
US8745675B2 (en) | 2005-03-09 | 2014-06-03 | Vudu, Inc. | Multiple audio streams |
US20150106439A1 (en) * | 2012-04-27 | 2015-04-16 | Mobitv, Inc. | Combined broadcast and unicast delivery |
EP2316087A4 (en) * | 2008-06-27 | 2017-04-05 | Microsoft Technology Licensing, LLC | Segmented media content rights management |
US10244203B1 (en) * | 2013-03-15 | 2019-03-26 | Amazon Technologies, Inc. | Adaptable captioning in a video broadcast |
US11095701B2 (en) * | 2016-05-18 | 2021-08-17 | Sk Telecom Co., Ltd. | Method and apparatus for providing adaptive streaming service |
US11470138B2 (en) | 2004-04-30 | 2022-10-11 | DISH Technologies L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US11626117B2 (en) * | 2013-12-17 | 2023-04-11 | Amazon Technologies, Inc. | Contingent device actions during loss of network connectivity |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8169916B1 (en) | 2007-11-23 | 2012-05-01 | Media Melon, Inc. | Multi-platform video delivery configuration |
US9167007B2 (en) | 2008-06-06 | 2015-10-20 | Amazon Technologies, Inc. | Stream complexity mapping |
US9047236B2 (en) | 2008-06-06 | 2015-06-02 | Amazon Technologies, Inc. | Client side stream switching |
US9521178B1 (en) * | 2009-12-21 | 2016-12-13 | Amazon Technologies, Inc. | Dynamic bandwidth thresholds |
WO2013127459A1 (en) * | 2012-03-01 | 2013-09-06 | Telefonaktiebolaget L M Ericsson (Publ) | Mixer for providing media streams towards a plurality of endpoints whereby the media streams originating from one or more media source and method therefore |
US8934707B2 (en) | 2012-03-21 | 2015-01-13 | Industrial Technology Research Institute | Image processing apparatus and image processing method |
US20140189141A1 (en) * | 2012-12-28 | 2014-07-03 | Humax Co., Ltd. | Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus |
CN105308579B (en) * | 2013-07-01 | 2018-06-08 | 株式会社日立制作所 | Series data parallel parsing infrastructure and its parallel decentralized approach |
KR102312632B1 (en) * | 2014-06-11 | 2021-10-15 | 삼성전자주식회사 | Electronic apparatus and file storaging method thereof |
Citations (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5132992A (en) * | 1991-01-07 | 1992-07-21 | Paul Yurt | Audio and video transmission and receiving system |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
US5602918A (en) * | 1995-12-22 | 1997-02-11 | Virtual Open Network Environment Corp. | Application level security system and method |
US5721878A (en) * | 1995-06-07 | 1998-02-24 | International Business Machines Corporation | Multimedia control system and method for controlling multimedia program presentation |
US5729280A (en) * | 1994-08-31 | 1998-03-17 | Sony Corporation | Near video-on-demand signal receiver having a memory which provides for VCR like functions |
US5761417A (en) * | 1994-09-08 | 1998-06-02 | International Business Machines Corporation | Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node |
US5765164A (en) * | 1995-12-21 | 1998-06-09 | Intel Corporation | Apparatus and method for management of discontinuous segments of multiple audio, video, and data streams |
US5877812A (en) * | 1995-11-21 | 1999-03-02 | Imedia Corporation | Method and apparatus for increasing channel utilization for digital video transmission |
US5884031A (en) * | 1996-10-01 | 1999-03-16 | Pipe Dream, Inc. | Method for connecting client systems into a broadcast network |
US5903563A (en) * | 1994-07-25 | 1999-05-11 | Microsoft Corporation | Method and system for combining data from multiple servers into a single continuous data stream using a switch |
US5926205A (en) * | 1994-10-19 | 1999-07-20 | Imedia Corporation | Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program |
US5928331A (en) * | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
US6018359A (en) * | 1998-04-24 | 2000-01-25 | Massachusetts Institute Of Technology | System and method for multicast video-on-demand delivery system |
US6037983A (en) * | 1996-11-08 | 2000-03-14 | Hughes Electronics Corporation | High quality reduced latency transmission of video objects |
US6038560A (en) * | 1997-05-21 | 2000-03-14 | Oracle Corporation | Concept knowledge base search and retrieval system |
US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US6170006B1 (en) * | 1997-07-29 | 2001-01-02 | Matsushita Electric Industrial Co., Ltd. | Video on demand service system for performing automatic expanding processing of data and title information |
US6184878B1 (en) * | 1997-12-23 | 2001-02-06 | Sarnoff Corporation | Interactive world wide web access using a set top terminal in a video on demand system |
US6212549B1 (en) * | 1997-10-06 | 2001-04-03 | Nexprise, Inc. | Trackpoint-based computer-implemented systems and methods for facilitating collaborative project development and communication |
US6236504B1 (en) * | 1999-12-21 | 2001-05-22 | Asia Optical Co., Inc. | Method and device for adjusting eye range by means of displacements of prisms and ocular lenses |
US6263504B1 (en) * | 1995-11-27 | 2001-07-17 | Sony Corporation | Data delivery system, data receiving apparatus, and storage medium for video programs |
US20020012521A1 (en) * | 1997-05-16 | 2002-01-31 | Hitachi, Ltd. | Image retrieving method and apparatuses therefor |
US20020022956A1 (en) * | 2000-05-25 | 2002-02-21 | Igor Ukrainczyk | System and method for automatically classifying text |
US20020029282A1 (en) * | 2000-07-13 | 2002-03-07 | Buddhikot Milind M. | Method and system for data layout and replacement in distributed streaming caches on a network |
US20020031331A1 (en) * | 1997-08-12 | 2002-03-14 | Index Systems, Inc. | Apparatus and methods for voice titles |
US20020053078A1 (en) * | 2000-01-14 | 2002-05-02 | Alex Holtz | Method, system and computer program product for producing and distributing enhanced media downstreams |
US6397251B1 (en) * | 1997-09-02 | 2002-05-28 | International Business Machines Corporation | File server for multimedia file distribution |
US20020091825A1 (en) * | 2000-08-17 | 2002-07-11 | Shuster Gary Stephen | Method and apparatus for improving bandwidth efficiency in a computer network |
US20030028490A1 (en) * | 2001-07-31 | 2003-02-06 | Koji Miura | System, apparatus, and method of contents distribution, and program and program recording medium directed to the same |
US20030026254A1 (en) * | 2000-10-26 | 2003-02-06 | Sim Siew Yong | Method and apparatus for large payload distribution in a network |
US6519693B1 (en) * | 1989-08-23 | 2003-02-11 | Delta Beta, Pty, Ltd. | Method and system of program transmission optimization using a redundant transmission sequence |
US20030055893A1 (en) * | 2001-09-14 | 2003-03-20 | Yuichi Sato | Collaboration method, system, program and record medium |
US20030078964A1 (en) * | 2001-06-04 | 2003-04-24 | Nct Group, Inc. | System and method for reducing the time to deliver information from a communications network to a user |
US20030084461A1 (en) * | 2001-10-25 | 2003-05-01 | Khoi Hoang | Method and apparatus for transmitting non-VOD services |
US20030097661A1 (en) * | 2001-11-16 | 2003-05-22 | Li Hua Harry | Time-shifted television over IP network system |
US20030126277A1 (en) * | 2001-12-28 | 2003-07-03 | Son Young Sung | Apparatus and method for providing multimedia streaming service by using point-to-point connection |
US20030135867A1 (en) * | 1996-02-14 | 2003-07-17 | Guedalia Jacob Leon | System for transmitting digital data over a limited bandwidth link in plural blocks |
US20040016000A1 (en) * | 2002-04-23 | 2004-01-22 | Zhi-Li Zhang | Video streaming having controlled quality assurance over best-effort networks |
US6701528B1 (en) * | 2000-01-26 | 2004-03-02 | Hughes Electronics Corporation | Virtual video on demand using multiple encrypted video segments |
US6704813B2 (en) * | 1999-04-06 | 2004-03-09 | Microsoft Corporation | System for storing streaming information in a circular buffer by using padding block containing non-streaming information to fill a partition of the buffer |
US20040078460A1 (en) * | 2002-10-16 | 2004-04-22 | Microsoft Corporation | Network connection setup procedure for traffic admission control and implicit network bandwidth reservation |
US6728763B1 (en) * | 2000-03-09 | 2004-04-27 | Ben W. Chen | Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins |
US6731605B1 (en) * | 2000-06-19 | 2004-05-04 | Sharp Laboratories Of America, Inc. | Prioritized optimal server side bandwidth allocation in a multimedia session with push and pull sources |
US20040107242A1 (en) * | 2002-12-02 | 2004-06-03 | Microsoft Corporation | Peer-to-peer content broadcast transfer mechanism |
US20040123324A1 (en) * | 2000-03-07 | 2004-06-24 | Sazzad Sharif M. | Methods and apparatus for providing video services such as Video-on-Demand, news and advertising services |
US20040128343A1 (en) * | 2001-06-19 | 2004-07-01 | Mayer Daniel J | Method and apparatus for distributing video programs using partial caching |
US20040133923A1 (en) * | 2002-08-21 | 2004-07-08 | Watson Scott F. | Digital home movie library |
US6763392B1 (en) * | 2000-09-29 | 2004-07-13 | Microsoft Corporation | Media streaming methods and arrangements |
US20040143850A1 (en) * | 2003-01-16 | 2004-07-22 | Pierre Costa | Video Content distribution architecture |
US20040143672A1 (en) * | 2003-01-07 | 2004-07-22 | Microsoft Corporation | System and method for distributing streaming content through cooperative networking |
US20040148636A1 (en) * | 1998-05-18 | 2004-07-29 | Liberate Technologies | Combining television broadcast and personalized/interactive information |
US20050010653A1 (en) * | 1999-09-03 | 2005-01-13 | Fastforward Networks, Inc. | Content distribution system for operation over an internetwork including content peering arrangements |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
US20050033856A1 (en) * | 2000-08-01 | 2005-02-10 | Fulu Li | Method and apparatus for broadcasting media objects with guaranteed quality of service |
US20050038724A1 (en) * | 2002-08-30 | 2005-02-17 | Navio Systems, Inc. | Methods and apparatus for enabling transaction relating to digital assets |
US20050041679A1 (en) * | 2001-10-10 | 2005-02-24 | Hillel Weinstein | Method and system for a true-video-on-demand service in a catv network |
US20050055718A1 (en) * | 2003-09-05 | 2005-03-10 | Stone Christopher J. | Peer-to-peer architecture for sharing video on demand content |
US20050055425A1 (en) * | 2001-06-12 | 2005-03-10 | Network Appliance, Incorporated | Pre-computing streaming media payload method and apparatus |
US20050066063A1 (en) * | 2003-08-01 | 2005-03-24 | Microsoft Corporation | Sparse caching for streaming media |
US20050086696A1 (en) * | 1993-03-29 | 2005-04-21 | Microsoft Corporation | Methods for enabling near video-on-demand and video-on-request services using digital video recorders |
US20050097213A1 (en) * | 2003-10-10 | 2005-05-05 | Microsoft Corporation | Architecture for distributed sending of media data |
US20050108414A1 (en) * | 2003-11-14 | 2005-05-19 | Taylor Thomas M. | System and method for transmitting data in computer systems using virtual streaming |
US20060008256A1 (en) * | 2003-10-01 | 2006-01-12 | Khedouri Robert K | Audio visual player apparatus and system and method of content distribution using the same |
US20060026663A1 (en) * | 2004-07-29 | 2006-02-02 | Sbc Knowledge Ventures, L.P. | System and method for pre-caching a first portion of a video file on a set-top box |
US20060031537A1 (en) * | 2004-06-08 | 2006-02-09 | International Business Machines Corporation | Method, system and program product for optimized concurrent data download within a grid computing environment |
US20060034537A1 (en) * | 2004-08-03 | 2006-02-16 | Funai Electric Co., Ltd. | Human body detecting device and human body detecting method |
US20060037037A1 (en) * | 2004-06-14 | 2006-02-16 | Tony Miranz | System and method for providing virtual video on demand |
US20060075453A1 (en) * | 2004-10-04 | 2006-04-06 | Samsung Electronics Co.; Ltd | Method for streaming multimedia content |
US20060095948A1 (en) * | 2002-12-06 | 2006-05-04 | Koninklijke Phillips Electronics N.V. | Channel tapping in a near-video-on-demand system |
US20060106807A1 (en) * | 2004-11-18 | 2006-05-18 | Microsoft Corporation | System and method for transferring a file in advance of its use |
US7051360B1 (en) * | 1998-11-30 | 2006-05-23 | United Video Properties, Inc. | Interactive television program guide with selectable languages |
US20060136597A1 (en) * | 2004-12-08 | 2006-06-22 | Nice Systems Ltd. | Video streaming parameter optimization and QoS |
US7080400B1 (en) * | 2001-08-06 | 2006-07-18 | Navar Murgesh S | System and method for distributed storage and presentation of multimedia in a cable network environment |
US7174385B2 (en) * | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US7188357B1 (en) * | 2000-11-16 | 2007-03-06 | Unisys Corporation | Video-on demand video server disk/memory streaming selection methodology |
US7191215B2 (en) * | 2005-03-09 | 2007-03-13 | Marquee, Inc. | Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines |
US20070089146A1 (en) * | 2003-10-10 | 2007-04-19 | Wataru Ikeda | Playback apparatus, program, and playback method |
US7228556B2 (en) * | 1999-12-21 | 2007-06-05 | Tivo Inc. | Distributed, interactive television program guide; system and method |
US20070143804A1 (en) * | 2005-12-15 | 2007-06-21 | General Instrument Corporation | System, method and apparatus for distributing Video-On-Demand (VOD) |
US7240359B1 (en) * | 1999-10-13 | 2007-07-03 | Starz Entertainment, Llc | Programming distribution system |
US7324555B1 (en) * | 2003-03-20 | 2008-01-29 | Infovalue Computing, Inc. | Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size |
US7360235B2 (en) * | 2002-10-04 | 2008-04-15 | Scientific-Atlanta, Inc. | Systems and methods for operating a peripheral record/playback device in a networked multimedia system |
US20080091840A1 (en) * | 2000-03-29 | 2008-04-17 | Guo Katherine H | Method and System for Caching Streaming Multimedia on the Internet |
US7379963B1 (en) * | 2000-07-14 | 2008-05-27 | Knownow-Delaware | Delivery of any type of information to anyone anytime anywhere |
US20080134258A1 (en) * | 2005-08-12 | 2008-06-05 | Stuart Goose | Multi-Source and Resilient Video on Demand Streaming System for a Peer-to-Peer Subscriber Community |
US7386874B2 (en) * | 1998-11-30 | 2008-06-10 | Microsoft Corporation | Video on demand methods and systems |
US20090007396A1 (en) * | 2006-05-03 | 2009-01-08 | Adam Glickfield | Holder assembly for currency, credit cards and like objects |
US20090019174A1 (en) * | 2007-07-13 | 2009-01-15 | Spotify Technology Holding Ltd | Peer-to-Peer Streaming of Media Content |
US20090019468A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Llc | Access control of media services over an open network |
US20090025048A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Method and apparatus for sharing media files among network nodes |
US20090025046A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Hybrid architecture for media services |
US20090024573A1 (en) * | 2006-07-18 | 2009-01-22 | Vvond, Inc. | Method and system for performing search on a client device |
US7552382B1 (en) * | 1998-12-25 | 2009-06-23 | Panasonic Corporation | Data processing device and method for selecting media segments on the basis of a score |
US20100049867A1 (en) * | 2005-01-21 | 2010-02-25 | Intellectual Ventures Holding 19, Llc | On demand peer-to-peer video streaming with multiple description coding |
US20110023072A1 (en) * | 2005-03-09 | 2011-01-27 | Edin Hodzic | Multiple audio streams |
US20110093492A1 (en) * | 2000-07-24 | 2011-04-21 | Sanghoon Sull | System and Method for Indexing, Searching, Identifying, and Editing Multimedia Files |
Family Cites Families (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701582A (en) | 1989-08-23 | 1997-12-23 | Delta Beta Pty. Ltd. | Method and apparatus for efficient transmissions of programs |
US5172413A (en) | 1990-12-20 | 1992-12-15 | Sasktel | Secure hierarchial video delivery system and method |
US5528281A (en) | 1991-09-27 | 1996-06-18 | Bell Atlantic Network Services | Method and system for accessing multimedia data over public switched telephone network |
US5798785A (en) | 1992-12-09 | 1998-08-25 | Discovery Communications, Inc. | Terminal for suggesting programs offered on a television program delivery system |
ATE219615T1 (en) | 1992-12-09 | 2002-07-15 | Discovery Communicat Inc | NETWORK CONTROL FOR CABLE TELEVISION DISTRIBUTION SYSTEMS |
US5606359A (en) | 1994-06-30 | 1997-02-25 | Hewlett-Packard Company | Video on demand system with multiple data sources configured to provide vcr-like services |
AU698055B2 (en) | 1994-07-14 | 1998-10-22 | Johnson-Grace Company | Method and apparatus for compressing images |
US5530754A (en) | 1994-08-02 | 1996-06-25 | Garfinkle; Norton | Video on demand |
US5623613A (en) | 1994-11-29 | 1997-04-22 | Microsoft Corporation | System for displaying programming information |
US5694559A (en) | 1995-03-07 | 1997-12-02 | Microsoft Corporation | On-line help method and system utilizing free text query |
EP0742670B1 (en) | 1995-05-08 | 2002-04-03 | The Box Worldwide, Inc. | Interactive video system |
US5815662A (en) | 1995-08-15 | 1998-09-29 | Ong; Lance | Predictive memory caching for media-on-demand systems |
US5933603A (en) | 1995-10-27 | 1999-08-03 | Emc Corporation | Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location |
US5948070A (en) | 1995-10-31 | 1999-09-07 | Nec Corporation | File transfer systems, file transfer methods and storage media for storing file transfer programs |
US5838314A (en) | 1996-02-21 | 1998-11-17 | Message Partners | Digital video services system with optional interactive advertisement capabilities |
US5831662A (en) | 1996-04-04 | 1998-11-03 | Hughes Electronics Corporation | Near on-demand digital information delivery system and method using signal fragmentation and sequencing to reduce average bandwidth and peak bandwidth variability |
US6177931B1 (en) | 1996-12-19 | 2001-01-23 | Index Systems, Inc. | Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information |
WO1998028915A2 (en) | 1996-12-23 | 1998-07-02 | Koninklijke Philips Electronics N.V. | Method and system for supplying data streams |
US6285987B1 (en) | 1997-01-22 | 2001-09-04 | Engage, Inc. | Internet advertising system |
US6005565A (en) | 1997-03-25 | 1999-12-21 | Sony Corporation | Integrated search of electronic program guide, internet and other information resources |
US20030040962A1 (en) | 1997-06-12 | 2003-02-27 | Lewis William H. | System and data management and on-demand rental and purchase of digital data products |
US6014694A (en) * | 1997-06-26 | 2000-01-11 | Citrix Systems, Inc. | System for adaptive video/audio transport over a network |
US5886730A (en) | 1997-08-14 | 1999-03-23 | Tsosie; Harold | Security system for disabling an electronic device |
US6938258B1 (en) | 1998-05-26 | 2005-08-30 | Rockwell Collins | Message processor for a passenger entertainment system, method and article of manufacture |
AU5228399A (en) | 1998-07-23 | 2000-02-14 | Diva Systems Corporation | System for generating, distributing and receiving an interactive user interface |
EP1135722A4 (en) | 1998-07-27 | 2005-08-10 | Webtv Networks Inc | Remote computer access |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US6853385B1 (en) | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
US6324519B1 (en) | 1999-03-12 | 2001-11-27 | Expanse Networks, Inc. | Advertisement auction system |
US6502139B1 (en) | 1999-06-01 | 2002-12-31 | Technion Research And Development Foundation Ltd. | System for optimizing video on demand transmission by partitioning video program into multiple segments, decreasing transmission rate for successive segments and repeatedly, simultaneously transmission |
JP2003503907A (en) | 1999-06-28 | 2003-01-28 | ユナイテッド ビデオ プロパティーズ, インコーポレイテッド | Interactive television program guide system and method with niche hub |
US6640241B1 (en) | 1999-07-19 | 2003-10-28 | Groove Networks, Inc. | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager |
US6463508B1 (en) | 1999-07-19 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for caching a media stream |
US7024679B1 (en) | 1999-10-13 | 2006-04-04 | Svod Llc | Local near video on demand storage |
US7984463B2 (en) | 2002-03-29 | 2011-07-19 | Starz Entertainment, Llc | Instant video on demand playback |
US20050259682A1 (en) | 2000-02-03 | 2005-11-24 | Yuval Yosef | Broadcast system |
US6622305B1 (en) | 2000-02-25 | 2003-09-16 | Opentv, Inc. | System and method for displaying near video on demand |
US20010042249A1 (en) | 2000-03-15 | 2001-11-15 | Dan Knepper | System and method of joining encoded video streams for continuous play |
WO2001097082A2 (en) | 2000-06-09 | 2001-12-20 | Eclik Corporation | Network interface having client-specific information and associated method |
US6970937B1 (en) | 2000-06-15 | 2005-11-29 | Abacast, Inc. | User-relayed data broadcasting |
US6804719B1 (en) | 2000-08-24 | 2004-10-12 | Microsoft Corporation | Method and system for relocating files that are partially stored in remote storage |
US6944585B1 (en) | 2000-09-01 | 2005-09-13 | Oracle International Corporation | Dynamic personalized content resolution for a media server |
US7716358B2 (en) | 2000-09-12 | 2010-05-11 | Wag Acquisition, Llc | Streaming media buffering system |
CN100431320C (en) | 2000-10-26 | 2008-11-05 | 普里斯梅迪亚网络有限公司 | Method and appts. for real-time parallel delivery of segments of large payload file |
DE60131900T2 (en) * | 2000-10-26 | 2008-12-04 | Flood, James C. jun., Portland | METHOD AND SYSTEM FOR MANAGING DISTRIBUTED CONTENT AND RELATED METADATA |
US20020083147A1 (en) * | 2000-10-31 | 2002-06-27 | Ripperger Kurt G. | System and method for on line real time transmitting a motion picture to a user system |
US7246369B1 (en) | 2000-12-27 | 2007-07-17 | Info Valve Computing, Inc. | Broadband video distribution system using segments |
US20020129375A1 (en) | 2001-01-08 | 2002-09-12 | Artista Communications, Inc. | Adaptive video on-demand system and method using tempo-differential file transfer |
US6630963B1 (en) | 2001-01-23 | 2003-10-07 | Digeo, Inc. | Synchronizing a video program from a television broadcast with a secondary audio program |
US20040122741A1 (en) | 2002-01-25 | 2004-06-24 | David Sidman | Apparatus, method and system for effecting information access in a peer environment |
US6789106B2 (en) | 2001-02-02 | 2004-09-07 | Sony Corporation | Selective capture and storage of A/V objects in an interactive multimedia system |
IL148080A0 (en) | 2001-02-13 | 2002-09-12 | Hosen Eliav | System for distributing video and content on demand |
WO2002071242A1 (en) | 2001-03-01 | 2002-09-12 | Akamai Technologies, Inc. | Optimal route selection in a content delivery network |
US6973667B2 (en) | 2001-03-01 | 2005-12-06 | Minerva Networks, Inc. | Method and system for providing time-shifted delivery of live media programs |
US20020143959A1 (en) | 2001-04-03 | 2002-10-03 | David El-Baze | Method and apparatus for interactive direct peer-to-peer multimedia streaming |
US20020162109A1 (en) | 2001-04-26 | 2002-10-31 | Koninklijke Philips Electronics N.V. | Distributed storage on a P2P network architecture |
US20030046698A1 (en) | 2001-06-11 | 2003-03-06 | Yakov Kamen | Methods and apparatuses for conducting a TV EPG search in various search time periods |
US20040250286A1 (en) | 2001-06-15 | 2004-12-09 | Fraser Allistair M | System for communication of streaming digital data |
US7281261B2 (en) | 2001-06-29 | 2007-10-09 | Microsoft Corporation | Remotely accessing and programming a set top box |
US20030115597A1 (en) | 2001-12-14 | 2003-06-19 | Koninklijke Philips Electronics N.V. | Micro-auction on television for the selection of commercials |
US7293275B1 (en) | 2002-02-08 | 2007-11-06 | Microsoft Corporation | Enhanced video content information associated with video programs |
US7010762B2 (en) | 2002-02-27 | 2006-03-07 | At&T Corp. | Pre-loading content to caches for information appliances |
US20030188317A1 (en) | 2002-03-28 | 2003-10-02 | Liew William J. | Advertisement system and methods for video-on-demand services |
US20030204602A1 (en) | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
US20030204856A1 (en) | 2002-04-30 | 2003-10-30 | Buxton Mark J. | Distributed server video-on-demand system |
US8635355B2 (en) | 2002-05-01 | 2014-01-21 | Stmicroelectronics, Inc. | Method for pre-caching content to enable true VOD systems from NVOD or stream limited VOD systems |
WO2004008289A2 (en) | 2002-07-17 | 2004-01-22 | William Hayhurst | Decentralized media delivery |
KR100427143B1 (en) | 2003-01-17 | 2004-04-14 | 엔에이치엔(주) | Method for Transmitting and Dowloading Streaming Data |
US20040158867A1 (en) | 2003-02-10 | 2004-08-12 | General Instrument Corporation | Methods, systems, and apparatus for determining transport stream channels for video-on-demand applications |
BRPI0408622A (en) | 2003-03-28 | 2006-03-07 | Thomson Licensing | system and method for transmitting media-based files |
WO2004095201A2 (en) | 2003-04-09 | 2004-11-04 | Intervideo Inc. | Systems and methods for caching multimedia data |
US8555165B2 (en) | 2003-05-08 | 2013-10-08 | Hillcrest Laboratories, Inc. | Methods and systems for generating a zoomable graphical user interface |
US7577750B2 (en) | 2003-05-23 | 2009-08-18 | Microsoft Corporation | Systems and methods for peer-to-peer collaboration to enhance multimedia streaming |
US7415527B2 (en) | 2003-06-13 | 2008-08-19 | Satyam Computer Services Limited Of Mayfair Centre | System and method for piecewise streaming of video using a dedicated overlay network |
US7234077B2 (en) | 2003-06-24 | 2007-06-19 | International Business Machines Corporation | Rapid restoration of file system usage in very large file systems |
US20050076363A1 (en) | 2003-08-29 | 2005-04-07 | Derek Dukes | System and method for navigation of a multimedia interface |
US7657672B2 (en) | 2004-01-30 | 2010-02-02 | Telefonaktiebolaget L M Ericsson (Publ) | Packet scheduling for data stream transmission |
US20050177853A1 (en) | 2004-02-11 | 2005-08-11 | Alio, Inc. | System and Methodology for Distributed Delivery of Online Content in Response to Client Selections from an Online Catalog |
US20050216941A1 (en) | 2004-03-26 | 2005-09-29 | Primedia Workplace Learning, Lp | System and method for controlling video-on-demand content |
WO2005120055A2 (en) | 2004-05-26 | 2005-12-15 | Skipjam Corp. | Method and system for displaying and selecting content of an electronic program guide |
US8010985B2 (en) | 2004-06-01 | 2011-08-30 | General Instrument Corporation | Method and system for resource management in a video on-demand server |
US20060026635A1 (en) | 2004-07-30 | 2006-02-02 | Microsoft Corporation | Program portals and methods and systems for finding and viewing programs |
US20060184688A1 (en) | 2005-02-17 | 2006-08-17 | Nec Laboratories America, Inc. | System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources |
US20060190975A1 (en) | 2005-02-24 | 2006-08-24 | Carlos Gonzalez | Method and apparatus for providing video on-demand |
US20090019489A1 (en) | 2005-03-09 | 2009-01-15 | Vvond, Inc. | Method and apparatus for displaying movie titles based on distributed objects |
US7698451B2 (en) | 2005-03-09 | 2010-04-13 | Vudu, Inc. | Method and apparatus for instant playback of a movie title |
US8904463B2 (en) | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US7937379B2 (en) | 2005-03-09 | 2011-05-03 | Vudu, Inc. | Fragmentation of a file for instant access |
US8219635B2 (en) | 2005-03-09 | 2012-07-10 | Vudu, Inc. | Continuous data feeding in a distributed environment |
US20060218088A1 (en) | 2005-03-24 | 2006-09-28 | Flora John R | Intelligent auto-fill transaction data |
US20060248078A1 (en) | 2005-04-15 | 2006-11-02 | William Gross | Search engine with suggestion tool and method of using same |
-
2006
- 2006-07-24 US US11/492,673 patent/US20080022343A1/en not_active Abandoned
-
2010
- 2010-10-01 US US12/896,701 patent/US8745675B2/en active Active
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519693B1 (en) * | 1989-08-23 | 2003-02-11 | Delta Beta, Pty, Ltd. | Method and system of program transmission optimization using a redundant transmission sequence |
US5132992A (en) * | 1991-01-07 | 1992-07-21 | Paul Yurt | Audio and video transmission and receiving system |
US20050086696A1 (en) * | 1993-03-29 | 2005-04-21 | Microsoft Corporation | Methods for enabling near video-on-demand and video-on-request services using digital video recorders |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
US5903563A (en) * | 1994-07-25 | 1999-05-11 | Microsoft Corporation | Method and system for combining data from multiple servers into a single continuous data stream using a switch |
US5729280A (en) * | 1994-08-31 | 1998-03-17 | Sony Corporation | Near video-on-demand signal receiver having a memory which provides for VCR like functions |
US5761417A (en) * | 1994-09-08 | 1998-06-02 | International Business Machines Corporation | Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node |
US5926205A (en) * | 1994-10-19 | 1999-07-20 | Imedia Corporation | Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program |
US5721878A (en) * | 1995-06-07 | 1998-02-24 | International Business Machines Corporation | Multimedia control system and method for controlling multimedia program presentation |
US5877812A (en) * | 1995-11-21 | 1999-03-02 | Imedia Corporation | Method and apparatus for increasing channel utilization for digital video transmission |
US6263504B1 (en) * | 1995-11-27 | 2001-07-17 | Sony Corporation | Data delivery system, data receiving apparatus, and storage medium for video programs |
US5765164A (en) * | 1995-12-21 | 1998-06-09 | Intel Corporation | Apparatus and method for management of discontinuous segments of multiple audio, video, and data streams |
US5602918A (en) * | 1995-12-22 | 1997-02-11 | Virtual Open Network Environment Corp. | Application level security system and method |
US20030135867A1 (en) * | 1996-02-14 | 2003-07-17 | Guedalia Jacob Leon | System for transmitting digital data over a limited bandwidth link in plural blocks |
US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US5884031A (en) * | 1996-10-01 | 1999-03-16 | Pipe Dream, Inc. | Method for connecting client systems into a broadcast network |
US6037983A (en) * | 1996-11-08 | 2000-03-14 | Hughes Electronics Corporation | High quality reduced latency transmission of video objects |
US20020012521A1 (en) * | 1997-05-16 | 2002-01-31 | Hitachi, Ltd. | Image retrieving method and apparatuses therefor |
US6038560A (en) * | 1997-05-21 | 2000-03-14 | Oracle Corporation | Concept knowledge base search and retrieval system |
US6170006B1 (en) * | 1997-07-29 | 2001-01-02 | Matsushita Electric Industrial Co., Ltd. | Video on demand service system for performing automatic expanding processing of data and title information |
US20020031331A1 (en) * | 1997-08-12 | 2002-03-14 | Index Systems, Inc. | Apparatus and methods for voice titles |
US6397251B1 (en) * | 1997-09-02 | 2002-05-28 | International Business Machines Corporation | File server for multimedia file distribution |
US6212549B1 (en) * | 1997-10-06 | 2001-04-03 | Nexprise, Inc. | Trackpoint-based computer-implemented systems and methods for facilitating collaborative project development and communication |
US5928331A (en) * | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
US6184878B1 (en) * | 1997-12-23 | 2001-02-06 | Sarnoff Corporation | Interactive world wide web access using a set top terminal in a video on demand system |
US6018359A (en) * | 1998-04-24 | 2000-01-25 | Massachusetts Institute Of Technology | System and method for multicast video-on-demand delivery system |
US20040148636A1 (en) * | 1998-05-18 | 2004-07-29 | Liberate Technologies | Combining television broadcast and personalized/interactive information |
US7051360B1 (en) * | 1998-11-30 | 2006-05-23 | United Video Properties, Inc. | Interactive television program guide with selectable languages |
US7386874B2 (en) * | 1998-11-30 | 2008-06-10 | Microsoft Corporation | Video on demand methods and systems |
US20080148323A1 (en) * | 1998-11-30 | 2008-06-19 | Microsoft Corporation | Video on demand methods and systems |
US7552382B1 (en) * | 1998-12-25 | 2009-06-23 | Panasonic Corporation | Data processing device and method for selecting media segments on the basis of a score |
US6704813B2 (en) * | 1999-04-06 | 2004-03-09 | Microsoft Corporation | System for storing streaming information in a circular buffer by using padding block containing non-streaming information to fill a partition of the buffer |
US20050010653A1 (en) * | 1999-09-03 | 2005-01-13 | Fastforward Networks, Inc. | Content distribution system for operation over an internetwork including content peering arrangements |
US7240359B1 (en) * | 1999-10-13 | 2007-07-03 | Starz Entertainment, Llc | Programming distribution system |
US6236504B1 (en) * | 1999-12-21 | 2001-05-22 | Asia Optical Co., Inc. | Method and device for adjusting eye range by means of displacements of prisms and ocular lenses |
US7228556B2 (en) * | 1999-12-21 | 2007-06-05 | Tivo Inc. | Distributed, interactive television program guide; system and method |
US20020053078A1 (en) * | 2000-01-14 | 2002-05-02 | Alex Holtz | Method, system and computer program product for producing and distributing enhanced media downstreams |
US6701528B1 (en) * | 2000-01-26 | 2004-03-02 | Hughes Electronics Corporation | Virtual video on demand using multiple encrypted video segments |
US20040148634A1 (en) * | 2000-01-26 | 2004-07-29 | Hughes Electronics Corporation | Virtual video on demand using multiple encrypted video segments |
US20040123324A1 (en) * | 2000-03-07 | 2004-06-24 | Sazzad Sharif M. | Methods and apparatus for providing video services such as Video-on-Demand, news and advertising services |
US6728763B1 (en) * | 2000-03-09 | 2004-04-27 | Ben W. Chen | Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins |
US20080091840A1 (en) * | 2000-03-29 | 2008-04-17 | Guo Katherine H | Method and System for Caching Streaming Multimedia on the Internet |
US20020022956A1 (en) * | 2000-05-25 | 2002-02-21 | Igor Ukrainczyk | System and method for automatically classifying text |
US6731605B1 (en) * | 2000-06-19 | 2004-05-04 | Sharp Laboratories Of America, Inc. | Prioritized optimal server side bandwidth allocation in a multimedia session with push and pull sources |
US20020029282A1 (en) * | 2000-07-13 | 2002-03-07 | Buddhikot Milind M. | Method and system for data layout and replacement in distributed streaming caches on a network |
US7379963B1 (en) * | 2000-07-14 | 2008-05-27 | Knownow-Delaware | Delivery of any type of information to anyone anytime anywhere |
US20110093492A1 (en) * | 2000-07-24 | 2011-04-21 | Sanghoon Sull | System and Method for Indexing, Searching, Identifying, and Editing Multimedia Files |
US20050033856A1 (en) * | 2000-08-01 | 2005-02-10 | Fulu Li | Method and apparatus for broadcasting media objects with guaranteed quality of service |
US20020091825A1 (en) * | 2000-08-17 | 2002-07-11 | Shuster Gary Stephen | Method and apparatus for improving bandwidth efficiency in a computer network |
US6763392B1 (en) * | 2000-09-29 | 2004-07-13 | Microsoft Corporation | Media streaming methods and arrangements |
US20030026254A1 (en) * | 2000-10-26 | 2003-02-06 | Sim Siew Yong | Method and apparatus for large payload distribution in a network |
US6857012B2 (en) * | 2000-10-26 | 2005-02-15 | Intel Corporation | Method and apparatus for initializing a new node in a network |
US7188357B1 (en) * | 2000-11-16 | 2007-03-06 | Unisys Corporation | Video-on demand video server disk/memory streaming selection methodology |
US20030078964A1 (en) * | 2001-06-04 | 2003-04-24 | Nct Group, Inc. | System and method for reducing the time to deliver information from a communications network to a user |
US20050055425A1 (en) * | 2001-06-12 | 2005-03-10 | Network Appliance, Incorporated | Pre-computing streaming media payload method and apparatus |
US20040128343A1 (en) * | 2001-06-19 | 2004-07-01 | Mayer Daniel J | Method and apparatus for distributing video programs using partial caching |
US20030028490A1 (en) * | 2001-07-31 | 2003-02-06 | Koji Miura | System, apparatus, and method of contents distribution, and program and program recording medium directed to the same |
US7080400B1 (en) * | 2001-08-06 | 2006-07-18 | Navar Murgesh S | System and method for distributed storage and presentation of multimedia in a cable network environment |
US20030055893A1 (en) * | 2001-09-14 | 2003-03-20 | Yuichi Sato | Collaboration method, system, program and record medium |
US20050041679A1 (en) * | 2001-10-10 | 2005-02-24 | Hillel Weinstein | Method and system for a true-video-on-demand service in a catv network |
US20030084461A1 (en) * | 2001-10-25 | 2003-05-01 | Khoi Hoang | Method and apparatus for transmitting non-VOD services |
US20030097661A1 (en) * | 2001-11-16 | 2003-05-22 | Li Hua Harry | Time-shifted television over IP network system |
US20030126277A1 (en) * | 2001-12-28 | 2003-07-03 | Son Young Sung | Apparatus and method for providing multimedia streaming service by using point-to-point connection |
US20040016000A1 (en) * | 2002-04-23 | 2004-01-22 | Zhi-Li Zhang | Video streaming having controlled quality assurance over best-effort networks |
US20040133923A1 (en) * | 2002-08-21 | 2004-07-08 | Watson Scott F. | Digital home movie library |
US20050038724A1 (en) * | 2002-08-30 | 2005-02-17 | Navio Systems, Inc. | Methods and apparatus for enabling transaction relating to digital assets |
US7360235B2 (en) * | 2002-10-04 | 2008-04-15 | Scientific-Atlanta, Inc. | Systems and methods for operating a peripheral record/playback device in a networked multimedia system |
US20040078460A1 (en) * | 2002-10-16 | 2004-04-22 | Microsoft Corporation | Network connection setup procedure for traffic admission control and implicit network bandwidth reservation |
US20040107242A1 (en) * | 2002-12-02 | 2004-06-03 | Microsoft Corporation | Peer-to-peer content broadcast transfer mechanism |
US20060095948A1 (en) * | 2002-12-06 | 2006-05-04 | Koninklijke Phillips Electronics N.V. | Channel tapping in a near-video-on-demand system |
US20040143672A1 (en) * | 2003-01-07 | 2004-07-22 | Microsoft Corporation | System and method for distributing streaming content through cooperative networking |
US20040143850A1 (en) * | 2003-01-16 | 2004-07-22 | Pierre Costa | Video Content distribution architecture |
US7324555B1 (en) * | 2003-03-20 | 2008-01-29 | Infovalue Computing, Inc. | Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
US20050066063A1 (en) * | 2003-08-01 | 2005-03-24 | Microsoft Corporation | Sparse caching for streaming media |
US20050055718A1 (en) * | 2003-09-05 | 2005-03-10 | Stone Christopher J. | Peer-to-peer architecture for sharing video on demand content |
US20060008256A1 (en) * | 2003-10-01 | 2006-01-12 | Khedouri Robert K | Audio visual player apparatus and system and method of content distribution using the same |
US20050097213A1 (en) * | 2003-10-10 | 2005-05-05 | Microsoft Corporation | Architecture for distributed sending of media data |
US20070089146A1 (en) * | 2003-10-10 | 2007-04-19 | Wataru Ikeda | Playback apparatus, program, and playback method |
US20050108414A1 (en) * | 2003-11-14 | 2005-05-19 | Taylor Thomas M. | System and method for transmitting data in computer systems using virtual streaming |
US20060031537A1 (en) * | 2004-06-08 | 2006-02-09 | International Business Machines Corporation | Method, system and program product for optimized concurrent data download within a grid computing environment |
US20060037037A1 (en) * | 2004-06-14 | 2006-02-16 | Tony Miranz | System and method for providing virtual video on demand |
US20060026663A1 (en) * | 2004-07-29 | 2006-02-02 | Sbc Knowledge Ventures, L.P. | System and method for pre-caching a first portion of a video file on a set-top box |
US20060034537A1 (en) * | 2004-08-03 | 2006-02-16 | Funai Electric Co., Ltd. | Human body detecting device and human body detecting method |
US7174385B2 (en) * | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US20060075453A1 (en) * | 2004-10-04 | 2006-04-06 | Samsung Electronics Co.; Ltd | Method for streaming multimedia content |
US20060106807A1 (en) * | 2004-11-18 | 2006-05-18 | Microsoft Corporation | System and method for transferring a file in advance of its use |
US20060136597A1 (en) * | 2004-12-08 | 2006-06-22 | Nice Systems Ltd. | Video streaming parameter optimization and QoS |
US20100049867A1 (en) * | 2005-01-21 | 2010-02-25 | Intellectual Ventures Holding 19, Llc | On demand peer-to-peer video streaming with multiple description coding |
US20090025046A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Hybrid architecture for media services |
US20090019468A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Llc | Access control of media services over an open network |
US20090025048A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Method and apparatus for sharing media files among network nodes |
US7191215B2 (en) * | 2005-03-09 | 2007-03-13 | Marquee, Inc. | Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines |
US20110023072A1 (en) * | 2005-03-09 | 2011-01-27 | Edin Hodzic | Multiple audio streams |
US20080134258A1 (en) * | 2005-08-12 | 2008-06-05 | Stuart Goose | Multi-Source and Resilient Video on Demand Streaming System for a Peer-to-Peer Subscriber Community |
US20070143804A1 (en) * | 2005-12-15 | 2007-06-21 | General Instrument Corporation | System, method and apparatus for distributing Video-On-Demand (VOD) |
US20090007396A1 (en) * | 2006-05-03 | 2009-01-08 | Adam Glickfield | Holder assembly for currency, credit cards and like objects |
US20090024573A1 (en) * | 2006-07-18 | 2009-01-22 | Vvond, Inc. | Method and system for performing search on a client device |
US20090019174A1 (en) * | 2007-07-13 | 2009-01-15 | Spotify Technology Holding Ltd | Peer-to-Peer Streaming of Media Content |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11470138B2 (en) | 2004-04-30 | 2022-10-11 | DISH Technologies L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US11677798B2 (en) | 2004-04-30 | 2023-06-13 | DISH Technologies L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US9705951B2 (en) | 2005-03-09 | 2017-07-11 | Vudu, Inc. | Method and apparatus for instant playback of a movie |
US20060206889A1 (en) * | 2005-03-09 | 2006-09-14 | Vvond, Llc | Fragmentation of a file for instant access |
US20080281913A1 (en) * | 2005-03-09 | 2008-11-13 | Vudu, Inc. | Live video broadcasting on distributed networks |
US20080282298A1 (en) * | 2005-03-09 | 2008-11-13 | Prasanna Ganesan | Method and apparatus for supporting file sharing in a distributed network |
US20090019468A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Llc | Access control of media services over an open network |
US20090025046A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Hybrid architecture for media services |
US8312161B2 (en) | 2005-03-09 | 2012-11-13 | Vudu, Inc. | Method and apparatus for instant playback of a movie title |
US7698451B2 (en) | 2005-03-09 | 2010-04-13 | Vudu, Inc. | Method and apparatus for instant playback of a movie title |
US20060218217A1 (en) * | 2005-03-09 | 2006-09-28 | Vvond, Llc | Continuous data feeding in a distributed environment |
US20080282036A1 (en) * | 2005-03-09 | 2008-11-13 | Vvond, Llc | Method and apparatus for instant playback of a movie title |
US20100254675A1 (en) * | 2005-03-09 | 2010-10-07 | Prasanna Ganesan | Method and apparatus for instant playback of a movie title |
US7810647B2 (en) | 2005-03-09 | 2010-10-12 | Vudu, Inc. | Method and apparatus for assembling portions of a data file received from multiple devices |
US7937379B2 (en) | 2005-03-09 | 2011-05-03 | Vudu, Inc. | Fragmentation of a file for instant access |
US9635318B2 (en) | 2005-03-09 | 2017-04-25 | Vudu, Inc. | Live video broadcasting on distributed networks |
US9176955B2 (en) | 2005-03-09 | 2015-11-03 | Vvond, Inc. | Method and apparatus for sharing media files among network nodes |
US8904463B2 (en) | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US8219635B2 (en) | 2005-03-09 | 2012-07-10 | Vudu, Inc. | Continuous data feeding in a distributed environment |
US8745675B2 (en) | 2005-03-09 | 2014-06-03 | Vudu, Inc. | Multiple audio streams |
US20090025048A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Method and apparatus for sharing media files among network nodes |
US8099511B1 (en) | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
US8862759B2 (en) * | 2006-04-05 | 2014-10-14 | Agiledelta, Inc. | Multiplexing binary encoding to facilitate compression |
US20070239881A1 (en) * | 2006-04-05 | 2007-10-11 | Agiledelta, Inc. | Multiplexing binary encoding to facilitate compression |
US8296812B1 (en) | 2006-09-01 | 2012-10-23 | Vudu, Inc. | Streaming video using erasure encoding |
EP3561704A1 (en) * | 2008-06-27 | 2019-10-30 | Microsoft Technology Licensing, LLC | Segmented media content rights management |
EP2316087A4 (en) * | 2008-06-27 | 2017-04-05 | Microsoft Technology Licensing, LLC | Segmented media content rights management |
GB2467743A (en) * | 2009-02-11 | 2010-08-18 | Sony Corp | Video server and method of distributing media over a network |
US9723249B2 (en) | 2009-03-19 | 2017-08-01 | Echostar Holdings Limited | Archiving broadcast programs |
US20100239226A1 (en) * | 2009-03-19 | 2010-09-23 | Eldon Technology Limited | Archiving broadcast programs |
US8315502B2 (en) | 2009-12-08 | 2012-11-20 | Echostar Technologies L.L.C. | Systems and methods for selective archival of media content |
US20110135284A1 (en) * | 2009-12-08 | 2011-06-09 | Echostar Technologies L.L.C. | Systems and methods for selective archival of media content |
US8873927B2 (en) | 2009-12-08 | 2014-10-28 | Echostar Technologies L.L.C. | Systems and methods for selective archival of media content |
EP2400710A1 (en) * | 2010-06-23 | 2011-12-28 | Alcatel Lucent | Mechanism for filtering content in IPTV |
US9769236B2 (en) * | 2012-04-27 | 2017-09-19 | Mobitv, Inc. | Combined broadcast and unicast delivery |
US20150106439A1 (en) * | 2012-04-27 | 2015-04-16 | Mobitv, Inc. | Combined broadcast and unicast delivery |
US10244203B1 (en) * | 2013-03-15 | 2019-03-26 | Amazon Technologies, Inc. | Adaptable captioning in a video broadcast |
US20190141288A1 (en) * | 2013-03-15 | 2019-05-09 | Amazon Technologies, Inc. | Adaptable captioning in a video broadcast |
US10666896B2 (en) * | 2013-03-15 | 2020-05-26 | Amazon Technologies, Inc. | Adaptable captioning in a video broadcast |
US11626117B2 (en) * | 2013-12-17 | 2023-04-11 | Amazon Technologies, Inc. | Contingent device actions during loss of network connectivity |
US11626116B2 (en) * | 2013-12-17 | 2023-04-11 | Amazon Technologies, Inc. | Contingent device actions during loss of network connectivity |
US11095701B2 (en) * | 2016-05-18 | 2021-08-17 | Sk Telecom Co., Ltd. | Method and apparatus for providing adaptive streaming service |
Also Published As
Publication number | Publication date |
---|---|
US8745675B2 (en) | 2014-06-03 |
US20110023072A1 (en) | 2011-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745675B2 (en) | Multiple audio streams | |
US11317164B2 (en) | Methods, apparatus, and systems for providing media content over a communications network | |
US20090025046A1 (en) | Hybrid architecture for media services | |
US8018995B2 (en) | System and method for trick play of highly compressed video data | |
EP1842337B1 (en) | Multicast distribution of streaming multimedia content | |
US7900231B2 (en) | System for capture and selective playback of broadcast programs | |
EP1955518B1 (en) | Network based instant replay and time shifted playback | |
US20090019468A1 (en) | Access control of media services over an open network | |
US20090300673A1 (en) | Peer- to- peer set-top box system | |
CA2785591A1 (en) | Signalling method for broadcast video content, recording method and device using the signalling | |
GB2398955A (en) | System for capture and selective playback of broadcast programmes | |
EP1593264A2 (en) | System and method for identification and insertion of advertising in broadcast programmes | |
EP1442558A2 (en) | Data switch | |
JP2013527662A (en) | How to broadcast multimedia content | |
GB2413026A (en) | Capture and user selective playback of broadcast programmes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VVOND, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HODZIC, EDIN;REEL/FRAME:018129/0143 Effective date: 20060721 |
|
AS | Assignment |
Owner name: VVOND, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HODZIC, EDIN;GANESAN, PRASANNA;GOODMAN, ANDREW M.;AND OTHERS;REEL/FRAME:018388/0164;SIGNING DATES FROM 20061010 TO 20061012 |
|
AS | Assignment |
Owner name: MARQUEE, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:VVOND, INC.;REEL/FRAME:018481/0615 Effective date: 20061002 |
|
AS | Assignment |
Owner name: MARQUEE, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:VVOND, INC.;REEL/FRAME:018481/0629 Effective date: 20061002 |
|
AS | Assignment |
Owner name: VUDU, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:MARQUEE, INC.;REEL/FRAME:020361/0980 Effective date: 20070424 Owner name: VUDU, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:MARQUEE, INC.;REEL/FRAME:020362/0325 Effective date: 20070424 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |