Codage en ligne
Pour le transport de données numériques, le codage en ligne est souvent utilisé. Il consiste à représenter le signal numérisé à transporter, par un autre signal qui présente des variations d'amplitude régulièrement espacées dans le temps, celui-ci étant adapté aux propriétés physiques spécifiques des canaux de transmissions (et des équipements récepteurs). Le codage du signal est utilisé pour représenter les 1 et les 0 d'un signal numérique sur le lien, ce processus est appelé codage en ligne. Après le codage en ligne, le signal peut être directement émis sur le canal de transmission, sous la forme de variations de la tension ou du courant. Les types de codage en ligne les plus utilisés sont unipolaire, polaire, bipolaire et le codage Manchester.
Codage arithmétique
Ce qui différencie le codage arithmétique des autres codages sources est qu'il code le message par morceaux (théoriquement il peut coder un message entier de taille quelconque mais dans la pratique on ne peut coder que des morceaux d'une quinzaine de symboles en moyenne) et représente chacun de ces morceaux par un nombre formula_1 (flottant) là où Huffman code chaque symbole par un code précis. Le problème qui en résulte pour le codage Huffman est qu'un caractère ayant une probabilité très forte d'apparition sera codé sur au moins un bit. Par exemple, si on cherche à coder un caractère représenté à 90 %, la taille optimale du code du caractère sera de 0,15 bit alors que Huffman codera ce symbole sur au moins 1 bit, soit 6 fois trop. C'est cette lacune que le codage arithmétique comble grâce à un algorithme proche du codage par intervalle.