基于扫描顺序变更的jpeg_ls规则编码硬件实现方法

文档序号:8398396阅读:408来源:国知局
基于扫描顺序变更的jpeg_ls规则编码硬件实现方法
【技术领域】
[0001] 本发明涉及图像压缩技术领域的JPEG_LS标准在硬件上的实现方法,特别是涉及 一种基于扫描顺序变更的JPEG_LS规则编码硬件实现方法。
【背景技术】
[0002] JPEG_LS是IS0/ITU制定的图像近无损压缩标准,广泛应用于低压缩比的图像压 缩领域,参照图1所示,是现有JPEG_LS标准扫描顺序的示意图,其中11表示第1行第1列 数据,6100表示第6行第100列数据。图1中灰色网格线部分表示对第3行第5列数据35 进行编码时,需要用到第2行第4列数据24、第2行第5列数据25、第2行第6列数据26 的重构值和第3行第4列数据34的重构值。扫描时依次读入第1行第1列数据11、第1行 第2列数据12、第1行第3列数据13、第1行第4列数据14、第1行第5列数据15、第1行 第6列数据16、第1行第7列数据17……直至此行读入完毕再依次读入第2行数据,第3 行数据,第4行数据,第5行数据,第6行数据。由于其规则编码时,当前像素梯度计算需要 用到上一像素的重构值,即存在重构值的反馈,因此无法用流水线实现,而重构值的计算又 要经过梯度计算与量化、状态缓存索引值计算、用于预测修正的状态数据读取、预测值计算 与修正、预测误差计算、量化误差生成和重构值生成等多个步骤,从而导致JPEG_LS压缩处 理速度缓慢。
[0003] 西安电子科技大学申请的专利"JPEG_LS常规编码硬件实现方法"(专利申请号 201210198818.X)中公开了一种JPEG_LS常规编码硬件实现方法。该专利申请通过四级 反馈回路将更新的参数实时反馈,根据每次反馈的预测误差修正参数对预测中值进行预测 与修正,对每个时钟周期合理安排处理数据量,从而达到优化最差路径,提高处理速度的目 的。该技术方案的不足是仅针对参数实时更新路径,而对重构值路径未做处理,因此该方法 用于无损压缩时没有问题,当近无损时会遇到重构值路径处理缓慢的问题。
[0004] 北京空间机电研究所申请的专利"基于改进JPEG_LS算法的遥感图像近无损压缩 硬件实现方法"(专利申请号200910082680. 5)中通过重构值计算公式的变更优化了重构 值关键路径。但是该方法存在两个问题,一是重构值与真实值的差值小于等于NEAR值的两 倍,即同样的NEAR值下,误差扩大为标准算法的两倍;二是该方法在编码端避过了重构值 关键路径,而在解码端却无法解决重构值关键路径优化的问题。因此该专利适用于硬件编 码软件解码的场合,而不适用于编解码都用硬件实现的场合。

【发明内容】

[0005] 有鉴于上述现有技术所存在的缺陷,本发明的目的在于,提供一种基于扫描顺序 变更的JPEG_LS规则编码硬件实现方法,使其处理速度提高到原来的6倍,易于在低端廉价 FPGA上实现高清视频的逐峽压缩处理,并且该发明同样适用于解码端。
[0006] 为了实现上述目的,依据本发明提出的一种基于扫描顺序变更的JPEG_LS规则编 码硬件实现方法,其包括源图像扫描步骤、量化误差生成和重构值生成步骤、哥伦布编码步 骤、码流输出步骤,其中所述源图像扫描是对源图像按6行为一个基本单元进行缓存,用翻 页RAM实现,每6行为一页,对当前页和次页交替进行写入和编码,编码时按从上而下从左 到右对6行缓存中各行的数据交替进行编码,所述量化误差生成和重构值生成步骤用六级 流水线实现。。
[0007] 本发明还可采用W下技术措施进一步实现。
[0008] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述六级流水 线包括W下步骤:流水线第一级;梯度计算与梯度量化,该级流水线同时完成基本预测;流 水线第二级;索引值计算;流水线第H级:状态数据读取;流水线第四级:预测值修正及预 测误差计算;流水线第五级:量化误差生成;流水线第六级;重构值生成。
[0009] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述流水线第 一级中,所述梯度计算为分别计算当前像素的各邻域像素重构值的差值,即计算Dl=Rd-化, D2=化-Rc,D3=Rc-Ra,其中D1、D2、D3表示梯度,Ra、化、Rc、Rd表示当前像素Ix的领域像素 的重构值;所述梯度量化为根据8个梯度口限值把梯度D1、D2、D3分别量化到9个区间,该 9个区间用负4到正4表示,量化结果用Q1、Q2、Q3表示;该级流水线同时完成基本预测,生 成基本预测值,即当Rc>max(Ra,化)时,Px_bas=min(Ra,化);当Rc《min(Ra,化)时,Px_ bas=max(Ra,化);除上述情况外,Px_bas=Ra+I?b-Rc;其中Px_bas表示基本预测值。
[0010] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述流水线第 二级中,索引值Q为81*Q1+9*Q化Q3的绝对值,Q的范围为0到364。
[0011] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述流水线第 H级中,把索引值Q当做读地址,从状态数据缓存中读取状态值,其中用于预测修正的状态 值用C阳]表示,数据读取占用1个时钟周期。
[0012] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述流水 线第四级中,用流水线第一级输出的基本预测值Px_bas和流水线第H级输出的用于预 测修正的状态值C阳]进行预测修正,预测值修正方法如下:当SIGN为+1时,如果Px_ bas+C阳]>255,则Px=255,否则,Px=Px_bas+C阳];当SIGN为-1 时,如果Px_bas<C阳],则 Px=0,否则,Px=Px_bas-C阳],其中SIGN表示81*Q1+9*Q化Q3的正负,Px表示预测值;预测 误差计算方法如下;当SIGN为+1时,Errval=Ix-Px,当SIGN为-1时,Errval=Px-Ix,其中 化rval表示预测误差,Ix表示当前像素值。
[0013] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述流水线第 五级中,量化误差生成方法如下;ErrvalJffiAR=fix[巧rrval+肥AR)八2*肥AR+1)],化rval_ NEAR表示量化后的误差值,NEAR为压缩质量控制因子;根据JPEG_LS标准规定的参数更新 方式,更新用于预测修正的状态值C阳],并W索引值Q为写地址写入状态数据缓存。
[0014] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述流水线第 六级中,重构值的生成方法为先用量化后的误差值与2*肥AR+1做乘法,然后与SIGN做乘 法,然后与Px做加法,其中,Rx表示当前像素的重构值;该重构值Rx反馈给第一级流水线 或写入重构值缓存。
[0015] 前述的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,其中所述的对6行 缓存中各行的数据交替进行编码是按照W下方法实现的:依次从6行缓存中读入第1行第 M列、第2行第M-2列、第3行第M-4、第4行第M-6列、第5行第M-8列和第6行第M-10列 的数据进行编码,设待编码图像的列数为N,则M的范围为从1到化10 ;;当M-2、M-4、M-6、M-8、M-10有小于等于零的值出现时,表示不从6行缓存中读入数据进行编码,同时间隔对 应的1个时钟周期;当M、M-2、M-4、M-6、M-8有大于N的值出现时,表示不从6行缓存中读 入数据进行编码,同时间隔对应的1个时钟周期。
[0016] 本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明 的基于扫描顺序变更的JPEG_LS规则编码硬件实现方法,至少具有下列优点:
[00
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1