The present invention relates to processing data and, more particularly, to a system and method that simultaneously performs data encoding in multiple formats and at various bit rates.
Computer networks, such as the Internet, wide area networks (WAN), local area networks (LAN), and the like, are used for many different purposes. One of the major purposes of such a network is the transmission of data from one location to another, for example, from a central hub to a plurality of end user terminals. Such data can be simple text data, or can consist of a combination of text and graphical data. In addition, video and corresponding audio data can be transmitted from one site to another, either as streaming media, or as a standard data file that is downloaded and then displayed on the users"" displays. As is well known to those skilled in the art, streaming media offers the advantage that the display of the media can commence before the entire media file has been downloaded. A portion of the file is downloaded and stored in a buffer, and then the file begins to be displayed while the remainder of the file continues to download. Thus, bandwidth considerations are critical in the case of streaming media. If bandwidth capability is too small, there may be undesirable pauses in the playback of the media file while the remainder of the file is received.
Because video files are typically very large, efficiently transmitting those files over a computer network requires that the data be compressed in some manner to work within the amount of available bandwidth offered by the network. Thus, video files are often encoded by a compression technique into an encoded bitstream and then transmitted over the network. At the receiving end, the encoded bitstream is then decoded to reconstruct the original data signals, which are then displayed on a suitable display.
In the case of streaming media, it is highly desirable that the data be compressed, so that the amount of data that must be transferred and buffered before commencing display of the media can be relatively small. This reduces the amount of time an end user must wait before the media is displayed to them.
Currently, there are a number of encoding formats that are used to perform data compression, because each format offers certain advantages and disadvantages over the others for particular applications. Unfortunately, these formats are typically incompatible with each other. Thus, if a signal is broadcast in one encoded format, only those end users who receive the signal and have the appropriate decoder will be able to decode and view the data. Accordingly, it is desirable to encode a data signal in multiple formats to be accessible by a larger percentage of the end users.
In addition, users who have access to the Internet and other such networks typically have varying bandwidth capabilities. For example, some users are connected to the Internet through either a 28.8K or 56K modem that provide for relatively small data transfer rates. Others are connected through an integrated service digital network (xe2x80x9cISDNxe2x80x9d) which provides much faster data transfer rates. Still others are connected through T1 lines, DSL lines, and the like, which provide even larger bandwidth capabilities.
Thus, in the case of streaming media, if a data signal is encoded at only one bit rate that can be received by all end users, the end users with relatively large bandwidth capabilities will be presented with media having much less quality than it otherwise could have. Conversely, if the data signal is encoded at a high bit rate, the end users with small bandwidth capabilities will not be able to view the data signal in a continuous fashion, as the system will have to buffer the information required to display the data signal. Accordingly, it is desirable to encode the data at different bit rates, so that all end users can view the data, and so that, at the same time, those having high bandwidth capabilities can receive a relatively high quality data signal.
Others have proposed systems that encode a data signal at different bit rates. Those systems incorporate a plurality of separate encoders that are arranged such that each encoder receives the video signal, and are individually set to encode at different bit rates. An example of such a system is shown in FIG. 1. A signal (typically containing both audio and video) from a signal source 10 is transmitted to plural audio and video distribution amplifiers 12 and 14. The amplified signals are then introduced to plural encoders 16, each of which is separately controlled to encode the incoming stream. Thus, the single video stream is encoded at different bit rates. However, by using separate encoders which are controlled by separate controllers, offset issues are usually experienced within the various encoded signals. Thus, the need exists for a system and method whereby one or more data signals can be encoded at multiple bit rates and in multiple formats, and in which the various encoded streams are synchronized to provide concurrent, real-time encoding. The present invention addresses these needs.
In a preferred embodiment, the present invention is directed to a system and method for simultaneously and synchronously encoding a data signal in multiple formats and at multiple bit rates. According to one aspect of the invention, plural encoders are controlled by one central controller or a graphical interface, which controls the settings of each encoder, and also controls the commencement and termination of the encoding process to ensure that each encoder starts and stops encoding at substantially the same time, thereby synchronizing the encoded streams.
In one embodiment, the present invention is directed to a system for processing a data signal, including plural encoders and a single controller connected to the respective encoders. The controller is operative to control the respective encoders to set the formats of the encoders and the respective bit rates at which they will encode the data.
In another embodiment, the system includes a unified user interface that allows a user to input desired encoding formats and formatting parameters for each of the encoders. The unified user interface then may interact with each encoder to control the encoding process through the single interface.
In yet another embodiment, the invention is directed to a method of encoding an incoming data signal, comprising receiving input from a user with respect to desired encoding formats and encoding parameters, retrieving one or more encoder objects based upon the selected encoding formats, configuring the encoder objects based upon the selected encoding parameters, linking the encoder objects to corresponding encoding stations to control encoding at the respective stations, and encoding the incoming data at the respective stations, with each station encoding the data based on the corresponding configured encoder object.