ABR Adaptive bit Rate
ABR Adaptive bit Rate
Cenário Pré ABR Opções de transporte; CDN, P2P ou uma combinação CDN apoiada por P2P
A audiência de conteúdo é fragmentada Múltiplas plataformas de acesso (browsers ou aplicações nativas) Múltiplas telas (tablets, móvel, desktops, smartTV) Múltiplas redes de acesso (wifi, fixa, 4G)
Download Progressivo
Único Arquivo 1280 x 720 pixels
Distorção para encher a janela. Buffering. Ok na tela, mas buffering. Grande mas OK, buffering. Video bufferiza devido a rede.
Dois problemas: • Qualidade das imagens • Bufferização durante a sessão
ABR: Múltiplas Representações
ABR: Adaptação as condições
Visão Geral
Servidor Codificador (e.g. ffmpeg)
Transcodifica o vídeo em diferentes representações As representações combinam
Resolução Taxa de bits
FPS
Empacotador (e.g. mp4box) Prepara um arquivo de descrição (MPD, Playlist) da mídia versionada para ser publicado
Servidor Web (e.g apache) Atende as requisições;
Controla o acesso ao conteúdo
Desafio é reduzir custos
Protocolo de Comunicação HTTP: Requisições feitas a partir da descrição do conteúdo
Torna a aplicação amigável a rede; Dinâmica de Transferência é ditada pelo TCP Cliente experimenta os efeitos dos componentes de latência;
Evita configuração no cliente para interagir com proxys/Firewalls
Usa tecnologia de cache implementada na Internet, e.g. CDN, Caches no ISP.
Cliente Cliente percebe as condições da sessão e requisita a qualidade mais adequada para manter a dinâmica da sessão
Condições da sessão Baseado no estado da rede Baseado no estado da aplicação
Interpretação dos estados Agressivo Conservador Moderado
Estado da rede Métricas observadas Latência
Vazão
Abordagens: Ad-hoc (limiares)
Aprendizado Máquina(TCP)
Teoria de Controle(PID)
Estado da Aplicação Métricas observadas
Ocupação do buffer
Stalls (frequência/duração)
Abordagens: Ad-hoc (Limiares)
Teoria de Controle (PID)
Interpretação dos estados Agressivo
Percepção instantânea do estado • A vazão alcançada com o último segmento • O nível atual do buffer
Atinge rapidamente as representações de melhor qualidade;
Tende a sofrer constantes trocas de qualidade se as condições da sessão forem transientes
Interpretação dos estados Conservador
Uso parcial da Percepção instantânea do estado • 70% da vazão alcançada com o último segmento • Limite mínimo para o nível do buffer
As trocas de qualidade são infrequentes.
As representações de melhor qualidade são recuperadas somente quando sessão atinge certa estabilidade;
Interpretação dos estados Moderado
Uso de Percepção de longo prazo da sessão • Vazão média • Ocupação média do buffer
As trocas de qualidade com segurança frequentes.
Alcança qualidades altas sempre que há uma consistência na sessão
Difícil de encontrar as métricas;
Algoritmos tendem a ser mais elaborados, observação de mais cenários.
Métricas de Qualidade Como a qualidade de uma sessão é medida
Quantitativas Taxa média de bits
Qualitativas Stalls (travamentos)
Instabilidade (Amplitude e quantidade)
Justiça
Instabilidade Instabilidade do algoritmo de adaptação.
Captura o impacto da dinâmica de troca de qualidade para o usuário
Valor entre 0-1(maior instabilidade)
Observa a instabilidade nos últimos k segmentos;
bx,t taxa de bits do segmento recebido no
instante t.
K, tamanho da janela em segmentos
W(i) = k-i
JIANG, J.; SEKAR, V.; ZHANG, H. Improving fairness, efficiency, and stability in http-based adaptive video streaming with festive., Dez 2012.
Justiça Mede o grau de justiça no
compartilhamento do recursos;
Relação entre o recurso esperado (cenário ideal), e o recurso recebido
Valor entre 0-1(Justo)
N, número de clientes;
Xi , é a razão entre a quantidade de recursos esperado pelo recursos recebido
R. Jain, D. Chiu, and W. Hawe, "A Quantitative Measure Of Fairness And Discrimination For Resource Allocation In Shared Computer Systems", DEC Research Report TR-301, September 1984.
Exemplos: AD-HOC
Algoritmo QoE-Adapt Uso de representação com baixa qualidade para enfrentar degradação da qualidade de experiência e ainda manter o valor das demais métricas alta: taxa média, estabilidade e Justiça.
Usa recursos disponíveis tanto no cliente como no servidor
Taxa de escape, é a representação do vídeo com baixa qualidade
Ocupação do buffer, monitoramento da vazão (média/instantânea)
Algoritmo Entradas: • Nível atual do buffer (B(t)) • Qualidade atual (Ri) • Limiar característico do stall (Θ) • Tamanho do histórico (Δ)
Três limiares para a ocupação do buffer: • Bmin valor mínimo esperado • Blow valor intermediário • Bmax vaor máximo esperado Duas medidas de vazão: • A vazão instantânea • Â(.) vazão média dentro do histórico
Cenário de Experimentação 3 e 6 clientes
compartilhando o canal
Canal compartilhado tem taxa nominal de 3/5 Mbps
Receitas de representação
Netflix (1000, 3600kbps)
Ad-hoc (1600, 3660kbps)
Resultados Taxa média de bits ao
longo da sessão
H-Adapt: Algoritmo usado como Baseline
VaQoE-Adapt: Proposta usada com o versionamento BrISP
0
200
400
600
800
1000
1200
1400
1600
1800
3 6
Aver
age B
itrate
(kb/s)
Number Of Clients
H - Adapt+BrISPH-Adapt+Netflix
VaQoE-Adapt
Paradas
0
5
10
15
20
25
30
35
40
3 6
Numb
er O
f Stal
ls
Number Of Clients
H-Adapt+BrISPH-Adapt+Netflix
VaQoE-Adapt
Redução no número de paradas;
Cenários extremos: redução de +50%
Uso da taxa de fuga ajuda a aliviar o congestionamento do canal
Duração Paradas O prolongamento da
sessão foi reduzido em todos os cenários
Com seis clientes a redução foi superior a 100%.
As paradas continuam a ocorrer mas seu impacto foi minimizado
0
50
100
150
200
250
300
350
400
3 6
Stall
s Dur
ation
(s)
Number Of Clients
H-Adapt+BrISPH-Adapt+Netflix
VaQoE-Adapt
Instabilidade
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
3 6
Instab
ility
Number Of Clients
H-Adapt+BrISPH-Adapt+Netflix
VaQoE-Adapt
Maior que as outras duas abordagens
Outra abordagens não ousam crescer suas taxas e permanecem muito tempo acessando a mesma taxa
A proposta VaQoE-Adapt acessa a taxa mais altas e por isso eventualmente precisam acessar a taxa de fuga
Popularidade das altas taxas
0
5
10
15
20
25
2nd Highest bitrateHighest bitrate
2nd Highest bitrateHighest bitrate
Popu
larity
(%)
The Highest Available Bitrate
3 Clients 6 Clients
H-Adapt+BrISPH-Adapt+Netflix
VaQoE-Adapt
Taxa de acesso as duas melhores qualidades disponíveis
De fato, o VaQoE-Adapt acessa as taxas mais altas com uma frequência maior;
Conclusão: sensação de melhora da qualidade de vídeo durante a sessão.
Justiça
0.8
0.85
0.9
0.95
1
1.05
1.1
3 6
Fairn
ess
Number Of Clients
H-Adapt+BrISPH-Adapt+Netflix
VaQoE-Adapt
Valores de Justiça estão próximos para as diferentes abordagens;
Quando cresce o número de clientes (3=>6), reduz a justiça da proposta VaQoE-adapt
Muito alto mesmo assim.
PID Proportional Integral Derivative -
Princípio Feedback Aumente a variável manipulada (u) quando a variável do processo (y) for menor que o valor alvo(ysp) Reduza o valor da variável manipulada quando a variável do processo for maior que o valor alvo.
Tipos de controle On-off control Proportional control
Tipos de controle PID
Variação na banda de proporcionalidade dada pela equação ao lado
Três termos P: proporcional ao
Erro(presente) I: proporcional a Integral do
Erro (Erro acumulado) D: proporcional a Derivada
do Erro (estimativa do erro)
Parâmetros K: ganho proporcional por
unidade de erro
Ti : Intervalo da Integral (Passado)
Td: Instante da derivada(Futuro)
P I D
Modelagem Descrita em “Towards Agile and Smooth Video Adaptation in Dynamic HTTP Streaming”
Usa um PI (Proportional – Integral) controler Fator D (Derivative – predição) poder amplificar o impacto das flutuações do TCP
Variável do processo (y) é o “tempo de video bufferizado” no lado do cliente;
Modelagem
1)
2)
3)
Problemática A natural flutuação da
banda controlada pelo TCP requer ajuste do
Controlador sobre (u(t));
Tal ajuste gera uma flutuação constante na taxa de bits que instabiliza o ocupação do buffer
Taxa de Bits • Aumenta velocidade
preenchimento buffer
Taxa de Bits • Reduz a velocidade
de preenchimento buffer
Linhas do Projeto
Evitar trocas de Taxas
• Variações de curto prazo e Erro na Estimativa da vazão (TCP)
Crescimento suave da taxa de Bits
• Capturar melhora consistente da vazão
Evitar travamentos reduzindo a taxa
• Rápida redução da taxa ao aumento do congestionamento
Modelagem Revista
Lógica de Troca de Taxas
M? Expressa o Compromisso entre suavização e rapidez na troca das taxas;
Um M grande implica em trocas somente quando o cenário de rede estiver consolidado (suavização)
Um M pequeno implica em trocas sempre que uma tendência de crescimento for percebida (rapidez)
Ocupação do buffer
Ambiente Experimentação Link entre Cliente e Servidor,
5Mb/s
Atraso 25 ms
51 taxas de video de 100 kb/s a 5.1 Mb/s, espaçamento entre taxas adjacentes de 100 kb/s;
Tráfego injetado na rede para gerar congestionamento (3 níveis e flutuação em cada nível)
Resultados Flutuação do Buffer Flutuação da Taxa
Suavizando a Taxa
Para ser avaliado Instabilidade
Justiça
Stall