[发明专利]一种用于熵编码的自适应扫描方法无效
申请号: | 201110340368.9 | 申请日: | 2011-11-02 |
公开(公告)号: | CN102404566A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 林江;王洪剑 | 申请(专利权)人: | 无锡博视芯半导体科技有限公司 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N7/50 |
代理公司: | 北京工信联合知识产权代理事务所(普通合伙) 11266 | 代理人: | 姜丽楼 |
地址: | 214101 江苏省无锡*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 编码 自适应 扫描 方法 | ||
技术领域
本发明属于视频技术领域,尤其涉及一种图形、图像压缩方法。
背景技术
目前在视频处理技术领域,进行H.264视频压缩时,先对图像进行空间或者时间上的预测,消除冗余,再进行DCT和量化,以使系数集中并消除一些不重要的细节,然后对二维的DCT(离散余弦变换)系数进行zigzag扫描,最后对扫描后的一维DCT系数进行熵编码,以消除符号间的冗余。
H.264中,熵编码步骤如下:
1.对一个块的系数进行Zigzag扫描;
2.编码一个块总的非0系数个数及拖尾系数个数;
3.编码非0系数的值;
4.编码最后一个非0系数前总的0的个数(以下称为total_zeros);
5.编码每一个非0系数前的0的个数(以下称为run_before);
在H.264中对所有模式的4x4的块都采用统一的zigzag扫描。
从熵编码的过程中可以看到:如果使total_zeros变少,或者使run_before变少,则可以提高熵编码的效率,从而提高视频的压缩率。DCT变换后,低频系数在左上角,而高频系数在右下角。对于通常的视频,低频分量较大,而高频分量较小,因而,量化后非0系数集中在左上角。Zigzag扫描的目的是使低频系数集中在一起,从而使非0系数尽可能的集中在一起。
H.264中的扫描矩阵采用的是水平和垂直两个方向对称的模式,即假定图像在水平和垂直两个方向频谱的分布是差不多对称的,也就是图像水平和垂直的复杂度相当。而这种假设通常是不成立的,图像纹理通常并不具备水平和垂直复杂度相当的特点,因而导致两个方向的DCT系数并不均匀。在图像纹理复杂的方向上,非0系数更多,而较简单的方向上非0系数更稀疏。因此原有的扫描方案对于很多的场景并不是很有效。
因此,视频技术领域急需一种适用于很多场景的、效果更佳的用于熵编码的扫描方法。
发明内容
为弥补现有技术的不足,克服扫描方法对多种场景下图像块纹理方向多样性不适用的缺陷,本发明提供用于熵编码的自适应扫描方法,技术方案如下:
一种用于熵编码的自适应扫描方法,其特征在于,包含如下步骤:
步骤1:判断宏块为帧内宏块或者帧间宏块以及相应的预测模式;
步骤2:扫描帧内宏块;
步骤3:扫描帧间宏块。
如上的一种用于熵编码的自适应扫描方法,其特征在于,该步骤2扫描帧内宏块的方法为:用ver_zigzag扫描矩阵扫描垂直方向高频系数较丰富、图像的纹理倾向于水平方向的宏块。
如上的一种用于熵编码的自适应扫描方法,其特征在于,该步骤2扫描帧内宏块的方法为:用hor_zigzag扫描矩阵扫描水平方向高频系数较丰富,图像纹理倾向于垂直方向的宏块。
如上的一种用于熵编码的自适应扫描方法,其特征在于,该步骤2扫描帧内宏块的方法为:用std_zigzag扫描矩阵扫描在水平和垂直两个方向上没有明显倾向性的宏块。
如上的一种用于熵编码的自适应扫描方法,其特征在于,该步骤3扫描帧间宏块的方法为:用ver_zigzag扫描矩阵扫描模式为16x8和8x4的帧间宏块。
如上的一种用于熵编码的自适应扫描方法,其特征在于,该步骤3扫描帧间宏块的方法为:用hor_zigzag扫描矩阵扫描模式为8x16和4x8的帧间宏块。
如上的一种用于熵编码的自适应扫描方法,其特征在于,该步骤3扫描帧间宏块的方法为:用std_zigzag扫描矩阵扫描纹理没有明显方向性的帧间宏块。
如上的一种用于熵编码的自适应扫描方法,其特征在于,该ver_zigzag扫描矩阵为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡博视芯半导体科技有限公司,未经无锡博视芯半导体科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110340368.9/2.html,转载请声明来源钻瓜专利网。