当前位置:首页 > 电源 > 数字电源
[导读]google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad); 1引言 JPEG2000的两大核心模块(见图1),小波变换和EBCOT[2](基于优化截断点的嵌入式块编码)其运算开销很大,

    1引言

 JPEG2000的两大核心模块(见图1),小波变换和EBCOT[2](基于优化截断点的嵌入式块编码)其运算开销很大,占据了整个编码器处理时间的一半以上。因此,有必要研究合理的实现方式,一般来说采取软件实现方式相对比较简单,比如JPEG2000的参考代码jasper[3],但实时处理的能力较差,即使采用嵌入式系统的方案,如使用DSP或ARM等通用处理器,基本上也是通过软件的方式来实现,速度提升不大,必须针对块编码本身的特点设计高效的硬件结构单元。只有这样,才能使JPEG2000在实时处理的应用中发挥其作用。
 

  2.存储优化的实现方案

  JPEG2000的嵌入式块编码是基于位平面的编码,其对象是小波变换后频域系数组成的相对较小的码块,大小一般是32×32或64×64。码块中的系数包含符号信息和许多个不同权值的幅度信息。位平面编码的思想就是将最重要的信息先进行编码,也就是权值较大的幅度信息先编码,这样配合后续的码流组织(见图1)即可使最终的码流获得渐进传输的特性。

  根据标准[1],编码过程中除了用到符号和幅度信息外,还需要每个比特位的显著信息,细化信息和访问信息。因此,对于一个32×32的码块,编码一个位平面时,总共需要存储5×1024位的信息。另外,由于编码是以一列中的4位为单位,所以通常将每块编码信息存储为256×4的形式(见表1)。

  但是事实上这种存储结构是低效的,因为根据标准[1],编码一个比特位包括两个步骤,即判断通道归属和编码原操作。在这两个步骤中,需要访问的信息包括当前位的显著、符号、幅度、细化和访问信息,以及当前位的周围8个比特位的显著和符号信息。对于基于列的编码方式,如果按照上面的方案存储信息,即将符号和显著信息以字长为4存储,则实际上每次编码一列,需要读入前一编码带(通常将每4行称为一个编码带)、当前编码带和后一编码带的共12位显著和符号信息,但是事实上只有其中的6位是有用的,其余6位是冗余信息。由于编码是基于比特位的操作,因此会频繁地访问存储区域,每次编码一列必须读出相应的各信息位,编码完成一列数据还要将相应的编码信息再次写回存储区域,以达到更新编码信息的目的。可见,采取上述4位字长的方案是非常低效的。

  所以,本文设计了一种相对合理的存储方案,即在码块的最上面一行和最下面一行各添加一行全0数据(这是对显著和符号平面而言),构成34×32的块,然后以两行为一组,并按交错存储的方式,即A,B,C,B,A,。。。,C,B,A,将信息分配至三块存储区域MEMA,MEMB和MEMC(见表2)。

  另外,从显著和符号信息缓存写数据至相应的寄存器(6×3bit)时,也要根据相应的编码带进行切换,对于奇数编码带(假设第一个编码带记为零),顺序为ABC,对于偶数的编码带,顺序为CBA(见表3)。而且,从表三可以看出,用于访问MEMA、MEMB、MEMC的地址信号的变化也不尽相同,其中访问MEMB的地址顺序增长,而MEMA的地址在从奇编码带过渡到偶编码带的过程中保持不变,从偶编码带过渡到奇编码带的过程中增长,对于MEMC的情况正好和MEMA相反。

  因此,必须设计相应的控制电路和地址产生电路来配合这个存储方案。

  3.硬件架构

  根据上面的分析,提出相应的位平面编码器的硬件架构,如图2所示,本架构针对32×32的码块。

  图2。基于内存优化方案的位平面编码器的硬件架构

  图2中的位平面编码器主要包括几个部分,即内部缓存,寄存器组,地址产生模块,判断通道归属模块,编码原操作模块,状态机模块,计数器模块。

  地址产生模块包括两个,地址产生模块1负责产生读取外部DWT系数缓存的地址信号;地址产生模块2负责产生读取内部5块缓存区域的相应地址。

  判断通道归属模块,根据当前寄存器组中相应的编码信息,判断比特位是否属于当前的编码通道,如果属于当前的编码通道,则进行相应的编码原操作,否则跳过该比特位,继续编码下一个比特位。

  编码原操作模块包括4部分,即零值编码、符号编码、细化编码和游程编码。一般的实现方式采用查找表来实现编码原操作,而本设计中均采用组合电路的形式来实现,这样可以提高产生CX(编码模式)和D(编码比特位)的速度。

  状态机模块决定了整个编码器的编码流程,编码主要分为两个阶段,即预处理阶段和模式产生阶段。预处理阶段主要用于完成5块缓存区域内容的初始化,模式产生阶段则按照显著、细化和清除通道的顺序依次进行编码,输出编码模式给后续的算术编码模块。状态机模块还接收来自计数器的输出,决定当前处于什么状态,在每个位平面编码完成后必须转到预处理阶段,更新下一位位平面的幅度信息,并清零访问缓存的内容。[!--empirenews.page--]

  4.Verilog设计

  本文建议的硬件架构采用VERILOG[4]语言描述,主模块是bpc.v,包括ram_block.v,addr_generator.v,fill_ram.v,pass_judge.v,coding_primitive.v和state_machine.v共6 个子模块。编码流程的实现通过主状态机产生相应的使能信号,激活当前的模块操作,当操作完成后,由该模块产生操作中止信号给主状态机,从而使编码流程进入下一步骤。下面列出了部分用于模块间握手的代码,代码中以省略号代表其它一些控制信号和其它一些状态。

  case (cstate)

  。。。

  gene_layer:begin

  。。。gene_layer_en = 1;fill_ram_en = 0;pass_judge_en = 0; 。。。

  if (gene_layer_fin) nstate = fill_ram;else nstate = gene_layer;end

  fill_ram:begin

  。。。gene_layer_en = 0;fill_ram_en = 1;pass_judge_en = 0; 。。。

  if (fill_ram_fin) nstate = pass_judge;else nstate = fill_ram;end

  。。。

  endcase

  5.实验结果

  本设计采用modelsim工具进行了功能仿真,使用quartus[6]工具进行了逻辑综合,得到的综合结果如表3所示。

  下面是使用jasper软件和本硬件实现对几幅标准图像(大小512×512的灰度图像)编码的时间比较。

  6.结论

  本文通过对JPEG2000中的位平面编码器的存储方案进行了分析,设计了一个高效的存储结构以及相应的控制电路,设计采用verilog[4]语言描述,通过quartus[6]软件逻辑综合后,能够在0.1s内完成一幅512×512灰度图像的编码,编码时间仅为jasper[3]软件实现方案的30%左右。由于块编码器的特点,每个码块的编码本身是独立的,可以并行进行,而且根据综合结果,使用EP1C12Q240C8完全可以在一块芯片内集成多个位平面编码器的IP核,每个块编码器核可以并行执行,因此,可以进一步提高编码器的速度,从而使实时处理图像成为可能。另外,还可以将设计定制为ASIC,将最终产品应用到数码相机、图像监控中,其市场前景是十分广阔的。

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

在数字信号处理和通信系统中,编码器扮演着至关重要的角色。它负责将原始数据转换为字符序列或二进制码序列,以实现信息的有效传输和处理。而在编码器的众多组成部分中,BAT(电池)信号不仅提供了编码器运行的必要电源,还承载着多种...

关键字: 数字信号 编码器 BAT

在这篇文章中,小编将对74LS148编码器的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: 74LS148 编码器

一直以来,编码器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来编码器的相关介绍,详细内容请看下文。

关键字: 编码器 工业控制 机器人

编码器,作为一种广泛应用在信息处理、数据通信和自动化控制等领域的关键设备,其基本原理涉及信号转换与数据压缩的过程。编码器的主体功能是将物理量(如角度、位置、速度或线性位移)转换成对应的数字或电信号,以便于后续系统进行精确...

关键字: 编码器 自动化控制

IAR Embedded Workbench for Arm已全面支持小华半导体系列芯片,加速高端工控MCU和车用MCU应用的安全开发

关键字: MCU 编码器 电机驱动

一直以来,编码器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来编码器的相关介绍,详细内容请看下文。

关键字: 74ls148 编码器

今天,小编将在这篇文章中为大家带来编码器的有关报道,通过阅读这篇文章,大家可以对编码器具备清晰的认识,主要内容如下。

关键字: 74ls148 74hc148 编码器

伺服电机编码器是伺服系统的重要组成部分,它能够将伺服电机的位置、速度和方向等运动参数转换成可被处理的数字信号。编码器的工作原理基于光电转换原理或磁电转换原理,下面将分别介绍这两种工作原理。

关键字: 伺服电机 编码器 数字信号

伺服电机编码器是数控机床、工业机器人等自动化设备中非常重要的组成部分,其性能直接影响设备的运动控制精度和稳定性。然而,由于长时间的使用、维护不当或环境因素的影响,伺服电机编码器可能会出现各种故障,影响设备的正常运行。本文...

关键字: 伺服电机 编码器 自动化设备

伺服电机和步进电机在控制精度、低频特性、矩频特性、过载能力、编码器类型等方面存在显著差异。

关键字: 伺服电机 步进电机 编码器
关闭
关闭