Ads
Comments 185
+89
Mail.ru Vision и Let's Enhance неплохо обрабатывали изображения, но они, к сожалению, не опенсорсные
То ли дело Фотошоп)
+10
И правда, нестыковочка. Но я имел в виду, что их нельзя запустить локально и бесплатно обработать большой объем данных)
+81
Всем очевидно, что у большинства жителей наших стран уже есть купленный Фотошоп)
0
Ну а почему бы и нет? 644 руб/месяц вполне подъёмны для типичного программиста, особенно если нужен он на тот самый единственный месяц чтобы чуть-чуть «поиграться со скриптами»
+1
Я недавно смотрел, уже сильно больше 1000. 20 баксов. Где купить за 644р?
0
А, ну я смотрел отдельный фотошоп. Так и не понял чем «фото» отличается, кроме того что шрифтов нет и еще кой-чего новомодного.
0
www.adobe.com/ru/creativecloud/plans.html
Ну и да, это подписка за 11,89 € /мес. включая НДС. Возможно я где-то не разобрался в их политиках лицензирования. Ну либо для разных стран/городов/платформ они показывают разные цены =)
+2

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

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

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

Обычно о таком молчат.

0
Сжал до ширины 500 px (потому что очевидно в данном случае уже был выполнен апскейлинг, нам это не нужно)
Ресайз до 25 дюймов в высоту с 100%-м подавлением шума.
Ресайз до оригинального размера.
Результат - небольшой
image


Даже с исходным разрешением картинка выглядит немного чётче. Однако можно и больше действий вложить.
Filter-denoise
filter-sharpen edges
Дальше как автор статьи писал — ресемплинг с сохранением деталей 2.0 (в этот раз без возврата на исходное)
Результат после ресемплинга
image


Результат с возвратом на исходный размер
image


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

Плюс, слишком уж много ненужных действий в принципе. Есть мнение что в ffmpeg, если подобрать подходящий набор параметров, можно быстрее получить идентичную картинку.
+7
С векторной анимацией задача проста: восстановить вектор по картинке и отрендерить вектор в большем разрешении.

Каждый раз, когда будет сложный рисунок, будет эпик фейл.
+33
Осталось сделать нейросеть, которая нарисует 4 сезон в плохом качестве.
+19
а самим ffmpeg не пробовали?
ffmpeg -i input.mp4 -vf scale=3840:-2 \
       -c:v libx264 -preset slow -crf 22 \
       -c:a copy \
       output.mp4

+2
Прям захотелось немедленно проверить на первых 4-х сезонах Футурамы, но необходимость пирать Фотошоп остановила от немедленных действий. А что за версию вы использовали?
+1
Это СС 2018. Кажется, фичу с апскейлингом добавили в 2017-м.
+1
Ну во первых, есть триальная версия фотошопа
А во вторых, месячная подписка стоит около 700 рублей — это фотошоп, лайтрум и что-то ещё. Вполне нормальная цена
+4
Справедливости ради, это годовой план. Так что ты всё равно будешь платить целый год, если пользовался месяц.

Если хочется именно на месяц и только фотошоп, то это уже 1932 рубля.
+2
Выбираете годовой план с помесячной оплатой. Платите с виртуальной карточки. Оставляете на ней нулевой баланс. Адоб попытается списать с нее деньги за второй месяц и, после пары неудач, отменит готовую подписку.
0
А мне просто не нравятся программы (кряки, кейгены и тп), сделанные непонятно кем, которые надо запускать с правами администратора.
Фотошопом и лайтрумом я пользуюсь пару раз в год, разгребая очередную порцию фотографий после поездки какой-нибудь. Проще Адобу заплатить за эти разы.
0
Он только называется годовым. На самом деле он помесячный, в любое время можно отказаться, и платишь раз в месяц. И стоит он 644 рублей в месяц. Думаю, что почти все себе могут это позволить)
+1
Ты смотри, подзакрутили гайки… пару лет назад один месяц было…
0
Откуда инфориация про 7 дней? Мне три месяца назад дали 30, и в прошлом году дали 30 дней. В этом году я купил
0
Раньше был 30 дней, теперь 7. Информация из первых рук, только недавно накатывал пробную версию. Есть конечно вероятность что на разных ОС разный период, на винде я не проверял.
Купили — в смысле оплатили подписку?
+2
Ну почему же. Та же waifu2x неплохо снижает количество артефактов и сглаживает ступеньки.
image
0
Артефакты уменьшились, но лестницы остались.Плюс половина артефактов осталась как есть — правая (для него левая) лапа кролика и чуть выше нее.
+1
Инструмент, встроенный в фотошоп, называется не «Восстановление деталей», а «Сохранение деталей». Входные данные должны содержать максимально качественную картинку, а фотошоп в свою очередь старается сохранить качество, увеличив разрешение. Поэтому да, способ наиболее эффективен с современными мультиками. А предварительное удаление артефактов и лесенок — это работа для других нейросетей.
0
В том же Photoshop есть инструмент/фильтр Filter Camera Raw. В нем переходим на вкладку «Детализация» (два треугольника) и в графе «Уменьшения шума» двигаем (прежде всего) ползунок «Светимость». На нескольких разных картинках данного видеоряда нужно выбрать оптимальное значение и тогда просто добавить этот фильтр в список действий Action.
0
А это уже вторая проблема. Сложность вашего скриншота — в большом количестве артефактов MPEG-сжатия. Тут по сути нужен не только апскейл качественный, но и шумодав соответствующий.
0
А шумодав в итоге еще больше деталей зарежет. Выхода нет!
0
Шумодав, как и фильтр удаления блочности увеличивают PSNR, качество картинки, проще говоря.
0
Сработает только для рисованных мультиков. Фотошоп порезал кучу деталей изображения, особенно видно на артефактах кодирования, например нижняя стрелка часов или левая двойка. Да, границы разноцветовых областей стали четче, а однотонные фоны ровнее, но кроме мультиков такое больше нигде не встречается.
+1
Простите, но я не вижу, какие именно детали он отрезал. Вы о том, что картинка стала не так JPG-стой? А мне казалось, это фича. Без тестов на реальных кадрах нельзя сказать, как оно будет на самом деле.
0
Крутота!
Интересно, а сколько займёт ресэмплинг фильмов? ведь там более сложная картинка в плане количества фигур и цветов…
0
Присоединяюсь к вопросу. Особенно для фильмов в разрешении 720х576.
0
Да столько же примерно, сложность фотошоп не слишком интересует, вопрос, хватит ли вам места на диске для такого…
+6
Кстати, в фотошопе из action можно сделать dropplet — это exe файл, который принимает в качестве параметра путь к изображениям и запускает для них нужный action. Можно использовать в .bat файлах, в контекстном меню проводника (send to) или с помощью drag'n'drop.
0
И обрабатывать по одной картинке, разбирая файл последовательно
0
Ну да, если для одних сцен подходит одно, для других другое или третье, сделать несколько дропллетов, повесить их на кнопки в directory opus и кусками фильм обработать. Так можно, например, раскрашивать старые фильмы.
+5
Можно автора попросить прикрепить 10 сек семпл до и после?
+2
Поддерживаю, интересно посмотреть, насколько результат темпорально стабилен.
0
Спасибо, оч. круто получилось, как мне кажется. Единственное но — у меня, почему-то, возник какой-то странный дискомфорт на кадрах где движется фон.
0
Подтверждаю! Как-то в глазах зарябило… У меня такое бывало от разогнанных 30->60FPS фильмов иногда. С тех пор не пользуюсь подобным софтом, но прогресс наблюдать интересно.
+15

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


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


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

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

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

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

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

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

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

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

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

0
Вообще-то нужно распознавать движущиеся объекты в кадре и дорисовывать фазы движения в дополнительных кадрах.
+1
SVP это делает. В платной версии есть конвертер. И вроде бы он бесплатный под Linux. В Adobe AE вроде тоже что-то недавно (?) прикрутили на эту тему…
0
Пользовался им. С одной стороны и правда улучшает. С другой стороны артефакты иногда просто дикие. Для примера попробуйте посмотреть заставку «футурамы», особенно момент когда выскакивает название в начале, и буквы формируются. Там лютые косяки алгоритма.
+1
Хм а для игр можно что-то подобно сделать?) Чтоб картинку на лету улучшало… хотя бы на 60 фпс
0
В fhd уже можно на калькуляторе играть в 60fps. Даже на нулевой встройке от интела в 20fps будет.
Если так хочется играть то надо просто купить любую карту, а не придумывать костыли.
0
Да, а лучше наверное даже 2080. Правда на около-профильных геймингу ресурсах говорят, что даже 1080ti не во всех играх в 4к работает без просадок фпс (карты у меня нет и сам проверить не могу).
0
Вы с другого аккаунта пишите или вы догадались какое разрешение у пользователя выше?
Если 4к то как бы перед покупкой надо понимать что берешь. 4к гейминг сейчас очень дорог.
У меня, например, 2к + 2080 fe. В самых тяжелых проектах 60-70 кадров есть, но для 4к это были бы неиграбельные 40-50.

Nvidia недавно как раз представила технологию «на лету улучшало», называется dlss.
0
Конечно догадался. Это не сложно, учитывая заголовок статьи.
+2
неиграбельные 40-50


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

P.S. Не хотел вас задеть, просто как-то упустил момент, когда 40 фпс стали неиграбельными =)
0
Вот да. Еще б сказали, что киношные 24 fps (или телевизионные 25) несмотрибельны.
+1
Стоить учесть, что в киношных 24 ФПС — отличный, честный Motion Blur, а не то мыло, которое в играх. Плюс там нет необходимости прицеливаться в точку с быстрой реакцией.

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

И даже при таких условиях при панорамной съемке 24 кадрами (камера неспеша летит и показывает природу) видно строб, особенно в кинотеатре. И этот строб раздражает.
0
Ну вообще-то да, они не смотрибельные. Посидите хотя бы час за 144/165гц монитором, а потом посмотрите (попробуйте посмотреть) час фильма типа боевика. Вы вероятно вообще не сможете понимать что происходит из-за чуть ли не покадровой картинки.
Хм, мне начало казаться что вы просто иронизируете.
0
Во времена CRT-мониторов герцовка была выше (100-160 Гц в зависимости от видеорежима). И ничего, нормально боевики смотрелись.
0
В эмуляторах потихоньку появляются штуки, основанные на распознавании форм

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

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

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

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

+1
Проблема только не в источнике, а в устройстве, что upscale делает для вывода на ретину.
У меня 50 дюймовый 4к телек, я там 720р от 1080р отличу, только если в лоб сравнивать, а ели просто включить фильм с достаточным битрейтом — не факт что отличу.
+2
Яндекс Диск воспроизводит оба видео в 1080p. Чтобы увидеть разницу, нужно скачать ролики и проиграть в своём плеере.
0
Если вы на 15" видите разницу, то на стандартных 24-27 и подавно.
-3
Залогинился только что бы написать — что автор купил дисплей который не предназначен для просмотра видео и\или игры в HD1080 или 4k т.к. его разрешение не кратно 3840, на дисплеях с 3840 будет «гореть» 4 мелких пикселя вместо 1 большого и все будет выглядеть ровно так же как при просмотре на дисплее с разрешением 1080, у автора же «горит» неравное-нечетное число пикселей и вы никогда не доведете картинку до такого же вида как на дисплее с нормальным разрешением. Так что проблема вовсе не в низком качестве Рика и Морти — на нормальном экране ваше рукоблудие выглядит не лучше чем оригинал, а если проводить детальное исследование то окажется хуже…
0
Потому что у телевизора современного встроенный перекодировщик, который делает апскейл до 4к. Вы сравните 720р и 4к, разница будет, как говорится, на глаз.
+4

Позвольте предложить ещё такой вариант: сеть 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
+3
Почему JPG, а не PNG?

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


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

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

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

0
Если эти артефакты создал способ увеличения — да, особенно если это нейронная сеть, потому что нет гарантий в том, что она сохранит пропорции деталей со своими умными алгоритмами. Если вы в кратное количество раз увеличиваете изображение (то есть например 1080p в 2160p) — может только мыло появиться (информации-то новой в кадре не появилось), но никаких артефактов.
+1
Вы хотите сказать, что в развитии кодеков был сделан шаг назад? Ведь переход от сжатия отдельных кадров (mjpeg ) к дельтам от предыдущих кадров в своё время был прогрессом и позволял повысить степень упаковки.

Кажется, вы всё же ошибаетесь. Смотрим описание H.264:
Многокадровое предсказание… Использование сжатых ранее кадров в качестве опорных… Позволяется использование до 32 ссылок на другие кадры… Компенсация движения с переменным размером блока

0
Давайте еще раз: видео — последовательность кадров. В консьюмерских кодеках (тех, которые вы можете использовать без жутко дорогого железа в профессиональной среде) это отдельные изображения, объединенные в контейнер. Вы процитировали процесс сжатия экнодером видео: он выбирает 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 с тем же фреймрейтом.
Одна оговорка — смотря как вы его обратно в видео сжимать будете. Потому что кучка PNG это по-определению I-frame sequence.
+1
I — P — B — B — B — P — B — B — B — I, каждый кадр — отдельное изображение
да ладно?

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

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

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

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

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

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

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

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

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

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

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

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

0
Согласен, здесь некорректно высказался:
Между ними нет никакой связи

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

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

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

Но где хранить такое, когда общий футаж фильмов перевалит хотя бы за полдесятка часов? В нынешних реалиях все равно получается — обработал, сжал, исходник выбросил. То есть «см. п. 1».
0
Писать по 400-500 мбайт/сек на карту памяти?
Не получится даже не столько из-за способностей карты памяти, сколько из-за пропускной способности интерфейса.
0
UHS-III до 624 МБ/с.
Но для raw видео эта камера использует карты CFast 2.0 (440 MB/s на запись).
0
Он там дальше на 1ТБ SSD пишет: RAW без сжатия — 35 минут.
Но где хранить такое, когда общий футаж фильмов перевалит хотя бы за полдесятка часов?

Ну, нужна какая-то хранилка на 10++ полок с 10—12 ТБ винтами ;)
0
нууу… тут можно придраться, что это не хранение и передача «готового продукта», а исходники.
Так в том-то и смысл, что любое сжатие ухудшает качество. Поэтому нужно количество этих сжатий минимизировать и на всех этапах (где это возможно) использовать не сжатый материал.
+3
Флэш был популярен достаточно долгое время, когда интернет-каналы были очень слабые. И мультики на нём тоже делали.
0
Собственно, изначально для мультиков он и предназначался. ActionScript появился только в пятой версии, в 2000 году.
0
Вот, да. Я наоборот, ждал появления 3D фильмов, которые рендерятся по принципу игр. А они даже «Масяню» убили, как формат. (
+2
ждал появления 3D фильмов, которые рендерятся по принципу игр
В некотором смысле игры и являются таким фильмом.

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

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

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

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

0
GIF-ы, обычно, так и делают. Загоняют видео в фотошоп и оттуда экспортируют: там много настроек.
0
Это бы всё автоматизировать, а еще исключить всю работу с жёстким диском, думаю скорость должна подняться в разы.
0
Именно этот движок и хочу посоветовать, в виде Video Enhancer (при желании можно найти Video Enhancer 1.9.10.1, иначе Trial рисует водяной знак, в том числе и в Avisynth). Работает довольно быстро, использую его чтобы заливать 1080p видео на Youtube, в 4к там просто тупо больше битрейт.
0
А разве эффект Detail-preserving Upscale в After Effects не то же самое делает? И не нужно генерировать десятки тысяч изображений — MP4 или любой формат, который принимает AE можно напрямую импортировать в AE.
0
Он делает не совсем то же самое. В AE содержится первая версия «Сохранения Деталей», которая основана только на математике, а в фотошопе уже версия 2.0. С тестовым кадром ваш метод сделает следующее:
image
0
Да… Видимо, он все же больше «для общих задач», т.к. с обычным видео справляется достаточно хорошо, но контрастные мультфильмы с четкими линиями — несколько иной случай.
0
Подозреваю, что количество 4к апскейлов в ближайшую неделю увеличится вдвое
0
погодите, осталось дождаться объявления астрологов
0
Парку а бы и не па? Куча мульт-сериалов которые не против посмотреть в 4к, а и если даже не в 4к, то в фулхд тоже неплохо.
+5
Основная проблема видео — реальные кадры не являются независимыми, а ресамплер обрабатывает их как независимые изображения. Проблема может возникнуть, когда последовательные кадры обрабатываются несогласованно. Дело в том, что информация для восстановления изображений не берётся из ниоткуда. Она представлена в виде закономерностей в самом алгоритме. И вполне возможно, что на последовательных кадрах нейросеть может дорисовать изображения по-разному, что визуально может привести к дрожанию и мерцанию деталей.
-1
Ну к чему приплетать сюда нейросети? Объясните мне! Ведь можно написать обычные не нейросетевые фильтры, которые мультяшную графику такого стиля неплохо заапскейлят. Чтобы написать громкое название для статьи?
+1
Я имею ввиду фильтры, которые написаны руками. Я вот сходу могу предложить построить SDF по разным областям, разделенным edgedetection фильтром, поскейлить SDF bicubic и получить векторное изображение обратно. Гладкое, четкое, с антиалиазингом и прочими фишками. Я про то, что все скейлят мультики, которые и так можно неплохо поскейлить. А фильмы, например, старинные — слабо (я видел статьи и фотки, но почему-то мультики важнее)? А делать стереопары? А тут решение такой задачи с помощью нейросетей, котороая и без нейросетей нормально решается.
+3
Вы упускаете одну вещь. Автор текста ничего не писал. Он искал подходящий инструмент. И, внезапно, им оказался инструмент на основе нейросети.

А так как текст сам по себе имеет ценность (в отличие от 100499 текстов с кликбейтными заголовками), то я бы сказал, что здесь громкое название почти оправдано (я вообще надеялся на какой-нибудь онлайновый сервис, но ладно).
0
Согласен. 30 в секунду невозможно смотреть (хотя некоторые считают с точностью наоборот).
Из доступных, butterflow показал себя весьма хорошо. Думаю, что на векторной графике он должен сработать отлично. Умеет работать на GPU через OpenCL.
Правда теперь вам понадобится в 2 раза больше места на жестком диске и ещё в несколько раз больше терпения.
Хотя вроде современные телевизоры и сами неплохо справляются с этой задачей.
+1
Можно, но нужно учесть, что в мультфильмах вообще рисуют в 12 fps (особенно в аниме), а потом сохраняют в видеофайл с 25/30 fps.
+2
Конечно, это было немного по-ламерски, что ли…

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

Разница между Ps и LetEnhance огромна. Если после Ps картинка осталась мыльной, то LetEnhance, похоже, дорисовывает текстуру. (хорошо видно через новую вкладку)
Ps
image

LetEnhance
image

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

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

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

0

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

UFO landed and left these words here
0
Думаю, можно попробовать подобрать такие алгоритмы для фотошопа, которые смогуть удалить эти артефакты, а уже после этого производить апскейл. В любом случае, в фотошоп лучше загонять как можно более качественную картинку, чтобы получить налучший результат.
0
Может тогда поясните заодно один момент!
Почему на официальных релиза 4к картинка тёмная?
К примеру — скриншот 4k издания «Короля Льва»
image
0
Как всегда хабр ломает всё кроме текста(сколько лет этому багу уже), если акк не подтверждённый.
Пере выложите, и лучше под спойлер.
0
Пока у вас не пройдут модерацию первые десять комментариев у Разных авторов, так и будет резать html код. Этому багу уже черт знает сколько лет. И никак не поправят.
Под этой публикацией уже можно нормально выкладывать, т.к. модерации тут уже не будет.
0
А почему собственно сразу видеоролик не увеличить фотошопом, не разбирая его на кадры? PS CC умеет работать с видео как «с картинкой».

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

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

0
Круто, это же можно кучу всего перегнать в хорошее качество! Можно ходить по каналам с старыми мультфильмами/фильмами и др., и предлагать перегнать им видео в более качественное, за копейку…
0
Повышение разрешения ещё не означает повышение качества.
Грязь с плёнки, неравномерность экспозиции, дрожание кадров кто будет убирать?
0
ИИ? Потом ему правда надоест и он решит стереть кожаных ублюдков с лица Земли, которые ни зарплаты, ни выходных не дают.
0
В принципе считаю, что автор справился «малой кровью».
Но есть же на Хабре замечательная статья-исследование в тему:
habr.com/ru/post/446032
Которую я нашёл в поисках подробностей о Topaz Gigapixel AI, который как раз и есть способ с нейросеткой, правда тоже для картинок.
Зато у него есть полноценный Trial на 30 дней. И судя по тестам, справляется с апскейлом анимации он лучше Photoshop Waifu2x и пр.
Only those users with full accounts are able to leave comments.  , please.