CN102714715A - 用于文件格式轨迹选择的媒体提取器轨迹 - Google Patents
用于文件格式轨迹选择的媒体提取器轨迹 Download PDFInfo
- Publication number
- CN102714715A CN102714715A CN2010800412938A CN201080041293A CN102714715A CN 102714715 A CN102714715 A CN 102714715A CN 2010800412938 A CN2010800412938 A CN 2010800412938A CN 201080041293 A CN201080041293 A CN 201080041293A CN 102714715 A CN102714715 A CN 102714715A
- Authority
- CN
- China
- Prior art keywords
- track
- nal unit
- video
- extractor
- sample
- 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
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/188—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
一种视频译码设备可经配置以利用媒体提取器轨迹中的媒体提取器,所述媒体提取器参考单独轨迹的两个或两个以上不连续网络接入层NAL单元。一实例设备包括多路复用器以进行以下操作:基于经编码的视频数据来建构第一轨迹,所述第一轨迹包括包含NAL单元的视频样本,其中所述视频样本包括于存取单元中;建构包括提取器的第二轨迹,所述提取器识别所述第一轨迹的所述视频样本中的所述NAL单元中的至少第一NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;以及将所述第一轨迹和所述第二轨迹包括于至少部分遵照ISO基础媒体文件格式的视频文件中。所述经识别的NAL单元可处于单独轨迹中。
Description
本申请案主张以下美国临时申请案的权益:2009年9月16日申请的第61/243,030号美国临时申请案、2009年9月22日申请的第61/244,827号美国临时申请案、2010年1月11日申请的第61/293,961号美国临时申请案以及2010年1月15日申请的第61/295,261号美国临时申请案,所述临时申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及经编码的视频数据的传送。
背景技术
可将数字视频能力并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等。数字视频装置实施视频压缩技术,例如在由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4,第10部分,高级视频译码(AVC)定义的标准和此类标准的扩展中描述的视频压缩技术,以更有效地发射和接收数字视频信息。
视频压缩技术执行空间预测和/或时间预测以减小或移除视频序列中固有的冗余。对于基于块的视频译码来说,视频帧或切片可分割为宏块。每一宏块可经进一步分割。帧内译码(I)帧或切片中的宏块使用相对于邻近宏块的空间预测进行编码。帧间译码(P或B)帧或切片中的宏块可使用相对于同一帧或切片中的邻近宏块的空间预测或相对于其它参考帧的时间预测。
在已编码视频数据之后,可由多路复用器包化视频数据以供发射或存储。MPEG-2包括定义许多视频编码标准的传送等级的“系统”部分。MPEG-2传送等级系统可由MPEG-2视频编码器或遵照不同视频编码标准的其它视频编码器使用。举例来说,MPEG-4规定不同于MPEG-2的编码和解码方法的编码和解码方法,但实施MPEG-4标准的技术的视频编码器仍可利用MPEG-2传送等级方法。一般来说,对“MPEG-2系统”的提及指代由MPEG-2规定的视频数据的传送等级。MPEG-2规定的传送等级在本发明中也称为“MPEG-2传送流”,或简称为“传送流”。同样,MPEG-2系统的传送等级还包括程序流。传送流和程序流通常包括用于递送类似数据的不同格式,其中传送流包含包括音频数据和视频数据两者的一个或一个以上“程序”,而程序流包括一个包括音频数据和视频数据两者的程序。
已努力开发基于H.264/AVC的新视频译码标准。一种此标准是作为对H.264/AVC的可缩放扩展的可缩放视频译码(SVC)标准。另一标准为多视图视频译码(MVC),其变为对H.264/AVC的多视图扩展。MPEG-2系统规范描述经压缩的多媒体(视频和音频)数据流可如何与其它数据一起进行多路复用以形成适于数字发射或存储的单一数据流。在2006年5月的“信息技术-移动图片和相关联音频的一般译码:系统,建议H.222.0;国际标准化组织,ISO/IEC JTC1/SC29/WG11;移动图片和相关联音频的译码(InformationTechnology-Generic Coding of Moving Pictures and Associated Audio:Systems,Recommendation H.222.0;International Organisation for Standardisation,ISO/IECJTC1/SC29/WG11;Coding of Moving Pictures and Associated Audio)”中指定MPEG-2系统的最新规范。MPEG最近设计优于MPEG-2系统的MVC传送标准,且此规范的最新版本为“MVC的ISO/IEC 13818-1:2007/FPDAM4传送的研究(Study of ISO/IEC13818-1:2007/FPDAM4 Transport of MVC)”,MPEG doc.N10572,MPEG of ISO/IECJTC1/SC29/WG11(美国夏威夷毛伊岛,2009年4月)。
MVC的最新联合草案描述于JVT-AB204,“关于多视图视频译码的联合草案8.0(Joint Draft 8.0 on Multiview Video Coding)”(德国汉诺威第28次JVT会议,2008年7月)中,其可在http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zip.处获得。集成于AVC标准中的较新版本描述于JVT-AD007,“编者对ITU-T Rec.H.264|ISO/IEC 14496-10高级视频译码的草案修订-为ITU-T SG 16AAP批文(以集成形式)作准备(Editors′draft revision to ITU-T Rec.H.264|ISO/IEC 14496-10 Advanced VideoCoding-in preparation for ITU-T SG 16 AAP Consent(in integrated form))”(瑞士日内瓦第30次JVT会议,2009年2月)中,其可在http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zip处获得。
发明内容
一般来说,本发明描述用于在多轨迹视频数据格式中使用媒体提取器以形成媒体提取器轨迹的技术。本发明修改国际标准化组织(ISO)基础媒体格式以利用提取器,所述提取器能够参考一个或一个以上潜在不连续网络接入层(NAL)单元。此提取器可存在于ISO基础媒体格式文件的任何轨迹中。本发明还描述对第三代合作伙伴计划(3GPP)文件格式的修改以包括帧速率值作为轨迹选择箱(track selection box)的属性。本发明进一步关于对所述ISO基础媒体格式的多视图视频译码(MVC)扩展来描述使用所述提取器以支持MVC操作点的有效提取。
在一个实例中,一种用于编码视频数据的方法包括:通过源视频装置基于经编码的视频数据来建构第一轨迹,所述第一轨迹包括包含多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中;通过所述源视频装置建构包括提取器的第二轨迹,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件中;以及输出所述视频文件。
在另一实例中,一种用于编码视频数据的设备包括:编码器,其经配置以编码视频数据;多路复用器,其经配置以:基于所述经编码的视频数据来建构第一轨迹,所述第一轨迹包括包含多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中;建构包括提取器的第二轨迹,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件中;以及输出接口,其经配置以输出所述视频文件。
在另一实例中,一种用于编码视频数据的设备包括:用于基于经编码的视频数据来建构第一轨迹的装置,所述第一轨迹包括包含多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中;用于建构包括提取器的第二轨迹的装置,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二NAL单元为不连续的;用于将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件中的装置;以及用于输出所述视频文件的装置。
在另一实例中,一种计算机可读存储媒体包含指令,所述指令在执行时致使源装置的处理器进行以下操作:基于经编码的视频数据来建构第一轨迹,所述第一轨迹包括包含多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中;建构包括提取器的第二轨迹,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件中;以及输出所述视频文件。
在另一实例中,一种用于解码视频数据的方法包括:通过目的地装置的多路分用器接收至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件,所述视频文件包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;选择所述第二轨迹以进行解码;以及将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到所述目的地装置的视频解码器。
在另一实例中,一种用于解码视频数据的设备包括:视频解码器,其经配置以解码视频数据;以及多路分用器,其经配置以:接收至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件,所述视频文件包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;选择所述第二轨迹以进行解码;以及将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到所述视频解码器。
在另一实例中,一种用于解码视频数据的设备包括:用于通过目的地装置的多路分用器接收至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件的装置,所述视频文件包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;用于选择所述第二轨迹以进行解码的装置;以及用于将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到所述目的地装置的视频解码器的装置。
在另一实例中,一种计算机可读存储媒体以指令进行编码,所述指令在执行时致使目的地装置的处理器进行以下操作:在接收到至少部分遵照国际标准化组织(ISO)基础媒体文件格式的视频文件后,所述视频文件包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层(NAL)单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;选择所述第二轨迹以进行解码;以及将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到视频解码器。
在附图和以下描述内容中阐述一个或一个以上实例的细节。其它特征、目标和优点将从所述描述内容和图式且从权利要求书而显而易见。
附图说明
图1为说明音频/视频(A/V)源装置将音频数据和视频数据传送到A/V目的地装置的实例系统的框图。
图2为说明多路复用器的组件的实例布置的框图。
图3为说明实例文件的框图,所述实例文件包括具有视频样本的集合的第一轨迹和具有提取器的第二轨迹,所述提取器参考第一轨迹的视频样本的子集。
图4为说明包括两个相异提取器轨迹的另一实例文件的框图。
图5为说明包括子集轨迹和两个媒体提取器轨迹的另一实例文件的框图。
图6A-6C为说明文件的媒体数据箱的实例的框图,所述媒体数据箱包括各种媒体提取器轨迹的媒体提取器的实例。
图7为说明实例MVC预测型式的概念图。
图8-21为说明根据本发明的技术的媒体提取器的数据结构和可使用的其它支持的数据结构的各种实例的框图。
图22为说明用以信令轨迹选择箱的额外属性的实例经修改第三代合作伙伴计划(3GPP)轨迹选择箱的框图。
图23为根据本发明的技术的用于使用媒体提取器的实例方法的流程图。
具体实施方式
本发明的技术大体上针对增强国际标准化组织(ISO)基础媒体文件格式和ISO基础媒体文件格式的扩展。ISO基础媒体文件格式的扩展包括(例如)高级视频译码(AVC)文件格式、可缩放视频译码(SVC)文件格式、多视图视频译码(MVC)文件格式和第三代合作伙伴计划(3GPP)文件格式。一般来说,本发明的技术可用以产生呈ISO基础媒体文件格式和/或ISO基础媒体文件格式的扩展的媒体提取器轨迹。如下文更详细描述,在一些实例中,此类媒体提取器轨迹可用以支持超文本传送协议(HTTP)视频串流中的调适。在一些实例中,媒体提取器形成ISO基础媒体文件格式和/或ISO基础媒体文件格式的扩展(例如,AVC、SVC、MVC和3GPP)的部分以提取另一轨迹的整个样本从而形成新媒体提取器轨迹。
这些技术可由MPEG-2(动画专家组)系统(即,在传送等级细节方面遵照MPEG-2的系统)使用。MPEG-4(例如)提供用于视频编码的标准,但通常假设遵照MPEG-4标准的视频编码器将利用MPEG-2传送等级系统。因此,本发明的技术适用于遵照以下各者的视频编码器:MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4,或利用MPEG-2传送流和/或程序流的任何其它视频编码标准。
ISO基础媒体文件格式提供包括一个或一个以上轨迹的文件。ISO基础媒体文件格式标准将轨迹定义为相关样本的定时序列。ISO基础媒体文件格式标准将样本定义为与单一时戳相关联的数据,并提供样本的实例作为视频的个别帧、按解码次序的一系列视频帧,或音频的按解码次序的经压缩区段。称为示意轨迹(hint track)的特殊轨迹并不含有媒体数据,而是含有用于将一个或一个以上轨迹封装于串流信道中的指令。ISO基础媒体文件格式标准指出,在示意轨迹中,样本定义一个或一个以上串流包的形成。
本发明的技术提供媒体提取器轨迹的建立。媒体提取器轨迹通常可包括一个或一个以上提取器。媒体提取器轨迹中的提取器用以识别并提取另一轨迹的样本。以此方式,可将媒体提取器轨迹中的媒体提取器视为指针,所述指针在解参考时从另一轨迹检索样本。不同于SVC的提取器,例如,本发明的提取器可参考另一轨迹的一个或一个以上潜在不连续的网络接入层(NAL)单元。根据本发明的技术,媒体提取器轨迹、含有一个或一个以上媒体提取器的轨迹和不包括媒体提取器的其它轨迹可分组在一起以形成交替群组。
本发明相对于NAL单元使用术语“连续的”以描述在同一轨迹中连续出现的两个或两个以上NAL单元。即,当两个NAL单元为连续的时,所述NAL单元中的一者中的数据的最末字节紧接于同一轨迹中的另一NAL单元的数据的第一字节之前。在同一存取单元中的两个NAL单元在同一轨迹内分离开某一数据量的情况下,或在一个NAL单元在一个轨迹中出现而另一NAL单元在不同轨迹中出现的情况下,通常认为所述两个NAL单元是“不连续的”。本发明的技术提供可识别存取单元的两个或两个以上不连续NAL单元的提取器。
此外,本发明的提取器并不限于SVC,而是通常可包括于ISO基础媒体文件格式或ISO基础媒体文件格式的任何其它扩展(例如,AVC、SVC或MVC)中。本发明的提取器还可包括于第三代合作伙伴计划(3GPP)文件格式中。本发明另外提供修改3GPP文件格式以明确地信令帧速率作为轨迹选择箱的属性。
媒体提取器轨迹可用于MVC文件格式中(例如)以支持操作点的提取。服务器装置可在MPEG-2传送层位流中提供各种操作点,所述操作点中的每一者对应于多视图视频译码视频数据的特定视图的相应子集。即,操作点通常对应于位流的视图的子集。在一些实例中,操作点的每一视图包括处于相同帧速率的视频数据。根据本发明的技术,操作点可使用媒体提取器轨迹来表示,所述媒体提取器轨迹包括参考其它轨迹的视频数据的一个或一个以上提取器,和并未包括于其它轨迹中的潜在额外样本。
以此方式,每一操作点可仅包括解码操作点所需要的必要NAL单元,以便以共同帧速率输出视图的子集。提取器轨迹与MVC视频的整体表示的组合可形成MVC表示的播放列表。本发明的媒体提取器轨迹的使用可支持操作点选择和(例如)具有由时间缩放能力引起的各种位速率的操作点的切换。
本发明的媒体提取器轨迹还可用以形成交替群组或切换群组。即,在ISO基础媒体文件格式中,轨迹可分组在一起以形成交替群组。在ISO基础媒体文件格式的实例中,交替群组的轨迹形成对彼此的可行替代,使得在任一时间通常播放或串流交替群组的轨迹中的仅一者。交替群组的轨迹应可(例如)经由例如位速率、编解码器、语言、包大小等属性或其它特性而与交替群组的其它轨迹区分开。本发明的技术提供对媒体提取器轨迹、含有媒体提取器的轨迹和/或其它正常视频轨迹进行分组,以形成交替群组。在遵照MVC的实例中,每一轨迹可对应于相应操作点。即,MVC中的每一操作点可由轨迹中的一个特定轨迹(例如,媒体提取器轨迹或不包括媒体提取器的轨迹)来表示。同一交替群组中的一个轨迹通常经选择以用于渐进式下载,以适应于可用带宽。
类似地,媒体提取器轨迹和其它轨迹可分组在一起以形成3GPP文件格式的切换群组,且可用于轨迹选择以适应HTTP串流应用中的带宽和解码器能力。3GPP文件格式提供轨迹的切换群组的定义。切换群组中的轨迹属于同一交替群组。即,根据3GPP文件格式,同一切换群组中的轨迹可用于在会话期间进行切换,而不同切换群组中的轨迹不可用于切换。
图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可包含也称为声码器(vocoder)的语音编码器。
图1的实例中的A/V源装置20包含音频源22和视频源24。音频源22可包含(例如)麦克风,其产生表示待由音频编码器26编码的所俘获音频数据的电信号。或者,音频源22可包含存储先前记录的音频数据的存储媒体、例如计算机化合成器等音频数据产生器,或任何其它音频数据源。视频源24可包含产生待由视频编码器28编码的视频数据的视频相机、以先前记录的视频数据编码的存储媒体、视频数据产生单元,或任何其它视频数据源。
原始音频数据和视频数据可包含模拟或数字数据。模拟数据在由音频编码器26和/或视频编码器28编码之前可经数字化。音频源22可在谈话参与者正在谈话的同时从谈话参与者获得音频数据,且视频源24可同时获得谈话参与者的视频数据。在其它实例中,音频源22可包含包括所存储的音频数据的计算机可读存储媒体,且视频源24可包含包括所存储的视频数据的计算机可读存储媒体。以此方式,本发明中所描述的技术可应用于直播的串流实时音频数据和视频数据,或应用于经存档的预先记录的音频数据和视频数据。
对应于视频帧的音频帧通常为含有音频数据的音频帧,所述音频数据由音频源22与由视频源24俘获的含于视频帧内的视频数据同时俘获。举例来说,在谈话参与者通常通过谈话产生音频数据时,音频源22俘获音频数据,且视频源24同时(即,在音频源22正俘获音频数据时)俘获谈话参与者的视频数据。因此,音频帧可在时间上对应于一个或一个以上特定视频帧。因此,对应于视频帧的音频帧通常对应于同时俘获音频数据和视频数据的情形,且对于所述情形来说,音频帧和视频帧分别包含同时俘获的音频数据和视频数据。
在一些实例中,音频编码器26可编码每一经编码音频帧中的时戳,所述时戳表示记录经编码音频帧的音频数据的时间,且类似地,视频编码器28可编码每一经编码视频帧中的时戳,所述时戳表示记录经编码视频帧的视频数据的时间。在此类实例中,对应于视频帧的音频帧可包含包括时戳的音频帧和包含同一时戳的视频帧。A/V源装置20可包括可供音频编码器26和/或视频编码器28产生时戳或可供音频源22和视频源24用以使音频数据和视频数据分别与时戳相关联的内部时钟。
在一些实例中,音频源22可将对应于记录音频数据的时间的数据发送到音频编码器26,且视频源24可将对应于记录视频数据的时间的数据发送到视频编码器28。在一些实例中,音频编码器26可在经编码音频数据中编码序列识别符,以指示经编码音频数据的相对时间排序但未必指示记录音频数据的绝对时间,且类似地,视频编码器28也可使用序列识别符来指示经编码视频数据的相对时间排序。类似地,在一些实例中,序列识别符可经映射,或以其它方式与时戳相关。
本发明的技术通常针对经编码多媒体(例如,音频和视频)数据的传送,以及经传送多媒体数据的接收和后续解译以及解码。本发明的技术可应用于各种标准和扩展的视频数据(例如,可缩放视频译码(SVC)、高级视频译码(AVC)、OSI基础层或多视图视频译码(MVC)数据)或包含多个视图的其它视频数据的传送。如图1的实例中所示,视频源24可向视频编码器28提供场景的多个视图。视频数据的多个视图可用于产生待由三维显示器(例如,立体成像或自动立体成像三维显示器)使用的三维视频数据。
A/V源装置20可向A/V目的地装置40提供“服务”。服务通常对应于MVC数据的可用视图的子集。举例来说,多视图视频数据可用于以零到七排序的八个视图。一个服务可对应于具有两个视图的立体视频,而另一服务可对应于四个视图,且又一服务可对应于所有八个视图。一般来说,一服务对应于可用视图的任一组合(即,任一子集)。服务还可对应于可用视图以及音频数据的组合。
A/V源装置20根据本发明的技术能够提供对应于视图的子集的服务。一般来说,视图通过也称为“view_id”的视图识别符来表示。视图识别符通常包含可用以识别视图的语法要素。在编码视图时,MVC编码器提供视图的view_id。view_id可由MVC解码器使用以用于视图间预测,或由其它单元使用以用于其它用途(例如,用于显现)。
视图间预测为用于参看共同时间位置处的一个或一个以上帧编码帧的MVC视频数据作为不同视图的经编码帧的技术。下文更详细论述的图7提供用于视图间预测的实例译码方案。一般来说,MVC视频数据的经编码帧可经空间、时间预测性编码,且/或参看共同时间位置处的其它视图的帧而经预测性编码。因此,供预测其它视图的参考视图通常在参考视图充当参考的视图之前进行解码,使得这些经解码视图在解码有参考内容的视图时可用于参考。解码次序不必对应于view_id的次序。因此,使用视图次序索引来描述视图的解码次序。视图次序索引为指示存取单元中的对应视图组件的解码次序的索引。
每一个别数据(不论音频还是视频)流称为基本流。基本流为程序的单一经数字译码(可能经压缩)组件。举例来说,程序的经译码视频或音频部分可为基本流。基本流在多路复用为程序流或传送流之前可转换为经包化的基本流(PES)。在同一程序内,流ID用以区分属于一个基本流的PES包与属于其它基本流的PES包。基本流的基本数据单位为经包化的基本流(PES)包。因此,MVC视频数据的每一视图对应于相应基本流。类似地,音频数据对应于一个或一个以上相应基本流。
经MVC译码的视频序列可分离成若干子位流,所述子位流中的每一者为基本流。可使用MVC view_id子集来识别每一子位流。基于每一MVC view_id子集的概念,定义MVC视频子位流。MVC视频子位流含有在MVC view_id子集中列出的视图的NAL单元。程序流通常仅含有来自基本流的NAL单元的NAL单元。还设计任何两个基本流不可含有相同视图。
在图1的实例中,多路复用器30接收来自视频编码器28的包含视频数据的基本流和来自音频编码器26的包含音频数据的基本流。在一些实例中,视频编码器28和音频编码器26可各自包括用于由经编码数据形成PES包的包化器。在其它实例中,视频编码器28和音频编码器26可各自与用于由经编码数据形成PES包的相应包化器介接。在另外其它实例中,多路复用器30可包括用于由经编码音频数据和视频数据形成PES包的包化器。
如本发明中所使用的“程序”可包含音频数据和视频数据的组合,例如,通过A/V源装置20的服务所递送的音频基本流和可用视图的子集。每一PES包包括识别PES包所属于的基本流的stream_id。多路复用器30可将基本流组合为构成性程序流或传送流。程序流和传送流是目标为不同应用的两个替代性多路复用。
一般来说,程序流包括一个程序的数据,而传送流可包括一个或一个以上程序的数据。多路复用器30可基于以下各者来编码程序流或传送流中的任一者或两者:正提供的服务、流将传递到的媒体、待发送的程序的数目,或其它考虑事项。举例来说,当将在存储媒体中编码视频数据时,多路复用器30可能更有可能形成程序流,而当将经由网络串流、广播视频数据或作为视频电话的一部分发送视频数据时,多路复用器30可能更有可能使用传送流。
可使多路复用器30更倾向于使用程序流来用于来自数字存储服务的单一程序的存储和显示。因为程序流对于错误为相当敏感的,所以程序流既定用于无错误环境或较不容易遭遇错误的环境中。程序流仅包含属于其的基本流,且通常含有可变长度包。在程序流中,从相关基本流得出的PES包经组织为“套包(pack)”。套包包含套包标头、可选系统标头,和从相关基本流中的任一者获取的采用任一次序的任何数目个PES包。系统标头含有程序流的特性的概述,例如其最大数据速率、相关视频和音频基本流的数目、其它定时信息,或其它信息。解码器可使用含于系统标头中的信息来确定解码器是否能够解码程序流。
多路复用器30可使用传送流用于经由潜在易于出错的信道同时递送多个程序。传送流为针对多程序应用(例如,广播)设计的多路复用,使得单一传送流可容纳许多独立的程序。传送流包含一连串传送包,所述传送包中的每一者为188字节长。短固定长度包的使用意味着,传送流相较于程序流对错误较不敏感。另外,可通过经由标准错误保护过程(例如,李德-所罗门编码(Reed-Solomon encoding))处理包来向每一188字节长的传送包提供额外错误保护。举例来说,传送流的改进的抗误性意味着,传送流更可能使在广播环境中所见的易于出错的信道存续下来。
看起来具有增大的抗误性和载运许多同时程序的能力的传送流为两个多路复用中的较佳者。然而,传送流相较于程序流为更复杂的多路复用,且因此更难以产生且难以多路分用。传送包的第一字节为具有值0x47(十六进制47、二进制“01000111”、十进制71)的同步字节。单一传送流可载运许多不同程序,每一程序包含许多包化的基本流。多路复用器30可使用13位包识别符(PID)字段来区分含有一个基本流的数据的传送包与载运其它基本流的数据的包。多路复用器负责确保向每一基本流授予唯一PID值。传送包的最末字节为连续性计数字段。多路复用器30使属于同一基本流的连续传送包之间的连续性计数字段的值递增。此情形使得目的地装置(例如,A/V目的地装置40)的解码器或其它单元能够检测到传送包的丢失或增益,并有希望隐匿原本可能由此类事件导致的错误。
多路复用器30接收来自音频编码器26和视频编码器28的程序的基本流的PES包,且由PES包形成对应的网络抽象层(NAL)单元。在H.264/AVC(高级视频译码)的实例中,经译码的视频片段组织为NAL单元,所述NAL单元提供解决例如视频电话、存储、广播或串流等应用的“网络友好”视频表示。NAL单元可分类成视频译码层(VCL)NAL单元和非VCL NAL单元。VCL单元含有核心压缩引擎,且可包含块、宏块和/或切片等级。其它NAL单元为非VCL NAL单元。
多路复用器30可形成NAL单元,所述NAL单元包含识别NAL所属于的程序的标头,以及有效负载,例如音频数据、视频数据或描述NAL单元对应于的传送流或程序流的数据。举例来说,在H.264/AVC中,NAL单元可包括一个字节标头和可变大小的有效负载。在一个实例中,NAL单元标头包含priority_id要素、temporal_id要素、anchor_pic_flag要素、view_id要素、non_idr_flag要素,和inter_view_flag要素。在常规MVC中,保留通过H.264定义的NAL单元(包括4字节MVC NAL单元标头和NAL单元有效负载的前缀NAL单元和经MVC译码的切片NAL单元除外)。
NAL标头的priority_id要素可用于简单的单路径位流调适过程。temporal_id要素可用于指定对应NAL单元的时间等级,其中不同时间等级对应于不同帧速率。
anchor_pic_flag要素可指示图片为锚定图片还是非锚定图片。锚定图片和其后的采用输出次序(即,显示次序)的所有图片可在不以解码次序(即,位流次序)解码先前图片的情况下经正确解码,且因此可用作随机接入点。锚定图片和非锚定图片可具有不同相依性,其两者均在序列参数集合中予以信令。将在此章节的随后段落中论述并使用其它旗标。此锚定图片也可称为开放GOP(图像群组)接入点,而在non_idr_flag要素等于零时还支持封闭GOP接入点。non_idr_flag要素指示图片为瞬时解码器再新(IDR)图片还是视图IDR(V-IDR)图片。一般来说,IDR图片和其后的采用输出次序或位流次序的所有图片可在不以解码次序或显示次序解码先前图片的情况下经正确解码。
view_id要素包含可用以识别视图的语法信息,其可用于MVC解码器内部的数据交互(例如,用于视图间预测)和解码器外部的数据交互(例如,用于显现)。inter_view_flag要素可指定对应NAL单元是否由其它视图用于视图间预测。为了传达可能符合AVC的基本视图的4字节NAL单元标头信息,在MVC中定义前缀NAL单元。在MVC的情形下,基础视图存取单元包括视图的当前时刻的VCL NAL单元以及其前缀NAL单元,所述前缀NAL单元仅含有NAL单元标头。H.264/AVC解码器可忽略前缀NAL单元。
在有效负载中包括视频数据的NAL单元可包含各种粒度等级的视频数据。举例来说,NAL单元可包含视频数据块、宏块、多个宏块、视频数据的切片,或视频数据的整个帧。
一般来说,存取单元可包含用于表示视频数据的帧的一个或一个以上NAL单元,以及对应于帧的音频数据(在此音频数据可用时)。存取单元通常包括一个输出时刻的所有NAL单元,例如,一个时刻的所有音频数据和视频数据。在对应于H.264/AVC的实例中,存取单元可包含在一个时刻的经译码图片,所述图片可呈现为初始经译码图片。因此,存取单元可包含共同时刻的所有视频帧,例如,对应于时间X的所有视图组件。
本发明还将特定视图的经编码图片称为“视图组件”。即,视图组件包含特定视图在特定时间的经编码图片(或帧)。因此,存取单元在一些实例中可包含共同时刻的所有视图组件。存取单元的解码次序不需要必须与输出次序或显示次序相同。连续存取单元的集合可形成经译码的视频序列,其可对应于NAL单元位流或子位流的图片群组(GOP)或其它可独立解码单元。
如同多数视频译码标准,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单元。
本发明的技术涉及将提取器包括于媒体提取器轨迹中。本发明的提取器可参考共同文件中的另一轨迹的两个或两个以上NAL单元。即,文件可包括具有多个NAL单元的第一轨迹和包括提取器的第二轨迹,所述提取器识别第一轨迹的多个NAL单元中的两个或两个以上NAL单元。一般来说,提取器可充当指针,使得当多路分用器38遭遇提取器时,多路分用器38可从第一轨迹检索由所述提取器识别的NAL单元,并将所述NAL单元发送到视频解码器48。包括提取器的轨迹可称为媒体提取器轨迹。本发明的提取器可包括于遵照(例如)以下各者等各种文件格式的文件中:ISO基础媒体文件格式、可缩放视频译码(SVC)文件格式、高级视频译码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式,和/或多视图视频译码(MVC)文件格式。
一般来说,视频文件的各种轨迹可用作切换轨迹。即,多路复用器30可包括各种轨迹以支持各种帧速率、显示能力和/或解码能力。举例来说,当视频文件遵照MVC文件格式时,每一轨迹可表示不同MVC操作点。因此,多路分用器38可经配置以选择轨迹中的一者,从而从所选择轨迹检索不同于所选择轨迹的由提取器识别的NAL单元的NAL单元并丢弃其它轨迹的数据。即,当所选择轨迹包括参考另一轨迹的NAL单元的提取器时,多路分用器38可提取经参考的NAL单元,同时丢弃其它轨迹的未经参考的NAL单元。多路分用器38可将所提取的NAL单元发送到视频解码器48。
通过在媒体提取器轨迹中使用提取器,本发明的技术可用以实现视频文件的各种轨迹之间的时间缩放能力。在MPEG-1和MPEG-2中,例如,经B编码的图片提供自然的时间缩放能力。遵照MPEG-1或MPEG-2的视频文件的第一轨迹可包括经I编码的图片、经P编码的图片和经B编码的图片的整个集合。视频文件的第二轨迹可包括仅参考第一轨迹的经I编码的图片和经P编码的图片的一个或一个以上提取器,省略对经B编码的图片的参考。通过舍弃经B编码的图片,视频文件可实现确定的一半分辨率的视频表示。MPEG-1和MPEG-2还提供基础层和增强层概念以译码两个时间层,其中增强层图片对于每一预测方向可选定来自基础层或增强层的图片作为参考。
作为另一实例,H.264/AVC使用阶层式经B编码的图片以支持时间缩放能力。采用H.264/AVC的视频序列的第一图片可称为瞬时解码器再新(IDR)图片(也称为关键图片)。关键图片通常在规则或不规则间隔内进行译码,所述关键图片使用先前关键图片作为参考经帧内译码或帧间译码以用于经运动补偿的预测。图片群组(GOP)通常包括关键图片和在时间上定位于关键图片与先前关键图片之间的所有图片。可将GOP分成两个部分,一个部分为关键图片,且另一部分包括非关键图片。非关键图片通过2个参考图片进行阶层式预测,所述2个参考图片为具有较低时间等级的距过去和未来最近的图片。可向每一图片指派时间识别符值以指示图片的阶层位置。因此,具有达N的时间识别符值的图片可形成视频片段,所述视频片段具有为具有达N-1的时间识别符值的图片所形成的视频片段的帧速率的两倍的帧速率。因此,本发明的技术还可用以通过以下操作来实现H.264/AVC中的时间缩放能力:使第一轨迹包括具有达N的时间识别符值的所有NAL单元,且使第二轨迹包括一个或一个以上提取器,所述一个或一个以上提取器参考第一轨迹的具有达N-1的时间识别符值的NAL单元。
如上文所指出,本发明的技术可应用于遵照以下各者中的至少一者的视频文件:ISO基础媒体文件格式、可缩放视频译码(SVC)文件格式、高级视频译码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式,和/或多视图视频译码(MVC)文件格式。ISO基础媒体文件格式经设计以含有经定时的媒体信息以用于以灵活的可扩展格式进行呈现,所述格式促进媒体的互换、管理、编辑和呈现。ISO基础媒体文件格式(ISO/IEC14496-12:2004)指定于MPEG-4第12部分中,所述MPEG-4第12部分定义基于时间的媒体文件的一般结构。其用作所述系列中的其它文件格式(例如,经定义以支持H.264/MPEG-4AVC视频压缩的AVC文件格式(ISO/IEC 14496-15)、3GPP文件格式、SVC文件格式和MVC文件格式)的基础。3GPP文件格式和MVC文件格式为AVC文件格式的扩展。ISO基础媒体文件格式含有媒体数据的定时序列的定时、结构和媒体信息,例如视听呈现。文件结构为对象导向式。文件可极简单地分解为基本对象,且所述对象的结构由其类型来暗示。
遵照ISO基础媒体文件格式的文件形成为称作“箱”的一系列对象。ISO基础媒体文件格式的数据含于所述箱中,且在文件内不存在其它数据。此箱包括特定文件格式所需的任何初始签名。“箱”为由唯一类型识别符和长度定义的对象导向式构建块。通常,呈现含于一个文件中,且媒体呈现为自含式的。电影容器(电影箱)含有媒体和视频的元数据,且音频帧含于媒体数据容器中,且可在其它文件中。
呈现(运动序列)可含于若干文件中。所有定时和成帧(位置和大小)信息通常在ISO基础媒体文件中,且辅助文件本质上可使用任何格式。此呈现对于含有所述呈现的系统可为“本地”的,或可经由网络或其它流递送机制。
所述文件可具有逻辑结构、时间结构和物理结构,且这些结构不需要进行耦合。文件的逻辑结构可具有又含有时间平行的轨迹的集合的电影。文件的时间结构可为,轨迹含有按时间次序的样本的序列,且所述序列通过可选编辑列表映射到整体电影的时刻表中。文件的物理结构可从媒体数据样本自身分离出逻辑、时间和结构分解所需要的数据。此结构信息可集中于电影箱中,可能通过电影片段箱在时间上进行扩展。电影箱可用文档证明样本的逻辑和定时关系,且还可含有所述关系位于何处的指针。所述指针可指向同一文件或(例如)通过URL参考的另一文件中。
每一媒体流可含于专用于所述媒体类型(音频、视频等)的轨迹中,且可通过样本条目来进一步参数化。样本条目可含有准确的媒体类型的“名称”(对流进行解码所需要的解码器的类型)和所需要的所述解码器的任何参数化。名称还可采用四字符码(例如,“moov”或“trak”)的形式。存在不仅用于MPEG-4媒体而且用于由使用此文件格式系列的其它组织使用的媒体类型的所定义的样本条目格式。
对元数据的支持通常采用两种形式。首先,经定时元数据可存储于恰当轨迹中,视需要与其描述的媒体数据进行同步。第二,可存在对附接到电影或个别轨迹的未定时元数据的一般支持。结构支持为一般的,且如在元数据中一样允许将元数据资源存储于文件中的其它处或另一文件中。此外,这些资源可进行命名,且可进行保护。
在ISO基础媒体文件格式中,样本分组为将轨迹中的样本中的每一者指派为一个样本群组的成员。不需要样本群组中的样本为连续的。举例来说,当呈现AVC文件格式的H.264/AVC时,可将一个时间等级中的视频样本取样为一个样本群组。样本群组可通过以下两个数据结构来表示:SampleToGroup箱(sbdp)和SampleGroupDescription箱。SampleToGroup箱表示样本到样本群组的指派。对于每一样本群组条目可存在SampleGroupDescription箱的一个例项以描述对应群组的性质。
可选元数据轨迹可用以由每一轨迹具有的“所关心特性”对每一轨迹加标签,对于所述“所关心特性”来说,其值可不同于群组的其它成员(例如,其位速率、屏幕大小或语言)。轨迹内的一些样本可具有特殊特性,或可经个别地识别。所述特性的一个实例为同步点(通常为视频I帧)。这些点可通过每一轨迹中的特殊表来识别。更一般来说,轨迹样本之间的相依性的本质还可使用元数据来用文档证明。元数据可如视频轨迹般结构化为文件格式样本的序列。此轨迹可称为元数据轨迹。每一元数据样本可结构化为元数据陈述。存在对应于可能就对应文件格式样本或其构成性样本进行询问的各种问题的各种种类的陈述。
当经由串流协议递送媒体时,可能需要从在文件中表示媒体的方式变换媒体。此情形的一个实例为在经由实时协议(RTP)发射媒体时。在文件中,例如,视频的每一帧连续地存储为文件格式样本。在RTP中,必须遵守特定针对所使用的编解码器的包化规则以将这些帧置于RTP包中。串流服务器可经配置以在运行时间计算此包化。然而,存在对辅助串流服务器的支持。称作示意轨迹的特殊轨迹可置于文件中。
示意轨迹含有用于串流服务器的关于如何针对特定协议由媒体轨迹形成包流的一般指令。因为这些指令的形式为独立于媒体的,所以当引入新编解码器时,可能不需要修正服务器。此外,编码和编辑软件可不知晓串流服务器。一旦完成对文件的编辑,称作示意器(hinter)的软件片段就可用以在将文件置于串流服务器上之前将示意轨迹添加到文件。作为一实例,在MP4文件格式规范中存在针对RTP流的所定义的示意轨迹格式。
3GP(3GPP文件格式)为由第三代合作伙伴计划(3GPP)针对3G UMTS多媒体服务定义的多媒体容器格式。其通常用于3G移动电话和具有3G能力的其它装置上,但也可在某些2G和4G电话和装置上播放。3GPP文件格式基于ISO基础媒体文件格式。在3GPP TS26.244“透明端对端包交换串流服务(PSS);3GPP文件格式(3GP)(Transparentend-to-end packet switched streaming service(PSS);3GPP file format(3GP))”中指定最新3GP。3GPP文件格式将视频流存储为MPEG-4第2部分或H.263或MPEG-4第10部分(AVC/H.264)。因为3GPP指定样本条目和模板字段在ISO基础媒体文件格式中的使用以及定义编解码器参考的新的箱,所以3GPP允许在ISO基础媒体文件格式(MPEG-4第12部分)中使用AMR和H.263编解码器。对于MPEG-4媒体特定信息在3GP文件中的存储,3GP规范参考MP4和AVC文件格式,MP4和AVC文件格式还基于ISO基础媒体文件格式。MP4和AVC文件格式规范描述MPEG-4内容在ISO基础媒体文件格式中的使用。
作为AVC文件格式的扩展的SVC文件格式具有提取器和层的新结构。提取器为提供关于样本中的与在另一轨迹中具有相等解码时间的视频译码数据的位置和大小的信息的指针。此情形允许在译码域中直接构建轨迹阶层。SVC中的提取器轨迹链接到一个或一个以上基础轨迹,提取器轨迹在运行时间从所述一个或一个以上基础轨迹提取数据。提取器为具有NAL单元标头的可解参考的指针(通过SVC扩展)。如果用于提取的轨迹含有不同帧速率下的视频译码数据,那么提取器还含有解码时间偏移以确保轨迹之间的同步。在运行时间,在流传递到视频解码器之前,提取器必须由其指向的数据替换。
因为SVC中的提取器轨迹类似于视频译码轨迹而结构化,所以SVC中的提取器轨迹可表示其以不同方式需要的子集。SVC提取器轨迹仅含有关于如何从另一轨迹提取数据的指令。在SVC文件格式中,还存在汇总工具(aggregator),其可将样本内的NAL单元汇总在一起作为一个NAL单元,包括将一个层中的NAL单元汇总到汇总工具中。SVC中的提取器经设计以从以下各者提取某一范围的字节:样本或汇总工具,或仅一个完整NAL单元而非多个NAL单元,尤其是样本中的不连续的NAL单元。在SVC文件格式中,可存在许多视频操作点。层经设计以对操作点的一个或一个以上轨迹中的样本进行分组。
MVC文件格式还支持提取器轨迹,所述提取器轨迹从不同视图提取NAL单元以形成操作点,所述操作点为采用某一帧速率的视图的子集。MVC提取器轨迹的设计类似于SVC文件格式中的提取器。然而,并不支持使用MVC提取器轨迹来形成交替群组。为了支持轨迹选择,针对MPEG建议以下MPEG提案:P.Frojdh、A.Norkin和C.Priddle“文件格式子轨迹选择和切换(File format sub-track selection and switching)”(ISO/IECJTC1/SC29/WG11 MPEG M16665,英国,伦敦)。此提案试图启用子轨迹等级中的交替/切换群组概念。
映射样本群组为样本群组的扩展。在映射样本群组中,(样本的)每一群组条目具有其“groupID”的描述,其实际上为在可能将视图中的NAL单元汇总为一个NAL单元之后到view_id的映射。换句话说,每一样本群组条目具有其含有的在ScalableNALUMapEntry值中列出的视图。此样本群组条目的grouping_type为“scnm”。
渐进式下载为用以描述数字媒体文件通常使用HTTP协议从服务器到客户端的转移的术语。当从计算机起始时,消费者在下载完成之前可开始重放媒体。串流媒体与渐进式下载之间的关键差异在于正存取数字媒体的终端用户装置如何接收并存储数字媒体数据。具有渐进式下载重放能力的媒体播放器依赖于位于当从网络服务器下载数字媒体文件时完好的文件的标头中的元数据和数字媒体文件的本地缓冲器。在指定量的数据变得可用于本地重放装置的点,将开始播放媒体。此指定量的缓冲通过编码器设定中的内容的生产者嵌入于文件中,并由通过媒体播放器强加的额外缓冲器设定进行加强。
在3GPP中,对于3GP文件来说,支持HTTP/TCP/IP传送以用于下载和渐进式下载。此外,将HTTP用于视频串流具有一些优点,且基于HTTP的视频串流服务正变得愈加流行。HTTP串流的一些优点包括:可使用现有因特网组件和协议,使得不需要新努力来开发经由网络传送视频数据的新技术。(例如)RTP有效负载格式等其它传送协议需要中间网络装置(例如,中间箱)以知晓媒体格式和信令情境。并且,HTTP串流可经客户端驱动,其避免许多控制问题。举例来说,为了利用所有特征以获得最佳性能,服务器可追踪尚未确认的包的大小和内容。服务器还可分析文件结构并重建客户端缓冲器的状态以做出RD最佳切换/精简决策。此外,可满足对位流变化的约束以便符合经协商的规范。HTTP在实施HTTP 1.1的Web服务器处不必需要新硬件或软件实施方案。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图片中,块可从一个或两个参考图片进行预测,或可经帧内译码。这些参考图片可按时间次序定位于当前图片之前或之后。
根据H.264译码标准,作为一实例,B图片使用先前经译码的参考图片的两个列表(列表0和列表1)。这两个列表可各自含有采用时间次序的过去和/或未来的经译码图片。可以以下若干方式中的一者来预测B图片中的块:从列表0参考图片的经运动补偿的预测,从列表1参考图片的经运动补偿的预测,或从列表0参考图片和列表1参考图片两者的组合的经运动补偿的预测。为了获得列表0参考图片和列表1参考图片两者的组合,分别从列表0参考图片和列表1参考图片获得两个经运动补偿的参考区域。其组合将用以预测当前块。
较小视频块可提供较好分辨率,且可用于定位包括高等级细节的视频帧。一般来说,可将宏块和有时称为子块的各种分区视为视频块。此外,可将切片视为多个视频块,例如宏块和/或子块。每一切片可为视频帧的可独立解码的单元。或者,帧自身可为可解码的单元,或帧的其它部分可定义为可解码的单元。术语“经译码的单元”或“译码单元”可指代视频帧的任何可独立解码的单元,例如整个帧、帧的切片、也称为序列的图片群组(GOP),或根据适用译码技术定义的另一可独立解码的单元。
术语宏块指代用于根据包含16×16像素的二维像素阵列编码图片和/或视频数据的数据结构。每一像素包含色度分量和亮度分量。因此,宏块可定义各自包含8×8像素的二维阵列的四个亮度块、各自包含为16×16像素的二维阵列的两个色度块,以及包含例如以下各者等语法信息的标头:经译码的块型样(CBP)、编码模式(例如,帧内(I)编码模式或帧间(P或B)编码模式)、经帧内编码的块的分区的分区大小(例如,16×16、16×8、8×16、8×8、8×4、4×8或4×4),或经帧间编码的宏块的一个或一个以上运动向量。
视频编码器28、视频解码器48、音频编码器26、音频解码器46、多路复用器30和多路分用器38在适用时各自可实施为多种合适编码器或解码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件,或其任一组合。视频编码器28和视频解码器48中的每一者可包括于一个或一个以上编码器或解码器中,其任一者可集成为经组合的视频编码器/解码器(CODEC)的一部分。同样,音频编码器26和音频解码器46中的每一者可包括于一个或一个以上编码器或解码器中,其任一者可集成为经组合的音频编码器/解码器(CODEC)的一部分。包括视频编码器28、视频解码器48、音频编码器26、音频解码器46、多路复用器30和/或多路分用器38的设备可包含集成电路、微处理器,和/或例如蜂窝式电话等无线通信装置。
根据本发明的技术,多路复用器30可将NAL单元组合为遵照ISO基础媒体文件格式或其衍生格式(例如,SVC、AVC、MVC或3GPP)的视频文件的轨迹,且包括媒体提取器轨迹,所述媒体提取器轨迹识别另一轨迹的一个或一个以上潜在不连续NAL单元并将视频文件传递到输出接口32。输出接口32可包含(例如)发射器、收发器、用于将数据写入到计算机可读媒体的装置(例如,光学驱动器、磁性媒体驱动器(例如,软盘驱动器)、通用串行总线(USB)端口、网络接口,或其它输出接口)。输出接口32将NAL单元或存取单元输出到计算机可读媒体34(例如,例如发射信号或载波等暂态媒体),或例如磁性媒体、光学媒体、存储器或快闪驱动器等计算机可读存储媒体。
输入接口36从计算机可读媒体34检索数据。输入接口36可包含(例如)光学驱动器、磁性媒体驱动器、USB端口、接收器、收发器,或其它计算机可读媒体接口。输入接口36可将NAL单元或存取单元提供到多路分用器38。多路分用器38可将传送流或程序流多路分用为构成性PES流,解包化所述PES流以检索经编码的数据,且视经编码的数据(例如)如通过流的PES包标头所指示是音频流还是视频流的一部分而定而将经编码的数据发送到音频解码器46或视频解码器48。多路分用器38最初可选择包括于所接收视频文件中的轨迹中的一者,且接着仅将所选择轨迹的数据和其它轨迹的由所选择轨迹的提取器参考的数据传递到视频解码器48,丢弃其它轨迹的并未由所选择轨迹的提取器参考的数据。音频解码器46解码经编码的音频数据,并将经解码的音频数据发送到音频输出42,而视频解码器48解码经编码的视频数据,并将可能包括流的多个视图的经解码的视频数据发送到视频输出44。视频输出44可包含使用场景的多个视图的显示器,例如,同时呈现场景的每一视图的立体成像显示器或自动立体成像显示器。
图2为说明多路复用器30(图1)的组件的实例布置的框图。在图2的实例中,多路复用器30包括流管理单元60、视频输入接口80、音频输入接口82、多路复用流输出接口84,和程序特定信息表88。流管理单元60包括NAL单元建构器62、流识别符(流ID)查找单元66、轨迹产生单元64和提取器产生单元68。
在图2的实例中,视频输入接口80和音频输入接口82包括用于由经编码的视频数据和经编码的音频数据形成PES单元的相应包化器。在其它实例中,视频和/或音频包化器可呈现为在多路复用器30外部。相对于图2的实例,视频输入接口80可由接收自视频编码器28的经编码的视频数据形成PES包,且音频输入接口82可由接收自音频编码器26的经编码的音频数据形成PES包。
在NAL单元建构器62建构NAL单元之后,NAL单元建构器62将NAL单元发送到轨迹产生单元64。轨迹产生单元64接收NAL单元,并将包括NAL单元的视频文件组合为视频文件的一个或一个以上轨迹。轨迹产生单元64可进一步执行提取器产生单元68以产生通过轨迹产生单元64建构的一个或一个以上媒体提取器轨迹的提取器。当确定一个或一个以上NAL单元属于多个轨迹而非在轨迹之间重复NAL单元时,提取器产生单元68可建构参考NAL单元的轨迹的提取器。以此方式,多路复用器30可避免数据在轨迹之间的重复,此可减小发射视频文件时的带宽消耗。
下文论述提取器的数据结构和组件的各种实例。一般来说,提取器可包括:轨迹识别符值,其参考其中包括经参考的NAL单元的轨迹;以及一个或一个以上NAL单元识别符,其识别由提取器参考的NAL单元。在一些实例中,NAL单元识别符可参考由对应于经识别的NAL单元的轨迹识别符值参考的轨迹中的位或字节范围。在一些实例中,NAL单元识别符可个别地参考由提取器识别的每一NAL单元,(例如)以便识别不连续NAL单元。在一些实例中,NAL单元识别符可基于从媒体提取器轨迹中的提取器的时间或空间位置的偏移来参考NAL单元。
轨迹产生单元64在一些实例中可包括媒体提取器轨迹中的额外NAL单元。即,媒体提取器轨迹可包括NAL单元和提取器两者。因此,在一些实例中,轨迹产生单元64可建构视频文件,所述视频文件具有仅包括NAL单元的第一轨迹和包括一个或一个以上提取器的第二轨迹,所述一个或一个以上提取器参考第一轨迹的NAL单元的全部或子集。此外,在一些实例中,轨迹产生单元64可包括第二轨迹中的并未包括于第一轨迹中的额外NAL单元。同样,本发明的技术可扩展到多个轨迹。举例来说,轨迹产生单元64可建构可参考第一轨迹的NAL单元和/或第二轨迹的NAL单元的第三轨迹,且可另外包括并未包括于第一轨迹或第二轨迹中的NAL单元。
图3为说明实例文件100的框图,所述实例文件100包括具有视频样本的集合的第一轨迹和具有参考第一轨迹的视频样本子集的提取器的第二轨迹。在图3的实例中,文件100包括MOOV箱102和媒体数据(MDAT)箱110。MOOV箱102对应于电影箱,其由ISO基础媒体文件格式定义为容器箱,所述容器箱的子箱定义用于呈现的元数据。MDAT箱104对应于媒体数据箱,其由ISO基础媒体文件格式定义为可保持用于呈现的实际数据的箱。
在图3的实例中,MOOV箱102包括完整子集轨迹104和媒体提取器轨迹106。ISO基础媒体文件格式将“轨迹”定义为ISO基础媒体文件中的相关样本的定时序列。ISO基础媒体文件格式进一步指出,对于媒体数据来说,轨迹对应于图像或经取样音频的序列。
在图3的实例中,MDAT箱110包括经I编码的样本112、经P编码的样本114、经B编码的样本116和经B编码的样本118。将经B编码的样本116和经B编码的样本118视为处于不同阶层编码等级。在图3的实例中,经B编码的样本116可用作对经B编码的样本118的参考,且因此经B编码的样本118可处于低于经B编码的样本116的阶层编码等级的阶层编码等级。样本的显示次序可不同于阶层次序(也称为解码次序)和样本包括于MDAT箱110中的次序。举例来说,经I编码的样本112可具有为0的显示次序值和为0的解码次序值,经P编码的样本114可具有为2的显示次序值和为1的解码次序值,经B编码的样本116可具有为1的显示次序值和为2的解码次序值,且经B编码的样本118可具有为4的显示次序值和为3的解码次序值。轨迹1可包括额外样本,例如,具有为3的显示次序值和为4的解码次序值的样本。
经I编码的样本112、经P编码的样本114、经B编码的样本116和经B编码的样本118中的每一者可对应于各种NAL单元或存取单元。ISO基础媒体文件格式将“样本”定义为与单一时戳相关联的所有数据,例如,视频的个别帧、按解码次序的一系列视频帧,或音频的按解码次序的经压缩区段。在图3的实例中,完整子集轨迹104包括参考经I编码的样本112、经P编码的样本114、经B编码的样本116和经B编码的样本118的元数据。
MDAT箱110进一步包括提取器120、提取器122和提取器124。因此,提取器120到124包括于电影数据箱中,其通常将包括数据样本。在图3的实例中,提取器120参考经I编码的样本112,提取器122参考经P编码的样本114,且提取器124参考经B编码的样本118。可能存在对应于经I编码的样本112、经P编码的样本114和/或经B编码的样本118的两个或两个以上NAL单元,且所述NAL单元可能为不连续的。根据本发明的技术,尽管在对应样本中可能存在两个或两个以上不连续NAL单元,但提取器120到124仍可识别对应样本的NAL单元中的每一者。在图3的实例中,媒体提取器轨迹106包括参考提取器120、提取器122和提取器124的元数据。
提取器120到124中的每一者还可包括显示次序值和解码次序值。举例来说,提取器120可具有为0的显示次序值和为0的解码次序值,提取器122可具有为1的显示次序值和为1的解码次序值,且提取器124可具有为2的显示次序值和为2的解码次序值。在一些实例中,显示值和/或解码值可跳过某些值,(例如)以与所识别的样本的值匹配。
完整子集轨迹104和媒体提取器轨迹106可形成交替群组,使得多路分用器38(图1)可选择完整子集轨迹104或媒体提取器轨迹106以由视频解码器48进行解码。相对于MVC的实例,完整子集轨迹104可对应于第一操作点,且媒体提取器轨迹106可对应于第二操作点。相对于3GPP的实例,完整子集轨迹104和媒体提取器轨迹106可形成切换群组。以此方式,完整子集轨迹104和媒体提取器轨迹106(例如)在HTTP串流应用中可用以调适带宽可用性和解码器能力。
当选择完整子集轨迹104时,多路分用器38可将对应于完整子集轨迹104的样本(例如,经I编码的样本112、经P编码的样本114、经B编码的样本116和经B编码的样本118)发送到视频解码器48。当选择媒体提取器轨迹106时,多路分用器38可将对应于媒体提取器轨迹106的样本(包括由对应于媒体提取器轨迹106的媒体提取器识别的样本)发送到视频解码器48。因此,当选择媒体提取器轨迹106时,多路分用器38可将经I编码的样本112、经P编码的样本114和经B编码的样本118发送到视频解码器48,多路分用器38可通过对提取器120、提取器122和提取器124进行解参考而从完整子集轨迹104检索经I编码的样本112、经P编码的样本114和经B编码的样本118。
图4为说明包括两个相异提取器轨迹146、148的另一实例文件140的框图。虽然在图4的实例中说明两个提取器轨迹,但一般来说一文件可包括任何数目个提取器轨迹。在图4的实例中,文件140包括MOOV箱142和MDAT箱150。MOOV箱142包括完整子集轨迹144和媒体提取器轨迹146、148。MDAT箱150包括各种轨迹的数据样本和提取器,例如,经I编码的样本152、经P编码的样本154、经B编码的样本156、经B编码的样本158和提取器160到168。
在图4的实例中,提取器160到164对应于媒体提取器轨迹146,而提取器166到168对应于媒体提取器轨迹148。在此实例中,媒体提取器轨迹146的提取器160识别经I编码的样本152,提取器162识别经P编码的样本154,且提取器164识别经B编码的样本156。在此实例中,提取器166识别经I编码的样本152,而提取器162识别经P编码的样本154。图4的实例示范其中各种媒体提取器轨迹的两个或两个以上提取器参考完整子集轨迹的同一样本的实例。
媒体提取器轨迹可用以表示可解码的视频流的时间子集和含有原始全时间分辨率位流的轨迹的交替/切换轨迹(例如,完整子集轨迹144)。完整子集轨迹144可(例如)表示30个帧/秒(FPS)的视频流。在一些实例中,通过在子位流中不包括某一阶层等级的B图片,所述子位流的帧速率可减半或减小某一其它分率。举例来说,媒体提取器轨迹146通过不包括经B编码的样本158而可具有相对于完整子集轨迹144经减半的帧速率。举例来说,媒体提取器轨迹146可具有为15FPS的帧速率。同样,媒体提取器轨迹148通过省略经B编码的样本156和经B编码的样本158两者而可具有相对于媒体提取器轨迹146经减半的帧速率,且因此具有7.5FPS的帧速率。
图5为说明包括子集轨迹188和两个媒体提取器轨迹184、186的另一实例文件180的框图。文件180的MOOV箱182包括子集轨迹188、媒体提取器轨迹184、186,而MDAT箱190包括经I编码的样本192、经P编码的样本194、经B编码的样本202、经B编码的样本208,以及提取器198、200、204、206和210。
如上文所论述,媒体提取器轨迹可包括参考另一轨迹的样本的提取器。此外,媒体提取器轨迹可进一步包括并未包括于另一轨迹中的额外视频样本。在图5的实例中,子集轨迹188包括经I编码的样本192和经P编码的样本194。媒体提取器轨迹186包括提取器198、200,且另外包括经B编码的样本202。类似地,媒体提取器轨迹184包括提取器204、206、210,且另外包括经B编码的样本208。
在图5的实例中,媒体提取器轨迹186包括视频数据的经编码的样本(经B编码的样本202),且媒体提取器轨迹184包括提取器210,其参考包括经编码样本的媒体提取器轨迹186的样本。即,在图5的实例中,提取器210参考经B编码的样本202。因此,媒体提取器轨迹184可表示全时间分辨率位流,而媒体提取器轨迹186和子集轨迹188可表示全时间分辨率位流的子集。即,媒体提取器轨迹186和子集轨迹188可具有低于由媒体提取器轨迹184表示的全时间分辨率的时间分辨率(例如,较低帧速率)。
根据本发明的技术,H.264/AVC文件格式可经修改以包括提取器轨迹,其可经提取而作为轨迹的含有原始全时间分辨率位流的任何相符的时间子集。对于支持阶层B(或P)图片译码的H.264/AVC来说,假设存在N个时间等级,包括从时间等级0到k(k<N)的样本的每一子位流可通过定义对应的提取器轨迹来提取。因此,对于同一视频来说,可存在形成交替/切换群组的N个轨迹(包括N-1个提取器轨迹)。提取器可与对应于由提取器识别的样本的时间阶层等级的时间阶层等级相关联。举例来说,还可在提取器中信令指定样本的时间等级的时间识别符值。
图6A-6C为说明文件的MDAT箱220的实例的框图,所述MDAT箱220包括各种媒体提取器轨迹的媒体提取器的实例。图6A-6C中的每一者描绘:锚定样本222,其包括视图0样本224A、视图2样本226A、视图1样本228A、视图4样本230A和视图3样本232A;以及非锚定样本223,其包括视图0样本224B、视图2样本226B、视图1样本228B、视图4样本230B和视图3样本232B。非锚定样本223旁边的省略号指示,额外样本可包括于MDAT箱220中。锚定样本和非锚定样本中的每一者可共同形成文件的第一轨迹。在一个实例中,根据本发明的技术,描绘于图6A-6C中的文件的提取器的每一集合的媒体提取器轨迹可对应于遵照MVC文件格式的视频文件的单独操作点。以此方式,本发明的技术可用以产生对应于遵照MVC文件格式的视频文件的操作点的一个或一个以上媒体提取器轨迹。
图6A-6C描绘各种媒体提取器轨迹的提取器240、244、250,其中提取器240、244、250将各自包括于MDAT箱220中,但出于清晰性目的而未以单独图式进行说明。即,在进行充分组合时,MDAT箱220可包括提取器240、244、250的每一集合。
图6A-6C提供文件的实例,所述文件包括含有媒体提取器以及真实视频样本的轨迹。各种样本根据不同时间等级可单独地含于不同轨迹中。对于每一时间等级来说,特定轨迹可含有所有视频样本以及对具有较低时间等级的轨迹的提取器。可将视频样本(NAL单元)分离成不同轨迹,而具有较高帧速率的轨迹可具有指向其它轨迹的提取器。以此方式,有可能具有含有仅一个时间等级的样本的电影片段,且电影片段可能含有指向其它片段的提取器。在此状况下,不同轨迹但同一时间周期的电影片段可以时间等级的递增次序交错。
图6A提供包括对应于媒体提取器轨迹的提取器242A到242N的提取器240的实例。在此实例中,提取器242A参考锚定样本222的两个视图0样本224A。提取器242N参考非锚定样本223的视图0样本224B。一般来说,在图6A的实例中,提取器集合240的提取器参考对应的视图0样本。提取器242A到242N中的每一者对应于共同媒体提取器轨迹,所述轨迹可属于切换群组和/或交替群组。媒体提取器轨迹可进一步对应于个别操作点,例如,包括视图0的操作点。
在一些实例中,对于使用MVC译码的立体视频来说,可存在三个操作点,包括支持输出两个视图的一个操作点和支持输出仅一个视图(例如,仅视图0或视图1)的第二操作点。第三操作点可为输出视图1的操作点。视预测关系而定,第三操作点可包括仅视图1中的VCL NAL单元和相关联的非VCL NAL单元、视图0和视图1的所有NAL单元,或视图1的NAL单元以及锚定NAL单元(即,锚定视图组件的NAL单元)。在此立体状况下,所揭示技术的实例可规定,其它两个操作点可由两个提取器轨迹来表示。这两个提取器轨迹可形成切换群组,且与原始视频轨迹一起,这三个轨迹可形成交替群组。
本发明提供用于修改MVC文件格式以包括MVC媒体提取器轨迹的技术。一般来说,具有相同数目个供输出的视图的包括MVC媒体提取器轨迹的MVC视频轨迹可表征为切换群组。由文件的轨迹表示的所有操作点可属于MVC视频呈现的一个交替群组。锚定样本222和非锚定样本223中的每一者的视图可形成完整子集轨迹,例如,包括所有可用视图的操作点。
举例来说,如相对于图6B中的提取器246A到246N所展示,提取器可参考样本的连续部分。在图6B的实例中,提取器246A参考视图0样本224A并参考视图2样本226A。表示提取器246A的数据结构可指定所识别视图的字节范围、起始视图和结束视图、起始视图和后续视图的数目,或由提取器识别的一系列连续视图的其它表示。提取器集合244可对应于另一媒体提取器轨迹,所述另一媒体提取器轨迹又可对应于单独MVC操作点。
举例来说,如相对于图6C中的提取器254A、256A所展示,两个提取器也可参考一样本的两个部分(例如,两个不连续视图)。举例来说,提取器样本252A包括参考视图0样本224A和视图2样本226A的提取器254A,以及参考视图4样本230A的提取器254B。因此,由提取器样本252A表示的样本可对应于参考不连续视图样本的提取器样本。类似地,在图6C的实例中,提取器样本252N包括参考视图0样本224B和视图2样本226B的提取器256A,以及参考视图4样本230B的提取器256B。
还可相对于锚定或非锚定样本来定义提取器,其中相对于锚定样本定义的提取器与相对于非锚定样本定义的提取器可参考不同视图。
ISO基础媒体文件格式或MVC文件格式的上文提及的MVC媒体提取器轨迹可为元数据轨迹的例项,所述元数据轨迹可经实施而具有类似提取功能性,且可用以表示正常视频轨迹的交替和/或切换轨迹。
在使用MVC文件格式的实例中,全位流可含于一个轨迹中,且所有其它可能操作点可由提取器轨迹来表示,所述提取器轨迹中的每一者可为信号,例如供输出的视图的数目、供输出的视图的视图识别符值、发射所需要的带宽,和帧速率。
图7为说明实例MVC预测型式的概念图。在图7的实例中,说明八个视图(具有视图ID“S0”到“S7”),且说明每一视图的12个时间位置(“T0”到“T11”)。即,图7中的每一行对应于一视图,而每一列指示时间位置。
虽然MVC具有可由H.264/AVC解码器解码的所谓的基础视图,且立体视图对也可由MVC支持,但MVC的优点为,其可支持使用两个以上视图作为3D视频输入并解码由多个视图表示的此3D视频的实例。具有MVC解码器的客户端的呈现器(renderer)可期待具有多个视图的3D视频内容。视图中的锚定视图组件和非锚定视图组件可具有不同视图相依性。举例来说,视图S2中的锚定视图组件视视图S0中的视图组件而定。然而,视图S2中的非锚定视图组件并非视其它视图中的视图组件而定。
在图7中使用包括字母的阴影框来指示每一行和每一列的图7中的帧,从而指定对应的帧经帧内译码(即,I帧),还是在一个方向上经帧间译码(即,为P帧),还是在多个方向上经帧间译码(即,为B帧)。一般来说,由箭头来指示预测,其中箭头指向的帧使用箭头出发的对象用于预测参考。举例来说,从视图S0的时间位置T0处的I帧预测视图S2的时间位置T0处的P帧。
如同单一视图视频编码,多视图视频译码视频序列的帧可相对于不同时间位置处的帧经预测性编码。举例来说,视图S0的时间位置T1处的b帧具有从视图S0的时间位置T0处的I帧指向其的箭头,从而指示从I帧预测b帧。然而,另外,在多视图视频编码的情形下,可在视图间预测帧。即,视图组件可使用其它视图中的视图组件用于参考。在MVC中,例如,如同另一视图中的视图组件为预测间参考一般实现视图间预测。潜在视图间参考在序列参数集合(SPS)MVC扩展中信令,且可通过参考图片列表建构过程来修改,其启用预测间或视图间预测参考的灵活排序。以下表1提供MVC扩展序列参数集合的实例定义。
表1
图7提供视图间预测的各种实例。在图7的实例中,视图S 1的帧说明为从视图S 1的不同时间位置处的帧来预测,以及从视图S0和S2在同一时间位置处的帧中的帧经视图间预测。举例来说,视图S 1在时间位置T1处的b帧从视图S1在时间位置T0和T2处的B帧以及视图S0和S2在时间位置T1处的b帧中的每一者进行预测。
在图7的实例中,大写字母“B”和小写字母“b”既定指示帧之间的不同阶层关系而非不同编码方法。一般来说,大写字母“B”帧相较于小写字母“b”帧预测阶层相对较高。即,在图7的实例中,参看“B”帧来编码“b”帧。可添加额外阶层等级,从而具有可参考图7的“b”帧的额外经双向编码的帧。图7还使用不同等级的阴影来说明预测阶层的变化,其中较大量的阴影(即,相对较深)帧预测阶层高于具有较少阴影(即,相对较浅)的那些帧。举例来说,由全阴影来说明图7中的所有I帧,而P帧具有稍浅的阴影,且B帧(和小写字母b帧)相对于彼此具有各种等级的阴影,但始终浅于P帧和I帧的阴影。
一般来说,预测阶层与视图次序索引有关,其关系在于预测阶层相对较高的帧应在解码阶层相对较低的帧之前进行解码,使得阶层相对较高的那些帧在解码阶层相对较低的帧期间可用作参考帧。视图次序索引为指示存取单元中的视图组件的解码次序的索引。如在H.264/AVC的附录H(MVC修正)中所指定,视图次序索引隐含于SPS MVC扩展中。在SPS中,对于每一索引i来说,信令对应的view_id。视图组件的解码应遵循视图次序索引的升序。如果呈现所有视图,那么视图次序索引处于从0到num_views_minus_1的连续次序。
以此方式,用作参考帧的帧可在解码参考所述参考帧编码的帧之前进行解码。视图次序索引为指示存取单元中的视图组件的解码次序的索引。对于每一视图次序索引i来说,信令对应的view_id。视图组件的解码遵循视图次序索引的升序。如果呈现所有视图,那么视图次序索引的集合包含从零到比视图的全数目小1的连续排序的集合。
对于处于相等阶层等级的某些帧来说,解码次序相对于彼此可能并不重要。举例来说,视图S0在时间位置T0处的I帧用作视图S2在时间位置T0处的P帧的参考帧,视图S2在时间位置T0处的P帧又用作视图S4在时间位置T0处的P帧的参考帧。因此,视图S0在时间位置T0处的I帧应在视图S2在时间位置T0处的P帧之前经解码,视图S2在时间位置T0处的P帧应在视图S4在时间位置T0处的P帧之前经解码。然而,在视图S1与S3之间,解码次序并不重要,因为视图S1和S3并不依赖于彼此以进行预测,而是仅从预测阶层较高的视图进行预测。此外,视图S 1可在视图S4之前经解码,只要视图S 1在视图S0和S2之后解码即可。
以此方式,阶层排序可用以描述视图S0到S7。假设记法SA>SB意味着视图SA应在视图SB之前解码。在图7的实例中,使用此记法,S0>S2>S4>S6>S7。并且,相对于图7的实例,S0>S 1,S2>S1,S2>S3,S4>S3,S4>S5,且S6>S5。视图的并不违反这些要求的任一解码次序是可能的。因此,在仅具有某些限制的情况下,许多不同解码次序是可能的。下文呈现两个实例解码次序,但应理解,许多其它解码次序是可能的。在说明于下表2中的一个实例中,尽可能快地解码视图。
表2
视图ID | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 |
视图次序索引 | 0 | 2 | 1 | 4 | 3 | 6 | 5 | 7 |
表2的实例确认,在已解码视图S0和S2之后,可立即解码视图S1;在已解码视图S2和S4之后,可立即解码视图S3;且在已解码视图S4和S6之后,可立即解码视图S5。
下表3提供另一实例解码次序,其中所述解码次序使得用作另一视图的参考的任一视图在并未用作任何其它视图的参考的视图之前经解码。
表3
视图ID | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 |
视图次序索引 | 0 | 5 | 1 | 6 | 2 | 7 | 3 | 4 |
表3的实例确认,在图7的实例中,视图S1、S3、S5和S7的帧并不充当任何其它视图的帧的参考帧,且因此视图S1、S3、S5和S7在用作参考帧的那些视图(即,视图S0、S2、S4和S6)的帧之后解码。视图S1、S3、S5和S7相对于彼此可以任何次序经解码。因此,在表3的实例中,在视图S1、S3和S5中的每一者之前解码视图S7。
为了清楚起见,在每一视图的帧以及每一视图的帧的时间位置之间可能存在阶层关系。相对于图7的实例,从其它视图在时间位置T0处的帧来视图内预测或视图间预测时间位置T0处的帧。类似地,从其它视图在时间位置T8处的帧来视图内预测或视图间预测时间位置T8处的帧。因此,相对于时间阶层,时间位置T0和T8处于时间阶层的顶点处。
在图7的实例中,因为参考时间位置T0和T8的帧对时间位置T4的帧进行B编码,所以时间位置T4处的帧在时间阶层上低于时间位置T0和T8的帧。时间位置T2和T6处的帧在时间阶层上低于时间位置T4处的帧。最后,时间位置T1、T3、T5和T7处的帧在时间阶层上低于时间位置T2和T6处的帧。
在MVC中,可提取整体位流的子集以形成仍遵照MVC的子位流。基于(例如)以下各者而存在特定应用可能需要的许多可能子位流:由服务器提供的服务、一个或一个以上客户端的解码器的容量、支持和能力,和/或一个或一个以上客户端的优选项。举例来说,客户端可能需要仅三个视图,且可能存在两个情境。在一个实例中,一个客户端可能需要流畅的观看体验,且可能首选具有view_id值S0、S1和S2的视图,而另一客户端可能需要视图缩放能力并首选具有view_id值S0、S2和S4的视图。如果最初相对于表9的实例对view_id进行排序,那么视图次序索引值在这两个实例中分别为{0,1,2}和{0,1,4}。注意,这些子位流中的两者可解码为独立MVC位流,且可得以同时支持。
可存在可由MVC解码器解码的许多MVC子位流。理论上,满足以下两个性质的视图的任何组合可由符合某一规范或等级的MVC解码器来解码:(1)以视图次序索引的递增次序来对每一存取单元中的视图组件排序,以及(2)对于组合中的每一视图来说,其相依视图也包括于组合中。
相对于本发明的技术,可使用媒体提取器轨迹和/或纯视频样本轨迹来表示各种MVC子位流。这些轨迹中的每一者可对应于一MVC操作点。
图8-21为说明根据本发明的技术的媒体提取器的数据结构和可使用的其它支持数据结构的各种实例的框图。如下文所详细论述,图8-22的各种媒体提取器包括各种特征。一般来说,图8-21的媒体提取器中的任一者可包括于文件的媒体提取器轨迹中以识别文件的经译码的样本,所述文件遵照ISO基础媒体文件格式或对ISO基础媒体文件格式的扩展。一般来说,媒体提取器可用以从所参考轨迹提取一个或一个以上完整样本。图8-12为能够识别另一轨迹的一个视频样本箱的媒体提取器的实例。如图13中所示,实施提取器的另一方式为启用来自另一轨迹的样本的样本分组。为了提供对时间可调能力的更特定支持,如图14中所示,可信令时间识别符。图16-22为MVC的媒体提取器的实例,其能够从每一视频样本箱(存取单元)提取一个或一个以上潜在不连续NAL单元。提取器的各种实例基于文件或存取单元中的偏移和字节长度,而其它实例可纯粹基于整体NAL单元的索引,因此信令字节范围并不必要。由整体NAL单元的索引信令提取器的机制也可扩展到SVC文件格式。
图8-21的实例还可直接应用于3GPP文件格式而作为对3GPP文件格式的扩展。图8-21中的一者或一者以上的元件和概念还可与图8-22中的其它者的元件组合,以形成其它提取器。虽然相对于特定文件格式来描述图8-21中的某些图,但一般来说,图8-21的实例可相对于具有类似特性的任何文件格式(例如,ISO基础媒体文件格式或ISO基础媒体文件格式的扩展)来使用。如在图21的实例中所示,为了促进所提议提取器在3GPP中的使用,3GPP轨迹选择箱可经扩展以包括(所提取)交替轨迹中的每一者的更多特性,例如时间识别符、待显示的视图的数目,和待解码的视图的数目。
图8为说明实例媒体提取器300的框图,所述实例媒体提取器300说明媒体提取器的格式。在图8的实例中,媒体提取器300包括轨迹参考索引302和样本偏移值304。根据本发明的技术,媒体提取器300可对应于可例示于媒体提取器轨迹内的数据结构的定义。多路复用器30可经配置以将遵照媒体提取器300的实例的提取器包括于视频文件的媒体提取器轨迹中,以识别视频文件的不同轨迹的NAL单元。多路分用器38可经配置以使用遵照媒体提取器300的提取器来检索经识别的NAL单元。
轨迹参考索引302可对应于其中存在经识别的NAL单元的轨迹的识别符。可向视频文件的每一轨迹指派唯一索引,以便区别视频文件的轨迹。轨迹参考索引302可指定轨迹参考的索引以用以找寻供提取数据的轨迹。供提取数据的所述轨迹中的样本可经准确地时间对准(在媒体解码时刻表中,使用时间-样本表,通过由样本偏移值304指定的偏移来调整),其中所述样本含有提取器。在一些实例中,视频文件的第一轨迹具有索引值“1”,且因此多路复用器30可向轨迹参考索引值302指派值“1”,以参考视频文件的第一轨迹。可保留轨迹参考索引值的值“0”以供未来使用。
样本偏移值304定义从媒体提取器轨迹中的媒体提取器300的时间位置到由轨迹参考索引302指代的轨迹的经识别的NAL单元的偏移值。即,样本偏移值304给出用作信息源的经链接轨迹中的样本的相对索引。样本偏移值304的值零指代具有与含有提取器的样本相同的解码时间或紧接于含有提取器的样本之前的样本。样本1(一)为下一样本,样本-1(减1)为前一样本,以此类推。举例来说,当在H.263或MPEG-4第2部分中使用遵照媒体提取器300的媒体提取器时,媒体提取器可用以提取由轨迹参考索引302参考的视频轨迹的时间子集。
以下伪码提供类似于媒体提取器300的媒体提取器类别的实例定义。
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
在实例伪码中,class MediaExtractor()经字节对准。即,当由MediaExtractor()class来例示提取器时,将在八字节边界上对准提取器。变数“track_ref_index”对应于轨迹参考索引值302,且在此实例中伪码对应于无正负号的八字节整数值。变数“sample_offset”对应于样本偏移值304,且在此实例中对应于带正负号的八字节整数值。
图9为说明媒体提取器310的另一实例的框图。媒体提取器310包括轨迹参考索引314和样本偏移值316,且另外包括样本标头312。轨迹参考索引314和样本偏移值316通常可包括类似于轨迹参考索引302和样本偏移值304(图8)的数据。
在对应于H.264/AVC的实例中,样本标头312可根据由媒体提取器310参考的视频样本的NAL单元标头来建构。样本标头312可含有具有三个语法要素的一字节数据:forbidden_zero_bit、nal_ref_idc(其可包含3个位)、nal_unit_type(其可包含5个位)。“nal_unit_type”的值可为29(或任何其它保留数字),且其它两个语法要素可与经识别视频样本中的那些语法要素相同。对于遵照MPEG-4第2部分“视觉”的实例来说,样本标头312可包含四字节代码,所述代码可包括为“0x 00 00 01”的起始码前缀和为“0xC5”(或任何其它保留数字)的起始码,其中“0x”指示“0x”之后的值为十六进制值。对于H.263来说,样本标头312还可包括不同于正常视频样本的起始码的经字节对准的起始码。样本标头312可由多路分用器38用于同步化的目的,使得可将提取器视为正常视频样本。
以下伪码提供类似于媒体提取器310的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图10为说明实例媒体提取器320的框图,所述实例媒体提取器320通过在提取器内信令经识别的NAL单元的字节范围来识别NAL单元。媒体提取器320包括可类似于样本标头312的样本标头322,和可类似于轨迹参考索引302的轨迹参考索引324。然而,媒体提取器320的实例包括数据偏移值326和数据长度值328而非样本偏移值。
数据偏移值326可描述由媒体提取器320识别的数据的起始点。即,数据偏移值326可包含代表到要复制的由轨迹索引值324识别的轨迹内的第一字节的偏移的值。数据长度值328可描述要复制的字节的数目,且因此可等效于经参考的样本(或在参考多个NAL单元时,多个样本)的长度。
以下伪码提供类似于媒体提取器320的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图11为说明实例媒体提取器340的框图,所述实例媒体提取器340含有用于未来可扩展性的保留位。媒体提取器340包括可分别类似于媒体提取器302和样本偏移值304的轨迹参考索引342和样本偏移值346。此外,媒体提取器340包括保留位344,其可包含用于对媒体提取器的未来扩展的保留位。以下伪码提供类似于媒体提取器340的媒体提取器类别的实例类别定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图12为说明实例媒体提取器350的框图,所述实例媒体提取器350使用轨迹识别符值而非轨迹参考索引值。使用轨迹识别符值来识别轨迹可指代按ISO基础媒体文件格式呈现轨迹参考箱。媒体提取器350的实例包括轨迹识别符352、保留位354和样本偏移值356。如通过围绕保留位354的虚线所指示,保留位354为可选的。即,一些实例可包括保留位354,而其它实例可省略保留位354。样本偏移值356可类似于样本偏移值304。
轨迹识别符352指定供提取数据的轨迹的轨迹ID。供提取数据的轨迹中的样本可在时间上对准(在媒体解码时刻表中,使用时间-样本表,通过由样本偏移356指定的偏移来调整),其中所述样本含有媒体提取器350。可向第一轨迹参考指派识别符值1。可保留值0以供未来使用和扩展。
以下伪码提供类似于媒体提取器350的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图13为说明实例媒体提取器样本群组360的框图。多路复用器30可将媒体提取器样本群组360包括于消息类型箱(具有类型识别符“MESG”)、样本表箱容器中。多路复用器30可经配置以将零或一个媒体提取器样本群组360对象包括于消息箱中。在图13的实例中,媒体提取器样本群组360包括轨迹参考索引362、群组类型364、群组数目计数366、保留位368和群组描述索引370。
轨迹参考索引362指定用以在某一准则下找寻来自样本群组的供提取数据的轨迹的轨迹参考的索引。即,轨迹参考索引362以类似于轨迹参考索引302的方式识别供提取由媒体提取器识别的数据的轨迹。
群组类型值364识别媒体提取器样本群组360对应于的样本群组的类型。群组类型值364通常识别用以形成取样群组的样本群组的准则,并将准则链接到由轨迹参考索引362识别的轨迹中的具有相同群组类型值的样本群组描述表。群组类型值364可包含整数值。以此方式,媒体提取器样本群组360的群组类型值可与轨迹参考索引362所参考的轨迹的群组类型相同。或者,对于视频时间子集来说,群组类型值364可定义为“vtst”,可仅针对所述群组类型定义媒体提取器样本群组,且语法表将不需要语法要素“grouping_type”。
群组数目计数值366可描述包括媒体提取器样本群组360的媒体提取器轨迹中的样本群组的数目。群组数目计数值366的值零可表示在准则下由群组类型值364参考的所有样本群组用以形成媒体提取器轨迹。群组描述索引368定义用以形成样本群组描述表中的媒体提取器轨迹的样本群组条目的索引。
根据本发明的技术,组合过程可用以将所有样本置于样本群组条目中,使得样本按时间排序,使得样本A在媒体提取器轨迹中的样本B之后指示样本A在由轨迹参考索引362指代的轨迹中的样本B之后。
以下伪码提供类似于媒体提取器样本群组360的媒体提取器样本群组类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图14为说明实例媒体提取器380的框图,所述媒体提取器380可用于遵照AVC文件格式的视频文件的情形中。媒体提取器380的实例包括轨迹参考索引382、时间识别符值384、保留位386和样本偏移值388。轨迹参考索引382和样本偏移值388可以分别类似于轨迹参考索引302和样本偏移值304的方式来使用。保留位386可经保留以供未来使用,且此时并不向其指派语义值。
时间识别符值384指定待由媒体提取器380提取的样本的时间等级。在一个实例中,时间等级在0到7(包括0和7)的范围内。如上文所论述,经编码的图片可对应于时间等级,其中时间等级通常描述帧之间的编码阶层。举例来说,可向关键帧(也称为锚定帧)指派最高时间等级,而可向并不用作参考帧的帧指派相对较低的时间等级。以此方式,媒体提取器380可通过参考样本的时间等级而非明确地识别样本自身来识别来自由轨迹参考索引382参考的轨迹的所提取样本。具有达高于由时间识别符值384定义的值的值的媒体提取器的媒体提取器轨迹可对应于具有较高帧速率的操作点。
以下伪码提供类似于媒体提取器380的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图15为说明实例MVC媒体提取器420的框图,所述实例MVC媒体提取器420可用以修改MVC以使其包括媒体提取器轨迹。媒体提取器420的实例包括可选NAL单元标头422、轨迹参考索引424、样本偏移426、连续字节集合计数428,以及包括数据偏移值430和数据长度值432的值的回路。MVC媒体提取器420可用以从特定轨迹提取视图组件的子集的多个NAL单元。MVC媒体提取器420的实例在从经参考的轨迹的样本提取数据时可跳过轨迹中的视图组件。
在存在时,NAL单元标头422可镜射由MVC媒体提取器420识别的NAL单元的NAL单元标头。即,NAL单元标头422的语法要素可根据提取器中的NAL单元标头语法或在MVC文件格式中定义的汇总工具产生过程而产生。在一些实例中,(例如)在一系列提取器将经产生以包括相关NAL单元标头时,提取器可能不需要NAL单元标头422。
轨迹参考索引值424指定轨迹参考的索引以用以找寻供提取数据的轨迹。供提取数据的轨迹中的样本可在媒体解码时刻表中在时间上对准,通过由样本偏移值426指定的偏移来调整,其中所述样本含有MVC媒体提取器420。第一轨迹参考可经指定以接收索引值1,且可保留轨迹参考索引值的值零。
样本偏移值426定义待提取的样本相对于MVC媒体提取器420的时间位置的偏移,所述样本位于由轨迹参考索引值424参考的轨迹中。样本偏移值426的值零指示待提取的样本处于同一时间位置,-1指示先前样本,+1指示下一样本,以此类推。
连续字节集合计数428描述供提取数据的轨迹的样本的连续字节集合的数目。如果连续字节集合计数428具有值零,那么将提取轨迹中的整个经参考的样本。连续字节集合也可称为样本的单独部分。
数据偏移值430和数据长度值432出现于一回路中。一般来说,回路的反复的数目(即,数据偏移值430和数据长度值432的数目)与待提取的样本的部分的数目(例如,连续字节集合的数目)有关。因此,可使用MVC媒体提取器420来提取样本的两个或两个以上部分。对于待提取的样本的每一部分来说,数据偏移值430的对应一者指示所述部分的起始(例如,所述部分的第一字节,相对于样本的第一字节),且数据长度值432的对应一者指示要复制的长度(例如,字节的数目)。在一些实例中,数据长度值432中的一者的值零可指示将复制样本中的所有剩余字节,即,所述部分对应于由数据偏移值430的对应一者指示的字节和直到样本的结束的所有其它连续字节。
以下伪码提供类似于MVC媒体提取器420的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图16为说明另一实例MVC媒体提取器440的框图,所述实例MVC媒体提取器440可用以修改MVC以使其包括媒体提取器轨迹。与如相对于图15的实例所描述的样本的特定字节形成对比,MVC媒体提取器440的实例识别特定NAL单元以供提取。在图16的实例中,MVC媒体提取器440包括可选NAL单元标头442、轨迹参考索引444、样本偏移446、连续NALU(NAL单元)集合计数448,以及NALU偏移值450和连续NAL单元的数目452的回路。通常分别以与NAL单元标头422、轨迹参考索引424和样本偏移值426相同的方式来定义NAL单元标头442、轨迹参考索引444和样本偏移值446。
连续NALU集合计数448描述供提取数据的轨迹的样本的连续NAL单元的数目。在一些实例中,如果将此值设定为零,那么提取轨迹中的整个经参考的样本。
NALU偏移值450和连续NALU的数目452出现于一回路中。一般来说,如通过连续NALU集合计数448所定义,存在与连续NALU集合一样多的NALU偏移值的例项和连续NALU的数目。每一NALU偏移值描述供提取数据的轨迹的样本处的对应NAL单元的偏移。可使用此提取器来提取从NAL单元的此偏移起始的NAL单元。连续NALU的数目的每一值描述对应NAL单元集合的要复制的整个单一经参考的NAL单元的数目。
以下伪码提供类似于MVC媒体提取器440的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图17为说明另一实例MVC媒体提取器460的框图,所述MVC媒体提取器460在存在视图组件的一个以上NAL单元时汇总同一视图组件中的NAL单元。MVC媒体提取器460可接着用以提取经识别的视图组件。在图17的实例中,MVC媒体提取器460包括可选NAL单元标头462、轨迹参考索引464、样本偏移466、连续视图集合计数468,以及视图组件偏移值470和视图组件计数472的回路。通常分别以与NAL单元标头422、轨迹参考索引424和样本偏移值426相同的方式来定义NAL单元标头462、轨迹参考索引464和样本偏移值466。
连续视图集合计数468定义由轨迹参考索引464识别的供提取数据的轨迹中的经识别的样本的连续视图组件的数目。多路复用器30可将连续视图集合计数468的值设定为零以指示将提取轨迹中的整个经参考的样本。
视图组件偏移值470和视图组件计数472出现于一回路中。一般来说,存在与连续视图集合计数468的值一样多的回路反复,且每一回路对应于连续视图集合中的一者。视图组件偏移值470中的每一者指示对应连续视图集合的供提取数据的轨迹的样本处的第一视图组件的偏移。可接着使用MVC媒体提取器460提取从视图组件的此偏移起始的视图组件。视图组件计数472中的每一者描述对应连续视图集合的样本中的要复制的整个经参考的视图组件的数目。
以下伪码提供类似于MVC媒体提取器460的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图18为说明MVC媒体提取器480的另一实例的框图,所述MVC媒体提取器480可用以参考各种轨迹。在图18的实例中,MVC媒体提取器480包括可选NAL单元标头482、连续视图集合计数484,以及样本偏移值486、轨迹参考索引值488、视图组件偏移值490和视图组件计数492的回路。NAL单元标头482可类似于NAL单元标头422而进行定义,且在一些实例中可省略。
连续视图集合计数484给出供提取数据的具有轨迹参考索引track_ref_index的媒体提取器轨迹的样本的连续视图组件的数目。track_ref_index值可指定轨迹参考的索引以用以找寻供提取数据的轨迹。供提取数据的轨迹中的视图组件可在时间上对准(在媒体解码时刻表中,使用时间-样本表,通过由样本偏移值486的对应一者指定的偏移来调整),其中样本含有MediaExtractorMVC。第一轨迹参考可具有索引值1;可保留值0以供未来使用。
MVC媒体提取器480的实例将样本偏移值486、轨迹参考索引值488、视图组件偏移值490和视图组件计数492中的每一者包括于回路中。每一回路反复对应于供提取对应于MVC媒体提取器480的样本的数据的特定轨迹。
样本偏移值486定义由轨迹参考索引值488的对应一者参考的轨迹中的样本的相对索引,所述样本可用作信息源。样本0(零)为由轨迹参考索引值488中的对应一者识别的具有与含有MVC媒体提取器480的样本相同的解码时间或紧接于含有MVC媒体提取器480的样本之前的轨迹中的样本,样本1(一)为下一样本,样本-1(减1)为前一样本,以此类推。
轨迹参考索引值488中的每一者指定轨迹参考的索引以用以找寻供提取对应回路反复的数据的轨迹。通过使用多个轨迹参考索引值,MVC媒体提取器480可从多个不同轨迹提取数据。
视图组件偏移值490中的每一者描述供提取数据的轨迹的样本处的第一视图组件的偏移,所述轨迹具有对应于此回路反复中的轨迹参考索引值488的对应一者的轨迹参考索引。可使用MVC媒体提取器480提取从视图组件的此偏移起始的视图组件。在一些实例中,可建构一种具有巢式回路结构的类似于图15-17的那些媒体提取器的媒体提取器,在所述巢式回路结构中,外部回路经由供提取样本的轨迹反复,且内部回路经由待从对应轨迹提取的样本反复。视图组件计数492中的每一者描述轨迹的样本中的经参考的视图组件的数目,所述轨迹具有对应于此回路反复中的轨迹参考索引值488中的当前一者的轨迹参考索引。
以下伪码提供类似于MVC媒体提取器480的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图19为说明另一实例MVC媒体提取器500的框图,所述实例MVC媒体提取器500信令提取器的持续时间。当媒体提取器轨迹中的不同样本共享提取器的相同语法要素时,MVC媒体提取器500可提供一个或一个以上优点。在图19的实例中,MVC媒体提取器500包括样本计数502、连续视图集合计数504、样本偏移值506、轨迹参考索引508、视图组件偏移510,和视图组件计数512。
连续视图集合计数504、样本偏移值506、轨迹参考索引508、视图组件偏移510和视图组件计数512通常可根据连续视图集合计数484、样本偏移值486、轨迹参考索引488、视图组件偏移490和视图组件计数492中的对应者来定义。样本计数502可定义含有MVC媒体提取器500的媒体提取器轨迹中的使用同一媒体提取器的连续样本的数目。
以下伪码提供类似于MVC媒体提取器500的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
图20为说明另一实例MVC媒体提取器520的框图,所述实例MVC媒体提取器520定义不同提取器的集合。对于媒体提取器轨迹中的每一样本来说,样本可使用提取器的集合中的一个或一个以上提取器,或对所述提取器的参考。即,可定义类似于MVC媒体提取器520的媒体提取器的集合,且每一样本可使用提取器的集合中的一个或一个以上提取器或对所述提取器的参考来识别另一轨迹的样本。
MVC媒体提取器520的实例包括提取器识别符值522、样本偏移值524、轨迹参考索引值526、连续视图集合计数528,以及包括视图组件偏移530和视图组件计数532的回路。样本偏移值524、连续视图集合计数528、视图组件偏移530和视图组件计数532可根据连续视图集合计数484、样本偏移值486、视图组件偏移490和视图组件计数492中的对应者来定义。轨迹参考索引值526可根据(例如)轨迹参考索引464来定义。
提取器识别符值522定义提取器(即,MVC媒体提取器520)的识别符。向同一媒体提取器轨迹中的提取器指派不同提取器识别符值,使得媒体提取器轨迹中的样本可参考提取器识别符值来使用媒体提取器。参考提取器箱还可经定义以包括提取器的数目和参考提取器识别符。提取器数目的值可提供用以复制提取器轨迹中的样本的数据的提取器的数目。当提取器数目的值等于零时,可使用具有预定提取器识别符(例如,等于零的提取器识别符)的提取器。参考提取器识别符可提供用以复制提取器轨迹中的样本的数据的提取器的提取器识别符。此箱可包括于媒体提取器轨迹的样本中。
以下伪码提供类似于MVC媒体提取器520的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
以下伪码提供上文所描述的参考提取器箱的参考提取器箱类别的实例定义:
图21为说明实例MVC媒体提取器550的框图,所述实例MVC媒体提取器550可使用映射样本群组来形成。MVC媒体提取器550的实例指定来自一系列样本条目的NAL单元群组,所述样本条目中的每一者贡献于映射样本群组中的连续NAL单元。在图22的实例中,MVC媒体提取器550包括NALU群组计数552,以及包括轨迹索引554、群组描述索引556、NALU起始映射样本558和NALU视图计数560的回路。
NALU群组计数552指定来自参考轨迹中的映射样本群组条目的NAL单元群组的数目。轨迹参考索引554各自指定轨迹参考的索引以用以找寻供提取对应回路反复的数据的轨迹。群组描述索引556各自指定用以形成对应回路反复的NAL单元群组的映射样本群组条目的索引。NALU起始映射样本558各自指定对应回路反复中的映射样本群组中的NAL单元的偏移,所述映射样本群组具有群组描述索引556的对应一者的映射样本条目索引。NALU视图计数560指定对应回路反复中的待提取到映射样本群组中的媒体提取器中的连续NAL单元的数目,所述映射样本群组具有群组描述索引556的对应一者的映射样本条目索引。
以下伪码提供类似于MVC媒体提取器550的媒体提取器类别的实例定义:
多路复用器30和多路分用器38可使用在以上实例伪码中定义的媒体提取器来例示媒体提取器数据对象。因此,多路分用器38(例如)在从所选择轨迹检索数据时可参考所例示的媒体提取器,以便从由所例示的媒体提取器参考的另一轨迹检索经识别的数据。
本发明的技术可包括用于将样本的视图组件布置于样本群组中的组合过程。样本群组条目的样本中的视图组件以时间方式进行排序,使得:如果样本A在原始轨迹(具有轨迹参考索引的索引)中在样本B之后,那么样本A中的视图组件在媒体提取器轨迹中在样本B中的视图组件之后;如果样本A具有早于样本B的解码时间的解码时间,那么样本A中的视图组件在媒体提取器轨迹中在样本B中的视图组件之后;轨迹的同一样本中的两个视图组件遵循媒体提取器映射样本群组的语法表中的呈现次序;如果轨迹的同一样本中的两个视图组件属于NAL单元的同一群组,即,其由媒体提取器映射样本群组中的同一回路的语法要素进行提取,那么所述两个视图组件遵循原始次序;且如果从在不同轨迹中但具有同一时戳的样本提取两个视图组件,那么所述两个视图组件遵循如在MVC文件格式的视图识别符箱中指定的视图次序索引的次序。
图22为说明信令轨迹选择箱的额外属性的实例经修改3GPP轨迹选择箱390的框图。根据此文献(writing)的最新3GPP标准指定AttributeList,其包括描述以下各者的属性:语言、带宽、编解码器、屏幕大小、最大包大小,和媒体类型。3GPP轨迹选择箱390的属性列表392包括语言值394、带宽值396、编解码器值398和屏幕大小值400,其根据现有3GPP标准信令这些属性。此外,本发明的技术可修改现有3GPP轨迹选择箱以使其包括帧速率值406、时间识别符值408,和(在一些状况下)显示视图数目值410和输出视图列表值412。
如在现有3GPP标准的条款5.3.3.4中所定义,语言值394定义会话等级SDP中的“交替群组”属性的群组类型LANG的值。带宽值396定义媒体等级SDP中的“b=AS”属性的值。编解码器值398定义媒体轨迹的样本描述箱中的SampleEntry值。屏幕大小值400定义媒体轨迹中的MP4VisualSampleEntry值和H263SampleEntry值的宽度和高度字段。最大包大小值402定义RTPHintSampleEntry中(例如,在RTP示意轨迹中)的MaxPacketSize字段的值。媒体类型值404描述媒体轨迹的处置器箱中的HandlerType。一般来说,这些值对应于现有3GPP标准。
帧速率值406描述对应于3GPP轨迹选择箱390的视频轨迹或媒体提取器轨迹的帧速率。时间识别符值408对应于对应于3gPP轨迹选择箱390的视频轨迹的时间识别符,且可视具有较低时间识别符值的轨迹而定。在一些实例中,多路复用器30可指示,时间识别符值408的值并非通过将值设定为经预先配置的“非指定”值(例如,8)来指定。一般来说,多路复用器30可指示,并不指定非视频轨迹的时间识别符值408的值。在一些实例中,多路复用器30还可指示,当对应视频轨迹并不含有媒体提取器且/或并未由其它轨迹作为时间子集而加以参考时,不指定时间识别符值408的值。
在于3GPP中考虑MVC的实例中,多路复用器30可包括额外属性:显示视图数目值410和输出视图列表值412。在此类实例中,多路复用器30可省略时间识别符值408。显示视图数目值410描述对应轨迹的将输出的视图的数目。举例来说,在参考并未显示的视图编码待显示的视图时,待输出的视图的数目与待解码的视图的数目不必相同。输出视图列表值412可定义识别待输出的N个视图的N个视图识别符的列表。
图23为根据本发明的技术的用于使用媒体提取器的实例方法的流程图。最初,例如A/V源装置20(图1)等源装置根据本发明的技术建构遵照文件格式的文件的视频轨迹。即,多路复用器30将经编码的视频数据组合于所述轨迹中,使得视频轨迹包括经译码的视频样本,所述视频样本包括一个或一个以上NAL单元(600)。多路复用器30还建构参考视频轨迹的一个或一个以上NAL单元中的一些或全部的提取器(602),并建构包括所述提取器的提取器轨迹(604)。此外,多路复用器30可将经编码的视频样本包括于媒体提取器轨迹和包括经编码的视频样本和/或媒体提取器的额外轨迹中。
多路复用器30可接着输出文件(606)。文件可经由发射器、收发器、网络接口、调制解调器或其它信号输出装置输出到信号,或文件可经由例如USB接口、磁性媒体记录器、光学记录器等硬件接口或其它硬件接口输出到存储媒体。
A/V目的地装置40可(例如)通过接收信号或读取存储媒体来最终接收到文件(608)。多路分用器38可选择两个(或两个以上)轨迹中的一者以进行解码(610)。多路分用器38可基于视频解码器48的解码能力、视频输出44的显现能力或其它准则来选择轨迹中的一者。当选择提取器轨迹时,多路分用器38可从所述轨迹检索由提取器轨迹中的提取器参考的NAL单元,在所述轨迹中存储有由提取器识别的经编码的视频样本。
多路分用器38可丢弃并不处于所选择轨迹中且并未由所选择轨迹中的至少一个提取器识别的经编码的视频样本(或其它NAL单元)。即,多路分用器38可避免将此类经编码的视频样本发送到视频解码器48,使得无需向视频解码器48分派解码未使用的视频数据的任务。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件来实施,那么所述功能可作为一个或一个以上指令或代码存储于计算机可读媒体上或经由计算机可读媒体来发射。计算机可读媒体可包括例如数据存储媒体或通信媒体等计算机可读存储媒体,所述通信媒体包括促进将计算机程序从一处转移到另一处的任何媒体。数据存储媒体可为任何可用媒体,其可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构。借助实例而非限制,此计算机可读存储媒体可包含:RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,可将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL),或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤缆线、双绞线、DSL,或例如红外线、无线电和微波等无线技术包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂态媒体。如本文中使用的磁盘(Disk)和光盘(disc)包括紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。上述各者的组合也应包括在计算机可读媒体的范围内。
编码于计算机可读媒体中的指令可由例如以下各者等一个或一个以上处理器来执行:一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成式或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些方面中,本文中所描述的功能性可提供于专用硬件和/或软件模块内,其经配置以用于编码和解码或并入于经组合的编解码器中。并且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可以多种装置或设备来实施,所述装置或设备包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不必要求由不同硬件单元来实现。事实上,如上文所描述,各种单元可组合于编解码器硬件单元中,或由包括如上文所描述的一个或一个以上处理器的交互操作式硬件单元的集合结合合适的软件和/或固件来提供。
已描述了各种实施例。这些和其它实例在所附权利要求书的范围内。
Claims (46)
1.一种用于编码视频数据的方法,所述方法包含:
通过源视频装置基于经编码的视频数据来建构第一轨迹,所述第一轨迹包括包含多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中;
通过所述源视频装置建构包括提取器的第二轨迹,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;
将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件中;以及
输出所述视频文件。
2.根据权利要求1所述的方法,其中所述视频文件遵照所述ISO基础媒体文件格式。
3.根据权利要求1所述的方法,其中所述视频文件遵照以下各者中的至少一者:可缩放视频译码SVC文件格式、高级视频译码AVC文件格式、第三代合作伙伴计划3GPP文件格式,和多视图视频译码MVC文件格式。
4.根据权利要求1所述的方法,其中建构所述第二轨迹进一步包含基于所述经编码的数据将一个或一个以上额外NAL单元包括于所述第二轨迹中,所述一个或一个以上额外NAL单元并未包括于所述第一轨迹的所述多个NAL单元中。
5.根据权利要求4所述的方法,其进一步包含建构第三轨迹,所述第三轨迹包括识别所述第一轨迹的所述多个NAL单元中的一者或一者以上的第一提取器,以及识别所述第二轨迹的所述一个或一个以上NAL单元中的至少一者的第二提取器。
6.根据权利要求5所述的方法,其中建构所述第三轨迹进一步包含将并未包括于所述第一轨迹和所述第二轨迹中的一个或一个以上NAL单元包括于所述第三轨迹中。
7.根据权利要求1所述的方法,其中建构所述第二轨迹包含建构识别所述第一轨迹的所述视频样本的所述多个NAL单元中的每一者的提取器,且其中所述提取器使目的地装置整体上提取所述视频样本的所述多个NAL单元中的每一者。
8.根据权利要求1所述的方法,其中建构所述第二轨迹包含通过以下操作来建构识别所述视频样本的所述多个NAL单元中的所述一者或一者以上的提取器:指定所述视频文件的所述第一轨迹中的所述视频样本的所述多个NAL单元中的所述一者或一者以上的字节范围。
9.根据权利要求1所述的方法,其中所述第一轨迹中的所述视频样本的所述多个NAL单元包含以下各者中的至少一者:共同图片的切片、非视频译码层VCL NAL单元、补充增强信息SEI消息NAL单元、所述存取单元的视频层、所述存取单元的不同视图组件,和从多个NAL单元汇总的NUL单元。
10.根据权利要求1所述的方法,其中所述多个NAL单元包含第一多个NAL单元,所述方法进一步包含基于所述经编码的视频数据建构包括第二多个NAL单元的第三轨迹,其中所述第二多个NAL单元形成所述存取单元的一部分,且其中所述第二多个NAL单元包含由所述提取器识别的所述第二经识别的NAL单元。
11.根据权利要求1所述的方法,其中所述视频样本包含第一视频样本,其中所述多个NAL单元包含第一多个NAL单元,其中所述第一轨迹进一步包含包括第二多个NAL单元的第二样本,其中所述存取单元包含所述第二样本,且其中所述第二多个NAL单元包含由所述提取器识别的所述第二NAL单元。
12.根据权利要求1所述的方法,其中所述第二NAL单元包含所述第一轨迹的所述视频样本的所述多个NAL单元中的第二NAL单元,所述第二NAL单元与所述视频样本中的所述第一经识别的NAL单元分离开至少一个字节的数据。
13.根据权利要求1所述的方法,其中所述第一轨迹和所述第二轨迹形成切换群组,使得所述第一轨迹或所述第二轨迹可基于每一轨迹的特性而选择用于通过目的地装置进行解码。
14.根据权利要求13所述的方法,其中建构所述第二轨迹包含:
信令所述第二轨迹的帧速率;
信令所述第一轨迹的所述视频样本的时间识别符以用于所述第二轨迹;且
其中当所述第二轨迹包含一个以上视图时,建构所述第二轨迹进一步包含:
信令表示在解码所述第二轨迹之后待显示的视图的数目的值;
信令用于所述第二轨迹的待显示的视图的一个或一个以上视图识别符值;以及
信令表示用于所述第二轨迹的待解码的视图的数目的值。
15.一种用于编码视频数据的设备,所述设备包含:
编码器,其经配置以编码视频数据;
多路复用器,其经配置以:基于所述经编码的视频数据来建构第一轨迹,所述第一轨迹包括包含多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中;建构包括提取器的第二轨迹,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件中;以及
输出接口,其经配置以输出所述视频文件。
16.根据权利要求15所述的设备,其中所述视频文件遵照以下各者中的至少一者:ISO基础媒体文件格式、可缩放视频译码SVC文件格式、高级视频译码AVC文件格式、第三代合作伙伴计划3GPP文件格式,和多视图视频译码MVC文件格式。
17.根据权利要求15所述的设备,其中所述多路复用器经配置以基于所述经编码的视频数据将一个或一个以上NAL单元包括于所述第二轨迹中,所述一个或一个以上NAL单元并未包括于所述第一轨迹中。
18.根据权利要求17所述的设备,其中所述多路复用器经配置以建构第三轨迹,所述第三轨迹包括识别所述第一轨迹的所述多个NAL单元中的一者或一者以上的第一提取器,以及识别所述第二轨迹的所述多个NAL单元中的一者或一者以上的第二提取器。
19.根据权利要求15所述的设备,其中所述提取器包含第一提取器,其中所述多路复用器经配置以基于所述经编码的视频数据建构包括多个NAL单元的第三提取器轨迹,且其中所述多路复用器经配置以建构所述第二轨迹以使其包括识别所述第三轨迹的所述多个NAL单元中的一者或一者以上的第二提取器。
20.根据权利要求16所述的设备,其中所述设备包含以下各者中的至少一者:集成电路;
微处理器;以及
无线通信装置,其包括所述视频编码器和所述多路复用器。
21.一种用于编码视频数据的设备,所述设备包含:
用于基于经编码的视频数据来建构第一轨迹的装置,所述第一轨迹包括包含多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中;
用于建构包括提取器的第二轨迹的装置,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二NAL单元为不连续的;
用于将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件中的装置;以及
用于输出所述视频文件的装置。
22.根据权利要求21所述的设备,其中所述视频文件遵照以下各者中的至少一者:ISO基础媒体文件格式、可缩放视频译码SVC文件格式、高级视频译码AVC文件格式、第三代合作伙伴计划3GPP文件格式,和多视图视频译码MVC文件格式。
23.根据权利要求21所述的设备,其进一步包含用于基于所述经编码的数据将一个或一个以上NAL单元包括于所述第二轨迹中的装置,所述一个或一个以上NAL单元并未包括于所述第一轨迹中。
24.根据权利要求23所述的设备,其进一步包含用于建构第三轨迹的装置,所述第三轨迹包括识别所述第一轨迹的所述多个NAL单元中的一者或一者以上的第一提取器,以及识别所述第二轨迹的所述一个或一个以上NAL单元中的至少一者的第二提取器。
25.根据权利要求21所述的设备,其中所述提取器包含第一提取器,所述设备进一步包含用于基于所述经编码的视频数据建构包括多个NAL单元的第三提取器轨迹的装置,且其中所述用于建构所述第二轨迹的装置包含用于建构所述第二轨迹以使其包括识别所述第三轨迹的所述多个NAL单元中的一者或一者以上的第二提取器的装置。
26.一种包含指令的计算机可读存储媒体,所述指令在执行时使致使处理器进行以下操作:
基于经编码的视频数据来建构第一轨迹,所述第一轨迹包括包含多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中;
建构包括提取器的第二轨迹,所述提取器识别所述第一轨迹的所述视频样本中的所述多个NAL单元中的至少一者,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;
将所述第一轨迹和所述第二轨迹包括于至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件中;以及
输出所述视频文件。
27.根据权利要求26所述的计算机可读存储媒体,其中所述视频文件遵照以下各者中的至少一者:ISO基础媒体文件格式、可缩放视频译码SVC文件格式、高级视频译码AVC文件格式、第三代合作伙伴计划3GPP文件格式,和多视图视频译码MVC文件格式。
28.根据权利要求26所述的计算机可读存储媒体,其进一步包含致使所述处理器基于所述经编码的数据将一个或一个以上NAL单元包括于所述第二轨迹中的指令,所述一个或一个以上NAL单元并未包括于所述第一轨迹中。
29.根据权利要求28所述的计算机可读存储媒体,其进一步包含致使所述处理器建构第三轨迹的指令,所述第三轨迹包括识别所述第一轨迹的所述多个NAL单元中的一者或一者以上的第一提取器,以及识别所述第二轨迹的所述一个或一个以上NAL单元中的至少一者的第二提取器。
30.根据权利要求26所述的计算机可读存储媒体,其中所述提取器包含第一提取器,所述计算机可读存储媒体进一步包含致使所述处理器基于所述经编码的视频数据建构包括多个NAL单元的第三提取器轨迹的指令,且其中致使所述处理器建构所述第二轨迹的所述指令包含致使所述处理器建构所述第二轨迹以使其包括识别所述第三轨迹的所述多个NAL单元中的一者或一者以上的第二提取器的指令。
31.一种用于解码视频数据的方法,所述方法包含:
通过目的地装置的多路分用器接收至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件,所述视频文件包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;
选择所述第二轨迹以进行解码;以及
将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到所述目的地装置的视频解码器。
32.根据权利要求31所述的方法,其进一步包含丢弃所述第一轨迹的并未由所述第二轨迹的所述提取器识别的所述多个NAL单元中的每一者。
33.根据权利要求31所述的方法,其中所述第二轨迹进一步包含并未包括于所述第一轨迹中的一个或一个以上NAL单元,所述方法进一步包含将所述第二轨迹的所述一个或一个以上NAL单元的经编码视频数据发送到所述视频解码器。
34.根据权利要求31所述的方法,其中所述视频文件进一步包含包括对应于经编码视频数据的多个NAL单元的第三轨迹,所述方法进一步包含将所述第三轨迹的所述多个NAL单元的经编码视频数据发送到所述视频解码器。
35.一种用于解码视频数据的设备,所述设备包含:
视频解码器,其经配置以解码视频数据;以及
多路分用器,其经配置以:接收至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件,所述视频文件包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;选择所述第二轨迹以进行解码;且将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到所述视频解码器。
36.根据权利要求35所述的设备,其中所述多路分用器经配置以丢弃所述第一轨迹的并未由所述第二轨迹的所述提取器识别的所述多个NAL单元中的每一者。
37.根据权利要求35所述的设备,其中所述第二轨迹进一步包含并未包括于所述第一轨迹中的一个或一个以上NAL单元,且其中所述多路分用器经配置以将所述第二轨迹的所述一个或一个以上NAL单元的经编码视频数据发送到所述视频解码器。
38.根据权利要求35所述的设备,其中所述视频文件进一步包含包括对应于经编码视频数据的多个NAL单元的第三轨迹,且其中所述多路分用器经配置以将所述第三轨迹的所述多个NAL单元的经编码视频数据发送到所述视频解码器。
39.一种用于解码视频数据的设备,所述设备包含:
用于接收至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件的装置,所述视频文件包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的;
用于选择所述第二轨迹以进行解码的装置;以及
用于将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到所述设备的视频解码器的装置。
40.根据权利要求39所述的设备,其进一步包含用于丢弃所述第一轨迹的并未由所述第二轨迹的所述提取器识别的所述多个NAL单元中的每一者的装置。
41.根据权利要求39所述的设备,其中所述第二轨迹进一步包含并未包括于所述第一轨迹中的一个或一个以上NAL单元,所述设备进一步包含用于将所述第二轨迹的所述一个或一个以上NAL单元的经编码视频数据发送到所述视频解码器的装置。
42.根据权利要求39所述的设备,其中所述视频文件进一步包含包括对应于经编码视频数据的多个NAL单元的第三轨迹,所述设备进一步包含用于将所述第三轨迹的所述多个NAL单元的经编码视频数据发送到所述视频解码器的装置。
43.一种包含指令的计算机可读存储媒体,所述指令在执行时致使处理器进行以下操作:
在接收到至少部分遵照国际标准化组织ISO基础媒体文件格式的视频文件后,所述视频文件即刻包含第一轨迹和第二轨迹,所述第一轨迹包括包含对应于经编码视频数据的多个网络接入层NAL单元的视频样本,其中所述视频样本包括于存取单元中,且所述第二轨迹包括识别所述第一轨迹的所述多个NAL单元中的至少一者的提取器,所述多个NAL单元中的所述至少一者包含第一经识别的NAL单元,且其中所述提取器识别所述存取单元的第二NAL单元,其中所述第一经识别的NAL单元与所述第二经识别的NAL单元为不连续的,选择所述第二轨迹以进行解码;以及
将由所述第二轨迹的所述提取器识别的所述第一NAL单元和所述第二NAL单元的经编码视频数据发送到视频解码器。
44.根据权利要求43所述的计算机可读存储媒体,其进一步包含丢弃所述第一轨迹的并未由所述第二轨迹的所述提取器识别的所述多个NAL单元中的每一者。
45.根据权利要求43所述的计算机可读存储媒体,其中所述第二轨迹进一步包含并未包括于所述第一轨迹中的一个或一个以上NAL单元,所述方法进一步包含将所述第二轨迹的所述一个或一个以上NAL单元的经编码视频数据发送到所述视频解码器。
46.根据权利要求43所述的计算机可读存储媒体,其中所述视频文件进一步包含包括对应于经编码视频数据的多个NAL单元的第三轨迹,所述方法进一步包含将所述第三轨迹的所述多个NAL单元的经编码视频数据发送到所述视频解码器。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24482709P | 2009-09-22 | 2009-09-22 | |
US61/244,827 | 2009-09-22 | ||
US29396110P | 2010-01-11 | 2010-01-11 | |
US61/293,961 | 2010-01-11 | ||
US29526110P | 2010-01-15 | 2010-01-15 | |
US61/295,261 | 2010-01-15 | ||
US12/785,851 | 2010-05-24 | ||
US12/785,851 US8976871B2 (en) | 2009-09-16 | 2010-05-24 | Media extractor tracks for file format track selection |
PCT/US2010/049402 WO2011035211A2 (en) | 2009-09-16 | 2010-09-17 | Multi-track video coding methods and apparatus using an extractor that references two or more non- consecutive nal units |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102714715A true CN102714715A (zh) | 2012-10-03 |
CN102714715B CN102714715B (zh) | 2016-01-20 |
Family
ID=44936065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080041293.8A Active CN102714715B (zh) | 2009-09-22 | 2010-09-17 | 用于文件格式轨迹选择的媒体提取器轨迹 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP5591932B2 (zh) |
KR (1) | KR101290467B1 (zh) |
CN (1) | CN102714715B (zh) |
TW (1) | TWI458334B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104919801A (zh) * | 2013-01-04 | 2015-09-16 | 高通股份有限公司 | 用于多视图译码加深度的纹理及深度视图的分轨存储 |
CN105052156A (zh) * | 2013-04-05 | 2015-11-11 | 高通股份有限公司 | Irap存取单元与位流切换及拼接 |
CN109618235A (zh) * | 2013-01-18 | 2019-04-12 | 佳能株式会社 | 生成设备和方法、处理设备和方法以及存储介质 |
CN110223236A (zh) * | 2013-03-25 | 2019-09-10 | 图象公司 | 用精确的运动信息增强运动图片 |
CN110460858A (zh) * | 2013-07-22 | 2019-11-15 | 索尼公司 | 信息处理装置和方法 |
CN111263237A (zh) * | 2013-07-23 | 2020-06-09 | 佳能株式会社 | 生成媒体文件的方法和设备、重建编码位流的方法和设备 |
CN114503601A (zh) * | 2019-09-24 | 2022-05-13 | 佳能株式会社 | 将媒体数据封装到媒体文件中的方法、装置和计算机程序 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9584793B2 (en) * | 2012-04-09 | 2017-02-28 | Intel Corporation | Signaling three-dimensional video information in communication networks |
US9432664B2 (en) | 2012-09-28 | 2016-08-30 | Qualcomm Incorporated | Signaling layer identifiers for operation points in video coding |
GB2542282B (en) | 2013-10-22 | 2018-08-01 | Canon Kk | Method, device, and computer program for encapsulating partitioned timed media data in a server |
US9648348B2 (en) * | 2013-10-23 | 2017-05-09 | Qualcomm Incorporated | Multi-layer video file format designs |
US20160373771A1 (en) * | 2015-06-18 | 2016-12-22 | Qualcomm Incorporated | Design of tracks and operation point signaling in layered hevc file format |
GB2560921B (en) | 2017-03-27 | 2020-04-08 | Canon Kk | Method and apparatus for encoding media data comprising generated content |
GB2575074B (en) * | 2018-06-27 | 2022-09-28 | Canon Kk | Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame |
GB2579389B (en) * | 2018-11-29 | 2022-07-27 | Canon Kk | Method, device and computer program for encapsulating media data into a media file |
KR20230124964A (ko) * | 2020-12-15 | 2023-08-28 | 엘지전자 주식회사 | 레이어 정보를 포함하는 미디어 파일 생성/수신 방법,장치 및 미디어 파일 전송 방법 |
CN114510598A (zh) * | 2021-12-30 | 2022-05-17 | 赛因芯微(北京)电子科技有限公司 | 音频元数据区块的生成方法、装置、设备及存储介质 |
US12121808B2 (en) | 2022-08-25 | 2024-10-22 | Acer Incorporated | Method and computer device for automatically applying optimal configuration for games to run in 3D mode |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050190774A1 (en) * | 2004-02-27 | 2005-09-01 | Thomas Wiegand | Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream |
US20070098083A1 (en) * | 2005-10-20 | 2007-05-03 | Visharam Mohammed Z | Supporting fidelity range extensions in advanced video codec file format |
CN101283351A (zh) * | 2005-07-19 | 2008-10-08 | 苹果公司 | 用于媒体数据传输的方法和设备 |
CN101317460A (zh) * | 2005-10-11 | 2008-12-03 | 诺基亚公司 | 用于有效的可伸缩流适配的系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040088541A (ko) * | 2002-02-25 | 2004-10-16 | 소니 일렉트로닉스 인코포레이티드 | Mp4에서 avc를 지원하기 위한 방법 및 장치 |
AU2003237120B2 (en) * | 2002-04-29 | 2008-10-09 | Sony Electronics, Inc. | Supporting advanced coding formats in media files |
CN101601305B (zh) * | 2006-10-20 | 2013-01-23 | 诺基亚公司 | 用于可伸缩多媒体的自适应路径的通用指示 |
KR101295377B1 (ko) * | 2007-03-07 | 2013-08-08 | 엘지전자 주식회사 | 파일 포맷을 구성하는 방법과 상기 파일 포맷을 가지는파일을 포함한 방송 신호를 처리하는 장치 및 방법 |
US8483282B2 (en) * | 2007-10-12 | 2013-07-09 | Qualcomm, Incorporated | Entropy coding of interleaved sub-blocks of a video block |
CA2730543C (en) * | 2008-07-16 | 2014-04-22 | Nokia Corporation | Method and apparatus for track and track subset grouping |
-
2010
- 2010-09-17 CN CN201080041293.8A patent/CN102714715B/zh active Active
- 2010-09-17 JP JP2012529954A patent/JP5591932B2/ja not_active Expired - Fee Related
- 2010-09-17 KR KR1020127009621A patent/KR101290467B1/ko active IP Right Grant
- 2010-09-21 TW TW099132093A patent/TWI458334B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050190774A1 (en) * | 2004-02-27 | 2005-09-01 | Thomas Wiegand | Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream |
CN101283351A (zh) * | 2005-07-19 | 2008-10-08 | 苹果公司 | 用于媒体数据传输的方法和设备 |
CN101317460A (zh) * | 2005-10-11 | 2008-12-03 | 诺基亚公司 | 用于有效的可伸缩流适配的系统和方法 |
US20070098083A1 (en) * | 2005-10-20 | 2007-05-03 | Visharam Mohammed Z | Supporting fidelity range extensions in advanced video codec file format |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198451A (zh) * | 2013-01-04 | 2019-09-03 | 高通股份有限公司 | 在多视图译码文件格式中当前视图对参考视图的相依性的指示 |
CN110198451B (zh) * | 2013-01-04 | 2023-04-07 | 高通股份有限公司 | 一种处理视频数据的方法、装置及存储媒体 |
CN104919801A (zh) * | 2013-01-04 | 2015-09-16 | 高通股份有限公司 | 用于多视图译码加深度的纹理及深度视图的分轨存储 |
CN104919801B (zh) * | 2013-01-04 | 2018-06-05 | 高通股份有限公司 | 用于多视图译码加深度的纹理及深度视图的分轨存储 |
US11178470B2 (en) | 2013-01-18 | 2021-11-16 | Canon Kabushiki Kaisha | Method, device, and computer program for encapsulating partitioned timed media data |
CN109618235A (zh) * | 2013-01-18 | 2019-04-12 | 佳能株式会社 | 生成设备和方法、处理设备和方法以及存储介质 |
CN110223236A (zh) * | 2013-03-25 | 2019-09-10 | 图象公司 | 用精确的运动信息增强运动图片 |
CN110223236B (zh) * | 2013-03-25 | 2023-09-26 | 图象公司 | 用于增强图像序列的方法 |
CN105052156B (zh) * | 2013-04-05 | 2018-04-03 | 高通股份有限公司 | Irap存取单元与位流切换及拼接 |
CN105052156A (zh) * | 2013-04-05 | 2015-11-11 | 高通股份有限公司 | Irap存取单元与位流切换及拼接 |
CN110460858A (zh) * | 2013-07-22 | 2019-11-15 | 索尼公司 | 信息处理装置和方法 |
CN110460858B (zh) * | 2013-07-22 | 2021-12-10 | 索尼公司 | 信息处理装置和方法 |
CN111263237A (zh) * | 2013-07-23 | 2020-06-09 | 佳能株式会社 | 生成媒体文件的方法和设备、重建编码位流的方法和设备 |
CN114503601A (zh) * | 2019-09-24 | 2022-05-13 | 佳能株式会社 | 将媒体数据封装到媒体文件中的方法、装置和计算机程序 |
Also Published As
Publication number | Publication date |
---|---|
TW201119346A (en) | 2011-06-01 |
JP2013505646A (ja) | 2013-02-14 |
CN102714715B (zh) | 2016-01-20 |
KR101290467B1 (ko) | 2013-07-26 |
TWI458334B (zh) | 2014-10-21 |
JP5591932B2 (ja) | 2014-09-17 |
KR20120116903A (ko) | 2012-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102714715B (zh) | 用于文件格式轨迹选择的媒体提取器轨迹 | |
US8976871B2 (en) | Media extractor tracks for file format track selection | |
CN103069828B (zh) | 提供用于串流传输视频数据的序列数据集 | |
RU2541155C2 (ru) | Размещение фрагментов субтрека для потоковой передачи видеоданных | |
CN103039087B (zh) | 用于发射经编码视频数据的方法和装置 | |
RU2530740C2 (ru) | Сообщение характеристик рабочей точки нескольких изображений видео (mvc) | |
CN103069799B (zh) | 发信号通知用于多路复用视频分量的数据 | |
CN102986218B (zh) | 用于串流视频数据的视频切换 | |
CN102804773B (zh) | 在mpeg‑2系统中组合多视角视频译码子位流 | |
CN102461167B (zh) | Mpeg-2系统上的产生多视图视频数据的方法和设备 | |
KR20190014500A (ko) | Http 를 통한 동적 적응형 스트리밍에서의 가상 현실 비디오 시그널링 | |
CN103053159A (zh) | 用信号传递网络串流传输视频数据的属性 | |
KR101421390B1 (ko) | 트릭 모드 비디오 표현물에 대한 비디오 샘플의 시그널링 |
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 |