Is your feature request related to a problem? Please describe.
OpenZL looks very promising for structured compression. I am getting very fast decompression results, and the graph-based design seems to open the door to a more unified compression framework, rather than relying on many independent codec-specific pipelines. I really like the direction of the project ❤️.
My use case is geospatial and scientific raster data, such as DEMs, Earth Observation imagery, climate grids, hyperspectral cubes, and tiled raster formats commonly handled by libraries such as GDAL.
GDAL is the main open-source library used to read, write, and process geospatial raster and vector data.
For raster data, one of the strongest sources of redundancy is spatial. A raster tile is not just a byte array. It usually has additional structure, such as:
width and height
number of bands
data type
interleave mode
nodata values
spatial neighborhood relationships
Traditional raster formats often exploit this structure using predictors before entropy coding. Examples include TIFF horizontal differencing, floating-point predictors, JPEG-LS/LOCO-I-style predictors, Paeth-like predictors, and simple spatial differencing schemes.
My question is about the best architectural fit for this kind of use case in OpenZL.
Describe the solution you'd like
I would like to understand what the OpenZL team considers the most appropriate approach for spatial raster predictors.
One possible direction is that the host format or library, for example GDAL, applies raster-specific predictors first. OpenZL would then receive residuals or transformed byte streams and compress them as generic data.
Another possible direction is that OpenZL provides standard shape-aware primitives for dense 2D numeric arrays. For example:
row or left predictor
column or up predictor
gradient predictor
Paeth-like predictor
simple 2D neighbor predictors
This would allow an OpenZL graph to describe the full compression pipeline in a portable way, while keeping the compressed stream decodable by a standard OpenZL decoder.
I am not sure which direction better matches OpenZL's design philosophy.
So the main question is:
Should spatial raster predictors live outside OpenZL, with OpenZL only compressing transformed streams, or would generic 2D spatial prediction primitives be considered in scope for standard OpenZL codecs?
Is your feature request related to a problem? Please describe.
OpenZL looks very promising for structured compression. I am getting very fast decompression results, and the graph-based design seems to open the door to a more unified compression framework, rather than relying on many independent codec-specific pipelines. I really like the direction of the project ❤️.
My use case is geospatial and scientific raster data, such as DEMs, Earth Observation imagery, climate grids, hyperspectral cubes, and tiled raster formats commonly handled by libraries such as GDAL.
GDAL is the main open-source library used to read, write, and process geospatial raster and vector data.
For raster data, one of the strongest sources of redundancy is spatial. A raster tile is not just a byte array. It usually has additional structure, such as:
width and height
number of bands
data type
interleave mode
nodata values
spatial neighborhood relationships
Traditional raster formats often exploit this structure using predictors before entropy coding. Examples include TIFF horizontal differencing, floating-point predictors, JPEG-LS/LOCO-I-style predictors, Paeth-like predictors, and simple spatial differencing schemes.
My question is about the best architectural fit for this kind of use case in OpenZL.
Describe the solution you'd like
I would like to understand what the OpenZL team considers the most appropriate approach for spatial raster predictors.
One possible direction is that the host format or library, for example GDAL, applies raster-specific predictors first. OpenZL would then receive residuals or transformed byte streams and compress them as generic data.
Another possible direction is that OpenZL provides standard shape-aware primitives for dense 2D numeric arrays. For example:
row or left predictor
column or up predictor
gradient predictor
Paeth-like predictor
simple 2D neighbor predictors
This would allow an OpenZL graph to describe the full compression pipeline in a portable way, while keeping the compressed stream decodable by a standard OpenZL decoder.
I am not sure which direction better matches OpenZL's design philosophy.
So the main question is:
Should spatial raster predictors live outside OpenZL, with OpenZL only compressing transformed streams, or would generic 2D spatial prediction primitives be considered in scope for standard OpenZL codecs?