O documento discute imagens digitais e seus formatos de compactação, como JPEG, e vídeo digital e seus formatos de compactação, como MPEG. Ele explica como esses formatos removem redundâncias para reduzir o tamanho dos arquivos de imagem e vídeo digital.
2. Imagem digital - compactação - JPEG
Joint Photographic Experts Group
Definido no padrão internacional 10918
Possui quatro modos com várias opções
Um dos principais é o modo sequencial com perdas
para imagens RGB de 24 bits
3. Imagem digital - JPEG - seq. com perdas
JPEG no modo sequencial com perdas (fonte: Tanenbaum)
Preparação do bloco
Uso de luminância e crominância
Melhor compactação
Criação de matrizes
Divisão em blocos
Redução das matrizes de crominância
4. Imagem digital - JPEG - seq. com perdas
Matrizes após a preparação do bloco (fonte: Tanenbaum)
(a) entrada em RGB (b) após a preparação do bloco
Transformação discreta de cossenos (Discrete Cosine
Transformation - DCT)
5. Imagem digital - JPEG - seq. com perdas
Exemplo de DCT para a matriz Y (fonte: Tanenbaum)
(a) (b)
(a) um bloco da matriz Y (b) coeficientes da DCT
6. Imagem digital - JPEG - seq. com perdas
DCT - cálculo dos coeficientes (fonte: Tanenbaum)
7. Imagem digital - JPEG - seq. com perdas
DCT - ordem de transmissão (fonte: Tanenbaum)
8. Vídeo
Olho humano retém imagens por alguns
milissegundos
Sequência exibida a 50 ou mais quadros (imagens) por
segundo → olho não percebe imagens discretas
Vídeo analógico
Imagem bidimensional representada como uma
voltagem variante no tempo
Vários formatos
NTSC
PAL
SECAM
Formatos diferem quanto ao número de linhas de
varredura, relação entre os eixos vertical e horizontal e
número de quadros por segundo
12. Vídeo digital - MPEG
Motion Picture Experts Group
Padrão de áudio e vídeo digital
Mais utilizados
MPEG-1
MPEG-2
MPEG-4
13. Vídeo digital - MPEG-1
Padrão internacional 11172
Formato 352 x 240 com 24 bits/pixel e 25
quadros/s
Sem compactação → 50,7 Mbps
1,5 Mbps
Só aceita imagens progressivas (não
entrelaçadas)
Dividido em três partes
Áudio
Vídeo
Sistema
Integra as duas partes
15. Vídeo digital - MPEG-1
Compactação de vídeo
Redundância espacial
Redundância temporal
16. Vídeo digital - MPEG-1
Quatro tipos de quadros
I (Intracoded)
Codificados com uma variante do JPEG
Um ou dois por segundo
P (Predictive)
Usa blocos chamados macroblocos
Diferenças macrobloco a macrobloco em relação ao
último quadro são codificadas
17. Vídeo digital - MPEG-1
Quadros consecutivos (fonte: Tanenbaum)
18. Vídeo digital - MPEG-1
Quatro tipos de quadros (cont.)
B (Birectional)
Diferenças macrobloco a macrobloco em relação a um
quadro anterior ou seguinte são codificadas
D (DC-coded)
Usados para possibilitar a exibição de uma imagem de
baixa resolução quando utiliza-se um avanço ou um
retrocesso rápido
19. Vídeo digital - MPEG-1
Relação entre quadros I, P e B (fonte:
http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_overview.html)
20. Vídeo digital - MPEG-2
Padrão internacional 13818
Formatos
352 x 240 → compatibilidade retroativa com MPEG-1
720 x 480 → NTSC
1440 x 1152 → HDTV
1920 x 1080 → HDTV
4 a 8 Mbps
Aceita imagens entrelaçadas e progressivas
Aumenta o tamanho do bloco usado na DCT de
8 x 8 para 10 x 10 para melhorar a qualidade
Usa os quadros I, P e B
21. Vídeo digital - MPEG-4
Trata imagens como objetos
Chega a 4096 x 4096
Flexibilidade na escolha da taxa
Pode-se codificar o áudio separado do vídeo
22. Protocolos da camada aplicação
Definem como processos de uma aplicação
trocam mensagens
Protocolo é um pedaço da aplicação de rede
23. Aplicações
Necessitam dos seguintes serviços de um
protocolo de transporte
Transferência de dados
Confiável
Não confiável
Banda passante
Aplicações podem ser sensíveis ou não à banda
passante
Temporização
Aplicações podem ser sensíveis ou não ao atraso
24. Aplicações
Exemplo de aplicações (fonte: Kurose)
Aplicação Perdas Banda Sensível ao atraso
file transfer sem perdas elástica não
e-mail sem perdas elástica não
Web documents tolerante elástica não
real-time audio/video tolerante áudio: 5 Kb-1 Mb sim, 100’s mseg
vídeo:10 Kb-5 Mb
stored audio/video tolerante igual à anterior sim, segundos
jogos interativos tolerante kbps sim, 100’s mseg
e-business sem perda elástica sim
25. Serviços do transporte na Internet
TCP
Transferência de dados confiável
Orientado a conexão
Controle de congestionamento
Controle de fluxo
UDP
Transferência de dados não confiável
Não orientado a conexão
Sem controle de congestionamento
Sem controle de fluxo
26. Serviços do transporte na Internet
Exemplo de aplicações (fonte: Kurose)
Protocolo de Protocolo de
Aplicação aplicação transporte
e-mail smtp [RFC 2821] TCP
acesso a terminais remotos telnet [RFC 854] TCP
Web http [RFC 2616] TCP
transferência de arquivos ftp [RFC 959] TCP
streaming multimídia RTP ou proprietário UDP ou TCP
(ex.: RealNetworks)
servidor remoto de arquivos NFS UDP ou TCP
telefonia via Internet RTP ou proprietário tipicamente UDP
(ex.: Vocaltec)
28. DNS
Sistema de nomes de domínio (Domain Name
Server)
Serviço de diretórios da Internet
Nomes são mais fáceis de lembrar
Descrito nas RFCs 1034, 1035 e outras
DNS consiste em
Banco de dados distribuído implementado em uma
hierarquia de nomes
Protocolo da camada aplicação que permite que
hospedeiros consultem o banco de dados
29. DNS
Usa o UDP e a porta 53
Dados armazenados em ASCII
Não é uma aplicação com a qual o usuário
interage diretamente
Complexidade nas bordas da rede
30. DNS
Serviços providos
Tradução de nomes de hospedeiros para endereços IP
Apelidos de hospedeiros
Nome de hospedeiro é chamado nome canônico
Apelidos de servidor de correio eletrônico
Pode-se obter o nome canônico a partir do apelido
Distribuição de carga
Realizada entre servidores replicados
Conjunto de endereços IP associado a um único nome
canônico
Respostas do DNS contêm o conjunto de endereços
É feito um rodízio na ordem dos endereços
31. DNS - tradução de nome para end. IP
Banco de dados distribuído e hierárquico
Anteriormente os hospedeiros e seus endereços eram
armazenados somente em um arquivo hosts.txt
Arranjo centralizado não seria escalável
Ponto de falha
Volume de tráfego
Atraso para clientes distantes do banco de dados
Dificuldade de manutenção
32. DNS - tradução de nome para end. IP
Composto de
Servidores DNS locais
Três tipos (classes) de servidores de nomes
Raiz
De domínio de alto nível (Top-Level Domain – TLD)
Com autoridade
33. DNS - tradução de nome para end. IP
Servidores de nomes raiz
Treze servidores na Internet (2004) espalhados pelo
mundo
Servidores de nomes TLD ou de nível superior
Responsáveis por domínios de alto nível
Com, org, net, edu, gov, br, uk, ca etc. (genéricos e de
países - ISO 3166)
Servidores de nomes com autoridade
Responsáveis por domínios das organizações
Domínios de segundo nível
34. DNS - tradução de nome para end. IP
Exemplo de servidores DNS (fonte: Kurose)
35. DNS - tradução de nome para end. IP
Espaço de nomes do DNS é dividido em zonas
não superpostas
Zona inclui os hospedeiros administrados diretamente
por um servidor
Zona contém uma parte da árvore e servidores de
nomes que armazenam informações referentes à zona
Zona contém um servidor principal (obtêm suas
informação a partir do disco) e servidores secundários
(obtêm suas informações a partir do servidor principal)
36. DNS - tradução de nome para end. IP
Exemplo de parte do espaço de nomes DNS (fonte: Tanenbaum)
37. Exemplo de interação entre servidores DNS (fonte: Kurose)
O hospedeiro em cis.poly.edu
quer o endereço IP para
gaia.cs.umass.edu
Servidor de nomes local da
Polytechnique é dns.poly.edu
Servidor de nomes com
autoridade para
gaia.cs.umass.edu é
dns.umass.edu (erro na figura)
38. Exemplo de interação entre servidores DNS (fonte: Kurose)
1) Consulta ao servidor de
nomes local
2) Consulta ao servidor de
nomes raiz
3) Resposta com servidores
TLD responsáveis por edu
4) Consulta ao servidor de
nomes TLD
5) Resposta com servidor de
nomes com autoridade
responsável por umass.edu
6) Consulta ao servidor de
nomes com autoridade
39. DNS - tradução de nome para end. IP
Consultas podem ser
Recursivas
Transfere a tarefa para o servidor consultado
No exemplo, de cis.poly.edu para dns.poly.edu
Iterativas
Servidor responde com o nome de outro servidor a ser
contactado
No exemplo, todas as outras consultas
40. DNS - tradução de nome para end. IP
Uso de cache
Melhora o desempenho em relação ao atraso
Diminui a quantidade de mensagens DNS enviadas
Qualquer servidor pode responder, mesmo que não
tenha autoridade para o nome
Frequentemente são feitos caches de servidores TLD
Para evitar os servidores raiz
41. DNS - registros de recursos
Banco de dados DNS é constituído de registros
de recursos
DNS mapeia nomes de domínios em registros
de recursos
Domínios possuem registros de recursos associados a
eles
Armazenados nos servidores de nomes
42. DNS - registros de recursos
Campos (Name, Value, Type, TTL)
Se Type
A → Name = nome do hospedeiro, Value = endereço IP
(relay1.bar.foo.com, 145.37.93.126, A)
NS → Name = nome do domínio, Value = nome de um
servidor de nomes com autoridade que responde a
consultas relativas aos hospedeiros do domínio
(foo.com, dns.foo.com, NS)
CNAME → Name = apelido do hospedeiro, Value = nome
canônico do hospedeiro
(foo.com, relay1.bar.foo.com, CNAME)
MX → Name = apelido do hospedeiro, Value = nome
canônico do servidor de correio eletrônico
(foo.com, mail.bar.foo.com, MX)
43. DNS - registros de recursos
Formato (Name, Value, Type, TTL) (cont.)
TTL
Tempo de vida útil do registro
Determina quando o registro deve ser removido de um
cache