Method and device for determining object indicated by voice command
The electronic device effectively addresses the challenge of identifying objects in augmented and mixed reality by detecting candidate objects and providing feedback on their properties, allowing users to specify attributes, thus improving object recognition in voice-command-based interactions.
Patent Information
- Application Number
- PCT/KR2024/004484
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-16
- Filing Date
- 2024-04-05
- Publication Date
- 2025-01-23
AI Technical Summary
Current technologies face challenges in accurately determining objects referred to by voice commands in augmented and mixed reality environments, particularly in identifying specific objects within a user's viewing region based on ambiguous voice inputs.
An electronic device equipped with processors and memory, capable of detecting candidate objects, determining representative properties, and providing feedback based on these properties, allows users to specify attribute values, thereby identifying the intended object through a voice command.
Enables precise object identification in real-time, enhancing user interaction in augmented and mixed reality applications by clarifying ambiguous voice inputs and providing accurate feedback on object attributes.
Smart Images

Figure KR2024004484_23012025_PF_FP_ABST
Abstract
Description
Method and device for determining an object referred to by a voice command
[0001] Hereinafter, a technique for determining an object referred to in a voice command is disclosed.
[0002] Recently, virtual reality (VR), augmented reality (AR), and mixed reality (MR) technologies that utilize computer graphics technology are being developed. VR technology uses computers to create virtual spaces that don't exist in the real world and then make them feel real. AR or MR technologies, on the other hand, superimpose computer-generated information on top of the real world. In other words, they combine the real and virtual worlds, enabling real-time user interaction.
[0003] Among these, AR and MR technologies are being integrated and utilized in various fields, such as broadcasting, medical technology, and gaming technology. Representative examples of AR being integrated into broadcasting include the natural change of weather maps in front of a weathercaster giving a weather forecast on TV, or the insertion of non-existent advertising images into the stadium during a sports broadcast, making them appear as if they were actually there.
[0004] A representative service that provides users with augmented reality or mixed reality is the metaverse. This metaverse, a portmanteau of "meta," meaning "fictional" or "abstract," and "universe," signifies a three-dimensional virtual world. A more advanced concept than the existing term "virtual reality environment," the metaverse provides an augmented reality environment where virtual worlds like the web and the internet are integrated into the real world.
[0005] The above information is provided solely as background information to aid in understanding the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above is applicable as prior art in connection with the present disclosure.
[0006] One embodiment of the present disclosure addresses at least the problems and / or disadvantages mentioned above, and provides at least the advantages described below. Accordingly, various embodiments of the present disclosure provide an electronic device that outputs an audio signal through an audio output device.
[0007] One embodiment of the present disclosure will be described in part in the description below, and in part will be apparent from the description or may be learned by practicing the embodiments presented.
[0008] According to one embodiment, an electronic device is provided. The electronic device includes a memory storing one or more computer programs, and one or more processors communicatively coupled to the memory, wherein the one or more computer programs include computer-executable instructions, which, when executed by the one or more processors, cause the electronic device to detect candidate objects in a viewing region of the user based on a voice command obtained from the user, determine a representative property among candidate properties of the detected candidate objects, output feedback based on a property value of the representative property of each of the detected candidate objects, and determine an object referred to in the voice command as a candidate object having a property value of the representative property specified by the additional command based on obtaining an additional command from the user that specifies a property value of the representative property.
[0009] According to one embodiment, a method performed by an electronic device is provided. The method may include: detecting, by the electronic device, candidate objects in a viewing region of a user based on a voice command obtained from the user; determining, by the electronic device, a representative property among candidate properties of the detected candidate objects; outputting, by the electronic device, feedback based on a property value of the representative property of each of the detected candidate objects; and determining, by the electronic device, an object referred to in the voice command as a candidate object having a property value of the representative property specified by the additional command based on obtaining, by the electronic device, an additional command specifying a property value of the representative property from the user.
[0010] According to one embodiment, one or more non-transitory computer-readable storage media storing one or more computer programs including computer-executable instructions are provided, wherein the computer-executable instructions cause the electronic device to perform operations when executed by one or more processors of the electronic device. The operations may include: detecting, by the electronic device, candidate objects in a viewing region of the user based on a voice command obtained from the user; determining, by the electronic device, a representative property among candidate properties of the detected candidate objects; outputting, by the electronic device, feedback based on a property value of the representative property of each of the detected candidate objects; and determining, by the electronic device, an object referred to in the voice command as a candidate object having a property value of the representative property specified by the additional command based on obtaining, by the electronic device, an additional command specifying a property value of the representative property from the user.
[0011] Other aspects, advantages and salient features of the present disclosure will become apparent to those skilled in the art from the following detailed description of various embodiments of the present disclosure taken in conjunction with the accompanying drawings.
[0012] The above and other aspects, features and advantages of specific embodiments of the present disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings.
[0013] FIG. 1 is a block diagram illustrating an exemplary configuration of an electronic device according to one embodiment of the present disclosure.
[0014] FIG. 2 illustrates an example of an optical see-through device according to one embodiment of the present disclosure.
[0015] FIG. 3 illustrates an example of an optical system for an eye tracking camera, a transparent member, and a display according to one embodiment of the present disclosure.
[0016] FIGS. 4A and 4B are diagrams showing examples of the front and back of an electronic device according to one embodiment of the present disclosure.
[0017] FIG. 5 illustrates an example of construction of a virtual space, input from a user within the virtual space, and output to the user according to one embodiment of the present disclosure.
[0018] FIG. 6 is a diagram illustrating an example of an operation for determining an object referred to by a voice command according to one embodiment of the present disclosure.
[0019] FIG. 7 is a diagram illustrating an example of an electronic device and a server according to one embodiment of the present disclosure.
[0020] FIG. 8 is a diagram illustrating an example of a method by which an electronic device determines an object referred to in a voice command according to one embodiment of the present disclosure.
[0021] FIG. 9 is a diagram illustrating an example of an operation for determining a representative attribute for each of candidate objects according to one embodiment of the present disclosure.
[0022] FIG. 10 is a diagram illustrating an example of an operation of an electronic device according to one embodiment of the present disclosure to output feedback based on representative properties and auxiliary properties.
[0023] FIG. 11 is a diagram illustrating an example of an operation in which an electronic device according to one embodiment of the present disclosure outputs feedback based on a representative attribute and subsequently outputs feedback based on an auxiliary attribute.
[0024] FIG. 12 is a diagram illustrating an example of an operation of an electronic device according to an embodiment of the present disclosure to provide visual feedback for candidate objects and an object determined to be an object referred to in a voice command among the candidate objects.
[0025] FIG. 13 is a diagram illustrating an example of an operation of determining candidate properties and additional properties for candidate objects by an electronic device and a server according to one embodiment of the present disclosure.
[0026] It should be noted that throughout the drawings, similar reference numbers are used to describe identical or similar elements, features and structures.
[0027] The following description, with reference to the accompanying drawings, is provided to facilitate a comprehensive understanding of various embodiments of the present disclosure as defined by the claims and their equivalents. While numerous specific details are included to facilitate understanding, they are to be considered merely illustrative. Accordingly, those skilled in the art will recognize that various modifications and variations can be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure. Furthermore, descriptions of well-known functions and configurations may be omitted for clarity and brevity.
[0028] The terms and words used in the following description and claims are not intended to be limited by their bibliographic meanings, but are merely used by the inventors to ensure a clear and consistent understanding of the present disclosure. Therefore, it should be apparent to those skilled in the art that the following description of various embodiments of the present disclosure is provided solely for illustrative purposes, and not for the purpose of limiting the present disclosure as defined by the appended claims and their equivalents.
[0029] The singular forms "a," "an," and "the" should be understood to include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a part surface" includes reference to one or more of these surfaces.
[0030] It should be understood that the blocks in each flowchart and combination of flowcharts may be executed by one or more computer programs containing instructions. The entirety of the one or more programs may be stored in a single memory device, or the one or more computer programs may be divided into different portions stored in different memory devices.
[0031] Any of the functions or operations disclosed herein may be processed by one processor or combinations of processors. A processor or a combination of processors is a circuit that performs processing, and may include an application processor (AP) (e.g., a central processing unit (CPU)), a communication processor (CP) (e.g., a modem), a graphics processing unit (GPU), a neural processing unit (NPU) (e.g., an artificial intelligence (AI) chip), a Wi-Fi chip, a Bluetooth® chip, a global positioning system (GPS) chip, a near field communication (NFC) chip, connectivity chips, a sensor controller, a touch controller, a finger-print sensor controller, a display drive integrated circuit (display drive IC), an audio CODEC chip, a universal serial bus controller (USB controller), a camera controller, an image processing IC, a microprocessor unit (MPU), It may include SoC (system on chip), integrated circuit (IC), etc.
[0032] FIG. 1 is a block diagram illustrating an exemplary configuration of an electronic device according to one embodiment of the present disclosure.
[0033] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to one embodiment of the present disclosure. Referring to FIG. 1 , in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0034] The processor (120) controls at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing, for example, software (e.g., program (140)), and performs various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., sensor module (176) or communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store result data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0035] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0036] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0037] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0038] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0039] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0040] A display module (160) (e.g., a display) can visually provide information to an external device (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0041] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0042] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0043] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0044] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0045] The haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0046] The camera module (180) can capture still images and moving images. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0047] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0048] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0049] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a fifth generation (5G) network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0050] The wireless communication module (192) can support a 5G network and next-generation communication technologies following the 4th generation (4G) network, for example, new radio access technology (NR). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0051] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0052] According to various embodiments, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0053] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0054] According to one embodiment, commands or data can be transmitted or received between an electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199).
[0055] Each of the external electronic devices (102, 104) and the server (108) may be the same type of device as or different from the electronic device (101). According to one embodiment, all or part of the operations executed by the electronic device (101) may be executed by one or more of the external electronic devices (102, 104) or the server (108). For example, when the electronic device (101) needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of executing the function or service itself or in addition, request one or more external electronic devices to execute at least a part of the function or service. The one or more external electronic devices that receive the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a part of a response to the request. In this specification, an example is mainly described in which an electronic device (101) is an augmented reality device (e.g., an electronic device (201) of FIG. 2, an electronic device (301) of FIG. 3, or an electronic device (401) of FIGS. 4A and 4B), and an external electronic device (102, 104) or a server (108) among the servers transmits the results of executing a virtual space and additional functions or services related to the virtual space to the electronic device (101).
[0056] The server (108) may include a processor (181), a communication module (182), and a memory (183). The processor (181), the communication module (182), and the memory (183) may be configured similarly to the processor (120), the communication module (190), and the memory (130) of the electronic device (101). For example, the processor (181) may provide a virtual space and interaction between users within the virtual space by executing instructions stored in the memory (183). The processor (181) may generate at least one of visual information, auditory information, or tactile information of the virtual space and objects within the virtual space. For example, as visual information, the processor (181) may generate rendering data (e.g., visual rendering data) that renders the appearance (e.g., shape, size, color, or texture) of the virtual space and the appearance (e.g., shape, size, color, or texture) of objects positioned within the virtual space. In addition, the processor (181) may generate rendering data that renders a change (e.g., a change in the appearance of an object, a sound generation, or a tactile generation) based on at least one of an interaction between objects (e.g., a physical object, a virtual object, or an avatar object) in a virtual space, or a user input to an object (e.g., a physical object, a virtual object, or an avatar object). The communication module (182) may establish communication with a first electronic device (e.g., an electronic device (101)) of a user and a second electronic device (e.g., an electronic device (102)) of another user. The communication module (182) may transmit at least one of the visual information, the tactile information, or the auditory information described above to the first electronic device and the second electronic device. For example, the communication module (182) may transmit rendering data.
[0057] For example, the server (108) renders content data executed in an application and transmits it to the electronic device (101), and the electronic device (101) that receives the data can output the content data to the display module (160). If the electronic device (101) detects user movement through an IMU (inertial measurement unit) sensor, the processor (120) of the electronic device (101) can correct the rendering data received from the external electronic device (102) based on the movement information and output it to the display module (160). Alternatively, the movement information can be transmitted to the server (108) to request rendering so that the screen data is updated accordingly. However, the present invention is not limited thereto, and the above-described rendering can be performed by various forms of external electronic devices (102, 104), such as a smartphone or a case device that can store and charge the electronic device (101). Rendering data corresponding to the aforementioned virtual space generated by an external electronic device (102, 104) may be provided to the electronic device (101). As another example, the electronic device (101) may receive virtual space information (e.g., vertex coordinates, texture, color defining the virtual space) and object information (e.g., vertex coordinates, texture, color defining the appearance of an object) from a server (108) and perform rendering on its own based on the received data.
[0058] FIG. 2 illustrates an example of an optical see-through device according to one embodiment of the present disclosure.
[0059] The electronic device (201) may include at least one of a display (e.g., a display module (160) of FIG. 1), a vision sensor, a light source (230a, 230b), an optical element, or a substrate. An electronic device (201) that has a transparent display and provides an image through the transparent display may be referred to as an optical see-through device (OST device).
[0060] The display may include, for example, a liquid crystal display (LCD), a digital mirror device (DMD), a liquid crystal on silicon (LCoS), an organic light emitting diode (OLED), or a micro light emitting diode (micro LED).
[0061] In one embodiment, when the display is formed of one of a liquid crystal display (LCD), a digital mirror display (DMD), or a silicon liquid crystal display (SLCD), the electronic device (201) may include a light source (230a, 230b) that irradiates light to a screen output area of the display (e.g., a screen display unit (215a, 215b)). In another embodiment, when the display can generate light on its own, for example, when it is formed of one of an organic light emitting diode (OLED) or a micro LED, the electronic device (201) may provide a good quality virtual image to the user even without including a separate light source (230a, 230b). In one embodiment, if the display is formed of an organic light emitting diode (OLED) or a micro LED, the light source (230a, 230b) is unnecessary, and thus the electronic device (201) may be lightweight.
[0062] Referring to FIG. 2, the electronic device (201) may include a display, a first transparent member (225a) and / or a second transparent member (225b), and a user may use the electronic device (201) while wearing it on his or her face. The first transparent member (225a) and / or the second transparent member (225b) may be formed of a glass plate, a plastic plate, or a polymer, and may be manufactured to be transparent or translucent. According to one embodiment, the first transparent member (225a) may be arranged to face the user's right eye, and the second transparent member (225b) may be arranged to face the user's left eye. The display may include a first display (205) that outputs a first image (e.g., a right image) corresponding to the first transparent member (225a), and a second display (210) that outputs a second image (e.g., a left image) corresponding to the second transparent member (225b). In one embodiment, if each display is transparent, each display and transparent member may be positioned at a position facing the user's eyes to form a screen display unit (215a, 215b).
[0063] In one embodiment, light emitted from the display (205, 210) may be guided along an optical path through an input optical member (220a, 220b) into a waveguide. Light traveling within the waveguide may be guided toward a user's eyes through an output optical member (e.g., the output optical member (340) of FIG. 3). The screen display units (215a, 215b) may be determined based on the light emitted toward the user's eyes.
[0064] For example, light emitted from the display (205, 210) may be reflected in the grating region of the waveguide formed in the input optical member (220a, 220b) and the screen display portions (215a, 215b) and transmitted to the user's eyes.
[0065] The optical element may include at least one of a lens or an optical waveguide.
[0066] The lens can adjust the focus so that the screen output to the display can be viewed by the user. The lens may include, for example, at least one of a Fresnel lens, a pancake lens, or a multi-channel lens.
[0067] An optical waveguide can transmit image light generated from a display to a user's eyes. For example, the image light may represent light emitted by a light source (230a, 230b) that passes through a screen output area of the display. The optical waveguide can be made of glass, plastic, or polymer. The optical waveguide can include a nano-pattern formed on a portion of an internal or external surface, for example, a grating structure having a polygonal or curved shape. An exemplary structure of the optical waveguide is described below in FIG. 3.
[0068] The vision sensor may include at least one of a camera sensor or a depth sensor.
[0069] The first camera (265a, 265b) is a recognition camera, and may be a camera used for 3DoF, 6DoF head tracking, hand detection, hand tracking, and spatial recognition. The first camera (265a, 265b) may mainly include a GS (Global shutter) camera. Since a stereo camera is required for head tracking and spatial recognition, the first camera (265a, 265b) may include two or more GS cameras. The GS camera may have superior performance compared to the RS (Rolling shutter) camera in terms of detecting and tracking fine movements such as rapid hand movements and fingers. For example, the GS camera may have low image blur. The first camera (265a, 265b) may capture image data used for spatial recognition for 6DoF and SLAM function through depth shooting. Additionally, a user gesture recognition function can be performed based on image data captured by the first camera (265a, 265b).
[0070] The second camera (270a, 270b) is an ET (Eye Tracking) camera and can be used to capture image data for detecting and tracking the user's pupils. The second camera (270a, 270b) is described later in FIG. 3.
[0071] The third camera (245) may be a camera for photography. The third camera (245) may include a high-resolution camera for capturing HR (High Resolution) or PV (Photo Video) images. The third camera (245) may include a color camera equipped with functions for obtaining high-quality images, such as an AF function and optical image stabilization (OIS). The third camera (245) may be a GS camera or an RS camera.
[0072] The fourth camera unit (e.g., the face recognition camera (425, 426) of FIG. 4 below) is a face recognition camera, and the FT (Face Tracking) camera can be used to detect and track the user's facial expressions.
[0073] A depth sensor (not shown) may be a sensor that senses information for determining the distance to an object, such as Time of Flight (TOF). TOF is a technology that measures the distance to an object using signals (e.g., near-infrared, ultrasound, laser). A depth sensor based on TOF technology can measure the time of flight of a signal by transmitting a signal and measuring the signal at a receiver.
[0074] The light source (230a, 230b) (e.g., illumination module) may include a device (e.g., light emitting diode (LED)) that irradiates light of various wavelengths. The illumination module may be attached to various locations depending on the application. As one example, a first illumination module (e.g., LED device) attached around the frame of the augmented reality glasses device may emit light to assist in gaze detection when tracking eye movements with an ET camera. The first illumination module may include, for example, an IR LED of an infrared wavelength. As another example, a second illumination module (e.g., LED device) may be attached adjacent to a camera mounted around a hinge (240a, 240b) connecting the frame and the temple, or around a bridge connecting the frames. The second illumination module may emit light to supplement the ambient brightness when the camera is taking pictures. If subject detection is not easy in a dark environment, the second lighting module may illuminate.
[0075] A substrate (235a, 235b) (e.g., a printed circuit board (PCB)) can support the aforementioned components.
[0076] A printed circuit board (PCB) may be disposed on the temple portion of the glasses. The FPCB may transmit electrical signals to each module (e.g., a camera, a display, an audio module, a sensor module) and other printed circuit boards. In one embodiment, at least one printed circuit board may include a first substrate, a second substrate, and an interposer disposed between the first substrate and the second substrate. In another example, the printed circuit board may be disposed at the center portion of the set. Electrical signals may be transmitted to each module and other printed circuit boards through the FPCB.
[0077] Other components may include, for example, at least one of a plurality of microphones (e.g., a first microphone (250a), a second microphone (250b), a third microphone (250c)), a plurality of speakers (e.g., a first speaker (255a), a second speaker (255b)), a battery (260), an antenna, or a sensor (e.g., an acceleration sensor, a gyro sensor, a touch sensor, etc.).
[0078] FIG. 3 illustrates an example of an optical system for an eye tracking camera, a transparent member, and a display according to one embodiment of the present disclosure.
[0079] FIG. 3 is a drawing for explaining the operation of an eye tracking camera included in an electronic device according to one embodiment of the present disclosure.
[0080] Referring to FIG. 3, a process is illustrated in which an eye tracking camera (310) of an electronic device (301) according to one embodiment (e.g., the second camera (270a, 270b) of FIG. 2) tracks a user's eye (309), i.e., the user's gaze, using light (e.g., infrared light) output from a display (320) (e.g., the first display (205), the second display (210) of FIG. 2).
[0081] The second camera (e.g., the second cameras (270a, 270b) of FIG. 2) may be an eye tracking camera (310) that collects information to position the center of a virtual image projected onto the electronic device (301) according to the direction in which the pupil of the wearer of the electronic device (301) is looking. The second camera may also include a GS camera to detect the pupil and track rapid eye movement. ET cameras may also be installed for the left and right eyes, respectively, and cameras with the same performance and specifications may be used. The eye tracking camera (310) may include a gaze tracking sensor (315). The gaze tracking sensor (315) may be included inside the eye tracking camera (310). Infrared light output from the display (320) may be transmitted to the user's eyes (309) as infrared reflected light (303) by a half mirror. The gaze tracking sensor (315) can detect infrared reflected light (303) and infrared transmitted light (305) reflected from the user's eye (309). The eye tracking camera (310) can track the user's eye (309), or in other words, the user's gaze, based on the detection result of the gaze tracking sensor (315).
[0082] The display (320) may include a plurality of visible light pixels and a plurality of infrared pixels. The visible light pixels may include R, G, and B pixels. The visible light pixels may output visible light corresponding to a virtual object image. The infrared pixels may output infrared light. The display (320) may include, for example, micro light emitting diodes (LEDs) or organic light emitting diodes (OLEDs).
[0083] The display optical pipe (350) and the eye tracking camera optical pipe (360) may be included inside a transparent member (370) (e.g., the first transparent member (225a) and the second transparent member (225b) of FIG. 2). The transparent member (370) may be formed of a glass plate, a plastic plate, or a polymer, and may be manufactured to be transparent or translucent. The transparent member (370) may be positioned to face the user's eyes. At this time, the distance between the transparent member (370) and the user's eyes (309) may be referred to as 'eye relief' (380).
[0084] The transparent member (370) may include optical waveguides (350, 360). The transparent member (370) may include an input optical member (330) and an output optical member (340). In addition, the transparent member (370) may include an eye-tracking splitter (375) that separates input light into multiple waveguides.
[0085] According to one embodiment, light incident on one end of the display light pipe (350) can be propagated inside the display light pipe (350) by the nano-pattern and provided to the user. In addition, the display light pipe (350) composed of a free-form prism can provide image light to the user through the reflected light. The display light pipe (350) can include at least one diffractive element (e.g., a Diffractive Optical Element (DOE), a Holographic Optical Element (HOE)) or at least one reflective element (e.g., a reflective mirror). The display light pipe (350) can guide display light (e.g., image light) emitted from a light source to the user's eyes by using at least one diffractive element or reflective element included in the display light pipe (350). For reference, also, in FIG. 3, the output optical member (340) is expressed as being separate from the eye-tracking optical waveguide (360), but the output optical member (340) may be included inside the eye-tracking optical waveguide (360).
[0086] According to various embodiments, the diffractive element may include an input optical member (330) and an output optical member (340). For example, the input optical member (330) may mean an input grating region. The output optical member (340) may mean an output grating region. The input grating region may serve as an input terminal that diffracts (or reflects) light output from (e.g., a Micro LED) to transmit the light to a transparent member (e.g., a first transparent member, a second transparent member) of a screen display unit. The output grating region may serve as an outlet that diffracts (or reflects) light transmitted to a transparent member (e.g., a first transparent member, a second transparent member) of a waveguide to a user's eye.
[0087] According to various embodiments, the reflective element may include a total internal reflection (TIR) optical element or a total internal reflection waveguide. For example, total internal reflection may refer to a method of guiding light such that light (e.g., a virtual image) entering through an input grating region is 100% reflected from one surface (e.g., a specific surface) of the waveguide, thereby transmitting 100% of the light to the output grating region.
[0088] In one embodiment, light emitted from the display (320) may be guided along an optical path through an input optical element (330) into a waveguide. Light traveling within the waveguide may be guided toward the user's eyes through an output optical element (340). The screen display may be determined based on the light emitted toward the user's eyes.
[0089] FIGS. 4A and 4B are diagrams illustrating examples of the front and back of an electronic device according to one embodiment of the present disclosure. FIG. 4A may be an external appearance of the electronic device (401) as viewed from a first direction (①), and FIG. 4B may be an external appearance of the electronic device (401) as viewed from a second direction (②). When a user wears the electronic device (401), the external appearance viewed by the user's eyes may be FIG. 4B.
[0090] Referring to FIG. 4A, according to various embodiments, an electronic device (401) (e.g., the electronic device (101) of FIG. 1, the electronic device (201) of FIG. 2, and the electronic device (301) of FIG. 3) may provide a service that provides an extended reality (XR) experience to a user. For example, an XR or XR service may be defined as a service that collectively refers to virtual reality (VR), augmented reality (AR), and / or mixed reality (MR).
[0091] According to one embodiment, the electronic device (401) may refer to a head-mounted device or a head-mounted display worn on the user's head, but may also be configured in the form of at least one of glasses, goggles, a helmet, or a hat. The electronic device (401) may include an OST (optical see-through) type configured to allow external light to reach the user's eyes through the glasses when worn, or a VST (video see-through) type configured to allow light emitted from the display to reach the user's eyes but block external light so that external light does not reach the user's eyes when worn.
[0092] According to one embodiment, the electronic device (401) may be worn on the user's head and may provide the user with an image related to an extended reality (XR) service. For example, the electronic device (401) may provide XR content (hereinafter referred to as an XR content image) that outputs at least one virtual object to be superimposed on a display area or an area determined to be the user's field of view (FoV). According to one embodiment, the XR content may refer to an image or image that appears to have at least one virtual object superimposed on an image related to a real space acquired through a camera (e.g., a camera for taking pictures) or a virtual space. According to one embodiment, the electronic device (401) may provide XR content based on a function being performed by the electronic device (401) and / or a function being performed by one or more external electronic devices (e.g., the electronic devices (102, 104) of FIG. 1, the server (108) of FIG. 1).
[0093] According to one embodiment, the electronic device (401) is at least partially controlled by an external electronic device (e.g., electronic devices (102 or 104) of FIG. 1), and may perform at least one function under the control of the external electronic device, but may also perform at least one function independently.
[0094] Referring to FIG. 4A, a vision sensor may be placed on a first surface of a housing of a main body (410) of an electronic device (401). The vision sensor may include cameras (e.g., cameras for second functions (411, 412), cameras for first functions (415)) and / or a depth sensor (417) for obtaining information related to the surrounding environment of the electronic device (401).
[0095] In one embodiment, the second function cameras (411, 412) can obtain images related to the surrounding environment of the electronic device (401). The first function cameras (415) can obtain images when the wearable electronic device is worn by the user. The first function cameras (415) can be used for hand detection and tracking, and recognition of user gestures (e.g., hand movements). The first function cameras (415) can be used for 3DoF, 6DoF head tracking, position (spatial, environmental) recognition, and / or movement recognition. In one embodiment, the second function cameras (411, 412) can also be used for hand detection and tracking, and user gestures.
[0096] In one embodiment, the depth sensor (417) may be configured to transmit a signal and receive a signal reflected from a subject, and may be used for purposes such as time of flight (TOF) to determine the distance to an object. Instead of or in addition to the depth sensor (417), cameras (411, 412, 415) may determine the distance to an object.
[0097] Referring to FIG. 4b, a camera (425, 426) for facial recognition and / or a display (421) (and / or lens) may be placed on the second surface (420) of the housing of the main body (410).
[0098] In one embodiment, a face recognition camera (425, 426) adjacent to the display may be used to recognize the user's face, or may recognize and / or track the user's two eyes.
[0099] In one embodiment, the display (421) (and / or lens) may be disposed on the second side (420) of the electronic device (401). In one embodiment, the electronic device (401) may not include some of the plurality of cameras (415). Although not shown in FIGS. 4A and 4B , the electronic device (401) may further include at least one of the configurations illustrated in FIG. 2 .
[0100] According to one embodiment, the electronic device (401) may include a main body (410) that mounts at least some of the components of FIG. 1, a display (421) (e.g., a display module (160) of FIG. 1) disposed in a first direction (①) of the main body (410), a first function camera (e.g., a recognition camera) (415) disposed in a second direction (②) of the main body (410), a second function camera (e.g., a shooting camera) (411, 412) disposed in a second direction (②), a third function camera (e.g., a gaze tracking camera) (428) disposed in the first direction (①), a fourth function camera (e.g., a face recognition camera) (425, 426) disposed in the first direction (①), a depth sensor (417) disposed in the second direction (②), and a touch sensor (413) disposed in the second direction (②). Although not shown in the drawing, the main body (410) includes a memory (e.g., memory (130) of FIG. 1) and a processor (e.g., processor (120) of FIG. 1), and may further include other components shown in FIG. 1.
[0101] According to one embodiment, the display (421) may include a liquid crystal display (LCD), a digital mirror device (DMD), a liquid crystal on silicon (LCoS), an organic light emitting diode (OLED), or a micro light emitting diode (micro LED).
[0102] In one embodiment, when the display (421) is formed of one of a liquid crystal display (LCD), a digital mirror display (DMD), or a silicon liquid crystal display (SiLCD), the electronic device (401) may include a light source that irradiates light to a screen output area of the display (421). In another embodiment, when the display (421) can generate light on its own, for example, when the electronic device (401) is formed of one of an organic light emitting diode (OLED) or a micro LED, the electronic device (401) may provide a good quality XR content image to the user even without including a separate light source. In one embodiment, when the display (421) is formed of an organic light emitting diode (OLED) or a micro LED, a light source is unnecessary, and thus the electronic device (401) may be lightweight.
[0103] According to one embodiment, the display (421) may include a first transparent member (421a) and / or a second transparent member (421b). The user may use the electronic device (401) while wearing it on his or her face. The first transparent member (421a) and / or the second transparent member (421b) may be formed of a glass plate, a plastic plate, or a polymer, and may be manufactured to be transparent or translucent. According to one embodiment, the first transparent member (421a) may be arranged to face the user's left eye in the fourth direction (④), and the second transparent member (421b) may be arranged to face the user's right eye in the third direction (③). According to various embodiments, when the display (421) is transparent, it may be arranged at a position facing the user's eyes to form a display area.
[0104] According to one embodiment, the display (421) may include a lens including a transparent waveguide. The lens may serve to adjust the focus so that the screen (e.g., XR content image) output to the display (421) can be viewed by the user's eyes. For example, light emitted from the display panel may pass through the lens and be transmitted to the user through a waveguide formed within the lens. The lens may be configured as a Fresnel lens, a pancake lens, or a multi-channel lens.
[0105] An optical waveguide (e.g., a waveguide) may serve to transmit light generated by the display (421) to the user's eyes. The optical waveguide may be made of glass, plastic, or a polymer, and may include nano-patterns formed on a portion of the inner or outer surface, for example, a grating structure having a polygonal or curved shape. According to one embodiment, light incident on one end of the optical waveguide, that is, an output image of the display (421), may be propagated within the optical waveguide and provided to the user. In addition, an optical waveguide composed of a free-form prism may provide the incident light to the user through a reflective mirror. The optical waveguide may include at least one diffractive element (e.g., a diffractive optical element (DOE), a holographic optical element (HOE)) or at least one reflective element (e.g., a reflective mirror). The optical waveguide may guide an image output from the display (421) to the user's eyes by using at least one diffractive element or reflective element included in the optical waveguide.
[0106] According to one embodiment, the diffractive element may include an input optical member / output optical member (not shown). For example, the input optical member may mean an input grating region, and the output optical member (not shown) may mean an output grating region. The input grating region may serve as an input terminal that diffracts (or reflects) light output from a light source (e.g., a Micro LED) to transmit the light to a transparent member (e.g., a first transparent member (421a), a second transparent member (421b)) of the display area. The output grating region may serve as an outlet that diffracts (or reflects) light transmitted to a transparent member (e.g., a first transparent member, a second transparent member) of the optical waveguide to a user's eye.
[0107] In some embodiments, the reflective element may comprise a total internal reflection (TIR) optical element or waveguide for total internal reflection. For example, total internal reflection may refer to a method of directing light such that light (e.g., a virtual image) entering through an input grating region is reflected substantially 100% from one surface (e.g., a specific surface) of the optical waveguide, thereby transmitting substantially 100% of the light to the output grating region at an angle of incidence.
[0108] In one embodiment, light emitted from the display (421) may be guided along an optical path through an input optical element into a waveguide. Light traveling within the optical waveguide may be guided toward the user's eyes through an output optical element. The display area may be determined based on the light emitted toward the user's eyes.
[0109] According to one embodiment, the electronic device (401) may include a plurality of cameras. For example, the cameras may include a first function camera (e.g., a recognition camera) (415) disposed in the second direction (②) of the main body (410), a second function camera (e.g., a shooting camera) (411, 412) disposed in the second direction (②), a third function camera (e.g., a gaze tracking camera) (428) disposed in the first direction (①), and / or a fourth function camera (e.g., a face recognition camera) (425, 426) disposed in the first direction (①), but may further include cameras for other functions not shown.
[0110] The first function camera (e.g., recognition camera) (415) can be used for the purpose of detecting user movement or recognizing user gestures. The first function camera (415) can support at least one of head tracking, hand detection and hand tracking, and spatial recognition. For example, the first function camera (415) mainly uses a GS (global shutter) camera, which has superior performance compared to an RS (rolling shutter) camera, to detect and track fine movements of hand movements and fingers, and can be configured as a stereo camera including two or more GS cameras for head tracking and spatial recognition. The first function camera (415) can perform a SLAM (simultaneous localization and mapping) function to recognize information (e.g., location and / or direction) related to the surrounding space through spatial recognition for 6DoF and depth shooting.
[0111] A second function camera (e.g., a camera for shooting) (411, 412) can be used to capture the outside and generate an image or video corresponding to the outside and transmit it to a processor (e.g., a processor (120) of FIG. 1). The processor can display the image provided from the second function camera (411, 412) on a display (421). The second function camera (411, 412) may be referred to as HR (high resolution) or PV (photo video) and may include a high-resolution camera. For example, the second function camera (411, 412) may include a color camera equipped with functions for obtaining high-quality images, such as an AF (auto focus) function and an OIS (optical image stabilizer), but is not limited thereto, and the second function camera (411, 412) may also include a GS camera or an RS camera.
[0112] A third function camera (e.g., a gaze tracking camera) (428) may be positioned on the display (421) (or inside the main body) so that the camera lens faces the user's eyes when the user wears the electronic device (401). The third function camera (428) may be used for the purpose of detecting and tracking (ET: eye tracking) the pupil. The processor may track the movements of the user's left and right eyes in the images received from the third function camera (428) to determine the gaze direction. By tracking the position of the pupil in the images, the processor may ensure that the center of the XR content image displayed in the display area is positioned according to the direction in which the pupil is looking. As an example, a GS camera may be used as the third function camera (428) to detect the pupil and track the movement of the pupil. The third function cameras (428) may be installed respectively for the left and right eyes, and each camera having the same performance and specifications may be used.
[0113] A fourth functional camera (e.g., a camera for facial recognition) (425, 426) can be used to detect and track (FT: face tracking) the user's facial expression when the user wears the electronic device (401).
[0114] According to one embodiment, the electronic device (401) may include a lighting unit (e.g., LED) (not shown) as an auxiliary means for the cameras. For example, the third function camera (425) may use lighting included in the display to direct the emitted light (e.g., IR LED of infrared wavelength) toward the user's both eyes as an auxiliary means to facilitate gaze detection when tracking eye movements. As another example, the second function cameras (411, 412) may further include a lighting unit (e.g., flash) as an auxiliary means to supplement the surrounding brightness when taking external pictures.
[0115] According to one embodiment, a depth sensor (or depth camera) (417) may be used to determine the distance to an object (e.g., an object), such as time of flight (TOF). Time of flight (TOF) is a technology that measures the distance to an object using a signal (e.g., near-infrared, ultrasound, or laser). After a signal is transmitted from a transmitter, a receiver measures the signal, and the distance to the object can be measured based on the flight time of the signal.
[0116] According to one embodiment, the touch sensor (413) may be arranged in the second direction (②) of the main body (410). For example, when a user wears the electronic device (401), the user's eyes may look in the first direction (①) of the main body. The touch sensor (413) may be implemented as a single type or a left / right separated type depending on the shape of the main body (410), but is not limited thereto. For example, when the touch sensor (413) is implemented as a left / right separated type as illustrated in FIG. 4A, when a user wears the electronic device (401), the first touch sensor (413a) may be arranged at the user's left eye position, such as in the fourth direction (④), and the second touch sensor (413b) may be arranged at the user's right eye position, such as in the third direction (③).
[0117] The touch sensor (413) can recognize a touch input using at least one of, for example, a capacitive, pressure-sensitive, infrared, or ultrasonic method. For example, the capacitive touch sensor (413) can recognize a physical touch (or contact) input or a hovering input (or proximity) of an external object. According to some embodiments, the electronic device (401) may utilize a proximity sensor (not shown) to recognize proximity of an external object.
[0118] According to one embodiment, the touch sensor (413) has a two-dimensional surface and can transmit touch data (e.g., touch coordinates) of an external object (e.g., a user's finger) that comes into contact with the touch sensor (413) to a processor (e.g., the processor (120) of FIG. 1). The touch sensor (413) can detect a hovering input for an external object (e.g., a user's finger) that approaches within a first distance from the touch sensor (413), or detect a touch input that touches the touch sensor (413).
[0119] According to one embodiment, the touch sensor (413) may provide two-dimensional information about the point of contact as “touch data” to the processor (120) when an external object touches the touch sensor (413). The touch data may be described as a “touch mode.” The touch sensor (413) may provide hovering data about the time or location of hovering around the touch sensor (413) to the processor (120) when an external object is located within a first distance from the touch sensor (or in proximity, hovering above the touch sensor). The hovering data may be described as a “hovering mode / proximity mode.”
[0120] According to one embodiment, the electronic device (401) may obtain hovering data using at least one of a touch sensor (413), a proximity sensor (not shown), or / and a depth sensor (417) to generate information about a distance, location, or time point between the touch sensor (413) and an external object.
[0121] According to one embodiment, the interior of the main body (410) may include a processor (e.g., processor (120) of FIG. 1) and memory (e.g., memory (130) of FIG. 1).
[0122] Memory can store various instructions that can be executed by the processor. Instructions can include arithmetic and logical operations, data transfer, or control commands such as input / output that can be recognized by the processor. Memory can temporarily or permanently store various data, including volatile memory (e.g., volatile memory (132) of FIG. 1) and non-volatile memory (e.g., non-volatile memory (134) of FIG. 1).
[0123] The processor may be a configuration that is operatively, functionally, and / or electrically connected to each component of the electronic device (401) and can perform calculations or data processing related to control and / or communication of each component. The operations performed by the processor may be stored in memory and, when executed, executed by instructions that cause the processor to operate.
[0124] Hereinafter, the computational and data processing functions that the processor can implement on the electronic device (401) are not limited, but a series of operations related to the XR content service function will be described. The operations of the processor described below can be performed by executing instructions stored in memory.
[0125] According to one embodiment, the processor may generate a virtual object based on virtual information based on image information. The processor may output a virtual object related to an XR service together with background space information through the display (421). For example, the processor may capture an image related to a real space corresponding to the field of view of a user wearing the electronic device (401) through a second function camera (411, 412) to obtain image information or generate a virtual space for a virtual environment. For example, the processor may control the display (421) to display XR content (hereinafter referred to as an XR content screen) in which at least one virtual object is output so as to be overlapped in an area determined to be a field of view or a field of view (FoV) of the user.
[0126] According to one embodiment, the electronic device (401) may have a form factor for being worn on a user's head. The electronic device (401) may further include a strap and / or a wearable member for being secured on a body part of the user. The electronic device (401) may provide a user experience based on augmented reality, virtual reality, and / or mixed reality while being worn on the user's head.
[0127] FIG. 5 illustrates an example of construction of a virtual space, input from a user within the virtual space, and output to the user according to one embodiment of the present disclosure.
[0128] Referring to FIG. 5, an electronic device (501) (e.g., the electronic device (101) of FIG. 1, the electronic device (201) of FIG. 2, the electronic device (301) of FIG. 3, and the electronic device (401) of FIGS. 4A and 4B) may obtain spatial information about a physical space in which the sensor is located using a sensor. The spatial information may include a geographical location of the physical space in which the sensor is located, a size of the space, an appearance of the space, a location of a physical object (551) arranged in the space, a size of the physical object (551), an appearance of the physical object (551), and illuminant information. The appearance of the space and the physical object (551) may include at least one of a shape, a texture, or a color of the space and the physical object (551). The illuminant information is information about a light source that emits light acting within the physical space, and may include at least one of an intensity, a direction, or a color of the illumination. The aforementioned sensor may collect information for providing augmented reality. For example, referring to the augmented reality devices illustrated in FIGS. 2, 3, 4a, and 4b, the sensor may include a camera and a depth sensor. However, the present invention is not limited thereto, and the sensor may further include at least one of an infrared sensor, a depth sensor (e.g., a lidar sensor, a radar sensor, or a stereo camera), a gyro sensor, an acceleration sensor, or a geomagnetic sensor.
[0129] The electronic device (501) can collect spatial information over multiple time frames. For example, in each time frame, the electronic device (501) can collect spatial information about a portion of a scene within a sensing range (e.g., field of view (FOV)) of a sensor at the location of the electronic device (501) in physical space. By analyzing the spatial information of multiple time frames, the electronic device (501) can track changes in an object (e.g., movement of position or change of state) over time. The electronic device (501) can also obtain integrated spatial information (e.g., an image that spatially stitches scenes around the electronic device (501) in physical space) for the integrated sensing range of the multiple sensors by comprehensively analyzing the spatial information collected through the multiple sensors.
[0130] An electronic device (501) according to one embodiment can analyze a physical space into three-dimensional information by utilizing various input signals of sensors (e.g., sensing data from an RGB camera, an infrared sensor, a depth sensor, or a stereo camera). For example, the electronic device (501) can analyze at least one of the shape, size, and position of a physical space, and the shape, size, or position of a physical object (551).
[0131] For example, the electronic device (501) can detect an object captured within a scene corresponding to the camera's field of view using the camera's sensing data (e.g., a captured image). The electronic device (501) can determine a label of a physical object (551) from the camera's two-dimensional scene image (e.g., information indicating the classification of the object, including a value indicating a chair, a monitor, or a plant) and an area (e.g., a bounding box) occupied by the physical object (551) within the two-dimensional scene. Accordingly, the electronic device (501) can obtain two-dimensional scene information at a position viewed by the user (590). In addition, the electronic device (501) can also calculate the physical space location of the electronic device (501) based on the camera's sensing data.
[0132] The electronic device (501) can obtain location information of the user (590) and depth information of the actual space in the viewing direction using sensing data (e.g., depth data) of the depth sensor. The depth information is information indicating the distance from the depth sensor to each point and can be expressed in the form of a depth map. The electronic device (501) can analyze the distance of each pixel in the three-dimensional position viewed by the user (590).
[0133] The electronic device (501) can acquire information including a 3D point cloud and mesh using various sensing data. The electronic device (501) can analyze a physical space to acquire a surface, mesh, or 3D coordinate point cluster that constitutes the space. Based on the information acquired as described above, the electronic device (501) can acquire a 3D point cloud representing physical objects.
[0134] The electronic device (501) can analyze a physical space to obtain information including at least one of a three-dimensional position coordinate, a three-dimensional shape, or a three-dimensional size (e.g., a three-dimensional bounding box) of physical objects placed in the physical space.
[0135] Accordingly, the electronic device (501) can obtain information on a physical object detected in a three-dimensional space and semantic segmentation information on the three-dimensional space. The physical object information may include at least one of the position, appearance (e.g., shape, texture, and color), or size of the physical object (551) in the three-dimensional space. The semantic segmentation information is information that semantically divides the three-dimensional space into subspaces, and may include, for example, information indicating that the three-dimensional space is divided into an object and a background, and information indicating that the background is divided into a wall, a floor, and a ceiling. The electronic device (501) can obtain and store three-dimensional information (e.g., spatial information) on the physical object (551) and the physical space as described above. The electronic device (501) can store three-dimensional position information of the user (590) in the space together with the spatial information.
[0136] An electronic device (501) according to one embodiment can construct a virtual space (500) based on the physical location of the electronic device (501) and / or the user (590). The electronic device (501) can generate the virtual space (500) by referring to the spatial information described above. The electronic device (501) can generate a virtual space (500) having a scale substantially identical to that of the physical space based on the spatial information, and can place objects within the generated virtual space (500). The electronic device (501) can provide a complete virtual reality to the user (590) by outputting an image representing the entire physical space. The electronic device (501) can provide mixed reality (MR) or augmented reality (AR) by outputting an image representing a portion of the physical space. However, although the construction of a virtual space (500) based on spatial information acquired through analysis of the aforementioned physical space is described, the electronic device (501) may also construct a virtual space (500) regardless of the physical location of the user (590). In this specification, the virtual space (500) is a space corresponding to augmented reality or virtual reality, and may also be referred to as a metaverse space.
[0137] For example, the electronic device (501) may provide a virtual graphic representation that replaces at least a portion of a physical space. An electronic device (501) based on optical see-through may output a virtual graphic representation by overlaying the virtual graphic representation on a screen area corresponding to at least a portion of the space on a screen display unit. An electronic device (501) based on video see-through may output an image generated by replacing an image area corresponding to at least a portion of a space image corresponding to a physical space rendered based on spatial information with a virtual graphic representation. The electronic device (501) may replace at least a portion of a background in a physical space with a virtual graphic representation, but is not limited thereto. The electronic device (501) may also perform only additional placement of a virtual object (552) within a virtual space (500) based on spatial information without changing the background.
[0138] The electronic device (501) can place and output a virtual object (552) in a virtual space (500). The electronic device (501) can set an operation area of the virtual object (552) in a space occupied by the virtual object (552) (e.g., a volume corresponding to the appearance of the virtual object (552). The operation area may indicate an area where manipulation of the virtual object (552) occurs. In addition, the electronic device (501) can output a physical object (551) by replacing it with the virtual object (552). The virtual object (552) corresponding to the physical object (551) may have a shape identical to or similar to that of the physical object (551). However, the present invention is not limited thereto, and the electronic device (501) may also set only an operation area in a space occupied by the physical object (551) or in a location corresponding to the physical object (551) without outputting a virtual object (552) that replaces the physical object (551). In other words, the electronic device (501) can transmit visual information representing a physical object (551) (e.g., light reflected from the physical object (551) or an image captured of the physical object (551)) to the user (590) without change, and set a manipulation area on the physical object (551). The manipulation area can be set to the same shape and volume as the space occupied by the virtual object (552) or the physical object (551), but is not limited thereto. The electronic device (501) can also set a manipulation area smaller than the space occupied by the virtual object (552) or the space occupied by the physical object (551).
[0139] According to one embodiment, the electronic device (501) may place a virtual object (not shown) representing the user (590) (e.g., an avatar object) within the virtual space (500). When the avatar object is provided in a first-person view, the electronic device (501) may visualize a graphical representation corresponding to a part (e.g., a hand, a torso, or a leg) of the avatar object to the user (590) through the aforementioned display (e.g., an optical see-through display or a video see-through display). However, the present invention is not limited thereto, and when the avatar object is provided in a third-person view, the electronic device (501) may also visualize a graphical representation corresponding to the entire shape (e.g., a back view) of the avatar object to the user (590) through the aforementioned display. The electronic device (501) may provide the user (590) with an experience integrated with the avatar object.
[0140] In addition, the electronic device (501) can provide the user (590) with an experience integrated with the avatar object by using the avatar object of another user who has entered the same virtual space (500). The electronic device (501) can receive feedback information that is the same or similar to feedback information (e.g., information based on at least one of visual, auditory, or tactile senses) provided to another electronic device (501) who has entered the same virtual space (500). For example, when an object is placed in a certain virtual space (500) and multiple users access the virtual space (500), the electronic devices (501) of the multiple users can receive feedback information (e.g., graphical representation, sound signal, or haptic feedback) of the same object placed in the virtual space (500) and provide the feedback information to each user (590).
[0141] The electronic device (501) can detect input to an avatar object of another electronic device (501) and can also receive feedback information from the avatar object of the other electronic device (501). The exchange of input and feedback for each virtual space (500) can be performed by a server (e.g., server (108) of FIG. 1). For example, a server (e.g., a server providing a metaverse space) can transmit input and feedback between an avatar object of a user (590) and an avatar object of another user between users (590). However, the present invention is not limited thereto, and the electronic device (501) can establish direct communication with another electronic device (501) without going through a server to provide input or receive feedback based on an avatar object.
[0142] For example, the electronic device (501) may determine that a physical object (551) corresponding to the selected manipulation area has been selected by the user (590) based on detecting a user input for selecting a manipulation area. The user's (590) input may include at least one of a gesture input using a part of the body (e.g., a hand or an eye), a motion input, an input using a separate virtual reality accessory device, a user's voice input, or a multi-modal input.
[0143] A gesture input is an input corresponding to a gesture identified based on tracking a body part (510) of a user (590). For example, the gesture input may include an input for pointing or selecting an object. The gesture input may include at least one of a gesture in which a body part (e.g., a hand) faces an object for a specified period of time or longer, a gesture in which a body part (e.g., a finger, an eye, a head) points to an object, or a gesture in which a body part and an object make spatial contact. A gesture in which an eye points to an object may be identified based on eye tracking. A gesture in which the head points to an object may be identified based on head tracking.
[0144] Tracking of a body part (510) of a user (590) may be performed primarily based on a camera of the electronic device (501), but is not limited thereto. The electronic device (501) may also track the body part (510) based on the cooperation of sensing data of a vision sensor (e.g., image data of a camera and depth data of a depth sensor) and information collected by an accessory device described below (e.g., controller tracking, finger tracking within the controller). Finger tracking may be performed by sensing the distance or contact between an individual finger and the controller based on a sensor built into the controller (e.g., an infrared sensor).
[0145] The virtual reality accessory device may include a ride-on device, a wearable device, a controller device (520), or other sensor-based device. The ride-on device is a device that a user (590) rides on and operates, and may include, for example, at least one of a treadmill-type device or a chair-type device. The wearable device is a manipulation device that is worn on at least a part of the user's (590) body, and may include, for example, at least one of a full-body and half-body suit-type controller, a vest-type controller, a shoe-type controller, a bag-type controller, a glove-type controller (e.g., a haptic glove), or a face mask-type controller. The controller device (520) may include, for example, an input device (e.g., a stick-type controller or a gun) that is operated by a hand, foot, toe, or other body part (510).
[0146] The electronic device (501) may establish direct communication with the accessory device to track at least one of the location or motion of the accessory device, but is not limited thereto. The electronic device (501) may also communicate with the accessory device via a base station for virtual reality.
[0147] For example, the electronic device (501) may determine that the virtual object (552) has been selected based on detecting an action of gazing at the virtual object (552) for a specified period of time or longer through the aforementioned eye gaze tracking technology. As another example, the electronic device (501) may recognize a gesture indicating the virtual object (552) through hand tracking technology. The electronic device (501) may determine that the virtual object (552) has been selected based on whether the direction pointed by the tracked hand indicates the virtual object (552) for a specified period of time or longer, or whether the hand of the user (590) contacts or enters an area occupied by the virtual object (552) within the virtual space (500).
[0148] The user's voice input is an input corresponding to the user's voice acquired by the electronic device (501), and may include, for example, voice data sensed by an input module (e.g., a microphone) of the electronic device (501) (e.g., the input module (150) of FIG. 1) or received from an external electronic device of the electronic device (501). The electronic device (501) may determine that a physical object (551) or a virtual object (552) has been selected by analyzing the user's voice input. For example, the electronic device (501) may determine that at least one of the physical object (551) or the virtual object (552) corresponding to the detected keyword has been selected based on detecting a keyword indicating at least one of the physical object (551) or the virtual object (552) from the user's voice input.
[0149] The electronic device (501) may provide feedback as described below in response to the user (590) input described above.
[0150] Feedback may include visual feedback, auditory feedback, tactile feedback, olfactory feedback, or gustatory feedback. The feedback may be rendered by a server (108), an electronic device (101), or an external electronic device (102), as described above in FIG. 1.
[0151] Visual feedback may include outputting an image through a display (e.g., a transparent display or an opaque display) of the electronic device (501).
[0152] Auditory feedback may include outputting sound through a speaker of the electronic device (501).
[0153] Tactile feedback may include force feedback that simulates weight, shape, texture, dimension, and dynamics. For example, a haptic glove may include haptic elements (e.g., electrical muscles) that can simulate the sensation of touch by tensing and relaxing the body of a user (590). The haptic elements within the haptic glove may act as tendons. The haptic glove may provide haptic feedback to the entire hand of the user (590). The electronic device (501) may provide feedback indicating the shape, size, and stiffness of an object through the haptic glove. For example, the haptic glove may generate forces that mimic the shape, size, and stiffness of an object. The exoskeleton of the haptic glove (or suit-like device) may include sensors and finger motion measurement devices, and may transmit tactile information to the body by transmitting a force (e.g., an electromagnetic, DC motor, or pneumatic-based force) that pulls a cable to the fingers of the user (590). Hardware providing tactile feedback may include sensors, actuators, power sources, and wireless transmission circuitry. Haptic gloves may operate by inflating and deflating inflatable air bladders on the glove surface.
[0154] The electronic device (501) may provide feedback to the user (590) based on the selection of an object within the virtual space (500). For example, the electronic device (501) may output a graphical representation indicating the selected object (e.g., an expression highlighting the selected object) through the display. For example, the electronic device (501) may output a sound (e.g., a voice) guiding the selected object through the speaker. For example, the electronic device (501) may provide the user (590) with a haptic movement that simulates the tactile sensation of the corresponding object by transmitting an electrical signal to a haptic-enabled accessory device (e.g., a haptic glove).
[0155] FIG. 6 is a diagram illustrating an example of an operation for determining an object referred to by a voice command according to one embodiment of the present disclosure.
[0156] An electronic device (e.g., electronic device (101) of FIG. 1, electronic device (201) of FIG. 2, electronic device (301) of FIG. 3, electronic device (401) of FIGS. 4A and 4B, electronic device (501) of FIG. 5) can be worn by a user.
[0157] An electronic device may display a display area (e.g., a first display area (601), a second display area (602)). The display area may refer to an area displayed through a display of the electronic device. According to one embodiment, the display area may include an area determined to be a user's field of view (FOV). The electronic device may determine an area determined to be a user's field of view, among images acquired through a photographing camera (e.g., the third camera (245) of FIG. 2, the second functional cameras (411, 412) of FIG. 4A), as a display area, and display the determined display area through a display.
[0158] An electronic device can detect an object in a display area. In one embodiment, the electronic device can detect an object in the display area by analyzing an image acquired through a vision sensor (e.g., a vision sensor including a camera for capturing images). The object may include a physical object and / or a virtual object.
[0159] An electronic device can obtain a voice command from a user. The electronic device can determine whether an object vaguely referred to in the user's voice command exists. For example, the electronic device can obtain the user's voice command, "What is that?" The electronic device can determine that the object referred to by "that" in the user's voice command is unclear.
[0160] The electronic device can detect candidate objects in the viewing area (611). The viewing area (611) may refer to a portion of the area (or display area) determined to be the user's field of vision that is gazed upon by the user. According to one embodiment, the viewing area (611) may be determined based on a gaze point corresponding to the user's gaze. For example, the viewing area (611) may be determined as a circular area having a predetermined radius based on the gaze point corresponding to the user's gaze. If the viewing area (611) is determined as a circular area having a radius less than a critical length according to the design, it may be interpreted as substantially corresponding to the user's gaze point. For another example, the viewing area (611) may be an elliptical, rectangular, or an internal area of a closed curve. However, the viewing area (611) is not limited to being determined based on the user's gaze. According to one embodiment, the electronic device may determine a portion of the area predetermined based on the display area as the user's viewing area (611).
[0161] According to one embodiment, the electronic device may display at least a portion of a plurality of candidate objects so that they overlap with each other. For example, at least a portion of one candidate object among the plurality of candidate objects may be obscured by another candidate object. In another example, one candidate object among the plurality of candidate objects may be transparent and visible in the same area as another candidate object. When the electronic device detects an area in the viewing area where the plurality of candidate objects overlap, the electronic device may detect the plurality of candidate objects based on the overlapping area.
[0162] Referring to FIG. 6, the electronic device can detect candidate objects (e.g., a first candidate object (621), a second candidate object (622), a third candidate object (623), and a fourth candidate object (624)) in a viewing area (611) of a first display area (601).
[0163] The electronic device may determine a representative attribute among the candidate attributes of candidate objects, and output feedback based on the attribute value of the representative attribute of each candidate object in correspondence with the candidate object. For example, as illustrated in FIG. 6, the electronic device may determine a category among the candidate attributes of the candidate objects as the representative attribute. The electronic device may display the attribute value of the category of the candidate object in an area corresponding to each candidate object in the second display area (602). The electronic device may display a first attribute value (631) (e.g., bicycle) of the category of the first candidate object (621) in an area corresponding to the first candidate object (621), a second attribute value (632) (e.g., taxi) of the category of the second candidate object (622) in an area corresponding to the second candidate object (622), a third attribute value (633) (e.g., airplane) of the category of the third candidate object (623) in an area corresponding to the third candidate object (623), and a fourth attribute value (634) (e.g., tractor) of the category of the fourth candidate object (624) in an area corresponding to the fourth candidate object (624).
[0164] The electronic device can obtain an additional command from the user. The additional command can specify an attribute value of a representative attribute. Based on the additional command, the electronic device can determine the object referred to in the voice command. For example, the electronic device can obtain the user's additional command, "Yes, tractor." Based on the user's additional command, the electronic device can determine the object referred to in the voice command as the fourth candidate object (624).
[0165] FIG. 7 is a diagram illustrating an example of an electronic device and a server according to one embodiment of the present disclosure.
[0166] Referring to FIG. 7, in a metaverse system (700) according to one embodiment, in order to determine an object referred to in a user's voice input, candidate objects and / or properties of candidate objects may be extracted and feedback may be generated by an electronic device (701) (e.g., electronic device (101) of FIG. 1, electronic device (201) of FIG. 2, electronic device (301) of FIG. 3, electronic device (401) of FIGS. 4A and 4B, electronic device (501) of FIG. 5) and / or a server (702).
[0167] An electronic device (701) according to one embodiment may include at least one of a front end (710), a natural language platform (720), a display region and viewing region analysis module (730), an object extraction module (740), a feature extraction module (750), or a feedback generation module (760).
[0168] The front end (710) can receive voice input from a user terminal. The front end (710) can transmit a response corresponding to the voice input.
[0169] According to one embodiment, the natural language platform (720) may include at least one of an automatic speech recognition module (ASR module) (721), a natural language understanding module (NLU module) (722), a natural language generator module (NLG module) (723), or a text to speech module (TTS module) (724).
[0170] An automatic speech recognition module (721) of one embodiment can convert a user's voice input into text data. A natural language understanding module (722) of one embodiment can use the text data of the voice input to determine the user's intent. For example, the natural language understanding module (722) can perform syntactic analysis or semantic analysis to determine the user's intent. The natural language understanding module (722) of one embodiment can use linguistic features (e.g., grammatical elements) of morphemes or phrases to determine the meaning of words extracted from the voice input, and can match the meaning of the determined words to the intent to determine the user's intent. A natural language generation module (723) of one embodiment can convert specified information into text format. The information converted into text format can be in the form of natural language utterance. A text-to-speech conversion module (724) of one embodiment can convert information in text format into information in speech format.
[0171] According to one embodiment, the natural language platform (720) can determine whether an object referred to in the user's voice input is ambiguous by analyzing the user's voice input. According to one embodiment, the natural language platform (720) can determine whether an object referred to in the user's voice input is ambiguous based on the user's voice input and the display area (or viewing area). Even if the object referred to in the user's voice input is ambiguous when the user's voice input is analyzed independently from the display area (or viewing area), the object referred to in the user's voice input can be clear when the user's voice input is analyzed together with the display area (or viewing area). For example, the user's voice input "What is that?" may be ambiguous in terms of the object referred to by "that" when analyzed independently. However, if a single object is detected in the user's viewing area, the single object detected in the user's viewing area can be determined to be the object referred to by "that" and thus the object referred to in the user's voice input can be determined to be clear.
[0172] The display area and viewing area analysis module (730) according to one embodiment may determine the display area and / or the viewing area. The display area and viewing area analysis module (730) may determine the display area and / or the viewing area based on the result of tracking the user's gaze. For example, if the natural language platform (720) determines that an object referred to in the user's voice input is unclear, the display area and viewing area analysis module (730) may determine the display area and / or the viewing area corresponding to the time point of acquisition of the voice input. As another example, the display area and viewing area analysis module (730) may determine the display area and / or the viewing area corresponding to the time point of acquisition of the voice input, and the natural language platform (720) may determine whether the object referred to in the voice input is unclear based on the determined display area and / or viewing area.
[0173] An object extraction module (740) according to one embodiment can detect an object in at least a portion of a display area. According to one embodiment, the object extraction module (740) can detect an object in the display area in real time independently of a user's voice input. If an object referred to in the user's voice input is determined to be unclear, the object extraction module (740) can extract an object that is at least partially included in the display area among the objects already detected as a candidate object. However, the object extraction module (740) is not limited thereto, and the object extraction module (740) can also extract candidate objects from the user's viewing area based on the determination that the object referred to in the user's voice input is unclear.
[0174] The feature extraction module (750) according to one embodiment may determine candidate attributes and attribute values of the candidate attributes for a detected candidate object. For example, the feature extraction module (750) may output feedbacks based on the candidate attributes and attribute values of the candidate attributes of the candidate object by applying a machine learning model to input data corresponding to the candidate object. The input data corresponding to the candidate object may include at least one of image data captured for the candidate object or labeled metadata for the candidate object. The feature extraction module (750) may determine representative attributes and / or auxiliary attributes for distinguishing between the candidate objects among the candidate attributes of the candidate objects.
[0175] The feedback generation module (760) according to one embodiment may, for each candidate object, provide feedback to the user in a manner that the attribute values of the representative attribute and / or auxiliary attribute determined by the feature extraction module (750) are recognizable. For example, the feedback generation module (760) may generate visual feedback (e.g., a graphical representation) indicating the attribute values of the representative attribute and / or auxiliary attribute and / or display the generated visual feedback in an area corresponding to the candidate object. The feedback generation module (760) may generate auditory feedback (e.g., voice data) corresponding to the attribute values of the representative attribute and / or auxiliary attribute for the candidate object and / or play the generated auditory feedback.
[0176] An electronic device (701) according to one embodiment may operate with a server (702) (e.g., server (108) of FIG. 1) to determine additional properties and property values of the additional properties for candidate objects. For example, the electronic device (701) may transmit a request to the server (702) to provide additional properties for candidate objects. The server (702) may receive a request from the electronic device (701) to provide additional properties for candidate objects. The request may include at least one of a user's voice input, a display area, a viewing area, candidate objects, candidate properties, or property values of the candidate properties. The server (702) may determine the additional properties of the candidate objects and the property values of the additional properties based on the request received from the electronic device (701). The server (702) may transmit the additional properties of the candidate objects and the property values of the additional properties to the electronic device (701). The electronic device (701) can receive additional properties of candidate objects and property values of the additional properties from the server (702). The electronic device (701) can determine a representative property among the candidate properties and additional properties, output feedback based on the property value of the representative property, and determine an object referred to in a voice command among the candidate objects based on an additional command from the user.
[0177] According to one embodiment, the server (702) may include at least one of a content provision module (770), a user speech analysis module (780), or an object and feature extraction module (790).
[0178] The content provision module (770) according to one embodiment may pre-store information about a plurality of objects (e.g., additional properties and property values of the additional properties) and / or feedback about the plurality of objects (e.g., visual feedback, auditory feedback about property values of the additional properties). The content provision module (770) may output information about a candidate object and / or feedback about the candidate object stored by the content provision module (770) based on whether the candidate object corresponds to one of the plurality of objects. According to one embodiment, if the content provision module (770) already stores information and / or feedback about a candidate object, the candidate object may skip the operation of determining additional properties and additional property values by the object and feature extraction module (790).
[0179] A user speech analysis module (780) according to one embodiment can identify (or determine) a user's intention by analyzing a user's voice input received from an electronic device (701). The user speech analysis module (780) performs the same or similar operations as the natural language platform (720) of the electronic device (701), but can determine the user's intention in more detail (finely) than the natural language platform (720) by using a larger model than the model used in the natural language platform (720).
[0180] The object and feature extraction module (790) can detect candidate objects and / or determine additional properties and property values of the additional properties of the detected candidate objects. The user speech analysis module (780) performs the same or similar operations as the object extraction module (740) and / or the feature extraction module (750) of the electronic device (701), but can determine properties and property values of the candidate objects more finely than the object extraction module (740) and / or the feature extraction module (750) of the electronic device (701) by using a larger model than the model used in the object extraction module (740) and / or the feature extraction module (750). In addition, the object and feature extraction module (790) can provide additional properties even when the candidate object is different from an object stored by the content provision module (770).
[0181] An example of an embodiment in which an electronic device (701) requests additional properties and property values of additional properties from a server (702) is described in more detail below in FIG. 13.
[0182] FIG. 8 is a diagram illustrating an example of a method by which an electronic device determines an object referred to in a voice command according to one embodiment of the present disclosure.
[0183] Referring to FIG. 8, an electronic device (e.g., an electronic device (101) of FIG. 1, an electronic device (201) of FIG. 2, an electronic device (301) of FIG. 3, an electronic device (401) of FIGS. 4A and 4B, an electronic device (501) of FIG. 5, an electronic device (701) of FIG. 7) may determine a representative attribute among candidate attributes of candidate objects to determine an object referred to in a voice command obtained from a user, output feedback based on an attribute value of the representative attribute, and determine an object referred to in the voice command among candidate objects based on an additional command from the user.
[0184] In operation (810), the electronic device can detect candidate objects in the user's viewing region based on a voice command obtained from the user.
[0185] According to one embodiment, an electronic device can determine whether an object referred to in a voice command received from a user is specific. Based on whether the object referred to in the voice command is not specific, the electronic device can determine candidate objects in the viewing area.
[0186] In one embodiment, an electronic device may determine whether to detect candidate objects based on a pronoun. For example, the electronic device may determine whether an object is referred to using a pronoun in a voice command. Based on whether an object is referred to using a pronoun in the voice command, the electronic device may detect candidate objects for the object referred to by the pronoun.
[0187] In one embodiment, an electronic device can determine candidate objects based on conditions extracted from a voice command. For example, the electronic device can extract conditions for objects from the voice command. Based on the extracted conditions, the electronic device can detect candidate objects in the viewing area.
[0188] For example, an electronic device may obtain a voice command, "What is that yellow thing?" The electronic device may extract a color condition (e.g., yellow) based on the voice command. The electronic device may detect candidate objects based on the color condition among a plurality of objects detected in a viewing area. For example, if the colors of a first object, a second object, a third object, and a fourth object detected in the viewing area are red, yellow, blue, and blue, respectively, the second object and the third object may be detected as candidate objects.
[0189] For example, an electronic device may obtain a voice command, "What is this washing machine-like thing?" In the case of home appliances, since similar products are produced across various categories, the electronic device may extract a condition that the category of the object is a washing machine, rather than extracting a condition that the category of the object is an attribute value that is less than a threshold difference from the washing machine. The electronic device may extract a condition for the category (e.g., the attribute value will be less than a threshold difference from 'washing machine') based on the voice command. The electronic device may detect a first object (e.g., a washing machine), a second object (e.g., a clothes dryer), and a third object (e.g., a cell phone) in the viewing area. The electronic device may detect the first object and the second object as candidate objects based on the attribute value of the category of the first object (e.g., a washing machine) being less than a threshold difference from the attribute value of the category of the second object (e.g., a clothes dryer).
[0190] Although not explicitly illustrated in FIG. 8, an electronic device according to one embodiment may determine, based on detecting a single candidate object, that the detected single candidate object is the object referred to in the voice command. The electronic device may skip performing operations (820, 830, and 840) based on detecting the single candidate object.
[0191] In operation (820), the electronic device can determine a representative property among candidate properties of the detected candidate objects.
[0192] An attribute can represent a discrete item that classifies information related to the features of an object. For example, an attribute can include at least one of the following: the category of the object, the color of the object, the position of the object in the display area (or viewing area), the shape of the object (e.g., whether it has wings or wheels), the size of the object, the pattern of the object, the texture of the object, the country of origin, the material, the year of production, the expiration date, or the owner of the object.
[0193] An electronic device can determine attribute values for candidate attributes of detected candidate objects. The electronic device can determine attribute values for each attribute of the candidate objects. For example, the electronic device can use the attributes of the candidate objects as candidate attributes. For another example, the electronic device can determine some of the attributes of the candidate objects as candidate attributes.
[0194] According to one embodiment, an electronic device may exclude from the candidate properties properties that have attribute values of candidate objects that differ by less than a threshold value. For example, the electronic device may determine attribute values of candidate objects for an attribute. The electronic device may determine a difference between two attribute values of the candidate objects. If both determined differences are less than a threshold value, the electronic device may exclude the attribute from the candidate properties. If the difference between attribute values of candidate objects for a specific attribute is less than a threshold value, the electronic device may determine that it is not easy to use the specific attribute to designate one of the candidate objects, and thus exclude the specific attribute from the candidate properties. For example, if the colors of attribute values between candidate objects are similar, the electronic device may exclude color from the candidate properties.
[0195] When the attribute is numerical, the difference between the attribute values can be defined as the absolute value of the first attribute value minus the second attribute value. When the attribute is a matrix (or vector) including multiple elements, the difference between the attribute values can be defined as the value obtained by calculating the absolute values of the values obtained by subtracting the corresponding element of the second attribute value from each element of the first attribute value and summing the calculated absolute values. For example, when the attribute is color, the attribute value can be a matrix (or vector) including the R value (Red value) as the first element, the G value (Green value) as the second element, and / or the B value (Blue value) as the third element according to the RGB color model. The difference between the first attribute value and the second attribute value of the color can be defined as the sum of the absolute values of the differences between the corresponding elements.
[0196] If the attribute is categorical, the difference between two attribute values can be predetermined. Alternatively, if the attribute is categorical, an embedding vector can be extracted based on a vector extraction model (e.g., a machine learning model) for each attribute value, and the difference between the extracted embedding vectors for the two attribute values can be calculated.
[0197] According to one embodiment, the electronic device may determine a representative attribute among candidate attributes based on the distribution of attribute values of the corresponding candidate attributes among candidate objects for each candidate attribute. The electronic device may determine, as the representative attribute, a candidate attribute that is easy to use for designating one of the candidate objects among the candidate attributes. For example, the electronic device may determine, as the representative attribute, a candidate attribute with the greatest variance in attribute values among the candidate objects among the candidate attributes.
[0198] However, the representative attribute is not limited to being determined as a single attribute for the candidate objects. An electronic device according to one embodiment may determine a representative attribute for each candidate object. For example, the electronic device may determine the representative attribute of a first candidate object as the first attribute, and the representative attribute of a second candidate object as the second attribute. The operation of determining the representative attribute for each candidate object is described below in FIG. 9.
[0199] In operation (830), the electronic device may output, for each of the candidate objects, feedback based on the attribute value of the representative attribute of the candidate object.
[0200] For example, the electronic device may display visual feedback (e.g., a graphical representation) corresponding to the attribute value of the representative attribute of each candidate object in an area corresponding to each candidate object. The visual feedback may include a graphical representation highlighting the attribute value of the representative attribute and / or text describing the attribute value of the representative attribute.
[0201] For example, the electronic device may, for each candidate object, play auditory feedback (e.g., speech output) corresponding to the attribute values of the representative attributes of the candidate object. The auditory feedback may include speech output generated from text data regarding the attribute values of the representative attributes of the candidate objects.
[0202] Although the present disclosure primarily describes feedback for candidate objects as being based on the attribute values of representative attributes, the present disclosure is not limited thereto. The electronic device may output an indication, independently determined from the attribute values of the representative attributes, for each candidate object. For example, the electronic device may output an indication corresponding to a number assigned to each candidate object.
[0203] In operation (840), the electronic device may determine an object referred to in the voice command as a candidate object having an attribute value of the representative attribute specified by the additional command based on obtaining an additional command specifying an attribute value of the representative attribute from the user.
[0204] An electronic device may obtain an additional command from a user. Based on the outputted feedback, the user may transmit an additional command to the electronic device to designate an object referred to in the voice command among candidate objects. The additional command may specify an attribute value of a representative attribute. For example, the representative attribute may be color, the first attribute value of the representative attribute of a first candidate object may be red, the second attribute value of the representative attribute of a second candidate object may be blue, and the third attribute value of the representative attribute of a third candidate object may be green. The electronic device may obtain the additional command "that's green." The electronic device may determine that the attribute value of the representative attribute (e.g., color) in the additional command is designated as "green." Based on the additional command, the electronic device may determine the third candidate object among the first candidate object, the second candidate object, and the third candidate object as the object referred to in the voice input.
[0205] FIG. 9 is a diagram illustrating an example of an operation for determining a representative attribute for each of candidate objects according to one embodiment of the present disclosure.
[0206] Referring to FIG. 9, an electronic device (e.g., an electronic device (101) of FIG. 1, an electronic device (201) of FIG. 2, an electronic device (301) of FIG. 3, an electronic device (401) of FIGS. 4A and 4B, an electronic device (501) of FIG. 5, an electronic device (701) of FIG. 7) may determine a representative attribute for each of the candidate objects and output feedback based on the attribute value of the determined representative attribute for the corresponding candidate object.
[0207] The electronic device can detect a plurality of candidate objects (e.g., a first candidate object (921), a second candidate object (922), a third candidate object (923), and a fourth candidate object (924)) in the user's viewing area (911) of the first display area (901) based on the user's voice input.
[0208] The electronic device can determine, for each candidate object, a representative attribute of the candidate object based on a difference between the attribute value of the candidate object and the attribute values of other candidate objects.
[0209] An electronic device may calculate, for a candidate object (e.g., a first candidate object (921)), a difference between an attribute value of the candidate object and attribute values of other candidate objects (e.g., a second candidate object (922), a third candidate object (923), and a fourth candidate object (924)) among candidate attributes. The electronic device may determine an attribute having a maximum difference among the calculated differences as a representative attribute of the candidate object. According to one embodiment, normalization may be performed to compare the calculated differences for a plurality of attributes.
[0210] For example, candidate attributes may include a first candidate attribute (e.g., color), a second candidate attribute (e.g., presence of wings), and a third candidate attribute (e.g., category). Table 1 below shows examples of attribute values for each candidate object determined by the electronic device:
[0211] Candidate Attribute 1 (e.g., color) Candidate Attribute 2 (e.g., presence of wings) Candidate Attribute 3 (e.g., category) Candidate 1 (921) SkyNoWingsBicycle Candidate 2 (922) YellowNoWingsCar Candidate 3 (923) SkyWithWingsAirplane Candidate 4 (924) RedNoWingsCar
[0212] Here, the attribute values expressed in bold can represent the attribute values of the representative attributes of the candidate object corresponding to the corresponding row.
[0213] Below, an example of an operation of an electronic device according to one embodiment to determine a representative attribute for each candidate object is described.
[0214] The electronic device may calculate a first difference between the attribute value (e.g., sky) of the first candidate attribute (e.g., color) of the first candidate object (921) and the attribute values (e.g., yellow, sky, and red) of the other candidate objects. The attribute value (e.g., no wings) of the second candidate attribute (e.g., presence or absence of wings) of the first candidate object (921) may calculate a second difference with the attribute values (e.g., no wings, presence of wings, and no wings) of the other candidate objects. The attribute value (e.g., bicycle) of the third candidate attribute (e.g., category) of the first candidate object (921) may calculate a third difference with the attribute values (e.g., vehicle, airplane, vehicle) of the other candidate objects. The electronic device may perform normalization on the first difference, the second difference, and the third difference, respectively, and determine the third candidate attribute (e.g., category) as the representative attribute of the first candidate object (921) based on the largest third difference among the normalized first differences, second differences, and third differences.
[0215] The electronic device may determine a candidate property different from the representative property of the first candidate object (921) among the candidate objects as the representative property of the second candidate object (922). For example, the electronic device may determine the representative property of the second candidate object (922) as the first candidate property (e.g., color). The electronic device may determine the representative property of the third candidate object (923) as the second candidate property (e.g., presence or absence of wings). The electronic device may determine the representative property of the fourth candidate object as the first candidate property (e.g., color).
[0216] The electronic device may output, for each candidate object, feedback based on the attribute value of the representative attribute determined for the candidate object. For example, as shown in the second display area (902) of FIG. 9, the electronic device may output, for the first candidate object (921), a first feedback (931) based on the attribute value (e.g., bicycle) of the third candidate attribute (e.g., category) which is the representative attribute of the first candidate object (921). The electronic device may output, for the second candidate object (922), a second feedback (932) based on the attribute value (e.g., yellow) of the first candidate attribute (e.g., color) which is the representative attribute of the second candidate object (922). The electronic device may output, for the third candidate object (923), a third feedback (933) based on the attribute value (e.g., presence or absence of wings) of the second candidate attribute (e.g., presence of wings) which is the representative attribute of the third candidate object (923). The electronic device may output a fourth feedback (934) based on an attribute value (e.g., red) of a first candidate attribute (e.g., color) that is a representative attribute of the fourth candidate object (924) for the fourth candidate object (924).
[0217] FIG. 10 is a diagram illustrating an example of an operation of an electronic device according to one embodiment of the present disclosure to output feedback based on representative properties and auxiliary properties.
[0218] Referring to FIG. 10, an electronic device (e.g., an electronic device (101) of FIG. 1, an electronic device (201) of FIG. 2, an electronic device (301) of FIG. 3, an electronic device (401) of FIGS. 4A and 4B, an electronic device (501) of FIG. 5, an electronic device (701) of FIG. 7) may determine an auxiliary attribute for distinguishing between two or more candidate objects and / or output feedback based on the auxiliary attribute when a common representative attribute between candidate objects is determined and a difference in attribute values of the representative attribute of two or more candidate objects among the candidate objects is less than a threshold.
[0219] The electronic device can detect a plurality of candidate objects (e.g., a first candidate object (1021), a second candidate object (1022), a third candidate object (1023), and a fourth candidate object (1024)) in the user's viewing area (1011) of the first display area (1001) based on the user's voice input.
[0220] An electronic device can determine a representative attribute among candidate attributes of candidate objects. As described above in FIG. 8, an electronic device according to one embodiment can determine a representative attribute commonly applied to candidate objects.
[0221] In FIG. 10, the candidate attributes may include a first candidate attribute (e.g., color), a second candidate attribute (e.g., presence of wings), and a third candidate attribute (e.g., category). Table 2 below shows examples of attribute values for each candidate object determined by the electronic device:
[0222] Candidate Attribute 1 (e.g., color) Candidate Attribute 2 (e.g., presence of wings) Candidate Attribute 3 (e.g., category) Candidate 1 (1021) SkyNoWingsBicycle Candidate 2 (1022) YellowNoWingsCar Candidate 3 (1023) SkyWithWingsAirplane Candidate 4 (1024) RedNoWingsCar
[0223] Attribute values expressed in bold may represent attribute values of representative attributes common to multiple candidate objects, and attribute values expressed in italics may represent attribute values of auxiliary attributes.
[0224] An example of an operation of an electronic device according to one embodiment of the present invention to determine common representative properties for candidate objects and determine auxiliary properties is described.
[0225] Referring to FIG. 10, a representative attribute for multiple candidate objects can be determined as a first candidate attribute (e.g., color).
[0226] An electronic device may determine supplementary properties for two or more candidate objects (e.g., one candidate object and another candidate object) based on whether the difference between the attribute values of the representative properties of two or more candidate objects is less than a threshold value. If the difference between the attribute values of the representative properties of one candidate object and another candidate object is less than a threshold value, it may not be easy to distinguish between one candidate object and another candidate object using only the representative property. Therefore, the electronic device may determine supplementary properties for distinguishing between one candidate object and another candidate object, along with the representative property, and use the attribute values of the supplementary properties to generate feedback.
[0227] According to one embodiment, the electronic device may determine, for each candidate attribute, a representative attribute and a secondary attribute among the other candidate attributes based on a difference between attribute values of two or more candidate objects (e.g., one candidate object and another candidate object). For example, the electronic device may determine, as a secondary attribute, an attribute having a maximum difference between attribute values of one candidate object and another candidate object. Instead of determining based on a distribution of attribute values for all of the plurality of candidate objects, the determination is made based on attribute values of one candidate object and another candidate object among the plurality of candidate objects, thereby determining a secondary attribute for distinguishing one candidate object from another candidate object. Even when the attribute value of the secondary attribute of one candidate object is the same as or similar to the attribute value of the secondary attribute of another candidate object, it may be possible to distinguish one candidate object from another candidate object based on the secondary attribute.
[0228] As an example in FIG. 10, the electronic device may determine a secondary attribute based on the difference between attribute values (e.g., sky and sky) of representative attributes (e.g., color) of the first candidate object (1021) and the third candidate object (1023) being less than or equal to a threshold. The electronic device may determine secondary attributes for the first candidate object (1021) and the third candidate object (1023) from among the second candidate attribute and the third candidate attribute, which are different from the first candidate attribute, which is the representative attribute among the candidate attributes. The electronic device may calculate a first difference between attribute values of the second candidate attribute of the first candidate object (1021) and the third candidate object (1023) for the second candidate attribute. The electronic device may calculate a second difference between attribute values of the third candidate attribute of the first candidate object (1021) and the third candidate object (1023) for the third candidate attribute. The electronic device can normalize the first difference and the second difference, and determine the second candidate attribute (e.g., presence or absence of wings) as the auxiliary attribute based on which of the normalized first and second differences has a larger value of the first difference.
[0229] The electronic device may output, for each of two or more candidate objects (e.g., one candidate object and another candidate object), feedback based on the attribute value of the representative attribute of the corresponding candidate object and the attribute value of the auxiliary attribute of the corresponding candidate object. For example, as shown in the second display area (1002) of FIG. 10, the electronic device may output, for a first candidate object (1021), a first feedback (1031) based on the attribute value (e.g., sky) of the first candidate attribute (e.g., color) as the representative attribute and the attribute value (e.g., no wings) of the second candidate attribute (e.g., presence or absence of wings) as the auxiliary attribute. The electronic device may output, for a second candidate object (1022), a second feedback (1032) based on the attribute value (e.g., yellow) of the first candidate attribute (e.g., color) as the representative attribute. The electronic device may output third feedback (1033) based on the attribute value (e.g., sky) of the first candidate attribute (e.g., color) as the representative attribute and the attribute value (e.g., presence of wings) of the second candidate attribute (e.g., presence of wings) as the auxiliary attribute for the third candidate object (1023). The electronic device may output fourth feedback (1034) based on the attribute value (e.g., red) of the first candidate attribute (e.g., color) as the representative attribute for the fourth candidate object (1024).
[0230] The electronic device can determine the object referred to in the voice input among the candidate objects based on the attribute values of the representative attribute and / or the attribute values of the auxiliary attribute specified in the user's additional command.
[0231] For example, if the user's additional command specifies an attribute value of a representative attribute of one of the candidate objects, the electronic device may determine that candidate object as the object referred to in the voice input. For example, the user's additional command 'red' may be obtained, and based on the user's additional command specifying the attribute value of the representative attribute as 'red', the electronic device may determine the fourth candidate object (1024) as the object referred to in the voice input.
[0232] For example, if the user's additional command specifies an attribute value of an auxiliary attribute, the electronic device may determine, among candidate objects that provide feedback based on the auxiliary attribute, a candidate object having the attribute value of the auxiliary attribute specified by the additional command as the object referred to in the voice input. For example, the user's additional command 'wingless thing' may be obtained, and based on the user's additional command specifying the attribute value of the auxiliary attribute as 'wingless', the electronic device may determine the first candidate object (1021) as the object referred to in the voice input. The electronic device may restrict determining a candidate object that does not output feedback based on the auxiliary attribute as the object referred to in the voice input. For example, even if the attribute value of the auxiliary attribute of the second candidate object (1022) and / or the fourth candidate object (1024) is also 'no wings', the second feedback (1032) and the fourth feedback (1034) for the second candidate object (1022) and the fourth candidate object (1024) are not based on the auxiliary attribute, and therefore, the second candidate object (1022) and the fourth candidate object (1024), which do not output feedback based on the auxiliary attribute based on the additional command specifying the attribute value of the auxiliary attribute, may not be determined as the object referred to in the voice input.
[0233] FIG. 11 is a diagram illustrating an example of an operation in which an electronic device according to one embodiment of the present disclosure outputs feedback based on a representative attribute and subsequently outputs feedback based on an auxiliary attribute.
[0234] Referring to FIG. 11, an electronic device (e.g., an electronic device (101) of FIG. 1, an electronic device (201) of FIG. 2, an electronic device (301) of FIG. 3, an electronic device (401) of FIGS. 4A and 4B, an electronic device (501) of FIG. 5, and an electronic device (701) of FIG. 7) may determine a common representative attribute between candidate objects. The electronic device may obtain a first additional command from a user. The electronic device may determine a secondary attribute between two or more candidate objects based on whether the two or more candidate objects have a property value of a representative attribute designated based on the first additional command from the user and / or output feedback based on the secondary attribute. The electronic device may obtain a second additional command from a user that specifies a property value of the secondary attribute. The electronic device may determine an object referred to by a voice command based on the second additional command among the two or more candidate objects.
[0235] The electronic device can detect a plurality of candidate objects (e.g., a first candidate object (1121), a second candidate object (1122), a third candidate object (1123), and a fourth candidate object (1124)) in the user's viewing area (1111) among the first display area (1101) based on the user's voice input.
[0236] An electronic device can determine a representative attribute among candidate attributes of candidate objects. As described above in FIG. 8, an electronic device according to one embodiment can determine a representative attribute commonly applied to candidate objects.
[0237] In FIG. 11, the candidate attributes may include a first candidate attribute (e.g., color), a second candidate attribute (e.g., presence of wings), and a third candidate attribute (e.g., category). Table 3 below shows examples of attribute values for each candidate object determined by the electronic device:
[0238] Candidate Attribute 1 (e.g., color) Candidate Attribute 2 (e.g., presence of wings) Candidate Attribute 3 (e.g., category) Candidate 1 (1121) SkyNoWingsBicycle Candidate 2 (1122) YellowNoWingsCar Candidate 3 (1123) SkyWithWingsAirplane Candidate 4 (1124) RedNoWingsCar
[0239] Attribute values expressed in bold may represent attribute values of representative attributes common to multiple candidate objects, and attribute values expressed in italics may represent attribute values of auxiliary attributes.
[0240] An example of an operation of an electronic device according to one embodiment of the present invention to determine common representative properties for candidate objects and determine auxiliary properties is described.
[0241] In FIG. 11, a representative attribute for a plurality of candidate objects may be determined as a first candidate attribute (e.g., color). The electronic device may output, for each of the candidate objects, feedback based on the attribute value of the representative attribute determined for the corresponding candidate object. For example, as shown in the second display area (1102) of FIG. 11, the electronic device may output a first feedback (1131) based on the attribute value (e.g., sky) of the first candidate attribute (e.g., color) as a representative attribute for the first candidate object (1121). The electronic device may output a second feedback (1132) based on the attribute value (e.g., yellow) of the first candidate attribute (e.g., color) as a representative attribute for the second candidate object (1122). The electronic device may output a third feedback (1133) based on the attribute value (e.g., sky) of the first candidate attribute (e.g., color) as a representative attribute for the third candidate object (1123). The electronic device may output a fourth feedback (1134) based on an attribute value (e.g., red) of a first candidate attribute (e.g., color) that is a representative attribute for the fourth candidate object (1124).
[0242] The electronic device may obtain an additional command specifying an attribute value (e.g., "sky") of a representative attribute (e.g., "color"). For example, as shown in FIG. 11, the electronic device may obtain the user's additional command "sky blue." Based on the user's additional command, the electronic device may determine two or more candidate objects (e.g., a first candidate object (1121) and a third candidate object (1123)) in which the attribute value of the first candidate attribute (e.g., "color"), which is a representative attribute, is "sky."
[0243] The electronic device can determine auxiliary properties for two or more candidate objects (e.g., one candidate object and another candidate object) based on whether two or more candidate objects among the candidate objects have an attribute value of a representative property specified by an additional command. If two or more candidate objects among the candidate objects (e.g., one candidate object and another candidate object) have an attribute value of a representative property specified by an additional command, it may be difficult to determine one of the candidate objects as the object referred to in the voice command by the additional command. Accordingly, the electronic device can determine auxiliary properties for distinguishing the two or more candidate objects (e.g., one candidate object and another candidate object) and generate and / or output additional feedback based on the attribute value of the auxiliary property.
[0244] According to one embodiment, the electronic device may determine, for each candidate attribute, a representative attribute and a secondary attribute among the other candidate attributes based on the difference between the attribute values of two or more candidate objects (e.g., one candidate object and another candidate object). For example, similar to the determination of the secondary attribute described in FIG. 10, the electronic device may determine, as the secondary attribute, an attribute having a maximum difference between the attribute values of one candidate object and another candidate object. Instead of determining based on the distribution of attribute values for all of the plurality of candidate objects, the determination is made based on the attribute values of one candidate object and another candidate object among the plurality of candidate objects, thereby determining the secondary attribute for distinguishing one candidate object from another candidate object. Even when the attribute value of the secondary attribute of one candidate object is the same as or similar to the attribute value of the secondary attribute of another candidate object and another candidate object, it is possible to distinguish one candidate object from the other candidate objects, and thus the secondary attribute may be determined.
[0245] As an example in FIG. 11, the electronic device may determine a secondary attribute based on the fact that the first candidate object (1121) and the third candidate object (1123) have attribute values (e.g., sky) of a representative attribute (e.g., color) specified by an additional command. The electronic device may determine secondary attributes for the first candidate object (1121) and the third candidate object (1123) from among the second candidate attribute and the third candidate attribute, which are different from the first candidate attribute, which is the representative attribute among the candidate attributes. The electronic device may calculate a first difference between attribute values of the second candidate attribute of the first candidate object (1121) and the third candidate object (1123) for the second candidate attribute. The electronic device may calculate a second difference between attribute values of the third candidate attribute of the first candidate object (1121) and the third candidate object (1123) for the third candidate attribute. The electronic device can normalize the first difference and the second difference, and determine the second candidate attribute (e.g., presence or absence of wings) as the auxiliary attribute based on which of the normalized first and second differences has a larger value of the first difference.
[0246] The electronic device may output additional feedback based on the attribute value of the auxiliary attribute of each of two or more candidate objects (e.g., one candidate object and another candidate object). For example, as shown in the third display area (1103) of FIG. 11, the electronic device may output first additional feedback (1131) based on the attribute value (e.g., no wings) of the second candidate attribute (e.g., presence or absence of wings) which is an auxiliary attribute for the first candidate object (1121). The electronic device may output second additional feedback (1142) based on the attribute value (e.g., presence or absence of wings) of the second candidate attribute (e.g., presence or absence of wings) which is an auxiliary attribute for the third candidate object (1123).
[0247] The electronic device may stop outputting feedback based on the attribute values of the representative attributes of the candidate objects. For example, as shown in the third display area (1103) of FIG. 11, the electronic device may stop outputting the first feedback (1131), the second feedback (1132), the third feedback (1133), and / or the fourth feedback (1134) based on the attribute values of the representative attributes.
[0248] The electronic device may obtain an additional command (e.g., a second additional command) that specifies an attribute value of an auxiliary attribute, subsequent to a first additional command (e.g., an additional command that specifies an attribute value of a representative attribute). Based on the second additional command, the electronic device may determine, among candidate objects (e.g., the first candidate object (1121) and the third candidate object (1123)) that output additional feedback based on the attribute value of the auxiliary attribute, an object having an attribute value of the auxiliary attribute specified in the second additional command as the object referred to in the voice command. For example, the user's second additional command 'wingless thing' may be obtained, and based on the user's second additional command specifying the attribute value of the auxiliary attribute as 'wingless', the electronic device may determine the first candidate object (1121) as the object referred to in the voice input.
[0249] FIG. 12 is a diagram illustrating an example of an operation of an electronic device according to an embodiment of the present disclosure to provide visual feedback for candidate objects and an object determined to be an object referred to in a voice command among the candidate objects.
[0250] Referring to FIG. 12, an electronic device (e.g., an electronic device (101) of FIG. 1, an electronic device (201) of FIG. 2, an electronic device (301) of FIG. 3, an electronic device (401) of FIGS. 4A and 4B, an electronic device (501) of FIG. 5, and an electronic device (701) of FIG. 7) may display a first graphical representation (1231) for candidate objects, and when an object referred to in a voice command is determined among the candidate objects, display a second graphical representation (1232) for the object. The electronic device may provide a user with visual feedback regarding the determination process of the object referred to in the voice command through the display of the first graphical representation (1231) and / or the second graphical representation (1232).
[0251] The electronic device can detect a plurality of candidate objects (e.g., a first candidate object (1221), a second candidate object (1222), a third candidate object (1223), and a fourth candidate object (1224)) in the user's viewing area (1211) of the first display area (1201) based on the user's voice input.
[0252] The electronic device may display a first graphical representation (1231) in an area corresponding to each of the detected candidate objects based on detecting the candidate objects.
[0253] For example, as shown in the second display area (1202) of FIG. 12, the electronic device may display a first graphical representation (1231) in an area corresponding to each of the first candidate object (1221), the second candidate object (1222), the third candidate object (1223), and the fourth candidate object (1224).
[0254] The electronic device may determine the object referred to in the voice command from among the candidate objects based on the additional command. For example, the electronic device may determine the third candidate object (1223) from among the candidate objects as the object referred to in the voice command.
[0255] The electronic device may display a second graphical representation (1232) in an area corresponding to the determined object based on determining the object referred to in the voice command. For example, as shown in the third display area (1203) of FIG. 12 , the electronic device may display the second graphical representation (1232) in an area corresponding to the third candidate object (1223).
[0256] According to one embodiment, the second graphical representation (1232) may have characteristics that attract a user's attention more than the first graphical representation (1231). For example, the contrast of the surrounding area of the second graphical representation (1232) may be greater than the contrast of the first graphical representation (1231). For example, when the first graphical representation (1231) and the second graphical representation (1232) include lines, the lines included in the first graphical representation (1231) may be thinner than the lines included in the second graphical representation (1232). For example, the transparency of the first graphical representation (1231) may be greater than the transparency of the second graphical representation (1232).
[0257] FIG. 13 is a diagram illustrating an example of an operation of determining candidate properties and additional properties for candidate objects by an electronic device and a server according to one embodiment of the present disclosure.
[0258] Referring to FIG. 13, an electronic device (e.g., an electronic device (101) of FIG. 1, an electronic device (201) of FIG. 2, an electronic device (301) of FIG. 3, an electronic device (401) of FIGS. 4A and 4B, an electronic device (501) of FIG. 5, an electronic device (701) of FIG. 7) (1301) can determine candidate properties of candidate objects. The electronic device (1301) can determine a representative property based on additional properties of the candidate objects received from a server (e.g., a server (702) of FIG. 7) (1302) together with the candidate properties of the candidate objects, and output feedback based on the property value of the representative property.
[0259] In operation (1310), the electronic device can detect candidate objects based on a voice input. The electronic device can determine candidate attributes of the detected candidate objects and attribute values of the candidate attributes.
[0260] In operation (1320), the electronic device may request additional properties of candidate objects from the server. The electronic device may transmit a request for additional properties to the server. The server may receive the request for additional properties from the electronic device. According to one embodiment, the electronic device may transmit the request for additional properties to the server based on the distribution of property values of candidate objects among the candidate properties. For example, the electronic device may transmit the request for additional properties to the server if the distributions of property values of candidate objects among the candidate properties are all below a threshold. According to one embodiment, the electronic device may transmit the request for additional properties to the server based on obtaining input from a user regarding providing feedback based on the additional properties.
[0261] A request for additional properties may include at least one of a user's voice command, a display area, a viewing area, candidate objects, candidate properties, or property values of candidate properties.
[0262] In operation (1330), the server may determine information about additional properties of candidate objects based on the request for additional properties. The information about the additional properties may include the additional properties and the property values of the additional properties of each of the candidate objects.
[0263] In one embodiment, the additional attributes determined by the server may be finer than the candidate attributes determined by the electronic device. The electronic device may determine attributes corresponding to coarse features between candidate objects as candidate attributes. If the candidate attributes representing the coarse features do not easily distinguish between candidate objects, the electronic device may request the server for additional attributes corresponding to fine features. If there are levels between attributes, an attribute belonging to a first level may correspond to a coarser feature than a corresponding attribute belonging to a second level below the first level. The server may determine an attribute at a lower level than the candidate attribute determined by the electronic device as the additional attribute. For example, the first level attribute may be a country of origin, and the second level attribute may be a city of origin. The electronic device may determine the country of origin and the attribute values (e.g., France, Germany, Spain) of each candidate object as candidate attributes. The server can determine the city of origin and the attribute values of each candidate object as additional attributes (e.g., Paris, Berlin, Madrid).
[0264] In operation (1340), the server may transmit information about additional properties of candidate objects to the electronic device. The electronic device may receive information about additional properties of candidate objects from the server.
[0265] For example, the server may transmit the determined additional properties and the property values of the additional properties of the candidate objects to the electronic device. The electronic device may receive the additional properties and the property values of the additional properties of the candidate objects from the server.
[0266] In operation (1350), the electronic device may determine a representative attribute among the candidate attributes and additional attributes. The operation of the electronic device determining a representative attribute among the candidate attributes and additional attributes may be performed by replacing the candidate attributes with the candidate attributes and additional attributes in operation (820) of determining a representative attribute described in FIG. 8.
[0267] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0268] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" may include any one of the items listed together with the corresponding phrase among the phrases, or all possible combinations thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish the corresponding component from other corresponding components and do not limit the corresponding components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as being "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0269] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0270] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. 'Non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0271] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0272] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0273] The embodiments described above may be implemented using hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and software applications running on the operating system. Furthermore, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone; however, one of ordinary skill in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing unit may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.
[0274] Software may include computer programs, codes, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and / or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, or computer storage medium or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on a computer-readable recording medium.
[0275] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., alone or in combination, and the program commands recorded on the medium may be those specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands such as ROMs, RAMs, and flash memories. Examples of program commands include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc.
[0276] The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
[0277] While the present disclosure has been illustrated and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents.
Claims
1. In electronic devices (101; 201; 301; 401; 501; 701; 1301), a memory (130) storing one or more computer programs; and One or more processors (120) communicatively coupled to the above memory (130) Including, The one or more computer programs include computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Based on the voice command obtained from the user, candidate objects are detected in the user's viewing region (611; 911; 1011; 1111; 1211), Determine a representative property among the candidate properties of the above-detected candidate objects, For each of the above-detected candidate objects, output feedback based on the attribute value of the representative attribute of the candidate object, Based on obtaining an additional command from the user specifying an attribute value of the representative attribute, the object referred to in the voice command is determined as a candidate object having the attribute value of the representative attribute specified by the additional command. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
2. In paragraph 1, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Determine whether an object is referred to using a pronoun in the above voice command, Based on the object being referred to using the pronoun in the above voice command, detecting the candidate objects for the object referred to by the pronoun. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
3. In any one of paragraphs 1 and 2, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Extract conditions for the object from the above voice command, Detect the candidate objects in the viewing area (611; 911; 1011; 1111; 1211) based on the above extracted conditions. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
4. In any one of paragraphs 1 to 3, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Based on the distribution of the attribute values of each candidate attribute among candidate objects for each candidate attribute, a representative property among the candidate attributes is determined. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
5. In any one of paragraphs 1 to 4, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: For each of the above candidate objects, a representative attribute of the candidate object is determined based on the difference between the attribute values of the candidate object and the attribute values of other candidate objects. Among the above candidate objects, the representative attribute of the first candidate object and a different candidate attribute are determined as the representative attribute of the second candidate object. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
6. In any one of paragraphs 1 to 5, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Based on the difference between the attribute values of the representative attributes of the first candidate object and the second candidate object among the above candidate objects being less than or equal to a threshold, supplementary properties for the first candidate object and the second candidate object are determined, For each of the first candidate object and the second candidate object, output the feedback based on the attribute value of the auxiliary attribute of the candidate object together with the attribute value of the representative attribute of the candidate object. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
7. In any one of paragraphs 1 to 6, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Based on the fact that the first candidate object and the second candidate object among the above candidate objects have attribute values of the representative attribute specified by the above additional command, auxiliary attributes for the first candidate object and the second candidate object are determined, For each of the first candidate object and the second candidate object, output additional feedback based on the attribute value of the auxiliary attribute of the candidate object, Stop outputting the feedback based on the attribute values of the representative attributes of the candidate objects. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
8. In any one of paragraphs 1 to 7, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Based on detecting the above candidate objects, displaying a first graphical representation in an area corresponding to each of the detected candidate objects, Based on determining the object referred to in the above voice command, displaying a second graphical representation in an area corresponding to the determined object. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
9. In any one of paragraphs 1 to 8, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Excluding from the candidate properties the properties whose attribute values of the above candidate objects have a difference below a critical value. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
10. In any one of paragraphs 1 to 9, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Receive information about additional properties of the detected candidate objects from the server (108; 702; 1302), Determine the representative property among the candidate properties of the candidate objects and the additional properties of the candidate objects causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
11. In any one of paragraphs 1 to 10, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Provide feedback so that the user can recognize at least one of the attribute values of the representative attribute or auxiliary attribute of the candidate object determined by the feature extraction module for each candidate object. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
12. In any one of paragraphs 1 to 11, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: For each candidate object, generate auditory feedback corresponding to at least one of the representative or auxiliary properties or attribute values of the candidate object. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
13. In any one of paragraphs 1 to 12, The one or more computer programs further comprise computer-executable instructions, which, when executed by the one or more processors (120), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to: Sending a request to the above server (108; 702; 1302) to provide additional properties of the above detected candidate objects. causing to do, Electronic devices (101; 201; 301; 401; 501; 701; 1301).
14. In a method performed by an electronic device (101; 201; 301; 401; 501; 701; 1301), An operation of detecting candidate objects in a viewing region (611; 911; 1011; 1111; 1211) of a user based on a voice command obtained from the user by the electronic device (101; 201; 301; 401; 501; 701; 1301); An operation of determining a representative property among candidate properties of the detected candidate objects by the electronic device (101; 201; 301; 401; 501; 701; 1301); An operation of outputting feedback based on the attribute value of the representative attribute of each of the candidate objects by the electronic device (101; 201; 301; 401; 501; 701; 1301); and An operation of determining an object referred to in the voice command as a candidate object having an attribute value of the representative attribute specified by the additional command based on obtaining an additional command specifying an attribute value of the representative attribute from the user by the electronic device (101; 201; 301; 401; 501; 701; 1301) A method including:
15. One or more non-transitory computer-readable storage media storing one or more computer programs containing computer-executable instructions, The above instructions, when executed by the one or more processors (120) of the electronic device (101; 201; 301; 401; 501; 701; 1301), cause the electronic device (101; 201; 301; 401; 501; 701; 1301) to perform operations, The above actions are, An operation of detecting candidate objects in a viewing region (611; 911; 1011; 1111; 1211) of a user based on a voice command obtained from the user by the electronic device (101; 201; 301; 401; 501; 701; 1301); An operation of determining a representative property among candidate properties of the detected candidate objects by the electronic device (101; 201; 301; 401; 501; 701; 1301); An operation of outputting feedback based on the attribute value of the representative attribute of each of the candidate objects by the electronic device (101; 201; 301; 401; 501; 701; 1301); and An operation of determining an object referred to in the voice command as a candidate object having an attribute value of the representative attribute specified by the additional command, based on obtaining an additional command from the user by the electronic device (101; 201; 301; 401; 501; 701; 1301). A non-transitory computer-readable storage medium.
Citation Information
Patent Citations
Terminal device and method for providing step object information
KR1020120017869A
Method and apparatus for user query disambiguation
US20130311506A1
Replacing pronouns with focus-specific objects in search queries
US20180189354A1
Semantically tagged virtual and physical objects
US20210279467A1
KR20210020219A