What is the H.263 video codec?
The H.263 video codec was designed for teleconferencing video compression. It could be compressed and sent at a low bitrate. The video quality wasn’t great, but it was efficient for videoconferencing. Today, while this codec is obsolete, it’s still included in videoconferencing systems along with H.261 for occasions when it might be required. H.263 was revamped several times, so that in addition to videoconferencing, it ended up being used in the early days to display Flash video on the internet.
How is H.263 different from H.261 and H.262?
The H.263 video codec is an evolutionary improvement on the algorithms and techniques that were started with H.261. A key difference is that it handles low bit-rates better than previous codecs in the H.26x family. It keeps a lot of the main design features like the discrete cosine transform (DCT), use of transform coding for intra-frames and predictive coding for inter-frames. It uses more advanced techniques to compress macroblocks. It also does a better job of smoothing out compressed blocks so they are smoother when decompressed for playback. Something unique is the introduction of the B frame.
Previously, video frames were compressed using techniques that involve I and P frames. An I-frame is a type of compression where everything references only the frame you're looking at. It's a key frame that other frames might reference. A Prediction frame (P-frame) is a frame that predicts where objects and things may have moved to from the I-frame. Up until H.263, these are the types of frames used. H.263 adds the B or Bi-Directional frame. This type of frame is similar to a P-frame, but they can predict where an object will be by looking into the past frames or into the future frames. They're efficient because they have more options for how to compress data temporally and spatially but they're resource heavy because it takes more work to calculate them. If a frame needs details from a frame that comes before and after it in order to encode, you have to wait to get those frames before encoding. So it's a bit more complex since now the frames aren't processed in the order they appear in.
H.263 went through three major revisions and was widely used for video conferencing and internet videos until the creation of H.264. Now H.263 is included just in case it's still needed for old systems, but most of the time H.264 or higher is going to be used.