Ho sentito che Jpeg usa il codice di Hufman. Cos'è il codice Huffman?Tecnica di codifica Jpeg
risposta
La codifica di Huffman è un metodo che accetta simboli (ad esempio byte, coefficienti DCT, ecc.) E li codifica con codici di lunghezza variabile assegnati in base alle probabilità statistiche. Un simbolo usato frequentemente sarà codificato con un codice che occupa solo un paio di bit, mentre i simboli che vengono usati raramente sono rappresentati da simboli che richiedono più bit da codificare.
Un file JPEG contiene fino a 4 tabelle huffman che definiscono il mapping tra questi codici a lunghezza variabile (che richiedono da 1 a 16 bit) ei valori del codice (che è un byte di 8 bit). Generalmente queste tabelle comportano il conteggio della frequenza con cui ogni simbolo (parola di codice DCT) appare in un'immagine e alloca le stringhe di bit di conseguenza. Ma la maggior parte degli encoder JPEG usa semplicemente le tabelle di Huffman presentate nello standard JPEG. Alcuni codificatori consentono di ottimizzare queste tabelle, il che significa che viene creato un albero binario ottimale che consente di generare una tabella huffman più efficiente.
Dai un'occhiata alla http://www.cs.duke.edu/csed/poop/huff/info/ per una spiegazione molto più profondo
Grazie mille, un'altra domanda, quali sono i coefficienti DCT che hai citato? –
Giusto per completare la risposta data da david99world: codifica
Huffman è solo una fase finale di compressione JPEG. L'importante compressione proviene dalla matrice di quantizzazione applicata al DCT. Cos'è questo? Bene, la trasformazione DCT è solo un modo per mostrare le informazioni sull'immagine per frequenze. Invece di avere una matrice con i valori dei pixel in questo modo:
si avrà una matrice con coefficienti DCT, che mostra le informazioni di frequenza, concentrando la maggior parte informazioni nell'angolo superiore sinistro:
Ora che si hanno i coefficienti DCT, ecco la fase di compressione reale, che è la divisione di tutti i valori mediante una matrice di quantizzazione basata sulla visione dell'occhio umano. Questa matrice renderà zero quei coefficienti contenenti informazioni non rilevanti per l'occhio umano e lascerà quasi gli stessi quelli importanti.
Perché questo passo importante per la compressione? Poiché ora che hai molti zeri, la codifica di Huffman raggruppa grandi quantità di zeri in parole in codice di dimensioni ridotte, quindi stai salvando la memoria di archiviazione.
Si può cercare di programma in Matlab tutta algoritmo e lo capirete meglio. Si noti che se si applica la matrice Q più volte, si avrà più compressione (più zeri), ma anche un'immagine di qualità inferiore.
Spero che questo chiarisca le cose per voi.
- 1. AS3 JPEG veloce o asincrona codifica
- 2. Compressione immagine JPEG
- 3. rapporto di compressione jpeg
- 4. jQuery scorciatoie/tecnica per alternare le classi
- 5. Tecnica sottostante di FaceDetector di Android
- 6. Tecnica di analisi XML di Android
- 7. Conversione di PNG in JPEG
- 8. Quale tecnica di blackout internet funziona meglio?
- 9. Scalaz biblioteca tecnica di importazione ragionamento
- 10. Migliore tecnica di sostituzione delle immagini
- 11. Tecnica Emacs per confrontare sezioni di documenti?
- 12. Tecnica di caricamento lenta per UICollectionView
- 13. Migliorare una semplice tecnica di template JavaScript
- 14. Hibernate: Differenza tra @ tecnica di annotazione incorporata e annotazione @OneToOne Tecnica
- 15. Support Resistance Algorithm - Analisi tecnica
- 16. Modelli variabili e sicurezza tecnica
- 17. Encoder/decodificatore JPEG gerarchico
- 18. Estrazione EXIF da JPEG
- 19. PHP Imagick JPEG Optimization
- 20. dlib load jpeg files
- 21. Python PIL jpeg qualità
- 22. Differenza tecnica tra un'app stand-alone e un'app web
- 23. Conversione di JPEG in formato testo da origine messaggio di posta elettronica in JPEG
- 24. Codifica base64 in modello Freemarker
- 25. Codifica Python 36 codifica
- 26. File jpeg di analisi, indicatore SOS
- 27. Usare JPEG per le immagini di lancio
- 28. Algoritmo di sottocampionamento del croma per jpeg
- 29. Flusso di dati JPEG su TImage
- 30. Conversione di bitmap in jpeg in android
Questa è la codifica di Huffman **. Se l'hai cercato su google, la prima risposta ti indirizzerà alla [pagina di Wikipedia] (http://en.wikipedia.org/wiki/Huffman_coding). – darioo