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. |
|
|
Thread Tools | Search this Thread | Display Modes |
14th February 2020, 20:11 | #1 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
1st March 2020, 18:33 | #2 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
6th March 2020, 20:31 | #3 | Link |
Registered User
Join Date: Mar 2015
Posts: 776
|
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 |
6th March 2020, 21:32 | #4 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
7th March 2020, 19:54 | #6 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
13th May 2020, 22:36 | #7 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
1st July 2020, 20:18 | #8 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
2nd July 2020, 20:25 | #9 | Link |
Registered User
Join Date: Mar 2018
Posts: 10
|
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. |
2nd July 2020, 21:18 | #10 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
16th September 2020, 21:12 | #11 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
18th September 2020, 21:37 | #13 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
1st October 2020, 20:15 | #14 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
14th October 2020, 21:34 | #15 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
19th October 2020, 23:05 | #16 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
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 |
28th February 2021, 21:52 | #17 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
Hello,
I have (slowly) started to rework on NHW this week (will certainly have to remove some artifacts like banding for some images), I also abandoned some precision enhancing processings some months ago as the last NHW version seems ok visually with a good neatness/sharpness.I have made this week a visual comparison of NHW with the last version of AVIF on 100 rather "good quality" images (not too much degraded) at -l13, -l9, -l5 and normal settings, and actually I am happy with the NHW results as they have for me a better neatness/sharpness, and, always for me, it is visually more pleasant.-And again, NHW is also a lot faster to encode and decode than AVIF.- Few interested people adviced me to continue reaching out to the compression bodies like AOM, despite previous negative answers, because (according to them), it is the only way for NHW that is interesting to find a professional/industry consideration.I would need some of your lights on this forum if you would know if AOM is looking for new technologies and if so, how we can submit to them a codec for study? Is there is a special procedure? A special person to contact? Because it is really extremely difficult for me to be in contact with AOM.Forum member foxyshadis told me that I must first guarantee that NHW is patent- and royalty- free, I think so, but I don't have the legal guarantee of it. Any help/advice is very welcome, or also if you think that NHW can not interest AOM and that I should forget about contacting them anymore, also do not hesitate to show up! Cheers, Raphael |
2nd March 2021, 22:25 | #18 | Link |
Moderator
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,878
|
Are you a member of any standards bodies, like SMPTE, ISO, W3C, or AOM? Joining the appropriate subcommittee of one of those bodies would introduce you to the right people about the process and potential interest. AOM is mainly focused on compressed video for distribution, so may be less interested than others with a broader or different focus. JPEG continues its work and has introduced a new IDR-only codec in the last couple of years.
Getting access to the test corpus and procedures used to evaluate new image coding technologies means any demonstration of NHW's strengths will be in the same language they're used to. |
2nd March 2021, 23:43 | #19 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
Hello,
Thank you for your answer.No I am not a member of any standard body.The problem is maybe that NHW is too experimental for now? For example, I tried to submit for JPEG XL and its evaluation process, but unfortunately NHW is only for now for 512x512 image resolution and so can not be tested on the JPEG test corpus, and so NHW was rejected from the outset before going into any evaluation. Actually, it will require me rather lot of work to adapt NHW to any resolution, and so I would really like to have a (paid) freelance contract to make it.There are also other things that I should do but lack the motivation, like removing aliasing from the decoded images (certainly with a post-processing), correct color distortion/quantization and add chroma from luma, correct banding, improve compression/entropy coding schemes,... I am also aware that it is a risk, a company/organization may take in sponsorizing me, because NHW new technology doesn't obey to the standard quality evaluation process, that is PSNR and SSIM metrics-based.To be honest, NHW has horrible PSNR and SSIM results, but despite that and all the things that must be corrected, I find that NHW is visually very good and interesting, for me it has more neatness/sharpness, and so subjectively I find it is more pleasant... Also a big advantage of NHW is that it is a lot faster to encode/decode (even faster than JPEG), which can be important in the current context of energy and ressource preservation. Again Sir, if you think any standard body could be interested in NHW, do not hesitate to let me know (it would be so great). Cheers, Raphael |
5th March 2021, 22:59 | #20 | Link |
Registered User
Join Date: Apr 2017
Posts: 200
|
Hi again benwaggoner,
I am sorry and wanted to correct my previous reply, because I would know a little (for having submitted) the procedure of the standards bodies to standardize a "ready-to-deploy" compression codec, but that's right that I don't know their procedure to evaluate a new and experimental image coding technology.And so I would really like that NHW could join a subcommitttee of one of these standards bodies to meet the reference and competent people for the evaluation of the NHW technology, would be so great. From what I have understood, NHW can not be accepted as a member of AOM.Do you think it can join an appropriate subcommittee at SMPTE, ISO or W3C? And then, would you have an email address of a people I can contact there? Any help would be really so great.-Or finally, do you think it is too complicated for NHW to be studied by a standards body?- Many thanks. Cheers, Raphael Last edited by nhw_pulsar; 5th March 2021 at 23:10. |
Thread Tools | Search this Thread |
Display Modes | |
|
|