CN113761464A - 数据处理方法、介质及电子设备 - Google Patents

数据处理方法、介质及电子设备 Download PDF

Info

Publication number
CN113761464A
CN113761464A CN202110982821.XA CN202110982821A CN113761464A CN 113761464 A CN113761464 A CN 113761464A CN 202110982821 A CN202110982821 A CN 202110982821A CN 113761464 A CN113761464 A CN 113761464A
Authority
CN
China
Prior art keywords
matrix
sub
data
target
idct
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.)
Pending
Application number
CN202110982821.XA
Other languages
English (en)
Inventor
刘根林
王浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Priority to CN202110982821.XA priority Critical patent/CN113761464A/zh
Publication of CN113761464A publication Critical patent/CN113761464A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Abstract

本申请涉及视频编解码技术领域,公开了一种数据处理方法、介质及电子设备,可以通过重排系数矩阵来合并IDCT算法中的乘法而减少乘法次数。该据处理方法,包括:获取与离散余弦逆变换IDCT对应的初始系数矩阵;对初始系数矩阵进行重排得到目标系数矩阵;基于目标系数矩阵,对待处理数据进行IDCT变换得到目标结果数据;其中,目标系数矩阵由相同或相似的多个4×4的子系数矩阵构成,多个4×4的子系数矩阵中包括至少两个目标子系数矩阵,每个目标子系数矩阵中从左下到右上的每条斜线上的数值均相同,且每个目标子系数矩阵相比于初始系数矩阵中对应的未重排的子系数矩阵在IDCT变换过程中所进行的乘法次数较少。

Description

数据处理方法、介质及电子设备
技术领域
本申请涉及视频编解码技术领域,特别涉及一种数据处理方法、介质及电子设备。
背景技术
离散余弦逆变换(Inverse Discrete Cosine Transform,IDCT)算法在视频编解码标准中普遍使用。通常,将IDCT算法应用于大小为2的幂的视频块,例如N个像素高×N个像素宽的视频块。此时,这些视频块可以称为“N×N视频块”,IDCT算法可以称为N点IDCT,或者称为N×N点的IDCT。
具体地,N点的一维IDCT算法需要N×N个乘法,这需要花费大量的计算资源。特别是当IDCT算法的点数N增加到32或64,以及对IDCT算法的吞吐量要求较高,如要求吞吐量为一个周期内有2个点时,将需要花费大量的计算资源。
发明内容
本申请实施例提供了一种数据处理方法、介质及电子设备,可以通过将系数矩阵重排为包括从左下到右上的斜线上的数据均相同的子系数矩阵,合并IDCT算法中的乘法而减少乘法次数。
第一方面,本申请实施例提供了一种数据处理方法,包括:获取与离散余弦逆变换IDCT对应的初始系数矩阵(即下文中的系数矩阵C);对初始系数矩阵进行重排得到目标系数矩阵(即下文中的系数矩阵C');基于目标系数矩阵,对待处理数据进行IDCT变换得到目标结果数据;其中,目标系数矩阵由相同或相似的多个4×4的子系数矩阵构成,多个4×4的子系数矩阵中包括至少两个目标子系数矩阵,每个目标子系数矩阵中从左下到右上的每条斜线上的数值均相同,且每个目标子系数矩阵相比于初始系数矩阵中对应的未重排的子系数矩阵在IDCT变换过程中所进行的乘法次数较少。
本申请实施例可以根据系数矩阵的特点,仅对部分子系数矩阵进行计算得到对应的结果,并由这些结果推出其他相同或类似的子系数矩阵对应的结果,有利于简化IDCT算法中的蝶形运算。并且,对从左下到右上的斜线上的数据均相同的子系数矩阵的计算可以极大地合并IDCT算法中的乘法,即减少了乘法次数。从而,相比对重排前的整个系数矩阵进行完整的计算,对重排后的系数矩阵中的各个子系数矩阵的计算可以极大减少IDCT算法的蝶形运算的计算次数,使得IDCT硬件整体可以使用较少的乘法器和加法器实现,从而可以提高IDCT算法的快速性、简化了IDCT硬件结构,进而实现高吞吐量、低成本且快速的IDCT方案。
在上述第一方面的一种可能的实现中,上述目标系数矩阵中相似的两个子系数矩阵中,一个子系数矩阵中的任意位置上的数值与另一子系数矩阵中的相同位置上的数值互为相反数。更具体的,两个相似的子系数矩阵中的一个子系数矩阵可以为另一个子系数矩阵乘以-1后得到的矩阵。
在上述第一方面的一种可能的实现中,上述基于目标系数矩阵,对待处理数据进行IDCT变换得到目标结果数据,包括:对待处理数据进行重排得到目标处理数据;基于目标系数矩阵对目标处理数据进行IDCT变换得到目标结果数据。可以理解的是,对待处理数据的重排规则对应于对初始系数矩阵的重排规则。
在上述第一方面的一种可能的实现中,上述对初始系数矩阵进行重排得到目标系数矩阵,包括:在IDCT变换为16×16点IDCT变换的情况下,按照第一预设重排规则对初始系数矩阵进行列置换得到目标系数矩阵,初始系数矩阵为16×16点的矩阵;其中,第一预设重排规则包括:将初始系数矩阵的第0至15列分别按照第0,8,4,12,2,6,14,10,1,3,9,5,15,13,7,11列的顺序进行列置换,并对置换的第14,5,15,7列的列数据取相反数值。
在上述第一方面的一种可能的实现中,上述对待处理数据进行重排得到目标处理数据,包括:在IDCT变换为16×16点IDCT变换的情况下,按照第二预设重排规则对待处理数据进行行置换得到目标处理数据,待处理数据为16×16点的矩阵;其中,第二预设重排规则为:将待处理数据中的第0至15行分别按照第0,8,4,12,2,6,14,10,1,3,9,5,15,13,7,11行的顺序进行行置换,并对置换的第14,5,15,7行的行数据取相反数值。
在上述第一方面的一种可能的实现中,在上述IDCT变换为16×16点IDCT变换的情况下,目标结果数据为16×16点的矩阵,且目标结果数据按照第0,1,4,13,15,14,11,2,8,6,12,5,7,9,3,10行排列。
在上述第一方面的一种可能的实现中,上述法还包括:对目标结果数据进行行置换,得到按照第0-15行排列的最终结果数据。
在上述第一方面的一种可能的实现中,上述多个4×4的子系数矩阵还包括相同的多个第一子系数矩阵,至少两个目标子系数矩阵中包括不同且的多个第二子系数矩阵以及与多个第二子系数矩阵相同或相似的多个第三子系数矩阵,每个第一子系数矩阵为一个基础矩阵。
在上述第一方面的一种可能的实现中,在IDCT变换为16×16点IDCT变换的情况下,多个4×4的子系数矩阵按照预设矩阵格式排列;其中,预设矩阵格式为:
Figure BDA0003229517320000021
A4、B4、C4、D4均为4×4的矩阵,多个第一子系数矩阵包括多个4×4的子系数矩阵中的所有A4,多个第二子系数矩阵包括一个B4、一个C4和一个D4,多个第三子系数矩阵为多个4×4的子系数矩阵中除了多个第一子系数矩阵和多个第二子系数矩阵之外的子系数矩阵。
在上述第一方面的一种可能的实现中,上述基于目标系数矩阵对目标处理数据进行IDCT变换得到目标结果数据,包括:基于每个第一子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第一结果数据,以得到多个第一结果数据;基于每个第二子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第二结果数据,以得到多个第二结果数据;根据每个第二子系数矩阵对应的第二结果数据,确定相关的每个第三子系数矩阵与对应的子数据矩阵的第三结果数据,以得到多个第三结果数据;其中,一个第二子系数矩阵与相关的第三子系数矩阵相同或相似,目标结果数据中包括多个第一结果数据、多个第二结果数据和多个第三结果数据;不同子数据矩阵为目标处理数据中不同的4×4的矩阵。可以理解的是,对于第一子系数矩阵的4×4点IDCT变换的计算可以按照任意现有技术实现。而由于多个第二子系数矩阵和多个第三子系数矩阵的4×4点IDCT算法(即IDCT变换)可以进行乘法的合并,因此有利于提供针对目标系数矩阵的IDCT算法的效率。
在上述第一方面的一种可能的实现中,上述基于目标系数矩阵对目标处理数据进行IDCT变换得到目标结果数据,包括:基于每个第一子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第一结果数据,以得到多个第一结果数据;基于每个第二子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第二结果数据,以得到多个第二结果数据;基于每个第三子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第三结果数据,以得到多个第三结果数据;其中,目标结果数据中包括多个第一结果数据、多个第二结果数据和多个第三结果数据;不同子数据矩阵为目标处理数据中不同的4×4的矩阵。
在上述第一方面的一种可能的实现中,上述基于每个第二子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第二结果数据,以得到多个第二结果数据,包括:按照下述公式,针对每个第二子系数矩阵与对应的子数据矩阵中的每一行数据进行计算得到对应的第二结果数据,以得到多个第二结果数据;
Figure BDA0003229517320000031
Figure BDA0003229517320000032
Figure BDA0003229517320000033
y0=c3(x0+x1+x2+x3)+(c2-c3)(x0+x2)+(c1-c3)(x0+x1)+(c0-c2-c1+c3)x0
y1=c3(x0+x1+x2+x3)+(c4-c3)(x1+x3)+(c1-c3)(x0+x1)+(c2-c4-c1+c3)x1
y2=c3(x0+x1+x2+x3)+(c2-c3)(x0+x2)+(c5-c3)(x2+x3)+(c4-c2-c5+c3)x2
y3=c3(x0+x1+x2+x3)+(c4-c3)(x0+x2)+(c5-c3)(x2+x3)+(c6-c4-c5+c3)x3
其中,
Figure BDA0003229517320000041
为一个第二子系数矩阵,x0,x1,x2,x3为对应的子数据矩阵中的一行数据,y0,y1,y2,y3为对应的第二结果数据中的一行数据。即通过上述公式实现了4×4点的IDCT算中乘法的合并。
第二方面,本申请实施里提供了一种可读介质,可读介质上存储有指令,指令在电子设备上执行时使电子设备执行上述第一方面中的数据处理方法。
第三方面,本申请实施里提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行上述第一方面中的数据处理方法。
附图说明
图1根据本申请的一些实施例,示出了一种数据处理方法的流程示意图;
图2根据本申请的一些实施例,示出了一种AVS2格式中的IDCT系数矩阵的示意图;
图3根据本申请的一些实施例,示出了一种AVS2格式中化简后的IDCT系数矩阵的示意图;
图4根据本申请的一些实施例,示出了一种16点IDCT变换的流程示意图;
图5根据本申请的一些实施例,示出了一种手机的结构示意图;
图6根据本申请的一些实施例,示出了一种电子设备的框图。
具体实施方式
本申请的说明性实施例包括但不限于数据处理方法、装置、介质和设备。
本申请提供的数据处理方法可以应用于视频压缩、图像压缩等数据编解码的场景中,采用离散余弦逆变换(Inverse Discrete Cosine Transform,IDCT)算法对视频、图像等数据进行解码。
在IDCT算法要求较高的吞吐量的场景中,可以将IDCT算法中的系数矩阵重排得到几个相同或类似的子系数矩阵,使得重排后的系数矩阵中包括从左下到右上的斜线上的数据均相同的子系数矩阵,如4×4的目标子系数矩阵。进而,本申请实施例可以根据系数矩阵的特点,仅对部分子系数矩阵进行计算得到对应的结果,并由这些结果推出其他相同或类似的子系数矩阵对应的结果,有利于简化IDCT算法中的蝶形运算。并且,对从左下到右上的斜线上的数据均相同的子系数矩阵的计算可以极大地合并IDCT算法中的乘法,即减少了乘法次数。从而,相比对重排前的整个系数矩阵进行完整的计算,对重排后的系数矩阵中的各个子系数矩阵的计算可以极大减少IDCT算法的蝶形运算的计算次数,使得IDCT硬件整体可以使用较少的乘法器和加法器实现,从而可以提高IDCT算法的快速性、简化了IDCT硬件结构,进而实现高吞吐量、低成本且快速的IDCT方案。
在一些实施例中,本申请实施例提供的数据处理方法可以应用于支持视频压缩格式AV1(AOMedia Video Codec 1.0)、AVS2、HEVC(High Efficiency Video Coding)标准等编解码器(codec)标准的电子设备中,例如应用于该电子设备中的视频处理单元(VideoProcessing Unit,VPU)IP中。其中,芯片设计中的IP(intellectual property core)通常指应用在系统芯片(SoC)中且具有特定功能的可复用(reusable)的电路模块,具有标准性和可交易性。
更具体地,在一些实施例中,适用于本申请的电子设备包括但不限于:数字电视、数字直接广播系统、无线通信装置、个人数字助理(PDA)、膝上型或桌上型计算机、手机、平板计算机、数字相机、数字记录装置、视频游戏装置、蜂窝式或卫星无线电电话等。
可以理解的是,本申请中执行数据处理方法的执行主体可以称为数据处理装置,即该装置用于实现IDCT算法。其中,该视频数据处理装置可以通过上述电子设备实现,或者通过该电子设备中的VPU IP实现。作为一种示例,以下实施例中将上述数据处理装置称为IDCT装置。
为了方便理解理解,以下先介绍IDCT算法的相关概念。
IDCT(逆DCT)变换是DCT(离散余弦变换,Discrete Cosine Transform)变换的逆变换。可以理解的是,本申请实施例中,N×N点IDCT算法或者N×N点DCT算法,通常可以通过对N×N的矩阵中的每一行的N个点或每一列的N个点单独进行计算实现。那么,N×N点IDCT算法可以包括多次N点IDCT变换,N×N点DCT算法可以包括多次N点DCT变换。
具体地,对于N点的一维(1D)的DCT变换的定义可以用以下公式(1)来表示:
Figure BDA0003229517320000051
其中,U表示输入矩阵,uj表示输入矩阵U中的一点数据;矩阵V为对输入矩阵U进行DCT变换后得到的变换矩阵,vi表示变换矩阵V中的一点数据;cij为系数矩阵D中的一点数据,即一个系数。具体地,i=0,...,N-1;j=0,...,N-1;N为输入矩阵中的点数,并且N为正整数,如N=16。
系数矩阵D定义如下述公式(2)所示:
Figure BDA0003229517320000052
其中,i=0,...,N-1;j=0,...,N-1;P等于1或
Figure BDA0003229517320000053
类似的,在IDCT算法中,可以对输入矩阵进行IDCT变换得到变换矩阵(即输出矩阵)。
可以理解的是,IDCT变换的公式可以参照上述DCT变换中的公式(1),本申请对此不做赘述。例如,参照上述公式(1),矩阵V可以作为IDCT变化过程中的输入矩阵,而矩阵U可以作为IDCT变换过程得到的变换矩阵(即输出矩阵)。
更具体地,对于HEVC或AVS2格式的视频编解码器而言,IDCT变换的系数矩阵C(即核心变换矩阵)是DCT变换中的系数矩阵D的有限精度近似,并且系数矩阵C中的各个系数均为整数。那么,系数矩阵C的公式可以参照上述公式(2),本申请对此不做赘述。
下面将结合附图对本申请的实施例作进一步地详细描述。
以下实施例中,以电子设备的编解码器采用AVS2格式的视频压缩格式进行16点的IDCT变换为例,以说明本申请实施例提供的针对IDCT变换的数据处理方法。如图1所示,为本申请实施例提供的一种数据处理方法的流程示意图,该方法包括如下步骤:
步骤101:IDCT装置获取16×16点的IDCT变换对应的系数矩阵C。
可以理解的是,对于16×16点的IDCT变换而言,系数矩阵C也是16×16点的矩阵。
步骤102:IDCT装置按照预设重排规则1对系数矩阵C进行列变换得到系数矩阵C',其中系数矩阵C'包括按照预设矩阵格式排列的多个4×4的子系数矩阵的构成的,且多个4×4的子系数矩阵中包括至少两个目标子系数矩阵,每个目标子系数矩阵中从左下到右上的每条斜线上的数值均相同。
其中,每个目标子系数矩阵相比于初始系数矩阵中对应的未重排的子系数矩阵在IDCT变换过程中所进行的乘法次数较少。
作一种示例,对于AVS2格式而言,上述预设重排规则1可以表示为按照“0,8,4,12,2,6,-14,10,1,3,9,-5,-15,13,-7,11”进行列置换。该预设重排规则1具体为:将系数矩阵C的第0至15列(即列序号分别为0-15的列数据)分别按照第0,8,4,12,2,6,14,10,1,3,9,5,15,13,7,11列的顺序进行列置换,并对置换的第14,5,15,7列的列数据取相反数值。参照表1所示,为按照预设重排规则1所指示的系数矩阵C'与系数矩阵C的列数据的对应关系。
表1:
Figure BDA0003229517320000071
作为一种示例,如图2所示,为AVS2格式下16点IDCT算法中的系数矩阵C,该系数矩阵C中包括16×16个点的系数。另外,如图3所示,为按照预设重排规则1将图2示出的系数矩阵C变换得到系数矩阵C'。例如,参照图2和图3,在上述列置换的过程中,系数矩阵C中的第8列数据(即32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32)进行列置换后,将作为系数矩阵C'中的第1列数据(即列序号为1的列数据)。系数矩阵C中的第14列数据(即9,-25,38,-44,44,-38,25,-9,-9,25,-38,44,-44,38,-25,9)进行行置换过程中取相反数值,将作为系数矩阵C'中的第6列数据(即-9,25,-38,44,-44,38,-25,9,9,-25,38,-44,44,-38,25,-9)。
根据本申请的一些实施例,上述系数矩阵C'由子系数矩阵A4、B4、C4、D4这4个4×4的子系数矩阵按照预设矩阵格式构成。作为一种示例,预设矩阵格式为
Figure BDA0003229517320000072
参照图3示出的系数矩阵C',上述子系数矩阵A4、B4、C4、D4,可以分别为
Figure BDA0003229517320000073
Figure BDA0003229517320000081
其中,A4可以为基础系数矩阵,例如A4可以符合目标格式,该目标格式为
Figure BDA0003229517320000082
其中a,b,c,d为常数。
而B4、C4、D4均属于目标子系数矩阵,且目标子系数矩阵从左下到右上的每条斜线上的数值均相同。例如,对于B4而言,左起的从左下到右上的个条斜线:第一条斜线上的数值为44,第二条斜线上的数值均为38,第三条斜线上的数值均为-9,第四条斜线上的数值均为25,第五条斜线上的数值均为-44,第三条斜线上的数值均为-38,第六条斜线上的数值为9。
更具体地,针对16×16点IDCT变换而言,系数矩阵C'中包括4个A4。并且,系数矩阵C'中包括的B4、C4、D4为不相同且不相似的三个子系数矩阵,而-B4与B4相似,-C4与C4相似,-D4与D4相似。可以理解的是,在本申请的一些实施例中,两个子系数矩阵相似,指的是这两个子系数矩阵中的一个子系数矩阵中的任意位置上的数值与另一子系数矩阵中的相同位置上的数值互为相反数。例如,-B4=-1×B4。
步骤103:IDCT装置按照预设重排规则2对16×16点输入数据进行行置换,并基于系数矩阵C'对16点输入数据进行IDCT变换,得到按照第0,1,4,13,15,
14,11,2,8,6,12,5,7,9,3,10行排列的16×16点输出数据。
此外,在本申请的一些实施例中,上述数据处理方法在步骤103之后还可以包括:对按照第0,1,4,13,15,14,11,2,8,6,12,5,7,9,3,10行排列的16×16点输出数据进行行置换,得到按照第0-15行排列的最终结果数据。
可以理解的是,上述预设重排规则2与预设重排规则2相对应。
作一种示例,对于AVS2格式而言,上述预设重排规则2可以表示为按照“0,8,4,12,2,6,-14,10,1,3,9,-5,-15,13,-7,11”进行行置换的规则。该预设重排规则2具体为:将16×16输入数据中的第0至15行(即行序号分别为0-15的列数据)分别按照第0,8,4,12,2,6,14,10,1,3,9,5,15,13,7,11行的顺序进行行置换,并对置换的第14,5,15,7行的行数据取相反数值。参照表2所示,为按照预设重排规则2所指示的重排前的输入数据与重排后的输入数据中各行数据的对应关系。
表2:
Figure BDA0003229517320000091
另外,上述基于系数矩阵C'对16×16点输入数据进行的IDCT变换,可以基于多个个4×4的子系数矩阵实现,从而使得16×16点的IDCT变换可以化简为多个4×4点的IDCT变换。并且,由于大部分4×4的子系数矩阵均满足从左下到右上的每条斜线上的数值均相同,因此有利于简化每个4×4点的IDCT变换过程。在一些实施例中,对于4×4点的IDCT变换而言,输入数据可以为一行4点数据或者一列4点数据,而系数矩阵是4×4的系数矩阵,因此4×4点的IDCT变换过程可以称为4×4操作。也就是说,本申请实施例中,16×16点的IDCT变换可以通过多次4×4操作实现。
作为一种示例,如图4所示,为本申请提供的一种IDCT变换过程的示意图。具体地,16×16点IDCT变换的输入为16×16点的输入数据,并且该16×16点的输入数据可以参照上述预设重排规则1按照第0,8,4,12,2,6,-14,10,1,3,9,-5,-15,13,-7,11列的顺序排列,其中,-14、-5、-15和-7表示对应的列数据取相反数值(即取反)。
具体地,16×16点的输入数据可以划分为小的矩阵,例如先划分为第0,8,4,12行(即作为IDCT变换的输入的前四行)组成的一个4×16点的矩阵(记为子矩阵1),第2,6,-14,10行组成的一个4×16点的矩阵(记为子矩阵2),第1,3,9,-5行组成的一个4×16点的矩阵(记为子矩阵3),以及第-15,13,-7,11行组成的一个4×16点的矩阵(记为子矩阵4)。进而,可以将每个子矩阵再划分为4个4×4点的小矩阵,将每个4×4点的小矩阵与相应的子系数矩阵进行计算(如矩阵相乘运算)实现一次4×4操作,即实现一次4×4点IDCT变换。
作为一种示例,对于上述子矩阵1,可以先将该子矩阵1按照列顺序依次划分为4个4×4点的小矩阵,这4个4×4点的小矩阵可以分别与子系数矩阵A4进行一次4×4点IDCT变换。可以理解的是,由于A4为基础系数矩阵,因此基于A4的4×4点IDCT变换可以通过常规的蝶形运算实现。
而对于上述子矩阵2,可以先将该子矩阵2按照列依次划分为4个4×4点的小矩阵,这4个4×4点的小矩阵中的前两个分别与子系数矩阵B4进行依次4×4操作,后两个分别与子系数矩阵B4进行依次4×4操作之后再对结果矩阵中的每个数据取反。
对于上述子矩阵2,可以先将该子矩阵2按照列依次划分为4个4×4点的小矩阵,这4个4×4点的小矩阵中的前两个分别与子系数矩阵B4进行依次4×4操作,后两个分别与子系数矩阵B4进行依次4×4操作之后再对结果矩阵中的每个数据取反。
对于上述子矩阵3,可以先将该子矩阵3按照列依次划分为4个4×4点的小矩阵,这4个4×4点的小矩阵中的第一个与子系数矩阵C4进行一次4×4操作,第二个与子系数矩阵C4进行一次4×4操作之后再对结果矩阵中的每个数据取反,第三个与子系数矩阵D4进行一次4×4操作,第二个与子系数矩阵D4进行一次4×4操作之后再对结果矩阵中的每个数据取反。
对于上述子矩阵4,可以先将该子矩阵4按照列依次划分为4个4×4点的小矩阵,这4个4×4点的小矩阵中的第一个与子系数矩阵C4进行一次4×4操作,第二个与子系数矩阵C4进行一次4×4操作之后再对结果矩阵中的每个数据取反,第三个与子系数矩阵D4进行一次4×4操作,第二个与子系数矩阵D4进行一次4×4操作之后再对结果矩阵中的每个数据取反。
作为一种示例,基于上述目标子系数矩阵(如B4,C4,D4)的4×4点IDCT变换,本申请实施例中通过下述公式(3)示出了4×4点IDCT变换中的4点IDCT变换,即一次4×4操作的过程。其中,公式(3)中的输入数据为x0、x1、x2、x3,输出数据为y0、y1、y2、y3,子系数矩阵中包括c0、c1、c2、c3等系数。
Figure BDA0003229517320000101
随后,可以将公式(3)中计算的合并为下述公式(4)示出的计算过程:
Figure BDA0003229517320000102
最后,再将公式(4)中计算的合并为下述公式(5)示出的计算过程:
Figure BDA0003229517320000111
可以理解的是,上述公式(5)示出的计算过程可以为IDCT变换的蝶形运算过程。
例如,对应于16×16点IDCT变换,上述公式(3)-(5)中的输入数据为x0、x1、x2、x3为上述16×16点的输入数据中的第0行的前四个数据,而子系数矩阵为上述子系数矩阵A4,而输入数据为y0、y1、y2、y3为16×16点的输出数据中的第0行的前四个数据。
此外,根据本申请的一些实施例,IDCT装置在基于一个子系数矩阵A4进行一次4×4点IDCT变换并得到结果数据之后,可以参照该结果数据推出基于其他三个子系数矩阵A4进行的IDCT变换的结果数据。类似的,IDCT装置可以分别对一个子系数矩阵B4或C4或D5进行一次4×4点IDCT变换并得到结果数据之后,推出基于其他相同或相似的子系数矩阵对应的IDCT变换的结果数据。
如此,对于4点IDCT变换而言,上述公式(3)、(4)和(5)可以将一些计算合并,减少了乘法的使用次数,从而可以减少4点IDCT变换过程所使用的乘法器的个数。如此,由于16×16点的IDCT变换可以化简为多个4点IDCT变换,因此有利于减少16×16点的IDCT变换过程使用的乘法器个数,进而有利于简化IDCT装置的结构并降低成本。
在一些实施例中,上述一次4×4操作只需要使用3个乘法器,连续进行多次4×4操作以完成16点像素数据中全部点的计算。具体地,在4×4操作的吞吐量为每周期2个点时,可以经过8个周期完成16点像素数据的计算。因此,本申请的16×16点的IDCT算法整体仅需要使用12个乘法器;而在吞吐量要求均为一个周期内2个点时,一些现有技术中的16×16点IDCT算法需要较多的32个乘法器。如此,吞吐量要求较高的情况下本申请中的IDCT算法也可以使用较少的乘法器,在保证高吞吐量的同时极大地简化了硬件结构,并降低了IDCT硬件成本。
此外,本申请实施例中,对于32×32点IDCT变换和64×64点IDCT变换等IDCT变换的具体描述,可以参照上述实施例中对16点IDCT变换的相关描述,本文不再一一赘述。
例如,对于32×32点IDCT变换而言,系数矩阵可以简化为32个4×4的子系数矩阵,并且大部分子系数矩阵中的从右到左的斜线上的数值均相同。从而,可以基于32个4×4的子系数矩阵,将32×32点的IDCT变换化简为多个4×4点的IDCT变换。从而,从而可以简化IDCT变换的计算过程,并简化IDCT装置的硬件结构。
以下实施例中,以IDCT装置应用于手机为例,对IDCT装置对应的硬件结构进行描述。
如图5所示,手机10可以包括处理器110、电源模块140、存储器180,移动通信模块130、无线通信模块120、传感器模块190、音频模块150、摄像头170、接口模块160、按键101以及显示屏102等。
可以理解的是,本发明实施例示意的结构并不构成对手机10的具体限定。在本申请另一些实施例中,手机10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如,可以包括中央处理器CPU(Central Processing Unit)、图像处理器GPU(Graphics Processing Unit)、数字信号处理器DSP、微处理器MCU(Micro-programmed Control Unit)、AI(ArtificialIntelligence,人工智能)处理器或可编程逻辑器件FPGA(Field Programmable GateArray)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中可以设置存储单元,用于存储指令和数据。在一些实施例中,处理器110中的存储单元为高速缓冲存储器180。
电源模块140可以包括电源、电源管理部件等。电源可以为电池。电源管理部件用于管理电源的充电和电源向其他模块的供电。在一些实施例中,电源管理部件包括充电管理模块和电源管理模块。充电管理模块用于从充电器接收充电输入;电源管理模块用于连接电源,充电管理模块与处理器110。电源管理模块接收电源和/或充电管理模块的输入,为处理器110,显示屏102,摄像头170,及无线通信模块120等供电。
移动通信模块130可以包括但不限于天线、功率放大器、滤波器、LNA(Low noiseamplify,低噪声放大器)等。移动通信模块130可以提供应用在手机10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块130可以由天线接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块130还可以对经调制解调处理器调制后的信号放大,经天线转为电磁波辐射出去。在一些实施例中,移动通信模块130的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块130至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivisionmultiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),无线局域网(wireless local areanetworks,WLAN),近距离无线通信技术(near field communication,NFC),调频(frequency modulation,FM)和/或field communication,NFC),红外技术(infrared,IR)技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidounavigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
无线通信模块120可以包括天线,并经由天线实现对电磁波的收发。无线通信模块120可以提供应用在手机10上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。手机10可以通过无线通信技术与网络以及其他设备进行通信。
在一些实施例中,手机10的移动通信模块130和无线通信模块120也可以位于同一模块中。
显示屏102用于显示人机交互界面、图像、视频等。显示屏102包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organiclight-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。
传感器模块190可以包括接近光传感器、压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
音频模块150用于将数字音频信息转换成模拟音频信号输出,或者将模拟音频输入转换为数字音频信号。音频模块150还可以用于对音频信号编码和解码。在一些实施例中,音频模块150可以设置于处理器110中,或将音频模块150的部分功能模块设置于处理器110中。在一些实施例中,音频模块150可以包括扬声器、听筒、麦克风以及耳机接口。
摄像头170用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给ISP(Image SignalProcessing,图像信号处理)转换成数字图像信号。手机10可以通过ISP,摄像头170,视频编解码器,GPU(Graphic Processing Unit,图形处理器),显示屏102以及应用处理器等实现拍摄功能。
接口模块160包括外部存储器接口、通用串行总线(universal serial bus,USB)接口及用户标识模块(subscriber identification module,SIM)卡接口等。其中外部存储器接口可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机10的存储能力。外部存储卡通过外部存储器接口与处理器110通信,实现数据存储功能。通用串行总线接口用于手机10和其他电子设备进行通信。用户标识模块卡接口用于与安装至手机1010的SIM卡进行通信,例如读取SIM卡中存储的电话号码,或将电话号码写入SIM卡中。
在一些实施例中,手机10还包括按键101、马达以及指示器等。其中,按键101可以包括音量键、开/关机键等。马达用于使手机10产生振动效果,例如在用户的手机10被呼叫的时候产生振动,以提示用户接听手机10来电。指示器可以包括激光指示器、射频指示器、LED指示器等。
此外,针对IDCT装置对应的硬件结构的描述,还可以参照下述图6所示的电子设备进行说明。
现在参考图6,所示为根据本申请的一个实施例的电子设备1400的框图。图6示意性地示出了根据多个实施例的示例电子设备1400。在一个实施例中,电子设备1400可以包括一个或多个处理器1404,与处理器1404中的至少一个连接的系统控制逻辑1408,与系统控制逻辑1408连接的系统内存1412,与系统控制逻辑1408连接的非易失性存储器(NVM)1416,以及与系统控制逻辑1408连接的网络接口1420。
在一些实施例中,处理器1404可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1404可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在电子设备1400采用eNB(Evolved Node B,增强型基站)101或RAN(Radio Access Network,无线接入网)控制器102的实施例中,处理器1404可以被配置为执行各种符合的实施例,例如,如图1所示的实施例。
在一些实施例中,系统控制逻辑1408可以包括任意合适的接口控制器,以向处理器1404中的至少一个和/或与系统控制逻辑1408通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑1408可以包括一个或多个存储器控制器,以提供连接到系统内存1412的接口。系统内存1412可以用于加载以及存储数据和/或指令。在一些实施例中电子设备1400的内存1412可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器1416可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器1416可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器1416可以包括安装电子设备1400的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1420通过网络访问NVM/存储1416。
特别地,系统内存1412和NVM/存储器1416可以分别包括:指令1424的暂时副本和永久副本。指令1424可以包括:由处理器1404中的至少一个执行时导致电子设备1400实施如图1所示的方法的指令。在一些实施例中,指令1424、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1408,网络接口1420和/或处理器1404中。
网络接口1420可以包括收发器,用于为电子设备1400提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1420可以集成于电子设备1400的其他组件。例如,网络接口1420可以集成于处理器1404的,系统内存1412,NVM/存储器1416,和具有指令的固件设备(未示出)中的至少一种,当处理器1404中的至少一个执行所述指令时,电子设备1400实现如图1所示的方法。
网络接口1420可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1420可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器1404中的至少一个可以与用于系统控制逻辑1408的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器1404中的至少一个可以与用于系统控制逻辑1408的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
电子设备1400可以进一步包括:输入/输出(I/O)设备1432。I/O设备1432可以包括用户界面,使得用户能够与电子设备1400进行交互;外围组件接口的设计使得外围组件也能够与电子设备1400交互。在一些实施例中,电子设备1400还包括传感器,用于确定与电子设备1400相关的环境条件和位置信息的至少一种。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口1420的一部分或与网络接口1420交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (14)

1.一种数据处理方法,其特征在于,包括:
获取与离散余弦逆变换IDCT对应的初始系数矩阵;
对所述初始系数矩阵进行重排得到目标系数矩阵;
基于所述目标系数矩阵,对待处理数据进行IDCT变换得到目标结果数据;
其中,所述目标系数矩阵由相同或相似的多个4×4的子系数矩阵构成,所述多个4×4的子系数矩阵中包括至少两个目标子系数矩阵,每个所述目标子系数矩阵中从左下到右上的每条斜线上的数值均相同,且每个所述目标子系数矩阵相比于所述初始系数矩阵中对应的未重排的子系数矩阵在IDCT变换过程中所进行的乘法次数较少。
2.根据权利要求1所述的方法,其特征在于,所述目标系数矩阵中相似的两个子系数矩阵中,一个子系数矩阵中的任意位置上的数值与另一子系数矩阵中的相同位置上的数值互为相反数。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标系数矩阵,对待处理数据进行IDCT变换得到目标结果数据,包括:
对待处理数据进行重排得到目标处理数据;
基于所述目标系数矩阵对所述目标处理数据进行IDCT变换得到所述目标结果数据。
4.根据权利要求3所述的方法,其特征在于,所述对所述初始系数矩阵进行重排得到目标系数矩阵,包括:
在所述IDCT变换为16×16点IDCT变换的情况下,按照第一预设重排规则对所述初始系数矩阵进行列置换得到所述目标系数矩阵,所述初始系数矩阵为16×16点的矩阵;
其中,所述第一预设重排规则包括:将所述初始系数矩阵的第0至15列分别按照第0,8,4,12,2,6,14,10,1,3,9,5,15,13,7,11列的顺序进行列置换,并对置换的第14,5,15,7列的列数据取相反数值。
5.根据权利要求4所述的方法,其特征在于,所述对待处理数据进行重排得到目标处理数据,包括:
在所述IDCT变换为16×16点IDCT变换的情况下,按照第二预设重排规则对所述待处理数据进行行置换得到所述目标处理数据,所述待处理数据为16×16点的矩阵;
其中,所述第二预设重排规则为:将所述待处理数据中的第0至15行分别按照第0,8,4,12,2,6,14,10,1,3,9,5,15,13,7,11行的顺序进行行置换,并对置换的第14,5,15,7行的行数据取相反数值。
6.根据权利要求1至5中任一项所述的方法,其特征在于,
在所述IDCT变换为16×16点IDCT变换的情况下,所述目标结果数据为16×16点的矩阵,且所述目标结果数据按照第0,1,4,13,15,14,11,2,8,6,12,5,7,9,3,10行排列。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对所述目标结果数据进行行置换,得到按照第0-15行排列的最终结果数据。
8.根据权利要求3所述的方法,其特征在于,所述多个4×4的子系数矩阵还包括相同的多个第一子系数矩阵,所述至少两个目标子系数矩阵中包括不同的多个第二子系数矩阵以及与多个所述第二子系数矩阵相同或相似的多个第三子系数矩阵,每个所述第一子系数矩阵为一个基础矩阵。
9.根据权利要求8所述的方法,其特征在于,在所述IDCT变换为16×16点IDCT变换的情况下,所述多个4×4的子系数矩阵按照预设矩阵格式排列;
其中,所述预设矩阵格式为:
Figure FDA0003229517310000021
A4、B4、C4、D4均为4×4的矩阵,多个所述第一子系数矩阵包括所述多个4×4的子系数矩阵中的所有A4,多个所述第二子系数矩阵包括一个B4、一个C4和一个D4,多个所述第三子系数矩阵为所述多个4×4的子系数矩阵中除了多个所述第一子系数矩阵和所述多个第二子系数矩阵之外的子系数矩阵。
10.根据权利要求8或9所述的方法,其特征在于,所述基于所述目标系数矩阵对所述目标处理数据进行IDCT变换得到所述目标结果数据,包括:
基于每个所述第一子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第一结果数据,以得到多个所述第一结果数据;
基于每个所述第二子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第二结果数据,以得到多个所述第二结果数据;
根据每个所述第二子系数矩阵对应的所述第二结果数据,确定相关的每个所述第三子系数矩阵与对应的子数据矩阵的第三结果数据,以得到多个所述第三结果数据;
其中,一个所述第二子系数矩阵与相关的所述第三子系数矩阵相同或相似,所述目标结果数据中包括多个所述第一结果数据、多个所述第二结果数据和多个所述第三结果数据;不同所述子数据矩阵为所述目标处理数据中不同的4×4的矩阵。
11.根据权利要求8或9所述的方法,其特征在于,所述基于所述目标系数矩阵对所述目标处理数据进行IDCT变换得到所述目标结果数据,包括:
基于每个所述第一子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第一结果数据,以得到多个所述第一结果数据;
基于每个所述第二子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第二结果数据,以得到多个所述第二结果数据;
基于每个所述第三子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第三结果数据,以得到多个所述第三结果数据;
其中,所述目标结果数据中包括多个所述第一结果数据、多个所述第二结果数据和多个所述第三结果数据;不同所述子数据矩阵为所述目标处理数据中不同的4×4的矩阵。
12.根据权利要求10或11所述的方法,其特征在于,所述基于每个所述第二子系数矩阵与对应的子数据矩阵进行4×4点IDCT变换得到一个第二结果数据,以得到多个所述第二结果数据,包括:
按照下述公式,针对每个所述第二子系数矩阵与对应的子数据矩阵中的每一行数据进行计算得到对应的第二结果数据,以得到多个所述第二结果数据;
Figure FDA0003229517310000031
Figure FDA0003229517310000032
Figure FDA0003229517310000033
y0=c3(x0+x1+x2+x3)+(c2-c3)(x0+x2)+(c1-c3)(x0+x1)+(c0-c2-c1+c3)x0
y1=c3(x0+x1+x2+x3)+(c4-c3)(x1+x3)+(c1-c3)(x0+x1)+(c2-c4-c1+c3)x1
y2=c3(x0+x1+x2+x3)+(c2-c3)(x0+x2)+(c5-c3)(x2+x3)+(c4-c2-c5+c3)x2
y3=c3(x0+x1+x2+x3)+(c4-c3)(x0+x2)+(c5-c3)(x2+x3)+(c6-c4-c5+c3)x3
其中,
Figure FDA0003229517310000034
为一个所述第二子系数矩阵,x0,x1,x2,x3为对应的子数据矩阵中的一行数据,y0,y1,y2,y3为对应的第二结果数据中的一行数据。
13.一种可读介质,其特征在于,所述可读介质上存储有指令,所述指令在电子设备上执行时使所述电子设备执行权利要求1至12中任一项所述的数据处理方法。
14.一种电子设备,其特征在于,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是所述电子设备的处理器之一,用于执行权利要求1至12中任一项所述的数据处理方法。
CN202110982821.XA 2021-08-25 2021-08-25 数据处理方法、介质及电子设备 Pending CN113761464A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110982821.XA CN113761464A (zh) 2021-08-25 2021-08-25 数据处理方法、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110982821.XA CN113761464A (zh) 2021-08-25 2021-08-25 数据处理方法、介质及电子设备

Publications (1)

Publication Number Publication Date
CN113761464A true CN113761464A (zh) 2021-12-07

Family

ID=78791214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110982821.XA Pending CN113761464A (zh) 2021-08-25 2021-08-25 数据处理方法、介质及电子设备

Country Status (1)

Country Link
CN (1) CN113761464A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05300026A (ja) * 1992-02-21 1993-11-12 Sony Corp 離散コサイン変換装置及び逆離散コサイン変換装置
JPH08194686A (ja) * 1994-12-28 1996-07-30 Daewoo Electron Co Ltd 1次元および2次元逆離散的コサイン変換(idct)回路
CN1154168A (zh) * 1995-05-15 1997-07-09 宝丽来公司 用于快速二维余弦变换滤波的方法和装置
US5724278A (en) * 1994-12-06 1998-03-03 Matsushita Electric Industrial Co., Ltd. Apparatus for inverse discrete cosine transform
US20050050128A1 (en) * 2003-09-03 2005-03-03 Mediatek Inc. Rapid and low cost of inverse discrete cosine transform system and method thereof
CN102547263A (zh) * 2010-12-27 2012-07-04 联芯科技有限公司 可变复杂度的离散余弦逆变换查表快速算法
CN103905830A (zh) * 2012-12-27 2014-07-02 联芯科技有限公司 离散余弦逆变换方法及装置
CN104661036A (zh) * 2013-11-22 2015-05-27 辉达公司 用于视频编码的方法和系统
CN111859035A (zh) * 2020-08-12 2020-10-30 华控清交信息科技(北京)有限公司 数据处理方法及装置
CN113207002A (zh) * 2021-02-21 2021-08-03 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05300026A (ja) * 1992-02-21 1993-11-12 Sony Corp 離散コサイン変換装置及び逆離散コサイン変換装置
US5724278A (en) * 1994-12-06 1998-03-03 Matsushita Electric Industrial Co., Ltd. Apparatus for inverse discrete cosine transform
JPH08194686A (ja) * 1994-12-28 1996-07-30 Daewoo Electron Co Ltd 1次元および2次元逆離散的コサイン変換(idct)回路
CN1154168A (zh) * 1995-05-15 1997-07-09 宝丽来公司 用于快速二维余弦变换滤波的方法和装置
US20050050128A1 (en) * 2003-09-03 2005-03-03 Mediatek Inc. Rapid and low cost of inverse discrete cosine transform system and method thereof
CN102547263A (zh) * 2010-12-27 2012-07-04 联芯科技有限公司 可变复杂度的离散余弦逆变换查表快速算法
CN103905830A (zh) * 2012-12-27 2014-07-02 联芯科技有限公司 离散余弦逆变换方法及装置
CN104661036A (zh) * 2013-11-22 2015-05-27 辉达公司 用于视频编码的方法和系统
CN111859035A (zh) * 2020-08-12 2020-10-30 华控清交信息科技(北京)有限公司 数据处理方法及装置
CN113207002A (zh) * 2021-02-21 2021-08-03 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张贻雄;陈凌宇;王维东;: "视频图像编码中的重排DCT方法", 浙江大学学报(工学版), no. 09 *

Similar Documents

Publication Publication Date Title
CN110263909B (zh) 图像识别方法及装置
KR101041760B1 (ko) Vliw 아키텍처를 갖는 dsp에 대한 고속 dct알고리즘
US20090066693A1 (en) Encoding A Depth Map Into An Image Using Analysis Of Two Consecutive Captured Frames
US20190230349A1 (en) Prediction mode selection method, video encoding device, and storage medium
JP2015216650A (ja) メディアデータコーディングのための32点変換
CN111435862B (zh) 信道状态信息csi报告的传输方法、终端及网络设备
KR102602693B1 (ko) 효율적인 빔포밍 피드백을 제공하기 위한 장치 및 방법
KR20160023150A (ko) 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩
CN113994348A (zh) 对于深度神经网络压缩的线性神经重建
EP3072297A1 (en) Implementation design for hybrid transform coding scheme
EP3741117A1 (en) Two-pass decoding of baseline images
WO2013140366A2 (en) Data processing
CN113222806A (zh) 大数据的存储分配方法及系统
CN113761464A (zh) 数据处理方法、介质及电子设备
US9787998B2 (en) Video encoding circuit and video encoding method using the same, and operation processing device
CN111145128B (zh) 色彩增强方法及相关装置
CN113419702B (zh) 一种数据累加方法、处理器、电子设备及可读介质
CN113596472A (zh) 数据处理方法及装置
US9930354B2 (en) Skip scanlines on JPEG image decodes
US20180316927A1 (en) Chromatic aberration modeling in image compression and enhancement
WO2024061138A1 (zh) 数据编码和数据解码的方法、装置、设备
CN114401405A (zh) 一种视频编码方法、介质及电子设备
CN116847088B (zh) 图像处理方法、处理设备及存储介质
CN112218071B (zh) 视频编码方法、装置、存储介质及电子设备
CN115268834A (zh) 乘法运算共用的执行方法、片上系统、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination