AV1@Scale: o despertar da síntese de grão de filme
(netflixtechblog.com)- A Netflix começou a aplicar em larga escala a tecnologia AV1 Film Grain Synthesis (síntese de grão de filme) para membros no mundo todo
- Esse recurso preserva de forma mais realista o ruído e a textura cinematográfica, ao mesmo tempo em que aumenta a eficiência da compressão de vídeo
- O AV1 FGS usa duas técnicas centrais (restauração de padrão e ajuste de intensidade) para reproduzir com precisão as características originais do grão
- Com isso, é possível obter redução de bitrate ao mesmo tempo em que se melhora a qualidade de imagem e a experiência do espectador
- A Netflix usa essa tecnologia para manter a integridade artística e aumentar a eficiência de dados em mais conteúdos
AV1@Scale: o despertar da síntese de grão de filme
Adoção da síntese de grão de filme na Netflix e melhoria da qualidade de vídeo para milhões de pessoas
- A Netflix está concretizando uma inovação que preserva a sensibilidade artística e o realismo do grão de filme enquanto maximiza a eficiência de dados, por meio da adoção em larga escala de streams com AV1 Film Grain Synthesis (FGS)
- O grão de filme é um elemento visual importante que adiciona profundidade à narrativa e reforça a atmosfera e o realismo de filmes clássicos
- No entanto, os algoritmos de compressão tradicionais tinham dificuldade para processar e comprimir com eficiência grãos altamente aleatórios
# Entendendo a síntese de grão de filme no AV1
-
A ferramenta de síntese de grão de filme (FGS) do AV1 usa dois modelos principais
- Padrão de grão de filme: modela o padrão do grão com um modelo autorregressivo (AR), e os coeficientes AR são estimados a partir da diferença (ruído) entre o vídeo de origem e o vídeo com redução de ruído
- Com esses coeficientes, é gerado um template de ruído 64x64 e, durante a reprodução, patches aleatórios de 32x32 são extraídos e combinados com o vídeo reconstruído
- Esse método reproduz fielmente as características de ruído e a correlação espacial do vídeo original
- Intensidade do grão de filme: ajusta com precisão a intensidade do grão conforme a condição de brilho por meio de uma função de escalonamento
- Na codificação, a relação entre valor de pixel e intensidade do ruído é modelada com uma função linear por segmentos, ajustando a intensidade do grão de acordo com o brilho e a cor do vídeo
- Dessa forma, a textura do vídeo original é restaurada com mais precisão
- Padrão de grão de filme: modela o padrão do grão com um modelo autorregressivo (AR), e os coeficientes AR são estimados a partir da diferença (ruído) entre o vídeo de origem e o vídeo com redução de ruído
-
O padrão AV1 não impõe um método específico para as técnicas de denoise, então o usuário pode escolher o denoiser que preferir
-
Após o denoise, o vídeo (sem grão) é comprimido e transmitido junto com os parâmetros de padrão e intensidade do grão
-
No player do usuário, o grão é reconstruído com uma abordagem baseada em blocos, otimizada para dispositivos de consumo
# Eficiência de compressão, qualidade de imagem e benefícios para o espectador
- Com a ativação do AV1 FGS na Netflix, tornou-se possível oferecer streaming de vídeo de alta qualidade que mantém a atmosfera artística dos filmes, junto com redução de bitrate
- Em exemplos reais, em comparação com métodos anteriores, há melhoria de qualidade e redução no uso de dados ao mesmo tempo
- O FGS atende especialmente conteúdos com muito processamento por filtros ou grão adicionado, conciliando eficiência de dados e preservação da textura original
# Resumo
- O AV1 Film Grain Synthesis (síntese de grão de filme) é uma tecnologia que viabiliza integridade artística, reforço da experiência de visualização e melhoria da eficiência de streaming
- Com a adoção em larga escala dessa tecnologia, a Netflix entrega mais obras com um equilíbrio entre qualidade e economia de dados
- Assim, de filmes clássicos a produções modernas, torna-se possível unir textura emocional e eficiência técnica
1 comentários
Comentários do Hacker News
Acho que a discussão ignora o fato de que ruído sintetizado não consegue reproduzir completamente as informações finas e os detalhes presentes no ruído original. Quando há ruído real em uma codificação de alta qualidade, ao passar de um quadro estático para o vídeo em movimento, a experiência é de um salto repentino de resolução. Em 24 fps, o ruído parece se mover sobre o sinal, mas o próprio sinal continua nítido. Já na compressão com perdas ou quando se sintetiza ruído quadro a quadro, os detalhes que existiam originalmente não podem ser recuperados. Em vídeo real a 24 fps, isso dá uma sensação de imagem mais borrada, e em especial em filmagens antigas em película a diferença de detalhe fica mais de 2x maior. Se o h.265 ou o AV1 sempre codificassem removendo apenas o ruído em conformidade com o movimento, considerando vários quadros, não haveria perda de detalhes, mas não sei se na prática é assim que funciona. A comparação entre remoção de ruído e síntese não deve ser julgada por imagens estáticas; é preciso comparar vídeos reais lado a lado. Quero enfatizar que o ruído também é, por si só, detalhe.
Acho que o grão (o padrão de ruído) existe independentemente em cada quadro e não se move junto com os objetos da cena, então, desde que o ruído sintetizado não tenha um padrão temporal evidente, comparar quadros estáticos já basta. Do ponto de vista estético, o grão sintetizado do AV1 não reflete bem o tamanho do grão da fonte, então aqueles cristais maiores de filmes antigos não aparecem direito, e ele também não modela separadamente os canais de cor, embora isso talvez não importe tanto porque a fonte da Netflix já tem chroma subsampling. O artigo relacionado está aqui. Só li esse material por alto, então posso estar entendendo algo errado
Para explicar o aspecto temporal, ajuda pensar em projetores antigos de filme. Entre cada quadro há um momento escuro, mas o olho quase não percebe essa cintilação e a faz uma média (flicker fusion threshold). Ruído e grão são percebidos de forma parecida, então chamam menos atenção do que um sinal estável. Em astrofotografia também se combinam várias imagens para obter melhor SNR, e o cérebro humano processa um pouco assim. Com o tempo, o ruído converge para uma média e o sinal aparece com mais clareza. Algoritmos de denoise que tratam apenas um único quadro não têm esse contexto, então os detalhes se perdem ou são compensados por adivinhação. O AV1 não define um algoritmo específico de denoise, então imagino que um algoritmo inteligente consiga preservar bem o contexto temporal
O ruído em si não contém sinal; ele é um ruído aleatório somado ao sinal, não informação. Se você fizer média de várias imagens estáticas, o sinal permanece e o ruído se cancela, aumentando a SNR, então não vejo muito sentido em manter ruído de propósito. Se há algum efeito perceptível, talvez seja satisfação estética com o grão original da película, ou então uma diferença causada por comparar vídeo de baixo bitrate (mais comprimido) com vídeo de alto bitrate (mais fiel ao original)
Acho essa parte realmente fascinante. Em alguns casos, machine learning também consegue analisar melhor do que humanos vídeos gravados à noite, e até o ruído do sensor pode virar uma feature. Vale reforçar que ruído nem sempre é só ruído
Blu-rays 4K recentes usam a tecnologia DRR, e às vezes no processo de denoise até os poros do rosto desaparecem, fazendo a expressão do ator parecer de cera
Deixando de lado o significado filosófico de adicionar ruído, neste exemplo o processo de denoise parece aplicar blur demais, deixando a imagem menos nítida que a original, e o próprio grão sintetizado parece mais ruído comum do que grão de filme de verdade
Também acho isso correto. Até chegar a bitrates mais altos, a compressão acaba gastando bits demais no grão original, então o vídeo fica mais borrado ou mais lodoso. A síntese de grão de filme (FGS) faz bastante sentido para streaming com limitação de banda, mas concordo que, nos vídeos de exemplo, o grão sintetizado não parece grão real. Dependendo do grau e do método de denoise, os detalhes da cena realmente podem ficar mais suaves
Na pós-produção de filmes sempre se usaram vários truques. Eu gostaria que houvesse uma opção para o espectador escolher se quer ou não certos efeitos desejados, como simulação de filme. Em filmes como The Holdovers, que tentam recriar uma época específica, achei a simulação de filme realmente ótima. Imagino que a Netflix no futuro também possa passar a aplicar post effects no cliente, por exemplo oferecendo modo para daltonismo ou permitindo desligar grão artificial
O FGS do AV1 permite ajustar o nível, e para os meus olhos ele parece configurado um pouco alto demais (embora, em certos cenários de bitrate, isso ainda seja muito mais aceitável do que outros artefatos). Como observação, cenas estáticas têm limite para avaliar qualidade de vídeo, e até um filtro teórico perfeito de remoção de ruído (que preserve 100% dos detalhes não ligados ao ruído) pode parecer menos detalhado que o original. Há um fenômeno em que cérebro e olhos acabam “criando” mais detalhe quando veem uma imagem com ruído
Um filme que explora esse tema é Blowup, do Antonioni. Wikipedia de Blowup
Como alguém que já observou filme cinematográfico de perto, sinto que o grão de filme neste vídeo de exemplo está bem distante do real. No fim, é só um efeito parecido com dithering
O ponto mais importante desta discussão é a parte do "at scale". Já existia síntese de grão de filme em encoders AV1, mas, para não dar problema, era preciso ajustar manualmente as configurações toda vez, então ela só era usada na prática em conteúdo limitado. Não há explicação detalhada aqui de como esse método superou essas dificuldades, mas fico feliz em ver que isso finalmente ficou viável em operação em larga escala
Sobre a visão negativa do grão de filme: toda imagem tem algum nível de ruído ou grão. Isso existe nos melhores sensores digitais e até nos nossos olhos. Não serve apenas a um propósito estético; também ajuda a aumentar a percepção de nitidez e a esconder banding e artefatos de compressão. Claro que nem todo grão é bom, e muitas vezes ele vem de limitações técnicas ou de escolhas criativas ruins. Ainda assim, acho que o resultado de passar denoise em tudo e deixar a imagem lisa acaba sendo muito mais irreal e incômodo
O grão de sensores digitais avançados hoje em dia é mínimo perto da quantidade que se adiciona em muitos filmes
Minha preocupação é que aplicar ou não grão deveria ser uma decisão artística do criador, não uma escolha arbitrária do pessoal de compressão de dados
A animação de abertura da HBO usa o ruído de sinais analógicos antigos, e mesmo em 4K a qualidade fica péssima. Como ruído aleatório é quase impossível de comprimir, métodos como este daqui (remover o ruído e depois restaurá-lo) acabam sendo realmente necessários
Não concordo com a afirmação de que “grãos dão realismo e adicionam profundidade à história”. Para mim não existe grão nenhum no mundo real, então não entendo essa lógica de “realidade = grão”. Mesmo assim, acho o grão legal como ferramenta estética e achei esta tecnologia interessante
Além do efeito de mascaramento do grão mencionado no artigo (esconder artefatos) e da familiaridade/nostalgia, há mais uma explicação. Todas as superfícies do mundo real têm microtexturas, mas, ao serem registradas em vídeo, parte desse detalhe se perde por causa da câmera, da resolução, dos limites da compressão etc. O grão de filme reintroduz esse estímulo visual de alta frequência. Os olhos e o cérebro gostam desse estímulo em si, sem se importar muito com a posição ou o padrão exato do ruído. Por exemplo, os parâmetros
psy-rdepsy-rdoqdo encoder x265 permitem ajustar a imagem para que ela “pareça energeticamente viva” (um pouco mais áspera), melhorando a qualidade percebida sem necessariamente usar mais dadosEm noites escuras, nossos olhos também veem uma espécie de “cintilação” ou “estática”, e tecnicamente o olho humano também tem um pouco de ruído. A sensação de realismo é definida pelos rastros da tecnologia de cada época. Assim como as pinceladas de Vincent van Gogh fazem parte da pintura, o grão de filme também é uma das realidades do meio, então, se possível, queremos preservar esse traço ao máximo
As pessoas gostam de racionalizar logicamente suas preferências estéticas. Quanto maior a experiência e o entendimento sobre mídia, mais sensíveis elas ficam a pequenas mudanças, e isso se reflete no gosto. Uma criança reagirá ao conteúdo de uma comédia muda antiga, não às características do filme em si. Já especialistas tendem a ser muito mais sensíveis a essas diferenças sutis. A própria ideia de que o grão de filme parece real também é produto das experiências sociais e da autoconsciência de cada época. Talvez daqui a 40 anos o grão cinematográfico seja percebido como algo surreal ou simplesmente como “ruído” mesmo
Acho que o grão faz o vídeo parecer mais detalhado do que realmente é, além de esconder artefatos de compressão e borramento. Não sei bem o fator psicológico, mas claramente parece haver alta frequência adicional ou um efeito de dithering. O olho humano também tem grão por fenômenos quânticos reais, mas o cérebro filtra isso fortemente, então não percebemos
No começo da ascensão das câmeras digitais, muita gente achava que vídeo digital parecia irreal, e havia uma percepção forte de que filmes em película eram mais bonitos. Imagino que isso também sirva de base para cinéfilos que associam filme = bom. No fim, acho que é uma ferramenta estética útil quando se quer reduzir a nitidez
O codec de áudio AMR-WB usado em chamadas de celular oficialmente suporta de 50 Hz a 7.000 Hz, mas no perfil mais comum, de 12.65 Kbps, na prática ele armazena só até 6.400 Hz, e a faixa acima disso é preenchida com síntese de baixas frequências + ruído. Isso soa muito mais natural do que simplesmente cortar essa região sem adicionar ruído
Como fotógrafo de câmera mirrorless, estou sempre tentando criar uma sensação especial na pós-produção. Por exemplo, fecho a abertura ao máximo e uso denoise, sharpening e color grading de forma agressiva. Se minhas fotos parecerem tiradas de um livro antigo, eu vejo isso como algo positivo. Já experimentei vários filtros de film look, mas ainda não encontrei um que realmente reproduza aquele estilo de grão de filme feito de cristais irregulares (aqueles “pixels” irregulares presentes no filme antes mesmo da captura). A maioria vira um grão quadrado com cara de pixel, o que não convence
Não concordo com a ideia de que “grão de filme acrescenta autenticidade e nostalgia”. Do meu ponto de vista, ele só encobre detalhes como ruído visual. A nostalgia vem dos atores ou das experiências que eu tive naquela época, não necessariamente do grão. E a tese de que ele “aumenta o realismo” também me parece irreal. O lado positivo é que o AV1 permite sintetizar e remover esse lixo visual de forma fácil e flexível, sem desperdiçar bits com isso
Documentários podem ter como objetivo “reproduzir a realidade”, mas cinema prioriza a visão do diretor. O grão, como a música, pode ser visto como um elemento artístico para construir emoção e atmosfera
Fisicamente, há shot noise na iluminação e na própria captação, então uma realidade “completamente sem ruído” de fato não existe. Veja Shot noise na Wikipedia
Acho que a explicação das vantagens do grão de filme não foi muito boa, mas na prática o grão realmente aumenta a sensação de nitidez e detalhe da imagem (mesmo que seja em parte uma ilusão), e o diretor de fotografia Steve Yedlin já descreveu isso como “dar algo para o olho do público agarrar”
Acho que a distinção entre “ruído” e “detalhe” em cinema envolve bastante interpretação subjetiva. Hoje também existem outros tipos de ruído visual causados pelas tecnologias modernas de compressão de vídeo
O ponto central que muita gente ignora é que comprimir depois de remover o ruído aumenta muito a eficiência de compressão. No mesmo bitrate, se você simplesmente comprimir sem tirar o ruído, os detalhes e as bordas sofrem bem mais. Isso é um conceito usado há muito tempo até em media players de desktop
Acho que o grão de filme já deveria ter sido aposentado. A era das fotos sépia e dos filmes mudos a 16 fps já acabou, e está na hora de largar o grão também. O Eastman Business Park foi demolido. Também queria parar de ver vídeos no YouTube com efeito de poeira e arranhões
Talvez grão de filme falso seja uma coisa, mas eliminar completamente o grão de filme de verdade seria como querer eliminar até as pinceladas de uma pintura a óleo
Fico curioso para saber por que exatamente o grão de filme precisaria desaparecer de vez