CN112823047A - 用于控制网络应用程序的系统和设备 - Google Patents

用于控制网络应用程序的系统和设备 Download PDF

Info

Publication number
CN112823047A
CN112823047A CN201980051657.1A CN201980051657A CN112823047A CN 112823047 A CN112823047 A CN 112823047A CN 201980051657 A CN201980051657 A CN 201980051657A CN 112823047 A CN112823047 A CN 112823047A
Authority
CN
China
Prior art keywords
data
remote system
state
game
display device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980051657.1A
Other languages
English (en)
Inventor
A·J·佩内洛
O·S·梁
R·伊沙皮拉普
S·拉玛克里斯南
M·R·惠滕
E·F·杜戈尔
M·里斯利
B·费希尔
D·A·马丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN112823047A publication Critical patent/CN112823047A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/403Connection between platform and handheld device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开部分描述了基于上下文的设备仲裁技术,以从多个语音使本公开部分地描述了用于控制网络应用程序的技术。例如,远程系统可通过网络将表示应用程序状态的数据发送到显示设备,诸如电视机。然后,所述远程系统可通过所述网络从控制设备接收输入数据。所述输入数据可表示由所述控制设备接收的一个或多个输入。所述远程系统可使用所述输入数据来更新所述应用程序的所述状态。然后,所述远程系统可将表示所述应用程序的所述更新状态的数据发送到所述显示设备。在一些情况下,所述远程系统可进一步将表示与所述应用程序的所述更新状态相对应的声音的音频数据发送到所述控制设备。所述控制设备可将所述声音的输出与所述显示设备对所述应用程序的所述更新状态的显示进行同步。

Description

用于控制网络应用程序的系统和设备
相关申请
本申请要求于2018年11月28日提交的名称为“SYSTEMS AND DEVICES FORCONTROLLING NETWORK APPLICATIONS”的美国专利申请16/202,959,该美国专利申请要求于2018年8月6日提交的名称为“Game Controllers”的美国专利临时申请62/715,146的优先权,这些专利的全部内容以引用方式并入本文。
背景技术
随着游戏变得流行,公司已经创建了电子设备诸如视频游戏控制器,该电子设备允许用户玩各种类型的游戏。例如,连接到电视的视频游戏控制器可以使电视显示与游戏状态有关的内容。当电视正在显示该内容时,视频游戏控制器可直接从用户的视频游戏控制器接收输入。然后,视频游戏控制器可处理该输入以便更新游戏状态。基于该更新,视频游戏控制器可以使电视显示与更新的游戏状态有关的内容。如果用户正在玩多人在线游戏,则视频游戏控制器可进一步将表示更新的数据发送到远程服务器。
附图说明
将结合附图进行详细描述。在附图中,参考标号的最左边数字标识首次出现该参考标号的附图。在不同附图中使用相同的附图标号指示相似或相同的项目或特征结构。
图1示出了用于控制网络应用程序的示例性系统的示意图。
图2示出了被配置为与远程系统进行通信的控制设备的示例性架构的框图。
图3示出了被配置为与控制设备和显示设备进行通信的远程系统的示例性架构的框图。
图4示出了使发送到控制设备的数据与发送到显示设备的数据同步的示例的框图。
图5示出了用于与网络中的多个控制设备和显示设备进行通信的示例性系统的示意图。
图6A至图6B示出了用于控制网络应用程序的示例性过程。
图7示出了远程系统与控制设备和显示设备进行通信以便控制网络应用程序的第一示例性过程。
图8示出了远程系统与控制设备和显示设备进行通信以便控制网络应用程序的第二示例性过程。
图9示出了控制设备与远程系统进行通信以便控制网络应用程序的示例性过程。
图10示出了语音处理系统的示例性架构的框图,该语音处理系统从控制设备接收音频数据和/或附加数据,并且执行基于该音频数据和/或附加数据来确定用户意图的技术。
具体实施方式
本公开部分地描述了用于控制网络应用程序的系统和技术。例如,用户可使用经由网络连接与远程系统进行通信的控制设备来控制在远程系统上执行的应用程序。例如,控制设备可以将数据发送到远程系统,其中该数据表示至少由控制设备接收到的输入。然后,远程系统可使用从控制设备接收到的数据来更新应用程序的当前状态。附加地,远程系统可经由网络连接将视频数据发送到显示设备,其中该视频数据表示应用程序的当前状态。这样,在一些情况下,可能不需要附加电子设备诸如视频游戏控制器来执行应用程序和/或处理来自控制设备的数据。在此类示例中,这可以消除对附加电子设备的需求。
更详细地,用户可以初始地配置控制设备。该控制设备可包括但不限于视频游戏控制器、键盘、鼠标、平板电脑、移动电话、计算机、相机、麦克风和/或任何其他类型的能够从用户接收输入并且/或者能够生成数据的过程。为了配置控制设备,用户可将配置设置输入到控制设备和/或另一设备中。如果配置设置被输入到另一设备,则另一设备然后可将表示配置设置的数据发送到控制设备。配置设置可包括但不限于与网络设备相关联的标识符(例如,与路由器相关联的服务集标识符(SSID))、密码等。然后,控制设备可存储表示配置设置的数据。附加地,控制设备可使用配置设置来连接到网络,以便与远程系统进行通信。
在一些情况下,用户可进一步用远程系统来配置控制设备。例如,远程系统可从控制设备和/或另一设备接收表示控制设备标识符的数据。如本文所述,设备的标识符可包括但不限于互联网协议(IP)地址、媒体访问控制(MAC)地址、数字标识符、字母标识符、数字和字母混合标识符和/或可用于识别设备的任何其他类型的标识符。然后,远程系统可将表示控制设备标识符的数据存储在与用户相关联的用户配置文件中。在一些情况下,如果远程系统尚未存储用户配置文件,则远程系统可在将表示标识符的数据存储在用户配置文件中之前先生成用户配置文件。
在一些情况下,用户可进一步用远程系统来配置一个或多个显示设备。显示设备可包括但不限于电视、投影仪、监视器、平板电脑、移动电话、连接到另一显示设备的外围设备和/或能够显示内容(例如,图像、视频等)并且/或者能够使另一设备显示内容的任何其他类型的设备。为了配置显示设备,远程系统可从显示设备和/或另一设备接收表示显示设备标识符的数据。然后,远程系统可将表示显示设备标识符的数据存储在用户配置文件中。
在一些情况下,远程系统可进一步存储表示可由控制设备经由网络访问的一个或多个应用程序的数据。应用程序可包括但不限于游戏应用程序、文字处理应用程序、教育应用程序、多媒体应用程序(例如电影、音乐等)和/或能够经由网络进行访问的任何其他类型的应用程序。远程系统可将所述应用程序中的一个或多个应用程序与用户配置文件相关联。例如,远程系统可接收指示用户已经从远程系统获取(例如,购买、租赁等)应用程序的数据。在一些情况下,远程系统然后可在用户配置文件中存储指示用户被应用程序获取的数据。
要访问应用程序,控制设备可使用配置设置来连接到网络。然后,控制设备可将表示至少与控制设备相关联的标识符的数据发送到远程系统。远程系统可接收数据,并使用用户配置文件来确定从控制设备接收到数据。远程系统可进一步使用用户配置文件来确定控制设备与至少显示设备相关联。在一些情况下,远程系统然后可将表示由用户获取的一个或多个应用程序的数据(例如,视频数据、音频数据等)发送到显示设备。在一些情况下,远程系统可将表示用户可访问的一个或多个附加应用程序的数据(例如,视频数据、音频数据等)发送到显示设备。在任一示例中,显示设备可接收该数据并显示识别所述一个或多个应用程序的内容。例如,该内容可包括用户可访问的所述一个或多个应用程序中的每一个应用程序的各自的标识符(例如,名称)。
然后,远程系统可从控制设备接收表示对应用程序的选择的数据(例如,输入数据)。至少部分地基于数据,远程系统可开始执行表示应用程序的数据(例如,计算机代码)。然后,远程系统可开始接收表示由控制设备接收到的输入的数据。在一些情况下,每次控制设备接收到输入时,远程系统就会接收数据。在一些情况下,远程系统以给定的时间间隔(例如,每一毫秒、每十毫秒、每秒等)接收数据。在任一情况下,远程系统基于控制设备接收到的输入,使用数据来更新应用程序的状态。然后,远程系统可将表示应用程序状态的数据发送到显示设备。
例如,远程系统可将表示应用程序的第一状态的数据(例如,视频数据、音频数据等)发送到显示设备。例如,如果该应用程序包括游戏应用程序,则该应用程序的第一状态可包括位于游戏环境(例如,森林)内的第一位置处的对象(例如,角色)。显示设备可从远程系统接收数据。显示设备可使用数据来显示表示应用程序的第一状态的图像。例如,并且如果该应用程序再次包括游戏应用程序,则显示设备可显示表示位于游戏环境内的第一位置处的对象的内容。在一些情况下,显示设备可进一步输出由音频数据表示的声音。然后,用户可使用控制设备经由远程系统向应用程序提供输入。
例如,控制设备可接收输入,诸如对与控制设备相关联的按钮、操纵杆、按键、触敏板、传感器等的选择。然后,控制设备可将表示输入的数据发送到远程系统。远程系统可使用该数据来将应用程序的第一状态更新为应用程序的第二状态。例如,并且如果该应用程序再次包括游戏应用程序,则该输入可与在游戏环境内将对象向前移动给定的量相关联。这样,远程系统可通过将对象在环境中向前移动给定的量来将应用程序的第一状态更新为应用程序的第二状态。然后,远程系统可将表示应用程序的第二状态的数据(例如,视频数据、音频数据等)发送到显示设备。显示设备可显示表示游戏的第二状态的图像。例如,显示设备可显示表示位于游戏环境内第二位置处的对象的内容。附加地,在一些情况下,显示设备可进一步输出由音频数据表示的声音。然后,当远程系统继续从控制设备接收数据时,远程系统可继续执行类似的过程以更新显示设备上的应用程序的状态。
在一些情况下,远程系统可进一步将数据(例如,视频数据、音频数据等)发送到控制设备,其中该数据与显示设备正在显示的应用程序的状态相关联。例如,远程系统可将表示与显示设备正在显示的应用程序的当前状态相对应的声音的音频数据发送到控制设备。控制设备可从远程系统接收该音频数据,并且作为响应,输出声音。在一些情况下,当将音频数据发送到控制设备时,远程系统、控制设备和/或另一设备可将音频数据的输出与应用程序的当前状态同步。
针对第一示例,远程系统可生成表示与发送到显示设备的数据相关联的第一时间戳的第一时间戳数据和/或表示与发送到控制设备的音频数据相关联的第二时间戳的第二时间戳数据。然后,远程系统可将第一时间戳数据发送到显示设备,并且将第二时间戳数据发送到控制设备。在一些情况下,远程系统将第一时间戳数据作为第一数据分组的一部分发送到显示设备,其中该第一数据分组还包括视频数据。在其他情况下,远程系统将第一时间戳数据与视频数据分开发送到显示设备。附加地,在一些情况下,远程系统将第二时间戳数据作为第二数据分组的一部分发送到控制设备,其中第二数据分组还包括音频数据。在其他情况下,远程系统将第二时间戳数据与音频数据分开发送到控制设备。
第二时间戳数据可被控制设备用来将音频数据的输出与显示设备对应用程序的当前状态的显示同步。例如,第一时间戳数据可包括在第一时间显示应用程序当前状态的第一指令,并且第二时间戳数据可包括在第二时间输出声音的第二指令,其中第一时间类似于第二时间(例如,第一时间与第二时间相同、第一时间与第二时间相差阈值时间段等)。这样,控制设备可将音频数据和/或第二时间戳数据存储在缓冲器中。然后,控制设备可确定当前时间何时包括由第二时间戳数据表示的第二时间。在当前时间包括第二时间时,控制设备可输出由音频数据表示的声音。
针对第二示例,远程系统可将音频数据、视频数据、第一时间戳数据和第二时间戳数据发送到单独的电子设备诸如加密狗。然后,电子设备可使用第一时间戳数据和第二时间戳数据来确定何时分别将视频数据发送到显示设备以及何时将音频数据发送到控制设备。例如,电子设备可在第一时间将视频数据发送到显示设备。至少部分地基于接收视频数据,显示设备可显示应用程序的当前状态。附加地,电子设备可在第二时间将音频数据发送到控制设备。至少部分地基于接收音频数据,控制设备可输出声音。
在一些情况下,远程系统可从控制设备接收表示来自用户的用户语音的音频数据。然后,远程系统可处理音频数据并基于该处理来执行一个或多个功能。针对第一示例,如果用户语音对应于将由应用程序执行的动作,则远程系统可基于用户语音来更新应用程序的状态。例如,如果用户语音包括一个或多个字词诸如“将对象向前移动”,则远程系统可通过在游戏环境内向前移动对象来更新应用程序的状态。针对第二示例,如果用户语音对应于将消息发送给用户的联系人的请求,则远程系统可将消息发送给联系人。例如,如果该应用程序包括游戏应用程序,则该消息可包括与用户一起加入多人游戏的请求。
针对第三示例,如果用户语音对应于选择应用程序的请求,则远程系统可选择该应用程序,并且/或者开始将表示该应用程序的数据发送到显示设备。例如,如果用户语音包括一个或多个字词诸如“玩第一游戏应用程序”,则远程系统可选择第一游戏应用程序,并且/或者开始将表示该第一游戏应用程序的数据发送到显示设备。尽管这些仅仅是使用用户语音来执行一个或多个功能的几个示例,但是在其他示例中,远程系统可基于从控制设备接收的音频数据来执行其他功能。
在一些情况下,诸如当应用程序包括游戏应用程序时,远程系统可执行与视频游戏控制器、计算设备、平板电脑和/或其他电子设备类似的过程和/或技术,以处理由控制设备接收到的输入。然而,不同于传统的视频游戏控制器、计算设备、平板电脑和/或正在执行游戏应用程序的其他电子设备,远程系统可远离控制设备和/或显示设备。例如,控制设备和/或显示设备可位于用户的环境中,诸如用户的房间、公寓、公司等。远程系统可远离用户环境,并且可经由网络与控制设备和显示设备中的每一者进行通信。
在以上示例中,远程系统可远离控制设备和显示设备。例如,控制设备和显示设备可位于诸如以下环境中,诸如用户的房间、公寓、公司等。然后,远程系统诸如基于云的系统可位于远离环境的位置。在其他情况下,远程系统可位于与控制设备和/或显示设备相同的环境中。例如,远程系统可包括位于环境内的设备。
在一些情况下,通过使控制设备直接与远程系统进行通信,本文所述的过程和技术可以减少使用应用程序时的等待时间。例如,并且针对在线游戏,代替使用视频游戏控制器来处理来自控制设备的输入并且然后将表示对游戏的更新的数据发送到远程系统,控制设备将输入数据直接发送到远程系统(即不需要将输入数据发送到视频游戏控制器),其中该远程系统然后处理该输入,这可以减少由输入数据最初被发送到视频游戏控制器引起的等待时间和/或由视频游戏控制器处理输入数据引起的等待时间。
图1是用于控制网络应用程序的示例性系统100的示意图。系统100可包括例如远程系统102、控制设备104和显示设备106。在图1的示例中,控制设备104可诸如通过使用第一通信信道通过网络108与远程系统102进行通信。例如,控制设备104可将数据发送到远程系统102(由112表示),并且远程系统102可将数据发送到控制设备104(由114表示)。附加地,显示设备106可诸如通过使用第二通信信道通过网络108与远程系统102进行通信。例如,显示设备106可将数据发送到远程系统102(由116表示),并且远程系统102可将数据发送到显示设备106(由118表示)。通过用控制设备104和显示设备106来发送和接收数据,远程系统102允许用户110经由远程系统102使用控制设备104来控制由显示设备106显示的应用程序。
例如,用户110可以初始地配置控制设备104。控制设备104可包括但不限于视频游戏控制器、键盘、鼠标、平板电脑、移动电话、计算机、相机、麦克风和/或任何其他类型的能够从用户110接收输入并且/或者生成数据的过程。为了配置控制设备104,用户110可将配置设置输入到控制设备104和/或另一设备中。如果配置设置被输入到另一设备,则另一设备然后可将表示配置设置的数据发送到控制设备104。配置设置可包括但不限于与网络设备相关联的标识符(例如,与路由器(未示出)相关联的SSID)、密码等。然后,控制设备104可存储表示配置设置的数据。附加地,控制设备104可使用配置设置来连接到网络108,以便与远程系统102进行通信。
在一些情况下,用户110可进一步用远程系统102来配置控制设备104。例如,远程系统102可从控制设备104和/或另一设备接收表示控制设备104的标识符的标识符数据120。控制设备104的标识符可包括但不限于IP地址、MAC地址、数字标识符、字母标识符、数字和字母的混合标识符和/或可用于识别控制设备104的任何其他类型的标识符。然后,配置组件122可被配置为与用户配置文件相关联地存储表示控制设备104的标识符的标识符数据120,其中用户配置文件由用户配置文件数据124表示。
在一些情况下,用户110可进一步用远程系统102来配置一个或多个显示设备,诸如显示设备106。显示设备106可包括但不限于电视、投影仪、监视器、平板电脑、移动电话、连接到另一显示设备的外围设备和/或能够显示内容(例如,图像、视频等)并且/或者能够使另一设备显示内容的任何其他类型的设备。为了配置显示设备106,远程系统102可从显示设备106和/或另一个设备接收表示显示设备106的标识符的标识符数据120。显示设备106的标识符可包括但不限于IP地址、MAC地址、数字标识符、字母标识符、数字和字母的混合标识符和/或用于识别显示设备106的任何其他类型的标识符。然后,配置组件122可被配置为与用户配置文件相关联地存储表示显示设备106的标识符的标识符数据120。
在一些情况下,远程系统102可进一步存储表示可由控制设备104经由网络108访问的一个或多个应用程序的数据126。应用程序可包括但不限于游戏应用程序、文字处理应用程序、教育应用程序、多媒体应用程序(例如电影、音乐等)和/或能够经由网络108进行访问的任何其他类型的应用程序。在一些情况下,远程系统102可将一个或多个应用程序与用户配置文件相关联。例如,远程系统102可接收指示用户110已经从远程系统102获取(例如,购买、租赁等)应用程序的数据。在一些情况下,远程系统102然后可存储指示用户110被应用程序获取的应用程序数据128。然后,远程系统102可允许用户110使用控制设备104来访问应用程序。
为了访问应用程序,控制设备104可诸如通过使用配置设置来连接到网络108。然后,控制设备104可将表示至少与控制设备104相关联的标识符的标识符数据120发送到远程系统102。远程系统102可接收标识符数据120,并使用用户配置文件数据124(例如,所存储的标识符数据120)来确定从控制设备104接收到标识符数据120。例如,远程系统102可将从控制设备104接收到的由标识符数据120表示的标识符与由所存储的标识符数据120表示的标识符进行匹配。至少部分地基于该匹配,远程系统102可确定标识符数据120是从控制设备104发送的。
远程系统102可进一步使用用户配置文件数据124来确定控制设备104与至少显示设备106相关联。例如,并且至少部分地基于确定标识符数据120是从控制设备104发送的,远程系统102可分析与用户110相关联的用户配置文件数据124。然后,远程系统102可确定用户配置文件数据124包括表示显示设备106的标识符的标识符数据120和/或与该标识符数据相关联。至少部分地基于该确定,远程系统102可确定控制设备104与显示设备106相关联。
在一些情况下,远程系统102然后可将表示用户110可用的一个或多个应用程序的数据(例如,视频数据、音频数据等)发送到显示设备106。在一些情况下,一个或多个应用程序可包括用户110已经获取的一个或多个应用程序(例如,由应用程序数据128表示的一个或多个应用程序)。附加地或另选地,在一些情况下,一个或多个应用程序可包括对用户免费的一个或多个应用程序。在任一示例中,显示设备106可从远程系统102接收数据。然后,显示设备106可显示表示用户110可用的一个或多个应用程序的图像。例如,图像可包括用户110可用的一个或多个应用程序的一个或多个标识符(例如,一个或多个名称)。
然后,远程系统102可从控制设备104接收表示由控制设备104接收的输入的输入数据130。远程系统102可分析输入数据130以识别由用户110选择的应用程序。例如,输入可对应于对象在表示一个或多个应用程序的图像上的移动,诸如光标。输入可进一步对应于对应用程序中的一个应用程序的选择(例如,当对象位于所选择的应用程序上方时对控制设备104上的控件的选择)。然后,远程系统102可至少部分地基于该选择来确定用户110选择了该应用程序。
然后,远程系统102可将表示应用程序的第一状态的数据发送到显示设备106。该数据可包括表示应用程序的第一状态的图像的第一视频数据132,表示与应用程序的第一状态相对应的声音的第一音频数据134和/或表示显示应用程序的第一状态的时间和/或输出声音的时间的第一时间戳数据136。在一些情况下,远程系统102发送包括第一视频数据132、第一音频数据134和/或第一时间戳数据136的第一数据分组。在其他情况下,远程系统102可将第一视频数据、第一音频数据和/或第一时间戳数据136分别发送到显示设备106。
显示设备106可从远程系统102接收数据(和/或第一数据分组)。显示设备106可使用第一视频数据132来显示表示应用程序的第一状态的图像。例如,如果该应用程序包括游戏应用程序,则显示设备106可显示表示游戏的第一状态的内容。在图1的示例中,游戏的第一状态可包括位于游戏环境(例如,森林)中的第一位置处的对象(例如,角色)。在一些情况下,显示设备106可进一步输出由第一音频数据134表示的声音。在一些情况下,显示设备106根据第一时间戳数据136所表示的时间来显示图像和/或输出声音。
例如,显示设备106可确定当前时间何时包括由第一时间戳数据136表示的显示第一视频数据132的时间。至少部分地基于该确定,显示设备106可开始显示表示应用程序的第一状态的图像。附加地,显示设备106可确定当前时间何时包括由第一时间戳数据136表示的输出声音的时间。至少部分地基于该确定,显示设备106可开始输出由第一音频数据134表示的声音。
在一些情况下,远程系统102可附加地将表示应用程序的第一状态的数据发送到控制设备104。该数据可包括表示与应用程序的第一状态相对应的声音的第二音频数据134和/或表示输出声音的时间第二时间戳数据136。在一些情况下,远程系统102发送包括第二音频数据134和/或第二时间戳数据136的第二数据分组。在其他情况下,远程系统102可与第二时间戳数据136分开发送第二音频数据134。然后,控制设备104可输出由第二音频数据134表示的声音。在一些情况下,控制设备104可根据第二时间戳数据136所表示的时间来输出声音。在一些情况下,第一时间戳数据136和/或第二时间戳数据136使显示设备106对声音的输出与显示设备106对图像的显示同步。
例如,同步组件138可被配置为将至少显示设备106对图像的显示与控制设备104对声音的输出同步。为了执行同步,同步组件138可生成用于显示图像的第一时间戳数据136和/或用于输出声音的第二时间戳数据136。例如,第一时间戳数据136可表示在第一时间显示图像的指令。附加地,第二时间戳数据136可表示在第二时间输出声音的指令。在一些情况下,第一时间可类似于第二时间。在一些情况下,第一时间可与第二时间相差阈值时间段。该阈值时间段可包括但不限于1毫秒、10毫秒、1秒等。
然后,用户110可使用控制设备104来向应用程序提供输入。例如,控制设备104可接收输入,诸如对与控制设备104相关联的按钮、操纵杆、按键、触敏板、传感器等的选择。然后,控制设备104可将表示输入的输入数据130发送到远程系统102。处理组件140可使用输入数据130来将应用程序的第一状态更新为应用程序的第二状态。例如,并且使用应用程序包括游戏应用程序的上述示例,输入可与在游戏环境内将对象向前移动给定的量相关联。这样,处理组件140可分析输入数据130以确定输入包括将对象向前移动给定的量。然后,处理组件140可通过将对象在环境中向前移动给定的量来将应用程序的第一状态更新为应用程序的第二状态。
然后,远程系统102可将表示应用程序的第二状态的数据发送到显示设备106。该数据可包括表示应用程序的第二状态的图像的第三视频数据132,表示与应用程序的第二状态相对应的声音的第三音频数据134和/或表示显示应用程序的第二状态的时间和/或输出声音的时间的第三时间戳数据136。在一些情况下,远程系统102发送第三数据分组,该第三数据分组包括第三视频数据132、第三音频数据134和/或第三时间戳数据136。在其他情况下,远程系统102可将第三视频数据、第三音频数据和/或第三时间戳数据136分别发送到显示设备106。
显示设备106可从远程系统102接收数据(和/或第三数据分组)。显示设备106可使用第三视频数据132来显示表示应用程序的第二状态的图像。例如,并且再次使用应用程序包括游戏应用程序的示例,显示设备106可显示位于游戏环境内第二位置处的对象。在一些情况下,显示设备106可进一步输出由第三音频数据134表示的声音。在一些情况下,显示设备106根据第三时间戳数据136所表示的时间来显示图像和/或输出声音。
在一些情况下,远程系统102可附加地将表示应用程序的第二状态的数据发送到控制设备104。该数据可包括表示与应用程序的第二状态相对应的声音的第四音频数据134和/或表示输出声音的时间的第四时间戳数据136。在一些情况下,远程系统102发送包括第四音频数据134和/或第四时间戳数据136的第四数据分组。在其他情况下,远程系统102可与第四时间戳数据136分开发送第四音频数据。在任一情况下,控制设备104然后可输出由第四音频数据134表示的声音。在一些情况下,控制设备104可根据第四时间戳数据136所表示的时间来输出声音。在一些情况下,第三时间戳数据136和/或第四时间戳数据136使显示设备106对声音的输出与显示设备106对图像的显示同步。
在一些情况下,远程系统102可继续从控制设备104接收输入数据130。然后,处理组件140可继续处理输入数据130以便更新应用程序的状态。至少部分地基于更新,远程系统102可继续将表示应用程序的当前状态的数据(例如,视频数据132、音频数据134、时间戳数据136等)发送到显示设备106。在一些情况下,远程系统102将数据作为数据分组发送到显示设备106。远程系统102可进一步将表示应用程序当前状态的数据(例如,音频数据134、时间戳数据136等)发送到控制设备。在一些情况下,远程系统102将数据作为数据分组的一部分发送到控制设备104。
如图1进一步所示,远程系统102可包括语音处理系统142,该语音处理系统包括自动语音识别(ASR)组件144和自然语言理解(NLU)组件146。在一些情况下,从控制设备104接收到的输入数据130可包括表示来自用户110的用户语音的音频数据。例如,控制设备104可包括至少一个麦克风,该麦克风捕获来自用户110的用户语音。然后,控制设备104可生成表示用户语音的音频数据,并且将该音频数据(例如,输入数据130)发送到远程系统102。在输入数据130包括音频数据的情况下,ASR组件144可分析音频数据以便生成表示用户语音的文本数据。
然后,NLU组件146可使用文本数据来对文本进行语义解读。即,NLU组件146基于各个字词来确定文本背后的含义,然后实现该含义。NLU组件146解读文本串以从用户110中得出意图或期望动作以及处理组件140中的相关信息,以确定如何更新应用程序的当前状态。例如,如果使用ASR组件144处理的用户语音包括文本“将对象向前移动”,则NLU组件146可确定用户110打算使对象在环境中向前移动。然后,类似于上述过程,处理组件140可使用该意图来更新应用程序的状态。
在示例中,远程系统102的组件和/或系统中的一些或每一者可包括它们自己的处理器、网络接口和/或存储器。这样,通过示例的方式,应用程序系统148可包括处理器、网络接口和/或存储器,并且/或者可与该处理器、网络接口和/或存储器相关联。附加地,语音处理系统142可包括不同的处理器、网络接口和/或存储器,并且/或者可与不同的处理器、网络接口和/或存储器相关联,或者这些组件中的一个或多个组件可利用应用程序系统148所使用的相同处理器、网络接口和/或存储器中的一些或全部。这些组件将在本文详细描述。附加地,可利用基于云的计算资源来执行与远程系统102的组件相关联和/或相对于该远程系统的组件所描述的操作和/或功能。例如,基于Web的系统诸如Elastic Compute Cloud系统或类似系统可用于生成和/或呈现虚拟计算环境,以执行本文描述的功能中的一些或全部功能。附加地或另选地,可利用可被配置为执行操作而无需调配和/或管理服务器的一个或多个系统,诸如Lambda系统或类似系统。
图2示出了被配置为与远程系统102进行通信的控制设备104的示例性架构的框图。如图所示,控制设备104包括一个或多个处理器202、一个或多个网络接口204、一个或多个扬声器206、一个或多个麦克风208、一个或多个输入设备210、一个或多个输出设备212、一个或多个功率组件214、一个或多个灯216、一个或多个外围输入218和存储器220。在一些情况下,控制设备104可包括一个或多个未在图2的示例中示出的附加组件。在一些情况下,控制设备104可不包括一个或多个扬声器206、一个或多个麦克风208、一个或多个输入设备210、一个或多个输出设备212、一个或多个灯216或一个或多个外围输入218。
尽管控制设备104被示为具有一个或多个整体扬声器206,但在其他示例中,控制设备104可不包括扬声器206。例如,控制设备104可产生音频输出信号,该音频输出信号驱动外部扬声器诸如经由外围输入218连接到控制设备104的耳机。又如,控制设备104可通过无线数据连接诸如蓝牙连接来驱动或控制外部扬声器。在其他情况下,控制设备104可与扬声器设备结合使用,该扬声器设备从远程系统102而非从控制设备104接收音频数据和其他指令。
麦克风208可包括被配置为接收声音的传感器(例如,换能器)。麦克风208可生成用于音频输入(例如,声音)的输入信号。例如,麦克风208可确定用于用户话语的数字输入信号。在一些情况下,麦克风208以阵列形式实现。该阵列可以几何图案布置,诸如线性几何形式、圆形几何形式或任何其他配置。例如,对于给定点,四个传感器的阵列可以以90度增量(例如,0、90、180、2112)放置在圆形图案中以从四个方向接收声音。麦克风208可以处于平面构型中,或者在非平面三维区域中分开放置。在一些情况下,麦克风208可包括数据通信中的空间上不同的传感器阵列。例如,可包括传感器的网络阵列。麦克风208可包括全向麦克风、定向麦克风(例如,短枪式麦克风)等。
在一些情况下,麦克风208和扬声器206促进与用户的交互,诸如对话。麦克风208产生表示来自控制设备104环境的声音的音频数据,诸如用户的语音。由麦克风208产生的音频数据可包括定向音频信号,或者可以用于产生定向音频信号,其中定向音频信号中的每一个强调相对于麦克风208来自不同径向方向的音频。
输入设备210可包括检测控制设备104移动的按钮、按键、操纵杆、触敏板、触发器、传感器(例如,加速度计、磁力计等)和/或能够接收用户输入的任何其他类型的设备。输出设备212可包括向用户提供反馈的设备。例如,输出设备210可包括使致动器激活的触觉驱动器。
功率组件214可被配置为向控制设备104提供功率。针对第一示例,功率组件214可包括一个或多个电池。针对第二示例,功率组件214可包括连接到外部交流(AC)电源的组件,诸如家用AC电源(在本文中替代地称为AC干线或壁式电源)。
灯216可包括当被控制设备104激活时发光的视觉指示器(例如,发光二极管(LED))。在一些情况下,视觉指示器可包括设置在控制设备104的一部分上的灯环。在其他情况下,视觉指示器可设置在控制设备104上的各个部分上。外围输入218可包括用于将外围设备连接到控制设备104的一个或多个组件。例如,外围输入218可包括用于将耳机连接到控制设备104的插孔。
控制设备104可包括存储器220。存储器220可用于存储可由处理器202执行的任何数量的软件组件。存储在存储器220中的软件组件可包括操作系统222,该操作系统被配置为管理位于控制设备104内并耦合到该控制设备的硬件和服务。另外,由存储器220存储的可执行组件可包括被配置为使用麦克风208来产生音频数据的音频处理组件224。音频处理组件224可包括用于处理由麦克风208生成的麦克风音频数据和/或提供给扬声器206的输出音频数据的功能。例如,音频处理组件224可包括声学回声消除或抑制组件,该声学回声消除或抑制组件用于减少由麦克风208和扬声器206之间的声学耦合产生的声学回声。音频处理组件224还可以包括用于减少所接收的音频数据中的噪声(诸如除用户语音之外的麦克风音频数据的元素)的降噪组件。
附加地,音频处理组件224可包括唤醒词检测组件,该唤醒词检测组件监测音频信号以检测触发表达的系统的用户话语。例如,唤醒词检测可使用关键词发现技术来实现。
如图2进一步所示,存储器220可包括由控制设备104生成的输入数据130,其中控制设备104将输入数据130发送到至少远程系统102。附加地,存储器220可包括控制设备104从远程系统102接收的视频数据132、音频数据134和/或时间戳数据136。附加地,存储器220可存储控制设备104可发送给远程系统102的标识符数据120。
如图2进一步所示,存储器220可存储配置数据226。控制设备104可使用配置数据226来建立与网络诸如网络108的连接。例如,配置数据226可表示SSID和密码。
如图2进一步所示,电子设备104可连接到外围设备226。外围设备226可包括但不限于耳机、扬声器、显示器、输入设备(例如,键盘、鼠标、按钮等)等。在一些情况下,电子设备104包括与外围设备226的有线连接。例如,外围设备226可连接到外围输入218。在一些情况下,电子设备104包括与外围设备226的无线连接。例如,电子设备104可通过网络与外围设备226进行通信。
尽管图2的示例将外围设备226图示为与电子设备104分离,但在其他情况下,电子设备104可包括外围设备226。例如,电子设备104可包括耳机。
图3示出了被配置为与控制设备104和显示设备106进行通信的远程系统102的示例架构的框图。如图所示,应用系统148可包括处理器302、网络接口304和存储器306。附加地,语音处理系统142可包括处理器308、网络接口310和存储器312。
如本文所使用的,处理器诸如处理器202、处理器302和/或处理器308可包括多个处理器和/或具有多个核的处理器。此外,处理器可包括一个或多个不同类型的核。例如,处理器可包括应用程序处理器单元、图形处理单元等。在一个实例中,处理器可包括微控制器和/或微处理器。处理器202、处理器302和/或处理器308可包括图形处理单元(GPU)、微处理器、数字信号处理器或本领域已知的其他处理单元或组件。另选地或附加地,本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如但不限于,可使用的例示性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统系统(SOC)、复杂的可编程逻辑器件(CPLD)等。此外,处理器202、处理器302和/或处理器308中的每一者可拥有自己的本地存储器,这些存储器也可存储程序组件、程序数据和/或一个或多个操作系统。
存储器220、存储器306和/或存储器312可包括易失性和非易失性存储器、可移动和不可移动介质,这些存储器和介质以用于存储信息诸如计算机可读指令、数据结构、程序组件或其它数据的任何方法或技术来实现。存储器220、存储器306和/或存储器312包括但不限于RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁性存储装置、RAID存储系统,或可用于存储所需信息并可由计算设备访问的任何其他介质。存储器220、存储器306和/或存储器312可被实现为计算机可读存储介质(“CRSM”),其可以是处理器202、处理器302和/或处理器308可访问以执行存储在存储器220、存储器306和/或存储器312上的指令的任何可用物理介质。在一种基本的实例中,CRSM可包括随机存取存储器(“RAM”)和闪存存储器。在其他情况中,CRSM可包括但不限于只读存储器(“ROM”)、电可擦除可编程只读存储器(“EEPROM”)或可用于存储所需信息并可由处理器访问的任何其他有形介质。
此外,功能组件可存储在相应存储器中,或者相同的功能可替代地以硬件、固件、专用集成电路、现场可编程门阵列或作为片上系统(SoC)来实现。另外,虽然未示出,但是本文所讨论的每个相应存储器(诸如存储器220、存储器306和/或存储器312)可包括被配置为管理诸如网络接口的硬件资源设备、相应装置的I/O设备等并向在处理器上执行的应用程序或组件提供各种服务的至少一个操作系统(OS)组件。这样的OS组件可实现如FreeBSD项目发布的FreeBSD操作系统的变体;其他UNIX或类UNIX的变体;如Linus Torvalds发布的Linux操作系统的变体;美国华盛顿州西雅图市Amazon.com Inc.的FireOS操作系统;美国华盛顿州雷蒙德市微软公司的Windows操作系统;如由加利福尼亚州圣何塞市的LynxSoftware Technologies,Inc.发布的LynxOS;如瑞典的ENEA AB发布的嵌入式操作系统(Enea OSE)等。
网络接口204、网络接口304和/或网络接口312可启用远程系统102、控制设备104、显示设备106之间和/或与一个或多个其他远程系统以及其他联网设备的消息。网络接口204、网络接口304和/或网络接口310可包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备以通过网络108发送和接收消息。
例如,网络接口204、网络接口304和/或网络接口310中的每一者可包括个人局域网(PAN)部件以使得能够通过一个或多个短距离无线消息信道传送消息。例如,PAN部件可启用符合以下标准IEEE 802.15.4(ZigBee)、IEEE 802.15.1(蓝牙)、IEEE 802.11(WiFi)或任何其他PAN消息协议中的至少一者的消息。此外,网络接口204、网络接口304和/或网络接口310中的每一者可包括广域网(WAN)部件以使得能够通过广域网传送消息。
图4示出了使发送到控制设备104的数据与发送到显示设备106的数据同步的示例的框图。在图4的示例中,控制设备104可与网络设备402诸如接入点建立网络连接。附加地,显示设备106可连接到电子设备404,其中电子设备404包括用于与网络设备402建立网络连接的网络接口。然而,在其他示例中,电子设备404可以被包括在显示设备106内。另外,在其他示例中,显示设备106可包括用于与网络设备402建立网络连接的网络接口(例如,电子设备404将不被包括在图4的示例中)。
远程系统102可至少将音频数据134和第一时间戳数据136发送到控制设备104。在一些情况下,远程系统102发送音频数据134和第一时间戳数据136作为第一数据分组的一部分。音频数据134可表示与应用程序的状态相对应的声音。例如,如果该应用程序是游戏应用程序,则音频数据134可表示与游戏状态相对应的声音。第一时间戳数据136可表示在第一时间输出由音频数据134表示的声音的第一指令。
附加地,远程系统102可将至少视频数据132和/或第二时间戳数据136发送到控制设备104。在一些情况下,远程系统102发送视频数据132和/或第二时间戳数据136作为第二数据分组的一部分。视频数据132可表示与应用程序的状态相对应的图像。第二时间戳数据136可表示在第二时间显示由视频数据132表示的图像的第二指令。在一些情况下,第二时间可类似于(例如,包括)第一时间。在其他情况下,第二时间可与第一时间相差阈值时间段。
在图4的示例中,控制设备104可将音频数据134和第一时间戳数据136存储在存储器220中。然后,控制设备104可确定当前时间何时包括由第一时间戳数据136表示的第一时间。至少部分地基于该确定,控制设备104可以使由音频数据134表示的声音被输出。在一些情况下,为了使声音被输出,控制设备104可使用扬声器206来输出声音。附加地或另选地,在一些情况下,为了使声音被输出,控制设备104可将音频数据134发送到外围设备406,其中外围设备406包括用于输出声音的扬声器。例如,控制设备104可连接到耳机(例如,外围设备406)。在这样的示例中,控制设备104可将音频数据134发送到可输出声音的耳机。
附加地,显示设备106可显示由视频数据132表示的图像。在一些情况下,诸如当远程系统102没有将第二时间戳数据136发送到显示设备106时,显示设备106可在显示设备106正在接收视频数据132时开始显示图像。在其他情况下,诸如当远程系统102确实发送第二时间戳数据136时,显示设备106可将视频数据132存储在存储器中。然后,显示设备106可确定当前时间何时包括第二时间戳数据136表示的第二时间。至少部分地基于该确定,显示设备106可开始显示图像。
在图4的示例中,控制设备104、显示设备106、网络设备402、电子设备404和外围设备406可位于诸如用户的房间的环境中。附加地,远程系统102可位于远离环境的位置。然而,在其他示例中,显示设备106、网络设备402、电子设备404和外围设备406中的一者或多者可位于远离环境的位置。
图5示出了用于与网络中的多个控制设备和显示设备进行通信的示例性系统500的示意图。系统500可包括例如远程系统102、控制设备104、显示设备106、一个或多个附加控制设备502以及一个或多个附加显示设备504。在图5的示例中,远程系统102可通过网络108从控制设备104接收输入数据130。然后,远程系统102可使用输入数据130来更新与控制设备104相关联的应用程序的本地状态。附加地,远程系统102可通过网络108将表示与控制设备104相关联的应用程序的本地状态的视频数据132、音频数据134和/或时间戳数据136发送到显示设备106。此外,远程系统102可通过网络108将表示与控制设备104相关联的应用程序的当前本地状态的数据发送到一个或多个显示设备504。
远程系统102还可以针对其他一个或多个其他控制设备502中的每一个执行类似的处理。例如,远程系统102可通过网络108从控制设备502接收输入数据130。然后,远程系统102可使用输入数据130来更新与控制设备502相关联的应用程序的本地状态。附加地,远程系统102可通过网络108将表示与控制设备502相关联的应用程序的本地状态的视频数据132、音频数据134和/或时间戳数据136发送到显示设备504(与控制设备502相关联)。此外,远程系统102可通过网络108将表示与控制设备502相关联的应用程序的当前本地状态的数据发送到显示设备106和/或一个或多个其他显示设备504。
在一些情况下,诸如当应用程序包括游戏应用程序时,远程系统102可存储游戏环境的权威版本。然后,远程系统102可使用来自控制设备的输入数据130来更新环境内的对象(例如,人物、车辆、建筑物等)的位置。这样,表示与控制设备诸如控制设备104相关联的应用程序的本地状态的数据可表示由控制设备控制的对象的位置。远程系统102将该数据发送到显示设备106和/或一个或多个显示设备504,使得显示设备106和/或一个或多个显示设备504可以更新对象的位置。
例如,与控制设备104相关联的应用程序的第一本地状态可不同于与控制设备502相关联的应用程序的第二本地状态。例如,诸如在多人网络游戏期间,与控制设备104相关联的应用程序的第一本地状态可表示游戏环境内的第一对象的第一位置,其中控制设备104被配置为控制第一对象。这样,显示设备106可能正在显示表示应用程序的第一本地状态的图像。附加地,与控制设备502相关联的应用程序的第二本地状态可表示游戏环境内第二对象的第二位置,其中控制设备502被配置为控制第二对象。这样,显示设备504(与控制设备502相关联)可能正在显示表示应用程序的第二本地状态的图像。
在这样的情况下,当远程系统102诸如通过改变游戏环境内第二对象的位置来更新与控制设备502相关联的应用程序的第二本地状态时,远程系统102可进一步更新第一本地状态以包括第二对象的更新位置。这样,应用程序的第一局部状态可表示第一对象的第一位置和第二对象的更新位置。
尽管以上示例包括具有多个用户的网络应用程序,但在其他情况下,控制设备104可与显示设备106和一个或多个显示设备504相关联。例如,当远程系统102正在从控制设备104接收输入数据并使用该输入数据来更新应用程序的状态时,远程系统102可能正在通过网络104将数据(例如,视频数据、音频数据、时间戳数据等)发送到显示设备106和第二显示设备504。在一些情况下,发送到显示设备106的数据可与发送到第二显示设备504的数据相同。例如,显示设备106和第二显示设备504可能正在显示相似的内容(例如,表示应用程序状态的图像)。附加地,显示设备106和第二显示设备504可能正在接收相似的时间戳数据,该时间戳数据使显示设备106和第二显示设备504同步内容的显示。
在一些情况下,发送到显示设备106的数据可与发送到第二显示设备504的数据不同。例如,显示设备106和第二显示设备504可操作为“分屏”,其中显示设备106显示内容的第一部分,第二显示设备504显示内容的第二部分。附加地,显示设备106和第二显示设备504可能正在接收相似的时间戳数据,该时间戳数据使显示设备106和第二显示设备504同步内容的显示。
在一些情况下,控制设备104和一个或多个其他控制设备502可与显示设备106相关联。例如,第一用户可能正在使用控制设备104来控制应用程序,而第二用户正在使用第二控制设备502来控制应用程序。例如,远程系统102可通过网络108从控制设备104和第二控制设备502中的每一者接收数据(例如,输入数据)。然后,远程系统102可使用从控制设备104和第二控制设备106中的每一者接收到的数据来更新应用程序的状态。附加地,远程系统102可通过网络108将表示应用程序的当前状态的数据(例如,视频数据、音频数据、时间戳数据等)发送到显示设备106。
在一些情况下,并且在上述每个示例中的每一者中,控制设备104和一个或多个控制设备502可位于同一环境中,并且/或者显示设备106和/或一个或多个显示设备中504可位于同一环境中。在一些情况下,并且在上述每个示例中的每一者中,控制设备104和一个或多个控制设备502可位于不同的环境中,并且/或者显示设备106和/或一个或多个显示设备中504可位于不同的环境中。
在图5的示例中,一个或多个控制设备502和/或一个或多个显示设备504可分别类似于控制设备104和/或显示设备106。在其他示例中,控制设备502中的一个或多个和/或显示设备504中的一个或多个可分别不同于控制设备104和/或显示设备106。例如,控制设备502中的一个或多个可对应于处理来自用户的输入的视频游戏控制器。在处理输入之后,视频游戏控制器可将数据发送到远程系统102,其中数据表示改变了应用程序的本地状态。
图6A至图9示出了用于控制网络应用程序的各种过程。本文描述的过程在逻辑流程图中被示为框的集合,逻辑流程图表示一系列操作,其中一些或全部操作可以硬件、软件或其组合来实现。在软件的情境中,框可表示存储在一个或多个计算机可读介质上的计算机可执行指令,当被一个或多个处理器执行时,该计算机可执行指令对处理器进行编程以执行所叙述的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。除非特别指出,否则描述这些框的顺序不应理解为限制。可以任何顺序和/或并行地组合任意数量的所描述的框来实现该过程或另选过程,并且并非所有框都需要被执行。
图6A至图6B示出了用于控制网络应用程序的示例性过程。在602处,过程600可包括存储指示与第一电子设备相关联的第一标识符和与第二电子设备相关联的第二标识符的第一数据。例如,远程系统102可存储表示与第一电子设备(例如,控制设备104)相关联的第一标识符和与第二电子设备(例如,显示设备106)相关联的第二标识符的第一数据。在一些情况下,第一数据可包括用户配置文件数据,该用户配置文件数据包括表示第一标识符的第一标识符数据和表示第二标识符的第二标识符数据并且/或者与该第一标识符数据和第二标识符数据相关联。在一些情况下,远程系统102在第一电子设备和/或第二电子设备的配置过程期间接收第一数据。
在604处,过程600可包括存储表示应用程序的第二数据。例如,远程系统102可存储表示应用程序的第二数据。如本文所述,应用程序可包括但不限于游戏应用程序、文字处理应用程序、教育应用程序、多媒体应用程序(例如电影、音乐等)和/或能够经由网络进行访问的任何其他类型的应用程序。
在606处,过程600可包括从第一电子设备接收表示第一标识符的第三数据。例如,远程系统102可从第一电子设备接收第三数据(例如,标识符数据),其中第三数据表示第一标识符。在一些情况下,远程系统102至少部分地基于连接到网络的第一电子设备来接收第三数据。
在608处,过程600可包括使用第一数据来确定从第一电子设备接收到第三数据。例如,远程系统102可使用第一数据来确定从第一电子设备接收到第三数据。在一些情况下,远程系统102可至少部分地基于将由第一数据表示的第一标识符与由第三数据表示的第一标识符进行匹配来进行确定。
在610处,过程600可包括使用第一数据来确定第二电子设备与第一电子设备相关联。例如,远程系统102可使用第一数据来确定第二电子设备与第一电子设备相关联。在一些情况下,诸如当第一数据包括用户配置文件数据时,远程系统102可确定用户配置文件数据包括表示第一标识符的第一标识符数据和表示用户标识符的第二标识符数据并且/或者与该第一标识符数据和第二标识符数据相关联。至少部分地基于该确定,远程系统102可确定第二电子设备与第一电子设备相关联。
在612处,过程600可包括将表示应用程序的第一状态的第四数据发送到第二电子设备。例如,远程系统102可将表示应用程序的第一状态的第四数据发送到第二电子设备。第四数据可包括数据分组,其中该数据分组包括表示与应用程序的第一状态相对应的图像的视频数据,表示与应用程序的第一状态相对应的声音的音频数据,和/或表示在特定时间显示应用程序的第一状态的指令和/或在特定时间输出声音的指令的时间戳数据。在一些情况下,诸如当该应用程序包括游戏应用程序,则该应用程序的第一状态可包括位于游戏环境内的第一位置处的对象(例如,角色)。
在614处,过程600可包括从第一电子设备接收表示由第一电子设备接收的输入的第五数据。例如,远程系统102可从第一电子设备接收表示由第一电子设备接收的输入的第五数据(例如,输入数据)。在一些情况下,第一电子设备可使用按钮、按键、操纵杆、触敏板、触发器、传感器等来接收输入。在一些情况下,输入可包括表示由第一电子设备的麦克风捕获的声音的音频数据。
在616处,过程600可包括至少部分地基于第五数据来将应用程序的第一状态更新为应用程序的第二状态。例如,远程系统102可使用第五数据来将应用程序的第一状态更新为应用程序的第二状态。例如,并且如果该应用程序再次包括游戏应用程序,则输入可对应于对象的移动。这样,远程系统102可通过将对象从游戏环境内的第一位置移动到游戏环境内的第二位置来将应用程序的第一状态更新为应用程序的第二状态。
在618处,过程600可包括将表示应用程序的第二状态的第六数据发送到第二电子设备。例如,远程系统102可将表示应用程序的第二状态的第六数据发送到第二电子设备。第六数据可包括数据分组,其中该数据分组包括表示与应用程序的第二状态相对应的图像的视频数据和/或表示与应用程序的第二状态相对应的声音的音频数据。
在620处,过程600可包括将表示与显示应用程序的第二状态相关联的第一时间戳的第七数据发送到第二电子设备。例如,远程系统102可将表示与显示应用程序的第二状态相关联的第一时间戳的第七数据发送到第二电子设备。在一些情况下,第七数据可包括时间戳数据,该时间戳数据表示在特定时间显示应用程序的第二状态的指令和/或在特定时间输出声音的指令。在一些情况下,第七数据被包括在还包括第六数据的同一数据分组中。
在622处,过程600可包括将表示与应用程序的第二状态相对应的声音的第八数据发送到第一电子设备。例如,远程系统102可将表示与应用程序的第二状态相对应的声音的第八数据发送到第一电子设备。第六数据可包括数据分组,其中该数据分组至少包括表示与应用程序的第二状态相对应的声音的音频数据。
在624处,过程600可包括将表示与输出声音相关联的第二时间戳的第九数据发送到第一电子设备。例如,远程系统102可将表示与输出声音相关联的第二时间戳的第九数据发送到第一电子设备。在一些情况下,第九数据可包括表示在特定时间输出声音的指令的时间戳数据。例如,第九数据可以使第一电子设备对声音的输出与第二电子设备对应用程序的第二状态的显示同步。在一些情况下,第九数据被包括在还包括音频数据(例如,被包括在第八数据内)的同一数据分组中。
图7示出了远程系统与控制设备和显示设备进行通信以便控制网络应用程序的第一示例性过程700。在702处,过程700可包括由远程系统来确定第一电子设备与第二电子设备相关联。例如,远程系统102可确定第一电子设备(例如,控制设备104)与第二电子设备(例如,显示设备106)相关联。在一些情况下,远程系统102可使用用户配置文件数据来进行确定。例如,用户配置文件数据可包括和第一电子设备相关联的第一标识符数据和与第二电子设备相关联的第二标识符数据并且/或者与该第一标识符数据和第二标识符数据相关联。
在704处,过程700可包括由远程设备将表示应用程序的第一状态发送到第二电子设备。例如,远程系统102可将表示应用程序的第一状态的第一数据发送到第二电子设备。第一数据可包括数据分组,其中该数据分组包括表示与应用程序的第一状态相对应的图像的视频数据,表示与应用程序的第一状态相对应的声音的音频数据,和/或表示在特定时间显示应用程序的第一状态的指令和/或在特定时间输出声音的指令的时间戳数据。
在706处,过程700可包括由远程设备从第一电子设备接收表示由第一电子设备接收的输入的第二数据。例如,远程系统102可从第一电子设备接收表示由第一电子设备接收的输入的第二数据(例如,输入数据)。在一些情况下,第一电子设备可使用按钮、按键、操纵杆、触敏板、触发器、传感器等来接收输入。在一些情况下,第二数据可包括表示由第一电子设备的麦克风捕获的声音的音频数据。
在708处,过程700可包括由远程系统至少部分地基于应用程序的第一状态和第二数据来确定应用程序的第二状态。例如,远程系统102可至少部分地基于应用程序的第一状态和第二数据来确定应用程序的第二状态。在一些情况下,诸如当该应用程序包括游戏应用程序,则该应用程序的第一状态可包括位于游戏环境内的第一位置处的对象。在这样的情况下,远程系统102可至少部分地基于输入来将对象的第一位置更新为第二位置。然后,远程系统102可将应用程序的第二状态确定为包括位于第二位置处的对象。
在710处,过程700可包括由远程设备将表示应用程序的第二状态的第三数据发送到第二电子设备。例如,远程系统102可将表示应用程序的第三状态的第六数据发送到第二电子设备。第三数据可包括数据分组,其中该数据分组包括表示与应用程序的第二状态相对应的图像的视频数据,表示与应用程序的第二状态相对应的声音的音频数据,和/或表示在特定时间显示应用程序的第二状态的指令和/或在特定时间输出声音的指令的时间戳数据。
图8示出了远程系统与控制设备和显示设备进行通信以便控制网络应用程序的第二示例性过程800。在802,过程800可包括由远程系统存储表示应用程序的第一数据。例如,远程系统102可存储表示应用程序的第一数据(例如,应用程序数据)。如本文所述,应用程序可包括但不限于游戏应用程序、文字处理应用程序、教育应用程序、多媒体应用程序(例如电影、音乐等)和/或能够经由网络进行访问的任何其他类型的应用程序。
在804处,该过程可包括由远程系统从第一电子设备接收表示对应用程序的选择的第二数据。例如,远程系统102可从第一电子设备(例如,控制设备104)接收表示对应用程序的选择的第二数据。
在806处,过程800可包括由远程设备将表示应用程序的第一状态的第一数据发送到第二电子设备。例如,远程系统102可将表示应用程序的第一状态的第一数据发送到第二电子设备。第三数据可包括数据分组,其中该数据分组包括表示与应用程序的第一状态相对应的图像的视频数据,表示与应用程序的第一状态相对应的声音的音频数据,和/或表示在特定时间显示应用程序的第一状态的指令和/或在特定时间输出声音的指令的时间戳数据。
在808处,过程800可包括由远程设备从第一电子设备接收表示由第一电子设备接收的输入的第四数据。例如,远程系统102可从第一电子设备接收表示由第一电子设备接收的输入的第四数据(例如,输入数据)。在一些情况下,第一电子设备可使用按钮、按键、操纵杆、触敏板、触发器、传感器等来接收输入。在一些情况下,第二数据可包括表示由第一电子设备的麦克风捕获的声音的音频数据。
在810处,过程800可包括由远程系统至少部分地基于应用程序的第一状态和第四数据来确定应用程序的第二状态。例如,远程系统102可至少部分地基于应用程序的第一状态和第四数据来确定应用程序的第二状态。在一些情况下,诸如当该应用程序包括游戏应用程序,则该应用程序的第一状态可包括位于游戏环境内的第一位置处的对象。在这样的情况下,远程系统102可至少部分地基于输入来将对象的第一位置更新为第二位置。然后,远程系统102可将应用程序的第二状态确定为包括位于第二位置处的对象。
在812处,过程800可包括由远程设备将表示应用程序的第二状态的第五数据发送到第二电子设备。例如,远程系统102可将表示应用程序的第三状态的第五数据发送到第二电子设备。第五数据可包括数据分组,其中该数据分组包括表示与应用程序的第二状态相对应的图像的视频数据,表示与应用程序的第二状态相对应的声音的音频数据,和/或表示在特定时间显示应用程序的第二状态的指令和/或在特定时间输出声音的指令的时间戳数据。
图9示出了控制设备与远程系统进行通信以便控制网络应用程序的示例性过程900。在902处,过程900可包括存储表示与网络相关联的设置的第一数据。例如,控制设备104可存储表示与网络相关联的设置的第一数据(例如,配置数据)。在一些情况下,第一数据可以包括与路由器相关联的SSID和密码。
在904处,过程900可包括使用第一数据来建立到网络的连接。例如,控制设备104可使用第一数据来建立与网络的连接。
在906处,过程900可包括从远程系统接收表示与应用程序的第一状态相关联的声音的第二数据。例如,控制设备104可从远程系统102接收表示与应用程序的第一状态相关联的声音的第二数据(例如,音频数据)。在一些情况下,控制设备104可进一步接收表示输出声音的时间的时间戳数据。然后,控制设备104可以使声音被输出。在一些情况下,控制设备104使用扬声器来输出声音。在一些情况下,控制设备104将第二数据发送到外围设备以输出声音。
在908处,过程900可包括使用至少一个输入设备来接收输入。例如,控制设备104可使用至少一个输入设备来接收输入。在一些情况下,至少一个输入设备可包括按钮、按键、操纵杆、触敏板、触发器、传感器等。在一些情况下,至少一个输入设备可包括麦克风。
在910处,过程900可包括将表示输入的第三数据发送到远程系统。例如,控制设备104可将表示输入的第三数据(例如,输入数据)发送到远程系统102。
在912处,过程900可包括从远程系统接收表示与应用程序的第二状态相关联的声音的第四数据。例如,控制设备104可从远程系统102接收表示与应用程序的第二状态相关联的声音的第四数据(例如,音频数据)。在一些情况下,控制设备104可进一步接收表示输出声音的时间的时间戳数据。然后,控制设备104可以使声音被输出。在一些情况下,控制设备104使用扬声器来输出声音。在一些情况下,控制设备104将第二数据发送到外围设备以输出声音。
图10示出了语音处理系统的示例架构的框图,该语音处理系统从启用语音的设备诸如控制设备104接收音频数据和/或附加数据,并且执行确定如何响应音频数据中表示的用户语音命令的技术。图10的框图示出了语音处理系统(例如,远程系统102)的示例性架构,该语音处理系统从控制设备104接收音频数据1002和附加数据1004(例如,元数据诸如时间戳、SRN值等),并且执行确定音频数据1002意图的技术。
图10包括如何处理语音命令1006的概念图,该语音命令允许系统捕获并执行由用户1008说出的命令,诸如可以跟随唤醒词的说出的命令。所示的各种部件可位于相同或不同的物理设备上。图10中示出的各个组件之间的通信可直接发生,也可跨网络发生。音频捕获组件诸如控制设备104的麦克风208捕获与语音命令1006相对应的音频。然后,控制设备104使用唤醒词检测组件1010来处理语音命令1006或与语音命令1006相对应的音频数据,以确定在语音命令1006中是否检测到关键字(诸如唤醒词)。在检测到唤醒词之后,控制设备104将与语音命令1006相对应的音频数据1002发送到包括ASR组件144的远程系统102的计算设备。音频数据1002可在传输之前从位于控制设备104上的声学前端(AFE)1014输出。或者,音频数据1002可采用不同的形式以供远程AFE 1014诸如位于ASR组件144中的AFE1014进行处理。
在各种示例中,远程系统102可包括为远程系统102的组件、设备和动作供电的一个或多个处理器308,以及用于远程系统102通过各种类型的网络(例如,网络108)(包括广域网、局域网、专用网、公共网络等)进行通信的一个或多个网络接口310诸如无线或Wi-Fi网络通信接口、以太网通信接口、蜂窝网络通信接口、蓝牙通信接口等。在无线通信接口的情况下,此类接口可包括无线电收发器和相关联的控制电路以及用于实现适当的通信协议的逻辑。
远程系统102可包括语音处理组件1018,该语音处理组件包括用于处理语音命令1006的各种组件,诸如自动语音识别(ASR)组件144和自然语言理解(NLU)组件146。所示的各种部件可位于相同或不同的物理设备上。
在一些示例中,音频数据(例如,音频数据1002)可以由远程系统102接收用于语音处理,以解读所包括的语音命令1006(或者用于启用语音通信的目的和/或用于执行语音中的命令的目的)。音频数据1002可包括对应于唤醒词的数据,或者可在发送之前由控制设备104移除音频数据的对应于唤醒词的一部分。在被远程系统102接收时,ASR组件144可将音频数据转换为文本。ASR组件144将音频数据转录为表示包含在音频数据中的语音的字词的文本数据。然后,其他部件可将该文本数据用于各种目的,诸如执行系统命令,输入数据等。音频数据中的语音命令1006输入到配置为执行ASR的处理器,ASR随后基于该话语和在ASR模型知识库(ASR模型存储装置1020)中存储的预先建立的ASR语言模型之间的相似性来解读该话语。例如,ASR过程可将输入音频数据与声音(例如,子词单位或音素)和声音序列的模型进行比较,以识别匹配在音频数据的话语中说出的声音序列的字词。
可用来解读语音命令1006的不同方式(即,不同的假设)可各自被分配ASR概率或ASR置信度分数,其表示特定的一组字词与该话语中说出的字词匹配的可能性。ASR置信度分数可基于许多因素,包括例如话语中的声音与语言声音的模型(例如,存储在ASR模型存储装置1020中的声学模型1022)的相似性,以及与该声音匹配的特定字词将被包括在句子中的特定位置处(例如,使用语言或语法模型)的可能性。因此,口头话语的每个潜在的文本解读(假设)都与ASR置信度分数相关联。基于所考虑的因素和所分配的ASR置信度分数,ASR组件144输出在音频数据中识别出的最有可能的文本。ASR组件144还可采用词格或N-best列表的形式输出多个ASR假设,每个假设对应于一个ASR置信度分数或其他分数(诸如概率分数等)。
执行ASR处理的一个或多个设备可包括声学前端(AFE)1014和语音识别引擎1024。声学前端(AFE)1014将来自麦克风的音频数据转换为用于由语音识别引擎1024处理的数据。语音识别引擎1024将语音识别数据与声学模型1022、语言模型1026和用于识别在音频数据中传达的语音的信息的其他数据模型进行比较。AFE 1014可减少音频数据中的噪声,并将数字化的音频数据划分为表示时间间隔的帧,AFE 1014根据这些时间间隔来确定表示音频数据的质量的多个值(称为特征),以及这些值的集合(称为特征向量),其表示音频数据在帧内的特征/质量。如本领域中已知的,可确定许多不同的特征,并且每个特征表示音频的对于ASR处理可能有用的某种质量。AFE 1014可使用多种方法来处理音频数据,诸如梅尔频率倒谱系数(MFCC)、感知线性预测(PLP)技术、神经网络特征向量技术、线性判别分析、半绑定协方差矩阵,或本领域技术人员已知的其他方法。
语音识别引擎1024可参考语音/模型存储装置中存储的信息来处理来自AFE 1014的输出。另选地,执行ASR处理的设备可从内部AFE 1014之外的另一源接收前端处理后的数据(诸如特征向量)。例如,控制设备104可将音频数据处理为特征向量(例如,使用设备上的AFE 1014),并将该信息通过网络传输到服务器以进行ASR处理。特征向量可能经过编码后到达远程系统102,在这种情况下,特征向量可能会在被执行语音识别引擎1024的处理器处理之前被解码。
语音识别引擎1024尝试将接收到的特征向量与如在已存储声学模型1022和语言模型1026中已知的语言音素和字词进行匹配。语音识别引擎1024基于声学信息和语言信息来计算特征向量的识别分数。声学信息用于计算声学分数,该声学分数表示由一组特征向量表示的预期声音与语言音素匹配的可能性。语言信息用于通过考虑哪些声音和/或字词在上下文中彼此一起使用来调整声学分数,从而提高ASR处理将输出语法上有意义的语音结果的可能性。所使用的特定模型可以是通用模型,也可以是与特定领域(诸如音乐、银行等)相对应的模型。
语音识别引擎1024可使用多种技术来将特征向量与音素进行匹配,例如,使用隐马尔可夫模型(HMM)来确定特征向量可与音素匹配的概率。接收到的声音可表示为HMM状态之间的路径,并且多个路径可表示同一声音的多个可能的文本匹配项。
在ASR处理之后,语音识别引擎1024可将ASR结果发送到其他处理部件,这些部件对于执行ASR的设备可能是本地的和/或分布在整个网络中。例如,可将语音的单个文本表示、包括多个假设和相应分数的N-best列表、词格等形式的ASR结果发送到远程系统102,用于自然语言理解(NLU)处理,诸如将文本转换为命令以便由控制设备104、远程系统102或另一设备(诸如应用程序系统148)执行。
NLU组件146(例如,服务器)可包括各种组件,包括潜在的专用处理器、存储器、存储装置等。如图10所示,NLU组件146可包括识别器1028,该识别器包括命名实体识别(NER)组件1030,该组件用于识别查询文本的与系统可以识别的命名实体相对应的部分。称为命名实体解析的下游过程将文本部分链接到系统已知的特定实体。为了执行命名实体解析,系统可利用存储在实体库存储装置1034中的地名词典信息1032。地名词典信息可用于实体解析,例如将ASR结果与不同的实体(诸如联系人姓名等)匹配。地名词典可链接到用户(例如,特定的地名词典可与特定用户的游戏收藏相关联),可链接到某些域(诸如游戏),也可采用各种其他方式进行组织。
通常,NLU组件146获取文本输入(诸如由ASR组件144确定的文本输入),并尝试对该文本进行语义解读。即,NLU组件146基于各个字词来确定文本背后的含义,然后实现该含义。NLU组件146解读文本串以从用户获得意图或期望的动作以及文本中的允许设备(例如,控制设备104、应用系统148等)完成该动作的相关信息。例如,如果使用ASR组件144处理口头话语并输出文本“将角色向前移动”,则NLU组件146可以确定用户1008打算使游戏应用程序中的角色向前移动。针对第二示例,如果使用ASR组件144处理了口头话语并且输出了文本“开始游戏应用程序”,则NLU组件146可确定用户1008希望应用程序系统148开始游戏应用程序。
NLU组件146可处理与相同话语相关的多个文本输入。例如,如果ASR组件144输出N个文本片段(作为N-best列表的一部分),则NLU组件146可处理所有N个输出以获得NLU结果。
为了正确地执行对语音输入的NLU处理,NLU组件146可被配置为确定话语的“域”,以便确定并缩小由端点设备(例如,远程系统102、控制设备104、应用程序系统148等)提供的哪些服务可能是相关的。例如,端点设备可提供与和电话服务、联系人列表服务、日历/日程安排服务、游戏服务、应用程序服务等的交互有关的服务。单个文本查询中的字词可能意味着多于一项服务,并且一些服务可在功能上存在联系(例如,电话服务和游戏服务都可使用联系人列表中的数据)。
命名实体识别(NER)组件1030接收ASR结果形式的查询,并且尝试识别可用于理解含义的相关语法和词汇信息。为此,NLU组件146可在一开始识别可能与所接收的查询有关的潜在域。NLU存储装置1036包括识别与特定设备相关联的域的设备域1052的数据库。例如,控制设备104可以与用于游戏、电话、日历、联系人列表和特定于设备的通信的域相关联,而不与视频相关联。另外,设备域1052可包括关于特定设备上的特定服务的数据库条目,这些条目可按设备ID、用户ID或家庭ID或某些其他指标来索引。
在NLU处理中,域可表示具有共同主题的活动的离散集,诸如“游戏”、“电话”、“日历”等。这样,每个域可与特定的识别器1028、语言模型和/或语法数据库1040、特定的一组域意图/动作1038和特定的个性化域词典1042相关联。每个地名词典(1032)可包括与特定用户和/或设备相关联的域索引词汇信息。用户的联系人列表词汇信息可能包括联系人的姓名。由于每个用户的联系人列表很可能各不相同,因此该个性化信息将改善实体解析。
如上所述,在传统的NLU处理中,可应用适用于每个识别的域的规则、模型和信息来处理查询。例如,如果查询潜在地牵涉通信和例如音乐两者,则可使用用于通信的语法模型和词汇信息对该查询进行基本上并行的NLU处理,并且将使用用于音乐的语法模型和词汇信息对该查询进行处理。对基于按每组模型产生的查询的响应进行评分,通常将来自所有已应用的域的总最高排名结果选为正确结果。
意图分类(IC)组件1044解析查询以确定针对每个识别的域的一个或多个意图,其中意图对应于将响应于该查询而执行的动作。每个域都与链接到意图的字词数据库(例如,域意图1038)相关联。例如,游戏域意图数据库1038可将诸如“向前移动”、“向后移动”和“跳跃”之类的字词和短语链接到“动作”意图。同时,语音消息域意图数据库可以链接诸如“发送消息”、“发送语音消息”、“发送以下内容”之类的字词和短语。IC组件1044通过将查询中的字词与域意图数据库1038中的字词和短语进行比较来识别针对每个已识别域的潜在意图。在一些情况下,使用针对输入文本进行处理以识别匹配意图的一组规则或模板来执行IC组件1044对意图的确定。
为了生成特别解读的响应,NER 1030应用与相应域相关联的语法模型和词汇信息来实际地识别查询文本中对一个或多个实体的提及。以此方式,NER组件1030识别出以后的命令处理可能需要的“槽”(即查询文本中的特定字词)。根据NER组件1030的复杂性,它还可按照具有不同特异性的类型(诸如名词、地点、城市、艺术家姓名、歌曲名称等)来标记每个槽。每个语法模型1040包括通常在语音中关于特定域(即通用术语)常见的实体的名称(即名词),而来自地名词典1032的词汇信息则根据用户和/或设备而个性化。例如,与游戏域相关联的语法模型可包括人们讨论游戏和/或正在玩游戏应用程序时常用的字词的数据库。
将IC组件1044所识别的意图链接到具有要填充的“槽”或“字段”的特定于域的语法框架(包括在1040中)。每个槽/字段对应于查询文本的被系统认为对应于实体的一部分。为了使解析更加灵活,通常不会将这些框架构造为句子,而是基于将槽与语法标签相关联。例如,如果“发送消息”是识别出的意图,则一个或多个语法(1040)框架可对应于句子框架诸如“将消息发送给{联系人}”,“将语音消息发送给{联系人}”“将以下内容发送给{联系人}等”。
例如,在识别命名实体之前,NER组件1030可基于语法规则和/或模型来解析查询以将字词识别为主语、宾语、动词、介词等。所识别的动词可由IC组件1044用于识别意图,然后该意图由NER组件1030用来识别框架。同时,用于“发送消息”的意图的框架可指定适用于播放所标识的“联系人”的槽/字段的列表以及任何对象修饰符(例如,指定接收者的设备)等。然后,NER组件1030搜索特定于域的个性化词典中的对应字段,尝试将查询中的标记为语法对象或对象修饰语的字词和短语与在数据库中识别的字词和短语进行匹配。
此过程包括语义标记,即根据字词的类型/语义含义对字词或字词组合进行标记。可使用启发式语法规则来执行解析,或者可使用诸如隐马尔可夫模型、最大熵模型、对数线性模型、条件随机场(CRF)等之类的技术来构建NER模型。
然后,链接到意图的框架用于确定应搜索哪些数据库字段来确定这些短语的含义,诸如在用户的地名词典中搜索与框架槽的相似性。如果对地名词典的搜索没有使用地名词典信息来解析槽/字段,则NER组件1030可搜索与域相关联的通用字词的数据库(在知识库1046中)。因此,例如,如果查询是“将消息发送给乔”,则在未能确定姓氏是否为“乔”之后,NER组件1030可在域词汇表中搜索字词“乔”。另选地,可在地名词典信息之前检查通用字词,或者可尝试这两者,从而潜在地产生两个不同的结果。
然后可将来自NLU组件146的输出数据(可包括标记的文本,命令等)发送到命令处理组件1048。可基于NLU输出来确定目的地命令处理组件1048。例如,如果NLU输出包括发送消息的命令,则命令处理组件1048可以是消息发送应用程序,诸如位于控制设备104、应用程序系统148或消息发送设备中的被配置为执行消息发送命令的应用程序。如果NLU输出包括到游戏应用程序的输入,诸如沿给定方向移动角色,则目的地命令处理器可包括被配置为执行命令的应用程序系统148。
现有系统的NLU操作可采用多域架构的形式。每个域(可包括一组意图和实体槽,它们定义了一个较大的概念诸如游戏、消息等,以及用于执行各种NLU操作诸如NER、IC等的部件,诸如受训练的模型等)可被单独构造并且在对文本(诸如从ASR部件1014输出的文本)执行NLU操作的情况下的运行时操作期间可供NLU部件146使用。每个域可具有经过特殊配置以执行NLU操作的各步骤的部件。
例如,在NLU系统中,该系统可包括由多个域组成的多域体系结构,这些域用于该系统(或由连接到该系统的其他设备)可执行的意图/命令,诸如游戏、消息和信息。该系统可包括多个域识别器,其中每个域可包括其自己的识别器1028。每个识别器可包括各种NLU部件诸如NER部件1030、IC组件1044和其他部件,诸如实体解析器或其他部件。
命令处理组件1048和/或NLU部件146可基于该意图来确定域,以及基于该确定,将对应于音频数据的请求路由到适当的域语音小部件,诸如所示的域语音小部件1050。域语音小部件1050可包括任何类型的设备或设备组(例如,硬件设备、虚拟设备或分区、服务器等),并且可接收与音频数据1002相关联的文本数据和/或意图,并且可确定如何响应该请求。例如,命令“使角色向前走”的意图可被路由到控制设备诸如应用程序系统148的游戏域语音小部件1050。
各种类型的域语音小部件1050可用于确定使用哪些设备1002来响应语音命令1006,以及适当的响应和潜在的附加内容(例如,音频数据)。例如,域语音小部件1050可包括可处理与游戏、生产率等相关联的意图的第三方技能域语音小部件1050,可处理与音乐播放请求(例如,Amazon Music、Pandora、Spotify、iHeart等)相关的意图的音乐域语音小部件1050,可处理与视频播放请求(例如,Amazon Video、HBO、Netflix、Hulu等)相关联的意图的视频域语音小部件1050,可处理与家庭活动(例如,日历、备忘录、计时器等)意图相关联的意图的家庭组织域语音小部件1050,可处理与控制智能设备(例如,控制灯、门锁、家庭监控等)相关联的意图的智能家庭域语音小部件1050,汽车域语音小部件1050,可处理购物请求(例如,制作购物清单、在线订购商品等)的购物域语音小部件1050,和/或可处理天气预测(例如,提供跳转到天气网站的网址、提供与天气相关联的图像和/或视频等)的天气域语音小部件1050。
尽管参照特定示例描述了前述发明,但是应当理解,本发明的范围不限于这些特定示例。由于为适应特定的操作要求和环境而改变的其他修改形式和改变形式对本领域的技术人员将是显而易见的,因此本发明不应被认为限于为公开目的而选择的示例,并且本发明涵盖不构成与本发明的真正实质和范围的偏离的全部改变形式和修改形式。
尽管本申请描述了具有特定结构特征和/或方法动作的实施方案,但应当理解,权利要求书不一定限于所描述的特定特征或动作。相反,该特定特征和动作仅举例说明落入权利要求的范围内的一些实施方案。
示例性条款
A:一种远离包括手持式控制器和显示设备的环境的系统,该系统包括:至少一个数据库,所述至少一个数据库存储:配置文件数据,该配置文件数据指示与手持式控制器相关联的第一标识符和与显示设备相关联的第二标识符,和表示游戏的游戏数据;一个或多个处理器;和存储指令的一个或多个计算机可读介质,存储指令的一个或多个计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:通过网络从手持式控制器接收表示第一标识符的第一数据;使用配置文件数据来确定从手持式控制器接收到第一数据;使用配置文件数据来确定手持式控制器与显示设备相关联;通过网络将第一视频数据发送到显示设备,该第一视频数据表示游戏的第一状态;至少部分地基于输入数据来将游戏的第一状态更新为游戏的第二状态;通过网络将表示游戏的第二状态的第二视频数据发送到显示设备;通过网络将第一时间戳数据发送到显示设备,该第一时间戳数据包括在第一时间显示游戏的第二状态的第一指示;通过网络将表示与游戏的第二状态相对应的声音的音频数据发送到手持式控制器;以及通过网络将第二时间戳数据发送到手持式控制器,该第二时间戳数据包括在第二时间输出声音的第二指令,该第二时间与第一时间相差阈值时间段。
B:根据段落A所述的系统,所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:通过网络将表示与游戏的第二状态相对应的声音的附加音频数据发送到显示设备;以及通过网络将第三时间戳数据发送到显示设备,该第三时间戳数据包括在第三时间输出声音的第三指令,该第三时间类似于第一时间。
C:根据段落A或段落B所述的系统,其中游戏的第一状态包括位于游戏环境内第一位置处的对象,并且其中将游戏的第一状态更新为游戏的第二状态包括:使用输入数据来确定游戏环境内对象的第二位置;以及将对象在游戏环境内的位置从游戏环境内的第一位置更新为游戏环境内的第二位置。
D:一种方法,包括:由远程系统确定电子设备与显示设备相关联;由远程系统将表示游戏的第一状态的第一视频数据发送到显示设备;由远程系统从电子设备接收表示由电子设备接收的输入的输入数据;由远程系统至少部分地基于游戏的第一状态和输入数据来确定游戏的第二状态;以及由远程系统将表示游戏的第二状态的第二视频数据发送到显示设备。
E:根据段落E所述的方法,还包括:由远程系统将表示与游戏的第二状态相关联的声音的音频数据发送到电子设备;以及由远程系统将表示时间戳的数据发送到电子设备,该时间戳和将电子设备对声音的输出与显示设备对第二视频数据的显示进行同步相关联。
F:根据段落D或段落E所述的方法,还包括:由远程系统与电子设备建立第一网络连接,其中对输入数据的接收是通过第一网络连接进行的;以及由远程系统与显示设备建立第二网络连接,其中对第二视频数据的发送是通过第二网络连接进行的。
G:根据段落D至F中任一段所述的方法,其中至少部分地基于游戏的第一状态和输入数据来确定游戏的第二状态包括:由远程系统确定游戏的第一状态包括位于游戏环境内第一位置处的对象;由远程系统至少部分地基于第一位置和输入数据来确定对象的第二位置;以及由远程系统确定游戏的第二状态包括位于环境内第二位置处的对象。
H:根据段落D至G中任一段所述的方法,还包括:由远程系统将表示一个或多个游戏的第三视频数据发送到显示设备,所述一个或多个游戏包括该游戏;由远程系统从电子设备接收表示由电子设备接收的附加输入的附加输入数据;以及由远程系统至少部分地基于附加输入数据来启动游戏。
I:根据段落D至H中任一段所述的方法,其中输入数据包括表示用户语音的音频数据,并且其中该方法还包括:由远程系统确定用户语音表示的一个或多个字词,其中至少部分地基于游戏的第一状态和输入数据来确定游戏的第二状态包括由远程系统至少部分地基于游戏的第一状态和所述一个或多个字词来确定游戏的第二状态。
J:根据段落D至I中任一段所述的方法,还包括:由远程系统并在数据库中存储表示与电子设备相关联的第一标识符和与显示设备相关联的第二标识符的第一数据;由远程系统从电子设备接收表示第一标识符的第二数据;以及由远程系统使用第一数据来确定从电子设备发送第二数据,其中确定显示设备与电子设备相关联至少部分地基于第一数据。
K:根据段落D至J中任一段所述的方法,还包括:由远程系统接收表示与电子设备相关联的第一标识符的第一数据;由远程系统接收表示与显示设备相关联的第二标识符的第二数据;以及由远程系统生成表示用户配置文件的第三数据,该第三数据至少指示与电子设备相关联的第一标识符和与显示设备相关联的第二标识符。
L:根据段落D至K中任一段所述的方法,还包括:由远程系统确定电子设备与附加显示设备相关联;由远程系统将表示游戏的第一状态的第一视频数据发送到显示设备;以及由远程系统将表示游戏的第二状态第二视频数据发送到附加显示设备。
M:根据段落D至L中任一段所述的方法,还包括:由远程系统将表示第一时间戳的第一数据发送到显示设备,该第一时间戳与显示游戏的第二状态相关联;以及由远程系统将表示第二时间戳的第二数据发送到附加显示设备,该第二时间戳和将附加显示设备对游戏的第二状态的显示与显示设备对游戏的第二状态的显示进行同步相关联。
N:根据段落D至M中任一段所述的方法,还包括:由远程系统从电子设备接收表示由电子设备接收的附加输入的附加输入数据;由远程系统至少部分地基于游戏的第二状态和附加输入数据来确定游戏的第三状态;以及由远程系统将表示游戏的第三状态的第三视频数据发送到显示设备。
O:一种系统,包括:一个或多个处理器;和存储指令的一个或多个计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:存储与游戏相关联的数据;通过网络从电子设备接收表示对游戏的选择的第一输入数据;通过网络将表示游戏的第一状态的第一视频数据发送到显示设备;通过网络从电子设备接收表示由电子设备接收的输入的第二输入数据;至少部分地基于游戏的第一状态和第二输入数据来确定游戏的第二状态;以及通过网络将表示游戏的第二状态的第二视频数据发送到显示设备。
P:根据段落O所述的系统,所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:将表示与游戏的第二状态相关联的声音的音频数据发送到电子设备;确定电子设备输出声音的时间;以及将表示在该时间输出声音的指令的附加数据发送到电子设备。
Q:根据段落O或段落P所述的系统,所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:与电子设备建立第一网络连接,其中对第二输入数据的接收是通过该第一网络连接进行的;以及与显示设备建立第二网络连接,其中对第二视频数据的发送是通过该第二网络连接进行的。
R:根据段落O至Q中任一段所述的系统,其中至少部分地基于游戏的第一状态和第二输入数据来确定游戏的第二状态包括:确定游戏的第一状态包括位于游戏环境内第一位置处的对象;至少部分地基于第一位置和第二输入数据来确定对象的第二位置;以及确定游戏的第二状态包括位于环境内第二位置处的对象。
S:根据段落O至R中任一段所述的系统,所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:将表示一个或多个游戏的第三视频数据发送到显示设备,所述一个或多个游戏包括该游戏。
T:根据段落O至S中任一段所述的系统,其中该数据是第一数据,并且其中所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或更多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:存储表示电子设备与显示设备之间的关联的第二数据;从电子设备接收表示与电子设备相关联的标识符的第三数据;以及使用第二数据来确定电子设备与显示设备相关联;其中对第一视频数据的发送或对第二视频数据的发送中的至少一者至少部分地基于确定电子设备与显示设备相关联。

Claims (15)

1.一种系统,所述系统远离包括手持式控制器和显示设备的环境,所述系统包括:
至少一个数据库,所述至少一个数据库存储:
配置文件数据,所述配置文件数据指示与所述手持式控制器相关联的第一标识符和与所述显示设备相关联的第二标识符;和
表示游戏的游戏数据;
一个或多个处理器;和
存储指令的一个或多个计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
通过网络从所述手持式控制器接收表示所述第一标识符的第一数据;
使用所述配置文件数据来确定从所述手持式控制器接收到所述第一数据;
使用所述配置文件数据来确定所述手持式控制器与所述显示设备相关联;
通过所述网络将第一视频数据发送到所述显示设备,所述第一视频数据表示所述游戏的第一状态;
通过所述网络从所述手持式控制器接收表示由所述手持式控制器接收的输入的输入数据;
至少部分地基于所述输入数据来将所述游戏的所述第一状态更新为所述游戏的第二状态;
通过所述网络将表示所述游戏的所述第二状态的第二视频数据发送到所述显示设备;
通过所述网络将第一时间戳数据发送到所述显示设备,所述第一时间戳数据包括在第一时间显示所述游戏的所述第二状态的第一指示;
通过所述网络将表示与所述游戏的所述第二状态相对应的声音的音频数据发送到所述手持式控制器;以及
通过所述网络将第二时间戳数据发送到所述手持式控制器,所述第二时间戳数据包括在第二时间输出所述声音的第二指令,所述第二时间与所述第一时间相差阈值时间段。
2.根据权利要求1所述的系统,所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:
通过所述网络将表示与所述游戏的所述第二状态相对应的所述声音的附加音频数据发送到所述显示设备;以及
通过所述网络将第三时间戳数据发送到所述显示设备,所述第三时间戳数据包括在第三时间输出所述声音的第三指令,所述第三时间类似于所述第一时间。
3.一种方法,包括:
由远程系统确定电子设备与显示设备相关联;
由所述远程系统将表示游戏的第一状态的第一视频数据发送到所述显示设备;
由所述远程系统从所述电子设备接收表示由所述电子设备接收的输入的输入数据;
由所述远程系统至少部分地基于所述游戏的所述第一状态和所述输入数据来确定所述游戏的第二状态;以及
由所述远程系统将表示所述游戏的所述第二状态的第二视频数据发送到所述显示设备。
4.根据权利要求3所述的方法,还包括:
由所述远程系统将表示与所述游戏的所述第二状态相关联的声音的音频数据发送到所述电子设备;以及
由所述远程系统将表示时间戳的数据发送到所述电子设备,所述时间戳和将所述电子设备对所述声音的输出与所述显示设备对所述第二视频数据的显示进行同步相关联。
5.根据权利要求3所述的方法,还包括:
由所述远程系统与所述电子设备建立第一网络连接,其中对所述输入数据的所述接收是通过所述第一网络连接进行的;以及
由所述远程系统与所述显示设备建立第二网络连接,其中对所述第二视频数据的所述发送是通过第二网络连接进行的。
6.根据权利要求3所述的方法,其中所述至少部分地基于所述游戏的所述第一状态和所述输入数据来确定所述游戏的所述第二状态包括:
由所述远程系统确定所述游戏的所述第一状态包括位于游戏环境内第一位置处的对象;
由所述远程系统至少部分地基于所述第一位置和所述输入数据来确定所述对象的第二位置;以及
由所述远程系统确定所述游戏的所述第二状态包括位于所述环境内所述第二位置处的所述对象。
7.根据权利要求3所述的方法,还包括:
由所述远程系统将表示一个或多个游戏的第三视频数据发送到所述显示设备,所述一个或多个游戏包括所述游戏;
由所述远程系统从所述电子设备接收表示由所述电子设备接收的附加输入的附加输入数据;以及
由所述远程系统至少部分地基于所述附加输入数据来启动所述游戏。
8.根据权利要求3所述的方法,其中所述输入数据包括表示用户语音的音频数据,并且其中所述方法还包括:
由所述远程系统确定所述用户语音表示的一个或多个字词,
其中所述至少部分地基于所述游戏的所述第一状态和所述输入数据来确定所述游戏的所述第二状态包括由所述远程系统至少部分地基于所述游戏的所述第一状态和所述一个或多个字词来确定所述游戏的所述第二状态。
9.根据权利要求3所述的方法,还包括:
由所述远程系统在数据库中存储表示与所述电子设备相关联的第一标识符和与所述显示设备相关联的第二标识符的第一数据;
由所述远程系统从所述电子设备接收表示所述第一标识符的第二数据;以及
由所述远程系统使用所述第一数据来确定从所述电子设备发送所述第二数据,
其中所述确定所述显示设备与所述电子设备相关联至少部分地基于所述第一数据。
10.根据权利要求3所述的方法,还包括:
由所述远程系统接收表示与所述电子设备相关联的第一标识符的第一数据;
由所述远程系统接收表示与所述显示设备相关联的第二标识符的第二数据;以及
由所述远程系统生成表示用户配置文件的第三数据,所述第三数据至少指示与所述电子设备相关联的所述第一标识符和与所述显示设备相关联的所述第二标识符。
11.一种系统,包括:
一个或多个处理器;和
存储指令的一个或多个计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
存储与游戏相关联的数据;
通过网络从电子设备接收表示对所述游戏的选择的第一输入数据;
通过所述网络将表示所述游戏的第一状态的第一视频数据发送到显示设备;
通过所述网络从所述电子设备接收表示由所述电子设备接收的输入的第二输入数据;
至少部分地基于所述游戏的所述第一状态和所述第二输入数据来确定所述游戏的第二状态;以及
通过所述网络将表示所述游戏的所述第二状态的第二视频数据发送到所述显示设备。
12.根据权利要求11所述的系统,所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:
将表示与所述游戏的所述第二状态相关联的声音的音频数据发送到所述电子设备;
确定所述电子设备输出所述声音的时间;以及
将表示在所述时间输出所述声音的指令的附加数据发送到所述电子设备。
13.根据权利要求11所述的系统,所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:
与所述电子设备建立第一网络连接,其中对所述第二输入数据的所述接收是通过所述第一网络连接进行的;以及
与所述显示设备建立第二网络连接,其中对所述第二视频数据的所述发送是通过所述第二网络连接进行的。
14.根据权利要求11所述的系统,其中所述至少部分地基于所述游戏的所述第一状态和所述第二输入数据来确定所述游戏的所述第二状态包括:
确定所述游戏的所述第一状态包括位于游戏环境内第一位置处的对象;
至少部分地基于所述第一位置和所述第二输入数据来确定所述对象的第二位置;以及
确定所述游戏的所述第二状态包括位于所述环境内所述第二位置处的所述对象。
15.根据权利要求11所述的系统,其中所述数据是第一数据,并且其中所述一个或多个计算机可读介质存储另外的指令,所述另外的指令在由所述一个或更多个处理器执行时使所述一个或多个处理器执行进一步的操作,所述进一步的操作包括:
存储表示所述电子设备与所述显示设备之间的关联的第二数据;
从所述电子设备接收表示与所述电子设备相关联的标识符的第三数据;以及
使用所述第二数据来确定所述电子设备与所述显示设备相关联;
其中对所述第一视频数据的所述发送或对所述第二视频数据的所述发送中的至少一者至少部分地基于所述确定所述电子设备与所述显示设备相关联。
CN201980051657.1A 2018-08-06 2019-07-30 用于控制网络应用程序的系统和设备 Pending CN112823047A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862715146P 2018-08-06 2018-08-06
US62/715,146 2018-08-06
US16/202,959 2018-11-28
US16/202,959 US11161038B2 (en) 2018-08-06 2018-11-28 Systems and devices for controlling network applications
PCT/US2019/044128 WO2020033187A1 (en) 2018-08-06 2019-07-30 Systems and devices for controlling network applications

Publications (1)

Publication Number Publication Date
CN112823047A true CN112823047A (zh) 2021-05-18

Family

ID=69227337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980051657.1A Pending CN112823047A (zh) 2018-08-06 2019-07-30 用于控制网络应用程序的系统和设备

Country Status (5)

Country Link
US (2) US11161038B2 (zh)
EP (1) EP3833459A1 (zh)
JP (1) JP2021531923A (zh)
CN (1) CN112823047A (zh)
WO (1) WO2020033187A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11406906B2 (en) * 2012-03-13 2022-08-09 Sony Interactive Entertainment LLC Network connected controller for direct to cloud gaming

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120071238A1 (en) * 2010-09-20 2012-03-22 Karthik Bala Music game software and input device utilizing a video player
CN105320267A (zh) * 2014-06-16 2016-02-10 意美森公司 用于拟音风格的触觉内容创建的系统和方法
US20170142201A1 (en) * 2015-11-12 2017-05-18 Nvidia Corporation System and method for network coupled cloud gaming
CN107213641A (zh) * 2016-03-21 2017-09-29 电子技术公司 与游戏中遥测同步的视频
US20180028912A1 (en) * 2016-07-27 2018-02-01 Cinime Asia Pacific Pte. Ltd. Method and system of creating a network to facilitate a multiplayer game
JP2018106663A (ja) * 2016-12-26 2018-07-05 株式会社コロプラ 仮想空間を介して通信するためにコンピュータで実行される方法、当該方法をコンピュータに実行させるプログラム、および、情報処理装置

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3217576B2 (ja) * 1993-02-22 2001-10-09 テキサス インスツルメンツ インコーポレイテツド 集積オーディオデコーダ装置及び動作方法
US5557724A (en) * 1993-10-12 1996-09-17 Intel Corporation User interface, method, and apparatus selecting and playing channels having video, audio, and/or text streams
US6279029B1 (en) * 1993-10-12 2001-08-21 Intel Corporation Server/client architecture and method for multicasting on a computer network
JP3106987B2 (ja) * 1997-01-09 2000-11-06 日本電気株式会社 オーディオ・ビデオ同期再生装置
GB0007868D0 (en) * 2000-03-31 2000-05-17 Koninkl Philips Electronics Nv Methods and apparatus for editing digital video recordings and recordings made by such methods
US6630963B1 (en) * 2001-01-23 2003-10-07 Digeo, Inc. Synchronizing a video program from a television broadcast with a secondary audio program
US9339728B2 (en) * 2002-12-10 2016-05-17 Sony Interactive Entertainment America Llc System and method for managing audio and video channels for video game players and spectators
US7386553B2 (en) * 2003-03-06 2008-06-10 Matsushita Electric Industrial Co., Ltd. Data processing device
US7434154B2 (en) * 2005-01-07 2008-10-07 Dell Products L.P. Systems and methods for synchronizing media rendering
US20090262238A1 (en) * 2005-12-16 2009-10-22 Stepframe Media, Inc. Generation And Delivery of Stepped-Frame Content Via MPEG Transport Streams
US8363161B2 (en) * 2006-05-26 2013-01-29 Broadcom Corporation Systems, methods, and apparatus for synchronization of audio and video signals
US7953118B2 (en) * 2006-12-08 2011-05-31 Microsoft Corporation Synchronizing media streams across multiple devices
US8272008B2 (en) * 2007-02-28 2012-09-18 At&T Intellectual Property I, L.P. Methods, systems, and products for retrieving audio signals
KR101303672B1 (ko) * 2007-10-15 2013-09-16 삼성전자주식회사 디바이스 및 디바이스 간의 컨텐츠 공유 방법
US9498714B2 (en) * 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
US7546384B1 (en) * 2008-06-23 2009-06-09 International Business Machines Corporation Maintaining relative time stamps when transferring files across network
JP2010021867A (ja) * 2008-07-11 2010-01-28 Sony Ericsson Mobilecommunications Japan Inc ストリーミング再生装置、ストリーミング配信再生システム、ストリーミング再生方法及びストリーミング再生プログラム
US8799495B2 (en) * 2008-12-17 2014-08-05 At&T Intellectual Property I, Lp Multiple devices multimedia control
US20100317443A1 (en) * 2009-06-11 2010-12-16 Comcast Cable Communications, Llc Distributed Network Game System
US8505054B1 (en) * 2009-12-18 2013-08-06 Joseph F. Kirley System, device, and method for distributing audio signals for an audio/video presentation
US8562442B2 (en) * 2010-06-03 2013-10-22 Ntn Buzztime, Inc. Interactive gaming via mobile playmaker
JP2012120592A (ja) * 2010-12-06 2012-06-28 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
TWI501673B (zh) * 2011-02-16 2015-09-21 Amtran Technology Co Ltd 無線音訊與視訊同步播放的方法及其播放系統
US20150296247A1 (en) * 2012-02-29 2015-10-15 ExXothermic, Inc. Interaction of user devices and video devices
US10469886B2 (en) * 2012-04-06 2019-11-05 Minerva Networks, Inc. System and methods of synchronizing program reproduction on multiple geographically remote display systems
WO2014041206A1 (en) * 2012-09-17 2014-03-20 King.Com Limited A method for implementing a computer game
DE112013005688T5 (de) * 2012-11-28 2015-08-06 Nvidia Corporation Verfahren und System für eine wolkenbasierte virtualisierte Graphikverarbeitung für Fernanzeigen
US9369670B2 (en) * 2012-12-19 2016-06-14 Rabbit, Inc. Audio video streaming system and method
US9413830B2 (en) * 2013-11-11 2016-08-09 Amazon Technologies, Inc. Application streaming service
US9426259B2 (en) * 2014-02-05 2016-08-23 Fen Research Limited Client server interaction for graphical/audio applications
KR101671311B1 (ko) * 2014-02-27 2016-11-01 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 이를 위한 장치 및 클라우드 스트리밍 서비스 방법
US9912562B2 (en) 2014-03-31 2018-03-06 Microsoft Technology Licensing, Llc Measuring latency in an interactive application
US20160165227A1 (en) * 2014-12-04 2016-06-09 Arris Enterprises, Inc. Detection of audio to video synchronization errors
US10315108B2 (en) * 2015-08-19 2019-06-11 Sony Interactive Entertainment America Llc Local application quick start with cloud transitioning
US10380800B2 (en) * 2016-04-18 2019-08-13 Disney Enterprises, Inc. System and method for linking and interacting between augmented reality and virtual reality environments
JP2018067156A (ja) * 2016-10-19 2018-04-26 キヤノン株式会社 通信装置およびその制御方法
US10200768B2 (en) * 2017-03-30 2019-02-05 Microsoft Technology Licensing, Llc Low-latency mobile device audiovisual streaming
US11586413B2 (en) * 2018-10-05 2023-02-21 Google Llc Synchronous sounds for audio assistant on devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120071238A1 (en) * 2010-09-20 2012-03-22 Karthik Bala Music game software and input device utilizing a video player
CN105320267A (zh) * 2014-06-16 2016-02-10 意美森公司 用于拟音风格的触觉内容创建的系统和方法
US20170142201A1 (en) * 2015-11-12 2017-05-18 Nvidia Corporation System and method for network coupled cloud gaming
CN107213641A (zh) * 2016-03-21 2017-09-29 电子技术公司 与游戏中遥测同步的视频
US20180028912A1 (en) * 2016-07-27 2018-02-01 Cinime Asia Pacific Pte. Ltd. Method and system of creating a network to facilitate a multiplayer game
JP2018106663A (ja) * 2016-12-26 2018-07-05 株式会社コロプラ 仮想空間を介して通信するためにコンピュータで実行される方法、当該方法をコンピュータに実行させるプログラム、および、情報処理装置

Also Published As

Publication number Publication date
EP3833459A1 (en) 2021-06-16
WO2020033187A1 (en) 2020-02-13
JP2021531923A (ja) 2021-11-25
US20220161131A1 (en) 2022-05-26
US20200038749A1 (en) 2020-02-06
US11161038B2 (en) 2021-11-02

Similar Documents

Publication Publication Date Title
US11600291B1 (en) Device selection from audio data
US11289087B2 (en) Context-based device arbitration
US11875820B1 (en) Context driven device arbitration
US11758328B2 (en) Selection of master device for synchronized audio
US11138977B1 (en) Determining device groups
US20210074291A1 (en) Implicit target selection for multiple audio playback devices in an environment
US10431217B2 (en) Audio playback device that dynamically switches between receiving audio data from a soft access point and receiving audio data from a local access point
US10540970B2 (en) Architectures and topologies for vehicle-based, voice-controlled devices
US11949818B1 (en) Selecting user device during communications session
WO2019199868A1 (en) Device arbitration by multiple speech processing systems
US11687526B1 (en) Identifying user content
EP3583509A1 (en) Selection of master device for synchronized audio
US10629199B1 (en) Architectures and topologies for vehicle-based, voice-controlled devices
US20220161131A1 (en) Systems and devices for controlling network applications
US11133004B1 (en) Accessory for an audio output device
US12033632B2 (en) Context-based device arbitration
US12010387B1 (en) Content-based voice targeting of devices using slot and task data

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