流式传输经编码视频数据的制作方法

文档序号:7914294阅读:140来源:国知局
专利名称:流式传输经编码视频数据的制作方法
技术领域
本发明涉及经编码视频数据的输送。
背景技术
可将数字视频能力并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-TH. 263或ITU-T H. ^H/MPEG-4第10部分(高级视频译码(AVC))定义的标准及这些标准的扩展中所描述的技术,以更有效率地发射及接收数字视频信息。视频压缩技术执行空间预测及/或时间预测,以减少或去除视频序列中所固有的冗余。对于基于块的视频译码,可将视频帧或片段分割成若干宏块。可进一步分割每一宏块。使用相对于相邻宏块的空间预测来编码经帧内译码(I)的帧或片段中的宏块。经帧间译码(P或B)帧或片段中的宏块可使用相对于同一帧或片段中的相邻宏块的空间预测或相对于其它参考帧的时间预测。在已编码视频数据之后,视频数据可由多路复用器包化以用于发射或存储。举例来说,MPEG-2标准包括定义许多视频编码标准的输送等级的“系统”章节。MPEG-2输送等级系统可由MPEG-2视频编码器或遵守不同视频编码标准的其它视频编码器使用。举例来说,MPEG-4标准规定与MPEG-2的编码及解码方法不同的编码及解码方法,但实施MPEG-4标准的技术的视频编码器可仍利用MPEG-2输送等级方法。第三代合作伙伴计划(3GPP)还提供用于使用用于经编码视频数据的特定多媒体容器格式来输送经编码视频数据的技术。

发明内容
一般来说,本发明描述用于支持经由例如超文本传送协议(HTTP)等网络协议来流式输送经编码视频数据的技术。源装置可形成媒体呈现描述(MPD)文件,所述文件列出经编码媒体数据的多种呈现。每一呈现对应于针对共同视频的不同编码。举例来说,就编码及/或渲染能力以及各种平均位率来说,每一呈现可具有目的地装置的不同期望。源装置可发信号通知每一呈现的特性,从而允许目的地装置基于所述目的地装置的解码及渲染能力而选择呈现中的一者,且基于网络环境变化及呈现的带宽而在不同呈现之间切换。呈现可经预编码或实时编码,且存储在服务器中作为文件或文件分段,其遵守 (例如)ISO基本媒体文件格式及其扩展。目的地装置可在(例如)HTTP上在各种时间从呈现中的一者或一者以上检索数据。源装置可进一步发信号通知每一呈现的分段,例如,在每一呈现内的视频分段的字节范围及对应的时间位置,使得目的地装置可基于(例如)HTTP请求而从各种呈现检索个别视频分段。在一个实例中,一种用于输送经编码视频数据的方法包括通过源视频装置接收包含若干个视频区段的经编码视频数据;形成包含若干个视频文件的呈现,所述视频文件中的每一者对应于所述视频区段中的一相应者;及响应于指定所述视频数据的时间段的请求,输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一
者ο在另一实例中,一种用于输送经编码视频数据的设备包括管理单元,其经配置以接收包含若干个视频区段的经编码视频数据,且形成包含若干个视频文件的呈现,所述视频文件中的每一者对应于所述视频区段中的一相应者;及网络接口,其经配置以响应于指定所述视频数据的时间段的请求,输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者。在另一实例中,一种用于输送经编码视频数据的设备包括用于接收包含若干个视频区段的经编码视频数据的装置;用于形成包含若干个视频文件的呈现的装置,所述视频文件中的每一者对应于所述视频区段中的一相应者;及用于响应于指定所述视频数据的时间段的请求输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者的装置。在另一实例中,一种计算机可读存储媒体包含在执行时致使用于输送经编码视频数据的源装置的处理器进行以下操作的指令接收包含若干个视频区段的经编码视频数据;形成包含若干个视频文件的呈现,所述视频文件中的每一者对应于所述视频区段中的一相应者;及响应于指定所述视频数据的时间段的请求,输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者。在再一实例中,一种用于检索经编码视频数据的方法包括通过客户端装置检索描述视频数据的呈现的特性的呈现描述数据,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者;将指定所述视频数据的时间段的请求提交给源装置;响应于所述请求,从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的的所述视频文件中的至少一者;及解码并显示所述视频文件中的所述至少一者。在另一实例中,一种用于检索经编码视频数据的设备包括网络接口 ;控制单元, 其经配置以经由所述网络接口检索描述视频数据的呈现的特性的呈现描述数据,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者,将指定所述视频数据的时间段的请求提交给源装置,且响应于所述请求,从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者;视频解码器,其经配置以解码所述视频文件中的所述至少一者;及用户接口,其包含经配置以显示所述视频文件中的所述经解码的至少一者的显示器。在另一实例中,一种用于检索经编码视频数据的设备包括用于检索描述视频数据的呈现的特性的呈现描述数据的装置,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者;用于将指定所述视频数据的时间段的请求提交给源装置的装置;用于响应于所述请求从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者的装置;及用于解码并显示所述视频文件中的所述至少一者的装置。在另一实例中,一种计算机可读存储媒体包含在执行时致使用于检索经编码视频数据的装置的处理器进行以下操作的指令检索描述视频数据的呈现的特性的呈现描述数据,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者;将指定所述视频数据的时间段的请求提交给源装置;响应于所述请求,从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者;致使所述客户端装置的视频解码器解码所述视频文件中的所述至少一者;及致使所述客户端装置的用户接口显示所述经解码的视频文件中的所述至少一者。在附图及以下描述中陈述一个或一个以上实例的细节。从描述及图式且从所附权利要求书将明白其它特征、目标及优点。


图1为说明音频/视频(A/V)源装置将音频及视频数据输送到A/V目的地装置的实例系统的框图。图2为说明多路复用器的组件的实例布置的框图。图3为说明程序特定信息表的实例集合的框图。图4为说明各种呈现的第三代合作伙伴计划(3GPP)文件与对应的视频区段之间的对准的概念图。图5为说明用于将经编码视频数据从源装置输送到目的地装置的实例方法的流程图。图6为说明实例3GPP文件的元素的框图。图7为说明用于响应于对在3GPP文件内的时间位置的搜寻请求而请求3GPP文件的分段的实例方法的流程图。
具体实施例方式本发明的技术大体是针对支持使用例如超文本传送协议(HTTP)及HTTP的HTTP 流式传输应用等协议的视频数据的流式输送。一般来说,在本发明中,对HTTP的参考可包括对HTTP流式传输的参考。本发明提供发信号通知视频数据的若干个呈现的特性元素的媒体呈现描述(MPD)文件,例如,在视频数据的分段存储在呈现内的情况下。每一呈现可包括若干个个别文件,例如,第三代合作伙伴计划(3GPP)文件。一般来说,每一呈现可包括一组个别特性,例如位率、帧率、分辨率、交错式或渐进式扫描类型、编码类型(例如,MPEG-U MPEG-2、H. 263.MPEG-4/H. 264, H. 265 等)或其它特性。3GPP文件中的每一者可个别地由服务器存储且个别地由客户端检索,例如,使用 HTTP GET及部分GET请求。HTTP GET及部分GET请求描述于R ·费尔丁(R. Fielding)等
人的“超文本传送协议-HTTP/1. 1 (Hypertext Transfer Protocol-HTTP/1. 1) ” (网络
工作组,RFC2616,1999 年 6 月)中,可在 http//tools, ietf. org/html/rf(^616 处获得。 根据本发明的技术,可使每一呈现的3GPP文件对准,使得其对应于视频的同一段,S卩,一个
11或一个以上场景的同一集合。此外,服务器可使用类似的命名方案来命名每一呈现的对应 3GPP文件。以此方式,随着网络条件改变,HTTP客户端可易于改变呈现。举例来说,当较高的带宽量可用时,客户端可检索相对较高质量呈现的3GPP文件,而当较低带宽量可用时, 客户端可检索相对较低质量呈现的3GPP文件。本发明还提供用于发信号通知MPD文件中所总结的呈现及对应的3GPP文件的特性的技术。举例来说,本发明提供服务器可藉以发信号通知例如针对每一呈现的客户端装置的期望渲染能力及解码能力等特性的技术。以此方式,客户端装置可基于所述客户端装置的解码及渲染能力在各种呈现之间选择。作为另一实例,本发明提供用于发信号通知针对每一呈现的平均位率及最大位率的技术。以此方式,客户端装置可确定带宽可用性,且基于所确定的带宽在各种呈现之间选择。根据本发明的技术,服务器可使用指示每一呈现的对应于同一场景的3GPP文件的命名惯例。本发明提供用于对准每一呈现的3GPP文件使得每一场景对应于每一呈现中的3GPP文件中的一者的技术。举例来说,服务器可使用类似于“ [program]_preX_T_T+N” 的命名惯例来命名对应于从时间T持续到时间T+N的场景的每一呈现的3GPP文件,其中命名惯例中的T及T+N对应于时间T及时间T+N的值,“ [program] ”对应于视频的名称,且“_ preX”对应于呈现的指示符(例如,用于呈现2的“pre2”)。因此,可对准每一呈现的3GPP 文件,使得在同一时间周期中的3GPP文件的文件大小可用以导出每一呈现的瞬时位率。另外,服务器可发信号通知每一呈现的3GPP文件中的每一者的开始时间以及结束时间及/或持续时间。以此方式,客户端可通过检索如由服务器发信号通知的3GPP文件的开始时间及结束时间且基于开始时间及结束时间自动产生文件名称而基于文件的名称使用HTTP GET来检索特定3GPP文件。另外,服务器还可发信号通知每一呈现的3GPP文件中的每一者的字节范围。因此,客户端可基于待检索的3GPP文件的自动产生的名称及字节范围而使用部分GET来检索3GPP文件的全部或一部分。客户端可使用HTTP的HEAD方法来检索特定3GPP文件的文件大小。一般来说,对于HEAD请求所针对的URN或URL,HEAD请求检索无对应的主体数据的标头数据。图1为说明其中音频/视频(A/V)源装置20将音频及视频数据输送到A/V目的地装置40的实例系统10的框图。图1的系统10可对应于视频电话会议系统、服务器/客户端系统、广播设备/接收器系统、游戏系统,或将视频数据从例如A/V源装置20等源装置发送到例如A/V目的地装置40等目的地装置的任何其它系统。在一些实例中,音频编码器 26可包含语音编码器,还被称作声码器。在图1的实例中,A/V源装置20包括音频源22、视频源M、音频编码器沈、视频编码器观、媒体呈现描述(MPD)管理单元30及网络接口 32。音频源22可包含(例如)麦克风,所述麦克风产生表示待由音频编码器26编码的所捕获的音频数据的电信号。或者,音频源22可包含存储先前记录的音频数据的存储媒体、例如计算机化合成器等音频数据产生器,或音频数据的任何其它来源。视频源M可包含产生待由视频编码器观编码的视频数据的视频相机、编码有先前记录的视频数据的存储媒体、用于计算机图形的视频数据产生单元,或视频数据的任何其它来源。原始音频及视频数据可包含模拟或数字数据。模拟数据可在由音频编码器沈及/或视频编码器观编码之前数字化。音频源22可在讲话参与者正讲话的同时从讲话参与者获得音频数据,且视频源M可同时获得讲话参与者的视频数据。在其它实例中,音频源22可包含包括所存储的音频数据的计算机可读存储媒体,且视频源M可包含包括所存储的视频数据的计算机可读存储媒体。以此方式,本发明中所描述的技术可应用于实况、流式、实时音频及视频数据及 /或应用于经存档、预记录的音频及视频数据。对应于视频帧的音频帧一般为含有与由视频帧内所含有的由视频源M所捕获的视频数据同时发生的由音频源22所捕获的音频数据的音频帧。举例来说,当讲话参与者一般通过讲话而产生音频数据时,音频源22捕获音频数据,且视频源M同时(即,在音频源 22正捕获音频数据的同时)捕获讲话参与者的视频数据。因此,音频帧可时间上对应于一个或一个以上特定视频帧。因此,对应于视频帧的音频帧一般对应于同时捕获到音频数据及视频数据且音频帧及视频帧分别包含音频数据及同时捕获的视频数据的情形。还可分开地添加音频数据,例如,声道信息、添加的声音、音乐、音响效果等。音频编码器沈可编码每一经编码音频帧中的时戳,所述时戳表示记录经编码音频帧的音频数据的时间,且类似地,视频编码器观可编码每一经编码视频帧中的时戳,所述时戳表示记录经编码视频帧的视频数据的时间。在此些实例中,对应于视频帧的音频帧可包含包括时戳的音频帧及包括同一时戳的视频帧。A/V源装置20可包括内部时钟,音频编码器26及/或视频编码器观可从所述内部时钟产生时戳,或音频源22及视频源M可使用所述内部时钟来使音频及视频数据分别与一时戳相关联。音频源22可将对应于记录音频数据的时间的数据发送到音频编码器沈,且视频源M可将对应于记录视频数据的时间的数据发送到视频编码器28。在一些实例中,音频编码器26可编码经编码音频数据中的序列识别符,以指示经编码音频数据的相对时间排序, 而不必指示记录音频数据的绝对时间,且类似地,视频编码器观还可使用序列识别符来指示经编码视频数据的相对时间排序。类似地,在一些实例中,序列识别符可经映射或另外与一时戳相关。音频编码器沈及视频编码器观将经编码数据提供给MPD管理单元30。一般来说,根据本发明的技术,MPD管理单元30按对应于经编码音频及视频数据的MPD文件的形式存储关于经编码音频及视频数据的概要。如下文更详细地论述,MPD文件描述若干个呈现,每一呈现具有若干个视频文件,例如,形成为第三代合作伙伴计划(3GPP)文件。MPD管理单元30可在每一呈现中产生相同数目个3GPP文件,且可对准每一呈现的3GPP文件,使得类似定位的3GPP文件对应于同一视频区段。即,类似定位的3GPP文件可对应于同一时间视频分段。MPD管理单元30还可存储描述每一呈现的3GPP文件的特性(例如,3GPP文件的持续时间)的数据。MPD管理单元30可与网络接口 32互动以将视频数据提供给客户端,例如A/V目的地装置40。网络接口 32可实施HTTP (或其它网络协议),以允许目的地装置40请求在由MPD管理单元30所存储的MPD文件中所列出的个别3GPP文件。网络接口 32可因此响应对3GPP文件的HTTP GET请求、对3GPP文件的个别字节范围的部分GET请求、提供MPD 及/或3GPP文件的标头信息的HEAD请求,及其它此些请求。因此,网络接口 32可将指示 MPD文件的特性(例如,MPD文件的库名称)、MPD文件的呈现的特性及/或存储在每一呈现中的3GPP文件的特性的数据传递到目的地装置40。描述MPD文件的呈现、MPD文件自身及 /或对应于MPD文件的3GPP文件的特性的数据可被称作“呈现描述数据”。在一些实例中,网络接口 32可替代地包含网络接口卡(NIC),所述网络接口卡从所接收的包提取应用层数据,且接着将应用层包传递到MPD管理单元30。在一些实例中,MPD管理单元30与网络接口 32可在功能上集成。以此方式,在图1的实例中,用户可与目的地装置40经由在目的地装置40上执行的网络浏览器38应用程序互动以检索视频数据。网络浏览器38可最初从MPD管理单元30 所存储的呈现中的一者检索第一视频文件或其分段,接着在第一视频文件正分别由视频解码器48及视频输出44解码及显示时检索后续视频文件或分段。目的地装置40可包括用户接口,所述用户接口包括视频输出44 (例如,呈显示器的形式)及音频输出42,以及其它输入及/或输出装置(例如,键盘、鼠标、操纵杆、麦克风、触控式屏幕显示器、手写笔、光笔, 或其它输入及/或输出装置)。当视频文件包括音频数据时,音频解码器46及音频输出42 可分别解码及呈现音频数据。此外,用户可“搜寻”视频呈现的特定时间位置。举例来说, 用户可在用户请求视频数据内的特定时间位置的意义上搜寻,而不是观看其从开始到结束的全部视频文件。网络浏览器可致使目的地装置40的处理器或其它处理单元确定视频文件中包括搜寻的时间位置的一者,接着从源装置20请求所述视频文件。在一些实例中,目的地装置40内的控制单元可执行网络浏览器38的功能性。艮口, 控制单元可执行供网络浏览器38经由网络接口 36将请求提交到源装置20、在MPD文件的呈现之间选择,及确定网络连接34的可用带宽的指令。可将用于网络浏览器38的指令存储在计算机可读存储媒体中。如本发明中所描述,控制单元可进一步形成对来自源装置20的个别3GPP文件的请求(例如,HTTP GET及部分GET请求)。控制单元可包含通用处理器及 /或一个或一个以上专用硬件单元(例如,ASIC、FPGA,或其它硬件或处理单元或电路)。在一些实例中,控制单元可进一步执行音频解码器46、视频解码器48中的任一者的功能性, 及/或相对于目的地装置40所描述的任何其它功能性。一般来说,MPD文件的呈现在例如目的地装置的期望渲染能力、目的地装置的期望解码能力及用于呈现的视频文件的平均位率的特性上有所不同。MPD管理单元30可发信号通知期望渲染能力、期望解码能力,及用于在MPD文件的呈现标头中的呈现的平均位率。以此方式,目的地装置40可(例如)基于视频输出44的渲染能力及/或视频解码器48的解码能力而确定从呈现中的哪一者检索视频文件。目的地装置40可进一步确定(例如)网络连接34的当前带宽可用性,且基于呈现的平均位率选择呈现。即,当视频输出44及视频解码器48具有分别渲染及解码MPD文件的呈现中的一者以上的视频文件的能力时,目的地装置40可基于当前带宽可用性选择呈现中的一者。同样,当带宽可用性改变时,目的地装置40可在所支持的呈现之间动态地改变。举例来说,当带宽变得受限时,目的地装置40可从具有相对较低位率视频文件的呈现检索下一个视频文件,而当带宽扩大时,目的地装置40可从具有相对较高位率视频文件的呈现检索下一个视频文件。通过时间对准每一呈现的视频文件,对于例如目的地装置40等目的地装置,可简化呈现之间的动态切换。即,目的地装置40可在确定带宽条件已改变后即刻确定已检索视频数据的时间周期,且接着基于带宽条件从呈现中的一者检索下一个视频文件。举例来说, 如果目的地装置40检索到的最后视频文件结束于时间T,且下一个文件具有持续时间N,那么目的地装置40可基于带宽条件从呈现中的任一者检索从时间T到时间T+N的视频文件,因为呈现中的每一者的视频文件在时间上对准。 此外,可通过用于视频文件的共同命名惯例来配置MPD管理单元30及网络浏览器 38。一般来说,每一视频文件(例如,每一 3GPP文件)可包含基于MPD文件所存储在的统一资源定位符(URL)、URL处的MPD文件的统一资源名称(URN)、呈现的名称、开始时间及结束时间的名称。因此,MPD管理单元30及网络浏览器38两者可经配置以使用例如“ [URL]/ [URN]_pre[X]_[start time]_[end time] ” 等命名方案,其中[URL]由 MPD 文件的 URL 取代,[URN]由MPD文件的URN取代,X由呈现的数目取代,[start time]由正请求的3GPP文件的开始时间取代,且[end time]由正请求的3GPP文件的结束时间取代。在其它实例中, 名称可基于3GPP文件在呈现内的位置。举例来说,对于3GPP文件M,3GPP文件的名称可自动产生为“[URL]/[URN]_pre[X]_[M]”。在一些实例中,网络浏览器38可通过(例如)使用以上命名方案指定文件以及文件的字节范围而提交对所述文件的HTTP部分GET请求。网络浏览器38可利用HTTP HEAD方法来检索(例如)使用以上命名方案所指定的文件的大因此,举例来说,对于具有 URL "www. qualcomm. com” 及 “programl ” 的 URN 的 MPD 文件,为了检索开始于10 02且结束于10 05的呈现3的3GPP文件,网络浏览器38可提交对“www. qualcomm. com/programl_pre3_1002_1005"的 HTTP GET 请求。作为另一实例, 如果呈现2具有比呈现3相对高的位率,且目的地装置40确定可用带宽已增加,那么在检索先前实例3GPP文件之后,网络浏览器38可接下来提交对“www. qualcomm. com/programl_ pre2_10:05_10:08” 的 HTTP GETi青求。一般来说,每一 3GPP文件可为可独立解码的。每一 3GPP文件可包括(例如)至少一个经帧内译码的图片。举例来说,每一 3GPP文件可包含一个或一个以上图片群组(GOP) 或超帧,在所述情况下,使用帧内模式编码来编码GOP或超帧的至少一个关键帧。以此方式,网络浏览器38可从MPD文件的呈现中的任一者检索3GPP文件,且在不参考同一呈现的其它3GPP文件的情况下解码所检索的3GPP文件。举例来说,当网络浏览器38确定可用带宽已增加时,网络浏览器38可请求来自具有比当前呈现相对高的平均位率的呈现的下一个3GPP文件,而不检索具有较高平均位率的呈现的时间上较早的3GPP文件。以此方式,源装置20可将呈MPD文件的形式的视频数据提供给目的地装置(例如,目的地装置40)。在一些实例中,源装置20可包含网络服务器。目的地装置40可包含能够经由(例如)HTTP检索数据的任何装置,例如,具有因特网接入的计算机或例如蜂窝式电话等移动装置。源装置20可实施本发明的技术以将经编码视频数据输送到目的地装置40,且发信号通知经编码视频数据的特性。可使用例如MPEG-1、MPEG-2、H. 263, H. 264/ MPEG-4、H. 265或其它编码标准等多种不同标准中的任一者来编码经编码视频数据。作为一个实例,ITU-T H. 264标准支持在各种块大小(例如,对于亮度分量,16乘 16、8乘8或4乘4,及对于色度分量,8X8)中的帧内预测,以及在各种块大小(例如,对于亮度分量,16X16、16X8、8X16、8X8、8X4、4X8及4X4,及对于色度分量的对应的按比例缩放的大小)中的帧间预测。在本发明中,“NXN”与“N乘N”可互换使用以指就垂直及水平尺寸来说的块的像素尺寸,例如,16X16像素或16乘16像素。一般来说,16X16块将在垂直方向上具有16个像素(y = 16),且在水平方向上具有16个像素(x = 16)。同样, NXN块一般在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可按行及列排列。此外,视频数据的块无需为正方形,例如,可包含NXM 个像素,其中N不等于M。小于16乘16的块大小可被称作16乘16宏块的分割区。视频块可包含在像素域中的像素数据块或在变换域中的变换系数块,例如,在将例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换等变换应用于表示在经译码的视频块与预测性视频块之间的像素差的残余视频块数据之后。在一些情况下,视频块可包含变换域中的经量化的变换系数的块。较小的视频块可提供较好的分辨率,且可用于包括高细节级别的视频帧的位置。 一般来说,可将宏块及各种分割区(有时被称作子块)视为视频块。另外,可将片段视为多个视频块,例如宏块及/或子块。每一片段可为视频帧的一可独立解码单元。或者,帧自身可为可解码单元,或可将帧的其它部分定义为可解码单元。术语“经译码的单元”或“译码单元”可指视频帧的任何可独立解码单元,例如整个帧、帧的一片段、图片群组(GOP)(还被称作序列)或根据适用的译码技术所定义的另一可独立解码单元。术语“宏块”指用于根据包含16X 16个像素的二维像素阵列编码图片及/或视频数据的数据结构。每一像素包含色度分量及亮度分量。因此,宏块可界定四个亮度块(各自包含8X8个像素的二维阵列)、两个色度块(各自包含16X 16个像素的二维阵列)及一标头,所述标头包含语法信息,例如经译码的块图案(CBP)、编码模式(例如,帧内(I)或帧间(P或B)编码模式)、经帧内编码块的分割区的分割区大小(例如,16X16、16X8、8X16、 8X8、8X4、4X8或4X4),或经帧间编码宏块的一个或一个以上运动向量。可将视频编码器观、视频解码器48、音频编码器沈、音频解码器46及MPD管理单元30各自实施为如适用的多种合适编码器或解码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器观及视频解码器48中的每一者可包括于一个或一个以上编码器或解码器中,其中任一者可集成为组合式视频编码器/解码器(CODEC)的部分。同样,音频编码器沈及音频解码器46中的每一者可包括于一个或一个以上编码器或解码器中,其中任一者可集成为组合式音频编码器/解码器(CODEC)的部分。包括视频编码器观、视频解码器48、音频编码器沈、音频解码器46、MPD管理单元30, 及/或执行用于网络浏览器38的应用程序的硬件的设备可包含集成电路、微处理器及/或无线通信装置(例如,蜂窝式电话)。图2为说明MPD管理单元30(图1)的组件的实例布置的框图。在图2的实例中, MPD管理单元30包括MPD创建单元60、视频输入接口 80、音频输入接口 82、MPD文件存储装置84及MPD输出单元70。在图2的实例中,MPD创建单元60包括参数发信号通知单元 62及3GPP文件管理单元64,而MPD输出单元70包括3GPP文件检索单元72及HTTP服务器单元74。视频输入接口 80及音频输入接口 82分别接收经编码视频及音频数据。当数据经编码时,视频输入接口 80及音频输入接口 82可接收经编码视频及音频数据,或可从计算机可读媒体检索经编码视频及音频数据。在接收到经编码视频及音频数据后,视频输入接口 80及音频输入接口 82即刻将经编码视频及音频数据传递到MPD创建单元60以用于组合到 MPD文件中。
MPD创建单元60接收经编码音频及视频数据以产生MPD文件。MPD创建单元60 可接收按多种不同方式编码的视频数据,例如,按视频数据的不同大小(分辨率)、根据多种编码标准编码的视频数据、按各种帧率及/或位率编码的视频数据,或其它变化。MPD创建单元60可接收待存储在MPD文件内的各种呈现中的每一者的经编码视频数据。3GPP文件管理单元64可产生用于MPD文件的每一呈现的个别3GPP文件,使得每一呈现的3GPP文件在时间上对准。即,每一呈现中的第一 3GPP文件对应于具有同一持续时间、开始时间及结束时间的同一视频分段。对应于具有同一开始时间及结束时间的同一视频分段的3GPP文件被称作对应的3GPP文件。因为呈现可具有各种帧率,所以呈现的对应3GPP文件可包括不同数目个经编码图片。同样,因为编码方法及位率可在呈现之间有所不同,所以对应的3GPP文件可具有不同文件大小。在一些实例中,3GPP文件管理单元64可建构每一呈现的3GPP文件,使得每一 3GPP文件具有相同的时间持续。在这些实例中,参数发信号通知单元62可使用表示共同持续时间的一个值发信号通知MPD文件的所有3GPP文件的持续时间。在其它实例中,3GPP 文件管理单元64可建构3GPP文件,使得在呈现之间的对应的3GPP文件具有相同的持续时间,但在呈现内的3GPP文件可具有个别持续时间。在此些实例中,参数发信号通知单元62 可发信号通知每一 3GPP文件的持续时间。参数发信号通知单元62还可发信号通知呈现的每一 3GPP文件的开始时间、结束时间及/或持续时间。参数发信号通知单元62还可发信号通知MPD文件、MPD文件内所包括的3GPP文件及MPD文件的呈现的其它特性。举例来说,参数发信号通知单元62可发信号通知用于每一呈现的目的地装置的解码器的期望解码能力。举例来说,解码能力可包括例如用以编码呈现的视频数据的编码标准、最小宏块解码速率、最小帧解码速率、帧或块缓冲器大小,及/ 或其它期望解码能力等解码方法。在一些实例中,参数发信号通知单元62可使用简档指示符(简档IDC)值及等级指示符(等级IDC)值发信号通知期望解码能力。在视频译码标准的情况下,“简档IDC”值可对应于算法、特征或工具及施加于其的约束的子集。举例来说,如由H. 264标准定义,“简档IDC”值描述由H. 264标准所指定的全部位流语法的子集。“等级IDC”值描述解码器资源消耗的限制,例如解码器存储器及计算, 其与图片的分辨率、位率及宏块(MB)处理速率有关。参数发信号通知单元62还可发信号通知每一呈现的期望渲染能力。举例来说,参数发信号通知单元62可发信号通知每一呈现的图片宽度、图片高度及/或帧率。MPD产生单元30可将所产生的MPD文件连同每一呈现的3GPP文件,及MPD文件、 呈现及每一 3GPP文件的所发信号通知的特性存储到MPD文件存储装置84。MPD文件存储装置84可包含计算机可读存储媒体,例如硬盘、固态驱动器、磁带、光学存储媒体,或任何其它存储媒体或其组合。MPD输出单元70可接收且响应来自目的地装置(例如,目的地装置40)的HTTP请求。在图2的实例中,假定网络接口 32(图1)从所接收的网络包提取应用层数据(其可包括HTTP请求),且将所提取的应用层数据传递到MPD管理单元30。MPD输出单元70 —般确定所接收的请求正请求的内容,从MPD文件存储装置84检索所请求的数据,且将所请求的数据提供回到请求装置(例如,目的地装置40)。在此实例中,HTTP服务器单元74实施HTTP以接收及解译HTTP请求,例如GET、部分GET及HEAD请求。尽管本发明描述HTTP的实例,但为了说明的目的,其它网络协议也可结合在本发明中所描述的技术使用。HTTP服务器单元74可解译所接收的HTTP请求以确定所述请求所请求的数据。请求可指定(例如)特定3GPP文件或特定3GPP文件的部分;描述MPD文件、MPD文件的呈现及/或呈现的3GPP文件的特性的标头数据;或MPD的其它数据。HTTP服务器单元74可接着将所请求的数据的指示传递到3GPP文件检索单元72。3GPP文件检索单元72可从MPD 文件存储装置84检索所请求的数据,且将所检索的数据传回到HTTP服务器单元74,HTTP 服务器单元74可将数据封装成一个或一个以上HTTP包,且将所述包发送到网络接口 32。 网络接口 32可接着包封HTTP包,且将包输出到(例如)目的地装置40。当参数发信号通知单元62发信号通知MPD文件的3GPP文件的开始时间及持续时间时,例如目的地装置40等目的地装置可确定对应于MPD文件的各种呈现彼此的3GPP文件。举例来说,HTTP服务器单元74可通过描述MPD文件、MPD文件的一个或一个以上呈现及/或MPD文件的呈现的一个或一个以上3GPP文件的特性的数据来响应HTTPHEAD请求。 目的地装置40还可检索对应的3GPP文件的文件大小,以导出每一呈现的瞬时位率,例如, 通过按3GPP文件所对应的视频区段的时间持续划分文件大小。可如下实施经由HTTP的流式传输中的带宽调适。在特定时间T,目的地装置40可切换到具有最接近但小于所要位率的位率的流(例如,呈现)。可通过将时间T映射到当前呈现的当前3GPP文件来计算呈现的瞬时位率。为了进行此,假定每一 3GPP文件具有相同的时间长度deltaT,目的地装置可按M = T/deltaT计算3GPP文件的识别符M。目的地装置40可接着产生3GPP文件的文件名称,且检索3GPP文件的长度作为uiFileLength。目的地装置40还可从MPD文件检索3GPP文件的时间持续。此时间持续可指明为uiDuration,在此实例中,假定按秒来描述uiDuration。目的地装置40可接着按位率= 8. 0*uiFileLength/uiDuration/100来计算瞬时位率,其产生单位为Icbps的位率的值。通过检查同一场景的每一呈现的每个位率值,所述值最接近但小于所要的位率。对应的呈现可接着为目的地装置40应切换到的目标呈现。S卩,目的地装置40可开始从目标呈现检索 3GPP文件。此外,HTTP服务器单元74可经配置以基于例如“[URN]_pre[X]_[Start time]_ [endtime],,等特定命名方案来辨识3GPP文件,其中[URN]由MPD文件的URN取代,X由呈现的数目取代,[start time]由正请求的3GPP文件的开始时间取代,且[end time]由正请求的3GPP文件的结束时间取代。因此,HTTP服务器单元74可响应于使用此命名方案识别 3GPP文件的请求向3GPP文件检索单元72发送从具有开始时间[start time]及结束时间 [end time]的呈现_pre[X]检索对应于由[URN]所识别的MPD文件的3GPP文件的指示。 同样,3GPP文件检索单元72可检索此所请求的3GPP文件。目的地装置40可基于3GPP文件的开始时间及结束时间自动产生用于包括在请求中的3GPP文件的名称,以及从中检索 3GPP文件的呈现。在一些实例中,HTTP服务器单元74可接收指定根据以上命名方案所识别的文件的字节范围的HTTP部分GET请求。HTTP服务器单元74可将文件的字节范围的指示提供给 3GPP文件检索单元72,3GPP文件检索单元72可仅检索对应于所请求的字节范围的文件的数据,且将所检索的数据提供给HTTP服务器单元74。HTTP服务器单元74可类似地包封此数据,且将数据发送到网络接口 32,网络接口 32可进一步包封数据且经由连接34发射数据。尽管在图2的实例中,将MPD管理单元展示为包括MPD创建单元60及MPD输出单元70两者,但在其它实例中,单独装置可经配置以执行归属于MPD创建单元60及MPD输出单元70的功能性。举例来说,第一装置可经配置以包封呈MPD文件的形式的经编码视频数据,且发信号通知MPD文件的参数,而第二装置可经配置为网络服务器以提供对由第一装置所产生的MPD文件的存取。同样,与源装置20分开的编码装置可编码原始视频数据,且将经编码视频数据发送到源装置20的MPD管理单元30。一般来说,归属于源装置20的功能性中的任一者可包括于共用或单独装置及/或所述装置的共用或单独单元中。在一些实例中,MPD文件存储装置84可对应于外部存储装置,例如外部硬盘驱动器或外部文件服务

图3为说明存储在实例MPD文件90内的数据的框图。参数发信号通知单元62可发信号通知用于MPD文件90的信息,例如,表示存储MPD的URL的统一资源定位符(URL) 值92 (例如,“www. qualcomm. com/media” )、表示用于MPD文件90的视频数据的时间持续的持续时间值94,及对应于MPD文件90的名称的库统一资源名称(URN)值96(例如, "programl”)。MPD文件90包括类似于呈现100A的实例的若干个呈现。对于MPD文件90 的呈现100A的实例,参数发信号通知单元62可发信号通知呈现识别符102A、目的地装置可用以指代呈现100A的增量URN 104A(例如,“_preX”)、期望解码能力值(包括(例如)简档IDC值106A及等级IDC值108A),及期望渲染能力值(包括(例如)帧率值110A、图片宽度值112A及/或图片高度值114A)。参数发信号通知单元62还可发信号通知用于例如呈现100A等呈现的时序信息。 时序信息属性116A可包括(例如)呈现中的条目数目(对于每一呈现,其应相等)、对应于 3GPP文件识别符118A的3GPP文件的持续时间,及具有同一持续时间的3GPP文件的数目。 在一些实例中,参数发信号通知单元62可发信号通知用于仅一个呈现(例如,呈现100A) 的此数据,但可假设对于其它呈现中的每一者,数据相同。以下伪码可描述可用以发信号通知呈现的时序特性的数据结构的一部分
timing info, attributes unsigned int (32) number_entry; for (i =0 ; i < number_entry ; i++) { unsigned int (32) deltaT; unsigned int (32) numFileWithSameDuration;
}
在所述实例伪码中,“number_entry”表示用于同一呈现的3GPP文件的连续群组
的数目。当电影分段的所有持续时间相同时,参数发信号通知单元62可将nUmber_entry
值设定为1。值“deltaT”表示在3GPP文件的连续群组的第i条目中的3GPP文件的持续
时间。值“numFileWithSameDuration”表示第i条目中的连续3gp文件的数目。参数发信
号通知单元62可设定“numFileWithSameDuration”的值等于0,以指示所述呈现中的所有
3GPP文件具有相同持续时间deltaT。对于对应于实况流式传输的实例,参数发信号通知单元62可设定“number_entry”值为1,以指示每个3GPP文件具有相同的持续时间。呈现100A还包括若干个3GPP文件识别符118A,所述识别符对应于由3GPP文件管理单元64所建构的3GPP文件。MPD文件90的呈现100中的每ー者可包括可时间上对准的相同数目个3GPP文件。使用此所发信号通知的数据,目的地装置40可自动产生3GPP文件的名称,以便提交HTTP GET及部分GET请求。S卩,目的地装置40可自动产生用于3GPP文件的URN。举例来说,假定MPD文件90的库URN 96为“programl”,且呈现100A的呈现识别符102A为 “_pre2”,那么对应于3GPP文件识别符118A的3GPP文件的URN的共同部分为“pr0graml_ pre2”。对于呈现IOOA中的3GPP文件识别符118A中的第M者,在此实例中,目的地装置40 可提交对“pr0graml_pre2_M”的HTTP GET请求。举例来说,为了检索第45个3GPP文件, 目的地装置40可提交对“programl_pre2_45. 3gp”的HTTPGET请求。或者,目的地装置40 可提交对“programl_pre2_Mstart_Mend”的 HTTP GET 请求,其中 Mstart 对应于与 3GPP 文件识别符118A对应的3GPP文件中的第M者的开始时间,且Mend对应于与3GPP文件识别符118A对应的3GPP文件中的第M者的结束时间。HTTP客户端(例如目的地装置40)还可搜寻例如呈现100A等呈现的时间T。为了检索对应于3GPP文件识别符118A的3GPP文件中的第M者(其对应于搜寻时间T),目的地装置40可按M = T/deltaT计算M,其中可在如上文所述的时序信息属性116A内发信号通知deltaT,假定3GPP文件中的每ー者具有相同的持续时间。另ー方面,如果3GPP文件不具有相同的持续时间,那么目的地装置40可检索3GPP文件中的每ー者的持续时间,以确定检索对应于3GPP文件识别符118A的3GPP文件中的哪ー者。在计算M之后,目的地装置 40可检索对应于3GPP文件识别符118A的3GPP文件中的第M者。当呈现100中的每ー者的3GPP文件经时间对准吋,目的地装置40可用呈现100中的任一者的识别符取代以上实例中的“_pre2”,以从呈现中的任一者检索3GPP文件。举例来说,假设MPD文件90具有五个呈现,且目的地装置40能够解码且渲染呈现2、3或4中的任一者。进ー步假定呈现2具有相对较低的质量(及因此,较低的平均位率),呈现3具有较高质量及较高的平均位率,且呈现4具有更高的质量及更高的平均位率。最初,目的地装置 40可确定可用带宽相对较低,因此可从呈现2检索3GPP文件“ 1 ”,例如,使用对“programs pre2_1.3gp”的HTTP GET请求。目的地装置40可接着确定可用带宽已増加,且因此使用对“programl_pre3_2. 3gp”的HTTP GET请求来检索下ー个3GPP文件。目的地装置40可接着确定可用带宽已更进ー步增加,且因此使用对“programl_pre4_3. 3gp”的HTTP GET请求来检索下ー个3GPP文件。图4为说明各种呈现134、140的3GPP文件138、144与视频146的视频区段130 之间的对准的概念图。视频146包括视频区段130A到130N(视频区段130)。图4的实例说明此实例中的呈现134及140,且可包括如由呈现134与140之间的省略号所指示的额外呈现。呈现1;34包括标头数据136及3GPP文件138A到138N(3GPP文件138)。呈现140 包括标头数据142及3GPP文件144A到144N(3GPP文件144)。尽管3GPP文件138在大小上与3GPP文件144不同,但3GPP文件138及3GPP文件144在时间上与视频146的视频区段130对准。在图4的实例中,3GPP文件138A及3GPP 文件144A对应于视频区段130A,3GPP文件138B及3GPP文件144B对应于视频区段130B,3GPP文件138C及3GPP文件144C对应于视频区段130C,且3GPP文件138N及3GPP文件 144N对应于视频区段130N。即,举例来说,3GPP文件138A及3GPP文件144A包括尽管经潜在地不同编码及/或渲染但大体对应于与视频区段130A相同的场景的视频数据。标头数据136、142可一般分別包括描述呈现134、140的数据。标头数据136、142 可包括类似于图3的呈现识别符102A、増量URN 104A、简档IDC值106A、等级IDC值108A、 帧率值110A、图片宽度值112A、图片高度值114A及时序信息属性116A的数据。描述呈现 134到140的3GPP文件138、144的MPD文件还可包括描述MPD文件、呈现134、140及3GPP 文件138、144的特性的标头数据(未图示)。以此方式,目的地装置40 (图1)可检索标头数据136、142,以确定目的地装置40 是否能够解码及显示3GPP文件138及/或3GPP文件144的视频数据。假定目的地装置40 能够解码及渲染来自3GPP文件138及3GPP文件144两者的数据,那么目的地装置40可基于带宽可用性在呈现134与呈现140之间选择。举例来说,假定呈现134具有比呈现140 低的平均位率,那么当带宽可用性相对较低吋,目的地装置40可最初从呈现134检索3GPP 文件138A。接着假定目的地装置40确定带宽可用性已增加,那么目的地装置40可接下来检索3GPP文件144B。因为3GPP文件138A与144A在时间上对准,所以目的地装置40可无縫地解码及渲染3GPP文件144B的经编码视频数据,使得目的地装置40的用户能够看到视频区段130A,紧接着为视频区段130B,但具有可能不同的质量。图5为说明用于将经编码视频数据自源装置输送到目的地装置的实例方法的流程图。为了实例的目的,相对于源装置20及目的地装置40解释图5的方法,但应理解,其它装置可经配置以执行图5的方法。在图5的实例中,源装置20检索对应于视频的各种视频区段的经编码视频数据。 源装置20将经编码视频数据包封在MPD文件中(180)。举例来说,源装置20可确定对应于共用视频区段的多种不同呈现的经编码视频帧(如图4中所示),且将视频帧包封在各种呈现的ー个或ー个以上相应3GPP文件中。源装置20还可发信号通知在MPD文件、呈现及 /或3GPP文件的标头部分中的MPD文件、呈现及3GPP文件的特性(18 。所述特性可对应于图3中所说明的实例特性。目的地装置40的用户可最初从网页上的链路或从网页的嵌入式视频检索MPD文件,例如使用网络浏览器38 (图1)。在用户已请求检视视频之后,目的地装置40可请求MPD 文件的特性(184)。举例来说,目的地装置40可将对特定MPD文件的HTTP HEAD请求发出到源装置20。作为响应,源装置20可提供指示MPD文件的特性的数据(186)。此数据可指示(例如)用于MPD文件的呈现的数目、期望供目的地装置40能够解码及渲染相应呈现的 3GPP文件的针对每ー呈现的解码能力及渲染能力、每ー呈现的平均位率、用于呈现的3GPP 文件的持续时间(当3GPP文件中的每ー者具有相同持续时间时)、用于呈现中的一者或一者以上的3GPP文件中的每ー者的持续时间(当3GPP文件可在一呈现内具有不同持续时间,但在不同呈现之间经时间对准)、每ー呈现的増量统ー资源名称,或MPD文件的其它特性。目的地装置40可分析期望解码及渲染能力,以确定呈现中的哪些可由目的地装置40解码及渲染(188)。举例来说,目的地装置40可确定视频解码器48是否满足由所接收的MPD文件特性中的期望解码能力所指示的简档IDC值及等级IDC值。目的地装置40还可确定视频输出44是否能够按由期望渲染能力值所指示的帧率显示视频数据,及视频输出44的大小是否匹配期望渲染能力值的图片高度及/或图片宽度值。在一些实例中,视频解码器48及/或视频输出44可上取样或下取样经解码的图片,以便恰当地配合于视频输出44的大小内。同样,视频解码器48及/或视频输出44可内插或抽取(decimate)(或跳过)经解码视频数据的帧,以匹配视频输出44的刷新率。目的地装置40可记录可在本地计算机可读存储媒体(例如,目的地装置40的随机存取存储器(RAM))中解码及渲染MPD 文件中的哪些呈现的指示。目的地装置40可接着确定在其自身与源装置20之间的网络的相对带宽量(190)。 目的地装置40可一般使用用于估计可用带宽的任何已知技术来确定可用的带宽量。举例来说,目的地装置40可或者或另外估计往返程延迟(例如,通过将因特网控制消息协议 (ICMP)ping请求发出到源装置20)、平均包恶化或包损耗(例如,通过根据发射控制协议 (TCP)统计分析损耗或恶化的包),或其它网络性能量度。目的地装置40可接着选择从中开始检索3GPP文件的呈现中的一者(192)。目的地装置40可选择呈现中的所述ー者,对于所述ー呈现,视频解码器48满足期望解码能力, 且对于所述ー呈现,视频输出44满足期望渲染能力。当目的地装置40能够解码及渲染ー 个以上呈现的经编码视频数据时,目的地装置40可通过将呈现的平均位率相互比较而基于所确定的带宽量从这些潜在呈现当中选择。目的地装置40可配置有确实地使平均位率与可用带宽有关的功能,使得在可用带宽较低吋,目的地装置40选择具有相对较低的平均位率的呈现,但在可用带宽较高吋,选择具有相对较高的平均位率的呈现。在选择ー呈现之后,目的地装置40可请求来自呈现的3GPP文件(194)。目的地装置40可选择第一 3GPP文件或包括搜寻时间(即,对应于用户请求在视频数据内搜寻的位置的时间位置)的3GPP文件。为了请求3GPP文件,目的地装置可建构指定源装置20的 URL、MPD文件的URN、呈现识别符及3GPP文件识别符的HTTP GET请求。3GPP文件识别符可对应于3GPP文件的数字识别符,或包括开始时间及/或结束时间中的至少ー者。在ー些实例中,目的地装置40可建构部分GET请求,例如,当包括用户搜寻的时间的3GPP文件相对较长(例如,接近60秒)吋。在接收到HTTP GET或部分GET请求之后,源装置20可检索且发送所请求的3GPP 文件(或所请求的3GPP文件的部分)(196)。源装置20可在ー个或ー个以上HTTP包中将 3GPP文件发送到目的地装置40。HTTP包中的每ー者可经进一歩包封,例如,根据TCP/IP。 在接收到且重组所请求的3GPP文件之后,目的地装置40可解码且显示3GPP文件(198)。 即,目的地装置40的网络浏览器38可将3GPP文件发送到视频解码器48以用于解码,视频解码器48可将经解码视频数据发送到视频输出44以供显示。目的地装置40可接着确定经解码及显示的视频文件是否为视频的最后3GPP文件 (200) 0当已到达视频的末尾时或当用户选择停止观看视频时,目的地装置40可确定所述 3GPP文件为最后的。如果经解码及显示的视频文件并非最后视频文件O00的“否”分支), 那么目的地装置40可重新评估可用带宽(190),基于新确定的带宽量而选择呈现(192),并请求来自选定呈现的下ー个3GPP文件(194)。另ー方面,如果经解码及显示的视频文件为最后视频文件O00的“是”分支),那么方法可结束。图6为说明实例3GPP文件220的元素的框图。目的地装置40可使用来自3GPP文件220的数据来搜寻在3GPP文件220内的所请求的时间。一般来说,3GPP文件可包括对应于任何时间长度(例如,在两秒与六十秒之间,或更长或更短)的视频数据。当3GPP文件的时间长度相对较短(例如,接近两秒)吋,目的地装置40可经配置以检索包括搜寻时间(即,如由(例如)用户请求的开始显示视频数据的视频数据时间)的整个3GPP文件。 另ー方面,当3GPP文件的时间长度较长(例如,接近60秒)吋,目的地装置40可经配置以检索接近搜寻时间的用于解码及显示的3GPP文件的一部分,例如,通过使用HTTP部分GET 请求。3GPP文件220包括电影(MOOV)盒222及电影分段随机存取(MFRA)盒230。MOOV 盒222 —般包括经编码视频数据,而MFRA盒230包括用于辅助MOOV盒222内的数据的随机存取的描述性数据。在图6的实例中,MOOV盒222包括用于整个文件的元数据2M及可能地视频分段226A到(视频分段226),而MFRA盒包括轨道分段随机存取(TFRA)盒 232(其包括分段发信号通知数据234)及电影分段随机存取偏移(MFRO)盒236(其包括 MFRA大小值238)。MFRA大小值238按字节描述MFRA盒230的长度。在图6的实例中,3GPP文件220 具有N个字节。目的地装置40可提交对3GPP文件220的HTTP HEAD请求,以确定3GPP文件220的长度,例如,在此实例中的值N。一般来说,MFRO盒236占据3GPP文件220的最后四个字节。因此,为了确定MFRA盒230的长度,例如目的地装置40等客户端装置可检索 3GPP文件220的最后四个字节,例如,使用指定从[N-4]到N的字节范围的HTTP部分GET 请求。因为MFRO盒236包括MFRA大小值238,所以目的地装置40可在检索到MFRO盒236 之后确定MFRA盒230的长度。在使用MFRA大小值238确定MFRA盒230的长度之后,目的地装置40可检索MFRA 盒230的其余部分。举例来说,目的地装置40可发出指定从[N-MFRA大小]到[N-4]的字节范围的对3GPP文件220的HTTP部分得到。如图6中所示,此部分包括TFRA盒232,其包括分段信令234。分段信令234可指定(例如)视频分段226的时间位置。标头数据224目的地装置40可使用分段信令234来确定检索视频分段226中的哪些以便满足搜寻请求。即,目的地装置40可确定视频分段226中的哪ー者包括在搜寻请求中所指定的时间。目的地装置40可检索标头数据224以确定视频分段2 中的每ー者的字节范围。在基于分段信令234确定视频分段226中的哪ー者包括搜寻请求中所指定的时间之后,目的地装置40可检索视频分段226中包括搜寻请求中所指定的时间的一者,以及后续视频分段 226中的每ー者。在一些实例中,目的地装置40可提交对视频分段2 中包括搜寻请求中所指定的时间的一者的第一部分GET请求,在接收到后即刻开始解码及显示此视频分段,且接着提交一个或ー个以上额外部分GET请求以检索视频分段226中的后续视频分段。在其它实例中,目的地装置40可提交一个部分GET请求,以检索视频分段226中包括搜寻请求中所指定的时间的ー者及视频分段226的后续视频分段中的每ー者,例如,通过指定对应于视频分段226中的所述ー者的开始到[N-MFRA大小]的字节范围。图7为说明用于响应于对3GPP文件内的时间的搜寻请求而请求3GPP文件的分段的实例方法的流程图。最初,目的地装置40可(例如)从用户经由网络浏览器38接收在视频内搜寻特定时间的请求O50)。举例来说,用户可选择指示视频数据的时间位置的滚动条的一部分,以请求对特定时间位置的搜寻。作为响应,目的地装置40可确定MPD文件的呈现的包括搜寻时间的3GPP文件 (252) 0 S卩,目的地装置40可确定呈现的3GPP文件中具有比搜寻时间小的开始时间及比搜寻时间大的结束时间的ー个3GPP文件。为了说明的目的,相对于图6的3GPP文件220论述图7的方法,3GPP文件220可对应于与3GPP文件识别符118对应的3GPP文件、3GPP文件138或3GPP文件144中的任一者。假定3GPP文件220具有比搜寻时间小的开始时间及比搜寻时间大的结束时间。目的地装置40可基于存储在包括3GPP文件220的呈现的标头部分内的用于3GPP文件220的时序信息属性而识别3GPP文件220。搜寻时间与3GPP文件 220的开始时间之间的差可被称作时间偏移。目的地装置40可接着确定3GPP文件220的长度,例如,通过将指定3GPP文件220 的HTTP HEAD请求发出到源装置20。在确定按字节的3GPP文件220的长度(例如,N个字节)后,目的地装置40即刻可发出指定3GPP文件220及3GPP文件220的[N-4]到N的字节范围的HTTP部分GET请求,以从3GPP文件220检索MFRO盒236 (254)。如在图6的实例中所说明,MFRO盒236包括MFRA大小值238。因此,在接收到MFRO 盒236之后,目的地装置40可使用MFRA大小值238来检索MFRA盒230的其余部分(256)。 即,目的地装置40可发出对3GPP文件220的字节范围[N-MFRA大小]到[N-4]的HTTP部分GET。以此方式,目的地装置40可基于MFRO数据检索其余MFRA数据。目的地装置40还可检索MOOV盒222的MOOV标头数据(例如,标头224) (258)。目的地装置40可使用标头224的数据及MFRA盒230的分段信令232来确定视频分段226中的哪ー者具有最接近搜寻时间而不超过搜寻时间的开始时间060)。目的地装置40可接着发出检索来自3GPP文件220的视频分段226的所述ー者及后续视频分段2 中的每ー者的ー个或ー个以上HTTP部分GET请求062)。即,使用来自标头2M及分段信令232的指示,目的地装置40可确定视频分段2 中的所述ー者具有最接近搜寻时间而不超过搜寻时间的开始时间的开始字节。在各种实例中,目的地装置40可接着建构指定此开始字节及视频分段2 中的此ー者的最后字节或MOOV盒222的结束的HTTP部分GET请求。尽管相对于来自MFRA盒230的数据的使用描述图7的方法,但目的地装置40可使用其它数据来执行用于从3GPP文件222提取视频分段2 的类似技木。举例来说,目的地装置40可基于3GPP文件的项目位置(ILOC)盒确定提取视频分段226中的哪些。3GPP文件可经建构,使得前四个字节(例如)包括项目位置偏移(ILOO)盒,紧接着为IL0C。ILOO 盒可指定ILOC盒的长度。可根据以下实例伪码建构ILOO盒aligned (8) class ItemLocationBoxOffset extends FulIBox ‘ iloo ‘, version,0){unsigned int u2)size ;}在所述实例伪码中,ItemLocationBoxOffset描述用于IL00盒的新类别的名称。 所述实例指定指示ILOC盒的大小的32位整数值“大小”。由IL00盒所指定的ILOC盒的大小值可包括IL00盒的四个字节。ILOC盒可指定指示3GPP文件内所包括的视频分段的时序信息的时序信息盒,例如,每一分段的开始及结束时间。可按自动方式发信号通知时序信息,例如,为了节省位。 ILOC盒可进一歩包括3GPP文件的M00V盒的其它描述性数据,例如,与由图6的标头2M所存储的数据类似的数据。ILOC及ILOO盒可用以指示电影分段的时序信息。因此,目的地装置40可通过基于ILOC及ILOO盒的数据建构ー个或ー个以上HTTP部分GET请求来检索视频分段以满足搜寻请求。明确地说,目的地装置40可首先检索对应于ILOC盒的大小值的3GPP文件的前四个字节。即,目的地装置40可首先发出对3GPP文件的字节0到4的HTTP部分GET请求, 以检索ILOO盒。通过使用由ILOO盒所指定的ILOC盒的大小,目的地装置40可检索ILOC 盒,例如,通过发出指定字节4到[IL0C大小]的HTTP部分GET请求。ILOC盒可指定时序信息盒的位置及长度(也被称作遵循所述ILOC盒,其指示每一视频分段的字节范围及时间位置,例如,开始时间、结束时间、开始字节及结束字节)。因此,目的地装置40可接着基于ILOC盒的数据检索时序信息盒。目的地装置40可接着确定视频分段中的哪ー者包括比搜寻时间小的开始时间及比搜寻时间大的结束时间,且发出检索3GPP文件的此视频分段及后续视频分段的ー个或ー个以上HTTP部分GET请求。可根据以下实例伪码实施时序信息盒
aligned(8) class TimeMovieFragment extends FullBox Ctmfr', version=0, 0) { unsigned int (32) number_entry; for (i=0; i< number_entry; i++) {
unsigned int (32) deltaTFragment;
unsigned int (32) numContinueFragWithSameDuration;
}
}在所述实例伪码中,“ nUmber_entry”值描述3GPP文件的连续电影分段的数目。可将number_entry设定为值1,以指示电影分段的所有持续时间相同。“deltaTFragment”值一般可描述在3GPP文件中的电影分段的连续群组中的第i条目的分段的持续时间。“numC ontinueFragWithSameDuration”值描述第i条目中的连续电影分段的数目。当“numContin ueFragWithSameDuration”值等于0吋,其指示所述呈现中的所有3GPP文件具有相同持续时间 deltaT。在ー个或ー个以上实例中,所描述的功能可实施于硬件、软件、固件或其任何組合中。如果实施于软件中,那么可将所述功能作为ー个或ー个以上指令或代码而存储在计算机可读媒体上或经由计算机可读媒体来传输。计算机可读媒体可包括计算机数据存储媒体或通信媒体(包括有助于计算机程序从ー处传送到另ー处的任何媒体)。数据存储媒体可为可由ー个或ー个以上计算机或ー个或ー个以上处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。短语“计算机可读存储媒体”意在指代非暂时性有形计算机可读存储媒体,其可对应于制品。作为实例而非限制,此些计算机可读媒体可包含RAM、ROM、EEPR0M、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以运载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。并且,严格地说,将任何连接均称为计算机可读媒体。 举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电及微波)而从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤缆线、 双绞线、DSL或无线技术(例如,红外线、无线电及微波)包括于媒体的定义中。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。 以上各项的组合也应包括于计算机可读媒体的范围内。代码可由ー个或ー个以上处理器执行,例如ー个或ー个以上数字信号处理器 (DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在ー些方面中,本文中所描述的功能性可提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。并且,所述技术可完全地实施于ー个或ー个以上电路或逻辑元件中。本发明的技术可实施于各种各样的装置或设备中,包括无线手持机、集成电路 (IC)或IC的集合(例如,芯片组)。本发明中描述各种组件、模块或単元是为了强调经配置以执行所掲示的技术的装置的功能方面,但未必需要通过不同硬件单元来实现。相反,如上文所述,各种单元可组合于编解码器硬件単元中或由互操作的硬件単元的集合(包括如上文所述的ー个或ー个以上处理器)结合合适的软件及/或固件提供。已描述各种实例。这些及其它实例在所附权利要求书的范围内。
权利要求
1.一种用于输送经编码视频数据的方法,所述方法包含 通过源视频装置接收包含若干个视频区段的经编码视频数据;形成包含若干个视频文件的呈现,所述视频文件中的每一者对应于所述视频区段中的一相应者;及响应于指定所述视频数据的时间段的请求,输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者。
2.根据权利要求1所述的方法,其进一步包含发信号通知所述视频文件中的每一者的开始时间及结束时间。
3.根据权利要求2所述的方法,其中所述时间段包含等效于所述视频文件中的一者的所述开始时间的开始时间,且其中所述时间段包含等效于所述视频文件中的所述一者的所述结束时间的结束时间,且其中输出所述视频文件中的所述至少一者包含输出所述视频文件中具有等效于由所述请求所指定的所述时间段的所述相应开始时间及结束时间的所述开始时间及所述结束时间的所述一者。
4.根据权利要求1所述的方法,其中所述呈现包含第一呈现,所述方法进一步包含 形成包含若干个视频文件的第二呈现,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者,使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准;及基于所述请求从所述第一呈现或所述第二呈现选择性地输出所述若干个视频文件中的至少一者,其中所述请求指定所述第一呈现或所述第二呈现中的至少一者。
5.根据权利要求4所述的方法,其进一步包含发信号通知第一渲染能力、第一解码能力及用于所述第一呈现的第一平均位率;及发信号通知第二渲染能力、第二解码能力及用于所述第二呈现的第二平均位率。
6.根据权利要求4所述的方法,其中所述请求包含文件名称,所述文件名称包含所述第一呈现或所述第二呈现中的至少一者的指示、开始时间及结束时间,且其中输出所述视频文件中的所述至少一者包含从对应于所述请求的所述指示的所述呈现输出所述视频文件中的一者,所述视频文件中的所述一者具有所述请求的所述开始时间及所述结束时间。
7.根据权利要求1所述的方法,其中所述请求包含指定所述所指定的呈现的所述视频文件中的一者的字节范围的超文本传送协议HTTP部分GET请求。
8.一种用于输送经编码视频数据的设备,所述设备包含管理单元,其经配置以接收包含若干个视频区段的经编码视频数据,且形成包含若干个视频文件的呈现,所述视频文件中的每一者对应于所述视频区段中的一相应者;及网络接口,其经配置以响应于指定所述视频数据的时间段的请求,输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者。
9.根据权利要求8所述的设备,其中所述管理单元经配置以发信号通知所述视频文件中的每一者的开始时间及结束时间。
10.根据权利要求9所述的设备,其中所述时间段包含等效于所述视频文件中的一者的所述开始时间的开始时间,且其中所述时间段包含等效于所述视频文件中的所述一者的所述结束时间的结束时间,且其中为了输出所述视频文件中的所述至少一者,所述网络接口输出所述视频文件中具有等效于由所述请求所指定的所述时间段的所述相应开始时间及结束时间的所述开始时间及所述结束时间的所述一者。
11.根据权利要求8所述的设备,其中所述呈现包含第一呈现,且其中所述管理单元经配置以形成包含若干个视频文件的第二呈现,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者,使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准,且基于所述请求从所述第一呈现或所述第二呈现选择性地输出所述若干个视频文件中的至少一者,其中所述请求另外指定所述第一呈现或所述第二呈现中的至少一者。
12.根据权利要求11所述的设备,其中所述管理单元经配置以发信号通知第一渲染能力、第一解码能力及用于所述第一呈现的第一平均位率,且发信号通知第二渲染能力、第二解码能力及用于所述第二呈现的第二平均位率。
13.根据权利要求11所述的设备,其中所述请求包含文件名称,所述文件名称包含所述第一呈现或所述第二呈现中的至少一者的指示、开始时间及结束时间,且其中为了输出所述视频文件中的所述至少一者,所述网络接口经配置以从对应于所述请求的所述指示的所述呈现输出所述视频文件中的一者,所述视频文件中的所述一者具有所述请求的所述开始时间及所述结束时间。
14.根据权利要求8所述的设备,其中所述请求包含指定所述所指定的呈现的所述视频文件中的一者的字节范围的超文本传送协议HTTP部分GET请求。
15.一种用于输送经编码视频数据的设备,所述设备包含用于接收包含若干个视频区段的经编码视频数据的装置;用于形成包含若干个视频文件的呈现的装置,所述视频文件中的每一者对应于所述视频区段中的一相应者;及用于响应于指定所述视频数据的时间段的请求输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者的装置。
16.根据权利要求15所述的设备,其进一步包含用于发信号通知所述视频文件中的每一者的开始时间及结束时间的装置。
17.根据权利要求16所述的设备,其中所述时间段包含等效于所述视频文件中的一者的所述开始时间的开始时间,且其中所述时间段包含等效于所述视频文件中的所述一者的所述结束时间的结束时间,且其中所述用于输出所述视频文件中的所述至少一者的装置包含用于输出所述视频文件中具有等效于由所述请求所指定的所述时间段的所述相应开始时间及结束时间的所述开始时间及所述结束时间的所述一者的装置。
18.根据权利要求15所述的设备,其中所述呈现包含第一呈现,所述设备进一步包含用于形成包含若干个视频文件的第二呈现的装置,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者,使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准;及用于基于所述请求从所述第一呈现或所述第二呈现选择性地输出所述若干个视频文件中的至少一者的装置,其中所述请求另外指定所述第一呈现或所述第二呈现中的至少一者ο
19.根据权利要求18所述的设备,其进一步包含用于发信号通知第一渲染能力、第一解码能力及用于所述第一呈现的第一平均位率的装置;及用于发信号通知第二渲染能力、第二解码能力及用于所述第二呈现的第二平均位率的直ο
20.根据权利要求18所述的设备,其中所述请求包含文件名称,所述文件名称包含所述第一呈现或所述第二呈现中的至少一者的指示、开始时间及结束时间,且其中所述用于输出所述视频文件中的所述至少一者的装置包含用于从对应于所述请求的所述指示的所述呈现输出所述视频文件中的一者的装置,所述视频文件中的所述一者具有所述请求的所述开始时间及所述结束时间。
21.根据权利要求15所述的设备,其中所述请求包含指定所述所指定的呈现的所述视频文件中的一者的字节范围的超文本传送协议HTTP部分GET请求。
22.—种非暂时性计算机可读存储媒体,其包含在执行时致使用于输送经编码视频数据的源装置的处理器进行以下操作的指令接收包含若干个视频区段的经编码视频数据;形成包含若干个视频文件的呈现,所述视频文件中的每一者对应于所述视频区段中的一相应者;及响应于指定所述视频数据的时间段的请求,输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者。
23.根据权利要求22所述的非暂时性计算机可读存储媒体,其进一步包含发信号通知所述视频文件中的每一者的开始时间及结束时间的指令。
24.根据权利要求23所述的非暂时性计算机可读存储媒体,其中所述时间段包含等效于所述视频文件中的一者的所述开始时间的开始时间,且其中所述时间段包含等效于所述视频文件中的所述一者的所述结束时间的结束时间,且其中所述输出所述视频文件中的所述至少一者的指令包含输出所述视频文件中具有等效于由所述请求所指定的所述时间段的所述相应开始时间及结束时间的所述开始时间及所述结束时间的所述一者的指令。
25.根据权利要求22所述的非暂时性计算机可读存储媒体,其中所述呈现包含第一呈现,所述非暂时性计算机可读存储媒体进一步包含进行以下操作的指令形成包含若干个视频文件的第二呈现,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者,使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准;及基于所述请求从所述第一呈现或所述第二呈现选择性地输出所述若干个视频文件中的至少一者,其中所述请求另外指定所述第一呈现或所述第二呈现中的至少一者。
26.根据权利要求25所述的非暂时性计算机可读存储媒体,其进一步包含进行以下操作的指令发信号通知第一渲染能力、第一解码能力及用于所述第一呈现的第一平均位率;及发信号通知第二渲染能力、第二解码能力及用于所述第二呈现的第二平均位率。
27.根据权利要求25所述的非暂时性计算机可读存储媒体,其中所述请求包含文件名称,所述文件名称包含所述第一呈现或所述第二呈现中的至少一者的指示、开始时间及结束时间,且其中所述输出所述视频文件中的所述至少一者的指令包含从对应于所述请求的所述指示的所述呈现输出所述视频文件中的一者的指令,所述视频文件中的所述一者具有所述请求的所述开始时间及所述结束时间。
28.根据权利要求22所述的非暂时性计算机可读存储媒体,其中所述请求包含指定所述所指定的呈现的所述视频文件中的一者的字节范围的超文本传送协议HTTP部分GET请求。
29.一种用于检索经编码视频数据的方法,所述方法包含通过客户端装置检索描述视频数据的呈现的特性的呈现描述数据,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者;将指定所述视频数据的时间段的请求提交到源装置;响应于所述请求,从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者;及解码且显示所述视频文件中的所述至少一者。
30.根据权利要求四所述的方法,其中所述呈现包含第一呈现,其中所述第一呈现的所述特性包含所述第一呈现的期望解码能力、所述第一呈现的期望渲染能力及所述第一呈现的平均位率中的至少一者,其中所述呈现描述数据另外描述所述视频数据的第二呈现的特性,其中所述第二呈现的所述特性包含所述第二呈现的期望解码能力、所述第二呈现的期望渲染能力及所述第二呈现的平均位率中的至少一者,且其中所述第二呈现包含若干个视频文件,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者, 使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准,所述方法进一步包含基于所述第一呈现及所述第二呈现的所述特性以及所述客户端装置的解码能力及所述客户端装置的渲染能力中的至少一者而在所述第一呈现与所述第二呈现之间选择,其中提交所述请求包含基于所述选择而指定所述第一呈现或所述第二呈现。
31.根据权利要求30所述的方法,其中所述视频文件中的所述至少一者包含来自所述第一呈现的第一视频文件,其中所述请求包含第一请求,且其中所述时间段包含第一时间段,所述方法进一步包含确定可用网络带宽量;基于所述所确定的可用网络带宽量选择所述第二呈现;及将指定所述视频数据的第二时间段的第二请求提交到所述源装置,其中所述第二时间段在所述视频数据中比所述第一时间段靠后出现。
32.根据权利要求30所述的方法,其进一步包含形成包括文件名称的所述请求,所述文件名称指定所述第一或所述第二呈现中的至少一者、所述视频文件中的所述至少一者的开始时间及所述视频文件中的所述至少一者的结束时间。
33.根据权利要求四所述的方法,其进一步包含在提交所述请求之前,接收所述视频文件的所述时间段的开始的指示;及按HTTP部分GET请求形成所述请求以检索所述视频文件中的所述至少一者的字节范围,所述字节范围具有对应于所述时间段的所述开始的开始字节。
34.一种用于检索经编码视频数据的设备,所述设备包含网络接口 ;控制单元,其经配置以经由所述网络接口检索描述视频数据的呈现的特性的呈现描述数据,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者;将指定所述视频数据的时间段的请求提交到源装置;且响应于所述请求,从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者;视频解码器,其经配置以解码所述视频文件中的所述至少一者;及用户接口,其包含经配置以显示所述视频文件中的所述经解码的至少一者的显示器。
35.根据权利要求34所述的设备,其中所述呈现包含第一呈现,其中所述第一呈现的所述特性包含所述第一呈现的期望解码能力、所述第一呈现的期望渲染能力及所述第一呈现的平均位率中的至少一者,其中所述呈现描述数据另外描述所述视频数据的第二呈现的特性,其中所述第二呈现的所述特性包含所述第二呈现的期望解码能力、所述第二呈现的期望渲染能力及所述第二呈现的平均位率中的至少一者,且其中所述第二呈现包含若干个视频文件,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者, 使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准,其中所述控制单元经进一步配置以基于所述第一呈现及所述第二呈现的所述特性以及所述设备的解码能力及所述设备的渲染能力中的至少一者而在所述第一呈现与所述第二呈现之间选择,其中为了提交所述请求,所述控制单元经配置以基于所述选择而指定所述第一呈现或所述第二呈现。
36.根据权利要求35所述的设备,其中所述视频文件中的所述至少一者包含来自所述第一呈现的第一视频文件,其中所述请求包含第一请求,且其中所述时间段包含第一时间段,且其中所述控制单元经配置以确定可用网络带宽量、基于所述所确定的可用网络带宽量选择所述第二呈现,且将指定所述视频数据的第二时间段的第二请求提交到所述源装置,其中所述第二时间段在所述视频数据中比所述第一时间段靠后出现。
37.根据权利要求35所述的设备,其中所述控制单元经进一步配置以形成包括文件名称的所述请求,所述文件名称指定所述第一或所述第二呈现中的至少一者、所述视频文件中的所述至少一者的开始时间及所述视频文件中的所述至少一者的结束时间。
38.根据权利要求34所述的设备,其中所述控制单元经配置以在提交所述请求之前, 接收所述视频文件的所述时间段的开始的指示;及按HTTP部分GET请求形成所述请求以检索所述视频文件中的所述至少一者的字节范围,所述字节范围具有对应于所述时间段的所述开始的开始字节。
39.一种用于检索经编码视频数据的设备,所述设备包含用于检索描述视频数据的呈现的特性的呈现描述数据的装置,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者;用于将指定所述视频数据的时间段的请求提交到源装置的装置;用于响应于所述请求从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者的装置;及用于解码且显示所述视频文件中的所述至少一者的装置。
40.根据权利要求39所述的设备,其中所述呈现包含第一呈现,其中所述第一呈现的所述特性包含所述第一呈现的期望解码能力、所述第一呈现的期望渲染能力及所述第一呈现的平均位率中的至少一者,其中所述呈现描述数据另外描述所述视频数据的第二呈现的特性,其中所述第二呈现的所述特性包含所述第二呈现的期望解码能力、所述第二呈现的期望渲染能力及所述第二呈现的平均位率中的至少一者,且其中所述第二呈现包含若干个视频文件,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者, 使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准,所述设备进一步包含用于基于所述第一呈现及所述第二呈现的所述特性以及所述设备的解码能力及所述设备的渲染能力中的至少一者而在所述第一呈现与所述第二呈现之间选择的装置,其中所述用于提交所述请求的装置包含用于基于所述选择而指定所述第一呈现或所述第二呈现的装置。
41.根据权利要求40所述的设备,其中所述视频文件中的所述至少一者包含来自所述第一呈现的第一视频文件,其中所述请求包含第一请求,且其中所述时间段包含第一时间段,所述设备进一步包含用于确定可用网络带宽量的装置;用于基于所述所确定的可用网络带宽量选择所述第二呈现的装置;及用于将指定所述视频数据的第二时间段的第二请求提交到所述源装置的装置,其中所述第二时间段在所述视频数据中比所述第一时间段靠后出现。
42.根据权利要求40所述的设备,其进一步包含用于形成包括文件名称的所述请求的装置,所述文件名称指定所述第一或所述第二呈现中的至少一者、所述视频文件中的所述至少一者的开始时间及所述视频文件中的所述至少一者的结束时间。
43.根据权利要求39所述的设备,其进一步包含用于在提交所述请求之前接收所述视频文件的所述时间段的开始的指示的装置;及用于按HTTP部分GET请求形成所述请求以检索所述视频文件中的所述至少一者的字节范围的装置,所述字节范围具有对应于所述时间段的所述开始的开始字节。
44.一种非暂时性计算机可读存储媒体,其包含在执行时致使用于检索经编码视频数据的客户端装置的处理器进行以下操作的指令检索描述视频数据的呈现的特性的呈现描述数据,其中所述视频数据包含若干个视频区段,且其中所述呈现包含若干个视频文件,所述视频文件中的每一者对应于所述视频区段中的一相应者;将指定所述视频数据的时间段的请求提交到源装置;响应于所述请求,从所述源装置接收对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者;致使所述客户端装置的视频解码器解码所述视频文件中的所述至少一者;及致使所述客户端装置的显示器显示所述经解码的视频文件中的所述至少一者。
45.根据权利要求44所述的非暂时性计算机可读存储媒体,其中所述呈现包含第一呈现,其中所述第一呈现的所述特性包含所述第一呈现的期望解码能力、所述第一呈现的期望渲染能力及所述第一呈现的平均位率中的至少一者,其中所述呈现描述数据另外描述所述视频数据的第二呈现的特性,其中所述第二呈现的所述特性包含所述第二呈现的期望解码能力、所述第二呈现的期望渲染能力及所述第二呈现的平均位率中的至少一者,且其中所述第二呈现包含若干个视频文件,所述第二呈现的所述视频文件中的每一者对应于所述视频区段中的一相应者,使得所述第二呈现的所述视频文件在时间上与所述第一呈现的所述视频文件对准,所述非暂时性计算机可读存储媒体进一步包含进行以下操作的指令基于所述第一呈现及所述第二呈现的所述特性以及所述视频解码器的解码能力及所述显示器的渲染能力中的至少一者而在所述第一呈现与所述第二呈现之间选择,其中所述提交所述请求的指令包含基于所述选择而指定所述第一呈现或所述第二呈现的指令。
46.根据权利要求45所述的非暂时性计算机可读存储媒体,其中所述视频文件中的所述至少一者包含来自所述第一呈现的第一视频文件,其中所述请求包含第一请求,且其中所述时间段包含第一时间段,所述非暂时性计算机可读存储媒体进一步包含进行以下操作的指令确定可用网络带宽量;基于所述所确定的可用网络带宽量选择所述第二呈现;及将指定所述视频数据的第二时间段的第二请求提交到所述源装置,其中所述第二时间段在所述视频数据中比所述第一时间段靠后出现。
47.根据权利要求45所述的非暂时性计算机可读存储媒体,其进一步包含形成包括文件名称的所述请求的指令,所述文件名称指定所述第一或所述第二呈现中的至少一者、所述视频文件中的所述至少一者的开始时间及所述视频文件中的所述至少一者的结束时间。
48.根据权利要求44所述的非暂时性计算机可读存储媒体,其进一步包含进行以下操作的指令在提交所述请求之前,接收所述视频文件的所述时间段的开始的指示;及按HTTP部分GET请求形成所述请求以检索所述视频文件中的所述至少一者的字节范围,所述字节范围具有对应于所述时间段的所述开始的开始字节。
全文摘要
一种源装置可发信号通知媒体呈现描述MPD文件的特性,使得目的地装置可选择对应于所述MPD文件的若干个呈现中的一者,且检索所述选定呈现的一个或一个以上视频文件。在一个实例中,一种用于输送经编码视频数据的设备包括管理单元,其经配置以接收包含若干个视频区段的经编码视频数据,且形成包含若干个视频文件的呈现,所述视频文件中的每一者对应于所述视频区段中的一相应者;及网络接口,其经配置以响应于指定所述视频数据的时间段的请求,输出对应于所述所请求的时间段的所述若干个视频区段的所述视频文件中的至少一者。一种客户端可请求来自所述呈现中的不同者的时间上依序的分段。
文档编号H04N21/45GK102598688SQ201080048812
公开日2012年7月18日 申请日期2010年10月27日 优先权日2009年10月28日
发明者陈英, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1