recently, while watching a video about machine learning, I had an idea about creating an image compression algorithm, that works similar to JPEG, but is based on arbitrary bitmaps as blocks.

I should mention that I would not call myself a computer scientist, so my understanding of the math and algorithms involved are still limited at this point. I have an intuition for how deconstructing an image into blocks, which are represented as combinations of 8x8 px patterns (made up of cosine waves) works.

enter image description here

so my question is: is it possible to replace the standard JPEG patterns with something else? -- for instance the features that have been found by a neural network (see below).

enter image description here

I'd be very interested in what the results / artifacts of such a compression would look like, both applied to the original data set (the neural net was trained on) and random other images.

any ideas / directions on how to achieve this are very much appreciated.

thanks a lot in advance!

  • $\begingroup$ One think to beware of is that the DCT basis is a basis – every 8x8 block has a unique representation as a linear combination of basis elements. Your example above consists of 96 different blocks, so you might need to find a sparse combination in order to effectively compress this way. $\endgroup$ – Yuval Filmus Jul 6 '19 at 8:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.