jpeg Image Compression Implementation

4 views (last 30 days)
Hey All,
How is image compression done in real digital devices, laptops, cameras and mobile phones? Is it hardware or software implemented?
Regards, Yasmine

Accepted Answer

Walter Roberson
Walter Roberson on 28 Aug 2016
Yes, it is hardware or software implemented. It depends on the device, and it depends on what you define as "hardware implemented".
For example, it appears to me that the iPhone 6s uses the PowerVR GX6450 GPU architecture, and I see hints that video encoding and decoding is done on the GPU, and that would reasonably include a DCT implementation . The GX6450 features 2 Texture Mapping Units (TMU) and 32 FP32-ALUs (32 bit Arithmetic Logic Units). The TMU would not participate in DCT, so the question becomes whether the FP32-ALU has a hardware instruction for DCT or uses an algorithm based on its hardware instructions. I do not know for sure, but I think it highly likely that it is handled by an algorithm not by a single hardware instruction -- but it could be that some of the hardware instructions offer assistance.
If I understand the various bits of documentation properly (and I could easily be overlooking something), the iPhone 6s and other releases of the time were the first Apple systems that had an Image Processing System... but they were not the first ones to use a GPU. You would have to dig in to find the instruction set lists of the particular devices you were interested in to know the exact processing stage.
Have there been systems with built-in DCT instructions? Yes, I do find evidence for such things. I also find papers describing FPGA implementation for JPEG compression. But is FPGA "hardware" or "software" considering you can reprogram it? Was an EEPROM hardware or software considering you could reprogram them? If you use a CPU that turns out to be designed with microcode that can in theory be reprogrammed, then is that CPU hardware or software?
  1 Comment
Yasmin Tamimi
Yasmin Tamimi on 29 Aug 2016
Thanks a lot for the great explanation! I found better papers after reading your comment and I'm able to understand them more

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Mobile in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!