CN103081488A - 发信号通知用于特技模式视频表示的视频样本 - Google Patents
发信号通知用于特技模式视频表示的视频样本 Download PDFInfo
- Publication number
- CN103081488A CN103081488A CN2011800401887A CN201180040188A CN103081488A CN 103081488 A CN103081488 A CN 103081488A CN 2011800401887 A CN2011800401887 A CN 2011800401887A CN 201180040188 A CN201180040188 A CN 201180040188A CN 103081488 A CN103081488 A CN 103081488A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- bytes range
- indication
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明描述与媒体数据的HTTP串流相关的技术。根据这些技术,服务器装置可发信号通知视频片段的至少一个可帧内解码帧(I帧)的字节范围。根据本发明的所述技术,客户端装置可将基于所述发信号通知的字节范围来检索所述至少一个I帧的请求递送到服务器装置,且使用所述所检索的I帧来提供视频呈现的包括所述至少一个I帧的高速版本。视频呈现的高速版本可为所述视频呈现的特技模式,例如所述视频呈现的快进或快退版本。
Description
本申请案主张2010年6月29日申请的第61/359,748号美国临时申请案、2010年7月21日申请的第61/366,436号美国临时申请案以及2010年7月13日申请的第61/363,884号美国临时申请案的优先权,所述临时申请案中的每一者的全部内容均以引用的方式并入本文中。
相关申请案的交叉参考
本申请案与以下共同待决的美国专利申请案相关:陈应(Ying Chen)等人的题目为“发信号通知用于特技模式视频呈现的视频样本(SIGNALING VIDEO SAMPLES FORTRICK MODE VIDEO PRESENTATIONS)”的第12/905,537号美国专利申请案,所述美国专利申请案具有第101657U2号代理人案号,与本申请案同时申请,转让给本受让人,且其全文明确地以引用的方式并入本文中。
技术领域
本发明涉及经编码视频数据的输送。
背景技术
数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等。数字视频装置实施视频压缩技术(例如,由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准以及这些标准的扩展中所描述的视频压缩技术),以较有效地发射和接收数字视频信息。
视频压缩技术执行空间预测和/或时间预测,以减少或移除视频序列中所固有的冗余。对于基于块的视频译码来说,可将视频帧或切片分割为多个宏块。可进一步分割每一宏块。使用相对于相邻宏块的空间预测来编码经帧内译码(I)帧或切片中的宏块。经帧间译码(P或B)帧或切片中的宏块可使用相对于同一帧或切片中的相邻宏块的空间预测或相对于其它参考帧的时间预测。
一直在努力开发出基于H.264/AVC的新视频译码标准。一个此类标准为可缩放视频译码(SVC)标准,其为H.264/AVC的可缩放扩展。另一标准为多视图视频译码(MVC)标准,其已变成H.264/AVC的多视图扩展。AVC标准的版本描述于JVT-AD007的“对ITU-TRec.H.264|ISO/IEC14496-10高级视频译码的编者修正草案-为ITU-T SG16AAP同意做准备(以综合形式)(Editors'draft revision to ITU-T Rec.H.264|ISO/IEC14496-10Advanced Video Coding-in preparation for ITU-T SG16AAP Consent(in integrated form)”(2009年2月在瑞士日内瓦举办的第30届JVT会议)中,此文献可从http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zip获得,其将SVC与MVC综合在AVC规范中。
发明内容
本发明描述与使用串流协议(例如超文本传送协议(HTTP)串流)输送媒体数据相关的技术。明确地说,本发明的技术针对于发信号通知媒体内容中的随机存取点(RAP)的特性。随机存取点大体上对应于解码器可开始在不参考较早数据(例如,在时间上在所述随机存取点之前的经编码单元)的情况下恰当地解码视频表示所在的点。也就是说,随机存取点可包含独立可解码单元,例如,视频数据的经帧内译码帧或切片。
串流(例如,HTTP串流)大体上涉及将数据从源装置传送到目的地装置。根据本发明的技术,除了瞬时解码刷新(IDR)帧之外,源装置还可发信号通知开放解码刷新(ODR)帧的特性。通过发信号通知这些特性,目的地装置可产生在ODR帧处开始重放视频数据流中所含有的视频表示的请求。以此方式,目的地装置的用户可请求开始或跳转到所述视频表示的特定时间位置,且目的地装置可请求串流视频表示的含有最靠近所请求的时间位置的IDR或ODR图片的一部分。因此,并非限于在IDR图片处起始视频表示的重放和/或串流,根据本发明的技术的目的地装置可在IDR或ODR处起始流,这可减小带宽消耗且/或实现较频繁的随机存取点和/或视频切换点,以便改进用户的观看体验。
本发明还提供用于发信号通知经帧内译码图片的特性的技术,使得目的地装置可在特技模式中检索并呈现经帧内译码图片。特技模式大体上对应于高速重放模式,例如快进或倒退。在此类模式中,目的地装置可仅重放视频表示中的可用帧的子集。因此,目的地装置仅需要检索将在特技模式中播放的帧。因此,根据本发明的技术,目的地装置可基于发信号通知的特性来产生针对经帧内译码帧的请求,这可减小带宽消耗且在使用网络串流协议传送媒体时允许特技模式重放。
举例来说,本文中描述一种方法。所述方法包括在客户端装置处从服务器装置接收媒体分段的开放解码刷新(ODR)随机存取点(RAP)帧的指示,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODRRAP之前的帧的内容的情况下被正确解码。所述方法进一步包括由所述客户端装置向所述服务器装置发送检索以含有所述所指示的ODR RAP帧的所述媒体分段开始的媒体数据流的请求。
根据另一实例,本文中描述一种装置。所述装置包括用于从服务器装置接收媒体分段的开放解码刷新(ODR)随机存取点(RAP)帧的指示的装置,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODRRAP之前的帧的内容的情况下被正确解码。所述装置进一步包括用于向所述服务器装置发送检索以所述所指示的ODR RAP帧开始的媒体数据流的请求的装置。
根据另一实例,本文中描述一种计算机可读存储媒体。所述存储媒体包括在执行时致使客户端计算装置的处理器进行以下操作的指令:在客户端装置处从服务器装置接收媒体分段的开放解码刷新(ODR)随机存取点(RAP)帧的指示,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODRRAP之前的帧的内容的情况下被正确解码。所述指令进一步致使所述客户端计算装置由所述客户端装置向所述服务器装置发送检索以含有所述所指示的ODR RAP帧的所述媒体分段开始的媒体数据流的请求。
根据另一实例,本文中描述一种包括一个或一个以上处理器的装置。所述一个或一个以上处理器经配置以接收媒体分段的开放解码刷新(ODR)随机存取点(RAP)帧的指示,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODR RAP之前的帧的内容的情况下被正确解码。所述一个或一个以上处理器进一步经配置以向服务器装置发送检索以含有所述所指示的ODR RAP帧的所述媒体分段开始的媒体数据流的请求。
根据另一实例,本文中描述一种方法。所述方法包括接收媒体分段的包含开放解码刷新(ODR)随机存取点(RAP)帧的经编码视频帧序列,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODR RAP之前的帧的内容的情况下被正确解码。所述方法进一步包括产生所述ODR RAP在所述经编码视频帧序列内的位置的指示。所述方法进一步包括输出所述指示。
根据另一实例,本文中描述一种装置。所述装置包括用于接收媒体分段的包含开放解码刷新(ODR)随机存取点(RAP)帧的经编码视频帧序列的装置,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODRRAP之前的帧的内容的情况下被正确解码。所述装置进一步包括用于产生所述ODRRAP在所述经编码视频帧序列内的位置的指示的装置。所述装置进一步包括用于输出所述指示的装置。
根据另一实例,本文中描述一种计算机可读存储媒体。所述计算机可读存储媒体包括在执行时致使源装置的一个或一个以上处理器进行以下操作的指令:接收媒体分段的包含开放解码刷新(ODR)随机存取点(RAP)帧的经编码视频帧序列,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODR RAP之前的帧的内容的情况下被正确解码。所述指令进一步致使所述源装置产生所述ODR RAP在所述经编码视频帧序列内的位置的指示。所述指令进一步致使所述源装置输出所述指示。
根据另一实例,本文中描述一种包括一个或一个以上处理器的装置。所述一个或一个以上处理器经配置以接收媒体分段的包含开放解码刷新(ODR)随机存取点(RAP)帧的经编码视频帧序列,其中所述媒体分段的按解码次序在所述ODR RAP帧之后的至少一个帧可能不被正确解码,且其中所述媒体分段的按显示次序在所述ODR RAP帧之后的每一帧可在不依赖于按显示次序在所述ODR RAP之前的帧的内容的情况下被正确解码。所述一个或一个以上处理器进一步经配置以产生所述ODR RAP在所述经编码视频帧序列内的位置的指示。所述一个或一个以上处理器进一步经配置以输出所述指示。
根据另一实例,本文中描述一种方法。所述方法包括在客户端装置处从服务器装置接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内。所述方法进一步包括由所述客户端装置向所述服务器装置发送检索所述至少一个字节范围内的媒体数据的请求。所述方法进一步包括使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本。
根据另一实例,本文中描述一种装置。所述装置包括用于在客户端装置处从服务器装置接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示的装置,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内。所述装置进一步包括用于由所述客户端装置向所述服务器装置发送检索所述至少一个字节范围内的媒体数据的请求的装置。所述装置进一步包括用于使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本的装置。
根据另一实例,本文中描述一种计算机可读存储媒体。所述计算机可读存储媒体存储经配置以致使计算装置进行以下操作的指令:在客户端装置处从服务器装置接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内。所述指令进一步经配置以致使所述计算装置由所述客户端装置向所述服务器装置发送检索所述至少一个字节范围内的媒体数据的请求。所述指令进一步经配置以致使所述计算装置使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本。
根据另一实例,本文中描述一种装置。所述装置包括至少一个处理器。所述至少一个处理器经配置以接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内。所述至少一个处理器进一步经配置以向服务器装置发送检索所述至少一个字节范围内的媒体数据的请求。所述至少一个处理器进一步经配置以使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本。
根据另一实例,本文中描述一种方法。所述方法包括接收包含至少一个经帧间译码帧(I帧)的经编码视频帧序列。所述方法进一步包括产生所述经编码视频帧序列内的字节范围的指示,其中至少一个I帧出现在所述至少一个字节范围内。所述方法进一步包括输出所述经编码视频帧序列内的字节范围的所述指示。
根据另一实例,本文中描述一种装置。所述装置包括用于接收包含至少一个经帧间译码帧(I帧)的经编码视频帧序列的装置。所述装置进一步包括用于产生所述经编码视频帧序列内的字节范围的指示的装置,其中至少一个I帧出现在所述至少一个字节范围内。所述装置进一步包括用于输出所述经编码视频帧序列内的字节范围的所述指示的装置。
根据另一实例,本文中描述一种计算机可读存储媒体。所述计算机可读存储媒体存储经配置以致使计算装置进行以下操作的指令:接收包含至少一个I帧的经编码视频帧序列。所述指令进一步致使所述计算装置产生字节范围的指示,其中至少一个I帧出现在所述至少一个字节范围内。所述指令进一步致使所述计算装置输出所述经编码视频帧序列内的字节范围的所述指示。
根据另一实例,本文中描述一种装置。所述装置包括一个或一个以上处理器。所述一个或一个以上处理器经配置以接收包含至少一个I帧的经编码视频帧序列。所述一个或一个以上处理器进一步经配置以产生所述经编码视频帧序列内的字节范围的指示,其中至少一个I帧出现在所述至少一个字节范围内。所述一个或一个以上处理器进一步经配置以输出所述经编码视频帧序列内的字节范围的所述指示。
一个或一个以上实例的细节陈述于附图和以下描述中。其它特征、目标和优点将从所述描述和图式以及从权利要求书显而易见。
附图说明
图1为说明其中音频/视频(A/V)源装置将音频和视频数据输送到A/V目的地装置的实例***的框图。
图2为说明符合本发明的技术的视频片段的一个实例的概念图。
图3为说明符合本发明的技术的视频片段的一个实例的概念图。
图4为说明符合本发明的技术的分段文件的一个实例的框图。
图5为说明符合本发明的技术的电影呈现的一个实例的框图。
图6为说明符合本发明的技术的段索引盒的一个实例的框图。
图7为说明符合本发明的技术的操作客户端装置以接收开放解码刷新(ODR)随机存取点(RAP)的指示的方法的一个实例的流程图。
图8为说明符合本发明的技术的操作源装置以提供ODR RAP的指示的方法的一个实例的流程图。
图9为说明符合本发明的技术的操作客户端装置以接收经帧内译码帧(I帧)的字节范围的指示的方法的一个实例的流程图。
图10为说明符合本发明的技术的操作源装置以提供经帧内译码帧(I帧)的字节范围的指示的方法的一个实例的流程图。
图11为说明符合本发明的技术的可由相应的HTTP客户端和服务器装置执行的步骤的一个实例的流程图。
图12为说明符合本发明的技术的可由相应的HTTP客户端和服务器装置执行的步骤的一个实例的流程图。
具体实施方式
本发明的技术大体上针对于支持使用串流协议(例如超文本传送协议(HTTP)串流)的视频数据输送。一般来说,在本发明中对HTTP的参考可包括对HTTP串流的参考。
本发明参考视频表示的两个特定类型的随机存取点(RAP)。明确地说,本发明描述瞬时解码刷新(IDR)RAP和开放解码刷新(ODR)RAP。IDR存取点为闭合GOP的可独立解码的帧内帧。闭合GOP为视频表示的帧分组,所述帧分组不包括依靠按解码或呈现次序在所述GOP之前的帧来可正确解码的任何帧。
开放GOP为其中按显示(输出)次序在所述GOP的初始可独立解码的帧(I帧)之前但按解码次序在所述I帧之后的图片可能不可正确解码的GOP。举例来说,开放GOP可包括至少部分依靠在所述开放GOP外部的至少一个帧的内容的一个或一个以上帧。在开放GOP的一些实例中,开放GOP的I帧可用作用于开始视频表示的重放的随机存取点。举例来说,如果按显示次序在初始I帧之后的所有帧可被正确解码,那么所述I帧可用作RAP。此RAP可被称为ODR RAP。
视频表示的帧可被布置为一个或一个以上GOP。所述一个或一个以上GOP可被布置为一个或一个以上视频片段。所述一个或一个以上片段可被布置为一个或一个以上段。在一些实例中,多个段可形成视频表示。
串流服务(例如HTTP串流服务)可允许客户端装置做出从服务器装置检索一个或一个以上GOP、片段、段或整个视频表示的HTTP请求。服务器装置可含有媒体内容的多个表示。在一个实例中,此请求可包括HTTP获取请求。HTTP获取请求可通过指定视频表示的一个或一个以上媒体分段(例如,GOP、片段、段或视频表示等级媒体文件)的统一资源定位符(URL)来提供对存储在服务器装置上的内容的客户端装置存取。在一些实例中,HTTP获取请求可指定媒体文件内的字节范围而非请求整个媒体文件。此HTTP获取请求可被称为部分获取请求。如本文中所描述,短语“媒体分段”指代任何文件,片段、段或视频表示等级媒体分段,其可根据例如HTTP获取或部分获取请求等串流协议请求来检索。
在一些实例中,本文中所描述的各种形式的媒体内容可以一个或一个以上媒体分段的形式存储在服务器中。在一些实例中,服务器装置可经配置以提供信令信息以促进HTTP串流服务。根据本发明的一个方面,服务器装置可发信号通知视频表示的媒体分段(例如,片段、段、表示特定媒体分段)的开放解码刷新(ODR)随机存取点(RAP)。根据本发明的技术,客户端装置可向服务器装置递送针对基于ODR RAP的发信号通知来串流媒体数据的请求。通过发信号通知视频表示的ODR RAP,客户端装置可从视频表示的较多时间位置当中进行选择以用于开始串流、解码和/或重放视频表示。
在一些实例中,在片段或段中未含有IDR的情况下,源装置可发信号通知媒体分段是否含有ODR RAP。因此,如果在所要时间位置附近没有包括IDR RAP的媒体分段可用,那么视频表示的重放可在与包括ODR RAP的媒体分段(例如,视频表示的片段或段,或整个视频表示)相关联的时间位置处开始。
明确地说,源装置可发信号通知与媒体分段的ODR RAP的字节偏移。媒体分段可为可使用视频片段所特有的统一资源定位符(URL)或统一资源名称(URN)来独立寻址的。在一个实例中,通过发信号通知与视频片段中的ODR RAP的字节偏移,客户端装置可构造获取请求,所述获取请求包含在ODR RAP处开始且在媒体分段的末端处结束的字节范围。
根据本发明的另一方面,服务器装置可发信号通知视频表示的至少一个I帧的字节范围。客户端装置可将基于发信号通知的字节范围来检索所述至少一个I帧的请求递送到服务器装置,且使用所检索的I帧来提供视频内容的包括所述至少一个I帧的高速版本。视频内容的高速版本可支持视频表示的特技模式,例如快进或快退。通过直接发信号通知视频呈现的至少一个I帧的字节范围,可在不请求I帧所属的完整视频表示的情况下或在不请求视频表示的专门针对高速重放创建的替代版本的情况下提供高速版本。此外,这些技术允许提供视频表示的高速版本,同时最小化可被串流、解码和/或重放的数据的量。
根据本发明的此方面,服务器装置可发信号通知表示媒体内容的一个或一个以上媒体分段内的一个或一个以上字节范围的指示。至少一个经帧内译码帧(I帧)可出现在所述一个或一个以上发信号通知的字节范围中的每一者内。客户端装置可基于所述一个或一个以上字节范围的发信号通知的指示来提交检索所述字节范围内的媒体数据的请求(例如,HTTP获取或部分获取请求)。客户端装置可连续呈现与所述一个或一个以上发信号通知的字节范围中的至少一者一起出现的在时间上由至少一个经帧内译码帧分开的两个或两个以上I帧,以相对高速地呈现所述视频呈现。此表示可视为媒体内容的高速版本。
第三代合作伙伴计划(3GPP)为电信协会群组之间的合作,以在国际电信联盟(ITU)的国际移动电信-2000项目的范围内做出全球适用的第三代(3G)移动电话***规范。3GPP规范是基于演进型全球移动通信***(GSM)规范。3GPP标准化涵盖无线电、核心网络和服务架构。在一些实例中,本发明的技术在本文中使用与3GPP协议规范一致的实例和术语来描述。仅出于示范性目的来提供这些实例和术语,还预期用于串流视频数据的其它协议规范且所述其它协议规范与本发明一致。
在根据HTTP串流的一些实例中,分段文件可被布置为多个不同表示,所述表示各自对应于特定节目(例如,电影、电视节目或其它视频节目)。3GPP文件可各自对应于节目和/或节目的呈现的段或片段的这些不同表示。
视频表示(例如,3GPP文件)可布置为多个电影片段。电影片段可各自包括视频表示的多个帧或图片。3GPP视频表示的片段可为可使用HTTP获取或部分获取请求来个别地检索,所述HTTP获取或部分获取请求可提及3GPP文件的统一资源定位符(URL)或统一资源名称(URN)。
HTTP客户端可在重放期间改变表示,例如当网络条件改变时或当检测到用户控制输入时。举例来说,当大量带宽可用时,客户端可检索相对较高质量的呈现的3GPP文件,而当较少量带宽可用时,客户端可检索相对较低质量的呈现的3GPP文件。类似地,用户可指示视频质量的所要改变。用户还可指示客户端针对视频表示的重放进行暂停、停止、查找(例如,快进、倒退)或扫描(指示所要起始点)。
可能需要HTTP服务器提供针对一个或一个以上电影呈现可用的信息子集以允许HTTP客户端选择不同表示或表示部分来进行串流。此信息可被称为标头信息。标头信息可特定针对于节目、特定针对于节目的表示或所述表示的一部分,或特定针对于表示的电影片段或段。
在根据3GPP的一个实例中,标头信息可包含在媒体呈现描述(MPD)文件中。MPD文件可发信号通知视频数据的多个表示的特性元素,例如位速率、帧速率、分辨率、交错或渐进扫描类型、编码类型(例如,MPEG-1、MPEG-2、H.263、MPEG-4/H.264或任何其它视频编解码器)、存取点或其它特性。
电影片段可包括多个图片群组(GOP)。GOP可包括或可不包括用于开始解码和/或重放的随机存取点(RAP)。
本发明描述用于在HTTP串流应用的上下文中发信号通知ODR存取点的技术。本发明的技术可提供一个或一个以上优点。举例来说,与提供发信号通知IDR存取点的已知技术相比,除IDR存取点之外还发信号通知ODR存取点可通过提供用于根据HTTP串流起始流的较细控制粒度来允许改进扫描或查找功能性。本发明的技术还可在串流包括用于解码的高水平帧间内容依赖性的较复杂视频节目时提供优点,因为可提供较多存取点,进而改进用于HTTP串流的扫描和/或查找功能性。本发明的技术可提供另外优点,因为通过在分段文件的标头信息中发信号通知一个或一个以上ODR存取点,客户端装置可请求在ODR存取点自身或包括所述ODR存取点的开放GOP处开始的媒体数据流,进而在选择用于串流/解码/重放由分段文件表示的视频的起始点时提供较细粒度。这些技术还可通过减少待针对视频表示的重放而串流的数据的量来优于现有技术。
在一些实例中,本发明的技术提供在分段文件的标头信息中发信号通知ODR存取点和/或其它信息。在一个实例中,可在电影表示或段的段索引盒(SIDX)中发信号通知ODR存取点。分段文件可根据ISO基础媒体文件格式或任何其它分段文件类型来格式化,包括ISO基础媒体文件格式的扩展,例如可缩放视频译码(SVC)、高级视频译码(AVC)和/或多视图视频译码(MVC)等。本发明的技术可进一步提供用于发信号通知与扫描和/或查找功能性相关的其它信息,所述功能性在下文中进一步详细描述。
本发明的技术进一步提供用于由HTTP服务器装置发信号通知一个或一个以上经帧内译码帧(I帧)的字节范围以用于扫描功能性的目的。举例来说,目的地装置可显示视频表示的高速版本以用于快进或倒退的目的,所述快进或倒退还被称为用于视频呈现的特技模式。根据这些技术,客户端装置可基于发信号通知I帧字节范围而仅请求和/或解码视频表示的发信号通知的I帧而不管呈现视频表示的高速版本不需要的其它帧。举例来说,客户端装置可专门请求(例如,通过一个或一个以上HTTP部分获取请求)出现在发信号通知的字节范围内的一个或一个以上I帧。客户端装置可连续呈现所检索的媒体数据的两个或两个以上I帧以相对高速地呈现所述视频内容。所述两个或两个以上I帧可在时间上由至少一个经帧间译码帧(例如,B或P帧)分开。通过仅检索、解码并显示所述发信号通知的I帧,客户端装置可向用户提供视频表示的高速版本以用于快进或倒退操作的目的。在一些实例中,发信号通知的I帧可包括IDR和/或ODR存取点。
视频表示的I帧的字节范围可在各种译码单元(例如,媒体分段)的标头信息中发信号通知。举例来说,源装置可在媒体呈现的视频等级(例如,在MPD文件内)、表示等级、段等级、片段等级或其它等级的标头信息处发信号通知I帧的字节范围。这些技术可提供一个或一个以上优点。举例来说,目的地装置可在串流协议(例如HTTP串流)的上下文中在不创建、存储和/或发射视频表示的高速版本的情况下执行视频表示的高速重放。另外,这些技术可为有利的,因为客户端装置可基于发信号通知的I帧来向用户呈现快进和快退重放中的任一者或两者。
图1为说明其中音频/视频(A/V)源装置20将音频和视频数据输送到A/V目的地装置40的实例***10的框图。A/V源装置20还可称为“源视频装置”。图1的***10可对应于视频电话会议***、服务器/客户端***、广播器/接收器***或其中将视频数据从源装置(例如A/V源装置20)发送到目的地装置(例如A/V目的地装置40)的任何其它***。A/V目的地装置40还可称为“目的地视频装置”或“客户端装置”。在一些实例中,A/V源装置20和A/V目的地装置40可执行双向信息交换。也就是说,A/V源装置20和A/V目的地装置40可能够编码和解码(以及发射和接收)音频和视频数据。在一些实例中,音频编码器26可包含语音编码器,其还称为声码器。
在图1的实例中,A/V源装置20包含音频源22和视频源24。举例来说,音频源22可包含麦克风,所述麦克风产生表示待由音频编码器26编码的所俘获的音频数据的电信号。或者,音频源22可包含存储先前所记录的音频数据的存储媒体、例如计算机化合成器等音频数据产生器或任何其它音频数据源。视频源24可包含:摄像机,其产生待由视频编码器28编码的视频数据;经编码有先前所记录的视频数据的存储媒体;视频数据产生单元;或任何其它视频数据源。
原始音频和视频数据可包含模拟或数字数据。模拟数据可在由音频编码器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还可使用序列识别符来指示经编码视频数据的相对时间排序。类似地,在一些实例中,序列识别符可经映射或以其它方式与时戳相关。
本发明的技术大体上是针对于经编码多媒体(例如,音频和视频)数据的输送,以及所输送的多媒体数据的接收及后续解译和解码。本发明的技术可应用于各种标准和扩展的视频数据(例如可缩放视频译码(SVC)、高级视频译码(AVC)、ISO基础媒体文件格式或多视图视频译码(MVC)数据或其它视频数据)的输送。在一些实例中,视频源24可将场景的多个视图提供到视频编码器28。在一些实例中,视频数据的多个视图可适用于产生待由三维显示器(例如立体或裸眼式立体三维显示器)使用的三维视频数据。
A/V源装置20可向A/V目的地装置40提供“服务”。服务可大体上对应于MVC数据的可用视图的子集。举例来说,多视图视频数据可为可用于八个视图,其经排序为零到七。一个服务可对应于具有两个视图的立体视频,而另一服务可对应于四个视图,且又一服务可对应于所有八个视图。一般来说,服务对应于所述可用视图的任何组合(即,任何子集)。服务还可对应于可用视图以及音频数据的组合。
数据(无论是音频还是视频)的每一个别流被称作基本流。基本流为节目的单个经数字译码(可能经压缩)的分量。举例来说,所述节目的经译码视频或音频部分可为基本流。基本流可在多路复用为节目流或输送流之前转换成包化基本流(PES)。在同一节目内,使用流ID来区分属于一个基本流的PES包与属于另一基本流的PES包。基本流的数据的基本单元为包化基本流(PES)包。因此,MVC视频数据的每一视图对应于相应基本流。类似地,音频数据对应于一个或一个以上相应基本流。
在图1的实例中,包封单元30接收来自视频编码器28的包含视频数据的基本流和来自音频编码器26的包含音频数据的基本流。在一些实例中,视频编码器28和音频编码器26可各自包括用于从经编码数据形成PES包的包化器。在其它实例中,视频编码器28和音频编码器26可各自与用于从经编码数据形成PES包的相应包化器介接。在另外其它实例中,包封单元30可包括用于从经编码音频和视频数据形成PES包的包化器。
如本发明中所使用的“节目”可包含音频数据与视频数据的组合,例如音频基本流和通过A/V源装置20的服务传递的可用视图的子集。每一PES包包括stream_id,其识别所述PES包所属的基本流。包封单元30可将基本流组合为构成节目流或输送流。节目流和输送流为以不同应用为目标的两个替代性多路复用。
一般来说,节目流包括用于一个节目的数据,而输送流可包括用于一个或一个以上节目的数据。包封单元30可基于正提供的服务、所述流将被传递到其中的媒体、待发送的多个节目或其它考虑因素来编码节目流或输送流中的任一者或两者。举例来说,当视频数据将被编码在存储媒体中时,包封单元30可能较有可能形成节目流,而当视频数据将经由网络串流、广播或作为视频电话的一部分被发送时,包封单元30可能较有可能使用输送流。
包封单元30从音频编码器26和视频编码器28接收用于节目的基本流的PES包且从所述PES包中形成对应的网络抽象层(NAL)单元。在H.264/AVC(高级视频译码)的实例中,经译码视频段被组织成NAL单元,其提供“网络友好的”视频表示寻址应用,例如视频电话、存储、广播或串流。NAL单元可被分类为视频译码层(VCL)NAL单元和非VCL NAL单元。VCL单元含有核心压缩引擎且可包含块、宏块和/或切片等级。其它NAL单元为非VCL NAL单元。
在自身有效负载中包括视频数据的NAL单元可包含各种粒度等级的视频数据。举例来说,NAL单元可包含视频数据块、宏块、多个宏块、视频数据切片或整个视频数据帧。
一般来说,存取单元可包含用于表示视频数据帧以及对应于所述帧的音频数据(当此音频数据为可用时)的一个或一个以上NAL单元。存取单元大体上包括一个输出时间实例的所有NAL单元,例如,一个时间实例的所有音频和视频数据。在对应于H.264/AVC的实例中,存取单元可包含一个时间实例中的经译码图片,其可被呈现为主要经译码图片。因此,存取单元可包含共同时间实例的所有视频帧,例如对应于时间X的所有视图分量。
包封单元30可将NAL单元组合为遵照ISO基础媒体文件格式或其衍生物(例如,SVC、AVC、MVC或3GPP)的视频文件的轨道,且将所述视频文件传递到输出接口32。举例来说,输出接口32可包含发射器、收发器、用于将数据写入到计算机可读媒体的装置(例如光盘驱动器、磁性媒体驱动器(例如,软盘驱动器))、通用串行总线(USB)端口、网络接口或其它输出接口。输出接口32将NAL单元或存取单元输出到计算机可读媒体(例如,信道34),举例来说,例如传输信号或载波等瞬态媒体或者例如磁性媒体、光学媒体、存储器或快闪驱动器等计算机可读存储媒体。
输入接口36从计算机可读媒体(例如,信道34)检索数据。举例来说,输入接口36可包含光盘驱动器、磁性媒体驱动器、USB端口、接收器、收发器或其它计算机可读媒体接口。输入接口36可将NAL单元或存取单元提供到解包封单元38。解包封单元38可将输送流或节目流多路分用为构成PES流,解包化PES流以检索经编码数据,且将经编码数据发送到音频解码器46或视频解码器48,这取决于所述经编码数据是音频流还是视频流的一部分,例如由所述流的PES包标头指示。解包封单元38可最初选择所接收的视频文件中所包括的轨道中的一者,且接着仅将选定轨道的数据和由选定轨道的析取字提及的其它轨道的数据传递到视频解码器48,从而丢弃选定轨道的析取字未提及的其它轨道的数据。音频解码器46解码经编码音频数据且将经解码音频数据发送到音频输出42,而视频解码器48解码经编码视频数据且将经解码视频数据(其可包括流的多个视图)发送到视频输出44。视频输出44可包含使用场景的多个视图的显示器,例如,同时呈现场景的每一视图的立体或裸眼式立体显示器。
如同多数视频译码标准一样,H.264/AVC定义无错误位流的语法、语义和解码过程,其中的任一者遵照某一简档或等级。H.264/AVC不指定编码器,但编码器的任务是保证所产生的位流对于解码器来说为符合标准的。在视频译码标准的上下文中,“简档”对应于算法、特征或工具和施加到算法、特征或工具的约束的子集。如由H.264标准所定义,例如,“简档”为由H.264标准指定的整个位流语法的子集。“等级”对应于解码器资源消耗的限制,例如与图片的分辨率、位速率和宏块(MB)处理速率有关的解码器存储器和计算。
举例来说,H.264标准认识到,在由给定简档的语法强加的边界内,仍有可能需要编码器和解码器的性能的大变化,此取决于位流中的语法元素所采取的值(例如,经解码图片的指定大小)。H.264标准进一步认识到,在许多应用中,实施能够处理特定简档内的语法的所有假设使用的解码器既不实用也不经济。因此,H.264标准将“等级”定义为强加于位流中的语法元素的值的约束的指定集合。这些约束可为对各值的简单限制。或者,这些约束可采取对各值的算术组合(例如,图片宽度乘以图片高度乘以每秒经解码的图片的数目)的约束的形式。H.264标准进一步提供,个别实施方案可针对每一所支持简档支持不同等级。
遵照简档的解码器通常支持所述简档中定义的所有特征。举例来说,作为译码特征,B图片译码在H.264/AVC的基线简档中未受到支持,但在H.264/AVC的其它简档中受到支持。遵照等级的解码器应能够解码不需要超出所述等级中定义的限制的资源的任何位流。简档和等级的定义可有助于可解译性。举例来说,在视频发射期间,可针对整个发射会话来协商一对简档和等级定义并实现一致。更具体来说,在H.264/AVC中,等级可定义(例如)对以下各者的限制:需要加以处理的宏块的数目、经解码图片缓冲器(DPB)大小、经译码图片缓冲器(CPB)大小、垂直运动向量范围、每两个连续MB的运动向量的最大数目,以及B块是否可具有少于8×8个像素的子宏块分区。以此方式,解码器可确定所述解码器是否能够适当地解码所述位流。
参数集大体上含有在序列参数集(SPS)中的序列层标头信息和在图片参数集(PPS)中的偶尔改变的图片层标头信息。就参数集而论,无需针对每一序列或图片来重复此偶尔改变的信息;因此,可改进译码效率。此外,参数集的使用可实现标头信息的带外发射,从而避免为实现错误恢复而进行冗余发射的需要。在带外发射中,参数集NAL单元可在与其它NAL单元不同的信道上发射。
补充增强信息(SEI)消息可含有并非为解码来自VCL NAL单元的经译码图片样本所必需的信息。SEI消息可含于非VCL NAL单元中,如上文所描述。在一些实例中,SEI消息为标准规范(例如,H.264)的定标准部分,且对于符合标准的解码器的实施方案来说并非总是必选的。在一些实例中,SEI消息可辅助与解码、显示、错误恢复和其它目的有关的过程。在一些实例中,SEI消息可为序列等级(例如,多个连续图片/帧)消息。在其它实例中,SEI消息可特定针对于视频数据的一个或一个以上图片/帧。
在H.264/AVC和其它视频标准中,可能存在作为开放GOP的按解码次序的第一图片的经帧内译码图片。开放GOP为其中按输出次序的在初始帧内图片之前的图片可能不可正确解码的图片群组。H.264/AVC解码器可辨识开始开放GOP的帧内图片且开始解码随后图片。应注意,此帧内图片可与恢复点SEI相关联。在一些实例中,开始开放GOP的帧在本文中称为开放解码刷新(ODR)帧。闭合GOP为其中所有图片均可正确解码的图片群组。在H.264/AVC中,闭合GOP可从IDR存取单元开始。
图2为说明包括图片群组(GOP)210的视频片段201的一个实例的概念图。可将GOP描述为视频序列的顺序(按呈现次序)帧的分组。视频片段可包括任何数目的与GOP210类似的GOP。
图2的实例描绘视频片段201的一部分。视频片段包括多个帧220A到220K。片段201可包含一个或一个以上图片群组(GOP),例如GOP210。可将所述一个或一个以上GOP210描述为视频表示的帧的分组。
图2中所说明的GOP210为闭合GOP的实例。也就是说,帧220B到220I中的每一者可在不参考在GOP210外部的帧(例如,帧220A、220J和220K)的情况下进行解码。如图2中所示,帧220A在GOP210的帧220B到220I之前(按呈现次序)。帧220J到220K在GOP210的帧220B到220I之后(按呈现次序)。帧220A和220J到220K可为片段201的另一GOP的一部分。
帧220A到220K的呈现次序可不同于所述帧的解码次序。举例来说,GOP可包括I、B或P帧的任何组合。经帧内译码帧(I帧)为可独立解码的那些帧,意味着为了解码I帧,解码器不需要依赖于其它帧的内容。在图2的实例中,帧220A和220I为I帧的实例。P帧可在一个方向上相对于一个或一个以上帧进行帧间译码。在图2的实例中,帧220B、220C和220E为P帧的实例。B帧可在两个方向上相对于一个或一个以上帧进行帧间译码。在图2的实例中,帧220D、220F、220G和220H为B帧的实例。
如上文所论述,根据图2的实例,帧220A到220K的解码次序可不同于所述帧的呈现次序。举例来说,当解码帧220B到220I时,可首先解码帧220I(I帧)。如箭头222E所指示,帧220E依赖于帧220I的内容来被正确解码。因而,可在解码帧220I之后解码帧220E。
如箭头222C指示,帧220C可依赖于帧220E的内容来被正确解码。如箭头222G指示,帧220G可依赖于帧220E和帧220I两者的内容来被正确解码。因而,在一些实例中,帧220C和220G的解码可发生在解码帧220I和220E之后。帧220B、220D、220F和220H各自分别依赖于帧220C、220E、220G和220I中的一者或一者以上的内容,且因此可在帧220C、220E、220G和220I已经被解码之后解码。
如上文所描述,瞬时解码刷新(IDR)存取点可被描述为闭合GOP(例如,图2中的GOP210)的存取点。仅包括可在不依赖于GOP的外部的帧的内容的情况下正确解码的帧的GOP可被视为闭合GOP210。
图2描绘IDR存取点的两个实例。如图2实例中展示,帧220A不依赖于任何其它帧的内容来可正确解码,即,帧220A不包括指示对另一帧的依赖的任何箭头。帧220A自身可被视为GOP,因为在帧220A之前没有帧。因而,帧220A可被视为IDR存取点,因为帧220A为不依赖于在GOP(仅由帧220A组成)外部的任何帧的内容来被正确解码的GOP的存取点。
帧220I也可被视为闭合GOP210的IDR存取点。如图2实例中展示,帧220I为可在不依赖于GOP210的任何其它帧(例如,帧220B到220H)的内容的情况下独立解码的I帧。虽然帧220B到220H中的每一者依赖于GOP210内的其它帧的内容来被正确解码,如上文所描述,但帧220B到220H均不依赖于在GOP210的外部的任何帧的内容。因而,GOP210可被视为包括IDR存取点(即,帧220I)的闭合GOP。
图3为说明包括包含开放解码刷新(ODR)存取点的开放GOP310的视频片段的至少一部分的一个实例的概念图。类似于图2的实例,帧320A为I帧和IDR存取点。也类似于图2的实例,帧320I为对应于随机存取点的I帧。然而,图3实例不同于图2实例,在于GOP310的按显示次序在I帧320I之前的帧依赖于帧320A的内容以便为可正确解码的。举例来说,如方向箭头指示,帧320B、320C和320E中的每一者直接依赖于帧320A的内容。帧320D和320F到320H各自间接依赖于帧320A的内容,因为各自至少部分依赖于帧320B、320C和320E中的一者或一者以上的内容来被正确解码。然而,如图3中还描绘,按显示次序在I帧320I之后的帧320J和320K可在不依赖于在I帧320I之前的任何帧的情况下被正确解码。因此,I帧320I可用作ODR RAP。
本发明针对于用于在串流视频的上下文中改进随机存取功能性的技术。本发明的技术提供用于发信号通知ODR存取点和各种其它信息以用于开始HTTP串流、解码和/或重放视频呈现。
举例来说,客户端装置可从服务器装置接收视频表示的第一GOP的ODR存取点的指示。第一GOP的至少一个帧的编码信息指示媒体分段的按解码次序在ODR RAP帧之后的至少一个帧可能不被正确解码。媒体分段的按显示次序在ODR RAP帧之后的每一帧可在不依赖于按显示次序在ODR RAP之前的帧的内容的情况下被正确解码。客户端装置可向服务器装置发送检索以所指示的ODR RAP开始的媒体数据流的请求(例如,获取或部分获取请求)。客户端装置可接着在ODR RAP处开始解码/重放媒体数据。
明确地说,源装置可发信号通知与视频片段的ODR RAP的字节偏移。视频片段可为可使用所述视频片段所特有的统一资源定位符(URL)或统一资源名称(URN)来独立寻址。在一个实例中,通过发信号通知与视频片段中的ODR RAP的字节偏移,客户端装置可构造部分获取请求,其包含在ODR RAP处开始且在视频片段的末端处结束的字节范围。
作为另一实例,服务器装置可接收经编码视频帧序列。所述经编码视频帧序列的分段文件包括至少一个ODR RAP。媒体分段的按解码次序在ODR RAP帧之后的至少一个帧可能不被正确解码。媒体分段的按显示次序在ODR RAP帧之后的每一帧可在不依赖于按显示次序在ODR RAP之前的帧的内容的情况下被正确解码。服务器装置可产生ODR RAP的位置的指示。服务器装置可将至少一个指示输出到客户端装置(例如,在视频文件、呈现或视频呈现的片段的标头信息中)。客户端可基于所述至少一个指示来请求视频呈现的段或段的一部分的串流。
作为另一实例,客户端装置可接收视频片段或呈现的至少一个I帧的字节范围的至少一个指示。客户端装置可基于所述指示来向服务器装置发送检索所述I帧的请求。客户端装置可使用所述至少一个所检索的I帧来呈现视频呈现或片段的包括所述I帧的高速版本。所述I帧可为或可不为IDR或ODR存取点,如上文所描述。可响应于客户端接收针对快进或倒退操作的用户请求来呈现视频呈现的高速版本。
图4为说明节目430的一个实例的框图。节目430可为视频(例如,电影、电视节目或其它移动图片呈现)的数字表示。节目430可存储在一个或一个以上计算装置上或可由一个或一个以上计算装置存取,所述计算装置经配置以作为用于HTTP串流的服务器来操作。根据图4的实例,节目430包括多个表示440A到440C以及媒体呈现描述(MPD)432。所述多个表示440A到440C可包括多个电影片段442。所述多个片段442可按重放次序来布置且表示视频的各种时间(即,在时间上)部分。
虽然图4中未描绘,但电影表示440A到440C的一个或一个以上片段442可布置为一个或一个以上电影段。段可包括一组连续电影片段,其可根据单个URL来请求。举例来说,段可为小文件,其可含有视频和音频。作为另一实例,段可对应于一个电影片段,其可自身含有单个视频轨道片段和单个音频轨道片段。作为又一实例,段可对应于若干电影片段,其任一者可具有一个视频片段和一个音频片段,且电影片段可在解码时间上连续。虽然图4中未描绘,但所述用于根据HTTP串流发信号通知视频重放的表示的信息的技术可适用于媒体节目的任何标头信息,例如分段文件(例如,电影表示、电影段、电影片段)的标头信息。
MPD432可被视为节目430的标头信息。MPD432可包括描述一个或一个以上表示440A到440C的信息。客户端装置可检索MPD432以便选择表示440A到440C中的一者或一者以上的全部或一部分用于串流重放。表示440还可包括片段标头443。片段标头443可包括特定针对于表示440A到440C的特定片段442的信息。如同MPD432,片段标头443可为可由HTTP客户端装置存取,例如,以用于选择一个或一个以上表示440A到440C的一个或一个以上片段442。
表示的片段442可包括或可不包括IDR或ODR存取点。对于一些表示,片段442可仅包括单个IDR存取点。可在节目430的标头信息(例如,图4的MPD432)中或在节目430的一个或一个以上片段442的标头信息443中发信号通知一个或一个以上IDR存取点。本发明的一个方面针对于在MPD432、片段标头443或节目430的其它标头信息中的一者或一者以上中发信号通知ODR存取点。因此,HTTP客户端可被提供用于开始节目430的串流、解码和/或重放的增大数目的时间选项。
在一些实例中,电影可为两个小时或更长。表示所述电影的节目430或表示可包括多个按时间布置(按重放时间次序)的电影片段,其可表示整个呈现的相对较短部分。举例来说,每一电影片段可表示若干秒或为若干分钟长。根据HTTP串流,客户端装置可请求在所述电影的特定时间点处重放分段文件。为了这样做,客户端装置可向提供所述表示的服务器提交获取或部分获取请求。HTTP获取请求可针对于特定URL或URN,以便检索与URL或URN相关联的整个文件。HTTP部分获取也针对于URL或URN,但进一步指定所述文件的字节范围来检索。
根据本发明的技术,电影表示440的一些片段442可包括发信号通知特定片段是否包括IDR存取点的标头信息。在一些情况下,如果电影片段仅包括IDR作为电影片段的第一帧,那么客户端装置可不得不在视频片段的开始或其它特定时间位置处开始重放。一些电影片段可不包括IDR存取点,且仅包括一个或一个以上ODR存取点。在一些实例中,客户端装置可不能够在视频片段中的任何点处开始重放。
视频片段可表示若干秒或甚至数分钟的视频数据。因此,假如仅发信号通知IDR存取点,那么客户端可被提供用于开始重放的有限选项。举例来说,可能需要用户观看视频呈现的已经观看过的部分来返回到所述呈现的特定时间点,例如,如果所述用户停止重放且接着在后续观看期间请求从特定时间位置恢复重放的话。作为另一实例,客户端装置可需要下载视频呈现的比在用户所请求的时间位置或客户端装置起始的时间位置(例如,其中客户端装置已请求节目的替代表示,例如其中带宽条件已经改变)处开始解码/重放所需要的帧多的帧。此外,一些视频片段可不包括IDR存取点。
通过在分段文件、视频表示或视频片段的标头信息中发信号通知ODR存取点,可改进用于HTTP视频串流的扫描和查找功能性。举例来说,在用于HTTP串流的已知技术可仅在较小数目的片段和/或片段内的位置处提供串流/解码/重放开始的情况下,本发明的技术可提供用于重放的增大数目的随机存取点。本发明的技术还可适用于包括大量GOP间解码依赖性的视频表示。
本发明的其它方面提供用于发信号通知分段文件或呈现的I帧的字节范围以用于电影表示的高速重放(例如,快进、倒退)的目的。根据这些方面,可向客户端装置发信号通知电影呈现的一个或一个以上I帧的字节范围,使得客户端装置可请求、接收和/或解码电影表示的I帧以用于高速地显示视频表示(例如,通过仅显示视频表示的I帧或可用I帧的子集)的目的。
本发明的技术可应用于遵照ISO基础媒体文件格式、可缩放视频译码(SVC)文件格式、高级视频译码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式和/或多视图视频译码(MVC)文件格式中的任一者的视频文件。所述ISO基础媒体文件格式经设计以含有呈灵活、可扩展的格式的用于呈现的时控媒体信息,所述灵活、可扩展的格式促进媒体的互换、管理、编辑和呈现。ISO基础媒体文件格式(ISO/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媒体而且用于使用此文件格式系列的其它组织所使用的媒体类型的经定义的样本条目格式。
对元数据的支持大体上采取两种形式。首先,可将时控元数据存储于适当轨道中,在需要时与其所描述的媒体数据同步。其次,可存在对附接到电影或个别轨道的非时控元数据的一般支持。结构支持为一般的,且如在媒体数据中,允许元数据资源存储于所述文件中的别处或存储于另一文件中。另外,可为这些资源指定名称且可保护这些资源。
如上文所论述,ISO基础媒体文件格式扩展的一个实例为AVC文件形式。根据AVC文件格式创建的分段文件可包括作为参数集的NAL单元,所述参数集包括序列参数集(SPS)和图片参数集(PPS)。参数集可与视频的基本流相关联,所述基本流可包括在一个或一个以上视频轨道中。在一些实例中,参数集可在与视频的基本流不同的轨道(参数集轨道)中。参数集轨道可为含有作为SPS和/或PPS NAL单元的样本的参数集基本流。SPS和PPS NAL单元可包括一个或一个以上SEI消息,所述SEI消息包括不为解码来自VCLNAL单元的经译码图片样本所必要的信息。包括SEI消息的NAL单元的位置不受限制,只要任何SEI消息存在于解码时间在使用所述SEI消息的任何图片之前的样本中。
如上文还论述,ISO文件格式扩展的其它实例包括SVC和MVC文件格式。SVC和MVC还可被视为上文所描述的AVC文件格式的扩展。根据SVC和MVC格式,视频的多个层/视图可包含在单个视频轨道或多个视频轨道中。SVC和MVC文件格式规范可提供使得能够在以各种组织呈现层/视图时构造操作点的工具。
渐进式下载是用以描述通常使用HTTP协议的数字媒体分段从服务器到客户端的传送的术语。当由计算机起始时,消费者可在下载完成之前开始媒体的重放。串流媒体与渐进式下载之间的差别在于,正存取数字媒体的最终用户装置如何接收并存储数字媒体数据。能够进行渐进式下载重放的媒体播放器依赖于位于文件的标头中的元数据为完整的以及在从网络服务器下载数字媒体文件时对其进行本地缓冲。在指定量的数据变得可为本地重放装置所用时,所述媒体将开始播放。此指定量的缓冲可由编码器设定中的内容的制作者嵌入到文件中,且可通过媒体播放器所强加的额外缓冲器设定来加强。
使用HTTP进行视频串流具有一些优点,且基于HTTP的视频串流服务正变得风行。HTTP串流的一些优点包括可使用现有因特网组件和协议,使得不需要做出新的努力来开发用于经由网络输送视频数据的新技术。其它输送协议(例如,RTP有效负载格式)需要中间网络装置(例如,中间盒)知晓媒体格式和信令上下文。而且,HTTP串流可为客户端驱动的,这避免许多控制问题。举例来说,为了利用所有特征来获得最佳性能,服务器可跟踪尚未得到应答的包的大小和内容。服务器还可分析文件结构并重构客户端缓冲器的状态以做出RD最佳切换/精简决策。另外,可满足对位流变化的约束以便遵从所协商的简档。HTTP在实施HTTP1.1的网络服务器处可能不需要新的硬件或软件实施方案。HTTP串流还可提供TCP友好性和防火墙穿越。本发明的技术可改进视频数据的HTTP串流以克服与带宽有关的问题,例如通过提供位速率调适。
视频压缩标准(例如,ITU-T H.261、H.262、H.263、MPEG-1、MPEG-2和H.264/MPEG-4第10部分)利用运动补偿时间预测来减少时间冗余。编码器使用来自一些先前经编码图片(本文中还称作帧)的运动补偿预测以根据运动向量来预测当前经译码图片。在典型视频译码中,存在三种主要图片类型。所述三种主要图片类型为经帧内译码图片(“I图片”或“I帧”)、预测图片(“P图片”或“P帧”)和双向预测图片(“B图片”或“B帧”)。P图片的块可经帧内译码或参考一个其它图片来预测。在B图片中,块可从一个或两个参考图片来预测,或可经帧内译码。这些参考图片可在时间次序上位于当前图片之前或之后。
3GPP文件格式(3GPP)为ISO媒体基础文件格式的扩展的另一实例。3GPP为由第三代合作伙伴计划(3GPP)针对3G UMTS多媒体服务界定的多媒体容器格式。其通常在3G移动电话和其它具有3G功能的装置上使用,但还可在一些2G和4G电话和各种其它装置上起作用。3GPP文件格式是基于ISO基础媒体文件格式。最近的3GP在3GPP TS26.244“透明的端到端包交换串流服务(PSS);3GPP文件格式(3GP)(Transparent end-to-end packetswitched streaming service(PSS);3GPP file format(3GP))”中指定。3GPP文件格式如同MPEG-4第2部分或H.263或MPEG-4第10部分(AVC/H.264)存储视频流。3GPP允许以ISO基础媒体文件格式(MPEG-4第12部分)使用AMR和H.263编解码器,因为3GPP指定在ISO基础媒体文件格式中使用样本条目和模板字段以及界定编解码器所参考的新盒。对于以3GP文件存储MPEG-4媒体特定信息,3GP规范参考MP4和AVC文件格式,所述MP4和AVC文件格式也基于ISO基础媒体文件格式。MP4和AVC文件格式规范描述以ISO基础媒体文件格式使用MPEG-4内容。
3GPP文件格式可支持HTTP串流。在一些实例中,3GPP文件格式可包括媒体呈现描述MPD(例如,如图4中所说明的MPD432)。MPD可包括不同替代表示(例如,具有不同质量的视频服务)的描述,且所述描述可包括(例如)代码、简档和等级信息。MPD可不为包括视频数据的3GPP文件的一部分。
图5为描绘用于视频节目的表示540(例如,以上图4中说明的表示440A到440C中的一者)的一个实例的框图。图5的实例描绘根据3GPP文件格式的表示540。仅出于解释本发明的技术的目的来提供图5的表示540,且其既定为非限制性的。本发明的技术可应用于视频数据的任何数字表示,而不管本文中是否明确地提及。
如图5中展示,表示540包括电影盒(moov)544、段索引盒(sidx)570和一个或一个以上电影片段(moof)546。为了易于说明,在图5实例中仅描绘一个电影片段546。典型的电影表示540可包括多个电影片段546,如图4中描绘。
电影盒544可包括特定针对于表示540的各种信息。举例来说,电影盒544可指示例如用于串流所述电影表示的所要位速率等信息。电影盒544可代替地或另外地包括特定针对于片段546的信息的一个或一个以上指示。举例来说,电影盒544可包括指示表示中所含有的多个片段546的信息、对应于一个或一个以上片段546的开始和/或结束的重放时间和/或表示540的片段546的位范围的一个或一个以上指示。
表示540可进一步包括一个或一个以上段索引盒570。段索引盒570可在表示540的一个或一个以上片段546之前。在一些实例中,段索引盒570可在表示540的每一片段546之前(例如,见图4)。在其它实例中,段索引盒570可在表示的每一片段之前,其中多个片段被布置为一个电影段。
段索引盒570可经配置以发信号通知与用于片段546的随机存取功能性相关的信息。举例来说,根据已知实施方案,段索引盒570可指示片段546的IDR存取点。段索引盒570可进一步指示包括IDR存取点的片段(参考片段)的字节偏移(参考偏移)。段索引盒570可进一步指示参考片段的第一样本的时序信息(参考增量时间)。段索引盒可进一步指示当前电影片段(例如,在段索引盒570之后的片段)是否包括随机存取点(含有RAP)。段索引盒570可进一步指示电影片段546的第一样本与电影片段546的第一随机存取点之间的时序差异。
以下伪码为根据一些技术的可用以实施段索引盒570的代码的一个实例。以下伪码描述可用于段索引盒数据结构的一些变量。这些变量大体上对应于上文所描述的类似命名的变量。
电影表示540的段索引盒570的一些实施方案可遭受各种缺点。举例来说,段索引盒570的一些实施方案仅经配置以发信号通知用于视频片段546的IDR存取点。此外,在一些情况下,电影片段546可以作为IDR随机存取点的帧来开始。在这些情况下,段索引盒570的实施方案不发信号通知第一帧为IDR存取点。而是,仍发信号通知片段的第一样本与信号的第一随机存取点之间的差的时序信息(例如,参考增量时间)。这可为不合需要的,因为段索引盒570可能在一些情况下递送不需要的信息。
段索引盒570的一些实施方案可进一步为不合需要的,因为相对于电影片段的开始(第一帧)来呈现IDR RAP的信号字节偏移。因而,在一些情况下,片段546的所有帧可需要由客户端装置下载,即使在IDR RAP出现在视频片段546的第一帧之后的某时间处的情况下也是如此,但在IDR RAP之前的样本可不进行解码用于重放,因此浪费了网络连接的有价值的带宽。
本发明针对于经改进的用于发信号通知视频呈现(例如,视频表示的视频片段)的ODR RAP和/或与用于视频表示的扫描和/或查找功能性相关的其它信息的技术。本发明进一步针对于发信号通知视频片段或视频表示的I帧的字节范围。发信号通知的字节范围可由客户端装置使用来请求一个或一个以上发信号通知的I帧以便提供视频呈现的高速版本以用于快进或倒退操作的目的。
出于解释的目的,将本发明的技术描述为其应用于根据3GPP文件格式的视频表示的段索引盒570。所属领域的技术人员将认识到,本发明的技术适用于用于重放的移动图片的数字表示的任何其它格式。此外,按照在特定针对于分段文件的一个或一个以上片段的标头信息中发信号通知ODR存取点、其它信息和/或I帧的字节范围来描述本发明的技术。所属领域的技术人员将认识到,如本文中所描述的标头信息可在分段文件的其它等级处(例如在大体针对整个电影表示的MPD文件(分段文件等级)中、在特定针对于特定表示的标头信息中或在特定针对于电影表示的特定段的标头信息中)发信号通知ODR存取点、I帧字节范围或其它信息。
图6为说明符合本发明的技术的可通过电影呈现(例如,图5中说明的呈现540)的段索引盒670发信号通知的各种信息的框图。段索引盒670可为经配置以存储与一个或一个以上分段文件相关的信息的数据结构。在一些实例中,段索引盒670可包括图6中所说明的信息的子集,或可包括图6中说明的所有信息。下文呈现符合本发明的技术的可用以实施段索引盒670的伪码的一个实例:
以上伪码定义符合本发明的技术的可用以在媒体段的段索引盒数据结构中发信号通知与串流媒体相关的信息的多个变量。以上变量大体上对应于下文参看图6描述的类似命名的信令。
在一个实例中,来自以上伪码的值contains_RAP可根据以下语义定义来定义:“contains_RAP:当参考电影片段时,那么在用于具有ID reference_track_id的轨道的那个电影片段内的轨道片段含有至少一个随机存取点的情况下此值可为2,在用于具有IDreference_track_id的轨道的那个电影片段内的轨道片段含有作为随机存取点的第一样本的情况下此值可为1;否则,将此值设置为0。当参考段索引时,那么仅在那个段索引中的参考中的任一者将此值设置为1或2的情况下应将此值设置为1或2,否则设置为0。”
以下表1提供contains_RAP的值以及每一值的语义含义的实例集合。
表1
contains_RAP值 | 语义意义 |
0 | 未含有随机存取点 |
1 | 含有随机存取点作为电影片段或轨道片段的第一样本 |
2 | 含有随机存取点,但不作为第一样本 |
3 | 保留 |
在一个实例中,来自以上伪码的值RAP_type可根据以下语义定义来定义:“此值指定电影片段的所参考轨道中所含有的随机存取点的类型。”
以下表2提供用于RAP_type的值以及每一值的语义含义的实例集合。
表2
在一个实例中,如图6中所说明,段索引盒670包括视频片段是否包括随机存取点的至少一个指示(含有RAP601)。含有RAP601可指示电影片段是否包括IDR或ODR存取点中的任一者或两者。含有RAP601可进一步指示电影片段的第一样本是否为随机存取点。含有RAP601可改为发信号通知电影片段不包括任何随机存取点。
在一个特定实例中,如果电影片段包括至少一个随机存取点,那么可向含有RAP601指派值2。如果电影片段包括作为所述片段的第一样本的至少一个随机存取点,那么可向含有RAP601指派值1。如果电影片段不包括任何随机存取点,那么可向含有RAP指派值0。
如图6的实例中还说明,段索引盒670可包括随机存取点类型的至少一个指示(RAP类型602)。RAP类型602可指示IDR存取点是否为视频片段中所含有的第一随机存取点。RAP类型602可进一步指示ODR存取点是否为视频片段的第一随机存取点。RAP类型602可进一步指示ODR为视频片段的第一随机存取点,且视频片段还包括在ODR存取点之后的IDR。在ODR存取点之后的IDR存取点可被称为后IDR存取点。
在一个特定实例中,在IDR存取点为视频片段中所含有的第一随机存取点的情况下,可向RAP类型602指派值00(0)。根据此实例,在ODR存取点为视频片段的第一随机存取点的情况下,可向RAP类型602指派值01(1)。还根据此实例,在ODR为视频片段的第一随机存取点且视频片段还包括在ODR存取点之后的IDR的情况下,可向RAP类型602指派值10(2)。
如图6的实例中还说明,段索引盒670可包括随机存取点数据偏移的至少一个指示(RAP数据偏移旗标603)。RAP数据偏移旗标603可指示是否应进一步发信号通知RAP的字节偏移。举例来说,RAP数据偏移旗标603可指示当视频片段的第一随机存取点不是所述片段的轨道的第一样本时。在一个特定实例中,当第一RAP不是电影片段的所参考轨道的第一样本时,可向RAP数据偏移旗标603指派值1。根据此实例,如果第一RAP为电影片段的所参考轨道的第一样本,那么可向RAP数据偏移旗标603指派值0。在一个实例中,可仅在RAP类型602被指派值2(例如,视频片段在所述片段的第一RAP之后包括IDR)时向RAP数据偏移旗标603指派值1。
如图6的实例中还说明,段索引盒670可包括ODR RAP的分解时间(解码时间)与呈现时间之间的差的至少一个指示(增量dt pt604)。在一个特定实例中,可向增量dt pt指派表示ODR RAP的分解时间与呈现时间之间的时序差的若干分钟、秒、时钟周期或其它指示的数字值。
如图6的实例中还说明,段索引盒670可包括具有在ODR RAP之前的呈现时间和在ODR RAP之后的分解(解码)时间的视频片段或呈现的多个样本(帧)的至少一个指示(数目跳跃样本605)。在一个特定实例中,可向数目跳跃样本指派表示具有在ODR RAP之前的呈现时间和在ODR RAP之后的分解时间的多个样本的数字值。
如图6的实例中还说明,段索引盒670可包括第一IDR RAP与视频片段的第一样本之间的解码时间差的至少一个指示(后IDR RAP增量时间606)。如果RAP类型602被指派值2,那么可向后IDR RAP增量时间606指派指示第一IDR RAP与视频片段的第一样本之间的解码时间差(例如,多个帧、字节范围、时钟周期数目或解码时间差的其它指示)的数字值。
如图6的实例中还说明,段索引盒670可包括电影片段的第一字节与电影片段的第一样本的第一字节的偏移的至少一个指示(头部偏移607)。头部偏移607可指示视频片段的标头信息的字节长度。在一个特定实例中,可向头部偏移607指派指示视频片段的第一字节与视频片段的第一帧之间的字节偏移的数字值,例如标头的多个字节或标头的字节范围。在一个实例中,在电影片段包括一个以上轨道的情况下可向头部偏移607指派值0。
如图6的实例中还说明,段索引盒670可包括随机存取点的第一字节与电影片段的第一字节之间的字节偏移的至少一个指示(增量偏移608)。在一个特定实例中,可向增量偏移607指派指示随机存取点的第一字节与电影片段的第一字节之间的字节偏移的数字值,例如随机存取点的第一字节与电影片段的第一字节之间的多个字节或字节范围。
如图6的实例中还说明,段索引盒670可包括后IDR RAP的第一字节与电影片段的第一字节之间的字节偏移的至少一个指示(后IDR增量偏移609)。在一个特定实例中,可向后IDR增量偏移609指派指示后IDR RAP的第一字节与电影片段的第一字节之间的多个字节或指示后IDR RAP的第一字节与电影片段的第一字节之间的差的字节范围的数字值。
如图6中展示的头部偏移607、增量偏移608和/或后IDR增量偏移609的实施方案可为有利的,因为可使用较少位(例如,8个位)来发信号通知头部偏移(例如,电影片段或呈现的标头信息的字节的数目)。根据现有技术,可使用32个位来发信号通知视频片段的头部偏移,以便考虑在电影片段中存在额外信息(例如,盒)和/或电影片段包括多个轨道的情况。
如图6的实例中还说明,段索引盒670可进一步或代替地包括片段的一个或一个以上I帧的字节范围的至少一个指示(I帧字节范围610)。I帧字节范围610可向客户端装置指示I帧的字节范围,使得客户端装置可选择性地请求、接收和/或解码I帧以提供视频呈现的高速版本(例如,快进、快退)。在一些实例中,客户端装置可仅请求、接收和/或解码所述片段的所指示的I帧。根据此实例,客户端装置可呈现视频呈现的高速版本,而不请求、接收和/或解码视频片段的所有帧(例如,P帧或B帧),进而减少经传送以呈现视频片段的高速版本的数据的量。
如图6的实例中还说明,段索引盒670可进一步或代替地包括视频片段的I帧的最大偏移的至少一个指示(I帧最大偏移611)。I帧最大偏移611可针对视频表示的一个或一个以上片段描述所述片段可能包括至少一个I帧所在的所述片段的字节范围。在一个实例中,客户端装置可接收I帧最大偏移611且仅请求视频片段的由I帧最大偏移611指示的部分。根据此实例,客户端装置可接收所请求的字节范围的帧,且至少解码所请求的字节范围的I帧以提供包括所述片段的视频表示的高速版本(例如,快进、快退)。
如关于图6所描述的段索引盒670中包括的各种信息可由HTTP客户端装置用来获取媒体以用于串流重放的目的。举例来说,HTTP服务器装置可使电影呈现的场地的一个或一个以上段索引盒670可供客户端装置存取。客户端装置可审阅段索引盒670的信息,且使用所述信息来确定串流媒体的请求。举例来说,客户端装置可基于段索引盒670的信息来确定在视频呈现中的什么时间位置(例如,存取点)处可开始串流/解码/重放。响应于确定一个或一个以上存取点,客户端装置可起始用于串流数据的获取或部分获取请求。获取或部分获取请求可关于待由服务器装置发射到客户端装置用于解码/重放的片段或片段的一部分。
本发明的技术可提供用于开始串流、解码和/或重放移动图片呈现的经改进粒度。举例来说,通过发信号通知用于视频片段的一个或一个以上ODR存取点的识别,客户端装置可在表示中存取比仅允许发信号通知IDR存取点和/或帧等级信令(例如,经由图片等级SEI消息,如上文所描述)的现有技术多的开始点。ODR存取点的帧等级信令可为不利的,因为可需要客户端装置获取并解码视频呈现的整个片段以便确定ODR存取点的位置。因而,本发明的技术实现用于针对串流视频应用选择存取点的经改进粒度,而没有视频呈现帧的不必要传送和/或解码。
另外,本发明的技术可使得具有不同复杂性的客户端装置能够在包括IDR和ODR存取点两者的视频片段中选择IDR或ODR存取点。举例来说,段索引盒670的RAP类型字段602可向客户端装置指示片段是否含有IDR和ODR存取点两者。如果客户端装置经配置以在ODR存取点处开始接收/解码/重放,那么客户端装置可选择ODR存取点用于开始解码/重放。然而,如果客户端装置仅经配置以从IDR存取点开始解码/重放,那么客户端装置可跳过ODR存取点且在IDR存取点处开始。
本发明的各种技术可进一步允许减少用于解码和/或重放的不必要数据的发射。举例来说,通过发信号通知ODR图片的呈现时间与合成时间之间的时序差(例如,经由图6的实例中的增量dt pt604),可跳过在ODR图片之前的样本的串流和/或解码。因而,客户端装置不需要接收/解码这些样本,因此减少重放视频呈现所消耗的带宽和/或处理功率的量。
作为另一实例,通过发信号通知电影片段的各种方面的字节偏移(例如,头部偏移607、增量偏移608和/或后IDR增量偏移609)可允许跳过发射对应于在随机存取点之前的样本的数据或解码不需要的其它数据。
作为另一实例,通过发信号通知视频片段的I帧的字节范围(例如,I帧字节范围610、I帧最大偏移611),客户端装置可仅请求提供视频呈现的高速版本所需要的那些帧。与用于提供视频表示的高速版本的其它技术相比,此技术可为有益的,因为不需要出于视频呈现的高速重放(例如,快进、快退)的目的来创建特定表示。而是,现有呈现的帧可用以提供高速表示。此外,可减小提供视频表示的高速版本所需要的数据的量(例如,发射、接收、解码)。
下文呈现符合本发明的技术的可用以实施经配置以发信号通知与随机存取点相关的信息的段索引盒的伪码的另一实例:
根据以上伪码实例,RAP_first_sample可指示媒体分段的第一样本是否为RAP。举例来说,对于参考条目的第一样本为RAP,RAP_first_sample可具有值1。RAP_first_sample可具有值0以指示参考的第一样本不是RAP。RAP_type可指示媒体分段中所含有的RAP的类型。举例来说,RAP_type可具有值0以指示媒体分段含有IDRRAP。RAP_type可具有值1以指示媒体分段含有ODR RAP。Delta_PT可指示按呈现次序在ODR RAP之后的第一样本的呈现(合成)时间与解码时间之间的时间差。Number_skip_samples可指示具有在ODR RAP之前的呈现时间和在ODR RAP之后的分解时间的多个样本,所述ODR RAP可为媒体分段的第一RAP。
在图6中未说明的另一实例中,电影表示的MPD文件可经配置以发信号通知与ODR和/或IDR RAP相关的信息。举例来说,MPD可包括语法元素RAPAsODR,其可包含二进制旗标值。RAPAsODR值可经设置以指示一些随机存取点是否为ODR。也就是说,在一些实例中,可将RAPAsODR值设置为值“真”以指示所述视频序列中的对应于MPD的至少一个随机存取点为ODR帧,但可将其设置为值“假”以指示所有随机存取点为IDR帧。
图7为大体上说明符合本发明的技术的操作HTTP客户端装置的方法的一个实例的流程图。所述方法包括在客户端装置(例如,图1中所说明的A/V目的地装置40)处从服务器装置(例如,图1中所说明的A/V源装置20)接收媒体分段(例如,图3中所说明的开放GOP310)的开放解码刷新随机存取点(例如,图3中所说明的帧320I)的指示(701)。至少一个帧的编码信息指示媒体分段的按解码次序在ODR RAP帧之后的至少一个帧可能不被正确解码,且媒体分段的按显示次序在ODR RAP帧之后的每一帧可在不依赖于按显示次序在ODR RAP之前的帧的内容的情况下被正确解码。所述方法进一步包括由客户端装置向服务器装置发送检索以所指示的ODR RAP开始的媒体数据流的至少一个请求(702)。
图8为说明符合本发明的技术的操作HTTP服务器装置的方法的一个实例的流程图。所述方法包括接收包含媒体分段的开放解码刷新(ODR)随机存取点(RAP)帧的经编码视频帧序列(801)。媒体分段的按解码次序在ODR RAP帧之后的至少一个帧可能不被正确解码,且媒体分段的按显示次序在ODR RAP帧之后的每一帧可在不依赖于按显示次序在ODR RAP之前的帧的内容的情况下被正确解码。所述方法进一步包括产生ODRRAP的位置的指示(802)。所述方法进一步包括输出所述指示(803)。
图9为说明操作HTTP客户端装置以提供视频表示的高速版本的方法的一个实例的流程图。所述方法包括接收视频片段的至少一个经帧间译码帧(I帧)的字节范围的指示(901)。所述方法进一步包括向服务器装置发送接收所述至少一个I帧的请求(902)。所述方法进一步包括使用所述至少一个所接收的I帧来呈现视频表示的包括所述至少一个I帧的高速版本(903)。
图10为说明操作HTTP服务器装置以提供经帧间译码帧(I帧)的字节范围的指示的方法的一个实例的流程图。所述方法包括接收包含至少一个经帧间译码帧(I帧)的经编码视频帧序列(1001)。所述方法进一步包括产生所述至少一个I帧的字节范围的指示(1002)。所述方法进一步包括输出所述至少一个I帧的字节范围的指示(1003)。所述方法可进一步包括接收基于所述字节范围的指示来发射所述至少一个I帧的请求(例如,HTTP获取或部分获取请求)。客户端装置可请求所述至少一个I帧,且使用所述至少一个I帧来提供视频呈现的高速版本。
图11为说明符合本发明的技术的可由相应的HTTP客户端和服务器装置执行的步骤的一个实例的流程图。仅作为根据这些技术的可由相应的客户端和服务器装置执行的步骤的一个实例来出于示范性目的提供图11中所描绘的流程图。本发明的技术还可或改为利用比图11中所描绘的步骤多或少的步骤,或可以与所描绘和描述的次序不同的次序来执行所描绘的步骤。
一般来说,相对于图1的元件来描述图11的方法。举例来说,经指示为由服务器执行的步骤可由源装置20执行,而经指示为由客户端执行的步骤可由目的地装置40执行。然而,应理解,仅出于实例的目的来提供这些指示。一般来说,图11的方法可由任何成对的服务器和客户端装置来执行。
最初,如图11中所展示,源装置20的包封单元30可接收经编码视频数据(1101)。源装置20可经由网络连接(例如因特网)接收经编码视频数据。源装置20可代替地或另外地从一个或一个以上存储装置(在源装置20的内部或外部)接收经编码视频数据。所述数据可先前经编码,或视频编码器28可在运行中编码所述数据。作为又一实例,源装置20可(例如)在计算机产生的视频信息的上下文中产生所述数据,例如当执行视频游戏时,且视频编码器28可编码所产生的视频数据。包封单元30可接着将所接收的视频数据包封为视频片段(1102)。
另外,包封单元30可发信号通知视频片段的一个或一个以上IDR和ODR RAP的一个或一个以上位置(1103)。举例来说,包封单元30可发信号通知包括ODR RAP的媒体分段(例如,视频片段)的第一帧与对应于所述ODR RAP的帧之间的偏移。当媒体分段的第一帧为ODR RAP时,包封单元30可设置旗标或提供指示第一帧为ODR RAP的其它信息。包封单元30可进一步发信号通知具有在ODR RAP之前的呈现时间的多个样本(例如,多个帧)。同样,包封单元30可发信号通知媒体分段是否包括IDR和ODR两者。作为又一实例,包封单元30可发信号通知对应于ODR RAP的字节偏移。
目的地装置40可随后请求随机存取点信令信息,例如通过提交针对包括所述媒体分段的表示的标头信息的请求(1104)。举例来说,所述请求可为针对媒体呈现描述(MPD)文件的请求,如上文所描述。在另一实例中,所述请求可为针对一个或一个以上分段文件的段索引盒(SIDX)的请求。响应于所述请求,源装置20发送在步骤1103中所创建的IDR和ODR RAP的发信号通知的位置(1105)。
目的地装置40接着接收信号信息(1106)。之后,在此实例中,目的地装置40可接收跳跃到视频表示内的某一时间位置的请求(1107)。举例来说,目的地装置可从用户接收跳转到特定时间(在时间上)位置以进行视频重放的指示。在另一实例中,目的地装置可自身起始跳跃到某一时间位置,例如,在目的地装置已经检测到用于串流的带宽的改变或其它条件改变且响应于所检测到的带宽改变或其它条件改变而起始接收视频节目的替代表示的请求的情况下。
响应于跳跃到某一时间位置的请求,目的地装置40可确定最靠近所述时间位置的随机存取点(1108)。也就是说,目的地装置40可使用RAP信号信息来识别最靠近所请求的时间位置的RAP。在选择此RAP之后,目的地装置40可产生开始在所确定的RAP处开始的数据流的请求。举例来说,目的地装置40可产生检索包括所述RAP的整个片段的HTTP获取请求,例如当RAP为片段的第一帧时。作为另一实例,目的地装置40可使用发信号通知的信息来确定媒体分段内的RAP的开始字节位置。举例来说,假设媒体分段为N字节长,且RAP的数据在字节X处开始,其中0<X<N。目的地装置40可产生指定字节范围(X,N)的针对媒体分段的HTTP部分获取请求,以便检索对应于RAP直到文件的末端的数据。
此外,各种目的地装置可经配置以不同地使用发信号通知的信息。举例来说,一些目的地装置可足够复杂以在IDR与ODR RAP之间进行选择。另一方面,一些目的地装置可仅经配置以支持产生针对IDR RAP的请求。通过发信号通知IDR和ODR RAP两者,本发明的技术提供能够实施选择流的开始点的较细粒度的较复杂装置,而不隔离或排除传统装置或原本未经装配以利用ODR RAP的装置。
在产生所述请求之后,目的地装置40可将所述请求发送到源装置20(1109)。在接收所述请求(1110)之后,源装置20可通过基于所述请求以流的形式将视频数据发送到目的地装置40来做出响应(1111)。虽然为易于说明和理解而依序进行说明,但应理解,目的地装置40可产生多个接收整个视频数据流的HTTP获取和/或部分获取请求。在任何情况下,在接收视频数据之后,解包封单元38可解包封所述视频数据,视频解码器48可解码所述数据,且视频输出44可显示所述视频数据(1112)。
图12为说明符合本发明的技术的可由相应的HTTP客户端和服务器装置执行的步骤的一个实例的流程图。仅作为根据这些技术的可由相应的客户端和服务器装置执行的步骤的一个实例来出于示范性目的提供图12中描绘的流程图。本发明的技术还可或改为利用比图12中描绘的那些步骤多或少的步骤,或可按与所描绘和描述的次序不同的次序来执行所描绘的步骤。
一般来说,相对于图1的元件来描述图12的方法。举例来说,经指示为由服务器执行的步骤可由源装置20执行,而经指示为由客户端执行的步骤可由目的地装置40执行。然而,应理解,仅出于实例的目的来提供这些指示。一般来说,图12的方法可由任何成对的服务器和客户端装置来执行。
最初,如图12中展示,源装置20的包封单元30可接收经编码视频数据(1201)。源装置20可使用网络连接(例如因特网)接收经编码视频数据。源装置20可代替地或另外地从一个或一个以上存储装置(在服务器装置的内部或外部)接收经编码视频数据。所述数据可先前经编码,或视频编码器28可在运行中编码所述数据。作为又一实例,源装置20可(例如)在计算机产生的视频信息的上下文中产生所述数据,例如当执行视频游戏时,且视频编码器28可编码所产生的视频数据。包封单元30可接着将所接收的视频数据包封为视频片段(1202)。
另外,包封单元30可发信号通知经编码视频数据内的包括至少一个经帧内译码帧(I帧)的至少一个字节范围(1203)。举例来说,包封单元30可发信号通知用于一个或一个以上I帧自身的字节范围(例如,I帧的字节范围)。在一个此类实例中,包封单元30可通过发信号通知与经编码视频呈现的第一字节的字节偏移来发信号通知I帧的起始点。根据此实例,包封单元30可进一步通过发信号通知与经编码视频呈现的第一字节的字节偏移或通过发信号通知与I帧的起始点的字节偏移来发信号通知I帧的终点。在另一实例中,包封单元30可发信号通知经编码视频数据的包括所述至少一个I帧以及其它经帧间译码帧(例如,B和P帧)的字节范围。
目的地装置40可向源装置20发送针对I帧信号信息的请求(1204)。所述针对I帧信号信息的请求可包括针对用于一个或一个以上分段文件的一些或所有标头信息的请求。举例来说,所述请求可为针对媒体呈现描述(MPD)文件的请求,如上文所描述。在另一实例中,所述请求可为针对一个或一个以上分段文件的段索引盒(SIDX)的请求。响应于所述请求,源装置20可发送来自步骤1203的包括至少一个I帧的所发信号通知的一个或一个以上字节范围(1205)。目的地装置40可接收所述I帧信号信息(1206)。目的地装置40可接收(例如,从用户,或从一个或一个以上软件程序)重放视频呈现的高速版本(例如,视频呈现的快进、倒退或快退版本)的请求(1207)。在一个实例中,所述请求可包括来自用户的修改视频表示的重放以呈现视频呈现的高速版本的指示。
目的地装置可确定用于高速重放的I帧(1208)。举例来说,如果源装置20通过发信号通知用于一个或一个以上I帧自身的字节范围(例如,I帧的字节范围)来在步骤1203处发信号通知所述至少一个字节范围,那么目的地装置40可通过确定将针对高速重放使用(例如,发射、解码)发信号通知字节范围所针对的多个I帧中的哪些I帧来确定用于高速重放的一个或一个以上I帧。在另一实例中,如果源装置发信号通知包括至少一个I帧以及其它经帧间译码帧(例如,B和P帧)的字节范围,那么目的地装置可从所述一个或一个以上发信号通知的字节范围确定可用于高速重放的I帧。目的地装置40可向源装置20发送串流包括在步骤1208处确定的所述一个或一个以上I帧的媒体数据的请求(1209)。所述请求可为识别分段文件(例如,电影片段、段和/或表示)和所述分段文件的待响应于所述请求而串流的所要字节范围的部分获取请求。
源装置20可接收所述串流媒体数据的请求(1210)。响应于所述请求,源装置20可基于所述串流请求来串流媒体数据(1211)。目的地装置40可响应于所述请求来解码所接收的视频数据,且显示所接收的视频数据(1212)作为视频表示的高速(例如,快进、倒退、快退)版本。在一些实例中,源装置可仅解码在步骤1208处确定的媒体数据以供用以提供视频表示的高速版本。在一个实例中,目的地装置40可通过连续呈现由服务器在步骤1201处接收的经编码媒体数据中的在时间上由至少一个经帧间译码帧分开的所检索的媒体数据的两个或两个以上I帧来呈现视频表示的高速版本。
在一个或一个以上实例中,可以硬件、软件、固件或其任何组合来实施所描述的功能。如果以软件来实施,则功能可作为一个或一个以上指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来传输且由基于硬件的处理单元来执行。计算机可读媒体可包括对应于例如数据存储媒体的有形媒体的计算机可读存储媒体,或包括促进将计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包括计算机可读媒体。
借助于实例而非限制,所述计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接被适当地称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术而从网站、服务器或其它远程源发射指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波等无线技术包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包括连接、载波、信号或其它瞬时媒体,而是改为针对于非瞬时、有形的存储媒体。如本文中所使用,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合也应包括于计算机可读媒体的范围内。
可由例如一个或一个以***处理单元(CPU)、数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行指令。因此,如本文中所使用,术语“处理器”可指代上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编解码器中。而且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,包括无线手持机、集成电路(IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元来实现。而是,如上文所描述,各种单元可组合于编解码器硬件单元中或由交互操作的硬件单元的集合(包括如上文所描述的一个或一个以上处理器)结合合适的软件和/或固件来提供。
已描述了各种实例。这些和其它实例属于所附权利要求书的范围内。
Claims (50)
1.一种方法,其包含:
在客户端装置处从服务器装置接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内;
由所述客户端装置向所述服务器装置发送检索所述至少一个字节范围内的媒体数据的请求;以及
使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本。
2.根据权利要求1所述的方法,其中所述检索媒体数据的请求包含仅检索出现在所述媒体分段内的所述至少一个字节范围内的I帧的请求。
3.根据权利要求1所述的方法,其中使用所述至少一个字节范围内的所述所检索的媒体数据来呈现视频呈现的包括所述至少一个I帧的高速版本包含:
连续呈现所述所检索的媒体数据的两个或两个以上I帧,其中所述两个或两个以上I帧在时间上由至少一个经帧间译码帧分开。
4.根据权利要求1所述的方法,其中使用所述至少一个字节范围内的所述所检索的媒体数据来呈现视频呈现的包括所述至少一个I帧的高速版本包含呈现所述视频呈现的快进或快退版本。
5.根据权利要求1所述的方法,其中接收所述至少一个字节范围的所述指示包含接收从所述媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围的指示。
6.根据权利要求1所述的方法,其中接收所述至少一个字节范围的所述指示包括接收最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
7.根据权利要求1所述的方法,其中所述请求为检索所述媒体分段内的由所述至少一个字节范围指示的流的包括字节范围的指示的超文本传送协议HTTP获取请求。
8.一种装置,其包含:
用于在客户端装置处从服务器装置接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示的装置,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内;
用于由所述客户端装置向所述服务器装置发送检索所述至少一个字节范围内的媒体数据的请求的装置;以及
用于使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本的装置。
9.根据权利要求8所述的装置,其中所述检索媒体数据的请求包含仅检索出现在所述媒体分段内的所述至少一个字节范围内的I帧的请求。
10.根据权利要求8所述的装置,其中所述用于使用所述至少一个字节范围内的所述所检索的媒体数据来呈现视频呈现的高速版本的装置连续呈现所述所检索的媒体数据的两个或两个以上I帧,其中所述两个或两个以上I帧在时间上由至少一个经帧间译码帧分开。
11.根据权利要求8所述的装置,其中所述用于使用所述至少一个字节范围内的所述所检索的媒体数据来呈现视频呈现的高速版本的装置呈现所述视频呈现的快进或快退版本。
12.根据权利要求8所述的装置,其中所述用于接收所述至少一个字节范围的所述指示的装置接收从所述媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围的指示。
13.根据权利要求8所述的装置,其中所述用于接收所述至少一个字节范围的所述指示的装置接收最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
14.根据权利要求8所述的装置,其中所述请求为检索所述媒体分段内的由所述至少一个字节范围指示的流的包括字节范围的指示的超文本传送协议HTTP获取请求。
15.一种计算机可读存储媒体,其存储经配置以致使计算装置进行以下操作的指令:
在客户端装置处从服务器装置接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内;
由所述客户端装置向所述服务器装置发送检索所述至少一个字节范围内的媒体数据的请求;以及
使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本。
16.根据权利要求14所述的计算机可读存储媒体,其中所述指令致使所述计算装置:
请求仅检索出现在所述媒体分段内的所述至少一个字节范围内的I帧。
17.根据权利要求14所述的计算机可读存储媒体,其中所述指令致使所述计算装置:
通过连续呈现所述所检索的媒体数据的两个或两个以上I帧来呈现视频呈现的包括所述至少一个I帧的高速版本,其中所述两个或两个以上I帧在时间上由至少一个经帧间译码帧分开。
18.根据权利要求14所述的计算机可读存储媒体,其中所述指令致使所述计算装置:
使用所述至少一个字节范围内的所述所检索的媒体数据来呈现所述视频呈现的快进或快退版本。
19.根据权利要求14所述的计算机可读存储媒体,其中所述至少一个字节范围的所述指示包含从所述媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围的指示。
20.根据权利要求14所述的计算机可读存储媒体,其中所述至少一个字节范围的所述指示包含最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
21.根据权利要求14所述的计算机可读存储媒体,其中所述请求为检索所述媒体分段内的由所述至少一个字节范围指示的流的包括字节范围的指示的超文本传送协议HTTP获取请求。
22.一种装置,其包含:
至少一个处理器,其经配置以:
接收表示经配置以按第一重放速度显示的视频呈现的媒体分段内的至少一个字节范围的指示,其中至少一个经帧内译码帧(I帧)出现在所述至少一个字节范围内;
向所述服务器装置发送检索所述至少一个字节范围内的媒体数据的请求;以及
使用所述至少一个字节范围内的所述所检索的媒体数据来按高于所述第一重放速度的第二重放速度呈现所述视频表示的包括所述至少一个I帧的高速版本。
23.根据权利要求22所述的装置,其中所述检索媒体数据的请求包含仅检索出现在所述媒体分段内的所述至少一个字节范围内的I帧的请求。
24.根据权利要求22所述的装置,其中所述至少一个处理器经配置以使用所述至少一个所接收的I帧来通过连续呈现所述所检索的媒体数据的两个或两个以上I帧来呈现视频呈现的包括所述至少一个I帧的高速版本,其中所述两个或两个以上I帧在时间上由至少一个经帧间译码帧分开。
25.根据权利要求22所述的装置,其中所述至少一个处理器经配置以使用所述至少一个所接收的I帧来呈现所述视频表示的快进或倒退版本。
26.根据权利要求22所述的装置,其中所述至少一个字节范围的所述指示包含从所述媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围的指示。
27.根据权利要求22所述的装置,其中所述至少一个字节范围的所述指示包含最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
28.根据权利要求22所述的装置,其中所述请求为检索所述媒体分段内的由所述至少一个字节范围指示的流的包括字节范围的指示的超文本传送协议HTTP获取请求。
29.一种方法,其包含:
接收包含至少一个经帧间译码帧(I帧)的经编码视频帧序列;
产生所述经编码视频帧序列内的字节范围的指示,其中至少一个I帧出现在所述至少一个字节范围内;以及
输出所述经编码视频帧序列内的字节范围的所述指示。
30.根据权利要求29所述的方法,其进一步包含:
接收检索所述经编码视频帧序列的由所述字节范围指示的一部分的请求;以及
响应于所述请求而输出所述经编码视频帧序列的由所述字节范围指示的所述部分。
31.根据权利要求30所述的方法,其中所述请求包含检索所述经编码视频帧序列内的所述字节范围的帧的包括所述字节范围的指示的超文本传送协议HTTP获取请求。
32.根据权利要求29所述的方法,其中所述经编码视频帧序列内的字节范围的所述指示指示所述经编码视频帧序列的仅一个或一个以上I帧的字节范围。
33.根据权利要求32所述的方法,其进一步包含:
接收检索所述经编码视频帧序列的由所述字节范围指示的一部分的请求;以及响应于所述请求而输出所述经编码视频帧序列的由所述字节范围指示的仅所述一个或一个以上I帧。
34.根据权利要求29所述的方法,其中所述经编码视频帧序列内的字节范围的所述指示包含从媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围。
35.根据权利要求29所述的方法,其中所述经编码视频帧序列内的字节范围的所述指示包含最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
36.一种装置,其包含:
用于接收包含至少一个经帧间译码帧(I帧)的经编码视频帧序列的装置;
用于产生所述经编码视频帧序列内的字节范围的指示的装置,其中至少一个I帧出现在所述至少一个字节范围内;以及
用于输出所述经编码视频帧序列内的字节范围的所述指示的装置。
37.根据权利要求36所述的装置,其进一步包含:
用于接收检索所述经编码视频帧序列的由所述字节范围指示的一部分的请求的装置;以及
用于响应于所述请求而输出所述经编码视频帧序列的由所述字节范围指示的所述部分的装置。
38.根据权利要求37所述的装置,其中所述请求包含检索所述经编码视频帧序列内的所述字节范围的帧的包括所述字节范围的指示的超文本传送协议HTTP获取请求。
39.根据权利要求36所述的装置,其中所述经编码视频帧序列内的字节范围的所述指示指示所述经编码视频帧序列的仅一个或一个以上I帧的字节范围。
40.根据权利要求39所述的装置,其进一步包含:
用于接收检索所述经编码视频帧序列的由所述字节范围指示的一部分的请求的装置;以及
用于响应于所述请求而输出所述经编码视频帧序列的由所述字节范围指示的仅所述一个或一个以上I帧的装置。
41.根据权利要求39所述的装置,其中所述经编码视频帧序列内的字节范围的所述指示包含从媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围。
42.根据权利要求39所述的装置,其中所述经编码视频帧序列内的字节范围的所述指示包含最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
43.一种计算机可读存储媒体,其存储经配置以致使计算装置进行以下操作的指令:
接收包含至少一个I帧的经编码视频帧序列;
产生字节范围的指示,其中至少一个I帧出现在所述至少一个字节范围内;以及输出所述经编码视频帧序列内的字节范围的所述指示。
44.根据权利要求43所述的计算机可读存储媒体,其中所述经编码视频帧序列内的字节范围的所述指示指示所述经编码视频帧序列的仅一个或一个以上I帧的字节范围。
45.根据权利要求43所述的计算机可读存储媒体,其中所述经编码视频帧序列内的字节范围的所述指示包含从媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围。
46.根据权利要求43所述的计算机可读存储媒体,其中所述经编码视频帧序列内的字节范围的所述指示包含最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
47.一种装置,其包含:
一个或一个以上处理器,其经配置以:
接收包含至少一个I帧的经编码视频帧序列;
产生所述经编码视频帧序列内的字节范围的指示,其中至少一个I帧出现在所述至少一个字节范围内;以及
输出所述经编码视频帧序列内的字节范围的所述指示。
48.根据权利要求47所述的计算机可读存储媒体,其中所述经编码视频帧序列内的字节范围的所述指示指示所述经编码视频帧序列的仅一个或一个以上I帧的字节范围。
49.根据权利要求47所述的计算机可读存储媒体,其中所述经编码视频帧序列内的字节范围的所述指示包含从媒体分段的第一字节到所述媒体分段的第一I帧的最后字节的字节范围。
50.根据权利要求47所述的计算机可读存储媒体,其中所述经编码视频帧序列内的字节范围的所述指示包含最大字节偏移,其中所述最大字节偏移指示多个媒体分段包括至少一个I帧所在的字节范围。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35974810P | 2010-06-29 | 2010-06-29 | |
US61/359,758 | 2010-06-29 | ||
US36388410P | 2010-07-13 | 2010-07-13 | |
US61/363,884 | 2010-07-13 | ||
US36643610P | 2010-07-21 | 2010-07-21 | |
US61/366,436 | 2010-07-21 | ||
US12/908,593 US9485546B2 (en) | 2010-06-29 | 2010-10-20 | Signaling video samples for trick mode video representations |
US12/908,593 | 2010-10-20 | ||
PCT/US2011/042447 WO2012003237A1 (en) | 2010-06-29 | 2011-06-29 | Signaling video samples for trick mode video representations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103081488A true CN103081488A (zh) | 2013-05-01 |
CN103081488B CN103081488B (zh) | 2017-02-15 |
Family
ID=44543758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180040188.7A Active CN103081488B (zh) | 2010-06-29 | 2011-06-29 | 发信号通知用于特技模式视频表示的视频样本 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2589222B1 (zh) |
JP (1) | JP5628422B2 (zh) |
KR (1) | KR101421390B1 (zh) |
CN (1) | CN103081488B (zh) |
WO (1) | WO2012003237A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109155877A (zh) * | 2016-05-23 | 2019-01-04 | 高通股份有限公司 | 分开的文件轨中的序列结束及位流结束网络抽象层(nal)单元 |
CN111859159A (zh) * | 2020-08-05 | 2020-10-30 | 上海连尚网络科技有限公司 | 信息推送、视频处理方法和设备 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6021385B2 (ja) * | 2012-03-30 | 2016-11-09 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム |
US20150067744A1 (en) * | 2013-08-27 | 2015-03-05 | Home Box Office, Inc. | Providing responsive video previews during rewind and fast forward |
CN103957471B (zh) | 2014-05-05 | 2017-07-14 | 华为技术有限公司 | 网络视频播放的方法和装置 |
KR101600469B1 (ko) * | 2014-07-16 | 2016-03-07 | 김재경 | 스트리밍 서비스를 위한 클라이언트 및 서버의 동작 방법 |
US9538137B2 (en) | 2015-04-09 | 2017-01-03 | Microsoft Technology Licensing, Llc | Mitigating loss in inter-operability scenarios for digital video |
EP3332553A4 (en) * | 2015-08-07 | 2019-03-27 | Mediatek Inc. | METHOD AND APPARATUS FOR BITSTRING DIRECT ACCESS AND SYNCHRONIZATION FOR MULTIMEDIA APPLICATIONS |
US9893877B2 (en) * | 2016-01-15 | 2018-02-13 | Analog Devices Global | Circuits, systems, and methods for synchronization of sampling and sample rate setting |
US12010367B2 (en) | 2020-09-30 | 2024-06-11 | Synamedia Limited | Broadcast in-home streaming |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060037057A1 (en) * | 2004-05-24 | 2006-02-16 | Sharp Laboratories Of America, Inc. | Method and system of enabling trick play modes using HTTP GET |
EP2046044A1 (en) * | 2007-10-01 | 2009-04-08 | Cabot Communications Ltd | A method and apparatus for streaming digital media content and a communication system |
US20090287841A1 (en) * | 2008-05-12 | 2009-11-19 | Swarmcast, Inc. | Live media delivery over a packet-based computer network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070157267A1 (en) * | 2005-12-30 | 2007-07-05 | Intel Corporation | Techniques to improve time seek operations |
CN103559165B (zh) * | 2007-01-05 | 2016-08-17 | 索尼克知识产权股份有限公司 | 包含连续播放的视频分配*** |
US20080168516A1 (en) * | 2007-01-08 | 2008-07-10 | Christopher Lance Flick | Facilitating Random Access In Streaming Content |
KR101019634B1 (ko) * | 2008-09-04 | 2011-03-07 | 에스케이 텔레콤주식회사 | 미디어 전송 시스템 및 방법 |
US9538142B2 (en) * | 2009-02-04 | 2017-01-03 | Google Inc. | Server-side support for seamless rewind and playback of video streaming |
-
2011
- 2011-06-29 EP EP11730837.9A patent/EP2589222B1/en active Active
- 2011-06-29 KR KR1020137002347A patent/KR101421390B1/ko active IP Right Grant
- 2011-06-29 WO PCT/US2011/042447 patent/WO2012003237A1/en active Application Filing
- 2011-06-29 JP JP2013518668A patent/JP5628422B2/ja active Active
- 2011-06-29 CN CN201180040188.7A patent/CN103081488B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060037057A1 (en) * | 2004-05-24 | 2006-02-16 | Sharp Laboratories Of America, Inc. | Method and system of enabling trick play modes using HTTP GET |
EP2046044A1 (en) * | 2007-10-01 | 2009-04-08 | Cabot Communications Ltd | A method and apparatus for streaming digital media content and a communication system |
US20090287841A1 (en) * | 2008-05-12 | 2009-11-19 | Swarmcast, Inc. | Live media delivery over a packet-based computer network |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109155877A (zh) * | 2016-05-23 | 2019-01-04 | 高通股份有限公司 | 分开的文件轨中的序列结束及位流结束网络抽象层(nal)单元 |
CN111859159A (zh) * | 2020-08-05 | 2020-10-30 | 上海连尚网络科技有限公司 | 信息推送、视频处理方法和设备 |
CN111859159B (zh) * | 2020-08-05 | 2024-07-05 | 上海连尚网络科技有限公司 | 信息推送、视频处理方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2012003237A1 (en) | 2012-01-05 |
JP5628422B2 (ja) | 2014-11-19 |
JP2013535866A (ja) | 2013-09-12 |
EP2589222A1 (en) | 2013-05-08 |
KR20130050958A (ko) | 2013-05-16 |
EP2589222B1 (en) | 2021-02-24 |
CN103081488B (zh) | 2017-02-15 |
KR101421390B1 (ko) | 2014-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103039087B (zh) | 用于发射经编码视频数据的方法和装置 | |
CN102986218B (zh) | 用于串流视频数据的视频切换 | |
CN103069828B (zh) | 提供用于串流传输视频数据的序列数据集 | |
CN103069799B (zh) | 发信号通知用于多路复用视频分量的数据 | |
CN103081488A (zh) | 发信号通知用于特技模式视频表示的视频样本 | |
CN102714715B (zh) | 用于文件格式轨迹选择的媒体提取器轨迹 | |
CN103026721A (zh) | 布置用于串流传输视频数据的子轨道片段 | |
CA2740119C (en) | System and method for storing multi-source multimedia presentations | |
WO2008148930A1 (en) | System and method for storing multiparty vtoeo conferencing presentations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |