您的位置 首页 数字

根据面积的完成和根据速度的完成-两种YUV别离的FPGA的完成方法

速度与面积的互换一直是基于FPGA设计中的一个不变的主题,在此介绍了两种YUV分离的FPGA的实现方式:基于面积的实现和基于速度的实现。前者仅用一片双口RAM串行,实现了YUV分离数据的输出;后者利用

0 导言

跟着视频收集、紧缩技能以及无线传输技能的飞速发展,根据FPGA的规划被广泛使用到各个范畴,尤其在嵌入式体系。传统的视频技能解决计划(如选用CPLD+CPU的结构进行的规划)现已不能满意人们关于集成度与实时性的要求,而FPGA恰逢当时的呈现,以其高度集成,并行处理和丰厚的片上资源,一起跟着FPGA本身功能的不断进步,各个FPGA厂商为视频处理供给了越来越多的高功能解决计划,使得FPGA在视频收集紧缩以及无线传输范畴的使用越来越广泛。

本文的研讨是根据FPGA的实时视频无线传输体系的一部分。在进入视频紧缩编码器之前,需求完结视频的收集,模/数转化,预处理,读/写SDRAM等操作,本文针对预处理过程中数字视频的别离存储进行了研讨.即YUV的别离存储,并选用了两种办法完结了YUV的别离存储;一种是根据面积考虑的只用一片双端口存储器的完结;别的一种是根据速度考虑的用两片双端口处理器的完结。

1 根据FPGA的实时视频无线传输体系

本文的体系主要由视频收集、视频紧缩、无线传输3大部分组成。体系结构如图1所示。在视频数据进入视频紧缩编码器之前,视频需求经过CCD视频收集、TVP5146视频解码、有用数据抽取、预处理、SDRAM存储等操作。这些操作均归于视频收集前端体系。其间,CCD完结模仿视频的收集,TVP5146完结对输入模仿视频到数字视频的转化,而这儿需求对TVP5146进行内部寄存器设置,设置经过I2C总线来完结。有用数据抽取模块完结对有用视频数据的抽取,1帧视频数据由625行分归于奇偶场的视频组成,而体系所需求的是1帧视频的576行有用数据中的特定像素,而这个作业便是由有用视频抽取模块完结;预处理模块则是完结数字视频的串/并转化,即8位到16位的转化以及YUV的别离,这也是本文所做的作业,下面将做具体介绍;然后将视频存储在SDRAM中,完结了为H.264编码器供给安稳的视频流供紧缩;3G模块将紧缩模块送出的视频流进行RTP封装,然后发送到远端接纳体系。

本文所做的研讨是根据YUV别离展开的,前面现已提过面积与速度是FPGA规划不变的主题。二者也是一对对立体,不可能一起统筹,在体系规划中只能经过速度和面积的交换来使二者有机的一致起来。其间,根据面积的规划是使用一片双端口RAM,使用FPGA与SDRAM之间的频率差异来完结的,选定的FPGA的作业频率为48 MHz,SDRAM的作业频率为100 MHz,这样就完结了再一行视频数据的有用期完结对双端口RAM的写,然后使用一行视频数据的行消隐期,完结对双口RAM的读出操作,从而完结了YUV别离输出;而另一种完结是根据速度的完结,使用两片双端口RAM进行乒乓操作,完结了数据的无缝缓存和处理。本文经过Verilog完结了两种办法规划。经过比照仿真成果,均到达了预期成果。

2 根据面积的完结

面积一般能够经过一个工程运转所耗费的触发器(FF)和查找表(LUT)数量现已等效门数量来衡量,即所耗费的资源来衡量。本文根据面积的规划,充沛考虑到用户对集成度和智能化的要求。关于集成度和智能化的进步,应该着眼于每一部分的优化,才干取得整个体系集成度和智能化的进步,因而,本文对YUV别离这个模块进行了研讨优化。

该模块根据面积的规划选用一片双口RAM进行模块结构图如图2所示。有用数据抽取模块与操控器和双口RAM的输入时钟应与FPGA作业时钟保持一致。有用数据抽取为双口RAM供给写使能,每行供给的有用视频数据为704个像素,比及该模块检测到有用视频数据的时分,对双口RAM宣布读使能,然后接下来使用704个CLK完结对双口RAM的写操作,比及写结束时向SDRAM宣布满信号,在SDRAM收到该信号后,发生读使能,以便对双口RAM构成的读操作。该模块的规划思维是根据FPGA与SDRAM频率差异进行规划的。一帧视频数据由625行视频组成,分奇、偶两场,每一帧都是由有用视频数据和场消隐数据组成的。其间23~310和336~623为有用视频数据,共576行。其他49行为场消隐数据,每一行相同分为行有用数据和行消隐数据。假如FPGA的作业频率与SDRAM的频率满意必定的差异(本文选用的FPGA频率为48 MHz,而SDRAM选用100 MHz的时钟频率),那么在一行视频数据的有用期完结对双口RAM的写入后,在该行视频数据的行消隐期内,能够经过输入100 MHz的时钟来完结对双口RAM的读操作。该模块完结对有用视频数据的写入需求1 408个CLK,而完结存储数据的读取需求704个CLK_R,所需时刻为1 408×10-8+704×(1/48000000)。因为读/写是串行履行的,故今后每一行有用视频的写入/读出均需求相同的时刻,一行数据读出结束的仿真如图3所示。



3 根据速度的完结

前面提到了FPGA规划中面积与速度不断改换的准则,根据面积的完结办法只用到了一片双口RAM,在必定程度上到达了面积优化的方针,可是也看到读/写是串行履行的,在体系运转速度上的确有必定的缺点,无法满意体系对实时性的要求,一起体系需求两个不同频率的时钟,简单引起亚稳态。下面将介绍一种根据速度的完结办法。

3.1 乒乓操作

乒乓操作是一个用于数据流操控的处理技巧,本文使用了两片双口RAM来作为乒乓操作的数据缓冲区,乒乓操作如图4所示。外部视频数据在输入数据挑选操控模块和输出数据挑选操控模块的操控下,完结缓冲区的挑选和视频数据的输入/输出,并将经过缓冲的数据流不停顿地送到下一模块进行运算或处理。它适合于对数据流进行流水线式处理,能高效地完结很多实时视频数据的无缝缓冲和处理。在榜首个缓存周期,也称之为双口RAM0的写周期。视频数据在双口RAM操控器操控下挑选将视频数据输入到双口RAM0;鄙人一个周期,输入操控模块将视频数据输入到双口RAM1,一起输出操控模块输出双口RAM0的视频数据到后续模块进行处理;在第三个周期时,在输入操控模块的操控下,将输入视频数据输入到双口RAM0,一起在输出操控模块操控下,将双口RAM1中存储数据输出到后续模块,如此不断循环。

3.2 模块规划与仿真

该模块使用了两片双口RAM在不同的缓冲周期内别离进行读/写。该模块主要由有用数据抽取、双口RAM操控器、两片双口RAM组成,模块结构如图5所示。该模块在操控器操控下视频数据经有用数据抽取模块抽取后进入双口RAM,操控器为双口RAM供给读/写使能,经过写使能操控数据写入是否有用,data_valid是有用数据抽取模块,用来标识有用视频数据的信号,由它为模块供给写使能,比及写操作完结后向SDR AM操控器发送满信号,此刻读使能r_en由SDRAM操控器供给。经过操控器供给的读/写使能完结两片双口RAM的读写切换。该模块使用了两片双口RAM之间的乒乓操作,流水地完结了YUV别离的并行处理。

作业流程如下:首要对双口RAM0进行写操作,写操作完结后经过316个CLK,开端对双口RAM1进行写操作。对双口RAM0进行读操作时,因为读操作只用到704个CLK,而写操作需求1 408个CLK,当对双口RAM0读完时,还需持续对双口RAM1进行写操作,比及双口RAM1输出ramfull高电平时进入下一个缓冲周期,此刻对双口RAM0进行写操作,对双口RAM1进行读操作,如此循环,则完结了视频处理的流水操作。完结榜首行数据的YUV别离输出所需求的1 408+316+704个CLK后,各行数据的输出则只需求1 408+316个CLK。于此一起根据速度的完结办法从进步体系作业时所能到达的最高时钟频率为起点,使用了流水线的规划,供给了体系的频率,假如体系的作业频率是100 MHz,那么实践输出YUV别离视频数据所需求的时刻仅为(1 408+316)×10-8。模块仿真如图6所示。

4 功能剖析

4.1 操作时刻

前面现已叙说过根据面积完结办法,完结一行视频数据的YUV别离输出需求1 408+704个CLK,而因为需求充沛使用行消隐期来完结数据的别离输出,因而FPGA与SDRAM之间的频率有必要满意必定的差异,这就使得该办法不能取得较高的体系最高作业频率。假定FPGA的作业频率为48 MHz,SDRAM的作业频率为100 MHz,那么实践完结一行视频数据的别离传输需求的时刻为1 408×10-8+704×(1/48 000 000),而根据速度的完结办法,因为选用了两片双口RAM,因而能够在同一缓冲周期别离进行读/写操作,而下一缓冲周期两片双口RAM的操作办法切换,从而完结了数据的无缝缓存与处理,使用流水线的办法使YUV别离数据的输出速度得到了很大的进步,而且使得该模块的体系最高作业频率得到了很大的进步。完结一行视频数据的别离输出需求的CLK个数为1 408+316+704个。假定该模块的作业频率为100 MHz,那么实践完结一行别离数据输出所需的时刻为(1 408+316+704)×10-8,经过比照能够发现,根据速度的完结使得体系能够在较高作业频率下运转,使用流水操作,从而完结了速度上的进步。

4.2 硬件资源

由上述可知,根据面积的完结办法只用到了一片双口RAM,而根据速度的完结办法用到了两片双口RAM,且用到了一个二选一多路挑选器,一起后者的操控信号显着多于前者,不只增加了寄存器开支,一起也增加了输入/输出端口的数量。经过比照能够发现,前者在面积上比后者的确有了较大优势。表1为2种完结办法的资源耗费列表。

5 结语

本文提出了YUV别离的两种FPGA完结办法,根据面积的完结使用了一片双口RAM,而根据速度的完结办法使用了两片双口RAM。经过比照发现,前者在耗费资源上取得了较大的改善,对整个体系的集成化有严重效果;而后者选用了两片双端口RAM的乒乓操作流水,完结了视频数据的输出,对进步整个体系的实时性含义严重。不管从面积仍是速度为起点,二种计划对整个体系功能的进步都含义严重。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/195126.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部