登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 | 信息 | 空间 | VB | VC | Delphi | Java | Flash | 补丁 | 控件 | 安全 | 黑客 | 电子书 | 笔记本 | 手机 | MP3 | 杀毒 | QQ群 | 产品库 | 分类信息 | 编程网站
  立华软件园 - Visual Basic 专区 - 技术文档 - 其他消息 技术文章 | VB源代码 | 电子图书 | VB网站 | 相关下载 | 在线论坛 | QQ群组 | 搜索   
 VB技术文档
  · 窗体界面
  · 系统控制
  · VB.Net
  · 多媒体
  · 网络编程
  · API函数
  · 游戏编程
  · 数据报表
  · 其他文档
 VB源代码
  · 窗体界面
  · 文件目录
  · 多媒体
  · 网络编程
  · 系统API
  · 数据报表
  · 游戏编程
  · VBA办公
  · 其他代码
 VB论坛
  · Visual Basic 讨论区
  · VB.Net 讨论区
  · VB数据库开发讨论区
  · VB系统API讨论区
 其他VB资源
  · VB下载资源
  · VB电子图书
  · VB QQ群组讨论区
  · VB 其他网站资源




JPEG图片压缩程序
发表日期:2006-03-07 文件大小:82KB 下载次数:8561  

源代码说明:   这是一个比较完整的JPEG压缩程序,支持 彩色/灰度、Y分量水平/垂直采
样律、图像质量 调整。使用的是最简单的基线系统(BaseLine)压缩方式,
量化表及Huffman表都是与ACDSee一致的,没有提供自适应Huffman表压缩功能。


速度测试
~~~~~~~~
CPU:赛杨733
内存:128MB SDRAM
操作系统:Windows 98 SE
(请运行编译后的exe!在VB开发环境下是解析运行,大规模数据处理速度很慢)

(单位:毫秒ms)
┏━━━━┳━━━━━━┯━━━━━┯━━━━━┓
┃    ┃512*512 Lena│ 800*600 │ 1024*768 ┃
┣━━━━╋━━━━━━┿━━━━━┿━━━━━┫
┃ 灰度 ┃ 376.9725 │ 597.6534 │ 950.3084 ┃
┠────╂──────┼─────┼─────┨
┃彩色 1:1┃ 676.0799 │1097.7514 │1655.6605 ┃
┠────╂──────┼─────┼─────┨
┃彩色 2:1┃ 587.0741 │ 921.2441 │1384.4843 ┃
┠────╂──────┼─────┼─────┨
┃彩色 1:2┃ 574.2990 │ 905.8943 │1394.3513 ┃
┠────╂──────┼─────┼─────┨
┃彩色 2:2┃ 509.0129 │ 806.8808 │1251.1223 ┃
┗━━━━┻━━━━━━┷━━━━━┷━━━━━┛

注:
  “彩色 x:y”表示Y分量的水平/垂直采样滤。
    1:1:YUV 111
    2:1:YUV 422(水平)
    1:2:YUV 422(垂直)
    2:2:YUV 411


提示
~~~~
JPEG压缩分为三个部分:
1.JPEG压缩原理及算法(RGB/YCbCr,DCT/IDCT,量化,Z字型编码,用DPCM对DC/用RLE对AC编码/Huffman编码)
2.JPEG标记格式
3.JPEG图片文件的组织形式(位于SOS后的图像压缩数据是由MCU块怎样排列的,特别是使用了DRI之后)

细节问题
~~~~~~~~
1.解码过程中遇到“FF 00”当“FF”处理,否则忽略“FF”
2.进行DCT前YCbCr要减128,进行IDCT前要加128(相当于Y减128,CbCr不需要加128)
3.每个标记中数据可以不止一个(去掉长度的部分就是一段)


参考文献
~~~~~~~~
1.何斌《VC++数字图像处理》人民邮电出版社, 2001.4
2.张益贞《VC++实现JPEG/MPEG编解码技术》人民邮电出版社, 2002.11
3.杨淑莹《VC++图像处理程序设计》清华大学出版社/北方交通大学出版社, 2003.11(SOF0中,宽度/高度 写反了)
4.网络上的一些文章,比如 云风的“JPEG 简易文档 V2.12”……


VB不适合编写高速JPEG压缩程序的原因
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.JPEG压缩需要大量的位运算,而VB中只能靠乘除来移位,效率太低了
2.在高级语言中确定一个整数占用的位数需要一大堆if,可在汇编中一条位扫描指令就行了
3.浮点DCT变换太慢,而 AAN快速DCT变换算法MMX优化版 早就公布n年了

立即下载

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索

 ■ [欢迎对本文发表评论]
用  户:  匿名发出:
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接  
Copyright ©2001-2006 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00158