一种在mpeg2中游程编码快速计算游程长度的方法

文档序号:7591358阅读:618来源:国知局
专利名称:一种在mpeg2中游程编码快速计算游程长度的方法
技术领域
本发明涉及一种MPEG2中游程编码快速计算游程长度的方法,是一种计算机图像 处理的方法,是一种数字化视频图像的数据压缩方法。
背景技术
为了便于数字化视频图像的编辑、制作、储存和传输,通常要对视频图像进行数据 压缩。视频图像的数据压缩有多种方式,其中最常用的是MPEG2编码。MPEG2视频图像编码 中必须经过可变长编码过程。MPEG2编码标准中可变长编码包含游程编码和熵编码两种。 通常经过量化后的图像变换系数中的零值较多,通过游程编码可以将零值做进一步无损压 缩。游程编码(RLE,run-length encoding),又称“运行长度编码”或“行程编码”,是 一项数据无损压缩编码技术。它适用于一类数据的压缩,这类数据由一串符号组成,这串符 号中,多次连续出现相同的符号。例如
权利要求
一种在MPEG2中游程编码快速计算游程长度的方法,在MPEG2编码过程中,对8×8平方像素的残差图像区域做DCT变换、变换后的64个系数经过量化并重新排列,其特征在于,将经过量化和重新排列后的64个系数做游程编码的步骤如下构造nFlags的步骤用于构造一个64位整数,记为nFlags,将nFlags的每一位与64个系数中的某个系数一一对应,对应的顺序为从最低位开始,nFlags的第1位,对应64个系数中的第1个系数,即最低频系数,nFlags的第2位对应64个系数中的第2个系数,以此类推,直到nFlags的最后1位对应64个系数中的最后1个系数,即最高频系数,构造的规则为如果相应的系数为0,则nFlags中与之对应的位设为“0”,如果相应的系数非0,则nFlags中与之对应的位设为“1”;判断nFlags是否为0的步骤用于判断nFlags是否为0,如果nFlags等于0,即nFlags的每一位均为“0”,说明64个系数中已没有非零系数,进入结束的步骤,如果nFlags非0,进入下一步骤;计算nFlags中连续“0”位个数的步骤用于通过调用CPU指令“BSF”,从nFlags的最低位开始,计算连续为“0”的位的位数,这个位数值也就是连续零值系数的个数,即游程的长度,记为n,将n和nFlags中从低位起第n+1位对应的系数组成的数对保存起来,将nFlags逻辑右移n+1位,即高位补“0”,对应关系也相应移动,之后回到“判断nFlags是否为0的步骤”;结束的步骤用于完成游程编码的过程,将所有已保存的数对按保存时间的先后顺序排列,即得到64个系数做游程编码的结果。
2.根据权利要求1所述的方法,其特征在于,所述的构造nFlags的步骤中,在64位平 台中构建一个64位整数;在32位平台中构建两个32位整数,这两个32位整数结合为一个 64位整数。
全文摘要
本发明涉及一种MPEG2中游程编码快速计算游程长度的方法,是一种计算机图像处理的方法,是一种数字化视频图像的数据压缩方法。本发明这样实现的构造nFlags的步骤;判断nFlags是否为0的步骤;计算nFlags中连续“0”位个数的步骤;结束的步骤。本发明通过构建64位整数nFlags,建立与8×8平方像素块经变换量化重排后的64个系数的对应关系,在游程编码过程中使用CPU指令“BSF”计算各个游程的长度,大大减少了条件分支,有效地提高了CPU在MPEG2视频图像编码中的执行效率,使MPEG2视频图像编码的速度更快。
文档编号H04N7/26GK101964912SQ20101050809
公开日2011年2月2日 申请日期2010年10月15日 优先权日2010年10月15日
发明者褚震宇, 邓伟, 高上 申请人:北京中科大洋科技发展股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1