原文:Tiny Jpeg Decoder (JPEG解码程序) 源代码分析

本文转自:http: blog.csdn.net leixiaohua article details Tiny Jpeg Decoder是一个可以用于嵌入式系统的JPEG解码器。也可以在Windows上编译通过。在此分析一下它部分的源代码,辅助学习JPEG解码知识。 通过TinyJpeg可以将JPEG .jpg 文件解码为YUV .yuv 或者RGB .tga 文件。 真正的解码开始于conve ...

2015-05-18 11:29 0 2847 推荐指数:

查看详情

JPEG解码——(4)霍夫曼解码

本篇是该系列的第四篇,承接前篇的文件头解析,主要介绍霍夫曼解码相关内容。 承接上篇,文件头解析完毕后,就进入了编码数据区域,即SOS的tag后的区域,也是图片数据量的大头所在。 1. 待处理的数据区域   一个例子来说明,仍使用那张animal_park.jpg的图片。   其二进制数据 ...

Mon Feb 22 09:25:00 CST 2021 0 507
JPEG解码:huffman解码

huffman解码JPEG图片解码里面的关键步骤,也是最复杂的一步。在fsm模块中DHT状态下读取的不仅仅是huffman表,还有另外两个表,一个是存放1-16不同码长的最小编码的一个表,另一个是存放最小编码的地址的表。在huffman解码中需要用到这两个表,还有在本模块也集成了反量化模块 ...

Sun Mar 18 10:08:00 CST 2012 3 3677
JPEG解码——(1)JPEG文件格式概览

  由于懒和人的忘性,以前做的一些笔记再回过头看时又有些生疏了,我决定把一些内容整理出来,以供有需要的来参考。 了解的人知道其价值所在,不知道的人就弃之如废物吧。   本篇是JPEG解码系列的第一篇——JPEG文件格式概览。 1. 图片文件的数据是什么?   这是一幅人眼可视的图片 ...

Sat Jan 16 23:55:00 CST 2021 0 680
JPEG解码:反DCT变换(一)

DCT(Discrete Cosine Transform)离散余弦变换是一种经典谱分析方法,属于离散傅立叶变换的一种特殊情况,即在变换后的傅立叶级数中只包括余弦项,变化后的数据比较集中。经过DCT变换可以将图片从色彩域转换到频率域,将原始图像的信息块转化为代表不同频率分量的系数集。它是一种广泛 ...

Thu Mar 22 11:36:00 CST 2012 4 5851
JPEG解码——(3)文件头解析

  与具体的编码数据空间相比,jpeg文件头占据非常小乃至可以忽略不计的大小。   仍然拿JPEG解码--(1)JPEG文件格式概览中的《animal park》这张图片来举例,从跳过SOS(FF DA)的TAG开始——offset=0x153, 就真正进入了编码数据区域,如下图所示 ...

Sat Jan 30 08:48:00 CST 2021 0 747
图像解码之一——使用libjpeg解码jpeg图片

多媒体应用在现在电子产品中的地位越来越重要,尤其是在嵌入式设备中。本系列文章将会介绍利用libjpeg解码jpeg文件,libpng解码png文件,libgif解码gif文件。本文为第一篇,介绍使用libjpeg解码jpeg文件。 libjpeg简介 libjpeg是一个完全用C语言 ...

Tue Feb 14 01:26:00 CST 2012 0 11714
JPEG解码——(6)IDCT逆离散余弦变换

  本篇是该系列的第六篇,承接上篇IZigZag变换,介绍接下来的一个步骤——逆离散余弦变换,即逆零偏置前的一个步骤。   该步骤比较偏理论,其业务是对IZigZag变换后的数据,再进一步的处理,使其恢复DCT变换前的数据。   需要补充一点说明的是,上面的DCT其实是DCT2,因为jpeg ...

Sun Mar 28 00:29:00 CST 2021 0 364
JPEG解码——(5)反量化和逆ZigZag变换

  本篇是该系列的第五篇,承接上篇huffman解码,介绍接下来的两个步骤——反量化和逆zigzag变换,即IDCT前的两个步骤。   需要说明的是,这两个步骤可以颠倒,本人的实现是,先反量化,再逆ZigZag变换。   其实,这两步不需要太多说明,无非是查表对数据进行scale和数据重排 ...

Tue Mar 02 08:01:00 CST 2021 0 359
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM