Effects of errors and error recovery in images compressed by the JPEG still image compression standard algorithm
The use of the variable-length coding in the final stage of image compression using JPEG makes the image more sensitive to channel errors and can have severe effects on the viewed image. This is due to loss of synchronization in the decoder. Even one bit error can propagate significantly throughout the image. In the past, some techniques have been proposed for resynchronizing Huffman decoders using special synchronizing codewords. The JPEG standard itself allows the use of a special restart marker to help decoder resynchronization. It does not, however, give any guidelines for error recovery. We first describe the most probable types of errors that occur in a JPEG data stream. We focus on techniques and algorithms for detecting the occurrence of a particular error and then for locating that error. One technique functions at the entropy encoding level by taking advantage of the specific data structure of the JPEG stream and using alternately two different end-of-block characters. Others function at the DCT coefficient level or at the pixel level, detecting unlikely patterns that are produced due to errors. We compare different methods and finally propose the most effective method for error detection and image correction.<<ETX>>