CN115035894B - 一种设备响应方法和装置 - Google Patents

一种设备响应方法和装置 Download PDF

Info

Publication number
CN115035894B
CN115035894B CN202210529242.4A CN202210529242A CN115035894B CN 115035894 B CN115035894 B CN 115035894B CN 202210529242 A CN202210529242 A CN 202210529242A CN 115035894 B CN115035894 B CN 115035894B
Authority
CN
China
Prior art keywords
election
user
equipment
factors
data
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
Application number
CN202210529242.4A
Other languages
English (en)
Other versions
CN115035894A (zh
Inventor
李轩恺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN115035894A publication Critical patent/CN115035894A/zh
Application granted granted Critical
Publication of CN115035894B publication Critical patent/CN115035894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供一种设备响应方法和装置,涉及终端领域,能够解决多个电子设备之间相互干扰的问题。其方法为:第一设备在第一时刻接收用户的语音信号,将语音信号转换为文本信息;根据文本信息确定用户意图;根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;其中,选举因素用于确定响应用户意图的设备;若根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备根据用户意图进行响应;或者,若根据选举因素确定选举因素与第一设备的匹配程度低于选举因素与第二设备的匹配程度,第一设备向第二设备发送第一信息,第一信息用于指示第二设备响应用户意图。

Description

一种设备响应方法和装置
本申请要求于2020年12月01日提交国家知识产权局、申请号为202011384492.0、申请名称为“一种设备响应方法和装置”的中国专利申请的优先权,于2020年12月01日提交国家知识产权局、申请号为202011400086.9、申请名称为“一种设备响应方法和装置”的中国专利申请的优先权,以及于2020年12月01日提交国家知识产权局、申请号为202011388862.8、申请名称为“一种设备响应方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端领域,尤其涉及一种设备响应方法和装置。
背景技术
随着电子设备的种类日渐丰富,在智慧家庭、智慧工厂等场景中,多台电子设备组网协同运行成为常态。
由于多台电子设备可以具备相同的功能,例如家庭场景中可以有多个音箱,每个音箱上都安装有语音助手,当用户说出语音助手的唤醒词后,多个音箱都可以应答用户,多个音箱的应答相互干扰,导致用户体验较差。
发明内容
本申请实施例提供一种设备响应方法和装置,能够解决多个电子设备之间相互干扰(例如,多个音箱的应答相互干扰)的问题。
第一方面,本申请实施例提供一种设备响应方法,方法包括:第一设备在第一时刻接收用户的语音信号,将语音信号转换为文本信息;第一设备根据文本信息确定用户意图;第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;其中,选举因素用于确定响应用户意图的设备;若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备根据用户意图进行响应;或者,若第一设备根据选举因素确定选举因素与第一设备的匹配程度低于选举因素与第二设备的匹配程度,第一设备向第二设备发送第一信息,第一信息用于指示第二设备响应用户意图。
基于本申请实施例提供的方法,当用户发出语音信号后,第一设备可以接收用户的语音信号,并可以根据用户的语音信号选举出一台满足用户需求电子设备(例如,第一设备或第二设备)为用户服务,避免多台电子设备一起响应带来的干扰,可以提高用户体验。
在一种可能的实现方式中,若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,方法还包括:第一设备从第二设备接收第二信息,第二信息用于指示第一设备响应用户意图。即响应用户的设备为第一设备。这样,第一设备可以更为准确的判断出自身需要响应用户的语音信号。需要说明的是,第一设备可以接收到至少一条(例如,两条)第二消息,例如,第一设备还可以从第三设备接收第二消息。两条第二消息指示的内容相同,因此第一设备可以响应一次,无需多次响应。
在一种可能的实现方式中,若第一设备根据选举因素确定选举因素与第一设备的匹配程度低于选举因素与第二设备的匹配程度,方法还包括:第一设备不响应用户意图。此时,可以由第二设备响应用户。这样,可以避免第一设备给第二设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度包括:第一设备获取第一设备的选举数据和第二设备的选举数据,第一设备的选举数据包括第一设备的设备类型和/或设备位置,第二设备的选举数据包括第二设备的设备类型和/或设备位置;第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度,并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度。第一设备可以与第二设备进行网络连接,并从第二设备接收第二设备的选举数据。这样,第一设备可以根据不同设备的选举数据确定选举因素和不同设备的匹配程度,从而确定出响应用户的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度,并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,包括:第一设备根据选举因素与第一设备的选举数据确定第一设备的评分,并根据选举因素与第二设备的选举数据确定第二设备的评分;第一设备比较第一设备的评分和第二设备的评分,第一设备的评分高于第二设备的评分,确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度。这样,第一设备可以根据不同设备的评分确定选举因素和不同设备的匹配程度,从而确定出响应用户的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器(read only memory,ROM)信息、随机存取存储器(randomaccess memory,RAM)信息、操作系统版本、网络状态、语音处理能力、第一设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、第二设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个。这样,第一设备可以进一步根据不同设备的选举数据中的其他信息确定选举因素和不同设备的匹配程度,从而确定出响应用户的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。也就是说,第一设备和第二设备之间可以进行近场通信(无线保真组网方式、蓝牙组网方式)或远场通信(云端服务器组网方式)。
在一种可能的实现方式中,方法还包括:第一设备基于预设时间间隔向第二设备发送心跳监测数据帧。这样,可以保持第一设备和第二设备之间的连接,且能耗较小。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。这样,第一设备可以确定第二设备在线,从而可以和第二设备进行信息交互。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。这样,第一设备可以确定第二设备离线(不在线),若需要和第二设备进行信息交互,需要重新建立与第二设备的连接。
在一种可能的实现方式中,心跳监测数据帧中包含第一设备的选举数据。也就是说,可以通过心跳机制中的心跳监测数据帧传输选举数据,无需发送额外的信息且可以有效利用心跳监测数据帧,能够节省能耗。
在一种可能的实现方式中,将语音信号转换为文本信息包括:通过自动语音识别技术(automatic speech recognition,ASR)将语音信号转换为文本信息。
在一种可能的实现方式中,根据文本信息确定用户意图包括:对文本信息进行自然语言处理(natural language processing,NLP),得到用户意图。这样,第一设备可以确定选举因素和不同设备的匹配程度,从而确定出响应用户的设备,若自身的匹配程度最高,可以根据用户意图响应用户。
在一种可能的实现方式中,第一设备根据用户意图进行响应包括:第一设备播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种;其中,音频节目包括新闻节目、相声节目、读书节目中的任一种。其中,用户意图可以是播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种。第一设备根据用户意图进行响应,能够满足用户需求,提高用户体验。
在一种可能的实现方式中,选举因素包括设备类型、设备位置、设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、用户意图的类型、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。
第二方面,本申请实施例提供一种设备响应方法,方法应用于通信系统,通信系统包括:第一设备和第二设备,第一设备和第二设备使用近距离无线通信技术通信,包括:第一设备在第一时刻接收用户的语音信号,将语音信号转换为文本信息;第一设备根据文本信息确定用户意图;第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;其中,选举因素用于确定响应用户意图的设备;若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备根据用户意图进行响应;或者,若第一设备根据选举因素确定选举因素与第一设备的匹配程度低于选举因素与第二设备的匹配程度,第一设备向第二设备发送第一信息,第一信息用于指示第二设备响应用户意图(即响应用户的设备为第二设备);第二设备在第一时刻接收用户的语音信号,将语音信号转换为文本信息;第二设备根据文本信息确定用户意图;第二设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;若第二设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度,第二设备根据用户意图进行响应;或者,若第二设备根据选举因素确定选举因素与第二设备的匹配程度低于选举因素与第一设备的匹配程度,第二设备向第一设备发送第二信息,第二信息用于指示第一设备响应用户意图,即响应用户的设备为第一设备。
第三方面,本申请实施例提供一种设备响应方法,包括:第一设备与第二设备建立网络连接;第一设备在第一位置接收用户的语音信号,第二设备在第二位置无法接收用户的语音信号;第一设备将语音信号转换为文本信息;第一设备根据文本信息确定用户意图;第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;其中,选举因素用于确定响应用户意图的设备;若第一设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度,第一设备向第二设备发送用户意图,使得第二设备响应用户意图。
基于本申请实施例提供的方法,若第一设备在第一位置接收用户的语音信号,第二设备在第二位置无法接收用户的语音信号,第一设备可以根据语音信号确定用户意图,并向第二设备发送用户意图,使得第二设备响应用户意图。这样可以使用户更方便地操控距离用户较远的设备(第二设备),提高用户体验。
在一种可能的实现方式中,第一设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度包括:第一设备获取第一设备的选举数据和第二设备的选举数据,第一设备的选举数据包括第一设备的设备类型和/或设备位置,第二设备的选举数据包括第二设备的设备类型和/或设备位置;第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度,并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度。第一设备可以与第二设备进行网络连接,并从第二设备接收第二设备的选举数据。这样,第一设备可以根据不同设备的选举数据确定选举因素和不同设备的匹配程度,从而确定出响应用户的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度,并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,包括:第一设备根据选举因素与第一设备的选举数据确定第一设备的评分,并根据选举因素与第二设备的选举数据确定第二设备的评分;第一设备比较第一设备的评分和第二设备的评分,第二设备的评分高于第一设备的评分,确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度。这样,第一设备可以根据不同设备的评分确定选举因素和不同设备的匹配程度,从而确定出响应用户的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器(read only memory,ROM)信息、随机存取存储器(randomaccess memory,RAM)信息、操作系统版本、网络状态、语音处理能力、第一设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、第二设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个。这样,第一设备可以进一步根据不同设备的选举数据中的其他信息确定选举因素和不同设备的匹配程度,从而确定出响应用户(的用户意图)的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。也就是说,第一设备和第二设备之间可以进行近场通信(无线保真组网方式、蓝牙组网方式)或远场通信(云端服务器组网方式)。
在一种可能的实现方式中,方法还包括:第一设备基于预设时间间隔向第二设备发送心跳监测数据帧。这样,可以保持第一设备和第二设备之间的连接,且能耗较小。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。这样,第一设备可以确定第二设备在线,从而可以和第二设备进行信息交互。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。这样,第一设备可以确定第二设备离线(不在线),若需要和第二设备进行信息交互,需要重新建立与第二设备的连接。
在一种可能的实现方式中,心跳监测数据帧中包含第一设备的选举数据。也就是说,可以通过心跳机制中的心跳监测数据帧传输选举数据,无需发送额外的信息且可以有效利用心跳监测数据帧,能够节省能耗。
在一种可能的实现方式中,将语音信号转换为文本信息包括:通过自动语音识别技术(automatic speech recognition,ASR)将语音信号转换为文本信息。
在一种可能的实现方式中,根据文本信息确定用户意图包括:对文本信息进行自然语言处理(natural language processing,NLP),得到用户意图。这样,第一设备可以确定选举因素和不同设备的匹配程度,从而确定出响应用户的设备,若自身的匹配程度最高,可以根据用户意图响应用户。
在一种可能的实现方式中,第二设备响应用户意图包括:第二设备播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种;其中,音频节目包括新闻节目、相声节目、读书节目中的任一种。其中,用户意图可以是播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种。第一设备根据用户意图进行响应,能够满足用户需求,提高用户体验。
在一种可能的实现方式中,选举因素包括设备类型、设备位置、设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、用户意图的类型、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。
第四方面,本申请实施例提供一种设备响应方法,方法应用于通信系统,通信系统包括:第一设备和第二设备,第一设备和第二设备使用近距离无线通信技术通信,包括:第一设备与第二设备建立网络连接;第一设备在第一位置接收用户的语音信号,第二设备在第二位置无法接收用户的语音信号;第一设备将语音信号转换为文本信息;第一设备根据文本信息确定用户意图;第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;其中,选举因素用于确定响应用户意图的设备;若第一设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度,第一设备向第二设备发送用户意图;第二设备响应用户意图。
基于本申请实施例提供的方法,若第一设备在第一位置接收用户的语音信号,第二设备在第二位置无法接收用户的语音信号,第一设备可以根据语音信号确定用户意图,并向第二设备发送用户意图,第二设备可以响应用户意图。这样可以使用户更方便地操控距离用户较远的设备(第二设备),提高用户体验。
第五方面,本申请实施例提供一种设备响应方法,其特征在于,包括:第一设备在第一时刻接收用户的第一语音信号,将第一语音信号转换为第一文本信息;第一设备根据第一文本信息确定第一用户意图;第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;其中,选举因素用于确定响应第一用户意图的设备;若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备根据第一用户意图进行第一处理;第一设备向第二设备发送第三信息,第三信息用于指示第一设备响应第一用户意图;第一设备接收第四信息,第四信息用于指示第二设备响应第一用户意图,即响应第一用户意图的设备变更为第二设备;第一设备中断第一处理,并向第二设备发送第一处理的处理状态,使得所述第二设备根据所述处理状态接续所述第一处理。
基于本申请实施例提供的方法,第一设备在第一时刻接收用户的第一语音信号后,可以根据第一语音信号进行第一处理,而后,若第一设备确定第二设备响应第一用户意图,即响应第一用户意图的设备变更为第二设备,可以中断第一处理,并向第二设备发送第一处理的处理状态,以便第二设备根据处理状态接续第一处理。这样,在响应用户(即响应第一用户意图)的设备发生变更的情况下(例如,用户位置发生移动的情况下用户唤醒了新的设备(例如第二设备)),可以智能切换为用户服务的设备,无需用户手动操作,可以提高用户体验。
在一种可能的实现方式中,第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度包括:第一设备获取第一设备的选举数据和第二设备的选举数据,第一设备的选举数据包括第一设备的设备类型和/或设备位置,第二设备的选举数据包括第二设备的设备类型和/或设备位置;第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度;并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度。第一设备可以与第二设备进行网络连接,并从第二设备接收第二设备的选举数据。这样,第一设备可以根据不同设备的选举数据确定选举因素和不同设备的匹配程度,从而确定出响应第一用户意图的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应第一用户意图的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度;并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,包括:第一设备根据选举因素与第一设备的选举数据确定第一设备的评分,并根据选举因素与第二设备的选举数据确定第二设备的评分;第一设备比较第一设备的评分和第二设备的评分,第一设备的评分高于第二设备的评分,确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度。这样,第一设备可以根据不同设备的评分确定选举因素和不同设备的匹配程度,从而确定出响应第一用户意图的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器(read only memory,ROM)信息、随机存取存储器(randomaccess memory,RAM)信息、操作系统版本、网络状态、语音处理能力、第一设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝、语音的清晰度中的至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、第二设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝、语音的清晰度中的至少一个。这样,第一设备可以进一步根据不同设备的选举数据中的其他信息确定选举因素和不同设备的匹配程度,从而确定出响应第一用户意图的设备,若自身的匹配程度最高,可以响应用户,若自身的匹配程度较低,可以不响应用户,避免给响应用户的设备带来干扰,可以提高用户体验。
在一种可能的实现方式中,第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。也就是说,第一设备和第二设备之间可以进行近场通信(无线保真组网方式、蓝牙组网方式)或远场通信(云端服务器组网方式)。
在一种可能的实现方式中,方法还包括:第一设备基于预设时间间隔向第二设备发送心跳监测数据帧。这样,可以保持第一设备和第二设备之间的连接,且能耗较小。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。这样,第一设备可以确定第二设备在线,从而可以和第二设备进行信息交互。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。这样,第一设备可以确定第二设备离线(不在线),若需要和第二设备进行信息交互,需要重新建立与第二设备的连接。
在一种可能的实现方式中,心跳监测数据帧中包含第一设备的选举数据。也就是说,可以通过心跳机制中的心跳监测数据帧传输选举数据,无需发送额外的信息且可以有效利用心跳监测数据帧,能够节省能耗。
在一种可能的实现方式中,将第一语音信号转换为第一文本信息包括:通过自动语音识别技术(automatic speech recognition,ASR)将第一语音信号转换为第一文本信息。
在一种可能的实现方式中,根据第一文本信息确定第一用户意图包括:对第一文本信息进行自然语言处理(natural language processing,NLP),得到第一用户意图。这样,第一设备可以确定选举因素和不同设备的匹配程度,从而确定出响应第一用户意图的设备,若自身的匹配程度最高,可以根据第一用户意图响应用户。
在一种可能的实现方式中,第一用户意图包括:播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种;其中,音频节目包括新闻节目、相声节目、读书节目中的任一种。第一设备可以根据第一用户意图进行响应,能够满足用户需求,提高用户体验。
在一种可能的实现方式中,选举因素包括设备类型、设备位置、设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、用户意图的类型、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。
第六方面,本申请实施例提供一种设备响应方法,方法应用于通信系统,通信系统包括:第一设备和第二设备,第一设备和第二设备使用近距离无线通信技术通信,包括:第一设备在第一时刻接收用户的第一语音信号,将第一语音信号转换为第一文本信息;第一设备根据第一文本信息确定第一用户意图;第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;其中,选举因素用于确定响应第一用户意图的设备;若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备根据第一用户意图进行第一处理;第一设备向第二设备发送第三信息,第三信息用于指示响应第一用户意图的设备为第一设备;第二设备在第二时刻接收用户的第二语音信号,将第二语音信号转换为第二文本信息;第二设备根据第二文本信息确定第二用户意图;第二设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度;若第二设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度,第二设备向第一设备发送第四信息,第四信息用于指示第二设备响应第一用户意图,即响应第一用户意图的设备变更为第二设备;第一设备接收第四信息;第一设备中断第一处理,并向第二设备发送第一处理的处理状态;第二设备从第一设备接收第一处理的处理状态,根据处理状态接续第一处理。
基于本申请实施例提供的方法,第一设备在第一时刻接收用户的第一语音信号后,可以根据第一语音信号进行第一处理,而后,若第一设备确定响应第一用户意图的设备变更为第二设备,可以中断第一处理,并向第二设备发送第一处理的处理状态,以便第二设备根据处理状态接续第一处理。这样,在响应用户的设备发生变更的情况下(例如,用户位置发生移动的情况下用户唤醒了新的设备(例如第二设备)),可以智能切换为用户服务的设备,无需用户手动操作,可以提高用户体验。
第七方面,本申请实施例提供一种设备响应方法,包括:第一设备接收用户的第一操作,第一操作用于获取包含目标对象的媒体内容;目标对象包括人物或动物;响应于第一操作,第一设备获取第一设备的选举数据和第二设备的选举数据,第一设备的选举数据包括第一设备是否采集到目标对象的媒体内容的信息,第二设备的选举数据包括第二设备是否采集到目标对象的媒体内容的信息;在第一时刻,若第一设备确定第一设备采集到包含目标对象的媒体内容,第一设备播放第一设备采集到的包含目标对象的媒体内容;在第二时刻,若第一设备确定第二设备采集到包含目标对象的媒体内容,第一设备从第二设备接收包含目标对象的媒体内容,播放第二设备采集到的包含目标对象的媒体内容;其中,第二时刻晚于第一时刻。
基于本申请实施例提供的方法,第一设备接收用户的第一操作后,若确定第一设备采集到包含目标对象的媒体内容,第一设备播放第一设备采集到的包含目标对象的媒体内容;若第一设备确定第二设备采集到包含目标对象的媒体内容,第一设备从第二设备接收包含目标对象的媒体内容,播放第二设备采集到的包含目标对象的媒体内容。这样,在目标对象(例如,人物)位置发生移动的情况下,可以自动切换采集媒体内容的设备,无需用户手动操作,并可以保证第一设备总是播放包含目标对象的媒体内容,可以提高用户体验。
在一种可能的实现方式中,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、图像处理能力、图像分辨率、图像清晰度中至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、图像处理能力、图像分辨率、图像清晰度中至少一个。这样,第一设备可以进一步根据不同设备的选举数据中的其他信息,判断不同设备是否采集到包含目标对象的媒体内容,以及不同设备采集到包含目标对象的媒体内容的质量(例如,清晰度),以便第一设备播放质量更好的包含目标对象的媒体内容,可以提高用户体验。
在一种可能的实现方式中,若第一设备确定第一设备采集到包含目标对象的媒体内容,第一设备播放第一设备采集到的包含目标对象的媒体内容包括:若第一设备确定第一设备和第二设备采集到包含目标对象的媒体内容,且第一设备采集到的包含目标对象的媒体内容的分辨率或清晰度高于第二设备采集到的包含目标对象的媒体内容,第一设备播放第一设备采集到的包含目标对象的媒体内容;若第一设备确定第二设备采集到包含目标对象的媒体内容,第一设备从第二设备接收包含目标对象的媒体内容,播放第二设备采集到的包含目标对象的媒体内容包括:若第一设备确定第一设备和第二设备采集到包含目标对象的媒体内容,且第二设备采集到的包含目标对象的媒体内容的分辨率或清晰度高于第一设备采集到的包含目标对象的媒体内容,第一设备从第二设备接收包含目标对象的媒体内容,播放第二设备采集到的包含目标对象的媒体内容。这样,第一设备可以进一步根据分辨率或清晰度,判断不同设备采集到包含目标对象的媒体内容的质量,以便第一设备播放质量更好的包含目标对象的媒体内容,可以提高用户体验。
在一种可能的实现方式中,第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。也就是说,第一设备和第二设备之间可以进行近场通信(无线保真组网方式、蓝牙组网方式)或远场通信(云端服务器组网方式)。
在一种可能的实现方式中,方法还包括:第一设备基于预设时间间隔向第二设备发送心跳监测数据帧。这样,可以保持第一设备和第二设备之间的连接,且能耗较小。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。这样,第一设备可以确定第二设备在线,从而可以和第二设备进行信息交互。
在一种可能的实现方式中,方法还包括:第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。这样,第一设备可以确定第二设备离线(不在线),若需要和第二设备进行信息交互,需要重新建立与第二设备的连接。
在一种可能的实现方式中,心跳监测数据帧中包含第一设备的选举数据。也就是说,可以通过心跳机制中的心跳监测数据帧传输选举数据,无需发送额外的信息且可以有效利用心跳监测数据帧,能够节省能耗。
第八方面,本申请提供了一种第一设备,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得第一设备执行上述任一方面任一项可能的实现方式中的方法。
第九方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在第一设备上运行时,使得第一设备执行上述任一方面任一项可能的实现方式中的方法。
第十方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现方式中的方法。
第十一方面,本申请提供一种芯片系统,该芯片系统可以设置于第一设备中。该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。该芯片系统可以应用于包括通信模块和存储器的电子设备。该接口电路用于存储器接收信号,并向处理器发送接收到的信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,第一设备可以执行上述任一方面及其任一种可能的实现方式所述的方法。
第十二方面,本申请实施例提供一种通信系统,包括至少两个设备(例如第一设备和第二设备),每个设备可以执行上述任一方面及其任一种可能的实现方式所述的方法。
附图说明
图1A为本申请实施例提供的一种场景示意图;
图1B为本申请实施例提供的又一种场景示意图;
图2为本申请实施例提供的一种组网示意图;
图3为本申请实施例提供的又一种组网示意图;
图4为本申请实施例提供的又一种组网示意图;
图5为本申请实施例提供的一种心跳监测示意图;
图6为本申请实施例提供的一种电子设备的硬件结构示意图;
图7为本申请实施例提供的一种电子设备的软件结构示意图;
图8为本申请实施例提供的一种信号交互示意图;
图9A为本申请实施例提供的一种电视101接收到用户的语音后的处理流程示意图;
图9B为本申请实施例提供的一种电视101响应用户的语音的处理流程示意图;
图10为本申请实施例提供的又一种场景示意图;
图11为本申请实施例提供的又一种信号交互示意图;
图12A为本申请实施例提供的又一种场景示意图;
图12B为本申请实施例提供的又一种场景示意图;
图12C为本申请实施例提供的一种信号交互示意图;
图13A为本申请实施例提供的一种音箱105接收到用户的语音后的处理流程示意图;
图13B为本申请实施例提供的一种音箱106响应用户的语音的处理流程示意图;
图14为本申请实施例提供的又一种场景示意图;
图15为本申请实施例提供的又一种场景示意图;
图16为本申请实施例提供的又一种信号交互示意图;
图17为本申请实施例提供的又一种场景示意图;
图18为本申请实施例提供的又一种信号交互示意图;
图19为本申请实施例提供的又一种场景示意图;
图20A为本申请实施例提供的又一种场景示意图;
图20B为本申请实施例提供的一种显示示意图;
图20C为本申请实施例提供的又一种显示示意图;
图21为本申请实施例提供的又一种信号交互示意图;
图22为本申请实施例提供的一种手机104采集视频的处理流程示意图;
图23为本申请实施例提供的又一种信号交互示意图;
图24为本申请实施例提供的又一种信号交互示意图;
图25为本申请实施例提供的一种芯片系统的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
随着电子设备的种类日渐丰富,在智慧家庭、智慧工厂等场景中多台电子设备组网协同运行成为常态。由于多台电子设备可以具备相同的功能,例如家庭场景中可以有多个音箱,每个音箱上都安装有语音助手,当用户说出语音助手的唤醒词后,多个音箱都可以应答用户,多个音箱的应答相互干扰,导致用户体验较差。
本申请实施例提供一种方法,可以从当前组网环境中选举(选择)出处理当前业务最合适的一台电子设备(目标电子设备),由该目标电子设备响应用户。例如,当用户说出语音助手的唤醒词后,可以选举出一台电子设备(例如,一个音箱)应答用户。这样,多台电子设备无需重复执行同一任务,可以避免多台电子设备相互干扰,并且可以降低电子设备的处理功耗。并且可以使用户更智能地操控电子设备,能够满足用户需求,提高用户体验。
示例性的,如图1A所示,客厅中存在电视101、音箱102和音箱103,电视101、音箱102和音箱103都可以应答用户。当用户说出“你好小艺,我想和电视说话”后,响应于该语音,电视101可以回答:“主人我在,请吩咐”,音箱102和音箱103可以不作回应,可以更好地满足用户需求。基于本申请实施例提供的方法,当用户同时唤醒多台电子设备时,可以选举出一台满足用户需求电子设备为用户服务,避免多台电子设备一起响应带来的干扰,可以提高用户体验。
又例如,如图1B所示,客厅中存在电视101、音箱102和音箱103,电视101、音箱102和音箱103都可以应答用户。当用户说出“你好小艺,请让距离最近的音箱播放一首XX”后,响应于该语音,距离用户最近的音箱103可以回答:“好的,开始播放XX”,音箱102和电视101可以不作回应,可以更好地满足用户需求。基于本申请实施例提供的方法,当用户同时唤醒多台电子设备时,可以根据用户的语音信息选举出一台满足用户需求电子设备为用户服务,避免多台电子设备一起响应带来的干扰,可以提高用户体验。
本申请实施例涉及的系统架构可以包括多个电子设备,多个电子设备之间可以进行组网,组网后多个电子设备之间可以进行信息交互。组网方式包含不限于以下方式:
(1)、无线保真(wireless fidelity,WIFI)组网方式:多个电子设备可以接入同一个路由设备(例如,路由器)。如图2所示,电视(智慧电视)101、音箱(智能音箱)102、音箱103、手机104、音箱105、音箱106和摄像头107可以接入路由器108,组成一个家庭网络。或者,多个电子设备可以加入同一个热点设备(例如,接入同一个手机的热点),此时电子设备和电子设备之间的信息交互,可以通过热点设备转发。如图3所示,电视101、音箱102、音箱103、音箱105、音箱106和摄像头107可以接入手机104,组成一个热点网络,手机104可以作为热点设备为各个电子设备转发信息。
(2)、蓝牙组网方式:多个电子设备可以连接到同一个蓝牙设备(例如,手机104),此时电子设备和电子设备之间的信息交互,可以通过蓝牙设备转发。如图3所示,电视101、音箱102、音箱103、音箱105、音箱106和摄像头107可以接入手机104,组成一个蓝牙网络,手机104可以作为蓝牙设备为各个电子设备转发信息。
(3)、云端服务器组网方式:多个电子设备可以连接到同一个云端服务器,此时电子设备和电子设备之间的信息交互,可以通过云端服务器转发。如图4所示,电视101、音箱102、音箱103、音箱105、音箱106和摄像头107可以接入路由器108,组成一个家庭网络,路由器108可以连接到服务器201,手机104也可以连接到服务器201,服务器201可以作为中转设备为路由器108和手机104转发信息,即路由器108可以通过服务器201与手机104进行信息交互。手机104可以通过服务器201和路由器108与电视101、音箱102、音箱103、音箱105、音箱106和摄像头107等电子设备进行信息交互。在一种可能的设计中,电视101、音箱102、音箱103、手机104、音箱105、音箱106、摄像头107和路由器108都可以连接到服务器201,服务器201可以作为中转设备为电视101、音箱102、音箱103、手机104、音箱105、音箱106、摄像头107和路由器108之间转发信息。即电视101、音箱102、音箱103、手机104、音箱105、音箱106、摄像头107和路由器108之间可以通过服务器201进行信息交互。
多个电子设备可以采用多种组网方式,例如,同时采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少两种,本申请不做限定。
多个电子设备完成组网后,多个电子设备中的第一电子设备可以扫描当前网络(当前组网环境)内所有电子设备的网络协议(internet protocol,IP)地址,第一电子设备可以基于IP地址与其他电子设备之间执行心跳监测(监听),确定组网环境内各个电子设备之间的连接是否异常。其中,第一电子设备可以是能力较强的电子设备,例如,可以是手机、平板、路由器等。
举例来说,组网环境内可以包括电子设备A、电子设备B和电子设备C,电子设备A可以扫描当前网络(当前组网环境)内所有电子设备的IP地址,例如获取电子设备B和电子设备C的IP地址。基于电子设备B和电子设备C的IP地址,电子设备A与电子设备B或电子设备C之间可以基于预设时间间隔进行心跳监测。示例性的,电子设备A可以每隔1分钟(或者,30s、2分钟、3分钟等)进行一次心跳监测,即电子设备A可以每隔1分钟发送一个心跳监测数据帧(也可以称为心跳包),电子设备B或电子设备C接收到心跳监测数据帧后可以发送响应帧,则电子设备A确定连接正常,否则表示连接断开或异常。
如图5所示,以当前组网环境包括音箱102、音箱103和路由器108为例,路由器108可以扫描当前网络(组网环境)内所有电子设备的IP地址,获取音箱102和音箱103的IP地址。基于音箱102和音箱103的IP地址,路由器108与音箱102或音箱103之间可以基于预设时间间隔进行心跳监测。心跳监测的原理是固定频率的接口调用。示例性的,路由器108可以以固定频率调用syncByHeatBeat(),从而检测路由器108和音箱102或音箱103的连接是否正常。例如,路由器108可以每隔5分钟进行一次心跳监测,即路由器108可以每隔5分钟发送一个心跳监测数据帧,音箱102或音箱103接收到心跳监测数据帧后可以发送响应帧,路由器108接收到音箱102或音箱103发送的响应帧后确定连接正常,否则表示连接断开或异常。
当电子设备A扫描到新的IP地址时表示新的电子设备(例如,电子设备D)加入当前网络,电子设备A可以与电子设备D之间进行心跳监测。示例性的,电子设备A可以调用onDevJoin(),确定有新的电子设备接入网络。若电子设备A无法接收到心跳监测数据帧的响应帧,确定有设备离开网络。示例性的,电子设备A可以调用onDevLeave(),确定有电子设备离开网络。
在一种可能的情况中,若电子设备A无法正常工作(例如,发生故障或者关机),电子设备B或电子设备C或电子设备D可以接替电子设备A的工作。例如,电子设备B可以扫描当前网络(组网环境)内所有电子设备的IP地址,获取电子设备D和电子设备C的IP地址。电子设备B可以和电子设备C之间建立连接并执行心跳监测,且电子设备B可以和电子设备D建立连接并执行心跳监测。
基于心跳监测,电子设备不仅可以获取其他电子设备的状态(例如判断其他电子设备是否在线),还可以进行数据同步,例如可以传输数据包,数据包中包含选举数据,选举数据可以参见下文的描述。
本申请实施例中,电子设备可以包括手机、个人计算机(personal computer,PC)、平板电脑、台式机(桌面型电脑)、手持计算机、笔记本电脑(膝上型电脑)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、路由器、电视等设备。或者,电子设备可以包括音响、摄像头、空调、电冰箱、智能窗帘、台灯、吊灯、电饭煲、安防设备(如智能电子锁)、机器人、扫地机、智能秤等可以接入家庭无线局域网的设备。或者,电子设备可以包括智能耳机、智能眼镜、智能手表、智能手环、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、无线定位器、追踪器(Tracker)、电子项圈等穿戴设备,本申请实施例中的电子设备还可以是车载音响、车载空调等设备。本申请实施例对电子设备的具体形态不作特殊限制。
如图6所示,本申请实施例以电子设备200(如手机)为例,对本申请实施例提供的电子设备的结构进行举例说明。电子设备200(如手机)可以包括:处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriberidentification module,SIM)卡接口295等。
其中,上述传感器模块280可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
可以理解的是,本实施例示意的结构并不构成对电子设备200的具体限定。在另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,摄像头293,和无线通信模块260等供电。在一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。
天线1和天线2用于发射和接收电磁波信号。电子设备200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在电子设备200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
无线通信模块260可以提供应用在电子设备200上的包括WLAN(如(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备200通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。该显示屏294包括显示面板。
电子设备200可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。ISP用于处理摄像头293反馈的数据。摄像头293用于捕获静态图像或视频。在一些实施例中,电子设备200可以包括1个或N个摄像头293,N为大于1的正整数。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备200的各种功能应用以及数据处理。例如,在本申请实施例中,处理器210可以通过执行存储在内部存储器221中的指令,内部存储器221可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
电子设备200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和电子设备200的接触和分离。电子设备200可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口295可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
如图7所示,以电子设备300为例,对本申请实施例提供的电子设备的软件结构进行举例说明。电子设备300的软件架构可以包括应用层301、框架层302、本地库(nativelibraries)&安卓运行时(Android Runtime)303、硬件抽象层(hardware abstractionlayer,HAL)304和内核305。本申请实施例以电子设备300的操作系统是安卓系统为例进行说明。电子设备300也可以是鸿蒙系统、IOS系统或者其他操作系统,本申请实施例不做限定。
应用层301可以包括语音应用3011。可选的,应用层301还可以包括视频应用3018。当然,应用层301还可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序,本申请不做限定。
语音应用3011可以控制电子设备300通过语音与用户进行交流。语音应用3011可以包括语音管理模块3012、自然语言处理(natural language processing,NLP)模块3013、自动语音识别技术(automatic speech recognition,ASR)模块3014、文本转语音(text tospeech,TTS)模块3015、执行模块3016和选举管理模块3017。其中:
语音管理模块3012用于通过麦克风采集语音信号(也可以称为语音数据、音频数据、音频信号等,简称为语音),以及通过扬声器播放需要输出的音频数据。
ASR模块3014用于将音频数据转为文本数据。比如将用户通过麦克风输入的语音“小艺,请播放音乐”转化成应用程序可识别的文本数据(可以称为文本信息,简称为文本)。
NLP模块3013用于从文本数据中识别出用户意图。比如从文本数据“小艺,请播放音乐”中,识别出用户意图为“播放音乐”。
TTS模块3015用于将文本数据转为音频数据,并可以将音频数据发送给语音管理模块3012,语音管理模块3012可以将音频数据送至扬声器上播放。
执行模块3016用于基于用户意图在本设备上执行相应的任务,即根据用户意图进行响应。比如用户意图为“播放音乐”时,执行模块3016可以调用本设备的音乐播放器播放音乐。
选举管理模块3017用于对接分布式选举框架3021,可以进行注册(registerBusiness())、上传定制的数据(uploadData())、设置选举因素(setSelectFactors())、开始选举(启动选举过程)、返回选举结果(callback.onResultChange())、传递报文、停止选举、注销等流程。具体过程可以参考下文中的相关描述。
视频应用3018,用于采集和处理视频数据,并可以控制电子设备300向用户呈现视频数据。视频应用3018包括视频管理模块3019a、图像处理模块3019b和选举管理模块3019c。
其中:
视频管理模块3019a用于获取摄像头采集的视频数据。
图像处理模块3019b用于解析视频数据,得到视频的画面信息,画面信息包含不限于:画面清晰度、画面分辨率、画面中有无人物、画面中人物信息等。
选举管理模块3019c用于对接分布式选举框架,包含注册、上传定制的数据(例如,画面信息)、设置选举因素、开始选举、返回目标设备、停止选举、注销等流程。具体过程可以参考下文中的相关描述。
框架层302可以包括分布式选举框架3021。当然,框架层302还可以包括活动管理器、窗口管理器,内容提供器,资源管理器,通知管理器等,本申请实施例对此不做任何限制。
其中,分布式选举框架3021包括选举逻辑模块3022、选举数据管理模块3023、心跳模块3024和跨设备交互模块3025,其中:
选举数据管理模块3023可以包括数据存储模块3023a、数据处理模块3023b和数据收集模块3023c。其中,数据收集模块3023c用于收集设备自身的数据(如中央处理单元(central processing unit,CPU)的信息、内存使用率等)和应用程序定制的数据(如用户的语音的分贝大小);数据处理模块3023b用于处理数据收集模块3023c收集的数据,数据存储模块3023a用于存储来自数据处理模块3023b和数据收集模块3023c的数据。
选举逻辑模块3022包括选举算法模块3022a和API 3022b。其中,选举算法模块3022a用于结合应用程序设置的选举因素(如设备类型、设备位置、语音的分贝大小等),基于选举数据管理模块3023收集的数据(可以称为选举数据)实时选举出最适合应用程序(例如,语音应用3011)需求的设备并告知应用程序。API 3022b用于对应用程序提供接口,包含注册、上传选举数据、设置选举因素、开始选举、停止选举等能力接口。
心跳模块3024可以包括数据同步模块3024a和状态监测模块3024b,状态监测模块3024b用于执行设备状态监听,可以判断是否有设备加入或离开当前组网环境。数据同步模块3024a可以基于心跳机制(心跳监测机制)获取当前组网环境内的其他设备的数据(例如,通过传输心跳包获取其他设备的数据),并将数据传送给选举数据管理模块3023进行处理和存储。
跨设备交互模块3025可以包括跨设备通信模块3025a和组网模块3025b。组网模块3025b可以实时扫描家庭网络中的IP地址,当发现新的电子设备时,可以调用心跳模块执行心跳监测,具体过程参见上文的相关描述,在此不做赘述。跨设备通信模块3025a可以基于WIFI模组和蓝牙模组的基础接口,封装跨设备交互的接口给其他模块调用。
本地库&安卓运行时303:包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
HAL304可以包括麦克风、扬声器、WIFI模组、蓝牙模组、摄像头、传感器等。
内核305是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
上述软件架构中的分布式选举框架3021可以部署在当前组网环境内的多个电子设备上(例如,如图2或图3或图4中的电视101、音箱102、音箱103、手机104、音箱105、音箱106、摄像头107和路由器108等等)。
下面以图1A所示的场景为例,对本申请实施例提供的方法进行说明。如图1A所示,当前组网环境内可以包括电视101、音箱102和音箱103,电视101、音箱102和音箱103上都安装有语音应用(例如,语音助手应用)和分布式选举框架。如图8所示,本申请实施例提供的选举方法包括以下步骤:
801a、电视101的语音应用向分布式选举框架注册。
电视101开机时,语音应用启动,语音应用启动时可以向分布式选举框架注册,这样,电视101的分布式选举框架可以和语音应用进行信息交互。
801b、音箱102的语音应用向分布式选举框架注册。
音箱102开机时,语音应用启动,语音应用启动时可以向分布式选举框架注册,这样,音箱102的分布式选举框架可以和语音应用进行信息交互。
801c、音箱103的语音应用向分布式选举框架注册。
音箱103开机时,语音应用启动,语音应用启动时可以向分布式选举框架注册,这样,音箱103的分布式选举框架可以和语音应用进行信息交互。
需要说明的是,步骤801a-步骤801c的执行先后顺序不是固定的,例如可以是同时执行步骤801a-步骤801c,或者可以先执行步骤801a,再执行步骤801b,最后执行步骤801c,本申请不做限定。
802a、电视101的分布式选举框架获取电视101的选举数据。
其中,电视101的选举数据包含电视101的分布式选举框架默认收集的数据,电视101默认收集的数据是指和电视101的硬件、操作系统相关,且不依赖电视101的上层应用程序(例如,语音应用)处理的数据。示例性的,电视101默认收集的数据可以参考表1所示。
表1
Figure GDA0004170164190000171
如表1所示,电视101默认收集的数据包括电视101的内核种类、芯片组、设备类型、设备位置、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态等。其中,内核种类例如可以是单核/双核/四核/八核。芯片组例如可以包括CPU、GPU、NPU中的至少一个。设备类型例如可以是手机(Phone)/电视(TV)/平板(Pad)。设备位置例如可以是位于卧室/客厅/厨房等。传感器信息例如可以是包括摄像头(Camera)/麦克风(Mic)/扬声器(Speaker)中的至少一个。可选的,传感器信息还可以包括传感器的开关状态(如摄像头开启或关闭)及硬件信息(如摄像头像素以及硬件型号等)。ROM信息例如可以是ROM的剩余空间/使用率/总大小等。RAM信息例如可以是RAM的剩余空间/使用率/总大小等。RAM的剩余空间/使用率可以表征设备的负载值(例如,处理器负载/运存)。操作系统版本例如可以是Android9/Emui10等。网络状态例如可以包括当前是否4G/5G网络以及当前剩余流量。
在一种可能的设计中,当语音应用有特定的需求/诉求,或者说分布式选举框架默认收集的数据不满足语音应用的需求/诉求时,语音应用可以向分布式选举框架上传定制的数据,定制的数据是指依赖语音应用处理的数据。示例性的,语音应用定制的数据可以如表2所示:
表2
Figure GDA0004170164190000172
其中,语音解析内容可以是语音应用根据用户输入的语音解析得到的,例如,语音应用可以根据用户输入的语音解析得到用户意图、用户的身份、用户的性别、用户的位置(用户是否在附近)、语音的分贝大小、语音的清晰度等。
语音处理能力可以是根据语音处理能力评分公式计算得到的。语音处理能力评分公式可以是语音应用自定义的。例如,若语音应用要求使用海思xxx芯片,且版本高于EMUI10.0的音箱,这样语音处理能力评分公式可以是:芯片型号*预设的第一占比+EMUI版本*预设的第二占比。根据语音处理能力评分公式计算得到的值越大,表示设备的语音处理能力越强。
即电视101的选举数据除了包括电视101的分布式选举框架默认收集的数据,还可以包括语音应用定制的数据。
802b、音箱102的分布式选举框架获取音箱102的选举数据。
音箱102的选举数据除了包括音箱102的分布式选举框架默认收集的数据,还可以包括语音应用定制的数据。
802c、音箱103的分布式选举框架获取音箱103的选举数据。
音箱103的选举数据除了包括音箱103的分布式选举框架默认收集的数据,还可以包括语音应用定制的数据。
步骤802b和步骤802c可以参考步骤802a的相关说明,只需简单替换执行主体即可,在此不做赘述。
803、多个设备间基于心跳机制交换选举数据。
即电视101、音箱102和音箱103之间可以基于心跳机制交换选举数据。需要说明的是,对于电视101、音箱102或音箱103,每个设备上的分布式选举框架除了收集本设备的选举数据外,还可以接收来自其他设备的选举数据。即每个设备可以获取两部分选举数据:(1)本设备的选举数据,本设备的选举数据包括本设备的分布式选举框架默认收集的数据和本设备的应用程序定制的数据;(2)其他设备的选举数据。其他设备的选举数据可以包括其他设备的分布式选举框架默认收集的数据和其他设备的应用程序定制的数据。
在一种可能的实现方式中,音箱102和电视101之间可以进行心跳监测,音箱102和电视101之间可以基于心跳监测机制传递选举数据。音箱102和音箱103之间可以进行心跳监测,音箱102和音箱103之间可以基于心跳监测机制传递选举数据。电视101和音箱103之间可以不进行心跳监测,电视101和音箱103之间可以通过音箱102传递选举数据。可以参考步骤S1-步骤S4的描述。
S1、电视101向音箱102发送电视101的选举数据。
电视101的分布式选举框架可以向音箱102的分布式选举框架发送自身(即电视101)的选举数据。
示例性的,电视101可以在发送给音箱102的心跳监测数据帧或心跳监测数据帧的回复帧中携带电视101的选举数据。
S2、音箱103的分布式选举框架可以向音箱102发送自身的选举数据。
即音箱103的分布式选举框架可以向音箱102的分布式选举框架发送音箱103的选举数据。
示例性的,音箱103可以在发送给音箱102的心跳监测数据帧或心跳监测数据帧的回复帧中携带音箱103的选举数据。
音箱102可以接收电视101和音箱103发送的选举数据,并可以执行步骤803c和步骤803d。
S3、音箱102的分布式选举框架可以向电视101发送音箱102和音箱103的选举数据。
示例性的,音箱102可以在发送给电视101的心跳监测数据帧或心跳监测数据帧的回复帧中携带音箱102和/或音箱103的选举数据。
S4、音箱102的分布式选举框架可以向音箱103发送音箱102和电视101的选举数据。
示例性的,音箱102可以在发送给音箱103的心跳监测数据帧或心跳监测数据帧的回复帧中携带音箱102和/或电视101的选举数据。
需要说明的是,步骤S1-步骤S4的执行先后顺序不是固定的,例如可以是先同时执行步骤S1和步骤S2,再同时执行步骤S3和步骤S4,或者可以先执行步骤S1、再执行步骤S2,再执行步骤S3,最后执行步骤S4,本申请不做限定。
在另一种可能的实现方式中,电视101、音箱102和音箱103可以分别和设备A(例如,路由器108,图8中未示出)之间进行心跳监测。电视101和音箱102之间可以不进行心跳监测,而通过路由器108传递选举数据。音箱102和音箱103之间也可以不进行心跳监测,而通过路由器108传递选举数据。
804a、电视101的应用程序向分布式选举框架申请选举。
电视101的应用程序可以根据预设规则设置一个或多个选举因素,每个选举因素对应预设占比。示例性的,语音应用设置的选举因素可以包括设备位置、设备类型和用户的语音的分贝大小。其中,设备位置的占比可以为30%,设备类型的占比可以为30%,分贝大小的占比可以为40%。
上述选举因素中,设备位置、设备类型可以分别对应一个目标值(目标取值),可以根据用户的语音的语义确定选举因素的目标值。例如,如图1A所示,用户发出的语音信号(简称为语音)例如可以是“你好小艺,我想和电视说话”,电视101检测到唤醒词“你好小艺”后,启动AP,AP检测到语音“我想和电视说话”,确定该语音中指定设备类型为“电视”,即确定选举因素中设备类型的目标值为:“电视”。由于用户的语音未指定设备位置,可以确定选举因素中设备位置的目标值为0(为空)。又例如,若用户发出的语音是“你好小艺,我想和客厅的电视说话”,该语音中指定设备类型为“电视”,即确定选举因素中设备类型的目标值为:“电视”;该语音中指定设备位置为“客厅”,即确定选举因素中设备位置的目标值为:“客厅”。
示例性的,如图9A所示,电视101的语音管理模块3012可以通过麦克风收集用户发出的语音:“你好小艺,我想和电视说话”;语音管理模块3012将语音发送至ASR模块3014处理,ASR模块3014将语音转成文本;ASR模块3014将文本发送至NLP模块3013处理,NLP模块3013从文本识别出设备类型的目标值为:“电视”;NLP模块3013可以将设备类型的目标值发送至选举管理模块3017。由于用户的语音未指定设备位置,因此确定选举因素中设备位置的目标值为0。NLP模块3013可以向选举管理模块3017显示指示设备位置的目标值为0(例如,发送指示信息,指示设备位置的目标值为0),或者可以隐式指示设备位置的目标值为0(例如,不指示设备位置的目标值,从而选举管理模块可以被动获知设备位置的目标值为0)。选举管理模块3017确定选举因素中设备类型的目标值为:“电视”,即“{DeviceType:TV;};设备位置的目标值为0。而后,选举管理模块3017可以向分布式选举框架3021申请选举,并可以将设备类型的目标值(即“电视”)、设备位置的目标值(即0)以及语音的分贝大小(例如,60分贝)传递给分布式选举框架3021,使分布式选举框架3021根据设备类型的目标值、设备位置的目标值以及语音的分贝大小进行选举处理,详细过程参见步骤805a。
804b、音箱102的应用程序向分布式选举框架申请选举。
804c、音箱103的应用程序向分布式选举框架申请选举。
在一种可能的情况中,电视101、音箱102和音箱103都接收到用户发出的包括唤醒词的语音,此时电视101、音箱102和音箱103的应用程序都可以向自身的分布式选举框架申请选举。
在另一种可能的情况中,电视101、音箱102和音箱103中的部分设备接收到用户发出的包括唤醒词的语音。例如,仅电视101接收到用户发出的包括唤醒词的语音,此时电视101的应用程序可以向电视101的分布式选举框架申请选举。又例如,电视101和音箱102都接收到用户发出的包括唤醒词的语音,此时电视101和音箱102的应用程序可以分别向电视101和音箱102的分布式选举框架申请选举。
805a、电视101的分布式选举框架进行选举处理。
电视101的应用程序可以将选举因素和选举因素的占比预置在分布式选举框架中,在接收到用户发出的语音后,电视101的应用程序可以通知分布式选举框架开始选举。
电视101的分布式选举框架可以基于选举数据和选举算法确定选举结果,即选举出目标设备,目标设备即组网环境内最适合响应用户的语音的设备。
其中,选举算法可以包括如下步骤:
(1)、基于每个设备的选举因素的得分和选举因素的占比,为全部设备评分。其中,每个设备的选举因素的得分相同或不同,每个设备设置的选举因素的占比是相同的。例如,假设有n个选举因素,设备1的评分=Sum(选举因素1的得分*选举因素1的占比+选举因素1的得分*选举因素2的占比+...+选举因素n的得分*选举因素n的占比)。
如表3所示,示出了部分选举因素的得分标准。
表3
Figure GDA0004170164190000211
其中,若设备检测到用户发出的语音的分贝大于或等于预设阈值,可以认为用户在该设备的附近,此时IsUserExist字段为true。若设备检测到用户发出的语音的分贝小于预设阈值,可以认为用户不在该设备的附近,此时IsUserExist字段为false。
其中,部分选举因素(例如,内核种类、芯片组、传感器状态、ROM信息、RAM信息、网络状态等)的得分可以是基于该设备收集到的选举数据中默认收集的数据得到的。部分选举因素(例如,设备类型、设备位置、用户的位置)的得分可以是基于该设备收集到的选举数据中默认收集的数据和应用(例如语音应用)定制的数据(例如,语音的分贝大小)得到的。部分选举因素(例如,语音的分贝大小)的得分可以是基于该设备收集到的选举数据中应用定制的数据(例如,语音的分贝大小)得到的。
上述每个选举因素的满分值相同,例如都可以为100,这样可以保证设置的选举因素占比的有效性。
示例性的,如图1A所示,当前组网环境中包括电视101、音箱102和音箱103,假设应用程序设置在分布式选举框架中的选举因素包括设备类型、设备位置和用户的语音的分贝大小,其中,设备位置的占比可以为30%,设备类型的占比可以为30%,分贝大小的占比可以为40%。当电视101、音箱102和音箱103检测到用户发出的语音:“你好小艺,我想和电视说话”后,可以确定设备类型的目标值为“电视”,设备位置的目标值为0。电视101检测到的用户的语音的分贝大小可以为60,音箱102检测到的用户的语音的分贝大小可以为50,音箱103检测到的用户的语音的分贝大小可以为40。对于电视101、音箱102或音箱103中的任一个设备,可以根据上述条件确定电视101、音箱102和音箱103的评分,其中:
电视101的评分=Sum(100*30%+0*30%+60*40%)=54
音箱102的评分=Sum(0*30%+0*30%+50*40%)=20
音箱103的评分=Sum(0*30%+0*30%+40*40%)=16
(2)每个设备对全部设备的评分进行排序,确定评分最高的设备为目标设备。
示例性的,假设电视101的评分=54,音箱102的评分=20,音箱103的评分=16,可知评分最高的设备是电视101,即电视101为目标设备。
电视101的分布式选举框架确定出目标设备后,可以通知电视101的应用程序,例如可以向电视101的应用程序发送目标设备的标识和/或名称。
需要说明的是,当有新的设备加入组网环境,或者有设备离开组网环境时,应用程序可以重新触发分布式选举框架进行选举,以便在新的组网环境中选择出目标设备。在新的组网环境中选择出目标设备后,可以基于心跳机制将选举结果(例如目标设备的标识)通知给组网内的其他设备。例如,可以分别调用组网内的各个设备对应的通知接口通知选举结果。若部分设备的通知接口调用异常,可以认为该设备下线(即丧失心跳)。
805b、音箱102的分布式选举框架进行选举处理。
805c、音箱103的分布式选举框架进行选举处理。
步骤805b和步骤805c可以参考步骤805a的相关描述,简单替换执行主体即可,在此不做赘述。
若目标设备为电视101,可选的,音箱102和音箱103可以向电视101通知选举结果。由于音箱102确定的目标设备为电视101,自身无需处理用户的语音,可以向电视101通知选举结果(即指示目标设备为电视101),以便电视101对用户的语音进行处理。由于音箱102确定的目标设备为电视101,自身无需响应用户的语音,可以向电视101通知选举结果(即指示目标设备为电视101),以便电视101对用户的语音进行处理。
电视101可以确定目标设备为自身,且电视101可以从音箱102和音箱103接收选举结果,电视101可以执行步骤806a。需要说明的是,虽然电视101可以接收到两条通知消息,由于两条通知消息指示的内容相同,因此电视101可以响应一次,无需多次响应。
806a、电视101进行响应。
电视101可以基于用户意图响应用户。在图9A所示的基础上,如图9B所示,电视101的选举管理模块3017可以从NLP模块接收报文“{cmds:speak;}”,确定用户意图为:“说话”;选举管理模块3017可以将用户意图发送至执行模块3016处理,执行模块根据用户意图确定文本:“主人我在,请吩咐”;执行模块3016将文本发送至TTS模块3015处理,TTS模块3015将文本转成语音“主人我在,请吩咐”;TTS模块3015将语音发送至语音管理模块3012处理,语音管理模块3012通过扬声器将语音播放给用户。
语音应用结束时(语音应用长时间未检测到用户发出的语音后),可以调用注销接口,分布式选举框架停止选举并清理(例如,删除)语音应用定制的选举数据。停止选举后,选举数据发生变化时不再触发选举。
806b、音箱102不进行响应。
音箱102确定目标设备为电视101,无需响应用户。
806c、音箱103不进行响应。
音箱103确定目标设备为电视101,无需响应用户。
又例如,如图10所示,假设当前组网环境中包括电视101、音箱102、音箱103、音箱105、音箱106和音箱109,每个设备上的应用程序(例如,语音应用)可以在该设备上的分布式选举框架设置选举因素,设置的选举因素例如可以包括ROM使用率、RAM使用率、RAM剩余空间、内核数量。其中,ROM使用率的占比可以为20%,RAM使用率的占比可以为20%,RAM剩余空间的占比可以为20%,内核数量的占比可以为40%。电视101、音箱102、音箱103、音箱105、音箱106和音箱109当前各自的ROM使用率、RAM使用率、RAM剩余空间、内核数量如表4所示:
表4
设备 ROM使用率 RAM使用率 RAM剩余空间 内核数量
电视101 60% 40% 40G 8
音箱102 40% 10% 10G 2
音箱103 20% 10% 10G 2
音箱105 40% 20% 10G 2
音箱106 40% 10% 10G 2
音箱109 40% 10% 10G 2
即电视101的ROM使用率60%,RAM使用率40%,RAM剩余空间40G,内核数量8个;音箱102的ROM使用率40%,RAM使用率10%,RAM剩余空间10G,内核数量2个;音箱103的ROM使用率20%,RAM使用率10%,RAM剩余空间10G,内核数量2个;音箱105的ROM使用率40%,RAM使用率20%,RAM剩余空间10G,内核数量2个;音箱106的ROM使用率40%,RAM使用率10%,RAM剩余空间10G,内核数量2个;音箱109的ROM使用率40%,RAM使用率10%,RAM剩余空间10G,内核数量2个。
音箱105检测到用户发出的语音:“你好小艺,我家设备里谁的处理能力最强?”后,可以计算电视101、音箱102、音箱103、音箱105、音箱106和音箱109的评分,其中:
电视101的评分=
Sum((1-60%)*100*20%+(1-40%)*100*20%+(40/80)*100*20%+(8/16)*100*40%)=8+12+10+20=50
音箱102的评分=
Sum((1-40%)*100*20%+(1-10%)*100*20%+(10/80)*100*20%+(2/16)*100*40%)=12+18+2.5+5=37.5
音箱103的评分=
Sum((1-20%)*100*20%+(1-10%)*100*20%+(10/80)*100*20%+(2/16)*100*40%)=16+18+2.5+5=41.5
音箱105的评分=
Sum((1-40%)*100*20%+(1-20%)*100*20%+(10/80)*100*20%+(2/16)*100*40%)=12+16+2.5+5=35.5
音箱106的评分=
Sum((1-40%)*100*20%+(1-10%)*100*20%+(10/80)*100*20%+(2/16)*100*40%)=12+18+2.5+5=37.5
音箱109的评分
=Sum((1-40%)*100*20%+(1-10%)*100*20%+(10/80)*100*20%+(2/16)*100*40%)=12+18+2.5+5=37.5
音箱105对全部设备的评分进行排序,评分越高的设备的ROM使用率越低,RAM使用率越低,RAM剩余空间越大,内核数量越多。最终可以确定评分最高的设备为目标设备,这里目标设备是电视101。
如图11所示,本申请实施例提供一种设备响应方法,包括:
1101、第一设备在第一时刻接收用户的语音信号,将语音信号转换为文本信息。
第一设备可以通过ASR将语音信号转换为文本信息。
1102、第一设备根据文本信息确定用户意图。
第一设备可以对文本信息进行自然语言处理,得到用户意图。其中,用户意图可以包括播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目等不同类型。
1103、第一设备根据选举因素确定选举因素与第一设备的匹配程度,以及选举因素与第二设备的匹配程度。
其中,选举因素用于确定响应用户意图的设备。选举因素可以包括设备类型、设备位置、设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、语音处理能力、用户意图的类型(例如,播放音频和播放视频可以分为两种类型的用户意图)、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。
第一设备获取第一设备的选举数据和第二设备的选举数据,第一设备的选举数据包括第一设备的设备类型和/或设备位置,第二设备的选举数据包括第二设备的设备类型和/或设备位置;第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度,并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,选举因素与第一设备的匹配程度可以高于选举因素与第二设备的匹配程度。
在一种可能的设计中,第一设备根据选举因素与第一设备的选举数据确定第一设备的评分,并根据选举因素与第二设备的选举数据确定第二设备的评分;第一设备比较第一设备的评分和第二设备的评分,若第一设备的评分高于第二设备的评分,确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度。
其中,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、语音处理能力、第一设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、第二设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个。
若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备根据用户意图进行响应;或者,若第一设备根据选举因素确定选举因素与第一设备的匹配程度低于选举因素与第二设备的匹配程度,第一设备向第二设备发送第一信息,第一信息用于指示第二设备响应用户意图,即响应用户的设备为第二设备。
其中,第一设备根据用户意图进行响应包括:第一设备播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种;其中,音频节目包括新闻节目、相声节目、读书节目中的任一种。
可选的,若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备还可以从第二设备接收第二信息,第二信息用于指示第一设备响应用户意图,即响应用户的设备为第一设备。
可选的,若第一设备根据选举因素确定选举因素与第一设备的匹配程度低于选举因素与第二设备的匹配程度,第一设备可以不响应用户意图。
1104、第二设备在第一时刻接收用户的语音信号,将语音信号转换为文本信息。
1105、第二设备根据文本信息确定用户意图。
1106、第二设备根据选举因素确定选举因素与第二设备的匹配程度,以及选举因素与第一设备的匹配程度。
若第二设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度,第二设备根据用户意图进行响应;或者,若第二设备根据选举因素确定选举因素与第二设备的匹配程度低于选举因素与第一设备的匹配程度,第二设备向第一设备发送第二信息,第二信息用于指示第一设备响应用户意图。
需要说明的是,步骤1101-步骤1103以及步骤1104-步骤1106可以是同时进行的,即第一设备执行步骤1101-步骤1103的同时,第二设备可以执行步骤1104-步骤1106。
在一种可能的设计中,第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。
在一种可能的设计中,第一设备基于预设时间间隔向第二设备发送心跳监测数据帧。若第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。其中,心跳监测数据帧中包含第一设备的选举数据。
需要说明的是,图11所述的实施例中的第一设备或第二设备可以为前述实施例中的电视101、音箱102或音箱103,图11所述的实施例中未详述的部分,可以参考前述实施例,在此不做赘述。
基于本申请实施例提供的方法,当用户发出语音信号后,第一设备可以接收用户的语音信号,并可以根据用户的语音信号选举出一台满足用户需求电子设备(例如,第一设备或第二设备)为用户服务,避免多台电子设备一起响应带来的干扰,可以提高用户体验。
在又一些场景中,示例性的,家庭场景中可以有多个音箱,每个音箱上都安装有语音助手,当音箱接收到用户说出的语音助手的唤醒词后,音箱可以应答用户。由于语音的传播距离有限以及遮挡物的影响,当用户希望控制距离较远的音箱时,无法唤醒该音箱,导致用户体验较差。
本申请实施例提供一种方法,可以使用户通过距离用户较近的设备控制距离用户较远的设备。例如,当用户说出语音助手的唤醒词后,距离用户较近的音箱检测到该唤醒词,启动AP,AP可以根据用户的语音确定用户希望控制的设备,将用户的语音或根据用户的语音生成的控制指令(可以简称为指令或命令)发送给用户希望控制的设备,可以使用户更方便地操控距离用户较远的设备,提高用户体验。
示例性的,如图12A所示,为一种家庭场景的示意图,该家庭场景的户型是3室1厅1厨1卫。其中,客厅中包括电视101、音箱102和音箱103等设备,卫生间中包括音箱105,厨房中包括音箱106。电视101、音箱102、音箱103、音箱105和音箱106可以处于同一个组网环境中,例如接入同一个路由设备,组成一个家庭网络。若用户001在卫生间发现卫生间没纸了,此时不方便自己去取,用户001知道妈妈(用户002)在厨房做饭,用户001可以对卫生间的音箱105说:“你好小艺,让厨房的音箱说“妈妈,没纸啦””,接收到用户的语音后,音箱105可以将用户的语音或根据用户的语音生成的控制指令发送给音箱106,音箱106可以对用户的语音或控制指令进行处理和响应,例如播放语音:“妈妈,没纸啦”,以提醒厨房的妈妈(即用户002)。基于本申请实施例提供的方法,可以使用户(例如,用户001)更方便地操控距离用户较远的设备,提高用户体验。
又例如,如图12B所示,若用户001在卧室1准备休息时听见客厅的电视101还在播放电视节目,用户001可以对卧室1的音箱109说:“你好小艺,关掉客厅的电视”,接收到用户的语音信号(下文可以简称语音)后,音箱109可以向客厅的电视101发送用户的语音或根据用户的语音生成的控制指令,电视101可以对用户的语音或控制指令进行处理和响应,例如进入待机状态,避免影响用户休息。基于本申请实施例提供的方法,可以使用户更方便地操控距离用户较远的设备,提高用户体验。
下面以图12A所示的场景为例,对本申请实施例提供的方法进行说明。如图12A所示,当前组网环境内可以包括客厅的电视101、音箱102和音箱103,卫生间的音箱105和厨房的音箱106,电视101、音箱102、音箱103、音箱105和音箱106上都安装有语音应用(例如,语音助手应用)和分布式选举框架。如图12C所示,本申请实施例提供的选举方法包括以下步骤:
1201a、电视101的语音应用向分布式选举框架注册。
电视101开机时,语音应用启动,语音应用启动时可以向分布式选举框架注册,这样,电视101的分布式选举框架可以和语音应用进行信息交互。
1201b、音箱102的语音应用向分布式选举框架注册。
1201c、音箱103的语音应用向分布式选举框架注册。
1201d、音箱106的语音应用向分布式选举框架注册。
1201e、音箱105的语音应用向分布式选举框架注册。
步骤1201b和步骤1201e可以参考步骤1201a的相关说明,只需简单替换执行主体即可,在此不做赘述。
需要说明的是,步骤1201a-步骤1201e的执行先后顺序不是固定的,例如可以是同时执行步骤1201a-步骤1201e,或者可以先执行步骤1201a,再执行步骤1201b,再执行步骤1201c,再执行步骤1201d,最后执行步骤1201e,本申请不做限定。
1202a、电视101的分布式选举框架获取电视101的选举数据。
可以参考图8所示的实施例中步骤802a的相关描述,在此不做赘述。
1202b、音箱102的分布式选举框架获取音箱102的选举数据。
音箱102的选举数据除了包括音箱102的分布式选举框架默认收集的数据,还可以包括语音应用定制的数据。
1202c、音箱103的分布式选举框架获取音箱103的选举数据。
音箱103的选举数据除了包括音箱103的分布式选举框架默认收集的数据,还可以包括语音应用定制的数据。
1202d、音箱106的分布式选举框架获取音箱106的选举数据。
音箱106的选举数据除了包括音箱106的分布式选举框架默认收集的数据,还可以包括语音应用定制的数据。
1202e、音箱105的分布式选举框架获取音箱105的选举数据。
音箱105的选举数据除了包括音箱105的分布式选举框架默认收集的数据,还可以包括语音应用定制的数据。
步骤1202b至步骤1202e可以参考步骤1202a的相关说明,只需简单替换执行主体即可,在此不做赘述。
需要说明的是,对于电视101、音箱102、音箱103、音箱105或音箱106,每个设备上的分布式选举框架除了收集本设备的选举数据外,还可以接收来自其他设备的选举数据。即每个设备可以获取两部分选举数据:(1)本设备的选举数据,本设备的选举数据包括本设备的分布式选举框架默认收集的数据和本设备的应用程序定制的数据;(2)其他设备的选举数据。其他设备的选举数据可以包括其他设备的分布式选举框架默认收集的数据和其他设备的应用程序定制的数据。
1203、多个设备间基于心跳机制交换选举数据。
即电视101、音箱102、音箱103、音箱105、音箱106之间可以基于心跳机制交换选举数据。
在一种可能的实现方式中,各个音箱(例如,音箱102、音箱103、音箱105、音箱106)可以分别和电视101之间进行心跳监测,并基于心跳监测机制传递选举数据。示例性的,电视101可以在发送给音箱102的心跳监测数据帧或心跳监测数据帧的回复帧中携带电视101的选举数据。类似的,音箱102可以在发送给电视101的心跳监测数据帧或心跳监测数据帧的回复帧中携带音箱102的选举数据。各个音箱之间可以不进行心跳监测,而通过电视101传递选举数据。
在另一种可能的实现方式中,电视101、音箱102和音箱103、音箱105、音箱106可以分别和设备A(例如,路由器108,图12C中未示出)之间进行心跳监测。电视101和音箱102之间可以不进行心跳监测,而通过路由器108传递选举数据。音箱102和音箱103之间也可以不进行心跳监测,而通过路由器108传递选举数据。
1204、音箱105的应用程序接收到用户的语音后,向音箱105的分布式选举框架申请选举。
音箱105的应用程序可以根据预设规则设置一个或多个选举因素,每个选举因素对应预设占比。示例性的,语音应用设置的选举因素可以包括设备位置和设备类型。其中,设备位置的占比可以为50%,设备类型的占比可以为50%。
上述选举因素中,设备位置、设备类型可以分别对应一个目标值(目标取值),可以根据用户的语音的语义确定选举因素的目标值。例如,如图12A所示,用户发出的语音例如可以是“你好小艺,让厨房的音箱说“妈妈,没纸啦””,音箱105检测到唤醒词“你好小艺”后,启动AP,AP检测到语音“让厨房的音箱说“妈妈,没纸啦””,确定该语音中指定设备位置为“厨房”,即确定选举因素中设备位置的目标值为:“厨房”。AP还可以确定该语音中指定设备类型为“音箱”,即确定选举因素中设备类型的目标值为:“音箱”。若用户未指定相应的选举因素(例如,设备类型或设备位置)时,该选举因素的目标值为0(为空)。例如,用户的语音可以是:“给厨房的妈妈说没纸啦”,该语音未指定设备类型,可以认为设备类型的目标值为0(为空)。
示例性的,如图13A所示,音箱105的语音管理模块3012可以通过麦克风收集用户发出的语音:“你好小艺,让厨房的音箱说“妈妈,没纸啦””;语音管理模块3012将语音发送至ASR模块3014处理,ASR模块3014将语音转成文本;ASR模块3014将文本发送至NLP模块3013处理,NLP模块3013从文本识别出设备位置的目标值为:“厨房”,设备类型的目标值为:“音箱”;NLP模块3013可以将设备类型的目标值和设备类型的目标值发送至选举管理模块3017。选举管理模块3017确定选举因素中设备位置的目标值为:“厨房”,即{Devicelocation:kitchen;};设备类型的目标值为“音箱”,即{Devicetype:speaker;}。而后,选举管理模块3017向分布式选举框架3021申请选举,并将设备位置的目标值(即“厨房”)和设备类型的目标值(即“音箱”)传递给分布式选举框架3021,使分布式选举框架3021根据设备类型的目标值和设备位置的目标值进行选举处理,详细过程参见步骤1205。
1205、音箱105的分布式选举框架进行选举处理。
音箱105的应用程序可以将选举因素和选举因素的占比预置在分布式选举框架中,在接收到用户发出的语音后,音箱105的应用程序可以通知分布式选举框架开始选举。
音箱105的分布式选举框架可以基于选举数据和选举算法确定选举结果,即选举出目标设备,目标设备即用户希望控制的距离用户较远的设备。
其中,选举算法可以包括如下步骤:
(1)、基于每个设备的选举因素的得分和选举因素的占比,为全部设备评分。其中,每个设备的选举因素的得分相同或不同,每个设备设置的选举因素的占比是相同的。例如,假设有n个选举因素,设备1的评分=Sum(选举因素1的得分*选举因素1的占比+选举因素1的得分*选举因素2的占比+...+选举因素n的得分*选举因素n的占比)。
部分选举因素的得分标准和相关描述可以参考图8所示的实施例中的表3。
示例性的,如图12A所示,假设当前组网环境中包括电视101、音箱102、音箱103、音箱105、音箱106,每个设备上的应用程序(例如,语音应用)可以在该设备上的分布式选举框架设置选举因素,设置的选举因素例如可以包括设备类型和设备位置。其中,设备位置的占比可以为50%,设备类型的占比可以为50%。当音箱105检测到用户001发出的语音:“你好小艺,让厨房的音箱说“妈妈,没纸啦””后,可以确定设备位置的目标值为“厨房”,设备类型的目标值为“音箱”。音箱105可以根据上述条件确定电视101、音箱102、音箱103、音箱105和音箱106的评分,其中:
电视101的评分=Sum(0*50%+0*50%)=0
音箱102的评分=Sum(0*50%+100*50%)=50
音箱103的评分=Sum(0*50%+100*50%)=50
音箱105的评分=Sum(0*50%+100*50%)=50
音箱106的评分=Sum(100*50%+100*50%)=100
(2)每个设备对全部设备的评分进行排序,确定评分最高的设备为目标设备。
示例性的,如图12A所示,根据步骤(1)计算可得:电视101的评分=0,音箱102的评分=50,音箱103的评分=50,音箱105的评分=50,音箱106的评分=100,可知评分最高的设备是音箱106,即音箱106为目标设备。
音箱105的分布式选举框架确定出目标设备后,可以通知音箱105的语音应用,例如可以向音箱105发送目标设备的标识和/或名称。
需要说明的是,当有新的设备加入组网环境,或者有设备离开组网环境时,应用程序可以重新触发分布式选举框架进行选举,以便在新的组网环境中选择出目标设备。在新的组网环境中选择出目标设备后,可以基于心跳机制将选举结果(例如目标设备的标识)通知给组网内的其他设备。例如,可以分别调用组网内的各个设备对应的通知接口通知选举结果。若部分设备的通知接口调用异常,可以认为该设备下线(即丧失心跳)。
若目标设备为音箱106,可以执行步骤1206和步骤1207:
1206、音箱105向音箱106通知选举结果。
由于音箱105确定的目标设备为音箱106,自身无需处理用户的语音,可以向音箱106通知选举结果(即指示目标设备为音箱106),并可以向音箱106发送用户的语音或根据用户的语音或根据用户的语音生成的控制指令或用户意图,以便音箱106进行处理和响应。
另外,音箱105可以向目标设备之外的其他设备(例如,电视101、音箱102、音箱103等)通知选举结果,即当前选举的目标设备为音箱106,但无需发送用户的语音或根据用户的语音或根据用户的语音生成的控制指令,其他设备也无需进行处理或响应。
1207、音箱106进行响应。
音箱106可以对用户的语音或控制指令或用户意图进行处理和响应。
示例性的,如图13B所示,音箱106的分布式选举框架3021可以从音箱105接收用户的语音“你好小艺,让厨房的音箱说“妈妈,没纸啦”,并将用户的语音发送给选举管理模块3017,音箱106的选举管理模块3017可以根据用户的语音确定用户意图为:“说“妈妈,没纸啦””;选举管理模块3017可以将用户意图发送至执行模块3016处理,执行模块根据用户意图确定文本:“妈妈,没纸啦”;执行模块3016将文本发送至TTS模块3015处理,TTS模块3015将文本转成语音“妈妈,没纸啦”;TTS模块3015将语音发送至语音管理模块3012处理,语音管理模块3012通过扬声器将语音播放给用户。可选的,音箱106可以播放用户001的语音。例如,音箱106可以从音箱105接收用户的语音“让厨房的音箱说“妈妈,没纸啦””,并截取所需的部分语音“妈妈,没纸啦”;或者,音箱106可以从音箱105接收用户的语音“妈妈,没纸啦”,直接播放该语音“妈妈,没纸啦”。或者,可以采用默认音色播放语音。
可以理解的是,在实际应用场景中,图12C所示的实施例中的卫生间的音箱105可以替换为智能马桶、智能淋浴器等设备,即智能马桶、智能淋浴器等设备可以执行音箱105的功能;厨房的音箱106可以替换为智能抽油烟机,智能橱柜等设备,即智能抽油烟机,智能橱柜等设备可以执行音箱106的功能。这样,可以使家居设备更加智能化,提高用户体验。
又例如,如图14所示,若用户001在卧室1准备休息时想起厨房的照明开关111没关,用户001可以对卧室1的音箱109说:“你好小艺,关掉厨房的照明开关”,接收到用户的语音后,音箱109可以向厨房的照明开关111发送关闭指令,照明开关111可以根据关闭指令关闭照明,节省耗电。基于本申请实施例提供的方法,可以使用户更方便地操控距离用户较远的设备,提高用户体验。
又例如,如图15所示,用户001当前在卧室1,若用户001想过一会(例如20分钟)去客厅看球赛,想起客厅的空调112还未开启,用户001可以对卧室1的音箱109说:“你好小艺,开启客厅的空调”,接收到用户的语音后,音箱109可以向客厅的空调112发送开启指令,空调112可以根据开启指令开启,以便在用户到达客厅时为用户提供更加舒适的环境温度。基于本申请实施例提供的方法,可以使用户更方便地操控距离用户较远的设备,提高用户体验。
如图16所示,本申请实施例提供一种设备响应方法,包括:
1601、第一设备与第二设备建立网络连接。
第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。
1602、第一设备在第一位置接收用户的语音信号。
第二设备位于第二位置,且无法接收用户的语音信号。
1603、第一设备将语音信号转换为文本信息。
第一设备可以通过ASR将语音信号转换为文本信息。
1604、第一设备根据文本信息确定用户意图。
第一设备可以通过对文本信息进行NLP,得到用户意图。
1605、第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度。
其中,选举因素用于确定响应用户意图的设备。选举因素可以包括设备类型、设备位置、设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、用户意图的类型、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。选举因素可以预设在第一设备中。
第一设备获取第一设备的选举数据和第二设备的选举数据,第一设备的选举数据包括第一设备的设备类型和/或设备位置,第二设备的选举数据包括第二设备的设备类型和/或设备位置;第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度,并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度。
第一设备根据选举因素与第一设备的选举数据确定第一设备的评分,并根据选举因素与第二设备的选举数据确定第二设备的评分;第一设备比较第一设备的评分和第二设备的评分,第二设备的评分高于第一设备的评分,确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度。
其中,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、语音处理能力、第一设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、第二设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝大小、语音的清晰度中的至少一个。
1606、第一设备向第二设备发送用户意图。
若第一设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度,第一设备向第二设备发送用户意图,使得第二设备响应用户意图。
第一设备基于预设时间间隔向第二设备发送心跳监测数据帧。若第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。若第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。其中,心跳监测数据帧中可以包含第一设备的选举数据。
1607、第二设备响应用户意图。
第二设备响应用户意图可以包括:第二设备播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种;其中,音频节目包括新闻节目、相声节目、读书节目中的任一种。
需要说明的是,图16所述的实施例中的第一设备或第二设备可以为前述实施例中的电视101、音箱102、音箱105、音箱106等,图16所述的实施例中未详述的部分,可以参考前述实施例,在此不做赘述。
基于本申请实施例提供的方法,若第一设备在第一位置接收用户的语音信号,第二设备在第二位置无法接收用户的语音信号,第一设备可以根据语音信号确定用户意图,并向第二设备发送用户意图,使得第二设备响应用户意图。这样可以使用户更方便地操控距离用户较远的设备(第二设备),提高用户体验。
在又一些场景中,智慧家庭、智慧工厂等场景中一些设备的位置是固定的,当用户和一个位置固定的设备(例如,设备A)交互后,若用户的位置发生改变,设备A无法继续很好地服务用户,导致用户体验较差。示例性的,在家庭场景中,当用户在客厅的音箱点播一首歌曲后,若用户从客厅移动到卧室,歌曲仍在客厅的音箱上播放,用户听歌的体验较差。
本申请实施例提供一种方法,可以根据用户的位置智能切换为用户服务的设备。示例性的,如图17所示,为一种家庭场景的示意图,该家庭场景的户型是3室1厅1厨1卫。其中,客厅中包括电视101、音箱102和音箱103等设备,卫生间中包括音箱105,厨房中包括音箱106,卧室1中包括音箱109。电视101、音箱102、音箱103、音箱105、音箱106和音箱109可以处于同一个组网环境中,例如接入同一个路由设备,组成一个家庭网络。若用户在卫生间点播了一首歌曲xx,如图17中的(a)所示,用户可以对卫生间的音箱105说:“你好小艺,播放一首xx”,音箱105检测到唤醒词“你好小艺”后,启动AP,AP可以根据用户的语音确定用户意图为:“播放xx”,音箱105可以播放歌曲xx。当用户从卫生间移步到卧室1时,如图17中的(b)所示,用户可以对卧室1的音箱109说:“你好小艺,我在这里”,卧室1的音箱109可以继续为用户播放歌曲xx。基于本申请实施例提供的方法,可以在用户改变位置的情况下,智能切换为用户服务的设备,无需用户手动操作,也无需用户记忆复杂的语音指令,可以提高用户体验。
下面以图17所示的场景为例,对本申请实施例提供的方法进行说明。如图17所示,当前组网环境内可以包括客厅的电视101、音箱102和音箱103,卫生间的音箱105、厨房的音箱106,以及卧室1的音箱109,电视101、音箱102、音箱103、音箱105、音箱106和音箱109上都安装有语音应用(例如,语音助手应用)和分布式选举框架。如图18所示,本申请实施例提供的选举方法包括以下步骤:
1801a、电视101的语音应用向分布式选举框架注册。
电视101开机时,语音应用启动,语音应用启动时可以向电视的分布式选举框架注册,这样,电视101的分布式选举框架可以和语音应用进行信息交互。
1801b、音箱102的语音应用向分布式选举框架注册。
1801c、音箱103的语音应用向分布式选举框架注册。
1801d、音箱106的语音应用向分布式选举框架注册。
1801e、音箱105的语音应用向分布式选举框架注册。
1801f、音箱109的语音应用向分布式选举框架注册。
步骤1801a-步骤1801f可以参考步骤1801a的相关说明,只需简单替换执行主体即可,在此不做赘述。
步骤1801a-步骤1801f的执行先后顺序不是固定的,例如可以是同时执行步骤1801a-步骤1801f,或者可以先执行步骤1801a,再执行步骤1801b,再执行步骤1801c,再执行步骤1801d,再执行步骤1801e,最后执行步骤1801f,本申请不做限定。
1802a、电视101的分布式选举框架获取电视101的选举数据。
可以参考图8所示的实施例中步骤802a的相关描述,在此不做赘述。
1802b、音箱102的分布式选举框架获取音箱102的选举数据。
1802c、音箱103的分布式选举框架获取音箱103的选举数据。
1802d、音箱106的分布式选举框架获取音箱106的选举数据。
1802e、音箱105的分布式选举框架获取音箱105的选举数据。
1802f、音箱109的分布式选举框架获取音箱109的选举数据。
步骤1802b至步骤1802f可以参考步骤1802a的相关说明,只需简单替换执行主体即可,在此不做赘述。
需要说明的是,对于电视101、音箱102、音箱103、音箱105、音箱106或音箱109,每个设备上的分布式选举框架除了收集本设备的选举数据外,还可以接收来自其他设备的选举数据。即每个设备可以获取两部分选举数据:(1)本设备的选举数据,本设备的选举数据包括本设备的分布式选举框架默认收集的数据和本设备的应用程序定制的数据;(2)其他设备的选举数据。其他设备的选举数据可以包括其他设备的分布式选举框架默认收集的数据和其他设备的应用程序定制的数据。
1803、多个设备间基于心跳机制交换选举数据。
即电视101、音箱102、音箱103、音箱105、音箱106和音箱109之间可以基于心跳机制交换选举数据。
在一种可能的实现方式中,各个音箱(例如,音箱102、音箱103、音箱105、音箱106和音箱109)可以分别和电视101之间进行心跳监测,并基于心跳机制传递选举数据。示例性的,电视101可以在发送给音箱102的心跳监测数据帧或心跳监测数据帧的回复帧中携带电视101的选举数据。类似的,音箱102可以在发送给电视101的心跳监测数据帧或心跳监测数据帧的回复帧中携带音箱102的选举数据。各个音箱之间可以不进行心跳监测,而通过电视101传递选举数据。
在另一种可能的实现方式中,电视101、音箱102、音箱103、音箱105、音箱106和音箱109可以分别和设备A(例如,路由器108,图18中未示出)之间进行心跳监测。电视101、音箱102、音箱103、音箱105、音箱106和音箱109之间可以不进行心跳监测,而通过路由器108传递选举数据。
当用户在卫生间对音箱105说:“你好小艺,播放一首xx”后,音箱105可以执行以下步骤:
1804、音箱105的应用程序接收到用户的语音后,向音箱105的分布式选举框架申请选举。
音箱105的应用程序可以根据预设规则设置一个或多个选举因素,每个选举因素对应预设占比。示例性的,语音应用设置的选举因素可以包括设备位置、设备类型和用户的位置(用户是否在附近)。其中,设备位置的占比可以为30%,设备类型的占比可以为30%,用户的位置的占比可以为40%。
上述选举因素中,设备位置、设备类型可以分别对应一个目标值(目标取值),可以根据用户的语音的语义确定设备位置、设备类型的目标值。例如,以语音应用设置的选举因素包括设备位置、设备类型和用户的位置(用户是否在附近)为例,如图17中的(a)所示,用户发出的语音例如可以是“你好小艺,播放一首xx”,由于用户的语音中未指定设备位置和设备类型,可以确定设备位置和设备类型的目标值为0(为空)。若音箱105检测到用户发出的语音的分贝大于或等于预设阈值,可以认为用户在附近(即在音箱105的附近,也可以认为用户在卧室1),此时音箱105的IsUserExist字段为true。又例如,若用户发出的语音例如可以是“你好小艺,在卫生间播放一首xx”,用户的语音中指定了设备位置(卫生间),即设备位置的目标值为卫生间。由于用户的语音中未指定设备类型,可以确定设备位置和设备类型的目标值为0。若音箱105检测到用户发出的语音的分贝大于或等于预设阈值,可以认为用户在附近(即在音箱105的附近,也可以认为用户在卧室1),此时音箱105的IsUserExist字段为true。
可选的,音箱105的唤醒词也可以是“小艺小艺”、“小艺”等,可以由用户自行设置,也可以是音箱105默认的,本申请不做限定。
1805、音箱105的分布式选举框架进行选举处理。
音箱105的应用程序可以将选举因素和选举因素的占比预置在分布式选举框架中。在接收到用户的语音后,音箱105的应用程序可以通知分布式选举框架开始选举。
音箱105的分布式选举框架可以基于选举数据和选举算法确定选举结果,即选举出目标设备,目标设备即组网环境内最适合响应用户的语音的设备。
其中,选举算法可以包括如下步骤:
(1)、基于每个设备的选举因素的得分和选举因素的占比,为全部设备评分。其中,每个设备的选举因素的得分相同或不同,每个设备设置的选举因素的占比是相同的。例如,假设有n个选举因素,设备1的评分=Sum(选举因素1的得分*选举因素1的占比+选举因素1的得分*选举因素2的占比+...+选举因素n的得分*选举因素n的占比)。
部分选举因素的得分标准和相关描述可以参考图8所示的实施例中的表3。
示例性的,如图17所示,假设当前组网环境中包括电视101、音箱102、音箱103、音箱105、音箱106和音箱109,每个设备上的应用程序(例如,语音应用)可以在该设备上的分布式选举框架设置选举因素,设置的选举因素例如可以包括设备类型、设备位置和用户的位置。其中,设备位置的占比可以为30%,设备类型的占比可以为30%,用户的位置的占比可以为40%。如图17中的(a)所示,音箱105检测到用户发出的语音:“你好小艺,播放一首xx”后,可以确定设备位置的目标值为0,设备类型的目标值为0。音箱105可以根据用户的语音的分贝大小确定用户的位置为音箱105的附近,即可以认为音箱105的IsUserExist(用户是否在附近)字段为true;由于其他设备未检测到用户发出的语音,因此对于其他设备来说,可以认为IsUserExist(用户是否在附近)字段为false。音箱105可以根据上述条件确定电视101、音箱102、音箱103、音箱105、音箱106和音箱109的评分,其中:
电视101的评分=Sum(0*30%+0*30%+0*40%)=0
音箱102的评分=Sum(0*30%+0*30%+0*40%)=0
音箱103的评分=Sum(0*30%+0*30%+0*40%)=0
音箱105的评分=Sum(0*30%+0*30%+100*40%)=40
音箱106的评分=Sum(0*30%+0*30%+0*40%)=0
音箱109的评分=Sum(0*30%+0*30%+0*40%)=0
(2)每个设备对全部设备的评分进行排序,确定评分最高的设备为目标设备。
示例性的,如图17中的(a)所示,根据步骤(1)计算可得:电视101的评分=0,音箱102的评分=0,音箱103的评分=0,音箱105的评分=40,音箱106的评分=0,音箱106的评分=0,可知评分最高的设备是音箱105,即音箱105为目标设备。音箱105的分布式选举框架确定出目标设备后,可以通知音箱105的应用程序,例如可以向音箱105的应用程序发送目标设备的标识和/或名称。
需要说明的是,当有新的设备加入组网环境,或者有设备离开组网环境时,应用程序可以重新触发分布式选举框架进行选举,以便在新的组网环境中选择出目标设备。在新的组网环境中选择出目标设备后,可以基于心跳机制将选举结果(例如目标设备的标识)通知给组网内的其他设备。例如,可以分别调用组网内的各个设备对应的通知接口通知选举结果。若部分设备的通知接口调用异常,可以认为该设备下线(即丧失心跳)。
1806、音箱105播放歌曲xx。
如图17中的(a)所示,由于音箱105确定的目标设备为自身,即可以由自身对用户的语音进行处理。例如,音箱105接收到的用户的语音可以是:“你好小艺,播放一首xx”,音箱105根据用户的语音确定用户意图是:播放一首xx,而后可以通过扬声器播放xx。
当用户发生位置移动时,例如,从卫生间移动到卧室1时,如图17中的(b)所示,用户可以发出语音:“你好小艺,我在这里”,卧室1中的音箱109可以检测到用户的语音,音箱109的选举数据发生变化。例如,音箱109的IsUserExist(用户是否在附近)字段变更成true,该字段对应的时间戳为用户发出语音“你好小艺,我在这里”的时间。由于音箱109的IsUserExist字段对应的时间戳是最新的,即用户当前位于卧室1,因此卫生间的音箱105的IsUserExist字段可以变更成false。其他设备(例如,厨房的音箱106、客厅的音箱102、音箱103和电视101等)的IsUserExist字段的值不变,仍为false。
在一种可能的设计中,音箱109可以根据用户的语音确定用户的身份,例如,可以根据语音的音色、音高等信息确定用户的身份。若确定同一个用户(例如,用户A)发生位置移动,可以根据用户A的位置智能切换为用户A服务的设备。
1807、音箱109申请选举。
音箱109接收到用户的语音,向分布式选举框架申请选举。
1808、音箱109进行选举处理,确定自身(即音箱109)为目标设备。
分布式选举框架可以根据当前选举数据重新计算所有设备的评分。
示例性的,如图17中(b)所示,音箱109检测到用户发出的语音:“你好小艺,我在这里”后,可以确定设备位置的目标值为0,设备类型的目标值为0。音箱109可以根据用户的语音的分贝大小确定用户的位置为音箱109的附近,即可以认为音箱109的IsUserExist(用户是否在附近)字段为true;由于其他设备未检测到用户发出的语音,因此对于其他设备来说,可以认为IsUserExist(用户是否在附近)字段为false。音箱109可以根据上述条件确定电视101、音箱102、音箱103、音箱105、音箱106和音箱109的评分,其中:
电视101的评分=Sum(0*30%+0*30%+0*40%)=0
音箱102的评分=Sum(0*30%+0*30%+0*40%)=0
音箱103的评分=Sum(0*30%+0*30%+0*40%)=0
音箱105的评分=Sum(0*30%+0*30%+0*40%)=0
音箱106的评分=Sum(0*30%+0*30%+0*40%)=0
音箱109的评分=Sum(0*30%+0*30%+100*40%)=40
即卧室1的音箱109评分最高,因此确定卧室1的音箱109为新的目标设备。即选举结果可以从卫生间的音箱105变更为卧室1的音箱109。
又例如,用户发出语音可以是“你好小艺,继续为我播放歌曲xx”,可以确定设备位置的目标值为0,设备类型的目标值为0。音箱109可以根据用户的语音的分贝大小确定用户的位置为音箱109的附近,即可以认为音箱109的IsUserExist(用户是否在附近)字段为true;由于其他设备未检测到用户发出的语音,因此对于其他设备来说,可以认为IsUserExist(用户是否在附近)字段为false。音箱109可以根据上述条件确定电视101、音箱102、音箱103、音箱105、音箱106和音箱109的评分,其中:
电视101的评分=Sum(0*30%+0*30%+0*40%)=0
音箱102的评分=Sum(0*30%+0*30%+0*40%)=0
音箱103的评分=Sum(0*30%+0*30%+0*40%)=0
音箱105的评分=Sum(0*30%+0*30%+0*40%)=0
音箱106的评分=Sum(0*30%+0*30%+0*40%)=0
音箱109的评分=Sum(0*30%+0*30%+100*40%)=40
即卧室1的音箱109评分最高,因此确定卧室1的音箱109为新的目标设备。即选举结果可以从卫生间的音箱105变更为卧室1的音箱109。
又例如,用户发出语音可以是“你好小艺,我来主卧(卧室1)了”,可以确定设备位置的目标值为主卧(卧室1),设备类型的目标值为0。音箱109可以根据用户的语音的分贝大小确定用户的位置为音箱109的附近,即可以认为音箱109的IsUserExist(用户是否在附近)字段为true;由于其他设备未检测到用户发出的语音,因此对于其他设备来说,可以认为IsUserExist(用户是否在附近)字段为false。音箱109可以根据上述条件确定电视101、音箱102、音箱103、音箱105、音箱106和音箱109的评分,其中:
电视101的评分=Sum(0*30%+0*30%+0*40%)=0
音箱102的评分=Sum(0*30%+0*30%+0*40%)=0
音箱103的评分=Sum(0*30%+0*30%+0*40%)=0
音箱105的评分=Sum(0*30%+0*30%+0*40%)=0
音箱106的评分=Sum(0*30%+0*30%+0*40%)=0
音箱109的评分=Sum(100*30%+0*30%+100*40%)=70
即卧室1的音箱109评分最高,因此确定卧室1的音箱109为新的目标设备。即选举结果可以从卫生间的音箱105变更为卧室1的音箱109。
1809、音箱109基于心跳机制向各个设备通知选举结果。
电视101、音箱102、音箱103、音箱105和音箱106可以监听选举结果,从而获知当前最新的选举结果为音箱109,即由音箱109为用户服务(例如,播放歌曲)。得到选举结果后,当前为用户服务的音箱105可以执行步骤1810和步骤1811,其他未为用户服务的设备(例如,电视101、音箱102、音箱103和音箱106)无后续动作。
1810、音箱105停止播放歌曲。
由于目标设备变更,不再是音箱105,因此音箱105可以停止播放歌曲。
1811、音箱105将歌曲信息发送给目标设备(即音箱109)。
其中,歌曲信息可以包括歌曲名、歌曲播放进度等。
1812、音箱109继续播放歌曲。
音箱109接收到音箱105发送的歌曲信息后,可以继续播放歌曲,即可以从音箱105播放到的进度继续播放歌曲。可选的,音箱109可以不考虑音箱105的播放进度,从头开始播放歌曲。
可选的,卧室1的音箱109可以询问用户:“检测到卫生间的音箱正在播放歌曲xx,是否需要为您切换至卧室播放?”,若用户指示切换至卧室播放,例如用户说:“好的”“嗯”“行”后,音箱109可以将歌曲从音箱105切换至自身(即音箱109)进行播放。
可选的,卧室1的音箱109响应用户说:“好的,由我继续为您播放xx”,以提示用户将歌曲从音箱105切换至自身(即音箱109)进行播放。
又例如,如图19中的(a)所示,假设当前组网环境中包括电视101、音箱102、音箱103、音箱105、音箱106和音箱109,每个设备上的应用程序(例如,语音应用)可以在该设备上的分布式选举框架设置选举因素,设置的选举因素例如可以包括设备类型、设备位置和用户的位置。其中,设备位置的占比可以为30%,设备类型的占比可以为30%,用户的位置的占比可以为40%。用户在卫生间发出语音“你好小艺,请播放一首xx”后,音箱105播放xx,如图19中的(b)所示,当用户从卫生间移动到客厅后,可以发出语音“你好小艺,我在这里”,音箱102可以检测到用户发出的语音,且根据语音的分贝大小(例如,50dB)确定用户的位置为音箱102的附近,可以认为音箱102的IsUserExist(用户是否在附近)字段为true;同时,音箱103可以检测到用户发出的语音,且根据语音的分贝大小(例如,60dB)确定用户的位置为音箱103的附近,可以认为音箱103的IsUserExist(用户是否在附近)字段为true;并且,音箱102和音箱103可以确定设备位置和设备类型的目标值为0。其他设备(例如,电视101、音箱109和音箱106等)未检测到用户发出的语音,即对于其他设备来说,可以认为IsUserExist(用户是否在附近)字段为false。音箱105可以根据上述条件确定电视101、音箱102、音箱103、音箱105、音箱106和音箱109的评分,其中:
电视101的评分=Sum(0*30%+0*30%+0*40%)=0
音箱102的评分=Sum(0*30%+0*30%+100*40%)=40
音箱103的评分=Sum(0*30%+0*30%+100*40%)=40
音箱105的评分=Sum(0*30%+0*30%+0*40%)=0
音箱106的评分=Sum(0*30%+0*30%+0*40%)=0
音箱109的评分=Sum(0*30%+0*30%+0*40%)=0
即客厅的音箱102和音箱103的评分并列第一,因此确定音箱102和音箱103为新的目标设备。即选举结果可以从卫生间的音箱105变更为音箱102和音箱103。即音箱102和音箱103可以接收音箱105发送的歌曲信息,并可以继续播放歌曲。可选的,音箱102和音箱103可以分左右声道播放歌曲xx。
如图20A所示,为又一种家庭场景的示意图,其中客厅中包括手机104,厨房中包括摄像头107,卧室2中包括摄像头110。手机104、摄像头107和摄像头110可以处于同一个组网环境中,例如接入同一个路由设备,组成一个家庭网络。示例性的,当手机104处于视频通话状态时,如图20B所示,在手机104的视频通话界面中的弹框1000中,响应于用户选择人脸1001的操作(例如点击控件1002),如图20A中的(a)所示,当目标人物(例如,小孩003)位于厨房时,厨房的监控摄像头107可以采集小孩003的视频数据(面部画面)并发送至手机104,若小孩003从厨房移动到卧室2,如图20A中的(b)所示,卧室2的监控摄像头110可以采集小孩003的视频数据(面部画面)并发送至手机104。这样,如图20C所示,手机104接收到小孩003的视频数据后,可以呈现小孩003的面部画面,即使小孩003的位置发生变化,也可以获取到小孩003的面部画面,可以提高视频聊天的体验。基于本申请实施例提供的方法,可以在目标对象(目标人物,例如,小孩003)改变位置的情况下,智能切换视频采集设备,无需用户手动操作,可以提高用户体验。
下面以图20A所示的场景为例,对本申请实施例提供的方法进行说明。如图20A所示,当前组网环境内可以包括客厅的手机104,厨房的摄像头107和卧室2的摄像头110,手机104、摄像头107和摄像头110上都安装有视频应用(例如,视频助手应用)和分布式选举框架。如图21所示,本申请实施例提供的选举方法包括以下步骤:
2101a、手机104的视频应用向分布式选举框架注册。
手机104开机时,视频应用启动,视频应用启动时可以向分布式选举框架注册,这样,手机104的分布式选举框架可以和视频应用进行信息交互。
2101b、摄像头107的视频应用向分布式选举框架注册。
2101c、摄像头110的视频应用向分布式选举框架注册。
步骤2101b或步骤2101c可以参考步骤2101a的相关说明,只需简单替换执行主体即可,在此不做赘述。需要说明的是,步骤2101a-步骤2101c的执行先后顺序不是固定的,例如可以是同时执行步骤2101a-步骤2101c,或者可以先执行步骤2101a,再执行步骤2101b,再执行步骤2101c,本申请不做限定。
2102a、手机104的分布式选举框架获取手机104的选举数据。
其中,手机104的选举数据包含手机104的分布式选举框架默认收集的数据,手机104默认收集的数据是指和手机104的硬件、操作系统相关,且不依赖手机104的上层应用程序(例如,视频应用)处理的数据。示例性的,手机104默认收集的数据可以参考上文中表1所示。
在一种可能的设计中,当视频应用有特定的需求/诉求,或者说分布式选举框架默认收集的数据不满足视频应用的需求/诉求时,视频应用可以向分布式选举框架上传定制的数据,定制的数据是指依赖视频应用处理的数据。示例性的,视频应用定制的数据可以如表5所示:
表5
Figure GDA0004170164190000371
其中,视频应用定制的数据可以包括图像信息、图像解析内容和图像处理能力等。其中,图像信息可以包括像素信息和分辨率信息,像素信息可以是指设备采集的图像的像素值,或者是指设备采集的图像的像素值是否大于或等于第一阈值;分辨率信息可以是指设备采集的图像的分辨率,或者是指设备采集的图像的分辨率是否大于或等于第二阈值。图像解析内容可以包括人脸、人体检测结果,即是否检测到目标人脸/目标人体。目标人脸/目标人体可以是用户选择的。其中,图像解析内容可以是视频应用根据采集到的视频数据解析得到的。图像处理能力可以包括设备能力评分公式,设备能力评分公式可以是视频应用定义的,根据设备能力评分公式计算得到的值可以表征图像处理能力强弱,值越大,图像处理能力越强,值越小,图像处理能力越弱。
即手机104的选举数据除了包括手机104的分布式选举框架默认收集的数据,还可以包括视频应用定制的数据。
2102b、摄像头107的分布式选举框架获取摄像头107的选举数据。
2102c、摄像头110的分布式选举框架获取摄像头110的选举数据。
步骤2102b或步骤2102c可以参考步骤2102a的相关说明,只需简单替换执行主体即可,在此不做赘述。
需要说明的是,手机104上的分布式选举框架除了收集本设备的选举数据外,还可以接收来自其他设备的选举数据。即手机104可以获取两部分选举数据:(1)本设备的选举数据,本设备的选举数据包括本设备的分布式选举框架默认收集的数据和本设备的应用程序定制的数据;(2)其他设备的选举数据。其他设备的选举数据可以包括其他设备的分布式选举框架默认收集的数据和其他设备的应用程序定制的数据。
如图22所示,手机104的视频管理模块可以通过摄像模组收集视频数据;图像处理模块可以处理视频数据,得到视频数据解析结果(例如应用程序可识别的画面信息);选举管理模块可以将画面信息转化成分布式选举框架可识别的选举数据:例如根据画面信息得到人脸检测结果,人脸检测结果可以是目标人脸是否在画面中“{IsTargetfaceExist:true/false;}”;选举管理模块向分布式选举框架注册并上传选举数据,即人脸检测结果。摄像头107和摄像头110收集选举数据的过程可以参考图22中手机104收集选举数据的过程。
可选的,手机104的视频应用启动时,手机104可以收集自身的选举数据,手机104还可以通知摄像头107和摄像头110收集选举数据,并指示摄像头107和摄像头110将收集到的选举数据发送给手机104。
2103、多个设备间基于心跳机制交换选举数据。
即手机104、摄像头107或摄像头110之间可以基于心跳机制交换选举数据。
在一种可能的实现方式中,摄像头107或摄像头110可以分别和手机104之间进行心跳监测,并基于心跳机制传递选举数据。示例性的,手机104可以在发送给摄像头107的心跳监测数据帧或心跳监测数据帧的回复帧中携带手机104的选举数据。类似的,摄像头107可以在发送给手机104的心跳监测数据帧或心跳监测数据帧的回复帧中携带摄像头107的选举数据。摄像头107和摄像头110之间可以不进行心跳监测,而通过手机104传递选举数据。
在另一种可能的实现方式中,手机104、摄像头107和摄像头110可以分别和设备A(例如,路由器108,图21中未示出)之间进行心跳监测。手机104和摄像头107之间可以不进行心跳监测,而通过路由器108传递选举数据。手机104和摄像头110之间也可以不进行心跳监测,而通过路由器108传递选举数据。
2104、手机104接收到用户点击追踪人脸的按钮操作后,响应于该操作,手机104的应用程序向手机104的分布式选举框架申请选举。
手机104的应用程序可以根据预设规则设置一个或多个选举因素,每个选举因素对应预设占比。示例性的,视频应用设置的选举因素可以为人脸检测结果。
选举因素可以对应一个目标值(目标取值),可以根据用户操作确定选举因素的目标值。例如,如图20B所示,在手机104的视频通话界面中的弹框1000中,响应于用户选择人脸1001的操作,可以确定选举因素中目标人脸的目标值为:人脸1001。
待追踪的人脸可以是用户自行设置的,例如,用户可以通过相机应用采集人脸图像并保存该人脸图像(在视频应用录入该人脸图像),也可以基于从相册中选择有人脸的图像,并可以对该图像进行裁剪操作得到人脸图像并保存,本申请不做限定。
示例性的,如图20B所示,在手机104的视频通话界面中的弹框1000中,若用户点击人脸1001对应的控件1002,即启动了追踪目标人脸(人脸1001)的功能,选举管理模块可以通知分布式选举框架开始选举,选举过程参见步骤2105。
2105、手机104的分布式选举框架进行选举处理。
手机104的应用程序可以将选举因素和选举因素的占比预置在分布式选举框架中,在得到选举因素的目标值后,手机104的应用程序可以向分布式选举框架发送选举因素的目标值并通知分布式选举框架开始选举。
手机104的分布式选举框架可以基于选举数据和选举算法确定选举结果,即选举出目标设备,目标设备即可以采集到用户希望追踪的人脸图像的设备。
其中,选举算法可以包括如下步骤:
(1)、基于每个设备的选举因素的得分和选举因素的占比,为全部设备评分。其中,每个设备的选举因素的得分相同或不同,每个设备设置的选举因素的占比是相同的。例如,假设有n个选举因素,设备1的评分=Sum(选举因素1的得分*选举因素1的占比+选举因素1的得分*选举因素2的占比+...+选举因素n的得分*选举因素n的占比)。
上述每个选举因素的满分值相同,例如都可以为100,这样可以保证设置的选举因素占比的有效性。
示例性的,假设选举因素有1个,例如为人脸检测结果。以计算设备1的评分为例,若设备1采集到目标人脸,即人脸检测结果为“是”(例如,IsTargetfaceExist字段是true),选举因素1的得分为100,若未采集到,即人脸检测结果为“否”(例如,IsTargetfaceExist字段是false),选举因素1的得分为0。
示例性的,如图20A所示,假设当前组网环境中包括手机104、摄像头107或摄像头110,每个设备上的应用程序(例如,视频应用)可以在该设备上的分布式选举框架设置选举因素,设置的选举因素例如可以包括人脸检测结果,其占比可以为100%。
如图20A中的(a)所示,目标人物(小孩)位于厨房时,摄像头107可以采集到目标人物的人脸图像,并可以将采集到的目标人脸的信息同步到手机104。手机104的分布式选举框架分析选举数据中所有设备的画面信息,此时摄像头107的IsTargetfaceExist字段是true,其他设备(手机104和摄像头110)由于未采集到目标人脸,其IsTargetfaceExist字段是false。手机104可以根据上述条件确定手机104、摄像头107和摄像头110的评分,其中:
手机104的评分=Sum(0*100%)=0
摄像头107的评分=Sum(100*100%)=100
摄像头110的评分=Sum(0*100%)=0
如图20A中的(b)所示,目标人物位于卧室2时,摄像头110可以采集到目标人物的人脸图像,并可以将采集到的目标人脸的信息同步到手机104。此时摄像头110的IsTargetfaceExist字段是true,其他设备(手机104和摄像头107)由于未采集到目标人脸,其IsTargetfaceExist字段是false,手机104可以根据上述条件确定手机104、摄像头107和摄像头110的评分,其中:
手机104的评分=Sum(0*100%)=0
摄像头107的评分=Sum(0*100%)=0
摄像头110的评分=Sum(100*100%)=100
(2)每个设备对全部设备的评分进行排序,确定评分最高的设备为目标设备。
示例性的,如图20A中的(a)所示,根据步骤(1)计算可得:手机104的评分=0,摄像头107的评分=100,摄像头110的评分=0,可知评分最高的设备是摄像头107,即摄像头107为目标设备。手机104可以将摄像头107作为视频通话的视频输入源,这样,手机可以在显示屏上呈现有目标人脸的画面。
如图20A中的(b)所示,根据步骤(1)计算可得:手机104的评分=0,摄像头107的评分=0,摄像头110的评分=100,可知评分最高的设备是摄像头110,即摄像头110为目标设备。即手机104可以将摄像头110作为视频通话的视频输入源,这样,手机可以在显示屏上呈现有目标人脸的画面。
在一种可能的设计中,选举因素可以包括人脸检测结果和图像的分辨率。示例性的,选举因素中人脸检测结果的占比可以为180%,图像的分辨率的占比可以为20%。这样,当有多个设备(例如,摄像头107和摄像头110)同时检测到目标人脸时,可以进一步根据图像的分辨率确定目标设备,例如可以确定图像的分辨率较大的设备为目标设备。
手机104的分布式选举框架确定出目标设备后,可以通知手机104的应用程序,例如可以向手机104发送目标设备的标识和/或名称。
需要说明的是,当有新的设备加入组网环境,或者有设备离开组网环境时,应用程序可以重新触发分布式选举框架进行选举,以便在新的组网环境中选择出目标设备。
2106a、手机104向摄像头107通知选举结果。
2106b、摄像头107向手机104发送媒体数据。
摄像头107可以向手机104发送摄像头107采集到的媒体数据(媒体内容),该媒体数据可以包括视频数据。该视频数据中包括具有目标人脸的画面。可选的,该媒体数据还可以包括音频数据。该音频数据中可以包括目标人物(目标人脸对应的人)发出的语音。
2106c、手机104播放媒体数据。
如图20C所示,手机104可以播放来自摄像头107的视频数据。可选的,手机104可以播放来自摄像头107的音频数据。
当目标人物发生位置移动时,例如,从厨房移动到卧室2时,如图20A中的(b)所示,厨房中的摄像头107无法采集到目标人脸,卧室2中的摄像头110可以采集到目标人脸,即厨房中的摄像头107和卧室2中的摄像头110的选举数据发生变化。例如,厨房中的摄像头110的IsTargetfaceExist字段的值可以变更成true,摄像头107的IsTargetfaceExist字段的值可以变更成false。
2107、目标人物位置变化导致选举数据变化,基于心跳机制交换变化后的选举数据。
手机104可以接收摄像头110的选举数据,从而确定摄像头110的IsTargetfaceExist字段的值变更成true。手机104可以接收摄像头107的选举数据,从而确定摄像头107的IsTargetfaceExist字段的值变更成false。
2108、手机104重新选举,确定摄像头110为目标设备。
手机104的分布式选举框架确定选举数据发生变化,可以重新选举目标设备,选举过程可以参考步骤2105,在此不做赘述。重新选举后,选举结果由摄像头107变更为摄像头110,即手机104可以将摄像头110作为视频通话的视频输入源。
2109a、手机104向摄像头110通知选举结果。
2109b、摄像头110向手机104发送媒体数据。
手机104可以接收摄像头110采集的媒体数据。
2109c、手机104播放媒体数据。
如图20C所示,手机104可以播放来自摄像头110的视频数据。可选的,手机104可以播放来自摄像头110的音频数据。
如图23所示,本申请实施例提供一种设备响应方法,包括:
2301、第一设备在第一时刻接收用户的第一语音信号,将第一语音信号转换为第一文本信息。
第一设备通过ASR将语音信号转换为第一文本信息。
2302、第一设备根据第一文本信息确定第一用户意图。
第一设备对可以第一文本信息进行NLP,得到用户意图。
2303、第一设备根据选举因素确定选举因素与第一设备的匹配程度以及选举因素与第二设备的匹配程度。
其中,选举因素包括设备类型、设备位置、设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、语音处理能力、用户意图的类型、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。
第一设备获取第一设备的选举数据和第二设备的选举数据,第一设备的选举数据包括第一设备的设备类型和/或设备位置,第二设备的选举数据包括第二设备的设备类型和/或设备位置;第一设备根据选举因素与第一设备的选举数据确定选举因素与第一设备的匹配程度;并根据选举因素与第二设备的选举数据确定选举因素与第二设备的匹配程度,选举因素与第一设备的匹配程度可以高于选举因素与第二设备的匹配程度。
在一种可能的实现方式中,第一设备根据选举因素与第一设备的选举数据确定第一设备的评分,并根据选举因素与第二设备的选举数据确定第二设备的评分;第一设备比较第一设备的评分和第二设备的评分,第一设备的评分高于第二设备的评分,确定选举因素与第一设备的匹配程度可以高于选举因素与第二设备的匹配程度。
其中,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、语音处理能力、第一设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝、语音的清晰度中的至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、第二设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音的分贝、语音的清晰度中的至少一个。
2304、第一设备根据第一用户意图进行第一处理。
若第一设备根据选举因素确定选举因素与第一设备的匹配程度高于选举因素与第二设备的匹配程度,第一设备根据第一用户意图进行第一处理。
其中,第一用户意图可以包括:播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种;其中,音频节目包括新闻节目、相声节目、读书节目中的任一种。
2305、第一设备向第二设备发送第三信息,第三信息用于指示第一设备响应第一用户意图。
2306、第二设备在第二时刻接收用户的第二语音信号,将第二语音信号转换为第二文本信息。
2307、第二设备根据第二文本信息确定第二用户意图。
2308、第二设备根据选举因素确定选举因素与第二设备的匹配程度以及选举因素与第一设备的匹配程度。
2309、第二设备向第一设备发送第四信息,第四信息用于指示第二设备响应第一用户意图。
若第二设备根据选举因素确定选举因素与第二设备的匹配程度高于选举因素与第一设备的匹配程度,第二设备向第一设备发送第四信息。
第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。
第一设备和第二设备建立连接后,第一设备可以基于预设时间间隔向第二设备发送心跳监测数据帧。第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。其中,心跳监测数据帧中包含第一设备的选举数据。
2310、第一设备接收第四信息。
2311、第一设备中断第一处理,并向第二设备发送第一处理的处理状态。
2312、第二设备从第一设备接收第一处理的处理状态,根据处理状态接续第一处理。
需要说明的是,图23所述的实施例中的第一设备或第二设备可以为前述实施例中的电视101、音箱102、音箱103、音箱105、音箱106、音箱109等,图23所述的实施例中未详述的部分,可以参考前述实施例,在此不做赘述。
基于本申请实施例提供的方法,第一设备在第一时刻接收用户的第一语音信号后,可以根据第一语音信号进行第一处理,而后,若第一设备确定响应第一用户意图的设备变更为第二设备,可以中断第一处理,并向第二设备发送第一处理的处理状态,以便第二设备根据处理状态接续第一处理。这样,在响应用户的设备发生变更的情况下(例如,用户位置发生移动的情况下用户唤醒了新的设备(例如第二设备)),可以智能切换为用户服务的设备,无需用户手动操作,可以提高用户体验。
如图24所示,本申请实施例提供一种设备响应方法,包括:
2401、第一设备接收用户的第一操作,第一操作用于获取包含目标对象的媒体内容。
其中,目标对象包括人物或动物。
2402、响应于第一操作,第一设备获取第一设备的选举数据和第二设备的选举数据。
其中,第一设备的选举数据包括第一设备是否采集到目标对象的媒体内容的信息,第二设备的选举数据包括第二设备是否采集到目标对象的媒体内容的信息。
可选的,第一设备的选举数据还包括第一设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、图像处理能力、图像分辨率、图像清晰度中至少一个;第二设备的选举数据还包括第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、图像处理能力、图像分辨率、图像清晰度中至少一个。
2403、在第一时刻,若第一设备确定第一设备采集到包含目标对象的媒体内容,第一设备播放第一设备采集到的包含目标对象的媒体内容。
在一种可能的设计中,若第一设备确定第一设备和第二设备采集到包含目标对象的媒体内容,且第一设备采集到的包含目标对象的媒体内容的分辨率或清晰度高于第二设备采集到的包含目标对象的媒体内容,第一设备播放第一设备采集到的包含目标对象的媒体内容。
2404、在第二时刻,若第一设备确定第二设备采集到包含目标对象的媒体内容,第一设备从第二设备接收包含目标对象的媒体内容,播放第二设备采集到的包含目标对象的媒体内容;其中,第二时刻晚于第一时刻。
第一设备和第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。第一设备可以基于预设时间间隔向第二设备发送心跳监测数据帧。第一设备在预设时间段内接收来自第二设备的心跳监测数据帧的响应帧,确定第二设备在线。第一设备在预设时间段内未接收到来自第二设备的心跳监测数据帧的响应帧,确定第二设备离线。其中,心跳监测数据帧中包含第一设备的选举数据。
在一种可能的设计中,若第一设备确定第一设备和第二设备采集到包含目标对象的媒体内容,且第二设备采集到的包含目标对象的媒体内容的分辨率或清晰度高于第一设备采集到的包含目标对象的媒体内容,第一设备从第二设备接收包含目标对象的媒体内容,播放第二设备采集到的包含目标对象的媒体内容。
需要说明的是,图24所述的实施例中的第一设备或第二设备可以为前述实施例中的手机104、摄像头107或摄像头110等,图24所述的实施例中未详述的部分,可以参考前述实施例,在此不做赘述。
基于本申请实施例提供的方法,第一设备接收用户的第一操作后,若确定第一设备采集到包含目标对象的媒体内容,第一设备播放第一设备采集到的包含目标对象的媒体内容;若第一设备确定第二设备采集到包含目标对象的媒体内容,第一设备从第二设备接收包含目标对象的媒体内容,播放第二设备采集到的包含目标对象的媒体内容。这样,在目标对象(例如,人物)位置发生移动的情况下,可以自动切换采集媒体内容的设备,无需用户手动操作,并可以保证第一设备总是播放包含目标对象的媒体内容,可以提高用户体验。
本申请另一些实施例提供了一种第一设备或第二设备,第一设备或第二设备可以是如图6所示的电子设备200。第一设备或第二设备可以包括:通信模块、存储器和一个或多个处理器。该通信模块、存储器与处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。
本申请另一实施例提供一种芯片系统,如图25所示,该芯片系统包括至少一个处理器2501和至少一个接口电路2502。处理器2501和接口电路2502可通过线路互联。例如,接口电路2502可用于从其它装置(例如,电子设备的存储器)接收信号。又例如,接口电路2502可用于向其它装置(例如处理器2501)发送信号。
例如,接口电路2502可读取电子设备中存储器中存储的指令,并将该指令发送给处理器2501。当所述指令被处理器2501执行时,可使得第一设备/第二设备(如图6所示的电子设备200)执行上述各实施例中的各个步骤。
又例如,接口电路2502可读取服务器中存储器中存储的指令,并将该指令发送给处理器2501。当所述指令被处理器2501执行时,可使得服务器执行上述实施例中的各个步骤。
当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种设备响应方法,其特征在于,应用于第一设备,所述方法包括:
所述第一设备接收语音信号,将所述语音信号转换为文本信息;
所述第一设备根据所述文本信息确定用户意图;
所述第一设备根据选举因素确定所述选举因素与所述第一设备的匹配程度以及所述选举因素与第二设备的匹配程度;其中,所述选举因素用于确定响应所述用户意图的设备;
所述第一设备根据所述选举因素确定所述选举因素与所述第一设备的匹配程度高于所述选举因素与第二设备的匹配程度,所述第一设备根据所述用户意图进行响应;所述第一设备从所述第二设备接收第二信息,所述第二信息用于指示所述第一设备响应所述用户意图。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一设备根据所述选举因素确定所述选举因素与所述第一设备的匹配程度低于所述选举因素与所述第二设备的匹配程度,所述第一设备不响应所述用户意图,所述第一设备向所述第二设备发送第一信息,所述第一信息用于指示所述第二设备响应所述用户意图。
3.根据权利要求1所述的方法,其特征在于,所述第一设备确定所述选举因素与所述第一设备的匹配程度高于所述选举因素与所述第二设备的匹配程度包括:
所述第一设备获取所述第一设备的选举数据和所述第二设备的选举数据,所述第一设备的选举数据包括所述第一设备的设备类型和/或设备位置,所述第二设备的选举数据包括所述第二设备的设备类型和/或设备位置;
所述第一设备根据所述选举因素与所述第一设备的选举数据确定所述选举因素与所述第一设备的匹配程度,并根据所述选举因素与所述第二设备的选举数据确定所述选举因素与所述第二设备的匹配程度,所述选举因素与所述第一设备的匹配程度高于所述选举因素与所述第二设备的匹配程度。
4.根据权利要求3所述的方法,其特征在于,所述第一设备根据所述选举因素与所述第一设备的选举数据确定所述选举因素与所述第一设备的匹配程度,并根据所述选举因素与所述第二设备的选举数据确定所述选举因素与所述第二设备的匹配程度,包括:
所述第一设备根据所述选举因素与所述第一设备的选举数据确定所述第一设备的评分,并根据所述选举因素与所述第二设备的选举数据确定所述第二设备的评分;
所述第一设备比较所述第一设备的评分和所述第二设备的评分,所述第一设备的评分高于所述第二设备的评分,确定所述选举因素与所述第一设备的匹配程度高于所述选举因素与所述第二设备的匹配程度。
5.根据权利要求3或4所述的方法,其特征在于,
所述第一设备的选举数据还包括所述第一设备的内核种类、芯片组、传感器状态、只读存储器ROM信息、随机存取存储器RAM信息、操作系统版本、网络状态、语音处理能力、所述第一设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个;
所述第二设备的选举数据还包括所述第二设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、所述第二设备确定的用户意图、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。
6.根据权利要求1-4任一项所述的方法,其特征在于,
所述第一设备和所述第二设备之间采用无线保真组网方式、蓝牙组网方式或云端服务器组网方式中的至少一种。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备基于预设时间间隔向所述第二设备发送心跳监测数据帧。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一设备在预设时间段内接收来自所述第二设备的所述心跳监测数据帧的响应帧,确定所述第二设备在线。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一设备在预设时间段内未接收到来自所述第二设备的所述心跳监测数据帧的响应帧,确定所述第二设备离线。
10.根据权利要求7所述的方法,其特征在于,
所述心跳监测数据帧中包含所述第一设备的选举数据。
11.根据权利要求1-4任一项所述的方法,其特征在于,所述将语音信号转换为文本信息包括:
通过自动语音识别ASR将所述语音信号转换为所述文本信息。
12.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述文本信息确定用户意图包括:
对所述文本信息进行自然语言处理NLP,得到用户意图。
13.根据权利要求1-4任一项所述的方法,其特征在于,所述第一设备根据所述用户意图进行响应包括:
所述第一设备播放歌曲、播报天气、打电话、发短信、打车、导航、播放音频节目中的任一种;其中,所述音频节目包括新闻节目、相声节目、读书节目中的任一种。
14.根据权利要求1-4任一项所述的方法,其特征在于,
所述选举因素包括设备类型、设备位置、设备的内核种类、芯片组、传感器状态、ROM信息、RAM信息、操作系统版本、网络状态、语音处理能力、用户意图的类型、用户的身份、用户的性别、用户的位置、语音信号的分贝大小、语音信号的清晰度中的至少一个。
15.一种设备响应方法,其特征在于,所述方法应用于通信系统,所述通信系统包括:第一设备和第二设备,所述第一设备和所述第二设备使用近距离无线通信技术通信,包括:
所述第一设备在第一时刻接收用户的语音信号,将所述语音信号转换为文本信息;
所述第一设备根据所述文本信息确定用户意图;
所述第一设备根据选举因素确定所述选举因素与所述第一设备的匹配程度以及所述选举因素与第二设备的匹配程度;其中,所述选举因素用于确定响应所述用户意图的设备;
若所述第一设备根据所述选举因素确定所述选举因素与所述第一设备的匹配程度高于所述选举因素与所述第二设备的匹配程度,所述第一设备根据所述用户意图进行响应;或者
若所述第一设备根据所述选举因素确定所述选举因素与所述第一设备的匹配程度低于所述选举因素与所述第二设备的匹配程度,所述第一设备向所述第二设备发送第一信息,所述第一信息用于指示所述第二设备响应所述用户意图;
所述第二设备在所述第一时刻接收所述用户的语音信号,将所述语音信号转换为文本信息;
所述第二设备根据所述文本信息确定用户意图;
所述第二设备根据所述选举因素确定所述选举因素与所述第一设备的匹配程度以及所述选举因素与第二设备的匹配程度;
若所述第二设备根据所述选举因素确定所述选举因素与所述第二设备的匹配程度高于所述选举因素与所述第一设备的匹配程度,所述第二设备根据所述用户意图进行响应;或者
若所述第二设备根据所述选举因素确定所述选举因素与所述第二设备的匹配程度低于所述选举因素与所述第一设备的匹配程度,所述第二设备向所述第一设备发送第二信息。
16.一种终端,所述终端为第一设备,其特征在于,包括:处理器、近距离无线通信模块、存储器、以及一个或多个程序;其中,所述处理器和所述存储器耦合,所述处理器与所述近距离无线通信模块连接;所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令用于执行如权利要求1-14任一项所述的方法。
17.一种计算机可读介质,其特征在于,用于存储一个或多个程序,其中所述一个或多个程序被配置为被一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于执行如权利要求1-14任一项所述的方法。
CN202210529242.4A 2020-12-01 2020-12-10 一种设备响应方法和装置 Active CN115035894B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
CN2020113888628 2020-12-01
CN202011384492 2020-12-01
CN202011400086 2020-12-01
CN2020113844920 2020-12-01
CN2020114000869 2020-12-01
CN202011388862 2020-12-01
CN202011439964.8A CN114582337A (zh) 2020-12-01 2020-12-10 一种设备响应方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202011439964.8A Division CN114582337A (zh) 2020-12-01 2020-12-10 一种设备响应方法和装置

Publications (2)

Publication Number Publication Date
CN115035894A CN115035894A (zh) 2022-09-09
CN115035894B true CN115035894B (zh) 2023-06-06

Family

ID=81770349

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210529242.4A Active CN115035894B (zh) 2020-12-01 2020-12-10 一种设备响应方法和装置
CN202011439964.8A Pending CN114582337A (zh) 2020-12-01 2020-12-10 一种设备响应方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011439964.8A Pending CN114582337A (zh) 2020-12-01 2020-12-10 一种设备响应方法和装置

Country Status (1)

Country Link
CN (2) CN115035894B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6767206B2 (ja) * 2016-08-30 2020-10-14 シャープ株式会社 応答システム
CN109166582A (zh) * 2018-10-16 2019-01-08 深圳供电局有限公司 一种语音识别的自动控制系统及方法
CN111862988B (zh) * 2019-04-26 2023-03-03 广东美的白色家电技术创新中心有限公司 语音识别设备及其唤醒响应方法、计算机存储介质
CN110211580B (zh) * 2019-05-15 2021-07-16 海尔优家智能科技(北京)有限公司 多智能设备应答方法、装置、系统及存储介质
CN112289313A (zh) * 2019-07-01 2021-01-29 华为技术有限公司 一种语音控制方法、电子设备及系统
CN110459221B (zh) * 2019-08-27 2022-02-22 思必驰科技股份有限公司 多设备协同语音交互的方法和装置
CN110808044B (zh) * 2019-11-07 2022-04-01 深圳市欧瑞博科技股份有限公司 智能家居设备语音控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115035894A (zh) 2022-09-09
CN114582337A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN110364151B (zh) 一种语音唤醒的方法和电子设备
WO2021136037A1 (zh) 语音唤醒方法、设备及系统
CN112740626B (zh) 用于通过使多个电子装置协同工作来提供通知的方法和设备
CN110322878A (zh) 一种语音控制方法、电子设备及系统
CN108831448A (zh) 语音控制智能设备的方法、装置及存储介质
CN108520746A (zh) 语音控制智能设备的方法、装置及存储介质
CN110415695A (zh) 一种语音唤醒方法及电子设备
CN111522250B (zh) 智能家居系统及其控制方法与装置
CN114924682A (zh) 一种内容接续方法及电子设备
CN110784830A (zh) 数据处理方法、蓝牙模块、电子设备与可读存储介质
CN111696562B (zh) 语音唤醒方法、设备及存储介质
CN113965715B (zh) 一种设备协同控制方法和装置
CN112237031B (zh) 智能家居设备接入网络的方法及相关设备
CN109151789A (zh) 翻译方法、装置、系统以及蓝牙耳机
JP2023541636A (ja) シーンの切り替え方法、端末及び記憶媒体
CN115035894B (zh) 一种设备响应方法和装置
CN113572798B (zh) 设备控制方法、系统、设备和存储介质
CN114120987B (zh) 一种语音唤醒方法、电子设备及芯片系统
CN114666444B (zh) 设备控制方法、装置和电子设备
CN113473057B (zh) 一种录像方法与电子设备
WO2024002298A1 (zh) 一种语音指令处理方法、装置、系统以及存储介质
WO2023005844A1 (zh) 设备唤醒方法、相关装置及通信系统
CN115622825A (zh) 智能门铃连接方法及相关设备
CN115309360A (zh) 音频输出方法、媒体文件的录制方法以及电子设备
CN115842692A (zh) 一种电子设备的控制方法、介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant