Les inconvénients des techniques de codage sans perte
Le codage sans perte, ou compression sans perte, fait référence au processus de codage plus efficace des données 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 par bit, lorsque les données sont décompressées. L'avantage des techniques d'encodage 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 d'encodage avec perte.
Taux de compression
Les techniques de codage sans perte ne permettent pas d'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 d'encodage 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éduite qu'à 6,5 mégaoctets en utilisant le format PNG sans perte, mais peut être réduite à seulement 1 mégaoctet en utilisant le format JPEG avec perte. .
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 comme les taux de compression qui peuvent être atteints par les techniques d'encodage sans perte sont bien inférieurs aux techniques d'encodage avec perte, les techniques d'encodage 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 Huffman. Dans le codage de Huffman, plus un symbole apparaît souvent 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 les coder, c'est donc un processus relativement lent. Cela signifie à son tour que les techniques de codage sans perte qui utilisent le codage Huffman sont nettement 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 corrompues - en d'autres termes, elles contiennent des bits parasites ou des bits manquants - elles seront décodées de manière incorrecte et la sortie sera non-sens.