Imagem digital
Configuração de 640 x 480 e 24 bits/pixel (RGB)
7,37 Mbits
Solução → compactação
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
Imagem digital - JPEG - seq. com perdas
JPEG no modo sequencial com perdas (fonte: Tanenbaum)
Preparação do bloco
Uso de luminância (Y) e crominância (I e Q)
Melhor compactação
Criação de matrizes
Divisão em blocos
Redução das matrizes de crominância
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)
Imagem digital - JPEG - seq. com perdas
Exemplo de DCT para a matriz Y (fonte: Tanenbaum)
(a)
(a) um bloco da matriz Y
(b)
(b) coeficientes da DCT
Imagem digital - JPEG - seq. com perdas
DCT - cálculo dos coeficientes quantizados (fonte: Tanenbaum)
Imagem digital - JPEG - seq. com perdas
DCT - ordem de transmissão (fonte: Tanenbaum)
Imagem digital - JPEG - seq. com perdas
Após a varredura aplica-se a codificação runlenght
No exemplo, informa-se que são 38 zeros
Por último,
Huffman
utiliza-se
uma
codificação
Códigos mais curtos para os valores mais comuns
Códigos mais longos para os valores pouco comuns
de
Vídeo
Olho humano
milissegundos
retém
imagens
por
alguns
Sequência exibida a 50 ou mais quadros (imagens) por
segundo → olho não percebe imagens discretas
Vídeo analógico
Imagem bidimensional representada
voltagem variante no tempo
Vários formatos
como
uma
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
Vídeo analógico NTSC (fonte: Tanenbaum)
Vídeo analógico
Formatos usam 25 ou 30 quadros/s
Oscilação na imagem
Solução → exibe-se primeiro as linhas ímpares e
depois as pares (entrelaçamento)
Vídeo digital
Configuração de 1024 x 768, 24 bits/pixel e 25
quadros/s
472 Mbps
Solução → compactação
Vídeo digital - MPEG
Motion Picture Experts Group
Padrão de áudio e vídeo digital
Mais utilizados
MPEG-1
MPEG-2
MPEG-4
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
entrelaçadas)
Dividido em três partes
Áudio
Vídeo
Sistema
Integra as duas partes
progressivas
(não
Vídeo digital - MPEG-1
MPEG-1 (fonte: Tanenbaum)
Vídeo digital - MPEG-1
Compactação de vídeo
Redundância espacial
Redundância temporal
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
16 x 16 na luminância
8 x 8 na crominância
Diferenças macrobloco a macrobloco em relação ao
último quadro são codificadas
Vídeo digital - MPEG-1
Quadros consecutivos (fonte: Tanenbaum)
Utilidade dos quadros P
vários macroblocos iguais
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
Vídeo digital - MPEG-1
Relação entre quadros I, P e B (fonte:
http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_overview.html)
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
Vídeo digital - MPEG-4
Trata imagens como objetos
Chega a 4096 x 4096
Possui flexibilidade na escolha da taxa
Pode-se codificar o áudio separado do vídeo
Protocolos da camada aplicação
Definem como processos de uma aplicação
trocam mensagens
Mais especificamente definem
Tipos de mensagens trocadas
Sintaxe dos vários tipos de mensagens
Ex.: campos
Semântica dos campos
Regras para determinar quando e como um processo
envia e responde a mensagens
Protocolo é um pedaço da aplicação de rede
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
Aplicações
Exemplo de aplicações (fonte: Kurose)
Aplicação
file transfer
e-mail
Web documents
real-time audio/video
stored audio/video
jogos interativos
msg instantânea
Perdas
Banda
Sensível ao atraso
sem perdas
sem perdas
sem perdas
tolerante
elástica
elástica
elástica
áudio: 5 Kb-1 Mb
vídeo:10 Kb-5 Mb
igual à anterior
kbps
elástica
não
não
não
sim, 100’s mseg
tolerante
tolerante
sem perda
sim, segundos
sim, 100’s mseg
sim e não
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
Serviços do transporte na Internet
Exemplo de aplicações (fonte: Kurose)
Protocolo de
aplicação
Protocolo de
transporte
e-mail
acesso a terminais remotos
Web
transferência de arquivos
streaming multimídia
smtp [RFC 5321]
telnet [RFC 854]
http [RFC 2616]
ftp [RFC 959]
http (Youtube)
TCP
TCP
TCP
TCP
UDP ou TCP
servidor remoto de arquivos
telefonia via Internet
NFS
sip ou proprietário
(ex.: Skype)
UDP ou TCP
tipicamente UDP
Aplicação
Aplicações
DNS
Transferência de arquivos (FTP)
Correio eletrônico
Web
Compartilhamento de arquivos P2P
Outras
DNS
Sistema de nomes de domínio (Domain Name
System)
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
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
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
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
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
DNS - tradução de nome para end. IP
Servidores de nomes raiz
Treze servidores na Internet (2006) 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
DNS - tradução de nome para end. IP
Exemplo de servidores DNS (fonte: Kurose)
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)
DNS - tradução de nome para end. IP
Exemplo de parte do espaço de nomes DNS (fonte: Tanenbaum)
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)
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
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
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
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
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)
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
Exemplo de parte do DNS para cs.vu.nl (fonte: Tanenbaum)
DNS - mensagens
Formato das mensagens DNS (fonte: Kurose)
Download

Parte 2b