Method for controlling external electronic device and electronic device for supporting the method
By generating a descriptive name based on location relationships, the problem that users find it difficult to uniquely identify and control in multiple electronic device environments is solved, and the convenience and intuitiveness of speech recognition are improved.
Patent Information
- Application Number
- CN202080010734.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-01-23
- Filing Date
- 2020-01-23
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2040-01-23
AI Technical Summary
In an environment where multiple electronic devices of the same type or function exist, it is difficult for users to uniquely identify and control specific electronic devices by preset names, and it is inconvenient for users to remember multiple names.
By analyzing the type and positional relationship of the electronic device, a descriptive name based on the positional relationship is generated so that the user can intuitively indicate the electronic device through voice commands.
The convenience of using the voice recognition scheme is improved, and users can control external electronic devices more intuitively, reducing the burden of name memory.
Smart Images

Figure CN113366566B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a method of controlling an external electronic device and an electronic device for supporting the method. Background Art
[0002] An electronic device with a voice recognition scheme can execute a function in response to a user's voice input. For example, the electronic device can perform voice recognition on a voice input received through a microphone, and when a predetermined instruction is included in the result of the voice recognition, execute a function corresponding to the corresponding instruction.
[0003] For an electronic device that executes a function in response to a user's voice input, the user can use the name referring to the corresponding electronic device as an identifier that can be distinguished from another electronic device. For example, when the user speaks the name of the electronic device whose function is controlled, the electronic device using the corresponding name can be activated to execute the function.
[0004] In a system where a plurality of Internet of Things (IoT) devices are connected via a wired / wireless network, each of the IoT devices may use a name that refers to the corresponding IoT device to be distinguished from each other. Therefore, when a user speaks the name of an IoT device whose function is controlled, an IoT hub device including a microphone and used to connect and control the IoT devices may perform voice recognition in response to the user's voice input and control the IoT devices using the corresponding name to perform the function, or an IoT device including a microphone and using the corresponding name may directly perform voice recognition in response to the user's voice input and perform a predetermined function.
[0005] Generally, when releasing an electronic device, the manufacturer of the electronic device may configure the name of the electronic device in consideration of the type or function of the electronic device. In addition, a user who has purchased the electronic device may change the preset name of the electronic device to a user desired name according to user convenience.
[0006] In an environment where a plurality of electronic devices of the same type or performing the same function exist in a specific space or a plurality of electronic devices of the same type or performing the same function are linked to each other in a specific space, when the names of the electronic devices configured by the manufacturer are used without any change, the manufacturer configures the names of the electronic devices in consideration of the types or functions of the electronic devices so that the names of the electronic devices may be identical to each other. Therefore, although the user says the name of the electronic device, since the number of electronic devices using the corresponding name is plural, it may be difficult to perform its function. In addition, if the user changes the name of the electronic device, the user is inconvenienced by having to remember the names of all the electronic devices.
[0007] Conventionally, even if an electronic device has a function related to direction or position, the corresponding function is limited to specifying an absolute direction (e.g., up, down, left, and right) based on the position of the electronic device or the absolute position of fixed information indicating an area (or space). That is, it may be difficult to perform the function of the electronic device in combination with a relative direction based on a neighboring object or a relative position to a neighboring object.
[0008] The above information is presented as background information only to assist in understanding the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with respect to the present disclosure. Summary of the invention
[0009] Solution to the problem
[0010] An embodiment of the present disclosure may provide a method of confirming an external electronic device to be controlled through a name configured based on a positional relationship with a neighboring object and controlling the confirmed external electronic device, and an electronic device for supporting the method.
[0011] Example embodiments of the present disclosure may also provide a method of controlling an external electronic device to perform a function related to at least one of a direction or a position based on a position relationship with a neighboring object, and an electronic device for supporting the method.
[0012] According to an exemplary aspect of the present disclosure, an electronic device is provided. The electronic device includes: a communication circuit configured to communicate with an external electronic device; a processor operably connected to the communication circuit; and a memory operably connected to the processor, wherein the memory stores instructions, wherein the instructions, when executed, cause the processor to control the electronic device to perform the following operations: obtain first information about the types of multiple objects set in a first space and second information about the positions of the multiple objects in a first direction with respect to the first space, select a target object to be named from the multiple objects, generate at least one first name of the target object based on the information about the type of the target object in the first information, generate at least one second name of the at least one corresponding object based on the information about the type of at least one corresponding object set around the target object in the first information, determine the relative position relationship between the target object and the at least one corresponding object based on the second information, and generate at least one third name of the target object based on the at least one first name, the at least one second name, and the relative position relationship between the target object and the at least one corresponding object.
[0013] According to another exemplary aspect of the present disclosure, an electronic device is provided. The electronic device includes: a camera; a communication circuit; a processor operably connected to the camera and the communication circuit; and a memory operably connected to the processor, wherein the memory stores instructions, wherein the instructions, when executed, cause the processor to control the electronic device to perform the following operations: acquiring a first image related to a first space where at least one external electronic device is set through the camera or the communication circuit, acquiring first information related to the type of the at least one external electronic device set in the first space and second information related to the position of the at least one external electronic device in a first direction with respect to the first space by analyzing the first image, generating a name of the at least one external electronic device based on the first information, determining a positional relationship between the electronic device and the at least one external electronic device based on the second information, and generating a name of the at least one external electronic device based on at least some of the first information and the second information.
[0014] According to another exemplary aspect of the present disclosure, a method for controlling an external electronic device by an electronic device is provided. The method includes: acquiring a voice instruction through a microphone; performing voice recognition on the voice instruction; confirming the external electronic device to be controlled based on an expression related to the name included in the result of the voice recognition; determining the direction or position of the function for the external electronic device based on an expression related to the function included in the result of the voice recognition; and sending a signal related to the function of the external electronic device and the direction or the position of the function for the external electronic device to the external electronic device through a communication circuit.
[0015] According to various exemplary embodiments of the present disclosure, a user may intuitively indicate an electronic device based on a positional relationship between the electronic device to be controlled and a neighboring object, thereby increasing the convenience of using a voice recognition scheme.
[0016] According to various embodiments of the present disclosure, a user may intuitively indicate a control function related to at least one of a direction or a position based on a positional relationship with a neighboring object, thereby increasing the convenience of using a voice recognition process.
[0017] Furthermore, various effects detected directly or indirectly through the present disclosure can be provided. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent from the following detailed description in conjunction with the accompanying drawings, in which:
[0019] Figure 1 is a block diagram illustrating an example electronic device in a network environment according to various embodiments;
[0020] Figure 2 is a block diagram illustrating an example control module of an electronic device according to various embodiments;
[0021] Figure 3 is a diagram illustrating an example environment in which a plurality of electronic devices exist in a specific space or are linked to each other to operate according to various embodiments;
[0022] Figure 4A is a diagram illustrating an example first environment in which an electronic device as a target to be named is separated from an electronic device for controlling a function and generating a name according to various embodiments of the present disclosure;
[0023] Figure 4B is a diagram illustrating an example second environment in which an electronic device as a target to be named is separated from an electronic device for controlling a function and generating a name according to various embodiments of the present disclosure;
[0024] Figure 4C is a diagram illustrating an example third environment in which an electronic device as a target to be named directly generates a name and performs a function according to various embodiments of the present disclosure;
[0025] Figure 4D is a diagram illustrating an example fourth environment in which an electronic device as a target to be named directly generates a name and performs a function according to various embodiments of the present disclosure;
[0026] Figure 4E is a diagram illustrating an example fifth environment in which an electronic device as a target to be named, an electronic device for generating a name, and an electronic device for controlling a function are separated from each other according to various embodiments of the present disclosure;
[0027] Figure 4F is a diagram illustrating an example sixth environment in which an electronic device as a target to be named and an electronic device for controlling a function are separated from each other according to various embodiments of the present disclosure;
[0028] Figure 5 is a diagram illustrating an example object recognition method according to various embodiments of the present disclosure;
[0029] Figure 6 is a diagram illustrating example information about the type, position, and space of an object according to various embodiments of the present disclosure;
[0030] Figure 7 is a diagram illustrating example information about a positional relationship between objects according to various embodiments of the present disclosure;
[0031] Fig. 8Ais a diagram illustrating an example positional relationship between objects when a recognition direction of an object and a gaze direction of a user are identical to each other according to various embodiments of the present disclosure;
[0032] Figure 8B is a diagram illustrating an example positional relationship between objects when a recognition direction of the object and a gaze direction of a user are different from each other according to various embodiments of the present disclosure;
[0033] Figure 8C is a diagram illustrating an example positional relationship between objects when a recognition direction of the object and a gaze direction of a user are orthogonal to each other according to various embodiments of the present disclosure;
[0034] Fig. 9 is a flowchart illustrating an example naming method in an environment where an electronic device as a target to be named is separated from an electronic device for generating a name according to various embodiments of the present disclosure;
[0035] Fig.10 is a flowchart illustrating an example naming method in an environment where an electronic device to be named directly generates a name according to various embodiments of the present disclosure;
[0036] Fig.11 is a diagram illustrating an example voice recognition function for a user's voice input according to various embodiments of the present disclosure;
[0037] Fig.12 is a diagram illustrating an example function of identifying an electronic device by a name of the electronic device according to various embodiments of the present disclosure;
[0038] Fig.13 is a diagram illustrating an example screen describing an object recognition method according to various embodiments of the present disclosure;
[0039] Fig.14 is a diagram illustrating example screens for describing a method of selecting a target to be named or controlled according to various embodiments of the present disclosure;
[0040] Fig.15 is a diagram illustrating example screens describing a method of configuring spatial information of an object according to various embodiments of the present disclosure;
[0041] Fig.16 is a flowchart illustrating an example method of controlling an external electronic device according to various embodiments of the present disclosure;
[0042] Fig.17A is a diagram illustrating an example method of speaking a voice command for controlling a device based on a positional relationship between objects according to various embodiments of the present disclosure; and
[0043] Fig. 17Bis a diagram illustrating an example process for processing a voice instruction according to various embodiments of the present disclosure.
[0044] In conjunction with the description of the drawings, the same or similar reference numerals may be used for the same or similar elements. DETAILED DESCRIPTION
[0045] Hereinafter, various exemplary embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. For the convenience of description, the elements shown in the accompanying drawings may be exaggerated or reduced, and the present disclosure is not limited by the accompanying drawings.
[0046] Figure 1 1 is a block diagram illustrating an electronic device 101 in a network environment 100 according to various embodiments. Figure 1 , the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a user identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one of the components (e.g., the display device 160 or the camera module 180) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In some embodiments, some of the components may be implemented as a single integrated circuit.For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illumination sensor) may be implemented to be embedded in the display device 160 (eg, a display).
[0047] The processor 120 may run, for example, software (e.g., program 140) to control at least one other component (e.g., hardware component or software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. According to an example embodiment, as at least part of the data processing or calculation, the processor 120 may load a command or data received from another component (e.g., sensor module 176 or communication module 190) into the volatile memory 132, process the command or data stored in the volatile memory 132, and store the resultant data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is independent of or combined with the main processor 121 in operation. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or adapted to be specifically used for a specified function. The auxiliary processor 123 may be implemented separately from the main processor 121 , or as part of the main processor 121 .
[0048] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 (rather than the main processor 121) may control at least some of the functions or states related to at least one component (e.g., the display device 160, the sensor module 176, or the communication module 190) among the components of the electronic device 1011, or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control at least some of the functions or states related to at least one component (e.g., the display device 160, the sensor module 176, or the communication module 190) together with the main processor 121. According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera module 180 or the communication module 190) that is functionally related to the auxiliary processor 123.
[0049] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a nonvolatile memory 134.
[0050] The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or applications 146 .
[0051] The input device 150 may receive commands or data from outside the electronic device 101 (eg, a user) to be used by other components of the electronic device 101 (eg, the processor 120). The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus).
[0052] The sound output device 155 can output a sound signal to the outside of the electronic device 101. The sound output device 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as playing multimedia or playing records, and the receiver can be used for incoming calls. Depending on the embodiment, the receiver can be implemented as a separate part from the speaker, or as a part of the speaker.
[0053] The display device 160 may visually provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. According to an embodiment, the display device 160 may include a touch circuit adapted to detect a touch or a sensor circuit (e.g., a pressure sensor) adapted to measure the strength of a force caused by a touch.
[0054] The audio module 170 may convert sound into an electrical signal, or vice versa. According to an embodiment, the audio module 170 may obtain sound via the input device 150, or output sound via the sound output device 155 or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.
[0055] The sensor module 176 may detect an operating state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a state of a user) outside the electronic device 101, and then generate an electrical signal or a data value corresponding to the detected state. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.
[0056] The interface 177 may support one or more specific protocols to be used to directly (e.g., wired) or wirelessly combine the electronic device 101 with an external electronic device (e.g., the electronic device 102). According to an embodiment, the interface 177 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0057] The connection end 178 may include a connector, wherein the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. According to an embodiment, the connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0058] The haptic module 179 may convert the electric signal into mechanical stimulation (eg, vibration or motion) or electric stimulation that can be recognized by the user via his sense of touch or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electric stimulator.
[0059] The camera module 180 may capture still images or moving images. According to an embodiment, the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
[0060] The power management module 188 may manage power supply to the electronic device 101. According to example embodiments, the power management module 188 may be implemented as, for example, at least a portion of a power management integrated circuit (PMIC).
[0061] The battery 189 may power at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0062] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)) and supporting direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 190 may include a wireless communication module 192 (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 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate via a first network 198 (e.g., a short-range communication network such as Bluetooth TMThe wireless communication module 192 may communicate with an external electronic device via a wireless communication network (e.g., a wireless fidelity (Wi-Fi) direct connection, or an infrared data association (IrDA)) or a second network 199 (e.g., a long-distance communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 192 may identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an international mobile subscriber identity (IMSI)) stored in the user identification module 196.
[0063] The antenna module 197 may transmit or receive a signal or power to or from the outside of the electronic device 101 (e.g., an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiation element formed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a PCB). According to an embodiment, the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). A signal or power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiation element may be additionally formed as a part of the antenna module 197.
[0064] At least some of the above components may be coupled to each other via an inter-peripheral communication scheme (e.g., a bus, a general purpose input output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.
[0065] According to an embodiment, a command or data may be sent or received between the electronic device 101 and the external electronic device 104 via the server 108 combined with the second network 199. Each of the electronic device 102 and the electronic device 104 may be a device of the same type as the electronic device 101, or a device of a different type from the electronic device 101. According to an embodiment, all or some operations to be executed in the electronic device 101 may be executed in one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 should automatically execute a function or service or should execute a function or service in response to a request from a user or another device, the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service instead of executing the function or service, or the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service in addition to executing the function or service. The one or more external electronic devices that receive the request may execute the requested at least part of the function or service, or execute another function or another service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least a partial reply to the request with or without further processing the result. To this end, for example, cloud computing technology, distributed computing technology, or client-server computing technology may be used.
[0066] Figure 2 is a block diagram illustrating an example control module of an electronic device according to various embodiments of the present disclosure. Figure 2 The control module 200 may be implemented as Figure 1 The hardware elements or software elements of the electronic device 101 shown. For example, the control module 200 can be implemented in the form of a program 140 stored in the memory 130 of the electronic device 101. For example, the control module 200 can be implemented by instructions stored in the memory 130, and the instructions can cause the processor 120 to perform a function corresponding to the instructions when executed.
[0067] Reference Figure 2 The control module 200 may include an object recognition unit (e.g., including a processing circuit and / or an executable program element) 210, a spatial information acquisition unit (e.g., including a processing circuit and / or an executable program element) 230, a position relationship determination unit (e.g., including a processing circuit and / or an executable program element) 250, a name generation unit (e.g., including a processing circuit and / or an executable program element) 270 and an instruction processing unit (e.g., including a processing circuit and / or an executable program element) 290.
[0068] The object recognition unit 210 may include various processing circuits and / or executable program elements, and recognize objects in a specific space. For example, the object recognition unit 210 may determine the type of object in the specific space and the position of the object in the specific space. The object recognition unit 210 may recognize the object by an image recognition method, a radio wave / sound wave recognition method, or a recognition method by an IoT system. The object may include an electronic device or furniture, and the shape or function of the object may be detected by image analysis, but the present disclosure is not limited thereto.
[0069] The image recognition method may include a method of recognizing an object within an image using an algorithm based on deep learning. When recognizing an object by the image recognition method, the object recognition unit 210 may acquire an image obtained by capturing a specific space from the camera module 180 within the electronic device 101, or acquire an image obtained by capturing a specific space from an external electronic device (e.g., the electronic device 102, the electronic device 104, or the server 108) connected to the electronic device 101 through the communication module 190. In addition, when acquiring an image, the object recognition unit 210 may recognize an object included in the image by, for example, but not limited to, a regional convolutional neural network (R-CNN) algorithm, a fast R-CNN algorithm, a you only look once (YOLO) algorithm, etc., which are multi-object detection techniques. The object recognition unit 210 may acquire device information of an object recognized using a technology such as Bluetooth or Wi-Fi Direct, map the acquired device information to information about the type and location of the object, and store the mapping information in the memory 130.
[0070] The radio wave / sound wave recognition method may include radiating radio waves or sound waves to a specific space, receiving and analyzing signals reflected from an object in the specific space, and a method for recognizing an object. For example, the object recognition unit 210 may determine the shape and position of an object in a specific space by comparing the direction or intensity of the radiated radio waves or sound waves with the direction and intensity of the received signal. In addition, the object recognition unit 210 may determine the type of the object by comparing the shape of the object with information about the shapes of various objects pre-stored in the memory 130.
[0071] The identification method by the IoT system may include a method of receiving the type and location of an IoT device (object) connected to the IoT hub device and arranged in a specific space from the IoT hub device. In the IoT system, the IoT hub device is used to connect and control the IoT device, and when the IoT device is initially connected to the IoT hub device (when the IoT device is registered in the IoT hub device), information about the type and location of the IoT device may be stored. Therefore, when the object in the specific space is an IoT device, the object identification unit 210 may obtain information about the type and location of the IoT device from the IoT hub device (or server).
[0072] According to an embodiment, when the IoT system is a smart home system, the object recognition unit 210 may detect changes in the ceiling, bottom, and walls of a specific space (eg, inside a home) through sensors included in the smart home system, and determine the type and location of an object within the specific space.
[0073] The space information acquisition unit 230 may include various processing circuits and / or executable program elements, and acquires space information of a specific space where the object recognized by the object recognition unit 210 is set. The space information may include structure information determined based on the shape and position of structures (e.g., ceiling, bottom, and wall) included in the specific space, arrangement information including the type and position of the object set in the specific space, and a space name (e.g., living room, bathroom, kitchen, or bedroom) referring to the specific space.
[0074] The structural information and arrangement information of the spatial information may be acquired during a process in which the object recognition unit 210 recognizes an object. For example, the structural information and arrangement information of a specific space may be acquired during a process in which the object recognition unit 210 acquires and analyzes an image of the specific space.
[0075] In the spatial information, a spatial name referring to a specific space may be obtained by comparing with spatial information of a plurality of pre-stored spaces, or may be obtained by user input. For example, the spatial information acquisition unit 230 may obtain similarity by comparing the structural information and layout information of the specific space with the structural information and layout information of the spatial information pre-stored in the memory 130. When there is spatial information (structural information and layout information) having a similarity greater than or equal to a threshold, the name of the specific space may be configured to be the same as the name of the corresponding spatial information. In another example, the spatial information acquisition unit 230 may acquire the name of the space based on user input received through an input device 150 included in the electronic device 101 or an input device of an external electronic device (e.g., electronic device 102, electronic device 104, or server 108) connected to the electronic device 101. For example, the name of the specific space may be configured as a name selected by the user.
[0076] The positional relationship determination unit 250 may include various processing circuits and / or executable program elements, and determine the positional relationship between objects within a specific space. The positional relationship determination unit 250 may determine the positional relationship between objects based on information about the position of the object acquired during the object recognition process of the object recognition unit 210. For example, the positional relationship determination unit 250 may determine the positional relationship between objects through a relationship reasoning network algorithm, wherein the relationship reasoning network algorithm may include a deep learning technology for extracting the relationship between objects in an image obtained by capturing a specific space. Information about the position of the object (e.g., coordinate values) may be used as learning data for determining the positional relationship between objects. In addition, the positional relationship determination unit 250 may store information about the positional relationship between objects in the memory 130.
[0077] According to an embodiment, in order to more accurately detect the position of the object, the position relationship determination unit 250 may use depth information of the object within a specific space. The depth information of the object may be additionally acquired through a depth camera.
[0078] The name generation unit 270 may include various processing circuits and / or executable program elements, and generates a name of the object based on information about the type of the object acquired during the object recognition process of the object recognition unit 210. The name generated based on the type of the object may correspond to a default name that generally refers to the object. For example, when the type of the object is a lamp, the name generation unit 270 may generate the name of the object as "lamp", "lamp", "light" or "illumination". According to various example embodiments, the name generation unit 270 may map all names that may be generated based on the type of the object and store them in the memory 130. For example, when the type of the object is a lamp, the name generation unit 270 may map "lamp", "lamp", "light" and "illumination" that may be generated as the name of the object to each other and store them in the memory 130. Therefore, when the user says any one of "lamp", "lamp", "light" or "illumination", the electronic device 101 may select the object of the type of lamp as the target object.
[0079] The name generation unit 270 may generate a name of an object based on information about the positional relationship between the objects determined by the positional relationship determination unit 250. When a target object as a target to be named is selected, the name generation unit 270 may generate a descriptive name of the target object based on the positional relationship between the target object and the corresponding object set around the target object. For example, the name generation unit 270 may generate a descriptive name (third name) of the target object based on the positional relationship with the corresponding object, wherein the positional relationship is based on the following items: a default name (first name) of the target object generated based on the type of the target object, a default name (second name) of the corresponding object generated based on the type of the corresponding object, and a positional relationship between the target object and the corresponding object. For example, the name generation unit 270 may generate a third name by sequentially combining the second name, an expression indicating the positional relationship, and the first name. The name generation unit 270 may add an expression indicating a state while generating the third name. For example, the third name may include an expression indicating an existing state (such as, "exists", "is set", or "is located"), or an expression indicating an non-existent state (such as, "does not exist", "is not set", or "is not located").
[0080] An expression indicating the positional relationship between the target object and the corresponding object, such as "above" (or "upper"), "below" (or "lower"), "to the right" (or "right side"), "to the left" (or "left side"), "behind" (or "backward"), or "in front" (or "forward"). The expression indicating the positional relationship is not limited to the above expressions, but may generally include various expressions indicating the relative positions between objects. For example, the expression indicating the positional relationship may include an expression indicating an orientation or direction.
[0081] According to an embodiment, the name generation unit 270 may generate a name of the target object based on the spatial information of the specific space in which the acquired target object is set acquired by the spatial information acquisition unit 230. For example, the name generation unit 270 may generate the name of the target object based on the spatial name (e.g., living room, bathroom, kitchen, or bedroom) in the spatial information referring to the specific space. The name generation unit 270 may generate a space-based descriptive name (fifth name) of the target object based on the default name (first name) of the target object generated based on the type of the target object and the spatial name (fourth name) referring to the specific space in which the target object is set. For example, the name generation unit 270 may generate the fifth name by sequentially combining the fourth name and the first name. The name generation unit 270 may add an expression indicating a state while generating the fifth name. For example, the fifth name may include an expression indicating an existing state (such as, "exists", "is set", or "is located"), or an expression indicating an non-existent state (such as, "does not exist", "is not set", or "is not located").
[0082] In another example, the name generation unit 270 may generate a name of the target object based on the structural information and arrangement information of the spatial information. For example, the name generation unit 270 may generate a name of the target object based on information about the positional relationship between the target object and a structure (e.g., a ceiling, a bottom, or a wall) included in a specific space. When the target object is set on or adjacent to the structure, the name generation unit 270 may generate a descriptive name (seventh name) of the target object based on the positional relationship with the structure, wherein the positional relationship is based on the following items: a default name (first name) of the target object generated based on the type of the target object, a name (sixth name) referring to the structure (e.g., "ceiling", "bottom", or "wall"), and a positional relationship between the target object and the structure. For example, the name generation unit 270 may generate the seventh name by sequentially combining the sixth name, an expression indicating a positional relationship, and the first name. The name generation unit 270 may add an expression indicating a state while generating the seventh name. For example, the seventh name may include an expression indicating an existing state (such as, "exists", "is set", or "is located"), or an expression indicating an non-existent state (such as, "does not exist", "is not set", or "is not located").
[0083] In this regard, information about the positional relationship between the target object and the structure included in the specific space may be generated by the positional relationship determining unit 250 and transmitted to the name generating unit 270. The positional relationship determining unit 250 may generate the information about the positional relationship between the target object and the structure based on the information about the shape and position of the structure included in the structure information and the information about the position of the target object included in the arrangement information.
[0084] The instruction processing unit 290 may include various processing circuits and / or executable program elements, and processes, for example, a user's voice input received through a microphone. For example, the instruction processing unit 290 may convert the voice input into text data by performing voice recognition on the voice input, and extract expressions related to the name and expressions related to the function from the text data.
[0085] According to an embodiment, the instruction processing unit 290 may identify the target object based on an expression associated with the name. The target object may be the electronic device 101 or an external electronic device (e.g., the electronic device 102 or the electronic device 104) capable of communicating with the electronic device 101. In addition, the expression associated with the name may include, for example, a name generated based on the type of the target object (default name), a name generated based on a positional relationship with surrounding objects (a descriptive name based on a first positional relationship), a name generated based on a space name of a space where the target object is set (a descriptive name based on a space), or a name generated based on a positional relationship between structures included in the space where the target object is set (a descriptive name based on a second positional relationship).
[0086] According to an embodiment, the instruction processing unit 290 may determine the instruction based on the expression related to the function. The instruction may include a trigger input of at least one function to be executed among the functions that can be executed by the target object. When the function to be executed is a function related to direction or position (for example, a moving function or a function with an operating direction), the expression related to the function may include an expression indicating an absolute direction or absolute position or an expression indicating a relative direction or relative position based on a positional relationship with surrounding objects, wherein the absolute direction or absolute position indicates fixed information of an area (or space) based on the position of the target object.
[0087] According to an embodiment, when the identified target object is the electronic device 101, the instruction processing unit 290 may transmit a signal related to the instruction to a related module within the electronic device 101. In addition, when the identified target object is an external electronic device (e.g., the electronic device 102 or the electronic device 104), the instruction processing unit 290 may send a signal related to the instruction to the external electronic device (e.g., the electronic device 102 or the electronic device 104).
[0088] Figure 3 is a diagram illustrating an example environment in which a plurality of electronic devices exist within a specific space or operate while being linked to each other.
[0089] Reference Figure 3, a plurality of electronic devices (e.g., electronic device 331, electronic device 333, electronic device 351, electronic device 352, electronic device 353, electronic device 354, electronic device 355, electronic device 356, which may be referred to as electronic devices 331 to 356 hereinafter) disposed in a specific space 300 may be IoT devices belonging to an IoT system in which the electronic device 310 is used as an IoT hub device, or may be electronic devices that can communicate with the electronic device 310 but operate separately from other electronic devices. The plurality of electronic devices (e.g., electronic devices 331 to 356) may be electronic devices that perform voice recognition on a user's voice input received through a microphone and perform a function according to the voice recognition result, or may be electronic devices that receive a signal related to a function according to the voice recognition result from the electronic device 310 (e.g., an IoT hub device) and perform a function.
[0090] Figure 2 The control module 200 shown may be included in an electronic device 310 connected to at least one electronic device 331 to 356 disposed in the specific space 300, or may be included in the electronic devices 331 to 356 disposed in the specific space 300. Figure 3 In the embodiment, for convenience of description, a case is described in which the control module 200 is included in the electronic device 310. The electronic device 310 may be provided in the specific space 300 or in a space other than the specific space 300.
[0091] The electronic device 310 (e.g., the electronic device 101) including the control module 200 may generate the names of the plurality of electronic devices 331 to 356 disposed in the specific space 300. The electronic device 310 may acquire a captured image from the electronic device 331 and the electronic device 333 including a camera, wherein the camera is capable of capturing the specific space 300 or the plurality of electronic devices disposed in the specific space 300. The electronic device 331 and the electronic device 333 including a camera may include, for example, a camera device 331 (e.g., a CCTV camera) fixed and installed in the specific space 300 or a robot-type device 333 (e.g., a robot vacuum cleaner) capable of capturing the specific space 300 during movement, but the present disclosure is not limited thereto. According to various embodiments, the electronic device 310 may include a camera, or may capture the specific space 300 or the plurality of electronic devices 331 to 356 disposed in the specific space 300 by a camera included in the electronic device 310, and acquire the captured image.
[0092] The electronic device 310 that acquires the captured image may identify the object in the specific space 300 through the object recognition unit 210 of the control module 200. For example, in Figure 3In the environment shown, the object recognition unit 210 can recognize a lamp 351 set on the ceiling 371, a refrigerator 352 set near the left wall 375, a drawer 353 set on the right side of the bottom 373, a TV 354 set on the drawer 353, a first floor lamp 355 set on the left side of the TV 354, and a second floor lamp 356 set on the right side of the TV 354.
[0093] When an object is recognized, the electronic device 310 may generate a default name for the object through the name generation unit 270 of the control module 200. For example, the name generation unit 270 may generate the default name for the object based on information about the type of the object.
[0094] Thereafter, the electronic device 310 may obtain the spatial information of the specific space 300 through the spatial information obtaining unit 230 of the control module 200. Figure 3 In the illustrated environment, the space information acquisition unit 230 may acquire structural information determined based on the shapes and positions of the ceiling 371, the bottom 373, and the walls 375 and 377, arrangement information including the types and positions of objects, and a name referring to the specific space 300. The structural information and the arrangement information may be acquired during the object recognition process of the object recognition unit 210, and the name referring to the specific space 300 may be acquired by comparison with the spatial information of a plurality of spaces pre-stored in the memory 130 or by user input. For example, the space information acquisition unit 230 may acquire the name of the specific space 300 based on a user input received through an input component of an external electronic device 390 (e.g., the electronic device 102, the electronic device 104, or the server 108) connected to the electronic device 101. The input component of the external electronic device 390 may include, for example, a touch screen 391 of the external electronic device 390.
[0095] The electronic device 310 can determine the positional relationship between objects within the specific space 300 through the positional relationship determination unit 250 of the control module 200. For example, the positional relationship determination unit 250 can select a target object from the objects, and determine the positional relationship between the target object and a corresponding object set around the target object. The target object can be an electronic device that can be controlled among the objects (for example, electronic device 331, electronic device 333, electronic device 351, electronic device 352, which may be referred to as electronic devices 331 to 352 hereinafter, or electronic device 354, electronic device 355, electronic device 356, which may be referred to as electronic devices 354 to 356 hereinafter), and the corresponding object can be any object set in the specific space 300. For example, when TV 354 is selected as the target object, the positional relationship determination unit 250 can determine the positional relationship between TV 354 and a drawer 353, a first stand lamp 355, or a second stand lamp 356 set around TV 354. For example, in Figure 3 In the illustrated environment, the positional relationship determination unit 250 may determine that the TV 354 is disposed on the drawer 353, on the right side of the first stand lamp 355, and on the left side of the second stand lamp 356. As described above, the information on the positional relationship between the target object and the corresponding object may be configured according to the number of corresponding objects disposed around the target object. For example, when the number of corresponding objects (e.g., the drawer 353, the first stand lamp 355, and the second stand lamp 356) disposed around the target object (e.g., the TV 354) is three, the positional relationship information related to the target object may be configured to have three items (e.g., a first item indicating a positional relationship with the drawer 353, a second item indicating a positional relationship with the first stand lamp 355, and a third item indicating a positional relationship with the second stand lamp 356).
[0096] When the positional relationship between the objects is determined, the electronic device 310 may generate a descriptive name for the object through the name generation unit 270. For example, the name generation unit 270 may generate a descriptive name for the object based on information about the positional relationship between the objects. For example, the name generation unit 270 may generate a descriptive name for the target object based on a positional relationship with a corresponding object, wherein the positional relationship is based on the following items: a default name of the target object generated based on the type of the target object, a default name of the corresponding object generated based on the type of the corresponding object, and a positional relationship between the target object and the corresponding object. For example, in Figure 3In the illustrated environment, when the target object is TV 354 and the corresponding object is drawer 353, the name generation unit 270 may generate a descriptive name for TV 354 by sequentially combining a default name for drawer 353 (e.g., “drawer”), an expression indicating a positional relationship between TV 354 and drawer 353 (e.g., “on…”), and a default name for TV 354 (e.g., “TV”). The name generation unit 270 may use an expression indicating a state (e.g., “exists”) while generating a descriptive name for TV 354. For example, the name generation unit 270 may add an expression indicating a state (e.g., “exists”) to an expression indicating a positional relationship between TV 354 and drawer 353 (e.g., “on…”). Thus, the descriptive name for TV 354 may be generated as, for example, “TV existing on a drawer”.
[0097] According to an embodiment, the name generation unit 270 may generate a descriptive name for the target object based on the spatial information of the specific space 300 in which the target object is set acquired by the spatial information acquisition unit 230. For example, the name generation unit 270 may generate a descriptive name for the target object based on a spatial name (e.g., living room, bathroom, kitchen, or bedroom) in the spatial information that refers to the specific space 300. The name generation unit 270 may generate a spatially based descriptive name for the target object based on a default name of the target object and a spatial name of the specific space 300 in which the target object is set. For example, in Figure 3 In the environment shown, when the target object is a refrigerator 352, the name generation unit 270 may generate a descriptive name for the refrigerator 352 by sequentially combining the space name of the specific space 300 (e.g., "living room") and the default name of the refrigerator 352 (e.g., "refrigerator"). For example, the name generation unit 270 may use postpositioned particles (e.g., "in") and expressions indicating states (e.g., "exists") while generating the descriptive name for the refrigerator 352. For example, the name generation unit 270 may add postpositioned derivatives (e.g., "in"), expressions indicating states between the space name of the specific space 300 (e.g., "living room") and the default name of the refrigerator 352 (e.g., "refrigerator") (e.g., exists). Therefore, the descriptive name of the refrigerator 352 may be generated as, for example, "a refrigerator existing in the living room."
[0098] In another example, the name generation unit 270 may generate a descriptive name for the target object based on the structure information and the layout information of the space information. The name generation unit 270 may generate a descriptive name for the target object based on information about the positional relationship between the target object and a structure (e.g., the ceiling 371, the bottom 373, or the walls 375 and 377) included in the specific space 300. Figure 3In the illustrated environment, when the target object is the lamp 351 and the structure is the ceiling 371, the name generation unit 270 may generate a descriptive name for the lamp 351 by sequentially combining a name referring to the ceiling 371 (e.g., "ceiling"), an expression indicating a positional relationship between the lamp 351 and the ceiling 371 (e.g., "on") (when the target object is added to the structure, they do not have a relationship of above, below, left, and right, so the postpositional particle "on" is used to indicate the positional relationship), and a default name for the lamp 351 (e.g., "lamp"). The name generation unit 270 may use an expression indicating a state (e.g., "exists") while generating the descriptive name for the lamp 351. For example, the name generation unit 270 may add an expression indicating a state (e.g., "exists") to an expression indicating a positional relationship between the lamp 351 and the ceiling 371 (e.g., "on"). Therefore, the descriptive name of the lamp 351 may be generated as, for example, "a lamp existing on the ceiling."
[0099] Figure 4A is a diagram illustrating an example first environment in which an electronic device that is a target to be named is separated from an electronic device for controlling a function and generating a name according to various embodiments of the present disclosure. Figure 4B is a diagram illustrating an example second environment in which an electronic device that is a target to be named is separated from an electronic device for controlling a function and generating a name according to various embodiments of the present disclosure. Figure 4C is a diagram illustrating an example third environment in which an electronic device as a target to be named directly generates a name and performs a function according to various embodiments of the present disclosure. Figure 4D is a diagram illustrating an example fourth environment in which an electronic device as a target to be named directly generates a name and performs a function according to various embodiments of the present disclosure. Figure 4E is a diagram illustrating an example fifth environment in which an electronic device as a target to be named, an electronic device for generating a name, and an electronic device for controlling a function are separated from each other according to various embodiments of the present disclosure. Figure 4F is a diagram illustrating an example sixth environment in which an electronic device as a target to be named and an electronic device for controlling a function are separated from each other according to various embodiments of the present disclosure.
[0100] exist Figure 4A , Figure 4B , Figure 4C , Figure 4D , Figure 4E and Figure 4F , the relationship between the target to be named and the control module 200 for generating the name is described. The second electronic device 450 to be named (target object) may be a device that can be connected to the control module 200. Figure 4A , Figure 4B , Figure 4E and Figure 4F The device shown includes a first electronic device 410 of the control module 200 for communication, or a device such as Figure 4C and Figure 4D The device shown includes a control module 200 to directly generate a name and perform a function.
[0101] Reference Figure 4A and Figure 4B , the first electronic device 410 including the control module 200 may generate a name of the second electronic device 450 disposed in a specific space. For example, the first electronic device 410 may generate a descriptive name of the second electronic device 450 based on information about a positional relationship between the second electronic device 450 (target object) and at least one other object (corresponding object) disposed in the specific space by capturing an image obtained by capturing the specific space in which the second electronic device 450 is disposed. Figure 4A The third electronic device 431 or the third electronic device 433 including a camera capable of capturing a specific space acquires an image obtained by capturing the specific space, or can obtain an image obtained by capturing the specific space through the third electronic device 431 or the third electronic device 433 as shown. Figure 4B The camera 413 included in the first electronic device 410 is shown to acquire an image obtained by capturing a specific space. The third electronic device 431 or the third electronic device 433 may include a camera device 431 (e.g., a CCTV camera) fixed and installed in a specific space or a robot-type device 433 (a robot vacuum cleaner) capable of capturing while moving in a specific space.
[0102] According to an embodiment, the first electronic device 410 may control a function of the second electronic device 450. The first electronic device 410 may include a microphone 411 and perform voice recognition on a user's voice input. For example, the first electronic device 410 may perform voice recognition based on a voice recognition process or through a server (e.g., server 108). When the voice recognition result includes a name of the second electronic device 450 indicating the second electronic device 450, the first electronic device 410 may send an activation (e.g., wake-up) signal to the second electronic device 450. When the voice recognition result includes an instruction for performing a specific function, the first electronic device 410 may send a signal corresponding to the instruction to the second electronic device 450. For example, Figure 4A and 4B The first electronic device 410 shown in FIG. 4 may be an IoT hub device including a microphone and used to connect and control IoT devices, and the second electronic device 450 may be an IoT device connected to the IoT hub device.
[0103] Reference Figure 4C and Figure 4D, the second electronic device 450 may include the control module 200 and generate the name of the second electronic device 450 by itself. For example, the second electronic device 450 may generate a descriptive name of the second electronic device 450 based on information about the positional relationship between the second electronic device 450 (target object) and at least one other object (corresponding object) disposed in the specific space via an image obtained by capturing the specific space in which the second electronic device 450 is disposed. Figure 4C The third electronic device 431 or the third electronic device 433 including a camera capable of capturing a specific space may acquire an image obtained by capturing the specific space, or may be included in the image. Figure 4D The camera 453 in the illustrated second electronic device 450 acquires an image obtained by capturing a specific space.
[0104] According to an embodiment, the second electronic device 450 may include a microphone 451 and perform voice recognition on a user's voice input. In addition, when the voice recognition result includes the name of the second electronic device 450 indicating the second electronic device 450, the second electronic device 450 may be activated. When the voice recognition result includes an instruction for executing a specific function, the second electronic device 450 may execute the specific function corresponding to the instruction.
[0105] Reference Figure 4E and Figure 4F , at least some elements of the control module 200 may be included in the fourth electronic device 470. For example, the fourth electronic device 470 may include at least some of the object recognition unit 210, the spatial information acquisition unit 230, the position relationship determination unit 250, and the name generation unit 270 of the control module 200. In this case, the fourth electronic device 470 may generate a name for the second electronic device 450 that is set in a specific space. For example, the fourth electronic device 470 may generate a descriptive name for the second electronic device 450 based on information about the positional relationship between the second electronic device 450 (target object) and at least one other object (corresponding object) set in the specific space, via an image obtained by capturing the specific space in which the second electronic device 450 is set. Figure 4E The third electronic device 431 or the third electronic device 433 including a camera capable of capturing a specific space may obtain an image obtained by capturing the specific space, or may be included in a video such as a Figure 4F The camera 473 in the fourth electronic device 470 shown acquires an image obtained by capturing a specific space. The third electronic device 431 or the third electronic device 433 may include, for example, a camera device 431 (e.g., a CCTV camera) fixed and installed in a specific space or a robot-type device 433 (a robot vacuum cleaner) capable of capturing while moving in a specific space.
[0106] According to an embodiment, the fourth electronic device 470 may provide a UI that supports registration of a neighboring device (IoT device), and generate a name of the neighboring device during the process of registering the neighboring device. The fourth electronic device 470 may store the generated name of the neighboring device in a database. For example, the name of the neighboring device may be mapped to information about the neighboring device (e.g., the type or location of the neighboring device, the positional relationship with the neighboring object, or information about the space in which the neighboring device is arranged) and stored in a database. The database may be stored in the memory of the fourth electronic device 470 or in the memory of the first electronic device 410 that can communicate with the fourth electronic device 470. For example, the fourth electronic device 470 may send the generated name of the neighboring device to the first electronic device 410 via the communication module 471.
[0107] At least some elements of the control module 200 may be included in the first electronic device 410. For example, the instruction processing unit 290 of the control module 200 may be included in the first electronic device 410. In this case, the first electronic device 410 may control the function of the second electronic device 450. The first electronic device 410 may include a microphone 411, have a voice recognition scheme, and perform voice recognition on a user's voice input. When the voice recognition result includes the name of the second electronic device 450 indicating the second electronic device 450, the first electronic device 410 may send an activation (e.g., wake-up) signal to the second electronic device 450. The first electronic device 410 may identify the second electronic device 450 based on information stored in a database. For example, the first electronic device 410 may search for the name of the second electronic device 450 in the database, and identify the type or position of the second electronic device 450 mapped to the name of the second electronic device 450, the positional relationship with the neighboring object, or information about the space where the second electronic device 450 is set. When the voice recognition result includes an instruction for executing a specific function, the first electronic device 410 may send a signal corresponding to the instruction to the second electronic device 450. According to some embodiments, a voice recognition solution may be installed on a server (e.g., server 108). In this case, the first electronic device 410 may send the user's voice input received through the microphone 411 to the server, and the server may perform voice recognition on the user's voice input and send the result thereof to the first electronic device 410.
[0108] Figure 5 is a diagram illustrating an example object recognition method according to various embodiments of the present disclosure. Figure 6 is a diagram illustrating example information about a type, a position, and a space of an object according to various embodiments of the present disclosure. Figure 7 is a diagram illustrating example information about a positional relationship between objects according to various embodiments of the present disclosure.
[0109] Reference Figure 5 , Figure 6 and Figure 7 , Figure 2 The control module 200 may identify a plurality of objects disposed in a specific space (eg, space A). For example, the object recognition unit 210 of the control module 200 may determine the type of the object in the specific space and the position of the object in the specific space. Figure 5 In the illustrated environment, the object recognition unit 210 may determine the types and locations of a first object (B) 510 , a second object (C) 520 , a third object (D) 530 , a fourth object (E) 540 , a fifth object (F) 550 , a sixth object (G) 560 , and a seventh object (H) 570 .
[0110] The object recognition unit 210 may map information 610 about the type of the object and information 630 about the location of the object to the object, and Figure 6 The information is shown to be stored in the memory 130 in the form of a table 600. When a specific space is represented by three-dimensional coordinates (a position of the specific space is represented by an X-axis coordinate value, a Y-axis coordinate value, and a Z-axis coordinate value), the information 630 about the position of the object may be the three-dimensional coordinate value of each object. For example, the object recognition unit 210 may configure the center of the specific space as the center point of the three-dimensional coordinate axis. For example, when the specific space is a room, the center of the room may be the center point of the three-dimensional coordinate axis. In another example, when an electronic device including the name generation unit 270 captures the specific space (when an image obtained by capturing the specific space via a camera included in the electronic device is acquired), the object recognition unit 210 may configure the position of the electronic device as the center point of the three-dimensional coordinate axis. According to an embodiment, the three-dimensional coordinate value of the specific object may include a three-dimensional coordinate value for the center point of the specific object. According to another embodiment, the three-dimensional coordinate value of the specific object may include a plurality of three-dimensional coordinate values for the corner points or boundary points of the specific object.
[0111] The spatial information acquisition unit 230 of the control module 200 may acquire spatial information 650 of a specific space. The spatial information 650 may include structural information determined by the shape and position of the structure included in the specific space, layout information including the type and position of the object set in the specific space, and a space name referring to the specific space. In addition, the spatial information acquisition unit 230 may map the acquired spatial information 650 of the specific space, the information 610 about the type of the object set in the specific space, and the information 630 about the position of the object to each object, and as shown in FIG. Figure 6 The mapped information is shown to be stored in the memory 130 in the form of table 600 . Figure 6It is shown that a space name (eg, “A”) indicating a specific space is stored in the table 600 as the space information 650 , but is not limited thereto. In addition to the space name, structure information and arrangement information may also be stored in the table 600 .
[0112] The positional relationship determination unit 250 of the control module 200 may determine the positional relationship between objects within a specific space. The positional relationship determination unit 250 may determine the positional relationship between objects based on the information 630 about the positions of the objects. For example, the positional relationship determination unit 250 may select a target object from the objects, and determine the positional relationship between the target object and a corresponding object set around the target object. In addition, when the positional relationship between the target object and the corresponding object is determined, the positional relationship determination unit 250 may map the information 710 about the target object, the information 730 about the corresponding object, and the information 750 about the positional relationship between the target object and the corresponding object to each target object and each corresponding object, and as shown in FIG. Figure 7 The mapped information is shown to be stored in the memory 130 in the form of a table 700 . Figure 7 It is shown that when the target object is the first object 510, information 750 about the positional relationship with each corresponding object is stored in the table 700, but is not limited thereto. When the target object is the second object 520, the third object 530, the fourth object 540, the fifth object 550, the sixth object 560, or the seventh object 570, the table 700 may store information 750 about the positional relationship with each corresponding object.
[0113] According to an embodiment, Figure 6 Table 600 or Figure 7 The table 700 shown may be included in Figure 4E and Figure 4F For example, table 600 and table 700 may be mapped to each other based on the target object and may be stored in the database, and the name of the target object may also be mapped and stored in the database.
[0114] Fig. 8A : are diagrams illustrating an example positional relationship between objects when a recognition direction of an object and a gaze direction of a user are identical to each other according to various embodiments of the present disclosure. Figure 8B : are diagrams illustrating an example positional relationship between objects when a recognition direction of an object and a gaze direction of a user are different from each other according to various embodiments of the present disclosure. Figure 8C : are diagrams illustrating an example positional relationship between objects when a recognition direction of the object and a gaze direction of a user are orthogonal to each other according to various embodiments of the present disclosure.
[0115] Reference Fig. 8A , Figure 8B and Figure 8C, Figure 2 The control module 200 may determine the positional relationship between the objects based on information about the positions of a plurality of objects set in a specific space 800 (e.g., space A). For example, the control module 200 may acquire a captured image from a camera device 810 capable of capturing the specific space 800, identify objects within the image, and determine the positional relationship between the objects.
[0116] like Fig. 8A As shown, when the recognition direction (first direction) 801 of the object (for example, the capturing direction of the camera device 810) is substantially the same as the gaze direction (second direction) 803 of the user 830 viewing the specific space 800, the positional relationship between the objects set in the specific space 800 determined by the control module 200 may be the same as the positional relationship between the objects viewed (recognized) by the user 830. For example, the positional relationship between the first object (B) 851, the second object (C) 852, the third object (D) 853, the fourth object (E) 854, the fifth object (F) 855, the sixth object (G) 856 and the seventh object (H) 857 in the first layout structure 850 of the specific space 800 identified by the control module 200 may be the same as the positional relationship between the first object (B) 871, the second object (C) 872, the third object (D) 873, the fourth object (E) 874, the fifth object (F) 875, the sixth object (G) 876 and the seventh object (H) 857 in the second layout structure 870 of the specific space 800 viewed by the user 830.
[0117] In this regard, a case where the first direction 801 and the second direction 803 are substantially identical to each other is described. It is assumed that the direction in which the camera device 810 captures a predetermined point of the specific space 800 at a predetermined height is the first direction 801, and the direction in which the user 830 views the same point of the specific space 800 at the same height is the second direction 803. In this case, when a starting point of a first vector as a unit vector having the first direction 801 matches a starting point of a second vector as a unit vector having the second direction 803, and an angle between the first vector and the second vector is within a first angle range determined based on the first vector, it can be determined that the first direction 801 and the second direction 803 are substantially identical to each other. The first angle range may be, for example, from -45 degrees to +45 degrees with an error tolerance of 45 degrees from 0 degrees.
[0118] like Figure 8B and Figure 8C As shown, when the first direction 801 is substantially different from the second direction 803 , the positional relationship between objects disposed within the specific space 800 determined by the control module 200 may be different from the positional relationship between objects viewed (recognized) by the user 830 .
[0119] For example, Figure 8B As shown, when the first direction 801 is substantially opposite to the second direction 803, the positional relationship between the objects in the first arrangement structure 850 of the specific space 800 identified by the control module 200 may be completely opposite to the positional relationship between the objects in the second arrangement structure 870 of the specific space 800 viewed (identified) by the user 830, so that the left and right directions (X-axis directions) and the front and rear directions (Z-axis directions) of the positional relationship between the objects are opposite to each other based on the upward and downward directions (Y-axis directions). In this case, the positional relationship between the objects determined by the control module 200 may be determined again based on the change in the signs of the X-axis coordinate values and the Z-axis coordinate values of the objects, and thus may be corrected to be the same as the positional relationship between the objects viewed by the user 830. For example, as Figure 8B As shown, when the coordinate value of an object in the first arrangement structure 850 is (X, Y, Z), the coordinate value of the same object in the second arrangement structure 870 may be (-X, Y, -Z). Therefore, when determining the positional relationship between objects after the signs of the X-axis coordinate value and the Z-axis coordinate value are changed from the coordinate value of the object in the first arrangement structure 850, the control module 200 may obtain the same result as the result of the positional relationship between objects in the second arrangement structure 870.
[0120] For example, when the coordinate value of the first object (B) 851 in the first arrangement structure 850 is (X1, Y1, Z1), the coordinate value of the fourth object (E) 854 is (X4, Y4, Z4), and the X-axis coordinate value (X1) of the first object 851 is greater than the X-axis coordinate value (X4) of the fourth object 854, the control module 200 may determine that the first object 851 is located on the right side of the fourth object 854. However, since the user 830 determines that the first object 871 is located on the left side of the fourth object 874 in the second arrangement structure 870, the control module 220 may perform a function of correcting the positional relationship. For example, the control module 200 may change the coordinate value of the first object 851 to (-X1, Y1, -Z1), change the coordinate value of the fourth object 854 to (-X4, Y4, -Z4), and then determine the positional relationship between the first object 851 and the fourth object 854 again. Since the changed X-axis coordinate value (−X) of the first object 851 is less than the X-axis coordinate value (−X4) of the fourth object 854 , the control module 200 may determine that the first object 851 is located on the right side of the fourth object 854 .
[0121] In this regard, a case where the first direction 801 and the second direction 803 are substantially opposite to each other is described. It is assumed that the direction in which the camera device 810 captures a predetermined point of the specific space 800 at a predetermined height is the first direction 801, and the direction in which the user 830 views the same point of the specific space 800 at the same height is the second direction 803. In this case, when the starting point of the first vector, which is a unit vector having the first direction 801, matches the starting point of the second vector, which is a unit vector having the second direction 803, and the angle between the first vector and the second vector is within a second angle range determined based on the first vector, it can be determined that the first direction 801 and the second direction 803 are substantially opposite to each other. The second angle range may be, for example, from 135 degrees to 225 degrees with an error margin of 45 degrees from 180 degrees.
[0122] In another example, the case where the first direction 801 is substantially perpendicular to the second direction 803 may be divided into a case where the second direction 803 is rotated approximately 90 degrees clockwise from the first direction 801 and a case where the second direction 803 is rotated approximately 90 degrees counterclockwise from the first direction 801 .
[0123] When the second direction 803 is rotated about 90 degrees in the clockwise direction from the first direction 801, the left and right directions in the second arrangement structure 870 may correspond to the front-rear direction (Z-axis direction) in the first arrangement structure 850, and the front-rear direction in the second arrangement structure 870 may correspond to the opposite direction of the left and right directions (X-axis direction) in the first arrangement structure 850. In this case, by performing redetermination after changing the sign while changing the X-axis coordinate value of the object to the Z-axis coordinate value and changing the Z-axis coordinate value to the X-axis coordinate value, the positional relationship between the objects determined by the control module 200 may be corrected to be the same as the positional relationship between the objects viewed by the user 830. For example, when the coordinate value of an object in the first arrangement structure 850 is (X, Y, Z), the coordinate value of the same object in the second arrangement structure 870 may be (Z, Y, -X). Therefore, the control module 200 can obtain the same result as the positional relationship between objects in the second arrangement structure 870 by determining the positional relationship between objects after changing the X-axis coordinate value to the Z-axis coordinate value in the coordinate value of the object in the first arrangement structure 850 while changing the sign and changing the Z-axis coordinate value to the X-axis coordinate value.
[0124] For example, when the coordinate value of the first object (B) 851 in the first arrangement structure 850 is (X1, Y1, Z1), the coordinate value of the fifth object (F) 855 is (X5, Y5, Z5), the X-axis coordinate value (X1) of the first object 851 is smaller than the X-axis coordinate value (X5) of the fifth object 855, and the Z-axis coordinate value (Z1) of the first object 851 is larger than the Z-axis coordinate value (Z5) of the fifth object 855, the control module 200 may determine that the first object 851 is located on the left front side of the fifth object 855. However, since the user 830 determines that the first object 871 is located on the right front side of the fifth object 875 in the second arrangement structure 870, the control module 200 may perform a function of correcting the positional relationship. For example, the control module 200 may change the coordinate value of the first object 851 to (Z1, Y1, −X1), change the coordinate value of the fifth object 855 to (Z5, Y5, −X5), and then re-determine the positional relationship between the first object 851 and the fifth object 855. The X-axis coordinate value (Z1) of the first object 851 is greater than the changed X-axis coordinate value (Z5) of the fifth object 855, and the Z-axis coordinate value (−X1) of the first object 851 is greater than the changed Z-axis coordinate value (−X5) of the fifth object 855, so that the control module 200 can determine that the first object 851 is located on the right front side of the fifth object 855.
[0125] like Figure 8C As shown, when the second direction 803 is rotated about 90 degrees counterclockwise from the first direction 801, the left and right directions in the second arrangement structure 870 may correspond to the opposite directions of the front-back direction (Z-axis direction) in the first arrangement structure 850, and the front-back direction in the second arrangement structure 870 may correspond to the left and right directions (X-axis direction) in the first arrangement structure 850. In this case, by performing redetermination after changing the sign of the Z-axis coordinate value while changing the Z-axis coordinate value of the object to the X-axis coordinate value and changing the X-axis coordinate value to the Z-axis coordinate value, the positional relationship between the objects determined by the control module 200 may be corrected to be the same as the positional relationship between the objects viewed by the user 830. For example, when the coordinate value of an object in the first arrangement structure 850 is (X, Y, Z), the coordinate value of the same object in the second arrangement structure 870 may be (-Z, Y, X). Therefore, the control module 200 can obtain the same result as the positional relationship between objects in the second arrangement structure 870 by changing the Z-axis coordinate value to the X-axis coordinate value in the coordinate value of the object in the first arrangement structure 850 while changing the sign of the Z-axis coordinate value and determining the positional relationship between the objects after changing the X-axis coordinate value to the Z-axis coordinate value.
[0126] For example, when the coordinate value of the first object (B) 851 in the first arrangement structure 850 is (X1, Y1, Z1), the coordinate value of the fifth object (F) 855 is (X5, Y5, Z5), the X-axis coordinate value (X1) of the first object 851 is smaller than the X-axis coordinate value (X5) of the fifth object 855, and the Z-axis coordinate value (Z1) of the first object 851 is larger than the Z-axis coordinate value (Z5) of the fifth object 855, the control module 200 may determine that the first object 851 is located at the left front side of the fifth object 855. However, since the user 830 determines that the first object 871 is located at the left rear side of the fifth object 875 in the second arrangement structure 870, the control module 200 may perform a function of correcting the positional relationship. For example, the control module 200 may change the coordinate value of the first object 851 to (-Z1, Y1, X1), change the coordinate value of the fifth object 855 to (-Z5, Y5, X5), and then re-determine the positional relationship between the first object 851 and the fifth object 855. The X-axis coordinate value (-Z1) of the first object 851 is smaller than the changed X-axis coordinate value (-Z5) of the fifth object 855, and the changed Z-axis coordinate value (X1) of the first object 851 is smaller than the changed Z-axis coordinate value (X5) of the fifth object 855, so that the control module 200 can determine that the first object 851 is located at the left rear side of the fifth object 855.
[0127] In this regard, a case where the first direction 801 and the second direction 803 are substantially orthogonal to each other is described. It is assumed that the direction in which the camera device 810 captures a predetermined point of the specific space 800 at a predetermined height is the first direction 801, and the direction in which the user 830 views the same point of the specific space 800 at the same height is the second direction 803. In this case, when a starting point of a first vector that is a unit vector having the first direction 801 matches a starting point of a second vector that is a unit vector having the second direction 803, and an angle between the first vector and the second vector is within a third angle range determined based on the first vector, it can be determined that the first direction 801 and the second direction 803 are substantially orthogonal to each other. The third angle range may be, for example, from 45 degrees to 135 degrees with an error margin of 45 degrees from 90 degrees (a case where the second direction 803 is rotated about 90 degrees counterclockwise from the first direction 801), and from 225 degrees to 315 degrees with an error margin of 45 degrees from 270 degrees (a case where the second direction 803 is rotated about 90 degrees clockwise from the first direction 801). According to an embodiment, considering the angles overlapping the first angle range and the second angle range, the third angle range may be configured to be 46 degrees to 134 degrees and 226 degrees to 314 degrees.
[0128] As described above, according to various example embodiments, an electronic device (e.g., electronic device 101) may include: a communication circuit (e.g., communication circuit 190) configured to communicate with an external electronic device; a processor (e.g., processor 120) operably connected to the communication circuit; and a memory (e.g., memory 130) operably connected to the processor, wherein the memory stores instructions that, when executed, cause the processor to control the electronic device to perform the following operations: obtain first information about types of multiple objects set in a first space and second information about positions of the multiple objects in a first direction with respect to the first space, select a target object to be named among the multiple objects, generate at least one first name of the target object based on information about the type of the target object in the first information, generate at least one second name of the at least one corresponding object based on information about the type of at least one corresponding object set around the target object in the first information, determine a relative positional relationship between the target object and the at least one corresponding object based on the second information, and generate at least one third name of the target object based on the at least one first name, the at least one second name, and the relative positional relationship between the target object and the at least one corresponding object.
[0129] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: obtain an image obtained by capturing the first space along a first direction from an external electronic device including a camera capable of capturing the first space through a communication circuit, and obtain first information and second information by analyzing the image.
[0130] According to various example embodiments, the electronic device may further include a camera (e.g., camera module 180), wherein the instructions, when executed, cause the processor to control the electronic device to perform the following operations: acquire an image obtained by capturing a first space along a first direction via the camera, and acquire first information and second information by analyzing the image.
[0131] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: determine a second direction in which the user views the first space, correct the coordinate value of the target object and the coordinate value of the at least one corresponding object included in the second information based on the fact that the first direction and the second direction are substantially different from each other according to the determined result, and redetermine the relative position relationship between the target object and the at least one corresponding object based on the corrected coordinate value of the target object and the corrected coordinate value of the at least one corresponding object.
[0132] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: based on determining that the first direction and the second direction are substantially opposite to each other, changing the sign of the X-axis coordinate value and the sign of the Z-axis coordinate value in the coordinate value of the target object included in the second information and the coordinate value of the at least one corresponding object, and correcting the coordinate value of the target object and the coordinate value of the at least one corresponding object.
[0133] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees clockwise from the first direction, among the coordinate values of the target object included in the second information and the coordinate values of the at least one corresponding object, the X-axis coordinate value is changed to a Z-axis coordinate value while changing the sign of the X-axis coordinate value, and the Z-axis coordinate value is changed to an X-axis coordinate value to correct the coordinate value of the target object and the coordinate value of the at least one corresponding object.
[0134] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees counterclockwise from the first direction, among the coordinate values of the target object included in the second information and the coordinate values of the at least one corresponding object, the X-axis coordinate value is changed to a Z-axis coordinate value, and the Z-axis coordinate value is changed to an X-axis coordinate value while changing the sign of the Z-axis coordinate value to correct the coordinate value of the target object and the coordinate value of the at least one corresponding object.
[0135] According to various example embodiments, the instructions, when executed, may cause the processor to control the electronic device to transmit the at least one third name to the external electronic device through the communication circuit.
[0136] According to various example embodiments, the electronic device may further include a microphone, wherein the instructions, when executed, may cause the processor to control the electronic device to perform the following operations: obtain a user's voice instruction through the microphone, perform voice recognition on the voice instruction, identify a target object based on a name-related expression included in a result of the voice recognition, determine a direction or position for executing the function of the target object based on a function-related expression included in a result of the voice recognition, and send a signal related to the function of the target object and the direction or position for executing the function of the target object to the target object through a communication circuit.
[0137] As described above, according to various example embodiments, an electronic device (e.g., electronic device 101) may include: a camera (e.g., camera module 180); a communication circuit (e.g., communication module 190); a processor (e.g., processor 120) operably connected to the camera and the communication circuit; and a memory (e.g., memory 130) operably connected to the processor, wherein the memory stores instructions that, when executed, cause the processor to control the electronic device to perform the following operations: acquiring, through a camera or a communication circuit, a first image related to a first space in which at least one external electronic device is set, acquiring, by analyzing the first image, first information related to a type of the at least one external electronic device set in the first space and second information related to a position of the at least one external electronic device in a first direction relative to the first space, generating a name of the at least one external electronic device based on the first information, determining a positional relationship between the electronic device and the at least one external electronic device based on the second information, and generating a name of the at least one external electronic device based on at least some of the first information and the second information.
[0138] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: acquire a second image including a user through a camera or a communication circuit, determine a second direction in which the user views the first space by analyzing the second image, and correct the positional relationship of the at least one external electronic device included in the second information based on the first direction and the second direction being substantially different from each other according to the determined result.
[0139] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: based on the first direction and the second direction being substantially opposite to each other according to the determined result, changing the sign of the X-axis coordinate value and the sign of the Z-axis coordinate value in the coordinate value of the at least one external electronic device included in the second information to correct the positional relationship of the at least one external electronic device.
[0140] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: rotate approximately 90 degrees clockwise from the first direction based on the second direction according to the determined result, and change the X-axis coordinate value to the Z-axis coordinate value while changing the sign of the X-axis coordinate value in the coordinate value of the at least one external electronic device included in the second information, and change the Z-axis coordinate value to the X-axis coordinate value to correct the positional relationship of the at least one external electronic device.
[0141] According to various example embodiments, when the instructions are executed, they may cause the processor to control the electronic device to perform the following operations: based on the second direction according to the determined result, the device is rotated approximately 90 degrees counterclockwise from the first direction, and among the coordinate values of the at least one external electronic device included in the second information, the X-axis coordinate value is changed to the Z-axis coordinate value, and the Z-axis coordinate value is changed to the X-axis coordinate value while the sign of the Z-axis coordinate value is changed to correct the positional relationship of the at least one external electronic device.
[0142] Fig. 9 is a flowchart illustrating an example naming method in an environment where an electronic device as a target to be named is separated from an electronic device for generating a name according to various embodiments of the present disclosure.
[0143] Reference Fig. 9 In operation 910, the electronic device 101 (eg, Figure 4A and Figure 4B The first electronic device 410 or Figure 4E and Figure 4F The fourth electronic device 470 of the control module 200 may obtain first information about the type of the object set in the specific space and second information about the position of the object through the object recognition unit 210 of the control module 200, wherein the electronic device 101 includes at least some of the control module 200 (for example, the object recognition unit 210, the space information acquisition unit 230, the position relationship determination unit 250, and the name generation unit 270). For example, the object recognition unit 210 may determine the type and position of the object set in the specific space by an image recognition method, a radio wave / sound wave recognition method, or a method such as recognition by an IoT system, and obtain the first information about the type of the object and the second information about the position of the object.
[0144] The name generation unit 270 of the control module 200 may select an electronic device to be named among the objects (eg, Figure 4A , Figure 4B , Figure 4E and Figure 4F The second electronic device 450 of the first information is selected as the target object, and objects existing around the target object are selected as corresponding objects. In operation 920, the name generation unit 270 may generate a first name of the target object and a second name of the corresponding object. For example, the name generation unit 270 may generate a first name of the target object based on information about the type of the target object in the first information, and generate a second name of the corresponding object based on information about the type of the corresponding object in the first information. The name generated based on the type of the object may correspond to a default name that generally refers to the object. For example, in an image recognition method, the default names of the target object and the corresponding object may be generated based on object recognition through image analysis.
[0145] At operation 930, the positional relationship determination unit 250 of the control module 200 may determine the positional relationship between the target object and the corresponding object. The positional relationship determination unit 250 may determine the positional relationship between the target object and the corresponding object based on the second information about the position of the object. For example, the positional relationship determination unit 250 may determine the positional relationship between the objects based on a relational reasoning network algorithm, wherein the relational reasoning network algorithm is a deep learning technology for extracting the relationship between objects in an image obtained by capturing a specific space. The second information about the position of the object may be used as learning data for determining the positional relationship between the objects.
[0146] In operation 940, the name generation unit 270 may generate a third name of the target object based on the first name of the target object, the second name of the corresponding object, and the positional relationship between the target object and the corresponding object. For example, the name generation unit 270 may generate the third name by sequentially combining the second name, the expression indicating the positional relationship, and the first name. The name generation unit 270 may add an expression indicating a state while generating the third name. For example, the third name may include an expression indicating an existence state (such as, "exists", "is set", or "is located"), or an expression indicating an absence state (such as, "does not exist", "is not set", or "is not located"). For example, when the target object is a floor lamp and a TV located on the left side of the floor lamp is the corresponding object, the name generation unit 270 may generate the first name of the target object as "floor lamp", the second name of the corresponding object as "TV", and the third name of the target object as "floor lamp existing on the right side of TV" based on the positional relationship between the target object and the corresponding object.
[0147] At operation 950, the control module 200 may determine whether the target object is a device capable of performing voice recognition. For example, the control module 200 may determine whether the target object includes a microphone and has a voice recognition process.
[0148] When the target object is a device capable of performing voice recognition (for example, when the target object includes the instruction processing unit 290 of the control module 200), at operation 960, the control module 200 may send the generated third name of the target object to the target object. Therefore, when the user speaks the third name, the target object may perform voice recognition on the user's voice input. When the voice recognition result includes the third name, the target object may be activated and perform a function corresponding to a specific instruction included in the voice recognition result. According to various embodiments, the control module 200 may send the first name of the target object together with the third name to the target object.
[0149] When the target object is not a device capable of performing voice recognition (for example, the target object does not include the instruction processing unit 290 of the control module 200), at operation 970, the control module 200 may map the generated third name of the target object to an instruction word indicating the target object and store the instruction word in the memory 130. Therefore, when the user speaks the third name, voice recognition is performed on the user's voice input received through the microphone of the electronic device 101. When the voice recognition result includes the third name, the instruction word mapped to the third name may be searched in the memory 130, and an activation signal may be sent to the target object of the found instruction. When the voice recognition result includes an instruction for performing a specific function, a signal corresponding to the instruction may be sent to the target object. According to some embodiments, the control module 200 may map the first name of the target object together with the third name to an instruction word indicating the target object and store the instruction word in the memory 130.
[0150] According to an embodiment, the electronic device 101 may omit operation 950. For example, when the electronic device 101 is a device for controlling a target object (e.g., an IoT hub device for controlling an IoT device), the electronic device 101 may perform operation 970 without operation 950. In another example, when the electronic device 101 is a device (e.g., a smart phone) connected to a device for controlling a target object (e.g., an IoT hub device), the electronic device 101 may send the third name (and the first name) of the target object to the device for controlling the target object (e.g., the IoT hub device) at operation 970 without operation 950. The electronic device 101 may send information about the target object (e.g., the type and location of the target object, the positional relationship with neighboring objects, or information about the space in which the target object is set) to the device for controlling the target object.
[0151] Fig.10 is a flowchart illustrating an example naming method in an environment where an electronic device to be named directly generates a name according to various embodiments of the present disclosure.
[0152] Reference Fig.10 In operation 1010, the electronic device 101 (eg, Figure 4C and Figure 4DThe second electronic device 450) can obtain first information about the type of the corresponding object set in the specific space and second information about the position of the corresponding object through the object recognition unit 210 of the control module 200. For example, the object recognition unit 210 can determine the type and position of the corresponding object set in the specific space by an image recognition method, a radio wave / sound wave recognition method, or a method through an IoT system, and obtain first information about the type of the corresponding object and second information about the position of the corresponding object. According to an embodiment, when the electronic device 101 does not directly obtain the first information and the second information through an element (e.g., a camera) included in the electronic device 101, the first information may include information about the type of the electronic device 101, and the second information may include information about the position of the electronic device 101.
[0153] At operation 1020, the name generation unit 270 of the control module 200 may generate a name for the corresponding object. For example, the name generation unit 270 may generate a name for the corresponding object based on the first information about the type of the corresponding object. The name generated based on the type of the object may correspond to a default name that generally refers to the object. According to an embodiment, the control module 200 may obtain the default name of the electronic device 101 from the memory 130, or when the first information includes information about the type of the electronic device 101, the default name of the electronic device 101 may be generated based on the first information.
[0154] At operation 1030, the positional relationship determination unit 250 of the control module 200 may determine the positional relationship with the corresponding object. The positional relationship determination unit 250 may determine the positional relationship between the electronic device 101 and the corresponding object based on the second information about the position of the corresponding object. The second information may include information about the position of the electronic device 101. When the second information does not include information about the position of the electronic device 101, for example, when the electronic device 101 directly acquires the second information through an element (e.g., a camera) included in the electronic device 101, the second information is acquired based on the position of the electronic device 101, so that the positional relationship determination unit 250 can determine the positional relationship between the electronic device 101 and the corresponding object based on the second information acquired according to the position of the electronic device 101.
[0155] In operation 1040, the name generation unit 270 may generate a name for the electronic device 101 based on the name of the corresponding object and the positional relationship with the corresponding object. For example, the name generation unit 270 may generate the name of the electronic device 101 by sequentially combining the name of the corresponding object, the expression indicating the positional relationship, and the default name of the electronic device 101. The name generation unit 270 may add an expression indicating a state while generating the name of the electronic device 101. For example, the name of the electronic device 101 may include an expression indicating an existence state (such as "exists", "is set", or "is located"), or an expression indicating an absence state (such as "does not exist", "is not set", or "is not located").
[0156] At operation 1050, the control module 200 may store the generated name of the electronic device 101 in the memory 130. Therefore, when the user speaks the name of the electronic device 101, the electronic device 101 may perform voice recognition on the user's voice input received through the microphone of the electronic device 101, and when the voice recognition result includes the name of the electronic device 101, the electronic device 101 may be activated and execute a function corresponding to a specific instruction included in the voice recognition result. According to some embodiments, the control module 200 may map the generated name of the electronic device 101 to a pre-stored default name of the electronic device 101, and store the generated name of the electronic device 101 in the memory 130.
[0157] According to an example embodiment, when the name of the target object is generated based on the positional relationship with the corresponding object, then Fig. 9 and Fig.10 When the operation changes at least one of the position of the target object or the position of the corresponding object, the control module 200 may re-determine the positional relationship between the target object and the corresponding object based on the changed position, and re-generate (update) the name of the target object based on the re-determined positional relationship.
[0158] According to an example embodiment, the control module 200 may periodically identify whether the position of the target object or the position of the corresponding object is changed. According to various embodiments, the control module 200 may receive an event indicating that the position of the target object or the position of the corresponding object is changed from a server or an external electronic device, thereby identifying the change of the position of the target object or the position of the corresponding object.
[0159] According to an example embodiment, when a new object is found (recognized), the control module 200 may configure the new object as a corresponding object and determine a positional relationship with the target object. For example, when a new object (electronic device) is connected through a communication circuit (e.g., the communication module 190), the control module 200 may recognize the new object.
[0160] Fig.11is a diagram illustrating an example voice recognition function for a user's voice input according to various embodiments of the present disclosure. Fig.12 2 is a diagram illustrating an example function of identifying an electronic device through a name of the electronic device according to various embodiments of the present disclosure.
[0161] Reference Fig.11 and Fig.12 , an electronic device 101 including a microphone and having a speech recognition scheme (e.g., including an instruction processing unit 290 of a control module 200) may perform speech recognition on a speech input 1100 of a user 1101. According to an embodiment, the electronic device 101 may convert the speech input 1100 (e.g., speech data) into text data. For example, the electronic device 101 may convert the speech input into text data based on an acoustic model and a language model. The acoustic model may include information related to speaking, and the language model may include unit phoneme information and information about a combination of unit phoneme information. Information about the acoustic model and the language model may be stored in the memory 130 in the form of a database.
[0162] According to an embodiment, the electronic device 101 may mark keywords in the text data and classify the meaning of the speech in detail based on the mark information. For example, the electronic device 101 may extract expressions related to the name from the text data and extract meaningful mark information from the expressions related to the name.
[0163] When the user 1101 says "turn on the standing lamp existing on the right side of the TV", the instruction processing unit 290 may convert the user's voice input into text data ("turn on the standing lamp existing on the right side of the TV"). In addition, the instruction processing unit 290 may extract the expression 1110 associated with the name from the text data. For example, the instruction processing unit 290 may extract the expression 1110 associated with the name (for example, "standing lamp existing on the right side of the TV") separated from the expression 1130 associated with the function (for example, "turn on") from the text data. In addition, the instruction processing unit 290 may extract meaningful tag information from the expression 1110 associated with the name. For example, the instruction processing unit 290 may extract the name 1113 of the target object for performing the function (for example, "standing lamp") and the expression 1111 for further explaining the target object (for example, "existing on the right side of the TV") from the expression 1110 associated with the name. The name 1113 of the target object may be a default name configured based on the type of the target object. In addition, the expression 1111 for further explaining the target object may include an expression describing the spatial position of the target object and the relative position to the adjacent object. The instruction processing unit 290 may extract a name 1111a of the corresponding object (e.g., “TV”), an expression 1111b indicating a positional relationship between the target object and the corresponding object (e.g., “on the right”), and an expression 1111c indicating a state from the expression 1111 used to further explain the target object (e.g., “exists”).
[0164] According to an embodiment, the instruction processing unit 290 may extract meaningful tag information from the expression 1130 related to the function. For example, the instruction processing unit 290 may extract an instruction for executing the function and an expression describing the direction or position of the function from the expression 1130 related to the function. The expression describing the direction or position of the function may include, for example, an expression indicating an absolute direction or an absolute position (e.g., a space name) or an expression indicating a relative direction or a relative position based on a positional relationship with a neighboring object, wherein the absolute direction or absolute position indicates fixed information of an area (or space) based on the position of the target object. Fig.11 Function-related expressions 1130 are shown including the status of a particular instruction.
[0165] According to an embodiment, the instruction processing unit 290 may detect the intention of the user 1101 based on the classified tag information. Figure 7As shown, the instruction processing unit 290 can search for target objects and corresponding objects suitable for the intention of the user 1101 in the table 700, and accurately detect the intention of the user 1101 based on the found target objects and corresponding objects and the mapping information about the positional relationship, wherein the table 700 stores information 710 of the target object mapped to each target object and each corresponding object, information 730 about the corresponding object, and information 750 about the positional relationship between the target object and the corresponding object.
[0166] For the function of detecting the intention of the user 1101, such as Fig.12 As shown, a decision tree algorithm may be used. For example, the instruction processing unit 290 may search for a first item 1233 corresponding to a name 1111a (e.g., "TV") of a corresponding object included in the text data 1210 corresponding to the voice input of the user 1101 among the first item 1231, the first item 1232, the first item 1233, and the first item 1234 corresponding to the corresponding object of the table 700, search for a second item 1253 corresponding to an expression 1111b (e.g., "on the right") indicating a positional relationship among the second item 1251, the second item 1252, the second item 1253, the second item 1254, the second item 1255, and the second item 1256 mapped to the first item 1233, identify whether the found second item 1253 corresponds to the name 1113 (e.g., "stand lamp") of the target object, and when the second item 1253 corresponds to the name 1113 of the target object, detect the target object suitable for the intention of the user 1101. According to some embodiments, the instruction processing unit 290 may use a random forest algorithm to improve accuracy in order to reduce noise generated during the learning process.
[0167] Fig.13 is a diagram illustrating example screens describing an object recognition method according to an embodiment of the present disclosure.
[0168] Reference Fig.13 , the electronic device 1300 (eg, the electronic device 101) including the control module 200 may recognize an object in a specific space through the object recognition unit 210 of the control module 200. For example, the object recognition unit 210 may determine the type of the object in the specific space and the position of the object in the specific space.
[0169] According to an embodiment, in a state where the electronic device 1300 displays an image obtained by capturing a specific space on the display 1301, the object recognition unit 210 may apply a graphic effect to the image so as to distinguish the target object to be named from the neighboring objects among the recognized objects. For example, in a state where an image including the target object 1310 and the neighboring objects 1330 is output to the display 1301, the object recognition unit 210 may display a text object 1313 indicating information (e.g., device type) of the target object 1310 near the target object 1310, and display a frame object 1311 indicating an edge or separation area of the target object 1310 around the target object 1310.
[0170] According to an embodiment, the electronic device 1300 may output an image obtained by capturing a specific space in a first area 1301a (e.g., a left area) of the display 1301, and output a capturing direction of the image and information about the specific space in a second area 1301b (e.g., a right area) of the display 1301. For example, the electronic device 1300 may output a compass object 1370 indicating a capturing direction of the image and a list object 1390 including a space name for configuring the space name of the specific space in the second area 1301b.
[0171] Fig.14 is a diagram illustrating example screens for describing a method of selecting a target to be named or controlled according to an embodiment of the present disclosure.
[0172] Reference Fig.14 , the electronic device 1400 (eg, the electronic device 101) including the control module 200 may recognize an object in a specific space through the object recognition unit 210 of the control module 200. For example, the object recognition unit 210 may determine the type of the object in the specific space and the position of the object in the specific space.
[0173] According to an embodiment, in a state where the electronic device 1400 outputs an image obtained by capturing a specific space to the display 1401, the object recognition unit 210 may apply a graphic effect to the image to distinguish a target object to be named or controlled from neighboring objects among the recognized objects. For example, while displaying the first object 1410, the second object 1430, and the third object 1450 on the display 1401, the object recognition unit 210 may display a text object 1413 indicating information about the first object 1410 near the first object 1410, a frame object 1411 indicating an edge or separation area of the first object 1410 near the first object 1410, a text object 1453 indicating information about the third object 1450 near the third object 1450, and a frame object 1451 indicating an edge or separation area of the third object 1450 near the third object 1450.
[0174] According to an embodiment, when there are multiple electronic devices of the same type or performing the same function in a specific space, the electronic device 101 may perform a function of selecting one of the electronic devices as a target object to be named or controlled. For example, the electronic device 1400 may select the target object through the user input 1403. For example, upon receiving the user input 1403 for selecting the third object 1450, the electronic device 101 may select the selected third object 1450 as the target object. In this case, the electronic device 101 may release the graphic effect applied to the first object 1410 excluded from the selection of the target object. For example, the electronic device 101 may omit the text object 1413 indicating information about the first object 1410 and the frame object 1411 indicating the edge or separation area of the first object 1410 from the display 1401. Therefore, the user can be guided to accurately select the electronic device to be named or the electronic device to be controlled from multiple electronic devices of the same type or performing the same function.
[0175] According to an embodiment, the electronic device 1400 may output an image obtained by capturing a specific space in a first area 1401a (e.g., a left area) of the display 1401, and output a capturing direction of the image and information about the specific space in a second area 1401b (e.g., a right area) of the display 1401. For example, the electronic device 1400 may output a compass object 1470 indicating a capturing direction of the image and a list object 1490 including a space name for configuring the space name of the specific space in the second area 1401b.
[0176] Fig.15 is a diagram illustrating example screens describing a method of configuring spatial information of an object according to an embodiment of the present disclosure.
[0177] Reference Fig.15 , the electronic device 1500 (eg, the electronic device 101) including the control module 200 may recognize an object in a specific space through the object recognition unit 210 of the control module 200. For example, the object recognition unit 210 may determine the type of the object in the specific space and the position of the object in the specific space.
[0178] According to an embodiment, in a state where the electronic device 1500 displays an image obtained by capturing a specific space on the display 1501, the object recognition unit 210 may apply a graphic effect to the image so as to distinguish a target object to be named from neighboring objects among the recognized objects. For example, while displaying a first object 1510 and a second object 1530 on the display 1501, the object recognition unit 210 may display a text object 1513 indicating information about the first object 1510 near the first object 1510, and display a frame object 1511 indicating an edge or a separation area of the first object 1510 near the first object 1510. In addition, while outputting an image obtained by capturing a specific space in a first area 1501a (e.g., a left area) of the display 1501, the electronic device 1500 may output a capturing direction of the image and information about the specific space in a second area 1501b (e.g., a right area) of the display 1501. For example, the electronic device 1500 may output a compass object 1570 indicating a capturing direction of an image and a list object 1590 including a space name for configuring a specific space in the second region 1501 b .
[0179] According to an embodiment, the spatial information acquisition unit 230 of the control module 200 may acquire spatial information of a specific space in which an object recognized by the object recognition unit 210 is set. For example, the spatial information acquisition unit 230 may acquire a spatial name of a specific space among the spatial information through a user input 1503. For example, when a user selects an item from a list object 1590 including a spatial name for configuring a spatial name of a specific space displayed on the display 1501, a spatial name corresponding to the selected item may be configured as the spatial name of the specific space.
[0180] According to an embodiment, the control module 200 may provide a UI for allowing the user to directly input a space name. For example, the control module 200 may output a text field object (not shown) in which a space name may be input in the second area 1501b.
[0181] According to an embodiment, the space name included in the list object 1590 may be determined based on at least one of the structural information and the layout information, wherein the structural information is determined based on the shape and position of the structure included in the space, and the layout information includes the type and position of the object set in the space. For example, when it is determined that the space is a space included in a house based on at least one of the structural information and the layout information, the control module 200 may configure the space name included in the list object 1590 to be the name of a common space included in the house (for example, a living room, a bathroom, a kitchen, or a bedroom). According to another embodiment, the space name included in the list object 1590 may be configured to be a space name previously input by a user. For example, the control module 200 may configure the space name included in the list object 1590 to be a space name input by a user through a text field object.
[0182] Fig.16 is a flowchart illustrating an example method of controlling an external electronic device according to various embodiments of the present disclosure.
[0183] Reference Fig.16 , the electronic device 101 (eg, Figure 4A , Figure 4B , Figure 4E and Figure 4F The first electronic device 410 of the electronic device 101 may include at least some of the control module 200 (eg, the instruction processing unit 290). At operation 1610, the instruction processing unit 290 of the control module 200 may acquire a voice instruction received through a microphone of the electronic device 101.
[0184] The instruction processing unit 290 may analyze the voice instruction at operation 1620. According to an embodiment, the instruction processing unit 290 may convert the voice instruction into text data by performing voice recognition on the voice instruction, and extract a name-related expression and a function-related expression from the text data.
[0185] At operation 1630, the instruction processing unit 290 may identify (confirm) a target object (external electronic device) to be controlled. According to an embodiment, the instruction processing unit 290 may confirm the target object based on an expression associated with a name extracted from the text data. The expression associated with the name may include a name generated based on the type of the target object (default name), a name generated based on a positional relationship with a neighboring object (a descriptive name associated with a first positional relationship), a name generated based on a space name of a space where the target object is set (a descriptive name based on a space), or a name generated based on a positional relationship with a structure included in the space where the target object is set (a descriptive name based on a second positional relationship).
[0186] According to an embodiment, the instruction processing unit 290 may confirm the target object based on a database storing information about the object (e.g., the name, type, and location of the object, the positional relationship with adjacent objects, or information about the space in which the object is set). The database may be stored in the memory 130 of the electronic device 101, or in the memory of an external electronic device (e.g., the electronic device 102, the electronic device 104, or the server 108) that can communicate with the electronic device 101.
[0187] When the target object is confirmed, in operation 1640, the instruction processing unit 290 may confirm the control function. According to an embodiment, the instruction processing unit 290 may confirm the control function based on the expression related to the function extracted from the text data. The expression related to the function may include an instruction for executing the control function and an expression explaining the direction or position of the control function. The expression explaining the direction or position of the control function may include, for example, an expression indicating an absolute direction based on the position of the target object or an absolute position of fixed information indicating an area (or space) (e.g., a space name), or an expression indicating a relative direction or relative position based on a positional relationship with a neighboring object.
[0188] When the control function is confirmed, the instruction processing unit 290 may send the instruction related to the control function to the target object at operation 1650. For example, when the expression related to the function includes an instruction for executing the control function, the instruction processing unit 290 may send a signal corresponding to the instruction to the target object. According to an embodiment, when the expression related to the function includes an expression explaining a direction or position for the control function, the instruction processing unit 290 may send the instruction for executing the control function and a signal corresponding to the direction or position for the control function to the target object.
[0189] Fig.17A is a diagram illustrating an example method of speaking a voice command for controlling a device based on a positional relationship between objects according to various embodiments of the present disclosure, and Fig. 17B is a diagram illustrating an example process for processing a voice instruction according to various embodiments of the present disclosure.
[0190] Reference Fig.17A and Fig. 17B , when the user 1701 speaks a voice instruction 1700, the electronic device 1709 (e.g., the electronic device 101) including the control module 200 may receive the voice instruction 1700 of the user 1701 through a microphone, and analyze the received voice instruction 1700. According to an embodiment, the instruction processing unit 290 of the control module 200 may convert the voice instruction 1700 into text data by performing voice recognition on the voice instruction 1700, and extract the name-related expression and the function-related expression from the text data.
[0191] According to an embodiment, the voice instruction 1700 may include a plurality of instructions. In this case, the instruction processing unit 290 may distinguish between the instructions in the text data converted from the voice instruction 1700. For example, Fig. 17B As shown, first text data 1710 corresponding to a first instruction and second text data 1730 corresponding to a second instruction may be distinguished from text data converted from voice instruction 1700 .
[0192] The instruction processing unit 290 may extract the expression associated with the name and the expression associated with the function from the text data corresponding to each instruction. For example, the instruction processing unit 290 may extract the expression 1711 associated with the first name and the expression 1713 associated with the first function from the first text data 1710, and extract the expression 1731 associated with the second name and the expression 1733 associated with the second function from the second text data 1730.
[0193] The instruction processing unit 290 may extract meaningful tag information from the name-related expression 1711 and the name-related expression 1731. For example, the instruction processing unit 290 may extract the name 1711d of the first target object 1702 (e.g., "air conditioner") from the first name-related expression 1711 (and an expression for further explaining the first target object (e.g., "exists on the left side of the TV") to perform a first function, and extract the name 1731 of the second target object 1703 (e.g., "cleaning robot") from the second name-related expression 1730 (and an expression for further explaining the second target object) to perform a second function. Fig. 17B A state in which there is no expression for additionally explaining the second target object 1703 is shown.
[0194] When there is an expression for additionally explaining the target object, the instruction processing unit 290 may extract the name 1711a (e.g., "TV") of the corresponding object, an expression 1711b (e.g., "on the left") indicating the positional relationship between the target object and the corresponding object, and an expression 1711c (e.g., "exists") indicating the state from the expression for additionally explaining the target object. Therefore, the instruction processing unit 290 may confirm the target object based on the positional relationship between the target object and the corresponding object.
[0195] The instruction processing unit 290 may extract meaningful tag information from the function-related expression 1713 and the function-related expression 1733. For example, the instruction processing unit 290 may extract instructions 1713a and 1713d (e.g., "wind" and "make") for performing the first function and expressions 1713b and 1713c (e.g., "sofa" and "toward") for explaining the direction or position for the first function from the expression 1713 related to the first function, and extract instructions 1733c (e.g., "cleaning") for performing the second function and expressions 1733a and 1733b (e.g., "TV and air conditioner" and "between") for explaining the direction or position for the second function from the expression 1733 related to the second function.
[0196] Interpreting the expression of the direction or position for a function may include, for example, an expression indicating an absolute direction based on the position of an object or an absolute position of fixed information indicating an area (or space) (e.g., a space name), or an expression indicating a relative direction or relative position based on a positional relationship with a neighboring object. Interpreting the expression 1713b and expression 1713c indicating the direction or position for the first function includes a state of an expression indicating a relative direction based on a positional relationship with a first corresponding object 1704 (e.g., a sofa), and interpreting the expression 1733a and expression 1733b indicating the direction or position for the second function includes a state of an expression indicating a relative position based on a positional relationship with a second corresponding object 1705 (e.g., a TV) and a third corresponding object 1702 (e.g., an air conditioner). As described above, the instruction processing unit 290 may determine the direction or position of a function for a target object based on a positional relationship between the target object and the corresponding object.
[0197] As described above, according to various example embodiments, a method for controlling an external electronic device by an electronic device (e.g., electronic device 101) may include: an operation of acquiring a user's voice command through a microphone; an operation of performing voice recognition on the voice command, and confirming an operation of the external electronic device to be controlled based on an expression related to the name included in a result of the voice recognition; an operation of determining a direction or position of a function of the external electronic device based on an expression related to the function included in a result of the voice recognition; and an operation of sending a signal related to the function of the external electronic device and the direction or position of the function of the external electronic device to the external electronic device through a communication circuit.
[0198] According to various example embodiments, the method of controlling an external electronic device may further include: an operation of acquiring first information related to types of multiple external electronic devices set in a specific space and second information related to positions of the multiple external electronic devices in a first direction relative to the specific space, an operation of extracting names of the multiple external electronic devices from expressions related to the names based on the first information, and an operation of extracting expressions indicating relative positional relationships of the multiple external electronic devices from expressions related to the names based on the second information.
[0199] According to various example embodiments, the method of controlling an external electronic device may further include: an operation of determining a second direction in which a user views a specific space, an operation of correcting coordinate values of the multiple external electronic devices included in the second information based on determining that the first direction and the second direction are substantially different from each other, and an operation of redetermining a relative position relationship of the multiple external electronic devices based on the corrected coordinate values of the multiple external electronic devices.
[0200] According to various example embodiments, the operation of correcting the coordinate values of the multiple external electronic devices may include the following operation: based on determining that the first direction and the second direction are substantially opposite to each other, changing the sign of the X-axis coordinate value and the sign of the Z-axis coordinate value in the coordinate values of the multiple external electronic devices included in the second information.
[0201] According to various example embodiments, the operation of correcting the coordinate values of the multiple external electronic devices may include the following operations: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees clockwise from the first direction, among the coordinate values of the multiple external electronic devices included in the second information, changing the X-axis coordinate value to the Z-axis coordinate value while changing the sign of the X-axis coordinate value, and changing the Z-axis coordinate value to the X-axis coordinate value.
[0202] According to various example embodiments, the operation of correcting the coordinate values of the multiple external electronic devices may include the following operations: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees counterclockwise from the first direction, among the coordinate values of the multiple external electronic devices included in the second information, changing the X-axis coordinate value to the Z-axis coordinate value, and changing the Z-axis coordinate value to the X-axis coordinate value while changing the sign of the Z-axis coordinate value.
[0203] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those described above.
[0204] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, and include various changes, equivalents or alternative forms of the corresponding embodiments. With respect to the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It should be understood that, unless otherwise clearly stated in the relevant context, the singular form of the noun corresponding to the item may include one or more things. As used herein, each of the phrases such as "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" may include any one or all possible combinations of the items listed together in a corresponding phrase. As used herein, terms such as "1st" and "2nd" or "first" and "second" may be used to simply distinguish the corresponding component from another component, and do not limit the component in other aspects (e.g., importance or order). It should be understood that if an element (e.g., a first element) is referred to as being “coupled with”, “coupled to”, “connected with”, or “connected to” another element (e.g., the second element), with or without the term “operably” or “communicatively”, the element may be coupled with the other element (e.g., the second element) directly (e.g., by wire), wirelessly, or via a third element.
[0205] As used herein, the term "module" may include a unit implemented in hardware, software, or firmware, or any combination of hardware, software, and firmware, and may be used interchangeably with other terms, such as "logic", "logic block", "portion", or "circuit". A module may be a single integrated component or its smallest unit or portion that is suitable for performing one or more functions. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).
[0206] The various embodiments described herein may be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, a processor (e.g., processor 120) of a machine (e.g., electronic device 101) may call at least one of the one or more instructions stored in the storage medium, and execute the at least one instruction with or without one or more other components under the control of the processor. This allows the operating machine to perform at least one function according to the at least one instruction called. 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. Among them, a "non-transitory" storage medium is a tangible device and may not include a signal (e.g., an electromagnetic wave), but the term does not distinguish between data being semi-permanently stored in the storage medium and data being temporarily stored in the storage medium.
[0207] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)) or via an application store (e.g., PlayStore). TM ) online distribution (e.g., download or upload), or directly between two user devices (e.g., smartphones). If distributed online, at least a portion of the computer program product may be temporarily generated or at least temporarily stored in a machine-readable storage medium (such as a memory of a manufacturer's server, an application store's server, or a relay server).
[0208] According to various embodiments, each of the above-mentioned components (e.g., a module or a program) may include a single entity or multiple entities. According to various embodiments, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform one or more functions of each of the multiple components in the same or similar manner as performed by the corresponding components of the multiple components before integration. According to various embodiments, the operations performed by a module, a program, or another component may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more operations may be performed in a different order, or one or more operations may be omitted, or one or more other operations may be added.
[0209] Although the present disclosure has been shown and described with reference to various exemplary embodiments, it should be understood that the various exemplary embodiments are intended to be illustrative rather than restrictive. It will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the present disclosure (including the appended claims and their equivalents).
Claims
1. An electronic device, comprising: a communication circuit configured to communicate with an external electronic device; at least one processor; as well as A memory storing instructions, wherein when the instructions are executed by the at least one processor, the electronic device is prompted to perform the following operations: acquiring first information about types of a plurality of objects disposed in a first space and second information about positions of the plurality of objects in a first direction with respect to the first space, selecting a target object to be named from among the plurality of objects, generating at least one first name of the target object based on the information about the type of the target object in the first information, generating at least one second name of the at least one corresponding object based on information about a type of the at least one corresponding object disposed within a specified distance of the target object in the first information, determining a relative position relationship between the target object and the at least one corresponding object based on the second information, Based on the first direction being different from the second direction in which the user views the first space, the relative position relationship between the target object and the at least one corresponding object determined based on the second information is corrected to be the same as the relative position relationship between the target object and the at least one corresponding object viewed by the user, generating at least one third name of the target object based on the at least one first name, the at least one second name, and the relative positional relationship between the target object and the at least one corresponding object, confirming the target object based on the at least one third name included in the voice recognition result of the user's voice input, and A signal corresponding to the instruction included in the voice recognition result is transmitted to the target object through the communication circuit.
2. The electronic device according to claim 1, wherein: When the instructions are executed by the at least one processor, the electronic device is prompted to perform the following operations: acquiring, from the external electronic device through the communication circuit, an image obtained by capturing a first space along a first direction, and The first information and the second information are acquired by analyzing the image.
3. The electronic device as claimed in claim 1, further comprising a camera, in, When the instructions are executed by the at least one processor, the electronic device is prompted to perform the following operations: acquiring an image obtained by capturing a first space along a first direction via the camera, and The first information and the second information are acquired by analyzing the image.
4. The electronic device according to claim 1, wherein: When the instructions are executed by the at least one processor, the electronic device is prompted to perform the following operations: determining a second direction in which the user views the first space, correcting the coordinate value of the target object included in the second information and correcting the coordinate value of the at least one corresponding object based on that the first direction and the second direction according to the result of the determination are substantially different from each other, and Based on the corrected coordinate value of the target object and the corrected coordinate value of the at least one corresponding object, a relative positional relationship between the target object and the at least one corresponding object is re-determined.
5. The electronic device as claimed in claim 4, wherein: The instructions, when executed by the at least one processor, cause the electronic device to perform the following operations: based on determining that the first direction and the second direction are substantially opposite to each other, change the sign of the X-axis coordinate value and the sign of the Z-axis coordinate value in the coordinate value of the target object and the coordinate value of the at least one corresponding object included in the second information, and correct the coordinate value of the target object and the coordinate value of the at least one corresponding object.
6. The electronic device as claimed in claim 4, wherein: The instructions, when executed by the at least one processor, cause the electronic device to perform the following operations: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees clockwise from the first direction, among the coordinate values of the target object and the coordinate values of the at least one corresponding object included in the second information, change the X-axis coordinate value to a Z-axis coordinate value while changing the sign of the X-axis coordinate value, and change the Z-axis coordinate value to an X-axis coordinate value, so as to correct the coordinate values of the target object and the coordinate values of the at least one corresponding object.
7. The electronic device as claimed in claim 4, wherein: The instructions, when executed by the at least one processor, cause the electronic device to perform the following operations: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees counterclockwise from the first direction, among the coordinate values of the target object and the coordinate values of the at least one corresponding object included in the second information, change the X-axis coordinate value to a Z-axis coordinate value, and change the Z-axis coordinate value to an X-axis coordinate value while changing the sign of the Z-axis coordinate value, so as to correct the coordinate values of the target object and the coordinate values of the at least one corresponding object.
8. The electronic device as claimed in claim 1, wherein: The instructions, when executed by the at least one processor, cause the electronic device to send the at least one third name to the external electronic device through the communication circuit.
9. The electronic device as claimed in claim 1, further comprising a microphone, in, When the instructions are executed by the at least one processor, the electronic device is prompted to perform the following operations: Acquiring voice commands through the microphone, performing speech recognition on the voice command, confirming the target object based on a name-related expression included in a result of the speech recognition, determining a direction or position for executing the function of the target object based on a function-related expression included in a result of the speech recognition, and A signal related to the function of the target object and the direction or the position for performing the function of the target object is transmitted to the target object through the communication circuit.
10. A method for controlling an external electronic device by an electronic device, the method comprising: Get voice commands through microphone; performing speech recognition on the voice command; confirming an external electronic device to be controlled based on an expression associated with the name included in a result of the voice recognition; determining a direction or position of a function with respect to the external electronic device based on an expression related to the function included in a result of the voice recognition; as well as transmitting a signal related to a function of the external electronic device and the direction or the position with respect to the function of the external electronic device to the external electronic device through a communication circuit, The step of confirming the external electronic device to be controlled includes: acquiring first information related to types of a plurality of external electronic devices disposed in a specific space and second information related to positions of the plurality of external electronic devices in a first direction with respect to the specific space, extracting the names of the plurality of external electronic devices from the name-related expressions based on the first information, extracting an expression indicating a relative positional relationship of the plurality of external electronic devices from the expression associated with the name based on the second information, Based on the first direction and the second direction from which the user views the specific space being different from each other, correcting the relative positional relationship of the plurality of external electronic devices extracted based on the second information to be the same as the relative positional relationship of the plurality of external electronic devices viewed by the user, and The external electronic device to be controlled is confirmed based on the names of the plurality of external electronic devices and the relative positional relationship of the plurality of external electronic devices.
11. The method of claim 10, wherein: The steps of obtaining the first information and the second information include: acquiring an image obtained by capturing the specific space along a first direction, and The first information and the second information are acquired by analyzing the image.
12. The method of claim 11, wherein: The step of correcting the relative position relationship of the plurality of external electronic devices comprises: determining a second direction in which the user is viewing the specific space; based on determining that the first direction and the second direction are substantially different from each other, correcting the coordinate values of the plurality of external electronic devices included in the second information; and The relative positional relationship of the plurality of external electronic devices is re-determined based on the corrected coordinate values of the plurality of external electronic devices.
13. The method of claim 12, wherein: The step of correcting the coordinate values of the multiple external electronic devices includes: based on determining that the first direction and the second direction are substantially opposite to each other, changing the signs of the X-axis coordinate values and the Z-axis coordinate values in the coordinate values of the multiple external electronic devices included in the second information.
14. The method of claim 12, wherein: The step of correcting the coordinate values of the multiple external electronic devices includes: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees clockwise from the first direction, among the coordinate values of the multiple external electronic devices included in the second information, changing the X-axis coordinate value to the Z-axis coordinate value while changing the sign of the X-axis coordinate value, and changing the Z-axis coordinate value to the X-axis coordinate value.
15. The method of claim 12, wherein: The step of correcting the coordinate values of the multiple external electronic devices includes: based on determining that the second direction corresponds to a direction rotated approximately 90 degrees counterclockwise from the first direction, among the coordinate values of the multiple external electronic devices included in the second information, changing the X-axis coordinate value to the Z-axis coordinate value, and changing the Z-axis coordinate value to the X-axis coordinate value while changing the sign of the Z-axis coordinate value.
Citation Information
Patent Citations
Intelligent household voice control method, intelligent device and apparatus with storage function
CN107528753A