压缩数据的增强型解压的制作方法

文档序号:7921823阅读:319来源:国知局
专利名称:压缩数据的增强型解压的制作方法
技术领域
^^开一般地涉及数据压缩。
背景技术
图像压缩描述了数据压缩在数字图像中的应用。进行图像压缩的一个原
因是减少图^l史据的冗余,从而方便^ H者或传iri亥数据。
图像压缩可以是有损的或无损的。因为有损压缩方法会导致压缩伪像, 因此无损压缩通常用于重要的或非摄影的图像,例如医学成像,或者技术制 图或其他手工制图。另一方面,有损方法通常用于摄影图像,原因在于为了
实现比特率的降低,微小的、通常不可察觉的^^度损失一^^"iXJ:可以接 受的4斤衷。

发明内容
在某些环境下,例如在检测到^^f诸容量的情况下,可以在逐个扫描线 的勤出上解压和/或缩减压缩的图像,而不是马上解压或缩减整个压缩的图像。 由此,减少了用于呈现结果图像的设^f錢的资源的范围和类型,而不会必 然地影响该图像的保真度。
才艮提一个通用的实施例,使用压缩图像的经迭^Jf"压和缩减的一定数量 的扫描线来组成具有目标分辨率的解压图像,所述扫描线的数量与基于该压 缩图l象的原始分辨率和目标分辨率确定的缩减因子有关。
才艮据另一个通用的实施例,提出一种计算机实现的方法,其包括基于压 缩图像的原始^#率和目标^1岸率,来确定用于压缩图像的缩减因子,以及 基于该确定的缩减因子,迭^^压该压缩图像的一定数量的扫描线。该方法 还包括,对于每次迭^Jf压,缩减迭^Jf压的所述数量的扫描线,以及<賴 缩减的所述数量的扫描线来组成具有目标^H辟率的解压图像。实施例可以包括一个或多个如下的特征。例如,可以输出该组成的、压 缩的图像。该缩减因子可以是整数。该压缩图像的扫描线数量可以基于确定 的缩减因子来确定。该扫描线数量可以等于缩减因子或者可以与缩减因子呈
反比。可能会检测到j^H诸容量的情况,并且如果检测到^i^诸容量情况,
则可以缩减迭^^压的所述数量的扫描线。该压缩图像可以佳Jf]标各图像文
件格式(TIFF)的格式、可移植网络图形(PNG)的格式、图像交换格式(GIF) 的格式、联合图像专家组(JPEG)格式、RAW图像文件格式或者位图(BMP) 才各式来压缩。
在其他的例子中,缩减迭代解压的所述数量的扫描线进一步包括对迭代 解压的所述数量的扫描线的特征求平均,或者对迭^^压的所述数量的扫描 线进行滤波。该原始分辨率和目标分辨率可以使用同样的纵横比。扫描线可 以是图像的7jc平的、 一个像素高度的行,垂直的、 一个4象素宽的列,或者斜 线列。该组成的、解压的图像可以放大。该目标^l卑率可以是^f渚压缩图像 的移动设备的屏幕分辨率。在已经缩减所述数量的扫描线后,迭^Jf压的所 述数量的扫描线可以被丟弃。该图像可以进一步包括多条扫描线,其中所述 数量的扫描线是所述多条扫描线的子集。
在另外的例子中,可以基于等式(1)确定该缩减因子。
,IN(floor(w/w阔,floor(/ 力阔) (1)
jf(f==1){f = 2}
在等式(l)中,f表示缩减因子,w和h分别表示原始分辨率的水平和 垂直方向,wDst和hDst分别表示目标分辨率的7jc平和垂直方向。该原始分辨 率可以是与压缩图像的非压缩版^M目关联的^I岸率。迭4饼压该压缩图像的 所述数量的扫描线进一步包括解压所述数量的扫描线中的第 一扫描线且并行 地解压所述数量的扫描线中的第二扫描线。
根据另一个通用的实施例,提出一种用于数据压缩的设备,包括用于基 子压缩图像的原始分辨率和目标分辨率确定用于该压缩图像的缩减因子的装 置,以及用于基于该确定的缩减因子,迭^Jf压该压缩图像的一定数量的扫 描线的装置。该用于数据压縮的设备也包括用于对于每次迭^^压,缩减迭 ^J^压的所述数量的扫描线的装置,以及用于使用缩减的所述数量的扫描线^i且成具有目标分辨率的解压图像的装置。
才艮据另一个通用的实施例,才是出一种"i殳备,其包括处理器,该处理器基 于压缩图像的原始分辨率和目标分辨率,确定用于该压缩图像的缩减因子, 并基于该确定的缩减因子,迭4,压该压缩图像的一定数量的扫描线。该处 理器也针对每次迭^Jf压,缩减迭^^压的所述数量的扫描线,并且使用缩 减的所述数量的扫描线来组成具有目标^i岸率的解压图像。
根据更进一步的一个通用的实施例,提出一种计算机实现的方法,其包 括基于压缩图像的原始分辨率和^f渚该压缩图像的移动设备的屏幕^^岸率,
来确定用于该压缩图像的缩减因子,其中该图像^JI] JPEG格式压缩,并且包
括多条扫描线。该方法也包括基于该确定的缩減因子,来确定该压缩图像 的一定数量的扫描线,该一定数量的扫描线是该多条扫描线的子集;检测移
动设备的^^(诸容量条件,迭代解压所述数量的扫描线,其中^-"条扫描线
包括该图像的水平的、 一个像素高度的行。而且,该方法包括如果检测到 了^4^诸容量的情况,则对于每次迭代解压,通过对迭代解压的所述数量的 扫描线的特征求平均,来缩减迭^^压的所述数量的扫描线;并iW錢迭代 解压的所述数量的扫描线来组成具有目标分辨率的解压图像。另外,该方法 包括放大该组成的图像,以4该移动设M输出该放大的图像,其中该 放大图f^口该压缩图像^J )相同的纵横比。
在以下附图和描述中阐明了本说明书中所描述的^的一种或多种实现 的细节。才艮才^i兌明书、附图和权利要求书,4^>开的其他潜在特征、方面和 优点将变得明显。


图1和图3是实3EJW缩图像的增强解压的示意图。 图2是增强解压处理的济d呈图。
图4是实现在此描述的增强解压的示斜性设备的示意图。 相同的标号和名称在不同的图中代表相同的单元。
具体实施方式
对于例如具有较j^f渚容量、处理或传输带宽能力的移动设备之类的具 有有限资源的设备来说,解压和显示压缩图像是耗费计算量的。然而, 在此描述的增强解压方法,通it^逐扫描线的勤出上缩减该图像来对图像进 行解压以i^jl]于显示,从而确^i^些设备能够完成解压处理。这一增强方法 可以使得比其他更典型的图像压缩处理消耗更少的^f诸容量。
在示例的配置中,该增强的解压处理可以响应于检测到^^f诸容量条件、 情况和环境而动态地实现,从而缩减该图像以减少其##器占用。该示例配 置对于以相对更健壮的计算资源来输出为设备(例如台式设备)设计的图像 的移动设备或其^^賭受限的设备特别有用。使用在此描述的增强型技术, 即使在^^f诸容量时,设驰能够解压压缩的图像,从而絲导致失败和消 耗所有剩余的^f渚容量。
在此所称的"缩减"是指用于减少表示图像的像素或块的数量的处理,"缩
减"可以4吏用滤波处理、合并处理或其#^支术来实现,其中滤波处理选4和h^i也
消除某些像素数据,合并处理(例如求平均)将来自多个像素的像素值结合 或合并成单个^4性的像素。相反地,"放大"是指用于增加表示图像的像素的 数量的处理,"放大"可以使用外推处理或使用其他方法来实现,其中外推处理 基于一个或多个^4性像素的像素值#^象素值分配给多个像素,该其他方法 例如^^]^#在图像文件中的非像素值数据。在示例的缩减和放大处理中, 可以保留输入和输出图像的方向比例(高宽比)来减小进一步的失真。
: 此外,术语"^#率"描述了图像所4林的细节数量,其中高^l辟率是指 更多的图像细节,而低^#率是指更少的图像细节。"^^辟率"可以涉及物理尺
寸,例如每英寸或每毫米中扫描线或像素的数量;或者*尺寸,例如每图
像高度的像素数量。在特定的例子中,"^^岸率"是指像素^^碎率或像素计数,
例如N ^f象素高乘以M ^M象素宽的像素计数。"^^辟率"还可以是指频谱^H片 率、时间^^岸率或辐射^#率。
图1是实^LS缩图像的增强解压的示意图。在图1中,分辨率为640x480 的压缩图像被^f诸在台式计算机102的5千字节(KB)的数字文件101中(命 名为640x480lMAGE,jPG) 。 640x480的分辨率与视频图形矩阵(VGA)的图像 或显示相关联。该JPG文件扩M反映了该图像的编^^J ]的是JPEG图像压缩。该台 式计算机102包4封目对健壮的计算资源,例如1 GB的随机访问存储器(RAM) 和INTEL CORE 2QUAD处理器,并且能够容易地解压该5KB数字文件 101,以创建和输出图像104的24KB无压缩i^^。
针对这一例子,假设移动设备105的用户想查看该数字文件101的无压 缩版本,其中该移动设备105包括具有320x240像素或像素的分辨率的四分 之一VGA (QVGA)的显示器106。因为该移动设备不能以其本地分辨率显 示该图像104的24KB无压缩版本,该图像104在输出到该显示器106上之 前将被缩减(缩减为图像107的缩减的无压缩i&^)。
因为移动设备105不输出图像104的无压缩版本本身,因此该移动设备 105可以佳^]增强解压方法来避免首先创建该104的无压缩;&^,并且可以作 为替代,动态和直接地创建该图像107的缩减的无压缩版本。直接创建该图 像107的缩减的无压缩版本而无须首先创建图像104的无压缩M,这可以 节省计算资源,或者可以使得移动设备105在低资源务f牛下呈现数字文件101 的一个片沐
因此,通过对图像的原始版本的边界、尺寸或分辨率与目标、目的或预 期的边界、尺寸或分辨率进行比较,计算缩减因子。因为图像原始i&^的垂 直和水平分辨率中的每个都包括两倍于该图像目标版本的像素,所以该例子 中缩减因子是二。
因为缩减因子是二,所以解压该压缩图像101的前两条扫描线109a和 109b。特别地,因为每条扫描线包括4KB的数据,所以解压两条数据扫描线 会比解压图像104的整个24KB无压缩;f^^f賴更少的务賭器资源。如果确 定该缩减因子是四,则解压该图像的前四条水平扫描线109a至109d。尽管图 l;中使用水平扫描线来冲;^ti亥解压操作,但也可以使用垂直、斜线、线性、曲 线或其他形状的扫描线。此外,增强处理也可以完全不橫月扫描线,而AfF 压一定数量的矩形^象素子块。
^^)求平均操作来缩减该解压扫描线109a和109b。特别地,该增强解压 对扫描线109a中每个像素的白色值和扫描线109b中每个像的黑色值求平均, 从而产生1KB的灰色缩减扫描线110a。该缩减扫描线110形成图像107的缩减的无压缩夂反本的^出。
一^S^T出了缩减扫描线110a,解压才^f乍就进行迭代或重复,直到图像107
的无压缩版本做好了显示的准备。例如,佳月了求平均梯作来解压和缩减压
缩图像101的另外的第二组两条扫描线109c和109d。虽然扫描线109c和109d 主要为白色,扫描线109d包括黑色4象素(或区域)111,其中当对扫描线109c 的才對以区域求平均和缩减时,该黑色像素(或区域)111在缩减扫描线110b 上形成了灰色区域112。在进一步的迭代中,解压和缩减两个其他的扫描线 109e和109f,形成缩减扫描线110c。
该解压才乘作继续it代,直到解压和缩减了图l象的所有扫描线。尽管图l 示出了该解压#^乍从顶部开始沿图#^续地向下进行,但是也可^^其他的 模式。例如^jf]水平扫描线,可以从底部或从中部开始该解压操作,并且可 以跳过某些扫描线或对多组扫描线进4亍隔4亍扫描。
随着每个解压和缩减的扫描线的产生,其被添加或组合到第一缩减扫描 线110a,形成图像107的3KB的缩减的无压缩版本。通过显示器106输出该 围像107的缩减的无压缩版本,并且将该版本作为具有320x240的分辨率的 压缩图係^H诸在移动设备105中的1千字节(KB)的数字文件114 (命名为 320x240Ima,g )中。
重要的是,创建1KB数字文件114不要求创建图像104的24KB无压缩 版本。通过比较,这样一种方法可以解压该图像到其大小足以保持该图像104 的24KB无压缩i&^的緩冲器中,然后^JI]恰当的滤;fc^案来将该緩冲的图 像縮减或下采样到目标分辨率。如果像素深度增加了,则该比较方法面临的 问题才W口剧了。例如,32-bit像素深度会消耗两倍于16-bit深度的^H诸容量。
在解压操作期间,可以减少总的务賭器消耗。尽管其他方法在图像解压
和缩减操怍期间存在巨大的存储^f錢峰值,但在》W苗述的该增强方法使得 应用可以将总存储器消耗上限设置为目标缩减图i象尺寸外加用于额外扫描线 的较小附力口^f诸容量,如缩减因子所确定的那样。
为了便于说明,图1和图3向图像的压缩和无压缩片脉以及图像的各部 分或扫描线分配了某些任意的尺寸。例如图1示出了尺寸为5KB的压缩的 640x480 JPEG图像,尺寸为24KB的无压缩;^^,该图像的尺寸为4KB的全尺寸扫描线,该图像的尺寸为1KB的缩放的扫描线,该图像的尺寸为3KB的 缩减版本,以及尺寸为1KB的压缩和缩减的320x240 JPEG图像。因为这些 数字纯粹是任意的,仅用于示例性目的,因此这些尺寸和压缩比率与实际或 测量的尺寸和压缩比率之间的任何关系应被认为是纯属巧合。同样地,在此 描述的该增强方法与任何尺寸的图像或图像的一部分以及^^可类型的压缩和 缩减处理密切相关。
: 为了在一个真实世界例子的上下文中示出这一点,可以使用比较方法来
显示尺寸为640x480、像素深度为16 bit (2字节)的图像。假设没有标度, 在任何缩减发生之前,解压的图像尺寸必须将被^^f诸在600KB的緩沖器 (640*480*2/1024)中。如果目标^l岸率或尺寸是160x120,则必须分配37.5KB 的目标緩沖器(160*120*2/1024)。在该处理的寿命期间,实时务賭器消耗峰 值至少是637,5KB。
使用该增强型方法,完^^免了消耗600KB的前期成本。整个缩减处理 使用37.5KB的目标緩冲器外加用于均为640像素宽的四条扫描线(因为缩减 因子是4)的5KB^f渚器(640*4*2/1024)。因此,实时^[诸器消#%值是 42.5KB,或者是在比较方法中所使用的緩沖器大小的十五分之一。如此显著 的存储器大小差别与执行时间中的<封^]"预见的改变不相关联,原因在于解 压了相同数量的扫描线,并且应用了相同的下采样。
图2是增强解压处理200的流程图。简而言之,该处理包括基于压缩图 像的原始分辨率和目标^l岸率确定用于压缩的静态图^i^J^贞图像的缩减因 子;以及基于该确定的缩减因子,迭^Jf压该压缩图像的一定数量的扫描线。 该处理200也包括对于每次迭^*压,缩减迭^^压的所述数量的扫描线, 并且使用缩减的所述数量的扫描线来组成具有目标分辨率的解压图像。
更具体地,当该处理200开始(S201)时,基于压缩图像的原始分辨率 和目标分辨率,确定用于压缩图像的缩减因子。该压缩图像可以佳J 3TIFF格 式、PNG格式、GIF格式、IPEG格式、RAW图像文件格式或BMP格式来
压缩。"目标分辨率"是指4#该压缩图像的移动设备的屏幕分辨率,或者是指 该压缩图像的无压缩版本在显示该无压缩版本的设备上的预期的、可用的或
最终的分辨率。"原始分辨率"是指与压缩图像的无压缩片^M目关联的本地^^岸率。
该压缩图像可以包括多条扫描线。
一条扫描线(或"扫描的线")通常是
指i^册扫描图案中的一条线或一行,例如电^l^计算机的阴极射线管(CRT) 显示器中的一条视频线。 一条扫描线^4压缩图像中的一行像素、像素或块。
整数的缩减因子可以^M来增强性能。如果该确定的缩减因子不是整数, 则它可以向上或向下舍入到整数,例如最接近的整数、所确定的缩减因子之 上的最接近的整数或者所确定的缩减因子之下的最接近的整数。如果原始和 目标分辨率的方向比率不匹配,则可以确定多个临时缩减因子,并且可以通 过在多个临时缩减因子中进行选择,或者通必t临时缩减因子进行组合,确 定实际的缩减因子。例如,如果原始图像是宽屏的16: 9的祸LM静态图H 而输出i殳备是4: 3的显示器时,以上情况会发生。
在这种情况下,可以基于对原始和目标分辨率的垂直方向的比较,确定 第一临时缩减因子三(9/3)。可以基于对原始和目标分辨率的水平方向的比 较,确定第二临时缩减因子四(16/4)。可以选择三、四或任意数字(例如3 与4之间的凄史字)的缩减因子。
如果使用小于4的缩减因子,则该图像的缩减的无压缩版本将在目标显 示器的垂直方向上适合,然而该无压缩图l象的一卩分在显示器的水平方向上 将不适合,因此,在显示设备上改变了无压缩图像的M方向比率。如M 择缩减因子4(或更大),则该图像在水平方向上将适合于显示器,并且目标 图像的M方向比率一針呆持不变,然而目标图像至少将不会完全适合于显示 器的垂直部分。
基于等式(1)确定该缩减因子如下
/KMIN(floor(由阔,floor(/i力阔) 0)
if (f1){f = 2}
在等式(1)中,f表示缩减因子,w和h分别表示原始分辨率的水平和 垂直方向,wDst和hDst分别表示目标分辨率的水平和垂直方向。
基于确定的缩减因子,解压该压缩图像的一定数量的扫描线(S204)。 一条扫描线可以是该图像的水平的、 一个像素高度的行,垂直的、像素宽度 的列,或是一条斜线。基于缩减因子确定扫描线的数量,其中所述数量的扫描线是组成该压缩图Y象的多条扫描线的子集。
该缩减因子同时确定要解压和缩减的扫描线的数量,因此该缩减因子基 于所述数量的扫描线、乂人数量上说与所述数量的扫描线相关联或者与所述数 量的扫描线有关。在原始^^卑率和目标分辨率的方向比率相同的情况下,可
以通过用原始分辨率下垂直(或水平)像素的数量除以
目标分辨率下垂直(或水平)像素的数量,确定该缩减因子。这一结果
数字也代表了 一次迭代中要解压的扫描线的数量。
在原始分辨率和目标分辨率方向比率不相同的例子中,通过将原始分辨 率的垂直或水平像素除以目标分辨率的垂直或水平像素,或通过将原始分辨 率的像素总数除以目标^^卑率的像素总数来确定该缩减因子(如上)。如果 该计算是基于元素总数的,则可以通过额外的计算(例如平方根计算)来处 理结果数值,从而确定在一次迭代中要解压的扫描线的数量。考虑到这一点, 该缩减因子可以直4矣与要解压的所述凄t量的扫描线相关,如在这些凄t字相同 的情况中那样,或者与要解压的所述数量的扫描线间接相关,如在这些数字 不同^if过固定或已知的数学表达^f目关的情况中那样。
如果显示压缩图像的设备的资源足以显示图像而不需要进行缩减,那么 也可以动态地或自动地省略该缩减操作。例如,在可用的存储容量达到或超 出试探条件的情况下,可以动态地省略缩减,其中该试探条件例如是进#^
查以查看IsLowMEMORY0函^^否失败了预定次数。在没有检测到^##容量 ^^牛的情况下,这样的试探^f牛将省略缩减才剁乍。
缩减解压的所述数量的扫描线(S205)。可以检测^^H诸容量^f牛,如 果检测到^^f诸容量务f牛,则缩减迭4,压的所述数量的扫描线。缩减迭代 解压的所述数量的扫描线可以进一步包括对迭^^压的所述数量的扫描线的 特征求平均,或者对迭^^压的所述数量的扫描线进行滤波。在已经缩减所 述数量的扫描线之后,丟弃迭4,压的所述凄t量的扫描线。
尽管已经在此将缩减描述为使用求平均,但也可以使用其#^支术。例如, 从可以实现任意类型的缩减(例如双线性、双三次、最近邻居,等等)的意 义上说,缩减可以是可插入的操作。考虑到这一点,可以基于该缩减因子, 动态地选择缩减技术,这将影响变得可用于重采样滤波器的扫描线和像素采样的数目。在进一步的实现中,矩形像素子块而不是扫描线^lf压,以更好
^it合于特定的滤波处理。
使用缩减的所述数量的扫描线来组成具有目标分辨率的解压图像
(S206)。在一个示例性的实现中,在每次迭代期间,例如在解压或缩减#^ 分扫描线W,立即组成该解压图像。^f細这种方法,当解压和缩减^f乍还 在进行时,该图像的一部分可以被输出给用户。在另一个示例性的实现中, 在所有迭代发生后,例如在已经解压或缩减所有扫描线后,组成该解压的图 像。^^]后面的这一方法,整个图像可以一次'hi^^出给用户。
如果压缩图像包括额外的压缩扫描线(在S207中),则以迭代模式或方 式来解压这些额外的扫描线(S204以及之后的步骤)。如果压缩图像不包括 额外的压缩扫描线(在S207中),则可以输出该组成的解压图像(S209), 从而结束该处理200 (S210)。
该组成的解压图像可以^^文大,从而使得该组成的图像与原始图像占用 相同尺寸的区域。如果原始压缩图像已经被缩减,则作为结果的放大图像将 不具有同样的^^度或者包含与原始图l象同样级别的细节。由于《象素数量的 减少,缩减导致图像中细节的损失,但^]户至少将看到该图像的某个版本, 而不是产生可能会导致应用程序崩溃的存储容量不足的情况。
为了描述简要以M^H释,前面将该压缩图像的所述数量的扫描线的 迭代僻压描述为顺序的操作,但是在其他的示例实现中,并行地解压和/或缩 减这些扫描线。例如,可以解压和/或缩减第一组一定数量的扫描线且并行地 解压和/或缩减第二组一定数量的扫描线。
根据这一增强解压方法,动态地降低了待呈现的无压缩图像的质量,而 同时降低了##器消耗需求。然而,所呈现图像的原始方向比率或尺寸可以 与标准的解压图^^目同。
图3是用于实J^寸压缩图像的增强解压的另一个通用的方法的示意图。 不同于图1,图3中示出的方法迭^t也解压垂直扫描线而不是水平扫描线,使 用滤波处理而不是求平均处理来冲;W亍缩减,并且具有确定的缩减因子四而不 是缩减因子二,等等。
更M地,具有1024x760的分辨率的压缩扩展图像矩阵(XGA)图像^^诸在台式计算才几302的30KB的l丈字文件301 (命名为1024x760Imagebmp ) 中。该.BMP文件扩M反映了该图像的编码^JI]了位H^各式。该台式 计算机302包括相对健壮的计算资源,能够方便地解压30KB的数字文件301 , 以创建和输出图像304的72KB的无压缩M。
移动设备305的用户发出查看数字文件301的内容的4^令,其中该移动 设备305包括具有非标准的320x240 ^l岸率的显示器106。因为移动设备以其 本地分辨率不能显示图像304的72KB的无压缩版本,因此图像304在输出 到显示器306上之前被缩减(缩减为图像307的缩减的无压缩片^)。
通过对图像原始;&^的分辨率的方向和显示器306的^l岸率进行比较, 计算缩减因子。图像304的原始M的垂直和水平^Hf率均包括4倍于显示 器306的4象素数量,该例子中的缩减因子是4。
因为该缩减因子是4,所以解压该压缩图像301的前四条扫描线309a至 309d。因为每条扫描线包括12KB数据,所以解压四#直扫描线的数据所 使用的存储器资源要少于解压图像104的整个72KB无压缩版本所需要的存 储器资源。
滤波才乘怍缩减解压扫描线309a至309d,其中四分之三的垂直扫描线 被丢弃,并且垂直扫描线中的一条被选择^ii行缩减,而不考虑其他扫描线 的特征。被选择的扫描线可以是被任意选择的扫描线,例如第一、第三、或 第n扫描线,或者可以基于例如如像素值的一致性或非一致性之类的扫描线
特征来动态;^择。
因为图3中示出的增强解压#^(乍选择了被选择用于解压的每四条扫描线 中的第一条,扫描线309a被选择为用于縮减,扫描线309b至309d被丟弃。 缩减的扫描线309作为垂直扫描线309a的縮减才喿怍结果,皮输出,其包括对应 于像素(或区域)311a的黑色^f象素但是不包括对应于^象素(或区域)311b的 黑色像素。
缩减的扫描线310a形成图像307的缩减的无压缩版本的勤出。 一旦缩减 的扫描线310a被输出,解压才剁乍就进行迭代。特别地,^^]求平均才刻乍,解 压和缩减该压缩图像301的第二组四条扫描线309e至309h,从而输出缩减扫 描线310b。该解压操怍继续迭代,直到该图^象的所有扫描线净WF压和缩减。当每条解压和缩减的扫描线产生时,它被添加或组合到第 一缩减扫描线
310a,形成图像307的12KB的缩减的无压缩片^。通itt示器307输出该图 像307的縮减的无压缩X^,并且将该;^^作为具有256x190的分辨率的压 缩图傳^#在移动设备305中的8千字节(KB)的凄t字文件314 (命名为 256x190Imagejpg)中。在另一个例子中,创建12KB数字文件314不要求创建 图像304的72KB无压缩版本。
特别地,尽管图1的原始无压缩图像104和图3的原始无压缩图像304 相似,但结果或目标无压缩图〗象107和无压缩图像307则表现出很大的不同。 这种差异部分地是由缩减技术以^JF压^f乍使用的扫描线类型的不同而引起 的。
因此,可以使用压缩图^f象的经迭^Jf压和缩减的一定l史量的扫描线来纟且 成具有目标^^率的解压图像,基于压缩图像的原始^l辟率和目标^4岸率, 确定出与缩减因子相关的扫描线数量。
在此描述的i^和功能才剁乍可以以数字电子电路、计算才;i4欠件、固件或 硬件(包括本说明书中公开的结构及其等同形式)来实现,或者以其中的一 个或多个的组合来实现。可以将本说明书中描述的i^实现为一个或多个计 算才財呈序产品,即编码在有形的禾呈序载体上用于由翁:才居处理装置^Vf于或用以 控制数据处理装置的操怍的一个或多个计算才A4呈序指令模块。该有形的程序 载体可以是所传播的信号或计算机可读介质。所传播的信号是人工生成的信 号(例如,机器生成的电信号、光信号或者电磁信号),该信号被生成以对 信息进行编码,以便传ii^适合的接收机设备以供计算^W丸行。计算机可读 介质可以是机器可读^f射殳备、才几器可读^^诸基片、^f诸器设备或其中一个 或多个的组合。
例如,计算4;i4呈序产品可以有形地包含在机器可读介质中。该计算才M呈 序产品包括如下指令,当被机器读取时,该指令才剁乍为促使数据处理装置基 于压缩图像的原始分辨率和目标分辨率确定用于该压缩图像的缩减因子,以 及基于该确定的缩减因子迭4,压该压缩图像的一定数量的扫描线。该计算 才財呈序产品也包括如下指令,当其被机器读取时,该指令才剩乍为促使数据处 理装置针对每次迭^^压而缩减迭^^压的所述数量的扫描线,以及使用缩减的所述数量的扫描线来组成具有目标分辨率的解压图l象。
在另一个例子中,计算机实现的方法包括基于压缩图像的原始分辨率 和^f^亥压缩图像的移动设备的屏幕分辨率,确定用于该压缩图像的缩减因
子,其中该图像^^1 JPEG格式压缩,并且包括多条扫描线。该方法也包括基
于该确定的缩减因子,确定该压缩图像的一定数量的扫描线,该一定数量的
扫描线是该多条扫描线的子集;;^则移动设备的^^f诸容量^^牛,迭^RJf压 所述数量的扫描线,其中每一条扫描线包括该图像的水平的、 一个像素高度 的行。而且,该方法包括如果检测到了^^f渚容量的情况,则对于每次迭 代解压,通幼于迭^^压的所述数量的扫描线的特征求平均,来缩减迭^J^ 压的所述数量的扫描线;并且^^]迭^^压的所述数量的扫描线来组成具有 目标分辨率的解压图像。另夕卜,该方法包^i文大该组成的图像,以及在该移 动设备处输出该放大的图像,其中该放大图傳^口该压缩图像使用相同的纵横 比。
术语"数据处理装置"包括所有用于处理数据的装置、设备和机器,例如 包括可编程处理器、计算机、或者多个处理器或计算机。除硬件O卜,该装 置还包括创建用于所研究的计算才财呈序的扭行环境的代码,例如构成处理器 固件、协议堆栈、数据库管理系统、操作系统、跨平台运行时环境、或者其 中一个或多个的组合的代码。此外,该装置可使用多种不同的计算模型1^出 设施,例如Web服务、分布式计算和网才各计算^5出i殳施。
计算才財呈序(也被称为程序、软件、软件应用、脚絲代码)可以以任 何一种形式的编程语言编写,包括编ifi吾言或解释语言、说明性语言或过程 语言,并且该计算*1^呈序可以以任4可形式部署,包括作为独立的程序、或作 为才势t夹、组件、子例程、或其他适合于在计算环境中使用的单元。计算才M呈 序不必与文件系统中的文件相对应。程序可以存储在保持其#^呈序或数据(例 如^f诸在标记语言文档中的一个或多个脚本)的文件的j卩分中,还可以存 储在专用于所研究的程序的单个文件中、或^f诸在多个协调的文件(例如存 储一个或多个模块、子程序、或代码部分的文件)中。可以将计算才A4呈序部 署为在一个计算上或在位于一个站点处或跨多个站点而分布并由通信网络互 连的多个计算才几上^丸行。本说明书中描述的处理和逻辑流程可以由一个或多个可编程处理器来执 行,这些可编程处理器^Vf亍一个或多个计算才M呈序以通幼于输入数据进行操 作并生成输出来执行功能。这些处理和逻辑沭d呈也可以由专用逻辑电路来执
行,并iL^置也可以实现为专用逻辑电路,该专用逻辑电路例如FPGA (现场 可编程门阵列)或ASIC (专用集成电路)。
适合于实现计算才財呈序的处理器包括例如通用或专用的微处理器、 <勤可 类型的数字计算机的4^f可一个或多个处理器。通常,处理器从只读存—诸器或 随机访问##器或以上两者接收指令和数据。计算才几的必需单元是用于才iU亍 指令的处理器和一个或多个用于^i诸指令和数据的存储器设备。通常,计算
才ilr^可以包括或可才斜U給到例如磁盘、磁光盘或光盘之类的一个或多个用
于存储数据的大^f诸容量设备以对其接收或发送数据。然而,计算才几可以没 有这些设备。此外,计算机可以嵌入另一个设备中,例如移动电话、个人数
字助理(PDA)、移动音频或视频播放器、游戏4空制台、全球定位系统(GPS) 4妄收器、或者便携式^fi^殳备(例如通用串行总线(USB)闪存驱动器)等 等。适合于^f^十算4財呈序指令和数据的设备包括所有形式的非易失性^f诸 器、介质和^f诸器设备,包括例如半导^H渚器,如EPROM、 EEPROM和 闪速^^诸器设备;磁盘,如内部石tt或移动石兹盘;磁光盘;以及CD-ROM和 DVD-ROM盘。处理器和务賭器可以由专用逻辑电^4卜充,或合并在专用逻 辑电路中。
:例如,设备可以包括处理器,该处理器基于压缩图像的原始分辨率和目 标分辨率确定压缩图像的缩减因子,以及基于该确定的缩减因子迭^^压该 压缩图像的一定数量的扫描线。该处理器^^每次迭^^压中,缩减迭/f,
压的所述数量的扫描线;以及佳月这些缩减的所述数量的扫描线来组成具有 目标^l岸率的解压图像。
为了提供与用户的交互,本说明书中描述的JJI的实施例可以在具有显 示器以及键盘和指示设备的计算机上实现,该显示器例如CRT或LCD (液晶 显示器)监视器,用于向用户显示信息,并且该指示设备例如鼠标或^^宗球, 用户可以通过其来向计算才;W是供输入。其他类型的设^L能^^来提供与用 户的交互;例如提供给用户的反馈可以是^f可形式的感官反馈,例如—见觉反馈、听觉反馈、或触觉反馈;可以以4封可形式接收来自用户的输入,包括声
学、语音、或触觉的iir入。
在此描述的主题可以在如下计算系统中实现,该计算系统包括例如作为 数据服务器的后端组件,或者包括例如应用月良务器之类的中间件组件,或者 包括例如具有使得用户可以通过其来与在本说明书中描述的M的实现进行 交互的图形用户接口或Web浏览器的客户端计算才;^类的前端组件,或者包 括一个或多个这样的后端、中间件或前端组件的任意组合。该系统的组件可 以通过任意的数字数据通信形式或介质,例如通信网络来互连。通信网络的
例子包括局域网("LAN")、广域网("WAN7,)、因特网(例如Internet)以 ^ 于等网络(例如自组(adhoc)对等网络)。
该计算系统可以包括客户端和服务器。客户端和服务器之间通常彼itW目
^it远,并且典型地通iiit信网络来交互。客户端和服务器的关系因为运行 在各自计算机上的计算才M呈序而更密切,并且彼此之间具有^^户端 -月良务器 关系。
图4显示了这种类型的计算机的例子,其示出适合于实现在本说明书中 描述的主题的各方面的装置或扭軒在本说明书中描述的M的各方面的方法 的可编程处理系统400的框图。该系统400包括由处理器(CPU)总线450 连接的处理器410、随机访问存储器(RAM)或者程序务賭器420 (例如可写 只读存储器(ROM),例如闪速ROM)、碌i驱动控制器、祸L频控制器、以 及输A/输出(1/0)控制器440。处理器400可预编程,例^nf员编禾l^ROM 中,或者系统400可通过从另一来源(例如,从软盘、CD-ROM、或其他计 算机中)加载程序而被编程(以及重新编程)。
处理器410是大量高性能计算机处理器中的一个或多个,包括INTEL 或者AMD⑧处理器、POWERPC⑧处理器、MIPS⑧精筒指令集计算机("RISC") 处理器、3 ^^@处理器、ACORN^RISC机器("ARM ")体系结构处理器、 HPALPHASERVEI^处理器或用于大型4几的专用计算机处理器。在另外的设 置中,该处理器410是多个处理单元,包括在高性能工作站和服务器中可见 的多CPU配置,或者在大型机中可见的多可扩展处理单元。
硬件驱动控制器连接到适合于^f诸可^^ti十算4财呈序的^(浙殳备430,这些可^^ti十算才財呈序包括可以具^^M见在此描述的M的各方面的程序。
视频控制器连接到视频记录器,该记录器可以用于存储和导入视频连续镜头 以及用于写出f^输出。
该^f浙殳备430可以^1于从系统400下载数据或向系统400上传数据 的固定的或可移动的^^i殳备。该^f^i殳备430可以是软盘驱动器、IOMEGA 观@驱动器、压缩盘只读^f诸器("CD-ROM")驱动器、可记录CD驱动器 ("CD-R")、可重写CD驱动器("CD-RW")、闪速务賭器、USB闪速驱动 器、外部或内部硬盘驱动器、拇指驱动器、笔驱动器、键驱动器、高密度数 字通用盘("HD-DVD")光盘驱动器、蓝光光盘驱动器、全息数字数据^(诸 ("HDDS")光盘驱动器、或例如可记录DVD ("DVD-R"或"DVD+R")、可 重写DVD ("DVD-RW"或"DVLH"RW")或DVD-RAM之类的各种可记M 可重写的数字通用盘("DVD")驱动器中的任意一种。才喿作系统程序、应用 程序以及各种数据文件##^ 兹盘中,f兹盘^ft在^fili殳备430中。
I/O控制器440通过I/O总线与I/O接口连接。该I/O接口以模拟或数字 形式通过例如串行M^各、局域网、无线M^各、并行《鈔I^类的通信M^I妻收 和发送数据(例如用于导入为一体的静态图片、电影和动画)。该I/O总线还 连接了显示器和键盘。作为替代,可以采用用于i/o接口、显示器和键盘的独 立的连接(独立的总线)。
该IZO控制器可以侦Jf]有线或无线连接器。示例的无线连接器包括例如 INFRARED DATA ASSOCIATION ("IrDA ")无线连接器、光学无线连接 器、INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS ("IEEE ")标准802.11无线连接器、BLUETOOIT^无线连接器、近场通信 ('OTC")连接器、正交频分^] ("OFDM")超宽带("UWB")无线连接器、 时间调制超宽带("TM-UWB")无线连接器、或者其他无线连接器。示例的 有线连接器包括例如IEEE -1394 111£\¥11^@连接器、通用串行总线('VSB") 连接器、串行端口连接器、并行端口连接器、或者其他有线连接器。
系统400使用的操作系统可以A^于基于INTEL 和POWERPC⑧的工 作站和服务器的APPLE MAC OS X ; MICROSOFT WINDOWS NT /WINDOWS 2000/WINDOWS XP工作站;MICROSOFT^WINDOWSVISTA /WINDOWS NT^/W1NDOWS⑧2000/WINDOWS^服务器;各种各 样的UNE^J^各的才刻乍系统,包括用于IBIv/f工作站和服务器的AIX 、用于 SUN 工作站和力l务器的SUNOS 、用于基于MTEI^CPU的工作站和服务 器的LINU^、用于HP⑧工作站和服务器的HP UX WORKLOAD MANAGER⑧、用于SGf工作站和服务器的IRIX 、用于数字设^^公司计算机 的VAX/VMS、用于基于HP ALPHASERVER⑧计算机的OPENVMS ; SYMB腦OS⑧、NEWTON 、 IPOD⑧、WINDOWS MOBILE⑧或WINDOWS CE 、 PALM 、 NOKIA OS ('WOS") 、 OSE 、或者用于移动设备的EPOC 、 或者用于计算才;i^戈嵌入式系统的专有操作系统。用于操作系统的应用开发平 台和框架可以是BINARY RUNTIME ENVIRONMENT FOR WIRELESS ("BREW " ); Java Platform、 Micro Edition ("Java ME")或者Java 2 Platform、 Micro Edition ("J2ME ") ; PYTHON 、 FLASH LITE 、或者 MICROSOFT .NET Compact。
尽管本说明书包含了很多实现细节,但这些细节不应当理解为对^^开 或所要求保护的范围的限制,而应当理解为对本公开的特定实现所特有的特 征的描述。本说明书在各实现的上下文中所描述的某些特征还可以以组合形 式在单一的实现中实现。相反,本说明书在单一实现的上下文中所描述的各 种特4极可以单独地或以任意合适的子组合用于多种实现中。另外,虽然上 文中可能将特4i4葛述为了以某些组合形式来操作并且甚至最初要求这才ff呆 护,但所要求保护的组合中的一个或多个特征在某些情况下可以从该组合中 去除,并且所要求保护的组合可以针对一个子组合或各种^4羊的子组合。
类似地,尽管在附图中以特定次序描述了操怍,但这不应当理解为要求 这些4剁乍以所示出的特定;M或以顺序的:^Hi^亍,或要求所示出的所有操 作都被执行以获得希望的结果。在某些情况下,多任务处理和并行处理可能 是有利的。另夕卜,上文中所描述的实现中的各种系统组件的分离不应当理解 为在所有实现中渚睹求这种分离,而应当理解为所描述的程序组件和系统通 常可以""^集成在单一的软件产品中或封装到多个软件产品中。
至于形式问题,尽管一直将术语"用户"用来描述与这些处理进行交互的 实体,但这种概括同样旨在描ii^各种各样不同的重叠或非重叠状态与这些处理进4亍交互的多个相关或不相关的、存活或自动的实体或人。类似地,术 语"选棒,在整^S兌明书中旨在表示人类的手工选择、非人类的自动选择或其某
些组合。最后,应当注意,为简洁起见,在整个说明书中,术语"JavaScript" 旨在指代SUN MICROSYSTEMS JAVASCRIPf编程语言,并且术语"XML" 旨在指代"eXtensible Markup Language"(可扩展标记语言)。
已经描述了大量实现。无论如何,应当理解,在不偏离本发明的精神和 范围的情况下,可以进行各种修改。因此,其他实现也在所附权利要求的范 围内。
权利要求
1、一种计算机实现的方法,包括基于压缩图像的原始分辨率和存储所述压缩图像的移动设备的屏幕分辨率,确定用于所述压缩图像的缩减因子,其中所述图像是使用联合图像专家组(JPEG)格式压缩的,并且包括多条扫描线;基于所述确定的缩减因子,确定所述压缩图像的一定数量的扫描线,所述一定数量的扫描线是所述多条扫描线的子集;检测移动设备的低存储容量条件;迭代解压所述数量的扫描线,其中每一条扫描线包括所述图像的水平的、一个像素高度的一行;如果检测到了低存储容量的情况,则对于每次迭代解压,缩减迭代解压的所述数量的扫描线,进一步包括对迭代解压的所述数量的扫描线的特征求平均;使用迭代解压的所述数量的扫描线来组成具有目标分辨率的解压图像;放大所述组成的图像;以及在所述移动设备处输出所述放大的图像,其中所述放大的图像和所述压缩图像使用相同的纵横比。
2、 一种计算机实现的方法,包括基于压缩图像的原始分辨率和目标分辨率,确定用于所述压缩图像的缩 减因子;基于所述确定的缩减因子,迭^lf压所述压缩图像的一定数量的扫描线; 对于每次迭^Jf压,缩减迭4请压的所述数量的扫描线;以及 使用缩减的所述数量的扫描线来组成具有所述目标分辨率的解压图像。
3、 如片又利要求2所述的方法,进一步包括输出所iii且成的、解压的图1"象。
4、 如权利要求2所述的方法,其中所述缩减因子是整数。
5、 如权利要求2所述的方法,进一步包括基于所述确定的缩减因子,确 定所述压缩图像的所述数量的扫描线。
6、 如权利要求2所述的方法,其中所述扫描线的数量等于所述缩减因子或与所述缩减因子呈反比。
7、 如权利要求2所述的方法,进一步包括 检测^^f诸容量^f牛;以及当^企测到^^(诸容量条件时,缩减迭4,压的所述数量的扫描线。
8、 如权利要求2所述的方法,其中^^]标各图像文件格式(TTFF)的格 式、可移植网络图形(PNG)的格式、图像交换格式(GIF)的格式、联合图 像专家组(JPEG)格式、RAW图像文件格式或者位图(BMP)格式来压缩 所i^缩图像。
9、 如权利要求2所述的方法,其中缩减迭^^压的所述数量的扫描线进 一步包括对迭^^压的所述数量的扫描线的特征求平均或者对迭^^压的所 述凄t量的扫描线进4于滤波。
10、 如权利要求2所述的方法,其中所述原始分辨率和所述目标分辨率 使用相同的纵横比。
11、 如权利要求2所述的方法,其中扫描线包括所述图像的水平的、一 ^H象素高度的行,垂直的、 一个像素宽度的列,或者一个像素粗的斜线。
12、 如权利要求2所述的方法,进一步包括放大所iil且成的、解压的图像。
13、 如权利要求2所述的方法,其中所述目标^l岸率包括^f诸所述压缩 图像的移动设备的屏幕^l岸率。
14、 如权利要求2所述的方法,进一步包括在已经缩减所述数量的扫描 线之后,丟弃迭^*压的所述数量的扫描线。
15、 如权利要求2所述的方法,其中所述图像进一步包括多条扫描线, 其中所述一定数量的扫描线是所述多条扫描线的子集。
16、 如权利要求2所述的方法,基于以下等式来确定所述缩减因子<formula>formula see original document page 3</formula>其中f表示所述缩减因子,w和h分别表示所述原始分辨率的水平和垂直 方向,wDst和hDst分别表示所述目标分辨率的水平和垂直方向。
17、 如权利要求2所述的方法,其中所述原始分辨率包括与所述压缩图像的无压缩版斜目关联的分辨率。
18、 如权利要求2所述的方法,其中迭4饼压所iiH缩图像的一定数量 的扫描线进一步包括解压所述数量的扫描线中的第一扫描线且并行地解压 所述数量的扫描线中的第二扫描线。
19、 一种用于数据压缩的设备,包括用于基于压缩图像的原始分辨率和目标分辨率,确定用于所述压缩图像 的缩减因子的装置;用于基于所述确定的缩减因子,迭^^压所i^缩图像的一定数量的扫 描线的装置;用于对于每次迭^^压,缩减迭^^压的所述数量的扫描线的装置;以及用于^^]缩减的所述数量的扫描线来组成具有所述目标分辨率的解压图 像的装置。
20、 一种包括处理器的设备,所#理器配置为 基于压缩图像的原始分辨率和目标^^岸率,确定用于所述压缩图像的缩减因子;基于所述确定的缩减因子,迭^*压所^£缩图像的一定数量的扫描线; 对于每次迭^^压,缩减迭^f请压的所述数量的扫描线;以及使用缩减的所述数量的扫描线来组成具有所述目标^l岸率的解压图像。
21、 一种计算机实现的方法,包括使用压缩图像的经迭^^压和缩减的 一定数量的扫描线^M成具有目标分辨率的解压图像,扫描线的数量与基于 所述压缩图^象原始分辨率和目标分辨率确定的缩减因子有关。
全文摘要
本发明涉及压缩图像的增强解压,其中使用压缩图像的经迭代解压和缩减的一定数量的扫描线来组成具有目标分辨率的解压图像,扫描线的数量与基于该压缩图像的原始分辨率和目标分辨率确定的缩减因子有关。
文档编号H04N7/26GK101409842SQ20081017855
公开日2009年4月15日 申请日期2008年9月22日 优先权日2007年9月21日
发明者S·T·克基, W·卢 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1