基于DM642的JPEG压缩初步设计
来源:互联网 发布:微盘程序源码 编辑:程序博客网 时间:2024/05/24 23:14
JPEG材料整理
处理目标:将1600*1200大小的YUV 4:2:0 8bit文件压缩成为JPEG文件,并通过网口传输。
编码参数设定
设定视频图像的基本信息,包括:
视频起始帧号:
视频结束帧号:
当前帧位置:
图像的宽:
图像的高:
采样格式:4:4:4,4:2:2,4:2:0或灰度……
图像色彩类型:单分量或多分量
DCT类型:
量化质量(5~95):
量化类型(整型、浮点):
是否使用自有量化表:
PS:量化质量系数(quality)的测定:
Quality<50: quality=5000/quality
Quality>50: quality=200-quality*2
对与量化系数的处理是:(basictable[i]*quality+50)/100
l 图像预处理
对于已采样好的4:2:0图像,我需要将其处理成适合做JPEG的大小。
1. 将它的宽和高分别扩展为8的倍数,便于分块。
Jpeg_frame_expandborder_mod8()
CCD目前采入图像为1688*1236
2. 设定分块方法。
PS:考虑是否要将8bit数据扩展为16bit进行运算呢?TI IMGLIB中提供了IMG_pix_expand函数,对于一帧1600Í1200图像进行扩展的运算量为3Í(1600Í1200Í1.5)/16+15= 540,015.
l 前向DCT变换
TI的IMGLIB里提供了IMG_fdct_8Í8()函数(16位输入),一帧1600Í1200图像运算量约为76*((1600*1200*1.5)/64)+50=3,420,050.
目前对FDCT的优化方法主要有:
l 量化
TI的IMGLIB里提供了IMG_quantize()函数(16位输入),一帧1600Í1200图像运算量约为64/16Í((1600*1200*1.5)/64)*8+26= 1,440,026.
JPEG对DC和AC提供不同的量化表,JPEG标准给量化表给出了建议,标准本身也支持使用用户自定义的量化表。
l 行程编码
JPEG对与DC和AC系数采用不同的处理方法。
对DC系数采用DPCM编码,去除DC中的冗余,因为图像中的DC系数通常变化是连续的。
对AC系数采用Zigzag扫描,对扫描结果进行行程编码。
l 熵编码
JPEG建议使用huffman编码或算术编码。多份资料显示算术编码并不能对编码效果有显著提高暂定采用huffman编码。使用huffman编码,JPEG支持对DC和AC系数采用不同的huffman表。
- 基于DM642的JPEG压缩初步设计
- 基于TCP的STM32 IAP bootloader初步设计
- 基于DCT的JPEG图像压缩编码过程及举例
- 实验三 基于DCT编码的JPEG压缩
- DM642基于CSL的EDMA配置方法
- DM642基于CSL的EDMA配置方法
- 基于DM642的MPEG-2视频压缩编码
- 基于哈希数据结构的Ogre自定义文件系统初步设计方案
- 基于JPEG压缩编码的数据压缩算法的研究与实现
- 基于Matlab的DCT(离散余弦变换)的JPEG图像压缩
- jpeg压缩
- jpeg压缩
- 基于CUDA的JPEG解码
- 基于DM642的X264开源代码实现的研究
- 基于DM642的图像边缘检测算法的研究
- 基于DM642的X264开源代码实现的研究
- 简单类的初步设计
- 基于DM642的MPEG-2视频压缩编码(二)
- 我一直用nokia的手机
- 随便记录一下
- onunload在Maxthon(傲游)中的问题
- cin流的状态和缓存刷新问题
- nice batch
- 基于DM642的JPEG压缩初步设计
- 58种网页常用小技巧(javascript)
- 2004 Java 官方开发工具总览
- DirectShow开发环境配置
- 用POI的HSSF来控制EXCEL的研究
- 平静的生活,有时候也很小资.
- Let's learn from each other!
- [转]Eclipse开发: Struts 2 + Spring 2 + JPA + AJAX
- 使用JasperReport与iBATIS开发Web报表