H.264s extensive use of context-based adaptive binary arithmetic or variable length coding makes streams highly
susceptible to channel errors, a common occurrence over networks such as those used by mobile devices. Even a single
bit error will cause a decoder to discard all stream data up to the next fixed length resynchronisation point, the worst
scenario is that an entire slice is lost. In cases where retransmission and forward error concealment are not possible, a
decoder should conceal any erroneous data in order to minimise the impact on the viewer. Stream errors can often be
spotted early in the decode cycle of a macroblock which if aborted can provide unused processor cycles, these can
instead be used to conceal errors at minimal cost, even as part of a real time system. This paper demonstrates a technique
that utilises Sobel convolution kernels to quickly analyse the neighbourhood surrounding erroneous macroblocks before
performing a weighted multi-directional interpolation. This generates significantly improved statistical (PSNR) and
visual (IEEE structural similarity) results when compared to the commonly used weighted pixel value averaging.
Furthermore it is also computationally scalable, both during analysis and concealment, achieving maximum performance
from the spare processing power available.
With the continual increase in both popularity and power of portable multimedia devices, it is often desirable to stream video across telephone networks using modern encoding standards, even when the transmission network has only limited bandwidth available. This paper demonstrates an alternative use of the passive error concealment algorithm that is currently used in the H.264 video coding standard. As each macroblock is encoded a concealed version is also generated in the same way that a decoder would conceal an erroneous macroblock. Occasionally the concealed version is mathematically closer to the original source than the normally reconstructed version, in these cases the macroblock is flagged as containing no data and is not included in the bit stream. The decoder then uses the already present weighted pixel value averaging concealment technique to reconstruct the flagged macroblocks as it renders the picture. The proposed method has been tested over a wide variety of test sequences at various sizes and qualities; the outcome of the research is that for almost identical mathematical and visual metric results, a significant reduction in the bit stream size can be achieved, in some cases by as much as 5%.