3e partie – Trame et formats du TC
Initialement imaginé pour situer les images des flux vidéo sur bande magnétique, le code temporel s’est mué en solution pour donner une adresse unique à chaque pas d’information au sein d’un média.
Nous allons détailler la trame de code qui caractérise chacune des adresses uniques du time code.
La trame du code temporelle est un mot numérique qui pèse 80 bits. Les blocs de 80 bits sont agencés les uns après les autres, sous forme sérielle. Ils sont divisés en mots de 4 bits qui permettent la traduction de l’ensemble en notation hexadécimale.
La notation hexadécimale
Nous sommes familiers du système décimal. Il exprime des nombres à l’aide de dix chiffres différents, de 0 à 9. À l’image de M. Jourdain, qui faisait de la prose sans le savoir, nous sommes également tous de grands utilisateurs du système binaire, composé de 0 et de 1. Tous les appareils numériques ont recours à ce codage. Cependant, les grands nombres exprimés en base 2 sont très peu lisibles. Un exemple ? Le nombre binaire 10110101 signifie en décimal… 181 !
Le système hexadécimal va permettre d’écrire le nombre binaire 10110101 avec seulement… deux chiffres. En grec, hexa signifie six, et decem dix. L’hexadécimal exprime donc les nombres en base 16, en utilisant 16 symboles numériques différents. Les 10 chiffres de 0 à 9 plus les six lettres de A à F.
Le nombre 16 étant la quatrième puissance de 2 (24=16), un seul nombre hexadécimal suffira pour exprimer les 16 premières valeurs binaires, entre 0 et 15. Et la réduction du nombre de signes sera de plus en plus significative que la valeur exprimée sera importante. Ainsi, la valeur binaire 1101 0101 1100 1101 devient-elle en hexadécimal… D5CD. Une sacrée économie de données quant il s’agit de faire mouliner des processeurs.
Seule précaution à prendre, identifier les nombres hexadécimaux, que l’on pourrait confondre avec des valeurs décimales. On écrit donc D5CD16, ou $D5CD, ou encore #D5CD.
Utilisé par les processeurs informatiques sans que l’opérateur ne s’en rende compte, la notation hexadécimale est pourtant familière de qui travaille avec la couleur. Sa valeur HEX est en effet exprimée sous forme d’une combinaison de six chiffres et lettres qui définissent le mélange RVB, allant de #000000 pour le blanc à #FFFFFF pour le noir.
Concernant notre time code, exprimer les 80 bits de la base 2 se traduit par uniquement 80/4 = 20 digits hexadécimaux.
L’expression du temps dans la trame
Huit bits sont utilisés par unité, la valeur temporelle nécessite donc 4 x 8 = 32 bits.
Les userbits
En plus de l’identification de la position temporelle, les informations du time code contiennent pour chaque image un mot de 32 bits, les userbits, qui est à la disposition pour ajouter de l’information. 32 bits permettent quatre caractères ou 8 digits hexadécimaux. On peut par exemple renseigner une date ou une courte référence.
Le mot de synchronisation
Il occupe 16 bits des 80 bits de la trame. Il marque l’intervalle d’échantillon du code temporel. Autrement dit, il permet d’identifier, au sein de la suite de données du time code, quand débute une nouvelle trame.
Ce mot s’exprime 0011111111111101 de telle sorte que suivant que le lecteur détecte un début de mot en 00 ou 10, il en déduit le sens de défilement.
Les types de time codes
Si le format du code temporel est cadré tel que nous venons de le décrire, il existe plusieurs solutions d’enregistrement et de transmission. Nous allons évoquer les principales, même si certaines sont aujourd’hui tombées en désuétude pour cause d’abandon des lecteurs à bandes ou cassettes.
Le LTC, pour linear ou longitudinal time code, est le format historique. Il est constitué d’informations binaires enregistrées de façon linéaire sur une piste audio du lecteur concerné. Il est lu à vitesse nominale et dans une certaine mesure en accéléré et au ralenti. Les informations LTC enregistrées sur bande étaient en revanche illisibles lorsque le lecteur était à l’arrêt. Toute information de localisation était alors perdue, mais retrouvée dès que le magnétophone tournait à nouveau.
Le VITC, pour Vertical Interval Timecode, était incrusté sur les bandes magnétiques vidéo, entre les images elles mêmes. L’intérêt majeur de ce procédé était, du fait que les têtes de lecture des magnétoscopes étaient rotatives et lisaient les informations même la bande à l’arrêt, de maintenir les informations de time code en toutes circonstances, des plus grandes vitesses de bobinage à l’arrêt de la bande.
Le MTC, pour MIDI timecode, est un format de time code très utilisé dans l’univers musical. Il existe depuis 1987, pour synchroniser les séquenceurs ou les expandeurs et autres instruments ainsi que les banques d’effets. Monopolisant 32 bits de la trame MIDI pour encoder le timecode, le procédé ne peut proposer ni précision des subframes, ni contenir les user bits. La meilleure précision possible du MTC est le quart d’image, bien suffisante pour les besoins cités. Et pour éviter tout jitter, il est prudent de prévoir pour le MTC un port MIDI distinct.
Des convertisseurs LTC vers MTC, et inversement, existent, sous forme de boîtiers hardware et également de solutions logicielles.