用于块压缩图象的解压缩的系统、方法和计算机程序产品的制作方法

文档序号:6533458阅读:205来源:国知局
用于块压缩图象的解压缩的系统、方法和计算机程序产品的制作方法
【专利摘要】在对压缩图像数据块解压缩时使用高速缓存的系统、方法和计算机程序产品。高速缓存中的每个数据条目可表示与压缩图像块对应的解压缩图像数据。对高速缓存的索引是密钥,其中每个密钥是在对应的压缩块上执行的散列过程的输出。压缩块的解压缩可通过对压缩块进行散列化运算以产生密钥来执行。密钥可用来访问高速缓存。由密钥索引的解压缩数据可被读取并用作压缩块的解压缩版本。如果没有数据对应于密钥,或者如果由该密钥索引的高速缓存数据是无效的,则可将传统解压缩过程应用于压缩块以得到解压缩的数据。该解压缩数据可随后被写至高速缓存中与密钥对应的位置。
【专利说明】用于块压缩图象的解压缩的系统、方法和计算机程序产品
[0001]背景
[0002]为了捕捉颜色、纹理、不透明度等,图像的数字表示一般包括大量的数据。结果,图像的处理或传输可能是耗时的。结果,处理或通信图像的速度提出需要被解决的系统设计问题。由于需要表示图像的数据的快速计算和传输,因此经常采用数据压缩。这利于解决计算速度问题、带宽节约以及存储器容量节约中的一些。
[0003]然而,压缩和解压缩过程可能带来其本身的问题。这些过程不是无关紧要的,但可能需要快速地发生以允许即时图像处理或输出。具体地说,传统解压缩过程可能是缓慢的和计算上昂贵的,不管是以硬件还是以软件执行。例如,有时候,可能使用图形处理单元(GPU)中的专门硬件来执行解压缩。然而,速度仍然成问题,尤其是当期望实时处理时。
[0004]附图简述
[0005]图1示出图像的未压缩块。
[0006]图2是示出块压缩过程的流程图。
[0007]图3是示出压缩块的图。
[0008]图4是示出块解压缩过程的流程图。
[0009]图5是示出根据一个实施例的块解压缩过程的流程图。
[0010]图6是示出根据一个实施例的块解压缩的数据流程图。
[0011]图7是示出一个实施例的某些特征的软件或固件实现的方框图。
[0012]图8示出可纳入一实施例的系统。
[0013]图9示出其中可实现一实施例的移动设备。
[0014]在附图中,附图标记的最左数表示该附图标记首先出现在的附图。

【具体实施方式】
[0015]现在参照附图描述一个实施例,其中相同附图标记表示相同或功能相似的要素。尽管讨论了特定配置和构造,然而应当理解这样做只是为了解说目的。相关领域内技术人员将发现,可使用其它配置和构造而不脱离本说明书的精神和范围。对相关领域内技术人员很明显的是,这也可在本文描述以外的多种其它系统和应用中采用。
[0016]本文中描述的系统和方法可在对块压缩的图像数据解压缩时使用高速缓存。高速缓存中的每个数据条目可代表与图像的压缩块对应的解压缩图像数据。高速缓存的索引可能是密钥(key),其中每个密钥可以是在对应的压缩块上执行的散列过程的输出。压缩块的解压缩可通过对压缩块进行散列化以产生密钥来执行。密钥可用来访问高速缓存。由密钥索引的解压缩数据可被读取并用作压缩块的解压缩版本。如果没有数据对应于密钥,或者如果由该密钥索引的高速缓存数据要不然是无效的,则可将传统解压缩过程作用于压缩块以得到解压缩的数据。该解压缩数据可随后被写至高速缓存与密钥对应的位置。
[0017]在图像的压缩和解压缩之前,可将图像分解成诸个图像数据块,每个图像数据块可被数字地表示。给定的块可被建模为出现在块中的颜色阵列。这示出于图1中。方框100可被建模为具有离散数量的颜色;方框100被图示为具有四个颜色,在这里图示为a、b、C和d。尽管该示图中示出四个颜色,然而要理解,对于其它图像或其它压缩/解压缩过程,图像数据块可通过不同数量的颜色被建模。一旦对块定义了一组颜色,该块可经历块压缩过程。
[0018]图2中示出一块压缩过程。图示的过程压缩块的颜色的数字表示。在210,可接收块。在220,可确定两端点颜色。这些端点颜色可表示用于对颜色建模的三维颜色空间中的(块中的颜色的)最极点(most extreme point)处的颜色。在230中,可作出是否有额外的颜色要以压缩形式来编码的判断。如果例如块中有四个颜色,则将有两个额外颜色与端点颜色分开地被编码。在240,剩余颜色中的一个被指派代码,该代码可表示三维颜色空间中的端点颜色之间的线段上的位置。线段上的位置可表示离拟被编码的颜色空间中的实际位置最近的区段上的点。线段上的位置可以被表示或被编码为离端点颜色之一的距离。如此,颜色不被显式地表示为三个颜色坐标,而是离线段的末端的距离。该距离可被视为颜色的代码。结果,使用较少的位来表示(即编码)颜色。过程随后可返回到230,在那里可作出是否有额外的颜色要被编码到块中的另一判断。
[0019]如果不再存在要被编码的颜色,则在250,编码的颜色可与端点颜色的表示连接起来以形成压缩块。这示出于图3中。两端点颜色可在一个或多个字段中被显式地定义。这些字段被图示为310、320。字段330可包括颜色的代码——以预定义顺序呈现。格式化的数据300可表示图像数据的压缩块。
[0020]图4中示出解压缩过程的方法。在410,图像数据的压缩块被接收,其中块可已如前所述地被压缩。在420,可作出是否有尚未被处理的颜色代码的判断。若有,则在430,将代码转换成颜色。给定所定义的端点颜色和三维颜色空间内它们之间的线段,该代码被用作离端点之一的距离。在该位置的结果颜色被用作原始颜色的近似,并表示解压缩的颜色。过程随后可返回到420,在那里可作出是否剩有需要被转换成解压缩颜色的额外代码的另一判断。如果没有未经处理的代码剩余,则在440将结束对解压缩块的解压缩。
[0021]图5示出根据一个实施例用于解压缩的方法。在510,可接收图像数据的压缩块。在520,块可经历散列过程。可使用本领域普通技术人员已知的任何确定性散列操作。在一个实施例中,散列操作可包括模减小(modular reduct1n)。例如,可将压缩块的二进制值减小 255 的模(a modulus of 255)。
[0022]在530,结果的散列输出可用作至特定高速缓存位置的密钥,在该特定高速缓存位置,高速缓存可存储与压缩块对应的解压缩块。在540,可关于在与密钥对应的位置处的高速缓存数据作为与压缩块对应的解压缩数据是否有效作出判断。在一个实施例中,这种检查可以是对端点颜色(当它们被表示在压缩块的适当字段中)是否与可正常地保持端点颜色的高速缓存数据中的字段匹配的判断——假设该高速缓存位置正在保持压缩块。如果不是,则在550,可在压缩块上执行传统的解压缩。图4中示出这一解压缩过程的一个例子。在560,从该传统解压缩得到的解压缩块可被加载到高速缓存中由密钥(即散列输出)指示的位置处。注意,这可被用作填充高速缓存的机制。如果密钥指向高速缓存中的空位置,则在540的验证尝试将失败,并可在550执行传统的解压缩。这种解压缩的结果可随后在560被加载入高速缓存。
[0023]如果在由密钥指示的位置处的数据证实是有效的(如在540判断的),则在570,该数据可作为与最初接收的压缩块对应的解压缩图像数据块被读出。
[0024]解压缩过程被图示为图6中的数据流程图。压缩块610可被输入至散列逻辑620。如前面提到的,可使用本领域普通技术人员已知的确定性散列操作。在一个实施例中,散列操作可包括模减小。例如,可将压缩块的二进制值减小255的模。在替代实施例中,可运用采用不同模的模减小。散列逻辑620的结果输出可以是密钥630。
[0025]密钥630可被用来访问高速缓存635中的特定位置。被存储在该位置的高速缓存数据可以是经解压缩的数据640i。该高速缓存的数据可被输入至验证逻辑650。如前面描述的,该模块的处理可包括判断解压缩数据640i是否包括与压缩块610的端点颜色字段中表示的那些匹配的端点颜色。这种检查可被实现为逐位比较。如果这种验证检查通过,则高速缓存读取逻辑660可被启用,并且解压缩数据640i可从高速缓存被读取并被视为与压缩块610对应的解压缩图像数据670的块。
[0026]如果逻辑650的验证检查失败,则可启用解压缩逻辑680。压缩的块610随后可通过解压缩逻辑680被解压缩,由此得到解压缩数据690。在实施例中,解压缩逻辑680可包括例如图4所示的过程。结果得到的解压缩数据690可随后被写至高速缓存635中由密钥630标识的位置。
[0027]散列逻辑620、验证逻辑650、高速缓存读取逻辑660和解压缩逻辑680中的任何一个可在软件、固件、硬件或其任意组合中实现。高速缓存635可使用本领域普通技术人员已知的任何数据结构和存储器介质来实现。高速缓存635可例如被存储在随机存取存储器中,或者以任何已知的易失性或非易失性存储器技术来实现,例如硬盘、闪存等。
[0028]注意,前面的讨论假设原始压缩过程使用给定块的颜色空间中的单个线段(具有两端点颜色)。在替代系统中,可使用一个以上的线段,由此可以有额外的端点颜色。在这一情形下,压缩将需要使用额外数据的编码以指定特定线段。在这种情形下,根据一实施例,当产生解压缩数据以驻留高速缓存时,解压缩也将需要适应这种额外数据。此外,压缩可能不限于颜色空间中线段的使用。为了编码颜色和取得压缩的目的,可使用替代的几何构造,如本领域普通技术人员所能理解的那样。
[0029]各个实施例可利用硬件部件、软件部件或两者的组合来实现。硬件部件的例子可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。确定实施例是否利用硬件部件和/或软件部件来实现可根据任意数量的因素变化,这些因素比如所需计算速率、功率电平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
[0030]本文中使用的术语软件可指包括计算机可读介质的计算机程序产品,该计算机可读介质具有存储在其中的计算机程序逻辑,用以使计算机系统执行本文披露的一个或多个特征和/或特征的组合。计算机可读介质可以是瞬态或非瞬态的。瞬态计算机可读介质的一个例子可以是通过局域网或广域网或者通过诸如因特网的网络在无线电频率或在电导体上传输的数字信号。非瞬态计算机可读介质的一个例子可以是压缩盘、闪存、随机存取存储器、只读存储器或其它数据存储设备。
[0031]根据一个实施例,执行该软件/固件的计算系统被示出于图7中。图示的系统700可包括一个或多个处理器720并可进一步包括存储器体710。处理器720可包括一个或多个中央处理单元核和/或具有一个或多个GPU核的图形处理单元。存储器710可包括一个或多个计算机可读介质,该计算机可读介质可存储计算机程序逻辑740。存储器710可被实现为例如硬盘和驱动器、诸如紧凑盘的可移动介质、只读存储器(ROM)或随机存取存储器(RAM)设备,或其某些组合。处理器730和存储器710可使用本领域普通技术人员已知的若干技术中的任何一种(例如总线)进行通信。包含在存储器710中的计算机程序逻辑740可由处理器730读取和执行。总括地表示为1/0760的一个或多个I/O端口和/或I/O设备也可被连接至处理器730和存储器710。
[0032]计算机程序逻辑740可包括体现前述处理的逻辑。在图示实施例中,计算机程序逻辑740可包括散列模块720,它可体现图6的散列逻辑620。如前所述,散列过程可以是本领域普通技术人员已知的任何确定性散列过程,例如模减小。计算机逻辑740也可包括验证模块750,它可体现图6的验证逻辑650。如前所述,由该模块体现的过程可包括将来自压缩块的端点颜色与按散列输出访问的解压缩数据中的那些进行比较。在替代实施例中,解压缩逻辑680和/或高速缓存读取逻辑660也可部分地或全部地体现为存储器710中的计算机程序逻辑。另外,存储器710也可包括高速缓存,例如高速缓存635(图7中未示出)。
[0033]本文描述的系统可以是较大信息系统的一部分。图8不出后者的一个实施例。在实施例中,系统800可以是媒体系统,尽管系统800不仅限于该背景。例如,系统800可被纳入到个人计算机(PC)、膝上计算机、超薄笔记本电脑、平板电脑、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、发消息设备、数据通信设备等。
[0034]在各实施例中,系统800包括耦合至显示器820的平台802。平台802可从诸如内容服务设备830或内容传递设备840的内容设备或其它类似的内容源接收内容。包括一个或多个导航特征的导航控制器850可用来与例如平台802和/或显示器820相互作用。这些组件中的每一个将在下文中更详细地描述。
[0035]在各实施例中,平台802可包括芯片集805、处理器810、存储器812、存储814、图形子系统815、应用816和/或无线电818的任意组合。芯片集805可提供处理器810、存储器812、存储814、图形子系统815、应用816和/或无线电818间的相互通信。例如,芯片集805可包括存储适配器(未示出),它能提供与存储814的相互通信。
[0036]处理器810可实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集可兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各实施例中,处理器810可包括双核处理器、双核移动处理器等等。在一个实施例中,处理器810可对应于图7的处理器730。
[0037]存储器812可实现为易失性存储设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM (SRAM)。
[0038]存储814可实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附属存储设备、闪存、电池应急SDRAM(同步DRAM)和/或网络可访问存储设备。在各实施例中,存储814可包括当例如包括多个硬盘驱动器时增加有价值数字媒体的存储性能增强保护的技术。
[0039]图形子系统815可执行对例如静止图像或视频的图像的处理以供显示。图形子系统815可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用来通信地耦合图形子系统815和显示器820。例如,该接口可以是高清多媒体接口、显示端口、无线HDMI和/或无线HD适应技术中的任何一个。图形子系统815可被集成到处理器810或芯片集805中。图形子系统815可以是通信地耦合至芯片集805的独立卡。
[0040]本文中所描述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能可被集成在芯片集中。替代地,可使用分立的图形和/或视频处理器。作为又一实施例,图形和/或视频功能可由包括多核处理器的通用处理器实现。在又一实施例中,这些功能可实现在消费者电子设备中。
[0041]无线电818可包括能够使用多种适当的无线通信技术发送和接收信号的一个或多个无线电。这些技术可涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨这些网络的通信中,无线电818可根据任何版本中的一个或多个可应用标准来操作。
[0042]在各实施例中,显示器820可包括任何监视器或显示器。显示器820可包括例如计算机显示屏、触摸屏显示器、视频监视器、电视机类设备和/或电视机。显示器820可以是数字的和/或模拟的。在各实施例中,显示器820可以是全息显示器。另外,显示器820可以是透明表面,该透明表面可接收视觉投影。这些投影可传达多种形式的信息、图像和/或对象。例如,这些投影可以是移动增强现实感(MAR)应用的视觉重叠。在一个或多个软件应用816的控制下,平台802可在显示器820上显示用户界面822。
[0043]在各实施例中,内容服务设备830可由任何国家、国际和/或独立服务主持,并因此可经由例如因特网对平台802访问。内容服务设备830可耦合至平台802和/或耦合至显示器820。平台802和/或内容服务设备830可耦合至网络860以向/自网络860通信(例如发送和/或接收)媒体信息。内容传递设备840也可耦合至平台802和/或显示器820。
[0044]在各实施例中,内容服务设备830可包括有线电视机顶盒、个人计算机、网络、电话、互联网启用设备或能够传递数字信息和/或内容的设施,以及能够经由网络860或直接地在内容提供者和平台802和/显示器820之间单向或双向地交换内容的任何其它类似设备。要理解,可经由网络860单向和/或双向地向/自系统800和内容提供者中的任一组件交换内容。内容的例子可包括媒体信息,所述媒体信息例如包括视频、音乐、医疗和游戏隹自坐坐I I=I尼、寸寸O
[0045]内容服务设备830接收内容,例如包括媒体信息、数字信息和/或其它内容的有线电视节目。内容提供者的例子可包括任何有线或卫星电视或无线电,或者互联网内容提供者。给出的例子不旨在对本发明的实施例构成限制。
[0046]在各实施例中,平台802可从具有一个或多个导航特征的导航控制器850接收控制信号。例如,可使用控制器850的导航特征来与用户界面822相互作用。在一些实施例中,导航控制器850可以是定点设备,它可以是允许用户将空间(例如连续和多维)数据输入到计算机中的计算机硬件组件(具体地说是人机接口设备)。许多系统一例如图形用户接口(GUI)以及电视机和监视器——允许用户使用身体姿态控制数据并将数据提供给计算机或电视机。
[0047]控制器850的导航特征的移动可通过指针、光标、聚焦环或显示器上显示的其它视觉指示器的移动在显示器(例如显示器820)上再现。例如,在软件应用816的控制下,位于导航控制器850上的导航特征可例如被映射至显示在用户界面822上的视觉导航特征。在一些实施例中,控制器850可以不是单独组件,但可以被集成到平台802和/或显示器820中。然而,这些实施例不限于本文所示或描述的要素或背景。
[0048]在各实施例中,驱动器(未示出)可包括允许用户在最初引导之后通过触摸按钮立刻接通和切断类似电视机的平台802 (例如当被启用时)的技术。当平台被“切断”时,程序逻辑可允许平台802将内容流传至媒体适配器或其它内容服务设备830或内容传递设备840。另外,芯片集805可包括对例如5.1环绕声和/或高清7.1环绕声的硬件和/或软件支持。驱动器可包括用于集成的图形平台的图形驱动器。在一些实施例中,图形驱动器可包括快速外围组件互连(PCI)图形卡。
[0049]在各实施例中,系统800中所示组件中的任意一个或多个可被集成。例如,平台802和内容服务设备830可被集成,或者平台802和内容传递设备840可被集成,或者平台802、内容服务设备830和内容传递设备840可被集成。在各实施例中,平台802和显示器820可以是集成单元。例如,显示器820和内容服务设备830可被集成,或者显示器820和内容传递设备840可被集成。这些例子不旨在对本发明构成限制。
[0050]在各实施例中,系统800可实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统800可包括适于在无线共享介质上通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等等。无线共享媒体的一个例子可包括无线频谱的一些部分,例如RF频谱等。当实现为有线系统时,系统800可包括适于在有线通信介质上通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信媒体的例子可包括导线、电缆、金属引线、印刷电路板(PCB)、基架(backplane)、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
[0051]平台802可建立一个或多个逻辑或物理通道以交换信息。该信息可包括媒体信息和控制信息。媒体信息可指代表针对用户的内容的任何数据。内容的例子可包括例如来自语音转换、视频会议、流视频、电子邮件(email)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音转换的数据可以是例如讲话信息、静默时段、背景噪声、舒适噪声、音调等等。控制信息可指表示针对自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于使媒体信息路由通过系统,或指示节点以预定方式处理该媒体信息。然而,这些实施例不仅限于图8所示或描述的要素或在此背景下。
[0052]如前所述,系统800可表现为不同的物理样式或形状因数。图9示出其中可体现系统800的小尺寸因数设备900的实施例。在一些实施例中,例如设备900可被实现为具有无线能力的移动计算设备。移动计算设备可指具有处理系统和诸如一个或多个电池的移动电源或供电的任何设备。
[0053]如前所述,移动计算设备的例子可包括个人计算机(PC)、膝上计算机、超薄笔记本电脑、平板电脑、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、发消息设备、数据通信设备等。
[0054]移动计算设备的例子也可包括被配置成由人佩戴的计算机。在各实施例中,例如移动计算设备可被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管已经以实现为智能电话的移动计算设备为例描述了一些实施例,但可理解其他实施例也可利用其他无线移动计算设备来实现。这些实施例不限于这种背景。
[0055]如图9所示,设备900可包括外壳902、显示器904、输入/输出(I/O)设备906和天线908。设备900也可包括导航特征912。显示器904可包括显示适于移动计算设备的信息的任何适当显示单元。I/O设备906可包括任何适当的I/O设备,用以将信息输入到移动计算设备中。I/O设备906的例子可包括字母数字键盘、数字键区、触摸垫、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等等。信息也可借助麦克风被输入到设备900中。该信息可通过语音识别设备数字化。这些实施例不限于这种背景。
[0056]至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表示性指令来实现,该指令表示处理器中的各种逻辑,该指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“IP核”的这些表示可以被存储在有形的、机器可读的介质上,并被提供给各个消费者或生产设施以装载到实际制造该逻辑或处理器的制造机中。
[0057]方法和系统在本文中是借助示出其功能、特征和关系的功能构筑框来披露的。为描述方便起见,在本文中任意地定义了这些功能性构造框的边界的至少一些。可定义替代的边界,只要指定功能及其关系能适当地实现。
[0058]尽管本文披露了多个实施例,然而应当理解它们只是以示例方式给出,而非作为限定。本领域内技术人员清楚知道,可不脱离本文披露的方法和系统的精神和范围对其作出形式和细节上的多种改变。因此,权利要求书的宽度与范围不仅限于本文披露的任何示例性实施例。
【权利要求】
1.一种方法,包括: 接收压缩图像数据块,其中所述块代表图像的至少一部分; 对所述压缩块执行散列化以得到密钥; 使用所述密钥作为索引以访问高速缓存中的高速缓存数据;以及 读出所述高速缓存数据。
2.如权利要求1所述的方法,其特征在于,还包括: 当所述高速缓存数据通过验证检查时,使用所述高速缓存数据作为与所述压缩图像数据块对应的解压图像数据。
3.如权利要求1所述的方法,其特征在于,还包括: 当所述高速缓存数据在验证检查中失败时,解压所述压缩块以产生与所述压缩块对应的图像数据。
4.如权利要求3所述的方法,其特征在于,还包括: 这在所述解压缩之后执行将所述图像数据写至高速缓存处与所述密钥对应的位置。
5.如权利要求1所述的方法,其特征在于,所述散列化包括所述压缩块的模减小。
6.如权利要求5所述的方法,其特征在于,所述模减小的模量为255。
7.如权利要求1所述的方法,其特征在于,所述验证检查包括: 确定所述压缩块内的端点颜色是否与所述高速缓存数据中由所述密钥索引的对应字段匹配。
8.一种系统,包括: 处理器; 用于接收压缩图像数据块的逻辑,其中所述块代表图像的至少一部分; 用于对所述压缩块执行散列化以得到密钥的逻辑; 用于使用所述密钥作为对所述高速缓存数据的索引以访问所述高速缓存中的高速缓存数据的逻辑;以及 用于读出所述高速缓存数据的逻辑。
9.如权利要求8所述的系统,其特征在于,还包括: 用于当所述高速缓存数据通过验证检查时,使用所述高速缓存数据作为与图像数据的压缩块对应的解压图像数据的逻辑。
10.如权利要求8所述的系统,其特征在于,还包括: 用于当所述高速缓存数据在验证检查中失败时,解压所述压缩块以产生与所述压缩块对应的图像数据的逻辑。
11.如权利要求10所述的系统,其特征在于,还包括: 用于在所述解压缩之后执行将所述图像数据写至高速缓存处与所述密钥对应的位置的逻辑。
12.如权利要求8所述的系统,其特征在于,所述散列化包括所述压缩块的模减小。
13.如权利要求12所述的系统,其特征在于,所述模减小的模量为255。
14.如权利要求8所述的系统,其特征在于,所述验证检查包括: 确定所述压缩块内的端点颜色是否与所述高速缓存数据中由所述密钥索引的对应字段匹配。
15.一种计算机程序产品,包括其上存储有控制逻辑的非瞬态计算机可使用介质,所述计算机控制逻辑包括逻辑以使处理器: 接收压缩图像数据块,其中所述块代表图像的至少一部分; 对所述压缩块执行散列化以得到密钥; 使用所述密钥作为索引以访问高速缓存中的高速缓存数据;以及 读出所述高速缓存数据。
16.如权利要求15所述的计算机程序产品,其特征在于,所述计算机控制逻辑进一步包括逻辑以使所述处理器: 当所述高速缓存数据通过验证检查时,使用所述高速缓存数据作为与图像数据的压缩块对应的解压图像数据。
17.如权利要求15所述的计算机程序产品,其特征在于,所述计算机控制逻辑进一步包括逻辑以使所述处理器: 当所述高速缓存数据在验证检查中失败时,解压所述压缩块以产生与所述压缩块对应的图像数据。
18.如权利要求17所述的计算机程序产品,其特征在于,所述计算机控制逻辑进一步包括逻辑以使所述处理器: 在所述解压缩之后执行将所述图像数据写至高速缓存处与所述密钥对应的位置。
19.如权利要求15所述的计算机程序产品,其特征在于,所述散列化包括所述压缩块的模减小。
20.如权利要求19所述的计算机程序产品,其特征在于,所述模减小的模量为255。
21.如权利要求15所述的计算机程序产品,其特征在于,所述验证检查包括: 确定所述压缩块内的端点颜色是否与所述高速缓存数据中由所述密钥索引的对应字段匹配。
【文档编号】G06T1/00GK104205161SQ201380017454
【公开日】2014年12月10日 申请日期:2013年3月25日 优先权日:2012年3月29日
【发明者】T·巴昂 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1