Frames in a video sequence are divided into two or more regions and a
specified number of macroblocks are selected in each region for
intra-coding. Depending on the particular implementation, for one or more
of the regions, the intra-macroblocks are selected randomly, while at
least one other region is dividing into a specified number of slices with
the least-recently intra-coded macroblock in each slice selected for
intra-coding. When an error is detected at the decoder, the decoder
discards data in the corresponding packet and applies a concealment
strategy that involves using motion-compensated data if the motion vectors
were accurately decoded; otherwise, using non-motion-compensated reference
data for the macroblocks affected by the discarding of data. The refresh
strategy of the present invention can be used to provide the resulting
encoded bitstream with resilience to transmission errors, while
maintaining an acceptable degree of video compression.
Des vues dans un ordre visuel sont divisées en deux régions ou plus et un nombre indiqué de macroblocks sont choisies dans chaque région pour l'intra-codage. Selon l'exécution particulière, pour un ou plusieurs des régions, les intra-macroblocks sont choisis aléatoirement, alors qu'au moins une autre région se divise en nombre indiqué de tranches avec le moindre-récent macroblock intra-codé dans chaque tranche choisie pour l'intra-codage. Quand une erreur est détectée au décodeur, le décodeur jette des données dans le paquet correspondant et applique une stratégie de dissimulation qui implique d'employer des données mouvement-compensées si les vecteurs de mouvement étaient exactement décodés ; autrement, en utilisant des données non-mouvement-compensées de référence pour les macroblocks affectés par jeter des données. La stratégie de régénération de la présente invention peut être employée pour fournir au bitstream codé résultant la résilience aux erreurs de transmission, tout en maintenant un degré acceptable de compression visuelle.