Title: Distribui
1Distribuição de Mídia ContínuaRecuperação de
Erros
Junho 2005
2Qualidade do Video e Audio
- Afetada pela perda de pacotes e atrasos na rede
- Uso de buffers no cliente minimiza impacto dos
atrasos na rede - E quanto a perda de pacotes?
- Mecanismos de controle de taxa de transmissao
minimiza mas nao elimina perda - Automatic Repeat Request (ARQ) retransmissao
- Aumenta latencia inadequado para aplicacoes ao
vivo - Forward Error Correction (FEC) envio de
informacao redundante - Nao altera latencia, mas aumenta consumo de banda
3Forward Error Correction
- Compromisso
- Enviar grande quantidade de informacao redundante
aumenta a probabilidade de recuperacao frente a
perdas - Porem aumenta o consumo de banda na rede e,
consequentemente, a taxa de perdas - Logo mecanismo de FEC tem que ser acoplado a um
esquema de controle de taxa de transmissao. - Alem disto, a quantidade de informacao redundante
que deve ser enviada depende - Caracteristicas do processo de perdas de pacotes
no momento - Restricoes de atraso entre servidor e cliente
- Qualidade da informacao redundante
4Problema
- Dados a taxa total que o servidor pode suportar
transmitir e o atraso maximo suportado pelo
cliente, determinar a combinacao de informacao
principal e informacao redundante que prove a
melhor qualidade de audio percebida pelos
usuarios - Objetivo utilizar metricas subjetivas de
qualidade de audio - Simplesmente taxa de perda de pacotes nao e
suficiente - EX 10 perdas de 1 pacote cada espacadas vs. 1
perda de 10
pacotes consecutivos
5Modelo de Perda de Pacotes
- Area de pesquisa ativa
- Modelo mais simples modelo de Gilbert de 2
estados
p
1-q
1-p
0
1
q
Probabilidade de perda p / (pq)
6Modelo de FEC 1 - mais simples
- Inclui no pacote n1, em adicao aos frames
correspondentes, informacao sobre o pacote
n que pode ser usado para reconstruir (uma
aproximacao) do pacote n - Esquema aprovado pelo IETF informacao redundante
e uma codificacao com bitrate mais baixa do
pacote n. - Surpreendentemente, a qualidade subjetiva do
audio reconstruido com este metodo foi avaliada
como muito boa - Mecanismo suporta recuperacao de perdas isoladas
- Se 2 pacotes consecutivos sao perdidos nao e
possivel recuperar informacao sobre um deles
7Modelo de FEC 2
- Inclui no pacote n1, em adicao aos frames
correspondentes, informacoes redundantes sobre os
pacotes n e n-1, ou sobre os pacotes n, n-1 e
n-2, ou sobre os pacotes n-1 e n-3, etc - Mecanismo suporta recuperacao de perdas em
rajadas - Informacao redundante de um pacote e espalhada
por multiplos pacotes - Quanto mais info redundante e adicionada, maior o
numero de pacotes perdidos que poderao ser
reconstruidos - Problema quantidade de informacao redundante
depende do processo de perda na rede no momento
em questao
8Modelo de FEC 3
- Algoritmo adaptativo simples
- Precisa saber o beneficio que cada informacao
extra fornece para escolher a combinacao perfeita - Para estimar este beneficio, usa o modelo de
Gilbert para perdas de pacotes - Ausencia de FEC
- Probabilidade de perda ?1 p / (pq)
- FEC com pacote n contendo info sobre pacote n-1
- Probabilidade de perda pos reconstrucao
?2 p (1-q) / (pq) - ?2/?1 (1-q)
- Se q 0.7 (tipico), reducao na perda de 70
9Modelo de FEC 3
10Modelo de FEC 3
- Algoritmo adaptativo simples
- Tendo uma taxa de perda de pacotes alvo como
objetivo basta que o servidor escolha o metodo de
redundancia que leve a taxa de perdas mais
proxima do objetivo - Precisa saber p e q
- Cliente pode medir e retornar em campos livres do
RTCP - Assume que processo de perda e Bernoulli p q
1. Taxa de perdas (p / pq) observada e igual a
p.
11Modelo de FEC 3
12Modelo de FEC 3
- Desvantagens
- Algoritmo minimiza taxa media de perdas (apos
reconstrucao), que nao necessariamente implica
melhor qualidade de audio - EX qualidade seria pobre se qualidade da info
usada para reconstrucao e baixa - Adicionar info redundante aumenta demanda por
banda precisa acoplar algoritmo a um mecanismo
de controle de transmissao - Objetivo e que servidor dinamicamente ajuste a
taxa de transmissao e a quantidade de info
redundante enviada para minimizar a perda
percevida pelos clientes
13Modelo de FEC 4
- Modelo de otimizacao conjunto para otimo FEC e
taxa de transmissao - Seja f(x) qualidade de um audio com taxa x
- Sejam ?0 e ?1 as probabilidades de um pacote ser
recebido e ser perdido, respectivamente - Calculadas de uma cadeia de Markov
- Seja um esquema de FEC que envia K copias de cada
pacote (K-1 redundantes 1 principal) - Seja ainda T o atraso maximo entre enviar a
primeira e a ultima copia de um pacote
14Modelo de FEC 4
- Questao 1 Dados que vamos transmitir k copias de
cada pacote e o atraso maximo T, como devemos
espacar as copias de forma a maximizar a
probabilidade de que pelo menos uma copia seja
recebida? - Seja p11(t) a probabilidade de que o processo de
perdas esteja no estado 1 (perda) no instante t
?, dado que ele estava no estado 1 no instante ? - Probabilidade de perder TODAS as K copias de um
pacote
15Modelo de FEC 4
- Questao 1 Dados que vamos transmitir k copias de
cada pacote e o atraso maximo T, como devemos
espacar as copias de forma a maximizar a
probabilidade de que pelo menos uma copia seja
recebida? - Solucao otima as K copias devem ser igualmente
espacadas no intervalo 0,T
16Modelo de FEC 4
- Questao 2 Dado que K copias serao transmitidas
igualmente espacadas no intervalo de tamanho T,
quais as taxas de codificacao a serem usadas para
cada copia, a fim de maximizar a qualidade de
audio, sujeito a restricoes na taxa maxima - Informacao principal deve ser codificada usando a
maior taxa possivel - A ultima copia deve ter maior taxa que todas as
outras copias - Algoritmo heuristica para alocacao de taxas
discretas - Confuso
17Avaliacao
- Impacto da funcao de qualidade de audio
- f0(x) x
- Solucao otima sempre aloca a taxa maxima para a
informacao principal e nao envia nenhuma info
redundante - f1(x) baseada na razao sinal/ruido
- f2(x) baseada no mean opinion score (MOS)
(subjetivo) - f3(x) 1 para x ? 0 e f3(0) 0
- Funcao e maxima se pelo menos alguma informacao e
recebida, independente da qualidade dela
minimiza taxa de perdas, enviando muita info
redundante
18Avaliacao
- Impacto da funcao de qualidade de audio
19Avaliacao
- Funcionamento
- (T4)
- Encontra combinacao otima de info redundante ao
inves de pegar uma combinacao fixa que leva a uma
taxa alvo - Leva em consideracao banda disponivel e perdas
ocorridas no momento e restricao de atraso
20Avaliacao
- Funcao que leva a melhor qualidade percebida e a
f2(x), baseada nos MOS scores - Pouca diferenca entre usar f0 (sem FEC) e
otimizar f1 (signal/noise ratio) - Otimizar para SNR leva a qualidade pobre
21Avaliacao
- Impacto de T (ou numero de copias redundantes)
22Avaliacao
- Impacto de T (ou numero de copias redundantes)
- Adicionar 1 copia (adicionar info redundante em
pacote n sobre pacote n-1) melhora
significativamente qualidade - Exceto para f1 (signal/noise ratio) que e proxima
de f0 (sem FEC) - Observar diminishing returns adicionar pouca
quantidade de redundancia ja leva a maioria do
beneficio provido por FEC - Notar variacao da qualidade com a funcao
utilizada - Necessidade de escolher f cuidadosamente
23Distribuição de Mídia ContínuaProtocolos de
Transmissao com Recuperação de Erros
Junho 2005
24Base
- Digital Fountain
- Download com recuperação de erros
- Erasure codes
- Alta latência inicial
- Transmissão sob demanda com compartilhamento de
fluxos - Periodic Broadcast, Patching, Bandwidth Skimming
- Recuperação de erros local error concealment
- Adequado para baixas taxas de perdas
- Dificil extensão para recuperação de outras
perdas - Transmissão de pacotes o mais tarde possível
25Base
- Novos protocolos baseados em periodic broadcast
(Harmonic Broadcast) - Cada segmento recebido inteiramente antes de
playback - Extensão para uso de erasure code fácil
- Mas
- Cliente tem que escutar todos segmentos
simultaneamente (b5,10) - Grande quantidade de buffer no cliente
26Revisão
- Skyscraper Broadcast (b 2)
- Parametros e tamanho dos segmentos
27Revisão
- Harmonic Broadcast
- Divisão do arquivo em segmentos de tamanho
iguais, segmento k transmitido a taxa 1/k - Clientes escutam todos segmentos simultaneamente,
comeca a tocar cada segmento depois de recebe-lo
inteiramente - Alta latência, alto b
28Revisão
- Bandwidth Skimming
- Closest Target (b2), Partition (b lt 2)
29Revisão
30Revisão
- Banda do Servidor para Protocolos com d gt 0
31Revisão
- Banda Media do Servidor Minima
32Objetivo
- Novos protocolos baseados em periodic broadcast e
bandwidth Skimming com as características - Conveniência baixa latência (dentro de limite)
- Tolerância a taxas de perdas e heterogeneidade
- Confiabilidade recuperação de erros se taxa de
perda acumulada dentro de um limite pre-definido - Eficiência mínimo feedback do cliente, mínima
quantidade de dados para clientes - Mídia de Alta Qualidade max taxa de transmissão
do cliente limitada (eg 25 maior que taxa de
playback) - Escalabilidade demanda por banda do servidor
próxima da mínima - Espaço de Trabalho Fig 4
33Recuperação de Perdas
- Três classes de estratégias
- Erasure code (FEC)
- Retransmissão via unicast
- Retransmissão via multicast
- Análise qualitativa
- Complexidade de implementação
- (De)codificação X implosão de retransmissão/feedba
ck - Latência inicial
- Mesma magnitude esperada em todas estratégias
- Mais facilmente estimada para erasure code
34Recuperação de Perdas
- Escalabilidade
- Retransmissão via multicast
- Alguns clientes podem receber dados
desnecessários - Erasure code
- Um dado redundante usado para recuperar perdas
diferentes - Maior escalabilidade esperada
35Recuperação de Perdas
- Escalabilidade avaliação analítica
- Retransmissão via multicast solução numérica
36Recuperação de Perdas
- Escalabilidade avaliação analítica
37Reliable Periodic Broadcast
- Optimized Periodic Broadcast
- Max progressão de tamanhos de segmentos para
- Taxa de transmissão de cada segmento r ( r lt 1)
- Número de fluxos simultâneos cliente pode
escutar s - Cliente recebe cada segmento inteiramente antes
de tocá-lo - Recuperação de perdas local
- Min latência para banda do servidor fixa ou
vice-versa - Objetivo explorar trade-offs para b rs lt 2
38Reliable Periodic Broadcast
- Basic Reliable Periodic Broadcast
- Recuperação de perdas com erasure code
- Taxa de perda acumulada ao final de
cada segmento ? p - Reliable Periodic Broadcast
- Rajadas maior taxa de perdas nos primeiros
segmentos - Heterogeneidade de clientes e transmissão com
perdas maiores que o limite pre-definido p
39Optimized Periodic Broadcast
- Perda de pacotes local error concealment
- Segmento inteiramente recebido antes de iniciar
visualização - Protocolo
40Optimized Periodic Broadcast
- Protocolo
- Novo cliente imediatamente começa a escutar os
primeiros s fluxos - Quando primeiro segmento completamente recebido
- Cliente inicia visualização e
- Começa a receber segmento s1
- Max progressão dos tamanhos dos segmentos
- r 1
- r lt 1
- Extensões para incluir overhead de decodificação
e de estabelecer conexão multicast
41Optimized Periodic Broadcast
42Optimized Periodic Broadcast
- Desempenho
- Banda do servidor
- Optimized PB competitivo com Skyscraper apesar de
exigir recebimento total de cada segmento antes
de visualização - Menor r melhor desempenho
- Menor latência para banda fixa ou menor banda
para latência fixa - Frequência de Multicasts
- Lower bound 1/(xd)
- Dados no mesmo segmento transmitidos na mesma
freq. - Menor r, maior k, menor tamanho do segmento
43Basic Reliable Periodic Broadcast
- Cada segmento transmitido como digital fountain
usando erasure code
44Basic Reliable Periodic Broadcast
- Cada segmento transmitido como digital fountain
usando erasure code - Sem limites de segmentos
- Poucas perdas no início levam a início dos
próximos segmentos mais cedo e permite mais
perdas no final (desde que acumulada esteja
limitada a p - Premissa taxa de perda de pacotes acumulada ao
final do recebimento de cada pacote limitada a p
45Basic Reliable Periodic Broadcast
- Nova progressão de segmentos
- a 1/(1-p) pacotes recebidos
- a pode incluir acréscimo devido a redundancia
- p0.2 e eficiência de decodificação 1.05
p 1.051.25 1.3125
46Basic Reliable Periodic Broadcast
47Basic Reliable Periodic Broadcast
48Basic Reliable Periodic Broadcast
- Desempenho do Basic RPB
- Tradeoff entre latência e banda para perda fixa.
- Menor r, maior desempenho (diminishing returns)
- Mas menor r, maior segmentos, segmentos
menores, menor overhead de decodificação. - Extensão para rajadas de perdas
- Segmentos iniciais, menores, mais afetados
- Parâmetro a 1/1 p eficiência de
decodificação - Segmentos iniciais tem valores de a maiores
49Basic Reliable Periodic Broadcast
- Max perda permitida para diferentes posições do
arquivo usando valores de a variáveis
50Heterogeneidade de Clientes
- Soluções
- Simulcast diversas versões do objeto
- Codificação em camadas
- Pode-se acomodar heterogeneidade de clientes
(limitada) com o RPB - Explorar trade-offs entre latência, taxa de
perdas e taxa de transmissão para cliente - Políticas específicas future work
51Reliable Bandwidth Skimming
- Transmissão em dois fluxos a
taxa total 1/(1-p) - Primário, a taxa 1
- Secundário a taxa p/(1-p) deslocado no tempo
para prover melhor proteção contra rajadas - Merges ocorrem como no BWSkim básico entre fluxos
primários e entre fluxos secundários.
52Reliable Bandwidth Skimming
53RPB vs. RBS
- RBS
- Banda de servidor é função da carga (se carga
leve, demanda pequena) - Suporte para interatividade
- RPB
- Um pouco mais eficiente com respeito a quantidade
de dados recebidos por cada cliente - Mais tolerante a rajadas de perdas sem
interrupção