自重构片上多媒体处理系统及其自重构实现方法

文档序号:6557381阅读:129来源:国知局
专利名称:自重构片上多媒体处理系统及其自重构实现方法
技术领域
本发明涉及多媒体处理系统及其实现方法,更具体地说,涉及一种自重构
片上(S0C system on chip)多媒体处理系统及其自重构实现方法。
背景技术
图像视频的编解码器被广泛用于电视广播,视频会议,数码相机,手机, 摄像头等生活的各个领域。为了满足实时快速的要求,对图像采集端的编码器, 以及图像接受端的解码器的要求越来越高。传统的编解码器主要有两种解决方 案 一种是软件解决方案,利用软件实现编解码处理。这种方法的优点在于软 件具有灵活性高,开发周期短,可升级等特点e缺点是速度受处理器主频限制, 在便携设备中常常无法满足实时要求,因此通常使用DSP (Digital Signal Processor)芯片来提高速度;另一种是硬件解决方案,即用ASIC(Application Specific Integrated Circuit)芯片实现编解码处理。这种方法的优点在于 速度快,稳定性高,缺点是开发周期长,灵活性差,通常只适用于一种或一类 编解码器。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述速度慢、灵活性差的 缺陷,提供一种速度快、灵活性强的自重构片上多媒体处理系统及其自重构实
现方法。
本发明解决其技术问题所采用的技术方案是:构造一种自重构片上多媒体 处理系统,包括
用于整个程序的运行、进程调度的处理器5; 用于存放所运行的程序及中间数值的存储器7; 用于进行系统中各部分间通讯的片上总线10,
还包括
连接在所述片上总线上的、用于对多媒体信号进行编/解码的多 媒体处理模块8,该模块的全部或部分可重构;
连接在所述片上总线上的、用于存放至少两个重构模块的配置文 件的重构配置文件储存器9;
连接在所述片上总线上的重构控制器6,所述重构控制器6在收
到所述处理器5发出的重构信号时,从重构配置文件储存器9读出被指定的配 置文件,通过所述片上总线10写入多媒体处理模块8的可重构部分81 。
在本发明所述的自重构片上多媒体处理系统中,所述多媒体处理模块8 包括固定部分82和重构部分81 。
在本发明所述的自重构片上多媒体处理系统中,所述片上总线10包括 CORECO丽ECT总线(一种IBM公司专用的片上系统(SoC system on chip)总 线);所述可重构部分81与固定部分82之间的信号通过BUS MACRO (FPGA器 件的一种内部资源)83连接。
在本发明所述的自重构片上多媒体处理系统中,所述多媒体处理模块8 包括可现场编程的FPGA(Field Programmable Gate Array)器件;所述可重构 部分81每次重构后在所述FPGA上的面积均相同,其所占用面积的边界和布线 资源固定不变。
在本发明所述的自重构片上多媒体处理系统中,所述可重构部分81包括
功能模块和IPIF (IP Interface)模块,所述功能模块与IPIF模块相连,所述 IPIF模块除与功能模块相连外,还与所述片上总线IO相连。
在本发明所述的自重构片上多媒体处理系统中,所述重构控制器6包括内 嵌于FPGA中的HWICAP(Hardware Internal Configuration Access Port)模 块或单独的MCU。
在本发明所述的自重构片上多媒体处理系统中,所述系统处理的多媒体格 式包括JPEG、 JPEG2000、 MPEG-2、 MPEG-4、 R 263、 H. 264或RM/RMVB中的一
项或多项。
本发明还提供了一种实现多媒体处理系统自重构的方法,包括如下步骤
1) 接收数据,并读出数据的文件头;
2) 判断该文件头是否与现行的可重构部分处理的格式相符,若 是,则跳到步骤4),若不是,则进行步骤3);
3) 根据读出的文件头的信息,读取相应的重构配置文件,对可 重构部分进行重构;
4) 处理数据并输出。 在本发明所述的实现自重构片上多媒体处理系统的方法中,所述步骤3)
进一步包括如下步骤
3a)在处理器的控制下,停止多媒体处理模块的工作; 3b)重构控制器由重构配置存储器中调出相应的配置文件; 3C)并对多媒体处理模块中的可重构部分进行重构;
3d)在处理器的控制下,多媒体处理模块开始工作。
在本发明所述的实现自重构片上多媒体处理系统的方法中,所述步骤 3C)进一步包括如下步骤
3cl)重构控制器判断重构是否完成,若是,跳转到3e),若不是, 执行步骤3c2);
3c2)重构控制器由重构配置存储器中读取下一个最小可配置单位的 配置文件;
3c3)将上述读取的最小可配置单位的配置文件写入可重构部分; 3c4) 返回3cl)。
实施本发明的自重构片上多媒体处理系统及其实现方法,具有以下有益效

由于本发明中硬件功能模块随收到的多媒体信号的格式变化而变化,即采 用了自重构系统,所以其处理速度快,灵活性强,可以用一种设备处理多种多 媒体信号,可实现硬件的时分复用,大大节省了硬件资源。


下面将结合附图及实施例对本发明作进一步说明,附图中
图1是本发明自重构片上多媒体处理系统实施例的结构示意图2是本发明自重构片上多媒体处理系统实施例中多媒体处理模块中可
重构或固定模块与片上总线连接的结构示意图3是本发明自重构片上多媒体处理系统实施例中重构控制器HWICAP
的逻辑框图4是本发明实现自重构片上多媒体处理系统的方法中实现自重构的流
程图5是实现图4中步骤3)进一步包括的步骤的流程图。
具体实施例方式
在本发明中,实现自重构的过程如下先将可能会遇到的多媒体格式的处
理(编/解码)所需要的硬件结构划分为固定部分和可重构部分,其中,固定 部分是在不同格式的处理(编/解码)过程中均相同的硬件结构,而可重构部 分则是在不同格式的处理(编/解码).过程中各不相同的硬件结构,例如,在
JPEG和在MPEG-1/2格式的编码中度存在的DCT编码(离散余弦编码)和量化 等功能模块,可分为固定部分;而JPEG特有的huffman编码等功能模块,可 以划为可重构部分,作为第一个配置文件的内容;MPEG-1特有的运动补偿和 运动预测功能模块,可以划为可重构部分,作为第二个配置文件的内容;以此 类推,我们可以定义出多个可配置文件的内容,例如关于JPEG2000、 MPEG-2、 MPEG-4、 H. 263、 H. 264 、 RM/RMVB等多媒体格式的配置文件内容。将这些定 义好的配置文件的内容用硬件描述语言描述出来(如VHDL),并对整个系统中 的其他部分与多个可重构部分之间分别加以区别(约束),同过综合工具软件, 得到上述描述的网表。然后进行NGDbuild (Xilinx公司提供的一个工具,其 基本功能就是将综合生成的逻辑网表文件等翻译成Xilinx底层硬件原语NGD 文件),生成各自的NGD (Native Generic Database)文件,最后装配,设定 管脚等,装入设计好的软件,得到本发明所述的系统。
如图1所示,在本发明的自重构片上多媒体处理系统实施例中,包括处理 器5、存储器7、配置文件存储器9、重构控制器6、多媒体处理模块8以及与 上述各部件分别相连的片上总线10,其中,多媒体处理模块8种由包括可重 构部分81、固定部分82以及连接在可重构部分81和固定部分82之间的 BUSMARCO 83。由图1中可见,有两个存储器连接在片上总线10上,存储器7 存放处理器5的代码及提供处理器5建立程序空间和系统缓存空间。配置文件 存储器9存放有至少两个需要重构的用户逻辑的配置文件。需要进行重新配置 时,由处理器5发起重新配置时序,先从配置文件存储器9读取配置文件,将 这个文件以及相应的配置信息传送给重构控制器6,通过重构控制器6对可重 构部分81的用户逻辑资源进行重新配置,构成新的逻辑模块。
本实施例中使用Xilinx平台式FPGA (Field Programmable Gate Array) 中的Virtex-II Pro XC2VP40作为硬件平台,在本实施例中,所述处理器5、 存储器7、配置文件存储器9、重构控制器6、多媒体处理模块8以及与上述 各部件分别相连的片上总线IO均位于同一芯片上,构成片上系统(SOC system on chip)。 Xilinx平台式FPGA最大的特点就是片上集成了 PowerPC硬核处理 器,配合IBM专用的CoreConnect总线能够方便快捷地构建片上系统。 CoreCormect总线提供了三种基本类型的连接总线,分别是处理器内部总线 PLB(processor local bus)、片上夕卜围总线OPB(on chip peripheral bus)禾口 设备控制总线DCR(device control register bus)。所以在本实施例中,片 上总线10是CoreConnect总线。
在本发明的实施例中,可重构部分81可实现两种多媒体格式的解码,也 就是说在配置文件存储器9中存储有两种配置文件, 一种是JPEG格式解码配 置文件,另一种是MPEG-2格式的解码配置文件;这两种配置文件可根据输入 码流的格式而被调出,用于配置可重构部分8].,而其缺省配置为MPEG-2格式 解码。本实施例的构成过程如下
本实施例的目标系统的构成由处理器5、片上总线10以及连接在该总线
上的多媒体处理模块8组成。其中多媒体处理模块8包括三个部分固定部
分81、 JPEG格式解码模块和MPEG-2格式解码模块,后两个部分是将被重构(这 两个系统是分时使用)的。JPEG格式解码模块和MPEG-2格式解码模块将在不 同的时间片断出现在自重构系统中,由于该两个可重构部分的不同,可以构成 整个系统的两个不同的配置,称之为JPEG格式系统和MPEG-2格式系统。为了 简便起见,将除了 JPEG格式解码模块和MPEG-2格式解码模块之外的SoC系统 部分称之为系统。
下面结合Xilinx公司的ISE工具和EDK工具的开发流程,就自重构系统 的设计流程作详细的说明。
前端设计首先要构建SoC系统的架构。在按照EDK规定的流程生成一个 SoC系统的模板以后,在其中加入自重构系统所需要的HWICAP (Hardware Internal Configuration Access Port)模块以及其他一些SoC系统所需要的 IP,此时生成系统的VHDL描述。所述HWICAP的逻辑框图见图3。
分别设计JPEG格式解码模块和MPEG-2格式解码模块的功能电路,按照 CoreConnect总线规范的要求将此两个IP分别加入系统中构建JPEG格式系统 和MPEG-2格式系统。Xilinx公司提供了 IP和总线之间的连接接口,用于简 化用户IP和总线的连接。通过EDK的导入工具,利用IPIF模块可以将JPEG 格式解码模块和MPEG-2格式解码模块的功能部分连接于片上总线10,即 Coreconnect总线之上,见图2。值得一提的是,上述HWICAP模块与片上总 线10的连接也是通过IPIF模块连接的。
至此,得到了 JPEG格式系统和MPEG-2格式系统以及系统的前端系统框架 的VHDL描述。同时,还得到JPEG格式解码模块和MPEG-2格式解码模块的VHDL 描述。
此时要对JPEG格式系统和MPEG-2格式系统的顶层文件进行修改。将JPEG 格式解码模块和MPEG-2格式解码模块与系统之间做一个明确的划分,抽象出 相互之间的互联信号,按照此互联信号重新修改系统的Port的内容以及相关 联的逻辑。同时使用Xilinx的设计源语,加入Bus Marco,使得所有JPEG 格式解码模块和MPEG-2格式解码模块与系统之间(除了时钟信号之外)的信 号经过Bus Marco互联。
经过综合工具软件,将VHDL描述综合为网表。得到JPEG格式系统和 MPEG-2格式系统以及系统各自的网表表述。综合时需要在顶层设计中将系统 模块、JPEG格式解码模块或MPEG-2格式解码模块模块约束为black—box。同 时对JPEG格式解码模块和MPEG-2格式解码模块的VHDL描述单独进行综合, 得到这两个模块各自的网表表述。
后端流程的出发点是已经设计好的的网表。首先需要做的是对系统的位置 进行约束,同时也要在芯片内部约束出固定的位置用于JPEG格式解码模块和 MPEG-2格式解码模块的重构,将约束生成一个UCF文件(FPGA中的管脚绑定 文件),值得注意的是,JPEG格式解码模块和MPEG-2格式解码模块作为部分 重构单元,需要遵从Xilinx VirtexII Pro芯片重构的物理约束条件。g卩,最 小的重构单元是一个重构Frame,而一个重构Frame的范围是lbit的整个列 的可配置逻辑,包括上下的输入/输出逻辑模块(I0B)和其中的可构造逻辑模 块(CLB)。因此,JPEG格式解码模块和MPEG-2格式解码模块必需由若干个 Frame构成,也就是说,JPEG格式解码模块和MPEG-2格式解码模块需要占据 若干连续整列的芯片位置;并且,要约束上述两个解码模块的边界,输出信号、 输出脚等,使其相同,以便重构时不至于丢失信号。
下一步分别对JPEG格式系统和MPEG-2格式系统进行NGDbuild,生成各
自的NGD文件,此NGD文件是对整个系统配置的一个描述。同时,还需要对系 统、JPEG格式解码模块和MPEG-2格式解码模块三个模块分别进行Xilinx modular设计的流程,按照芯片约束进行布图布线,最终对JPEG格式解码模 块和MPEG-2格式解码模块生成bitstream文件。此bitstream文件与通常下 载到FPGA中的bitstream文件的区别在于,这两个bitstream文件是一个模 块的部分重构配置流。不能作为整个FPGA的配置,其大小通常远小于整个FPGA 的配置流文件。
最后,将MPEG-2格式系统作为系统的初始系统,进行装配(Assemble), 包括整体的MAP,布图布线,IO管脚确定等工作,并构建最终的初始化系统配 置流文件。
系统硬件设计完成之后,还需要设计软件,使得PowerPC能够响应外部的 条件,和进行正常的SoC系统操作。
将生成可重构模块的的部分配置文件作为可供PowerPC调用的数据存放 在内存的数据段中,作为程序需要访问到的数据。在适当的时刻,被某些触发 条件所触发,引起重构动作,通过软件调用HWICAP,将部分配置文件转化为 硬件电路。
如图4,在本发明的实施例中,实现系统重构的方法如下
1) 接收数据,并读出数据的文件头数据有系统的信号输入端送入 本系统,存储在存储器7中特别指定的区域内,同时处理器5读取信号的文件 头,得到其表示数据格式部分;
2) 判断该文件头是否与现行的可重构部分处理的格式相同,处理器 5将得到的、表示数据格式的信息与现行的可重构部分的处理格式的数据比 较;若是相同的,则跳到步骤4),不经过重构,直接处理数据;若不相同,
则进行步骤3);
3) 根据读出的文件头的信息,读取相应的重构配置文件,对可重构 部分进行重构处理器5根据得到的表示数据格式的信息,确定需要的配置文 件,并通过HWICAP模块对可重构部分进行重构;
4) 处理数据并输出。
在上述步骤3)中,通过HWICAP对可重构部分进行重构又可以进一步划
分为如下步骤
3a)在处理器5的控制下,多媒体处理模块8停止工作;
3b)重构控制器6由重构配置存储器9中读出相应的配置文件;在
本实施例中,重构控制器6就是HWICAP模块;
3c)对多媒体处理模块8中的可重构部分81进行重构;
3d)在处理器5的控制下,多媒体处理模块8开始工作,开始在重
构的格式下,从存储器7中取出存放的输入数据,经过解码后输出。 其中,步骤3c)进一步包括
3cl)重构控制器6判断重构是否完成,由于可重构部分的边界
是固定的,也即是其在芯片上所占的面积是固定的,故其最小可配置单元数是
固定的,只要用此数减已配置的最小可配置单元数即可知重构是否完成;若已
完成,跳转到3d),在控制器5的控制下,多媒体处理模块8开始工作;若不
是已完成,执行步骤3c2);
3c2)重构控制器6由重构配置存储器9中读取该配置文件中的
下一个最小可配置单位;本实施例中,最小可配置单位是FRAME。 FRAME是指
在配置过程中能够读写的FPGA的逻辑资源的最小单位。 一个配置FRAME是一
个宽度为lbit的FPGA可配置逻辑列,包括了上下的IOB。3c3)将上述读取的最小可配置单位的内容写入可重构部分81;
可重构控制器6将其独到的一个最小可配置单位的内容通过片上总线10写到
可重构部分81中去;
3c4)返回3cl);
在本实施例中,重构控制器6 HWICAP的操作就是读入一修改一回写的一 个过程。这个过程以配置FRAME为单位,反复操作这个过程完成对部分逻辑资 源的重新配置。
值得一提的是,上述实施例只是本发明的一个较常用的应用,本发明的保 护范围并不局限于该实施例,例如,在实际应用中可以是三个或4个或更多的 可重构模块,涉及更多的多媒体格式等,也并不局限于上述实施例中的硬件平 台,例如,重构控制器可以用单独的一个MCU担任(该MCU独立于上述的FPGA, 并通过总线与FPGA相连),而不用实施例中的HWICAP等,凡在本发明的精神 和原则范围内,所作的任何修改、改进、等同替换等,均应包含在本发明的保 护范围内。
权利要求
1、一种自重构片上多媒体处理系统,包括用于整个程序的运行、进程调度的处理器(5);用于存放所运行的程序及中间数值的存储器(7);用于进行系统中各部分间通讯的片上总线(10),其特征在于,还包括连接在所述片上总线上的、用于对多媒体信号进行编/解码的多媒体处理模块(8),该模块的全部或部分可重构;连接在所述片上总线上的、用于存放至少两个重构模块的配置文件的重构配置文件储存器(9);连接在所述片上总线上的重构控制器(6),所述重构控制器(6)在收到所述处理器(5)发出的重构信号时,从重构配置文件储存器(9)读出被指定的配置文件,通过所述片上总线(10)写入多媒体处理模块(8)的可重构部分(81)。
2、 根据权利要求l所述的自重构片上多媒体处理系统,其特征在于,所 述多媒体处理模块(8)包括固定部分(82)和重构部分(81)。
3、 根据权利要求2所述的自重构片上多媒体处理系统,其特征在于,所 述片上总线(10)包括CORECONNECT总线;所述可重构部分(81)与固定部分(82)之间的信号通过BUS MACRO (83)连接。
4、 根据权利要求3所述的自重构片上多媒体处理系统,其特征在于,所 述多媒体处理模块(8)包括可现场编程的FPGA器件;所述可重构部分(81) 每次重构后在所述FPGA上的面积均相同,其所占用面积的边界和布线资源固定不变。
5、 根据权利要求4所述的自重构片上多媒体处理系统,其特征在于,所 述可重构部分(81)包括功能模块和IPIF模块,所述功能模块与IPIF相连, 所述IPIF模块除与功能模块相连外,还与所述片上总线(10)相连。
6、 根据权利要求7所述的自重构片上多媒体处理系统,其特征在于,所 述重构控制器(6)包括内嵌于FPGA中的HWICAP模块或单独的MCU。
7、 根据权利要求l-6中任一项所述的自重构片上多媒体处理系统,其特 征在于,所述系统处理的多媒体格式包括JPEG、 JPEG2000、 MPEG-2、 MPEG-4、 H. 263、 H. 264或RM/RMVB中的一项或多项。
8、 一种实现用于多媒体处理系统自重构的方法,其特征在于,包括如下步骤1) 接收数据,并读出数据的文件头;2) 判断该文件头是否与现行的可重构部分处理的格式相符,若是, 则跳到步骤4),若不是,则进行步骤3);3) 根据读出的文件头的信息,读取相应的重构配置文件,对可重构 部分进行重构;4) 处理数据并输出。
9、 根据权利要求8所述的方法,其特征在于,所述步骤3)进一步包括 如下步骤3a)在处理器的控制下,停止多媒体处理模块的工作;3b)重构控制器由重构配置存储器中调出相应的配置文件;3C)对多媒体处理模块中的可重构部分进行重构;3d)在处理器的控制下,多媒体处理模块开始工作。
10、根据权利要求9所述的方法,其特征在于,所述步骤3c)进一步包括3cl)重构控制器判断重构是否完成,若是,跳转到3e),若不是,执行 步骤3c2);3c2)重构控制器由重构配置存储器中读取下一个最小可配置单位的配置文件;3c3)将上述读取的最小可配置单位的配置文件写入可重构部分; 3c4)返回3cl)。
全文摘要
本发明涉及一种自重构片上多媒体处理系统,包括处理器、存储器和片上总线,还包括多媒体处理模块,该模块的全部或部分可重构;重构配置文件储存器;重构控制器,所述重构控制器从重构配置文件储存器读出被指定的配置文件,对多媒体处理模块的可重构部分进行部分或全部重构。本发明还提供一种实现片上系统自重构的方法,包括读出数据的文件头;判断该文件头是否与现行的处理格式相符;读取相应的重构配置文件,对可重构部分进行重构;处理数据并输出。实施本发明的自重构片上多媒体处理系统及其实现方法,具有以下有益效果其处理速度快,灵活性强,可以用一种设备处理多种多媒体信号,可实现硬件的时分复用,大大节省了硬件资源。
文档编号G06T1/20GK101169866SQ20061006332
公开日2008年4月30日 申请日期2006年10月26日 优先权日2006年10月26日
发明者渊 徐, 捷 曹, 朱明程, 田志东 申请人:朱明程
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1