Do we need such a format? .. and some statistics

For several months in his spare time he was developing a new image format. Here is what came of this in the form of a presentation:











At such dimensions, on average, the occupied image PNG can be used to record the same images as 43% JPG, and on VRP as 44% JPG.

Now on the graph (trend lines are polynomial, 2nd degree, dashed lines are extrapolation of my lean brain):



VRP is less than BMP (almost uncompressed) from 1B to 350 B and from ~ 7KB, that is, compression works.

VRP with an uncompressed image size:

from 1 B to 250 B: optimal
from 250 B to 1 KB: acceptable
from 1 KB to 7 KB: not optimal
from 7 KB to 400 KB: possibly acceptable
from 400 KB: possibly optimal

Now let's compare VRP ( lossless) and raster formats that support lossy compression (but the error is no more than ยฑ 10/256 on average per pixel per channel - thanks for the ideaGriboks) - different templates were tested for each format (so that all images in this format satisfy the condition โ€” lossy compression was successful only with JPG, other formats satisfy the condition only without loss)





Trend lines are logarithmic, formats in increasing size:
JPEG 80% quality downsampling 4: 2: 2
VectoRabbitPicture lossless
JPEG 2000 lossless
JPEG XR lossless
WebP lossless

Also analyzed:
HEIF: images up to 64x64 are not supported and colors are distorted in any case
DjVu: in any case, large losses come out
* the scope of this analysis - poorly visible loss of quality and small images













When automatically tracing from a raster, the result is lossy. In VRP, at least there is no loss up to a scale of 100%.

And as you can see on the graph, at the same time, the icons, pictograms and simple logos in SVG (and in almost any other vector formats) will also obviously have several times more VRP.

Also, since VRP is a lossless format at scales up to 100%, it is possible to get exactly the same results from the same file as PNGA; if you have extra time, even mix different results! Also, when choosing VRP results, this will take less time than raster formats

Faster Decoding


I believe that due to hardware acceleration and in the case of light compression, since the data is stored in a vector form, and not about each pixel separately and interpolation (PNG) is not required, there are fewer primitives and they are encoded not in human language, but specifically for the decoder (SVG) will be a faster rendering of the image (after the file has been downloaded). This is very important with large photos and weak devices, as well as for future plans for the development of the format.

Several coding patterns with a single decoding pattern, depending on which is stronger from the above or something in between.

Compression of any vector images with losses, but you can specify any percentage of losses









The VRP line indicates where other vector formats are located (in size and how much you need to lose in order to be a plus relative to the format):



Do not wait, the image on the right will not load better)

Stylize images to make the image unique and create video effects. There are several revolutionary possibilities for styling:

a) The choice of how to stylize strongly (from 1 to 100)
b) How many colors to use (all, 2mln, ..., 512, 64, 8) - the result varies greatly and not only colors
c) Choice the shape of the element (circle, triangle, square, heart, cat ...)
d) The size of the polygons (from 0.5 to 1)
e) The size of the additions to the polygons and whether they are needed (from 0 to 1)
* For styling, the image must be in VRP format



Here are a few results with different settings:

Above the settings image (a, b, c, d, e). Everywhere without interpolation, the



Automatic algorithm will not be able to identify the picture and will consider it original, even if it does not stylize very much:
5 parameters (a, b, c, d, e) with completely different values โ€‹โ€‹plus several interpolation options (both at the input and at the output) give an infinite number of options and even different stylizations will be considered the original picture without claims of copyright infringement.

It can also be used as a video effect, based on a static frame or a set of frames from a video, when some parameters smoothly change and each result is recorded as a frame.

Progressiveness


Typically, on sites, the picture is loaded from top to bottom or sometimes the quality grows as it loads.
In VRP format, this is not possible, but in 27% of cases or in 100% of cases when choosing the โ€œFastest Renderingโ€ template during saving, not color quality will improve when loading , i.e. the picture is immediately visible and you can understand that on it, plus, the last stages of loading the eye will be almost invisible.

Illustrations in the original presentation . (download and watch through F5 in PowerPoint)

Imitation of drawing an image

Illustration in the original presentation . (download and watch through F5 in PowerPoint)

The format can be easily supplemented.

Format development and addition of new features with full backward compatibility


Programs that do not support the new version of the format will still be able to open files, with the exception of new features. Programs that support the new version of the format will open all the old versions of the format, and also if in the specific case new functions are not used, the file will immediately become the oldest version and will weigh less.

Shortcomings


Basically, all the shortcomings can be eliminated, but it takes time and money.

So far, slow conversion and compression, due to the non-optimization of the algorithm, the use of an outdated programming language and non-adaptation for x64, which is why processing images from more than 1000 pixels so far takes unacceptable time. This can definitely be eliminated, but it takes a lot of man-hours.

Vector compression, progressiveness, simulation of drawing can definitely be done, but not yet fully implemented

Faster decoding has not yet been proved

Development plans


  • Correct deficiencies
  • Implement everything to the end
  • Improve display and compression as much as possible
  • Add transparency support
  • Develop based on this format, format and algorithms for animation and video with all the same features

Monetization


You can monetize both the format and the services that provide services based on the algorithm in completely different ways. Of the most obvious:

  • Reception of sponsorship for the creation and maintenance of an open format and free provision for programs based on it
  • Sale of licenses for using the format in video / cameras / printers
  • Selling programs that implement the interface for working with the format and all the features of the algorithm
  • Creating a paid library for using the format and services based on it
  • Sell โ€‹โ€‹a finished work product to a large company

That's almost all. Soon I will add a few more tables.
Waiting for your comments - is this format needed? Why yes? Why not? Where can I be wrong? Who is willing to invest? Who is ready to buy a working prototype?

All Articles