Abstract: We present a pure Java-based streaming MPEG-1 video player. By implementing the player entirely in Java, we guarantee its functionality across platforms within any Java-enabled web browsers, without the need for native libraries. This allows greater sue of MPEG video sequences, because the users will no longer need to pre-install any software to display video, beyond Java compatibility. This player features a novel forward-mapping IDCT algorithm that allows it to play locally stored, CIF-sized video sequences at 11 frames per second, when run on a personal computer with Java 'just-in-time' compiler. The IDCT algorithm can run with greater speed when the sequence is viewed at reduced size; e.g., performing approximately 1/4 the amount of computation when the user resizes the sequence to 1/2 its original width and height. We are able to play video streams stored anywhere on the Internet with acceptable performance using a proxy server, eliminating the need for large-capacity auxiliary storage. Thus, the player is well suited to small devices, such as digital TV set-top decoders, requiring little more memory than is required for three video frames. Because of our modular design, it is possible to assemble multiple video streams from remote sources and present them simultaneously to the viewers, subject to network and local performance limitations. The same modular system can further provide viewers with their own customized view of each sessions; e.g., moving and resizing the video display window dynamically, and selecting their preferred set of video controls. !12
展开▼