WO1997024875A1 - Near-video-on-demand system data storage protocol - Google Patents

Near-video-on-demand system data storage protocol Download PDF

Info

Publication number
WO1997024875A1
WO1997024875A1 PCT/US1996/020702 US9620702W WO9724875A1 WO 1997024875 A1 WO1997024875 A1 WO 1997024875A1 US 9620702 W US9620702 W US 9620702W WO 9724875 A1 WO9724875 A1 WO 9724875A1
Authority
WO
WIPO (PCT)
Prior art keywords
frames
video
disk
sequence
viewing
Prior art date
Application number
PCT/US1996/020702
Other languages
French (fr)
Inventor
Winston W. Hodge
Lawrence E. Taylor
Original Assignee
Vxl/Hcr Technology Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vxl/Hcr Technology Corporation filed Critical Vxl/Hcr Technology Corporation
Priority to AU13526/97A priority Critical patent/AU1352697A/en
Publication of WO1997024875A1 publication Critical patent/WO1997024875A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/10Adaptations for transmission by electrical cable
    • H04N7/102Circuits therefor, e.g. noise reducers, equalisers, amplifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Abstract

A system and method for distributing video programs (20) that employs mapping a video program on a video disk server (18) in an interleaved fashion so the video program is divided into data packets (34) having a plurality of frames (32). Each frame within a data packet is transmitted to a different group of subscribers (12) from the server on a communications thread. Data is distributed by network interface circuitry (34) which includes a demultiplexor (36) to distribute data to the requesting subscribers by spooling the frames of a data packet to all of the threads in a sequential manner and then repeating the process for subsequent data packets. The video program in each thread is offset in time from every other thread so that the wait for the beginning of the program is no greater than the amount in offset time and is filled with alternate programming.

Description

Description
Near-Video-On-Demand System Data Storage Protocol
Technical Field
The present invention pertains to the field of video program transmission systems. Specifically, the present invention pertains to a method and system for storing video programs, particularly movies, to be inde- pendently accessed by a plurality of users concurrently.
Background Art
High speed networking and mass storage technol¬ ogies have made possible interactive communication net- works which provide consumers with on-demand services. Video-on-demand is one of the fastest proliferating on- demand services, providing consumers with programming choices ranging from movies to interactive games. Fig. 1 shows the major components of a video-on-demand service. The video programs, such as movies, are typically stored in one of various formats at a central video server 10. Subscribers 12 submit requests to the server 10 for par¬ ticular programs over a distributor network 1 . The distributor network 14 may use any transmission medium available, e.g. commercial telephone, cable and satellite networks. Upon receiving a request, server 10 retrieves the video program from mass storage and delivers a data stream, corresponding to the frames of the movie, to the requesting subscriber via distributor network 14. The data stream is directed to a receiver possessed by the subscriber which converts the data stream into signals necessary for playback and viewing of the movie.
The video program data is typically stored on multiple disks or tapes. When a particular video program is requested, it is transferred to a faster transfer system, e.g., a RAID disk drive, to provide timely access to the video data. The transfer drive accounts for a significant portion of the overall system cost, as well as substantially limiting the I/O rate of the system. Considering that timely access is required for quality video viewing, the transfer drive system must be care¬ fully designed to meet both performance and cost goals. Patterson et al. , in "A Case for Redundant Arrays of
Inexpensive Disks (RAID)," In Proc. of SIGMOD '88, ACM 0- 89791-268-3/88/0006/0109, pages 109-116, discuss the use of RAIDs to provide a cost-efficient manner to address the challenges brought about by the exponential growth of processor and memory speeds.
Key to efficient operation of a video-on-demand system is maximizing the number of subscribers that may access the same video program. Keeton et al. present one strategy in "The Evaluation of Video Layout Strategies on a High-Bandwidth File Server," Proc. of the 4th Infl. Workshop on Network and Operating System Support for Digital Audio and Video, Lancaster, England, U.K., Novem¬ ber, 1993. Keeton et al. describe a layout strategy in which data may be played back in different resolutions. To achieve this, multiple representations of video are stored on a video server to provide different "quality of service" playbacks. This strategy requires video com¬ pression algorithms, supporting the decomposition by resolution. Each subscriber then selects the playback quality desired, requiring only decompression for play¬ back. Storing multiple representations of a given video program facilitates simultaneous playback requests.
U.S. Pat. No. 5,172,413 to Bradley et al. de¬ scribes, in pertinent part, use of a central electronic library to store and deliver high-demand entertainment programming to local community electronic libraries that channel the programming to subscribers. Low-demand pro¬ gramming is stored and delivered directly from a local community electronic library located in an area in which there may be a special interest in the programming. In this manner, Bradley maximizes access capacity while minimizing investment cost. U.S. Pat. Nos. 5,414,455 and 5,442,390 to Hooper et al. each describes, in pertinent part, a video- on-demand system including a video server having a bulk storage system comprising a plurality of high capacity disks and one or more first-in-first-out (FIFO) buffers. The video data on the disks is read in segments and transferred to the FIFO buffers. The FIFO buffers a packet controller that reads the video segments in the FIFO buffers and transmits the data to the appropriate subscribers. By using the FIFO buffers, only one read operation of the disk is required to distribute a given segment of video data to multiple users.
U.S. Pat. No. 5,421,031 to De Bey describes, in pertinent part, a video-on-demand system in which a video program disposed on a non-volatile storage device is divided into a plurality of segments. The segments are transmitted to each subscriber as a redundant sequence. The sequence is transmitted in accordance with a schedul¬ ing algorithm that ensures all the video segments of the video program are received by the subscriber to enable continuous playback in real-time of the video program. In this manner, the segments typically correspond to a non-contiguous sequence of video frames. The receiver, possessed by the subscriber, includes a buffer having sufficient memory to store a sufficient amount of video segments to ensure the subscriber experiences real-time playback of the video program.
A problem with the aforementioned video-on- demand systems is the increased reliance on additional hardware, e.g., disk drives and buffer memories, to maxi¬ mize subscriber access to any given video program.
What is needed is a system that maximizes the number of subscribers that may access any given video program while reducing the number and size of the disk drives, buffer memories and other related storage de¬ vices. Summary of the Invention
A system and method for distributing video programs is disclosed wherein a single video server sup¬ plies video programs to a plurality of subscribers in communications channels, i.e. threads, between the server and the subscribers. The server employs mapping of each video program onto a disk drive in an interleaved fash¬ ion. Each video program is divided into a predetermined number of frames supplied sequentially to each thread. The program is offset in time from one thread to the next. After supplying each thread, the process is re¬ peated. The rate of spooling video data from the server must be substantially faster than the display rate at a subscriber TV set. The maximum wait time for the start of the video program is always less than or equal to the offset time.
The system includes a video server and an ac¬ cess controller, and may also include a video storage vault, all in data communication with one another. The video server includes a microprocessor in data communica¬ tion with one or more disk drives. Data is distributed by network interface circuitry which includes a demultiplexer to distribute data to the requesting sub¬ scribers. Each subscriber's equipment typically includes a receiver having the circuitry necessary to convert data received from the video server into viewable material. The system and method takes advantage of the full bandwidth data access rate of a disk drive by map¬ ping video program data onto a disk drive so that most data present on the disk may be sequentially read, while minimizing cylinder seek-time. The mapping of the data is performed in accordance with an algorithm that ar¬ ranges the frames of the video program in pack¬ ets/clusters. The number of frames in a data packet, as well as the displacement of each group, relative to the start of the video program, are both dependent upon the video data transfer rate and the transfer rate of the disk drive on which the video program is stored. Typi¬ cally, each video frame in a data packet is associated with one group of the plurality of subscribers. The plurality of data packets are disposed on the disk drive to be sequentially read so each of the subscribers re¬ ceives a sequence of frames that provide continuous view¬ ing of the video program. In this fashion, a plurality of threads of data are transmitted, each of which may be viewed by one to many subscribers. Each thread includes all of the frames of the video program. The start time for each thread is displaced from the start time of an adjacent thread (stream) by a predetermined amount of time, thereby providing to each subscriber a near-video- on-demand system.
Brief Description of the Drawings
Fig. 1 is a block diagram of a prior art video- on-demand distribution system.
Fig. 2 is a block diagram of the video-on-de- and system in accord with the present invention.
Fig. 3 is a chart exemplifying the division of a program into a plurality of data streams and data pack¬ ets, in accord with the present invention.
Fig. 4 is a flow chart showing the operation of a computer program in accord with the present invention.
Best Mode for Carrying Out the Invention
Fig. 2 shows a typical video distribution sys¬ tem 16 on which the present invention may be incorpo- rated. System 16 may include a video server 18, video storage vault 20 and an access controller 22. Video server 18, video storage vault 20 and access controller 22 are in data communication via line 24. Video server 18 includes a microprocessor 26 which is typically incor- porated into a personal computer such as an Intel
Pentium or Motorola 68000 processor. The microprocessor 26 is associated with a memory 28. Microprocessor 26 is in data communication v/ith one or more disk drives 30 via a disk read write controller 32, with each controller 32 uniquely associated with a disk drive 30. Although any type of disk drive may be employed, preferably disk- drives 30 are single large disks capable of storing at least one video program of at least 100 minutes in dura¬ tion. Data from the disk drive 30 is distributed by network interface circuitry 34 which is in data communi¬ cation therewith. Interface circuitry 34 includes a functional demultiplexer 36, e.g. an ADSL tele-distribu- tion system, CATV or satellite broadcasting system, which distributes data to the requesting subscribers (not shown) . The demultiplexer may be either a time- or spa¬ tial-division demultiplexer, depending on the transmis¬ sion medium selected. Each subscriber's equipment typi- cally includes a receiver (not shown) having the cir¬ cuitry necessary to convert data received from the video server 18 into viewable material.
Video storage vault 20 includes a bulk video storage system such as video juke box 38. Juke box 38 may comprise high capacity disks or tapes storing thou¬ sands of video programs in encoded, compressed and digi¬ tized form. A typical 100 minute movie of VHS quality requires one Gigabyte of storage. However, the amount of storage capacity for a given movie is dependent upon the quality of the movie. For example, a 100 minute studio quality video may require as much as seven Gigabytes of storage.
Access controller 22 is in data communication with a memory 40 which typically includes a database identifying authorized subscribers. The interface cir¬ cuitry 34 is in data communication with the access con¬ troller 22 so that access to system 16 by a particular subscriber is restricted unless memory 40 indicates ac¬ cess is authorized. If access is authorized, access controller 22 allows interface circuitry 34 to distribute the video programs to the subscriber. Otherwise, access controller 22 denies the subscriber access to data on the system 16. To maximize the number of users that may access a video program on any given disk drive 30, the video frames of each video program are mapped thereon in an interleaved fashion. The mapping of the video program on each of disk drives 30 may be performed prior to a sub¬ scriber request, or may be done during a period in which a video program is transferred from the storage vault 20 to the disk drives 30, in response to a subscriber's request. The interleave pattern of frames on a disk drive is configured to take advantage of the full band¬ width data transfer (spooling) rate of the disk drive 30. This allows spooling video data from the disk drive 30 so that it may be transmitted to multiple concurrent sub- scriber groups viewing different time portions of the same movie, these different time portions being called threads. When the disk bandwidth is "a" Mb/second and the video thread requirements are "b" Mb/second, then the concurrent number of threads which can be produced is — , or n ( t ) = —a . The accelerated rate of transmission re- b
JD laxes the need to continually transmit data to a sub¬ scriber. Therefore, all threads of the video programming material are seemingly concurrently transmitted to all subscribers, without the subscribers recognizing inter- leaving of the sequence of frames that comprises the video programming material. In this manner, each sub¬ scriber will view a continuous presentation of the video program, defining a viewing sequence. The time displacement of threads to a subscriber increases the number of subscribers that may access a video program on any given disk drive, via thread sharing.
For example, MPEG2 requires a minimum transmis¬ sion rate of 1.5 Mb/second in order to achieve a continu¬ ous presentation of a video. A typical single disk drive may provide a data access rate of 10 MB/second, so long as the cylinder-seek-time is kept to a minimum. Using the full bandwidth data transfer rate of a disk drive enables spooling data from the disk drive and transmit¬ ting the data fifty-three times faster than is required for receiving MPEG2 encoded VHS quality video frames; thus, fifty-three frames of data could be transmitted in the time required to view one frame of video data. This allows transmission of one frame of video data to each of fifty-three different groups of subscribers before a subsequent video frame would have to be transmitted to any given subscriber. This interleaving is transparent to all viewers of the video programming material. As discussed above, a key aspect in achieving this result is to avoid random cylinder seeks of the disk drive. The random cylinder seeks of the disk drive heads may be avoided by maximizing the amount of data that may be read sequentially therefrom. This requires dividing the video programming material into a plurality of segments for transmission to the subscribers so that each subscriber may obtain a continuous presentation of the programming material in real-time. Referring also to Fig. 3, a 100 minute movie is shown as divided into a plurality of segments for viewing by a plurality of subscribers, as described above. A 100 minute movie consists of approximately 180,000 video frames 32 totalling about 1 Gb of VHS quality data. The movie may be segmented into a plurality of data packets
34, each of which consists of a plurality of frames 32, with each of the frames corresponding to a different segment of viewing time in the movie, defining a time- slot 36. In this example, data packet 34 consists of a sequence of fifty video frames, with each pair of adja¬ cent video frames 32 in the sequence separated by 3600 frames. The separation between adjacent frames 32 of a data packet 34 are each associated with and corresponds to two minutes of viewing time of the movie, thereby providing a two minute separation between adjacent time- slots 36. Thus, in each data packet 34 of this example, there are fifty time-slots 36, with one frame 32 associ¬ ated with each time-slot 36. Video frames 32 in adjacent data packets 34 corresponding to identical time-slots 36 are arranged in chronological sequence in the manner in which the frames 32 would be viewed by a subscriber, i.e., a viewing se- quence. As shown, frame 32, in data packet zero corre¬ sponding to time-slot one, includes frame number zero, with the frame 32, in data packet one, corresponding to time-slot one, including frame one. Similarly, frame 32, in data packet zero corresponding to time-slot two, in- eludes frame number 3600, and frame 32, in data packet one corresponding to time-slot two, includes frame number 3601.
With the movie segmented in this fashion, each subscriber will receive a sequence of frames correspond- ing to a time-slot 36, thereby allowing a plurality of subscribers to concurrently view frames corresponding to the same movie. Typically, a first subscriber requests to view a movie on disk drive 30. The sequence of frames corresponding to time-slot zero would be transmitted to the first subscriber. If a second subscriber, slightly later, requested to view the movie on disk drive 30, the sequence of frames corresponding to time-slot one would be transmitted thereto. However, the second subscriber would be delayed until subscriber one received the se- quence of frames corresponding to data packet zero. For example, if subscriber two requested to view the movie on disk drive 30 when subscriber one was receiving data corresponding to frame 10804, subscriber two would be delayed in receiving data transmission until subscriber one had received all the frames corresponding to time- slot three. The longest subscriber two would be delayed in receiving frames 32 corresponding to the 100 minute movie on disk drive 30 would be two minutes: the time to transmit data packets 34 containing frames 32 corresponding to a fifty time-slots 36. In this manner, 50 data streams/threads could be concurrently transmitted to 50 different subscriber groups, with each of the threads containing all the frames of a movie on disk drive 30. In this example, each frame of each thread would be displaced in time from a frame in an adjacent thread by two minutes. Thus, each subscriber is pro¬ vided with near-video-on-demand. Although the example provided above with re¬ spect to Fig. 3 discusses transferring 50 threads of data, the exact number of threads that may be transferred is dependent upon the data access rate of disk drive 30, the data transfer rate required to provide a continuous presentation of the video programming material, and the length of the video program. As discussed above, to optimize the data transfer rate of a disk drive, not only must the video program be divided into a plurality of data segments, but the segments must be mapped onto a disk drive to minimize head seek-time. To that end, the mapping of the data is performed in accordance with an algorithm that arranges the frames of the video program in packets/clusters that maximizes sequential reading of the video data. Referring also to Fig. 4, shown is a process employed to determine in what manner video programming material will be divided and how to map the material onto disk drive 30 to maximize access by subscribers. Typi¬ cally, the process consists of a computer program/ algo- rith which is stored in memory 28 and operated on by microprocessor 26. At step 40, the algorithm first de¬ termines the disk storage capacity. At step 42, the disk data transfer rate is determined. Any process known in the art could be employed to determine the disk capacity and data transfer rate. Although the algorithm is shown as determining these parameters at two different steps, they may be determined simultaneously. One such process employs a controller to read disk size parameters from a resident memory segment on the disk drive 30. Alterna- tively, data could be written to disk drive 30 until it reaches full capacity. Then, the data could be read therefrom to determine byte capacity. Concurrently, a software timer, or the like, could track the time re¬ quired for reading the data from the disk drive 30 and determine the data transfer rate.
At step 44, the quantity of video data to be recorded onto the disk drive 30 is determined. At step 46, the video transfer rate of the movie data is deter¬ mined. Both of these parameters are typically included in the header data of the video program material. These parameters may be read directly from the header material by the disk drive head or may be entered manually. At step 48, the spatial position of the data packets 34 are determined so that a plurality of threads may be pro¬ duced, as described above. To determine the spatial position of the data packets, the algorithm first deter- mines the number of threads of data that may be produced as follows:
(1) N(T) =
where "N(T) is the number of threads that may be pro¬ duced, "d" is the disk data transfer rate and "v" is the video transfer rate. It is preferred that the disk transfer rate be based upon the worse case disk transfer rate. The number of threads is equivalent to the number of frames that must be included in each data packet 34. After determining the number of frames 32 in a data packet 34, the maximum number of data packets 34 on a disk drive is determined as follows:
(2) N(p) =
where "N(p)n is the number of data packets 34, "S" is the storage capacity of the disk drive, as determined as step 40, and "T" is the number of threads from equation 1. After calculation of the number of data packets
34 and the number of frames 32 within a data packet 34, the spatial positions of the data packets on the disk drive is determined. As described above, the spatial positions of the data packets 34 are selected to maximize sequential reading of data from the disk drive, which improves the data transfer rate of the same. At step 50, the video programming material to be recorded onto disk drive 30 is read from vault 20, and at step 52, the video programming is recorded onto disk drive 30. At step 54, the algorithm determines whether all data corresponding to the video programming material has been written to disk drive 30.
With video programming mapped onto disk drive 30 in accordance with the aforementioned algorithm, the video program will be sequentially read therefrom to create a distribution sequence. The distribution se- quence will include a plurality of data packets 34.
Demultiplexer 36 will transmit the frames 32 associated with each data packet 34 to the appropriate subscriber. In this fashion, each subscriber will receive one thread containing all of the frames associated with the video program.
One of the most important aspects of the inven¬ tion is the capability of producing many more video threads per disk than can be obtained by any other means, including the use of RAID arrays. Using normal random seek techniques, from two to three video threads may be derived from a single disk, depending on the length of random seeks required to provide the video at a rate required by the subscribers' television sets.
By providing up to fifty or more video streams from each storage disk, the capital cost per video thread is reduced by as much as twenty-five times. Further, the fact that any number of viewers may simultaneously view a given thread implies that in any period whose length is up to twice the length of the video program, the entire population of subscribers to a video distribution system could watch a given video program, at no increase in capital equipment costs, unlike true video-on-demand systems, which require one video thread per subscriber. In conclusion, significant cost saving parameters are achieved by better utilization of disk throughput and the ability to share threads among viewers while providing the look and feel provided by true video-on-demand sys- terns.
The NVOD system of the present invention is very similar to video-on-demand ("VOD") in its presenta¬ tion and appearance on a television monitor. In VOD, once a video program is ordered the program may run i me- diately. In NVOD, there may be a gap between the time of ordering and the next starting time of a video program, i.e. dead time, which could be as long as the amount of offset time between adjacent threads, but probably will be some fraction of the offset time. While dead time cannot be eliminated, it has been our object to use it effectively by filling it with useful information. The dead time is filled with useful information by computing the amount of time before the start of the program mate¬ rial and presenting in that time alternate program mate- rial, such as promotional material, preview material or the like. The maximum amount of dead time, known as the dead band, is subdivided by binary multiples. For exam¬ ple, if the dead band is two minutes, the binary multi¬ ples which sum to two minutes would be 60, 30, 15, 7.5, 3.75, 1.87 and 0.9 seconds. For each of the binary mul¬ tiple intervals, a separate alternate video program is prepared. A very short program might merely thank the viewer for selecting the program or present a pleasing scene. A longer interval might be a preview of the se- lected video program or a preview of another program.
Program material corresponding in length to each interval is stored on the video server. When a user then requests a video program, the amount of dead time is determined by the computer in the video server and this amount of time is decimated into a combination of binary intervals, such as 7.5 seconds plus 30 seconds. Then, alternate program material corresponding to these intervals is pulled from the video server and sent to the viewer to fill the dead time. A video program selected by a subscriber should synchronously start with the end of the dead time.

Claims

Claims
1. A system for distributing video programs, comprising: a video server for storing a video program using a plurality of frames arranged in a viewing sequence; means for mapping said viewing sequence onto a disk so that said frames are sequentially read, creating a distribution sequence having a plurality of data packets, with each of said plurality of data packets including a predetermined number of frames, with the spooling rate of said predetermined number of frames for any given video program substantially exceeding the rate of display of the frames on a TV monitor; means for spooling said distribution sequence from the server onto a plurality of threads, each thread extending from the server to one or more subscribers and carrying said sequence offset in time from sequences in other threads, the server sequentially supplying each thread with said frames and then repeating the process with another of said predetermined number of frames at a later point in the distribution circuit; and means for receiving and displaying said sequences at subscriber locations on TV monitors.
2. The system as recited in claim 1 wherein said video server provides said video program to a number of subscribers viewing each of said threads concurrently with each frame from each of said data packets being associated with one of said threads so that said plurality of data packets are sequentially read from said disk, providing a sequence of frames to each of said threads in accordance with said viewing sequence. 3. The system as recited in claim 1 wherein each pair of adjacent frames of each of said data packets correspond to a pair of frames of said viewing sequence displaced from one another by a predetermined number of frames, S with said predetermined number of frames for any given video program being proportional to the spooling rate of said disk.
4. The system of claim 1 further including means for filling said offset time prior to start of said distribution sequence with intervals of alternate video program material.
5. The system of claim 1 further including means for filling said offset time prior to start of said distribution sequence with intervals of alternate video program material, said intervals of alternate video program material being selected from material selected to fill binary multiples which sum to the total amount of offset time.
5 6. A system for distributing, to a plurality of subscribers, a video program comprising a plurality of frames arranged in a viewing sequence, with said video program being stored on a disk, said system comprising: means for mapping said viewing sequence onto 0 said at least one disk so that said frames are sequentially read, creating a distribution sequence having a plurality of data packets, with each of said plurality of data packets including a predetermined number of frames, with each pair of adjacent frames of 5 each of said plurality of data packets corresponding to a pair of frames of said viewing sequence offset in time from one another so that said at least one of said plurality of subscribers periodically receives each of said plurality of frames in accordance with said viewing sequence; means, in data communication with said mapping means, for spooling said data stream to said subscribers; and receiver means, in data communication with said spooling means, for receiving said data stream for playback purposes.
7. The system as recited in claim 6 wherein each frame from each of said plurality of data packets is associated with one or more of said subscribers, with said plurality of data packets being disposed on said disk to be sequentially read to provide a sequence of frames to each of said plurality of subscriber in accordance with said viewing sequence.
8. The system as recited in claim 7 wherein each of said plurality of viewing sequences is displaced in time from the remaining viewing sequences.
9. The system as recited in claim 8 wherein each of said plurality of viewing sequences is displaced in time from the remaining viewing sequences proportional to said spooling rate divided by a video viewing rate of said video program.
10. The system as recited in claim 9 wherein said predetermined spooling rate is a worse case spooling rate. 11. The system of claim 10 further including means for filling said offset time prior to start of said distribution sequence with intervals of alternate video program material, said intervals of alternate video > program material being selected from material selected to fill binary multiples which sum to the total amount of offset time.
12. A system for distributing video programs, comprising: a video server for storing a video program using a plurality of frames arranged in a viewing sequence; means for mapping said viewing sequence onto a disk so that said frames are sequentially read and creating a distribution sequence having a plurality of data packets; means for spooling said distribution sequence from the server onto a plurality of threads, each thread extending from the server to one or more subscribers and carrying said sequence offset in time from sequences in other threads, the server sequentially supplying each thread with said frames and then repeating the process with another of said predetermined number of frames at a later time; means for filling the offset time prior to start of the distribution sequence with intervals of alternate video program material ; and 0 means for receiving and displaying said sequences and said intervals of alternate video program material at subscriber locations on TV monitors. 13. The system of claim 12 wherein the intervals of alternate video program material are selected from material selected to fill binary multiples which sum to the total amount of offset time.
14. The system as recited in claim 13 wherein each frame from each of said plurality of data packets is associated with one or more of said subscribers, with said plurality of data packets being disposed on said disk to be sequentially read to provide a sequence of frames to each of said plurality of subscriber in accordance with said viewing sequence.
15. The system as recited in claim 14 wherein each of said plurality of viewing sequences is displaced in time from the remaining viewing sequences proportional to said spooling rate divided by a video viewing rate of said video program.
16. The system as recited in claim 15 wherein said predetermined spooling rate is a worse case spooling rate.
AMENDED CLAIMS
[received by the International Bureau on 13 June 1997 (13.06.97); original claims 1-16 replaced by new claims 1-19 (5 pages)]
1. A system for distributing video programs, comprising: a video server for storing a video program having a plurality of frames arranged in a viewing sequence, said video server including a data disk having a full bandwidth disk data transfer rate associated therewith, with said video program having, associated therewith, a video transfer rate; means for mapping said viewing sequence onto said disk to facilitate sequential reading of said frames to create a distribution sequence having a plurality of data packets, with each of said plurality of data packets including a predetermined number of frames; and means for spooling said distribution sequence from said disk, creating a plurality of threads, each of which carries information corresponding to said viewing sequence, defining a parsed viewing sequence which is offset in time from the parsed viewing sequences associated with the remaining threads of said plurality of threads, with a number of said plurality of threads being defined as a ratio of said full bandwidth disk data transfer rate divided by said video transfer rate.
2. The system as recited in claim 1 wherein said plurality of threads are equal in number to said predetermined number of frames.
3. The system as recited in claim 1 wherein each pair of adjacent frames of each of said data packets correspond to a pair of frames of said viewing sequence displaced from one another by a predetermined number of frames, with said predetermined number of frames for any given video program being proportional to said full bandwidth disk data transfer rate.
4. The system of claim 1 wherein a user associated with said receiving and displaying means requests to view said video program and said receiving and displaying means provides a visual display of said viewing sequence subsequent to said request after an interval of time, with said interval of time not exceeding said predetermined period and further including means for filling said interval with alternate video program material.
5. The system of claim 4 further including means for determining said interval and transmitting said alternate video program material, with said alternate video program material being selected from material chosen to fill binary multiples which sum to equal to said interval.
6. A system for distributing, to a plurality of subscribers, a video program comprising of a plurality of frames arranged in a viewing sequence and having, associated therewith, a view time and a video transfer rate, with said video program being stored on a disk having, associated therewith, a full bandwidth disk data transfer rate, said system comprising: means for mapping said viewing sequence onto said disk so that said frames are sequentially read, creating a distribution sequence having a plurality of data packets, with each of said plurality of data packets including a predetermined number of frames, with each pair of adjacent frames of each of said plurality of data packets corresponding to a pair of frames of said viewing sequence offset in time from one another by a predetermined period, with said period being defined as said viewing time divided by a ratio of said full bandwidth disk data transfer rate divided by said video transfer rate, wherein at least one of said plurality of subscribers periodically receives each of said plurality of frames in accordance with said viewing sequence; means, in data communication with said mapping means, for spooling said distribution sequence from said disk and to said subscribers; and receiver means, in data communication with said spooling means, for receiving said data stream for playback purposes.
7. The system as recited in claim 6 wherein each frame from each of said plurality of data packets is associated with one or more of said subscribers, with said plurality of data packets being disposed on said disk to be sequentially read to provide a sequence of frames to each of said plurality of subscriber in accordance with said viewing sequence.
8. The system as recited in claim 7 wherein each of said plurality of viewing sequences is displaced in time from the remaining viewing sequences.
9. [Cancelled]
10. The system as recited in claim 9 wherein said full bandwidth disk data transfer rate is a worst case data transfer rate.
11. The system of claim 10 further including means for filling said offset time prior to start of said distribution sequence with intervals of alternate video program material, said intervals of alternate video program material being selected from material selected to fill binary multiples which sum to the total amount of offset time.
12. A system for distributing video programs, comprising: a video server for storing a video program having a plurality of frames arranged in a viewing sequence, said video server including a data disk having a full bandwidth disk data transfer rate associated therewith, with said video program having, associated therewith, a video transfer rate; means in data communication with said video server, for mapping said viewing sequence onto said disk, defining mapped video data; and means for spooling said mapped video data from said disk, creating a plurality of threads, each of which carries information corresponding to said viewing sequence, with said mapping means arranging said mapped video data on said disk to facilitate sequential reading of a subset of said plurality of video frames, with each frame of said subset being associated with one of said plurality of threads and each pair of adjacent frames associated with said subset corresponding to a pair of frames of said viewing sequence offset in time from one another by a predetermined period, with said period being proportional to said full bandwidth disk data transfer rate divided by said video transfer rate.
13. The system of claim 12 further including means, in data communication with said spooling means, for receiving and displaying information corresponding to one of said plurality of threads, wherein a user associated with said receiving and displaying means requests to view said video program and said receiving and displaying means provides a visual display of said viewing sequence subsequent to said request after an interval of time, with said interval of time not exceeding said predetermined period.
14. The system as recited in claim 13 wherein said mapping means maps multiple subsets onto said disk to be sequentially read to provide a sequence of frames to a plurality of subscribers in accordance with said viewing sequence.
15. [Cancelled]
16. The system as recited in claim 15 wherein said full bandwidth disk data transfer rate is a worst case transfer rate.
17. The system of claim 13 further including means for determining said interval and transmitting an alternate video program, with said alternate video program selected from material chosen to fill binary multiples which sum to equal said interval.
18. The system as recited in claim 1 wherein said full bandwidth disk data transfer rate is a worst case transfer rate.
19. The system as recited in claim 1 further including means, in data communication with said spooling means, for receiving and displaying said parsed viewing sequence. STATEMENT UNDER ARTICLE 19
The claims were amended to point out that the claimed invention maps information onto a disk so that advantage may be taken of the full bandwidth disk data transfer rate of a disk drive when reading information from the disk. This maximizes the amount of information that may be read from the disk in a given unit of time by avoiding random cylinder seeks of the disk drive heads. The reference to Ido, on the other hand, does not advocate use of the full bandwidth disk data transfer rate of a disk drive so that the size of a buffer memory, into which the data from the disk is read, may be minimized. (See Col. 2, lines 49 through 53; Col. 6 lines 50 through 55). As a result, Ido teaches reading information from every other track of the disk as the disk drive head moves along a first direction, while the remaining tracks on the disk are read by the disk drive head when moving in an opposite direction. (See Col. 4, line 55 to Col 5, line 9) .
The reference to Olivo, Jr. , on the other hand, teaches a program material screen device which allows an operator of a program material player device, such as a video cassette player, television and the like, to automatically and selectively prevent the production of unwanted program material. (See Col. 2, lines 14 through 26) . Olivo, Jr. is completely silent with respect to mapping information onto a disk so as to take advantage of the full bandwidth disk data transfer rate when reading information therefrom.
PCT/US1996/020702 1995-12-29 1996-12-26 Near-video-on-demand system data storage protocol WO1997024875A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU13526/97A AU1352697A (en) 1995-12-29 1996-12-26 Near-video-on-demand system data storage protocol

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58167895A 1995-12-29 1995-12-29
US581,678 1995-12-29

Publications (1)

Publication Number Publication Date
WO1997024875A1 true WO1997024875A1 (en) 1997-07-10

Family

ID=24326130

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/020702 WO1997024875A1 (en) 1995-12-29 1996-12-26 Near-video-on-demand system data storage protocol

Country Status (2)

Country Link
AU (1) AU1352697A (en)
WO (1) WO1997024875A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5172111A (en) * 1987-08-31 1992-12-15 Olivo Jr John W Stored media screening device
US5546118A (en) * 1994-06-20 1996-08-13 Sony Corporation Data recording/reproducing method and data send-out method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5172111A (en) * 1987-08-31 1992-12-15 Olivo Jr John W Stored media screening device
US5546118A (en) * 1994-06-20 1996-08-13 Sony Corporation Data recording/reproducing method and data send-out method

Also Published As

Publication number Publication date
AU1352697A (en) 1997-07-28

Similar Documents

Publication Publication Date Title
EP0633694B1 (en) Segmented video on-demand system
US8966557B2 (en) Delivery of digital content
US5442390A (en) Video on demand with memory accessing and or like functions
US5414455A (en) Segmented video on demand system
US5594491A (en) Near-video-on-demand digital video distribution system utilizing asymmetric digital subscriber lines
US6434748B1 (en) Method and apparatus for providing VCR-like “trick mode” functions for viewing distributed video data
US6529685B2 (en) Multimedia direct access storage device and formatting method
EP0748122B1 (en) Multimedia control system and method for controlling multimedia program presentation
EP0764381B1 (en) Multi-cast digital video data server using synchronization groups
US5790176A (en) Media server for supplying video and multi-media data over the public switched telephone network
EP0787408B1 (en) Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5721815A (en) Media-on-demand communication system and method employing direct access storage device
US5606359A (en) Video on demand system with multiple data sources configured to provide vcr-like services
JP3816972B2 (en) DIGITAL VIDEO STORAGE SYSTEM, ITS VIDEO DATA STORING METHOD AND VIEWING METHOD
CA2278172C (en) Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
EP0676898B1 (en) Frame sampling scheme for video scanning in a video-on-demand system
CA2136141C (en) Method and system for scheduling the transfer of data sequences
CA2167801C (en) System and method for storing and forwarding audio and/or visual information on demand
EP0748123A2 (en) Multimedia server system and method for communicating multimedia information
US20010055316A1 (en) Method and apparatus for storing and accessing multiple constant bit rate data
EP0735765B1 (en) Storage medium unit
CA2216282A1 (en) A system for information on demand
US6608966B1 (en) VCR-type controls for video server system
Cleary Video on demand-competing technologies and services
WO1997024875A1 (en) Near-video-on-demand system data storage protocol

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI 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
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 97524548

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase