


На таких масштабах габаритов в среднем на занятое место PNG можно записать те же изображения в качестве 43% JPG, а на VRP – в качестве 44% JPG.
Теперь на графике (линии тренда полиноминальны, 2-й степени, штриховые линии — экстраполяция моего скудного мозга):

VRP меньше BMP(почти несжатое) от 1Б до 350 Б и от ~7КБ, то есть сжатие работает.
VRP при размере несжатого изображения:
от 1 Б до 250 Б: оптимален
от 250 Б до 1 КБ: приемлем
от 1 КБ до 7 КБ: не оптимален
от 7 КБ до 400 КБ: возможно приемлем
от 400 КБ: возможно оптимален






При автоматической трассировке из растра результат получается с потерями. В VRP хотя бы нет потерь вплоть до масштаба в 100%.
И как видно на графике, при этом, иконки, пиктограммы и несложные логотипы в SVG (и почти в любых других векторных форматах) ещё и заведомо в несколько раз будут больше VRP.
Также, так как VRP – формат без потерь при масштабах до 100%, из того же файла есть возможность получать абсолютно такие же результаты как у PNGА при наличии дополнительного времени даже смешивать разные результаты! Также, при выборе результатов от VRP на это уйдёт меньше времени, чем у растровых форматов
Более быстрое декодирование
Я считаю, что за счёт аппаратного ускорения и в случае лёгкого сжатия, так как данные хранятся в векторном виде, а не о каждом пикселе отдельно и не требуется интерполяция (PNG), примитивов меньше и они кодированы не на человеческом языке, а специально для декодера (SVG) будет более быстрая отрисовка изображения (уже после того, как файл был скачан). Это очень важно при больших фото и слабых устройствах, а также для будущих планов развития формата.
Несколько шаблонов кодирования при едином шаблоне декодирования в зависимости от того, что сильнее нужно из перечисленного или что-то среднее.
Сжатие любых векторных изображений с потерями, но можно указать любой процент потерь




Линия VRP указывает где находятся другие векторные форматы (по размеру и сколько нужно потерять, чтобы быть в плюсе относительно формата):

Не ждите, изображение справа не прогрузится лучше)
Стилизация изображенийдля придания уникальности изображению и создания видеоэффектов. Для стилизации есть несколько революционных возможностей:
a) Выбор как сильно стилизовать (от 1 до 100)
b) Сколько цветов использовать (все, 2млн, …, 512, 64, 8) — от этого сильно разнится результат и не только цветами
c) Выбор формы элемента (круг, треугольник, квадрат, сердечко, кошка…)
d) Размер полигонов (от 0.5 до 1)
e) Размер дополнений к полигонам и нужны ли они (от 0 до 1)
*Для стилизации изображение должно быть в формате VRP

Вот несколько результатов с разными настройками:
Над изображением настройки (a,b,c,d,e). Везде без интерполяции

Автоматический алгоритм не сможет идентифицировать картинку и будет считать её оригинальной, даже если не сильно стилизовать:
5 параметров (a,b,c,d,e) с совершенно разными значениями плюс несколько вариантов интерполяции (как на входе, так и на выходе) дают бесконечное количество вариантов и даже разные стилизации будут считаться оригинальной картинкой без претензий в нарушении авторских прав.
Также это можно использовать как видеоэффект, основанный на статичном кадре или наборе кадров из видео, когда какие-то параметры плавно меняются и каждый результат записывается как кадр.
Прогрессивность
Обычно на сайтах картинка грузится сверху вниз или иногда качество вырастает по мере загрузки
В формате VRP так невозможно, но в 27% случаях либо в 100% случаях при выборе шаблона «Быстрейшая прорисовка» во время сохранения, при прогрузке будет улучшаться не качество, а цветность, т.е. картинку сразу видно и можно понять что на ней, плюсом последние стадии прогрузки глазу будут практически незаметны.
Иллюстрации в оригинальной презентации.
Имитация рисования изображения (рекомендуется смотреть через F5 в PowerPoint)
Иллюстрация в оригинальной презентации.
Формат можно будет легко дополнить.
Развитие формата и добавление новых возможностей с полной обратной совместимостью
Программы, не поддерживающие новую версию формата всё равно смогут открывать файлы, за исключением новых возможностей. Программы, поддерживающие новую версию формата будут открывать и все старые версии формата, а также если в конкретном случае не будут использованы новые функции — файл сразу станет старейшей версии и будет меньше весить.
Имеющиеся недостатки
В основном все недостатки можно устранить, но на это нужно время и средства.
Пока что медленное конвертирование и сжатие, из-за неоптимизированности алгоритма, использования устаревшего языка программирования и неадаптированности под x64, из-за чего обработка картинок из более 1000 пикселей пока занимает неприемлемое время. Это точно можно устранить, но на это нужно много человеко-часов.
Сжатие вектора, прогрессивность, имитация рисования точно можно сделать, но пока не полностью реализовано
Более быстрое декодирование пока не доказано
Планы развития
- Устранить недостатки
- Реализовать всё до конца
- Улучшить отображение и сжатие насколько это возможно
- Добавить поддержку прозрачности
- Разработать на основе этого формата, формат и алгоритмы для анимации и видео со всеми теми же возможностями
Монетизация
Монетизировать как формат, так и сервисы, предоставляющие услуги на основе алгоритма можно совершенно различными способами. Из самых очевидных:
- Приём спонсирования на создание и поддержание открытого формата и бесплатным предоставлением для программ на его основе
- Продажа лицензий на использование формата в видео/фотоаппаратах/принтерах
- Продажа программ, реализующих интерфейс для работы с форматом и всеми возможностями алгоритма
- Создание платной библиотеки для использования формата и сервисов на его основе
- Продать готовый рабочий продукт крупной компании
Вот собственно и всё. Жду ваших комментариев — нужен ли такой формат? Почему да? Почему нет? Где я может ошибся? Кто готов инвестировать? Кто готов купить работающий прототип?
ссылка на оригинал статьи https://habr.com/ru/post/489618/


Добавить комментарий