Video codecs use various compression techniques to fit a video signal into the allotted channel bandwidth. These compression
techniques can affect the resulting quality of the video in different ways. An understanding of encoding principles can help a
content provider determine what content will look best on a mobile device, and highlight some of the expected trade offs when
producing multimedia files.
Quick bandwidth reduction can be achieved by using video compression techniques such as:
- Removing statistical redundancies
- Reducing resolution size (for example, CIF ➔ QCIF)
- Using fewer frames per second (for example, 15 fps ➔ 10 fps)
Further bandwidth reduction can be achieved by leveraging the patterns within the video data and removing redundancies. Image
compression relies on discarding information that is indiscernible to the viewer. Motion compensation provides interpolation
between frames, using less data to represent the change. The goal of a video encoder is to remove redundancies in the video
stream and to encode as little data as possible. To achieve this goal, the encoder samples the video stream in two ways:
- In time intervals from consecutive frames (temporal domain)
- Between adjacent pixels in the same frame (spatial domain)
A video decoder pieces the video stream together by reversing the encoding process. The decoder reconstructs the video stream
by adding together the pixel differences and frame differences to form a complete video.
This is an overly simplified look at compression, but it is useful to remember that a compressed video stream provides the deltas
between previously encoded data, instead of a complete representation of each frame.