一种应急的jpeg压缩比特率控制装置和方法

文档序号:7665122阅读:134来源:国知局
专利名称:一种应急的jpeg压缩比特率控制装置和方法
技术领域
本发明涉及图像传输处理领域,尤其涉及一种应急的JPEG (Joint Photographic Experts Group ,图片编码联合专家组标准,是静态图像编码标 准)压缩比特率控制装置和方法。
背景技术
在PC camera (数码摄像头)的压缩图像传输中,由于JPEG的压缩数 据传输时并不是按恒定的比特率进行的,有的时候可能会在短时间内输出大 量的数据,形成一个峰值传输,这就对后一级处理模块的緩冲区设计提出了 很高的要求,如果输入緩冲区的数据速度高过输出的速度,緩冲区会在一定 时间后充满,造成缓冲区溢出。緩冲区溢出对于PC camera的应用来说是不能被容忍的,因为这会直接 导致用户观察到视频流中出现坏帧。为了抑制緩冲区溢出,必须加大JPEG的压缩比,但是对于及其复杂或 场景快速移动的图像,普通的比特率控制方法通常并不能将数据量无限度的 减少或者数据量减少的过程过于緩慢,这在某些极端情况下并不能緩解緩沖 区溢出的发生。在目前的JPEG压缩的视频传输方式中,虽然提供了不同模式的比特率 控制机制,但它们的压缩效果或者生效比较慢(如ABRC (auto bit rate control,自动比特率控制)的方法),或者压缩后数据量严重依赖于输入图 像。这时就需要一种能够将数据量无限压缩且快速生效的方法。发明内容本发明要解决的技术问题就是提出 一种应急的JPEG压缩比特率控制装 置和方法,解决现有技术JPEG压缩的视频传输方式中压缩效果差、生效较 慢的问题,能够将数据量接近无限压缩且快速生效。为了解决上述技术问题,本发明提供一种应急的JPEG压缩比特率控制 装置,包括JPEG模块、緩冲区模块;所述JPEG模块用于将输入的数据块 进行压缩,输出数据流给緩冲区模块;还包括緩冲区管理模块,所述緩冲区 管理模块用于根据緩沖区模块的緩沖区填充状况,控制JPEG模块是否丢弃 量化后的交流AC系数,以及丢弃多少个AC系数。进一步地,所述緩冲区管理模块根据緩沖区模块的緩沖区填充状况,发 送给JPEG模块丟弃参数,JPEG模块根据丟弃参数的值丟弃AC系数。进一步地,所述JPEG模块根据丟弃参数的值,按照高频到低频的顺序 丟弃量化后的AC系数。进一步地,所述JPEG模块丢弃AC系数为置需要丢弃的AC系数为0。进一步地,JPEG模块包括正向离散余弦变换单元、量化单元、Z字形 编码单元、变长编码单元,所述正向离散余弦变换单元、量化单元、Z字形 编码单元、变长编码单元依次连接;緩沖区管理模块反馈给JPEG模块的量 化单元丟弃参数;正向离散余弦变换单元将输入的8x8数据块进行离散余 弦变换,得到64个离散余弦变换系数,输入给量化单元进行量化,数据量 化后,量化单元根据丟弃参数的值,按高频到低频的顺序将相应地AC系数 置O,然后再将数据依次输入给Z字形编码单元进行Z字形编排、变长编码 单元进行数据编码压缩,然后输出给緩沖区模块。为了解决上述技术问题,本发明还提供一种应急的JPEG压缩比特率控 制方法,应用于具有JPEG模块、緩冲区模块和緩冲区管理模块的装置,包 括如下步骤(1)緩冲区管理模块获得緩冲区模块的緩沖区填充状况;(2 )緩冲区管理模块根据所述緩冲区填充状况控制JPEG模块是否丟 弃量化后的AC系数,以及丢弃多少个AC系数。进一步地,所述步骤(2)中,所述緩冲区管理模块根据缓沖区模块的 緩沖区填充状况,发送给JPEG模块丟弃参数,JPEG模块根据丢弃参数的 值丢弃AC系数。进一步地,所述步骤(2)中,JPEG模块根据丢弃参数的值,按照高 频到低频的顺序丟弃量化后的AC系数。进一步地,所述丟弃AC系数为置需要丟弃的AC系数为0。进一步地,所述步骤(2)包括对于緩冲区管理模块根据緩冲区模块的緩冲区填充状况,发送给JPEG 模块丟弃参数;对于JPEG模块,数据处理的步骤包括(A) 8 x 8数据块依次输入JPEG模块,进行正向离散余弦变换,将空 域的信息变换到频域,得到离散余弦变换系数;(B) 将离散余弦变换系数进行量化;(C) 根据丢弃参数的值,按高频到低频的顺序将相应地AC系数置0;(D) 将数据块在矩阵中按照Z字形的次序进行编排;(E) 使用差分脉冲编码调制对DC系数进行编码,使用行程长度编码 对AC系数进行编码,然后使用霍夫曼编码,对DC系数和AC系数作进一 步的压缩,输出给緩沖区模块,返回执行步骤(A)。现有技术中,有可能在最大压缩比下仍然不能满足系统对数据量的要 求;而本发明可以将图像压缩到只剩下DC (直流)分量,虽然这种方法在 静态图像压缩中一般不会采用,但是在视频流压缩中却可以大大减少数据 量,避免传输緩冲区溢出,同时又可以让用户察觉不到图像质量的变化。


图1为现有技术PC camera的JPEG图像处理框图;图2为本发明实施例的PC camera的JPEG图像处理框图;图3为本发明实施例的流程图。
具体实施例方式
本发明的核心思想是根据需要,直接丢弃图像数据在JPEG模块中量 化后的AC (交流)系数来减少数据量。下面结合附图及具体实施例对本发明进行详细说明。如图1所示,在现有技术中,数据以8x8的数据块的形式输入JPEG 模块后,经正向离散余弦变换(FDCT)单元,将空域的信息通过离散余弦 变换(DCT)变换到频域。原始的图像数据块经过DCT变换后,输出64个 DCT变换系数,其低频分量都集中在左上角,高频分量分布在右下角。所 述低频分量包含了图像的主要信息(如亮度)。为了达到压缩数据的目的,量化单元对正向离散余弦变换单元的输出进 行量化,其中使用的量化表需针对性地设计。例如,利用人眼的视觉特性, 对在图像中占有较大能量的低频成分,赋予较小的量化间隔和较少的比特表 示,以获得较高的压缩比。64个变换系数中,DC(直流)系数位于左上角,为直流分量,它是64 个图像采样值的平均值。其余63个AC(交流)系数均为交流分量。对数据进行量化后,由于低频分量中包含着更多的能量,为了保证低频 分量先出现,高频分量后出现,以便后续的编码,所以使用Z字形编码 (Zigzag)单元将量化后的8x8数据块在矩阵中按照"Z"字形的次序进行编 排,这样就把一个8x8的矩阵变成一个lx64的矢量,可增加零的连续次数。差分脉冲编码调制(differential pulse code modulation, DPCM)对直流系数 进行编码,使用行程长度编码(run-lengthencoding, RLE)对交流系数进行 编码,然后使用霍夫曼(Huffinan)编码,对DPCM编码后的DC系数和RLE 编码后的AC系数作进一步的压缩。这样,JPEG模块输出的经压缩后数据的比特流,发送给緩冲区模块, 由緩冲区模块再将数据发送出去。在本发明中,针对PC camera的特殊应用,我们提出直接丟弃图像数据 在JPEG模块中量化后的AC系数来减少数据量。虽然这种方法有可能造成 单帧图像清晰度变的很差,但是对于人眼来说, 一幅质量不怎么好的图像在3见频流一闪而过要远比一幅坏帧的出现更难让人察觉,这就是说在PC camera的应用中,这种方法是可行的。本发明根据各个AC系数的频率进行消减,比如,如果需要在每个8 x 8 的数据块中丢弃一个量化后的AC系数,那么我们会丟掉频率最高也就是包 含能量最少的系数;如果要丟掉两个AC系数,我们会选择丟掉频率最高的 两个系数,如此类推。最极端的情况我们甚至可以丢掉所有的63个AC系 数,只留下直流分量,这时数据量极度减少,而图像本身仍有让人满意的质 量。如图2所示,为本发明实施例的应急的JPEG压缩比特率控制装置,包 括JPEG模块、緩冲区模块以及緩冲区管理模块;其中JPEG模块用于将输 入的数据块进行压缩,输出数据流给緩沖区模块;緩冲区管理模块用于根据 緩冲区模块的緩沖区填充状况,控制JPEG模块是否丢弃量化后的AC系数 以及丟弃多少个AC系数。跟现有技术类似,JPEG模块包括正向离散余弦 变换单元、量化单元、Z字形编码单元、变长编码单元。本实施例与现有技术不同的地方在于,使用缓沖区管理模块,根据緩冲 区模块中緩冲区填充状况决定JPEG的压缩率,同时反馈给JPEG模块,控 制JPEG模块是否丢弃量化后的AC系数以及丟弃多少个AC系数。具体来说,可以设置緩冲区管理模块的丟弃参数,不同的緩冲区填充状 况,对应不同的丢弃参数的值,比如当緩沖区填充率小于等于80%,丢弃 参数的值为0,即无需丟弃AC系数;当緩沖区填充率大于80%,小于等于 81%,丢弃参数的值为l,即丟弃一个频率最高的AC系数,等等,当緩冲 区填充率等于100%,可设置丟弃参数的值为63,即丟弃所有的63个AC 系数。当然,此处所谓的"丟弃,,实际是掩对应的AC系数置0。这样,在 后续使用行程长度编码对AC系数进行编码时,连续的0被极大地压缩,压 缩后输出的数据量就会相应地减少。緩沖区管理模块反馈给JPEG模块的量化单元丢弃参数,量化单元根据 丢弃参数的值,相应地按高频到低频的顺序丢弃量化后的AC系数,然后再 将数据依次输入给Z字形编码单元进行Z字形编排、变长编码单元进行数
据编码压缩,然后输出给緩冲区模块。如图3所示,本发明实施例包括如下步骤步骤301, JPEG模块将数据块进行正向离散余弦变换,将空域的信息 变换到频域,得到64个DCT变换系数,其低频分量都集中在左上角,高频 分量分布在右下角;步骤302,对得到的DCT变换系数进行量化,其中DC系数位于左上角, 为直流分量,其余63个AC系数均为交流分量;步骤303,根据丟弃参数的值,按高频到低频的顺序丟弃量化后的AC 系数;当然,也可能无需丢弃AC系数,即丢弃参数的值为0;所述丟弃参数由緩冲区填充状况决定,在本实施例中,由緩冲区管理模 块监控并获得緩沖区模块的緩沖区填充状况,并设置丟弃参数的值;若緩冲 区已满或将满,则丢弃参数的值不为0,即需要丟弃AC系数,所述AC系 数的范围是1 63;所述的丟弃AC系数即将对应的AC系数置0;步骤304,数据块在矩阵中按照"Z"字形的次序进行编排;步骤305,使用DPCM对直流系数进行编码,使用RLE对交流系数进 行编码,然后使用霍夫曼编码,对DPCM编码后的DC系数和RLE编码后 的AC系数作进一步的压缩,输出给緩冲区模块。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本 领域的技术人员来说,本发明可以有各种更改和变化,本发明的保护范围以 权利要求为准。
权利要求
1.一种应急的JPEG压缩比特率控制装置,包括JPEG模块、缓冲区模块;所述JPEG模块用于将输入的数据块进行压缩,输出数据流给缓冲区模块;其特征在于,还包括缓冲区管理模块,所述缓冲区管理模块用于根据缓冲区模块的缓冲区填充状况,控制JPEG模块是否丢弃量化后的交流AC系数,以及丢弃多少个AC系数。
2. 如权利要求l所述的装置,其特征在于,所述緩冲区管理模块根据 緩冲区模块的緩沖区填充状况,发送给JPEG模块丟弃参数,JPEG模块根 据丟弃参数的值丢弃AC系数。
3. 如权利要求2所述的装置,其特征在于,所述JPEG模块根据丟弃 参数的值,按照高频到低频的顺序丢弃量化后的AC系数。
4. 如权利要求1 ~3中任意一项所述的装置,其特征在于,所述JPEG 模块丟弃AC系数为置需要丢弃的AC系数为0。
5. 如权利要求2或3所述的装置,其特征在于,JPEG模块包括正向离 散余弦变换单元、量化单元、Z字形编码单元、变长编码单元,所述正向离 散余弦变换单元、量化单元、Z字形编码单元、变长编码单元依次连接;緩 冲区管理模块反馈给JPEG模块的量化单元丟弃参数;正向离散余弦变换单 元将输入的8 x 8数据块进行离散余弦变换,得到64个离散余弦变换系数, 输入给量化单元进行量化,数据量化后,量化单元根据丟弃参数的值,按高 频到低频的顺序将相应地AC系数置0,然后再将数据依次输入给Z字形编 码单元进行Z字形编排、变长编码单元进行敖据编码压缩,然后输出给緩沖 区模块。
6. —种应急的JPEG压缩比特率控制方法,应用于具有JPEG模块、緩 冲区模块和緩冲区管理模块的装置,包括如下步骤(1) 緩沖区管理模块获得緩沖区模块的緩沖区填充状况;(2) 緩冲区管理模块根据所述緩冲区填充状况控制JPEG模块是否丢 弃量化后的AC系数,以及丟弃多少个AC系数。
7. 如权利要求6所述方法,其特征在于,所述步骤(2)中,所述緩冲 区管理模块根据緩沖区模块的緩沖区填充状况,发送给JPEG模块丢弃参数, JPEG模块根据丟弃参数的值丢弃AC系数。
8. 如权利要求7所迷方法,其特征在于,所迷步骤(2)中,JPEG模 块根据丢弃参数的值,按照高频到低频的顺序丟弃量化后的AC系数。
9. 如权利要求6-8中任意一项所述方法,其特征在于,所述丟弃AC 系数为置需要丟弃的AC系数为0。
10. 如权利要求8或9中任意一项所述方法,其特征在于,所述步骤(2) 包括对于緩沖区管理模块根据緩沖区模块的緩沖区填充状况,发送给JPEG 模块丟弃参数;对于JPEG模块,数据处理的步骤包括(A) 8x8数据块依次输入JPEG模块,进行正向离散余弦变换,将空 域的信息变换到频域,得到离散余弦变换系数;(B) 将离散余弦变换系数进行量化;(C) 根据丟弃参数的值,按高频到低频的顺序将相应地AC系数置0;(D) 将数据块在矩阵中按照Z字形的次序进行编排;(E) 使用差分脉冲编码调制对DC系数进行编码,使用行程长度编码 对AC系数进行编码,然后使用霍夫曼编码,对DC系数和AC系彩:作进一 步的压缩,输出给緩冲区模块,返回执行步骤(A)。
全文摘要
本发明公开了一种应急的JPEG压缩比特率控制装置,包括JPEG模块、缓冲区模块;所述JPEG模块用于将输入的数据块进行压缩,输出数据流给缓冲区模块;还包括缓冲区管理模块,所述缓冲区管理模块用于根据缓冲区模块的缓冲区填充状况,控制JPEG模块是否丢弃量化后的交流AC系数,以及丢弃多少个AC系数。本发明还公开了一种应急的JPEG压缩比特率控制方法。本发明在视频流压缩中却可以大大减少数据量,避免传输缓冲区溢出,同时又可以让用户察觉不到图像质量的变化。
文档编号H04N7/26GK101159870SQ20071017720
公开日2008年4月9日 申请日期2007年11月12日 优先权日2007年11月12日
发明者吴大畏 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1