Mudanças entre as edições de "Redes Multimídia (diário 2016-1)"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 38: Linha 38:
  
 
* [http://tele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-01.pdf Slides]
 
* [http://tele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-01.pdf Slides]
 +
 +
== Compressão de video ==
 +
 +
* [http://www.bbc.co.uk/rd/pubs/papers/paper_14/paper_14.shtml Compressão com MPEG-2]
 +
* [http://documentation.apple.com/en/compressor/usermanual/index.html#chapter=18%26section=5%26tasks=true Introdução a MPEG-2]
 +
* [http://www.cs.cf.ac.uk/Dave/Multimedia/node200.html Compressão de audio e video]
 +
* [http://en.wikipedia.org/wiki/Comparison_of_container_formats Formatos de ''containers'' de video (arquivos de video)]
 +
* [http://www.techhive.com/article/213612/all_about_video_codecs_and_containers.html Uma boa introdução sobre codecs e containers de video]
 +
 +
Técnicas usadas para compressão de video:
 +
* Remoção de redundância espacial - codificação intraquadros (ex: JPEG)
 +
* Remoção de redundância espacial e temporal - codificação intraquadros e interquadros (H.261, MPEG)
 +
 +
 +
''Remoção de redundância temporal:'' iniciando com um intraquadro (quadro I), quadros sucessivos contém atualizações relativas a quadros anteriores (quadros P) ou a quadros anteriores e posteriores (quadros B). O conjunto de quadros entre quadros I se chama GOP (Group of Pictures):
 +
 +
 +
[[imagem:Gop.png|600px]]
 +
 +
 +
Exemplos de codecs de video
 +
* MPEG-2
 +
* H-264
 +
* XVID
 +
* Theora
 +
 +
=== Atividade ===
 +
 +
1) Copie [http://tele.sj.ifsc.edu.br/~msobral/rmu/videos/paul.png esta imagem] para seu computador, e recorte uma parte com dimensões 128x128 pixels (use o '''gimp''').
 +
 +
1.1) Qual o tamanho dessa imagem no formato BMP com 24 bpp ?
 +
 +
1.2) Qual o tamanho dessa imagem no formato PNG ? E no formato JPG ?
 +
 +
1.3) Crie uma nova imagem com dimensões 128x128 pixels e que seja toda preta, e determina seu tamanho nos formatos BMP com 24 bpp, PNG e JPG.
 +
 +
1.4) O que se pode concluir quanto à representação digital das imagens ?
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
Linha 142: Linha 179:
 
Se cada pacote está sujeito a um atraso variável, o reprodutor de video no receptor precisa de algum mecanismo para compensar essas variações e apresentar o video de forma contínua. O mesmo raciocínio vale para transmissões de audio.
 
Se cada pacote está sujeito a um atraso variável, o reprodutor de video no receptor precisa de algum mecanismo para compensar essas variações e apresentar o video de forma contínua. O mesmo raciocínio vale para transmissões de audio.
  
 
=== Estratégias para tratar a variação de atraso ===
 
 
Mecanismos para compensar atraso e variação de atraso da rede:
 
* Numerar cada mensagem com um número de sequência.
 
* Registrar o instante em que cada mensagem foi gerada (i.e. registrar seu ''timestamp'').
 
* Atrasar a reprodução do conteúdo no receptor, para compensar variações de atraso.
 
 
 
Esses mecanismos são combinados nas seguintes estratégias para compensar variação de atraso:
 
 
 
==== Atraso de reprodução fixo====
 
 
Compensa atrasos de mensagens com a imposição de um atraso fixo ''q'' no reprodutor de midia. Mensagens recebidas após seu instante de reprodução (i.e. chegam após ''timestamp + q'') são descartados.
 
 
 
[[imagem:Atraso-de-reproducao-fixo.png]]
 
<br>'''Atraso de reprodução:''' ''midia será tocada somente no instante <math>p^{'}</math>, sendo que <math>p^{'} = p  + q</math>. O atraso ''q'' corresponde ao atraso de reprodução imposto do lado do cliente, para compensar variações de atraso das mensagens.''
 
 
 
Por exemplo, uma sequência de mensagens pode ser reproduzida da seguinte forma se for imposto um atraso fixo:
 
 
[[imagem:Atraso-de-reproducao-fixo2.png|400px]]
 
 
 
==== Atraso de reprodução adaptativo ====
 
 
Procura minimizar o atraso de reprodução, estimando o atraso da rede e sua variação. O atraso de reprodução assim calculado é imposto no receptor antes de cada rajada de mensagens (isso faz mais sentido em transmissão de voz).
 
 
 
Por exemplo, uma sequência de mensagens pode ser reproduzida da seguinte forma se for imposto um atraso adaptativo:
 
 
[[imagem:Atraso-de-reproducao-adaptativo-1.png|400px]]
 
 
 
Se uma determinada mensagem se atrasar além do tolerável, será descartada (não reproduzida):
 
 
[[imagem:Atraso-de-reproducao-adaptativo-2.png|400px]]
 
 
{{Collapse bottom}}
 
 
== Compressão de video ==
 
 
* [http://www.bbc.co.uk/rd/pubs/papers/paper_14/paper_14.shtml Compressão com MPEG-2]
 
* [http://documentation.apple.com/en/compressor/usermanual/index.html#chapter=18%26section=5%26tasks=true Introdução a MPEG-2]
 
* [http://www.cs.cf.ac.uk/Dave/Multimedia/node200.html Compressão de audio e video]
 
* [http://en.wikipedia.org/wiki/Comparison_of_container_formats Formatos de ''containers'' de video (arquivos de video)]
 
* [http://www.techhive.com/article/213612/all_about_video_codecs_and_containers.html Uma boa introdução sobre codecs e containers de video]
 
 
Técnicas usadas para compressão de video:
 
* Remoção de redundância espacial - codificação intraquadros (ex: JPEG)
 
* Remoção de redundância espacial e temporal - codificação intraquadros e interquadros (H.261, MPEG)
 
 
 
''Remoção de redundância temporal:'' iniciando com um intraquadro (quadro I), quadros sucessivos contém atualizações relativas a quadros anteriores (quadros P) ou a quadros anteriores e posteriores (quadros B). O conjunto de quadros entre quadros I se chama GOP (Group of Pictures):
 
 
 
[[imagem:Gop.png|600px]]
 
 
 
Exemplos de codecs de video
 
* MPEG-2
 
* H-264
 
* XVID
 
* Theora
 
  
 
=== Atividade ===
 
=== Atividade ===
  
1) Copie [http://tele.sj.ifsc.edu.br/~msobral/rmu/videos/paul.png esta imagem] para seu computador, e recorte uma parte com dimensões 128x128 pixels (use o '''gimp''').
+
Pesquisar mecanismos para tratar variação de atraso
 
 
1.1) Qual o tamanho dessa imagem no formato BMP com 24 bpp ?
 
 
 
1.2) Qual o tamanho dessa imagem no formato PNG ? E no formato JPG ?
 
 
 
1.3) Crie uma nova imagem com dimensões 128x128 pixels e que seja toda preta, e determina seu tamanho nos formatos BMP com 24 bpp, PNG e JPG.
 
 
 
1.4) O que se pode concluir quanto à representação digital das imagens ?
 
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}

Edição das 07h49min de 29 de março de 2016

Redes Multimidia: Diário de Aula 2016-1

Professora: Simara Sonaglio
E-mail: simara.sonaglio@ifsc.edu.br
Encontros: 2a feira/09:40, 3a feira/09:40
Atendimento paralelo:

Bibliografia

  • Livros sobre Redes de Computadores (por ordem de preferência):
    • KUROSE, James F. e ROSS, Keith W. Redes de computadores e a Internet, Uma abordagem Top-Down. 5a edição. Editora Addison Wesley SP, 2010.
    • Sérgio Colcher, Antônio Tadeu Azevedo Gomes, e Anderson Oliveira da Silva. VoIP: Voz sobre IP. Campus, 1a edição, 2005.
    • STALLINGS, W. Redes e sistemas de comunicação de dados. Editora Elsevier RJ, 2005.
    • TANENBAUM, Andrew S. Redes de Computadores, tradução da quarta edição. Editora Campus RJ, 2003
    • FOROUZAN, Behrouz. Comunicação de Dados e Redes de Computadores, 3a/4a edicão. Editora Bookman, 2004.


Softwares


Avaliações

Diário das aulas

Aula 1 - 22/03/16: Apresentação

Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.

Aula 2 - 28/03/16: Caracterização de midias

Compressão de video

Técnicas usadas para compressão de video:

  • Remoção de redundância espacial - codificação intraquadros (ex: JPEG)
  • Remoção de redundância espacial e temporal - codificação intraquadros e interquadros (H.261, MPEG)


Remoção de redundância temporal: iniciando com um intraquadro (quadro I), quadros sucessivos contém atualizações relativas a quadros anteriores (quadros P) ou a quadros anteriores e posteriores (quadros B). O conjunto de quadros entre quadros I se chama GOP (Group of Pictures):


Gop.png


Exemplos de codecs de video

  • MPEG-2
  • H-264
  • XVID
  • Theora

Atividade

1) Copie esta imagem para seu computador, e recorte uma parte com dimensões 128x128 pixels (use o gimp).

1.1) Qual o tamanho dessa imagem no formato BMP com 24 bpp ?

1.2) Qual o tamanho dessa imagem no formato PNG ? E no formato JPG ?

1.3) Crie uma nova imagem com dimensões 128x128 pixels e que seja toda preta, e determina seu tamanho nos formatos BMP com 24 bpp, PNG e JPG.

1.4) O que se pode concluir quanto à representação digital das imagens ?

Aula 3 - 29/03/16: Caracterização de midias

Compressão de audio

Técnicas usadas:

  • Remoção de silêncio
  • Uso de psicoacústica
  • Remoção de redundância


Atividade

1) Copie este arquivo de audio para seu computador. Escute-o e confira sua qualidade sonora. Veja também o tamanho do arquivo.

2) Codifique esse arquivo com os seguintes codecs:

  • MP3: time lame musica.wav musica.mp3
  • Ogg: time oggenc -o musica.ogg musica.wav
  • Flac: time flac musica.wav -o musica.flac
  • Speex: time speexenc --bitrate 8 musica.wav musica.spx

3) Toque os arquivos de audio codificados, comparando suas qualidades sonoras. Compare também os tamanhos dos arquivos.

Transmissão de dados multimidia


  • Atrasos devido a transmissão

Rt-traffic.png


  • O tráfego de midia pode variar o uso de banda dependendo da codificação:

Rt-transmission.png

A transmissão de dados multimidia está sujeita a alguns fatores, destacando-se:

  • Banda disponível: cada tipo de transmissão demanda uma certa banda mínima (ver o exemplo dos videos gerados na aula anterior, que demandam em torno de 250 kbps). A banda requerida depende do codec, podendo mesmo ser variável (ver figura abaixo). Se a banda disponível na rede não for suficiente, a reprodução dos dados transmitidos não será possível (quer dizer, a reprodução contínua simultânea ao recebimento dos dados).
    Rt-transmission.png
  • Atrasos fim-a-fim: alguns tipos de transmissão são mais sensíveis a atrasos fim-a-fim, como por exemplo conversações VoIP, porém todas transmissões de dados multimidia apresentam pouca tolerância a variações de atraso. A variação de atraso excessiva causa a perda de sincronismo entre a transmissão e a recepção, impedindo a reprodução contínua dos dados recebidos.

Componentes do atraso fim-a-fim

O atraso fim-a-fim, contado portanto desde a origem de um pacote até seu destino, se compõe de um conjunto de tempos despendidos ao longo de sua transmissão. Alguns desses tempos são constantes, porém outros são variáveis.

Atraso Descrição Tipo Expressão
(F: tamanho de um pacote em bytes,
B: taxa de bits do link)
Transmissão Tempo entre o início da saída do 1o bit até a saída do último bit de um pacote pela interface de rede. Depende basicamente da taxa de bits do link onde se dá a transmissão. Variável (depende do tamanho do pacote)
Propagação Tempo entre a saída do 1o bit de um pacote da interface de rede do equipamento transmissor, e sua chegada na interface de rede do equipamento receptor. Depende basicamente da latência do meio de transmissão. Constante
Processamento Tempo entre a recepção de um pacote e a ação a ser feita sobre ele dentro de um equipamento de rede (seja encaminhá-lo por outro link, ou entregá-lo a uma aplicação que o consumirá) Usualmente desprezível
Enfileiramento Tempo de espera de um pacote na fila de saída de uma interface de rede por onde deve ser transmitido. Depende de quantos pacotes (e quantos bytes) estão na sua frente nessa fila. Variável


No exemplo abaixo, os links LAN (link1, link2, link7 e link8) possuem taxa de 1 Gbps, e os links WAN (demais links) possuem taxa de 10 Mbps. As filas dos roteadores podem conter até 100 pacotes de 1500 bytes (tamanho máximo de pacote). Os links WAN possuem latência de 2 ms (a dos links LAN é desprezível). Sendo assim, calcular o atraso mínimo e máximo que cada pacote pode sofrer entre sua saída do servidor de video e sua chegada no reprodutor. Os pacotes de vídeo têm tamanho de 1500 bytes:

Componentes-atraso.png

Atrasos de transmissão nos links WAN:
Atrasos de transmissão nos links LAN:
Atraso de enfileiramento em roteador: melhor caso
(fila vazia)
Atraso de enfileiramento em roteador: pior caso
(fila cheia):

O menor atraso pode ser calculado assim:


... e o maior atraso possível é:

Com isso, uma transmissão de video nessa rede está sujeita a atrasos máximo de cerca de 492 ms por pacote, e variação de atraso de até . Note-se que, nessa rede, a variação de atraso se deve essencialmente a atrasos de enfileiramento nos roteadores. Em outras redes pode haver fatores adicionais para variações de atraso: perdas de pacotes por erros de transmissão ou congestionamento, priorização de pacotes, e até o controle de congestionamento TCP (se esse protocolo for usado para a transmissão).


Exercício

Mesma topologia, os links LAN (link1, link2, link7 e link8) possuem taxa de 100 Mbps, e os links WAN (demais links) possuem taxa de 5 Mbps. As filas dos roteadores podem conter até 90 pacotes de 1500 bytes (tamanho máximo de pacote). Os links WAN possuem latência de 2 ms (a dos links LAN é desprezível). Sendo assim, calcular o atraso mínimo e máximo que cada pacote pode sofrer entre sua saída do servidor de video e sua chegada no reprodutor. Os pacotes de vídeo têm tamanho de 1500 bytes.


O exemplo acima diz respeito a uma pequena rede com bons links WAN e pequeno número de saltos (roteadores intermediários) entre origem e destino. Em um cenário mais realista, como um usuário doméstico acessando videos no Youtube, a situação pode ser bem pior. Para fins de comparação, da rede da escola até o Youtube foram contados 9 saltos, e de casa se contaram 8 saltos (o caso do Youtube é um pouco mais complicado, pois sua infraestrutura é baseada em um tipo de CDN).

Se cada pacote está sujeito a um atraso variável, o reprodutor de video no receptor precisa de algum mecanismo para compensar essas variações e apresentar o video de forma contínua. O mesmo raciocínio vale para transmissões de audio.


Atividade

Pesquisar mecanismos para tratar variação de atraso