[gdal-dev] Is Internal JPEG compression allowed on RGBA GeoTIFF?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[gdal-dev] Is Internal JPEG compression allowed on RGBA GeoTIFF?

Daniele Romagnoli-3
Dear all,
I was always thinking that JPEG doesn't support transparency so that it would not be possible to convert a 4 bands GeoTIFF using JPEG compression (without using internal binary mask).

However, I just did a gdal_translate -ot byte -scale -CO COMPRESS=JPEG 4bands.tif rgba_jpeg.tif and it "worked". 

The gdalinfo output on the new file reports 4 bands dataset with Gray,Green,Blue,Alpha colors.

Does the TIFF specification allows that?
I still have to read it again to check if/how alpha and JPEG compression are related, but I'm wondering if you have any feedback on this topic in order to understand if a "standard" GeoTIFF reader should be able to deal with that or not and how to deal with the Alpha band (which at this point would be a Lossy band, containing artifacts).

Feedbacks are welcome.
Regards,
Daniele










--
Regards,
Daniele Romagnoli
==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information.
==

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:      +39 0584 1660272


-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
 
The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Is Internal JPEG compression allowed on RGBA GeoTIFF?

Even Rouault-2

Daniele,

 

> Dear all,

> I was always thinking that JPEG doesn't support transparency so that it

> would not be possible to convert a 4 bands GeoTIFF using JPEG compression

> (without using internal binary mask).

>

> However, I just did a gdal_translate -ot byte -scale -CO COMPRESS=JPEG

> 4bands.tif rgba_jpeg.tif and it "worked".

>

> The gdalinfo output on the new file reports 4 bands dataset with

> Gray,Green,Blue,Alpha colors.

 

I guess you have a .aux.xml file with color interpreation in them. To get a proper RGBA file, add -co PHOTOMETRIC=RGB

 

>

> Does the TIFF specification allows that?

 

I didn't find anything in the TechNote 2, which defines JPEG in TIFF compression, that would restrict using RGBA

ftp://ftp.sgi.com/graphics/tiff/TTN2.draft.txt

 

Using imagemagick or gimp seems to show they can decode JPEG-compressed RGBA files correctly, but I've no idea how interaporable it is outside of libtiff-based decoders (which they are)

 

> I still have to read it again to check if/how alpha and JPEG compression

> are related, but I'm wondering if you have any feedback on this topic in

> order to understand if a "standard" GeoTIFF reader should be able to deal

> with that or not and how to deal with the Alpha band (which at this point

> would be a Lossy band, containing artifacts).

 

Yes, the alpha band will be lossily compressed. I guess it would be possible to tweak the encoder to use a very conservative quantization table for the alpha component so as to limit the loss on this channel (not implemented right now in GDAL)

 

Basically, you are limited by the combined limitations of TIFF and JPEG spec

 

So for a pixel-interleaved TIFF (the default with GDAL), up to 4 components (since the JPEG spec limits to 4 components per JPEG "scan", and libtiff only knows to drive libjpeg to generate a single scan), which could be RGBA or CMYK depending on the PhotometricInterpreation and ExtraSamples tag values.

 

For a band-interleave TIFF ( -co INTERLEAVE=BAND), you can have an arbitrary number of bands.

 

Even

 

--

Spatialys - Geospatial professional services

http://www.spatialys.com


_______________________________________________
gdal-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
Loading...