0

I'm trying to develop a JPEG encoder by using 16x16 quantization table block and DCT block instead of 8x8. I faced some issues while I'm writing the JFIF header of this new image. 0xFFDB is the JFIF marker of the quantization table. there is 2 bytes to set the size of the quantization table and in my case the size is (256+3) = 259. after saving the image MATLAB can't read or show it. so i used a tool to read the JFIF header and i noticed that the 16x16 quantization table is divided into many tables of 8x8 block!!!!! As shown in this picture. Is there is any solution for this problem????

  • JPEG only supports 8x8 DCT blocks. When color subsampling is enabled, the MCU size might be 16x16 pixels, but it is still made up of 8x8 DCT blocks. Your experiment will never produce valid JPEG files. If you want to define a new file type for your 16x16 blocks, that's another issue. – BitBank Jul 02 '15 at 11:59
  • I knew, but i didn't create this method from my mind, i read many papers which use blocks greater than 8x8, so the idea can be applied. – Bilal Maskaleh Jul 03 '15 at 12:23
  • I didn't say it's not a valid idea. I said that it won't be a valid JPEG file. Larger and smaller DCT blocks are used in h.264, but that doesn't mean you can just implement them in JPEG and expect it to work. Please provide a document link which shows how JPEG files support other size DCT blocks. – BitBank Jul 03 '15 at 16:03
  • okay. this paper discusses a steganographic method implemented over JPEG image using 16x16 quantization table [link](http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=4529388&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D4529388) – Bilal Maskaleh Jul 03 '15 at 23:08
  • and this is another paper [link](https://ia600400.us.archive.org/29/items/2.ElectricalIJEEEModifiedChetnaNagpal/2.%20Electrical%20-%20IJEEE%20-%20Modified%20-%20Chetna%20Nagpal.pdf) – Bilal Maskaleh Jul 03 '15 at 23:22
  • The paper PROPOSES a 16x16 DCT block as a way to hide more non-image data in a JPEG style image, but they're very light on details about how it would be a valid JPEG. They're testing with JPEG images only means that they modified a codec to support their proposed method, not that the images will come out as compatible. It's actually a simplistic idea and it makes me wonder why they didn't spend their time on a more worthwhile pursuit. – BitBank Jul 04 '15 at 07:42

0 Answers0