Estamos em UltraHD Morty! Como assistir a qualquer filme em 4K

Você provavelmente já ouviu falar da tecnologia DeepHD da Yandex, que eles costumavam usar para melhorar a qualidade dos antigos desenhos animados soviéticos. Infelizmente, ainda não é público, e nós, programadores regulares, não temos a dedicação de escrever nossa própria solução. Mas, pessoalmente, eu realmente queria assistir Rick e Morty na minha tela Retina de 2880x1880 . Fiquei profundamente desapontado, pois até o vídeo 1080p (o mais alto disponível para esta série) parece realmente desfocado em uma tela Retina! Não me entenda mal, 1080p geralmente é bom o suficiente, mas o Retina é projetado de tal maneira que uma animação com contornos pronunciados em 1080p parece tremidamente embaçada, como 480p em um monitor FullHD.

Decidi que queria ver Rick e Morty em 4K, mesmo que não consiga escrever redes neurais. E, surpreendentemente, encontrei uma solução. Você nem precisa escrever nenhum código: tudo o que você precisa é de cerca de 100 GB de espaço livre e um pouco de paciência. O resultado é uma imagem 4K nítida que parece melhor do que qualquer interpolação.



Preparações


Primeiro, precisamos entender que não existe uma tecnologia para aumentar o vídeo usando redes neurais. Ou pelo menos não está disponível ao público. E como esse é o caso, precisamos transformar nosso vídeo em vários quadros estáticos!

O Adobe Premiere Pro ou qualquer outro conjunto de edição de vídeo pode fazer isso, mas, como provavelmente não está instalado em muitos PCs, usei o utilitário de console ffmpeg . Levei o primeiro episódio da primeira série e fui embora:

$ ffmpeg -i RiM01x01_4K.mp4 -q:v 1 IM/01x01_%05d.jpg 

Por que jpg e não PNG?
Uma pergunta justa. O problema é que 31.000 PNGs resultantes teriam ocupado muito espaço. Tanto que um pequeno sacrifício de qualidade vale a pena. Além disso, o parâmetro = q: v 1 significa que estamos produzindo JPGs com a maior qualidade possível.

Cerca de 10 minutos depois, temos uma enorme pasta cheia de imagens. Para mim, foram necessários 26 GB .

Agora tudo o que precisamos é processar cada um deles!

Como


Encontrei três opções que funcionavam razoavelmente bem - o famoso Let's Enhance , o waifu2x orientado a anime e o Mail.ru Vision.

Vou mostrar os exemplos mais tarde.

O Mail.ru Vision e o Let's Enhance fazem um bom trabalho, mas infelizmente não são de código aberto, o que significa processar 31.000 imagens. Preciso escrever um e-mail para seus criadores e provavelmente pagar um pouco. O Waifu2x é de código aberto, mas o resultado foi bastante ruim - muitos ruídos e artefatos. Afinal, Rick e Morty não são anime.

Eu quase me resignei a cavar GitHub e fóruns tópicos, mas ... um salvador apareceu! Encontrei uma solução que funcionava na máquina localmente, processa 1 imagem em menos de um segundo e oferece qualidade. Você não vai acreditar em quem veio em nosso socorro mais uma vez!

Adobe Photoshop!

E não, não vou contar uma história sobre como você pode aprimorar uma imagem com alguns filtros. Na verdade, a Adobe treinou uma rede neural adequada que pode "concluir" uma imagem quando você a aprimora no aplicativo!

Para começar, precisamos abrir a imagem de origem, ir para o menu superior e, em seguida, Imagem - Tamanho da imagem e escolher a opção de reamostragem "Preserve Details 2.0".



O resultado foi surpreendentemente bom! Provavelmente apenas à direita, vamos melhorar. Aqui está a comparação (com a imagem ampliada em cerca de 800%):



E agora? Processar manualmente todos os quadros?
Claro que não! O Photoshop possui a ferramenta Actions, que permite gravar primeiro uma sequência de ações e aplicá-la a uma pasta inteira de imagens. O processo é uma pesquisa superficial do Google.

Deixei meu laptop para processar 31.000 quadros durante a noite com uma instrução simples: "aprimore 2x e economize". Na manhã seguinte, tudo estava pronto. Eu tinha outra pasta cheia de imagens, mas agora em 4K e ocupando 82 GB de espaço em disco .

Voltar ao vídeo


Ffmpeg para o resgate novamente.

Primeiro, lembramos que esquecemos a faixa de áudio e a extraímos do arquivo original:

 ffmpeg -i RiM01x01_1080p.mp4 -vn -ar 44100 -ac 2 -ab 320K -f mp3 sound.mp3 

Em seguida, colocamos o arquivo de som na pasta com todas as imagens em 4K. Agora estamos prontos para a montagem final!

 ffmpeg -i 01x01_%05d.jpg -i sn.mp3 -vcodec libx264 -preset veryslow -crf 10 -r 23.976 RiM_01x01_4K.mp4 

Cuidado : depois de -r especifique a taxa de quadros exata do original , ou a faixa de áudio ficará desalinhada com o vídeo!

Está feito!


Agora temos o primeiro episódio de Rick e Morty em 4K. Aqui está o exemplo de vídeo . Obviamente, todo o processo foi um pouco amador, mas essa abordagem tem uma vantagem séria. Ao importar as imagens para o Photoshop, podemos mexer manualmente com elas para fazer o que é certo. Ajuste o foco, o equilíbrio de cores com base em alguns quadros, grave-o em uma Ação, aplique-o ao vídeo inteiro e - pronto! Um resultado perfeito sem muitos truques matemáticos. Isso aproxima o "milagre do upscaling" de um usuário comum. As mais complexas tecnologias em desenvolvimento há séculos não podem ser usadas rapidamente e sem conhecimento especial - o que é, senão o futuro?

Source: https://habr.com/ru/post/pt441918/


All Articles