当前位置:首页 > 电源 > 数字电源
[导读]摘要:利用功能强大的FPGA实现视频图像的一种运动估计设计,采用的搜索方法是三步搜索法。在进行方案设计时,本文采用了技术比较成熟的VHDL语言进行设计,并使用Quartus II软件进行时序仿真。由仿真结果可知,无论是

摘要:利用功能强大的FPGA实现视频图像的一种运动估计设计,采用的搜索方法是三步搜索法。在进行方案设计时,本文采用了技术比较成熟的VHDL语言进行设计,并使用Quartus II软件进行时序仿真。由仿真结果可知,无论是在功能的实现上还是在搜索的准确性、高效性以及FPGA片上资源的利用率上,本设计方案都具有明显的优越性。

关键词:视频编码;FPGA;运动估计;三步搜索法;VHDL

人类获取的信息中70%来自于视觉。视频信息具有直观性、确切性和高效性等优点,其在多媒体信息中占有重要地位,成为了主导现代生活的主力军。然而,视频信息信息量太大,对信息存储设备及通信网络均提出了很高要求,严重阻碍了人们对有效信息的获取和使用。而解决这个问题的途径就是视频编码即视频压缩。

目前,视频编码的主控制芯片主要有3种:ASIC、FPGA和DSP。ASIC和PGA属于硬件设计,DSP属于软件设计。从功能上说,全定制ASIC(Applieation Speeifie IntegratedCircuit)的功耗低、设计密度大并且能够完成高速设计,但同时其开发周期很长,投片成本很高而且不容易对解决方案进行优化,应用范围很窄;DSp(Digital Signal Proeessing)可以提供强大的数字信号处理能力,其可编程特色可以支持各种标准格式的视频编解码算法,但其处理速度低、硬件结构不灵活;FPGA(Field Programmable Gato Airay)兼有了两者的一些优点如可编程、功耗低等,同时又具有设计周期短、开发成本低、处理速度快、设计灵活等特点。

1 运动估计原理

运动估计主要是针对帧间预测,去除视频帧在空间域和时间域的冗余度。块匹配方法是目前编码效率较高,普遍采用的一种编码方法。首先,其要将当前帧进行划分。长期实践表明,将当前帧划分为多个16x16的块是比较合理的。其次,要根据划分出的当前块的具体情况,以及所采用的搜索方法来决定搜索窗口的大小。最后,要在所确定的搜索窗口里面,依据某种块匹配准则找到当前块的匹配块以及由匹配块到

当前块的运动矢量。图1所示是块匹配法的原理框图,其中的箭头就是由参考帧到当前帧的运动矢量。

目前经常采用的块匹配准则主要有归一化互相关函数(NCCF),最小均方差(MSE)以及最小绝对值(MAD)。其中由于SAD准则在算法上并不需要做任何的乘法运算,可以减少很多的时间资源和硬件资源,从而使得SAD准则成为了现在通常使用的匹配准则。

其中A是参考帧中的搜索窗口区域,k-1和fk分别是当前帧和参考帧中的像素点值,(x0,y0)是块中的其中一个点。

搜索采用的是三步搜索法,它是按照由粗到细的搜索理念,以一个像素为搜索精度,分为4,2,1,3个搜索步长进行搜索。一般选取原点作为起始点,分别按照4,2,1,3个步长组成9个点构成的点群进行匹配运算,每次都是以误差最小的块为准匹配块,在第二和第三步搜索时分别以第一和第二步搜索到的准匹配块作为它们搜索的起始点。原理如图2所示。

2 硬件实现

运动估计的原理图如图3所示。

2.1 地址计数器模块

地址计数器主要是产生出可以在RRAM(参考块存储器)和CRAM(当前块存储器)中有目的地进行寻址的地址信号。如图4所示。

[!--empirenews.page--]

地址计数器模块的设计与当前块和参考块的存储有很大的关系。将数据存入当前块存储器和参考块存储器时的顺序是由左到右,由下到上,即当前块存储器是(-7,-7),(-6,-7),(-5,-7)……(8,-7),(-7,-6),(-6,-6)……(8,7),(8,8)。而参考块存储器是(-15,-15),(-15,-14),(-15,-13)……(-15,16),(-14,-15),(-14,-14)……(16,15),(16,16)。则可知在寻址当前块存储器时可以直接按照地址的由左到右,由下到上累加。其计算公式如式(2)所示:

C_addr=(j+7)×16+(i+8)      (2)

对于参考块存储器,它是一个32x32的数据块,设计的目的是从其中取出符合三步搜索法的9个数据块,当然这九个数据块都是16x16的,而且是以原点为中心组成的搜索点群。其计算公式如式(3)所示:

R_addr=(j+15)x32+(i+16)     (3)

Clk是时钟频率信号,当它发生上升沿跳变时会使得产生的地址跳变到下一个新值。

Clr是清零信号,当它是低电平时,地址计数器可以产生从零开始的连续地址。

由于,当前块存储器只是一个16x16的RAM,其总的存储空间是256,则可知使用八位地址就可以进行寻址整个空间,即CRAM_ADDR是八位输出信号。而参考块存储器是一个32x32的的RAM,其总的存储空间是1 024,则可知使用十位地址就可以进行寻址整个空间,即RRAM_ADDR是十位输出信号。

2.2 参考块分频器模块

参考块分频器模块主要是将从参考块存储器中输出的信号经过分频处理后,存储在9个独立的单元,以便后续的处理,如图5所示。

由参考块输出的信号是256x9个连续的像素值,而当前块输出的信号只是256个连续信号在连续时钟驱动下的九次重复,这样就很难在256x9个时钟周期内完成对9个匹配块的处理,更难在256个时钟周期内完成。因此要通过参考块分频器将参考块存储器连续输出的256x9个像素点值进行九次分频,存储在9个RAM单元之中。这样当下一个时钟周期的上升沿到来时,这9个RAM可以同时输出信号,并在接下来的255个时钟周期之后将里面存储的所有信号输出,而且输出的这些信号相互之间是完全独立的。同时,为了使后面的各模块能够很好的进行,参考块分频器模块还引入了当前块的像素值信号,使得存入9个RAM单元的信号不仅仅是参考块的像素点值,还有当前块的像素点值以便保证后面的减法器可以正常工作。

2.3 减法器模块

减法器模块主要是完成当前块像素点值和参考块像素点值之间的作差,并将做差结果进行取绝对值运算。本减法器是采用9个LPM(参数化模块库)元件库中的减法器合成的。而LPM中的减法器将被减数和减数明确地分开了。因此,在将当前块和参考块像素点值输入到减法器之前先对二者进行比较,再分别输入到减法器的被减数和减数端口。这样当减法器设置为无符号数运算时,输出结果就相当于取了绝对值的差

值。从时钟周期的角度发现,整个减法器在256x9个时钟周期内是都在运行的,但是所要采集的有用信号仅仅是9个独立的256个时钟周期,即每个减法器仅仅使用256个时钟周期的有用信号,其他时钟周期内的信号对于其他减法器是有用信号,但是对于本减法器却是干扰信号,必须要消除。这就是在参考块分频器里面引入当前块信息的原因。

2.4 累加比较器模块

累加比较器主要是完成对每个减法器输出的取过绝对值的差值信号的累加,并将累加结果进行比较输出最佳运动矢量。累加比较器的设计和减法器的设计有很大关系,除了在上述的取绝对值方面二者相互要求比较严格之外,在时序方面,二者也有很大关联。9个减法器在参考块分频器模块的作用下,工作于所有的时钟周期里面,而累加比较器则是以减法器输出的信号作为累加原材料的,这就使得累加比较器也必须从时钟的起始点就开始工作。确定运动矢量的标准是SAD最小值。也就是要通过比较9个累加结果,确定出最小值,并由地址计数器模块找到这个最小值所对应的运动矢量。

2.5 整体方案

整体方案主要是将三步搜索法中的三步分开进行。在外部输入信号的控制下,先输入第一步搜索的地址计算控制因子,使得寻址范围是在步长为4的9个数据块群里面,第一步搜索完成时将第一步搜索到的最佳运动矢量输入到第二步的搜索中,完成机制和第一步唯一的区别就是地址计算和产生的寻址范围不同,这样一直到完成第三步搜索时,将第三步搜索得到的最佳运动矢量作为当前块在这个搜索窗口里面的最佳运动矢量。

[!--empirenews.page--]

3 实验结果与分析

本设计采用Stratix II系列的EP2S15F484C3器件进行仿真,仿真结果如图6所示。

由仿真结果可知整个搜索过程完全符合时序要求,总的逻辑资源占用率是27%。组合查找表使用了2 169个,占总数量12 480的17%。专用逻辑寄存器使用了2 855个,占总数量12 480的23%。而用的总的寄存器数也就是2 855。使用了180个片上引脚,占总个数的52%。使用了86 088比特的块存储器单元,占总的快存储器数量的21%。搜索到的最佳运动矢量(0,-7),由前两步的搜索结果可知其完全正确。

4 结束语

本文中采用FPGA设计的运动估计方案无论在搜索速度,资源利用还是时序控制上都具有一定的优越性,可以大大提高视频编码器设计的性价比。另外,随着半导体工艺的不断进步,FPGA的性价比将不断提高,将使得运动估计乃至视频编码的技术不断提高。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭