用于低功率图像压缩和显示的技术的制作方法_2

文档序号:9602869阅读:来源:国知局
解压缩的帧存储为帧缓冲器数据330的一部分用于视觉呈现在显示器680上。然后,就恰恰像要对不包括运动视频的帧缓冲器数据330中的未压缩的帧所做的那样,处理器组件350重新压缩视频数据130的经解压缩的帧以存储为压缩缓冲器数据430的一部分为检索并传送到显示设备600做准备。如先前讨论的,霍夫曼编码可以被用于压缩存储在帧缓冲器数据330中的帧。因此,在一些实施例中,可能已经使用MPEG版本被压缩的运动视频数据130的帧可以首先被解压缩以存储在帧缓冲器数据330中并且然后使用霍夫曼编码被再次压缩以存储在压缩缓冲器数据430中用于重复检索并与显示器680的刷新同步传送到显示设备600。
[0037]在其中使用MPEG版本或类似的压缩技术压缩运动视频数据130的帧的替换的实施例中,处理器组件350可以仅部分地对它们解压缩以存储在帧缓冲器数据330中。更明确地,处理器组件350可以将运动视频数据130的帧解压缩到仅是得到差帧和伴随运动向量的指示所需的程度,所述伴随运动向量描述像素颜色值的一个或多个块在相邻帧之间移动的方向和距离。然后可以由处理器组件350将这些差帧和它们相关联的运动向量的指示存储在帧缓冲器数据330中。然后处理器组件350重新压缩这些差帧并将它们以它们的压缩形式存储在储存器360中作为压缩缓冲器数据430的一部分。此外,在一些实施例中,霍夫曼编码可以被用于压缩这些差帧。处理器组件350在将运动向量的指示存储在储存器360中作为压缩缓冲器数据430的一部分之前可以或者也可以不压缩运动向量的相关联的指示。
[0038]在这些替换实施例中,对在显示器680上的图像880的刷新的支持需要处理器组件350重复地检索来自储存器330的压缩缓冲器数据430的压缩差帧和运动向量的相关联的指示两者并将它们传送到显示设备600。显示设备600的处理器组件650接收这些压缩差帧和运动向量的指示并将它们存储在储存器660内作为压缩缓冲器数据430的一部分。然后处理器组件650使用适当的解压缩技术(例如,采用霍夫曼编码解压缩)来解压缩这些差帧,将它们存储为未压缩的缓冲器数据630的一部分。在也压缩运动向量的指示的情况下,处理器组件650也解压缩那些指示并且也将它们存储为未压缩的缓冲器数据630的一部分。然后处理器组件650通过将差帧与它们相关联的运动向量结合来完成对差帧的基于MPEG的解压缩来以完全解压缩的形式重建运动视频数据130的帧,包括要被在显示器680上在视觉上呈现的下一帧。
[0039]本质上,在这些各种实施例中,其中维持压缩缓冲器数据430的储存器360的部分被用作压缩帧缓冲器。储存器360的该部分可以是简单地通过地址范围的规范被定义成压缩帧缓冲器的储存器的一部分。或者,储存器360的该部分可以由基本上地专注于充当帧缓冲器(包括压缩帧缓冲器)的储存器组件构成。应注意的是,这样的部分还可以被配置成包括除了压缩缓冲器数据430外的未压缩的帧缓冲器数据330。
[0040]如先前讨论的那样,预想在显示器680上被在视觉上呈现的图像880可以包括或者由计算设备300生成的图像(例如,用户接口的视觉部分)或者是运动视频图像(例如,用照相机捕获的运动视频)。如对本领域技术人员来说熟悉的那样,相比于象征用户接口的视觉部分的计算机生成的图像,运动视频图像倾向于包括在相邻帧之间在像素颜色值中的更高的改变度。图3图解了在其中包括运动视频的图像880的一对相邻帧的示例之间的改变度。如可以在从一个相邻帧到另一个的转变中看到的那样,存在由运动视频照相机捕获的运动视频881的摇摄,其中一群树木和周围地形被导致移动位置。如还可以看到的那样,对一群树木和周围地形的在视觉上呈现占用了在视觉上图像880的显著量的像素,使得由于摇摄的这些物体的移动改变大量许多像素的状态。作为结果,很可能在它们之间存在高的差异度。
[0041]图4图解了在其中不包括运动视频的图像880的另一对相邻帧的不例之间的改变度。与图3的示例对照,图4的示例中的图像880被示例电子邮件文本编辑应用的用户接口的视觉部分基本上占用。如可以在从一个相邻帧到另一个的转变中被看到的那样,在该示例中在所描绘的电子邮件中一行文本的键入前进仅到将字符“on”添加到字符“less”作为对单词“lessons”的输入的一部分。如还可以看到的那样,在从一个相邻帧到另一个的该前进中的对两个文本字符的该添加影响相对少的像素,因为被在视觉上呈现的其余的所有保持不变。假设对显示器来说刷新速率通常是30至85帧每秒,预想在视觉上呈现用户接口的视觉部分的大量时间期间在相邻帧之间将期待仅仅相对低的改变度,因为存在对可以多块地向计算设备300提供文本或其它输入的生物力学的限制。甚至,在计算设备300的操作员中止提供输入以阅读文本或以其它方式观看用户接口的在视觉上部分的情况下,很有可能预想显著数量的连续相邻帧可能在其之间不具有无论什么的差。因此,虽然使用并压缩差帧用于存储为压缩缓冲器数据430被预想为实现在用于重复地检索并提供到显示设备的数据量中的相当可观的减少,但是很可能的是在差帧包括运动视频的情况下数据量更大。
[0042]回到图1,如先前讨论的,可以存在其中在不参考在前的帧的情况下描述图像880状态的全帧必须被提供给显示设备600的场合。此外,这可能必然在诸如开启计算设备300、重设计算设备300或导致不存在可用于差帧的在前的帧用来参考的另一情况的事件之后。另外,在一些实施例中,在图像880中存在显著改变使得像素的显著比例的像素颜色值在当前帧和前一相邻帧之间改变到重要程度的情况下提供全帧来代替差帧可以被认为是期望的。在一些实施例中,可以分析每个得到的差帧以确定差度,并且在差度超过阈值的情况下全帧可以代替差帧被压缩并被提供到显示设备600。不管对于全帧相对于差帧的压缩和存储的原因,处理器组件350可以都使用相同类型的压缩(例如,霍夫曼编码)进行压缩。另外,处理器组件350可以以压缩形式将全帧和差帧两者都存储在压缩缓冲器数据430中以被检索和被传送到显示设备600。在传送全帧或差帧中的任一个到显示设备600时,处理器组件350可以另外提供正在被传送的是哪类帧的指示。在一些实施例中,可以将这样的指示嵌入到被传送的帧自身中。
[0043]图2图解了包括计算设备300的替换实施例的视频呈现系统1000的替换实施例的框图。图2的视频呈现系统1000的替换实施例在许多方面类似于图1的实施例,并且因此通篇中相似的参考标记被用于提及相似的元件。然而,不同于图1的计算设备300,图2的计算设备300没有并入显示设备600。另外,不同于图1的显示设备600,图2的显示设备600可以并入接口 690以将显示设备600经由网络999和/或经由不同的链接耦合到计算设备300。因此,在图2的视频呈现系统1000的替换实施例中,处理器组件350可以将检索自存储在储存器360中的压缩帧缓冲器430的压缩帧经由网络传输到显示设备600。
[0044]在各种实施例中,处理器组件350和650中的每一个可以包括广泛种类的商业可用处理器中的任意。另外,这些处理器组件中的一个或多个可以包括多个处理器、多线程处理器、多核处理器(无论多个核是否共存在相同的或分离的管芯上)、和/或通过其多个物理分离的处理器以某一方式被链接的某其它种类的多处理器架构。
[0045]尽管处理器组件350和650中的每一个可以包括各种类型的处理器中的任意,预想显示设备600的处理器组件650可以是稍微特殊化的和/或最优化的以执行关于图形和/或视频的任务。更广泛地,预想显示设备600体现计算设备300的图形子系统以使得能够使用分离并不同于处理器组件350的组件和其更紧密相关的组件来执行关于图形再现、视频压缩、图像尺度改变等的任务。
[0046]在各种实施例中,储存器360和660中的每一个可以基于广泛种类的信息储存器技术中的任意,其可能包括要求不间断提供电功率的易失性技术,并且可能包括需要使用可以或可以不是可移除的机器可读储存器媒体的技术。因此,这些储存器中的每一个可以包括广泛种类的类型(或类型的结合)的储存器设备中的任意,在没有限制的情况下包括,只读存储器(R0M)、随机存取存储器(RAM)、动态RAM (DRAM)、双倍数据速率DRAM(DDR-DRAM)、同步 DRAM (SDRAM)、静态 RAM (SRAM)、可编程 ROM (PROM)、可擦可编程 ROM(EPROM),电可擦可编程ROM (EEPR0M)、闪存存储器、聚合物存储器(例如,铁电聚合物存储器)、奥式存储器(ovonic memory)、相变或铁电存储器、娃氧化氮氧化娃(S0N0S)存储器、磁或光卡、一个或多个单独的铁磁盘驱动、或被组织到一个或多个阵列中的多个储存器设备(例如,被组织到独立磁盘冗余阵列阵列或RAID阵列中的多个铁磁盘驱动)。应注意的是,尽管这些储存器中的每一个被描绘为单个块,但是这些中的一个或多个可以包括可以基于不同储存器技术的多个储存器设备。因此,例如这些被描述的储存器中的每一个中的一个或多个可以表示光驱动器或闪存存储器读卡器的结合,通过其在以机器可读存储媒体、用于存储程序和/或数据本地地用于相对扩展的周期的铁磁盘驱动器、以及一个或多个使得能够相对快的访问程序和/或数据的易失性固态存储器设备中(例如,SRAM或DRAM)的一些形式上可以存储并传送程序和/或数据。还应注意的是,这些储存器中的每一个可以由基于同样的储存器技术的多个储存器组件组成,但是其可以被分离地维持作为特殊化使用的结果(例如,一些DRAM设备被用作主储存器而其它DRAM设备被用作图形控制器的不同的帧缓冲器)。
[0047]在各种实施例中,接口 190、390和690可以使用使得这些计算设备能够如被描述的那样被耦合到其它设备的广泛种类的信令技术中的任意。这些接口中的每一个包括提供用来使能这样的耦合的必须功能性中的至少一些的电路。然而,还可以采用由处理器组件中的对应组件实行的指令序列至少部分地实现这些接口中的每一个(例如,以实现协议堆栈或其它特征)。在使用电和/或光导电电缆的情况下,这些接口可以使用遵从各种工业标准中的任意的信令和/或协议,其在没有限制的情况下包括RS-232C、RS-422、USB,以太网(IEEE-802.3)或IEEE-1394。在需要使用无线信号传输的情况下,这些接口可以使用遵从各种工业标准中的任意的信令和/或协议,其在没有限制的情况下包括,IEEE802.11a、802.lib,802.llg、802.16,802.20 (通常被称为“移动宽带无线访问”),蓝牙,ZigBee,或蜂窝无线电话服务,诸如具有通用分组无线服务(GSM/GPRS)的GSM、CDMA/lxRTT、增强型数据速率全球演进(EDGE )、演进仅数据/最优化(EV-DO)、数据和语音演进(EV-DV)、高速下行分组访问(HSDPA)、高速上行分组访问(HSUPA)、4G LTE等。
[0048]图5和6每一个更详细地图解了图1或图2中的任一个的视频呈现系统1000的实施例的部分的框图。更明确地,图5描绘了计算设备300的操作环境的方面,其中正在实行控制例程340的处理器组件350压缩并存储图像880的帧用于稍后重复检索并提供到显示设备600。图6描绘了显示设备600的操作环境的方面,其中正在实行控制例程640的处理器组件650解压缩那些帧并将它们在视觉上呈现在显示器680上。如对本领域技术人员来说可公认的那样,控制例程340和640 (包括组成其每一个的组件)分别地被选择成在被选择用于实现处理器组件350和650的无论什么类型的处理器或多个处理器上可操作的。
[0049]在各种实施例中,控制例程340和640中的每一个可以包括操作系统、设备驱动器和/或应用级例程中的一个或多个(例如,在盘媒体上提供的所谓的“软件集”、从远程服务器获得的“小应用”等等)。在包括操作系统的情况下,操作系统可以是各种对处理器组件350或650中的对应组件适当的可用操作系统中的任意。在包括一个或多个设备驱动器的情况下,那些设备驱动器可以提供对计算设备300或600中的对应组件的各种其它组件中的任意(无论硬件或软件组件)的支持。
[0050]控制例程340可以包括由处理器组件350可实行的通信组件349以操作接口 390用于如已经描述的那样经由网络999传输并接收信号。在接收的信号之中可以是将运动视频数据130经由网络999传送到计算设备300的信号。如本领域技术人员将公认的那样,选择该通信组件以无论什么类型的接口技术被选择用来实现接口 390都是可操作的。
[0051]更明确地转到图5,控制例程340包括帧缓冲器压缩器346,其由处理器组件350可实行用于压缩帧缓冲器数据330的全帧336和/或差帧337以分别地生成压缩缓冲器数据430的压缩全帧436和/或压缩差帧437。如先前解释的那样,可以存在导致不存在用于用来在描述像素颜色值中作为与在前的帧的差参考的差帧337的在前的帧,或者其中不管存在差帧可以参考的在前的帧而发送全帧336被认为是期望的情况。因此,需要可以偶尔替代地针对帧缓冲器压缩器346出现来压缩全帧336。在压缩全帧336之后,然后全帧336变成由跟随在全帧336之后来描述跟随在全帧336之后的当前帧332中的第一个的差帧337中的第一个参考的前一相邻帧331。如已经讨论的那样,在一些实施例中帧缓冲器压缩器346可以实现霍夫曼编码。
[0052]如所描绘的那样并且如先前讨论的那样,可以通过在一些实施例中由数字电路组成的帧减法器370得到差帧337来提高在其处计算在像素颜色值中的差的速度。然而,在其它实施例中,处理器组件350可以实行导致处理器组件350执行此类差计算的控制例程340的组件。
[0053]控制例程340包括检索组件347,其由处理器组件350可实行以通过重复地检索来自压缩缓冲器数据430的最最近的压缩帧并将其提供到显示设备600来支持刷新被在视觉上呈现在显示器680上的图像880。如已经讨论的那样,它通常是从压缩缓冲器数据430检索的压缩差帧437。然而,在其中必须将全帧提供给显示设备600的情况之后,检索组件
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1