Experiments with digital video playback
Proceedings of the 1996 ACM SIGMETRICS international conference on Measurement and modeling of computer systems - SIGMETRICS '96
In this paper we describe our experiments on digital video applications, concentrating on the static and dynamic tradeo s involved in video playback. Our results were extracted from a controlled series 272 tests, which w e ran in three stages. In the rst stage of 120 tests, we used a simple player-monitor tool to evaluate the e ects of various static parameters: compression type, frame size, digitized r ate, spatial quality and keyframe distribution. The tests were carried out on two Apple
... t on two Apple Macintosh platforms: at the lower end a Quadra 950, and at the higher end, a Power PC 7100 80. Our quantitative metrics included average playback rate, as well as the rate's variance over one-second intervals. The rst set of experiments unveiled several anomalous latencies. To track them down we ran an additional 120 tests, from which w e concluded that the video and IO operations were insu ciently tuned to each other. In the next step we attempted to correct this problem, by implementing our own video playback software and accompanying device-level handlers. Our emphasis was on achieving a controlled, deterministic coordination between the various system components. An additional set of 32 experiments were carried out on our platforms, which showed frame-rate increases of up to 325, with associated reductions in rate variance. There is usually a wide asymmetry between the workstation on which a digital video is mastered, and the target platforms on which i t i s p l a y ed. Video editing systems contain expensive peripherals like full-screen, full color digitizers, high-capacity RAID disk con gurations, etc. Due to the quality requirements involved, this kind of equipment is fully warranted: a broadcast-quality video demands a resolution of 640 480, a display rate of 30 frames per second, and a color depth of 24 bits per pixel. Some simple multiplication yields a transfer rate of 27 Mbytes per second, or roughly 50 Gbytes of storage for a one-half hour production. On the other hand, a target system may b e a n a v erage home computer, perhaps possessing 2 Gbytes of disk space, with peak transfer rates of 2.5 Mbytes per second. The computer's display logic will usually not include high-end video decompressor functionality; thus video decompression may be done in software, as will bu er management, synchronizing the video and audio tracks, etc. Therefore, the inevitable nal step in editing is the attempt to reconcile the vast di erences between the producer's workstation, and those of the potential consumers. The problem of tuning a video production to a target platform and tuning the platform to the video demands something akin to a traditional load-balancing" solution, applied with both quantitative and qualitative metrics. But this raises two questions: 1. Since a video c an be tuned in a variety of ways, which methods lead to the best results on consumer-grade platforms? 2. While only one digital video gets released, there a r e many potential platforms on which it will get played. Each has its own resource c onstraints and processing abilities. So in order to achieve smooth, deterministic playback quality on each, a certain amount of dynamic tuning can be done as well. Is this currently done in commercial software, and if not, can it be done? As for static tuning, all down-sampling schemes include some sacri ce in quality e.g., one can control the amount of signal loss used in digital compression, or decrease the color-depth, the digitized rate, frame size, etc. The theory is that if any of these options are chosen, then disk transfer rates are reduced, as are storage requirements, CPU utilizations, demands for RAM bu ers, overload sensitivity with the result being a smoother, more deterministic video. But it is not at all apparent which option or combination of options should be selected to achieve the greatest bene t. Indeed, as we show in this paper, it is not even true that a such quality-reducing" measures necessarily lead to a reduction in dropped frames. As for dynamic tuning, assume that video V is mastered at 30 frames per second henceforth abbreviated as fps", and that platform A can play it with minimal dropping of frames. The lesser-endowed platform B may be able to play a statically down-sampled, 15fps version of V . Does this imply that B can play the 30fps version, and on-the-y tune it down to 15fps? If so, the 30fps version can be the released version. If not, then perhaps the 15fps version should be released instead. We attempted to quanti ably answer these two questions via a controlled series of of 272 2 experiments, which w e ran in three stages. In the rst stage we used a player-monitor tool to evaluate the e ects of various static tuning approaches. The results unveiled several anomalous latencies, and to track them down we ran an additional 120 tests. Based on these results, we re-tooled the system's video playback software, and incorporated our changes into a new playermonitor, whose goal was to achieve good dynamic tuning. We e v aluated its performance with 32 more experiments, and we compared them with the performance of commercial-grade software. This paper contains the results of our tests, their analysis, and the system architectural changes that we made based on our conclusions.