Distribuição de Mídia Contínua Recuperação de Erros

53
Distribuição de Mídia Contínua Recuperação de Erros Jussara M. Almeida Junho 2005

description

Distribuição de Mídia Contínua Recuperação de Erros. Jussara M. Almeida. Junho 2005. Qualidade 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? - PowerPoint PPT Presentation

Transcript of Distribuição de Mídia Contínua Recuperação de Erros

Page 1: Distribuição de Mídia Contínua Recuperação de Erros

Distribuição de Mídia Contínua

Recuperação de Erros

Jussara M. Almeida

Junho 2005

Page 2: Distribuição de Mídia Contínua Recuperação de Erros

Qualidade 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

Page 3: Distribuição de Mídia Contínua Recuperação de Erros

Forward 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

Page 4: Distribuição de Mídia Contínua Recuperação de Erros

Problema• 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

Page 5: Distribuição de Mídia Contínua Recuperação de Erros

Modelo de Perda de Pacotes

• Area de pesquisa ativa

• Modelo mais simples: modelo de Gilbert de 2 estados

p

q

1-q1-p10

Probabilidade de perda = p / (p+q)

Page 6: Distribuição de Mídia Contínua Recuperação de Erros

Modelo de FEC 1 - mais simples• Inclui no pacote n+1, 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

Page 7: Distribuição de Mídia Contínua Recuperação de Erros

Modelo de FEC 2• Inclui no pacote n+1, 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

Page 8: Distribuição de Mídia Contínua Recuperação de Erros

Modelo 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 / (p+q)

• FEC com pacote n contendo info sobre pacote n-1

– Probabilidade de perda pos reconstrucao: 2 = p (1-q) / (p+q)

2/1 = (1-q):

– Se q = 0.7 (tipico), reducao na perda de 70%

Page 9: Distribuição de Mídia Contínua Recuperação de Erros

Modelo de FEC 3

Page 10: Distribuição de Mídia Contínua Recuperação de Erros

Modelo 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 / p+q) observada e igual a p.

Page 11: Distribuição de Mídia Contínua Recuperação de Erros

Modelo de FEC 3 • Exemplo

Page 12: Distribuição de Mídia Contínua Recuperação de Erros

Modelo 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

Page 13: Distribuição de Mídia Contínua Recuperação de Erros

Modelo 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

Page 14: Distribuição de Mídia Contínua Recuperação de Erros

Modelo 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

Page 15: Distribuição de Mídia Contínua Recuperação de Erros

Modelo 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]

Page 16: Distribuição de Mídia Contínua Recuperação de Erros

Modelo 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

Page 17: Distribuição de Mídia Contínua Recuperação de Erros

Avaliacao • 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

Page 18: Distribuição de Mídia Contínua Recuperação de Erros

Avaliacao • Impacto da funcao de qualidade de audio

Page 19: Distribuição de Mídia Contínua Recuperação de Erros

Avaliacao • Funcionamento

(T=4)

• 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

Page 20: Distribuição de Mídia Contínua Recuperação de Erros

Avaliacao

• 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

Page 21: Distribuição de Mídia Contínua Recuperação de Erros

Avaliacao • Impacto de T (ou numero de copias

redundantes)

Page 22: Distribuição de Mídia Contínua Recuperação de Erros

Avaliacao • 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

Page 23: Distribuição de Mídia Contínua Recuperação de Erros

Distribuição de Mídia Contínua

Protocolos de Transmissao com

Recuperação de ErrosJussara M. Almeida

Junho 2005

Page 24: Distribuição de Mídia Contínua Recuperação de Erros

Base• 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

Page 25: Distribuição de Mídia Contínua Recuperação de Erros

Base• 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 (b=5,10) :

• Grande quantidade de buffer no cliente

Page 26: Distribuição de Mídia Contínua Recuperação de Erros

Revisão• Skyscraper Broadcast (b = 2)

– Parametros: # e tamanho dos segmentos

Page 27: Distribuição de Mídia Contínua Recuperação de Erros

Revisã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

Page 28: Distribuição de Mídia Contínua Recuperação de Erros

Revisão• Bandwidth Skimming

– Closest Target (b=2), Partition (b < 2)

Page 29: Distribuição de Mídia Contínua Recuperação de Erros

Revisão• Bandwidth Skimming

Page 30: Distribuição de Mídia Contínua Recuperação de Erros

Revisão• Banda do Servidor para Protocolos com d

> 0

Page 31: Distribuição de Mídia Contínua Recuperação de Erros

Revisão• Banda Media do Servidor Minima:

Page 32: Distribuição de Mídia Contínua Recuperação de Erros

Objetivo• 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

Page 33: Distribuição de Mídia Contínua Recuperação de Erros

Recuperaçã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/feedback

– Latência inicial:

• Mesma magnitude esperada em todas estratégias• Mais facilmente estimada para erasure code

Page 34: Distribuição de Mídia Contínua Recuperação de Erros

Recuperaçã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

Page 35: Distribuição de Mídia Contínua Recuperação de Erros

Recuperação de Perdas• Escalabilidade: avaliação analítica

– Retransmissão via multicast: solução numérica

Page 36: Distribuição de Mídia Contínua Recuperação de Erros

Recuperação de Perdas• Escalabilidade: avaliação analítica

Page 37: Distribuição de Mídia Contínua Recuperação de Erros

Reliable Periodic Broadcast1. Optimized Periodic Broadcast:

– Max progressão de tamanhos de segmentos para:• Taxa de transmissão de cada segmento: r ( r

< 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 = r*s < 2

Page 38: Distribuição de Mídia Contínua Recuperação de Erros

Reliable Periodic Broadcast

2. Basic Reliable Periodic Broadcast:– Recuperação de perdas com erasure code– Taxa de perda acumulada ao final de

cada segmento p

3. Reliable Periodic Broadcast:– Rajadas: maior taxa de perdas nos primeiros

segmentos

4. Heterogeneidade de clientes e transmissão com perdas maiores que o limite pre-definido p

Page 39: Distribuição de Mídia Contínua Recuperação de Erros

Optimized Periodic Broadcast• Perda de pacotes: local error concealment

• Segmento inteiramente recebido antes de iniciar visualização

• Protocolo:

Page 40: Distribuição de Mídia Contínua Recuperação de Erros

Optimized 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 s+1

• Max progressão dos tamanhos dos segmentos:

– r = 1:

– r < 1:

– Extensões para incluir overhead de decodificação e de estabelecer conexão multicast

Page 41: Distribuição de Mídia Contínua Recuperação de Erros

Optimized Periodic Broadcast• Desempenho:

Page 42: Distribuição de Mídia Contínua Recuperação de Erros

Optimized 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/(x+d)

• Dados no mesmo segmento transmitidos na mesma freq.

• Menor r, maior k, menor tamanho do segmento

Page 43: Distribuição de Mídia Contínua Recuperação de Erros

Basic Reliable Periodic Broadcast

• Cada segmento transmitido como digital fountain usando erasure code

Page 44: Distribuição de Mídia Contínua Recuperação de Erros

Basic 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

Page 45: Distribuição de Mídia Contínua Recuperação de Erros

Basic Reliable Periodic Broadcast

• Nova progressão de segmentos

– a = 1/(1-p) : # pacotes recebidos

– a pode incluir acréscimo devido a redundancia

• p=0.2 e eficiência de decodificação = 1.05: p = 1.05*1.25 = 1.3125

Page 46: Distribuição de Mídia Contínua Recuperação de Erros

Basic Reliable Periodic Broadcast

• Desempenho do Basic RPB:

Page 47: Distribuição de Mídia Contínua Recuperação de Erros

Basic Reliable Periodic Broadcast

• Desempenho do Basic RPB:

Page 48: Distribuição de Mídia Contínua Recuperação de Erros

Basic 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

Page 49: Distribuição de Mídia Contínua Recuperação de Erros

Basic Reliable Periodic Broadcast

• Max perda permitida para diferentes posições do arquivo usando valores de a variáveis:

Page 50: Distribuição de Mídia Contínua Recuperação de Erros

Heterogeneidade 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

Page 51: Distribuição de Mídia Contínua Recuperação de Erros

Reliable 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.

Page 52: Distribuição de Mídia Contínua Recuperação de Erros

Reliable Bandwidth Skimming• Desempenho

Page 53: Distribuição de Mídia Contínua Recuperação de Erros

RPB 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