top of page

A cadeia que implementa o processo de codificação é ilustrada na fig. 1.

Para a Netflix uma das premissas mais importantes no contexto de posicionamento de mercado é que os seus serviços de streaming possam ser adquiridos e utilizados pelo maior número de pessoas. Para isso a empresa adotou uma política de utilização de codecs heterogénea, de modo a permitir que o conteúdo transmitido possa ser visualizado pelo maior número de dispositivos possível, restringindo assim ao máximo problemas decorrentes da falta de compatibilidade.

 

Atualmente a empresa implementa no seu processo de codificação os codecs VC1, H.264/AVC Baseline, H.264/AVC Main e HEVC.

De modo a aumentar a eficiência, a codificação de uma stream é feita de forma segmentada, permitindo assim processos de codificação paralelos.


 

Depois da codificação cada segmento é sujeito a um controlo de qualidade de modo a garantir que os resultados da codificação são os pretendidos. Em seguida e caso não existam erros de codificação todos os segmentos codificados são agregados pelo video assembler sendo posteriormente comparados com o stream original de modo a verificar se existem problemas relacionados com a exatidão das frames. Problemas esses que podem ser introduzidos pela incorreta codificação em paralelo, mais concretamente segmentos que podem ter sido introduzidos pela ordem incorreta, frames eliminadas ou duplicadas.

 

A validação do stream codificado é feita fazendo uma comparação da fingerprint espacial e temporal com o stream original. Sem haver codificação de segmentos em paralelo o processo de codificação seria bem mais demorado. Por exemplo um vídeo em 1080p poderia levar dias a codificar, isto sem ter em conta o delay associado a possíveis erros de codificação, o que atrasaria o processo ainda mais.

 

Com a cadeia de codificação que a Netflix implementa esse mesmo conteúdo pode ser inspecionado e codificado com vários perfis de qualidade em poucas horas, o que tem um impacto significativo na qualidade do serviço prestada, visto que a empresa consegue fazer o streaming de conteúdo poucas horas depois da sua produção original.

Mais recentemente a Netflix decidiu introduzir quatro novos codecs. Esses codecs são respetivamente o H.264/AVC High profile, VP9 (profile 0), AVCHi-Mobile e o VP9-Mobile. Todos eles permitem um considerável ganho em termos de eficiência de compressão. O H.264/AVC High profile partilha a mesma arquitetura geral do H.264/AVC Main mas adiciona um conjunto de funcionalidades que proporcionam maior eficiência de compressão. Essas funcionalidades são:

  • Transformadas e predições intra

  • Matrizes de quantização escaláveis;

  • Controlo separado de Cb e controlo de Cr.

Por sua vez o codec VP9 que foi desenvolvido pela Google em formato royalty-free, permite também uma maior eficiência em termos de compressão em relação ao H.264/AVC Main, sendo caracterizado pelas seguintes funcionalidades:

  • Blocos com predição de movimentos até 64×64;

  • São necessários 1/8 dos vetores de predição de movimento;

  • Três filtros de interpolação de oitava ordem comutáveis ao nível do subpixel;

  • Melhor codificação de vetores de movimento;

  • Aplicação de DCTs (Discrete Cosine Transforms) maiores (16×16 e 32×32);

  • Possibilidade de utilizar

  • Filtração dos adaptada a blocos de novas dimensões;

  • Introdução de mapas de segmentação.

Por sua vez os codecs AVCHi-Mobile e o VP9-Mobile foram introduzidos de modo permitirem uma otimização da qualidade de streaming em situações em que o acesso do cliente à rede é feito por comunicações celulares ou em situações específicas de restrição de largura de banda. No caso do AVCHi-Mobile a forma de codificação é semelhante ao H.264/AVC High profile mas são usados mais critérios de codificação ótimos e uma codificação por segmento.

 

O VP9-Mobile também é muito semelhante em termos de codificação ao VP9 e os critérios adicionais implementados de forma a introduzir melhorias em termos de desempenho são os mesmos que foram introduzidos no caso do AVCHi-Mobile. A fig. 2 ilustra a qualidade média em termos do VMAF para diferentes bitrates utilizado os codecs H.264/AVC Main, AVCHi-Mobile e VP9-Mobile.

Os resultados foram obtidos através de uma amostra de 600 filmes populares completos ou programas de televisão com uma resolução de fonte de 1080p. Foram codificados vários pontos de qualidade com resoluções distintas de modo a ter em consideração os diferentes cenários em termos de largura de banda a que os utilizadores dos serviços da Netflix podem estar sujeitos.

bottom of page