CN115398924A - 用于媒体流传输的方法和设备 - Google Patents

用于媒体流传输的方法和设备 Download PDF

Info

Publication number
CN115398924A
CN115398924A CN202180025561.5A CN202180025561A CN115398924A CN 115398924 A CN115398924 A CN 115398924A CN 202180025561 A CN202180025561 A CN 202180025561A CN 115398924 A CN115398924 A CN 115398924A
Authority
CN
China
Prior art keywords
content
media
segment
live
time
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
CN202180025561.5A
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 CN115398924A publication Critical patent/CN115398924A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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
    • 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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
  • Addition Polymer Or Copolymer, Post-Treatments, Or Chemical Modifications (AREA)

Abstract

本公开内容的各方面提供了用于使用DASH播放器来播放媒体的方法和设备。在一些示例中,用于播放媒体的设备包括处理电路系统。处理电路系统基于具有独立时间线的第一媒体内容和第二媒体内容来配置媒体源扩展(MSE)源缓冲器。然后,处理电路系统基于附加在MSE源缓冲器中的第一媒体内容的片段进行播放,并且然后在第一媒体内容的最后一个片段之后转换到附加在MSE源缓冲器中的第二媒体内容的第一个片段。

Description

用于媒体流传输的方法和设备
引用并入
本申请要求于2021年9月16日提交的美国专利申请第17/447,920号“METHOD ANDAPPARATUS FOR MEDIA STREAMING”的优先权的权益,该美国专利申请要求于2021年1月6日提交的美国临时申请第63/134,525号,“PREROLL TO LIVE COMMON MEDIA APPLICATIONFORMAT/DYNAMIC ADAPTIVE STREAMING OVER HTTP PLAYER USING W3C MEDIAEXTENSIONS”的优先权的权益。在先申请的全部公开内容通过引用整体并入本文。
技术领域
本公开内容描述了总体上涉及用于播放流媒体的方法和设备的实施方式。
背景技术
本文中提供的背景描述是为了总体上呈现本公开内容的背景的目的。就此背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交时可不被另外限定为现有技术的描述的方面既没有被明确地也没有隐含地承认为针对本申请内容的现有技术。
运动图像专家组(MPEG)的基于超文本传输协议的动态自适应流传输(DASH)提供了用于基于IP网络的流传输多媒体内容的标准。媒体播放器可以播放来自不同源的媒体内容,例如前贴(preroll)内容(例如,广告)和直播(live)内容(例如,足球比赛)等。
发明内容
本公开内容的各方面提供了用于播放媒体的方法和设备。在一些示例中,一种用于经由基于超文本传输协议的动态自适应流传输(DASH)播放器播放媒体的设备包括处理电路系统。处理电路系统基于具有独立时间线的第一媒体内容和第二媒体内容来配置媒体源扩展(MSE)源缓冲器。然后,处理电路系统基于附加在MSE源缓冲器中的第一媒体内容的片段进行播放,并且然后在第一媒体内容的最后一个片段之后转换到附加在MSE源缓冲器中的第二媒体内容的第一个片段。
在一些实施方式中,处理电路系统基于第一媒体内容和第二媒体内容配置MSE源缓冲器中的附加窗口。在一些示例中,第一媒体内容是前贴内容,并且第二媒体内容是直播内容,并且处理电路系统基于最大时间移位缓冲器深度和直播内容的最长持续时间的和来确定附加窗口的结束点。
在示例中,处理电路系统基于前贴内容的最大可能持续时间和直播内容的期望时间移位缓冲器深度中的较大者来确定最大时间移位缓冲器深度。此外,处理电路系统在前贴内容播放之后移除前贴内容的时间范围,并且基于最大时间移位缓冲器深度和直播内容的期望时间移位缓冲器深度来更新附加窗口的开始。
在另一示例中,处理电路系统基于至少前贴内容的所述最大可能持续时间和直播内容的期望时间移位缓冲器深度的和来确定最大时间移位缓冲器深度。此外,处理电路系统可以针对前贴内容之前的直播内容的一部分配置MSE源缓冲器中的时间范围。
在一些示例中,第一媒体内容是前贴内容,并且第二媒体内容是直播内容,并且处理电路系统基于最大时间移位缓冲器深度、前贴内容的最大可能持续时间和前贴内容的呈现时间偏移来确定前贴内容的片段的第一时间戳偏移。此外,处理电路系统基于最大时间移位缓冲器深度和直播内容的第一个片段的最早呈现时间来确定直播内容的片段的第二时间戳偏移。
在示例中,处理电路系统响应于直播内容和前贴内容的相同初始化片段,基于最大时间移位缓冲器深度和直播内容的第一个片段的最早呈现时间的下界来确定直播内容的片段的第二时间戳偏移。在另一示例中,处理电路系统响应于序列模式,基于最大时间移位缓冲器深度和直播内容的第一个片段的最早呈现时间来确定直播内容的片段的第二时间戳偏移。在另一示例中,处理电路系统响应于对直播内容的重新初始化的要求,基于最大时间移位缓冲器深度和直播内容的第一个片段的最早呈现时间来确定直播内容的片段的第二时间戳偏移。
本公开内容的各方面还提供了一种存储以下指令的非暂态计算机可读介质,所述指令当由计算机执行时使计算机执行用于播放媒体的方法。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将变得更加明显,在附图中:
图1示出了根据本公开内容的一些实施方式的媒体系统。
图2示出了根据本公开内容的一些实施方式的媒体客户端装置的框图。
图3示出了一些示例中的用于源缓冲器的定时模型。
图4示出了概述根据本公开内容的一些实施方式的将媒体客户端装置中的源缓冲器用于非线性操作的过程的流程图。
图5示出了根据实施方式的计算机系统的示意图。
具体实施方式
本公开内容的各方面提供了如下技术:将媒体播放器中的单个源缓冲器用于回放诸如前贴内容、直播内容等的多个媒体内容以及处理从一个媒体内容切换至另一媒体内容。
根据本公开内容的一些方面,媒体播放器根据某些协议和标准例如通用媒体应用格式标准、基于超文本传输协议的动态自适应流传输(DASH)等来配置。
基于超文本传输协议的动态自适应流传输(DASH)是一种自适应比特率流传输技术,该技术能够实现使用超文本传输协议(HTTP)基础设施例如web服务器、内容分发网络(CDN)、各种代理和缓存等的媒体内容的流传输。DASH支持从DASH服务器到DASH客户端的点播流传输和直播流传输二者,并且允许DASH客户端控制流会话,使得DASH服务器不需要应对大规模部署中流适配管理的额外负载。DASH还允许DASH客户端选择来自各种DASH服务器的流传输,并且因此针对DASH客户端的利益实现了进一步的网络的负载平衡。DASH例如通过改变比特率以适应网络条件来提供不同媒体轨道之间的动态切换。
在DASH中,媒体呈现描述(MPD)文件为DASH客户端提供信息以通过从DASH服务器下载媒体片段来自适应地流式传输媒体内容。MPD文件可以被碎片化并且分批地递送,以减少会话启动延迟。MPD文件也可以在流传输会话期间更新。在一些示例中,MPD文件支持内容可访问性特征、评级和相机视图的表达。DASH还支持多视图和可缩放编码内容的递送。
MPD文件可以包含一个或更多个时段的序列。所述一个或更多个时段中的每一个可以由MPD文件中的时段元件定义。MPD文件可以包括MPD的availableStartTime属性和每个时段的开始(start)属性。对于具有动态类型的媒体呈现(例如,用于直播服务),时段的开始属性和MPD属性availableStartTime的和以及媒体片段的持续时间可以以协调世界时(UTC)格式指示该时段的可用时间,特别是对应时段中的每个呈现的第一个媒体片段。对于具有静态类型的媒体呈现(例如用于点播服务),第一个时段的开始属性可以是0。对于任何其他时段,开始属性可以指定对应时段的开始时间相对于第一个时段的开始时间之间的时间偏移。每个时段可以延伸到下一时段的开始,或者在最后一个时段的情况下,延伸到媒体呈现的结束。时段开始时间可以是精确的,并且反映由播放所有先前时段的媒体所产生的实际定时。
每个时段可以包含一个或更多个适配集,并且适配集中的每一个可以包含相同媒体内容的一个或更多个呈现。呈现可以是音频或视频数据的多个替选编码版本之一。呈现可以因编码类型例如视频数据的比特率、分辨率和/或编解码器以及音频数据的比特率和/或编解码器而不同。术语呈现可以用于指代与多媒体内容的特定时段相对应并以特定方式编码的编码音频或视频数据的一部分。
可以将特定时段的适配集分配给由MPD文件中的组属性指示的组。通常认为同一组中的适配集是彼此可替代的。例如,可以将特定时段的视频数据的每个适配集分配给同一组,使得可以选择适配集中的任何一个适配集进行解码以显示对应时段的多媒体内容的视频数据。在一些示例中,一个时段内的媒体内容可以由来自组0的一个适配集(如果存在)或者由来自每个非零组的至多一个适配集的组合来呈现。时段的每个呈现的定时数据可以相对于时段的开始时间来表示。
呈现可以包括一个或更多个片段。每个呈现可以包括初始化片段,或者呈现的每个片段可以是自初始化的。当存在时,初始化片段可以包含用于访问该呈现的初始化信息。在一些情况下,初始化片段不包含媒体数据。片段可以由标识符例如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)唯一地引用。MPD文件可以为每个片段提供标识符。在一些示例中,MPD文件还可以以范围属性的形式提供字节范围,该字节范围可以对应于URL、URN或URI可访问的文件内的片段的数据。
每个呈现还可以包括一个或更多个媒体组件,其中每个媒体组件可以对应于一个单独媒体类型例如音频、视频或定时文本(例如,用于隐藏字幕)的编码版本。媒体组件可以是跨一个呈现内的连续媒体片段的边界而时间连续的。
在一些实施方式中,DASH客户端可以从DASH服务器访问和下载MPD文件。也就是说,DASH客户端可以检索MPD文件以在发起直播会话时使用。基于MPD文件,并且对于每个选定的呈现,DASH客户端可以做出若干决定,包括:确定服务器上可用的最新片段是什么,确定下一片段和可能的未来片段的片段可用开始时间,确定何时开始播放片段以及从片段中的哪个时间线开始播放,以及确定何时获得/取得新的MPD文件。一旦服务被播出,客户端可以保持追踪直播服务与其自身的播出之间的偏差,该偏差需要被检测和补偿。
在一些示例中(例如,国际标准化组织(ISO)/国际电工委员会(IEC)23009-1DASH标准),使用事件消息框来携带具有媒体片段的事件。在示例(例如,ISO/IEC 23000-19通用媒体应用格式(CMAF))中,允许将事件消息框包括在每个CMAF块的开头处。
事件信息可以对应于与媒体呈现(例如,连续的音频和/或视频呈现)中的时间点或时间段相关联的媒体定时事件。例如,事件信息可以用于动态内容替换、广告插入、与音频和/或视频一起呈现补充内容、对网页进行改变以及执行在媒体呈现(例如,音频和/或视频媒体流)的媒体时间线上的特定点触发的应用代码。
媒体定时事件可以用于携带旨在与媒体流同步的信息。例如,事件信息可以包括描述媒体呈现的内容的元数据(或定时元数据),例如节目或章节标题,或地理位置信息。此外,事件信息可以包括与媒体呈现的回放期间的特定时间相关联的媒体播放器的控制消息,例如广告插入提示。
根据本公开内容的一些方面,DASH标准使用单个线性时间线,并且单个线性时间线包括在单个时间线中彼此连续的具有内容的时段(具有内容的时段在一些示例中被称为片段),并且彼此连续的媒体内容的回放可以被称为线性操作或线性回放。在一些示例中,要回放的媒体可以包括彼此独立的多个部分,多个部分可以具有相应的时间线,并且彼此独立的多个部分的回放可以被称为非线性操作或非线性回放。
在一些示例中,媒体播放装置(在一些示例中也称为媒体播放器、媒体客户端装置)可以使用W3C媒体源扩展(MSE)来实现并且使用媒体片段处理路径以用于媒体播放。在操作期间,应用可以将数据片段发送到用于处理的媒体片段处理路径中。例如,数据片段可以通过媒体片段处理路径被解析和解码,并且然后由媒体播放装置播放。在一些示例中,媒体片段处理路径使用流水线架构实现,并且被称为MSE流水线。在一些示例中,媒体片段处理路径包括被配置成根据W3C MSE来缓冲数据片段的单个源缓冲器,并且在一些示例中该单个源缓冲器可以被称为单个MSE源缓冲器。
本公开内容的一些方面提供了将单个源缓冲器例如单个MSE源缓冲器用于非线性操作的技术。以下描述使用前贴元素(也称为前贴内容)和直播节目(也称为直播内容)作为两个独立媒体源的示例以示出将单个MSE源缓冲器用于非线性操作的技术。要注意的是,这些技术可以用于其他数目的媒体源和其他类型的媒体源。
图1示出了根据本公开内容的一些实施方式的媒体系统(100)。在一些示例中,媒体系统(100)根据DASH标准来实现,并且被称为DASH系统。媒体系统(100)包括被适当地配置成例如经由网络(未示出)进行通信的媒体服务器(101)(例如,内容服务器)和媒体客户端(102)。在媒体系统(100)中,MPD文件从媒体服务器(101)发送至媒体客户端(102)。媒体客户端(102)可以基于MPD文件从媒体服务器(101)接收媒体片段。媒体客户端(102)可以向媒体服务器(101)发送用于更新MPD文件的请求。媒体服务器(101)可以提供内容流,包括主要内容(例如,主节目)和一个或更多个定时元数据轨道。
媒体客户端(102)可以是配置有媒体处理能力的任何合适的装置。例如,媒体客户端(102)可以是台式计算机、膝上型计算机、平板计算机、智能电话、头戴式显示器、媒体播放器等。媒体客户端(102)在一些示例中也被称为DASH客户端或DASH播放器。
图2示出了根据本公开内容的一些实施方式的媒体客户端装置(200)的框图。在一些示例中,媒体客户端装置(200)用作图1中的媒体客户端(102)。媒体客户端装置(200)包括用于媒体片段处理的媒体片段处理路径(250)。在一些示例中,媒体片段处理路径(250)包括被配置为流水线架构的部件。
媒体客户端装置(200)可以执行作为媒体件应用的应用(212)。应用(212)可以使媒体客户端装置(200)处理各种类型的事件,包括(i)MPD事件、(ii)带内事件以及(iii)定时元数据事件。
在图2的示例中,媒体客户端装置(200)包括用于解析清单(例如,MPD)的清单解析器(210)。清单可以由例如媒体服务器(101)提供。清单解析器(210)可以提取关于嵌入在定时元数据轨道中的MPD事件、带内事件和定时元数据事件的事件信息。提取到的事件信息可以提供给DASH逻辑(211)(例如,DASH播放器控制、选择和启发式逻辑)。DASH逻辑(211)可以基于事件信息向应用(212)通知在清单中用信令通知的事件方案。
事件信息可以包括用于区分不同事件流的事件方案信息。应用(212)可以使用事件方案信息来订阅感兴趣的事件方案。应用(212)还可以通过一个或更多个订阅应用程序接口(API)为所订阅的方案中的每一个指示期望的调度模式。例如,应用(212)可以向媒体服务器(101)发送订阅请求,并且该请求可以识别一个或更多个感兴趣的事件方案以及任何期望的对应调度模式。
在一些示例中,应用(212)可以订阅作为一个或更多个定时元数据轨道的一部分递送的一个或更多个事件方案,带内事件和“moof”解析器(203)可以将一个或更多个定时元数据轨道流传输至定时元数据轨道解析器(204)。例如,带内事件和“moof”解析器(203)解析电影碎片框(“moof”)并且随后基于来自DASH逻辑(211)的控制信息解析定时元数据轨道。
定时元数据轨道解析器(204)可以提取嵌入在定时元数据轨道中的事件消息。提取到的事件消息可以存储在事件和定时元数据缓冲器(206)中。同步器/调度器模块(208)(例如,事件和定时元数据同步器和调度器)可以将订阅的事件调度(或发送)至应用(212)。
在一些示例中,MPD中描述的MPD事件可以由清单解析器(210)解析并且存储在事件和定时元数据缓冲器(206)中。例如,清单解析器(210)解析MPD的每个事件流元件,并且解析每个事件流元件中描述的每个事件。对于在MPD中用信令通知的每个事件,诸如呈现时间和事件持续时间的事件信息可以存储在与事件相关联的事件和定时元数据缓冲器(206)中。
带内事件和“moof”解析器(203)可以解析媒体片段以提取带内事件消息。任何这样的识别的带内事件和相关联的呈现时间和持续时间都可以存储在事件和定时元数据缓冲器(206)中。
因此,事件和定时元数据缓冲器(206)可以在其中存储MPD事件、带内事件和/或定时元数据事件。例如,事件和定时元数据缓冲器(206)可以是先进先出(FIFO)缓冲器。事件和定时元数据缓冲器(206)可以与媒体缓冲器(207)相对应地进行管理。例如,只要媒体片段存在于媒体缓冲器(207)中,与该媒体片段相对应的任何事件或定时元数据就可以存储在事件和定时元数据缓冲器(206)中。
DASH访问API(202)可以通过HTTP协议栈(201)管理包括媒体内容和各种元数据的内容流(或数据流)的获取和接收。DASH访问API(202)可以将接收到的内容流分成不同的数据流。提供给带内事件和“moof”解析器(203)的数据流可以包括媒体片段、一个或更多个定时元数据轨道以及包括在媒体片段中的带内事件信令。在实施方式中,提供给清单解析器(210)的数据流可以包括MPD。
DASH访问API(202)可以将清单转发给清单解析器(210)。除了描述事件之外,清单还可以向DASH逻辑(211)提供关于媒体片段的信息,该DASH逻辑(211)可以与应用(212)以及带内事件和“moof”解析器(203)进行通信。应用(212)可以与由DASH客户端处理的媒体内容相关联。在应用(212)、DASH逻辑(211)、清单解析器(210)和DASH访问API(202)之间交换的控制/同步信号可以基于关于清单中提供的媒体片段的信息来控制从HTTP栈(201)的媒体片段的获取。
在一些示例中,带内事件和“moof”解析器(203)可以将媒体数据流解析为媒体片段,该媒体片段包括媒体内容、定时元数据轨道中的定时元数据以及媒体片段中的任何用信令通知的带内事件。在一些示例中,带内事件和“moof”解析器(203)可以接收和解析诸如前贴内容、直播内容等的来自多个源的媒体内容,并且提取媒体片段。将多个源的媒体片段提供给媒体片段处理路径(250)以供进一步处理。
在图2的示例中,媒体片段处理路径(250)包括耦接在用于媒体片段处理的流水线架构中的多个部件。具体地,在一些示例中,媒体片段处理路径(250)包括文件格式解析器(205)、媒体缓冲器(207)和媒体解码器(209),它们可以是用于处理媒体片段的三个处理阶段。文件格式解析器(205)、媒体缓冲器(207)和媒体解码器(209)可以同时对不同的媒体片段进行操作。
文件格式解析器(205)可以接收媒体片段并且解析媒体片段。媒体缓冲器(207)可以将媒体片段附加到缓冲器空间的适当部分中。媒体解码器(209)可以将媒体片段进行解码并且发送经解码的媒体内容以供播放。
存储在事件和定时元数据缓冲器(206)中的事件可以允许同步器/调度器(208)通过事件/元数据API向应用(212)传送与应用(212)有关的可用事件(或感兴趣的事件)。应用(212)可以被配置成处理可用事件(例如,MPD事件、带内事件或定时元数据事件),并且通过通知同步器/调度器(208)来订阅特定事件或定时元数据。存储在事件和定时元数据缓冲器(206)中的与应用(212)无关而与DASH客户端本身有关的任何事件都可以由同步器/调度器(208)转发至DASH逻辑(211)以供进一步处理。
响应于应用(212)订阅特定事件,同步器/调度器(208)可以向应用(212)传送与应用(212)已经订阅的事件方案相对应的事件实例(或定时元数据样本)。事件实例可以根据由订阅请求指示的调度模式(例如,针对特定事件方案)或默认调度模式来传送。例如,在接收(on-receive)调度模式中,事件实例可以在事件和定时元数据缓冲器(206)中被接收时被发送至应用(212)。另一方面,在启动(on-start)调度模式中,事件实例可以在例如与来自媒体解码器(209)的定时信号同步的与事件实例相关联的呈现时间被发送至应用(212)。
要注意的是,在图2的示例中,粗体数据流线指示媒体数据流,窄体数据流线指示事件和定时元数据数据流,并且虚线数据流线指示控制和同步。另外,可以使用相同的处理模型用于CMAF事件。
本公开内容的一些方面为诸如媒体客户端装置(200)的媒体播放器提供定时模型以处理MSE源缓冲器中的媒体片段。在一些示例中,单个MSE源缓冲器用于缓冲多个媒体内容的媒体片段,例如前贴内容和直播内容。此外,具有经缓冲的媒体片段的单个MSE源缓冲器用于前贴内容和直播内容的回放。
根据本公开内容的方面,MSE源缓冲器被配置成包括提供时间移位特征的时间移位缓冲器。在一些示例中,时间移位缓冲器被配置成对应于MPD时间线上的时间跨度,该时间跨度定义了允许在根据挂钟(wall clock)的时间中的当前时刻呈现的媒体片段的集合。在一些示例中,挂钟用作媒体客户端决策的定时参考。在示例中,挂钟是由媒体客户端和媒体服务器共享的同步时钟。
根据本公开内容的方面,MPD可以定义一个或更多个连续不交叠时段的有序列表。时段既是MPD时间线上的时间跨度,也是该时间跨度期间要呈现的数据的定义。时段定时可以相对于MPD时间线的零点表示,并且可以相对于前一时段间接地表示。例如,时段的开始可以明确地指定为距MPD时间线零点的偏移,或者可以通过前一时段的结束隐式地表示。时段的持续时间可以明确地指定或者可以基于前一时段的结束和下一时段的开始来隐式地指定。
在一些示例中,MPD时间线中的时段是自包含的,因此媒体客户端装置可以在不知道另一时段的内容的情况下呈现一个时段的媒体内容。然而,不同时段的内容的知识可以被媒体客户端装置使用以实现时段转换。
在一些示例中,媒体客户端装置可以使用分别被称为静态呈现和动态呈现的两种类型的呈现来呈现。在静态呈现中,可以在任何时间呈现任何媒体片段。媒体客户端装置可以控制何时呈现什么内容并且例如在前贴内容的情况下整个呈现在任何时间可用。在动态呈现中,MPD时间线被映射至挂钟时间,其中MPD时间线上的每个媒体片段旨在在时间中的特定时刻呈现(某些媒体客户端装置选择允许的时间移位)。
在一些示例中,在动态呈现中,MPD时间线的零点被映射至由有效可用性开始时间指示的挂钟时间中的点。因此,每个媒体片段与挂钟时间相关联,该挂钟时间指示想要呈现该媒体片段的时刻。
根据本公开内容的方面,时间移位被定义为挂钟时间与呈现动态呈现时的MPD时间线之间的偏移。在一些示例中,当媒体客户端装置在时间移位缓冲器的结束点处呈现媒体片段时,时间移位是零。通过回放来自更远的过去的媒体片段,引入了正时间移位。在示例中,30秒的时间移位意味着媒体客户端装置在媒体片段在MPD时间线上的位置达到距时间移位缓冲器的结束30秒的间隔时的时刻开始呈现媒体片段。在一些示例中,称为时间移位缓冲器深度的参数被定义为从时间移位缓冲器的开始到挂钟(当前时间)的时间范围。MSE源缓冲器被配置成支持所需的时间移位缓冲器深度。
在示例中,前贴内容和直播内容可以具有单个主初始化片段,MSE源缓冲器被配置成能够在没有重新初始化的情况下进行从前贴内容到直播内容的转换。
在一些示例中,前贴内容和直播内容可以具有不同的初始化片段。例如,前贴内容和直播内容具有不同的编解码器或不同的配置文件或不同的级别,因此可能需要不同的初始化片段。MSE源缓冲器被配置成可以播放具有附加的重新初始化片段的媒体内容。
在一些示例中,MSE源缓冲器被配置成将前贴内容保持在时间移位缓冲器中,使得媒体播放器可以寻回前贴内容。在一些示例中,MSE源缓冲器被配置成用直播内容替换前贴内容,使得播放器可以寻找时间移位缓冲器中的直播内容。
在以下描述中,使用前贴内容和直播内容来示出在MSE源缓冲器中使用的技术。
前贴内容是指在回放之前所有媒体片段可用的点播内容。在一些示例中,前贴内容的确切持续时间是未知的,但是最大可能持续时间(表示为DMAX)是已知的。前贴内容的呈现时间偏移是已知的,并且由具有时间尺度TP的PTOP表示。
对于直播内容,直播内容的可用开始时间和当前时段开始时间是已知的。挂钟时间中的时段开始时间可以由PStartL表示。呈现时间偏移是已知的,并且由具有时间尺度TL的PTOL表示。用于开始直播节目的片段地址是已知的,但是该片段的确切最早呈现时间(由EPTL表示)未知。然而,EPTL的下限值是已知的,并且由EPTmin表示。直播内容的期望时间移位缓冲器深度被称为TSBDL
图3示出了一些示例中的用于MSE源缓冲器的定时模型。
在一些实施方式中,附加窗口被定义为至少可以包括前贴内容和时间移位缓冲器深度。通常,附加窗口是用于在附加的同时过滤掉编码帧的呈现时间戳范围。附加窗口表示具有单个开始时间和结束时间的单个连续时间范围。在MSE附加窗口内具有呈现时间戳的编码帧被允许附加至MSE源缓冲器,而超出该范围的编码帧被过滤掉。
在一些实施方式中,MSE源缓冲器的时间线被分成用于媒体内容的时间范围。在图3的示例中,MSE源缓冲器时间线包括用于前贴内容(例如,前贴片段)的第一时间范围和用于直播内容(例如,直播片段)的第二时间范围。第一时间范围由(Pstart,Pend)表示,并且第二时间范围由(Lstart,Lend)表示。Pstart是前贴内容的开始时间,Pend是前贴内容的结束时间,Lstart是直播内容的开始时间,并且Lend是直播内容的结束时间。
在一些示例中,时间戳偏移(TSO)是用于控制如下偏移的参数,该偏移被施加到被附加至MSE源缓冲器的后续媒体片段内的时间戳。TSO为0指示未施加偏移。在图3的示例中,假设呈现开始时间为0(例如,PT=0)。MSE源缓冲器允许前贴内容的回放位置在呈现开始时间之后且在第一时间范围之前。定时间隔g0是从前贴内容的第一个片段到呈现开始时间;并且定时间隔g1在前贴内容的最后一个片段与直播内容的第一个片段之间。在示例中,可以将时间戳偏移TSOP确定为施加到前贴片段中的时间戳,并且可以将时间戳偏移TSOL确定为施加到直播片段中的时间戳。
在一些示例中,当第一时间范围内的前贴内容的最后一个媒体片段被播放时,媒体客户端装置可以寻找第二时间范围的开始。
在一些示例中,如果前贴内容预期播放一次,则可以在前贴内容播放之后清除第一时间范围。在一些示例中,如果媒体客户端装置寻找更早时间移位的直播内容,则可以在预期播放前贴内容的第一时间范围之前创建用于更早时间移位的直播内容的第三时间范围。
图4示出了概述根据本公开内容的一些实施方式的将媒体客户端装置中的源缓冲器(例如媒体客户端装置(200)中的MSE源缓冲器)用于非线性操作的过程(400)的流程图。
在(S410)处,基于前贴内容和直播内容的信息设置源缓冲器。在一些示例中,前贴内容播放一次,并且然后可以从源缓冲器中移除。在一些示例中,在前贴内容播放一次之后,前贴内容作为中贴保留在源缓冲器中。可以在不同的示例中适当地设置源缓冲器。将参考两种具体情况详细描述源缓冲器设置。
在(S420)处,执行前贴片段的回放。将参考两种具体情况详细描述播出。
在(S430)处,可以响应于重新初始化要求执行到直播片段的转换。在一些示例中,直播内容具有与前贴内容相同的配置文件和级别,因此可以使用对于前贴片段和直播片段二者相同的主初始化片段来执行直播内容的回放。在一些示例中,直播内容相较于前贴内容使用不同的编解码器,或者直播内容相较于前贴内容具有不同的配置文件(配置文件可以用于定义例如关于媒体内容类型、媒体格式、编解码器、保护格式、比特率、片段持续时间、尺寸等的特定限制),或者直播内容相较于前贴内容具有不同的级别(例如,适配集、表示或预选),则需要重新初始化以供直播片段的回放。将参考两种具体情况详细描述转换。
在第一种情况下,前贴内容播放一次,并且然后可以从源缓冲器中移除。
为了设置源缓冲器,在一些示例中,在媒体客户端装置检查媒体源支持前贴视频编解码器和配置文件之后,媒体客户端装置可以创建源缓冲器。媒体客户端装置然后设置源缓冲器的附加窗口。在示例中,例如使用式(1)将最大时间移位(由TSBMax表示)确定为前贴内容的最大持续时间(由DMAX表示)和直播内容的期望时间移位缓冲器深度(TSBDL)中的较大者:
TSBMax=max(DMAX,TSBDL) 式(1)
此外,使用参数LMax来指示直播内容的最长持续时间。在一些示例中,直播内容(例如,直播节目)的最长持续时间是已知的,然后可以相应地确定参数LMax。然后,附加窗口的开始被设置成0,并且附加窗口的结束被设置成TSBMax和LMax的和。在一些示例中,直播节目的持续时间是未知的,附加窗口的结束可以是大的数字或无穷大。
为了执行前贴内容的回放,在一些示例中,媒体客户端装置根据式(2)设置前贴片段的TSOP
Figure BDA0003869952370000131
然后,媒体客户端装置获取第一前贴片段并且将第一前贴片段附加至源缓冲器。此外,媒体客户端装置继续获取剩余的前贴片段直至最后一个前贴片段,并且将所获取的前贴片段以连续的顺序附加到源缓冲器中。在附加最后一个前贴片段之后,媒体客户端装置响应于重新初始化要求而转换到直播片段。
在一些示例中,直播内容具有与前贴内容相同的配置文件和级别,因此可以将相同的初始化片段(在一些示例中称为主初始化片段)用于直播内容和前贴内容二者,并且不需要重新初始化。为了转换到直播片段,媒体客户端装置根据式(3)设置直播片段的TSOL
Figure BDA0003869952370000141
然后,媒体客户端装置获取第一个直播片段并且将第一个直播内容附加至源缓冲器。媒体客户端装置继续获取直播片段,并且将所获取的直播片段以连续的顺序附加到源缓冲器中。
在前贴内容的最后一个片段被解码并播放时,媒体客户端装置可以寻找直播内容时间范围的开始时间以解码和播放直播内容的第一个片段。
在一些示例中,直播内容具有与前贴内容相同的配置文件和级别,因此可以将相同的初始化片段(在一些示例中称为主初始化片段)用于直播内容和前贴内容二者,并且无需重新初始化。然而,在示例中,源缓冲器可以被设置成允许媒体片段紧接在前一媒体片段之后放置的序列模式。
为了转换到直播片段,在序列模式下,媒体客户端装置可以获取第一个直播片段并且以序列模式(例如在前贴内容的最后一个片段之后相邻的)将第一个直播片段附加至源缓冲器。在示例中,可以根据式(4)设置TSOL
Figure BDA0003869952370000142
可以基于缓冲的前贴片段来确定直播内容的最早呈现时间EPTL。要注意的是,在示例中,直播片段被添加至前贴内容的第一时间范围。然后,媒体客户端装置可以继续获取直播片段并且将所获取的直播片段附加到源缓冲器中。
在一些示例中,直播内容相较于前贴内容具有不同的编解码器或不同的配置文件(例如,更高的配置文件)或不同的级别(例如,更高的级别),并且然后直播内容相较于前贴内容具有不同的主初始化片段,并且需要重新初始化。
为了转换到直播片段,媒体客户端装置可以根据式(4)更新TSOL。然后,可以执行重新初始化。在示例中,可以用直播内容的编解码器/配置文件/级别来发出方法changeType()。媒体客户端装置可以为直播片段生成新的时间范围。然后,媒体客户端装置可以开始获取直播片段并且将直播片段附加到源缓冲器中。在播放时,当到达前贴时间范围的结束时,媒体客户端装置可以寻找直播内容时间范围的开始时间。
在第一种情况下,媒体客户端装置可以执行时间移位缓冲管理。时间移位缓冲可以包括两个范围:第一时间范围(Pstart,Pend)和第二时间范围(Lstart,Lend)。在一般情况下,时间间隔g0是从呈现开始时间到前贴内容的第一个片段(例如,g0=(0,Pstart));并且时间间隔g1在前贴内容的最后一个片段与直播内容的第一个片段之间(例如,g1=(Pend,Lstart))。在示例中,如果TSBMA=DMAX,则g0=0。在另一示例中,如果前贴内容的持续时间Dp=DMAX并且EPTmin=EPTL,则g1=0。
在一些示例中,媒体客户端装置在前贴内容的播放之后从时间移位缓冲器中移除前贴内容。为了从时间移位缓冲中移除前贴内容,媒体客户端装置可以首先移除时间范围(Pstart,Pend)。因此,源缓冲器在(0,TSBMAX)中将为空。然后,媒体客户端装置可以将附加窗口的开始从0改变为TSBMAX-TSBDL。因此,时间移位缓冲器深度将是TSBDL,并且如果媒体客户端装置寻找时间移位缓冲器,则将获取适当的片段。
在第二种情况下,前贴内容播放一次并且作为中贴保留在源缓冲器中。
为了设置源缓冲器,在一些示例中,在媒体客户端装置检查媒体源支持前贴视频编解码器和配置文件之后,媒体客户端装置可以创建源缓冲器。媒体客户端装置然后设置源缓冲器的附加窗口。在示例中,例如使用式(5)基于前贴内容的最大持续时间(由DMAX表示)、直播内容的期望时间移位缓冲器深度(TSBDL)、EDPL和EDPmin来确定最大时间移位(由TSBMax表示):
TSBMax=DMAX+TSBDL+upperbound(EDPL-EDPmin) 式(5)
此外,使用参数LMax来指示直播内容的最长持续时间。在一些示例中,直播内容(例如,直播节目)的最长持续时间是已知的,然后可以相应地设置参数LMax。然后,附加窗口的开始被设置成0,并且附加窗口的结束被设置成TSBMax和LMax的和。在一些示例中,直播内容的持续时间是未知的,那么附加窗口的结束可以是大的数字或无穷大。
为了执行前贴内容的回放,在一些示例中,媒体客户端装置根据式(6)设置前贴片段的TSOP
Figure BDA0003869952370000151
然后,媒体客户端装置获取第一前贴片段并且将第一前贴片段附加至源缓冲器。此外,媒体客户端装置继续获取剩余的前贴片段直至最后一个前贴片段,并且将所获取的前贴片段以连续的顺序附加到源缓冲器中。在附加最后一个前贴片段之后,媒体客户端装置响应于重新初始化要求转换到直播片段。
在一些示例中,直播内容具有与前贴内容相同的配置文件和级别,因此相同的初始化片段(在一些示例中称为主初始化片段)可以用于直播内容和前贴内容二者,并且不需要重新初始化。为了转换到直播片段,媒体客户端装置根据式(7)设置直播片段的TSOL
Figure BDA0003869952370000161
然后,媒体客户端装置获取第一个直播片段并且将第一个直播内容附加至源缓冲器。媒体客户端装置继续获取直播片段,并且将所获取的直播片段以连续的顺序附加到源缓冲器中。
当前贴内容的最后一个片段被解码并播放时,媒体客户端装置可以寻找直播内容时间范围的开始时间以解码和播放直播内容的第一个片段。
在一些示例中,直播内容具有与前贴内容相同的配置文件和级别,因此相同的初始化片段(在一些示例中称为主初始化片段)可以用于直播内容和前贴内容二者,并且无需重新初始化。然而,在示例中,源缓冲器可以被设置成允许媒体片段紧接在前一媒体片段之后放置的序列模式。
为了转换到直播片段,在序列模式下,媒体客户端装置可以获取第一个直播片段并且以序列模式(例如在前贴内容的最后一个片段之后相邻的)将第一个直播片段附加至源缓冲器。在示例中,可以根据式(8)设置TSOL
Figure BDA0003869952370000162
可以基于缓冲的前贴片段来确定直播内容的最早呈现时间EPTL。要注意的是,在示例中,直播片段被添加至用于前贴内容的第一时间范围。然后,媒体客户端装置可以继续获取直播片段并且将所获取的直播片段附加到源缓冲器中。
在一些示例中,直播内容相较于前贴内容具有不同的编解码器或不同的配置文件(例如,更高的配置文件)或不同的级别(例如,更高的级别),并且然后直播内容相较于前贴内容具有不同的主初始化片段,并且需要重新初始化。
为了转换到直播片段,媒体客户端装置可以根据式(4)更新TSOL。然后,可以执行重新初始化。在示例中,可以用直播内容的编解码器/配置文件/级别来发出方法changeType()。媒体客户端装置可以为直播片段生成新的时间范围。然后,媒体客户端装置可以开始获取直播片段并且将直播片段附加到源缓冲器中。在播放时,当到达前贴时间范围的结束时,媒体客户端装置可以寻找直播内容时间范围的开始时间。
在第二种情况下,媒体客户端装置可以执行时间移位缓冲管理。时间移位缓冲可以包括两个范围:第一时间范围(Pstart,Pend)和第二时间范围(Lstart,Lend)。在一般情况下,时间间隔g0是从呈现开始时间到前贴内容的第一个片段(例如,g0=(0,Pstart));并且时间间隔g1在前贴内容的最后一个片段与直播内容的第一个片段之间(例如,g1=(Pend,Lstart))。在示例中,如果前贴内容的持续时间Dp=DMAX并且EPTmin=EPTL,则g1=0。
在第二种情况下,前贴内容在被播放之后保留在源缓冲器中,并且媒体客户端装置可以配置用于前贴内容之前的直播内容的一部分的时间移位缓冲的第三时间范围。在一些示例中,为了在源缓冲器中填充前贴内容之前的直播内容的一部分以供时间移位缓冲,媒体客户端装置例如根据式(9)确定前贴内容之前的直播内容的一部分的时间戳偏移TSOLBP
Figure BDA0003869952370000171
其中MSD表示直播内容中的最大片段持续时间。
然后,媒体客户端装置可以获取在(EPTmin-TSBDL)至EPTmin的范围内的直播内容的片段,并且将所获取的片段附加至源缓冲器。媒体客户端装置可以继续附加片段直到EPTmin之前的片段。
根据本公开内容的方面,上述技术可以用于MPD链接。MPD链接是指一种机制,其指示在一个媒体呈现结束时,一个新的媒体呈现开始。在一些示例中,播放第一媒体呈现直到结束,并且一旦第一媒体呈现完成,则立即播放新链的媒体呈现(也称为第二媒体呈现)。接收链接自的MPD(chained-from MPD)(第一媒体呈现)的媒体客户端装置被配置成在来自链的MPD(第一媒体呈现)之后立即播放链接至的MPD(chained-to MPD)(第二媒体呈现)。每个MPD具有其自己独立的媒体时间线,但是媒体客户端装置可以继续呈现以创建顺序的呈现。链接自的MPD可以是静态或动态类型。链接至的MPD也可以是静态类型和动态类型。
在一些示例中,第一媒体呈现是作为前贴内容播放的点播MPD,并且然后被链接到作为直播MPD的第二媒体呈现。在一些示例中,使用上述技术,源缓冲器可以被配置成包括前贴时间范围和直播内容时间范围。前贴时间范围用于缓冲由点播MPD描述的内容,并且直播内容时间范围用于直播MPD。上述用于处理前贴内容和直播内容的技术,例如定时模型、源缓冲器的配置、时间移位缓冲的管理以及时间范围之间的寻找可以等效地施加到点播MPD和直播MPD。
上述技术可以实现为使用计算机可读指令的计算机软件,并且物理地存储在一个或更多个计算机可读介质中。例如,图5示出了适于实现所公开的主题的某些实施方式的计算机系统(500)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,这些机器代码或计算机语言可以经受汇编、编译、链接或类似机制以创建包括指令的代码,指令可以由一个或更多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过解释、微代码执行等执行。
指令可以在各种类型的计算机或其部件(包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等)上执行。
计算机系统(500)的图5中示出的部件本质上是示例性的,并且不旨在暗示对实现本公开内容的实施方式的计算机软件的使用范围或功能范围的任何限制。部件的配置也不应被解释为具有与计算机系统(500)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统(500)可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可以用于捕获不一定与人类的有意识输入直接有关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止图像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机接口装置可以包括以下中的一个或更多个(仅描绘每个中的一个):键盘(501)、鼠标(502)、轨迹板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)和相机(508)。
计算机系统(500)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括触觉输出装置(例如通过触摸屏(510)、数据手套(未示出)或操纵杆(505)进行的触觉反馈,但也可以存在不用作输入装置的触觉反馈装置)、音频输出装置(例如:扬声器(509)、耳机(未描绘))、视觉输出装置(例如包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕的屏幕(510),每个具有或不具有触摸屏输入能力,每个具有或不具有触觉反馈能力——其中一些可能能够输出二维视觉输出或通过诸如立体输出的方式输出多于三维的输出);虚拟现实眼镜(未描绘),全息显示器和发烟器(未描绘))以及打印机(未描绘)。
计算机系统(500)还可以包括人类可访问的存储装置及其相关联的介质例如光学介质,包括具有CD/DVD或类似介质(521)的CD/DVD ROM/RW(520)、拇指驱动器(522)、可移除硬盘驱动器或固态驱动器(523)、传统磁介质例如磁带和软盘(未描绘)、基于专用ROM/ASIC/PLD的装置例如安全软件狗(未描绘)等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。
计算机系统(500)还可以包括至一个或更多个通信网络(555)的接口(554)。网络可以例如是无线的、有线的、光学的。网络还可以是本地的、广域的、城域的、车辆的和工业的、实时的、延迟容忍的等。网络的示例包括:局域网例如以太网、无线LAN、蜂窝网络以包括GSM、3G、4G、5G、LTE等;电视有线或无线广域数字网络以包括线缆电视、卫星电视和地面广播电视;车载的和工业的以包括CANBus等。某些网络通常需要附接至某些通用数据端口或外围总线(549)(例如计算机系统(500)的USB端口)的外部网络接口适配器;其他通常通过附接至如下所描述的系统总线而集成到计算机系统(500)的内核中(例如通过以太网接口集成到PC计算机系统中或通过蜂窝网络接口集成到智能电话计算机系统中)。使用这些网络中的任何一个,计算机系统(500)可以与其他实体进行通信。这样的通信可以是单向仅接收(例如广播电视)、单向仅发送(例如CANbus至某些CANbus装置)或双向的,例如至使用局域或广域数字网络的其他计算机系统。如上所描述的,某些协议和协议栈可以用在这些网络和网络接口中的每一个上。
前面提及的人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(500)的内核(540)。
内核(540)可以包括一个或更多个中央处理单元(CPU)(541)、图形处理单元(GPU)(542)、现场可编程门区(FPGA)形式的专用可编程处理单元(543)、针对特定任务的硬件加速器(544)、图形适配器(550)等。这些装置连同只读存储器(ROM)(545)、随机存取存储器(546)、内部大容量存储装置(例如内部非用户可访问硬盘驱动器、SSD等)(547)可以通过系统总线(548)连接。在一些计算机系统中,系统总线(548)可以能够以一个或更多个物理插头的形式访问,以实现附加CPU、GPU等的扩展。外围装置可以直接附接至内核的系统总线(548)或可以通过外围总线(549)附接至内核的系统总线(548)。在示例中,屏幕(510)可以连接至图形适配器(550)。外围总线的架构包括PCI、USB等。
CPU(541)、GPU(542)、FPGA(543)和加速器(544)可以执行某些指令,这些指令组合起来可以形成前面提及的计算机代码。该计算机代码可以存储在ROM(545)或RAM(546)中。瞬态数据也可以存储在RAM(546)中,而永久数据可以存储在例如内部大容量存储装置(547)中。通过使用可以与一个或更多个CPU(541)、GPU(542)、大容量存储装置(547)、ROM(545)、RAM(546)等紧密相关联的高速缓冲存储器来实现对任何存储器装置的快速存储和检索。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。媒体和计算机代码可以是为了本公开内容的目的而专门设计和构建的那些媒体和计算机代码,或者它们可以是计算机软件领域的技术人员公知且可用的类型。
作为示例而非限制,具有架构(500)并且具体地具有内核(540)的计算机系统可以提供作为处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一个或更多个有形计算机可读介质中的软件的结果的功能。这样的计算机可读介质可以是与如以上介绍的用户可访问大容量存储装置以及作为非暂态本质的内核(540)的某些存储装置例如内核内部大容量存储装置(547)或ROM(545)相关联的介质。实现本公开内容的各种实施方式的软件可以存储在这样的装置中并且由内核(540)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储装置或芯片。软件可以使内核(540)并且具体地使其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定过程或特定过程的特定部分,包括定义存储在RAM(546)中的数据结构和根据由软件定义的过程修改这样的数据结构。另外或作为替选,计算机系统可以提供作为硬连线或以其他方式包含在电路(例如:加速器(544))中的逻辑的结果的功能,其可代替软件运行或与软件一起运行以执行本文中描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包含逻辑,并且反之亦然。在适当的情况下,对计算机可读介质的引用可以包含存储用于执行的软件的电路(例如集成电路(IC))、包含用于执行的逻辑的电路或二者。本公开内容包含硬件和软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替代等价物。因此应当理解,本领域技术人员将能够设计出多种系统和方法,这些多种系统和方法虽然在本文中没有明确示出或描述,但是体现了本公开内容的原理并且因此在本公开内容的精神和范围内。

Claims (20)

1.一种用于经由基于超文本传输协议的动态自适应流传输(DASH)播放器的媒体播放的方法,包括:
基于具有独立时间线的第一媒体内容和第二媒体内容配置媒体源扩展(MSE)源缓冲器;
基于附加在所述MSE源缓冲器中的所述第一媒体内容的片段进行播放;以及
在所述第一媒体内容的最后一个片段之后转换到附加在所述MSE源缓冲器中的所述第二媒体内容的第一个片段。
2.根据权利要求1所述的方法,还包括:
基于所述第一媒体内容和所述第二媒体内容配置所述MSE源缓冲器中的附加窗口。
3.根据权利要求2所述的方法,其中,所述第一媒体内容是前贴内容,并且所述第二媒体内容是直播内容,并且所述方法还包括:
基于最大时间移位缓冲器深度和所述直播内容的最长持续时间的和来确定所述附加窗口的结束点。
4.根据权利要求3所述的方法,还包括:
基于所述前贴内容的最大可能持续时间和所述直播内容的期望时间移位缓冲器深度中的较大者来确定所述最大时间移位缓冲器深度。
5.根据权利要求4所述的方法,还包括:
在所述前贴内容播放之后移除所述前贴内容的时间范围;以及
基于所述最大时间移位缓冲器深度和所述直播内容的所述期望时间移位缓冲器深度来更新所述附加窗口的开始。
6.根据权利要求4所述的方法,还包括:
基于至少所述前贴内容的所述最大可能持续时间和所述直播内容的所述期望时间移位缓冲器深度的和来确定所述最大时间移位缓冲器深度。
7.根据权利要求6所述的方法,还包括:
针对所述前贴内容之前的所述直播内容的一部分配置所述MSE源缓冲器中的时间范围。
8.根据权利要求1所述的方法,其中,所述第一媒体内容是前贴内容,并且所述第二媒体内容是直播内容,并且所述方法还包括:
基于最大时间移位缓冲器深度、所述前贴内容的最大可能持续时间和所述前贴内容的呈现时间偏移来确定所述前贴内容的片段的第一时间戳偏移。
9.根据权利要求8所述的方法,还包括:
基于所述最大时间移位缓冲器深度和所述直播内容的第一个片段的最早呈现时间来确定所述直播内容的片段的第二时间戳偏移。
10.根据权利要求9所述的方法,还包括以下操作中至少之一:
响应于对于所述直播内容和所述前贴内容的相同初始化片段,基于所述最大时间移位缓冲器深度和所述直播内容的所述第一个片段的所述最早呈现时间的下界来确定所述直播内容的片段的所述第二时间戳偏移;
响应于序列模式,基于所述最大时间移位缓冲器深度和所述直播内容的所述第一个片段的所述最早呈现时间来确定所述直播内容的片段的所述第二时间戳偏移;以及
响应于对所述直播内容的重新初始化的要求,基于所述最大时间移位缓冲器深度和所述直播内容的所述第一个片段的所述最早呈现时间来确定所述直播内容的片段的所述第二时间戳偏移。
11.一种用于经由基于超文本传输协议的动态自适应流传输(DASH)播放器的媒体播放的设备,包括处理电路系统,所述处理电路系统被配置成:
基于具有独立时间线的第一媒体内容和第二媒体内容配置媒体源扩展(MSE)源缓冲器;
基于附加在所述MSE源缓冲器中的所述第一媒体内容的片段进行播放;以及
在所述第一媒体内容的最后一个片段之后转换到附加在所述MSE源缓冲器中的所述第二媒体内容的第一个片段。
12.根据权利要求11所述的设备,其中,所述处理电路系统还被配置成:
基于所述第一媒体内容和所述第二媒体内容配置所述MSE源缓冲器中的附加窗口。
13.根据权利要求12所述的设备,其中,所述第一媒体内容是前贴内容,并且所述第二媒体内容是直播内容,并且所述处理电路系统还被配置成:
基于最大时间移位缓冲器深度和所述直播内容的最长持续时间的和来确定所述附加窗口的结束点。
14.根据权利要求13所述的设备,其中,所述处理电路系统还被配置成:
基于所述前贴内容的最大可能持续时间和所述直播内容的期望时间移位缓冲器深度中的较大者来确定所述最大时间移位缓冲器深度。
15.根据权利要求14所述的设备,其中,所述处理电路系统还被配置成:
在所述前贴内容播放之后移除所述前贴内容的时间范围;以及
基于所述最大时间移位缓冲器深度和所述直播内容的所述期望时间移位缓冲器深度来更新所述附加窗口的开始。
16.根据权利要求14所述的设备,其中,所述处理电路系统还被配置成:
基于至少所述前贴内容的所述最大可能持续时间和所述直播内容的所述期望时间移位缓冲器深度的和来确定所述最大时间移位缓冲器深度。
17.根据权利要求16所述的设备,其中,所述处理电路系统还被配置成:
针对所述前贴内容之前的所述直播内容的一部分配置所述MSE源缓冲器中的时间范围。
18.根据权利要求11所述的设备,其中,所述第一媒体内容是前贴内容,并且所述第二媒体内容是直播内容,并且所述处理电路系统还被配置成:
基于最大时间移位缓冲器深度、所述前贴内容的最大可能持续时间和所述前贴内容的呈现时间偏移来确定所述前贴内容的片段的第一时间戳偏移。
19.根据权利要求18所述的设备,其中,所述处理电路系统还被配置成:
基于所述最大时间移位缓冲器深度和所述直播内容的第一个片段的最早呈现时间来确定所述直播内容的片段的第二时间戳偏移。
20.根据权利要求19所述的设备,其中,所述处理电路系统还被配置成执行以下操作中至少之一:
响应于对于所述直播内容和所述前贴内容的相同初始化片段,基于所述最大时间移位缓冲器深度和所述直播内容的所述第一个片段的所述最早呈现时间的下界来确定所述直播内容的片段的所述第二时间戳偏移;
响应于序列模式,基于所述最大时间移位缓冲器深度和所述直播内容的所述第一个片段的所述最早呈现时间来确定所述直播内容的片段的所述第二时间戳偏移;以及
响应于对所述直播内容的重新初始化的要求,基于所述最大时间移位缓冲器深度和所述直播内容的所述第一个片段的所述最早呈现时间来确定所述直播内容的片段的所述第二时间戳偏移。
CN202180025561.5A 2021-01-06 2021-09-24 用于媒体流传输的方法和设备 Pending CN115398924A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163134525P 2021-01-06 2021-01-06
US63/134,525 2021-01-06
US17/447,920 2021-09-16
US17/447,920 US11818189B2 (en) 2021-01-06 2021-09-16 Method and apparatus for media streaming
PCT/US2021/052061 WO2022150074A1 (en) 2021-01-06 2021-09-24 Method and apparatus for media streaming

Publications (1)

Publication Number Publication Date
CN115398924A true CN115398924A (zh) 2022-11-25

Family

ID=82219092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180025561.5A Pending CN115398924A (zh) 2021-01-06 2021-09-24 用于媒体流传输的方法和设备

Country Status (6)

Country Link
US (1) US11818189B2 (zh)
EP (1) EP4111675A4 (zh)
JP (1) JP7392171B2 (zh)
KR (1) KR20220131314A (zh)
CN (1) CN115398924A (zh)
WO (1) WO2022150074A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11968417B2 (en) * 2021-12-30 2024-04-23 Comcast Cable Communications, Llc Systems, methods, and apparatuses for buffer management
US11910044B1 (en) * 2022-06-30 2024-02-20 Amazon Technologies, Inc. Systems and methods for switching the processing of a live content stream to another datacenter
CN117478942A (zh) * 2022-07-20 2024-01-30 联发科技(新加坡)私人有限公司 流媒体播放方法和电子设备
US20240196063A1 (en) * 2022-12-09 2024-06-13 Nbcuniversal Media, Llc Temporary pre-roll content provision with streaming content

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066574A1 (en) * 2010-09-10 2012-03-15 Google Inc. System, Apparatus, and Method for Inserting a Media File into an Electronic Document
CN102868908A (zh) * 2011-07-04 2013-01-09 哈尔滨融智达网络科技有限公司 高效流媒体播放方法和装置
CN103327379A (zh) * 2013-06-06 2013-09-25 合一信息技术(北京)有限公司 一种根据网络视频时长进行广告匹配投放的方法及装置
US20180138998A1 (en) * 2015-04-07 2018-05-17 Axel DELMAS Method for continuously playing, on a client device, a content broadcast within a peer-to-peer network
CN109937448A (zh) * 2016-05-24 2019-06-25 帝威视有限公司 用于在特技播放回放期间提供音频内容的系统和方法
CN110447234A (zh) * 2017-04-04 2019-11-12 高通股份有限公司 作为分隔符及可寻址资源标识符的区段类型
WO2020056877A1 (zh) * 2018-09-18 2020-03-26 网宿科技股份有限公司 一种调整直播视频的时间戳的方法和装置
US20200112761A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Initialization set for network streaming of media data
US10638180B1 (en) * 2018-07-20 2020-04-28 Amazon Technologies, Inc. Media timeline management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9615119B2 (en) * 2010-04-02 2017-04-04 Samsung Electronics Co., Ltd. Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
US8667164B2 (en) * 2010-04-26 2014-03-04 Samsung Electronics Co., Ltd. Method and apparatus for playing live content
EP3175624A4 (en) * 2014-07-31 2018-02-28 LG Electronics Inc. Apparatus and method for transmitting/receiving processes of a broadcast signal
CA2963765C (en) 2014-10-20 2022-12-13 Sony Corporation Receiving device, transmitting device, and data processing method
US9912526B2 (en) * 2015-10-21 2018-03-06 At&T Intellectual Property I, L.P. System and method for replacing media content
US20180213294A1 (en) * 2017-01-23 2018-07-26 Ramp Holdings, Inc. Recovering from gaps in video transmission for web browser-based players
US20190238950A1 (en) 2018-01-31 2019-08-01 Qualcomm Incorporated Dynamic conditional advertisement insertion
WO2020086452A1 (en) * 2018-10-22 2020-04-30 Radiant Communications Corporation Low-latency video internet streaming for management and transmission of multiple data streams

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066574A1 (en) * 2010-09-10 2012-03-15 Google Inc. System, Apparatus, and Method for Inserting a Media File into an Electronic Document
CN102868908A (zh) * 2011-07-04 2013-01-09 哈尔滨融智达网络科技有限公司 高效流媒体播放方法和装置
CN103327379A (zh) * 2013-06-06 2013-09-25 合一信息技术(北京)有限公司 一种根据网络视频时长进行广告匹配投放的方法及装置
US20180138998A1 (en) * 2015-04-07 2018-05-17 Axel DELMAS Method for continuously playing, on a client device, a content broadcast within a peer-to-peer network
CN109937448A (zh) * 2016-05-24 2019-06-25 帝威视有限公司 用于在特技播放回放期间提供音频内容的系统和方法
CN110447234A (zh) * 2017-04-04 2019-11-12 高通股份有限公司 作为分隔符及可寻址资源标识符的区段类型
US10638180B1 (en) * 2018-07-20 2020-04-28 Amazon Technologies, Inc. Media timeline management
WO2020056877A1 (zh) * 2018-09-18 2020-03-26 网宿科技股份有限公司 一种调整直播视频的时间戳的方法和装置
US20200112761A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Initialization set for network streaming of media data

Also Published As

Publication number Publication date
KR20220131314A (ko) 2022-09-27
EP4111675A4 (en) 2023-07-19
EP4111675A1 (en) 2023-01-04
WO2022150074A1 (en) 2022-07-14
US11818189B2 (en) 2023-11-14
JP7392171B2 (ja) 2023-12-05
JP2023520651A (ja) 2023-05-18
US20220217194A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
JP7392171B2 (ja) メディア・ストリーミング方法及び装置
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
CN113767639B (zh) 接收媒体数据的方法、装置和非易失性计算机可读介质
CN113748659B (zh) 接收会话的媒体数据的方法、装置和非易失性计算机可读介质
US11490169B2 (en) Events in timed metadata tracks
JP7252373B2 (ja) メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム
CN115299022B (zh) 基于http的动态自适应流传输的方法和装置
CN116636193A (zh) 使用w3c媒体源和加密扩展的实况cmaf/dash播放器中的mpd链接
CN115462063B (zh) 接收媒体数据的方法、设备及存储介质
CN115362665B (zh) 接收媒体数据的方法、设备及存储介质
WO2023205681A1 (en) A processing model for dash client processing model to support handling of dash event updates
CN116965008A (zh) 用于mpeg dash以支持具有堆叠特性的前贴片、中贴片和结束贴片的辅助mpd
CN117256135A (zh) 用于cmaf和dash多媒体流式传输的可寻址资源索引事件
CN116547960A (zh) 用于在媒体回放期间支持前置式和中置式内容的mpeg dash的方法和装置
CN116530072A (zh) 用于在媒体流式传输和回放期间支持前贴片和中贴片的方法及装置

Legal Events

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