2011-12-14 12 views
5

Tengo un problema con el análisis del archivo jpeg. Cuando toco el marcador SOS (inicio de escaneo), hay pocos bytes, lo que significa que no entiendo. En la imagen de abajo, después del marcador SOS, hay 2 bytes para la longitud del encabezado (parte Ls en la imagen). Pero, ¿qué significa el resto de los datos en la imagen (por ejemplo, Ns, Cs1, etc.) y dónde comienzan los datos puros? SOS jpeg file headerAnalizando el archivo jpeg, marcador SOS

Respuesta

4

Cs1 es un índice de selección de componentes, esto se refiere de nuevo a la sección de SOF (donde se especifican factores de muestreo horizontal y vertical)

Td1 es el selector mesa de DC para el componente de corriente (Cs1)

Ta1 es el selector de tabla de CA para el componente actual (Cs1)

Ss, Se y Ah, Al definen la selección espectral para los datos de exploración actuales (esto se usa en mapas de bits progresivos. En la primera ronda de representación, solo se muestran frecuencias más bajas, en la ronda final, mo re frecuencias detallados se muestran)

Los datos escaneados se inicia después de que Al

En resumen,

SOS (2 bytes) 
Ls (2 Bytes) 
Ns (1 byte) 
Component Specific Parameters (Ns * 2 bytes) 
Ss (1 byte) 
Se (1 byte) 
Ah,AL (1 byte) 
... scan data ... 
+0

Thx por su respuesta, pero a excepción de los parámetros de componentes de especificación ¿necesito cualquier otro bytes para hacer originales imagen (ya he generado la tabla y los códigos de Huffman y leído las tablas de cuantificación) – MrD

+0

Para un jpeg simple, necesitará factores de muestreo de altura, ancho, horizonatal y vertical, tablas huffman, tablas de cuantificación, marcador de reinicio (opcional), Cs1, Cs2, Cs3 y, por supuesto, los datos de escaneo en sí. Para un jpg progresivo, tendrá más de un fotograma – Jimmy

+0

¿cómo sé si es progresivo y cuál es la diferencia entre jpeg simple y jpeg progresivo? – MrD

Cuestiones relacionadas