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

文档序号:9602869阅读:来源:国知局
347检索压缩全帧436并将其提供到显示设备600。
[0054]因此,在图5中描绘的操作环境中,由计算设备300生成的用户接口的视觉组件的帧首先被用于由帧减法器370生成多个差帧337,其被存储在帧缓冲器数据330中。然后由帧缓冲器压缩器346压缩表示用户接口的视觉部分的帧的至少一个全帧336和多个差帧337。作为结果的至少一个压缩全帧436和多个压缩差帧437然后被存储为压缩缓冲器数据430的一部分用于由检索组件347检索并传送到显示设备600。此外,被执行用于得到差帧337中的每一个的减法是非处理器密集的相对简单的计算。另外,当使用也是非处理器密集的一种类型的压缩(例如,霍夫曼编码)时被压缩的帧的大多数是差帧337的事实导致相对高的压缩度。这显著地减少必须针对显示器680的每次刷新被检索的数据量。作为总的结果,显著地减少了重复刷新显示器680所需的电功率量。
[0055]在其中运动视频数据130的帧也可以被在视觉上呈现在显示器680上的实施例中,控制例程340还可以包括运动视频解压缩器341,其由处理器组件350实行以使用各种类型的解压缩中的任意来解压缩运动视频数据130的帧。在所使用的解压缩类型是MPEG版本的情况下,运动视频解压缩器341可以并入熵解码器3411、逆量化组件3412、逆离散余弦变换(IDCT)组件3413、运动补偿器3414和颜色空间转换器3415中的一个或多个。
[0056]聚焦在图5的运动视频解压缩器341上,并且如对MPEG中的那些技术人员来说熟悉的那样,熵解码器3411解码在压缩期间可能使用的霍夫曼编码(或另一形式的熵编码)。霍夫曼编码分配较短的位长描述符给更频繁地出现的数据值以及较长的位长描述符给较不频繁地出现的数据值来减少描述相同数据值所需的位的数目。逆量化组件3412在一定程度上倒转在压缩期间在量化中出现的高频组件的消除。IDCT组件3413倒转在压缩期间使用的离散余弦变换(DCT)以将像素颜色值变换到频域。运动补偿器3414使用描述在像素颜色值的块中移动的方向和距离的运动向量以在重建帧中实现那些移动的结果。颜色空间转换器3415 (如果存在的话)可以被用于将由运动视频解压缩器341的其它组件重建的帧的颜色空间诸如从在MPEG中常用的亮度色度(YUV)颜色空间转换成在驱动显示器中常用的红绿蓝(RGB)颜色空间。
[0057]因此,在图5中描绘的操作环境中,首先由运动视频解压缩器341完全解压缩运动视频数据130的压缩帧以生成被存储为帧缓冲器数据330的一部分的未压缩的帧(例如,当前帧332和前一相邻帧331)。从此向前,以与前面描述的用户接口在视觉上部分的帧非常相同的方式处理运动视频数据130的未压缩的帧。从运动视频数据130的那些未压缩的帧得到多个差帧337,并且由帧缓冲器压缩器346压缩表示运动视频数据130的其它未压缩的帧的至少一个全帧336和多个差帧337。然后将作为结果的至少一个压缩全帧436和多个压缩差帧437存储为压缩缓冲器数据430的一部分用于由检索组件347检索并传送到显示设备600。
[0058]更明确地转到图6,在其中显示设备600未被集成到计算设备300中的实施例中,控制例程640可以包括通信组件649,其由处理器组件650实行以操作接口 690来如已经描述的那样经由网络999传输和接收信号。在接收的信号之中可以是将压缩缓冲器数据430经由网络999传送到显示设备600的信号。如本领域技术人员将公认的那样,选择该通信组件以无论什么类型的接口技术被选择用来实现接口 690都是可操作的。
[0059]控制例程640包括显示缓冲器解压缩器646,其由处理器组件650实行以解压缩如从计算设备300接收的那样在由帧缓冲器压缩器346压缩之后的压缩缓冲器数据430的压缩全帧436和/或压缩差帧437。在执行这样的解压缩时,显示缓冲器解压缩器646将作为结果的未压缩的全帧336和/或未压缩的差帧337分别地存储在显示缓冲器数据630中。
[0060]如所描绘的那样,可以由帧加法器670将差帧337的像素颜色值与前一相邻帧631的像素颜色值加和来重建当前帧632。前一相邻帧631是所重建并被在视觉上呈现在显示器680上的最最近的帧,并且当前帧632是要被重建用于在显示器680上视觉呈现的下一帧。然而,在其它实施例中,处理器组件650可以实行导致处理器组件650执行这样的加和计算的控制例程640的组件。然而应注意的是,在要被在视觉上呈现在显示器680上的下一帧是全帧336的情况下,不执行这样的加和计算,并且甚至可能还不存在前一相邻帧631。[0061 ] 控制例程640包括呈现组件648,其由处理器组件650实行以重复地将显示缓冲器数据630的最最近的当前帧632在视觉上呈现在显示器680上。如对本领域技术人员来说熟悉的那样,可以选择以其呈现组件648为在显示器680上视觉呈现提供帧的刷新速率以匹配或是以其由显示设备600从计算设备300接收压缩帧的速率的倍数。因此在一些实施例中,当前帧632中的每一帧可以不止一次被光栅扫描再现到显示器680上。
[0062]应注意的是,在图6中描绘的操作环境中,(无论是否经由网络)从计算设备300接收的压缩帧不管它们的内容而以相同的方式本被处理。因此,响应于帧的包含内容或缺少运动视频的包含内容在对帧的解压缩或视觉呈现中不存在改变。
[0063]图7和8每一个更详细地图解了图1或2中任一的视频呈现系统1000的替换实施例的一部分的框图。更明确地,图7描绘了计算设备300的替换实施例的操作环境的方面,其中以与在图5的计算设备300的实施例中稍微不同的方式将运动视频数据130的压缩帧解压缩、重新压缩并提供到显示设备600。图8描绘了显示设备600的替换实施例的操作环境的方面,其中以与图6的显示设备600的实施例中稍微不同的方式执行对包括运动视频数据130的帧的所接收的压缩帧的解压缩。图8的显示设备600的实施例与图6的其对应部分不同以适应图7的计算设备300的实施例与图5的其对应部分的不同。
[0064]图7和8的视频呈现系统1000的替换实施例在许多方面类似于图5和6的视频呈现系统100的实施例,并因此通篇中相似的参考标记被用于提及相似的元件。用示例的方式,在当前帧332和前一相邻帧331属于用户接口的在视觉上部分的情况下,在视频呈现系统1000的这两个实施例之间,其中它们被压缩并被传送到显示设备600的方式和其中它们被解压缩并由显示设备600被在视觉上呈现的方式是基本上相似的。然而,处理根据MPEG版本被压缩的运动视频数据130的运动视频的压缩帧的方式稍微不同。
[0065]在图5和6的视频呈现系统1000的实施例中,运动视频数据130的运动视频的压缩帧首先由运动视频解压缩器341完全解压缩,并且然后在被传送到显示设备600 (在那里它们由显示缓冲器解压缩器646再一次解压缩)之前由帧缓冲器压缩器346重新压缩。然而,如关于图7和8的视频呈现系统1000的实施例将不久更详细地被解释的那样,根据MPEG版本被压缩的运动视频数据130的帧仅由运动视频解压缩器341部分地解压缩,然后在被传送到显示设备600 (在那里由显示缓冲器解压缩器341解开帧缓冲器压缩器346的压缩并最终完成对原始MPEG压缩的解压缩)之前由帧缓冲器压缩器346重新压缩。
[0066]转到图7,运动视频解压缩器341并入与图5的其对应部分相同的组件,除了运动补偿器3414。因此,当图7的运动视频解压缩器341执行熵解码、逆量化和IDCT并且还可能如图5的运动视频解压缩器341所做的那样执行颜色空间转换时,图7的运动视频解压缩器不执行运动补偿。如熟悉MPEG的那些人将容易地公认的那样,运动补偿通过结合描述像素颜色值作为与至少一个其它帧(例如,一种类型的差帧)的像素颜色值的差的帧与指定在帧之间移动的像素颜色值的一个或多个块的方向和距离的运动向量的指示来需要完成对预测的帧(P帧)和双向预测的帧(B帧)的解压缩。仅内部帧(I帧)由运动视频解压缩器341完全解压缩,因为I帧不通过参考另一帧的像素颜色值来描述像素颜色值并且不并入运动向量。作为结果,运动视频解压缩器341将完全解压缩的I帧存储在帧缓冲器数据330中作为全帧336,并且将部分解压缩的P帧和B帧存储为差帧337和运动向量338的伴随指示的结合。
[0067]在图5和7的实施例两者中,帧缓冲器压缩器346压缩全帧336和差帧337,并且检索组件347分别地重复检索作为结果的压缩全帧436和压缩差帧437用于传送到显示设备600。然而,在图7中,帧缓冲器压缩器346还可以压缩运动向量338的指示,并且检索组件还可以检索作为结果的运动向量438的压缩指示并将其传送到显示设备600。
[0068]转到图8,控制例程640如图6的其对应部分所做的那样并入显示缓冲器解压缩器646和呈现组件648。然而,图8的控制例程640附加地并入运动补偿组件647。在图6和8的实施例两者中,显示缓冲器解压缩器646解压缩压缩的全帧436和压缩的差帧437,并且呈现组件648将最最近重建的帧在视觉上呈现在显示器680上。然而,在图7中,显示缓冲器解压缩器646还可以解压缩运动向量438的压缩指示,从而生成运动向量338的指示以未压缩的的形式被存储为显示缓冲器数据630的一部分。另外,运动补偿组件647执行将会以其他方式由运动视频解压缩器341执行的MPEG解压缩的运动补偿部分。因此,运动补偿组件647有效地完成对运动视频数据130的原始压缩帧的MPEG解压缩。
[0069]图9图解了逻辑流2100的一个实施例。逻辑流2100可以表示由在本文中描述的一个或多个实施例实行的操作中的一些或所有。更明确地,逻辑流2100可以图解由处理器组件350在实行至少控制例程340时执行、和/或由计算设备300的(一个或多个)其它组件执行的操作。
[0070]在2110,计算设备的处理器组件(例如计算设备300的处理器组件350)通过首先检查是否存在可以由差帧参考的在前的帧来压缩未压缩的当前帧(例如,帧缓冲器数据330的当前帧332)。如先前解释的那样,可以出现导致不存在在前的帧以用作由在差帧中的像素颜色差的描述的参考的事件,诸如计算设备的开启等。如果不存在在前的帧,那么在2112,然后压缩未压缩的当前帧并将其存储为压缩全帧用于随后的检索和传送到显示设备(例如,显示设备600)。如先前也解释的那样,在其中出现像素的显著比例的像素颜色值中的显著改变、甚至是其中存在可用的在前的帧的情形中,代替差帧压缩并存储当前帧可以被认为是期望的。在在视觉上呈现的内容中存在改变(诸如在运动视频的视觉呈现和用户接口的视觉部分的视觉呈现之间的改变)的情况下像素的这样的显著比例的这样的显著改变可以发生。
[0071]然而,如果在2110处存在在前的帧,那么描述在未压缩的当前帧和在前的帧(例如,前一相邻帧331)之间的像素颜色值中的差的差帧通过在2120处从另一个中减去一个来得到。如先前解释的那样,这样的减去可以由采用数字电路实现的帧减法器(例如,帧减法器370)执行或者可以由计算设备的处理器组件执行。然后在2122处压缩所得到的差帧并将其存储为压缩差帧用于随后的检索和传送到显示设备。
[0072]不管在2112或2122处是否已经分别地存储压缩全帧或压缩差帧,在2130处进行关于是否存在要被压缩并存储为随后的检索和传送到显示设备做准备的更多帧的检查。如果存在更多帧,那么在2110处重复对在前的帧的检查。
[0073]图10图解了逻辑流2200的一个实施例。逻辑流2200可以表示由在本文中描述的一个或多个实施例实行的操作中的一些或所有。更明确地,逻辑流2200可以图解由处理器组件650在实行至少控制例程640时执行、和/或由显示设备600的(一个或多个)其它组件执行的操作。
[0074]在2210处,显示设备的处理器组件(例如显示设备600的处理器组件650)解压缩从计算设备(例如,计算设备300)接收的压缩帧。如先前解释的那样,显示设备可以或者被并入计算设备,或者可以是与计算设备物理分离的但是仍被耦合到计算设备。另外,从计算设备接收的压缩帧可以使用霍夫曼编码被压缩。
[0075]在2220处,进行对现在解压缩的帧的检查以确定其是否是全帧(相对于差帧)。如果其是全帧,那么其不描述参考另一帧的像素颜色值,并且在2222处被在视觉上呈现在显示设备的显示器(例如,显示器680)上。
[0076]然而,如果在2220处,现在解压缩的帧不是全帧,那么其是差帧并且在2230处将在像素颜色值中的差的其描述与被重建并由显示设备在视觉上呈现的最后的帧加和以重建要被在视觉上呈现的下一帧。然后,在2232处将现在重建的下一帧在视觉上呈现在显示器上。
[0077]不管在2222或2232处是否分别在视觉上呈现全帧或用差帧重建的帧,在2240处进行关于是否存在要被解压缩用于视觉呈现在显示器上的更多帧的检查。如果存在更多帧,那么在2210处解压缩另一压缩帧。
[0078]图11图解了逻辑流2300的一个实施例。逻辑流2300可以表示由本文中描述的一个或多个实施例实行的操作中的一些或者所有。更明确地,逻辑流2300可以图解由处理器组件350在实行至少控制例程340时执行、和/或由图7的计算设备300的实施例的(一个或多个)其它组件执行的操作。
[0079]在2310处,计算设备的处理器组件(例如,计算设备300的处理器组件350)仅部分地解压缩使用MPEG版本被压缩的运动视频的帧。不执行其中通过其对与其相关联的像素块的像素颜色值已经相对于另一帧移动的指示方向和距离的运动向量的运动补偿。作为结果并且如先前讨论的那样,部分解压缩的帧保留其中参考至少一个其它帧描述其像素颜色值的差帧。
[0080]在2320处,这个作为结果的差帧和其运动向量的伴随指示(例如,差帧337和运动向量338的指示)都被压缩用于存储(例如,作为压缩差帧437和运动向量438的压缩指示)用于存储。如先前讨论的那样,可以被用于存储的压缩
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1