CN112369038B - 用于在实时上行链路流式传输服务中分发媒体的方法 - Google Patents
用于在实时上行链路流式传输服务中分发媒体的方法 Download PDFInfo
- Publication number
- CN112369038B CN112369038B CN201980040647.8A CN201980040647A CN112369038B CN 112369038 B CN112369038 B CN 112369038B CN 201980040647 A CN201980040647 A CN 201980040647A CN 112369038 B CN112369038 B CN 112369038B
- Authority
- CN
- China
- Prior art keywords
- real
- time
- computing device
- time uplink
- uplink streaming
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6408—Unicasting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
各个方面的系统、方法和设备实现实时上行链路流式传输服务中对媒体内容的上行链路传送和向用户的下行链路分发。在各个实施例中,可以通过单播和/或广播传送方法来分发实时上行链路流式传输服务中的媒体。各个实施例可以包括:在实时上行链路流式传输宿计算设备的处理器中接收针对实时流式传输会话的辅助数据;通过处理器至少部分地基于辅助数据,选择针对实时流式传输会话的经处理媒体的一种或多种传送方法;以及通过处理器使用所选择的传送方法,来发送经处理媒体。
Description
相关申请
本申请要求于2018年6月26日提交的、题为“Uplink And Downlink Methods ForEfficient Operation Of Live Uplink Streaming Services”的美国临时申请No.62/689,904,以及于2018年8月25日提交的、题为“Uplink And Downlink Methods ForEfficient Operation Of Live Uplink Streaming Services”的美国临时申请No.62/722,847的优先权权益,故通过引用的方式将上述两个美国临时申请的完整内容并入本文用于所有目的。
背景技术
实时(live)上行链路流式传输(LUS)服务可以作为过顶(Over-The-Top) (OTT)服务提供。在实时上行链路流式传输服务中,用户可以经由他们的计算设备将诸如视频内容、音频内容等的媒体内容流式传输到与实时上行链路流式传输服务相关联的网络服务器。在实时上行链路流式传输服务中,流式传输的(或上传的)内容进而变得可用于由其它用户经由他们各自的计算设备来观看。上行链路和下行链路网络容量二者都可以支持在 LUS服务中对媒体内容的上游传送和/或下行链路分发。
发明内容
各个方面的系统、方法和计算设备实现在实时上行链路流式传输服务中对媒体内容的上行链路传送和向用户的下行链路分发。
在一个方面,实时上行链路流式传输宿计算设备可以执行包括下列各项的操作:接收针对实时流式传输会话的辅助数据;至少部分地基于辅助数据来选择针对实时流式传输会话的经处理媒体的一种或多种传送方法;以及使用所选择的一种或多种传送方法来发送经处理媒体。
在一个方面,实时上行链路流式传输源计算设备可以执行包括下列各项的操作:对针对实时上行链路媒体流的经编码的媒体内容进行缓存;确定针对实时上行链路媒体流的收视指示是否足以进行分发;以及响应于确定针对实时上行链路媒体流的收视指示足以进行分发,向实时上行链路流式传输宿计算设备发送缓存的经编码的媒体内容。
在一个方面,实时上行链路流式传输源计算设备可以执行包括下列各项的操作:确定针对实时上行链路媒体流的收视指示是否足以进行分发;响应于确定针对实时上行链路媒体流的收视指示不足以进行分发,以第一质量水平对针对实时上行链路媒体流的媒体内容进行编码;以及响应于确定针对实时上行链路媒体流的收视指示足以进行分发,以第二质量水平对针对实时上行链路媒体流的媒体内容进行编码。
在一个方面,实时上行链路流式传输源计算设备可以执行包括下列各项的操作:确定针对实时上行链路媒体流的收视指示是否足以进行分发;响应于确定针对实时上行链路媒体流的收视指示对于不足以进行分发,以第一比特率向实时上行链路流式传输宿计算设备发送针对实时上行链路媒体流的经编码的媒体内容;以及响应于确定针对实时上行链路媒体流的收视指示足以进行分发,以第二比特率向实时上行链路流式传输宿计算设备发送针对实时上行链路媒体流的经编码的媒体内容。
在一个方面,实时上行链路流式传输源计算设备可以执行包括以下的操作:以第一质量水平和第二质量水平对针对实时上行链路媒体流的媒体内容进行编码。
在一个方面,实时上行链路流式传输宿计算设备可以执行包括下列各项的操作:确定辅助数据是否指示针对实时流式传输会话的一个或多个观看者;以及响应于确定辅助数据指示针对实时流式传输会话的一个或多个观看者,向与实时流式传输会话相关联的实时上行链路流式传输宿计算设备发送收视指示。
在一个方面,实时上行链路流式传输宿计算设备可以执行包括下列各项的操作:从与实时流式传输会话相关联的实时上行链路流式传输源计算设备接收以第一质量水平编码的媒体;根据针对实时流式传输会话的一个或多个所确定的会话属性,对以第一质量水平编码的媒体进行处理;从与实时流式传输会话相关联的实时上行链路流式传输源计算设备接收以第二质量水平编码的媒体;以及根据针对实时流式传输会话的一个或多个所确定的会话属性,对以第二质量水平编码的媒体进行处理。
在一个方面,实时上行链路流式传输观看计算设备可以执行包括下列各项的操作:发送针对实时流式传输会话的辅助数据;从实时上行链路流式传输宿计算设备接收实时流式传输会话的经处理媒体;以及显示实时流式传输会话的经处理媒体。
在一个方面,实时上行链路流式传输宿计算设备可以执行包括下列各项的操作:监测与实时流式传输相关联的一个或多个条件;确定是否正在发生用于控制上行链路行为的条件;以及响应于确定是否正在发生用于控制上行链路行为的条件,生成所请求的动作消息。
在一个方面,实时上行链路流式传输源计算设备可以执行包括下列各项的操作:接收所请求的动作消息;确定在所请求的动作消息中指示的原因是否支持采取所请求的动作消息中指示的动作;以及响应于确定在动作消息中指示的原因支持采取在请求的动作消息中指示的动作,根据动作实现一个或多个与上行链路相关联的行为的一个或多个改变。
在一个方面,实时上行链路流式传输源计算设备可以执行包括下列各项的操作:监测与实时流式传输相关联的一个或多个条件;确定一个或多个条件是否支持改变一个或多个与上行链路相关联的行为;以及响应于确定一个或多个条件支持改变一个或多个与上行链路相关联的行为,至少部分地基于一个或多个条件,确定一个或多个与上行链路相关联的行为的一个或多个改变。
另外的方面包括:具有被配置有用于执行上文概述的方法的操作的处理器可执行指令的处理器的计算设备。进一步方面包括:包括用于执行上文概述的方法的功能的单元的计算设备。进一步方面包括:非临时性处理器可读存储介质,存储介质具有存储在其上的被配置为使计算设备处理器执行上文概述的方法的操作的处理器可执行指令。另外的方面包括:被配置有用于执行上文概述的方法的操作的处理器可执行指令的服务器。进一步的方面包括:包括用于执行上文概述的方法的功能的单元的服务器。进一步的方面包括:非临时性处理器可读存储介质,其具有存储在其上的被配置为使服务器处理器执行上文概述的方法的操作的处理器可执行指令。
附图说明
纳入本文中并作为本说明的组成部分的附图示出了示例性实施例,并且连同上文给出的概括描述和下文给出的具体实施方式一起用于解释各个方面的特征。
图1是适于与各个实施例一起使用的网络的通信系统方块图。
图2A是示出实时上行链路流式传输源计算设备、实时上行链路流式传输宿计算设备和实时上行链路流式传输观看计算设备之间的、用于根据各个实施例来设定实时上行链路流式传输服务的信令的呼叫流图。
图2B是示出实时上行链路流式传输源计算设备、实时上行链路流式传输宿计算设备和实时上行链路流式传输观看计算设备之间的、用于根据各个实施例来设定实时上行链路流式传输服务的信令的呼叫流图。
图2C是示出实时上行链路流式传输源计算设备、实时上行链路流式传输宿计算设备和实时上行链路流式传输观看计算设备之间的、用于根据各个实施例来设定实时上行链路流式传输服务的信令的呼叫流图。
图3A是示出实施例实时上行链路流式传输服务架构的方块图。
图3B是示出另一个实施例实时上行链路流式传输服务架构的方块图。
图4是示出用于实时上行链路流式传输服务中的上行链路传送的实施例方法的过程流程图。
图5是示出用于实时上行链路流式传输服务中的上行链路传送的另一种实施例方法的过程流程图。
图6是示出用于实时上行链路流式传输服务中的上行链路传送的另一种实施例方法的过程流程图。
图7是示出用于实时上行链路流式传输服务中的上行链路传送的另一种实施例方法的过程流程图。
图8是示出用于实时上行链路流式传输服务中的上行链路传送的另一种实施例方法的过程流程图。
图9是示出用于实时上行链路流式传输服务中的上行链路传送的另一种实施例方法的过程流程图。
图10是示出用于实时上行链路流式传输的实施例方法的过程流程图。
图11是示出用于实时上行链路流式传输的另一种实施例方法的过程流程图。
图12是示出用于实时上行链路流式传输的另一种实施例方法的过程流程图。
图13A是示出用于实时上行链路流式传输的另一种实施例方法的过程流程图。
图13B是示出用于实时上行链路流式传输的另一种实施例方法的过程流程图。
图14是示出用于实时上行链路流式传输的另一种实施例方法的过程流程图。
图15是示出用于在实时上行链路流式传输服务中分发媒体的实施例方法的过程流程图。
图16是示出用于实时上行链路流式传输的实施例方法的过程流程图。
图17是示出用于实时上行链路流式传输的实施例方法的过程流程图。
图18A是示出用于实时上行链路流式传输的实施例方法的过程流程图。
图18B是示出用于实时上行链路流式传输的实施例方法的过程流程图。
图19是示出用于实时上行链路流式传输的实施例方法的过程流程图。
图20是适于与各个实施例一起使用的示例计算设备的组件图。
图21是适于与各个实施例一起使用的示例服务器的组件图。
具体实施方式
将参考附图对各个实施例进行详细描述。在所有附图中将尽可能使用相同的附图标记来指代相同或相似的部分。对特定示例和实现方式的参考是用于说明的目的,并且不旨在限制权利要求书的范围。
如本文所使用的,术语“移动设备”、“接收机设备”和“计算设备”在本文中可互换使用以指代下列各项中的任何一项或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、个人计算机、平板计算机、智能书籍、掌上计算机、无线电子邮件接收机、支持多媒体互联网的蜂窝电话、无线游戏控制器、卫星或有线电视机顶盒、流媒体播放器(比如ROKUTM或CHROMECASTTM或FIRE TVTM)、智能电视机、数字视频录像机(DVR)、智能恒温器、语音激活助手、智能家电、车载系统、照相机,以及包括可编程处理器和存储器以及用于接收文件的电路的类似的电子设备。
本文中使用术语“服务器”描述了各个实施例以指代能够用作服务器的任何计算设备,例如主交换服务器、网络服务器、邮件服务器、文档服务器、内容服务器或任何其它类型的服务器。服务器可以是专用计算设备或包括服务器模块的计算设备(例如,运行可以使计算设备作为服务器操作的应用)。服务器模块(例如,服务器应用)可以是全功能的服务器模块,或者被配置为在接收机设备上的动态数据库之间提供同步服务的轻型服务器模块或辅助服务器模块(例如,轻型服务器应用或辅助服务器应用)。轻型服务器或辅助服务器可以是服务器类型功能的精简版本,其可以在接收机设备上实现,从而使其能够仅在必要的程度上用作互联网服务器(例如,企业电子邮件服务器)来提供本文中描述的功能。
诸如Facebook Live、YouTube Live、Twitch、Periscope、Instagram Live 等的实时上行链路流式传输(LUS)服务可以作为过顶(OTT)服务提供。在实时上行链路流式传输服务中,用户可以经由他们的计算设备将诸如视频内容、音频内容等的媒体内容流式传输到与实时上行链路流式传输服务相关联的网络服务器。将媒体内容流式传输(或上传)到服务器的计算设备在本文中可以被称为“实时上行链路流式传输源计算设备”。接收流式传输的(或上传的)媒体内容的服务器在本文中可以被称为“实时上行链路流式传输宿计算设备”。媒体内容可以是自组织/非正式制作的内容和/或可以是专业生成的。在实时上行链路流式传输服务中,流式传输的(或上传的)内容进而变得可用于由其它用户通过实时上行链路流式传输宿计算设备,经由他们各自的计算设备来观看。观看流式传输的(或上传的)内容的这些其它用户计算设备在本文中可以被称为“实时上行链路流式传输观看计算设备”。流式传输的(或上传的)内容可以是从具有较低的端到端时延的实时上行链路流式传输宿计算设备可用的,以模拟实时视频共享体验,并且其它用户能够经由他们各自的实时上行链路流式传输观看计算设备,通过指示喜欢、提交评论、共享视频等来另外参与所观看的内容。
用于实时上行链路流式传输的第三代合作伙伴计划(3GPP)版本-15 (Rel-15)框架(FLUS)工作项定义了对移动运营商提供的实时上行链路流式传输服务的支持。在与FLUS相关联的网络架构中,实时上行链路流式传输源计算设备可以采用不同的基于超文本传输协议(HTTP)和/或基于互联网协议(IP)多媒体子系统(IMS)多媒体电话技术的流式传输技术来向实时上行链路流式传输宿计算设备发送内容。这样的流式传输技术可以包括实时消息传递协议(RTMP)、运动图像专家组(MPEG)动态适应HTTP 流式传输(DASH)(MPEGDASH)、公共媒体应用格式(CMAF)、HTTP 实时流式传输(HLS)、MPEG媒体传输协议(MMTP)、用户数据报协议 (UDP)、IMS多媒体电话服务(MTSI)等。在与FLUS相关联的网络架构中,实时上行链路流式传输宿计算设备可以在向实时上行链路流式传输观看计算设备发送内容之前,执行对从实时上行链路流式传输源计算设备接收的传入媒体数据的处理。由实时上行链路流式传输宿计算设备对所接收的媒体数据执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。在与FLUS相关联的网络架构中,可以经由单播或广播传送方法将内容从实时上行链路流式传输源计算设备发送到一个或多个实时上行链路流式传输观看计算设备。单播传送方法可以包括使用分组交换流式传输服务(PSS)网络中的PSS传输的单播传输,并且广播传送方法可以包括使用多媒体广播多播服务 (MBMS)网络中的MBMS传输。
各个实施例的系统、方法和设备实现在实时上行链路流式传输服务中对媒体内容的上行链路传送和向用户的下行链路分发。各个实施例可以增强在实时上行链路流式传输服务中对媒体内容的上行链路传送和向用户的下行链路分发中的一者或这二者的效率。
在实时上行链路流式传输服务的上行链路一侧,很大一部分的上游传输的内容可能永远不会被观看。各个实施例可以通过利用收视信息,使得在足够数量的观看者订阅实时上行链路流式传输会话之前不会发生上行链路流式传输,来减少对与实时上行链路流式传输源计算设备相关联的数据计划的网络上行链路带宽和/或不必要的费用的浪费使用。本文中使用的词语“足够”是指满足由实时上行链路流式传输服务的提供方设置的衡量标准或门限的观看者数量(称为“收视”),当达到或超过所述衡量标准或门限时,可以上传媒体内容的上传或分发。该衡量标准或门限可以是由服务提供方设置的任何值,并且可以取决于如下所述的若干因素。例如,观看者的衡量标准或门限(即,足够的收视)可以是一个观看者。以这种方式,实时上行链路流式传输源计算设备可以不上传全部或部分的媒体内容,直到该内容可以被实际观看为止。各个实施例可以例如在高处理负载时间期间分配实时上行链路流式传输宿计算设备的基于网络的媒体处理资源。例如,对与较不严格的延迟要求相关联的媒体流的处理(例如缺乏收视的那些媒体流)可能被延迟,而具有相对更严格的延迟要求的那些媒体流(例如具有观看者的那些媒体流)可能不会被延迟。各个实施例可以使实时上行链路流式传输源计算设备能够以不同比特率和/或服务质量(QoS)设置来上游传输媒体内容,作为在期望视频质量与时延之间的权衡。在各个实施例中,通过利用网络提供的关于实际或预测收视的信息(其可以包括关于观看者与所观看的内容的交互的信息),实时上行链路流式传输源计算设备可以选择推迟或延迟实际内容上传、在上游传送中选择不同等级的服务,和/或执行并行或串行的内容传输。
在下行链路分发侧,上行链路流式传输源计算设备向上行链路流式传输观看计算设备严格使用针对上传的媒体内容的单播传送可能无法在所有情况下最高效地使用下行链路网络容量。各个实施例可以利用关于QoS要求的输入元数据(例如数据速率、时延(例如,端到端时延、处理时延等) 等)、内容受欢迎程度(popularity)信息(例如,预测的需求、测量的需求等)、位置信息(例如发送者位置数据、接收者位置数据等)、和/或其它分析数据(例如基于相关位置和收视历史信息等的估计的观众规模等),以便在单播或广播传送方法之间进行选择,以用于从实时上行链路流式传输宿计算设备向实时上行链路流式传输观看计算设备提供内容。在一些实施例中,对用于将内容分发到实时上行链路流式传输观看计算设备的单播传送方法或广播传送方法的选择可以是静态选择,例如基于实时上行链路流式传输宿计算设备的预先配置的、在实时上行链路流式传输会话开始时做出的选择。在一些实施例中,对用于将内容分发到实时上行链路流式传输观看计算设备的单播传送方法或广播传送方法的选择可以是动态选择,诸如在实时上行链路流式传输会话期间进行多于一次的选择。例如,实时上行链路流式传输宿计算设备可以在单播和广播传送方法之间切换。在单播和广播传送方法之间的切换可以以类似于如在3GPP技术规范(TS)26.346 中定义的MBMS按需操作(MooD)的方式来进行。
在各个实施例中,当实时上行链路流式传输源计算设备知道收视足以进行针对媒体内容的分发(例如,收视处于或高于最小门限(例如,至少一个观看者、多于一个的观看者等))时,从实时上行链路流式传输源计算设备到实时上行链路流式传输宿计算设备的上游传输可以开始。在各个实施例中,可以生成收视指示并将所述收视指示从实时上行链路流式传输宿计算设备发送到实时上行链路流式传输源计算设备。收视指示可以是用于指示下文的消息:一个或多个实时上行链路流式传输观看计算设备已经订阅与实时上行链路流式传输源计算设备相关联的实时上行链路流式传输会话。作为一个示例,收视指示可以是诸如控制消息的消息,其指示:至少一个实时上行链路流式传输观看计算设备已经订阅实时上行链路流式传输会话。收视指示可以包括用于指示订阅的实时上行链路流式传输观看计算设备的总数的属性。
在各个实施例中,收视指示可以由实时上行链路流式传输宿计算设备基于所接收的辅助数据来生成。辅助数据(还替代地被称为“下行链路数据”)可以是由与实时上行链路流式传输服务相关联的实时上行链路流式传输宿计算设备接收的数据。辅助数据(或下行链路数据)可以包括针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的受欢迎程度信息。辅助数据(或下行链路数据)可以包括针对实时上行链路流式传输会话的收视/交互信息,例如订阅的实时上行链路流式传输观看计算设备的数量、对订阅的实时上行链路流式传输观看计算设备的参与水平的指示、关于一个或多个实时上行链路流式传输观看计算设备订阅了实时上行链路流式传输会话的指示、关于一个或多个实时上行链路流式传输观看计算设备从实时上行链路流式传输会话解除订阅的指示等。辅助数据(或下行链路数据)可以包括实时上行链路流式传输源计算设备的位置信息,例如位置数据(例如,纬度和经度、国家、邮政编码、地理区域、区、民用位置(比如街道、街区、邻里、建筑物和/或地标等))、一个或多个实时上行链路流式传输观看计算设备的位置数据等。辅助数据(或下行链路数据)可以包括网络条件数据,例如单播网络负载信息、错误率、网络设备状态、传送时间、端到端延迟估计等。辅助数据(或下行链路数据)可以包括内容特征,诸如感知的接收需求、实际接收需求、收视历史、估计的观众规模、基于相关位置和收视历史的估计的观众规模等。辅助数据(或下行链路数据)可以包括关于针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的QoS要求的输入元数据,所述QoS要求例如允许的端到端传送时延、目标数据速率、目标错误率、要求的数据速率、延迟设置、网络策略信息、观看质量设置等。辅助数据(或下行链路数据)可以包括来自一个或多个实时上行链路流式传输观看计算设备的应用级数据。在各个实施例中,可以在实时上行链路流式传输宿计算设备处从一个或多个源接收辅助数据(或下行链路数据)。举例来说,辅助数据(或下行链路数据)的源可以是属于用于提供实时上行链路流式传输宿计算设备的相同网络运营商的网络实体,辅助数据(或下行链路数据)的源可以是实时上行链路流式传输服务提供方的第三方应用服务器,和/或辅助数据 (或下行链路数据)的源可以是实时上行链路流式传输观看计算设备。可以通过各种网络接口来发送辅助数据(或下行链路数据)。举例来说,在 3GPP网络的情况下,当辅助数据(或下行链路数据)源自第三方应用服务提供方时,这样的接口可以是3GPP TS 29.122中定义的T8参考点、3GPP TS 29.116中定义的xMB参考点、3GPP TS 23.501中定义的N33参考点等。
在各个实施例中,实时上行链路流式传输源计算设备可以对捕捉的和经编码的媒体内容进行缓存,直至存在足够的收视为止,例如至少一个观看者。对捕捉的和经编码的媒体内容进行缓存可包括:将经编码的内容存储在实时上行链路流式传输源计算设备的存储器(例如,传输缓冲器)中。当实时上行链路流式传输源计算设备确定收视指示足以进行分发时,可以立即开始将缓存的经编码媒体从实时上行链路流式传输源计算设备上游传输到实时上行链路流式传输宿计算设备。实时上行链路流式传输源计算设备可以以先进先出为基础来从实时上行链路流式传输源计算设备的存储器 (例如传输缓冲器)发送缓存的经编码的媒体内容,直至所有缓存的经编码媒体都被发送为止。当所有缓存的经编码媒体都被发送时,实时上行链路流式传输会话的进一步媒体可以被发送到实时上行链路流式传输宿计算设备,因为该媒体是在没有进一步缓存的情况下编码的。
在各个实施例中,实时上行链路流式传输源计算设备可以仅将媒体的初始部分(例如流式传输内容的前几秒或几分钟)发送到实时上行链路流式传输宿计算设备。在实时上行链路流式传输源计算设备发送初始部分之后,实时上行链路流式传输源计算设备可以对媒体内容进行缓存。当实时上行链路流式传输源计算设备确定收视指示足以进行分发时,可以立即开始将缓存的经编码媒体从实时上行链路流式传输源计算设备上游传输到实时上行链路流式传输宿计算设备。以这种方式,当实时上行链路流式传输观看计算设备订阅实时上行链路流式传输会话时,可以立即向实时上行链路流式传输观看计算设备发送在实时上行链路流式传输宿计算设备处已经被处理和排队以用于分发的媒体的初始部分。实时上行链路流式传输宿计算设备可以向实时上行链路流式传输源计算设备通知观看者的订阅,并且实时上行链路流式传输源计算设备可以响应于该观看者的订阅来开始对缓存的经编码媒体的传输。
在各个实施例中,实时上行链路流式传输源计算设备可以立即开始媒体上游流式传输,并且在实时上行链路流式传输会话的开始时继续进行。实时上行链路流式传输源计算设备最初可以使用较高比特率来上传媒体内容,并且可以向实时上行链路流式传输宿计算设备发信号通知:当缺乏收视时,存在针对媒体内容的放宽的时延要求。作为示例,放宽的时延要求可以是放宽的端到端时延要求、放宽的处理时延要求、放宽的上行链路时延要求、放宽的下行链路时延要求等。响应于确定至少一个或多个实时上行链路流式传输观看计算设备订阅实时上行链路流式传输会话,实时上行链路流式传输源计算设备可以使用较低比特率用于上传,并且可以向实时上行链路流式传输宿计算设备发信号通知:针对媒体内容使用较低的时延要求。作为示例,较低的时延要求可以是较低的端到端时延要求、较低的处理时延要求、较低的上行链路时延要求、较低的下行链路时延要求等。以这种方式,实时上行链路流式传输源计算设备可以用上传比特率的下降来换取对媒体向实时上行链路流式传输观看计算设备的传送时的较低延迟保证。
在各个实施例中,实时上行链路流式传输源计算设备可以立即开始媒体上游流式传输,并且在实时上行链路流式传输会话的开始时继续进行。实时上行链路流式传输源计算设备最初可以使用较高质量水平来对媒体内容进行编码,并且可以向实时上行链路流式传输宿计算设备发信号通知:当缺乏收视时,存在针对媒体内容的放宽的时延要求。作为示例,放宽的时延要求可以是放宽的端到端时延要求、放宽的处理时延要求、放宽的上行链路时延要求、放宽的下行链路时延要求等。响应于确定至少一个或多个实时上行链路流式传输观看计算设备订阅了实时上行链路流式传输会话,实时上行链路流式传输源计算设备可以使用较低质量水平用于编码,并且向实时上行链路流式传输宿计算设备发信号通知针对媒体内容使用较低的时延要求。作为示例,较低的时延要求可以是较低的端到端时延要求、较低的处理时延要求、较低的上行链路时延要求、较低的下行链路时延要求等。以这种方式,实时上行链路流式传输源计算设备可以用媒体内容的质量水平的下降来换取对媒体向实时上行链路流式传输观看计算设备的传送时的较低延迟保证。
在各个实施例中,实时上行链路流式传输源计算设备可以立即开始媒体上游流式传输,并且在实时上行链路流式传输会话的开始时继续进行。实时上行链路流式传输源计算设备可以对媒体内容的两个或更多个不同版本进行编码,并且可以彼此分开地发送媒体内容的两个或更多个不同版本。在实施例中,实时上行链路流式传输源计算设备可以以较高质量水平对媒体内容的一个版本进行编码,以及以较低质量水平对媒体内容的另一个版本进行编码。在实施例中,可以对以较高质量水平编码的内容进行缓存,直到实时流式传输会话完成为止,而以较低质量水平编码的内容可以被上传到实时上行链路流式传输宿计算设备。在一个实施例中,经编码的内容的两个或更多个版本可以被并行发送到实时上行链路流式传输宿计算设备。例如,可以以较低比特率向实时上行链路流式传输宿计算设备发送以较高质量水平编码的内容,而可以以较高比特率向实时上行链路流式传输宿计算设备上传以较低质量水平编码的内容。以较高质量水平编码的内容可以用于较高时延要求目的,例如在实时上行链路流式传输会话完成之后提供的按需视频服务。
在各个实施例中,实时上行链路流式传输宿计算设备可以使用一个或多个所选择的传送方法来向一个或多个实时上行链路流式传输观看计算设备分发经处理媒体。在各个实施例中,实时上行链路流式传输宿计算设备可以包括分发选择功能,其可以至少部分地基于辅助数据来选择针对经处理媒体的一个或多个传送方法。在一些实施例中,对用于将内容分发到实时上行链路流式传输观看计算设备的单播传送方法或广播传送方法的选择可以是静态选择,例如基于实时上行链路流式传输宿计算设备的预先配置,在实时上行链路流式传输会话的开始时做出的选择。在一些实施例中,对用于将内容分发到实时上行链路流式传输观看计算设备的单播传送方法或广播传送方法的选择可以是动态选择,诸如在实时上行链路流式传输会话期间进行的多于一次的选择。例如,实时上行链路流式传输宿计算设备可以在单播和广播传送方法之间切换。在单播和广播传送方法之间的切换可以以类似于3GPP技术规范(TS)26.346中定义的MBMS按需操作(MooD) 的方式来进行。
在对用于向实时上行链路流式传输观看计算设备分发内容的单播传送方法或广播传送方法的选择可以是静态选择的实施例中,实时上行链路流式传输宿计算设备可以基于对跨越媒体内容的不同服务区域的接收需求的预测来预先确定下行链路传送方法。这样的信息可以例如通过使用基于下文预测分析方法来导出:历史消费数据或统计,通过发送方的“频道”的订阅数量对在接收方实时上行链路流式传输观看计算设备之中的“关注”特定发送方实时上行链路流式传输源计算设备的了解,和/或其它类型的数据。作为一个示例,对于源自某些“受欢迎”发送方的内容,可能希望始终采用广播传送来实现相对于单播分发的预期网络容量效率增益,而单播传送可以用于对由其它不太受欢迎的发送方上传的内容的分发。另外,来自实时上行链路流式传输观看计算设备的以喜欢、分享和评论形式的社交反馈也可以代表内容受欢迎程度。
在对用于向实时上行链路流式传输观看计算设备分发内容的单播传送方法或广播传送方法的选择可以是静态选择的实施例中,实时上行链路流式传输宿计算设备可以以动态方式来选择针对给定发送方实时上行链路流式传输源计算设备的传送方法。例如,实时上行链路流式传输宿计算设备可以以与MooD类似的方式,基于由实时上行链路流式传输观看计算设备进行的消耗的实时测量信息来选择传送方法。
第三方实时上行链路流式传输服务的提供方(例如Facebook Live或 YouTubeLive)希望依赖移动运营商来处理对用户生成的流式传输内容的下行链路传送的可能性对于基于场地的活动(例如,足球比赛或摇滚音乐会) 可能是最高的。在这样的环境中,第三方提供方可能期望或已经确定:其用户中的一个或多个用户将会/将要上传与他/她出席现场活动有关的视频,此外,预测/知道相当大数量的其用户将会/正出现在相同的地点(例如,体育场或音乐会舞台),有兴趣观看这样的内容。这种收视可以归因于有兴趣在会场观看用户生成的实时影片的发送方的“好友”或亲和团体成员(例如,体育团队的本地关注者,或音乐表演者的粉丝俱乐部成员)。在各个实施例中,第三方提供方可以具有与移动运营商建立的商务协议,使得由第三方的网络服务器收集的与场地相关的上行链路媒体流将被路由到移动运营商的实时上行链路流式传输宿计算设备以用于通过3GPP网络的下行链路传送。第三方的网络服务器还可以将与每个内容项相关联的以下类型的信息中的一项或多项作为辅助数据发送到移动运营商的实时上行链路流式传输宿计算设备:关于内容的受欢迎程度(测量或预测的)的数据、内容发送者的位置、内容的预期观看者的位置、针对下行链路传送的时延目标 (例如,端到端时延目标、处理时延目标、上行链路时延目标、下行链路时延目标等)、和/或作为运营商的蜂窝服务的订户的预期观看者的数量。移动运营商的实时上行链路流式传输宿计算设备可以使用辅助数据来决定给定内容项是应该经由单播(例如,PSS)还是广播(例如,MBMS)来传送到观看者。可以基于预期或实际需求来静态地或动态地执行下载传送方法的配置。第三方发起的用户和控制平面数据可以通过xMB接口传送。在各个实施例中,实时上行链路流式传输宿计算设备可以是网络运营商广播多播服务中心(BM-SC)。在各个实施例中,网络运营商的实时上行链路流式传输宿计算设备可以选择使用向一个或多个特定地理区域(例如,在基于场地的活动的体育场/会场内部,可能包括整个附近城市的其周遭)的 MBMS传送等。在各个实施例中,网络运营商的实时上行链路流式传输宿计算设备可以基于来自位于一个或多个区域的接收方的、针对给定的上传的媒体内容项的实时和时移观看需求二者的指示(预期或实际的),选择在一个或多个时间间隔(例如,当前时间间隔、未来时间间隔等)期间使用 MBMS传送。
在各个实施例中,对要提供的实时上行链路媒体流和/或实时上行链路流式传输会话属性的指示可以指示:实时上行链路流式传输源计算设备正在请求实时上行链路流式传输宿计算设备存储针对实时上行链路流式传输会话的经处理的媒体内容的副本,以用于在实时上行链路流式传输会话完成之后向请求该内容的观看者进行分发。在这样的实施例中,实时上行链路流式传输宿计算设备可以在处理媒体内容时对媒体内容的副本进行缓存,以用于在实时流式传输会话完成之后向观看者进行分发。以这种方式,可以稍后时间向在会话完成之后请求该内容的观看者提供缓存的经处理的媒体内容。例如,可以在会话完成之后将缓存的经处理的媒体内容作为视频点播(video-on-demand)内容提供给观看者。
在各个实施例中,实时上行链路流式传输宿计算设备可以通过生成并发送一个或多个请求的动作消息来控制或引导实时上行链路流式传输源计算设备的发送行为。请求的动作消息可以是从实时上行链路流式传输宿计算设备发送到实时上行链路流式传输源计算设备的一类型的控制消息,其用来控制或引导实时上行链路流式传输源计算设备在对经编码的媒体内容的传输中的行为。在各个实施例中,请求的动作消息可以是用于指示下文的消息:实时上行链路流式传输源计算设备要采取的一个或多个请求的动作,以及实时上行链路流式传输宿计算设备请求实时上行链路流式传输源计算设备采取该一个或多个请求的动作的一个或多个相关联原因。要采取的示例动作可以包括:在实时上行链路流式传输源计算设备处对经编码的媒体内容进行缓存,从实时上行链路流式传输源计算设备发送经编码的媒体内容,改变实时上行链路流式传输源计算设备以其对媒体内容进行编码的质量水平,改变实时上行链路流式传输源计算设备用于发送经编码的媒体内容的传输比特率等。示例原因可以包括:网络拥塞、QoS要求、收视缺失、收视存在、当前(或预期)参与存在、非保证比特率(非GBR)承载上的过量带宽的可用性等。
请求的动作以及针对该请求的动作的相关联原因可以是动作/原因对。在各个实施例中,请求的动作消息可以包括对动作/原因对的指示,例如在消息主体中、在消息报头中等。在各个实施例中,对动作/原因对的指示可以是动作和原因代码。在各个实施例中,对动作/原因对的指示可以在请求的动作消息中被指示为可选的或强制的。例如,可以将可选的动作/原因对标识为辅助类型消息。作为另一个示例,可以将强制消息标识为执行(enforcement)类型消息。在各个实施例中,请求的动作消息可以针对原因指示多于一个的动作,针对动作指示多于一个的原因,和/或指示多于一个的动作和多于一个的原因对。在请求的动作消息中指示了多于一个动作的实施例中,可以将一个动作指示为强制的而将另一个动作指示为可选的。在请求的动作消息中指示了两个或更多个动作的实施例中,可以给予强制动作优先于可选动作的用于实现的偏好。
在各个实施例中,在实时上行链路流式传输源计算设备对媒体的发送之前或期间,实时上行链路流式传输宿计算设备可以确定:请求的动作消息应该被发送以控制或引导实时上行链路流式传输源计算设备的发送行为。例如,实时上行链路流式传输宿计算设备可以通过监测与实时流式传输相关联的条件来做出这样的确定。与实时流式传输相关联的条件可以包括影响实时流式传输的各种条件,例如收视条件、交互条件、网络条件、处理条件、连接条件和/或分发条件中的一项或多项。示例网络条件可以是关于一个或多个无线接入技术(例如,WiFi、3G、4G和5G)当前可用于计算设备(例如实时上行链路流式传输源计算设备、实时上行链路流式传输宿计算设备等)的指示。连接条件的示例可以是计算设备(例如,实时上行链路流式传输源设备、实时上行链路流式传输宿计算设备等)用于发送媒体内容可用的带宽/传输比特率,或者将要由计算设备在发送媒体内容时引起的预期的延迟。分发条件的示例可以是对下文的指示:由实时上行链路流式传输源设备向接收方观看者发送的、对流式传输内容的下行链路传送是采用单播、多播还是广播技术。可以至少部分地基于由各种源接收和/或生成的辅助数据和/或其它信息来监测条件。实时上行链路流式传输宿计算设备可以基于一个或多个监测的条件来确定是否正在发生用于控制上行链路行为的条件。
在各个实施例中,实时上行链路流式传输宿计算设备和/或与实时上行链路流式传输宿计算设备相通信的各种源和/或功能可以指示一个或多个条件,并且实时上行链路流式传输宿计算设备可以将那些条件转化为用于控制和/或引导实时上行链路流式传输源计算设备的发送行为的动作/原因对。作为示例,实时上行链路流式传输宿计算设备可以将一个或多个条件与存储器中的用于将条件与请求的动作和原因进行相关的表进行比较,并且响应于确定在两个条件之间的匹配,实时上行链路流式传输宿计算设备可以确定:正在发生用于控制和/或引导实时上行链路流式传输源计算设备的发送行为的一个或多个条件。响应于确定正在发生用于控制和/或引导实时上行链路流式传输源计算设备的发送行为的一个或多个条件,实时上行链路流式传输宿计算设备可以生成并向实时上行链路流式传输源计算设备发送请求的动作消息。作为示例,请求的动作消息可以包括对与确定要发生的一个或多个条件相关联/相关的动作/原因对的指示。
作为特定示例,实时上行链路流式传输宿计算设备的处理功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:正在经历高媒体处理负载。高媒体处理负载条件可以意味着实时上行链路流式传输宿计算设备暂时不能处理额外的传入流,并且具有非严格延迟要求的媒体流将被剥夺用于处理的优先权。基于高媒体处理负载条件,FLUS控制功能可以生成并发送具有以下各项的请求的动作消息:关于当没有观看者时,实时上行链路流式传输源计算设备应该使用较低传输比特率来发送经编码媒体的动作指示,和对网络拥塞的原因指示。
作为另一个特定示例,实时上行链路流式传输宿计算设备的分发功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:将使用广播来向实时上行链路观看计算设备进行传送。广播传送可以意味着去往接收者的保证的高质量的传送。基于广播传送条件,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于用高质量编码和高传输比特率来发送媒体的动作指示以及对保证的高质量边到边传送的原因指示。
作为另一个特定示例,实时上行链路流式传输宿计算设备的收视测量功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:缺乏观看者或者存在观看者。缺乏观看者可以意味着上传完整视频剪辑是对FLUS源的浪费。存在观看者可以意味着上传是用于提供低时延“实时”体验所必需的。基于缺乏观看者,FLUS控制可以生成并发送请求的动作消息,所述请求的动作消息具有用于推迟上行链路流式传输或仅上传初始块(chunk)直到存在收视为止的动作指示,以及对缺乏收视的原因指示。基于存在观看者,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于上传缓存的完整或剩余内容的动作指示以及对存在收视的原因指示。
作为另一个特定示例,实时上行链路流式传输宿计算设备的互动参与功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:存在实时参与以及期望未来与内容的非实时参与。存在实时参与以及期望未来与内容的非实时参与可以意味着对在上传和边到边传送中的低时延的要求,以及对高质量存储版本的期望以用于将来观看和参与。基于存在实时参与以及期望未来与内容的非实时参与,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于对如果必要的话上传较低质量,同时请求低时延边到边传送,并且通过放松的延迟要求来并行地以高质量上传相同的内容的动作指示,具有对现在存在参与并且未来预期参与的原因指示。
作为另一个特定示例,可以向FLUS控制功能提供以下网络信息:存在过多非GBR带宽可用。过多带宽可以意味着:在缺乏观看者的情况下,使用非GBR承载的上传是可能的。基于过多带宽,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于在知道活动收视之前,在非GBR承载上以较低质量进行上传,并且在知道存在收视时,在GBR承载上以较高质量进行上传的动作指示,具有对非GBR带宽的可用性的原因指示。
前述具体示例旨在作为FLUS控制功能可以识别和进行的条件和转化的推荐的一些组合和排列的非限制性示例,并且仅作为示例提供以便更好地说明各个实施例的方面,并且不意在以任何方式限制各个实施例。条件和转化的推荐的其它组合和排列可以与各个实施例一起使用,并且可以在各个示例中替换条件和转化的推荐的其它组合和排列。
在各个实施例中,实时上行链路流式传输源计算设备可以接收请求的动作消息,并且可以确定在请求的动作消息中指示的原因是否支持采取该动作消息中指示的动作。例如,实时上行链路流式传输源计算设备可以接收请求的动作消息,并确定动作/原因对所指示的原因是否支持采取由动作/ 原因对指示的动作。作为具体示例,实时上行链路流式传输源计算设备可以将动作/原因对所指示的原因与用于改变存储在存储器中的行为的授权原因的列表进行比较,并且在动作/原因对所指示的原因与授权原因的列表中的原因之间的匹配可以指示:动作/原因对的确支持采取动作/原因对所指示的动作。示例原因可以包括:网络拥塞、QoS要求、收视缺失、收视存在、当前(或预期)参与存在、非保证比特率(非GBR)承载上的过量带宽可用等。
响应于确定在请求的动作消息中指示的原因支持采取在请求的动作消息中指示的动作,实时上行链路流式传输源计算设备可以根据该动作来实现一个或多个与上行链路相关联的行为中的一个或多个改变。实时上行链路流式传输源计算设备可以实现的、根据动作的与一个或多个与上行链路相关联的行为的示例改变可以包括下列各项中的一项或多项:对经编码媒体进行缓存、发送缓存的经编码媒体、改变用于媒体的编码质量水平、改变经编码媒体传输的比特率、改变用于经编码媒体的连接属性、改变用于经编码媒体的传输技术等。
在各个实施例中,实时上行链路流式传输源计算设备可以监测与实时流式传输相关联的一个或多个条件。实时上行链路流式传输源计算设备可以对来自多个源(例如其无线接入网、实时上行链路流式传输宿计算设备、实时上行链路流式传输观看计算设备、实时上行链路流式传输源计算设备本身等)的状态信息进行组合,以监测与实时流式传输相关联的一个或多个条件。实时上行链路流式传输源计算设备可以监测与其用于向实时上行链路流式传输宿计算设备上传经编码媒体的连接相关联的条件,例如,使用中的连接类型、可用的连接类型(例如,Wi-Fi、3G、4G、5G、保证比特率(GBR)、非保证比特率(非GBR)等)、连接成本、连接容量、与连接相关联的优先级、连接能力等。实时上行链路流式传输源计算设备可以接收与其自己用于向实时上行链路流式传输宿计算设备上传经编码媒体的连接相关联的连接数据。例如,连接数据可以包括小区位置信息(例如,小区边缘、小区中心等)、网络状态信息等。另外,实时上行链路流式传输源计算设备可以基于在来自实时上行链路流式传输宿计算设备的控制消息中提供的辅助数据来监测条件,例如收视条件、交互条件、网络条件、处理条件和分发条件。
在各个实施例中,实时上行链路流式传输源计算设备监测的一个或多个条件可以由实时上行链路流式传输源计算设备使用以改变或修改其上行链路行为。在各个实施例中,实时上行链路流式传输源计算设备可以确定一个或多个条件是否支持改变一个或多个与上行链路相关联的行为。在各个实施例中,实时上行链路流式传输源计算设备和/或与实时上行链路流式传输源计算设备相通信的各种源和/或功能可以指示一个或多个条件,并且实时上行链路流式传输源计算设备可以转化那些条件以改变或修改其上行链路行为。作为示例,实时上行链路流式传输宿计算设备可以将一个或多个条件与存储器中的用于将条件与上行链路行为的改变进行相关的表进行比较,并且响应于确定在两个条件之间的匹配,实时上行链路流式传输宿计算设备可以确定:正在发生用于改变或修改其上行链路行为的一个或多个条件。
响应于确定一个或多个条件支持改变一个或多个与上行链路相关联的行为,实时上行链路流式传输源计算设备可以至少部分地基于一个或多个条件来确定与一个或多个与上行链路相关联的行为的一个或多个改变。例如,基于由实时上行链路源计算设备监测或确定的条件,实时上行链路流式传输源计算设备可以通过实现一个或多个行为的改变来修改或改变其上行链路行为。实时上行链路源计算设备可以实现的上行链路行为的改变的非限制性示例包括:缓存行为的改变(例如,开始缓存、停止缓存、对所选择的一个或多个版本或类型的媒体进行缓存等)、编码行为的改变(例如,使用较高编码质量、使用较低编码质量、以额外的质量水平对额外版本的媒体进行编码、对较少版本的媒体进行编码等)、传输行为的改变(例如,以较高传输比特率进行发送、以较低传输比特率进行发送、使用非GBR承载、使用GBR承载等)、连接行为的改变(例如,使用较低优先级的连接、使用较高优先级的连接、使用较低成本的连接、使用较高成本的连接、使用较高质量的连接、使用较低质量的连接等)、以及传输行为的改变(例如,切换到Wi-Fi、切换到3G、切换到4G、切换到5G等)等。
作为特定示例,监测条件的实时上行链路流式传输源计算设备可以从实时上行链路流式传输宿计算设备接收对缺乏观看者的指示,并且根据实时上行链路流式传输源计算设备的无线接入网的连接数据确定:存在过多可用的非GBR带宽。基于没有观看者和过多可用非GBR带宽的条件,实时上行链路流式传输源计算设备可以修改其上行链路行为以使用非GBR承载执行上传直到观看者到来为止,并且然后当指示了观看者时,改变为对媒体的较高质量版本进行编码并且在GBR承载上对其进行发送。
在各个实施例中,实时上行链路流式传输源计算设备可以使用在接收的请求的动作消息中的原因以及由实时上行链路流式传输源计算设备监测的条件二者,来确定在请求的动作消息中指示的原因是否支持采取在动作消息中指示的动作。以这种方式,实时上行链路流式传输源计算设备可以对在实时上行链路流式传输源计算设备处监测的条件(例如,其自己的无线接入网连接状态、连接成本、连接能力等)和影响在实时上行链路流式传输宿计算设备处的上行链路流式传输服务的条件(例如,处理延迟、网络拥塞等)进行平衡。
响应于确定所监测的条件以及在请求的动作消息中指示的原因支持采取在请求的动作消息中指示的动作,实时上行链路流式传输源计算设备可以根据动作来实现一个或多个与上行链路相关联的行为中的一个或多个改变。实时上行链路流式传输源计算设备可以实现的、根据动作的一个或多个与上行链路相关联的行为的示例改变可以包括下列各项中的一项或多项:对经编码媒体进行缓存、发送缓存的经编码媒体、改变用于媒体的编码的质量水平、改变经编码媒体传输的比特率、改变用于经编码媒体的连接属性、改变用于经编码媒体的传输技术等。
响应于确定所监测的条件以及在请求的动作消息中指示的原因不支持采取在请求的动作消息中指示的动作,实时上行链路流式传输源计算设备可以确定一个或多个条件以及动作消息中指示的原因是否支持采取替代动作。替代动作可以是与请求的动作消息中指示的动作不同的动作。替代动作可以是被选择为实现与请求的动作消息中指示的原因相关联的相同或相似的隐含目标,但是以与请求的动作消息中指示的动作不同的方式进行的动作。实时上行链路流式传输源计算设备可以根据替代动作来实现一个或多个上行链路行为中的一个或多个改变。实时上行链路流式传输源计算设备可以实现的、根据替代动作的一个或多个与上行链路相关联的行为的示例改变可以包括下列各项中的一项或多项:对经编码媒体进行缓存、发送缓存的经编码媒体、改变用于媒体的编码的质量水平、改变经编码媒体传输的比特率、改变用于经编码媒体的连接属性、改变用于经编码媒体的传输技术等。
本文讨论了不同传输协议、传送方法和网络架构的各种示例,具体而言,FLUS、HTTP、IMS、RTMP、MPEGDASH、CMAF、HLS、MMTP、 UDP、MTSI、PPS、MBMS、3GPP等。具体地说,FLUS、HTTP、IMS、 RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI、PPS、MBMS 和3GPP的讨论仅作为示例来更好地说明各个实施例的方面,并且不旨在以任何方式限制各个实施例。其它传输协议、传送方法和网络架构可以与各各个实施例一起使用,并且可以在各个示例中替换其它传输协议、传送方法和网络架构。
图1示出了适合于与各个实施例一起使用的网络系统100。网络系统 100可以包括多个设备,例如一个或多个实时上行链路流式传输源计算设备 102,一个或多个蜂窝塔或基站104、115,连接到互联网110的一个或多个实时上行链路流式传输宿计算设备108、112,以及一个或多个实时上行链路流式传输观看计算设备116、119。实时上行链路流式传输源计算设备102 可以经由一个或多个蜂窝连接106来与蜂窝塔或基站104交换数据,所述蜂窝连接包括码分多址(CDMA)、时分多址(TDMA)、全球移动通信系统(GSM)、个人通信服务(PCS)、第三代(3G)、第四代(4G)、长期演进(LTE)或任何其它类型的连接。实时上行链路流式传输观看计算设备 116、119可以经由一个或多个蜂窝连接118、120(包括CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其它类型的连接)来与蜂窝塔或基站115 交换数据。另外,实时上行链路流式传输源计算设备102和实时上行链路流式传输观看计算设备116、119可以连接到相同的蜂窝塔或基站104、115。
蜂窝塔或基站104、115可以与可以连接到互联网110的相应路由器相通信。以这种方式,经由到蜂窝塔或基站104、115和/或互联网110的连接,可以在实时上行链路流式传输源计算设备102,实时上行链路流式传输观看计算设备116、119以及实时上行链路流式传输宿计算设备108、112之间交换数据。在实施例中,实时上行链路流式传输宿计算设备108可以是实时上行链路流式传输服务提供方的服务器。在一个实施例中,实时上行链路流式传输宿计算设备112可以是网络运营商的网络服务器,例如BM-SC服务器。
实时上行链路流式传输源计算设备102可以例如通过机载摄像头、麦克风等来捕获媒体内容本身,和/或可以有线或无线地连接到一个或多个捕获设备103,例如摄像头、麦克风等,所述捕获设备可以捕获媒体内容并将该媒体内容输出到实时上行链路流式传输源计算设备102。捕获的媒体内容可以由实时上行链路流式传输源计算设备102编码,并且经由到蜂窝塔或基站104以及互联网110的连接发送到实时上行链路流式传输宿计算设备108、112中的一者或这二者。在一些实施例中,实时上行链路流式传输宿计算设备108可以是实时上行链路流式传输服务的服务器,并且可以通过重定向实时上行链路流式传输源计算设备102以将针对实时上行链路流式传输服务的经编码的媒体内容路由到实时上行链路流式传输宿计算设备 112,来将对实时上行链路流式传输服务的处理卸载到实时上行链路流式传输宿计算设备112(其可以是网络服务器,例如BM-SC)。在一些实施例中,实时上行链路流式传输源计算设备102可以使用网络的用于操作实时上行链路流式传输宿计算设备112的实时上行链路流式传输服务,并且实时上行链路流式传输源计算设备102可以被配置为:将经编码的媒体内容直接路由到实时上行链路流式传输宿计算设备112。
实时上行链路流式传输宿计算设备112可以对从实时上行链路流式传输源计算设备102接收的经编码的媒体内容进行处理,并且经由互联网110 以及蜂窝塔或基站115将经处理的媒体内容分发到实时上行链路流式传输观看计算设备116、119。替代地,实时上行链路流式传输宿计算设备112 可以在不执行额外媒体处理的情况下,选择经由互联网110以及蜂窝塔或基站115将从实时上行链路流式传输源计算设备102接收的经编码的媒体内容直接分发到实时上行链路流式传输观看计算设备116、119。实时上行链路流式传输观看计算设备116、119可以经由与实时上行链路流式传输宿计算设备108、112中的一者或这二者的消息传送来订阅实时上行链路流式传输服务的实时上行链路流式传输会话。另外,实时上行链路流式传输观看计算设备116、119可以向实时上行链路流式传输宿计算设备108、112 中的一者或这二者发送辅助数据。
图2A是示出实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)、实时上行链路流式传输宿计算设备(例如,实时上行链路流式传输宿计算设备108、112)以及实时上行链路流式传输观看计算设备(例如,实时上行链路流式传输观看计算设备116、119)之间用于根据各个实施例设定实时上行链路流式传输服务的信令的呼叫流程图。图2A中所示的操作可以是当第三方实时上行链路流式传输服务的提供方 (例如Facebook Live或YouTube Live)依赖于移动运营商来处理对用户生成的流式传输内容的下行链路传送时可能发生的示例操作。
参考图1和图2A,当由实时上行链路源计算设备102开始实时上行链路流式传输会话时,实时上行链路源计算设备102可以在操作250中向实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108 发送对要在实时上行链路流式传输会话中提供的实时上行链路媒体流的指示。在操作251中,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108和移动网络运营商的实时上行链路流式传输宿计算设备112可以协商对针对实时上行链路流式传输服务的一个或多个实时上行链路流式传输会话向移动网络运营商的实时上行链路流式传输宿计算设备112的路由。实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108可以依赖于移动网络运营商的实时上行链路流式传输宿计算设备112来进行基于针对内容的预测的需求的下行链路传送。例如,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备 108可以依赖于移动网络运营商的实时上行链路流式传输宿计算设备112来处理针对基于场地的活动(例如足球比赛或摇滚音乐会)的用户生成的流式传输内容的下行链路传送,由此实时上行链路流式传输观看计算设备 116、119将经由移动网络分发技术(例如,PSS或MBMS)来接收媒体内容。在这样的环境中,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108可以确定实时上行链路源计算设备102将上传关于实时事件的视频,并且还预测相当数量的其用户将会/正在出现在同一地点(例如,体育场或音乐会舞台),有兴趣观看此类内容。这种收视可以归因于有兴趣在会场观看用户生成的现场录像的实时上行链路源计算设备 102的“好友”和/或亲和团体成员(例如,体育团队的本地关注者,或音乐表演者的粉丝俱乐部成员)。
在操作252中,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108可以向实时上行链路流式传输观看计算设备116、119 通告实时上行链路流式传输会话。在操作253中,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108可以重定向实时上行链路流式传输源计算设备102,以向移动网络运营商的实时上行链路流式传输宿计算设备112发送其针对上行链路流式传输会话的经编码的媒体内容,以用于下行链路传送。在可选操作262中,实时上行链路流式传输源计算设备102可以开始向实时上行链路流式传输宿计算设备112发送经编码的媒体内容。
在操作258中,实时上行链路流式传输观看计算设备116、119中的一者或多者可以订阅与实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108的实时上行链路流式传输会话。在操作260中,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108 可以向移动网络运营商的实时上行链路流式传输宿计算设备112指示实时上行链路流式传输观看计算设备116、119中的一者或多者的订阅。在操作 261中,移动网络运营商的实时上行链路流式传输宿计算设备112可以向实时上行链路流式传输源计算设备102发送收视指示。在操作262中,响应于接收对收视足以进行分发的指示,实时上行链路流式传输源计算设备102 可以向移动网络运营商的实时上行链路流式传输宿计算设备112发送经编码的媒体内容。移动网络运营商的实时上行链路流式传输宿计算设备112可以在操作264中对所接收的内容进行处理,并且向实时上行链路流式传输观看计算设备116、119中的一者或多者分发媒体内容。
图2B是示出在实时上行链路流式传输源计算设备、实时上行链路流式传输宿计算设备以及实时上行链路流式传输观看计算设备之间的、用于根据各个实施例设定实时上行链路流式传输服务的信令的呼叫流程图,例如用于根据各个实施例设定实时上行链路流式传输服务的实时上行链路流式传输源计算设备102、实时上行链路流式传输宿计算设备(例如,实时上行链路流式传输宿计算设备112)、以及实时上行链路流式传输观看计算设备(例如,实时上行链路流式传输观看计算设备116、119)。图2B中所示的操作可以是当移动运营商提供其自己的实时上行链路流式传输服务时可能发生的示例操作。
参考图1和图2B,当由实时上行链路源计算设备102开始实时上行链路流式传输会话时,实时上行链路源计算设备102可以在操作270中向移动网络运营商的实时上行链路流式传输宿计算设备112发送对要在实时上行链路流式传输会话中提供的实时上行链路媒体流的指示。
在操作272中,去往移动网络运营商的实时上行链路流式传输宿计算设备112的实时上行链路流式传输会话可以向实时上行链路流式传输观看计算设备116、119通告实时上行链路流式传输会话。在可选操作274中,实时上行链路流式传输源计算设备102可以开始向实时上行链路流式传输宿计算设备112发送经编码的媒体内容。
在操作275中,实时上行链路流式传输观看计算设备116、119中的一者或多者可以订阅与去往移动网络运营商的实时上行链路流式传输宿计算设备112的实时上行链路流式传输会话。在操作276中,移动网络运营商的实时上行链路流式传输宿计算设备112可以向实时上行链路流式传输源计算设备102发送收视指示。在操作278中,响应于接收对收视足以进行分发的指示,实时上行链路流式传输源计算设备102可以向移动网络运营商的实时上行链路流式传输宿计算设备112发送经编码的媒体内容。移动网络运营商的实时上行链路流式传输宿计算设备112可以在操作280中对所接收的内容进行处理,并且向实时上行链路流式传输观看计算设备116、 119中的一者或多者分发媒体内容。
图2C是示出在实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)、实时上行链路流式传输宿计算设备(例如,实时上行链路流式传输宿计算设备108、112)以及实时上行链路流式传输观看计算设备(例如,实时上行链路流式传输观看计算设备116、119)之间的、用于根据各个实施例设定实时上行链路流式传输服务的信令的呼叫流程图。图2C中所示的操作旨在作为当第三方实时上行链路流式传输服务的提供方(例如Facebook Live或YouTube Live)依赖于移动运营商来处理对用户生成的流式传输内容的下行链路传送时可能发生的操作的示例。除了实时上行链路流式传输源计算设备102可以向实时上行链路流式传输宿计算设备108发送上行链路内容以外,图2C中示出的操作可以与参考图2A 描述的操作类似,所述实时上行链路流式传输宿计算设备108可以向实时上行链路流式传输宿计算设备112转发上传的内容以用于向实时上行链路流式传输观看计算设备116、119进行分发。
参考图1、图2A和图2C,在操作258中,实时上行链路流式传输观看计算设备116、119中的一者或多者可以订阅与实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108的实时上行链路流式传输会话。在操作281中,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108可以向实时上行链路流式传输源计算设备102 指示实时上行链路流式传输观看计算设备116、119中的一者或多者的订阅。在操作282中,响应于接收对收视足以进行分发的指示,实时上行链路流式传输源计算设备102可以向实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108发送经编码的媒体内容。在操作283中,响应于接收经编码的媒体内容,实时上行链路流式传输服务提供方的实时上行链路流式传输宿计算设备108可以向移动网络运营商的实时上行链路流式传输宿计算设备112发送经编码的媒体内容。移动网络运营商的实时上行链路流式传输宿计算设备112可以在操作264中对所接收的内容进行处理,并且向实时上行链路流式传输观看计算设备116、119中的一者或多者分发媒体内容。
图3A是示出实施例实时上行链路流式传输服务架构300的方块图。参考图1-图3A,实时上行链路流式传输源计算设备102的处理器可以包括 FLUS控制功能201和FLUS媒体功能202。实时上行链路流式传输源计算设备102可以发起用于由网络运营商或第三方实时上行链路流式传输服务提供方提供的实时上行链路流式传输服务的实时上行链路流式传输会话,例如根据图2A、图2B或者图2C的操作。FLUS控制功能201可以与网络运营商的实时上行链路流式传输宿计算设备112的处理器的FLUS控制功能203交换控制消息。FLUS控制功能201和203可以交换用于指示各种信息(例如实时上行链路流式传输会话的属性、收视指示等)的控制消息。作为另一个示例,FLUS控制功能203可以向FLUS控制功能201发送包括辅助数据210(还替代地被称为“下行链路数据”)的控制消息。FLUS媒体功能202可以从连接的捕捉设备103(和/或诸如摄像头、麦克风等的搭载设备)接收捕捉的媒体内容,并且可以对媒体内容进行编码以用于传输到网络运营商的实时上行链路流式传输宿计算设备112的FLUS媒体功能 204。可以通过不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI 等)中的任何一项向网络运营商的实时上行链路流式传输宿计算设备112 发送经编码的媒体内容。
在各个实施例中,可以在FLUS控制功能201和203之间交换的一种类型的控制消息可以是请求的动作消息。请求的动作消息可以是从FLUS 控制功能203发送到FLUS控制功能201的消息,其用于控制或引导实时上行链路流式传输源计算设备102在对经编码的媒体内容的传输中的行为。在各个实施例中,请求的动作消息可以是用于指示实时上行链路流式传输源计算设备102要采取的一个或多个请求的动作,以及针对实时上行链路流式传输宿计算设备112请求实时上行链路流式传输源计算设备102采取一个或多个请求的动作的一个或多个相关联原因的消息。
在各个实施例中,实时上行链路流式传输源计算设备102可以监测与实时流式传输相关联的条件。实时上行链路流式传输源计算设备102可以对来自多个源(例如其无线接入网、实时上行链路流式传输宿计算设备112、实时上行链路流式传输观看计算设备116、119、实时上行链路流式传输源计算设备102本身等)的状态信息进行组合,以监测与实时流式传输相关联的一个或多个条件。实时上行链路流式传输源计算设备102可以监测与其用于向实时上行链路流式传输宿计算设备112上传经编码媒体的连接相关联的条件,例如,使用中的连接类型、可用的连接类型(例如,Wi-Fi、 3G、4G、5G、保证比特率(GBR)、非保证比特率(非GBR)等)、连接成本、连接容量、与连接相关联的优先级、连接能力等。实时上行链路流式传输源计算设备102可以接收与用于向实时上行链路流式传输宿计算设备112上传经编码媒体的连接相关联的连接数据。例如,连接数据可以包括小区位置信息(例如,小区边缘、小区中心等)、网络状态信息等。另外,实时上行链路流式传输源计算设备102可以基于在从FLUS控制功能203 到FLUS控制功能201的控制消息中提供的辅助数据210来监测条件,例如收视条件、交互条件、网络条件、处理条件和分发条件。
网络运营商的实时上行链路流式传输宿计算设备112可以接收经编码的媒体内容并在媒体处理功能206中对所接收的经编码的媒体内容进行处理。由媒体处理功能206执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。
网络运营商的实时上行链路流式传输宿计算设备112可以包括分发选择功能207。在各个实施例中,网络运营商的实时上行链路流式传输宿计算设备112可以包括收视测量功能353。在各个实施例中,网络运营商的实时上行链路流式传输宿计算设备112可以包括互动参与功能355。在各个实施例中,分发选择功能207、收视测量功能353和/或互动参与功能355可以从一个或多个源接收辅助数据210。举例来说,辅助数据210的源可以是属于用于提供实时上行链路流式传输宿计算设备112的相同网络运营商的网络实体,辅助数据210的源可以是第三方实时上行链路流式传输服务提供方的服务器,例如实时上行链路流式传输宿计算设备108,和/或辅助数据的源可以是实时上行链路流式传输观看计算设备116、119。
可以通过各种网络接口来发送辅助数据210。举例来说,在3GPP网络的情况下,当辅助数据源自第三方应用服务提供方时,这样的接口可以是 3GPP TS 29.122中定义的T8参考点、3GPP TS 29.116中定义的xMB参考点、3GPP TS 23.501中定义的N33参考点等。辅助数据210可以包括针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的受欢迎程度信息。辅助数据210可以包括针对实时上行链路流式传输会话的收视/交互信息,例如订阅的实时上行链路流式传输观看计算设备的数量、对订阅的实时上行链路流式传输观看计算设备的参与水平的指示、关于一个或多个实时上行链路流式传输观看计算设备订阅了实时上行链路流式传输会话的指示、关于一个或多个实时上行链路流式传输观看计算设备从实时上行链路流式传输会话解除订阅的指示等。辅助数据210可以包括实时上行链路流式传输源计算设备的位置信息,例如位置数据(例如,纬度和经度、国家、邮政编码、地理区域、区、民用位置(比如街道、街区、邻里、建筑物和/或地标等))、一个或多个实时上行链路流式传输观看计算设备的位置数据等。辅助数据210可以包括网络条件数据,例如单播网络负载信息、错误率、网络设备状态、传送时间、端到端延迟估计等。辅助数据210可以包括内容特征,诸如感知的接收需求、实际接收需求、收视历史、估计的观众规模、基于相关位置和收视历史的估计的观众规模等。辅助数据210可以包括关于针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的QoS要求的输入元数据,所述QoS要求例如允许的端到端传送时延、目标数据速率、目标错误率、要求的数据速率、延迟设置、网络策略信息、观看质量设置等。辅助数据210可以包括来自一个或多个实时上行链路流式传输观看计算设备116、119的应用级数据。
在各个实施例中,收视测量功能353、互动参与功能355、媒体处理功能206和/或分发选择功能207可以彼此交换信息。在各个实施例中,收视测量功能353、互动参与功能355、媒体处理功能206和/或分发选择功能 207可以向FLUS控制功能203提供信息。例如,这样的信息可以包括处理信息、分发信息、收视信息、参与信息等。在各个实施例中,由收视测量功能353、互动参与功能355、媒体处理功能206和/或分发选择功能207 向FLUS控制功能203提供的或者在收视测量功能353、互动参与功能355、媒体处理功能206和/或分发选择功能207中的一者或多者之间交换的信息可以是辅助数据210本身和/或是至少部分地根据辅助数据210导出的。在各个实施例中,FLUS控制功能203可以将其接收的信息提供给实时上行链路流式传输源计算设备102的FLUS控制功能201(例如在控制消息中)。作为具体示例,该信息可以是作为辅助数据210从一个或多个实时上行链路流式传输观看计算设备116、119接收的应用级数据,并且FLUS控制功能203可以将应用级数据发送到实时上行链路流式传输源计算设备102的 FLUS控制功能201。
在各个实施例中,FLUS控制功能203可以被配置为:通过生成和发送请求的动作消息来引导或控制FLUS控制功能201在对经编码的媒体内容的传输中的行为中的发送行为。FLUS控制功能203可以监测与实时流式传输相关联的条件。与实时流式传输相关联的条件可以包括影响实时流式传输的各种条件,例如收视条件、交互条件、网络条件、处理条件、连接条件和/或分发条件中的一项或多项。网络条件的示例可以是关于一个或多个无线接入技术(例如,WiFi、3G、4G和5G)当前可用于实时上行链路流式传输源计算设备的指示。连接条件的示例可以是计算设备(例如,实时上行链路流式传输源设备、实时上行链路流式传输宿计算设备等)用于发送媒体内容可用的带宽/传输比特率,或者将要由计算设备在发送媒体内容时引起的预期的延迟。分发条件的示例可以是对下文的指示:由实时上行链路流式传输源设备向接收方观看者发送的、对流式传输内容的下行链路传送是采用单播、多播还是广播技术。可以至少部分地基于辅助数据210 和/或由各种源(例如收视测量功能353、互动参与功能355、媒体处理功能 206、分发选择功能207等)接收和/或生成的其它信息来监测条件。FLUS 控制功能203可以基于一个或多个监测的条件来确定是否正在发生用于控制上行链路行为的条件。响应于确定正在发生用于控制和/或引导实时上行链路流式传输源计算设备的发送行为的一个或多个条件,FLUS控制功能 203可以生成并向FLUS控制功能201发送请求的动作消息。
在各个实施例中,FLUS控制功能201可以接收请求的动作消息,并且可以确定在请求的动作消息中指示的原因是否支持采取在动作消息中指示的动作。响应于确定在请求的动作消息中指示的原因支持采取在请求的动作消息中指示的动作,FLUS控制功能201可以实现一个或多个与上行链路相关联的行为中的一个或多个改变。FLUS控制功能201可以实现的一个或多个与上行链路相关联的行为的示例改变可以包括下列各项中的一项或多项:对经编码媒体进行缓存、发送缓存的经编码媒体、改变用于媒体的编码的质量水平、改变经编码媒体传输的比特率、改变用于经编码媒体的连接属性、改变用于经编码媒体的传输技术等。在各个实施例中,FLUS控制功能201监测的一个或多个条件可以由FLUS控制功能201用于改变或修改实时上行链路流式传输源计算设备102的上行链路行为。在各个实施例中,FLUS控制功能201可以使用在接收的请求的动作消息中的原因以及实时上行链路流式传输源计算设备102可能正在监测的条件这二者来修改实时上行链路流式传输源计算设备102的上行链路行为。
在各个实施例中,分发选择功能207可以执行对下行链路传送方法的静态选择,并且将经处理的媒体内容提供给分发服务器功能205,以用于传送到实时上行链路流式传输观看计算设备116、119。传送可以经由单播(例如,PSS)或广播(例如,MBMS),并且在选择了传送的类型时,该传送方法可以用于完整的实时上行链路流式传输会话。分发服务器功能205可以使用所选择的传送方法,将经处理的媒体内容经由核心网和无线接入网 208发送到在实时上行链路流式传输观看计算设备116、119的处理器上运行的流式传输客户端215,例如PSS客户端或MBMS客户端。在实时上行链路流式传输观看计算设备116、119的处理器上运行的流式传输客户端215 可以接收经处理的媒体内容,并且使经处理的媒体内容可用于显示给实时上行链路流式传输观看计算设备116、119的用户。
图3B是示出另一个实施例实时上行链路流式传输服务架构350的方块图。架构350与参考图3A描述的架构300类似,除了网络运营商的实时上行链路流式传输宿计算设备112可以包括单播服务器功能301(例如PSS 服务器功能)和广播服务器功能302(例如BM-SC功能)二者,而不是单个分发服务器功能205。参考图1-图3B,单播服务器功能301可以将经处理的媒体内容经由核心网和单播无线接入网304发送到在实时上行链路流式传输观看计算设备116、119的处理器上运行的单播流式传输客户端308,例如PSS客户端。广播服务器功能302可以将经处理的媒体内容经由核心网和广播无线接入网304发送到在实时上行链路流式传输观看计算设备 116、119的处理器上运行的广播流式传输客户端310,例如MBMS客户端。分发选择功能207可以控制切换功能303以在单播服务器功能301和广播服务器功能302之间动态地选择,作为所选择的传送方法。在单播和广播传送方法之间的切换可以以类似于3GPP TS 26.346中定义的支持MooD的切换的方式来进行。
图4示出了用于实时上行链路流式传输服务中的上行链路传送的实施例方法400。参考图1-图4,方法400的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。
在方块402中,处理器可以开始实时上行链路流式传输会话。例如,实时上行链路流式传输源计算设备的用户可以选择实时上行链路流式传输服务应用,并且可以输入与要提供的实时上行链路媒体流有关的信息和/或选择要向实时上行链路流式传输观看计算设备提供的实时上行链路流式传输会话的属性。例如,用户可以选择针对实时上行链路流式传输会话的时延要求(例如,端到端时延要求、处理时延要求、下行链路时延要求、上行链路时延要求等)、指示实时上行链路流式传输会话的主题、选择针对实时上行链路流式传输会话的QoS要求等。另外,用户可以选择要用于实时上行链路流式传输会话的传输和/或缓存方案。此外,用户可以指示:用于分发实时上行链路流式传输会话的实时上行链路流式传输宿计算设备应该对会话的经处理的媒体内容的副本进行缓存,以用于在实时上行链路流式传输会话完成之后分发给请求该内容的观看者。
在方块404中,处理器可以发送对要提供的实时上行链路媒体流的指示。要提供的实时上行链路媒体流的指示可以标识实时上行链路流式传输会话的一个或多个属性、可以标识要在实时上行链路流式传输会话中上传的媒体内容的特性、可以指示实时上行链路流式传输源计算设备的位置、可以指示针对实时上行链路流式传输会话的时延要求、可以指示要用于实时上行链路流式传输会话的传输和/或缓存方案等。
在方块406中,处理器可以接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码。可以从连接到实时上行链路流式传输源计算设备(例如捕捉设备103)的捕捉设备接收媒体内容,和/或可以从实时上行链路流式传输源计算设备上搭载的捕捉设备(例如内置摄像头)接收媒体内容。对媒体内容进行编码可以包括:以一个或多个选择的比特率对媒体内容进行采样,准备用于传输的媒体内容,对媒体内容进行格式化等。
在方块408中,处理器可以对经编码的媒体内容进行缓存。对捕捉的和经编码的媒体内容进行缓存可以包括:将经编码的内容存储在实时上行链路流式传输源计算设备的存储器(例如,传输缓冲器)中。
在确定块410中,处理器可以确定收视是否足以进行分发。在各个实施例中,可以生成收视指示并将所述收视指示从实时上行链路流式传输宿计算设备(例如,实时上行链路流式传输宿计算设备112)发送到实时上行链路流式传输源计算设备。收视指示可以是用于指示下文的消息:一个或多个实时上行链路流式传输观看计算设备已经订阅与实时上行链路流式传输源计算设备相关联的实时上行链路流式传输会话。作为一个示例,收视指示可以是诸如控制消息的消息,其指示至少一个实时上行链路流式传输观看计算设备已经订阅实时上行链路流式传输会话。收视指示可以包括用于指示订阅的实时上行链路流式传输观看计算设备的总数的属性。在一些实施例中,足以用于分发的收视可以是单个观看者。在这样的实施例中,对收视指示的接收可以使处理器能够确定收视足以进行分发。在一些实施例中,处理器可以将在收视指示中指示的总收视与收视门限进行比较,以确定收视是否足以进行分发。总收视处于或高于门限可以指示收视足以进行分发。在一些实施例中,门限可以是一个观看者。在一些实施例中,门限可以是多于一个的观看者。
响应于确定收视指示不足以进行分发(即,确定块410=“否”),处理器可以在方块406中继续接收和编码针对实时上行链路媒体流的媒体内容。
响应于确定收视指示足以用于分发(即,确定块410=“是”),处理器可以在方块412中将缓存的经编码媒体发送到实时上行链路流式传输宿计算设备。以这种方式,当实时上行链路流式传输源计算设备确定收视指示足以进行分发时,可以立即开始将缓存的经编码媒体从实时上行链路流式传输源计算设备上游传输到实时上行链路流式传输宿计算设备。实时上行链路流式传输源计算设备可以以先进先出为基础来从实时上行链路流式传输源计算设备的存储器(例如传输缓冲器)发送缓存的经编码的媒体内容。可以通过不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术 (包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送缓存的经编码的媒体内容。
在确定块418中,处理器可以确定是否发送了所有缓存的经编码媒体。例如,处理器可以检查传输缓冲器的状态以确定是否发送了所有缓存的经编码媒体。传输缓冲器为空可以指示发送了所有的经编码媒体。传输缓冲器包括数据可以指示未发送所有的经编码媒体。响应于确定未发送所有缓存的经编码媒体(即,确定块418=“否”),处理器可以在方块406中接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码,并且在方块408中对经编码的媒体内容进行缓存。
响应于确定发送了所有缓存的经编码媒体(即,确定块418=“是”),处理器可以在方块420中接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码。用于在方块420中接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码的操作可以与关于方块406所讨论的用于接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码的操作类似。在方块422中,处理器可以向实时上行链路流式传输宿计算设备发送经编码媒体。可以通过不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、HLS、MMTP、 UDP、MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送经编码的媒体内容。由于缓存可以是空的,因此处理器可以通过连续执行方块420和422的操作来连续地编码和发送接收的媒体内容。
图5示出了用于实时上行链路流式传输服务中的上行链路传送的实施例方法500。参考图1-图5,方法500的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。
在方块402和404中,处理器可以执行如所描述的方法400的相同编号的方块的操作。在方块502中,处理器可以接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码。在方块502中用于接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码的操作可以与关于方块406所讨论的用于接收针对实时上行链路媒体流的媒体内容并对所述媒体内容进行编码的操作类似。在方块504中,处理器可以向实时上行链路流式传输宿计算设备发送经编码媒体。可以通过不同的基于HTTP和/ 或基于IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、 CMAF、HLS、MMTP、UDP、MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送经编码的媒体内容。
在确定块506中,处理器可以确定发送的经编码媒体的量是否大于或等于初始部分门限。在各个实施例中,实时上行链路流式传输源计算设备可以仅将媒体的初始部分(例如流式传输内容的前几秒或几分钟)发送到实时上行链路流式传输宿计算设备。初始部分门限可以是与时间(例如秒、分钟等)相对应的值,或者可以是与大小(例如比特数、字节数等)相对应的值。处理器可以跟踪所发送的经编码媒体的量(例如时间量、大小量等),并且将该量与初始部分门限进行比较,以确定所发送的经编码媒体的量是否大于或等于初始部分门限。初始部分门限可以是预先配置的并且存储在实时上行链路流式传输源计算设备上的值,可以是用户选择的值,可以由实时上行链路流式传输宿计算设备设置,等等。
响应于确定所发送的经编码媒体的量小于初始部分门限(即,确定块 506=“否”),处理器可以在方块502中继续接收和编码媒体内容。
响应于确定所发送的经编码媒体的量大于或等于初始部分门限(即,确定块506=“是”),处理器可以执行如参考图4所述的方法400的方块 406-422的操作。
图6示出了用于实时上行链路流式传输服务中的上行链路传送的实施例方法600。参考图1-图6,方法600的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。
在方块402和404中,处理器可以执行所描述的方法400的相同编号的方块的操作。在方块602中,处理器可以接收针对实时上行链路媒体流的媒体内容并以第一质量水平对所述媒体内容进行编码。可以从连接到实时上行链路流式传输源计算设备的捕捉设备(例如捕捉设备103)接收媒体内容,和/或可以从实时上行链路流式传输源计算设备上搭载的捕捉设备(例如内置摄像头)接收媒体内容。对媒体内容进行编码可以包括:以一个或多个选择的比特率对媒体内容进行采样,准备用于传输的媒体内容,对媒体内容进行格式化等。第一质量水平可以是高质量水平或低质量水平。在一些实施例中,第一质量水平可以是高质量水平,并且处理器可能已经向实时上行链路流式传输宿计算设备指示:在缺乏收视时存在针对媒体内容的放宽的时延要求,例如在方块404中在用于发送对要提供的实时上行链路媒体流的指示的信令中。作为示例,放宽的时延要求可以是放宽的端到端时延要求、放宽的处理时延要求、放宽的上行链路时延要求、放宽的下行链路时延要求等。以这种方式,实时上行链路流式传输宿计算设备可以将对该媒体内容的处理优先于针对其它媒体流的其它媒体内容的处理。在一些实施例中,第一质量水平可以是媒体内容的高比特率编码。
在方块604中,处理器可以向实时上行链路流式传输宿计算设备发送经编码媒体。可以通过不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、 MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送经编码的媒体内容。
在确定块410中,处理器可以执行所描述的方法400的相同编号的方块的操作。响应于确定收视指示不足以进行分发(即,确定块410=“否”),处理器可以在方块602中继续接收针对实时上行链路媒体流的媒体内容并以第一质量水平对所述媒体内容进行编码。
响应于确定收视指示足以进行分发(即,确定块410=“是”),处理器可以在方块606中接收针对实时上行链路媒体流的媒体内容并以第二质量水平对所述媒体内容进行编码。第二质量水平可以是高质量水平或低质量水平。第二质量水平可以与方块602中使用的第一质量水平不同。在一些实施例中,第二质量水平可以是比第一质量水平更低的质量水平,并且处理器可能已经向实时上行链路流式传输宿计算设备指示:在出现收视时,存在针对媒体内容的较低时延要求(即,允许较少的延迟),例如在方块404 中在用于发送对要提供的实时上行链路媒体流的指示的信令中。作为示例,较低的时延要求可以是较低的端到端时延要求、较低的处理时延要求、较低的上行链路时延要求、较低的下行链路时延要求等。以这种方式,实时上行链路流式传输源计算设备可以用媒体内容的质量水平的下降来换取对媒体向实时上行链路流式传输观看计算设备的传送时的较低延迟保证。在一些实施例中,第二质量水平可以是媒体内容的低比特率编码。
在方块608中,处理器可以向实时上行链路流式传输宿计算设备发送经编码媒体。可以通过不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、 MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送经编码的媒体内容。
图7示出了用于实时上行链路流式传输服务中的上行链路传送的实施例方法700。方法700的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。
参考图1-图7,在方块402、404、406和422中,处理器可以执行所描述的方法400的相同编号的方块的操作。响应于确定收视指示不足以用于分发(即,确定块410=“否”),处理器可以在方块702中以第一比特率发送经编码媒体。响应于确定收视指示足以用于分发(即,确定块410=“是”),处理器可以在方块704中以第二比特率发送经编码媒体。在一些实施例中,第一比特率可以高于第二比特率。实时上行链路流式传输源计算设备最初可以使用第一比特率(例如,较高比特率)来上传媒体内容,并且可以向实时上行链路流式传输宿计算设备发信号通知:当缺乏收视时,存在针对媒体内容的放宽的时延要求。作为示例,放宽的时延要求可以是放宽的端到端时延要求、放宽的处理时延要求、放宽的上行链路时延要求、放宽的下行链路时延要求等。响应于确定至少一个或多个实时上行链路流式传输观看计算设备订阅实时上行链路流式传输会话,实时上行链路流式传输源计算设备可以使用第二比特率(例如,较低比特率)用于上传,并且向实时上行链路流式传输宿计算设备发信号通知针对媒体内容使用较低的时延要求。作为示例,较低的时延要求可以是较低的端到端时延要求、较低的处理时延要求、较低的上行链路时延要求、较低的下行链路时延要求等。以这种方式,实时上行链路流式传输源计算设备可以用上传比特率的下降来换取对媒体向实时上行链路流式传输观看计算设备的传送时的较低延迟保证。
图8示出了用于实时上行链路流式传输服务中的上行链路传送的实施例方法800。方法800的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。
参考图1-图8,在方块402和404中,处理器可以执行所描述的方法 400的相同编号的方块的操作。在方块802中,处理器可以接收针对实时上行链路媒体流的媒体内容并以第一质量水平和第二质量水平对所述媒体内容进行编码。对媒体内容进行编码可以包括:以一个或多个所选比特率对媒体内容进行采样,准备用于传输的媒体内容,对媒体内容进行格式化等。在实施例中,第一质量水平可以是较低质量水平,并且第二质量水平可以是较高质量水平。例如,第一质量水平可以是比第二质量水平的编码比特率更低的编码比特率。
在方块804中,处理器可以发送以第一质量水平编码的媒体内容。可以通过不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术 (包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送以第一质量水平编码的媒体内容。在方块806中,处理器可以对以第二质量水平编码的媒体内容进行缓存。对以第二质量水平编码的媒体内容进行缓存可以包括:将以第二质量水平编码的媒体内容存储在实时上行链路流式传输源计算设备的存储器(例如,传输缓冲器)中。
在确定块808中,处理器可以确定实时流式传输会话是否完成。例如,处理器可以确定用户是否已经停止了媒体捕捉以确定实时流式传输会话是否完成。响应于确定实时流式传输会话正在进行(即,确定块808=“否”),处理器可以在方块802中继续接收针对实时上行链路媒体流的媒体内容并以第一质量水平和第二质量水平对其进行编码。响应于确定实时流式传输会话完成(即,确定块808=“是”),处理器可以在方块810中发送缓存的以第二质量水平编码的媒体内容。可以通过不同的基于HTTP和/或基于 IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、 HLS、MMTP、UDP、MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送缓存的以第二质量水平编码的媒体内容。在各个实施例中,可以在非保证比特率(非GBR)承载上发送缓存的以第二质量水平编码的媒体内容。
图9示出了用于实时上行链路流式传输服务中的上行链路传送的实施例方法900。参考图1-图9,方法900的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。
在方块402和404中,处理器可以执行所描述的方法400的相同编号的方块的操作,并且在方块802中,处理器可以执行所描述的方法800的相同编号的方块的操作。在方块904中,处理器可以以第一比特率发送以第一质量水平编码的媒体内容。在方块906中,处理器可以以第二比特率发送以第二质量水平编码的媒体内容。以这种方式,可以并行发送以第一和第二质量水平编码的媒体内容。可以通过不同的基于HTTP和/或基于 IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI等)中的任何一者向实时上行链路流式传输宿计算设备发送以第一和第二质量水平编码的媒体内容。第一比特率可以是传输比特率,其高于、低于或等于作为第二比特率的传输比特率。作为第一比特率的传输比特率可以基于由网络和用于传输的加载小区对每个媒体流的不同处理来高于、低于或等于作为第二比特率的传输比特率。在一些实施例中,对以第二质量水平编码的媒体内容的传输可以是后台进程的一部分。在各个实施例中,对以第二质量水平编码的媒体内容的传输可以在非保证比特率(非GBR)承载或另一个最大努力类型的承载上。
图10示出了用于实时上行链路流式传输的实施例方法1000。方法1000 的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1000的操作可以结合方法400(图4)、500(图5)、600(图6)、700(图7)、800(图 8)和900(图9)中的任何方法的操作来执行。
参考图1-图10,处理器可以接收对要提供的实时上行链路媒体流的指示。可以从实时上行链路流式传输源计算设备和/或从服务器(例如实时上行链路流式传输服务提供方的服务器)接收对要提供的实时上行链路媒体流的指示。对要提供的实时上行链路媒体流的指示可以标识实时上行链路流式传输会话的一个或多个属性、可以标识要在实时上行链路流式传输会话中上传的媒体内容的特性、可以指示实时上行链路流式传输源计算设备的位置、可以指示针对实时上行链路流式传输会话的时延要求(例如,端到端时延要求、处理时延要求、上行链路时延要求、下行链路时延要求、上行链路时延要求等)、可以指示要用于实时上行链路流式传输会话的传输和/或缓存方案等。
在方块1004中,处理器可以确定一个或多个实时上行链路流式传输会话属性。实时上行链路流式传输会话属性可以是用于指示针对上行链路流式传输会话的媒体内容将如何被实时上行链路流式传输宿计算设备处理的要求。例如,实时上行链路流式传输会话属性可以指示针对实时上行链路流式传输会话的时延要求,可以指示实时上行链路流式传输会话的主题,可以指示针对实时上行链路流式传输会话的QoS要求,可以指示将要由实时上行链路流式传输源计算设备用于实时上行链路流式传输会话的传输和/ 或缓存方案,可以指示将要用于实时上行链路流式传输会话的格式,可以指示将要用于实时上行链路流式传输会话的分辨率,可以指示将要用于实时上行链路流式传输会话的图像拼接等。处理器可以基于在实时上行链路流式传输宿计算设备处的设置、来自实时上行链路流式传输源计算设备的信令和/或来自另一个计算设备(例如实时上行链路流式传输服务提供方的服务器)的信令等,来确定一个或多个实时上行链路流式传输会话属性。
在方块1006中,处理器可以通告实时上行链路流式传输会话。例如,处理器可以指示实时上行链路流式传输会话可用于到一个或多个实时上行链路流式传输观看计算设备的观看。
在方块1008中,服务器可以接收辅助数据。辅助数据可以是由与实时上行链路流式传输服务相关联的实时上行链路流式传输宿计算设备接收的数据。辅助数据可以包括针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的受欢迎程度信息。辅助数据可以包括针对实时上行链路流式传输会话的收视/交互信息,例如订阅的实时上行链路流式传输观看计算设备的数量、对订阅的实时上行链路流式传输观看计算设备的参与水平的指示、关于一个或多个实时上行链路流式传输观看计算设备订阅了实时上行链路流式传输会话的指示、关于一个或多个实时上行链路流式传输观看计算设备从实时上行链路流式传输会话解除订阅的指示等。辅助数据可以包括实时上行链路流式传输源计算设备的位置信息,例如位置数据(例如,纬度和经度、国家、邮政编码、地理区域、区、民用位置 (比如街道、街区、邻里、建筑物和/或地标等))、一个或多个实时上行链路流式传输观看计算设备的位置数据等。辅助数据可以包括网络条件数据,例如单播网络负载信息、错误率、网络设备状态、传送时间、端到端延迟估计等。辅助数据可以包括内容特征,诸如感知的接收需求、实际接收需求、收视历史、估计的观众规模、基于相关位置和收视历史的估计的观众规模等。辅助数据可以包括关于针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的QoS要求的输入元数据,所述QoS要求例如允许的端到端传送时延、目标数据速率、目标错误率、要求的数据速率、延迟设置、网络策略信息、观看质量设置等。辅助数据可以包括来自一个或多个实时上行链路流式传输观看计算设备的应用级数据。在各个实施例中,可以在实时上行链路流式传输宿计算设备处从一个或多个源接收辅助数据。举例来说,辅助数据的源可以是属于用于提供实时上行链路流式传输宿计算设备的相同网络运营商的网络实体,辅助数据的源可以是实时上行链路流式传输服务提供方的第三方应用服务器,和/或辅助数据的源可以是实时上行链路流式传输观看计算设备。可以通过各种网络接口来发送辅助数据。举例来说,在3GPP网络的情况下,当辅助数据源自第三方应用服务提供方时,这样的接口可以是3GPP TS 29.122中定义的T8参考点、 3GPP TS29.116中定义的xMB参考点、3GPP TS 23.501中定义的N33参考点等。
在确定块1010中,处理器可以确定辅助数据是否指示会话的一个或多个观看者。例如,处理器可以确定辅助数据是否指示至少一个实时上行链路流式传输观看计算设备订阅或以其它方式调谐到实时上行链路流式传输会话,以确定辅助数据是否指示会话的一个或多个观看者。响应于确定辅助数据没有指示会话的任何观看者(即,确定块1010=“否”),处理器可以在方块1010中继续确定辅助数据是否指示会话的一个或多个观看者。
响应于确定辅助数据的确指示了会话的一个或多个观看者(即,确定块1010=“是”),处理器可以在方块1012中生成并发送收视指示。在各个实施例中,可以生成收视指示并将所述收视指示从实时上行链路流式传输宿计算设备发送到实时上行链路流式传输源计算设备。收视指示可以是用于指示下文的消息:一个或多个实时上行链路流式传输观看计算设备已经订阅与实时上行链路流式传输源计算设备相关联的实时上行链路流式传输会话。作为一个示例,收视指示可以是诸如控制消息的消息,其指示至少一个实时上行链路流式传输观看计算设备已经订阅实时上行链路流式传输会话。收视指示可以包括用于指示订阅的实时上行链路流式传输观看计算设备的总数的属性。
在方块1014中,处理器可以从与实时上行链路流式传输会话相关联的实时上行链路流式传输源计算设备接收经编码的媒体内容。可以经由不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术(包括RTMP、 MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI等)中的任何一者来接收经编码的媒体内容。
在方块1016中,处理器可以根据所确定的一个或多个会话属性来对所接收的经编码的媒体内容进行处理。对所接收的经编码的媒体内容执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。所确定的会话属性可以定义处理的优先级。例如,低时延要求可以导致针对某些流的经编码的媒体内容在针对具有较高时延要求的流的经编码的媒体内容之前被处理。
在方块1018中,处理器可以分发经处理的媒体内容。处理器可以使用一种或多种传送方法来分发经处理的媒体内容。例如,处理器可以经由单播传送方法、广播传送方法和/或单播传送方法和广播传送方法这二者来分发经处理的媒体内容。在一些实施例中,可以为媒体流预先选择用于分发经处理的媒体内容的传送方法。在一些实施例中,可以动态地选择用于分发经处理的媒体内容的传送方法。例如,实时上行链路流式传输宿计算设备可以在单播和广播传送方法之间切换。在单播和广播传送方法之间的切换可以以类似于3GPP TS 26.346中定义的针对MooD的切换的方式来进行。在各个实施例中,实时上行链路流式传输宿计算设备可以使用一个或多个选择的传送方法来向一个或多个实时上行链路流式传输观看计算设备分发经处理媒体。单播传送方法可以包括PSS传送。广播传送方法可以包括 MBMS传送。在各个实施例中,实时上行链路流式传输宿计算设备可以根据一个或多个所确定的会话属性(例如,时延要求(例如,端到端时延要求、下行链路时延要求等)、QoS要求等)来分发经处理的媒体内容。例如,低时延要求可以导致针对某些流的经处理的媒体内容在针对具有较高时延要求的流的经处理的媒体内容之前,由实时上行链路流式传输宿计算设备发送到实时上行链路流式传输观看计算设备。
处理器可以通过连续地执行方块1014、1016和1018的操作来连续地接收、处理和分发媒体内容。
图11示出了用于实时上行链路流式传输的实施例方法1100。方法1100 的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1100的操作可以结合方法400(图4)、500(图5)、600(图6)、700(图7)、800(图8)和900(图9)中的任何方法的操作来执行。
参考图1-图11,在方块1002、1004和1006中,处理器可以执行所描述的方法1000的相同编号的方块的操作。在方块1102中,处理器可以从与实时上行链路流式传输会话相关联的实时上行链路流式传输源计算设备接收经编码的媒体内容。可以经由不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI等)中的任何一者来接收经编码的媒体内容。
在方块1104中,处理器可以根据所确定的一个或多个会话属性来对所接收的经编码的媒体内容进行处理。对所接收的经编码的媒体内容执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。所确定的会话属性可以定义用于处理的优先级。例如,低时延要求可能导致针对某些流的经编码的媒体内容在针对具有较高时延要求的流的经编码的媒体内容之前被处理。
在方块1106中,处理器可以对经处理的媒体内容进行缓存。对经处理的媒体内容进行缓存可以包括:将经处理的媒体内容存储在实时上行链路流式传输宿计算设备的存储器(例如,缓冲器)中。
在方块1008、1010和1012中,处理器可以执行所描述的方法1000的相同编号的方块的操作。在方块1108中,处理器可以分发缓存的经处理的媒体内容。处理器可以使用一种或多种传送方法来分发缓存的经处理的媒体内容。例如,处理器可以经由单播传送方法、广播传送方法和/或单播传送方法和广播传送方法这二者来分发缓存的经处理的媒体内容。在一些实施例中,可以为媒体流预先选择用于分发缓存的经处理的媒体内容的传送方法。在一些实施例中,可以动态地选择用于分发缓存的经处理的媒体内容的传送方法。例如,实时上行链路流式传输宿计算设备可以在单播和广播传送方法之间切换。在单播和广播传送方法之间的切换可以以类似于 3GPP TS 26.346中定义的针对MooD的切换的方式来进行。在各个实施例中,实时上行链路流式传输宿计算设备可以使用一个或多个选择的传送方法来向一个或多个实时上行链路流式传输观看计算设备分发缓存的经处理媒体。单播传送方法可以包括PSS传送。广播传送方法可以包括MBMS传送。在各个实施例中,实时上行链路流式传输宿计算设备可以根据一个或多个所确定的会话属性(例如,时延要求(例如,端到端时延要求、下行链路时延要求等)、QoS要求等)来分发缓存的经处理的媒体内容。例如,低时延要求可以导致针对某些流的媒体内容在针对具有较高时延要求的流的媒体内容之前,由实时上行链路流式传输宿计算设备发送到实时上行链路流式传输观看计算设备。
在方块1014、1016和1018中,处理器可以执行所描述的方法1000的相同编号的方块的操作。
图12示出了用于实时上行链路流式传输的实施例方法1200。参考图 1-图12,方法1200的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1200的操作可以结合方法400(图4)、500(图5)、600(图6)、700 (图7)、800(图8)和900(图9)中的任何方法的操作来执行。
在方块1002、1004、1006和1102中,处理器可以执行所描述的方法 1100的相同编号的方块的操作。在方块1202中,处理器可以根据一个或多个所确定的会话属性,以第一时延要求来对所接收的经编码的媒体内容进行处理。对所接收的经编码的媒体内容执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。所确定的会话属性可以定义用于处理的优先级。例如,低时延要求可能导致针对某些流的经编码的媒体内容在针对具有较高时延要求的流的经编码的媒体内容之前被处理。在各个实施例中,第一时延要求可以是较高时延要求,其将用于对所接收的经编码的媒体内容的处理的优先级定义为与具有较低时延要求的流相比更低的优先级。以这种方式,处理器最初可以将较少的处理资源应用于经编码的媒体内容。
在方块1008、1010、1012、1108和1014中,处理器可以执行所描述的方法1100的相同编号的方块的操作。在方块1204中,处理器可以根据一个或多个所确定的会话属性,以第二时延要求来对所接收的经编码的媒体内容进行处理。对所接收的经编码的媒体内容执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。所确定的会话属性可以定义用于处理的优先级。例如,低时延要求可能导致针对某些流的经编码的媒体内容在针对具有较高时延要求的流的经编码的媒体内容之前被处理。在各个实施例中,第二时延要求可以是与方块1202的处理中所使用的不同的时延要求。在一些实施例中,第二时延要求可以是较低时延要求,其将用于对所接收的经编码的媒体内容进行处理的优先级定义为与第一时延要求的优先级相比的较高优先级。以这种方式,在辅助数据分析(或下行链路数据分析)指示针对会话的实际观看者之后,处理器可以将更多处理资源应用于经编码的媒体内容。
在方块1018中,处理器可以执行方法1000的相同编号的操作。
图13A示出了用于实时上行链路流式传输的实施例方法1300。方法 1300的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1300的操作可以结合方法400(图4)、500(图5)、600(图6)、700(图7)、800 (图8)和900(图9)中的任何方法的操作来执行。
参考图1-图13A,在方块1002、1004和1006中,处理器可以执行所描述的方法1000的相同编号的方块的操作。在方块1302中,处理器可以从与实时上行链路流式传输会话相关联的实时上行链路流式传输源计算设备接收以第一质量水平编码的媒体内容。可以经由不同的基于HTTP和/或基于IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、HLS、MMTP、UDP、MTSI等)中的任何一者来接收以第一质量水平编码的媒体内容。
在方块1304中,处理器可以根据所确定的一个或多个会话属性来对所接收的以第一质量编码的媒体内容进行处理。对所接收的以第一质量水平编码的媒体内容执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。所确定的会话属性可以定义用于处理的优先级。例如,低时延要求可能导致针对某些流的经编码的媒体内容在针对具有较高时延要求的流的经编码的媒体内容之前被处理。
在方块1306中,处理器可以分发经处理的第一质量水平的媒体内容。处理器可以使用一种或多种传送方法来分发经处理的第一质量水平的媒体内容。例如,处理器可以经由单播传送方法、广播传送方法和/或单播传送方法和广播传送方法这二者来分发经处理的媒体内容。在一些实施例中,可以为媒体流预先选择用于分发经处理的媒体内容的传送方法。在一些实施例中,可以动态地选择用于分发经处理的媒体内容的传送方法。例如,实时上行链路流式传输宿计算设备可以在单播和广播传送方法之间切换。在单播和广播传送方法之间的切换可以以类似于3GPP TS 26.346中定义的针对MooD的切换的方式来进行。在各个实施例中,实时上行链路流式传输宿计算设备可以使用一个或多个所选择的传送方法来向一个或多个实时上行链路流式传输观看计算设备分发经处理媒体。单播传送方法可以包括 PSS传送。广播传送方法可以包括MBMS传送。在各个实施例中,实时上行链路流式传输宿计算设备可以根据一个或多个所确定的会话属性(例如,时延要求(例如,端到端时延要求、下行链路时延要求等)、QoS要求等) 来分发经处理的第一质量水平的媒体内容。例如,低时延要求可以导致针对某些流的媒体内容在针对具有较高时延要求的流的媒体内容之前由实时上行链路流式传输宿计算设备发送到实时上行链路流式传输观看计算设备。
在确定块1308中,处理器可以确定会话是否完成。例如,处理器可以确定是否接收到结束会话指示以确定会话是否完成。响应于确定会话正在进行(即,确定块1308=“否”),处理器可以在方块1302处继续接收以第一质量水平编码的媒体内容。
响应于确定会话完成(即,确定块1308=“是”),处理器可以在方块 1310中从与实时上行链路流式传输会话相关联的实时上行链路流式传输源计算设备接收以第二质量水平编码的媒体内容。以第二质量水平编码的媒体内容可以是以与第一质量编码的媒体内容不同的质量水平(例如,不同的编码比特率等)编码的媒体内容。在一些实施例中,第二质量水平可以是比第一质量水平更高的质量水平。可以经由不同的基于HTTP和/或基于 IMS多媒体电话技术的流式传输技术(包括RTMP、MPEGDASH、CMAF、 HLS、MMTP、UDP、MTSI等)中的任何一者来接收以第二质量水平编码的媒体内容。
在方块1312中,处理器可以根据所确定的一个或多个会话属性来对所接收的以第二质量水平编码的媒体内容进行处理。对所接收的以第二质量水平编码的媒体内容执行的处理可以包括:转码、媒体重新格式化、媒体组合、应用编解码器、改变编解码器配置文件或级别、改变分辨率、改变帧速率、改变比特率、媒体拼接、混合和/或其它类型的处理。所确定的会话属性可以定义用于处理的优先级。例如,低时延要求可能导致针对某些流的经编码的媒体内容在针对具有较高时延要求的流的经编码的媒体内容之前被处理。在第二质量水平低于第一质量水平的实施例中,处理以第二质量水平编码的媒体可以花费比对以第一质量水平编码的媒体的处理更少的时间。在第二质量水平高于第一质量水平的实施例中,处理以第二质量水平编码的媒体可以花费比对以第一质量水平编码的媒体的处理更多的时间。在一些实施例中,处理以第二质量水平编码的媒体内容可以被给予比处理以第一质量水平编码的媒体内容数据更低的优先级。
在方块1314中,处理器可以对经处理的第二质量水平的媒体内容进行缓存。对经处理的第二质量水平的媒体内容进行缓存可以包括:将经处理的第二质量水平的媒体内容存储在实时上行链路流式传输宿计算设备的存储器(例如,缓冲器)中。以这种方式,可以在稍后时间将缓存的经处理的第二质量水平的媒体内容作为视频点播内容来提供。
图13B示出了用于实时上行链路流式传输的实施例方法1350。方法 1350的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1350的操作可以结合方法400(图4)、500(图5)、600(图6)、700(图7)、800 (图8)和900(图9)中的任何方法的操作来执行。
参考图1-图13B,在方块1002、1004和1006中,处理器可以执行所描述的方法1000的相同编号的方块的操作。在一些实施例中,对要提供的实时上行链路媒体流的指示和/或实时上行链路流式传输会话属性可以指示:实时上行链路流式传输源计算设备正在请求实时上行链路流式传输源计算设备存储针对实时上行链路流式传输会话的经处理的媒体内容的副本,以用于在实时上行链路流式传输会话完成之后向请求该内容的观看者进行分发。在这样的实施例中,实时上行链路流式传输宿计算设备可以在处理媒体内容时对媒体内容的副本进行缓存,以用于在实时流式传输会话完成之后向观看者分发。
在方块1302、1304和1306中,处理器可以执行所描述的方法1300的相同编号的方块的操作。在方块1352中,处理器可以对经处理的第一质量水平的媒体内容的副本进行缓存。对经处理的第一质量水平的媒体内容进行缓存可以包括:将经处理的第一质量水平的媒体内容存储在实时上行链路流式传输宿计算设备的存储器(例如,缓冲器)中。以这种方式,可以在稍后时间向在会话完成之后请求该内容的观看者提供缓存的经处理的第一质量水平的媒体内容。例如,可以在会话完成之后将缓存的经处理的第一质量水平的媒体内容作为视频点播内容提供给观看者。
在确定块1308中,处理器可以执行所描述的方法1300的相同编号的方块的操作。响应于确定会话完成(即,确定块1308=“是”),处理器可以在方块1354中按照请求来分发经处理的第一质量水平的媒体内容的一个或多个缓存的副本。以这种方式,可以在稍后时间向在会话完成之后请求该内容的观看者提供缓存的经处理的第一质量水平的媒体内容。例如,可以在会话完成之后将缓存的经处理的第一质量水平的媒体内容作为视频点播内容提供给观看者。在各个实施例中,实时上行链路流式传输宿计算设备可以根据一个或多个所确定的会话属性(例如,时延要求(例如,端到端时延要求、下行链路时延要求等)、QoS要求等)来分发缓存的经处理的媒体内容的副本。例如,低时延要求可以导致针对某些流的媒体内容在针对具有较高时延要求的流的媒体内容之前由实时上行链路流式传输宿计算设备发送到实时上行链路流式传输观看计算设备。
图14示出了用于实时上行链路流式传输的实施例方法1400。方法1400 的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1400的操作可以结合方法400(图4)、500(图5)、600(图6)、700(图7)、800(图 8)和900(图9)中的任何方法的操作来执行。方法1400可以与参考图13A描述的方法1300类似,除了在方法1400中,处理器可以不等待会话的完成来处理和缓存第二质量水平媒体内容。
参考图1-图14,在方块1302、1310、1304、1312、1306和1314中,处理器可以执行所描述的方法1300的相同编号的方块的操作。
图15示出了用于在实时上行链路流式传输服务中分发媒体的实施例方法1500。参考图1-图15,方法1400的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1500的操作可以作为方法1000(图10)、1100(图 11)、1200(图12)、1300(图13A)、1350(图13B)和1400(图14)中的任何方法中用于分发经处理的媒体内容的操作的一部分来执行。
在方块1502中,服务器可以接收辅助数据。辅助数据可以是由与实时上行链路流式传输服务相关联的实时上行链路流式传输宿计算设备接收的数据。辅助数据可以包括针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的受欢迎程度信息。辅助数据可以包括针对实时上行链路流式传输会话的收视/交互信息,例如订阅的实时上行链路流式传输观看计算设备的数量、对订阅的实时上行链路流式传输观看计算设备的参与水平的指示、关于一个或多个实时上行链路流式传输观看计算设备订阅了实时上行链路流式传输会话的指示、关于一个或多个实时上行链路流式传输观看计算设备从实时上行链路流式传输会话解除订阅的指示等。辅助数据可以包括实时上行链路流式传输源计算设备的位置信息,例如位置数据(例如,纬度和经度、国家、邮政编码、地理区域、区、民用位置 (比如街道、街区、邻里、建筑物和/或地标等))、一个或多个实时上行链路流式传输观看计算设备的位置数据等。辅助数据可以包括网络条件数据,例如单播网络负载信息、错误率、网络设备状态、传送时间、端到端延迟估计等。辅助数据可以包括内容特征,诸如感知的接收需求、实际接收需求、收视历史、估计的观众规模、基于相关位置和收视历史的估计的观众规模等。辅助数据可以包括关于针对实时上行链路流式传输服务和/或一个或多个实时上行链路流式传输会话的QoS要求的输入元数据,所述QoS要求例如允许的端到端传送时延、目标数据速率、目标错误率、要求的数据速率、延迟设置、网络策略信息、观看质量设置等。辅助数据可以包括来自一个或多个实时上行链路流式传输观看计算设备的应用级数据。在各个实施例中,可以在实时上行链路流式传输宿计算设备处从一个或多个源接收辅助数据。举例来说,辅助数据的源可以是属于用于提供实时上行链路流式传输宿计算设备的相同网络运营商的网络实体,辅助数据的源可以是实时上行链路流式传输服务提供方的第三方应用服务器,和/或辅助数据的源可以是实时上行链路流式传输观看计算设备。可以通过各种网络接口来发送辅助数据。举例来说,在3GPP网络的情况下,当辅助数据源自第三方应用服务提供方时,这样的接口可以是3GPP TS 29.122中定义的T8参考点、 3GPP TS29.116中定义的xMB参考点、3GPP TS 23.501中定义的N33参考点等。
在方块1504中,处理器可以至少部分地基于辅助数据来为经处理的媒体内容选择一种或多种传送方法。在各个实施例中,一种或多种传送方法可以是单播传送方法、广播传送方法,和/或单播和广播传送方法二者。在一些实施例中,对用于将内容分发到实时上行链路流式传输观看计算设备的单播传送方法或广播传送方法的选择可以是静态选择,例如基于对实时上行链路流式传输宿计算设备的预先配置的、在实时上行链路流式传输会话开始时做出的选择。在一些实施例中,对用于将内容分发到实时上行链路流式传输观看计算设备的单播传送方法或广播传送方法的选择可以是动态选择,诸如在实时上行链路流式传输会话期间进行多于一次的选择。例如,实时上行链路流式传输宿计算设备可以在单播和广播传送方法之间切换。在单播和广播传送方法之间的切换可以以类似于在3GPP技术规范(TS) 26.346中定义的MBMS按需操作(MooD)的方式来进行。在一些实施例中,单播传送可以经由PSS。在一些实施例中,广播传送可以经由MBMS。作为一个示例,当订阅会话的实时上行链路流式传输观看计算设备的数量低时,处理器可以选择单播传送方法,因为向较少计算设备的单播传送可能不会给单播容量造成压力。作为另一个示例,当订阅会话的实时上行链路流式传输观看计算设备的数量高时,处理器可以选择广播传送方法,因为网络中的单播容量可能不利于在满足针对会话的QoS目标的同时支持大量的观看计算设备。
在方块1506中,处理器可以使用一种或多种选择的传送方法来发送经处理的媒体内容。在各个实施例中,实时上行链路流式传输宿计算设备可以根据一个或多个确定的会话属性(例如,时延要求(例如,端到端时延要求、下行链路时延要求等)、QoS要求等),使用一个或多个选择的传送方法来发送经处理的媒体内容。例如,低时延要求可以导致针对某些流的媒体内容在针对具有较高时延要求的流的媒体内容之前由实时上行链路流式传输宿计算设备发送到实时上行链路流式传输观看计算设备。
图16是示出用于实时上行链路流式传输的实施例方法1600的过程流程图。参考图1-图16,方法1600的操作可以由实时上行链路流式传输观看计算设备(例如实时上行链路流式传输观看计算设备116、119)的处理器执行。在各个实施例中,方法1600的操作可以结合方法400(图4)、500 (图5)、600(图6)、700(图7)、800(图8)、900(图9)、1000(图10)、 1100(图11)、1200(图12)、1300(图13A)、1350(图13B)、1400(图 14)和1500(图15)中的任意方法来执行。
在方块1602中,处理器可以接收对实时上行链路流式传输会话的通告。例如,通告可以是用于指示实时上行链路流式传输会话是可用于订阅的或以其它方式调谐到的消息。
在方块1604中,处理器可以订阅实时上行链路流式传输会话。例如,处理器可以发送用于请求针对流式传输会话的媒体内容的消息。在方块 1606中,服务器可以发送辅助数据。辅助数据可以包括实时上行链路流式传输观看计算设备的数据位置信息,例如位置数据(例如,纬度和经度、国家、邮政编码、地理区域、区、民用位置,比如街道、街区、邻里、建筑物和/或地标等)。辅助数据可以包括针对实时上行链路流式传输观看计算设备的收视历史数据。
在方块1608中,处理器可以从实时上行链路流式传输宿计算设备接收经处理的媒体内容。可以经由单播传送方法或广播传送方法来接收经处理的媒体内容。例如,经处理的媒体内容可以经由单播PSS传送来接收,或者可以经由广播MBMS传送来接收。在一些实施例中,传送方法可以在实时上行链路流式传输会话期间改变。例如,传送方法可以从单播转换到广播或者从广播转换到单播。
在方块1610中,处理器可以在实时上行链路流式传输宿计算设备上显示经处理媒体。
在方块1612中,服务器可以发送辅助数据。辅助数据可以包括实时上行链路流式传输观看计算设备的数据位置信息,例如位置数据(例如,纬度和经度、国家、邮政编码、地理区域、区、民用位置,比如街道、街区、邻里、建筑物和/或地标等)。辅助数据可以包括用于实时上行链路流式传输观看计算设备的收视历史数据,例如媒体的播放是否被暂停等。辅助数据可以包括对用户参与媒体内容的指示。辅助数据可以包括关于对媒体内容的接收和/或播放的QoS度量,例如错误率等。
图17示出了用于实时上行链路流式传输的实施例方法1700。参考图 1-图17,方法1700的操作可以由实时上行链路流式传输宿计算设备(例如实时上行链路流式传输宿计算设备112)的处理器执行。在各个实施例中,方法1700的操作可以结合方法400(图4)、500(图5)、600(图6)、700 (图7)、800(图8)、900(图9)、1000(图10)、1100(图11)、1200(图 12)、1300(图13A)、1350(图13B)、1400(图14)、1500(图15)和1600 (图16)中的任意方法来执行。
在方块1702中,处理器可以监测与实时流式传输相关联的一个或多个条件。与实时流式传输相关联的条件可以包括影响实时流式传输的各种条件,例如收视条件、交互条件、网络条件、处理条件、连接条件和/或分发条件中的一项或多项。连接条件的示例可以是由实时上行链路流式传输宿计算设备用于发送媒体内容可用的带宽/传输比特率,或者将要由实时上行链路流式传输宿计算设备在发送媒体内容时引起的预期的延迟。分发条件的示例可以是对由实时上行链路流式传输宿设备向接收方观看者发送的、对流式传输内容的下行链路传送是采用单播、多播还是广播技术的指示。可以至少部分地基于辅助数据和/或由各种源接收和/或生成的其它信息来监测条件。
在确定块1704中,处理器可以确定是否正在发生用于控制上行链路行为的条件。实时上行链路流式传输宿计算设备可以基于一个或多个监测的条件来确定是否正在发生用于控制上行链路行为的条件。在各个实施例中,实时上行链路流式传输宿计算设备和/或与实时上行链路流式传输宿计算设备相通信的各种源和/或功能可以指示一个或多个条件,并且实时上行链路流式传输宿计算设备可以将那些条件转化为用于控制和/或引导实时上行链路流式传输源计算设备的发送行为的动作/原因对。作为示例,实时上行链路流式传输宿计算设备可以将一个或多个条件与存储器中将条件与请求的动作和原因进行相关的表进行比较,并且响应于确定在两个条件之间的匹配,实时上行链路流式传输宿计算设备可以确定正在发生用于控制和/或引导实时上行链路流式传输源计算设备的发送行为的一个或多个条件。
响应于确定没有发生用于控制上行链路行为的条件(即,确定块1704=“否”),处理器可以在方块1702中继续监测与实时流式传输相关联的条件。
响应于确定正在发生用于控制上行链路行为的条件(即,确定块1704=“是”),处理器可以在方块1706中生成并发送请求的动作消息。请求的动作消息可以是从实时上行链路流式传输宿计算设备发送到实时上行链路流式传输源计算设备的一类型的控制消息,所述控制消息用于控制或引导实时上行链路流式传输源计算设备在对经编码的媒体内容的传输中的行为。在各个实施例中,请求的动作消息可以是用于指示下文的消息:针对实时上行链路流式传输源计算设备要采取的一个或多个请求的动作,以及针对实时上行链路流式传输宿计算设备请求实时上行链路流式传输源计算设备采取该一个或多个请求的动作的一个或多个相关联原因。可以在请求的动作消息中指示的示例动作可以包括:在实时上行链路流式传输源计算设备处对经编码的媒体内容进行缓存,从实时上行链路流式传输源计算设备发送经编码的媒体内容,改变由实时上行链路流式传输源计算设备以其来对媒体内容进行编码的质量水平,改变由实时上行链路流式传输源计算设备用于发送经编码的媒体内容的传输比特率等。可以在请求的动作消息中指示的示例原因可以包括:网络拥塞、QoS要求、收视缺失、收视存在、当前(或预期)参与存在、可用的非保证比特率(非GBR)承载上的过量带宽等。请求的动作以及针对该请求的动作的相关联原因可以是动作/原因对。在各个实施例中,请求的动作消息可以包括对动作/原因对的指示,例如在消息主体中、在消息报头中等。在各个实施例中,对动作/原因对的指示可以是动作和原因代码。在各个实施例中,对动作/原因对的指示可以在请求的动作消息中被指示为可选的或强制的。例如,可以将可选的动作/原因对标识为辅助类型消息。作为另一个示例,可以将强制消息标识为执行类型消息。作为示例,请求的动作消息可以包括对与被确定为要发生的一个或多个条件相关联/相关的动作/原因对的指示。在各个实施例中,请求的动作消息可以针对原因指示多于一个的动作,针对动作指示多于一个的原因,和/或多于一个的动作和多于一个的原因对。在请求的动作消息中指示了多于一个动作的实施例中,可以将一个动作指示为强制的而将另一个动作指示为可选的。在请求的动作消息中指示了两个或更多个动作的实施例中,可以给予强制动作优先于可选动作的用于实现的偏好。
作为特定示例,实时上行链路流式传输宿计算设备的处理功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:正在经历高媒体处理负载。高媒体处理负载条件可以意味着实时上行链路流式传输宿计算设备暂时不能处理额外的传入流,并且具有非严格延迟要求的媒体流将被剥夺用于处理的优先权。基于高媒体处理负载条件,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有:关于当不存在观看者时,实时上行链路流式传输源计算设备应该使用较低传输比特率来发送经编码媒体的动作指示,以及对网络拥塞的原因指示。
作为另一个特定示例,实时上行链路流式传输宿计算设备的分发功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:将使用广播来向实时上行链路观看计算设备进行传送。广播传送可以意味着到接收者的保证的高质量传送。基于广播传送条件,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于用高质量编码和高传输比特率来发送媒体的动作指示以及对保证的高质量边到边传送的原因指示。
作为另一个特定示例,实时上行链路流式传输宿计算设备的收视测量功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:缺乏观看者或者存在观看者。缺乏观看者可以意味着上传完整视频剪辑是对FLUS源的浪费。存在观看者可以意味着上传是用于提供低时延“实时”体验所必需的。基于缺乏观看者,FLUS控制可以生成并发送请求的动作消息,所述请求的动作消息具有用于推迟上行链路流式传输或仅上传初始块,直到存在收视为止的动作指示,以及对缺乏收视的原因指示。基于存在观看者,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于上传缓存的完整或剩余内容的动作指示以及对存在收视的原因指示。
作为另一个特定示例,实时上行链路流式传输宿计算设备的互动参与功能可以向实时上行链路流式传输宿计算设备的FLUS控制功能提供以下信息:存在实时参与以及期望未来与内容的非实时参与。存在实时参与以及期望未来与内容的非实时参与可以意味着对在上传和边到边传送中的低时延的要求,以及对高质量存储版本的期望以用于将来观看和参与。基于存在实时参与以及期望未来与内容的非实时参与,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于对如果必要的话上传较低质量,同时请求低时延边到边传送,并且通过放松的延迟要求来并行地以高质量上传相同的内容的动作指示,具有对现在存在参与并且未来预期参与的原因指示。
作为另一个特定示例,可以向FLUS控制功能提供以下网络信息:存在过多非GBR带宽可用。过多带宽可以意味着:在缺乏观看者的情况下,使用非GBR承载的上传是可能的。基于过多带宽,FLUS控制功能可以生成并发送请求的动作消息,所述请求的动作消息具有用于在知道活动收视之前,在非GBR承载上以较低质量进行上传,并且在知道存在收视时,在GBR承载上以较高质量进行上传的动作指示,具有对非GBR带宽的可用性的原因指示。
前述具体示例是FLUS控制功能可以识别和进行的条件和转化的推荐的一些组合和排列,并且仅作为示例提供以便更好地说明各个实施例的方面,并且不意在以任何方式限制各个实施例。条件和转化的推荐的其它组合和排列可以与各个实施例一起使用,并且可以在各个示例中替换条件和转化的推荐的其它组合和排列。
图18A示出了用于实时上行链路流式传输的实施例方法1800。参考图 1-图18A,方法1800的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。在各个实施例中,方法1800的操作可以结合方法400(图4)、500(图5)、600(图6)、700 (图7)、800(图8)、900(图9)、1000(图10)、1100(图11)、1200(图 12)、1300(图13A)、1350(图13B)、1400(图14)、1500(图15)、1600 (图16)、1700(图17)中的任意方法来执行。
在方块1802中,服务器可以接收请求的动作消息。请求的动作消息可以是从实时上行链路流式传输宿计算设备发送到实时上行链路流式传输源计算设备的一类型的控制消息,所述控制消息用于控制或引导实时上行链路流式传输源计算设备在对经编码的媒体内容的传输中的行为。在各个实施例中,请求的动作消息可以是用于指示下文的消息:针对实时上行链路流式传输源计算设备要采取的一个或多个请求的动作,以及针对实时上行链路流式传输宿计算设备请求实时上行链路流式传输源计算设备采取该一个或多个请求的动作的一个或多个相关联原因。
可以在请求的动作消息中指示的示例动作可以包括:在实时上行链路流式传输源计算设备处对经编码的媒体内容进行缓存,从实时上行链路流式传输源计算设备发送经编码的媒体内容,改变由实时上行链路流式传输源计算设备以其来对媒体内容进行编码的质量水平,改变由实时上行链路流式传输源计算设备用于发送经编码的媒体内容的传输比特率等。可以在请求的动作消息中指示的示例原因可以包括:网络拥塞、QoS要求、收视缺失、收视存在、当前(或预期)参与存在、可用的非保证比特率(非GBR) 承载上的过量带宽等。请求的动作以及针对该请求的动作的相关联原因可以是动作/原因对。在各个实施例中,请求的动作消息可以包括对动作/原因对的指示,例如在消息主体中、在消息报头中等。在各个实施例中,对动作/原因对的指示可以是动作和原因代码。在各个实施例中,对动作/原因对的指示可以在请求的动作消息中被指示为可选的或强制的。例如,可以将可选的动作/原因对标识为辅助类型消息。作为另一个示例,可以将强制消息标识为执行类型消息。在各个实施例中,请求的动作消息可以针对原因指示多于一个的动作,针对动作指示多于一个的原因,和/或多于一个的动作和多于一个的原因对。在请求的动作消息中指示了多于一个动作的实施例中,可以将一个动作指示为强制的而将另一个动作指示为可选的。在请求的动作消息中指示了两个或更多个动作的实施例中,可以给予强制动作优先于可选动作的用于实现的偏好。
在确定块1804中,处理器可以确定在请求的动作消息中指示的原因是否支持采取在请求的动作消息中指示的动作。例如,实时上行链路流式传输源计算设备可以接收请求的动作消息,并且确定由动作/原因对所指示的原因是否支持采取由动作/原因对指示的动作。作为具体示例,实时上行链路流式传输源计算设备处理器可以将由动作/原因对指示的原因与用于改变存储在存储器中的行为的授权原因的列表进行比较,以及响应于由动作/原因对指示的原因与授权原因的列表中的原因相匹配,确定动作/原因对支持采取由动作/原因对指示的动作。
响应于确定原因不支持动作(即,确定块1804=“否”),处理器可以在方块1808中忽略所接收的动作消息。
响应于确定原因的确支持采取动作(即,确定块1804=“是”),处理器可以在方块1806中根据动作来实现一个或多个上行链路行为的一个或多个改变。
图18B示出了用于实时上行链路流式传输的实施例方法1850。参考图 1-图18B,方法1850的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。在各个实施例中,方法1850的操作可以结合方法400(图4)、500(图5)、600(图6)、700 (图7)、800(图8)、900(图9)、1000(图10)、1100(图11)、1200(图 12)、1300(图13A)、1350(图13B)、1400(图14)、1500(图15)、1600 (图16)和1700(图17)中的任意方法来执行。
如参考方法1800(图18A)所描述的,处理器可以在方块1802中接收请求的动作消息。在方块1852中,处理器可以监测与实时流式传输相关联的一个或多个条件。实时上行链路流式传输源计算设备处理器可以对来自多个源(例如其无线接入网、实时上行链路流式传输宿计算设备、实时上行链路流式传输观看计算设备、实时上行链路流式传输源计算设备本身等) 的状态信息进行组合,以监测与实时流式传输相关联的一个或多个条件。处理器可以监测与用于向实时上行链路流式传输宿计算设备上传经编码媒体的连接相关联的条件,例如,使用中的连接类型、可用的连接类型(例如,Wi-Fi、3G、4G、5G、保证比特率(GBR)、非保证比特率(非GBR) 等)、连接成本、连接容量、与连接相关联的优先级、连接能力等。实时上行链路流式传输源计算设备处理器可以接收与其自己的用于向实时上行链路流式传输宿计算设备上传经编码媒体的连接相关联的连接数据。例如,连接数据可以包括小区位置信息(例如,小区边缘、小区中心等)、网络状态信息等。另外,实时上行链路流式传输源计算设备处理器可以基于在来自实时上行链路流式传输宿计算设备的控制消息中提供的辅助数据来监测条件,例如收视条件、交互条件、网络条件、处理条件和分发条件。
在确定块1854中,处理器可以确定一个或多个条件和请求的动作消息中指示的原因是否支持采取请求的动作消息中指示的动作。用于确定一个或多个条件和所指示的原因是否支持采取动作的操作可以与在方法1800 (图18A)的方块1804中执行的操作类似,除了也可以连同原因一起来考虑条件。以这种方式,实时上行链路流式传输源计算设备处理器可以对在实时上行链路流式传输源计算设备处监测的条件(例如,自己的无线接入网连接状态、连接成本、连接能力等)和影响实时上行链路流式传输宿计算设备处的上行链路流式传输服务的条件(例如,处理延迟、网络拥塞等) 进行平衡。
响应于确定一个或多个条件和请求的动作消息中指示的原因支持采取请求的动作消息中指示的动作(即,确定块1854=“是”),处理器可以在方块1806中根据参考方法1800(图18A)描述的动作实现一个或多个上行链路行为的一个或多个改变。
响应于确定一个或多个条件以及在请求的动作消息中指示的原因不支持采取在请求的动作消息中指示的动作(即,确定块1854=“是”),处理器可以在确定块1856中确定一个或多个条件以及在请求的动作消息中指示的原因是否支持采取替代动作。替代动作可以是与请求的动作消息中指示的动作不同的动作。替代动作可以是被选择为以与请求的动作消息中指示的动作不同的方式来实现与请求的动作消息中指示的原因相关联的相同或相似的隐含目标的动作。
响应于确定一个或多个条件和请求的动作消息中指示的原因不支持采取替代的动作(即,确定块1804=“否”),处理器可以在方块1808中忽略参考方法1800(图18A)描述的所接收的动作消息。
响应于确定一个或多个条件和请求的动作消息中指示的原因支持采取替代的动作(即,确定块1804=“是”),处理器可以在方块1858中根据替代动作来实现一个或多个上行链路行为的一个或多个改变。实时上行链路流式传输源计算设备可以实现的根据替代动作的一个或多个与上行链路相关联的行为的示例改变可以包括下列各项中的一项或多项:对经编码媒体进行缓存、发送缓存的经编码媒体、改变用于媒体的编码的质量水平、改变经编码媒体传输的比特率、改变用于经编码媒体的连接属性、改变用于经编码媒体的传输技术等。
图19示出了用于实时上行链路流式传输的实施例方法1900。参考图 1-图19,方法1900的操作可以由实时上行链路流式传输源计算设备(例如实时上行链路流式传输源计算设备102)的处理器执行。在各个实施例中,方法1900的操作可以结合方法400(图4)、500(图5)、600(图6)、700 (图7)、800(图8)、900(图9)、1000(图10)、1100(图11)、1200(图 12)、1300(图13A)、1350(图13B)、1400(图14)、1500(图15)、1600 (图16)、1700(图17)、1800(图18A)和1850(图18B)中的任意方法来执行。
如参考方法1850(图18B)所描述的,处理器可以在方块1852中监测与实时流式传输相关联的一个或多个条件。
在确定块1902中,处理器可以确定一个或多个条件是否支持改变一个或多个与上行链路相关联的行为。在各个实施例中,实时上行链路流式传输源计算设备和/或与实时上行链路流式传输源计算设备相通信的各种源和 /或功能可以指示一个或多个条件,并且实时上行链路流式传输源计算设备可以转化那些条件以改变或修改其上行链路行为。作为示例,实时上行链路流式传输宿计算设备可以将一个或多个条件与存储器中将条件与上行链路行为的改变进行相关的表进行比较,并且响应于确定在两个条件之间的匹配,实时上行链路流式传输宿计算设备可以确定正在发生用于改变或修改其上行链路行为的一个或多个条件。
响应于确定一个或多个条件不支持改变一个或多个上行链路行为(即,确定块1902=“否”),处理器可以在方块1852中如参考图18B在方法1850 中描述继续监测条件。
响应于确定一个或多个条件支持改变一个或多个上行链路行为(即,确定块1902=“是”),处理器可以在方块1904中至少部分地基于一个或多个条件来确定与上行链路相关联的行为的一个或多个改变。作为具体示例,实时上行链路流式传输源计算设备的存储器中的表格可以将条件与上行链路行为的改变进行相关,并且响应于确定在两个条件之间的匹配,实时上行链路流式传输宿计算设备可以确定与匹配条件相关的那些改变是将要在与上行链路相关联的行为中实现的改变。
在方块1906中,处理器可以实现一个或多个与上行链路相关联的行为的一个或多个改变。例如,基于由实时上行链路源计算设备监测或确定的条件,实时上行链路流式传输源计算设备可以通过实现一个或多个行为的改变来修改或改变其上行链路行为,例如,缓存行为(例如,开始缓存、停止缓存、对所选择的一个或多个版本或类型的媒体进行缓存等),编码行为的改变(例如,使用较高编码质量、使用较低编码质量、以额外的质量水平对额外版本的媒体进行编码、对较少版本的媒体进行编码等),传输行为的改变(例如,以较高传输比特率发送、以较低传输比特率发送、使用非GBR承载、使用GBR承载等),连接行为的改变(例如,使用较低优先级的连接、使用较高优先级的连接、使用较低成本的连接、使用较高成本的连接、使用较高质量的连接、使用较低质量的连接等),以及传输行为的改变(例如,切换到Wi-Fi、切换到3G、切换到4G、切换到5G等)等。作为特定示例,实时上行链路流式传输源计算设备处理器可以从实时上行链路流式传输宿计算设备接收到缺乏观看者的指示,并且根据监测来自无线接入网的连接数据确定存在过多可用的非GBR带宽。基于没有观看者和过多非GBR带宽的条件,处理器可以修改实时上行链路流式传输源计算设备的行为以使用非GBR承载执行上传直到观看者到来为止,并且然后当指示了观看者时,改变为对媒体的较高质量版本进行编码并且在GBR承载上发送数据。
各个实施例可以包括用于实时上行链路流式传输服务中的上行链路传送的方法,其可以由实时上行链路流式传输源计算设备执行。实时上行链路流式传输源计算设备可以是任何类型的计算设备,例如用户设备(UE) 类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:对针对实时上行链路媒体流的经编码的媒体内容进行缓存;确定针对实时上行链路媒体流的收视指示是否足以进行分发;以及响应于确定针对实时上行链路媒体流的收视指示足以进行分发,向实时上行链路流式传输宿计算设备发送缓存的经编码的媒体内容。在一些实施例中,确定针对实时上行链路媒体流的收视指示是否足够可以包括:确定是否至少一个计算设备已经请求接收实时上行链路媒体流。在一些实施例中,可以在来自实时上行链路流式传输宿计算设备的控制消息中接收收视指示。在一些实施例中,该方法还可以包括:在对针对实时上行链路媒体流的经编码的媒体内容进行缓存之前,向实时上行链路流式传输宿计算设备发送针对实时上行链路媒体流的经编码的媒体内容的初始部分。
各个实施例可以包括用于实时上行链路流式传输服务中的上行链路传送的方法,其可以由实时上行链路流式传输源计算设备执行。实时上行链路流式传输源计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:确定针对实时上行链路媒体流的收视指示是否足以进行分发;响应于确定针对实时上行链路媒体流的收视指示不足以进行分发,以第一质量水平对针对实时上行链路媒体流的媒体内容进行编码;以及响应于确定针对实时上行链路媒体流的收视指示足以进行分发,以第二质量水平对针对实时上行链路媒体流的媒体内容进行编码。在一些实施例中,该方法还可以包括:向实时上行链路流式传输宿计算设备发送经编码的媒体内容。在一些实施例中,第一质量水平可以高于第二质量水平。
各个实施例可以包括用于实时上行链路流式传输服务中的上行链路传送的方法,其可以由实时上行链路流式传输源计算设备执行。实时上行链路流式传输源计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:确定针对实时上行链路媒体流的收视指示是否足以进行分发;响应于确定针对实时上行链路媒体流的收视指示不足以进行分发,以第一比特率向实时上行链路流式传输宿计算设备发送针对实时上行链路媒体流的经编码的媒体内容;以及响应于确定针对实时上行链路媒体流的收视指示足以进行分发,以第二比特率向实时上行链路流式传输宿计算设备发送针对实时上行链路媒体流的经编码的媒体内容。在一些实施例中,第一比特率可以高于第二比特率。
各个实施例可以包括用于实时上行链路流式传输服务中的上行链路传送的方法,其可以由实时上行链路流式传输源计算设备执行。实时上行链路流式传输源计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:以第一质量水平和第二质量水平对针对实时上行链路媒体流的媒体内容进行编码。在一些实施例中,该方法还可以包括:以第一比特率向实时上行链路流式传输宿计算设备发送以第一质量水平编码的媒体;以及以第二比特率向实时上行链路流式传输宿计算设备发送以第二质量水平编码的媒体,其中,以第一质量水平编码的媒体和以第二质量水平编码的媒体是向实时上行链路流式传输宿计算设备并行发送的或者向实时上行链路流式传输宿计算设备顺序发送的。在一些实施例中,第一比特率可以高于第二比特率。在一些实施例中,该方法还可以包括:向实时上行链路流式传输宿计算设备发送以第一质量水平编码的媒体,以及对以第二质量水平编码的媒体内容进行缓存。在一些实施例中,该方法还可以包括:确定与实时上行链路媒体流相关联的实时流式传输会话是否完成,以及响应于确定与实时上行链路媒体流相关联的实时流式传输会话完成,向实时上行链路流式传输宿计算设备发送缓存的以第二质量水平编码的媒体内容。在一些实施例中,第一质量水平可以低于第二质量水平。
各个实施例可以包括用于实时上行链路流式传输的方法,其可以由实时上行链路流式传输宿计算设备执行。实时上行链路流式传输宿计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:确定辅助数据是否指示针对实时流式传输会话的一个或多个观看者;以及响应于确定辅助数据指示针对实时流式传输会话的一个或多个观看者,向与实时流式传输会话相关联的实时上行链路流式传输宿计算设备发送收视指示。在一些实施例中,该方法还可以包括:响应于向实时上行链路流式传输宿计算设备发送收视指示,从与实时流式传输会话相关联的实时上行链路流式传输源计算设备接收经编码媒体;根据针对实时流式传输会话的一个或多个确定的会话属性,对经编码媒体进行处理;以及分发经处理媒体。在一些实施例中,该方法还可以包括:在对用于指示针对实时流式传输会话的一个或多个观看者的任何辅助数据进行缓存之前,对从实时上行链路流式传输源计算设备接收的针对实时流式传输会话的初始经处理媒体进行缓存;以及响应于确定辅助数据指示针对实时流式传输会话的一个或多个观看者,分发缓存的初始经处理媒体。在一些实施例中,该方法还可以包括:在接收用于指示针对实时流式传输会话的一个或多个观看者的任何辅助数据之前,从实时上行链路流式传输源计算设备接收针对实时流式传输会话的初始经编码媒体;在处理用于指示针对实时流式传输会话的一个或多个观看者的任何辅助数据之前,根据针对实时流式传输会话的一个或多个确定的会话属性,以第一时延要求对初始经编码媒体进行处理;在对用于指示针对实时流式传输会话的一个或多个观看者的任何辅助数据进行缓存之前,对经处理初始媒体进行缓存;响应于确定辅助数据指示针对实时流式传输会话的一个或多个观看者,分发缓存的初始经处理媒体;响应于向实时上行链路流式传输宿计算设备发送收视指示,从与实时流式传输会话相关联的实时上行链路流式传输源计算设备接收经编码媒体;根据针对实时流式传输会话的一个或多个确定的会话属性,以第二时延要求对经编码媒体进行处理;以及分发经处理媒体。在一些实施例中,第二时延要求是比第一时延要求更低的时延要求。在一些实施例中,该方法还可以包括:对所分发的经处理媒体的副本进行缓存;以及在实时流式传输会话完成之后,向实时上行链路流式传输观看计算设备分发缓存的所分发的经处理媒体的副本。
各个实施例可以包括用于实时上行链路流式传输的方法,其可以由实时上行链路流式传输宿计算设备执行。实时上行链路流式传输宿计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:从与实时流式传输会话相关联的实时上行链路流式传输源计算设备接收以第一质量水平编码的媒体;根据针对实时流式传输会话的一个或多个所确定的会话属性,对以第一质量水平编码的媒体进行处理;从与实时流式传输会话相关联的实时上行链路流式传输源计算设备接收以第二质量水平编码的媒体;以及根据针对实时流式传输会话的一个或多个确定的会话属性,对以第二质量水平编码的媒体进行处理。在一些实施例中,该方法还可以包括:分发经处理的第一质量水平媒体;以及对经处理的第二质量水平媒体进行缓存。在一些实施例中,在实时流式传输会话完成之后接收以第二质量水平编码的媒体,或者在实时流式传输会话期间与第一质量水平媒体并行地接收以第二质量水平编码的媒体。在一些实施例中,以第一质量水平编码的媒体具有比以第二质量水平编码的媒体更低的质量水平。在一些实施例中,根据比对以第二质量水平编码的媒体的处理更低的时延要求来执行对以第一质量水平编码的媒体的处理。在一些实施例中,分发经处理媒体可以包括接收辅助数据,至少部分地基于辅助数据为经处理媒体选择一种或多种传送方法,以及使用所选择的传送方法来发送经处理媒体。在一些实施例中,所选择的传送方法是一种单播传送方法或者一种广播传送方法。在一些实施例中,所选择的传送方法至少包括一种单播传送方法和一种广播传送方法。在一些实施例中,单播传送方法是分组交换流式传输服务,并且广播传送方法是多媒体广播多播服务。在一些实施例中,使用所选择的传送方法来发送经处理媒体可以包括:至少部分地基于与经处理媒体相关联的时延要求来发送经处理媒体。
各个实施例可以包括用于实时上行链路流式传输的方法,其可以由实时上行链路流式传输观看计算设备执行。实时上行链路流式传输观看计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:发送针对实时流式传输会话的辅助数据;从实时上行链路流式传输宿计算设备接收实时流式传输会话的经处理媒体;以及显示实时流式传输会话的经处理媒体。在一些实施例中,可以根据本文中描述的各个实施例方法中的任何实施例方法中的一种或多种方法来生成经处理媒体。
各个实施例可以包括用于实时上行链路流式传输的方法,其可以由实时上行链路流式传输宿计算设备执行。实时上行链路流式传输宿计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:监测与实时流式传输相关联的一个或多个条件;确定是否正在发生用于控制上行链路行为的条件;以及响应于确定正在发生用于控制上行链路行为的条件,生成请求的动作消息。在一些实施例中,该方法还可以包括:向实时上行链路流式传输源计算设备发送请求的动作消息。在一些实施例中,监测与实时流式传输相关联的一个或多个条件可以包括:至少部分地基于辅助数据来监测与实时流式传输相关联的一个或多个条件。
各个实施例可以包括用于实时上行链路流式传输的方法,其可以由实时上行链路流式传输源计算设备执行。实时上行链路流式传输源计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:接收请求的动作消息;确定在请求的动作消息中指示的原因是否支持采取在请求的动作消息中指示的动作;以及响应于确定在动作消息中指示的原因支持采取在请求的动作消息中指示的动作,根据该动作实现一个或多个与上行链路相关联的行为的一个或多个改变。在一些实施例中,该方法还可以包括:监测与实时流式传输相关联的一个或多个条件,其中,确定在请求的动作消息中指示的原因是否支持采取在该动作消息中指示的动作包括:确定该一个或多个条件以及在请求的动作消息中指示的原因是否支持采取在该动作消息中指示的动作;并且响应于确定在请求的动作消息中指示的原因支持采取在请求的动作消息中指示的动作,根据该动作实现一个或多个与上行链路相关联的行为的一个或多个改变包括:响应于确定一个或多个条件和在请求的动作消息中指示的原因支持采取在请求的动作消息中指示的动作,根据该动作实现一个或多个与上行链路相关联的行为的一个或多个改变。在一些实施例中,该方法还可以包括:响应于确定一个或多个条件和在请求的动作消息中指示的原因不支持采取在请求的动作消息中指示的动作,确定一个或多个条件和在请求的动作消息中指示的原因是否支持采取替代的动作;以及响应于确定一个或多个条件和在请求的动作消息中指示的原因支持采取该替代的动作,根据该替代的动作实现一个或多个与上行链路相关联的行为的一个或多个改变。在一些实施例中,其中,请求的动作消息指示用于实时上行链路流式传输源计算设备的一个或多个请求的动作以及针对该一个或多个请求的动作的一个或多个相关联原因。在一些实施例中,对一个或多个请求的动作以及一个或多个相关联原因的指示是动作/原因对代码。在一些实施例中,将在请求的动作消息中的一个或多个动作中的动作指示为可选的或强制的。
在一些实施例中,在请求的动作消息中的一个或多个动作之中,强制动作优先于可选动作。在一些实施例中,动作或替代动作是下列各项中的一项或多项:对经编码媒体进行缓存、发送缓存的经编码媒体、改变用于媒体的编码的质量水平、改变经编码媒体传输的比特率、改变用于经编码媒体的连接属性和/或改变用于经编码媒体的传输技术。
各个实施例可以包括用于实时上行链路流式传输的方法,其可以由实时上行链路流式传输源计算设备执行。实时上行链路流式传输源计算设备可以是任何类型的计算设备,例如UE类型的计算设备(例如,智能电话、支持多媒体互联网的蜂窝电话等)。该方法可以包括:监测与实时流式传输相关联的一个或多个条件;确定该一个或多个条件是否支持改变一个或多个与上行链路相关联的行为;以及响应于确定一个或多个条件支持改变一个或多个与上行链路相关联的行为,至少部分地基于该一个或多个条件,确定一个或多个与上行链路相关联的行为的一个或多个改变。在一些实施例中,该方法还可以包括:实现一个或多个与上行链路相关联的行为的一个或多个改变。在一些实施例中,一个或多个与上行链路相关联的行为的一个或多个改变是下列各项中的一项或多项:缓存行为的改变、编码行为的改变、传输行为的改变、连接行为的改变和/或传运(transport)行为的改变。在一些实施例中,与实时流式传输相关联的条件是下列各项中的一项或多项:收视条件、交互条件、网络条件、处理条件、连接条件和/或分发条件,其中,时延要求是下列各项中的一项或多项:端到端时延要求、处理时延要求、上行链路时延要求和/或下行链路时延要求。
各个实施例(包括但不限于,上文参考图1至图-19讨论的实施例)可以在各种计算设备中的任何计算设备(例如,接收机设备)中实现,其示例在图20中示出。例如,计算设备2000可以包括耦合至触摸屏控制器2004 和内部存储器2002的处理器2001。处理器2001可以是指定用于通用或专用处理任务的一个或多个多核集成电路(IC)。内部存储器2002可以是易失性或非易失性存储器,并且还可以是安全的和/或加密的存储器、或者不安全的和/或未加密的存储器、或者它们的任意组合。触摸屏控制器2004 和处理器2001还可以耦合至触摸屏面板2012(诸如电阻感测触摸屏、电容感测触摸屏、红外线感测触摸屏等等)。
计算设备2000可以具有互相耦合和/或耦合至处理器2001的、用于进行发送和接收的一个或多个无线信号收发机2008(例如, Wi-Fi、蜂窝等)和天线2010。收发机2008和天线2010可以与上述电路一起使用,以实现各个无线传输协议栈和接口。计算设备2000可以包括用于实现进行经由蜂窝网络的通信并且耦合至处理器的蜂窝网络无线调制解调器芯片2016。
计算设备2000可以包括耦合至处理器2001的外围设备连接接口2018。外围设备连接接口2018可以单独被配置为接收一种类型的连接,或者多重配置为接收各种类型的物理和通信连接(公共和专有的),比如USB、火线、雷电接口或PCIe。外围设备连接接口2018还可以耦合至类似配置的外围设备连接端口(未示出)。
计算设备2000可以包括用于提供音频输出的扬声器2014。计算设备 2000还可以包括由塑料、金属或材料的组合构造的、用于包含本文中讨论的组件中的所有或一些组件的壳体2020。计算设备2000可以包括耦合至处理器2001的电源2022,比如一次性的或可充电电池。可充电电池还可以耦合至外围设备连接端口,以便从计算设备2000外部的源接收充电电流。
各个实施例(包括但不限于,上文参考图1至图-19讨论的实施例)还可以在各种商业可得的服务器设备中的任何服务器设备中实现,例如图21 中示出的服务器2100。这种服务器2100通常包括耦合至易失性存储器2102 和大容量非易失性存储器(例如磁盘驱动器2103)的处理器2101。服务器 2100还可以包括耦合至处理器2101的软盘驱动、压缩盘(CD)或数字多功能盘(DVD)驱动2106。服务器2100还可以包括:耦合至处理器2101 的一个或多个网络收发机2104(例如网络接入端口),其用于建立与通信网络2107(诸如耦合至其它公告系统计算机和服务器、互联网、公共交换电话网和/或蜂窝网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE 或任何其它类型的蜂窝网络)的局域网)的网络接口连接。
处理器2001和2101可以是可以由软件指令(应用)配置以执行多种功能(包括上述各个实施例的功能)的任何可编程微处理器、微型计算机或一个或多个处理器芯片。在一些设备中,可以提供多个处理器,例如专门用于无线通信功能的一个处理器和专门用于运行其它应用的一个处理器。通常,软件应用在其被访问和装载到处理器2001和2101之前,可以存储在内部存储器中。处理器2001和2101可以包括足以存储应用软件指令的内部存储器。在许多设备中,内部存储器可以是易失性或非易失性存储器(例如闪存),或者二者的混合。为了本说明书的目的,对存储器的一般提及指的是由处理器2001和2101可访问的存储器,其包括内部存储器或插到设备中的可移动存储器,以及处理器2001和2101自身内的存储器。
前述方法描述和过程流程图仅作为说明性示例来提供,并且不旨在要求或暗示各个实施例的步骤必须以所呈现的顺序来执行。如同本领域技术人员将明白的:前述实施例中的步骤的顺序可以以任意顺序执行。诸如“此后”、“然后”、“接下来”等的词语不旨在限制步骤的顺序;这些词语仅用于在方法的描述中引导读者。另外,使用冠词“一”、“一个”或“该”以单数形式多于权利要求元素的任何提及不应该被解释为将该元素限制为单数。
结合本文公开的实施例描述的各个说明性的逻辑方块、模块、电路和算法步骤可以实现成电子硬件、计算机软件或它们的组合。为了清楚地表示硬件和软件之间的该可交换性,上文对各个说明性的组件、方块、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现为硬件还是实现为软件,取决于特定的应用和对完整系统所施加的设计约束。本领域技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是这种实现方式决策不应解释为造成对本公开内容的范围的背离。
用于实现结合本文所公开的方面和实施例所描述的各种说明性的逻辑、逻辑块、模块和电路的硬件可以使用被设计来执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或它们的任意组合来实现或执行。通用处理器可以是微处理器,但是,在替代方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以实现为计算设备的组合,例如,DSP 和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合、或者任何其它这种配置。替代地,一些步骤或方法可以由特定于给定功能的电路来执行。
在一个或多个示例实施例中,可以用硬件、软件、固件、或者它们的任意组合来实现所描述的功能。如果用软件实现,则可以将功能在非临时性计算机可读介质或非临时性处理器可读介质上存储为一个或多个指令或代码。本文所公开的方法或算法的步骤可以体现在可以位于非临时性计算机可读或非临时性处理器可读存储介质上的处理器可执行软件模块和/或处理器可执行指令中。非临时性服务器可读、计算机可读或处理器可读存储介质可以是可以由计算机或处理器访问的任何存储介质。举例说明而非限制性地,这样的非临时性服务器可读、计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存器、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备,或可以用于以指令或数据结构的形式存储需要的程序代码并可以被计算机访问的任何其它介质。如本文中所使用的,磁盘 (disk)和光盘(disc)包括压缩光盘(CD)、激光光盘、光盘、DVD、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上面的组合也应当包括在非临时性服务器可读、计算机可读和处理器可读介质的范围之内。此外,方法或算法的操作可以作为代码和/或指令的一个或任意组合或集合位于可以被并入计算机程序产品中的非临时性服务器可读、处理器可读介质和/或计算机可读介质上。
为使本领域任何技术人员能够实现或者使用各个方面和实施例,提供了对所公开的实施例的前述描述。对于本领域技术人员来说,对这些实施例的各种修改将是显而易见的,并且,在不脱离各个方面和实施例的前提下,本文中定义的一般原理可以应用于其它实施例。因此,权利要求书不旨在限于本文中示出的实施例,而是符合与所附权利要求书和本文中公开的原理和新颖性特征相一致的最广范围。
Claims (38)
1.一种用于在实时上行链路流式传输服务中分发媒体的方法,包括:
通过实时上行链路流式传输宿计算设备的处理器接收针对实时流式传输会话的辅助数据;
由所述处理器响应于确定所述辅助数据指示了所述实时流式传输会话的一个或多个观看者、根据改变的时延要求来处理实时流式传输会话的媒体,其中,所述改变的时延要求不同于在接收所述辅助数据之前与所述实时流式传输会话相关联的时延要求;
通过所述处理器至少部分地基于所述辅助数据,选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法;以及
通过所述处理器使用所选择的传送方法来发送所述经处理媒体。
2.根据权利要求1所述的方法,其中,至少部分地基于所述辅助数据,选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法包括:通过所述处理器至少部分地基于所述辅助数据,从针对所述实时流式传输会话的经处理媒体的第一传送方法切换到第二传送方法。
3.根据权利要求2所述的方法,其中,所述第一传送方法是单播传送方法,并且所述第二传送方法是广播传送方法。
4.根据权利要求2所述的方法,其中,所述第一传送方法是广播传送方法,并且所述第二传送方法是单播传送方法。
5.根据权利要求1所述的方法,其中,所选择的传送方法包括单播传送方法和广播传送方法。
6.根据权利要求5所述的方法,其中,所述单播传送方法是分组交换流式传输服务,并且所述广播传送方法是多媒体广播多播服务。
7.根据权利要求5所述的方法,其中,所述辅助数据包括下列各项中的一项或多项:测量的受欢迎程度、预测的受欢迎程度、与实时上行链路流式传输源计算设备相关联的位置数据、与实时上行链路流式传输观看计算设备相关联的位置数据、服务质量要求或者网络条件信息。
8.根据权利要求1所述的方法,还包括:
通过所述处理器确定所述辅助数据是否指示针对所述实时流式传输会话的一个或多个观看者;以及
通过所述处理器响应于确定所述辅助数据指示针对所述实时流式传输会话的一个或多个观看者,向与所述实时流式传输会话相关联的实时上行链路流式传输源计算设备发送收视指示。
9.根据权利要求8所述的方法,还包括:
通过所述处理器响应于向所述实时上行链路流式传输宿计算设备发送所述收视指示,从与所述实时流式传输会话相关联的所述实时上行链路流式传输源计算设备接收经编码媒体;以及
通过所述处理器根据针对所述实时流式传输会话的一个或多个确定的会话属性,对所述经编码媒体进行处理。
10.根据权利要求8所述的方法,还包括:
通过所述处理器在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,对从经编码媒体生成的针对所述实时流式传输会话的经处理媒体进行缓存,所述经编码媒体是从所述实时上行链路流式传输源计算设备接收的。
11.根据权利要求8所述的方法,还包括:
通过所述处理器在接收用于指示针对所述实时流式传输会话的一个或多个观看者的下行链路数据之前,从所述实时上行链路流式传输源计算设备接收针对所述实时流式传输会话的经编码媒体;
通过所述处理器在处理用于指示针对所述实时流式传输会话的一个或多个观看者的任何辅助数据之前,根据针对所述实时流式传输会话的一个或多个确定的会话属性,以第一时延要求来处理所述经编码媒体;以及
通过所述处理器响应于向所述实时上行链路流式传输宿计算设备发送所述收视指示,从与所述实时流式传输会话相关联的所述实时上行链路流式传输源计算设备接收额外的经编码媒体,
其中,根据改变的时延要求处理所述实时流式传输会话的媒体包括通过所述处理器根据针对所述实时流式传输会话的一个或多个确定的会话属性,以第二时延要求来处理所述额外的经编码媒体。
12.根据权利要求11所述的方法,其中,所述第二时延要求是比所述第一时延要求更低的时延要求。
13.根据权利要求1所述的方法,还包括:
通过所述处理器对所发送的经处理媒体的副本进行缓存;以及
通过所述处理器在所述实时流式传输会话完成之后,向实时上行链路流式传输观看计算设备分发所缓存的所发送的经处理媒体的副本。
14.根据权利要求1所述的方法,还包括:
通过所述处理器在接收针对所述实时流式传输会话的所述辅助数据之前,从实时上行链路流式传输源计算设备接收对要在所述实时上行链路流式传输会话中提供的实时上行链路媒体流的指示。
15.根据权利要求1所述的方法,其中,所述实时上行链路流式传输宿计算设备是流式传输服务计算设备或网络运营商计算设备中的一者。
16.一种实时上行链路流式传输宿计算设备,包括:
处理器,其被配置有用于以下操作的处理器可执行指令:
接收针对实时流式传输会话的辅助数据;
响应于确定所述辅助数据指示了所述实时流式传输会话的一个或多个观看者、根据改变的时延要求来处理实时流式传输会话的媒体,其中,所述改变的时延要求不同于在接收所述辅助数据之前与所述实时流式传输会话相关联的时延要求;
至少部分地基于所述辅助数据来选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法;以及
使用所选择的一种或多种传送方法来发送所述经处理媒体。
17.根据权利要求16所述的设备,其中,所述处理器还被配置有用于以下操作的处理器可执行指令:通过至少部分地基于所述辅助数据,从针对所述实时流式传输会话的经处理媒体的第一传送方法切换到第二传送方法,来至少部分地基于所述辅助数据,选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法。
18.根据权利要求17所述的设备,其中,从所述第一传送方法是单播传送方法,并且所述第二传送方法是广播传送方法。
19.根据权利要求17所述的设备,其中,从所述第一传送方法是广播传送方法,并且所述第二传送方法是单播传送方法。
20.根据权利要求16所述的设备,其中,所选择的传送方法包括单播传送方法和广播传送方法。
21.根据权利要求20所述的设备,其中,所述单播传送方法是分组交换流式传输服务,并且所述广播传送方法是多媒体广播多播服务。
22.根据权利要求20所述的设备,其中,所述辅助数据包括下列各项中的一项或多项:测量的受欢迎程度、预测的受欢迎程度、与实时上行链路流式传输源计算设备相关联的位置数据、与实时上行链路流式传输观看计算设备相关联的位置数据、服务质量要求或者网络条件信息。
23.根据权利要求16所述的设备,其中,所述处理器还被配置有用于以下操作的处理器可执行指令:
确定所述辅助数据是否指示针对所述实时流式传输会话的一个或多个观看者;以及
响应于确定所述辅助数据指示针对所述实时流式传输会话的一个或多个观看者,向与所述实时流式传输会话相关联的实时上行链路流式传输源计算设备发送收视指示。
24.根据权利要求23所述的设备,其中,所述处理器还被配置有用于以下操作的处理器可执行指令:
响应于向所述实时上行链路流式传输宿计算设备发送所述收视指示,从与所述实时流式传输会话相关联的所述实时上行链路流式传输源计算设备接收经编码媒体;以及
根据针对所述实时流式传输会话的一个或多个确定的会话属性,对所述经编码媒体进行处理。
25.根据权利要求23所述的设备,其中,所述处理器还被配置有用于以下操作的处理器可执行指令:
在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,对从所述实时上行链路流式传输源计算设备接收的针对所述实时流式传输会话的经处理媒体进行缓存。
26.根据权利要求23所述的设备,其中,所述处理器还被配置有用于以下操作的处理器可执行指令:
在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,从所述实时上行链路流式传输源计算设备接收针对所述实时流式传输会话的经编码媒体;
在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,根据针对所述实时流式传输会话的一个或多个所确定的会话属性,以第一时延要求来处理所述经编码媒体;
响应于向所述实时上行链路流式传输宿计算设备发送所述收视指示,从与所述实时流式传输会话相关联的所述实时上行链路流式传输源计算设备接收额外的经编码媒体;以及
通过如下来根据改变的时延要求处理所述实时流式传输会话的媒体:
根据针对所述实时流式传输会话的一个或多个确定的会话属性,以第二时延要求来处理所述额外的经编码媒体。
27.根据权利要求26所述的设备,其中,所述第二时延要求是比所述第一时延要求更低的时延要求。
28.根据权利要求16所述的设备,其中,所述处理器还被配置有用于以下操作的处理器可执行指令:
对所发送的经处理媒体的副本进行缓存;以及
在所述实时流式传输会话完成之后,向实时上行链路流式传输观看计算设备分发所缓存的所发送的经处理媒体的副本。
29.根据权利要求16所述的设备,其中,所述处理器还被配置有用于以下操作的处理器可执行指令:
在接收针对所述实时流式传输会话的所述辅助数据之前,从实时上行链路流式传输源计算设备接收对要在所述实时上行链路流式传输会话中提供的实时上行链路媒体流的指示。
30.根据权利要求16所述的设备,其中,所述设备是流式传输服务计算设备或网络运营商计算设备中的一项。
31.一种具有存储在其上的处理器可执行指令的非临时性处理器可读介质,所述指令被配置为使实时上行链路流式传输宿计算设备的处理器执行包括下列各项的操作:
接收针对实时流式传输会话的辅助数据;
响应于确定所述辅助数据指示了所述实时流式传输会话的一个或多个观看者、根据改变的时延要求来处理实时流式传输会话的媒体,其中,所述改变的时延要求不同于在接收所述辅助数据之前与所述实时流式传输会话相关联的时延要求;
至少部分地基于所述辅助数据来选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法;以及
使用所选择的一种或多种传送方法来发送所述经处理媒体。
32.根据权利要求31所述的非临时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使实时上行链路流式传输宿计算设备的处理器执行操作,使得至少部分地基于所述辅助数据来选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法包括:至少部分地基于所述辅助数据,从针对所述实时流式传输会话的经处理媒体的第一传送方法切换到第二传送方法。
33.根据权利要求31所述的非临时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使实时上行链路流式传输宿计算设备的处理器执行还包括下列各项的操作:
确定所述辅助数据是否指示针对所述实时流式传输会话的一个或多个观看者;以及
响应于确定所述辅助数据指示针对所述实时流式传输会话的一个或多个观看者,向与所述实时流式传输会话相关联的实时上行链路流式传输源计算设备发送收视指示。
34.根据权利要求33所述的非临时性处理器可读介质,其中,所存储的处理器可执行指令被配置为使实时上行链路流式传输宿计算设备的处理器执行还包括下列各项的操作:
在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,从所述实时上行链路流式传输源计算设备接收针对所述实时流式传输会话的经编码媒体;
在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,根据针对所述实时流式传输会话的一个或多个所确定的会话属性,以第一时延要求来处理所述经编码媒体;以及
响应于向所述实时上行链路流式传输宿计算设备发送所述收视指示,从与所述实时流式传输会话相关联的所述实时上行链路流式传输源计算设备接收额外的经编码媒体,
其中,所存储的处理器可执行指令被配置为使得实时上行链路流式传输宿计算设备的处理器执行操作以使得根据改变的时延要求处理实时流式传输会话的媒体包括根据针对所述实时流式传输会话的一个或多个确定的会话属性,以第二时延要求来处理所述额外的经编码媒体。
35.一种实时上行链路流式传输宿计算设备,包括:
用于接收针对实时流式传输会话的辅助数据的单元;
用于响应于确定所述辅助数据指示了所述实时流式传输会话的一个或多个观看者、根据改变的时延要求来处理实时流式传输会话的媒体的单元,其中所述改变的时延要求不同于在接收所述辅助数据之前与所述实时流式传输会话相关联的时延要求;
用于至少部分地基于所述辅助数据来选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法的单元;以及
用于使用所选择的传送方法来发送所述经处理媒体的单元。
36.根据权利要求35所述的设备,其中,用于至少部分地基于所述辅助数据来选择针对所述实时流式传输会话的经处理媒体的一种或多种传送方法的单元包括:用于至少部分地基于所述辅助数据,从针对所述实时流式传输会话的经处理媒体的第一传送方法切换到第二传送方法的单元。
37.根据权利要求35所述的设备,还包括:
用于确定所述辅助数据是否指示针对所述实时流式传输会话的一个或多个观看者的单元;以及
用于响应于确定所述辅助数据指示针对所述实时流式传输会话的一个或多个观看者,向与所述实时流式传输会话相关联的实时上行链路流式传输源计算设备发送收视指示的单元。
38.根据权利要求37所述的设备,还包括:
用于在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,从所述实时上行链路流式传输源计算设备接收针对所述实时流式传输会话的经编码媒体的单元;
用于在接收用于指示针对所述实时流式传输会话的一个或多个观看者的辅助数据之前,根据针对所述实时流式传输会话的一个或多个所确定的会话属性,以第一时延要求来处理所述经编码媒体的单元;以及
用于响应于向所述实时上行链路流式传输宿计算设备发送所述收视指示,从与所述实时流式传输会话相关联的所述实时上行链路流式传输源计算设备接收额外的经编码媒体的单元,
其中,用于根据改变的时延要求来处理实时流式传输会话的媒体的单元包括用于根据针对所述实时流式传输会话的一个或多个确定的会话属性以第二时延要求来处理所述额外的经编码媒体的单元。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862689904P | 2018-06-26 | 2018-06-26 | |
US62/689,904 | 2018-06-26 | ||
US201862722847P | 2018-08-25 | 2018-08-25 | |
US62/722,847 | 2018-08-25 | ||
US16/441,909 | 2019-06-14 | ||
US16/441,909 US10924775B2 (en) | 2018-06-26 | 2019-06-14 | Uplink and downlink methods for efficient operation of live uplink streaming services |
PCT/US2019/037450 WO2020005610A1 (en) | 2018-06-26 | 2019-06-17 | Uplink and downlink methods for efficient operation of live uplink streaming services |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112369038A CN112369038A (zh) | 2021-02-12 |
CN112369038B true CN112369038B (zh) | 2023-04-04 |
Family
ID=68980920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980040647.8A Active CN112369038B (zh) | 2018-06-26 | 2019-06-17 | 用于在实时上行链路流式传输服务中分发媒体的方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10924775B2 (zh) |
EP (1) | EP3815381A1 (zh) |
CN (1) | CN112369038B (zh) |
TW (1) | TWI827622B (zh) |
WO (1) | WO2020005610A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018023199A1 (en) * | 2016-08-03 | 2018-02-08 | Dejero Labs Inc. | System and method for controlling data stream modifications |
EP3673637A1 (en) * | 2017-10-03 | 2020-07-01 | Sony Corporation | Network assistance for uplink streaming |
CN112236986B (zh) | 2018-06-07 | 2023-03-24 | 索尼公司 | 用于网络容量受限场景中的协作媒体制作的网络控制上行媒体传送 |
US10924775B2 (en) | 2018-06-26 | 2021-02-16 | Qualcomm Incorporated | Uplink and downlink methods for efficient operation of live uplink streaming services |
EP3841721A1 (en) * | 2018-08-20 | 2021-06-30 | Sony Corporation | Method and system for utilizing event specific priority in a network controlled uplink media transmission for a collaborative media production |
US11368512B2 (en) | 2018-08-20 | 2022-06-21 | Sony Group Corporation | Method and system for utilizing network conditions feedback for improving quality of a collaborative media production |
CN109862387A (zh) * | 2019-03-28 | 2019-06-07 | 北京达佳互联信息技术有限公司 | 直播的回看视频生成方法、装置及设备 |
US11356534B2 (en) * | 2019-04-23 | 2022-06-07 | Tencent America LLC | Function repository selection mode and signaling for cloud based processing |
CN111831842A (zh) | 2019-04-23 | 2020-10-27 | 腾讯美国有限责任公司 | Nbmp中处理媒体内容的方法、装置和存储介质 |
US11800166B2 (en) * | 2019-10-14 | 2023-10-24 | Qatar Foundation For Education, Science And Community Development | Forecasting and reservation of transcoding resources for live streaming |
US20200177660A1 (en) * | 2020-02-03 | 2020-06-04 | Intel Corporation | Offload of streaming protocol packet formation |
EP4104405A1 (en) * | 2020-02-10 | 2022-12-21 | Sony Group Corporation | Methods for coordinating a media session, related network nodes, related wireless devices, and related production devices |
US11601491B2 (en) * | 2020-03-30 | 2023-03-07 | Tencent America LLC | Network-based media processing (NBMP) workflow management direct access in 5G framework for live uplink streaming (FLUS) |
US11388067B2 (en) * | 2020-03-30 | 2022-07-12 | Tencent America LLC | Systems and methods for network-based media processing (NBMP) for describing capabilities |
US11438398B2 (en) | 2020-03-30 | 2022-09-06 | Tencent America LLC | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination |
US11063992B1 (en) * | 2020-03-30 | 2021-07-13 | Tencent America LLC | Network-based media processing (NBMP) workflow management through 5G framework for live uplink streaming (FLUS) control |
US11297121B2 (en) * | 2020-04-07 | 2022-04-05 | Tencent America LLC | Split rendering using network based media processing workflow |
CN114531499B (zh) * | 2020-11-06 | 2024-03-26 | 网宿科技股份有限公司 | 一种基于quic协议的端口共用方法、系统及服务器 |
CN112995693B (zh) * | 2021-03-04 | 2023-04-28 | 深圳市欧瑞博科技股份有限公司 | 流媒体文件的智能处理方法、控制面板及计算机可读存储介质 |
US11799937B2 (en) * | 2021-05-12 | 2023-10-24 | Tencent America LLC | CMAF content preparation template using NBMP workflow description document format in 5G networks |
US11902345B2 (en) * | 2021-08-11 | 2024-02-13 | Tencent America LLC | Method and apparatus for contribution reporting of uplink streaming in 5G networks |
US11632414B2 (en) * | 2021-08-11 | 2023-04-18 | Tencent America LLC | Metrics for measuring and monitoring uplink streaming |
US20240048807A1 (en) * | 2022-08-08 | 2024-02-08 | Phenix Real Time Solutions, Inc. | Leveraging insights from real-time media stream in delayed versions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009093252A1 (en) * | 2008-01-23 | 2009-07-30 | Liveu Ltd | Live uplink transmissions and broadcasting management system and method |
WO2013182247A1 (en) * | 2012-06-08 | 2013-12-12 | Telefonaktiebolaget L M Ericsson (Publ) | Optimising content delivery via unicast and multicast services of a public land mobile network |
CN104205884A (zh) * | 2012-03-16 | 2014-12-10 | 英特尔公司 | 多播广播多媒体服务辅助内容分发 |
CN104303545A (zh) * | 2012-05-04 | 2015-01-21 | 高通股份有限公司 | 按需在多媒体广播多播服务(mbms)和单播服务之间进行平滑转变 |
CN105308932A (zh) * | 2013-06-17 | 2016-02-03 | 高通股份有限公司 | 通过一个或多个服务的中介内容分发 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20070277205A1 (en) * | 2006-05-26 | 2007-11-29 | Sbc Knowledge Ventures L.P. | System and method for distributing video data |
US20080066106A1 (en) * | 2006-07-31 | 2008-03-13 | Guideworks, Llc | Systems and methods for providing media guidance planners |
US7849490B2 (en) * | 2007-03-12 | 2010-12-07 | Cisco Technology, Inc. | Method and apparatus providing scalability for channel change requests in a switched digital video system |
JP5442602B2 (ja) * | 2007-06-04 | 2014-03-12 | ヴィジブル ワールド インコーポレイテッド | 動的ビット/バンド幅割り当てのためのシステム及び方法 |
US20090025027A1 (en) * | 2007-07-20 | 2009-01-22 | Michael Craner | Systems & methods for allocating bandwidth in switched digital video systems based on interest |
US7802286B2 (en) * | 2007-07-24 | 2010-09-21 | Time Warner Cable Inc. | Methods and apparatus for format selection for network optimization |
US8561116B2 (en) * | 2007-09-26 | 2013-10-15 | Charles A. Hasek | Methods and apparatus for content caching in a video network |
US8601524B2 (en) * | 2007-11-19 | 2013-12-03 | Verizon Patent And Licensing Inc. | System and method for delivering long-tail content |
US8938747B2 (en) * | 2007-12-06 | 2015-01-20 | At&T Intellectual Property I, L.P. | Rating multimedia programs accessed from a provider network |
US8578432B2 (en) * | 2007-12-07 | 2013-11-05 | Cisco Technology, Inc. | Policy control over switched delivery networks |
US8566888B2 (en) * | 2007-12-21 | 2013-10-22 | Cable Television Laboratories, Inc. | System for updating channel lineup for broadcasting and switched digital broadcasting services |
US9565397B2 (en) * | 2009-02-26 | 2017-02-07 | Akamai Technologies, Inc. | Deterministically skewing transmission of content streams |
WO2011034956A2 (en) * | 2009-09-15 | 2011-03-24 | Comcast Cable Communications, Llc | Dynamic content packaging |
WO2014106206A1 (en) * | 2012-12-28 | 2014-07-03 | DISH Digital L.L.C. | Adaptive multicast delivery of media streams |
US9351030B2 (en) * | 2013-03-05 | 2016-05-24 | Disney Enterprises, Inc. | Automatic creation of frame accurate program/commercial triggers for live/automated television programs |
US9319753B2 (en) * | 2013-05-09 | 2016-04-19 | Broadcom Corporation | Seamless trick-mode with decreased latency for live transcode streaming |
US9477814B2 (en) * | 2013-05-22 | 2016-10-25 | Broadcom Corporation | Distribution of an IP-based multimedia channel to non-IP enabled devices |
US20160007052A1 (en) | 2014-07-03 | 2016-01-07 | Anthem Digital Media, Inc. | Live streaming broadcast service with artist and fan competitive reward system |
US10924775B2 (en) | 2018-06-26 | 2021-02-16 | Qualcomm Incorporated | Uplink and downlink methods for efficient operation of live uplink streaming services |
-
2019
- 2019-06-14 US US16/441,909 patent/US10924775B2/en active Active
- 2019-06-17 CN CN201980040647.8A patent/CN112369038B/zh active Active
- 2019-06-17 WO PCT/US2019/037450 patent/WO2020005610A1/en unknown
- 2019-06-17 EP EP19735056.4A patent/EP3815381A1/en active Pending
- 2019-06-18 TW TW108121055A patent/TWI827622B/zh active
-
2021
- 2021-01-08 US US17/144,552 patent/US11405660B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009093252A1 (en) * | 2008-01-23 | 2009-07-30 | Liveu Ltd | Live uplink transmissions and broadcasting management system and method |
CN104205884A (zh) * | 2012-03-16 | 2014-12-10 | 英特尔公司 | 多播广播多媒体服务辅助内容分发 |
CN104303545A (zh) * | 2012-05-04 | 2015-01-21 | 高通股份有限公司 | 按需在多媒体广播多播服务(mbms)和单播服务之间进行平滑转变 |
WO2013182247A1 (en) * | 2012-06-08 | 2013-12-12 | Telefonaktiebolaget L M Ericsson (Publ) | Optimising content delivery via unicast and multicast services of a public land mobile network |
CN105308932A (zh) * | 2013-06-17 | 2016-02-03 | 高通股份有限公司 | 通过一个或多个服务的中介内容分发 |
Also Published As
Publication number | Publication date |
---|---|
TWI827622B (zh) | 2024-01-01 |
EP3815381A1 (en) | 2021-05-05 |
US20190394498A1 (en) | 2019-12-26 |
WO2020005610A1 (en) | 2020-01-02 |
CN112369038A (zh) | 2021-02-12 |
US10924775B2 (en) | 2021-02-16 |
US11405660B2 (en) | 2022-08-02 |
TW202002661A (zh) | 2020-01-01 |
US20210136424A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112369038B (zh) | 用于在实时上行链路流式传输服务中分发媒体的方法 | |
JP6487076B2 (ja) | インターネットプロトコル(ip)マルチメディア・サブシステム(ims)ベースのピアツーピア(p2p)コンテンツ配信 | |
US10820162B2 (en) | Method and system for mobile user-initiated LTE broadcast | |
JP5805320B2 (ja) | 無線アップリンク・セッションを制御する方法および装置 | |
JP6337350B2 (ja) | ビデオ品質向上 | |
US9118738B2 (en) | Systems and methods for controlling access to a media stream | |
US10616623B2 (en) | Optimized near-simultaneous distribution of multimedia content | |
US8737803B2 (en) | Method and apparatus for storing and streaming audiovisual content | |
US20120303797A1 (en) | Scalable audiovisual streaming method and apparatus | |
US20120304240A1 (en) | Method and apparatus for selecting audiovisual content for streaming | |
JP7116196B2 (ja) | ネットワーク容量に制約のあるシナリオにおける共同メディア制作のためのネットワーク制御上りリンクメディア伝送 | |
EP3841722A1 (en) | Method and system for utilizing network conditions feedback for improving quality of a collaborative media production | |
CN112585979B (zh) | 用于所存储内容的网络控制媒体上传的方法和系统 | |
US20120304232A1 (en) | Method and apparatus for adjusting encoding of audiovisual stream |
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 |