Error concealment is used to hide the effects of errors detected within
digital video information. A complex
error concealment mode decision is disclosed to determine whether spatial
error concealment (SEC) or temporal
error concealment (TEC) should be used. The error concealment mode
decision system uses different methods depending on whether the damaged frame is an intra-frame or an inter-frame. If the video frame is an intra-frame then a similarity metric is used to determine if the intra-frame represents a scene-change or not. If the video frame is an intra-frame, a complex multi-termed equation is used to determine whether SEC or TEC should be used. A novel spatial error concealment technique is disclosed for use when the error concealment mode decision determines that spatial error concealment should be used for reconstruction. The novel spatial error concealment technique divides a corrupt
macroblock into four different regions, a corner region, a row adjacent to the corner region, a column adjacent to the corner region, and a remainder main region. Those regions are then reconstructed in that order and information from earlier reconstructed regions may be used in later reconstructed regions. Finally, a
macroblock refreshment technique is disclosed for preventing error propagation from harming non-corrupt inter-blocks. Specifically, an inter-
macroblock may be ‘refreshed’ using spatial error concealment if there has been
significant error caused damage that may cause the inter-block to propagate the errors.