| English | Français |
|---|---|
| compression/kəmˈpreʃn/ | compression |
| lossless/ˈlɒsləs/ | sans perte |
| lossy/ˈlɒsi/ | avec perte |
| bandwidth/ˈbændwɪdθ/ | bande passante |
| run-length encoding/rʌn leŋθ enˈkəʊdɪŋ/ | encodage par suites |
| dictionary coding/ˈdɪkʃənəri ˈkəʊdɪŋ/ | codage par dictionnaire |
| Huffman coding/ˈhʌfmən ˈkəʊdɪŋ/ | codage Huffman |
| spatial/ˈspeɪʃl/ | spatial |
| temporal/ˈtempərəl/ | temporel |
The three letters that made the web possible
- In 1987 a programmer named Phil Katz wrote a compression program and put the file format in the public domain. He called it ZIP. He was 24.
- Nothing about the web works without that idea. A single uncompressed second of HD video is about 187 MB; a two-hour film would be 1.3 terabytes. Streaming it over a home connection is arithmetically impossible.
- The films you watch are perhaps a thousandth of that, and they still look right, because the compression throws away things your eye was never going to notice.
- This lesson is compression 压缩: the two families, the three lossless methods, and how to justify one for a given file.
Les trois lettres qui ont rendu le web possible
- En 1987, un programmeur nommé Phil Katz a écrit un programme de compression et a mis le format de fichier dans le domaine public. Il l'a appelé ZIP. Il avait 24 ans.
- Rien sur le web ne fonctionne sans cette idée. Une seconde non compressée de vidéo HD représente environ 187 Mo ; un film de deux heures ferait 1.3 téraoctets. Le streamer via une connexion domestique est arithmétiquement impossible.
- Les films que vous regardez valent peut-être un millième de cela, et ils semblent toujours bons, car la compression rejette ce que votre œil n'allait jamais remarquer.
- Cette leçon porte sur la compression 压缩 : les deux familles, les trois méthodes sans perte, et comment justifier l'une pour un fichier donné.
Lossless and lossy
- Compression reduces a file's size, saving storage space and transmission bandwidth 带宽, and making downloads and streams faster.
- Lossless 无损 compression is compression from which the original data can be recovered exactly. ZIP and PNG are lossless.
- Lossy 有损 compression permanently removes some data, so the original cannot be recovered. JPEG, MP3 and streamed video are lossy.
Recover exactly, or shrink much further
Sans perte et avec perte
- La compression réduit la taille d'un fichier, économisant de l'espace de stockage et de la bande passante 带宽 de transmission, et rendant les téléchargements et streaming plus rapides.
- La compression sans perte 无损 est une compression dont les données originales peuvent être récupérées exactement. ZIP et PNG sont sans perte.
- La compression avec perte 有损 supprime définitivement certaines données, donc l'original ne peut pas être récupéré. JPEG, MP3 et la vidéo en streaming sont avec perte.

Récupérer exactement, ou réduire beaucoup plus
Lossless compression means: · La compression sans perte signifie :
Lossless compression lets you rebuild the original data exactly — essential for text, programs and ZIP/PNG. · La compression sans perte permet de reconstruire exactement les données d'origine — essentiel pour le texte, les programmes et ZIP/PNG.
Match each compression idea to what it means. · Reliez chaque concept de compression à sa signification.
Lossless keeps every bit (needed for text/code); lossy trades quality for size (photos, audio). · Le sans perte conserve tous les bits (nécessaire pour texte/code) ; l'avec perte échange qualité contre taille (photos, audio).
Lossless compression rebuilds the original data exactly (needed for text and programs), while lossy compression permanently removes some data to shrink the file (used for photos and audio). · La compression sans perte reconstruit exactement les données d'origine (nécessaire pour texte et programmes), tandis que l'avec perte supprime définitivement des données pour réduire la taille (utilisée pour photos et audio).
That is why a program or a ZIP must be lossless, but a photo or a song can use lossy compression. · C'est pourquoi un programme ou un ZIP doit être sans perte, alors qu'une photo ou une chanson peut utiliser une compression avec perte.
Worked example: justify the choice
- A company archives its accounting spreadsheets. Which kind of compression, and why? Lossless, because the spreadsheet must be restored exactly; a single changed value would make the accounts wrong.
- A photographer uploads holiday photographs to a phone gallery. Lossy, because the photographs are viewed on a small screen where the dropped detail is not visible, and the smaller files upload faster and use less storage.
- Name the kind, then give the reason from the situation. "Lossy is smaller" on its own is not a justification.
Exemple résolu : justifier le choix
- Une entreprise archive ses tableurs comptables. Quel type de compression, et pourquoi ? Sans perte, car le tableau doit être restauré exactement ; une seule valeur modifiée fausserait les comptes.
- Un photographe charge des photos de vacances sur la galerie de son téléphone. Avec perte, car les photos sont vues sur un petit écran où les détails supprimés ne sont pas visibles, et les fichiers plus petits se chargent plus vite et occupent moins de stockage.
- Nommez le type, puis donnez la raison tirée de la situation. « Avec perte c'est plus petit » tout seul n'est pas une justification.
Which file should be compressed losslessly? · Quel fichier doit être compressé sans perte ?
Source code must be recovered exactly — a single changed character could break it — so it needs lossless compression. · Le code source doit être récupéré intégralement — un seul caractère modifié pourrait le corrompre — il nécessite donc une compression sans perte.
Run-length encoding
- Run-length encoding 行程编码 (RLE) replaces a run of repeated values with one value and a count: instead of eight identical white pixels, store "8, white".
- It is excellent on data with long runs, such as icons, diagrams, black-and-white scans and areas of flat colour.
- It is useless, and can make a file larger, on noisy data such as a photograph, where almost no two neighbouring values are equal.
Each row becomes counts and colours
Codage par longueur de run
- Le codage par longueur de run 行程编码 (RLE) remplace une série de valeurs répétées par une seule valeur et un compteur : au lieu de huit pixels blancs identiques, stockez « 8, blanc ».
- Il est excellent sur les données comportant de longues suites, comme les icônes, les diagrammes, les scans noir et blanc et les zones de couleur unie.
- Il est inutile, et peut rendre un fichier plus grand, sur des données bruitées comme une photographie, où presque aucune valeur voisine n'est égale.

Chaque rangée devient des compteurs et des couleurs
Run-length encoding works best on data that has: · L'encodage par suites fonctionne mieux sur les données qui présentent :
RLE replaces a run of identical values with a count + value, so it shines on flat areas and is useless on noisy data. · RLE remplace une suite de valeurs identiques par un compteur + valeur, il excelle sur les zones uniformes et est inutile sur des données bruyantes.
Worked example: encode a row with RLE
- A row of an 8-pixel black-and-white image reads: white white white black black white white white. Encode it with RLE.
- Three white, two black, three white, so
3W 2B 3W, or as pairs,(3, 0) (2, 1) (3, 0)if white is 0. - Eight values became three pairs. Now encode
W B W B W B W B. Eight runs of one:1W 1B 1W 1B 1W 1B 1W 1B, which stores more than the original. That is exactly why RLE is not used on photographs.
Exemple résolu : coder une rangée avec RLE
- Une rangée d'une image noir et blanc de 8 pixels lit : blanc blanc blanc noir noir blanc blanc blanc. Codez-la avec RLE.
- Trois blancs, deux noirs, trois blancs, donc
3W 2B 3W, ou sous forme de paires,(3, 0) (2, 1) (3, 0)si blanc vaut 0. - Huit valeurs sont devenues trois paires. Maintenant codez
W B W B W B W B. Huit suites d'une seule valeur :1W 1B 1W 1B 1W 1B 1W 1B, ce qui stocke plus que l'original. C'est exactement pourquoi RLE n'est pas utilisé sur les photographies.
Run-length encoding (a lossless method) · Encodage par suites (méthode sans perte)
Run-length encoding replaces a run of repeated values with one value plus a count. It is lossless — the original rebuilds exactly — but only shrinks data that has long runs. · L'encodage par suites remplace une séquence de valeurs répétées par une seule valeur accompagnée d'un compteur. C'est sans perte — l'original se reconstruit parfaitement — mais il ne réduit que les données contenant de longues suites.
Encode the pixel row W W W B B W W W with run-length encoding, using the form 3W 2B 3W. · Encodez la ligne de pixels W W W B B W W W avec l'encodage par suites, en utilisant le format 3W 2B 3W.
Three white, two black, three white. Eight values become three pairs, but an alternating row would become eight pairs and grow. · Trois blancs, deux noirs, trois blancs. Huit valeurs deviennent trois paires, mais une ligne alternée deviendrait huit paires et augmenterait.
Run-length encoding always makes a file smaller. · L'encodage par suites rend toujours un fichier plus petit.
On data with no runs, such as a photograph or an alternating pattern, every run has length one and the encoding stores more than the original. · Sur des données sans suites, comme une photographie ou un motif alterné, chaque suite a une longueur de un et l'encodage stocke davantage que l'original.
Dictionary coding and Huffman coding
- Dictionary coding 字典编码, used by ZIP and PNG, builds a dictionary of repeated byte sequences and replaces each occurrence with a short index. It suits text and program code, where words and patterns recur.
- Huffman coding 霍夫曼编码 gives short codes to common symbols and long codes to rare ones, so the average code length falls. In "BANANA" the A is commonest and gets the shortest code.
- Both are lossless: the decoder rebuilds the original byte for byte.
Codage par dictionnaire et codage Huffman
- Le codage par dictionnaire 字典编码, utilisé par ZIP et PNG, construit un dictionnaire de séquences de bytes répétées et remplace chaque occurrence par un index court. Il convient aux textes et au code programme, où les mots et motifs reviennent.
- Le codage Huffman 霍夫曼编码 attribue des codes courts aux symboles fréquents et des codes longs aux rares, donc la longueur moyenne du code diminue. Dans « BANANA », A est le plus fréquent et obtient le code le plus court.
- Les deux sont sans perte : le décodeur reconstruit l'original byte par byte.
Huffman coding reduces size by: · Le codage Huffman réduit la taille en :
Huffman assigns the shortest codes to the most frequent symbols, lowering the average code length. · Huffman attribue les codes les plus courts aux symboles les plus fréquents, réduisant ainsi la longueur moyenne des codes.
Match each lossless method to how it works. · Reliez chaque méthode sans perte à son fonctionnement.
All three are lossless: the decoder rebuilds the original byte for byte. · Les trois sont sans perte : le décodeur reconstruit l'original octet par octet.
Lossy methods
- Images (JPEG): fine detail and colour differences the eye barely notices are dropped.
- Sound (MP3, AAC): pitches we hear poorly are removed, along with quiet sounds masked by louder ones at the same moment.
- Video: spatial 空间 compression works within each frame, like JPEG, and temporal 时间 compression stores most frames as only the differences from the previous frame, since consecutive frames are nearly identical.
Méthodes avec perte
- Images (JPEG) : les détails fins et les différences de couleur à peine perceptibles par l'œil sont supprimés.
- Son (MP3, AAC) : les fréquences que nous entendons mal sont retirées, ainsi que les sons silencieux masqués par des sons plus forts au même moment.
- Vidéo : la compression spatiale 空间 fonctionne à l'intérieur de chaque trame, comme JPEG, et la compression temporelle 时间 stocke la plupart des trames comme de simples différences par rapport à la trame précédente, puisque les trames consécutives sont quasi identiques.
Temporal compression of video works by: · La compression temporelle de vidéo fonctionne en :
Temporal compression stores how each frame differs from the one before, since most of the picture stays the same between frames. (Spatial compression handles within-frame detail.) · La compression temporelle stocke comment chaque trame diffère de la précédente, car la majorité de l'image reste inchangée entre les trames. (La compression spatiale gère les détails intra-trame.)
Worked example: how each kind of file is compressed
- Text file: dictionary and Huffman coding turn repeated words and common characters into short codes. It must stay lossless, because one changed character changes the meaning.
- Bitmap image: RLE for runs of identical pixels in icons and diagrams; lossy JPEG for photographs; or reduce the colour depth or resolution, which is also lossy.
- Vector graphic: the drawing list is already small. Remove drawing objects that are not needed, store coordinates to fewer decimal places, or apply a lossless method such as ZIP to the file.
- Sound file: lossy MP3 or AAC removes what the ear cannot hear; lowering the sampling rate or resolution is also lossy; lossless formats keep every sample and shrink much less.
Exemple résolu : comment chaque type de fichier est compressé
- Fichier texte : le codage par dictionnaire et Huffman transforment les mots répétés et caractères communs en codes courts. Cela doit rester sans perte, car un seul caractère modifié change le sens.
- Image bitmap : RLE pour les suites de pixels identiques dans les icônes et diagrammes ; JPEG avec perte pour les photographies ; ou réduction de la profondeur de couleur ou de la résolution, ce qui est aussi avec perte.
- Graphique vectoriel : la liste de dessin est déjà petite. Retirez les objets de dessin inutiles, stockez les coordonnées avec moins de décimales, ou appliquez une méthode sans perte comme ZIP au fichier.
- Fichier sonore : MP3 ou AAC avec perte retire ce que l'oreille ne peut entendre ; abaisser la fréquence ou la résolution est aussi avec perte ; les formats sans perte gardent chaque échantillon et réduisent beaucoup moins.
How can a vector graphic file be made smaller? Select all · tout that apply. · Comment réduire la taille d'un fichier graphique vectoriel ? Cochez toutes les options applicables.
A vector file is a drawing list, not pixels, so it has no colour depth. Colour depth belongs to bitmaps. · Un fichier vectoriel est une liste de tracés, pas des pixels, il n'a donc pas de profondeur de couleur. La profondeur de couleur appartient aux bitmaps.
Why streaming must be lossy
- Raw HD video is gigabytes per minute, and a home connection carries a few megabits per second.
- Lossless compression on video achieves perhaps a factor of two, nowhere near enough, so the picture would keep stopping to buffer.
- Lossy compression achieves a factor of a hundred or more by discarding detail the viewer does not notice at normal speed. The reason names the bandwidth and the data rate, not just "it is smaller".
Pourquoi le streaming doit être avec perte
- La vidéo HD brute pèse des gigaoctets par minute, et une connexion domestique transporte quelques mégabits par seconde.
- La compression sans perte sur la vidéo atteint peut-être un facteur de deux, loin d'être suffisant, donc l'image continuerait de s'interrompre pour le tamponnage.
- La compression avec perte atteint un facteur de cent ou plus en rejetant les détails que le spectateur ne remarque pas à vitesse normale. La raison nomme la bande passante et le débit de données, pas seulement « c'est plus petit ».
Why does real-time video streaming use lossy compression? · Pourquoi le streaming vidéo en temps réel utilise-t-il une compression avec perte ?
Raw HD video is gigabytes per minute; only lossy compression shrinks it enough to stream in real time without freezing. · La vidéo HD brute pèse des gigaoctets par minute ; seule la compression avec perte la réduit assez pour le streaming en temps réel sans interruption.
Marks that slip away
- Lossless means the original is recovered exactly; lossy means it cannot be. "Lossy loses quality" misses the point that the data is gone for good.
- RLE can make a noisy file larger. Say where it works and where it does not.
- Video compression is spatial and temporal; temporal stores the differences between frames.
- A "justify" answer ties the method to the file's use: exactness for accounts and medical images, size for streaming and phone galleries.
Pièges qui font perdre des points
- Sans perte signifie que l'original est récupéré exactement ; avec perte signifie qu'il ne peut pas l'être. « Avec perte perd la qualité » manque le fait que les données sont perdues à jamais.
- La compression RLE peut rendre un fichier bruité plus volumineux. Expliquez où elle fonctionne et où elle ne fonctionne pas.
- La compression vidéo est spatiale et temporelle ; le traitement temporel stocke les différences entre les images.
- Une réponse « justifiée » lie la méthode à l'utilisation du fichier : précision pour les comptes et les images médicales, réduction de taille pour le streaming et les galeries photo.
You've got it
- compression saves storage and bandwidth; lossless recovers the original exactly, lossy removes data permanently
- lossless methods: RLE (a value and a count, good on runs, bad on noise), dictionary coding (repeated sequences to short indices), Huffman coding (short codes for common symbols)
- lossy methods drop what the eye or ear misses; video adds spatial within a frame and temporal between frames
- justify from the use: exact data means lossless, limited bandwidth for streaming means lossy
Vous avez compris
- La compression économise l'espace de stockage et la bande passante ; le sans perte récupère l'original exactement, le avec perte supprime des données définitivement.
- Méthodes sans perte : RLE (une valeur et un compteur, efficace sur les suites, inefficace sur le bruit), codage par dictionnaire (séquences répétées vers des indices courts), codage Huffman (codes courts pour les symboles fréquents).
- Les méthodes avec perte éliminent ce que l'œil ou l'oreille ne perçoit pas ; la vidéo ajoute une compression spatiale au sein d'une image et temporelle entre les images.
- Justifiez selon l'usage : données exactes nécessitent une compression sans perte, bande passante limitée pour le streaming nécessite une compression avec perte.