Idée reçue : Télécharger des fichiers, ça alourdit mon ordinateur
Bonne question ! Le langage courant de l’informatique utilise en effet des termes de masse ou de poids : il est question de « kilos de mémoire » et l’on entend couramment dire qu’un fichier est « trop lourd » pour être, par exemple, joint à un mel…
Et pourtant, la réponse à la question est NON ! En informatique, lorsqu’on parle de kilos, ce ne sont pas des kilogrammes, mais des kilo-octets. Il ne s’agit pas là de masse ou de poids, tout n’est qu’une question de codage…
Pour capter, stocker, traiter ou émettre une information à l’aide d’un ordinateur, il est nécessaire de coder cette information sous une forme permettant sa manipulation.
Le codage utilisé par les ordinateurs est un codage binaire, utilisant seulement deux valeurs, 0 et 1. La plus petite information mémorisable et manipulable par une machine est ainsi le bit (contraction de binary digit), pouvant prendre une de ces deux valeurs. Un bit peut être représenté sur un support physique susceptible de prendre deux états correspondant respectivement aux valeurs 0 et 1 :
- par un petit aimant orienté N-S ou S-N (cas des bandes et disques magnétiques et des anciennes mémoires centrales d’ordinateurs à tores de ferrite),
- ou par des aspérités ou des trous sur une surface (cas des CD et DVD),
- ou par l’état d’un transistor (cas des mémoires à circuits intégrés : mémoires centrales, mémoires sur clés USB, etc.).
Toute information correspond dans un tel code à une suite de 0 et de 1. On peut représenter tout nombre, mais aussi des caractères. Ainsi, le code ASCII (American Standard Code for Information Interchange), créé en 1961, permet de coder un ensemble de caractères à l’aide de huit bits (un octet), soit 28 = 256 caractères.
Le codage binaire est facile à traiter par les circuits logiques constituant l’unité centrale d’un ordinateur. Du fait de sa grande stabilité, il s’est également révélé bien adapté à la transmission d’informations à distance, devenue si courante aujourd’hui.
Une mémoire d’ordinateur est formée de mots comportant plusieurs bits. À l’origine, la taille de ces mots était de 4 ou 8 bits et maintenant en général de 32 bits, soit 4 octets de 8 bits.
La capacité de la mémoire, sa taille globale, reste toujours la même. C’est la partie occupée pour stocker les informations qui peut varier lorsqu’on télécharge un fichier. Ce n’est pas le nombre de bits qui change, mais la valeur prise par chacun de ces bits. Cependant, la taille d’un fichier à télécharger peut excéder la place disponible, voire la capacité de la mémoire…
Ces mémoires ont bénéficié des avancées technologiques : elles ont subi une spectaculaire évolution, et la capacité d’une mémoire centrale d’ordinateur ne se mesure plus aujourd’hui en kilo-octets, mais en méga, voire giga-octets (cette augmentation s’accompagnant de la diminution du volume de leur support physique).
Lorsqu’on l’utilise pour les unités de mesure de grandeurs physiques, le préfixe kilo- signifie mille. Mais le kilo de l’informaticien vaut un peu plus que celui du physicien. En effet, en informatique, on compte en binaire, de sorte que le kilo équivaut à la puissance de 2 la plus proche de 1000, soit 1024 = 210. De même, 1 Méga-octets (Mo) = 220 octets = 1 048 576, 1 Giga-octets (Go) = 230 octets = 1 073 741 824 et 1 Téra-octets (To) = 240 octets = 1 099 511 627 776 octets. Cet usage fait une entorse au Système International d’unités. Une norme a été adoptée pour y remédier, qui définit des préfixes pour les multiples binaires, en commençant par kibi- pour « kilo binaire ». 210 octets s’appelle ainsi 1 kibioctet, noté kio, etc. Mais force est de constater que cette norme est peu connue et appliquée.
En 1998, la Commission électrotechnique internationale (CEI), ou International Electrotechnical Commission (IEC), a proposé de résoudre cette entorse au Système International d’unités (SI), en vigueur dans tous les domaines scientifiques. La CEI a ainsi proposé de distinguer clairement l’usage de multiples binaires, c’est-à-dire utilisant les puissances de 2, de l’usage des multiples qui utilisent les puissances de 10, à savoir kilo pour 103, méga pour 106 et giga pour 109 et ainsi de suite, seuls conformes au SI. Ainsi, 1 kilooctet vaut 103 soit 1000 octets, et 1 kibioctet (pour « kilo binaire ») vaut 210 octets, soit 1024 octets. De même sont introduits les multiples « mébi » pour « méga binaire », « gibi » pour « giga binaire » et « tébi » pour « téra binaire », et ainsi de suite. Mais force est de constater que ces multiples restent très peu usités, alors même que la confusion continue de régner à travers l’utilisation des multiples kilo, méga et giga, dont l’interprétation, binaire ou décimale, varie selon les contextes au sein même du domaine de l’informatique.
Le codage binaire permet, comme on l’a vu, de représenter des nombres, des caractères et donc des textes, suites de caractères. Il est également possible de l’utiliser pour représenter d’autres informations, notamment des informations de nature plus continue, telles que des sons (parole, musique ou bruit) ou des signaux biomédicaux (électrocardiogrammes, électroencéphalogrammes, etc.). Lorsque des informations sont de nature continue, il est nécessaire de les transformer avant de pouvoir les coder : il s’agit de discrétiser de tels signaux en les échantillonnant, c’est-à-dire en les découpant en segments de très courte durée (par exemple 10 ms pour la parole). En considérant que la valeur du signal est constante dans cet intervalle, on peut coder chacun de ces segments par un ensemble réduit de bits. Symétriquement, il sera possible de « rejouer » le signal en reconstruisant l’information initiale à partir des échantillons successifs mémorisés.
Pour limiter la quantité d’information nécessaire pour mémoriser un son, un codage spécifique, appelé MP3, a été élaboré. Ce codage, mis au point en 1993, s’appuie sur une propriété physiologique de l’oreille humaine, dite de masquage, selon laquelle l’oreille ne perçoit pas un son d’intensité faible si celui-ci est masqué par un son plus intense situé dans la même zone de fréquence. Il est ainsi possible de réduire la quantité d’informations à stocker dans un rapport d’environ 10, avec une perte d’informations faible, par rapport à un stockage exhaustif (qui est utilisé par d’autres formats, par exemple pour les CDs audio).
De façon similaire, il est possible de coder des images. L’échantillonnage doit alors être effectué selon plusieurs dimensions spatiales. L’image est ainsi décomposée en unités élémentaires, les pixels (contraction de picture elements) dont on code la position dans l’image, la couleur et l’intensité (le niveau de gris dans le cas d’images monochromes). À nouveau, l’information nécessaire pour coder une image de façon satisfaisante peut être comprimée, avec plus ou moins de perte d’informations, notamment en se fondant, comme pour le son, sur la physiologie de la perception, en l’occurrence visuelle. Divers standards de codage d’images ont été mis au point (par exemple jpeg ou tiff pour la photo, ou mpeg pour la vidéo).
En conclusion, télécharger, ou plus généralement écrire une information en mémoire d’ordinateur, revient ainsi simplement à installer un nouvel arrangement de bits, sans apport de matière, et donc sans variation de poids, mais avec une variation éventuelle de la surface ou du volume de mémoire occupé sur le support physique.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !
Jean-Paul Haton
Professeur émérite à l'Université de Lorraine, chercheur en intelligence artificielle et parole.