首页> 中国专利> 能够进行增量压缩以及对运动估计和元数据的修改以用于将图像呈现给远程显示器

能够进行增量压缩以及对运动估计和元数据的修改以用于将图像呈现给远程显示器

摘要

可以通过以减少或者避免压缩过程的运动估计的方式对用于无线传输的视频数据进行处理来实现增量压缩。可以在合成引擎处捕获视频数据和相应的元数据。可以从数据和元数据中创建帧缓冲器更新。帧缓冲器更新可以包括与包括像素数据和头部信息的视频宏块相关的数据。帧缓冲器更新可以包括用于重新创建视频图像的像素参考数据、运动矢量、宏块类型、以及其它数据。可以将宏块数据和头部信息转换成压缩算法(诸如MPEG-2)可识别的格式,然后进行编码并进行无线发送。

著录项

  • 公开/公告号CN102792689A

    专利类型发明专利

  • 公开/公告日2012-11-21

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201180011850.6

  • 发明设计人 V·R·拉韦恩德朗;

    申请日2011-03-02

  • 分类号H04N7/26;H04N7/50;

  • 代理机构永新专利商标代理有限公司;

  • 代理人张扬

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 07:26:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-10

    未缴年费专利权终止 IPC(主分类):H04N19/70 授权公告日:20151125 终止日期:20190302 申请日:20110302

    专利权的终止

  • 2015-11-25

    授权

    授权

  • 2013-01-16

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20110302

    实质审查的生效

  • 2012-11-21

    公开

    公开

说明书

相关申请的交叉引用

本申请要求于2010年3月2日以V.RAVEENDRAN的名义提交的美国临时专利申请No.61/309,765的权益,故明确地通过引用的方式将其公开内容作为整体并入本文。

技术领域

概括地说,本公开内容涉及数据压缩。更具体地说,本公开内容涉及减少在视频信号的无线传输之前执行的数据压缩期间的运动估计。

背景技术

期望向电视(TV)和其它监视器无线地递送内容。作为一个例子,在一些实例中,可能期望将从用户设备所递送的内容在TV设备上输出。例如,与许多TV设备输出能力相比,诸如移动电话、个人数字助理(PDA)、媒体播放器设备(例如,APPLE IPOD设备、其它MP3播放器设备等)、膝上型计算机、笔记本计算机等许多便携式用户设备具有的有限的/受约束的输出能力,诸如较小的显示器大小等。例如,如果递送视频内容以在TV设备上输出,则期望在便携式用户设备上观看视频的用户就可以获得改善的视听体验。因此,在一些实例中,为了改善在接收(观看和/或收听)内容时的视听体验,用户可以期望从用户设备递送内容以便在电视设备(例如,HDTV设备)上输出。

发明内容

提供了一种用于对帧缓冲器更新进行编码的方法。该方法包括存储帧缓冲器更新。该方法还包括将帧缓冲器更新转换成混合压缩格式的运动信息,从而回避运动估计。

提供了一种用于对帧缓冲器更新进行编码的装置。该装置包括用于存储帧缓冲器更新的模块。该装置还包括用于将帧缓冲器更新转换成混合压缩格式的运动信息,从而回避运动估计的模块。

提供了一种用于对帧缓冲器更新进行编码的计算机程序产品。该计算机程序产品包括具有记录在其上的程序代码的计算机可读介质。所述程序代码包括用于存储帧缓冲器更新的程序代码。所述程序代码还包括用于将帧缓冲器更新转换成混合压缩格式的运动信息,从而回避运动估计的程序代码。

提供了一种可操作用于对帧缓冲器更新进行编码的装置。该装置包括处理器和耦合到该处理器的存储器。所述处理器配置为存储帧缓冲器更新。所述处理器还配置为将帧缓冲器更新转换成混合压缩格式的运动信息,从而回避运动估计。

附图说明

为了对本公开内容更加完整的理解,现在结合附图参考下面的描述。

图1是示出用于处理和发送多媒体数据的组件的框图;

图2表示示出根据本公开内容的一个方面的增量压缩的框图;

图3是示出准备用于无线传输的宏块数据和头部信息的框图;

图4示出了用于静态宏块的采样宏块头部;

图5示出了根据本公开内容的一个方面的增量压缩。

具体实施方式

本文中使用词语“示例性”意味着“作为例子、实例或例证”。本文描述的作为“示例性”的任何方面不必被解释为优选的或优于其它方面。

可以利用多种方法来无线地发送视频数据。一种方法可以利用通过如图1中所示的Express卡接口连接到内容主机的无线通信设备。如所示出的,主机100通过Express卡接口连接到Express卡150。主机100可以利用多个处理组件来处理多媒体数据以便输出到主显示器102和音频输出104,或者主机可以处理多媒体数据以便通过缓冲器输出到发射机(图1中表示为外部设备,诸如Express卡150),该发射机可以对数据进行进一步处理以便最终通过天线152进行无线传输。图1中所示的逻辑和硬件仅是为了说明性的目的。可以使用主机、外部设备等的其它配置来实现下面描述的方法和教导。

通常,当处理视频数据时,由显示处理器106来渲染和合成图像数据,并且典型地以像素数据的形式发送到帧缓冲器108。然后,将该数据输出到主显示器102。在某些情况下,输出的视频数据可以来自单个源(诸如观看电影),在其它情况下(诸如玩视频游戏或者操作具有多个应用的设备),可以将包括图形覆盖对象或者发音器的多个图形输入组合和/或覆盖在视频图像上,以便创建最终在显示器上显示的复合视频帧。在对多个视频分量进行组合的情况下,负责生成这些视频分量的每个媒体处理器可以具有其自己的输出语言,输出语言用于将视频信息(诸如帧更新信息)传送到合成引擎,合成引擎用于对来自各个输入/媒体处理器的数据进行组合。合成引擎将获得来自各个处理器的输入(包括视频数据、图形对象等)的组合,根据需要对其进行覆盖和组合,将它们合成为单个图像(其可以包括诸如适当的颜色合成之类的额外处理等),并且将它们组合成最终将在显示器上显示的图像。

来自各个处理器的输入可以是不同的语言、不同的形式、并且可以具有不同的属性。例如,来自一个设备的输入可以以与另一输入不同的帧更新速率提供视频数据。作为另一个例子,一个设备可以反复提供新的像素信息,而另一个设备可以仅提供以像素更新形式的视频数据,像素更新指示从特定的参考像素的变化。某些处理器还可以仅在帧的不同区域或者合成在一起以创建帧的不同类型的数据上进行操作。通过合成引擎将来自不同处理器的各个输入转换成模式信息,并且将来自各个处理器的输入变换成像素数据以创建帧。在由合成引擎进行处理之后,帧信息将被发送到帧缓冲器108以进行最终显示。

用于视频数据的无线传输的常见方法仅是从帧缓冲器108捕获准备显示的数据、对视频数据进行编码/压缩以易于传输、并且随后发送视频数据。可以由诸如显示器连接驱动器110之类的组件进行这些操作。

视频数据压缩的一种常见方法是MPEG-2,出于示例性目的在本文中对其进行讨论,但是还可以使用诸如MPEG-4之类的其它压缩标准。数据压缩的使用可能采用额外的处理器和存储器容量,可能更耗时并且更耗功率,并且可能导致最终传输中的延迟。延迟可能起因于在可以使用第一帧作为参考对下一帧进行解码之前对第一帧进行完全解码的压缩过程。

用于减少这些延迟的一种方法是将多个后续帧的视频数据处理为与参考帧的递增变化。在该方法中,将更新或变化信息(称为差值(Δ)信息或者显示帧更新)发送到显示处理器以便在最终的显示器上进行呈现(相对于参考帧)。该增量信息可以是运动估计的形式(例如,包括运动矢量)或者其它数据。在压缩期间计算这种增量信息时可以利用额外的处理功率。

在本公开内容的一个方面,可以避免在压缩期间确定增量信息,和/或可以减少或者避免专用于该确定的处理功率。各种媒体处理器(诸如上述所讨论的那些将信息输出到压缩引擎的处理器)可能已经以一种方式计算了增量信息,使得可以捕获该增量信息并且可以在压缩期间不需要重新计算。通过查看进入合成引擎的输入,可获得更多与每个像素所发生的相关的原始信息。可以将该信息转换为模式信息,编码器将针对每个像素组(称为宏块或者MB)输出该模式信息。然后,可以对以可由压缩技术(例如,MPEG-2)理解的格式的宏块的数据和该宏块的头部信息(其可以包括运动信息)进行编码,并且将其组合成压缩比特流以用于无线传输。在这种方式中,可以减少在传统压缩期间对运动估计的处理和对增量信息的计算。

图2表示示出了根据本公开内容的一个方面的增量压缩的框图。可以由解码器208对来自视频源206的视频数据进行解码,并且发送到显示处理器212。视频数据从显示处理器212输出到帧缓冲器214,以便最终递送给设备上的嵌入式显示器216或者不同的显示器(未示出)。来自音频处理器218的数据被输出到音频缓冲器220,以便最终递送给扬声器224。显示处理器212还可以接收来自GPU 210的图像数据。GPU 210可以生成各种图形、图标、图像或者可以与视频数据组合或者覆盖在视频数据上的其它图形数据。

应用202可以与合成引擎/显示驱动器204进行通信。在一个例子中,引擎/显示驱动器204可以是如图1中所示的显示器连接驱动器110。引擎204命令显示处理器212接收来自GPU 210、解码器208、和/或其它源的信息,以便进行组合并输出到帧缓冲器214。如上所述,在典型的无线传输系统中,帧缓冲器中所包含的是输出到A/V编码器并且在传输之前进行复用的最终图像。

然而,在本公开内容中,使用来自引擎204的信息而不是帧缓冲器中的数据来创建无线输出流。引擎知道来自视频源206、GPU 210等的数据。引擎还意识到去往与生成对帧缓冲器的更新相关联的显示处理器212的命令。这些命令包括关于视频显示数据的部分更新的信息。这些命令还包括来自GPU 210的图形覆盖信息。引擎204习惯上将使用对其已知的各种数据来生成要发送到帧缓冲器的帧缓冲器更新。

根据本公开内容的一个方面,诸如引擎204或者引擎204的扩展250之类的设备组件可以如本文所描述地对帧缓冲器更新进行编码。帧缓冲器更新可以存储在寄存器252中,并且可以包含元数据。元数据可以包括处理器指令。帧缓冲器更新可以包括像素信息。帧缓冲器更新可以是针对帧速率和/或刷新速率的。帧缓冲器更新可以包括与绝对像素、像素差异、周期性和/或时序有关的数据。组件可以执行混合压缩,其中包括运动估计元数据的修正和存储器管理功能。混合压缩可以是基于块的。可以将帧缓冲器更新分割成MB数据和MB头部。

从引擎204捕获主要像素信息226和增量/周期时序信息228。还可以捕获元数据。可以针对某些宏块(MB)聚集信息。像素数据226可以包括索引(例如(1,1)),其指示表示其数据的像素的位置。从参考像素(诸如(1,1))中,稍后像素(例如(1,2))的数据可以仅包括增量信息,其指示稍后像素和先前的参考像素之间的差异。

从引擎204捕获的数据可以是旨在去往主显示器的数据,或者其可以旨在去往辅显示器(例如,旨在单独地用于远程显示器的视频数据)。使用所描述的技术,可以从任何媒体处理器捕获所期望的像素数据,然后将其转换为压缩信息并且进行发送,而无需在压缩期间执行传统的运动估计。

在某些情况下,从一个宏块到下一个宏块可能不存在变化。当宏块未与其各自的参考宏块不同时,将其称为静态宏块。如方框230中所示,可以由引擎204捕获宏块是静态的指示。可以将MB数据转换为由压缩格式(例如,MPEG-2)识别的格式,并且输出为MB数据234以用于传输。可以将包括时序数据、类型(诸如静态宏块(跳过(skip))、帧内(I)、预测(P或者B))增量信息等的关于宏块232的进一步的信息转换成由压缩格式(例如,MPEG-2)识别的格式,并且包括为MB头部信息236以用于传输。头部信息是有效运动信息,并且可以包括运动矢量238、MB模式240(例如,预测模式(P、B)等)、或者MB类型242(例如,新帧)。

图3示出了准备用于传输的MB信息。在被包括在用于无线传输的输出MPEG-2比特流中之前,对MB数据234(其包括像素数据)进行变换和编码。在被包括在MPEG-2比特流中之前,通过熵编码对MB头部236进行处理。

图4示出了静态块的样本MB头部。在图4中,MB 1,1是帧中的第一个宏块。所示的头部包括MB ID(1,1)、MB类型(跳过)、运动矢量(当MB为静态时,表示为(0,0)),并且将参考图片示为0。

在上面参照图2和3所描述的过程中,减少或者消除了在传输之前的传统压缩期间所执行的运动估计。典型地,不对在显示处理器212处可用的增量信息进行压缩。如上所述,若来自显示处理器212的期望的运动数据是期望用于传输的,增量信息可以转换/编码成可由压缩技术(例如,MPEG-2)理解的格式或者以其它方式进行处理。一旦转换,如上所述,增量信息可以结合参考帧使用。

因为运动估计可能在传统压缩的总复杂度的50-80%之间,所以移除运动估计导致改善的效率、减少的功耗、以及减少当无线发送视频数据时的延迟。

例如,在定制硬件(诸如专用集成电路(ASIC))中的MPEG-2编码可以消耗100mW用于在720p分辨率的HD编码(对于1080p甚至更高)。本文针对MPEG-2压缩描述的技术可以通过减小与输入视频中的熵成比例的压缩周期/复杂度来显著减小该数字。具体地说,本文描述的技术利用了大量不需要更新的视频帧。

如下所述,即使利用传统上被认为具有许多运动的视频,在逐帧基础上也存在足够大百分比的静态MB(定义为如在对等宏块、零残差、作为参考的前一个图片中没有运动矢量):

表1静态MB在视频中的比例

  内容  静态MB的%  具有>80%的静态MB

  的帧的% ESPN新闻  85.04%  91.43% 天气  83.21%  79.29% CNN新闻  88.59%  92.14% Bloomberg新闻  84.61%  85.71% 动画片  87.79%  90.71% MTV  55.08%  2.14% HBO  36.73%  0.71% 音乐视频  16.25%  0.00% 棒球  35.69%  0.00% 足球  33.50%  0.00% 平均  60.65%

表1示出了对从卫星上的数字TV捕获的30个不同的十分钟序列的采样得出的数据。从采样的节目中,平均60%的视频包含不需要在显示器上更新的静态宏块。表1的第三列还示出了,在新闻和动画片类型的视频中,超过80%的时间中,超过80%的帧不需要更新。使得编码器能够仅处理更新或者一部分帧而不是整个帧可以导致显著节电。有些时候这可以开始时完成(例如,当多于80%的帧包含MB时)。

相当大百分比的视频内容落入新闻或者动画片分类内(即,低运动、低纹理):

表2基于运动和纹理的视频分类

  内容类型  样本集合的比例  低运动、低纹理  47%  中运动、中纹理  17%  高运动、高纹理  36%

在视频中应用适当的冗余以便最优化(或者减少)视频处理负载,并且机制的识别(例如,使用跳过(skip)或者静态信息)将促进低功率或者集成应用平台。

在传统的运动估计和压缩期间,取得大量数据并且进行处理,典型地在计算差值度量(绝对差值之和(SAD)或者平方差值之和(SSD))之前进行内插以便改善精度。针对可以是给定的块或者MB的预测器的所有候选重复该过程,直到获得所期望的匹配(最低的差值或者SAD)为止。从参考图片取得该数据的过程是耗时的,并且构成了处理延迟和计算功率的主要因素。典型地,对计算差值的算法进行手动编码以便减少所消耗的处理器循环的数目。然而,由于所要取得的数据可以在位置上很广泛(如果使用多个参考图片预测,最接近在多帧上的帧中的最远的MB),并且可以不与MB边界对齐,存储器寻址添加了额外的开销。另外,针对之前的MB取得的数据可能不合适于当前MB,其限制了对数据取得和存储器传送带宽的优化。

图5示出了根据本公开内容的一个方面的增量压缩。如在方框502中所示,存储帧缓存器更新。如在方框504中所示,将帧缓冲器更新转换成混合压缩格式的运动信息,从而回避运动估计。

在一个方面,一种装置包括用于存储帧缓冲器更新的模块,以及用于将帧缓冲器更新转换成混合压缩格式的运动信息的模块。设备还可以包括用于捕获用户输入命令的时间戳的模块,以及用于捕获从用户输入命令产生的相应的显示数据的模块。在一个方面,前述模块可以是显示驱动器110、引擎204、帧缓冲器108或214、寄存器252、引擎扩展250、解码器208、GPU 210、或者显示处理器106或212。

虽然已经对本公开内容及其优点进行了详细描述,但是应该理解的是,在不脱离由所附权利要求所定义的本公开内容的技术的前提下,在本文中可以进行各种变化、替换和变更。此外,本申请的范围并非旨在限于说明书中所描述的过程、机器、制品、事物的组合、手段、方法和步骤的特定方面。本领域的普通技术人员将从本公开内容中容易意识到的是,根据本公开内容,可以利用目前存在或者稍后将要开发的、执行与本文所描述的相应方面实质上相同的功能或者实现实质上相同结果的过程、机器、制品、事物的组合、手段、方法或步骤。因此,所附权利要求旨在将这些过程、机器、制品、事物的组合、手段、方法或者步骤包括在其范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号