一种通信方法和通信系统转让专利

申请号 : CN201010119141.7

文献号 : CN101867692B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 詹姆士·D·贝内特吉汉·卡若古

申请人 : 美国博通公司

摘要 :

本发明涉及一种通信方法和通信系统。由媒体播放器接收和处理来自视频帧序列的视频帧以及对应的音频。与序列的第二部分相比,序列的第一部分依赖较少的参考帧。每一帧的参考帧数量是有限制的。对序列的第一部分和第二部分区别对待。与第二部分相比,以较低的数据率、较高的安全性接收并以较稳健的协议栈处理第一部分。以单一队列和/或分别的队列存储所述第一部分和第二部分。使用帧数据的第一部分通过重复和/或插补视频帧来来补偿丢失帧。媒体播放器构建本地视频帧并将其与相应的音频内容同步。按照显示顺序集合和解码所接收的已重复和/或插补的视频帧。

权利要求 :

1.一种通信方法,其特征在于,包括:

在媒体播放器中接收来自于媒体源的视频帧序列以及相应的音频内容;

通过第一协议栈处理所述视频帧序列的第一部分,以及通过第二协议栈处理所述视频帧序列的第二部分;以及从所述已处理的所述视频帧序列的第一部分和所述视频帧序列的第二部分中生成本地视频帧序列;

所述方法进一步包括:

在所述媒体播放器中,与所述视频帧序列的第二部分相比,对所述视频帧序列的第一部分应用更稳健的处理;

与所述视频帧序列的第二部分相比,以更高安全级别接收所述视频帧序列的第一部分;

以比所述视频帧序列的第一部分更大的数据率接收所述视频帧序列的第二部分;

基于所述接收的所述视频帧序列的第一部分生成重复和/或插补视频帧,以补偿所述视频帧序列的第二部分的丢失视频帧;

使用所述生成的重复视频帧和/或插补视频帧将所述相应的音频内容同步;

当对所述视频帧序列中的视频帧进行编码时,所述媒体源限制所述视频帧序列中的视频帧的依赖数量;

所述视频帧序列的第一部分包含的视频帧具有的参考帧依赖数量比所述视频帧序列的第二部分少。

2.根据权利要求1所述的通信方法,其特征在于,所述方法进一步包括将所述视频帧序列的第二部分和所述视频帧序列的第一部分分别存储在所述媒体播放器内的不同队列中。

3.根据权利要求1所述的通信方法,其特征在于,所述方法进一步包括将所述视频帧序列的第二部分和所述视频帧序列的第一部分存储在所述媒体播放器内的一个队列中。

4.一种通信系统,其特征在于,所述系统包括:

用在媒体播放器中的一个或多个电路,所述一个或多个电路用于接收来自于媒体源的视频帧序列以及相应的音频内容;

所述一个或多个电路用于通过第一协议栈处理所述视频帧序列的第一部分,以及通过第二协议栈处理所述视频帧序列的第二部分;以及所述一个或多个电路用于从所述已处理的所述视频帧序列的第一部分和所述视频帧序列的第二部分中生成本地视频帧序列;

所述一个或多个电路用于还用于:在所述媒体播放器中,与所述视频帧序列的第二部分相比,对所述视频帧序列的第一部分应用更稳健的处理;与所述视频帧序列的第二部分相比,以更高安全级别接收所述视频帧序列的第一部分;以比所述视频帧序列的第一部分更大的数据率接收所述视频帧序列的第二部分;

其中,当对所述视频帧序列中的视频帧进行编码时,所述媒体源限制所述视频帧序列中的视频帧的依赖数量;

所述视频帧序列的第一部分包含的视频帧具有的参考帧依赖数量比所述视频帧序列的第二部分少。

说明书 :

一种通信方法和通信系统

技术领域

[0001] 本发明涉及通信系统,更具体地说,涉及一种在媒体播放器中从借助于多个不同协议栈路径接收的数据中构建视频帧及同步音频数据的方法和系统。

背景技术

[0002] 对于多数人而言,多媒体通信技术已成为日常生活的一部分。多媒体技术可在许多流行便携设备或固定设备上找到,例如移动电话、数字手持音频和/或视频回放设备、膝上型电脑、个人电脑、电视、投影仪、摄像机和照相机显示器、电子游戏、机顶盒、医疗及科学设备、家用或商业娱乐中心。由于通信技术的低成本以及人们对更高级多媒体系统日益增长的用户需求,多媒体通信和回放设备在市场上变得更加流行。
[0003] 比较本发明后续将要结合附图介绍的系统,现有技术的其它缺陷和弊端对于本领域的技术人员来说是显而易见的。

发明内容

[0004] 本发明提出一种在媒体播放器中从借助于多个不同协议栈路径接收的数据中构建视频帧及同步音频数据的方法和系统。下面将结合至少一幅附图来充分展示和/或说明,并且将在权利要求中进行完整的阐述。
[0005] 根据本发明的一方面,提出一种通信方法,包括:
[0006] 在媒体播放器中接收来自于媒体源的视频帧序列以及相应的音频内容;
[0007] 通过第一协议栈处理所述视频帧序列的第一部分,以及通过第二协议栈处理所述视频帧序列的第二部分;以及
[0008] 从所述已处理的所述视频帧序列的第一部分和所述视频帧序列的第二部分中生成本地视频帧序列。
[0009] 作为优选,所述方法进一步包括在所述媒体播放器中,与所述视频帧序列的第二部分相比,对所述视频帧序列的第一部分应用更稳健(robust)的处理。
[0010] 作为优选,所述方法进一步包括与所述视频帧序列的第二部分相比,以更高安全级别接收所述视频帧序列的第一部分。
[0011] 作为优选,所述方法进一步包括将所述视频帧序列的第二部分和所述视频帧序列的第一部分分别存储在所述媒体播放器内的不同队列中。
[0012] 作为优选,所述方法进一步包括将所述视频帧序列的第二部分和所述视频帧序列的第一部分存储在所述媒体播放器内的一个队列中。
[0013] 作为优选,所述方法进一步包括基于所述接收的所述视频帧序列的第一部分生成重复和/或插补视频帧,以补偿所述视频帧序列的第二部分的丢失视频帧。
[0014] 作为优选,所述方法进一步包括使用所述生成的重复视频帧和/或插补视频帧将所述相应的音频内容同步。
[0015] 作为优选,所述方法进一步包括按照显示顺序集合所述重复视频帧、所述插补视频帧和/或所述接收的视频帧序列。
[0016] 作为优选,所述方法进一步包括对所述重复视频帧、所述插补视频帧和/或所述接收的视频帧序列进行解码。
[0017] 作为优选,所述方法进一步包括将所述已生成的本地视频帧序列与所述相应的音频内容同步。
[0018] 作为优选,所述方法进一步包括对所述相应的音频内容进行音调偏移(tone shifting)。
[0019] 作为优选,所述方法进一步包括以比所述视频帧序列的第一部分更大的数据率接收所述视频帧序列的第二部分。
[0020] 作为优选,当对所述视频帧序列中的视频帧进行编码时,所述媒体源限制所述视频帧序列中的视频帧的依赖数量。
[0021] 作为优选,所述视频帧序列的第一部分包含的视频帧具有的参考帧依赖数量比所述视频帧序列的第二部分少。
[0022] 根据本发明的再一方面,提出一种通信系统,包括:
[0023] 用在媒体播放器中的一个或多个电路,所述一个或多个电路用于接收来自于媒体源的视频帧序列以及相应的音频内容;
[0024] 所述一个或多个电路用于通过第一协议栈处理所述视频帧序列的第一部分,以及通过第二协议栈处理所述视频帧序列的第二部分;以及
[0025] 所述一个或多个电路用于从所述已处理的所述视频帧序列的第一部分和所述视频帧序列的第二部分中生成本地视频帧序列。
[0026] 作为优选,所述一个或多个电路用于在所述媒体播放器中,与所述视频帧序列的第二部分相比,对所述视频帧序列的第一部分应用更稳健(robust)的处理。
[0027] 作为优选,所述一个或多个电路用于,与所述视频帧序列的第二部分相比,以更高安全级别接收所述视频帧序列的第一部分。
[0028] 作为优选,所述一个或多个电路用于将所述视频帧序列的第二部分和所述视频帧序列的第一部分分别存储在所述媒体播放器内的不同队列中。
[0029] 作为优选,所述一个或多个电路用于将所述视频帧序列的第二部分和所述视频帧序列的第一部分存储在所述媒体播放器内的一个队列中。
[0030] 作为优选,所述一个或多个电路用于基于所述接收的所述视频帧序列的第一部分生成重复和/或插补视频帧,以补偿所述视频帧序列的第二部分的丢失视频帧。
[0031] 作为优选,所述一个或多个电路用于使用所述生成的重复视频帧和/或插补视频帧将所述相应的音频内容同步。
[0032] 作为优选,所述一个或多个电路用于按照显示顺序集合所述重复视频帧、所述插补视频帧和/或所述接收的视频帧序列。
[0033] 作为优选,所述一个或多个电路用于对所述重复视频帧、所述插补视频帧和/或所述接收的视频帧序列进行解码。
[0034] 作为优选,所述一个或多个电路用于将所述已生成的本地视频帧序列与所述相应的音频内容同步。
[0035] 作为优选,所述一个或多个电路用于对所述相应的音频内容进行音调偏移(tone shifting)。
[0036] 作为优选,所述一个或多个电路用于以比所述视频帧序列的第一部分更大的数据率接收所述视频帧序列的第二部分。
[0037] 作为优选,当对所述视频帧序列中的视频帧进行编码时,所述媒体源限制所述视频帧序列中的视频帧的依赖数量。
[0038] 作为优选,所述视频帧序列的第一部分包含的视频帧具有的参考帧依赖数量比所述视频帧序列的第二部分少。
[0039] 下文将结合附图对具体实施例进行详细描述,以帮助理解本发明的各种优点、各个方面和创新特征。

附图说明

[0040] 图1是依据本发明一实施例的包含一个或多个媒体播放器的示范性通信系统示意图;
[0041] 图2是依据本发明一实施例的示范性媒体播放器功能示意图;
[0042] 图3是依据本发明一实施例的用于处理和传递媒体数据的选择方法的示范性媒体源服务器和媒体播放器示意图;
[0043] 图4是依据本发明一实施例的包含I帧、P帧和B帧的视频帧序列中的示范性视频帧参照的示意图;
[0044] 图5是依据本发明一实施例的用于通过多个路径选择性地处理和传递多媒体数据的示范性媒体源服务器的框图;
[0045] 图6是依据本发明一实施例的包含媒体播放器芯片集的示范性手持媒体播放器示意图;
[0046] 图7是依据本发明一实施例的包含软件实现的媒体播放器的示范性计算设备;
[0047] 图8是依据本发明一实施例的基于多媒体数据的选择性处理来接收和处理多媒体数据的示范性步骤流程图。

具体实施方式

[0048] 本发明的某些实施例涉及一种在媒体播放器中从借助于多个不同协议栈路径接收的数据中构建视频帧及同步音频数据的方法和系统。媒体播放器接收来自于媒体源的视频帧序列和相应的音频内容。媒体播放器通过第一协议栈处理所述视频帧序列的第一部分,以及通过第二协议栈处理所述视频帧序列的第二部分。媒体播放器从所述已处理的所述视频帧序列的第一部分和所述视频帧序列的第二部分中生成本地视频帧序列。通过第一通信路径以较低的数据率接收所接收的视频帧序列的第一部分。通过第二通信路径以较高的数据率接收所接收的视频帧序列的第二部分。在本发明的多个实施例中,所接收的视频帧序列的第一部分包含的视频帧具有的帧参考依赖数量比所接收的视频帧序列的第二部分少。就此而言,当对所述视频帧序列中的视频帧进行编码时,所述媒体源用于限制所述视频帧序列中的视频帧的依赖数量。在媒体播放器中接收包含较少参考帧依赖数量的所述视频帧序列的第一部分的安全级别高于具有较多参考帧依赖数量的所述视频帧序列的第二部分,且对所述视频帧序列的第一部分的处理比对所述视频帧序列的第二部分的处理更稳健(robust)。
[0049] 在本发明多个实施例中,媒体播放器分别在不同的路径队列中存储来自所接收视频帧序列的第一部分和第二部分的视频帧。在本发明其他实施例中,媒体播放器在一个路径队列中存储来自所接收视频帧序列的第一部分和第二部分的视频帧。来自所接收视频帧序列的第一部分的视频帧通过生成重复视频帧和/或插补视频帧来补偿丢失视频帧。媒体播放器构建本地视频帧序列,该本地视频帧序列包括所接收的视频帧、重复视频帧和/或插补视频帧。媒体播放器对音频内容和已生成的本地视频帧序列进行同步和/或音频偏移。而且,媒体播放器对本地视频帧序列和音频内容进行解码。在此方式下,媒体播放器依据视频帧改善帧重构和/或音频同步的能力来有选择地处理所接收的视频帧。
[0050] 图1是依据本发明一实施例的包含一个或多个媒体播放器的示范性通信系统示意图。参考图1,示出的通信系统101包括媒体源服务器107、通信骨干网123、IP网络125、无线网络127、公共电话网络(PSTN)129、无线基站121、无线通信设备115、视频照相机113、膝上型电脑111、媒体播放器109和电视系统117。
[0051] 媒体源服务器107包括适当的逻辑、电路和/或代码,用于存储多媒体数据和/或传送多媒体数据至媒体播放器和/或存储设备中的一个或多个。另外,媒体源服务器107用于例如使用照相机和/或麦克风捕捉多媒体数据和/或处理和存储多媒体数据。媒体源服务器107用于编码和/或解码视频帧,所述视频帧具有有限数量的参考帧依赖性。就此而言,视频帧依赖数据的参考帧,实现媒体播放器中的视频帧的估计。媒体源服务器107有选择地进行分包处理并将多媒体数据传送至媒体播放器109和/或其他包含多媒体播放器的设备,诸如无线通信设备115、视频照相机113、膝上型电脑111和电视系统117。多媒体数据包括音频和/或视频数据。媒体源服务器107为选择的多媒体数据包指定不同的优先级,并基于选定的优先级借助于多个数据包传送方法来传送多媒体数据包。媒体源服务器107用于借助于一个或多个无线、光和/或有线通信网络与媒体播放器109和/或包含媒体播放器的其他设备通信。例如,媒体源服务器107用于借助于通信骨干网123、IP网络125、无线网络127、PSTN 129、无线基站121和/或蓝牙连接与媒体播放器109和/或其他设备通信。本发明并不限于所使用的媒体源服务器107的任何具体类型和能够处理多媒体数据的任何合适的计算和/或通信设备。媒体源服务器107的示范性实施例包括视频服务器、电话、网站流直播视频信道、需求的视频、多播或单播、个人电脑(PC)。就此而言,PC用于播放来自于例如DVD或蓝光碟的视频并通过互联网发送相应的多媒体至媒体播放器。
[0052] 媒体播放器109包括适当的逻辑电路和/或代码,用于接收、处理和/或存储多媒体数据,例如视频数据、静态数据和/或音频数据。通过无线、有线或光通信路径从另一设备接收多媒体数据或者从例如媒体存储设备或光盘中获取多媒体数据。另外,媒体播放器109用于处理所接收的多媒体数据,该多媒体数据是经过分包处理并通过不同的多个通信协议路径接收而来。就此而言,媒体播放器109用于在多个协议栈路径中选择性地处理所接收的多媒体数据包。还有,媒体播放器109用于基于帧重复(repetition)或插补(interpolation)恢复和/或生成视频帧,按照显示顺序集合视频帧和/或将视频帧与接收的音频数据同步。而且,媒体播放器109用于对所接收的音频和视频帧进行解码,所述音频和视频帧已被编码为具有有限的参考帧依赖数量。媒体播放器109用于通过集成的和/或外部视频显示器和/或音频扬声器来呈现多媒体内容。而且,媒体播放器109包括媒体播放器芯片或芯片集,媒体播放器芯片或芯片集包括用于处理接收的和/或获取的多媒体数据的适当的逻辑、电路和/或代码。媒体播放器109通过通信骨干网123、IP网络125、无线网络127、PSTN 129、无线基站121和/或蓝牙连接中的一个或多个与无线通信设备115、视频照相机113、膝上型电脑111、媒体源服务器107和电视系统117中的一个或多个通信连接。
[0053] 膝上型电脑111包括适当的逻辑电路和/或代码,用于接收、处理和/或存储多媒体数据,例如视频数据、静态数据和/或音频数据。就此而言,膝上型电脑111用于对音频数据和/或视频帧进行编码和/或解码,所述音频数据和/或视频帧具有有限的参考帧依赖性。通过无线、有线或光通信路径从另一设备接收多媒体数据或者从例如媒体存储设备或光盘中获取多媒体数据。另外,膝上型电脑111用于处理所接收的多媒体数据,该多媒体数据是通过多个不同的通信协议路径接收而来。就此而言,膝上型电脑111用于在多个协议栈路径中选择性地处理所接收的多媒体数据包,并恢复、集合视频帧和/或将音频与数据包的接收视频帧同步。膝上型电脑111通过集成的和/或外部视频显示器和/或音频扬声器来呈现多媒体内容。而且,膝上型电脑111包括通用处理器和/或用于实现多媒体功能的代码。另外,膝上型电脑111包括专用硬件、软件和/或固件,用于实现一部分多媒体功能。
[0054] 在本发明的多个实施例中,膝上型电脑111包括媒体播放器芯片或芯片集,媒体播放器芯片或芯片集包括用于处理接收的和/或获取的多媒体数据的适当的逻辑、电路和/或代码。膝上型电脑111通过通信骨干网123、IP网络125、无线网络127、PSTN 129、无线基站121和/或蓝牙连接中的一个或多个与无线媒体播放器109、通信设备115、视频照相机113、媒体源服务器107和电视系统117中的一个或多个通信连接。在本发明的多个实施例中,膝上型电脑111包括适当的逻辑、电路和/或代码,用于实现源服务器107的功能。任何适合的计算设备都可用于替代膝上型电脑111,例如个人电脑和/或手持计算设备。
[0055] 无线通信设备115包括适当的逻辑电路和/或代码,用于通过通信骨干网123、IP网络125、无线网络127、PSTN 129、无线基站121和/或蓝牙连接中的一个或多个接收和/或发送语音和/或包含多媒体数据的数据。无线通信设备115借助于一个或多个技术进行通信,所述一个或多个技术包括3GPP、3GPP2、LTE、WIMAX、WiFi、WLAN和蓝牙,还包括例如DECT和/或PHS无线电话标准。
[0056] 无线通信设备115包括媒体播放器功能,所述媒体播放器功能是通过一个或多个芯片集来处理,所述芯片集包括一个或多个芯片、通用处理器、软件、固件和/或专用硬件。无线通信设备115用于通过多个不同的通信协议路径来接收和处理多媒体数据。例如,无线通信设备115用于基于TCP/IP和/或UDP传输层协议和/或基于互联网路径来处理多媒体数据,该互联网路径使用Ipsec、Ipv4和/或Ipv6协议。就此而言,无线通信设备115用于在多个协议栈路径中选择性地处理所接收的多媒体数据包、和恢复、集合视频帧和/或将音频与数据包的接收视频帧同步。另外,无线通信设备115用于编码和/或解码视频帧,所述视频帧具有有限的参考帧依赖性。无线通信设备115用于通过集成的和/或外部视频显示器和/或音频扬声器来呈现多媒体内容。
[0057] 视频照相机113包括适当的逻辑、电路和/或代码,用于捕捉、存储和/或传送多媒体数据,所述多媒体数据是由多个通信协议栈路径来处理的。视频照相机113用于借助于多个不同通信协议栈路径发送或接收多媒体数据。就此而言,视频照相机113用于在多个协议栈路径中选择性地处理多媒体数据包。视频照相机113用于恢复和/或生成视频帧、按照显示顺序集合视频帧和/或将所接收的音频数据和视频帧同步。另外,视频照相机113用于编码和/或解码视频帧,所述视频帧具有有限的参考帧依赖性。视频照相机113用于通过集成的和/或外部视频显示器和/或音频扬声器来呈现多媒体内容。视频照相机113用于通过通信骨干网123、IP网络125、无线网络127、PSTN 129、无线基站121和/或蓝牙连接中的一个或多个与无线媒体播放器109、通信设备115、膝上型电脑111、媒体源服务器107和电视系统117中的一个或多个通信连接。
[0058] 电视系统117包括适当的逻辑、电路和/或代码,用于接收、存储、呈现和/或传送多媒体数据,所述多媒体数据是由多个通信协议栈路径来处理的。电视系统117用于借助于多个不同通信协议栈路径接收多媒体数据,所述多媒体数据包括已优先化处理的视频帧数据和/或音频数据。就此而言,电视系统117用于在多个协议栈路径中选择性地处理多媒体数据包,和恢复和/或生成视频帧、按照显示顺序集合视频帧和/或将所接收的音频数据和视频帧同步。另外,电视系统117用于编码和/或解码视频帧,所述视频帧具有有限的参考帧依赖性。电视系统117用于通过集成的和/或外部视频显示器和/或音频扬声器来呈现多媒体内容。电视系统117用于通过通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121和/或蓝牙连接中的一个或多个与无线媒体播放器109、通信设备115、膝上型电脑111、媒体源服务器107和视频照相机113中的一个或多个通信连接。
[0059] 通信骨干网123包括适当的逻辑、电路和/或代码,能够在多个设备、网络和/或子网络间实现无线、有线和/或光通信。通信骨干网123包括IP网络125、无线网络127、PSTN 129、无线基站121中的一个或多个。就此而言,通信骨干网123和/或基站121处理以下设备间的通信:媒体播放器109、通信设备115、膝上型电脑111、媒体源服务器107和电视系统117、和/或视频照相机113。
[0060] 基站121包括适当的逻辑、电路和/或代码,用于处理以下设备间多媒体数据的无线传送:媒体源服务器107、媒体播放器109、无线通信设备115、膝上型电脑111、和电视系统117、和视频照相机113。基站121为室内或室外基站。就此而言,基站121包括例如蜂窝基站、接入点或无线设备接驳站,所述无线设备接驳站可支持任何适当的无线和/或有线技术,诸如3GPP、3GPP2、WIMAX、LTE、WLAN WiFi、蓝牙和/或DECT。
[0061] 在操作中,媒体源服务器107捕捉或获取存储的多媒体数据。多媒体数据包括音频数据和/或一个或多个视频帧序列的视频帧。媒体源服务器107以诸如下述方式对视频帧进行编码:每一视频帧所依赖的参考帧的数量是受限制的。在本发明的多个实施例中,依赖参考帧的数量被限制为例如0或1。依据每一视频帧的帧依赖性数量,对视频帧进行分类和优先级处理。就此而言,较高优先级帧包括0个或较少的参考帧依赖性并通过较稳健的协议栈路径来处理。
[0062] 依据具有不同可靠性、服务质量和/或安全性的优先级将包含视频帧的数据包发送至以下设备中的一个或多个:媒体播放器109、无线通信设备115、膝上型电脑111、和电视系统117、和/或包含媒体播放器功能的视频照相机113。因此,一旦接收到音频和/或视频数据包,媒体播放器109或其他包含媒体播放器功能的设备有选择地处理多个不同协议栈路径中的所接收的多媒体数据包。另外,恢复和/或使用所接收的视频帧以生成丢失的视频帧。按照显示顺序集合所恢复和/或生成的视频帧并与相应的接收的音频数据同步。解码和使用多媒体数据,或编码和存储多媒体数据。
[0063] 图2是依据本发明一实施例的示范性媒体播放器功能示意图。参考图2,示出了媒体播放器109、媒体播放器芯片215、扬声器235和显示器237、膝上型电脑111、通用处理器243、存储器241、音频驱动251、视频驱动253以及集成的或外部扬声器245和显示器247。
[0064] 媒体播放器109与图1所述的媒体播放器109类似或基本相同。媒体播放器109包括媒体播放器芯片或芯片集215,用于实现图1所示的媒体播放器109的媒体播放器功能。在操作中,芯片集215接收来自服务器107的多媒体数据、处理所述多媒体数据并分别将已解码的视频数据和音频数据发送至扬声器235和显示器237。
[0065] 膝上型电脑111与图1所述的膝上型电脑111类似或基本相同。膝上型电脑111包括存储器241和通用处理器243。通用处理器243和存储器241用于实现图1所示的膝上型电脑111的媒体播放器功能。在操作中,通用处理器243和存储器241接收来自服务器107的多媒体数据。存储在存储器241中并运行在通用处理器243中的软件用于处理所接收的多媒体数据并分别借助于音频驱动251和视频驱动253将相应的已解码的视频数据和音频数据发送至扬声器245和显示器277。
[0066] 在本发明的多个实施例中,依据设计选择由分配在硬件、固件和/或软件上的的媒体播放器任务来实现媒体播放器功能。在多个实施例中,诸如媒体播放器109,由包含一个或多个芯片的芯片集来处理媒体播放器功能,而在其他实施例中,诸如膝上型电脑111,由通用处理器用于处理多媒体功能。另外,在本发明的多个实施例中,多媒体功能分别在以下组合中:媒体播放器芯片集、固件、专用处理器、通用处理器和/存储器。
[0067] 图3是依据本发明一实施例的用于处理和传递媒体数据的选择方法的示范性媒体源服务器和媒体播放器示意图。参考图3,示出了多媒体通信系统301、媒体源服务器307、已编码媒体321、偏置转码器(biased transcoder)323、未编码媒体325、偏置编码器
327、源已编码媒体329、带时间戳(timestamped)非目标帧数据(non-referencing frame data)329a、带时间戳(timestamped)目标帧数据329b、协议栈路径337、支持稳健程度较高的数据包传送的栈路径337a、支持稳健程度较低的数据包传送的栈路径337b、物理层(PHY)343、有线和/或无线通信网络123、媒体播放器309、PHY 345、协议栈路径347、稳健程度较高的栈路径347a、稳健程度较低的栈路径347b、双重或集成路径队列349、队列管理
351、拼接(stitching)和丢帧处理353、视频图像恢复和音频同步355、解码器357和未编码媒体359。
[0068] 媒体源服务器307包括适当的逻辑、电路和/或代码,用于存储、获取和/或捕捉多媒体数据以及有选择地将多媒体数据传送至媒体播放器309。媒体源服务器307与图1所述的媒体源服务器107类似或基本相同。就此而言,多媒体数据包括文本、静态图像、音频和/或视频数据。媒体源服务器307用于为多媒体数据包指派优先级,并基于指定的优先级通过多个数据包传递方法来传送多媒体数据包。媒体源服务器307用于通过一个或多个无线和/或有线通信网络与媒体播放器309通信。媒体源服务器307可为任何能够处理多媒体数据的适当的计算和/或通信设备,例如视频服务器、电话、网站流直播视频信道、需求的视频、多播或单播、或个人电脑(PC),所述PC用于播放来自于例如DVD或蓝光碟的视频并通过互联网将其发送至诸如媒体播放器309的客户端设备。
[0069] 已编码媒体321包括视频和/或音频数据,例如依据诸如MPEG-1、MPEG-2、MPEG-4、或H.264的标准化压缩方法将所述视频和/或音频数据压缩和/或加密成特定的格式。已编码媒体接收自另一设备或诸如DVD或蓝光碟的存储媒介,或者由媒体源服务器307捕捉和编码。已编码媒体321存储在媒体源服务器307上。
[0070] 偏置转码器323包括适当的逻辑、电路和/或代码,用于对已编码媒体321进行解码,将偏置应用于已解码的视频帧上并对视频帧编码。应注意,贯穿全文,交替使用词语“帧”和“图片”这些字眼来表示视频帧、域(fieled)、包括某特定时刻的图像数据的宏块(macro-block)或片段。就此而言,对于视频帧序列中的每一目标帧,偏置转码器323用于识别该目标帧用于帧估计信息所依赖的帧的数量。就此而言,帧估计使用来自参考帧的视频图像像素数据以及有关参考帧的一些元素如何变化的信息来构成另一相似帧。示范性的帧估计方法包括帧重复、运动向量插补和/或各种图像转换,诸如色彩(hue)、色度(chroma)和亮度(luminance)的改变。在本发明的多个实施例中,通过例如减少依赖帧的数量为0或1来对视频帧进行偏置。就此而言,视频帧序列中的一部分帧不参考任何其他的帧,但是却是其他帧的参考帧。另外,偏置转码器323依据所参考的其他帧的数量对视频帧序列中的帧进行优先级处理。在帧被分类和优先级处理之后,偏置转码器323依据原始已编码媒体321所使用的方法对这些帧进行编码或者以其他方法对这些帧进行编码。还有,由于所使用的帧参考的减少,在帧被分类、优先级处理以及压缩之后,已偏置帧数据的压缩率比原始已编码媒体321的压缩率差。
[0071] 未编码媒体325包括未压缩的视频和/或音频数据。未编码媒体325由视频源服务器307捕获和编码。例如,未编码媒体325由源服务器307上的视频照相机捕获或者接收自另一设备或存储媒介。未编码媒体325存储在视频源服务器307上。
[0072] 偏置编码器327包括适当的逻辑、电路和/或代码,用于对未编码媒体325进行编码并对视频帧应用偏置(bias)。就此而言,对视频帧序列中的每一目标帧来说,偏置编码器327用于识别该目标帧出于帧估计目所依赖的帧的数量。例如,目标帧的估计依赖于参考帧,作为帧重复、运动预测或各种图像转换的偏置。在本发明的多个实施例中,通过将依赖帧的数量限制为例如0或1来对帧进行偏置。视频帧序列中的一部分帧不参考任何其他帧。其他帧参考例如另一帧。另外,偏置编码器327依据其所参考的帧的数量对视频帧序列中的每一帧进行优先级处理。在帧被存储和优先级处理之后,偏置编码器依据特定的方法对帧进行编码。总之,由于每一帧所依赖的参考帧数量较少,偏置的已编码帧数据的压缩率比未偏置的已编码数据低。
[0073] 源已编码媒体329是输出自偏置转码器323和/或偏置编码器327的示范性帧数据。源已编码媒体329包括带时间戳音频数据329c、带时间戳非目标帧数据329a和/或带时间戳目标帧数据329b。就此而言,带时间戳非目标帧数据329a包括不依赖于其他帧对非目标帧的图像进行估计的视频帧。带时间戳目标帧数据329b包括帧数据,这些帧数据参考其他帧对视频图像进行估计。音频数据329c、视频帧329a和329b的时间戳能够对媒体播放器309上的音频和图像进行分类和同步。在本发明多个实施例中,带时间戳非目标帧数据329a和/或带时间戳目标帧数据329b例如依据每一帧用于帧估计信息所参照的帧的特定数量被分类和/或优先级处理。就此而言,参考少量其他帧(例如0个或1个帧)的那些帧借助于与依赖更多帧的那些帧的路径不同的路径被传送至媒体播放器309。
[0074] 协议栈路径337包括适当的逻辑、电路和/或代码,用于实现具有不同安全级和/或稳健级别的各种通信协议。就此而言,协议栈路径337使用一组协议依据分层架构的OSI模型对源已编码媒体329进行格式化,例如,传输层、网络层、数据链路层和物理层。在本发明的多个实施例中,支持稳健程度较高的数据包传送的栈路径337a用于对来自源已编码媒体329的高优先级帧数据进行格式化并例如借助于传输控制协议(TCP)将其传送至特定范围的致力于可靠和/或安全传输的端口号。就此而言,TCP可保证至少非目标帧的正确有序传输。尽管TCP传输没有其他一些传输层协议快,通过此方法仅发送一部分帧。低优先级帧借助于支持稳健程度较低的数据包传送的栈路径337b来发送。就此而言,支持稳健程度较低的数据包传送的栈路径337b借助于可进行快速但较低可靠性传输的一些端口号(例如,用户数据报(UDP))来传送包含低优先级视频帧的数据包。另外,对于数据包传输,高级别的外部服务质量(QoS)分配给具有高优先级的数据包。
[0075] 物理层(PHY)343为单一PHY接口,包括适当的逻辑、电路和/或代码,用于借助于有线和/或无线通信网络123物理地将包括源已编码媒体329的数据包从协议栈路径337发送至媒体播放器309。另外,PHY345包括适当的逻辑、电路和/或代码,用于借助于有线和/或无线网络123接收来自PHY343的源已编码媒体。有线和/或无线网络123包括一个或多个网络,用于传送多媒体数据。例如有线和/或无线网络包括图1所述的蓝牙连接或通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121中的一个或多个。
[0076] 媒体播放器309包括适当的逻辑、电路和/或代码,用于接收、存储和/或呈现多媒体数据,所述多媒体数据借助于不同的通信协议栈从远程源传送至媒体播放器309。媒体播放器309与图1所述的媒体播放器109类似或基本相同。多媒体数据包括文本、音频、静态图像和/或视频数据。媒体播放器309包括一个或多个媒体播放器芯片集、固件、通用处理器、专用处理器和/或软件,用于接收可处理多媒体数据包,所述多媒体数据包借助于多个方法并基于指定的优先级传送。媒体播放器309用于借助于一个或多个无线、光和/或有线通信网络与源服务器307通信,例如图1所述通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121和/或蓝牙连接。媒体播放器309可包含在任何适当的用于处理多媒体数据的计算和/或通信设备中,例如无线通信设备115、视频照相机113、膝上型电脑111、媒体播放器109和电视系统117。
[0077] PHY345为单一PHY接口,包括适当的逻辑、电路和/或代码,用于通过通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121和/或蓝牙连接物理地接收数据包,所述数据包包含来自源服务器307中的PHY343的源已编码媒体329。
[0078] 协议栈路径347包括适当的逻辑、电路和/或代码,用于借助于稳健程度较高的栈路径347a和/或稳健程度较低的栈路径347b接收来自于单一物理层345的包含源已编码媒体329的数据包。协议栈路径移除链路层、传输层、和/或互联网协议的封装。另外,协议栈路径347将源已编码媒体传送至双重或集成路径队列349。
[0079] 队列管理351包括适当的逻辑、电路和/或代码,用于接收来自双重或集成路径队列349的源已编码媒体329并恢复视频帧中的图像,以及将音频和视频帧同步。视频恢复和音频同步模块355以各种方式补偿丢失的视频帧。在本发明一示范性实施例中,如果先前或随后的帧丢失时,视频恢复和音频同步模块355重复一帧。在此方式下,音频与视频图像同步。当高达8个帧丢失的情况下,丢失的帧用插补的帧来代替,音频与插补的帧保持同步。当超过8个帧丢失的情况下,这些帧被丢弃,增加音频回放率以超赶视频帧的一些帧,从而获得音频和视频图像的同步。在此方式下,增加的音频率引擎暂时的音调偏移直至达到音频和视频同步。另外,拼接和丢帧处理353接收恢复并已同步的帧,并将其依据时间戳按照合适的序列重新集合这些帧。队列管理351将包含源已编码媒体329的已重新集合的帧转发至解码器357。
[0080] 解码器357包括适当的逻辑、电路和/或代码,用于对已偏置的视频帧进行解码。在本发明的多个实施例中,已解码的帧被无偏置编码以便存储在媒体播放器309上。就此而言,偏置的移除改善了压缩率以实现更紧实的存储。在本发明的其他实施例中,解码器
357输出未编码媒体359以便媒体播放器309使用。
[0081] 图4是依据本发明一实施例的包含I帧、P帧和B帧的视频帧序列中的示范性视频帧参照的示意图。参考图4,示出的示范性视频帧序列402包含I帧、P帧和B帧。视频帧序列402代表的示范性视频帧序列被编码为类似于MPEG1(2)格式,然而,可依据本发明一实施例修改为其他任何适当的压缩标准,例如,MPEG-4标准的扩展(MPEG4 part10)或H.264。视频帧序列402中示出的箭头起始端所指示的是图像数据参考帧,所述图像数据与运动向量数据或其他图像转换信息一起用于估计出箭头所指向的帧。就此而言,箭头起始于参考帧(reference frame),并指向目标帧(referencing frame)。然而,I帧、B帧和P帧是按照显示顺序来显示的,按照参考帧(reference frame)居前、目标帧(referencing frame)随后、再目标帧(re-referencing frame)再随后的顺序对各帧进行解码。就此而言,媒体播放器在对依赖于一个或多个参考帧的目的帧进行解码之前接收用于重构多个图像的数据。I帧为帧内编码视频帧。例如,I帧的图像数据取自于已编码像素数据,其中像素跨越图像或图像的一部分的尺寸。当像素数据被解码时,其用于构建I帧,还可用做参考数据以构建P帧和/或B帧。P帧为预测视频帧,其可通过使用来自另一图像或帧的参考解码像素数据以及用来描述图像数据如何转换为P帧的信息来生成。例如,可对参考帧应用运动矢量、色调或亮度偏移,以生成P帧。在视频帧序列402中,在显示顺序上,P帧的显示将在其参考的I帧之后,一些P帧参考之前的P帧。B帧为双向预测帧,其参考两个先前解码的视频帧。此外,B帧为再目标帧,其中B帧参考一参考另一帧的帧。例如,B帧可参考P帧,而该P帧又参考I帧。当在编码时减少带宽为主要目标时,参考可有助于改善压缩率。在未偏置的视频帧序列402中,参考在视频帧序列中的多个帧之间创建依赖性。当I帧或被一个或多个目标帧所依赖的另一帧的信息在媒体源服务器307和媒体播放器309之间的传输过程中发生丢失或者损坏时,多个帧将发生丢失,并且无法有效的重建。这将导致同步性的丢失和/或可察觉的视频图像的中断。
[0082] 示范性的视频帧序列404代表采用偏置编码帧的方法的结果,其中,用来构建图像所依赖的帧的数量降至一个或两个。当I帧(例如视频帧序列104中依照显示顺序的最后一个I帧)中的图像数据与在前的B帧非常不同时,可使用重建B帧的第二选项,如虚线参考箭头所示。此外,当被参考的P帧在传输过程中发生丢失时,也可使用第二选项。在本发明的多个实施例中,I帧之间的P帧和B帧可能很少,以此将参考降低到一个级别的依赖性。因此,与使用由视频帧序列402所表示的编码方法所压缩的数据相比,视频帧序列104中使用采用了偏置的编码方法所压缩的数据可包括数量更多的数据,其压缩比也更低。然而,处理视频帧序列404时所使用的编码方法在媒体播放器309中重建视频帧时实现了更大的可靠性和更好的同步性能。
[0083] 在操作过程中,媒体源服务器307捕获多媒体数据,例如,未编码媒体数据325,或者读取存储的多媒体数据,例如编码媒体321。在使用未编码媒体325时,源服务器307采用偏置的方式对媒体进行编码,以限制每一视频帧的依赖性。在使用编码媒体321时,媒体将由转码器323进行解码,然后采用偏置进行编码,以限制帧的依赖性。就此而言,转码器323所输出的编码媒体可能遵循也可能不遵循编码媒体321所采用的相同标准。源编码媒体329将由转码器323和/或编码器327输出。源编码媒体329标记了时间戳,以生成带时间戳非目标帧数据329a、带时间戳目标帧数据329b和带时间戳音频数据329c。带时间戳的数据将发往协议栈路径337,其中,分类后且标记了时间戳的视频帧329a和329b将进行打包,然后分别通过支持稳健程度较高的数据包传送的栈路径337a和/或支持稳健程度较低的数据包传送的栈路径337b进行发送。打包后的源编码媒体329将通过双路径或者通过一条集成的路径发往单个PHY 343。PHY 343将打包的带时间戳源编码媒体329通过物理介质发往媒体播放器309中的单个PHY 345。PHY 345发送打包的源编码非目标帧
329a给稳健程度较高的路径347a,将打包的源编码目标帧329b发往稳健程度较低的路径
347b。协议栈路径347传送源编码媒体329给双重或者集成路径队列349。队列管理模块
351中的视频图像恢复和音频同步模块355以及拼接和丢帧处理模块353对丢失或者损坏的视频帧进行补偿,例如,使用帧丢弃、帧重复和/或丢帧插补和重组的方法,以及按照显示顺序集合帧。将带时间戳的源编码帧和估计出的帧与带时间戳的音频进行同步,并发往解码器357。未编码媒体359将由媒体播放器309使用。在本发明的多个实施例中,未编码媒体359可采用更高级压缩比进行编码,以便进行随后的存储。
[0084] 图5是依据本发明一实施例的用于通过多个路径选择性地处理和传递多媒体数据的示范性媒体源服务器的框图。参考图5,示出了媒体源服务器507、媒体捕捉设备517、应用层处理519、可选已编码媒体351、可选偏置转码器(biased transcoder)323、未编码媒体325、偏置编码器327、带时间戳非目标帧数据329a、带时间戳目标帧数据329b、带时间戳音频数据329c、传输层路径531、传输路径1 531a、传输路径2 531b、互联网路径537、IP路径1537a、IP路径2 537b、链路层路径539、链路层路径1 539a、链路层路径2 539b和PHY层543。
[0085] 媒体源服务器507与图3所述的媒体源服务器307类似或基本上相同。
[0086] 媒体捕捉设备517包括适当的能够捕捉多媒体数据的设备,例如,视频照相机和麦克风、具有照相机和/或麦克风的蜂窝电话或膝上型电脑。在本发明的多个实施例中,存储设备包括多媒体数据,该多媒体数据由视频源服务器307分发。
[0087] 应用层处理519包括适当的逻辑、电路或代码,用于使用偏置对视频帧进行编码,并依据每一帧依赖的帧的数量对已编码的视频帧进行解析和分类。可选已编码媒体321、可选偏置转码器323、未编码媒体325、偏置编码器327、带时间戳非目标帧数据329a、带时间戳目标帧数据329b、带时间戳音频数据329c与图3所述的各自相应的标号部分类似或基本上相同。就此而言,可选已编码媒体321、可选偏置转码器323用在多个实施例中,所述多个实施例分发例如取自于存储设备的多媒体数据。
[0088] 传输层路径531包括适当的逻辑、电路和/或代码,用于实现对已编码媒体数据的传输层服务,所述已编码媒体数据来自应用层519的输出。就此而言,传输层路径531包括提供不同可靠性级别的双重路径。例如,较高稳健程度的传输路径1 531a依据TCP/IP协议对带时间戳非目标帧数据329a进行封装。在此方式下,对稳健帧重构和媒体播放器309上的音频和视频数据的同步有最严格要求的帧数据以最可靠的方式进行传送。尽管TCP/IP传输比其他传输层方法慢,TCP/IP的数据包传输是受保证的且数据包是按序传输的。而且,具有较低的可靠性但却较快的传输路径2依据UDP协议对带时间戳目标帧数据329b进行封装。在此方式下,较低稳健程度的传输路径2 531b处理对稳健帧重构和媒体播放器309上的同步不太严格要求的帧数据。例如,当对视频帧进行重构以及对媒体播放器上的音频进行同步时,可补偿丢失的目标帧。例如,相比于从所参考但被丢失的帧进行恢复,媒体播放器309中的拼接和丢帧处理353以及视频图像恢复和音频同步355模块能够更容易从丢失或损坏的目标帧329b进行恢复。
[0089] 互联网路径537包括适当的逻辑、电路和/或代码,用于实现具有不同安全级的互联网协议。例如,TCP/IP传输路径1 531a输出的带时间戳非目标帧数据329a由IP路径1537a加密为较高安全级。就此而言,使用IPsec对通过IP路径1 537a传送的每一数据包进行加密和/或认证。在此方式下,重要的视频帧329a受到保护,远离非认证实体的截取。
尽管如此,由UDP处理的具有较低要求的带时间戳非目标帧数据329a通过IP路径2537b来处理。IP路径2 537b使用不对帧数据加密的协议。IPv4或IPv6对329b传输来说是足够的,因为当恢复视频帧未使用非目标帧329a时,目标帧329b是无用的。
[0090] 链路层路径539包括适当的逻辑、电路和/或代码,用于依据优先级对帧数据包进行分类以传送至PHY 543并在有线和/或无线通信网络123中处理路由。就此而言,链路路径1 539a处理IP路径1 537a输出的非目标帧数据包。链路路径2 539b处理IP路径2537b输出的目标帧数据包。链路层路径539依据数据包所属的视频帧序列以及数据包是否包含非目标或目标帧来对数据包的传输按照优先级进行排队。例如,首先发送一个视频帧序列中的非目标帧。随后,发送同一视频帧序列中的目标帧。在一视频帧序列的所有帧发送完之后,对随后的视频帧序列进行处理。
[0091] 在操作中,由视频源服务器507中的媒体捕捉设备517对媒体进行捕捉,并由编码器327采用偏置方式进行编码,以限制对参考帧的依赖数量。依据目标帧所依赖的帧的数量对已编码视频帧进行解析和分类。视频和音频帧被标记了时间戳,相比所依赖的帧的数量较多的帧而言,依赖性较低的视频帧将分配到较高的优先级。同样,为高优先级帧分配可确保分组传送的高级外部服务质量(QoS)。高优先级帧例如来自帧数据329a的帧将发往传输路径-1 531a,用于TCP/IP传输服务传送,随后发往IP路径-1 537a进行加密,然后发送到链路路径-1 539a中的队列中。此外,低优先级帧,例如来自帧数据129b的帧将发往传输路径-2 531b进行UDP传输服务,随后发往IP路径-2 537b,然后发往链路路径-2 539b中的队列中。PHY 543在传送来自第二视频帧序列的所有数据包之前,先传送包含来自第一视频帧序列中的帧的所有数据包。此外,PHY 543在传送视频帧序列中的包含低优先级帧数据的数据包之前,先传送同一视频帧序列中包含高优先级帧数据的数据包。
[0092] 图6是依据本发明一实施例的包含媒体播放器芯片集的示范性手持媒体播放器示意图。参考图6,示出了手持媒体播放器609、媒体播放器芯片615、PHY645、协议栈路径647、稳健程度较高的栈路径647a、稳健程度较低的栈路径647b、双重或集成路径队列649、拼接和丢帧处理653、视频图像恢复和音频同步655、音频解码器657a、视频解码器657b、媒体播放器电路661、视频和/或音频电路API接口659、音频驱动电路663a、视频驱动电路
663b、扬声器665和视频显示器667。
[0093] 媒体播放器609包括适当的逻辑、电路和/或代码,用于接收、存储和/或呈现多媒体数据,所述多媒体数据借助于不同的通信协议栈从远程源(例如图3所示的源服务器307)传送至媒体播放器609。另外,媒体播放器609用于取回、存储和/或呈现来自例如DVD或蓝光碟的存储设备的多媒体数据。媒体播放器609包含的功能与图3所述的媒体播放器
309类似或基本相同。尽管媒体播放器609使用媒体播放器芯片615来实现媒体播放器功能。媒体播放器芯片615包括一个或多个芯片。例如,媒体播放器芯片615包括一个或多个专用处理器(诸如数字信号处理器(DSP))以实现媒体播放器功能。就此而言,媒体播放器芯片615包括一个或多个PHY645、协议栈路径647、稳健程度较高的栈路径647a、稳健程度较低的栈路径647b、双重或集成路径队列649、拼接和丢帧处理653、视频图像恢复和音频同步655、音频解码器657a、视频解码器657b、媒体播放器电路661、视频和/或音频电路API接口659、音频驱动电路663a、视频驱动电路663b。媒体播放器芯片615用于接收和处理多媒体分组数据,该分组数据是基于分配的优先级通过多个协议栈路径进行分组的。媒体播放器309通过一个或多个无线、光和/或有线通信网络与诸如源服务器307的源服务器通信,所述一个或多个无线、光和/或有线通信网络例如图1所述通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121和/或蓝牙连接。媒体播放器309的各个实施例用于捕捉媒体和/或对多媒体数据进行编码。
[0094] 物理接口(PHY)645包括适当的逻辑、电路和/或代码,用于通过通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121和/或蓝牙连接物理地接收数据包,所述数据包包含来自例如PHY343的已编码媒体。例如,如图3所述,PHY645接收源已编码媒体329,基于视频帧所依赖的参考帧数量对所述源已编码媒体进行优先级处理和/或分类并通过不同的协议路径传送。
[0095] 协议栈路径647包括适当的逻辑、电路和/或代码,用于借助于稳健程度较高的栈路径647a和/或稳健程度较低的栈路径647b接收来自于物理层645的包含源已编码媒体329的数据包。协议栈路径移除链路层、传输层、和/或互联网协议的封装。另外,协议栈路径647将源已编码媒体传送至双重或集成路径队列649。
[0096] 媒体播放器电路661包括适当的逻辑、电路和/或代码,用于实现媒体播放器功能。媒体播放器电路661包括双重或集成路径队列649、拼接和丢帧处理653、视频图像恢复和音频同步655、音频解码器657a、视频解码器657b。媒体播放器电路接收来自协议栈路径647a和/或647b的源已编码媒体329,处理该媒体并将已解码媒体转发至音频驱动663a和视频驱动663b。
[0097] 视频图像恢复和音频同步655包括适当的逻辑、电路和/或代码,用于接收来自双重或集成路径队列649的源已编码媒体329、恢复视频帧中的图像并将音频与视频帧同步。视频图像恢复和音频同步655以各种方式补偿丢失的视频帧。在本发明一示范性实施例中,如果先前或随后的帧丢失时,视频图像恢复和音频同步655用于进行帧重复。在此方式下,音频数据保持与相应的视频图像同步。当帧丢失已达到特定数值的情况下,丢失的帧就被插补帧替代,且音频数据与插补帧同步。当帧丢失超过特定数值的情况下,丢弃这些帧并提高音频回放速率以便追赶上一定数量的视频帧,从而实现音频和视频图像的同步。就此而言,增加的音频率引起暂时的音调偏移直至视频与音频实现同步。帧的特定数量值是可编程的,并且可静态或动态调整。另外,拼接和丢帧处理653接收已恢复和已同步的帧并依据其时间戳将这些帧重组到合适的序列中。包括源已编码媒体329的已重组的帧被转发至音频解码器657a和视频解码器657b。
[0098] 音频解码器657a和视频解码器657b包括适当的逻辑、电路和/或代码,用于对音频和已偏置的视频帧进行解码并将已解码的音频和视频帧分别转发至音频驱动电路663a和视频驱动电路663b。在本发明的多个实施例中,已解码的音频和视频帧经由无偏置的编码并存储在媒体播放器309上。就此而言,偏置的移除改善了压缩率以实现更紧实的存储。
[0099] 音频驱动电路663a、视频驱动电路663b包括适当的逻辑、电路和/或代码,用于分别物理地发送已解码的音频和已解码的视频帧至扬声器665和显示器667。就此而言,视频和/或音频电路API接口659包括一组用于控制音频驱动电路663a和/或视频驱动电路663b的功能。
[0100] 在操作中,手持媒体播放器609接收已编码多媒体数据的数据包,其中通过多个协议栈路径依据每一视频帧所依赖帧的数量对已编码视频帧进行了优先级处理和分类。已编码视频帧接收自远程服务器或来自存储媒介,例如CD、DVD或蓝光碟。就此而言,PHY 645接收该已编码多媒体数据,例如,通过双重路径接收已分组和偏置的棉麻媒体329。PHY 645发送所接收的分组源已编码非目标帧329a至稳健程度较高路径647a,以及发送分组源已编码目标帧329b至稳健程度较低路径647b。协议栈路径647发送源已编码媒体329至双重或集成路径队列649。视频图像恢复和音频同步655以及拼接和丢帧处理653对丢失或损坏的视频帧进行补偿,例如使用帧丢弃、帧重复和/或丢失帧插补以及按照显示顺序来集合帧。带时间戳源已编码帧以及估计出的帧与带时间戳音频同步。音频数据发送至音频解码器657a,视频帧发送至视频解码器657b,其中生成未编码音频和/或视频数据。未编码音频和/或视频数据由音频驱动663a、视频驱动663b和音频/视频电路API接口659发送至扬声器665和/或显示器667以便用户使用。在本发明的多个实施例中,未编码音频和/或视频数据采用更高级压缩比进行编码,以便例如后续的存储。
[0101] 图7是依据本发明一实施例的包含软件实现的媒体播放器的示范性计算设备。参考图7,示出了个人计算设备711、PHY745、通用处理器715、协议栈路径747、稳健程度较高的路径747a、稳健程度较低的路径747b、双重或集成路径队列749、拼接和丢帧处理753、视频图像恢复和音频同步755、音频解码器757a、视频解码器7657b、媒体播放器电路761、视频和/或音频电路API接口7659、音频驱动电路763a、视频驱动电路763b、扬声器765和视频显示器767。
[0102] 个人计算设备711包括适当的逻辑、电路和/或代码,用于接收、存储和/或呈现多媒体数据,所述多媒体数据由个人计算设备711借助于不同的通信协议栈从远程源(例如图3所示的源服务器307)接收而来。另外,个人计算设备711用于取回、存储和/或呈现来自例如DVD或蓝光碟的存储设备的多媒体数据。个人计算设备711包含的功能与图3所述的媒体播放器309类似或基本相同。就此而言,个人计算设备711使用媒体播放器软件761和设备驱动协议栈路径747在通用处理器715上实现媒体播放器功能。尽管图6所示的媒体播放器是使用芯片615来实现,而图7所示的媒体播放器是使用通用处理器上的媒体播放器软件来实现,本发明并不限于此。就此而言,可依据多种设计选择,使用任何适当的硬件、软件和/或固件的组合来实现本发明一实施例。
[0103] 通用处理器715包括适当的逻辑、电路和/或代码,用于接收来自PHY 745的已分组音频数据和/或视频帧数据、处理所接收的数据并通过音频驱动电路763a将未编码音频传送至扬声器735、通过视频驱动电路763b将未编码视频帧传送至显示器737。就此而言,运行在通用处理器715上的软件包括一个或多个协议栈路径747、稳健程度较低的栈路径747a、稳健程度较低的栈路径747b、双重或集成路径队列749,媒体播放器软件761包括拼接和丢帧处理753、视频图像恢复和音频同步755、音频解码软件757a、视频解码软件757b、视频和/或音频API接口759。另外,通用处理器715主管音频驱动电路和763a视频驱动电路763b。而且,PHY 745、通用处理器715、设备驱动协议栈路径747以及媒体播放器软件
761用于接收和处理多媒体数据包的数据,所述数据是基于分配的优先级并通过多种方法发送的。就此而言,个人计算设备711用于通过一个或多个无线、光和/或有线通信网络与诸如源服务器307的媒体源服务器通信,所述通信网络例如图1所述通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121和/或蓝牙连接。本发明的各个实施例用于捕捉媒体和/或对多媒体数据进行编码。
[0104] 物理接口(PHY)745包括适当的逻辑、电路和/或代码,用于通过通信骨干网123、IP网络125、无线网络127、PSTN129、无线基站121和/或蓝牙连接物理地接收数据包,所述数据包包含来自例如PHY343的已编码媒体。就此而言,PHY 645接收图3所述的源已编码媒体329,其基于目标帧所依赖的帧数量进行了分类并通过不同的协议路径传送。
[0105] 协议栈路径747包括适当的逻辑、电路和/或代码,用于借助于稳健程度较高的栈路径747a和/或稳健程度较低的栈路径747b接收来自于单一PHY745的包含源已编码媒体329的数据包。协议栈路径移除链路层、传输层、和/或互联网协议的封装。另外,协议栈路径747将源已编码媒体传送至双重或集成路径队列749。
[0106] 媒体播放器软件761用于实现媒体播放器功能。媒体播放器电路761包括双重或集成路径队列749、拼接和丢帧处理753、视频图像恢复和音频同步755、音频解码软件757a、视频解码软件757b。媒体播放器软件761接收来自协议栈路径747a和/或747b的源已编码媒体329,处理该媒体并将已解码媒体转发至音频驱动763a和视频驱动763b。
[0107] 视频图像恢复和音频同步755用于接收来自双重或集成路径队列749的源已编码媒体329,恢复视频帧中的图像并将音频与视频帧同步。视频图像恢复和音频同步755以各种方式补偿丢失的视频帧。在本发明一示范性实施例中,如果先前或随后的帧丢失时,视频图像恢复和音频同步755就进行帧重复。在此方式下,音频数据保持与相应的视频图像同步。当帧丢失已达到特定数值的情况下,丢失的帧就被插补帧替代,且音频数据与插补帧同步。当帧丢失超过特定数值的情况下,丢弃这些帧并提高音频回放速率以便追赶上一定数量的视频帧,从而实现音频和视频图像的同步。帧的特定数量值是可编程的,并且可静态或动态改变。就此而言,增加的音频率引起暂时的音调偏移直至达到音频和视频同步。另外,拼接和丢帧处理753接收恢复的已同步的帧,并依据时间戳按照合适的序列重新集合这些帧。包含源已编码媒体329的已集合的帧和相应的音频被转发至音频解码器757a和视频解码器软件757b。
[0108] 音频解码器757a和视频解码器757b用于对接收的音频和已偏置的视频帧进行解码并将已解码的音频和视频帧分别转发至音频驱动电路763a和视频驱动电路763b。在本发明的多个实施例中,已解码的音频和视频帧经由无偏置的编码存储在个人计算设备711或其他存储设备上。就此而言,偏置的移除改善了压缩率以实现更紧实的存储。在本发明另一实施例中,音频解码器757a和视频解码器757b以硬件方式实现。
[0109] 音频驱动电路763a、视频驱动电路763b包括适当的逻辑、电路和/或代码,用于分别物理地发送已解码的音频和已解码的视频帧至扬声器765和显示器767。就此而言,视频和/或音频电路API接口759包括一组用于控制音频驱动电路763a和/或视频驱动电路763b的功能。
[0110] 在操作中,个人计算设备711接收已编码多媒体数据的数据包,其中依据每一视频帧所依赖帧的数量通过多个协议路径对已编码视频帧进行优先级处理和/或有选择地处理。已编码多媒体数据接收自远程服务器或来自存储媒介,例如CD、DVD或蓝光碟。就此而言,单一PHY 745接收该已编码多媒体数据,例如,通过双重路径对已编码媒体329进行分组。PHY 745发送所接收的分组源已编码非目标帧329a至稳健程度较高路径747a,以及发送分组源已编码目标帧329b至稳健程度较低路径747b。协议栈路径747发送源已编码媒体329至双重或集成路径队列749。视频图像恢复和音频同步755软件以及拼接和丢帧处理753软件对丢失或损坏的视频帧进行补偿,例如使用帧丢弃、帧重复和/或丢失帧插补以及按照显示顺序来集合帧。结果得到的带时间戳源已编码视频帧329a和/或329b以及估计出的视频帧与带时间戳音频帧329c同步。音频数据329c发送至音频解码器757a,相应的视频帧发送至视频解码器757b,以生成未编码音频和/或视频数据。未编码音频和/或视频数据由音频驱动763a、视频驱动763b和音频/视频电路API接口759发送至扬声器765和/或显示器767以便用户使用。在本发明的多个实施例中,未编码音频和/或视频数据被编码为高压缩级别,以便例如后续的存储。
[0111] 图8是依据本发明一实施例的基于多媒体数据的选择性处理来接收和处理多媒体数据的示范性步骤流程图。步骤800是开始步骤。在步骤802中,媒体播放器109中,通过多个通信路径接收视频帧,并依据用于帧估计目的所依赖的帧的数量对这些视频帧划分优先级,以及依据优先级处理和传送这些帧。在步骤804中,通过较高可靠性和/或安全通信路径和/或以低数据率接收较高优先级视频帧,通过较低可靠性、较低安全性和/或较快通信路径接收较低优先级帧。例如,使用IPsec和TCP/IP发送较高优先级帧,通过IPv4和/或IPv6以及UDP发送较低优先级帧。在步骤806中,使用稳健程度较高的协议栈路径处理较高优先级视频帧,使用稳健程度较低的协议栈处理较低优先级视频帧。例如,使用IPsec和TCP/IP发送较高优先级帧,通过IPv4和/或IPv6以及UDP发送较低优先级帧。在步骤808中,通过跳过丢失的帧、帧重复或插补丢失帧来为丢失的帧提供补偿。在步骤810中,按照显示顺序集合视频帧并通过调整估计出的帧的相应音频和/或音调偏移,将视频帧与相应的音频同步。在步骤812中,对视频帧进行解码。步骤814是示范性结束步骤。
[0112] 在本发明一实施例中,媒体播放器609接收来自于媒体源307的视频帧序列以及相应的音频内容。媒体播放器609用于通过第一协议栈647a处理所接收的视频帧序列的第一部分,通过第二协议栈647b处理所接收的视频帧序列的第二部分。媒体播放器609用于从已处理的接收视频帧序列的第一部分和已处理的接收视频帧序列的第二部分中生成本地视频帧序列。通过第一通信路径以较低的数据率接收所接收的视频帧序列的第一部分。通过第二通信路径以较高的数据率接收所接收的视频帧序列的第二部分。在本发明的多个实施例中,所接收的视频帧序列的第一部分包含的视频帧具有的帧参考依赖性比所接收的视频帧序列的第二部分低。就此而言,当对视频帧序列中的视频帧进行编码时,媒体源307用于限制每一帧所允许的帧依赖数量。在媒体播放器中接收包含较少帧参考依赖性的接收视频帧序列的第一部分的安全级别高于具有较多帧参考依赖性的所述视频帧序列的第二部分,且对接收的视频帧序列的第一部分的处理比对视频帧序列的第二部分的处理更稳健(robust)。
[0113] 在本发明多个实施例中,媒体播放器609在不同的路径队列649中存储来自所接收视频帧序列的第一部分和第二部分的视频帧数据。在本发明其他实施例中,媒体播放器在单个路径队列649中存储来自所接收视频帧序列的第一部分和第二部分的帧数据。来自所接收视频帧序列的第一部分的视频帧数据通过生成重复视频帧和/或插补视频帧来补偿丢失视频帧。该媒体播放器609包括拼接和丢帧处理653、视频图像恢复和音频同步655,用于构建本地视频帧序列,例如,该本地视频帧序列包括所接收的视频帧、重复视频帧和/或插补视频帧。媒体播放器609对音频内容和已生成的本地视频帧序列进行同步和/或音频偏移。而且,媒体播放器609包括音频解码器657a和视频解码器657b,用于对本地视频帧序列和相应的音频内容进行解码。
[0114] 本发明的另一实施例提供一种机器和/或计算机可读存储器和/或介质,其上存储的机器代码和/或计算机程序具有至少一个可由机器和/或计算机执行的代码段,使得机器和/或计算机能够实现本文所描述的在媒体播放器中从借助于多个不同协议栈路径接收的数据中构建视频帧及与音频数据同步的方法和系统。
[0115] 总之,本发明可用硬件、软件、固件或其中的组合来实现。本发明可以在至少一个计算机系统中以集成的方式实现,或将不同的组件置于多个相互相连的计算机系统中以分立的方式实现。任何计算机系统或其他适于执行本发明所描述方法的装置都是适用的。典型的硬件、软件和固件的组合为带有计算机程序的专用计算机系统,当该程序被装载和执行,就会控制计算机系统使其执行本发明所描述的方法。
[0116] 本发明还可以通过计算机程序产品进行实施,所述程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,通过运行,可以实现本发明的方法。本申请文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后,a)转换成其它语言、代码或符号;b)以不同的格式再现,实现特定功能。
[0117] 本发明是通过一些实施例进行描述的,本领域技术人员知悉,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等同替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明的保护范围。