Quel est le format d'image le plus simple? Algorithmes de compression d'image

Les photos et les images diffèrent non seulement par leur contenu, mais également par d’autres caractéristiques «informatiques». Par exemple, en taille.

Il se trouve que, semble-t-il, deux modèles identiques, mais l’une est trois fois plus grande que l’autre.

De plus, les images diffèrent en qualité. Je pense que vous avez rencontré à plusieurs reprises des photos de qualité extrêmement médiocre. Ceci est visible à l'œil nu. Par exemple, deux photos identiques, mais l’une de la meilleure qualité et l’autre - la pire.

Et il se trouve que l'image ne semble pas avoir suffisamment de couleurs. Voici un exemple.

Et le format ou le type de fichier est responsable de tout cela.

En fait, les images se présentent sous différents formats. Et ils sont très nombreux. Nous ne les considérerons pas tous, mais parlons des plus courants. Ce sont des formats tels que bmp, gif, jpg, png, tiff.

Il diffère tout d'abord par sa qualité. Et la qualité est différente en quantité (saturation) de couleurs.

Par exemple, je peins une image en utilisant couleurs différentes. Et soudain, certaines d'entre elles ont pris fin et vous devez finir de peindre avec ce que vous avez. Bien sûr, je vais essayer de faire tout ce qui est possible pour que cela n’affecte pas le résultat, mais l’image ne se déroulera pas comme je le souhaiterais - plus floue et plus floue.

Donc, avec les formats d'image. Certains laisse toutes les couleurs, l'autre coupe. Et, parfois, à cause de cela, la photo se détériore.

Ceci est un exemple assez approximatif. En fait, tout y est un peu plus compliqué, mais je pense que l’essentiel est que vous ayez compris.

Formats d'image communs

BMP - le format des dessins réalisés en programme de peinture. Il peut être utilisé pour stocker les images dessinées sur l'ordinateur. Mais sur Internet, ce type de fichier n'est pas utilisé en raison du volume important. Donc, si vous souhaitez publier une image dessinée dans Paint, dans un blog ou réseau social, il doit être d'un autre type - gif, jpg ou png.

Le format GIF est un format d'image populaire sur Internet. Il est possible de les sauvegarder sans perte de qualité, mais avec un nombre limité de couleurs - 256. Gif a reçu une popularité particulière du fait qu’il est possible de créer de petites images animées (animées).

JPG - un format de photos et d'images avec un grand nombre de couleurs. Il est possible d’enregistrer l’image sans perte de qualité ou avec perte de qualité.

Le format PNG est un format de dessin moderne. Ce type d'image est petit et sans perte de qualité. Très pratique: le fichier est petit et la qualité est bonne. Et il maintient la transparence.

TIFF - Des images de très bonne qualité, sans compression, la taille des fichiers est donc énorme. Le format TIFF est utilisé lorsque la qualité est importante. Par exemple, lors de la création de cartes de visite, de brochures, de couvertures de magazines.

Quel format choisir

  • BMP - s’il s’agit d’un dessin réalisé dans Paint et que vous ne le conserverez que sur un ordinateur.
  • GIF - si l'animation ou le dessin avec un petit nombre de couleurs est destiné à la publication sur Internet.
  • PNG - s’il s’agit d’un dessin comportant de nombreuses couleurs ou des parties transparentes.
  • Jpg (JPEG) - si la photo.
  • TIFF - image pour impression (cartes de visite, brochures, affiches, etc.).

Bonjour chers amis. Aujourd'hui, nous allons parler du format d'image à utiliser sur le site, quels formats sont disponibles aujourd'hui. fichiers graphiques   pour le site et s'il est nécessaire de chasser les nouveautés de formats graphiques.

Beaucoup de mes étudiants me demandent s’ils peuvent utiliser les nouveaux formats SVG et WebP, et s’ils préfèrent appliquer ces images. Bien sûr, vous pouvez utiliser de nouveaux formats, il vous suffit de comprendre quel format et ce qui vous convient le mieux.

Aujourd'hui, les images sur le site font partie intégrante. À partir de la conception graphique et du téléchargement d’images dans des articles, les graphiques accompagnent la plupart des sites Web. Mais pour la beauté, vous devez payer

Les images non optimisées sont l’un des facteurs qui ralentissent le site, comme l’indiquent les services de vérification.

Par conséquent, vous devrez toujours choisir le format à choisir pour l'image. Cela dépendra de sa taille et de sa qualité. Et pour utiliser des images plus petites sans perte de qualité, vous devez savoir certaines choses.

Quelles images pour les sites que j'utilise aujourd'hui

Toutes les images pour les sites sont divisées:

  • raster (exemple - jpg, jpeg, gif, png),
  • vecteur (exemple - SVG).

Raster   les images sont constituées de pixels dans lesquels la valeur de couleur et de transparence est stockée. Ces formats sont des images dans des articles, des boutons, des icônes et des éléments de conception. Ces images sont populaires parmi les développeurs et les propriétaires de sites. Le principal inconvénient des images matricielles est qu’elles ne sont pas bien à l’échelle.

En d’autres termes, lorsque vous augmentez la taille de l’image, la qualité diminue.



Vecteur Les images sont composées de lignes et de points de route. Les informations sur l'image sont stockées dans des instructions mathématiques pour le dessin, ce qui vous permet de redimensionner à votre guise les images sans perte de qualité.

Toutes ces images peuvent et sont utilisées sur des sites modernes. Seulement vous devez comprendre cela avant de télécharger sur le site!

Description des formats d'image populaires pour le site

À partir de la description de ces formats, vous comprendrez où et quel format est le mieux utilisé sur le site.

Jpeg

JPEG ou JPG est l’un des formats d’image les plus populaires pour les sites Web. Le format prend en charge des millions de couleurs, ce qui lui confère une position de leader dans la présentation de photos et d'images sur le site.

Les images de ce format sont assez bien optimisées, avec pratiquement aucune perte de qualité, ce qui vous permet d’obtenir un fichier plus petit sans perte de qualité visuelle. Il faut se rappeler que chaque optimisation ultérieure réduit la qualité.

Les fichiers de ce format sont pris en charge par tous les appareils et les navigateurs, ce qui confirme une nouvelle fois sa popularité et vous permet de ne pas vous inquiéter des problèmes d’affichage sur les sites.

Le gros inconvénient de ce format est le manque de transparence. Autrement dit, combiner des images dans ce format ne fonctionnera pas. Pour de telles tâches, il est préférable d'utiliser le format suivant.

PNG

Ce format utilise un algorithme de compression sans perte. Par le nombre de couleurs et le niveau de transparence est disponible en deux types de 8 et 24 bits. Les deux maintiennent la transparence.

Le format 8 bits n’est pas très populaire, mais le format 24 bits est largement utilisé pour diverses images sur le site. En raison de la transparence, vous pouvez créer des images combinées. Souvent utilisé pour créer des boutons animés, des icônes, où vous avez besoin d'un effet de transparence.

Les images au format PNG peuvent être optimisées plusieurs fois, éditées - elles conservent la qualité d'origine.

Le format est également pris en charge par tous les navigateurs et appareils, ce qui garantit son affichage sur n’importe quel écran.

La qualité d’image semble meilleure que celle de JPG, mais le poids du fichier sera plus élevé. Ceci devrait être pris en compte lors du placement de fichiers sur le site.

Gif

Il s’agit d’un format 8 bits prenant en charge 256 couleurs, la transparence et l’animation. En raison de la prise en charge d’un petit nombre de couleurs, le poids du fichier est également minimal.

Le format ne convient pas aux photographies et aux images avec une large gamme de couleurs.

Mais il est largement utilisé lors de la création de bannières, de boutons, d'icônes, etc.

Dans les sites modernes, ce format est de moins en moins utilisé.

Parlons maintenant des formats relativement nouveaux SVG et WebP, qui ne sont pas si populaires, mais gagnent en popularité et en support, et sont parfaitement adaptés aux exigences de vitesse de téléchargement et d’adaptabilité des sites.

Svg

Ceci est un format de fichier vectoriel basé sur XML. Le format a commencé à gagner en popularité assez récemment, car il était auparavant mal pris en charge par les navigateurs. Et à cause de problèmes d'affichage, personne n'était pressé de l'utiliser.

Aujourd'hui, SVG est supporté par tous les navigateurs modernes. Mais, des problèmes avec l'affichage de tous sont trouvés.

Ce format est le plus souvent utilisé pour des images simples telles que des logos, des éléments de conception, etc. Non applicable pour les photos.

Le format SVG est léger, il s’adapte bien à toute résolution d’écran, prend en charge l’animation, peut être contrôlé via CSS et placé au format HTML, ce qui réduit le nombre de demandes.

Webp

Format Open Source, développé par Google spécialement pour Internet. Aujourd'hui, YouTube utilise la conversion par vignettes pour la vidéo au format WebP.



Le format offre une excellente compression et prend en charge la transparence. Il combine les avantages de jpg et Formats PNG   sans augmenter la taille du fichier.

Mais, malgré les avantages du format, il n'est pas pris en charge par tous les navigateurs, tels que IE, Edge, Firefox et Safari.

Il existe des moyens de contourner ces restrictions, mais elles ne permettent pas d'utiliser le format partout.

Conclusion

Mes amis, j’espère, j’ai tout expliqué clairement, et vous savez maintenant quel format d’image est préférable d’utiliser sur le site et pourquoi je n’insiste pas pour utiliser un seul format, mais je recommande une approche intégrée.

Peut-être que lorsque WebP obtiendra un large soutien, nous allons tous y basculer et remplacer jpg et png sur nos sites.

Discutons dans les commentaires des formats que vous utilisez sur vos sites, de ce que vous aimez et de ce que vous n'aimez pas.

Aujourd'hui, j'ai tout, dans l'attente de vos commentaires.

Cordialement, Maxim Zaitsev.

    Avec les trois formats de fichiers les plus populaires sont JPEG, RAW, TIFF. Parfois, les photographes sont en désaccord - quel format de fichier convient le mieux à une photo, quel format convient-il mieux pour prendre des photos, car les appareils photo modernes permettent de prendre des photostography dans n’importe lequel de ces formats, et parfois même dans plusieurs à la fois!

    Le format de fichier dans lequel l'image est stockée représente en fait un certain compromis entre qualité d'image et taille de fichier.

    Vous savez probablement déjà que l'image bitmap est composée de pixels. Comment le fichier raster est organisé et sous quelle forme il stocke des informations sur les pixels et détermine le format du fichier. La qualité d'image d'un fichier raster est déterminée par deux paramètres principaux: la taille en pixels (c'est-à-dire le nombre total de pixels) et la précision de la couleur réelle de la couleur du pixel.La taille des pixels est claire: plus il y a de pixels (ou - plus le pixel est “petit”), mieux c'est.Et la précision du transfert de couleur dépend du nombre de couleurs par pixel ou de la profondeur de la couleur.

    La profondeur de couleur (qualité de la couleur, profondeur de l'image) correspond à la quantité de mémoire utilisée pour stocker et représenter la couleur lors du codage d'un seul pixel d'une image matricielle ou d'une image vidéo. Le nombre de bits indique le nombre de gradations (pas de tons) dans chaque composante de couleur ou, simplement, le nombre de couleurs. L'ajout de 1 bit est l'ajout d'un chiffre supplémentaire dans le code de chrominance binaire.

    • Couleur binaire couleur 1 bit (21 = 2 couleurs), représentée le plus souvent par des couleurs noir et blanc (ou noir et vert)
    • Couleur 2 bits (22 = 4 couleurs) CGA, niveaux de gris NeXTstation
    • Les couleurs 3 bits (23 = 8 couleurs) sont obsolètes ordinateurs personnels   avec sortie télé
    • La couleur 4 bits (24 = 16 couleurs) est appelée EGA et, dans une moindre mesure, VGA haute résolution.
    • Couleur 5 bits (25 = 32 couleurs) Jeu de puces Amiga original
    • Couleur 6 bits (26 = 64 couleurs) Jeu de puces Amiga original
    • Couleur 8 bits (28 = 256 couleurs) Stations de travail Unix obsolètes, VGA basse résolution, Super VGA, AGA
    • Couleur 12 bits (212 = 4,096 couleurs), certains systèmes Silicon Graphics, couleur des systèmes NeXTstation et systèmes Amiga du mode HAM.

    Par exemple, nous travaillons dans l'espace colorimétrique RVB. Donc, il y a trois canaux à partir desquels la couleur de pixel résultante est formée: le canal rouge (Rad), le canal vert (Vert), le canal bleu (Bleu). Supposons que les canaux sont à quatre bits. Cela signifie que chaque canal peut afficher 16 couleurs. En conséquence, la totalité du RVB sera de 12 bits et pourra afficher

    C = 16x16x16 = 4096 couleurs

    La profondeur de couleur dans ce cas est de 12 bits.

    Lorsqu'ils parlent de RVB 24 bits, ils désignent des canaux de 8 bits (256 couleurs chacun) avec un nombre total d'options de couleur par pixel.

    C = 256x256x256 = 16777216 couleurs.

    Le chiffre est impressionnant. Un tel nombre de couleurs pour chaque pixel répond aux exigences des photographes les plus exigeants.

    Un peu sur les formats eux-mêmes.

    Format TIFF

    TIFF signifie «Tagged Image File Format» (Format de fichier d'image marquée) et constitue la norme pour l'industrie de l'impression.

    Fichiers format TIFF   avoir l'extension .tiff ou .tif.

    La caractéristique principale du format est la conservation des informations sur chaque pixel.

    D’où les caractéristiques de format personnalisées - plus il y a de pixels, plus plus de fichier. La taille du fichier ne dépend pas de l'image - images différentes   avec le même nombre de pixels aura le même poids de fichier. Et, bien sûr, un fichier de ce format sera plus lourd que les formats qui utilisent des algorithmes de compression (par exemple, JPEG). Cependant, les fichiers TIFF peuvent être enregistrés avec une compression sans perte. Dans ce cas, toutes les informations sur les pixels sont stockées et le degré de compression dépend des caractéristiques de l'image.

    ouvrir le fichier éditeur graphique. Lorsque vous réglez la qualité sur «12» ou «Élevé», l’algorithme de compression de fichier ne combine que des pixels de même couleur. Avec une qualité moindre dans la zone des pixels combinés (dans les artefacts), les pixels ayant des couleurs similaires seront affectés, et une couleur, la nuance moyenne, leur sera assignée. De plus, JPEG utilise dans l'algorithme de compression le fait que l'œil humain remarque davantage les changements de luminosité que les changements de couleur. La taille du fichier avec les informations est «Groupe No53 de 256 pixels; coordonnées X, Y, Z; couleur 144/201/19 "occupe un volume beaucoup plus petit que 256 entrées de la forme" Pixel No17; coordonnées X, Y, Z; couleur 144/201/19 ".Notez que l’algorithme de conversion de fichier JPEG gère les bordures vives et contrastées avec plus de texture fine   (sans regrouper les pixels, mais en modifiant leurs couleurs - p.5, Fig.14).

    Le format JPG permet un ajustement de la qualité par opposition à la taille du fichier. Cependant, la norme autorise également la compression, qui n'utilise pas l'algorithme simplifié décrit ci-dessus, mais est construite sur la base d'un prédicteur linéaire (sans perte, c'est-à-dire sans perte, JPEG). Cette option garantit une coïncidence complète, bit par bit, des images originales et transformées. Dans ce cas, le taux de compression des images photographiques atteint rarement 2, mais l'absence garantie de distorsion est parfois plus importante.

    Malgré l'algorithme de compression assez complexe, le format JPEG est très répandu. Le format JPEG est devenu le format standard pour stocker des images dans des appareils photo numériques et utiliser des photos sur des sites Internet.La popularité des fichiers JPEG réside dans leur flexibilité. Le format JPEG est essentiellement un ensemble de paramètres pouvant être personnalisés en fonction des besoins d’une image unique. À des fins différentes - différentes options de compression.Le format JPEG est devenu si courant qu'en 2010, les scientifiques du projet PLANETS ont conservé les instructions pour le lire dans une capsule, qu'ils ont ensuite placée dans un bunker spécial dans les Alpes suisses. Le but de l'action est de préserver pour la postérité des informations sur les formats numériques populaires au début du 21ème siècle.

    Format JPEG supporté 8, 16, 32 bits par canal. Un seul calque d'image peut être stocké dans un fichier JPEG.

    Le format   RAW

    RAW (anglais brut - brut) - format de données contenant des données brutes (ou peu traitées), évitant ainsi la perte d'informations. Ces fichiers contiennent des informations complètes sur le signal stocké. RAW est un nom usuel pour un format de fichier. Un tel format peut être utilisé avec différentes solutions techniques, par exemple en acoustique, lors de l’enregistrement de musique.

    Nous sommes intéressés par l'option photo.

    Comment est-il formé? Dans un appareil photo numérique, au moment de la prise de vue, la lumière de l'objet photographique est focalisée sur la matrice photosensible. À chaque point de la matrice, le flux lumineux est converti en une tension électrique. Les données sur ces mesures sous forme numérisée sont résumées dans un fichier unique. Le format de ce fichier est RAW, c’est-à-dire que les informations obtenues par l’appareil photo lors de la prise de vue sont complètes.

    Le format RAW n’est pas normalisé par différents fabricants d’appareils photo. Même avec différents appareils du même fabricant, il est différent. En conséquence, des extensions de fichier différentes et de notation provenant de différents fabricants. Par exemple, il peut y avoir une extension .NEF, .CR2, .ARW et autres. Pour ouvrir un tel fichier, vous avez besoin d’un logiciel spécial.

    Le format RAW des caméras modernes peut être de 8, 10, 12, 14 bits par canal.

    Ce qui est même mieux?

    Il n'y a pas de réponse à tous les cas. Beaucoup ont probablement été confrontés au problème de la visualisation Photos RAW. Copie de la photo, mais elle ne s'ouvre pas non plus programme standard   visionneuse d'images, ni même ACDsee. Si vous ouvrez toujours un tel fichier, il est visuellement plus dégradé qu'un fichier JPEG pris avec le même appareil photo.

    Quelqu'un pense que le format RAW est réservé aux photographes professionnels qui aiment fouiller dans leurs photos, y passer beaucoup de temps et obtenir une photo de qualité équivalente au format JPEG sans aucun problème.

    Quelqu'un tire seulement en RAW. Essayons de le comprendre.

    Notez que le fichier reçu directement de l'appareil photo est la source ou l'original. Peu importe ce que vous ferez dans le futur avec la conversion de ces fichiers, peu importe comment vous l'améliorerez, la source sera toujours la meilleure. C'est ce que vous devez archiver et prendre en charge.

    Par conséquent, la décision est la suivante: plus le fichier source contient d’informations, meilleur il est, plus vous avez d’opportunités quant aux options d’utilisation de ce fichier.

    La plupart des informations en RAW, fotkaem en RAW!

    Ils ont fait une douzaine de cadres, toute la carte mémoire était pleine ...

    Mais qu'est-ce qui donne à RAW d'acheter une plus grande mémoire, de choisir un programme d'édition, de perdre du temps en traitement?

    Tiff et Formats JPEG   contiennent dans la caméra des valeurs fixes d'algorithmes permettant de convertir les données d'une matrice en une image. Et ces transformations ne sont pas toujours les meilleures.

    Formant un fichier TIFF ou JPEG, l’algorithme de conversion supprime les informations «douteuses» de son point de vue. En travaillant avec RAW, vous pouvez rendre cette information visible, si nécessaire. Vous pouvez effectuer des réglages pour la balance des blancs, la clarté, le contraste, etc.

    La taille du fichier de la même image dans différents formats   fichiers:

    En fin de compte, il s'avère que:

    1. Si votre appareil photo est si simple qu’il ne prend que le format JPEG et que vous souhaitez obtenir la meilleure qualité, définissez taille maximale   et compression minimale et ne vous tourmentez pas que vous n'avez pas d'autres formats. Dans la plupart des cas, une image minutieusement dessinée à la main à partir d'un fichier RAW correspond à une image automatiquement prise par une caméra JPEG.

    2. Ne prenez peut-être pas de photos au format TIFF. L'enregistrement de ce format est plus difficile, mais il n'y a pas de différence notable par rapport au JPEG de haute qualité.

    3. Si vous avez la possibilité de prendre des photos dans Format RAWtravailler avec lui. Vous vous sentirez si cela vous convient. Dans certains cas, seul le format RAW vous permet de créer une photo unique pour une augmentation importante du nombre de copies.

    Une autre solution reste, pourrait-on dire universel. Il existe un mode qui vous permet de créer simultanément des images dans deux formats: RAW + JPEG. Enregistrez des scènes importantes dans ce mode. Stockage moderne information numérique   - et des cartes mémoire, et disques durs   - permet de le faire. Dans ce cas, vous obtenez un fichier JPEG pour utiliser les photos immédiatement, sans perdre de temps en révision. Et si vous en avez besoin - faites confiance fichier RAW   spécialiste pour le traitement.

    Photo Formats de fichiers.

    Il est facile de calculer qu’une image en couleur non compressée d’une taille de 2000 * 1000 pixels sera d’environ 6 mégaoctets. Si nous parlons des images obtenues à partir d'appareils photo ou de scanners professionnels de haute résolution, leur taille peut être encore plus grande. En dépit de la croissance rapide de la capacité de stockage, divers algorithmes de compression d'images restent très pertinents.
      Tous les algorithmes existants peuvent être divisés en deux grandes classes:

    • Algorithmes de compression sans perte;
    • Algorithmes de compression avec perte.
      Lorsque nous parlons de compression sans perte, nous entendons un algorithme opposé à l'algorithme de compression qui permet de restaurer avec précision l'image d'origine. Pour les algorithmes de compression avec perte, l'algorithme inverse n'existe pas. Il existe un algorithme qui restaure l'image qui ne correspond pas nécessairement exactement à l'original. Les algorithmes de compression et de récupération sont sélectionnés de manière à atteindre un degré de compression élevé tout en maintenant la qualité visuelle de l'image.

    Algorithmes de compression sans perte

    Algorithme RLE
      Tous les algorithmes de la série RLE reposent sur une idée très simple: des groupes d'éléments répétés sont remplacés par un couple (nombre de répétitions, élément répété). Considérons cet algorithme sur l'exemple d'une séquence de bits. Dans cette séquence, des groupes de zéros et des uns alterneront. Et dans les groupes, il y aura souvent plus d'un élément. Ensuite, la séquence 11111 000000 11111111 00 correspondra à la série de chiffres suivante 5 6 8 2. Ces chiffres indiquent le nombre de répétitions (le décompte commence par celui-ci), mais ces nombres doivent également être codés. Nous supposons que le nombre de répétitions est compris entre 0 et 7 (c’est-à-dire que nous avons assez de 3 bits pour coder le nombre de répétitions). Ensuite, la séquence considérée ci-dessus est codée avec la séquence de chiffres suivante 5 6 7 0 1 2. Il est facile de calculer que 21 bits sont nécessaires pour coder la séquence d'origine et, dans la forme compressée par RLE, cette séquence prend 18 bits.
      Bien que cet algorithme soit très simple, son efficacité est relativement faible. De plus, dans certains cas, l'utilisation de cet algorithme ne conduit pas à une diminution, mais à une augmentation de la longueur de la séquence. Par exemple, considérons la séquence suivante: 111 0000 11111111 00. La séquence RL correspondante se présente comme suit: 3 4 7 0 1 2. La longueur de la séquence d'origine est de 17 bits, la longueur de la séquence compressée est de 18 bits.
    Cet algorithme est plus efficace pour les images en noir et blanc. Il est également souvent utilisé comme l'une des étapes intermédiaires de la compression d'algorithmes plus complexes.

    Algorithmes de dictionnaire

      L'idée sous-jacente aux algorithmes de vocabulaire est qu'il existe un codage des chaînes d'éléments de la séquence d'origine. Dans ce codage, un dictionnaire spécial est utilisé, qui est obtenu à partir de la séquence d'origine.
      Il existe toute une famille d’algorithmes de vocabulaire, mais nous considérons l’algorithme LZW le plus courant, du nom de ses développeurs Lepel, Ziv et Welch.
      Le dictionnaire de cet algorithme est un tableau qui contient des chaînes de codage lorsque l’algorithme fonctionne. Lors du décodage d'un code compressé, le dictionnaire est automatiquement restauré. Il n'est donc pas nécessaire de transférer le dictionnaire avec le code compressé.
      Le dictionnaire est initialisé par toutes les chaînes de singleton, c.-à-d. Les premières lignes du dictionnaire sont l’alphabet dans lequel nous effectuons le codage. Pendant la compression, la recherche de la plus longue chaîne est déjà enregistrée dans le dictionnaire. Chaque fois qu'une chaîne rencontrée qui n'est pas encore enregistrée dans le dictionnaire est ajoutée, elle y est ajoutée et le code compressé correspondant à la chaîne déjà écrite dans le dictionnaire est généré. En théorie, il n'y a pas de restriction quant à la taille du dictionnaire, mais dans la pratique, il est logique de limiter cette taille, car avec le temps, les chaînes commencent à apparaître et ne figurent plus dans le texte. De plus, lorsque vous augmentez la taille de la table de moitié, vous devez allouer un bit supplémentaire pour stocker les codes compressés. Afin d'éviter de telles situations, un code spécial est introduit, symbolisant l'initialisation de la table par toutes les chaînes à un seul élément.
      Prenons un exemple d'algorithme de compression. Nous allons compresser la chaîne. Supposons que le dictionnaire contienne 32 positions, ce qui signifie que chaque code occupera 5 bits. Le dictionnaire est initialement rempli comme suit:

    Cette table est, aussi bien du côté de celui qui compresse l’information que du côté de celui qui décompresse. Nous allons maintenant examiner le processus de compression.


    Le tableau montre le processus de remplissage du dictionnaire. Il est facile de calculer que le code compressé résultant utilise 105 bits et que le texte source (à condition que nous passions 4 bits à coder un caractère) en utilise 116.
      En fait, le processus de décodage se résume au décodage direct des codes, alors qu’il est important que la table soit initialisée ainsi que lors du codage. Considérons maintenant l'algorithme de décodage.



    La ligne ajoutée au dictionnaire à la i-ème étape ne peut être entièrement déterminée que sur i + 1. Evidemment, la i-ème ligne doit se terminer par le premier caractère de i + 1 lignes. Donc nous venons de comprendre comment restaurer le dictionnaire. Il est intéressant de noter le cas où une séquence cScSc est codée, où c est un seul caractère et S est une chaîne, et le mot cS est déjà dans le dictionnaire. À première vue, il peut sembler que le décodeur ne puisse pas résoudre cette situation, mais en réalité, toutes les lignes de ce type doivent toujours se terminer par le même symbole sur lequel elles commencent.

    Algorithmes de codage statistique
      Les algorithmes de cette série mettent le code compressé le plus court sur les éléments de séquence les plus fréquents. C'est à dire les séquences de même longueur sont codées avec des codes compressés de différentes longueurs. De plus, plus la séquence est fréquente, plus le code compressé correspondant est court.
    Algorithme de Huffman
      L'algorithme de Huffman vous permet de créer des codes de préfixe. On peut considérer les codes de préfixe comme des chemins sur un arbre binaire: le passage d'un nœud à son fils de gauche correspond à 0 dans le code et à celui de droite à 1. Si nous marquons les feuilles de l'arbre avec des caractères codés, nous obtenons la représentation du code de préfixe sous la forme d'un arbre binaire.
      Nous décrivons l'algorithme de construction d'un arbre de Huffman et d'obtention des codes de Huffman.
    1. Les caractères de l'alphabet en entrée constituent une liste de nœuds libres. Chaque feuille a un poids égal à la fréquence du symbole
    2. Deux nœuds d'arbre en vrac avec les poids les plus faibles sont sélectionnés.
    3. Leur parent est créé avec un poids égal à leur poids total.
    4. Le parent est ajouté à la liste des nœuds libres et ses deux enfants sont supprimés de cette liste.
    5. Un arc sortant du parent reçoit le bit 1, l'autre est le bit 0
    6. Les étapes, en commençant par la seconde, sont répétées jusqu'à ce qu'il ne reste qu'un seul nœud libre dans la liste des nœuds libres. Ce sera considéré comme la racine de l'arbre.
      En utilisant cet algorithme, nous pouvons obtenir les codes de Huffman pour un alphabet donné, en tenant compte de la fréquence d'apparition des caractères.
    Codage arithmétique
      Les algorithmes de codage arithmétique codent des chaînes d'éléments dans une fraction. Ceci prend en compte la distribution de fréquence des éléments. Pour le moment, les algorithmes de codage arithmétique sont protégés par des brevets, nous ne considérons donc que l'idée de base.
    Soit notre alphabet composé de N symboles a1, ..., aN et des fréquences de leur apparence p1, ..., pN, respectivement. Nous sommes en rupture de stock, "es" pl ": [" cWN28dMK0T0 "," XtT7ZEnVrbY "]," la ": [" Of6EBLVYKwA "]," el ":)
Vous aimez cet article? Partager avec des amis: