分布式运算体系结构的信号处理制造技术

技术编号:2886948 阅读:198 留言:0更新日期:2012-04-11 18:40
一种设备计算一个矩阵和一个向量的内积向量。该矩阵有第1系数集合和该向量有第2系数集合。至少一个输入寄存器(110)用于储存第2系数集合。许多存储元件(120)用于存储部分和,它是根据矩阵的第1系数集合预先计算的。至少一个输入寄存器(110)的输出被用作为地址输入到许多存储元件以选择部分和的一个子集。另外,一个选择电路(150)被连接到存储元件的地址线上以确定在矩阵中的哪一列向量形成对于那一列的结果内积向量的一个元素。从存储元件(120)输出的部分和的子集被加在一个加法电路(130)中以产生一个和数输出,它表示矩阵乘以向量的内积向量的元素。该设备有减小集成电路面积的优点和在任意所期望的次序上生成内积向量的元素。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及到信号处理。更明确地说,本专利技术涉及到一种新的设备和方法,这种新的设备和方法实现一种新的用于产生一个向量和一个矩阵的内积的分布式运算体系结构,并在数字照相机和类似图象处理的应用中具有特别有用的应用。当用户由于具有数字设备如压缩磁盘,计算机,打印机,和蜂窝电话而变得更舒服的时侯,他们更愿意在他们生活的其他领域接受数字式启动技术,比如照相机。的确,在照相机方面,当前的趋势是朝向数字照相机,它可以消除对胶片的需求并在放胶片的地方用数字存储设备代替以保存用户已经拍摄的照片。然而,数字照相机的成本仍停留在大多数人的能力所达不到的水平上,并且为了考虑大多数人能接受而正在作的各种努力是促使成本下降。除了降低成本外,为了增加对数字照相机的需求,照片的图象质量必须比得上典型胶片基底的照片。这个图象质量是通过增加在数字照相机内图象传感器使用的象素(光到电的转换)的数量驱动的。不幸的是,这种在象素数量上的增加进一步抬高了数字照相机的成本,由于增加了处理需求需要去把在图象传感器上捕获的图象转换为一种可接受的格式,此格式可以适合在照相机内使用的数字储存设备的极限。为了允许一个可接受的使用数字照相机拍摄的图象数量并存储在其内,一些形式的图象压缩对减少存储需求是必要的。当然,用户也正在需求新的性能以趁机利用他们已经拍摄的照片的数字特征。例如,拍摄完一组照片后不是在一台个人计算机上校正彩色均衡,亮度级,对比度,等等,用户希望这些操作在照相机自身上自动地完成以使这些照片在一台彩色打印机上直接复制出来,从而完全地绕开了个人计算机。因此,为了启动数字相机市场,在增加附加功能的同时必须降低数字照相机的成本。这个新的数字照相机需要在它的内部电子设备有多方面的用途并足以提供附加的功能。另外,电子设备必须要有较小的集成电路面积才可以使成本减少。以前的为减少图象处理电路大小和成本的一些尝试已经注视在分布式运算方法上。分布式运算(DA)的名字是因为在非传统意义上运算功能是分布在各种各样的电子设备中的,而不是被连结一起(例如加法,乘法)的离散运算块意义上的。在图象处理中,最常遇到的运算类型是乘以一个向量(图象的一部分)和一个矩阵(一种变换功能,如图象压缩或扩展)以构成一个内积。幸运的是,通过DA可最有效地完成这个内积运算。事实上,前面的DA方法已经是成功地减少在一个图象处理集成电路中所使用的晶体管的数量的至少50-80%。然而,如果还要提供更多功能需求的同时继续需要降低成本,则要求一种新的DA方法可以实现在图象处理电路中进一步减少晶体管数量。一种设备计算一个矩阵和一个向量的内积向量。该矩阵有第1组系数和该向量有第2组系数。至少一个输入寄存器被用于存储第2组系数。许多存储元件被用于存储根据矩阵的第1组系数预先计算的部分和。至少一个寄存器的输入被用作为地址输入到许多存储元件以选择部分和的一个子集。另外,把一个所选择的电路连接到存储元件的地址线上以确定在矩阵的哪一行向量构成结果内积向量的一个元素。从存储元件输出的部分和的子集被加到一个加法器电路中以生成一个总和输出,它表示该矩阵乘以该向量的内积向量的元素。附图说明图1说明了用以实现一次内积的分布式运算方法的一种常规实现方案。图1A说明了在图1的常规实现方案中使用的存储器结构。图2说明了使用分布式运算的本专利技术方法的优选实施例。图2A说明了在图2的优选实施方案中使用的存储器结构。图2B说明了在标准单元或相似方法中通过使用离散逻辑电路构成的一个典型的存储元件。图3说明了在数字照相机中优选实施例的使用。在描述本专利技术的优选实施方案之前,有帮助的是去理解在常规分布式运算(DA)方法(见美国专利No.5,226,002)中一个向量乘以一个矩阵所使用的方法。为了说明这个常规DA方法,考虑把一个N=4的元素列向量X与一个4行×4列的系数Cij矩阵,C相乘去形成一个由N个元素组成的结果向量Y,其中N=向量X和Y的输入的数,其中 和 Y(0)Y(1)Y(2)Y(3)=C00C01C02C03C10C11C12C13C20C21C22C23C30C31C32C33X(0)X(1)X(2)X(3)]]>在数字电路中,数字是以二进制形式表示的。因此,向量X的每一个元素可被写成为比特的行,该比特是X的元素数值的2的二进制表示。本领域技术人员应理确对X的元素数值存在其他二进制表示,并且也符合本专利技术的精神和范围。本领域的技术人员也应理确X的每个元素可用给定的精确度所需要的比特数目b表示,该精度是作为用户希望实现的应用所期望的,并且完全符合本专利技术创造的精神和范围。作为例子,假设向量X的每个元素是4(例如b=4)位宽,这些向量元素可以被表示为X(i)=Σj=0b-1X(i)j2j]]>例如,当i=0时然后,X(i)=X(0)323+X(0)222+X(0)121+X(0)020因此,上面向量X与矩阵C的乘法可以写成为Y(0)Y(1)Y(2)Y(3)=C00C01C02C03C10C11C12C13C20C21C22C23C30C31C32C33X(0)323X(0)222X(0)121X(0)020X(1)323X(1)222X(1)221X(1)023X(2)323X(2)222X(2)121X(2)020X(3)323X(3)222X(3)121X(3)020]]>其中X(i)j是X(i)的第j位,位0是最小有效位。因为向量X的元素(X(i)j)是比特,它们只能有1或0的数值。因此,在X中的任意列与矩阵C中一给定行的内积只有16种可能的数值。这16种数值表示该给定行向量的元素(系数)的所有可能的和。在后面的常规DA方法的基本想法是去得到并预先计算这些用于行向量的部分和,并在一个独立的ROM(只读存储器)中对C的每一行存储这些部分和。X的每一列向量在一定时间内被提供给每个独立ROM的地址输入端,并且每个ROM的输出被累加以产生结果Y向量。图1说明了一个使用常规DA方法计算从Y(0)到Y(3)的常规电路。它是由并行输入串行输出移位寄存器包含的4个输入寄存器10,4个ROM 20,4个累加器30和一个时钟电路40组成。为了开始计算从X(0)到X(3),输入系数被记录在输入寄存器10中。这些输入寄存器10的时钟从最小有效位开始在每周期输出每个输入(基本上是X的列)的1位。这些位合在一起构成通向ROM 20的地址。如图1A所示,每个ROM分享同样的地址输入,但是每个ROM有不同的预先计算好存储在ROM内的部分数据和。ROM 22有矩阵C第0行的预先计算的部分和。ROM1 24有矩阵C第1行的预先计算的部分和,ROM2 26有矩阵C第2行的预先计算的部分和,ROM3 28有矩阵C第3行的预先计算的部分和。在每个时钟周期内,根据输入寄存器10给ROM20一个地址并且用一个新的数据字记录每个ROM的输出。用每8位宽度表示出ROM的这个输出。对于一种特定的应用,本领域技术人员应理解数据总线可以是依赖于所期望部分和分辨率的任意位宽度。来自每个ROM的输出被分别累积在累加器30中,并且矩阵C的每一行的结果,从Y(0)到Y(3),在所有来自时钟电路的时钟周期均已被运行后出现在累加器的输出端。注意到本文档来自技高网...

【技术保护点】
一种用于计算一个矩阵和一个向量的内积向量的设备,该内积向量具有一组元素,该矩阵具有按照一个列集合和一个行集合排列的第1系数集合,该向量具有第2系数集合,设备包括: 至少一个输入寄存器(110),这个输入寄存器(110)存储第2系数集合,这个输入寄存器(110)有一组输出; 许多存储元件(120),这些存储元件(120)存储一组从第1系数集合得到的一组部分和,这些存储元件(120)有一组地址输入和一组数据输出,该组地址输入连接到至少一个输入寄存器(110)的该组输出,该组数据输出表示该组部分和的一个子集,该组部分和的该子集通过该组地址输入选择; 一个选择电路(150),该选择电路(150)连接到该多个存储元件(120)的该组地址输入,该选择电路(150)选择矩阵中用于内积向量一个元素的计算的一列,这个内积向量是根据该矩阵的所选列和该向量来计算的; 一个加法器电路(130),这个加法器电路有一个和数输出和许多加数输入,这许多加数输入连接到该存储元件(120)的该组数据输出,在那里许多存储元件(120)的每个数据输出被连接到一个加数输入以形成和数输出的一个加数,该和数输出表示内积向量的一个元素。...

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:D波普林JS吉布森
申请(专利权)人:安捷伦科技有限公司
类型:发明
国别省市:US[美国]

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

1