变换单元、现场可编程门阵列、芯片、电子设备、片上系统的制作方法

    专利查询2022-08-13  119



    1.本技术实施例涉及芯片技术领域,尤其涉及一种变换单元、现场可编程门阵列、芯片、电子设备、片上系统。


    背景技术:

    2.av1是由开放媒体视频联盟(alliance of open media video)开发的开放、免版税的下一代视频编码格式,较低的使用成本使得其具有较高的竞争力,有望成为未来大规模使用的视频编码格式。av1允许将图像编码块划分为多种大小的变换单元,并可以为每个块灵活地选择变换模式。为此,如何对变换过程进行优化,成为av1标准的重点发展方向。


    技术实现要素:

    3.有鉴于此,本技术实施例提供一种变换单元,以至少部分解决上述问题。
    4.根据本技术实施例的第一方面,提供了一种变换单元,包括:乘法单元和加法单元;所述乘法单元中包括多个并行的乘法器,所述多个并行的乘法器的数量与对待变换图像进行变换后的多维变换结果对应的共有因式分解表达式的数量一致,所述多维变换结果中对应的共有因式分解表达式中的部分表达式存在于至少两维变换结果对应的多项式中;所述多个并行的乘法器中的部分乘法器,用于接收输入的待变换图像对应的多维数据中的两维数据以及一个变换矩阵元素,并对所述两维数据进行加或减法计算得到加减结果,以及计算所述变换矩阵元素与所述加减结果的乘积,输出变换元素,其中,被输入至同一乘法器的两维数据以及所述变换矩阵元素,属于所述乘法器计算的共有因式分解表达式;所述加法单元,用于将乘法器输出的变换元素进行加或减法计算,得到待变换图像数据对应的多维变换结果。
    5.根据本技术实施例的第二方面,提供了一种现场可编程门阵列,包括:如上所述的变换单元;控制器,用于控制所述变换单元工作。
    6.根据本技术实施例的第三方面,提供了一种音视频编解码芯片,包括如上所述的变换单元。
    7.根据本技术实施例的第四方面,提供了一种电子设备,包括:根据上述第三方面所述的音视频编解码芯片。
    8.根据本技术实施例的第五方面,提供了一种片上系统,包括根据上述第三方面所述的音视频编解码芯片。
    9.根据本技术实施例提供的方案,乘法器用于接收输入的待变换图像对应的多维数据中的两维数据以及一个变换矩阵元素,并对所述两维数据进行加或减法计算得到加减结果,以及计算所述变换矩阵元素与所述加减结果的乘积,输出变换元素,与上述通过一个乘法器仅实现一个变换矩阵元素以及多维数据中的一维的乘积相比,本实施例中,可以通过一个乘法器的一次计算,就可得到待变换图像中多维数据中两维与变换矩阵元素的乘积,减小了乘法器的数量;另外,多个并行的乘法器的数量与对待变换图像进行变换后的多维
    变换结果对应的共有因式分解表达式的数量一致,而多维变换结果中对应的共有因式分解表达式中的部分表达式存在于至少两维变换结果对应的多项式中,使得部分乘法器进行的一次计算,可以用于计算多维变换结果的多项式中,也减小了乘法器的数量。另外,由于乘法器的数量减少,使得需要进行加减法计算的变换元素的数量也减少了,因此,本实施例提供的方案同时节省了需要耗费的加法器的资源。
    附图说明
    10.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
    11.图1是本技术一个实施例的编码系统的结构框图;
    12.图2是本技术一个实施例的视频编码器的结构框图;
    13.图3是本技术一个实施例的变换单元的结构框图;
    14.图4是本技术一个实施例的变换单元的电路结构示意图;
    15.图5是本技术另一个实施例的变换单元的电路结构示意图;
    16.图6是本技术一个实施例的dsp块中乘法器的电路结构示意图。
    具体实施方式
    17.以下基于实施例对本技术进行描述,但是本技术并不仅仅限于这些实施例。在下文对本技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本技术。为了避免混淆本技术的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
    18.视频编解码系统
    19.图1示出本技术一个实施例的编码系统的结构框图,如图1所示,编码系统包括编码侧和解码侧。编码侧可以可对在采集的图像源进行编码,并通过网络传输到解码侧,解码侧可以为编码的视频进行解码并显示。
    20.编码侧和解码侧可以为相同或不同的电子设备。电子设备具体可以例如电脑、服务器、移动终端等。网络可以为蜂窝网络、局域网或互联网等,本实施例对此不进行限定。
    21.采集图像源的采集设备可包括或可以是任何类别的用于捕获现实世界图像等的图像捕获设备,和/或任何类别的图像或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图像或影像的一部分)生成设备,例如用于生成计算机动画图像的计算机图形处理器或任何类别的用于获取和/或提供现实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,vr)图像和/或其任何组合(例如增强现实(augmented reality,ar)图像)的设备。
    22.编码器可以对图像源编码并得到编码后的图像数据,并通过通信接口发送至解码侧设备。解码侧设备包括解码器(例如视频解码器),另外还可包括通信接口或通信单元、后处理单元和显示设备等。解码器用于接收编码图像数据并提供解码图像数据,并可以通过显示设备进行显示。
    23.本技术实施例主要着眼于变换单元,变换单元可以位于编码器或解码器中,用于对图像块进行变换,在后文中会对变换的过程进行详细描述。
    24.编码器和编码方法
    25.图2示出了用于实现本技术技术的视频编码器20的结构框图。在图2的示例中,视频编码器20包括残差计算单元204、变换处理单元206、量化单元208、反量化单元210、逆变换处理单元212、重建单元214、缓冲器216,环路滤波器220、解码图像缓冲区(decoded picture buffer,dpb)230、预测处理单元260和熵编码单元270。
    26.预测处理单元260可包括帧间预测单元、帧内预测单元和模式选择单元。帧间预测单元可包括运动估计单元和运动补偿单元(未示出)。图2所示的视频编码器20也可称为混合型视频编码器或基于混合型视频编解码器的视频编码器。
    27.例如,残差计算单元204、变换处理单元206、量化单元208、预测处理单元260和熵编码单元270形成编码器20的前向信号路径,而例如反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲区(decoded picture buffer,dpb)230、预测处理单元260形成编码器的后向信号路径,其中编码器的后向信号路径对应于解码器的信号路径。
    28.编码器20用于通过输入端202等接收图像或图像块,例如,形成视频或视频序列的图像序列中的图像。图像块也可称为当前图像块或待编码的图像块,图像也可称为当前图像或待编码的图像。编码器20用于逐块对图像进行编码,例如,对每个图像块执行编码和预测。
    29.残差计算单元204用于通过如下方式根据图像块和预测块来计算残差块:例如,逐个像素点(逐个像素)从图像块的像素点值中减去预测块的像素点值,得到像素域中的残差块。
    30.变换处理单元206用于对残差块的像素点值执行离散余弦变换(discretecosine transform,dct)或离散正弦变换(discrete sine transform,dst)或非对称离散正弦变换(asymmetric discrete sine transform,adst)等,得到变换域中的变换系数,后续实施例中变换单元输出的变换结果属于计算变换系数过程中的中间变量,变换系数也可称为变换残差系数。
    31.量化单元208用于通过例如标量量化或矢量量化对变换系数进行量化,得到量化变换系数。量化变换系数也可称为量化残差系数。
    32.反量化单元210用于对量化后的变换系数进行反量化处理。
    33.逆变换处理单元212用于执行变换处理单元206执行的变换的逆变换,例如,逆离散余弦变换(discrete cosine transform,dct)或逆离散正弦变换(discrete sinetransform,dst),以在像素域中得到逆变换块。逆变换块也可称为逆变换解量化块或逆变换残差块。
    34.重建单元214(例如,求和器)用于将逆变换块添加到预测块,以在像素域中获取重建块,例如,将重建残差块的像素点值和预测块的像素点值相加。
    35.缓冲器216可以用于缓存当前的图像的参考像素点,例如缓存重建单元214将重建残差块的像素点值和预测块的像素点值相加得到的值。
    36.编码器20(例如,环路滤波器单元220)可用于输出环路滤波器参数(例如采样自适
    应偏移信息),例如,直接输出或由熵编码单元270或任何其它熵编码单元进行熵编码后输出,使得解码器30可接收并使用相同的环路滤波器参数进行解码。
    37.解码图像缓冲区(decoded picture buffer,dpb)230可以是存储参考图像数据以供视频编码器20在编码视频数据时使用的参考图像存储器。
    38.预测处理单元260,也称为块预测处理单元260,用于接收或获取图像块(当前图像的当前图像块)和重建图像数据,例如,来自缓冲器216的同一(当前)图像的参考像素点和/或来自解码图像缓冲区230的一个或多个之前解码图像的参考图像数据,以及用于处理这类数据进行预测,即提供可以作为帧间预测块或帧内预测块的预测块。
    39.模式选择单元262可用于选择预测模式(例如,帧内或帧间预测模式)和/或对应的用作预测块,以计算残差块和对重建块进行重建。模式选择单元262可用于选择预测模式(例如,从预测处理单元260支持的预测模式中选择),所述预测模式可以提供最小残差(最小残差可以使得图像在传输或存储中更好的压缩),或者提供最小信令开销(最小信令开销也可以使得图像在传输或存储中更好的压缩),或者同时考虑或平衡以上两者。
    40.模式选择单元262可用于根据码率失真优化(rate distortionoptimization,rdo)确定预测模式,即选择提供最小码率失真优化的预测模式,或选择相关码率失真至少满足预测模式选择标准的预测模式。
    41.后续实施例提供的变换单元可以用于实现上述编码器和编码方法中的变换处理单元或逆变换处理单元中的部分变换过程。
    42.变换单元
    43.首先,对于av1标准中的wdst变换,标准规定,4x4的1-d变换矩阵可以为如下矩阵:
    [0044][0045]
    变换的过程为:
    [0046]
    y=tx,z=round_shift(y,13),
    [0047]
    其中:
    [0048][0049]
    为输入的待变换图像,具体可以为一列图像残差值,y为输出的一列变换域的值,z为y归一化(将整数转换为浮点数)输出后的值,y和z均可以为变换结果,其中,z=round_shift(y,13)中的round_shift是指将y进行近似取值,保留几位小数,13为保留的小数位数。
    [0050]
    在具体计算y和z时,若通过可编程阵列(fpga)实现,计算得到y需要15个乘法器资源以及11个加法器资源(t的第二行第三列为0,不进行乘法计算以及加法计算),在确定y后还需进行一次归一化计算操作才可得到z,耗费的乘法器资源和加法器资源较多。
    [0051]
    本实施例中,对变换单元进行变更,如图3所示,变换单元,包括:乘法单元和加法单元。
    [0052]
    所述乘法单元中包括多个并行的乘法器,所述多个并行的乘法器的数量与对待变
    换图像进行变换后的多维变换结果对应的共有因式分解表达式的数量一致,所述多维变换结果中对应的共有因式分解表达式中的部分表达式存在于至少两维变换结果对应的多项式中;
    [0053]
    所述多个并行的乘法器中的部分乘法器,用于接收输入的待变换图像对应的多维数据中的两维数据以及一个变换矩阵元素,并对所述两维数据进行加或减法计算得到加减结果,以及计算所述变换矩阵元素与所述加减结果的乘积,输出变换元素,其中,被输入至同一乘法器的两维数据以及所述变换矩阵元素,属于所述乘法器计算的共有因式分解表达式;
    [0054]
    所述加法单元,用于将乘法器输出的变换元素进行加或减法计算,得到待变换图像数据对应的多维变换结果。
    [0055]
    本实施例中的乘法器用于接收输入的待变换图像对应的多维数据中的两维数据以及一个变换矩阵元素,并对所述两维数据进行加或减法计算得到加减结果,以及计算所述变换矩阵元素与所述加减结果的乘积,输出变换元素,与上述通过一个乘法器仅实现一个变换矩阵元素以及多维数据中的一维的乘积相比,本实施例中,可以通过一个乘法器的一次计算,就可得到待变换图像中多维数据中两维与变换矩阵元素的乘积,减小了乘法器的数量;另外,多个并行的乘法器的数量与对待变换图像进行变换后的多维变换结果对应的共有因式分解表达式的数量一致,而多维变换结果中对应的共有因式分解表达式中的部分表达式存在于至少两维变换结果对应的多项式中,使得部分乘法器进行的一次计算,可以用于计算多维变换结果的多项式中,也减小了乘法器的数量。另外,由于乘法器的数量减少,使得需要进行加减法计算的变换元素的数量也减少了,因此,本实施例提供的方案同时节省了需要耗费的加法器的资源。
    [0056]
    本实施例中,变换矩阵元素为变换矩阵中各个元素对应的正数值。
    [0057]
    可选地,本技术实施例中,所述变换矩阵为4
    ×
    4的非对称离散正弦变换矩阵,对应的,所述待变换图像数据包括四维。
    [0058]
    示例地,针对上述变换矩阵,可以若令a=2642,b=4964,c=6689,d=7606,可以发现a b=d,则所述变换矩阵元素包括a、b、c,所述变换矩阵可以记为:
    [0059]
    对应的,
    [0060]
    所述加法单元包括至少四个,用于将乘法器输出的变换元素进行加或减法计算,得到四维变换结果。
    [0061]
    本实施例中,参照上述变换矩阵,变换矩阵中的一行用于与一列待变换图像数据相乘,可以得到一列y作为变换结果。
    [0062]
    示例地,当采用上述变换矩阵时,变换结果y可以为:
    [0063]
    y0=a
    ×
    (x0 x3)-b
    ×
    (x
    0-x1) b
    ×
    (x0 x3) c
    ×
    x2[0064]
    y1=c
    ×
    (x0 x
    1-x3)
    [0065]
    y2=a
    ×
    (x
    0-x1) b
    ×
    (x0 x3)-c
    ×
    x2[0066]
    y3=b
    ×
    (x
    0-x1) c
    ×
    x
    2-a
    ×
    (x0 x3) a
    ×
    (x
    0-x1)
    [0067]
    将y进行归一化,可以得到z:
    [0068]
    z0=(a
    ×
    (x0 x3)-b
    ×
    (x
    0-x1) (b
    ×
    (x0 x3) 4096) c
    ×
    x2)>>13
    [0069]
    z1=(c
    ×
    (x0 x
    1-x3) 4096)>>13
    [0070]
    z2=((a
    ×
    (x
    0-x1) 4096) (b
    ×
    (x0 x3) 4096)-c
    ×
    x
    2-4096)>>13
    [0071]
    z3=(b
    ×
    (x
    0-x1) c
    ×
    x
    2-a
    ×
    (x0 x3) (a
    ×
    (x
    0-x1) 4096))>>13
    [0072]
    其中,4096为将通过q3表示的整数变更为定点数时的变更参数。当然,本实施例在此仅以4096为例进行示例性说明,本领域的技术人员可以按需进行变更,示例地,若采用q4标识变更参数,则变更参数可以由4096替换为2048。
    [0073]
    类似的,上述“>>13”标识进行13位的移位,得到转换后的定点数。本实施例在此仅以13为例进行示例性说明,并不作为本技术实施例的限定。
    [0074]
    示例地,若将y作为变换结果进行输出,且一个乘法器可以接收两维待变换图像数据以及一个变换矩阵元素,则y对应的多项式可以包括:
    [0075]
    y0=(m
    0-m2 m1 m3)
    [0076]
    y1=(c
    ×
    (x0 x1)-c
    ×
    x3)
    [0077]
    y2=(m4 m
    1-m3)
    [0078]
    y3=(m2 m
    3-m0 m4)
    [0079]
    其中的共有因式分解表达式包括:m0=a
    ×
    (x0 x3);m1=b
    ×
    (x0 x3);m2=b
    ×
    (x
    0-x1);m3=c
    ×
    x2;m4=a
    ×
    (x
    0-x1)。
    [0080]
    所述乘法单元包括的并行的乘法器包括至少五个,分别用于计算得到变换元素m0,m1,m2,m3,m4。
    [0081]
    另外,针对上述多维变换结果y中的第二维数据y1,为了进一步减小计算量,共有因式分解表达式还包括:m5=c
    ×
    (x0 x
    1-x3),对应地,所述变换单元还包括:前置加法器,用于对待变换图像对应的第一维x0、第二维x1或第四维x3中的两维数据进行加或减法计算,得到中间参数;所述乘法单元中的一个乘法器,用于接收所述中间参数,和,第一维x0、第二维x1或第四维x3中除计算所述中间参数的两维数据之外的另一维数据,以及,变换矩阵元素c,对所述中间参数与另一维数据进行加或减法计算得到所述加减结果,以及计算所述变换矩阵元素c与所述加减结果的乘积,输出变换元素m5。
    [0082]
    示例地,示例地,设中间参数n=x0 x1,则共有因式分解表达式m5=c
    ×
    (n-x3),则上述y1可以标识为:y1=m5。
    [0083]
    上述中间参数n可以通过前置加法器计算得到,中间参数n可以作为乘法器的输入的一维待变换图像数据,未输入至前置加法器的x3可以作为乘法器输入的另一维待变换图像数据。由此,可以通过1个加法器资源和1个乘法器资源计算得到y1(即m5),进一步减小了消耗的加法器和乘法器资源。
    [0084]
    示例地,待转换图像为整数,所述变换单元还用于将计算结果输出为浮点数,则将y进行归一化得到的z进行移位后可以得到浮点数的变换结果,四维变换结果z包括z0,z1,z2,z3,变换结果z对应的多项式可以包括:
    [0085]
    z0=(m
    0-m2 m1 m3)>>f
    [0086]
    z1=(c
    ×
    (x0 x1)-c
    ×
    x3 e)>>f
    [0087]
    z2=(m4 m
    1-m
    3-e)>>f
    [0088]
    z3=(m2 m
    3-m0 m4)>>f
    [0089]
    其中,共有因式分解表达式可以包括:m0=a
    ×
    (x0 x3);m1=b
    ×
    (x0 x3) e;m2=b
    ×
    (x
    0-x1);m3=c
    ×
    x2;m4=a
    ×
    (x
    0-x1) e,e为将整数转换为浮点数的变换参数,f为对z进行移位的位数,示例地,f可以为13。
    [0090]
    上述的变换元素m
    0-m4,可以分别通过一个乘法器实现,即耗费5个乘法器,上述z0、z2、z3可以各通过3个加法器对变换元素进行加和实现,另外,上述z1可以通过2个乘法器和2个加法器实现。综上所述,上述计算过程共计消耗7个乘法器、11个加法器,极大地减小了消耗的加法器和乘法器的资源。
    [0091]
    可选地,针对上述z1,为了进一步减小消耗的资源,所述共有因式分解表达式还包括:m5=c
    ×
    (x0 x
    1-x3) e,对应地,所述变换单元还包括:前置加法器,用于对待变换图像对应的第一维x0、第二维x1或第四维x3中的两维数据进行加或减法计算,得到中间参数;所述乘法单元中的一个乘法器,用于接收所述中间参数,和,第一维x0、第二维x1或第四维x3中除计算所述中间参数的两维数据之外的另一维数据,以及,变换矩阵元素c,对所述中间参数与另一维数据进行加或减法计算得到所述加减结果,以及计算所述变换矩阵元素c与所述加减结果的乘积,输出变换元素m5。
    [0092]
    示例地,设中间参数n=x0 x1,m5=c
    ×
    (n-x3) e,则上述z1可以标识为:z1=m5>>13。
    [0093]
    与上述类似,通过设置前置加法器,可以通过1个加法器资源和1个乘法器资源计算得到z1,进一步减小了消耗的加法器和乘法器资源。
    [0094]
    可选地,本实施例中,所述乘法单元具体为dsp块,所述dsp块中包括的若干个乘法器的计算逻辑包括:p=(a
    ±
    d)
    ×
    b c,其中,a、d对应于所述待变换图像对应的多维数据中输入至乘法器的两维数据,b对应于输入至乘法器的所述变换矩阵元素,c对应于输入至乘法器的所述变换参数。示例地,c具体可以为上述对y进行归一化得到z时的变换参数4096。
    [0095]
    可选地,本实施例中,所述加法单元中包括若干个加法器,所述加法器通过查找表lut实现。当通过lut实现加法器时,消耗lut的资源数量与得到的加法器的数量呈正比。
    [0096]
    具体通过lut实现加法器的方法可参考相关技术,在此不再赘述。
    [0097]
    参见图4,示出了一种变换单元的电路结构示意图。
    [0098]
    当变换结果z对应的多项式包括:
    [0099]
    z0=(m
    0-m2 m1 m3)>>f
    [0100]
    z1=(c
    ×
    (x0 x1)-c
    ×
    x3 e)>>f
    [0101]
    z2=(m4 m
    1-m
    3-e)>>f
    [0102]
    z3=(m2 m
    3-m0 m4)>>f
    [0103]
    如图4所示,输入的待变换图像数据包括四维,变换矩阵元素包括三个,乘法器共计7个,分别为dsp1-7,加法器共计11个,分别为lut1-11。
    [0104]
    本实施例中,dsp1-5分别用于实现上述变换元素m
    0-m4,dsp6、dsp7、lut1、lut11用于计算得到z1,剩余的加法器lut2-9用于计算得到z0、z2、z3,具体计算公式可参考上述实施例,在此不再赘述。
    [0105]
    参见图5,示出了一种变换单元的电路结构示意图。
    [0106]
    当变换结果z对应的多项式包括:
    [0107]
    z0=(m
    0-m2 m1 m3)>>f
    [0108]
    z1=(c
    ×
    (n-x3) e)>>f
    [0109]
    z2=(m4 m
    1-m
    3-e)>>f
    [0110]
    z3=(m2 m
    3-m0 m4)>>f
    [0111]
    如图5所示,输入的待变换图像数据包括四维,变换矩阵元素包括三个,乘法器共计6个,分别为dsp1-6,加法器共计10个,分别为lut1-10,其中,lut1为前置加法器。
    [0112]
    本实施例中,dsp1-6分别用于实现上述变换元素m
    0-m5,lut1用于计算得到n=x0 x1,剩余的加法器lut2-9用于计算得到z0-z3,具体计算公式可参考上述实施例,在此不再赘述。
    [0113]
    参见图6,示出了本技术提供的一种dsp块中乘法器的电路结构示意图。乘法器的计算逻辑包括:p=(a
    ±
    d)
    ×
    b c。
    [0114]
    参见图6,乘法器的左侧包括四个寄存器,分别与四个输入端连接,用于寄存输入至乘法器的a、b、c、d,其中的a和d输入至前置加法器preadder,用于计算a
    ±
    d,得到加减法结果。
    [0115]
    前置加法器preadder的输出端与寄存器连接,用于寄存加减法结果。
    [0116]
    乘法器中还包括25x18乘法器,即25x18multiplier,用于计算加减法结果与b的乘积,25x18乘法器的输出端与寄存器连接,用于寄存乘积。
    [0117]
    乘法器中还包括逻辑运算器,其可实现的功能较多,例如进行异或计算xor等,本技术中主要用于计算乘积和c的和。
    [0118]
    乘法器中还包括模式检测器patterndetector,用于实现带掩膜的数据比较,上下溢出检测,计到一定数对结果进行重置功能,对逻辑结果进行重置,即对逻辑运算器的输出端连接的寄存器中寄存的数据进行重置。
    [0119]
    另外,用于存储c的寄存器的输出端与选择器连接,选择器根据输入的c以及dsp的输出p,控制dsp做普通加法或者做累加。
    [0120]
    片上系统
    [0121]
    本技术实施例还提供了一种片上系统,该片上系统包括音视频解码芯片,该音视频解码芯片可以包括下述任一实施例中的变换单元。
    [0122]
    应该理解,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于装置和系统实施例中描述的方法,所以描述的比较简单,相关之处参见其他实施例的部分说明即可。
    [0123]
    应该理解,上述对本说明书特定实施例进行了描述。其它实施例在权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
    [0124]
    应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的模块或元件可被组合为单个模块或元件,且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
    [0125]
    还应理解,本文采用的术语和表述方式只是用于描述,本说明书的一个或多个实
    施例并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。

    技术特征:
    1.一种变换单元,包括:乘法单元和加法单元;所述乘法单元中包括多个并行的乘法器,所述多个并行的乘法器的数量与对待变换图像进行变换后的多维变换结果对应的共有因式分解表达式的数量一致,所述多维变换结果中对应的共有因式分解表达式中的部分表达式存在于至少两维变换结果对应的多项式中;所述多个并行的乘法器中的部分乘法器,用于接收输入的待变换图像对应的多维数据中的两维数据以及一个变换矩阵元素,并对所述两维数据进行加或减法计算得到加减结果,以及计算所述变换矩阵元素与所述加减结果的乘积,输出变换元素,其中,被输入至同一乘法器的两维数据以及所述变换矩阵元素,属于所述乘法器计算的共有因式分解表达式;所述加法单元,用于将乘法器输出的变换元素进行加或减法计算,得到待变换图像数据对应的多维变换结果。2.根据权利要求1所述的变换单元,其中,所述变换矩阵为4
    ×
    4的非对称离散正弦变换矩阵,所述变换矩阵元素包括a、b、c,所述变换矩阵为:对应的,所述加法单元包括至少四个,用于将乘法器输出的变换元素进行加或减法计算,得到四维变换结果。3.根据权利要求2所述的变换单元,其中,所述待变换图像包括四维数据x0,x1,x2,x3,所述共有因式分解表达式包括:m0=a
    ×
    (x0 x3);m1=b
    ×
    (x0 x3);m2=b
    ×
    (x
    0-x1);m3=c
    ×
    x2;m4=a
    ×
    (x
    0-x1),对应地,所述乘法单元包括的并行的乘法器包括至少五个,分别用于计算得到变换元素m0,m1,m2,m3,m4。4.根据权利要求3所述的变换单元,其中,所述共有因式分解表达式还包括:m5=c
    ×
    (x0 x
    1-x3),对应地,所述变换单元还包括:前置加法器,用于对待变换图像对应的第一维x0、第二维x1或第四维x3中的两维数据进行加或减法计算,得到中间参数;所述乘法单元中的一个乘法器,用于接收所述中间参数,和,第一维x0、第二维x1或第四维x3中除计算所述中间参数的两维数据之外的另一维数据,以及,变换矩阵元素c,对所述中间参数与另一维数据进行加或减法计算得到所述加减结果,以及计算所述变换矩阵元素c与所述加减结果的乘积,输出变换元素m5。5.根据权利要求3所述的变换单元,其中,所述待转换图像为整数,所述变换单元还用于将计算结果输出为浮点数,对应地,所述共有因式分解表达式包括:m0=a
    ×
    (x0 x3);m1=b
    ×
    (x0 x3) e;m2=b
    ×
    (x
    0-x1);m3=c
    ×
    x2;m4=a
    ×
    (x
    0-x1) e;四维变换结果对应的多项式包括:z0=(m
    0-m2 m1 m3);z1=(c
    ×
    (x0 x
    1-x3) e);z2=(m4 m
    1-m
    3-e);z3=(m2 m
    3-m0 m4),其中,四维变换结果包括z0,z1,z2,z3,e为将整数转换为浮点数的变换参数。6.根据权利要求5所述的变换单元,其中,所述乘法单元具体为dsp块,所述dsp块中包括的乘法器的计算逻辑包括:p=(a
    ±
    d)
    ×
    b c,其中,a、d对应于所述待变换图像对应的多
    维数据中输入至乘法器的两维数据,b对应于输入至乘法器的所述变换矩阵元素,c对应于输入至乘法器的所述变换参数。7.根据权利要求1-6任一项所述的方法,其中,所述加法单元中包括若干个加法器,所述加法器通过查找表lut实现。8.一种现场可编程门阵列,包括:根据权利要求1-7中任一所述的变换单元;控制器,用于控制所述变换单元工作。9.一种音视频编解码芯片,包括权利要求1-7中任一所述的变换单元。10.一种电子设备,包括:根据权利要求9所述的音视频编解码芯片。11.一种片上系统,包括根据权利要求9所述的音视频编解码芯片。

    技术总结
    本申请实施例提供了一种变换单元、现场可编程门阵列、芯片、电子设备、片上系统,变换单元,包括:乘法单元和加法单元;乘法单元中包括多个并行的乘法器,多个并行的乘法器的数量与对待变换图像进行变换后的多维变换结果对应的共有因式分解表达式的数量一致;多个并行的乘法器中的部分乘法器,用于接收输入的待变换图像对应的多维数据中的两维数据以及一个变换矩阵元素,并对两维数据进行加或减法计算得到加减结果,以及计算变换矩阵元素与加减结果的乘积,输出变换元素;加法单元,用于将乘法器输出的变换元素进行加或减法计算,得到待变换图像数据对应的多维变换结果。本实施例提供的方案可以减少变换过程消耗的加法器和乘法器资源。资源。资源。


    技术研发人员:杜立国
    受保护的技术使用者:阿里巴巴(中国)有限公司
    技术研发日:2022.02.18
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-7221.html

    最新回复(0)