一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于HTTP的动态自适应流传输的方法和装置与流程

2021-12-07 21:04:00 来源:中国专利 TAG:

基于http的动态自适应流传输的方法和装置
1.通过引用并入本文
2.本技术要求于2020年9月24日提交的、申请号为17/031,314、名称为“基于http的动态自适应流传输的方法和装置”的美国专利申请的优先权,其要求于2019年10月1日提交的、申请号为62/908,964、名称为“交互式故事情节dash流传输”的美国临时申请的优先权。在先申请的全部公开内容通过引用整体并入本文。
技术领域
3.本公开描述了总体上涉及基于超文本传输协议的动态自适应流传输的方法和装置的实施例。


背景技术:

4.本文所提供的背景描述旨在总体上呈现本公开的背景。在背景技术部分以及本说明书的各个方面中所描述的目前已署名的发明人的工作所进行的程度,并不表明其在本公开提交时作为现有技术,且从未明示或暗示其被承认为本公开的现有技术。
5.基于超文本传输协议的运动图像专家组(mpeg)动态自适应流传输(dash)提供了通过ip网络的流传输多媒体内容的标准。在mpeg dash中,一个清单可以表示故事图(story map)的一个故事情节(storyline)。可以更新清单以更改故事情节。但是,故事图需要由应用程序在清单之外维护。


技术实现要素:

6.本公开的各方面提供了接收媒体数据的装置。一种装置包括处理电路,所述处理电路接收媒体呈现描述(mpd)文件,所述mpd文件包括指示故事图的多个分支的mpd事件。所述处理电路在所述mpd事件的活动持续时间期间接收用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到当前时段的下一时段相对应。所述处理电路从服务器接收与所述用户选择的分支相对应的所述下一时段的媒体数据。
7.在实施例中,所述mpd事件包括所述活动持续时间的开始时间。
8.在实施例中,所述处理电路将指示所述用户选择的分支的选择信息发送给所述服务器。
9.在实施例中,所述选择信息包括与所述用户选择的分支相对应的所述下一时段的时段标识(id)。
10.在实施例中,所述处理电路基于包括在所述mpd事件中的统一资源定位符(url)信息和所述时段id,将所述选择信息发送给内容服务器。
11.在实施例中,更新所述mpd文件以包括所述下一时段的时段信息。
12.在实施例中,所述处理电路存储所述mpd事件指示的所述多个分支中的每一个的时段的时段信息;以及根据所述接收的mpd文件和所述用户选择的分支生成本地mpd文件。
13.本公开的各方面提供了接收媒体数据的方法。在一种方法中,接收媒体呈现描述
(mpd)文件,所述mpd文件包括指示故事图的多个分支的mpd事件;在所述mpd事件的活动持续时间期间接收用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到当前时段的下一时段相对应;以及从服务器接收与所述用户选择的分支相对应的所述下一时段的媒体数据。
14.本公开的各方面还提供了非易失性计算机可读存储介质,用于存储指令,当所述指令由用于接收媒体数据的计算机执行时,使所述计算机执行所述接收媒体数据的方法的任意一种或组合。
附图说明
15.根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中:
16.图1示出了根据本公开实施例的示例性的基于超文本传输协议的动态自适应流传输(dash)系统。
17.图2示出了根据本公开实施例的示例性dash客户端架构。
18.图3示出了根据本公开实施例的示例性故事图。
19.图4示出了根据本公开一些实施例的概述过程示例的流程图。
20.图5是根据本公开实施例的计算机系统的示意图。
具体实施方式
21.i.基于超文本传输协议的动态自适应流传输(dash)和媒体呈现描述(mpd,media presentation description)
22.基于超文本传输协议的动态自适应流传输(dash)是一种自适应比特率流传输技术,它能够使用超文本传输协议(http)基础设施,例如web服务器、内容分发网络(cdn)、各种代理和缓存等,来实现媒体内容的流传输。dash支持从dash服务器到dash客户端的点播和直播,并允许dash客户端控制流传输会话,使得dash服务器不需要在大规模部署中处理额外的流适配管理负载。dash还允许dash客户端从各种dash服务器选择流传输,从而进一步实现网络的负载平衡,以利于dash客户端。dash提供不同媒体轨道之间的动态切换,例如,通过改变比特率来适应网络条件。
23.在dash中,媒体呈现描述(mpd)文件为dash客户端提供信息,以便通过从dash服务器下载媒体片段来自适应地流传输媒体内容。mpd文件可以碎片化并部分交付,以减少会话启动延迟。mpd文件还可以在流传输会话期间更新。在一些示例中,mpd文件支持内容可访问性特征、评级和相机视图的表示。dash还支持多视图和可缩放编码内容的交付。
24.mpd文件可以包含一个或多个时段(period)的序列。该一个或多个时段中的每一个可以由mpd文件中的时段元素定义。mpd文件可以包括mpd的availablestarttime属性和每个时段的开始(start)属性。对于具有动态类型的媒体呈现(例如,用于直播服务),时段的开始属性和mpd属性availablestarttime的和以及媒体片段的持续时间可以以协调世界时(utc)格式指示该时段的可用时间,特别是对应时段中的每个呈现的第一个媒体片段。对于具有静态类型的媒体呈现(例如,用于点播服务),第一个时段的开始属性可以为0。对于其它任何时段,开始属性可以指定对应时段的开始时间相对于第一个时段的开始时间之间
的时间偏移。每个时段可以延长到下一时段的开始,或者如果是最后一个时段,则可以延长到媒体呈现的结束。时段开始时间可以是精确的,并反映因为播放先前所有时段的媒体而产生的实际定时。
25.每个时段可以包含一个或多个适配集,并且每个适配集可以包含相同媒体内容的一个或多个呈现。呈现可以是音频或视频数据的多个可选已编码版本中的一个。多个呈现可以因编码类型而不同,例如因比特率、分辨率、和/或视频数据的编解码器以及比特率、和/或音频数据的编解码器而不同。术语呈现可用于指代与多媒体内容的特定时段相对应并以特定方式编码的一段已编码音频或视频数据。
26.可以将特定时段的适配集分配给由mpd文件中的组属性指示的组。通常认为同一组中的适配集是相互可替代的。例如,可以将特定时段的视频数据的每个适配集分配给同一组,使得可以选择任何一个适配集进行解码,以显示对应时段的多媒体内容的视频数据。在一些示例中,一个时段内的媒体内容可以由来自组0的一个适配集(如果存在)来呈现,或由来自每个非零组的至多一个适配集的组合来呈现。时段的每个呈现的定时数据可以相对于时段的开始时间来表示。
27.一个呈现可以包括一个或多个片段。每个呈现可以包括初始化片段,或者呈现的每个片段可以是自初始化的。当存在时,初始化片段可以包含用于访问该呈现的初始化信息。在一些情况下,初始化片段不包含媒体数据。一个片段可以由标识符唯一地引用,例如统一资源定位符(url)、统一资源名称(urn)或统一资源标识符(uri)。mpd文件可以为每个片段提供标识符。在一些示例中,mpd文件还可以以范围属性的形式提供字节范围,该字节范围可以对应于url、urn或uri可访问的文件内的片段的数据。
28.每个呈现还可以包括一个或多个媒体组件,其中每个媒体组件可以对应于一个单独媒体类型的已编码版本,例如音频、视频或定时文本(例如,用于隐藏式字幕)。媒体组件可以是跨一个呈现内的连续媒体片段的边界时间连续的。
29.在一些实施例中,dash客户端可以从dash服务器访问和下载mpd文件。也就是说,dash客户端可以检索mpd文件,以用于发起实时会话。基于mpd文件,对于每个选定的呈现,dash客户端可以做出多个决定,包括确定服务器上可用的最新片段,确定下一片段和可能的未来片段的片段可用性开始时间,确定何时开始播放该片段以及从该片段中的哪个时间线(timeline)开始播放,以及确定何时获取/取得新的mpd文件。一旦播放了服务,客户端就可以跟踪直播服务与其自己的播放之间的漂移,该漂移需要检测和补偿。
30.ii.交互式故事情节dash流传输
31.本公开包括涉及故事情节事件的实施例,并提供了在dash媒体流传输中传输交互式故事情节的方法。流传输服务可以为用户提供一个故事的多个故事分支。用户可以选择多个故事分支中的一个,并将该选择返回给流传输服务,流传输服务可以继续所选择的故事分支。
32.在交互式故事情节中,在故事情节的呈现的特定时刻,用户可以在故事图提供的可能分支选项当中进行选择。然后故事情节根据用户的选择而改变。交互式故事情节用例的一个示例是奈飞公司(netflix)于2018年公布的《黑镜》。
33.在dash标准中,可以更新清单。因此,可以创建具有单个时段的清单,在该时段中,应用程序可以为用户提供选择。在示例中,可以在时段结束或接近结束时提供选择。该选择
可以为用户提供多个不同的故事分支,每个分支对应一个时段。然后,用户可以选择多个故事分支中的一个。根据用户的选择,清单可以更新为具有新的时段,该时段携带与用户选择相对应的故事内容。这种清单可以称为动态清单。由于内容是点播的,因此所有时段元素都存储在服务器中,并且可以通过根据用户选择逐个添加这些时段来创建动态清单。然而,在这个解决方案中,不提供故事图,并且如果用户决定返回并做出另一个选择,服务器必须导航到期望的点并编写另一个清单。呈现故事的客户端系统没有故事的故事图的任何视图。
34.本公开提供了提供故事图以及清单的实施例。因此,当用户做出选择时,客户端系统可以维护故事图并浏览故事情节的不同分支。
35.图1示出了根据本公开实施例的示例性dash系统(100)。在dash系统(100)中,mpd文件从dash服务器(101)(例如,内容服务器)发送到dash客户端(102)。dash客户端(102)可以基于mpd文件从dash服务器(101)接收媒体片段。mpd文件可以为用户提供选择,以便用户通过用户界面(103)选择当前时段的下一个感兴趣时段。在示例中,可以使用回调函数(callback function)将下一个感兴趣时段的选择发送回dash服务器(101)。dash服务器(101)可以更新mpd并将下一个感兴趣时段对应的媒体内容发送到dash客户端(102)。
36.在实施例中,dash服务器(101)向dash客户端提供初始mpd和mpd更新以及媒体片段。在其它实施例中,初始mpd、mpd更新和/或媒体片段可以由不同的服务器提供。每当dash客户端(102)接收到作为mpd更新的一部分的故事情节事件时,dash客户端(102)可以通过用户界面(103)向用户提供该故事情节事件。然后,用户界面(103)将用户对感兴趣的故事分支的选择通知dash客户端(102),dash客户端(102)可以将用户选择提供给dash服务器(101),使得dash服务器(101)可以相应地更新mpd。
37.图2示出了根据本公开实施例的示例性dash客户端架构。dash客户端(或dash播放器)可以被配置为与应用(212)通信并处理各种类型的事件,包括(i)mpd事件、(ii)带内事件、以及(iii)定时元数据事件。
38.清单解析器(210)可以解析清单(例如,mpd)。例如,清单可以由dash服务器(101)提供。清单解析器(210)可以提取关于嵌入在定时元数据轨道中的mpd事件、带内事件和定时元数据事件的事件信息。可以将提取的事件信息提供给dash逻辑(211)(例如,dash播放器控制、选择和启发式逻辑)。dash逻辑(211)可以基于事件信息将清单中用信号通知的事件方案通知给应用(212)。
39.事件信息可以包括用于区分不同事件流的事件方案信息。应用(212)可以使用事件方案信息来订阅感兴趣的事件方案。应用(212)还可以通过一个或多个订阅应用程序接口(api)为每个订阅方案指示期望的调度模式。例如,应用(212)可以向dash客户端发送订阅请求,该订阅请求标识一个或多个感兴趣的事件方案和任何期望的对应调度模式。
40.如果应用(212)订阅了作为一个或多个定时元数据轨道的一部分而被交付的一个或多个事件方案,则带内事件和

moof’解析器(203)可以将一个或多个定时元数据轨道流传输到定时元数据轨道解析器(204)。例如,带内事件和

moof’解析器(203)解析电影碎片框(

moof’),并随后基于来自dash逻辑(211)的控制信息解析定时元数据轨道。
41.定时元数据轨道解析器(204)可以提取嵌入在定时元数据轨道中的事件消息。提取的事件消息可以存储在事件和定时元数据缓冲器(206)中。同步器/调度器模块(208)(例如,事件和定时元数据同步器和调度器)可以将订阅的事件调度(或发送)到应用(212)。
42.mpd中描述的mpd事件可以由清单解析器(210)解析并存储在事件和定时元数据缓冲器(206)中。例如,清单解析器(210)解析mpd的每个事件流元素,并解析每个事件流元素中描述的每个事件。对于在mpd中用信号通知的每个事件,诸如呈现时间和事件持续时间之类的事件信息可以存储在与事件相关联的事件和定时元数据缓冲器(206)中。
43.带内事件和

moof’解析器(203)可以解析媒体片段,以提取带内事件消息。任何这种识别的带内事件和相关联的呈现时间和持续时间都可以存储在事件和定时元数据缓冲器(206)中。
44.因此,事件和定时元数据缓冲器(206)可以将mpd事件、带内事件和/或定时元数据事件存储其中。事件和定时元数据缓冲器(206)可以是例如先进先出(fifo)缓冲器。事件和定时元数据缓冲器(206)可以对应于媒体缓冲器(207)进行管理。例如,只要媒体片段存在于媒体缓冲器(207)中,与该媒体片段相对应的任何事件或定时元数据都可以存储在事件和定时元数据缓冲器(206)中。
45.dash访问api(202)可以通过http协议栈(201)管理包括媒体内容和各种元数据的内容流(或数据流)的获取和接收。dash访问api(202)可以将接收的内容流分成不同的数据流。提供给带内事件和

moof’解析器(203)的数据流可以包括媒体片段、一个或多个定时元数据轨道、以及包括在媒体片段中的带内事件信令。在实施例中,提供给清单解析器(210)的数据流可以包括mpd。
46.dash访问api(202)可以将清单转发给清单解析器(210)。除了描述事件之外,清单还可以向dash逻辑(211)提供关于媒体片段的信息,该dash逻辑(211)可以与应用(212)以及带内事件和

moof’解析器(203)通信。应用(212)可以与dash客户端处理的媒体内容相关联。在应用(212)、dash逻辑(211)、清单解析器(210)和dash访问api(202)之间交换的控制/同步信号可以基于清单中提供的关于媒体片段的信息控制从http协议栈(201)获取媒体片段。
47.带内事件和

moof’解析器(203)可以将媒体数据流解析为媒体片段,包括媒体内容、定时元数据轨道中的定时元数据、以及媒体片段中的任何用信号通知的带内事件。包括媒体内容的媒体片段可以由文件格式解析器(205)解析,并存储在媒体缓冲器(207)中。
48.存储在事件和定时元数据缓冲器(206)中的事件可以允许同步器/调度器(208)通过事件/元数据api向应用(212)传送与应用(212)相关的可用事件(或感兴趣的事件)。应用(212)可以被配置为处理该可用事件(例如,mpd事件、带内事件或定时元数据事件),并通过通知同步器/调度器(208)来订阅特定事件或定时元数据。存储在事件和定时元数据缓冲器(206)中的与应用(212))不相关但与dash客户端本身相关的任何事件都可以由同步器/调度器(208)转发到dash逻辑(211)进行进一步处理。
49.响应于应用(212)订阅特定事件,同步器/调度器(208)可以向应用(212)传送与应用(212)已订阅的事件方案相对应的事件实例(或定时元数据样本)。事件实例可以根据订阅请求指示的调度模式(例如,针对特定事件方案)或默认调度模式来传送。例如,在接收(on

receive)调度模式中,事件实例可以在事件和定时元数据缓冲器(206)中接收时被发送到应用(212)。另一方面,在启动(on

start)调度模式中,事件实例可以在其相关联的呈现时间(例如与来自媒体解码器(209)的定时信号同步)被发送到应用(212)。
50.应注意,在dash客户端架构中,粗数据流线表示媒体数据流,窄数据流线表示事件
和定时元数据数据流,虚线数据流线表示控制和同步。此外,相同的处理模型可用于cmaf事件。
51.图3示出了根据本公开实施例的故事的示例性故事图。在故事图中,故事从时段p0开始。在时段p0结束时,故事图提供选择点s0,指示故事有三个分支p1、p2和p3。在时段p1结束时,故事图提供选择点s1,指示故事有两个分支p4和p5。故事的其余部分p6和p7发生在各个分支的合并处。
52.应注意,每个选择点处的选择次数可以设置为2个或更多。每个分支的持续时间不一定彼此相等。一些或全部分支可以在特定时刻合并,并且合并的分支可以具有不同的持续时间。此外,故事可以有一个或多个端点。
53.根据本公开的各方面,mpd故事情节事件可以是指示故事图中的一个或多个选择点的mpd事件。mpd事件的事件方案可以用schemeiduri来标识,例如“urn:mpeg:dash:manifest

storyline

event:2020”。在mpd文件中,每个时段只允许一个eventstream元素,因此该唯一一个eventstream元素中携带的事件应当在其方案属性(例如,@schemeiduri)中使用相同的uri。此外,dash客户端(102)可以忽略eventstream中这些事件的子方案属性(例如,@value)。也就是说,没有为eventstream中的事件定义子方案。
54.表1中示出了示例性mpd事件元素。在表1中,开始时间信息(例如属性@presentationtime)指示mpd事件的开始时间,并且持续时间信息(例如属性@duration)指示mpd事件的持续时间。从开始时间并且在持续时间期间,用户可以进行选择。此外,mpd事件元素包括url信息,例如属性@callbackurl,其为客户端系统(102)提供url,用于发出请求(例如,http get请求)。客户端系统(102)可以基于用户的选择向url添加查询。例如,查询可以是“nextperiod=id”,其中id是用户通过用户界面(103)选择的时段标识(id)(例如,@id)值。mpd事件元素包括替换信息,例如属性@replace。如果属性@replace设置为

真’,则mpd事件是该会话中所有先前事件的更新,并且连接图(或故事图)替换先前的连接图。mpd事件包括指定连接图的连接元素。连接元素可以包括连接图中的一组简单链接。例如,在图3所示的故事图中,一个链接可以是从p0到p1的连接,另一个链接可以是从p0到p2的连接或从p0到p3的连接。
55.表1
56.[0057][0058]
表2示出了示例性连接元素。在示例性连接元素中,可以指示从第一时段到一个或多个第二时段的一个或多个链接。例如,链接可以由属性@from和属性@to指示。属性@from指示链接开始的时段。属性@to指示链接可以连接到的一个或多个时段。属性@from和@to的值可以是时段id。应注意,属性@to可以包括一个或多个时段id,每个时段id对应一个不同的链接。另外,属性@from的默认值可以是事件的父时段的时段id。例如,在图3所示的示例性故事图中的时段p0处的故事情节事件的连接元素可以用<connection to="1 2 3">或<connection from="0"to="1 2 3">来表示。在该示例中,假设p0@id=“0”、p1@id=“1”、
p2@id=“2”、以及p3@id=“3”。
[0059]
表2
[0060][0061]
根据本公开的各方面,一个或多个连接元素可以包括在一个故事情节事件中。多个连接元素可以提供当前会话的一部分或整个连接图。然而,应注意,在事件的持续时间期间,只有位于当前时段元素结束或接近结束处的那部分连接图处于活动状态,可供选择。例如,如图3所示的整个故事图可以在表3中表示。在该示例中,假设pi@id=“i”。当当前时段为p1时,在事件的持续时间期间只有连接元素<connection from="1"to="4 5">处于活动状态。因此,用户可以选择p4或p5作为下一个时段。
[0062]
表3
[0063][0064]
根据本公开的各方面,可以基于用户选择来更新清单(例如,mpd)。可以通过使用带外(out of band)方法或回调函数将用户选择提供给dash服务器(101)。带外方法可以是不基于dash标准的方法。回调函数可以允许dash客户端(102)向给定url发出http get请求。例如,在用户做出选择之后,dash客户端(102)可以向mpd事件元素中的回调属性(例如,@callbackurl)指示的url地址发出http get请求。所选择的时段id可以包括在该请求的查询参数中。表4示出了示例性的回调函数。
[0065]
表4
[0066][0067]
在本公开中,可以使用易于解析并传递给应用程序/用户界面的mpd事件来提供选择。此外,还可以提供即将出现的选项、部分故事图或整个故事图,并且可以更新故事图。如果故事图通过另一个选择点传递给dash客户端(102)的选择点,则dash客户端(102)一次只能有一个选择,而不能有整个故事图。故事图可以(例如,通过包括过去和将来的连接)在每个事件中更新。事件可以提供允许用户进行选择的开始时间和持续时间(例如,事件活动时段)。如果用户没有进行选择,则可以使用默认的分支故事情节来继续该呈现。由于可以在转换到下一个时段之前设置事件活动持续时间,因此客户端系统(102)可以有时间缓冲下一个时段的内容以便连续回放。应注意,客户端系统(102)可以存储故事图以及所有时段的时段信息,并且能够构建用于回放的交互式本地mpd。
[0068]
本公开提出了传递交互式故事情节流传输内容的方法。可以在故事的时间线中的特定时刻向用户提供多个选择。用户可以在提供的多个选择中进行选择,以改变故事方向。mpd事件可用于传达每个时段的多个选择。mpd事件可以在从当前时段实际转换到下一时段之前激活。mpd事件可以具有一个持续时间,用于客户端系统(102)缓冲所选择的下一时段并在没有中断或重新缓冲的情况下回放内容。可以为每个mpd事件提供故事图中的一个或多个选择点,或者可以在任何mpd事件中提供整个故事图。可以使用每个或一些mpd事件更新部分或整个故事图。mpd事件还可以为客户端系统(102)提供url,以返回用户选择。通过添加用户选择的下一个时段,可以在每个时段结束时更新mpd。dash客户端(102)可以逐步构建故事图,或者如果完全提供了故事图,则可以一步构建故事图。dash客户端(102)还可以存储相应的时段,因此能够构建整个交互式故事情节并在本地生成mpd更新,而无需联系dash服务器(101)进行mpd。在dash客户端(102)播放交互式故事时,dash服务器(101)可以只流传输媒体内容。
[0069]
iii.流程图
[0070]
图4示出了根据本公开一些实施例的概述过程(400)的流程图。在各种实施例中,过程(400)由处理电路执行,例如dash客户端(102)中的处理电路。在一些实施例中,过程(400)以软件指令实现,因此当处理电路执行该软件指令时,处理电路执行过程(400)。过程(400)开始于(s410),其中过程(400)接收mpd文件,所述mpd文件包括指示故事图的多个分支的mpd事件。然后,过程(400)进行到步骤(s420)。
[0071]
在步骤(s420),过程(400)在所述mpd事件的活动持续时间期间从信息处理装置的处理电路接收用户对所述故事图的多个分支中的一个分支的选择,所述用户选择的分支与连接到当前时段的下一时段相对应。然后,过程(400)进行到步骤(s430)。
[0072]
在步骤(s430),过程(400)从服务器接收与所述用户选择的分支相对应的所述下一时段的媒体数据。然后,过程(400)结束。
[0073]
在实施例中,所述mpd事件包括所述活动持续时间的开始时间。
[0074]
在实施例中,过程(400)将指示所述用户选择的分支的选择信息发送给所述服务器。
[0075]
在实施例中,所述选择信息包括与所述用户选择的分支相对应的所述下一时段的
时段标识(id)。
[0076]
在实施例中,过程(400)基于包括在所述mpd事件中的统一资源定位符(url)信息和所述时段id,将所述选择信息发送给内容服务器。
[0077]
在实施例中,更新所述mpd文件以包括所述下一时段的时段信息。
[0078]
在实施例中,过程(400)存储所述mpd事件指示的所述多个分支中的每一个的时段的时段信息;以及根据所述接收的mpd文件和所述用户选择的分支生成本地mpd文件。
[0079]
iv.计算机系统
[0080]
上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图5示出了计算机系统(500),其适于实现所公开主题的某些实施例。
[0081]
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(cpu),图形处理单元(gpu)等直接执行或通过译码、微代码等方式执行。
[0082]
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
[0083]
图5所示的用于计算机系统(500)的组件本质上是示例性的,并不用于对实现本公开实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机系统(500)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
[0084]
计算机系统(500)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0085]
人机界面输入设备可包括以下中的一个或多个(仅绘出其中一个):键盘(501)、鼠标(502)、触控板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)和照相机(508)。
[0086]
计算机系统(500)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(510)、数据手套(未示出)或操纵杆(505)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(509)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(510),其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。这些视觉输出设备(例如触摸屏(510))可以通过图形适配器(550)连接到系统总线(548)。
[0087]
计算机系统(500)还可以包括人可访问的存储设备及其相关介质,如包括具有cd/dvd的高密度只读/可重写式光盘(cd/dvd rom/rw)(520)或类似介质(521)的光学介质、拇
指驱动器(522)、可移动硬盘驱动器或固体状态驱动器(523),诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于rom/asic/pld的专用设备,等等。
[0088]
本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
[0089]
计算机系统(500)还可以包括通往一个或多个通信网络(555)的网络接口(554)。例如,该一个或多个通信网络(555)可以是无线的、有线的、光学的。该一个或多个通信网络(555)还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。该一个或多个通信网络(555)的示例还包括以太网、无线局域网、蜂窝网络(gsm、3g、4g、5g、lte等)等局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括canbus)等等。某些网络通常需要外部网络接口适配器,用于连接到某些通用数据端口或外围总线(549)(例如,计算机系统(500)的usb端口);其它系统通常通过连接到如下所述的系统总线集成到计算机系统(500)的核心(例如,以太网接口集成到pc计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络中的任何一个,计算机系统(500)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如can总线到某些can总线设备),或双向的,例如通过局域或广域数字网络到其它计算机系统。上述的每个网络和网络接口可使用某些协议和协议栈。
[0090]
上述的人机界面设备、人可访问的存储设备以及网络接口可以连接到计算机系统(500)的核心(540)。
[0091]
核心(540)可包括一个或多个中央处理单元(cpu)(541)、图形处理单元(gpu)(542)、以现场可编程门阵列(fpga)(543)形式的专用可编程处理单元、用于特定任务的硬件加速器(544)等。这些设备以及只读存储器(rom)(545)、随机存取存储器(546)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘等)(547)等可通过系统总线(548)进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(548),以便可通过额外的中央处理单元、图形处理单元等进行扩展。外围装置可直接附接到核心的系统总线(548),或通过外围总线(549)进行连接。外围总线的体系结构包括外部外围组件互联pci、通用串行总线usb等。
[0092]
cpu(541)、gpu(542)、fpga(543)和加速器(544)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在rom(545)或ram(546)中。过渡数据也可以存储在ram(546)中,而永久数据可以存储在例如内部大容量存储器(547)中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与一个或多个cpu(541)、gpu(542)、大容量存储器(547)、rom(545)、ram(546)等紧密关联。
[0093]
所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本公开的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
[0094]
作为实施例而非限制,具有体系结构(500)的计算机系统,特别是核心(540),可以作为处理器(包括cpu、gpu、fpga、加速器等)提供执行包含在一个或多个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心(540)的特定存储器,例如核心内部大容量存储器
(547)或rom(545)。实现本公开的各种实施例的软件可以存储在这种设备中并且由核心(540)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(540)特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在ram(546)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器(544))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(ic)),包含执行逻辑的电路,或两者兼备。本公开包括任何合适的硬件和软件组合。
[0095]
虽然本公开已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本公开的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本公开的原则,因此属于本公开的精神和范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献