Mudanças entre as edições de "SMU29009: Sistemas Multimidia"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 47: Linha 47:
 
== Demandas por recursos ==
 
== Demandas por recursos ==
  
Dependendo do tipo de conteúdo, existe uma certa demanda por armazenamento, processamento e largura de banda. A tabela a seguir exemplifica alguns casos, comparando-os com as capacidades de transmissão de alguns tiupos de dispositivos e tecnologias.
+
Dependendo do tipo de conteúdo, existe uma certa demanda por armazenamento, processamento e largura de banda. A tabela a seguir exemplifica alguns casos, comparando-os com as capacidades de transmissão de alguns tipos de dispositivos e tecnologias.
  
  

Edição das 13h10min de 6 de agosto de 2018


Desafios para multimidia

Multimidia tem se tornado pervasiva em aplicações, e elas envolvem:

  • Manipulação de uma variedade de formas de midia
  • Aquisição, armazenamento e obtenção, transmissão e reprodução de diferentes tipos dados:
    • texto, imagens, voz, áudio, video, animação, ...
    • filmes: video + audio + legendas + outros dados descritivos ...


De forma genérica, sistemas multimidia apresentam certos desafios em seus projetos e operações. Tomando como caso representativo o caso de video, podem-se citar:

  • Entrega de dados de forma sincronizada, contínua, e respeitando prazos estritos
  • Demanda por grandes áreas de armazenamento
  • Do lado do provedor de serviço, a catalogação e indexação, busca e obtenção dentre milhares de videos (imagine Netflix, Amazon Prime, Youtube, e similares ...)


Aproveitando o exemplo sobre videos, e para ilustrar a questão do sincronismo para correta reprodução de diferentes tipos de conteúdo (ver figura a seguir), considere-se a constituição de um filme em meio digital. Estruturalmente, um filme é formado por um sequência de quadros de imagem acompanhada por uma ou mais trilhas de áudio e possivelmente trilhas de legendas. O usuáiro que deseja reproduzir um filme seleicona a trilha de áudio e de legendas (esta última caso necessário). A reprodução deve assim apresentar esses conteúdos de forma sincronizada, respeitando tempos estritos, para que o filme possa ser apreciado.


SMU-Video-exemplo.jpg
A constituição típica de um filme em meio digital


Dificuldades parecidas podem ser identificadas em outras aplicações multimidia. Tais desafios têm forte relação com o fornecimento desses serviços através da Internet. No cenário atual, como ilustrado na figura a seguir, diversas aplicações coexistem na Internet e são acessadas em larga escala. Em alguma medida elas envolvem interatividade, comunicação de tempo-real, exigências quanto a largura de banda, e até, em alguns casos, mecanismos específicos de disseminação.


SMU-Sistemas-exemplos.jpg
Um cenário atual de aplicações multimidia


Dentre essas aplicações, vale citar alguns exemplos específicos:

  • Video em broadcast ou multicast: videos armazenados ou ao vivo distribuidos de forma simultânea a múltiplos clientes
  • Video por demanda (VoD): videos armazenados que são selecionados por usuários, possivelmente com previsualização e possibilidade de controle de reprodução (pausa, avançar, retroceder)
  • Video quase por demanda (nVoD): videos populares que são transmitidos periodicamente, para que possam ser assistidos pelos interessados (isso dificulta o controle de reprodução)
  • Videoconferência: video, áudio, chat e possivelmente documentos compartilhados entre usuários dispersos geograficamente. A qualidade da conferência depende da disseminação sincronizada e eficiente de conteúdos entre os participantes.
  • Educação a distância (EaD): forums e aulas à distância envolvem as mesmas questôes de videoconferência, somadas ao trabalho cooperativo em documentos compartilhados
  • Jogos: jogos com múltiplos jogadores dispersos geograficamente, em que suas ações devem ser finamente sincronizadas para que a experiência do jogo seja consistente


Todas essas aplicaçoes requerem recursos para funcionarem corretamente, o que gera uma pressão sobre a infraestrutura e organização da rede e dos sistemas computacionais envolvidos.

Demandas por recursos

Dependendo do tipo de conteúdo, existe uma certa demanda por armazenamento, processamento e largura de banda. A tabela a seguir exemplifica alguns casos, comparando-os com as capacidades de transmissão de alguns tipos de dispositivos e tecnologias.


SMU-Demandas-recursos.jpg
Demandas por largura de banda de alguns tipos de conteúdo


Os dados exemplificados se referem à largura de banda bruta, sem qualquer compressão. Na prática, dados multimidia são (quase) sempre compactados. Sendo assim, a demanda por largura de banda (e armazenamento !) pode ser reduzida consideravelmente, como mostrado a seguir:

SMU-Compressao.jpg
Efeito da compressão na demanda por largura de banda


Mesmo com compressão de dados, existe uma largura de banda mínima que deve estar disponível para que uma transmissão multimidia possa ser realizada efetivamente. Mas, ainda que tal largura de banda possa ser fornecida, ela pode não ser suficiente. Existem outros efeitos de transmissão que podem inviabilizar o correto funcionamento de uma aplicação multimidia. Em particular existem o atraso fim-a-fim (delay) e a variação do atraso (jitter). Esses dois fatores estão diretamente relacionados com a sincronização entre transmissor e receptor, como ilustrado a seguir:


SMU-Delay-jitter.jpg
Atraso fim-a-fim e variação de atraso


Uma aplicação VoIP é um bom exemplo do efeito desses fatores relacionados com atraso. Seja um sistema de transmissão de voz como mostrado a seguir:

SMU-Voip-exemplo.jpg

Nesse sistema, o sinal de voz é amostrado a cada 125 us (8000 amostras/segundo). Cada amostra possui um tempo específico de 125 us para ser reproduzida, de forma que o som possa ser reproduzido no destino. Se um conjunto de 160 amostras é empacotado e enviado a cada 20 ms, cada pacote tem um prazo de até 20 ms, contados da recepção do pacote anterior, para ser recebido de forma que o som possa ser reproduzido sem interrupções (spikes). Porém quando um pacote viaja pela Internet ele se sujeita a um atraso entre sua transmissão pela origem e seua recepção no destino, caracterizando-se um atraso fim-a-fim. Além disso, podem ocorrer atrasos variáveis, principalmente devido a filas de espera em roteadores. Aplicações VoIP, portanto, precisam de técnicas para compensar esses fatores, sendo corriqueiro o uso de um buffer de reprodução que prearmazena uma certa quantidade de amostras de forma a evitar que o reprodutor fiquem sem dados (ver imagem a seguir). Porém isso tem limite, pois existe um valor máximo de atraso entre geração e reprodução que pode ser imposto sem tornar uma conversa difícil de entender (tipicamente 300 ms).

SMU-Buffer-reprodução.jpg
Efeito do buffer de reprodução para compensar jitter


Buffers de reprodução são largamente utilizados, o que indica que na maioria das vezes os atrasos de transmissão de pacotes são suficientemente pequenos (assim como seus jitters). A figura a seguir ilustra uma curva de densidade de probabilidade para atrasos de transmissão de pacotes. De acordo com ela, apenas 1% dos pacotes na Internet tem atrasos superiores a 150ms. Esses resultados foram obtidos em algum estudo (cuja fonte não foi identificada), porém é plausível. Se estiver correto, então a maior parte do tempo o uso de buffers de reprodução consegue ressincronizar o destino de uma transmissão com sua origem, possibilitando a reprodução correta de conteúdo.

SMU-Distribuicao-atrasos.jpg
Distribuição de atrasos de transmissão de pacotes


Se com audio esses problemas são relevantes, no caso de video se tornam ainda mais proeminentes. A demanda por recursos por video é significativamente maior que por audio. Um video tipicamente é formado por sequências de quadros (imagens), porém as técnicas de compressão utilizadas fazem com que cada novo quadro demande uma certa quantidade de dados para ser representado. Isso causa uma taxa de transmissão variável quando o video é transmitido, como exemplificado a seguir. Com taxa de dados variável, porém mantendo a demanda por sincronismo, o problema se torna mais complexo: com taxa vartiável os prazos para reprodução de quadros também variam, e a transmissão se caracteriza por rajadas (o que nçao ajuda na variação de atraso ao longo da rede).

SMU-Mpeg4-frame-sizes.jpg
Taxa de bits variável de um video

Essas demandas por recursos, e suas consequências infraestrutura de geração, transmissão e reprodução motivam o conceito de qualidade de serviço (QoS), que descreve o que é necessário para que uma determinada aplicação funcione conforme projetada.

Atividade

  1. Identifique as demandas por recursos de alguns conteúdos multimidia: largura de banda mínima e máxima requerida, atraso e jitter máximo
  2. Faça um estudo sobre o atraso fim-a-fim em diversos pontos da Internet: isso implica realizar uma quantidade significativa de medições do atraso entre sua localização e diferentes outros locais da Internet. Ao final, deve-se informar qual o atraso máximo com 1, 2 e 3 percentis de confiança.
  3. Faça um estudo sobre a variação de atraso nas transmissões de conteúdos multimidia: isso envolve analisar os intervalos entre pacotes, e gerar um histograma de frequência das variações de atraso. Ao final, deve-se informar qual o jitter máximo com 1, 2 e 3 percentis de confiança.
  4. Investigue e caracterize a taxa de bits de alguns videos ao longo de suas transmissões: isso envolve medir a taxa de bits dentro de intervalos regulares ao longo da transmissão. Gere um gráfico das taxas de bits do video do início ao fim da transmissão.