Patent ID: 6018765
Filing Date: 2000-01-25
Classification: H04N

Abstract:
A multimedia server for simultaneously and independently providing video-on-demand to a plurality of viewers comprising:a mass storage device for storing and retrieving multiple video programs formatted as compressed digital multimedia data files, said device having a maximum continuous data transfer rate for compressed digital video stored therein;a host for issuing commands which specify the initiation and performance of selected video programs stored on said mass storage device; anda decoder emulating a video tape deck comprising:a microcontroller providing a system bus and having a serial control port linked to said host for receiving a plurality of video tape deck commands from said host;a data controller interfaced to said system bus and having a data port linked to said mass storage device for the transfer of video programs as specified by said host from said mass storage device through said data controller and onto said system bus at a predetermined data output rate under the direction of said microcontroller;a memory buffer within said decoder for temporarily storing compressed video transferred from said mass storage device to said decoder so as to match said maximum continuous data transfer rate and said predetermined data output rate;said microcontroller metering data from said buffer in fixed-length data bursts occurring at fixed intervals such that the number of said video programs simultaneously playing may be substantially equal to said maximum continuous data transfer rate divided by said predetermined data output rate; anda plurality of processors each of which independently decompress video program data and encode said decompressed data into analog video and stereo audio outputs, said multimedia processors interfaced to said system bus so that said microcontroller can transfer video programs to any of said multimedia processors to create a corresponding plurality of video channels which can simultaneously and independently play one video program per video channel;said microcontroller executing a process loop which includes:an input task which controls the transfer of compressed video data from said data port to said memory buffer;a status task, lower in priority than said input task, which resets any particular one of said processors if an error condition exists;a command task, lower in priority than said status task, which monitors for a completed command received on said serial port;an initiation task, lower in priority than said command task, which starts a video program on one of said processors; anda dispatch task which interrupts said process loop at regular intervals, said dispatch task controlling the transfer of compressed video data from said memory buffer to said processors.