电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章FPGA自适应算术编码的FPGA实现

自适应算术编码的FPGA实现

11-20 16:15:11 | http://www.5idzw.com | FPGA | 人气:956
标签:fpga是什么,fpga教程,fpga培训,http://www.5idzw.com 自适应算术编码的FPGA实现,http://www.5idzw.com

例如:在一个符号编码计算后得到的high=11010010和low=11001101,而前一个符号编码产生的下溢为1个,比较后输出为1010,同时记录下产生的下溢2个,如表5所示。

表5 含有下溢的编码输出

c high low 下溢 输出
编码输出前 11010010 11001101 1 1010
编码输出后 11011111 00100000 2

3.5 串行输出

并行编码后产生的码流存储在并行数据中,但在大多的情况下只有两、三个输出,甚至没有输出,若采用并行输出,就会产生极大的浪费。为了充分利用资源,在并行编码之后进行并/串转换,使其一位一位地输出,并且这个输出过程与下一个符号编码的过程并行完成,因此并不占用多余的时钟周期。

在编码过程中,当一个符号编码结束后,触发reload信号,通知此次编码结束,进行下一次编码,读取输入的符号。同时需判断输入是否合法,如果是合法的输入,就进行编码;否则停止编码,否则停止编码,处于等待状态,直到复位信号ret置1,重新初始化、编码。

图3

4 仿真结果

本文算法采用VHDL硬件描述语言实现,并在ALTERA公司的MAX+plusⅡ软件上编译仿真。市府采用全局同步时钟,避免了毛剌的产生,保证了信号的稳定性。编码的仿真结果如图书3所示。

其中,rst、clk、c为输入信号,rst为模块中各寄存器的初始化信号,clk为时钟同步信号,而c则为输入的编码信号;out_flag、out_bit、reload、end_code、为输出信号,out_flag和out_bit分别为输出标志位和输出位(若out_falg=1,则此时out_bit为有效输出;否则out_bit输出无效),reload为一个符号编码结束)下一个符号输入的标志位,end_code为编码结束的标志(若end_code=0,则继续编码,否则编码结束)。

在进行性能仿真时[4],采用的器件是FLEX1K系列的EP1K30TC144-1器件,其最大工作频率为40MHz,消耗1533个LC,平均编码时间为20个时钟周期。一个符号的编码时间不到500ns,对于QCIF格式的图像完全可以满足每秒钟实时编码30帧图像的要求。

自适应算术编码是一种效率很高的无失真编码,本文通过VHDL语言实现了自适应的算术编码,在编码过程中,根据硬件结构的特点,充分利用其并行特性。通过并行执行,实现了速度的优化。由于满足每秒钟编码30帧图像的要求,因此可以应用于视频图像的实时编码中。

上一页  [1] [2] [3] 

,自适应算术编码的FPGA实现
关于《自适应算术编码的FPGA实现》的更多文章