CN1267858C - 实时截断的jpeg2000速率控制方法 - Google Patents
实时截断的jpeg2000速率控制方法 Download PDFInfo
- Publication number
- CN1267858C CN1267858C CN 200410026016 CN200410026016A CN1267858C CN 1267858 C CN1267858 C CN 1267858C CN 200410026016 CN200410026016 CN 200410026016 CN 200410026016 A CN200410026016 A CN 200410026016A CN 1267858 C CN1267858 C CN 1267858C
- Authority
- CN
- China
- Prior art keywords
- code block
- coding
- code
- jpeg2000
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明提出一种实时截断的JPEG2000速率控制技术。本发明提出一个子带内部码块的有效位平面预测方法,并用于码块码率的分配;提出一种码块码流预分配速率控制方案,它利用JPEG2000标准压缩率控制计算失真度减小量计算方法的小波权值ω和量化系数δ作为码块之间进行码率分配的权值,并按照码块包含的通道总数进行码块速率分配;根据这种码块预分配的算法提出一种实时编码实时截断的VLSI结构。根据实验证明,本发明处理速度可以在编码的过程中对JPEG2000码流进行实时截断处理,可以是编码速度跟压缩比的提高成倍增长,而且存储器的损耗也根据压缩比的提高成比例减少。本发明解决了tier1编码和最优分层截断的速度瓶颈问题,在图像视频压缩方面有很广泛的应用前景。
Description
技术领域
本发明属于VLSI设计技术领域。具体涉及到在JPEG2000硬件实现中设计出一种实时截断的JPEG2000速率控制方法。
背景技术
在实际系统如数码相机,可视电话,便携式摄像机以及掌上电脑等产品上,考虑到处理速度和体积的要求,用芯片实现图像数据压缩是必然的选择。在目前已知的JPEG2000芯片结构设计中,如果对图像数据的压缩比很低,体现不出JPEG2000的优势,当压缩比较高的情况下,必须进行速率控制,对编码后的码流进行截断处理。
JPEG2000速率控制对算术编码后的码流进行优分层截断,也即是根据用户设定的压缩比,对码流进行截断,以满足保留的码流达到压缩后的图像质量较好。设给定一个分层截断阈值,对第i码块进行截断之后产生的失真为Di,则对于整个图像的总体失真D=∑Di;已经每个码流接收到码字为Ri,则总体接收到的码字长度为R=∑Ri。整个压缩率控制模型为:
其中:Rmax是当前层的目标压缩存储空间。此模型就是在不超过一个固定的存储空间上如何让压缩图像相对与原图像的失真度达到最小。
采用Lagrange乘子法,将问题转化为:
在图像很大的情况下,必须对图像进行分块(tile)处理,此时将模型3.1的全局优化问题转化到一个tile上的局部优化。在求解过程中在tile上用编码通道的RD斜率与最优截断阈值λ,进行比较,如果
则码块的第i个码块的第ni个及以后的编码通道被截断。从而调整λ最终达到目标码率接近Rmax。
JPEG2000协议用PCRD优化算法来求解模型(1)。从图1中可以看出,编码通道的失真度的计算过程可以,某个编码通道的位被截断后带来的失真度的计算必须与在上下文编码进行通道扫描的过程同时进行,而上下文编码是JPEG2000系统的瓶颈,tier1编码的时间在软件上占50%以上的时间。从硬件仿真的实验来看,Tier1编码的速度相对于其他模块慢很多,也是系统的一个瓶颈。因此,省去RD斜率的计算而提高Tier1编码的速度是很有必要的。另外,PCRD优化算法是一个在tile块上的一个全局优化过程,它必须要等到整个Tile块的所有码块的所有通道编码完成才能进行分层截断点的搜索,这样就需要使用大量的存储器来存储被截断的码流和每个编码通道的RD斜率,而且会导致整个编码实时性下降。此外,PCRD优化算法需要进行分层截断点的搜索,这个搜索过程每次都需要遍历整个tile块上的每一个编码通道,而且需要很多次搜索才能完成,在层数很多的情况下搜索要花费大量的时间。PCRD优化算法有存储器开销很大和系统实时性差的缺点,无论从硬件实现还是从软件实现的角度上讲很有必要对JPEG2000压缩率控制算法进一步优化。
通常情况下,图像的压缩倍数要达到10倍以上才能体现JPEG2000的高压缩比的特性,然而对于无损压缩通常情况下,压缩比智能达到1.5~3倍,很多对被截断的码流也进行了编码。有必要找到一种方法可以不用计算RD斜率,不进行分层截断点的搜索,而且可以让不需要的码流不比再进行编码,这样就可以大大的提高系统的实时性,方便VLSI实现。
发明内容
根据上述背景技术中存在的缺陷和不足,本发明的目的在于,提供一种能够在编码的过程中对码流实时截断的速率控制方法。
为达到上述目的,本发明采用的解决方案是:JPEG2000分层截断点快速搜索方法,包括:
1.有效位深度预测方法
根据已经小波分解后的各个子带的位深度预测还没有进行小波分解的下一级小波分解的小波系数的各个码块的有效位深度。
2.码块码流预分配速率控制方案
利用JPEG2000标准压缩率控制计算失真度减小量计算方法的小波权值ω和量化系数δ作为码块之间进行码率分配的权值,并按照码块包含的通道总数进行码块速率分配。
3.实时编码实时截断JPEG2000编码VLSI结构
根据2.提出码块码流预分配速率控制方案,提出一种实时编码实时截断JPEG2000的EBCOT编码VLSI结构。它在码块编码之前预测到当前码块被截断后的编码字节数,在编码过程中,只要码流达到分配的字节数就截断以后的编码,实现实时编码实时截断。
本发明利用JPEG2000标准压缩率控制计算失真度减小量计算方法的小波权值ω和量化系数δ作为码块之间进行码率分配的权值,并按照码块包含的通道数进行速率分配的方法。可以在码块编码之前预测到当前码块被截断后的编码字节数,这样就可以在编码过程中,只要码流达到分配的字节数就截断以后的编码,从而达到实时截断的效果。本发明的速率控制技术可以不用计算RD斜率,不进行分层截断点的搜索,而且可以让不需要的码流不必再进行编码。而且不必再存储编码通道的RD斜率和截断后的码流,存储器可以节省到比压缩比更高的倍数。因此,这种速率控制技术可以使得系统的实时性大大提高,而且存储器损耗小,便于VLSI实现。
附图说明
图1是速率控制与其他模块的关系;
图2是小波子带与码块有效位深度关系;其中(a)为9/7小波分解两级,(b)是5/3小波分解两级,(c)是9/7小波分解三级,(d)9/7小波分解三级;
图3是有效位深度预测方法图;其中(a)为5/3小波预测,(b)是9/7小波预测;
图4是实时编码实时截断JPEG2000编码体系结构。
以下结合附图和发明人给出的实施例对本发明作进一步的详细描述。
具体实施方式
1.有效位深度预测方法
众所周知,在小波分解之后能量向L方向集中。更加确切的说,LL子带能量比HL、LH能量高,HL、LH能量比HH能量高。这样就明显的知道两级小波分解的优先级依次递减的顺序为:LL0→HL0→LH0→HH0→HL1→LH1→HH1,更高的小波分解级数优先级顺序类似。因此,通常情况下,在体现在子带内的小波分解系数的有效位深度和编码后的字节数。子带内部码块的有效位深度跟小波分解级数和小波子带类型有很重要的关系。在小波分解之后能量向L方向集中。从表现上来说,就是L方向上子带中码块的有效位深度越深。通过大量的实现,可以得到如图2所示的子带和位平面分布关系。码块的位深度基本上从LL→HL→LH→HH分辨率高的方向,子带内的码块的有效位深度依次递减。但是,从实验结果中也可以看出,53小波和97小波又有所不同,53小波的递减趋势不如97小波分解后子带内码块的有效位深度的递减趋势那么明显。对实验结果进行统计可以得到如图3所示的小波子带与内部码块的有效位深度的关系。
从VLSI实现的角度,小波分解首先分解出最高分辨率的小波子带LL、HL、LH及HH,当进一步分解的时候只是针对LL进行分解,而对于HL、LH和HH可以进行Tier1编码。但是此时最终小波分解完成后当前LL的有效位深度是未知的,可以通过图3和已经分解出来小波子带,进行未分解完成的子带有效位深度情况进行预测。
2.码块码流预分配速率控制方案
编码通道数以及编码通道所在的子带是决定图像质量的最重要因素。如果编码通道在越重要的子带,对图像质量影响越大。如果码块被包含的编码通道越多,该码块对压缩图像的质量影响也越大。提出一种新的基于小波变换和量化的权系数以及码块编码通道数的JPEG2000压缩率控制方案。主要过程如下:
a)初始化过程:根据一些小波分解级数和小波类型求解每一个子带的码流分配权值ωi和总的编码通道数。
以下的附表1是9/7小波各级加权系数;附表2是5/3小波各级加权系数。
表1 9/7小波各级加权系数
表2 5/3小波各级加权系数
根据表1、2中的小波变换各个子带的权值和下面的公式给小波子带内的码块分配相同的权系数ωj。
其中
是从表1中查找出来的第k个小波子带系数对应的权系数;r是小波分解级数;j是小波子带索引。
初始化总的编码通道数TnumPs,
TnumPs是当前tile块的所有未编码块数中所有编码通道数,初始情况是所有编码通道数,N是tile块中包含的所有码块数;numPsi是码块i的编码通道数,numPsi=numBpsi×3-2,numBpsi是第i个码块的有效位平面数。在小波分解一级之后,可以直接进行tier1编码,但是此时的LL子带还没有进行进一步的分解,根据有效位深度预测方法预测LL子带中有效位平面数。当超过图3中的位平面时,保留;不足,则修正成图3中的值。然后在进行总的编码通道数的统计。
b)刷新当前码块的编码码字数。首先获取当前编码码块的有效位深度。预测未编码码块的有效位深度,根据统一的通道码字比例关系,进行按照编码通道数的码字分配。
Rcbi=Rmax×numPsi/TnumPs×ωj
其中,Rcbi,表示给码块i分配的字节数,ωj是码块i所在的小波子带的加权系数;
c)码块编码终止:预测码块应该编码的码字长度之后进行模块,对当前码块进行编码,直到当前码块的编码码字数Ri超过或者等于给当前码块分配的码字数Rcbi或者当前码块编码完成,即:月Ri≥Rcbi或者encnumPsi=numPsi,其中encnumPsi表示当前码块i已经被编码的通道数。
d)更新目标码字数Rmax:将目标码字数Rmax减去当前码块i已经编码码字数Ri作为新的目标码字数:Rmax=Rmax-Ri,最终目标压缩文件中就包含已经被编码的Ri个码字。
e)更新编码总的通道数TnumPs:将总的编码通道数减去当前码块i所包含的编码通道数作为新的总编码通道数,即:TnumPs=TnumPs-numPsi;此时如果下一级小波分解已经完成,此时根据新的小波系数的有效位平面,对新产生的小波子带中码块的有效位平面进行更新,得到新的总编码通道数。
f)编码终止:Rmax≤0或者所有码块完全被遍历时,整个tile编码结束:否则返回到2进行下一码块编码。
3.实时编码实时截断JPEG2000编码VLSI结构
根据前面码块码流预分配速率控制方案,提出一种实时编码实时截断的JPEG2000编码的VLSI结构。
实时编码实时截断的JPEG2000编码的VLSI结构如图4所示,它包括:离散小波变换(Discrete Wavelet Transformlation,简称DWT)、码块分割、码块码率控制、tier1编码和tier2编码五个模块。DWT对输入图像经过预处理后的分量进行小波变换,然后在存储小波系数的过程中统计每一个码块的无效位平面,并传递给码块码率控制模块。码块分割主要是将小波系数分割成码块,并按照tier1编码的顺序将小波系数传给tier1编码模块。tier1将输入的码块按照通道编码成压缩码字,并得到每一个编码通道的字节数ΔR。码块码流控制首先将DWT传来的无效位平面从而确定总的编码通道数,然后根据码块码流预分配速率控制算法为当前编码的码块分配压缩后的编码字节数Rcbi,如果得到得字节数累加超过了分配得在字节数Rcbi,即
或者整个码块编码完成,此时对上下文编码和算术编码复位,同时要求码块分割模块给上下文编码送下一个码块。复位后,以后码块的编码通道被截断不再进行编码。码块码流分配模块更新总的编码通道数TnumPs和压缩目标码字数Rmax。截断后的码流通过一个FIFO(First In First Out memory)送给tier2模块进行打包处理,将压缩后的码字组织成JPEG2000压缩文件。这样就相当于在原来的JPEG2000编码结构码率码流控制代替速率控制分配的功能。
这种JPEG2000编码VLSI结构,一方面不比再编码过程中计算RD斜率,另一方面被截断后的码流不必再进行编码,而且省去了最优分层截断,实时性比JPEG2000规定的算法高很多;同样不必存储RD斜率和被截断后的码流,使用的存储器也比JPEG2000规定的算法少很多。因此这个结构实时性高,资源损耗小,适合于VLSI实现。
Claims (2)
1.一种实时截断的JPEG2000速率控制方法,其特征在于,包括以下步骤:
1)有效位深度预测方法根据已经分解的小波子带的有效位深度,预测未知小波子带内码块的有效位深度;
2)码块码流预分配速率控制方案利用JPEG2000标准压缩率控制计算失真度减小量计算方法的小波权值ω和量化系数δ作为码块之间进行码率分配的权值,并按照码块包含的通道总数进行码块速率分配;
3)根据步骤2)设计出实时编码实时截断JPEG2000编码VLSI结构,它在码块编码之前预测到当前码块被截断后的编码字节数,在编码过程中,只要码流达到分配的字节数就截断以后的编码,实现实时编码实时截断。
2.如权利要求1所述的实时截断的JPEG2000速率控制方法,其特征在于,实时编码实时截断JPEG2000编码VLSI结构包括:离散小波变换模块、码块分割模块、码块码率控制模块、tier1编码模块和tier2编码模块;离散小波变换模块对输入图像经过预处理后的分量进行小波变换,然后在存储小波系数的过程中统计每一个码块的无效位平面,并传递给码块码率控制模块;码块分割模块主要是将小波系数分割成码块,并按照tier1编码的顺序将小波系数传给tier1编码模块;tier1编码模块将输入的码块按照通道编码成压缩码字;码块码率控制模块首先是将离散小波变换模块传来的无效位平面从而确定总的编码通道数,然后为当前编码的码块分配压缩后的码字大小,当tier1编码的码字数大于等于分配的码字数或者整个码块编码完成,则当前码块编码结束,同时将码块分割,tier1编码复位,准备进行下一个码块编码,这样未编码的编码通道就在编码的过程中被截断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410026016 CN1267858C (zh) | 2004-04-07 | 2004-04-07 | 实时截断的jpeg2000速率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410026016 CN1267858C (zh) | 2004-04-07 | 2004-04-07 | 实时截断的jpeg2000速率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1564199A CN1564199A (zh) | 2005-01-12 |
CN1267858C true CN1267858C (zh) | 2006-08-02 |
Family
ID=34480538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410026016 Expired - Fee Related CN1267858C (zh) | 2004-04-07 | 2004-04-07 | 实时截断的jpeg2000速率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1267858C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100515021C (zh) * | 2006-12-30 | 2009-07-15 | 中国科学院计算技术研究所 | 基于图像质量和码率约束的jpeg2000码率控制方法 |
CN101365141B (zh) * | 2008-09-23 | 2010-06-02 | 浙江大学 | 一种深度图像和纹理图像码流分配的方法 |
JP2011091576A (ja) * | 2009-10-21 | 2011-05-06 | Sony Corp | 符号化装置および方法 |
CN102186076B (zh) * | 2011-04-29 | 2013-07-10 | 中国科学院光电技术研究所 | 一种实时码率预分配的图像压缩方法及图像压缩装置 |
CN102695060B (zh) * | 2012-06-13 | 2014-08-06 | 西安电子科技大学 | 基于jpeg2000标准的自适应存储器和存储方法 |
CN102790882B (zh) * | 2012-07-25 | 2014-10-22 | 南京信息工程大学 | 一种遥感图像的编码方法 |
CN103118259B (zh) * | 2013-02-22 | 2015-07-22 | 南京信息工程大学 | 一种jpeg2000图像编码方法 |
CN103152568B (zh) * | 2013-02-27 | 2016-02-24 | 西安理工大学 | 一种实时截断码流的jpeg2000编码方法及其实施系统 |
US9813718B2 (en) * | 2013-10-03 | 2017-11-07 | Samsung Display Co., Ltd. | Apparatus and method for compact bit-plane data compression |
-
2004
- 2004-04-07 CN CN 200410026016 patent/CN1267858C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1564199A (zh) | 2005-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100534186C (zh) | 基于码率预分配的jpeg2000自适应率控制系统及方法 | |
CN1223959C (zh) | 编码系统中基于宏块的速率控制装置和方法 | |
CN1288910C (zh) | 基于对象的比特率控制方法和系统 | |
CN1258922C (zh) | 细粒可分级性的最佳传输/流式顺序 | |
CN1132430C (zh) | 多重编码装置 | |
CN1267858C (zh) | 实时截断的jpeg2000速率控制方法 | |
CN1460231A (zh) | 视频编码方法 | |
CN1678073A (zh) | 用于可伸缩视频编码的方向自适应可伸缩运动参数编码 | |
CN1668107A (zh) | 控制图象比特率的方法及其装置 | |
CN102625102A (zh) | 一种面向h.264/svc mgs编码的率失真模式选择方法 | |
CN1665299A (zh) | 可伸缩视频编解码器体系结构设计方法 | |
CN102790882B (zh) | 一种遥感图像的编码方法 | |
CN1186933C (zh) | 数字电视视频编码器并行图象序列码率控制方法 | |
CN1284374C (zh) | 细粒度可分级视频编码系统用的频率加权矩阵的产生方法 | |
CN1870753A (zh) | 一种低复杂度的积分码率控制方法 | |
CN103152568A (zh) | 一种实时截断码流的jpeg2000编码方法及其实施系统 | |
CN101540908A (zh) | 视频编码处理方法和装置 | |
CN108540798A (zh) | 一种jpeg2000图像编码的实现系统及方法 | |
CN1281065C (zh) | 基于树状结构的等级树集合划分视频图像压缩方法 | |
CN1277418C (zh) | 基于小波变换的视频编码控制方法 | |
CN1219403C (zh) | 引入视觉模型的mpeg视频码流码率转换方法 | |
CN1564604A (zh) | 基于树状结构的等级树集合划分视频图像压缩方法 | |
Cheggoju et al. | BlinQS: Blind quality scalable image compression algorithm without using PCRD optimization | |
Liu | Research on image compression algorithm based on SPHIT | |
Liang et al. | A rate control algorithm in JPEG2000 based on code content prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060802 Termination date: 20130407 |