Наверное, вы слышали про технологию Яндекса DeepHD, с помощью которой они как-то раз улучшили качество советских мультфильмов. Увы, в публичном доступе ее еще нет, а у нас, рядовых программистов, вряд ли найдутся силы написать свое решение. Но лично мне, как обладателю Retina-дисплея (2880х1800), недавно очень захотелось посмотреть «Рика и Морти». Какого же было мое разочарование, когда я увидел, как мыльно на этом экране выглядит 1080р, в котором существуют оригиналы этого мультсериала! (это прекрасное качество и обычно его вполне достаточно, но поверьте, ретина так устроена, что анимация с ее четкими линиями в 1080р выглядит мыльновато, словно 480р на FHD-мониторе)

Я твердо решил, что хочу увидеть этот мультсериал в 4К, хотя и совершенно не умею писать нейросети. Однако решение было найдено! Любопытно, что нам даже не придется писать код, понадобится лишь ~100 ГБ места на диске и немного терпения. А результат — четкое изображение в 4К, которые выглядит достойнее, чем любая интерполяция.

image

Подготовка


Во-первых, надо сразу понять, что в открытом доступе нет технологии по увеличению видео с помощью нейросетей. Вообще. Но зато есть несколько проектов, которые способны увеличивать фотографии. А раз так, давайте перекодируем наше видео в огромную кучу кадров!

Это можно сделать через Adobe Premiere Pro или другую программу для работы с видео, но я уверен, что такая установлена далеко не у всех. Поэтому давайте воспользуемся консольной утилитой ffmpeg. Я взял первую серию первого сезона, и понеслось:

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

Почему JPG, а не PNG?
Справедливый вопрос. Дело в том, что 31 000 PNG, которые бы мы получили бы на выходе, весили умопомрачительно много. Настолько много, что можно незначительно пожертвовать качеством.

К слову, параметр -q:v 1 означает, что мы выводим JPG в максимально возможном качестве.

Подождав примерно 10 минут, мы получим большущую папку с изображениями. У меня она заняла 26 ГБ.

Осталось обработать каждый из этих кадров!

Как будем обрабатывать?


Я нашел три варианта, работающих более-менее нормально — это небезизвестный Let's Enhance, waifu2x (натренирован на аниме) и Mail.ru Vision.

Чуть позже я обязательно покажу примеры.

Mail.ru Vision и Let's Enhance неплохо обрабатывали изображения, но они, к сожалению, не опенсорсные, то есть для обработки 31000 картинок нам придется писать создателям на почту и, вероятно, немало заплатить. Поэтому я пригляделся к оставшемуся waifu2x, но он не порадовал меня качественным результатом, были шумы и нечеткости. Все-таки «Рик и Морти» — это не аниме.

Я уже было отчаялся бесконечно листать Github и тематические форумы, но… Спасение вдруг пришло! Нашелся вариант, который работает на машине локально, обрабатывает картинку меньше, чем за секунду, и показывает отличное качество. И вы не поверите, кто в очередной раз пришел нам на помощь!

Adobe Photoshop!

И нет, я не буду рассказывать true story о том, как там можно парочкой фильтров сделать хорошую картинку. Adobe действительно натренировали самую настоящую нейросеть, которая при масштабировании внутри программы может дорисовать изображение!

Для начала нужно открыть исходное изображение, затем перейти через верхнее меню в Изображение > Размер изображения… и выбрать ресамплинг «Сохранение Деталей 2.0».



Результат приятно удивил! Пожалуй, впереди только Let's Enhance. Вот и обещанное сравнение (исходное изображение приближено примерно в 8 раз):



— И что теперь, вручную обрабатывать каждый кадр через фотошоп?
Конечно, нет! В фотошопе есть инструмент Actions, который позволяет сначала записать последовательность действий, а потом применить ее на целую папку с изображениями. Не буду расписывать весь процесс, он легко гуглится.

Я оставил свой ноутбук обрабатывать тридцать одну тысячу кадров на ночь по шаблону «сделай апскейл в два раза и сохрани». Проснулся утром — все готово! Еще одна папка с кучей кадров, но теперь уже в 4К и с размером в 82 ГБ.

Назад, в видео


Нам снова поможет ffmpeg.

Понимаем, что мы совсем забыли про аудиодорожку, и достаем ее из оригинального файла:

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

А потом скидываем саунд в папку со всеми 4К-кадрами. Все наши труды прошли не зря, мы готовы к финальной склейке!

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

Будьте внимательны: после -r ставьте именно такое количество кадров, какое было в оригинале, иначе звук не будет совпадать с картинкой!

Готово!


Мы получили первую серию «Рика и Морти» в 4К. Вот сэмпл. Конечно, это было немного по-ламерски, что ли… Но на самом деле у такого подхода есть серьезное преимущество. При работе с другими фильмами или мультиками мы можем удобнейшим образом, прямо через Photoshop доводить их кадры до идеала. Подобрали идеальную резкость и балансировку цветов под несколько кадров из фильма, потом записали свои действия в Action, распространили на весь фильм, и получили отличный результат без всяких математических сложностей. Это делает чудо-апскейл чуть ближе к обычному пользователю. Сложнейшие вещи, к которым люди шли веками, воспроизводятся быстро и без специальных знаний — что это, если не будущее?

Комментарии (176)


  1. SergeyMax
    05.02.2019 17:52
    +30

    Mail.ru Vision и Let's Enhance неплохо обрабатывали изображения, но они, к сожалению, не опенсорсные
    То ли дело Фотошоп)


    1. sadfun Автор
      05.02.2019 17:55
      +2

      И правда, нестыковочка. Но я имел в виду, что их нельзя запустить локально и бесплатно обработать большой объем данных)


      1. barkalov
        05.02.2019 19:03
        +37

        бесплатно
        То ли дело Фотошоп)


        1. TheShock
          05.02.2019 19:05
          +27

          Всем очевидно, что у большинства жителей наших стран уже есть купленный Фотошоп)


          1. red_andr
            05.02.2019 19:55
            +10

            Причём последней версии.


            1. Popadanec
              05.02.2019 20:57
              +1

              В смысле: «Купленный»?


              1. alan008
                06.02.2019 02:07
                +1

                Леонард_Хофстедер.jpg


                1. Popadanec
                  06.02.2019 13:43
                  -1

                  Я смайлик :-) забыл поставить, что вы сразу.


            1. psman
              06.02.2019 11:47

              На купленой винде


          1. AotD
            06.02.2019 07:38
            -1

            Ну а почему бы и нет? 644 руб/месяц вполне подъёмны для типичного программиста, особенно если нужен он на тот самый единственный месяц чтобы чуть-чуть «поиграться со скриптами»


            1. genuimous
              06.02.2019 12:47

              Я недавно смотрел, уже сильно больше 1000. 20 баксов. Где купить за 644р?


              1. fsmorygo
                06.02.2019 13:30

                Тут. Тариф «работа с фотографиями» — 644 руб.


                1. Mr_Boshi
                  06.02.2019 14:01

                  Это же без НДС, реальная стоимость — 773 рубля\месяц.


                1. genuimous
                  07.02.2019 17:45

                  А, ну я смотрел отдельный фотошоп. Так и не понял чем «фото» отличается, кроме того что шрифтов нет и еще кой-чего новомодного.


              1. AotD
                06.02.2019 13:39

                www.adobe.com/ru/creativecloud/plans.html
                Ну и да, это подписка за 11,89 € /мес. включая НДС. Возможно я где-то не разобрался в их политиках лицензирования. Ну либо для разных стран/городов/платформ они показывают разные цены =)


            1. irsick
              06.02.2019 16:38

              Пару лет назад Adobe взяли с меня плату за неустойку при отмене подписки досрочно.


              1. genuimous
                07.02.2019 17:49

                Так надо было блокировать карточку. Не 100% что это поможет, в худшем случае может и в дебет загнать, но в интернетах пишут, что помогает.


          1. nidalee
            06.02.2019 10:29

            Если уж говорить о пиратстве, то у того же Adobe есть Premiere, а для него есть Shooter Instant 4K


  1. staticmain
    05.02.2019 17:59
    +3

    Полагаю, что это валидно только для современных мультиков без отрисованных фонов.
    image


    1. ganqqwerty
      06.02.2019 12:48

      а почему тут не сработает?


      1. staticmain
        06.02.2019 12:55

        Потому что современные мультики — это вектор без рисованных красками фонов — посмотрите на скриншоты в статье. Вернуть векторизацию изначально векторному изображению — тривиальная задача (я так для своего лазера беру с платных сайтов ч\б сжатые векторные изображения предпросмотра, удаляю вотермарк, прогоняю через векторизацию Inkscape и получаю исходный вектор без малейших артефактов.

        Старые мультики рисованы двумя техниками — акварелью\маслом\гуашью фон на который накладывается прозрачный целл с персонажами и статичной равномерной заливкой — персонажей можно овекторить и как угодно растянуть. Фоны — нет. Максимум можно получить их целыми в конкретной сцене где вычитая персонажа можно перекрыть на фоне все недостающие места.


  1. amarao
    05.02.2019 18:03
    +1

    С векторной анимацией задача проста: восстановить вектор по картинке и отрендерить вектор в большем разрешении.

    Каждый раз, когда будет сложный рисунок, будет эпик фейл.


  1. NikitosZs
    05.02.2019 18:13
    +11

    Осталось сделать нейросеть, которая нарисует 4 сезон в плохом качестве.


  1. alexyr
    05.02.2019 18:19
    +7

    а самим ffmpeg не пробовали?

    ffmpeg -i input.mp4 -vf scale=3840:-2        -c:v libx264 -preset slow -crf 22        -c:a copy        output.mp4


    1. SADKO
      05.02.2019 19:17
      +5

      Вот и мне думается, нафига фотожоп, если в ffmpeg выбор методов по богаче будет
      … да и фильтры для мультов вроде-бы были вроде ворпшарпа которого тут было-бы за глаза


      1. tyderh
        06.02.2019 13:16

        И их можно не конвертируя в том же mpv на лету применять github.com/mpv-player/mpv/wiki/Upscaling


    1. atomAltera
      06.02.2019 11:58
      +1

      Разница на глаз не отличается отличается от оригинала


  1. alexanster
    05.02.2019 18:22
    +1

    Прям захотелось немедленно проверить на первых 4-х сезонах Футурамы, но необходимость пирать Фотошоп остановила от немедленных действий. А что за версию вы использовали?


    1. sadfun Автор
      05.02.2019 19:02

      Это СС 2018. Кажется, фичу с апскейлингом добавили в 2017-м.


    1. alfemy
      05.02.2019 19:39

      Ну во первых, есть триальная версия фотошопа
      А во вторых, месячная подписка стоит около 700 рублей — это фотошоп, лайтрум и что-то ещё. Вполне нормальная цена


      1. markmariner
        06.02.2019 10:48

        Справедливости ради, это годовой план. Так что ты всё равно будешь платить целый год, если пользовался месяц.

        Если хочется именно на месяц и только фотошоп, то это уже 1932 рубля.


        1. bearoxide
          06.02.2019 11:04

          Выбираете годовой план с помесячной оплатой. Платите с виртуальной карточки. Оставляете на ней нулевой баланс. Адоб попытается списать с нее деньги за второй месяц и, после пары неудач, отменит готовую подписку.


          1. darthmaul
            06.02.2019 12:51

            Если уже нарушаем договор, то не проще ли спиратить?


            1. bearoxide
              06.02.2019 23:44

              А мне просто не нравятся программы (кряки, кейгены и тп), сделанные непонятно кем, которые надо запускать с правами администратора.
              Фотошопом и лайтрумом я пользуюсь пару раз в год, разгребая очередную порцию фотографий после поездки какой-нибудь. Проще Адобу заплатить за эти разы.


        1. alfemy
          06.02.2019 13:34

          Он только называется годовым. На самом деле он помесячный, в любое время можно отказаться, и платишь раз в месяц. И стоит он 644 рублей в месяц. Думаю, что почти все себе могут это позволить)


    1. advan20092
      05.02.2019 20:20
      +1

      7 дней пробный период


      1. cyberly
        06.02.2019 02:40

        Ты смотри, подзакрутили гайки… пару лет назад один месяц было…


      1. alfemy
        06.02.2019 03:51

        Откуда инфориация про 7 дней? Мне три месяца назад дали 30, и в прошлом году дали 30 дней. В этом году я купил


        1. advan20092
          06.02.2019 08:45

          Раньше был 30 дней, теперь 7. Информация из первых рук, только недавно накатывал пробную версию. Есть конечно вероятность что на разных ОС разный период, на винде я не проверял.
          Купили — в смысле оплатили подписку?


          1. alfemy
            07.02.2019 10:08

            Да, на маке мне давали два раза 30 дней. Купил подписку


  1. vicsoftware
    05.02.2019 18:24
    +1

    Ну почему же. Та же waifu2x неплохо снижает количество артефактов и сглаживает ступеньки.
    image


    1. staticmain
      05.02.2019 18:54

      Артефакты уменьшились, но лестницы остались.Плюс половина артефактов осталась как есть — правая (для него левая) лапа кролика и чуть выше нее.


      1. sadfun Автор
        05.02.2019 19:10
        +1

        Инструмент, встроенный в фотошоп, называется не «Восстановление деталей», а «Сохранение деталей». Входные данные должны содержать максимально качественную картинку, а фотошоп в свою очередь старается сохранить качество, увеличив разрешение. Поэтому да, способ наиболее эффективен с современными мультиками. А предварительное удаление артефактов и лесенок — это работа для других нейросетей.


        1. timahvey
          06.02.2019 14:21

          В том же Photoshop есть инструмент/фильтр Filter Camera Raw. В нем переходим на вкладку «Детализация» (два треугольника) и в графе «Уменьшения шума» двигаем (прежде всего) ползунок «Светимость». На нескольких разных картинках данного видеоряда нужно выбрать оптимальное значение и тогда просто добавить этот фильтр в список действий Action.


      1. vicsoftware
        06.02.2019 08:39

        А это уже вторая проблема. Сложность вашего скриншота — в большом количестве артефактов MPEG-сжатия. Тут по сути нужен не только апскейл качественный, но и шумодав соответствующий.


        1. nidalee
          06.02.2019 10:17

          А шумодав в итоге еще больше деталей зарежет. Выхода нет!


          1. SuAlUr
            06.02.2019 12:19

            Шумодав, как и фильтр удаления блочности увеличивают PSNR, качество картинки, проще говоря.


  1. zuborg
    05.02.2019 18:33

    Сработает только для рисованных мультиков. Фотошоп порезал кучу деталей изображения, особенно видно на артефактах кодирования, например нижняя стрелка часов или левая двойка. Да, границы разноцветовых областей стали четче, а однотонные фоны ровнее, но кроме мультиков такое больше нигде не встречается.


    1. TheShock
      05.02.2019 18:55
      +1

      Простите, но я не вижу, какие именно детали он отрезал. Вы о том, что картинка стала не так JPG-стой? А мне казалось, это фича. Без тестов на реальных кадрах нельзя сказать, как оно будет на самом деле.


  1. PVExpert
    05.02.2019 18:45

    Крутота!
    Интересно, а сколько займёт ресэмплинг фильмов? ведь там более сложная картинка в плане количества фигур и цветов…


    1. andrex77
      05.02.2019 21:25

      Присоединяюсь к вопросу. Особенно для фильмов в разрешении 720х576.


    1. nidalee
      06.02.2019 10:18

      Да столько же примерно, сложность фотошоп не слишком интересует, вопрос, хватит ли вам места на диске для такого…


  1. barkalov
    05.02.2019 19:08
    +3

    Кстати, в фотошопе из action можно сделать dropplet — это exe файл, который принимает в качестве параметра путь к изображениям и запускает для них нужный action. Можно использовать в .bat файлах, в контекстном меню проводника (send to) или с помощью drag'n'drop.


    1. vvzvlad
      05.02.2019 21:50

      И обрабатывать по одной картинке, разбирая файл последовательно


      1. QDeathNick
        06.02.2019 10:16

        Ну да, если для одних сцен подходит одно, для других другое или третье, сделать несколько дропллетов, повесить их на кнопки в directory opus и кусками фильм обработать. Так можно, например, раскрашивать старые фильмы.


      1. Nashev
        06.02.2019 12:32

        А папку картинок он разве не проглотит?


        1. vvzvlad
          06.02.2019 12:36

          Проглотит. Просто удобнее, не надо 100гиг.


  1. gltrinix
    05.02.2019 19:19
    +3

    Можно автора попросить прикрепить 10 сек семпл до и после?


    1. Dark_Daiver
      05.02.2019 19:27
      +1

      Поддерживаю, интересно посмотреть, насколько результат темпорально стабилен.


    1. sadfun Автор
      05.02.2019 19:48

      Что-то я не подумал. Спасибо, ловите!

      yadi.sk/d/3TvUrOPQXS_Wrg


      1. Dark_Daiver
        05.02.2019 22:47

        Спасибо, оч. круто получилось, как мне кажется. Единственное но — у меня, почему-то, возник какой-то странный дискомфорт на кадрах где движется фон.


        1. PsyHaSTe
          07.02.2019 14:13

          Подтверждаю! Как-то в глазах зарябило… У меня такое бывало от разогнанных 30->60FPS фильмов иногда. С тех пор не пользуюсь подобным софтом, но прогресс наблюдать интересно.


  1. AngReload
    05.02.2019 20:43
    +5

    Вы не покрутили настройки waifu, думаю что удаление шума и профиль UpRGB могут дать результат лучше фотошоповского.


    Ещё хотелось бы упомянуть Madshi Video Renderer — отрисовщик совместимый с многими видеоплеерами. С ним нет необходимости в конвертировании видео, только установить и раз покопаться в настройках проигрывателя. Если потянет видеокарта, то даже может нейросеткой NGU очень круто ресайзить. Там у него ещё есть удаление артефактов сжатия на нейросетях, удаление бандинга, да и вообще дофига всяких опций.


    извиняюсь за большой скриншот


  1. red_andr
    05.02.2019 20:46

    А может стоит попробовать потренировать waifu2x? И, кстати, как насчёт производительности?


  1. Arxitektor
    05.02.2019 21:09

    Спасибо. Классная идея. Переделал картинку на рабочий стол в 4К. Стало реально лучше.
    Интересно видеокарта уровня 1080 не потянет в реальном времени?
    Нужен ускоритель нейросетей в который можно загрузить обученную сеть.
    Думаю стартап с платой для улучшения мультиков/аниме который выпустит подобную карточку вполне может и взлететь.
    Ведь давно есть SVP (SmoothVideo Project) который делает видео более плавным вставляя кадры. Можно прикрутить нейросеть которая будет еще и качество улучшать. Закинул любимый сериал запустил и через пару дней получил результат.


    1. vitaliy2
      06.02.2019 01:01

      waifu2x не может улучшить аниме за исключением некоторых случаев. Надо доработать именно под аниме или взять другой продукт, где таких проблем нет. Но вот с артом waifu2x справляется превосходно.


    1. VADemon
      06.02.2019 04:23

      Offtopic, а ещё Windows по умолчанию конвертирует фоновую картинку рабочего стола в JPEG: https://www.reddit.com/r/pcgaming/comments/6kry64/protip_windows_automatically_compresses_wallpaper/


      Единственный костыль, который заработал "в лоб" без сторонних программ: ПКМ по .bmp картинке и Set as desktop background в IE (Win7). Десятка вроде даже в PNG научилась, но тоже не всё так просто.


      1. redpax
        06.02.2019 10:51

        Там всё очень сложно и не понятно. Ставлю png на фон, пару дней вижу png, затем начинаю наблюдать артифакты сжатия jpg, смотрю и в правду уже jpg, ставлю опять png, но через пару дней опять появляется jpg на фоновоц картинке. Причину так и не смог выяснить windows 10.


        1. 0xf0a00
          06.02.2019 13:28

          Просто потому что может. genuimous +1 в твою копилочку


          1. genuimous
            06.02.2019 19:44

            спасибо, дополнил.


  1. putinBog
    05.02.2019 21:25
    +1

    Есть такой рендер-движок для видеопроигрывателей: 'MadVR' (win only)

    В нём есть множество методов для увеличения.
    Среди них есть NGU, нейросетевой. Правда его результаты не сильно отличаются от Super-XBR (тоже очень крутой).

    Есть два варианта применения:
    1. Если есть мощная видеокарта, можно апскейлить в проигрывателе в реальном времени
    2. Или разобраться, как можно направить поток от рендера в файл

    p.s. для поиска проектов по true-нейросетевому апскейлу гуглить надо super-resolution neural upscale. Например:


  1. uLow
    05.02.2019 22:14

    А ведь по такому принципу можно и 60 фпс сделать… делаем твиннинг двух картинок, результат улучшаем, собираем всё с правильной скоростью, профит?


    1. katzen
      05.02.2019 22:46

      Вообще-то нужно распознавать движущиеся объекты в кадре и дорисовывать фазы движения в дополнительных кадрах.


    1. Grief
      06.02.2019 01:15

      Для этих целей уже есть SmoothVideo Project


    1. tapochek97
      06.02.2019 06:45

    1. nidalee
      06.02.2019 10:20

      SVP это делает. В платной версии есть конвертер. И вроде бы он бесплатный под Linux. В Adobe AE вроде тоже что-то недавно (?) прикрутили на эту тему…


      1. PsyHaSTe
        07.02.2019 17:09

        Пользовался им. С одной стороны и правда улучшает. С другой стороны артефакты иногда просто дикие. Для примера попробуйте посмотреть заставку «футурамы», особенно момент когда выскакивает название в начале, и буквы формируются. Там лютые косяки алгоритма.


        1. nidalee
          07.02.2019 23:04

          Я и сейчас пользуюсь. А артефакты — ну а что делать?


          1. PsyHaSTe
            08.02.2019 12:04

            Не пользоваться :)

            Хотя каждый решает за себя, конечно.


  1. Zmiy666
    05.02.2019 22:35
    +1

    Хм а для игр можно что-то подобно сделать?) Чтоб картинку на лету улучшало… хотя бы на 60 фпс


    1. springimport
      05.02.2019 23:08

      В fhd уже можно на калькуляторе играть в 60fps. Даже на нулевой встройке от интела в 20fps будет.
      Если так хочется играть то надо просто купить любую карту, а не придумывать костыли.


      1. TRIMER
        06.02.2019 09:39

        Речь о 4К.


        1. zxweed
          06.02.2019 15:13

          1080Ti


          1. DistortNeo
            06.02.2019 15:19

            Уже 2080 вышла вообще-то.


          1. TRIMER
            06.02.2019 15:42

            Да, а лучше наверное даже 2080. Правда на около-профильных геймингу ресурсах говорят, что даже 1080ti не во всех играх в 4к работает без просадок фпс (карты у меня нет и сам проверить не могу).


        1. springimport
          06.02.2019 18:01

          Вы с другого аккаунта пишите или вы догадались какое разрешение у пользователя выше?
          Если 4к то как бы перед покупкой надо понимать что берешь. 4к гейминг сейчас очень дорог.
          У меня, например, 2к + 2080 fe. В самых тяжелых проектах 60-70 кадров есть, но для 4к это были бы неиграбельные 40-50.

          Nvidia недавно как раз представила технологию «на лету улучшало», называется dlss.


          1. TRIMER
            07.02.2019 09:01

            Конечно догадался. Это не сложно, учитывая заголовок статьи.


            1. springimport
              07.02.2019 17:33

              Ха, так и есть. Невнимателен был.


          1. ftdgoodluck
            08.02.2019 15:13
            +1

            неиграбельные 40-50


            *Вспомнил детство с дай бог 20 фпс и заплакал...*

            P.S. Не хотел вас задеть, просто как-то упустил момент, когда 40 фпс стали неиграбельными =)


            1. juray
              08.02.2019 15:37

              Вот да. Еще б сказали, что киношные 24 fps (или телевизионные 25) несмотрибельны.


              1. TheShock
                08.02.2019 17:54
                +1

                Стоить учесть, что в киношных 24 ФПС — отличный, честный Motion Blur, а не то мыло, которое в играх. Плюс там нет необходимости прицеливаться в точку с быстрой реакцией.

                Ну то есть я очень комфортно могу играть в Героев 3 на 12 фпс и совсем некомфотно — в КС или Пубжик.

                И даже при таких условиях при панорамной съемке 24 кадрами (камера неспеша летит и показывает природу) видно строб, особенно в кинотеатре. И этот строб раздражает.


              1. springimport
                08.02.2019 18:03

                Ну вообще-то да, они не смотрибельные. Посидите хотя бы час за 144/165гц монитором, а потом посмотрите (попробуйте посмотреть) час фильма типа боевика. Вы вероятно вообще не сможете понимать что происходит из-за чуть ли не покадровой картинки.
                Хм, мне начало казаться что вы просто иронизируете.


                1. DistortNeo
                  08.02.2019 20:28

                  Во времена CRT-мониторов герцовка была выше (100-160 Гц в зависимости от видеорежима). И ничего, нормально боевики смотрелись.


    1. putinBog
      06.02.2019 00:00

      В эмуляторах потихоньку появляются штуки, основанные на распознавании форм

      Вот сеговский, например

      Во Flashback получается современный хипстерский графон без пикселей, мыла и странных артефактов.


    1. hf35
      06.02.2019 00:01

      Nvidia DLSS, правда подход немного другой — рендерить кадр в меньшем разрешении а потом «растягивать» до 4к, но эффект тот же — больше фпс.

      Звучит конечно хорошо, но не работает пока кажется нигде


      1. CyberAP
        06.02.2019 04:38

        Есть в последней Final Fantasy и 3D Mark.


    1. irsick
      06.02.2019 01:51

      Есть аппаратные постобработчики сигнала вроде Marseille mCable. Эффект варьируется в зависимости от исходной картинки. Особенно заметно на низких разрешениях.


      1. irsick
        06.02.2019 01:58

        Ну и программный ReShade</>.


    1. DistortNeo
      06.02.2019 11:26

      Для игр не получится. Input Lag будет огромным.


      1. psman
        06.02.2019 12:18

        1 кадр?


    1. GadPetrovich
      07.02.2019 02:29

      Еще лучше было бы, если бы фотореалистичность картинки улучшало.


  1. nevzorofff
    05.02.2019 22:48
    +1

    Проблема только не в источнике, а в устройстве, что upscale делает для вывода на ретину.
    У меня 50 дюймовый 4к телек, я там 720р от 1080р отличу, только если в лоб сравнивать, а ели просто включить фильм с достаточным битрейтом — не факт что отличу.


    1. OlegKrikun
      05.02.2019 23:07

      Вот тоже пытался найти отличия в предложенных выше семплах и не смог =(
      15" 3840х2160


      1. ivgrin
        06.02.2019 06:46

        Яндекс Диск воспроизводит оба видео в 1080p. Чтобы увидеть разницу, нужно скачать ролики и проиграть в своём плеере.


        1. OlegKrikun
          06.02.2019 18:41

          О! =) Спасибо. Теперь вижу разницу. Яндексу двойка за плеер )


          1. PsyHaSTe
            07.02.2019 17:10

            Если вы на 15" видите разницу, то на стандартных 24-27 и подавно.


    1. Cepg
      06.02.2019 07:40

      Залогинился только что бы написать — что автор купил дисплей который не предназначен для просмотра видео и\или игры в HD1080 или 4k т.к. его разрешение не кратно 3840, на дисплеях с 3840 будет «гореть» 4 мелких пикселя вместо 1 большого и все будет выглядеть ровно так же как при просмотре на дисплее с разрешением 1080, у автора же «горит» неравное-нечетное число пикселей и вы никогда не доведете картинку до такого же вида как на дисплее с нормальным разрешением. Так что проблема вовсе не в низком качестве Рика и Морти — на нормальном экране ваше рукоблудие выглядит не лучше чем оригинал, а если проводить детальное исследование то окажется хуже…


    1. Raspy
      06.02.2019 12:40

      Потому что у телевизора современного встроенный перекодировщик, который делает апскейл до 4к. Вы сравните 720р и 4к, разница будет, как говорится, на глаз.


  1. dkurt
    06.02.2019 00:07
    +1

    Позвольте предложить ещё такой вариант: сеть single-image-super-resolution-1011 из Intel OpenVINO:


    Исходная картинка (1920x1080): https://habrastorage.org/webt/z-/wn/yy/z-wnyyf2a33hbporlp-cmsz4t5w.jpeg
    Результат (3840x2160): https://habrastorage.org/webt/kx/3t/ng/kx3tngnwfxav7_rjps4tbzn95nc.jpeg


    Запуск сети ровно 1 секунда (980ms — 990ms). Ubuntu пишет, CPU: Intel® Core™ i5-4460 CPU @ 3.20GHz ? 4, 16GB RAM.


    Пример обрабатывает только первый кадр. Если кому понравился результат — можно допилить до записи видео файла с помощью cv::VideoWriter.


    import numpy as np
    import cv2 as cv
    from openvino.inference_engine import IENetwork, IEPlugin
    
    model = 'single-image-super-resolution-1011'
    prefix = '/opt/intel/computer_vision_sdk_2018.5.445/deployment_tools/intel_models/' + model + '/FP32/' + model
    
    # Load a plugin.
    plugin = IEPlugin('CPU')
    
    # Copy single-image-super-resolution-1011.xml and do global replacement of numbers:
    # 1920 -> 3840
    # 1080 -> 2160
    # 960 -> 1920
    # 540 -> 1080
    # 480 -> 960
    # 270 -> 540
    
    w = 960
    h = 540
    print(h*4, w*4)
    
    # Load network.
    net = IENetwork(model + '.xml', prefix + '.bin')
    exec_net = plugin.load(net)
    
    cap = cv.VideoCapture('1080_sample.mp4')
    while cv.waitKey(1) != 27:
        hasFrame, frame = cap.read()
        if not hasFrame:
            break
        cv.imwrite('img.jpg', frame)
    
        frameResized = cv.resize(frame, dsize=(w*4, h*4), interpolation=cv.INTER_CUBIC)
        frame = cv.resize(frame, dsize=(w, h))
    
        blob = frame.reshape(1, h, w, 3).transpose([0, 3, 1, 2]).astype(np.float32)
        blobResized = frameResized.reshape(1, 4*h, 4*w, 3).transpose([0, 3, 1, 2]).astype(np.float32)
    
        outputs = exec_net.infer({'0': blob, '1': blobResized})
    
        out = outputs['129'].reshape(3, 4*h, 4*w).transpose(1, 2, 0)
    
        cv.imwrite('out.jpg', (np.clip(out, 0, 1) * 255).astype(np.uint8))
        break


    1. vitaliy2
      06.02.2019 01:05
      +1

      В «результат» отчётливо видно огромные ореолы.


    1. lifestar
      06.02.2019 09:33

      Сильно перешарпленный оригинал, стало хуже


    1. homm
      06.02.2019 12:11

      При выводе на экран 2560x1600 не видно отличий от изображения такого же размера с шарпом:


      https://ucarecdn.com/e13a4480-a12b-40ca-a13d-984231c18ea2/-/quality/best/-/sharp/15/


  1. KvanTTT
    06.02.2019 01:07
    +1

    Почему JPG, а не PNG?

    Все же сколько в гигабайтах? Не думали использовать JPEG 2000 или WebP?


    Это конечно интересный подход, но в нем не учитывается информация о связи последовательных кадров, т.е. о движении. Это может быть важным.


    1. nidalee
      06.02.2019 10:26

      Видео — последовательность кадров. Между ними нет никакой связи, по крайней мере в консьюмерских кодеках. Optical Flow, о котором вы говорите, при таких манипуляциях не страдает, потому что количество кадров и продолжительность видео не меняется.


      1. KvanTTT
        06.02.2019 12:54

        Даже если и нет в оригинале, то при склейке увеличенных изображений могут появиться артефакты. Ниже расписали мою мысль подробней.


        1. nidalee
          06.02.2019 14:41

          Если эти артефакты создал способ увеличения — да, особенно если это нейронная сеть, потому что нет гарантий в том, что она сохранит пропорции деталей со своими умными алгоритмами. Если вы в кратное количество раз увеличиваете изображение (то есть например 1080p в 2160p) — может только мыло появиться, но никаких артефактов.


      1. juray
        06.02.2019 13:10
        +1

        Вы хотите сказать, что в развитии кодеков был сделан шаг назад? Ведь переход от сжатия отдельных кадров (mjpeg ) к дельтам от предыдущих кадров в своё время был прогрессом и позволял повысить степень упаковки.

        Кажется, вы всё же ошибаетесь. Смотрим описание H.264:

        Многокадровое предсказание… Использование сжатых ранее кадров в качестве опорных… Позволяется использование до 32 ссылок на другие кадры… Компенсация движения с переменным размером блока


        1. nidalee
          06.02.2019 14:38

          Давайте еще раз: видео — последовательность кадров. В консьюмерских кодеках (тех, которые вы можете использовать без жутко дорогого железа в профессиональной среде) это отдельные изображения, объединенные в контейнер. Вы процитировали процесс сжатия экнодером видео: он выбирает i-фреймы (ключевые кадры), а потом рисует между ними другие кадры (b- и p- фреймы). Все они в итоге превращаются в последовательность типа (грубо говоря, для примера) I — P — B — B — B — P — B — B — B — I, каждый кадр — отдельное изображение. С видео как динамичным объектом, непрерывным, движущимся — работает только профессиональное ПО и профессиональные кодеки (или вообще их отсутствие в виде несжатых I-фреймов (где нет никаких B- и P- кадров)).
          Любое видео раскладывается на отдельные кадры и собирается обратно без каких-либо потерь качества (как визуально, так и по всяким шумомерам а-ля *SNR), потому что оно и есть отдельные кадры, как бы их не сжимали и не распространяли.

          Смотрите, в видео 30 фпс будет тридцать отдельных кадров. I, B или P в нашем случае без разницы. Вот типичное распределение кадров в видео x265 с пресетом slower:

          x265 [info]: frame I: 6, Avg QP:15.77 kb/s: 60673.84
          x265 [info]: frame P: 229, Avg QP:18.37 kb/s: 17777.54
          x265 [info]: frame B: 1133, Avg QP:28.17 kb/s: 2385.00
          Все 1133+229+6 — отдельные кадры, любой из них можно взять и увеличить, либо сразу все. Если частота кадров и продолжительность остались прежними, никаких странностей не будет.

          Ведь переход от сжатия отдельных кадров (mjpeg ) к дельтам от предыдущих кадров в своё время был прогрессом и позволял повысить степень упаковки.
          Он и повысил. Благодаря P и B фреймам. Но кадрами они из-за этого быть не перестали. Можете сами проверить — разберите 30fps видео на кадры и соберите обратно тем же ffmpeg с тем же фреймрейтом.


          1. juray
            06.02.2019 15:14

            I — P — B — B — B — P — B — B — B — I, каждый кадр — отдельное изображение
            да ладно?

            P- и B-кадры — как раз разностные, P — со ссылкой на один предыдущий, B — на несколько (предыдущих и/или последующих). Это после разжатия они становятся отдельными изображениями, а в файле (или потоке) представлены как разности от тех на которые ссылаются.

            Поток только с I-кадрами по сути и будет MJPEG (впрочем, правильнее сказать — кодирование в MJPEG использует только I-кадры).

            С тем что будет 30 кадров при 30 fps я не спорю.

            Любое видео раскладывается на отдельные кадры и собирается обратно без каких-либо потерь качества
            да ладно? На ютубе при просмотре летсплеев зачастую на видео куча характерных артефактов сжатия заметна — и еще можно заметить что при движущемся фоне детализация падает по сравнению с моментами неподвижности.


            1. nidalee
              06.02.2019 15:22

              P- и B-кадры — как раз разностные, P — со ссылкой на один предыдущий, B — на несколько (предыдущих и/или последующих). Это после разжатия они становятся отдельными изображениями, а в файле (или потоке) представлены как разности от тех на которые ссылаются.
              Смотрите, если вы скормите свое видео ffmpeg-у и скажете разложить на PNG (то есть в i-фреймы) он сразу же посчитает количество кадров и все их превратит в I-фреймы, не делая разницы между тем, что в видео было i, что было b и что — p, потому что отдельные изображения могут быть только i-фреймами. Вы, возможно, путаете\не различаете процесс сжатия видео и разжатия. Ту же самую кучку PNG наложите поверх своего видео в редакторе видео — не будет никакой разницы. Я этим чуть ли не каждый день занимаюсь. Хотя признаюсь — проще использовать даже тот же uncompressed mov в yuv или rgb и не возиться с кучей картинок, их банально импортировать дольше. Если в видео 30 кадров, то между этими кадрами ничего нет. Опять же, не важно какие они фреймы — разобрать эти 30 кадров на 30 картинок и собрать обратно в секундное видео 30 фпс можно без потерь. Не рассуждая сейчас о способах сжатия картинок в видео — там потери будут, если это не i-frame only кодек.
              да ладно? На ютубе при просмотре летсплеев зачастую на видео куча характерных артефактов сжатия заметна — и еще можно заметить что при движущемся фоне детализация падает по сравнению с моментами неподвижности.
              Это банальное ограничение битрейта. Стоящему неподвижно изображению вполне может хватить 5 мбит\c или сколько там у твича. Чем больше движения в кадре, тем хуже качество — потому что большему количеству изменений в кадре нужно больше битрейта. H264, H265 и VP9 работают с макроблоками — если в каких-то нет движения, то там здорово экономится битрейт. Если движение везде — что-то сэкономить сложно. Но к вопросу конвертации видео-изображения-видео это не имеет отношения.


              1. juray
                06.02.2019 15:47

                Смотрите, если вы скормите свое видео ffmpeg-у и скажете разложить на PNG
                не вопрос, но причём тут ваше исходное утверждение «в консюмерских кодеках нет связи между кадрами»?
                Набор PNG — это как раз несколько нестандартный формат кодирования видео для «консюмерских» кодеков. Никто в здравом уме не использует такое ни для хранения видеофайлов, ни для передачи потока (вот когда станут общедоступны многотерабитные каналы и экза- и петабайтные хранилища, тогда может быть). Даже автор статьи изпользовал jpeg.

                все их превратит в I-фреймы, не делая разницы между тем, что в видео было i, что было b и что — p
                естественно, после разжатия потока получаются полные изображения. Хоть для сохранения в отдельные файлы, хоть для вывода на экран. Это и есть функция декодера (в противовес функции кодера — выбросить из исходного набора изображений избыточную информацию, оставив необходимый минимум).

                Но при этом b и p фреймы декодеру приходится «дорисовывать», основываясь на соседних i-фреймах в контейнере. Если из контейнера взять только голый b- или p-фрейм, никакой ffmpeg не сможет из этого фрейма построить полное изображение.

                если в каких-то нет движения, то там здорово экономится битрейт
                — и за счёт чего же же оно экономится, по-вашему? За счет чего статичному изображению хватает низкого битрейта? Неужели за счет изменения степени сжатия каждого отдельно взятого изображения, независимого от соседних кадров?


                1. nidalee
                  06.02.2019 15:59

                  Даже автор статьи изпользовал jpeg.
                  Очень зря. PNG как бы архивировать не требуется — «использовал» и удалил.
                  Неужели за счет изменения степени сжатия каждого отдельно взятого изображения, независимого от соседних кадров?
                  Мне казалось, что мы все это обсуждаем в контексте изначального комментария:
                  Это конечно интересный подход, но в нем не учитывается информация о связи последовательных кадров, т.е. о движении. Это может быть важным.
                  Никакой таинственной информации о движении и связях последовательных кадров не нужно для того, чтобы их апскейлить — нужно просто разложить видео на отдельные кадры, раз уж апскейлер работает только с изображениями.

                  По всему остальному вы правы — воспроизведение и сжатие файлов нуждается во всех этих кадрах. Если без пары b или p еще можно выжить (просто артефакты полезут), то без i уже все совсем плохо будет.

                  Я говорю о вот таких вещах:
                  то при склейке увеличенных изображений могут появиться артефакты
                  Артефакты от простых склеек не появляются, потому что видео безболезненно раскладывается на отдельные кадры — между ними ничего нет, только ссылки, которые в нашем случае нерелевантны.


                  1. juray
                    06.02.2019 16:28

                    Я возражаю именно вашей сентенции про кодеки, которая довольно существенно вылезает за пределы контекста этого «изначального комментария».

                    Связь может быть важной для задачи апскейла, а может не быть — тут я судить не берусь (хотя склонен с вами согласиться — если мы после обычной распаковки не видим разницы между ключевыми и разностными кадрами — то и после их апскейла скорее всего не заметим).

                    Но вы-то утверждали «связи нет вообще», причём применительно к кодекам, а не набору полученных изображений.


                    1. nidalee
                      06.02.2019 16:52

                      Согласен, здесь некорректно высказался:

                      Между ними нет никакой связи

                      Нет никакой связи для целей апскейла.


                1. BigElectricCat
                  06.02.2019 19:00

                  Никто в здравом уме не использует такое ни для хранения видеофайлов, ни для передачи потока

                  Ну вот DNG используют.


                  1. juray
                    06.02.2019 20:29

                    Жесть.

                    нууу… тут можно придраться, что это не хранение и передача «готового продукта», а исходники. Вот, к примеру, фотографы raw хотя и хранят (и то не все), но в последующем повседневном обращении в Сети raw не встретишь.

                    Интересно, и какую длительность можно записать на одну карту (512G)? Так, говорят, в lossless по 7-8 Мб на кадр — при 60 fps где-то на полчаса получается. В принципе, не так мало.

                    Но где хранить такое, когда общий футаж фильмов перевалит хотя бы за полдесятка часов? В нынешних реалиях все равно получается — обработал, сжал, исходник выбросил. То есть «см. п. 1».


                    1. DistortNeo
                      06.02.2019 20:37

                      Писать по 400-500 мбайт/сек на карту памяти?
                      Не получится даже не столько из-за способностей карты памяти, сколько из-за пропускной способности интерфейса.


                      1. juray
                        06.02.2019 22:20

                        UHS-III до 624 МБ/с.
                        Но для raw видео эта камера использует карты CFast 2.0 (440 MB/s на запись).


                    1. BigElectricCat
                      06.02.2019 23:25

                      Он там дальше на 1ТБ SSD пишет: RAW без сжатия — 35 минут.

                      Но где хранить такое, когда общий футаж фильмов перевалит хотя бы за полдесятка часов?

                      Ну, нужна какая-то хранилка на 10++ полок с 10—12 ТБ винтами ;)


                    1. nidalee
                      07.02.2019 08:45

                      нууу… тут можно придраться, что это не хранение и передача «готового продукта», а исходники.
                      Так в том-то и смысл, что любое сжатие ухудшает качество. Поэтому нужно количество этих сжатий минимизировать и на всех этапах (где это возможно) использовать не сжатый материал.


  1. serafims
    06.02.2019 01:30

    Интересно, почему не взлетели векторные мультики?


    1. DCNick3
      06.02.2019 06:11

      Флэш был популярен достаточно долгое время, когда интернет-каналы были очень слабые. И мультики на нём тоже делали.


      1. Elmot
        06.02.2019 09:51

        ранняя Масяня же


      1. nlykl
        06.02.2019 13:58

        Собственно, изначально для мультиков он и предназначался. ActionScript появился только в пятой версии, в 2000 году.


    1. DiKey
      06.02.2019 14:40

      Вот, да. Я наоборот, ждал появления 3D фильмов, которые рендерятся по принципу игр. А они даже «Масяню» убили, как формат. (


      1. juray
        06.02.2019 15:27

        ждал появления 3D фильмов, которые рендерятся по принципу игр
        В некотором смысле игры и являются таким фильмом.

        Собственно, единственный плюс рендеринга на стороне пользователя — возможность выбора пользователем точки зрения. Игры это и дают. Ну еще они дают нелинейность (вариабельность последовательности нарратива), но это отдельная фича, перпендикулярная выбору ракурса, и не требующая рендеринга у пользователя. Были и «интерактивные фильмы» — именно фильмы (и даже по ТВ, не говоря уже о DVD), и игры, рассказывающие историю строго последовательно — где камеру вертеть можно, а изменить последовательность сюжетных сцен нельзя (большинство шутеров таковы). Хотя в играх, заточенных на пассивное восприятие истории зрителем, чаще всё же эти две фичи совмещены — см, например, What Remains of Edith Finch, Vanishing of Ethan Carter.


        1. Taciturn
          07.02.2019 11:18

          Не единственный — рендеринг на стороне пользователя можно выполнять в нужном разрешении и без артефактов сжатия. Та же Масяня во флеше выглядит куда лучше, чем видео в YouTube. И с увеличением разрешения монитора разница всё заметнее.


          1. juray
            07.02.2019 14:34

            Для чисто векторных данных — да, экономия значительна.
            Для реалистичного же изображения все равно придется тянуть растровые текстуры, причём некоторую часть еще до начала рендеринга, что задержит начало воспроизведения.


  1. 0o0
    06.02.2019 02:17
    +1

    Берем сжатое видео.
    Выгружаем ведро жипегов.
    Апскейлим.
    Пережимаем обратно в видео.
    Наслаждаемся нормальным качеством.


    1. Utopia
      06.02.2019 04:36

      Берем фотошоп, создаем холст с размерами исходного объекта, прямо в него закидываем перетаскиванием видео, добавляем если нужно эффекты, апскейлим, смотрим прямо в Фотошопе если лень выгонять avi. Если комп мощный даже не тормозит. Я так когда то экранки убитого качества смотрел, с наложением фильтра Shadows|Highlites
      habrastorage.org/webt/nf/wz/-h/nfwz-hslcnhsozwxmtqpm5rkpo8.jpeg


      1. 0o0
        06.02.2019 08:31

        Ничего себе. Надо попробовать в фотошоп засунуть видео. Такое мне в голову не приходило. Мсье — шаман.


        1. nidalee
          06.02.2019 10:27

          GIF-ы, обычно, так и делают. Загоняют видео в фотошоп и оттуда экспортируют: там много настроек.


  1. Avaja
    06.02.2019 08:11

    Это бы всё автоматизировать, а еще исключить всю работу с жёстким диском, думаю скорость должна подняться в разы.


  1. sshmakov
    06.02.2019 08:58

    www.infognition.com/super_resolution_avisynth
    Бесплатно, потоком, без промежуточных jpeg и Фотошопа.

    Это то, что нашлось за минуту гугления.


    1. denisshabr
      06.02.2019 15:28

      Именно этот движок и хочу посоветовать, в виде Video Enhancer (при желании можно найти Video Enhancer 1.9.10.1, иначе Trial рисует водяной знак, в том числе и в Avisynth). Работает довольно быстро, использую его чтобы заливать 1080p видео на Youtube, в 4к там просто тупо больше битрейт.


  1. epsonic
    06.02.2019 09:40

    А разве эффект Detail-preserving Upscale в After Effects не то же самое делает? И не нужно генерировать десятки тысяч изображений — MP4 или любой формат, который принимает AE можно напрямую импортировать в AE.


    1. sadfun Автор
      06.02.2019 10:07

      Он делает не совсем то же самое. В AE содержится первая версия «Сохранения Деталей», которая основана только на математике, а в фотошопе уже версия 2.0. С тестовым кадром ваш метод сделает следующее:
      image


      1. epsonic
        06.02.2019 10:19

        Да… Видимо, он все же больше «для общих задач», т.к. с обычным видео справляется достаточно хорошо, но контрастные мультфильмы с четкими линиями — несколько иной случай.


  1. SAnatoly
    06.02.2019 11:30

    Подозреваю, что количество 4к апскейлов в ближайшую неделю увеличится вдвое


    1. 5erg
      06.02.2019 13:17

      погодите, осталось дождаться объявления астрологов


      1. SomebodyElse
        06.02.2019 13:58

        Объявление


        1. KvanTTT
          06.02.2019 14:57

          Количество 4К апскейлов увеличится в 4К :D


    1. OnelaW
      06.02.2019 15:47

      Парку а бы и не па? Куча мульт-сериалов которые не против посмотреть в 4к, а и если даже не в 4к, то в фулхд тоже неплохо.


  1. DistortNeo
    06.02.2019 11:34

    Основная проблема видео — реальные кадры не являются независимыми, а ресамплер обрабатывает их как независимые изображения. Проблема может возникнуть, когда последовательные кадры обрабатываются несогласованно. Дело в том, что информация для восстановления изображений не берётся из ниоткуда. Она представлена в виде закономерностей в самом алгоритме. И вполне возможно, что на последовательных кадрах нейросеть может дорисовать изображения по-разному, что визуально может привести к дрожанию и мерцанию деталей.


  1. FadeToBlack
    06.02.2019 12:09

    Ну к чему приплетать сюда нейросети? Объясните мне! Ведь можно написать обычные не нейросетевые фильтры, которые мультяшную графику такого стиля неплохо заапскейлят. Чтобы написать громкое название для статьи?


    1. sadfun Автор
      06.02.2019 12:29

      Про какие конкретно «обычные фильтры» вы говорите?


      1. spc
        06.02.2019 12:30

        Тссс, не спугните :)


        1. FadeToBlack
          06.02.2019 15:11

          Я имею ввиду фильтры, которые написаны руками. Я вот сходу могу предложить построить SDF по разным областям, разделенным edgedetection фильтром, поскейлить SDF bicubic и получить векторное изображение обратно. Гладкое, четкое, с антиалиазингом и прочими фишками. Я про то, что все скейлят мультики, которые и так можно неплохо поскейлить. А фильмы, например, старинные — слабо (я видел статьи и фотки, но почему-то мультики важнее)? А делать стереопары? А тут решение такой задачи с помощью нейросетей, котороая и без нейросетей нормально решается.


    1. spc
      06.02.2019 12:30
      +2

      Вы упускаете одну вещь. Автор текста ничего не писал. Он искал подходящий инструмент. И, внезапно, им оказался инструмент на основе нейросети.

      А так как текст сам по себе имеет ценность (в отличие от 100499 текстов с кликбейтными заголовками), то я бы сказал, что здесь громкое название почти оправдано (я вообще надеялся на какой-нибудь онлайновый сервис, но ладно).


  1. ganqqwerty
    06.02.2019 12:50

    можно еще 60fps сделать кстати


    1. eatfears
      06.02.2019 13:12

      Согласен. 30 в секунду невозможно смотреть (хотя некоторые считают с точностью наоборот).
      Из доступных, butterflow показал себя весьма хорошо. Думаю, что на векторной графике он должен сработать отлично. Умеет работать на GPU через OpenCL.
      Правда теперь вам понадобится в 2 раза больше места на жестком диске и ещё в несколько раз больше терпения.
      Хотя вроде современные телевизоры и сами неплохо справляются с этой задачей.


    1. DistortNeo
      06.02.2019 14:05

      Можно, но нужно учесть, что в мультфильмах вообще рисуют в 12 fps (особенно в аниме), а потом сохраняют в видеофайл с 25/30 fps.


  1. ua30
    06.02.2019 13:18
    +1

    Конечно, это было немного по-ламерски, что ли…

    Зато понятно и доступно.


  1. Destructive
    06.02.2019 13:23
    +1

    Попробовал раскукожить арт, оригинал которого тщетно пытался найти ещё лет 10 назад

    Арт
    image


    1. sadfun Автор
      06.02.2019 13:38
      +1

      Интересный опыт! Но это закономерно, потому что инструмент фотошопа только старается сохранить существующие детали при масштабировании, а не добавить новых. Загонять в него изначально мыльную картинку — не вариант.

      А вот Let's Enhance и правда иногда старается добавить «от себя», и даже классифицировать поверхности (например, к фотографии бородача сервис применит отдельный алгоритм прорисовки волос). Там даже при загрузке есть такая опция, как «Добавление текстур».


  1. stepik777
    06.02.2019 13:38

    Интресно, только непонятно зачем лишние действия с аудиодорожкой — зачем её извлекать, зачем перекодировать в mp3 (что приведёт к потере качества)? Чтобы её не перекодировать, можно указывать -acodec copy. А чтобы не извлекать, можно на последнем этапе указать исходный видеофайл, чтобы ffmpeg взял аудиодорожку прямо из него. Только в этом случае надо правльно указать параметр -map, чтобы он не стал использовать видеоряд из этого файла.


  1. Highlander
    06.02.2019 14:08

    Господа, а какой наиболее качественный метод порекомендуете для upscale JPG с фотокамер, с целью печати в большом размере?
    Даже если это займет сутки для одного кадра, главное качество :)


  1. happydmitry
    06.02.2019 15:35

    Ждем 8K upscale


  1. Anzipex
    06.02.2019 16:54

    А как быть с сильно пережатыми исходниками? Например видео сжатое Xvid кодеком? По идее после апскейла артефакты сжатия станут более резкими и заметными


    1. sadfun Автор
      06.02.2019 16:55

      Думаю, можно попробовать подобрать такие алгоритмы для фотошопа, которые смогуть удалить эти артефакты, а уже после этого производить апскейл. В любом случае, в фотошоп лучше загонять как можно более качественную картинку, чтобы получить налучший результат.


  1. tynega
    06.02.2019 21:51

    Может тогда поясните заодно один момент!
    Почему на официальных релиза 4к картинка тёмная?
    К примеру — скриншот 4k издания «Короля Льва»
    image


    1. Popadanec
      06.02.2019 22:53

      Как всегда хабр ломает всё кроме текста(сколько лет этому багу уже), если акк не подтверждённый.
      Пере выложите, и лучше под спойлер.


    1. pia3333
      07.02.2019 07:47

      Скриншот сломан, но скорей всего дело в HDR.


      1. tynega
        07.02.2019 10:43

        Вот и у меня такое же чувство что дела в нём.


        1. Popadanec
          07.02.2019 12:59

          Пока у вас не пройдут модерацию первые десять комментариев у Разных авторов, так и будет резать html код. Этому багу уже черт знает сколько лет. И никак не поправят.
          Под этой публикацией уже можно нормально выкладывать, т.к. модерации тут уже не будет.


  1. noanswer
    08.02.2019 01:03

    А почему собственно сразу видеоролик не увеличить фотошопом, не разбирая его на кадры? PS CC умеет работать с видео как «с картинкой».

    я не работаю с видео и не знаю весь зоопарк программ и возможностей в них заложенных, может быть есть какие-то программы/плагины для умного увеличения видео… для умного увеличения фото в свое время было много плагинов…

    прошу прошения, если это кто-то уже предложил раньше.