Principes de compression de l'information. Présentation des méthodes de compression des données Lors de l'archivage, le taux de compression du fichier dépend de la

L'un des types les plus courants programmes système sont des programmes conçus pour archiver, emballer des fichiers en compressant les informations qui y sont stockées.

La compression d'informations est le processus de conversion d'informations stockées dans un fichier, ce qui réduit sa redondance et, par conséquent, moins de mémoire est nécessaire pour le stockage.

La compression des informations dans les fichiers est effectuée en éliminant la redondance différentes façons, par exemple, en simplifiant les codes, en en éliminant les bits constants, ou en représentant des symboles répétitifs ou une séquence répétitive de symboles comme taux de répétition et symboles correspondants. Divers algorithmes pour une telle compression d'informations sont utilisés.

Un ou plusieurs fichiers peuvent être compressés, qui sont placés sous une forme compressée dans ce que l'on appelle fichier d'archive, ou archiver.

Un fichier archive est un fichier spécialement organisé contenant un ou plusieurs fichiers sous forme compressée ou non compressée et des informations de service sur les noms de fichiers, la date et l'heure de leur création ou modification, leurs tailles, etc.

Le but de l'emballage des fichiers est généralement de fournir un placement plus compact des informations sur un disque, de réduire le temps et, par conséquent, le coût du transfert d'informations sur les canaux de communication dans réseaux informatiques... En outre, le regroupement d'un groupe de fichiers dans un fichier d'archive simplifie considérablement leur transfert d'un ordinateur à un autre, réduit le temps de copie des fichiers sur les disques, aide à protéger les informations contre les accès non autorisés et aide à se protéger contre les infections par des virus informatiques.

Sous ratio de compression comprendre le rapport des tailles du fichier compressé et de l'original, exprimé en pourcentage.

Ratio de compression dépend du programme de compression utilisé, de la méthode de compression et du type de fichier source. Les meilleurs fichiers compressés sont des images symboliques, fichiers texte, les fichiers de données, dont le taux de compression peut atteindre 5 - 40 %, les fichiers de programmes exécutables et les modules de chargement sont moins compressés - 60 - 90 %. Les fichiers d'archives sont à peine compressés. Les programmes d'archivage diffèrent par les méthodes de compression utilisées, ce qui affecte en conséquence le taux de compression.

Archivage (empaquetage) - placement (chargement) des fichiers source dans un fichier d'archive sous forme compressée ou non compressée.

Déballage (déballage) - le processus de restauration des fichiers de l'archive exactement tels qu'ils étaient avant leur chargement dans l'archive. Lors du déballage, les fichiers sont extraits de l'archive et placés sur disque ou dans RAM.

Les programmes qui compressent et décompressent les fichiers sont appelés programmes d'archivage.

Les fichiers d'archives de grande taille peuvent se trouver sur plusieurs disques (volumes). Ces archives sont appelées multivolume... Tom est composant archives multivolumes. En créant une archive à partir de plusieurs parties, vous pouvez en enregistrer des parties sur plusieurs supports.

Les principaux types de programmes d'archivage

Actuellement, plusieurs dizaines de programmes d'archivage sont utilisés, qui diffèrent par la liste des fonctions et des paramètres de fonctionnement, mais les meilleurs d'entre eux ont à peu près les mêmes caractéristiques. Parmi les plus programmes populaires on distingue : Zip (et sa modification WinZip), WinRAR, Arj (et ses variétés), G-Zip, 7-Zip.

Les programmes d'archivage vous permettent de créer de telles archives, d'extraire des fichiers dont vous n'avez besoin d'aucun programme, car les fichiers d'archive eux-mêmes peuvent contenir un programme de décompression. Ces fichiers d'archive sont appelés fichiers auto-extractibles. Un fichier d'archive à extraction automatique est un module amorçable et exécutable qui est capable d'extraire automatiquement les fichiers qu'il contient sans utiliser de programme d'archivage.

Archives auto-extractibles a obtenu le nom Archives SFX(Auto-extractible). Les archives de ce type sont généralement créées au format de fichier EXE.

De nombreux programmes d'archivage décompressent les fichiers en les déchargeant sur le disque, mais il y a aussi ceux qui sont conçus pour créer un module exécutable compressé (programme). À la suite d'un tel emballage, un fichier programme avec le même nom et la même extension est créé, qui, lorsqu'il est chargé dans la RAM, est auto-extractible et immédiatement lancé. Dans le même temps, la conversion inverse du fichier programme au format décompressé est également possible. Ces archiveurs incluent les programmes Upx, PKLITE, LZEXE.

Le programme EXPAND inclus dans les utilitaires du bloc opératoire Systèmes Windows, est utilisé pour décompresser les fichiers des produits logiciels fournis par Microsoft.

Méthodes de gestion du programme d'archivage

Le programme d'archivage est contrôlé par l'un des manières suivantes:

  • - en utilisant ligne de commande, dans laquelle est formée la commande de lancement, contenant le nom du programme archiveur, la commande de contrôle et ses clés de configuration, ainsi que les noms des fichiers archive et source ;
  • - en utilisant le shell intégré et les boîtes de dialogue qui apparaissent après le démarrage du programme et vous permettent de contrôler à l'aide du menu et les touches de fonction, ce qui crée un environnement de travail plus confortable pour l'utilisateur ;
  • - en utilisant menu contextuel Chef d'orchestre système opérateur Les fenêtres.

Le taux de compression des informations dépend de plusieurs raisons :

Premièrement, le type de données compressées est d'une grande importance. Les fichiers graphiques et texte sont mieux compressés. Pour eux, le taux de compression peut aller de cinq à quarante pour cent. Les fichiers de programmes exécutables, les modules de chargement, les fichiers multimédias sont moins compressés.

Deuxièmement, la méthode de compression est d'une grande importance.

Troisièmement, il est également important de savoir quel archiveur est utilisé. Lors du choix du type d'archiveur, ils sont généralement guidés par les considérations suivantes : afin que le taux de compression soit le plus élevé possible et que le temps de compactage et de décompression des fichiers soit passé le moins possible.

Programmes de compression

La compression est effectuée à l'aide de programmes d'archivage. Aujourd'hui, les plus courants sont quatre archiveurs - WinRar, WinAce, 7Zip et WinZip. Concernant dernier programme, il ne résiste pas à l'examen.

Regardons de plus près l'archiveur - WinRar. Cet archiveur peut être associé aux types de fichiers suivants : RAR, ZIP, CAB, ARJ, LZH, ACE, 7-Zip, TAR, GZip, UUE, BZ2, JAR, ISO.

Le programme prend en charge les fichiers de taille presque illimitée (jusqu'à 8 589 934 591 Go). Certes, pour travailler avec des fichiers de plus de 4 Go, vous devez travailler dans système de fichiers NTFS.

Il y a quelques éléments à garder à l'esprit lors du choix des paramètres de compression optimaux :

Bien que WinRAR prenne en charge le format ZIP, il est recommandé de choisir RAR dans la plupart des cas. Cela fournira un niveau de compression plus élevé. Vous pouvez compresser des fichiers au format ZIP si vous n'êtes pas sûr qu'un programme sera installé sur l'ordinateur sur lequel les fichiers seront décompressés, avec lequel vous pourrez décompresser les fichiers au format RAR.

Il est nécessaire de décider quelle méthode de compression est la meilleure à utiliser. Plus le taux de compression est élevé, plus l'archivage prendra du temps, vous devez donc ici prendre en compte la finalité pour laquelle les données sont archivées. S'il s'agit d'un stockage à long terme, bien sûr, il est logique d'attendre et d'obtenir l'archive avec le taux de compression maximum, mais si vous avez juste besoin d'envoyer plusieurs documents par courrier, le taux de compression Normal vous conviendra.

Si vous devez atteindre le taux de compression maximal pour vos fichiers, utilisez l'option Créer une archive solide. Cependant, il a aussi ses inconvénients. Premièrement, il faudra plus de temps pour décompresser de tels fichiers que pour les extraire d'une archive ordinaire. Imaginez que vous ayez deux cents fichiers dans vos archives. S'il a été créé de la manière habituelle, vous pouvez facilement extraire l'un des fichiers. Si vous avez utilisé une archive solide, la manière dont le fichier que vous souhaitez sera archivé importera ici. Si c'était au milieu de la deuxième centaine, alors pour le décompresser, le programme devra décompresser 150 fichiers jusqu'à ce qu'il y parvienne. Créer des archives de cette manière peut également entraîner de grosses pertes, car si l'archive est endommagée, vous perdrez tous les fichiers qui s'y trouvaient. Dans le cas d'un emballage de la manière habituelle, vous pouvez extraire la plupart des fichiers de l'archive endommagée, sinon tous.

Si une grande archive doit être créée, cela peut prendre beaucoup de temps. WinRar vous permet de déterminer combien de temps il faudra pour accomplir une tâche particulière. L'option Benchmark and hardware test est destinée à cela. Une autre raison pour laquelle cette option peut être utilisée est de définir erreurs possibles cela peut se produire lors de l'archivage d'une configuration particulière sur un ordinateur en raison d'une panne matérielle.

D'autres paramètres de WinRar incluent la possibilité de créer des archives auto-extractibles spécifiant le chemin de décompression. De tels fichiers ne nécessitent pas de programme d'archivage sur l'ordinateur sur lequel ils doivent être décompressés. Ces archives sont appelées archives SFX. les fichiers sont plus volumineux, car ils contiennent, en plus des fichiers compressés réels, également le module exécutable EXE.

Le contenu de l'archive RAR peut être rendu invisible. Pour cela, dans les paramètres du programme, dans la fenêtre Archivage avec mot de passe, cochez la case en face de la ligne Encrypt File Names.

Vous pouvez également définir un mot de passe pour ouvrir l'archive. Suite à une erreur de transfert de l'archive vers réseau local ou en le téléchargeant sur Internet, ou en raison d'une panne matérielle ou attaque de virus l'archive peut être endommagée. WinRar vous permet de déterminer l'intégrité des données en testant l'archive à l'aide de l'option Tester les fichiers archivés.

Afin de minimiser le risque de perte de données, lors de la création Archives de WinRar il est recommandé d'utiliser l'option Put Recovery Record (cette case à cocher se trouve dans l'onglet Général de la fenêtre de création d'archive).

Si cela a été fait, alors si l'archive est endommagée, elle peut être restaurée.

De plus, dans WinRar, vous pouvez réduire le risque d'endommagement d'une archive RAR en spécifiant la taille des informations de récupération lors de sa création. Pour ce faire, exécutez la commande Commandes> Protéger l'archive des dommages dans la fenêtre Winrar. Dans le même temps, le volume de l'enregistrement de récupération ne peut pas dépasser dix pour cent de la taille totale de l'archive.

Pour récupérer les archives RAR endommagées, sélectionnez fichier souhaité dans la fenêtre WinRar et exécutez la commande Outils> Réparer.

WinRAR peut s'intégrer dans le menu contextuel et prend en charge non seulement le menu de l'explorateur, mais également d'autres programmes, par exemple le fichier populaire Gestionnaire total Le commandant. Cela permet d'archiver rapidement des fichiers en utilisant les paramètres par défaut et sans ouvrir la fenêtre du programme. Soit dit en passant, les paramètres par défaut peuvent être modifiés en fonction des exigences que vous avez pour vos archives. Cela peut être fait en ouvrant la fenêtre WinRar et en exécutant la commande Options> Paramètres. Dans cette fenêtre, allez dans l'onglet Compression et cliquez sur le bouton Créer par défaut. Les paramètres spécifiés dans cette fenêtre seront utilisés pour un archivage rapide. Si vous devez modifier les paramètres d'archivage, vous pouvez également le faire à l'aide du menu contextuel. Pour ce faire, sélectionnez la commande Ajouter à l'archive.... Ici, vous pouvez définir le format et le taux de compression, spécifier le nom de l'archive et sélectionner d'autres paramètres d'archivage.

WinRar vous permet de sauvegarder installé par l'utilisateur paramètres dans un fichier avec l'extension Reg. Ce fichier peut ensuite être importé dans le programme pour réutiliser la configuration donnée. Ce fichier stocke des informations telles que l'historique des archives récemment créées, les paramètres de compression par défaut, etc.

Une autre option pratique de Winrar est la possibilité de créer vos propres signets - Favoris. Il est souvent nécessaire de sauvegarder régulièrement les mêmes dossiers sur votre disque dur. Après avoir ajouté des informations sur l'emplacement de ces dossiers à vos signets, vous pouvez rapidement y accéder dans la fenêtre du programme et archiver les fichiers et sous-répertoires nécessaires.

La plupart des utilisateurs savent que parfois pour réduire la taille des fichiers originaux afin d'améliorer la commodité de leur stockage ou de leur envoi, par exemple, en e-mail la compression est appliquée. Cependant, pour une raison quelconque, dans ce cas, l'association ne se produit qu'avec des applications d'archivage et les autres techniques de compression de données ne sont pas prises en compte. Ensuite, nous examinerons de quoi dépend le degré de compression des fichiers, en utilisant l'exemple de plusieurs des situations les plus courantes.

Qu'entend-on par taux de compression d'un fichier ?

Commençons par des questions théoriques. Qu'est-ce que le taux de compression de fichier ? Sur la base des interprétations les plus simples de ce terme, cela signifie le rapport de la taille de l'objet final (compressé) au volume initial. Cependant, une telle explication peut porter dans une plus large mesure exclusivement sur des données archivées, car elle n'aborde pas du tout certaines questions liées au changement de format multimédia, où la compression est également très courante. En général, il est impossible de dire que le degré de compression des fichiers ne dépend que d'une seule caractéristique. Dans ce cas, le type d'objet, les programmes utilisés pour compresser les données et la vitesse du processus de compression jouent un rôle. Ensuite, nous nous attarderons brièvement sur certains aspects importants qui peuvent affecter le résultat final de la réduction de la taille des données d'origine.

Le taux de compression d'un fichier ne dépend que du type de fichier : est-ce vraiment le cas ?

Oui, en effet, le type de données compressées a un impact assez important sur la réduction de la taille du fichier final, et tous les formats ne peuvent pas être soumis à de telles procédures. Cela peut s'expliquer par l'exemple des fichiers audio qui sont déjà compressés par eux-mêmes.

Lorsque vous essayez de regrouper de telles données dans une archive, il est presque impossible d'obtenir une réduction significative de la taille. Il en va de même pour le format WAV. Cependant, si vous ne compressez pas, mais transcodez de WAV en MP3, la taille peut être réduite d'un facteur dix ou plus. De nombreux utilisateurs commencent immédiatement par le fait que le degré de compression du fichier dépend précisément du format initial et final. Ce n'est pas tout à fait vrai, car l'algorithme de transcodage utilisé joue également un rôle important, qui sera discuté séparément. Pour l'instant, attardons-nous sur l'utilisation des archiveurs.

Qu'est-ce qui détermine le degré de compression d'un fichier lors de son intégration dans une archive ?

Afin de comprendre dans un premier temps l'essence de ce type de compression, pour simplifier l'explication, nous donnerons un exemple de l'archiveur WinRAR le plus courant. Nous ne touchons pas aux types de données à compresser, mais nous concentrons sur les outils de l'application elle-même.

Tout d'abord, vous devez faire attention au format final de l'archive, ainsi qu'à la méthode d'emballage utilisée. Il est clair que dans ce cas le degré de compression du fichier par le programme d'archivage dépend de la méthode privilégiée. Avec la méthode à grande vitesse, la compression sera minimale, mais avec le taux de compression maximal, la taille sera réduite de manière plus significative et cela prendra plus de temps.

Si, par rapport aux archiveurs, on considère les formats de fichiers, des plus compressibles on peut distinguer documents texte tous les formats.

Certains fichiers exécutables EXE sont relativement bien compressés (lorsque méthode standard la compression peut être obtenue en réduisant la taille de plus de la moitié). Les plus, comme déjà mentionné, incompressibles sont les objets multimédias. Et, si la taille des images peut être réduite au moins d'une manière ou d'une autre, de telles actions ne fonctionnent pas avec l'audio et la vidéo sans changer le format initial, et les archiveurs n'ont absolument rien à voir avec cela.

Types de compression pour les graphiques, la vidéo et l'audio

En ce qui concerne le multimédia, il existe deux principaux types de compression : avec perte et sans perte. Et dans ce cas, le degré de compression du fichier dépend de la technologie de compression utilisée.

Dans le premier cas, la compression est maximale, dans le second elle peut varier, ce qui est influencé par l'ensemble de codecs utilisé et le format final du conteneur. Ainsi, par exemple, le même fichier AVI peut être simplement un conteneur contenant des données de types complètement différents et avec différents degrés de compression. Pour cette raison, en passant, des problèmes de lecture vidéo sur les lecteurs grand public peuvent parfois être observés.

En général, si nous parlons spécifiquement de multimédia, vous devez comprendre clairement qu'il est presque impossible d'obtenir la réduction maximale de la taille du fichier source de n'importe quel format sans perte significative de qualité, malgré les technologies de suppression de contenu redondant ( par exemple, pour les graphiques ou la vidéo, cela ne fonctionne que dans le cas de scènes immuables). Dans le cas de l'audio, le débit est réduit et certaines fréquences sont coupées. Un utilisateur ordinaire ne sentira peut-être pas la différence, mais un professionnel à l'oreille fine vous dira immédiatement ce qui manque.

Les programmes les plus courants pour toutes les occasions

Ce qui détermine le degré de compression des fichiers, nous l'avons un peu compris. Il convient maintenant de dire quelques mots sur les produits logiciels utilisés. Les archiveurs les plus courants sont WinRAR, WinZIP et 7-Zip.

En ce qui concerne la compression multimédia, dans le cas le plus simple, vous pouvez utiliser des applications de conversion spéciales qui fonctionnent sur le principe du transcodage du matériel source dans un autre format afin de réduire la taille du fichier.

Bref résumé

Résumant une sorte de conclusion, on peut noter que le degré de compression d'un fichier par l'archiveur dépend de plusieurs facteurs, et le plus souvent du type de données compressées, utilisées Logiciel et (généralement, les algorithmes de Huffman et Lempel-Ziv sont utilisés, travaillant par paires). Dans le cas du contenu multimédia, la situation est presque la même, mais la position dominante est prise en convertissant le format de l'un à l'autre.

Finalité de l'archivage- assurer un placement plus compact des informations sur un disque, ainsi que réduire le temps et, par conséquent, le coût de transmission des informations par les canaux de communication dans les réseaux informatiques. De plus, l'archivage simplifie considérablement le transfert d'informations d'un ordinateur à un autre, réduit le temps nécessaire pour les copier sur des supports externes, aide à protéger les informations contre les accès non autorisés et aide à se protéger contre les infections par des virus informatiques.

La principale caractéristique de l'archivage est la compression de l'information, c'est-à-dire le convertir en une forme dans laquelle la redondance dans sa représentation est réduite et, par conséquent, moins de mémoire est requise pour le stockage.

Un ou plusieurs fichiers peuvent être compressés, qui sont placés sous une forme compressée dans un fichier dit d'archive ou archive, d'où ils peuvent être extraits sous leur forme originale.

Fichier d'archive (archive) est un fichier spécialement organisé contenant un ou plusieurs fichiers sous forme compressée ou non et des informations de service sur les noms des fichiers, la date et l'heure de leur création ou modification, leurs tailles, etc.

Le processus d'écriture de fichiers dans un fichier d'archive est appelé archivage(archivage, emballage) et extraction des fichiers de l'archive - décompresser(décompression, déballage).

Le taux de compression d'un fichier lors de l'archivage dépend de son format. Certains formats (tels que les graphiques) supposent une compression par des programmes qui créent ces types de fichiers, et ne diminuent donc pas lors de l'archivage. Mieux encore, lors de l'archivage, les fichiers texte et les fichiers de base de données sont compressés, les fichiers des programmes exécutables et les modules de chargement sont moins compressés. Le taux de compression est également affecté par la méthode de compression.

En plus des fichiers d'archives ordinaires, vous pouvez créer des archives continues, multivolumes et auto-extractibles, ainsi que leurs combinaisons, par exemple : multivolume auto-extractible, multivolume continu, etc.

Archive continue (solide) est une archive compressée d'une manière spéciale, dans laquelle tous les fichiers compressés sont traités comme un flux de données séquentiel.

L'archivage en continu augmente considérablement le taux de compression, notamment lors de l'ajout un grand nombre petits fichiers similaires. Cependant, il y a aussi des inconvénients :

§ les archives continues existantes sont mises à jour plus lentement que les archives régulières ;

§ les archives continues cryptées ne peuvent pas être modifiées ;

§ Pour extraire un seul fichier d'une archive continue, il est nécessaire d'analyser tous les fichiers archivés précédents ; par conséquent, l'extraction de fichiers individuels au milieu d'une archive continue est plus lente que l'extraction à partir d'une archive ordinaire. Cependant, si tout ou plusieurs des premiers fichiers sont extraits d'une archive continue, alors dans ce cas la vitesse de décompression est pratiquement la même qu'avec des archives ordinaires ;


§ si un fichier d'une archive continue est endommagé, il ne sera pas non plus possible d'extraire tous les fichiers qui le suivent. Par conséquent, lors de l'enregistrement d'une archive continue sur un support peu fiable, il est recommandé d'ajouter des informations de récupération.

Les archives continues sont mieux utilisées lorsque :

§ l'archive est rarement mise à jour ;

§ il n'est pas nécessaire d'extraire fréquemment un ou plusieurs fichiers de l'archive ;

§ un est archivé gros fichier;

§ Le taux de compression est plus important que la vitesse de compression.

Les fichiers des archives continues sont généralement triés par extension, mais l'ordre de tri peut être modifié.

Archives multivolumes sont des archives constituées de plusieurs parties (volumes). En règle générale, les volumes sont utilisés pour stocker une grande archive sur plusieurs disquettes ou autres supports amovibles.

Le premier volume de la séquence a l'extension standard habituelle du programme d'archivage, et les extensions des volumes suivants ont la première lettre de l'extension de l'archiveur et un numéro de séquence.

Les fichiers sur des volumes existants ne peuvent pas être ajoutés, mis à jour ou supprimés.

Archive auto-extractible (SFX, à partir des mots anglais SelF-eXtracting) est l'archive à laquelle l'exécutable est attaché. Ce module vous permet d'extraire des fichiers en exécutant simplement l'archive comme programme régulier... Ainsi, extraire le contenu de l'archive SFX ne nécessite pas de programmes externes... Les archives SFX, comme tout autre fichier exécutable, ont généralement l'extension .EXE, mais vous pouvez les utiliser de la même manière qu'avec n'importe quelle autre archive.

Les archives SFX sont utiles lorsque vous devez transférer une archive à quelqu'un, mais vous n'êtes pas sûr que le destinataire dispose de l'archiveur approprié pour extraire des fichiers.

Les archives multivolumes et auto-extractibles peuvent également être continues.

Les programmes qui effectuent l'archivage/décompression des fichiers sont appelés programmes d'archivage.

Les programmes d'archivage peuvent être comparés selon les principaux paramètres suivants : interface, méthodes de compression (déterminant le degré de compression des fichiers), types d'archives créées, vitesse de fonctionnement, prise en charge des formats d'autres archiveurs.

Lors de la création d'une archive, le programme d'archivage attribue automatiquement sa propre extension au fichier d'archive, par exemple, zip, rar, etc.

Le programme d'archivage est contrôlé de l'une des manières suivantes :

1. en utilisant la ligne de commande ;

2. en utilisant le shell intégré et les panneaux de dialogue, vous permettant d'utiliser les menus et les touches de fonction.

3. en utilisant des combinaisons de touches de fonction dans des shells d'exploitation, qui, en règle générale, peuvent offrir un choix de plusieurs programmes d'archivage DOS ou de leur propre archiveur de shell.

4. en utilisant les éléments de l'interface graphique.

Malgré les nombreux programmes d'archivage, un utilisateur moderne travaille généralement avec deux formats d'archive : ZIP et RAR.

Les méthodes de compression de données ont une histoire de développement assez longue, qui a commencé bien avant l'avènement du premier ordinateur. Cet article tentera de donner un bref aperçu des principales théories, concepts d'idées et de leurs réalisations, sans prétendre pour autant à l'absolu. Des informations plus détaillées peuvent être trouvées, par exemple, dans R.E. Krichevsky. , Ryabko B. Ya. , Witten I.H. , Rissanen J., Huffman D.A., Gallager R.G. , Knuth D.E. , Vitter J.S. et etc.

La compression de l'information est un problème qui a une histoire assez longue, beaucoup plus ancienne que l'histoire du développement de la technologie informatique, qui (l'histoire) accompagnait généralement l'histoire du développement du problème du codage et du cryptage de l'information. Tous les algorithmes de compression fonctionnent sur un flux d'informations d'entrée, dont l'unité minimale est un bit et l'unité maximale est de quelques bits, octets ou plusieurs octets. Le but du processus de compression, en règle générale, est d'obtenir un flux de sortie plus compact d'unités d'informations à partir d'un flux d'entrée initialement non compact au moyen d'une transformation de celles-ci. Les principales caractéristiques techniques des procédés de compression et les résultats de leurs travaux sont :

Taux de compression (compress rating) ou ratio (ratio) des volumes des flux initial et final ;

Taux de compression - le temps passé à compresser une certaine quantité d'informations dans le flux d'entrée jusqu'à ce qu'un flux de sortie équivalent en soit obtenu ;

La qualité de compression est une valeur qui montre à quel point le flux de sortie est compacté, en lui appliquant une recompression à l'aide du même algorithme ou d'un algorithme différent.

Il existe plusieurs approches différentes du problème de la compression de l'information. Certains ont une base mathématique théorique très complexe, d'autres sont basés sur les propriétés du flux d'informations et sont algorithmiquement assez simples. Toute approche et tout algorithme mettant en œuvre une compression ou une compression de données est conçu pour réduire le volume du flux d'informations de sortie en bits au moyen de sa transformation réversible ou irréversible. Ainsi, tout d'abord, selon le critère lié à la nature ou au format des données, toutes les méthodes de compression peuvent être divisées en deux catégories : la compression réversible et la compression irréversible.

Par compression irréversible, on entend une telle transformation du flux de données d'entrée, dans laquelle le flux de sortie, basé sur un certain format d'information, représente, d'un certain point de vue, un objet assez similaire en caractéristiques externes au flux d'entrée, mais diffère de lui en volume. Le degré de similitude entre les flux d'entrée et de sortie est déterminé par le degré de correspondance entre certaines propriétés de l'objet (c'est-à-dire les informations compressées et non compressées, conformément à certains formats de données spécifiques) représentées par ce flux d'informations. De telles approches et algorithmes sont utilisés pour compresser, par exemple, des données de fichiers graphiques bitmap avec une faible répétabilité des octets dans le flux. Cette approche utilise la propriété de la structure du format de fichier graphique et la capacité de présenter une image graphique à peu près similaire en qualité d'affichage (pour la perception par l'œil humain) de plusieurs (ou plutôt n) manières. Par conséquent, en plus du degré ou de la quantité de compression, le concept de qualité apparaît dans de tels algorithmes. l'image originale change au cours du processus de compression, alors la qualité peut être comprise comme le degré de correspondance entre l'image originale et l'image résultante, évaluée subjectivement, sur la base du format d'information. Pour les fichiers graphiques, cette correspondance est déterminée visuellement, bien qu'il existe également des algorithmes et des programmes intelligents correspondants. La compression irréversible ne peut pas être appliquée dans des domaines où il est nécessaire d'avoir une correspondance exacte de la structure d'information des flux d'entrée et de sortie. Cette approche est mise en œuvre dans des formats courants pour présenter des informations vidéo et photo, appelés algorithmes JPEG et JFIF et formats de fichiers JPG et JIF.

La compression réversible conduit toujours à une diminution du volume du flux d'informations de sortie sans modifier son contenu d'informations, c'est-à-dire - sans perdre la structure de l'information. De plus, à partir du flux de sortie, à l'aide d'un algorithme de récupération ou de décompression, vous pouvez obtenir l'entrée, et le processus de récupération est appelé décompression ou décompression, et ce n'est qu'après le processus de décompression que les données peuvent être traitées conformément à leur format interne.

Dans les algorithmes réversibles, le codage en tant que processus peut être envisagé d'un point de vue statistique, ce qui est encore plus utile non seulement pour construire des algorithmes de compression, mais aussi pour évaluer leur efficacité. Pour tous les algorithmes réversibles, il existe une notion de coût de codage. Le coût de codage fait référence à la longueur moyenne du mot de code en bits. La redondance du codage est égale à la différence entre le coût et l'entropie du codage, et un bon algorithme de compression doit toujours minimiser la redondance (rappelons que l'entropie de l'information s'entend comme la mesure de son désordre.). Le théorème fondamental de Shannon sur le codage de l'information dit que "le coût du codage n'est toujours pas inférieur à l'entropie de la source, bien qu'il puisse en être arbitrairement proche". Par conséquent, pour tout algorithme, il existe toujours une certaine limite du taux de compression, déterminée par l'entropie du flux d'entrée.

Passons maintenant directement aux caractéristiques algorithmiques des algorithmes réversibles et considérons les approches théoriques les plus importantes de la compression de données associées à la mise en œuvre de systèmes de codage et de méthodes de compression d'informations.

Compression par codage par lots

L'approche et l'algorithme simples les plus connus pour compresser les informations de manière réversible sont le codage de longueur d'exécution (RLE). L'essence des méthodes de cette approche est de remplacer des chaînes ou des séries d'octets répétés ou leurs séquences par un octet de codage et un compteur du nombre de leurs répétitions. Le problème avec toutes les méthodes analogues est seulement de déterminer la manière dont l'algorithme de décompression pourrait distinguer la série codée dans le flux d'octets résultant des autres - les séquences d'octets non codées. La solution au problème est généralement obtenue en plaçant des marques au début des chaînes codées. De telles étiquettes peuvent être, par exemple, des valeurs de bits caractéristiques dans le premier octet d'une exécution codée, des valeurs du premier octet d'une exécution codée, etc. Ces méthodes, en règle générale, sont assez efficaces pour compresser des images graphiques raster (BMP, PCX, TIF, GIF), car ces derniers contiennent pas mal de longues séries de séquences d'octets répétitives. L'inconvénient de la méthode RLE est le taux de compression assez faible ou le coût d'encodage des fichiers avec un petit nombre de séries et, pire encore, avec un petit nombre d'octets répétés dans une série.

Compression sans utiliser la méthode RLE

Le processus de compression des données sans utiliser la méthode RLE peut être divisé en deux étapes : la modélisation et, en fait, l'encodage. Ces processus et leurs algorithmes de mise en œuvre sont assez indépendants et diversifiés.

Le processus de codage et ses méthodes

L'encodage est généralement compris comme le traitement d'un flux de caractères (dans notre cas, des octets ou des grignotages) dans un certain alphabet, et les fréquences d'occurrence des caractères dans le flux sont différentes. Le codage a pour but de convertir ce flux en un flux binaire de longueur minimale, ce qui est obtenu en diminuant l'entropie du flux d'entrée en tenant compte des fréquences symboles. La longueur du code représentant les caractères de l'alphabet du flux doit être proportionnelle à la quantité d'informations dans le flux d'entrée, et la longueur des symboles du flux en bits ne peut pas être un multiple de 8 ou même variable. Si la distribution de probabilité des fréquences d'occurrence des symboles de l'alphabet du flux d'entrée est connue, alors un modèle de codage optimal peut être construit. Cependant, en raison de l'existence d'un grand nombre de formats de fichiers différents, la tâche devient beaucoup plus compliquée. la distribution de fréquence des symboles de données n'est pas connue à l'avance. Dans ce cas, en vue générale, deux approches sont utilisées.

La première consiste à afficher le flux d'entrée et à construire l'encodage en fonction des statistiques collectées (dans ce cas, deux passages dans le fichier sont nécessaires - un pour afficher et collecter des informations statistiques, le second - pour encoder, ce qui limite quelque peu la portée de l'application de tels algorithmes, car, ainsi, la possibilité d'un codage en une seule passe "à la volée", qui est utilisé dans les systèmes de télécommunication, où la quantité de données n'est parfois pas connue, et leur retransmission ou leur analyse peut prendre un temps déraisonnablement long , est exclu). Dans un tel cas, le schéma statistique du codage utilisé est écrit dans le flux de sortie. Cette technique est connue sous le nom de codage de Huffman statique.

gastroguru 2017