一种视频编码变换量化方法和装置制造方法

文档序号:7821938阅读:269来源:国知局
一种视频编码变换量化方法和装置制造方法
【专利摘要】本发明实施例提供一种视频编码变换量化方法和装置,解决了现有技术视频编码变换量化流程的运算效率降低的问题。该视频编码变换量化方法包括:对矩阵数据进行正变换处理;其中,所述正变换处理包括水平正变换步骤和垂直正变换步骤;对所述矩阵数据进行量化处理和反量化处理;对所述矩阵数据进行反变换处理;其中,所述反变换处理包括水平反变换步骤和垂直反变换步骤;其中,进一步包括:所述正变换处理中后执行的变换步骤为水平正变换步骤,所述反变换处理中先执行的变换步骤为水平反变换步骤;或,所述正变换处理中后执行的变换步骤为垂直正变换步骤,所述反变换处理中先执行的变换步骤为垂直反变换步骤。
【专利说明】一种视频编码变换量化方法和装置

【技术领域】
[0001] 本发明涉及数字图像处理领域,特别涉及一种视频编码变换量化方法和装置。 技术背景
[0002] 图1所示为现有技术所提供的视频编码变换量化方法的流程示意图。如图1所示, 该视频编码变换量化方法包括变换1、量化2、反量化3和反变换4四个依次进行的步骤。其 中的变换1是先对矩阵数据进行水平变换11,再进行垂直变换12 ;反变换4步骤也是先对 矩阵数据进行水平变换41,再进行垂直变换42。这样变换1和反变换4中的变换步骤可表 示为:Y=TX(XXTt)。其中X表示输入矩阵,T为变换矩阵,Y表示结果矩阵。上式中的变 换步骤其实为两个步骤,第一步先完成Z=XXTt (水平变换),第二步再进行Y=TXZ(垂 直变换)。根据矩阵乘法运算的规则,当要实现一个AXB的矩阵运算时,需要由A矩阵的行 向量与B矩阵的列向量进行乘加得到计算结果。因此由于第二步垂直变换中的Z的每一列 都包含着Z的所有行的一个数,该第二步垂直变换必须得到第一步水平变换全部完成后才 成启动。同理,当要对X矩阵先实现一个垂直变换时,再进行一个水平变换时,必须在该垂 直变换结束后才能开始进行该水平变换。
[0003] 这样图1中反量化3后进行的水平变换41就必须要在量化2步骤前的垂直变换 12完成后才能开始进行,水平变换41和垂直变换12无法并行运算,从而降低了整个视频编 码变换量化流程的运算效率。


【发明内容】

[0004] 有鉴于此,本发明实施例提供一种新的视频编码变换量化方法和装置,解决了现 有技术中反量化后的反变换步骤与量化前的变换步骤不能并行进行,导致整个视频编码变 换量化流程的运算效率降低的问题。
[0005] 本发明实施例提供了一种视频编码变换量化方法,包括:对矩阵数据进行正变换 处理;其中,所述正变换处理包括水平正变换步骤和垂直正变换步骤;对所述矩阵数据进 行量化处理和反量化处理;对所述矩阵数据进行反变换处理;其中,所述反变换处理包括 水平反变换步骤和垂直反变换步骤;其中,进一步包括:
[0006] 所述正变换处理中后执行的变换步骤为水平正变换步骤,所述反变换处理中先执 行的变换步骤为水平反变换步骤;或,
[0007] 所述正变换处理中后执行的变换步骤为垂直正变换步骤,所述反变换处理中先执 行的变换步骤为垂直反变换步骤。
[0008] 本发明实施例提供的一种视频编码变换量化装置,包括:水平正变换模块,配置为 对矩阵数据进行水平正变换处理;
[0009] 垂直正变换模块,配置为对矩阵数据进行垂直正变换处理;
[0010] 量化模块,配置为对所述矩阵数据进行量化处理;
[0011] 反量化模块,配置为对所述矩阵数据进行反量化处理;
[0012] 水平反变换模块,配置为对矩阵数据进行水平反变换处理;
[0013] 垂直反变换模块,配置为对矩阵数据进行垂直反变换处理;
[0014] 其中,所述水平正变换模块、垂直正变换模块、量化模块、反量化模块、垂直反变换 模块和水平反变换模块依次连接;或,
[0015] 所述垂直正变换模块、水平正变换模块、量化模块、反量化模块、水平反变换模块 和垂直反变换模块依次连接。
[0016] 利用本发明实施例所提供的视频编码变换量化方法和装置,反量化后进行的变换 步骤不用在量化前的变换步骤完成后才开始进行,由于二者同为水平变换或垂直变换,因 而可以同步的逐行或逐列进行,从而提高了整个视频编码变换量化流程的运算效率,实现 了流水化运算。

【专利附图】

【附图说明】
[0017] 图1所示为现有技术所提供的视频编码变换量化方法的流程示意图。
[0018] 图2所示为本发明一实施例所提供的视频编码变换量化方法的流程示意图。
[0019] 图3所示为本发明一实施例所提供的视频编码变换量化方法的原理示意图。
[0020] 图4所示为本发明一实施例所提供的视频编码变换量化装置的结构示意图。
[0021] 图5所示为本发明一实施例所提供的视频编码变换量化装置的结构示意图。

【具体实施方式】
[0022] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0023] 图2所示为本发明一实施例所提供的视频编码变换量化方法的流程示意图。如图 2所示,该视频编码变换量化方法包括:
[0024] 步骤201 :对矩阵数据进正变换处理;其中,所述正变换处理包括水平变换步骤和 垂直变换步骤。其中后执行的正变换步骤为水平正变换时,步骤204中先执行的反变换步 骤为水平反变换;或,其中后执行的正变换步骤为垂直正变换时,步骤204中先执行的反变 换步骤为垂直反变换。
[0025] 步骤202 :对所述矩阵数据进行量化处理。
[0026] 步骤203 :对所述矩阵数据进行反量化处理。
[0027] 步骤204 :对所述矩阵数据进行反变换处理;其中,所述反变换处理包括水平变换 步骤和垂直变换步骤。如前所述,其中先执行的反变换步骤为水平反变换时,步骤201中后 执行的正变换步骤为水平正变换;或,其中先执行的反变换步骤为垂直反变换时,步骤201 中后执行的正变换步骤为垂直正变换。
[0028] 图3所示为本发明一实施例所提供的视频编码变换量化方法的原理示意图。其中 的标号为1?4的方块代表4X4矩阵数据的行编号,标号为1?8的方块8X8矩阵数据 的行编号,A?M各分别代表一级运算。步骤201的正变换后执行的变换步骤与步骤204的 反变换中先执行的变换步骤同为垂直变换步骤,这样步骤201中的垂直变换完成一行数据 的计算后,该行数据经过量化和反量化后即可开始步骤204中的垂直变换。
[0029] 具体而言,以图3中4X4矩阵数据的变换量化过程为例,在A级运算中只能对编 号为1的行进行水平正变换;在B级运算中,在对编号为1的行进行垂直正变换的同时,还 可对编号为2的行进行水平正变换;以此类推至E级运算中,可以在对1进行垂直反变换的 同时,还可分别对编号为2?3的行进行相应的运算步骤,而不用等到编号为4的行进行完 反量化后再对1进行反变换,从而使矩阵数据每一行的变换量化可流水线并行运算。这样 4X4矩阵数据仅需9级(A?I)运算即可完成整个变换量化过程,8X8矩阵数据仅需13 级(A?M)运算即可完成整个变换量化过程。
[0030] 同理,当步骤201后执行的变换步骤与步骤204中先执行的变换步骤同为水平变 换步骤时,矩阵数据每一行的变换量化也可流水线并行运算。
[0031] 在本发明一实施例中,水平正变换步骤、垂直正变换步骤、水平反变换步骤和垂直 反变换步骤为离散余弦变换。
[0032] 在本发明一实施例中,变换处理、反变换处理、量化处理和反量化处理遵循SVAC 视频编码标准。
[0033] 在实际的视频编码中,需要进行变换量化处理的矩阵数据为4X4或8X8的矩阵 块。下面以步骤201中后执行的正变换步骤为水平正变换,同时步骤204中先执行的反变 换步骤为水平反变换为例,以4X4矩阵数据的变换量化过程为例进行更为详细说明。
[0034] 当矩阵数据为4X4矩阵块T4时,正变换处理中对矩阵数据的垂直正变换可表示 为:K' = S4XT4 ;其中S4为4x4正变换矩阵,K'表示垂直正变换后的中间结果。则正变换 处理中对矩阵K'进行的水平正变换可表示为:K=K'XS4T;其中,S4TSS4的转置矩阵, K表示正变换后的4X4矩阵块。
[0035] 此时,为了控制矩阵中元素数据的大小,还需要将正变换后的4X4矩阵块中的元 素进行移位操作,转换为变换系数样点矩阵,转换计算过程可表示为:cij= (kij+2)>>2, (i,j= 0…3);其中kij为K矩阵的元素,CoeffMatrix[i,j]为变换系数样点矩阵 CoeffMatrix的元素;>>2 (向右移位2)即可实现对4x4矩阵块中的元素除4的效果,"+2" 则是为使除结果实现四舍五入而加上的一个修正值,以提高计算精度。
[0036] 本领域技术人员可以理解,根据矩阵数据为4X4矩阵还是8X8矩阵,水平变换和 垂直变换中移位操作的移位数和为了实现四舍五入加上的修正值有所不同,而具体的移位 数和修正值均由SVAC编码标准而定,本发明对此不做限定。
[0037] 然后,由该变换系数样点矩阵CoeffMatrix得到量化系数矩阵QuantCoeffMatrix 的量化过程(步骤202)可通过如下算法实现:
[0038]

【权利要求】
1. 一种视频编码变换量化方法,包括:对矩阵数据进行正变换处理;其中,所述正变换 处理包括水平正变换步骤和垂直正变换步骤;对所述矩阵数据进行量化处理和反量化处 理;对所述矩阵数据进行反变换处理;其中,所述反变换处理包括水平反变换步骤和垂直 反变换步骤;其特征在于,进一步包括: 所述正变换处理中后执行的变换步骤为水平正变换步骤,所述反变换处理中先执行的 变换步骤为水平反变换步骤;或, 所述正变换处理中后执行的变换步骤为垂直正变换步骤,所述反变换处理中先执行的 变换步骤为垂直反变换步骤。
2. 根据权利要求1所述的方法,其特征在于,所述水平正变换步骤、垂直正变换步骤、 水平反变换步骤和垂直反变换步骤为离散余弦变换。
3. 根据权利要求1所述的方法,其特征在于,所述正变换处理、反变换处理、量化处理 和反量化处理遵循SVAC视频编码标准。
4. 根据权利要求1或3所述的方法,其特征在于,对矩阵数据进行正变换处理包括: 对经过正变换处理的所述矩阵数据中的每个元素进行移位处理;其中移位处理的移位 数根据SVAC视频编码标准而定;和/或, 对所述矩阵数据进行反变换处理包括: 对经过反变换处理的所述矩阵数据中的每个元素进行移位处理;其中移位处理的移位 数根据SVAC视频编码标准而定。
5. 根据权利要求4所述的方法,其特征在于,在对经过正变换处理和/或反变换处理的 所述矩阵数据中的每个元素进行移位处理之前,所述方法进一步包括: 为经过正变换处理和/或反变换处理的所述矩阵数据中的每个元素加上一个修正值; 所述修正值为2的N次方,N为移位数减一。
6. 根据权利要求1或3所述的方法,其特征在于,对所述矩阵数据进行量化处理包括: 判断对当前宏块的操作是否为帧内操作; 根据SVAC视频编码标准给所述矩阵数据中的每个元素加上一个补偿系数;其中,帧内 操作的补偿系数的值大于非帧内操作补充系数的值。
7. -种视频编码变换量化装置,包括: 水平正变换模块,配置为对矩阵数据进行水平正变换处理; 垂直正变换模块,配置为对矩阵数据进行垂直正变换处理; 量化模块,配置为对所述矩阵数据进行量化处理; 反量化模块,配置为对所述矩阵数据进行反量化处理; 水平反变换模块,配置为对矩阵数据进行水平反变换处理; 垂直反变换模块,配置为对矩阵数据进行垂直反变换处理; 其特征在于,所述水平正变换模块、垂直正变换模块、量化模块、反量化模块、垂直反变 换模块和水平反变换模块依次连接;或, 所述垂直正变换模块、水平正变换模块、量化模块、反量化模块、水平反变换模块和垂 直反变换模块依次连接。
8. 根据权利要求7所述的装置,其特征在于,依次连接的所述垂直正变换模块、量化模 块、反量化模块和垂直反变换模块集成在一个联合运算模块中;或, 依次连接的所述水平正变换模块、量化模块、反量化模块和水平反变换模块集成在一 个联合运算模块中。
9. 根据权利要求8所述的装置,其特征在于,进一步包括控制模块;所述控制模块分别 与所述水平正变换模块、联合运算模块和水平反变换模块连接;或, 所述控制模块分别与所述垂直正变换模块、联合运算模块和垂直反变换模块连接。
10. 根据权利要求8或9所述的装置,其特征在于,进一步包括存储模块,配置为存储所 述水平正变换模块和所述垂直反变换模块的计算结果;或, 配置为存储所述垂直正变换模块和所述水平反变换模块的计算结果。
【文档编号】H04N19/625GK104519366SQ201410733845
【公开日】2015年4月15日 申请日期:2014年12月4日 优先权日:2014年12月4日
【发明者】陈小桥, 钟俊华 申请人:广东中星电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1