本发明专利技术披露了一种JPEG解码器,包括同步SRAM和与同步SRAM互联的JPEG硬件编解码核心模块,其特征在于还包括JPEG控制逻辑模块,该JPEG控制逻辑模块与同步SRAM和JPEG硬件编解码核心模块互联,JPEG控制逻辑模块通过其内部状态积产生门控信号;该门控信号与JPEG时钟信号在时钟复用模块中复用为JPEG硬件编解码核心模块的核心模块时钟信号,作为JPEG硬件编解码核心模块的时钟信号,使得在读同步SRAM的Huffman表解码的过程中,当同步SRAM片选信号有效且同步SRAM写使能信号为高电平的情况下核心模块时钟信号没有时钟而当同步SRAM片选信号从有效跳变到无效状态时核心模块时钟信号紧接着一个时钟。
【技术实现步骤摘要】
本专利技术涉及JPEG(联合图象专家组)编解码器,具体地说涉及JPEG硬件编解码实现中Huffman码解码时钟的解决方案。
技术介绍
JPEG压缩标准规定了对已经量化的数据进行熵编码,即哈夫曼(Huffman)编码的要求。Huffman编码主要应用于流媒体的压缩编码,是一种可变长的游程编码,其指导思想为通过对出现频率比较高的游程数据采用较短的编码,而对出现频率比较低的游程数据采用较长的编码,从而达到压缩数据文件的目的。JPEG解码可以采用传统的纯软件解码、由硬件MCU和DSP协同解码、或JPEG专用硬件解码芯片。采用传统的纯软件解码对系统配置要求比较高,不适用于很多特定场合的应用,比如在手机中应用。采用由硬件MCU和DSP协同解码,虽然比较灵活,但对系统配置要求也比较高,同时成本要远高于JPEG专用硬件解码芯片。至于原有JPEG专用硬件解码芯片。由于JPEG采用Huffman变长编码,其每个经过编码的游程数据的长度是通过比特来计数的,而并不是字节对齐的。这种由于JPEG压缩标准所决定的Huffman码结构的特点,要求在JPEG硬件解码时必须一个时钟解码一个完整的Huffman码。简单的说,就是要求在一个时钟的时间内,需要JPEG硬件完成以下工作首先需要对当前在FIFO中的Huffman码进行查表获得原始的已量化的数据的游程值和尺寸信息;然后利用尺寸信息和紧接的与尺寸信息大小相同的Huffman码共同恢复出原始的已量化的数据;最后把上述完成解码的Huffman码移出FIFO,使得FIFO的开始数据是下一个要解码的Huffman码。要在一个时钟内完成以上工作,其时序是相当紧张的,这就限制了JPEG解码在高频率芯片中的应用;同时其还需要采用大规模的寄存器阵列来存储Huffman表,来实现在一个时钟内完成查表的工作,这就使得芯片的面积比较大,成本比较高。
技术实现思路
本专利技术的目的在于提供能够克服上述问题的JPEG解码器。本专利技术的目的由一种JPEG解码器实现。该解码器包括同步SRAM(静态随机存取存储器)和与同步SRAM互联的JPEG硬件编解码核心模块,其特征在于还包括JPEG控制逻辑模块,该JPEG控制逻辑模块与同步SRAM和JPEG硬件编解码核心模块互联,JPEG控制逻辑模块通过其内部状态积产生门控信号;该门控信号与JPEG时钟信号在时钟复用模块中复用为核心模块时钟信号,该核心模块时钟信号作为JPEG硬件编解码核心模块的时钟信号,使得在读同步SRAM的Huffman表解码的过程中,当同步SRAM片选信号有效且同步SRAM写使能信号为高电平的情况下核心模块时钟信号没有时钟而当同步SRAM片选信号从有效跳变到无效状态时核心模块时钟信号紧接着一个时钟。优选的是该JPEG解码器适于对JPEG、MJPG、JPEG2000、和MPEG2信号解码。优选的是,在一个JPEG时钟信号周期下,JPEG控制逻辑模块根据Huffman码进行去查表读出SRAM的Huffman表数值,获得原始的已量化的数据的游程值和尺寸信息;在下一JPEG时钟信号周期,JPEG硬件编解码核心模块利用尺寸信息和紧接的与尺寸信息大小相同Huffman码共同恢复出原始的已量化的数据,最后把上述完成解码的Huffman码移出FIFO。根据本专利技术的JPEG解码器解决了由于Huffman码结构的特点必须要求一个时钟解码一个完整Huffman码的时序紧张的缺点和原有Huffman码解码实现中Huffman表对大规模寄存器阵列的需求,采用全新的时钟解决方案,可以应用于更高频率的工作,同时采用同步SRAM替代大规模寄存器阵列,很大程度上减少了芯片的面积,降低了芯片的成本。附图说明下面将参照附图对本专利技术进行更详细的说明,其中图1是根据本专利技术的JPEG硬件编解码实现中Huffman码解码新型时钟解决方案的具体结构;图2为JPEG解码的接口的读状态时序图;以及图3为JPEG解码的接口的写状态时序图。专利技术的具体实施例方式图1是根据本专利技术的JPEG硬件编解码实现中Huffman码解码新型时钟解决方案具体结构。其设计主要思路为采用同步SRAM替代大规模寄存器阵列,在JPEG硬件编解码核心(JPEG CORE)模块外互联JPEG控制逻辑模块,通过JPEG控制逻辑模块的内部状态积产生对JPEG时钟信号jpeg_clk的门控信号block_clk。然后,输出门控信号block_clk到一个外部的时钟复用(Clock MUX)模块,从而生成JPEG硬件编解码核心模块的核心模块时钟信号jpeg_core_clk。当在读同步SRAM的Huffman表解码的过程中,达到SRAM片选信号jpeg_sram_cen片选有效的情况下jpeg_core_clk没有时钟而当jpeg_sram_cen从有效跳变到无效状态时jpeg_core_clk紧接着一个时钟的效果。对硬件编解码核心模块而言,其确实是一个jpeg_core_clk时钟解码一个完整Huffman码。而对整个JPEG模块而言,会分为两拍jpeg_clk一拍jpeg_clk根据当前在FIFO中的Huffman码进行去查表读出SRAM的Huffman表具体数值,获得原始的已量化的数据的游程值和尺寸信息;下一拍jpeg_clk利用尺寸信息和紧接的与尺寸信息大小相同Huffman码共同恢复出原始的已量化的数据;最后把上述完成解码的Huffman码移出FIFO,使得FIFO的开始数据是下一个要解码的Huffman码。图2为JPEG解码的接口的读状态时序图。图中读状态机条件信号read state_machine condition低有效;SRAM片选信号jpeg_sram_cen低有效;SRAM写使能信号jpeg_sram_wen高为读状态;门控信号block_clk为低时jpeg_core_clk有时钟,为高时时钟阻塞,其逻辑为jpeg_core_clk=jpeg_clk|block_clk。根据当前FIFO中的Huffman码生成SRAM地址jpeg_sram_address,其为组合逻辑。当jpeg_clk采样到jpeg_sram_cen为低同时jpeg_sram_wen为高,即读有效时,根据当前jpeg_sram_addres s从同步SRAM中读出Huffman表的值sram_jpeg_rdata(其为原始的已量化的数据的游程值和尺寸信息)。利用组合逻辑把查表获得的尺寸信息和紧接的与尺寸信息大小相同的Huffman码共同恢复出原始的已量化的数据,当紧接的jpeg_core_clk上升沿跳变时,锁存恢复出的原始已量化的数据,用于接下来的解量化过程,同时把上述完成解码的Huffman码移出FIFO,使得FIFO的开始数据是下一个要解码的Huffman码。图3为JPEG解码的接口的写状态时序图。图中读状态机条件信号write state_machine condition高有效;SRAM片选信号jpeg_sram_cen低有效;SRAM写使能信号jpeg_sram_wen低为写状态;block_clk为低时jpeg_core_clk有时钟,为高时时钟阻塞,其逻辑为jpeg_core_clk=jpeg_clk|block_clk。当jp本文档来自技高网...
【技术保护点】
一种JPEG解码器,包括同步SRAM和与同步SRAM互联的JPEG硬件编解码核心模块,其特征在于还包括JPEG控制逻辑模块和时钟复用模块,该JPEG控制逻辑模块与同步SRAM和JPEG硬件编解码核心模块互联,JPEG控制逻辑模块通过其内部状态积产生同步SRAM片选信号和门控信号(block-clk);所述同步SRAM片选信号是同步SRAM的片选信号,所述门控信号与JPEG时钟信号在时钟复用模块中复用为JPEG硬件编解码核心模块的核心模块时钟信号(jpeg-core-clk),该核心模块时钟信号作为JPEG硬件编解码核心模块的时钟信号,使得在读同步SRAM的Huffman表解码的过程中,当同步SRAM片选信号(jpeg-sram-cen)有效且同步SRAM写使能信号(jpeg-sram-wen)为高电平的情况下核心模块时钟信号没有时钟而当同步SRAM片选信号从有效跳变到无效状态时核心模块时钟信号紧接着一个时钟。
【技术特征摘要】
【专利技术属性】
技术研发人员:居晓波,刘健,
申请(专利权)人:北京中星微电子有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。