DASH客户端QoE度量的中间件分发的制作方法

文档序号:13823497阅读:368来源:国知局
DASH客户端QoE度量的中间件分发的制作方法

本专利申请要求于2015年6月19日递交的美国临时申请no.62/182,267的优先权,其整体内容以引用方式并入本文。

本公开内容涉及媒体数据的传输。



背景技术:

数字视频能力可以被合并到广泛范围的设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(pda)、膝上型或桌面型计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏操纵台、蜂窝或卫星无线电话、视频电话会议设备等等。另外,服务器设备(比如网络服务器、内容分发网络(cdn)等等)可以,例如通过流或按需网络协议向客户端设备(比如个人计算机、机顶盒、比如笔记本电脑、蜂窝电话之类的移动设备等等)发送媒体数据。数字视频设备实现视频压缩技术,比如mpeg-2、mpeg-4、itu-th.263或itu-th.264/mpeg-4,第10部分,高级视频编码(vac)、itu-th.265(也公知为高效视频编码(hevc))和这些标准的扩展所定义的标准中描述的那些,以便更高效地发送和接收数字视频信息。

在视频数据已经被编码之后,该视频数据可以被打包用于传输或存储。该视频数据可以被集合到符合各种不同标准(比如国际标准化组织(iso)基础媒体文件格式及其扩展,比如avc)的任何一种的视频文件中。

数据(比如包括视频、音频的媒体数据和时序文本数据)可以在各种不同传输方法中分发。一个这种方法是第三代合作伙伴项目(3gpp)网络中的多媒体广播/多播服务(mbms)。mbms例如允许使用单个分发管道向大量订户分发感兴趣的服务。

视频客户端报告的体验质量(qoe)对于监控系统中的分发性能和测量终端用户的观看质量是很重要的。mbms例如提供方法用于通过其接收报告框架来测量传输质量和用户qoe。视频分发方法还可以包括它们自己的质量测量报告,其在终端设备上创建2个不同的报告点。为了确保涵盖内容分发性能的多个方面的合并报告是对于服务供应商容易可用的,很值得聚合两类报告(mbms和视频客户端类型)。



技术实现要素:

一般而言,本公开内容描述关于通过中间件单元向报告服务器分发基于http的动态自适应流(dash)客户端体验质量(qoe)度量的技术。也就是,客户端设备可以包括实现媒体数据的取回的dash的dash客户端(例如,该客户端设备中的单元,比如专用硬件单元或软件模块,比如网络浏览器扩展),以及使用广播或多播服务(比如多媒体广播/多播服务(mbms)或增强mbms(embs))接收媒体数据的中间件单元。该中间件单元还用作关于该dash客户端的代理服务器,其中该中间件单元缓存接收到的媒体数据并将该媒体数据提供给该dash客户端作为对来自该客户端设备的请求的响应。此外,该中间件单元可以从该客户端设备接收dashqoe度量报告,并且代表该dash客户端将这些dashqoe度量报告分发给报告服务器。

在一个示例中,一种生成质量测量报告的方法是由客户端设备的中间件单元执行的,并且包括通过广播或多播从服务器设备接收媒体数据,根据接收到的报告指令来生成接收报告,该接收报告涵盖对所述媒体数据的所述接收,将所述媒体数据的至少一部分分发给所述客户端设备的目标应用,从所述目标应用接收体验质量(qoe)报告,以及将所述qoe报告的内容提供给接收报告服务器。并且,在这一示例中,所述接收报告包括所述qoe报告的内容,但是在其它示例中,这些报告可以被单独地分发和/或分发给不同报告服务器。

在另一个示例中,一种用于生成质量测量报告的设备包括使用数字电路实现的一个或多个基于硬件的处理器,所述处理器配置为执行针对媒体数据的中间件单元和目标应用。所述中间件单元配置为通过广播或多播从服务器设备接收媒体数据,根据接收到的报告指令来生成接收报告,该接收报告涵盖对所述媒体数据的所述接收,将所述媒体数据的至少一部分分发给所述客户端设备的目标应用,从所述目标应用接收体验质量(qoe)报告,以及将所述qoe报告的内容提供给接收报告服务器。

在另一个示例中,一种用于生成质量测量报告的设备包括用于通过广播或多播从服务器设备接收媒体数据的单元,用于根据接收到的报告指令来生成接收报告的单元,该接收报告涵盖对所述媒体数据的所述接收,用于将所述媒体数据的至少一部分分发给所述客户端设备的目标应用的单元,用于从所述目标应用接收体验质量(qoe)报告的单元,以及用于将所述qoe报告的内容提供给接收报告服务器的单元。

在另一个示例中,一种计算机可读存储介质存储有指令,所述指令被执行时使客户端设备的处理器通过广播或多播从服务器设备接收媒体数据,根据接收到的报告指令来生成接收报告,该接收报告涵盖对所述媒体数据的所述接收,将所述媒体数据的至少一部分分发给所述客户端设备的目标应用,从所述目标应用接收体验质量(qoe)报告,以及将所述qoe报告的内容提供给接收报告服务器。

在下面的附图和描述中提出了一个或多个示例的细节。其它特性、目的和优势从该描述和附图以及权利要求将显而易见。

附图说明

图1是描绘了使用传统报告技术的系统的概念示意图。

图2是描绘了根据本公开内容的技术的一个示例系统的概念示意图。

图3是描绘了根据本公开内容的技术的另一个示例系统的概念示意图。

图4是描绘了实现网络上的流媒体数据技术的一个示例系统的框图。

图5是更详细地描绘了图4的取回单元的示例组件集合的框图。

图6是描绘了示例多媒体内容的元素的概念示意图。

图7是描绘了示例视频文件的元素的框图。

图8是描绘了根据本公开内容的技术描可以包括在清单文件中的示例数据(比如dash的媒体演示描述(mpd))的概念示意图。

图9是描绘根据本公开内容的技术对关联分发过程描述(adpd)的示例修改的概念示意图。

图10是描绘根据本公开内容的技术的adpd的替换模式的概念示意图。

图11a是描绘本公开内容的技术的示例的概念示意图。

图11b是描绘具有并行单播/广播接收的行为的示例的概念示意图。

图12是描绘具有多个dash客户端的行为的示例的概念示意图。

图13是描绘根据本公开内容的技术的一种示例方法的流程图。

图14是描绘根据本公开内容的技术的另一种示例方法的流程图。

图15是描绘根据本公开内容的技术配置的的服务器设备和客户端设备的示例的框图。

具体实施方式

一般而言,本公开内容描述用于向一个或多个服务器报告体验质量(qoe)度量的技术。具体来讲,这些技术可以应用在客户端设备(也称为用户设备(ue))包括能够使流应用访问lte网络上的内容广播的中间件单元的情况中。该中间件还用作提供给由客户端设备执行的流应用(该流应用可以是基于http的动态自适应流(dash)客户端)的广播内容的http服务器。然后传统上,该dash客户端可以向服务器报告qoe度量,本公开内容的技术允许该中间件指示该dash客户端向该中间件报告该qoe度量,替代或除了向该dashqoe度量服务器报告。然后,该中间件将会将该dashqoe测量报告包括在mbms接收报告中或附加到其上。本公开内容的技术一般针对该中间件单元从该流应用接收该qoe度量并将该qoe度量主要提供给接收报告服务器,可选地提供给dashqoe服务器。

图1是描绘使用传统报告技术的系统100的概念示意图。在这一示例中,系统100包括用户设备(ue)106(包括多播服务设备客户端(msdc)112,它是中间件单元的示例)和dash客户端108。ue106代表客户端设备的示例,比如个人计算机、蜂窝电话、膝上型计算机、平板电脑、机顶盒等等。msdc112还可以被称为多媒体广播多播服务(mbms)中间件单元、增强多媒体广播多播服务(embms)中间件单元。

在这一示例中,配置服务器和广播多播服务中心(bmsc)104将服务公告118分发给ue106的msdc112。该服务公告118包括,例如清单文件(比如媒体演示描述(mpd)122)、会话描述协议(sdp)和/或关联分发过程描述(adpd)。msdc112的接收报告单元114根据服务公告118中的sdp片段中指定的度量和服务公告118中的adpd片段中的接收报告指令收集接收统计。

dashmpd122还可以指定要收集的dash客户端108的度量。因此,dash客户端108包括dashqoe单元110,其收集指定的度量(也描述为测量)116,并将该qoe度量116上传到dash质量度量收集服务器102。因此,在这一示例中,有两个不同的收集点,用于qoe度量的第一个(dash质量度量收集服务器102)和用于mbms接收报告度量120的第二个(配置服务器和bmsc104)。

图2是描绘根据本公开内容的技术的示例系统100’的概念示意图。根据本公开内容的技术,在图2的示例中,ue106’的dash客户端108’将dashqoe度量116’上传到ue106’的msdc112’。具体而言,配置服务器和bmsc104发送服务公告118’,在这一示例中包括mpd和分段122’。msdc112’向dash客户端108发送mpd和分段122’。该mpd包括dash报告指示。根据本公开内容的技术,dashqoe110’根据该mpd向msdc112’发送dashqoe度量116’。因此,msdc112’可以收集dashqoe测量报告116’,并且接收报告单元114’可以将该dashqoe测量报告包括在相应接收报告120’中(其可以根据3gppmbms标准收集并报告)。

例如,msdc112’可以修改要上传的度量上的mpd部分以允许向msdc112’托管的http服务器发布dashqoe测量。修改该mpd可能已经由中间件(例如,msdc112’)完成以便向msdc112’托管的本地http服务器指出在该mpd中的该分段url。msdc112’还可以被配置为接受来自,例如dash客户端108’的关于dashqoe收集的httppost命令。此外,msdc112’可以将dashqoe日志文件嵌入对应的接收报告120’中。在这一示例中,ue106’不需要将该dashqoe报告报告给dash质量度量收集服务器102’。相反,ue106’可以简单地将该dashqoe度量116’报告与mbms接收报告一起提交给配置服务器和bmsc104’。接下来,bmsc104’可以将该dashqoe报告提交给dash质量度量收集服务器102’。

图3是描绘了根据本公开内容的技术的另一个示例系统100”的概念示意图。一般来讲,这一示例类似于图2的示例,除了在图3的示例中,除了配置服务器和bmsc104”,ue106”还将该qoe测量116”与mbms接收报告120”一起报告给dash质量度量收集服务器102”。也就是,在这一示例中,配置服务器和bmsc104将服务公告118”发送给ue106,并且ue106的msdc112”提取并将mpd和分段122”转发给dash客户端108。dashqoe单元110”将dashqoe度量116”报告给msdc112”。另外,dashqoe110”和/或msdc112”之一或二者将副本、代理、或额外dashqoe报告发送给dash质量度量收集服务器102,如下面更详细解释说明的。

qoe度量可以基于该度量被报告给的服务器而变化。此外,所报告的度量可以在这一示例中依赖于使用的dash标准(例如,3gp-dashvs.mpeg-dash)。例如,在3gp-dash中,dash客户端108可以除了http请求/响应事务的列表、表现切换事件列表、缓存等级、和/或播放列表还报告平均吞吐量、初始播出延迟和mpd信息。另一方面,在mpeg-dash中,所报告的度量可以除了http请求/响应事务的列表、表现切换事件列表、缓存等级、和/或播放列表还包括tcp连接的列表。

3gp-dash26.247版本d00的10.6部分规定该质量报告协议包括:3gp-dash的10.6.2部分中定义的基于xml的报告格式和3gp-dash的10.6.3部分中定义的报告协议。此外,3gp-dash规定xml格式化qoe报告的mime类型为“application/3gpdash-qoe-report+xml”,如其附件j中所定义的。

在这一示例中假设内容供应商和/或运营商希望一个报告被上传到dash质量度量收集服务器102”。因此,在这一示例中,dash客户端108”(具体来讲,dashqoe110”)可以将报告直接发布给msdc112”(发布到本地主机位置)并且msdc112”可以将该报告复制到dash质量度量收集服务器102”(图3中的箭头b,具有复制的替代选择,称为“代理的/复制的dashqoe报告116”b)。或者,msdc112”可以在该测量报告前往dash质量度量收集服务器102”的路上拦截它(图3中的箭头3,具有复制的替代选择,称为“代理的/复制的dashqoe报告116”b),而不是dashqoe110”将该dashqoe度量直接报告给msdc112”。

另外或者作为替代,dash客户端108”可以发出多个报告:一个针对msdc112’,另一个针对dash质量度量收集服务器102”(图3中的箭头a,称为“复制的/其它dashqoe报告116”a)。该报告可以基于相同或不同收集和上传指令而针对不同度量或相同度量。

在使用http流的流化3gpp数据的示例中,可以有多媒体内容的视频和/或音频数据的多种表示。如下面解释说明的,不同表示可以对应于不同编码特征(例如,视频编码标准的不同简档或等级)、不同编码标准或编码标准的扩展(比如多视图和/或可缩放扩展)、或不同比特率。这些表示的清单可以在媒体演示描述(mpd)数据结构中定义。特定媒体演示可以对应于对于http流客户端设备可访问的数据的结构化集合。该http流客户端设备可以请求并下载媒体数据信息以便向该客户端设备的用户呈现流服务。媒体演示可以在mpd数据结构中描述,其可以包括该mpd的更新。

媒体演示可以包含一个或多个周期的序列。每个周期可以包括相同媒体内容的一个或多个表示。一个表示可以是音频或视频数据的若干个替代经编码版本之一。该表示可以通过编码类型区分,例如通过比特率、分辨率、和/或视频数据的编解码器和比特率、语言和/或音频数据的编解码器。术语表示可以用于指代:对应于多媒体内容的特定周期并且以特定方式编码的经编码音频或视频数据的一部分。

特定周期的表示可以被指派给该mpd中的指示该表示所属的适配集合的属性所指示的分组。相同适配集合中的表示一般被视为相互的替代选择,其中,客户端设备能够动态地并且无缝地在这些表示之间切换,例如以便执行带宽适配。例如,特定周期的视频数据的每个表示可以被指派给相同的适配集合,这样任何表示可以被选择用于解码以演示该对应周期的多媒体内容的媒体数据,比如视频数据或音频数据。一个周期内的该媒体内容可以由来自分组0的一个表示(如果存在)或者在一些示例中来自每个非零分组的最多一个表示的组合来表示。一个周期的每个表示的时序数据可以相对于该周期的开始时间表达。

一个表示可以包括一个或多个分段。每个表示可以包括初始化分段,或者一个表示的每个分段可以是自初始化的。在演示时,初始化分段可以包含访问该表示的初始化信息。一般来讲,该初始化分段不包含媒体数据。一个分段可以由一个标识符唯一引用,比如全球资源定位符(url)、全球资源名称(urn)或全球资源标识符(uri)。该mpd可以提供每个分段的标识符。在一些示例中,该mpd还可以以range属性的形式提供字节范围,其可以对应于该url、urn或uri可访问的文件中的分段的数据。

不同表示可以被选择用于基本同时的不同类型媒体数据的取回。例如,客户端设备可以选择从其恢复分段的音频表示、视频表示和时序文本表示。在一些示例中,该客户端设备可以选择特定适配集合用于执行带宽适配。也就是,该客户端设备可以选择包括视频表示的适配集合、包括音频表示的适配集合和/或包括时序文本的适配集合。或者,该客户端设备可以针对某些类型的媒体(例如,视频)选择适配集合,并且直接针对其它类型媒体(例如,音频和/或时序文本)选择表示。

图4是描绘了实现用于在网络上流化媒体数据的技术的示例系统130的框图。在这一示例中,系统130包括内容准备设备140、服务器设备160和客户端设备180。客户端设备180和服务器设备160由网络174通信地连接,其可以包括互联网。在一些示例中,内容准备设备140和服务器设备160还可以通过网络174或另一个网络耦接,或者可以直接地通信耦接。在一些示例中,内容准备设备140和服务器设备160可以包括相同的设备。

在图4的示例中,内容准备设备140包括音频源142和视频源144。音频源142可以包括,例如产生代表要由音频编码器146编码的捕捉到的音频数据的电信号的麦克风。或者,音频源142可以包括存储先前记录的音频数据的存储介质、比如计算机合成器之类的音频数据生成器或任何其它音频数据源。视频源144可以包括产生要由视频编码器148编码的视频数据的视频摄像机、用先前记录的视频数据编码的存储介质、比如计算机图形源之类的视频数据生成单元或任何其它类型的视频数据源。内容准备设备140不是在所有示例中都必须通信地耦接到服务器设备160,但是可以将多媒体内容存储到由服务器设备160读取的单独介质。

原始音频和视频数据可以包括模拟或数字数据。模拟数据可以在由音频编码器146和/或视频编码器148编码之前被数字化。音频源142可以在演讲参与者演讲时从该演讲参与者获取音频数据,视频源144可以同时获取该演讲参与者的视频数据。在其它示例中,音频源142可以包括计算机可读存储介质,其包括存储的音频数据,视频源144可以包括计算计算机可读存储介质,其包括存储的视频数据。因此方式,本公开内容中描述的技术可以应用于实况、流、实时音频和视频数据或引用于已存档、预编码的音频和视频数据。

对应于视频帧的音频帧一般是包含由音频源142与该视频帧中包含的由视频源144捕捉(或生成)的视频数据同时捕捉(或生成)的音频数据。例如,在演讲参与者一般通过演讲产生音频数据时,音频源142捕捉该音频数据,并且视频源144同时捕捉该演讲参与者的视频数据,也就是,在音频源142捕捉该音频数据的同时。因此,音频帧可以在时间上对应于一个或多个特定视频帧。因此,对应于一个视频帧的音频帧一般对应于音频数据和视频数据是被同时捕捉的情况,并且针对这种情况,音频帧和视频帧分别包括同时捕捉到的音频数据和视频数据。

在一些示例中,音频编码器146可以在每个经编码音频帧中编码一个代表该经编码音频帧的该音频数据被记录的时间的时间戳,并且类似的,视频编码器148可以在每个经编码视频帧中编码一个代表该经编码视频帧的该视频数据被记录的时间的时间戳。在这些示例中,对应于一个视频帧的音频帧可以包括一个包括时间戳的音频帧和一个包括相同时间戳的视频帧。内容准备设备140可以包括音频编码器146和/或视频编码器148可以从其生成该时间戳,或者音频源142和视频源144可以用于将音频和视频数据分别与一个时间戳关联起来的内部时钟。

在一些示例中,音频源142可以向音频编码器146发送对应于音频数据被记录的时间的数据,视频源144可以向视频编码器148发送对应于视频数据被记录的时间的数据。在一些示例中,音频编码器146可以在经编码音频数据中编码一个序列标识符以指示经编码音频数据的相对时间顺序,但是不必要指示该音频数据被记录的绝对时间,类似的,视频编码器148也可以使用序列标识符来指示经编码视频数据的相对时间顺序。类似的,在一些示例中,序列标识符可以被映射或者关联到时间戳。

音频编码器146一般产生经编码音频数据流,而视频编码器148产生经编码视频数据流。每个个体数据流(无论音频还是视频)可以被称为基本流。基本流是一个表示的单个的、数字化编码的(可能压缩的)分量。例如,该表示的经编码视频或音频部分可以是一个基本流。一个基本流可以在被分装在到视频文件中之前被转换为分组基本流(pes)。在该同一个表示中,流id可以被用于将术语一个基本流的pes分组与其它的区分开。一个基本流的基础数据单元是分组基本流(pes)分组。因此,经编码视频数据一般对应于基本视频流。类似的,音频数据对应于一个或多个相应基本流。

很多视频编码标准,比如itu-th.264/avc和即将到来的高效率视频编码(hevc)标准,定义无错误比特流的语法、语义和解码处理,其中的任何一个都遵循某个简档或等级。视频编码标准通常被不指定编码器,但是该编码器被指派确保所生成的比特流对于解码器是遵守标准的。在视频编码标准的上下文中,“简档”对应于算法、特性或工具和可以应用于它们的约束的子集。例如,如h.264标准所定义的,“简档”是该h.264标准指定的完整比特流语法的子集。“等级”对应于解码器资源消耗限制,比如解码器存储和计算,者关于图片的分辨率、比特速率和块处理速率。简档可以用profile_idc(简档指示符)值发送,而等级可以用level_idc(等级指示符)值发送。

例如,该h.264标准认可在给定简档的语法施加的边界内,根据该比特流中的语法元素采取的值(比如经解码图片的指定尺寸)还是有可能需要对编码器和解码器的性能做出很大改变。该h.264标准还认可,在很多应用中,实现能够处理特定简档中的语法的所有假设使用的解码器既不可行也不经济。因此,该h.264标准将“等级”定义为施加在该比特流中的语法元素的值上的约束的指定集合。这些约束可以是对值的简单限制。或者,这些约束可以采取对值的算术组合的约束的形式(例如,图片宽度乘以图片高度乘以每秒解码的图片数量)。h.264标准还提供个体实现可以支持每个被支持简档的不同等级。

符合一个简档的解码器通常支持该简档中定义的所有特性。例如,作为编码特性,b-图片编码是h.264/avc的基线简档中不支持的,但是在h.264/avc的其它简档中支持。符合一个等级的解码器应该能够解码不要求超过该等级中定义的限制之外的资源的任何比特流。简档和等级的定义对于可解释性是有帮助的。例如,在视频传输过程中,可以针对整个传输会话协商并同意一对简档和等级定义。更具体地,在h.264/avc的示例中,等级可以定义对需要处理的宏模块的数量、经解码图片缓存(dpb)尺寸、经编码图片缓存(cpb)尺寸、垂直运动向量范围、每量过连续mb运动向量的最大数量和b-块是否可以有小于8x8像素的子宏模块划分的限制。以此方式,解码器可以确定该解码器是否能够恰当地解码该比特流。

在图4的示例中,内容准备设备140的封装单元150接收包括来自视频编码器148的经编码视频数据的基本流和包括来自音频编码器146的经编码音频数据的基本流。在一些示例中,视频编码器148和音频编码器146的每一个可以包括用于从经编码数据构成pes分组的分组器。在其它示例中,视频编码器148和音频编码器146的每一个可以与各自的用于从经编码数据构成pes分组的分组器接口。在又其它示例中,封装单元150可以包括用于从经编码音频和视频数据构成pes分组的分组器。

视频编码器148可以用不同方式编码多媒体内容的视频数据以便以各种比特率并且用各种特征,比如像素分辨率、帧速率、对各种编码标准的符合、对各种编码标准的各种简档和/或简档等级的符合、具有一个或多个视图(例如,针对二维或三维回放)的表示或其它这些特征产生多媒体内容的不同表示。如本公开内容中使用的表示可以包括音频数据、视频数据、文本数据(例如,针对隐藏式字幕)或其它这种数据之一。该表示可以包括基本流,比如音频基本流或视频基本流。每个pes分组可以包括识别该pes分组属于的基本流的stream_id。封装单元150负责将基本流组装到各种表示的视频文件中(例如,分段)。

封装单元150从音频编码器146和视频编码器148接收一个表示的基本流的pes分组并且从该pes分组构成对应的网络提取层(nal)单元。在h.264/avc(高级视频编码)的示例中,经编码视频分段被组织到nal单元中,其提供“网络友好的”视频表示寻址应用,比如视频电话、存储、广播或流。nal单元可以被分类为视频编码层(vcl)nal单元和非vclnal单元。vcl单元可以包含内核压缩引擎并且可以包括块、宏模块和/或限制电平数据。其它nal单元可以是非vclnal单元。在一些示例中,通常演示为主要经编码图片的一个时间实例中的经编码图片可以包含在访问单元中,其可以包括一个或多个nal单元。

非vclnal单元可以除了其它还包括参数集合nal单元和seinal单元。参数集合可以包含序列级报头信息(在序列参数集合(sps)中)和不频繁改变的图片级报头信息(在图片参数集合(pps)中)。使用参数集合(例如,pps和sps),不频繁改变的信息不需要针对每个序列或图片重复,因此可以提高编码效率。此外,参数集合的使用可以使重要报头信息的带外传输生效,避免需要针对错误恢复的冗余传输。在带外传输示例中,参数集合nal单元可以在不同于其它nal单元(比如seinal单元)的信道上发送。

补充增强信息(sei)可以包含针对解码来自vclnal单元的经编码图片采样不必须的信息,但是可以帮助关于解码、显示、错误恢复和其它目的的处理。sei消息可以被包含在非vclnal单元中。sei消息是一些标准规范的标准化部分,并且因此不总是针对标准兼容解码器实现必须的。sei消息可以是序列级sei消息或图片级sei消息。一些序列级信息可以被包含在sei消息中,比如在svc的示例中的可缩放信息sei消息和mvc中的视图可缩放信息sei消息。这些示例sei消息可以传达关于,例如操作点的提取和该操作点的特征的信息。另外,封装单元150可以构成清单文件,比如描述该表示的特征的媒体演示描述(mpd)。封装单元150可以根据可扩展标记语言(xml)将该mpd格式化。

封装单元150可以将多媒体内容的一个或多个表示的数据与该清单文件(例如,该mpd)一起提供给输出接口152。输出接口152可以包括网络接口或用于向存储介质写入的接口,比如通用串行总线(usb)接口、cd或dvd写入器或刻录器、到磁存储介质或闪存介质的接口或用于存储或发送媒体数据的其它接口。封装单元150可以将多媒体内容的每个表示的数据提供给输出接口152,其可以通过网络传输或存储介质将该数据发送给服务器设备160。在图4的示例中,服务器设备160包括存储各种多媒体内容164的存储介质162,每个多媒体内容包括相应的清单文件166和一个或多个表示168a-168n(表示168)。在一些示例中,输出接口152还可以将数据直接发送给网络174。

在一些示例中,表示168可以被分离到适配集合中。也就是,表示168的各个子集可以包括相应的特征公共集合,比如编解码器、简档和等级、分辨率、视图数量、分段的文件格式、可以识别要用该表示显示的文本的其它特征的语言的文本类型信息和/或要解码和显示的音频数据(例如,由扬声器)、可以描述该适配集合中的表示的场景的摄影机角度或现实世界摄影机视角的摄影机角度信息、描述针对特定观众的内容适合性的评级信息等等。

清单文件166可以包括指示对应于特定适配集合的表示168的子集的数据,以及该适配集合的公共特征。清单文件166还可以包括适配集合的个体表示的个体特征的数据表示,比如比特率。以此方式,适配集合可以提供简化的网络带宽适配。适配集合中的表示可以使用清单文件166的适配集合元素的子元素指示。

服务器设备160包括请求处理单元170和网络接口172。在一些示例中,服务器设备160可以包括多个网络接口。此外,服务器设备160的任何或所有特性可以被实现在内容分发网络的其它设备上,比如路由器、桥接、代理设备、开关或其它设备。在一些示例中,内容分发网络的中间设备可以缓存多媒体内容164的数据,并且包括基本上符合服务器设备160的那些组件的组件。一般来讲,网络接口172被配置为通过网络174发送和接收数据。

请求处理单元170被配置为从客户端设备(比如客户端设备180)接收针对存储介质162的数据的网络请求。例如,请求处理单元170可以实现如1999年6月由rfielding等人在网络工作组ietf发布的rfc2616,“超文本传输协议-http/1.1”中描述的超文本传输协议(http)版本1.1。也就是,请求处理单元170可以被配置为接收httpget或部分get请求并提供多媒体内容164的数据作为对该请求的响应。该请求可以指定一个表示168的一个分段,例如使用该分段的url。在一些示例中,该请求还可以指定该分段的一个或多个字节范围,因此包括部分get请求。请求处理单元170还可以针对服务httphead请求配置以提供一个表示168的一个分段的报头数据。无论如何,请求处理单元170可以被配置为处理该请求以便将请求的数据提供给请求设备,比如客户端设备180。

另外或者作为替代,请求处理单元170可以被配置为通过广播或多播协议(比如embms)分发多媒体数据。内容准备设备140可以如所描述的以基本相同的方式创建dash分段和/或子分段,但是服务器设备160可以使用embms或另一个广播或多播网络传输协议分发这些分段或子分段。例如,请求处理单元170可以被配置为从客户端设备180接收多播分组加入请求。也就是,服务器设备160可以将与多播分组相关联的互联网协议(ip)地址通知给与特定媒体内容(例如,直播事件的广播)相关联的客户端设备(包括客户端设备180)。继而,客户端设备180可以提交请求以加入该多播分组。可以将这一请求传播通过网络174(例如,组成网络174的路由器),这样使得该路由器将以该多播分组相关联的ip地址为目的地的业务送往订阅客户端设备(比如客户端设备180)。

如图4的示例中所描绘的,多媒体内容164包括清单文件166,其可以对应于媒体演示描述(mpd)。在mpd的情况中,对应于dash标准,清单文件166还可以包括关于客户端可以收集并向指定服务器报告什么度量的指令。清单文件166可以包含不同替换表示168(例如,具有不同质量的视频服务)的描述,并且该描述可以包括,例如编解码器信息、简档值、等级值、比特率和表示168的其它描述性特征。客户端设备180可以取回媒体演示的mpd以确定如何访问表示168的分段。

具体来讲,取回单元192可以取回客户端设备180的配置数据(未示出)以确定视频解码器188的解码能力和视频输出184的呈现能力。该配置数据还可以包括客户端设备180的用户所选择的任何或所有语言偏好、对应于客户端设备180设置的深度偏好的一个或多个相机视角、和/或客户端设备180的用户所选择的评级偏好。取回单元192可以包括,例如配置为提交httpget和部分get请求的网络浏览器或媒体客户端。取回单元192可以对应于客户端设备180的一个或多个处理器或处理单元(未示出)所执行的软件指令。在一些示例中,关于取回单元192描述的所有或部分功能可以实现在硬件中,或硬件、软件和/或固件的组合中,在此可以提供必备硬件来执行软件或固件的指令。

取回单元192可以将客户端设备180的解码和呈现能力与清单文件166的信息所指示的表示168的特征进行比较。取回单元192可以首先取回清单文件166的至少一部分以确定表示168的特征。例如,取回单元192可以请求清单文件166中的描述一个或多个适配集合的特征的部分。取回单元192可以选择表示168中的具有可以由客户端设备180的编码和呈现能力满足的特征的子集(例如,适配子集)。然后,取回单元192可以确定该适配集合中的表示的比特率,确定当前可用的网络带宽的量,并且从具有能够由该网络带宽满足的比特率的一个表示取回分段。

一般来讲,更高比特率表示可以产生更高质量视频回放,而更低比特率表示可以在可用网络带宽减少时提供足够质量的视频回放。因此,在可用网络带宽相对较高时,取回单元192可以从相对高比特率表示取回数据,而在可用网络带宽较低时,取回单元192可以从相对较低比特率表示取回数据。以此方式,客户端设备180可以在网络174上流化多媒体数据,同时还适应网络174的改变着的网络带宽可用性。

另外或者作为替代,取回单元192可以被配置为根据广播或多播网络协议(比如mbms、embms或ip多播)接收数据。在这些示例中,取回单元192可以提交加入与特定媒体内容相关联的多播网络分组的请求。在加入该多播分组之后,取回单元192可以接收该多播分组的数据而无需向服务器设备160或内容准备设备140发出更多的请求。取回单元192可以提交请求以便在该多播分组的数据不再被需要时(例如,为了停止回放或改变信道到一个不同多播分组)离开该多播分组。

根据本公开内容的技术,取回单元192可以包括流应用(例如,dash客户端)和中间件单元。该中间件单元可以被配置为从该dash客户端接收体验质量(qoe)测量并将该qoe测量与embms接收报告一起分发给,例如服务器设备160。也就是,客户端设备180可以对应于图2、3的ue106’、106”,服务器设备160可以对应于图2、3的配置服务器和bmsc104’、104”。虽然图4中未示出,但是在一些示例中,系统130可以另外包括dash质量度量收集服务器,如上关于图3所讨论的,该dash客户端和/或中间件可以将dashqoe测量报告给该服务器。

网络接口194可以接收所选择的表示的分段的数据并将其提供给取回单元192,继而其可以将该分段提供给解封装单元190。解封装单元190可以将视频文件的元素解封装到连续pes流中,将该pes流解分组以取回经编码数据,并且根据该经编码数据是音频还是视频流的一部分(例如,由该流的pes分组报头指示的)将该经编码数据发送给音频解码器186或视频解码器188。音频解码器186解码经编码音频数据并将经解码音频数据发送给音频输出182,而视频解码器188解码经编码视频数据并将经解码视频数据发送给视频输出184,该经解码视频数据可以包括一个流的多个视图。

视频编码器148、视频解码器188、音频编码器146、音频解码器186、封装单元150、取回单元192、请求处理单元170和解封装单元190的每一个可以被实现为各种不同的适用的固定和/或可编程处理电路的任何一种(只要可用),比如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、分立逻辑电路、软件、硬件、固件或它们的任何组合。视频编码器148和视频解码器188的每一个可以被包括在一个或多个编码器或解码器中,它们的任何一个可以作为组合的视频编码器/解码器(codec)的一部分被集成。同样,音频编码器146和音频解码器186的每一个可以被包括在一个或多个编码器或解码器中,它们的任何一个可以作为组合的codec的一部分被集成。包括视频编码器148、视频解码器188、音频编码器146、音频解码器186、封装单元150、取回单元192、请求处理单元170和/或解封装单元190的装置可以包括集成电路、微处理器和/或无线通信设备(比如蜂窝电话)。

客户端设备180、服务器设备160和/或内容准备设备140可以被配置为根据本公开内容的技术运行。为了举例的目的,这一公开内容关于客户端设备180和服务器设备160描述这些技术。但是,应该理解的是,内容准备设备140可以被配置为执行这些技术,而不是(或者除此之外)服务器设备160。

封装单元150可以构成nal单元,其包括识别该nal单元属于的程序的报头,以及载荷,例如音频数据、视频数据或描述该nal单元对应于的传输或程序流的数据。例如,在h.264/avc中,nal单元包括1字节报头和不同尺寸的载荷。在其载荷中包括视频数据的nal单元可以包括各种粒度等级的视频数据。例如,nal单元可以包括一块视频数据、多个块、一片视频数据或视频数据的完整图片。封装单元150可以以基本流的pes分组的形式从视频编码器148接收经编码视频数据。封装单元150可以将每个基本流与对应的程序关联起来。

封装单元150还可以组装来自多个nal单元的访问单元。一般来讲,一个访问单元可以包括用于表示视频数据的一帧的一个或多个nal单元,以及对应于该帧的音频数据(在这些音频数据可用时)。一个访问单元一般包括一个输出时间实例的所有nal单元,例如一个时间实例的所有音频和视频数据。例如,如果每个视图具有每秒20帧(fps)的帧速率,则每个时间实例可以对应于0.05秒的时间间隔。在这一时间间隔内,同一访问单元(同一时间实例)的所有视图的具体帧可以被同时呈现。在一个示例中,一个访问单元可以包括一个时间实例中的经编码图片,其可以显示为主要经编码图片。

因此,一个访问单元可以包括公共时间实例的所有音频和视频帧,例如对应于时间x的所有视图。这一公开内容还将特定视图的经编码图片称为“视图分量”。也就是,一个视图分量可以包括一个特定时间处的特定视图的经编码图片(或帧)。因此,一个访问单元可以被定义为包括一个公共时间实例的所有视图分量。该访问单元的解码顺序不需要必须与输出或显示顺序相同。

媒体演示可以包括媒体演示描述(mpd),其可以包含不同替换表示(例如,具有不同质量的视频服务)的描述,并且该描述可以包括,例如编解码器信息、简档值和等级值。mpd是清单文件(比如清单文件166)的一个示例。客户端设备180可以取回媒体表示的mpd以确定如何访问各种表示的影片片段。影片片段可以位于视频文件的影片片段盒(moof盒)中。

清单文件166(其可以包括,例如mpd)可以通知表示168的分段的可用性。也就是,该mpd可以包括指示一个表示168的第一分段变得可用的挂钟时间的信息,以及指示表示168中的分段的持续时间的信息。以此方式,客户端设备180的取回单元192可以基于该开始时间以及特定分段之前的分段的持续时间来确定每个分段何时可用。

在封装单元150已经基于接收到的数据将nal单元和/或访问单元组装到视频文件中之后,封装单元150将该视频文件传递给输出接口152用于输出。在一些示例中,封装单元150可以本地存储该视频文件或将该视频文件通过输出接口152发送给远程服务器,而不是将该视频文件直接发送给客户端设备180。输出接口152可以包括,例如发射机、收发机、用于向计算机可读介质(比如光驱动、磁介质驱动(例如软盘驱动)、通用串行总线(usb)端口、网络接口或其它输出接口)写数据的设备。输出接口152将该视频文件输出到计算机可读介质,比如传输信号、磁介质、光介质、内存、闪存驱动或其它计算机可读介质。

网络接口194可以通过网络174接收nal单元或访问单元并通过取回单元192将该nal单元或访问单元提供给解封装单元190。解封装单元190可以将视频文件的元素解封装到连续pes流中,将该pes流解分组以取回经编码数据,并根据该经编码数据是音频还是视频流的一部分(例如,由该流的pes分组报头指示的)将该经编码数据发送给音频解码器186或视频解码器188。音频解码器186解码经编码音频数据并将该经解码音频数据发送给音频输出182,而视频解码器188解码经编码视频数据并将解码视频数据发送给视频输出184,该经解码视频数据包括一个流的多个视图。

该mpd包括包含要被收集的度量和上传的参数的度量元素。该上传参数包括可以通过具体reporting@schemeiduri值的使用扩展的报告元素。3gp-dash26.246版本d00的10.5部分规定要针对该reporting@schemeiduri使用的urn应该是“urn:3gpp:ns:pss:dash:qm10”。3gp-dash还如下定义该3gp-dash质量报告方案的方案信息的语义:

图5是更详细描绘了图4的取回单元192的组件的示例集合的框图。在这一示例中,取回单元192包括embms中间件单元200、dash客户端212和媒体应用214。embms中间件单元200可以一般对应于图2、3的msdc112’、112”,而dash客户端212可以对应于图2、3的dash客户端108’、108”。

在这一示例中,embms中间件单元200还包括embms接收单元206、缓存204、代理/本地服务器202和接收报告单元210。在这一示例中,embms接收单元206被配置为通过embms接收数据例如根据2012年11月由t.paila等人在网络工作组rfc6726提交的,在tools.ietf.org/html/rfc6726或实时对象无方向传输分发(route)协议处可用的“flute—filedeliveryoverunidirectionaltransport,”中描述的基于无方向传输的文件分发(flute)。也就是,embms接收单元206可以通过广播从例如图4的服务器设备160(其可以用作bm-sc)接收文件。

随着embms中间件单元200接收文件数据,embms中间件单元可以将接收到的数据存储在缓存204中。缓存204可以包括计算机可读存储介质,比如闪存、硬盘、ram或任何其它适用的存储介质。

代理/本地服务器202可以用作dash客户端212的http服务器。例如,中间件可以修改针对dash客户端212的mpd文件或其它清单文件。中间件200可以通知调整后的该mpd文件中的分段的可用时间,以及这些分段可以被本地取回的超链接。这些超链接可以包括对应于图4的客户端设备180的本地主机地址前缀(例如,针对ipv4的127.0.01)。以此方式,dash客户端212可以使用httpget或部分get请求从本地http服务器202请求分段。例如,对于可从链路http://127.0.0.1/rep1/seg3获得的分段,dash客户端212可以构造包括针对http://127.0.0.1/rep1/seg3的请求的httpget请求,并且将该请求提交给代理/本地服务器202。代理/本地服务器202可以从缓存204取回请求的数据并将该数据提供给dash客户端212作为对这些请求的响应。或者,embms中间件单元200不需要修改该mpd中的url并且用作代理。以dash服务器170为目标的请求被embms中间件单元200拦截并且来自该本地缓存。

根据本公开内容的技术,http代理/本地服务器202还包括dashqoe度量接收单元208。dashqoe度量接收单元208一般被配置为从dash客户端拦截(在代理的情况中,主要代理/本地服务器202可以选择性地让报告穿过到达dash测量服务器)或接收(在用作本地服务器时)dash报告,例如,接受http发布命令。然后,该报告被转发给接收报告单元210,然后其可以代表dash客户端212将dashqoe度量报告给服务器设备和/或可以将该dashqoe测量报告包括在接收报告中。例如,dashqoe度量可以从dash客户端212接收qoe度量。也就是,代理/本地服务器202可以被配置为从dash客户端212接收httppost命令,其根据媒体演示描述(mpd)或其它清单文件包括dashqoe度量。此外,接收报告单元210根据例如embms报告接收。在一些示例中,接收报告单元210发送包括dashqoe度量和embms接收报告二者的单个报告。在其它示例中,接收报告单元210针对embms接收报告和dashqoe度量来发送单独的报告。

在从dash客户端212接收dashqoe测量报告之后,接收报告单元210可以将该dashqoe度量与关于一协议的接收报告一起报告给服务器设备,其中embms中间件单元200通过该协议来报告关于对于封装该dash数据的文件的接收。另外,在一些示例中,embms中间件单元200和/或dash客户端212之一或二者也可以被配置为将dashqoe度量报告给专用dash度量服务器,如上关于图3所讨论的。

服务器设备160(图1)还可以包括bmsc功能,它将服务公告分发给embms中间件单元200。作为这一发明的一部分,该服务公告还可以包括关于需要的dashqoe测量报告的类型和内容的指令。例如,该服务公告的关联分发过程(adp)片段可以包括描述该dashqoe报告的需要的度量以及其它参数的新的字段和元素。稍后在下面的图9和10中描述一个示例性实现。就更一般的意义而言,该dashqoe收集指令可以通过其它手段分发,例如,omadm、配置文件、原始mpd本身或任何其它手段。

然后,embms中间件单元200可以将上述指令传输到dash客户端212。一种传输这些指令的方法是embms中间件单元200可以修改本地mpd(除了在该原始mpd携带该指令的情况中,在这种情况中,embms中间件单元200不需要修改该mpd)以反映从图4的服务器160获得的度量收集参数。

在另一个示例中,embms中间件单元200可以修改该mpd以收集需要的度量或该度量的超集,并且总是向embms中间件单元200报告。然后,embms中间件单元200能够将该度量减少到服务器160所请求的集合,并且用该服务器160所请求的概率进行报告。

在又另一个示例中,服务器160指示embms中间件单元200根据包括接收报告收集概率(当前adp片段中的samplingpercentag参数)的收集指令收集接收报告。然后,发送给embms中间件单元200的dashqoe收集指令可以包括独立收集概率或条件收集概率。相对收集概率只在接收报告正在被收集时指示dashqoe测量的条件收集,例如如果该接收报告采样百分比参数是50%并且条件收集概率的百分比也是50%,则针对50%的会话要收集接收报告,并且针对接收报告活跃的那50%会话要收集dash测量报告。得出的dashqoe测量的绝对收集概率则是25%。

图6是描绘了示例多媒体内容220的元素的概念示意图。多媒体内容220可以对应于多媒体内容164(图4)或存储介质162中存储的另一个多媒体内容。在图6的示例中,多媒体内容220包括媒体演示描述(mpd)222和多个表示224a-224n(表示224)。表示224a包括可选的报头数据226和分段228a-228n(分段228),而表示224n包括可选的报头数据230和分段232a-232n(分段232)。为了方便起见,字母n用于指定每个表示224中的最后一个影片片段。在一些示例中,在表示224之间可以有不同数量的影片片段。

mpd222可以包括不同于表示224的数据结构。mpd222可以对应于图4的清单文件166。同样,表示224可以对应于图4的表示168。一般来讲,mpd222可以包括一般描述表示224的特征的数据,比如编码和呈现特征、适配集合、mpd222对应的简档、文本类型信息、摄像机角度信息、评级信息、技巧模式信息(例如,指示包括时间子序列的表示的信息)和/或用于取回远程周期的信息(例如,针对回放规程中目标广告向媒体内容中的插入)。

报头数据226在存在时,可以描述分段228的特征,例如随机接入点(rap,也称为流接入点(sap))的时间位置,分段228的特征包括随机接入点、分段228中到随机接入点的字节偏移、分段228的全球资源定位符(url)或分段228的其它方面。报头数据230在存在时,可以描述分段232的类似的特征。另外或者作为替代,这些特征可以完全包括在mpd222中。

分段228、232包括一个或多个经编码视频采样,每个包括视频数据的帧或片。分段228的每个经编码视频采样可以具有相似的特征,例如高度、宽度和带宽要求。这些特征可以由mpd222的数据描述,但是这些数据没有在图6的示例中描绘。mpd222可以包括如3gpp规范所描述的特征,以及本公开内容中描述的额外的任何或所有通知的信息。

分段228、232的每一个可以与唯一的全球资源定位符(url)相关联。因此,分段228、232的每一个可以是使用流网络协议(比如dash)独立可取回的。以此方式,目的地设备(比如图4的客户端设备180)可以使用httpget请求取回分段228或232。在一些示例中,客户端设备180可以使用http部分get请求取回分段228或232的特定字节范围。

根据本公开内容中的技术,mpd222可以包括指定要报告给服务器设备的度量的数据。例如,mpd222可以包括符合下面关于图8描述的数据。

图7是描绘示例视频文件250的元素的框图,其可以对应于一个表示的分段,比如图6的分段228、232之一。分段228、232的每一个可以包括基本上符合图7的示例中描绘的数据的排列的数据。视频文件250可以是所谓的封装一个分段。如上所述,根据iso基础媒体文件格式及其扩展的视频文件250将数据存储在一系列对象中,称为“盒子”。在图7的示例中,视频文件250包括文件类型(ftyp)盒子252、影片(moov)盒子254、分段索引(sidx)盒子262、影片片段(moof)盒子164、和影片片段随机访问(mfra)盒子266。虽然图7代表一个视频文件的示例,但是应该理解的是,其它媒体文件可以包括根据iso基础媒体文件格式及其扩展,类似于视频文件250的数据结构化的其它类型的媒体数据(例如,音频数据、时序文本数据等等)。

文件类型(ftyp)盒子252一般描述视频文件250的文件类型。文件类型盒子252可以包括识别描述视频文件250的最佳使用的规定的数据。文件类型盒子252可以替代地被放置在moov盒子254、影片片段盒子164、和/或mfra盒子266之前。

在一些示例中,一个分段(比如视频文件250)可以在ftyp盒子252之前包括mpd更新盒子(未示出)。该mpd更新盒子可以包括:用于指示对应于包括要被更新的视频文件250的表示的mpd的信息,以及用于更新该mpd的信息。例如,该mpd更新盒子可以提供要用于更新该mpd的资源的uri或url。举另一个例子,该mpd更新盒子可以包括用于更新该mpd的数据。在一些示例中,该mpd更新盒子可以紧跟在视频文件250的分段类型(styp)盒子(未示出)之后,其中,该styp盒子可以定义视频文件250的分段类型。下面更详细讨论的图7提供关于该mpd更新盒子的额外信息。

在图7的示例中的moov盒子254包括影片报头(mvhd)盒子256、(trak)盒子258、和一个或多个影片扩展(mvex)盒子260。一般来讲,mvhd盒子256可以描述视频文件250的一般特征。例如,mvhd盒子256可以包括描述何时视频文件250被初始创建、何时视频文件250被最后修改、视频文件250的时间尺度、视频文件250的回放的持续时间的数据、或一般描述视频文件250的其它数据。

trak盒子258可以包括视频文件250的轨道的数据。trak盒子258可以包括描述对应于trak盒子258的该轨道的特征的轨道报头(tkhd)盒子。在一些示例中,trak盒子258可以包括经编码视频图片,而在其它示例中,该轨道的经编码视频图片可以被包括在影片片段264中,其可以被trak盒子258和/或sidx盒子262的数据引用。

在一些示例中,视频文件250可以包括多于一个轨道。因此,moov盒子254可以包括等于视频文件250中轨道数量的数个trak盒子。trak盒子258可以描述视频文件250的相应轨道的特征。例如,trak盒子258可以描述该对应轨道的时间和/或空间信息。在封装单元150(图6)在视频文件(比如视频文件250)中包括参数集合轨道时,类似于moov盒子254的trak盒子258的trak盒子可以描述一个参数集合轨道的特征。封装单元150可以用信号发送该序列级sei消息在描述该参数集合轨道的trak盒子中的参数集合轨道中的出现。

mvex盒子260可以描述对应影片片段264的特征,例如以便用信号发送视频文件250除了moov盒子254中包括的视频数据(如果有的话)以外还包括影片片段264。在流视频数据的上下文中,经编码视频图片可以被包括在影片片段264中而不是moov盒子254中。因此,所有经编码视频采样都可以被包括在影片片段264中,而不是moov盒子254中。

moov盒子254可以包括等于视频文件250中的影片片段264数量的数个mvex盒子260。每个mvex盒子260可以描述对应一个影片片段264的特征。例如,每个mvex盒子可以包括描述对应一个影片片段264的时间持续时间的影片扩展报头盒子(mehd)盒子。

如上所述,图4的封装单元150可以将序列数据集合存储在不包括实际经编码视频数据的视频采样中。一个视频采样一般可以对应于一个访问单元,它是特定时间实例处的经编码图片的表示。在avc的上下文中,该经编码图片包括一个或多个vclnal单元,其包含用于构造该访问单元和其它相关联非vclnal单元(比如sei消息)的所有像素的信息。因此,封装单元150可以包括序列数据集合,其可以在一个影片片段264中包括序列级sei消息。封装单元150还可以用信号发送序列数据集合和/或序列级sei消息的出现,就像出现在对应于一个影片片段264的一个mvex盒子260中的一个影片片段264中一样。

sidx盒子262是视频文件250的可选元素。也就是,符合3gpp文件格式或其它这种文件格式的视频文件不必须包括sidx盒子262。根据3gpp文件格式的示例,sidx盒子可以被用于识别一个分段(例如,视频文件250中包含的分段)的子分段。该3gpp文件格式将子分段定义为“具有相应媒体数据盒子的一个或多个连续影片片段盒子的自包含集合,并且包含由影片片段盒子引用的数据的媒体数据盒子必须跟在该影片片段盒子之后并且在包含关于该相同轨道的信息的下一个影片片段盒子之前”。3gpp文件格式还指示sidx盒子“包含对该盒子存档的分段的子分段的引用序列。被应用的子分段在演示时间上是连续的。类似的,分段索引盒子引用的字节总是在该分段中连续的。所引用的尺寸给出引用的材料中字节的数量计数”。

sidx盒子262一般提供代表视频文件250中包括的一个分段的一个或多个子分段的信息。例如,这些信息可以包括子分段开始和/或结束处的回放时间、该子分段的字节偏移、该子分段是否包括(例如,以之开始)流接入点(sap)、该sap的类型(例如,该sap是否是即时解码刷新(idr)图片、纯净随机访问(cra)图片、断链访问(bla)图片等等)、该sap在该子分段中的位置(在回放时间和/或字节偏移方面)等等。

影片片段264可以包括一个或多个经编码视频图片。在一些示例中,影片片段264可以包括一个或多个图片分组(gop),每个可以包括若干个经编码视频图片,例如帧或图片。另外,如上所述,影片片段264可以在一些示例中包括序列数据集合。每个影片片段264可以包括影片片段报头盒子(mfhd,图7中未示出)。该mfhd盒子可以描述对应影片片段的特征,比如该影片片段的序列号。影片片段264可以按照视频文件250中的序列号顺序被包括。

mfra盒子266可以描述视频文件250的影片片段264中的随机接入点。这可以辅助执行技巧模式,比如执行到视频文件250封装的分段中的特定时间位置(即,回放时间)的定位。在一些示例中,mfra盒子266一般是可选的并且不需要被包括在视频文件中。同样,客户端设备(比如图4的客户端设备180)不必须参考mfra盒子266以正确地解码并显示视频文件250的视频数据。mfra盒子266可以包括等于视频文件250的轨道数量,或者在一些示例中等于视频文件250的媒体轨道(例如,非提示轨道)数量的数个轨道片段随机访问(tfra)盒子(未示出)。

在一些示例中,影片片段264可以包括一个或多个流接入点(sap),比如idr图片。同样,mfra盒子266可以提供在该sap的视频文件250中的位置的指示。因此,视频文件250的时间子序列可以从视频文件250的sap构成。该时间子序列还可以包括其它图片,比如取决于sap的p-帧和/或b-帧。时间子序列的帧和/或片可以在该分段中被排列为使得依赖于该子序列的其它帧/片的该时间子序列的帧/片能够被恰当地解码。例如在数据的分层排列中,用于其它数据的预测的数据也可以被包括在该时间子序列中。

图8是描绘根据本公开内容的技术可以被包括在清单文件中的示例数据280的概念示意图,比如dash的媒体演示描述(mpd)。在这一示例中,该mpd可以在mpdtype盒子中包括一个或多个度量元素282。现有的3gp-dash限制对该度量元素的一次出现的支持。

此外,该mpd包括metricstype284属性列表,其指定要收集的度量286(并且也可以包括收集参数,例如在括号中)。metricstype属性列表284还可以包括一个或多个报告元素288。每个报告元素可以包括一个指定schemiduri290的属性,其可以是如3gp-dash中定义的全球资源名称(urn)。这一schemiduri290元素可以包括作为单独命名空间中的扩展元素或属性添加的结构化数据。该schemiduri290元素的值可以指定要向其报告的服务器的标识符。

此外,该mpd包括该metricstype元素的零或更大范围元素292。每个范围元素292一般包括指示何时收集qoe度量的数据。如果范围元素292被省略,则dash客户端/中间件单元可以确定针对整个会话收集度量。在这一示例中,范围元素292包括开始时间元素289和持续时间元素291。在流化直播媒体内容时,开始时间元素289可以指定相对于该媒体内容的可用开始时间的开始时间。持续时间元素291可以指定要针对其报告度量的范围的播放时间的持续时间。

因此,度量元素282可以在mpd根一级定义。报告schemeiduri290的可能值没有在mpegdash中定义。一般来讲,schemeiduri290可以是全球资源定位符(url)、全球资源名称(urn)或其它标识符值。特定于3gpp的值是在3gp-dash26.247中定义的。在属性列表中报告元素288的值元素285被用于参数列表。报告元素288的id元素287识别等效报告方案,借此如果多个这种元素具有相同id只需要考虑多个报告schemeiduri中的一个。

3gp-dash26.247版本d00的10.5部分如下指定3gp-dash质量报告方案的方案信息的xml(可扩展标记语言)语法:

这一模式定义3gppdash的质量报告方案信息。

元素“xmlns="urn:3gpp:ns:pss:adaptivehttpstreaming:2009:qm">”指定单独的命名空间。

如上所述,根据这一公开内容的mpd允许多个度量元素的定义。如果定义多于一个度量元素,则该dash客户端(例如,图5的dash客户端212)可以创建该mpd的每个度量元素的不同度量报告。这与现有3gp-dash规范相反,现有规范声明“最多一个度量元素应该出现在该mpd中”。此外,3gp-dash规范可以被根据本公开内容修改,这样该规范授权dash客户端该mpd的每一度量元素生成一个度量报告。

图9是描绘根据本公开内容的技术的对关联分发过程描述(adpd)的示例修改294的概念示意图。根据本公开内容的技术,对adpd的修改294可以提供:

●指示是否应该收集dashqoe报告的标记296a。

a)替代选择:dashqoe属性可以被加入到一个元素中;如果该元素存在,则dashqoe收集是活跃的。在这种情况中,不需要收集标记296a。

●如果上述标记296a被设置为真,则任何或所有的下面条件属性可以作为修改294的一部分被添加:

a)指示dashqoe是否应该被压缩的标记296b。

b)要收集的度量列表296c。

■或者,这些度量可以在会话描述协议(sdp)数据中指定。

c)指示dashqoe收集是否应该被同步到接收报告的标记296d。

d)可选的dashqoe采样百分比数据296e。

另外,对adpd的修改294可以包括向中间件指示该mpd中的现有度量信息是否应该被丢弃/禁止的标记(未示出)。

图10是描绘根据本公开内容的技术的adpd的替代模式的概念示意图。在这一示例中,该adpd的报告过程类型元素300包括额外的dashqoeprocedure元素302。这一额外的dashqoeprocedure元素302的出现触发在dash度量元素304中指定的作为接收报告一部分的dashqoe测量的收集。图10中圈出的dash度量元素304应该被制定为强制的以确保一些度量被定义。

如上所述,有一个标记(比如dashqoesync标记306)指示dashqoe收集是否应该被同步到接收报告。同步行为可以根据dashqoesync标记306的值如下定义:

●场景1:dashqoesync标记306被设置为真,针对dashqoe=>如果rr是活跃的不包括其它采样百分比,收集dashqoe测量。

●场景2:该dashqoesync标记306被设置为真,针对dashqoe包括条件采样百分比308。这意味着如果rr是活跃的,则该中间件应该根据指示的条件概率收集dashqoe测量。

a)示例:接收报告采样百分比是50%;dashqoe采样百分比是50%,则50%的时间接收报告要被收集;在接收报告被收集时,dashqoe报告是在50%的时间被收集的(得出dashqoe测量报告的收集概率将是25%)。

●场景3:该同步标记被设置为假,针对dashqoe包括采样百分比(或默认是100%)。这意味着与rr活跃性无关,该中间件应该以指示的概率收集dashqoe测量。在这一替代选择中,被分发给接收报告服务器的接收报告可以只包括dashqoe度量。

下面描述接收报告和dashqoe测量报告的聚合的示例。在一些示例中,使用利用多部分/混合文件格式的现有过程将embms接收报告和dashqoe测量报告聚合到单个日志文件中。

在第一示例中,接收报告的内容类型可以被用于区分两类报告,例如用于接收报告日志文件的text/xml和用于dash报告的text/xml-dash。根据这一第一示例,该报告可以如下格式化:

在第二示例中,可以使用相同的text/xml内容类型。该接收机能够通过xml文件的报头识别报告类型。根据这一第二示例,该报告可以如下所述格式化:

在又另一个示例中,该dash测量报告可以作为该mbms接收报告模式的新元素被嵌入该embms接收报告中。

在一个示例中,假设该同步标记是打开的。可以推荐该同步标记总是被设置为1(也就是,打开)。在一些实现中,该同步标记属性/元素可以不是具有dashqoe测量总是被与embms接收报告同步收集的假设的模式的一部分。通过接收报告发布的dashqoe测量可以只在接收报告活跃时是活跃的。有了同步标记on,聚合接收报告可以只包含embms接收报告或embms接收报告和dashqoe测量报告的混合。

在一个示例中,度量属性列表模仿adpd中提供的指令列表。该schemeiduri元素可以如下填充:

●压缩标记(跟在adpd压缩指令之后)。

●采样百分比(例如,100%,总是在中间件处接收该报告;然后中间件能够决定是否每一adpd采样百分比和同步标记指令保留报告或丢弃)。

●发布url(其可以指向中间件http服务器,例如图5的代理/本地服务器202)。

●间隔可以是可选的(可以被设置为较小的间隔以确保由中间件获得更小更频繁的报告;更频繁的报告可以在dash客户端和/或中间件崩溃的情况中提供健壮性)。

在一个示例中,范围元素可以被排除,这样总是有针对完整会话的dashqoe报告。作为替代,该范围元素可以被包括以指定要针对其报告qoe度量的时间周期。

该中间件单元(例如,图5的中间件单元200)可以修改被传递给dash客户端的mpd,这样该dash客户端总是生成dashqoe测量报告,然后它将其发布给中间件。但是,该中间件单元可以被配置为概率性地确定是否要报告接收到的dashqoe度量。也就是,该dashqoe度量可以被根据如该adpd中指定的相同概率来报告。因此,在一些实例中,由该中间件单元从该dash客户端接收到的dashqoe报告可以被丢弃,而无需被报告给该服务器(即,在根据该adpd概率被确定为不报告接收的实例中)。

图11a是描绘本公开内容的技术的示例执行的概念示意图。在这一示例中,假设上面讨论的同步标记是打开的(即,具有“真”的值)。该示例处理可以如下:

●在每个dash观看会话的结束处生成dash测量报告。

●按照3gppembms规范,该embms中间件在接收/观看会话的结束处做出日志决定。

●在该embms会话的结束处,该中间件已经收集了接收报告日志:

a)假设该中间件日志决定是要记日志。该中间件使用多部分mime文件格式将任何接收到的dash测量报告嵌入该embms接收报告中。以混合多部分mime文件形式的该embms接收报告被使用adpd中指定的随机化周期上传。

b)假设该中间件日志决定是不记日志。在这种情况中,在该中间件处收集的接收报告被丢弃。从该dash客户端后续接收的任何针对该会话的报告也被丢弃。

作为一个替代选择,dashqoe质量报告可以被周期性地生成。这可以在dash客户端崩溃的情况中提供更好的可靠性。报告可以还是被嵌入多部分mime接收报告文件中。潜在问题是还没有做出要记日志的决策,因此该中间件单元可能需要基于接收报告日志决策在稍后时间丢弃报告。

在替代示例中,假设该同步标记是关闭。通过该接收报告发布的dashqoe测量报告可以无关是否该决策是要针对embms接收报告记日志都是活跃的。该聚合的接收报告可以只包含embms接收报告、embms接收报告和dashqoe测量报告的混合,或只包含dashqoe测量报告。这与该同步标记是打开时上传的接收报告文件总是包含3gpp接收报告形成对比。

返回参考图8的示例,该mpd在同步标记是关闭时可以与如上所讨论的该同步标记是打开时是相同的。但是,该dashqoe度量报告可以总是由dash客户端收集,并且该中间件单元可以确定是否要将该dashqoe度量报告包括在接收报告的日志文件中。

图11b是描绘根据本公开内容的技术具有并行单播/广播接收的行为的示例的概念示意图。中间件单元200可以提供在embms上接收的embms寄存的客户端分段并且如果embms服务不再可用则切换到单播(mood设计)。在这种情况中,embms可以在该服务器活跃时聚合该会话的持续时间上的接收报告和dashqoe测量报告。可以预期的是,中间件单元200保持该flute会话活跃,即使该ue切换到单播。也就是,中间件单元200可以贯穿广播内容的丢失的周期继续收集该接收报告。

图12是描绘具有多个dash客户端的行为的示例的概念示意图。例如,在软ap架构的情况中,多个dash客户端可以消耗来自公共中间件的embms内容。在这些示例中,该中间件可以在该会话内并且直到该会话结束之后很短时间收集全部dash测量报告。该中间件可以将所有dash测量报告嵌入到该公共接收报告中,其可以包括各个dash客户端的指定标识符(例如,在dash测量报告中的clientid字段)。

图13是描绘根据本公开内容的技术的示例方法的流程图。图13的示例方法的步骤被描述为分别由图5的中间件单元200和dash客户端212执行。应该理解的是,这一或类似方法可以由其它中间件和dash客户端集合执行,比如图2和3的msdc112’、112”和dash客户端108’、108”。

首先,中间件单元200接收包括dash报告元素的adpd(350)。如上所描述的,该dash报告元素可以包括以下各项中的一项或者多项:指示是否要报告dash度量的标记、要报告的dash度量、dash度量报告是否与mbms接收报告同步、和/或如果dash度量报告不与mbms接收报告同步的dashqoe采样百分比。

假设该adpd指示dash度量要被包括在mbms接收报告中,则中间件单元200可以更新清单文件,比如dashmpd,以便将中间件单元200识别为dash度量报告的目标(352)。例如,中间件单元200可以将本地主机地址指定为该清单文件中的dash度量接收报告服务器的地址。中间件单元200还可以将该清单文件(例如,dashmpd)发送给dash客户端212(354)。dash客户端212还可以从中间件单元200接收该mpd(356)。

接下来,中间件单元200可以例如根据mbms或embms广播或多播接收媒体数据(358)。中间件单元200可以缓存接收到的媒体数据(360),例如在缓存204中。然后,dash客户端212可以从中间件单元200请求所有或部分接收到的媒体数据(362)。作为对该请求的响应,中间件单元200可以将所请求的媒体数据发送给dash客户端212(364)。

然后,dash客户端212可以接收媒体数据(366)。dash客户端212还可以将媒体数据接收的dash度量报告给中间件单元200(368),例如,根据从中间件单元200接收的清单文件。虽然图13中未示出,但是应该理解的是,dash客户端212还可以处理接收到的媒体数据,例如通过将该接收到的媒体数据分发给媒体应用214。

中间件单元200可以从dash客户端212接收dash度量报告(370)。例如,中间件单元200可以从dash客户端212接收包括该dash度量的httppost提交。在图13的示例中,中间件单元200生成包括该dash度量的mbms接收报告(372)。以此方式,中间件单元200可以根据从服务器设备接收的adpd的报告指令来生成接收报告,其中该接收报告涵盖对媒体数据的接收,它还包括从dash客户端212接收的dashqoe报告。但是,在其它示例中,中间件单元200可以分别分发mbms接收报告和dashqoe报告,并且在一些情况中分发给单独的报告服务器。但是,在图13的示例中,中间件单元200将包括从dash客户端212接收的dash度量的接收报告发送给从其接收该媒体数据的媒体服务器(374)。

在一个示例中,中间件单元200将不同多部分mime类型指派给该mbms接收报告和dash度量,以便在这两个报告之间进行区分。也就是,中间件单元200可以向该mbms接收报告指派第一多部分mime类型值,并且向该dash度量指派第二不同多部分mime类型值。以此方式,该中间件单元200向其分发该接收报告的接收报告服务器可以使用该多部分mime类型来将该mbms接收报告从dash度量中区分出来。

以此方式,图13的方法代表一种由客户端设备的中间件单元执行的方法的示例,包括通过广播或多播从服务器设备接收媒体数据,根据接收到的报告指令来生成接收报告,其中该接收报告涵盖对该媒体数据的接收,将该媒体数据的至少一部分分发给该客户端设备的目标应用,从该目标应用接收体验质量(qoe)报告,并且将该qoe报告内容提供给接收报告服务器。并且在这一示例中,该接收报告包括该qoe报告的内容,但是在其它示例中,这些报告可以是分开分发的和/或被分发给单独的报告服务器。

图14是描绘根据本公开内容的技术的另一个示例方法的流程图。图14的方法是关于中间件单元200描述的,但是应该理解的是,其它设备(比如图2和3的msdc112’、112”)可以被配置为执行这一方法或类似方法。

首先在这一示例中,中间件单元200例如根据mbms或embms通过广播或多播接收媒体数据(380)。虽然图14中未示出,但是应该理解的是,在接收该媒体数据之前,中间件单元200可以订阅特定mbms或embms服务。另外,中间件单元200可以接收包括比如何时要生成接收报告、什么信息要包括在该接收报告中等等的报告指令的adpd。此外,该adpd可以根据本公开内容的技术包括指示dashqoe报告是否要被包括在该接收报告中或单独提交,以及如果该dashqoe报告要被单独提交时dashqoe度量报告服务器的网络地址的数据。

然后,在这一示例中,中间件单元200根据adpd的接收的报告指令来生成接收报告,其中该接收报告涵盖对该媒体数据的接收(382)。一般来讲,接收报告是在回退时间和随机化周期之后发送的。这一延迟将确保该中间件能够接收由该dash客户端生成的dashqoe测量报告。无论如何,应该理解的是,该接收报告的发布不需要在接收该媒体数据之后立即执行,但是相反如果需要的话可以被延迟直到接收dashqoe度量报告之后,如下面讨论的。

中间件单元200还将该媒体数据分发给目标应用(384),例如dash客户端(比如图5的dash客户端212)。具体来讲,中间件单元200可以缓存接收到的媒体数据,例如在缓存204中,并且等待来自dash客户端212的针对该媒体数据或其一部分的请求。中间件单元200可以将所请求的媒体数据发送给dash客户端212作为对这些请求的响应。该请求可以包括httpget或部分get请求(也就是,指定目标url的字节范围的get请求)。此外,在将该媒体数据向dash客户端212分发之前,中间件单元200可以向dash客户端212发送清单文件(比如mpd)。该清单文件可以指示dashqoe度量报告要被分发给中间件单元200,以及其它清单文件信息(比如媒体文件的url),指示该媒体文件何时将可用的挂钟时间等等。此外,中间件单元200可以修改该清单文件以便将中间件单元200识别为dash客户端212要向其发送dashqoe度量报告的服务器。

在这一示例中,在将该媒体数据分发给目标应用之后,中间件单元200从该目标应用接收qoe报告(386)。例如,中间件单元200可以从dash客户端212接收dashqoe报告。除了http请求/响应事务列表、表示切换事件列表、缓存等级、tcp连接列表、表示切换事件列表、缓存等级、和/或播放列表之外,该dashqoe报告还可以包括表示各个请求的dash度量的值的数据,比如平均吞吐量、初始播放延迟、和mpd信息。

然后,中间件单元200可以将dashqoe报告的内容提供给接收报告服务器(388),例如如adpd所指示的。在一个示例中,中间件单元200可以单独分发mbms或embms接收报告和dashqoe报告的内容。在其它示例中,中间件单元200可以一起分发mbms/embms接收报告和该dashqoe报告的内容,例如在单个文档中(例如,单个文件或其它数据集合)。在一些示例中,在这些报告被一起分发时,中间件单元200可以使用不同的多部分mime类型来标识这些报告,例如针对mbms接收报告的第一多部分mime类型,和针对dashqoe报告的第二不同多部分mime类型。

以此方式,图14的方法代表由客户端设备的中间件单元执行的方法的示例,包括通过广播或多播从服务器设备接收媒体数据,根据接收到的报告指令来生成接收报告,该接收报告涵盖对该媒体数据的接收,将该媒体数据的至少一部分分发给该客户端设备的目标应用,从该目标应用接收体验质量(qoe)报告,并且将该qoe报告的内容提供给接收报告服务器。并且,在这一示例中,该接收报告包括该qoe报告的内容,但是在其它示例中,这些报告可以被单独分发和/或被分发给不同的报告服务器。作为替代,中间件单元200可以使用不同的xml报头将mbms接收报告从dashqoe报告中区分出来。

图15是描绘根据本公开内容的技术配置的服务器设备400和客户端设备410的示例的框图。服务器设备400可以对应于图2或3的配置服务器和bmsc104,图4的服务器设备150和/或内容准备设备140。客户端设备410可以对应于图2或3的ue106和/或图4的客户端设备180。因此,客户端设备410代表用户设备(ue)的示例,比如个人计算机、比如手机、平板电脑之类的移动设备、或膝上型电脑、机顶盒等等。

在这一示例中,客户端设备410包括dash客户端412和中间件单元414。dash客户端412可以对应于图2的dash客户端108’、图3的dash客户端108”或图5中的取回单元192的dash客户端212。中间件单元414可以对应于图2的msdc112’、图3的msdc112”或图5的取回单元192的embms中间件200。dash客户端412可以代表例如由客户端设备410执行的网络浏览器的基于软件插件。

中间件单元414和dash客户端412可以实现在硬件、软件、固件或它们的组合中。实现在软件或固件中时,预期也要提供必备的硬件,比如计算机可读介质和一个或多个处理单元。一般来讲,该处理单元是使用固定或可编程数字逻辑电路实现的,比如一个或多个asic、dsp、fpga、微处理器等等。

根据本公开内容的技术,中间件单元414可以被配置为通过广播或多播从服务器设备400接收媒体数据,根据接收到的报告指令来生成接收报告,该接收报告涵盖对该媒体数据的接收,将该媒体数据的至少一部分分发给该客户端设备410的dash客户端412(在这一示例中代表目标应用的示例),从该dash客户端412接收体验质量(qoe)报告,并且将该qoe报告的内容提供给接收报告服务器。该接收报告服务器可以对应于服务器设备400或单独的服务器设备(未示出)。

在一个或多个示例中,所描述的功能可以实现在硬件、软件、固件或它们的任何组合中。如果实现在软件中,所述功能可以作为一个或多个指令或代码存储在计算机可读介质上或在其上发送并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于比如数据存储介质之类的有形介质,或包括任何有助于计算机程序从一个地方到另一个地方的转移(例如,根据通信协议)的介质的通信介质。以此方式,计算机可读介质一般可以对应于(1)永久性的有形计算机可读存储介质或(2)比如信号或载波之类的通信介质。数据存储介质可以是能够由一个或多个计算机或一个或多个处理器访问以取回用于本公开内容中描述的技术的实现的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。

举个例子,但是并不仅限于,该计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储器、磁盘存储器或其它磁存储设备、闪存,或可以用于以指令或数据结构的形式存储期望程序代码,并由计算机访问的任何其它介质。此外,任何连接也都可适当地被称作计算机可读介质。举个例子,如果指令是通过同轴电缆、纤维光缆、双绞线、数字用户线(dsl)、或无线技术(比如红外、无线电和微波)从网站、服务器、或其它远程源传输的,则同轴电缆、纤维光缆、双绞线、dsl、或无线技术(比如红外、无线电和微波)包含在介质的定义中。但是,应该理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时介质,而是相反针对永久性、有形存储介质。本申请中所用的磁盘和光盘,包括压缩盘(cd)、镭射影碟、光盘、数字化视频光盘(dvd)、软盘和蓝光光盘,其中,磁盘通常磁力地再生数据,而光盘则用激光光学地再生数据。上述的组合也可以包括在计算机可读介质的范围内。

指令可以由一个或多个处理器执行,比如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或分立逻辑电路。因此,本申请中所使用的术语“处理器”指的是任何上述结构或适合于本申请中描述的技术的实现的任何其它结构。另外,在一些方面,本申请中所描述的功能可以在配置用于编码和解码,或合并在组合编解码器中的专用硬件和/或软件模块中提供。并且,所述技术可以完全实现在一个或多个电路或逻辑元件中。

本公开内容的技术可以实现在广泛不同的设备或装置中,包括无线手机、集成电路(ic)或ic组(例如,芯片组)。各种组件、模块或单元在本公开内容中描述为强调配置为执行所公开技术的设备的功能性方面,但是不必须要求由不同硬件单元实现。相反,如上所述,各个单元可以被组合到编解码器硬件单元中或者由互操作性硬件单元的集合(包括如上所描述的一个或多个处理器)结合适用的软件和/或固件来提供。

已经描述了各个示例。这些和其它示例处于下面的权利要求范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1