differences from one frame to the next, but
differences from one frame to the next, but there are many areas of the picture that do not change. This redundancy of information from one frame to the next can be exploited to lower the data rate. The basis of the compression is to transmit only the difference between frames frame differencing. The player stores the entire picture in a frame store, and then reconstructs the picture from the previous frame and the difference information. Since most of the difference between frames is from moving objects, there is further potential to reduce the data. The player already has the information to reconstruct the object; it is just in the wrong position. If a motion vector could be sent to say this block has moved from position A to position B then the block would not have to be retransmitted. Of course it is not that simple. We are looking for a coding gain, where the total data rate is reduced with no apparent change to the picture quality. Motion vectors are additional data that have to be transmitted to the player. As an example, a scene with considerable subject movement coded to MPEG-2 at a rate of 6 Mbit/s can comprise 2 Mbit/s of motion vectors. That represents onethird of the total data. Another problem is the reveal. As an object moves, what is revealed in its previous location? Motion estimation To generate motion vectors the encoder has to estimate the movement of picture elements. There are many ways to do this, some more complex than others. Since codecs like MPEG define the decoder rather than the encoder, the method used for vector generation is left to the encoder designer. In a typical encoder, the motion prediction compares a previous frame with the current frame, and then estimates how blocks of the picture have moved. A local decoder generates the previous frames rather than using the original frames before intraframe compression. This is so that the predictor is using the same information that the player s decoder has available for computation. The motion predictor makes trial moves of a block of pixels to establish the best match for the position of any moving elements. This match is then used to create a motion vector. Block matching is not the only technique for motion estimation, but it is one of the simplest to implement. One consequence of the use of motion vectors is that the aggregate data rate will vary with the amount of motion in a scene. For a given image quality, a stationary scene may need 4 Mbit/s, and a scene with rapid movement may need 6 Mbit/s. A constant quality requires a variable bit-rate. This may conflict with the distribution medium; channels like telco circuits and satellite transponders have a fixed bandwidth. 86 The Technology of Video and Audio Streaming
Note: If you are looking for good and high quality web space to host and run your application check Lunarwebhost PHP Web Hosting services