用于隐藏由帧丢失导致的实时视频伪像的机制的制作方法

文档序号:7938643阅读:128来源:国知局

专利名称::用于隐藏由帧丢失导致的实时视频伪像的机制的制作方法用于隐藏由帧丢失导致的实时视频伪像的机制背景纵观历史,科技进步已使得能够简化普通任务和/或能够以可提供提高的效率、吞吐量等更老练方式处置此类任务。例如,科技进步已导致使通常手动执行的任务自动化、增大信息广泛分发的简易性、以及与面对面会议或发送信件形成对比的各种各样的通信。根据另一示例,视频通信已成为藉由其可发生通信的更普遍的方式,其中视频数据(例如,具有或不具有相应音频数据)可被捕捉并被传送至不同地点以供观看。由此,视频数据可被实时地传达、被存储在存储器中并在稍后的时间被传递等。其中视频数据被获得并被实时地传递的视频通信例如可被用于电信会议。电信会议(例如,音频和/或视频会议…)可允许位于不同的地理位置处的数个参与者协作进行开会而无需出行。采用电信会议技术可使得企业降低成本,同时提高效率,因为通过电信会议施行会议可使得相对于例如亲自见面而言负担更少的出席时间量、花费等。然而,常规视频通信技术经历伪像再现,这些伪像可以是视频中由帧丢失导致的任何感知畸变。即使己开发了众多技术来减轻帧丢失的发生,通信信道(例如,通过因特网或任何其他类型的网络传递的数据、...)的固有丢失性持续导致实时视频通信中有一定程度的帧丢失。例如,帧丢失可由网络分组丢失、分组失序等造成。此外,在使用普通视频编码和传输(例如,MPEG视频、...)的情况下,较早的帧丢失会因诸帧之间的依存性而导致后续帧中的畸变图像。例如,帧丢失导致长达数十秒的视频伪像并不罕见。迄今,解码器通常无法标识哪些帧具有归因于帧丢失的伪像。相应地,实吋视频通信系统常常显示遭损坏的帧而非藏匿、抛弃这些具有伪像的帧等,这是因为缺乏对关于哪些帧具有伪像的了解。概述5以下提出了简化概述以便提供对在此描述的某些方面的基本理解。本概述并不是对所要求保护的主题的全面综述。它既不旨在标识出所要求保护的主题的关键或重要的要素,也不描绘其范围。其唯一的目的是以简化的形式来介绍一些概念,作为稍后提出的更为详细的描述的序言。所要求保护的主题涉及助益结合实时视频通信来描述、传达、利用帧依存性结构等。例如,可采用协议来从发送方向接收方传达依存性结构。此外,接收方侧上的机制可检测将因先前的帧丢失而被有伪像地再现(若被显示)的帧;此机制可利用接收方侧关于帧的依存性结构的知识。根据所要求保护的主题的各个方面,发送组件可将经编码的视频帧流传递给接收组件。这些帧中的每一个可作为多个分组来传达。此外,每个分组可包括标识与之相关联的特定帧的序号以及与该特定帧所依赖的帧相对应的参考帧号。因而,每个分组可传达依存性结构的一部分,其可被接收组件解释并用来重构帧之间的依存性、标识帧丢失和/或基于早先帧的丢失减轻对具有伪像的帧的显示。更确切地,可将视频冻结一与包括伪像的帧相关联的时间段。相应地,可改善所感知的视频质量。按照另一例示,因伪像而被跳过的帧可被记入日志和/或可基于测量有多少帧包括伪像以及因错误隐藏而被冻结的帧的百分数的定性模型来生成报告。以下描述和附图详细阐明了所要求保护的主题的某些说明性方面。然而,这些方面仅指示了可采用该主题的原理的各种方法中的几种,且所要求保护的主题旨在包括所有这些方面及其等效方面。结合附图阅读下面的详细描述,则其它优点和新颖特征将变得显而易见。附图简述图1图解了提供并利用与实时视频通信的帧之间的依存性有关的信息的示例系统的框图。图2图解了根据各个方面的与实时视频通信联用的示例视频流成帧模式。图3图解了描绘包括I帧、B帧、P帧和SP帧的示例视频流模式的表。图4图解了管理实时视频帧的丢失的示例系统的框图。图5和6图解了是示例有效载荷头部。6图7图解了推断是否隐藏由帧丢失导致的实时视频伪像的示例系统的框图。图8图解了助益描述实时视频通信帧之间的依存性结构的是示例方法。图9图解了助益基于帧丢失隐藏伪像的示例方法。图10图解了其中可采用所要求保护的主题的新颖方面的示例联网环境。图11图解了根据所要求保护的主题可使用的示例操作环境。详细描述所要求保护的主题参考附图来描述,所有附图中使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对本发明的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其它情况下,以框图形式示出了公知的结构和设备以便于描述本发明。如在此使用的,术语"组件"、"系统"等旨在指计算机相关的实体,它们可以是硬件、软件(例如,执行中的)和/或固件。例如,组件可以是运行在处理器上的进程、处理器、对象、可执行码、程序、和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可驻留在一个进程内,且组件可位于一台计算机上和/或分布在两台或更多计算机之间。此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。在此使用的术语"制品"旨在涵盖可以从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD)……)、智能卡、以及闪存设备(例如,卡、棒、钥匙驱动器……)。另外应该明白,可以使用载波来承载计算机可读电子数据,例如那些用于发送和接收电子邮件或用于访问如因特网或局域网(LAN)等网络的数据。当然,本领域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。此外,在此使用词语"示例性"意指用作示例、实例或说明。在此被描述为"示例性"的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。现在转到附图,图1图解了提供并利用与实时视频通信的诸帧之间的依存性有关的信息的系统100。系统100包括发送组件102和接收组件104,这些组件可经由任何类型的连接传达(例如,与视频、音频、图像、文本、文档、...有关的)任何类型的数据。例如,发送组件102可编码视频数据并实时地(例如,利用实时传输协议(RTP))向接收组件104传送该视频数据;相应地,可传递视频帧的流。尽管描绘了一个发送组件102和一个接收组件104,但是应当领会,系统100可包括基本上任何数目个与发送组件102相类似的发送组件和/或任何数目个与接收组件104相类似的接收组件。此外,系统100可实现切换,以使得在不同时间发送组件102改变为接收组件和/或接收组件104转变为发送组件(例如,基于在特定时间与活跃说话者相关联的组件102-104的身份进行切换、手动切换、...)。发送组件102和/或接收组件104可以是个人计算机、蜂窝电话、智能电话、膝上型设备、手持式通信设备、手持式计算设备、游戏设备、个人数字助理(PDA)、专用电信会议系统、消费者产品、汽车、和/或任何其他合适设备。应当领会,系统IOO可采用任何类型的网络架构。因而,例如,发送组件102和接收组件104可采用对等架构在这两者之间传递数据(例如,发送组件102和接收组件104可以是通过点对点视频通信的网络连接直接彼此通信的端点)。根据另一例示,在发送组件102与接收组件104之间传递的数据可横穿包括不同组件(未示出)的网络(例如,可以是互连诸如发送组件102和接收组件104等若干端点并实现在其间路由数据的桥路的音频/视频多点控制单元(AVMCU))。按照一示例,多方电信会议可利用包括AVMCU的网络架构(例如,多方视频通信可采用系统IOO而不招致帧重计数和AVMCU服务器的依存性重算/重新填充)。发送组件102可包括帧标识组件106和帧依存性组件108。帧标识组件106可确定发送组件102要传送的帧的类型(例如,I帧、SP帧、P帧、B帧等,如以下在图2中描述的)。按照一示例,帧标识组件106可采用可(例如,基于帧的时间顺序、…)向帧分配类型的依存性结构。此外,帧标识组件106可向要传送的帧指派唯一性序号。因而,帧标识组件106可使得能够将唯一性序号(例如,帧计数)编码到包括在帧中的每个分组的有效载荷头部中。帧依存性组件108可评估由发送组件102传递的帧的依存性。依存性可以基于帧的类型;因而,帧依存性组件108可利用由帧标识组件108确定的帧的类型来解密此帧的依存性。帧依存性组件108还可利用依存性结构来评估帧的依存性。根据一示例,帧依存性组件108可使得能够将帧依存性信息(例如,参考帧号、...)编码到帧的每个分组的有效载荷头部中。通过采用帧标识组件106和帧依存性组件108,发送组件102可提供用于描述帧依存性结构的机制。此外,此帧依存性结构可被传达给接收组件104(例如,借助本文中所描述的协议)。相比之下,常规技术常常无法提供接收组件104藉由其可理解、解释、采用帧依存性结构等的方式。接收组件104还可包括依存性重构组件110、丢失评估组件112和伪像隐藏组件114。依存性重构组件110可评估被结合到所获得的帧(例如,有效载荷头部中)的数据,以重新装配多个帧之间的依存性结构。例如,与接收到的帧相关联的帧序号和参考帧号可允许依存性重构组件110分析帧之间的依存性。另外,丢失评估组件112可标识由发送组件102传递的缺失帧。根据一示例,丢失评估组件112可跟踪帧抵达、接收到的帧内的破坏等。作为另一例示,通过发送组件102的帧标识组件106包括在内的帧序号可被丢失评估组件112评估以确定每个帧是否已被成功地接收到。因而,丢失评估组件112可标识接收组件104己恰当地获得在发送组件102处指派的帧1、2和4,但是例如尚未接收到帧3(例如,来自帧3的一个或多个分组丢失、失序、被破坏、...)。此外,伪像隐藏组件114基于丢失帧的类型以及其在帧序列中的位置来分析丢失的帧的影响。此外,伪像隐藏组件114可实现冻结经再现的输出而非显示伪像;因此,遭破坏的帧可被隐藏、抛弃等,而非被有伪像地显示,因为视频伪像对感知质量(例如,心理视觉质量)有相当不利的影响。伪像隐藏组件114可利用由依存性重构组件110辨别的依存性结构和/或由丢失评估组件112标识的丢失帧来确定哪些帧可能因帧丢失而呈现伪像。此外,伪像隐藏组件114可藏匿被标识为包括伪像(若被显示)的帧。因而,伪像隐藏组件114可允许在延长的时间量内持续显示没有伪像的帧(例如,经由冻结经再现的显示)而非显示包括伪像的帧。通过利用从发送组件102传达的依存性结构,伪像隐藏组件114可确定要冻结视频的相应时间量;相比之下,常规技术无法标识帧丢失的影响范围。应当领会,发送组件102和/或接收组件104可包括相应接口组件(未示出)。接口组件可利用各种适配器、连接器、信道、通信路径等来实现其间的互连。现在参看图2,其图解了根据各个方面的与实时视频通信联用的示例视频流成帧模式200。可支持各种类型的帧以供进行视频编码。此外,图2中所例示的箭头表示每一帧(例如,参考帧)的依存性。例如,如成帧模式200中所示的,帧可以是帧内帧(I帧)、预测帧(P帧)、双向预测帧(B帧)或超预测帧(SP帧)。成帧模式200是作为示例给出的,并且应当领会,所要求保护的主题不限于此(例如,可在I帧之间包括任何数目个帧、可采用附加或更少的帧类型、可利用不同的依存性、...)。I帧是不依存于任何其他帧的独立帧。I帧被静态地编码、具有相当量的细节和内容(例如,与其他类型的帧相比),并且相比于其他类型的帧通常具有更大的大小。SP帧包括基于与前一I帧或SP帧的比较的经编码差分信息(例如,△);因而,如成帧模式200中所示的,特定SP帧依赖于前一I帧或者依赖于恰好最接近该特定SP的前一SP帧(例如,SP5参考11、SP9参考SP5、…)。可基于所指派的序号(例如,帧计数)来评估接近度。P帧包括基于与前一I帧、SP帧或P帧的比较的经编码差分信息(例如,△)。此外,B帧包括基于与前一I帧、SP帧或P帧以及后一P帧或SP帧的双向比较的经编码差分信息(例如,△)。因此,B帧参考两个不同的帧。I帧始于画面组(GOP),画面组持续直至后一I帧。可以构想,GOP可包括任何数目个帧(例如,约150、...)。GOP中仅I帧是与GOP中的其他帧独立的;例如,II和I13不参考任何其他帧。此外,其余帧(例如,SP帧、P帧、B帧、...)依赖于其他帧,以使得可编码A而不是编码完整的数据。此外,每个GOP独立于不同的GOP。成帧模式200中的每个帧可包括1至N个分组,其中N基本上可以是任何整数。此外,分组的数目可以是帧的大小(例如,其可以基于视频的内容)的函数。任何分组的丢失(例如,由图1中的丢失评估组件112所确定的)可导致整个帧将被丢弃。此外,帧丢失的影响依赖于丢失的帧的类型和位置。具体而言,参考丢失帧的帧将包括伪像。因而,如果I帧丢失,则当前GOP中的所有后继帧将具有伪像;仅下一I帧才将提供校正。根据另一示例,如果SP帧丢失,则此SP帧之后的所有帧将具有伪像,直至当前GOP结束(例如,下一I帧将校正SP帧的丢失)。按照另一例示,如果P帧丢失,则下一SP帧或I帧(其常常恰好很快就将发生)之前的所有帧将展现伪像。此外,B帧仅导致一个帧的丢失(例如,B帧自身,因为没有其他类型的帧参考B帧);因而,此类丢失的影响不会传播或不会导致伪像。现在转到图3,其图解了描绘包括I帧、B帧、P帧和SP帧的示例视频流模式的表300。表300可提供依存性结构的全局视图。可构想,表300可对应于图2的视频流成帧模式200。此外,应当领会,表300被提供以例示诸帧之间的依存性,并且所要求保护的主题不限于此类示例。表300的行1包括按时间顺序从视频捕捉设备获得的帧序列。表的行2示出了至编码器的输入;编码器输入可基本上类似于从视频捕捉设备获得的帧序列。行3例示了由编码器对每个帧实行的编码的内部视图。具体而言,每个帧基于其在时间顺序上的位置与一类型(例如,I帧、B帧、P帧、SP帧、...)相关联。行4示出了来自编码器的输出。例如,B2帧可在P3帧之后被输出。而且,编码器可发送两个P帧(例如,P3和P5),继之以依赖于此类P帧的B帧(例如,B4),这些帧在接收侧可被重排序为P帧(P3)-B帧(例如,B4)-P帧(例如,P5)。然而,应当领会,所要求保护的主题不限于这种在线路上发送的经编码帧的排序方式。行5图解了指派给如行4中所示从编码器输出的每--帧的序号(例如,帧计数)。例如,行5中的序号可由图1的帧标识组件106来分派。行6和7图解了行4中的每个输出帧的参考帧号。参考帧号与每个特定帧所依赖的帧在行4中被指派的序号有关。这些参考号可由图1的帧依存性组件108来产生。此外,每个B帧可与两个参考号相关联,而SP帧和P帧可各自与一个参考号相关联;而且,由于I帧是独立的,因此其参考号可指向其自身。行8示出了解码器输入帧。此外,行9描绘了解码器输出帧;例如,B2和P3可被重排序作为来自解码器的输出的部分。参看图4,其图解了管理实时视频帧的丢失的系统400。系统400包括可彼此通信的发送组件102和接收组件04。发送组件102还可包括帧标识组件106和/或帧依存性组件108。而且,接收组件104可包括依存性重构组件110、丢失评估组件112和/或伪像隐藏组件114。发送组件102可附加地包括数据捕捉组件402、编码器404、和反馈组件406。数据捕捉组件402可获得诸如视频、图像、声音、文本等外部数据。根据一示例,数据捕捉组件402可以是相机(例如,视频相机)、话筒、其组合等。此外,数据捕捉组件402可收集帧序列(例如,视频帧)。此外,可构想,数据捕捉组件402可使得能够从存储器检索先前获得的数据以便传递给接收组件402。编码器404可编码由数据捕捉组件402收集的信号(例如,视频帧)以便传送给接收组件104。按照一例示,编码器404可压縮所收集的数据。作为此示例的补充,编码器404可独立地压縮帧的子集(例如,I帧)以及基于与参考帧的A(例如,根据依存性结构)压縮其余帧。此外,编码器404可采用多层依存性。作为补充或替代,编码器404可加密视频帧、添加冗余度等。根据另一示例,编码器404可从发送给接收组件104的流中移除一个或多个帧类型(例如,可移除B帧、可移除B帧和P帧、...);还可构想,接收组件104可放弃处理一个或多个帧类型,AVMCU可暂停对一个或多个帧类型的路由等。如所描绘的,编码器404可包括帧标识组件106和帧依存性组件108;然而,可构想,帧标识组件106和/或帧依存性组件108可与编码器404分开。帧标识组件106可使得编码器404能够向每个帧指派一类型(例如,I帧、B帧、P帧、SP帧、...);类型指派可以基于依存性结构。而且,帧标识组件106可向每个帧分配帧序号(例如,帧计数)。例如,由编码器404输出的每个帧可被指派一帧计数,该帧计数是从先前刚输出的帧的帧计数递增1得到的。此外,由编码器404输出的帧的帧计数和相应类型可被保留在与发送组件102相关联的数据存储(未示出)中。所存储的过去帧的帧计数和类型可被帧依存性组件08用来计算由编码器404产牛的毎个输出帧的参考帧号。数据存储可以是例如易失性存储器或非易失性存储器,或者可包括易失性存储器和非易失性存储器两者。作为说明而非限制,非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非限制,RAM具有多种形式可用,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。本发明的系统和方法的数据存储旨在包括但不限于这些以及任何其它适当类型的存储器。此外,可以领会,数据存储可以是服务器、数据库、硬驱动器等等。编码器404例如可为每个帧生成N个分组,并且这N个分组可从发送组件102递送到接收组件104。由编码器404产生的每个分组可包括有效载荷头部(如以下在图5和6中描述的)和有效载荷。有效载荷头部可包括与依存性结构有关的信息。此外,有效载荷可包括与分组相对应的帧的至少一部分内容。反馈组件406可从接收组件104(和/或数据所横穿的网络中的任何不同的组件(未示出))获得性能报告、信道带宽分析、重传请求等。此外,反馈组件406可基于收到的反馈实行对编码器404的输出的修改。接收组件104可附加地包括再现组件408、解码器410、性能跟踪组件412和重传请求组件414。再现组件408可基于收到的数据生成输出。作为示例,再现组件408可以是可于其上呈现由接收组件104获得的实时视频的显示器。可构想,再现组件408可响应于由接收组件104获得的数据生成任何类型的输出(例如,听觉、视觉、物理运动、...)。根据另一示例,再现组件408可使得能够将所生成的输出存储在与接收组件104相关联的数据存储(未示出)中。解码器410可包括如图所示的依存性重构组件110、丢失评估组件112和/或伪像隐藏组件114;然而,可构想,这些组件110-114中的一个或多个可与解码器410分开。解码器410可逆转由编码器404实行的编码。例如,解码器410可获得与每个帧相对应的分组,并处理这些分组以产生可被提供给再现组13件408的输出。解码器410可使得能够再现不具有伪像的帧,同时抑制再现具有伪像的帧。此外,解码器410(和/或依存性重构组件110和/或丢失评估组件112)可生成帧依存性表,该表被用于跟踪帧是否成功抵达以及是否能被成功解码。以下提供了此类帧依存性表的示例。<table>tableseeoriginaldocumentpage14</column></row><table>如图所示,帧成功抵达(例如,如由丢失评估组件U2所确定的),则表中的相应槽隙可被标记为抵达=真("1")。如果帧没有抵达,则相应槽隙可被设为抵达=假("0"),解码=假("0")。此外,如果特定帧的参考帧(例如,如由依存性重构组件IIO所确定的)可被成功解码,则该特定帧也可被成功解码,并且相应槽隙可被标记为解码=真("1")。此外,如果特定帧的参考帧的解码值=假("0"),则该特定帧的解码值也为假。此后,伪像隐藏组件114可使得能够确定哪些帧将展现伪像,并由此可标识何时冻结和/或解冻在再现组件408上显示的输出。然而,应当领会,所要求保护的主题不限于利用本文中所描述的帧依存性表。接收组件104还可包括性能跟踪组件412,性能跟踪组件412将因伪像而被跳过的帧记入日志和/或报告这些帧,其可以是归因于伪像和/或帧丢失的视频质量降级的指示符。性能跟踪组件412可基于定性模型产生报告,该定性模型测量有多少帧包括伪像、因差错隐藏(例如,被伪像隐藏组件114隐藏)而被冻结的视频的百分数等。性能跟踪组件412可准确地测量归因于帧丢失的视频质量降级,其中帧丢失可能是由网络分组丢失、速率匹配等造成的。根据一示例,性能跟踪组件412可利用帧依存性表来生成报告。此外,性能跟踪组件412可向发送组件102的反馈组件406传送报告(例如,以实行对编码器404的操作的修改、...)、将该报告保存在与接收组件104相关联的数据存储中等。此外,接收组件104可包括重传请求组件414,该重传请求组件414针对要递送给接收组件104的新I帧(和/或在丢失P帧的情况下的I帧或SP帧)向发送组件102(例如,反馈组件406、...)传送请求。例如,如果重传请求组件414(和/或解码器410)注意到比阈值时间量更大的时间量内具有伪像(例如,l秒),则可发送对新帧的请求。根据另一例示,当检测到丢失I帧、SP帧或P帧时,重传请求414可发送请求。例如,反馈组件406可处理该请求,并且在一个往返时间(RTT)内,新的I或SP帧可抵达接收组件404以校正视频伪像。另外,尽管没有描绘,但是可构想,发送组件102和/或接收组件104可包括开关组件,该开关组件实现激活和去激活对本文中所描述的帧依存性机制的使用。例如,开关组件可实现开启或关闭帧依存性机制,同时缓解发送组件102与接收组件104之间的互操作性问题。现在转到图5和6,其所图解的是示例有效载荷头部500和600。(例如,在发送组件102与接收组件104之间)传达的每个分组可包括有效载荷头部500和600中的一者。此外,图5的有效载荷头部500可与I帧、P帧或SP帧联用,而图6的有效载荷头部600可被用于B帧。有效载荷头部500和600连同包括帧内容的有效载荷是实时视频分组的部分。有效载荷头部500和600各自包括与相应帧相关联的帧计数(以及高帧计数(H-FC))以及参考帧号(例如,有效载荷头部500包括一个参考帧号,而有效载荷头部600可包括两个参考帧号)(以及高参考帧号(H-RF))。在用于B帧的有效载荷头部600中,参考帧号字段可被拆分成下一参考帧号和前一参考帧号。另外,有效载荷头部500和600可包括以下F可以是第一分组;H可以是存在序列头部;K可以是关键帧;O可以固定为l;L;S可以是SP帧;C可以是高速缓存的帧;M可以是模式。有效载荷头部500和600可将模式设为1。另外,构想了通过将扩展部分中的模式比特(例示为等于0)设为等于1以获得另外的4字节来进一步扩展分组化头部。转到图7,其图解的是推断是否隐藏由帧丢失导致的实时视频伪像的系统700。系统700可包括实时通信组件702,该实时通信组件702可基本上类似于如以上所描述的发送组件102或接收组件104。实时通信组件702还可包括智能组件704和/或呈现组件706。智能组件704可被实时通信组件702用来推理是否冻结或解冻经再现的视频输出。此外,智能组件704可评估与实时通信组15件702相关联的文本、状态、状况等以推断伪像是否存在、是否隐藏伪像、是否请求重传帧、帧之间的依存性等。可以理解,智能组件704能够从通过事件和/或数据捕捉到的观察集推理出或推断系统、环境和/或用户的状态。例如,推断可用于标识特定的上下文或动作,或可生成状态的概率分布。推断可以是概率性的,即,基于数据和事件的考虑计算感兴趣的状态上的概率分布。推断也可以指用于从一组事件和/或数据组成更高级事件的技术。这类推断导致从一组观察到的事件和/或存储的事件数据中构造新的事件或动作,而无论事件是否在相邻时间上相关,也无论事件和数据是来自一个还是若干个事件和数据源。可采用各种分类(显式和/或隐式训练的)方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引擎...)来执行关于所要求保护的主题的自动化和/或推断的动作。分类器是将输入属性矢量x=(xl,x2,x3,x4,x")映射到该输入属于的一个类的置信度的函数,即/^=置信^t萄。这种分类可釆用基于概率和/或基于统计的分析(例如,分解成分析效用和成本)来预测或推断用户期望自动执行的动作。支持向量机(SVM)是可采用的分类器的一个示例。SVM通过找出可能输入空间中的超曲面来操作,其中,超曲面试图将触发准别从非触发事件中分离出来。直观上,这使得分类对于接近但不等同于训练数据的测试数据是正确的。可采用其它定向和非定向模型分类方法,包括,例如,朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型以及提供不同独立性模式的概率分类模型。此处所使用的分类也包括用于开发优先级模型的统计回归。呈现组件706可提供各种类型的用户界面以便于用户与耦合到实时通信组件702的任何组件之间的交互。如所描绘的,呈现组件706被结合到实时通信组件702中。然而,可以理解,呈现组件706和/或类似的查看组件可与实时通信组件702和/或独立单元分开。呈现组件706可提供--个或多个图形用户界面(GUI)、命令行界面等等。例如,可以再现向用户提供用于对数据进行加载、导入、读取等的区域或手段的GUI,并且该GUI可包括用于呈现这些动作的结果的区域。这些区域可包括己知的文本和/或图形区域,包括对话框、静态控件、下拉菜单、列表框、弹出菜单、编辑控件、组合框、单选按钮、复选框、按钮以及图形框。另外,可采用便于呈现用于导航的此类垂直和/或水平滚动条以及用于确定一区域是否将可视的工具栏按钮的实用程序。例如,用户可以与耦合到实时通信组件702的一个或多个组件交互。用户还可例如经由诸如鼠标、滚球、键区、键盘、笔和/或语音激活等各种设备来与这些区域交互以便选择和提供信息。通常,诸如键盘上的按钮或回车键等机制可在输入了信息之后采用以启动搜索。然而,可以理解,所要求保护的主题不限于此。例如,仅仅加亮一复选框就可启动信息传达。在另一示例中,可釆用命令行界面。例如,命令行界面可以提示(例如,经由显示器上的文本消息和音频声调)用户通过提供文本消息来输入信息。用户然后可提供适当的信息,诸如对应于在该界面提示中提供的选项的字母数字输入或对提示中所提出的问题的回答。可以理解,命令行界面可以与GUI和/或API结合使用。另外,命令行界面可以结合具有有限图形支持和/或低带宽通信信道的硬件(例如,视频卡)和/或显示器(例如,黑白和EGA)来使用。图8-9示出了根据所要求保护的主题的方法。为解释简明起见,该方法被描绘和描述为一系列动作。可以明白和理解,本发明不受所示的动作和/或动作次序的限制,例如,动作可按各种次序和/或并发地发生,并且可以与此处未呈现和描述的其它动作一起发生。此外,并非所有示出的动作都是实现根据所要求保护的主题的方法所必需的。另外,本领域的技术人员可以理解和明白,方法可经由状态图或事件替代地被表示为一系列互相关状态。转到图8,其图解的是助益描述实时视频通信帧之间的依存性结构的方法800。在802,可标识正被编码以供传输的帧的类型。例如,帧可以是I帧、B帧、P帧、SP帧等。此外,类型可以基于已知依存性结构。在804,可向帧指派序号。另外,该帧以及先前被编码的帧的序号可被保存(例如,保存在存储器中)。在806,可至少部分地基于类型来确定帧所依赖的至少一个参考帧。此外,依存性结构可指定每个帧类型的依存性。在808,可传送包括帧的序号以及与至少一个参考帧相对应的至少一个参考帧号的分组。例如,帧可包括任何数目个分组,并且每个分组可包括序号和至少一个参考帧号。此外,每个分组可包括有效载荷头部和有效载荷;有效载荷头部可包括序号和至少一个参考帧号,而有效载荷可包括帧内容。现在参看图9,其图解了助益基于帧丢失隐藏伪像的方法900。在902,可针对实时视频通信跟踪帧丢失。例如,接收到的帧的分组可各自包括唯一性的因帧而异的序号;因此,尚未被成功接收的帧(例如,因分组丢失、失序分组、...)可基于序号来标识。在卯4,可基于先前帧丢失和接收到的依存性信息来标识帧是否具有伪像。按照一例示,依存性信息(该帧所依赖的帧)可连同与帧相对应的收到分组一起被包括。在906,当帧具有伪像时,可隐藏该帧。相应地,可抑制对伪像的解码和/或可将视频冻结一与具有伪像的帧相关联的时间段(而非再现具有伪像的视频)。此外,可跟踪被隐藏的帧以产生报告,该报告可被传达给编码器。此外,当具有伪像的帧的数目超过预定阈值时,可向编码器传送重发I帧(和/或SP帧)的请求。为了提供用于实现所要求保护的主题的各方面的附加上下文,图10-11及以下讨论旨在提供对其中可实现本发明的各方面的合适的计算环境的简要概括描述。例如,图10-11阐述了合适的计算环境,该环境可结合生成文本数据/或输出诸如适用于与实时会议相关联的限定标题的数据来使用。尽管上文已经在运行在本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般上下文中描述了所要求保护的主题,然而本领域中的技术人员将认识到,本发明也可以结合其它程序模块来实现。一般而言,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型计算机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的和/或可编程消费电子产品等,其每一个都可操作上与一个或多个相关联的设备通信。所示的所要求保护的主题的各方面也可在其中某些任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。然而,本发明的一些方面(如果不是全部方面)可以在独立计算机上实施。在分布式计算环境中,程序模块可以位于本地和/或远程存储器存储设备中。图IO是所要求保护的主题可以与之交互的示例性计算环境1000的示意性框图。系统1000包括一个或多个客户机1010。客户机1010可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1000还包括一个或多个服务器181020。服务器1020可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1020可以容纳各线程以通过例如利用本发明执行转换。在客户机IOIO和服务器1020之间的一种可能的通信能够以适合在两个或多个计算机进程之间传输的数据分组的形式进行。系统1000包括可以用来使客户机1010和服务器1020之间通信更容易的通信框架1040。客户机1010可在操作上连接到一个或多个可以用来存储对客户机1010本地的信息的客户机数据存储1050。同样地,服务器1020可在操作上连接到一个或多个可以用来存储对服务器1020本地的信息的服务器数据存储1030。参考图11,用来实现所要求保护的主题的各个方面的示例性环境IIOO包括计算机1112。计算机1112包括处理单元1114、系统存储器1116和系统总线U18。系统总线1118将包括但不限于系统存储器1116的系统组件耦合到处理单元1114。处理单元1114可以是各种可用处理器中的任一种。双微处理器和其它多处理器体系结构也可用作处理单元1114。系统总线1118可以是几种类型的总线结构中的任意一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或利用下述可用总线体系结构中的任意一种的局部总线,其包括但不限于,工业标准体系结构(ISA)、微通道体系结构(MSA)、扩展型ISA(EISA)、智能驱动器电子(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际联合会总线(PCMCIA)、火线(IEEE1394)、以及小型计算机系统接口(SCSI)。系统存储器1116包括易失性存储器1120和非易失性存储器1122。基本输入/输出系统(BIOS)包含诸如在启动期间在计算机1112的元件之间传送信息的基本例程,其存储在非易失性存储器1122中。作为说明而非限制,非易失性存储器1122可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、或者闪存。易失性存储器1120包括用作外部高速缓存存储器的随机存取存储器(RAM)。作为说明而非限制,RAM具有多种形式可用,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。计算机1112还包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图11示出了盘存储1124。盘存储1124包括但不限于诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或者记忆棒之类的设备。此外,盘存储1124可以包括独立的或者与其它存储介质结合的存储介质,其它存储介质包括但不限于诸如紧致盘ROM设备(CD-ROM)、可记录CD驱动器(CD-R驱动器)、可重写CD驱动器(CD-RW驱动器)或者数字多功能盘ROM驱动器(DVD-ROM)这样的光盘驱动器。为了便于将盘存储设备1124连接到系统总线1118,通常使用诸如接口1126等可移动或不可移动接口。应该明白,图11描述了担当用户与在合适的操作环境1100中描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统1128。可被存储在盘存储1124上的操作系统1128用于控制并分配计算机系统1112的资源。系统应用程序1130通过存储在系统存储器1116或盘存储1124上的程序模块1132和程序数据1134来利用操作系统1128对资源的管理。应该明白,所要求保护的主题可以用各种操作系统或操作系统的组合来实现。用户通过输入设备1136将命令或信息输入到计算机1112中。输入设备1136包括但不限于诸如鼠标、跟踪球、指示笔、触摸垫等定点设备、键盘、话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像头等等。这些以及其它输入设备通过系统总线1118经由接口端口1138连至处理单元1114。接口端口1138包括,例如串行端口、并行端口、游戏端口、以及通用串行总线(USB)。输出设备1140利用与输入设备1136相同类型的某些端口。因此,例如,USB端口可以用来向计算机1112提供输入,以及将来自计算机112的信息输出到输出设备1140。提供输出适配器1142是为了说明除了输出设备1140之外还有一些像监视器、扬声器、以及打印机这样的需要专用适配器的输出设备1140。输出适配器1142包括,作为说明而非局限,提供输出设备1140和系统总线1118之间的连接手段的显卡和声卡。应该注意到,其它设备和/或设备系统提供了输入和输出能力两者,诸如远程计算机1144。计算机1112可以使用至诸如远程计算机1144等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机1144可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或者其它常见的网络节点等,且通常包括相对于计算机1112所描述的多个或者全部元件。为了简明起见,对远程计算机1144仅示出了存储器存储设备1146。远程计算机1144经由网络接口1148被逻辑地连接到计算机1112,然后经由通信连接1150物理地连接。网络接口1148包括诸如局域网(LAN)和广域网(WAN)这样的有线和/或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括但不限于,点对点链路、诸如综合业务数字网(ISDN)及其各种变体等电路交换网、分组交换网、以及数字用户线(DSL)。通信连接1150指的是用于将网络接口1148连接到总线1118的硬件/软件。虽然为了清楚地举例说明,通信连接1150被示为在计算机1112的内部,但其也可以在计算机1U2的外部。仅出于示例的目的,连接到网络接口1148所需要的硬件/软件包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器以及DSL调制解调器等调制解调器,ISDN适配器,和以太网卡。在上面所描述的包括本发明的示例。当然,不可能为了描述所要求保护的主题而描述组件或方法的每一个可以想到的组合,但本领域中的普通技术人员应该认识到,本发明的许多进一步的组合和排列都是可能的。因此,所要求保护的主题旨在涵盖所有这些落入所附权利要求书的精神和范围中的改变、修改和变动。特别地,对于由上述组件、设备、电路、系统等执行的各种功能,除非另外指明,否则用于描述这些组件的术语(包括对"装置"的引用)旨在对应于执行所描述的执行此处在所要求保护的主题的示例性方面中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。在这一点上,也可认识到本发明包括用于执行所要求保护的主题的各种方法的动作和/或事件的系统以及具有用于执行这些动作和/或事件的计算机可执行指令的计算机可读介质。21另外,尽管可相对于若干实现中的仅一个来公开本发明的一个特定特征,但是这一特征可以如对任何给定或特定应用所需且有利地与其它实现的一个或多个其它特征相组合。此外,就在说明书或权利要求书中使用术语"包括"和"含有"及其变体而言,这些术语旨在以与术语"包含"相似的方式为包含性的。权利要求1.一种利用与实时视频通信的帧之间的依存性有关的信息的系统,包括依存性重构组件(110),其评估结合到多个所获得的帧中的依存性数据以重新装配所述多个所获得的帧之间的依存性结构;丢失评估组件(112),其基于结合到所述多个所获得的帧中的唯一性的因帧而异的序号来标识丢失帧;以及伪像隐藏组件(114),其基于所述依存性结构和所述所标识的丢失帧来抑制再现具有伪像的特定帧。2.如权利要求1所述的系统,其特征在于,还包括传递所述多个所获得的帧中的每一个的发送组件。3.如权利要求2所述的系统,其特征在于,所述发送组件还包括帧标识组件,其基于所述依存性结构向帧指派类型和因帧而异的序号;以及帧依存性组件,其使得能够基于所述类型和因帧而异的序号将依存性数据嵌入到所述帧中。4.如权利要求3所述的系统,其特征在于,所述发送组件还包括反馈组件,所述反馈组件基于所收到的性能报告、信道带宽分析、或重传请求来改变编码器的操作。5.如权利要求2所述的系统,其特征在于,所述发送组件经由点对点视频通信环境或包括音频/视频多点控制单元(AVMCU)的多方视频通信环境来传递所述多个所获得的帧中的每一个。6.如权利要求1所述的系统,其特征在于,所述依存性结构与多个帧类型中的每一个有关。7.如权利要求6所述的系统,其特征在于,所述多个帧类型包括帧内帧(I帧)、预测帧(P帧)、双向预测帧(B帧)、和超预测帧(SP帧)。8.如权利要求1所述的系统,其特征在于,还包括性能跟踪组件,所述性能跟踪组件将所跳过的由所述伪像隐藏组件确定为包括伪像的帧记入日志并报告所跳过的帧。9.如权利要求1所述的系统,其特征在于,还包括传送对重发新I帧的请求的重传请求组件。10.如权利要求l所述的系统,其特征在于,所述多个所获得的帧中的每一个包括多个分组,并且所述多个分组中的每一个包括有效载荷头部,所述有效载荷头部包括所述唯一性的因帧而异的序号和与所述帧有关的至少一个参考帧号。11.如权利要求l所述的系统,其特征在于,还包括开关组件,所述开关组件激活和去激活帧依存性机制,同时缓解发送组件与接收组件之间的的互操作性问题。12.如权利要求l所述的系统,其特征在于,所述伪像隐藏组件使得能够再现没有伪像的帧。13.如权利要求l所述的系统,其特征在于,还包括解码器,其解码所述多个所获得的帧;以及再现器组件,其再现所述经解码的多个所获得的帧以显示实时视频。14.一种助益描述实时视频通信帧之间的依存性结构的方法,包括标识正被编码以供传输的帧的类型;向所述帧指派序号;至少部分地基于所述类型确定所述帧所依赖的至少一个参考帧;以及传送包括所述帧的所述序号以及与所述至少一个参考帧相对应的至少一个参考帧号的分组。15.如权利要求14所述的方法,其特征在于,基于已知依存性结构来标识所述帧的所述类型。16.如权利要求14所述的方法,其特征在于,所述分组是与所述帧相对应的N个分组中的一个,其中N为整数。17.如权利要求14所述的方法,其特征在于,还包括接收基于测量有多少帧包括伪像的定性模型的报告。18.如权利要求14所述的方法,其特征在于,还包括接收对重传I帧的请求;以及基于所述请求重传所述I帧。19.一种助益基于帧丢失隐藏伪像的系统,包括用于跟踪实时视频通信的帧丢失的装置(112);用于基于先前的帧丢失和接收到的依存性信息标识帧是否具有伪像的装置(410);以及用于在所述帧具有伪像时隐藏所述帧的装置(l14)。20.如权利要求19所述的系统,其特征在于,还包括用于测量因网络分组丢失或速率匹配所导致的帧丢失而造成的视频质量降级。全文摘要所要求保护的主题提供了助益结合实时视频通信来描述、传达、利用帧依存性结构等的系统和/或方法。例如,可采用协议来从发送方向接收方传达依存性结构。此外,接收方侧上的机制可检测将因先前的帧丢失而被有伪像地再现(若被显示)的帧;此机制可利用接收方侧关于帧的依存性结构的知识。文档编号H04N7/15GK101690204SQ200880021270公开日2010年3月31日申请日期2008年5月24日优先权日2007年6月20日发明者J·裘,R·J·克林恩,T·M·穆尔,Z·Z·袁申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1