当前位置: 首页 > 专利查询>辉达公司专利>正文

用于视频编码器中的率失真优化和重构的有效变换和转置制造技术

技术编号:36655201 阅读:24 留言:0更新日期:2023-02-18 13:20
所公开的方法可提供具有有效地共享变换硬件资源的能力的非阻挡视频处理管线。变换硬件资源可跨处理参数(例如,像素块尺寸、变换类型、视频流位深度和/或多个编码格式)以及针对帧间和帧内编码来共享。视频处理管线可被分为相位,每个相位具有半蝶形电路以执行变换的计算的相应部分。所述相位可为可选择和可配置以执行用于所述处理参数的多个不同组合的变换。在每一配置中,相位可以能够通过顺序穿过至少一些相位来执行变换,从而产生高吞吐量。还描述涉及改进变换的转置运算的性能和效率的方法。法。法。

【技术实现步骤摘要】
用于视频编码器中的率失真优化和重构的有效变换和转置

技术介绍

[0001]硬件视频编码器的关键在于时域与频域之间的有效变换的实现。对于例如AV1和VP9等视频编解码器,正向和逆变换对于率失真优化(RDO)和重构(REC)两者是必不可少的,其中变换运算由存储器密集型转置运算分开。RDO可包括通过测试用于编码超级块的变换类型、形状和/或大小的不同潜在组合来优化率失真以改进质量。REC可包括使用来自RDO的信息来微调选择和执行编码。可由视频编解码器支持的不同变换类型、形状和尺寸可导致用于RDO的大搜索空间。由于搜索空间的大小,可能无法用硬件吞吐量评估所有可能性,所述硬件吞吐量规定对于给定的超级块可以评估多少可能性。然而,在支持许多不同配置的同时实现高吞吐量以及实现面积和功率有效电路是极具挑战性的。
[0002]视频编码的常规方法可以采用迭代方法来执行变换,其中,当管线在多遍数据上迭代时,阻止进一步的像素输入进入管线。真正的乘法器用于应用在面积、功率和定时上昂贵的变换,并且因此限制性能。另一常规方法可在若干小函数上迭代计算以组成导致总体变换的较大函数。可能需要相当数量的迭代,且对于较大变换尺寸,所得阻挡可为数百个周期。可使用需要大量资源的物理转置电路执行转置。由于这些和其他原因,常规方法可能需要大且低效的电路,因为它们不能很好地缩放以用于高吞吐量。

技术实现思路

[0003]本公开的实施例涉及用于视频编码器中的率失真优化和重构的有效变换和转置。公开了可用于为高吞吐量视频编码器或解码器提供有效使用面积和功率的系统和方法。
>[0004]在本专利技术的其他方面中,所公开的方法可提供具有有效地共享变换硬件资源的能力的非阻挡视频处理管线。在至少一个实施例中,视频处理管线的变换硬件资源可以跨处理参数(例如,像素块尺寸、变换类型、视频流位深度和/或多种编码格式)共享,并且用于帧间和帧内编码。视频处理管线可分成多个相位,每个相位具有多个半蝶形(HB)电路、加法器和/或减法器,其可操作以执行变换的计算的相应部分。相位可选择和可配置以执行多个不同像素块尺寸、变换类型、视频流位深度和/或多个编码格式的变换,以及用于帧间和帧内编码,从而允许变换硬件资源的高重复使用。在每一配置中,相位可能能够通过顺序穿过至少一些相位来执行变换,从而产生高吞吐量。
附图说明
[0005]以下参考附图详细描述用于在视频编码器中进行率失真优化和重构的有效变换和转置的本系统和方法,其中:
[0006]图1示出了根据本公开的一些实施例的适用于视频的率失真优化和重构的量化和变换单元的示例数据流;
[0007]图2示出了根据本公开的一些实施例用于共享变换硬件资源的电路的示例;
[0008]图3示出了根据本公开的一些实施例的表的示例,所述表反映变换硬件资源可以如何映射至变换的相位;
[0009]图4A示出了根据本公开的一些实施例可以用于实现数据流的半蝶形电路的示例;
[0010]图4B示出了根据本公开的一些实施例的用于绕过入口管线阶段的示例电路;
[0011]图4C示出了根据本公开的一些实施例的用于绕过出口管线阶段的示例电路;
[0012]图5描绘了根据本专利技术的一些实施例的8x8像素块的转置运算的方面的示例;
[0013]图6示出了根据本公开的至少一些实施例的用于转置像素块的螺旋存储器存取模式的示例;
[0014]图7是根据本公开的至少一些实施例的可以用于实现图6的螺旋存储器存取模式的过程的示例的流程图;
[0015]图8A包括根据本公开的至少一些实施例的可以用于实现图6的螺旋存储器存取模式的过程的示例的流程图;
[0016]图8B包括根据本公开的至少一些实施例的可以用于实现图6的螺旋存储器存取模式的过程的示例的流程图;
[0017]图9包括根据本公开的至少一些实施例的表,所述表示出了可以如何使用偏移将像素块存储在同一缓冲器中的示例;
[0018]图10示出了根据本公开的至少一些实施例的地址空间可以如何被划分为写入范围、读取范围和空闲范围的示例;
[0019]图11是示出了根据本公开的一些实施例的用于使用共享硬件资源来操作视频处理管线的方法的流程图;
[0020]图12是适合用于实现本公开的一些实施例的一个或更多个示例计算设备的框图;以及
[0021]图13是适合用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
[0022]本公开的实施例涉及用于视频编码器中的率失真优化和重构的有效变换和转置。公开了可用于为高吞吐量视频编码器或解码器提供有效使用面积和功率的系统和方法。
[0023]与常规方法相比,本公开提供了变换管线,所述变换管线能够将变换应用于像素块(所述像素块还可被称为图块、块分区或子块)而不使用像素上的迭代遍次也不使用计算资源上的迭代来进行阻挡。吞吐量PPC可以等于输入PPC。可针对多种不同处理参数(例如,像素块尺寸、变换类型、视频流位深度和/或多个编码格式)以及针对帧间和帧内编码而存在这些性质。提供非阻挡设计可导致高吞吐量并大大简化调度,从而允许诸如帧间和帧内编码单元之类的实体更容易地共享同一数据流100。
[0024]在本专利技术的其他方面中,所公开的方法可提供具有有效地共享变换硬件资源的能力的非阻挡视频处理管线。在至少一个实施例中,视频处理管线的变换硬件资源可以跨处理参数(例如,像素块尺寸、变换类型、视频流位深度和/或多种编码格式)共享,并且用于帧间和帧内编码。视频处理管线可分成多个相位,每个相位具有多个半蝶形(HB)电路、加法器和/或减法器,其可操作以执行变换的计算的相应部分。相位可选择和可配置以执行多个不同像素块尺寸、变换类型、视频流位深度和/或多个编码格式的变换,以及用于帧间和帧内编码,从而允许变换硬件资源的高重复使用。在每一配置中,相位可能能够通过顺序穿过至少一些相位来执行变换,从而产生高吞吐量。
[0025]所公开的管线可以使用半蝶形网络(包括多个HB和多个加法器)、接着是转置以及另一个半蝶形网络(包括多个HB)来实现变换单元(例如,正变换电路、逆变换电路等)。如本文中所使用,半蝶形网络可指代包括用以对系数执行变换组成的至少一部分的一个或更多个半蝶形电路的电路。半蝶形或半蝶形电路可指代经配置以通过三角函数值将输入(例如,两个输入)的线性组合缩放成单个输出(例如,使用如图4A中的两倍数及相加)的电路。如本文中所描述,半蝶形电路可在可联网以产生较大变换的输入对上形成较小运算。
[0026]在至少一个实施例中,半蝶形可对应于蝶形处理流程(例如,源自快速傅里叶变换(FFT))中的相关对的输出中的一者,其中输入对被线性组合以产生两个输出。例如,考虑AV1中的FDCT16变换的阶段5的提取,其中cospi[8]和cospi[40]值是已知的三角常数:
[0027][0028]如上所示,输出4至7是输入4至7的线性组合。
[0029]这些术语可以重新排列如下,
[0030][003本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种处理电路,包括:相位的视频处理管线,每个相位具有多个半蝶形HB电路,其中所述相位是可选择的且可配置为使用所述HB电路对多个尺寸的像素块执行多个变换类型的变换,并且通过顺序穿过所述相位中的至少一些来执行每个变换;以及配置电路,用于至少基于像素块的一个或更多个维度以及多个变换中的一变换的变换类型来选择并配置一组相位以对所述像素块执行所述变换。2.根据权利要求1所述的系统,其中,每个变换类型定义所述变换类型的计算阶段,并且所述相位中的一个相位实现多个所述变换类型的所述阶段中的一个阶段的至少一部分。3.根据权利要求1所述的系统,其中,所述配置电路进一步用于至少基于与所述像素块相关联的位深度和与所述像素块相关联的编码格式来配置所述一组相位以执行所述变换。4.根据权利要求1所述的系统,其中,所述配置电路进一步用于至少基于与所述像素块相关联的编码格式和位深度来配置一个或更多个相位的输出的一个或更多个钳位范围以执行所述变换。5.根据权利要求1所述的系统,其中,所述配置电路进一步用于至少基于与所述像素块相关联的位深度来配置一个或更多个相位的输出的舍入位置以执行所述变换。6.根据权利要求1所述的系统,其中,所述视频处理管线包括:变换电路,用于对所述像素块执行正变换,其中从频域中的数据计算一个或更多个率失真优化成本,所述数据对应于所述正变换的输出;漏斗电路,用于至少基于所述像素块的一个或更多个维度在所述视频处理管线的逆变换电路之前滤除所述像素块中的一个或更多个;所述逆变换电路,用于基于所述像素块的子集通过由所述漏斗电路进行的过滤来对所述子集执行逆变换,所述逆变换以比所述正变换低的吞吐量执行;以及帧内预测电路,用于使用与所述逆变换的输出相对应的反馈来执行帧内预测。7.根据权利要求1所述的系统,其中,使用预先计算的三角函数系数执行所述变换。8.根据权利要求1所述的系统,其中,所述变换是非对称离散正弦变换或映射至一个或更多个所述相位的所述多个HB的恒等变换。9.根据权利要求1所述的系统,其中,所述视频处理管线包括:加法器钳,用于至少基于对所述变换的一个或更多个计算进行钳位来生成第一一个或更多个溢出信号;以及舍入移位钳,用于至少基于对所述变换的输出进行舍入来生成第二一个或更多个溢出信号,其中所述视频处理管线用于至少基于所述第一一个或更多个溢出信号和所述第二一个或更多个溢出信号来生成中断。10.根据权利要求1所述的系统,其中,配置电路包括多个独热复用器,所述多个独热复用器具有对应于所述一个或更多个维度和所述变换类型的选择源以执行所述一组相位的所述选择和配置。11.根据权利要求1所述的系统,其中,所述配置电路用于至少基于所述像素块的尺寸绕过所述相位中的一个或更多个入口或出口相位。12.根据权利要求1所述的系统,包括调度器,所述调度器被配置为以对应于所述像素块的尺寸的顺序将所述像素块提供给所述视频处理管线,其中,所述尺寸主要沿着所述顺
序增加。13.根据权利要求1所述的系统,其中,在没有使用真实乘法器的情况下应用所述变换。14.一种方法,包括:向相位的视频处理管线的输入提供像素块,每个相位具有多个半蝶形HB电路,其中所述相位是可选择的且可配置为使用所述HB电路对多个尺寸的像素块执行多个变换类型的变换,并且通过顺序穿过所述相位中的至少一些来执行每个变换;使用配置电路,至少基于像素块的一个或更多个维度以及多个变换中的一变换的变换类型来选择并配置一组相位以对所述像素块执行所述变换;以及使用所述一组相位来执行所述变换,其中所述一组相位使用所述配置电路选择并配置。15.根据权利要求14所述的方法,其中所述视频处理管线包括转...

【专利技术属性】
技术研发人员:E
申请(专利权)人:辉达公司
类型:发明
国别省市:

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

1