CN103747266A - 一种数据变换方法和设备 - Google Patents
一种数据变换方法和设备 Download PDFInfo
- Publication number
- CN103747266A CN103747266A CN201310723690.9A CN201310723690A CN103747266A CN 103747266 A CN103747266 A CN 103747266A CN 201310723690 A CN201310723690 A CN 201310723690A CN 103747266 A CN103747266 A CN 103747266A
- Authority
- CN
- China
- Prior art keywords
- data
- converter
- matrix
- capacity
- butterfly
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种数据变换方法和设备,涉及计算机领域,能够减少硬件资源开销,包括:获取数据变换设备支持的数据矩阵的最大容量mn×mn,所述数据变换设备分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数;获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数;若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换。本发明提供的数据变换方法和设备用于视频编码。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数据变换方法和设备。
背景技术
在数字视频应用产业链的快速发展中,面对视频应用不断向高清晰度、高帧率、高压缩率方向发展的趋势,面向更高清晰度、更高帧率、更高压缩率视频应用的HEVC(High Efficiency Video Coding,高效视频编码)协议标准应运而生。DCT(Discrete Cosine Transform,离散余弦变换)与IDCT(Inverse Discrete Cosine Transform,非连续反余弦变换)变换编码是HEVC视频编码器的重要组成部分,HEVC视频编码器的原理在于最大限度地消除各种冗余,包括空间冗余、时间冗余、视觉冗余、编码冗余等。其中在视频压缩过程中,HEVC视频编码器消除视觉冗余是通过DCT变换编码的方法来实现的;在视频解压过程中,HEVC视频编码器消除视觉冗余是通过IDCT变换编码的方法来实现的。
现有技术中,HEVC视频编码器中的DCT与IDCT变换编码是由蝶形算法实现的,所述蝶形算法分为两部分,蝶形流水和蝶形计算。HEVC视频编码器将数据组成不同大小TU(Transformation matrixunit,变换矩阵单元),TU容量已经提升到了4×4、8×8、16×16、32×32,相应的DCT变换和IDCT变换支持的数据矩阵的容量也提升到了4×4、8×8、16×16、32×32,所述支持DCT变换或支持IDCT变换的数据变换设备最多可以分为第1级蝶形变换单元、第2级蝶形变换单元、第3级蝶形变换单元和第4级蝶形变换单元,除了第1级蝶形变换单元,蝶形单元内要进行特定矩阵变换,由于TU维数不同,进行特定矩阵变换的特定矩阵分为第2级蝶形变换单元中的第2特定矩阵、第3级蝶形变换单元中的第3特定矩阵和第4级蝶形变换单元中的第4特定矩阵,第2特定矩阵、第2特定矩阵和第4特定矩阵是三个完全不同的预先设定的变换矩阵。以支持的数据矩阵容量为8×8的支持DCT变换的数据变换设备为例,该DCT分为2级蝶形变换单元,所述2级蝶形变换单元的变换方法与支持的数据矩阵容量为4×4和8×8的DCT变换方法是对应的。TU的某一行数据x0,x1,.....,x6,x7输入该DCT的第2级蝶形变换单元,先进行蝶形流水得到x’0,x’1,.....,x’6,x’7,再进行蝶形计算,该蝶形计算包括将后4个数据x’4,x’5,x’6,x’7进入第2特定矩阵进行特定矩阵变换得到最终结果y4,y5,y6,y7;将前4个数据x’0,x’1,x’2,x’3输入第1级蝶形变换单元,进行蝶形流水和蝶形计算,所述蝶形流水和蝶形计算方法与支持的数据矩阵容量为4×4的DCT,计算得到前4个数据y0,y1,y2,y3。然而,每种DCT只能为一种TU服务,每种IDCT也只能为一种TU服务,每一种容量TU都要有对应DCT和IDCT,硬件要为每种DCT和IDCT提供资源,导致硬件资源开销过大。
发明内容
本发明的实施例提供一种数据变换方法和设备,能够减少硬件资源开销。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据变换方法,包括:
获取数据变换设备支持的数据矩阵的最大容量mn×mn,所述数据变换设备分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数;
获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数;
若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换。
结合第一方面,在第一种可实现方式中,在获取数据变换设备支持的数据矩阵的最大容量mn×mn之后,所述数据变换方法还包括:
比较所述i与所述n的大小;
若所述i等于所述n,则所述数据矩阵每一行的mn个数据进入数据变换设备的第n-1级蝶形变换单元进行数据变换。
结合第一方面,在第二种可实现方式中,
所述m为2;
所述数据变换设备支持的数据矩阵的最大容量25×25。
结合第一方面,在第三种可实现方式中,所述数据变换设备支持离散余弦变换DCT变换或离散余弦变换IDCT变换。
结合第三种可实现方式,在第四种可实现方式中,当所述数据变换设备支持DCT变换时,
在所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换之前,所述数据变换方法还包括:
保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加n-i位,以满足第i级蝶形变换单元的预设位宽。
第二方面,提供一种数据变换设备,包括:
第一换取单元,用于获取数据变换设备支持的数据矩阵的最大容量mn×mn,所述数据变换设备分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数;
第二获取单元,用于获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数;
第一变换单元,用于若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换。
结合第二方面,在第一种可实现方式中,所述数据变换设备还包括:
比较单元,用于比较所述i与所述n的大小;
第二变换单元,用于若所述i等于所述n,则所述数据矩阵每一行的mn个数据进入数据变换设备的第n-1级蝶形变换单元进行数据变换。
结合第二方面,在第二种可实现方式中,
所述m为2;
所述数据变换设备支持的数据矩阵的最大容量25×25。
结合第二方面,在第三种可实现方式中,所述数据变换设备支持离散余弦变换DCT变换或离散余弦变换IDCT变换。
结合第三种可实现方式,在第四种可实现方式中,当所述数据变换设备支持DCT变换时,
所述数据变换设备还包括:
处理单元,用于保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加n-i位,以满足第i级蝶形变换单元的预设位宽。
本发明提供一种数据变换方法和设备,包括:获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数;获取数据变换设备支持的数据矩阵的最大容量mn×mn,所述数据变换设备分为n级蝶形变换单元,所述n为大于1的正整数;若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换。这样一来,容量为mi×mi的数据矩阵可以通过支持的数据矩阵的最大容量mn×mn的数据变换设备进行数据变换,即一个数据变换矩阵可以为多种容量的矩阵提供数据变换,因此减少了硬件资源的开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据变换方法的流程图;
图2为本发明实施例提供的又一种数据变换方法的流程图;
图3为本发明实施例提供的支持DCT变换的数据变换设备的示意图;
图4为本发明实施例提供的再一种数据变换方法的流程图;
图5为本发明实施例提供的支持IDCT变换的数据变换设备的示意图;
图6为本发明实施例提供的一种数据变换设备的结构示意图;
图7为本发明实施例提供的又一种数据变换设备的结构示意图;
图8为本发明实施例提供的再一种数据变换设备的结构示意图;
图9为本发明实施例提供的另一种数据变换设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据变换方法,具体步骤如图1所示,包括:
步骤101、获取数据变换设备支持的数据矩阵的最大容量mn×mn,所述数据变换设备分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数。
所述m为2;所述数据变换设备支持的数据矩阵的最大容量2n×2n。
步骤102、获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数。
步骤103、若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换。
这样一来,容量为mi×mi的数据矩阵可以通过支持的数据矩阵的最大容量mn×mn的数据变换设备进行数据变换,即一个数据变换矩阵可以为多种容量的矩阵提供数据变换,因此减少了硬件资源的开销。
进一步的,在步骤102获取数据变换设备支持的数据矩阵的最大容量mn×mn之后,所述方法还包括:所述数据变换设备比较所述i与所述n的大小;若所述i等于所述n,则所述数据矩阵每一行的mn个数据进入数据变换设备的第n-1级蝶形变换单元进行数据变换。
在步骤103所述数据矩阵每一行的mi个数据进入数据变换设备的第i+1级蝶形变换单元进行数据变换之前,当所述数据变换设备支持DCT变换时,由于所有数据矩阵的位宽是定值,容量为mn×mn的数据矩阵进入支持最大数据矩阵容量为mn×mn的数据变换设备,在所述数据变换设备的每一级蝶形变换单元中进行蝶形流水后,数据矩阵的数据位宽会相应变大,由此每一级蝶形变换单元会预设位宽,以确保数据矩阵进入每一级蝶形变换单元时位宽相同。容量为mi×mi的数据矩阵为了使得进入第i级蝶形变换单元,保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加n-i位,以满足第i级蝶形变换单元的预设位宽。具体的,数据矩阵要进入第i级蝶形变换单元之前,必须先进入级数大于i的蝶形变换单元,并且每次进入蝶形变换单元都保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加1位,所述mi个位宽总共增加了n-i位。
本发明实施例提供一种数据变换方法,假设数据变换设备支持DCT变换,所述数据变换设备支持的数据矩阵最大容量是25×25,具体步骤如图2所示,包括:
步骤201、预设数据变换设备各级蝶形变换单元的位宽和数据矩阵A的每个数据的位宽,执行步骤202。
位宽根据应用环境等多方面因素而定。假设数据矩阵A的位宽为9比特,该数据变换设备第2级蝶形变换单元的预设的每个数据的位宽是12比特;第3级蝶形变换单元的预设的每个数据的位宽是11比特;第4级蝶形变换单元的预设的每个数据的位宽是10比特。
步骤202、获取数据变换设备支持的数据矩阵的最大容量,执行步骤203。
步骤203、获取数据矩阵A,执行步骤204。
数据矩阵A的容量是2i×2i,1<i≤5。
步骤204、判断数据矩阵A的容量是否小于数据变换设备支持的数据矩阵的最大容量。若否,执行步骤205;若是,执行步骤206。
判断数据矩阵的容量是否小于数据变换设备支持的数据矩阵的最大容量,即是判断2i×2i中的幂次数i是否小于25×25中的幂次数5。
值得说明的是,若数据矩阵A的容量大于数据变换设备支持的数据矩阵的最大容量,则数据变换设备不为数据矩阵A进行DCT变换。
步骤205、数据矩阵A进入数据变换设备的第4级蝶形变换单元进行数据变换,执行步骤208。
具体的,A的容量是25×25,A进入数据变换设备的第4级蝶形变换单元中如图所示,A按照矩阵的行顺序依次进行蝶形流水得到A’,A’数据的位宽比A数据增加1位,使得该位宽与第4级蝶形变换的预设位宽相同,假设A数据的位宽为9比特,蝶形流水后数据的位宽为10比特。每一行的后24个数据进入第4特定矩阵,所述第4特定矩阵是一个24×24的变换矩阵,该后24个数据进行特定矩阵变换,每一行的前24个数据进入下一级蝶形变换单元,。
本发明实施例以数据矩阵A的第一行为例。该第一行的25个数据x0,x1,…,x30,x31输入数据变换设备,进行蝶形变换得到新的数据x’0,x’1,…,x’14,x’15,所述新的数据中每个数据的位宽也相应的改变。该A的第一行的25个数据进行蝶形流水计算得到新的第一行数据,新的第一行数据的每个数据的位宽比A的各个数据位宽增加1位,将新的第一行的后24个数据x’16,x’17,…,x’30,x’31进入第4特定矩阵进行特定矩阵变换,得到变换后输出的后24个数据y16,y17,…,y30,y31。
步骤206、保留A的每一行的2i个数据中每个数据的符号位,并将每个所述数据的位宽增加5-i位,执行步骤207。
由于每级蝶形变换单元都预设位宽,当A的每一行数据的位宽与第i级蝶形变换单元的预设位宽相同时,A的每一行数据才能进入第i级蝶形变换单元进行DCT变换,将A每一行的每个数据保留符号位,将每个所述数据的位宽增加5-i比特。
具体的,A的每一行数据才能进入第i级蝶形变换单元进行DCT变换之前,A的每一行数据还要经过第i+1至第4级蝶形变换单元,每次经过一级蝶形变换单元,A的每一行的每个数据保留符号位,将每个所述数据的位宽增加1比特,总共经过5-i级蝶形变换单元,每个所述数据增加了5-i比特。
示例的,假设A的容量为23×23,A的每个数据的位宽为9比特,本发明实施例以A的第一行数据为例。A的第一行数据若要进入经过第4级蝶形变换单元,其位宽必须与第4级蝶形变换单元预设的位宽相同,才能进入第4级蝶形变换单元,将每个数据保留符号位,将每个所述数据的位宽增加1比特,位宽变为10比特,所述数据进入第3级蝶形变换单元,其位宽必须与第3级蝶形变换单元预设的位宽相同,才能进入第3级蝶形变换单元,将每个数据保留符号位,将每个所述数据的位宽再增加1比特,位宽变为11比特,总共增加2比特。
步骤207、数据矩阵A进入数据变换设备的第i级蝶形变换单元,执行步骤208。
数据变换设备可以在各个蝶形变换单元之前增加一个标志位,依次为t1,t2,t3和t4,标志位可以是0或1,0表示数据进行蝶形流水运算输出的前2i个数据进入第i级蝶形变换单元,初始状态下标志位是0。假设数据矩阵A的容量为4×4。数据变换设备将第1级蝶形变换单元的标志位t1由原来的0变为1,A进入第1级蝶形变换单元。
步骤208、将数据在第i级蝶形变换单元进行数据变换,执行步骤209。
进入第i级蝶形变换单元的2i个数据可以是数据矩阵A输入的一行数据,也可以是经过第i+1级蝶形变换单元进行蝶形流水后前2i个未输出的数据。
将2i个数据中后2i-1个数据进入该级蝶形变换单元的第i-1特定矩阵进行特定矩阵变换,所述i是蝶形变换单元的级数,得到的后2i-1个输出数据,如图3所示。
步骤209、判断A的每一行数据是否完成DCT变换。若否,则执行步骤207;若是,则执行步骤210。
步骤210、得到DCT变换的数据矩阵A’。
实际应用中,若容量为2i×2i数据矩阵对数据变换设备性能需求比较高,则使用支持的数据矩阵的最大容量2i×2i数据变换设备只能对容量为2i×2i的数据矩阵进行DCT变换。
如图3所示,支持容量为25×25的数据变换设备包括第1级蝶形变换单元、第2级蝶形变换单元、第3级蝶形变换单元、第4级蝶形变换单元、第2特定矩阵、第3特定矩阵和第4特定矩阵,数据设备的输入管脚x0至x31的排列顺序和输出管脚y0至y31的排列顺序如图3所示,该数据变换设备的每级蝶形变换单元先进行蝶形流水,再进行蝶形计算。
本发明实施例提供一种数据变换方法,假设数据变换设备支持IDCT变换,所述数据变换设备支持的数据矩阵最大容量是25×25,数据矩阵B输入的数据是第一行的32个数据,具体步骤如图4所示,包括:
步骤301、获取数据变换设备支持的数据矩阵的最大容量,执行步骤302。
步骤302、获取数据矩阵B,执行步骤303。
所述数据矩阵B的容量是2i×2i,1<i≤5。
步骤303、判断所述数据矩阵B的容量是否小于所述数据变换设备支持的数据矩阵的最大容量。若否,执行步骤304;若是,执行步骤305。
判断所述数据矩阵的容量是否小于所述数据变换设备支持的数据矩阵的最大容量,即是判断2i×2i中的幂次数i是否小于25×25中的幂次数5。
值得说明的是,若所述数据矩阵A的容量大于所述数据变换设备支持的数据矩阵的最大容量,则数据变换设备不为数据矩阵A进行IDCT变换。
步骤304、数据矩阵B进入数据变换设备的第4级蝶形变换单元进行数据变换,执行步骤306。
具体的,B的容量是25×25,B进入数据变换设备的第4级蝶形变换单元如图5所示,B每一行的后24个数据进入第4特设矩阵,这后24个数据进行特设矩阵变换,每一行的前24个数据进入下一级蝶形变换单元,值得说明的是特设矩阵是数据变换设备预设的变换矩阵。
示例的,假设数据矩阵B的容量是25×25,即i=5,数据矩阵B的第一行的25个数据y0,y1,…,y30,y31输入数据变换设备,将新的第一行的后16个数据y16,y17,…,y30,y31进入第4特设矩阵,所述第4特设矩阵是一个变换矩阵,且与DCT设备中的特设矩阵不相同,该后16个数据进行特设矩阵变换,得到变换后输出的后16个数据x’16,x’17,…,x’30,x’31。
步骤305、数据矩阵B进入数据变换设备的第i级蝶形变换单元,执行步骤306。
数据变换设备可以在各个蝶形变换单元之前增加一个标志位,依次为t1,t2,t3和t4,标志位可以是0或1,0表示数据进行蝶形流水运算输出的前2i个数据进入第i级蝶形变换单元,1表示数据矩阵A直接第i级蝶形变换单元,初始状态下标志位是0。假设数据矩阵A的容量为4×4。数据变换设备将第1级蝶形变换单元的标志位t1由原来的0变为1,A进入第1级蝶形变换单元。
步骤306、数据在第i级蝶形变换单元进行特设矩阵变换,执行步骤307。
进入数据变换单元的第i级蝶形变换单元的2i个数据可以是数据矩阵B输入的一行数据,也可以是经过第i+1级蝶形变换单元的前2i个未输出的数据。
将2i个数据中后2i-1个数据进入该级蝶形变换单元的第i-1特设矩阵进行特设矩阵变换,得到的后2i-1个数据,如图5所示。
步骤307、判断A的每一行数据是否完成蝶形计算。若否,则执行步骤306;若是,则执行步骤308。
所述蝶形计算是指IDCT变换中不包括蝶形流水的计算过程。
步骤308、将由蝶形计算得到的数据进行蝶形流水,得到IDCT变换后的数据矩阵B’。
若数据矩阵B的容量是22×22,则通过第1级蝶形变换单元运算,输出的数据矩阵B’。
若数据矩阵B的容量是23×23,则将通过第1级蝶形变换单元的输出结果与第2级蝶形变换单元进行特设矩阵变换,得到的数据进行的蝶形流水,所述输出结果的计算方法与容量是22×22的数据矩阵的IDCT变换方法相同,输出的数据矩阵B’。
若数据矩阵B的容量是24×24,则将通过第2级蝶形变换单元的输出数据与第3级蝶形变换单元进行特设矩阵变换,得到的数据进行的蝶形流水,所述输出结果的计算方法与容量是23×23的数据矩阵的IDCT变换方法相同,输出的数据矩阵B’。
若数据矩阵B的容量是25×25,则将通过第3级蝶形变换单元的输出数据与第4级蝶形变换单元进行特设矩阵变换,得到的数据进行的蝶形流水,所述输出结果的计算方法与容量是24×24的数据矩阵的IDCT变换方法相同,输出的数据矩阵B’。
实际应用中,若容量为2i×2i数据矩阵对数据变换设备性能需求比较高,则使用支持的数据矩阵的最大容量2i×2i数据变换设备只能对容量为2i×2i的数据矩阵进行IDCT变换。
如图5所示,支持容量为25×25的数据变换设备包括第1级蝶形变换单元、第2级蝶形变换单元、第3级蝶形变换单元、第4级蝶形变换单元、第2特设矩阵、第3特设矩阵和第4特设矩阵,数据设备的输入管脚y0至y31的排列顺序和输出管脚x0至x31的排列顺序如图3所示,该数据变换设备的每级蝶形变换单元先进行蝶形计算,再进行蝶形流水。
本发明实施例提供一种数据变换设备40,如图6所示,包括:
第一获取单元401,用于获取数据变换设备40支持的数据矩阵的最大容量mn×mn,所述数据变换设备40分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数。
所述m为2;所述数据变换设备40支持的数据矩阵的最大容量25×25。
第二获取单元402,用于获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数。
第一变换单元403,用于若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备40的第i级蝶形变换单元进行数据变换。
这样一来,容量为mi×mi的数据矩阵可以通过支持的数据矩阵的最大容量mn×mn的数据变换设备进行数据变换,即一个数据变换矩阵可以为多种容量的矩阵提供数据变换,因此减少了硬件资源的开销。
进一步的,所述数据变换设备40如图7所示,还包括:
比较单元404,用于比较所述i与所述n的大小;
第二变换单元405,用于若所述i等于所述n,则所述数据矩阵每一行的mn个数据进入数据变换设备40的第n-1级蝶形变换单元进行数据变换。
进一步的,当所述数据变换设备40支持DCT变换时,所述数据变换设备40如图8所示,还包括:
处理单元406,用于保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加n-i位,以满足第i级蝶形变换单元的预设位宽。
本发明实施例提供一种数据变换设备50,如图9所示,包括:
处理器501,用于获取数据变换设备50支持的数据矩阵的最大容量mn×mn,所述数据变换设备50分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数;
所述m为2;所述数据变换设备50支持的数据矩阵的最大容量25×25。
所述处理器501,还用于获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数;
所述处理器501,还用于若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备50的第i级蝶形变换单元进行数据变换。
这样一来,容量为mi×mi的数据矩阵可以通过支持的数据矩阵的最大容量mn×mn的数据变换设备进行数据变换,即一个数据变换矩阵可以为多种容量的矩阵提供数据变换,因此减少了硬件资源的开销。
所述处理器501,还用于比较所述i与所述n的大小;
所述处理器501,还用于若所述i等于所述n,则所述数据矩阵每一行的mn个数据进入数据变换设备50的第n-1级蝶形变换单元进行数据变换。
所述数据变换设备50支持离散余弦变换DCT变换或离散余弦变换IDCT变换。
进一步的,当所述数据变换设备50支持DCT变换时,所述处理器501,还用于保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加n-i位,以满足第i级蝶形变换单元的预设位宽。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据变换方法,其特征在于,包括:
获取数据变换设备支持的数据矩阵的最大容量mn×mn,所述数据变换设备分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数;
获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数;
若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换。
2.根据权利要求1所述的数据变换方法,其特征在于,在获取数据变换设备支持的数据矩阵的最大容量mn×mn之后,所述数据变换方法还包括:
比较所述i与所述n的大小;
若所述i等于所述n,则所述数据矩阵每一行的mn个数据进入数据变换设备的第n-1级蝶形变换单元进行数据变换。
3.根据权利要求1所述的数据变换方法,其特征在于,
所述m为2;
所述数据变换设备支持的数据矩阵的最大容量25×25。
4.根据权利要求1所述的数据变换方法,其特征在于,所述数据变换设备支持离散余弦变换DCT变换或离散余弦变换IDCT变换。
5.根据权利要求4所述的数据变换方法,其特征在于,当所述数据变换设备支持DCT变换时,
在所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换之前,所述数据变换方法还包括:
保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加n-i位,以满足第i级蝶形变换单元的预设位宽。
6.一种数据变换设备,其特征在于,包括:
第一换取单元,用于获取数据变换设备支持的数据矩阵的最大容量mn×mn,所述数据变换设备分为n-1级蝶形变换单元,第k级蝶形变换单元支持的数据矩阵的容量mk+1×mk+1,1≤k≤n-1,所述n为大于1的正整数;
第二获取单元,用于获取数据矩阵,所述数据矩阵容量为mi×mi,所述m为大于1的正整数,所述i为大于1的正整数;
第一变换单元,用于若所述i小于所述n,则所述数据矩阵每一行的mi个数据进入数据变换设备的第i级蝶形变换单元进行数据变换。
7.根据权利要求6所述的数据变换设备,其特征在于,所述数据变换设备还包括:
比较单元,用于比较所述i与所述n的大小;
第二变换单元,用于若所述i等于所述n,则所述数据矩阵每一行的mn个数据进入数据变换设备的第n-1级蝶形变换单元进行数据变换。
8.根据权利要求6所述的数据变换设备,其特征在于,
所述m为2;
所述数据变换设备支持的数据矩阵的最大容量25×25。
9.根据权利要求6所述的数据变换设备,其特征在于,所述数据变换设备支持离散余弦变换DCT变换或离散余弦变换IDCT变换。
10.根据权利要求9所述的数据变换设备,其特征在于,当所述数据变换设备支持DCT变换时,
所述数据变换设备还包括:
处理单元,用于保留所述mi个数据中每个数据的符号位,并将每个所述数据的位宽增加n-i位,以满足第i级蝶形变换单元的预设位宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310723690.9A CN103747266A (zh) | 2013-12-24 | 2013-12-24 | 一种数据变换方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310723690.9A CN103747266A (zh) | 2013-12-24 | 2013-12-24 | 一种数据变换方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103747266A true CN103747266A (zh) | 2014-04-23 |
Family
ID=50504248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310723690.9A Pending CN103747266A (zh) | 2013-12-24 | 2013-12-24 | 一种数据变换方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103747266A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200513A1 (en) * | 2005-02-12 | 2006-09-07 | Jin-Hee Cheon | Fast Fourier transform processor and method capable of reducing size of memories |
CN102387367A (zh) * | 2011-11-08 | 2012-03-21 | 复旦大学 | 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 |
CN102404569A (zh) * | 2011-11-08 | 2012-04-04 | 复旦大学 | 可用于多种视频标准、多尺寸二维整数余弦反变换的通用方法 |
CN103380425A (zh) * | 2011-01-10 | 2013-10-30 | 高通股份有限公司 | 用于媒体数据译码的32点变换 |
-
2013
- 2013-12-24 CN CN201310723690.9A patent/CN103747266A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200513A1 (en) * | 2005-02-12 | 2006-09-07 | Jin-Hee Cheon | Fast Fourier transform processor and method capable of reducing size of memories |
CN103380425A (zh) * | 2011-01-10 | 2013-10-30 | 高通股份有限公司 | 用于媒体数据译码的32点变换 |
CN102387367A (zh) * | 2011-11-08 | 2012-03-21 | 复旦大学 | 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 |
CN102404569A (zh) * | 2011-11-08 | 2012-04-04 | 复旦大学 | 可用于多种视频标准、多尺寸二维整数余弦反变换的通用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100527071C (zh) | 以Booth算法为基础的乘法运算方法与乘法装置 | |
US7129962B1 (en) | Efficient video processing method and system | |
CN103067715A (zh) | 深度图像的编解码方法和编解码装置 | |
CN101282476B (zh) | 应用于视频和图像处理的变换方法 | |
CN104144202A (zh) | Hadoop分布式文件***的访问方法、***和装置 | |
CN109039342B (zh) | 一种出力数据的压缩方法、***和解压缩方法、*** | |
CN104244010B (zh) | 提高数字信号变换性能的方法及数字信号变换方法和装置 | |
CN101727839B (zh) | 影像压缩和解压缩的装置及其方法 | |
Steensland | Efficient partitioning of dynamic structured grid hierarchies. | |
CN111313912B (zh) | 一种ldpc码编码器及编码方法 | |
CN103747266A (zh) | 一种数据变换方法和设备 | |
Boyd | Convex optimization: from embedded real-time to large-scale distributed. | |
CN111083479A (zh) | 一种视频帧预测方法、装置及终端设备 | |
CN106454382B (zh) | 一种量子图像制备方法 | |
KR101395143B1 (ko) | 영상처리의 정수변환 방법 및 정수변환 장치 | |
CN109257047B (zh) | 数据压缩方法及装置 | |
CN113286150B (zh) | 用于视频编解码的变换编码硬件实现方法、装置及设备 | |
JP2011003191A (ja) | メモリーを使わないで具現されるイメージ回転方法及び装置 | |
CN103517022B (zh) | 一种图像数据压缩和解压缩方法、装置 | |
CN110933413A (zh) | 视频帧处理方法和装置 | |
CN101562744A (zh) | 二维反变换装置 | |
CN110933442B (zh) | 16*4级参考帧压缩方法和装置 | |
CN110933444B (zh) | 位宽值存储方法和装置 | |
CN114125461B (zh) | 通用视频编码变换电路和通用视频编码设备 | |
CN102611883B (zh) | 编码方法、解码方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140423 |
|
RJ01 | Rejection of invention patent application after publication |