Distribui o de m dia cont nua recupera o de erros
This presentation is the property of its rightful owner.
Sponsored Links
1 / 53

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


  • 49 Views
  • Uploaded on
  • Presentation posted in: General

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?

Download Presentation

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

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Distribui o de m dia cont nua recupera o de erros

Distribuição de Mídia ContínuaRecuperação de Erros

Jussara M. Almeida

Junho 2005


Qualidade do video e audio

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


Forward error correction

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


Problema

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


Modelo de perda de pacotes

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


Modelo de fec 1 mais simples

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


Modelo de fec 2

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


Modelo de fec 3

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%


Modelo de fec 31

Modelo de FEC 3


Modelo de fec 32

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.


Modelo de fec 33

Modelo de FEC 3

  • Exemplo


Modelo de fec 34

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


Modelo de fec 4

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 0e 1as 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


Modelo de fec 41

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


Modelo de fec 42

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]


Modelo de fec 43

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


Avaliacao

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


Avaliacao1

Avaliacao

  • Impacto da funcao de qualidade de audio


Avaliacao2

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


Avaliacao3

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


Avaliacao4

Avaliacao

  • Impacto de T (ou numero de copias redundantes)


Avaliacao5

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


Distribui o de m dia cont nua protocolos de transmissao com recupera o de erros

Distribuição de Mídia ContínuaProtocolos de Transmissao com Recuperação de Erros

Jussara M. Almeida

Junho 2005


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


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


Revis o

Revisão

  • Skyscraper Broadcast (b = 2)

    • Parametros: # e tamanho dos segmentos


Revis o1

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


Revis o2

Revisão

  • Bandwidth Skimming

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


Revis o3

Revisão

  • Bandwidth Skimming


Revis o4

Revisão

  • Banda do Servidor para Protocolos com d > 0


Revis o5

Revisão

  • Banda Media do Servidor Minima:


Objetivo

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


Recupera o de perdas

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


Recupera o de perdas1

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


Recupera o de perdas2

Recuperação de Perdas

  • Escalabilidade: avaliação analítica

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


Recupera o de perdas3

Recuperação de Perdas

  • Escalabilidade: avaliação analítica


Reliable periodic broadcast

Reliable Periodic Broadcast

  • 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


Reliable periodic broadcast1

Reliable 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


Optimized periodic broadcast

Optimized Periodic Broadcast

  • Perda de pacotes: local error concealment

  • Segmento inteiramente recebido antes de iniciar visualização

  • Protocolo:


Optimized periodic broadcast1

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


Optimized periodic broadcast2

Optimized Periodic Broadcast

  • Desempenho:


Optimized periodic broadcast3

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


Basic reliable periodic broadcast

Basic Reliable Periodic Broadcast

  • Cada segmento transmitido como digital fountain usando erasure code


Basic reliable periodic broadcast1

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


Basic reliable periodic broadcast2

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


Basic reliable periodic broadcast3

Basic Reliable Periodic Broadcast

  • Desempenho do Basic RPB:


Basic reliable periodic broadcast4

Basic Reliable Periodic Broadcast

  • Desempenho do Basic RPB:


Basic reliable periodic broadcast5

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


Basic reliable periodic broadcast6

Basic Reliable Periodic Broadcast

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


Heterogeneidade de clientes

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


Reliable bandwidth skimming

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.


Reliable bandwidth skimming1

Reliable Bandwidth Skimming

  • Desempenho


Rpb vs rbs

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


  • Login