CN1711552A - 解码被破坏的jpeg2000码流的方法 - Google Patents
解码被破坏的jpeg2000码流的方法 Download PDFInfo
- Publication number
- CN1711552A CN1711552A CNA200380103338XA CN200380103338A CN1711552A CN 1711552 A CN1711552 A CN 1711552A CN A200380103338X A CNA200380103338X A CN A200380103338XA CN 200380103338 A CN200380103338 A CN 200380103338A CN 1711552 A CN1711552 A CN 1711552A
- Authority
- CN
- China
- Prior art keywords
- error
- code block
- passage
- reset
- false
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000005192 partition Methods 0.000 claims abstract description 72
- 230000001364 causal effect Effects 0.000 claims description 24
- 230000000644 propagated effect Effects 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000003384 imaging method Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 2
- 238000007906 compression Methods 0.000 description 31
- 230000006835 compression Effects 0.000 description 31
- 238000005070 sampling Methods 0.000 description 31
- 230000007246 mechanism Effects 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000011084 recovery Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005429 filling process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000010978 jasper Substances 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- WURBVZBTWMNKQT-UHFFFAOYSA-N 1-(4-chlorophenoxy)-3,3-dimethyl-1-(1,2,4-triazol-1-yl)butan-2-one Chemical compound C1=NC=NN1C(C(=O)C(C)(C)C)OC1=CC=C(Cl)C=C1 WURBVZBTWMNKQT-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 241000122235 Junco hyemalis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/66—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
一种用于解码编码的数字图像和视频的被破坏的码流的方法,其提供具有改进的误差回复特性的JPEG2000码流。该解码技术应用于其中分区来自在下面的图像的数据的一系列编码算法允许解码图像的不同空间区域,并且管理在分区组之中而可能在分区组之间的相关性的规则已知。通过观察由JPEG2000编码器实行的分区(200),检测分区组中的误差(202),分析在分区组之中且可能在分区组之间的相关性(204),确定在分区组中的误差之后的编码的数据的哪些区域(206)能够被抢救和解码那些区域(208),能够以改进的图像质量解码被破坏的码流。即使在特定分区存在误差,根据在创建码流期间使用的确定模式或“切换”,那个分区的部分可能仍然是完全或部分可解码的。
Description
相关申请的交叉引用
本申请要求于35 U.S.C 119(e)下,于2002年11月15日提交的题目为“Methods for Decoding Corrupt JPEG2000 Codestreams”的U.S.临时申请No.60/426,830的优先权,将其全部内容在此完全包括并作为参考。
技术领域
本发明涉及图像编码的误差回复特性(error resilienceproperties),并且具体地说涉及JPEG2000图像编码算法,且特别地涉及用于改进数字图像、JPEG2000图像和图像视频序列中的误差回复性能的方法。
背景技术
随着使用数字成像的应用继续扩展,产生和处理的数字成像的量快速增加。刺激这种增长的关键技术之一是图像压缩。因为在图像中的数据量可能非常大,图像的发送或存储不采用压缩几乎是不可能的。图像压缩的目的在于以尽可能少的比特表现图像而是保存所需的质量级别。压缩可以用于减少传输或存储图像需要的信道带宽。
图像压缩技术的标准促进了图像易于交换并显著减少了用于图像压缩系统的专用硬件和软件的成本。如果每个网站使用它自己的图像压缩技术将及其难以浏览因特网。每次浏览新的网站都需要下载和安装不同图像压缩软件。
可论证的,最成功的图像压缩标准是由国际标准组织(ISO)和国际电工委员会(IEC)的联合委员会开发的JPEG(联合图像专家组)标准。在因特网上发布的大量图像是使用JPEG压缩的。
因为原来的JPEG标准化努力,该图像压缩技术具有很多优点。引入了几种新的图像压缩技术,其不仅提供改进的压缩性能,而且提供增强的功能。另外,ISO/IEC联合委员会认识到几个其中当前标准不能解决或产生满意结果的领域。因此,在1996年,开始开发新的标准。这个新的标准化努力计划于2000年产生国际化标准;因此标准被命名为JPEG2000。参考ISO/IEC 15444-1,“JPEG2000 Image CodingSystem”,2000和D.S.Taubman和M.W.Marcellin,JPEG2000:ImageCompression Fundamentals,Practice and Standards,Kluwer AcademicPublishers,Massachusetts,2002。
除了提供原有技术的压缩性能,JPEG2000提供解决新出现的成像应用的需要的很多功能性。JPEG2000创建其中图像压缩系统更多地像图像处理系统而不是像简单的输入-输出存储过滤器一样工作的框架。关于几个关键压缩参数,比如质量或分辨率的决定能够延迟到创建码流之后,并且可以从单一码流提取几个不同的图像产品。这个新的框架增强了现有成像应用的功效并使得能够使用新出现的成像应用。
JPEG2000使用基于上下文(context)的算法位面(bitplane)编码器用于熵编码(entropy coding)。这个编码器的工作高度依赖系统的状态,并且保持编码器和解码器的同步很重要。在比特流的算法编码分段中的单一比特误码能够破坏这个同步,并且造成错误解压。
运动JPEG2000是用于处理视频的JPEG2000标准的一部分。运动JPEG2000本身定义包括JPEG2000图像、音频、时序信息和元数据的一个或多个运动序列的文件格式。运动JPEG2000不使用帧内(inte-frame)编码。使用JPEG2000编码在视频序列中的每个图像。可以使用其它视频格式来处理JPEG2000图像的序列。JPEG2000概述
JPEG2000是新的国际图像压缩标准(ISO/IEC 15444-1,“JPEG2000 Image Coding System”,2000)。JPEG2000提供原有技术的压缩性能以及相对先前的压缩标准的改进的功能。具体地说,JPEG2000标准的误差回复特性(error resilience properties)提供几个机制来对抗(combat)码流中的误差。虽然JPEG2000标准仅指定解码器和码流语法,描述代表性的编码器来使得能够更容易地解释算法和理解误差回复特性。更为平衡的观点能够在M.W.Marcellin,M.J.Gormish,A.Bilgin和M.P.Goliek的“An overview of JPEG-2000”,Data Compression Conference,pp.523-541,March 2000,Snowbird,UT.找到。对于JPEG2000的完全概述,参考D.S.Tarubman和M.W.Marcellin的JPEG2000:Image Compression Fundamentals,Practice and Standards,Kluwer Academic Publishers,Massachusetts,2002。
JPEG2000编码器10的基本框图如图1所示。这里,首先将输入图像12划分为非重叠矩形窗口配置(tiles)14。如果图像具有多个分量,可以应用可选的分量变换16以解相关分量。在特定窗口配置中的每个分量的采样被称为窗口配置分量(tile-component)。之后使用小波变换18变换每个窗口配置分量并且将小波子带分区位几个不同的几何结构,如图2所示。这些几何结构是启用低存储器实现的工具并且提供空间随机存取,并且实现码流的误差回复。
JPEG2000中的最小几何结构是码块。通过分区小波子带形成码块。如图2所示,特定分辨率的码块28被一起分组以形成区域(precinct)30a、30b和30c(最低到最高分辨率)。一旦量化小波子带(20),使用位面编码器22单独压缩每个码块。位面编码器在码块的每个位面上形成三个通道(pass)。这些通道被称为编码通道或子位面。来自每个码块的压缩的数据被认为是嵌入的码块比特流24。之后基于任意需要的标准,产生(27)JPEG2000码流26以包括来自每个单独的码块比特流24的不同数目的编码通道。
位面编码
如先前部分所述的,独立于每个码块执行熵编码。将这个编码执行为位面的内容相关的、二进制的算术编码。采用的算术编码器是在JBIG-2标准中指定的MQ编码器(ISO/IEC 14492,“informationTechnology-Lossy/Lossless Coding of Bi-level Images,1999)。考虑是在符号-数量表示中的整数阵列的量化模块,使得q[n]指示在码块的位置n=[n1,n2]的量化索引。使得
和 分别指示符号和数量阵列。当q[n]=0时x[n]是不能确定的。但是,这个情况不引起任意问题,因为当q[n]=0时不需要编码符号。之后,考虑具有来自每个系数的一个比特的二进制阵列的序列。这些二进制阵列被称为位面。一旦这种阵列能够存储每个系数的符号,例如,符号面32,如图3a所示。使得用于当前子带的数量位面的数目由Kmax指示。最上面的数量位面34包括所有数量的最高(有效)位(MSB)。下一个位面包括所有数量的下一个MSB,以这种方式继续直到最终位面36包括所有数量的LSB。
使得
表示由从v[n]下降p个LSB产生的值。在位面p的采样的“有效性”由下面的定义:
因此,如果σ(p)[n]=1,在位置n的采样被认为相对于位面p是有效的。否则,认为采样没有效。对于子带中的给定码块,编码器首先确定合适数量的位面,K≤Kmax,需要其来表示在码块中的采样。典型地,将K选择为使得对于所有n,v[n]<2K的最小整数。将等于零的位面的数目(从MSB开始),Kmsbs=Kmax-K作为附属信息通知解码器。每个子带的Kmax还可用于解码器。然后,从位面K-1开始,在三个通道(称为编码通道)中编码每个位面。
在每个模块(在所有子带中)中的位面编码之后的扫描图形38如图3b所示。在三个编码通道的每个中之后是这个扫描图形。基于那个比特的位置的有效性和相邻位置的有效性决定在哪个通道中编码给定比特。使用内容相关的二进制算法编码进行所有位面编码,除了有时在第三通道中采用游程的编码。定义σ[n]为编码处理期间采样的“有效性状态”。在编码处理的开始对于所有采样将σ[n]设置为零,并且一旦编码采样的第一非零数量比特,就将其重新设置为1。
在新的位面中的第一图形被称为有效性传播通道。如果它的位置是无效的,但是它连接的八个相邻比特中至少一个是有效的,那么在这个通道中编码比特。换句话说,如果σ[n]=0且
则在有效性传播路径中编码在位置n的比特。如果编码比特且编码的比特是1,编码当前采样的符号比特且立即将σ[n]=0设置到1。
在JPEG2000中,根据当前比特的内容选择用于驱动算术编码器的概率估计。另外,JPEG2000根据编码通道和子带类型采用不同的上下文模型。对于有效性编码(significance coding),使用9个不同上下文。上下文标签κsig[n]是根据当前比特44的八个连接的相邻比特42的有效性状态,如图4所示。使用这些相邻的有效性状态,从三个量形成κsig[n]:
κh[n]=σ[n1,n2-1]+σ[n1,n2+1]
κv[n]=σ[n1-1,n2]+σ[n1+1,n2]
表1示出了给定κh[n]、κv[n]和κd[n]怎样产生κsig[n]。之后κsig[n]确定用于算术编码的概率估计。
表1:用于有效性编码的上下文标签“-表示忽略”
κsig[n] | LL和LH码块 | HL码块 | HH码块 | |||||
κh[n] | κv[n] | κd[n] | κh[n] | κv[n] | κd[n] | κd[n] | κh[n]+ kv[n] | |
8 | 2 | - | - | - | 2 | - | ≥3 | - |
7 | 1 | ≥1 | - | ≥1 | 1 | - | 2 | ≥1 |
6 | 1 | 0 | ≥1 | 0 | 1 | ≥1 | 2 | 0 |
5 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | ≥2 |
4 | 0 | 2 | - | 2 | 0 | - | 1 | 1 |
3 | 0 | 1 | - | 1 | 0 | - | 1 | 0 |
2 | 0 | 0 | ≥2 | 0 | 0 | ≥2 | 0 | ≥2 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
如前所述,在它的第一非零比特之后立即编码采样的符号比特。类似于有效性编码,符号编码也采用上下文模型技术。JPEG2000使用5个上下文用于符号编码。根据当前采样的四个连接的相邻比特选择上下文标签κsigh[n]。使用中间量化合并相邻信息。
xh[n]=x[n1,n2-1]σ[n1,n2-1]+x[n1,n2+1]σ[n1,n2+1]
xv[n]=x[n1-1,n2]σ[n1-1,n2]+x[n1+1,n2]σ[n1+1,n2]
之后将xh[n]和xv[n]截取到-1到1的范围以形成
xh[n]=sign(xh[n])min{1,|xh[n]|}
xv[n]=sign(xv[n])min{1,|xv[n]|}
之后在表2中给出符号编码上下文标签κsigh[n],以及符号反向(sign-flipping)因子xflip[n]。算术编码的二进制码元s被定义为:
表2 符号编码的上下文标签
xh[n] | xv[n] | κsign[n] | xflip[n] |
1 | 1 | 14 | 1 |
1 | 0 | 13 | 1 |
1 | -1 | 12 | 1 |
0 | 1 | 11 | 1 |
0 | 0 | 10 | 1 |
0 | -1 | 11 | -1 |
-1 | 1 | 12 | -1 |
-1 | 0 | 13 | -1 |
-1 | -1 | 14 | -1 |
第二通道是数量求精通道。在这个通道中,编码来自在先前位面中有效的位置的所有比特。如名字所暗示的,这个通道求精在先前位面中已经很有效的采样的数量。如表3所示的选择该数量求精内容标签κmag[n]。在表中,
σ[n]指示由一个位面延迟的σ[n]的有效性状态变量。换句话说,类似于σ[n],在开始将
σ[n]初始化到0,并且仅在编码采样的第一数量求精比特之后设置到1。
表3:用于数量求精编码的上下文表:“-表示忽略”
σ[n] | κsig[n] | κmog[n] |
0 | 0 | 15 |
0 | >0 | 16 |
1 | - | 17 |
第三和最终通道是清扫(clean-up)通道,其考虑没有在前两个通道中编码的任意比特。通过定义,这个通道是“有效性”通道,所以如在有效性传播通道中所述的,有效性编码用于编码在这个通道中的采样。但是,不像有效性传播通道,游程编码模式也可以出现在这个通道中。当在扫描39的列中的所有四个位置(参考图3b)没有效,且每个仅具有不重要的相邻位置时发生游程编码。然后编码单一比特以指示列是否是相同的零。如果不是,编码零游程的长度(0到3),反转到“正常”的一比特一比特编码用于在终止零游程的1之后的位置
JPEG2000码流的解析
JPEG2000码流的结构如图5所示。为了形成码流的目的,布置来自每个区域的压缩数据以形成分组46。对于每个区域可以有多个分组,对应于多个“质量层”(quality layers)。每个分组包括来自区域中的每个码块的零或多个编码通道。以这种方式,可以在多个分组上分区来自码块的编码通道。分组在组织JPEG2000码流的数据中担任重要角色。每个分组包括报头48和分组主体50。分组报头包括关于在区域中的每个码块在分组中的分布的信息。而分组主体包括码块的编码通道。数据特定窗口配置的分组被一起分组以形成窗口配置流52,并且将窗口配置流一起分组以形成JPEG2000码流54。类似于分组,窗口配置流包括报头56和主体58。可以将窗口配置流分解为多个窗口配置部分。在这个情况中,第一窗口配置部分包括窗口配置报头,且剩余的窗口配置部分包括窗口配置部分报头。在码流的开始还有一个主要报头60。EOC62标记表示码流的结尾。
误差回复
使用基于上下文的算术位面编码器来实现JPEG2000中的熵编码。这个编码器的操作高度依赖系统的状态,并且保持在编码器和解码器之间的同步很重要。在比特流的算术编码分段中的单一比特错误能破坏这个同步,并且造成错误的解压。为了解决这个问题,在JPEG2000中提供了几个误差回复工具。
将码流分区为不同的分区组是解决的第一步。考虑误差回复,分区意在隔离在一个分区组中误差到那个特定分区组中,并且防止误差传播通过分区组边界。因为以分层方式组织码流,这个隔离发生在几个级别。每个码流以主要报头开始。主要报头包括比如图像和码块尺寸的判据信息,并且对于码流的校正解压很重要。如果主要包头的区域(section)在解码器不可用,解码器可能不能够解码码流。类似地,如果在传输期间窗口配置流报头丢失,解码器可能不能确定那个窗口配置的正确解压需要的几个参数。这可能造成丢弃整个窗口配置。如果使用窗口配置部分且第一窗口配置部分报头丢失可能出现类似的情况。但是,如果任意剩余的窗口配置部分的报头丢失,解码器将能够解压以前的窗口配置部分并可能需要丢弃属于当前窗口配置的剩余的窗口配置部分。如果丢失分组报头,在对应于相应区域的当前和将来的分组中的所有数据将不得不被丢弃。因为码块是被独立编码的,误差不在码块之间传播。因为来自一个码块的编码通道可能在多个分组中出现,即使分组报头没有被破坏,误差可以在分组之间传播。
JPEG2000提供其中可以从每个分组中提取分组报头并存储在窗口配置部分报头或主报头中的机制。这被称为填满的分组报头(packedpacket header)。如果能够以无损方式发送主报头和窗口配置部分报头,填满的分组报头能够提供误差回复的显著优点。因为分组报头包括在分组中所有编码通道的字节长度,解码器能够使用这个信息隔离误差。
误差检测和重同步。
为了实现分级的数据分区,JPEG2000提供用于误差检测和重同步的几个机制。一个这种机制是JPEG2000中的字节填塞过程(byte-stuffing procedure)。通过使用这个字节填塞过程,JPEG2000算术编码器不产生编码通道内的特定值(0xFF90到0xFFFF)。这些被称为定界标记码(delimiting marker code)的值保存用于码流标记。这些值之一的未期望检测表示发生了误差。
通过模式变量启用一些误差检测和重同步机制。这些对于编解码的默认模式的选项允许在压缩效率的某些稍微降低的交换的附加性能。通过在报头内部信号通知的标志(flag)控制模式变量。这些模式切换如表4所列,并不是都意在增强误差回复。
表4:模式变量
切换 | 描述 |
BYPASS | 选择MQ编码器分路 |
RESET | 复位上下文状态 |
RESTART | 终止和重启MQ编码器 |
CAUSAL | 条纹-因果(stripe-causal)上下文信息 |
ERTERM | 可预测的终止 |
SEGMARK | 分段标记 |
当使用RESET模式时,将上下文状态(也就是,用于算术编码的概率)复位到在每个编码通道的结尾的它们的初始值。如果不指定RESET切换,这个初始化仅发生在码块的第一编码通道之前。虽然这个模式略微减少了压缩效率,对于并行处理应用是有用的。
该RESTART切换使得MQ编码器在每个编码通道的开始被重启。因此,当使用这个模式时,每个编码通道具有自己的MQ代码字分段。在分组报头中信号通知这些分段的每个的长度。这样这个模式减少了压缩效率并增加了总开销量。但是,RESTART模式对于误差回复非常有用,这是因为它增加了解码器的数据恢复能力。
BYPASS模式的目的是提供高速下复杂度的降低,以及压缩效率的较少损失。当选择这个模式时,当p<K-4时,在第一(有效性传播)和第二(数量求精)编码通道期间MQ编码器被分路。换句话说,仅在每个码块的第十编码通道之后激活这个模式。因为在第十编码通道之后,来自前两个编码通道的码元对于多数图像不显示出高度倾斜的概率,这个模式通常不造成压缩效率的可观损失。当分路MQ编码器时,在原始分段中存储二进制码元。为了避免在这些原始分段内部出现定界标记码,采用简单的比特填塞过程。将原始分段插入比特流需要终止先前的MQ编码分段。而且需要在开始MQ分段(清除编码通道)之前终止原始分段。如果也选择了RESTART模式,则在每个编码通道的结尾发生终止。应该在相关分组报头内信号通知每个终止的分段的长度。
由标准定义的另一模式是SEGMARK模式。如果启用这个模式,在每个位面的第三编码通道的结尾插入四个码元代码(“1010”)。因为在任意编码通道中的比特误差易于破坏这些码元的至少一个,解码器能够检测发生误差,并且丢弃错误的编码通道。
该标准没有定义编码器需要采用的特定代码字终止方针。总的来说,编码器可以以造成矫正解码的任意方式自由地终止代码字。但是,当使用ERTERM模式时,编码器对于每个MQ和/或原始代码字分段采用可预测的终止方针。因此,解码器能够检测在特定编码通道中发生误差。
由标准定义CAUSAL模式以允许并行处理编码通道。当使用CAUSAL模式时,略微修改上下文形成过程。回想在码块中采样的扫描图形,如图3b所示,其是4-采样条纹定向扫描。在CAUSAL模式中,编码在当前条纹64中的采样而不根据将来的条纹66的值。因此,当形成上下文时,来自将来条纹的所有采样被认为无效。为了澄清,假定编码在位置n的采样67,如图6所示。如图所示,假定这个采样属于条纹的第四行。如果使用CAUSAL模式,认为对于κ2=-1,0,1,有效性状态σ[n1+1,n2+κ2]是0。
JPEG2000的误差回复特性
在比如因特网或无线网络的有损通信信道上的图像传输是快速扩展的市场,其提供了额外的技术挑战。当在这种信道上发送压缩的图像时,在解码器接收的压缩的码流包括误差。解码器应该能够使用这些有噪声的码流重建图像。很多图像压缩方法依靠依赖系统状态的有效熵编码器。这种编码器对于码流中的误差很敏感。JPEG2000标准没有定义当检测到码流中的误差时解码器的行为。
在有损通信信道上的高性能图像编解码器的操作需要仔细的设计,以避免当码流被破环时完全失败。设计高度依赖信道的损失特性。例如,假定信道引入擦除使得一些发送的数据不由解码器接收。这种模型实际上被用于表现因特网的传输特性。假定反馈信道可用,一个方法是向发送者请求重发丢失的数据。这是如何在因特网上使用TCP/IP协议实现可靠的通信。如果用户接收被破坏的图像(或数据分组),用户丢弃数据且发送消息到数据被破坏的服务器。服务器重发数据直到无误差地接收。这个方法的优点在于最终无误差地接收图像。但是,存在很多缺点。首先,这个方法需要反馈信道。在一些情况下,这种信道可能不存在,或者解码器因为安全性考虑不希望接触发送者。如果信道经历大量损失,重发请求将进一步洪流(flood)信道并且信道的有效带宽将可能相当低。另外,这个方法引入延迟且不可应用于实时应用。
JPEG2000图像的当前实践是当在特定编码通道中检测到误差时,丢弃用于码块的当前和将来的编码通道。如前所述的,从MSB开始到LSB压缩每个码块的位面。对于每个码块执行三个编码通道。如果解码器检测在特定编码通道中的误差,保持从之前编码通道重建的位面,并且丢弃属于当前码块的当前和将来的编码通道。不影响其它码块。这将造成对于由码块影响的区域的重建图像的质量降低。这个实践在所有现有的软件实现中采用,包括ISO/IEC JTC1/SC29/WG1N2165,“JPEG2000 Verification Model 9.1(技术描述),”2001;D.Tarbman,“Kakadu:A comprehensive,heavily optimized,fullycompliant software toolkit for JPEG2000 developers,”http://www.kakadusoftware.com;M.D.Adams,“JasPer,”http://www.ece.ubc.ca/~mdadams/jasper;和“JJ2000:An implementationof JPEG2000 standard in Java,”
http:/jj2000.epfl.ch,且在文件中不存在本方法的其它选择。
发明内容
考虑上述问题,本发明提供了用于解码编码的数字图像/视频的被破坏的码流的解码技术,并且具体地说,提供具有改进的误差回复特性的JPEG2000码流。
解码技术应用于一系列编码算法,比如其中以在数据中引入确定已知相关性的方式编码在其下的图像的JPEG2000。将数据分区为n个分区组以限定相关性到(例如)有限空间区域。n=1的概率对应于包括所有数据的一个分区组。当在分区组中发生误差时,在每个分区组中的相关性确定抢救在误差之后那个分区组中剩余数据的一些、全部或不抢救。另外,当在分区组发生误差时,在分区组之间的相关性确定是否抢救在其它相关组中的数据。
通过在分区组中检测误差,分析在分区组中,且可能在分区组之间的相关性,确定当误差发生时能够抢救数据的哪些部分,以及解码那些部分,能够以改进的图像质量解码被破坏的码流。当可用时使用关于误差位置的外部信息。这是基于根据(可能)在码流创建期间使用的确定的模式或“切换”,即使在特定分区组中存在误差,那个组的一部分(以及另外的相关组)可能仍然完全或部分可解码的事实来实现的。
在JPEG2000中,以很多级别来分区压缩的码流。首先将码流分区为窗口配置流(tile-streams)。窗口配置流被分区为分组,并且分组包括来自不同码块的编码通道(coding passes)。独立于每个码块执行熵编码。执行这个编码为位面的上下文相关、二进制的算术编码。在码块的每个位面上执行三个通道,并且对于每个码块产生单独的比特流。基于那个比特位置的有效性和相邻位置的有效性决定哪个通道编码给定比特。这些通道被分别称为有效性传播通道(significancepropagation pass)、数量求精通道(magnitude refinement pass)、和清除通道(clean-up pass)。解码技术是基于即使在先前的编码通道中存在误差,根据在创建码流期间使用的特定模式切换(RESET、BYPASS和CAUSAL)和在误差位置上外部信息是否可用,一些(或全部)将来的编码通道仍可能完全或部分可解码。即使它们形成相同码块,可能可解码的将来的编码通道被在多个分组之间分区。当在码流中发生误差时,解码器基于这些切换的状态小心确定误差怎样传播通过码流。解码不由误差影响的码流的区域而不是丢弃。
本领域普通技术人员通过下面结合附图的优选实施例的详细说明能够更加清楚本发明的这些和其它特征及优点,在附图中:
附图说明
图1是如上所述的JPEG2000编码器的框图;
图2是如上所述的用于窗口配置分量的小波子带的分区;
图3a和3b分别是如上所述的表示码块的位面和用于位面编码的扫描图形;
图4是如上所述的用于形成有效性上下文模型的相邻采样;
图5是如上所述的简单的JPEG2000的码流;
图6示出了如上所述的CAUSAL模式中上下文的形成;
图7a和7b是用于根据本发明解码被破坏的数据的解码技术的流程图;
图8是码块比特流;
图9-14是根据本发明的没有外部误差检测的编码通道相关性;
图15-24输出了根据本发明的具有外部误差检测的编码通道相关性;
图25-26是示出了能够抢救的采样的实例;
图27是由CCP在KDU上提供的PSNR增益的分布;以及
图28是JPEG-2000成像和分布系统的框图。
具体实施方式
本发明提供用于解码编码的数字图像和视频序列的被破坏的码流的解码技术,并且具体地说,提供具有改进的误差回复特性的JPEG2000码流。很清楚当图像是视频序列的一部分时可应用本发明,可以采用或不采用运动JPEG2000文件格式。
解码技术应用于一系列编码算法,比如其中以在数据中引入确定已知相关性的方式编码在其下的图像的JPEG2000。将数据分区为n个分区组以限定相关性到(例如)有限空间区域。n=1的概率对应于包括所有数据的一个分区组。该数据可以不是文字图像像素,但是可以由像素的一些处理获得:例如,量化小波系数。当在分区组中发生误差时,在每个分区组中的相关性确定在误差之后可被抢救的那个分区组中剩余数据的一些、全部或不抢救。另外,当在分区组发生误差时,在分区组之间的相关性确定是否抢救在其它相关组中的数据。
如图7a所示,通过观察以在下面的算法(200)实行的分区、检测分区组中的误差(202)、分析在分区组之中且可能在分区组之间的相关性,确定当误差发生时抢救数据的哪些部分(206)和解码那些抢救部分(208),以改进的图像质量解码被破坏的码流。当可用时使用关于误差的位置的外部信息。这是基于即使在特定分区组中存在误差,根据(可能)在创建码流期间使用的特定模式或“切换”,那个组的一部分(或其它相关的组)仍然可完全或部分解码的事实决定的。即使在分区组的第一误差之后发生的部分(完全或部分可解码)也是正确的;事实上,即使根据其中发生误差的分区组,可解码的部分位于另一分区组。这个情况,例如,关于何时在多个分组中进一步分区来自码块的编码通道。
下面参考JPEG2000详细描述解码技术,但是应该理解在这里描述的原理可以应用于静态和视频图像的其它压缩算法,其中以相关方式编码在下面的数据并且管理相关性的规则是已知的。例如,运动JPEG2000。
如上所述,在JPEG2000中,独立于每个码块执行熵编码。这个编码被执行为位面的上下文相关的、二进制的算术编码。在从最高有效的位面68到最低有效的位面70的码块的每个位面上执行三个通道,并且对于每个码块产生单独的比特流,如图8所示。基于比特位置的有效性和相邻位置的有效性决定编码哪个通道的给定比特。这些通道分别被称为significance propagation pass(有效性传播通道)72,magnitude refinement pass(数量求精通道)73和clean-up pass(清除通道)74。
解码技术是基于这样的观察:即使在先前的编码通道中存在误差,根据在创建码流期间使用的某些模式,一些(或全部)将来的编码通道仍可能完全或部分可解码。为了效率,必须知道管理在分区组之中且可能在分区组之间的相关性的规则。具体地说,如用于JPEG2000图像的图7b所示,通过观察由JPEG2000算法(210)实行的分区,检测在特定编码通道中的误差(212),分析在编码通道之中由BYPASS、RESET和CAUSAL切换214、216和218的状态定义的相关性(步骤220),确定当发生误差时数据的哪些部分(222)可被抢救并解码那些抢救部分(224)来解码被破坏的码流。在JPEG2000中,分区组可以是窗口配置、分量、窗口配置分量、窗口配置部分、区域(precinct)、分组或码块。在下面的特定情况中,在由码块给定的分区组中分析相关性。当在多个分组上进一步分区来自码块的编码通道时,在分组给定的分区组之间分析相关性。
可以在不同情况下恢复码块比特流的不同部分。在解码期间可以使用关于误差的位置的外部信息。可以从在传输之前应用到JPEG2000码流的信道代码收集这种信息。对于分组切换网络,比如因特网,可以从网络层容易地获得这个信息。对于编码通道中的第一误差的位置具有特定兴趣。如果这个信息可用,可以获得当前和未来的编码通道的部分解压缩。
没有外部误差检测
在没有关于误差位置的外部信息可用的情况下,使用JPEG2000的内部机制执行误差检测。假定在编码器设置了RESTART和ERTERM开关,其允许识别单独编码通道和将码块比特流解析为在解码器的单独的编码通道。
考虑由是否设置RESET和BYPASS切换以在编码器创建码流确定的四个不同情况。对于四个情况的每一个,考虑在有效性传播、数量求精、以及清除通道中单独发生的误差。如附图所示,需要丢弃的比特流部分画上了交叉阴影。使用下面的标签指示不同编码通道:有效性传播:1,数量求精:2,清除:3。这形成单独分析的十二个不同情况。
RESET=False(假),BYPASS=False(假),Error in significancePropagation(在有效性传播中的误码):当在有效性传播通道78中存在误差76时,κsig和σ[j]被破坏。因此,下面的编码通道都不能被解码(参考图9)。对于每个位面,执行三个编码通道并且基于比特以及它的相邻比特的有效性状态σ[j]决定在哪个编码通道编码特定的比特。因为在编码开始之前将有效性信息初始化到零,并且在编码期间更新,在有效性信息中的单一误差将传递到所有将来的编码通道。一旦有效性信息被破坏,其中在位面中访问采样的顺序被破坏。这个误差传播到所有将来的编码通道,并且它们都不能被解码。
RESET=False(假),BYPASS=False(假),Error in magnitudeRefinement(数量求精通道中的误码):当在数量求精通道82中存在误差80时,虽然κsig没有被破坏,用在用于数量求精通道的算术编码中的状态信息被破坏。因此,应该丢弃所有下面的数量求精编码通道。但是,可以解码编码通道的两个其它类型。参考图11。
RESET=False(假),BYPASS=False(假),Error in Clean-up(清除通道中的误差):类似于有效性传播通道,当在清除通道86中存在误差84时,κsig和σ[j]被破坏。因此,下面的编码通道都应该被丢弃。参考图10。
RESET=False(假),BYPASS=True(真),Error in SignificancePropagation(有效性传播中的误差):当在有效性传播通道90中存在误差88时,κsig和σ[j]被破坏。虽然没有进一步的有效性传播或清除通道能够被解码,可以使用更多的数量求精通道,因为分路选项关闭算术编码。参考图10。
RESET=False(假),BYPASS=True(假),Error in MagnitudeRefinement(数量求精通道中的误码):因为不使用算术编码且存储原始比特。在数量求精通道94中的误差92仅影响单一采样(除了其中字节填塞需要用于避免产生受限的标记代码)。因此,解码器应该继续解码当前和所有将来的编码通道。参考图12。
RESET=False(假),BYPASS=True(真),Error in Clean-up(清除通道中的误码):当在清除通道86中存在误差84时,κsig和σ[j]被破坏,且所有下面的编码通道都应该被丢弃。参考图14。
RESET=True(真),BYPASS=False(假),Error in SignificancePropagation(有效性传播通道中的误差):当在有效性传播通道78中存在误差76时,κsig和σ[j]被破坏且使用算术编码,所有下面的编码通道都应该被丢弃。参考图9。
RESET=True(真),BYPASS=False(假),Error in MagnitudeRefinement(数量求精通道的误差):在数量求精通道98中的误差96将破坏κmag。因为有效性传播和清除通道都不和κmag相关,可以解码所有这种通道。另外,因为复位切换将重新初始化κmag,用于下一个数量求精编码通道,也可以解码所有将来的数量求精编码通道。参考图13。
RESET=True(真),BYPASS=False(假),Error in Clean-up(清除通道中的误差):当在清除通道86中存在误差84时,κsig和σ[j]被破坏,且所有下面的编码通道都应该被丢弃。参考图14。
RESET=True(真),BYPASS=True(真),Error in SignificancePropagation(有效性传播通道中的误差):当在有效性传播通道90中存在误差88时,κsig和σ[j]被破坏。虽然没有将来的有效性传播或清除通道能够被解码,可以使用多个数量求精通道,因为分路选项关闭算术编码。参考图10。
RESET=True(真),BYPASS=True(真),Error in MagnitudeRefinement(数量求精通道中的误码):因为不使用算术编码,且存储原始比特。在数量求精通道94中的误差92仅影响单一采样(除了其中字节填塞需要用于避免产生受限的标记代码)。因此,解码器应该继续解码当前和所有将来的编码通道。参考图12。
RESET=True(真),BYPASS=True(真),Error in Clean-up(清除通道中的误差):当在清除通道86中存在误差84时,κsig和σ[j]被破坏,且所有下面的编码通道都应该被丢弃。参考图14。
具有外部误差检测
当用于误差检测的外部机制可用时,关于误差位置的信息可以用于改进JPEG2000的性能。存在能够用于误差检测的几个机制。在分组交换网络中,将数据划分为网络分组并发送。在解码器,一些分组可能不可用,因为它们因为拥塞而由网络丢弃。在这个情况中,解码器能够识别误差在码流中的确切位置。类似地,如果使用纠错编码技术防止码流的传输误差,能够使用纠错解码器估计误差在码流中的位置。可以开发外部机制以定位在JPEG2000码流本身中的误差。总的来说,外部机制提供关于误差在码流中的位置的附加信息,检测机制存在在码流内部或外部。
在编码通道中的第一误差的位置特别重要。如果这个位置已知或能够被估计,可以解压编码通道的无误差区域。我们将此称为部分解码。另外,仅和当前编码通道的无误差部分相关的将来的编码通道的部分也能被解压。
类似于先前部分的部分解码,其和用于创建码流的切换相关。除了RESET和BYPASS切换,CAUSAL切换也在这个情况中担任重要作用。假定对于所有码流设置RESTRAT和ERTERM切换。首先分析RESET和BYPASS切换在部分解码上的效果。然后分析CAUSAL切换在部分解码上的效果。
RESET=False(假),BYPASS=False(假),Error in significancePropagation(有效性传播通道中的误差):当在有效性传播通道102中存在误差100时,κsig和σ[j]被破坏。虽然没有进一步的编码通道能够被完全解码,可以部分解码多个数量求精通道,能够解码的数量求精通道的部分由κsig和σ[j]的未被破坏的部分确定。参考图15。
RESET=False(假),BYPASS=False(假),Error in magnitudeRefinement(数量求精通道中的误码):当在数量求精通道106中存在误差104时,虽然κsig没有被破坏,用在用于数量求精通道的算术编码中的状态信息被破坏。因此,应该丢弃所有下面的数量求精编码通道。但是,可以完全解码编码通道的两个其它类型。参考图19。
RESET=False(假),BYPASS=False(假),Error in Clean-up(清除通道中的误差):当在清除通道110中存在误差108时,κsig和σ[j]被破坏。因此,下面的编码通道都应该被丢弃。参考图22。
RESET=False(假),BYPASS=True(真),Error in SignificancePropagation(有效性传播通道中的误差):当在有效性传播通道114中存在误差112时,σ[j]被破坏。虽然没有将来的有效性传播或清除通道能够被完全解码,可以完全解码多个数量求精通道。另外,能够部分解码清除、有效性传播和数量求精通道的每一个的再一个。参考图16。
RESET=False(假),BYPASS=True(真),Error in MagnitudeRefinement(数量求精通道中的误码):因为不使用算术编码且存储原始比特。在数量求精通道118中的误差116仅影响单一采样(除了其中字节填塞需要用于避免产生受限的标记代码)。因此,解码器应该继续解码当前和所有将来的编码通道。参考图20。
RESET=False(假),BYPASS=True(真),Error in Clean-up(清除通道中的误差):当在清除通道122中存在误差120时,虽然κsig和σ[j]被破坏,能够部分解码再一个有效性传播通道和数量求精。参考图23。
RESET=True(真),BYPASS=False(假),Error in SignificancePropagation(有效性传播通道中的误差):当在有效性传播通道126中存在误差124时,κsig和σ[j]被破坏。但是,因为对于每个编码通道复位算术编码状态,可以进行所有下面的编码通道的部分解码。参考图17。
RESET=True(真),BYPASS=False(假),Error in MagnitudeRefinement(数量求精通道中的误码):在数量求精通道130中的误差128将破坏κmag。因为有效性传播和清除通道都不和κmag相关,可以解码所有这种通道。另外,因为复位切换将重新初始化κmag用于下一个数量求精编码通道,也可以解码所有将来的数量求精编码通道。参考图21。
RESET=True(真),BYPASS=False(假),Error in Clean-up(清除通道中的误差):当在清除通道134中存在误差132时,κsig和σ[j]被破坏。但是,因为对于每个编码通道复位算术编码状态,可以进行所有下面的编码通道的部分解码。参考图24。
RESET=True(真),BYPASS=True(真),Error in SignficancePropagation(有效性传播通道中的误差):当在有效性传播通道138中存在误差136时,κsig和σ[j]被破坏。能够完全解码多个数目求精通道并且可以部分解码所有剩余通道。参考图18。
RESET=True(真),BYPASS=True(真),Error in MagnitudeRefinement(数量求精通道中的误码):因为不使用算术编码且存储原始比特。在数量求精通道118中的误差116仅影响单一采样(除了其中字节填塞需要用于避免产生受限的标记代码外)。因此,解码器应该继续解码当前和所有将来的编码通道。参考图20。
RESET=True(真),BYPASS=True(真),Error in Clean-up(清除通道中的误差):当在清除通道134中存在误差132时,κsig和σ[j]被破坏。但是,因为对于每个编码通道复位算术编码状态,可以进行所有下面的编码通道的部分解码。参考图24。
在所有上述情况中,能够抢救的编码通道的部分和误差依赖于怎样从一个编码通道传播到另一个编码通道。这个传播依赖于其中在编码期间访问采样的顺序。误差传播还依赖于使用CAUSAL=True(假)或CAUFAL=False(假)创建码流。当CAUSAL切换被打开时,当形成上下文标签时在将来条纹中的采样将处理为无效的。这影响误差传播。因此,当误差发生时,如果CAUSL=True(真)相对CAUSAL=False(假)时误差传播慢得多。通过仔细分析这个误差传播,解码器识别在将来编码通道中能够抢救的所有采样。对于对应于图25的在有效性传播通道中具有误差位置141和143的情况,CAUSAL=True 140和CAUFAL=False 142的采样分别如图25(CAUSAL=True)和图26(CAUFAL=False)所示。能够抢救的采样如白色圆圈所示,而应该丢弃的采样由有交叉阴影的圆圈所示。对于一些情况,能够抢救的采样可能不在诸如如图25和26所示的简单的分区之后。但是,可以使用列表跟踪这些采样。
实验结果
在这个部分中,考虑在多种误差情况下JPEG2000的误差回复。在所有仿真中,保护主要报头和窗口配置报头不受误差影响,并且使用PPM标记。每个仿真执行1000次。比较两个方法的性能。第一方法是在Kakadu(KDU)实现的已知的一个。在这个方法中,解码器和JPEG2000的内部误差检测机制相关。一旦在编码通道中检测到误差,丢弃来自当前码块的所有剩余编码通道。第二方法(CCP)具体表现在这里所述的解码技术。一旦解码器通过外部装置识别码块码流中的初始误差,该解码被执行直到包括第一误差的字节。然后,解码器执行分析以识别能够解码哪个剩余的编码通道。使用不同模式的KDU和CCP的性能分别如表5和表6所示。这些图表说明在具有误码率=10-4的二进制对称信道(BSC)上KDU和CCP的平均峰值信噪比(PSNR)性能。表6的结果示出CCP解码技术的使用能够提供误差回复的显著改善。
表5:在BSC上KDU的平均PSNR(以dB为单位)性能
图像 | 比率(bpp) | KDU | |||
RESET、RESTART、ERTERM | RESET、RESTART、ERTERM、CAUSAL | RESET、RESTART、ERTERM、BYPASS | RESET、RESTART、ERTERM、CAUSAL、BYPASS | ||
Barbara | 0.1 | 23.34 | 23.30 | 23.31 | 23.32 |
0.25 | 25.54 | 25.53 | 25.52 | 25.48 | |
0.5 | 26.92 | 27.01 | 26.84 | 26.98 | |
1.0 | 27.69 | 27.73 | 27.82 | 27.76 | |
Goldhill | 0.1 | 26.26 | 26.23 | 26.30 | 26.44 |
0.25 | 27.86 | 27.83 | 27.95 | 27.84 | |
0.5 | 28.86 | 28.87 | 28.96 | 29.08 | |
1.0 | 29.60 | 29.82 | 29.75 | 29.88 | |
Lenna | 0.1 | 27.55 | 27.53 | 27.50 | 27.49 |
0.25 | 29.88 | 29.58 | 27.77 | 29.59 | |
0.5 | 30.61 | 30.62 | 30.78 | 30.54 | |
1.0 | 31.31 | 31.12 | 31.39 | 31.29 |
表6:在BSC上CCP的平均PSNR(以dB为单位)性能
图像 | 比率(bpp) | KDU | |||
RESET、RESTART、ERTERM | RESET、RESTART、ERTERM、CAUSAL | RESET、RESTART、ERTERM、BYPASS | RESET、RESTART、ERTERM、CAUSAL、BYPASS | ||
Barbara | 0.1 | 23.60 | 23.61 | 23.54 | 23.62 |
0.25 | 26.21 | 26.39 | 26.10 | 26.28 | |
0.5 | 28.01 | 28.41 | 27.93 | 28.34 | |
1.0 | 29.27 | 29.75 | 29.20 | 29.57 | |
Goldhill | 0.1 | 26.61 | 26.67 | 26.61 | 26.97 |
0.25 | 28.53 | 28.65 | 28.54 | 28.62 | |
0.5 | 29.83 | 30.18 | 29.82 | 30.26 | |
1.0 | 30.94 | 31.64 | 30.93 | 31.48 | |
Lenna | 0.1 | 27.94 | 28.10 | 27.88 | 28.03 |
0.25 | 30.75 | 30.78 | 30.52 | 30.70 | |
0.5 | 31.82 | 32.34 | 31.80 | 32.00 | |
1.0 | 32.78 | 33.24 | 32.58 | 33.02 |
为进一步分析这些增益,考虑在图27表示的图144。在图中,在BSC信道上使用Lenna图像以BER10-4以1.0比特/像素比较KDU和CCP方法。在这些仿真中,使用BYPASS、RESET、RESTART、CAUSAL和ERTERM模式产生JPEG2000码流。这个图示出了通过使用CCP代替KDU获得的PSNR增益的分布。图的x轴表示PSNR(以dB为单位),且y轴表示实现的累积百分比。从这个图中,可以看到在这些仿真中CCP提供的增益大小是8.6dB。且CCP提供的增益在大约20%的情况中大2.7dB。
JPEG2000成像系统
JPEG-2000提供原有技术的低比特率压缩性能,通过质量、分辨率、分量或空间位置的渐进传输、有损和无损压缩、对比特流的随机存取、分区存取(pan)和放大(zoom)、转动和剪切、通过级数和有限存储器实现的感兴趣编码的区域。另外,单一JPEG2000码流能够使用不同显示设备同时提供所有这些特征给在有线和无线网络上的很多不同用户。本发明经硬件或软件完全包括在可变的无线显示设备中,这增强了用户看到的图像质量。
如图28所示,图像内容150可以由世界范围内使用多种JPEG2000可兼容编码器154的很多不同源152,比如照相机或扫描仪提供,该编码器154压缩图像数据为JPEG2000语法。仅有的编码需要是必须将RESTART和ERTERM切换设置以对于噪声信道编码。这将文件尺寸增加了大约一倍(couple percent),但是需要其在被破坏的信道上分布图像。另外,内容提供者将确定RESET、BYPASS和CAUSAL切换的状态。如前所述,解码技术采用这些切换的状态并且在一些情况中,了解关于信道误差的发生的知识来改进解码的图像的质量。
如图所示,发送编码的图像并存储在中心服务器156中。服务器接收用于特定图像的一个或多个请求,基于用户请求和特定的用户显示确定应该发送图像的哪个部分(JPEG2000码流的分组),并且在有线和/或无线网络158上发送数据给一个或多个用户。用户经历的反应时间和网络的带宽相关但是典型地因为JPEG2000渐进传输特征提供的有效压缩而最多几秒。注意到,编码的图像数据直接分布到用户而不到达中心服务器。
实现本发明的硬件和/或软件位于多种显示设备160处的解码器,经有线和无线信道的接收可能破坏JPEG2000码流。典型的显示设备160包括计算机显示器、笔记本计算机、手机、比如掌机(plam)的手持显示器、电子图书、个人GPS系统、打印机、投影仪和监视系统显示器。本发明可以直接包括或者和JPEG2000一起包括在解码器芯片,提供其作为软件解码器或浏览器的一部分,或者作为软件插件下载。用户或显示设备的成本在需要解码图像数据的计算量上只有很小的增加。这比图像质量的增加小得多。
虽然示出和描述了本发明的几个实施例,本领域普通技术人员可以做出多种改变和替换。这种改变和替换的实施例不脱离本发明如所附的权利要求定义的精神和范围。
Claims (29)
1.一种解码被破坏的码流的方法,其中来自在下面的数字图像的数据被分区为分区组并且由编码器编码,且其中管理在分区组中的所述数据的规则是已知的,该方法包括步骤:
观察编码器实行的分区,
检测分区组中的误差,
分析在分区组中的相关性,
确定在分区组中的误差之后的编码的数据的哪些部分能够被抢救,以及
解码在分区组中编码的图像数据的所述部分。
2.如权利要求1所述的方法,其中,所述数据被分区以允许解码数字图像的不同空间部分或更加有效地压缩非静态源。
3.如权利要求1所述的方法,其中,根据在编码期间特定切换组的状态来分析相关性。
4.如权利要求3所述的方法,其中,可抢救的数据是根据所述切换的状态和误差的发生来确定的。
5.如权利要求4所述的方法,进一步包括步骤:
基于所述切换的状态确定所述误差怎样通过码流传播,且解码码流没有由误差影响的部分。
6.如权利要求5所述的方法,其中,没有关于在码流中的误差的位置的外部信息可用。
7.如权利要求5所述的方法,其中,外部误差检测提供关于在数据部分中误差的位置的信息。
8.如权利要求1所述的方法,其中,该数字图像是以JPEG2000码流编码的。
9.如权利要求8所述的方法,其中,数字图像的序列是以包括JPEG2000码流的文件格式编码的。
10.如权利要求9所述的方法,其中,该文件格式是运动JPEG2000。
11.如权利要求1所述的方法,其中,该规则还管理在分区组之间的相关性,并且进一步包括基于在分区组中误差的发生来确定在相关分区组中的哪些数据能够被抢救的步骤。
12.一种解码被破坏的JPEG2000码流的方法,其中将来自在下面的数字图像的数据已经被分区为分区组,并且由JPEG2000编码器以有效性传播、数量求精和清除通道编码,且其中管理在分区组中相关性的规则是已知的,该方法包括步骤:
观察由JPEG2000编码器实行的分区,
检测分区组中的误差,
根据RESET和BYPASS切换的状态分析在分区组中的相关性,以确定在有效性传播、数量求精和清除通道期间误差怎样通过码流传播,确定在分区组的所述误差之后的编码的图像数据的哪些部分能够被抢救,以及
解码在分区组中的编码的图像数据的所述部分。
13.如权利要求12所述的方法,其中,该分区组是码块。
14.如权利要求13所述的方法,其中,该数据被进一步分区为由分组给定的分区组,且该规则还管理在分区组之间的相关性,其进一步包括基于在分区组中误差的发生来确定能够完全或部分抢救哪些相关分区组的步骤。
15.如权利要求12所述的方法,其中,外部误差检测提供关于所述误差在码流中的位置的信息。
16.如权利要求15所述的方法,其中,分析该相关性并且通过下面的步骤确定编码的数据的可抢救的部分:
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=False时,根据κsig和σ[j]的未被破坏的部分解码在所述码块中下一个数量求精通道的部分;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中的所有后面的数量求精编码通道并且解码编码通道的两个其它类型;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=True时,部分解码下一个有效性传播和清除通道,完全解码下一个数量求精通道,部分解码再一个数量求精通道,并且丢弃在所述码块中的所有后面的编码通道;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=True时,继续解码在所述码块中的当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=True时,根据κsig和σ[j]的未被破坏的部分解码在所述码块中下一个有效性传播和数量求精通道的部分;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=False时,根据κsig和σ[j]的未被破坏的部分解码在所述码块中所有后面的编码通道的部分;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=False时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=False时,根据κsig和σ[j]的未被破坏的部分解码在所述码块中所有后面的编码通道的部分;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=True时,根据κsig和σ[j]的未被破坏的部分完全解码再一个数量求精通道和解码在所述码块中剩余编码通道的部分;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=True时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=True时,根据κsig和σ[j]的未被破坏的部分解码在所述码块中所有后面的编码通道的部分。
17.如权利要求12所述的方法,其中,没有关于码流中误差的位置的外部信息可用。
18.如权利要求17所述的方法,其中,分析该相关性并且通过下面的步骤确定编码的数据的可抢救的部分:
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中的所有后面的数量求精编码通道,并且解码编码通道的两个其它类型;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=True时,丢弃在所述码块中所有后面的有效性传播和清除通道并解码下一个数量求精通道;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=True时,继续解码在所述码块中的当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=True时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=False时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=False时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=False时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=True时,在所述码块中丢弃将来的有效性传播和清除通道并解码再一个数量求精通道;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=True时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=True时,丢弃在所述码块中的所有后面的编码通道。
19.如权利要求12所述的方法,其中,该规则进一步包括管理相关性的CAUSAL切换。
20.一种解码被破坏的JPEG2000码流的方法,其中没有关于误差位置的外部信息可用,其中来自在下面的数字图像的数据已经被分区为分区组并且以有效性传播、数量求精和清除通道编码,且其中管理在所述分区组之中和之间的相关性的规则由RESET和BYPASS切换的状态定义,该方法包括步骤:
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中的所有后面的数量求精编码通道并且解码编码通道的两个其它类型;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=True时,在所述码块中丢弃所有后面的有效性传播和清除通道并解码下一个数量求精通道;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=True时,继续解码在所述码块中的当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=True时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=False时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=False时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=False时,丢弃在所述码块中的所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=True时,在所述码块中丢弃将来的有效性传播和清除通道并解码再一个数量求精通道;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=True时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=True时,丢弃在所述码块中的所有后面的编码通道。
21.如权利要求20所述的方法,其中,该规则进一步包括管理该相关性的CAUSAL切换。
22.一种解码其中没有关于误差位置的外部信息可用的被破坏的JPEG2000码流的方法,其中来自在下面的数字图像的数据被分区为分区组并且以有效性传播、数量求精和清除通道来编码,且其中管理在所述分区组之中和之间的相关性的规则由RESET和BYPASS切换的状态定义,该方法包括步骤:
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=False时,根据κsig和σ[j]的未被破坏的部分解码在所述码块中下一个数量求精通道的部分;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中的所有后面的数量求精编码通道并且解码编码通道的两个其它类型;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=False时,丢弃在所述码块中所有后面的编码通道;
当在给定码块的有效性传播通道中发生误差且RESET=False,BYPASS=True时,部分解码下一个有效性传播和清除通道,完全解码下一个数量求精通道,部分解码再一个数量求精通道,并且丢弃在所述码块中的所有后面的编码通道;
当在给定码块的数量求精通道中发生误差且RESET=False,BYPASS=True时,继续解码在所述码块中的当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=False,BYPASS=True时,根据κsig和σ[j]的未被破坏的部分来解码在所述码块中下一个有效性传播和数量求精通道的部分;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=False时,根据κsig和σ[j]的未被破坏的部分来解码在所述码块中所有后面的编码通道的部分;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=False时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=False时,根据κsig和σ[j]的未被破坏的部分来解码在所述码块中所有后面的编码通道的部分;
当在给定码块的有效性传播通道中发生误差且RESET=True,BYPASS=True时,根据κsig和σ[j]的未被破坏的部分来完全解码再一个数量求精通道和解码在所述码块中剩余编码通道的部分;
当在给定码块的数量求精通道中发生误差且RESET=True,BYPASS=True时,继续解码在所述码块中当前和所有将来的编码通道;
当在给定码块的清除通道中发生误差且RESET=True,BYPASS=True时,根据κsig和σ[j]的未被破坏的部分来解码在所述码块中所有后面的编码通道的部分。
23.如权利要求22所述的方法,其中,该规则进一步包括管理该相关性的CAUSAL切换。
24.一种发送图像数据的方法,其包括步骤:
以被启用成为JPEG2000码流的RESTART切换通过JPEG2000可兼容编码器编码图像数据,
在易受误差影响的信道上发送JPEG2000码流,和
以JPEG2000解码器解码被破坏的码流,配置该解码器以观察由JPEG2000编码器实行的分区,根据RESET和BYPASS切换的状态分析在分区组中的相关性以确定在有效性传播、数量求精和清除通道期间误差怎样传播通过码流,并且当发生误差时,确定在分区组中的误差之后的编码的图像数据的哪些部分能够被抢救且解码所述抢救的部分。
25.如权利要求24所述的方法,其中,该JPEG2000码流包括多个分组,其进一步包括:
在服务器中存储分组,
响应于终端用户请求,仅提取需要满足终端用户请求的码流的那些附加分组,
在易受误差影响的信道上发送分组,以及
解码被破坏的分组。
26.一种JPEG2000成像系统,其包括:
一个或多个JPEG2000可兼容图像编码器,其用于产生采用JPEG2000码流形式的内容,
服务器,其存储用于每个图像的JPEG2000码流,
分布网络,其包括易受误差影响的信道,以及
一个或多个显示设备,其设置有JPEG2000解码器,配置该解码器以观察由JPEG2000编码器实行的分区,根据RESET和BYPASS切换的状态分析在分区组中的相关性以确定在有效性传播、数量求精和清除通道期间误差怎样传播通过码流,并且当发生误差时,确定在分区组中的误差之后的编码的图像数据的哪些部分能够被抢救并解码所述抢救的部分。
27.如权利要求26所述的系统,其中,该解码器是通过上市之后的可下载的插件来配置的。
28.一种包括JPEG解码器的显示设备,配置该解码器以观察由JPEG2000编码器实行的分区,根据RESET和BYPASS切换的状态分析在分区组中的相关性以确定在有效性传播、数量求精和清除通道期间误差怎样传播通过码流,并且当发生误差时,确定在分区组中的误差之后的编码的图像数据的哪些部分能够被抢救并解码所述抢救的部分。
29.如权利要求28所述的显示设备,其中,该解码器分析在分区组之间的相关性,并且当发生误差时,确定哪些相关分区组能够被抢救。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42683002P | 2002-11-15 | 2002-11-15 | |
US60/426,830 | 2002-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1711552A true CN1711552A (zh) | 2005-12-21 |
Family
ID=32326434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200380103338XA Pending CN1711552A (zh) | 2002-11-15 | 2003-11-15 | 解码被破坏的jpeg2000码流的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7580582B2 (zh) |
EP (1) | EP1567972A1 (zh) |
JP (1) | JP2006506904A (zh) |
CN (1) | CN1711552A (zh) |
AU (1) | AU2003290807A1 (zh) |
WO (1) | WO2004047010A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110754092A (zh) * | 2017-07-07 | 2020-02-04 | 佳能株式会社 | 用于对视频数据进行编码和解码的方法、设备和系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680818B1 (en) * | 2002-12-18 | 2010-03-16 | Oracle International Corporation | Analyzing the dependencies between objects in a system |
US8358704B2 (en) * | 2006-04-04 | 2013-01-22 | Qualcomm Incorporated | Frame level multimedia decoding with frame information table |
JP5162939B2 (ja) * | 2007-03-30 | 2013-03-13 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
KR101171819B1 (ko) * | 2010-06-30 | 2012-08-14 | 주식회사 케이티 | 데이터 은닉을 이용하여 영상 오류를 복원하는 방법 및 시스템 |
WO2013158024A1 (en) * | 2012-04-16 | 2013-10-24 | Telefonaktiebolaget L M Ericsson (Publ) | Encoder, decoder and methods thereof for video encoding and decoding |
US9516197B2 (en) | 2014-10-21 | 2016-12-06 | Pixspan, Inc. | Apparatus and method for lossless compression of raw color sensor data from a color array filtered image sensor |
AU2017268705B2 (en) * | 2016-05-23 | 2022-05-19 | Kakadu R & D Pty Ltd | A method and apparatus for image compression |
US10931954B2 (en) | 2018-11-20 | 2021-02-23 | Sony Corporation | Image coding modes selection for an embedded codec circuitry |
-
2003
- 2003-11-15 JP JP2004553617A patent/JP2006506904A/ja active Pending
- 2003-11-15 WO PCT/US2003/036213 patent/WO2004047010A1/en active Application Filing
- 2003-11-15 EP EP03783390A patent/EP1567972A1/en not_active Withdrawn
- 2003-11-15 US US10/534,620 patent/US7580582B2/en not_active Expired - Fee Related
- 2003-11-15 AU AU2003290807A patent/AU2003290807A1/en not_active Abandoned
- 2003-11-15 CN CNA200380103338XA patent/CN1711552A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110754092A (zh) * | 2017-07-07 | 2020-02-04 | 佳能株式会社 | 用于对视频数据进行编码和解码的方法、设备和系统 |
US11172231B2 (en) | 2017-07-07 | 2021-11-09 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding or decoding video data of precincts by using wavelet transform |
CN110754092B (zh) * | 2017-07-07 | 2022-03-29 | 佳能株式会社 | 用于对视频数据进行编码和解码的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2006506904A (ja) | 2006-02-23 |
EP1567972A1 (en) | 2005-08-31 |
US7580582B2 (en) | 2009-08-25 |
AU2003290807A1 (en) | 2004-06-15 |
US20060056706A1 (en) | 2006-03-16 |
WO2004047010A1 (en) | 2004-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4664916B2 (ja) | データ圧縮 | |
CN1183491C (zh) | 采用弱波变换和象限树编码压缩电信图象数据的方法和系统 | |
CN113287306A (zh) | 使用机器学习的图像和视频压缩中的改进熵代码化 | |
CN1271494A (zh) | 嵌入的离散余弦变换式静止图像编码算法 | |
CN1531349A (zh) | Fgs/pfgs视频位流的包装化 | |
WO2007069829A1 (en) | Method and apparatus for encoding and decoding video signals on group basis | |
CN1711552A (zh) | 解码被破坏的jpeg2000码流的方法 | |
JP2005519543A (ja) | レイヤ映像符合化のための方法及びシステム | |
JPH11122617A (ja) | 画像圧縮 | |
JP3631256B2 (ja) | ツリー・コード化無損失画像圧縮 | |
CN100344163C (zh) | 视频编解码处理方法 | |
CN1310190C (zh) | 根据每块的能量编码静止图像的离散小波变换器件与方法 | |
US20040013311A1 (en) | Image encoding apparatus, image encoding method and program | |
Hu et al. | Progressive significance map and its application to error-resilient image transmission | |
Kurosaki et al. | Error concealment using layer structure for JPEG2000 images | |
JP2004328508A (ja) | 画像符号化装置及び方法、画像復号装置及び方法、誤り訂正符号化装置及び方法、並びに誤り訂正復号装置及び方法 | |
Razaq et al. | Evolution and Advancement of Arithmetic Coding over Four Decades | |
Zargari et al. | Novel error concealment methods in JPEG 2000 | |
Syed | A low bit rate wavelet-based image coder for transmission over hybrid networks | |
Varnica et al. | Multi-resolution adaptation of the SPIHT algorithm for multiple description | |
Wu et al. | Error resilient decoding of JPEG2000 | |
Boulgouris et al. | Wavelet compression of 3D medical images using conditional arithmetic coding | |
Noda et al. | JPEG2000 steganography which preserves histograms of DWT coefficients | |
Noda et al. | Video steganography based on bit-plane decomposition of wavelet transformed video | |
Sanchez et al. | Robust Wireless transmission of regions of interest in JPEG2000 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |