A transmissão em 4K é a nova norma, mas com informações de mais de 8,2 milhões de pixels sendo transmitidas a cada 16 milissegundos, armazenar e transmitir vídeo 4K na Internet não é uma tarefa fácil.
Um filme de duas horas ocuparia mais de 1,7 Terabytes de armazenamento quando não compactado. Então, como gigantes do streaming como YouTube e Netflix conseguem armazenar e transmitir vídeos que ocupam tanto espaço?
Bem, eles não usam codecs de vídeo para reduzir o tamanho dos filmes, mas o que é um codec de vídeo e qual é o melhor?
O que é um codec de vídeo?
Antes de mergulhar fundo nas complexidades dos codecs de vídeo, é vital entender como um vídeo é criado. Simplificando, o vídeo nada mais é do que um conjunto de imagens estáticas que se substituem rapidamente.
Devido a essa alta velocidade de mudança, o cérebro humano pensa que as imagens estão se movendo, criando a ilusão de assistir a um vídeo. Portanto, ao assistir a um vídeo em 4K, você está apenas olhando para um conjunto de imagens com resolução de 2160x3840. Essa alta resolução de imagens permite que um vídeo gravado em 4K proporcione uma ótima experiência de vídeo. Dito isso, essa alta resolução de imagens aumenta o tamanho do vídeo, impossibilitando a transmissão em canais com largura de banda limitada, como a internet.
Para resolver este problema, temos codecs de vídeo. Abreviação de codificador/decodificador ou compressão/descompressão, um codec de vídeo comprime o fluxo de imagens em bits de dados. Essa compactação pode reduzir a qualidade do vídeo ou não afetá-lo com base nos algoritmos de compactação usados.
Como o nome sugere, o bit de compressão em um codec reduz o tamanho de cada imagem. Para fazer o mesmo, o algoritmo de compactação explora as nuances do olho humano, evitando que as pessoas saibam que os vídeos que assistem são compactados.
A descompactação, ao contrário, funciona de maneira oposta e renderiza o vídeo usando as informações compactadas.
Embora os codecs façam um ótimo trabalho quando se trata de compactar informações, fazer o mesmo pode ser desgastante para sua CPU. Devido a isso, é normal ver flutuações no desempenho do sistema ao executar algoritmos de compactação de vídeo em seu sistema.
Para resolver esse problema, CPUs e GPUs vêm com hardware especial que pode executar esses algoritmos de compressão. Permitindo que a CPU execute as tarefas enquanto o hardware dedicado processa os codecs de vídeo, melhorando a eficiência.
Como funciona um codec de vídeo?
Agora que temos uma compreensão básica do que um codec de vídeo faz, podemos ver como um codec funciona.
Subamostragem de Croma
Conforme explicado anteriormente, os vídeos são compostos de imagens e a subamostragem de croma reduz as informações em cada imagem. Para isso, reduz as informações de cores contidas em cada imagem, mas como essa redução nas informações de cores é detectada pelo olho humano?
Bem, veja bem, os olhos humanos são ótimos para detectar mudanças no brilho, mas o mesmo não pode ser dito sobre as cores. Isso porque o olho humano possui mais bastonetes (células fotorreceptoras responsáveis por detectar mudanças no brilho) quando comparado aos cones (células fotorreceptoras responsáveis por diferenciar as cores). A diferença entre bastonetes e cones impede que os olhos detectem mudanças de cor ao comparar imagens compactadas e não compactadas.
Para executar a subamostragem de croma, o algoritmo de compactação de vídeo converte as informações de pixel em RGB em dados de brilho e cor. Depois disso, o algoritmo reduz a quantidade de cor na imagem com base nos níveis de compactação.
Removendo informações de quadro redundante
Os vídeos são compostos de vários quadros de imagens e, na maioria dos casos, todos esses quadros contêm as mesmas informações. Por exemplo, imagine um vídeo com uma pessoa falando em um fundo fixo. Nesse caso, todos os quadros do vídeo têm uma composição semelhante. Portanto, todas as imagens não são necessárias para renderizar o vídeo. Tudo o que precisamos é de uma imagem base que contenha todas as informações e dados relacionados à mudança ao passar de um quadro para o outro.
Portanto, para reduzir o tamanho do vídeo, o algoritmo de compressão divide os quadros de vídeo em quadros I e P (quadros previstos). Aqui, os quadros I são a verdade básica e são usados para criar os quadros P. Os quadros P são então renderizados usando as informações nos quadros I e as informações de alteração para esse quadro específico. Usando essa metodologia, um vídeo é dividido em um conjunto de quadros I intercalados em quadros P comprimindo ainda mais o vídeo.
Compressão de movimento
Agora que dividimos o vídeo em quadros I e P, precisamos examinar a compressão de movimento. Uma parte do algoritmo de compressão de vídeo que ajuda a criar os quadros P usando os quadros I. Para fazer isso, o algoritmo de compressão divide o quadro I em blocos conhecidos como macro-blocos. Esses blocos recebem então vetores de movimento que definem a direção na qual esses blocos estão se movendo ao fazer a transição de um quadro para outro.
Essas informações de movimento para cada bloco ajudam o algoritmo de compactação de vídeo a prever a localização de cada bloco em um próximo quadro.
Remoção de dados de imagem de alta frequência
Assim como as mudanças nos dados de cores, o olho humano não pode detectar mudanças sutis em elementos de alta frequência em uma imagem, mas o que são elementos de alta frequência? Bem, você vê, a imagem renderizada em sua tela compreende vários pixels, e os valores desses pixels mudam com base na imagem que está sendo exibida.
Em algumas áreas da imagem, os valores de pixel mudam gradualmente e essas áreas são consideradas de baixa frequência. Por outro lado, se houver uma mudança rápida nos dados de pixel, a área é categorizada como tendo dados de alta frequência. Os algoritmos de compactação de vídeo usam a transformação discreta de cosseno para reduzir o componente de alta frequência.
Aqui está como funciona. Primeiro, o algoritmo DCT é executado em cada macro-bloco e, em seguida, detecta as áreas onde a mudança na intensidade do pixel é muito rápida. Em seguida, remove esses pontos de dados da imagem, reduzindo o tamanho do vídeo.
Codificação
Agora que todas as informações redundantes do vídeo foram removidas, podemos armazenar os bits de dados restantes. Para fazer isso, o algoritmo de compressão de vídeo usa um esquema de codificação como a codificação Huffman, que vincula todos os bits de dados em um quadro para o número de vezes que eles ocorrem no vídeo e, em seguida, conecta-os em uma forma semelhante a uma árvore. Esses dados codificados são armazenados em um sistema, permitindo renderizar um vídeo facilmente.
Codecs de vídeo diferentes usam técnicas diferentes para compactar vídeos, mas em um nível muito básico, eles usam os cinco métodos fundamentais definidos acima para reduzir o tamanho dos vídeos.
AV1 vs. HEVC vs. VP9: Qual codec é o melhor?
Agora que entendemos como os codecs funcionam, podemos determinar qual é o melhor entre AV1, HEVC e VP9.
Compressibilidade e Qualidade
Se você tem um vídeo 4K que está ocupando muito espaço em seu sistema e não pode carregá-lo em seu plataforma de streaming favorita, você pode estar procurando um codec de vídeo que ofereça a melhor compressão razão. No entanto, você também precisa considerar que a qualidade que ele oferece diminui à medida que você comprime o vídeo. Portanto, ao selecionar um algoritmo de compactação, é essencial observar a qualidade que ele oferece em uma determinada taxa de bits, mas qual é a taxa de bits de um vídeo?
Simplificando, a taxa de bits de um vídeo é definida como o número de bits que o vídeo precisa para reproduzir por segundo. Por exemplo, um vídeo 4K não compactado de 24 bits executado a 60 quadros tem uma taxa de bits de 11,9 Gb/s. Portanto, se você transmitir um vídeo 4K não compactado na Internet, seu Wi-Fi deve fornecer 11,9 gigabits de dados a cada segundo, esgotando sua cota mensal de dados em minutos.
O uso de um algoritmo de compactação, ao contrário, reduz a taxa de bits a uma quantidade muito pequena com base na taxa de bits de sua escolha sem degradar a qualidade.
Quando se trata de números de compressibilidade/qualidade, o AV1 lidera o pacote e oferece 28,1 por cento melhor compactação em comparação com H.265 e economia de 27,3 por cento em comparação com VP9, ao mesmo tempo em que oferece qualidade.
Portanto, se você está procurando a melhor compactação sem degradação da qualidade, AV1 é a taxa de compactação para você. Devido à ótima relação compressão-qualidade do codec AV1, ele é usado pelo Google em seus aplicativo de videoconferência Google Duo e por Netflix durante a transmissão de vídeo em uma conexão de dados de baixa largura de banda.
Compatibilidade
Conforme explicado anteriormente, um algoritmo de compactação de vídeo codifica um vídeo depois de compactado. Agora, para reproduzir este vídeo, seu dispositivo precisa decodificar o mesmo. Portanto, se o seu dispositivo não tiver suporte de hardware/software para descompactar um vídeo, ele não será capaz de executá-lo.
Portanto, é importante entender o aspecto de compatibilidade de um algoritmo de compactação, porque qual é o objetivo de criar e compactar conteúdo que não pode ser executado em muitos dispositivos?
Portanto, se a compatibilidade é algo que você está procurando, o VP9 deve ser o codec para você, pois é compatível com mais de dois bilhões de endpoints e pode ser executado em todos os navegadores, smartphones e smart TELEVISÃO.
O mesmo não pode ser dito sobre o AV1, pois ele usa algoritmos mais novos e complexos para reduzir o tamanho do arquivo de um vídeo e não pode ser reproduzido em dispositivos mais antigos. Em relação ao suporte do navegador, o Safari não pode reproduzir AV1, mas navegadores como Firefox e Chrome podem reproduzir vídeos AV1 sem problemas.
Em termos de suporte de hardware, novos SoCs e GPUs como o Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, As GPUs Google Tensor G2, RTX 4000-Series da Nvidia e Intel Xe e Arc suportam decodificação de hardware acelerada para o codec AV1. Portanto, se você possui dispositivos alimentados por esses chipsets, pode desfrutar de streaming de conteúdo compactado usando os codecs AV1 sem esgotar a energia de suas CPUs/GPUs.
Quando se trata do codec H.265, os navegadores mais populares, como Safari, Firefox e Google Chrome, podem executar vídeos codificados usando o algoritmo de compactação sem problemas. Dito isso, em comparação com AV1 e VP9, o H.265 não é de código aberto e é necessário obter licenças para usar o codec H.265. Por esse motivo, aplicativos como o reprodutor de vídeo Movies & TV da Microsoft, que acompanham o sistema operacional, não podem executar vídeos codificados usando H.265 por padrão. Em vez disso, os usuários devem instalar complementos adicionais da loja do Windows para executar esses vídeos.
Velocidade de Codificação
Os codecs de vídeo reduzem substancialmente o tamanho de um vídeo, mas para reduzir o tamanho de um vídeo, o vídeo não compactado precisa ser processado usando software, o que leva tempo. Portanto, se você deseja reduzir o tamanho de um vídeo, deve observar o tempo necessário para compactar o vídeo usando um algoritmo de compactação.
Em relação à eficiência de codificação, o VP9 lidera o pacote e o tempo de codificação para compactar vídeos é muito menor do que H.265 e AV1. O AV1, por outro lado, é o mais lento em tempo de codificação e pode levar três vezes mais tempo para codificar um vídeo quando comparado ao H.265.
Qual codec você deve escolher?
Quando se trata de codecs de vídeo, encontrar o codec perfeito é muito subjetivo, pois cada codec oferece recursos diferentes.
Se você está procurando a melhor qualidade de vídeo, vá para AV1. Por outro lado, se você estiver procurando o codec de vídeo mais compatível, o VP9 seria o mais adequado para você.
Por fim, o codec H.265 é ideal se você precisar de boa qualidade e compactação sem sobrecarga de codificação.