一种基于fpga的视频格式转换器的制作方法

文档序号:434157阅读:171来源:国知局
专利名称:一种基于fpga的视频格式转换器的制作方法
技术领域
本发明涉及一种基于FPGA的视频格式转换器,更具体地说,涉及一种用于实现对隔行视频信号进行帧频提升、隔行-逐行变换和分辨率放大的转换器。属于电子信息领域。

背景技术
近年来数字视频显示技术迅猛发展,逐行扫描、大屏、高清显示逐渐推广。而传统隔行扫描视频在日常生活、工作当中仍然有广泛的应用。因此,将隔行扫描视频信号转换为新型显示装置支持的视频格式,有很大的市场空间。很多隔行-逐行转换方法和装置应运而生。
经相关检索调研,传统隔行-逐行转换都是用专用芯片实现,而这就不可避免的存在扩展性差、升级困难、开发周期长、成本高的缺点。另一方面,20世纪90年代出现的现场可编程器件(FPGA),其设计方便灵活,开发周期短,可根据需要定制IP核,易于升级、扩展,随着性能的不断提升,基于FPGA设计嵌入式系统已成为可能,可编程片上系统(SOPC)概念随之提出,与此同时,FPGA的功耗、价格逐年下降,已逐渐抢占了传统的微处理单元(MCU)和标准数字逻辑电路(ASSP)的市场份额。


发明内容
本发明的目的在于针对已有技术存在的缺陷,提供一种基于FPGA的视频格式转换器。以FPGA为核心处理芯片,将视频处理技术与FPGA技术相结合,既可实现视频格式的实时转换,又可以定制不同的IP核,满足更多更具体的功能需求,提高了性价比。同时随着FPGA性能的不断提高,还可以实现更复杂的处理过程,使转换器功能更加完善。
为实现上述目的,本发明采用下述技术方案 一种基于FPGA的视频格式转换器由有源晶体振荡器、电源变换模块、FPGA、编程接口和本地控制接口、FLASH、片外SDRAM组(3片)、视频输入模块和视频输出模块组成,其相互连接关系为电源变换模块分别与有源晶体振荡器、FPGA、FLASH、片外SDRAM组、编程接口、视频输入模块、视频输出模块相连接,FPGA与FLASH相连,通过SDRAM总线分别与片外SDRAM组中三片SDRAM相连,视频输入模块与FPGA相连,视频输出模块与FPGA相连,有源晶体振荡器与FPGA相连,编程接口和本地控制接口与FPGA相连。
上述FPGA包括同步信号控制器、读写状态控制器、i2c控制器、SDRAM控制器、RAM控制器、片内RAM组、YUV/RGB转换器。其内部相互连接关系为所述读写状态控制器通过内部控制总线分别与同步信号控制器、SDRAM控制器、RAM控制器、YUV/RGB转换器、i2c控制器相连;所述RAM控制器通过内部控制总线与读写状态控制器相连,通过内部数据总线分别与SDRAM控制器和YUV/RGB转换器相连,通过内部数据总线、地址总线及控制总线与片内RAM组相连。
上述FPGA内部各模块对外连接关系为所述同步信号控制器外接视频输入模块和有源晶体振荡器;所述SDRAM控制器外接视频输入模块,同时通过SDRAM总线分别外接片外SDRAM组中三片SDRAM;所述i2c控制器通过i2c总线外接视频输入模块和视频输出模块;所述YUV/RGB转换器通过系统数据总线外接视频输出模块。
上述RAM控制器包括多路选择控制器a、多路选择控制器b、多路选择控制器c、场内插值器、场间插值和运动检测器、纵向放大插值器。
上述片内RAM组包括RAM1、RAM2、RAM3、RAM4、RAM5,其中RAM1、RAM2、RAM3、RAM4为输入输出分离控制,容量为16X720Bits的片内RAM,RAM5为输入输出分离控制,容量为17X720Bits的片内RAM。
上述RAM控制器,其内部相互连接关系为所述场内插值器通过8位数据总线Yin’和8位数据总线Cin’接收来自多路选择控制器a的数据,通过8位数据总线Ys和8位数据总线Cs将数据传输至多路选择控制器b的数据输入口,通过8位数据总线Yin接收来自多路选择控制器c的数据;所述纵向放大插值器通过8位数据总线Yin’和8位数据总线Cin’接收来自多路选择控制器a的数据,通过8位数据总线Yso和8位数据总线Cso接收来自多路选择控制器b的数据;所述多路选择控制器c通过8位数据总线Cin、8位数据总线Yin将数据传输至多路选择控制器a的数据输入口,通过8位数据总线Yin将数据传输至场内插值器的数据输入口。
上述RAM控制器,其内部各模块对外连接关系为所述多路选择控制器a通过内部控制总线与读写状态控制器相连,通过内部RAM数据、地址、控制总线分别与RAM1和RAM2相连;所述多路选择控制器b通过内部控制总线与读写状态控制器相连,通过内部RAM数据、地址、控制总线分别与RAM3和RAM4相连,通过8位数据总线Yo、8位数据总线Co、1位数据总线Flag接收来自RAM5读数据口的数据,通过读地址总线、读控制总线与RAM5相连接;所述多路选择控制器c通过内部控制总线与读写状态控制器相连,通过8位数据总线YinH、CinH、YinL、CinL接收来自SDRAM控制器的数据;所述场间插值和运动检测器通过8位数据总线YinH、CinH、YinL、CinL接收来自SDRAM控制器的数据,通过8位数据总线Yo、8位数据总线Co、1位数据总线Flag将数据送至RAM5的写数据入口,通过写地址总线、写控制总线与RAM5相连接;所述纵向放大插值器通过内部控制总线与读写状态控制器相连,通过16位数据总线与YUV/RGB转换器相连。
上述场内插值器包括8位输入Yin、8位输入Yin’、8位输入Cin’和8位输出Ys、8位输出Cs。Yin与Yin’输入至一9位加法器,其输出经过左移1后低8位输出至Ys;Cin’直接输出至Cs。
上述场间插值和运动检测器包括8位输入YinH、8位输入CinH、8位输入YinL、8位输入CinL和8位输出Yo、8位输出Co、1位输出Flag。CinH与CinL输入至一9位加法器,其输出经过左移1位后低8位输出至Co;YinH与YinL输入至一9位加法器,其输出经过左移1位后低8位输出至Yo;YinH与YinL输入至一9位有符号减法器,其输出经过取绝对值再与判决门限比较后结果输出至Flag。
上述纵向放大插值器包括读写状态控制器输入Sync、8位输入Yin’、8位输入Cin’、8位输入Yso、8位输入Cso和8位输出Yout、8位输出Cout以及1个多路选择器M;Yin’与Yso输入至一9位加法器,其输出经过左移1位后低8位输出至多路选择器M的数据输入端;Yin’与Yin’右移1位的结果输入至一10位加法器,再与Yso一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Yso与Yso右移1位的结果输入至一10位加法器,再与Yin’一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Yin’直接输出至多路选择器M的数据输入端;Yso直接输出至多路选择器M的数据输入端;Cin’与Cso输入至一9位加法器,其输出经过左移1位后低8位输出至多路选择器M的数据输入端;Cin’与Cin’右移1位的结果输入至一10位加法器,再与Cso一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Cso与Cso右移1位的结果输入至一10位加法器,再与Cin’一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Cin’直接输出至多路选择器M的数据输入端;Cso直接输出至多路选择器M的数据输入端;多路选择器M的控制端接收读写状态控制器的输入Sync,输出连接到Yout和Cout。
上述FPGA采用大规模FPGA芯片EP1C12F324C8为核心处理芯片。
上述FLASH采用EPCS4芯片。
上述视频输入模块采用SAA7114视频解码芯片。
上述视频输出模块采用ADV7197视频数模转换芯片。
上述片外SDRAM组(3片)采用3片容量均为64MBits,位宽均为32位的SDRAM储存芯片。
上述有源晶体振荡器其振荡频率为50MHz。
本发明与现有相关技术相比较,具有如下优点 1.以较低成本实现了包括帧频提升、隔行-逐行转换和分辨率放大的视频格式的实时转换,具有较高的性价比。2.可以根据具体的功能需求定制不同的IP核,设计成果可灵活复用。3.FPGA的可编程性使系统具备了相当大的可扩展性。4.以硬件描述语言形式保存的设计可移植于不同FPGA芯片,随着FPGA性能的不断提高,系统还可以实现更复杂的处理过程,从而使转换器功能更加完善。



图1系统结构示意图。
图2FPGA内部结构框图。
图3RAM控制器内部结构示意图。
图4场内插值器内部结构示意图。
图5场间插值和运动检测器内部结构示意图。
图6纵向放大插值器内部结构示意图。

具体实施例方式 下面结合附图对本发明的一个优选实施例作详细描述。
本基于FPGA的视频格式转换器的系统结构如图1所示,主要包括FPGA核心处理芯片,视频输入模块,视频输出模块和三片SDRAM构成的片外SDRAM组。在本实施例中FPGA采用EP1C12F324C8芯片,视频输入模块采用SAA7114H视频解码芯片,视频输出模块采用ADV7197视频数模转换芯片,三片SDRAM均采用64MBits32位的SDRAM存储芯片。视频输入模块将视频输入接口输入的PAL制,50Hz,720X288,隔行扫描的模拟视频信号进行同步信号分离,亮度色度信号分离,并将模拟信号转换为16位YUV4:2:2,50Hz,720X288,隔行扫描的数字信号,与分离出的场同步信号、行同步信号、27MHz点频率信号、奇偶场标志信号一齐送至FPGA;FPGA作为核心处理芯片,通过i2c总线初始化并调整视频输入模块和视频输出模块的具体参数,接收来自视频输入模块的16位YUV4:2:2信号和同步信号,以片外SDRAM组作为场缓存,并以片内RAM组作为行缓存,对输入的隔行扫描数字视频信号进行帧频提升、隔行-逐行变换、分辨率放大三种处理,并转换为24位RGB4:4:4格式,然后与FPGA内部产生的供显示用的行同步、场同步信号一同送至视频输出模块;视频输出模块接收经格式转换后的RGB4:4:4数字视频,进行数模变换后送至视频输出接口供VGA显示器以75Hz,1024*768,逐行扫描格式显示。
片外SDRAM组作为场(帧)缓存,其读写交替操作的合理安排在帧频提升、隔行-逐行变换和分辨率放大中都起着至关重要的作用。FPGA接收来自视频输入模块的16位YUV4:2:2,50Hz的数字视频信号,按视频输入模块所提供的50Hz行场同步和27MHz点时钟将其轮流写入三片片外SDRAM,同时以同步信号控制器产生的75Hz显示同步和晶振的50MHz点时钟将所存视频信号轮流读出,以供进一步处理,写入场同步为50Hz,读出场同步为75Hz,成2∶3比例,因此采用第一场读两遍,第二场读一遍,依此循环的读出方法,达到2∶3帧频提升的效果,隔行-逐行转换过程中采用运动检测自适应选择场内还是场间插值的方式,对当前场插值需要前一场和后一场的数据,因此每片SDRAM存连续四场视频数据,三片轮流,当前片的SDRAM所存第四场与下一片的SDRAM所存第一场相同,依此循环,对于每片SDRAM,先到达的奇场数据存在奇行的低16位,先到达的偶场数据存在偶行的低16位,后到达的奇场数据存在奇行的高16位,后到达的偶场数据存在偶行的高16位,而在运算时将32位数据同时读出,可为场间插值运算提供很大的方便。
参见图2,FPGA核心处理芯片内部由同步信号控制器、读写状态控制器、i2c控制器、SDRAM控制器、RAM控制器、片内RAM组、YUV/RGB转换器组成。同步信号控制器接收视频输入模块的行、场同步信号、27MHz点时钟和奇偶场标志信号,以及来自外部晶振的50MHz内部处理基准时钟信号,进行处理后提供给读写状态控制器;读写状态控制器根据转换算法的具体要求生成各模块所需读写控制时钟信号,总体控制FPGA内各模块的读写运行时序;i2c控制器通过i2c总线向视频输入模块和视频输出模块传送控制指令,使其参数符合系统要求;SDRAM控制器接收来自视频输入模块的50Hz隔行数字视频数据,同时接收读写状态控制器的读写状态控制指令,根据读写状态分别对三片片外SDRAM进行读写操作,实现视频数据50Hz到75Hz的帧频提升,并为隔行-逐行转换和分辨率放大提供32位待插值数据;RAM控制器接收SDRAM控制器传来的32位待插值数据并对其进行插值运算,实现隔行-逐行转换和分辨率放大,将16位已插值数据送至YUV/RGB转换器;片内RAM组作为隔行-逐行转换和分辨率放大中的行缓存,接受RAM控制器的全权控制;YUV/RGB转换器将16位已插值数据转换为24位RGB4:4:4格式送至视频输出模块作进一步处理。
FPGA内的RAM控制器和片内RAM组如图3所示,RAM控制器包括多路选择控制器a、多路选择控制器b、多路选择控制器c、场内插值器、场间插值和运动检测器和纵向放大插值器,片内RAM组包括RAM1、RAM2、RAM3、RAM4、RAM5,其中RAM1、RAM2、RAM3、RAM4的为输入输出分离控制,容量为16X720Bits的片内RAM,RAM5为输入输出分离控制,容量为17X720Bits的片内RAM。插值运算过程主要分为隔行-逐行变换和分辨率放大变换两部分。隔行-逐行变换采用场内插值和场间插值两路同时进行,再根据场间运动检测的结果决定采用哪一种插值结果。分辨率放大由于横向放大只需改变读取数据的点时钟即可简单实现,所以只对纵向放大进行插值,每场288行数据经隔行-逐行变换后插值为576行,而输出需768行,576∶768化简为3∶4,只需按照比例对576行的数据里相邻行进行权值相加的方法插值即可得出768行。RAM控制器内各模块的具体说明多路选择控制器a控制RAM1和RAM2进行读写轮换(即RAM1在读时RAM2在写,RAM2在读时RAM1在写,以避免读写操作在同一片RAM的同一个地址同时发生而产生的冲突);多路选择控制器b控制RAM3和RAM4进行读写轮换;多路选择控制器c根据读写时钟的当前处理的场顺序决定将高16位YinH和CinH还是低16位YinL和CinL送出;在场内插值器内,当前处理场的亮度数据Yin与经过一行延时以后的亮度数据Yin’进行场内插值运算,色度则直接采用延时后的色度数据Cin’,插值后,亮度Ys色度Cs送至多路选择控制器b的数据输入端待选通;另一方面,场间插值和运动检测器对输入的32位数据(包括两场中位置相同的两点数据)进行场间插值和运动检测,所得16位数据Yo、Co和运动检测结果Flag在RAM5中作缓冲后,Yo’、Co’送至多路选择控制器b的数据输入端待选通,Flag’送至多路选择控制器b的控制输决定选通结果;隔行-逐行插值后的数据Yso、Cso与插值前的原始数据Yin’、Cin’一同送往纵向放大插值器,根据当前插值行的行序数选择不同插值权重,插值结果送至YUV/RGB转换器。
场内插值器的结构如图4所示,将输入的前后两行的亮度求平均(相加除2),色度直通。场间插值和运动检测器如图5所示,亮度和色度的输出均为两场位置相同点的对应数据求平均,运动检测则是取上述两点的亮度差值的绝对值与判决门限作比较,差值大于门限则判为运动,将1赋给判决结果Flag,反之将0赋给判决结果Flag。纵向放大插值器的结构如图6所示,对输入的两点的亮度和色度作相同处理。输入值为Yin’,Yso,Cin’,Cso输出值为Yout,Cout。则分别有 Yout=Yin’/2+Yso/2,Cout=Cin’/2+Cso/2; Yout=Yin’*3/4+Yso*1/4,Cout=Cin’*3/4+Cso*1/4; Yout=Yin’*1/4+Yso*3/4,Cout=Cin’*1/4+Cso*3/4; Yout=Yin’,Cout=Cin’; Yout=Yso,Cout=Cso 五种权值平均方式,具体采用哪种方式则根据当前插值行的行序选择。
权利要求
1.一种基于FPGA的视频格式转换器,其特征是由有源晶体振荡器、电源变换模块、FPGA、编程接口和本地控制接口、FLASH、片外SDRAM组(3片)、视频输入模块和视频输出模块组成,其相互连接关系为电源变换模块分别与有源晶体振荡器、FPGA、FLASH、片外SDRAM组、编程接口、视频输入模块、视频输出模块相连接,FPGA与FLASH相连,通过SDRAM总线分别与片外SDRAM组中三片SDRAM相连,视频输入模块与FPGA相连,视频输出模块与FPGA相连,有源晶体振荡器与FPGA相连,编程接口和本地控制接口与FPGA相连。
2.根据权利要求1所述的基于FPGA的视频格式转换器,其特征在于所述的FPGA包括同步信号控制器、读写状态控制器、i2c控制器、SDRAM控制器、RAM控制器、片内RAM组、YUV/RGB转换器。其内部相互连接关系为所述读写状态控制器通过内部控制总线分别与同步信号控制器、SDRAM控制器、RAM控制器、YUV/RGB转换器、i2c控制器相连;所述RAM控制器通过内部控制总线与读写状态控制器相连,通过内部数据总线分别与SDRAM控制器和YUV/RGB转换器相连,通过内部数据总线、地址总线及控制总线与片内RAM组相连。
3.根据权利要求1和2所述的基于FPGA的视频格式转换器,其特征在于所述的FPGA内部各模块对外连接关系为所述同步信号控制器外接视频输入模块和有源晶体振荡器;所述SDRAM控制器外接视频输入模块,同时通过SDRAM总线分别外接片外SDRAM组中三片SDRAM;所述i2c控制器通过i2c总线外接视频输入模块和视频输出模块;所述YUV/RGB转换器通过系统数据总线外接视频输出模块。
4.根据权利要求2所述的一种基于FPGA的视频格式转换器,其特征在于所述的RAM控制器包括多路选择控制器a、多路选择控制器b、多路选择控制器c、场内插值器、场间插值和运动检测器、纵向放大插值器。
5.根据权利要求2所述的基于FPGA的视频格式转换器,其特征在于所述的片内RAM组包括RAM1、RAM2、RAM3、RAM4、RAM5,其中RAM1、RAM2、RAM3、RAM4的特征为输入输出分离控制,容量为16X720Bits的片内RAM,RAM5的特征为输入输出分离控制,容量为17X720Bits的片内RAM。
6.根据权利要求2或4所述的基于FPGA的视频格式转换器,其特征在于所述的RAM控制器的内部相互连接关系为所述场内插值器通过8位数据总线Yin’和8位数据总线Cin’接收来自多路选择控制器a的数据,通过8位数据总线Ys和8位数据总线Cs将数据传输至多路选择控制器b的数据输入口,通过8位数据总线Yin接收来自多路选择控制器c的数据;所述纵向放大插值器通过8位数据总线Yin’和8位数据总线Cin’接收来自多路选择控制器a的数据,通过8位数据总线Yso和8位数据总线Cso接收来自多路选择控制器b的数据;所述多路选择控制器c通过8位数据总线Cin、8位数据总线Yin将数据传输至多路选择控制器a的数据输入口,通过8位数据总线Yin将数据传输至场内插值器的数据输入口。
7.根据权利要求2或4或5所述的基于FPGA的视频格式转换器,其特征在于所述的RAM控制器的内部各模块对外连接关系为所述多路选择控制器a通过内部控制总线与读写状态控制器相连,通过内部RAM数据、地址、控制总线分别与RAM1和RAM2相连;所述多路选择控制器b通过内部控制总线与读写状态控制器相连,通过内部RAM数据、地址、控制总线分别与RAM3和RAM4相连,通过8位数据总线Yo、8位数据总线Co、1位数据总线Flag接收来自RAM5读数据口的数据,通过读地址总线、读控制总线与RAM5相连接;所述多路选择控制器c通过内部控制总线与读写状态控制器相连,通过8位数据总线YinH、CinH、YinL、CinL接收来自SDRAM控制器的数据;所述场间插值和运动检测器通过8位数据总线YinH、CinH、YinL、CinL接收来自SDRAM控制器的数据,通过8位数据总线Yo、8位数据总线Co、1位数据总线Flag将数据送至RAM5的写数据入口,通过写地址总线、写控制总线与RAM5相连接;所述纵向放大插值器通过内部控制总线与读写状态控制器相连,通过16位数据总线与YUV/RGB转换器相连。
8.根据权利要求7所述的基于FPGA的视频格式转换器,其特征在于所述的场内插值器包括8位输入Yin、8位输入Yin’、8位输入Cin’和8位输出Ys、8位输出Cs;Yin与Yin’输入至一9位加法器,其输出经过左移1后低8位输出至Ys;Cin’直接输出至Cs。
9.根据权利要求7所述的基于FPGA的视频格式转换器,其特征在于所述的场间插值和运动检测器包括8位输入YinH、8位输入CinH、8位输入YinL、8位输入CinL和8位输出Yo、8位输出Co、1位输出Flag;CinH与CinL输入至一9位加法器,其输出经过左移1位后低8位输出至Co;YinH与YinL输入至一9位加法器,其输出经过左移1位后低8位输出至Yo;YinH与YinL输入至一9位有符号减法器,其输出经过取绝对值再与判决门限比较后结果输出至Flag。
10.根据权利要求7所述的基于FPGA的视频格式转换器,其特征在于所述的纵向放大插值器包括读写状态控制器输入Sync、8位输入Yin’、8位输入Cin’、8位输入Yso、8位输入Cso和8位输出Yout、8位输出Cout以及1个多路选择器M;Yin’与Yso输入至一9位加法器,其输出经过左移1位后低8位输出至多路选择器M的数据输入端;Yin’与Yin’右移1位的结果输入至一10位加法器,再与Yso一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Yso与Yso右移1位的结果输入至一10位加法器,再与Yin’一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Yin’直接输出至多路选择器M的数据输入端;Yso直接输出至多路选择器M的数据输入端;Cin’与Cso输入至一9位加法器,其输出经过左移1位后低8位输出至多路选择器M的数据输入端;Cin’与Cin’右移1位的结果输入至一10位加法器,再与Cso一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Cso与Cso右移1位的结果输入至一10位加法器,再与Cin’一同输入一11位加法器,其输出经过左移2位后低8位输出至多路选择器M的数据输入端;Cin’直接输出至多路选择器M的数据输入端;Cso直接输出至多路选择器M的数据输入端;多路选择器M的控制端接收读写状态控制器的输入Sync,输出连接到Yout和Cout。
全文摘要
本发明涉及一种基于FPGA的视频格式转换器。以FPGA为核心处理芯片,辅以A/D解码芯片、D/A芯片和片外SDRAM,实现PAL制模拟视频输入(50Hz,720*288,隔行扫描)向可供VGA显示器显示的输出信号(75Hz,1024*768,逐行扫描)的格式转换。该转换器将帧频提升、隔行—逐行变换和分辨率放大功能集成于一片FPGA内,既实现了视频格式的实时转换,同时由于FPGA可编程,可以根据具体需求定制IP核,并可方便的进行系统升级和扩展,用最小的投入实现更多的功能。与现有格式转换器相比具有很大的灵活性和很高的性价比。
文档编号H04N5/14GK101098442SQ200710043779
公开日2008年1月2日 申请日期2007年7月13日 优先权日2007年7月13日
发明者郭众磊, 范天翔, 吴颐玲, 陆亨立, 王卓磊 申请人:上海大学, 上海上大视听工程研究中心有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1