CN117280700A - 用于自适应流参数化的可扩展请求信令 - Google Patents
用于自适应流参数化的可扩展请求信令 Download PDFInfo
- Publication number
- CN117280700A CN117280700A CN202380011091.6A CN202380011091A CN117280700A CN 117280700 A CN117280700 A CN 117280700A CN 202380011091 A CN202380011091 A CN 202380011091A CN 117280700 A CN117280700 A CN 117280700A
- Authority
- CN
- China
- Prior art keywords
- http
- media
- parameterization
- request
- requests
- 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
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 30
- 230000011664 signaling Effects 0.000 title abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 31
- 239000012634 fragment Substances 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006978 adaptation Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 12
- 230000010365 information processing Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 239000012092 media component Substances 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000153 supplemental effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000007781 signaling event Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开总体上涉及媒体流式传输技术,更具体地涉及用于动态自适应流式传输中的媒体请求的可扩展参数化信令的方法和装置。本文公开的各种示例性的实现允许以下机制:媒体服务器向流式客户端发信号通知:向该媒体服务器的哪些请求可以被参数化、以及如何被参数化。参数化的特性可以由服务提供商定义,并且因此是可扩展的。
Description
援引并入
本申请基于并享有于2023年4月17日提交的第18/301,826号美国非临时专利申请的优先权,该非临时专利申请基于并享有于2022年4月19日提交的第63/332,600号美国临时申请的优先权。上述现有专利申请中的每一个在此通过引用整体并入本文。
技术领域
本公开总体上涉及媒体流式传输技术,更具体地涉及用于在自适应流式传输中针对媒体的请求进行可扩展参数化的方法和装置。
背景技术
本文提供的背景描述总体上用于呈现本公开的上下文。当前所署名的发明人的工作、在本背景技术部分中所描述的程度上的工作、以及本部分描述在本申请的有效申请时间尚不构成现有技术的方面,既不明确也不隐含地被承认为反对本公开的现有技术。
基于超文本传输协议的动态自适应流式传输(Dynamic Adaptive StreamingOver Hypertext Transfer Protocol,DASH)支持在IP网络上灵活地流式传输多媒体内容。在DASH中,可以从DASH客户端向DASH服务器发出各种请求,以实现动态自适应流功能和控制的各个方面。这些各种请求中的一些请求可以与参数集相关联,该参数集是当DASH客户端发出这些请求时DASH服务器期望接收的。可以从媒体服务器侧指定用于这些各种请求中的每一种请求的期望参数集。与这样的参数化相关联的信息可以从DASH服务器用信号发送到DASH客户端,以使DASH客户端在进行请求时遵循。在当前的实现中,对请求进行参数化的这种信令是不可扩展的。
发明内容
本公开总体上涉及媒体流式传输技术,以及更具体地涉及用于自适应流式传输中的媒体请求的可扩展参数化信令的方法和装置。本文公开的各种示例性实现允许以下机制:媒体服务器向流式客户端发信号通知:向该媒体服务器的哪些请求可以被参数化、以及如何被参数化。参数化的特性可以由服务提供商定义,并且因此是可扩展的。
在一些示例性的实现中,公开了一种媒体流式传输设备对超文本传输协议(Hypertext Transfer Protocol,HTTP)请求进行可扩展参数化的方法,该HTTP请求针对来自内容服务器的基于HTTP的动态自适应流式传输(DASH)流媒体。该方法可以包含:向DASH服务提供商发送针对DASH流媒体的初始请求;从内容服务器接收DASH流媒体的清单;解析清单以提取与HTTP请求相关联的参数化描述符;从参数化描述符中识别密钥集中的一个或多个以及统一资源标识符,统一资源标识符链接到用于HTTP请求的可扩展参数化的参数化方案;根据密钥集中的一个或多个以及参数化方案,确定对应于可扩展参数化的一种或多种HTTP请求;针对指向内容服务器并且属于一种或多种HTTP请求的HTTP请求,根据清单构造参数集;以及将参数集插入到HTTP请求中。
在以上示例性的实现中,HTTP请求包括HTTP GET请求。
在以上任一示例性的实现中,统一资源标识符包括统一资源定位符(UniformResource Locator,URL)或统一资源名称(Uniform Resource Name,URN)。
在以上任一示例性的实现中,一种或多种HTTP请求包括以下至少一种:媒体片段HTTP请求类型;清单HTTP请求类型;触发回调事件的回调HTTP请求类型;或者链接到清单(chained-to manifest)的链式HTTP请求。
在以上任一示例性的实现中,参数化方案包括密钥集的定义。
在以上任一示例性的实现中,确定需要参数化的一个或多个的HTTP请求包括:使用清单中包括的密钥集中的一个或多个以及密钥集的定义来识别一种或多种HTTP请求。
在以上任一示例性的实现中,
参数化描述符包括第一参数化选择串,该第一参数化选择串包括统一资源标识符,该统一资源标识符后跟密钥集中的一个或多个。
在以上任一示例性的实现中,参数化描述符还包括第二参数化选择串,该第二参数化选择串包括硬编码标识串,该硬编码标识串表示对用于参数化的预定义类型的HTTPGET请求的选择。
在以上任一示例性的实现中,参数集中的至少一个参数被清单指定为是动态的。
在以上任一示例性的实现中,
参数集中的被指定为动态的至少一个参数需要由媒体流式传输设备进行自适应计算。
本公开的各方面还提供了一种媒体流式传输设备或装置,该媒体流式传输设备或装置包括:电路,被配置为执行以上任一方法实现。
本公开的各方面还提供了一种存储指令的非暂时性计算机可读介质,当由媒体流式传输设备执行该指令时,该指令被配置为使得媒体流式传输设备执行以上任一方法实现。
附图说明
通过以下具体描述和附图,本公开主题的进一步特征、性质和各种优势将更加明显。
图1示出了根据本公开实施例的系统。
图2示出了根据本公开实施例的基于HTTP的动态自适应流式传输(DASH)系统。
图3示出了根据本公开实施例的DASH客户端架构。
图4示出了流媒体设备中用于请求参数化的示例性逻辑和数据流。
图5示出了根据本公开示例性实施例的计算机系统的示意图。
具体实施方式
基于超文本传输协议(HTTP)的流式传输
图1示出了示例性内容分发系统100,其中远程信息处理设备120被配置为通过通信网络130从一个或多个集中式或分布式内容服务器110请求内容。具体地,信息处理设备120可以包括专用硬件组件、在通用硬件上运行的软件组件或其组合,其用作内容消费应用。内容消费应用可以生成一个或多个请求,指定被请求的内容和被请求内容的特征。每个请求可以基于网络协议栈来构建,并通过通信网络130传输到内容服务器110。作为响应,内容服务器可以根据请求生成码流,使用网络协议栈打包码流,并将码流包传输给内容消费应用。
在一些示例性的实现中,可以同时请求内容。也就是说,内容消费应用可以请求、接收和本地存储整个媒体内容。本地存储的内容可以由例如媒体播放器根据需要处理和消费(例如,提取、解码和回放),该媒体播放器是内容消费应用的一部分或与内容消费应用分离。这样的过程可以被称为下载。
在一些其他的实现中,内容可以在正被消费时进行流式传输,而不是正被下载以供以后消费。在这样的实现中,整个所请求内容可能不需要存储在内容消费应用中。相反,只有有限数量的内容在滚动的基础上从内容服务器110被连续接收,并由本地进出缓冲器管理,用于内容处理和回放。这种实现可以被称为流式传输。虽然一些媒体回放功能,如倒带、快进和搜索可能涉及复杂的媒体码流控制和缓冲,但媒体流式传输通常更通用,并且更适合于分发包含不被重复消费的媒体定时序列的内容。
在下面的公开中,术语“内容”和“媒体”可互换使用。请求的内容可以包括其消费所需的各种信息项,包括但不限于内容本身和各种元数据。内容本身可以进一步包括各种媒体组件,例如不同的轨道,包括但不限于视频组件/轨道、音频组件/轨道、字幕等。用于描述媒体内容或提供附加处理信息的元数据,可以被视为一个或多个不同的轨道。这种内容及其元数据可以由内容服务器120生成为码流,该码流可以根据内容消费应用已知的一组协议或规则进行解析和解码。术语“内容服务器”以其单数形式用于表示布置在中心位置或分布在不同地理位置上的单个服务器或多个服务器。这种内容服务器可以被实现为专用计算机,或者可替换地,可以被构造为虚拟机,和/或被虚拟地置于云计算环境中。此外,在下面的公开中,术语“信息处理装置”(参考图1的120)和“内容消费应用”可以互换使用。这些术语也可以替代地称为“客户端”、“客户端设备/装置”、“回放设备/装置/客户端”等。虽然在图1中仅示出了单个信息处理装置120,但是可以存在多个独立的信息处理装置。也就是说,一组内容服务器110可以被配置成同时且独立地向多个内容消费应用提供流式传输服务。
在一些示例性的实现中,由内容服务器110生成用于分发的内容可以被分段以方便它们的流式传输。例如,诸如电影的媒体内容的定时序列,可以被分割成时间片段,每个时间片段包含多个媒体帧。每个媒体片段可以是自包含的,使得包括例如解析、解码和回放的处理不需要其他媒体片段的信息。媒体内容可以被预先分段。因此,媒体内容可以由内容服务器120逐段存储和管理。可替换地,当在流处理期间请求连续存储的媒体内容时,可以从连续存储的媒体内容实时生成媒体片段。在一些进一步的实现中,媒体的分段可以是分层的,包含多个级别的片段。
在一些特定的流式传输实现中,关于从内容服务器110请求哪些媒体片段或媒体片段的哪些部分的决定可以由内容消费应用实时确定,如通过用户应用界面由用户回放指令控制的。以这种方式,内容服务器可以被配置为响应请求,以及根据请求生成或检索具有元数据的内容片段或者内容片段的部分,并通过网络130将片段或者片段的部分发送给正在请求的内容消费应用。
在一些示例性的实现中,媒体内容的相同媒体轨道可以被制备成不同的版本。例如,可以以不同的分辨率和/或帧速率制备相同的电影轨道。再例如,可以以不同的码率制备相同的电影轨道。再例如,可以用不同的声音质量和/或不同数量的声音通道(例如,5声道声音或7声道声音)来制备相同的音频电影。因此,内容消费应用可以确定要流式传输的媒体轨道的哪个版本,并将这种选择包括在其对媒体内容的请求中。内容消费应用的这种决定可以基于多个示例因素中的一个或多个来做出,包括但不限于信息处理装置120的回放能力(例如,显示分辨率、解码速度、处理能力、缓冲器大小等)、网络带宽和吞吐量等。这样,流式会话可以根据不同的媒体消费应用的设备能力在它们之间进行适配。如此配置的流式传输架构可以被称为自适应流式传输。由于可以根据例如实时网络条件(例如,带宽和吞吐量,以及由网络带宽支持的码率)在流式会话期间的不同时间选择和请求媒体轨道的不同版本,流式传输过程还可以在每个媒体消费应用中是自适应的。如此配置的流式传输架构还可以被称为动态自适应流式传输。特别地,被配置成适应媒体内容的码率的流式传输架构可以被称为动态自适应码率流式传输。
在一些示例性的实现中,可以根据流式会话的进展,基于媒体清单来构建由动态自适应流式传输中的内容消费应用针对媒体内容的片段或部分片段的特定版本的请求。术语“清单”可用于表示描述媒体内容的信息项的任何集合,包括片段、版本、网络位置和任何内容消费应用可能需要的任何其他信息,以确定在流式会话期间的不同时间如何请求和请求什么。清单通常可以被称为“媒体呈现描述(Media Presentation Description,MPD)”。
当创建或生成特定媒体内容时,可以在内容服务器侧制备这样的清单。这样的清单可以由内容消费应用请求,并在流式会话开始时从内容服务器接收。内容消费应用可以在流式会话期间进一步请求清单的任何更新。该清单可由内容消费设备用作蓝图,用于在流式会话期间构造媒体内容的片段或部分片段的特定版本的后续请求。
在一些示例性的实现中,媒体服务器可以被配置成从外部应用的角度类似于web服务器地工作。这样,由内容消费应用对媒体清单和/或媒体片段或部分媒体片段的请求,可以基于例如超文本传输协议(HTTP)。这样,可以将请求构造为URL,并且可以将所请求的内容作为对来自内容服务器的HTTP请求的响应来传输。
指定清单、对内容进行分段、组织和版本控制以及构造HTTP请求的方式的细节可以取决于具体的自适应流式传输协议,例如基于HTTP的动态自适应流式传输(DASH)、HTTP实时流式传输(HTTP Live Streaming,HLS)、平滑流传输协议(Smooth StreamingTransport Protocol,SSTP)等。下面的各种附加示例性的实现可以在DASH的上下文中描述。然而,基本原则适用于任何类型的HTTP自适应流式传输。此外,基本原理适用于基于除HTTP之外的网络协议的媒体内容请求机制。
基于HTTP的动态自适应流式传输(DASH)
用于实现自适应媒体流式传输的一个示例性的协议包括基于超文本传输协议的动态自适应流式传输(DASH)。如上所述,DASH表示自适应码率流式传输的一个实现,其能够使用基于超文本传输协议(HTTP)基础设施的内容分发网络(Content Delivery Network,CDN)来流式传输媒体内容,该基础设施包括被配置为具有各种代理和高速缓存的web服务器的内容服务器等。这种内容服务器可以被称为DASH服务器。上述内容消费应用相应地可以被称为DASH客户端。
DASH支持从DASH服务器到DASH客户端的实时流式传输,并允许DASH客户端控制流式会话,因此DASH服务器不需要在大规模部署中处理流自适应管理的额外负载。如上所述,DASH还允许DASH客户端选择来自各种DASH服务器流式传输,从而进一步实现网络的负载平衡,以有利于DASH客户端。DASH还提供不同媒体版本的媒体轨道之间的动态切换,例如,通过改变码率以适应DASH客户端的网络条件和处理能力。
在DASH中,上述媒体清单可以特别地称为MPD(即使术语MPD通常可以用于指除基于DASH的自适应流式传输系统之外的自适应流式传输系统中的任何类型的清单)。例如,DASH中的MPD可以被构造为可由DASH客户端全部或部分地下载的文件,并且通过选择性地和自适应地从DASH服务器请求流媒体片段,该文件提供DASH客户端用于流式传输媒体内容的信息项。
可以以各种格式构造MPD。例如,可以以可扩展标记语言(Extensible MarkupLanguage,XML)文档或文件的形式构造MPD。MPD文件可以被请求并传送到DASH客户端。MPD文件可以由HTTP通过例如HTTP GET请求来请求。可以在流式会话开始时完全传送MPD文件。或者,MPD文件可以被分段并被分部分地传输。这样,MPD文件的部分可以在流式传输开始之前被请求和传送,MPD文件的其他部分可以在以后被请求和传送,以减少会话启动延迟(使得流式传输可以从较早的媒体片段开始,而不必等待与较晚的媒体片段相关的信息项)。MPD文件也可以在流式会话期间更新(例如,用需要但尚未检索到的片段信息)。
在一些示例性的实现中,MPD文件描述了媒体内容的分段、片段的组织以及片段的可用版本。MPD可以支持内容可访问性特征、评级、摄像机视图、元数据等的表达。DASH还可以支持多视图和可伸缩编码内容的传输。
在一些示例性的实现中,MPD文件可以包含沿媒体消费时间线(例如,视频内容的播放时间)的一个或多个时段的描述序列。一个或多个时段中的每一个可以由例如MPD文件中的“时段”信息元素标签来定义。媒体内容可以由MPD文件指示被组织在多个连续的时段中。MPD文件可以识别该回放时间线中每个时段的开始时间。开始时间可以被定义为从媒体内容的开始起的绝对开始时间,或者被定义为从回放时间线中的其他参考点的相对偏移。
在一些示例性的实现中,对于每个媒体时段,MPD文件可以进一步指定一个或多个适配集。可以指定不同的适配集来捕获一个或多个媒体组件的不同组合(或子集)。例如,视频和音频可以是不同的适配集。不同版本的音频(立体声音频或多声道音频)可以是不同的适配集。不同语言的音频可以是不同的适配集。在一个特定示例中,MPD文件可以指定每个时段包含一个视频适配集、多个音频适配集,用于所支持的每种语言的一个适配集。适配集还可以包含字幕或任意元数据。
在一些示例性的实现中,特定周期的适配集可以被分配到由MPD文件中的组属性所指示的组。同一组中的适配集通常被认为是彼此的替代。例如,特定时段的视频数据的每个适配集可以被分配给同一组,使得可以为相应时段的多媒体内容的视频数据选择任何适配集。一个时段内的媒体内容可以来自一个适配集,也可以来自适配集的组合,每个组最多贡献一个适配集。
在一些示例性的实现中,每个适配集可以由MPD文件指定为包含相应时段的同一媒体组件的一个或多个表示(representation)。例如,表示可以是音频或视频数据的多个替代编码版本之一。这些表示可以因编码类型而不同,例如,因视频数据的码率、分辨率和/或编解码器而不同,以及因音频数据的码率和/或编解码器而不同。术语“表示”可以用来指与特定时段的多媒体内容对应的、并以特定方式编码以实现某个范围的平均码率的编码媒体数据的一部分。在一些示例性的实现中,对于适配集中的每个表示,MPD文件可以指定该表示的属性,包括但不限于视频/音频类型、视频/音频编解码器、以像素为单位的视频帧宽度、以像素为单位的视频帧高度、视频/音频帧速率和带宽(表示平均编码码率)。
适配集的每个表示还可以包括一个或多个媒体组件,这取决于适配集中包括的媒体组件的组合。表示中的每个媒体组件可以对应于一个单独媒体类型的编码版本,例如音频、视频或定时文本(例如,用于隐藏式字幕)。媒体组件在一个表示内跨连续媒体片段的边界时,可以是时间连续的。
在一些示例性的实现中,表示可以包括一个或多个片段。每个表示可以包括初始化片段,或者表示的每个片段可以是自初始化的。当存在时,初始化片段可以包含用于访问该表示的初始化信息。在一些情况下,初始化片段不包含媒体数据。包含媒体数据的片段可以表示时间片段的内容。不同表示之间的片段可以在时间上对齐。对于每个媒体片段,MPD文件可以包括唯一标识符。当与基本URL、基本URN或基本统一资源标识符(UniformResource Identifier,URI)组合时,这种标识符可以形成表示媒体片段的网络位置的唯一URL、URN或URI,其可以包括在对该媒体片段的HTTP请求中,并且被内容服务器用来定位要传送的所请求片段。
例如,请求媒体片段的URL可以定义为<absolute-URI>,具有“http”或“https”的固定方案,如果范围属性与URL一起被提供,可能还会补充字节范围。字节范围可以表示为标识片段中字节的连续范围。
在一些进一步的示例性的实现中,子表示(sub-representation)可以在MPD文件中被指定和描述为使用例如子表示元素/指示符被嵌入(或包含)在常规表示中。子表示元素可用于描述嵌入在表示中的一个或多个媒体内容组件的属性。例如,子表示元素可用于描述所嵌入音频组件的属性(例如,编解码器、采样速率等)、嵌入的子标题(例如,编解码器),或者子表示元素可用于描述一些嵌入的较低质量视频层(例如,一些较低的帧速率等)。子表示和表示元素可以共享一些公共属性和元素。
在一些示例性的实现中,DASH客户端可以被配置为从DASH服务器访问、下载和请求全部或部分MPD文件。即,DASH客户端可以检索MPD文件以用于启动实况流式会话。基于表示的选择和MPD文件,DASH客户端可以做出进一步的多个决定,包括确定服务器上可用的最新片段是什么,确定下一个片段和可能的未来片段的片段可用性开始时间,确定何时开始该片段的回放,以及确定何时获取/抓取/请求新的MPD文件。
在一些示例性的实现中,MPD还可以包括关于DASH事件的信息,以向DASH客户端或DASH应用发信号通知非周期性信息。事件可以被计时,从具有持续时间的特定媒体呈现时间开始。附加地或替代地,事件信息可以包括与媒体呈现的回放期间的特定时间相关联的媒体播放器的控制消息,例如广告插入提示。可以从单独的服务器(例如广告服务器)提供可以在流式传输期间插入的媒体。除了通过MPD将事件与媒体表示分开地发信号外,事件也可以在所有代表中或仅在一个或几个选定的适配集中、在选定的媒体表示中进行带内多路复用。
图2示出了示例性DASH系统200。DASH系统200可以包括通过网络250连接的信息处理装置230和一个或多个集中式或分布式内容服务器210。DASH系统(200)还可以包括一个或多个补充内容服务器,例如一个或多个广告服务器220。
内容服务器210可以向信息处理装置230提供主内容(例如,主程序)和用于该内容的MPD。清单文件可以由MPD生成器214生成。主内容和清单文件可以由同一服务器或不同的服务器提供。
信息处理装置230可以包括直接与内容服务器210通信的DASH客户端232。由信息处理装置230的DASH应用234控制的DASH客户端232可以请求和/或接收MPD,并且可以基于MPD从内容服务器210的HTTP服务器212请求和获取主内容。MPD可以由DASH客户端232处理。此外,DASH客户端232可以根据DASH事件从广告服务器220获取广告内容,或者从一个或多个补充内容服务器获取其他内容(例如,交互式内容)。主内容和广告内容可以由DASH客户端232和DASH应用程序234处理并输出,以显示在信息处理装置230的显示装置236上。显示设备236可以与信息处理装置230集成在一起,或者处于在信息处理装置230的外部。此外,DASH客户端232可以从一个或多个定时元数据轨道中提取其他事件信息,并将提取的事件信息发送到DASH应用234以进行进一步处理。例如,DASH应用234可以被配置为基于事件信息来显示补充内容。
图3示出了DASH客户端232的示例。如图3所示,示例DASH客户端232可以包括DASH访问引擎304、选择逻辑302以及媒体引擎306和308。例如,DASH访问引擎302可以被配置为与内容服务器通信,以检索流媒体的MPD的全部或部分,并且用于请求和检索动态请求的流媒体的片段数据,以及用于根据MPD DASH事件请求补充媒体(广告)。选择逻辑304可被配置为确定要请求的下一个或多个片段,包括适配集和代表的选择。例如,这种决定可以由用户指令以及诸如网络带宽和吞吐量的其他实时信息来确定。媒体引擎306可以被配置为根据媒体片段的格式(例如,运动图像专家组格式(Moving Picture Expert Group,MPEG))和媒体片段的定时来处理由DASH访问引擎302接收的片段数据,以生成主媒体输出。媒体引擎308可以被配置为处理与来自DASH访问引擎302的定时DASH事件相关联的媒体内容,以生成补充媒体输出(例如广告),该补充媒体输出例如可以被插入到主媒体输出中。
请求的参数化
如上所述,在动态自适应流式传输中,诸如DASH客户端的流式传输客户端和内容服务器之间的交互可以经由HTTP在通信网络上进行通信。因此,流式传输客户端可以将内容服务器本质上视为web服务器。例如,流式传输客户端对内容服务器中各种信息项的请求可以使用寻址到URL目的地的HTTP GET方法来进行。
流式传输客户端的这种请求可以用于各种不同的目的,并且被设计用于请求不同的信息项。例如,HTTP GET请求可用于检索一个或多个媒体片段或一个或多个媒体片段的部分。再例如,HTTP GET请求可用于检索MPD信息(例如,在获取时,或者在流式传输持续时间后),用于确定链接到的MPD,用于请求回退到替代MPD,用于请求xlink解析,用于触发各种DASH回调事件,和/或用于请求基于会话的文档(Session Based Documents,SBD)。
在一些针对媒体片段的HTTP GET请求的实现中,例如,MPD可以提供用于从基本URL构建URL的模板,以用于从适配集中请求特定媒体片段。例如,这样的模板可以指定附加基本URL以生成用于请求特定媒体片段或特定媒体片段的字节范围的更完整URL的方式。例如,模板可以指定基本URL可以以特定的顺序和格式附加段索引、字节范围和/或码率(其与适配集中媒体的特定表示相关)。
在一些进一步的示例性的实现中,HTTP GET请求可以与参数集相关联,该参数集可以进一步插入在HTTP请求中,以便内容服务器可以根据请求适配其动作/响应。在MPD中还可以指定是否应该插入参数集以及应该插入什么参数,并向流式传输客户端发信号。
例如,针对媒体片段的HTTP请求,参数化描述符可以可选地包括在MPD中,以向流式传输客户端发信号通知:媒体片段请求可以与内容服务器期望流式传输客户端插入到其针对媒体片段的HTTP GET请求中的参数集相关联。参数化描述符可以包括配置在MPD中的一个或多个元素,以指定流式传输客户端期望插入到一个(或多个)媒体片段的HTTP GET请求中的参数、如何生成这些参数以及这些参数插入的格式和顺序。
虽然这些参数中的一些可以是静态的,但在一些实现中,MPD的参数描述符中指定的一些其他参数可以是动态的,需要客户端计算来生成。因此,这种动态参数为流式传输提供了进一步的适应性。例如,MPD可以为媒体片段请求指定对流式传输客户端的地理位置进行表示的参数。当插入到针对媒体片段的HTTP GET请求中时,这样的参数可以被内容服务器有利地使用,以识别所请求的主媒体段和适当的自适应可插入的本地媒体(例如,本地广告)的最新内容存储。这样,可以提供灵活和动态的参数化机制。这种请求参数可以由流式传输客户端实例化并构造为名称-值对(name-value pair)。
上述媒体片段请求的参数化描述符可以被称为“UrlQueryInfoType”的MPD数据结构。MPD中的这种类型的实例化数据结构被称为“UrlQueryInfo”,可以包含用于提供如在针对媒体片段的HTTP GET请求中所描述的静态和动态参数的各种属性或描述符。在一些进一步的示例性的实现中,除了对媒体片段的请求之外,这种静态和动态的参数化机制可以扩展到其他类型的HTTP请求。可以指定扩展数据结构类型的示例语法,并且可以使用该语法来实例化包含相应数据结构的MPD,用于规定和用信号发送各种类型的HTTP GET请求的参数化。这种扩展数据结构类型可以被称为“ExtendedUrlInfoType”。这种类型的数据结构被称为“ExtendedUrlInfo”,如果该数据结构被实例化并包括在MPD中,可以向流式传输客户端发信号通知:将应用扩展参数化。“ExtendedUrlInfoType”的数据结构的示例语法可以包括各种示例属性或描述符,如表1所示。
表1-ExtendedUrlInfoType的MPD数据结构的示例语法
/>
在表1的示例语法中,“ExtendedUrlInfoType”的MPD数据结构可以在MPD中被实例化。称为"ExtendedUrlInfo"的这种实例化数据结构可以在MPD中用作针对各种类型的HTTPGET请求的参数化描述符,并且根据表1,可以包括多个数据元素和描述符。可以包括被称为“@includeInRequests”的第一数据元素,以通知流式传输客户端当由流式传输客户端提交时,内容服务器期望将预定义的HTTP GET请求类型列表中的哪些类型与参数一起插入。请求类型列表可以包括所有可以参数化的HTTP GET请求类型。例如,该列表可以包括(1)媒体片段请求类型,(2)xlink请求类型(参考用于获取信息的远程位置),(3)MPD请求类型(用于获取MPD),(4)回调请求类型(用于触发回调事件),(5)链接请求类型(用于请求链接到MPD),以及(6)回退请求类型(用于请求替代MPD)。
在表1中指定的示例格式中,实例化参数化描述符的“@includeInRequests”元素的值可以是表示各种HTTP GET请求的密钥串(或密钥)的任意组合的空格连接列表。在示例实现中,上述6个可参数化的HTTP GET请求类型可以由密钥串“segment”、“xlink”、“mpd”、“callback”、“chaining”和“fallback”表示。例如,指定为“@includeInRequests=segmentmpd”的在实例化的“ExtendedUrlInfo”下的数据元素将向流式传输客户端发信号通知:在各种HTTP GET请求类型中,片段请求和MPD请求将与相关联的参数一起插入。当“ExtendedUrlInfo”被实例化但“@includeInRequests”数据元素不存在时,可以提供“@includeInRequests”的默认值(例如,“segment”)。
也可以包括“ExtendedUrlInfo”的其他数据元素,例如,“@headerParamSource”和“@sameOriginOnly”。与上面“UrlQueryInfo”参数化描述符的其他数据元素一起,向流式传输指定参数的源以及如何构造特定请求的最终参数。上面的表1提供了一些示例细节。
在表1中指定的示例性的实现中,特定请求的参数一旦由流式传输客户端生成或输出,就可以用作HTTP GET请求中的查询参数。在一些其他实现中,可以指定与“ExtendedUrlInfoType”并行的、称为“ExtHttpHeaderInfoType”的另一个参数化描述符类型。当实例化这种类型的参数化描述时,可以与上述类似地构造各种请求的参数,但是可以在流式传输客户端中将该参数输出到HTTP标头。
同样如表1的示例性的实现所示,“@includeInRequests”的值选项是用特定字符串硬编码的,例如,针对片段HTTP GET请求使用“segment”,针对xlink HTTP GET请求使用“xlink”。每次向列表中添加其他类型的请求时,表1的语法规范都需要更新。例如,当参数化扩展到针对SBD文档的HTTP请求时,表1的语法定义可能需要更新,如表2所示。
表2-ExtendedUrlInfoType的MPD数据结构的另一个示例语法
/>
/>
/>
因此,在表1和表2所示的上述实现,可以是不可扩展的。在一些或其他示例性的实现中,如表3所示,可以采用可扩展的方法。在上述上下文中,当引入新类型的请求时,参数化语法不需要更新,方法或方案被认为是可扩展的。如表3所示,为了实现可扩展参数化,不使用针对“@includeInRequests”的硬编码字符串值,而是可以使用URI字符串。
表3-可扩展ExtendedUrlInfoType的MPD数据结构的示例
/>
/>
如表3所示,诸如“urn:mpeg:dash:annexi:parameters:2022”的URN可以与URN/URL方案的所有者定义的可选子字符串一起被定义和使用。例如,以下字符串可以由URN/URL所有者与URN/URL一起被定义,以发出参数化所需的HTTP GET请求:
1)“segment”(所有片段请求),
2)“xLink”(所有XLink解析请求),
3)“MPD”(所有MPD请求),
4)“callback”(由DASH回调事件触发的所有请求),
5)“chaining”(对链接到MPD的请求),
6)“fallback”(对替代MPD的请求),
7)“sbd”(对SBD文档的请求)
例如,用于向片段和MPD的HTTP GET请求添加参数的属性的值可以是@includeInRequests=“urn:mpeg:dash:annexi:parameters:2022segment mpd.”。
URN/URL所有者可以将字符串定义列表增强或扩展到不同种类的HTTP GET请求,而不必修改表3中的规范。
表4示出了保持表3与表2的兼容性的另一示例性的实现。
表4-ExtendedUrlInfoType的MPD数据结构的修改示例语法
/>
/>
在表4的示例方案中,可以指定“@IncludeInRequests”的硬编码字符串值,该值表示用于参数化的公共HTTP GET请求类型,诸如表2中的类型。此外,诸如“URN:mpeg:dash:annexi:parameters:2022”之类的URN可以与由URN/URL方案的一个(或多个)所有者定义的可选子字符串一起被定义和使用,用于表示新类型的HTTP GET请求。例如,用于向片段和MPD的HTTP GET请求以及指定为需要参数化的新类型的HTTP GET请求(“newRequest”)添加参数的属性/描述符的值可以是:@includeInRequests=“segment”“mpd”“urn:mpeg:dash:annexi:parameters:2022newReques”。
图4示出了用于对来自内容服务器的DASH流媒体的HTTP请求的可扩展参数化的示例数据和逻辑流400。在步骤402中,流媒体设备可以向DASH服务提供商发送针对DASH流媒体的初始请求,并且从内容服务器接收DASH流媒体的清单。在步骤404中,流媒体设备可以解析清单以提取与HTTP请求相关联的参数化描述符。在步骤406中,流媒体设备可以从参数化描述符中识别密钥集中的一个或多个和统一资源标识符,统一资源标识符链接到用于HTTP请求的可扩展参数化的参数化方案。在步骤408中,流媒体设备可以根据密钥集中的一个或多个和参数化方案,确定对应于可扩展参数化的一种或多种HTTP请求。在步骤410中,针对指向内容服务器并且属于一种或多种HTTP请求的HTTP请求,流媒体设备可以根据清单构造参数集。最后,在步骤412,流媒体设备可以将参数集插入到HTTP请求中。
上述技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图5示出了适用于实现所公开主题的某些实施例的计算机系统(500)。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,其可以经受汇编、编译、链接或类似机制,以创建包括指令的代码,这些指令可以由一个或多个计算机中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)等直接执行、或者通过译码、微码执行等来执行。
指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板计算机、服务器、智能手机、游戏设备、物联网设备等。
图5中所示的用于计算机系统(500)的组件本质上是示例性的,并且不旨在建议对实现本公开的实施例的计算机软件的使用范围或功能的任何限制。组件的配置也不应该被解释为具有与计算机系统(500)的示例性的实施例中所示组件的任何一个或组合相关的任何依赖或要求。
计算机系统(500)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过例如触觉输入(例如,按键、滑动、数据手套运动)、音频输入(例如,语音、鼓掌)、视觉输入(例如,手势)、嗅觉输入(未示出)来响应一个或多个人类用户的输入。人机界面设备还可以用于捕获不一定与人的有意识输入直接相关的某些媒体,例如音频(例如,语音、音乐、环境声音)、图像(例如,扫描的图像、从静止图像相机获得的摄影图像)、视频(例如,二维视频、包括立体视频在内的三维视频)。
输入人机界面设备可以包括以下中的一个或多个(每种仅示出一个):键盘(501)、鼠标(502)、触控板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)、相机(508)。
计算机系统(500)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和气味/味觉来刺激一个或多个人类用户的感官。这种人机界面输出设备可以包括触觉输出设备(例如通过触摸屏(510)、数据手套(未示出)或操纵杆(505)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(509)、耳机(未示出))、视觉输出设备(例如包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕的屏幕(510),每种屏幕具有或不具有触摸屏输入能力,每种屏幕具有或不具有触觉反馈能力,其中一些屏幕可以通过诸如立体输出的装置、虚拟现实眼镜(未示出)、全息显示器和烟雾罐(未示出))和打印机(未示出)来输出二维视觉输出或超过三维的输出。
计算机系统(500)还可以包括人类可访问存储设备及其相关联的介质,例如包括具有光盘(Compact Disc,CD)/数字化视频光盘(Digital Video Disk,DVD)或类似介质(521)的CD/DVD只读存储器(Read-Only Memory,ROM)/可重写(Rewritable,RW)(520)的光学介质、指状驱动器(522)、可移动硬盘驱动器或固态驱动器(523)、诸如磁带和软盘之类的传统磁介质(未示出)、诸如安全加密狗之类的基于专用ROM/专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)/可编程逻辑器件(programmable logic device,PLD)的设备(未示出)等。
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输媒介、载波或其他暂时性信号。
计算机系统(500)还可以包括连接到一个或多个通信网络(555)的接口(554)。例如,网络可以是无线的、有线的、光纤的。网络还可以是本地的、广域的、城域网的、车辆的和工业的、实时的、延迟容忍的等。网络的示例包括局域网,例如以太网、无线局域网(localarea networks,LAN)、包括全球移动通信系统(Global System for MobileCommunications,GSM)、3G、4G、5G、长期演进(Long Term Evolution,LTE)等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括控制器局域网(Controller Area Network,CAN)总线的车辆和工业网络等等。某些网络通常需要连接到某些通用数据端口或外围总线(549)(例如计算机系统(500)的通用串行总线(UniversalSerial Bus,USB)端口)的外部网络接口适配器;其他的通常通过连接到如下所述的系统总线(例如,进入PC计算机系统的以太网接口或进入智能手机计算机系统的蜂窝网络接口)而集成到计算机系统(500)的核中。使用这些网络中的任何一个,计算机系统(500)可以与其他实体通信。这种通信可以是仅单向接收的(例如广播电视)、仅单向发送的(例如,连接到一些CANbus设备的CANbus)或双向的,例如,使用局域网或广域网数字网络连接到其他计算机系统。如上所述,某些协议和协议栈可以用在这些网络和网络接口中的每一个上。
上述人机界面设备、人类可访问存储设备和网络接口可以附接到计算机系统(500)的核(540)。
核(540)可以包括一个或多个中央处理单元(CPU)(541)、图形处理单元(GPU)(542)、现场可编程门区(Field Programmable Gate Array,FPGA)形式的专用可编程处理单元(543)、用于一些任务的硬件加速器(544)、图形适配器(550)等等。这些设备与只读存储器(ROM)(545)、随机存取存储器(546)、内部大容量存储器(例如内部非用户可访问的硬盘驱动器、SSD等)一起可以通过系统总线(548)连接。在一些计算机系统中,系统总线(548)可以以一个或多个物理插头的形式访问,以允许通过附加CPU、GPU等进行扩展。外围设备可以直接连接到核心的系统总线(548),或者通过外围设备总线(549)。在一个示例中,屏幕(510)可以连接到图形适配器(550)。外围总线的体系结构包括外围元件互联(PeripheralComponent Interconnect,PCI)、USB等
CPU(541)、GPU(542)、FPGA(543)和加速器(544)可以执行一些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(545)或随机存储器(Random-Access Memory,RAM)(546)中。过渡数据也可以存储在RAM(546)中,而永久数据可以存储在例如内部大容量存储器(547)中。可以通过使用高速缓冲存储器来实现对任何存储设备的快速存储和检索,高速缓冲存储器可以与一个或多个CPU(541)、GPU(542)、大容量存储器(547)、ROM(545)、RAM(546)等密切相关联。
计算机可读介质可以在其上具有计算机代码,该计算机代码用于执行各种计算机实现的操作。介质和计算机代码可以是出于本公开的目的而专门设计和构造的,或者其可以是计算机软件领域的技术人员熟知且可获得的。
作为非限制性的示例,可以由于一个(或多个)处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件,使得具有架构(500)、特别是核(540)的计算机系统提供功能。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及具有非暂时性的内核(540)的某些存储器,例如内核内部大容量存储器(547)或ROM(545)。实现本公开的各种实施例的软件可以存储在这样的设备中并由核(540)执行。根据特定需要,计算机可读介质可以包括一个或多个存储设备或芯片。该软件可以使核(540)、特别是其中的处理器(包括CPU、GPU、FPGA等)执行这里描述的特定处理或特定处理的特定部分,包括定义存储在RAM(546)中的数据结构和根据软件定义的处理修改这种数据结构。附加地或替代地,可以由于硬连线或以其他方式体现在电路(例如,加速器(544))中的逻辑而使得计算机系统提供功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的部分。在适当的情况下,对软件的引用可以包含逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如集成电路(Integrated Circuit,IC))、包括体现用于执行的逻辑的电路、或者包括两者。本公开包括硬件和软件的任何合适的组合。
虽然本公开已经描述了多个示例性的实施例,但是存在落入本公开范围内的改变、置换和各种等同替代物。因此,应当理解,本领域技术人员将能够设计出许多系统和方法,尽管在本文没有明确示出或描述,但这些系统和方法体现了本公开的原理,并因此在本公开的精神和范围内。
Claims (20)
1.一种媒体流式传输设备对超文本传输协议HTTP请求进行可扩展参数化的方法,所述HTTP请求针对来自内容服务器的基于HTTP的动态自适应流式传输DASH流媒体,所述方法包括:
向DASH服务提供商发送针对所述DASH流媒体的初始请求;
从所述内容服务器接收所述DASH流媒体的清单;
解析所述清单以提取与所述HTTP请求相关联的参数化描述符;
从所述参数化描述符中识别密钥集中的一个或多个以及统一资源标识符,所述统一资源标识符链接到用于所述HTTP请求的所述可扩展参数化的参数化方案;
根据所述密钥集中的一个或多个以及所述参数化方案,确定对应于所述可扩展参数化的一种或多种HTTP请求;
针对指向所述内容服务器并且属于所述一种或多种HTTP请求的HTTP请求,根据所述清单构造参数集;以及
将所述参数集插入到所述HTTP请求中。
2.根据权利要求1所述的方法,其中,所述HTTP请求包括HTTP GET请求。
3.根据权利要求2所述的方法,其中,所述统一资源标识符包括统一资源定位符URL或统一资源名称URN。
4.根据权利要求3所述的方法,其中,所述一种或多种HTTP请求包括以下中的至少一种:
媒体片段HTTP请求类型;
清单HTTP请求类型;
触发回调事件的回调HTTP请求类型;或者
链接到清单的链式HTTP请求。
5.根据权利要求2所述的方法,其中,所述参数化方案包括所述密钥集的定义。
6.根据权利要求5所述的方法,其中,确定需要参数化的所述一种或多种HTTP请求包括:使用所述清单中包括的所述密钥集中的一个或多个以及所述密钥集的定义来识别所述一种或多种HTTP请求。
7.根据权利要求2-6中任一项所述的方法,其中,所述参数化描述符包括第一参数化选择串,所述第一参数化选择串包括所述统一资源标识符,所述统一资源标识符后跟所述密钥集中的一个或多个。
8.根据权利要求7所述的方法,其中,所述参数化描述符还包括第二参数化选择串,所述第二参数化选择串包括硬编码标识串,所述硬编码标识串表示对用于参数化的预定义类型的HTTP GET请求的选择。
9.根据权利要求2-6中任一项所述的方法,其中,所述参数集中的至少一个参数被所述清单指定为是动态的。
10.根据权利要求9所述的方法,其中,所述参数集中的被指定为动态的至少一个参数需要由所述媒体流式传输设备进行自适应计算。
11.一种用于实现超文本传输协议HTTP请求的可扩展参数化的媒体流式传输设备,所述HTTP请求针对来自内容服务器的基于HTTP的动态自适应流式传输DASH流媒体,所述媒体流式传输设备包括存储器和处理器,所述存储器用于存储指令,以及所述处理器用于执行所述指令以执行以下操作:
向DASH服务提供商发送针对所述DASH流媒体的初始请求;
从所述内容服务器接收所述DASH流媒体的清单;
解析所述清单以提取与所述HTTP请求相关联的参数化描述符;
从所述参数化描述符中识别密钥集中的一个或多个以及统一资源标识符,所述统一资源标识符链接到用于所述HTTP请求的所述可扩展参数化的参数化方案;
根据所述密钥集中的一个或多个以及所述参数化方案,确定对应于所述可扩展参数化的一种或多种请求;
针对指向所述内容服务器并且属于所述一种或多种请求的请求,根据所述清单构造参数集;以及
将所述参数集插入到所述HTTP请求中。
12.根据权利要求11所述的媒体流式传输设备,其中,所述HTTP请求包括HTTP GET请求。
13.根据权利要求12所述的媒体流式传输设备,其中,所述统一资源标识符包括统一资源定位符URL或统一资源名称URN。
14.根据权利要求13所述的媒体流式传输设备,其中,所述一种或多种HTTP请求包括以下中的至少一种:
媒体片段HTTP请求类型;
清单HTTP请求类型;
xlink HTTP请求类型;
触发回调事件的回调HTTP请求类型;或者
链接到清单的链式HTTP请求。
15.根据权利要求12-14中任一项所述的媒体流式传输设备,其中,所述参数化方案包括所述密钥集的定义。
16.根据权利要求15所述的媒体流式传输设备,其中,确定需要参数化的所述一种或多种HTTP请求包括:使用清单中包括的所述密钥集中的一个或多个以及所述密钥集的定义来识别所述一种或多种HTTP请求。
17.根据权利要求12-14中任一项所述的媒体流式传输设备,其中,所述参数化描述符包括第一参数化选择串,所述第一参数化选择串包括所述统一资源标识符,所述统一资源标识符后跟所述密钥集中的一个或多个。
18.根据权利要求17所述的媒体流式传输设备,其中,所述参数化描述符还包括第二参数化选择串,所述第二参数化选择串包括硬编码标识串,所述硬编码标识表示对用于参数化的预定义类型的HTTP GET请求的选择。
19.根据权利要求12-14中任一项所述的媒体流式传输设备,其中,所述参数集中的至少一个参数被所述清单指定为是动态的,并且所述参数集中的被指定为动态的至少一个参数需要由所述媒体流式传输设备进行自适应计算。
20.一种用于存储指令的非暂时性计算机可读存储介质,所述指令由媒体流式传输设备的处理器执行,所述媒体流式传输设备用于实现超文本传输协议HTTP请求的可扩展参数化,所述HTTP请求针对来自内容服务器的基于HTTP的动态自适应流式传输DASH流媒体,所述指令被配置为使所述媒体流式传输设备执行以下操作:
向DASH服务提供商发送针对所述DASH流媒体的初始请求;
从所述内容服务器接收所述DASH流媒体的清单;
解析所述清单以提取与所述HTTP请求相关联的参数化描述符;
从所述参数化描述符中识别密钥集中的一个或多个以及统一资源标识符,所述统一资源标识符链接到用于所述HTTP请求的所述可扩展参数化的参数化方案;
根据所述所述密钥集中的一个或多个以及参数化方案,确定对应于所述可扩展参数化的一种或多种HTTP请求;
针对指向所述内容服务器并且属于所述一种或多种HTTP请求的HTTP请求,根据所述清单构造参数集;以及
将所述参数集插入到所述HTTP请求中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263332600P | 2022-04-19 | 2022-04-19 | |
US63/332,600 | 2022-04-19 | ||
US18/301,826 | 2023-04-17 | ||
US18/301,826 US12034789B2 (en) | 2023-04-17 | Extensible request signaling for adaptive streaming parameterization | |
PCT/US2023/065886 WO2023205634A1 (en) | 2022-04-19 | 2023-04-18 | Extensible request signaling for adaptive streaming parameterization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117280700A true CN117280700A (zh) | 2023-12-22 |
Family
ID=88307311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380011091.6A Pending CN117280700A (zh) | 2022-04-19 | 2023-04-18 | 用于自适应流参数化的可扩展请求信令 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117280700A (zh) |
WO (1) | WO2023205634A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2904764B1 (en) * | 2013-01-16 | 2016-09-21 | Huawei Technologies Co., Ltd. | Url parameter insertion and addition in adaptive streaming |
US10110657B2 (en) * | 2014-07-03 | 2018-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for pushing live media content in an adaptive streaming environment |
-
2023
- 2023-04-18 CN CN202380011091.6A patent/CN117280700A/zh active Pending
- 2023-04-18 WO PCT/US2023/065886 patent/WO2023205634A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023205634A1 (en) | 2023-10-26 |
US20230336599A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7177285B2 (ja) | メディアデータを受信するための方法、装置、およびプログラム | |
JP7297086B2 (ja) | セッションのメディアデータを受信するための方法、装置、およびプログラム | |
US11930064B2 (en) | Query signaling in media presentation description | |
JP7252373B2 (ja) | メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム | |
US11418561B2 (en) | Remote link validity interval in media streaming | |
CN113748659A (zh) | 用于基于http的动态自适应流传输的基于会话的信息 | |
CN115299022B (zh) | 基于http的动态自适应流传输的方法和装置 | |
CN115349264B (zh) | 接收媒体数据的方法和设备 | |
US12034789B2 (en) | Extensible request signaling for adaptive streaming parameterization | |
CN117280700A (zh) | 用于自适应流参数化的可扩展请求信令 | |
CN115462063B (zh) | 接收媒体数据的方法、设备及存储介质 | |
CN113364728B (zh) | 媒体内容接收方法、装置、存储介质和计算机设备 | |
JP7395766B2 (ja) | Httpを介した動的適応ストリーミングのための方法および装置 | |
CN117256136A (zh) | 用于处理备选媒体表示描述的方法、设备和计算机可读介质 | |
KR20240107164A (ko) | 미디어 컨테이너 파일 및 스트리밍 매니페스트에서의 픽처인픽처에 대한 시그널링 | |
CN117256135A (zh) | 用于cmaf和dash多媒体流式传输的可寻址资源索引事件 | |
CN117256153A (zh) | 用于支持处理dash事件更新的dash客户端处理模型的处理模型 | |
CN118301137A (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 |