Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 14th February 2020, 20:11   #1  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
NHW Project - a free state-of-the-art image/video compression codec

Hello,

Nice to post on this forum!

I have developed a free open-source state-of-art wavelet-based image compression codec called: NHW Project.

To give a very quick presentation, the NHW Project is a new codec and new technology.Its new approach would be to have a better neatness of image, -whereas the other codecs like AOM AV1 intra (AVIF) and HEVC intra would decrease neatness but have in return a better precision like detail retention-.

But based on visual comparison tests, actually, I find that the good neatness of NHW can be visually more pleasant, for high quality to very high compression, up to -l13 quality setting for now, typically in the 0.2bpp-4bpp range.

The NHW Project is furthermore very fast to encode/decode and is royalty-free.

Here is the NHW Project demo page address: http://nhwcodec.blogspot.com/ .You can also find on that page a link to the GitHub repo.

-Just a remark if you want to test the NHW Project, its 3 new entropy coding schemes are not totally optimal for now, I have the fast ideas to improve them, and so we can save 2.5KB per .nhw compresed file in average.-

Actually, the NHW Project is for now an experimental demo version for 512x512 bitmap color images, and rather just a proof of concept for now.-I would like that the NHW Project becomes my full-time activity now to be able to improve it and develop it into something professional and deployable (as it will require full-time work, I have also ideas for a video codec), but it is very difficult to find a company/organization that could support me and my work...-

Any advice/feedback on the NHW Project would be just great!

Thank you very much!
Cheers,
Raphael

Last edited by nhw_pulsar; 17th February 2020 at 23:48. Reason: Less aggressive message
nhw_pulsar is offline   Reply With Quote
Old 1st March 2020, 18:33   #2  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello again,

Hope that I am not polluting this forum as that's right that it is maybe more reserved to professional big companies' codecs like MPEG and Alliance for Open Media.I realize that I state that I find the NHW Project visually more pleasant, but I suspect that with time my eyes got used to like/prefer the distortion/artifacts and the neatness aspect of my method/algorithm, and so that's right my opinion is very biased and completely subjective...

But stay reassured, I am totally aware that I can absolutely not compete with MPEG and AOM giants, and people actually advise me to find small companies/ecosystem where I could find interest and a niche use case for my codec.Few years ago, I was in contact with an engineer that was interested in the NHW Project for an eventual MotionJPEG replacement in his product, because he was using a small processor and actually MotionJPEG was too computational-intensive for that cheap embedded processor and so then he could be interested in the NHW Project.It was studied then to adapt the NHW Project to any arbitrary image size, but unfortunately this project never could have financement...

So don't know if it's the right place here, but if you would know niche cases like this one where the free open-source state-of-the-art NHW Project could be of interest, do not hesitate to let me know, would be great!

Many thanks!
Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 6th March 2020, 20:31   #3  |  Link
shekh
Registered User
 
Join Date: Mar 2015
Posts: 757
Hi, I'm curious about your neatness metric algorithm. Can you explain it? (I'm not into codec development / have no idea about such metrics in other codecs).
__________________
VirtualDub2
shekh is offline   Reply With Quote
Old 6th March 2020, 21:32   #4  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hi,

Actually my neatness metrics is an unsuccessful attempt, that I have coded very (very) quickly, to measure/catch the neatness of an image, originally to try to objectively prove that the NHW Project has more neatness.But you can forget about it, it is not really efficient!...

A real neatness metrics is way more complex and difficult to design (at least for me...).However I can give you quick details of my neatness metrics attempt, maybe there could be possible interesting parts in it: it is really very simple (too simple), again I coded it very very quickly.For each pixel of a decoded image, I compute the laplacian kernel of the pixel with its 8 neighbours, if this pixel is considered as neat (has a high score), then I quickly study its 8 neighbours to be sure this pixel is not an isolated point for example and rather belongs to a contour/edge.Then with this selected pixel in the decoded image, I compare it with the same position pixel in the original image, if this same position pixel in the original image is also a rather neat pixel (to be sure we're not on an artifact), then I compare if the neat pixel in the decoded image is "more neat/sharp" than the pixel in the original image, if the decoded neat pixel is above a threshold compared to the original one then I consider that this pixel gives more neatness/sharpness than the original image...

But this algorithm fails to catch all the neatness of an image, neatness is more complex actually.

Would you know if a good neatness metric algorithm exists?

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 7th March 2020, 16:05   #5  |  Link
shekh
Registered User
 
Join Date: Mar 2015
Posts: 757
Thanks.
shekh is offline   Reply With Quote
Old 7th March 2020, 19:54   #6  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

Actually I have re-tested (rather quickly) my metrics and in fact it would be rather a sharpness metrics.But for me, neatness is not sharpness.

For example, my metrics would show that NHW is sharper than AVIF and HEVC, but JPEG scores better on my metrics (notably at high quality and mid compression), which would suppose that JPEG images are sharper.But when looking at the images, I visually prefer the NHW images because they have more neatness, and I find it more pleasant.

So for now, I wanted to point that the NHW Project must be evaluated visually, because with my eyes it has a good neatness which makes images look more pleasant.But this good neatness is not sharpness, and so there is not for now an objective metrics which would evaluate/prove it.

Any opinion/feedback on the visual neatness aspect of NHW if you found time would be very helpful and great!

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 13th May 2020, 22:36   #7  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

For those interested, I have made a new version of NHW.This one has more neatness and more precision for -l4 to -l11 quality settings, which are the general-purpose compression settings.It is actually just one parameter better tuning based on my visual evaluations (no real new developments... it was 14 months now that I did not develop the NHW Project...).

Files size is just a little bigger, but we can still save 2.5KB per .nhw compressed file in average.

This new version has a very good and interesting neatness I find.

More at: http://nhwcodec.blogspot.com/

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 1st July 2020, 20:18   #8  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

I posted here again and still don't know if it's the right place, because it seems very difficult to find niche cases for the NHW Project.

I contacted again the company that was interested in the NHW Project for low-power IP cameras working in remote environment, hope this was not confidential, they were considering about using the ESP32 chip (dual-core 240MHz Xtensa LX6) for one of their products, and as NHW is faster than MotionJPEG they could be then interested, but finally it seems that this "exploration" project is definitely abandoned... )-:

It makes me think that speed would be the main advantage of NHW, and maybe I'm completely dreaming, but it could be interesting for mobile/embedded devices with limited battery life especially in the 4K/8K era? Here are few timing numbers of NHW compared to the extremely optimized x265 codec on 512x512 bitmap/ppm color images:
encode time: NHW : 30ms - x265 fastest: 78ms - x265 medium: 310ms
decode time: NHW : 15ms - x265 : 31 ms
But NHW is totally unoptimized, so with a normal optimization (and not the best) with multi-threading and SIMD for example (5x speed up), NHW is then at least 13x faster to encode than x265 fastest or 52x faster to encode than x265 medium and at least 10.3x faster to decode than x265.
For quality/compression, this is a question of "taste" actually, because x265 has a very good precision, and for me NHW has a very good neatness, and according to my tests, on rather good quality images, I find that more neatness (NHW) is more pleasant in 80%-85% of the cases.

So these speed numbers could be really interesting for mobile/embedded devices (shooting a video on a mobile phone for example) because it will really save on power consumption and very enhance battery life for a comparable quality/compression? Yes, I am just trying to find application for my codec where it can have an advantage over the other codecs, but I strongly suspect that I am completely dreaming and foolish to believe that NHW could penetrate the mobile/embedded devices market?

If you think so and that I really need to be brought back to reality, do not hesitate to do so.Maybe NHW is definitely a niche codec, and I must really focus on finding a niche for it?

Again any feedback would be really welcome (even if I don't know if a niche codec is the right place here).

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 2nd July 2020, 20:25   #9  |  Link
paul97
Registered User
 
Join Date: Mar 2018
Posts: 12
could you extend to all resolutions like 1600x1200? now like you know jpeg xl is being standardized at end of July (maybe), they want to integrate the API in the browsers. I don't know if it uses wavelet elements. -l11 to me is great for 512x512, maybe with other resolutions jpeg xl wins. I compressed a photo of my class.

Last edited by paul97; 2nd July 2020 at 21:01.
paul97 is offline   Reply With Quote
Old 2nd July 2020, 21:18   #10  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

Thank you for your interest.

Yes, for now the NHW Project is only a demo experimental version for just 512x512 color bitmap images and so just a proof-of-concept, but NHW is absolutely not optimized for 512x512 resolution, it can work as good on any resolution.Actually, I am working on my spare time on NHW as a hobby and just want to have fun with it, and unfortunately adapting to any image resolution (like 1600x1200) is really the "boring task" for me currently... But I am totally aware and ok that if a company wants to support/hire me to work on the NHW Project, then my very first task will be to adapt it to any arbitrary image resolution.But it's very difficult to find a company/organization that could support NHW, so far I have contacted the big industry like JPEG, MPEG, Alliance for Open Media, and all the major technology companies, and none is interested in the NHW Project... so the NHW Project orientates toward a niche codec.

I just wanted to emphasize on speed in my last post, and the next formats that are taking on on the Internet are WebP and now AVIF, and sorry to say that but I find them very slow to decode, consumate a lot of power.For me, NHW has a better visual quality and is 20x-30x faster to decode, and so maybe for mobile devices with limited battery life this could be a certain advantage?... But stay reassured, I am totally aware that my chances are zero that the industry will reconsider its opinion on the NHW Project.

I don't think JPEG XL uses wavelet elements.Here again NHW has the speed advantage, because I could download JPEG XL binaries on this forum, I think that these binaries have SIMD turned on and multithreading switched off, and I also find JPEG XL quite slow to encode/decode... but there is maybe something wrong with my binaries (that I did not compile) because it is contrary to the JPEG XL authors claim.

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 16th September 2020, 21:12   #11  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

For those interested, I have made a new version of NHW.This one has more precision and a little more neatness.

I still find that NHW has a very good neatness -which I find visually more pleasant than AVIF and x265 for example-, and NHW is still extremely fast to encode/decode, faster than JPEG!

There are still many improvements that can be done, first one is to adapt to any arbitrary image size this proof-of-concept, and for that I wanted to let you know (again...) that I am searching for a sponsor, but it's extremely difficult to "exist/survive" outside of AOM and MPEG.

I don't have touched the entropy coding schemes, and so we can still save 2.5KB in average per .nhw file.I'll also try to document on the Chroma from Luma technique as it'll save additional bits on chroma compression.

More of this release at: http://nhwcodec.blogspot.com/

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 18th September 2020, 20:33   #12  |  Link
paul97
Registered User
 
Join Date: Mar 2018
Posts: 12
your codec doesn't support all resolutions, if it supported in my opinion you would be accepted in event such as ImageReady. Because I like new build.
paul97 is offline   Reply With Quote
Old 18th September 2020, 21:37   #13  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

Thank you for your feedback.

To adapt NHW to any resolution, it will require me full-time work, and so I am really looking for a company/organization that could support me and propose me a freelance contract.But the problem is that I don't know who to contact, the big companies/organizations I contacted so far are definitely not interested.-And I really wonder who will sponsorize me, if after there is a strong reject/no-go from the industry...-

Would you have some advice?

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 1st October 2020, 20:15   #14  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

For those interested, I have made a new version of NHW.This one has more neatness and more precision.

I find that this version has a very good neatness, for example when I compared to AVIF.This is an another compression approach, some people dislike it and this psychovisual optimization, but for me this new version starts to prove that neatness could be a viable solution? Do not hesitate to give your opinion.This version is still extremely fast to encode/decode.

I also wanted to notice that the new entropy coding schemes of NHW are not optimized for now, -I have the fast ideas to improve them-, and so we can still save 2.5KB per .nhw compressed file in average, and even more with Chroma from Luma technique for example.

More at: http://nhwcodec.blogspot.com/

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 14th October 2020, 21:34   #15  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

For those interested, I have made a new version of NHW.This one has more precision and a little more neatness.

I find this new version notably better, especially now it has a better precision.

-As usual we can still save 2.5KB and more per .nhw compressed file.-

More at: http://nhwcodec.blogspot.com/

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Old 19th October 2020, 23:05   #16  |  Link
nhw_pulsar
Registered User
 
Join Date: Apr 2017
Posts: 23
Hello,

Just a quick message, I have fixed a bug in the last version of NHW because there could be a segmentation fault for some images.Sorry for the error.

Correction and update on my demo page: http://nhwcodec.blogspot.com/

Else very quickly I find that this last version has now a good balance between neatness and precision, and I find this visually pleasant, and more and more interesting, I am currently comparing with AVIF.I'll try to improve this again, but for example I have a processing that improves again precision but now it starts to decrease neatness, and so I find results less interesting... Neatness is still the main advantage of NHW I want to preserve.

Also I am (visually) comparing with avifenc with -s 0 setting: slowest speed/best quality, but ultra-optimized (multi-threading, SIMD,...) AVIF -s 0 then takes in average 15s to encode an image on my computer, whereas totally unoptimized NHW takes 30ms to encode that same image!... So extremely fast speed is also an advantage of NHW!

Cheers,
Raphael
nhw_pulsar is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 22:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.