《一种并行多核FPGA数字图像实时缩放处理方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种并行多核FPGA数字图像实时缩放处理方法和装置.pdf(16页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104104888A43申请公布日20141015CN104104888A21申请号201410312009622申请日20140701H04N5/262200601G06T1/2020060171申请人大连民族学院地址116600辽宁省大连市开发区辽河西路18号机电信息工程学院72发明人杨大伟张汝波刘冠群毛琳吴俊伟74专利代理机构大连一通专利代理事务所普通合伙21233代理人秦少林54发明名称一种并行多核FPGA数字图像实时缩放处理方法和装置57摘要一种并行多核FPGA数字图像实时缩放处理方法及装置,该方法中首先获取待处理的原始视频图像数据,将原始视频图像数据输入FPGA芯。
2、片,然后确定缩放核数目,并将原始视频图像数据分割成与缩放核数目一致的图像子块,然后将分割后的数据存储到缓存器中,再将缓存器中的数据返回到FPGA中,将每个图像子块分别经由一个缩放核进行并行缩放处理,完成缩放,将缩放后的所有图像子块进行拼接处理后显示。本发明对数字视频图像的高吞吐量、高实时性应用有一定的指导作用。51INTCL权利要求书2页说明书10页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书10页附图3页10申请公布号CN104104888ACN104104888A1/2页21一种并行多核FPGA数字图像实时缩放处理方法,其特征在于该方法包括如下过程1获取待处。
3、理的原始视频图像数据,将所述原始视频图像数据输入FPGA芯片;2根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目;3按照所述缩放核的数目,将所述原始视频图像数据按纵向均匀分割成与缩放核数目一致的图像子块,任意一个图像子块左右两侧边缘均需向外扩展一列;4将分割后的图像数据存储到外部缓存器中;5将所述外部缓存器中的图像数据逐行读取到FPGA芯片中进行处理,分割后的每个图像子块独立使用一个缩放核进行缩放处理,所述缩放核并行运行;6将缩放后的所有图像子块按像素点逐行进行拼接处理,得到缩放后的数字视频图像。2根据权利要求1所述的并行多核FPGA数字图像实时缩放处理方法,。
4、其特征在于所述根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目的过程包括获取输入像素时钟频率CLKIN和输出像素时钟频率CLKOUT,进行比较后得到像素时钟最高频率CLKMAXCLKIN,CLKOUT,单个缩放核的上限工作时钟频率为CLKSMAX,则缩放核数目N为正整数,且NCLK/CLKSMAX。3根据权利要求2所述的并行多核FPGA数字图像实时缩放处理方法,其特征在于所述的像素时钟最高频率CLK和单个缩放核的上限工作时钟频率CLKSMAX,当CLK/CLKSMAX为整数时,NCLK/CLKSMAX;当CLK/CLKSMAX为非整数时,NCLK/CLKSMA。
5、X1。4根据权利要求1或2或3所述的并行多核FPGA数字图像实时缩放处理方法,其特征在于所述的缩放处理采用双线性插值算法。5根据权利要求4所述的并行多核FPGA数字图像实时缩放处理方法,其特征在于对所述原始视频图像数据分割时采用均匀分割的方法。对所述原始视频图像数据分割时采用纵向均匀分割的方法。6根据权利要求5所述的并行多核FPGA数字图像实时缩放处理方法,其特征在于所述均匀分割为纵向均匀分割。7根据权利要求5所述的并行多核FPGA数字图像实时缩放处理方法,其特征在于每个分割后的子块在均匀分割线的基础上,向外扩展一列后作为分割后的图像子块。8根据权利要求1或2或3或5或6所述的并行多核FPGA。
6、数字图像实时缩放处理方法,其特征在于所述的外部缓存器为双倍速率同步动态随机存储器。9根据权利要求1或2或3或5或6所述的并行多核FPGA数字图像实时缩放处理方法,其特征在于所述原始视频图像数据的像素点采用从左上到右下的顺序依次输出。10一种使用权利要求19所述的并行多核FPGA数字图像实时缩放处理方法的装置,其特征在于包括输入模块获取待处理的原始视频图像数据,将所述原始视频图像数据输入FPGA芯片;缩放核计算模块根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目;权利要求书CN104104888A2/2页3分割模块按照所述缩放核的数目,对所述原始视频图像数据进行。
7、分割并得到分割后的各个图像子块;存储模块将分割后的图像数据存储到缓存器中;缩放模块将缓存器中的数据返回到FPGA芯片中进行处理,分割后的每个图像子块经过一个缩放核进行缩放处理,通过FPGA与缓冲区的数据交换与共享完成缩放过程中大量数据信息的存储;拼接输出模块将缩放后的所有图像子块进行拼接处理,得到缩放后的数字视频图像。权利要求书CN104104888A1/10页4一种并行多核FPGA数字图像实时缩放处理方法和装置技术领域0001本发明涉及一种图像的放大或缩小的处理方法和装置,具体地说是一种并行多核FPGA数字图像实时缩放处理方法和装置。背景技术0002电子产品和电子技术的日新月异,带动了显示技。
8、术的不断提高。随着视频显示技术和显示终端制造技术的不断发展,各类视频应用所要求的分辨率以及显示终端的尺寸都在不断提高,不但出现了19201080以及更高的分辨率,而且显示终端的尺寸也不断的突破制造工艺的极限,尤其是屏幕拼接技术和投影融合技术的出现更是进一步提高了显示终端的显示分辨率和尺寸。同时,现代化的媒体宣传、橱窗展示以及公众演示等应用使得分布式视频显示技术得以工程化。随着这类应用的日益推广,人们开始追求单个视频显示节点的高清以及更高分辨率的视频显示,甚至某些由屏幕拼接系统和投影融合系统构成的大型视频显示节点也被部署在分布式视频显示系统中,这大大提高了单个视频节点的视频数据吞吐量和运算量。0。
9、003这些显示技术和需求,不仅包括如何以更大的屏幕来显示更高分辨率的视频信息,还包括如何将低分辨率的视频信息实时地放大到相应显示器屏幕尺寸的高分辨率显示屏幕上。由此不难看出,视频显示技术的发展已经不再仅仅受制于显示技术本身,而是在某些应用中更多的受制于所需视频信息的质量、实时性以及处理方式和处理芯片的运算能力。0004随着半导体工艺的不断改进,处理器单位面积上集成了数以百万计的晶体管。这种集成度的提高虽然使处理器具备更强大的处理能力,但是也使处理器的功耗和散热问题日益突出。由于CMOS晶体管特征尺寸的缩小导致单位面积上晶体管数目的增加,加上时钟频率的提升,使得单位面积上晶体管漏电流不断增大。研。
10、究表明,处理器性能每提升L,功耗将增加3。如果按照这种趋势发展而不采取其他降低功耗措施的话,在2015年,每平方厘米面积上的功耗密度将达到上千瓦。由此而导致的热量积聚将使得芯片根本无法工作。有学者指出,在单一处理器的条件下,系统性能提高幅度正比于系统复杂度提高幅度的平方根。如前所述,在系统复杂度不变的前提下,如何提高系统的处理效率就变得尤为重要。在屏幕拼接及投影融合技术领域中,经常要将数字视频图像进行实时缩放以满足不同显示终端的分辨率。由于数字视频图像的数据量大,实时性要求高,要求缩放系统要具有较大的数据吞吐能力和较高的处理效率,所以系统的处理能力尤为重要,并行处理的方式作为一种高效的处理方法。
11、,在视频图像缩放时得到应用。0005在中国专利CN103269416A,公开了一种采用并行处理方式实现视频图像拼接显示的装置及方法,包括以下步骤1将解码后的数字视频图像信号进行识别,确定视频格式,并按显示区域分割为至少两部分;2同时对分割后的视频图像信号分别进行图像处理;3将处理后的各个视频图像信号分别转换成可供外接的终端显示单元进行显示的视频图像信号;4将所有的终端显示单元显示的视频图像信号拼接为一幅完整的图像。其说明书CN104104888A2/10页5中,在步骤2中图像处理单元对输入的视频图像信号进行图像处理之前还包括对分割后的视频图像进行暂存以及对图像分割和图像处理的处理速度进行匹配的。
12、步骤。该方法中采用并行处理方式实现视频图像拼接显示的方法通过采用先进行图像分割再进行图像处理的顺序,并且在图像处理部分采用了并行同步的处理方法,不仅处理的数据率大大降低,也克服了现有技术中存在的响应速度慢、发热严重、散热慢等问题。但是,由于在该方法对应的装置中,需要采用多路并行处理的芯片,包括图像分割单元与视频格式侦测单元一体的FPGA芯片、多路缓存芯片、多路图像处理芯片、多路接口芯片以及终端显示设备,多路处理无疑增加了系统成本,此外当将视屏图像分为多组单独进行处理时,同步是一个非常重要的问题,直接影响到图像在终端的显示情况。发明内容0006为此,本发明的目的在于针对现有技术中的视频图像并行处。
13、理方法中,系统成本高、需要保持同步的问题,提出一种简化了系统结构、无需同步则可实现的并行多核FPGA数字图像实时缩放处理方法及其装置。0007为解决上述技术问题,本发明的目的之一是提供一种并行多核FPGA数字图像实时缩放处理方法,包括如下过程00081获取待处理的原始视频图像数据,将所述原始视频图像数据输入FPGA芯片;00092根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目;00103按照所述缩放核的数目,将所述原始视频图像数据按纵向均匀分割成与缩放核数目一致的图像子块,任意一个图像子块左右两侧边缘均需向外扩展一列;00114将分割后的图像数据存储到外部缓。
14、存器中;00125将所述外部缓存器中的图像数据逐行读取到FPGA芯片中进行处理,分割后的每个图像子块独立使用一个缩放核进行缩放处理,所述缩放核并行运行;00136将缩放后的所有图像子块按像素点逐行进行拼接处理,得到缩放后的数字视频图像。0014在所述的一种并行多核FPGA数字图像实时缩放处理方法的步骤2中,所述根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目的过程包括获取输入像素时钟频率CLKIN和输出像素时钟频率CLKOUT,进行比较后得到像素时钟最高频率CLKMAXCLKIN,CLKOUT,单个缩放核的上限工作时钟频率为CLKSMAX,则缩放核数目N为正整。
15、数,且NCLK/CLKSMAX。0015更进一步,在所述的一种并行多核FPGA数字图像实时缩放处理方法中,所述的像素时钟最高频率CLK和单个缩放核的上限工作时钟频率CLKSMAX,当CLK/CLKSMAX为整数时,NCLK/CLKSMAX;当CLK/CLKSMAX为非整数时,NCLK/CLKSMAX1。0016在所述的一种并行多核FPGA数字图像实时缩放处理方法的步骤4中,所述的外部缓存器为双倍速率同步动态随机存储器。0017在所述的一种并行多核FPGA数字图像实时缩放处理方法的步骤5中,所述的缩放处理是采用双线性插值算法。0018本发明的另一目的是提供一种并行多核FPGA数字图像实时缩放处理。
16、装置,该装说明书CN104104888A3/10页6置包括0019输入模块获取待处理的原始视频图像数据,并将所述原始视频图像数据输入FPGA芯片;0020缩放核计算模块根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目;0021分割模块按照所述缩放核的数目,对所述原始视频图像数据进行分割并得到分割后的各个图像子块;0022存储模块作为缓存器与FPGA芯片的双向数据传输接口,负责存取和读取图像子块数据的功能;0023缩放模块通过存储模块从缓存器中逐行读取图像数据,每个分割图像子块单独使用一个缩放核进行缩放处理;0024拼接输出模块将缩放后的所有图像子块以像素点方式。
17、逐行进行拼接处理,得到缩放后的数字视频图像。0025本发明的上述技术方案相比现有技术具有以下优点,00261本发明所述的并行多核FPGA数字图像实时缩放处理方法,获取待处理的原始视频图像数据,将所述原始视频图像数据输入FPGA芯片,然后确定缩放核数目,并将所述原始视频图像数据分割成与缩放核数目一致的图像子块,然后将分割后的数据存储到缓存器中,再将缓存器中的数据返回到FPGA中,将每个图像子块分别经由一个缩放核进行并行缩放处理,完成缩放,将缩放后的所有图像子块进行拼接处理后显示。该方法中先通过FPGA进行图像分割,然后将分割后的数据存入缓存区中缓存,再将缓存区中的信息返回到FPGA中进行分割后的。
18、图像处理。而现有技术中,通过FPGA将视频图像分割后放入缓冲区,缓存之后需要送入图像处理单元再进行处理。与现有技术相比,本方案中省去了后续的图像处理单元,通过FPGA实现了分割和处理的两个功能,大大减少了系统成本,此外,现有技术中需要将图像分为多组单独进行,由于采用不同的设备组成的通道进行并行处理,因此同步是一个非常重要的问题,而在本发明中,图像处理都在同一个FPGA中进行,无需考虑同步。本发明所采用的方案,通过多核并行处理技术,较好的平衡了系统处理能力和数字视频图像缩放算法对吞吐量、实时性要求较高之间的矛盾,不仅降低了缩放系统的计算时钟频率,也降低了系统成本、提高了系统处理效率,同时对数字视。
19、频图像的高吞吐量、高实时性应用有一定的指导作用。此外,该技术方案中采用性能适中、成本较低的中低端FPGA芯片进行多核并行数字视频图像缩放处理,达到在不严格要求芯片性能和外部环境的条件下,占用资源少、在硬件上可实现的目的。00272本发明所述的并行多核FPGA数字图像实时缩放处理方法,缩放核的数目大于或等于像素时钟最高频率与单个缩放核的上限工作时钟频率的比值。这样,设计人员可以通过更改缩放核的数量实现任意复杂度的视频图像缩放处理系统,根据芯片处理能力动态配置缩放核数量,从而使得数字视频图像的实时缩放可以在普通硬件平台上高效率运行,降低计算时钟频率,同时降低了系统成本。该技术可作为视频图像实时缩放。
20、、拼接系统的核心技术,降低了图像缩放处理的复杂度,有效地提高了FPGA固件的设计效率。00283本发明所述的并行多核FPGA数字图像实时缩放处理方法,缩放核的数目N,当CLK/CLKSMAX为整数时,NCLK/CLKSMAX;当CLK/CLKSMAX为非整数时,NCLK/CLKSMAX1,这说明书CN104104888A4/10页7种方式在满足图像子块处理的基础上,使得缩放核的数据设置的尽量少,从而保证并行处理时并行的数目保持在最优的数量上,并行处理的同时兼顾了每路的处理效率。00294本发明所述的并行多核FPGA数字图像实时缩放处理方法,所述缩放处理采用双线性插值算法,待求解点的像素值仅与其。
21、周围4个原始像素点相关,由于双线性插值中待求解点像素值与其周围4个像素点的像素值相关,所以在得到分割后数字图像数据两行后即可开始并行缩放运算,因此大大提高了处理效率,节约了时间。00305本发明所述的并行多核FPGA数字图像实时缩放处理方法,对所述原始视频图像数据分割时采用纵向均匀分割的方法。由于显示器一般按照RASTERSCAN光栅扫描方式工作,像素点按照从左上到右下的顺序依次输出。因此在本发明的方案中,根据RASTERSCAN方式的特点对视频图像进行纵向均匀划分,视频图像的纵向划分可以有效的减少每个图像子块缩放后需要缓存的数据量,并且能够减小输入视频图像与输出视频图像之间的延迟,提高缩放系。
22、统的实时性。本方案中,针对计算机输出视频图像的特点,在预处理过程中将视频图像进行纵向划分来分割,有效的减少了每个图像子块缩放后需要缓存的数据量,降低了对系统高速缓存的吞吐量和容量的要求。因此,本发明的视频图像预处理技术中的纵向分割方法,可以减少输入视频图像与输出视频图像之间的延迟时间,提高缩放系统的处理效率,极大地提高了实时性,并为算法的硬件可实现奠定了基础。00316本发明所述的并行多核FPGA数字图像实时缩放处理方法,每个分割后的子块在均匀分割线的基础上,向外扩展一列后作为分割后的图像子块。此处的图像分割方法与所采用的缩放算法相关。由于采用的双线性插值算法中,待求解点的像素值仅与其周围4个。
23、原始像素点相关,将分割后的每个子块的分界线各向外扩展一列的区域,保证了每个分割后的图像子块在计算待求解点时所需的像素点像素值都存在,而不需要在处理时再次进行复制边缘,减小处理的复杂程度。00327本发明所述的并行多核FPGA数字图像实时缩放处理方法,所述缓存器为双倍速率同步动态随机存储器,具有更高的读取和存储的速度以及较好的同步性能,因此,整体上提高了该方法的处理效率。视频图像的实时处理系统需要具有一定的数据吞吐量,这不仅要求系统具有一定的计算能力,也要求系统要有一定的数据缓存能力。合理的数据缓存方式不仅能够提高算法的处理效率,也能够降低对系统缓存的数据吞吐量和容量的要求,双倍速率同步动态随机。
24、存储器DDRSDRAM则很好的满足了此处的要求。00338本发明所述的并行多核FPGA数字图像实时缩放处理方法,每个图像子块经由一个缩放核进行缩放处理,采用并行运行的方式,多个缩放核同时并行处理。本发明采用多核并行处理技术,减小单个缩放核的计算量,在权衡运算速度和系统资源消耗的基础上,实现实时的视频图像缩放处理。该方法单个缩放核的计算量小、整体算法处理效率高,具备在硬件上实现的条件。附图说明0034为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中0035图1是本发明实施例1中并行多核FPGA数字图像实时缩放处理方法的流程图;0036图。
25、2是本发明实施例中并行多核FPGA数字图像实时缩放处理方法的系统框图;说明书CN104104888A5/10页80037图3是本发明实施例中并行多核FPGA数字图像实时缩放处理方法的算法流程框图;0038图4是本发明实施例中RASTERSCAN与纵向分割方式示意图;0039图5是本发明实施例中预处理分割方法示意图;0040图6A和图6B分别是原始图像的像素点和缩放后的图像的像素点的示意图;0041图7A图7D为双线性插值的算法示意图。具体实施方式0042实施例10043随着技术的发展,对视频显示技术的需求,不再单独局限于如何以更大的屏幕来显示更高分辨率的视频信息,还包括如何将低分辨率的视频信息。
26、实时地放大到相应显示器屏幕尺寸的高分辨率显示屏幕上。由此不难看出,视频显示技术的发展已经不再仅仅受制于显示技术本身,而是在某些应用中更多的受制于所需视频信息的质量、实时性以及处理方式和处理芯片的运算能力。0044基于此,本实施例提供一种高处理效率的并行数字视频图像实时缩放处理方法,以平衡系统处理能力和数字视频图像缩放对吞吐量、实时性的较高要求之间的矛盾,从而达到降低系统成本、提高系统处理效率的目的。本实施例中的方案可以应用于屏幕拼接和投影融合技术领域中,实现待显示图像分辨率与显示终端分辨率之间的良好匹配。0045本实施例提供一种并行多核FPGA数字图像实时缩放处理方法,其流程图如图1所示,包括。
27、如下过程00461获取待处理的原始视频图像数据,将所述原始视频图像数据输入FPGA芯片。0047在本步骤中,将计算机显示适配器显卡信号通过VGA或DVI接口输入到视频采集设备,如果接收的信号为模拟信号时,则要先通过AD转换器进行模数转换,将模拟信号转换为数据信号。当接收信号为数字信号时,则直接通过解码器解码,从而得到数字视频图像信号。将此处获得的数字视频图像信号作为原始视频图像数据输入到FPGA芯片中。00482根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目。0049此处的缩放核是指一种具有缩放功能的软核,通过编程已经具有缩放功能,然后将它嵌入到FPGA中,。
28、实现缩放功能。现在的FPGA设计,规模巨大而且功能复杂,因此设计的每一个部分都是从头开始是不切实际的。对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。此处所用的缩放核就是一种软核,具有缩放的处理功能,类似于MATLAB中的库函数可以被调用。0050在一个FPGA中设置缩放核的数目是根据输入像素时钟频率、输出时钟像素频率以及单核的时钟频率来确定的。首先由输入及输出像素时钟频率来确定最高频率CLK,然后看此最高频率和单个缩放核的上限工作时钟频率的倍数关系,根据此关系来确定缩放核的数目。0051在确定缩放核数目时,根据判断此时输入像素时钟频率、输出像。
29、素时钟频率及单核时钟频率的关系来确定。首先,判断输入及输出像素时钟的最高频率PIXELCLOCKCLK,CLKMAXCLKIN,CLKOUT,然后看该最高频率与单个缩放核的上限工作时钟频率的倍数关说明书CN104104888A6/10页9系,根据这个倍数关系来确定缩放核的数量,单个缩放核的上限工作时钟频率与缩放核数目的乘积以不能小于即大于或等于该最高频率才行。0052也就是说,如果输入像素时钟频率CLKIN、输出像素时钟频率CLKOUT,进行比较后得到像素时钟最高频率CLKMAXCLKIN,CLKOUT,单个缩放核的上限工作时钟频率为CLKSMAX,则缩放核数目N为正整数,且NCLK/CLKS。
30、MAX。00533按照所述缩放核的数目,将所述原始视频图像数据分割成与缩放核数目一致的图像子块。这样通过此过程中的预处理分割步骤,将输入FPGA的原始视频图像数据进行均匀分割,得到了与缩放核数量一致的图像子块。0054上述步骤都是为通过缩放核处理图像子块并行处理做准备。00554将分割后的图像数据存储到缓存器中,此处的缓存器为双倍速率同步动态随机存储器DOUBLEDATARATESDRAM,即DDRSDRAM。0056视频图像的实时处理系统需要具有一定的数据吞吐量,这不仅要求系统具有一定的计算能力,也要求系统要有一定的数据缓存能力。合理的数据缓存方式不仅能够提高算法的处理效率,也能够降低对系统。
31、缓存的数据吞吐量和容量的要求,双倍速率同步动态随机存储器DDRSDRAM则很好的满足了此处的要求。0057视频图像的缩放算法实际上是根据原始图像中各点的像素值计算缩放后图像中各点的像素值的过程。其实质是一种集合间的映射关系,如图6A和图6B所示,图中,实心点表示原始图像中的像素点,空心点表示待求解的像素点。00585将缓存器中的数据返回到FPGA芯片中进行处理,分割后的每个图像子块分别经由一个缩放核进行缩放处理,所述缩放处理在各个缩放核中并行运行,如图3所示。通过FPGA与缓冲区的数据交换与共享完成缩放过程中大量数据信息的存储。根据所采用的缩放算法,在得到相应行数的数字图像数据后进行多通道并行。
32、缩放运算。其中,通过FPGA与双倍速率同步动态随机存储器DOUBLEDATARATESDRAM即DDRSDRAM之间的数据交换完成缩放过程中大量数据信息的存储。00596将缩放后的所有图像子块进行拼接处理,得到缩放后的数字视频图像。由显示驱动模块经过VGA或DVI接口输出到大屏幕显示设备上。0060本发明采用性能适中、成本较低的中低端FPGA芯片进行多核并行数字视频图像缩放处理,达到在不严格要求芯片性能和外部环境的条件下,占用资源少、在硬件上可实现的目的,整个系统的框图如图2所示。本方案可以在中、低复杂度的系统中实现数字视频图像的实时缩放,并且可根据芯片处理能力动态配置缩放核数量,从而使得数字。
33、视频图像的实时缩放可以在普通硬件平台上高效率运行,降低计算时钟频率,同时降低了系统成本。0061实施例20062本实施例中缩放核在选择其所需的数量时,选择最少数目的缩放核,输入像素时钟频率CLKIN、输出像素时钟频率CLKOUT,进行比较后得到像素时钟最高频率CLKMAXCLKIN,CLKOUT,单个缩放核的上限工作时钟频率为CLKSMAX,则缩放核数目N为正整数,则当CLK/CLKSMAX为整数时,NCLK/CLKSMAX;当CLK/CLKSMAX为非整数时,NCLK/CLKSMAX1,表示取整运算。0063此外,本实施例中对所述原始视频图像数据分割时采用纵向均匀分割的方法。由于显示器按照R。
34、ASTERSCAN光栅扫描方式工作,像素点按照从左上到右下的顺序依次输说明书CN104104888A7/10页10出。本实施例中,根据RASTERSCAN方式的特点对视频图像进行纵向均匀划分,如图4所示,视频图像的纵向划分可以有效的减少每个图像子块缩放后需要缓存的数据量,并且能够减小输入视频图像与输出视频图像之间的延迟,提高缩放系统的实时性。0064进一步,图像的分割方法与所采用的缩放算法相关。本实施例中所述缩放处理采用双线性插值算法,待求解点的像素值仅与其周围4个原始像素点相关,因此在进行图像分割时采用如图5所示的预处理分割方法,即纵向均匀分割后,每个分割后的子块在均匀分割线的基础上,向外扩。
35、展一列后作为分割后的图像子块。从而保证每个分割后的图像子块在计算待求解点时所需的像素点像素值都存在,而不需要在处理时再次进行复制边缘,减小处理的复杂程度。0065实施例30066一种使用实施例1或2所述的并行多核FPGA数字图像实时缩放处理方法的装置,包括0067输入模块采用SILICONIMAGE公司的SII1161芯片获取待处理的原始视频图像数据,将所述原始视频图像数据输入XILINX公司生产的SPARTAN6XC6SLX100型号FPGA芯片;0068缩放核计算模块根据输入像素时钟频率、输出像素时钟频率和单个缩放核的上限工作时钟频率确定缩放核数目;0069分割模块按照所述缩放核的数目,对。
36、所述原始视频图像数据进行分割并得到分割后的各个图像子块;0070存储模块将分割后的图像数据存储到外部DDR缓存器中,其型号为MICRON公司MT47H32M1625;0071缩放模块将缓存器中的数据返回到FPGA芯片中进行处理,分割后的每个图像子块经过一个缩放核进行缩放处理,通过FPGA与缓冲区的数据交换与共享完成缩放过程中大量数据信息的存储;0072拼接输出模块将缩放后的所有图像子块进行拼接处理,得到缩放后的数字视频图像,经SILICONIMAGE公司的SII164输出至显示器。0073该装置中先通过FPGA进行图像分割,然后将分割后的数据存入缓存区中缓存,再将缓存区中的信息返回到FPGA中。
37、进行分割后的图像处理。与现有技术相比,省去了后续的图像处理单元,通过FPGA实现了分割和处理的两个功能,大大减少了系统成本。此外,而在本方案中,图像处理都在同一个FPGA中进行,不需要在单独的多个芯片中并行运行,因此无需考虑同步的问题,降低了系统的复杂程度。本发明所采用的方案,通过多核并行处理技术,较好的平衡了系统处理能力和数字视频图像缩放算法对吞吐量、实时性要求较高之间的矛盾,不仅降低了缩放系统的计算时钟频率,也降低了系统成本、提高了系统处理效率,同时对数字视频图像的高吞吐量、高实时性应用有一定的指导作用。此外,该方案中采用性能适中、成本较低的中低端FPGA芯片进行多核并行数字视频图像缩放处。
38、理,达到在不严格要求芯片性能和外部环境的条件下,占用资源少、在硬件上可实现的目的。0074实施例40075上述实施例中的并行多核FPGA数字图像实时缩放处理方法及装置可适用于对图像进行缩小或放大处理。下面给出一个对图像进行放大处理的实施例。说明书CN104104888A108/10页110076本实施例中以将1280720标清数字视频在型号为XC6SLX100的FPGA芯片上采用双线性插值算法放大为19201080高清数字视频。0077由输入和输出的图像尺寸可知,此时输入像素时钟频率CLKIN74250MHZ,输出像素时钟频率CLKOUT148500MHZ。即像素时钟最高频率CLK148500。
39、MHZ。通过设计和验证,得知在FPGA芯片上采用双线性插值算法所能达到的最大时钟频率为120MHZ,此处的120MHZ是通过实验仿真得到的,在ALTERACYCLONEIII3C120平台上进行仿真。主要的设置参数有每像素十比特,一个颜色通道,逻辑芯片571,寄存器237,3个99的放大器,8个1818的放大器。在此平台上仿真得出应使用大于120MHZ的时钟频率。0078即,此情况下单个缩放核的上限工作时钟频率CLKSMAX120MHZ。由于CLKCLKSMAX2CLK,因此至少需要采用2个缩放核进行并行缩放运算。0079具体实现步骤如下0080第一步视频采集模块通过VGA或DVI接口对输入视。
40、频进行采集,获得待处理的原始视频图像数据。0081第二步将采集到的原始数视频图像数据输入FPGA,在进行预处理分割时,通过输入原始视频图像的尺寸和输出视频图像的尺寸来确定放大倍数以及缩放算法的复杂程度。确定放大倍数是为了给缩放核提供参数,缩放核具有缩放功能需要给定参数后才能工作。确定缩放算法的复杂程度即可确定所需要的缩放核的数目。同时,根据单个缩放核的上限工作时钟频率可以判断出需要采用2个缩放核进行并行缩放运算。0082图像预处理分割的方法与所采用的缩放算法相关,本例中仅以“双线性插值缩放算法”为例阐述其图像预处理分割的过程。在“双线性插值缩放算法”中,缩放后图像中待求解点的像素值与其临近的4。
41、个像素点像素值相关,视频图像分割后的每个子块都要在均匀分割分界线的基础上,再向外扩展一列,因此,上述视频图像应按照图4所示的预处理方式纵向分割为2个子块。0083第三步由于双线性插值中待求解点像素值与其周围4个像素点的像素值相关,所以在得到分割后数字图像数据两行后即可开始并行缩放运算。0084此处的并行缩放算法采用的是双线性插值法。首先根据输出的像素分布,确定其在输入图像中的位置。例如,将一幅43的图像放大为54的图像,输出图像如图7A所示,输入图像如图7B所示,图7C中给出了输出图像在输入图像中的像素对应位置其余位置同所示。图中黑色点为待求解的像素值。由图7C可见它可以由周围的四个像素值所计。
42、算,同时可以看出在输入两行后即可以进行运算。以第一个点为例,如图7D中所示,它将四个已知输入图像中的像素点所在区域划分为四个区域,分别为1234,四个像素点分别用1,2,3,4表示。则所求像素点的值即为1的像素值4的面积2的像素值3的面积3的像素值2的面积4的像素值1的面积。此缩放算法即为双线性插值算法。0085此处的“并行缩放运算”在本实施例中是在两个单独的缩放核中对两个分割后的图像并行进行处理。0086其中,通过FPGA与双倍速率同步动态随机存储器DOUBLEDATARATESDRAM,即DDRSDAM之间的数据交换与共享完成缩放过程中大量数据信息的存储与计算。本实施例中用DDR模块DDR。
43、SDAM实现帧的存储。首先进行图像的采集,将其输入到FPGA模块此说明书CN104104888A119/10页12模块中包括缩放核,由于缩放模块中输入和输出前后的屏幕刷新频率可能会有稍微的差别,输入比输出的大零点几赫兹,那么就可以利用DDR模块首先进行存储,如果不经过存储输出将会跟不上输入的速度,连续多帧后输出的缩放图像出现错乱。进行缩放时从DDR模块中得到数据输入到FPGA中的缩放模块进行缩放,缩放时利用前面所述的双线性插值算法,需要几行数据就从DDR模块中读取几行。缩放完成后直接输出,不需要再次返回到DDR模块中。0087第四步将每一路经过双线性插值放大的图像进行拼接处理,从而得到缩放后的。
44、数字视频图像。最终通过显示驱动,经过VGA或DVI接口输出到大屏幕显示设备上。0088作为可以替换的实施方式,常见的缩放算法有本发明中所用的双线性插值算法以及最小邻域插值算法。双线性插值算法的具体操作如前面所述,它的优点是算法复杂度较低且易于实现,缺点是它类似于一个低通滤波器,使高频分量被去除,导致边缘模糊。若采用最小邻域插值法即选择离它所映射到的位置最近的输入像素的灰度值为插值结果。优点是计算量很小,算法也简单,因此运算速度较快。但它仅使用离待测采样点最近的像素的灰度值作为该采样点的灰度值,而没考虑其他相邻像素点的影响,因而重新采样后灰度值有明显的不连续性,图像质量损失较大,会产生明显的马赛。
45、克和锯齿现象。双线性插值法效果要好于最近邻插值,只是计算量稍大一些,算法复杂些,程序运行时间也稍长些,但缩放后图像质量高,基本克服了最近邻插值灰度值不连续的特点,因为它考虑了待测采样点周围四个直接邻点对该采样点的相关性影响。0089实施例50090本实施例中给出一个采用本发明中的并行多核FPGA数字图像实时缩放处理方法及装置进行图像缩小的具体应用实例。本实施例中将19201080高清数字视频在型号为XC6SLX100的FPGA芯片上采用双线性插值算法缩小为1280720标清数字视频。0091由输入和输出的图像尺寸可知,此时输入像素时钟频率CLKIN148500MHZ,输出像素时钟频率CLKOU。
46、T74250MHZ。即像素时钟最高频率CLK148500MHZ。通过设计和验证,得知在FPGA芯片上采用双线性插值算法所能达到的最大时钟频率为120MHZ,即,此情况下单个缩放核的上限工作时钟频率CLKSMAX120MHZ。由于CLKCLKSMAX2CLK,可知,至少需要采用2个缩放核进行并行缩放运算。0092本实施例中的并行多核FPGA数字图像实时缩放处理方法,具体实现步骤如下0093第一步视频采集模块通过VGA或DVI接口对输入视频进行采集,获得待处理的原始视频图像数据。0094第二步将采集到的原始数视频图像数据输入FPGA,其中的预处理分割模块通过输入原始视频图像的尺寸和输出视频图像的尺。
47、寸来确定放大倍数以及缩放算法的复杂程度,同时,根据单个缩放核的上限工作时钟频率可以判断出需要采用2个缩放核进行并行缩放运算。0095图像预处理分割的方法与所采用的缩放算法相关,本例中可采用最小邻域插值法,即选择离它所映射到的位置最近的输入像素的灰度值为插值结果。该算法的优点是计算量很小,算法也简单,因此运算速度较快。但它仅使用离待测采样点最近的像素的灰度值作为该采样点的灰度值,而没考虑其他相邻像素点的影响,因而重新采样后灰度值有明显的不连续性,图像质量损失较大,会产生明显的马赛克和锯齿现象。说明书CN104104888A1210/10页130096作为其他的实施方式,也可以采用上述实施例4中的。
48、双线性插值法,与上述实施例4的计算方式相同。0097第三步通过FPGA与双倍速率同步动态随机存储器DOUBLEDATARATESDRAM,即DDRSDRAM之间的数据交换与共享完成缩放过程中大量数据信息的存储与计算,该过程与上述实施例4相同。0098第四步将每一路经过双线性插值缩小的图像进行拼接处理,从而得到缩放后的数字视频图像。最终通过显示驱动,经过VGA或DVI接口输出到大屏幕显示设备上。0099显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。说明书CN104104888A131/3页14图1图2说明书附图CN104104888A142/3页15图3图4图5图6A图6B图7A图7B说明书附图CN104104888A153/3页16图7C图7D说明书附图CN104104888A16。