gdal icon indicating copy to clipboard operation
gdal copied to clipboard

HEIF/AVIF driver's creation capabilities for 16-bit multispectral images. And add VVC driver.

Open lidq92 opened this issue 1 year ago • 9 comments

Feature description

Hope that HEIF, AVIF, and VVC drivers support creation capabilities for 16-bit multispectral images.

I can use HEVC reference software HM and VVC reference software VTM for the compression of remote sensing images. I wonder if I can do the HEVC/VVC compression with GDAL's raster driver. So I just ran gdal_translate -q -of HEIF ARAD_1K_0950.tif ARAD_1K_0950.heif, then got ERROR 1: HEIF driver has no creation capabilities. After checking the doc, I found that HEIF does have no creation capabilities in the current version. Besides, AVIF supports only 8/10/12-bit images, single-bland, single-band and alpha channel, RGB and RGBA. AVIF also does not support compression of 16-bit multispectral images with more than 4 bands.

Additional context

No response

lidq92 avatar Oct 26 '24 10:10 lidq92

CC @bradh

@lidq92 HEIF creation capabilities have just landed in GDAL master (3.11.0dev) a few days ago. Did you try to build it from source?

rouault avatar Oct 26 '24 10:10 rouault

CC @bradh

@lidq92 HEIF creation capabilities have just landed in GDAL master (3.11.0dev) a few days ago. Did you try to build it from source?

My current version is '3.11.0dev-bafd1ad193' (Maybe from your https://github.com/rouault/gdal/tree/fix_11095). I will have a try on the latest one. I just git clone the latest master, but haven't installed and tried it.

lidq92 avatar Oct 26 '24 10:10 lidq92

Adding more creation capabilities is planned but not scheduled.

@lidq92 are you in a position to assist with that work?

There are inherent limitations in some formats and in some implementations of those formats. Uncompressed might be the best way to handle some use cases. JPEG 2000 variations may also be good options. So we may need enhancements at the libheif, libavif or codec level as well as the GDAL work?

bradh avatar Oct 26 '24 10:10 bradh

@bradh I appreciate the update and would be happy to assist with relevant work. However, I want to mention that my skills in C/C++ programming are somewhat limited. I will try to contribute some codes, but I might be able to contribute primarily by reviewing the changes and conducting verification tasks for the functionality.

Let me know how I can help!

lidq92 avatar Oct 26 '24 11:10 lidq92

@lidq92 I have also been studying remote sensing image compression (16-bit depth, 4 bands) recently, and I would like to know how to use VTM to process this type of remote sensing image. I would be very grateful if you could answer my question!

3sanyu avatar Aug 05 '25 11:08 3sanyu

@3sanyu Do you have a source that produces remote sensing images in HEIF or AVIF format with 16-bit or 4+ bands?

bradh avatar Aug 05 '25 11:08 bradh

@bradh I also cannot find a source that provides 16-bit/4+ band HEIF/AVIF...

3sanyu avatar Aug 05 '25 12:08 3sanyu

I would expect to see more development in this area in the next 6 months. There are some limits in some encoder formats and encoder implementations for number of bands and bit depth. So it might not be 4 band pixel interleave...

bradh avatar Aug 05 '25 22:08 bradh

@lidq92 I have also been studying remote sensing image compression (16-bit depth, 4 bands) recently, and I would like to know how to use VTM to process this type of remote sensing image. I would be very grateful if you could answer my question!

You can use VTM without GDAL. For example, see https://github.com/lidq92/LoCaCF-HSIC/blob/main/Codecs.py#L130

lidq92 avatar Aug 11 '25 01:08 lidq92