Capability-based connection control method and electronic device therefor
Patent Information
- Application Number
- PCT/KR2024/013435
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-12
- Filing Date
- 2024-09-05
- Publication Date
- 2025-03-13
Smart Images

Figure KR2024013435_13032025_PF_FP_ABST
Abstract
Description
Availability-based connection control method and electronic device therefor
[0001] Embodiments disclosed in this document relate to a method for controlling a connection based on availability and an electronic device therefor.
[0002] Technologies for controlling electronic devices based on user voice commands are widely used. For example, an electronic device can acquire utterances containing the user's voice commands. The voice agent of the electronic device can be configured to identify the user's intent from the user's utterances and perform actions corresponding to the identified intent. The user can control the electronic device using voice commands related to controlling the electronic device. For example, U.S. Patent Application Publication No. 2021 / 0005202 (published January 7, 2021) discloses control of a target device based on voice commands.
[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art in connection with the present disclosure.
[0004] An electronic device according to one embodiment disclosed in the present document may include a wireless communication circuit, at least one processor electrically connected to the wireless communication circuit, and a memory. The memory may store instructions. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to establish a first link with an audio device using the wireless communication circuit, receive a voice command from the audio device, identify a task corresponding to the voice command, and identify the capability of the electronic device for the task. The instructions, when executed by the at least one processor, may cause the at least one processor to discover at least one external device using the at least one wireless communication circuit based on the availability of the electronic device being identified as negative, acquire availability of the first external device for the task from a first external device among the at least one external devices, and control the audio device to connect the wireless audio device with the first external device based on the availability of the first external device for the domain or the task being identified as positive.
[0005] A method for controlling connection of an electronic device according to an embodiment disclosed in the present document may include: establishing a first link with an audio device; receiving a voice command from a wireless audio device; identifying a task corresponding to the voice command; identifying the capability of the electronic device for the task; discovering at least one external device using the at least one wireless communication circuit based on the capability of the electronic device being identified as negative; acquiring the availability of the first external device for the task from a first external device among the at least one external device; and controlling the audio device to be connected to the first external device based on the capability of the first external device for the domain or the task being identified as positive.
[0006] A computer-readable storage medium according to an embodiment disclosed in this document can store instructions that, when executed by a processor of an electronic device, cause the electronic device to perform a method for controlling connection of the electronic device.
[0007] Figure 1 illustrates a communication environment of electronic devices according to one embodiment.
[0008] Figure 2 is a block diagram of electronic devices according to one embodiment.
[0009] FIG. 3 illustrates software modules of an electronic device according to one embodiment.
[0010] Figure 4 is a signal flow diagram of a connection control method according to one embodiment.
[0011] Figure 5 is a flowchart of a method for determining task availability according to one embodiment.
[0012] FIG. 6 is a flowchart of an availability-based connection control method according to one embodiment.
[0013] Figure 7 is a signal flow diagram of a task performing method according to one embodiment.
[0014] Figure 8 is a signal flow diagram of a connection control method according to one embodiment.
[0015] Figure 9 is a signal flow diagram of a task performing method according to one embodiment.
[0016] Figure 10 illustrates a task execution environment according to an example.
[0017] FIG. 11 is a flowchart of an availability-based connection control method according to one embodiment.
[0018] FIG. 12 is a block diagram of an electronic device within a network environment according to various embodiments.
[0019] FIG. 13 is a block diagram illustrating an integrated intelligence system according to one embodiment.
[0020] FIG. 14 is a diagram showing a form in which relationship information between concepts and actions is stored in a database according to one embodiment.
[0021] FIG. 15 is a diagram illustrating a user terminal displaying a screen for processing voice input received through an intelligent app, according to one embodiment.
[0022] In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components.
[0023] Hereinafter, various embodiments of the present invention will be described with reference to the attached drawings. However, this is not intended to limit the present invention to specific embodiments, and it should be understood that the present invention encompasses various modifications, equivalents, and / or alternatives of the embodiments.
[0024] Figure 1 illustrates a communication environment of electronic devices according to one embodiment.
[0025] Referring to FIG. 1, an exemplary communication environment (100) may include an electronic device (10), a wireless audio device (15), a first external electronic device (20a), a second external electronic device (20b), and / or a server device (30). In the example of FIG. 1, the wireless audio device (15), the first external electronic device (20a), and the second external electronic device (20b) may be located near the electronic device (10). For example, the electronic device (10) may be configured to communicate with the wireless audio device (15), the first external electronic device (20a), and / or the second external electronic device (20b) based on short-range wireless communication (e.g., Bluetooth, wireless fidelity (WiFi) direct, infrared data association, ultra-wideband (UWB) communication, or neighbor awareness networking).
[0026] In one example, a user (90) may wear a wireless audio device (15) (e.g., a wireless headset, wireless earbuds, or a true wireless system (TWS)). The wireless audio device (15) may be connected to an electronic device (10) based on short-range wireless communication. For example, the user (90) may utter a voice command (99). The voice command (99) may include, for example, an intent corresponding to a specific task. The audio device (15) may receive the voice command (99) and transmit audio data including the received voice command (99) to the electronic device (10).
[0027] In response to receiving audio data, the electronic device (10) may determine the possibility (e.g., capability) of performing a task corresponding to the voice command (99). In one example, the electronic device (10) may be unable to perform the task. For example, in order to perform the task, communication between the electronic device (10) and the server device (30) may be required. If the electronic device (10) is unable to connect to a network (199) (e.g., an internet protocol network or a network (1299) of FIG. 12), the electronic device (10) may be unable to perform the task corresponding to the voice command (99).
[0028] According to one embodiment, the electronic device (10) can control the connection of the wireless audio device (15) so that a task corresponding to a voice command (99) is performed by a peripheral device (e.g., a first external electronic device (20a) and / or a second external electronic device (20b)). The electronic device (10) can control the connection of the wireless audio device (15) based on the availability of the peripheral device for the task. For example, if the availability of the first external electronic device (20a) for the task is identified as positive, the electronic device (10) can control the connection of the wireless audio device (15) so that the first external electronic device (20a) is connected to the wireless audio device (15). Hereinafter, a method for controlling the connection of the wireless audio device (15) may be described with reference to FIGS. 2 to 15 . The electronic device (10) of the present disclosure can improve user convenience by controlling the connection of the wireless audio device (15) based on the availability. For example, the electronic device (10) can reduce the number of user (90) inputs for switching connections.
[0029] In the example of FIG. 1, the shapes of the illustrated wireless audio device (15), the electronic device (10), the first external electronic device (20a), the second external electronic device (20b), and the server device (30) are merely examples, and embodiments of the present disclosure are not limited thereto. The wireless audio device (15) may be any device configured to perform wireless communication with the electronic device (10) and to output and receive audio data. In one example, the wireless audio device (15) may be a wearable device. The electronic device (10) may be any device owned by the user (90) and configured to perform communication with the wireless audio device (15). The first external electronic device (20a) and the second external electronic device (20b) may be any electronic devices associated with the same account as the electronic device (10) (e.g., the account of the user (90)). The first external electronic device (20a) and the second external electronic device (20b) may be any electronic devices positioned around the electronic device (10) and configured to perform short-range wireless communication with the electronic device (10). In one example, the second external electronic device (20b) and / or the server device (30) may be omitted from the communication environment (100).
[0030] Figure 2 is a block diagram of electronic devices according to one embodiment.
[0031] Referring to FIGS. 1 and 2, according to one embodiment, the electronic device (10) may include a processor (120), a memory (130), a sensor circuit (170), an audio circuit (180), and / or a communication circuit (190). For example, the electronic device (10) may include configurations similar to those of the electronic device (1201) of FIG. 12. The structure of the electronic device (10) illustrated in FIG. 2 is exemplary, and the embodiments of the present document are not limited thereto. For example, the electronic device (10) may further include configurations not illustrated in FIG. 2 (e.g., the configurations of the electronic device (1201) of FIG. 12). For example, the electronic device (10) may not include at least some of the configurations illustrated in FIG. 2.
[0032] The processor (120) may include at least one processing circuit. For example, the processor (120) may control various components of the electronic device (10) so that the electronic device (10) performs various operations. For example, the processor (120) may correspond to the processor (1220) of FIG. 12. For example, the operations of the electronic device (10) described below may be referred to as being performed by the processor (120). The processor (120) may be configured to perform various operations of the electronic device (10) by executing one or more instructions stored in the memory (130). The processor (120) may control the electronic device (10) so that the electronic device (10) performs various operations by executing the instructions stored in the memory (130). The processor (120) may include one processor or a plurality of processors. In one example, the processor (120) may be implemented as a single chipset.
[0033] The processor (120) may be electrically, operatively, or functionally connected to memory (130), sensor circuitry (170), audio circuitry (180), and / or communication circuitry (190). In the present disclosure, when one component is “operatively” connected to another component, it may mean that the component is connected so as to be able to operate the other component. For example, the component may operate the other component by transmitting a control signal to the other component, either directly or via another component. In the present disclosure, when one component is “functionally” connected to another component, it may mean that the component is connected so as to be able to execute a function of the other component. For example, the component may execute a function of the other component by transmitting a control signal to the other component, either directly or via another component.
[0034] The sensor circuit (170) may include at least one sensor configured to detect context information of the electronic device (10). For example, the sensor circuit (170) may correspond to the sensor module (1276) and / or the camera module (1280) of FIG. 12. In one example, the sensor circuit (170) may include a proximity sensor configured to detect a nearby object. The processor (120) may use the proximity sensor to identify an obstruction of the electronic device (10) by an external object. In one example, the sensor circuit (170) may include an illuminance sensor configured to detect ambient illuminance. The processor (120) may use the illuminance sensor to identify an obstruction of the electronic device (10). In one example, the sensor circuit (170) may include a grip sensor. The processor (120) may use the grip sensor to identify a grip on the electronic device (10). In one example, the sensor circuit (170) may include a camera. The processor (120) can acquire an image using a camera and identify the surroundings of the electronic device (10) based on the acquired image. In one example, the sensor circuit (170) can include at least one of a proximity sensor, a light sensor, a grip sensor, or a camera. The processor (120) can be configured to identify context information of the electronic device (10) based on a combination of at least some of the data acquired from the sensor circuit (170).
[0035] The audio circuit (180) may include at least one circuit for inputting and / or outputting audio data. For example, the audio circuit (180) may include at least one microphone and / or at least one speaker. The audio circuit (180) may correspond to, for example, the audio module (1270) of FIG. 12. In one example, the audio circuit (180) may be omitted from the electronic device (10).
[0036] The communication circuit (190) may be configured to perform short-range wireless communication and / or long-range wireless communication. For example, the communication circuit (190) may correspond to the communication module (1290) of FIG. 12. The processor (120) may communicate with the wireless audio device (15) and / or the external electronic device (20) based on short-range wireless communication (e.g., Bluetooth, neighbor awareness network, or WiFi direct) using the communication circuit (190), for example. The processor (120) may communicate with the server device (30) via an IP network (e.g., the network (199) of FIG. 1) using the communication circuit (190), for example. In one example, the communication circuit (190) may have limited functionality. For example, the processor (120) may disable the communication function of the communication circuit (190) with the server device (30).
[0037] According to one embodiment, the wireless audio device (15) may include a processor (121), a memory (131), a sensor circuit (171), an audio circuit (181), and / or a communication circuit (191). For example, the wireless audio device (15) may include similar configurations to the electronic device (1201) of FIG. 12. The structure of the wireless audio device (15) illustrated in FIG. 2 is exemplary, and the embodiments of the present document are not limited thereto. For example, the wireless audio device (15) may further include configurations not illustrated in FIG. 2 (e.g., the configuration of the electronic device (1201) of FIG. 12). For example, the wireless audio device (15) may not include at least some of the configurations illustrated in FIG. 2.
[0038] The processor (121) may include at least one processing circuit. For example, the processor (121) may control various components of the wireless audio device (15) so that the wireless audio device (15) performs various operations. For example, the processor (121) may correspond to the processor (1220) of FIG. 12. For example, the operations of the wireless audio device (15) described below may be referred to as being performed by the processor (121). The processor (121) may be configured to perform various operations of the wireless audio device (15) by executing one or more instructions stored in the memory (131). The processor (121) may control the wireless audio device (15) so that the wireless audio device (15) performs various operations by executing the instructions stored in the memory (131). The processor (121) may include one processor or a plurality of processors. In one example, the processor (121) may be implemented as a single chipset. The processor (121) may be electrically, operatively, or functionally connected to memory (131), sensor circuitry (171), audio circuitry (181), and / or communication circuitry (191).
[0039] The sensor circuit (171) may include at least one sensor configured to detect context information of the wireless audio device (15). For example, the sensor circuit (171) may correspond to the sensor module (1276) of FIG. 12. In one example, the sensor circuit (171) may include a proximity sensor configured to detect a nearby object. The processor (121) may use the proximity sensor to identify blocking of the wireless audio device (15) by an external object. In one example, the sensor circuit (171) may include an illuminance sensor configured to detect ambient illuminance. The processor (121) may use the illuminance sensor to identify blocking of the wireless audio device (15). In one example, the processor (121) may be configured to detect whether the wireless audio device (15) is worn using the sensor circuit (171). In one example, the sensor circuit (171) may include a touch sensor configured to detect touch input and / or a motion sensor configured to detect movement of the wireless audio device (15).
[0040] The audio circuit (181) may include at least one circuit for inputting and / or outputting audio data. For example, the audio circuit (181) may include at least one microphone and / or at least one speaker. The audio circuit (181) may correspond to, for example, the audio module (1270) of FIG. 12. In one example, the processor (121) may output audio data received from the electronic device (10) using the audio circuit (181). The processor (121) may transmit the audio data acquired using the audio circuit (181) to the electronic device (10).
[0041] The communication circuit (191) may be configured to perform short-range wireless communication. For example, the communication circuit (191) may correspond to the communication module (1290) of FIG. 12. The processor (121) may, for example, use the communication circuit (191) to communicate with the electronic device (10) and / or the external electronic device (20) based on short-range wireless communication (e.g., Bluetooth, neighbor awareness network, or WiFi direct). Hereinafter, the wireless audio device (15) may be a device having a pairing history with the electronic device (10) and the external electronic device (20). It may be assumed that the electronic device (10) and the external electronic device (20) store information for connection with the wireless audio device (15).
[0042] According to one embodiment, the external electronic device (20) may include a processor (220), a memory (230), a sensor circuit (270), an audio circuit (280), and / or a communication circuit (290). For example, the external electronic device (20) may correspond to the first external electronic device (20a) or the second external electronic device (20b) of FIG. 1. Hereinafter, the external electronic device (20) may be assumed to be an external electronic device capable of performing a task corresponding to the voice command (99) of FIG. 1 among the first external electronic device (20a) and the second external electronic device (20b).
[0043] For example, the external electronic device (20) may include configurations similar to those of the electronic device (1201) of FIG. 12. The structure of the external electronic device (20) illustrated in FIG. 2 is exemplary, and the embodiments of the present document are not limited thereto. For example, the external electronic device (20) may further include configurations not illustrated in FIG. 2 (e.g., the configuration of the electronic device (1201) of FIG. 12). For example, the external electronic device (20) may not include at least some of the configurations illustrated in FIG. 2.
[0044] The processor (220) may include at least one processing circuit. For example, the processor (220) may control various components of the external electronic device (20) so that the external electronic device (20) performs various operations. For example, the processor (220) may correspond to the processor (1220) of FIG. 12. For example, the operations of the external electronic device (20) described below may be referred to as being performed by the processor (220). The processor (220) may be configured to perform various operations of the external electronic device (20) by executing one or more instructions stored in the memory (230). The processor (220) may control the external electronic device (20) so that the external electronic device (20) performs various operations by executing the instructions stored in the memory (230). The processor (220) may include one processor or a plurality of processors. In one example, the processor (220) may be implemented as a single chipset. The processor (220) may be electrically, operatively, or functionally connected to memory (230), sensor circuitry (270), audio circuitry (280), and / or communication circuitry (290).
[0045] The sensor circuit (270) may include at least one sensor configured to detect context information of the external electronic device (20). For example, the sensor circuit (270) may correspond to the sensor module (1276) and / or the camera module (1280) of FIG. 12. In one example, the sensor circuit (270) may include a proximity sensor configured to detect a nearby object. The processor (220) may use the proximity sensor to identify a blocking of the external electronic device (20) by an external object. In one example, the sensor circuit (270) may include an illuminance sensor configured to detect ambient illuminance. The processor (220) may use the illuminance sensor to identify a blocking of the external electronic device (20). In one example, the sensor circuit (270) may include a grip sensor. The processor (220) may use the grip sensor to identify a grip on the external electronic device (20). In one example, the sensor circuit (270) may include a camera. The processor (220) may acquire an image using the camera and identify the surroundings of the external electronic device (20) based on the acquired image. In one example, the sensor circuit (270) may include at least one of a proximity sensor, an illuminance sensor, a grip sensor, or a camera. The processor (220) may be configured to identify context information of the external electronic device (20) based on a combination of at least some of the data acquired from the sensor circuit (270).
[0046] The audio circuit (280) may include at least one circuit for inputting and / or outputting audio data. For example, the audio circuit (280) may include at least one microphone and / or at least one speaker. The audio circuit (280) may correspond to, for example, the audio module (1270) of FIG. 12. In one example, the audio circuit (280) may be omitted from the external electronic device (20).
[0047] The communication circuit (290) may be configured to perform short-range wireless communication and / or long-range wireless communication. For example, the communication circuit (290) may correspond to the communication module (1290) of FIG. 12. The processor (220) may communicate with the wireless audio device (15) and / or the electronic device (10) based on short-range wireless communication (e.g., Bluetooth, neighbor awareness network, or WiFi direct) using the communication circuit (290), for example. The processor (220) may communicate with the server device (30) via an IP network (e.g., the network (199) of FIG. 1) using the communication circuit (290), for example. In one example, the communication circuit (290) may have limited functionality. For example, the processor (220) may disable the communication function of the communication circuit (290) with the server device (30).
[0048] According to one embodiment, the server device (30) can communicate with the electronic device (10) and / or the external electronic device (20) via a network (e.g., the network (199) of FIG. 1). The server device (30) can include, for example, an intelligent server for processing voice commands (99) (e.g., the intelligent server (1400) of FIG. 13).
[0049] FIG. 3 illustrates software modules of an electronic device according to one embodiment.
[0050] Referring to FIGS. 2 and 3, an electronic device (300) according to an embodiment may include at least one of an application management module (310), a device management module (320), a voice agent module (330), or an availability management module (340). At least some of the modules described with respect to FIG. 3 may be implemented by each of the electronic device (10), the external electronic device (20), or the server device (30). Hereinafter, the modules of the electronic device (300) may be referred to as software modules implemented in the processor of the electronic device (300). Operations described below with respect to the modules of the electronic device (300) may be referred to as operations performed by the processor of the electronic device (300).
[0051] For example, the application management module (310) may be configured to manage information about applications, service packages, capsules, and / or domains installed in the electronic device (300). A service package may be referred to as a program for providing a specified service. A capsule (e.g., a capsule in the capsule database (1430) of FIG. 13) may include a plurality of action objects (or action information) and / or concept objects (or concept information) included in a plan. For example, a capsule may be mapped to a domain. A domain may correspond to a category (or service) associated with an action (or function) that a user wishes to execute using the electronic device (300). In one example, a domain may be classified according to a service (e.g., an application) associated with a text. For example, a text may include text recognized from a user's command (e.g., a voice command) or an intent corresponding to the recognized text. In one example, a domain may be associated with a user's intent corresponding to the text. In one example, a domain may be determined through natural language analysis of an input user command. For example, the electronic device (300) may identify a service corresponding to the determined domain. Domains may be distinguished, for example, based on the application that received the voice input and / or the type of service to be provided based on the voice input, but are not limited thereto. In one example, multiple capsules may be mapped to a single domain.
[0052] For example, the device management module (320) may be configured to manage information of an external electronic device. For example, if the device management module (320) is implemented in the electronic device (10), the device management module (320) of the electronic device (10) may manage information of the external electronic device (20). Information of the external electronic device may include an account database (321) and / or a voice agent database (323).
[0053] The account database (321) may store information about devices associated with the same account as the electronic device (300). For example, the account database (321) may store information about devices registered to the same account as the electronic device (300). The account database (321) may include identification information (e.g., device name and / or unique identifier) and type information (e.g., generic device name or named entity) of devices associated with the same account. The account database (321) may include information about the data network connectivity capabilities of devices associated with the same account.
[0054] The voice agent database (323) may store voice agent association information of devices associated with the same account as the electronic device (300). For example, the voice agent association information may include information regarding the executable capability of the voice agent of a device associated with the same account. The executable capability information may include, for example, information indicating the installation of the voice agent and / or information indicating the activation or deactivation of the voice agent. For example, the executable capability information may include information regarding the functions that can be performed by the voice agent. The executable capability information may include information regarding the capsules, services, or domains installed on the device. In one example, the voice agent database (323) may be implemented as a single database with the account database (321).
[0055] For example, the voice agent module (330) may be configured to process a user's voice commands. The voice agent module (330) may include an automatic speech recognition module (331), a natural language understanding module (332), a planner module (333), a natural language generation module (334), a text-to-speech (TTS) module (335), a user interface (UI) generation module (336), and / or an execution module (337). For example, the voice agent module (330) may correspond to the natural language platform (1420) and / or the execution engine (1440) of FIG. 13.
[0056] The automatic speech recognition module (331) may be configured to convert audio data into text data. For example, the automatic speech recognition module (331) may correspond to the automatic speech recognition module (1421) of FIG. 13.
[0057] The natural language understanding module (332) may be configured to identify intents and / or parameters (e.g., entities and / or slots) based on text data corresponding to speech data. The intent may include information indicating an action (or function) (e.g., a task) to be performed using the device. The slot may be detailed information related to the intent. The slot may be acquired based on a domain corresponding to the utterance. The slot may be variable information required to perform the action. In one example, the variable information constituting the slot may include a named entity. For example, the natural language understanding module (332) may correspond to the natural language understanding module (1423) of FIG. 13.
[0058] The planner module (333) may be configured to generate a plan using the intents and / or parameters identified by the natural language understanding module (332). For example, the planner module (333) may identify at least one domain necessary for performing a task based on the determined intent. The planner module (333) may determine a plurality of actions and / or a sequence of the plurality of actions included in each of the at least one identified domains to perform the task. The planner module (333) may generate the plan using information (e.g., at least one capsule) stored in a capsule database that stores a set of relationships between concepts and actions. The planner module (333) may correspond to the planner module (1425) of FIG. 13.
[0059] The natural language generation module (334) can convert specified information into text format. The information converted into text format may be in the form of natural language speech. The TTS module (335) can convert information in text format into information in voice format. The natural language generation module (334) and the TTS module (335) may correspond to the natural language generation module (1427) and the text-to-speech conversion module (1429) of FIG. 13, respectively.
[0060] The UI (user interface) generation module (336) can generate a UI for executing a task instructed by a voice command. For example, the UI generation module (336) can generate a graphical UI to be provided to a user using graphical resources stored in the electronic device (300). For example, the UI generation module (336) can generate a UI that represents the execution process of a plan and / or the execution result of the plan (e.g., the result executed by the execution module (337)). In one example, the UI can include text information generated by the natural language generation module (334). The text information can include, for example, interactive information corresponding to a user's voice command.
[0061] The execution module (337) can produce results using the generated plan. The execution module (337) can perform a task by performing a series of operations according to the plan. The execution module (337) can correspond to the execution engine (1440) of FIG. 13.
[0062] For example, the availability management module (340) may be configured to determine the availability for a task of the electronic device (300). For convenience of explanation, examples of cases where modules of the electronic device (300) are implemented in the electronic device (10) may be described.
[0063] The electronic device (10) can obtain audio data including the user's speech from the wireless audio device (15). The wireless audio device (15) can obtain an audio signal corresponding to the user's speech based on voice activity detection (VAD) or touch input. The wireless audio device (15) can transmit audio data corresponding to the audio signal (e.g., digitized data of the audio signal) to the electronic device (10) using a communication circuit (191). The electronic device (10) can obtain the audio data using a communication circuit (190).
[0064] The electronic device (10) can identify a task corresponding to audio data using an automatic speech recognition module (331) and a natural language understanding module (332). The availability management module (340) can identify the availability of the electronic device (10) for the identified task. The availability management module (340) can identify the availability based on at least one of an application (e.g., an application, a service package, a domain, and / or a capsule), a network (e.g., a network (199) of FIG. 1) availability for performing the task, context information of the electronic device (10), stored content of the electronic device (10), or on-device processing availability.
[0065] For example, the task may be a task associated with a specified application. The availability management module (340) may obtain information about applications installed on the electronic device (10) using the application management module (310). If the specified application is not installed on the electronic device (10), the availability management module (340) may identify the availability as negative. If the specified application is installed on the electronic device (10), the availability management module (340) may identify the availability as positive.
[0066] For example, a task may be a task requiring network connectivity. The task may require connectivity to a server device (30) or a remote end. The availability management module (340) may identify the network connectivity. If the electronic device (10) is capable of connecting to the network, the availability management module (340) may identify the availability as positive. If the electronic device (10) is unable to connect to the network, the availability management module (340) may identify the availability as negative.
[0067] For example, a task may be for playing a specified content (e.g., a stored recording file, a sound file, a music file, a still image file, or a video file). If the electronic device (10) does not store the specified content, the availability management module (340) may identify the availability as negative. If the electronic device (10) does store the specified content, the availability management module (340) may identify the availability as positive.
[0068] For example, the task may be for playing multimedia content. The availability management module (340) may obtain context information (e.g., shielding information) of the electronic device (10) using the sensor circuit (170) of the electronic device (10). If the display of the electronic device (10) is shielded, the availability management module (340) may identify the availability as negative. Even if the electronic device (10) is shielded, if the electronic device (10) is grasped by the user, the availability management module (340) may identify the availability as positive.
[0069] On-device processability may be referred to as the possibility that the electronic device (10) can process audio data and corresponding tasks without the assistance of the server device (30). For example, the voice agent module (330) of the electronic device (10) may be deactivated. The voice agent module (330) of the electronic device (10) may be deactivated when the user deactivates the voice agent application. In this case, the on-device processability may be identified as negative. For example, the voice agent module (330) of the electronic device (10) may not include at least some configuration for executing a task (e.g., a planner module (333)). The electronic device (10) may be configured to transmit audio data or text data corresponding to the audio data to the server device (30) and receive a plan from the server device (30). In this case, the on-device processability may be identified as negative. In one example, if the on-device processability is negative, the availability management module (340) may identify the availability as negative.
[0070] For example, on-device processability may be set differently depending on the domain. For example, on-device processability for a first domain may be set to negative, while on-device processability for a second domain may be set to positive. The electronic device (10) may perform natural language understanding on audio data and identify a domain corresponding to the audio data from text data of the audio data. If the identified domain corresponds to a domain that can be processed on-device, the electronic device (10) may identify the on-device processability as positive.
[0071] Although described as an example of an electronic device (10), one of ordinary skill in the art will understand that an external electronic device (20) can also determine the availability of the external electronic device (20) in a similar manner.
[0072] The configuration of the electronic device (300) described above with reference to FIG. 3 is merely an example, and embodiments of the present disclosure are not limited thereto. For example, the electronic device (300) may not include at least some of the illustrated configurations. For example, at least some of the configurations of the electronic device (300) may be implemented by other devices.
[0073] Figure 4 is a signal flow diagram of a connection control method according to one embodiment.
[0074] Referring to FIGS. 2 and 4, according to one embodiment, the electronic device (10) can control the connection of the wireless audio device (15) based on availability. In the example of FIG. 4, the peripheral electronic devices (200) can be referred to as devices associated with the same account as the electronic device (10) (e.g., the first external electronic device (20a), the second external electronic device (20b) of FIG. 1, and the external electronic device (20) of FIG. 2). The electronic device (10) and the peripheral electronic devices (200) can be assumed to be devices that have a pairing history with the wireless audio device (15).
[0075] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0076] In operation 405, the wireless audio device (15) may establish a link with the electronic device (10) using the communication circuit (191). For example, the wireless audio device (15) may establish a link with the electronic device (10) based on the Bluetooth protocol. In one example, the wireless audio device (15) may establish a link with the most recently connected electronic device (10) among devices with a connection history (e.g., the electronic device (10) and peripheral electronic devices (200)). The electronic device (10) may establish a link with the wireless audio device (15) using the communication circuit (190).
[0077] In operation 410, the electronic device (10) may obtain audio data from the wireless audio device (15). The electronic device (10) may receive audio data from the wireless audio device (15) through an established link. For example, the electronic device (10) may obtain audio data including a user's speech from the wireless audio device (15). The wireless audio device (15) may obtain an audio signal corresponding to the user's speech. The wireless audio device (15) may transmit audio data corresponding to the audio signal to the electronic device (10) using the communication circuit (191). The electronic device (10) may obtain the audio data using the communication circuit (190). In one example, the wireless audio device (15) may recognize a wake word (e.g., "Hi Bixby") from a portion of the input user's speech. When the wake word is recognized, the wireless audio device (15) may induce the electronic device (10) to activate a voice service function and wait for reception of audio data. After the call word is recognized, the wireless audio device (15) can transmit audio data (410) corresponding to the input user's speech to the electronic device (10).
[0078] In operation 415, the electronic device (10) may determine the feasibility of performing a task corresponding to audio data. The electronic device (10) may determine that the task is not feasible if the voice agent module (e.g., the voice agent module (330) of FIG. 3) is deactivated.
[0079] In one example, the electronic device (10) can identify a task by performing speech recognition (e.g., using the automatic speech recognition module (331) of FIG. 3) and natural language understanding (e.g., using the natural language understanding module (332) of FIG. 3) on audio data. The electronic device (10) can identify availability for the task according to the examples described above with respect to the availability management module (340) of FIG. 3. If the availability is negative, the electronic device (10) can determine that the task is not performable. If the availability is positive, the electronic device (10) can determine that the task is performable.
[0080] For example, a voice command included in the voice data may be “turn on the air conditioner.” The electronic device (10) may, for example, use the application management module (310) of FIG. 3 to identify whether an application for controlling the air conditioner is installed. If the application for controlling the air conditioner is not installed, the electronic device (10) may determine that the task is not performable.
[0081] For example, a voice command included in the voice data may be "Send a text message." The electronic device (10) may have limited network access for text transmission. In this case, the electronic device (10) may determine that the task is not performable.
[0082] If the task is performable (e.g., operation 415-YES), then in operation 420, the electronic device (10) can perform the task. For example, the electronic device (10) can perform the task by executing a plan for performing the task.
[0083] If the task is not performable (e.g., operation 415-NO), in operation 425, the electronic device (10) may transmit an availability inquiry to the surrounding electronic devices (200). For example, the electronic device (10) may transmit the availability inquiry based on short-range wireless communication using the communication circuit (190). The availability inquiry may be referred to as, for example, discovery or a scan to search for surrounding electronic devices (200) associated with the same account as the electronic device (10). In one example, the availability inquiry and the search for the surrounding electronic devices (200) may be performed as a single procedure. In FIG. 4, the availability inquiry (operation 425) is illustrated as being performed subsequent to operation 415, but embodiments of the present disclosure are not limited thereto. For example, the availability inquiry may be performed prior to operation 415 or may be performed in parallel with operation 415. For example, the availability inquiry (e.g., operation 425) and the receipt of availability information (e.g., operation 435) can be performed independently of operation 415.
[0084] In one example, the electronic device (10) may search for peripheral electronic devices (200) adjacent to the electronic device (10) through scanning or discovery, and may perform an availability inquiry (e.g., operation 425) on the searched peripheral electronic devices (200). The electronic device (10) may broadcast a signal including information of the electronic device (10) (e.g., advertisement) and receive a response signal to the signal. The electronic device (10) may search for peripheral electronic devices (200) belonging to the same account by comparing information of a response device included in the response signal with information of an electronic device of the same account (e.g., information in an account database (321) of FIG. 3).
[0085] For example, if the communication function for inquiring about the availability of an electronic device (10) is disabled, the electronic device (10) may display a graphic object indicating that the communication function is disabled. To inquire about availability, the electronic device (10) may activate the communication function and perform an availability inquiry.
[0086] In one example, the availability inquiry may include information associated with a task and / or a pairing inquiry of a wireless audio device (15). The information associated with a task may include at least one of audio data, information about a task corresponding to the audio data (e.g., an intent corresponding to the task), an application required for the task, or a service required for the task. The pairing inquiry may include, for example, identification information of the wireless audio device (15) (e.g., a unique identifier and / or an address (e.g., a Bluetooth address or a medium access control (MAC) address)).
[0087] At step 430, each of the peripheral electronic devices (200) may determine availability in response to the availability inquiry. For example, each of the peripheral electronic devices (200) may determine availability for a task by each of the peripheral electronic devices (200) using information associated with the task included in the availability inquiry. Each of the peripheral electronic devices (200) may identify availability for a task according to the examples described above with respect to the availability management module (340) of FIG. 3. For example, each of the peripheral electronic devices (200) may identify availability based on a pairing inquiry of a wireless audio device (15) included in the availability inquiry. If there is no pairing history with the wireless audio device (15), the peripheral electronic device may identify availability as negative. If the availability for the task is identified as positive and there is a pairing history with the wireless audio device (15), the peripheral electronic device may identify its own availability as positive.
[0088] At step 435, the peripheral electronic devices (200) may transmit availability information to the electronic device (10). At step 440, the electronic device (10) may determine whether an available device exists using the received availability information. If availability information indicating positive availability for the task is received from at least one of the peripheral electronic devices (200), the electronic device (10) may determine that an available device exists. If availability information indicating negative availability for the task is received from all of the peripheral electronic devices (200), the electronic device (10) may determine that no available device exists.
[0089] If no available device exists (e.g., operation 440-NO), in operation 445, the electronic device (10) may provide a notification to the wireless audio device (15). For example, the notification may include information indicating that a task corresponding to the audio data cannot be executed. The wireless audio device (15) may output the notification audibly.
[0090] If an available device exists (e.g., operation 440-YES), in operation 450, the electronic device (10) may control a connection between the available device and the wireless audio device (15). For example, the electronic device (10) may control the wireless audio device (15) so that the available device and the wireless audio device (15) may be wirelessly connected. After connection with the wireless audio device (15), the available device may perform a task corresponding to the audio data. Operation 450 may be described below with reference to FIGS. 7, 8, and 9.
[0091] In the example of FIG. 4, the electronic device (10) is described as performing an availability inquiry, but the availability inquiry (e.g., operation 425) and the reception of availability information (e.g., operation 435) may be omitted. For example, the electronic device (10) may determine whether an available device exists (e.g., operation 440) using the availability information of the peripheral electronic devices (200) stored in the memory (130). The electronic device (10) may search for the peripheral electronic devices (200) periodically or aperiodically. In addition, the electronic device (10) may store information of the peripheral electronic devices (200) for determining the availability of the peripheral electronic devices (200) (e.g., data network connectivity, on-device processing capability, whether a voice agent is activated, capsules that can be processed, services that can be processed, domains that can be processed, application information, and / or pairing history with the wireless audio device (15)). For example, the electronic device (10) may store information about peripheral electronic devices (200) in the memory (130) using a device management module (e.g., the device management module (320) of FIG. 3). If information about peripheral electronic devices (200) pre-stored in the memory (130) exists, the electronic device (10) may perform operation 440 using the information about peripheral electronic devices (200) stored in the memory (130). In this case, operations 425, 430, and 435 may be omitted.
[0092] In one example, the electronic device (10) can perform operation 445 without additional user input (e.g., automatically) if an available device exists (e.g., operation 440-YES). In one example, the electronic device (10) can provide information about available devices to the user (e.g., through a display) and perform operation 450 based on the user's input.
[0093] In one example, when multiple available devices exist (e.g., operation 440-YES), the electronic device (10) may select one of the multiple available devices based on a priority. The electronic device (10) may select the available device with the highest priority. The electronic device (10) may perform operation 450 for the selected available device. The selection of an available device based on a priority may, in one example, be performed without additional input from a user (e.g., automatically).
[0094] In one example, when multiple available devices exist (e.g., operation 440-YES), the electronic device (10) can sort the multiple available devices based on priority. The electronic device (10) can provide a list of the sorted multiple available devices to the user (e.g., via a display). Based on a user input selecting one of the available devices from the list, the electronic device (10) can perform operation 450 with the selected available device.
[0095] In one example, the priorities of the plurality of available devices may be set based on a response signal (e.g., a signal including availability information) or availability information. For example, an available device with on-device processing capability may have a higher priority than an available device without on-device processing capability. For example, an available device with a high reception strength of a response signal may have a higher priority than an available device with a low reception strength. For example, an available device that receives a response signal first may have a higher priority than an available device that receives it later. For example, an available device located closest to the electronic device (10) may have the highest priority. In one example, the priorities of the plurality of available devices may be set based on the reception strength of the connection with the wireless audio device (15). For example, an available device with a strong reception strength of the connection with the wireless audio device (15) (e.g., the reception strength of a reception signal received by the wireless audio device (15)) may have a relatively high priority.
[0096] Figure 5 is a flowchart of a method for determining task availability according to one embodiment.
[0097] Referring to FIGS. 2 and 5, according to one embodiment, the electronic device (10) can determine task availability.
[0098] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0099] In operation 505, the electronic device (10) can obtain audio data from the wireless audio device (15). For example, the electronic device (10) can obtain audio data according to operation 410 of FIG. 4.
[0100] At operation 510, the electronic device (10) may determine whether the task is identifiable from audio data. For example, the electronic device (10) may not be able to identify the task if the voice agent module is disabled. In this case (e.g., operation 510-NO), at operation 525, the electronic device (10) may determine that the task is not executable. For example, operation 525 may correspond to NO of operation 415 of FIG. 4. When operation 525 is performed, the electronic device (10) may perform operations according to reference point A of FIG. 6.
[0101] If a task is identified (e.g., operation 510-YES), in operation 515, the electronic device (10) may determine the capability of the identified task. The electronic device (10) may determine the availability of the task based on the processability or performability of the identified task. For example, the electronic device (10) may determine the availability according to the operation of the availability management module (340) of FIG. 3. If the task is not available (e.g., operation 515-NO), in operation 525, the electronic device (10) may determine that the task is not executable.
[0102] If the task is available (e.g., operation 515-YES), then in operation 520, the electronic device (10) may perform the task. For example, the electronic device (10) may perform operation 520 according to operation 420 of FIG. 4.
[0103] FIG. 6 is a flowchart of an availability-based connection control method according to one embodiment.
[0104] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0105] Referring to FIGS. 2 and 6, when it is determined that a task cannot be executed (e.g., operation 525 of FIG. 5), in operation 605, the electronic device (10) may transmit an availability inquiry to peripheral devices. For example, the electronic device (10) may transmit an availability inquiry according to operation 425 of FIG. 4.
[0106] At step 610, the electronic device (10) may determine whether a peripheral device with availability is discovered. For example, the electronic device (10) may discover the peripheral device if a response containing positive availability information (e.g., a response to an availability inquiry) is received. If a response containing positive availability information is not received (e.g., step 610-NO), at step 620, the electronic device (10) may provide a notification. For example, the electronic device (10) may provide a notification indicating that the task cannot be performed via the wireless audio device (15).
[0107] If a peripheral device with availability is found (e.g., operation 610-YES), in operation 615, the electronic device (10) may control a connection so that the external electronic device (20) and the wireless audio device (15) can communicate. For example, the external electronic device (20) may be referred to as a peripheral device with availability. Operation 615 may correspond to operation 450 of FIG. 4.
[0108] Figure 7 is a signal flow diagram of a task performing method according to one embodiment.
[0109] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0110] Referring to FIG. 7, in operation 705, the electronic device (10) and the wireless audio device (15) may establish a first link. For example, the electronic device (10) may establish the first link according to operation 405 of FIG. 4. In one example, the electronic device (10) may be connected to the wireless audio device (15) based on a data profile (e.g., serial port profile (SPP)) and an audio profile (e.g., hands-free profile (HFP) and / or advanced audio distribution profile (A2DP)).
[0111] In operation 710, the electronic device (10) may transmit an availability inquiry to the external electronic device (20). For example, the electronic device (10) may perform operation 710 based on identifying that the availability of audio data acquired from the wireless audio device (15) for the task is negative (e.g., operation 415-NO). For example, the electronic device (10) may transmit the availability inquiry according to operation 425 of FIG. 4. In one example, the electronic device (10) may transmit the availability inquiry with specified information. The electronic device (10) may transmit the availability inquiry by transmitting an advertisement packet or an inquiry packet. For example, the specified information may include account information of the electronic device (10), identification information of the wireless audio device (15), and / or application information required to perform the task.
[0112] In operation 715, the electronic device (10) may receive an availability response from the external electronic device (20). The availability response may include the availability information of operation 435 of FIG. 4. The external electronic device (20) may transmit the availability response in response to the availability inquiry. The availability response may include, for example, information indicating the availability of the external electronic device (20) for the task. In one example, the availability response may include identification information (e.g., an address and / or identifier) of the external electronic device (20).
[0113] At operation 720, the electronic device (10) may determine to switch the connection. The electronic device (10) may determine to switch the connection based on the availability information included in the availability response being identified as positive.
[0114] In operation 725, the electronic device (10) may establish a second link with an external electronic device (20). For example, the electronic device (10) may establish a second link with the external electronic device (20) based on short-range wireless communication. The establishment of the second link may be performed at any time. In one example, the establishment of the second link may be omitted.
[0115] In operation 730, based on the connection switching decision, the electronic device (10) may transmit a connection termination message to the wireless audio device (15). The electronic device (10) may transmit the connection termination message via the first link.
[0116] In operation 735, the wireless audio device (15) may transmit an advertisement packet. The wireless audio device (15) may transmit an advertisement packet for searching for a peripheral device in response to receiving a connection interruption message. In one example, the wireless audio device (15) may transmit an inquiry packet for searching for a peripheral device. Even if the electronic device (10) receives an advertisement packet or an inquiry packet from the wireless audio device (15), it may not respond to the advertisement packet or the inquiry packet.
[0117] At operation 740, the external electronic device (20) may transmit a response message to the advertisement packet to the wireless audio device (15).
[0118] In operation 745, the wireless audio device (15) and the external electronic device (20) can establish a third link. Based on the reception of the response message, the wireless audio device (15) can establish a third link with the external electronic device (20). The wireless audio device (15) and the external electronic device (20) can be connected based on an audio profile.
[0119] Actions 730, 735, 740, and 745 may correspond to action 450 of FIG. 4.
[0120] In operation 750, the external electronic device (20) may transmit a link establishment notification to the electronic device (10). For example, the external electronic device (20) may transmit information notifying the establishment of a third link to the electronic device (10) via the second link.
[0121] In operation 755, the external electronic device (20) may perform a task. For example, the external electronic device (20) may perform the task using information included in the availability inquiry. The external electronic device (20) may provide an audio notification according to the task performance via the wireless audio device (15).
[0122] In operation 760, the external electronic device (20) may transmit a task completion notification to the electronic device (10). For example, when task performance is completed, the external electronic device (20) may transmit a task completion notification to the electronic device (10) via a second link.
[0123] In operation 765, the electronic device (10) may reconnect with the wireless audio device (15). The electronic device (10) may reconnect with the wireless audio device (15) based on receipt of a task completion notification. In one example, the external electronic device (20) may transmit a message to the wireless audio device (15) for releasing the third link upon completion of the task.
[0124] Figure 8 is a signal flow diagram of a connection control method according to one embodiment.
[0125] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0126] Referring to FIG. 8, in operation 805, the electronic device (10) and the wireless audio device (15) may establish a link based on a data profile (e.g., serial port profile (SPP)) and an audio profile (e.g., hands-free profile (HFP) and / or advanced audio distribution profile (A2DP)). For example, the electronic device (10) may establish a first link according to operation 405 of FIG. 4.
[0127] In operation 810, the electronic device (10) may transmit an availability inquiry to an external electronic device (20). For example, the electronic device (10) may perform operation 810 based on the availability of audio data acquired from the wireless audio device (15) being identified as negative for the task (e.g., operation 415-NO). For example, the electronic device (10) may transmit the availability inquiry according to operation 710 of FIG. 7.
[0128] In operation 815, the electronic device (10) may receive an availability response from an external electronic device (20). The availability response may include availability information of operation 435 of FIG. 4. For example, the electronic device (10) may receive the availability response according to operation 715 of FIG. 7.
[0129] In operation 820, the electronic device (10) and the external electronic device (20) may determine a connection transition. For example, the electronic device (10) may determine a connection transition based on the availability information included in the availability response being identified as positive.
[0130] In operation 825, the external electronic device (20) may, in response to a decision to switch the connection, request a connection based on a data profile to the wireless audio device (15). In response to the data profile-based connection request, a data profile-based connection may be established between the external electronic device (20) and the wireless audio device (15).
[0131] In operation 830, the external electronic device (20) may transmit a connection request notification to the electronic device (10). The connection request notification may include information indicating that the external electronic device (20) has transmitted a connection request to the wireless audio device (15).
[0132] In operation 835, the external electronic device (20) may request the wireless audio device (10) to stop an audio-based profile service. In operation 840, the wireless audio device (10) may transmit a service stop notification other than a data profile-based service to the electronic device (10) based on receiving the audio-based profile service stop request. In this case, the data profile-based connection between the electronic device (10) and the wireless audio device (15) may be maintained. In this case, the audio profile-based connection between the electronic device (10) and the wireless audio device (15) may be released.
[0133] At operation 845, the external electronic device (20) may transmit an audio profile-based connection request to the wireless audio device (15). In response to the audio profile-based connection request, at operation 850, the wireless audio device (15) and the external electronic device (20) may establish an audio profile-based connection.
[0134] At operation 855, the external electronic device (20) may transmit a link establishment notification to the electronic device (10). For example, the external electronic device (20) may transmit the link establishment notification based on the establishment of an audio profile-based connection between the wireless audio device (15) and the external electronic device (20). After transmitting the link establishment notification, the external electronic device (20) may perform a task (e.g., operation 755 of FIG. 7).
[0135] Actions 825, 830, 835, 840, 845, 850 and 855 may correspond to action 450 of FIG. 4.
[0136] Figure 9 is a signal flow diagram of a task performing method according to one embodiment.
[0137] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0138] Referring to FIG. 9, in operation 905, the electronic device (10) and the wireless audio device (15) may establish a first link. For example, the electronic device (10) may establish the first link according to operation 705 of FIG. 7.
[0139] In operation 910, the electronic device (10) may transmit an availability inquiry to an external electronic device (20). For example, the electronic device (10) may transmit the availability inquiry according to operation 710 of FIG. 7.
[0140] At operation 915, the electronic device (10) may receive an availability response from an external electronic device (20). The electronic device (10) may receive the availability response according to operation 715 of FIG. 7.
[0141] At operation 920, the electronic device (10) may determine to switch the connection. The electronic device (10) may determine to switch the connection based on the availability information included in the availability response being identified as positive.
[0142] In operation 925, the electronic device (10) may establish a second link with an external electronic device (20). For example, the electronic device (10) may establish a second link with the external electronic device (20) based on short-range wireless communication. The establishment of the second link may be performed at any time. In one example, the establishment of the second link may be omitted.
[0143] In operation 930, based on the connection switching decision, the electronic device (10) may transmit first link information to the external electronic device (30). The first link information may include information for estimating a wireless resource of the first link. For example, the first link information may include address information (e.g., a Bluetooth address of a master device of the first link, a Bluetooth address of the electronic device (10), and / or a Bluetooth address of a wireless audio device (15)), piconet clock information (e.g., a clock native (CLKN) of a master device of the first link), logical transport (LT) address information (e.g., information assigned by the master device of the first link), used channel map information, link key information, service discovery protocol (SDP) information (e.g., service and / or profile information associated with the first link), and / or supported feature information. After transmitting the first link information, the electronic device (10) may not perform communication through the first link.
[0144] An external electronic device (20) can monitor the first link using the first link information. The external electronic device (20) can communicate with a wireless audio device (15) using the wireless resources of the first link.
[0145] In operation 935, the external electronic device (20) may perform a task. For example, the external electronic device (20) may perform the task using information included in the availability inquiry.
[0146] In operation 940, the external electronic device (20) can transmit an execution result notification message according to task performance to the wireless audio device (15) through the first link.
[0147] In operation 945, the external electronic device (20) may transmit a task completion notification to the electronic device (10). For example, when the task execution is completed, the external electronic device (20) may transmit a task completion notification to the electronic device (10) via the second link. After the task is completed, the second link may be released. Upon receiving the task completion notification, the electronic device (10) may communicate with the wireless audio device (15) via the first link. In the example of FIG. 9, the electronic device (10) may transfer authority for the first link to the external electronic device (20) while the task is being performed.
[0148] Figure 10 illustrates a task execution environment according to an example.
[0149] Referring to FIGS. 2 and 10, it can be assumed that a wireless audio device (15) is connected to an electronic device (10). In one example, a user (90) may utter a voice command (99). The wireless audio device (15) may transmit audio data including the voice command to the electronic device (10).
[0150] In one example, a voice command (99) may indicate a task corresponding to text transmission. For example, the electronic device (10) (e.g., a mobile phone) may be in a state in which text transmission is not possible or is difficult for the user (90) to confirm. The electronic device (10) may be in a state in which it cannot connect to a data network for text transmission. The electronic device (10) may be located in a state below a specified illuminance based on an illuminance sensor (e.g., in a dark environment) and the display may be turned off. In this case, the electronic device (10) may identify a first external electronic device (20a) (e.g., a tablet PC) capable of text transmission. The electronic device (10) may output voice feedback through the wireless audio device (15) recommending switching the connection to the first external electronic device (20a). For example, the electronic device (10) may provide voice feedback such as “Connect to tablet and execute command?” via the wireless audio device (15). If a positive response to the recommendation is received using the wireless audio device (15), the electronic device (10) may control the connection so that the wireless audio device (15) is connected to the first external electronic device (20a). In one example, the electronic device (10) may output voice feedback notifying that the connection has been switched to the first external electronic device (20a) via the wireless audio device (15) and that the task has been executed. The electronic device (10) may provide voice feedback such as “Cannot be executed on the mobile phone. Connect to the tablet and execute the command” via the wireless audio device (15). In one example, the voice feedback recommending switching the connection to the first external electronic device (20a) may be omitted.
[0151] In one example, a voice command (99) may instruct a task corresponding to the control of an Internet of Things (IoT) device. For example, the electronic device (10) may be located in a state where the illuminance is below a specified level based on a light sensor (e.g., in a dark environment) and the display is turned off. For example, the electronic device (10) may not include an application for controlling the IoT device. In this case, the electronic device (10) may identify a second external electronic device (20b) on which an application for the IoT device is installed. The electronic device (10) may output voice feedback through the wireless audio device (15) recommending a switch of connection to the second external electronic device (20b). For example, the electronic device (10) may provide voice feedback such as “Connect to the tablet and execute the command?” through the wireless audio device (15). When a positive response to the recommendation is received using the wireless audio device (15), the electronic device (10) can control the connection so that the wireless audio device (15) is connected to the second external electronic device (20b). In one example, the electronic device (10) can output voice feedback notifying that the connection has been switched to the first external electronic device (20a) through the wireless audio device (15) and that the task has been executed. The electronic device (10) can provide voice feedback through the wireless audio device (15) such as “Cannot be executed on the mobile phone. Connect to the tablet and execute the command.” In one example, the voice feedback recommending the switch of the connection to the first external electronic device (20a) may be omitted.
[0152] In one example, the voice command (99) may indicate the invocation of a voice agent. For example, the electronic device (10) may have the voice agent deactivated. For example, the electronic device (10) may be in a state where connection with a server (e.g., server device (30) of FIG. 1) linked to the voice agent is impossible. In this case, the electronic device (10) may identify a first external electronic device (20a) and a second external electronic device (20b) in which the voice agent is activated. The electronic device (10) may output voice feedback through the wireless audio device (15) recommending a connection switch to the first external electronic device (20a) or the second external electronic device (20b). For example, the electronic device (10) may provide voice feedback such as “Connect to the tablet and execute the command?” through the wireless audio device (15). The electronic device (10) can obtain a response for selecting one of the first external electronic device (20a) and the second external electronic device (20b) using the wireless audio device (15). The electronic device (10) can control the connection so that the wireless audio device (15) is connected to the selected external electronic device. In one example, the electronic device (10) can output voice feedback notifying that the connection has been switched to the first external electronic device (20a) and that a task has been executed through the wireless audio device (15). The electronic device (10) can provide voice feedback such as “Cannot be executed on a mobile phone. Connect to a tablet and execute the command” through the wireless audio device (15). In one example, the voice feedback recommending switching the connection to the first external electronic device (20a) may be omitted.
[0153] In one example, the voice command (99) may instruct a task corresponding to playback of multimedia. For example, the electronic device (10) may be in a state in which it cannot play multimedia. For example, the electronic device (10) may not store the multimedia indicated by the voice command (99). For example, the electronic device (10) may be located in a bag (1000). The electronic device (10) may detect a shielding state of the electronic device (10) using the sensor circuit (170) and determine that multimedia playback cannot be performed based on the shielding state of the electronic device (10). In this case, the electronic device (10) may identify a first external electronic device (20a) capable of performing multimedia playback. The electronic device (10) may output voice feedback through the wireless audio device (15) recommending a switch of connection to the first external electronic device (20a). For example, the electronic device (10) may provide voice feedback such as “Connect to tablet and execute command?” via the wireless audio device (15). If a positive response to the recommendation is received using the wireless audio device (15), the electronic device (10) may control the connection so that the wireless audio device (15) is connected to the first external electronic device (20a). In one example, the electronic device (10) may output voice feedback notifying that the connection has been switched to the first external electronic device (20a) via the wireless audio device (15) and that the task has been executed. The electronic device (10) may provide voice feedback such as “Cannot be executed on the mobile phone. Connect to the tablet and execute the command” via the wireless audio device (15). In one example, the voice feedback recommending switching the connection to the first external electronic device (20a) may be omitted.
[0154] FIG. 11 is a flowchart of an availability-based connection control method according to one embodiment.
[0155] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0156] Referring to FIG. 11, according to one embodiment, an electronic device (e.g., the electronic device (10) of FIG. 2, the electronic device (300) of FIG. 3, or the electronic device (1201) of FIG. 12) may include at least one wireless communication circuit (e.g., the wireless communication circuit (190) of FIG. 2 or the communication module (1290) of FIG. 12), at least one processor (e.g., the processor (120) of FIG. 2 or the processor (1220) of FIG. 12), and a memory (e.g., the memory (130) of FIG. 2 or the memory (1230) of FIG. 12). For example, the at least one processor may be electrically connected to the at least one wireless communication circuit and the memory. The memory may store instructions that, when executed by the at least one processor, cause the at least one processor to perform operations described below.
[0157] In operation 1105, the electronic device may establish a first link with a wireless audio device (e.g., the wireless audio device (15) of FIG. 2). For example, the electronic device may establish the first link according to the description described above with respect to operation 405 of FIG. 4, operation 705 of FIG. 7, operation 805 of FIG. 8, or operation 905 of FIG. 9.
[0158] In operation 1110, the electronic device may obtain audio data from a wireless audio device. For example, the audio data may include a voice command. For example, the electronic device may obtain the audio data according to the description described above with respect to operation 410 of FIG. 4 or operation 505 of FIG. 5.
[0159] In operation 1115, the electronic device can identify a task from audio data. For example, the electronic device can obtain text data corresponding to the audio data by performing automatic speech recognition on the audio data. The electronic device can identify a user's intent and / or parameters (e.g., entities and / or slots) contained in the text by performing natural language understanding on the text. The electronic device can identify a task based on the intent and / or parameters. In one example, the electronic device can identify a task using the automatic speech recognition module (331) and the natural language understanding module (332) of FIG. 3.
[0160] In operation 1120, the electronic device may identify the availability of the electronic device for the task. For example, the electronic device may identify the availability of the electronic device based on at least one of the network connectivity of the electronic device, an application associated with the task, or context information of the electronic device. For example, the electronic device may further include at least one sensor circuit (e.g., the sensor circuit (170) of FIG. 2 ). The electronic device may obtain context information of the electronic device using the at least one sensor circuit. If the context information indicates a shielding situation of the electronic device, the electronic device may identify the availability of the electronic device as negative. For example, the electronic device may identify the availability according to the description described above with respect to the availability management module (340) of FIG. 3.
[0161] In operation 1125, the electronic device may discover at least one external device (e.g., peripheral electronic devices (200) of FIG. 4) based on the availability being identified as negative.
[0162] For example, an electronic device may discover at least one external device by performing discovery based on short-range wireless communication. In one example, the electronic device may discover at least one external device by transmitting an availability inquiry (e.g., operation 425 of FIG. 4 ) and receiving availability information (e.g., operation 435 of FIG. 4 ). In one example, the electronic device may perform discovery for discovering at least one external electronic device independently of the availability inquiry.
[0163] In operation 1130, the electronic device may obtain availability for a task of the first external device. For example, the electronic device may receive availability information from the first external device among at least one discovered external device. For example, the electronic device may obtain availability information according to the description described above with respect to operation 435 of FIG. 4 , operation 715 of FIG. 7 , operation 815 of FIG. 8 , or operation 915 of FIG. 9 .
[0164] In one example, the electronic device can receive availability information from a plurality of discovered external devices and select a first external device based on the availability information. The electronic device can identify priorities of the plurality of external devices based on the availability information of the plurality of external devices. For example, the electronic device can identify priorities according to the method described above with respect to FIG. 4. The electronic device can select a first external device having the highest priority among the plurality of external devices. In one example, the priority can be based on at least one of a distance from each of the plurality of external devices to the electronic device or a shielding of each of the plurality of external devices.
[0165] In one example, a voice command for audio data may indicate the playback of media. The first external device may be a device that stores the media. The electronic device may select the first external device that stores the media from among multiple external devices.
[0166] In operation 1135, the electronic device can control the wireless audio device to connect with the first external device based on the positive identification of the availability of the first external electronic device.
[0167] For example, the electronic device may release a first link with the wireless audio device. After the release of the first link, the electronic device may receive a signal from the first external device indicating the establishment of a second link between the first external device and the wireless audio device. For example, the electronic device may release the first link by transmitting the signal indicating the release of the first link to the wireless audio device. By transmitting the signal indicating the release of the first link, the electronic device may control the wireless audio device to perform a scan for connection with the first external device.
[0168] For example, the electronic device may transmit information of the first link to the first external device, thereby allowing the wireless audio device to communicate with the first external device (or vice versa) using the first link.
[0169] For example, the electronic device may control the connection of the wireless audio device according to the description described above with respect to operation 450 of FIG. 4. The electronic device may control the connection of the wireless audio device according to the description described above with respect to operation 615 of FIG. 6. The electronic device may control the connection of the wireless audio device according to the description described above with respect to operations 730, 735, 740, 745, and 750 of FIG. 7. The electronic device may control the connection of the wireless audio device according to the description described above with respect to operations 825, 830, 835, 840, 845, 850, and 855 of FIG. 8. The electronic device may control the connection of the wireless audio device according to the description described above with respect to operations 930, 935, 940, and 945 of FIG. 9.
[0170] As described above with respect to FIGS. 4 to 9, when the task performed by the external electronic device is completed, the electronic device may be reconnected with the wireless audio device.
[0171] FIG. 12 is a block diagram of an electronic device (1201) within a network environment (1200), according to various embodiments.
[0172] Referring to FIG. 12, in a network environment (1200), an electronic device (1201) may communicate with an electronic device (1202) via a first network (1298) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (1204) or a server (1208) via a second network (1299) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (1201) may communicate with the electronic device (1204) via the server (1208). According to one embodiment, the electronic device (1201) may include a processor (1220), a memory (1230), an input module (1250), an audio output module (1255), a display module (1260), an audio module (1270), a sensor module (1276), an interface (1277), a connection terminal (1278), a haptic module (1279), a camera module (1280), a power management module (1288), a battery (1289), a communication module (1290), a subscriber identification module (1296), or an antenna module (1297). In some embodiments, the electronic device (1201) may omit at least one of these components (e.g., the connection terminal (1278)), or may have one or more other components added. In some embodiments, some of these components (e.g., sensor module (1276), camera module (1280), or antenna module (1297)) may be integrated into a single component (e.g., display module (1260)).
[0173] The processor (1220) may control at least one other component (e.g., hardware or software component) of the electronic device (1201) connected to the processor (1220) by executing, for example, software (e.g., program (1240)), and may perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (1220) may store commands or data received from other components (e.g., sensor module (1276) or communication module (1290)) in volatile memory (1232), process the commands or data stored in volatile memory (1232), and store result data in non-volatile memory (1234). According to one embodiment, the processor (1220) may include a main processor (1221) (e.g., a central processing unit or an application processor) or an auxiliary processor (1223) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (1221). For example, when the electronic device (1201) includes the main processor (1221) and the auxiliary processor (1223), the auxiliary processor (1223) may be configured to use less power than the main processor (1221) or to be specialized for a given function. The auxiliary processor (1223) may be implemented separately from the main processor (1221) or as a part thereof.
[0174] The auxiliary processor (1223) may control at least a portion of functions or states associated with at least one component (e.g., a display module (1260), a sensor module (1276), or a communication module (1290)) of the electronic device (1201), for example, on behalf of the main processor (1221) while the main processor (1221) is in an inactive (e.g., sleep) state, or together with the main processor (1221) while the main processor (1221) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (1223) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (1280) or a communication module (1290)). In one embodiment, the auxiliary processor (1223) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (1201) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (1208)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0175] The memory (1230) can store various data used by at least one component (e.g., the processor (1220) or the sensor module (1276)) of the electronic device (1201). The data can include, for example, software (e.g., the program (1240)) and input data or output data for commands related thereto. The memory (1230) can include a volatile memory (1232) or a non-volatile memory (1234).
[0176] The program (1240) may be stored as software in memory (1230) and may include, for example, an operating system (1242), middleware (1244), or an application (1246).
[0177] The input module (1250) can receive commands or data to be used in a component of the electronic device (1201) (e.g., a processor (1220)) from an external source (e.g., a user) of the electronic device (1201). The input module (1250) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0178] The audio output module (1255) can output audio signals to the outside of the electronic device (1201). The audio output module (1255) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0179] The display module (1260) can visually provide information to an external party (e.g., a user) of the electronic device (1201). The display module (1260) may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling the device. In one embodiment, the display module (1260) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0180] The audio module (1270) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (1270) can acquire sound through the input module (1250), output sound through the sound output module (1255), or an external electronic device (e.g., electronic device (1202)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (1201).
[0181] The sensor module (1276) can detect the operating status (e.g., power or temperature) of the electronic device (1201) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (1276) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0182] The interface (1277) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (1201) with an external electronic device (e.g., the electronic device (1202)). In one embodiment, the interface (1277) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0183] The connection terminal (1278) may include a connector through which the electronic device (1201) may be physically connected to an external electronic device (e.g., the electronic device (1202)). In one embodiment, the connection terminal (1278) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0184] The haptic module (1279) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (1279) may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0185] The camera module (1280) can capture still images and videos. According to one embodiment, the camera module (1280) may include one or more lenses, image sensors, image signal processors, or flashes.
[0186] The power management module (1288) can manage the power supplied to the electronic device (1201). According to one embodiment, the power management module (1288) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0187] A battery (1289) may power at least one component of the electronic device (1201). In one embodiment, the battery (1289) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0188] The communication module (1290) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (1201) and an external electronic device (e.g., electronic device (1202), electronic device (1204), or server (1208)), and the performance of communication through the established communication channel. The communication module (1290) may operate independently from the processor (1220) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (1290) may include a wireless communication module (1292) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (1294) (e.g., a local area network (LAN) communication module, or a power line communication module). Any of these communication modules may communicate with an external electronic device (1204) via a first network (1298) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (1299) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (1292) may use subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (1296) to verify or authenticate the electronic device (1201) within a communication network such as the first network (1298) or the second network (1299).
[0189] The wireless communication module (1292) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (1292) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (1292) may support various technologies for securing performance in high-frequency bands, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (1292) may support various requirements specified in the electronic device (1201), an external electronic device (e.g., the electronic device (1204)), or a network system (e.g., the second network (1299)). According to one embodiment, the wireless communication module (1292) may support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0190] The antenna module (1297) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (1297) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (1297) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (1298) or the second network (1299), may be selected from the plurality of antennas, for example, by the communication module (1290). A signal or power may be transmitted or received between the communication module (1290) and an external electronic device via the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (1297).
[0191] According to various embodiments, the antenna module (1297) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.
[0192] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0193] According to one embodiment, commands or data may be transmitted or received between the electronic device (1201) and an external electronic device (1204) via a server (1208) connected to a second network (1299). Each of the external electronic devices (1202 or 1204) may be the same or a different type of device as the electronic device (1201). According to one embodiment, all or part of the operations executed in the electronic device (1201) may be executed in one or more of the external electronic devices (1202, 1204, or 1208). For example, when the electronic device (1201) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (1201) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (1201). The electronic device (1201) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (1201) may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (1204) may include an Internet of Things (IoT) device. The server (1208) may be an intelligent server utilizing machine learning and / or a neural network.According to one embodiment, an external electronic device (1204) or server (1208) may be included within the second network (1299). The electronic device (1201) may be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology and IoT-related technology.
[0194] FIG. 13 is a block diagram illustrating an integrated intelligence system according to one embodiment.
[0195] Referring to FIG. 13, an integrated intelligent system of one embodiment may include a user terminal (1301) (e.g., an electronic device (1201) of FIG. 12), an intelligent server (1400) (e.g., a server (1208) of FIG. 12), and a service server (1500) (e.g., a server (1208) of FIG. 12).
[0196] A user terminal (1301) of one embodiment (e.g., an electronic device (1201) of FIG. 12) may be a terminal device (or electronic device) that can connect to the Internet, and may be, for example, a mobile phone, a smart phone, a personal digital assistant (PDA), a laptop computer, a television, white goods, a wearable device, an HMD (head mounted device), or a smart speaker.
[0197] According to the illustrated embodiment, the user terminal (1301) may include a communication interface (1390), a microphone (1370), a speaker (1355), a display (1360), a memory (1330), and / or a processor (1320). The above-listed components may be operatively or electrically connected to each other.
[0198] A communication interface (1390) (e.g., a communication module (1290) of FIG. 12) may be configured to connect to an external device and transmit and receive data. A microphone (1370) (e.g., an audio module (1270) of FIG. 12) may receive sound (e.g., a user's speech) and convert it into an electrical signal. A speaker (1355) (e.g., an audio output module (1255) of FIG. 12) may output an electrical signal as sound (e.g., a voice). A display (1360) (e.g., a display module (1260) of FIG. 12) may be configured to display an image or a video. The display (1360) of one embodiment may also display a graphical user interface (GUI) of a running app (or application program). The display (1360) of one embodiment may receive a touch input via a touch sensor. For example, the display (1360) can receive text input via a touch sensor in an on-screen keyboard area displayed within the display (1360).
[0199] In one embodiment, the memory (1330) (e.g., the memory (1230) of FIG. 12) may store a client module (1331), a software development kit (SDK) (1333), and a plurality of applications. The client module (1331) and the SDK (1333) may constitute a framework (or solution program) for performing general-purpose functions. In addition, the client module (1331) or the SDK (1333) may constitute a framework for processing user input (e.g., voice input, text input, touch input).
[0200] The above-described multiple applications (e.g., 1335a, 1335b) may be programs for performing a specified function. According to one embodiment, the multiple applications may include a first app (1335a) and / or a second app (1335b). According to one embodiment, each of the multiple applications may include a plurality of operations for performing a specified function. For example, the applications may include an alarm app, a message app, and / or a schedule app. According to one embodiment, the multiple applications may be executed by the processor (1320) to sequentially execute at least some of the multiple operations.
[0201] The processor (1320) of one embodiment can control the overall operation of the user terminal (1301). For example, the processor (1320) can be electrically connected to a communication interface (1390), a microphone (1370), a speaker (1355), and a display (1360) to perform a designated operation. For example, the processor (1320) can include at least one processor.
[0202] The processor (1320) of one embodiment may also execute a program stored in the memory (1330) to perform a specified function. For example, the processor (1320) may execute at least one of the client module (1331) or the SDK (1333) to perform the following operations for processing user input. The processor (1320) may control the operations of multiple applications, for example, through the SDK (1333). The following operations described as operations of the client module (1331) or the SDK (1333) may be operations performed by the execution of the processor (1320).
[0203] The client module (1331) of one embodiment can receive user input. For example, the client module (1331) can receive a voice signal corresponding to a user utterance detected through a microphone (1370). Alternatively, the client module (1331) can receive a touch input detected through a display (1360). Alternatively, the client module (1331) can receive a text input detected through a keyboard or a visual keyboard. In addition, the client module (1331) can receive various forms of user input detected through an input module included in the user terminal (1301) or an input module connected to the user terminal (1301). The client module (1331) can transmit the received user input (e.g., a voice signal) to the intelligent server (1400). The client module (1331) can transmit status information of the user terminal (1301) to the intelligent server (1400) together with the received user input. The above status information may be, for example, the execution status information of the app.
[0204] The client module (1331) of one embodiment can receive a result corresponding to the received user input from the intelligent server (1400). For example, the client module (1331) can receive a result corresponding to the received user input if the intelligent server (1400) can produce a result corresponding to the received user input. The client module (1331) can display the received result on the display (1360). In addition, the client module (1331) can output the received result as audio through the speaker (1355).
[0205] In one embodiment, the client module (1331) can receive a plan corresponding to the received user input. The client module (1331) can display the results of executing multiple operations of the app according to the plan on the display (1360). For example, the client module (1331) can sequentially display the results of executing multiple operations on the display. The user terminal (1301) can, for example, display only some results of executing multiple operations (e.g., the result of the last operation) on the display and output the results as audio through the speaker (1355).
[0206] According to one embodiment, the client module (1331) may receive a request from the intelligent server (1400) to obtain information necessary to produce a result corresponding to a user input. According to one embodiment, the client module (1331) may transmit the necessary information to the intelligent server (1400) in response to the request.
[0207] The client module (1331) of one embodiment can transmit result information of executing multiple operations according to a plan to the intelligent server (1400). The intelligent server (1400) can use the result information to confirm that the received user input has been processed correctly.
[0208] The client module (1331) of one embodiment may include a voice recognition module. According to one embodiment, the client module (1331) may recognize voice inputs that perform limited functions through the voice recognition module. For example, the client module (1331) may execute an intelligent app for processing voice inputs by performing organic actions in response to a specified voice input (e.g., "Wake up!").
[0209] An intelligent server (1400) of one embodiment may receive information related to a user voice input from a user terminal (1301) via a network (1399) (e.g., the first network (1298) and / or the second network (1299) of FIG. 12). According to one embodiment, the intelligent server (1400) may change data related to the received voice input into text data. According to one embodiment, the intelligent server (1400) may generate at least one plan for performing a task corresponding to the user voice input based on the text data.
[0210] In one embodiment, the plan may be generated by an artificial intelligence (AI) system. The AI system may be a rule-based system, a neural network-based system (e.g., a feedforward neural network (FNN) and / or a recurrent neural network (RNN)), or a combination of the above or another AI system. In one embodiment, the plan may be selected from a set of predefined plans or may be generated in real time in response to a user request. For example, the AI system may select at least one plan from a plurality of predefined plans.
[0211] An intelligent server (1400) of one embodiment may transmit results according to a generated plan to a user terminal (1301), or transmit the generated plan to the user terminal (1301). According to one embodiment, the user terminal (1301) may display results according to the plan on a display (1360). According to one embodiment, the user terminal (1301) may display results of executing an operation according to the plan on a display (1360).
[0212] An intelligent server (1400) of one embodiment may include a front end (1410), a natural language platform (1420), a capsule database (1430), an execution engine (1440), an end user interface (1450), a management platform (1460), a big data platform (1470), or an analytic platform (1480).
[0213] The front end (1410) of one embodiment can receive user input from the user terminal (1301). The front end (1410) can transmit a response corresponding to the user input to the user terminal (1301).
[0214] According to one embodiment, the natural language platform (1420) may include an automatic speech recognition module (ASR module) (1421), a natural language understanding module (NLU module) (1423), a planner module (1425), a natural language generator module (NLG module) (1427), and / or a text to speech module (TTS module) (1429).
[0215] An automatic speech recognition module (1421) of one embodiment can convert voice input received from a user terminal (1301) into text data. A natural language understanding module (1423) of one embodiment can use text data of the voice input to determine a user's intent. For example, the natural language understanding module (1423) can perform syntactic analysis and / or semantic analysis on user input in the form of text data to determine a user's intent. The natural language understanding module (1423) of one embodiment can use linguistic features (e.g., grammatical elements) of morphemes or phrases to determine the meaning of words extracted from user input, and can match the meaning of the determined words to the intent to determine the user's intent. The natural language understanding module (1423) can obtain intent information corresponding to a user's utterance. The intent information may be information indicating the user's intent determined by interpreting text data. The intent information may include information indicating an action or function that the user intends to execute using the device.
[0216] The planner module (1425) of one embodiment can generate a plan using the intent and parameters determined by the natural language understanding module (1423). According to one embodiment, the planner module (1425) can determine a plurality of domains necessary to perform a task based on the determined intent. The planner module (1425) can determine a plurality of operations included in each of the plurality of domains determined based on the intent. According to one embodiment, the planner module (1425) can determine parameters necessary to execute the determined plurality of operations or result values output by the execution of the plurality of operations. The parameters and the result values can be defined as concepts of a specified format (or class). Accordingly, the plan can include a plurality of operations and / or a plurality of concepts determined by the user's intent. The planner module (1425) can determine the relationships between the plurality of operations and the plurality of concepts in a stepwise (or hierarchical) manner. For example, the planner module (1425) can determine the execution order of a plurality of actions based on the user's intention based on a plurality of concepts. In other words, the planner module (1425) can determine the execution order of a plurality of actions based on parameters required for the execution of the plurality of actions and results output by the execution of the plurality of actions. Accordingly, the planner module (1425) can generate a plan including association information (e.g., ontology) between the plurality of actions and the plurality of concepts. The planner module (1425) can generate the plan using information stored in a capsule database (1430) in which a set of relationships between concepts and actions is stored.
[0217] The natural language generation module (1427) of one embodiment can convert specified information into text format. The information converted into text format may be in the form of natural language speech. The text-to-speech conversion module (1429) of one embodiment can convert information in text format into information in speech format.
[0218] According to one embodiment, some or all of the functions of the natural language platform (1420) may also be implemented in the user terminal (1301). For example, the user terminal (1301) may include an automatic speech recognition module and / or a natural language understanding module. After the user terminal (1301) recognizes a user voice command, it may transmit text information corresponding to the recognized voice command to the intelligent server (1400). For example, the user terminal (1301) may include a text-to-speech conversion module. The user terminal (1301) may receive text information from the intelligent server (1400) and output the received text information as voice.
[0219] The capsule database (1430) may store information on the relationships between multiple concepts and actions corresponding to multiple domains. According to one embodiment, a capsule may include multiple action objects (or action information) and / or concept objects (or concept information) included in a plan. According to one embodiment, the capsule database (1430) may store multiple capsules in the form of a concept action network (CAN). According to one embodiment, the multiple capsules may be stored in a function registry included in the capsule database (1430).
[0220] The capsule database (1430) may include a strategy registry that stores strategy information required when determining a plan corresponding to a voice input. The strategy information may include reference information for determining a single plan when there are multiple plans corresponding to a user input. According to one embodiment, the capsule database (1430) may include a follow-up registry that stores information on follow-up actions for suggesting follow-up actions to a user in a given situation. The follow-up actions may include, for example, follow-up utterances. According to one embodiment, the capsule database (1430) may include a layout registry that stores layout information of information output through the user terminal (1301). According to one embodiment, the capsule database (1430) may include a vocabulary registry that stores vocabulary information included in capsule information. According to one embodiment, the capsule database (1430) may include a dialog registry that stores information on dialogue (or interaction) with the user. The capsule database (1430) may update stored objects through a developer tool. The developer tool may include, for example, a function editor for updating action objects or concept objects. The developer tool may include a vocabulary editor for updating vocabulary. The developer tool may include a strategy editor for creating and registering strategies that determine plans.The developer tool may include a dialog editor that creates a dialogue with the user. The developer tool may also include a follow-up editor that activates follow-up goals and allows editing of follow-up utterances that provide hints. The follow-up goals may be determined based on the currently set goals, user preferences, or environmental conditions. In one embodiment, the capsule database (1430) may also be implemented within the user terminal (1301).
[0221] The execution engine (1440) of one embodiment can produce a result using the generated plan. The end user interface (1450) can transmit the produced result to the user terminal (1301). Accordingly, the user terminal (1301) can receive the result and provide the received result to the user. The management platform (1460) of one embodiment can manage information used in the intelligent server (1400). The big data platform (1470) of one embodiment can collect user data. The analysis platform (1480) of one embodiment can manage the quality of service (QoS) of the intelligent server (1400). For example, the analysis platform (1480) can manage the components and processing speed (or efficiency) of the intelligent server (1400).
[0222] In one embodiment, a service server (1500) may provide a designated service (e.g., food ordering or hotel reservation) to a user terminal (1301). According to one embodiment, the service server (1500) may be a server operated by a third party. In one embodiment, the service server (1500) may provide information for generating a plan corresponding to received user input to an intelligent server (1400). The provided information may be stored in a capsule database (1430). In addition, the service server (1500) may provide result information according to the plan to the intelligent server (1400). The service server (1500) may communicate with the intelligent server (1400) and / or the user terminal (1301) via a network (1399). The service server (1500) may communicate with the intelligent server (1400) via a separate connection. Although the service server (1500) is depicted as a single server in FIG. 13, the embodiments of this document are not limited thereto. At least one of the services (1501, 1502, and 1503) of the service server (1500) may be implemented as a separate server.
[0223] In the integrated intelligence system described above, the user terminal (1301) can provide various intelligent services to the user in response to user input. The user input may include, for example, input via a physical button, touch input, or voice input.
[0224] In one embodiment, the user terminal (1301) may provide a voice recognition service through an intelligent app (or voice recognition app) stored internally. In this case, for example, the user terminal (1301) may recognize a user utterance or voice input received through the microphone (1370) and provide the user with a service corresponding to the recognized voice input.
[0225] In one embodiment, the user terminal (1301) may perform a designated action based on the received voice input, either alone or together with the intelligent server (1400) and / or the service server (1500). For example, the user terminal (1301) may execute an app corresponding to the received voice input and perform a designated action through the executed app.
[0226] In one embodiment, when a user terminal (1301) provides a service together with an intelligent server (1400) and / or a service server (1500), the user terminal (1301) can detect a user's speech using the microphone (1370) and generate a signal (or voice data) corresponding to the detected user speech. The user terminal (1301) can transmit the voice data to the intelligent server (1400) using a communication interface (1390).
[0227] According to one embodiment, an intelligent server (1400) may generate a plan for performing a task corresponding to a voice input received from a user terminal (1301), or a result of performing an operation according to the plan, in response to the voice input. The plan may include, for example, a plurality of operations for performing a task corresponding to the user's voice input and / or a plurality of concepts related to the plurality of operations. The concept may define parameters input to the execution of the plurality of operations or result values output by the execution of the plurality of operations. The plan may include association information between the plurality of operations and / or the plurality of concepts.
[0228] In one embodiment, the user terminal (1301) can receive the response using the communication interface (1390). The user terminal (1301) can output a voice signal generated within the user terminal (1301) to the outside using the speaker (1355), or can output an image generated within the user terminal (1301) to the outside using the display (1360).
[0229] FIG. 14 is a diagram showing a form in which relationship information between concepts and actions is stored in a database according to one embodiment.
[0230] The capsule database (e.g., the capsule database (1430) of FIG. 13) of the intelligent server (1400) (e.g., the intelligent server (1400) of FIG. 13) may store capsules in the form of a CAN (concept action network). The capsule database may store operations for processing tasks corresponding to a user's voice input and parameters necessary for the operations in the form of a CAN (concept action network).
[0231] The capsule database may store a plurality of capsules (e.g., Capsule A (1431), Capsule B (1434)) corresponding to each of a plurality of domains (e.g., applications). According to one embodiment, one capsule (e.g., Capsule A (1431)) may correspond to one domain (e.g., location (geo), application). In addition, one capsule may correspond to at least one service provider's capsule (e.g., CP 1 (1432), CP 2 (1433), CP3 (1435), and / or CP4 (1436)) for performing a function for a domain related to the capsule. According to one embodiment, one capsule may include at least one operation (1430a) and at least one concept (1430b) for performing a specified function.
[0232] The above natural language platform (e.g., the natural language platform (1420) of FIG. 13) can generate a plan for performing a task corresponding to a received voice input using capsules stored in a capsule database (1430). For example, the planner module of the natural language platform (e.g., the planner module (1425) of FIG. 13) can generate a plan using capsules stored in the capsule database. For example, a plan (1437) can be generated using actions (1431a, 1432a) and concepts (1431b, 1432b) of capsule A (1431) and actions (1434a) and concepts (1434b) of capsule B (1434).
[0233] FIG. 15 is a diagram showing a screen in which a user terminal processes voice input received through an intelligent app according to one embodiment.
[0234] The user terminal (1301) can execute an intelligent app to process user input through an intelligent server (e.g., the intelligent server (1400) of FIG. 13).
[0235] According to one embodiment, in the first screen (1310), when the user terminal (1301) recognizes a designated voice input (e.g., wake up!) or receives an input via a hardware key (e.g., a dedicated hardware key), the user terminal (1301) may execute an intelligent app for processing the voice input. For example, the user terminal (1301) may execute the intelligent app while the schedule app is running. According to one embodiment, the user terminal (1301) may display an object (e.g., an icon) (1511) corresponding to the intelligent app on the display (1360). According to one embodiment, the user terminal (1301) may receive a voice input by a user's speech. For example, the user terminal (1301) may receive a voice input such as "Tell me my schedule for this week!" According to one embodiment, the user terminal (1301) can display a user interface (UI) (1313) (e.g., an input window) of an intelligent app on which text data of a received voice input is displayed.
[0236] According to one embodiment, in the second screen (1315), the user terminal (1301) may display a result corresponding to the received voice input on the display. For example, the user terminal (1301) may receive a plan corresponding to the received user input and display "This Week's Schedule" on the display according to the plan.
[0237] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0238] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0239] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0240] Various embodiments of the present document may be implemented as software (e.g., a program (1240)) including one or more instructions stored in a storage medium (e.g., an internal memory (1236) or an external memory (1238)) readable by a machine (e.g., an electronic device (1201)). For example, a processor (e.g., a processor (1220)) of the machine (e.g., an electronic device (1201)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0241] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. The computer program product may be traded as a commodity between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0242] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and arranged in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims
1. In an electronic device (10), Wireless communication circuit (190); At least one processor (120) electrically connected to the wireless communication circuit; and A memory (130) for storing instructions, wherein the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: Establishing a first link with an audio device (15) using the above wireless communication circuit, Receives a voice command from the above audio device, Identify the domain or task corresponding to the above voice command, Identifying the capability of said electronic device for said domain or said task, Based on the availability of said electronic device being identified as negative, at least one external device (200) is discovered using said wireless communication circuit, Acquire the availability of the first external device for the domain or the task from the first external device (20) among the at least one external device, An electronic device to control the audio device to connect with the first external device based on the availability of the first external device for the domain or the task being identified as positive.
2. In paragraph 1, An electronic device, wherein the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to identify availability of the electronic device based on at least one of network connectivity of the electronic device, an application associated with the task, or context information of the electronic device.
3. In paragraph 2, further comprising at least one sensor circuit (170), The above instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: Obtaining context information of the electronic device by using at least one sensor circuit, An electronic device that negatively identifies the availability of the electronic device when said context information indicates a shielding situation of the electronic device.
4. In paragraph 1, The above instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: Based on the identification that the availability of the electronic device is negative, a plurality of external devices (200) including the first external device are discovered using the wireless communication circuit, Obtaining availability information for the above tasks of the above multiple external devices, An electronic device that selects the first external device based on availability information of the plurality of external devices.
5. In paragraph 4, The above instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: Identifying the priorities of the plurality of external devices based on the availability information of the plurality of external devices, An electronic device that selects the first external device having the highest priority among the plurality of external devices.
6. In paragraph 5, An electronic device wherein said priority is based on at least one of a relative distance or shielding of each of said plurality of external devices to said electronic device.
7. In any one of paragraphs 1 to 6, The above voice command indicates the playback of media, An electronic device, wherein the first external device is a device that stores the media.
8. In any one of paragraphs 1 to 6, The above instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: Based on the availability of said first external device being identified as positive, said first link with said audio device is released, An electronic device, which receives a signal from the first external device, after the first link is released, indicating establishment of a second link between the first external device and the audio device.
9. In paragraph 8, The above instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: An electronic device that releases the first link by transmitting a signal instructing the release of the first link, and causes the audio device to perform a scan for connection with the first external device.
10. In any one of paragraphs 1 to 6, The above instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: An electronic device that transmits information of the first link to the first external device based on the availability of the first external device being identified as positive, thereby allowing the audio device and the first external device to communicate using the first link.
11. A method for controlling connection of an electronic device, An action to establish a first link with an audio device; An action to receive a voice command from a wireless audio device; An action for identifying a domain or task corresponding to the above voice command; An action to identify the capability of said electronic device for said domain or said task; An operation of discovering at least one external device (200) based on the availability of said electronic device being identified as negative; An operation of acquiring availability of the first external device for the domain or the task from a first external device (20) among the at least one external device; and A method comprising: controlling the audio device to connect the wireless audio device to the first external device based on the availability of the domain or the task of the first external device being identified as positive.
12. In paragraph 11, A method wherein the act of identifying the availability of the electronic device comprises an act of identifying the availability of the electronic device based on at least one of network connectivity of the electronic device, an application associated with the task, or context information of the electronic device.
13. In paragraph 12, The action of identifying the availability of said electronic device comprises: An operation of obtaining context information of the electronic device by using at least one sensor circuit of the electronic device; and A method comprising: identifying the availability of the electronic device as negative if the context information indicates a shielding situation of the electronic device.
14. In paragraph 11, An operation of discovering a plurality of external devices including the first external device based on the availability of the electronic device being identified as negative; An operation of obtaining availability information for the task or the domain of the plurality of external devices; and A method further comprising an action of selecting the first external device based on availability information of the plurality of external devices.
15. In paragraph 14, The action of selecting the first external electronic device is: An operation of identifying priorities of the plurality of external devices based on availability information of the plurality of external devices; and A method comprising the action of selecting the first external device having the highest priority among the plurality of external devices.
Citation Information
Patent Citations
Focus Session at a Voice Interface Device
US20210005202A1
Equipment connection method and device, computer readable medium and electronic equipment
CN113556715A
A Bluetooth connection method and electronic device
CN115087134B
Hinge Device for Display Panel with Round Holding Bar
KR1020230019908A
Semiconductor package
KR1020240134648A