矩阵转置电路制造技术

技术编号:12778290 阅读:47 留言:0更新日期:2016-01-27 20:40
一种矩阵转置电路,对N×N矩阵输出转置矩阵。电路包括:一输入寄存器阵列,具有m×N的矩阵结构;一存储器,具有b组存储区块;一输出寄存器阵列,具有N×n的矩阵结构。N、m、n、b都是2的幂次方的整数,m与n可以整除N,且N=n×m×b。该矩阵分割为具有m×n阵元的多个子矩阵,以子矩阵为阵元构成Y矩阵,以分别输入到b组存储区块。输入寄存器阵列具有第一位移方向接收输入阵元数据与第二位移方向输出数据到该b组存储区块。输出寄存器阵列具有一第一位移方向从该b组存储区块取得阵元数据与一第二位移方向输出该转置矩阵。

【技术实现步骤摘要】

本公开涉及一种矩阵转置电路,可以应用于矩阵转置。
技术介绍
在图像及视频信号处理的领域里面,有许多算法都需要使用到矩阵乘法。以AVC/H.264(Advanced Video Coding, AVC)的编码为例,其视频编码技术中的一个编码工具,在实现上需要使用到 4/8 点的 2D DCT/IDCT(Discrete Cosine Transform,DCT)计算。另外,在HEVC(High Efficiency Video Coding,HEVC)的编码中,其甚至使用到更大的16/32点的2D DCT/IDCT 计算。一些 VLSI (Very Large Scale Integrat1n, VLSI)的文献提出使用一维(ID)的架构来实现二维(2D)的DCT/IDCT运算,其例如使用一个4x4架构的位移寄存器来进行4点的DCT计算。另外也文献有提出使用多个存储区块(bank)的存储器,例如随机存取存储器(Random Access Memory, RAM)模块架构,来完成 4/8/16/32 点的 DCT/IDCT 计算。而前述技术使用寄存器阵列或多个随机存取存储器模块架构来完成DCT/IDCT的运算的过程中,其都需要大量的矩阵转置处理。能有效率地完成矩阵转置处理的电路,是本
需要研发的课题其一。
技术实现思路
本公开的一实施范例提供一种矩阵转置电路,对具有NXN维度的一矩阵,输出该矩阵的转置矩阵。该矩阵转置电路包括:一输入寄存器阵列,具有mXN的矩阵结构;一存储器,具有b组存储区块;以及一输出寄存器阵列,具有NXn的矩阵结构。其中,N、m、η、b都是2的幂次方的整数,m与η可以整除N,且N = nXmXb。该矩阵分割为多个子矩阵(sub-matrixes),每一个该子矩阵(sub-matrix)具有mXn阵兀,每一个该子矩阵的多个阵元构成当作一个Y阵元以构成一个Y矩阵。该Y矩阵依照该b值区分为b个区块,对应该b组存储区块分别存储该b个区块的该多个子矩阵的多个阵元数据。该输入寄存器阵列具有一第一位移方向与一第二位移方向,以该第一位移方向接收输入阵兀数据,以该第二位移方向输出数据,以对应存储到该b组存储区块。其中,该输出寄存器阵列具有一第一位移方向与一第二位移方向,以该第一位移方向从该b组存储区块取得阵元数据,以该第二位移方向输出对应该转置矩阵的阵元数据。在本公开的一实施范例的矩阵转置电路,该输入寄存器阵列由该第一位移方向依序接收该矩阵的m个IXN行向量。在填满该输入寄存器阵列后,改为该第二位移方向将这些阵元存储到对应的该b组存储区块。其中由于已存储到该b组存储区块所释放的暂存空间,同时继续接收该矩阵后续的^!!!个^則于向量。在本公开的一实施范例的矩阵转置电路,该输入寄存器阵列包含mX (N/n)个寄存器。该输入寄存器阵列的每一个该寄存器的输入与输出都是η个数据口,且该mX (N/n)个寄存器分为b组次寄存器阵列,该次寄存器阵列有mxm个该寄存器。该输入寄存器阵列的每一组该次寄存器阵列皆可以选择该第一位移方向或是该第二位移方向,其中每当由该第一位移方向输入数据且填满整个该输入寄存器阵列后,就切换到该第二位移方向。该b组次寄存器阵列从该第二位移方向输出的数据,分别存放到该b组存储区块。在本公开的一实施范例的矩阵转置电路,该输出寄存器阵列由该第一位移方向从该b组存储区块读取数据。当填满该输入寄存器阵列后,改变为该第二位移方向输出对应该转置矩阵的阵元数据,其中由于已输出数据所释放的暂存空间,同时继续从该b组存储区块读取数据。在本公开的一实施范例的矩阵转置电路,其中该输出寄存器阵列包含(N/m) Xn个寄存器。该输出寄存器阵列的每一个该寄存器的输入与输出都是m个数据口,且该(N/m) Xn个寄存器共分为b组次寄存器阵列,每一组该次寄存器阵列有nXn个该寄存器。该输出寄存器阵列的每一组该寄存器,皆可以选择该第一位移方向或是该第二位移方向。每当由该第一位移方向输入数据且数据填满整个输出寄存器阵列后,就切换到该第二位移方向,从b个RAM模块同时读出b笔数据,分别推入该b组次寄存器阵列内。本公开提出的将矩阵处理列(column)与行(row)变换的电路,其包含寄存器和存储器模块的组合架构。当一个矩阵的数据以列/行(column/row)向量为单位,逐一输入到装置内后,经过此装置内部架构的排列,此装置会改以行/列(row/column)向量的方式进行矩阵数据的输出。为让本公开的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。【附图说明】图1是依照本公开的一实施范例,对于一个NXN矩阵的规划示意图。图2a?2d是依照本公开的一实施范例,对于2个RAM模块的4种存储的规划示意图。图3是依照本公开的一实施范例,对于一个NXN矩阵的另一种规划示意图。图4是依照本公开的一实施范例,矩阵转置电路的结构示意图。图5是依照本公开的一实施范例,输入寄存器阵列的每一组寄存器在两个位移方向的位移方式示意图。图6是依照本公开的一实施范例,输出寄存器阵列的每一组寄存器在两个位移方向的位移方式示意图。图7是依照本公开的一实施范例,根据图2a的规划,矩阵的切割结构。图8是依照本公开的一实施范例,N = 16,m = 2,n = 4,b = 2的输入寄存器阵列架构。图9是依照本公开的一实施范例,N = 16,m = 2,n = 4,b = 2的输入寄存器阵列内存值示意图。图10是依照本公开的一实施范例,N = 16, m = 2, η = 4, b = 2的输入寄存器阵列内存值示意图。图11是依照本公开的一实施范例,N = 16, m = 2, η = 4, b = 2的输入寄存器阵列内存值示意图。图12是依照本公开的一实施范例,矩阵在RAMO和RAMl中的数据摆放示意图。图13是依照本公开的一实施范例,矩阵X以2X1切割后的编号示意图。图14是依照本公开的一实施范例,以图7表不法与图13表不法的部分对照关系示意图。图15是依照本公开的一实施范例,以图7表不法与图13表不法的部分对照关系,对于输出寄存器阵列106的一组寄存器阵列的不意图。图16是依照本公开的一实施范例,图7表示法与图13表示法的部分对照关系示意图。图17是依照本公开的一实施范例,N = 16, m = 2, η = 4, b = 2的输出寄存器阵列内存值示意图。【符号说明】90:矩阵转置电路100:矩阵102:子矩阵104:输入寄存器阵列106:输出寄存器阵列200:存储器110、112:寄存器组114、116:寄存器120、122:存储区块【具体实施方式】本公开技术可以对一个NXN的矩阵,进行转置运算,其中N为2的幂次方。在操作上,例如可将列向量的输入,以行向量输出,反之亦然。本公开接下来的内容,皆以行向量转列向量作为实施范例,以进行说明。以下举多个实施范例来说明,但是本公开不限于举多个实施范例。图1是依照本公开的一实施范例,对于一个NXN矩阵的规划示意图。对于一个需要被转置的方形矩阵100,其例如是NXN的结构。对于此矩阵100,以mXn的群组再分为多个子矩阵102,则可以得到一个(N/m) X (N/n)的矩阵Y,其如图1本文档来自技高网...

【技术保护点】
一种矩阵转置电路,对具有N×N维度的矩阵,输出该矩阵的转置矩阵,该矩阵转置电路包括:输入寄存器阵列,具有m×N的矩阵结构;存储器,具有b组存储区块;以及输出寄存器阵列,具有N×n的矩阵结构,其中N、m、n、b都是2的幂次方的整数,m与n可以整除N,且N=n×m×b,其中该矩阵分割为多个子矩阵,每一个该子矩阵具有m×n阵元,每一个该子矩阵的多个阵元构成当作一个Y阵元以构成一个Y矩阵,其中该Y矩阵依照该b值区分为b个区块,对应该b组存储区块分别存储该b个区块的该多个子矩阵的多个阵元数据,其中,该输入寄存器阵列具有第一位移方向与第二位移方向,以该第一位移方向接收输入阵元数据,以该第二位移方向输出数据,以对应存储到该b组存储区块,其中,该输出寄存器阵列具有一第一位移方向与一第二位移方向,以该第一位移方向从该b组存储区块取得阵元数据,以该第二位移方向输出对应该转置矩阵的阵元数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:颜志旭周凡迪
申请(专利权)人:财团法人工业技术研究院
类型:发明
国别省市:中国台湾;71

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

1