Multimédia, Qualidade de Serviço (QoS): O que são?
Aplicações Multimédia:
áudio e vídeo pela rede (“meios contínuos”) a rede oferece às aplicações
o nível de
desempenho necessário
para funcionarem.
QoS
1Aplicações de Rede Multimédia
Características Fundamentais:
Tipicamente sensíveis ao
atraso
atraso extremo a extremo variação do atraso (jitter)
Classes de aplicações MM:
1) Fluxos de áudio e vídeo gravados
2) Fluxos de áudio e vídeo ao vivo
3) Áudio e vídeo interactivos variação do atraso (jitter)
Mas tolerante a perdas:
perdas raras causam pequenos ruídos
Antítese da transmissão
de dados, que não é
tolerante a perdas mas tolera atrasos.
3) Áudio e vídeo interactivos em tempo real
Jitter é a variação dos atrasos dos pacotes
dentro do mesmo fluxo de pacotes
Fluxos Multimédia Armazenados
Transmissão de Fluxos (Streaming):
(Streaming):
dados armazenados na fonte transmitidos para o cliente fluxos: o cliente começa a
apresentação
antes
de todos os dados chegaremrestrições temporais para os dados ainda por
transmitir: a tempo para serem apresentados
Fluxos Multimédia Armazenados:
O que são?
2. vídeo 1. vídeo gravado 2. vídeo enviado 3. vídeo recebido, apresentado no clientefluxo: neste instante, o cliente apresenta a parte inicial do vídeo,
enquanto o servidor ainda envia a parte final do vídeo
atraso da rede
Fluxos Multimédia Armazenados: Interactividade
funcionalidade tipo gravador de vídeo:
funcionalidade tipo gravador de vídeo:
o cliente pode fazer pausa, recuar, avançar, saltar para outra parte
atraso inicial de 10 seg OK
1-2 seg até o comando actuar OK
uso frequente de RTSP (mais em breve)
restrições temporais para os dados ainda por
transmitir: a tempo para serem apresentados
Fluxos Multimédia ao Vivo
Exemplos:
Espectáculo de rádio via Internet
Transmissão directa de evento desportivo Transmissão de Fluxos
buffer de apresentação buffer de apresentação
a apresentação pode atrasar-se dezenas de
segundos depois da transmissão
ainda tem restrições temporais Interactividade
impossível avançar
Multimédia em tempo real, interactiva
requisitos de atraso:
aplicações: telefone IP,
videoconferência, mundos interactivos distribuídos
requisitos de atraso:
áudio: < 150 mseg bom, < 400 mseg OK
• inclui atrasos da aplicação (empacotamento) e da rede
• atrasos mais elevados notados, prejudicam interactividade
iniciação da sessão
como o chamado anuncia o seu endereço IP, número
de porto, algoritmos de codificação?
Multimédia na Internet de Hoje
TCP/UDP/IP:
“serviço melhor esforço”
sem
garantias no atraso, perdasMas disse-se que as aplicações multimédia precisavam de QoS e de um certo nível
?
?
?
?
?
?
?
As aplicações multimédia na Internet de hoje usam técnicas na camada de aplicação para minimizar (o melhor possível) os efeitos dos
atrasos, perdas
precisavam de QoS e de um certo nível de desempenho para serem eficazes!
?
?
?
?
Como deve a Internet evoluir para
melhor suportar multimédia?
Filosofia de Serviços Integrados:
Mudanças importantes na
Internet para que as aplicações possam reservar largura de
banda extremo a extremo
Necessita de software novo,
complexo nos sistemas
Filosofia de Serviços Diferenciados:
Poucas mudanças na
infra-estrutura da Internet, mas oferecer serviço de 1ª e 2ª classe.
complexo nos sistemas terminais & routers
Laissez-faire
nenhuma mudança importante mais largura de banda quando
necessário
distribuição de conteúdos,
multicast na camada de aplicação
camada de aplicação
Qual a sua opinião?
Algumas palavras sobre compressão de áudio
Sinal analógico amostrado
a um ritmo constante
telefone: 8 000
amostras/seg
CD de música: 44 100
amostras/seg
Cada amostra quantizada,
Exemplo:
8 000 amostras/seg,
256 valores de quantização --> 64 000 bps
Receptor converte de
volta para um sinal
Cada amostra quantizada,
ie, arredondada
eg, 28=256 possíveis valores
de quantização
Cada valor quantizado
representado por bits
8 bits para 256 valores
volta para um sinal analógico:
alguma redução de qualidade
Exemplos de ritmos CD: 1.411 Mbps
MP3: 96, 128, 160 kbps Telefone Internet:
Algumas palavras sobre compressão de vídeo
O vídeo é uma sequência
de imagens apresentadas a um ritmo constante
e.g. 24 imagens/seg
Uma imagem digital é
uma matriz de pixels
Exemplos:
MPEG 1 (CD-ROM):
1.5 Mbps
MPEG2 (DVD): 3-6 Mbps MPEG4 (uso frequente na
Internet, < 1 Mbps) uma matriz de pixels
Cada pixel é
representado por bits
Redundância
espacial temporal
MPEG4 (uso frequente na Internet, < 1 Mbps)
Investigação:
Vídeo em camadas
(escalável)
adaptar camadas à largura
de banda disponível
Aplicações interactivas de tempo real
telefone PC a PC
os serviços de
mensagens instantâneas oferecem isto
Vamos agora analisar em detalhe um exemplo de telefone via Internet PC a PC telefone PC a telefone Skype Voipbuster videoconferência com Webcams via Internet PC a PC
Multimédia
Interactiva
: Internet Phone
Introdução ao Internet Phone através de exemplo
áudio de uma pessoa a falar: alternadamente trechos de
voz, períodos de silêncio.
64 kbps durante um trecho de voz
apenas são gerados pacotes durante trechos de voz apenas são gerados pacotes durante trechos de voz
blocos de 20 mseg a 8 Kbytes/seg: 160 bytes de dados
cabeçalho de camada de aplicação adicionado a cada
bloco.
bloco+cabeçalho encapsulado num segmento UDP.
a aplicação envia segmentos UDP para o socket cada 20
mseg durante um trecho de voz.
Internet Phone: Perda de Pacotes e Atrasos
perdas na rede: datagrama IP perdido devido àcongestão na rede (buffer do router cheio)
perda por atraso: datagrama IP chega demasiado
tarde para ser reproduzido no receptor
atrasos: processamento, espera em filas na rede; atrasos
nos sistemas terminais (emissor, receptor) nos sistemas terminais (emissor, receptor)
atraso máximo tolerável típico: 400 ms
tolerante a perdas: dependendo da codificação da
voz, escondendo as perdas, podem ser toleradas taxas de perdas de pacotes entre 1% e 10%.
Jitter no Atraso
transmissão de de ritmo constante atraso na rede variável recepçãono cliente a ritmo constanteapresentação
no cliente d ad os e m b uf fe r
Considere o atraso extremo a extremo entre dois
pacotes consecutivos: a diferença pode ser mais ou menos que 20 mseg
tempo variável atraso de apresentação d ad os e m b uf fe r 15
Internet Phone: Atraso de Apresentação Fixo
O receptor tenta apresentar cada bloco
exactamente q msegs depois de o bloco ser gerado.
o bloco foi gerado no instante t: apresentar o
bloco em t+q .
bloco chega após t+q: os dados chegam
demasiado tarde para serem apresentados, demasiado tarde para serem apresentados, dados “perdidos”
Compromissos para q:
q grande: menos perdas de pacotes q pequeno: melhor interactividade
Atraso de Apresentação Fixo
pacotes
• O emissor gera pacotes a cada 20 mseg durante um trecho de voz.
• O primeiro pacote é recebido no instante r
• Primeira hipótese de apresentação: começar em p • Segunda hipótese de apresentação: começar em p’
tempo pacotes gerados pacotes recebidos perda r p p'
apresentação com atraso de p - r
apresentação com atraso de p' - r
Atraso de Apresentação Adaptativo, I
Objectivo: minimizar o atraso de apresentação, mantendo a taxa de
perdas baixa
Aproximação: ajuste do atraso de apresentação adaptativo:
Estimar o atraso da rede, ajustar o atraso de apresentação no início de
cada trecho de voz.
Períodos de silêncio comprimidos ou alongados.
Blocos continuam a ser apresentados a cada 20 mseg durante um trecho
de voz. i pacote o gerado foi que em tempo t = i pacote o receber de depois rede da médio atraso do estimativa d i acote p o para rede da atraso t r receptor no o apresentad é i pacote o que em instante o p receptor no recebido é i pacote o que em instante o r i pacote o gerado foi que em tempo t i i i i i i = = − = = =
Estimativa dinâmica do atraso médio no receptor:
) ( ) 1 ( i 1 i i i u d u r t d = − − + −
Atraso de Apresentação Adaptativo, II
Também é útil estimar o desvio padrão do atraso, vi :
| | ) 1 ( i 1 i i i i u v u r t d v = − − + − −
As estimativas di e vi são calculadas para cada pacote recebido, embora sejam apenas utilizadas no início de um trecho de voz.
Para o primeiro pacote num trecho de voz, o tempo de apresentação é: Para o primeiro pacote num trecho de voz, o tempo de apresentação é:
i i
i
i t d Kv
p = + +
onde K é uma constante positiva.
Os restantes pacotes do trecho de voz são apresentados periodicamente.
Apresentação Adaptativa, III
Q: Como é que o receptor determina se um pacote é o primeiro num trecho de voz?
Se não houver perdas, o receptor olha para os
instantes iniciais de pacotes sucessivos.
diferença de instantes iniciais sucessivos > 20 mseg -->
começa trecho de voz. começa trecho de voz.
Quando são possíveis perdas, o receptor tem de
olhar tanto para os instantes iniciais como para os números de sequência.
diferença de instantes iniciais sucessivos > 20 mseg e
números de sequência sem buracos --> começa um trecho de voz.
Recuperação de perda de pacotes (1)
forward error correction (FEC): esquema simples para cada grupo de n
blocos, cria um bloco redundante com o OU-exclusivo dos n blocos originais
O atraso de apresentação
tem de ser corrigido para dar tempo de receber todos os n+1 blocos Compromisso: aumentar n, menos originais envia n+1 blocos, aumentando a largura de banda por um factor de 1/n.
pode reconstruir os n
blocos originais se perder no máximo um bloco dos n+1 blocos
aumentar n, menos
desperdício de largura de banda
aumentar n, maior atraso
de apresentação
aumentar n, maior
probabilidade que 2 ou mais blocos se percam
Recuperação de perda de pacotes (2)
2º esquema FEC
• acrescentar fluxo de menor qualidade
• enviar fluxo áudio de baixa resolução como informação redundante • por exemplo, fluxo nominal PCM a 64 kbps
fluxo original
fluxo
redundância
perda
• por exemplo, fluxo nominal PCM a 64 kbps e fluxo redundante GSM a 13 kbps.
• Sempre que há perdas não consecutivas, o receptor
pode esconder a perda.
• Para resolver o caso de perdas consecutivas, pode-se acrescentar os blocos de baixo ritmo (n-1) e (n-2) ao
fluxo recebido fluxo
reconstruído perda
Recuperação de perda de pacotes (3)
fluxo original
perda de pacotes fluxo entrelaçado
Entrelaçamento (Interleaving):
os blocos são partidos em
unidades mais pequenas
por exemplo, 4 unidades de 5
mseg por bloco
um pacote contém unidades mais
pequenas de diferentes blocos
se um pacote é perdido, ainda
se tem a maior parte de cada bloco
não adiciona redundância mas aumenta o atraso de
apresentação
fluxo
reconstruído
Sumário:
Multimédia na Internet: saco de truques
usar UDP para evitar o controlo de congestão de TCP(atrasos) para tráfego sensível ao atraso
atraso de apresentação adaptativo no cliente: para
compensar atrasos
servidor ajusta largura de banda do fluxo à largura de servidor ajusta largura de banda do fluxo à largura de
banda disponível no caminho do servidor para o cliente
escolha entre ritmos de fluxos pré-codificados ritmo de codificação dinâmico
recuperação de erros (por cima do UDP)
FEC, entrelaçamento
retransmissões, se o tempo permitir esconder erros: repetir dados próximos