Jpeg图像中范式霍夫曼的硬件解码装置的制作方法

文档序号:7907587阅读:242来源:国知局
专利名称:Jpeg图像中范式霍夫曼的硬件解码装置的制作方法
技术领域
本实用新型属于视频编解码领域,尤其涉及一种JPEG编解码中范式霍夫曼的硬 件解码装置。
背景技术
霍夫曼编码基于概率统计,非常接近理论极限的压缩比,霍夫曼编码属于变长编 码,压缩后的码字长度不确定,因此解码器首先要确定码字的长度,然后在进行处理,效率 一般比较低下。JPEG图像按块进行编码,块内数据类型按顺序可以分为5个类型
1 I 2 I 3 I 4 I 3 I 4 I...... |511为直流霍夫曼码字,在标准的JPEG霍夫曼码字中,如果是亮度块,则霍夫曼码字 的长度的最小值为2,最大值为9 ;如果是色度块,则霍夫曼码字的长度的最小值为2,最大 值为11。解码对应的RUN/SUE中的RUN —定为0,SIZE的最小值是0,最大值是11。2为该数据块的直流分量和上一个相同类型的块的直流分量的差值。该部分可能 有也可能没有,要根据1解码的SUE值进行确定。该值要和上个相同类型的块的直流分量 相加才可得到该块的实际的直流分量。3为交流霍夫曼码字,在标准的JPEG霍夫曼码字中,交流霍夫曼码字的最小值为 2,最大值为16。解码对应的RUN/SUE值RUN的值一般在OxO-OxF之间(闭区间),SIZE的 值在I-A之间(闭区间).不过有两个特殊的情况,就是0/0和F/0。当解码得到0/0时代 表块的结束,当解码得到F/0时代表16个连续的0。4为交流分量的有效值。除非3解码得到F/0或者0/0否则该部分一定存在。5块结束信号。该信号可能有,也可能没有。当扫描时最后一个数据不为0时不存 在EOB信号,否则该信号必存在。EOB信号代表块提前结束。JPEG图像采用范式霍夫曼编码,该编码有两个重要的特点1)属于变长编码,并且是一种前缀码。2)长度为m的码字的前η位一定大于长度为η的码字的数值(m > η)。随着科技的进步,人们对于视频的分辨率要求越来越高,在视频编解码中,霍夫曼 编解码器的效率往往是制约整体效率的一个关键因素。对于视频的处理分为适时(HDTV,光 端机等)和非实时(电影的后期制作)两类,对于非实时的视频处理,霍夫曼解码效率显得 不是那么重要,如果解码效率低的话可以等待一段时间或者换一个高速CPU,但是对于适时 的视频处理,霍夫曼编解码的效率就显得十分重要,如果效率低下的话很容易引起视频的 播放不流畅等视频质量问题。因此提高霍夫曼解码的效率对于超高分辨率视频的实时处理 时非常重要的。

实用新型内容为弥补现有技术的不足,本实用新型通过移位寄存器和辅助的控制逻辑,提供一种JPEG编解码中范式霍夫曼的硬件解码方法及装置。为实现上述目的,本实用新型采用如下技术方案JPEG图像中范式霍夫曼的硬件解码方法,该方法包括如下步骤Stepl 将移位寄存器复位,同时将按字节接收到的图像数据放入FIFO队列中;St印2 当FIFO队列中有数据时,启动读信号产生模块,读信号产生模块对FIFO队 列进行读操作,在读的过程中搜索范式霍夫曼码字同时进行鲁棒性处理;St印3 当搜索到范式霍夫曼码字后,启动地址生成模块,生成RUN/SUE ROM的地 址,通过读取RUN/SUE ROM得到RUN/SUE值;St印4 读取SUE个比特的有效数据,同时产生RUN个0写入RAM中;Mep5:在读取SUE个比特的同时,根据最高位将移位寄存器提前复位或者提前 置位;提前置位或提前复位后得到符号扩展后的有效数据,将符号扩展后的有效 数据写入RAM,并判断一个块是否结束,若是,则向后级产生块处理结束信号并且更新范式 霍夫曼码字类型;St印7 当判断是一个块的结束时,还要判断是否是一帧的结束;StepS 判断FIFO队列中是否还有数据未处理,若有,跳转至乂印2,否则等待,直 到FIFO队列中有新的数据,转入st印2继续执行。所述st印2中搜索范式霍夫曼码字的过程为将移位寄存器和HUFFLAST生成模块 输出的当前长度的码字的最大值进行比较。所述step2中鲁棒性处理的过程为在进行霍夫曼解码的过程中,如果发现读取 16个bit仍不能搜索到对应的霍夫曼编码,则说明传输错误,需要读空FIFO直至下一帧的 开始;在进行填充比特读取的过程中,如果读取的1的个数超过7个或者读出来的数不是 1,则也说明传输错误,需要读空FIFO直至下一帧的开始。所述step3中搜索到范式霍夫曼码字的条件时当移位寄存器的数据小于当前长 度的码字的最大值时即搜索到范式霍夫曼码字。所述st印3中生成ROM表地址的过程为采用存储有效码字的方法,各类有效码字 按照范式霍夫曼码字的长度从短到长,码字数值从小到大的顺序预先存在ROM中,通过外 部的地址生成器确定寻址地址。所述St印5中,当最高位为1时将移位寄存器提前复位;当最高位为0时将移位寄 存器提前置位。所述st印6中当满足下列条件之一即认为是块的结束a)解码得到64个像素的数据;b)范式霍夫曼解码得到块结束信号。所述step6中更新范式霍夫曼码字类型的方法根据图像的采样率确定当图像的 采样率为4:4:4时,范式霍夫曼码字类型的变化顺序为亮度,色度,色度;当图像的采样率 为4:2:2时,范式霍夫曼码字类型的变化顺序为亮度,亮度,色度,色度;当图像的采样率为 4 2 0时,范式霍夫曼码字类型的变化顺序为亮度,亮度,亮度,亮度,色度,色度。所述st印7判断一帧结束的条件是解码得到的总的块数与一帧图像的总块数相寸。[0034]JPEG图像中范式霍夫曼的硬件解码装置,它包括FIFO缓冲器,FIFO缓冲器与解码 模块连接,解码模块与RAM连接;其中,解码模块包括移位寄存器组,移位寄存器组分别与复位模块、置位模块和比 较器相连接;比较器分别与读信号产生模块和地址生成模块相连接;读信号产生模块分别 与鲁棒性处理模块和ROM相连接;ROM分别与地址生成模块和码字类型及帧结束信号产生 模块相连接;移位寄存器组包括16个移位寄存器。移位寄存器暂存当前解码的比特流;复位模块控制产生移位寄存器的复位信号, 置位模块控制产生移位寄存器的置位信号;比较器根据当前长度的最后一个码字和移位寄 存器的值进行比较,确定是否找到范式霍夫曼码字;读信号产生模块产生FIFO缓冲器的读 使能信号;地址生成模块产生RUN/SUE ROM的地址;鲁棒性模块负责解码过程中的鲁棒 性处理;码字类型及帧结束信号产生模块产生当前解码的范式霍夫曼码字类型和帧结束信 号。有益效果本实用新型实现了 JPEG编解码中标准的范式霍夫曼的硬件解码。该实 用新型提供了一种结构简单,运算速度快,可有效提供系统的运行效率的范式霍夫曼的硬 件解码方法。该方法利用移位寄存器方式在较短的时钟周期内完成一个码字的解码,可以 实现范式霍夫曼的快速解码,具有效率高,占用的逻辑资源少等优点,各个模块之间的控制 逻辑简单,可以达到较高的时钟频率,特别适合高清电视和超分辨率的应用场合,与前级逻 辑和后级逻辑接口简单,容易扩展,便于在ASIC和FPGA中实现。

图1为本实用新型的结构框图;图2为本实用新型的控制流程图;图3为读取填充比特的控制逻辑图。
具体实施方式

以下结合附图和实施例对本实用新型作进一步说明如图1和2所示,将按字节接收到的图像数据放入FIFO(先入先出对列)中,该队 列有两个作用,一个是进行数据缓存,一个将输入的8比特变换为1比特进行输出。当队列 中有数据时,解码模块将启动对FIFO的读,在读的过程中进行霍夫曼解码,当发现读入的 码字小于当前长度的霍夫曼码字的最大值时停止读,根据当前码字,当前长度的霍夫曼码 字的最大值以及当前霍夫曼码字的类型(亮度直流,亮度交流,色度直流,色度交流)生成 ROM表的地址,根据从ROM表读出的RUN/SUE值读取SUE个比特的有效数据,同时产生RUN 个0写入后级接口的存储器RAM中,在读取SUE个比特的时候要根据最高位将移位寄存器 复位或者置位。当最高位为1时说明是正数要将移位寄存器提前复位。当最高位为0时说 明是负数要将移位寄存器提前置位。为了提高效率,写入RUN个0和读取SUE个有效数据 并行操作。当前解码的霍夫曼码字的类型和帧间控制信号根据图像的分辨率和采样率自行 计数统计。在以下几种情况下需要产生复位信号将所有移位寄存器清零1)下次读取的是霍夫曼码字,又分为以下几种情况[0047]a)读取完SUE个有效数据DIF值b) RUN/SIZE 对应的为 F/0c)霍夫曼解码得到EOB信号d)解码完一帧的数据2)下次读取的SUE个比特的DIF数据,并且第一个比特是0,起符号扩展的作用。当下次接收的是DIF数据并且首位为0的时候需要将所有移位寄存器置位,首位 为0代表负数,需要用1填充,起符号扩展的作用。在JPEG中霍夫曼码字的最大长度为16bit。如果单纯用码字作为寻址地址则需 要的ROM空间为216*8bit = 512Kbit。考虑到真正用到的码字只有348个(12个亮度直 流霍夫曼码字,12个色度直流霍夫曼码字,162个亮度交流霍夫曼码字,162个色度交流霍 夫曼码字),如果按照上述存储会造成大量的ROM浪费。因此采用只存储有效码字的方法。 有效码字分为四类,各类有效码字按照霍夫曼码字的长度从短到长,码字数值从小到大的 顺序预先存在ROM中,通过外部的地址生成器确定寻址地址。读信号负责从FIFO队列中读取比特流,在FIFO中有数据的情况下,满足下列条件 的任何一个都需要产生读信号1)寻找霍夫曼码字时2)读取DIF有效数字时3)读取一幅图像结束后的填充比特时。因为JPEG图像是以字节为单位进行存储 的,当一幅图像结束但是编码后的比特不足一个字节时,需要用1填充。因此解码的时候需 要对此进行考虑。读取填充比特的控制逻辑如图3所示。数据在传输过程中很有可能发生数据丢失的现象,对于霍夫曼变码来说一旦丢失 一个比特,后续的解码将不能顺利进行。为此必须进行鲁棒性处理。在进行huffman解码 的过程中如果发现读取16个bit仍不能搜索到对应的HUFFMAN编码,则说明传输错误,需 要读空FIFO直至下一帧的开始。在进行填充比特读取的过程中,如果读取的1的个数超过 7个或者读出来的数不是1,则也发生传输错误。当前解码的霍夫曼码字的类型要根据已解码的块数和图像的采样率确定。常见的 JPEG像采样率为4:4:4,4:2:2,4:2:0三种。对于4:4:4的采样率霍夫曼码字类型的循环 顺序为亮度,色度,色度,对于4 2 2的采样率霍夫曼码字类型的循环顺序为亮度,亮度,色 度,色度,对于4 2 0的采样率霍夫曼码字类型的循环顺序为亮度,亮度,亮度,亮度,色度, 色度。具体来说,霍夫曼码字的类型采用模η计数器表示。采样率,计数器和霍夫曼码字类 型的对应关系如表1 表 权利要求1.JPEG图像中范式霍夫曼的硬件解码装置,其特征是,它包括FIFO缓冲器,FIFO缓冲 器与解码模块连接,解码模块与RAM连接;其中,解码模块包括移位寄存器组,移位寄存器组分别与复位模块、置位模块和比较器 相连接;比较器分别与读信号产生模块和地址生成模块相连接;读信号产生模块分别与鲁 棒性处理模块和ROM相连接;ROM分别与地址生成模块和码字类型及帧结束信号产生模块 相连接。
2.如权利要求1所述的JPEG图像中范式霍夫曼的硬件解码装置,其特征是,所述移位 寄存器组包括16个移位寄存器。
专利摘要本实用新型公开了一种JPEG图像中范式霍夫曼的硬件解码装置,它包括移位寄存器,移位寄存器暂存当前解码的比特流;比较器根据当前长度的最后一个码字和移位寄存器的值进行比较,确定是否找到范式霍夫曼码字;读信号产生模块产生使能信号;地址生成模块产生ROM的地址;码字类型及帧结束信号产生模块产生当前解码的范式霍夫曼码字类型和帧结束信号。该方法利用移位寄存器方式在较短的时钟周期内完成一个码字的解码,可以实现范式霍夫曼的快速解码,具有效率高,占用的逻辑资源少等优点,各个模块之间的控制逻辑简单,可以达到较高的时钟频率,特别适合高清电视和超分辨率的应用场合,与前级逻辑和后级逻辑接口简单,容易扩展,便于在ASIC和FPGA中实现。
文档编号H04N7/26GK201910880SQ201020656448
公开日2011年7月27日 申请日期2010年12月13日 优先权日2010年12月13日
发明者李鹏, 栗华, 王洪君, 窦和新, 赵斌, 赵立歧 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1