View Full Version : NHW - a free image codec
nhw_pulsar
21st January 2026, 17:54
Hello,
Just a very quick message to let know those who followed NHW, that the last version (v0.3.1+41) has now a good precision, in the sense that NHW image correctly resembles to the original image (for the developed -q9 to -q23 quality settings), while always keeping NHW efficient neatness.
More at: https://nhwcodec.blogspot.com
So yes now it could be worth to adapt NHW to any image resolution. For me the best solution would be to process on the whole image dimensions, but it's really the bigger and harder to code. Another approach is the one of Martin, a great programmer and friend of mine, he has adapted NHW to 8x8, 16x16, 32x32, 64x64, 128x128, 256x256, 512x512 square sizes and he has then coded a very first (unoptimized) version of NHW that works with any image resolution by decomposing the image with these square sizes (prioritizing the largest square size first). The problem with this latter solution are the blocking artifacts (with a wavelet codec) but I have been told that deblocking filters could be quite efficient....
For now with my health, I will quietly continue to improve NHW precision, but maybe in the second half of 2026 if I am better, I will think about these solutions to adapt NHW to any image resolution, if I am alone, I think I will clearly choose Martin's solution because it is by far the fastest to deploy...
Cheers,
Raphael
nhw_pulsar
27th January 2026, 20:17
Hello,
Just a very quick update, as I think I'll release v0.3.2 in February, I wanted to make then a complete neatness study with objective nhw_neatness_metrics, but the new v0.3.1+42 version has (quite) worse neatness scores than v0.3.1+41, as reported by nhw_neatness_metrics, but I find that v0.3.1+42 has a better visual quality than v0.3.1+41, notably a better precision, it resembles more to the original image, so I didn't find for now a perceptual quality metrics that reflects visual quality according to my criterias and eyes...
Cheers,
Raphael
nhw_pulsar
6th February 2026, 15:03
Hello,
I am still thinking about Martin's (square) tiling solution for coding NHW to any image resolution, there are also some strong advantages, it is notably very more multithreading-friendly, SIMD-friendly, cache-friendly... but a very important thing is to know if we can design an efficient deblocking filter for my wavelet blocking artifacts, as I have hardly no knowledge in deblocking filters technology, it seems a very big investment and energy for me now...
Else I am ultra slowly working on NHW currently, but I hope that the next incremental improvement of v0.3.1+42 will lead to v0.3.2 version, hopefully with a real competitive precision with AOM and MPEG codecs, while still keeping NHW neatness which is a strong advantage for me...
Cheers,
Raphael
nhw_pulsar
6th February 2026, 22:29
Else I am ultra slowly working on NHW currently, but I hope that the next incremental improvement of v0.3.1+42 will lead to v0.3.2 version, hopefully with a real competitive precision with AOM and MPEG codecs, while still keeping NHW neatness which is a strong advantage for me...
Hello,
Just a very very quick update, I have released v0.3.1+43 version, at very first sight, I am satisfied with precision, so normally I'll see if I make other precision improvements but I think I'll transform this version into v0.3.2 later this month.
Cheers,
Raphael
nhw_pulsar
11th February 2026, 18:23
Hello,
Very quickly, I have released v0.3.1+44 which is better, I am waiting for releasing official v0.3.2, but I am sorry and I will get some anger, but I think I won't accompany v0.3.2 with a neatness study, as my nhw_neatness_metrics doesn't reflect for me image quality and what I call "neatness".For example, you can have a degraded image and sharpen it, my nhw_neatness_metrics will have very good score whereas the image looks horrible...
Cheers,
Raphael
rwill
11th February 2026, 21:28
For example, you can have a degraded image and sharpen it, my nhw_neatness_metrics will have very good score whereas the image looks horrible...
Heh... just like VMAF.
nhw_pulsar
11th February 2026, 21:40
Heh... just like VMAF.
Hello rwill,
As I don't know VMAF, thank you for your professional feedback and information.I know that VMAF is largely acclaimed in the video compression community, especially at AOM, but as you point it has its imperfections... Measuring what I call the "neatness" of an image seems very difficult... Is it then offensing to say that VMAF is the less bad of the perceptual metrics?
Cheers,
Raphael
rwill
12th February 2026, 07:40
If you are using metrics like VMAF just for your own stuff its probably ok.
The ability to cheat in a metric becomes problematic if different actors start to compete on the basis of the metric. Then such a metric cannot be trusted. Thats why PSNR is so robust, you cannot cheat that one.
nhw_pulsar
12th February 2026, 09:30
If you are using metrics like VMAF just for your own stuff its probably ok.
The ability to cheat in a metric becomes problematic if different actors start to compete on the basis of the metric. Then such a metric cannot be trusted. Thats why PSNR is so robust, you cannot cheat that one.
Yes that's right you can not cheat PSNR, but I really can not explain why PNSR can rate high some images that have not a great visual quality, and reversely...
nhw_pulsar
17th February 2026, 18:50
Hello,
Just a quick update, I think we can add a 10th element in the weight sequence to improve NHW precision and image quality, but currently I am too tired and it's too boring to test all the possible weights combinations (and there are millions of combinations), and I don't have the formula to derive the best weight sequence, so I must test currently each sequence combination with my eyes on different images...
However, v0.3.1+44 has for me an OK precision, and a better neatness than MPEG and AOM codecs, so I think, if I don't resume work on NHW in the meantime, I'll silently transform v0.3.1+44 into official v0.3.2 version next week, neatness will be still the strong point of NHW...
Cheers,
Raphael
nhw_pulsar
18th February 2026, 16:31
Hello,
I've finally improved the weight sequence (to the 10th order), so I have released v0.3.1+45 which is better, -as said, I'll release v0.3.2 next week-.
Cheers,
Raphael
nhw_pulsar
22nd February 2026, 20:03
Hello,
Before v0.3.2, I have continued with the new v0.3.1+46 to improve the weight sequence (to the 11th order now).
Cheers,
Raphael
nhw_pulsar
25th February 2026, 20:14
Hello,
Just very quickly, I'll finally wait before releasing v0.3.2 to determine if I can level up the weight sequence to the 12th order, for a better image precision.I think and hope that the next iteration of the weight sequence order could have a competitive precision with AOM and MPEG codecs (however I can not test AV2- and ECM- intra).
Cheers,
Raphael
nhw_pulsar
5th March 2026, 17:28
Hello,
Very quickly, I have released v0.3.2 with an improved weight sequence up to the 12th order, for a better precision.
Cheers,
Raphael
nhw_pulsar
10th March 2026, 21:24
Hello,
Following the weight sequence improving, I have gone up to the 13th order with v0.3.2+1.
I hope that I will be able to continue to work on the weight sequence orders in the next weeks despite very bad health...
Cheers,
Raphael
nhw_pulsar
13th March 2026, 18:26
Hello,
Very quickly, I have continued to improve the weight sequence to the 14th order. v0.3.2+2 has then a better precision.
Cheers,
Raphael
nhw_pulsar
21st March 2026, 22:00
Hello,
Very quickly, I am still at the 14th order for the weight sequence but I have fine-tuned it. v0.3.2+3 has then a better precision.
It is becoming damn hard to test all the weights combinations...
Cheers,
Raphael
Selur
22nd March 2026, 07:27
So, no news about allowing custom resolutions and nothing anyone seems to be interested in aside yourself.
rwill
22nd March 2026, 09:38
Hey I was just about to start a bet on Polymarket to which order he can get his weight sequence before someone interrupts his solo post streak...
nhw_pulsar
22nd March 2026, 09:57
Hello Selur, hello rwill,
Concerning custom resolutions, I don't have looked again at square tiling solution (up to 512x512 tiles) because I have to design a very efficient deblocking filter as again with my wavelet filter design I find that there are quite important border artifacts... so it's a little "blocking" point for me now because designing such a deblocking filter is a very big investment... a litttle too much for me at now...
Yes the industry is not interested in NHW because I would think they estimate that AVIF and VVC intra for example have more precision, they resemble more to the original image, but with the nhw_kernel weights fine-tuning, I am trying to change this, personally I also don't know to which order I can get the weight sequence, but it seems that there are some weight sequence combinations that give a very good precision to NHW, but again I don't have the mathematical formula to derive an optimal weight sequence, so it's a hell of work to visually test a lot of weights combinations...
Cheers,
Raphael
nhw_pulsar
31st March 2026, 19:30
Hello,
Very quickly for those interested, I have continued to improve the weight sequence, v0.3.2+4 has then a better precision.
Cheers,
Raphael
nhw_pulsar
3rd April 2026, 18:03
Hello,
Very quickly for those interested, I have added a weight parameter ponderation in the weight sequence, v0.3.2+5 has then a better precision.
Cheers,
Raphael
nhw_pulsar
7th April 2026, 19:33
Hello,
Very quickly for those interested, after fine-tuning the t1 weight parameter, I am now fine-tuning the also important t4 weight parameter. v0.3.2+6 has then a better precision.
Cheers,
Raphael
nhw_pulsar
11th April 2026, 19:45
Hello,
Very quickly for those interested, I am continuing to fine-tune the t4 weight parameter, v0.3.2+7 has then a better precision.
NHW_Neatness_metrics can be lower for some images, but I find that visual quality is still there.
Cheers,
Raphael
nhw_pulsar
14th April 2026, 16:06
Hello,
Ultra quickly for those interested, I have continued to fine-tune the weight sequence with a better t1/t4 balance. v0.3.2+8 has then a better precision.
NHW_Neatness_metrics numbers are also better for this version.
Cheers,
Raphael
nhw_pulsar
17th April 2026, 19:29
Hello,
Ultra quickly for those interested, I am continuing to fine-tune the t1 and t4 weight parameters of the weight sequence. v0.3.2+9 has then a better precision.
Cheers,
Raphael
Selur
17th April 2026, 20:29
So, no news about allowing custom resolutions and nothing anyone seems to be interested in aside yourself.
nhw_pulsar
17th April 2026, 20:54
So, no news about allowing custom resolutions and nothing anyone seems to be interested in aside yourself.
Hello Selur,
Thank you however for following my progress.
Concerning custom resolutions, I said in a previous message that I wanted to focus in the first half of 2026 to improve NHW precision and then in the second half of 2026 code NHW to any image resolution with square tiling solution (up to 512x512), but I realize it's a very big investment, the big problem is that I fear to not have the energy to first design the mandatory big wavelet deblocking filter...
Cheers,
Raphael
Selur
18th April 2026, 06:34
Hi,
I guess, to everybody else, it looks like:
a. you got a non-describable/documented metric you call "NHW_Neatness_metrics".
b. since the start, you write that you are increasing it and the 'NHW precision'.
This is like you reporting every few days that you are doing something non-consequential.
Since there is nothing tangible to it, these updates simply seem like a waste of time.
Especially since you write that you have health issues, it seems like it would be better if you spend your energy on living (maybe getting better).
That said: If posting these (to others seemingly useless) updates, helps you in that process: Keep it on.
Cu Selur
nhw_pulsar
18th April 2026, 08:32
Especially since you write that you have health issues, it seems like it would be better if you spend your energy on living (maybe getting better).
That said: If posting these (to others seemingly useless) updates, helps you in that process: Keep it on.
Cu Selur
Hello Selur,
Thank you.Yes I have health issues, and working a little daily on my codec, and posting on the forum when I have an improvement, help me keep contact with the compression community (few people follow my updates) and also be better...
But again some people appreciate my updates, some others hate... so I will completely comply to the instructions of a moderator concerning my posting on the forum if there is a problem.
Cheers,
Raphael
lvqcl
18th April 2026, 14:16
(few people follow my updates)
I want to see these people...
nhw_pulsar
18th April 2026, 15:02
I want to see these people...
I just mean when I post my updates on the forums, then I have a little visit on my demo page and a few clones on my GitHub...
Cheers,
Raphael
nhw_pulsar
20th April 2026, 18:39
Hello,
Very quickly for those interested, I have continued to fine-tune the t1 and t4 weight parameters of the weight sequence. v0.3.2+10 has then a better precision.
NHW_Neatness_metrics numbers seem also good for this version.
Cheers,
Raphael
nhw_pulsar
23rd April 2026, 16:53
Hello,
Very quickly for those interested, I am continuing to fine-tune the t1 and t4 weight parameters of the weight sequence. v0.3.2+11 starts to have a competitive precision for the developed -q9 to -q23 compression settings.
Cheers,
Raphael
nhw_pulsar
25th April 2026, 21:13
Hello,
Very quickly for those interested, while always fine-tuning t1 and t4 in the weight sequence, v0.3.2+12 has then a better precision.
Cheers,
Raphael
nhw_pulsar
27th April 2026, 16:51
Hello,
Very quickly, I am still trying to improve precision of NHW, that the codec faithfully resembles to the source image, but yes clearly as many professionals stated it here on this forum, the research effort at AOM, MPEG,... is as they have now a very high level of precision, the aim is now to preserve/retain as most as possible fine details/textures/grain... NHW can not compete in this area, so it's clearly a no-go for it...
I tried to compensate this with more neatness of image but the compression bodies are not sensitive to this argument... But it's ok, I'll still try to finish precision of NHW if I can (as it is more and more difficult), but it becomes more and more clear (very sorry) that I will not adapt NHW to any image resolution with square tiling solution (up to 512x512 tiles) in the second half of 2026...
Cheers,
Raphael
nhw_pulsar
28th April 2026, 17:05
Hello,
Very quickly for those interested, still improving t1 and t4 tuning in the weight sequence, v0.3.2+13 has then a better precision.
Cheers,
Raphael
nhw_pulsar
1st May 2026, 13:53
Hello,
Very quickly for those interested, still improving t1 and t4 tuning in the weight sequence, v0.3.2+14 has then a better precision.
NHW_Neatness_metrics numbers seem good for this version.
Cheers,
Raphael
nhw_pulsar
3rd May 2026, 17:08
Hello,
Very quickly for those interested, I am still continuing to improve the weight sequence, v0.3.2+15 seems to have then a little more precision and so a little better visual quality.
Cheers,
Raphael
nhw_pulsar
6th May 2026, 17:00
Hello,
Ultra quickly for those interested, I am continuing to fine-tune the t1 and t4 weight parameters in the weight sequence. v0.3.2+16 has then a better precision.
Cheers,
Raphael
nhw_pulsar
11th May 2026, 19:21
Hello,
Very quickly for those interested, I am still continuing to fine-tune t1 and t4 weight parameters in the weight sequence. v0.3.2+17 has then a better precision.
Cheers,
Raphael
nhw_pulsar
13th May 2026, 18:44
Hello,
Very quickly for those interested, still continuing to fine-tune t1 and t4 weight parameters in the weight sequence. v0.3.2+18 has then a better precision.
Cheers,
Raphael
nhw_pulsar
15th May 2026, 21:47
Hello,
Very quickly for those interested, I have optimized t4 weight reinitialization. v0.3.2+19 has then a better precision.
Cheers,
Raphael
nhw_pulsar
17th May 2026, 18:21
Hello,
Very quickly for those interested, I am continuing to optimize t4 weight reinitialization. v0.3.2+20 has then a better precision.
I am aware that NHW_Neatness_metrics scores are lower for this new version, but I still find that visual quality is better...
Cheers,
Raphael
nhw_pulsar
22nd May 2026, 17:21
Hello,
Just an ultra quick update, I am still continuing to fine-tune t1 and t4 weight parameters in the weight sequence. v0.3.2+21 has then a better precision.
Cheers,
Raphael
nhw_pulsar
23rd May 2026, 21:17
Hello,
Very quickly for those interested, I am still refining t4 weight reinitialization. v0.3.2+22 has then a better precision.
Cheers,
Raphael
Columbo
23rd May 2026, 21:54
Seems like in 18 years you could have moved beyond 512x512. That's a much more important function than tweaking weights continuously.
nhw_pulsar
23rd May 2026, 22:33
Seems like in 18 years you could have moved beyond 512x512. That's a much more important function than tweaking weights continuously.
Hello,
Yes the first version of NHW dates back to 2008... and yes this is a mistake but since then I never had the energy to adapt to any resolution (because since longtime I struggle against illness)...
Coming back to NHW, some professionals told me that the codec lacked of precision, but I would find now that latest v0.3.2+22 starts to have a competitive precision...
Cheers,
Raphael
nhw_pulsar
26th May 2026, 16:39
Hello,
Just an ultra quick update, I am still continuing to fine-tune t1 and t4 weight parameters in the weight sequence. v0.3.2+23 has then a better precision.
I don't know how far I will be able to push NHW technology to a good precision, but I would find now that NHW precision is competitive, so hopefully I'll release v0.3.3 in the very next months...
Cheers,
Raphael
nhw_pulsar
29th May 2026, 17:33
Hello,
Very quickly for those interested, I am still optimizing t1 and t4 weight parameters in the weight sequence.
As I am now satisfied with NHW precision, I have decided to release v0.3.3 release candidate 1.
Cheers,
Raphael
nhw_pulsar
2nd June 2026, 20:36
Hello,
Very sorry for disturbing you, it's going to be high time to move on, just I wanted to finish to fine-tune the nhw_kernel weights in the first half of 2026, maybe I'll finally need 2-3 months more. v0.3.3-rc2 has then a better precision.
Cheers,
Raphael
nhw_pulsar
8th June 2026, 21:29
Hello,
Just an ultra quick incremental update, I am still continuing to fine-tune the weight sequence. v0.3.3-rc3 has then a better precision.
Cheers,
Raphael
nhw_pulsar
10th June 2026, 21:29
Hello,
Just another ultra quick incremental update, still continuing to fine-tune the weight sequence. v0.3.3-rc4 has then a better precision.
Cheers,
Raphael
nhw_pulsar
14th June 2026, 19:53
Hello,
Just another weight sequence improvement, v0.3.3-rc5 has then a better precision.
I'll try to release v0.3.3 at the end of June.
Cheers,
Raphael
nhw_pulsar
18th June 2026, 16:08
Hello,
Just continuing to improve the weight sequence, v0.3.3-rc6 has then a better precision.
I don't know if I will be able to continue to work on NHW currently, as it is becoming very difficult for me (with the heatwave)... However I find that v0.3.3-rc6 is OK, so I'm still planning to release v0.3.3 at the end of June.
Cheers,
Raphael
nhw_pulsar
20th June 2026, 19:03
Hello,
It is harder and harder to work on NHW currently, but I hope that I have improved the weight sequence again. v0.3.3-rc7 seems then to have a better precision?
Cheers,
Raphael
nhw_pulsar
24th June 2026, 19:27
Hello,
It's suffocating here but I however managed to improve the weight sequence again..., v0.3.3-rc8 has then a better precision.
As I am satisfied with this version, I think I'll transform it into v0.3.3 next week.
Cheers,
Raphael
nhw_pulsar
27th June 2026, 20:35
Hello,
I can not work anymore on NHW for now, so I think as said I'll transform v0.3.3-rc8 into final v0.3.3 release next week.
NHW always lacked too much of precision, the way it resembles to the source image, compared to professional AOM, JPEG and MPEG codecs, but I would find that v0.3.3 could suggest that with even more enough nhw_kernel weights and weight sequence improvement, NHW technology could reach a professional precision, with furthermore a better neatness and an extremely faster speed...
So that would be my task for the next months, to continue to improve the weight sequence, I'll see if I have results, v0.3.3 is not enough for now for the industry, but could show a real potential in the future for the NHW technology?
Cheers,
Raphael
rwill
28th June 2026, 05:46
So that would be my task for the next months, to continue to improve the weight sequence
Yes, sounds good, please don't forget to keep us up to date.
nhw_pulsar
28th June 2026, 11:51
Hello rwill,
Thank you very much for your feedback.
I however wanted to tell that it is becoming difficult to improve the weight sequence, for example I have 2 main ideas that on paper should work, but I try hard to tune them but it never worked for now, and on the contrary sometimes I can quickly try something that should not work and actually it surprisingly gives a precision improvement, the NHW image resembles more to the source image...
So I think it will become more difficult now to improve the weight sequence, (especially in this very hot summer), but I'll quietly try to work on it and really many thanks for your encouragement.
Cheers,
Raphael
nhw_pulsar
28th June 2026, 15:22
Hello,
For those interested, I have continued to improve the weight sequence which brings a better precision. So I have decided to release v0.3.3.
Cheers,
Raphael
Columbo
28th June 2026, 15:57
Release the Kraken!
nhw_pulsar
3rd July 2026, 15:58
Hello,
For those interested, I have improved the weight sequence. v0.3.3+1 has then a better precision.
Cheers,
Raphael
nhw_pulsar
5th July 2026, 18:33
Hello,
For those interested, I am continuing to improve the weight sequence. v0.3.3+2 has then a better precision.
Cheers,
Raphael
nhw_pulsar
7th July 2026, 14:20
Hello,
For those interested, I am continuing again to improve the weight sequence. v0.3.3+3 has then a better precision.
Precision starts to be good.
Cheers,
Raphael
nhw_pulsar
9th July 2026, 19:26
Hello,
For those interested, I am continuing to improve the weight sequence. v0.3.3+4 has then a better precision.
Cheers,
Raphael
nhw_pulsar
11th July 2026, 18:32
Hello,
For those interested, I am still continuing to improve the weight sequence. v0.3.3+5 has then a better precision.
Very sorry for the robotic updates, just very tired here...
Cheers,
Raphael
nhw_pulsar
14th July 2026, 16:05
Hello,
For those interested, I am continuing to improve the weight sequence. v0.3.3+6 has then a better precision.
@Columbo, Kraken released! as I find that NHW has a good precision now (but it is only my opinion)...
Cheers,
Raphael
Columbo
14th July 2026, 16:35
Just curious... How do you measure precision? And all this tweaking you're doing, is it going to apply to all different sources, or you tweak just for a few images and hope it will apply to everything?
nhw_pulsar
14th July 2026, 16:57
Just curious... How do you measure precision? And all this tweaking you're doing, is it going to apply to all different sources, or you tweak just for a few images and hope it will apply to everything?
Hello Columbo,
For measuring precision, I move back and forth around the source image with the 2 version images, and I look with my eyes which image resembles more to the source image...
Yes I only test on 8 images of different nature at -q11 and -q14 settings, and yes I little hope that it will apply to everything...
Cheers,
Raphael
Columbo
14th July 2026, 17:30
Sounds like you need a more serious, scientific approach. But it's all for nought anyway if you are limited to 512x512. Nobody can live with that.
nhw_pulsar
14th July 2026, 17:44
Yes for the precision of NHW, how much it resembles to the source image, I tried objective metrics like PSNR, SSIM but none worked... Quite often actually, PSNR was worse, but with my eyes NHW image resembled more to the source image...
For measuring neatness, I have my NHW_Neatness_metrics but my focus now is to keep a good NHW_Neatness_score but to have an NHW image that resembles the most as possible to the source image, this is done with my eyes as I didn't find another solution for now...
Cheers,
Raphael
CruNcher
16th July 2026, 02:43
512x512 is certainly problematic for reproducing/reconstructing/simulating our reality space
and reconstructing it needs in most cases much more resources on top
We in a time you need at least to reach 1024x1024
nhw_pulsar
16th July 2026, 03:33
512x512 is certainly problematic for reproducing/reconstructing/simulating our reality space
and reconstructing it needs in most cases much more resources on top
We in a time you need at least to reach 1024x1024
Hello CruNcher,
It's a good opportunity to clarify that for a 1024x1024 image (or whatever resolution), the best solution would be to apply the pre_processing with the nhw_kernel weights and weight sequence on 512x512 tiles but the rest of the processing must be applied on the whole 1024x1024 dimensions, and again as said this is a huge work to code and too much for me now...
Cheers,
Raphael
nhw_pulsar
16th July 2026, 19:34
Hello,
For those interested, I am continuing to improve the weight sequence. v0.3.3+7 has then a better precision.
I have also corrected a bug of the previous version.
Cheers,
Raphael
Columbo
17th July 2026, 13:26
Maybe I'm blind but I'm having trouble finding your link to download etc. Can you add it to the first post please?
nhw_pulsar
17th July 2026, 14:36
Maybe I'm blind but I'm having trouble finding your link to download etc. Can you add it to the first post please?
Yes, that's right, thank you for pointing, link added in the first post.
nhw_pulsar
24th July 2026, 15:04
Hello,
For those interested, I have improved the t4 weight re-initialization. v0.3.3+8 has then a better precision.
Cheers,
Raphael
nhw_pulsar
24th July 2026, 18:05
Hello,
With v0.3.3+8 to gain that extra-precision, I have the feeling that it's going to be "paranoid tuning" of the weight sequence...
Cheers,
Raphael
nhw_pulsar
27th July 2026, 12:47
Hello,
Very quickly, for those interested, I am continuing to improve the weight sequence. v0.3.3+9 has then a better precision.
Cheers,
Raphael
Columbo
27th July 2026, 14:13
Why don't you use your energy to support larger image sizes instead of never-ending pointless weight tweaking?
nhw_pulsar
27th July 2026, 14:30
Why don't you use your energy to support larger image sizes instead of never-ending pointless weight tweaking?
Hello Columbo,
Adapting to any image resolution is a lot and a lot more time-consuming than weight tuning, and I don't have that energy...
I think that weight tuning is not pointless however, because at each iteration, NHW precision is better, in the sense that the newer version resembles more to the source image than the previous one while always keeping NHW neatness, and that's very important (for me).
Cheers,
Raphael
Columbo
27th July 2026, 16:42
yeah yeah we heard that nonsense before
if nobody uses or cares about it because it can't be used on real images then weight tweaking is about as pointless as it gets
nhw_pulsar
28th July 2026, 17:39
Hello,
Very quickly, for those interested, I am continuing to improve the weight sequence, notably t1 weight increment in the last third configuration. v0.3.3+10 has then a better precision.
Cheers,
Raphael
nhw_pulsar
31st July 2026, 13:53
Hello,
For those interested, I have improved the weight sequence and t1 weight saturation. v0.3.3+11 has then a better precision.
Cheers,
Raphael
nhw_pulsar
2nd August 2026, 16:29
Hello,
Very quickly for those interested, I have continued to improve the weight sequence. As I find that NHW precision starts to be interesting, I have decided to release v0.3.4-rc1.
Cheers,
Raphael
nhw_pulsar
10th August 2026, 15:31
Hello,
After 3 years of work on the nhw_kernel weights computing and the weight sequence, I estimate, with my limited means, that this work is now nearly closed. There are still billions of weight combinations, but this is going to be paranoid tuning, and I don't have the time nor the energy for that. So I'll certainly release v0.3.4 with this validated weight sequence.
I know my quantization scheme is not optimal, maybe I'll try to perfect quantization in NHW now? Could someone explain me synthetically the idea behind variance-adaptive-quantization?
Cheers,
Raphael
Columbo
10th August 2026, 15:40
ChatGPT, Claude, Grok, Kimi, etc. will be happy to tell you about it.
LMP88959
10th August 2026, 16:25
Could someone explain me synthetically the idea behind variance-adaptive-quantization?
Practically speaking, its implementation consists of breaking up the image into NxN blocks, they could be uniform, non uniform, tree-like, etc. Then you compute the variance of the luma samples of each block and use that to adjust how much that block should be quantized.
Conceptually, higher variance blocks can tolerate more quantization due to the visual masking phenomenon. This is a crude approximation to visual masking (since actual image content and context should also be taken into account) but it works quite well given its simplicity.
This should be helpful:
https://github.com/psy-ex/svt-av1-psy/blob/master/Docs/Appendix-Variance-Boost.md
thank you to the SVT-AV1-PSY devs :)
nhw_pulsar
10th August 2026, 17:27
Practically speaking, its implementation consists of breaking up the image into NxN blocks, they could be uniform, non uniform, tree-like, etc. Then you compute the variance of the luma samples of each block and use that to adjust how much that block should be quantized.
Conceptually, higher variance blocks can tolerate more quantization due to the visual masking phenomenon. This is a crude approximation to visual masking (since actual image content and context should also be taken into account) but it works quite well given its simplicity.
This should be helpful:
https://github.com/psy-ex/svt-av1-psy/blob/master/Docs/Appendix-Variance-Boost.md
thank you to the SVT-AV1-PSY devs :)
Yes I forgot to ask to AIs, but LMP88959 explanation is all good, thank you. I catched the general idea. Also thank you for the psy-ex doc on variance boost, I'll carefully readt it. But as LMP88959 explained, yes for more efficiency, I also think there must be an underlying logic to determine the size of the block and blocks partitioning... Then yes, it could be very helpful to use the variance info of the block to increase the quantization step or increase the "zeroing" dead zone inside the block...
Many thanks again.
Cheers,
Raphael
nhw_pulsar
11th August 2026, 15:18
Hello,
I am ultra lazy currently to implement variance-adaptive-quantization (I'll try later...), but I was just wondering to simplify the process: Would it be equivalent to just see if inside a block, there are many high value wavelet coeffs, this would mean that the variance of the block is high? And then we can do more aggressive visual masking on the wavelet coeffs of that block?
Cheers,
Raphael
lieff
11th August 2026, 18:11
Hello,
I am ultra lazy currently to implement variance-adaptive-quantization (I'll try later...), but I was just wondering to simplify the process: Would it be equivalent to just see if inside a block, there are many high value wavelet coeffs, this would mean that the variance of the block is high? And then we can do more aggressive visual masking on the wavelet coeffs of that block?
Cheers,
Raphael
I have in mind two variants:
1. Bit-free (not need to encode extra bits). Decoder looks at already de-quantized coefficients from up and left in some area in sub-band and compute variance. If variance high - increases quantization. This variant I tried before with no much luck. Disadvantage that decision always made on area corner.
2. Encode variance map for example 2-bit per 32х32 (16 bytes per 256х256). Advantage that now decisions made not always at block corner.
nhw_pulsar
11th August 2026, 18:40
I have in mind two variants:
1. Bit-free (not need to encode extra bits). Decoder looks at already de-quantized coefficients from up and left in some area in sub-band and compute variance. If variance high - increases quantization. This variant I tried before with no much luck. Disadvantage that decision always made on area corner.
2. Encode variance map for example 2-bit per 32х32 (16 bytes per 256х256). Advantage that now decisions made not always at block corner.
Hi lieff,
Many thanks for your input. I'll test your 2 processings.-In the meantime, if you (or someone else) find a better solution, do not hesitate to show up.-
Just a question about your image codec WTPC, I didn't have time to seriously test your codec against AVIF, but I noticed that WTPC has a very strong precision, how much it resembles to the source image. In your tests, would you find that WTPC has a better precision than AVIF?
Cheers,
Raphael
lieff
11th August 2026, 19:32
Hi lieff,
Many thanks for your input. I'll test your 2 processings.-In the meantime, if you (or someone else) find a better solution, do not hesitate to show up.-
Just a question about your image codec WTPC, I didn't have time to seriously test your codec against AVIF, but I noticed that WTPC has a very strong precision, how much it resembles to the source image. In your tests, would you find that WTPC has a better precision than AVIF?
Cheers,
Raphael
I have comparison with avif in results.md: https://github.com/lieff/miniwtpc/blob/main/results.md#compare-with-avif
Even on slowest speed avif wins only 2 KB to 26 KB range for ssim2 metric. It leads by PSNR though. WTPC takes lead by PSNR only closer to AVIF --speed 10.
Currently codec fully tuned for ssimulacra2 metric, for mathematical PSNR precision it needs re-tuning.
For early versions I tried tune for both metrics and results differed noticeably.
nhw_pulsar
11th August 2026, 19:54
I have comparison with avif in results.md: https://github.com/lieff/miniwtpc/blob/main/results.md#compare-with-avif
Even on slowest speed avif wins only 2 KB to 26 KB range for ssim2 metric. It leads by PSNR though. WTPC takes lead by PSNR only closer to AVIF --speed 10.
Currently codec fully tuned for ssimulacra2 metric, for mathematical PSNR precision it needs re-tuning.
For early versions I tried tune for both metrics and results differed noticeably.
Ok, actually when I evaluate codecs, I don't look at metrics, I look with my eyes, certainly because I developed NHW for neatness of image and metrics can not catch that. Anyway, congratulations for your codec, because after first tests, I am not far to think that WTPC has a better visual quality than AVIF!
LMP88959
11th August 2026, 22:09
Currently codec fully tuned for ssimulacra2 metric
I've also tried finding the set of FIR coefficients that provided the best ssimulacra2 score. Interestingly, I noticed the highest scoring ones made the image look artificially sharpened a little bit. Naturally, I had to manually offset that afterwards to make it not look oversharpened but I thought you might find it interesting that ssimulacra2 seems to prefer some oversharpening.
lieff
12th August 2026, 17:55
May be it`s because ringing\blurring artifacts is punished, this comment provides a general idea https://github.com/cloudinary/ssimulacra2/blob/main/src/ssimulacra2.cc#L239
nhw_pulsar
19th August 2026, 15:35
Hello,
Very quickly, I think I am finishing to improve the weight sequence (as it is really harder and harder -for me-...). As this new version has a better precision, I have released v0.3.4.
Cheers,
Raphael
nhw_pulsar
22nd August 2026, 16:02
Hello,
It took time but I finally tested to apply the pre_processing and the weight sequence on 256x256 tiles rather than 512x512 ones. So for a 512x512 image, there are 4 256x256 tiles, I thought it could be better as I thought the weight sequence could be better localized on a smaller tile, but actually visual results are worse... So it doesn't seem to work...
So the nhw_kernel weights tuning and weight sequence in NHW are optimized for 512x512 tile.
I'll try to finish that optimization as I think it can work and give to NHW the same precision as big codecs (to name a few: AVIF and VVC) but with more neatness of image... but this optimization is now very complex (for me)...
Cheers,
Raphael
nhw_pulsar
28th August 2026, 15:24
Hello,
For those interested, I have continued to fine-tune the nhw_kernel weights computing. v0.3.4+1 has then a better precision.
Cheers,
Raphael
nhw_pulsar
7th September 2026, 17:22
Hello,
For those interested, I have continued to improve the weight sequence. v0.3.4+2 has then a better precision.
Cheers,
Raphael
nhw_pulsar
16th September 2026, 16:43
Hello,
For those interested, I am continuing to fine-tune the nhw_kernel weights computing. v0.3.4+3 has then an incremental precision improvement.
Cheers,
Raphael
Columbo
16th September 2026, 17:34
I'm sure Claude Code could implement arbitrary size support for you. With that people may start giving a da*n.
nhw_pulsar
16th September 2026, 19:07
I'm sure Claude Code could implement arbitrary size support for you. With that people may start giving a da*n.
Hello Columbo,
Many thanks for your advice.Yes I have read that Claude Code is extremely impressive, but adapting NHW to any image resolution is really a very specific and complex task, and currently I really fear that I'll spend a huge amount of time to ultra prompt Claude Code (with no guarantee of success furthermore, like a bit-exact codec with the same quality)...
Cheers,
Raphael
Columbo
16th September 2026, 19:33
You'll never know until you try, and you can always abandon it if it gets too involved. Trust me Fable kicks butt.
Or you can just resign yourself to wasting your time on something only you care about.
nhw_pulsar
25th September 2026, 19:17
Hello,
For those interested, I have continued to fine-tune the nhw_kernel weights computing. v0.3.4+4 has then an incremental precision improvement.
Cheers,
Raphael
nhw_pulsar
3rd October 2026, 15:34
Hello,
Just very quickly, I'll try to resume work on NHW next week (I am not in good shape these last days).... Nevermind, I had a (stupid) question, would there be some people here that know GitHub well? My question is that in average I have 15 clones per week of the NHW codec repo, but someone told me that he knows many "unseen little repos" (with zero stars, zero fork,...) that have also in average 15 clones per week, and so he thinks that the clones of my repo don't come from real developers but from bots... Would you confirm it?
Cheers,
Raphael
Columbo
3rd October 2026, 16:02
The friend is probably right, at least for a good share of those clones. It cannot be confirmed for certain, because GitHub does not reveal who clones a repo, but a steady baseline of a dozen or so clones per week is typical for public repos with no human interest at all.
Where non-human clones come from:
-Mirroring and archiving services, such as Software Heritage and code search indexers
-Security and secret scanners that sweep public repos
-Dataset and AI training scrapers
-The repo's own GitHub Actions runs, if it has any, since each checkout counts as a clone
-Your own clones and pulls from other machines
What you can check to judge real interest:
-Unique cloners: under Insights > Traffic, compare "Clones" with "Unique cloners". Many clones from one or two unique cloners points to automation or CI.
-Views and unique visitors: bots that clone via git usually never load the web page, so real page visitors are a better sign of people.
-Referring sites: traffic arriving from forums, search engines, or Hacker News indicates humans following links.
-Spikes: bot traffic is flat week after week, while human interest shows up as a jump after you post about the codec somewhere. Your endless tweaking is not helpful in this regard.
-Harder-to-fake signals: stars, forks, watchers, issues, pull requests, and release download counts.
The traffic page only keeps 14 days of data, so you would need to record the numbers regularly to see any trend.
Honestly, and with all due respect, I have to suggest that there is little interest in this project, mainly due to the image size restriction and endless tweaking, plus the fact that there are far superior image compression methods. I know it's disappointing but maybe you should consider redirecting your energy in more productive directions.
nhw_pulsar
3rd October 2026, 16:17
The friend is probably right, at least for a good share of those clones. It cannot be confirmed for certain, because GitHub does not reveal who clones a repo, but a steady baseline of a dozen or so clones per week is typical for public repos with no human interest at all.
Where non-human clones come from:
-Mirroring and archiving services, such as Software Heritage and code search indexers
-Security and secret scanners that sweep public repos
-Dataset and AI training scrapers
-The repo's own GitHub Actions runs, if it has any, since each checkout counts as a clone
-Your own clones and pulls from other machines
What you can check to judge real interest:
-Unique cloners: under Insights > Traffic, compare "Clones" with "Unique cloners". Many clones from one or two unique cloners points to automation or CI.
-Views and unique visitors: bots that clone via git usually never load the web page, so real page visitors are a better sign of people.
-Referring sites: traffic arriving from forums, search engines, or Hacker News indicates humans following links.
-Spikes: bot traffic is flat week after week, while human interest shows up as a jump after you post about the codec somewhere. Your endless tweaking is not helpful in this regard.
-Harder-to-fake signals: stars, forks, watchers, issues, pull requests, and release download counts.
The traffic page only keeps 14 days of data, so you would need to record the numbers regularly to see any trend.
Honestly, and with all due respect, I have to suggest that there is little interest in this project, mainly due to the image size restriction and endless tweaking, plus the fact that there are far superior image compression methods. I know it's disappointing but maybe you should consider redirecting your energy in more productive directions.
Hi Columbo,
Many thanks for your very informative answer. So as I have hardly no unique visitors (except me), then my clones come from bots... That's not a good news...
I am still planning to finish to fine-tune the nhw_kernel weights and weight sequence for a better precision this end of year... then yes as there is no interest in the experimental prototype, I'll certainly care about other priorities now...
Cheers,
Raphael
Columbo
3rd October 2026, 16:21
Thank you Raphael for your gracious reaction to my somewhat blunt post.
I am still planning to finish to fine-tune the nhw_kernel weights and weight sequence for a better precision this end of year... Why not draw the line now and get on to something else, where your skills would be appreciated? The tweaking suggests there is no real finish. And the "better precision" is totally subjective in any case.
I would also suggest that coding AI such as Claude Code is indispensable nowadays. The advantages are well-known so I won't dwell on them.
My respect to you sir!
nhw_pulsar
3rd October 2026, 16:37
Thank you Raphael for your gracious reaction to my somewhat blunt post.
Why not draw the line now and get on to something else, where your skills would be appreciated? The tweaking suggests there is no real finish. And the "better precision" is totally subjective in any case.
I would also suggest that coding AI such as Claude Code is indispensable nowadays. The advantages are well-known so I won't dwell on them.
My respect to you sir!
Thanks to you Columbo to spend some of your precious time on NHW.
When I say I would like to achieve a "good precision" this end of year, I mean that I would like that NHW image resembles to the source image as much as AVIF, VVC,...( while keeping NHW efficient neatness), and yes this is evaluated by eye...
Yes I am also more and more aware that AI could really help me in this task. For that, would you suggest me that free version of Claude Code is sufficient or I must suscribe for a paid version?
Cheers,
Raphael
Columbo
3rd October 2026, 18:20
When I say I would like to achieve a "good precision" this end of year, I mean that I would like that NHW image resembles to the source image as much as AVIF, VVC,...( while keeping NHW efficient neatness), and yes this is evaluated by eye... Well, please yourself I suppose but it makes little sense to me.
Yes I am also more and more aware that AI could really help me in this task. For that, would you suggest me that free version of Claude Code is sufficient or I must suscribe for a paid version?
It can surely get you started and may be perfectly fine for continued use. Use Opus 5.5 on medium effort. You may get usage timeouts but just wait them out. In my case Claude Code quickly became so valuable that I got the Max plan and run Fable 5.1 high effort (some rare stuff on xhigh). But I have deep pockets ($100/month). I think there is an intermediate plan at $20 IIRC. Let me know if you want some help getting started. You could make a new thread here under General Discussion. I'm sure others would be interested. Maybe "Getting Started with Claude Code". Or you can make a thread at DG Tools forum under General.
Bear in mind it will not help with subjective judgement of "precision" and "neatness". You can ask what he thinks would be suitable objective metrics and help you with those. However, you've been averse to objective measures and I'm not sure why. It's part of the reason for no/limited uptake of your project. Beyond that, coding, debugging (this one is huge), design, reviews, documentation, familiarizing/understanding with codebases (another biggie), etc. are all in Claude's wheelhouse.
Trust me, it will change your life!
nhw_pulsar
3rd October 2026, 18:55
Well, please yourself I suppose but it makes little sense to me.
It can surely get you started and may be perfectly fine for continued use. Use Opus 5.5 on medium effort. You may get usage timeouts but just wait them out. In my case Claude Code quickly became so valuable that I got the Max plan and run Fable 5.1 high effort (some rare stuff on xhigh). But I have deep pockets ($100/month). I think there is an intermediate plan at $20 IIRC. Let me know if you want some help getting started. You could make a new thread here under General Discussion. I'm sure others would be interested. Maybe "Getting Started with Claude Code". Or you can make a thread at DG Tools forum under General.
Bear in mind it will not help with subjective judgement of "precision" and "neatness". You can ask what he thinks would be suitable objective metrics and help you with those. However, you've been averse to objective measures and I'm not sure why. It's part of the reason for no/limited uptake of your project. Beyond that, coding, debugging (this one is huge), design, reviews, documentation, familiarizing/understanding with codebases (another biggie), etc. are all in Claude's wheelhouse.
Trust me, it will change your life!
Ok. Very quickly it's my own opinion but I am averse to objective metrics (like PSNR, SSIM) because most often I see images with low PSNR,SSIM, that have a better visual quality than images with high PSNR, SSIM. What I'll say will be extremely controversial (and I won't make friends) but on my first tests, I would find with my eyes that wavelet codecs: Rududu and WTPC have a better visual quality than AVIF on 70% of my test images, despite that AVIF has very higher PSNR...
But you're right, and I'm quite interested, increasing PSNR of NHW could be a good plan, I'll accompany it with visual validation...
So I'll try Claude Code when I get better and have more energy, and thank you very much for proposing your help.
Cheers,
Raphael
Columbo
3rd October 2026, 19:18
Gotcha on the metrics but realize others may look and have the exact opposite conclusion. And who's to say who is right.
Hehe, with Claude Code you'll need less energy. :p
Have a great weekend.
nhw_pulsar
3rd October 2026, 19:48
Gotcha on the metrics but realize others may look and have the exact opposite conclusion. And who's to say who is right.
You've got a point!
Hehe, with Claude Code you'll need less energy. :p
Have a great weekend.
Many thanks, great weekend to you too!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.