CN118202345A - Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法 - Google Patents

Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法 Download PDF

Info

Publication number
CN118202345A
CN118202345A CN202380014306.XA CN202380014306A CN118202345A CN 118202345 A CN118202345 A CN 118202345A CN 202380014306 A CN202380014306 A CN 202380014306A CN 118202345 A CN118202345 A CN 118202345A
Authority
CN
China
Prior art keywords
media
block
ari
track
slice
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.)
Pending
Application number
CN202380014306.XA
Other languages
English (en)
Inventor
伊拉吉·索达加
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN118202345A publication Critical patent/CN118202345A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

处理媒体流的方法、设备和计算机可读存储介质。媒体流遵循DASH或CMAF标准。该方法可以包括接收媒体流数据,媒体流数据包括包含第一媒体块和第二媒体块的多个媒体块,以及与第一媒体块相关联的可寻址资源索引(ARI)信息;基于ARI信息确定轨道切换信息;基于轨道切换信息,确定需要切换到第二媒体块处的不同媒体轨道;以及通过相应的媒体轨道接收第一媒体块和第二媒体块,其中每一个第一媒体块和第二媒体块以不超过一个块的传输延迟传输到流客户端设备。

Description

CMAF和DASH客户端使用可寻址资源索引轨道和事件进行带宽 切换的方法
相关申请的交叉引用
本申请基于并要求2023年6月27日提交的美国非临时申请第18/342,230号的优先权,该非临时申请基于并要求2022年7月12日提交的美国临时申请第63/388,577号的优先权,上述申请通过引用并入本申请中。
技术领域
本公开总体上涉及媒体流技术,该媒体流技术包括基于超文本传输协议上的动态自适应流(DASH)和通用媒体应用格式(CMAF)。更具体地,所公开的技术涉及用于基于在可寻址资源索引(ARI)轨道和/或ARI事件中提供的信息来切换带宽(或媒体轨道)的方法和装置。
背景技术
本文提供的背景技术描述是为了总体呈现本公开的上下文。当前指定的发明人的作品,在本背景技术部分描述的工作,以及在递交本申请时本申请可能不符合现有技术的描述的方面,既不明示也不暗示地承认为本公开的现有技术。
超文本传输协议上的动态图像专家组(MPEG)动态自适应流(DASH)为IP网络上的媒体内容流提供了一个标准。在DASH标准中,媒体呈现描述(MPD)为DASH客户端提供信息,以通过从DASH服务器下载媒体片段来自适应地流式传输媒体内容。DASH标准允许多速率内容的流式传输。DASH标准的一个方面包括承载MPD事件和带内事件,以及处理这些事件的客户端处理模型。
通用媒体应用格式(CMAF)是一种封装和传输各种形式的基于超文本传输协议(HTTP)的媒体的标准。该标准通过与例如HTTP实时流媒体网络传输协议(HLS)和DASH协议一起工作,将数据封装在统一的传输容器文件下,从而简化了向播放设备传输媒体。还采用分块编码和分块传输编码来降低延迟。由于存储需求减少,从而降低了成本。
发明内容
本公开的方面提供了媒体流处理的方法和设备,更具体地说,提供了基于ARI轨道和/或ARI事件中提供的信息来切换带宽(或媒体轨道)的方法和设备。在一些示例实现中,公开了一种处理媒体流的方法。媒体流可以包括至少两个媒体轨道,并且遵循通过HTTP的动态自适应流(DASH)标准或通用媒体应用格式(CMAF)。该方法可以由例如流客户端设备执行,并且包括:接收媒体流数据,该媒体流数据包括:包括第一媒体块和第二媒体块的多个媒体块,以及与所述第一媒体块相关联的可寻址资源索引(ARI)信息;基于所述ARI信息确定轨道切换信息;基于所述轨道切换信息,确定需要切换到所述第二媒体块处的不同媒体轨道;以及通过各自的媒体轨道接收所述第一媒体块和所述第二媒体块。在一些实施方式中,每一个所述第一媒体块和所述第二媒体块中都以不超过一个块的传输延迟被传输到所述流客户端设备。
在一些示例实现中,公开了处理媒体流的另一种方法。所述媒体流包括至少两个媒体轨道,由流客户端执行,并且遵循通过HTTP的动态自适应流(DASH)标准或通用媒体应用格式(CMAF),所述方法包括以下操作。接收以下之一:来自与所述媒体流的第一媒体轨道中的第一媒体片相关联的ARI轨道中的可寻址资源索引(ARI)样本;或者与在所述媒体流的第一媒体轨道中的所述第一媒体片中嵌入的所述媒体流相关联的ARI事件。其中所述ARI事件提供以下至少一个的特征信息:所述第一媒体轨道中的所述第一媒体片,以及在所述媒体流的其它媒体轨道中并且与所述第一媒体片时间对齐的所述第一并行媒体片;或者位于所述第一媒体轨道中并跟随所述第一媒体片的第二媒体片;以及位于媒体流的其它媒体轨道中并且与第二媒体片时间对齐的第二并行媒体片。基于特征信息确定需要切换到其它媒体轨道中的一个媒体轨道。
本公开的方面还提供了一种媒体流处理设备或装置,包括配置成执行上述任何方法实施方式的电路。
本公开的方面还提供存储指令的非暂时性计算机可读介质,当该指令由计算机执行用于视频解码和/或编码时,使得计算机执行媒体流处理的方法。
附图说明
通过以下详细描述和附图,所公开主题的进一步特征、性质和各种优点将更加明显,其中:
图1示出了根据本公开实施例的系统。
图2示出了本公开实施例的通过HTTP的动态自适应流(DASH)。
图3示出了根据本公开实施例的DASH客户端架构。
图4示出了根据本公开实施例的DASH数据模型的示例。
图5示出了根据本公开实施例的CMAF数据模型的示例;
图6示出了根据本公开实施例用于在段/块级别切换媒体轨道的示例。
图7示出了基于携带切换辅助信息的ARI轨道/ARI样本的示例性外推切换和插值切换。
图8示出了基于携带切换辅助信息的ARI事件的示例性外推切换。
图9示出了基于携带具有滞后的切换辅助信息的ARI事件的示例性外推切换和插值切换。
图10示出了根据本公开的示例性实施例的方法流程图。
图11出了根据本公开的示例性实施例的计算机系统的示意图。
具体实施方式
通过超文本传输协议的动态自适应流(DASH)和媒体呈现描述(MPD)
一种流行的媒体流格式包括ISO/IEC 23009-1中定义的通过超文本传输协议的动态自适应流(DASH)。DASH是一种自适应比特率流技术,其能够使用HTTP基础设施(例如网络服务器、内容交付网络(CND)、各种代理和缓存等)来流式传输媒体内容。DASH支持从DASH服务器到DASH客户端的点播流和直播流,并允许DASH客户端控制流会话,因此在大规模部署中,DASH服务器不需要处理额外的流自适应管理负载。DASH还允许DASH客户端从各种DASH服务器中选择的流,从而实现网络的进一步负载平衡,使DASH客户端受益。DASH例如通过改变比特率来适应网络条件以提供不同媒体轨道之间的动态切换。
在DASH中,媒体呈现描述(MPD)文件为DASH客户端提供信息,以通过从DASH服务器下载媒体片段来自适应地流式传输媒体内容。MPD可以是可扩展标记语言(XML)文档的形式。MPD文件可以被分段并部分地传输,以减少会话启动延迟。MPD文件也可以在流式传输会话期间更新。在一些示例中,MPD文件支持内容可访问特征、分级和摄像机视图的表示。DASH还支持多视图和可扩展的编码内容的传输。
MPD文件可以包含一个或多个周期序列。一个或多个周期中的每个周期可以由例如MPD文件中的周期元素来定义。MPD文件可以包括每个周期的MPD的可用开始时间(availableStartTime)属性和开始(start)属性。对于动态类型的媒体呈现(例如,用于直播服务),周期的start属性和MPD属性availableStartTime以及媒体段的持续时间的和可以以协调世界时间(UTC)格式指示周期的可用时间,特别是相应周期中每个呈现的第一媒体段。对于静态类型的媒体呈现(例如,用于点播服务),第一周期的start属性可以是0。对于任何其它周期,start属性可以指定相应周期的开始时间相对于第一周期的开始时间之间的时间偏移量。每个周期可以延长到下一个周期的开始,或者在最后一个周期的情况下,延长到媒体呈现的结束。周期开始时间可以是精确的,并且反映了播放之前的周期的媒体所产生的实际时间。在示例实施方式中,提供MPD使得下一个周期是前一个周期内容的延续,下一个周期可能是紧接着的周期或后一个周期(例如,在插入广告周期之后)。
每个周期可以包含一个或多个适配集,并且每个适配集可以包含相同媒体内容的一个或多个表示。表示可以是音频或视频数据的多个可选编码版本中的一个。这些表示可以根据编码类型而有所不同,例如,因比特率、分辨率和/或视频数据和比特率的编解码器和/或音频数据的编解码器而不同。术语表示可用于指代对应于多媒体内容的特定周期并以特定方式编码的编码音频或视频数据的一部分。
可以将特定周期的适配集分配给MPD文件中的组属性所指示的组。同一组中的适配集通常认为是相互替代的。例如,可以将特定周期的视频数据的每个适配集分配给同一组,使得可以选择任何适配集进行解码,以显示相应周期的多媒体内容的视频数据。在一些示例中,一个周期内的媒体内容可以由来自组0的一个适配集(如果存在的话)表示,或由来自每个非零组的至多一个适配集的组合来表示。周期的每个表示的时序数据可以相对于该周期的开始时间来表示。
一个表示可以包括一个或多个段。每个表示可以包括初始化段,或者表示的每个段可以是自初始化的。当存在初始化段时,初始化段可以包含用于访问表示的初始化信息。在某些情况下,初始化段不包含媒体数据。段可以由标识符唯一引用,例如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)。
在示例性实施方式中,URL可以根据IETF RFC 3986定义为<absolute-URI>,例如,具有“http”或“https”的固定方案,如果范围属性与URL一起提供,则可能受到字节范围的限制。例如,字节范围可以表示为IETF RFC 2616中定义的字节范围规范。字节范围规范可以限制为识别连续字节范围的单个表达式。在一个实施例中,段可以包括与数据URL包括在MPD中,如在IETF RFC 2397中所定义的。
MPD文件可以提供每个段的标识符。在一些示例中,MPD文件还可以以范围属性的形式提供字节范围,该范围可以对应于可由URL、URN或URI访问的文件中的段的数据。
子表示可以嵌入(或包含)在常规表示中,并由子表示元素(例如,子表示)描述。子表示元素可以描述嵌入在表示中的一个或多个媒体内容成分的属性。例如,子表示元素可以描述嵌入音频成分(例如,编解码器、采样速率等)、嵌入的子标题(例如,编解码器)的属性,或者,子表示元素可以描述一些嵌入的较低质量视频层(例如,一些较低的帧速率等)。子表示和表示元素可以共享一些公共属性和元素。
每个表示还可以包括一个或多个媒体成分,其中每个媒体成分可以对应于一个单独媒体类型的编码版本,例如音频、视频或定时文本(例如,用于隐藏式字幕)。媒体成分在一个表示中跨越连续媒体段的边界可以是时间连续的。
在一些示例实施方式中,DASH客户端可以从DASH服务器访问和下载MPD文件。也就是说,DASH客户端可以检索用于启动实时会话的MPD文件。基于MPD文件,对于每个所选的表示,DASH客户端可以做出一些决定,包括确定服务器上可用的最新片段是哪个,确定下一个片段和可能的未来片段的片段可用性开始时间,确定何时开始该片段的播放以及从该片段中的哪个时间线开始播放,以及确定何时得到/获取新的MPD文件。一旦服务播放完毕,客户端就可以保持追踪实时服务和它自己的播出之间的漂移,这需要检测和补偿。
通用媒体应用格式(CMAF)
用于分段媒体的通用媒体应用格式(CMAF)是一种可扩展的标准,用于编码和封装分段媒体对象,以便在自适应多媒体呈现中在终端用户设备上传输和解码。CMAF规范定义了一些逻辑媒体对象,如下所述。
CMAF轨道可以包含编码的媒体样本,包括音频、视频和字幕。媒体样本存储在从ISO基本媒体文件格式(ISO_BMFF)派生的CMAF指定容器中。媒体样本可以选择性地由MPEG通用加密来保护。轨道可以包括CMAF报头和一个或多个CMAF片段。
CMAF交换集可以包含替代轨道,其可以在CMAF片段边界处切换和拼接以自适应地以不同比特率和分辨率流式传输相同内容。对齐的CMAF交换集是从具有可选的编码的同一源编码的两个或多个CMAF交换集,例如,不同的编解码器,并且时间彼此对齐。
CMAF选择集是一组相同媒体类型的交换集,其可以包括替代内容(例如,不同的语言)或替代编码(例如,不同的编解码器)。
CMAF呈现可以包括一个或多个呈现时间同步的选择集。
CMAF支持可寻址对象,使得媒体内容可以传输到不同的平台。CMAF可寻址对象可以包括:
·CMAF头:头包括用于初始化轨道的信息。
·CMAF段:来自同一轨道的一个或多个连续片段的序列。
·CMAF块:一个块包含来自片段的样本的连续子集。
·CMAF追踪文件:一个ISO_BMFF文件中的完整轨道。
DASH和CMAF事件
在DASH和CMAF中,事件提供了一种向DASH/CMAF客户端及其相关应用发送附加信息的方法。在示例实施方式中,事件是定时的,因此具有开始时间和持续时间。事件信息可以包括描述媒体呈现的内容的元数据。附加地或替代地,事件信息可以包括媒体播放器的控制消息,该控制消息与媒体呈现的回放期间的特定时间相关联,例如广告插入提示。该事件可以实现为例如MPD事件或带内事件。它们可以是清单文件(例如MPD)的一部分,或者嵌入基于ISOBMFF的媒体文件中,例如事件消息(emsg)框。
媒体呈现描述(MPD)事件是可以在MPD中发出信号的事件。可以在MPD中以周期级别提供分配给媒体呈现时间的事件序列。相同类型的事件可以由period元素中的事件流元素(例如EventStream)指定。即使事件开始时间在周期边界之后或事件持续时间超出周期边界,事件也会在周期结束时终止。事件流元素包括消息方案标识信息(例如@schemeIdUri)和事件流元素的可选值(例如@value)。此外,由于事件流包含定时事件,可以提供时间尺度属性(例如@timescale)来将事件分配给周期内的特定媒体呈现时间。定时事件本身可以由包含在事件流元素中的事件元素来描述。
通过将事件消息添加为媒体段的一部分,可以将带内事件流与表示进行复用。事件流可以在所选的表示中,仅在一个或几个所选的适配集中,或者在所有表示中。例如,一种可能的配置是只有音频适配集包含带内事件,或者只有视频适配集包含带内事件。表示中的带内事件流可以由不同级别(例如,自适配集级别或表示级别)上的带内事件流元素(例如,InbandEventStream)来指示。此外,一个表示可以包含多个带内事件流,每个带内事件流由单独的带内事件流元素来指示。
图1示出了本公开实施例的系统。系统(100)包括内容服务器(110)和信息处理设备(120)。内容服务器(110)可以提供内容流,包括主要内容(例如,主节目)和一个或多个定时元数据轨道。
信息处理设备(120)可以与内容服务器(110)连接。例如,信息处理设备(120)可以回放从内容服务器(110)接收的内容。内容的回放可以基于信息处理设备(120)(例如,从内容服务器(110))接收的清单文件(例如,MPD)来执行。清单文件还可以包括一个或多个定时元数据轨道的信令。
图2示出了示例性的DASH/CMAF系统。DASH系统(200)可以包括连接到网络(250)的内容服务器(210)、广告服务器(220)和信息处理设备(230)。DASH系统(200)还可以包括一个或多个补充内容服务器。
内容服务器(210)可以向信息处理设备(230)提供主要内容(例如,主程序)和清单文件(例如,MPD)。例如,清单文件可以由MPD生成器(214)生成。在其它实施例中,主要内容和清单文件可以由不同的服务器提供。
信息处理设备(230)接收MPD,并且可以基于MPD从内容服务器(210)的HTTP服务器(212)获取主要内容。MPD可以由在信息处理设备(230)上执行的DASH客户端(232)处理。此外,DASH客户端(232)可以从广告服务器(220)获取广告内容,或者从一个或多个补充内容服务器获取其它内容(例如,交互式内容)。主内容和广告内容可以由DASH客户端(232)处理并输出以在显示设备(236)上显示。显示设备(236)可以集成在信息处理设备(230)中或在信息处理设备(230)外部。此外,DASH客户端(232)可以从一个或多个定时元数据轨道中提取事件信息,并将提取的事件信息发送到应用(234)进行进一步处理。应用(234)可以配置为例如基于事件信息显示补充内容。
广告服务器(220)可以将广告内容存储在诸如存储器之类的广告存储器中。信息处理设备(230)可以基于事件信息请求存储的广告内容。
图3示出了根据本公开实施例处理DASH和CMAF事件的示例DASH/CMAF客户端架构。DASH/CMAF客户端(或DASH/CMAF播放器)可以配置为与应用(390)进行通信并处理各种类型的事件,包括(i)MPD事件,(ii)带内事件,以及(iii)定时元数据事件。
清单解析器(305)解析清单(例如,MPD)。例如,清单由内容服务器(110,210)提供。清单解析器(305)提取关于MPD事件、带内事件和嵌入在定时元数据轨道中的定时元数据事件的事件信息。缩提取的事件信息可以提供给DASH逻辑单元(310)(例如,DASH播放器控制、选择和启发式逻辑)。DASH逻辑单元(310)可以基于事件信息向应用(390)通知清单中发出信号的事件方案。
事件信息可以包括区分不同事件流的事件方案信息。应用(390)可以使用事件方案信息来订阅感兴趣的事件方案。应用(390)还可以通过一个或多个订阅API来指示每个订阅方案的期望调度模式。例如,应用(390)可以向DASH客户端发送订阅请求,该订阅请求指示一个或多个感兴趣的事件方案和任何期望的相应调度模式。
如果应用(390)订阅一个或多个事件方案,该事件方案作为一个或多个定时元数据轨道的一部分而传输,带内事件和“moof”解析器(325)可以将一个或多个定时元数据轨道流式传输到定时元数据轨道解析器(330)。例如,带内事件和“moof”解析器(325)解析电影片段框(“moof”),随后基于来自DASH逻辑单元(310)的控制信息来解析定时元数据轨道。
定时元数据轨道解析器(330)可以提取嵌入在定时元数据轨道中的事件消息。提取的事件消息可以存储在事件和定时元数据缓冲器(335)中。同步器/调度器模块(340)(例如,事件和定时元数据同步器和调度器)可以向应用(390)调度(或发送)所订阅的事件。
MPD中描述的MPD事件可以由清单解析器(305)解析并存储在缓冲器(335)中。例如,清单解析器(305)解析MPD的每个事件流元素,并且解析在每个事件流元素中描述的每个事件。对于在MPD中发信号的每个事件,诸如呈现时间和事件持续时间之类的事件信息可以与该事件相关联地存储在缓冲器(335)中。
带内事件和“moof”解析器(325)可以解析媒体段以提取带内事件消息。任何这种识别的带内事件以及相关的呈现时间和持续时间都可以存储在缓冲器(335)中。
因此,缓冲器(335)可以在其中存储MPD事件、带内事件和/或定时元数据事件。例如,缓冲器(335)可以是先进先出(FIFO)缓冲器。缓冲器(335)可以与媒体缓冲器(350)对应地进行管理。例如,只要媒体段存在于媒体缓冲器(350)中,对应于该媒体段的任何事件或定时元数据都可以存储在缓冲器(335)中。
DASH访问应用编程接口(API)(315)可以通过HTTP协议栈(320)管理包括媒体内容和各种元数据的内容流(或数据流)的获取和接收。DASH访问API(315)可以将接收到的内容流分成不同的数据流。提供给带内事件和moof解析器的数据流可以包括媒体段、一个或多个定时元数据轨道以及包括在媒体段中的带内事件信令。在实施例中,提供给清单解析器305的数据流可以包括MPD。
DASH访问API(315)可以将清单转发给清单解析器(305)。除了描述事件之外,清单还可以向DASH逻辑单元(310)提供关于媒体段的信息,DASH逻辑单元可以与应用(390)、带内事件和moof解析器(325)通信。应用(390)可以与DASH客户端处理的媒体内容相关联。在应用(390)、DASH逻辑(310)、清单解析器(305)和DASH访问API(315)之间交换的控制/同步信号可以基于清单中提供的关于媒体段的信息来控制从HTTP栈(320)获取媒体段。
带内事件和moof解析器(325)可以将媒体数据流解析成媒体段,包括媒体内容、定时元数据轨道中的定时元数据以及媒体段中的通过信号通知的任何带内事件。包括媒体内容的媒体段可以由文件格式解析器(345)解析并存储在媒体缓冲器(350)中。
存储在缓冲器(335)中的事件可以允许同步器/调度器(340)通过事件/元数据API向应用传输与应用相关的可用事件(或感兴趣的事件)。应用可配置为处理可用事件(例如,MPD事件、带内事件或定时元数据事件),并通过通知同步器/调度器来订阅特定事件或定时元数据(340)。存储在缓冲器(335)中的与应用无关、而是与DASH客户端本身相关的任何事件可以由同步器/调度器(340)转发到DASH逻辑单元(310)进行进一步处理。
响应于订阅特定事件的应用(390),同步器/调度器(340)可以与应用已经订阅的事件方案对应的应用事件实例(或定时元数据样本)进行通信。可以根据由(例如,对于特定事件方案)订阅请求指示的调度模式或默认调度模式来传输事件实例。例如,在接收时调度模式中,事件实例可以在缓冲器(335)中接收时被发送到应用(390)。另一方面,在启动调度模式中,事件实例可以在其相关的呈现时间中例如与来自媒体解码器(355)的定时信号同步地发送到应用(390)。
DASH/CMAF媒体轨道切换
在DASH和CMAF中,支持多个可切换的媒体轨道。可以为相同的媒体内容提供这些媒体轨道,但是每个媒体轨道可以具有不同的比特率,以支持不同的分辨率和不同的传输带宽条件。在媒体流会话中,客户端(例如,DASH客户端或CMAF客户端)可以选择从一个轨道切换到另一个轨道,例如,以适应某个带宽条件、分配给客户端的带宽资源等。
在一些示例性实施方式中,媒体轨道也可以称为媒体表示。
图4显示了一个示例性DASH数据模型。如图4所示,适配集3包括4个表示,每个表示具有不同比特率的不同轨道。表示2具有2Mbps(兆比特每秒)比特率,由一个或多个媒体段组成。示例性地,在图4所示的DASH数据模型中,最小的媒体片单元是“段”。
图5显示了一个示例性CMAF数据模型。如图5所示,切换集3包括4个CMAF轨道,每个轨道代表不同的比特率。CMAF轨道2的比特率为2Mbps,由一个或多个块组成。示例性地,在图5所示的CMAF数据模型中,最小的媒体片单元是“块”。
DASH/CMAF可寻址资源索引
在一些示例性实施方式中,期望自适应媒体流客户端(例如,DASH或CMAF客户端)知道精确的可寻址资源索引(ARI)信息,该信息在元数据轨道中描述了例如ISO/IEC23000-19中定义的CMAF交换集的子集和可寻址资源的所有细节。ARI信息还可以描述DASH适配集的子集所有细节。ARI信息可以包括:存在于同一适配集/交换集中的定时对齐段或块的偏移、大小、持续时间和质量。有了这样的ARI信息,DASH/CMAF客户端可以使用例如与即将到来的块或段的相关信息,以帮助客户端启发。可寻址资源可以包括CMAF上下文中的轨道文件、片段或块。对于按需服务,可以由分段索引来提供这种信息的精确映射。请注意,类似的概念和实施方式也可能适用于DASH上下文。
在一些示例性实施方式中,ARI信息可以携带在ARI轨道中的ARI样本或ARI事件中。
在一些示例实现中,可寻址资源索引(ARI)可以定义为如下:
样本条目类型:'cari'
容器:样本描述框(“stsd”)
强制性:否(NO)
数量:0或1
该元数据在单个索引轨道中描述了例如在ISO/IEC 23000-19中定义的CMAF交换集的子集和可寻址资源的所有细节。
下面的表1示出了CMAF可寻址资源索引元数据的示例性样本条目。
表1:ARI元数据示例条目
下表2示出了ARI样本的示例性语法。
表2:ARI样本的语法
示例性地,上述语法的语义描述如下:
·switching_set_identifier为应用上下文中的交换集指定唯一标识符。
·num_tracks表示ARI轨道中编了索引的轨道数。
·track_ID使用track_ID在轨道的样本中提供选择和排序。
·num_quality_indicators指定用于标识块的质量的质量指示符的数量。
·quality_identifier指定一个标识符,该标识符说明期望如何解释样本中的质量值。这是一个可以注册的4CC代码。
·segment_start_flag指示块是否是段的开始。
·marker标识该块是否包括至少一个styp框。
·SAP_type标识块的SAP类型。
·emsg_flag指示块是否提供至少一个emsg框。
·prft_flag指示该块是否包括至少一个prft框。
·offset标识块从段开始的偏移量。
·size提供以八位字节为单位的块的大小。
·quality根据给定的质量方案标识符提供块的质量。质量值的数据类型(整数或浮点)由质量方案定义。如果质量方案标识符是一个空字符串,则质量是一个无符号整数,其线性解释为质量随着值的增加而增加。
·loss表示块的媒体数据丢失。
·num_prediction_pairs表示提供了多少对预期的预测值。
·prediction_min_windows提供与MPD值相同的minbuffer时间值。
·predicted_max_bitrate提供与MPD语义相同的带宽值,该语义在prediction_min_windows值的持续时间内保持不变。
携带事件的ARI运输
在DASH/CMAF下的示例性实施方式中,创建专用元数据轨道,即ARI轨道,以携带ARI相关信息,例如在相同适配集/交换集中的定时对齐片段或块的偏移、大小和质量,因此客户端可以具有关于即将到来的块或段的相关信息,以帮助客户端启发,例如,客户端可以在媒体轨道或表示之间的动态切换中使用该信息。
注意,使用元数据轨道来携带ARI信息(例如,ARI样本)的一个缺点是过多的信令开销。例如,对于每个需要ARI信息的段,客户端需要一个额外的HTTP GET请求。
本公开中的实施例包括一种在不使用ARI元数据轨道的情况下携带ARI(或ARI信息、ARI样本)的方法。也就是说,在本公开中,ARI样本可以经由诸如带内事件或MPD事件之类的事件发送,而不是使用元数据轨道来携带ARI,这需要额外的HTTP GET请求(因为ARI样本与媒体段/块分开发送)。这种携带ARI样本的方法认为是“媒体段/块相关ARI传输”,因为ARI样本与媒体段/块一起发送。携带ARI的事件称为ARI事件。使用ARI事件至少可以提供以下优点:
1、不需要额外的元数据追踪,这使得CMAF/DASH客户端对每个需要额外ARI信息的段/块少了一个HTTP GET请求。例如,CMAF/DASH客户端可能需要额外的ARI信息来帮助处理段/块。在这种情况下,ARI信息可以直接从与段/块一起携带的ARI事件中检索。
2、事件处理模型允许处理事件消息并将其分派到DASH/CMAF客户端。处理模型允许将待携带的ARI样本的定时作为事件定时模型的一部分。
3、灵活性——就ARI而言,例如,根据带内事件的需要,DASH自适配集或CMAF交换集中的一个、一些或所有表示中的事件可能携带该ARI信息。
4、适应性和可移植性——ARI事件可以由封装器解析(例如,来自带内事件或从编码器接收的ARI轨道),并作为MPD事件添加到MPD。
在一些示例性实施方式中,块/段的ARI信息可以包括在相同的块/段中。
在一些示例性实施方式中,块/段的ARI信息可以包括在按时间轴排列的以下块/段中。
在一些示例性实施方式中,可以使用MPD事件而非带内事件来携带ARI信息。特别地,这种实施方式可能适合于点播内容。
在一些示例性实施方式中,可以在emsg框中携带ARI信息。每个emsg框可以属于由方案URN标识符定义或与方案URN标识符相关联的事件方案。
下面的表3说明了MPD中ARI事件的示例性参数。
表3:MPD中ARI事件的参数
如表3所示,EventStream和InbandEventStream两个元素可用于描述ARI事件。两个流可以包括值属性。值属性可以携带CmafAriMetaDataSampleEntry字段,如表1所述。例如,CmafAriMetaDataSampleEntry字段可以包括以下字段:
·switching_set_identifier
·num_tracks
·num_quality_indicators
·ordered list of track_ids
·list of quality_identifier
在一些示例实现中,事件元素可以包括呈现时间属性(presentaionTimeattribute),例如,Event@presentationTime,指示相对于使用事件中的ARI信息的周期开始的块偏移量。
在一些示例性实施方式中,事件元素可以包括持续时间属性(例如,Event@duration),指示应该使用ARI信息的持续时间。例如,这可以包括块的持续时间或段的持续时间。
在一些示例性实施方式中,事件可以包括事件体。事件体可以与表2所定义的CmafAriFormatStruct共享相同的构造。
下面的表4示出了带内ARI事件的示例性emsg参数。
表4:带内ARI事件的参数
请注意,MPD事件中的事件体和带内事件中的message_data共享同一个CMAF ARI样本结构CmafAriFormatStruct。因此,从事件调度器接收事件后,ARI样本的解析和处理是相同的。也就是说,对于MPD事件和带内事件,可以共享相同的解析和处理逻辑。
在一些实施例中,可以根据例如ISO/IEC 23009-1的条款A.13来处理和调度ARI事件。例如,如图3所示,ARI事件可以在示例性DASH/CMAF客户端架构下进行处理和调度。
在一些实施例中,在调度ARI事件之后,将发生该ARI事件的后处理。后处理可能依赖于表5所示的参数。
表5:事件/定时元数据ARI参数和数据类型
在本公开中,描述了通过采用ARI事件或ARI轨道样本来增强媒体轨道切换的各种实施例。例如,ARI事件(或ARI轨道样本)可以携带同一交换集/自适应集中的任何或所有轨道的任何或所有对齐块(并行块)的大小、质量和偏移信息。CMAF/DASH客户端可以使用ARI轨道样本或ARI事件中携带的信息在相关块边界切换到另一个轨道/表示。
图6示出了用于在段/块级别切换媒体轨道的示例。如图6所示,存在3个表示例如不同比特率的轨道/表示。每个轨道中的块与其它轨道中的相应块在时间上对齐。例如,每个轨道中的块C1是时间对齐的。在不同轨道中的这些时间对齐的块可以称为并行块。例如,所有C1块都是并行块;所有C2块都是并行块。在图6中,以下面的方式执行示例性块级切换。
在C1 610之后,切换到C2 612;在C3 614之后,切换到C4 616;在C4 616之后,切换到C5 618。
注意,在图6中,在DASH或CMAF中支持的最小媒体数据单元级别上完成轨道切换。例如,该单元可能是CMAF中的一个块,也可能是DASH中的一个段。也可以支持不同级别的切换,例如DASH表示级别或CMAF轨道级别。
在轨道/表示切换中,有两个关于切换决定的关键时间点。第一个时间点是客户端做出切换决定的时间,第二个时间点是切换发生的时间(例如,从哪个块开始)。例如,切换决定可以在块(例如,图6中的C1块)的开始、结束或期间做出。该决定可以是,例如,从C2块开始切换到轨道2(因此C2块是切换点);或者从C1块开始切换到轨道3(C1块是切换点);或者从C3块开始切换到轨道2(C3块是切换点)。
在一些实施例中,在块i处做出的切换决定是在块i+n处切换的决定,其中i和n是非负整数。
在一些实施例中,用于切换的辅助信息可以携带在ARI事件或ARI轨道样本中。DASH/CMAF客户端可以使用最新的可用辅助信息来做出切换到不同轨道/表示的决定。
在一些实施例中,对于每个轨道/表示,辅助信息可以包括:
·当前(或下一个)块的偏移和大小。
·当前(或下一个)块的质量。质量可以包括媒体的分辨率。
在一些实施例中,辅助信息可以是隐式的,并且DASH/CMAF客户端可以使用辅助信息来导出切换点。
在一些实施例中,辅助信息可以是明确的。例如,辅助信息可以携带切换点的明确指示(例如,块及其相应的轨道),并且DASH/CMAF客户端可以仅仅依据该辅助信息来进行切换。
在本公开中,当DASH/CMAF客户端处于流会话中时,可以使用几种不同的方法来进行轨道/表示切换。例如,客户端可以决定在下一个块/段中(例如,当前块是C1,在C2处切换),或者在下一个第n个块/分段中(例如,当前块是C1,在C4处切换)需要切换于另一个例子,客户端可以决定当前块需要立即切换。在客户端可以更早开始请求/接收/缓冲媒体数据的意义上,早期切换决定可能是有益的。然而,如果需要快速适应当前带宽条件,则可能需要立即切换的决定。客户可以根据需要使用适当的方法。
在一些实施例中,如果客户端正在使用块传输来流式传输表示,则它正在获得流式传输中的块/段以及ARI轨道或ARI事件。例如,DASH/CMAF客户端可以经由不同于媒体轨道的轨道接收ARI样本;或者DASH/CMAF客户端可以接收与媒体块复用或嵌入在媒体块中的ARI事件。
图7-9示出了DASH/CMAF客户端接收ARI信息的示例时序。ARI信息可以仅携带切换辅助信息,或者除了切换辅助信息外,还可以携带其它信息。为了简单地讨论和说明,在这些图中假设编码器和客户端之间的传输延迟为零。在这种假设下,封装器的输出,即块/段、该块/段的ARI样本或嵌入了事件的块/段,一旦在封装器处准备好,就可以同时对客户端可用。请注意,当考虑传输延迟时,相同的基本原则仍然适用。在下面的实施例中,媒体单元“块”用于说明目的。这些实施例也适用于其它媒体单元,例如段。
在图7-9中,每个时间点(如T1、T2)的垂直虚线表示信息的可用性。
在一些实施例中,如图7所示,用于支持带宽切换的ARI信息经由例如ARI样本被携带于ARI轨道中。请注意,ARI轨道不同于包括媒体块或媒体段的媒体轨道。
如图7所示,ARI样本1携带的块C1的ARI信息(例如,位置、大小和质量)在T1处可用(由DASH/CMAF客户端接收)。然后,客户端可以使用C1(或与C1相关联)的ARI信息,并做出在C2处切换的决定。即,在T1处,基于C1 ARI信息,客户端能够在接收C2块(即,C1的下一块)之前决定切换。由于ARI信息是关于所接收的块C1的或与所接收的块C1相关联,并且切换决定是针对下一个块的,所以这种方法称为外推切换。也就是说,基于过去块的ARI信息做出切换决定,以便在下一个块进行切换,因此,切换决定基于估计/预测。ARI信息用于确定未来块的切换,该未来块的特征是估计或预测。例如,C1的ARI信息用于估计/预测块C2的特征。一旦基于ARI信息做出切换决定,客户端将切换到C2块的另一个轨道。
在一些示例性实施方式中,一旦做出切换决定,客户端可以开始接收和/或缓冲期望块的C2块。
在一些示例性实施方式中,图7中的ARI样本1可以携带一部分或所有并行块(例如,如图6所示的所有轨道中的C1块)的切换辅助信息(位置、大小和质量)。例如,ARI信息可以携带所有并行C1块的交换辅助信息。
除了如上所述的外推切换解决方案之外,本公开的实施例还提供了当使用ARI轨道时的插值切换解决方案。如图7所示,由C2块的ARI样本2携带的ARI信息将在T2处变得对客户端可用。也就是说,客户端需要等到T2才能获得C2的ARI信息。然后,基于C2 ARI信息,客户端可以决定接通C2(即,切换点是C2块,或者切换到另一轨道的并行C2块)。在这种情况下,为了让客户端决定是否在C2块处切换,使用C2块本身的ARI信息,并且ARI信息是准确的。在这种情况下,切换决定是基于准确的信息,而不是在外推解决方案中那样切换决定是基于来自先前块的估计。
示例性地,由ARI样本2携带的ARI信息可以用于一个或多个并行C2块,或者用于所有的并行C2块。
作为比较,上面讨论的外推切换方法和内插切换方法都选择在C2块处切换。在外推交换中,基于来自C1块的ARI信息的估计/预测,在T1处做出切换决定。可以进一步参考以下至少一项来执行估计/预测:
·当前网络状况,如DASH/CMAF客户端可用的带宽;
·当前回放要求,如媒体质量、媒体大小和媒体偏移。
DASH/CMAF客户端通过使用来自C1块的ARI信息的估计/预测,能够决定是否需要切换以及将为切换选择哪个C2块(如果需要切换)。
另一方面,在内插切换中,基于对切换决定准确的C2块的ARI信息,在T2做出切换决定。注意,可以参考当前网络条件和/或当前回放要求,基于ARI信息来做出切换决定。
因此,外推切换可以获得较早的切换决定(即,在T1处决定,早于T2),但是该决定是基于估计/预测的。内插切换可以获得更精确的切换决定,但是该决定是稍后做出的,例如,通过一个块(即,在T2处的决定,比T1晚一个块)。一旦做出切换决定,客户端可以开始请求/接收/缓冲选择的块。
在一些示例实施方式中,在内插切换方法下,客户端可以首先接收ARI样本(例如,对于块C2),然后以一个块延迟来接收相应的块。
在一些实施例中,基于ARI事件(无延迟)执行带宽切换/轨道切换。如图8所示,在ARI事件中携带用于支持带宽切换的ARI信息(即,切换辅助信息),该ARI事件与块复用或嵌入在块中。
如图8所示,由ARI事件1(标记为810)携带的块C1的切换辅助信息(例如,位置、大小和质量)在T1可用于客户端(由客户端接收)。请注意,由于事件相对于块C1是“带内”的,因此DASH/CMAF客户端在T1处接收事件1和块C1。在这种情况下,可以使用如上所述的外推切换方法。即,基于块C1的ARI信息,客户端能够进一步参考当前网络条件和/或当前回放要求,使用预测/估计来做出切换决定。如果在C2需要切换,则客户端可以进一步在并行C2块中选择特定的C2块。
请注意,在这种情况下,内插切换方法并不合适。因为在内插切换中,当前块中的ARI事件应该用于指示(直接或间接)当前块上的切换,但是由于已经接收到该块,所以进行切换为时已晚。例如,当接收到ARI事件1时,也接收到块C1,因此进行切换的最早时间将是T2。
在一些实施例中,基于具有滞后的ARI事件来执行带宽切换/轨道切换。如图9所示,在ARI事件中携带用于支持带宽切换的ARI信息(即,切换辅助信息),具有一个块延迟。在这种情况下,块i有一个关于块i+1的ARI事件,其中i是一个整数。下面参照图9给出一个例子。
在图9中,ARI事件2(标记为910)携带C2块的切换辅助信息,并且只能在C2块从编码器侧准备好之后进行编译。因此,在封装器端,存在一个块延迟:封装器不是与编码器的输出并行(或同步)打包块C1,将不得不等待一个块的持续时间以让编码器生成C2块,并基于C2块编译ARI事件2,然后将ARI事件2与C1块复用。注意,在这种情况下,诸如C1的当前块携带后续块的ARI事件(例如,块i携带块i+n的ARI事件,其中i和n是整数)。
图9示出了上述的延迟模式。如图9所示,对于相同的块,封装器的时间线向右移动一个块。
在图9中,C2块的切换辅助信息在T2处与C1块一起可用。
在一些示例性实施方式中,可以使用外推切换方法来做出切换决定。例如,在T2处,基于C1块中携带的C2块的切换辅助信息,客户端能够使用预测/估计,进一步参考当前网络条件和/或当前回放要求,做出关于是否在C3块处切换的切换决定。如果需要切换,客户端可以进一步在并行的C3块中选择特定的C3块。使用外推切换方法,切换决定是基于过去的块来在下一个块(或未来的块)处切换,例如,切换决定是基于C1块来在C3块处切换。
在一些示例性实施方式中,可以使用插值切换方法来做出切换决定。例如,在T2处,基于C1块中携带的C2块的切换辅助信息,客户端能够进一步参考当前网络条件和/或当前回放要求,做出关于是否在C2块处切换的切换决定。如果需要切换,客户端可以进一步在并行C2块中选择特定的C2块。使用内插切换方法,切换决定基于要切换到的块的准确的切换辅助信息。例如,由于C1块中携带的切换辅助信息是针对C2块的,因此切换辅助信息对于在C2块进行切换的切换决定是准确的。注意,当在T2做出切换决定时,C2块还没有提取。
图10示出了处理媒体流的示例性方法1000。例如,媒体流可以包括4G媒体流(用于在4G网络中传输的媒体流)或5G媒体流(用于在5G网络中传输的媒体流)。该方法可以通过例如计算机系统来实现,这将在后面的部分中描述;一种客户端设备,其可以是编码器和/或解码器的一部分,或者集成到编码器和/或解码器中。媒体流可以遵循DASH或CMAF标准。方法1000可以包括以下步骤的一部分或全部:步骤1010,接收媒体流数据,媒体流数据包括:包括第一媒体块和第二媒体块的多个媒体块;以及与第一媒体块相关联的可寻址资源索引(ARI)信息;步骤1020,基于ARI信息确定轨道切换信息;步骤1030,基于轨道切换信息,确定需要切换到第二媒体块处的不同媒体轨道;以及步骤1040,通过相应的媒体轨道接收第一媒体块和第二媒体块。
在一些示例性实施方式中,在步骤1040中,当通过相应的媒体轨道接收第一媒体块和第二媒体块时,每一个第一媒体块和第二媒体块以不超过一个块的传输延迟传输到流客户端设备。
在一些示例性实施方式中,ARI信息可以包括,或者可以经由以下其中之一携带:ARI样本或ARI事件。方法1000还可以包括ARI信息或者ARI事件。该ARI信息包括以下至少一种:ARI样本,其来自与所述媒体流的第一媒体轨道中的第一媒体片相关联的ARI轨道。ARI事件与嵌入第一媒体片的媒体流相关联,该第一媒体片在媒体流的第一媒体轨道中。
在一些示例性实施方式中,方法1000还可以包括接收以下之一:从与位于媒体流的第一媒体轨道中的第一媒体片相关联的ARI轨道接收可寻址资源索引(ARI)样本;或与嵌入第一媒体片的媒体流相关联的ARI事件,该第一媒体片在媒体流的所述第一媒体轨道中。其中,ARI事件为以下至少一个提供特征信息:第一媒体轨道中的第一媒体片;以及在媒体流的其它媒体轨道中并与第一媒体片对齐的第一并行媒体片;或在所述第一媒体轨道中并跟随第一媒体片的第二媒体片;以及在媒体流的其它媒体轨道中并与第二媒体片时间对齐的第二并行媒体片。
本公开中的实施例通过应用类似的基本原理应用于DASH和CMAF,以及其它媒体流技术中。
本公开中的实施例可以单独使用或以任何顺序组合使用。本公开中的方法,例如上述方法1000,可以包括所列步骤的全部或仅一部分。此外,方法(或实施例)、DASH客户端、CMAF客户端中的每一个可以通过处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。本公开中的实施例可以应用于DASH和/或CMAF技术/标准。示例性地,每个方法(或实施例)可以由DASH/CMAF客户端执行,该客户端可以在包括处理电路的计算机设备中运行。例如,客户端可以在编码器和/或解码器中运行。
上述技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图11示出了适用于实现所公开主题的某些实施例的计算机系统(1800)。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,其可以经过汇编、编译、链接或类似机制,以创建包括指令的代码,这些指令可以由一个或多个计算机中央处理器(CPU)、图形处理器(GPU)等直接执行,或者通过解析、微代码执行等来执行。
指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板计算机、服务器、智能手机、游戏设备、物联网设备等。
图11所示的用于计算机系统(1800)的组件本质上是示例性的,并不旨在对实现本公开实施例的计算机软件的使用范围或功能进行任何限制。组件的配置也不应该解释为相对于计算机系统(1800)示例性实施例中所示的任何一个组件或组件的组合有任何依赖性或要求。
计算机系统(1800)可能包括某些人机界面输入设备。这种人机界面输入设备可以响应一个或多个人类用户的输入,例如,通过触觉输入(例如:击键、滑动、数据手套运动)、音频输入(例如:语音、鼓掌)、视觉输入(例如:手势)、嗅觉输入(未示出)。人机界面设备还可以捕捉不一定与人类有意识输入直接相关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止图像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机界面设备可以包括以下一个或多个(每个仅示出一个):键盘(1801)、鼠标(1802)、触控板(1803)、触摸屏(1810)、数据手套(未示出)、操纵杆(1805)、麦克风(1806)、扫描仪(1807)、照相机(1808)。
计算机系统(1800)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感官。这种人机界面输出设备可以包括触觉输出设备(例如,通过触摸屏(1810)、数据手套(未示出)或操纵杆(1805)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器(1809)、耳机(未示出))、视觉输出设备(例如屏幕(1810),包括阴极射线管(CRT)屏幕、液晶显示屏(LCD)、等离子屏幕、有机发光二极管(OLED)屏幕的,每个具有或不具有触摸屏输入能力,每个具有或不具有触觉反馈能力,其中一些可以通过诸如立体输出的方式输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和烟雾罐(未示出))、和打印机(未示出))。
计算机系统(1800)还可以包括人类可访问的存储设备及其相关联的介质,例如光学介质,包括具有光盘/数字视盘(CD/DVD)的光盘/数字视盘的只读存储器和读写(CD/DVDROM/RW)(1820)或类似介质(1821)、拇指驱动器(1822)、可移动硬盘驱动器或固态驱动器(1823)、传统磁媒体(例如磁带和软盘(未示出))、基于专用只读存储器/专用集成电路/可编程逻辑器件(ROM/ASIC/PLD)的设备(例如安全加密狗(未示出)等)。
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬态信号。
计算机系统(1800)还可以包括到一个或多个通信网络(1855)的接口(1854)。网络可以例如是无线的、有线的、光学的。网络还可以是本地的、广域的、城域网的、车载的和工业的、实时的、允许延迟的等等。网络的示例包括局域网,例如以太网、无线局域网(LAN)、包括全球移动通信系统(GSM)、第三代移动通信(3G)、第四代移动通信(4G)、第五代移动通信(5G)、长期演进技术(LTE)等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括CAN总线的车辆和工业网络,等等。一些网络通常需要连接到某些通用数据端口或外围总线(1849)(例如计算机系统(1800)的通用串行总线(USB)端口)的外部网络接口适配器;其它的通常通过连接到如下所述的系统总线(例如进入个人电脑(PC)计算机系统的以太网接口或进入智能手机计算机系统的蜂窝网络接口)而集成到计算机系统(1800)的内核中。使用这些网络中的任何一个,计算机系统(1800)可以与其它实体通信。这种通信可以是单向的、仅接收的(例如,广播电视)、仅单向发送的(例如到某些控制器局域网(CAN)总线设备的CAN总线)或双向的,例如到使用本地或广域数字网络的其它计算机系统。如上所述,可以在这些网络和网络接口的每一个上使用某些协议和协议栈。
前述人机界面设备、人机可访问存储设备和网络接口可以连接到计算机系统(1800)的内核(1840)。
内核(1840)可以包括一个或多个中央处理单元(CPU)(1841)、图形处理单元(GPU)(1842)、现场可编程门阵列(FPGA)形式的专用可编程处理单元(1843)、用于某些任务的硬件加速器(1844),图形适配器(1850),等等。这些设备与只读存储器(ROM)(1845)、随机存取存储器(1846)、内部大容量存储器(例如内部非用户可访问的硬盘驱动器、SSD等),可以通过系统总线(1848)连接起来。在一些计算机系统中,系统总线(1848)可以以一个或多个物理插头的形式访问,以允许通过附加CPU、GPU等进行扩展。外围设备可以直接连接到内核的系统总线(1848),或者通过外围总线(1849)连接。在一个示例中,屏幕(1810)可以连接到图形适配器(1850)。外围总线的体系结构包括外围组件互联(PCI)、USB等。
CPU(1841)、GPU(1842)、FPGA(1843)和加速器(1844)可以执行某些指令,这些指令组合在一起可以构成上述计算机代码。该计算机代码可以存储在ROM(1845)或随机存储器(RAM)(1846)中。暂时的数据也可以存储在RAM(1846)中,而永久数据可以存储在例如内部大容量存储器(1847)中。可以通过使用高速缓冲存储器来实现对任何存储器设备的快速存储和检索,高速缓冲存储器可以与一个或多个CPU(1841)、GPU(1842)、大容量存储器(1847)、ROM(1845)、RAM(1846)等密切相关联。
计算机可读介质可以在其上具有执行各种计算机实现的操作的计算机代码。媒体和计算机代码可以是为本公开的目的而专门设计和构造的,或者可以是计算机软件领域的技术人员熟知和可获得的那种。
作为非限制性示例,具有体系结构(1800),特别是内核(1840)的计算机系统可以作为处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一个或多个有形的计算机可读介质中的软件的结果来提供功能。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及具有非暂时性的内核(1840)的某些存储器,例如内核内部大容量存储器(1847)或ROM(1845)。实现本公开各种实施例的软件可以存储在这样的设备中并由内核(1840)执行。根据特定需要,计算机可读介质可以包括一个或多个存储设备或芯片。该软件可以使内核(1840),特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文描述的特定处理或特定处理的特定部分,包括定义存储在RAM(1846)中的数据结构并根据软件定义的处理修改这种数据结构。作为补充或替代,计算机系统可以以作为逻辑硬连线的结果或以其它方式体现在电路(例如:加速器(1844))中的结果提供功能,该电路可以代替软件或与软件一起操作,以执行本文描述的特定处理或特定处理的特定部分。在适当的情况下,对软件的引用可以包含逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如集成电路(IC))、包含用于执行的逻辑的电路,或者两者兼有。本公开包括硬件和软件的任何适当组合。
虽然本公开已经描述了几个示例性实施例,但是存在落入本公开范围内的改变、排列和各种替代等同物。因此,应当理解,本领域技术人员将能够设计出许多系统和方法,尽管在此没有明确示出或描述,但这些系统和方法体现了本公开的原理,因此在本公开的精神和范围内。

Claims (20)

1.一种处理媒体流的方法,所述媒体流包括至少两个媒体轨道并遵循基于超文本传输协议(HTTP)动态自适应流(DASH)标准或通用媒体应用格式(CMAF),所述方法由流客户端设备执行,其特征在于,所述方法包括:
接收媒体流数据,所述媒体流数据包括:包含第一媒体块和第二媒体块的多个媒体块,以及与所述第一媒体块相关联的可寻址资源索引(ARI)信息;
基于所述ARI信息来确定轨道切换信息;
基于所述轨道切换信息,确定需要切换到所述第二媒体块处的不同媒体轨道;和
通过相应的媒体轨道接收所述第一媒体块和所述第二媒体块,其中所述第一媒体块和所述第二媒体块中的每一个以不超过一个块的传输延迟被传输到所述流客户端设备。
2.根据权利要求1所述的方法,其特征在于,所述ARI信息包括以下至少一个:
ARI样本,所述ARI样本来自与所述媒体流的第一媒体轨道中的第一媒体片相关联的ARI轨道;或
ARI事件,所述ARI事件与嵌入所述第一媒体片中的所述媒体流相关联,所述第一媒体片在所述媒体流的所述第一媒体轨道中。
3.根据权利要求2所述的方法,其特征在于:
所述媒体流遵循DASH标准,并且所述第一媒体片是所述媒体流中的片段;或
所述媒体流遵循CMAF格式,并且所述第一媒体片是所述媒体流中的一个块。
4.根据权利要求2和3中任一项所述的方法,其特征在于,所述ARI信息提供以下至少一个的特征信息:
所述第一媒体轨道中的所述第一媒体片,以及在所述媒体流的其它媒体轨道中并与所述第一媒体片对齐的第一并行媒体片;或
在所述第一媒体轨道中并跟随所述第一媒体片的第二媒体片,以及在所述媒体流的所述其它媒体轨道中并与所述第二媒体片时间对齐的第二并行媒体片。
5.根据权利要求4所述的方法,其特征在于,所述特征信息包括以下至少一个:
所述第一媒体轨道的所述第一媒体片的偏移量;
所述第一媒体轨道的所述第一媒体片的大小;
每一个所述第一并行媒体片的偏移量;
每一个所述第一并行媒体片的大小;
所述第一媒体轨道的所述第一媒体片的量;或
每一个所述第一并行媒体片中的量。
6.根据权利要求4所述的方法,其特征在于,所述基于所述轨道切换信息,确定需要切换到所述第二媒体块处的所述不同媒体轨道包括:
基于所述特征信息和所述流客户端设备可用的带宽,确定需要切换到所述其它媒体轨道中的一个。
7.根据权利要求4所述的方法,其特征在于:
接收所述ARI事件,并且所述ARI事件提供以下特征信息:所述第一媒体轨道中的所述第一媒体片,以及在所述媒体流的所述其它媒体轨道中并且与所述第一媒体片时间对齐的所述第一并行媒体片;和
确定是否需要切换到所述其它媒体轨道中的一个包括:
基于使用所述特征信息的估计来选择所述第二并行媒体片中的一个;和
在所述第一媒体片之后切换到所述第二并行媒体片中的一个。
8.根据权利要求7所述的方法,其特征在于,实时编码和传输所述媒体流,并且在不考虑所述第二媒体片和所述第二并行媒体片的情况下构造所述ARI事件。
9.根据权利要求4所述的方法,其特征在于:
接收所述ARI事件,并且所述ARI事件为以下内容提供特征信息:在所述第一媒体轨道中并且跟随所述第一媒体片的所述第二媒体片;以及在所述媒体流的所述其它媒体轨道中并且与所述第二媒体片时间对齐的所述第二并行媒体片;和
确定是否需要切换到所述其它媒体轨道中的一个包括:
基于所述特征信息选择所述第二并行媒体片中的一个;和
在所述第一媒体片之后切换到所述第二并行媒体片中的一个。
10.根据权利要求4所述的方法,其特征在于:
接收所述ARI事件,并且所述ARI事件为以下内容提供特征信息:在所述第一媒体轨道中并且跟随所述第一媒体片的所述第二媒体片;以及在所述媒体流的所述其它媒体轨道中并且与所述第二媒体片时间对齐的所述第二并行媒体片;和
确定是否需要切换到所述其它媒体轨道中的一个包括:
基于使用所述特征信息的估计,选择紧挨着一个所述第二并行媒体片的目标媒体片;和
在所述第二媒体片之后切换到所述目标媒体片。
11.根据权利要求10所述的方法,其特征在于,实时编码和传输所述媒体流,并且考虑所述第二媒体片和所述第二并行媒体片来构造所述ARI事件。
12.根据权利要求4所述的方法,其特征在于:
接收ARI样本,所述ARI样本为以下内容提供特征信息:所述第一媒体轨道中的所述第一媒体片,在所述媒体流的所述其它媒体轨道中并且与所述第一媒体片时间对齐的所述第一并行媒体片;和
确定是否需要切换到所述其它媒体轨道中的一个包括:
基于使用所述特征信息的估计来选择所述第二并行媒体片中的一个;和
在所述第一媒体片之后切换到所述第二并行媒体片中的一个。
13.根据权利要求4所述的方法,其特征在于:
接收所述ARI样本,所述ARI样本为以下内容提供特征信息:所述第一媒体轨道中的所述第一媒体片,在所述媒体流的所述其它媒体轨道中并且与所述第一媒体片时间对齐的所述第一并行媒体片;和
确定是否需要切换到所述其它媒体轨道中的一个包括:
基于所述特征信息选择所述第一并行媒体片中的一个;和
切换到所述第一并行媒体片中的一个。
14.一种设备,包括存储计算机指令的存储器和与所述存储器通信的处理器,其特征在于,当所述处理器执行所述计算机指令时,所述处理器被配置为使所述设备执行:
接收媒体流的媒体流数据,其中所述媒体流包括至少两个媒体轨道并遵循基于超文本传输协议(HTTP)动态自适应流(DASH)标准或通用媒体应用格式(CMAF),并且其中所述媒体流数据包括:包含第一媒体块和第二媒体块的多个媒体块,以及与所述第一媒体块相关联的可寻址资源索引(ARI)信息;
基于所述ARI信息确定轨道切换信息;
基于所述轨道切换信息,确定需要切换到所述第二媒体块处的不同媒体轨道;和
通过相应的媒体轨道接收所述第一媒体块和所述第二媒体块,其中所述第一媒体块和所述第二媒体块中的每一个以不超过一个块的传输延迟传输到所述设备。
15.根据权利要求14所述的设备,其特征在于,所述ARI信息包括以下至少一个:
ARI样本,所述ARI样本来自与所述媒体流的第一媒体轨道中的第一媒体片相关联的ARI轨道;或
ARI事件,所述ARI事件与嵌入所述第一媒体片中的所述媒体流相关联,所述第一媒体片在所述媒体流的所述第一媒体轨道中。
16.根据权利要求15所述的设备,其特征在于:
所述媒体流遵循DASH标准,并且所述第一媒体片是所述媒体流中的片段;或
所述媒体流遵循CMAF格式,并且所述第一媒体片是所述媒体流中的一个块。
17.根据权利要求15和16中任一项所述的设备,其特征在于,所述ARI信息提供以下至少一个的特征信息:
所述第一媒体轨道中的所述第一媒体片,以及在所述媒体流的其它媒体轨道中并与所述第一媒体片对齐的第一并行媒体片;或
在所述第一媒体轨道中并跟随所述第一媒体片的第二媒体片,以及在所述媒体流的所述其它媒体轨道中并与所述第二媒体片时间对齐的第二并行媒体片。
18.根据权利要求17所述的设备,其特征在于,所述特征信息包括以下至少一个:
所述第一媒体轨道的所述第一媒体片的偏移量;
所述第一媒体轨道的所述第一媒体片的大小;
每一个所述第一并行媒体片的偏移量;
每一个所述第一并行媒体片的大小;
所述第一媒体轨道的所述第一媒体片的量;或
每一个所述第一并行媒体片中的量。
19.根据权利要求17所述的设备,其特征在于,当所述处理器配置为使所述设备基于所述轨道切换信息确定需要切换到所述第二媒体块处的不同媒体轨道时,所述处理器配置为使所述设备执行:
基于所述特征信息和所述设备可用的带宽,确定需要切换到所述其它媒体轨道中的一个。
20.一种用于存储计算机可读指令的非暂时性存储介质,其特征在于,当由处理器执行时,所述计算机可读指令使得所述处理器执行:
接收媒体流的媒体流数据,其中所述媒体流包括至少两个媒体轨道并遵循基于超文本传输协议(HTTP)动态自适应流(DASH)标准或通用媒体应用格式(CMAF),并且其中所述媒体流数据包括:包含第一媒体块和第二媒体块的多个媒体块,以及与所述第一媒体块相关联的可寻址资源索引(ARI)信息;
基于所述ARI信息确定轨道切换信息;
基于所述轨道切换信息,确定需要切换到所述第二媒体块处的不同媒体轨道;和
通过相应的媒体轨道接收所述第一媒体块和所述第二媒体块,其中所述第一媒体块和所述第二媒体块中的每一个以不超过一个块的传输延迟传输到设备。
CN202380014306.XA 2022-07-12 2023-07-07 Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法 Pending CN118202345A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202263388577P 2022-07-12 2022-07-12
US63/388,577 2022-07-12
US18/342,230 US20240022792A1 (en) 2022-07-12 2023-06-27 Method for bandwidth switching by cmaf and dash clients using addressable resource index tracks and events
US18/342,230 2023-06-27
PCT/US2023/027077 WO2024015256A1 (en) 2022-07-12 2023-07-07 Method for bandwidth switching by cmaf and dash clients using addressable resource index tracks and events

Publications (1)

Publication Number Publication Date
CN118202345A true CN118202345A (zh) 2024-06-14

Family

ID=89509476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202380014306.XA Pending CN118202345A (zh) 2022-07-12 2023-07-07 Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法

Country Status (3)

Country Link
US (1) US20240022792A1 (zh)
CN (1) CN118202345A (zh)
WO (1) WO2024015256A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016210109A1 (en) * 2015-06-23 2016-12-29 Convida Wireless, Llc Mechanisms to support adaptive constrained application protocol (coap) streaming for internet of things (iot) systems
US10924822B2 (en) * 2017-04-04 2021-02-16 Qualcomm Incorporated Segment types as delimiters and addressable resource identifiers
US11695817B2 (en) * 2019-03-20 2023-07-04 Qualcomm Incorporated Methods and apparatus to facilitate using a streaming manifest including a profile indication
US11973817B2 (en) * 2020-06-23 2024-04-30 Tencent America LLC Bandwidth cap signaling using combo-index segment track in media streaming

Also Published As

Publication number Publication date
WO2024015256A1 (en) 2024-01-18
US20240022792A1 (en) 2024-01-18

Similar Documents

Publication Publication Date Title
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
CN113767639B (zh) 接收媒体数据的方法、装置和非易失性计算机可读介质
US11818189B2 (en) Method and apparatus for media streaming
JP7252373B2 (ja) メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム
US11418561B2 (en) Remote link validity interval in media streaming
CN115299022B (zh) 基于http的动态自适应流传输的方法和装置
CN118202345A (zh) Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法
US20230336602A1 (en) Addressable resource index events for cmaf and dash multimedia streaming
CN113364728B (zh) 媒体内容接收方法、装置、存储介质和计算机设备
US20230336603A1 (en) Processing model for dash client processing model to support handling of dash event updates
US20230336821A1 (en) Methods, devices, and computer readable medium for processing alternative media presentation description
CN115462063B (zh) 接收媒体数据的方法、设备及存储介质
US12034789B2 (en) Extensible request signaling for adaptive streaming parameterization
KR20230006835A (ko) Dash 및 cmaf 대역내 이벤트를 프로세싱하기 위한 확장된 w3c 미디어 확장
JP2023520757A (ja) Httpを介した動的適応ストリーミングのための方法および装置
CN117280700A (zh) 用于自适应流参数化的可扩展请求信令

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination