用于串流视频数据的视频切换的制作方法

文档序号:7850707阅读:211来源:国知局
专利名称:用于串流视频数据的视频切换的制作方法
技术领域
本发明涉及经编码视频数据的存储及输送。
背景技术
数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及 其类似者。数字视频装置实施视频压缩技术(例如,由MPEG-2、MPEG-4、ITU-T H. 263或ITU-T H. 264/MPEG-4第10部分高级视频译码(AVC)所定义的标准及这些标准的扩展中所描述的视频压缩技术),以较有效地发射及接收数字视频信息。视频压缩技术执行空间预测及/或时间预测,以减少或移除视频序列中所固有的冗余。对于基于块的视频译码来说,可将视频帧或切片分割为多个宏块。可进一步分割每一宏块。使用相对于相邻宏块的空间预测来编码经帧内译码(I)帧或切片中的宏块。经帧间译码(P或B)帧或切片中的宏块可使用相对于同一帧或切片中的相邻宏块的空间预测或相对于其它参考帧的时间预测。在视频数据已被编码之后,可将视频数据包化以供发射或存储。可遵照多种标准中的任一者(例如,国际标准化组织(ISO)基础媒体文件格式及其扩展(例如,AVC))将视频数据组合成视频文件。一直在努力开发出基于H. 264/AVC的新视频译码标准。一个此类标准为可缩放视频译码(SVC)标准,其为H.264/AVC的可缩放扩展。另一标准为多视图视频译码(MVC),其已变成H. 264/AVC的多视图扩展。MVC的联合草案描述于JVT-AB204的“关于多视图视频译码的联合草案 8. O (Joint Draft 8. Oon Multiview Video Coding) ”(2008 年 7 月在德国汉诺威举办的第28届JVT会议)中,此文献可从http://wftp3. itu. int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204. zip 获得。AVC 标准的版本描述于 JVT-AD007的“对ITU-T Rec. H. 264 | IS0/IEC14496-10高级视频译码的编者修正草案-为ITU-TSG16AAP 同意做准备(以综合形式)(Editors’draft revision to ITU-T Rec. Η. 264 | ISO/IEC14496-10Advanced Video Coding-in preparation for ITU-T SG 16AAP Consent(inintegrated form) ”(2009年2月在瑞士日内瓦举办的第30届JVT会议)中,此文献可从http://wftp3. itu. int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007. zip获得。本文献提供SVC及MVC标准与AVC规范的综合。发明内容
大体来说,本发明描述用于在使用网络串流协议来串流多媒体内容的表示时在所述表示之间切换的技术。同一多媒体内容可以多种方式来编码,从而产生所述多媒体内容的各种表示。本发明的技术可通过改进客户端装置在不中断所述客户端装置处的视频重放的情况下在表示之间切换的能力来改进多媒体内容的数据的串流(例如,根据网络串流协议,例如HTTP版本I. 1,还称作HTTP串流)。
根据本发明的技术,服务器装置可用信号发出(即,响应于请求而提供)表示解码延迟及图片重排延迟的延迟值。解码延迟可表示解码表示的一个或一个以上经编码视频样本所需的时间量。图片重排延迟可表示为实现显示目的而重排图片所需的时间量,因为图片未必按与其解码相同的次序来显示。客户端装置可使用所述延迟值来确定客户端装置可从一个表示切换到另一表示的点。也就是说,客户端装置可确定客户端装置停止请求第一表示的数据且改为开始请求第二不同表示的数据的点。考虑所述用信号发出的延迟值,客户端可确定此点以使得重放(在解码及重排之后)不受表示之间的切换所中断。
在一个实例中,一种发送视频数据的方法包括将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置;将指示以下情形的信息提供到所述客户端装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据;响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求,将来自所述第一表示的所述所请求数据发送到所述客户端装置;及在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求,将来自所述第二表示的所述所请求数据发送到所述客户端装置。
在另一实例中,一种用于发送视频数据的设备包括处理器,所述处理器经配置以进行以下操作将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置;将指示以下情形的信息提供到所述客户端装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据;响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求,将来自所述第一表示的所述所请求数据发送到所述客户端装置;及在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求,将来自所述第二表示的所述所请求数据发送到所述客户端装置。
在另一实例中,一种用于发送视频数据的设备包括用于将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置的装置;用于将指示以下情形的信息提供到所述客户端装置的装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据;用于响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求而将来自所述第一表示的所述所请求数据发送到所述客户端装置的装置;及用于在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求而将来自所述第二表示的所述所请求数据发送到所述客户端装置的装置。在另一实例中,一种计算机程序产品包括计算机可读存储媒体,所述计算机可读存储媒体包含在执行时致使用于发送视频数据的源装置的处理器进行以下操作的指令将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置;将指示以下情形的信息提供到所述客户端装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据;响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求,将来自所述第一表示的所述所请求数据发送到所述客户端装置;及在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求,将来自所述第二表示的所述所请求数据发送到所述客户端装置。在另一实例中,一种接收视频数据的方法包括接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值;根据串流网络协议请求来自视频序列的所述第一表示的数据;响应于确定待从所述第一表示切换到所述第二表示,基于所述延迟值来缓冲来自所述第一表示的适量的数据;及在缓冲来自所述第一表示的所述适量的数据之后,根据所述串流网络协议请求来自所述视频序列的第二表示的数据。在另一实例中,一种用于接收视频数据的设备包括处理器,所述处理器经配置以进行以下操作接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值;根据串流网络协议请求来自视频序列的所述第一表示的数据;响应于确定待从所述第一表示切换到所述第二表示,基于所述延迟值来缓冲来自所述第一表示的适量的数据;及在缓冲来自所述第一表示的所述适量的数据之后,根据所述串流网络协议请求来自所述视频序列的第二表示的数据。在另一实例中,一种用于接收视频数据的设备包括用于接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值的装置;用于根据串流网络协议请求来自视频序列的所述第一表示的数据的装置;用于响应于确定待从所述第一表示切换到所述第二表示而基于所述延迟值来缓冲来自所述第一表示的适量的数据的装置;及用于在缓冲来自所述第一表示的所述适量的数据之后根据所述串流网络协议请求来自所述视频序列的第二表示的数据的装置。在另一实例中,一种计算机程序产品包括计算机可读存储媒体,所述计算机可读存储媒体包含致使用于接收视频数据的目的地装置的处理器进行以下操作的指令接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值;根据串流网络协议请求来自视频序列的所述第一表示的数据;响应于确定待从所述第一表示切换到所述第二表示,基于所述延迟值来缓冲来自所述第一表示的适量的数据;及在缓冲来自所述第一表示的所述适量的数据之后,根据所述串流网络协议请求来自所述视频序列的第二表示的数据。一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从所述描述及所述图式以及从权利要求书显而易见。


图I为说明其中音频/视频(A/V)源装置将音频及视频数据传送到A/V目的地装置的实例系统的框图。
图2为说明实例包封单元的组件的框图。
图3为说明经译码视频帧序列的概念图。
图4为说明可切换表示的概念图。
图5A为说明在时间上对准的两个表示的实例的概念图。
图5B为说明未在时间上对准的两个表示的实例的概念图。
图6为说明用于执行两个可切换表示之间的无缝切换的实例方法的流程图。
图7为说明服务器装置将描述可切换表示的信息提供到客户端装置的实例方法的流程图。
图8为说明客户端装置自从服务器装置检索第一表示的数据切换到从所述服务器装置检索第二表示的数据的实例方法的流程图。
具体实施方式
大体来说,本发明描述用于在网络串流上下文中支持多媒体内容的表示之间的切换的技术。当在表示之间进行切换时,可能存在由多种因素引起的自然延迟。如下文更详细地解释,本发明的技术包括用信号发出(例如,服务器装置响应于来自客户端装置的请求而提供数据)指示延迟的信息以供在从多媒体内容的一个表示切换到所述多媒体内容的另一表示时考虑。以此方式,客户端装置可缓冲来自所述第一表示的足够量的数据,以允许在接收到来自所述第二表示的数据且开始解码来自所述第二表示的数据之前解码来自所述第一表示的数据。因此,客户端装置可能够在多个表示之间切换而不会中断多媒体内容的重放。以此方式,本发明的技术可改进用户当在客户端装置上观看内容时的体验。
用信号发出的延迟可表示解码延迟及图片重排延迟两者。明确地说,用信号发出的延迟值可包含用于从一个表示切换到另一表示的最大解码延迟与最大重排延迟的组合。 可(例如)基于每一帧的编码模式、位速率、分辨率或其它因素而存在与图片序列相关联的不同解码延迟。用信号发出的延迟值可包括任何表示的任何存取单元的最大解码延迟,或切换所涉及的两个表示的任何存取单元的最大解码延迟。
图片重排延迟可对应于与从解码到显示次序重排图片相关联的延迟。在H. 264/ AVC的实例中,位流可包括各种类型的经译码图片,例如,经帧内译码图片(例如,I图片) 及经帧间译码图片(例如,P图片及B图片)。I图片的数据大体上仅相对于所述I图片的其它数据来译码,且因此经图片内译码。P图片及B图片的数据可相对于一个或一个以上其它先前经译码图片来译码。举例来说,P图片可相对于在显示次序上在所述P图片之前的一个或一个以上图片来译码。作为另一实例,B图片可相对于在显示次序上在所述B图片之前的一个或一个以上图片及在显示次序上在所述B图片之后的一个或一个以上图片来译码。 用于参考的图片可经编码且早于所述图片而放置于所述位流中以供那些图片参考。
作为一个实例,B图片可相对于I图片及P图片两者来编码,且P图片可相对于I 图片来编码。在所述三个图片中,所述P图片可具有最早的显示时间,所述I图片可具有最迟的显示时间,且所述B图片可具有在所述P图片的显示时间与所述I图片的显示时间之间的显示时间。归因于这些图片的预测结构,视频编码器可将所述I图片作为所述三个图片中的最早者而放置于所述位流中,将所述B图片作为所述三个图片中的最迟者而放置于所述位流中,且将所述P图片放置于所述位流中在所述I图片与所述B图片之间。因此,解码器可按次序来解码所述位流,即,先解码所述I图片,接着解码所述P图片,且再接着解码所述B图片。然而,所述解码器可将所述图片重排成显示次序,使得所述P图片在所述B图片之前显示,且所述B图片在所述I图片之前显示。如上文所论述,用信号发出的延迟值可包括解码延迟与图片重排延迟的组合。所述图片重排延迟可对应于任何表示中的任何图片的呈现时间与解码时间之间的最大差。在一些实例中,图片重排延迟可对应于切换中所涉及的两个表示中的任何图片的呈现时间与解码时间之间的最大差。呈现时间对应于显示图片的相对时间,而解码时间对应于解码图片的相对时间。如上文所提,呈现时间与解码时间未必相等,且因此,在解码之后,可将经解码的图片重排成呈现时间排序。服务器装置可向客户端装置用信号发出用于无缝切换的延迟值。所述延迟值可包含任何表示中的任何图片的最大解码延迟与同一多媒体内容的任何表示中的任何图片的
呈现时间与解码时间之间的最大差的总和。客户端装置可使用此用信号发出的延迟值来执行两个表示之间的无缝切换。举例来说,客户端装置可确定在切换到不同表示之前当前表示中待缓冲的数据的量,使得可实现无缝切换。也就是说,假定可用带宽足够用于新表示,那么客户端装置可具有流畅重放及无缝解码。为实现无缝切换,客户端装置可需要提供在表示之间切换期间的无缝解码以及经解码图片的无缝显示两者。无缝解码可确保不需要第二解码器来解码来自新表示的图片(但客户端装置仍可包括一个以上解码器)。无缝显示可对应于使图片准备好在表示之间切换期间连续重放。本发明的技术还包括从一组表示形成切换群组,且用信号发出一组表示属于同一切换群组。表示可包括初始化段,所述初始化段包括用于初始化目的地装置的解码器及/或其它元件的数据。举例来说,所述初始化段可描述ISO基础媒体文件的电影盒、H. 264/AVC位流的含有序列参数集及图片参数集的样本,以及可能描述序列层级补充增强信息(SEI)消息。在一些情况下,同一初始化段可用以针对一个以上表示初始化所述目的地装置。切换群组可包括可各自使用同一初始化段来初始化的一组表示。以此方式,客户端装置可检索切换群组中的第一表示的初始化段,接着切换到所述切换群组中的第二表示而无需检索所述第二表示特有的初始化段。也就是说,客户端装置可使用所述第一表示的初始化段来解码所述第二表示。切换群组可包括具有在时间上对准的段的表示,因此从一个表示切换到另一表示,此时所有段均以随机存取点图片开始。在此情况下,如果此群组之间发生切换,则需要请求不同表示的时间上重叠的段。大体来说,I图片可称作随机存取点(RAP)。也就是说,解码器可以I图片开始来开始解码视频数据且能够解码位流中在所述I图片之后的一些图片(如果不是所有的话)。然而,可能存在不可正确解码的一些图片,例如显示次序早于I图片但解码次序迟于I图片的B图片。这些B图片可取决于位流中较早的I图片。在位流中其所有后续图片可在不检索位流中的较早图片的情况下加以适当地解码的I图片可称作瞬时解码刷新(IDR)随机存取点。在位流中其至少一个后续图片无法在不检索位流中的较早图片的情况下加以适当地解码的I图片可称作开放解码刷新(ODR)随机存取点。
换句话说,IDR图片可仅含有经帧内译码切片且可致使除了 IDR图片之外的所有参考图片被标记为“未用于参考”。经译码视频序列可被定义为按解码次序从一个IDR存取单元(包括在内)到下一 IDR存取单元(排除在外)或到位流的末尾(取决于哪一个出现较早)的连续存取单元的序列。可适当地解码包括IDR图片的图片群组(GOP)中的每一图片,而不管是否解码了任何先前图片。此GOP可称作封闭G0P。也就是说,封闭GOP为其中所有图片可适当地加以解码的G0P,假定所述GOP中的所有图片可用于解码。在H. 264/AVC 的实例中,封闭GOP可从IDR存取单元(即,包括IDR图片的存取单元)开始。此外,可适当地解码经译码视频序列中的每一图片,假定所述经译码视频序列中的每一图片可用于解码(包括初始IDR图片)。
开放GOP可被定义为其中在显示次序上在所述GOP的I图片之前的图片不可正确地解码(甚至在所述开放GOP中的所有图片均可用于解码时)的图片群组。编码器可将指示GOP为开放GOP的信息(例如恢复点补充增强信息(SEI)消息)包括在位流中。开放 GOP的I图片可称作ODR图片。虽然在解码次序上在所述开放GOP之后的图片可为可正确地解码的,但所述开放GOP中的某些图片可参考在解码次序上先前的I图片,且因此不可适当地解码,除非所述先前I图片可用于解码。
大体上,解码器可从IDR或ODR图片开始来开始解码位流,且因此将IDR图片及 ODR图片两者视为所述位流内的随机存取点。然而,因为当在ODR图片处开始存取位流时存在不可适当地解码的在所述位流中在ODR图片之后的一些图片,所以解码器在尝试解码这些图片时可能会白费功夫。根据本发明的技术,服务器可用信号发出随机存取点图片是IDR 图片还是ODR图片。服务器还可用信号发出所述随机存取点的字节范围,使得客户端装置可提交仅存取所述IDR及/或ODR图片的一个或一个以上HTTP部分GET请求。以此方式, 客户端可检索所述IDR图片及/或所述ODR图片以实现多媒体内容的特技模式显示,例如快进或倒退。
本发明的技术可应用于遵照以下格式中的任一者的视频文件IS0基础媒体文件格式、可缩放视频译码(SVC)文件格式、高级视频译码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式,及/或多视图视频译码(MVC)文件格式,或其它类似视频文件格式。
所述ISO基础媒体文件格式经设计以含有呈灵活、可扩展的格式的供呈现的时控媒体信息,所述灵活、可扩展的格式促进媒体的互换、管理、编辑及呈现。ISO基础媒体文件格式(IS0/IEC14496-12:2004)在MPEG-4第12部分中指定,MPEG-4第12部分定义基于时间的媒体文件的一般结构。ISO基本媒体文件格式用作所述系列中的例如以下各项的其它文件格式的基础经定义以支持H. 264/MPEG-4AVC视频压缩的AVC文件格式(ISO/ IEC14496-15)、3GPP文件格式、SVC文件格式,及MVC文件格式。3GPP文件格式及MVC文件格式为AVC文件格式的扩展。ISO基础媒体文件格式含有用于媒体数据的时控序列(例如, 音频视觉呈现)的时序、结构及媒体信息。所述文件结构可为面向对象的。可极其简单地将文件分解成基本对象,且对象的结构由其类型暗示。
遵照ISO基础媒体文件格式(及其扩展)的文件可形成为一连串对象,称作“盒”。 呈ISO基础媒体文件格式的数据可含于盒中,使得文件内不需要含有其它数据,且文件内不需要有在盒之外的数据。此包括特定文件格式所需的任何初始签名。“盒”可为通过唯一类型识别符及长度定义的面向对象的构建块。通常,呈现含于一个文件中,且媒体呈现为自含式的。电影容器(电影盒)可含有媒体的元数据,且视频及音频帧可含于媒体数据容器中且可在其它文件中。表示(运动序列)可含于若干文件中。时序及成帧(位置及大小)信息大体上在ISO基础媒体文件中,且辅助文件可基本上使用任何格式。此表示可在含有所述表示的系统的“本地”,或可经由网络或其它流递送机制来提供。所述文件可具有逻辑结构、时间结构及物理结构,且这些结构不需要耦合。文件的逻辑结构可为电影或视频剪辑(可能包括视频数据及音频数据两者),其又含有一组时间并行的轨道。文件的时间结构可使得轨道含有按时间的样本的序列,且那些序列通过任选的编辑列表而映射到整个电影的时间线中。文件的物理结构可将逻辑、时间及结构分解所需的数据与媒体数据样本自身分开。此结构信息可集中于电影盒中,可能在时间上由电影片段盒扩展。所述电影盒可评注样本的逻辑及时序关系,且还可含有到其所处位置的指针。那些指针可指向同一文件或另一文件(例如,通过URL参考)。每一媒体流可含于专门用于那个媒体类型(音频、视频等)的轨道中,且可进一步 通过样本条目来参数化。所述样本条目可含有确切媒体类型(解码所述流所需的解码器的类型)的“名称”及那个所需解码器的任何参数化。所述名称还可采取四字符码(例如,“moov”或“trak”)的形式。存在不仅用于MPEG-4媒体而且用于使用此文件格式系列的其它组织所使用的媒体类型的经定义的样本条目格式。对元数据的支持大体上采取两种形式。首先,可将时控元数据存储于适当轨道中,且在需要时与其所描述的媒体数据同步。其次,可存在对附接到电影或个别轨道的非时控元数据的一般支持。对元数据的结构支持为一般的,且允许元数据资源以与媒体数据(即,经译码视频图片)的存储类似的方式存储于所述文件中的别处或存储于另一文件中。另外,可为这些资源指定名称且可保护这些资源。术语“渐进式下载”用以描述通常使用HTTP协议(例如,HTTP的版本I. I)的数字媒体文件从服务器到客户端的传送。渐进式下载的一个实例为HTTP串流。当由计算机起始时,所述计算机可在下载完成之前开始媒体重放。串流媒体与渐进式下载之间的一个差别在于,正存取数字媒体的最终用户装置如何接收并存储数字媒体数据。能够进行渐进式下载重放的媒体播放器依赖于位于文件的标头中的元数据为完整的以及在从网络服务器下载数字媒体文件时对其进行本地缓冲。在指定量的经缓冲数据变得可为本地重放装置所用时,所述装置可开始播放所述媒体。此指定量的经缓冲数据可由编码器设定中的内容的制作者嵌入到文件中,且可通过客户端计算机的媒体播放器所强加的额外缓冲器设定来加强。在HTTP串流中,并非为表示提供电影(MOOV)盒中的所有数据(包括经编码音频及视频样本),而是支持电影片段(M00F盒),所述电影片段可与电影盒分开地含有样本。每一电影片段可含有在某一时间段内的样本。大体来说,客户端可使用所述电影片段来快速地搜寻所要时间。电影片段可含有文件的连续字节,使得在HTTP串流(举例来说)中,客户端可发出检索电影片段的单一部分GET请求。部分GET请求指定待检索的文件的识别符(例如,统一资源定位符(URL)或统一资源名称(URN))以及所述文件内的字节范围。在一些实例中,经编码音频及视频样本可完全含于电影片段中,使得电影盒自身不含有任何经编码音频或视频样本。
AVC及3GPP为ISO基础媒体文件格式的扩展,而SVC及MVC为AVC文件格式的扩展。因此,本发明的技术可应用于遵照以下各者的视频文件IS0基础媒体文件格式、AVC文件格式及其扩展(例如,SVC及MVC),及/或3GPP文件格式。所述技术可进一步应用于这些格式的这些及其它扩展,且可进一步应用以扩展其它文件格式以提供描述可切换表示的信息及用以允许两个或两个以上表示之间的无缝切换的延迟值。
运动图片专家组(MPEG)已开发出AVC文件格式,作为ISO基础媒体文件格式的扩展。在AVC文件格式中,参数集(包括序列参数集及图片参数集)可与视频基本流相关联, 所述视频基本流位于视频轨道中。还有可能使参数集位于称作参数集轨道的另一轨道中, 所述参数集轨道包括含有作为SPS或PPS网络抽象层(NAL)单元的样本的参数集基本流。 然而,SEI消息NAL单元的位置在AVC文件格式中并不受限制,只要任何SEI消息存在于解码时间在使用此SEI消息的任何图片之前的样本中便可。
AVC文件格式通过SVC及MVC扩展来扩展以分别支持SVC及MVC的存储。在SVC 及MVC中,多个层/视图可含于一个视频轨道或多个视频轨道中。存在SVC及MVC规范中所定义的用以在所述层/视图以各种组织来呈现时构造操作点的工具。
关于作为另一实例的3GPP,支持3GPP文件的HTTP/TCP/IP输送以进行下载及渐进式下载。此外,使用HTTP进行视频串流可提供一些优点,且基于HTTP的视频串流服务正变得流行。HTTP串流可提供某些优点,包括可使用现有因特网组件及协议,使得不需要做出新的 努力来开发用于经由网络输送视频数据的新技术。其它输送协议(例如,RTP有效负载格式)需要中间网络装置(例如,中间盒)知晓媒体格式及信令上下文。而且,HTTP串流可为客户端驱动的,此可避免控制问题。
举例来说,为了利用特征来获得最佳性能,服务器可持续跟踪尚未得到应答的包的大小及内容。服务器还可分析文件结构并重构客户端缓冲器的状态以做出RD最佳切换 /精简决策。另外,可满足对位流变化的约束以便保持遵从所协商的简档。HTTP在实施了 HTTP I. I的网络服务器处未必需要新的硬件或软件实施方案。HTTP串流还提供TCP友好性及防火墙穿越。
本发明的技术可适用于网络串流协议,例如,(例如)根据HTTP动态自适应性串流(DASH)的HTTP串流。在HTTP串流中,频繁使用的操作包括GET及部分GET。GET操作检索与给定统一资源定位符(URL)或统一资源名称(URN)相关联的整个文件。部分GET操作接收字节范围作为输入参数且检索文件的对应于所接收到的字节范围的多个连续字节。 因此,可提供电影片段以进行HTTP串流,因为部分GET操作可取得一个或一个以上个别电影片段。请注意,在电影片段中,可存在不同轨道的若干轨道片段。在HTTP串流中,媒体表示可为客户端可存取的数据的结构化集合。客户端可请求并下载媒体数据信息以向用户呈现串流服务。
在使用HTTP串流来串流3GPP数据的实例中,可存在多媒体内容的视频及/或音频数据的多个表示。这些表示的清单可定义于媒体呈现描述(MPD)数据结构中。媒体呈现可对应于HTTP串流客户端装置可存取的数据的结构化集合。所述HTTP串流客户端装置可请求并下载媒体数据信息以向所述客户端装置的用户呈现串流服务。媒体呈现可描述于 MPD数据结构中,所述MPD数据结构可包括MPD的更新。
媒体呈现可含有一个或一个以上周期的序列。周期可由MPD中的Period(周期)元素来定义。每一周期可在ΜΗ)中具有属性start (开始)。所述MH)可包括针对每一周期的start属性及availableStartTime (可用开始时间)属性。对于实况服务,周期的start属性与MPD属性availableStartTime的总和可以UTC格式指定周期的可用性时间,尤其是对应周期中每一表示的第一媒体段。对于随选服务,第一周期的start属性可为O。对于任何其它周期,所述start属性可指定对应周期的开始时间相对于第一周期的开始时间之间的时间偏移。每一周期可延长直到下一周期的开始为止,或直到媒体呈现的末尾为止(在最后一个周期的情况下)。周期开始时间可为精确的。周期开始时间可反映由播放所有先前周期的媒体产生的实际时序。每一周期可含有同一媒体内容的一个或一个以上表示。表示可为音频或视频数据的许多个替代性经编码版本中的一者。所述表示可通过编码类型来区分,例如,通过针对视频数据的位速率、分辨率及/或编解码器以及针对音频数据的位速率、语言及/或编解码器。术语“表示”可用以指代对应于多媒体内容的特定周期且以特定方式来编码的经编码音频或视频数据的一部分。特定周期的表示可指派给通过MPD中的group (群组)属性指示的群组。同一群组中的表示大体上被视为彼此的替代物。举例来说,特定周期的视频数据的每一表示可指派给同一群组,使得可选择所述表示中的任一者以进行解码从而显示对应周期的多媒体内容的视频数据。在一些实例中,一个周期内的媒体内容可通过来自群组0(如果存在)的一个表示或来自每一非零群组的至多一个表示的组合来表示。一个周期的每一表示的时序数据可相对于所述周期的开始时间来表达。表示可包括一个或一个以上段。每一表示可包括初始化段,或表示的每一段可为自我初始化的。在存在时,所述初始化段可含有用于存取所述表示的初始化信息。大体来说,所述初始化段不含有媒体数据。段可唯一地由识别符来参考,例如统一资源定位符(URL)、统一资源名称(URN)或统一资源识别符(URI)。所述MTO可提供每一段的识别符。在一些实例中,所述MH)还可提供呈range (范围)属性的形式的字节范围,所述字节范围可对应于文件内的可通过URL、URN或URI来存取的段的数据。每一表不还可包括一个或一个以上媒体分量,其中每一媒体分量可对应于一个个别媒体类型(例如,音频、视频或时控文本(例如,对于隐藏字幕))的经编码版本。媒体分量可跨越一个表示内的连续媒体段的边界为时间连续的。MPD还可(例如)通过提供group属性来支持部分表示。部分表示可对应于多媒体文件的视频或音频轨道。Mro可指示在两个部分表示可彼此切换时,所述两个部分表示具有相同group属性。服务器装置还可用信号发出两个表示是否可有效地彼此切换。如果两个表示中的任一者的初始化段可在解码另一表示时使用,则可认为所述两个表示可有效地切换。也就是说,客户端装置可接收当前表示的初始化段,接着切换到新表示而无需请求新表示的初始化段。服务器装置可在Mro数据结构中设定旗标,所述旗标指示表示是否为部分表示。举例来说,所述MPD数据结构可包括每一表示的切换识别符。服务器装置可将两个或两个以上可有效地切换的表示的切换识别符设定为相同值。以此方式,客户端装置可基于具有相同切换识别符的表示中的每一者而确定彼此可有效地切换的一组表示。在MPD中,服务器可进一步指示所述表示的段是否在时间上对准。MPD还可含有minBuf ferrTime (最小缓冲时间)属性,所述属性指示确保流畅播放所需的最初缓冲的媒体的最小量,限制条件为每一表示是以MPD的bandwidth (带宽)属性的值或高于所述值来递送的。以此方式,客户端装置可确定在开始重放之前待缓冲多少媒体,假定某一量的可用带宽。客户端可进一步基于可用带宽的量来选择表示,例如,最初或在网络条件改变时基于bandwidth属性。这些属性可在用以在各种网络条件下实现内容的连续解码及呈现的解决方案中提供简单缓冲器模型。在每一周期中,表示可为可彼此切换的。MPD可提供bitstreamSwitchingFlag (位流切换旗标)属性。当此旗标为真时,其指示来自含有相同媒体类型的任何两个不同表示的在一个周期内的任何两个时间相继的媒体段的位流层级的拼接结果遵从媒体段格式。当此旗标为真时,所有位流可假定为在时间上对准的且具有相同的简档及层级指示符,且许多序列参数为相同的(在H. 264/AVC译码的实例中)。在串流及重放期间,客户端装置可在表示之间进行切换。举例来说,客户端装置可确定网络条件已改变而使得可用带宽已增加或已减小。当带宽已增加时,客户端装置可切换到较高质量的表示,假定客户端装置能够解码并再现较高质量表示的数据。另一方面,当带宽已减小时,客户端装置可切换到消耗较少带宽的较低质量的表示。大体来说,基于在正在进行中的媒体呈现期间经更新的信息,客户端装置可切换表示。切换到新表示可包括与从前一个表示停止的时间点(例如,时间位置)开始检索或搜寻表示内的特定位置类似的程序。在确定到新表示的切换为适当之后,客户端装置可以随机存取点开始来开始串流所述新表示。也就是说,客户端装置可在新表示中在迟于但接近于当前呈现时间的所要呈现时间处搜寻随机存取点。通过呈现来自前一个表示的数据直到所述随机存取点,接着在所述随机存取点处以及在所述随机存取点后呈现来自所述新表示的数据,客户端装置可实现无缝切换。根据本发明的技术,客户端装置可使用用信号发出的延迟时间来确定新表示的随机存取点,从所述随机存取点开始串流所述新表示的数据。服务器装置可针对媒体内容在Mro数据结构中用信号发出延迟时间。在一些实例中,源装置可跨越不同表示来对准随机存取点,此可提供在表示中定位随机存取点方面的优点。在一些情况下,两个可切换表示可能并不为时间对准的。举例来说,所述两个表示中的随机存取点可出现在不同时间位置处。在此情况下,服务器可设定旗标或提供其它信息来指示所述两个表示并不对准。在此情况下,从一个表示切换到另一表示可为困难的。举例来说,当前表示中的片段的末尾与所切换到的表示的新片段中的在所述随机存取点处开始的帧可具有显示时间重叠。本发明还提供用于在两个非对准表示之间进行无缝切换的技术。明确地说,客户端装置及/或服务器装置可引入额外延迟,以致使客户端装置在于随机存取点处切换到新表示之前继续检索来自当前表示的数据。此延迟可取决于当前表示的GOP结构以及图片在GOP中的位置。根据本发明的技术,服务器装置可用信号发出重叠延迟值,所述值表示非随机存取点图片在一个表示中的时间位置与随机存取点图片在另一表示中的时间位置之间的差。服务器装置可针对所述表示在MPD中用信号发出重叠延迟值。在一些实例中,服务器装置可用信号发出整个周期或甚至整个服务内每一表示的最大重叠延迟值。在一些实例中,月艮务器装置可用信号发出作为重叠延迟与上文针对对准的片段所论述的延迟值的总和的最大延迟值。因此,服务器装置可用信号发出单一延迟值,所述单一延迟值可包括两个或两个以上可切换表示的最大解码延迟、最大图片重排延迟及最大重叠延迟的总和。
服务器装置可进一步用信号发出表示的最小延迟值。假定所述表示是以其带宽属性的值或高于所述值来递送的,如果缓冲了足够的数据以覆盖所述最小延迟,则可确保客户端装置流畅地重放所述表示。服务器装置可经配置以修改最小缓冲时间值的计算以覆盖无缝切换的情况。所述最小缓冲时间值(minBufferTime)可提供确保流畅播放及无缝切换所需的最初缓冲的媒体的最小量,限制条件为每一表示是以其带宽属性的值或高于所述值来递送的。以此方式,所述最小缓冲时间值可在用以在各种网络条件下实现内容的连续解码及呈现的解决方案中对应于简单缓冲器模型。
大体来说,客户端装置的用户可在重放期间暂停或停止媒体呈现。当用户暂停或停止呈现时,客户端装置可停止请求媒体段或其部分,直到所述用户重新继续重放为止。为了重新继续重放,客户端装置可以紧跟在上次所请求片段后的片段开始来请求媒体段。任何特定表示的MPD可提供所述表示的TrickMode (特技模式)元素,在此情况下,可假定所述表示被明确地启用以用于特技模式。特技模式大体上包括快进及倒退模式,或相对于“正常”重放来更改重放的其它此类模式。MPD可提供alternatePlayoutRate (交替播放速率) 属性,在此情况下,客户端装置可以对应于alternatePlayoutRate的速度来播放表示,其中解码器简档及层级与正常播放速率相同。客户端装置还可使用多个表示来支持特技模式行为。
图I为说明其中音频/视频(A/V)源装置20将音频及视频数据输送到A/V目的地装置40的实例系统10的框图。图I的系统10可对应于视频电话会议系统、服务器/客户端系统、广播台/接收器系统,或其中将视频数据从源装置(例如,A/V源装置20)发送到目的地装置(例如,A/V目的地装置40)的任何其它系统。在一些实例中,A/V源装置20 及A/V目的地装置40可执行双向信息交换。也就是说,A/V源装置20及A/V目的地装置 40可能够进行以下两者编码及解码(以及发射及接收)音频及视频数据。在一些实例中, 音频编码器26可包含语音编码器,其还称作声码器。
在图I的实例中,A/V源装置20包含音频源22及视频源24。举例来说,音频源22 可包含麦克风,所述麦克风产生表示待由音频编码器26编码的所俘获音频数据的电信号。 或者,音频源22可包含存储先前记录的音频数据的存储媒体、例如计算机化合成器的音频数据产生器,或任何其它音频数据源。视频源24可包含产生待由视频编码器28编码的视频数据的摄像机、编码有先前记录的视频数据的存储媒体、视频数据产生单元,或任何其它视频数据源。
大体来说,源装置20可充当经编码视频内容的服务器。视频编码器28可以不同方式编码同一视频内容,例如使用不同编码标准及/或以不同位速率、帧速率或版本(例如, 二维或三维)来进行编码。因此,同一视频内容可以各种不同表示而可用。源装置20可广告视频内容的不同表示的可用性。目的地装置40可能够(例如)基于所述表示的特性及目的地装置40的解码及再现能力以及当前网络条件(例如,可用带宽)而选择所述表示中的一者。
源装置20可大体上充当服务器,例如,根据HTTP版本I. I。因此,源装置20可根据串流网络协议及基于网络的串流标准(例如,DASH标准)将表示的数据提供到目的地装置40。在一些情况下,如下文更详细地论述,表示可为可切换的。也就是说,目的地装置40可开始检索一个表示的数据,接着切换到不同的表示中间流。根据本发明的技术,目的地装置40可在两个表示之间进行无缝切换,而无需并行地解码两个表示且不会在重放过程中遇到间断。音频源22及视频源24可俘获原始音频及视频数据。原始音频及视频数据可包含模拟或数字数据。在通过音频编码器26及/或视频编码器28编码之前,模拟数据可经数字化。在说话参与者正在说话时,音频源22可获得来自说话参与者的音频数据,且视频源24可同时获得所述说话参与者的视频数据。在其它实例中,音频源22可包含包括所存储的音频数据的计算机可读存储媒体,且视频源24可包含包括所存储的视频数据的计算机可读存储媒体。以此方式,本发明中所描述的技术可应用于实况、串流、实时音频及视频数据 或应用于经存档、预先记录的音频及视频数据。对应于视频帧的音频帧大体上为含有与在视频帧内所含有的由视频源24所俘获的视频数据同时发生的由音频源22所俘获的音频数据的音频帧。举例来说,当说话参与者大体上通过说话而产生音频数据时,音频源22俘获音频数据,且视频源24同时(即,在音频源22正俘获音频数据的同时)俘获说话参与者的视频数据。因此,音频帧可在时间上对应于一个或一个以上特定视频帧。因而,音频帧对应于视频帧大体上对应于同时俘获到音频数据及视频数据且音频帧及视频帧分别包含同时俘获到的音频数据及视频数据的情形。在一些实例中,音频编码器26可将表示记录每一经编码音频帧的音频数据的时间的时戳编码于所述经编码音频帧中,且类似地,视频编码器28可将表示记录每一经编码视频帧的视频数据的时间的时戳编码于所述经编码视频帧中。在这些实例中,音频帧对应于视频帧可包含音频帧包含时戳且视频帧包含相同时戳。A/V源装置20可包括内部时钟,音频编码器26及/或视频编码器28可从所述内部时钟产生时戳,或音频源22及视频源24可使用所述内部时钟来使音频及视频数据分别与时戳相关联。在一些实例中,音频源22可将对应于记录音频数据的时间的数据发送到音频编码器26,且视频源24可将对应于记录视频数据的时间的数据发送到视频编码器28。在一些实例中,音频编码器26可将序列识别符编码于经编码音频数据中以指示经编码音频数据的相对时间排序但不必指示记录音频数据的绝对时间,且类似地,视频编码器28还可使用序列识别符来指示经编码视频数据的相对时间排序。类似地,在一些实例中,序列识别符可经映射或以其它方式与时戳相关。本发明的技术大体上是针对于经编码多媒体(例如,音频及视频)数据的存储及输送,以及经输送多媒体数据的接收以及后续解译及解码。如图I的实例中所展示,视频源24可将场景的多个视图提供到视频编码器28。数据(无论是音频还是视频)的每一个别流称作基本流。基本流为节目的单一、经数字译码(可能经压缩)的分量。举例来说,所述节目的经译码视频或音频部分可为基本流。基本流可在包封于视频文件内之前转换成包化基本流(PES)。在同一节目内,使用流ID来区分属于一个基本流的PES包与属于另一基本流的PES包。基本流的数据的基本单元为包化基本流(PES)包。因此,MVC视频数据的每一视图对应于相应基本流。类似地,音频数据对应于一个或一个以上相应基本流。
在图I的实例中,包封单元30接收来自视频编码器28的包含视频数据的基本流及来自音频编码器26的包含音频数据的基本流。在一些实例中,视频编码器28及音频编码器26可各自包括用于从经编码数据形成PES包的包化器。在其它实例中,视频编码器28 及音频编码器26可各自与用于从经编码数据形成PES包的相应包化器介接。在另外其它实例中,包封单元30可包括用于从经编码音频及视频数据形成PES包的包化器。
表示(在所述术语在本发明中使用时)可包括音频数据与视频数据(例如,由A/ V源装置20递送的音频基本流与视频基本流)的组合。多媒体内容可具有一个或一个以上表示,例如在视频数据以不同帧速率、不同位速率或不同分辨率来编码时。类似地,多媒体内容的音频数据可对应于各种语言,例如英语、法语及中文。表示可对应于音频基本流及一个或一个以上视频基本流(例如,以支持三维视频数据)的选择。
包封单元30从音频编码器26及视频编码器28接收节目的基本流的PES包且从所述PES包形成对应网络抽象层(NAL)单元。在H.264/AVC (高级视频译码)的实例中,经译码视频段组织成NAL单元,其提供“网络友好的”视频表示寻址应用,例如视频电话、存储、 广播或串流。NAL单元可分类为视频译码层(VCL) NAL单元及非VCL NAL单元。VCL单元可对应于由核心压缩引擎产生的数据,且可包括块、宏块及/或切片层级数据。其它NAL单元可为非VCL NAL单元。在一些实例中,一个时间实例中的经译码图片(通常呈现为主要经译码图片)可含于存取单元中,所述存取单元可包括一个或一个以上NAL单元。
非VCL NAL单元可包括参数集NAL单元及SEI NAL单元,以及其它单元。参数集可含有序列层级标头信息(在序列参数集(SPS)中)及偶尔改变的图片层级标头信息(在图片参数集(PPS)中)。就参数集(例如,PPS及SPS)而论,无需针对每一序列或图片来重复偶尔改变的信息,因此可改进译码效率。此外,参数集的使用可实现重要标头信息的带外发射,从而避免为了错误恢复而进行冗余发射的需要。在带外发射实例中,参数集NAL单元可在与其它NAL单元(例如,SEI NAL单元)不同的信道上发射。
补充增强信息(SEI)可含有并非为解码来自VCL NAL单元的经译码图片样本所必需但可辅助与解码、显示、错误恢复及其它目的有关的过程的信息。SEI消息可含于非VCL NAL单元中。SEI消息为一些标准规范的定标准部分,且因此对于符合标准的解码器实施方案来说并非总是必选的。SEI消息可为序列层级SEI消息或图片层级SEI消息。一些序列层级信息可含于SEI消息中,例如在SVC的实例中为可缩放性信息SEI消息及在MVC中为视图可缩放性信息SEI消息。这些实例SEI消息可传达关于(例如)操作点的提取及操作点的特性的信息。
根据本发明的技术,包封单元30可用信号发出两个或两个以上表示可有效地彼此切换。举例来说,包封单元30可确定所述两个或两个以上表示的初始化段是否可互换地使用以解码及/或再现所述表示的经编码样本。包封单元30可产生用以指示表示是否可有效地彼此切换的数据。因此,目的地装置40可请求所述数据(例如)以便在串流期间从一个表不切换到另一表不。
包封单元30还可计算延迟值,所述延迟值表示当在两个可有效地切换的表示之间切换时的最大延迟。也就是说,所述延迟值可大体上表示当在两个表示之间切换时可预期的延迟的量(假定恒定的带宽可用性)。因此,当所述表示在时间上对准时,包封单元30 可将所述延迟值计算为最大解码延迟与最大图片重排延迟的总和。当所述表示并不在时间上对准时(例如,当随机存取点出现在所述表示内的不同时间位置处时),包封单元30可进一步计算重叠延迟且将所述重叠延迟包括于所述计算出的延迟值中。源装置20可(例如)响应于来自目的地装置40的对所述延迟值的请求而将所述延迟值提供到目的地装置40。目的地装置40可经配置以基于所述延迟值来检索并缓冲表示的足量数据以便在两个表示之间执行无缝切换。因此,目的地装置40可缓冲足量的数据,使得目的地装置40能够开始请求不同表示的数据且开始解码新表示的数据而不遭受显示间断。也就是说,在检索来自所述新表示的数据时,目的地装置40可解码并再现来自前一个表示的数据。此夕卜,目的地装置40可经配置以使得两个表示的同时解码为不必要的。也就是说,在存取新表示的随机存取点之后,目的地装置40无需解码对应于视频重放中的同一时间位置的来自两个或两个以上表示的数据。此可改进电池性能,因为视频解码器48无需解码同一时间位置的多个样本。在自身有效负载中包括视频数据的NAL单元可包含各种粒度等级的视频数据。举
例来说,NAL单元可包含视频数据的块、宏块、多个宏块、视频数据的切片,或视频数据的整个帧。包封单元30可从视频编码器28接收呈基本流的PES包的形式的经编码视频数据。包封单元30可使每一基本流与对应节目相关联。包封单元30还可组合来自多个NAL单元的存取单元。大体来说,存取单元可包含用于表示视频数据的帧以及对应于所述帧的音频数据(当此音频数据为可用时)的一个或一个以上NAL单元。存取单元大体上包括一个输出时间实例的所有NAL单元,例如,一个时间实例的所有音频及视频数据。举例来说,如果每一视图具有20帧/秒(fps)的帧速率,则每一时间实例可对应于O. 05秒的时间间隔。在此时间间隔期间,可同时再现同一存取单元(同一时间实例)的所有视图的特定帧。在对应于H.264/AVC的实例中,存取单元可包含一个时间实例中的经译码图片,所述经译码图片可呈现为主要经译码图片。因此,存取单元可包含共同时间实例的所有音频及视频帧,例如对应于时间X的所有视图。本发明还将特定视图的经编码图片称作“视图分量”。也就是说,视图分量可包含在特定时间的特定视图的经编码图片(或帧)。因此,存取单元可被定义为包含共同时间实例的所有视图分量。存取单元的解码次序无需必定与输出或显示次序相同。如同多数视频译码标准一样,H. 264/AVC定义无错误位流的语法、语义及解码过程,其中的任一者遵照某一简档或层级。H. 264/AVC不指定编码器,但编码器的任务是保证所产生的位流对于解码器来说为符合标准的。在视频译码标准的上下文中,“简档”对应于算法、特征或工具及施加到算法、特征或工具的约束的子集。如由H. 264标准所定义,例如,“简档”为由H. 264标准指定的整个位流语法的子集。“层级”对应于解码器资源消耗的限制,例如与图片的分辨率、位速率及宏块(MB)处理速率有关的解码器存储器及计算。可以profile_idc (简档指示符)值用信号发出简档,而可以Ieveljdc (层级指示符)值用信号发出层级。举例来说,H. 264标准认识到,在由给定简档的语法强加的边界内,仍有可能需要编码器及解码器的性能的大变化,此取决于位流中的语法元素所采取的值(例如,经解码图片的指定大小)。H. 264标准进一步认识到,在许多应用中,实施能够处理特定简档内的语法的所有假设使用的解码器既不实用也不经济。因此,H. 264标准将“层级”定义为强加于位流中的语法元素的值的约束的指定集合。这些约束可为对各值的简单限制。或者,这些约束可采取对各值的算术组合(例如,图片宽度乘以图片高度乘以每秒经解码的图片的数目)的约束的形式。H. 264标准进一步提供,个别实施方案可针对每一所支持简档支持不同层级。
遵照简档的解码器通常支持所述简档中定义的所有特征。举例来说,作为译码特征,B图片译码在H. 264/AVC的基线简档中未受到支持,但在H. 264/AVC的其它简档中受到支持。遵照层级的解码器应能够解码不需要超出所述层级中定义的限制的资源的任何位流。简档及层级的定义可有助于可解译性。举例来说,在视频发射期间,可针对整个发射会话来协商一对简档及层级定义并实现一致。更具体来说,在H. 264/AVC中,层级可定义(例如)对以下各者的限制需要加以处理的宏块的数目、经解码图片缓冲器(DPB)大小、经译码图片缓冲器(CPB)大小、垂直运动向量范围、每两个连续MB的运动向量的最大数目,及B 块是否可具有少于8X8个像素的子宏块分割区。以此方式,解码器可确定所述解码器是否能够适当地解码所述位流。
参数集大体上含有在序列参数集(SPS)中的序列层标头信息及在图片参数集 (PPS)中的偶尔改变的图片层标头信息。就参数集而论,无需针对每一序列或图片来重复此偶尔改变的信息;因此,可改进译码效率。此外,参数集的使用可实现标头信息的带外发射,从而避免为实现错误恢复而进行冗余发射的需要。在带外发射中,参数集NAL单元在与其它NAL单元不同的信道上发射。
SVC及MVC的实例提供可缩放视频或多视图视频的序列参数集(SPS)扩展。SPS 扩展信息可含于子SPS NAL单元中,所述子SPS NAL单元可具有与其它NAL单元不同的NAL 单元类型。受支持操作点的简档及层级信息可包括于包括SPS扩展信息的NAL单元中。
媒体表示可包括媒体呈现描述(MPD),其可含有不同替代表示(例如,具有不同质量的视频服务)的描述,且所述描述可包括(例如)编解码器信息、简档值及层级值。目的地装置40可检索媒体表示的MPD以确定如何存取各种呈现的电影片段。电影片段可位于视频文件的电影片段盒(moof盒)中。
视频压缩标准(例如,ITU-TH. 261、H. 262、H. 263、MPEG-1, MPEG-2 及 H. 264/ MPEG-4第10部分)利用运动补偿时间预测来减少时间冗余。编码器使用来自一些先前经编码图片(本文中还称作帧)的运动补偿预测以根据运动向量来预测当前经译码图片。在典型视频译码中,存在三种主要图片类型。所述三种主要图片类型为经帧内译码图片(“I 图片”或“I帧”)、预测图片(“P图片”或“P帧”)及双向预测图片(“B图片”或“B帧”)。 P图片仅使用在时间次序上在当前图片之前的参考图片。在B图片中,可从一个或两个参考图片来预测所述B图片的每一块。这些参考图片在时间次序上可位于当前图片之前或之后。
根据H. 264译码标准,作为实例,B图片使用先前经译码参考图片的两个列表,即列表O及列表I。这两个列表可各自含有在时间次序上的过去及/或未来的经译码图片。 可按以下若干方式中的一者来预测B图片中的块从列表O参考图片的运动补偿预测、从列表I参考图片的运动补偿预测,或从列表O参考图片及列表I参考图片两者的组合的运动补偿预测。为了得到列表O参考图片及列表I参考图片两者的组合,分别从列表O参考图片及列表I参考图片获得两个运动补偿参考区域。可使用其组合来预测当前块。
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个像素的二维阵列)、两个色度块(各自包含16X16个像素的二维阵列)及标头,所述标头包含语法信息,例如经译码块型样(CBP)、编码模式(例如,帧内(I)或帧间(P 或B)编码模式)、经帧内编码块的分割区的分割区大小(例如,16 X 16、16 X 8、8 X 16、8 X 8、 8X4、4X8或4X4),或经帧间编码宏块的一个或一个以上运动向量。
视频编码器28、视频解码器48、音频编码器26、音频解码器46、包封单元30及解包封单兀38在适当时各自可实施为多种合适处理电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器28及视频解码器48中的每一者可包括于一个或一个以上编码器或解码器中,其中的任一者可集成为组合式视频编码器/解码器(编解码器)的部分。同样,音频编码器26及音频解码器46中的每一者可包括于一个或一个以上编码器或解码器中,其中的任一者可集成为组合式编解码器的部分。包括视频编码器28、视频解码器48、音频编码器26、音频解码器46、包封单元30及/或解包封单元38的设备可包含集成电路、微处理器及/或无线通信装置(例如,蜂窝式电话)。
在包封单元30已基于接收到的数据将NAL单元及/或存取单元组合为视频文件之后,包封单元30将所述视频文件传递到输出接口 32以供输出。在一些实例中,包封单元 30可在本地存储所述视频文件或经由输出接口 32将所述视频文件发送到远程服务器,而非直接将所述视频文件发送到目的地装置40。举例来说,输出接口 32可包含发射器、收发器、用于将数据写入到计算机可读媒体的装置(例如光盘驱动器、磁性媒体驱动器(例如,软盘驱动器))、通用串行总线(USB)端口、网络接口或其它输出接口。输出接口 32将所述视频文件输出到计算机可读媒体34,例如发射信号、磁性媒体、光学媒体、存储器、快闪驱动器或其它计算机可读媒体。最终,输入接口 36从计算机可读媒体34检索数据。举例来说,输入接口 36可包含光盘驱动器、磁性媒体驱动器、USB端口、接收器、收发器或其它计算机可读媒体接口。输入接口 36可将NAL单元或存取单元提供到解包封单元38。解包封单元38可将视频文件的元素解包封成构成PES流,将所述PES流解包化以检索经编码数据,且将所述经编码数据发送到音频解码器46或视频解码器48,此取决于所述经编码数据是音频流的部分还是视频流的部分,例如由所述流的PES包标头所指示。音频解码器46解码经编码音频数据且将所述经解码音频数据发送到音频输出42,而视频解码器48解码经编码视频数据且将所述经解码视频数据(其可包括流的多个视图)发送到视频输出44。图2为说明实例包封单元30的组件的框图。在图2的实例中,包封单元30包括 视频输入接口 80、音频输入接口 82、视频文件创建单元60及视频文件输出接口 84。在此实例中,视频文件创建单元60包括NAL单元构造器62、切换信息单元64及初始化段单元66。视频输入接口 80及音频输入接口 82分别接收经编码视频及音频数据。视频输入接口 80及音频输入接口 82可在视频及音频数据经编码时接收所述数据,或可从计算机可读媒体检索经编码视频及音频数据。在接收到经编码视频及音频数据后,视频输入接口 80及音频输入接口 82即刻将经编码视频及音频数据传递到视频文件创建单元60以组合成视频文件。视频文件创建单元60可对应于控制单元,所述控制单元包括经配置以执行归其所有的功能及程序的硬件、软件及/或固件。所述控制单元可进一步执行大体上归包封单元30所有的功能。对于其中视频文件创建单元60以软件及/或固件来体现的实例来说,包封单元30可包括计算机可读媒体,其包含用于视频文件创建单元60的指令;及用以执行所述指令的基于硬件的处理单元。视频文件创建单元60的子单元(在此实例中为NAL单元构造器62、切换信息单元64及初始化段单元66)中的每一者可实施为个别硬件单元及/或软件模块,且可在功能上集成或进一步分离成额外子单元。视频文件创建单元60可对应于任何合适处理单元或处理电路,例如一个或一个以上微处理器(其可对应于单一集成电路的多个核心)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其任何组合。视频文件创建单元60可进一步包括非暂时性计算机可读媒体,其存储用于NAL单元构造器62、切换信息单元64及初始化段单元66中的任一者或全部的指令;以及用于执行所述指令的处理器。大体来说,视频文件创建单元60可创建包括接收到的音频及视频数据的视频文件。NAL单元构造器62可形成包括经编码视频及音频样本的NAL单元。视频文件创建单元60可进一步经配置以组合包括经编码视频及音频样本的表示。在一些实例中,视频文件创建单元60可创建多个表示,所述多个表示可在一些实例中可彼此切换。切换信息单元64可经配置以产生用于在所述表示中的两者或两者以上之间进行切换的信息。举例来说,切换信息单元64可经配置以基于最大解码延迟、最大图片重排延迟及(在所述表示并不在时间上对准时)最大重叠延迟的总和来计算延迟值。客户端装置可使用所述延迟值来确定待缓冲的任何表示的数据的量以便从一个表示无缝切换到另一表示。因此,客户端装置可缓冲足量的数据以考虑与以下各者相关联的延迟解码所缓冲的图片、重排所述图片,且确保呈现时间早于新表示的随机存取点的图片可在客户端装置检索、解码并再现新表示的数据的时间期间加以解码及再现。
初始化段单元66可产生用于存取特定表示的初始化信息。大体来说,初始化段中的初始化信息不含有媒体数据。初始化段单元66可产生用于所述表示中的每一者的初始化段。然而,在一些情况下,可使用相同的初始化段来初始化多个表示。当此情形成立时, 初始化段单元66可产生指示表示可有效地切换的信息。也就是说,如果第一表示与第二表示可有效地切换,则客户端装置可检索所述第一表示的初始化段,检索并解码所述第一表示的数据,接着开始基于所述第一表示的所述初始化段来检索并解码所述第二表示的数据,而无需检索所述第二表示的初始化段。
在一些实例中,视频文件创建单元60可产生描述媒体呈现的媒体呈现描述(MPD) 数据结构。根据本发明的技术,视频文件创建单元60可产生指示两个或两个以上表示是否可有效地彼此切换的经修改MPD数据结构及用于在两个表示之间无缝切换的延迟值。以下表I提供根据本发明的技术的实例MPD数据结构。表I为其中视频文件创建单元60以周期层级来用信号发出信息的实例。在其它实例中,可以其它层级来用信号发出信息。
“元素或属性名称”栏描述语法对象的名称。“类型”栏描述所述语法对象是元素还是属性。“基数”栏描述语法对象的基数,即,在对应于表I的数据结构的实例中所述语法对象的实例的数目。“任选性”栏描述语法对象是否为任选的,在此实例中,其中“M”指示必选,“O”指示任选,“0D”指示具有默认值的任选,且“CM”指示有条件的必选。“描述”栏描述对应语法对象的语义。
在此实例中,视频文件创建单元60可设定单一旗标(seamlessSwitchingFlag (无缝切换旗标))以指示表示是否为可切换的。如果所述旗标设定为真,则客户端装置可假定所述表示可无缝切换,假设初始延迟等于或大于在MPD中用信号发出的minBufferTime。当此实例的seamlessSwitchingFlag设定为真时,客户端装置可进一步假定执行无缝切换不需要播放间断及表示的并行解码。客户端可遵照本发明的技术(例如,如下文关于图8所描述)来执行无缝切换。
表I
权利要求
1.一种发送视频数据的方法,所述方法包含 将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置; 将指示以下情形的信息提供到所述客户端装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据; 响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求,将来自所述第一表示的所述所请求数据发送到所述客户端装置;及 在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求,将来自所述第二表示的所述所请求数据发送到所述客户端装置。
2.根据权利要求I所述的方法,其进一步包含 确定所述第一表示及所述第二表示的经译码视频样本的最大解码延迟,其中经译码视频样本的解码延迟包含用于解码所述经译码视频样本的延迟; 确定所述第一表示及所述第二表示的所述经译码视频样本的最大图片重排延迟,其中经译码视频图片的图片重排延迟包含所述经译码视频图片的解码时间与所述经译码视频图片的呈现时间之间的差;及 计算包含所述最大解码延迟与所述最大图片重排延迟的总和的延迟值, 其中提供指示所述客户端装置可切换到所述第二表示的所述信息包含将用于从所述第一表示切换到所述第二表示的所述延迟值发送到所述客户端装置。
3.根据权利要求2所述的方法,其进一步包含确定所述第一表示及所述第二表示的所述经译码视频样本是否在时间上对准;且在所述第一表示及所述第二表示的所述经译码视频样本未在时间上对准时,其中计算所述延迟值进一步包含将时间对准延迟值相加到所述最大解码延迟与所述最大图片重排延迟的所述总和,其中所述时间对准延迟值包含所述第一表示的最后所请求片段的最后经译码视频样本与所述第二表示的第一片段的第一经译码视频样本之间的时间差。
4.根据权利要求I所述的方法,其进一步包含 确定所述表示的经译码视频样本的随机存取点图片的最大大小值;及 将所述最大大小值发送到所述客户端装置。
5.根据权利要求I所述的方法,其进一步包含 接收所述第一表示的初始化段; 确定所述第二表示可基于所述第一表示的所述初始化段来加以解码; 将群组识别符值指派给所述第一表示及所述第二表示;及 将所述群组识别符值发送到所述客户端装置,其中发送来自所述第一表示的所述所请求数据包含将所述初始化段发送到所述客户端装置;且 其中将所述第二表示的所述所请求数据发送到所述客户端装置包含将所述第二表示的所述所请求数据发送到所述客户端装置而无需将所述第二表示的初始化段发送到所述客户端装置。
6.一种用于传送视频数据的设备,所述设备包含处理器,所述处理器经配置以进行以下操作将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置;将指示以下情形的信息提供到所述客户端装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据;响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求,将来自所述第一表示的所述所请求数据发送到所述客户端装置;及在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求,将来自所述第二表示的所述所请求数据发送到所述客户端装置。
7.根据权利要求6所述的设备,其中所述处理器经配置以进行以下操作确定所述第一表示及所述第二表示的经译码视频样本的最大解码延迟,其中经译码视频样本的解码延迟包含用于解码所述经译码视频样本的延迟;确定所述第一表示及所述第二表示的所述经译码视频样本的最大图片重排延迟,其中经译码视频图片的图片重排延迟包含所述经译码视频图片的解码时间与所述经译码视频图片的呈现时间之间的差;计算包含所述最大解码延迟与所述最大图片重排延迟的总和的延迟值;及将用于从所述第一表示切换到所述第二表示的所述延迟值发送到所述客户端装置。
8.根据权利要求7所述的设备,其中所述处理器经配置以进行以下操作确定所述第一表示及所述第二表示的所述经译码视频样本是否在时间上对准,且在所述第一表示及所述第二表示的所述经译码视频样本未在时间上对准时,其中计算所述延迟值进一步包含将时间对准延迟值相加到所述最大解码延迟与所述最大图片重排延迟的所述总和,其中所述时间对准延迟值包含所述第一表示的最后所请求片段的最后经译码视频样本与所述第二表示的第一片段的第一经译码视频样本之间的时间差。
9.根据权利要求6所述的设备,其中所述处理器经配置以确定所述表示的经译码视频样本的随机存取点图片的最大大小值,且将所述最大大小值发送到所述客户端装置。
10.根据权利要求6所述的设备,其中所述处理器经配置以进行以下操作接收所述第一表示的初始化段;确定所述第二表示可基于所述第一表示的所述初始化段来加以解码;将群组识别符值指派给所述第一表示及所述第二表示;及将所述群组识别符值发送到所述客户端装置,将所述初始化段随来自所述第一表示的所述所请求数据发送到所述客户端装置,且将所述第二表示的所述所请求数据发送到所述客户端装置而无需将所述第二表示的初始化段发送到所述客户端装置。
11.根据权利要求6所述的设备,其中所述设备包含以下各者中的至少一者 集成电路; 微处理器;及 无线通信装置,其包括所述处理器。
12.一种用于提供视频数据的设备,所述设备包含 用于将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置的装置; 用于将指示以下情形的信息提供到所述客户端装置的装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据; 用于响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求而将来自所述第一表示的所述所请求数据发送到所述客户端装置的装置;及 用于在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求而将来自所述第二表示的所述所请求数据发送到所述客户端装置的装置。
13.根据权利要求12所述的设备,其进一步包含 用于确定所述第一表示及所述第二表示的经译码视频样本的最大解码延迟的装置,其中经译码视频样本的解码延迟包含用于解码所述经译码视频样本的延迟; 用于确定所述第一表示及所述第二表示的所述经译码视频样本的最大图片重排延迟的装置,其中经译码视频图片的图片重排延迟包含所述经译码视频图片的解码时间与所述经译码视频图片的呈现时间之间的差; 用于计算包含所述最大解码延迟与所述最大图片重排延迟的总和的延迟值的装置;及用于将用于从所述第一表示切换到所述第二表示的所述延迟值发送到所述客户端装置的装置。
14.根据权利要求13所述的设备,其进一步包含 用于确定所述第一表示及所述第二表示的所述经译码视频样本是否在时间上对准的装置;且 其中在所述第一表示及所述第二表示的所述经译码视频样本未在时间上对准时,所述用于计算所述延迟值的装置进一步包含用于将时间对准延迟值相加到所述最大解码延迟与所述最大图片重排延迟的所述总和的装置,其中所述时间对准延迟值包含所述第一表示的最后所请求片段的最后经译码视频样本与所述第二表示的第一片段的第一经译码视频样本之间的时间差。
15.根据权利要求12所述的设备,其进一步包含 用于确定所述表示的经译码视频样本的随机存取点图片的最大大小值的装置;及 用于将所述最大大小值发送到所述客户端装置的装置。
16.根据权利要求12所述的设备,其进一步包含 用于接收所述第一表示的初始化段的装置; 用于确定所述第二表示可基于所述第一表示的所述初始化段来加以解码的装置; 用于将群组识别符值指派给所述第一表示及所述第二表示的装置;及 用于将所述群组识别符值发送到所述客户端装置的装置, 其中所述用于发送来自所述第一表示的所述所请求数据的装置包含用于将所述初始化段发送到所述客户端装置的装置,且 其中所述用于发送来自所述第二表示的所述所请求数据的装置包含用于将所述第二表示的数据发送到所述客户端装置而无需将所述第二表示的初始化段发送到所述客户端装置的装置。
17.一种计算机程序产品,其包含计算机可读存储媒体,所述计算机可读存储媒体上面存储有在执行时致使用于提供视频数据的装置的处理器进行以下操作的指令将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置; 将指示以下情形的信息提供到所述客户端装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据; 响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求,将来自所述第一表示的所述所请求数据发送到所述客户端装置;及 在发送来自所述第一表示的所述所请求数据之后响应于来自所述客户端装置的检索来自所述第二表示的数据的第二请求,将来自所述第二表示的所述所请求数据发送到所述客户端装置。
18.根据权利要求17所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令 确定所述第一表示及所述第二表示的经译码视频样本的最大解码延迟,其中经译码视频样本的解码延迟包含用于解码所述经译码视频样本的延迟; 确定所述第一表示及所述第二表示的所述经译码视频样本的最大图片重排延迟,其中经译码视频图片的图片重排延迟包含所述经译码视频图片的解码时间与所述经译码视频图片的呈现时间之间的差; 计算包含所述最大解码延迟与所述最大图片重排延迟的总和的延迟值;及 将用于从所述第一表示切换到所述第二表示的所述延迟值发送到所述客户端装置。
19.根据权利要求18所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令 确定所述第一表示及所述第二表示的所述经译码视频样本是否在时间上对准;且其中所述致使所述处理器计算所述延迟值的指令包含致使所述处理器进行以下操作的指令在所述第一表示及所述第二表示的所述经译码视频样本未在时间上对准时,将时间对准延迟值相加到所述最大解码延迟与所述最大图片重排延迟的所述总和,其中所述时间对准延迟值包含所述第一表示的最后所请求片段的最后经译码视频样本与所述第二表示的第一片段的第一经译码视频样本之间的时间差。
20.根据权利要求17所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令 确定所述表示的经译码视频样本的随机存取点图片的最大大小值;及 将所述最大大小值发送到所述客户端装置。
21.根据权利要求17所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令 接收所述第一表示的初始化段; 确定所述第二表示可基于所述第一表示的所述初始化段来加以解码; 将群组识别符值指派给所述第一表示及所述第二表示;及 将所述群组识别符值发送到所述客户端装置, 其中所述致使所述处理器发送来自所述第一表示的所述数据的指令包含致使所述处理器将所述初始化段发送到所述客户端装置的指令,且 其中所述致使所述处理器发送来自所述第二表示的所述数据的指令包含致使所述处理器将来自所述第二表示的数据发送到所述客户端装置而无需将所述第二表示的初始化段发送到所述客户端装置的指令。
22.—种接收视频数据的方法,所述方法包含 接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值; 根据串流网络协议请求来自视频序列的所述第一表示的数据; 响应于确定要从所述第一表示切换到所述第二表示,基于所述延迟值来缓冲来自所述第一表示的适量的数据 '及 在缓冲来自所述第一表示的所述适量的数据之后,根据所述串流网络协议请求来自所述视频序列的第二表示的数据。
23.根据权利要求22所述的方法,其进一步包含 在请求所述第一表示的所述数据之前,请求所述第一表示的初始化段, 其中请求来自所述第二表示的所述数据包含请求来自所述第二表示的所述数据而无需请求所述第二表示的初始化段。
24.根据权利要求22所述的方法,其进一步包含 检测网络条件的改变;及 基于所述网络条件的所述改变,确定要从所述第一表示切换到所述第二表示。
25.根据权利要求22所述的方法,其进一步包含 接收指示所述第一表示与所述第二表示是否在时间上对准的信息;及 基于所述信息来选择所述第二表示的随机存取点。
26.根据权利要求25所述的方法,其中在所述第一表不与所述第二表不在时间上对准时,选择所述随机存取点包含 定位所述第一表示的具有跟在所述第一表示的所述经缓冲数据的样本的呈现时间值之后的最早呈现时间值的第一随机存取点;及 选择所述第二表示的具有与所述第一随机存取点相同的呈现时间值的第二随机存取点, 其中请求来自所述第二表示的所述数据包含请求所述第二表示的包含所述第二随机存取点的片段。
27.根据权利要求25所述的方法,其中在所述第一表不与所述第二表不未在时间上对准时,所述方法包含 选择所述随机存取点包含选择所述第二表示的呈现时间值迟于所述第一表示的所述经缓冲数据的至少一个样本的呈现时间值的随机存取点, 其中缓冲所述适量的数据包含请求并存储所述第一表示的数据直到开始呈现时间值早于所述选定随机存取点的所述呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一片段,且 其中请求来自所述第二表示的数据包含以所述第二表示的包含所述选定随机存取点的第二片段开始来请求所述第二表示的数据。
28.根据权利要求27所述的方法,其进一步包含 解码所述第一表示的所述数据直到到达所述第一片段的图片群组为止,所述图片群组包含开始呈现时间值早于所述选定随机存取点的呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一图片,及 在到达所述第一片段的所述图片群组之后,以所述选定随机存取点开始来解码所述第二表示的所述数据。
29.一种用于接收视频数据的设备,所述设备包含处理器,所述处理器经配置以进行以下操作接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值;根据串流网络协议请求来自视频序列的所述第一表示的数据;响应于确定要从所述第一表示切换到所述第二表示,基于所述延迟值来缓冲来自所述第一表示的适量的数据;及在缓冲来自所述第一表示的所述适量的数据之后,根据所述串流网络协议请求来自所述视频序列的第二表示的数据。
30.根据权利要求29所述的设备,其中所述处理器经配置以在请求所述第一表示的所述数据之前请求所述第一表示的初始化段,其中所述处理器经配置以请求来自所述第二表示的所述数据而无需请求所述第二表示的初始化段。
31.根据权利要求29所述的设备,其中所述处理器经配置以检测网络条件的改变,且基于所述网络条件的所述改变来确定要从所述第一表示切换到所述第二表示。
32.根据权利要求29所述的设备,其中所述处理器经配置以接收指示所述第一表示与所述第二表示是否在时间上对准的信息,且基于所述信息来选择所述第二表示的随机存取点。
33.根据权利要求32所述的设备,其中为了在所述第一表示与所述第二表示在时间上对准时选择所述随机存取点,所述处理器经配置以进行以下操作定位所述第一表示的具有跟在所述第一表示的所述经缓冲数据的样本的呈现时间值之后的最早呈现时间值的第一随机存取点;及选择所述第二表示的具有与所述第一随机存取点相同的呈现时间值的第二随机存取点,其中为了请求来自所述第二表示的所述数据,所述处理器经配置以请求所述第二表示的包含所述第二随机存取点的片段。
34.根据权利要求32所述的设备,其中所述处理器经配置以在所述第一表示与所述第二表示未在时间上对准时,选择所述随机存取点包含选择所述第二表示的呈现时间值迟于所述第一表示的所述经缓冲数据的至少一个样本的呈现时间值的随机存取点,其中为了缓冲所述适量的数据,所述处理器经配置以请求并存储所述第一表示的数据直到开始呈现时间值早于所述选定随机存取点的所述呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一片段,且为了请求来自所述第二表示的数据,所述处理器经配置而以所述第二表示的包含所述选定随机存取点的第二片段开始来请求所述第二表示的数据。
35.根据权利要求34所述的设备,其进一步包含视频解码器,所述视频解码器经配置以进行以下操作解码所述第一表示的所述数据直到到达所述第一片段的图片群组为止,所述图片群组包含开始呈现时间值早于所述选定随机存取点的呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一图片;及在到达所述第一片段的所述图片群组之后,以所述选定随机存取点开始来解码所述第二表示的所述数据。
36.根据权利要求29所述的设备,其中所述设备包含以下各者中的至少一者 集成电路; 微处理器;及 无线通信装置,其包括所述处理器。
37.一种用于接收视频数据的设备,所述设备包含 用于接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值的装置; 用于根据串流网络协议请求来自视频序列的所述第一表示的数据的装置; 用于响应于确定要从所述第一表示切换到所述第二表示而基于所述延迟值来缓冲来自所述第一表示的适量的数据的装置;及 用于在缓冲来自所述第一表示的所述适量的数据之后根据所述串流网络协议请求来自所述视频序列的第二表示的数据的装置。
38.根据权利要求37所述的设备,其进一步包含 用于在请求所述第一表示的所述数据之前请求所述第一表示的初始化段的装置, 其中所述用于请求来自所述第二表示的所述数据的装置包含用于请求来自所述第二表示的所述数据而无需请求所述第二表示的初始化段的装置。
39.根据权利要求37所述的设备,其进一步包含 用于检测网络条件的改变的装置;及 用于基于所述网络条件的所述改变而确定要从所述第一表示切换到所述第二表示的 装直。
40.根据权利要求37所述的设备,其进一步包含 用于接收指示所述第一表示与所述第二表示是否在时间上对准的信息的装置;及 用于基于所述信息来选择所述第二表示的随机存取点的装置。
41.根据权利要求40所述的设备,其中在所述第一表示与所述第二表示在时间上对准时,所述用于选择所述随机存取点的装置包含 用于定位所述第一表示的具有跟在所述第一表示的所述经缓冲数据的样本的呈现时间值之后的最早呈现时间值的第一随机存取点的装置;及 用于选择所述第二表示的具有与所述第一随机存取点相同的呈现时间值的第二随机存取点的装置, 其中所述用于请求来自所述第二表示的所述数据的装置包含用于请求所述第二表示的包含所述第二随机存取点的片段的装置。
42.根据权利要求40所述的设备,其中在所述第一表不与所述第二表不未在时间上对准时 所述用于选择所述随机存取点的装置包含用于选择所述第二表示的呈现时间值迟于所述第一表示的所述经缓冲数据的至少一个样本的呈现时间值的随机存取点的装置, 所述用于缓冲所述适量的数据的装置包含用于请求并存储所述第一表示的数据直到开始呈现时间值早于所述选定随机存取点的所述呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一片段的装置,且 所述用于请求来自所述第二表示的数据的装置包含用于以所述第二表示的包含所述选定随机存取点的第二片段开始来请求所述第二表示的数据的装置。
43.根据权利要求42所述的设备,其进一步包含 用于解码所述第一表示的所述数据直到到达所述第一片段的图片群组为止的装置,所述图片群组包含开始呈现时间值早于所述选定随机存取点的呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一图片,及 用于在到达所述第一片段的所述图片群组之后以所述选定随机存取点开始来解码所述第二表示的所述数据的装置。
44.一种计算机程序产品,其包含计算机可读存储媒体,所述计算机可读存储媒体上面存储有在执行时致使用于接收视频数据的装置的处理器进行以下操作的指令 接收指示用于在视频序列的第一表示与所述视频序列的第二表示之间切换的延迟的延迟值; 根据串流网络协议请求来自视频序列的所述第一表示的数据; 响应于确定要从所述第一表示切换到所述第二表示,基于所述延迟值来缓冲来自所述第一表示的适量的数据 '及 在缓冲来自所述第一表示的所述适量的数据之后,根据所述串流网络协议请求来自所述视频序列的第二表示的数据。
45.根据权利要求44所述的计算机程序产品,其进一步包含致使所述处理器在请求所述第一表示的所述数据之前请求所述第一表示的初始化段的指令, 其中所述用于请求来自所述第二表示的所述数据的装置包含用于请求来自所述第二表示的所述数据而无需请求所述第二表示的初始化段的装置。
46.根据权利要求44所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令 检测网络条件的改变;及 基于所述网络条件的所述改变,确定要从所述第一表示切换到所述第二表示。
47.根据权利要求44所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令 接收指示所述第一表示与所述第二表示是否在时间上对准的信息;及 基于所述信息来选择所述第二表示的随机存取点。
48.根据权利要求47所述的计算机程序产品,其中在所述第一表示与所述第二表示在时间上对准时,所述致使所述处理器选择所述随机存取点的指令包含 定位所述第一表示的具有跟在所述第一表示的所述经缓冲数据的样本的呈现时间值之后的最早呈现时间值的第一随机存取点;及 选择所述第二表示的具有与所述第一随机存取点相同的呈现时间值的第二随机存取点, 其中请求来自所述第二表示的所述数据包含请求所述第二表示的包含所述第二随机存取点的片段。
49.根据权利要求47所述的计算机程序产品,其进一步包含致使所述处理器在所述第一表示与所述第二表示未在时间上对准时进行以下操作的指令 选择所述随机存取点包含选择所述第二表示的呈现时间值迟于所述第一表示的所述经缓冲数据的至少一个样本的呈现时间值的随机存取点, 其中所述致使所述处理器缓冲所述量的数据的指令包含致使所述处理器请求并存储所述第一表示的数据直到开始呈现时间值早于所述选定随机存取点的所述呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一片段,且 其中所述致使所述处理器请求来自所述第二表示的数据的指令包含致使所述处理器以所述第二表示的包含所述选定随机存取点的第二片段开始来请求所述第二表示的数据的指令。
50.根据权利要求49所述的计算机程序产品,其进一步包含致使所述处理器进行以下操作的指令 解码所述第一表示的所述数据直到到达所述第一片段的图片群组为止,所述图片群组包含开始呈现时间值早于所述选定随机存取点的呈现时间值且结束呈现时间值迟于所述选定随机存取点的所述呈现时间值的第一图片 '及 在到达所述第一片段的所述图片群组之后,以所述选定随机存取点开始来解码所述第二表示的所述数据。
全文摘要
在一个实例中,一种设备包括处理器,所述处理器经配置以进行以下操作将用于存取视频序列的第一表示及所述视频序列的第二表示的数据的信息提供到客户端装置;及响应于来自所述客户端装置的检索来自所述第一表示的数据的第一请求,将指示以下情形的信息提供到所述客户端装置所述客户端装置可在所述第一表示的所述数据的发射期间切换到所述第二表示,而不会在显示所述视频序列时经历呈现间断且无需同时执行一个以上解码器以在所述切换期间解码所述第一表示及所述第二表示的所述数据。以此方式,所述客户端装置可使用所述信息来执行所述表示之间的无缝切换。
文档编号H04N21/2343GK102986218SQ201180034367
公开日2013年3月20日 申请日期2011年7月13日 优先权日2010年7月13日
发明者陈盈, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1