CN106488236B - 一种视频编码中绝对变换误差和的计算方法及装置 - Google Patents
一种视频编码中绝对变换误差和的计算方法及装置 Download PDFInfo
- Publication number
- CN106488236B CN106488236B CN201510553104.XA CN201510553104A CN106488236B CN 106488236 B CN106488236 B CN 106488236B CN 201510553104 A CN201510553104 A CN 201510553104A CN 106488236 B CN106488236 B CN 106488236B
- Authority
- CN
- China
- Prior art keywords
- matrix
- residual error
- absolute transformed
- transform coefficient
- error data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种视频编码中绝对变换误差和的计算方法及装置,解决了现有SATD计算涉及大量加法运算以及需要较大存储空间的寄存器来保存中间计算结果的缺陷,本发明的视频编码中绝对变换误差和的快速计算方法包括:获取残差数据矩阵;对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算;对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算;将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和。
Description
技术领域
本发明涉及视频编码技术领域,尤其涉及一种视频编码中绝对变换误差和的计算方法及装置。
背景技术
在视频编码***中,常见的失真度评价准则有绝对误差和SAD(Sum of AbsoluteDifference)、绝对变换误差和SATD(Sum of Absolute Transformed Difference)、平方误差和SSE(Sum of Squared Error)等。在常用视频失真度的评价准则中,平方误差和SSE效果较好,但是存在乘法运算计算量较大,需要进行离散余弦变换、量化、反量化及反离散余弦变换等操作,其计算复杂且耗时;绝对误差和SAD计算简单但是误差较大;绝对变换误差和SATD效果及性能折中,因此,SATD在最新的HEVC编码规范中有广泛应用。
例如,基于8×8的残差数据矩阵的绝对变换误差和SATD8x8的计算公式如下:
其中,X为8×8的残差数据矩阵,H8为8阶hadamard变换系数矩阵,为所述8阶hadamard变换系数矩阵H8的转置矩阵,SA(M)表示对对矩阵M中的每个数据进行取绝对值求和操作,考虑到H8为对称矩阵,所以H8的转置矩阵与H8等价,即
由于计算SATD8x8需要对三个8×8矩阵计算两次矩阵乘法,因此,需要一个8×8大小的寄存器用于保存第一次矩阵乘法得到的中间计算结果,即:用8×8大小的寄存器把H8X的结果保存下来,用于和后面的H8 T进行矩阵乘法。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
绝对变换误差和(SATD)的计算涉及到大量的加法运算,需要使用大量的加法器,且绝对变换误差和(SATD)的计算需要较大存储空间的寄存器来保存中间计算结果,综上,现有的绝对变换误差和(SATD)的计算耗费了大量的加法器和寄存器等硬件资源。
发明内容
本发明提供一种视频编码中绝对变换误差和的计算方法及装置,能够在保证一定计算准确性的前提下,减少计算绝对变换误差和的计算量,节省实现所需加法器和寄存器硬件资源。
一方面,本发明提供一种视频编码中绝对变换误差和的计算方法,所述方法包括:
获取残差数据矩阵;
对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算;
对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算;
将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和。
另一方面,本发明提供一种视频编码中绝对变换误差和的计算装置,其特征在于,所述装置包括获取模块、第一计算模块、第二计算模块以及第三计算模块,其中,所述获取模块,用于获取残差数据矩阵;
所述第一计算模块,用于对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算;
所述第二计算模块,用于对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算;
所述第三计算模块,用于将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和。
本发明提供的视频编码中绝对变换误差和的计算方法及装置,获取残差数据矩阵;对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算;对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算;将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和。与现有技术相比,一方面,其能够通过减少一半的数据与所述hadamard变换系数矩阵的转置矩阵进行矩阵乘法运算,来减少绝对变换误差和(SATD)的计算涉及的加法运算,相应地,也减少了硬件实现所需的加法器;另一方面,减小了保存中间结果的所需寄存器的大小。综上,本发明的技术方案与现有技术相比,能够减少SATD变换实现的计算量,并且节省实现所需加法器和寄存器等硬件资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明视频编码中绝对变换误差和的计算方法一实施例流程示意图;
图2本发明视频编码中绝对变换误差和的计算装置一实施例结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种视频编码中绝对变换误差和的计算方法,所述方法包括:
S11、获取残差数据矩阵。
S12、对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算。
S13、对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算。
S14、将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和。
本发明提供的视频编码中绝对变换误差和的计算方法,获取残差数据矩阵;对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算;对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算;将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和。与现有技术相比,一方面,其能够通过减少一半的数据与所述hadamard变换系数矩阵的转置矩阵进行矩阵乘法运算,来减少绝对变换误差和(SATD)的计算涉及的加法运算,相应地,也减少了硬件实现所需的加法器;另一方面,减小了保存中间结果的所需寄存器的大小。综上,本发明的技术方案与现有技术相比,能够减少SATD变换实现的计算量,并且节省实现所需加法器和寄存器等硬件资源。
具体地,在本实施例中以8×8的残差数据矩阵为例,对上述流程进行具体阐述:
1)获取8×8的残差数据矩阵X,其中,所述8×8的残差数据矩阵X由4个4×4的分块
矩阵X00、X01、X10、X11构成,即
2)对位于8阶hadamard变换系数矩阵H8上半部分的4×8子矩阵D1、8×8的残差数据
矩阵X以及所述H8的转置矩阵进行第一绝对变换误差和运算其
中,D1=(H4 H4);其中,所述8阶hadamard变换系数矩阵H8可以表示为如下分块矩阵的形式:H4为4阶hadamard变换系数矩阵。
3)对位于所述8阶hadamard变换系数矩阵H8下半部分的4×8子矩阵D2、所述8×8的残差数据矩阵X进行第二绝对变换误差和运算SATD2=SA(D2X),其中,D2=(H4 -H4);
4)将所述第二绝对变换误差和运算的计算结果乘以系数2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述8×8的残差数据矩阵的绝对变换误差和。
具体地,本发明实施例的视频编码中绝对变换误差和的计算方法的实现原理为(以8×8的残差数据矩阵为例):
其中,上述实现原理是,对于基于所述基于8×8的残差数据矩阵X的4个矩阵子块之间存在一定的空间相关性,因此H4X00-H4X10和H4X01-H4X11两部分的幅值很小,省去这两部分与之间的乘法运算对于所述基于8×8的残差数据矩阵X的绝对变换误差和的影响很小,同时不需要保存对应的中间结果,因此可以大大降低实现所需的加法器和寄存器资源。这里通过乘以系数2来修正省去与矩阵乘法所导致的误差。
本发明的绝对变换误差和的计算方法与现有技术中的绝对变换误差和的计算方法的性能分析如下:
1)线性相关性
将上述两种绝对变换误差和的计算方法的软件模型嵌入到编码器中,编码一段随机的视频,在程序中同时收集现有的SATD8×8得到的结果和经过本发明优化后的SATD8×8得到的结果,求两个结果的比值。经过统计两者的比值的均值为0.93、最大值为1.1(最小值没统计的意义,修改后的SATD算法得到的值为0的时候则比值一定为0)说明两者具有很强的线性相关性。
2)率失真代价
用本发明的绝对变换误差和的计算方法代替现有技术中的绝对变换误差和的计算方法后统计对率失真代价的影响:平均值-0.11%,最大值0.61%、最小值-2.53%(负数表示性能优于原始SATD算法)。综上,率失真代价变化极小,甚至优于原始SATD算法,说明本发明的绝对变换误差和的计算方法保持了很好的性能。
由此可见,与现有技术相比,一方面,其能够通过节省一半的数据与进行矩阵乘法运算,来减少绝对变换误差和(SATD)的计算涉及的加法运算,相应地,也减少了硬件实现所需的加法器;另一方面,只需要4×8大小的寄存器用于保存中间结果,因此减少了实现所需寄存器的大小。综上,本发明的技术方案与现有技术相比,能够减少SATD变换实现的计算量,并且节省实现所需加法器和寄存器等硬件资源。
如图2所示,本发明实施例提供一种视频编码中绝对变换误差和的计算装置,所述装置包括获取模块21、第一计算模块22、第二计算模块23以及第三计算模块24。
所述获取模块21,用于获取残差数据矩阵。
所述第一计算模块22,用于对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算。
所述第二计算模块23,用于对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算。
所述第三计算模块24,用于将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和。
本发明提供的视频编码中绝对变换误差和的计算装置,与现有技术相比,一方面,其能够通过减少一半的数据与所述hadamard变换系数矩阵的转置矩阵进行矩阵乘法运算,来减少绝对变换误差和(SATD)的计算涉及的加法运算,相应地,也减少了硬件实现所需的加法器;另一方面,减小了保存中间结果的所需寄存器的大小。综上,本发明的技术方案与现有技术相比,能够减少SATD变换实现的计算量,并且节省实现所需加法器和寄存器等硬件资源。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (2)
1.一种视频编码中绝对变换误差和的计算方法,其特征在于,包括:
获取残差数据矩阵;
对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算;
对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算;
将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和;
其中,所述残差数据矩阵为8×8的矩阵X,由4个4×4的分块矩阵X00、X01、X10、X11构成,即
所述对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算具体为:对位于8阶hadamard变换系数矩阵H8上半部分的4×8子矩阵D1、8×8的残差数据矩阵X以及所述H8的转置矩阵进行第一绝对变换误差和运算其中,D1=(H4H4);
其中,所述8阶hadamard变换系数矩阵H8可以表示为如下分块矩阵的形式:H4为4阶hadamard变换系数矩阵;
所述对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算具体为:对位于所述8阶hadamard变换系数矩阵H8下半部分的4×8子矩阵D2、所述8×8的残差数据矩阵X进行第二绝对变换误差和运算SATD2=SA(D2X),其中,D2=(H4 -H4)。
2.一种视频编码中绝对变换误差和的计算装置,其特征在于,所述装置包括获取模块、第一计算模块、第二计算模块以及第三计算模块,其中,
所述获取模块,用于获取残差数据矩阵;
所述第一计算模块,用于对所述残差数据矩阵对应的hadamard变换系数矩阵上半部分的子矩阵、所述残差数据矩阵以及所述hadamard变换系数矩阵的转置矩阵进行第一绝对变换误差和运算;
所述第二计算模块,用于对所述残差数据矩阵对应的hadamard变换系数矩阵下半部分的子矩阵、所述残差数据矩阵进行第二绝对变换误差和运算;
所述第三计算模块,用于将所述第二绝对变换误差和运算的计算结果乘以2,然后再与所述第一绝对变换误差和运算的计算结果进行求和,得到基于所述残差数据矩阵的绝对变换误差和;
所述残差数据矩阵为8×8的矩阵X,由4个4×4的分块矩阵X00、X01、X10、X11构成,即
所述第一计算模块,用于对位于8阶hadamard变换系数矩阵H8上半部分的4×8子矩阵D1、8×8的残差数据矩阵X以及所述H8的转置矩阵进行第一绝对变换误差和运算其中,D1=(H4 H4);
其中,所述8阶hadamard变换系数矩阵H8可以表示为如下分块矩阵的形式:H4为4阶hadamard变换系数矩阵;
所述第二计算模块,用于对位于所述8阶hadamard变换系数矩阵H8下半部分的4×8子矩阵D2、所述8×8的残差数据矩阵X进行第二绝对变换误差和运算SATD2=SA(D2X),其中,D2=(H4 -H4)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510553104.XA CN106488236B (zh) | 2015-09-01 | 2015-09-01 | 一种视频编码中绝对变换误差和的计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510553104.XA CN106488236B (zh) | 2015-09-01 | 2015-09-01 | 一种视频编码中绝对变换误差和的计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106488236A CN106488236A (zh) | 2017-03-08 |
CN106488236B true CN106488236B (zh) | 2019-07-12 |
Family
ID=58237839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510553104.XA Active CN106488236B (zh) | 2015-09-01 | 2015-09-01 | 一种视频编码中绝对变换误差和的计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106488236B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111836050B (zh) * | 2019-04-17 | 2023-04-18 | 上海富瀚微电子股份有限公司 | 一种视频编码中绝对变换差和的计算方法及装置 |
CN112218071B (zh) * | 2020-09-30 | 2024-01-30 | 北京达佳互联信息技术有限公司 | 视频编码方法、装置、存储介质及电子设备 |
US11736704B1 (en) * | 2022-03-23 | 2023-08-22 | Mediatek Inc. | Methods and apparatuses of SATD folding hardware design in video encoding systems |
CN116156170B (zh) * | 2023-04-24 | 2024-04-16 | 北京中星微人工智能芯片技术有限公司 | 数据流的发送方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004241957A (ja) * | 2003-02-05 | 2004-08-26 | Sony Corp | 画像処理装置および符号化装置とそれらの方法 |
CN101277445A (zh) * | 2008-02-19 | 2008-10-01 | 重庆邮电大学 | 快速计算视频编码中绝对变换差和satd的方法 |
CN101406056A (zh) * | 2006-03-28 | 2009-04-08 | 索尼株式会社 | 减少数字视频编码器中的内预测和模式判决处理中的计算的方法 |
CN101583038A (zh) * | 2009-03-25 | 2009-11-18 | 哈尔滨工业大学深圳研究生院 | Satd快速实现的硬件架构 |
CN101888549A (zh) * | 2010-06-18 | 2010-11-17 | 浙江大学 | 基于变换域信息的帧内4×4预测模式选择方法 |
CN103997646A (zh) * | 2014-05-13 | 2014-08-20 | 北京航空航天大学 | 一种高清视频编码中快速帧内预测模式选择方法 |
-
2015
- 2015-09-01 CN CN201510553104.XA patent/CN106488236B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004241957A (ja) * | 2003-02-05 | 2004-08-26 | Sony Corp | 画像処理装置および符号化装置とそれらの方法 |
CN101406056A (zh) * | 2006-03-28 | 2009-04-08 | 索尼株式会社 | 减少数字视频编码器中的内预测和模式判决处理中的计算的方法 |
CN101277445A (zh) * | 2008-02-19 | 2008-10-01 | 重庆邮电大学 | 快速计算视频编码中绝对变换差和satd的方法 |
CN101583038A (zh) * | 2009-03-25 | 2009-11-18 | 哈尔滨工业大学深圳研究生院 | Satd快速实现的硬件架构 |
CN101888549A (zh) * | 2010-06-18 | 2010-11-17 | 浙江大学 | 基于变换域信息的帧内4×4预测模式选择方法 |
CN103997646A (zh) * | 2014-05-13 | 2014-08-20 | 北京航空航天大学 | 一种高清视频编码中快速帧内预测模式选择方法 |
Non-Patent Citations (3)
Title |
---|
《hevc预测单元分割模式自适应快速选择算法》;赵力新;《CNKI优秀硕士学位论文全文库》;20141231;全文 |
《基于H.264高档次标准的一种新颖的8×8/4×4SATD硬件实现》;顾梅花,余宁梅等;《西安理工大学学报》;20101230;全文 |
《高清实时编码器中帧间预测器的关键技术研究》;朱炳强;《CNKI博士学位论文全文库》;20101231;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106488236A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106488236B (zh) | 一种视频编码中绝对变换误差和的计算方法及装置 | |
CN102263951B (zh) | 一种快速的分形视频压缩与解压缩方法 | |
CN108259912A (zh) | 一种分像素运动估计的并行实现方法 | |
CN104902276B (zh) | 变换单元划分方法及装置 | |
CN105338219B (zh) | 视频图像去噪处理方法和装置 | |
CN105049678A (zh) | 一种基于绕环自适应相机路径优化的视频防抖方法 | |
TWI642291B (zh) | 基於區塊的主成分分析轉換方法及其裝置 | |
CN106534855A (zh) | 一种面向satd的拉格朗日因子计算方法 | |
KR20200026549A (ko) | 에지 컴퓨팅용 초고해상도 영상을 복원하기 위한 초고해상도 영상 복원 장치 및 방법 | |
WO2012065447A1 (zh) | 一种亚像素插值方法及*** | |
JP5417290B2 (ja) | 画像超解像処理装置及びそのプログラム | |
Yuan-Yuan et al. | Discrete cosine transform optimization in image compression based on genetic algorithm | |
CN102263954B (zh) | 一种基于对象的快速分形视频压缩与解压缩方法 | |
CN112508807B (zh) | 一种基于多方向全变分的图像去噪方法 | |
CN104661036A (zh) | 用于视频编码的方法和*** | |
CN104683817A (zh) | 基于avs的并行变换和反变换方法 | |
CN108989812B (zh) | 一种基于图像压缩的去块效应方法 | |
JP6075875B2 (ja) | 変換量子化方法、変換量子化装置及び変換量子化プログラム | |
Zhou et al. | Compressed sensing of images using nonuniform sampling | |
CN105376581B (zh) | 一种适用于hevc标准的基于指针的两级dct系数存储方法 | |
CN104602026A (zh) | 一种适用于hevc标准下编码器中全复用的重建环路结构 | |
CN106817583B (zh) | 一种hevc sao计算方法和装置 | |
CN104952046B (zh) | 基于统计的图像压缩感知低复杂度还原方法 | |
CN110175965A (zh) | 基于自适应采样及平滑投影的分块压缩感知方法 | |
Ling et al. | Research on suppression algorithms of the ringing effect caused by blind image restoration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |