I don’t think it’s particularly unusual for any compression algorithm to have 
this sort of behaviour once it’s “maxed out”.

Running the in-built zstd benchmarks from the command line without any custom 
parameters – so entirely separate of how GDAL uses it – it shows your observed 
behaviour to an even greater extent, with most levels doing worse than level 1!

Level
Size
% Smaller than Level 1
1
3154783
0.00%
2
3130807
0.76%
3
3231415
-2.43%
4
3346308
-6.07%
5
3335646
-5.73%
6
3340284
-5.88%
7
3324298
-5.37%
8
3315170
-5.08%
9
3321085
-5.27%
10
3355473
-6.36%
11
3355932
-6.38%
12
3355857
-6.37%
13
3355401
-6.36%
14
3354678
-6.34%
15
3353801
-6.31%
16
3083731
2.25%
17
3142331
0.39%
18
3147466
0.23%
19
3146084
0.28%
20
3146548
0.26%
21
3145580
0.29%
22
3142972
0.37%

Table generated from output of `zstd -b1 -e22`, “zstd command line interface 
64-bits v1.4.7”.


Dr Daniel Evans
Software Developer

From: gdal-dev <gdal-dev-boun...@lists.osgeo.org> On Behalf Of 
matt.wil...@yukon.ca
Sent: 15 March 2021 04:04
To: gdal-dev@lists.osgeo.org
Subject: [gdal-dev] ZSTD compression level 17 smaller than 18+?

So this is curious: output to Cloud optimized Geotiff with ZSTD compression to 
Level 17 is smaller than levels 18-22. Or at least that's my results when 
testing compression results with Gdal 3.1 via Qgis 3.18 on Windows 10. I 
expected compression levels to get smaller with higher levels, at expense of 
longer and longer computation time. Levels 1 to 16 do that. Even more curious 
than 17 being the smallest of the lot is that each step 18 to 22 is 
progressively larger, albeit by a miniscule amount.

Here's my results:

% smaller than biggest
Bytes
Filename
Compression
Predictor
Level
24.2%
200,968,821
cog-zstd-pyes-lev17.tif
zstd
yes
17
22.8%
204,567,155
cog-zstd-pyes-lev18.tif
zstd
yes
18
22.8%
204,594,678
cog-zstd-pyes-lev19.tif
zstd
yes
19
22.8%
204,594,678
cog-zstd-pyes-lev20.tif
zstd
yes
20
22.8%
204,626,722
cog-zstd-pyes-lev21.tif
zstd
yes
21
22.8%
204,635,985
cog-zstd-pyes-lev22.tif
zstd
yes
22
22.6%
205,026,301
cog-zstd-pyes-lev16.tif
zstd
yes
16
21.5%
208,039,012
cog-zstd-pyes-lev15.tif
zstd
yes
15
21.5%
208,094,559
cog-zstd-pyes-lev13.tif
zstd
yes
13
21.5%
208,094,560
cog-zstd-pyes-lev14.tif
zstd
yes
14
21.3%
208,714,731
cog-zstd-pyes-lev12.tif
zstd
yes
12
21.2%
208,989,301
cog-zstd-pyes-lev11.tif
zstd
yes
11
21.2%
208,989,994
cog-zstd-pyes-lev10.tif
zstd
yes
10
21.1%
209,071,549
cog-zstd-pyes-lev9.tif
zstd
yes
9
21.0%
209,453,858
cog-zstd-pyes-lev8.tif
zstd
yes
8
20.9%
209,634,360
cog-zstd-pyes-lev7.tif
zstd
yes
7
20.7%
210,182,178
cog-zstd-pyes-lev6.tif
zstd
yes
6
20.4%
210,992,074
cog-zstd-pyes-lev5.tif
zstd
yes
5
18.9%
214,894,175
cog-zstd-pyes-lev4.tif
zstd
yes
4
17.4%
218,911,762
cog-zstd-pyes-lev3.tif
lzw
2
3
16.6%
220,991,236
cog-dflt-p2.tif
deflate
2
13.0%
230,553,902
cog-zstd-pyes-lev2.tif
zstd
yes
2
11.6%
234,277,147
cog-zstd-pyes-lev1.tif
zstd
yes
1
5.7%
249,979,858
cog-dflt-p1.tif
deflate
1
0.0%
265,062,854
cog-lzw-p2.tif
lzw
2


Command line pattern:


gdal_translate ^

  -co compress=zstd ^

  -co predictor=yes ^

  -co level=3 ^

  -co num_threads=all_cpus ^

  -of cog ^

  mtn-view.tif ^

  mtn-view-cog-zstd-pyes-lev3.tif


Source image:

Name

AerialPhotos/AerialPhotos

URL

https://mapservices.gov.yk.ca/imagery/rest/services/AerialPhotos/AerialPhotos/ImageServer

Source

crs='EPSG:3578' format='JPGPNG' layer='' 
url='https://mapservices.gov.yk.ca/imagery/rest/services/AerialPhotos/AerialPhotos/ImageServer'

CRS

EPSG:3578 - NAD83 / Yukon Albers - Projected

Export extent

Upper Left, Lower Left, Upper Right, Lower Right

356750.816,  702590.026

356750.816,  699097.526

361572.583,  702590.026

361572.583,  699097.526

Pixel size

0.5m


Do others see the same thing?


​Cheers,


Matt Wilkie
Environment | Information Management & Technology | 867-667-8133 🌄 
Yukon.ca<http://yukon.ca/>

T +44 (0)1756 799919
www.jbarisk.com<http://www.jbarisk.com>

[Visit our website]<http://www.jbarisk.com> 
[http://www.jbagroup.co.uk/imgstore/JBA-Email-Sig-Icons-LINKEDIN.png]  [Follow 
us on Twitter] <https://twitter.com/jbarisk>

Find out more about us here: www.jbarisk.com<http://www.jbarisk.com/> and 
follow us on Twitter @JBARisk<http://twitter.com/JBARisk> and 
LinkedIn<https://www.linkedin.com/company/2370847?trk=tyah&trkInfo=clickedVertical%3Acompany%2CclickedEntityId%3A2370847%2Cidx%3A2-1-2%2CtarId%3A1447414259786%2Ctas%3AJBA%20RISK%20MANAGEMENT>

The JBA Group supports the JBA Trust.

All JBA Risk Management's email messages contain confidential information and 
are intended only for the individual(s) named. If you are not the named 
addressee you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately by email if you have received this email 
by mistake and delete this email from your system.


JBA Risk Management Limited is registered in England, company number 07732946, 
1 Broughton Park, Old Lane North, Broughton, Skipton, North Yorkshire, BD23 
3FD, Telephone: +441756799919


_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to