增强型图像压缩的字节表示的制作方法

文档序号:7941356阅读:140来源:国知局
专利名称:增强型图像压缩的字节表示的制作方法
技术领域
本公开总体上涉及使用字节表示来增强图像压缩(无损和有损压缩二者)。
背景技术
通常,取决于在压缩过程中是否丢弃数据,将传统的图像压缩技术称为是“无损 的”或“有损的”。传统的无损压缩技术的例子包括Huffman编码、算术编码和Fano-Sharmon 编码。使用无损压缩,解压缩过程将重建全部原始图像。在诸如医疗和空间科学这样的应 用中,可以发现无损压缩对于图像是重要的。在这样的情形下,实施压缩算法以避免在解压 缩压缩图像时丢弃在之后可能要求或者甚至有用的信息。另一方面,因为丢弃了一些数据,所以有损压缩在速度和存储方面提供了比无损 压缩更高的效率。因此,在可以容忍相对于输入数据的一定程度不精确的地方,使用有损技 术。例如,常常在视频或商用图像处理中使用有损压缩。两种流行的有损图像压缩标准是 MPEG(运动图像专家组)和JPEG(联合摄影专家组)压缩方法。除了成像系统之外,可以将压缩技术合并到用于“视频点播”应用的视频服务器 中。也可以将压缩技术应用于流视频,例如通过通信链路实时捕获和显示视频图像。流视 频的应用可以包括视频电话、远程安全系统和其他类型的监视系统。

发明内容
本说明书描述了与使用字节表示来增强无损和有损压缩的图像压缩以减少颜色 值并增加颜色信息中的冗余有关的各种方面。典型地,压缩算法通过消除数字格式中的冗 余信息来减小数据尺寸。因此,使用字节表示的增加的冗余可以允许无损图像压缩器更有 效地执行压缩并减小存储数据所要求的带宽量。可以将字节表示应用到图像(例如,位图 图像)或其他数字对象的数据文件。总体上,一个方面可以是用于增强具有多个像素的数字图像的压缩的方法,每个 像素包括至少一种颜色分量,该方法包括获取用于表示与至少一种颜色分量相关联的颜色 值的原始比特数。该方法还包括指定用于表示多个状况(case)属性的第一减少比特数。该 方法还包括指定用于表示新颜色值的第二减少比特数,其中第一减少比特数和第二减少比 特数的和等于原始比特数。该方面的其他实现方式包括相应的系统、装置和计算机程序产
P
ΡΠ O另一概括方面可以是用于增强具有多个像素的数字图像的压缩的方法,每个像素 包括至少一种颜色分量,该方法包括获取与至少一种颜色分量相关联的颜色值的第一范围。该方法还包括将颜色值的第一范围指定到多个状况属性中。该方法还包括部分基于多 个状况属性确定颜色值的第二范围,第二范围显著地小于第一范围;以及其中第二范围和 多个状况属性的乘积等于第一范围。该方面的其他实现方式包括相应的系统、装置和计算 机程序产品。再一概括方面可以是包括被配置来执行从RGB色彩空间到新色彩空间的色彩空 间变换的变换模块的系统。该系统还包括被配置来执行预测编码的编码模块。该系统还包 括用于基于多个状况属性和新颜色值、使用字节表示来增加颜色值中的冗余的装置。该系 统包括被配置来基于字节表示执行图像压缩的图像压缩器。这些和其他概括方面可以可选地包括一个或多个下面的具体方面。方法可以包括 获取与数字图像的像素相关联的原始颜色值。方法还可以包括部分基于原始颜色值从多个 状况属性中确定状况属性。方法还可以包括基于状况属性和原始颜色值确定新颜色值,其 中新颜色值显著地小于原始颜色值;以及其中由新颜色值和状况属性表示原始颜色值。该 方法还可以进一步包括以二进制格式存储状况属性和新颜色值。在一种实现方式中,原始比特数基于8比特;第一减少比特数基于3比特,以及第 二减少比特数基于5比特。在另一实现方式中,原始比特数基于8比特;第一减少比特数基 于2比特,以及第二减少比特数基于6比特。在又一实现方式中,原始比特数基于11比特; 第一减少比特数基于3比特,以及第二减少比特数基于8比特。在一些实现方式中,至少一种颜色分量包括RGB色彩空间的红色、绿色或蓝色分 量。在一种实现方式中,第一范围包括256个颜色值,多个状况属性包括8个状况属性,以 及第二范围包括32个颜色值。在另一实现方式中,第一范围包括256个颜色值,多个状况 属性包括16个状况属性,以及第二范围包括16个颜色值。在又一实现方式中,第一范围包 括256个颜色值,多个状况属性包括4个状况属性,以及第二范围包括64个颜色值。可以使用系统、方法、或计算机程序、或者系统、方法和计算机程序的任何组合来 实现概括和具体方面。在附图和下面的描述中阐述了一个或多个实现方式的细节。从描述、 附图和权利要求中,其他特征、方面和优点将是明显的。


现在将参考附图详细描述这些和其他方面。图1是图示可以如何实现字节表示来增强无损压缩算法的流程图。图2A是可以如何使用字节表示来将原始颜色值转换为状况属性号和新颜色值的 概念性示意图。图2B是示出在字节表示中将传统颜色值转换为状况属性号的表格。图2C是示出使用字节表示的状况属性号和新颜色值的冗余的表格。图3A是图示用于将传统颜色值转换为字节表示的过程的流程图。图3B是图示用于从字节表示中重建原始颜色值的过程的流程图。图4A是示出在JPEG压缩中使用的残差预测值的表格。图4B是示出在字节表示中将每个类别的残差预测值转换为状况属性号的表格。图5是图示可以如何实现字节表示来增强暗(dark)方法编码算法的流程图。图6图示了使用字节表示来增强图像压缩的优点。
5
图7是用于使用字节表示来实现增强型图像压缩的计算设备和系统的框图。各种附图中相似的附图标记代表相似的元素。
具体实施例方式图1是图示可以如何实现字节表示来增强无损压缩算法的流程图。过程100A描 述了涉及将典型的无损压缩算法应用到数字图像的步骤。例如,在110处,在原始数字图像 上执行色彩空间变换。在一种实现方式中,例如,当由RGB色彩空间表示原始数字图像时, 步骤SllO可以将RGB色彩空间变换为诸如YC,Cb或YCgCb之类的另一种色彩空间。在120 处,将预测编码算法应用到所变换的色彩空间。预测编码可以用来去除连续像素之间的冗 余。另外,可以编码实际值和预测值之间的残差。一旦应用了预测编码算法,在130处,无 损压缩算法用来减小数字图像的尺寸。例如,无损压缩算法可以是游程长度编码(RLE)、 Lempel-Ziv-Welch (LZff)压缩、所有 zip 或 rar 的拓扑(例如,bzip、7zip、Pkzip、winace)寸。过程100B描述了涉及应用图像压缩算法(可以是任何类型的压缩算法)中的字 节表示以增强数字图像的压缩的步骤。在一种实现方式中,一旦应用了预测编码算法并且 在实施图像压缩器(可以是任何类型的有损或无损压缩器)之前,可以将字节表示用来在 数字图像中创造更多冗余。将在下面进一步讨论字节表示的细节。通过创造颜色信息中更多的冗余而不损失信息,字节表示可以用来改变颜色信息 的表示。作为例子,可以使用24比特颜色图像来描述获取字节表示的过程。可用的合成颜 色的数量取决于用于每种原色分量的比特数。典型的现代计算机显示器对于每个像素使用 总共24比特的信息,该格式被称为“24比特真彩色”。这相应于对于每种原色给定256个 可能的色调或颜色值的范围,红、绿和蓝每种都是8比特。使用24比特真彩色的方案,可以 重建大约1670万种离散颜色,即便人类视觉仅仅可以在大约1000万种离散颜色中进行区 分。取决于人的年龄和眼睛的条件,人类视觉响应因人而异。如上所述,可以由8比特(或1字节)来表示每种颜色,从而使用二进制表示允许 256个可能的颜色值。在一种实现方式中,可以将256个颜色值变换为包含两种子结构的字 节表示,其中一种子结构包含新颜色值,而另一种子结构包含新颜色值的状况属性。例如, 对于数据的给定字节表示,可以为一种子结构(例如,新颜色值)选择7比特而为另一种子 结构选择1比特(例如,状况属性)。另外,针对每种子结构的比特数的细分(breakdown) 可以是6比特+2比特、5比特+3比特、4比特+4比特等。图2A是可以如何使用字节表示将原始颜色值转换为具有状况属性号的新颜色值 和新颜色值的概念性示意图。在一些实现方式中,可以优选新颜色值和属性的子结构的5 比特+3比特表示。在二进制系统中,开始的5比特可以用来表示最多32个新颜色值。另 外,对于剩下的3比特,可以得到最多8个状况属性。从而,可以由32个可能的新颜色值 (由开始的5比特表示)和8个可能的状况属性之一(由最后的3比特表示)一起来表示 原始的256个颜色值。以这种方式,可以增加颜色值中的冗余量,因为现在存在更少的可能 颜色值(32个对256个)来表示每种颜色。作为例子,图2B示出了可以如何将原始的256个颜色值赋以八个可能状况属性之 一。例如,如果原始颜色值在0至31之间的范围中,则可以将该颜色值赋以状况属性号0,具有相应的“000”的3比特二进制表示。类似地,如果原始颜色值在192至223之间的范 围中,则可以将该颜色值赋以状况属性号6,具有相应的“110”的3比特二进制表示。图2C是示出使用字节表示的状况属性号和颜色值的冗余的表格。如上所述(例 如,图2A),可以由状况属性号(0至7)和新颜色值(0至31)来表示每个原始的颜色值(0 至255)。例如,如果原始颜色值是240,则使用图2B的转换表格,可以得到状况属性号7,因 为240落入224至255的范围内。另外,在状况属性#7内,可以使用下面的公式来确定新 颜色值(从0到31)新颜色值=原始颜色值_(状况属性号*32)。因此,可以将原始颜色 值240变换为新颜色值16,其是240-(7*32) = 16。以这种方式,使用状况属性号7,可以由 新颜色值16表示原始颜色值240。另外,如果原始颜色值是80,则使用图2B的转换表格,可以得到状况属性值2,因 为80落入64至95的范围内。而且,使用上述公式,可以将新颜色值16赋给原始颜色值 80。在该方式中,使用状况属性值2,可以由新颜色值16表示原始颜色值80。重要的是注 意到,原始颜色值80和240都具有相同的新颜色值16。因此,字节表示可以基于新颜色值 而增加冗余量,因为范围从0-255减小到了 0-31。例如,使用字节表示,原始颜色值12和 44都具有相同的新颜色值12。另外,使用字节表示,原始颜色值99和131都具有相同的新 颜色值3。而且,字节表示还可以基于状况属性号来增加冗余量。例如,使用字节表示,原始 颜色值77和80都具有相同的状况属性号2。另外,使用字节表示,原始颜色值130和131 都具有相同的状况属性号4。以这种方式,图2C的表格2示出了在创造颜色信息中的冗余 方面字节表示的能力。例如,对于10个原始非冗余颜色值,在状况属性号中存在2个冗余 而在新颜色值中存在3个冗余。因此,可以增强图像压缩器的效率,因为使用字节表示可以 存在更多的数据冗余。图3A是图示用于将传统颜色值转换为字节表的过程300A的流程图。在310处, 过程300A获取与可以是静止图像、视频图像、数字对象等的数字图像相关联的颜色值。另 外,如上所述,典型地,在步骤310之前图像压缩算法将执行空间颜色变换。在320处,过程 300A确定与所获取的颜色值相关联的状况属性号。例如,返回参考图2B,如果所获取的颜 色值落入64至95的范围内,则过程300A将向所获取的颜色值赋以状况属性号2。一旦确 定了状况属性号,在330处,过程300A可以使用3比特二进制格式来表示状况属性号。例 如,如果状况属性号是2,则3比特二进制表示是“010”。接下来,过程300A在状况属性内确定范围从0到31的新颜色值。如上所述,可以 使用下面的公式来确定新颜色值新颜色值=原始颜色值_(状况属性号*32)。例如,返回 参考图2C,如果原始颜色值是130,则过程300A可以确定状况属性号应该是4,因为130落 入128至159的范围内。另外,使用所确定的状况属性号,过程300A可以计算新颜色值将 是2。以这种方式,可以用新颜色值2和状况属性号4来表示原始颜色值130。在350处, 过程300A使用5比特二进制值来表示新颜色值。例如,对于新颜色值2,5比特二进制值是 “00010”。一旦已经使用字节表示与状况属性号一起将原始颜色值转换为新颜色值,在360 处,过程300A将3比特(状况属性号)和5比特(新颜色值)表示存储在可以是诸如计算 机存储器或闪存驱动的存储设备中。另外,可以将所存储的字节表示用作可以是诸如任何类型的无损或有损压缩器的图像压缩器的输入。图3B是图示用于根据字节表示来重建原始颜色值的过程3000B的流程图。在375 处,过程300B获取字节表示的状况属性号和新颜色值。例如,返回参考图2C,假设过程300B 获取状况属性号2和新颜色值13。在380处,过程300B确定与状况属性号相关联的范围 内颜色值的最小号,例如如图2B的表格1所示。例如,图2B示出了状况属性号2具有最小 号64。接下来,在390处,过程300B基于颜色值的最小号和新颜色值确定原始颜色值。例 如,给定最小号是64且新颜色值是13,过程300B可以确定原始颜色值是77,其是64+13 = 77。类似地,状况属性号5 (在与状况属性号5相关联的范围内具有最小号160)和新颜色 值5可以用来重建原始颜色值165,其是160+5 = 165。图4A是示出JPEG压缩中使用的残差预测值的表格。图4A示出了残差预测值的 17个类别(类别0至类别16)。例如,类别1具有残差值-1或1 ;类别6具有残差值-63 至-32和32至63。另外,类别15具有残差值-32767至-16384和16384至32767 ;以及类 别16具有残差值32768。如上所述,字节表示可以用来增加数字图像编码中的冗余。例如,图4A的类别15 具有残差值-32767至-16384和16384至32767,其给出了 16394个不同且独立的残差值。 使用字节表示并且将16394个残差值转换为8个不同的状况属性,可以得到2048个状况残 差值的范围。图4B示出了将每个类别的残差预测值转换为字节表示中的状况属性号的表格。 例如,状况属性#0可以用来表示2048至2303范围中的残差值;状况属性#1可以用来表示 2304至2559范围中的残差值,等等。以这种方式,可以用8个不同的状况属性(3比特表 示)来将类别15的原始16394个残差值(如图4A所示)减小到256个新残差值(8比特 表不)O作为例子,假设残差预测号是23456。使用图4A,可以确定残差预测值落入类别15 的范围内。另外,通过将23456除以8,可以得到值2932。使用图4B,可以确定新残差预测 值(2932)落入状况属性#3的范围(2816至3071)内。另外,可以使用下面的公式来确定新 值新残差值=状况残差值_((状况属性号+8)*256)。换言之,2932的新残差值是116,其 是2932-((3+8)*256) = 116。以这种方式,图像压缩器的输入数据可以简化为15-3-116(类 别15 ;状况属性#3 ;新残差值116)。作为残差值的减少的范围(从16384下降到256)的 结果,在数字图像编码中可以存在更多冗余。图5是图示使用字节表示来增强暗方法编码算法的过程500的流程图。可以在作 为于2006年9月14日提交的PCT申请的题为“Image Enhancementand Compression”的 共同未决申请中找到暗方法编码过程的细节。暗方法编码算法是有损压缩算法,以及使用 字节表示,可以甚至在不损失图像质量的情况下增强数字图像压缩。例如,可以在暗方法编 码过程中的正向离散余弦变换步骤550之后加入字节表示。图6图示了使用字节表示来增强图像压缩的优点。在一种实现方式中,名称为 CPD(压缩器照片定义器)的贝塔(beta)软件包被用来证明基于字节表示进一步减小图像 尺寸的能力。CPD软件包可以从诸如bmp、tiff、pcx、targa, ras等的各种各样的原始图像 格式中读取数据。如上所述,CPD可以将所接收的图像格式转换为24比特真彩色RGB格式。 在这之后,软件包通过将RGB色彩空间转换为例如YCrCb色彩空间来执行色彩空间变换。另外,软件包应用预测编码算法。最后,软件包使用无损压缩器来执行图像压缩。在一种实现 方式中,可以在无损压缩前在软件包中实施上述的字节表示。因此,将以Rc7或CPD文件格 式保存具有字节表示的压缩图像。作为例子,使用三种不同的无损压缩算法压缩了具有1. 12MB图像尺寸的原始图 像Tiff-LZW、PNG和CPD。如图6所示,例如对于名称为“kodimOl”的图像文件,Tiff-LZW无 损压缩得到887kb的压缩图像尺寸;PND无损压缩得到720kb的压缩图像尺寸;以及Rc7(或 CPD)无损压缩(其合并了字节表示)得到534kb的压缩图像尺寸。因此,CPD无损压缩格 式可以产生比传统压缩算法小超过25 %的图像压缩尺寸。当与诸如WinZip之类的商业可得软件包进行比较时,Rc7或CPD无损压缩还可以 实现本质的改善。例如,对于具有193kb文件尺寸的位像,zip压缩格式仅仅将文件尺 寸减小到163kb,并且7zip压缩格式仅仅将文件尺寸减小到144kb。相反,使用合并了字节 表示以增加数据冗余并增强图像压缩的Rc7或CPD无损压缩算法,193kb的原始文件尺寸被 减小到了 97kb。这在压缩位图文件方面相比于WinZip的能力几乎有50%的改善。图7是可以用来例如实现增强型图像压缩的计算设备和系统的框图。试图用计算 设备700表示各种形式的数字计算机,例如笔记本电脑、台式电脑、工作站、个人数字助手、 服务器、刀片服务器、大型机和其他合适的计算机。在此示出的部件、它们的连接和关系以 及它们的功能仅仅意味着是解释性的,而不意味着限制本文件中描述和/或要求的本发明 的实施方式。计算设备700包括处理器702、存储器704、存储设备706、连接到存储器704和高 速扩展端口 710的高速接口 708以及连接到低速总线714和存储设备706的低速接口 712。 使用各种各样的总线来互连每个部件702、704、706、708、710和712,并且可以将每个部件 702、704、706、708、710和712安装在共同主板上或以其他合适的方式安装。处理器702可 以处理用于在计算设备700内执行的指令,包括存储在存储器704中或存储设备706上的 指令来将用于⑶I的图形信息显示在诸如耦连到高速接口 708的显示器716之类的外部输 入/输出设备上。在其他实现方式中,与多存储器和存储器类型一起,可以恰当地使用多处理器和/ 或多总线。同时,可以连接多个计算设备700,使每个设备提供所需操作的一部分(例如, 作为服务器库、刀片服务器组或多处理器系统)。存储器704存储计算设备700内的信息。 在一种实现方式中,存储器704是计算机可读介质。在一种实现方式中,存储器704是一个 或多个易失性存储器单元。在另一实现方式中,存储器704是一个或多个非易失性存储器 单元。存储设备706能够为计算设备700提供大量的存储。在一种实现方式中,存储设 备706是计算机可读介质。在各种不同的实现方式中,存储设备706可以是软盘设备、硬盘 设备、光盘设备、或磁带设备、闪存存储器或其他类似的固态存储器设备、或设备阵列,包括 存储区域网络或其他配置中的设备。在一种实现方式中,计算机程序产品有形地包括在信 息载体中。计算机程序产品包括当被执行时执行诸如上述方法之类的一种或多种方法的指 令。信息载体是计算机或机器可读介质,例如存储器704、存储设备706、处理器702上的存 储器或者传播信号。高速控制器708管理计算设备700的带宽集中型操作,而低速控制器712管理低带宽集中型操作。这样的职责分配仅仅是示范性的。在一种实现方式中,高速控制器708 耦连到存储器704、显示器716 (例如,通过图形处理器或加速器)以及可以接受各种扩展 卡(未示出)的高速扩展端口 710。在该实现方式中,低速控制器712耦连到存储设备706 和低速扩展端口 714。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的 低速扩展端口可以耦连到一种或多种输入/输出设备,例如键盘、指示设备、扫描仪或者例 如,通过网络适配器耦连到诸如交换机或路由器之类的网络设备。如图所示,可以以多种不同的形式来实现计算设备700。例如,可以将它实现为标 准服务器720或者在这样的服务器群中出现多次。还可以将它实现为机架服务器系统724 的一部分。另外,可以在诸如笔记本计算机722之类的个人计算机中实现它。可替代地,可 以将来自计算设备700的部件与诸如设备750之类的移动设备(未示出)中的其他部件相 合并。每种这样的设备可以包括一个或多个计算设备700、750,并且全部系统可以由互相通 信的多个计算设备700、750组成。计算设备750包括处理器752、存储器764、诸如显示器754之类的输入/输出设 备、通信接口 766和收发机768以及其他部件。设备750还可以提供有诸如微驱动或其他 设备之类的存储设备来提供额外的存储。使用各种总线来互连每种部件750、752、764、754、 766和768,并且可以将多个部件安装在共同主板上或者以其他合适的方式安装。处理器752可以处理用于在计算设备750内执行的指令,包括存储在存储器764 中的指令。处理器还可以包括分离的模拟和数字处理器。例如,处理器可以提供来进行设 备750的其他部件的协调,例如控制用户接口、由设备750运行的应用以及由设备750进行 的无线通信。处理器752可以通过耦连到显示器754的显示接口 756和控制接口 758与用户通 信。例如,显示器754可以是TFT IXD显示器或OLED显示器或者其他合适的显示器技术。 显示接口 756可以包括用于驱动显示器754来向用户呈现图形和其他信息的合适的电路。 控制接口 758可以从用户接收命令,并转换它们以向处理器752提交。另外,可以提供外部 接口 762来与处理器752通信,以使得设备750可以与其他设备进行近区域通信。例如,外 部接口 762可以提供有线通信(例如,经由对接过程)或者无线通信(例如,经由蓝牙或其 他这样的技术)。存储器764存储计算设备750内的信息。在一种实现方式中,存储器764是计算 机可读介质。在一种实现方式中,存储器764是一个或多个易失性存储器单元。在另一实 现方式中,存储器764是一个或多个非易失性存储器单元。还可以通过可以包括例如SIMM 卡接口的扩展接口 772提供扩展存储器774,并将扩展存储器774连接到设备750。这样的 扩展存储器774可以为设备750提供额外的存储空间,或者也可以为设备750存储应用或 其他信息。具体地,扩展存储器774可以包括用于执行或补充上述过程的指令,并且还可以 包括安全信息。从而,例如,可以提供扩展存储器774作为设备750的安全模块,并且可以 用允许安全使用设备750的指令来编程扩展存储器774。另外,可以经由SIMM卡提供安全 应用和额外信息,例如以非可入侵(non-hackable)方式将识别信息放置在SIMM卡上。例如,存储器可以包括闪存存储器和/或MRAM存储器,如下所述。在一种实现方 式中,将计算机程序产品有形地包含在信息载体中。计算机程序产品包括当被执行时执行 诸如上述方法之类的一种或多种方法的指令。信息载体是计算机或机器可读介质,例如存
10储器764、扩展存储器774、处理器752上的存储器或者传播信号。设备750可以通过可以在必要之处包括数字信号处理电路的通信接口 766进行无 线通信。通信接口 766可以在各种模式或协议下提供通信,例如GSM语音呼叫、SMS、EMS、或 MMS消息、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。例如,可以通过射频收发机768发 生这样的通信。另外,可以发生短距离通信,例如使用蓝牙、WiFi或其他这样的收发机(未 示出)。此外,GPS接收机模块770可以向设备750提供额外的无线数据,其可以由设备750 上运行的应用来恰当使用。设备750还可以使用音频编解码器760来可听地进行通信,音频编解码器760可 以从用户接收语音信息并将它转换为可用的数字信号。同样地,音频编解码器760可以为 用户生成可听的声音,例如通过设备750的手持机中的扬声器。这样的声音可以包括来自 语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包 括由在设备750上运行的应用生成的声音。如图所示,可以以多种不同的形式来实现计算设备750。例如,可以将它实现为蜂 窝电话780。也可以将它实现为智能电话782、个人数字助手或其他类似的移动设备的一部 分。在恰当的情况下,可以将本说明书中描述的系统和功能操作实现在数字电子电路 中,或者包括本说明书中公开的结构化装置及其结构等价物的计算机软件、固件或硬件中, 或者它们的组合中。可以将该技术实现为一种或多种计算机程序产品,也就是有形地包含 在信息载体中(例如,机器可读存储设备中或者传输信号中)的一个或多个计算机程序,来 由数据处理装置(例如,可编程处理器、计算机或多计算机)执行或者控制数据处理装置的 操作。可以以包括汇编语言或解释性语言的任何形式的编程语言来编写计算机程序 (也被称为程序、软件、软件应用或代码),并且可以以任何形式来利用它,包括作为独立程 序或者作为模块、部件、子例程或其他适于在计算环境中使用的单元。计算机程序不需要相 应于文件。可以将程序存储在保持其他程序或数据的文件的一部分中、致力于问题程序的 单一文件中、或者多协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。 计算机程序可以被部署来在一个计算机上执行,或者在一个站点处或多站点分布并由通信 网络互连的多个计算机上执行。可以由执行一个或多个计算机程序的一个或多个可编程处理器执行本说明书中 描述的过程和逻辑流,以通过操作输入数据并生成输出来执行所描述的功能。也可以由专 用逻辑电路执行过程和逻辑流,并且可以将装置实现为专用逻辑电路,例如FPGA(现场可 编程门阵列)或ASIC(专用集成电路)。通过例子的方式,适于执行计算机程序的处理器包括通用和专用微处理器,以及 任何类型的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机存 取存储器或从上述两者接收指令和数据。计算机的必要元件是用于执行指令的处理器以 及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的 一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或者计算机操作性地耦连来从 一个或多个大容量存储设备接收数据或向其传输数据,或上述两者。适于包含计算机程序 指令和数据的信息载体包括所有形式的非易失性存储器,包括例如半导体存储器设备(例如,EPR0M、EEPR0M和闪存存储器设备)、磁盘(例如,内部硬盘或可移动盘)、磁光盘以及⑶ ROM和DVD-ROM盘。可以由专用逻辑电路来补充处理器和存储器,或者将处理器和存储器合 并在专用逻辑电路中。为了提供与用户的互动,可以在如下计算机上实现所描述的技术的各方面,该计 算机具有用于将信息显示给用户的诸如CRT (阴极射线管)或IXD (液晶显示)监视器之类 的显示设备以及用户通过其可以向计算机提供输入的键盘和诸如鼠标或跟踪球之类的指 示设备。其他类型的设备也可以用来提供与用户的互动;例如,向用户提供的反馈可以是任 何形式的感观反馈,例如视觉反馈、听觉反馈或触觉反馈;以及可以以任何形式接收来自用 户的输入,包括声学、讲话或触摸输入。可以将技术实现在如下计算系统中包括后端部件(例如,作为数据服务器),或 者包括中间部件(例如,应用服务器),或者包括前端部件(例如,具有用户可以通过其与实 现方式进行交互的网页浏览器或图形用户接口的客户端计算机),或者这样的后端部件、中 间部件或前端部件的任意组合。可以通过数字数据通信的任何形式或介质(例如,通信网 络)来互连系统的部件。通信网络的例子包括局域网(“LAN”)和广域网(“WAN”),例如 因特网。计算系统可以包括客户端和服务器。通常,客户端和服务器彼此相隔很远,并且典 型地通过通信网络进行交互。依靠于在各自计算机上运行并彼此具有客户-服务器关系的 计算机程序,形成了客户端与服务器的关系。尽管该说明书包括许多具体的实现细节,但是不应该将这些解释为对任何发明的 范围或者可以要求权利的范围的限制,而应该解释为对可能是具体发明的具体实施例特定 的特征的描述。也可以将在分离的实施例中在本说明书中描述的某些特征在单一实施例 中以组合的形式实现。相反,也可以将在单一实施例中描述的各种各样的特征分离实现在 多个实施例中或者以任何合适的子组合形式实现。而且,虽然上面将特征描述为在某些组 合中操作以及甚至如一开始所限定的那样来操作,但是在一些情况下可以将来自所限定的 组合中的一个或多个特征从组合中去除,并且所限定的组合可以针对子组合或子组合的变 型。类似地,尽管以特定顺序在附图中描述了操作,但是这不应该被理解为要求以所 示的特定顺序或以连续顺序来执行这样的操作,或者要求执行所有的图示操作来实现所期 望的结果。在某些情况下,多任务和并行处理可能是有益的。而且,上述实施例中各种系统 部件的分离不应该被理解为在所有实施例中要求这样的分离,并且应该理解的是,通常可 以将所描述的程序部件和系统一起集成在单一软件产品中或封装到多个软件产品中。已经描述了多个实施例。然而,应该理解的是,可以进行各种各样的修改而不脱离 所述实施例的精神和范围。因此,其他实施例在下面的权利要求的范围内。
权利要求
一种增强具有多个像素的数字图像的压缩的计算机实现方法,每个像素包括至少一种颜色分量,所述方法包括获取用于表示与所述至少一种颜色分量相关联的颜色值的原始比特数;指定用于表示多个状况属性的第一减少比特数;以及指定用于表示新颜色值的第二减少比特数,其中所述第一减少比特数和所述第二减少比特数的和等于所述原始比特数。
2.根据权利要求1所述的方法,还包括获取与数字图像的像素相关联的原始颜色值;部分基于所述原始颜色值从所述多个状况属性中确定状况属性;基于状况属性和所述原始颜色值确定新颜色值,其中所述新颜色值显著地小于所述原 始颜色值;以及其中由所述新颜色值和状况属性表示所述原始颜色值。
3.根据权利要求2所述的方法,还包括以二进制格式存储所述状况属性和新颜色值。
4.根据权利要求1所述的方法,其中所述原始比特数包括8比特;其中所述第一减少 比特数包括3比特;以及其中所述第二减少比特数包括5比特。
5.根据权利要求1所述的方法,其中所述原始比特数包括8比特;其中所述第一减少 比特数包括2比特;以及其中所述第二减少比特数包括6比特。
6.根据权利要求1所述的方法,其中所述原始比特数包括11比特;其中所述第一减少 比特数包括3比特;以及其中所述第二减少比特数包括8比特。
7.一种用于增强具有多个像素的数字图像的压缩的计算机实现方法,每个像素包括至 少一种颜色分量,所述方法包括获取与所述至少一种颜色分量相关联的颜色值的第一范围;将所述颜色值的第一范围指定到多个状况属性中;部分基于所述多个状况属性确定颜色值的第二范围,所述第二范围显著地小于所述第 一范围;以及其中所述第二范围和所述多个状况属性的乘积等于所述第一范围。
8.根据权利要求7所述的方法,其中所述至少一种颜色分量包括RGB色彩空间的红色、 绿色或蓝色颜色分量。
9.根据权利要求7所述的方法,其中所述第一范围包括256个颜色值,其中所述多个状 况属性包括8个状况属性;以及其中所述第二范围包括32个颜色值。
10.根据权利要求7所述的方法,其中所述第一范围包括256个颜色值,其中所述多个 状况属性包括16个状况属性;以及其中所述第二范围包括16个颜色值。
11.根据权利要求7所述的方法,其中所述第一范围包括256个颜色值,其中所述多个 状况属性包括4个状况属性;以及其中所述第二范围包括64个颜色值。
12.—种编码在计算机可读介质上、用于增强具有多个像素的数字图像的压缩的计算 机程序产品,每个像素包括至少一种颜色分量,以及所述计算机程序产品使数据处理装置 执行包括如下的操作获取用于表示与所述至少一种颜色分量相关联的颜色值的原始比特数;指定用于表示多个状况属性的第一减少比特数;以及指定用于表示新颜色值的第二减少比特数,其中所述第一减少比特数和所述第二减少 比特数的和等于所述原始比特数。
13.根据权利要求12所述的计算机程序产品,使数据处理装置还执行包括如下的操作获取与数字图像的像素相关联的原始颜色值;部分基于所述原始颜色值从所述多个状况属性中确定状况属性;基于状况属性和所述原始颜色值确定新颜色值,其中所述新颜色值显著地小于所述原 始颜色值;以及其中由所述新颜色值和状况属性表示所述原始颜色值。
14.根据权利要求13所述的计算机程序产品,使数据处理装置还执行包括如下的操作以二进制格式存储状况属性和所述新颜色值。
15.根据权利要求12所述的计算机程序产品,其中所述原始比特数包括8比特;其中 所述第一减少比特数包括3比特;以及其中所述第二减少比特数包括5比特。
16.根据权利要求12所述的计算机程序产品,其中所述原始比特数包括8比特;其中 所述第一减少比特数包括2比特;以及其中所述第二减少比特数包括6比特。
17.根据权利要求12所述的计算机程序产品,其中所述原始比特数包括11比特;其中 所述第一减少比特数包括3比特;以及其中所述第二减少比特数包括8比特。
18.—种编码在计算机可读介质上、用于增强具有多个像素的数字图像的压缩的计算 机程序产品,每个像素包括至少一种颜色分量,以及所述计算机程序产品使数据处理装置 执行包括如下的操作获取与所述至少一种颜色分量相关联的颜色值的第一范围;将所述颜色值的第一范围指定到多个状况属性中;部分基于所述多个状况属性确定颜色值的第二范围,所述第二范围显著地小于所述第 一范围;以及其中所述第二范围和所述多个状况属性的乘积等于所述第一范围。
19.根据权利要求18所述的计算机程序产品,其中所述至少一种颜色分量包括RGB色 彩空间的红色、绿色或蓝色颜色分量。
20.根据权利要求18所述的计算机程序产品,其中所述第一范围包括256个颜色值,其 中所述多个状况属性包括8个状况属性;以及其中所述第二范围包括32个颜色值。
21.根据权利要求18所述的计算机程序产品,其中所述第一范围包括256个颜色值,其 中所述多个状况属性包括16个状况属性;以及其中所述第二范围包括16个颜色值。
22.根据权利要求18所述的计算机程序产品,其中所述第一范围包括256个颜色值,其 中所述多个状况属性包括4个状况属性;以及其中所述第二范围包括64个颜色值。
23.—种系统,包括被配置来执行从RGB色彩空间到新色彩空间的色彩空间变换的变换模块;被配置来执行预测编码的编码模块;用于基于多个状况属性和新颜色值、使用字节表示来增加颜色值中的冗余的装置;以及被配置来基于所述字节表示执行图像压缩的图像压缩器。全文摘要
可以实现各种各样的方面来通过使用字节表示增强图像压缩,以减少颜色值并增加颜色信息中的冗余。总体上,一个方面可以是用于增强具有多个像素的数字图像的压缩的方法,每个像素包括至少一种颜色分量,该方法包括获取用于表示与至少一种颜色分量相关联的颜色值的原始比特数。该方法还包括指定用于表示多个状况属性的第一减少比特数。该方法还包括指定用于表示新颜色值的第二减少比特数,其中第一减少比特数和第二减少比特数的和等于原始比特数。该方面的其他实现方式包括相应的系统、装置和计算机程序产品。
文档编号H04N7/24GK101919248SQ200880115554
公开日2010年12月15日 申请日期2008年9月11日 优先权日2007年9月11日
发明者马西莫·巴雷里尼 申请人:Rgb光线有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1