WO1996007272A1 - Video retrieval system optimized by signature computation - Google Patents
Video retrieval system optimized by signature computation Download PDFInfo
- Publication number
- WO1996007272A1 WO1996007272A1 PCT/US1995/010972 US9510972W WO9607272A1 WO 1996007272 A1 WO1996007272 A1 WO 1996007272A1 US 9510972 W US9510972 W US 9510972W WO 9607272 A1 WO9607272 A1 WO 9607272A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- signature
- movies
- criteria
- composite signature
- server
- Prior art date
Links
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/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
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
Definitions
- the present invention generally relates to the art of multi-user, on-demand video entertainment systems, and more specifically to a video data storage and retrieval system including a video signature computation arrangement for preventing an excessive instantaneous server data rate.
- User-on-demand also known as pay-per-view
- video entertainment systems are becoming increasingly popular in motel and hotel facilities as well as in larger scale community cable television (CATV) systems.
- CATV community cable television
- Such a system includes a video server located at a central location that stores a plurality of movies that can be selected for viewing by one or more users at any desired time.
- the video server is connected to television receivers or monitors at the individual user locations by a cable or other network.
- Each user is provided with means for requesting that a selected movie be retrieved from the server and shown on his or her television receiver in an on-demand, pay-per-view basis.
- an interactive remote control unit can be provided for each television receiver by which the user can request a movie using a menu system displayed on the television screen.
- the user can call the cable company by telephone to request that the movie transmitted to his home receiver.
- a known video server system comprises a mass storage unit in the form of a Redundant Array of Inexpensive Drives (RAID) disk drive array. Data access to and from the individual drives of the RAID array is controlled by a master controller. A plurality of movies are stored on the array in a distributed or "striped" manner such that any movie can be viewed by more than one user, or even by all users simultaneously starting at different times.
- the RAID arrangement is further advantageous in that it balances the usage load over the disk drives.
- the video and audio movie data and control functions are processed by a server, which is typically a conventional personal computer (PC) .
- Movie requests from the remote control units (or by telephone) are sent to the PC server.
- the server In response to a movie request, the server sends a command to the RAID array to retrieve the data corresponding to the requested movie from the disk drives.
- the data is read out of the array and fed back through the server to a decoder array which converts the data into an audio/visual channel and feeds it to the requesting user.
- a decoder array which converts the data into an audio/visual channel and feeds it to the requesting user.
- data is retrieved from the array in small time multiplexed blocks.
- An average data rate of approximately 375 kilobytes/second per user is required to provide substantially real-time viewing.
- a video server as embodied by a PC class computer is capable of handling a maximum composite data rate (multiplexed data for all users) of approximately 15 megabytes/sec. For a system including 30 users, this translates into an average server composite data rate of 11.25 megabytes/sec, which is within the maximum capability of the server.
- the data rate can exceed 2 megabytes/sec per user for short periods of time.
- less data per unit time is required to represent still or slowly changing images, whereas large data rates correspond to rapidly changing images.
- the composite data rate is 60 megabytes/sec, which is far in excess of the maximum capability of the server.
- the obvious approach to solving this problem is to provide a buffer memory to temporarily store the excess data until it can be processed by the server. For example, in a 30 user system that is required to sustain a 2 megabyte/second per user data rate for 10 seconds, the capacity of a buffer memory that would be capable of handling this overflow would be equal to (60 - 15) megabytes/sec x 10 seconds - 450 megabytes.
- a buffer having a capacity of 450 megabytes is disproportionately large and prohibitively expensive for a small commercial application such as a video entertainment system for a motel.
- the problem of accommodating excessive instantaneous composite data rates in a commercially practical PC server system has therefore remained unsolved.
- a plurality of movies are distributively stored in digitally encoded form on a mass storage unit such as a Redundant Array of Inexpensive Drives (RAID) disk drive array such that they can be viewed on demand by multiple users.
- the movies are preferably encoded in Motion Picture Experts Group (MPEG) format.
- MPEG Motion Picture Experts Group
- a video server receives movie requests from users, and retrieves and transmits the requested movie data from the RAID array to processors at the respective user locations.
- the processors decode the retrieved data to produce video picture and audio information and display the corresponding movies on monitors.
- Temporal instantaneous digital data rate signatures for the movies are computed and stored, and a current composite signature is computed by summing the signatures for all movies currently being shown.
- the signature for the additional movie is combined with the current composite signature to produce a new composite signature. If any part of the new composite signature exceeds the maximum data rate capability of the server, the signature for the movie is shifted forward in time by a predetermined increment, and again combined with the current composite signature to produce a recalculated new composite signature.
- FIG. 1 is a block diagram of a data storage and retrieval system for a multi-user, on-demand video/audio server according to the present invention
- FIG. 2 is a graph illustrating the instantaneous digital data rate as a function of time for one user viewing a single movie that is retrieved using the system of FIG. 1;
- FIG. 3 is a graph illustrating the instantaneous composite digital data rate for all users of the system viewing movies simultaneously as limited to within the capability of a PC server of the system in accordance with the present invention
- FIG. 4 is a diagram illustrating an initial video data rate signature calculation that is performed in response to a request for an additional movie by a user that results in a computed composite data rate that is beyond the capability of the server;
- FIG. 5 is similar to FIG. 4, but illustrates a re-calculation that results in limitation of the composite data rate to within the capability of the server.
- FIG. 1 A data storage and retrieval system 10 for a multi ⁇ user, on-demand video/audio server according to the present invention is illustrated in FIG. 1.
- the system 10 comprises a mass storage which is preferably constituted by a Redundant Array of Inexpensive Drives (RAID) array 12 including, for example, ten individual disk drives 14 that are controlled synchronously by a master RAID controller 16.
- RAID Redundant Array of Inexpensive Drives
- the controller 16 is connected by a 20 megabyte/sec SCSI bus 20 to a PC server 22 that is typically constituted by a personal computer (PC) .
- the server 22 is provided with a memory 22a that can be used to handle small data overflows.
- the system 10 further comprises a plurality of processors in the form of decoders 26 that are provided at the user locations and are connected to the controller 16 and the server 22 by the SCSI bus 20.
- Each decoder 26 has at least one output that is connected television receiver or monitor 28 for an individual user.
- the monitors 28 can be provided in individual rooms of a motel or hotel facility, or in the homes of individual customers.
- a typical system for a small motel will include four decoders 26 having outputs that are distributively connected to thirty monitors 28.
- a plurality of movies are distributively stored on the RAID array 12 such that any movie can be retrieved and viewed by any user at any time. This is made possible by the manner in which the movie data is stored on the array 12.
- data elements or bytes of movie video and audio data are stored across the drives 14 of the array 12 in a "striped" arrangement.
- Each stripe comprises a plurality of successive data bytes that are stored in the same numerical location in the drives 14 respectively.
- One of the drives 14 is preferably used to store a parity byte for each stripe such that the data for a drive that has malfunctioned or is temporarily removed from service can be reconstructed to provide interrupted operation.
- the distributed data storage arrangement using a RAID array is described in more detail in the above referenced U.S. patents.
- Each user is typically provided with an interactive remote control unit (not shown) for requesting a movie from a menu displayed on the user's monitor 28.
- the remote control units cause signals or commands designating requested movies to be sent to the PC server 22.
- the PC server 22 stores information designating the specific locations in the array 12 in which each movie is stored. In response to a movie request, the PC server 22 generates a list of all of the locations for the requested movie, and sends SCSI commands to the controller 16 through the SCSI bus 20 that designates the locations in the array 12 from which the movie data is to be retrieved.
- the server 22 sends successive commands to the controller 16 designating the locations of successive blocks of data for the requested movie in the array 12.
- each command will contain the locations of data corresponding to 0.5 seconds of viewing time for the movie. Assuming a data rate of 375 kilobytes/second, a 0.5 second block of data will correspond to 187.5 kilobytes of data stored in the array 12.
- the controller 16 In response to a command from the server 22, the controller 16 sends a SCSI read command through the buses 18 that causes the data at the designated locations in the array 12 to be read out or retrieved and transmitted through the SCSI bus 20 to the corresponding decoder 26.
- Each decoder 26 decodes or decompresses the MPEG encoded digital data to produce analog picture and sound data and applies it to the monitor 28 of the requesting user. In this manner, 0.5 seconds of data for the requested movie is retrieved from the RAID array 12 and shown on the requesting user's monitor 28.
- An average data rate of approximately 375 kilobytes/second per user is required to provide substantially real-time viewing.
- the video server 22 as embodied by a PC class computer is capable of handling a maximum composite data rate (multiplexed data for all users) of approximately 15 megabytes/sec. For a system including 30 users, this translates into an average server throughput data rate of 11.25 megabytes/sec, which is within the maximum capability of the server 22.
- the data rate can exceed 2 megabytes/sec per user for short periods of time. Generally, less data per unit time is required to represent still or slowly changing images, whereas large data rates correspond to rapidly changing images.
- the required data throughput rate for the server 22 is 60 megabytes/sec, which is far in excess of the maximum capability of the server 22.
- a temporal instantaneous digital data rate signature is calculated for each of the data files representing the movies stored in the RAID array 12.
- the signature for a data file is obtained dividing the file into time increments, and determining the number of bits of picture data in each increment. For example, a typical 90 minute movie can be divided into two second increments, and the total number of data bits for each increment can be calculated.
- the signature can be obtained by playing the movie and electronically counting the numbers of bits in each time increment.
- the numbers of bits for each time increment can be more advantageously calculated from data that is available in the MPEG video bitstream.
- each movie consists of individual frames or pictures that are displayed at a rate of, for example 30 pictures per second. At this rate, the pictures are merged together by the human eye and provide the illusion of continuous movement.
- the information in the MPEG video bitstream enables calculation of the number of bits that represent each picture.
- each video sequence consists of a sequence heater, a number of groups of pictures, and a sequence-end code.
- Each group of pictures (identifiable by a group-of- pictures code) contains one or more intracoded pictures (I-frame) .
- the first coded picture in a group of pictures is always an I-frame.
- the MPEG bitstream also includes predicted pictures (P-frames) and bidirectional pictures (B-frames) between consecutive I-frames.
- Each picture in a group of pictures has assigned a temporal reference (picture number in a group of pictures) , and the type of picture can be identified by a picture-coding-type field.
- a group of pictures may be of any length, but it always contains one or more I- frames.
- the distance between I-frames is usually a fixed interval (e.g. every 8 or 15 pictures) , established during the encoding process. Since pictures are displayed at a fixed rate, e.g. 30 pictures/second, the distance between two I-frames is fixed in time (e.g. every 15 frames or 0.5 seconds in time) .
- the number for the corresponding last time increment is calculated from the end of the last I-frame to the end of the last sequence.
- a signature is calculated for each movie and stored in the memory 22a of the server 22.
- the signatures are utilized by the present system 10 to adjust the playing times of the movies to prevent the instantaneous data rate of the server 22 to exceed its capability, in the present example 15 megabytes/sec.
- a composite signature is obtained by summing the individual signatures for each movie that is currently being retrieved and transmitted to the decoders 26. For each time increment, the composite signature will consist of the sum of the numbers of bits for the individual movies in the respective increment.
- the server 22 adds the signature for the additional movie to the current composite signature to obtain a new composite signature.
- the server 22 compares the number of bits for each time increment of the new composite signature with a predetermined maximum data rate criteria, in this case an instantaneous maximum data rate of 15 megabytes/sec.
- the server 22 If none of the numbers in the new composite signature exceed the criteria (the criteria is satisfied) , the server 22 immediately initiates retrieval of the requested movie from the RAID array 12 for transmission to the requesting user.
- the server 22 shifts the signature for the additional movie forward in time by a predetermined time increment of, for example 2 seconds, and recalculates the new composite signature as the sum of the current composite signature and the shifted additional movie signature.
- the server 22 also sends a message to the requesting user that the movie will be delayed for a brief period of time.
- the newly calculated composite signature is again compared with the maximum data rate criteria. If the criteria is satisfied, the server 22 immediately initiates retrieval of the requested movie from the RAID array 12 for transmission to the requesting user.
- the server 22 initiates retrieval of the requested movie from the RAID array 12 for transmission to the requesting user at a time corresponding to the total shift of the signature for the additional movie. In this manner, playing of a requested movie is optimally delayed until it has been determined that the instantaneous maximum data rate of the server 22 will not exceeded. This is accomplished in accordance with the present invention without a buffer memory. It will be noted, however, that the memory 22a can be used to accommodate small data overflows if desired to enhance the operation of the system 10.
- the signature for an additional requested movie is designated as 32, and comprises numbers of megabytes consisting of one or two.
- a new composite signature 34 is obtained by summing the numbers for the corresponding time increments of the signatures 30 and 32. Most of the numbers in the new composite signature 34 are less than 15.
- the number for a time increment 34a in the signature 34 having a value of "16” is obtained by summing corresponding numbers in increments 30a and 32a having values of "14" and “2" in the signatures 30 and 32 respectively.
- a number for an increment 34b in the signature 34 having a value of "16” is obtained by summing corresponding numbers in increments 30b and 32b having values of "14" and "2" in the signatures 30 and 32 respectively.
- the new composite signature 34 does not satisfy the maximum data rate criteria because it comprises two numbers "16" that are higher than the criteria value of "15".
- This situation is alleviated by shifting the signature 32 forward in time by one second (rightwardly as viewed in the drawing) as illustrated in FIG. 5, and re ⁇ calculating the new composite signature as indicated at 36 by summing the current composite signature 30 with the shifted signature 32.
- a time increment 32c in the shifted signature 32 having a numerical value of "1" is now aligned with the increment 30a of the signature 30 such that their sum in the signature has a value of "15".
- a time increment 32d in the signature 32 having a numerical value of "l” is aligned with the increment 30b of the signature 30 such that their sum in the signature has a value of "15”.
- the present invention provides a data storage and retrieval system for a multi-user, on-demand video server system in which the problem of accommodating excessive instantaneous composite data rates is solved in a commercially practical manner. This is accomplished without the necessity of a large and expensive buffer memory.
- Various modifications will become possible for those skilled in the art after receiving the teachings of the present disclosure without departing from the scope thereof.
- the present invention has been described and illustrated as being applied to the storage and retrieval of video and audio data for a multi ⁇ user, on-demand video entertainment system, the invention is not so limited, and can be advantageously applied to the storage and retrieval of other types of data files in, for example, a multi-user computer network having a central file server facility or a CD ROM based digital information storage and retrieval system.
Abstract
Digitally encoded movies are stored in a mass storage unit, Redundant Array of Independent Drives (RAID) (12). A video server (22) retrieves movies requested from users and transmits the encoded data to processors at user locations. The processors decode the received data to produce video pictures displayed on monitors (28). Temporal instantaneous digital data rate signatures for the movies are computed and stored, and a current composite signature (30) is computed by summing the signatures for all movies currently being shown. When an additional movie is requested, the successively time shifted signature (32) for the additional movie is combined with the current composite signature (30) to produce a new composite signature (34). The new composite signature is recalculated with each time shift as required until no part of the combined signature exceeds the maximum data rate capability of the server. Retrieval and showing of the additional movie is initiated at the time corresponding to the total time shift.
Description
VIDEO RETRIEVAL SYSTEM OPTIMIZED BY SIGNATURE COMPUTATION
BACKGROUND OF THE INVENTION Field of the Invention
The present invention generally relates to the art of multi-user, on-demand video entertainment systems, and more specifically to a video data storage and retrieval system including a video signature computation arrangement for preventing an excessive instantaneous server data rate.
Description of the Related Art
User-on-demand, also known as pay-per-view, video entertainment systems are becoming increasingly popular in motel and hotel facilities as well as in larger scale community cable television (CATV) systems.
Such a system includes a video server located at a central location that stores a plurality of movies that can be selected for viewing by one or more users at any desired time. The video server is connected to television receivers or monitors at the individual user locations by a cable or other network.
Each user is provided with means for requesting that a selected movie be retrieved from the server and shown on his or her television receiver in an on-demand, pay-per-view basis. In a small scale system such as installed in a motel or hotel, an interactive remote control unit can be provided for each television receiver by which the user can request a movie using a menu system displayed on the television screen. In a large scale system such as a community cable television network, the user can call the cable company by telephone to request
that the movie transmitted to his home receiver.
A known video server system comprises a mass storage unit in the form of a Redundant Array of Inexpensive Drives (RAID) disk drive array. Data access to and from the individual drives of the RAID array is controlled by a master controller. A plurality of movies are stored on the array in a distributed or "striped" manner such that any movie can be viewed by more than one user, or even by all users simultaneously starting at different times. The RAID arrangement is further advantageous in that it balances the usage load over the disk drives.
The basic RAID configuration, including a description of distributed storage of data, is disclosed in U.S. Patent No. 4,870,643, entitled "PARALLEL DRIVE ARRAY STORAGE SYSTEM", issued Sept. 26, 1989 to David Bultman et al, and an improved arrangement is disclosed in my prior U.S. Patent No. 5,191,584, entitled "MASS STORAGE ARRAY WITH EFFICIENT PARITY CALCULATION", issued March 2, 1993. Both of these patents are assigned to the Micropolis Corporation of Chatsworth, CA, the assignee of the present invention.
The video and audio movie data and control functions are processed by a server, which is typically a conventional personal computer (PC) . Movie requests from the remote control units (or by telephone) are sent to the PC server.
In response to a movie request, the server sends a command to the RAID array to retrieve the data corresponding to the requested movie from the disk drives. The data is read out of the array and fed back through the server to a decoder array which converts the data into an audio/visual channel and feeds it to the requesting user. In order to enable more than one user to view a movie simultaneously, data is retrieved from the array in small time multiplexed blocks.
An average data rate of approximately 375 kilobytes/second per user is required to provide
substantially real-time viewing. A video server as embodied by a PC class computer is capable of handling a maximum composite data rate (multiplexed data for all users) of approximately 15 megabytes/sec. For a system including 30 users, this translates into an average server composite data rate of 11.25 megabytes/sec, which is within the maximum capability of the server.
However, depending upon the instantaneous picture content and thereby the degree of compression of the data, the data rate can exceed 2 megabytes/sec per user for short periods of time. Generally, less data per unit time is required to represent still or slowly changing images, whereas large data rates correspond to rapidly changing images. In the worst case scenario in which the data rates for all 30 users are instantaneously 2 megabytes/sec, the composite data rate is 60 megabytes/sec, which is far in excess of the maximum capability of the server.
The obvious approach to solving this problem is to provide a buffer memory to temporarily store the excess data until it can be processed by the server. For example, in a 30 user system that is required to sustain a 2 megabyte/second per user data rate for 10 seconds, the capacity of a buffer memory that would be capable of handling this overflow would be equal to (60 - 15) megabytes/sec x 10 seconds - 450 megabytes.
A buffer having a capacity of 450 megabytes is disproportionately large and prohibitively expensive for a small commercial application such as a video entertainment system for a motel. The problem of accommodating excessive instantaneous composite data rates in a commercially practical PC server system has therefore remained unsolved.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a multi-user, on-demand video server system in which the
problem of accommodating excessive instantaneous composite data rates is solved in a commercially practical manner. This is accomplished without the necessity of a large and expensive buffer memory. In accordance with the present invention, a plurality of movies are distributively stored in digitally encoded form on a mass storage unit such as a Redundant Array of Inexpensive Drives (RAID) disk drive array such that they can be viewed on demand by multiple users. The movies are preferably encoded in Motion Picture Experts Group (MPEG) format.
A video server receives movie requests from users, and retrieves and transmits the requested movie data from the RAID array to processors at the respective user locations. The processors decode the retrieved data to produce video picture and audio information and display the corresponding movies on monitors.
Temporal instantaneous digital data rate signatures for the movies are computed and stored, and a current composite signature is computed by summing the signatures for all movies currently being shown. When an additional movie is requested, the signature for the additional movie is combined with the current composite signature to produce a new composite signature. If any part of the new composite signature exceeds the maximum data rate capability of the server, the signature for the movie is shifted forward in time by a predetermined increment, and again combined with the current composite signature to produce a recalculated new composite signature.
This is repeated as required until a new composite signature is obtained with no part thereof exceeding the maximum data rate capability of the server, and retrieval and showing of the additional movie is initiated at time corresponding to the total time shift.
The above and other objects, features and advantages of the present invention will become apparent to those
skilled in the art from the following detailed description taken with the accompanying drawings, in which like reference numerals refer to like parts.
DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a data storage and retrieval system for a multi-user, on-demand video/audio server according to the present invention;
FIG. 2 is a graph illustrating the instantaneous digital data rate as a function of time for one user viewing a single movie that is retrieved using the system of FIG. 1;
FIG. 3 is a graph illustrating the instantaneous composite digital data rate for all users of the system viewing movies simultaneously as limited to within the capability of a PC server of the system in accordance with the present invention;
FIG. 4 is a diagram illustrating an initial video data rate signature calculation that is performed in response to a request for an additional movie by a user that results in a computed composite data rate that is beyond the capability of the server; and
FIG. 5 is similar to FIG. 4, but illustrates a re-calculation that results in limitation of the composite data rate to within the capability of the server.
DETAILED DESCRIPTION OF THE INVENTION
A data storage and retrieval system 10 for a multi¬ user, on-demand video/audio server according to the present invention is illustrated in FIG. 1. The system 10 comprises a mass storage which is preferably constituted by a Redundant Array of Inexpensive Drives (RAID) array 12 including, for example, ten individual disk drives 14 that are controlled synchronously by a master RAID controller 16.
Each disk drive 14, although not explicitly illustrated, includes a Small Computer System Interface
(SCSI) input-output (I/O) interface for connection of the respective disk drive 14 to the controller 16 via four wide (16 bit) SCSI data buses 18 that each support a data rate of approximately 10 megabytes/second. The controller 16 is connected by a 20 megabyte/sec SCSI bus 20 to a PC server 22 that is typically constituted by a personal computer (PC) . The server 22 is provided with a memory 22a that can be used to handle small data overflows. The system 10 further comprises a plurality of processors in the form of decoders 26 that are provided at the user locations and are connected to the controller 16 and the server 22 by the SCSI bus 20. Each decoder 26 has at least one output that is connected television receiver or monitor 28 for an individual user. The monitors 28 can be provided in individual rooms of a motel or hotel facility, or in the homes of individual customers. A typical system for a small motel will include four decoders 26 having outputs that are distributively connected to thirty monitors 28.
A plurality of movies are distributively stored on the RAID array 12 such that any movie can be retrieved and viewed by any user at any time. This is made possible by the manner in which the movie data is stored on the array 12.
More specifically, data elements or bytes of movie video and audio data are stored across the drives 14 of the array 12 in a "striped" arrangement. Each stripe comprises a plurality of successive data bytes that are stored in the same numerical location in the drives 14 respectively. One of the drives 14 is preferably used to store a parity byte for each stripe such that the data for a drive that has malfunctioned or is temporarily removed from service can be reconstructed to provide interrupted operation. The distributed data storage arrangement using a RAID array is described in more detail in the above referenced U.S. patents.
Each user is typically provided with an interactive remote control unit (not shown) for requesting a movie from a menu displayed on the user's monitor 28. The remote control units cause signals or commands designating requested movies to be sent to the PC server 22.
The PC server 22 stores information designating the specific locations in the array 12 in which each movie is stored. In response to a movie request, the PC server 22 generates a list of all of the locations for the requested movie, and sends SCSI commands to the controller 16 through the SCSI bus 20 that designates the locations in the array 12 from which the movie data is to be retrieved.
More specifically, the server 22 sends successive commands to the controller 16 designating the locations of successive blocks of data for the requested movie in the array 12. Typically, each command will contain the locations of data corresponding to 0.5 seconds of viewing time for the movie. Assuming a data rate of 375 kilobytes/second, a 0.5 second block of data will correspond to 187.5 kilobytes of data stored in the array 12.
In response to a command from the server 22, the controller 16 sends a SCSI read command through the buses 18 that causes the data at the designated locations in the array 12 to be read out or retrieved and transmitted through the SCSI bus 20 to the corresponding decoder 26.
Each decoder 26 decodes or decompresses the MPEG encoded digital data to produce analog picture and sound data and applies it to the monitor 28 of the requesting user. In this manner, 0.5 seconds of data for the requested movie is retrieved from the RAID array 12 and shown on the requesting user's monitor 28.
An average data rate of approximately 375 kilobytes/second per user is required to provide substantially real-time viewing. The video server 22 as embodied by a PC class computer is capable of handling a maximum composite data rate (multiplexed data for all
users) of approximately 15 megabytes/sec. For a system including 30 users, this translates into an average server throughput data rate of 11.25 megabytes/sec, which is within the maximum capability of the server 22. However, as illustrated in FIG. 2, depending upon the instantaneous picture content and thereby the degree of compression of the data, the data rate can exceed 2 megabytes/sec per user for short periods of time. Generally, less data per unit time is required to represent still or slowly changing images, whereas large data rates correspond to rapidly changing images.
In the worst case scenario in which the data rates for all 30 users are instantaneously 2 megabytes/sec, the required data throughput rate for the server 22 is 60 megabytes/sec, which is far in excess of the maximum capability of the server 22.
This problem is solved in accordance with the present invention such that the composite instantaneous digital data rate for all of the users is limited to below 15 megabytes/sec as illustrated in FIG. 3. This is accomplished without the provision of a large and expensive buffer memory.
In accordance with the present method, a temporal instantaneous digital data rate signature is calculated for each of the data files representing the movies stored in the RAID array 12. The signature for a data file is obtained dividing the file into time increments, and determining the number of bits of picture data in each increment. For example, a typical 90 minute movie can be divided into two second increments, and the total number of data bits for each increment can be calculated.
In this manner, one number of bits is provided for each time increment such that the signature for a 90 minute movie will consist of 90 in x 60 sec/min + 2 sec = 2,700 numbers. If a user is viewing a movie at the average instantaneous data rate of 375 kilobytes/sec and each byte consists of 8 bits, the bit rate/sec is 375
kilobytes/sec x 16 bits/byte = 3 megabits/sec. The number of bits in the corresponding two second time increment will be 375 kilobytes/sec x 2 sec x 8 bits/byte = 6 megabits. As another example, if a 0.5 second increment is selected, the signature for a 90 minute movie will consist of 90 min x 60 sec/min ÷ 0.5 sec = 10,800 numbers, and the number of bits for a data rate of 375 kilobytes/sec will be 375 kilobytes/sec x 0.5 sec x 8 bits/byte = 1.5 megabits.
The signature can be obtained by playing the movie and electronically counting the numbers of bits in each time increment. However, the numbers of bits for each time increment can be more advantageously calculated from data that is available in the MPEG video bitstream.
More specifically, each movie consists of individual frames or pictures that are displayed at a rate of, for example 30 pictures per second. At this rate, the pictures are merged together by the human eye and provide the illusion of continuous movement. The information in the MPEG video bitstream enables calculation of the number of bits that represent each picture.
In an MPEG bitstream, each video sequence consists of a sequence heater, a number of groups of pictures, and a sequence-end code.
Each group of pictures (identifiable by a group-of- pictures code) contains one or more intracoded pictures (I-frame) . The first coded picture in a group of pictures is always an I-frame. The MPEG bitstream also includes predicted pictures (P-frames) and bidirectional pictures (B-frames) between consecutive I-frames.
Each picture in a group of pictures has assigned a temporal reference (picture number in a group of pictures) , and the type of picture can be identified by a picture-coding-type field. A group of pictures may be of any length, but it always contains one or more I- frames.
The distance between I-frames is usually a fixed interval (e.g. every 8 or 15 pictures) , established during the encoding process. Since pictures are displayed at a fixed rate, e.g. 30 pictures/second, the distance between two I-frames is fixed in time (e.g. every 15 frames or 0.5 seconds in time) .
Although the present invention is not so limited, the data signature is preferably derived by counting the number of bytes between the picture-coding-type fields for consecutive I-frames. For example, at the average data rate of 375 kilobytes/second, there will be 375 kilobytes/second x 0.5 seconds = 187.5 kilobytes of data between two consecutive I-frames. The signature number for a corresponding 0.5 second time increment is 187.5 kilobytes x 8 bits/byte = 1.5 megabits.
For the last few pictures of the movie following the last I-frame, the number for the corresponding last time increment is calculated from the end of the last I-frame to the end of the last sequence. In this manner, a signature is calculated for each movie and stored in the memory 22a of the server 22. The signatures are utilized by the present system 10 to adjust the playing times of the movies to prevent the instantaneous data rate of the server 22 to exceed its capability, in the present example 15 megabytes/sec.
More specifically, a composite signature is obtained by summing the individual signatures for each movie that is currently being retrieved and transmitted to the decoders 26. For each time increment, the composite signature will consist of the sum of the numbers of bits for the individual movies in the respective increment.
When an additional movie is requested by a user, the server 22 adds the signature for the additional movie to the current composite signature to obtain a new composite signature. The server 22 then compares the number of bits for each time increment of the new composite signature with a predetermined maximum data rate criteria, in this
case an instantaneous maximum data rate of 15 megabytes/sec.
If none of the numbers in the new composite signature exceed the criteria (the criteria is satisfied) , the server 22 immediately initiates retrieval of the requested movie from the RAID array 12 for transmission to the requesting user.
If, however, any of the numbers in the new composite signature exceed the criteria (the criteria is not satisfied) , the server 22 shifts the signature for the additional movie forward in time by a predetermined time increment of, for example 2 seconds, and recalculates the new composite signature as the sum of the current composite signature and the shifted additional movie signature. The server 22 also sends a message to the requesting user that the movie will be delayed for a brief period of time.
The newly calculated composite signature is again compared with the maximum data rate criteria. If the criteria is satisfied, the server 22 immediately initiates retrieval of the requested movie from the RAID array 12 for transmission to the requesting user.
If, however, the criteria is not satisfied, the server
22 shifts the signature for the additional movie forward in time by an additional time increment, and again recalculates the new composite signature as the sum of the current composite signature and the shifted additional movie signature.
This operation is repeated until a new composite signature is obtained which satisfies the maximum data rate criteria. The server 22 initiates retrieval of the requested movie from the RAID array 12 for transmission to the requesting user at a time corresponding to the total shift of the signature for the additional movie. In this manner, playing of a requested movie is optimally delayed until it has been determined that the instantaneous maximum data rate of the server 22 will not
exceeded. This is accomplished in accordance with the present invention without a buffer memory. It will be noted, however, that the memory 22a can be used to accommodate small data overflows if desired to enhance the operation of the system 10.
Calculation and re-calculation of the new composite signature is illustrated in the form of a greatly simplified example in FIGs. 4 and 5. In FIG. 4, a current composite signature 30 comprises numbers of megabytes (one byte = 16 bits) for fifteen time increments of one second each. The numbers range from a low of 7 megabytes to a high of 14 megabytes. The entire composite signature 30 satisfies the maximum data rate criteria since none of the numbers exceed 15 megabytes. The signature for an additional requested movie is designated as 32, and comprises numbers of megabytes consisting of one or two. A new composite signature 34 is obtained by summing the numbers for the corresponding time increments of the signatures 30 and 32. Most of the numbers in the new composite signature 34 are less than 15. However, the number for a time increment 34a in the signature 34 having a value of "16" is obtained by summing corresponding numbers in increments 30a and 32a having values of "14" and "2" in the signatures 30 and 32 respectively. Similarly, a number for an increment 34b in the signature 34 having a value of "16" is obtained by summing corresponding numbers in increments 30b and 32b having values of "14" and "2" in the signatures 30 and 32 respectively. The new composite signature 34 does not satisfy the maximum data rate criteria because it comprises two numbers "16" that are higher than the criteria value of "15".
This situation is alleviated by shifting the signature 32 forward in time by one second (rightwardly as viewed in the drawing) as illustrated in FIG. 5, and re¬ calculating the new composite signature as indicated at
36 by summing the current composite signature 30 with the shifted signature 32.
A time increment 32c in the shifted signature 32 having a numerical value of "1" is now aligned with the increment 30a of the signature 30 such that their sum in the signature has a value of "15". Similarly, a time increment 32d in the signature 32 having a numerical value of "l" is aligned with the increment 30b of the signature 30 such that their sum in the signature has a value of "15".
None of the numbers in the signature 36 exceed the maximum data rate criteria of "15". In this manner, initiation of playing the movie having the signature 32 is delayed by one time increment (in the illustrated simplified example one second) , and the data rate capability of the server 22 is not exceeded at any time during the retrieval of all of the movies.
In summary, the present invention provides a data storage and retrieval system for a multi-user, on-demand video server system in which the problem of accommodating excessive instantaneous composite data rates is solved in a commercially practical manner. This is accomplished without the necessity of a large and expensive buffer memory. Various modifications will become possible for those skilled in the art after receiving the teachings of the present disclosure without departing from the scope thereof. For example, although the present invention has been described and illustrated as being applied to the storage and retrieval of video and audio data for a multi¬ user, on-demand video entertainment system, the invention is not so limited, and can be advantageously applied to the storage and retrieval of other types of data files in, for example, a multi-user computer network having a central file server facility or a CD ROM based digital information storage and retrieval system.
Claims
1. A data storage and retrieval system, comprising: a storage for storing a plurality of digital data files; a plurality of processors for concurrently processing data files transmitted thereto from the storage; a server for concurrently retrieving selected data files from the storage and transmitting said selected data files to selected processors respectively; a memory for storing temporal instantaneous digital data rate signatures for said data files; and a computer that is programmed to perform the steps of:
(a) computing a current composite signature by summing said signatures for said selected data files respectively;
(b) when an additional data file is selected for retrieval and transmittal, computing a new composite signature by summing a new signature constituted by said signature for said additional data file with said current composite signature;
(c) comparing said new composite signature with a predetermined maximum data rate criteria;
(d) if said new composite signature satisfies said criteria, controlling the server to retrieve and transmit said additional data file; and
(e) if said new composite signature does not satisfy said criteria, computing a shifted signature by temporally shifting said new signature forward by a predetermined time increment, re-computing said new composite signature by summing said shifted signature with said current composite signature and jumping to step (c) .
2. A system as in claim 1, in which the storage stores each of said data files as comprising a plurality of digitally encoded pictures.
3. A system as in claim 2, in which: said pictures are encoded as comprising numbers of picture bits that vary in accordance with video contents of said pictures; and the memory stores said signatures as comprising a predetermined function of said numbers of picture bits for said pictures respectively.
4. A system as in claim 3, in which the memory stores said signatures such that said predetermined function comprises numbers of picture bits for predetermined time increments respectively.
5. A system as in claim 4, in which said criteria comprises a predetermined maximum value of said numbers of picture bits for said predetermined time increments respectively.
6. A system as in claim 5, in which: said criteria is satisfied if none of said numbers of picture bits for said predetermined time increments exceeds said maximum value; and said criteria is not satisfied if any of said numbers of picture bits for said predetermined time increments exceeds said maximum value.
7. A system as in claim 6, in which said maximum value corresponds to a maximum data throughput rate of the server.
8. A system as in claim 1, in which said criteria comprises a maximum data throughput rate of the server.
9. A system as in claim l, in which: the storage stores said data files as movies comprising pluralities of digitally encoded pictures respectively; and each processor comprises a decoder for decoding said movies and a monitor for displaying said decoded movies.
10. A system as in claim 9, in which the storage comprises a Redundant Array of Inexpensive Drives (RAID) disk drive array that distributively stores said movies.
11. A data storage and retrieval method, comprising the steps of:
(a) storing a plurality of digital data files in a storage;
(b) concurrently retrieving selected data files from the storage and transmitting said selected data files to selected processors respectively;
(c) storing temporal instantaneous digital data rate signatures for said data files;
(d) computing a current composite signature by summing said signatures for said selected data files respectively;
(e) when an additional data file is selected for retrieval and transmittal, computing a new composite signature by summing a new signature constituted by said signature for said additional data file with said current composite signature;
(f) comparing said new composite signature with a predetermined maximum data rate criteria;
(g) if said new composite signature satisfies said criteria, controlling the server to retrieve and transmit said additional data file; and
(h) if said new composite signature does not satisfy said criteria, computing a shifted signature by temporally shifting said new signature forward by a predetermined time increment, re-computing said new composite signature by summing said shifted signature with said current composite signature and jumping to step (f) .
12. A method as in claim 11, in which step (a) comprises storing each of said data files as comprising a plurality of digitally encoded pictures.
13. A method as in claim 12, in which: said pictures are encoded as comprising numbers of picture bits that vary in accordance with video contents of said pictures respectively; and step (c) comprises storing said signatures as comprising a predetermined function of said numbers of picture bits for said pictures respectively.
14. A method as in claim 13, in which step (c) comprises storing said signatures such that said predetermined function comprises numbers of picture bits for predetermined time increments respectively.
15. A method as in claim 14, in which said criteria comprises a predetermined maximum value of said numbers of picture bits for said predetermined time increments respectively.
16. A method as in claim 15, in which: step (g) comprises determining that said criteria is satisfied if none of said numbers of picture bits for said predetermined time increments exceeds said maximum value; and step (h) comprises determining that said criteria is not satisfied if any of said numbers of picture bits for said predetermined time increments exceeds said maximum value.
17. A method as in claim 16, in which said maximum value in steps (g) and (h) corresponds to a predetermined maximum data throughput rate.
18. A method as in claim 11, in which said criteria in steps (g) and (h) comprises a predetermined maximum data throughput rate.
19. A method as in claim 11, in which: step (a) comprises storing said data files as movies comprising pluralities of digitally encoded pictures respectively; and step (b) further comprises decoding and displaying said movies.
20. A method as in claim 19, in which step (a) comprises distributively storing said movies on said storage as comprising a Redundant Array of Inexpensive Drives (RAID) disk drive array.
21. A multi-user, on-demand video server system, comprising: a Redundant Array of Inexpensive Drives (RAID) disk drive array for distributively storing a plurality of digitally encoded movies; a plurality of decoders for concurrently decoding movies transmitted thereto from the array for display on video monitors respectively; a PC server for concurrently retrieving selected movies from the array and transmitting said selected movies to selected decoders respectively; a memory for storing temporal instantaneous digital data rate signatures for said movies; and a computer that is programmed to perform the steps of:
(a) computing a current composite signature by summing said signatures for said selected movies respectively;
(b) when an additional movie is selected for retrieval and transmittal, computing a new composite signature by summing a new signature constituted by said signature for said additional movie with said current composite signature;
(c) comparing said new composite signature with a predetermined maximum data rate criteria;
(d) if said new composite signature satisfies said criteria, controlling the PC server to retrieve and transmit said additional data file; and
(e) if said new composite signature does not satisfy said criteria, computing a shifted signature by temporally shifting said new signature forward by a predetermined time increment, re-computing said new composite signature by summing said shifted signature with said current composite signature and jumping to step (c) .
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/299,829 US5519435A (en) | 1994-09-01 | 1994-09-01 | Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate |
US299,829 | 1994-09-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1996007272A1 true WO1996007272A1 (en) | 1996-03-07 |
Family
ID=23156472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1995/010972 WO1996007272A1 (en) | 1994-09-01 | 1995-08-30 | Video retrieval system optimized by signature computation |
Country Status (2)
Country | Link |
---|---|
US (1) | US5519435A (en) |
WO (1) | WO1996007272A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2338869A (en) * | 1998-05-21 | 1999-12-29 | Nds Ltd | Attaching signature to video/audio data |
Families Citing this family (131)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3460291B2 (en) * | 1994-01-28 | 2003-10-27 | ソニー株式会社 | Signal storage and supply method and apparatus |
US5544327A (en) * | 1994-03-01 | 1996-08-06 | International Business Machines Corporation | Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied |
US5754773A (en) * | 1994-06-16 | 1998-05-19 | Lucent Technologies, Inc. | Multimedia on-demand server having different transfer rates |
US5884028A (en) * | 1994-07-29 | 1999-03-16 | International Business Machines Corporation | System for the management of multiple time-critical data streams |
US7188352B2 (en) | 1995-07-11 | 2007-03-06 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
US7424731B1 (en) | 1994-10-12 | 2008-09-09 | Touchtunes Music Corporation | Home digital audiovisual information recording and playback system |
US8661477B2 (en) | 1994-10-12 | 2014-02-25 | Touchtunes Music Corporation | System for distributing and selecting audio and video information and method implemented by said system |
DK0786121T3 (en) | 1994-10-12 | 2000-07-03 | Touchtunes Music Corp | Digital, intelligent audio-visual reproduction system |
US6181867B1 (en) | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US5678061A (en) * | 1995-07-19 | 1997-10-14 | Lucent Technologies Inc. | Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks |
US5974502A (en) * | 1995-10-27 | 1999-10-26 | Lsi Logic Corporation | Apparatus and method for analyzing and modifying data transfer reguests in a raid system |
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 |
US5948062A (en) * | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
US6061504A (en) * | 1995-10-27 | 2000-05-09 | Emc Corporation | Video file server using an integrated cached disk array and stream server computers |
US5829046A (en) * | 1995-10-27 | 1998-10-27 | Emc Corporation | On-line tape backup using an integrated cached disk array |
JP2914261B2 (en) * | 1995-12-20 | 1999-06-28 | 富士ゼロックス株式会社 | External storage control device and external storage device control method |
US6018765A (en) * | 1996-01-23 | 2000-01-25 | Storage Concepts, Inc. | Multi-channel multimedia data server |
IL117133A (en) | 1996-02-14 | 1999-07-14 | Olivr Corp Ltd | Method and system for providing on-line virtual reality movies |
US5928327A (en) * | 1996-08-08 | 1999-07-27 | Wang; Pong-Sheng | System and process for delivering digital data on demand |
US5944789A (en) * | 1996-08-14 | 1999-08-31 | Emc Corporation | Network file server maintaining local caches of file directory information in data mover computers |
JPH1069358A (en) * | 1996-08-28 | 1998-03-10 | Mitsubishi Electric Corp | Data arranging device |
JPH1091360A (en) * | 1996-09-12 | 1998-04-10 | Fujitsu Ltd | Disk control system |
FR2753868A1 (en) | 1996-09-25 | 1998-03-27 | Technical Maintenance Corp | METHOD FOR SELECTING A RECORDING ON AN AUDIOVISUAL DIGITAL REPRODUCTION SYSTEM AND SYSTEM FOR IMPLEMENTING THE METHOD |
US5935206A (en) * | 1996-12-13 | 1999-08-10 | International Business Machines Corporation | Automatic replication of digital video as needed for video-on-demand |
US5905942A (en) * | 1997-02-18 | 1999-05-18 | Lodgenet Entertainment Corporation | Multiple dwelling unit interactive audio/video distribution system |
US5974503A (en) * | 1997-04-25 | 1999-10-26 | Emc Corporation | Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names |
US5987621A (en) * | 1997-04-25 | 1999-11-16 | Emc Corporation | Hardware and software failover services for a file server |
US5968120A (en) * | 1997-05-02 | 1999-10-19 | Olivr Corporation Ltd. | Method and system for providing on-line interactivity over a server-client network |
US6535878B1 (en) * | 1997-05-02 | 2003-03-18 | Roxio, Inc. | Method and system for providing on-line interactivity over a server-client network |
US5916303A (en) * | 1997-05-21 | 1999-06-29 | International Business Machines Corporation | Optimal movie distribution on video servers in an n-level interactive TV system |
US5991894A (en) * | 1997-06-06 | 1999-11-23 | The Chinese University Of Hong Kong | Progressive redundancy transmission |
FR2769165B1 (en) | 1997-09-26 | 2002-11-29 | Technical Maintenance Corp | WIRELESS SYSTEM WITH DIGITAL TRANSMISSION FOR SPEAKERS |
US6088766A (en) * | 1997-10-06 | 2000-07-11 | Emc Corporation | Method for exchanging data blocks on disk storage devices utilizing disk access statistics and testing for the effect of a change |
US6061761A (en) * | 1997-10-06 | 2000-05-09 | Emc Corporation | Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing |
US5996015A (en) * | 1997-10-31 | 1999-11-30 | International Business Machines Corporation | Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory |
US6185598B1 (en) * | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US8060613B2 (en) * | 1998-02-10 | 2011-11-15 | Level 3 Communications, Llc | Resource invalidation in a content delivery network |
US7054935B2 (en) | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
US6167496A (en) * | 1998-02-18 | 2000-12-26 | Storage Technology Corporation | Data stream optimization system for video on demand |
US8813137B2 (en) * | 1998-05-08 | 2014-08-19 | Qualcomm Incorporated | Apparatus and method for decoding digital image and audio signals |
US6141530A (en) * | 1998-06-15 | 2000-10-31 | Digital Electronic Cinema, Inc. | System and method for digital electronic cinema delivery |
FR2781582B1 (en) | 1998-07-21 | 2001-01-12 | Technical Maintenance Corp | SYSTEM FOR DOWNLOADING OBJECTS OR FILES FOR SOFTWARE UPDATE |
US8028318B2 (en) | 1999-07-21 | 2011-09-27 | Touchtunes Music Corporation | Remote control unit for activating and deactivating means for payment and for displaying payment status |
FR2781591B1 (en) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | AUDIOVISUAL REPRODUCTION SYSTEM |
FR2781580B1 (en) | 1998-07-22 | 2000-09-22 | Technical Maintenance Corp | SOUND CONTROL CIRCUIT FOR INTELLIGENT DIGITAL AUDIOVISUAL REPRODUCTION SYSTEM |
US6269431B1 (en) | 1998-08-13 | 2001-07-31 | Emc Corporation | Virtual storage and block level direct access of secondary storage for recovery of backup data |
US6366987B1 (en) | 1998-08-13 | 2002-04-02 | Emc Corporation | Computer data storage physical backup and logical restore |
US6353878B1 (en) | 1998-08-13 | 2002-03-05 | Emc Corporation | Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem |
US7000243B1 (en) | 1998-12-31 | 2006-02-14 | Oncommand Corporation | Allocating computer resources within a video distribution system |
US7444663B2 (en) | 1998-12-31 | 2008-10-28 | Lodgenet Interactive Corporation | Menuing system for controlling content delivery within a video distribution system |
US20020048224A1 (en) * | 1999-01-05 | 2002-04-25 | Dygert Timothy W. | Playback device having text display and communication with remote database of titles |
US8726330B2 (en) | 1999-02-22 | 2014-05-13 | Touchtunes Music Corporation | Intelligent digital audiovisual playback system |
US6438450B1 (en) * | 1999-04-14 | 2002-08-20 | Dilorenzo Mark | Multi-room entertainment system with in-room media player |
US7784079B1 (en) * | 1999-05-04 | 2010-08-24 | Unisys Corporation | Video on demand transaction server |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6341375B1 (en) | 1999-07-14 | 2002-01-22 | Lsi Logic Corporation | Video on demand DVD system |
FR2796482B1 (en) | 1999-07-16 | 2002-09-06 | Touchtunes Music Corp | REMOTE MANAGEMENT SYSTEM FOR AT LEAST ONE AUDIOVISUAL INFORMATION REPRODUCING DEVICE |
US6499083B1 (en) | 1999-09-15 | 2002-12-24 | Western Digital Ventures, Inc. | Disk-based storage system responsive to a direction-selection signal for autonomously controlling seeks in a sequence determined by the direction-selection signal and a locally-stored doubly linked list |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
FR2805377B1 (en) | 2000-02-23 | 2003-09-12 | Touchtunes Music Corp | EARLY ORDERING PROCESS FOR A SELECTION, DIGITAL SYSTEM AND JUKE-BOX FOR IMPLEMENTING THE METHOD |
FR2805060B1 (en) | 2000-02-16 | 2005-04-08 | Touchtunes Music Corp | METHOD FOR RECEIVING FILES DURING DOWNLOAD |
FR2805072B1 (en) | 2000-02-16 | 2002-04-05 | Touchtunes Music Corp | METHOD FOR ADJUSTING THE SOUND VOLUME OF A DIGITAL SOUND RECORDING |
US6687846B1 (en) | 2000-03-30 | 2004-02-03 | Intel Corporation | System and method for error handling and recovery |
FR2808906B1 (en) | 2000-05-10 | 2005-02-11 | Touchtunes Music Corp | DEVICE AND METHOD FOR REMOTELY MANAGING A NETWORK OF AUDIOVISUAL INFORMATION REPRODUCTION SYSTEMS |
FR2811175B1 (en) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | AUDIOVISUAL INFORMATION DISTRIBUTION METHOD AND AUDIOVISUAL INFORMATION DISTRIBUTION SYSTEM |
FR2811114B1 (en) | 2000-06-29 | 2002-12-27 | Touchtunes Music Corp | DEVICE AND METHOD FOR COMMUNICATION BETWEEN A SYSTEM FOR REPRODUCING AUDIOVISUAL INFORMATION AND AN ELECTRONIC ENTERTAINMENT MACHINE |
US7318107B1 (en) | 2000-06-30 | 2008-01-08 | Intel Corporation | System and method for automatic stream fail-over |
US7020709B1 (en) | 2000-06-30 | 2006-03-28 | Intel Corporation | System and method for fault tolerant stream splitting |
EP2136306B1 (en) | 2000-08-23 | 2013-03-20 | Gracenote, Inc. | Method and system for obtaining information |
FR2814085B1 (en) | 2000-09-15 | 2005-02-11 | Touchtunes Music Corp | ENTERTAINMENT METHOD BASED ON MULTIPLE CHOICE COMPETITION GAMES |
IL155355A0 (en) | 2000-10-17 | 2003-11-23 | Routescience Technologies Inc | Method and apparatus for performance and cost optimization in an internetwork |
US7080161B2 (en) * | 2000-10-17 | 2006-07-18 | Avaya Technology Corp. | Routing information exchange |
US7756032B2 (en) * | 2000-10-17 | 2010-07-13 | Avaya Inc. | Method and apparatus for communicating data within measurement traffic |
US8023421B2 (en) | 2002-07-25 | 2011-09-20 | Avaya Inc. | Method and apparatus for the assessment and optimization of network traffic |
US7363367B2 (en) * | 2000-10-17 | 2008-04-22 | Avaya Technology Corp. | Systems and methods for robust, real-time measurement of network performance |
US7720959B2 (en) | 2000-10-17 | 2010-05-18 | Avaya Inc. | Method and apparatus for characterizing the quality of a network path |
US7336613B2 (en) * | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
US7349994B2 (en) | 2000-10-17 | 2008-03-25 | Avaya Technology Corp. | Method and apparatus for coordinating routing parameters via a back-channel communication medium |
US7406539B2 (en) * | 2000-10-17 | 2008-07-29 | Avaya Technology Corp. | Method and apparatus for performance and cost optimization in an internetwork |
US7487237B2 (en) * | 2000-10-17 | 2009-02-03 | Avaya Technology Corp. | Load optimization |
US6876901B2 (en) * | 2000-11-28 | 2005-04-05 | Dilorenzo Mark | Electronic media distribution system with media purchase interface |
US6651141B2 (en) | 2000-12-29 | 2003-11-18 | Intel Corporation | System and method for populating cache servers with popular media contents |
US6654827B2 (en) * | 2000-12-29 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Portable computer system with an operating system-independent digital data player |
DE60228202D1 (en) | 2001-02-12 | 2008-09-25 | Gracenote Inc | METHOD FOR GENERATING AN IDENTIFICATION HASH FROM THE CONTENTS OF A MULTIMEDIA FILE |
KR100522591B1 (en) * | 2001-07-07 | 2005-10-19 | 삼성전자주식회사 | Method to securely manage information in database |
US8166510B1 (en) * | 2001-07-17 | 2012-04-24 | Vixs Systems, Inc. | Method and apparatus for distributing video on demand loading |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
JP4160506B2 (en) | 2001-09-28 | 2008-10-01 | レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. | Configurable adaptive wide area traffic control and management |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
US6971042B2 (en) * | 2002-04-18 | 2005-11-29 | Huge Systems, Inc. | Media server with single chip storage controller |
US8332895B2 (en) | 2002-09-16 | 2012-12-11 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8151304B2 (en) | 2002-09-16 | 2012-04-03 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US8584175B2 (en) | 2002-09-16 | 2013-11-12 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US10373420B2 (en) | 2002-09-16 | 2019-08-06 | Touchtunes Music Corporation | Digital downloading jukebox with enhanced communication features |
US8103589B2 (en) | 2002-09-16 | 2012-01-24 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US9646339B2 (en) | 2002-09-16 | 2017-05-09 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US11029823B2 (en) | 2002-09-16 | 2021-06-08 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US7822687B2 (en) | 2002-09-16 | 2010-10-26 | Francois Brillon | Jukebox with customizable avatar |
US20040153787A1 (en) * | 2002-10-11 | 2004-08-05 | Eric Zucker | Process for managing messages between a set of decoders and a system of conditional access control |
US20050034151A1 (en) * | 2003-08-08 | 2005-02-10 | Maven Networks, Inc. | System and method of integrating video content with interactive elements |
AU2005269726B2 (en) * | 2004-07-22 | 2010-09-30 | Akoo International, Inc. | Apparatus and method for interactive content requests in a networked computer jukebox |
US7797719B2 (en) * | 2004-07-22 | 2010-09-14 | Akoo International, Inc. | Apparatus and method for interactive digital media content requests |
CA2549577A1 (en) * | 2004-09-09 | 2006-03-16 | Avaya Technology Corp. | Methods of and systems for network traffic security |
US7882140B1 (en) | 2004-12-03 | 2011-02-01 | Hotel Digital Network Inc. | System and method for inserting secondary content into programmed primary content |
DE102005010690B4 (en) * | 2005-03-09 | 2007-04-12 | Knorr-Bremse Systeme für Schienenfahrzeuge GmbH | Oil-injected compressor with temperature switch |
KR100703801B1 (en) * | 2005-10-21 | 2007-04-06 | 삼성전자주식회사 | Method for audio/video task calculation, method for providing summary information for audio/video task calculation, and apparatus for the same |
US20080133339A1 (en) * | 2006-01-23 | 2008-06-05 | Akoo International, Inc. | Apparatus and method for reward points issuance, accumulation management and redemption using product coded wireless, communication protocols |
US8212805B1 (en) | 2007-01-05 | 2012-07-03 | Kenneth Banschick | System and method for parametric display of modular aesthetic designs |
US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
US9330529B2 (en) | 2007-01-17 | 2016-05-03 | Touchtunes Music Corporation | Game terminal configured for interaction with jukebox device systems including same, and/or associated methods |
US9953481B2 (en) | 2007-03-26 | 2018-04-24 | Touchtunes Music Corporation | Jukebox with associated video server |
US20080274687A1 (en) | 2007-05-02 | 2008-11-06 | Roberts Dale T | Dynamic mixed media package |
US8249141B1 (en) * | 2007-07-13 | 2012-08-21 | Sprint Spectrum L.P. | Method and system for managing bandwidth based on intraframes |
US9324064B2 (en) | 2007-09-24 | 2016-04-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US10290006B2 (en) | 2008-08-15 | 2019-05-14 | Touchtunes Music Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US8332887B2 (en) | 2008-01-10 | 2012-12-11 | Touchtunes Music Corporation | System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
CA2720353C (en) | 2008-04-04 | 2016-01-19 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (cdn) |
US8849435B2 (en) | 2008-07-09 | 2014-09-30 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
US10719149B2 (en) | 2009-03-18 | 2020-07-21 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
KR101748448B1 (en) | 2009-03-18 | 2017-06-16 | 터치튠즈 뮤직 코포레이션 | Entertainment server and associated social networking services |
US10564804B2 (en) | 2009-03-18 | 2020-02-18 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
WO2011094330A1 (en) | 2010-01-26 | 2011-08-04 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
AU2011258252A1 (en) | 2010-05-27 | 2012-11-01 | Rockbot, Inc. | Methods and systems for analyzing user preferences to dynamically identify remotely located media for local access |
US11151224B2 (en) | 2012-01-09 | 2021-10-19 | Touchtunes Music Corporation | Systems and/or methods for monitoring audio inputs to jukebox devices |
WO2015070070A1 (en) | 2013-11-07 | 2015-05-14 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
EP3123293A4 (en) | 2014-03-25 | 2017-09-27 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4947244A (en) * | 1989-05-03 | 1990-08-07 | On Command Video Corporation | Video selection and distribution system |
US4985784A (en) * | 1988-02-05 | 1991-01-15 | Hitachi, Ltd. | Image data transfer method and apparatus therefor |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506387A (en) * | 1983-05-25 | 1985-03-19 | Walter Howard F | Programming-on-demand cable system and method |
US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US4995078A (en) * | 1988-06-09 | 1991-02-19 | Monslow H Vincent | Television broadcast system for selective transmission of viewer-chosen programs at viewer-requested times |
JPH0286384A (en) * | 1988-09-22 | 1990-03-27 | Pioneer Electron Corp | Moving picture information service system and head end device for the system |
US5119188A (en) * | 1988-10-25 | 1992-06-02 | Telaction Corporation | Digital audio-video presentation display system |
US5060068A (en) * | 1988-10-31 | 1991-10-22 | James E. Lindstrom | Audio/video distribution system |
US4949187A (en) * | 1988-12-16 | 1990-08-14 | Cohen Jason M | Video communications system having a remotely controlled central source of video and audio data |
US5014125A (en) * | 1989-05-05 | 1991-05-07 | Cableshare, Inc. | Television system for the interactive distribution of selectable video presentations |
CA2022302C (en) * | 1990-07-30 | 1995-02-28 | Douglas J. Ballantyne | Method and apparatus for distribution of movies |
US5132992A (en) * | 1991-01-07 | 1992-07-21 | Paul Yurt | Audio and video transmission and receiving system |
US5253275A (en) * | 1991-01-07 | 1993-10-12 | H. Lee Browne | Audio and video transmission and receiving system |
US5191584A (en) * | 1991-02-20 | 1993-03-02 | Micropolis Corporation | Mass storage array with efficient parity calculation |
US5247347A (en) * | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5172228A (en) * | 1991-11-19 | 1992-12-15 | Utah State University Foundation | Image compression method and apparatus employing distortion adaptive tree search vector quantization |
-
1994
- 1994-09-01 US US08/299,829 patent/US5519435A/en not_active Expired - Lifetime
-
1995
- 1995-08-30 WO PCT/US1995/010972 patent/WO1996007272A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4985784A (en) * | 1988-02-05 | 1991-01-15 | Hitachi, Ltd. | Image data transfer method and apparatus therefor |
US4947244A (en) * | 1989-05-03 | 1990-08-07 | On Command Video Corporation | Video selection and distribution system |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2338869A (en) * | 1998-05-21 | 1999-12-29 | Nds Ltd | Attaching signature to video/audio data |
US6466670B1 (en) | 1998-05-21 | 2002-10-15 | Nds Limited | System for preventing playback of unauthorized digital video recordings |
GB2338869B (en) * | 1998-05-21 | 2003-12-10 | Nds Ltd | Anti piracy system |
Also Published As
Publication number | Publication date |
---|---|
US5519435A (en) | 1996-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5519435A (en) | Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate | |
CA2142801C (en) | Frame sampling scheme for video in a video-on-demand system | |
US6327421B1 (en) | Multiple speed fast forward/rewind compressed video delivery system | |
US5922048A (en) | Video-on-demand system capable of performing a high-speed playback at a correct speed | |
US6999476B2 (en) | Method and apparatus for storing and accessing multiple constant bit rate data | |
EP0812112B1 (en) | System and method for indexing between trick play and normal play video streams in a video delivery system | |
US6263504B1 (en) | Data delivery system, data receiving apparatus, and storage medium for video programs | |
EP0954925B1 (en) | Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program | |
US6725267B1 (en) | Prefetched data in a digital broadcast system | |
US6452610B1 (en) | Method and apparatus for displaying graphics based on frame selection indicators | |
JP3154921B2 (en) | Video playback position identification method for video-on-demand system | |
WO1995026103A1 (en) | On-demand video server system | |
EP0766476B1 (en) | Multi-media communication system and method therefor | |
KR20030068544A (en) | Trick-mode processing for digital video | |
JPH0887865A (en) | Video storage device and method for reproduction of video program | |
JP5038574B2 (en) | Method for providing video-on-demand services for broadcast systems | |
CA2342317C (en) | Frame sampling scheme for video in video-on-demand system | |
KR100796777B1 (en) | Method for the delivery of multimedia file compressed by differential pulse code modulation using ftp file transter | |
KR20000022385A (en) | Video delivery system and method which displays a slider bar on the subscriber video screen for indexing into a video stream | |
JPH09200701A (en) | Multimedia data transmitter | |
KR20000010629A (en) | System and method for creating trick play video streams from a compressed normal play video bitstream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase |