CN115299022A - 基于http的动态自适应流传输的方法和装置 - Google Patents

基于http的动态自适应流传输的方法和装置 Download PDF

Info

Publication number
CN115299022A
CN115299022A CN202180021627.3A CN202180021627A CN115299022A CN 115299022 A CN115299022 A CN 115299022A CN 202180021627 A CN202180021627 A CN 202180021627A CN 115299022 A CN115299022 A CN 115299022A
Authority
CN
China
Prior art keywords
sbd
file
url
mpd
information
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
CN202180021627.3A
Other languages
English (en)
Other versions
CN115299022B (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 CN115299022A publication Critical patent/CN115299022A/zh
Application granted granted Critical
Publication of CN115299022B publication Critical patent/CN115299022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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
    • 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/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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • 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/4508Management of client data or end-user data
    • H04N21/4524Management of client data or end-user data involving the geographical location of the client
    • 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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • 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
    • 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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开的各方面包括用于接收媒体数据的方法、装置和非易失性计算机可读存储介质。一种装置包括处理电路,所述处理电路接收媒体展示描述(MPD)文件,该MPD文件包括用于基于会话的基于超文本传输协议的动态自适应流传输(DASH)操作的基本属性描述符。该基本属性描述符指示基于会话的描述(SBD)文件,该SBD文件包括由本地SBD会话控制器动态地生成的一个或多个键值对。一个或多个键值对的每个键指示本地设备的不同服务的服务信息。所述处理电路基于所述SBD文件对统一资源定位符(URL)进行修改。所述处理电路基于修改的URL从远程服务器获取资源。

Description

基于HTTP的动态自适应流传输的方法和装置
引用并入
本申请要求于2021年9月16日提交的美国专利申请号17/477,315″基于HTTP的动态自适应流传输的方法和装置(METHODS AND APPARATUSES FOR DYNAMIC ADAPTIVESTREAMING OVER HTTP)″的优先权,该美国专利申请要求于2021年1月6日提交的美国临时申请号63/134,520″使用基于DASH会话的操作标准的基于设备数据的动态片段URI查询创建(DYNAMIC SEGMENT URI QUERY CREATION BASED ON DEVICE DATA USING DASHSESSION-BASED OPERATIONS STANDARD)″的优先权。在先申请的全部公开内容通过引用整体并入本文。
技术领域
本公开描述了总体上涉及基于超文本传输协议的动态自适应流传输(DASH)的方法和装置的实施例。
背景技术
本文中提供的背景描述是为了总体地展示本公开的上下文。当前署名的发明人的工作在该背景技术部分中描述的程度上以及在提交时可能不构成现有技术的描述的各方面既不明示地也不暗示地被认为是本公开的现有技术。
运动图像专家组(MPEG)提供了用于在因特网协议(IP)网络上流式传输多媒体内容的标准。该标准被称为基于超文本传输协议的动态自适应流(DASH)标准。DASH标准包括用于基于会话的DASH操作的部分。在基于会话的DASH操作中,虽然媒体展示文件(MPD)对于所有客户端是通用的,但是客户端可以获得副文件(side file),该副文件可以为客户端提供指令,使MPD文件专用于该客户端的会话。副文件被称为基于会话的描述(SBD)文件。
发明内容
本公开的各方面提供用于接收媒体数据的装置。一种装置包括接收媒体展示描述(MPD)文件的处理电路,该MPD文件包括用于基于会话的基于超文本传输协议的动态自适应流传输(DASH)操作的基本属性描述符。基本属性描述符指示基于会话的描述(SBD)文件,该SBD文件包括由本地SBD会话控制器动态地生成的一个或多个键值对。一个或多个键值对的每个键指示本地设备的不同服务的服务信息。处理电路基于SBD文件对统一资源定位符(URL)进行修改。处理电路基于修改的URL从远程服务器获取资源。
在实施例中,基本属性描述符包括SBD文件的本地地址。
在实施例中,服务信息包括设备信息、用户信息、应用信息或位置信息中的至少一种。
在实施例中,响应于本地设备的服务信息的改变,处理电路更新与本地设备的服务之一的服务信息相对应的一个或多个键值对之一。
在实施例中,处理电路基于SBD文件对URL的主机部分、端口部分、路径部分或片段部分中的至少一个进行修改。
在实施例中,处理电路基于SBD文件将查询添加到URL。
在实施例中,URL是媒体片段请求、MPD请求、可扩展标记语言链接语言(XLink)解析请求、由回调事件触发的回调请求、对链接到MPD的链接请求或对回退MPD的回退请求中的一个。
在实施例中,SBD文件的类型是动态类型,并且一个或多个键值对以基于时间的顺序布置。
本公开的各方面提供了用于接收媒体数据的方法。方法可以包括由装置执行的步骤中的一个或其组合。在一种方法中,接收MPD文件。MPD文件包括用于基于会话的DASH操作的基本属性描述符。基本属性描述符指示SBD文件,该SBD文件包括由本地SBD会话控制器动态地生成的一个或多个键值对。一个或多个键值对的每个键指示本地设备的不同服务的服务信息。基于SBD文件对URL进行修改。基于修改的URL从远程服务器获取资源。
本公开的各方面还提供存储指令的非易失性计算机可读介质,指令在由用于接收媒体数据的计算机执行时使该计算机执行用于接收媒体数据的方法中的任何一种或其组合。
附图说明
根据以下具体实施方式和附图,所公开的主题的另外的特征、性质和各种优点将更加明显,在附图中:
图1示出了根据本公开的实施例的示例性的基于超文本传输协议的动态自适应流传输(DASH)系统;
图2示出了根据本公开的实施例的示例性的基于会话的DASH系统;
图3示出了根据本公开的实施例的示例性DASH客户端架构;
图4示出了根据本公开的实施例的示例性的基于会话的DASH系统;
图5示出了根据一些实施例的概述过程示例的流程图;以及
图6是根据实施例的计算机系统的示意图。
具体实施方式
I.基于超文本传输协议的动态自适应流传输(DASH)和媒体展示描述(MPD)
基于超文本传输协议的动态自适应流传输(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属性和每个时段的开始属性。对于具有动态类型的媒体展示(例如,用于直播服务),时段的开始属性和MPD属性availableStartTime以及媒体片段的持续时间的总和可以指示协调通用时间(UTC)格式的时段的可用性时间,特别是对应时段中的每个码流(Representation)的第一媒体片段。对于具有静态类型的媒体展示(例如,用于点播服务),第一时段的开始属性可以是0。对于任何其它时段,开始属性可以指定对应时段的开始时间相对于第一时段的开始时间之间的时间偏移。每个时段可以一直延伸到下一时段的开始,或者在最后时段的情况下一直延伸到媒体展示的结束。时段开始时间可以是精确的,并且反映由播放所有先前时段的媒体而产生的实际定时。
每个时段可以包含一个或多个自适应集合,并且自适应集合中的每一个可以包含针对相同媒体内容的一个或多个码流(representation)。码流可以是音频或视频数据的多个可选已编码版本中的一个。这些码流可以因编码类型而不同,例如因比特率、分辨率和/或用于视频数据的编解码器和比特率和/或用于音频数据的编解码器而不同。术语″码流″可以被用于指代与多媒体内容的特定时段相对应并且以特定方式编码的一段已编码音频或视频数据。
特定时段的自适应集合可以被分配给由MPD文件中的组属性指示的组。同一组中的自适应集合通常被认为是彼此可替代的。例如,可以将特定时段的视频数据的每个自适应集合分配给相同的组,使得可以选择任何自适应集合用于解码以显示对应时段的多媒体内容的视频数据。在一些示例中,一个时段内的媒体内容可以由来自组0的一个自适应集合(如果存在)或来自每个非零组的至多一个自适应集合的组合来表示。时段的每个码流的定时数据可以用相对于时段的开始时间的方式来表示。
媒体展示可以包括一个或多个片段。每个媒体展示可以包括初始化片段,或者媒体展示的每个片段可以是自初始化的。当初始化片段存在时,初始化片段可以包含用于访问该媒体展示的初始化信息。在一些情况下,初始化片段不包含媒体数据。片段可以由标识符唯一地引用,诸如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(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)中,从DASH服务器(101)(例如,内容服务器)向DASH客户端(102)发送MPD文件。DASH客户端(102)可以基于MPD文件从诸如DASH服务器(101)的服务器接收媒体片段。DASH客户端(102)可以向DASH服务器(101)发送用于更新MPD文件的请求。DASH服务器(101)可以提供内容流,包括主要内容(例如,主程序)和一个或多个计时元数据轨道。另外,DASH客户端(102)可以从服务器,诸如DASH服务器(101)或第三方(例如,会话控制器),接收SBD文件。
根据本公开的各方面,SBD文件可以包括多个时间范围和对应的键值对(或名称值对)以及附加元数据。SBD文件可以在MPD文件中由例如URL引用。SBD文件可以用于将由DASH客户端(102)接收的MPD文件定制为特定于DASH客户端(102)的会话。例如,SBD文件可以允许在不生成唯一的每个会话MPD的情况下将会话专用元素添加到片段URL。
图2示出了根据本公开的实施例的另一示例性的基于会话的DASH操作架构200。在基于会话的DASH操作架构200中,多媒体内容由可以包括音频源(例如,麦克风)和视频源(例如,摄像机)的内容生成设备(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的每个基本属性描述符包括相似或相同的基本属性描述符属性。注意,展示描述符可以是基本属性描述符或补充属性描述符。对于基本属性,媒体展示作者表达了描述符的成功处理对于正确地使用包含该描述符的父元素中的信息是必要的,除非该元素与另一基本属性EssentialProperty元素共享相同的@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)缓冲器。事件和计时元数据缓冲器(306)可以对应于媒体缓冲器(307)来管理。例如,只要媒体片段存在于媒体缓冲器(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)。事件实例可以根据订阅请求所指示的调度模式(例如,针对特定事件方案)或默认调度模式来传送。例如,在接收(on-receive)调度模式中,事件实例可以在事件和计时元数据缓冲器(306)中被接收时被发送到应用(312)。另一方面,在开始(on-start)调度模式中,事件实例可以在其相关联的展示时间被发送到应用(312),例如与来自媒体解码器(309)的定时信号同步。
应注意,在DASH客户端架构中,粗数据流线指示媒体数据流,窄数据流线指示事件和计时元数据数据流,并且虚线数据流线指示控制和同步。另外,相同的处理模型可以用于CMAF事件。
III.基于本地SBD的URL修改
在DASH标准中,提供了SBD文件或文档的一般使用。例如,SBD文件可以用于生成请求URL的URL查询。请求URL可以由DASH访问客户端生成和/或由SBD客户端修改。在一些情况下,URL查询的生成需要设备的一项或多项服务的服务信息,该设备上运行有DASH访问客户端和/或SBD客户端。例如,设备的服务信息可以是设备的用户标识(ID)信息、设备ID信息、设备硬件信息、软件信息、操作系统信息和/或应用程序信息。然而,DASH标准不提供用于基于在设备上运行的一项或多项服务的服务信息来生成URL查询的方法。
本公开包括基于设备的一项或多项服务的服务信息来生成URL查询的方法。该方法在基于会话的DASH的基础上操作。可以动态地收集和更新一项或多项服务的服务信息。
图4示出了根据本公开的实施例的示例性的基于会话的DASH系统。在图4中,在设备(404)上运行的DASH访问客户端(405)可以通过CDN(402)访问清单文件诸如MPD文件,和媒体片段。为了从CDN(402)请求资源,诸如媒体片段,DASH访问客户端(405)可以将请求URL和SBD URL(以及相关联的信息)提供到也在设备(404)上运行的SBD客户端(406)。SBD客户端(406)可以基于SBD URL下载SBD文件,并且基于SBD文件对请求URL进行修改。然后,可以将修改的请求URL返回到DASH访问客户端(405),DASH访问客户端将修改的请求URL发送到CDN(402)以请求资源。
在实施例中,SBD文件可以是SBD1文档,该文档位于诸如云会话控制器(CSC)(403)的外部设备或服务器并由其提供。在该实施例中,DASH访问客户端(405)可以为SBD1文档提供指向CSC(403)中的远端地址的SBD URL。SBD客户端(406)可以基于CSC(403)中的远端地址从CSC(403)下载SBD1文档,并且基于SBD1文档对请求URL进行修改。
在实施例中,SBD文件可以是SBD2文档,该文档位于设备(404)的本地高速缓存中并且由在设备(404)上运行的本地会话控制器(LSC)(407)提供。在该实施例中,DASH客户端(405)可以为SBD2文档提供指向本地高速缓存中的本地地址的SBD URL。SBD客户端(406)可以基于本地高速缓存中的本地地址通过LSC(407)访问SBD2文档,并且基于SBD2文档对请求URL进行修改。
在实施例中,可以基于SBD1文档和SBD2文档对请求URL进行修改。在该实施例中,DASH访问客户端(405)可以将两个SBD URL提供到SBD客户端(406)。一个SBDURL用于寻址SBD1文档,并且另一个SBD URL用于寻址SBD2文档。SBD客户端(406)可以基于SBD URL访问两个SBD文档,并且基于两个SBD文档对请求URL进行修改。
根据本公开的各方面,LSC(407)可以访问在设备(404)上运行的不同服务、功能和/或程序的信息。例如,LSC可以访问设备(404)的用户ID信息、设备(404)的设备ID信息、在设备(404)上运行的应用程序的用户ID信息、应用程序的应用信息(例如,应用配置文件或用户配置文件)、设备(404)的设备能力信息(例如,设备屏幕大小或屏幕分辨率)、设备(404)的操作系统信息(例如,操作系统版本),和/或设备(404)的设备位置信息。服务、功能和/或程序的信息可以因设备而异,并且可以基于用户许可来访问。可以基于在设备(404)上运行的服务、功能和/或程序的信息来生成和更新SBD2文档。
在DASH标准中,MPD文件可以包括基本属性描述符,称为SBD基本属性描述符,以指示SBD文件的地址。例如,SBD基本属性描述符的属性值(例如@value)可以被设置为SBDURL,SBD客户端(406)可以基于SBD URL来访问SBD文件。
在实施例中,SBD2文档可以位于设备(404)的本地高速缓存中。为了访问SBD2文档,SBD基本属性描述符中的属性值@value可以被设置为本地URL地址,诸如′locolhost/SBD2.js′或′127.0.0.1/sessionbased/SBD2.js′。
SBD2文档可以包括一个或多个键值对。一个或多个键值对的每个键可以指示不同的设备或用户特性。键的示例可以包括以下的不同方面:设备硬件信息(例如,存储器大小或存储器类型)、设备固件信息(例如,固件版本)、设备软件信息(例如,媒体播放器版本)、操作系统信息(例如,操作系统版本)、设备能力(例如,设备屏幕大小或屏幕分辨率)、取决于用户许可的用户部分或全部信息、在设备(404)上运行的应用程序的应用信息,和/或设备(404)的设备位置信息。
取决于信息的性质,对应的键值对可以是静态的或动态的。静态键值对是恒定键值对,诸如与设备屏幕大小信息相对应的键值对。动态键值对可以基于对应信息的改变而更新,诸如与设备位置信息相对应的键值对。
在实施例中,对于每个MPD,对于每个时段,或者对于每个请求URL(例如,媒体片段请求),键值对可以被生成一次。可以基于事件生成和更新键值对。例如,只要设备(404)的位置改变,就可以更新与设备位置信息相对应的键值对。
在实施例中,更新SBD2文档中的一个或多个键值对的频率可以由LSC(407)管理。
表1示出了根据本公开的实施例的SBD2文档中的键值对象的示例性设置。在表1中,SBD2文档的类型可以被设置为动态类型,指示SBD2文档中的一个或多个键值对可以每ttl秒被更新。时间线模型而不是顺序线模型可以用于SBD2文档中的键值对的布置,指示SBD2文档中的键值对是基于时间布置的。SBD2文档的循环属性可以被设置为′真′,指示在运行完所有时间线元素之后,可以通过重复一个或多个相同元素来添加一组新的时间线元素,直到会话结束为止。
表1
Figure BDA0003843134770000111
表2示出了根据本公开的实施例的SBD2文档的时间线模型的示例性设置。在表2中,属性@n被设置为0,指示起始(子)片段是对应的MPD或时段元素中的第一(子)片段。属性@d是时间线模型的持续时间,并且可以被设置为非常大的值。
表2
Figure BDA0003843134770000112
Figure BDA0003843134770000121
利用以上设置,对于DASH访问客户端(405)发送的每个请求,SBD客户端(406)可以访问LSC(407)以获得更新的SBD2文档。LSC(407)可以查询在设备(404)上运行的每个模块、功能、程序和/或服务,并且然后更新SBD2文档中的对应的一个或多个键值对。然后,LSC(407)可以将更新的SBD2文档提供给SBD客户端(406)。基于更新的SBD2文档,SBD客户端(406)可以修改由DASH访问客户端(405)提供的URL,并且将修改的URL发送回DASH访问客户端(405)。DASH访问客户端(405)可以将修改的URL发送到CDN(402)以请求资源。
在实施例中,可以将MPD和清单信息提供给LSC(407)。例如,LSC(407)可以拥有最新的MPD和清单信息,诸如MPD URL信息、MPD查询信息、MPD发布时间信息、时段ID信息、自适应集合ID信息和/或码流集(representation set)ID信息。如果需要,也可以向LSC(407)提供其它信息,诸如包括在MPD文件中的各种描述符中的特定信息。LSC(407)可以将信息设置为SBD2文档中的各种键。因此,MPD和清单信息可以被添加为URL查询的一部分以从CDN请求资源(402)。
在实施例中,对于由DASH访问客户端(405)提供的URL,SBD客户端(406)可以通过将SBD2文档中的一个或多个键值对添加到URL的URL查询来修改URL。一个或多个键值对可以基于与URL请求的媒体片段相对应的时间范围来确定。一个或多个键值对中的每一个可以对应于在设备(404)上运行的不同服务的信息。例如,第一键值对可以对应于包括设备屏幕大小信息的第一服务,并且第二键值对可以对应于包括设备屏幕分辨率信息的第二服务。如果设备(404)具有21英寸的屏幕大小和1600×1200的屏幕分辨率,则第一键值对可以被设置为″screen_size=21英寸″,并且第二键值对可以被设置为″screen_resolution=1600×1200″。这两个键值对可以被组合为′screen_size=21英寸&screen_resolution=1600×1200′,其可被添加为URL查询。
在实施例中,对于DASH访问客户端(405)提供的URL,SBD客户端(406)可以通过基于SBD2文档定制URL的一个或多个URL部分来修改URL。例如,可以由SBD客户端(406)基于SBD2文档中的一个或多个键值对来定制URL的主机部分、端口部分、路径部分和/或片段部分中的一个或多个。
在实施例中,用于从CDN(402)请求资源的URL可以是媒体片段请求、MPD请求、Xlink解析请求、由回调事件触发的回调请求、对链接到MPD的链接请求或对回退MPD的回退请求中的一个。
本公开包括一种用于将各种设备、用户、应用和/或流会话参数中的一个或多个动态地添加为对请求URL(诸如媒体片段请求URL)的查询的方法。这些参数可以由诸如LSC(407)的LSC生成,并且被包括在诸如设备(404)的设备上运行的不同服务中。LSC可以通过访问包括这些参数的服务来访问这些参数。基于这些参数,LSC可以生成包括一个或多个键值对的动态SBD文档(例如,SBD2),每个键值对对应于一个不同的参数。动态SBD文档可以作为资源存储在设备的本地高速缓存中。SBD文档可以用指示它是动态的配置来建立,并且可以用参数的任何改变来更新。可以利用从诸如SBD客户端(406)的SBD客户端接收的每个请求来访问SBD文档。例如,当要更新URL查询信息时,SBD客户端可以将访问SBD文档的请求发送到LSC。本地高速缓存中的SBD文档的地址值可以被包括在MPD文件中的SBD基本属性描述符中,使得SBD客户端可以访问SBD文档。
在实施例中,诸如DASH访问客户端(405)的DASH访问客户端可以将键名和时间范围发送到SBD客户端。SBD客户端可以访问SBD文档以确定与键名和时间范围相对应的值。然后,SBD客户端或DASH访问客户端可以基于该值来修改URL,例如通过将该值添加为URL的URL查询。如果DASH客户端将URL发送到SBD客户端,则SBD客户端可以修改URL并且将修改的URL返回到DASH访问客户端。否则,SBD客户端可以将该值返回到DASH访问客户端,然后DASH访问客户端基于该值修改URL。以任一方式,修改的URL可以由DASH访问客户端发送到诸如CDN(402)的远程服务器以请求资源。
本公开包括一种基于存储在诸如设备(404)的设备的本地高速缓存中的动态SBD文档(例如,SBD2)来定制URL的一个或多个部分的方法。一个或多个部分可以包括URL的主机部分、端口部分、路径部分和/或片段部分。动态SBD文档由诸如LSC(407)的LSC生成,并且包括一个或多个键值对,每个键值对与在设备上运行的不同服务的服务信息相对应。
本公开包括一种基于修改的URL从远程服务器获取资源的方法。URL的修改可以是URL查询添加和/或URL部分定制。修改的URL可以是MPD更新请求、Xlink解析请求、回调请求、链接MPD请求或MPD后退请求之一。基于修改的URL的请求的类型,可以从诸如CDN(402)的远程服务器获取对应的资源。
IV.流程图
图5示出了概述根据本公开的实施例的过程(500)的流程图。在各种实施例中,过程(500)由处理电路执行,诸如DASH客户端(102)中的处理电路。在一些实施例中,过程(500)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(500)。
过程(500)开始于(S510),其中过程(500)接收MPD文件,该MPD文件包括用于基于会话的DASH操作的基本属性描述符。基本属性描述符指示SBD文件,该SBD文件包括由本地SBD会话控制器动态地生成的一个或多个键值对。一个或多个键值对的每个键指示本地设备的不同服务的服务信息。然后,过程(500)进行到步骤(S520)。
在步骤(S520)处,过程(500)基于SBD文件对URL进行修改。然后,过程(500)进行到步骤(S530)。
在步骤(S530),过程(500)基于修改的URL从远程服务器获取资源。然后,过程(500)结束。
在实施例中,基本属性描述符包括SBD文件的本地地址。
在实施例中,服务信息包括设备信息、用户信息、应用信息或位置信息中的至少一种。
在实施例中,响应于本地设备的服务信息的改变,过程(500)更新与本地设备的服务之一的服务信息相对应的一个或多个键值对之一。
在实施例中,过程(500)基于SBD文件对URL的主机部分、端口部分、路径部分或碎片部分中的至少一个进行修改。
在实施例中,过程(500)基于SBD文件将查询添加到URL。
在实施例中,URL是媒体片段请求、MPD请求、XLink解析请求、由回调事件触发的回调请求、对链接到MPD的链接请求或对回退MPD的回退请求中的一个。
在实施例中,SBD文件的类型是动态类型,并且一个或多个键值对以基于时间的顺序布置。
V.计算机系统
以上描述的技术可以被实现为使用计算机可读指令并且物理地存储在一个或多个计算机可读介质中的计算机软件。例如,图6示出了适于实现所公开的主题的某些实施例的计算机系统(600)。
可以使用任何合适的机器代码或计算机语言来编码计算机软件,该机器代码或计算机语言可以经过汇编、编译、链接或类似机制以创建代码,该代码包括可以由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过解译、微代码执行等执行的指令。
这些指令可以在各种类型的计算机或其部件上执行,包括(例如)个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图6中所示的用于计算机系统(600)的部件本质上是示例性的,并且不旨在对实现本公开的实施例的计算机软件的使用范围或功能提出任何限制。部件的配置也不应被解释为对计算机系统(600)的示例性实施例中图示的任何一个部件或其组合具有任何依赖性或要求。
计算机系统(600)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套运动)、音频输入(诸如:语音、拍打)、可视输入(诸如:手势)、嗅觉输入(未描绘)。人机接口设备还可以被用于捕获不一定与人的有意识输入直接相关的某些媒体,诸如音频(诸如:语音、音乐、环境声音)、图片(诸如:扫描图像、从静止图像相机获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下中的一个或多个(每种仅描绘了其中的一个):键盘(601)、鼠标(602)、触控板(603)、触摸屏(610)、数据手套(未示出)、操纵杆(605)、麦克风(606)、扫描仪(607)、相机(608)。
计算机系统(600)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如通过触摸屏(610)、数据手套(未示出)或操纵杆(605)的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器(609)、耳机(未示出))、视觉输出设备(诸如用于包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕的屏幕(610),每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力,其中一些屏幕能够通过诸如立体输出的手段输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾罐(未示出)和打印机(未示出)。这些视觉输出设备(诸如屏幕(610))可以通过图形适配器(650)连接到系统总线(648)。
计算机系统(600)还可以包括人类可访问的存储设备及其相关联的介质,诸如包括带有CD/DVD的CD/DVD ROM/RW(620)等介质(621)的光学介质、拇指驱动器(622)、可移动硬盘驱动器或固态驱动器(623)、诸如磁带和软盘(未描绘)的传统磁性介质、诸如安全软件狗(未描绘)的基于专用ROM/ASIC/PLD的设备等。
本领域技术人员还应该理解,结合当前公开的主题使用的术语″计算机可读介质″不包含传输介质、载波或其它易失性信号。
计算机系统(600)还可以包括到一个或多个通信网络(655)的网络接口(654)。一个或多个通信网络(655)例如可以是无线的、有线的、光学的。一个或多个通信网络(655)可以进一步是本地的、广域的、大城市的、车载的以及工业的、实时的、延迟容忍的等等。一个或多个通信网络(655)的示例包括局域网(诸如以太网)、无线LAN、蜂窝网络(包括GSM、3G、4G、5G、LTE等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车辆和工业网络(包括CANBus)等。某些网络通常需要附接到某些通用数据端口或外围总线(649)(诸如,计算机系统(600)的USB端口)的外部网络接口适配器;其它网络通常通过附接到如下所描述的系统总线而集成到计算机系统(600)的内核中(例如以太网接口集成到PC计算机系统中或蜂窝网络接口集成到智能电话计算机系统中)。使用这些网络中的任何一个,计算机系统(600)可以与其它实体通信。这种通信可以是单向的、仅接收的(例如,广播TV)、仅单向发送的(例如,CANbus到某些CANbus设备)或双向的(例如到使用局域数字网络或广域数字网络的其它计算机系统)。可以在如以上描述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机接口设备、人可访问的存储设备和网络接口可以附接到计算机系统(600)的内核(640)。
内核(640)可以包括一个或多个中央处理单元(CPU)(641)、图形处理单元(GPU)(642)、现场可编程门区域(FPGA)形式的专用可编程处理单元(FPGA)(643)、用于某些任务的硬件加速器(644)等。这些设备连同只读存储器(ROM)(645)、随机存取存储器(646)、诸如内部非用户可访问硬盘驱动器、SSD等内部大容量存储装置(647)可以通过系统总线(648)连接。在一些计算机系统中,系统总线(648)可以以一个或多个物理插头的形式来访问,以实现由附加CPU、GPU等进行的扩展。外围设备可以直接附接到内核的系统总线(648),或者通过外围总线(649)附接该内核的系统总线(648)。外围总线的架构包括PCI、USB等。
CPU(641)、GPU(642)、FPGA(643)和加速器(644)可以执行某些指令,这些指令的组合可以构成前述计算机代码。该计算机代码可以存储在ROM(645)或RAM(646)中。过渡数据也可以存储在RAM(646)中,而永久数据可以存储在例如内部大容量存储装置(647)中。可以通过使用高速缓冲存储器来启用对任何存储器设备的快速存储和获取,该高速缓冲存储器可以与一个或多个CPU(641)、GPU(642)、大容量存储装置(647)、ROM(645)、RAM(646)等紧密相关联。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而专门设计和构建的那些,或者它们可以是计算机软件领域的技术人员公知和可用的类型。
作为示例而非作为限制,具有架构(600)并且特别是内核(640)的计算机系统可以提供作为执行包含在一个或多个有形的计算机可读介质中的软件的一个或多个处理器(包括CPU、GPU、FPGA、加速器等)的结果的功能。这样的计算机可读介质可以是与如上所介绍的用户可访问大容量存储装置相关联的介质,以及具有非易失性性质的内核(640)的某些存储装置(诸如内核内部大容量存储装置(647)或ROM(645))。实现本公开的各种实施例的软件可以存储在这样的设备中并且由内核(640)执行。根据特定需要,计算机可读介质可以包括一个或多个存储器设备或芯片。软件可以使内核(640)并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定过程或特定过程的特定部分,包括定义存储在RAM(646)中的数据结构,并且根据软件定义的过程对这样的数据结构进行修改。此外或作为替代方案,该计算机系统可以提供作为逻辑硬连线或以其它方式体现在电路中的结果的功能(例如:加速器(644)),其可以代替软件或与软件一起操作以执行本文中描述的特定过程或特定过程的特定部分。适当时,对软件的引用可以包含逻辑,反之亦然。适当时,对计算机可读介质的引用可以包含存储用于执行的软件的电路(诸如集成电路(IC))、包含用于执行的逻辑的电路,或两者。本公开包含硬件和软件的任何合适的组合。
虽然本公开已经描述了若干示例性实施例,但是存在落入本公开的范围内的改变、置换和各种替代等同物。因此,应当理解,本领域技术人员将能够设计出虽然未在本文中明确示出或描述但体现本公开的原理并且因此在本公开的精神和范围内的许多系统和方法。

Claims (20)

1.一种接收媒体数据的方法,其特征在于,包括:
接收媒体展示描述(MPD)文件,所述MPD文件包括基本属性描述符,所述基本属性描述符用于基于会话的基于超文本传输协议的动态自适应流传输(DASH)操作,所述基本属性描述符指示基于会话的描述(SBD)文件,所述SBD文件包括由本地SBD会话控制器动态生成的一个或多个键值对,所述一个或多个键值对中的每个键指示本地设备的不同服务的服务信息;
基于所述SBD文件对统一资源定位符(URL)进行修改;以及
基于修改的URL从远程服务器获取资源。
2.根据权利要求1所述的方法,其特征在于,所述基本属性描述符包括所述SBD文件的本地地址。
3.根据权利要求1所述的方法,其特征在于,所述服务信息包括设备信息、用户信息、应用信息或位置信息中的至少一种。
4.根据权利要求1所述的方法,其特征在于,进一步包括:
响应于所述本地设备的所述服务信息的改变,
更新与所述本地设备的所述服务之一的所述服务信息相对应的、所述一个或多个键值对之一。
5.根据权利要求1所述的方法,其特征在于,所述修改包括基于所述SBD文件对所述URL的主机部分、端口部分、路径部分或片段部分中的至少一个进行修改。
6.根据权利要求1所述的方法,其特征在于,所述修改包括基于所述SBD文件将查询添加到所述URL。
7.根据权利要求1所述的方法,其特征在于,所述URL是媒体片段请求、MPD请求、可扩展标记语言链接语言(XLink)解析请求、由回调事件触发的回调请求、对链接到MPD的链接请求、或对回退MPD的回退请求中的一个。
8.根据权利要求1所述的方法,其特征在于,所述SBD文件的类型是动态类型,并且所述一个或多个键值对以基于时间的顺序布置。
9.一种用于接收媒体数据的装置,其特征在于,所述装置包括:
处理电路,所述处理电路被配置为:
接收媒体展示描述(MPD)文件,所述MPD文件包括基本属性描述符,所述基本属性描述符用于基于会话的基于超文本传输协议的动态自适应流传输(DASH)操作,所述基本属性描述符指示基于会话的描述(SBD)文件,所述SBD文件包括由本地SBD会话控制器动态地生成的一个或多个键值对,所述一个或多个键值对中的每个键指示本地设备的不同服务的服务信息;
基于所述SBD文件对统一资源定位符(URL)进行修改;以及
基于修改的URL从远程服务器获取资源。
10.根据权利要求9所述的装置,其特征在于,所述基本属性描述符包括所述SBD文件的本地地址。
11.根据权利要求9所述的装置,其特征在于,所述服务信息包括设备信息、用户信息、应用信息或位置信息中的至少一种。
12.根据权利要求9所述的装置,其特征在于,所述处理电路进一步被配置为:
响应于所述本地设备的所述服务信息的改变,
更新与所述本地设备的所述服务之一的所述服务信息相对应的、所述一个或多个键值对之一。
13.根据权利要求9所述的装置,其特征在于,所述处理电路进一步被配置为:
基于所述SBD文件对所述URL的主机部分、端口部分、路径部分或片段部分中的至少一个进行修改。
14.根据权利要求9所述的装置,其特征在于,所述处理电路进一步被配置为:基于所述SBD文件将查询添加到所述URL。
15.根据权利要求9所述的装置,其特征在于,所述URL是媒体片段请求、MPD请求、可扩展标记语言链接语言(XLink)解析请求、由回调事件触发的回调请求、对链接到MPD的链接请求、或对回退MPD的回退请求中的一个。
16.根据权利要求9所述的装置,其特征在于,所述SBD文件的类型是动态类型,并且所述一个或多个键值对以基于时间的顺序布置。
17.一种存储指令的非易失性计算机可读存储介质,其特征在于,所述指令在由用于接收媒体数据的计算机执行时,使所述计算机执行:
接收媒体展示描述(MPD)文件,所述MPD文件包括用于基于会话的基于超文本传输协议的动态自适应流传输(DASH)操作的基本属性描述符,所述基本属性描述符指示基于会话的描述(SBD)文件,所述SBD文件包括由本地SBD会话控制器动态地生成的一个或多个键值对,所述一个或多个键值对中的每个键指示本地设备的不同服务的服务信息;
基于所述SBD文件对统一资源定位符(URL)进行修改;以及
基于修改的URL从远程服务器获取资源。
18.根据权利要求17所述的非易失性计算机可读存储介质,其特征在于,所述基本属性描述符包括所述SBD文件的本地地址。
19.根据权利要求17所述的非易失性计算机可读存储介质,其特征在于,所述服务信息包括设备信息、用户信息、应用信息或位置信息中的至少一种。
20.根据权利要求17所述的非易失性计算机可读存储介质,其特征在于,存储的指令使所述计算机执行:
响应于所述本地设备的所述服务信息中的改变,
更新与所述本地设备的所述服务之一的所述服务信息相对应的所述一个或多个键值对之一。
CN202180021627.3A 2021-01-06 2021-09-22 基于http的动态自适应流传输的方法和装置 Active CN115299022B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163134520P 2021-01-06 2021-01-06
US63/134,520 2021-01-06
US17/477,315 US11451602B2 (en) 2021-01-06 2021-09-16 Methods and apparatuses for dynamic adaptive streaming over HTTP
US17/477,315 2021-09-16
PCT/US2021/051483 WO2022150071A1 (en) 2021-01-06 2021-09-22 Methods and apparatuses for dynamic adaptive streaming over http

Publications (2)

Publication Number Publication Date
CN115299022A true CN115299022A (zh) 2022-11-04
CN115299022B CN115299022B (zh) 2023-06-16

Family

ID=82219085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180021627.3A Active CN115299022B (zh) 2021-01-06 2021-09-22 基于http的动态自适应流传输的方法和装置

Country Status (6)

Country Link
US (1) US11451602B2 (zh)
EP (1) EP4085568A4 (zh)
JP (1) JP7377991B2 (zh)
KR (1) KR102636993B1 (zh)
CN (1) CN115299022B (zh)
WO (1) WO2022150071A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11888913B2 (en) * 2021-04-28 2024-01-30 Lemon Inc. External stream representation properties
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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104429093A (zh) * 2012-07-09 2015-03-18 华为技术有限公司 超文本传输协议动态自适应流媒体客户端行为框架和会话管理实施
CN107113460A (zh) * 2015-01-08 2017-08-29 高通股份有限公司 针对空中广播媒体数据的会话描述信息
CN107211022A (zh) * 2015-01-28 2017-09-26 佳能株式会社 利用服务器装置的改进的客户端驱动资源推送
CN107211032A (zh) * 2015-02-11 2017-09-26 Vid拓展公司 用于http动态自适应流媒体(dash)中的一般化http头的系统和方法
US20200366971A1 (en) * 2019-05-15 2020-11-19 Tencent America LLC Early termination of content

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140004185A (ko) * 2011-01-25 2014-01-10 인터디지탈 패튼 홀딩스, 인크 콘텐츠 id에 기초하여 콘텐츠를 자동적으로 발견하고 리트리브하기 위한 방법 및 장치
KR101397551B1 (ko) * 2012-09-27 2014-06-27 배재대학교 산학협력단 Http에 기초한 동적 적응적 스트리밍 시스템
WO2014066887A1 (en) 2012-10-26 2014-05-01 Intel Corporation Streaming with coordination of video orientation (cvo)
US9646162B2 (en) * 2013-04-10 2017-05-09 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol service protection
US9258747B2 (en) * 2013-09-17 2016-02-09 Intel IP Corporation User equipment and methods for fast handover failure recovery in 3GPP LTE network
CN109379576B (zh) 2013-11-27 2021-07-06 交互数字专利控股公司 计算设备和调度mpeg-dash事件的方法
US10476930B2 (en) * 2014-01-06 2019-11-12 Intel IP Corporation Client/server signaling commands for dash
US10454985B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated File format based streaming with dash formats based on LCT
US9692911B1 (en) * 2015-12-17 2017-06-27 Oracle International Corporation Methods, systems, and computer readable media for using user defined session description protocol (SDP) rules
US10476943B2 (en) * 2016-12-30 2019-11-12 Facebook, Inc. Customizing manifest file for enhancing media streaming
US10764650B2 (en) * 2017-12-07 2020-09-01 At&T Intellectual Property I, L.P. Video optimization proxy system and method
US10938872B2 (en) * 2018-03-12 2021-03-02 Qualcomm Incorporated Processing interactivity events for streaming media data
CN111903135A (zh) * 2018-03-29 2020-11-06 索尼公司 信息处理装置、信息处理方法以及程序

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104429093A (zh) * 2012-07-09 2015-03-18 华为技术有限公司 超文本传输协议动态自适应流媒体客户端行为框架和会话管理实施
CN107113460A (zh) * 2015-01-08 2017-08-29 高通股份有限公司 针对空中广播媒体数据的会话描述信息
CN107211022A (zh) * 2015-01-28 2017-09-26 佳能株式会社 利用服务器装置的改进的客户端驱动资源推送
CN107211032A (zh) * 2015-02-11 2017-09-26 Vid拓展公司 用于http动态自适应流媒体(dash)中的一般化http头的系统和方法
US20200366971A1 (en) * 2019-05-15 2020-11-19 Tencent America LLC Early termination of content

Also Published As

Publication number Publication date
EP4085568A4 (en) 2023-07-12
CN115299022B (zh) 2023-06-16
JP2023518786A (ja) 2023-05-08
JP7377991B2 (ja) 2023-11-10
KR20220133964A (ko) 2022-10-05
US20220217190A1 (en) 2022-07-07
KR102636993B1 (ko) 2024-02-14
EP4085568A1 (en) 2022-11-09
US11451602B2 (en) 2022-09-20
WO2022150071A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
CN113748659B (zh) 接收会话的媒体数据的方法、装置和非易失性计算机可读介质
US11930064B2 (en) Query signaling in media presentation description
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
JP7252373B2 (ja) メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム
CN113767639A (zh) 基于http的动态自适应流传输的方法和装置
CN113767608A (zh) 用于基于http的动态自适应流传输的基于会话的信息
CN115299022B (zh) 基于http的动态自适应流传输的方法和装置
CN115349264B (zh) 接收媒体数据的方法和设备
US11228796B2 (en) Pattern addressing for session-based dash operations
JP7395766B2 (ja) Httpを介した動的適応ストリーミングのための方法および装置
CN113364728B (zh) 媒体内容接收方法、装置、存储介质和计算机设备
JP7387209B2 (ja) Http上の動的適応ストリーミングのための方法および装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40075534

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant