基于JPEG2000通过估计率失真信息来控制码率的方法
0 引言
随着多媒体和网络技术的不断发展,在传输图像或视频信息时,如何有效地运用信道带宽已经成为现今讨论的主要话题之一。率控制是图像或视频编码中控制比特率必须采用的方法,其最终目标就是将目标比特率合理的分配到图像或视频中去,以求得到最小的失真。
JPEG2000是一种新的静止图像压缩编码国际标准。由于其采用了与其他图像压缩标准不同的全新结构,因此,JPEG2000拥有压缩比高,同时支持有损和无损压缩,码流可随机存取和处理等优点。JPEG2000的编码算法包括离散小波变换(DWT)和位平面熵编码。在JPEG2000中可通过尝试不同的量化步长来进行率控制:而通过位平面MQ编码器,JPEG2000则可以精确简单的控制比特率,以达到需要的比特率。JPEG2000的核心编码方式是嵌入式码块编码(EBCOT)。其最优截断是使图像失真最小化的一种率控制方法。这一过程是在小波系数经过熵编码(压缩)后,所以也称为压缩后的率失真优化(PCRD)。
根据所有压缩后数据的实际率失真信息,PCRD技术就能计算出目标码流的图像最小化失真。但是这还需要图像所有的码流数据,事实
上,很多数据是不会被输出的,这一过程还会占用很多内存和计算量。为此,本文提出了一种新的率控制方法,可以有效减少计算量和内存使用量,同时可以获得相似的效果。
1 JPEG2000简介
作为一种新的国际压缩标准,通常可以把JPEG2000看作小波变换(DWT)、标量量化、比特系数建模、算术编码、压缩后率失真优化和码流组织等六个部分。
小波变换可将图像分解为LL、HL、LH和HH四种子带,并可以进行多级分解。LL是图像低频信息所在,其他的三种子带包含的是图像高频信息。这些小波系数经过量化后,即可进入EBCOT编码过程。
1.1 熵编码
熵编码过程一般包括系数建模和算术编码。它本质上是一个位平面编码的过程。在这个过程中,每个编码块都被独立编码,并且都经过三个编码通道,这三个编码通道分别是重要性通道、幅值精炼通道和清零通道。这些编码通道将会根据比特系数模型寻找每个比特系数的上下文,然后对这个比特系数进行基于上下文的算术编码(MQ)。
1.2 码率控制
码率控制涉及量化、熵编码和码流组织三个部分。量化就是量化步长根据要求的压缩率反复调整以达到目标码率,这是一种交互式控制方式。另外一种采用压缩后处理的方法是在码流数据中对每个编码块设置一个截断点,这个截断点可决定每个码块的编码通道编码的数据量。这就是JPEG2000的压缩后率失真优化。其具体算法如下:
首先设编码块Bi的码率为、失真为
,最终压缩数据的目标码率为Rmax,则每个编码块的截断点可以自由选择,它只需要最后的码率满足下式即可:
如果用每个编码块的失真之和来表示重建图像的失真,则重建图像的失真为:
这样,在截点ni,其率失真斜率为:
然后,利用拉格朗日乘子法,就可以求出最优截断点λ,从而实现最优截断编码。
2 新的率控制方法
最优截断点λ只能通过所有截断点实际的率失真斜率来求得,这就需要熵编码过程编码所有的位平面数据和所有编码过的码流都存储在存储器中,而且,即使是那些在码流控制后不需要传输的码流,也要编码和存储。然而,通过研究发现:如果将每个截断点的率失真斜率按递减的方式进行整理,这个排列顺序便与位平面层数有关。一般情况下,位平面高的率失真斜率大于位平面低的;其次,先编码的通道的率失真斜率大于后编码的通道。
基于以上两点,可先扫描图像的位平面信息,在编码那些率失真斜率大的。而后面不重要的比特就可以不进行编码。这个方法的过程首先是根据下式计算出每个码块Bi的最高位平面数Pi;
其中是码块Bi中的最大系数。之后,在求出最大的平面数:
扫描每一个码块的顺序图如图l所示。对于每一个扫描的码块,一般有如下三个条件:
(1)首先要判断Pi=Pmax是否成立,如果成立,编码这个编码块未编码的位平面通道,然后Pi减1,之后检查条件(2)。否则检查条件(3);
(2)如果累计的码率大于目标码率,则立即退出编码。否则,检查条件(3);
(3)如果这是最后一个编码块,那么Pmax减1,然后进入下一个层的编码。否则继续扫描下个编码块。
由于上述条件(2)满足的条件,故不会使码率超过压缩率的限制。而条件(1)、(3)则充分考虑了位平面和编码通道的重要性,因而可确保得到最佳的图像质量。
3 实验结果
这里,我们用512x512的lena图像进行测试,表1记录了PCRD与新方法在计算量和内存使用量上的对比。表2所列是两种方法在PSNR上的对比。两种方法的解压图像效果如图2所示。
4 结束语
通过对JPEG2000的分析,本文提出了一种通过估计率失真信息来控制码率的方法。该方法由于不需要对所有的数据进行编码,因此,可在保持图像质量的同时,还可以有效减少冗余计算量和内存占用量。
模拟电路 模拟芯片 德州仪器 放大器 ADI 模拟电子 相关文章:
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)
- 低功耗、3V工作电压、精度0.05% 的A/D变换器(10-09)
- PIC16C5X单片机睡眠状态的键唤醒方法(11-16)
- 用简化方法对高可用性系统中的电源进行数字化管理(10-02)
- 利用GM6801实现智能快速充电器设计(11-20)
- 婵°倕鍊瑰玻鎸庮殽閸モ晙鐒婇柛鏇ㄥ灱閺嗐儳鈧鎮堕崕鎶藉煝閼测晜鏆滈柛顐g箓閹鏌熺€涙ê濮囬柣鎾规硶閹峰顢橀悢鍛婄暚缂備礁顑呴鍛淬€冨⿰鍛晳闁跨噦鎷�
闂佺ǹ绻堥崝宥夊蓟閻斿憡濯寸€广儱鎷嬮崝鍛槈閺冨倸孝闁汇劎濮甸敍鎰板箣濠婂懐鎳囨繛鎴炴尰濮樸劑鎮¢敍鍕珰闁糕槅鍘剧粈澶愭煙缂佹ê濮囩€规洖鐭傞幆宥夊棘閸喚宀涢悗瑙勬偠閸庢壆绱為弮鍫熷殑闁芥ê顦~鏃堟煥濞戞ǹ瀚板┑顕呬邯楠炲啴濡搁妷锕€娓愰梻渚囧亞閸犳劙宕瑰鑸碘拹濠㈣埖鐡曠粈瀣归崗鍧氱細妞ゎ偄鎳橀幆鍐礋椤愩倖顔忔俊顐ゅ閸ㄥ灚瀵奸幇顔剧煓閻庯綆浜為悷锟�...
- 婵炴垶鎼╅崢鐐殽閸モ晙鐒婇柛鏇ㄥ灱閺嗐儳鈧鎮堕崕鎶藉煝閼测晜鏆滈柛顐g箓閹鏌熺€涙ê濮囬柣鎾规硶閹峰顢橀悢鍛婄暚缂備礁顑呴鍛淬€冨⿰鍛晳闁跨噦鎷�
缂備緡鍣g粻鏍焵椤掑﹥瀚�30婵犮垼鍩栧畝绋课涢鍌欑剨闁告洦鍨奸弳銉╂煕閳哄喚鏀版い鏂垮閹风娀宕滆閺屻倝鏌ㄥ☉妯侯殭缂佹鎸鹃埀顒傤攰閸╂牕顔忕捄銊﹀珰闁规儳鎳愮粈澶愭煕閺傜儤娅呮い鎺斿枛瀹曘劌螣閻戞ê娓愰梻渚囧亞閸犳洟骞撻鍫濈濡鑳堕鍗炩槈閹垮啩绨婚柟顔奸叄瀵粙鎮℃惔锝嗩啅婵☆偆澧楅崹鍨閹邦喚鐭欓悗锝庝簽閻熷酣鏌i妸銉ヮ伂妞も晪绠戞晥闁跨噦鎷�...
- Agilent ADS 闂佽桨鐒﹂悷銉╊敆閻旂厧鏄ョ痪顓炴媼閸炴煡鎮归崶褍鈷旈柍璇插悑缁鸿棄螖閸曞灚顥�
婵炴垶鎸婚幐鎼侇敊瀹ュ绠抽柛顐秵閸わ箓鏌ㄥ☉妯垮闁告瑥绻樺Λ鍐閿濆骸鏁奸柣鐔哥懐閺嬪儊S闂佸憡鑹剧€氼噣锝為幒妤€绀夐柣鏃囶嚙閸樻挳鏌涘⿰鍐濞村吋鍔楃划娆戔偓锝庝簽鐎瑰鏌i姀鈺冨帨缂侀亶浜跺畷婵嬪煛閸屾矮鎲鹃梺鐑╁亾閸斿秴銆掗崼鏇熷剹妞ゆ挾濮甸悾閬嶆煛閸愩劎鍩f俊顐ユ硶閳ь剚鍐荤紓姘辨閻у挷S...
- HFSS闁诲孩鍐荤紓姘卞姬閸曨垰鏄ョ痪顓炴媼閸炴煡鎮归崶褍鈷旈柍璇插悑缁鸿棄螖閸曞灚顥�
闁荤姍鍐仾缂佽鐒︾粙澶愬箻閹颁礁鏅欓梺鐟版惈閻楁劙顢氶幎鑺ユ櫖閻忕偠妫勫鍧楁⒒閸稑鐏辨い鏂款樀楠炴帡宕峰▎绂⊿闂佹眹鍔岀€氼剚鎱ㄥ☉銏″殑闁芥ê顦扮€氭煡骞栫€涙ɑ鈷掗柡浣靛€濋弫宥囦沪閽樺鐩庨梺鍛婃煛閺呮粓宕戝澶婄闁靛ň鏅滃銊х磼椤栨繂鍚圭紒顔芥そ瀹曠兘寮跺▎鎯уΤ婵炴垶姊绘慨鐢垫暜婢舵劕绠垫い鈥抽敪SS...
- CST閻庣敻鍋婇崰妤冧焊濠靛棭鍟呴柕澶堝€楃粙濠囨倵楠炲灝鈧洟鎮$捄銊﹀妞ゆ挾鍠愬▓宀€绱掔€n亶鍎忔い銊︾矌閹叉鏁撻敓锟�
闂佸搫顦€涒晛危閹存緷铏光偓锝傛櫅閻︽粓鎮规担绛嬪殝缂佽鲸绻堝畷妤呭Ω閳哄倹銆冮柣鐘辩瀵泛顔忕欢缍璗闂佸憡鑹剧€氫即濡村澶婄闁绘棁顕ч崢鎾煕濠婂啳瀚板ù鍏煎姉缁瑧鈧綆浜炵€瑰鏌i姀鈺冨帨缂佽鲸绻堝畷婵嬪煛閸屾矮鎲鹃棅顐㈡祩閸嬪﹪鍩€椤掑倸鏋欓柛銈嗙矌閳ь剚鍐婚梽鍕暜婢舵劕绠垫い鈥愁敍T闁荤姳鐒﹀畷姗€顢橀崨濠冨劅闁哄啫鍊归弳锟�...
- 闁诲繐绻愮€氫即銆傞崼鏇炴槬闁惧繗顕栭弨銊╂煕閳哄喚鏀版い鏂垮閹风娀宕滆閺岋拷
婵炴垶鎸稿ú锝囩箔閳ь剙螖閸屾惮鎴﹀Χ婵傚摜宓侀柛鎰级閸曢箖鎮硅閸ゆ牜妲愬┑鍥ㄤ氦婵炲棗娴烽弰鍌炴偣閸パ冣挃闁宠鍚嬬粙澶嬫姜閹殿喚鈽夐梺闈╄礋閸斿矂鎯冮悩绛圭矗闁瑰鍋涜灇闂佸搫鐗滈崹鍫曘€傞锕€鏄ラ柣鏃€鐏氭禍锝夋倶閻愬瓨绀冮悗姘辨暬閹虫ê顫濋崜褏顦梺鐟扮仛閹搁绮崨鏉戦敜婵﹩鍓涢弶浠嬫煟閵娿儱顏х紒妤佹尰缁嬪顫濋鍌氭暏缂佺虎鍘搁崑锟�...
- 閻庣敻鍋婇崰妤冧焊濠靛牅鐒婇柛鏇ㄥ灱閺嗐儲绻涢弶鎴剶闁革絾妞介獮娆忣吋閸曨厾鈻曢梺绯曟櫇椤㈠﹪顢欓崟顓熷珰闁告挆鈧弻銈夋煕濮橆剛澧︽繛澶涙嫹
闁荤姵鍔﹂崢娲箯闁秴瑙﹂柛顐犲劜閼茬娀鏌¢崶銊︾稇闁汇倕瀚伴獮鍡涙偑閸涱垳顦紓鍌氬暞閸ㄧ敻宕规惔銊ノュ〒姘e亾妞わ絽澧庨幏顐﹀矗濡搫纾块梺闈涙閼冲爼濡靛顑芥灃闁靛繒濮甸悵銈夋煏閸℃洘顦峰ǎ鍥э躬瀹曪綁鏌ㄧ€n剛鍩嶉梺鎸庣☉閺堫剟宕瑰⿰鍛暫濞达絽婀辨竟澶愭煛瀹ュ妫戠紒銊ユ健閺屽懘鏁撻敓锟�...