CN115349264A - 用于通过http的动态自适应流传输的方法和设备 - Google Patents

用于通过http的动态自适应流传输的方法和设备 Download PDF

Info

Publication number
CN115349264A
CN115349264A CN202180025539.0A CN202180025539A CN115349264A CN 115349264 A CN115349264 A CN 115349264A CN 202180025539 A CN202180025539 A CN 202180025539A CN 115349264 A CN115349264 A CN 115349264A
Authority
CN
China
Prior art keywords
url
file
keywords
sbd
keys
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
Application number
CN202180025539.0A
Other languages
English (en)
Other versions
CN115349264B (zh
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 CN115349264A publication Critical patent/CN115349264A/zh
Application granted granted Critical
Publication of CN115349264B publication Critical patent/CN115349264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1108Web based protocols, e.g. webRTC
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • 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/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Filters That Use Time-Delay Elements (AREA)
  • Television Systems (AREA)
  • Picture Signal Circuits (AREA)

Abstract

本公开内容的方面包括用于接收媒体数据的方法、设备和非暂态计算机可读存储介质。一种设备包括接收媒体呈现描述(MPD)文件的处理电路系统,所述MPD文件包括用于基于会话的通过超文本传输协议的动态自适应流传输(DASH)的基本属性描述符。基本属性描述符指示基于会话的描述(SBD)文件,并且包括关于用于接收媒体数据的统一资源定位符(URL)的一部分的一组关键字。处理电路系统基于所述一组关键字中的每个关键字的相应值是否包括在SBD文件中来确定相应值,并基于所述一组关键字和所确定的值来修改URL。

Description

用于通过HTTP的动态自适应流传输的方法和设备
相关申请的交叉引用
本申请要求于2021年9月16日提交的美国专利申请第17/477,243号“METHODS ANDAPPARATUSES FOR DYNAMIC ADAPTIVE STREAMING OVER HTTP”的优先权的权益,该美国专利申请要求于2021年1月5日提交的美国临时申请第63/134,045号“EXTENDED URLCUSTOMIZATION IN THE SESSION-BASED DASH OPERATIONS”的优先权的权益。在先申请的整个公开内容以其全部内容通过引用并入本文。
技术领域
本公开内容描述了总体上涉及用于通过超文本传输协议的动态自适应流传输(dynamic adaptive streaming over hypertext transfer protocol,DASH)的方法和设备的实施方式。
背景技术
本文提供的背景描述是出于总体上呈现本公开内容的上下文的目的。当前署名的发明人的工作(在该背景部分中描述的工作的范围内)以及在提交时可能没有另外具备现有技术资格的本描述的方面既没有被明确地承认为本公开内容的现有技术,也没有被暗示地承认为本公开内容的现有技术。
运动图像专家组(Moving picture expert group,MPEG)的通过超文本传输协议的动态自适应流传输(DASH)提供了用于在因特网协议(IP)网络上流传输多媒体内容的标准。DASH标准允许在媒体片段中携带事件消息框。
发明内容
本公开内容的一方面提供了用于接收媒体数据的设备。设备包括接收媒体呈现描述(MPD)文件的处理电路系统,所述MPD文件包括用于基于会话的通过超文本传输协议的动态自适应流传输(DASH)的基本属性描述符。基本属性描述符指示基于会话的描述(SBD)文件,并且包括关于用于接收媒体数据的统一资源定位符(URL)的部分的一组关键字。处理电路系统基于所述一组关键字中的每个关键字的相应值是否包括在SBD文件中来确定相应值,并基于所述一组关键字和所确定的值来修改URL。
在实施方式中,URL的一部分是URL的主机部分、端口部分、路径部分和片段部分中之一。
在实施方式中,所述一组关键字是(i)一组URL主机关键字、(ii)一组URL端口关键字、(iii)一组URL路径关键字和(iv)一组URL片段关键字中之一。
在实施方式中,处理电路系统确定所述一组关键字中的一个关键字的值是否包括在SBD文件中。处理电路系统基于所述一组关键字中的一个关键字的值包括在SBD文件中来确定所述一组关键字中的一个关键字的包括在SBD文件中的值。处理电路系统基于所述一组关键字中的一个关键字的值未包括在SBD文件中将所述一组关键字中的一个关键字的值确定为默认值。默认值被包括在基本属性描述符中。
在实施方式中,所述一组关键字由基本属性描述符中包括的模板来指示。处理电路系统基于所确定的值来处理模板。模板对应于URL的一部分。处理电路系统基于处理后的模板修改URL。
在实施方式中,基于URL的一部分是片段部分,模板是片段模板。
在实施方式中,所述一组关键字包括在URL的一部分中,并且由包括在基本属性描述符中并对应于URL的一部分的关键字元素来指示。处理电路系统针对所述一组关键字中的每个关键字用所确定的对应值替换URL的一部分中第一次出现的相应关键字。
在实施方式中,关键字元素是URL主机关键字元素、URL端口关键字元素、URL路径关键字元素和URL片段关键字元素中之一。
在实施方式中,URL的一部分是URL的多个部分之一,并且基本属性描述符包括指示是否要求URL的所有部分完全匹配的第一标志。处理电路系统基于URL的至少一个部分未被修改和指示要求URL的所有部分完全匹配的第一标志来确定URL将不被修改。处理电路系统基于URL的至少一个部分被修改和指示不要求URL的所有部分完全匹配的第一标志来确定URL将被修改。
在实施方式中,基本属性描述符包括指示是否要求URL的一部分的所有关键字完全匹配的第二标志。处理电路系统基于URL的一部分的至少一个关键字未包括在SBD文件中和指示要求URL的一部分的所有关键字完全匹配的第二标志来确定URL的一部分将不被修改。处理电路系统基于URL的一部分的至少一个关键字包括在SBD文件中和指示不要求URL的一部分的所有关键字完全匹配的第二标志来确定URL的一部分将被修改。
本公开内容的一方面提供了用于接收媒体数据的方法。该方法可以包括由设备执行的步骤中的一个或组合。在一种方法中,接收MPD文件,该MPD文件包括用于基于会话的DASH的基本属性描述符。基本属性描述符指示SBD文件,并且包括关于用于接收媒体数据的URL的一部分的一组关键字。基于所述一组关键字中的每个关键字的相应值是否包括在SBD文件中来确定相应值。基于所述一组关键字和所确定的值来修改URL。
本公开内容的一方面还提供了一种存储指令的非暂态计算机可读介质,所述指令在由计算机执行以接收媒体数据时使计算机执行用于接收媒体数据的方法中的任何一种或组合。
附图说明
根据以下详细描述和附图,所公开主题的其他特征、性质和各种优点将更加明显,在附图中:
图1示出了根据本公开内容的实施方式的示例性通过超文本传输协议的动态自适应流传输(DASH)系统;
图2示出了根据本公开内容的实施方式的另一示例性基于会话的DASH系统;
图3示出了根据本公开内容的实施方式的示例性DASH客户端架构;
图4示出了概述根据一些实施方式的过程示例的流程图;以及
图5是根据实施方式的计算机系统的示意图。
具体实施方式
I.通过超文本传输协议的动态自适应流传输(DASH)和媒体呈现描述(MPD)
通过超文本传输协议的动态自适应流传输(DASH)是一种自适应比特率流传输技术,该技术使得能够使用超文本传输协议(hypertext transfer protocol,HTTP)基础设施例如web服务器、内容分发网络(content delivery network,CDN)、各种代理和缓存等来流传输媒体内容。DASH支持从DASH服务器到DASH客户端的点播流媒体和直播流媒体二者,并且允许DASH客户端控制流传输会话,使得DASH服务器不需要在大规模部署下应对流自适应管理的额外负载。DASH还允许DASH客户端选择来自各种DASH服务器的流传输,并且因此进一步实现网络的负载平衡,以使DASH客户端收益。DASH例如通过改变比特率以适应网络条件来提供不同媒体轨道之间的动态切换。
在DASH中,媒体呈现描述(MPD)文件为DASH客户端提供信息以通过从DASH服务器下载媒体片段来自适应地流传输媒体内容。MPD文件可以被分成片段并且分批交付,以减少会话启动延迟。MPD文件也可以在流传输会话期间被更新。在一些示例中,MPD文件支持内容可访问性特征、评级和相机视图的表达。DASH还支持多视图和可缩放编码内容的交付。
MPD文件可以包含一个或更多个时段的序列。一个或更多个时段中的每个时段可以由MPD文件中的时段元素定义。MPD文件可以包括MPD的availableStartTime(可用开始时间)属性和每个时段的开始属性。对于动态类型的媒体呈现(例如,用于直播服务),时段的开始属性和MPD属性availableStartTime之和以及媒体片段的持续时间可以以协调世界时(coordinated universal time,UTC)格式指示时段的可用时间,特别是指示对应时段中的每个表示的第一媒体片段。对于静态类型的媒体呈现(例如,用于点播服务),第一时段的开始属性可以为0。对于任何其他时段,开始属性可以指定对应时段的开始时间相对于第一时段的开始时间之间的时间偏移。每个时段可以延伸到下一个时段的开始,或者在最后一个时段的情况下,延伸到媒体呈现结束。时段开始时间可以是精确的,并且反映由播放所有先前时段的媒体所产生的实际时间。
每个时段可以包含一个或更多个自适应集,并且自适应集中的每一个可以包含相同媒体内容的一个或更多个表示。表示可以是音频或视频数据的多个替选编码版本之一。表示可以因编码类型例如视频数据的比特率、分辨率和/或编解码器以及音频数据的比特率和/或编解码器而不同。术语表示可以用于指代与多媒体内容的特定时段对应并以特定方式编码的一段编码音频或视频数据。
可以将特定时段的自适应集分配给由MPD文件中的组属性指示的组。同一组中的自适应集通常被认为是彼此的替选。例如,可以将特定时段的视频数据的每个自适应集分配给同一组,使得可以选择任何自适应集进行解码以显示对应时段的多媒体内容的视频数据。在一些示例中,一个时段内的媒体内容可以由来自组0(如果存在的话)的一个自适应集来表示或者来自每个非零组的至多一个自适应集的组合来表示。可以相对于时段的开始时间来表示针对时段的每个表示的定时数据。
表示可以包括一个或更多个片段。每个表示可以包括初始化片段,或者表示的每个片段可以是自行初始化的。当存在时,初始化片段可以包含用于访问表示的初始化信息。在某些情况下,初始化片段不包含媒体数据。片段可以由标识符例如统一资源定位符(uniform resource locator,URL)、统一资源名称(uniform resource name,URN)或统一资源标识符(uniform resource identifier,URI)唯一地引用。MPD文件可以为每个片段提供标识符。在一些示例中,MPD文件还可以以范围属性的形式提供字节范围,字节范围可以与通过URL、URN或URI可访问的文件内的片段的数据对应。
每个表示还可以包括一个或更多个媒体分量,其中每个媒体分量可以对应于一种单独媒体类型例如音频、视频或定时文本(例如,用于隐藏字幕)的编码版本。媒体分量可以跨一个表示内的连续媒体片段的边界是时间连续的。
在一些实施方式中,DASH客户端可以从DASH服务器访问和下载MPD文件。也就是说,DASH客户端可以检索MPD文件以在启动实时会话时使用。基于MPD文件,并且对于每个选定的表示,DASH客户端可以做出若干个决定,包括:确定服务器上可用的最新片段是什么,确定下一片段和可能的未来片段的片段可用开始时间,确定何时开始播放片段以及从片段中的哪个时间线开始播放,以及确定何时获得/取得新的MPD文件。一旦服务被播放,客户端可以保持获知直播服务与其自身的播放之间的偏差,该偏差需要被检测和补偿。
II.基于会话的DASH操作和基于会话的描述(SBD)
注意,MPD文件对于所有DASH客户端可以是通用的。为了使MPD文件特定于DASH客户端的会话,运动图像专家组(MPEG)提供了基于会话的DASH操作。在基于会话的DASH操作中,DASH客户端可以接收侧文件(诸如基于会话的描述(SBD)文件),该侧文件为DASH客户端提供指令以为每个会话和可能的每个客户端定制MPD文件。然而,在一些相关示例中,基于会话的DASH操作是特定于应用的。也就是说,对于每个新的应用,需要新的SBD格式。
本公开内容包括用于定制或修改基于会话的DASH中的URL的方法。
图1示出了根据本公开内容的实施方式的示例性DASH系统(100)。在DASH系统(100)中,MPD文件被从DASH服务器(101)(例如,内容服务器)发送至DASH客户端(102)。DASH客户端(102)可以基于MPD文件从服务器诸如DASH服务器(101)接收媒体片段。DASH客户端(102)可以向DASH服务器(101)发送用于更新MPD文件的请求。DASH服务器(101)可以提供内容流,包括主要内容(例如,主程序)和一个或更多个定时元数据轨道。另外,DASH客户端(102)可以从服务器诸如DASH服务器(101)或第三方(例如会话控制器)接收SBD文件。
根据本公开内容的方面,SBD文件可以包括多个时间范围和对应的关键字-值对(或名称-值对)以及附加元数据。可以通过例如URL在MPD文件中引用SBD文件。SBD文件可以用于将由DASH客户端(102)接收的MPD文件定制成特定于DASH客户端(102)的会话。例如,SBD文件可以允许将特定于会话的元素添加到片段URL,而无需生成每个会话的唯一的MPD。
图2示出了根据本公开内容的实施方式的另一示例性基于会话的DASH操作架构200。在基于会话的DASH操作架构200中,多媒体内容由内容生成装置(201)(例如智能电话)准备和生成,该内容生成装置(201)可以包括音频源(例如麦克风)和视频源(例如视频摄像机)。多媒体内容可以由内容生成装置(201)存储或被发送至可以存储各种多媒体内容的内容服务器(202)。内容服务器(202)可以从客户端装置例如DASH访问客户端(203)接收对多媒体内容的一个或更多个媒体片段的请求。多媒体内容由MPD文件来描述,MPD文件可以由内容服务器(202)存储和更新,并且由包括DASH访问客户端(203)的客户端装置访问以检索媒体片段。
为了检索特定于会话的媒体片段,DASH访问客户端(203)可以向SBD客户端(204)(例如会话客户端)发送对访问SBD文件的请求,SBD文件由SBD客户端(204)接收并且包括针对当前会话的多个时间范围和对应的关键字-值对。例如,DASH访问客户端(203)可以向SBD客户端(204)发送关键字名称和时间范围,然后SBD客户端(204)解析关键字名称和时间范围,并向DASH访问客户端(203)返回与关键字名称和时间范围对应的值。DASH访问客户端(203)可以在对片段URL的查询中包括该值,当片段请求是HTTP GET或部分GET请求时,该值可以被发送至内容服务器(202)以请求特定于会话的媒体片段。
注意,SBD客户端(204)可以从不同的会话控制器例如会话控制器(205)和会话控制器(206)接收多个SBD文件。
根据本公开内容的方面,内容服务器(202)(例如,DASH服务器)的任何特征或所有特征可以被实现在内容分发网络(CDN)的一个或更多个装置例如路由器、桥接器、代理装置、交换机或其他装置上。内容服务器(202)可以包括请求处理单元,该请求处理单元被配置成从客户端装置(例如,DASH访问客户端(203))接收网络请求。例如,请求处理单元可以被配置成接收HTTP GET或部分GET请求并且响应于请求提供多媒体内容的数据。请求可以使用片段的URL来指定片段。在一些示例中,请求还可以指定片段的一个或更多个字节范围,因此包括部分GET请求。请求处理单元还可以被配置成服务HTTP HEAD请求以提供片段的报头数据。
在一些实施方式中,内容生成装置(201)和内容服务器(202)可以通过无线网络或有线网络耦接,或者可以直接通信耦接。
在一些实施方式中,内容生成装置(201)和内容服务器(202)可以被包括在同一装置中。
在一些实施方式中,内容服务器(202)和会话控制器(205)至(206)可以被包括在同一装置中。
在一些实施方式中,内容服务器(202)和DASH访问客户端(203)可以通过无线网络或有线网络耦接。
在一些实施方式中,SBD客户端(204)和会话控制器(205)至(206)可以通过无线网络或有线网络耦接,或者可以直接通信耦接。
在一些实施方式中,DASH访问客户端(203)和SBD客户端(204)可以被包括在同一装置中。
根据本公开内容的方面,为了将多个SBD链接至MPD,可以在MPD级处使用用于基于会话的DASH的一个或更多个基本属性描述符,并且用于基于会话的DASH的每个基本属性描述符包括类似或相同的基本属性描述符属性。注意,呈现描述符可以是基本属性描述符或补充属性描述符。对于基本属性,媒体呈现作者表达描述符的成功处理对于正确使用包含该描述符的父元素中的信息至关重要,除非该元素与其他基本属性元素共享相同的@id。相比之下,对于补充属性,媒体呈现作者表达描述符包含补充信息,DASH客户端可以使用这些补充信息进行优化处理。
图3示出了根据本公开内容的实施方式的示例性DASH客户端架构。DASH客户端(或DASH播放器)可以被配置成与应用(312)通信并处理各种类型的事件,包括(i)MPD事件、(ii)带内事件以及(iii)定时元数据事件。
清单解析器(310)可以解析清单(例如,MPD)。例如,清单可以由DASH服务器(101)提供。清单解析器(310)可以提取关于MPD事件、带内事件和嵌入在定时元数据轨道中的定时元数据事件的事件信息。所提取的事件信息可以被提供给DASH逻辑(311)(例如,DASH播放器控制、选择和启发逻辑)。DASH逻辑(311)可以基于事件信息向应用(312)通知清单中用信令通知的事件方案。
事件信息可以包括用于区分不同事件流的事件方案信息。应用(312)可以使用事件方案信息来订阅感兴趣的事件方案。应用(312)还可以通过一个或更多个订阅应用编程接口(API)为每个订阅方案指示期望的调度模式。例如,应用(312)可以向DASH客户端发送订阅请求,该订阅请求标识感兴趣的一个或更多个事件方案和任何期望的对应调度模式。
如果应用(312)订阅作为一个或更多个定时元数据轨道的一部分交付的一个或更多个事件方案,则带内事件和‘moof’解析器(303)可以将一个或更多个定时元数据轨道流传输至定时元数据轨道解析器(304)。例如,带内事件和‘moof’解析器(303)解析电影片段框(“moof”),并且随后基于来自DASH逻辑(311)的控制信息解析定时元数据轨道。
定时元数据轨道解析器(304)可以提取定时元数据轨道中嵌入的事件消息。所提取的事件消息可以被存储在事件和定时元数据缓冲器(306)中。同步器/调度器模块(308)(例如,事件和定时元数据同步器和调度器)可以将订阅事件调度(或发送)至应用(312)。
MPD中描述的MPD事件可以由清单解析器(310)解析并被存储在事件和定时元数据缓冲器(306)中。例如,清单解析器(310)解析MPD的每个事件流元素,并且解析每个事件流元素中描述的每个事件。对于MPD中用信令通知的每个事件,诸如呈现时间和事件持续时间的事件信息可以与事件相关联地存储在事件和定时元数据缓冲器(306)中。
带内事件和‘moof’解析器(303)可以解析媒体片段以提取带内事件消息。任何这样识别的带内事件以及相关联的呈现时间和持续时间可以被存储在事件和定时元数据缓冲器(306)中。
因此,事件和定时元数据缓冲器(306)可以在其中存储MPD事件、带内事件和/或定时元数据事件。事件和定时元数据缓冲器(306)可以是例如先进先出(FIFO)缓冲器。可以与媒体缓冲器(307)相对应地管理事件和定时元数据缓冲器(306)。例如,只要媒体片段存在于媒体缓冲器(307)中,与该媒体片段对应的任何事件或定时元数据可以被存储在事件和定时元数据缓冲器(306)中。
DASH访问API(302)可以管理通过HTTP协议栈(201)获取和接收包括媒体内容和各种元数据的内容流(或数据流)。DASH访问API(302)可以将接收到的内容流分成不同的数据流。提供给带内事件和‘moof’解析器(303)的数据流可以包括媒体片段、一个或更多个定时元数据轨道以及媒体片段中包括的带内事件信令。在实施方式中,提供给清单解析器(310)的数据流可以包括MPD。
DASH访问API(302)可以将清单转发给清单解析器(310)。除了描述事件之外,清单还可以向DASH逻辑(311)提供关于媒体片段的信息,DASH逻辑(311)可以与应用(312)以及带内事件和‘moof’解析器(303)通信。应用(312)可以与由DASH客户端处理的媒体内容相关联。应用(312)、DASH逻辑(311)、清单解析器(310)和DASH访问API(302)之间交换的控制/同步信号可以基于关于清单中提供的媒体片段的信息来控制从HTTP栈(201)获取媒体片段。
带内事件和‘moof’解析器(303)可以将媒体数据流解析成包括媒体内容的媒体片段、定时元数据轨道中的定时元数据以及媒体片段中的任何用信令通知的带内事件。包括媒体内容的媒体片段可以由文件格式解析器(305)解析并被存储在媒体缓冲器(307)中。
存储在事件和定时元数据缓冲器(306)中的事件可以允许同步器/调度器(308)通过事件/元数据API向应用(312)传送与应用(312)相关的可用事件(或感兴趣的事件)。应用(312)可以被配置成处理可用事件(例如,MPD事件、带内事件或定时元数据事件),并通过通知同步器/调度器(308)来订阅特定事件或定时元数据。存储在事件和定时元数据缓冲器(306)中的与应用(312)无关但反而与DASH客户端本身相关的任何事件可以由同步器/调度器(308)转发给DASH逻辑(311)以进行进一步处理。
响应于应用(312)订阅特定事件,同步器/调度器(308)可以向应用(312)传送与应用(312)已经订阅的事件方案对应的事件实例(或定时元数据样本)。事件实例可以根据默认调度模式或由(例如,对特定事件方案的)订阅请求指示的调度模式来传送。例如,在接收调度模式中,事件实例可以在接收在事件和定时元数据缓冲器(306)中时被发送至应用(312)。另一方面,在启动调度模式中,事件实例可以在它们相关联的呈现时间(例如与来自媒体解码器(309)的定时信号同步地)被发送至应用(312)。
注意,在DASH客户端架构中,粗数据流线指示媒体数据流,窄数据流线指示事件和定时元数据数据流,以及破折号数据流线指示控制和同步。另外,相同的处理模型可以用于CMAF事件。
III.基于会话的DASH操作中的URL定制
基于会话的DASH操作是为每个会话和可能的每个客户端定制MPD的重要方法。然而,在一些相关示例中,在用于接收媒体数据的给定URL的每一部分中仅可以允许单个关键字替换。另外,在给定URL中可能不支持某些定制(例如片段定制)以及/或者不允许操纵给定URL。此外,给定URL的一部分只能在模板被处理之后用模板替换。一些操作(例如仅修改给定URL的部分的子集而非所有部分)可能导致经修改的URL在一些情况下无效。
本公开内容包括用多个关键字修改或定制给定URL的一部分的方法。本公开内容还包括在MPD文件中为给定URL的片段部分添加模板的方法。本公开内容包括在不使用处理后的模板的情况下操纵给定URL的一部分的方法。另外,本公开内容包括在对应层级处完全匹配是必要的或要求完全匹配的情况下避免创建无效的URL部分或无效的整个URL的方法。
根据本公开内容的方面,MPD文件可以包括用于SBD文件的基本属性描述符。基本属性描述符可以被称为SBD描述符。SBD描述符可以包括一个或更多个元素或模板,其中的每一个可以用于允许URL的对应部分中的多个关键字替换。例如,SBD描述符可以包括用于修改URL的片段部分的URL片段模板。另外,如果部分替换可能导致无效的URL部分和/或无效的整个URL,则SBD描述符可以包括一个或更多个标志以避免URL模板的部分替换。
URL可以包括主机部分、端口、路径部分和/或片段部分。例如,典型的URL可以被表示为URI=scheme:[//authority]path[?query][#fragment],其中authority部分可以被表示为authority=[userinfo@]host[:port]。
为了能够对URL的一部分进行多个关键字替换,可以如下执行URL定制过程。首先,可以允许与URL部分对应的模板包括多个关键字。然后,可以将用于URL部分的关键字分组在一起。
在URL定制过程中,如果要定制或修改URL的片段部分,则可以在SBD描述符中包括与URL片段对应的模板和用于URL片段的关键字列表。在实施方式中,可以如下定制或修改URL片段。首先,可以在MPD基本属性描述符(例如,SBD描述符)中包括具有一个或更多个$关键字$的片段模板。‘关键字’是URL片段中要被替换的参数的名称。MPD基本属性描述符还可以包括用于定制URL片段的关键字列表(例如,一个或更多个关键字的列表)。然后,DASH客户端可以在解析MPD基本属性描述符之后将URL传递至SBD客户端。SBD客户端针对关键字列表中提供的每个关键字搜索SBD文件以确定相应关键字是否与SBD文件中的对应值匹配。如果关键字匹配,则SBD客户端可以通过用匹配值替换片段模板中的对应$关键字$来处理片段模板。如果关键字不匹配,则SBD客户端可以通过用关键字的默认值替换片段模板中的对应$关键字$来处理片段模板。在示例中,关键字的默认值由MPD文件中包括的关键字列表指示。最后,SBD客户端可以基于处理后的片段模板来定制或修改URL片段。
在实施方式中,可以在不使用处理后的模板的情况下修改或操纵URL部分。也就是说,URL部分中的关键字可以在不使用处理后的模板的情况下被替换。例如,如果关键字在URL部分中出现至少一次并且也被包括在SBD文件中,则可以用SBD文件中对应的匹配值替换URL部分中第一次出现的关键字。关键字可以由SBD描述符中的对应元素表示。例如,主机关键字可以由主机元素指示。
在一些相关示例中,如果修改一个或更多个URL部分但并非所有URL部分以生成经修改的URL,则经修改的URL可能无效。在实施方式中,为了避免生成无效的经修改或定制的URL,可以在MPD文件中包括的SBD描述符中用信令通知第一标志例如URL完全匹配标志。第一标志可以指示URL的所有部分完全匹配是可接受的还是必需的。
在一些相关示例中,如果替换URL部分中的一个或更多个关键字但并非所有关键字以生成经修改的URL部分,则经修改的URL部分可能无效。为了避免生成无效的经修改或定制的URL部分,可以在MPD文件中包括的SBD描述符中用信令通知第二标志例如URL部分完全匹配标志。可以针对URL的一个部分或每一部分用信令通知第二标志。第二标志可以指示URL部分的所有关键字完全匹配是可接受的还是必需的。
根据本公开内容的方面,MPD文件中包括的用于SBD文件的基本属性描述符(例如,SBD描述符)可以被扩展为包括一个或更多个元素和/或属性,以用信令通知上述特征。SBD描述符的示例性扩展版本可以在表1中示出。
可以通过使用如表1所示的SBD描述符中包括的属性@hostTemplate、@portTempalte、@pathTemplate和@fragmentTempalte之一来实现用多个关键字修改URL部分的一种方式。这些属性中的每一个可以包括用于URL的对应部分的多个关键字。例如,属性@hostTemplate可以包括用于URL的主机部分的多个URL主机关键字。SBD客户端可以针对多个URL主机关键字中的每一个搜索SBD文件以确定相应的URL主机关键字是否被包括在SBD文件中。如果URL主机关键字之一被包括在SBD文件中,则SBD客户端可以确定与URL主机关键字匹配的值,并用匹配值修改主机模板的对应部分。主机模板可以由属性@hostTemplate指示。SBD文件可以由属性@value指示。以这种方式,可以用多个关键字来修改或定制URL主机部分。
可以通过使用如表1所示的SBD描述符中包括的元素主机、端口、路径和/或片段来实现在不使用处理后的模板的情况下用多个关键字修改URL部分的另一种方式。这些元素中的每一个可以包括用于URL的对应部分的多个关键字。例如,元素主机可以包括用于URL的主机部分的多个URL主机关键字。如果多个URL主机关键字之一在URL主机部分中,则SBD客户端可以针对URL主机关键字搜索SBD文件以确定URL主机关键字是否被包括在SBD文件中。如果URL主机关键字被包括在SBD文件中,则SBD客户端可以确定与URL主机关键字匹配的值,并用匹配值替换URL主机部分中第一次出现的URL主机关键字。以这种方式,可以用多个URL主机关键字而无需使用处理后的主机模板来修改或定制URL主机部分。
为了避免生成无效的经修改的URL,属性@urlMatch可以被包括在SBD描述符中,如表1所示。当属性@urlMatch被设置为‘真’并且URL主机、路径、端口或片段中的至少一个未被修改时,其他修改的部分将无效并且URL保持不变。当属性@urlMatch被设置为‘假’并且URL主机、路径、端口或片段中的至少一个被修改时,修改的部分可以是有效的,并且可以基于修改的部分来修改URL。例如,如果属性@urlMatch被设置为‘真’并且URL主机部分未被修改而其他URL部分被修改,则修改的部分无效并且URL保持不变。如果属性@urlMatch被设置为‘假’并且URL主机部分被修改,则修改的URL主机部分是有效的,并且可以基于修改的URL主机部分来修改URL。
为了避免生成无效的经修改的URL部分,属性@hostMatch、@portMatch、@pathMatch和/或@fragmentMatch可以被包括在SBD描述符中,如表1所示。如果这些属性中的一个被设置为‘真’并且与该属性对应的模板中的至少一个关键字未被包括在SBD文件中,则对应的URL部分保持不变。例如,如果元素@hostMatch被设置为‘真’并且@hostTemplate的至少一个关键字未被包括在SBD文件中,则URL主机部分保持不变。如果元素@hostMatch被设置为‘假’并且@hostTemplate的至少一个关键字被包括在SBD文件中,则可以基于SBD文件中包括的@hostTemplate的至少一个关键字来修改URL主机部分。
根据本公开内容的方面,对于元素的片段URL,如果元素和/或元素的父元素包括指示URL修改过程的SBD描述符,则SBD客户端可以处理片段URL以进行URL修改。相应地,如果元素和元素的父元素中的每一个包括指示URL修改过程的SBD描述符并且对应于不同的SBD文件,则SBD客户端可以使用多个SBD文件来修改片段URL。
表1
Figure BDA0003869948950000141
Figure BDA0003869948950000151
Figure BDA0003869948950000161
Figure BDA0003869948950000171
Figure BDA0003869948950000181
Figure BDA0003869948950000191
本公开内容包括用多个关键字定制URL的一部分的方法。URL部分可以是URL的主机部分、端口部分、路径部分或片段部分。对于每个部分,可以在MPD文件中的SBD描述符中包括一组一个或更多个关键字以及可选地对应的默认值。SBD客户端可以针对每个关键字遍历SBD文件以找到SBD文件中的相应关键字的匹配值,并用SBD文件中包括的匹配值替换模板的与URL部分对应的部分。如果匹配值未被包括在SBD文件中,则可以用默认值替换模板的与URL部分对应的部分。
本公开内容包括在SBD描述符中为URL片段添加片段模板的方法。可以基于片段模板将替换过程应用于URL片段。SBD描述符包括用于URL片段的一组一个或更多个关键字和对应的默认值。SBD客户端可以搜索SBD文件中的与所述一组关键字中的每一个匹配的值,并将匹配值应用于片段模板的对应部分。以这种方式,可以用处理后的片段模板替换URL片段。
本公开内容包括操纵URL而不是用处理后的模板替换URL的一部分的方法。如果关键字被包括在URL的一部分中并且也被包括在SBD文件中,则可以使用SBD文件中的对应值替换URL的该部分中第一次出现的关键字。
本公开内容包括用信令通知仅URL部分的所有关键字完全匹配是可接受的方法。也就是说,如果用于URL部分的一个或更多个关键字未包括在SBD文件中,则不替换URL部分。可以在URL部分的基础上提供信令,使得该约束不必应用于URL的每个URL部分。
本公开内容包括用信令通知仅URL的所有部分完全匹配是可接受的方法。在实施方式中,如果URL的一个或更多个部分未被由SBD过程产生的新部分替换,则URL的其他被替换部分也不可接受,并且整个URL不应被改变。在实施方式中,如果MPD文件中包括的基本属性描述符指示仅URL的(并非所有)部分的子集将被修改,则整个URL不应被改变。例如,如果与URL部分对应的模板和/或关键字列表未被包括在基本属性描述符中,则将不修改URL部分,即使修改了其他URL部分,也不应改变整个URL。
IV.流程图
图4示出了概述根据本公开内容的实施方式的过程(400)的流程图。在各种实施方式中,过程(400)由处理电路系统例如DASH客户端(102)中的处理电路系统来执行。在一些实施方式中,过程(400)以软件指令实现,因此当处理电路系统执行软件指令时,处理电路系统执行过程(400)。过程(400)从(S401)开始,其中,过程(400)接收MPD文件,该MPD文件包括用于基于会话的DASH的基本属性描述符。基本属性描述符指示SBD文件,并且包括关于用于接收媒体数据的URL的一部分的一组关键字。然后,过程(400)进行至步骤(S420)。
在步骤(S420)处,过程(400)基于所述一组关键字中的每个关键字的相应值是否包括在SBD文件中来确定相应值。然后,过程(400)进行至步骤(S430)。
在步骤(S430)处,过程(400)基于所述一组关键字和所确定的值来修改URL。然后,过程(400)终止。
在实施方式中,URL的一部分是URL的主机部分、端口部分、路径部分和片段部分中之一。
在实施方式中,所述一组关键字是(i)一组URL主机关键字、(ii)一组URL端口关键字、(iii)一组URL路径关键字和(iv)一组URL片段关键字中之一。
在实施方式中,过程(400)确定所述一组关键字中的一个关键字的值是否包括在SBD文件中。过程(400)基于所述一组关键字中的一个关键字的值包括在SBD文件中来确定所述一组关键字中的一个关键字的包括在SBD文件中的值。过程(400)基于所述一组关键字中的一个关键字的值未包括在SBD文件中将所述一组关键字中的一个关键字的值确定为默认值。默认值被包括在基本属性描述符中。
在实施方式中,所述一组关键字由基本属性描述符中包括的模板来指示。过程(400)基于所确定的值来处理模板。模板对应于URL的一部分。过程(400)基于处理后的模板来修改URL。
在实施方式中,基于URL的一部分是片段部分,模板是片段模板。
在实施方式中,所述一组关键字包括在URL的一部分中,并且由包括在基本属性描述符中并对应于URL的该部分的关键字元素来指示。过程(400)针对所述一组关键字中的每个关键字用所确定的对应值替换URL的该部分中第一次出现的相应关键字。
在实施方式中,关键字元素是URL主机关键字元素、URL端口关键字元素、URL路径关键字元素和URL片段关键字元素中之一。
在实施方式中,URL的一部分是URL的多个部分之一,并且基本属性描述符包括指示是否要求URL的所有部分完全匹配的第一标志。过程(400)基于URL的至少一个部分未被修改和指示要求URL的所有部分的完全匹配的第一标志来确定URL将不被修改。过程(400)基于URL的至少一个部分被修改和指示不要求URL的所有部分完全匹配的第一标志来确定URL将被修改。
在实施方式中,基本属性描述符包括指示是否要求URL的一部分的所有关键字完全匹配的第二标志。过程(400)基于URL的一部分的至少一个关键字未包括在SBD文件中和指示要求URL的一部分的所有关键字完全匹配的第二标志来确定URL的该部分将不被修改。过程(400)基于URL的一部分的至少一个关键字包括在SBD文件中和指示不要求URL的一部分的所有关键字完全匹配的第二标志来确定URL的一部分将被修改。
V.计算机系统
上述技术可以使用计算机可读指令被实现为计算机软件并且被物理地存储在一个或更多个计算机可读介质中。例如,图5示出了适于实现所公开的主题的某些实施方式的计算机系统(500)。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,可以对任何合适的机器代码或计算机语言进行汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或者通过解译、微代码执行等来执行。
指令可以在各种类型的计算机或其组件(包括例如个人计算机、平板电脑、服务器、智能电话、游戏设备、物联网设备等)上执行。
图5中示出的计算机系统(500)的组件本质上是示例性的,而不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。组件的配置也不应当被解释为具有与计算机系统(500)的示例性实施方式中所示的组件中的任何一个或组合相关的任何依赖性或要求。
计算机系统(500)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:键击、轻扫、数据手套移动)、音频输入(诸如:语音、拍手)、视觉输入(诸如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口设备还可以用于捕获不一定与人类有意识的输入直接有关的某些媒体,诸如音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下(每者仅描绘一个)中的一个或更多个:键盘(501)、鼠标(502)、触控板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)和摄像装置(508)。
计算机系统(500)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏(510)、数据手套(未示出)或操纵杆(505)的触觉反馈,但是还可以存在不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器(509)、头戴式耳机(未描绘))、视觉输出设备(诸如屏幕(510),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个屏幕具有或不具有触屏输入能力,每个屏幕具有或不具有触觉反馈能力,其中的一些屏幕可能能够通过诸如立体图形输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘))、以及打印机(未描绘)。这些视觉输出设备(例如屏幕(510))可以通过图形适配器(550)连接至系统总线(548)。
计算机系统(500)还可以包括人类可访问存储设备及其相关联的介质,例如包括具有CD/DVD等介质(521)的CD/DVD ROM/RW(520)的光学介质、拇指驱动器(522)、可移动硬盘驱动器或固态驱动器(523)、传统磁性介质(例如磁带和软盘(未描绘))、基于专用ROM/ASIC/PLD的设备(例如安全加密狗(未描绘))等。
本领域技术人员还应当理解,结合当前公开的主题所使用的术语“计算机可读介质”不包含传输介质、载波、或其他瞬态信号。
计算机系统(500)还可以包括到一个或更多个通信网络(555)的网络接口(554)。一个或更多个通信网络(555)可以是例如无线的、有线的、光学的。一个或更多个通信网络(555)还可以是本地的、广域的、城市的、车载的和工业的、实时的、延迟容忍的等。一个或更多个通信网络(555)的示例包括:诸如以太网的局域网、无线LAN、蜂窝网络(包括GSM、3G、4G、5G、LTE等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车载的和工业的(包括CAN总线)等。某些网络通常需要附接至某些通用数据端口或外围总线(549)(诸如,例如计算机系统(500)的USB端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线(例如,集成到PC计算机系统的以太网接口或集成到智能电话计算机系统的蜂窝网络接口)而集成到计算机系统(500)的核中。使用这些网络中的任何网络,计算机系统(500)可以与其他实体进行通信。这样的通信可以是单向的仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CAN总线设备的CAN总线)、或双向的(例如,使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(500)的核(540)。
核(540)可以包括一个或更多个中央处理单元(CPU)(541)、图形处理单元(GPU)(542)、现场可编程门阵列(FPGA)(543)形式的专用可编程处理单元、用于某些任务的硬件加速器(544)等。这些设备连同只读存储器(ROM)(545)、随机存取存储器(546)、内部大容量存储装置(547)(诸如内部非用户可访问硬盘驱动器、SSD等)可以通过系统总线(548)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(548),以使得能够通过附加的CPU、GPU等进行扩展。外围设备可以直接地或通过外围总线(549)附接至核的系统总线(548)。外围总线的架构包括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.一种接收媒体数据的方法,包括:
接收媒体呈现描述(MPD)文件,所述MPD文件包括用于基于会话的通过超文本传输协议的动态自适应流传输(DASH)的基本属性描述符,所述基本属性描述符指示基于会话的描述(SBD)文件,并且包括关于用于接收所述媒体数据的统一资源定位符(URL)的一部分的一组关键字;
基于所述一组关键字中的每个关键字的相应值是否包括在所述SBD文件中来确定所述相应值;以及
基于所述一组关键字和所确定的值来修改所述URL。
2.根据权利要求1所述的方法,其中,所述URL的所述一部分是所述URL的主机部分、端口部分、路径部分和片段部分中之一。
3.根据权利要求1所述的方法,其中,所述一组关键字是(i)一组URL主机关键字、(ii)一组URL端口关键字、(iii)一组URL路径关键字和(iv)一组URL片段关键字中之一。
4.根据权利要求1所述的方法,其中,所述确定包括:
确定所述一组关键字中的一个关键字的值是否包括在所述SBD文件中;
基于所述一组关键字中的一个关键字的值包括在所述SBD文件中来确定所述一组关键字中的一个关键字的包括在所述SBD文件中的值;以及
基于所述一组关键字中的一个关键字的值未包括在所述SBD文件中将所述一组关键字中的一个关键字的值确定为默认值,所述默认值被包括在所述基本属性描述符中。
5.根据权利要求1所述的方法,其中,所述一组关键字由所述基本属性描述符中包括的模板来指示,并且所述修改包括:
基于所确定的值处理所述模板,所述模板对应于所述URL的所述一部分;以及
基于所处理的模板来修改所述URL。
6.根据权利要求5所述的方法,其中,基于所述URL的所述一部分是片段部分,所述模板是片段模板。
7.根据权利要求1所述的方法,其中,所述一组关键字包括在所述URL的所述一部分中,并且由包括在所述基本属性描述符中并对应于所述URL的所述一部分的关键字元素来指示,并且所述修改包括:
针对所述一组关键字中的每个关键字用所确定的对应值替换所述URL的所述一部分中第一次出现的相应关键字。
8.根据权利要求1所述的方法,其中,所述关键字元素是URL主机关键字元素、URL端口关键字元素、URL路径关键字元素和URL片段关键字元素中之一。
9.根据权利要求1所述的方法,其中
所述URL的所述一部分是所述URL的多个部分中之一,
所述基本属性描述符包括指示是否要求所述URL的所有部分完全匹配的第一标志,以及
所述方法还包括:
基于所述URL的至少一个部分未被修改和指示要求所述URL的所有部分完全匹配的所述第一标志来确定所述URL将不被修改;以及
基于所述URL的至少一个部分被修改和指示不要求所述URL的所有部分完全匹配的所述第一标志来确定所述URL将被修改。
10.根据权利要求1所述的方法,其中
所述基本属性描述符包括指示是否要求所述URL的所述一部分的所有关键字完全匹配的第二标志,以及
所述方法还包括:
基于所述URL的所述一部分的至少一个关键字未包括在所述SBD文件中和指示要求所述URL的所述一部分的所有关键字完全匹配的所述第二标志来确定所述URL的所述一部分将不被修改;以及
基于所述URL的所述一部分的至少一个关键字包括在所述SBD文件中和指示不要求所述URL的所述一部分的所有关键字完全匹配的所述第二标志来确定所述URL的所述一部分将被修改。
11.一种用于接收媒体数据的设备,所述设备包括处理电路系统,所述处理电路系统被配置成:
接收媒体呈现描述(MPD)文件,所述MPD文件包括用于基于会话的通过超文本传输协议的动态自适应流传输(DASH)的基本属性描述符,所述基本属性描述符指示基于会话的描述(SBD)文件,并且包括关于用于接收所述媒体数据的统一资源定位符(URL)的一部分的一组关键字;
基于所述一组关键字中的每个关键字的相应值是否包括在所述SBD文件中来确定所述相应值;以及
基于所述一组关键字和所确定的值来修改所述URL。
12.根据权利要求11所述的设备,其中,所述URL的所述一部分是所述URL的主机部分、端口部分、路径部分和片段部分中之一,并且所述一组关键字是(i)一组URL主机关键字、(ii)一组URL端口关键字、(iii)一组URL路径关键字和(iv)一组URL片段关键字中之一。
13.根据权利要求11所述的设备,其中,所述处理电路系统还被配置成:
确定所述一组关键字中的一个关键字的值是否包括在所述SBD文件中;
基于所述一组关键字中的一个关键字的值包括在所述SBD文件中来确定所述一组关键字中的一个关键字的包括在所述SBD文件中的值;以及
基于所述一组关键字中的一个关键字的值未包括在所述SBD文件中将所述一组关键字中的一个关键字的值确定为默认值,所述默认值被包括在所述基本属性描述符中。
14.根据权利要求11所述的设备,其中,所述一组关键字由所述基本属性描述符中包括的模板来指示,并且所述处理电路系统还被配置成:
基于所确定的值处理所述模板,所述模板对应于所述URL的所述一部分;以及
基于所处理的模板来修改所述URL。
15.根据权利要求14所述的设备,其中,基于所述URL的所述一部分是片段部分,所述模板是片段模板。
16.根据权利要求11所述的设备,其中,所述一组关键字包括在所述URL的所述一部分中,并且由包括在所述基本属性描述符中并对应于所述URL的所述一部分的关键字元素来指示,并且所述处理电路系统还被配置成:
针对所述一组关键字中的每个关键字用所确定的对应值替换所述URL的所述一部分中第一次出现的相应关键字。
17.根据权利要求1所述的设备,其中,所述关键字元素是URL主机关键字元素、URL端口关键字元素、URL路径关键字元素和URL片段关键字元素中之一。
18.根据权利要求11所述的设备,其中,所述URL的所述一部分是所述URL的多个部分之一,所述基本属性描述符包括指示是否要求所述URL的所有部分完全匹配的第一标志,并且所述处理电路系统还被配置成:
基于所述URL的至少一个部分未被修改和指示要求所述URL的所有部分完全匹配的所述第一标志来确定所述URL将不被修改;以及
基于所述URL的至少一个部分被修改和指示不要求所述URL的所有部分完全匹配的所述第一标志来确定所述URL将被修改。
19.根据权利要求11所述的设备,其中,所述基本属性描述符包括指示是否要求所述URL的所述一部分的所有关键字完全匹配的第二标志,并且所述处理电路系统还被配置成:
基于所述URL的所述一部分的至少一个关键字未包括在所述SBD文件中和指示要求所述URL的所述一部分的所有关键字完全匹配的所述第二标志来确定所述URL的所述一部分将不被修改;以及
基于所述URL的所述一部分的至少一个关键字包括在所述SBD文件中和指示不要求所述URL的所述一部分的所有关键字完全匹配的所述第二标志来确定所述URL的所述一部分将被修改。
20.一种存储指令的非暂态计算机可读存储介质,所述指令在由计算机执行以接收媒体数据时使所述计算机执行以下操作:
接收媒体呈现描述(MPD)文件,所述MPD文件包括用于基于会话的通过超文本传输协议的动态自适应流传输(DASH)的基本属性描述符,所述基本属性描述符指示基于会话的描述(SBD)文件,并且包括关于用于接收所述媒体数据的统一资源定位符(URL)的一部分的一组关键字;
基于所述一组关键字中的每个关键字的相应值是否包括在所述SBD文件中来确定所述相应值;以及
基于所述一组关键字和所确定的值来修改所述URL。
CN202180025539.0A 2021-01-05 2021-09-22 接收媒体数据的方法和设备 Active CN115349264B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163134045P 2021-01-05 2021-01-05
US63/134,045 2021-01-05
US17/477,243 US11533346B2 (en) 2021-01-05 2021-09-16 Methods and apparatuses for dynamic adaptive streaming over HTTP
US17/477,243 2021-09-16
PCT/US2021/051552 WO2022150072A1 (en) 2021-01-05 2021-09-22 Methods and apparatuses for dynamic adaptive streaming over http

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410549053.2A Division CN118233711A (zh) 2021-01-05 2021-09-22 接收媒体数据的方法和设备

Publications (2)

Publication Number Publication Date
CN115349264A true CN115349264A (zh) 2022-11-15
CN115349264B CN115349264B (zh) 2024-05-03

Family

ID=82219084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180025539.0A Active CN115349264B (zh) 2021-01-05 2021-09-22 接收媒体数据的方法和设备

Country Status (6)

Country Link
US (1) US11533346B2 (zh)
EP (1) EP4082219A4 (zh)
JP (1) JP7483919B2 (zh)
KR (1) KR20220129622A (zh)
CN (1) CN115349264B (zh)
WO (1) WO2022150072A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509701B2 (en) * 2021-04-20 2022-11-22 Tencent America LLC Extended relationship signaling between events in event message tracks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013375A1 (en) * 2012-07-09 2014-01-09 Futurewei Technologies, Inc. Dynamic Adaptive Streaming over Hypertext Transfer Protocol Client Behavior Framework and Implementation of Session Management
US20140207907A1 (en) * 2013-01-18 2014-07-24 Futurewei Technologies, Inc. Method and Apparatus for Performing Adaptive Streaming on Media Contents
US20190149857A1 (en) * 2017-11-10 2019-05-16 Qualcomm Incorporated Interfaces between dash aware application and dash client for service interactivity support
US20190394537A1 (en) * 2018-06-21 2019-12-26 Mediatek Singapore Pte. Ltd. Methods and apparatus for updating media presentation data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081861B2 (en) 2008-07-21 2015-07-14 Google Inc. Uniform resource locator canonicalization
US9444794B2 (en) * 2012-07-03 2016-09-13 Futurewei Technologies, Inc. Low-latency secure segment encryption and authentication interface
JP2015523816A (ja) * 2012-07-13 2015-08-13 華為技術有限公司Huawei Technologies Co.,Ltd. コンテンツ転送および配信におけるコンテンツ暗号化および権利管理のシグナリングおよびハンドリング
ES2645101T3 (es) * 2013-01-17 2017-12-04 Intel IP Corporation Autentificación de URL de contenidos para dash
JP6151798B2 (ja) * 2013-01-17 2017-06-21 インテル アイピー コーポレイション Dashアウェア・ネットワークアプリケーションファンクション(d−naf)
US9385998B2 (en) * 2013-06-06 2016-07-05 Futurewei Technologies, Inc. Signaling and carriage of protection and usage information for dynamic adaptive streaming
US9807452B2 (en) * 2013-10-07 2017-10-31 Samsung Electronics Co., Ltd. Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network
MX361523B (es) 2014-05-16 2018-12-07 Sony Corp Aparato de recepción, método de recepción, aparato de transmisión, y método de transmisión.
US10454985B2 (en) 2015-03-04 2019-10-22 Qualcomm Incorporated File format based streaming with dash formats based on LCT
US11095537B2 (en) * 2015-06-19 2021-08-17 Qualcomm Incorporated Middleware delivery of dash client QoE metrics
US11617019B2 (en) 2016-07-28 2023-03-28 Qualcomm Incorporated Retrieving and accessing segment chunks for media streaming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013375A1 (en) * 2012-07-09 2014-01-09 Futurewei Technologies, Inc. Dynamic Adaptive Streaming over Hypertext Transfer Protocol Client Behavior Framework and Implementation of Session Management
US20140207907A1 (en) * 2013-01-18 2014-07-24 Futurewei Technologies, Inc. Method and Apparatus for Performing Adaptive Streaming on Media Contents
US20190149857A1 (en) * 2017-11-10 2019-05-16 Qualcomm Incorporated Interfaces between dash aware application and dash client for service interactivity support
US20190394537A1 (en) * 2018-06-21 2019-12-26 Mediatek Singapore Pte. Ltd. Methods and apparatus for updating media presentation data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IRAJ SODAGAR: "[Part 8] URL customization in Part 8", INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC 1/SC 29/WG 3 CODING OF MOVING PICTURES AND AUDIO ISO/IEC JTC 1/SC 29/WG 3 M55124 ONLINE - OCTOBER 2020, pages 1 - 4 *
无: "WD of ISO/IEC 23009-8 Session based DASH operations", 1S0/IEC JTC 1/SC 29/WG 11, pages 1 - 13 *

Also Published As

Publication number Publication date
JP7483919B2 (ja) 2024-05-15
KR20220129622A (ko) 2022-09-23
JP2023519240A (ja) 2023-05-10
CN115349264B (zh) 2024-05-03
US20220217188A1 (en) 2022-07-07
EP4082219A1 (en) 2022-11-02
EP4082219A4 (en) 2023-07-12
US11533346B2 (en) 2022-12-20
WO2022150072A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
JP7177285B2 (ja) メディアデータを受信するための方法、装置、およびプログラム
US11528313B2 (en) Methods and apparatuses for dynamic adaptive streaming over HTTP
JP7252373B2 (ja) メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム
CN115299022B (zh) 基于http的动态自适应流传输的方法和装置
CN115349264B (zh) 接收媒体数据的方法和设备
CN115362665B (zh) 接收媒体数据的方法、设备及存储介质
CN115462063B (zh) 接收媒体数据的方法、设备及存储介质
CN118233711A (zh) 接收媒体数据的方法和设备
CN113364728B (zh) 媒体内容接收方法、装置、存储介质和计算机设备
CN117256153A (zh) 用于支持处理dash事件更新的dash客户端处理模型的处理模型

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
GR01 Patent grant
GR01 Patent grant