1. Inizio dell'immagine (SOI): Il primo marcatore, `FF D8`, segnala l'inizio del file JPEG. È come dire "Questa è un'immagine JPEG, presta attenzione!"
2. APP MARKERS (APPN): Marcatori specifici dell'applicazione, indicati da `ff e0` a` ff ef`. Questi contengono spesso metadati, come:
* JFIF (formato di interscambio di file jpeg): Questo segmento contiene informazioni sulla risoluzione dell'immagine, lo spazio dei colori (di solito YCBCR) e altri parametri vitali. È fondamentale per la visualizzazione adeguata.
* EXIF (formato del file di immagine scambiabile): Questo contiene metadati come impostazioni della fotocamera, data/ora, posizione GPS, ecc. Spesso più esteso di JFIF.
* Altri metadati: Altre applicazioni potrebbero aggiungere i propri segmenti di metadati.
3. Tabella di quantizzazione (S) (DQT): Questi segmenti (`ff db`) definiscono le tabelle di quantizzazione utilizzate per la compressione perdita. Queste tabelle determinano quanti dettagli vengono scartati durante la compressione. Diverse tabelle possono essere definite per luminanza (luminosità) e crominanza (colore).
4. Huffman Table (S) (DHT): Questi segmenti (`ff c4`) definiscono le tabelle di codifica Huffman utilizzate per la codifica entropica. Queste tabelle dettano la frequenza con cui i dati che si verificano con codici più brevi, migliorando l'efficienza di compressione.
5. Inizio del frame (SOF): Questo marcatore (`ff c0`,` ff c1`, `ff c2`) specifica le proprietà di base dell'immagine:
* Formato dei dati di immagine: DCT basale, DCT progressivo, ecc.
* Fattori di campionamento: Quanti pixel sono campionati per ciascun componente di colore (ad es. 4:2:0, 4:2:2, 4:4:4). Ciò influisce sulla risoluzione delle informazioni sul colore.
* Numero di componenti: Di solito 3 (Y, CB, CR per immagini a colori), ma può essere 1 (scala di grigi).
* Dimensioni dell'immagine: Altezza e larghezza nei pixel.
6. Intestazione di scansione (SOS): Il marcatore `FF DA` indica l'inizio dei dati dell'immagine compressa. Specifica quali componenti saranno scansionati e come.
7. Dati dell'immagine compressa: È qui che risiedono i dati dell'immagine effettiva, codificati usando trasformata discreta del coseno (DCT), quantizzazione e codifica Huffman (o codifica aritmetica). Questa è la maggior parte del file.
8. End of Image (EOI): Il marcatore finale, `ff d9`, segnala la fine del file JPEG.
In sintesi: Un file JPEG non è semplicemente un dump di immagini grezze. È un contenitore attentamente strutturato con metadati e dati di immagine compressa. Il processo di compressione prevede diverse fasi:
1. Conversione del colore (se applicabile): RGB viene in genere convertito in YCBCR.
2. Trasformazione del coseno discreta (DCT): Trasforma i blocchi di immagini in coefficienti di frequenza.
3. Quantizzazione: Riduce la precisione dei coefficienti DCT, introducendo la compressione perdita.
4. codifica entropica (huffman o aritmetica): Comprime ulteriormente i coefficienti quantificati assegnando codici più brevi a valori più frequenti.
La struttura esatta e il contenuto di un file JPEG possono variare, a seconda delle impostazioni utilizzate durante la compressione e della presenza di metadati opzionali. Ma i marcatori di base e la loro sequenza rimangono coerenti.
software © www.354353.com