Many standardized formats exist for creating digital signals that allow for images and sounds to be recorded, stored, transmitted and played back. Such formats include the MPEG format for digital video, VRML format for 3-D graphics and MPEG and WAV formats for digital audio. Each of these formats is capable of storing sufficient information with respect to a particular image or sound that allows for extremely accurate reproduction of the image or sound.
Despite the fact that these formats allow for conceptually distortion free reproduction of images and sounds, limitations in the computational power of computer systems and network bandwidth limitations prevent reproductions that are as accurate as desired while meeting real time constraints. For more compact and distortion free reproduction, larger quantities of data and/or faster processing is typically required. Accordingly, the digital information that is typically encoded in a given format provides less than optimum resolution so as not to exceed the computational power for decoding available in an “average” computer system and the network bandwidth limitations. Unfortunately, however, computing systems having computational power and available bandwidth that is greater than “average” cannot use the extra computational power they contain and available bandwidth to reproduce images and sound with even greater performance and clarity, since the originally encoded signal contains no further information with which to obtain this greater resolution.
Conversely, if the digital information that is encoded in a given format that provides optimum resolution when being decoded by a high end computer system, other “average” computer systems are unable to decode all of this additional digital information in real time and, therefore, will be unable to reproduce any sound or image at all.
Accordingly, there is a need to for a method and apparatus that allows for the high-end computer systems to decode as much digital information as possible so that they can reproduce images or sounds with optimum resolution for high performance computer systems at the available bandwidth and also provide for “average” or low-end computer systems that receive lesser amounts of information corresponding to their performance capabilities, as well as taking into consideration bandwidth limitations. Thus, for all of these systems, there is the need to receive digital information that is matched to the computational power available.
Further, there is the need for servers to be able, in real time, to determine the amount of digital information to transmit and then transmit this digital information while minimizing the computational power required to perform such operation.