# Error de resiliència

S'entén per error de resiliència (ER) aquelles tècniques i/o algorismes que permeten a un bitstream suportar els errors de canal que es produeixen al transmetre'l. Aquestes tècniques són les emprades pels estàndards H.264/MPEG-4 AVC. En els camps de la codificació i transmissió de video, l'error de resiliència ens permet assegurar un impacte mínim en la qualitat de la imatge reconstruïda.
Generalment, les diferents tècniques d'aplicació de l'error de resiliència introdueixen redundància en les dades a transmetre. D'altra banda, les tècniques de compressió pretenen eliminar la redundància de les dades. Una situació força contradictòria.
En l'estandard H.264/AVC podem trobar un gran nombre de paràmetres configurrables per la compensació entre la compressió de les dades i l'error de resiliència en funció dels problemes detetctats anteriroment en canals d'entorns de tranmissió heterogenis.

## Categories

Es parla de tres categories diferents en el camp de l'error de resilència en funció com es porten a tèrme.

### Open Loop Error (de Llaç obert)

Són tècniques que s'apliquen al codificador per tal de grantir que el flux de dades sigui més resilient a possibles errors, és a dir, dotar-lo d'una millor capacitat per recuperar l'estabilitat. Es tracta de mètodes de correcció immediata i sense retards en la transmissió. LE principal desavantatge és que fan ús dels recuros hi hagi errors o no. Tots aquells métodes basats en Forward Error Correction són del tipus llaç obert.

### Closed Loop Error (de bucle tancat)

Són tècniques que requereixen la interacció entre el descodificador i el codificador. Quan el descodificador identifica un error en la transmissió, aquest reporta un informe, de manera que el codificador pot ajustar el seu estat i funcionament per permetre la recuperació de les dades perdudes. Per certs sistemes a temps real, aquest mètode només es pot utilitzar si el retard d'extrem a extrem és tolerable. Pot ser el cas d'un circuit tancat per vídeo-conferències. Automatic Request for Retransmission(ARQ) és un exemple de mètode basat en errors de bucle tancat.

### Error Concealment (d'encobriment o ocultació)

Es tracta de diferents tècniques implementades als descodificadors de vídeo per amagar l'efecte d'un error en el bitstrream després de la detecció. Aquest mètode no implica el codificador, no cal que aquest enviï cap informació addicional. El descodificador intenta conèixer la mostra de la imatge que falta (o el bloc de mostres), basant-se en les mostres rebudes del voltant mitjançant la correlació espacial i temporal. Aquestes tècniques requereixen una complexitat computacional elevada i acostumen a ser eficients per les taxes de pèrdua de bit baixes.

## Tècniques basades en l'Error de Resiliència

* Flexible Macroblock Ordering
    Aleatoritza les dades abans de la transmissió, de manera que si un segment de dades es perd (per exemple, un paquet o diversos paquets), els errors es distribueixen més a l'atzar sobre els frames de vídeo, en lloc de causar la corrupció d'una regió completa D'aquesta manera, és més probable que les dades de veïns afectats es trobin disponibles per la seva ocultació.
* Arbitrary Slice Ordering
    Codificador intel·ligent que agrupa macro blocks en slices, la grandària dels quals és menor (o igual) que la mida de la MTU de la xarxa. S'utilitza per a la reestructuració de l'ordre de la representació de les regions fonamentals (macroblocs) en les imatges. Permet evitar la necessitat d'esperar un conjunt complet d'imatges per arribar a totes les fonts.
* Data Partitioning (DP)
    Permet la partició desigual de l'error (UEP), d'acord amb la importància dels elements de sintaxi, ja que en el bitstream alguns d'aquests elements són més importants que d'altres. Les dades codificades que constitueix un slice es col·loca en tres particions de dades(DP) diferents (A, B i C), cadascun conté un subconjunt del slice codificat.
* Redundant Slices (RS)
    El descodificador reconstrueix el frame de les imatges primàries i descarta les imatges redundants. No obstant això, si una imatge codificada primària està danyada, el descodificador pot reemplaçar la zona danyada amb les dades descodificats a partir d'una imatge redundant, sempre que aquesta estigui disponilbe.
* SP/SI frame for bitstream switching
    Aquest esquema suposa que més d'un bitstream de vídeo s'envia a través de la xarxa.
En el cas que la sincronització es perdi o que existeixi un error en el bitstream', el descodificador pot assenyalar la presència d'error en el frame (s) a través d'una retroalimentació (feedback) de canal i el frame de SP es pot generar per a la recuperació d'errors.
* Reference Frame Selection
    La selecció dels frames de referència es basa en la retroalimentació dels canals. Existeixen quatre modes:
      * Neither: no back-channel les dades tornen del descodificaor al codificador.
      * ACK: el descodificadir retorna només un missatge de reconeixement.
      * NACK: el descodificador retorna missatge de no-reconeixamentthe decoder returns only non-acknowledgment messages.
      * ACK+NACK: el descodificador retorn tots dos tipus de missatge.
* Intra-block refreshing by R-D control
    calcula els costos computacionals de les funcions per trobar la codificació de block òptima.
* Random Macroblock Intra Refresh
    Permet al codificador enviar la redundància de les regions redundants d'imatges.

## Perfils ER segons estàndards H.264/MPEG-4/AVC

* El perfil bàsic inclou eines de major capacitat per recuperar l'error.
   * Flexible Macroblock Ordering (FMO),
   * Arbitrary Slice Ordering (ASO)
   * Redundant Slices (RS)
* El perfil ampliat afegeix més suport pel que fa a la capacitat de recuperació d'errors en data partitioning (DP).
* El perfil principal no inclou eines millorades per a la recuperació d'errors com FMO, ASO, RS, DP, SP o SI Slices.

## Referències

* ↑ de l'error de resiliència en H.264
* ↑ Yves Dhont, Peter Lambert, Flexible Macroblock Ordering an error resilience tool in H.264/AVC

## Bibliografia

* PDF Perceptual Error Protection Using Distributed Video Coding Principles per André Seixas Dias

## Enllaços externs

* de l'error de resiliència en H.264 (anglès)
* PDF Verification-Guided Soft Error Resilience Sanjit A. Seshia, Wenchao Li i Subhasish Mitra
* PDF Error resilience and recovery in streaming ofembedded video per Sungdae Cho i William A. Pearlman