专利名称::一种双总线的视觉处理芯片架构的制作方法
技术领域:
:本发明涉及集成电路中视觉信息处理芯片的结构设计领域,特别涉及一种双总线的视觉处理芯片架构。
背景技术:
:随着大规模集成电路设计的发展,片上系统(SystemonaChip,SoC)技术应运而生。IP核(IntellectualProperty,IP)复用是实现SoC的重要方式。其中,片上总线是IP核互连的关键技术。它的提出有效解决了IP核移植复用和系统设计验证等问题。对于视觉处理芯片,如何将机器视觉和小体积、低功耗的硬件系统结合,设计具有视觉感知和图像处理功能的视觉芯片,是当前视觉与智能信息处理领域的研究热点。根据视觉处理的特点,研究通用的视觉芯片有着重要的意义。现有视觉处理芯片主要采用单总线结构(JasonSchlessman,"HeterogeneousMpsocArchitecturesforEmbeddedComputerVision,,,)或者流7jC线式处理方式(Chih-ChiCheng,"iVisual:AnIntelligentVisualSensorSoCWith2790fpsCMOSImageSensorand205G0PS/WVisionProcessor,,,)。参照图1,为目前广泛使用的单总线SoC结构,使用一条系统总线连接各种IP核。参照图2,是一种典型的为实现视觉处理算法而设计的芯片结构。它的特点是由同步逻辑(SynchronizationLogic)部分控制光流(OpticalFlow)和背景减除(BackgroundSubtraction)这两个视觉处理专用IP核;处理器局部总线(ProcessorLocalBus,PLB)连接PPC405、同步动态随机存储器(SynchronousDynamicRandomAccessMemory,SDRAM)和同步逻辑部分负责整体系统的通信。这种结构的最大问题是存储器的带宽影响了整个系统的性能和处理效率。参照图3,为一种智能视觉感受器SoC结构。它的特点是使用流水线结构和片3内存储器进行视频分析处理。在片内存储空间不能满足需求时,可以通过外部总线连接外部存储器。这种结构各IP核间的数据相关性比较强,芯片的性能会受较大影响;并且在视觉处理方面的通用性不强。综上所述,目前的视觉处理芯片结构主要存在以下问题存储器带宽不足、可扩展性差、平均通信效率低、单一时钟等,不能很好地满足实际视觉处理的要求。
发明内容针对上述技术问题,发明人在对视觉计算任务和图像处理进行分析后发现,影响视觉处理芯片性能的主要原因在于视觉处理中各模块功能的差异大,计算复杂度的差距大,以及各模块对实时性要求不同,因此将这些差别较大的模块连接在同一总线上,必然会产生各种难以解决的问题。本发明的目的在于提供一种双总线的视觉处理芯片架构,将功能差别较大的模块连接在不同总线上,使视觉处理中不同层次的计算分离,任务级并行,以增强芯片系统的灵活性和数据处理能力。为了达到上述目的,本发明采用以下技术方案予以实现。一种双总线的视觉处理芯片架构,其特征在于,包括第一总线、第二总线、连接在第一总线上的视觉计算和决策模块、连接在第一总线上的第一存储器、连接在第二总线上的特征组合和模式生成模块、连接在第二总线上的图像特征提取模块、连接在第二总线上的第二存储器、以及连接第一总线和第二总线的桥接电路;所述图像特征提取模块,对视频信号进行校正和滤波、特征图提取、下采样和非均匀采样,完成视觉处理中的底层处理;所述特征组合和模式生成模块,对各特征图进行计算和重新组合,生成视觉计算所需模式,完成视觉处理中的中层处理;所述视觉计算和决策模块,根据视觉计算模式进行识别和决策,执行视觉计算的决策,完成视觉处理中的高层处理。本发明的进一步改进和特点在于所述图像特征提取模块、特征组合和模式生成模块、视觉计算和决策模块共同连接有一个寄存器组,所述寄存器组存放上述三个模块的系统信息和交互信息。本发明的更进一步改进在于所述视觉计算和决策模块与所述寄存器组之间设置有中断产生器,所述图像特征提取模块与所述特征组合和模式生成模块的中断请求通过所述寄存器组和中断产生器输入所述视觉计算和决策模块,与所述视觉计算和决策模块保持同步。本发明利用双总线实现了一种多核、任务级并行的视觉处理芯片架构及其工作机制;图像特征提取模块,完成视觉处理中的底层处理,对视频信号进行校正和滤波(如伽玛校正、高斯滤波),特征图提取(如边缘、角点、肤色提取),下采样和非均匀采样;特征组合与模式生成模块,完成视觉处理中的中层处理,对各特征图进行计算和重新组合(如帧差,直方图统计),生成视觉计算所需模式(如人脸模板);视觉计算与决策模块,完成视觉处理中的高层处理,根据视觉计算模式进行识别和决策(如人脸识别),执行视觉计算的决策(如控制摄像头转动)。这种结构分离了视觉处理的三个过程,并利用两个存储器分别挂接在不同总线上,同时解决存储器带宽不足、可扩展性差、平均通信效率低等问题。同时,本发明中,利用图像特征提取模块、特征组合和模式生成模块、视觉计算和决策模块共同连接一个寄存器组,寄存器组存放上述三个模块的系统信息和交互信息,可以实现相互间的通信与同步;在视觉计算和决策模块与寄存器组之间设置有中断产生器,图像特征提取模块与所述特征组合和模式生成模块的中断请求通过寄存器组和中断产生器输入视觉计算和决策模块,使相互间同步功能更完善。图1为典型SoC结构示意图2为典型的单总线视觉处理芯片结构示意图;图3为流水方式视觉处理芯片结构示意图;图4为本发明双总线的视觉处理芯片架构的示意图;图5为图4的优化架构示意图;图6为一种基于图4的优化架构的实例示意图;图7为图6实例的帧结构的存储示意图。具体实施例方式下面结合和具体实施方式对本发明做详细说明。参照图4,本发明双总线的视觉处理芯片架构,主要包括第一总线、第二总线、连接在第一总线上的视觉计算和决策模块、连接在第一总线上的第一存储器、连接在第二总线上的特征组合和模式生成模块、连接在第二总线上的图像特征提取模块、连接在第二总线上的第二存储器、以及连接第一总线和第二总线的桥接电路。图像特征提取模块,对视频信号进行校正和滤波、特征图提取、下采样和非均匀采样,完成视觉处理中的底层处理。特征组合和模式生成模块,对各特征图进行计算和重新组合,生成视觉计算所需模式,完成视觉处理中的中层处理。视觉计算和决策模块,根据视觉计算模式进行识别和决策,执行视觉计算的决策,完成视觉处理中的高层处理。桥接电路在视觉计算和决策模块需要下层数据时,作为第二总线的主设备从第二存储器中读取数据,经控制通过第一总线的从设备接口电路写入第一存储器中。桥接电路的数据传送是单向的,只能从第二存储器中读取写入第一存储器。参照图5,为本发明的优化架构。相对与图4的芯片架构,该优化架构中,图像特征提取模块、特征组合和模式生成模块、视觉计算和决策模块共同连接有一个寄存器组,寄存器组存放上述三个模块的系统信息和交互信息。比如图像传输使能寄存器由视觉计算和决策模块设置特征图模式和使能信号,确定所需存储的特征图;图像存储结束标志寄存器在图像特征提取模块与特征组合和模式生成模块每存完一种特征图后,改写寄存器值,供视觉计算和决策模块査询;特征组合和模式生成结果寄存器保存特征组合和模式生成模块运算的某些结果,供图像特征提取模块与视觉计算和决策模块使用。其他模块的具体结构为视觉计算和决策模块包括视觉计算和决策模块主电路、与第一总线连接的本模块的主设备总线接口电路;特征组合和模式生成模块包括特征组合和模式生成模块主电路、特征图像和处理后数据缓存、与第二总线连接的本模块的主设备总线接口电路;图像特征提取模块包括图像数据缓存、图像特征提取模块主电路、与第二总线连接的本模块的主设备总线接口电路;第一存储器、第二存储器分别通过各自的从设备总线接口与相应的总线连接;桥接电路包括桥接主电路、与第一总线连接的从设备总线接口电路、与第二总线连接的主设备总线接口电路。视觉计算和决策模块将选择所需图像特征、需要怎样的特征组合以及生成哪些模式,确定后将相应参数写入寄存器组。在图像特征提取模块中,视频图像经过图像数据缓存输入图像特征提取模块主电路,经过处理后,通过特征图像缓存,在其主设备总线接口电路控制下,将结果按固定存储格式写入第二存储器的固定地址。特征组合与模式生成模块,读取寄存器组中的控制信息,由其主设备总线接口控制电路从第二存储器中读出所需特征图,由特征组合与模式生成模块主电路对各特征图进行计算和重新组合,生成视觉计算所需模式,处理结束后再写入第二存储器的另一固定地址。视觉计算和决策模块主电路通过主设备总线接口电路控制桥接电路从第二存储器中读取数据,并将数据写入第一存储器。最后,视觉计算与决策模块主电路控制其主设备总线接口电路通过第一总线读取第一存储器中的数据,进行视觉计算;执行视觉计算的决策。参照图6,为一种基于图4的优化架构的设计实例,其中包括视频前处理器(图像特征提取模块主电路)、协处理器(特征组合与模式生成模块主电路)、RISC核(视觉计算与决策模块主电路)、SDR旭1(第一存储器)、SDRAM2(第二存储器)、桥接电路、寄存器组、BUS1(第一总线)、BUS2(第二总线)。本示例中,增加了中断产生器、挂接在BUS2上的显示控制器、挂接在BUS1上的其他外设(闪存Flash、调试接口控制器、串口控制器、键盘控制器)。中断产生器设置在视觉计算和决策模块与寄存器组之间,图像特征提取模块与特征组合和模式生成模块的中断请求通过寄存器组和中断产生器输入视觉计算和决策模块,实现与视觉计算和决策模块保持同步。本实例中,采用高级微控制器总线架构(AdvancedMicrocontrollerBusArchitecture,雄BA)2.0协议定义的高级高性能总线(AdvancedHighperformanceBus,AHB)作为BUSl和BUS2的总线标准。RISC核主要包括处理器核(主要是一个整数单元)、分离的指令和数据缓存、中断控制器、调试单元(DSU)、定时器、通用异步串口(UART)、存储控制器,在LE0N2基础上裁剪得到。协处理器包括帧差运算和注视点计算电路两部分。视频前处理主电路由伽玛校正、高斯滤波、边缘检测、肤色检测和图像二值化、下采样采样、非均匀采样电路组成。双总线的视觉处理芯片系统运行过程如下1)系统上电后,RISC处理器复位,从Flash中读取运行boot指令,完成处理器的初始化。在寄存器组设置相应的参数,对其它功能模块进行配置。最后,从SDRAM1中加载操作系统,执行应用程序。2)视频前处理模块接收摄像机输入的视频图像,完成伽玛校正、高斯滤波。然后并行提取特征图像,得到边缘、肤色、二值化、下采样与非均匀采样图。得到的结果暂存缓冲存储器组(由IO个先进先出队列(firstinfirstout,FIFO))中,然后通过其主设备总线控制电路写入SDRAM2。3)协处理器根据寄存器组中的信息完成初始化配置,与RISC处理器(RISC核)、视频前处理器并行运算。帧差运算得到的帧差图经过BUS2总线写入SDRAM2。注视点计算得到的注视点写入寄存器组,提供给中断产生器和视频前处理器。4)RISC处理器通过桥接电路,从SDRAM2中读取计算所需数据,写入SDRAM1或直接提供给应用程序,完成相应算法功能;计算过程中的数据在SDRAM1中读写。5)SDRAM2中的所有特征图均可以通过显示控制器输出到显示设备;键盘作为系统的输入设备,实现人机交互;PC机可以通过通用异步接收/发送装置(UniversalAsynchronousReceiver/Transmitter,UART)访问调试接口控制器(DSU),实现对系统的在线调试;还可以由UART向摄像机发送指令,控制摄像机运动。SDRAM1、SDRAM2由两个容量为64M字节(16M字,一字为4字节)的SDRAM组成。其中,SDRAM1为RISC处理器的主存,为第一存储器;SDRAM2用于视频图像处理存储器,为第二存储器。参照图7,为SDRAM2(第二存储器)中帧结构的存储格式。本实例中,使用了5种二值图和6种视频图像,如下表所示:<table>tableseeoriginaldocumentpage9</column></row><table>本实例中,将所有特征图存储于SDRAM2中。将每帧图像产生的ll个特征图打包。帧结构如下表所示(起始地址和结束地址均为相对于帧结构首地址的偏移地址)<table>tableseeoriginaldocumentpage10</column></row><table>其中,打包后的帧结构大小为655360个字,SDRAM2的容量为16777216个字,能够存储25个帧结构。每个帧结构根据时间次序存入SDRAM2中。存满后新数据覆盖最旧数据。实际中,选择所需视觉处理特征图为两种二值图(如边缘检测图,肤色检测图)和处理后图像(如下采样图、非均匀采样图、帧差图)。每一帧图像的全部特征图打包成一个帧结构。各特征图大小确定,在帧结构中按固定位置存放。帧结构的最后,保留固定存储空间用于记录当前帧的相关信息。对各帧结构存储地址的管理采用静态地址分配,各帧按先后顺序存入固定地址。在计算得到的存储地址,调整为合适的整数。具体为图像大小为mXn,则二值图(每一像素为1比特(bit))和处理后图像(每一像素为8个比特)所需存储空间分别为^和^个字324(word)。为实现方便,各特征图的起始地址选择整数。例如需要存储5水二值特征图,图像大小为800x480,特征图存储空间为=12000=0x2M032字。选择二值特征图的起始地址为mxO;c3000,其中(0SmS4)。其中,帧结构的结构体定义为structureframe[N]二{intedge[A/32];〃1,边缘intbinary[丄5/32];〃5,二值intoriginal[Z6/4];〃6,原始灰度intsample[i^/4];〃!1,非均匀采样intinfo〃12,帧结构信息N为帧结构的编号,4为第m个特征图的大小。为了使图像特征提取模块、特征组合和模式生成模块、视觉计算和决策模块在视觉计算中更好地同步工作,本实施例中提出了三个特殊中断场同步中断,帧存结束中断,帧差和注视点中断。这三个中断都是由中断产生器读取寄存器组中相应寄存器的值,通过逻辑运算得到的,具体为1)场同步中断(INT14)。当视频同步信号的上升沿到来时,产生此中断信号。在视频帧开始存储之前,软件可以更改帧结构的组成,各特征图的大小以及存储的相对地址,例如,修改图像传输使能寄存器,可以设置特征图模式,使能或者禁止相应特征图存储。2)帧存结束中断(工NT13)。当帧结构完成在SDRAM2的存储时,产生此中断信号。视频前处理器将寄存器组中相应位置位,供软件查询,获得当前帧结构存储的实时信息。3)帧差和注视点中断(INT7)。协处理器的帧差模块完成运算后,将帧差图存储到SDRAM2中,并产生此中断信号。软件可査询注视点模块求得的注视点坐标。本实例中,视觉前处理模块工作在74.25MHz(720P视频格式的点时钟频率),RISC处理器、协处理器的工作频率为70MHz。本实例在现场可编程门阵列(FieldProgrammableGateArray,FPGA)平台上经过验证,能够快速准确的跟踪人脸和运动物体。权利要求1、一种双总线的视觉处理芯片架构,其特征在于,包括第一总线、第二总线、连接在第一总线上的视觉计算和决策模块、连接在第一总线上的第一存储器、连接在第二总线上的特征组合和模式生成模块、连接在第二总线上的图像特征提取模块、连接在第二总线上的第二存储器、以及连接第一总线和第二总线的桥接电路;所述图像特征提取模块,对视频信号进行校正和滤波、特征图提取、下采样和非均匀采样,完成视觉处理中的底层处理;所述特征组合和模式生成模块,对各特征图进行计算和重新组合,生成视觉计算所需模式,完成视觉处理中的中层处理;所述视觉计算和决策模块,根据视觉计算模式进行识别和决策,执行视觉计算的决策,完成视觉处理中的高层处理。2、根据权利要求1所述的一种双总线的视觉处理芯片架构,其特征在于,所述图像特征提取模块、特征组合和模式生成模块、视觉计算和决策模块共同连接有一个寄存器组,所述寄存器组存放上述三个模块的系统信息和交互信息。3、根据权利要求2所述的一种双总线的视觉处理芯片架构,其特征在于,所述视觉计算和决策模块与所述寄存器组之间设置有中断产生器,所述图像特征提取模块与所述特征组合和模式生成模块的中断请求通过所述寄存器组和中断产生器输入所述视觉计算和决策模块,与所述视觉计算和决策模块保持同步。全文摘要本发明涉及集成电路中视觉信息处理芯片的结构设计领域,公开了一种双总线的视觉处理芯片架构。它包括第一总线、第二总线、连接在第一总线上的视觉计算和决策模块、连接在第一总线上的第一存储器、连接在第二总线上的特征组合和模式生成模块、连接在第二总线上的图像特征提取模块、连接在第二总线上的第二存储器、以及连接第一总线和第二总线的桥接电路。文档编号G06T1/00GK101567078SQ20091002172公开日2009年10月28日申请日期2009年3月27日优先权日2009年3月27日发明者刘传银,斌张,李宇海,梅魁志,晨赵,青郭,浩雷申请人:西安交通大学