0

I want to decode and understand the structure of various latest image formats (namely WebP, JPEG XL, HEIF and AVIF) and compare header information with respect to image data to see which format is header information heavy with respect to image data. I was wondering how I can do this using Python.

Is there a simple way to decode various image file formats of the same image in either HEX or Binary and learn how much of the file contents is the image data and how much else is the header information? Better yet, is there a way to learn the breakdown of header information for various file formats??

So far I got to a point where I got a file to open in binary mode (Below is the sample code I have for the AVIF test image) but I'm not sure how I can decrypt, read and understand the structure. Googling around, I found some information for JPEG format (like the information shown on this page for JPEG https://yasoob.me/posts/understanding-and-writing-jpeg-decoder-in-python/) but none for WebP, HEIF, and AVIF on how I can read the binary format.

image = 'test.avif'

with open(image, 'rb') as image_file:

content = image_file.read() 

Content

I wish to know how exactly can we extract the header information from the images while compression.

0 Answers0