专利名称:一种视频图像处理器的制作方法
技术领域:
本发明涉及数字家庭技术领域,尤其涉及一种视频图像处理器。
背景技术:
数字图像处理的研究源于两个主要应用领域其一是为了便于人们分析而对图像信息进行改进;其二是为使机器自动理解而对图像数据进行储存、传输及显示。从20世纪 60年代至今,数字图像处理领域已经取得了极大的发展。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。从上世纪70年代开始,计算机视觉发展迅速,人们通常将其分为两个层次低层的图像处理和高层的图像理解。低层计算机视觉技术与数字图像处理完全重合,其处理步骤通常为图像由一个传感器(例如TV摄像机)获取并将其数字化,然后进行噪声抑制,接着进行图像增强,以增强与图像理解有关的物体特征。图像分割是接下来的步骤,计算机尝试将物体从背景中分离出来,并且使它们彼此互相区分开。高层的计算机视觉取决于知识、目标以及如何达到这些目标的计划。高层计算机视觉试图模仿人类的认知和根据包含在图像中的信息进行决策的能力。高层视觉从某种形式的形式化世界模型开始,然后将通过数字化图像感知的“真实”与该模型进行比较,试图找出匹配。当差别显现出来的时候就寻找部分匹配(或子目标)来克服错配;计算机转向低层图像处理,寻找用于更新模型的信息。这个过程反复进行,因此“理解”图像变为一个在自顶向下和自底向上两个过程之间的协作。引入一个反馈回路,从高层的部分结果为低层的图像处理提出任务,而反复的图像理解过程应该最终收敛于全局的目标。图像增强属于计算机视觉的低层部分,指按特定的需要突出图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法。其主要目的是使处理后的图像对某种特定的应用来说,比原始图像更适用。因此,图像增强是为了某种应用目的而去改善图像质量的,处理的结果使图像更加适合于人的视觉特性或机器的识别系统。图像增强效果的好坏,直接影响图像分割的效果以及高层图像理解的结果。在视频图像处理系统中,诸如图像相减等操作,处理的数据量很大,对处理速度的要求很高,但算法结构相对简单,适合用FPGA进行硬件实现。本发明采用在FPGA上进行图像视频处理。由于FPGA的开发具有很强的灵活性,因此,可以利用FPGA的资源,在芯片上实现视频图像处理的串口通信功能,从而简化了电路,缩小了体积,提高了可靠性,并且在使用上有很大的灵活性。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种视频图像处理器,可以利用 FPGA的资源,在芯片上实现视频图像处理的串口通信功能,从而简化了电路,缩小了体积,提高了可靠性,并且在使用上有很大的灵活性。一种视频图像处理器,包括双接口 RAM接收器、波特率发生器、双口 RAM发送器;该视频图像处理器在FPGA上实现视频图像处理器分系统与系统之间的数据串行通信,采用 UART串行数据传输协议,通信的传输波特率、FPGA系统时钟频率均采用参数化设计,可满足不同系统主频和传输波特率要求。优选地,分系统发送接收有帧头、帧尾,用来判断数据接收的正确性;数据格式为一个起始位低电平0,8个数据位数,一个停止位高电平1,一个数据串为10位。优选地,为解决串口与视频图像部分的异步通信问题,采用了在FPGA上产生双口 RAM实现串口与视频图像处理部分的对接;双口 RAM就是存储数据共享的存储器,配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存储单元,特别适合异步处理器之间的异步高速通信;双口 RAM的存储空间大小和数据地址位数均采用参数化设计,使得双口 RAM的存储空间大小可根据实际应用需要进行调整,增加了串口使用的灵活性和通用性。优选地,串口在接收数据时,理想的采样点是在数据位的中间;为了对串行数据位进行精确采样,可对数据位时间进行分段,分段数越大,则采样点越靠近中间点,但同时也增加了系统的开销;本设计中采用了 16倍时间分段。优选地,串口发送器采用双口 RAM与视频图像处理部分对接,视频图像处理部分将并行数据发送到双口 RAM中然后,在发送控制信号即视频场同步信号的控制下,由串口发送器将双口 RAM中的并行数据读出来,并转为串行数据发送出去。优选地,串口接收器采用双口 RAM与视频图像处理部分对接,接收器将接收到的串行数据转换为并行数据并将其存储到双口 RAM中。视频图像处理部分在进行数据处理时则可根据双口 RAM的控制端口将并行数据读出并进行处理,其读出数据过程与在发送器中写数据过程类似。本发明的有益效果1)通过对处理的视频数据转换能够在传输过程中保证数据传输的可靠性,由外部的串行传输转换到系统内部的并行传输,有效提高了视频数据的处理速度;2)在此设计中把要发送的数据和接受的数据分开处理并用双口 RAM有效缩短了处理器处理数据的时间,提高了处理器处理视频数据的速度,从而保证了实时性传输的要求。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本发明的视频图像处理器的总体结构图;图2是本发明的视频图像处理器中波特率发生器模块的结构图;图3是本发明的视频图像处理器中带双口 RAM的发送器模块的结构图;图4是本发明的视频图像处理器中带双口 RAM接收器模块的结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的目的是在FPGA上实现视频图像处理器分系统与系统之间的数据串行通信设计,基于一种视频图像处理器,通过改变信号传输方式和设计参数,实现视频图形处理的实时性要求,提供给用户更加可靠的系统通信。一种视频图像处理器,总体结构如图1所示,包括双接口 RAM接收器、波特率发生器、双口 RAM发送器。该视频图像处理器在FPGA上实现视频图像处理器分系统与系统之间的数据串行通信,采用UART串行数据传输协议,通信的传输波特率、FPGA系统时钟频率均采用参数化设计,可满足不同系统主频和传输波特率要求。分系统发送接收有帧头、帧尾, 用来判断数据接收的正确性。数据格式为一个起始位低电平0,8个数据位数,一个停止位高电平1,一个数据串为10位。为解决串口与视频图像部分的异步通信问题,采用了在FPGA上产生双口 RAM实现串口与视频图像处理部分的对接。双口 RAM就是存储数据共享的存储器,配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存储单元,特别适合异步处理器之间的异步高速通信。双口 RAM的存储空间大小和数据地址位数均采用参数化设计,使得双口 RAM的存储空间大小可根据实际应用需要进行调整,增加了串口使用的灵活性和通用性。在视频图像处理中,为满足实时性要求,一次图像处理在一场图像时间中完成, 故可用视频场同步信号作为串口发送器发送控制信号。PAL电视制式规定,场扫描频率为 50Hz,一帧图像分为奇数场和偶数场。波特率发生器设计如图2所示rst_n 系统复位信号elk 系统时钟频率clk_16x 输出波特率(传输波特率时钟频率的16倍)串口在接收数据时,理想的采样点是在数据位的中间。为了对串行数据位进行精确采样,可对数据位时间进行分段,分段数越大,则采样点越靠近中间点,但同时也增加了系统的开销。在设计应用中,采用了 16倍时间分段。串口的接收和发送是按照相同的波特率进行的,波特率发生器产生的时钟频率不是波特率时钟频率,而是波特率时钟频率的16倍(即一个传输位的宽度为16个clk_16x 时钟周期)。可以根据给定的系统时钟频率和要求的波特率算出波特率计数值。假设系统时钟频率为40MHz,要求的传输波特率为115 200b/s,则可产生Counter = (Clk_fequency/ (2*16*Baud_rate)) _1,即对elk计数到Counter时对clk_16x进行翻转一次。在程序设计中,采用参数化设计,可根据应用要求改变波特率大小。parameter Clk_frequency = 40000000,// 系统时钟频率 40MHzBaud_rate = 115200,// 要求传输波特率值 115 200b/s
Counter = (Clk_frequency/(2*16*Baud_rate))_1, Width = 7 ;// 能够存储 Counter值的二进制形式所需的位数。带双口 RAM的发送器模块如图3所示Data_out 串行输出Vs 发送控制信号(视频场同步信号)Cs 双口 RAM的片选信号Wren 双口 RAM的写使能信号Addr 双口 RAM的地址线Data 双口 RAM的数据线串口发送器采用双口 RAM与视频图像处理部分对接,视频图像处理部分将并行数据发送到双口 RAM中然后,在发送控制信号(视频场同步信号)的控制下,由串口发送器将双口 RAM中的并行数据读出来,并转为串行数据发送出去。为简化串口发送器对双口 RAM的控制,采用了将双口 RAM和发送器做到一个模块中的方式。因此,对发送器而言,双口 RAM就相当于一个内部存储器,可以直接对其进行读写操作,而不需要额外的存储器控制端口和数据传输接口。发送器从发送控制信号(场同步信号)Vs到来开始,隔16个clk_16x周期输出1 位数据,顺序为1位起始位,8位数据位和1位停止位,数据位为从低位到高位发送形式。发送器采用状态机风格进行描述,共分为5个状态空闲状态SO、开始状态Si、等待状态S2、 移位状态S3、停止状态S4。在状态机转换过程中,需要一位寄存器变量来判断要发送的数据是否已发送完, 以确保一个场同步信号只对双口 RAM中的number字节数据发送一遍。系统一旦复位,发送器就进入SO状态,同时对一位宽寄存器型变量num置0。空闲状态SO 在此状态完成初始化工作,即对所要用到的寄存器赋初值(包括双口 RAM的数据读出地址addr_Cnt清0),且将串行输出Data_0ut置为高电平。当Vs有效 (场同步期间)且num== 0成立时,进入Sl状态。在Vs无效期间,将num置0,且继续在 SO状态。开始状态Sl 给出起始位低电平0,即将Data_0ut置0,同时将当前addr_Cnt地址的数据从双口 RAM中读出并存入发送移位寄存器Shift_reg,系统进入S2状态。等待状态S2:在此状态,每次等待16个clk_16x,即保证每位的宽度位16个 clk_16x时钟周期,包括起始位等待在内,要等待9次,其中,数据位等待为8次。若等待次数在9次以内,则转入S3状态,否则,转入S4状态。移位状态S3 将shift_reg
赋给Data_0ut,同时实现从高位到低位移位。进入 S2状态。停止状态S4 给出停止位高电平1,即将Data_0ut置为高电平,且计满16个 clk_16x。然后,判断是否已将memory [number-l:0]中的number个字节的数据都输出,若没有,就转入Sl状态继续输出,否则,就进入SO空闲状态,同时将num置1。 带双口 RAM的接收器模块如图4所示Data_in 串行输入Cs_rd双口 RAM的片选信号
Rd双口 RAM的读使能信号addr_rd 双口 RAM 的地址线Data_rd 双口 RAM 的数据线串口接收器采用双口 RAM与视频图像处理部分对接,接收器将接收到的串行数据转换为并行数据并将其存储到双口 RAM中。视频图像处理部分在进行数据处理时则可根据双口 RAM的控制端口将并行数据读出并进行处理,其读出数据过程与在发送器中写数据过程类似。在接收一个串行数据帧的起始位时,是由逻辑转为逻辑0来判断的。为了避免毛刺(周期很短)的影响,能够得到正确的起始位信号,必须要求接收到的起始位至少有1/4 都是属于逻辑0才可认定接收到的是起始位。因为波特率发生器产生的时钟频率为接收串行数据波特率的16倍,所以计数4次就可以去除毛刺的影响。接收器采用状态机风格进行描述,共分为5个状态开始状态SO、延迟状态Si、等待状态S2、移位状态S3、停止状态S4。系统复位后,对所要用到的寄存器初始化,进入SO状态。开始状态SO 如果串口输入Datajn为0且维持4个clk_16x,就判断起始位信号 (低电平)到来,进入Sl状态。延迟状态Sl 计数4次clk_16x,再加上SO状态已经计数的4次,共8次。因为接收器采用的时钟clk_16x为波特率的16倍,所以一个串行位有16个clk_16x时钟周期,则计数8次可以保证采样点在起始位电平的中间。进入S2状态。等待状态S2 计数16次clk_16x,即采样点在下一个串行位的中间。然后,判断是否已经移位了 8次,若没有,则转入S3状态;否则,转入S4状态。移位状态S3 将串行输入Datajn赋给内部移位寄存器的最高位shift_regl [7],同时实现shift_regl从高位向低位移位一次。进入S2状态。停止状态S4 将shift_reg存到双口 RAM中。判断是否已将需要接收的数据个数接收完,若没有,则在双口 RAM中的存储地址自动累加,否则,双口 RAM 中的存储地址清0。进入SO状态。在本发明中还可以通过在处理器系统中加入双处理器分开对传送来的数据进行处理,处理后的数据送入缓存进行下一步处理,从而加快了对视频数据的处理速度。以上对本发明实施例所提供的一种视频图像处理器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种视频图像处理器,其特征在于,包括双接口 RAM接收器、波特率发生器、双口 RAM 发送器;该视频图像处理器在FPGA上实现视频图像处理器分系统与系统之间的数据串行通信,采用UART串行数据传输协议,通信的传输波特率、FPGA系统时钟频率均采用参数化设计,可满足不同系统主频和传输波特率要求。
2.如权利要求1所述的视频图像处理器,其特征在于,分系统发送接收有帧头、帧尾, 用来判断数据接收的正确性;数据格式为一个起始位低电平0,8个数据位数,一个停止位高电平1,一个数据串为10位。
3.如权利要求1所述的视频图像处理器,其特征在于,为解决串口与视频图像部分的异步通信问题,采用了在FPGA上产生双口 RAM实现串口与视频图像处理部分的对接;双口 RAM就是存储数据共享的存储器,配备两套独立的地址、数据和控制线,允许两个独立的 CPU或控制器同时异步地访问存储单元,特别适合异步处理器之间的异步高速通信;双口 RAM的存储空间大小和数据地址位数均采用参数化设计,使得双口 RAM的存储空间大小可根据实际应用需要进行调整,增加了串口使用的灵活性和通用性。
4.如权利要求1所述的视频图像处理器,其特征在于,串口在接收数据时,理想的采样点是在数据位的中间;为了对串行数据位进行精确采样,可对数据位时间进行分段,分段数越大,则采样点越靠近中间点,但同时也增加了系统的开销;本设计中采用了 16倍时间分段。
5.如权利要求1所述的视频图像处理器,其特征在于,串口发送器采用双口RAM与视频图像处理部分对接,视频图像处理部分将并行数据发送到双口 RAM中然后,在发送控制信号即视频场同步信号的控制下,由串口发送器将双口 RAM中的并行数据读出来,并转为串行数据发送出去。
6.如权利要求1所述的视频图像处理器,其特征在于,串口接收器采用双口RAM与视频图像处理部分对接,接收器将接收到的串行数据转换为并行数据并将其存储到双口 RAM 中。视频图像处理部分在进行数据处理时则可根据双口 RAM的控制端口将并行数据读出并进行处理,其读出数据过程与在发送器中写数据过程类似。
全文摘要
本发明实施例公开了一种视频图像处理器,包括双接口RAM接收器、波特率发生器、双口RAM发送器。该视频图像处理器在FPGA上实现视频图像处理器分系统与系统之间的数据串行通信,采用UART串行数据传输协议,通信的传输波特率、FPGA系统时钟频率均采用参数化设计,可满足不同系统主频和传输波特率要求。采用本发明中把要发送的数据和接受的数据分开处理并用双口RAM有效缩短了处理器处理数据的时间,提高了处理器处理视频数据的速度,从而保证了实时性传输的要求。
文档编号H04N5/14GK102263884SQ20111021175
公开日2011年11月30日 申请日期2011年7月27日 优先权日2011年7月27日
发明者王佳, 王若梅, 陈湘萍 申请人:中山大学