2015/12/16

Netflix muda para compressão optimizada para cada filme


A Netflix é responsável pela maior parte do tráfego na internet durante o período nocturno, mas está em vias de tentar reduzir alguns terabytes desses dados optando por uma nova filosofia na compressão dos seus conteúdos.

A compressão de vídeo é algo que tem tanto de tecnologia como de componente "artística" por parte da selecção dos parâmetros adequados para fazer essa mesma compressão. Quem já tiver feito coisas como compressão de música ou vídeo usando codecs como o MP3 ou MPEG4 já terá encontrado coisas como compressão como constant bitrate, variable bitrate, etc.

Se isso já se tornava um pouco complicado para uso "doméstico
", imaginem só o que será terem que fazer isso múltiplas vezes para cada conteúdo. É que, no caso do Netflix, cada título é comprimido em múltiplas resoluções e níveis de qualidade, de modo a que se envie o stream mais adequado em função do dispositivo e ligação disponível (por exemplo, quem estiver a ver um filme num televisor HD não precisa de estar a receber um stream Ultra HD - e há ainda o caso da qualidade da ligação poder alterar-se significativamente, por exemplo, num dispositivo móvel, obrigando a escolher versão do stream mais apropriado para permitir a visualização sem interrupções).

Até ao momento, esses diferentes streams era criados usando valores pré-definidos para a compressão (como se pode ver na tabela ao lado), que variavam em resolução dos 320x240 até aos 1920x1080 (parece que o Netflix se esqueceu que tem conteúdos 4K) e bitrates que iam dos 235Kbps aos 5800Kbps.

... O problema, é que esta tabela fixa não era a mais eficiente...


A eficiência dos codecs utilizados depende drasticamente do conteúdo a comprimir - da mesma forma que uma fotografia em JPEG de um céu completamente azul ocupa muito menos espaço que uma foto de uma árvore ou outro elemento cheio de detalhes intrincados. Quer isto dizer que, para conteúdos como filmes de animação para crianças, com desenhos simples, se tornava um desperdício estar a comprimir o filme os bitrates mais elevados, e que na prática em nada melhorava a qualidade do filme. E daí a passagem para parâmetros de compressão optimizados para cada título.


Em vez de aplicar a mesma tabela a todos os conteúdos, a Netflix vai ajustar esses valores em função de cada filme, para obter os streams mais eficientes. Isto não só permite poupar largura de banda e muitos terabytes transferidos, como também acaba por ser vantajoso para os clientes. Por exemplo, até agora, alguém que quisesse ver um filme de animação em Full HD teria que ter, no mínimo, uma ligação de 4.3Mbps; com este novo sistema, o mesmo filme em Full HD pode ser visto usando apenas 2.3Mbps - algo que levará conteúdos de melhor qualidade a mais clientes, e que reduzirá as pausas ou redução de qualidade nos casos em que as ligações forem mais lentas.

Este novo sistema já está a ser aplicado ao catálogo do Netflix, mas será coisa que irá demorar várias semanas a estar concluído. Quanto a mim, só acho estranho só agora terem chegado a esta conclusão. Se calhar, melhor fariam em contratar alguns dos membros das equipas "piratas" que são capazes de espremer ao máximo a compressão dos codecs para reduzir o tamanho dos filmes com o mínimo impacto na qualidade. :)

3 comentários:

  1. Há imenso tempo que desenhos animados (principalmente aqueles à antiga), filmes a preto e branco ou filmes com pouca ação não necessitam de um bitrate tão elevado como outros.

    Eu que nunca tinha pensado no assunto, se me perguntassem, diria que NetFlix usaria VBR, da mesma maneira que os RIPs que por aí se encontram usam há uns bons 10 anos.

    ResponderEliminar
  2. É bom que a Netflix utilize toda a tecnologia disponível para melhorar o serviço, mas também deverá estar atenta a eventuais boicotes por parte dos operadores.

    ResponderEliminar
    Respostas
    1. As operadoras só tem a ganhar com isto, pois o trafego diminui bastante com medidas deste genero.

      Eliminar