Principes de base utilisés dans l’algorithme de recherche du 68705
1) Particularités du GPA
Le tableau central ci-dessus, représente l’évolution des bits du GPA pour une douzaine de lignes quelconques d’une trame.
A chaque nouvelle ligne, un nouveau bit issu du OU exclusif entre Q2 et Q0 fait son entrée par la gauche dans le GPA.
Ainsi le bit qui était en Q10 (ligne « n ») se retrouve en Q0 une dizaine de lignes plus tard (ligne « n+10 ») pour finalement sortir du GPA par la droite la ligne suivante (ligne « n+11 »).
Le bit Q10 du GPA ou bit « Y » est un des 3 bits (X, Y et Z) qui déterminent les retards infligés au signal vidéo. Ainsi quand on regarde l’évolution de ce bit Y dans la colonne la plus à gauche du tableau, on constate que le bit Y (b11) sur sa dernière ligne résulte du OU exclusif entre les états de ce même bit Y pris 9 et 11 lignes (b2 & b0) plus en avant dans la trame. L’équation du polynôme générateur se transpose donc verticalement, soit temporellement dans la trame, sous la forme [Y] = [Y-9] XOR [Y-11].
Le OU exclusif étant une opération particulièrement commutative, ceci implique les relations ci-dessous avec certaines des lignes précédentes de la trame, donc celles au-dessus de la ligne courante dans l’image:
• [Y] = [Y-9] XOR [Y-11] = [Y-11] XOR [Y-9]
• [Y-9] = [Y] XOR [Y-11] = [Y-11] XOR [Y]
• [Y-11] = [Y] XOR [Y-9] = [Y-9] XOR [Y]
Relations que l’on peut translater ainsi avec les lignes en-dessous de la ligne courante.
• [Y] = [Y+2] XOR [Y+11] = [Y+11] XOR [Y+2]
• [Y+2] = [Y] XOR [Y+11] = [Y+11] XOR [Y]
• [Y+11] = [Y] XOR [Y+2] = [Y+2] XOR [Y]
2) Particularité de la table des retards
Dans la première table, celle où le paramètre de papillotement « Z » est à zéro pour les trois premières trames du cycle, on observe immédiatement que le retard 2 dépend uniquement du bit Y.
Ce retard 2 est donc indifférent à l’état du bit « X » et c’est cette particularité qui va être exploitée par l’algorithme de recherche du 68705.
3) Échantillonnage
Le niveau logique en sortie d’un comparateur dont le seuil est fixé à un certain pourcentage du niveau du blanc (50% par exemple) évoluera donc en fonction de l’amplitude de la luminance à un instant donné : 0 si en dessous, 1 si au dessus du seuil fixé (ou l’inverse).
Une variation de luminance dans une zone de l’image, que l’on aurait réussi à prélever au moment opportun, va produire des valeurs d’échantillon différentes entre lignes impactées selon le retard imposé à chacune.
La figure ci-dessus représente les différents échantillons que l’on peut obtenir sur les variations d’un même signal de luminance subissant un retard différent, le prélèvement s’effectuant toujours au même instant d’une ligne sur l’autre.
Plusieurs configurations se produisent:
• Prélevé aux instants A, D, E et H, l’échantillon ne changera jamais de valeur entre deux lignes consécutives.
A écarter, ils ne sont pas intéressants.
• Prélevé aux instants B et C, l’échantillon est à cheval sur une augmentation de luminance.
Il est à zéro si le prélèvement à lieu juste avant la transition et à un si c’est après.
A l’instant « C » son état reflète l’inverse de celui du bit Y qui a engendré le retard de la ligne.
• Prélevé aux instants F et G, l’échantillon est à cheval sur une diminution de luminance.
Il est à un si le prélèvement à lieu juste avant la transition et à zéro si c’est après.
A l’instant « G » son état reflète exactement celui du bit Y.
Les configurations « C » et « G » sont donc les sésames qui vont permettre de retrouver les bits Y générés par le GPA.
Afin d’améliorer les chances de succès, il va donc falloir échantillonner chaque ligne plusieurs fois à des intervalles réguliers pour espérer capturer une variation de luminosité qui soit suffisamment conséquente en hauteur pour obtenir une quantité significative d’échantillons exploitables.
4) Exploitation des échantillons
Du flot de bits correspondant au même instant d’échantillonnage dans les lignes, il est impossible de savoir de but en blanc de quelle configuration B, C, F ou G ils sont issus.
Cependant:
• Un bit quelconque du flot équivaut:
? Au bit « Y » associé s’il a été prélevé en « G » (luminosité décroissante).
? A son inverse s’il l’a été en « C » (luminosité croissante).
• Si le bit respecte la relation [Y] = [Y-9] XOR [Y-11] (ou bien [Y] = [Y+2] XOR [Y+11]) avec les autres bits du flux,
Il peut potentiellement avoir été prélevé dans la configuration « G ».
• Si le bit respecte la relation inverse, c’est à dire l’inéquation [Y] ? [Y-9] XOR [Y-11] (ou bien [Y] ? [Y+2] XOR [Y+11]),
Il peut potentiellement avoir été prélevé dans la configuration « C ».
Maintenant, il n’y a plus qu’à compter les exactitudes ou bien les différences sur un nombre d’échantillons déterminé:
• Si l’on compte autant d’exactitudes que d’échantillons ou que le compte des différences est nul,
c’est que l’on a capturé une diminution de luminosité de la configuration « G »
• Si l’on compte autant de différences que d’échantillons ou que le compte des exactitudes est nul,
c’est que l’on a capturé une augmentation de luminosité de la configuration « C »
Reste à déterminer le nombre critique d’échantillons consécutifs nécessaire pour certifier à coup sûr que ceux-ci ont bien tous été prélevés à l’instant C ou G et non pas aux instants B et F. De de ce fait ils seront assimilables aux états successifs de Y, et donc aux bits qui ont circulé à l’intérieur du GPA à ce moment là.
Ce nombre critique était fixé à 18 pour le programme du 68705…