Les techniques de codage sans perte réduisent la taille des fichiers numériques.
L'encodage sans perte, ou compression sans perte, fait référence au processus d'encodage des données plus efficacement afin qu'elles occupent moins de bits ou d'octets, mais de manière à ce que les données d'origine puissent être reconstruites, bit à bit, lorsque les données sont décompressé. L'avantage des techniques de codage sans perte est qu'elles produisent une copie exacte des données d'origine, mais elles présentent également certains inconvénients par rapport aux techniques de codage avec perte.
Ratio de compression
Les techniques de codage sans perte ne peuvent pas atteindre des niveaux de compression élevés. Peu de techniques de codage sans perte peuvent atteindre un taux de compression supérieur à 8:1, ce qui se compare défavorablement aux techniques de codage dites avec perte. Les techniques de codage avec perte -- qui réalisent la compression en supprimant certaines des données d'origine -- peuvent atteindre des taux de compression de 10:1 pour l'audio et de 300:1 pour la vidéo avec peu ou pas de perte perceptible de qualité. Selon le New Biggin Photography Group, une image couleur RVB 24 bits de 1 943 x 1 702 pixels avec une taille d'origine de 9,9 mégaoctets ne peut être réduit qu'à 6,5 mégaoctets en utilisant le format PNG sans perte mais peut être réduit à seulement 1 mégaoctet en utilisant le JPEG avec perte format.
Vidéo du jour
Temps de transfert
Toute application impliquant le stockage ou la diffusion d'images numériques, ou les deux, suppose que ces opérations puissent être réalisées dans un délai raisonnable. Le temps nécessaire pour transférer une image numérique dépend de la taille de l'image compressée et des taux de compression pouvant être atteints par les techniques de codage sans perte sont bien inférieures aux techniques de codage avec perte, les techniques de codage sans perte ne conviennent pas à ces applications.
Codage de Huffman
De nombreuses techniques de codage sans perte, y compris PNG, utilisent une forme de codage connue sous le nom de codage de Huffman. Dans le codage de Huffman, plus un symbole apparaît dans les données d'origine, plus la chaîne binaire utilisée pour le représenter dans les données compressées est courte. Cependant, le codage de Huffman nécessite deux passes, une pour construire un modèle statistique des données et une seconde pour l'encoder, c'est donc un processus relativement lent. Cela signifie à son tour que les techniques de codage sans perte qui utilisent le codage Huffman sont notablement plus lentes que les autres techniques lors de la lecture ou de l'écriture de fichiers.
Décodage
Un autre inconvénient du codage de Huffman est que les chaînes ou codes binaires dans les données codées sont tous de longueurs différentes. Cela rend difficile pour le logiciel de décodage de déterminer quand il a atteint le dernier bit de données et si les données codées sont corrompu - en d'autres termes, il contient des bits parasites ou des bits manquants - il sera décodé de manière incorrecte et la sortie sera absurdité.