数据项的压缩存储 本发明涉及把数据项存储到存储器中,从存储器读取数据项,以及具有在上面存储有数据项的存储介质。
已知使用固定大小的存储介质来存储多个可能需经不可逆(有损)压缩的对象。这类应用包括数字静态相机,其中把图像存储在闪存卡,软盘或硬磁盘机上。此外,已知将多个记录存储在硬磁盘机,光盘或磁带上的摄像机。还已知诸如嵌入式存储器的存储设备,其中希望最小化所用的总存储容量同时仍然保持最可能的图像质量。有时候,有限数目的设置可以用来使用户改变质量与容量之间的平衡。例如,能够以“标准播放”或者是“长播放”模式来记录视频,或是按“标准分辨率”或“高分辨率”来拍摄快照。一旦已经做出使用某一质量的决定,以后就不能改变该决定了,即使是在足够的存储容量仍然是可用地那些情形之下。
Cormac Herley在1999年10月24-28日,日本神户,第六届图像处理国际会议(ICIP’99),第3卷上公开了一种数字相机图像的存储。把相机设计成存储固定数目的图像,并且使用有损比率受控压缩来保证每个图像适应分配给它的空间。
本发明的一个目的是提供数据项的改进的存储。为此目的,本发明提供了如独立权利要求中所限定的用于把数据项存储到存储器中的方法和装置,以及存储介质。在从属权利要求中限定了有利的实施例。
根据本发明的第一个方面,每个数据项被划分成重要性递减的连续数据段,把这些数据段存储在存储器的各自部分内,以及当把一数据段加到存储器内时,倘若所有的候选存储部分都被分配给其它的数据段,
如果所加数据段的重要性低于其它数据段的最低重要性,则丢弃该所加数据段;以及
如果所加数据段的重要性高于其它数据段的最低重要性,则以具有比所加数据段的重要性低的重要性的一给定的其它数据段为代价,把该所加数据段存入一个候选存储部分内,其中每个数据段的重要性都基于在那个数据段上的数据项的总的或是绝对失真。通过考虑总的或是绝对失真,质量的降低将总是影响具有(近似的)最高质量的数据项。该总的或是绝对失真为该数据项的绝对质量的一个量度;低的失真表示高质量,反之亦然。
与一给定数据项有关的重要性可以基于直到并包括所述数据段的该数据项的总的或是绝对失真。在该实施例中,目前具有最高质量的数据项将被降低质量。
有利地,与一给定数据项有关的重要性可以基于直到但不包括所述数据段的该数据项的总的或是绝对失真。在该实施例中,考虑了在移去该数据段后该数据项的质量,导致了更好保证最小媒体项质量被最大化。换言之,在该实施例中,具有最高质量的数据项将在质量降低后被降低质量。
在本发明的优选实施例中,为每个数据段保存一记录,该记录包含该数据段的重要性以及该数据段所属的数据项。每个数据段的重要性代表那个数据段上的数据项的总的失真。该记录段可以在本地被包括到一存储部分中,例如,与其所属的数据段一起。最好,将该记录保存在一辅助存储器内,其中每个记录进一步包含一指针,该指针指示该数据段在主存储器内的存储位置。
每当要存储新的数据项时,最好用一种可缩放压缩方法来压缩该新的数据项以便产生可缩放的位流。在WO 01/17268-A1中描述了一种有利的方法。这种可缩放压缩方法具有这样的特性,即结果可缩放位流在给定可用位数目的情况下,对于给定数据项给出最可能的重构质量。当该可缩放位流不被停掉时,(近似)无损地编码该数据项,即按照使得再现在感知上与原版不可区分的一种质量。对于视频与音频,可缩放编码机制是众所周知的。在优选实施例中,将该可缩放位流切分成与存储部分同样大小的数据段。接着,为这些数据段中的每一个计算重要性。最好,该重要性被作为失真值计算,其指示在感知重要性上的改进。该重要性被用来比较该新的一项的数据段与已存储的数据段。能够容易地理解通过分割可缩放位流而产生的数据段具有重要性递减的特性,这是由于该可缩放编码方法首先产生最高有效位。然后比较新的项的数据段与已经存在于存储器内的数据段。当该新的数据段具有更高的重要性时,先前存储的数据段被重写。
尽管可缩放编码方法是优选的,但是也可以使用分层编码方法。
本发明使得在一固定存储空间内存储可变数目的数据项是可行的。这些数据项最好为多媒体对象,包括音频对象,视频对象,图形对象等等。总是用对于给定数量的存储信息的最佳质量来存储这些数据项。当一附加数据项必须被存储时,已存储数据项的所占用存储器的数量被减少到足以(导致质量降低)适合于该新的数据项,以使得所有数据项都将被按照近似相同的质量来存储。
尽管在本发明的优选实施例中所有的存储部分都具有相同的大小,但这不做要求。存储部分的大小这样选择,以使多个存储部分的存储容量通常被要求用于按高质量来存储单独的数据项。例如,数目为8的存储数据段对于存储一图像是实用的。
在本发明的一个优选实施例中,向用户提供了按照比其它数据项更高的质量来存储某些数据项的可能性。
本发明的这些以及其它方面将从参照附图的阐述中变得明显。
图中:
图1表示其中根据本发明存储数据项的装置的示意图;以及
图2表示如图1所示的一部分装置的更为详细的图表。
这些图仅表示出理解本发明所必需的那些元件。
图1表示根据本发明的装置,包括输入单元1,可缩放编码器2,存储器3,可缩放解码器4以及输出单元5。输入单元1可以是用以获得数据的任何类别,例如,天线,相机或存储介质。可以把数据直接供给输出单元5。输出单元5可以是任何类型的输出单元,例如,天线,显示器或存储介质。在把数据供给存储器3之前,可缩放编码器2对数据进行处理以获得可缩放的位流。然后把该可缩放的位流供给存储器3。为了从存储器3中检索数据,提供一可缩放解码器4,它在需要时将解码数据供给输出单元5。存储器3包括辅助存储器(AM)30和主存储器(MM)31。如果需要,某些控制或处理单元也可以包含在存储器3内以控制数据流。
图2中,更详细地示出了具有示范性内容的辅助存储器30和主存储器31。把主存储器31划分成N个存储部分以用于存储N个数据段。在此例子中N=11。辅助存储器通常比主存储器小并用于管理目的。辅助存储器包括N个记录,每个记录都包括几个字段。第一字段为指向主存储器的指针(P),其包括一个指向主存储器31内保持有与一给定记录相关的数据的存储单元的指针。第二字段为目标标识符(I),其含有描述存储在主存储器内的数据段所属的数据项的信息。目标标识符涉及,例如,用数字相机存储的一组图像的输出图像。在实际的实施例中,倘若一存储部分不被分配给一数据项,例如,当该存储部分为空时,目标标识符为零。第三字段包括一个重要性(S)。该S字段给出该记录所涉及的存储在主存储器31内的数据段的重要性的测定。重要性字段内的项最好是非负数。辅助存储器30最好具有这样的性质,即,把记录按照重要性存储。还有可能以不同的方式将记录排序,例如,根据标识符来组合属于同一数据项的所有数据段。在数据段的各个组合内,可以把数据段按照重要性存储。
为了增加数据项,在编码器2中将该数据项进行编码以产生可缩放的位流,该位流被分成为数据段。随后处理数据段。首先把各个段的重要性测定与具有目前在存储器内的最低重要性测定的块(段)的重要性测定进行比较。如果新数据段的重要性更低,则不把它存入主存储器,即,将它丢弃。当第一段不被存储时,处理可以停止,这是因为进一步的数据段具有比当前数据段低的重要性(这是可缩放编码机制的特性)。如果重要性较高,则把新数据段写入主存储器31上目前的最低有效数据段的位置上(这是从辅助存储器的最后位置获得的,倘若把记录按照重要性存储的话)。此后,辅助存储器的最后记录被用于新数据段的记录数据取代并且将辅助存储器30内的记录重新排序以恢复按照重要性的排序。从一项的最高重要性数据段开始处理(然后用随后的具有较低重要性的数据段开始处理)是有利的,因为这正是用可缩放编码器2产生的数据段的顺序,并且进一步是因为这些数据段不被属于同一项的块重写,这是因为这些块不怎么重要。
为了提取数据项,连续地处理存储在辅助存储器30内的记录并且如果目标标识符与要被提取的数据项的目标标识符相匹配,则把由该记录指向的主存储器31内的数据段发送到可缩放解码器4。由于辅助存储器是被从最高重要性遍历的,因此将按正确的顺序提取数据段,允许解码器4逐渐地形成一较好的重构。
为了删除数据项,连续地处理存储在辅助存储器30内的记录并且如果目标标识符与要被删除的数据项的目标标识符相匹配,则把该记录的重要性设置成(预定的)值1,该值比能够用编码器产生的任何值都要低,例如零。最好,把标识符也设置成一预定值例如零以指示没有把存储部分分配给一数据段。然后将辅助存储器30内的记录重新排序以恢复按照重要性的排序,即,使得具有最低重要性的记录被放在最后。
辅助存储器30的使用是优选的。然而,也有可能省略掉辅助存储器。如果是那样的话,数据段的重要性以及数据项所属的标识符将存储在主存储器内。由于在此情形下指向按照重要性顺序排列的数据段的指针不可用,因此对主存储器31的搜索要花费更多的时间。为了减少搜索,数据段可以存储在主存储器内,以转换更大量的数据作为代价。内容可寻址的存储器也可用于实现辅助存储器,消除了需要用一单独的处理器来在辅助存储器内进行排序并进行搜寻。此外,诸如通常所知的堆或树的更为先进的数据结构也可用于执行管理功能,作为对优选的辅助存储器数据结构的另外的选择方式。这些另外的选择方式将是有利的,例如,在软件实现中(或硬件,当足够的时钟周期可用时),尤其对于大量的存储部分。
在本发明的优选实施例中,为各个数据项存储某些附加信息。附加信息可以包括名称,信息类型,颜色,大小,等等。该附加信息可以存储在主存储器内,例如与第一数据段一起。最好,把附加信息存储在辅助存储器内,其使得能够较容易地检索该附加信息。
根据速率-失真理论,以及可缩放编码实践,人们必须首先发送/存储那些对减少由解码器造成的再现失真产生最大影响的位。所使用的失真测量依据应用而定;例如,人们通常会为视频和音频使用不同的测量。然而,所有这些失真测量具有的共同之处在于它们都以某种方式相应于如在再现期间由消费者感知的视频/音频对象的质量。我们的对于该测量的定义独立于本特殊申请。
参照包含在非在先公布的欧洲专利申请00200890.2(我们的参考号码为PHNL000110)内的计算方法来论述本申请的重要性值的计算。该方法被设计来优化存储器的总的速率-失真性能,即,保证所存储媒体项的最低的总失真。该方法使用与数据项的单个数据段相关的微分失真测量。具体地,用编码器来计算重要性,并在形式上定义为:
Si,k=Di,k-1-Di,kRi,k-Ri,k-1----(1)]]>
其中下标I是指一给定对象,下标k指示在解码器上可用的编码的块的数目。从而Di,k-1代表当k-1个连续的块已经被收到时的再现失真,以及Di,k代表在已经收到k个块后的再现失真。Ri,k-1代表速率,即,对于k-1个连续块的,所使用的位的总数,以及Ri,k代表用于k个块的位数。Di,0为当没有位已经被传送时在解码器上的初始失真,Ri,0为当没有位已经被发送时的位数,即,Ri,0=0。当主存储器内的所有块具有相同大小时,用块的大小进行的划分为恒定划分并最好被省去:
S~i,k=Di,k-1-Di,k----(2)]]>
因而该重要性值代表通过增加第k个块来实现的失真减少。重要性的这一计算方法使存储介质的总的速率-失真性能达到最大以保证所存储数据项的最低的整个的失真总量。
本发明的一个实施例使用另外的用于重要性的计算方法,其中用于各个块的重要性值基于或是代表媒体项的总的或是绝对失真,在解码直到并包括当前的数据块的全部数据块之后。因此给定能够用编码器来计算的任何失真测量,在形式上可以将重要性值定义为:
Si,k=Di,k (3)其中下标I是指一给定对象,以及下标k指示在解码器上可用的编码的块的数目。从而Di,k代表当k个连续的块已经被收到时的再现失真,以及Di,0为当没有位已经被传送时在解码器上的初始失真。
本发明的最大化最小项质量的一个有益的实施例关注块重要性值的简单更改。最小图像质量是重要的,仅次于平均质量,这是因为它给予用户对于各个单独的图像的保证质量。此外,总的图像质量印象/满足度常常是由最低质量图像来确定,这是因为人为现象将是在该特殊图像内首先或是最为可见到的。替代总是降低目前具有最高质量的媒体项的质量,采用了一种质量降低的“向前看”步骤:每次在从中去掉下一数据块后具有最高剩余质量的媒体项将被降低质量。通过考虑由移去下一数据块所造成的质量损失,该实施例允许更好控制单个项质量并且保证最高的最小项质量。基本上,用于各个块的重要性值为当那个块被移去时该媒体项的结果绝对失真。存储器上的所有操作保持不变。在该实施例中该重要性能够定义为:
Si,k=Di,k-1 (4)
尽管不要求进一步的更改来用于实现该新的策略,但是这一实现不允许直接获得用于各个项的实际质量,这是由于质量的计算需要用于各个项的“下个”块的重要性值,但是这些块或是已经被重写,或是倘若该项被完全存储的话就甚至根本不存在。实际上,与由先前实施例的策略所使用的失真值相比,目前的重要性值已经被“下移”一个位置到了下一数据块;因此,在链的末尾上,最后的失真值被遗漏掉。为了解决这一问题(至少出于研究目的,例如,为产生PSNR值这是需要的),将只要在存储器操作期间存储和更新用于各个项的“最后的”失真值就可以了。另外可选,取代对存储器操作进行的这些更改,人们也能够存储用于各个块的附加的“遗漏”失真值。该方法在存储器的使用方面效率稍微低些(尽管与实际的压缩的数据存储器相比,该另外需要的存储器是无足轻重的),但是能够用对可用软件的较少修改来实现。因此,将该方法收入我们的实现中。
另一种方法是根据等式(3)使用直到并包括所述数据段的数据项的总的或是绝对失真的,并不是检查要被移去的当前数据段的重要性Si,k=Di,k,而是同一数据项的下个数据段(具有除1外的最小失真的段)的有效位Si,k-1=Di,k-1,以便确定在移去具有最少绝对失真的数据段(给定数据项的最低有效块)后的数据项的质量。在该方法中,各项的实际质量保持有效。
经常用在图像/视频内的失真测量的一个例子是二次误差测量,其为原始图像与其再现之间的平方像素值差的总和。该二次误差测量可以用作为本发明中的失真测量。在编码块k后,编码器,原则上,必须为图像的每个像素重新计算误差以便得到Dk,但是实际上该计算的某些简化/简化操作通常也是可能的。
在一实际的实施例中,在接收后把一数字加到每个数字项数字的第一数据段的重要性上以确保每个数字项的该第一数据段正常地能够不被重写。这具有的优点是,对于每个数字项,一个数据段正常地总是保持在存储器内,这就使得有可能产生该数据项的粗略表示,诸如“略图”图像。例如,为了防止一项的第一块被重写,将其重要性置为“无穷大”,即,比能够发生于存储器内的其它块的任何失真值都要大的一个常量。在实际的实施例中,将值231用做为该常数并且该失真值为绝对二次误差。对于768×512像素尺寸的图像,常数231已经足够大了,但是对于更大的图像尺寸应当增大该常数(例如,至239或247)。取代增大该常数,人们也能够按比例减小失真值(通过用另外的常量,例如28或216来除它们)。
在EP00200890.2中,如果可缩放地编码了的数据项的数据段的顺序不具有严格减少的失真差,则会产生困难。实际上,需要对块重要性值的处理以确保后来出现在位串中的块总是具有比先前的块更低的失真减少(即,确保一凸出的实际速率-失真曲线)。对于本发明来说不要求该凸状约束条件,因为本发明仅仅要求总的媒体项失真按顺序地为各个附加块减少。
在一可选的实施例中,提供了本发明方法与EP00200890.2方法的组合,其中重要性值为EP00200890.2的失真差值(以上描述的)与本申请的总的或绝对失真值的加权总和。
使用适当加权的感知重要性测量和/或适当选择的块尺寸,有可能在存储器内共同地存储各种对象,例如,音频与视频二者。
在使用用于存储可压缩数据,诸如视频,图像,音频,语音,等等的固定存储容量的设备的应用中得到本发明的有益利用。在其中未知的/可变数量的数据必须被存储和/或为其在数据项之间保持基本上相同的质量,同时试图保证数据项一直具有最可能高的数据质量。
有益的实施例的例子是:
·数字静态相机。可以按很高的质量存储第一张图片。随后的图片存储在固定的存储器内,同时取代先前图片的某些数据。根据存储器内的图片总数,达到图片的一定质量。图片越多,平均质量越低。在门铃应用中,可以在每次有人按下门铃按钮时拍摄图片。
·应答机/语音邮件。为呼叫并留言的每个人存储音频数据项。倘若该存储器被完全使用,可以通过降低已存储的音频项的质量来存储新的音频项。
·录像机。录像机内所提供的新的特征是,例如,可变记录时间。它的一个应用是按较低的质量来存储更多的有关节目,而不是因为磁带或盘的存储容量被全部使用不记录节目。
·画中画(PIP)重放。用户指示某个节目的PIP重放的持续时间,例如通过在观看TV时按下按钮。由于给定的PIP存储器具有固定的容量,因此用户可以调换PIP重放的质量以及持续时间。
·用于嵌入式图像存储器的缓冲器控制。将整个图像细分成使用可缩放编码技术而被单独编码的部分。然后把这些单独部分分解成块并放入主存储器内。这一新方法的优点是对于同样的图像质量只需要较小的存储器或者对于同样的存储器大小能够获得更好的图像质量。[传统的方法是在组合这些单独部分之前,首先编码(并存储)整个图像。另外可选,可以把固定数目的位分配给该图像的各个部分,但是这是次最佳的方法。]
所有这些实施例最好都设有对用户的某种质量指示器。
应当注意,上述实施例说明了而不是限制本发明,并且本领域内的那些技术人员将能够设计许多替换的实施例而不脱离附件的权利要求书的范围。在权利要求书中,放置在圆括号之间的任何参考标记都将不被解释为限制权利要求。‘包括’一词不排除除了权利要求中所列出的那些元件或步骤外的其它元件或步骤的存在。本发明能够通过含有几个不同的元件的硬件来实现,以及通过被适当编程的计算机来实现。在列举了几个装置的设备权利要求中,这些装置中的几个能够用同一个硬件项来实现。某些手段以相互不同的从属权利要求来叙述的事实并不表示不能利用这些手段的组合。
总之,提供了存储器内的数据项的存储,其中把数据项划分成重要性递减的连续数据段,并且把这些数据段存入存储器内的各个部分,以及当把一数据段施加到存储器内时,倘若所有的候选存储部分都被分配给其它的数据段:如果所施加数据段的重要性低于其它数据段的最低重要性,则丢弃该施加的数据段;如果所施加数据段的重要性高于最低重要性,则以具有比所施加数据段的重要性低的重要性的一给定的其它数据段为代价,把该施加的数据段存入一个候选存储部分内。优选地为每个数据段保存含有该数据段的重要性以及该数据段所属的数据项的一个记录。最好用可缩放编码机制来编码数据项。将可缩放位流切割成与存储器内可用的那些数据段同样大小的数据段。接着,为这些较小数据段中的每一个计算重要性值。将重要性值计算作为代表对于一数据项的直到和/或包括当前块的连续块的总失真的总的或是绝对失真值。重要性被用于比较新的项的数据段与已经存储的数据段。能够容易地理解通过分割该可缩放位流而产生的数据段具有重要性递减的特性,这是由于可缩放编码方法首先产生最高有效位。然后把该新的项的数据段与已经存在于存储器内的数据段进行比较。当新数据段具有一较高的重要性时,先前存储的数据段被重写。在使用用于存储灵活数目的可压缩数据项,诸如视频,图像,音频,语音的固定存储容量的设备的应用中得到本发明的有益利用。