Estrutura detalhada

 

A estrutura detalhada de um ficheiro JPEG é a seguinte:

Marcador Inicio de Imagem (SOI)
 
  • SOI (2 bytes)
 
 
Marcador Inicio de Frame (SOFn)
 
  • SOFn (2 bytes)
  • Lf (2 bytes) – Tamanho do segmento incluindo os 2 bytes do tamanho
  • P (1 byte) – Precisão em bits (8 para Baseline JPEG)
  • Y (2 bytes) – Número de linhas
  • X (2 bytes) – Número de amostras/linha
  • Nf (1 byte) – Número de componentes do frame (3 – cor; 1 – cinzentos)
  • Para cada Nf (i=1, .., Nf)
    • Ci (1 byte) – Identificador de componente
    • Hi (4 bits mais significativos) – Factor de amostragem horizontal
    • Vi (4 bits menos significativos) – Factor de amostragem vertical
    • Tqi (1 byte) – Número da tabela de quantização
 
 
Marcador Tabela Quantização (DQT)
 
  • DQT (2 bytes)
  • Lq (2 bytes) – Tamanho do segmento incluindo os 2 bytes do tamanho
  • Para cada DQT (enquanto tamanho > 0)
    • Pq (4 bits mais significativos) – Precisão (0 – 8 bit; 1 – 16 bit)
    • Tq (4 bits menos significativos) – Identificador da tabela
    • Para (k=0, .., 63)
      • Qk (1 ou 2 bytes) – Valores (armazenados no formato Zig-Zag)
 
 
Marcador Tabela Huffman (DHT)
 
  • DHT (2 bytes)
  • Lh (2 bytes) – Tamanho do segmento incluindo os 2 bytes do tamanho
  • Para cada DHT (enquanto tamanho > 0)
    • Tc (4 bits mais significativos) – Classe da tabela
    • Th (4 bits menos significativos) – Identificador da tabela
      • Para (i=1, .., 16)
      • Li (1 byte) – Número de códigos de tamanho i
  • Para (i=1, .., 16)
  • Para (j=1, .., 16)
    • Vij (1 byte) – Valores associados a cada código de Huffman
  
  
Marcador Inicio de Dados (SOS)
 
  • SOS (2 bytes)
  • Ls (2 bytes) – Tamanho do segmento incluindo os 2 bytes do tamanho
  • Ns (1 byte) – Número de componentes
  • Para cada Ns (k=1, .., Ns)
    • Csk (1 byte) – Identificador de componente
    • Tdk (4 bits mais significativos) – Identificador de valores DC
    • Tak (4 bits menos significativos) – Identificador de Valores AC
  • Ss (1 byte) – Inicio de selecção espectral
  • Se (1 byte) – Fim de selecção espectral
  • Ah (4 bits mais significativos) – Posição do bit de aproximação sucessiva
  • Al (4 bits menos significativos) – Posição do bit de aproximação sucessiva
 
 
Marcador Fim de Imagem (EOI)
 
  • EOI (2 bytes)

 

voltar atrás