L'information à coder est découpée en blocs
de 24 octets.
x0
=
(x0,0,x0,1,...,x0,23)
x1
=
(x1,0,x1,1,...,x1,23)
...
xi
=
(xi,0,xi,1,...,xi,23)
...
Chaque bloc xi
est codé à l'aide de C1
en autant de blocs yi
de 28 octets (on a bien sur yi,j=xi,j pour tout j<24)
y0
=
(y0,0,y0,1,...,y0,23,y0,24,y0,25,y0,26,y0,27)
y1
=
(y1,0,y1,1,...,y1,23,y1,24,y1,25,y1,26,y1,27)
...
yi
=
(yi,0,yi,1,...,yi,23,yi,24,yi,25,yi,26,yi,27)
...
Les yi sont
placés dans une table d'entrelacement à retard 4
(comportant 28 lignes), c'est-à-dire que l'octet yi,j se trouve sur la j-ème
ligne et la (i+4j)-ème colonne.
Le remplissage de la table sous le premier mot de code et au dessus du
drenier se fera de façon arbitraire, par exemple avec des
zéros.
Quatre lignes sont ajoutées au tableau en codant chaque
colonne à l'aide du code C2.
Le résultat est inscrit sur le support colonne par
colonne.
Procédure de décodage
On lit les octets par blocs (colonnes) de 32 octets.
On essaye de corriger une erreur dans chaque colonne à
l'aide d'un décodeur de C2.
En cas d'échec on marque la colonne comme effacée.
On récupère une table de 28 lignes d'octets -- dont
certaines colonnes sont marquées comme effacées -- dont
on extrait des blocs de 28 octets (voir dessins et procédure de
codage). Tout bloc comportant 4 effacements ou moins sera
corrigé à l'aide du décodeur de C1. S'il y a 5 effacements ou plus dans un bloc,
il n'y a rien à faire.