• Nenhum resultado encontrado

Imagem tipo Bitmap. Introdução. Arquivos Gráficos. Arquivos Gráficos. Há dois métodos básicos de se representar uma imagem

N/A
N/A
Protected

Academic year: 2021

Share "Imagem tipo Bitmap. Introdução. Arquivos Gráficos. Arquivos Gráficos. Há dois métodos básicos de se representar uma imagem"

Copied!
28
0
0

Texto

(1)

ÿ

Introdução

Há dois métodos básicos de se representar uma imagem

Bitmap (ou pixelmap ou raster)

Vetorial

ÿ

Imagem tipo Bitmap

A imagem é subdividida pequenas áreas denominada pixels

(picture elements).

A cada pixel é associada um valor que representa a cor da

área da imagem original.

A imagem é representada pela enumeração dos valores dos

pixels.

Para imagens preto-e-branco, cada pixel é representado por

um único bit.

Nas imagens coloridas (color images) os pixels são

representados por um conjunto de bits. Estes conjunto de

bits podem representar diretamente a cor ou ainda um

índice em uma tabela de cores (pseudo color).

Destaca-se a seguinte configuração de bits para representar

imagens coloridas:

24 bits (truecolor): 8 bits para cada um dos canais

vermelho, verde e azul;

Utiliza-se em geral 8 bits para representar imagens em tons

de cinza (grayscale images).

Cada pixel da imagem é representado por um valor binário

em uma matriz bidimensional (um mapa de valores

binários) - daí o nome bitmap (mais apropriado para

(2)

ÿ

Imagem tipo Vetorial

Em uma representação vetorial a imagem é representada

por um conjunto de linhas, curvas e/ou formas geométricas.

Na representação vetorial, em geral, é possível que regiões

sejam especificadas com uma cor sólida (ou chapada), tons

de cinza ou gradientes de tons (dégradé).

Em sentido estrito, o termo vetorial se refere apenas à

representação através de retas (vetores), entretanto, o termo

vetorial pode compreender também formas mais complexas

como curvas, círculos , quadrados, etc. Em geral, arquivos

de imagem do tipo vetorial são constituídos de comandos

que implementam primitivas geométrica. Por exemplo:

CIRCLE(10,250,150)

círculo de raio 100 com centro em x = 250 e y = 100

LINE(10,20,40,50)

linha unindo o ponto (10,20) ao ponto (40,50)

Exemplos: DXF (AutoCAD)

ÿ

Comparação entre as formas de representação

Bitmap e Vetorial

Generalidade da forma de Representação:

+

BITMAP: é capaz de representar praticamente

qualquer imagem.

VETORIAL: não é apropriada para representar

imagens fotográficas (por exemplo: paisagem).

Tamanho do Arquivo:

+

BITMAP: arquivo depende da resolução (número de

pixels) e do número de bit planes por pixel - tende a

ser grande. Em geral, formatos de arquivos de imagem

bitmap utilizam algum método de compressão para

minimizar este problema.

VETORIAL: arquivo tende a ser menor, já que as

primitivas geométricas definem, em geral, vários

(3)

ÿ

Comparação entre as formas de representação

Bitmap e Vetorial (cont.)

Aumento Tamanho da Imagem:

BITMAP: o aumento de tamanho da imagem pode

tornar a sua característica discreta visível,

apresentando o efeito indesejável de serrilhamento de

bordas/contornos.

+

VETORIAL: as primitivas geométricas permitem o

escalamento (aumento/diminuição) de modo suave

sem apresentar efeitos indesejáveis.

ÿ

Comparação entre as formas de representação

Bitmap e Vetorial (cont.)

Manipulação Seletiva do Conteúdo:

BITMAP: é limitada e trabalhosa a manipulação do

conteúdo de uma imagem.

+

VETORIAL: permite a identificação das primitivas e a

(4)

ÿ

Comparação entre as formas de representação

Bitmap e Vetorial (cont.)

Apresentação:

+

BITMAP: não apresenta grandes problemas por ser

compatível com a tecnologia varredura presente na

maioria dos dispositivos de apresentação. O

procedimento de apresentação não envolve

processamento adicional. Não é apropriada para a

apresentação em dispositivos do tipo vetorial.

VETORIAL: Para a apresentação em dispositivos de

varredura necessita processamento para a conversão,

apresentando um custo computacional adicional. Esta

conversão pode apresentar variações dependendo da

estratégia utilizada (depende do programa de

conversão). Mesmo para dispositivos da tecnologia

vetorial pode ser necessário a conversão para as

primitivas nativas do dispositivo. Este procedimento

também pode introduzir distorções.

ÿ

Arquivos Gráficos

Nesta disciplina vamos apresentar e discutir apenas os

formatos GIF e JFIF (JPEG File Interchange Format). Estes

formatos de arquivos gráficos são da categoria bitmap e são

os formatos intensamente utilizados no ambiente Web.

(5)

ÿ

Graphics Interchange Format (GIF)

Característica principais:

Tipo: Bitmap.

Cor: Pseudo-cor, tamanho máximo da paleta 256 de

um conjunto de 2

24

cores (16,777216 milhões de

cores).

Compressão: LZW.

Projetado principalmente para ser formato de

transmissão (que pode ser utilizado para

armazenamento) - data stream.

Outras características:

Desenvolvido pela CompuServe, Inc.

Duas versões 1987 (87a) e 1989 (89a)

Tamanho Máximo da Imagem: 64Kx64K pixels.

Suporta seqüenciamento de múltiplas imagens (Gif

animado) (89a).

Suporta transparência (89a).

Suporta modo entrelaçado de apresentação (89a)

Suporta texto (89a).

Permite extensão dependente da aplicação.

ÿ

Estrutura do arquivo - visão geral

GIF define um protocolo para a transmissão on-line de

imagens. GIF possui uma organização seqüêncial (data

stream) que permite a apresentação da imagem à medida

que ela vai sendo recebida.

GIF é organizado em blocos. Os blocos contêm as

informações necessárias para a reprodução da imagem.

Estes elementos são enviados (ou armazenados)

seqüencialmente.

(6)

ÿ

Estrutura do arquivo - visão geral

Os seguintes blocos estão definidos:

Header

Logical Screen Descriptor

Global Color Table

Image Descriptor

Local Color Table

Image Data

Graphics Control Extension

Plain Text Extension

Comment Extension

Application Extension

Trailer

ÿ

Estrutura do arquivo - visão geral

Os blocos podem ser classificados em:

Blocos de Controle (utilizados para controlar o

processo de transmissão e apresentação da imagem):

Header; Logical Screen Descriptor; Global Color

Tabel; Local Color Table; Image Descriptor;

Graphics Control Extension e Trailer.

Blocos com conteúdo gráfico (contêm as informações

da imagem propriamente dita): Image Data e Plain

Text Extension.

Blocos de Propósito Especial (contêm informações

para o usuário e aplicação): Comment Extension e

Application Extension.

(7)

ÿ

Estrutura do arquivo - visão geral

O arquivo GIF contendo uma ou mais imagens segue a

seguinte ordem:

Header (obrigatório)

Logical Screen Descriptor (obrigatório)

Global Color Table (opcional)

1 ou mais

Image Descriptor, Local Color Table (opcional) e

Table Based Image Data.

Graphic Control Extension, Image Descriptor,

Local Color Table (opcional) e Table Based

Image Data.

Trailer

ÿ

Header

Bloco obrigatório composto de 6 byte. Identifica o formato

e sua versão. Abre um novo arquivo/data stream.

7 6 5 4 3 2 1 0 ´G´ ´I´ ´F´ ´8´ ´9´ ´a´ Signature Version

(8)

ÿ

Logical Screen Descriptor

Bloco obrigatório composto de 7 bytes . Define a área

dentro da qual a imagem será apresentada, a existência de

uma tabela de cores global e a relação de aspecto de um

pixel.

Logical Screen Width: largura, em pixels, da área dentro da

qual a imagem será apresentada. Esta área é denominada

Tela Lógica.

Logical Screen Height: altura, em pixels, da área dentro da

qual a imagem será apresentada. Esta área é denominada

Tela Lógica

7 6 5 4 3 2 1 0

Logical Screen Width

Logical Screen Height

<Packed Fields> Background Color Index Pixel Aspect Ratio

ÿ

Logical Screen Descriptor

Packed Fields

Bit 7 - Global Color Table Flag: especifica a existência

(1) ou não (0) de uma tabela de cores global.

Bits 6 a 4 - Color Resolution : número de bits por cor

primária da imagem original - 1.

Bit 3 - Sort Flag: caso exista tabela de cores global,

especifica se a tabela está ordenada (1) ou não (0).

Ordenação: cores que ocorrem com maior freqüência

primeiro.

Bits 2 a 0 - Size of Global Color Table: número de

entradas da tabela de cores global =

2

(Size of Global Color Table + 1)

.

Background Color Index: Caso exista tabela global, o

índice da cor de fundo. Os pixels da tela lógica não cobertos

pela imagem recebem a cor de fundo.

Pixel Aspect Ratio: fator que permite calcular o relação de

aspecto dos pixels da imagem (largura/altura), sendo dado

dada por (0 = pixel aspect ratio não especificado):

(pixel aspect ratio + 15)/64

(9)

ÿ

Global Color Table

Bloco Opcional: define a tabela de cores a ser utilizadas em

todas as imagens que não possuam tabela de cores local.

7 6 5 4 3 2 1 0 Red 0 Blue 0 Green 0 Red 1 Blue 1 Green 1

Red 2(Size of Global Color Table + 1)- 1

Blue 2(Size of Global Color Table + 1)- 1

Green 2(Size of Global Color Table + 1)- 1

ÿ

Image Descriptor

Bloco necessário para a especificação de uma imagem.Toda

imagem é composta de um bloco Image Descriptor, de uma

tabela de cores local opcional e dos dados da imagem.

Image Separator: identifica o início de um bloco Image

Descriptor (valor constante 0x2C).

Image Left Position: identifica a coluna, em pixels, da tela

lógica do canto esquerda da imagem (coluna mais a

esquerda da Tela Lógica é 0)

Image Top Position - identifica a linha, em pixels, da Tela

Lógica da topo da imagem (linha superior da Tela Lógica é

0)

7 6 5 4 3 2 1 0

Image Separator Image Left Position

Image Width

Image Height 0x2C

Image Top Position

(10)

ÿ

Image Descriptor

Image Width: largura, em pixels, da imagem.

Image Height: altura, em pixels, da imagem.

Packed Fields

bit 7 - Local Color Table Flag: indica a existência (1)

ou não (0) de uma tabela de cores local. Esta tabela

está associada apenas à imagem que se segue.

bit 6 - Interlace Flag: indica se a imagem está (1) ou

não (0) entrelaçada.

bit 5 - Sort Flag: indica se a tabela de cores local está

ordenada (1) ou não (0).

bits 4 e 3 - reservados

bits 2 a 0 - Size of Local Color Table: especifica o

número de entradas da tabela de cores local:

2

(Size of Local Color Table + 1)

.

ÿ

Modo Entrelaçado

4 Passos

Passo 1: a partir da linha 0, de oito em oito.

Passo 2: a partir da linha 4, de oito em oito.

Passo 3: a partir da linha 2, de quatro em quatro.

Passo 4: a partir da linha 1, de duas em duas.

LINHA 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 1 1 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 PASSOS

(11)

ÿ

Local Color Table

Bloco Opcional: Define tabela de cores a ser utilizadas na

imagem que se segue. A existência da tabela de cores local

é indicada no bloco Image Descriptor.

7 6 5 4 3 2 1 0 Red 0 Blue 0 Green 0 Red 1 Blue 1 Green 1

Red 2(Size of Local Color Table + 1)- 1

Blue 2(Size of Local Color Table + 1)- 1 Green 2(Size of Local Color Table + 1)- 1

ÿ

Table Based Image Data

Define a imagem, indicando as cores dos pixels da esquerda

para direita e de cima para baixo. A imagem é dada por

uma seqüência de índices de uma tabela da cores (global ou

local) comprimida segundo método LZW.

7 6 5 4 3 2 1 0

Sub-Block

Image Data – LZW coded Bloco Size 7 6 5 4 3 2 1 0 LZW Code Size Sub-block 1 Block Terminator Sub-block N

(12)

ÿ

Table Based Image Data

LZW Code Size: indica o tamanho inicial em bits do código

LZW.

Sub-block(s): especifica os dados da imagem em uma

seqüência de um ou mais blocos de dados. Cada

sub-bloco possui um tamanho máximo de 255 bytes:

Block Size: indica o tamanho, em bytes, dos dados se

segue.

Image Data: seqüência de códigos LZW.

Block Terminator: valor 0x00. Indica o final dos dados que

representam uma imagem.

ÿ

Graphic Control Extension

Bloco utilizado para a definição de GIF animado e imagem

com transparência.

Extension Introducer: identifica o início de um bloco de

extensão (valor 0x21).

Graphic Control Label: identifica o bloco de extensão como

de controle gráfico (valor 0xF9).

Bock Size : indica o tamanho em bytes da informação que

se segue, sem incluir bloco finalizador (valor 4).

7 6 5 4 3 2 1 0

Extension Introducer Graphic Control Label

<Packed Fields> Delay Time 0x21

Block Size

Transparent Color Index 0xF9

0x04

Block Terminator 0x00

(13)

ÿ

Graphic Control Extension

Packed Fields:

Bits 7 a 5 - reservados

Bits 4 a 2 - Disposal Method:

0 - Método de descarte não especificado

1 - Não descartar

2 - Descartar e restaurar a cor de fundo

3 - Descartar e restaurar informação anterior

4 a 7 - reservados

Bit 1 - User Input Flag: indica se uma entrada do

usuário é esperada (1) ou não (0). Se o bit for

verdadeiro, o processamento só continuará após a

entrada do usuário. A característica da entrada

depende da aplicação (teclado, mouse, …)

Bit 0 - Transparent Color Index: Indica se o campo

Transparent Color Index contém um índice válido.

Delay Time: indica tempo de espera, em centésimos de

segundo, antes que o processamento possa continuar. Caso

especificado com uma entrada de usuário, o evento que

ocorrer primeiro (fim do tempo de espera ou entrada do

usuário) dispara a continuação do processamento.

ÿ

Graphic Control Extension

(14)

ÿ

Plain Text Extension

Bloco utilizado para a definição de texto. É tarefa do

interpretador (decodificador) do arquivo/data stream gerar

representação gráfica do texto..

7 6 5 4 3 2 1 0

Extension Introducer Plain Text Label

Text Grid Left Position

Text Grid Top Position 0x21

Block Size

Text Grid Width 0x01

0x0C

Block Terminator 0x00

Text Grid Height

Character Cell Width Character Cell Height Text Foreground Color Index Text Background Color Index Sub-Block 1

Sub-Block N

ÿ

Plain Text Extension

Extension Introducer: identifica o início de um bloco de

extensão (valor 0x21).

Plain Text Label: identifica a extensão como extensão de

texto (valor 0x01).

Block Size: indica o número de bytes que se segue antes

dos sub-blocos de dados (valor 12 = 0x0C).

Text Grid Left Position: indica o número da coluna, em

pixels, do canto superior esquerdo da primeira célula de

texto.

Text Grid Top Position: indico o número da linha, em

pixels, do canto superior esquerdo a primeira célula de

texto

7 6 5 4 3 2 1 0

Sub-Block

Plain Text Data – ASCII text Bloco Size

(15)

ÿ

Plain Text Extension

Text Grid Width: indica a largura da grade de texto em

pixels.

Text Grid Height: indica a altura da grade de texto em

pixels.

Character Cell Width: indica a largura, em pixels, de uma

célula de texto.

Character Cell Height: indica a altura, em pixels, de uma

célula de texto.

Text Foreground Color Index: indica o índice na tabela

global de cores da cor das letras.

Text Background Color Index: indica o índice da tabela

global de cores da cor de fundo das letras.

Sub-block(s): informação textual agrupada em blocos de,

no máximo, 255 caracteres:

Block Size: indica o número de caracteres ASCII que

se segue.

Plain Text Data: seqüência de caracteres ASCII

Block Terminator: indica o final do bloco (valor 0x00).

ÿ

Comment Extension

Bloco de auxílio à documentação. Permite a definição de

comentários escritos.

7 6 5 4 3 2 1 0

Sub-Block

Comment Data – ASCII text coded Bloco Size 7 6 5 4 3 2 1 0 Extension Introducer Comment Label Block Terminator Sub-block 1 Sub-block N 0x21 0xFE 0x00

(16)

ÿ

Comment Extension

Extension Introducer: identifica o início de um bloco de

extensão (0x21).

Comment Label: identifica o bloco de extensão como bloco

de comentário (valor 0xFE).

Sub-block(s): texto dos comentário codificado em

sub-blocos de no máximo 255 caráteres.

Block Size: indica o número de caráteres ASCII que se

segue.

Comment Data: seqüência de caráteres ASCII.

Block Terminator: indica o final do bloco (valor 0x00).

ÿ

Application Extension

Bloco que contem informação especifica de uma aplicação.

7 6 5 4 3 2 1 0

Extension Introducer Application Extension Label

Application Identifier 0x21 Block Size 0xFF 0x0B Block Terminator 0x00

Application Authentication Code Character Cell Height

Text Foreground Color Index Text Background Color Index Sub-Block 1

(17)

ÿ

Application Extension

Extension Introducer: identifica o início de um bloco de

extensão (0x21).

Extension Label: : identifica o bloco de extensão como

bloco de aplicação (valor 0xFF).

Block Size: indica o número de bytes que se segue antes

dos sub-blocos de dados (valor 11 = 0x0B).

Application Identifier: seqüência de 8 caráteres ASCII

identificando a aplicação.

Application Authentication Code: seqüência de 3 bytes para

autenticar a aplicação (por exemplo, versão).

7 6 5 4 3 2 1 0

Sub-Block

Application Data Bloco Size

ÿ

Application Extension

Sub-block(s): dados da aplicação empacotados em

sub-blocos de no máximo 255 bytes:

Block Size: número de bytes que se segue.

Application Data: dados específicos a serem

interpretados pela a aplicação.

(18)

ÿ

Trailer

Bloco que indica o fim do arquivo/data stream GIF

Trailer: valor 0x3B

7 6 5 4 3 2 1 0

Trailer 0x3B

ÿ

JPEG Interchange Format (JFIF)

conhecido como formato de arquivo JPEG

Característica principais:

Tipo: Bitmap.

Cor: até 24 bits (16,777216 milhões de cores), espaço

de cor Y Cb Cr.

Compressão: JPEG.

Projetado principalmente para ser formato de

transmissão (que pode ser utilizado para

armazenamento) - data stream.

Outras características:

Desenvolvido pela C-Cube Microsystem, baseado na

ITU-T Recommendation T8.1.

Tamanho Máximo da Imagem: 64Kx64K pixels.

Suporta pré-visualizaçao através de imagem

thumbnail.

Suporta modo progressivo de

descompressão/visualização.

(19)

ÿ

Modos de Compressão

Baseline DCT

DCT

8 bits por amostra

Seqüencial

Codificação Huffman

Intercalado e Não-Intercalado

DCT Estendido

DCT

8-bit ou 12 bits por amostra

Seqüencial ou Progressivo

Codificação Huffman ou Aritmética

Intercalado e Não-Intercalado

Sem Perda (lossless)

Não DCT (preditivo)

2 a 16 bits por amostra

Codificação Huffman ou Aritmética

Intercalado e Não-intercalado

ÿ

Modos de Compressão (cont.)

Hierárquico

Múltiplos quadros (diferencial ou não-diferencial)

DCT estendido ou Sem Perda (lossless)

(20)

ÿ

Modos Seqüencial e Progressivo

Seqüencial

Progressivo

Duas variações:

Espectral

Aproximação Sucessiva

ÿ

Modo Seqüencial

0 63 . . . Coeficientes DCT Blocos 8x8 0 7 MSB LSB ... Byte Blocos 8x8 Ordem de Transmissão

(21)

ÿ

Modo Progressivo - Espectral

0 63 . . . Coeficientes DCT Blocos 8x8 0 7 MSB LSB ... Byte 0 Coeficientes DC Blocos 8x8 Ordem de Transmissão 1 Coeficientes AC Blocos 8x8 Ordem de Transmissão 2 Blocos 8x8

ÿ

Modo Progressivo – Aproximação Sucessiva

0 63 . . . Coeficientes DCT Blocos 8x8 0 7 MSB LSB ... Byte 0 Coeficientes DC Blocos 8x8 Ordem de Transmissão 0 7 ... 1 63 . . . Coeficientes AC Blocos 8x8 6 7 5 4 Ordem de Transmissão 1 . Coeficientes Blocos 8x8

(22)

ÿ

JPEG Interchange Format (JFIF)

conhecido como formato de arquivo JPEG

Hierárquico - resolução múltipla

ÿ

JPEG Interchange Format (JFIF)

conhecido como formato de arquivo JPEG

Estrutura JFIF

Seqüência de Segmentos

Segmentos identificados por marcadores (markers)

Contém a imagem e as tabelas de quantização e de

codificação Huffman (ou aritmética).

(23)

ÿ

Marcadores

Código (Hexa) Símbolo Descrição

FFC0 SOF0 Baseline DCT

FFC1 SOF1 Sequëncial Estendido DCT

FFC2 SOF2 Progressivo DCT

FFC3 SOF3 Sem perdas (seqüencial)

FFC5 SOF5 Sequëncial Diferencial DCT FFC6 SOF6 Progressivo Diferencial DCT FFC7 SOF7 Sem perdas Diferencial (seqüencial)

FFC8 JPG Reservado para extensões

FFC9 SOF9 Sequëncial Estendido DCT

FFCA SOF10 Progressivo DCT

FFCB SOF11 Sem perdas (seqüencial) FFCD SOG13 Sequëncial Diferencial DCT FFCE SOF14 Progressivo Diferencial DCT FFCF SOF15 Sem perdas Diferencial (seqüencial)

FFC4 DHT Definição de Tabela(s) de Huffman

FFCC DAC Definição de Tabela(s) de Codificação Aritmética FFD0 até FFD7 RTSm Reinício

FFD8 SOI Início de Imagem

FFD9 EOI Fim de Imagem

FFDA SOS Início de varredura (start of scan) FFDB DQT Definição de Tabela(s) de Quantização FFDC DNL Definição de Número de Linhas FFDD DRI Definição de interfaclo de reinício FFDE DHP Definição de Progressão Hierárquica

FFDF EXP Expansão de componente(s)

FFE0 até FFEF APPn Reservado para Segmentos da Aplicação FFF0 até FFFD JPGn Reservado para extensão JPEG

Especificação de Tabela de Huffman Especificação da Codificaçào Aritmética Terminador de intervalo de r+A59einício

Outros marcadores

Start of Frame, não-diferencial, Codificação Huffman

Start of Frame, diferencial, Codificação Huffman

Start of Frame, não-diferencial, Codificação Aritmética

Start of Frame, diferencial, Codificação Aritmética

ÿ

JFIF (Baseline)

SOI - Start of Image.

APP0 - JFIF Application Segment.

(1 ou mais) APP0 - JFIF Extension segment(s)

(opcional).

(1 ou mais) DQT - Define Quantization table.

SOF0 - Start Of Frame type 0 Baseline DCT.

(1 ou mais) DHT - Define Huffmann Table.

(1 ou mais) SOS - Start of Scan (dados da imagem).

(24)

ÿ

JPEG Interchange Format (JFIF)

conhecido como formato de arquivo JPEG

SOI - Start of Image

2 Bytes: FF D8

ÿ

APP0 - JFIF Application Segment

Caso a imagem thumbnail não seja especificada X=Y = 0

Posição Tamanho Nome Conteúdo Descrição

0 2 APP0 FFE0 Marcador APP0

2 2 Comprimento Integer Comprimento do Segmento

4 5 "JFIF\0" JFIF string

9 2 Versão 0102 versão 1.2

11 1 Unidades de X e Y Byte 0: unidade arbitrária 1: pixels/inch 2: pixel/cm 12 2 X densidade Integer Densidade horizontal

14 2 Y densidade Integer Densidade vertical

16 1 X thumb Integer Largura do imagem thumbnail

17 1 Y thumb Integer Altura da Imagem thumbnail

18 3*(X*Y) Thumb RGB Imagem thumbnail

(25)

ÿ

APP0 - JFIF Extension segment

Tipo 11 - Thumbnail pseudo-color

paleta de 256 cores

Posição Tamanho Nome Conteúdo Descrição

0 2 APP0 FFE0 Marcador APP0

2 2 Comprimento Integer Comprimento do Segmento 4 5 "JFXX\0" JFXX string

9 1 Code 11 Thumbanail em pseudo-cor

10 1 X thumb Byte Largura do imagem thumbnail

11 1 Y thumb Integer Altura da Imagem thumbnail 12 3*256 CLUT - paleta RGB CLUT para a imagem thumbnail

13 (X*Y) Imagem Bytes Imagem thumbnail

JFXX - Segmento de Aplicação

ÿ

APP0 - JFIF Extension segment

Tipo 13 - Thumbnail truecolor

Posição Tamanho Nome Conteúdo Descrição

0 2 APP0 FFE0 Marcador APP0

2 2 Comprimento Integer Comprimento do Segmento 4 5 "JFXX\0" JFXX string

9 1 Code 13 Thumbanail em truecolor

10 1 X thumb Byte Largura do imagem thumbnail

11 1 Y thumb Integer Altura da Imagem thumbnail 12 3*(X*Y) Imagem thumbnail RGB CLUT para a imagem thumbnail

(26)

ÿ

DQT - Define Quantization table

(até 4 tabelas - em geral, são utilizadas 2 tabelas: 1

para Y e outra para Cb e Cr)

Precisão:

0 – 8 bits (Byte) - Baseline

1 – 16 bits (Integer)

ID de tabelas pode assumir os valores: 0, 1, 2 e 3.

Posição Tamanho Nome Conteúdo Descrição

0 2 DQT FFDE Marcador Tabela(s) Quantização

2 2 Comprimento Integer Comprimento do Segmento

4 1 P/T Byte 4 bits mais signficativo - precisão

4 bits menos significativos - ID da tabela 5 64 ou 128 Elementos Byte ou Integer Valor da Tabela em zig-zag

N 1 P/T Byte 4 bits mais signficativo - precisão

4 bits menos significativos - ID da tabela N+1 64 ou 128 Elementos Byte ou Integer Valor da Tabela em zig-zag

JFXX - Segmento de Aplicação

ÿ

SOF0 - Start Of Frame Type 0 Baseline DCT

Posição Tamanho Nome Conteúdo Descrição

0 2 SOF0 FFC0 Marcador

2 2 Comprimento Integer Comprimento do Segmento 4 1 P Byte Precisão da Amostra (8 bits baseline)

5 2 Y Integer Número de linhas da image

7 2 X Integer Número de colunas da image

9 1 Nf Integer Número de Componentes

10 1 Ci Byte Identificador da Componente

11 1 H/V Byte 4 MSB - Fator de Amostragem Horizontal 4 LSB - Fator de Amostragem Vertical 12 1 Tqi Byte Tabela de Quantização Associada

N 1 Ci Byte Identificador da Componente

N+1 1 H/V Byte 4 MSB - Fator de Amostragem Horizontal 4 LSB - Fator de Amostragem Vertical N+2 1 Tqi Byte Tabela de Quantização Associada

(27)

ÿ

DHT - Define Huffmann Table

Existem 03 procedimentos associados (veja capítulo

anterior)

GERSIZE

GERCODE

SORTCODE

Posição Tamanho Nome Conteúdo Descrição

0 2 DHT FFC4 Marcador

2 2 Comprimento Integer Comprimento do Segmento

4 1 Tc/Th Byte 4 MSB - Classe Tabela (0 = DC, 1= AC) 4 LSB - ID da Tabela

4 16 Li 16 bytes BITS

20 12 ou 162 Vij variável HUFFVAL

4 1 Tc/Th Byte 4 MSB - Classe Tabela (0 = DC, 1= AC) 4 LSB - ID da Tabela

4 16 Li 16 bytes BITS

20 12 ou 162 Vij variável HUFFVAL

DHT- Define Huffman Table

ÿ

SOS - Start of Scan - dados da imagem

Posição Tamanho Nome Conteúdo Descrição

0 2 SOS FFDA Marcador

2 2 Comprimento Integer Comprimento do Segmento 4 1 Ns Byte Número de Componentes (1, 2, ou 3)

5 1 Cs Byte Componente

6 1 Td/Ta Byte 4 MSB - Tabela DC de Codificação 4 LSB - Tabela AC de Codificação

N 1 Cs Byte Componente

N+1 1 Td/Ta Byte 4 MSB - Tabela DC de Codificação 4 LSB - Tabela AC de Codificação N+2 1 Ss Byte Início Seleção Espectral (baseline sempre 0) N+3 1 Se Byte Fim Seleção Espectral (baseline sempre 63) N+4 1 Ah/Al Byte Bits para seleção espectral (baselina sempre 0)

(28)

ÿ

EOI - End of Image

Referências

Documentos relacionados

1845 262 ANNA JOAQUINA PAES JOAQUIM DE ALMEIDA LEITE DE MORAES INVENTÁRIOS. 1845 263 GERTRUDES RODRIGUES DA SILVA JOSE CORREA DA

1.6 Somente serão válidas as vendas realizadas: (i) nas operadoras de turismo participantes relacionadas ao final do Regulamento; (ii) efetivas de pacotes de

Deliberação n.º 227/2017: Deliberado aprovar a proposta do senhor Vice-Presidente da Câmara, datada de 1 de março de 2017, que a seguir se transcreve e de que se arquiva cópia

Com base na frequência da substituição de curativo, será necessário um novo conjunto do sistema de terapia de pressão negativa de feridas de uso único PICO, dependendo

Para isso, será transferida uma incubadora e reagentes para a FECM-UniCV que servirão para a cultura e manutenção das estirpes de Dunaliella salina. MAC BIOBLUE –

Este investigador em um estudo que buscou identificar quais eram as estraté- gias utilizadas nas teses de doutorado, dissertações de mestrado e artigos da Re- vista Brasileira

¾ Segundo nível • Terceiro nível – Quarto nível A FAMÍLIA PROFIBUS A FAMÍLIA PROFIBUS PROFIBUS-FMS PROFIBUS-FMS é a solução de propósito geral para comunicação de

8 Castors Roulettes de déplacement Ruedas de desplazamiento Transportrollen Rotelle di spostamento Transportwieltjes Rodinhas de deslocação Kółka do przemieszczania Görgők