Estamos en UltraHD Morty! Cómo ver cualquier película en 4K

Probablemente hayas oído hablar de la tecnología DeepHD de Yandex que alguna vez utilizaron para mejorar la calidad de los viejos dibujos animados soviéticos. Desafortunadamente, aún no es público, y nosotros, los programadores regulares, no tenemos la dedicación para escribir nuestra propia solución. Pero personalmente realmente quería ver a Rick y Morty en mi pantalla Retina de 2880x1880 . Y me decepcionó profundamente, ya que incluso el video de 1080p (el más alto disponible para esta serie) se ve muy borroso en una pantalla Retina. No me malinterpreten, 1080p a menudo es lo suficientemente bueno, pero Retina está diseñada de tal manera que una animación con sus contornos pronunciados en 1080p se ve muy borrosa, como 480p en un monitor FullHD.

Decidí que quería ver a Rick y Morty en 4K, a pesar de que no puedo escribir redes neuronales. Y, sorprendentemente, encontré una solución. Ni siquiera necesita escribir ningún código: todo lo que necesita es alrededor de 100 GB de espacio libre y un poco de paciencia. El resultado es una imagen 4K nítida que se ve mejor que cualquier interpolación.



Preparaciones


Primero, debemos entender que no existe una tecnología para mejorar el video usando redes neuronales. O al menos no está disponible públicamente. Y como ese es el caso, ¡necesitamos transformar nuestro video en un montón de cuadros fijos!

Adobe Premiere Pro o cualquier otro paquete de edición de video puede hacerlo, pero, dado que probablemente no esté instalado en muchas PC, utilicé la utilidad de consola ffmpeg . Tomé el primer episodio de la primera serie y me fui:

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

¿Por qué jpg y no PNG?
Una pregunta justa. La cuestión es que 31,000 PNG resultantes habrían ocupado muchísimo espacio. Tanto que vale la pena un ligero sacrificio en calidad. Además, el parámetro = q: v 1 significa que estamos generando JPG con la mayor calidad posible.

Alrededor de 10 minutos después, obtenemos una enorme carpeta llena de imágenes. Para mí tomó todo de 26 GB .

¡Ahora todo lo que necesitamos es procesar cada uno de esos!

Como?


Encontré tres opciones que funcionaron razonablemente bien: bastante famoso Let's Enhance , waifu2x orientado al anime y Mail.ru Vision.

Mostraré los ejemplos más tarde.

Mail.ru Vision y Let's Enhance hacen un buen trabajo, pero desafortunadamente no son de código abierto, lo que significa que procesan 31,000 imágenes que necesitaría escribir un correo electrónico a sus creadores y probablemente pagar un poco. Waifu2x es de código abierto, pero el resultado fue bastante pobre: ​​muchos ruidos y artefactos. Después de todo, Rick y Morty no es anime.

Casi me resigné a cavar GitHub y foros de actualidad, pero ... ¡apareció un salvador! Encontré una solución que funcionaba en la máquina localmente, procesa 1 imagen en menos de un segundo y ofrece calidad. ¡No creerás quién vino a rescatarnos una vez más!

Adobe Photoshop!

Y no, no contaré una historia sobre cómo podría mejorar una imagen con un par de filtros. ¡Adobe realmente entrenó una red neuronal adecuada que puede "completar" una imagen cuando la escala dentro de la aplicación!

Para comenzar, debemos abrir la imagen de origen, ir al menú superior, luego Imagen - Tamaño de imagen, y elegir la opción de remuestreo "Conservar detalles 2.0".



¡El resultado fue sorprendentemente bueno! Probablemente solo detrás de Let's Enhance. Aquí está la comparación (con la imagen ampliada alrededor del 800%):



¿Y ahora que? ¿Procesar manualmente cada cuadro?
Por supuesto que no! Photoshop tiene la herramienta Acciones que permite grabar primero una secuencia de acciones y luego aplicarla a una carpeta completa de imágenes. El proceso es una búsqueda superficial de Google.

Dejé mi computadora portátil para procesar 31,000 fotogramas durante la noche con una simple instrucción: "2x de lujo y guardar". A la mañana siguiente, todo estaba listo. Tenía otra carpeta llena de imágenes, pero ahora en 4K y ocupaba 82 GB de espacio en disco .

Volver al video


Ffmpeg al rescate otra vez.

Primero, recordamos que olvidamos la pista de audio y la extraemos del archivo original:

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

Luego colocamos el archivo de sonido en la carpeta con todas las imágenes 4K. ¡Ahora estamos listos para el montaje final!

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

Tenga cuidado : después de -r especificar la velocidad de fotogramas exacta del original , ¡de lo contrario, la pista de audio se desalinearía con el video!

Esta hecho!


Ahora tenemos el primer episodio de Rick and Morty en 4K. Aquí está el video de muestra . Por supuesto, todo el proceso fue un poco aficionado, pero este enfoque tiene una gran ventaja. Mientras importamos las imágenes a Photoshop, podemos jugar manualmente con ellas para hacerlo bien. Ajuste el enfoque, el balance de color basado en un par de cuadros, escríbalo en una acción, aplique a todo el video y ¡listo! Un resultado perfecto sin demasiados trucos matemáticos. Esto acerca un poco la "mejora milagrosa" a un usuario promedio. Las tecnologías más complejas que han estado en desarrollo durante siglos no se pueden usar rápidamente y sin un conocimiento especial: ¿qué es, si no el futuro?

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


All Articles