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

Upload: yuki

Post on 05-Jan-2016

18 views

Category:

Documents


0 download

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

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