Buscar

Fundamentos de Sistemas Multimídia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações Multimídia e
Protocolos de Streaming
Profa. Débora Christina Muchaluat Saade
deborams@telecom.uff.br
Aplicações MultimídiaAplicações Multimídia ee
ProtocolosProtocolos de Streamingde Streaming
Profa. Débora Christina Muchaluat Saade
deborams@telecom.uff.br
Departamento de Engenharia de Telecomunicações Departamento de Engenharia de Telecomunicações -- UFFUFF
2
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações MultimídiaAplicações Multimídia ee ProtocolosProtocolos de Streamingde Streaming
� Aplicações Multimídia
• Requisitos
� Limitações da Internet Atual
� Controle da Apresentação de Mídia Contínua Armazenada
• Procotolo RTSP
� Usando o serviço de melhor esforço
• Compensação da variação do retardo
� Protocolos de Streaming
• Protocolos RTP e RTCP
� Referência: 
• Capítulo 6 (Kurose, Redes de Computadores e a Internet)
3
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações MultimídiaAplicações Multimídia
� Aplicações multimídia (mídia contínua)
• Sensíveis ao retardo e variação do retardo (jitter)
– Pacotes que sofrem retardos de centenas de ms (telefonia
IP) até poucos segundos (recepção de mídia armazenada)
são inúteis
• Tolerantes a perdas 
– Perdas ocasionais causam pequenas perturbações na 
recepção de áudio e vídeo
� Essas características diferem das aplicações 
tradicionais (mídia discreta)
4
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações MultimídiaAplicações Multimídia
� Classificação das aplicações multimídia:
• Transmissão de mídia contínua armazenada 
• Transmissão de mídia contínua ao vivo
• Transmissão de mídia contínua interativa
5
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações MultimídiaAplicações Multimídia
� Aplicações Multimídia com mídia contínua armazenada
• Conteúdo foi pré-gravado e armazenado em um servidor
• Clientes solicitam arquivos de aúdio e vídeo de servidores, recebem a
informação pela rede e a apresentam 
• Usuário pode controlar a operação 
– similar a um VCR: pause, resume, fast forward, rewind, etc.
• Fluxo contínuo:
– Clientes reproduzem parte do conteúdo ao mesmo tempo em que 
recebem o restante pela rede
• Reprodução contínua:
– Assim que se inicia a reprodução da mídia, ela deve prosseguir de acordo 
com a temporização original da gravação
– Restrições ao atraso na entrega dos dados
• Retardo: 
– Resposta considerada aceitável se o tempo a partir do pedido do cliente 
até o início da apresentação for de 1 a 10 segundos
6
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações MultimídiaAplicações Multimídia
� Aplicações Multimídia com mídia contínua transmitida ao
vivo 
• tempo-real unidirecional
• similar à difusão de rádio e TV convencional, mas a transferência
de informação é feita pela Internet
• Se armazenar o fluxo no cliente, pode pausar e retroceder
• Muitos clientes recebem o mesmo conteúdo simultaneamente
– Distribuição eficiente precisa de comunicação multicast
• Retardo:
– Resposta considerada aceitável se o tempo a partir do
pedido do cliente até o início da apresentação for de 1 a 
10 segundos
7
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações MultimídiaAplicações Multimídia
� Aplicações Multimídia com mídia contínua 
interativa
• Tempo-real interativo
• Conferência de aúdio ou de vídeo
• Mais exigente nos requisitos de retardo e variação do 
retardo que o tempo-real unidirecional por causa da 
necessidade de interatividade em tempo-real 
• Retardos:
– Aúdio: 
• < 150 ms bom
• de 150 a 400 ms aceitável 
8
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Limitações da Limitações da Internet Internet AtualAtual
� Arquitetura Internet fornece serviço de melhor esforço
� Não há garantias sobre o retardo ou sobre a variação do 
retardo
• Congestionamento na rede causa problema 
• na Internet pública todos os pacotes recebem tratamento 
igual
• Pacotes contendo aúdio e vídeo interativo de tempo-real 
permanecem nas filas, como todos os outros.
� Projeto de aplicações multimídia seria mais fácil se
houvesse várias classes de serviço
• Esforços vêm sendo desenvolvidos para prover serviços 
diferenciados com garantias de QoS – qualidade de serviço.
9
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aproveitando ao máximoAproveitando ao máximo o “o “melhor esforçomelhor esforço””
Para reduzir o impacto do serviço de melhor esforço da Internet, nós 
podemos:
� Usar UDP para evitar o TCP e sua fase de partida lenta…
� Armazenar o conteúdo no cliente e controlar a apresentação para 
remediar o jitter 
� Acrescentar marcas de tempo nos pacotes para que o receptor saiba 
quando reproduzi-los. 
� Adaptar o nível de compressão à taxa de transmissão disponível 
� Nós podemos transmitir pacotes redundantes para atenuar os 
efeitos das perdas de pacotes.
���� Nós discutiremos todos esses “truques”.
10
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Como a Internet deveria evoluir para dar o Como a Internet deveria evoluir para dar o 
suporte necessário?suporte necessário?
� Aumentar a largura de banda
• Junto com aumento do armazenamento 
intermediário na rede
• Problema para aplicações que demandam muito 
(HDTV sob demanda)
�Modificar a infra-estrutura de transmissão 
existente
11
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Como a Internet Como a Internet deveria evoluir para deveria evoluir para 
suportar melhorsuportar melhor asas aplicações multimídiaaplicações multimídia??
Filosofia de serviços Integrados:
� Mudar os protocolos da Internet 
de forma que as aplicações possam 
reservar uma banda de
transmissão fim-a-fim
• Necessita de um novo protocolo 
que reserva banda de transmissão 
• Deve modificar as regras de
escalonamento nos roteadores para 
poder honrar às reservas 
• Aplicação deve fornecer à rede 
uma descrição do seu tráfego e
deve posteriormente respeitar esta 
descrição. 
� Exige um novo e complexo
software nos hosts e nos 
roteadores
Filosofia de serviços 
Diferenciados 
Exige menos mudanças na infra-
estrutura da Internet, embora 
forneça serviços de primeira e de
segunda classe.
�Datagramas são marcados.
�Usuários pagam mais para 
enviar e receber pacotes de
primeira classe.
�ISPs pagam mais aos 
provedores de backbone para 
enviar e receber pacotes de
primeira classe.
13
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
AúdioAúdio ee Vídeo Armazenados Vídeo Armazenados 
�Mídia Contínua armazenada
• Arquivos de Aúdio e de Vídeo são armazenados em servidores 
• Usuários solicitam os arquivos por demanda.
• Aúdio/vídeo são apresentados, digamos, 10s após o pedido.
• Controle da apresentação é permitido.
�Executor da mídia (player)
• remove jitter (variação do retardo)
• Decodifica (descomprime) a mídia
• Realiza correção de erros 
• Oferece interface gráfica para controle da apresentação
�Plug-ins podem ser usados para embutir o executor no browser web
• 3 abordagens para a implementação
14
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Acesso Acesso a a Mídia Contínua Mídia Contínua a a partir partir de de 
servidoresservidores Web (1a. Web (1a. abordagemabordagem))
� browser cliente solicita o
arquivo com uma mensagem
HTTP 
� Servidor Web envia o arquivo 
na mensagem HTTP de 
resposta 
� O cabeçalho “content-type”
indica uma codificação 
apropriada para aúdio e vídeo
� browser dispara o executor da 
mídia e passa o arquivo para 
ele
� executor apresenta o arquivo
• Maior problema: o executor
de mídia interage com o servidor
WEB através do Web browser
que atua como intermediário.
15
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Alternativa: estabelecer conexão 
entre o servidor e o executor 
� browser Web solicita e recebe
ummetarquivo
(um arquivo descrevendo o
objeto) ao invés de receber o
próprio arquivo;
� O cabeçalho “Content-type” 
indica uma aplicação
específica de aúdio e vídeo 
� Browser dispara o executor 
de mídia e passa o metarquivo 
para ele 
� executor estabelece uma 
conexão TCP com o servidor
e envia a ele a mensagem
HTTP
Algumas preocupações:
� O executor de mídia se
comunica usando HTTP, que 
não foi projetado para 
suportar comandos de
controle de apesentação
� Pode desejar enviar o aúdio e 
o vídeo sobre UDP
AcessoAcesso aa Mídia ContínuaMídia Contínua aa partirpartir dede
servidoresservidores Web (2a.Web (2a. abordagemabordagem))
(1) pedido/resposta HTTP
por um metarquivo
(3) arquivo solicitado é enviado
usando o HTTP
(2) metarquivo
16
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
AcessoAcesso aa Mídia ContínuaMídia Contínua aa partirpartir de um de um 
servidor específicoservidor específico (3a.(3a. abordagemabordagem))
� Esta arquitetura permite o uso de outros protocolos
(RTP, RTSP) (além do HTTP) entre o servidor e o 
executor de mídia (player)
� Pode usar também o UDP ao invés do TCP
(1) HTTP pedido/resposta
para o arquivo descritor
da apresentação
(2) arquivo
descritor
(3) arquivo de aúdio
e vídeo pedido e
enviado
cliente servidores
servidor
de vídeo
17
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Real Time Streaming Protocol: RTSP Real Time Streaming Protocol: RTSP 
RTSP: RFC 2326
� Protocolo de aplicação do tipo cliente-servidor.
� Permite ao usuário controlar apresentações de mídia contínua: 
voltar ao início, avançar, pausa, continuar, seleção de trilha, etc…
O que ele não faz:
� não define como o aúdio e o vídeo é encapsulado para transmissão 
sobre a rede
� não restringe como a mídia contínua é transportada: pode usar
UDP ou TCP
� não especifica como o receptor armazena o aúdio e o vídeo
Exemplo de uso: RealNetworks
� Servidor e cliente usam RTSP para enviar informações de controle
de um para o outro 
18
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RTSP:RTSP: controle fora da banda controle fora da banda (out(out--ofof--band)band)
FTP usa um canal de controle
“fora-da-banda”:
� Um arquivo é transferido 
sobre uma conexão TCP.
� Informação de controle
(mudanças de diretório,
remoção de arquivos,
trocas de nomes, etc.) é
enviada sobre uma conexão
TCP separada.
� Os canais “dentro-da-
banda”e “fora-da-banda”
usam diferentes números
de portas.
Mensagens RTSP também são enviadas
“fora-da-banda”:
� As mensagens de controle RTSP 
usam diferentes números de portas 
em relação ao fluxo de dados de
mídia contínua e, portanto, são 
enviadas “fora-da-banda”.
• RTSP usa porta 544 do TCP ou 
UDP
� O fluxo de dados de mídia contínua, 
cuja estrutura de pacotes não é
definida pelo RTSP, é considerada
“dentro-da-banda”.
19
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
IniciaçãoIniciação do RTSP e do RTSP e controlescontroles dede entregaentrega
� Cliente obtém uma descrição da apresentação 
multimídia, que pode consistir de vários fluxos
de dados (através do HTTP).
� O browser chama o executor de mídia
(aplicação auxiliar) com base no tipo de
conteúdo da descrição da apresentação.
� A descrição da apresentação inclui referências 
aos fluxos de mídia (URLs) usando o esquema 
“rtsp://…”
1. executor envia o comando RTSP SETUP; 
servidor envia a resposta RTSP SETUP.
2. executor envia o comando RTSP PLAY; servidor 
envia a resposta RTSP PLAY.
3. O servidor de mídia descarrega o fluxo de mídia.
4. executor envia o comando RTSP PAUSE; o
servidor envia a resposta RTSP PAUSE.
5. executor envia o comando RTSP TEARDOWN; 
servidor envia a resposta RTSP TEARDOWN.
HTTP GET
SETUP
PLAY
media stream
PAUSE
TEARDOWN
media
player
Web
server
media
server
Web
browser
client server
presentation desc.
executor
de mídia
Servidor
de mídia
cliente servidor
descr. apresent. 
fluxo de mídia
20
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
ExemploExemplo de de MetarquivoMetarquivo
<title>Twister</title> 
<session> 
<group language=“en” lipsync> 
<switch> 
<track type=“audio” 
e="PCMU/8000/1" 
src = "rtsp://audio.example.com/twister/audio.en/lofi“/> 
<track type=“audio” 
e="DVI4/16000/2" pt="90 DVI4/8000/1" 
src="rtsp://audio.example.com/twister/audio.en/hifi“/> 
</switch> 
<track type="video/jpeg" 
src="rtsp://video.example.com/twister/video“/> 
</group> 
</session> 
21
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
SessãoSessão RTSPRTSP
� Cada sessão RTSP tem um
identificador de sessão, que é
escolhido pelo servidor.
� O cliente inicia a sessão com o
comando SETUP, e o servidor 
responde ao comando com um
identificador.
� O cliente repete o
identificador de sessão em 
cada comando, até que o
cliente encerra a sessão com o
comando TEARDOWN.
� O número de porta do RTSP é 
544.
� RTSP pode ser usado sobre 
UDP ou TCP. Cada mensagem 
RTSP pode ser enviada numa 
conexão TCP separada.
22
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RTSP: RTSP: exemploexemplo dede mensagens mensagens 
C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 
Transport: rtp/udp; compression; port=3056; mode=PLAY 
S: RTSP/1.0 200 1 OK 
Session 4231 
C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 
Session: 4231 
Range: npt=0-
C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 
Session: 4231 
Range: npt=37 
C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 
Session: 4231 
S: 200 3 OK 24
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Aplicações interativas emAplicações interativas em tempotempo--real real 
� Exemplo:
• Telefonia IP
25
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
TelefoniaTelefonia Internet Internet sobre melhorsobre melhor--esforçoesforço
Serviço de Melhor esforço
� Acarreta atraso de pacotes, perdas e variação de retardo (jitter)
Exemplo de telefone Internet
� As aplicações de telefonia na Internet geram pacotes durante 
momentos de atividade da voz
• Rajadas de voz alternadas com períodos de silêncio
� taxa de bits é 64 kbps nos intervalos de atividade (G.711)
� durante os intervalos de atividade a aplicação produz um bloco de 
160 bytes a cada 20 ms (8 kbytes/s x 20 ms)
� cabeçalho é acrescentado ao bloco; então bloco mais cabeçalho são 
encapsulados num pacote UDP e enviados 
� alguns pacotes podem ser perdidos e o retardo de um pacote irá 
flutuar.
� receptor deve determinar quando reproduzir um bloco e 
determinar o que fazer com um bloco perdido
26
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
TelefoniaTelefonia Internet Internet sobre melhorsobre melhor--esforçoesforço
perda de pacotes
� O segmento UDP é encapsulado num datagrama IP
� datagrama pode ser descartado por falta de espaço num
roteador
� TCP pode eliminar perdas, mas
• retransmissões aumentam o atraso
• O controle de congestionamento do TCP limita a taxa de
transmissão
� Taxas de perda entre 1 e 20% podem ser toleradas
� Pacotes redundantes podem ajudar
• Mecanismos de FEC (forward error control) ajudam a ocultar
as perdas
27
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
TelefoniaTelefonia Internet Internet sobre melhorsobre melhor--esforçoesforço
retardo fim-a-fim
� acúmulo dos retardos de transmissão, propagação, atrasos 
nas filas dos roteadores e retardos de processamento nos 
sistemas finais
� mais que 400 ms de retardo fim-a-fim compromete a
interatividade; quanto menor o retardo melhor
• Normalmente o receptor descarta pacotes com retardo maior 
que um patamar 
28
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
TelefoniaTelefonia Internet Internet sobre melhorsobre melhor--esforçoesforço
variação de atraso (jitter)
� Retardo nas filas dos roteadores é aleatório
� considere dois pacotes consecutivos num intervalode atividade
� Os retardos fim-a-fim desses dois pacotes podem ser diferentes
� espaçamento inicial é de 20 ms, mas o espaçamento no receptor
pode ser maior ou menor que 20 ms
o jitter pode ser removido:
� Precedendo cada bloco com um número de seqüência 
• transmissor incrementa esse número para cada novo pacote
� Precedendo cada bloco com uma marca de tempo
• transmissor marca cada bloco com o tempo em que foi gerado
� Atrasando a reprodução
• O atraso na reprodução deve ser suficiente para que a maioria dos
pacotes seja recebida antes do seu tempo de reprodução programado
– Atraso de reprodução fixo ou adaptativo
29
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
AtrasoAtraso dede Reprodução FixoReprodução Fixo
� Receptor tenta reproduzir cada bloco exatamente q ms
depois que o bloco é gerado.
• Se o bloco tem marca de tempo t, receptor usa o bloco no
instante t+q .
• Se o bloco chega após o instante t+q, receptor o descarta.
� Escolha do valor de q:
• q grande: menos perda de pacotes
• q pequeno: melhor controle da interatividade
30
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
AtrasoAtraso dede Reprodução FixoReprodução Fixo
� Transmissor gera pacotes a cada 20 ms durante os intervalos
de atividade.
� Primeiro pacote é recebido no instante r
� Primeira programação de reprodução: começa em p
� Segunda programação de reprodução: começa em p’
packets
time
packets
generated
packets
received
loss
r
p p'
playout schedule
p - r
playout schedule
p' - r
pacotes
gerados
pacotes
recebidos
perda
progr. reprodução
Retardo de (p – r)
progr. reprodução
Retardo de (p’ – r)
tempo
pacotes
31
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
AtrasoAtraso de de Reprodução AdaptativoReprodução Adaptativo
pacote ésimo- oreceber após rede na atraso do estimativa
pacote ésimo- o para rede da atraso
receptor no oreproduzid é pacote o qual no instante
receptor pelo recebido é pacote o qual no instante
pacote ésimo do tempode marca
id
itr
ip
ir
it
i
ii
i
i
i
=
=−
=
=
−=
• para serviços com interatividade, atrasos fixos longos podem se tornar incômodos 
ou intoleráveis
•Estima o retardo da rede e ajusta o retardo de reprodução no início de cada intervalo
de atividade.
• Intervalos de silêncio são comprimidos e alongados.
• Blocos ainda são gerados a cada 20 ms nos intervalos de atividade.
Estimativa dinâmica do retardo médio no receptor:
)()1( 1 iiii trudud −+−= −
onde u é uma constante fixa (ex., u = 0,01).
32
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
É também usual estimar a variância média do atraso, vi :
||)1( 1 iiiii dtruvuv −−+−= −
As estimativas de di e vi são calculadas para cada pacote recebido, embora elas 
sejam usadas apenas no início de um intervalo de atividade.
Para o primeiro pacote de um intervalo de atividade, o instante de reprodução é:
iiii Kvdtp ++=
onde K é uma constante positiva. Para este mesmo pacote, o retardo de
reprodução é:
iii tpq −=
Para o pacote j no mesmo intervalo de atividade, o pacote deve ser
reproduzido em:
ijj qtp +=
AtrasoAtraso de de Reprodução AdaptativoReprodução Adaptativo
33
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Como saber se um pacote é o primeiro de um intervalo de atividade:
� Se nunca houvesse perdas o receptor poderia simplesmente olhar 
nas marcas de tempo sucessivas.
• Se a diferença de marcas de tempo sucessivas for maior que 
20 ms, então temos o início de um intervalo de atividade.
� Mas porque as perdas são possíveis, o receptor deve 
olhar tanto as marcas de tempo como os números de
seqüência dos pacotes.
• Se a diferença de marcas de tempo sucessivas for maior que 
20 ms e não há pulos nos números de seqüência então tem-
se o início de um intervalo de atividade.
AtrasoAtraso de de Reprodução AdaptativoReprodução Adaptativo
34
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RecuperaçãoRecuperação de de PerdasPerdas de de PacotesPacotes
� Perdas: pacote nunca chega ou chega depois do seu tempo de reprodução 
programado
� Correção por FEC ou intercalamento
Forward error correction (FEC): esquema simples
� para cada grupo de n blocos, cria um bloco redundante realizando uma 
operação OU exclusivo (XOR) entre os n blocos originais 
� envia os n+1 blocos, aumentando a banda passante por um fator de 1/n.
� pode reconstruir os n blocos originais se houver no máximo um bloco 
perdido nos n+1 blocos enviados 
� retardo de reprodução precisa ser definido para receber todos os n+1
pacotes
� Compromisso:
• aumentar n, menor desperdício de banda
• aumentar n, maior retardo de reprodução
• aumentar n, maior a probabilidade que dois ou mais blocos sejam perdidos
35
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
2o. esquema FEC
•enviar um fluxo de menor qualidade como “carona” 
•envia fluxo de aúdio de menor resolução como a informação 
redundante
•por exemplo, um fluxo PCM nominal a 64 kbps e um fluxo
redundante a 13 kbps.
•Transmissor cria pacote tomando o bloco n do fluxo nominal e
anexando a ele o bloco (n-1) do fluxo redundante.
RecuperaçãoRecuperação de de PerdasPerdas de de PacotesPacotes
36
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RecuperaçãoRecuperação de de PerdasPerdas de de PacotesPacotes
Fluxo original
Redundância
Perda de Pacote
Fluxo reconstruído
•Sempre que ocorre perda não-consecutiva, o receptor pode esconder a perda.
•Apenas dois pacotes precisam ser recebidos antes do início da reprodução 
(aumento no retardo de reprodução é pequeno)
•Pode também anexar os blocos (n-1) e (n-2) do fluxo de baixa qualidade
37
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Intercalamento
� blocos são quebrados em unidades menores
� por exemplo, 4 blocos de 5 ms cada
� intercalar os blocos como mostrado no diagrama
� pacote agora contém unidades menores de diferentes blocos
� Remontar os blocos no receptor
� Se o pacote é perdido, ainda resta mais de cada bloco
� Vantagem: não aumenta a largura de banda!!
RecuperaçãoRecuperação de de PerdasPerdas de de PacotesPacotes
Fluxo original
Fluxo intercalado
Perda de pacote
Fluxo reconstruído
38
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
Recuperação pelo receptor de fluxos de aúdio danificados
� produzir um substituto para um pacote perdido que 
seja similar ao pacote original
� pode produzir bons resultados para baixas taxas de 
perdas (< 15%) e pacotes pequenos (4-40 ms) (fonema 
dura de 5 a 100ms)
� estratégia mais simples: repetição
� estratégia mais complexa: interpolação
• Resultado melhor
• Mais processamento
RecuperaçãoRecuperação de de PerdasPerdas de de PacotesPacotes
39
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RealReal--Time Protocol (RTP)Time Protocol (RTP)
� RTP especifica uma 
estrutura de pacotes que 
transportam dados de
aúdio e vídeo: RFC 1889.
� pacote RTP oferece 
• identificação do tipo de
carga
• numeração da seqüência
de pacotes
• marcas de tempo
� RTP roda nos sistemas 
terminais.
� os pacotes RTP são 
encapsulados em 
segmentos UDP
� Interoperabilidade: se
duas aplicações de
telefonia IP usam RTP,
então elas podem ser
capazes de trabalhar
juntas 
40
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RTP RTP roda em cimaroda em cima do UDPdo UDP
As bibliotecas do RTP fornecem uma
interface que estende o UDP: 
• número de portas, endereços IP
• identificação do tipo de carga 
• numeração da seqüência de
pacotes
• marcas de tempo
Aplicação 
Enlace 
Física 
camada de
transporte
RTP é um protocolo de aplicação
Alguns autores o colocam como subcamada de transporte
41
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RTP: RTP: ExemploExemplo
� Considere enviar 64 kbps 
de voz codificada em
PCM sobre RTP. 
� A aplicação reúne dados
codificados em blocos,
por exemplo,a cada 20 
ms = 160 bytes por bloco. 
� O bloco de aúdio, junto
com o cabeçalho RTP 
forma o pacote RTP, que
é encapsulado num
segmento UDP. 
� O cabeçalho RTP indica o
tipo de codificação de
aúdio em cada pacote, os 
transmissores podem 
mudar a codificação 
durante a conferência. O
cabeçalho RTP também 
contém os números de
seqüência e marcas de 
tempo.
42
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RTP e RTP e QoSQoS
� RTP não fornece nenhum 
mecanismo para assegurar a
entrega dos pacotes e dados no 
tempo correto, nem fornece 
outras garantias de qualidade
de serviço. 
� O encapsulamento RTP é visto 
apenas nos sistemas finais --
ele não é percebido pelos 
roteadores intermediários.
• Roteadores fornecem o serviço
de melhor-esforço tradicional 
da Internet. Eles não fazem 
nenhum esforço especial para 
assegurar que os pacotes RTP
cheguem no destino no
momento correto.
� A fim de fornecer QoS 
para uma aplicação, a 
Internet deve prover um
mecanismo, tal como o 
RSVP, para que a
aplicação possa reservar 
recursos da rede.
43
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
FluxosFluxos RTPRTP
� RTP permite atribuir a
cada fonte (por exemplo,
uma câmera ou um
microfone) o seu próprio 
fluxo de pacotes RTP
independente. 
• Por exemplo, para uma 
videoconferência entre dois 
participantes, quatro fluxos
RTP poderiam ser abertos: 
dois fluxos para transmitir
o aúdio (um em cada 
direção) e dois fluxos para
o vídeo (novamente, um em 
cada direção). 
� Contudo, algumas técnicas de 
codificação, p.e. MPEG1 e 
MPEG2, reúnem o aúdio e o
vídeo num único fluxo durante o
processo de codificação. Quando
o aúdio e o vídeo são reunidos 
pelo codificador, então apenas
um fluxo RTP é gerado em cada 
direção. 
� Para uma sessão multicast do
tipo muitos-para-muitos, todos 
os transmissores e receptores 
tipicamente enviam seus fluxos
RTP na mesma árvore de 
multicast com o mesmo endereço
de multicast.
44
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
CabeçalhoCabeçalho RTP RTP 
Tipo de Carga (7 bits): Usado para indicar o tipo de codificação que está sendo usado no
momento. 
Se um transmissor muda o tipo de codificação durante uma conferência, o transmissor 
informa o receptor através deste campo de tipo de carga. 
•Tipo de carga 0: PCM mu-law, 64 Kbps
•Tipo de carga 7, LPC, 2.4 Kbps
•Tipo de carga 9, G.722, 48-64 Kbps
•Tipo de carga 14, MPEG1 áudio
•Tipo de carga 26, Motion JPEG
•Tipo de carga 31. H.261
•Tipo de carga 32, MPEG1 vídeo
•Tipo de carga 33, MPEG2 vídeo
Número de Seqüência (16 bits): O número de seqüência é incrementado de um a cada 
pacote RTP enviado; pode ser usado para detectar perdas de pacotes e ocultar os dados 
perdidos.
Tipo de Carga
Número de
Seqüência Marca de tempo
Identificador
sincronismo fonte
campos de 
miscelânias 
Cabeçalho RTP
45
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
� Campo de marca de tempo (32 bits). Reflete o instante de
amostragem do primeiro byte no pacote de dados RTP. O receptor
pode usar esta marca de tempo para remover o jitter do pacote e para 
obter o sincronismo de reprodução. A marca de tempo é derivada do
relógio de amostragem no transmissor.
• Como exemplo, para aúdio o relógio de marca de tempo incrementa de 
um a cada intervalo de amostragem (por exemplo, cada 125 microsseg 
para uma taxa de amostagem de 8 KHz); se a aplicação de aúdio gera 
blocos contendo 160 amostras codificadas, então a marca de tempo do 
RTP aumenta de 160 para cada pacote RTP quando a fonte está ativa. O
relógio de marca de tempo continua a aumentar numa taxa constante 
mesmo quando a fonte está inativa.
� campo SSRC (identificador de sincronismo fonte) (32 bits). 
Identifica a fonte do fluxo RTP. Cada fluxo numa sessão RTP deve ter
um SSRC distinto (atribuído aleatoriamente pela fonte). (serve para 
multiplexar vários fluxos de mídia em um único fluxo UDP)
CabeçalhoCabeçalho RTP RTP 
46
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RealReal--Time Control Protocol (RTCP)Time Control Protocol (RTCP)
� Trabalha em conjunto com o 
RTP. 
� Cada participante de uma 
sessão RTP transmite 
periodicamente pacotes de
controle RTCP para todos os 
outros participantes. Cada 
pacote RTCP contém 
relatórios do transmissor e/ou
do receptor que são úteis para
a aplicação. 
� As estatísticas incluem o
número de pacotes enviados,
número de pacotes perdidos,
variação de retardo entre 
chegadas, etc. 
� Esta informação de
realimentação para a
aplicação pode ser usada 
para controle do
desempenho e para fins 
de diagnóstico. 
• O transmissor pode 
mudar suas transmissões
com base nestas 
informações de
realimentação.
47
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
RTCP RTCP -- ContinuaçãoContinuação
- Para uma sessão RTP existe tipicamente um único endereço multicast, todos os 
pacotes RTP e RTCP pertencentes à sessão usam este endereço multicast. 
- Os pacotes RTP e RTCP são distintos uns dos outros pelo uso de números de 
portas diferentes. 
- Para limitar o tráfego, cada participante reduz seu tráfego RTCP quando o
número de participantes da conferência aumenta. 
48
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
PacotesPacotes RTCPRTCP
Pacotes de relatório do receptor:
� fração de pacotes perdidos,
último número de seqüência,
variância média do atraso 
entre chegadas.
Pacotes de relatório do
transmissor:
� SSRC do fluxo RTP, marca de 
tempo e o tempo corrente real 
do pacote mais recente, o
número de pacotes enviados e 
o número de bytes enviados. 
Pacotes de descrição da 
fonte:
� endereço de e-mail do
transmissor, o nome do
transmissor, o SSRC do 
fluxo RTP associado.
Esses pacotes fornecem
um mapeamento entre o 
SSRC e o nome do
usuário ou do host.
49
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
SincronizaçãoSincronização dede FluxosFluxos
� RTCP (relatórios dos 
remetentes) pode ser usado 
para sincronizar diferentes 
fluxos de mídia numa sessão
RTP. 
� Considere uma aplicação de
videoconferência para a qual 
cada transmissor gera um
fluxo RTP para aúdio e um
para vídeo. 
� As marcas de tempo nestes 
pacotes são vinculadas aos 
relógios de amostragem de
vídeo e de aúdio, mas não são 
vinculadas a um relógio de 
tempo real (isto é, a um
relógio de parede). 
� Cada pacote relatório-do-
transmissor RTCP contém 
para o último pacote gerado
no fluxo RTP associado, a
marca de tempo do pacote 
RTP e o instante de tempo real 
no qual o pacote foi criado.
Desta forma o pacote RTCP
relatório-do-transmissor 
associa o relógio de
amostragem com o relógio de 
tempo real. 
� Receptores podem usar esta 
associação para sincronizar a
reprodução de aúdio e de
vídeo. 
50
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
ControleControle de Banda do RTCPde Banda do RTCP
� O RTCP procura limitar seu 
tráfego a 5% da banda 
passante da sessão. 
� Por exemplo, suponha que 
existe um transmissor 
enviando vídeo com uma taxa
de 2 Mbps. Então o RTCP 
procura limitar seu tráfego a 
100 Kbps. 
� O protocolo dá 75% desta 
taxa, ou 75 kbps, para os 
receptores; ele dá os 25%
restantes da taxa, isto é, 25 
kbps, para o transmissor. 
� Os 75 kbps dedicados aos 
receptores são divididos de forma
igual entre todos os receptores. 
Assim, se existem R receptores,
cada receptor consegue enviar 
tráfego RTCP a uma taxa de 75/R 
kbps e o transmissor envia 
tráfego RTCP a uma taxa de 25 
kbps. 
� Um participante (um
transmissor ou receptor)
determina o período de
transmissão de pacotes RTCP 
dinamicamente calculando o
tamanho médio do pacote
(durante toda a sessão) e 
dividindo o tamanho médio do
pacote RTCP pela sua taxa 
alocada. 
51
Fundamentos de Sistemas MultimídiaFundamentos de Sistemas Multimídia
ControleControle de Banda do RTCPde Banda do RTCP
� Período para transmitir pacotes RTCP:
� Transmissor:
• T = (no. de transmissores / (0,25 x 0,05x largura de banda 
da sessão)) x (tamanho médio do pacote RTCP) 
� Receptor:
• T = (no. de receptores / (0,75 x 0,05 x largura de banda da 
sessão)) x (tamanho médio do pacote RTCP)

Outros materiais