一种基于fpga的图像拼接处理器及图像拼接方法

文档序号:2648011阅读:755来源:国知局
专利名称:一种基于fpga的图像拼接处理器及图像拼接方法
技术领域
本发明涉及一种基于FPGA的图像拼接处理器及图像拼接方法。
背景技术
目前大屏幕拼接显示系统对视频信号显示控制的实现方法主要有两种一是采用 PCI插入式拼接,它利用一块多屏拼接卡将完整的视频图像分割成MXN个子视频信号,多个子视频信号通过复用PCI总线,由主机处理器实现放大处理。因此拼接屏幕的数目受到 PCI总线带宽的限制。二是采用嵌入式拼接方式,各个拼接单元拥有独立的视频处理模块, 输入视频送到各个单元,并各自进行视频处理,分割出自己应该显示的部分,并将这一部分视频信号放大后,经硬件电路驱动来显示视频信号,实现大屏幕拼接显示的目的。但是这种嵌入式的拼接单元在显示模式多样化方面受到了限制,尤其是在网络信号方面自由度方面受到瓶颈,且对于目前的高清视频信号、数字流媒体信号处理方面也存在采集和处理能力方面的限制。目前,由于计算机显示技术的进步及数字视频接口标准的日益普及,对DVI数字视频信号进行提取和数字化处理的要求越来越高。特别是目前对流媒体视频信号方面的依赖越来越明显,尤其是在高清领域。传统的PCI总线模式已经显然无法满足需求,其首先受到带宽瓶颈且发展的空间很小。嵌入式模式虽然有一定的进展,但是在拼接处理、信号源管理以及网络尤其是流媒体方面的处理能力还比较欠缺。与此同时,可编程逻辑器件FPGA不断地更新换代,其内部逻辑资源和速度等级不断提高,能够满足快速的硬件实现和并行处理,以解决视频处理速度限制及不同标准融合的问题。从而为实时的、并行的处理视频带来了新的解决途径。

发明内容
本发明的目的是提供一种基于FPGA的图像拼接处理器,使其即不受PCI总线带宽的限制又不受采集和处理能力方面的限制。同时,本发明的还有一个目的是提供一种基于上述处理器的图像拼接方法。为了达到上述目的,本发明的一个技术方案是提供了一种基于FPGA的图像拼接处理器,其特征在于,包括一组DVI数字解码电路、一组FPGA数字视频处理电路及一组输出接口电路,其中外部数字信号与DVI数字解码电路相连,对最小变换差分信号形式的数字视频信号进行解码处理,得到的视频像素信息流直接送入FPGA数字视频处理电路,经过图像处理算法后,再对信号进行编码处理,得到最小差分信号的数字视频信号,经过输出接口电路输出到拼接墙显示器。本发明的另一个技术方案是提供了一种图像拼接方法,其特征在于,步骤为步骤1、由视频分割模块对通过DVI数字解码电路及视频输入模块得到的视频像素信息流进行分割处理,得到至少两路具有完整视频格式的子视频像素流,并且输出的至少两路子视频像素流具有相同的扫描规律;
步骤2、基于FPGA数字视频处理电路实现滑动窗口 n*n领域模板,其中,η彡2,其值与步骤1中所述的子视频像素流的路数相同;步骤3、由FPGA数字视频处理基于滑动窗口 η*η领域模板对各路子视频像素流实现差值放大后输出,通过DVI数字编码电路编码及DVI接口输出到拼接墙显示器上,拼接成一副完整的图像。本发明的优点是突破拼接规模限制,使拼接数量理论上达到无限;实现实时数字视频的分割、视频图像的插值放大,提供一种视频流媒体的采集和处理方法。同时对DVI 数字信号进行提取,算法处理的视频数据和信号源保持一致,避免信号D/A转换中的信号损失;在FPGA内部设计利用并行处理技术,能有效提高处理与响应速度,并把屏幕拼接应用系统硬件的对外接口统一到DVI数字视频显示接口 ;同时满足流媒体视频信号尤其是高清领域不断扩展的应用需求。


图1是基于FPGA的图像拼接处理器原理框图
图2是FPGA内部逻辑结构图3是SRAM读、写分时切换逻辑图4是参考视频流的控制逻辑图5是分割算法的层次执行过程;
图6是滑动窗口 4X4模板的实现;
图7是像素流插值放大的处理流程图8是双立方插值计算方法图9是缓冲存储器的“乒乓”操作实现图。
具体实施例方式以下结合实施例来具体说明本发明。实施例如图1及图2所示,本发明提供了一种一种基于FPGA的图像拼接处理器,其特征在于,包括一组DVI数字解码电路、一组FPGA数字视频处理电路及一组输出接口电路,其中外部数字信号与DVI数字解码电路相连,对最小变换差分信号形式的数字视频信号进行解码处理,得到的视频像素信息流直接送入FPGA数字视频处理电路,经过图像处理算法后, 再对信号进行编码处理,得到最小差分信号的数字视频信号,经过输出接口电路输出到拼接墙显不器。所述输出接口电路包括一组DVI数字编码电路及一组DVI接口,所述FPGA数字视频处理电路输出的数字视频信号经过DVI数字编码电路编码后通过DVI接口输出到所述拼接墙显不器。所述FPGA数字视频处理电路包括视频输入模块、视频分割模块、视频插值模块和视频输出模块,视频输入模块接收从所述DVI数字解码电路送出的视频像素信息流转换成预处理的视频像素流格式,视频分割模块将得到的视频像素信息流分割裁剪,得到多路完整的子视频像素流,并控制各路子视频显示的相互时序关系,视频插值模块对各路子视频
4像素流进行MXN倍的插值放大处理,视频输出模块则将放大后的各路子视频像素流发送至所述输出接口电路。本实施例给出一个2X2拼接实例,拼接显示单元选用IXD显示器,但不限于IXD, 对于等离子、DLP投影单元同样适用。本发明的方法是通过以下技术方案实现的首先实现视频分割,对输入视频像素流进行分割处理,得到四路具有完整视频格式的子视频,并且输出的四路子视频具有相同的扫描规律,即行同步与场同步。四路子视频中,当有一路视频年进行场变换或者行变换时,其他三路视频也要同时完成对各自视频的场变换或者行变换;当显示屏在对屏上的第一行象素点进行扫描时,其余各显示屏也都在对各自屏上的第一行像素点进行扫描。子视频的扫描规律一致而子屏幕显示的视频图像内容是所分割的不同部分。在上述步骤中所述的视频分割法实现片外SRAM分时切换,通过在外部的SRAM中对输入视频像素数据帧进行缓存。为进行不同顺序的读、写操作,本发明采用了两组SRAM 进行读、写分时切换操作,保证对数据进行连续的读写处理而不发生时间中断。图3为SRAM读、写分时切换逻辑图。视频分割法的SRAM读、写分时切换逻辑采用了 A、B两组像素数据存储区,用以记录单帧视频像素数据。FPGA的分时切换逻辑是依据输入视频流的场同不控制信号Vsync发生高电平到低电平的转换,以此作为新数据帧到来的标识。场同步控制寄存器LasrVSync为高电平“1”且当前象素点的场同步信号Vsync为低电平“0”,则表示新的象素开始。帧存储器选择寄存器ReadBank则取反,从而提示数据写入和读出控制逻辑进行读/写帧缓存切换;相反,如果场同步控制寄存器LastVSync与当前象素点的Vsync值同时为有效“1”,则表示没有新的象素帧到来,帧存储器选择寄存器不发生变化。如此,输入数据流分配到两组帧缓冲存储器,实现对输入视频像素流的无缝缓冲与处理。子视频实现同步控制,其获取方法是在算法中加入一个参考视频象素流,用于提供子视频行、场同步控制信息。参考视频流不包含象素点的R、G、B数据信息,但满足输出子视频流所需的行、场同步控制信号的时序特征,在形成的单帧视频图像中其水平方向和垂直方向象素点个数为输入视频象素点个数的一半,视频的刷新频率与输入视频保持一致;由图4所示的视频流的控制逻辑图可见,其详细实现过程如下(1)第1级,将参考视频流复制成4个子视频流(Split4);(2)第2级,是对每一个视频像素流的象素坐标增加偏移量(dx,dy),使其对应不同的子视频象素点的显示位置,例如,对第二个子视频,由于它要读取输入视频的右上方位置的视频图像数据,设置其横向偏移量为Width/2和纵向偏移量0,其它的子视频与之类似;(3)第3级,读取像素数据,其工作在160MHz的像素时钟频率下,因此第3级操作改变它们的象素周期,使子视频在每4个像素周期内输出一个有效的象素数据,Cycles为预设置的控制象素周期(Cycles设置为4),使有效数据的时钟频率与子视频象素的频率相同;(4)对四路参考视频流进行不同的延时处理,再经过像素流融合(MUX4)为串行的视频像素流,把并行像素流转化为串行像素流,保证串行像素流读取一帧象素的时间与输入视频像素流写入一帧象素的时间是相等的;(5)所述的像素流融合操作对输入的四路视频,通过设置控制参数(control),在不同时钟下选取带有偏移量的视频象素点。视频分割法采用分层次执行,算法采用系统级描述语言(Handel-C)进行编码设计,应用面向系统硬件的平台抽象层(PAL)的设计流程,作为一种寄存器传送级的并行结构语言,需要在每一个象素时钟内的保持逻辑处理的并发,在同一层次(stage)内对视频像素流结构中数据的处理不交叉,同时复制除本层次(stage)处理以外的像素流中其它数据信息。由图5可见,视频分割法的分层次执行过程。实现滑动窗口。本发明实施例采用视频插值放大算法是FPGA内部实现滑动窗口 4X4领域的模板。对单帧视频图像作2X2倍的插值放大就是建立在此滑动窗口模板基础上的。基于滑动模板的插值过程是对模板掩盖下的某象素点的插值,该插值象素点和滑动模板下的像素点具有局部相关性,其像素值可以通过滑动窗口模板中已知的象素点数据值计算得到。由图6可见,为滑动窗口 4 X 4模板图,滑动窗口领域模板实现过程如下(1)输入像素流的像素数据顺序地存入3个行缓冲存储器,当有一个新的像素数据输入时,该点的像素数据值被写入第1个行存储器(LinBufferO),这时第1个行缓冲存储器的输出像素写入下一个行存储器(LinBufferl),依次类推;第3个行存储器写入的像素数据是LineBufferf的输出;这样输入像素流数据就在3个行存储器内作不间断的缓冲 每个像素时钟内,模板寄存器首先把同一行像素寄存器内的M位像素数据向前传递,WiO =WiLffil = Wi2,Wi2 = Wi3 (BP把后一列的像素值赋给它前面的列),随后滑动窗口寄存器模板从3个行缓冲和输入像素流中获得所需要的新的M位像素数据(R、G、B分量值), 同时把像素值暂存到模板最后一列W03,W13,W23,W33这4个寄存器中。如此循环下去,就如同模板顺次地滑过单帧视频图像中的每个像素点,形成了 4x4邻域的滑动窗口模板;(2)算法设计中为了使模板的中心处于WIl处,需要把一个行存储器 (LineBufferO)的输出作为整个滑动窗口形成过程的输出。当前时钟内行存储器 LineBufferO的输出为W13,与Wll有2个时钟的延迟,所以需要把LineBufferO的输出像素流缓冲两个像素时钟,缓冲后的像素流作为模板形成过程输出;视频插值放大的FPGA实现,基于滑动窗口模板插值的像素流处理流程如图7所示。由图7可见,算法的执行过程如下(1)首先从共享FWO通道中获取分割后的视频像素流,由于插值系统的时钟为输入时钟的两倍,因此在像素的获取后,需要对像素流延迟一个空像素周期,在算法内部通过计数,每两个时钟周期输出一次有效的像素数据;从滑动窗口中得到计算所需要的插值数据,每行像素数据移入模板中寄存器的过程,相当于滑动窗LJ顺序滑过各个像素点,同时移动模板中心点周围的寄存器中存储了当前像素点(滑动窗口模板中心点 PackedData
)周围的像素数据值;待插值点处于窗口模板的掩盖之下,对于不同插值处理算法,可以选择不同的相关像素点;由于插值需要实现2x2倍的插值放大,待插值点位置相对固定,算法设计通过LUT查表法获得插值权重系数(由插值核函数求出)。双立方插值从中选择16个点作为待插值点的相关像素点,如图8所示,选取窗口模板中心点及其周围的15个像素点作为插值点的相关像素。(2)将插值的结果O^ckedData [o_3])并行地写入两组共享的行缓冲存储(LineBuffer)中,因写入和读出的行存储器工作在异步的像素时钟频率下,在写入插值数据时钟域内,两组行存储器以视频流的纵向坐标的末位(In. YW])作为行存储器组间的标识,写入插值像素值采用双行并行写入;在第一个时钟内写入I^ackedDataW]和 PackedData[2],下一个像素时钟内写入结果数据PackedData[1]和PackedData[3];在读出插值数据时钟域内,同样以参考视频流像素的纵坐标末位(Coord. YW])作为同一组内行存储器的标识,插值像素数据分主次依次从行缓冲存储器中读出,读出的插值像素值融入到参考视频像素,组成输出的视频流。行缓冲存储器的数据读写“乒乓”操作实现,如图 9所示。其中,Signal FLAG为不同像素时钟域内共享的通信信号,用于即时控制写入和读出逻辑,由输入视频流的行同步控制信号生成。
权利要求
1.一种基于FPGA的图像拼接处理器,其特征在于,包括一组DVI数字解码电路、一组 FPGA数字视频处理电路及一组输出接口电路,其中外部数字信号与DVI数字解码电路相连,对最小变换差分信号形式的数字视频信号进行解码处理,得到的视频像素信息流直接送入FPGA数字视频处理电路,经过图像处理算法后,再对信号进行编码处理,得到最小差分信号的数字视频信号,经过输出接口电路输出到拼接墙显示器。
2.如权利要求1所述的一种基于FPGA的图像拼接处理器,其特征在于,所述输出接口电路包括一组DVI数字编码电路及一组DVI接口,所述FPGA数字视频处理电路输出的数字视频信号经过DVI数字编码电路编码后通过DVI接口输出到所述拼接墙显示器。
3.如权利要求1所述的一种基于FPGA的图像拼接处理器,其特征在于,所述FPGA数字视频处理电路包括视频输入模块、视频分割模块、视频插值模块和视频输出模块,视频输入模块接收从所述DVI数字解码电路送出的视频像素信息流转换成预处理的视频像素流格式,视频分割模块将得到的视频像素信息流分割裁剪,得到多路完整的子视频像素流,并控制各路子视频显示的相互时序关系,视频插值模块对各路子视频像素流进行MXN倍的插值放大处理,视频输出模块则将放大后的各路子视频像素流发送至所述输出接口电路。
4.一种图像拼接方法,其特征在于,步骤为步骤1、由视频分割模块对通过DVI数字解码电路及视频输入模块得到的视频像素信息流进行分割处理,得到至少两路具有完整视频格式的子视频像素流,并且输出的至少两路子视频像素流具有相同的扫描规律;步骤2、基于FPGA数字视频处理电路实现滑动窗口 n*n领域模板,其中,η ^ 2,其值与步骤1中所述的子视频像素流的路数相同;步骤3、由FPGA数字视频处理基于滑动窗口 η*η领域模板对各路子视频像素流实现差值放大后输出,通过DVI数字编码电路编码及DVI接口输出到拼接墙显示器上,拼接成一副完整的图像。
5.如权利要求4所述的一种图像拼接方法,其特征在于,步骤1所述得到具有相同的扫描规律的至少两路子视频像素流的步骤为步骤1. 1、加入一个参考视频象素流,用于提供子视频行、场同步控制信息;步骤1. 2、将参考视频象素流复制成i个子视频流,其中,i ^ 2,i的数值等于子视频像素流的路数;步骤1. 3、对每一个子视频流的象素坐标增加偏移量(dx,dy),使其对应不同的显示位置;步骤1. 4、读取像素数据,其工作在160MHz的像素时钟频率下,使子视频在每Cycles个像素周期内输出一个有效的象素数据,使有效数据的时钟频率与子视频象素的频率相同, 其中,Cycles为预设置的控制象素周期;步骤1. 5、对i路参考视频流进行不同的延时处理,再经过像素流融合为串行的视频像素流,把并行像素流转化为串行像素流,保证串行像素流读取一帧象素的时间与输入视频像素流写入一帧象素的时间是相等的。
全文摘要
本发明涉及一种基于FPGA的图像拼接处理器,其特征在于,包括一组DVI数字解码电路、一组FPGA数字视频处理电路及一组输出接口电路,其中外部数字信号与DVI数字解码电路相连,对最小变换差分信号形式的数字视频信号进行解码处理,得到的视频像素信息流直接送入FPGA数字视频处理电路,经过图像处理算法后,再对信号进行编码处理,得到最小差分信号的数字视频信号,经过输出接口电路输出到拼接墙显示器。本发明还提供了一种基于上述系统的图像拼接方法。本发明的优点是既不受PCI总线带宽的限制又不受采集和处理能力方面的限制。
文档编号G09G5/14GK102376293SQ201010256898
公开日2012年3月14日 申请日期2010年8月19日 优先权日2010年8月19日
发明者刘红 申请人:上海济丽信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1