WO2022163948A1 - 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치 - Google Patents
외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치 Download PDFInfo
- Publication number
- WO2022163948A1 WO2022163948A1 PCT/KR2021/006167 KR2021006167W WO2022163948A1 WO 2022163948 A1 WO2022163948 A1 WO 2022163948A1 KR 2021006167 W KR2021006167 W KR 2021006167W WO 2022163948 A1 WO2022163948 A1 WO 2022163948A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- electronic device
- information
- external electronic
- application
- widget
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 128
- 230000006870 function Effects 0.000 claims description 62
- 238000004891 communication Methods 0.000 claims description 46
- 238000005406 washing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 2
- 230000018044 dehydration Effects 0.000 description 2
- 238000006297 dehydration reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002407 reforming Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
Definitions
- Various embodiments of the present disclosure relate to a method of generating an application for controlling an external electronic device and an electronic device supporting the same.
- the Internet a human-centered connection network where humans generate and consume information
- IoT Internet of Things
- the IoT environment can provide intelligent Internet technology services that create new values in human life by collecting and analyzing data generated between connected objects.
- IoT can be applied to various fields such as smart home, smart building, smart city, smart car or connected car, smart grid, healthcare, smart home appliance, and advanced medical service through various convergence with existing information technology (IT).
- IT information technology
- an application for controlling electronic devices such as a TV, an air conditioner, and a washing machine through a terminal in an IoT environment has recently been provided.
- a user may manage or control various electronic devices by using an application installed in the terminal.
- an application for controlling an electronic device used in an IoT environment is provided by installing a completed application in a terminal.
- an application for controlling an electronic device is provided in such a way that the terminal downloads and installs an application from an app store, or the terminal receives and installs an application package through the web.
- various embodiments of the present disclosure obtain device information from an external electronic device to be controlled, and transmit the obtained device information to an artificial intelligence (AI) widget, One or more user interface (UI) widgets corresponding to the device information are generated based on one or more AI models included in the AI widget, and an application including the generated one or more UI widgets is executed by the external electronic device
- AI artificial intelligence
- UI user interface
- An electronic device includes a display, a communication interface, and at least one processor operatively connected to the display and the communication interface, wherein the at least one processor is a first external electronic device to obtain first device information of the first external electronic device and first control information for controlling one or more functions provided by the first external electronic device from obtains first icon information corresponding to the acquired first device information, generates a first icon based on the obtained first icon information, and uses the generated first icon as a first icon related to the first external electronic device Display as an icon of an application, obtain user interface (UI) information corresponding to the obtained first control information using the artificial intelligence model, and based on the obtained UI information, 1 Generates one or more UI widgets to be displayed when an application is executed, obtains arrangement information for the one or more UI widgets using the artificial intelligence model, and obtains the obtained arrangement when the first application is executed It may be set to display the one or more UI widgets at a location corresponding to the information.
- UI user interface
- a method of performing a function using a biosignal in an electronic device is a method of generating an application for controlling an external electronic device in an electronic device, wherein the first acquiring first device information of an external electronic device and first control information for controlling one or more functions provided by the first external electronic device; Obtaining first icon information corresponding to the obtained first device information using an artificial intelligence model, and generating a first icon based on the obtained first icon information, displaying an icon as an icon of a first application related to the first external electronic device; User interface (UI) information corresponding to the acquired first control information is acquired by using the artificial intelligence model, and one or more UIs to be displayed when the first application is executed based on the acquired UI information creating widgets; and obtaining arrangement information for the one or more UI widgets by using the artificial intelligence model, and displaying the one or more UI widgets at a position corresponding to the obtained arrangement information when the first application is executed. can do.
- UI User interface
- a method for generating an application for controlling an external electronic device and an electronic device supporting the same may generate an application for controlling an external electronic device more quickly and accurately based on an AI model.
- the method and the electronic device according to various embodiments of the present disclosure can generate an application based on a usage history for each external electronic device without user intervention, and use the previously created application for other external electronic devices. It can be modified to make it easier to use.
- FIG. 1 is a diagram illustrating an Internet of things (IoT) system according to an embodiment.
- IoT Internet of things
- FIG. 2 is a diagram schematically illustrating a process of generating an application for controlling an external electronic device using an electronic device according to various embodiments of the present disclosure
- FIG. 3 is a block diagram of an electronic device according to various embodiments of the present disclosure.
- FIG. 4 is a flowchart illustrating an operation of generating an application in an electronic device and controlling an external electronic device using the generated application according to various embodiments of the present disclosure
- FIG. 5 is a block diagram of an AI widget according to various embodiments.
- FIG. 6 is a diagram for describing device models that may be included in an AI widget according to various embodiments.
- FIG. 7 is a diagram for describing widget models that may be included in an AI widget according to various embodiments.
- FIG. 8 is a diagram for describing placement models that may be included in an AI widget according to various embodiments.
- FIG. 9 is a diagram for describing an operation of an electronic device reforming an application generated for a specific external electronic device into an application for another external electronic device, according to various embodiments of the present disclosure.
- FIG. 10 is a flowchart illustrating an operation of generating an application by an electronic device according to various embodiments of the present disclosure
- FIG. 11 is a flowchart illustrating an operation of an electronic device controlling an external electronic device using an application according to various embodiments of the present disclosure
- FIG. 12 is a flowchart illustrating an operation in which an electronic device generates an application based on a usage history for each external electronic device according to various embodiments of the present disclosure
- FIG. 1 illustrates an internet of things (IoT) system 100 according to an embodiment. Meanwhile, at least some of the components of FIG. 1 may be omitted, and components not shown may be further included.
- IoT internet of things
- an IoT system 100 includes a plurality of electronic devices connectable to a data network 116 or 146 .
- the IoT system 100 includes a first IoT server 110 , a first node 120 , a voice assistance server 130 , a second IoT server 140 , and a second node. 150 , or at least one of devices 121 , 122 , 123 , 124 , 125 , 136 , 137 , 151 , 152 and 153 .
- the first IoT server 110 may include at least one of a communication interface 111 , a processor 112 , and a storage unit 113 .
- the second IoT server 140 may include at least one of a communication interface 141 , a processor 142 , and a storage unit 143 .
- An "IoT server" in this document is, for example, based on a data network (eg, data network 116 or data network 146), a relay device (eg, the first node 120 or the second node ( 150)), or directly without a relay device, one or more devices (eg, devices 121,122,123,124,125,151,152,153) may be remotely controlled and/or monitored.
- a “device” herein means a sensor, home appliance, office electronic device, or A device for performing a process, the type is not limited.
- a device that receives the control command and performs an operation corresponding to the control command may be referred to as a “target device”.
- the IoT server may be referred to as a central server in that it selects a target device from among a plurality of devices and provides a control command.
- the first IoT server 110 may communicate with the devices 121 , 122 , and 123 through the data network 116 .
- the data network 116 may refer to a network for long-distance communication, such as, for example, the Internet, or a computer network (eg, LAN or WAN), or may include a cellular network.
- the first IoT server 110 may be connected to the data network 116 through the communication interface 111 .
- the communication interface 111 may include a communication device (or communication module) for supporting communication of the data network 116 , and may be integrated into one component (eg, a single chip), or a plurality of separate components. may be implemented with components (eg, a plurality of chips).
- the first IoT server 110 may communicate with the devices 121 , 122 , and 123 through the first node 120 .
- the first node 120 may receive data from the first IoT server 110 through the data network 116 and transmit the received data to at least some of the devices 121 , 122 , and 123 .
- the first node 120 may receive data from at least some of the devices 121 , 122 , and 123 , and transmit the received data to the first IoT server 110 through the data network 116 .
- the first node 120 may serve as a bridge between the data network 116 and the devices 121 , 122 , 123 .
- the first node 120 is illustrated as one, but this is merely exemplary, and the number is not limited.
- the first IoT server 110 may support direct communication with the devices 124 and 125 .
- direct communication may refer to communication not through a relay device such as the first node 120, for example, communication through a cellular communication network and/or a data network.
- the first IoT server 110 may transmit a control command to at least some of the devices 121 , 122 , 123 , 124 and 125 .
- the “control command” may mean data that causes a controllable device to perform a specific operation, and the specific operation is an operation performed by the device, including output of information, sensing of information, reporting of information, It may include management (eg, deletion or creation) of information, and there is no limitation on the type.
- the processor 112 generates a control command from an external (eg, at least some of the voice assistant server 130 , the second IoT server 140 , the external system 160 , or the devices 121 , 122 , 123 , 124 , 125 ).
- the processor 112 may generate a control command based on a result of monitoring at least some of the devices 121 , 122 , 123 , 124 and 125 satisfying a specified condition.
- the processor 112 may control the communication interface 111 to transmit a control command to the target device.
- the processor 112 may include a central processing unit (CPU), a digital signal processor (DSP), an application processor (AP), a communication processor (CP), or the like. It may be implemented as a combination of one or more of a general-purpose processor, a graphic processing unit (GPU), a graphics-only processor such as a vision processing unit (VPU), or an artificial intelligence-specific processor such as a neural processing unit (NPU). It will be understood by those skilled in the art that the above-described processing unit is merely exemplary, and the processor 112 is not limited as long as it is an arithmetic means capable of executing, for example, an instruction stored in the storage unit 113 and outputting the executed result. .
- CPU central processing unit
- DSP digital signal processor
- AP application processor
- CP communication processor
- the processor 112 may configure a web-based interface based on the API 114 or expose a resource managed by the first IoT server 110 to the outside. .
- the web-based interface may support communication between the first IoT server 110 and an external web service, for example.
- the processor 112 may, for example, allow an external system 160 to control and/or access the devices 121 , 122 , and 123 .
- the external system 160 may be, for example, an independent system that is not related to, or is not part of, the IoT system 100 .
- the external system 160 may be, for example, an external server or a web site.
- the processor 112 may expose the automation application to an API endpoint (eg, a universal resource locator (URL)) based on the API 114 to the outside.
- the first IoT server 110 may transmit a control command to a target device among the devices 121 , 122 , and 123 .
- the description of the communication interface 141 of the second IoT server 140 , the processor 142 , the API 144 of the storage unit 143 , and the database 145 the communication of the first IoT server 110 .
- the description of the interface 111 , the processor 112 , the API 114 of the storage 113 , and the database 115 may be substantially the same.
- the description of the second node 150 may be substantially the same as the description of the first node 120 .
- the second IoT server 140 may transmit a control command to a target device among the devices 151 , 152 , and 153 .
- the first IoT server 110 and the second IoT server 140 may be operated by the same service provider in one embodiment, but may be operated by different service providers in another embodiment.
- the voice assistant server 130 may transmit/receive data to and from the first IoT server 110 through the data network 116 .
- the voice assistant server 130 may include at least one of a communication interface 131 , a processor 132 , and a storage unit 133 .
- the communication interface 131 may communicate with the smart phone 136 or the AI speaker 137 through a data network (not shown) and/or a cellular network (not shown).
- the smart phone 136 or the AI speaker 137 may include a microphone, obtain a user voice, convert it into a voice signal, and transmit the voice signal to the voice assistant server 130 .
- the processor 132 may receive a voice signal from the smart phone 136 or the AI speaker 137 through the communication interface 131 .
- the processor 132 may process the received voice signal based on the stored model 134 .
- the processor 132 may generate (or confirm) a control command using the processing result based on information stored in the database 135 .
- the storage units 113 , 133 , and 143 may include a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (eg, SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) Memory), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of non-transitory storage medium, and the type is not limited.
- device information is obtained from an external electronic device to be controlled, the obtained device information is transmitted to an artificial intelligence (AI) widget, and one or more items included in the AI widget are obtained.
- AI artificial intelligence
- FIG. 2 is a diagram schematically illustrating a process of generating an application for controlling an external electronic device using an electronic device according to various embodiments of the present disclosure.
- an electronic device 201 may be a terminal such as a smart phone or a tablet PC.
- the electronic device 201 may be the voice assistant server 130 or the second IoT server 140 of FIG. 1 .
- the electronic device 201 is not limited to the above devices, and is capable of device-to-device communication, such as device-to-device (D2D) communication, and capable of accessing a server (eg, a cloud server, etc.) on a network. It can be any device.
- D2D device-to-device
- the electronic device 201 may search for the external electronic device 203 according to a user's selection or by itself.
- the external electronic device 203 may be an electronic device used in an IoT environment, for example, a TV, a washing machine, or a home appliance such as an air conditioner.
- the external electronic device 203 may support controlling one or more functions provided by the external electronic device 203 through an application.
- the electronic device 201 when the electronic device 201 searches for a TV as the external electronic device 203 , the electronic device 201 uses a voice for receiving a user's selection such as "Do you want to create an application for the TV?" By outputting a signal or displaying text for receiving the user's selection on the screen, the user's selection of whether to generate the application may be received. If the user selects to create a TV application, that is, a TV application, the electronic device 201 creates a TV application and displays the TV application created on the screen 205 of the electronic device 201 as an icon 207 . can be displayed
- the TV application may provide one or more UI widgets for controlling functions of the TV.
- the TV application includes device information 202 for the TV (for example, a device access uniform resource identifier (URI) and device name for connecting to the TV) and control information 204 (information for controlling the function of the TV).
- URI uniform resource identifier
- control information 204 information for controlling the function of the TV.
- it may be generated through the AI widget 206 based on URI resource information for controlling at least one of power, volume, or channel).
- the AI widget 206 may generate an application for the external electronic device 203 using one or more AI models.
- 2 illustrates that the AI widget 206 includes a device model, a widget model, and a layout model as one or more AI models.
- the AI widget 206 uses a device model to display an icon 207 (eg, a TV icon) corresponding to a device name (eg, TV) included in the device information 202 . ) can be created.
- an icon 207 eg, a TV icon
- a device name eg, TV
- the AI widget 206 uses a widget model to generate one corresponding to the control information 204 .
- the above UI widgets can be created.
- the AI widget 206 uses the widget model to control volume, power on/off and A volume UI widget 208 , a power UI widget 210 , and a channel UI widget 212 corresponding to the off and channel selection information may be generated.
- the AI widget 206 determines the placement positions of the generated volume UI widget 208 , the power UI widget 210 , and the channel UI widget 212 based on the placement model, and when the TV application 214 is executed
- the volume UI widget 208 , the power UI widget 210 , and the channel UI widget 212 may be arranged and displayed at the determined position. Then, based on the volume UI widget 208 , the power UI widget 210 , and the channel UI widget 212 displayed when the TV application 214 is executed, the user controls the volume, power on/off, or the channel for the TV. An operation may be performed on at least one of the selections.
- FIG. 3 is a block diagram 300 of an electronic device according to various embodiments.
- the electronic device may be the voice assistant server 130 or the second IoT server 140 of FIG. 1 .
- the electronic device according to various embodiments may be the electronic device 201 of FIG. 2 or an electronic device to be described later.
- the electronic device may include a display 310 , a communication interface 330 , a memory 320 , and a processor 340 .
- the display 310 may display information generated by the processor 340 , information input by a user, information received from at least one external electronic device or a network, and the like under the control of the processor 340 .
- the display 310 may display an icon corresponding to an application for controlling an external electronic device generated using an AI widget, and display one or more UI widgets when the corresponding application is executed. In an embodiment, the display 310 may display a control result for the external electronic device. In an embodiment, the display 310 may display various menus for receiving a user's selection for creating or executing an application or controlling an external electronic device. The information displayed by the display 310 is not limited to the above-described example.
- the communication interface 330 may include an interface for communication with one or more external electronic devices and an interface for communication with a network server. In an embodiment, the communication interface 330 may communicate with one or more external electronic devices using a D2D communication method or the like. In an embodiment, the communication interface 330 may acquire an AI widget by accessing a cloud server. In an embodiment, the communication interface 330 may be included in at least one of the communication interface 131 and the communication interface 141 of FIG. 1 .
- the memory 320 may store various information according to the operation of the processor 340 .
- the memory 320 includes information generated by the processor 340 , information input through the communication interface 330 , information received from one or more external electronic devices or networks through the communication interface 330 , or a communication interface ( 330) may store at least one of information transmitted to another device or a network.
- the memory 320 may store information, commands, and indicators for application creation and control operations of the external electronic device, and may store an AI widget obtained from a cloud server.
- memory 320 may include volatile memory or non-volatile memory. In an embodiment, the memory 320 may be included in at least one of the storage unit 133 and the storage unit 143 of FIG. 1 .
- processor 340 may include one or more processors.
- the processor 340 may control the display 310 , the memory 320 , and the communication interface 330 .
- the processor 340 may be included in at least one of the processor 132 and the processor 142 of FIG. 1 .
- the processor 340 may perform operations performed in the electronic device 300 according to various embodiments to be described later.
- An electronic device includes a display 310 , a communication interface 330 , and at least one processor 340 functionally connected to the display 310 and the communication interface 330 . and the at least one processor 340 obtains, from a first external electronic device, device information of the first external electronic device and control information for controlling one or more functions provided by the first external electronic device, , obtains first icon information corresponding to the obtained device information using an artificial intelligence model, generates a first icon based on the obtained first icon information, and sets the generated first icon to the first Display as an icon of a first application related to an external electronic device, obtain user interface (UI) information corresponding to the obtained control information using the artificial intelligence model, and obtain the obtained UI information generates one or more UI widgets to be displayed when the first application is executed based on case, it may be set to display the one or more UI widgets at a position corresponding to the obtained arrangement information.
- UI user interface
- the at least one processor 340 may be configured to obtain the device information and the control information from the first external electronic device using a device-to-device (D2D) communication method.
- D2D device-to-device
- the at least one processor 340 may be configured to obtain an artificial intelligence widget from a cloud server and use the artificial intelligence model included in the artificial intelligence widget.
- the at least one processor 340 checks a UI widget selected by a user from among the one or more UI widgets, checks control information corresponding to the checked UI widget, and It may be configured to transmit control information to the first external electronic device.
- the at least one processor 340 checks the frequency of use of each of the plurality of external electronic devices during a preset period, and uses the plurality of external electronic devices among the plurality of external electronic devices based on a result of the check It may be configured to identify at least one external electronic device having a frequency higher than or equal to a threshold value and select one of the at least one external electronic device as the first external electronic device.
- the at least one processor 340 receives a user's input requesting generation of an application for controlling the first external electronic device, and the second specified based on the user's input. 1 It may be configured to establish a connection with an external electronic device, and to acquire the device information and the control information from the first external electronic device based on the set connection.
- the at least one processor 340 may be configured to obtain control information for controlling the one or more functions whose frequency of use is higher than or equal to a threshold value among the controllable functions of the first external electronic device.
- the at least one processor 340 is configured to control device information of the second external electronic device and one or more functions provided by the second external electronic device from a second external electronic device. It may be configured to acquire information and change the first application to a second application related to the second external electronic device based on device information of the second external electronic device and control information of the second external electronic device have.
- the at least one processor 340 obtains second icon information corresponding to device information of the second external electronic device using the artificial intelligence model, and based on the second icon information to generate a second icon as an icon of the second application, change the first icon to the second icon and display it, and control information corresponding to the one or more UI widgets to control the second external electronic device
- the one or more UI widgets may be set to be changed to one or more UI widgets to be displayed when the second application is executed.
- FIG. 4 is a flowchart 490 illustrating a process of generating an application in an electronic device and controlling an external electronic device using the generated application according to various embodiments of the present disclosure.
- the electronic device may include a device target unit 410 , an application manager 430 , a home screen manager 440 , an application execution unit 450 , and a browser 460 .
- a device target unit 410 the electronic device may include a device target unit 410 , an application manager 430 , a home screen manager 440 , an application execution unit 450 , and a browser 460 .
- the device target unit 410 , the application manager 430 , the home screen manager 440 , the application execution unit 450 , and the browser 460 shown in FIG. 4 are software modules, and are It may be stored in the memory 320 and executed by being loaded by the processor 340 .
- the device target unit 410 , the application manager 430 , the home screen manager 440 , the application execution unit 450 , and the browser 460 shown in FIG. 4 each have a processor 340 and a physical It may be a component separated by .
- the processor 340 configures the device target unit 410 , the application manager 430 , the home screen manager 440 , the application execution unit 450 , and the browser 460 to perform the operation shown in FIG. 4 . can be controlled
- the electronic device controls an external device using a generation flow 480 (eg, operations 401, 402, 403, 404, 405, 406) for generating an application and the generated application.
- a generation flow 480 eg, operations 401, 402, 403, 404, 405, 406
- 470 eg, operations 411 , 412 , and 414 ) may be performed.
- the creation flow 480 may be started based on a user's application creation request in operation 401 .
- the application creation request is a request for generating an application related to the external electronic device, and may include information for specifying or identifying the external electronic device.
- the application creation request is based on a user's selection of a menu displayed on the screen of the electronic device, or a separate user input (such as a keypad input or a touch input on the screen) for requesting application creation, etc. It may be input to the device targeter 410 of the electronic device.
- the device target unit 410 may identify a target device based on information included in the application creation request. That is, the device target unit 410 may identify the external electronic device as the target device 420 based on information included in the application creation request.
- the device target unit 410 may obtain device information from the target device 420 through a device service enabling D2D communication to be performed ( 402 ).
- the device information obtained from the target device 420 may include a device access URI, a device name, and resource information for device function control.
- the device access URI is information for allowing access to the target device 420 , and may be, for example, a device access address in a local network or a device address in a home network.
- the device target unit 410 may download the AI widget 400 from the cloud in operation 403 .
- the AI widget 400 may be obtained from a server of another external network instead of the cloud.
- the device target unit 410 may request the application manager 430 to generate an application based on the device information obtained from the AI widget 400 and the target device 420 .
- the application manager 430 may generate an application based on the AI widget 400 and device information in operation 406 , and display an icon 444 corresponding to the generated application on the screen 442 of the electronic device on the home screen. It may instruct the management unit 440 .
- the home screen manager 440 may display an icon 444 corresponding to an application generated based on an instruction from the application manager 430 on the screen 442 of the electronic device.
- the control flow 470 may be started based on an execution request for an application created based on the generation flow 480 in operation 411 .
- the application execution request may be generated when the user selects the application icon 444 displayed on the screen 442 of the electronic device.
- the generated application execution request may be provided to the application execution unit 450 .
- the application execution unit 450 may execute the application based on the application execution request in operation 412 .
- one or more UI widgets for controlling at least one of volume, power, and a channel may be displayed on the screen 442 of the electronic device.
- control information resource information such as URI, etc.
- control information corresponding to the selected UI widget may be transmitted to the target device 420 based on a D2D method or the like.
- control information corresponding to the UI widget selected through the browser 460 may be transmitted to the target device 420 which is an external electronic device.
- the target device 420 may control the operation of the target device 420 by performing a function corresponding to the received control information.
- the device target unit 410, the application manager 430, the home screen manager 440, the application execution unit 450, and the browser 460 are exemplified as independent modules, but may not be limited thereto. .
- at least one of the device target unit 410 , the application manager 430 , the home screen manager 440 , the application execution unit 450 , and the browser 460 may be integrated as one module.
- FIG. 5 is a block diagram 550 of an AI widget according to various embodiments.
- the AI widget 500 may include one or more AI models.
- the AI widget 500 may include a device model 510 , a widget model 520 , and a deployment model 530 as AI models.
- the AI widget 500 may correspond to the AI widget 206 of FIG. 2 and the AI widget 400 of FIG. 4 , and may also correspond to an AI widget to be described in the drawings to be described later.
- a device name 508 and control information (resource information for device function control) 518 may be input to the AI widget 500 as device information.
- the AI widget 500 may output a device icon 512 corresponding to the input device name 508 based on the device model 510 .
- the device model 510 may include a word-icon learning model as AI information.
- the word-icon learning model may be generated as a result of learning one or more words and one or more icons.
- the word-icon learning model may indicate one or more devices corresponding to one or more words, and may indicate one or more icons corresponding to one or more devices.
- the AI widget 500 may provide a device icon corresponding to the device name based on the word-icon learning model. For example, when “oic.d.tv” or “tv” is input as the device name 508, the AI widget 500 may display “oic.d.tv” or “tv” based on the word-icon learning model.
- a device eg, a television
- an icon corresponding to the identified device may be provided as the device icon 512 .
- the device icon 512 may be an image icon, but an image stored inside the electronic device or in a cloud or an external server may be indicated in the form of a URI.
- the AI widget 500 may generate a UI widget 522 corresponding to the input control information 518 based on the widget model 520 .
- one or more UI widgets 522 may be created.
- the widget model 520 may include a widget-function learning model as AI information.
- the widget-function learning model may be generated as a result of learning information about one or more widgets and one or more device functions.
- the widget-function learning model may indicate one or more device functions corresponding to the input control information 518 , and may indicate one or more widgets corresponding to one or more device functions.
- the AI widget 500 is based on the widget-function learning model, the function (eg, power on/off) of the device corresponding to the control information 518 "oic.r.power” or “power”. function) and provide a UI widget 522 corresponding to the identified function of the device.
- the resource URI is an example of control information for device control, and when the UI widget 522 is selected, control information corresponding to the resource URI may be transmitted to the electronic device.
- the AI widget 500 may determine a location in which the one or more UI widgets will be arranged based on the placement model 530 .
- the position at which the one or more UI widgets are to be arranged may indicate an arrangement position of the one or more UI widgets to be displayed on the screen after the application is executed.
- the batch model 530 may include a batch learning model as AI information.
- the batch learning model may be generated as a result of learning the resolution information and the batch information.
- the resolution information may include available resolution information of the electronic device, and the arrangement information may include arrangement information for displaying one or more widgets on a screen based on the number or type of widgets to be displayed. .
- the generated Information on the two UI widgets 528 and resolution information of the electronic device may be used in the AI widget 500 .
- the AI widget 500 may determine the placement positions for the two UI widgets 528 based on the placement model 530 using the information on the two UI widgets 528 and the resolution information of the electronic device. have.
- the two UI widgets 528 that is, the power UI widget and the slider UI widget, may be arranged at a determined arrangement position (eg, the content layout 532 ) when the application is executed.
- the power UI widget and the slider UI widget may be displayed in the form of icons.
- FIG. 5 exemplifies that the AI widget 500 separately includes the device model 510 , the widget model 520 , and the arrangement model 530 , the present invention is not limited thereto.
- the device model 510 , the widget model 520 , and the deployment model 530 may be used as one unified AI model.
- AI models that may be included in the AI widget according to various embodiments will be described in detail.
- FIG. 6 is a diagram for describing device models that may be included in an AI widget according to various embodiments.
- the icon-word learning model 608 is a result of learning 606 of one or more icons 602 and one or more words 604 by an AI widget. can be created with
- the one or more icons 602 may include image icons associated with one or more devices.
- one or more icons 602 may each be data labeled.
- Data labeling includes data (eg, device type, device name, or device model name) associated with a device in each of the one or more icons 602 to indicate which device the one or more icons 602 each correspond to. and mapping at least one).
- the AI widget may learn 606 which device each of the one or more icons 602 represents, based on the data mapped to each of the one or more icons 602 .
- the one or more words 604 may include words related to one or more devices.
- the one or more words 604 may include words related to the name, type, model name, or function of each of the one or more devices.
- One or more words 604 may be classified and learned for each device. For example, words of "television”, “screen”, or “channel” are learned as words related to “TV”, and words of "washing”, “rinsing”, or “drying” are learned as words related to "washing machine” Words can be learned.
- data labeled one or more icons 602 may each be trained 606 to map to one or more words 604 .
- the icon labeled "TV” among the one or more icons 602 may include at least one word related to "TV” (eg, at least one of "TV”, “television”, “screen”, or “channel”). one), and the icon labeled "washing machine” among the one or more icons 602 is at least one word related to "washing machine” (eg, "washing machine”, “washing”, “rinsing”). , or at least one of "dehydration”).
- an icon-word learning model 608 as shown in Table 1 600 may be generated.
- a device model 620 that may be included in an AI widget may include an icon-word learning model 608 .
- the AI widget may determine a device corresponding to the device name based on the icon-word learning model 608 included in the device model 620 ( 609 ). For example, when “tv” is input as the device name, the AI widget can determine the TV as a device related to the word of “tv” based on the icon-word learning model 608 and generate an icon corresponding to the TV. may (610).
- the icon generated by the AI widget through the device model 620 may be provided as a device icon 611 corresponding to the device name 607 .
- FIG. 7 is a diagram for describing widget models that may be included in an AI widget according to various embodiments.
- the widget-function learning model 708 is one or more widgets 702 and information 704 about one or more device functions are learned by the AI widget ( 706) may be generated as a result.
- one or more widgets 702 may include one or more user interfaces (UIs) for controlling one or more device functions, for example.
- one or more widgets 702 may each be data labeled.
- each of the one or more widgets 702 may be mapped to data (eg, at least one of a power UI widget, a volume control UI widget, or a channel selection UI widget) indicating which UI the widget includes.
- the AI widget may learn 706 which UI widget each of the one or more widgets 702 represents, based on the data mapped to each of the one or more widgets 702 .
- information 704 about one or more device capabilities may include information indicative of one or more capabilities provided by each device. For example, if the device is a “TV”, the information 704 about one or more device functions may include information about “power on/off”, “volume control”, or “channel selection”.
- data labeled one or more widgets 702 may each be learned 706 to be mapped to information 704 for one or more device capabilities.
- a widget labeled "Power UI Widget” among one or more widgets 702 may be learned to map to a "Power On” and/or "Power Off” function, and the one or more widgets 702 .
- Widgets labeled as "Volume Control UI Widget” may be learned to map to "Volume Up" and/or “Volume Down”.
- a widget-function learning model 708 as shown in Table 2 700 may be generated.
- a widget model 720 that may be included in an AI widget may include a widget-function learning model 708 .
- the AI widget determines ( 709 ) function information corresponding to the control information 707 based on the widget-function learning model 708 , and corresponds to the determined function information.
- a widget may be determined ( 710 ).
- control information 707 instructing the "power on” operation when the control information 707 instructing the "power on” operation is input to the AI widget, information about one or more device functions included in the widget-function learning model 708 as shown in Table 2 ( 704), information on a “power on” function corresponding to the input control information 707 may be detected.
- the AI widget detects a "power UI widget” corresponding to the "power on” function from the widget-function learning model 708 , and provides the "power UI widget” as the UI widget 711 corresponding to the control information 707 . can do.
- FIG. 8 is a diagram for describing placement models that may be included in an AI widget according to various embodiments.
- the arrangement learning model 810 may be generated as a result of learning 806 of the resolution information 802 and the arrangement information 804 .
- the AI widget may learn 806 available resolution information 802 of the electronic device, and layout information 804 for displaying one or more widgets on the screen based on the number and/or type of widgets. ) can be learned (806).
- the resolution information 802 and the placement information 804 may be associated and learned 806 .
- the resolution information 802 For example, in the resolution of "600 x 1240, layout information for one widget whose widget type is "Power UI widget” may be mapped, and in the resolution of "720 x 1280", the widget type is "Power UI widget” and Placement information for two widgets that are “volume control UI widgets” may be mapped.
- a placement model 820 that may be included in an AI widget may include a placement learning model 810 .
- the AI widget may include, when information on one or more widgets, for example, widget 1 807 and widget 2 808 and resolution information 809 are input, the number and/or type of the input widgets. Arrangement positions of the widget 1 807 and the widget 2 808 suitable for the resolution information 809 may be determined based on the arrangement learning model 810 ( 811 ). In an embodiment, the AI widget may display the widget 1 807 and the widget 2 808 at the determined placement positions on the screen 812 of the electronic device.
- FIG. 9 is a diagram for describing an operation of an electronic device reforming an application generated for a specific external electronic device into an application for another external electronic device, according to various embodiments of the present disclosure.
- the electronic device may transform and use an application generated to control a specific external electronic device into an application for controlling another external electronic device.
- the electronic device may use a TV application 910 transformed into an air conditioner application 920 .
- the AI widget 900 provides information on the TV application 910 used to control the TV in the electronic device, device information related to the air conditioner (eg, device access URI and device name, etc.) and control information (eg: information about power, desired temperature, and operating mode) can be input.
- device information related to the air conditioner eg, device access URI and device name, etc.
- control information eg: information about power, desired temperature, and operating mode
- the AI widget 900 may generate an icon corresponding to the air conditioner based on the device model and change the icon of the TV application to an icon for the air conditioner application.
- the AI widget 900 is one or more UI widgets (eg, volume, power, and channel UI widgets) of the TV application based on the widget model one or more UI widgets (eg, desired temperature) corresponding to the resource information of the air conditioner. , power and operation mode UI widgets).
- the AI widget 900 may use the arrangement position for one or more UI widgets of the TV application as it is for one or more UI widgets of the air conditioner application. However, in another embodiment, the AI widget 900 may also be used by determining the placement location for one or more UI widgets of the air conditioner application based on the placement model.
- the icon of the TV application 930 may be changed to the icon of the air conditioner application 940 and displayed on the screen of the electronic device as shown in FIG. 9(b). have.
- FIGS. 10 to 12 may be performed by the processor 340 of the electronic device 300 illustrated in FIG. 3 .
- FIG. 10 is a flowchart 1000 illustrating an operation in which the electronic device 300 generates an application according to various embodiments of the present disclosure.
- the processor 340 may search for an external electronic device supporting application creation.
- the operation of searching for an external electronic device may be performed based on a user's request to create an application.
- the external electronic device search operation may be performed on at least one external electronic device whose frequency of use is higher than or equal to a threshold value based on usage history information on the one or more external electronic devices without a user's request.
- the use history information for one or more external electronic devices may be acquired through external electronic device management information pre-stored in the electronic device or a separate application for integrated management thereof.
- the processor 340 may obtain device information on the external electronic device from the discovered external electronic device.
- the obtained device information may include a device access URI, a device name, and device resource information.
- the processor 340 may generate an icon corresponding to the device name included in the device information by using the AI model.
- the AI model may include a device model included in the AI widget.
- the processor 340 may obtain the AI widget from a server (eg, a cloud server) on an external network by downloading or the like.
- the icon corresponding to the device name may be an icon representing an application for controlling an external electronic device.
- the processor 340 may generate one or more UI widgets corresponding to the control information included in the device information by using the AI model.
- the AI model may include a widget model included in the AI widget.
- each of the one or more UI widgets may include resource information for controlling a function of an external electronic device.
- the processor 340 may determine an arrangement position of one or more UI widgets using the AI model.
- the AI model may include a deployment model included in the AI widget.
- the arrangement position of the one or more UI widgets may indicate an arrangement position of the one or more UI widgets to be displayed on the screen when an application for controlling an external electronic device is executed.
- the application for controlling the external electronic device may be executed when an icon for the corresponding application displayed on the screen of the electronic device is selected through a click, a touch, or a key input.
- 11 is a flowchart 1100 for explaining an operation of an electronic device controlling an external electronic device using an application according to various embodiments of the present disclosure.
- the processor 340 may receive an application execution request for an application for controlling an external electronic device.
- the application execution request may be received when an application for controlling the external electronic device is selected by the user. For example, when an icon corresponding to an application for controlling an external electronic device displayed on the screen of the electronic device is selected through click, touch, or key input, the processor 340 may receive an application execution request. .
- the processor 340 may execute an application to display one or more UI widgets on the screen.
- the processor 340 may acquire control information corresponding to the selected UI widget.
- the control information may include resource information for controlling a function of an external electronic device.
- the processor 340 may transmit the acquired control information to the external electronic device to control the function of the external electronic device.
- the processor 340 may display a result of controlling the function of the external electronic device on the screen.
- FIG. 12 is a flowchart 1200 for explaining an operation in which an electronic device generates an application based on a usage history for each external electronic device according to various embodiments of the present disclosure.
- the processor 340 may check the usage history of each external electronic device based on the device integrated control application.
- the device integrated control application may indicate an application that manages one or more external electronic devices used by a user.
- the device integrated control application uses statistical information such as the frequency of use for each external electronic device for a preset period and/or the frequency of use for each function of the external electronic device for a preset period as a usage history for each external electronic device. can provide
- the processor 340 may obtain information on one or more frequently used external electronic devices and/or one or more frequently used external electronic device functions based on a usage history for each external electronic device. . In an embodiment, the processor 340 may further obtain device connection information.
- the processor 340 may obtain information as shown in Table 1 below.
- the processor 340 may identify the TV and the washing machine as external electronic devices that are frequently used, and obtain names and connection information for each of the TV and the washing machine.
- the processor 340 is a function that is frequently used by the user among the functions provided by the TV is “power on/off”, “volume control” and “channel selection” functions, and among the functions provided by the washing machine, It can be seen that the functions frequently used by the user are "Power”, “Washing” and “Rinse and Spin” functions.
- the processor 340 may generate an application for controlling functions of one or more frequently used external electronic devices by using one or more AI models based on the information obtained in operation 1220 .
- the processor 340 may generate an application for controlling a TV and a washing machine using an AI widget including one or more AI models.
- the processor 340 may generate an icon corresponding to each of the TV and washing machine names based on the device model in the AI widget.
- the processor 340 generates UI widgets corresponding to each of frequently used functions (“power on/off”, “volume control” and “channel selection”) for the TV based on the widget model in the AI widget.
- the processor 340 may generate UI widgets corresponding to each of the frequently used functions (“power on/off”, “washing” and “rinse and spin”) for the washing machine based on the widget model in the AI widget.
- the processor 340 may determine the arrangement position of the UI widgets generated for each of the TV and the washing machine based on the arrangement model in the AI widget.
- the processor 340 displays the generated application.
- the generated application may be displayed as an icon that is generated corresponding to the device name.
- an icon for indicating an application may be an icon for indicating a corresponding external electronic device.
- the processor 340 may display the UI widgets at the determined arrangement position.
- a method of generating an application for controlling an external electronic device in an electronic device includes device information of the first external electronic device and one provided by the first external electronic device obtaining control information for controlling the above functions; Obtaining first icon information corresponding to the obtained device information using an artificial intelligence model, generating a first icon based on the obtained first icon information, and using the generated first icon as the displaying as an icon of a first application related to a first external electronic device, acquiring user interface (UI) information corresponding to the acquired control information using the artificial intelligence model, and obtaining the generating one or more UI widgets to be displayed when the first application is executed based on the received UI information; and obtaining arrangement information for the one or more UI widgets using the artificial intelligence model;
- the operation may include displaying the one or more UI widgets at a position corresponding to the obtained arrangement information.
- the acquiring of the device information may include, as the device information, at least one of uniform resource identifier (URI) information for accessing the first external electronic device and name information of the first external electronic device.
- URI uniform resource identifier
- the obtaining of the device information and the control information may include obtaining the device information and the control information from the first external electronic device using a device-to-device (D2D) communication method.
- D2D device-to-device
- the method includes: obtaining an artificial intelligence widget from a cloud server; and obtaining the artificial intelligence model from the artificial intelligence widget.
- the method includes: identifying a UI widget selected by a user from among the one or more UI widgets; checking control information corresponding to the checked UI widget; and transmitting the checked control information to the first external electronic device.
- the method may include: checking a frequency of use of each of a plurality of external electronic devices during a preset period; identifying at least one external electronic device having a frequency of use higher than or equal to a threshold value among the plurality of external electronic devices based on the check result; and selecting one of the at least one external electronic device as the first external electronic device.
- the method may include: receiving an input from a user requesting generation of an application for controlling the first external electronic device; establishing a connection with the specified first external electronic device based on the user's input; and obtaining the device information and the control information from the first external electronic device based on the established connection.
- the one or more functions may include one or more functions whose frequency of use is higher than a threshold value among controllable functions of the first external electronic device.
- the method includes: obtaining, from a second external electronic device, device information of the second external electronic device and control information for controlling one or more functions provided by the second external electronic device; and changing the first application to a second application related to the second external electronic device based on the device information of the second external electronic device and the control information of the second external electronic device.
- the changing of the first application to the second application related to the second external electronic device includes a second icon corresponding to device information of the second external electronic device using the artificial intelligence model. obtaining information, generating a second icon as an icon of the second application based on the second icon information, and changing the first icon to the second icon and displaying the second icon; and changing the one or more UI widgets into one or more UI widgets to be displayed when the second application is executed by changing control information corresponding to the one or more UI widgets to control information of the second external electronic device.
- obtaining information, generating a second icon as an icon of the second application based on the second icon information, and changing the first icon to the second icon and displaying the second icon; and changing the one or more UI widgets into one or more UI widgets to be displayed when the second application is executed by changing control information corresponding to the one or more UI widgets to control information of the second external electronic device. may include.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 개시의 다양한 실시예들은, 제어할 외부 전자장치로부터 디바이스 정보를 획득하고, 상기 획득된 디바이스 정보를 인공 지능(artificial intelligence: AI) 위젯(widget)에 전달하고, 상기 AI 위젯에 포함된 하나 이상의 AI 모델들을 기반으로 상기 디바이스 정보에 대응하는 하나 이상의 사용자 인터페이스(user interface: UI) 위젯들을 생성하고, 상기 생성된 하나 이상의 UI 위젯들을 포함하는 어플리케이션을 상기 외부 전자 장치를 제어하기 위한 어플리케이션으로서 생성하는 방법 및 이를 지원하는 전자 장치를 제공한다.
Description
본 개시의 다양한 실시예들은 외부 전자 장치를 제어하기 위한 어플리케이션(application)을 생성하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.
인간이 정보를 생성하고 소비하는 인간 중심 연결 네트워크인 인터넷은 이제 사물과 같은 분산된 개체가 인간의 개입없이 정보를 교환하고 처리하는 사물 인터넷 (internet of things: IoT)으로 진화하고 있다.
IoT 환경은 연결된 사물들 간에 생성되는 데이터를 수집하고 분석하여 인간 삶에 새로운 가치를 창출하는 지능형 인터넷 기술 서비스를 제공할 수 있다. IoT는 기존 정보 기술(information technology: IT)과의 다양한 융합을 통해 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 또는 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단 의료 서비스 등 다양한 분야에 적용될 수 있다.
한편, 최근 IoT 환경에서 단말을 통해 TV, 에어컨, 및 세탁기 등의 전자 장치를 제어할 수 있도록 하는 어플리케이션이 제공되고 있다. 사용자는 단말에 설치된 어플리케이션을 이용하여 다양한 전자 장치들을 관리 또는 제어할 수 있다.
일반적으로, IoT 환경에서 이용되는 전자 장치 제어를 위한 어플리케이션은 단말에서 완성된 형태의 어플리케이션을 설치하는 방식으로 제공된다. 예를 들어, 단말이 앱 스토어(app store)에서 어플리케이션을 다운로드 받아 설치하거나, 단말이 웹을 통해서 어플리케이션 패키지(package)를 제공받아 설치하는 방식으로 전자 장치 제어를 위한 어플리케이션이 제공된다.
따라서 사용자가 제어할 전자 장치를 추가하거나 변경할 경우 단말에 의한 어플리케이션 업데이트에 의존할 수 밖에 없으며, 전자 장치에 새로운 기능이 추가된 경우 해당 기능을 제어하기 위한 메뉴를 어플리케이션에 빠르게 추가하는 것이 어려운 문제가 있다.
상기와 같은 문제를 고려하여, 본 개시의 다양한 실시예들은, 제어할 외부 전자 장치로부터 디바이스 정보를 획득하고, 상기 획득된 디바이스 정보를 인공 지능(artificial intelligence: AI) 위젯(widget)에 전달하고, 상기 AI 위젯에 포함된 하나 이상의 AI 모델들을 기반으로 상기 디바이스 정보에 대응하는 하나 이상의 사용자 인터페이스(user interface: UI) 위젯들을 생성하고, 상기 생성된 하나 이상의 UI 위젯들을 포함하는 어플리케이션을 상기 외부 전자 장치를 제어하기 위한 어플리케이션으로서 생성하는 방법 및 이를 지원하는 전자 장치를 제공한다.
본 개시의 다양한 실시예들에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 다양한 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 다양한 실시예들에 따른 전자 장치는, 디스플레이와, 통신 인터페이스와, 상기 디스플레이 및 상기 통신 인터페이스와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제 1 외부 전자 장치로부터 상기 제 1 외부 전자 장치의 제1 디바이스 정보 및 상기 제 1 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제1 제어 정보를 획득하고, 인공 지능(artificial intelligence) 모델을 이용하여 상기 획득된 제1 디바이스 정보에 대응하는 제 1 아이콘 정보를 획득하고, 상기 획득된 제 1 아이콘 정보를 기반으로 제 1 아이콘을 생성하여, 상기 생성된 제 1 아이콘을 상기 제 1 외부 전자 장치와 관련된 제 1 어플리케이션(application)의 아이콘으로서 표시하고, 상기 인공 지능 모델을 이용하여 상기 획득된 제1 제어 정보에 대응하는 사용자 인터페이스(user interface: UI) 정보를 획득하고, 상기 획득된 UI 정보를 기반으로 상기 제 1 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯(widget)들을 생성하고, 상기 인공 지능 모델을 이용하여 상기 하나 이상의 UI 위젯들에 대한 배치 정보를 획득하고, 상기 제 1 어플리케이션이 실행될 경우 상기 획득된 배치 정보에 대응하는 위치에 상기 하나 이상의 UI 위젯들을 표시하도록 설정될 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치에서 생체 신호를 이용한 기능을 수행하는 방법은, 전자 장치에서 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법에 있어서, 제 1 외부 전자 장치로부터 상기 제 1 외부 전자 장치의 제1 디바이스 정보 및 상기 제 1 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제1 제어 정보를 획득하는 동작; 인공 지능(artificial intelligence) 모델을 이용하여 상기 획득된 제1 디바이스 정보에 대응하는 제 1 아이콘 정보를 획득하고, 상기 획득된 제 1 아이콘 정보를 기반으로 제 1 아이콘을 생성하여, 상기 생성된 제 1 아이콘을 상기 제 1 외부 전자 장치와 관련된 제 1 어플리케이션(application)의 아이콘으로서 표시하는 동작; 상기 인공 지능 모델을 이용하여 상기 획득된 제1 제어 정보에 대응하는 사용자 인터페이스(user interface: UI) 정보를 획득하고, 상기 획득된 UI 정보를 기반으로 상기 제1 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯(widget)들을 생성하는 동작; 및 상기 인공 지능 모델을 이용하여 상기 하나 이상의 UI 위젯들에 대한 배치 정보를 획득하고, 상기 제 1 어플리케이션이 실행될 경우 상기 획득된 배치 정보에 대응하는 위치에 상기 하나 이상의 UI 위젯들을 표시하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따른 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치는 외부 전자 장치를 제어하기 위한 어플리케이션을 AI 모델을 기반으로 보다 빠르고 정확하게 생성할 수 있다. 또한, 본 개시의 다양한 실시예들에 따른 방법 및 전자 장치는 사용자의 개입없이 각 외부 전자 장치 별 사용 이력을 기반으로 어플리케이션을 생성할 수 있도록 하며, 기존에 생성된 어플리케이션을 다른 외부 전자 장치를 위해 변형하여 사용하는 것을 용이하게 할 수 있다.
도 1은 일 실시예에 따른 IoT(internet of things) 시스템을 도시한 도면이다.
도 2는 다양한 실시예들에 따른 전자 장치를 이용하여 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 과정을 개략적으로 나타낸 도면이다.
도 3은 다양한 실시예들에 따른 전자 장치의 블록도이다.
도 4는 다양한 실시예들에 따른 전자 장치에서 어플리케이션을 생성하고, 생성된 어플리케이션을 이용하여 외부 전자 장치를 제어하는 동작을 나타낸 흐름도이다.
도 5는 다양한 실시예들에 따른 AI 위젯의 블록도이다.
도 6은 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 디바이스 모델들을 설명하기 위한 도면이다.
도 7은 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 위젯 모델들을 설명하기 위한 도면이다.
도 8은 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 배치 모델들을 설명하기 위한 도면이다.
도 9는 다양한 실시예들에 따른 전자 장치가 특정 외부 전자 장치를 위해 생성한 어플리케이션을 다른 외부 전자 장치를 위한 어플리케이션으로 변형(reform)하는 동작을 설명하기 위한 도면이다.
도 10은 다양한 실시예들에 따른 전자 장치가 어플리케이션을 생성하는 동작을 설명하기 위한 순서도이다.
도 11은 다양한 실시예들에 따른 전자 장치가 어플리케이션을 이용하여 외부 전자 장치를 제어하는 동작을 설명하기 위한 순서도이다.
도 12는 다양한 실시예들에 따른 전자 장치가 외부 전자 장치 별 사용 이력을 기반으로 어플리케이션을 생성하는 동작을 설명하기 위한 순서도이다.
도 1은 일 실시예에 따른 IoT(internet of things) 시스템(100)을 도시한다. 한편, 도 1의 구성 요소 중 적어도 일부는 생략될 수도 있으며, 도시되지 않은 구성 요소가 더 포함되도록 구현될 수도 있다.
도 1을 참조하면, 일 실시예에 따른 IoT 시스템(100)은, 데이터 네트워크(116 또는 146)에 연결 가능한 복수의 전자 장치들을 포함한다. 예를 들어, IoT 시스템(100)은 제 1 IoT 서버(110), 제 1 노드(node)(120), 보이스 어시스턴트(voice assistance) 서버(130), 제 2 IoT 서버(140), 제 2 노드(150), 또는 디바이스들(121,122,123,124,125,136,137,151,152,153) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 통신 인터페이스(111), 프로세서(112), 또는 저장부(113) 중 적어도 하나를 포함할 수 있다. 제 2 IoT 서버(140)는, 통신 인터페이스(141), 프로세서(142), 또는 저장부(143) 중 적어도 하나를 포함할 수 있다. 본 문서에서의 "IoT 서버"는, 예를 들어 데이터 네트워크(예: 데이터 네트워크(116) 또는 데이터 네트워크(146))에 기반하여, 중계 디바이스(예: 제 1 노드(120) 또는 제 2 노드(150))를 통하거나, 또는 중계 디바이스 없이 직접적으로(directly), 하나 또는 그 이상의 디바이스들(예: 디바이스들(121,122,123,124,125,151,152,153))을 원격으로 제어 및/또는 모니터링할 수 있다. 여기에서의 "디바이스"는, 예를 들어 가택, 사무실, 공장, 빌딩, 외부 지점, 또는 다른 타입의 부지들과 같은 로컬 환경 내에 배치되는(또는, 위치하는) 센서, 가전, 사무용 전자 디바이스, 또는 공정 수행을 위한 디바이스로, 그 종류에는 제한이 없다. 제어 명령을 수신하여 제어 명령에 대응하는 동작을 수행하는 디바이스를 "타겟 디바이스"로 명명할 수 있다. IoT 서버는, 복수의 디바이스들 중 타겟 디바이스를 선택하고 제어 명령을 제공하는 점에서, 중앙 서버(central server)로 명명될 수도 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 데이터 네트워크(116)를 통하여 디바이스들(121,122,123)과 통신을 수행할 수 있다. 데이터 네트워크(116)는, 예를 들어 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신을 위한 네트워크를 의미할 수 있으며, 또는 셀룰러 네트워크를 포함할 수도 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 통신 인터페이스(111)를 통하여 데이터 네트워크(116)에 연결될 수 있다. 통신 인터페이스(111)는, 데이터 네트워크(116)의 통신을 지원하기 위한 통신 디바이스(또는, 통신 모듈)를 포함할 수 있으며, 하나의 구성 요소(예: 단일 칩)로 통합되거나, 또는 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 제 1 IoT 서버(110)는, 제 1 노드(120)를 통하여 디바이스들(121,122,123)와 통신을 수행할 수 있다. 제 1 노드(120)는, 제 1 IoT 서버(110)로부터의 데이터를 데이터 네트워크(116)를 통하여 수신하고, 수신한 데이터를 디바이스들(121,122,123) 중 적어도 일부로 송신할 수 있다. 또는, 제 1 노드(120)는, 디바이스들(121,122,123) 중 적어도 일부로부터 데이터를 수신하고, 수신한 데이터를 데이터 네트워크(116)를 통하여 제 1 IoT 서버(110)로 송신할 수 있다. 제 1 노드(120)는, 데이터 네트워크(116) 및 디바이스들(121,122,123) 사이의 브릿지(bridge)로서 기능할 수 있다. 한편, 도 1에서는 제 1 노드(120)가 하나인 것과 같이 도시되어 있지만 이는 단순히 예시적인 것으로, 그 숫자에는 제한이 없다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 디바이스들(124,125)과의 직접 통신(direct communication)을 지원할 수도 있다. 여기에서, "직접 통신"은, 예를 들어 제 1 노드(120)와 같은 중계 디바이스를 통하지 않은 통신으로, 예를 들어 셀룰러 통신 네트워크 및/또는 데이터 네트워크를 통한 통신을 의미할 수 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 디바이스들(121,122,123,124,125) 중 적어도 일부로 제어 명령을 송신할 수 있다. 여기에서, "제어 명령"은, 제어 가능한 디바이스가 특정 동작을 수행하도록 야기하는 데이터를 의미할 수 있으며, 특정 동작은 디바이스에 의하여 수행되는 동작으로, 정보의 출력, 정보의 센싱, 정보의 보고, 정보의 관리(예: 삭제, 또는 생성)를 포함할 수 있으며, 그 종류에는 제한이 없다. 예를 들어, 프로세서(112)는, 외부(예: 보이스 어시스턴트 서버(130), 제 2 IoT 서버(140), 외부 시스템(160), 또는 디바이스들(121,122,123,124,125) 중 적어도 일부)로부터 제어 명령을 생성하기 위한 정보(또는, 요청)를 획득하고, 획득한 정보에 기반하여 제어 명령을 생성할 수 있다. 또는, 프로세서(112)는, 디바이스들(121,122,123,124,125) 중 적어도 일부의 모니터링 결과가 지정된 조건을 만족함에 기반하여 제어 명령을 생성할 수 있다. 프로세서(112)는, 제어 명령을, 타겟 디바이스로 송신하도록 통신 인터페이스(111)를 제어할 수 있다.
일 실시예에 따라서, 프로세서(112), 또는 프로세서(132), 프로세서(142)는, CPU(central processing unit), DSP(digital signal processor), AP(application processor), CP(communication processor) 등과 같은 범용 프로세서, GPU(graphical processing unit), VPU(vision processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU(neural processing unit)와 같은 인공 지능 전용 프로세서 중 하나 이상의 조합으로 구현될 수 있다. 상술한 처리 유닛은 단순히 예시적인 것으로, 프로세서(112)는, 예를 들어 저장부(113)에 저장된 인스트럭션을 실행하여, 실행된 결과를 출력할 수 있는 연산 수단이라면 제한이 없음을 당업자는 이해할 것이다.
일 실시예에 따라서, 프로세서(112)는, API(114)에 기반하여 웹-기반 인터페이스를 구성하거나, 또는 제 1 IoT 서버(110)에 의하여 관리되는 리소스(resource)를 외부에 노출시킬 수 있다. 웹-기반 인터페이스는, 예를 들어 제 1 IoT 서버(110) 및 외부 웹 서비스 사이의 통신을 지원할 수 있다. 프로세서(112)는, 예를 들어 외부 시스템(160)으로 하여금 디바이스들(121,122,123)의 제어 및/또는 억세스를 허용할 수도 있다. 외부 시스템(160)은, 예를 들어 IoT 시스템(100)과 연관이 없거나, 또는 일부가 아닌 독립적인 시스템일 수 있다. 외부 시스템(160)은, 예를 들어 외부 서버이거나, 또는 웹 사이트일 수 있다. 하지만, 외부 시스템(160)으로부터의 디바이스들(121,122,123), 또는 제 1 IoT 서버(110)의 리소스로의 억세스에 대한 보안이 필요하다. 일 실시예에 따라서, 프로세서(112)는, 자동화 어플리케이션은 API(114)에 기반한 API 엔드 포인트(예: URL(universal resource locator))을 외부에 노출할 수 있다. 상술한 바에 따라서, 제 1 IoT 서버(110)는, 제어 명령을 디바이스들(121,122,123) 중 타겟 디바이스에게 전달할 수 있다. 한편, 제 2 IoT 서버(140)의 통신 인터페이스(141), 프로세서(142), 저장부(143)의 API(144), 데이터베이스(145)에 대한 설명은, 제 1 IoT 서버(110)의 통신 인터페이스(111), 프로세서(112), 저장부(113)의 API(114), 데이터베이스(115)에 대한 설명과 실질적으로 동일할 수 있다. 아울러, 제 2 노드(150)에 대한 설명은, 제 1 노드(120)에 대한 설명과 실질적으로 동일할 수 있다. 제 2 IoT 서버(140)는, 제어 명령을 디바이스들(151,152,153) 중 타겟 디바이스에게 전달할 수 있다. 제 1 IoT 서버(110) 및 제 2 IoT 서버(140)는, 하나의 실시예에서는 동일한 서비스 제공자에 의하여 운영될 수 있으나, 다른 실시예에서는 상이한 서비스 제공자들에 의하여 각각 운영될 수도 있다.
일 실시예에 따라서, 보이스 어시스턴트 서버(130)는, 데이터 네트워크(116)를 통하여 제 1 IoT 서버(110)와 데이터를 송수신할 수 있다. 일 실시예에 따른 보이스 어시스턴트 서버(130)는, 통신 인터페이스(131), 프로세서(132), 또는 저장부(133) 중 적어도 하나를 포함할 수 있다. 통신 인터페이스(131)는, 데이터 네트워크(미도시) 및/또는 셀룰러 네트워크(미도시)를 통하여 스마트 폰(136) 또는 AI 스피커(137)와 통신을 수행할 수 있다. 스마트 폰(136) 또는 AI 스피커(137)는 마이크를 포함할 수 있으며, 사용자 음성(user voice)을 획득하여 음성 신호로 변환하여, 음성 신호를 보이스 어시스턴트 서버(130)로 송신할 수 있다. 프로세서(132)는, 통신 인터페이스(131)를 통하여 스마트 폰(136) 또는 AI 스피커(137)로부터 음성 신호를 수신할 수 있다. 프로세서(132)는, 수신한 음성 신호를 저장된 모델(134)에 기반하여 처리할 수 있다. 프로세서(132)는, 데이터베이스(135)에 저장된 정보에 기반하여, 처리 결과를 이용하여 제어 명령을 생성(또는, 확인)할 수 있다. 일 실시예에 따라서, 저장부(113,133,143)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 비 일시적(non-transitory) 저장매체를 포함할 수 있으며, 그 종류에는 제한이 없다.
본 개시의 다양한 실시예들은, 제어할 외부 전자 장치로부터 디바이스 정보를 획득하고, 상기 획득된 디바이스 정보를 인공 지능(artificial intelligence: AI) 위젯(widget)에 전달하고, 상기 AI 위젯에 포함된 하나 이상의 AI 모델들을 기반으로 상기 디바이스 정보에 대응하는 하나 이상의 사용자 인터페이스(user interface: UI) 위젯들을 생성하고, 상기 생성된 하나 이상의 UI 위젯들을 포함하는 어플리케이션을 외부 전자 장치를 제어하기 위한 어플리케이션으로서 생성하는 방법 및 이를 지원하는 전자 장치를 제공한다.
이하 도면들을 참조하여 다양한 실시예들을 설명한다. 도면들에서는 "어플리케이션"을 "App"으로 간략히 표시하여 설명하기로 한다.
도 2는 다양한 실시예들에 따른 전자 장치를 이용하여 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 과정을 개략적으로 나타낸 도면(200)이다.
도 2를 참조하면, 다양한 실시예들에 따른 전자 장치(201)는 스마트 폰이나 태블릿 PC 등과 같은 단말일 수 있다. 다양한 실시 예들에 따른 전자 장치(201)는 도 1의 보이스 어시스턴트 서버(130) 또는 제 2 IoT 서버(140)일 수 있다. 하지만 전자 장치(201)는 상기와 같은 장치들에 한정되지 않고, D2D(device-to-device) 통신과 같은 기기 간 통신이 가능하며, 네트워크 상의 서버(일 예로, 클라우드 서버 등)에 접속이 가능한 장치라면 어느 것이든 될 수 있다.
일 실시예에 따라, 전자 장치(201)에서는 사용자의 선택에 따라 혹은 자체적으로 외부 전자 장치(203)를 탐색할 수 있다. 여기서, 외부 전자 장치(203)는 IoT 환경에서 이용되는 전자 장치일 수 있으며, 일 예로 TV, 세탁기, 또는 에어컨 등의 가전 장치일 수 있다. 그리고, 외부 전자 장치(203)는 해당 외부 전자 장치(203)에 의해 제공되는 하나 이상의 기능들을 어플리케이션을 통해 제어할 수 있도록 하는 것을 지원할 수 있다.
일 실시 예에 따라, 전자 장치(201)가 외부 전자 장치(203)로서 TV를 탐색한 경우, 전자 장치(201)는 "TV에 대한 어플리케이션을 생성하시겠습니까?"와 같은 사용자의 선택을 받기 위한 음성 신호를 출력하거나, 사용자의 선택을 받기 위한 텍스트를 화면에 표시하여 어플리케이션을 생성할지 여부에 대한 사용자의 선택을 받을 수 있다. 만약 사용자가 TV에 대한 어플리케이션 즉, TV 어플리케이션을 생성할 것을 선택한 경우, 전자 장치(201)는 TV 어플리케이션을 생성하여 전자 장치(201)의 화면(205)에 생성된 TV 어플리케이션을 아이콘(207)으로 표시할 수 있다.
TV 어플리케이션은 TV의 기능을 제어하기 위한 하나 이상의 UI 위젯들을 제공할 수 있다. 이러한 TV 어플리케이션은 TV에 대한 디바이스 정보(202)(일 예로, TV에 연결하기 위한 디바이스 액세스 URI (uniform resource identifier) 및 디바이스 이름 등)와 제어 정보(204)(TV의 기능을 제어하기 위한 정보로서 일 예로, 전원, 볼륨, 또는 채널 중 적어도 하나를 제어하기 위한 URI 자원 정보 등)를 기반으로 AI 위젯(206)을 통해 생성될 수 있다.
AI 위젯(206)은 디바이스 정보(202)와 제어 정보(204)가 입력되면 하나 이상의 AI 모델들을 이용하여 외부 전자 장치(203)에 대한 어플리케이션을 생성할 수 있다. 도 2에서는 AI 위젯(206)이 하나 이상의 AI 모델들로서 디바이스 모델, 위젯 모델, 및 배치(layout) 모델을 포함하고 있는 것을 예시하고 있다.
일 실시예에서, AI 위젯(206)은 디바이스 정보(202)가 입력되면, 디바이스 모델을 이용하여 디바이스 정보(202)에 포함된 디바이스 이름(예: TV)에 대응하는 아이콘 207 (예: TV 아이콘)을 생성할 수 있다.
일 실시예에서, AI 위젯(206)은 제어 정보(예: 외부 전자 장치(203)의 기능 제어를 위한 자원 URI)(204)가 입력되면 위젯 모델을 이용하여 제어 정보(204)에 대응하는 하나 이상의 UI 위젯(혹은 UI)들을 생성할 수 있다. 일 실시예에 따라, TV의 경우 제어 정보(204)로서 볼륨 조절, 전원 온/오프, 및 채널 선택에 대한 정보가 입력되면, AI 위젯(206)은 위젯 모델을 이용하여 볼륨 조절, 전원 온/오프, 및 채널 선택에 대한 정보에 대응하는 볼륨 UI 위젯(208), 전원 UI 위젯(210), 및 채널 UI 위젯(212)을 생성할 수 있다.
아울러, AI 위젯(206)은 생성된 볼륨 UI 위젯(208), 전원 UI 위젯(210), 및 채널 UI 위젯(212)의 배치 위치를 배치 모델을 기반으로 결정하고, TV 어플리케이션(214) 실행시 결정된 위치에 볼륨 UI 위젯(208), 전원 UI 위젯(210), 및 채널 UI 위젯(212)을 배치하여 표시할 수 있다. 그러면, 사용자는 TV 어플리케이션(214) 실행시 표시되는 볼륨 UI 위젯(208), 전원 UI 위젯(210), 및 채널 UI 위젯(212)을 기반으로 TV에 대한 볼륨 조절, 전원 온/오프, 또는 채널 선택 중 적어도 하나에 대한 동작을 수행할 수 있다.
도 3은 다양한 실시예들에 따른 전자 장치의 블록도(300)이다.
다양한 실시예들에 따른 전자 장치는 도 1의 보이스 어시스턴트 서버(130) 또는 제 2 IoT 서버(140)일 수 있다. 다양한 실시예들에 따른 전자 장치는 도 2의 전자 장치(201) 또는 후술될 전자 장치일 수 있다.
도 3을 참조하면, 일 실시예에서, 전자 장치는 디스플레이(310), 통신 인터페이스(330), 메모리(320), 및 프로세서(340)를 포함할 수 있다.
디스플레이(310)는 프로세서(340)의 제어에 따라, 프로세서(340)에 의해 생성된 정보, 사용자에 의해 입력된 정보, 적어도 하나의 외부 전자 장치 또는 네트워크로부터 수신된 정보 등을 표시할 수 있다.
일 실시예에서, 디스플레이(310)는 AI 위젯을 이용하여 생성된 외부 전자 장치를 제어하기 위한 어플리케이션에 대응하는 아이콘을 표시하고, 해당 어플리케이션 실행시 하나 이상의 UI 위젯들을 표시할 수 있다. 일 실시예에서, 디스플레이(310)는 외부 전자 장치에 대한 제어 결과를 표시할 수 있다. 일 실시예에서, 디스플레이(310)는 어플리케이션 생성 또는 실행, 외부 전자 장치 제어를 위한 사용자의 선택을 입력받기 위한 다양한 메뉴들을 표시할 수 있다. 디스플레이(310)가 표시하는 정보는 전술한 예시에 제한되지 않는다.
통신 인터페이스(330)는 하나 이상의 외부 전자 장치들과의 통신을 위한 인터페이스 및 네트워크 서버와의 통신을 위한 인터페이스를 포함할 수 있다. 일 실시 예에서, 통신 인터페이스(330)는 D2D 통신 방식 등을 이용하여 하나 이상의 외부 전자 장치들과 통신을 수행할 수 있다. 일 실시 예에서, 통신 인터페이스(330)는 클라우드 서버에 접속하여 AI 위젯을 획득할 수 있다. 일 실시 예에서, 통신 인터페이스(330)는 도 1의 통신 인터페이스(131) 및 통신 인터페이스(141) 중 적어도 하나에 포함될 수 있다.
메모리(320)는 프로세서(340)의 동작에 따른 다양한 정보를 저장할 수 있다. 메모리(320)는 프로세서(340)에 의해 생성된 정보, 통신 인터페이스(330)를 통해 입력된 정보, 통신 인터페이스(330)를 통해 하나 이상의 외부 전자 장치들 또는 네트워크로부터 수신된 정보, 또는 통신 인터페이스(330)를 통해 다른 디바이스 또는 네트워크로 송신된 정보 중 적어도 하나를 저장할 수 있다. 다양한 실시예들에 따라, 메모리(320)는 외부 전자 장치의 어플리케이션 생성 및 제어 동작을 위한 정보, 명령, 및 지시자 등을 저장할 수 있고, 클라우드 서버로부터 획득된 AI 위젯을 저장할 수 있다.
일 실시예에서, 메모리(320)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 일 실시예에서 메모리(320)는 도 1의 저장부(133) 및 저장부(143) 중 적어도 하나에 포함될 수 있다.
일 실시예에서, 프로세서(340)는 하나 이상의 프로세서들을 포함할 수 있다.
일 실시예에서, 프로세서(340)는 디스플레이(310), 메모리(320), 및 통신 인터페이스(330)를 제어할 수 있다.
일 실시예에서, 프로세서(340)는 도 1의 프로세서(132) 및 프로세서(142) 중 적어도 하나에 포함될 수 있다.
일 실시예에서, 프로세서(340)는 후술될 다양한 실시예들에 따른 전자 장치(300)에서 수행되는 동작들을 수행할 수 있다.
다양한 실시예들에 따른, 전자 장치에 있어서, 디스플레이(310)와, 통신 인터페이스(330)와, 상기 디스플레이(310) 및 상기 통신 인터페이스(330)와 기능적으로 연결된 적어도 하나의 프로세서(340)를 포함하고, 상기 적어도 하나의 프로세서(340)는, 제 1 외부 전자 장치로부터 상기 제 1 외부 전자 장치의 디바이스 정보 및 상기 제 1 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제어 정보를 획득하고, 인공 지능 모델을 이용하여 상기 획득된 디바이스 정보에 대응하는 제 1 아이콘 정보를 획득하고, 상기 획득된 제 1 아이콘 정보를 기반으로 제 1 아이콘을 생성하여, 상기 생성된 제1 아이콘을 상기 제 1 외부 전자 장치와 관련된 제 1 어플리케이션(application)의 아이콘으로서 표시하고, 상기 인공 지능 모델을 이용하여 상기 획득된 제어 정보에 대응하는 사용자 인터페이스(user interface: UI) 정보를 획득하고, 상기 획득된 UI 정보를 기반으로 상기 제 1 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯(widget)들을 생성하고, 상기 인공 지능 모델을 이용하여 상기 하나 이상의 UI 위젯들에 대한 배치 정보를 획득하고, 상기 제 1 어플리케이션이 실행될 경우 상기 획득된 배치 정보에 대응하는 위치에 상기 하나 이상의 UI 위젯들을 표시하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 상기 디바이스 정보로서 상기 제 1 외부 전자 장치에 액세스 하기 위한 URI(uniform resource identifier) 정보 및 상기 제 1 외부 전자 장치의 이름 정보 중 적어도 하나를 획득하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, D2D(device-to-device) 통신 방식을 이용하여, 상기 제 1 외부 전자 장치로부터 상기 디바이스 정보 및 상기 제어 정보를 획득하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 클라우드(cloud) 서버로부터 인공 지능 위젯을 획득하고, 상기 인공 지능 위젯에 포함된 상기 인공 지능 모델을 이용하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 상기 하나 이상의 UI 위젯들 중 사용자에 의해 선택된 UI 위젯을 확인하고, 상기 확인된 UI 위젯에 대응하는 제어 정보를 확인하고, 상기 확인된 제어 정보를 상기 제 1 외부 전자 장치로 송신하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 다수의 외부 전자 장치들 각각의 미리 설정된 기간 동안의 사용 빈도수를 확인하고, 상기 확인 결과를 기반으로 상기 다수의 외부 전자 장치들 중 사용 빈도수가 임계값 이상 높은 적어도 하나의 외부 전자 장치를 확인하고, 상기 적어도 하나의 외부 전자 장치 중 하나를 상기 제 1 외부 전자 장치로서 선택하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 외부 전자 장치를 제어하기 위한 어플리케이션의 생성을 요청하는 사용자의 입력을 수신하고, 상기 사용자의 입력을 기반으로 특정된 상기 제 1 외부 전자 장치와의 연결을 설정하고, 상기 설정된 연결을 기반으로 상기 제 1 외부 전자 장치로부터 상기 디바이스 정보 및 상기 제어 정보를 획득하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 상기 제 1 외부 전자 장치의 제어 가능한 기능들 중 사용 빈도수가 임계값 이상 높은 상기 하나 이상의 기능들을 제어하기 위한 제어 정보를 획득하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 제 2 외부 전자 장치로부터 상기 제 2 외부 전자 장치의 디바이스 정보 및 상기 제 2 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제어 정보를 획득하고, 상기 제 2 외부 전자 장치의 디바이스 정보 및 상기 제 2 외부 전자 장치의 제어 정보를 기반으로, 상기 제 1 어플리케이션을 상기 제 2 외부 전자 장치와 관련된 제 2 어플리케이션으로 변경하도록 설정될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서(340)는, 상기 인공 지능 모델을 이용하여 상기 제 2 외부 전자 장치의 디바이스 정보에 대응하는 제 2 아이콘 정보를 획득하고, 상기 제 2 아이콘 정보를 기반으로 상기 제 2 어플리케이션의 아이콘으로서 제 2 아이콘을 생성하고, 상기 제 1 아이콘을 상기 제 2 아이콘으로 변경하여 표시하고, 상기 하나 이상의 UI 위젯들에 대응하는 제어 정보를 상기 제 2 외부 전자 장치의 제어 정보로 변경함으로써, 상기 하나 이상의 UI 위젯들을 상기 제 2 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯들로 변경하도록 설정될 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치에서 어플리케이션을 생성하고, 생성된 어플리케이션을 이용하여 외부 전자 장치를 제어하는 과정을 나타낸 흐름도(490)이다.
도 4를 참조하면, 일 실시예에 따라, 전자 장치는 디바이스 타겟부(410), 어플리케이션 관리부(430), 홈 스크린 관리부(440), 어플리케이션 실행부(450), 및 브라우저(460)를 포함할 수 있다.
일 실시예에서, 도 4에 도시된 디바이스 타겟부(410), 어플리케이션 관리부(430), 홈 스크린 관리부(440), 어플리케이션 실행부(450), 및 브라우저(460)는 소프트웨어 모듈로서, 전자 장치의 메모리(320)에 저장되고, 프로세서(340)에 의해 로드(load)됨으로써 실행될 수 있다.
일 실시예에서, 도 4에 도시된 디바이스 타겟부(410), 어플리케이션 관리부(430), 홈 스크린 관리부(440), 어플리케이션 실행부(450), 및 브라우저(460)는 각각 프로세서(340)와 물리적으로 구분된 구성부일 수 있다. 이 경우, 프로세서(340)는 도 4에 도시된 동작을 수행하도록 디바이스 타겟부(410), 어플리케이션 관리부(430), 홈 스크린 관리부(440), 어플리케이션 실행부(450), 및 브라우저(460)를 제어할 수 있다.
한편, 도 4에서 전자 장치는 어플리케이션 생성을 위한 생성 플로우(flow)(480)(예: 동작 401, 402, 403, 404, 405, 406)와 생성된 어플리케이션을 이용하여 외부 디바이스를 제어하는 제어 플로우(470)(예: 동작 411, 412, 및 414)를 수행할 수 있다.
먼저, 생성 플로우(480)는 동작 401에서 사용자의 어플리케이션 생성 요청을 기반으로 시작될 수 있다. 어플리케이션 생성 요청은 외부 전자 장치와 관련된 어플리케이션을 생성하기 위한 요청으로서, 외부 전자 장치를 특정하거나 식별할 수 있도록 하는 정보를 포함할 수 있다.
일 실시예에서, 어플리케이션 생성 요청은 전자 장치의 화면에 디스플레이된 메뉴에 대한 사용자의 선택, 또는 어플리케이션 생성을 요청하기 위한 별도의 사용자의 입력(키패드 입력이나 화면 상의 터치 입력 등) 등을 기반으로, 전자 장치의 디바이스 타겟부(targeter)(410)로 입력될 수 있다. 디바이스 타겟부(410)는 어플리케이션 생성 요청에 포함된 정보를 기반으로 타겟 디바이스를 확인할 수 있다. 즉, 디바이스 타겟부(410)는 어플리케이션 생성 요청에 포함된 정보를 기반으로 외부 전자 장치를 타겟 디바이스(420)로서 확인할 수 있다.
동작 402에서, 디바이스 타겟부(410)는 D2D 방식의 통신을 수행할 수 있도록 하는 디바이스 서비스를 통해 타겟 디바이스(420)로부터 디바이스 정보를 획득할 수 있다(402). 타겟 디바이스(420)로부터 획득한 디바이스 정보에는 디바이스 액세스 URI, 디바이스 이름, 및 디바이스 기능 제어를 위한 자원 정보 등이 포함될 수 있다. 여기서 디바이스 액세스 URI는 타겟 디바이스(420)에 액세스할 수 있도록 하기 위한 정보로서, 일 예로 로컬(local) 네트워크 내의 디바이스 액세스 주소 또는 홈 네트워크 내의 디바이스 주소 등이 될 수 있다.
일 실시예에 따라, 디바이스 타겟부(410)는 동작 403에서 클라우드로부터 AI 위젯(400)을 다운로드할 수 있다. 다양한 실시예들에 따라, AI 위젯(400)은 클라우드 대신, 다른 외부 네트워크의 서버로부터 획득될 수도 있다.
디바이스 타겟부(410)는 AI 위젯(400) 및 타겟 디바이스(420)로부터 획득한 디바이스 정보를 기반으로 어플리케이션을 생성할 것을 어플리케이션 관리부(430)에 요청할 수 있다. 어플리케이션 관리부(430)는 동작 406에서 AI 위젯(400) 및 디바이스 정보를 기반으로 어플리케이션을 생성할 수 있고, 생성된 어플리케이션에 대응하는 아이콘(444)을 전자 장치의 화면(442)에 표시하도록 홈 스크린 관리부(440)에 지시할 수 있다.
홈 스크린 관리부(440)는 어플리케이션 관리부(430)의 지시를 기반으로 생성된 어플리케이션에 대응하는 아이콘(444)을 전자 장치의 화면(442)에 표시할 수 있다.
다음으로, 어플리케이션을 이용하여 외부 전자 장치를 제어하는 제어 플로우(470)에 대해 설명한다. 제어 플로우(470)는 동작 411에서 생성 플로우(480)를 기반으로 생성된 어플리케이션에 대한 실행 요청을 기반으로 시작될 수 있다. 일 실시예에 따라, 어플리케이션 실행 요청은 전자 장치의 화면(442)에 표시된 어플리케이션 아이콘(444)을 사용자가 선택한 경우 생성될 수 있다. 그리고 생성된 어플리케이션 실행 요청은 어플리케이션 실행부(450)로 제공될 수 있다. 그러면 어플리케이션 실행부(450)는 동작 412에서 어플리케이션 실행 요청을 기반으로 어플리케이션을 실행할 수 있다.
일 실시예에 따라, 실행된 어플리케이션이 TV와 관련된 것이라면 볼륨, 전원, 또는 채널 중 적어도 하나를 제어하기 위한 하나 이상의 UI 위젯들이 전자 장치의 화면(442)에 표시될 수 있다. 그리고 하나 이상의 UI 위젯들 중 하나가 사용자에 의해 선택이 되면, 선택된 UI 위젯에 대응하는 하는 제어 정보(URI 등과 같은 자원 정보)가 D2D 방식 등을 기반으로 타겟 디바이스(420)로 송신될 수 있다. 만약 실행된 어플리케이션이 웹 기반의 어플리케이션이라면 동작 414에서, 브라우저(460)를 통해 선택된 UI 위젯에 대응하는 하는 제어 정보가 외부 전자 장치인 타겟 디바이스(420)로 송신될 수 있다.
그러면 타겟 디바이스(420)에서는 수신된 제어 정보에 대응하는 기능을 수행함으로써 타겟 디바이스(420)의 동작이 제어될 수 있도록 할 수 있다.
도 4에서는 디바이스 타겟부(410), 어플리케이션 관리부(430), 홈 스크린 관리부(440), 어플리케이션 실행부(450), 및 브라우저(460)가 독립된 모듈들인 것으로 예시하고 있지만, 이에 제한되지 않을 수 있다. 예를 들어, 디바이스 타겟부(410), 어플리케이션 관리부(430), 홈 스크린 관리부(440), 어플리케이션 실행부(450), 또는 브라우저(460) 중 적어도 하나는, 하나의 모듈로서 통합될 수 있다.
도 5는 다양한 실시예들에 따른 AI 위젯의 블록도(550)이다.
도 5를 참조하면, 다양한 실시예들에 따라 AI 위젯(500)은 하나 이상의 AI 모델들을 포함할 수 있다. 일 실시예에서, AI 위젯(500)은 디바이스 모델(510), 위젯 모델(520), 및 배치 모델(530)을 AI 모델들로서 포함할 수 있다. 일 실시예에서, AI 위젯(500)은 도 2의 AI 위젯(206) 및 도 4의 AI 위젯(400)에 대응할 수 있으며, 후술될 도면들에서 설명될 AI 위젯에도 대응할 수 있다.
AI 위젯(500)에는 디바이스 정보로서 디바이스 이름(508)과 제어 정보(디바이스 기능 제어를 위한 자원 정보)(518)가 입력될 수 있다.
AI 위젯(500)은 디바이스 모델(510)을 기반으로, 입력된 디바이스 이름(508)에 대응하는 디바이스 아이콘(512)을 출력할 수 있다.
일 실시예에서, 디바이스 모델(510)은 AI 정보로서 단어-아이콘 학습 모델을 포함할 수 있다. 일 실시예에서, 단어-아이콘 학습 모델은 하나 이상의 단어들과 하나 이상의 아이콘들이 학습된 결과로 생성될 수 있다. 일 실시예에서, 단어-아이콘 학습 모델은 하나 이상의 단어들에 대응하는 하나 이상의 디바이스들을 지시할 수 있고, 하나 이상의 디바이스들에 대응하는 하나 이상의 아이콘들을 지시할 수 있다.
일 실시예에서, AI 위젯(500)은 디바이스 이름이 입력되면 단어-아이콘 학습 모델을 기반으로 디바이스 이름에 대응하는 디바이스 아이콘을 제공할 수 있다. 예를 들어, AI 위젯(500)은 디바이스 이름(508)으로 "oic.d.tv"또는 "tv"가 입력되면, 단어-아이콘 학습 모델을 기반으로, "oic.d.tv"또는 "tv"에 대응하는 디바이스(예: 텔레비전)를 식별하고, 식별된 디바이스에 대응하는 아이콘을 디바이스 아이콘(512)으로서 제공할 수 있다. 디바이스 아이콘(512)은 이미지 아이콘이 될 수 있으나, 전자 장치 내부, 또는 클라우드나 외부 서버에 저장된 이미지가 URI 형태로 지시될 수도 있다.
AI 위젯(500)은 위젯 모델(520)을 기반으로, 입력된 제어 정보(518)에 대응하는 UI 위젯(522)을 생성할 수 있다. 일 실시예에서, UI 위젯(522)은 하나 이상 생성될 수 있다. 일 실시예에서, 위젯 모델(520)은 AI 정보로서 위젯-기능 학습 모델을 포함할 수 있다. 일 실시예에서, 위젯-기능 학습 모델은 하나 이상의 위젯들과 하나 이상의 디바이스 기능들에 대한 정보가 학습된 결과로 생성될 수 있다. 일 실시예에서, 위젯-기능 학습 모델은 입력된 제어 정보(518)에 대응하는 하나 이상의 디바이스 기능들을 지시할 수 있고, 하나 이상의 디바이스 기능들에 대응하는 하나 이상의 위젯들을 지시할 수 있다.
일 실시예에서, AI 위젯(500)은 위젯-기능 학습 모델을 기반으로, 제어 정보(518)인 "oic.r.power"또는 "power"에 대응하는 디바이스의 기능(예: 전원 온/오프 기능)을 식별하고, 식별된 디바이스의 기능에 대응하는 UI 위젯(522)을 제공할 수 있다.
일 실시예에서, UI 위젯(522)은 전원 온/오프 기능을 제어하기 위한 UI 위젯이 될 수 있고, 일 예로 "<button onClick={toggle to resource uri}>" 또는 "<Image button src=img onClick={toggle to resource uri}>"와 같은 정보를 포함할 수 있다. "<button onClick={toggle to resource uri}>"는 UI 위젯(522)이 버튼 형태의 아이콘이고 해당 아이콘이 클릭이나 터치 등의 방식으로 선택되는 경우, 해당 자원 URI를 기반으로 외부 전자 장치의 기능을 변경하는 값(예: 전원을 켜거나 끄기 위한 값)을 나타낼 수 있다.
또한 "<Image button src=img onClick={toggle to resource uri}>" 는 UI 위젯(522)이 이미지를 갖는 아이콘이고 해당 이미지가 클릭이나 터치 등의 방식으로 선택되는 경우, 해당 자원 URI를 기반으로 외부 전자 장치의 기능을 변경하는 값(예: 전원을 켜거나 끄기 위한 값)을 나타낼 수 있다. 자원 URI는 디바이스 제어를 위한 제어 정보의 일 예로서, UI 위젯(522)이 선택되는 경우 자원 URI에 대응하는 제어 정보가 전자 장치에 전달될 수 있다.
AI 위젯(500)은 하나 이상의 UI 위젯들을 생성한 후, 배치 모델(530)을 기반으로 하나 이상의 UI 위젯들이 배치될 위치를 결정할 수 있다. 하나 이상의 UI 위젯들이 배치될 위치는 어플리케이션이 실행된 후 화면에 표시될 하나 이상의 UI 위젯들의 배치 위치를 나타낼 수 있다.
일 실시예에서, 배치 모델(530)은 AI 정보로서 배치 학습 모델을 포함할 수 있다. 일 실시예에서, 배치 학습 모델은 해상도 정보와 배치 정보가 학습된 결과로 생성될 수 있다. 일 실시예에서, 해상도 정보는 전자 장치의 이용 가능한 해상도 정보를 포함할 수 있고, 배치 정보는 표시될 위젯들의 개수 또는 타입을 기반으로 하나 이상의 위젯들을 화면에 표시하기 위한 배치 정보를 포함할 수 있다.
일 실시예에서, 두 개의 UI 위젯들(528) 예를 들어, 전원 온/오프 기능을 제어하기 위한 전원 UI 위젯과 볼륨 조절을 위한 슬라이더(slider) 형태의 슬라이더 UI 위젯이 생성된 경우, 생성된 두 개의 UI 위젯들(528)에 대한 정보와 전자 장치의 해상도 정보가 AI 위젯(500)에서 이용될 수 있다. AI 위젯(500)은 두 개의 UI 위젯들(528)에 대한 정보와 전자 장치의 해상도 정보를 이용하여, 배치 모델(530)을 기반으로 두 개의 UI 위젯들(528)에 대한 배치 위치를 결정할 수 있다. 두 개의 UI 위젯들(528) 즉, 전원 UI 위젯과 슬라이더 UI 위젯은 어플리케이션이 실행되면 결정된 배치 위치 (예를 들어 컨텐트 레이아웃 (532)) 에 배치될 수 있다. 전원 UI 위젯과 슬라이더 UI 위젯은 아이콘 형태로 표시될 수 있다.
한편, 도 5에서는 AI 위젯(500)이 디바이스 모델(510), 위젯 모델(520), 및 배치 모델(530)을 각각 구분하여 포함하고 있는 것을 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 디바이스 모델(510), 위젯 모델(520), 및 배치 모델(530)은 하나의 통합된 AI 모델로서 이용될 수도 있다.
다음으로 도 6 내지 도 8을 참조하여, 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 AI 모델들에 대해 자세히 살펴보기로 한다.
도 6은 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 디바이스 모델들을 설명하기 위한 도면이다.
도 6의 (a)를 참조하면, 일 실시예에 따른 아이콘-단어 학습 모델(608)은 하나 이상의 아이콘들(602)과 하나 이상의 단어들(604)이 AI 위젯에 의해 학습(606)된 결과로 생성될 수 있다.
일 실시예에서, 하나 이상의 아이콘들(602)은 하나 이상의 디바이스들과 관련된 이미지 아이콘들을 포함할 수 있다. 일 실시예에서, 하나 이상의 아이콘들(602)은 각각 데이터 라벨링(labeling)될 수 있다. 데이터 라벨링은 하나 이상의 아이콘들(602)이 각각 어떠한 디바이스에 대응하는 아이콘인지를 나타내기 위해, 하나 이상의 아이콘들(602) 각각에 디바이스와 관련된 데이터(예: 디바이스 타입, 디바이스 이름, 또는 디바이스 모델명 중 적어도 하나)를 매핑시키는 동작을 포함할 수 있다. AI 위젯은 하나 이상의 아이콘들(602) 각각에 매핑된 데이터를 기반으로, 하나 이상의 아이콘들(602)이 각각 어떠한 디바이스를 나타내는 것인지를 학습(606)할 수 있다.
일 실시예에서, 하나 이상의 단어들(604)은 하나 이상의 디바이스들과 관련된 단어들을 포함할 수 있다. 예를 들어, 하나 이상의 단어들(604)은 하나 이상의 디바이스들 각각의 이름, 타입, 모델명, 또는 기능과 관련된 단어들을 포함할 수 있다. 하나 이상의 단어들(604)은 디바이스 별로 분류되어 학습될 수 있다. 예를 들어, "텔레비전", "화면", 또는 "채널"의 단어들은 "TV"와 관련된 단어들로 학습되고, "세탁", "헹굼", 또는 "탈수"의 단어들은 "세탁기"와 관련된 단어들로 학습될 수 있다.
일 실시예에서, 데이터 라벨링된 하나 이상의 아이콘들(602)은 각각 하나 이상의 단어들(604)에 매핑되는 것으로 학습(606)될 수 있다. 예를 들어, 하나 이상의 아이콘들(602) 중 "TV"로 라벨링된 아이콘은 "TV"와 관련된 적어도 하나의 단어(예: "TV", "텔레비전", "화면", 또는 "채널" 중 적어도 하나)에 매핑되는 것으로 학습될 수 있고, 하나 이상의 아이콘들(602) 중 "세탁기"로 라벨링된 아이콘은 "세탁기"와 관련된 적어도 하나의 단어(예: "세탁기", "세탁", "헹굼", 또는 "탈수" 중 적어도 하나)에 매핑되는 것으로 학습될 수 있다. 이와 같은 학습 결과, 일 예로 표 1 600에 나타난 바와 같은 아이콘-단어 학습 모델(608)이 생성될 수 있다.
도 6의 (b)를 참조하면, 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 디바이스 모델(620)은 아이콘-단어 학습 모델(608)을 포함할 수 있다. 일 실시예에서, AI 위젯은 디바이스 이름(607)이 입력되면, 디바이스 모델(620)에 포함된 아이콘-단어 학습 모델(608)을 기반으로 디바이스 이름에 대응하는 디바이스를 결정할 수 있다(609). 예를 들어, AI 위젯은 디바이스 이름으로서 "tv"가 입력되면, 아이콘-단어 학습 모델(608)을 기반으로 "tv"의 단어와 관련된 디바이스로서 TV를 결정할 수 있고 TV에 대응하는 아이콘을 생성할 수 있다(610). AI 위젯이 디바이스 모델(620)을 통해 생성한 아이콘은 디바이스 이름(607)에 대응하는 디바이스 아이콘(611)으로서 제공될 수 있다.
도 7은 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 위젯 모델들을 설명하기 위한 도면이다.
도 7의 (a)를 참조하면, 일 실시예에 따른 위젯-기능 학습 모델(708)은 하나 이상의 위젯들(702)과 하나 이상의 디바이스 기능들에 대한 정보(704)가 AI 위젯에 의해 학습(706)된 결과로 생성될 수 있다.
일 실시예에서, 하나 이상의 위젯들(702)은 일 예로 하나 이상의 디바이스 기능들을 제어하기 위한 하나 이상의 사용자 인터페이스(user interface: UI)들을 포함할 수 있다. 일 실시예에서, 하나 이상의 위젯들(702)은 각각 데이터 라벨링될 수 있다. 예를 들어, 하나 이상의 위젯들(702)은 각각 어떠한 UI를 포함하고 있는 위젯인지를 나타내는 데이터(예: 전원 UI 위젯, 볼륨 조절 UI 위젯, 또는 채널 선택 UI 위젯 중 적어도 하나)에 매핑될 수 있다. AI 위젯은 하나 이상의 위젯들(702) 각각에 매핑된 데이터를 기반으로, 하나 이상의 위젯들(702)이 각각 어떠한 UI 위젯을 나타내는 것인지를 학습(706)할 수 있다.
일 실시예에서, 하나 이상의 디바이스 기능들에 대한 정보(704)는 각 디바이스에 의해 제공되는 하나 이상의 기능들을 나타내는 정보를 포함할 수 있다. 예를 들어, 디바이스가 "TV"인 경우, 하나 이상의 디바이스 기능들에 대한 정보(704)는 "전원 온/오프", "볼륨 조절", 또는 "채널 선택"에 대한 정보를 포함할 수 있다.
일 실시예에서, 데이터 라벨링된 하나 이상의 위젯들(702)은 각각 하나 이상의 디바이스 기능들에 대한 정보(704)에 매핑되는 것으로 학습(706)될 수 있다. 예를 들어, 하나 이상의 위젯들(702) 중 "전원 UI 위젯"으로 라벨링된 위젯은 "전원 온" 및/또는 "전원 오프" 기능에 매핑되는 것으로 학습될 수 있고, 하나 이상의 위젯들(702) 중 "볼륨 조절 UI 위젯"으로 라벨링된 위젯은 "볼륨 높임" 및/또는 "볼륨 낮춤"에 매핑되는 것으로 학습될 수 있다. 이와 같은 학습 결과, 일 예로 표 2 700에 나타난 바와 같은 위젯-기능 학습 모델(708)이 생성될 수 있다.
도 7의 (b)를 참조하면, 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 위젯 모델(720)은 위젯-기능 학습 모델(708)을 포함할 수 있다. 일 실시예에서, AI 위젯은 제어 정보(707)가 입력되면, 위젯-기능 학습 모델(708)을 기반으로 제어 정보(707)에 대응하는 기능 정보를 결정하고(709), 결정된 기능 정보에 대응하는 위젯을 결정할 수 있다(710).
예를 들어, AI 위젯은 "전원 온" 동작을 지시하는 제어 정보(707)가 입력되면, 표 2에 나타난 바와 같은 위젯-기능 학습 모델(708)에 포함된 하나 이상의 디바이스 기능들에 대한 정보(704) 중 입력된 제어 정보(707)에 대응하는 "전원 온" 기능에 대한 정보를 검출할 수 있다. AI 위젯은 위젯-기능 학습 모델(708)로부터 "전원 온" 기능에 대응하는 "전원 UI 위젯"을 검출하고, "전원 UI 위젯"을 제어 정보(707)에 대응하는 UI 위젯(711)으로서 제공할 수 있다.
도 8은 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 배치 모델들을 설명하기 위한 도면이다.
도 8의 (a)를 참조하면, 일 실시예에 따른 배치 학습 모델(810)은 해상도 정보(802)와 배치 정보(804)가 학습(806)된 결과로 생성될 수 있다. 일 실시예에서, AI 위젯은 전자 장치의 이용 가능한 해상도 정보(802)를 학습(806)할 수 있고, 위젯들의 개수 및/또는 타입을 기반으로 하나 이상의 위젯들을 화면에 표시하기 위한 배치 정보(804)를 학습(806)할 수 있다.
일 실시예에서, 해상도 정보(802)와 배치 정보(804)는 연관되어 학습(806)될 수 있다. 예를 들어, 해상도 정보(802)에 따른 각 해상도 별로 하나 이상의 위젯들의 개수 및/또는 타입 별 배치 정보(804)가 매핑되는 것으로 학습(806)될 수 있다. 예를 들어, "600 x 1240의 해상도에는 위젯 타입이 "전원 UI 위젯" 인 1개의 위젯에 대한 배치 정보가 매핑될 수 있고, "720 x 1280"의 해상도에는 위젯 타입이 "전원 UI 위젯"과 "볼륨 조절 UI 위젯"인 2개의 위젯들에 대한 배치 정보가 매핑될 수 있다.
도 8의 (b) 참조하면, 다양한 실시예들에 따른 AI 위젯에 포함될 수 있는 배치 모델(820)은 배치 학습 모델(810)을 포함할 수 있다. 일 실시예에서, AI 위젯은 하나 이상의 위젯들, 예를 들어, 위젯 1(807) 및 위젯 2(808)에 대한 정보와 해상도 정보(809)가 입력되면, 입력된 위젯들의 개수 및/또는 타입과 해상도 정보(809)에 적합한 위젯 1(807) 및 위젯 2(808)의 배치 위치를 배치 학습 모델(810)을 기반으로 결정할 수 있다(811). 일 실시예에서, AI 위젯은 위젯 1(807) 및 위젯 2(808)를 결정된 배치 위치에 배치시켜 전자 장치의 화면(812)에 표시할 수 있다.
도 9는 다양한 실시예들에 따른 전자 장치가 특정 외부 전자 장치를 위해 생성한 어플리케이션을 다른 외부 전자 장치를 위한 어플리케이션으로 변형(reform)하는 동작을 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자 장치는 특정 외부 전자 장치를 제어하기 위해 생성한 어플리케이션을 다른 외부 전자 장치를 제어하기 위한 어플리케이션으로 변형하여 사용할 수 있다. 도 9의 (a)를 참조하면, 일 실시예에서, 전자 장치는 TV 어플리케이션(910)을 에어컨 어플리케이션(920)으로 변형하여 사용할 수 있다.
이를 위해 AI 위젯(900)은 전자 장치에서 TV를 제어하기 위해 사용되던 TV 어플리케이션(910)에 대한 정보와, 에어컨과 관련된 디바이스 정보(예: 디바이스 액세스 URI 및 디바이스 이름 등) 및 제어 정보(예: 전원, 희망 온도 및 동작 모드에 대한 정보)를 입력 받을 수 있다.
AI 위젯(900)은 디바이스 모델을 기반으로 에어컨에 대응하는 아이콘을 생성하고, TV 어플리케이션의 아이콘을 에어컨 어플리케이션을 위한 아이콘으로 변경할 수 있다. 그리고 AI 위젯(900)은 위젯 모델을 기반으로 TV 어플리케이션의 하나 이상의 UI 위젯들(예: 볼륨, 전원 및 채널 UI 위젯들)을 에어컨의 자원 정보에 대응하는 하나 이상의 UI 위젯들(예: 희망 온도, 전원 및 동작 모드 UI 위젯들)로 변경할 수 있다.
AI 위젯(900)은 TV 어플리케이션의 하나 이상의 UI 위젯들에 대한 배치 위치를 에어컨 어플리케이션의 하나 이상의 UI 위젯들을 위해 그대로 사용할 수 있다. 하지만, 다른 실시예에서 AI 위젯(900)은 배치 모델을 기반으로 에어컨 어플리케이션의 하나 이상의 UI 위젯들에 대한 배치 위치를 결정하여 사용하는 것도 가능할 수 있다.
상기와 같이 에어컨 어플리케이션(920)의 생성이 완료되면, 전자 장치의 화면에는 도 9의 (b)에 나타난 바와 같이 TV 어플리케이션(930)의 아이콘이 에어컨 어플리케이션(940)의 아이콘으로 변경되어 표시될 수 있다.
이하 도 10 내지 도 12를 참조하여, 다양한 실시예들에 따른 전자 장치의 동작을 설명하기로 한다. 도 10 내지 도 12에 도시된 동작들은 도 3에 도시된 전자 장치(300)의 프로세서(340)에 의해 수행될 수 있다.
도 10은 다양한 실시예들에 따른 전자 장치(300)가 어플리케이션을 생성하는 동작을 나타낸 순서도(1000)이다.
도 10을 참조하면, 동작 1010에서, 프로세서(340)는 어플리케이션 생성을 지원하는 외부 전자 장치를 탐색할 수 있다. 일 실시예에서, 외부 전자 장치 탐색 동작은 사용자의 어플리케이션 생성 요청을 기반으로 수행될 수 있다. 다른 실시예에서, 외부 전자 장치 탐색 동작은 사용자의 요청없이, 하나 이상의 외부 전자 장치들에 대한 사용 이력 정보를 기반으로 사용 빈도수가 임계값 이상 높은 적어도 하나의 외부 전자 장치에 대해 수행될 수 있다. 하나 이상의 외부 전자 장치들에 대한 사용 이력 정보는 전자 장치에 미리 저장된 외부 전자 장치 관리 정보 또는 이를 통합적으로 관리할 수 있도록 하는 별도의 어플리케이션 등을 통해 획득될 수 있다.
동작 1020에서, 프로세서(340)는 탐색된 외부 전자 장치로부터 외부 전자 장치에 대한 디바이스 정보를 획득할 수 있다. 일 실시예에 따라, 획득된 디바이스 정보는 디바이스 액세스 URI, 디바이스 이름, 및 디바이스 자원 정보 등을 포함할 수 있다.
동작 1030에서, 프로세서(340)는 AI 모델을 이용하여 디바이스 정보에 포함된 디바이스 이름에 대응하는 아이콘을 생성할 수 있다. 일 실시예에서, AI 모델은 AI 위젯에 포함된 디바이스 모델을 포함할 수 있다. 일 실시예에서, 프로세서(340)는 AI 위젯을 외부 네트워크 상의 서버(예: 클라우드 서버)로부터 다운로드 등의 방식으로 획득할 수 있다. 일 실시예에 따라, 디바이스 이름에 대응하는 아이콘은 외부 전자 장치를 제어하기 위한 어플리케이션을 나타내는 아이콘일 수 있다.
동작 1040에서, 프로세서(340)는 AI 모델을 이용하여 디바이스 정보에 포함된 제어 정보에 대응하는 하나 이상의 UI 위젯들을 생성할 수 있다. 일 실시예에 따라, AI 모델은 AI 위젯에 포함된 위젯 모델을 포함할 수 있다. 일 실시예에 따라, 하나 이상의 UI 위젯들은 각각 외부 전자 장치의 기능을 제어하기 위한 자원 정보를 포함할 수 있다.
동작 1050에서, 프로세서(340)는 AI 모델을 이용하여 하나 이상의 UI 위젯들의 배치 위치를 결정할 수 있다. 일 실시 예에 따라, AI 모델은 AI 위젯에 포함된 배치 모델을 포함할 수 있다. 일 실시예에서, 하나 이상의 UI 위젯들의 배치 위치는 외부 전자 장치를 제어하기 위한 어플리케이션이 실행될 경우, 화면에 표시될 하나 이상의 UI 위젯들의 배치 위치를 나타낼 수 있다. 일 실시예에서, 외부 전자 장치를 제어하기 위한 어플리케이션은 전자 장치의 화면에 표시된 해당 어플리케이션에 대한 아이콘이 클릭이나 터치, 또는 키입력 등을 통해 선택되는 경우 실행될 수 있다.
도 11은 다양한 실시예들에 따른 전자 장치가 어플리케이션을 이용하여 외부 전자 장치를 제어하는 동작을 설명하기 위한 순서도(1100)이다.
도 11을 참조하면, 동작 1110에서, 프로세서(340)는 외부 전자 장치를 제어하기 위한 어플리케이션에 대한 어플리케이션 실행 요청을 수신할 수 있다. 일 실시예에서, 어플리케이션 실행 요청은 외부 전자 장치를 제어하기 위한 어플리케이션이 사용자에 의해 선택된 경우 수신될 수 있다. 예를 들어, 프로세서(340)는 전자 장치의 화면에 표시된 외부 전자 장치를 제어하기 위한 어플리케이션에 대응하는 아이콘이 클릭이나 터치, 또는 키입력 등을 통해 선택되는 경우, 어플리케이션 실행 요청을 수신할 수 있다.
동작 1120에서, 프로세서(340)는 어플리케이션 실행 요청 대한 응답으로, 어플리케이션을 실행하여 하나 이상의 UI 위젯들을 화면에 표시할 수 있다.
동작 1130에서, 프로세서(340)는 하나 이상의 UI 위젯들 중 하나가 선택되면 선택된 UI 위젯에 대응하는 제어 정보를 획득할 수 있다. 일 실시예에 따라, 제어 정보는 외부 전자 장치의 기능을 제어하기 위한 자원 정보를 포함할 수 있다.
동작 1140에서, 프로세서(340)는 획득된 제어 정보를 외부 전자 장치로 송신하여 외부 전자 장치의 기능을 제어할 수 있다. 일 실시예에서, 프로세서(340)는 외부 전자 장치의 기능이 제어된 결과를 화면에 표시할 수 있다.
도 12는 다양한 실시예들에 따른 전자 장치가 외부 전자 장치 별 사용 이력을 기반으로 어플리케이션을 생성하는 동작을 설명하기 위한 순서도(1200)이다.
도 12를 참조하면, 동작 1210에서, 프로세서(340)는 디바이스 통합 제어 어플리케이션을 기반으로 각 외부 전자 장치에 대한 사용 이력을 확인할 수 있다. 일 실시예에서, 디바이스 통합 제어 어플리케이션은 사용자가 이용하고 있는 하나 이상의 외부 전자 장치들을 관리하는 어플리케이션을 나타낼 수 있다. 일 실시예에서, 디바이스 통합 제어 어플리케이션은 미리 설정된 기간 동안의 외부 전자 장치 별 사용 빈도수 및/또는 미리 설정된 기간 동안의 외부 전자 장치 기능 별 사용 빈도수 등과 같은 통계 정보를 각 외부 전자 장치에 대한 사용 이력으로서 제공할 수 있다.
동작 1220에서, 프로세서(340)는 각 외부 전자 장치에 대한 사용 이력을 기반으로 자주 사용된 하나 이상의 외부 전자 장치들 및/또는 자주 사용된 하나 이상의 외부 전자 장치 기능들에 대한 정보를 획득할 수 있다. 일 실시예에서, 프로세서(340)는 디바이스 연결 정보를 더 획득할 수 있다.
일 실시예에서, 프로세서(340)는 아래의 표 1에 나타난 바와 같은 정보를 획득할 수 있다. 표 1에 나타난 바와 같은 정보가 획득되면, 프로세서(340)는 TV와 세탁기를 자주 사용하는 외부 전자 장치로서 확인할 수 있고, TV와 세탁기 각각에 대한 이름 및 연결 정보를 획득할 수 있다. 또한, 프로세서(340)는 TV에 의해 제공되는 기능들 중 사용자에 의해 자주 사용된 기능들이 "전원 온/오프", "볼륨 조절" 및 "채널 선택" 기능이고, 세탁기에 의해 제공되는 기능들 중 사용자에 의해 자주 사용된 기능들이 "전원", "세탁" 및 "헹굼 및 탈수" 기능임을 확인할 수 있다.
자주 사용된 외부 전자 장치 이름 | 디바이스 연결 정보 | 자주 사용된 기능 |
TV | TV URI (예: http://home address.tv) |
전원 온/오프 |
볼륨 조절 | ||
채널 선택 | ||
세탁기 | 세탁기 URI (예: http://home address.wm) |
전원 온/오프 |
세탁 | ||
헹굼 및 탈수 | ||
... | ... | ... |
동작 1230에서, 프로세서(340)는 동작 1220에 의해 획득된 정보를 기반으로 하나 이상의 AI 모델들을 이용하여, 자주 사용된 하나 이상의 외부 전자 장치들의 기능을 제어하기 위한 어플리케이션을 생성할 수 있다. 일 실시예에서, 프로세서(340)는 표 1과 같은 정보가 획득되면, 하나 이상의 AI 모델들을 포함하는 AI 위젯을 이용하여 TV 및 세탁기를 제어하기 위한 어플리케이션을 생성할 수 있다.
예를 들어, 프로세서(340)는 TV 및 세탁기의 이름 각각에 대응하는 아이콘을 AI 위젯 내 디바이스 모델을 기반으로 생성할 수 있다. 또한, 프로세서(340)는 TV에 대해 자주 사용된 기능들("전원 온/오프", "볼륨 조절" 및 "채널 선택") 각각에 대응하는 UI 위젯들을 AI 위젯 내 위젯 모델을 기반으로 생성할 수 있다. 마찬가지로, 프로세서(340)는 세탁기에 대해 자주 사용된 기능들("전원 온/오프", "세탁" 및 "헹굼 및 탈수") 각각에 대응하는 UI 위젯들을 AI 위젯 내 위젯 모델을 기반으로 생성할 수 있다. 아울러, 프로세서(340)는 TV 및 세탁기 각각에 대해 생성된 UI 위젯들의 배치 위치를 AI 위젯 내 배치 모델을 기반으로 결정할 수 있다.
동작 1240에서, 프로세서(340)는 생성된 어플리케이션을 표시한다. 일 실시예에서, 생성된 어플리케이션은 디바이스 이름에 대응하여 생성된 아이콘으로 표시될 수 있다. 일 실시예에서, 어플리케이션을 나타내기 위한 아이콘은 해당 외부 전자 장치를 나타내기 위한 아이콘이 될 수 있다. 일 실시예에서, 생성된 어플리케이션이 사용자의 선택에 따라 실행될 경우, 프로세서(340)는 결정된 배치 위치에 UI 위젯들을 표시할 수 있다.
다양한 실시예들에 따른 전자 장치에서 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법은, 제 1 외부 전자 장치로부터 상기 제 1 외부 전자 장치의 디바이스 정보 및 상기 제 1 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제어 정보를 획득하는 동작; 인공 지능(artificial intelligence 모델을 이용하여 상기 획득된 디바이스 정보에 대응하는 제 1 아이콘 정보를 획득하고, 상기 획득된 제 1 아이콘 정보를 기반으로 제 1 아이콘을 생성하여, 상기 생성된 제 1 아이콘을 상기 제 1 외부 전자 장치와 관련된 제 1 어플리케이션(application)의 아이콘으로서 표시하는 동작; 상기 인공 지능 모델을 이용하여 상기 획득된 제어 정보에 대응하는 사용자 인터페이스(user interface: UI) 정보를 획득하고, 상기 획득된 UI 정보를 기반으로 상기 제 1 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯(widget)들을 생성하는 동작; 및 상기 인공 지능 모델을 이용하여 상기 하나 이상의 UI 위젯들에 대한 배치 정보를 획득하고, 상기 제 1 어플리케이션이 실행될 경우 상기 획득된 배치 정보에 대응하는 위치에 상기 하나 이상의 UI 위젯들을 표시하는 동작을 포함할 수 있다.
다양한 실시예들에서, 상기 디바이스 정보를 획득하는 동작은, 상기 디바이스 정보로서 상기 제 1 외부 전자 장치에 액세스 하기 위한 URI(uniform resource identifier) 정보 및 상기 제 1 외부 전자 장치의 이름 정보 중 적어도 하나를 획득할 수 있다.
다양한 실시예들에서, 상기 디바이스 정보 및 상기 제어 정보를 획득하는 동작은, D2D(device-to-device) 통신 방식을 이용하여, 상기 제 1 외부 전자 장치로부터 상기 디바이스 정보 및 상기 제어 정보를 획득할 수 있다.
다양한 실시예들에서, 상기 방법은 클라우드(cloud) 서버로부터 인공 지능 위젯을 획득하는 동작; 및 상기 인공 지능 위젯으로부터 상기 인공 지능 모델을 획득하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 방법은 상기 하나 이상의 UI 위젯들 중 사용자에 의해 선택된 UI 위젯을 확인하는 동작; 상기 확인된 UI 위젯에 대응하는 제어 정보를 확인하는 동작; 및 상기 확인된 제어 정보를 상기 제 1 외부 전자 장치로 송신하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 방법은 다수의 외부 전자 장치들 각각의 미리 설정된 기간 동안의 사용 빈도수를 확인하는 동작; 상기 확인 결과를 기반으로 상기 다수의 외부 전자 장치들 중 사용 빈도수가 임계값 이상 높은 적어도 하나의 외부 전자 장치를 확인하는 동작; 및 상기 적어도 하나의 외부 전자 장치 중 하나를 상기 제1 외부 전자 장치로서 선택하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 방법은 상기 제 1 외부 전자 장치를 제어하기 위한 어플리케이션의 생성을 요청하는 사용자의 입력을 수신하는 동작; 상기 사용자의 입력을 기반으로 특정된 상기 제 1 외부 전자 장치와의 연결을 설정하는 동작; 및 상기 설정된 연결을 기반으로 상기 제 1 외부 전자 장치로부터 상기 디바이스 정보 및 상기 제어 정보를 획득하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 하나 이상의 기능들은 상기 제 1 외부 전자 장치의 제어 가능한 기능들 중 사용 빈도수가 임계값 이상 높은 하나 이상의 기능들을 포함할 수 있다.
다양한 실시예들에서, 상기 방법은 제 2 외부 전자 장치로부터 상기 제2 외부 전자 장치의 디바이스 정보 및 상기 제 2 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제어 정보를 획득하는 동작; 및 상기 제 2 외부 전자 장치의 디바이스 정보 및 상기 제 2 외부 전자 장치의 제어 정보를 기반으로, 상기 제 1 어플리케이션을 상기 제 2 외부 전자 장치와 관련된 제 2 어플리케이션으로 변경하는 동작을 더 포함할 수 있다.
다양한 실시예들에서, 상기 제 1 어플리케이션을 상기 제 2 외부 전자 장치와 관련된 제 2 어플리케이션으로 변경하는 동작은, 상기 인공 지능 모델을 이용하여 상기 제 2 외부 전자 장치의 디바이스 정보에 대응하는 제 2 아이콘 정보를 획득하고, 상기 제 2 아이콘 정보를 기반으로 상기 제 2 어플리케이션의 아이콘으로서 제 2 아이콘을 생성하고, 상기 제1 아이콘을 상기 제 2 아이콘으로 변경하여 표시하는 동작; 및 상기 하나 이상의 UI 위젯들에 대응하는 제어 정보를 상기 제 2 외부 전자 장치의 제어 정보로 변경함으로써, 상기 하나 이상의 UI 위젯들을 상기 제 2 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯들로 변경하는 동작을 포함할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
Claims (12)
- 전자 장치에서 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법에 있어서,제 1 외부 전자 장치로부터 상기 제 1 외부 전자 장치의 제1 디바이스 정보 및 상기 제 1 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제1 제어 정보를 획득하는 동작;인공 지능(artificial intelligence: AI) 모델을 이용하여 상기 획득된 제1 디바이스 정보에 대응하는 제 1 아이콘 정보를 획득하고, 상기 획득된 제 1 아이콘 정보를 기반으로 제 1 아이콘을 생성하여, 상기 생성된 제 1 아이콘을 상기 제 1 외부 전자 장치와 관련된 제 1 어플리케이션(application)의 아이콘으로서 표시하는 동작;상기 인공 지능 모델을 이용하여 상기 획득된 제1제어 정보에 대응하는 사용자 인터페이스(user interface: UI) 정보를 획득하고, 상기 획득된 UI 정보를 기반으로 상기 제 1 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯(widget)들을 생성하는 동작; 및상기 인공 지능 모델을 이용하여 상기 하나 이상의 UI 위젯들에 대한 배치 정보를 획득하고, 상기 제 1 어플리케이션이 실행될 경우 상기 획득된 배치 정보에 대응하는 위치에 상기 하나 이상의 UI 위젯들을 표시하는 동작을 포함하는 방법.
- 제 1 항에 있어서,상기 제1 디바이스 정보를 획득하는 동작은,상기 제1 디바이스 정보로서 상기 제 1 외부 전자 장치에 액세스 하기 위한 URI(uniform resource identifier) 정보 및 상기 제 1 외부 전자 장치의 이름 정보 중 적어도 하나를 획득하는 동작을 포함하는 방법.
- 제 1 항에 있어서,상기 제1 디바이스 정보 및 상기 제1 제어 정보를 획득하는 동작은,D2D(device-to-device) 통신 방식을 이용하여, 상기 제 1 외부 전자 장치로부터 상기 제1 디바이스 정보 및 상기 제1 제어 정보를 획득하는 동작을 포함하는 방법.
- 제 1 항에 있어서,클라우드(cloud) 서버로부터 인공 지능 위젯을 획득하는 동작; 및상기 인공 지능 위젯으로부터 상기 인공 지능 모델을 획득하는 동작을 더 포함하는 방법.
- 제 1 항에 있어서,상기 하나 이상의 UI 위젯들 중 사용자에 의해 선택된 UI 위젯을 확인하는 동작;상기 확인된 UI 위젯에 대응하는 제어 정보를 확인하는 동작; 및상기 확인된 제어 정보를 상기 제 1 외부 전자 장치로 송신하는 동작을 더 포함하는 방법.
- 제 1 항에 있어서,다수의 외부 전자 장치들 각각의 미리 설정된 기간 동안의 사용 빈도수를 확인하는 동작;상기 확인 결과를 기반으로 상기 다수의 외부 전자 장치들 중 사용 빈도수가 임계값 이상 높은 적어도 하나의 외부 전자 장치를 확인하는 동작; 및상기 적어도 하나의 외부 전자 장치 중 하나를 상기 제 1 외부 전자 장치로서 선택하는 동작을 더 포함하는 방법.
- 제 1 항에 있어서,상기 제 1 외부 전자 장치를 제어하기 위한 어플리케이션의 생성을 요청하는 사용자의 입력을 수신하는 동작;상기 사용자의 입력을 기반으로 특정된 상기 제 1 외부 전자 장치와의 연결을 설정하는 동작; 및상기 설정된 연결을 기반으로 상기 제 1 외부 전자 장치로부터 상기 제1 디바이스 정보 및 상기 제1 제어 정보를 획득하는 동작을 더 포함하는 방법.
- 제 1 항에 있어서,상기 하나 이상의 기능들은 상기 제 1 외부 전자 장치의 제어 가능한 기능들 중 사용 빈도수가 임계값 이상 높은 하나 이상의 기능들을 포함함을 특징으로 하는 방법.
- 제 1 항에 있어서,제 2 외부 전자 장치로부터 상기 제 2 외부 전자 장치의 제2 디바이스 정보 및 상기 제 2 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제2 제어 정보를 획득하는 동작; 및상기 제 2 외부 전자 장치의 제2 디바이스 정보 및 상기 제 2 외부 전자 장치의 제2 제어 정보를 기반으로, 상기 제 1 어플리케이션을 상기 제 2 외부 전자 장치와 관련된 제 2 어플리케이션으로 변경하는 동작을 더 포함하는 방법.
- 제 9 항에 있어서,상기 제 1 어플리케이션을 상기 제2 외부 전자 장치와 관련된 제 2 어플리케이션으로 변경하는 동작은,상기 인공 지능 모델을 이용하여 상기 제 2 외부 전자 장치의 제2 디바이스 정보에 대응하는 제 2 아이콘 정보를 획득하고, 상기 제 2 아이콘 정보를 기반으로 상기 제 2 어플리케이션의 아이콘으로서 제 2 아이콘을 생성하고, 상기 제 1 아이콘을 상기 제 2 아이콘으로 변경하여 표시하는 동작; 및상기 하나 이상의 UI 위젯들에 대응하는 제3 제어 정보를 상기 제 2 외부 전자 장치의 제2 제어 정보로 변경함으로써, 상기 하나 이상의 UI 위젯들을 상기 제 2 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯들로 변경하는 동작을 포함하는 방법.
- 전자 장치에 있어서,디스플레이와,통신 인터페이스와,상기 디스플레이 및 상기 통신 인터페이스와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는,제 1 외부 전자 장치로부터 상기 제 1 외부 전자 장치의 제11 디바이스 정보 및 상기 제 1 외부 전자 장치에 의해 제공되는 하나 이상의 기능들을 제어하기 위한 제1 제어 정보를 획득하고,인공 지능(artificial intelligence) 모델을 이용하여 상기 획득된 디바이스 정보에 대응하는 제 1 아이콘 정보를 획득하고, 상기 획득된 제 1 아이콘 정보를 기반으로 제 1 아이콘을 생성하여, 상기 생성된 제 1 아이콘을 상기 제 1 외부 전자 장치와 관련된 제 1 어플리케이션(application)의 아이콘으로서 표시하고,상기 인공 지능 모델을 이용하여 상기 획득된 제1 제어 정보에 대응하는 사용자 인터페이스(user interface: UI) 정보를 획득하고, 상기 획득된 UI 정보를 기반으로 상기 제 1 어플리케이션이 실행될 경우 표시될 하나 이상의 UI 위젯(widget)들을 생성하고,상기 인공 지능 모델을 이용하여 상기 하나 이상의 UI 위젯들에 대한 배치 정보를 획득하고, 상기 제 1 어플리케이션이 실행될 경우 상기 획득된 배치 정보에 대응하는 위치에 상기 하나 이상의 UI 위젯들을 표시하도록 설정된 전자 장치.
- 제 11항에 있어서,상기 적어도 하나의 프로세서는 청구항 2항 내지 10항 중 어느 하나의 방법을 수행하도록 구성되는 전자 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/298,515 US11792269B2 (en) | 2021-01-28 | 2021-05-17 | Method for generating application for controlling external electronic device and electronic apparatus for supporting the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210012091A KR20220108967A (ko) | 2021-01-28 | 2021-01-28 | 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치 |
KR10-2021-0012091 | 2021-01-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022163948A1 true WO2022163948A1 (ko) | 2022-08-04 |
Family
ID=82653608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/006167 WO2022163948A1 (ko) | 2021-01-28 | 2021-05-17 | 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11792269B2 (ko) |
KR (1) | KR20220108967A (ko) |
WO (1) | WO2022163948A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102562771B1 (ko) * | 2022-11-14 | 2023-08-02 | 주식회사 엔엑스테크놀로지 | 에너지 정보 인터페이스 제공 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140033677A (ko) * | 2012-09-10 | 2014-03-19 | 삼성전자주식회사 | 애플리케이션 실행 방법 및 기기 |
KR101859959B1 (ko) * | 2011-07-25 | 2018-05-21 | 엘지전자 주식회사 | 휴대 단말기 및 그 동작방법 |
KR20190053675A (ko) * | 2017-11-10 | 2019-05-20 | 삼성전자주식회사 | 전자 장치 및 그 동작 방법 |
KR20190119018A (ko) * | 2019-10-11 | 2019-10-21 | 삼성전자주식회사 | 디스플레이 장치 및 이의 애플리케이션 실행 방법, 그리고 디스플레이 장치를 원격으로 제어하는 외부기기 및 이의 애플리케이션 조작 화면 제공 방법 |
KR20190123661A (ko) * | 2018-04-10 | 2019-11-01 | 엘지전자 주식회사 | 이동 단말기 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102052605B1 (ko) | 2012-11-13 | 2019-12-06 | 네이버 주식회사 | 모바일 어플리케이션을 통한 바탕화면에 바로가기 설치 방법 및 그 시스템 |
KR20170078459A (ko) | 2015-12-29 | 2017-07-07 | 주식회사 아이디어피스 | 사용자 프로그램 작성 지원 IoT 플랫폼 및 이를 이용한 IoT 기기 제어용 프로그램 개발 방법 |
KR20190106942A (ko) * | 2019-08-30 | 2019-09-18 | 엘지전자 주식회사 | 지능형 디바이스 및 그 제어 방법 |
US11354140B2 (en) * | 2019-11-05 | 2022-06-07 | Nb Ventures, Inc. | Real time restructuring of enterprise or supply chain application |
CN115917512A (zh) * | 2020-04-27 | 2023-04-04 | 梅特凯股份有限公司 | 人工智能请求和建议卡 |
US20210117003A1 (en) * | 2020-10-23 | 2021-04-22 | Intel Corporation | Computing platforms and related methods for providing accessible user interfaces |
US20220197484A1 (en) * | 2020-12-21 | 2022-06-23 | Genesys Telecommunications Laboratories, Inc. | Technologies for transforming a data display |
-
2021
- 2021-01-28 KR KR1020210012091A patent/KR20220108967A/ko unknown
- 2021-05-17 WO PCT/KR2021/006167 patent/WO2022163948A1/ko active Application Filing
- 2021-05-17 US US17/298,515 patent/US11792269B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101859959B1 (ko) * | 2011-07-25 | 2018-05-21 | 엘지전자 주식회사 | 휴대 단말기 및 그 동작방법 |
KR20140033677A (ko) * | 2012-09-10 | 2014-03-19 | 삼성전자주식회사 | 애플리케이션 실행 방법 및 기기 |
KR20190053675A (ko) * | 2017-11-10 | 2019-05-20 | 삼성전자주식회사 | 전자 장치 및 그 동작 방법 |
KR20190123661A (ko) * | 2018-04-10 | 2019-11-01 | 엘지전자 주식회사 | 이동 단말기 |
KR20190119018A (ko) * | 2019-10-11 | 2019-10-21 | 삼성전자주식회사 | 디스플레이 장치 및 이의 애플리케이션 실행 방법, 그리고 디스플레이 장치를 원격으로 제어하는 외부기기 및 이의 애플리케이션 조작 화면 제공 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20230136504A1 (en) | 2023-05-04 |
US11792269B2 (en) | 2023-10-17 |
KR20220108967A (ko) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016013811A1 (en) | Subscriber identification module management method and electronic device supporting the same | |
WO2010098591A2 (en) | Remote user interface system and method | |
WO2015093865A1 (en) | Method for controlling a composition of a screen and electronic device thereof | |
EP3329352A1 (en) | User terminal apparatus and controlling method thereof | |
WO2011068372A2 (en) | Mobile device and control method thereof | |
WO2017111312A1 (en) | Electronic device and method of managing application programs thereof | |
WO2011014040A2 (en) | Method and device for creation of integrated user interface | |
CN108153778B (zh) | 网页保存方法、网页读取方法及装置 | |
EP3314482A1 (en) | Method and device of tagging links included in a screenshot of webpage | |
WO2020119062A1 (zh) | 预装应用管理方法、装置及存储介质 | |
JP6665660B2 (ja) | 機器制御システム、及び機器制御方法 | |
WO2014193091A1 (ko) | 웹 편집기를 이용한 전자메뉴판 서비스방법 및 그 시스템 | |
WO2014116005A1 (ko) | 애플리케이션 개발 환경 제공 방법 및 그 장치 | |
WO2020060021A1 (en) | Packet data unit (pdu) session control method and apparatus | |
WO2022163948A1 (ko) | 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치 | |
WO2021187818A1 (ko) | 전자 장치 및 전자 장치의 테마를 부분적으로 운용하는 방법 | |
WO2020114184A1 (zh) | 联合建模方法、装置、设备以及计算机可读存储介质 | |
WO2018105804A1 (ko) | Bpm 기반의 iot diy 시스템 및 이의 구현방법 | |
WO2017138708A1 (en) | Electronic apparatus and sensor arrangement method thereof | |
CN111694550B (zh) | 一种页面显示控制方法、装置及系统 | |
WO2020073615A1 (zh) | 设备软件的升级方法、数据转化器及可读存储介质 | |
WO2012128527A2 (en) | Method and system for managing contact information in a universal plug and play home network environment | |
JP2005510179A (ja) | ネットワークに接続された装置に専用のアプリケーションを管理するシステム、アプリケーション管理方法、アクセスターミナル、アプリケーションサーバ、およびこのようなシステムのための装置 | |
WO2021080147A1 (ko) | 개인화된 가상 비서를 제공하는 장치 | |
WO2018021798A1 (ko) | 외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21923358 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21923358 Country of ref document: EP Kind code of ref document: A1 |