当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于执行空域和频域之间的变换的数据处理装置和方法制造方法及图纸

技术编号:10638383 阅读:158 留言:0更新日期:2014-11-12 13:21
提供了用于执行空域和频域之间的变换的数据处理装置和方法。该数据处理装置包括被配置为接收N个输入值并执行一系列操作来生成表示所述N个输入值在空域和频域之间的变换的N个输出值的变换电路。这样,该变换电路采用被配置为接收由变换电路生成的M个内部输入值并执行基础操作的基础电路,其中M大于或等于4,该基础操作等同于M个内部输入值与汉克尔矩阵的矩阵乘法,汉克尔矩阵是具有恒定的斜对角线的方形矩阵。变换电路在一系列操作的执行期间被布置为:根据N个输入值生成多组M个内部输入值、向基础电路提供每组M个内部输入值以使得多组M个内部输出值能够被产生、以及根据多组M个内部输出值导出N个输出值。

【技术实现步骤摘要】
用于执行空域和频域之间的变换的数据处理装置和方法
本专利技术涉及用于在处理视频数据时执行空域和频域之间的变换的技术。这样的变换通常是由视频编码器和视频解码器二者来执行的。其中,视频编码器执行前向变换以将视频信号从空域转换到频域,视频解码器执行相应的反向变换以将经编码的信号从频域转换回空域。
技术介绍
存在各种已知的用于在空域和频域之间进行信号转换的变换。一种通用的变换是离散余弦变换。当前的视频编码器和解码器可能需要根据多种视频标准来执行视频编码和解码操作,这些视频标准例如是:MPEG2、MPEG4、H.263、H.264高端(H.264highprofile)、VP8、VC-1等等。众所周知,视频编码和解码过程中的计算特别密集的部分是变换操作的执行部分。视频编码和解码通常是以8×8的像素数据块(block)为基础被执行的,其中四个8×8的亮度(Y)数据块和两个8×8的色度(Cb和Cr)数据块代表了给定宏块(macroblock)的视频数据。针对每个宏块,对所有的六个8×8块执行变换操作来产生六个变换输出的8×8块。直到最近,只需要相对较小的变换操作,如上文提到的示例中的8×8变换。然而,随着高清视频的引入,开始出现更新的视频标准,例如HEVC标准,该HEVC标准需要对更大的阵列(例如,16×16和32×32)执行变换操作。已经研发出的高效执行较小尺寸的变换的许多技术已经被发现不可扩展以用于这些更大尺寸的变换。具体考虑离散余弦变换(DCT)的示例,各种论文已经研究了更大的DCT,并且已经研发出用于以下功能的技术:该技术在复乘(repeatedmultiplication)被准许时(即,一个乘法的结果被作为另一乘法的输入馈入),使得如此大的DCT能够通过快速傅里叶变换(FFT)型的方法被高效地实现。例如,分别由Feig和Winograd所作的、题为“关于离散余弦变换的乘法复杂度”(OntheMultiplicativeComplexityofDiscreteCosineTransforms,IEEETransInformationTheory,Volume38,No.4,July1992)以及题为“用于离散余弦变换的快速算法”(FastAlgorithmsfortheDiscreteCosineTransform,IEEETransSignalProcessing,Volume40,No.9,September1992)的两篇论文讨论了用于优化DCT的可能算法,该可能的算法减少了所需的乘法运算的数目。然而,一般而言(特别是对于较大的变换尺寸),这些技术需要先前提到的复乘。然而,在视频标准中,通常存在至少解码操作的输出要精确到比特的要求,因为在视频处理中某些图片的内容是从先前的图片中预测的。以HEVC标准为具体示例,在解码期间执行的反向变换操作必须被实现为:与使用整数乘法(integermultiplies)的变换的参考定点(fixed-point)版本的输出精确匹配。结果,已知的使用复乘(通常结合移位操作)的优化技术由于引入了舍入误差而不能被使用。避免这样的复乘需求并且因而能够在需要比特级精确结果时被使用的一种已知技术使用重复的(A+B,A-B)蝶形(butterfly)来减少所需的乘法运算的数目。当考虑32×32变换的示例时,在没有任何优化的情形下针对每一维度的变换将需要32×32次的乘法,即1024次乘法。通过使用这些已知的蝶形技术,针对该具体场景的乘法的数目能够被减少为342。然而,这仍然有相当数目的乘法要执行,并且需要针对每一维度的变换重复该数目的乘法。例如,视频编码和解码通常使用二维的DCT,因而通过使用HEVC标准的示例的方式,要处理的每个视频数据块可以包括32×32个数值的阵列。通常,二维离散余弦变换是通过执行一系列被应用到阵列的每行和每列的一维变换来实现的,因而在上面的示例中将涉及覆盖阵列中的每一行的32次一维变换、以及随后的覆盖每一列的32次一维变换的执行。因此,针对每个视频数据块,将需要64次一维变换,并且根据早前所述的特定的蝶形技术,每次一维变换将需要342次的乘法运算。存在对于提供更高性能和更低面积成本的视频编码器和解码器的持续期望,因此期望减少在对视频数据执行前向和反向变换操作期间所需的乘法的数目。随着根据诸如HEVC标准之类的更新的视频标准所支持的变换的尺寸的增加,该期望将变得越来越迫切。
技术实现思路
从第一方面看,本专利技术提供了一种用于在处理视频数据时执行空域和频域之间的变换的数据处理装置,该数据处理装置包括:变换电路,该变换电路被配置为接收N个输入值并执行一系列操作来生成表示所述N个输入值在空域和频域之间的变换的N个输出值;基础电路,该基础电路被配置为接收由变换电路生成的M个内部输入值并执行基础操作以生成用于返回至变换电路的M个内部输出值,其中M大于或等于4,该基础操作等同于所述M个内部输入值与包括系数c的阵列的矩阵的矩阵乘法,该矩阵具有以下形式:并且变换电路在所述一系列操作的执行期间被布置为:根据N个输入值生成多组所述M个内部输入值、向基础电路提供每组M个内部输入值从而使得多组所述M个内部输出值能够被产生、以及根据所述多组M个内部输出值导出N个输出值。根据本专利技术,该数据处理装置被配置为重复使用基础电路,该基础电路被配置为执行等同于M个内部输入值与包括系数c的阵列的矩阵的矩阵乘法的基础操作,该矩阵具有以下形式:M大于或等于4,并且在一个示例中M等于4。变换电路操纵原始提供的N个输入值从而生成多组M个内部输入值,每组M个内部输入值被传送通过基础电路。因此,基础电路被迭代地用于由变换电路产生的每组M个内部输入值。然后变换电路根据由基础电路产生的多组M个内部输出值来导出N个输出值。通常,本专利技术的上述技术将被重复地用于一系列的一维变换从而实现二维变换。对于每次一维变换,一组N个输入值将被输入至数据处理装置的变换电路。根据本专利技术,对于具体提供的一组N个输入值,每组M个内部输入值只被传送通过基础电路一次,并且由基础电路生成的内部输出值都不被用作随后由基础电路执行的乘法迭代的输入。因而,当使用本专利技术的装置时不会执行复乘,从而使得该装置能够生成比特级精确的结果,该结果是诸如HEVC视频标准之类的现代标准所需要的。基础电路内采用的矩阵的具体形式是带有恒定的斜对角线(即,正斜率的对角线)的方形矩阵,也被称作汉克尔矩阵。本专利技术的专利技术者已经意识到:对于现代视频处理标准所要求的更大的变换,所需的空域和频域之间的变换能够以使用汉克尔矩阵来实现重复的更小尺寸的矩阵乘法的方式进行因式分解。由基础电路执行的基础操作能够处理上述提供的形式的汉克尔矩阵的任何具体实例,因而能够执行等同于M个内部输入值与汉克尔矩阵的矩阵乘法的操作而不顾被分配到系数c0到c2M-2的值。因此,通过示例的方式,即使所有的系数c0到c2M-2具有不同的值,和/或系数的值针对被提供至基础电路的每组M个内部输入值而变化,基础电路也能够执行所要求的操作。另外,本专利技术的技术可被用于编码和解码二者,并且可轻易地扩展至可变尺寸的N。已经发现,上述布置实现了为执行N个输入值在空域和频域之间的变换所需的乘法数目的显著减少。例如,考虑前文提到的新H本文档来自技高网
...

【技术保护点】
一种用于在处理视频数据时执行空域和频域之间的变换的数据处理装置,所述数据处理装置包括:变换电路,该变换电路被配置为接收N个输入值并执行一系列操作来生成表示所述N个输入值在所述空域和频域之间的变换的N个输出值;基础电路,该基础电路被配置为接收由所述变换电路生成的M个内部输入值并执行基础操作来生成用于返回至所述变换电路的M个内部输出值,其中M大于或等于4,所述基础操作等同于所述M个内部输入值与包括系数c的阵列的矩阵的矩阵乘法,该矩阵具有以下形式:c0c1c2…cM‑1c1c2c3…cMc2c3c4…cM+1;并且…cM‑1cMcM+1…c2M‑2所述变换电路在所述一系列操作的执行期间被布置为:根据所述N个输入值生成多组所述M个内部输入值、向所述基础电路提供每组M个内部输入值从而使得多组所述M个内部输出值被产生、以及根据所述多组M个内部输出值导出所述N个输出值。

【技术特征摘要】
2013.05.07 GB 1308186.41.一种用于在处理视频数据时执行空域和频域之间的变换的数据处理装置,所述数据处理装置包括:变换电路,该变换电路被配置为接收N个输入值并执行一系列操作来生成表示所述N个输入值在所述空域和频域之间的变换的N个输出值;基础电路,该基础电路被配置为接收由所述变换电路生成的M个内部输入值并执行基础操作来生成用于返回至所述变换电路的M个内部输出值,其中M大于或等于4,所述基础操作等于所述M个内部输入值与包括系数c的阵列的矩阵的矩阵乘法,该矩阵具有以下形式:并且所述变换电路在所述一系列操作的执行期间被布置为:根据所述N个输入值生成多组所述M个内部输入值、向所述基础电路提供每组M个内部输入值从而使得多组所述M个内部输出值被产生、以及根据所述多组M个内部输出值导出所述N个输出值。2.如权利要求1所述的数据处理装置,其中:所述包括系数c的阵列的矩阵是汉克尔矩阵;并且所述基础电路被配置为执行等于所述M个内部输入值与所述汉克尔矩阵的矩阵乘法的所述基础操作,而不考虑分配到系数c0到c2M-2的值。3.如权利要求1所述的数据处理装置,其中在空域和频域之间执行的变换是离散余弦变换。4.如权利要求1所述的数据处理装置,其中所述变换电路包括:排列电路,该排列电路被配置为对接收到的N个输入值进行排列从而产生输入值的K个群组,其中K=N/M,每个群组具有M个成员,每个成员是所述接收到的N个输入值中的一个;以及加法器电路,该加法器电路被配置为对来自所选群组中的相应成员执行加法运算和减法运算中的至少一种,从而生成每组所述M个内部输入值。5.如权利要求4所述的数据处理装置,其中所述变换电路还包括:另外的加法器电路,该另外的加法器电路被配置为对由所述基础电路产生的多组所述M个内部输出值执行加法运算和减法运算中的至少一种,从而产生N个中间输出值。6.如权利要求5所述的数据处理装置,其中所述变换电路还包括:移位电路,该移位电路被配置为对所述N个中间输出值执行移位操作从而生成经移位的中间输出值。7.如权利要求6所述的数据处理装置,其中所述移位操作包括饱和操作。8.如权利要求6所述的数据处理装置,其中所述变换电路还包括:另外的排列电路,该另外的排列电路被配置为对N个经移位的中间输出值进行排列从而生成所述N个输出值。9.如权利要求1所述的数据处理装置,还包括系数生成电路,该系数生成电路被配置为针对每组M个内部输入值生成相应的一组系数值,该组系数值在所述基础电路执行所述基础操作时被使用。10.如权利要求1所述的数据处理装置,其中所述数据处理装置能够被配置为执行从空域到频域的前向变换和从频域到空域的反向变换中的一种变换。11.如权利要求10所述的数据处理装置,还包括系数生成电路,该系数生成电路被配置为针对每组M个内部输入值生成相应的一组系数值,该组系数值在所述基础电路执行所述基础操作时被使用,其中不论所述数据处理装置是被配置为执行所述前向变换还是被配置为执行所述反向变换,由所述系数生成电路针对每组M个内部输入值生成的所述相应的一组系数值是相同的。12.如权利要求1所述的数据处理装置,其中在空域和频域之间执行的变换是离散余弦变换,其中所述变换电路还被配置为生成另一组M个内部输入值用于提供给所述基础电路,并且所述基础电路被配置为通过执行等于所述另一组M个内部输入值与离散余弦变换矩阵的矩阵乘法的离散余弦变换来对所述另一组M个内部输入值执行离散余弦变换。13.如权利要求12所述的数据处理装置,其中所述数据处理装置被配置为在所述视频数据的编码期间执行前向离散余弦变换,并且所述基础电路被配置为在对所述多组M个内部输入值执行基础操作之后,执行作为所述离散余弦变换操作的前向离散变换操作。14.如权利要求12所述的数据处理装置,其中所述数据处理装置被配置为在所述视频数据的解码期间执行反向离散余弦变换,并且所述基础电路被配置为在对所述多组M个内部输入值执行基础操作之前...

【专利技术属性】
技术研发人员:多米尼克·胡戈·塞姆斯托马斯·艾德索
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1