WO2024071718A1 - 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법 - Google Patents
증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법 Download PDFInfo
- Publication number
- WO2024071718A1 WO2024071718A1 PCT/KR2023/013339 KR2023013339W WO2024071718A1 WO 2024071718 A1 WO2024071718 A1 WO 2024071718A1 KR 2023013339 W KR2023013339 W KR 2023013339W WO 2024071718 A1 WO2024071718 A1 WO 2024071718A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hand
- model
- user
- electronic device
- module
- Prior art date
Links
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 23
- 238000011017 operating method Methods 0.000 title abstract 3
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 200
- 230000003993 interaction Effects 0.000 claims abstract description 92
- 210000002478 hand joint Anatomy 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 30
- 230000003213 activating effect Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 25
- 238000004891 communication Methods 0.000 description 48
- 238000004364 calculation method Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 28
- 239000011521 glass Substances 0.000 description 26
- 238000013135 deep learning Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 12
- 210000003128 head Anatomy 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 210000001747 pupil Anatomy 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
Definitions
- Various embodiments of the present disclosure relate to an electronic device supporting an augmented reality function and a method of operating the same.
- AR augmented reality
- MR mixed reality
- An example of an electronic device that supports the AR function may be a glasses-type wearable electronic device (or AR glasses).
- Glasses-type wearable electronic devices can be worn on the user's body and provide virtual content to the user in a real environment. Glasses-type wearable electronic devices are receiving increasing attention as next-generation realistic media devices as communication technology develops to enable large-capacity data transmission, such as 5th generation (5G) communication.
- 5G 5th generation
- An electronic device that supports the AR function can combine an AR image displayed on a display with a real scene (e.g., external image, external photo) and allow it to be recognized by the user's eyes. Users can view the AR image displayed on the display and the real scene (e.g., external image, external photo) at the same time, and can experience the AR environment by combining the AR image with the real scene (e.g., external image, external photo).
- a real scene e.g., external image, external photo
- An input device of an electronic device supporting an AR function may detect a physical button input, a user's voice, or a user's hand as user input.
- An electronic device that supports the AR function can acquire data using a sensor module to detect the user's hand, and check the position of the hand or the shape of the hand joint based on the acquired data.
- Electronic devices that support the AR function can perform a plurality of operations, including deep learning operations using artificial intelligence models, to detect the user's hands, resulting in large resource consumption and high consumption. It may consume power.
- An embodiment of the present disclosure can provide an electronic device and method that can increase system efficiency by reducing unnecessary resource use by adaptively adjusting the amount of calculation when performing an operation to detect a user's hand.
- An embodiment of the present disclosure can provide an electronic device and method that can reduce power consumption by adaptively adjusting the amount of calculation when performing an operation to detect a user's hand.
- An electronic device includes at least one sensor module that detects a user's hand, and a processor operatively connected to the at least one sensor module, wherein the processor provides augmented reality (AR) to the user.
- Executing a first application for providing an image selecting a first artificial intelligence (AI) model based on the execution of the first application, and receiving first data related to the user's hand from the at least one sensor module Obtaining, confirming the position of the user's hand and the shape of the hand joint by calculating the first data using the first AI model, and confirming the user's hand confirmed using the first AI model Based on the position and hand joints, determine whether there is interaction between the user's hand and at least one object included in the AR image, and the user's hand and at least one object included in the AR image Based on determining that there is interaction between objects, select a second AI model, obtain second data related to the user's hand from the at least one sensor module, and use the second AI model to Confirming the position of the user's hand and the shape of the
- a method of an electronic device includes executing a first application for providing an augmented reality (AR) image to a user, and creating a first artificial intelligence (AI) model based on the execution of the first application.
- An operation of selecting an operation of acquiring first data related to the user's hand from at least one sensor module, the position of the user's hand and the hand by calculating the first data using the first AI model
- the first AI model is an AI model that processes a first computational amount during a specific time period
- the second AI model is an AI model that processes a second computational amount greater than the first computational amount during the specific time period.
- the electronic device and method according to an embodiment of the present disclosure can increase system efficiency by reducing unnecessary resource use by adaptively adjusting the amount of calculation when performing an operation to detect a user's hand.
- the electronic device and method according to an embodiment of the present disclosure can reduce power consumption by adaptively adjusting the amount of calculation when performing an operation to detect the user's hand.
- FIG. 1 is a block diagram of an electronic device in a network environment according to one embodiment.
- FIG. 2 is a diagram illustrating an electronic device according to embodiments of the present disclosure.
- Figure 3 is a block diagram of an electronic device according to an embodiment.
- FIG. 4A is an example of image data acquired through a depth sensor of an electronic device according to an embodiment.
- Figure 4b is an example of image data acquired through an infrared sensor of an electronic device according to an embodiment.
- FIG. 4C is an example of image data acquired through a camera module of an electronic device according to an embodiment.
- FIG. 5A is an example diagram illustrating a method by which an electronic device calculates a hand position, according to an embodiment.
- FIG. 5B is an example diagram illustrating a method by which an electronic device calculates the center point of a hand, according to an embodiment.
- FIG. 6 is an example diagram illustrating a method by which an electronic device checks the shape of a hand joint, according to an embodiment.
- Figure 7 is a flowchart explaining the operation of an electronic device according to an embodiment.
- FIG. 8 is a flowchart explaining an operation according to a variable mode of an electronic device according to an embodiment.
- FIG. 9 is a flowchart illustrating an operation of an electronic device determining whether to interact, according to an embodiment.
- Figure 10A shows a pointing gesture as an example of a designated gesture according to one embodiment.
- Figure 10B shows a pinch gesture as an example of a designated gesture according to one embodiment.
- 11 is an example of a user scenario in which an electronic device determines that there is no interaction, according to one embodiment.
- 12 is an example of a user scenario where an electronic device determines that there is interaction, according to one embodiment.
- FIG. 13 is an example illustrating a state in which an electronic device executes a second fixed mode based on determining that there is interaction, according to an embodiment.
- Figure 14 is an example explaining a state in which an electronic device is executing the first fixed mode, according to an embodiment.
- Figure 15 is an example explaining a state in which an electronic device executes a second fixed mode according to an embodiment.
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to various embodiments.
- the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
- a first network 198 e.g., a short-range wireless communication network
- a second network 199 e.g., a long-distance wireless communication network.
- the electronic device 101 may communicate with the electronic device 104 through the server 108.
- the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
- at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
- some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
- the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
- software e.g., program 140
- the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
- the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
- the processor 120 includes the main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
- the main processor 121 e.g., a central processing unit or an application processor
- an auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
- the electronic device 101 includes a main processor 121 and a secondary processor 123
- the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
- the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
- the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
- co-processor 123 e.g., image signal processor or communication processor
- may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
- the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
- Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
- Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
- An artificial intelligence model may include multiple artificial neural network layers.
- Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
- artificial intelligence models may additionally or alternatively include software structures.
- the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
- Memory 130 may include volatile memory 132 or non-volatile memory 134.
- the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.
- the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
- the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
- the sound output module 155 may output sound signals to the outside of the electronic device 101.
- the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
- the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
- the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
- the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
- the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
- the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
- the electronic device 102 e.g., speaker or headphone
- the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
- the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
- the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102).
- 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.
- HDMI high definition multimedia interface
- USB universal serial bus
- SD card interface Secure Digital Card interface
- audio interface audio interface
- connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 can capture still images and moving images.
- the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 can manage power supplied to the electronic device 101.
- the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101.
- the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
- Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
- processor 120 e.g., an application processor
- the communication module 190 may be 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., : LAN (local area network) communication module, or power line communication module) may be included.
- 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
- GNSS global navigation satellite system
- wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
- the corresponding communication module is 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., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
- the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
- subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
- NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported.
- the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
- the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
- the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199).
- the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
- Peak data rate e.g., 20 Gbps or more
- loss coverage e.g., 164 dB or less
- U-plane latency e.g., 164 dB or less
- the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
- the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
- the antenna module 197 may include a plurality of antennas (eg, 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 is connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
- other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
- RFIC radio frequency integrated circuit
- a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
- a first side e.g., bottom side
- a designated high frequency band e.g., mmWave band
- a plurality of antennas e.g., array antennas
- peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- signal e.g. commands or data
- commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
- Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
- all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
- the electronic device 101 may perform the function or service instead of executing the function or service on its own.
- one or more external electronic devices may be requested to perform at least part of the function or service.
- One or more external electronic devices that have received the request may execute at least 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 part of a response to the request.
- cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
- the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
- the external electronic device 104 may include an Internet of Things (IoT) device.
- Server 108 may be an intelligent server using machine learning and/or neural networks.
- the external electronic device 104 or server 108 may be included in the second network 199.
- the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
- Electronic devices may be of various types.
- 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 embodiments of the present disclosure are not limited to the above-described devices.
- phrases such as “, and “at least one of A, B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof.
- Terms such as “first”, “second”, or “first” or “second” may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited.
- One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
- second component e.g., any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
- module used in various embodiments of the present disclosure may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present disclosure may include one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
- a processor e.g., processor 120
- the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
- methods according to various embodiments disclosed in the present disclosure may be included and provided in a computer program product.
- Computer program products are commodities and can be traded between sellers and buyers.
- 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 via an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
- each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
- one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
- multiple components eg, modules or programs
- the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
- 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, or omitted. Alternatively, one or more other operations may be added.
- 'augmented reality' refers to overlaying a computer-generated virtual image onto a physical, real-world environment or real-world object. It may mean showing (overlay) as one image.
- an 'augmented reality display device' refers to a device capable of expressing augmented reality, including augmented reality glasses in the shape of glasses worn by a user. Rather, it may include a head mounted display apparatus, an augmented reality helmet, etc. These augmented reality display devices are useful in everyday life, such as information search, route guidance, and camera photography.
- augmented reality glasses devices in which the augmented reality display device is implemented in the form of glasses can be worn as a fashion item and used in both indoor and outdoor activities.
- 'real scene' (e.g., external image, external photo)' refers to the real world viewed by an observer or user through an electronic device (e.g., AR glasses, augmented reality display device). As a scene, it may contain real world objects.
- an 'AR image (or virtual image)' may be an image generated through a display unit (e.g., the display unit 220 of FIG. 2) (e.g., a display engine).
- AR images (or virtual images) may include both static and dynamic images. These AR images (or virtual images) are overlaid on real scenes (e.g. external images, external real-time images), creating real scenes. It may be an image that shows information about real objects in the image (e.g., external image, external live image), information about the operation of an augmented reality device, or a control menu.
- the electronic device 101 provides an AR image
- the electronic device 101 displays an AR image to allow the user to experience the AR environment.”
- AR image may be interpreted as having the same or similar meaning as “AR environment.”
- FIG. 2 is a diagram illustrating an electronic device according to embodiments of the present disclosure.
- an electronic device 200 may include augmented reality (AR) glass.
- the electronic device 200 may include a human mounted device (HMD).
- HMD human mounted device
- the electronic device 200 includes a glass unit 210, a display unit 220, a tracking camera unit 230, an eye tracking (ET) camera unit 240, and an LED light 250. ), a printed circuit board unit (PCB) 260, a battery unit 270, a speaker unit 280, and a microphone unit 290.
- a glass unit 210 a display unit 220, a tracking camera unit 230, an eye tracking (ET) camera unit 240, and an LED light 250.
- a printed circuit board unit (PCB) 260 a battery unit 270, a speaker unit 280, and a microphone unit 290.
- PCB printed circuit board unit
- the glass unit 210 may include a first glass 211 (eg, glass for the right eye) and a second glass 212 (eg, glass for the left eye).
- the glass unit 210 may be located in the front of the display unit 220 to protect the display unit 220.
- the first glass 211 and/or the second glass 212 may be formed of a glass plate or a polymer, and may be made transparent or translucent.
- the first glass 211 and the second glass 212 may be connected and formed as one piece.
- the glass unit 210 can control the transmission of external light incident on the display unit 220.
- the display unit 220 may include a first display unit 221 arranged to correspond to the right eye and a second display unit 222 arranged to correspond to the left eye.
- the components of the first display unit 221 and the components of the second display unit 222 may be the same.
- the arrangement and/or shape of the parts constituting the first display unit 221 may be the same as the arrangement and/or shape of the parts constituting the second display unit 222.
- the first display unit 221 and the second display unit 222 each include a display (not shown) that outputs an image, a projection lens (not shown), and an optical combiner (2201). optics), and an optical barrier (not shown) (e.g., optical barrel).
- the display (not shown) included in each of the first display unit 221 and the second display unit 222 is a liquid crystal on silicon (LCoS) device or a silicon light emitting diode (LCoS). It may include a diode (LED) on silicon (LEDoS), an organic light emitting diode (OLED), a micro light emitting diode (micro LED), or a digital mirror device (DMD). there is.
- LCD liquid crystal on silicon
- LED diode
- OLED organic light emitting diode
- micro LED micro light emitting diode
- DMD digital mirror device
- the tracking camera unit 230 may include a first tracking camera 231 and a second tracking camera 232.
- the tracking camera unit 230 may be a camera used for 3DoF (degrees of freedom), 6DoF head tracking, hand detection, hand tracking, and/or spatial recognition.
- the tracking camera unit 230 may include a global shutter (GS) camera.
- the tracking camera unit 230 may include a stereo camera for head tracking and spatial recognition, and may include, for example, two cameras (e.g., a first tracking camera 231 and a second tracking camera). It may be composed of a camera 232).
- the eye tracking camera unit 240 may include a first ET (eye tracking) camera 241 (e.g., right eye tracking camera) and a second ET camera 242 (e.g., left eye tracking camera). You can.
- the eye tracking camera unit 240 can detect the user's pupils (eg, right eye and left eye) and track the movement of the pupils.
- the electronic device 200 tracks eye movement using the eye tracking camera unit 240, so that the center of the AR image displayed on the electronic device 200 (e.g., AR glasses) is adjusted according to the direction in which the user gazes. It can be done as much as possible.
- the LED light 250 may be attached to the frame of the electronic device 200 (eg, AR glasses). When photographing the user's eyes with the eye tracking camera unit 240, the LED light 250 can irradiate infrared wavelengths to ensure smooth detection of the eyes. According to one embodiment, the LED lighting 250 may be used as a means of supplementing ambient brightness when photographing the surroundings with the tracking camera unit 230.
- the display unit 220 includes a first display driver 223 for driving the first display unit 221, and a second display driver 224 for driving the second display unit 222. may include.
- the PCB unit 260 may be placed on a leg portion of the electronic device 200 (e.g., AR glass) and may include a first PCB 261 and a second PCB 262.
- the PCB unit 260 includes a glass unit 210, a tracking camera unit 230, an eye tracking camera unit 240, an LED light 250, a speaker unit 280, and a microphone unit 290. It may include at least one driving unit (eg, the processor 120 of FIG. 1) and a memory (eg, the memory 130 of FIG. 1) for control.
- the battery unit 270 (e.g., battery 189 in FIG. 1) may be placed in the leg portion of an electronic device (e.g., AR glass), and the first battery 271 and the second battery It may include (272).
- an electronic device e.g., AR glass
- the first battery 271 and the second battery It may include (272).
- power to drive the microphone unit 290 can be supplied.
- the speaker unit 280 uses a first speaker 281 (e.g., right speaker) and a second speaker 282 (e.g., left speaker). It can be included.
- the speaker unit 280 may output sound according to control from the driving unit of the PCB unit 260.
- the microphone unit 290 (e.g., the audio module 170 of FIG. 1) includes a first microphone 291 (e.g., a top microphone) and a second microphone 292 (e.g., a right microphone). microphone), and a third microphone 293 (e.g., left microphone).
- the user's voice and external sounds can be converted into electrical signals through the microphone unit 290.
- the first microphone 291 e.g., top microphone
- the second microphone 292 e.g., right microphone
- the third microphone 293 e.g., left microphone
- the first microphone 291 e.g., top microphone
- the second microphone 292 e.g., right microphone
- the third microphone 293 e.g., left microphone
- MEMS micro-electro mechanical systems
- Figure 3 is a block diagram of the electronic device 300 according to an embodiment.
- FIG. 4A is an example of image data acquired through a depth sensor of the electronic device 300 according to an embodiment.
- FIG. 4B is an example of image data acquired through an infrared sensor of the electronic device 300 according to an embodiment.
- FIG. 4C is an example of image data acquired through the camera module 180 of the electronic device 300 according to an embodiment.
- the electronic device 300 (e.g., the electronic device 101 of FIG. 1) according to an embodiment includes a camera module 180 (e.g., the camera module 180 of FIG. 1) and/or Vision to acquire data from an IMU sensor 310 (e.g., sensor module 176 in FIG. 1) and calculate information related to the user's hands, eyes, hand position, or eye position based on the acquired data.
- (vision) may include a processing module.
- the electronic device 300 is a vision processing module, and includes a camera module 180, an IMU sensor 310, a processor 120 (e.g., the processor 120 of FIG. 1), and a memory 130 (e.g., : may include memory 130 of FIG. 1), hand tracking module 320, head tracking module 330, or eye tracking module 340.
- Hand tracking module 320 may include a hand position module 321, a hand joint module 322, or an interaction module 323.
- the inertial motion unit (IMU) sensor 310 may detect changes (eg, degree of movement) of the electronic device 300 and track them.
- the IMU sensor 310 may convert the detected motion change signal into a digital signal (e.g., sensor value, sensor waveform) and transmit it to the processor 120.
- the IMU sensor 310 may generate a sensor waveform that can indicate a movement path in preset units.
- the sensor waveform may be time series sensor data for feature extraction.
- the IMU sensor 310 may be implemented as a module consisting of a 3-axis accelerometer, gyroscope, and magnetometer sensor.
- the IMU sensor 310 is a motion sensor including at least one of an acceleration sensor, a tilt sensor, a gyro sensor, or a 3-axis magnetic sensor. It could be a sensor.
- the IMU sensor 310 uses a gyro sensor to extract angle information such as pitch, roll, and yaw, uses an acceleration sensor to track the speed direction (jump, moving speed), and geomagnetism. Using sensors, you can track the direction of movement by tracking the value of the Earth's magnetic field.
- the hand tracking module 320, the head tracking module 330, or the eye tracking module 340 may be named a “sub-task processing module.”
- the vision processing module receives data (e.g., sensing data) from the camera module 180 or the IMU sensor 310, and processes the input data into each sub-task module (e.g., hand tracking module) included in the sub-task processing module. 320), head tracking module 330, and eye tracking module 340).
- Each sub-task module may calculate information related to the user's hand, eye, hand position, or eye position based on the input data, and provide the calculation result to the user. For example, each sub-task module may provide information corresponding to the calculated result in the form of a screen or sound.
- the camera module 180 photographs a real world object located around the electronic device 300 (e.g., located in front of the electronic device 300), It may be configured to acquire image data corresponding to a real scene (eg, external image, external photo).
- a real scene e.g, external image, external photo
- the processor 120 may be configured to control overall operations of the electronic device 300.
- the processor 120 may include at least one sub-task module to enable the electronic device 300 to generate an AR image and allow the user to interact with at least some objects included in the AR image.
- processor 120 may include hand tracking module 320, head tracking module 330, or eye tracking module 340.
- the processor 120 may include a neural processing unit (NPU) optimized for deep learning calculations for hand tracking.
- NPU neural processing unit
- the memory 130 may store instructions that allow the electronic device 300 to perform operations.
- the memory 130 may store instructions that, when executed by the processor 120, cause the electronic device 300 to perform operations described in various embodiments of the present disclosure.
- the memory 130 may be a device that stores a plurality of applications, a plurality of setting values, and various data.
- the hand tracking module 320 is a sub-task module within the vision processing module, and is based on image data input from the camera module 180 or sensing data input from the IMU sensor 310. It may be a module that calculates hand position. According to one embodiment, the hand tracking module 320 may be included within the processor 120.
- the hand tracking module 320 acquires image data 401 (e.g., first image data) including depth information using a depth sensor (not shown).
- image data 401 e.g., first image data
- Hand recognition can be performed using image data 401 including depth information.
- the hand tracking module 320 acquires image data 402 (e.g., second image data) including infrared information using an infrared sensor (not shown).
- image data 402 e.g., second image data
- Hand recognition can be performed using image data 402 including infrared information.
- the hand tracking module 320 uses the camera module 180 to generate image data 403 including RGB (red, green, blue) information (e.g., the third image data) can be acquired, and hand recognition can be performed using the image data 403 including RGB information.
- RGB red, green, blue
- FIG. 5A is an example diagram illustrating a method by which the electronic device 300 calculates a hand position, according to an embodiment.
- FIG. 5B is an example diagram illustrating a method by which the electronic device 300 calculates the center point of a hand, according to an embodiment.
- FIG. 6 is an example diagram illustrating a method by which the electronic device 300 confirms the shape of a hand joint, according to an embodiment.
- the hand tracking module 320 may include a hand position module 321.
- the hand position module 321 determines whether the user's hand is currently located in a specified direction of the electronic device 300 (e.g., in front of the electronic device 300) based on input image data or input sensing data, or It may be configured to calculate the position of the user's hand. For example, as shown in FIG. 5A, the hand position module 321 creates a box area 510 indicating the user's hand position based on the input image data 501 or input sensing data. You can decide. For example, as shown in FIG. 5B, the hand position module 321 creates a point 520 indicating the center point of the user's hand based on the input image data 502 or input sensing data. You can decide.
- the hand position module 321 performs a first deep learning calculation using a first artificial intelligence (AI) model when calculating the presence or absence of the user's hand or the position of the user's hand.
- AI artificial intelligence
- a second deep learning operation using a second AI model may be performed.
- the hand tracking module 320 may include a hand joint module 322.
- the hand joint module 322 may be configured to check (eg, calculate) the joint shape of the user's hand based on input image data or input sensing data. For example, as shown in FIG. 6, the hand joint module 322 generates a joint image (joint joint image connecting the joints of the hand of the user 610) based on the input image data 601 or the input sensing data. 611) can be estimated.
- the hand joint module 322 may determine the shape of the joint according to the shape of the estimated joint image 611.
- the electronic device 300 may detect a gesture of the user's hand by checking the joint shape of the user's hand using the hand joint module 322.
- the hand joint module 322 performs a first deep learning operation using a first AI model or a second deep learning operation using a second AI model when checking the joint shape of the user's hand. can be performed.
- the first AI model may be an AI model that requires less computation during a specific time period and is more efficient than the second AI model.
- the first AI model may use relatively less resources of the processor 120 than the second AI model.
- the first AI model may be an AI model configured to process image data at a relatively low first frame per second (FPS).
- the power consumption of the electronic device 300 according to the deep learning calculation using the first AI model may be less than the power consumption of the electronic device 300 according to the deep learning calculation using the second AI model.
- the first AI model may be named a high-efficiency AI model.
- the second AI model may be a high-performance AI model that processes more calculations for a specific time or period than the first AI model.
- the second AI model may use relatively more resources of the processor 120 than the first AI model.
- the second AI model may be an AI model configured to process image data of a relatively high second FPS (e.g., the second FPS is greater than the first FPS).
- the power consumption of the electronic device 300 according to the deep learning calculation using the second AI model may be greater than the power consumption of the electronic device 300 according to the deep learning calculation using the first AI model.
- the second AI model may be named a high-performance AI model.
- the hand position module 321 and the hand joint module 322 are configured to permanently perform the first deep learning operation using the first AI model when the electronic device 300 satisfies the first condition.
- the first condition may include receiving a direct user input, or detecting a state in which the remaining battery capacity (eg, battery level) of the electronic device 300 is lower than a threshold.
- the hand position module 321 and the hand joint module 322 are configured to permanently perform a second deep learning operation using a second AI model when the electronic device 300 satisfies the second condition.
- the second condition may include receiving direct input from the user, or repeated failure to recognize a user gesture. Repeated failure to recognize user gestures means, for example, a state in which the number of times a command corresponding to a user gesture (e.g., a command related to at least one object included in an AR image) is not recognized exceeds a specified threshold. can do.
- the hand position module 321 and the hand joint module 322 if the electronic device 300 does not meet the first condition and the second condition, allow the user to select at least one object included in the AR image. Depending on whether it interacts with, it can be set to use either the first AI model or the second AI model, and this state can be defined as “variable mode (e.g., third mode or fourth mode)” .
- hand position module 321 and hand joint module 322 may execute variable modes based on receiving direct input from the user.
- the variable mode may be a first variable mode (e.g., third mode) that performs hand tracking using a first AI model, or a second variable mode (e.g., fourth mode) that performs hand tracking using a second AI model. mode) may be included.
- the hand tracking module 320 may include an interaction module 323.
- the interaction module 323 receives data related to the shape of the hand from the hand joint module 322, and determines whether the hand shape can interact with at least one object stored in the memory 130 or included in the AR image. It may be configured to calculate whether or not there is interaction. For example, when calculating whether interaction is possible or whether interaction is present, the interaction module 323 uses at least some of the hand position, each hand joint position, the state of the current object, or the current object position. It can be considered comprehensively.
- the presence or absence of interaction determined by the interaction module 323 may be a condition for selecting either the first AI model or the second AI model while the electronic device 300 is in the variable mode.
- the electronic device 300 may perform hand tracking (e.g., calculating hand position or checking the shape of hand joints) using the first AI model when there is no interaction.
- the electronic device 300 may perform hand tracking using a second AI model when there is interaction.
- the head tracking module 330 may perform head tracking based on data input from the camera module 180.
- the head tracking module 330 may be configured to acquire data from the tracking camera unit 230, which is described with reference to FIG. 2, and detect movement of the user's head based on the obtained data.
- the head tracking module 330 may be included within the processor 120.
- the eye tracking module 340 may track the movement of the user's eyes based on data input from the camera module 180.
- the eye tracking module 340 may be configured to obtain data from the eye tracking camera unit 240, described with reference to FIG. 2, and determine a direction corresponding to the user's gaze based on the obtained data. You can.
- the eye tracking module 340 may be included within the processor 120.
- FIG. 7 is a flowchart explaining the operation of the electronic device 300 according to an embodiment.
- FIG. 7 may be omitted. At least some operations mentioned with reference to other drawings in various embodiments of the present disclosure may be additionally inserted before or after at least some of the operations shown in FIG. 7 .
- the operations shown in FIG. 7 may be performed by the processor 120 (eg, the processor 120 of FIG. 1).
- the memory 130 e.g., the memory 130 of FIG. 1 of the electronic device 300 (e.g., the electronic device 300 of FIG. 3), when executed, the processor 120 of FIG. 7. Instructions for performing at least some of the operations shown in may be stored.
- the operation of the electronic device 300 according to an embodiment will be described with reference to FIG. 7.
- the electronic device 300 may execute a first application related to the AR function.
- the first application is overlaid on a real-life scene (e.g., external image, external real-world image) and provides information or control about real objects in the real-world scene (e.g., external image, external real-world image) or the operation of an augmented reality device. It may be an application that provides images showing menus, etc.
- the electronic device 300 may repeatedly perform a hand tracking operation (e.g., operations 720 to 750) using the hand tracking module 320 while the first application is running, and the first application When execution of is completed, the hand tracking operation (e.g., operations 720 to 750) using the hand tracking module 320 may be stopped.
- a hand tracking operation e.g., operations 720 to 750
- the hand tracking operation e.g., operations 720 to 750
- the electronic device 300 may detect the state of the electronic device 300 based on the execution of the first application. For example, the electronic device 300 may determine whether the first condition or the second condition is satisfied.
- the first condition may include receiving a direct input from the user or detecting a state in which the remaining battery capacity of the electronic device 300 is lower than a threshold.
- the second condition may include receiving direct input from the user, or repeated failure to recognize a user gesture. Repeated failure to recognize user gestures means, for example, a state in which the number of times a command corresponding to a user gesture (e.g., a command related to at least one object included in an AR image) is not recognized exceeds a specified threshold. can do.
- the electronic device 300 may perform operation 741 if the first condition is met (e.g., the result of operation 730 is 731).
- the electronic device 300 may perform operation 742 if the second condition is satisfied (e.g., the result of operation 730 is 732).
- the electronic device 300 may perform operation 743.
- the electronic device 300 may execute a first fixed mode.
- the hand position module 321 and the hand joint module 322 may perform hand tracking based on the first fixed mode when the electronic device 300 satisfies the first condition.
- the hand position module 321 and the hand joint module 322 may be set to statically perform the first deep learning calculation using the first AI model in the first fixed mode.
- the first AI model may be an AI model that requires less computation during a specific time period and is more efficient than the second AI model.
- the first AI model may use relatively less resources of the processor 120 than the second AI model.
- the first AI model may be an AI model configured to process image data at a relatively low first frame per second (FPS).
- the power consumption of the electronic device 300 according to the deep learning calculation using the first AI model may be less than the power consumption of the electronic device 300 according to the deep learning calculation using the second AI model.
- the first AI model may be named a high-efficiency AI model.
- the electronic device 300 may execute a second fixed mode.
- the hand position module 321 and the hand joint module 322 may perform hand tracking based on the second fixed mode when the electronic device 300 satisfies the second condition.
- the hand position module 321 and the hand joint module 322 may be set to statically perform a second deep learning calculation using a second AI model in the second fixed mode.
- the second AI model may be a high-performance AI model that processes more calculations during a specific time period than the first AI model.
- the second AI model may use relatively more resources of the processor 120 than the first AI model.
- the second AI model may be an AI model configured to process image data of a relatively high second FPS (e.g., the second FPS is greater than the first FPS).
- the power consumption of the electronic device 300 according to the deep learning calculation using the second AI model may be greater than the power consumption of the electronic device 300 according to the deep learning calculation using the first AI model.
- the second AI model may be named a high-performance AI model.
- the electronic device 300 may execute a variable mode.
- the hand position module 321 and the hand joint module 322 in the variable mode, generate a first AI model or a second AI model depending on whether the user interacts with at least one object included in the AR image. It can be set to use any one of the AI models.
- hand position module 321 and hand joint module 322 may execute variable modes based on receiving direct input from the user.
- the electronic device 300 in a variable mode, the electronic device 300 according to an embodiment increases the accuracy of calculation results by using a high-performance second AI model for the hand where interaction occurs and uses a highly efficient first AI model for the area where interaction does not occur. AI models can be used to increase the efficiency of resource management.
- the electronic device 300 may check whether a termination trigger for the first application occurs.
- the termination trigger of the first application may include receiving direct input from the user.
- the electronic device 300 may perform operation 760.
- the electronic device 300 may perform operation 730.
- the electronic device 300 may terminate the first application.
- the electronic device 300 may perform operation 730 again when a specified time has elapsed from the time of hand tracking according to operation 741, operation 742, or operation 743.
- the electronic device 300 may perform hand tracking based on a first fixed mode, a second fixed mode, or a variable mode, and count the time elapsed from the time of hand tracking.
- the electronic device 300 may perform operation 730 again to check whether the electronic device 300 satisfies the specified condition.
- FIG. 8 is a flowchart explaining an operation according to a variable mode of the electronic device 300 according to an embodiment.
- the flowchart shown in FIG. 8 may be a flowchart specifically explaining operation 743 described with reference to FIG. 7 .
- FIG. 8 At least some of the operations shown in FIG. 8 may be omitted. At least some operations mentioned with reference to other drawings in various embodiments of the present disclosure may be additionally inserted before or after at least some of the operations shown in FIG. 8.
- the operations shown in FIG. 8 may be performed by the processor 120 (eg, the processor 120 of FIG. 1).
- the memory 130 e.g., the memory 130 of FIG. 1 of the electronic device 300 (e.g., the electronic device 300 of FIG. 3), when executed, the processor 120 of FIG. 8. Instructions for performing at least some of the operations shown in may be stored.
- the operation according to the variable mode of the electronic device 300 according to an embodiment will be described with reference to FIG. 8.
- the electronic device 300 may execute a variable mode.
- the hand position module 321 and the hand joint module 322 in the variable mode, generate a first AI model or a second AI model depending on whether the user interacts with at least one object included in the AR image. It can be set to use any one of the AI models.
- hand position module 321 and hand joint module 322 may execute variable modes based on receiving direct input from the user.
- the electronic device 300 may execute a first variable mode.
- the hand position module 321 and the hand joint module 322 may be set to perform a first deep learning operation using a first AI model when performing hand tracking as the first variable mode is activated. there is.
- the electronic device 300 uses a camera module 180 (e.g., the tracking camera unit 230 of FIG. 2) and/or a sensing module (e.g., the IMU sensor 310 of FIG. 3). ), the first data for tracking the user's hand can be obtained.
- the first data may include image data input from the camera module 180 and/or sensing data input from the sensing module.
- the electronic device 300 may calculate the position of the user's hand by calculating first data using the first AI model.
- the first AI model may calculate the position of the hand by processing image data of the first frame per second (FPS) included in the first data.
- FPS frame per second
- the electronic device 300 determines (e.g., calculates) the shape of the user's hand joint (e.g., (joint/mesh)) by calculating first data using the first AI model. )can do.
- the first AI model can confirm the shape of the hand joint by processing the image data of the first FPS included in the first data.
- the electronic device 300 uses a first AI model with relatively low resource usage, and displays a box area indicating the position of the user's hand calculated in the previous frame. By interpolating and estimating the hand position using the interpolated box area, image data at relatively low FPS can be processed.
- the electronic device 300 uses a first AI model with relatively small resource usage, interpolates the user's hand joints (e.g., (joint/mesh)) identified in the previous frame, and interpolates By estimating the hand joints, image data at relatively low FPS can be processed.
- the electronic device 300 determines whether the user's hand can interact with at least one object included in the AR image, or whether the user's hand interacts with the at least one object. can be decided. For example, when calculating whether interaction is possible or whether interaction is present, the interaction module 323 uses at least some of the hand position, each hand joint position, the state of the current object, or the current object position. It can be considered comprehensively. In operation 821, determining whether the interaction module 323 is capable of interaction or whether interaction exists will be described in detail later with reference to FIG. 9 .
- the electronic device 300 may perform operation 823.
- the electronic device 300 may perform operation 813.
- the electronic device 300 may execute a second variable mode.
- the hand position module 321 and the hand joint module 322 may be set to perform a second deep learning operation using a second AI model when performing hand tracking as the second variable mode is activated. there is.
- the electronic device 300 uses a camera module 180 (e.g., the tracking camera unit 230 of FIG. 2) and/or a sensing module (e.g., the IMU sensor 310 of FIG. 3). ) It is possible to obtain second data for tracking the user's hand.
- the second data may include image data input from the camera module 180 and/or sensing data input from the sensing module.
- the electronic device 300 may calculate the position of the user's hand by calculating second data using a second AI model.
- the second AI model may calculate the position of the hand by processing the image data of the second frame per second (FPS) included in the second data.
- the second FPS described in operation 827 may be greater than the first FPS described in operation 817.
- the electronic device 300 may check the shape of the user's hand joints by calculating second data using a second AI model.
- the second AI model can confirm the shape of the hand joint by processing image data of the second FPS included in the second data.
- the second FPS described in operation 829 may be greater than the first FPS described in operation 819.
- the electronic device 300 uses a second AI model with relatively high resource usage and high performance, and determines the position of the user's hand and the shape of the hand joint at each frame. By confirming this, image data can be processed at a relatively high FPS.
- the electronic device 300 determines whether the user's hand can interact with at least one object included in the AR image, or whether the user's hand can interact with at least one object included in the AR image. It is possible to determine whether there is interaction between the hand and the at least one object. For example, when calculating whether interaction is possible or whether interaction is present, the interaction module 323 uses at least some of the hand position, each hand joint position, the state of the current object, or the current object position. It can be considered comprehensively. In operation 831, determining whether the interaction module 323 is capable of interacting or whether there is interaction will be described in detail later with reference to FIG. 9 . For example, operation 831 may be substantially the same as or similar to operation 821.
- the electronic device 300 may perform operation 823.
- the electronic device 300 may perform operation 813.
- FIG. 9 is a flowchart explaining an operation of the electronic device 300 to determine whether to interact, according to an embodiment.
- the flowchart shown in FIG. 9 may be a flowchart specifically explaining operation 821 or operation 831 described with reference to FIG. 8 .
- FIG. 9 may be omitted. At least some operations mentioned with reference to other drawings in various embodiments of the present disclosure may be additionally inserted before or after at least some of the operations shown in FIG. 9 .
- the operations shown in FIG. 9 may be performed by the processor 120 (eg, the processor 120 of FIG. 1).
- the memory 130 e.g., the memory 130 of FIG. 1 of the electronic device 300 (e.g., the electronic device 300 of FIG. 3), when executed, the processor 120 of FIG. 9. Instructions for performing at least some of the operations shown in may be stored.
- FIG. 9 an operation of the electronic device 300 according to an embodiment of determining whether to interact will be described.
- the electronic device 300 may start a test to determine the presence or absence of interaction in the variable mode.
- interaction may mean that the user's hand is interacting with at least one object included in the AR image provided by the electronic device 300.
- no interaction may mean that the user's hand does not interact with at least one object included in the AR image provided by the electronic device 300. For example, when there is no interaction, at least one object included in the AR image provided by the electronic device 300 may maintain the designated image or designated shape regardless of the user's hand movement or gesture.
- the electronic device 300 may check whether the detected hand gesture is a designated gesture.
- the designated gesture may include a finger pointing gesture to at least one object included in the AR image, as shown in FIG. 10A.
- the designated gesture may include a pinch gesture for grasping at least one object included in the AR image, as shown in FIG. 10B.
- pointing gestures and pinch gestures are only one example, and are not limited thereto, and the electronic device 300 may further include various gestures that can be recognized within the AR environment. there is.
- the electronic device 300 may perform operation 960 when the detected hand gesture is a designated gesture (e.g., the result of operation 920 is “Yes”).
- the electronic device 300 may perform operation 930 when the detected hand gesture is not a designated gesture (e.g., the result of operation 920 is “No”).
- the electronic device 300 may check whether at least one object included in the AR image is an object set to be interactable.
- setting an object to be interactive may mean that the object is set to interact with the position of the user's hand, the approach of the hand, or a specific gesture of the hand.
- the electronic device 300 may perform a function related to the specific object in response to detecting a hand approach or a specific hand gesture related to the specific object.
- Functions related to a specific object may include a function to change the shape or size of the specific object, a function to change the position of the specific object, or a function to execute a function linked to the specific object.
- operation 930 if at least one object included in the AR image is an object set to be interactable (e.g., the result of operation 930 is “Yes”), the electronic device 300 according to an embodiment performs operation 940. It can be done.
- operation 930 if at least one object included in the AR image is not an object set to be interactable (e.g., the result of operation 930 is “No”), the electronic device 300 according to an embodiment performs operation 950 can be performed.
- the electronic device 300 may calculate the distance between the user's hand and at least one object. For example, the electronic device 300 may determine whether the distance between the user's hand and at least one object is longer than a specified distance.
- the electronic device 300 performs operation 950 when the distance between the user's hand and at least one object is longer than the specified distance (e.g., the result of operation 940 is “Yes”). You can.
- operation 940 when the distance between the user's hand and at least one object is shorter than or equal to the specified distance (e.g., the result of operation 940 is “No”), the electronic device 300 performs operation 960. It can be done.
- the electronic device 300 may determine that there is no interaction. For example, if at least one object included in the AR image is not an object set to be interactable (e.g., the result of operation 930 is “No”), the electronic device 300 may interact with the user's hand and at least one object. If the distance of the object in is longer than the specified distance (e.g., the result of operation 940 is “Yes”), it may be determined that there is no interaction. For example, the electronic device 300 may determine that there is no interaction if at least one object included in the AR image is not an object set to be influenced by the hand position, hand gesture, or hand action.
- the electronic device 300 may determine that there is no interaction if at least one object included in the AR image is not an object set to be influenced by the hand position, hand gesture, or hand action.
- the electronic device 300 may determine that there is no interaction when the hand is located outside a specified distance with respect to an object set to be influenced by the hand position, hand gesture, or hand action. Assuming that the specified distance is set to about 10 cm, the electronic device 300 may determine that there is no interaction when the hand is located outside about 10 cm with respect to the object.
- the distance of about 10 cm described above is only an example, and the present disclosure may not be limited to this value.
- the electronic device 300 may determine that there is interaction. For example, the electronic device 300 may detect that the detected hand gesture is a specified gesture (e.g., the result of operation 920 is “yes”), or the distance between the user's hand and at least one object is shorter than or equal to the specified distance. If this is the case (e.g., the result of operation 940 is “no”), it may be determined that there is interaction. For example, the electronic device 300 may determine that there is interaction when the hand gesture is a gesture for long-distance interaction (eg, a pointing gesture or a pinch gesture).
- a specified gesture e.g., the result of operation 920 is “yes”
- the distance between the user's hand and at least one object is shorter than or equal to the specified distance. If this is the case (e.g., the result of operation 940 is “no”), it may be determined that there is interaction.
- the electronic device 300 may determine that there is interaction when the hand gesture is a gesture for long-distance interaction (e
- the electronic device 300 may determine that there is interaction when the hand is located within a specified distance with respect to an object set to be influenced by the hand position, hand gesture, or hand action. Assuming that the specified distance is set to about 10 cm, the electronic device 300 may determine that there is interaction when the hand is located within about 10 cm of the object.
- the distance of about 10 cm described above is only an example, and the present disclosure may not be limited to this value.
- Figure 10A shows a pointing gesture as an example of a designated gesture according to one embodiment.
- a designated gesture 1021 is a gesture for long-distance interaction and may include a pointing gesture 1021.
- the electronic device 300 e.g., the electronic device 300 in FIG. 3
- the electronic device 300 may display an AR image 1001 including a virtual keyboard 1011
- the electronic device 300 may display an AR image 1001 including a virtual keyboard 1011.
- the device 300 detects a pointing gesture 1021 pointing to the virtual keyboard 1011, it may determine that there is interaction.
- Figure 10B shows a pinch gesture as an example of a designated gesture according to one embodiment.
- a designated gesture 1021 is a gesture for long-distance interaction and may include a pinch gesture 1021.
- the electronic device 300 e.g., the electronic device 300 in FIG. 3
- the electronic device 300 may display an AR image 1002 including an object 1012 set to be interactable.
- the electronic device 300 detects the pinch gesture 1021 for the corresponding object 1012, it can determine that there is interaction.
- Figure 11 is an example of a user scenario in which the electronic device 300 determines that there is no interaction, according to one embodiment.
- the electronic device 300 (e.g., the electronic device 300 of FIG. 3) according to an embodiment displays an AR image 1101 including an object 1111 to which functions related to interaction are not mapped. It can be displayed, and it can be determined that there is no interaction while the corresponding AR image 1101 is displayed.
- at least one object 1111 included in the AR image 1101 provided by the electronic device 300 may be set not to be affected by hand position, hand gesture, or hand action.
- the corresponding object 1111 may maintain a designated image or designated shape regardless of the movement or gesture of the user's hand 1121, and the electronic device 300 may determine that there is no interaction.
- FIG. 12 is an example of a user scenario in which the electronic device 300 determines that there is interaction, according to one embodiment.
- the electronic device 300 may be set to create an object based on the hand position.
- the electronic device 300 may map functions related to the creation of the object 1211 to a specific location within an AR environment that displays the AR image 1201. In this case, the electronic device 300 does not display the object 1211 when the user's hand 1221 is not at the specific location, and displays the object 1211 when the user's hand 1221 moves to the specific location. can be displayed.
- the electronic device 300 may determine that there is interaction when the user's hand 1221 is located at a specific location where a function related to the creation of the object 1211 is mapped.
- FIG. 13 is an example illustrating a state in which the electronic device 300 executes a second fixed mode based on determining that there is interaction, according to an embodiment.
- the electronic device 300 controls the hand using the first AI model according to the presence or absence of interaction in the variable mode.
- High-efficiency hand tracking calculations or a second AI model can be used to adaptively perform high-performance hand tracking calculations.
- the electronic device 300 can increase the accuracy of the interaction by performing high-performance calculation to track the hand using the second AI model. For example, when the electronic device 300 receives a gesture 1302 from the user 1301 to move an object included in the AR image out of the display area 1320 of the AR image, the electronic device 300 performs a gesture based on the result of determining that there is interaction. By performing high-performance hand tracking based on the second AI model, the accuracy of interaction can be improved.
- the symbol 1310 not explained in FIG. 13 represents a real scene (e.g., external image, external photo) input from the camera module 180 and may be the camera input image 1310.
- the display area 1320 of the AR image may be located inside the camera input image 1310.
- the area of the display area 1320 of the AR image may be smaller than the area of the camera input image 1310.
- FIG. 14 is an example explaining a state in which the electronic device 300 is executing the first fixed mode according to an embodiment.
- the flowchart shown in FIG. 14 may be a flowchart specifically explaining operation 741 described with reference to FIG. 7 .
- FIG. 14 may be omitted. At least some operations mentioned with reference to other drawings in various embodiments of the present disclosure may be additionally inserted before or after at least some of the operations shown in FIG. 14 .
- the operations shown in FIG. 14 may be performed by the processor 120 (eg, the processor 120 of FIG. 1).
- the memory 130 e.g., the memory 130 of FIG. 1 of the electronic device 300 (e.g., the electronic device 300 of FIG. 3), when executed, the processor 120 of FIG. 14. Instructions for performing at least some of the operations shown in may be stored.
- a state in which the electronic device 300 according to an embodiment is executing the first fixed mode will be described with reference to FIG. 14 .
- the electronic device 300 may execute a first fixed mode.
- the hand position module 321 and the hand joint module 322 may be set to perform a first deep learning operation using a first AI model when performing hand tracking as the first fixed mode is activated. there is.
- Operation 1410 may be the same as, or at least partially similar to, operation 813 described with reference to FIG. 8 .
- the electronic device 300 uses a camera module 180 (e.g., the tracking camera unit 230 of FIG. 2) and/or a sensing module (e.g., the IMU sensor 310 of FIG. 3). ), the first data for tracking the user's hand can be obtained.
- the first data may include image data input from the camera module 180 and/or sensing data input from the sensing module.
- Operation 1420 may be the same as, or at least partially similar to, operation 815 described with reference to FIG. 8 .
- the electronic device 300 may calculate the position of the user's hand by calculating first data using the first AI model.
- the first AI model may calculate the position of the hand by processing image data of the first frame per second (FPS) included in the first data.
- Operation 1430 may be the same as, or at least partially similar to, operation 817 described with reference to FIG. 8 .
- the electronic device 300 may check the shape of the user's hand joints by calculating the first data using the first AI model.
- the first AI model can confirm the shape of the hand joint by processing the image data of the first FPS included in the first data.
- Operation 1440 may be the same as, or at least partially similar to, operation 819 described with reference to FIG. 8 .
- the electronic device 300 may perform an operation to check the status of the electronic device 300 when a specified time has elapsed from the time of hand tracking according to operations 1410 to 1440. For example, the electronic device 300 may count the time elapsed from the time hand tracking is performed based on the first fixed mode. When the counted time elapses the specified time, the electronic device 300 may re-perform operation 730 described with reference to FIG. 7 to check whether the electronic device 300 satisfies the specified condition.
- FIG. 15 is an example illustrating a state in which the electronic device 300 is executing the second fixed mode according to an embodiment.
- the flowchart shown in FIG. 15 may be a flowchart specifically explaining operation 742 described with reference to FIG. 7 .
- FIG. 15 may be omitted. At least some operations mentioned with reference to other drawings in various embodiments of the present disclosure may be additionally inserted before or after at least some of the operations shown in FIG. 15 .
- the operations shown in FIG. 15 may be performed by the processor 120 (eg, the processor 120 of FIG. 1).
- the memory 130 e.g., the memory 130 of FIG. 1 of the electronic device 300 (e.g., the electronic device 300 of FIG. 3), when executed, the processor 120 of FIG. 15. Instructions for performing at least some of the operations shown in may be stored.
- a state in which the electronic device 300 according to an embodiment is executing the second fixed mode will be described with reference to FIG. 15 .
- the electronic device 300 may execute a second fixed mode.
- the hand position module 321 and the hand joint module 322 may be set to perform a second deep learning operation using a second AI model when performing hand tracking as the second fixed mode is activated. there is.
- Operation 1510 may be the same as, or at least partially similar to, operation 823 described with reference to FIG. 8 .
- the electronic device 300 uses a camera module 180 (e.g., the tracking camera unit 230 of FIG. 2) and/or a sensing module (e.g., the IMU sensor 310 of FIG. 3). ) It is possible to obtain second data for tracking the user's hand.
- the second data may include image data input from the camera module 180 and/or sensing data input from the sensing module.
- Operation 1520 may be the same as, or at least partially similar to, operation 825 described with reference to FIG. 8 .
- the electronic device 300 may calculate the position of the user's hand by calculating second data using a second AI model.
- the second AI model may calculate the position of the hand by processing the image data of the second frame per second (FPS) included in the second data.
- the second FPS described in operation 1530 may be greater than the first FPS described in operation 1430 of FIG. 14 .
- Operation 1530 may be the same as, or at least partially similar to, operation 827 described with reference to FIG. 8 .
- the electronic device 300 may check the shape of the user's hand joints by calculating second data using a second AI model.
- the second AI model can confirm the shape of the hand joint by processing image data of the second FPS included in the second data.
- the second FPS described in operation 1540 may be greater than the first FPS described in operation 1440 of FIG. 14 .
- Operation 1540 may be the same as, or at least partially similar to, operation 829 described with reference to FIG. 8 .
- the electronic device 300 may perform an operation to check the status of the electronic device 300 when a specified time has elapsed from the time of hand tracking according to operations 1510 to 1540. For example, the electronic device 300 may count the time elapsed from the time hand tracking is performed based on the second fixed mode. When the counted time elapses the specified time, the electronic device 300 may re-perform operation 730 described with reference to FIG. 7 to check whether the electronic device 300 satisfies the specified condition.
- An electronic device e.g., the electronic device 101 of FIG. 1 according to an embodiment includes at least one sensor module (e.g., the sensor module 176 of FIG. 1) that detects a user's hand, and the at least one It includes a processor (e.g., processor 120 of FIG. 1) operatively connected to the sensor module 176, wherein the processor 120 runs a first application for providing an augmented reality (AR) image to the user.
- a sensor module e.g., the sensor module 176 of FIG. 1
- the processor 120 e.g., processor 120 of FIG.
- Execute based on the execution of the first application, select a first artificial intelligence (AI) model, obtain first data related to the user's hand from the at least one sensor module 176, and 1 Confirm the position of the user's hand and the shape of the hand joint by calculating the first data using the AI model, and determine the position of the user's hand and the shape of the hand joint confirmed using the first AI model. Based on this, determine whether there is interaction between the user's hand and at least one object included in the AR image, and whether there is interaction between the user's hand and at least one object included in the AR image. Based on the determination that a second AI model is selected, obtain second data related to the user's hand from the at least one sensor module 176, and use the second AI model to obtain the second data.
- AI artificial intelligence
- the first AI model is an AI model that processes the first calculation amount during a specific time period
- the second AI model is the specific time period. It may be an AI model that processes a second calculation amount greater than the first calculation amount during a period.
- the first AI model is an AI model configured to process image data at a first frame per second (FPS) during the specific time period
- the second AI model is configured to process image data at a first frame per second (FPS) during the specific time period. It may be an AI model configured to process (frame per second) image data.
- the resource usage of the processor 120 consumed by the second AI model may be greater than the resource usage of the processor 120 consumed by the first AI model.
- the processor 120 determines a gesture of the user's hand based on the position and hand joints of the user's hand identified using the first AI model, and the determined gesture is designated. It may be checked whether it is a gesture, and if the determined gesture is a designated gesture, it may be determined that there is an interaction.
- the designated gesture may include a pointing gesture for the at least one object.
- the designated gesture may include a pinch gesture for the at least one object.
- determining whether an object is an object set to interact, and if the at least one object is an object not set to interact, determining that there is no interaction, and allowing the at least one object to interact If it is a set object, check whether the distance between the position of the user's hand and the at least one object is longer than the specified distance, and if the distance between the position of the user's hand and the at least one object is longer than the specified distance, the interaction You can decide not to have it.
- the processor 120 may determine that the interaction exists if the distance between the position of the user's hand and the at least one object is shorter than or equal to a specified distance.
- the processor 120 determines the position of the user's hand and the shape of the hand joint by calculating the first data using the first AI model or the second AI model.
- a first fixed mode in which the electronic device 101 checks whether a specified first condition is met, and, if the first condition is met, fixedly tracks the user's hand using the first AI model. can be activated.
- the first condition may include receiving a user input related to the first condition, or detecting a state in which the remaining battery capacity is lower than a threshold.
- the processor 120 determines the position of the user's hand and the shape of the hand joint by calculating the first data using the first AI model or the second AI model.
- a second fixed mode in which the electronic device 101 checks whether a specified second condition is met, and, if the second condition is met, fixedly tracks the user's hand using the second AI model. can be activated.
- the first condition may include receiving a user input related to the second condition, or detecting a state in which the user's gesture is not recognized by repeating it a specified number of times or more.
- a method of the electronic device 101 includes executing a first application for providing an augmented reality (AR) image to a user, and performing a first artificial intelligence (AI) based on the execution of the first application.
- Selecting a model acquiring first data related to the user's hand from at least one sensor module 176, calculating the first data using the first AI model An operation of confirming the position of the hand and the shape of the hand joint, based on the position of the user's hand and the hand joint confirmed using the first AI model, at least one of the user's hand and the AR image included An operation of determining whether there is an interaction between objects, and an operation of selecting a second AI model based on determining that there is an interaction between the user's hand and at least one object included in the AR image, Obtaining second data related to the user's hand from at least one sensor module 176, and calculating the second data using the second AI model to determine the position of the user's hand and the hand and an operation of checking the shape of a joint, wherein the
- the first AI model is an AI model configured to process image data at a first frame per second (FPS) during the specific time period
- the second AI model is configured to process image data at a first frame per second (FPS) during the specific time period.
- a method an AI model configured to process image data (frames per second).
- the resource usage of the processor 120 consumed by the second AI model is greater than the resource usage of the processor 120 consumed by the first AI model.
- a method of the electronic device 101 includes determining a gesture of the user's hand based on the position and hand joints of the user's hand identified using a model, and determining whether the determined gesture is a designated gesture. It may include an operation of confirming, and an operation of determining that the interaction exists if the determined gesture is a designated gesture.
- the designated gesture may include a pointing gesture for the at least one object.
- the designated gesture may include a pinch gesture for the at least one object.
- a method of the electronic device 101 includes the operation of checking whether the at least one object is an object set to interact, and if the at least one object is an object not set to interact, the interaction is not performed. an operation of determining whether the at least one object is an object set to be interacted with, an operation of checking whether the distance between the position of the user's hand and the at least one object is longer than a specified distance, and the position of the user's hand and the If the distance between at least one object is longer than a specified distance, the method may include determining that there is no interaction.
- a method of the electronic device 101 includes the operation of checking whether the at least one object is an object set to interact, and if the at least one object is an object not set to interact, the interaction is not performed. an operation of determining whether the at least one object is an object set to be interacted with, an operation of checking whether the distance between the position of the user's hand and the at least one object is longer than a specified distance, and the position of the user's hand and the If the distance between at least one object is longer than a specified distance, the method may include determining that there is no interaction.
- the method of the electronic device 101 may include determining that the interaction occurs when the distance between the position of the user's hand and the at least one object is shorter than or equal to a specified distance. .
- the electronic device and method according to an embodiment of the present disclosure can increase system efficiency by reducing unnecessary resource use by adaptively adjusting the amount of calculation when performing an operation to detect a user's hand.
- the electronic device and method according to an embodiment of the present disclosure can reduce power consumption by adaptively adjusting the amount of calculation when performing an operation to detect the user's hand.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 개시의 다양한 실시예들은 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법에 관한 것으로, 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 1 데이터를 획득하는 동작, 상기 제 1 AI(artificial intelligence) 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작, 상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손과 AR(augmented reality) 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용(interaction) 여부를 결정하는 동작, 및 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용이 있는 것으로 결정한 것에 기반하여, 제 2 AI 모델을 선택하는 동작, 상기 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 2 데이터를 획득하는 동작, 및 상기 제 2 AI 모델을 이용하여 상기 제 2 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작을 포함할 수 있다. 그 외에도 다양한 실시 예들이 가능하다.
Description
본 개시의 다양한 실시예들은 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법에 관한 것이다.
최근 현실 세계(real-world elements)의 이미지나 배경에 가상 이미지를 겹쳐서 정보를 제공하는 증강현실(AR: augmented reality) 또는 혼합현실(MR: mixed reality) 서비스를 지원하는 전자 장치에 대한 수요가 증가하고 있다.
AR 기능을 지원하는 전자 장치의 일 예로서, 안경형 웨어러블 전자 장치(또는 AR 글라스(glass))가 있을 수 있다. 안경형 웨어러블 전자 장치는 사용자의 신체에 착용되어 현실 환경에 가상 콘텐츠를 사용자에게 제공할 수 있다. 안경형 웨어러블 전자 장치는 5세대(5G) 통신과 같이 대용량의 데이터 전송이 가능하도록 통신 기술이 발전됨에 따라 차세대 실감미디어 장치로서, 그 관심이 높이지고 있다.
상술한 정보는 본 개시에 대한 이해를 돕기 위한 목적으로 하는 배경 기술(related art)로 제공될 수 있다. 상술한 내용 중 어느 것도 본 개시와 관련하여 종래 기술(prior art)로서 적용될 수 있는지에 관해서는 어떠한 주장이나 결정이 제기되지 않는다.
AR 기능을 지원하는 전자 장치는 디스플레이에서 표시되는 AR 영상과 현실 장면(real scene)(예: 외부 영상, 외부 실사)이 결합되어 사용자의 눈에 인식되게 할 수 있다. 사용자는 디스플레이에서 표시되는 AR 영상과 현실 장면(예: 외부 영상, 외부 실사)을 동시에 볼 수 있고, 현실 장면(예: 외부 영상, 외부 실사)에 AR 영상이 결합되어 AR 환경을 경험할 수 있다.
AR 기능을 지원하는 전자 장치의 입력 장치는, 사용자 입력으로서, 물리 버튼에 대한 입력, 사용자의 목소리, 또는 사용자의 손을 감지할 수 있다. AR 기능을 지원하는 전자 장치는 사용자의 손을 감지하기 위하여, 센서 모듈을 이용해 데이터를 획득하고, 획득한 데이터에 기반하여 손의 위치, 또는 손의 관절의 형태를 확인할 수 있다.
AR 기능을 지원하는 전자 장치는, 사용자의 손을 감지하는 동작을 위하여, 인공 지능(artificial intelligence) 모델을 이용한 딥 러닝 연산을 포함하는 복수의 연산들을 수행할 수 있고, 이로 인하여 많은 리소스 및 많은 소비 전력을 소모할 수 있다.
본 개시의 일 실시예는 사용자의 손을 감지하는 동작을 수행할 때, 적응적으로 연산량을 조정함으로써 불필요한 리소스 사용을 줄여 시스템의 효율성을 높일 수 있는 전자 장치 및 방법을 제공할 수 있다.
본 개시의 일 실시예는 사용자의 손을 감지하는 동작을 수행할 때, 적응적으로 연산량을 조정함으로써 소비 전력을 절감할 수 있는 전자 장치 및 방법을 제공할 수 있다.
일 실시예에 따른 전자 장치는, 사용자의 손을 감지하는 적어도 하나의 센서 모듈, 및 상기 적어도 하나의 센서 모듈과 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 사용자에게 AR(augmented reality) 이미지를 제공하기 위한 제 1 어플리케이션을 실행하고, 상기 제 1 어플리케이션의 실행에 기반하여, 제 1 AI(artificial intelligence) 모델을 선택하고, 상기 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 1 데이터를 획득하고, 상기 제 1 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하고, 상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용(interaction) 여부를 결정하고, 및 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용이 있는 것으로 결정한 것에 기반하여, 제 2 AI 모델을 선택하고, 상기 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 2 데이터를 획득하고, 및 상기 제 2 AI 모델을 이용하여 상기 제 2 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하고, 상기 제 1 AI 모델은 특정 시간 기간 동안 제 1 연산량을 처리하는 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 상기 제 1 연산량보다 많은 제 2 연산량을 처리하는 AI 모델일 수 있다.
일 실시예에 따른 전자 장치의 방법은, 사용자에게 AR(augmented reality) 이미지를 제공하기 위한 제 1 어플리케이션을 실행하는 동작, 상기 제 1 어플리케이션의 실행에 기반하여, 제 1 AI(artificial intelligence) 모델을 선택하는 동작, 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 1 데이터를 획득하는 동작, 상기 제 1 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작, 상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용(interaction) 여부를 결정하는 동작, 및 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용이 있는 것으로 결정한 것에 기반하여, 제 2 AI 모델을 선택하는 동작, 상기 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 2 데이터를 획득하는 동작, 및 상기 제 2 AI 모델을 이용하여 상기 제 2 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작을 포함하고, 상기 제 1 AI 모델은 특정 시간 기간 동안 제 1 연산량을 처리하는 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 상기 제 1 연산량보다 많은 제 2 연산량을 처리하는 AI 모델인, 방법.
본 개시의 일 실시예에 따른 전자 장치 및 방법은 사용자의 손을 감지하는 동작을 수행할 때, 적응적으로 연산량을 조정함으로써 불필요한 리소스 사용을 줄여 시스템의 효율성을 높일 수 있다.
본 개시의 일 실시예에 따른 전자 장치 및 방법은 사용자의 손을 감지하는 동작을 수행할 때, 적응적으로 연산량을 조정함으로써 소비 전력을 절감할 수 있다.
본 개시에서 얻을 수 있는 효과를 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상적인 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 특정 실시예에 따른 다른 양태, 특징 및 이점은 관련하여 첨부된 도면 및 해당 설명으로부터 더욱 명백해질 것이다.
도 1은 일 실시예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 개시의 일 실시 예들에 따른 전자 장치를 나타내는 도면이다.
도 3은 일 실시예에 따른 전자 장치의 구성 블록도이다.
도 4a는 일 실시예에 따른 전자 장치의 깊이 센서를 통해 획득한 영상 데이터의 예시이다.
도 4b는 일 실시예에 따른 전자 장치의 적외선 센서를 통해 획득한 영상 데이터의 예시이다.
도 4c는 일 실시예에 따른 전자 장치의 카메라 모듈을 통해 획득한 영상 데이터의 예시이다.
도 5a는 일 실시예에 따른 전자 장치가 손 위치를 계산하는 방법을 설명하기 위한 예시도이다.
도 5b는 일 실시예에 따른 전자 장치가 손의 중심점을 계산하는 방법을 설명하기 위한 예시도이다.
도 6은 일 실시예에 따른 전자 장치가 손 관절의 형태를 확인하는 방법을 설명하기 위한 예시도이다.
도 7은 일 실시예에 따른 전자 장치의 동작을 설명한 흐름도이다.
도 8은 일 실시예에 따른 전자 장치의 가변 모드에 따른 동작을 설명한 흐름도이다.
도 9는 일 실시예에 따른 전자 장치가 상호작용의 여부를 결정하는 동작을 설명한 흐름도이다.
도 10a는 일 실시예에 따른 지정된 제스처의 예시로서 포인팅 제스처를 나타낸다.
도 10b는 일 실시예에 따른 지정된 제스처의 예시로서 핀치 제스처를 나타낸다.
도 11은 일 실시예에 따른 전자 장치에서 상호작용이 없다고 결정하는 사용자 시나리오의 예시이다.
도 12는 일 실시예에 따른 전자 장치에서 상호작용이 있다고 결정하는 사용자 시나리오의 예시이다.
도 13은 일 실시예에 따른 전자 장치가 상호작용이 있다고 결정한 것에 기반하여 제 2 고정 모드를 실행하는 상태를 설명한 예시이다.
도 14는 일 실시예에 따른 전자 장치가 제 1 고정 모드를 실행한 상태를 설명한 예시이다.
도 15는 일 실시예에 따른 전자 장치가 제 2 고정 모드를 실행한 상태를 설명한 예시이다.
도면 전체에 걸쳐, 동일한 참조 번호가 동일하거나 유사한 요소, 특징 및 구조를 묘사하는 데 사용된다는 점에 유의해야 한다.
첨부된 도면을 참조한 다음의 설명은 청구범위 및 그 균등물에 의해 정의된 바와 같은 개시 내용의 다양한 실시 예의 포괄적인 이해를 돕기 위해 제공된다. 여기에는 이해를 돕기 위한 다양한 특정 세부 사항이 포함되어 있지만 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술분야의 통상의 지식을 가진 자는 본 개시 내용의 범위 및 사상을 벗어나지 않고 본 명세서에 기재된 다양한 실시 예의 다양한 변경 및 수정이 이루어질 수 있음을 인식할 것이다. 또한, 명료함과 간결함을 위해 잘 알려진 기능 및 구성에 대한 설명은 생략할 수 있다.
하기 설명 및 청구범위에 사용된 용어 및 단어들은 문헌상의 의미에 한정되지 않으며, 본 문서의 명확하고 일관된 이해를 가능하게 하기 위해 출원인이 사용한 것에 불과하다. 따라서, 본 문서의 다양한 실시 예에 대한 다음 설명은 첨부된 청구범위 및 그 균등물에 의해 정의된 바와 같은 본 문서를 제한하기 위한 것이 아니라 단지 예시의 목적으로 제공된다는 것이 당업자에게 명백해야 한다.
단수 형태는 문맥이 명백하게 달리 지시하지 않는 한 복수 지시 대상을 포함하는 것으로 이해되어야 한다. 따라서, 예를 들어 "구성요소 표면"에 대한 언급은 그러한 표면 중 하나 이상에 대한 언급을 포함할 수 있다.
도 1은 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 개시에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 개시의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 개시의 다양한 실시예들 및 이에 사용된 용어들은 본 개시에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 개시의 다양한 실시예들에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 개시의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 개시에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
본 개시의 다양한 실시예들에서, '증강 현실(augmented reality)'은 현실 세계의 물리적 환경 공간(physical, real-world environment)이나 현실 객체(real-world object)에 컴퓨터에서 생성되는 가상 이미지를 오버레이(overlay)하여 하나의 이미지로 보여주는 것을 의미할 수 있다.
본 개시의 다양한 실시예들에서, '증강 현실 디스플레이 장치(augmented reality display device)'라 함은 증강 현실을 표현할 수 있는 장치로서, 사용자가 착용하는 안경 형상의 증강 현실 안경 장치(augmented reality glasses) 뿐만 아니라, 헤드 마운트 디스플레이 장치(head mounted display apparatus)나, 증강 현실 헬멧(augmented reality helmet) 등을 포괄할 수 있다. 이러한 증강 현실 표시 장치는 정보 검색, 길 안내, 카메라 촬영과 같이 일상 생활에서 유용하게 사용되고 있다. 또한, 증강 현실 표시 장치가 안경형으로 구현된 증강 현실 안경 장치는 패션 아이템으로도 착용되고, 실내외 활동에서 모두 사용될 수 있다.
본 개시의 다양한 실시예들에서, '현실 장면(real scene)(예: 외부 영상, 외부 실사)’은 관찰자 또는 사용자가 전자 장치(예: AR 글래스, 증강 현실 표시 장치)를 통해서 보는 현실 세계의 장면으로서, 현실 객체(real world object)를 포함할 수 있다.
본 개시의 다양한 실시예들에서, ‘AR 영상(또는 가상 이미지(virtual image)'는 디스플레이부(예: 도 2의 디스플레이부(220))(예: 디스플레이 엔진)을 통해 생성되는 이미지일 수 있다. AR 영상(또는 가상 이미지)는 정적 이미지와 동적 이미지를 모두 포함할 수 있다. 이러한 AR 영상(또는 가상 이미지)는 현실 장면(예: 외부 영상, 외부 실사)에 오버레이(overlay)되어, 현실 장면(예: 외부 영상, 외부 실사) 속의 현실 객체에 대한 정보나 증강 현실 장치의 동작에 대한 정보나 제어 메뉴 등을 보여주는 이미지일 수 있다.
본 개시의 다양한 실시예들에서, "전자 장치(101)가 AR 영상을 제공한다"는 것은 "전자 장치(101)가 AR 영상을 표시함으로써 사용자가 AR 환경을 체험하도록 한다"는 것을 의미할 수 있다. 따라서, 본 개시의 다양한 실시예들에서 "AR 영상"은, "AR 환경"과 동일 또는 유사한 의미로 해석될 수 있다.
도 2는 본 개시의 일 실시 예들에 따른 전자 장치를 나타내는 도면이다.
도 2를 참조하면, 본 개시의 일 실시예에 따른 전자 장치(200)는 AR(augmented reality) 글래스(glass)를 포함할 수 있다. 예를 들면, 전자 장치(200)는 HMD(human mounted device)를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(200))는 글래스부(210), 디스플레이부(220), 추적 카메라부(230), 눈동자 추적(ET: eye tracking) 카메라부(240), LED 조명(250), PCB부(260, printed circuit board unit), 배터리부(270), 스피커부(280), 및 마이크부(290)를 포함할 수 있다.
일 실시예에 따르면, 글래스부(210)는 제1 글래스(211)(예: 우안용 글래스), 제2 글래스(212)(예: 좌안용 글래스)를 포함할 수 있다. 예를 들면, 글래스부(210)는 디스플레이부(220)의 전면에 위치하여, 디스플레이부(220)를 보호할 수 있다. 예를 들면, 제1 글래스(211) 및/또는 제2 글래스(212)는 글래스 플레이트(glass plate) 또는 폴리머(polymer)로 형성될 수 있으며, 투명 또는 반투명하게 제조될 수 있다. 일 실시 예에 따르면, 제1 글래스(211)와 제2 글래스(212)는 연결되어 일체로 구성될 수도 있다. 예를 들면, 글래스부(210)는 디스플레이부(220)로 입사되는 외부광의 투과를 조절 할 수 있다.
일 실시예에 따르면, 디스플레이부(220)는 우안에 대응하도록 배치된 제1 디스플레이부(221) 및 좌안에 대응하도록 배치된 제2 디스플레이부(222)를 포함할 수 있다.
일 실시예에 따르면, 제1 디스플레이부(221)의 구성요소와 제2 디스플레이부(222)의 구성요소는 동일할 수 있다. 예를 들어, 제1 디스플레이부(221)를 구성하는 부품의 배치 및/또는 부품의 형태는 제2 디스플레이부(222)를 구성하는 부품의 배치 및/또는 부품의 형태와 동일할 수 있다.
일 실시예에 따르면, 제1 디스플레이부(221) 및 제2 디스플레이부(222) 각각은 영상을 출력하는 디스플레이(미도시), 프로젝션 렌즈(projection lens)(미도시), 광학 결합기(2201, combiner optics), 및 광학 베리어(미도시)(예: 경통)을 포함할 수 있다.
일 실시예에 따르면, 제1 디스플레이부(221) 및 제2 디스플레이부(222) 각각에 포함된 디스플레이(미도시)는 실리콘 액정 표시 장치(LCoS: liquid crystal on silicon), 실리콘 발광 다이오드(light emitting diode(LED) on silicon; LEDoS), 유기 발광 다이오드(OLED: organic light emitting diode), 마이크로 엘이디(micro LED: micro light emitting diode), 또는 디지털 미러 표시 장치(DMD: digital mirror device)를 포함할 수 있다.
일 실시예에 따르면, 추적 카메라부(230)는 제1 추적 카메라(231) 및 제2 추적 카메라(232)를 포함할 수 있다. 예를 들면, 추적 카메라부(230)는 3DoF(degrees of freedom), 6DoF의 머리 추적(head tracking), 손 검출, 손 추적(hand tracking), 및/또는 공간 인식을 위해 사용되는 카메라일 수 있다. 추적 카메라부(230)는 GS(global shutter) 카메라를 포함할 수 있다. 추적 카메라부(230)는 머리 추적(head tracking)과 공간 인식을 위해서 스테레오(stereo) 카메라를 포함할 수 있고, 예를 들어, 2개의 카메라(예: 제1 추적 카메라(231) 및 제2 추적 카메라(232))로 구성될 수 있다.
일 실시예에 따르면, 눈동자 추적 카메라부(240)는 제1 ET(eye tracking) 카메라(241)(예: 우안 추적 카메라) 및 제2 ET 카메라(242)(예: 좌안 추적 카메라)를 포함할 수 있다. 예를 들면, 눈동자 추적 카메라부(240)는 사용자의 눈동자들(예: 우안 및 좌안)를 검출하고, 눈동자들의 움직임을 추적할 수 있다. 전자 장치(200)는 눈동자 추적 카메라부(240)를 이용하여 눈동자의 움직임을 추적함으로써, 전자 장치(200)(예: AR 글래스)에서 표시되는 AR 영상의 중심이 사용자가 응시하는 방향에 따라 조정되도록 할 수 있다.
일 실시예에 따르면, LED 조명(250)은 전자 장치(200)(예: AR 글래스)의 프레임에 부착될 수 있다. LED 조명(250)은 눈동자 추적 카메라부(240)로 사용자의 눈동자를 촬영할 때, 눈동자의 검출이 원활히 이루어지도록 적외선 파장을 조사할 수 있다. 일 실시예에 따르면, LED 조명(250)은 추적 카메라부(230)로 주변을 촬영 시 주변 밝기를 보충하는 수단으로 사용될 수 있다.
일 실시예에 따르면, 디스플레이부는(220)는 제1 디스플레이부(221)를 구동하기 위한 제1 디스플레이 구동부(223), 및 제2 디스플레이부(222) 를 구동하기 위한 제2 디스플레이 구동부(224)를 포함할 수 있다.
일 실시예에 따르면, PCB부(260)는 전자 장치(200)(예: AR 글래스)의 다리 부분에 배치될 수 있으며, 제1 PCB(261) 및 제2 PCB(262)를 포함할 수 있다. 예를 들면, PCB부(260)는 글래스부(210), 추적 카메라부(230), 눈동자 추적 카메라부(240), LED 조명(250), 스피커부(280), 및 마이크부(290)를 제어하기 위한 적어도 하나의 구동부(예: 도 1의 프로세서(120)) 및 메모리(예: 도 1의 메모리(130))를 포함할 수 있다.
일 실시예에 따르면, 배터리부(270)(예: 도 1의 배터리(189))는 전자 장치(예: AR 글래스)의 다리 부분에 배치될 수 있으며, 제1 배터리(271) 및 제2 배터리(272)를 포함할 수 있다. 배터리부(270)를 통해 글래스부(210), 디스플레이부(220), 추적 카메라부(230), 눈동자 추적 카메라부(240), LED 조명(250), PCB부(260), 스피커부(280), 및 마이크부(290)를 구동하기 위한 전력을 공급할 수 있다.
일 실시예에 따르면, 스피커부(280)(예: 도 1의 오디오 모듈(170))는 제1 스피커(281)(예: 우측 스피커) 및 제2 스피커(282)(예: 좌측 스피커)를 포함할 수 있다. 예를 들면, 스피커부(280)는 PCB부(260)의 구동부에 제어에 따라 음향을 출력할 수 있다.
일 실시예에 따르면, 마이크부(290)(예: 도 1의 오디오 모듈(170))는 제1 마이크(291)(예: 탑(top) 마이크), 제2 마이크(292)(예: 우측 마이크), 및 제3 마이크(293)(예: 좌측 마이크)를 포함할 수 있다. 예를 들면, 마이크부(290)를 통해 사용자의 음성 및 외부 소리를 전기 신호로 변환할 수 있다. 예를 들면, 제1 마이크(291)(예: 탑(top) 마이크), 제2 마이크(292)(예: 우측 마이크), 및 제3 마이크(293)(예: 좌측 마이크)는 콘덴서, 다이나믹(무빙코일 및 리본), 압전 소자, 또는 MEMS(micro-electro mechanical systems) 방식의 마이크를 포함할 수 있다.
도 3은 일 실시예에 따른 전자 장치(300)의 구성 블록도이다.
도 4a는 일 실시예에 따른 전자 장치(300)의 깊이 센서를 통해 획득한 영상 데이터의 예시이다.
도 4b는 일 실시예에 따른 전자 장치(300)의 적외선 센서를 통해 획득한 영상 데이터의 예시이다.
도 4c는 일 실시예에 따른 전자 장치(300)의 카메라 모듈(180)을 통해 획득한 영상 데이터의 예시이다.
도 3을 참조하면, 일 실시예에 따른 전자 장치(300)(예: 도 1의 전자 장치(101))는, 카메라 모듈(180)(예: 도 1의 카메라 모듈(180)) 및/또는 IMU 센서(310)(예: 도 1의 센서 모듈(176))로부터 데이터를 획득하고, 획득한 데이터에 기반하여 사용자의 손, 눈, 손의 위치, 또는 눈의 위치와 관련된 정보를 계산하는 비전(vision) 처리 모듈을 포함할 수 있다. 예를 들면, 전자 장치(300)는, 비전 처리 모듈로서, 카메라 모듈(180), IMU 센서(310), 프로세서(120)(예: 도 1의 프로세서(120)), 메모리(130)(예: 도 1의 메모리(130)), 손 추적 모듈(320), 머리 추적 모듈(330), 또는 눈동자 추적 모듈(340)을 포함할 수 있다. 손 추적 모듈(320)은, 손 위치 모듈(321), 손 관절 모듈(322), 또는 상호작용 모듈(323)을 포함할 수 있다.
일 실시예에 따르면, IMU(inertial motion unit) 센서(310)는 전자 장치(300)의 변화(예: 움직임 정도)를 감지하고, 이를 추적할 수 있다. IMU 센서(310)는 감지된 움직임 변화 신호를 디지털 신호(예: 센서 값, 센서 파형)로 변환하여 프로세서(120)로 전달할 수 있다. IMU 센서(310)는 기 설정된 단위로 움직임의 경로를 나타낼 수 있는 센서 파형을 생성할 수 있다. 센서 파형은 특징 추출을 위한 시계열의 센서 데이터일 수 있다.
일 실시예에 따르면, IMU 센서(310)는 3축 가속도계(accelerometer), 자이로스코프(gyroscope), 및 자력계(magnetometer) 센서로 구성된 모듈로 구현될 수 있다. 일 실시예에 따르면, IMU 센서(310)는 가속도 센서(acceleration sensor), 기울기 센서(tilt sensor), 자이로 센서(gyro sensor), 또는 자기장 센서(3-axis magnetic sensor) 중 적어도 하나를 포함하는 모션 센서일 수 있다. IMU 센서(310)는 자이로 센서를 이용해 피치(pitch), 롤(roll), 요(yaw) 과 같은 각도 정보를 추출하고, 가속도 센서를 이용하여 속도 방향을 추적(점프, 이동속도)하고, 지자기 센서를 이용하여 지구의 자기장 값을 추적해 움직임 방향을 추적할 수 있다.
일 실시예에 따르면, 손 추적 모듈(320), 머리 추적 모듈(330), 또는 눈동자 추적 모듈(340)은 "서브 태스크 처리 모듈"로 명명될 수 있다. 비전 처리 모듈은 카메라 모듈(180), 또는 IMU 센서(310)로부터 데이터(예: 센싱 데이터)를 입력받고, 입력받은 데이터를 서브 태스크 처리 모듈에 포함된 각 서브 태스크 모듈(예: 손 추적 모듈(320), 머리 추적 모듈(330), 눈동자 추적 모듈(340))에 전달할 수 있다. 각 서브 태스크 모듈은, 입력된 데이터에 기반하여 사용자의 손, 눈, 손의 위치, 또는 눈의 위치와 관련된 정보를 계산하고, 계산 결과를 사용자에게 제공할 수 있다. 예를 들어, 각 서브 태스크 모듈은, 계산된 결과에 대응하는 정보를 화면, 또는 소리의 형태로 제공할 수 있다.
일 실시예에 따르면, 카메라 모듈(180)은, 전자 장치(300)의 주변에 위치하는(예: 전자 장치(300)의 전방에 위치하는) 현실 객체(real world object)를 촬영하는 것에 의해, 현실 장면(real scene)(예: 외부 영상, 외부 실사)에 대응하는 이미지 데이터를 획득하도록 구성될 수 있다.
일 실시예에 따르면, 프로세서(120)는 전자 장치(300)의 전반적인 동작들을 제어하도록 구성될 수 있다. 프로세서(120)는 전자 장치(300)가 AR 이미지를 생성하고, 사용자가 AR 이미지에 포함된 적어도 일부 오브젝트와 상호작용하도록 적어도 하나의 서브 태스크 모듈을 포함할 수 있다. 예를 들어, 프로세서(120)는 손 추적 모듈(320), 머리 추적 모듈(330), 또는 눈동자 추적 모듈(340)을 포함할 수 있다. 프로세서(120)는, 손 추적을 위한 딥러닝 연산에 최적화된 NPU(neural processing unit)을 포함할 수 있다.
일 실시예에 따르면, 메모리(130)는 전자 장치(300)가 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 메모리(130)는, 프로세서(120)에 의해 실행시에, 전자 장치(300)가 본 개시의 다양한 실시예들에서 설명하는 동작들을 수행하도록 하는 인스트럭션들을 저장할 수 있다. 메모리(130)는 복수의 어플리케이션들을 저장하고, 복수의 설정값들, 및 각종 데이터들을 저장하는 장치일 수 있다.
일 실시예에 따르면, 손 추적 모듈(320)은, 비전 처리 모듈 내의 서브 태스크 모듈로서, 카메라 모듈(180)로부터 입력된 이미지 데이터, 또는 IMU 센서(310)로부터 입력된 센싱 데이터에 기반하여 사용자의 손 위치를 계산하는 모듈일 수 있다. 일 실시예에 따르면, 손 추적 모듈(320)은 프로세서(120)의 내부에 포함될 수 있다.
도 3 및 도 4a를 참조하면, 일 실시예에 따른 손 추적 모듈(320)은 깊이 센서(미도시)를 이용해 깊이 정보를 포함하는 영상 데이터(401)(예: 제 1 영상 데이터)를 획득하고, 깊이 정보를 포함하는 영상 데이터(401)를 이용해 손 인식을 수행할 수 있다.
도 3 및 도 4b를 참조하면, 일 실시예에 따른 손 추적 모듈(320)은 적외선 센서(미도시)를 이용해 적외선 정보를 포함하는 영상 데이터(402)(예: 제 2 영상 데이터)를 획득하고, 적외선 정보를 포함하는 영상 데이터(402)를 이용해 손 인식을 수행할 수 있다.
도 3 및 도 4c를 참조하면, 일 실시예에 따른 손 추적 모듈(320)은 카메라 모듈(180)을 이용해 RGB(빨강, 녹색, 파랑) 정보를 포함하는 영상 데이터(403)(예: 제 3 영상 데이터)를 획득하고, RGB 정보를 포함하는 영상 데이터(403)를 이용해 손 인식을 수행할 수 있다.
도 5a는 일 실시예에 따른 전자 장치(300)가 손 위치를 계산하는 방법을 설명하기 위한 예시도이다.
도 5b는 일 실시예에 따른 전자 장치(300)가 손의 중심점을 계산하는 방법을 설명하기 위한 예시도이다.
도 6은 일 실시예에 따른 전자 장치(300)가 손 관절의 형태를 확인하는 방법을 설명하기 위한 예시도이다.
도 3, 도 5a 및 도 5b를 참조하면, 일 실시예에 따른 손 추적 모듈(320)은, 손 위치 모듈(321)을 포함할 수 있다. 손 위치 모듈(321)은, 입력된 이미지 데이터 또는 입력된 센싱 데이터에 기반하여 현재 사용자의 손이 전자 장치(300)의 지정된 방향(예: 전자 장치(300)의 전방)에 위치하는지 유무, 또는 사용자의 손의 위치를 계산하도록 구성될 수 있다. 예를 들어, 도 5a에 도시된 바와 같이, 손 위치 모듈(321)은, 입력된 이미지 데이터(501) 또는 입력된 센싱 데이터에 기반하여 사용자의 손 위치를 나타내는 박스(box) 영역(510)을 결정할 수 있다. 예를 들어, 도 5b에 도시된 바와 같이, 손 위치 모듈(321)은, 입력된 이미지 데이터(502) 또는 입력된 센싱 데이터에 기반하여 사용자의 손의 중심점을 나타내는 포인트(point)(520)를 결정할 수 있다.
일 실시예에 따르면, 손 위치 모듈(321)은 사용자의 손의 유무, 또는 사용자의 손 위치를 계산함에 있어서, 제 1 AI(artificial intelligence) 모델을 이용한 제 1 딥러닝(deep learning) 연산을 수행하거나 또는 제 2 AI 모델을 이용한 제 2 딥러닝 연산을 수행할 수 있다.
도 3 및 도 6을 참조하면, 일 실시예에 따른 손 추적 모듈(320)은, 손 관절 모듈(322)을 포함할 수 있다. 손 관절 모듈(322)은, 입력된 이미지 데이터 또는 입력된 센싱 데이터에 기반하여 사용자의 손의 관절 형태를 확인(예: 계산)하도록 구성될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 손 관절 모듈(322)은, 입력된 이미지 데이터(601) 또는 입력된 센싱 데이터에 기반하여 사용자(610)의 손의 관절 마디들을 연결한 관절 이미지(611)를 추정할 수 있다. 손 관절 모듈(322)은, 추정된 관절 이미지(611)의 형태에 따라 관절의 형태를 결정할 수 있다. 일 실시예에 따르면, 전자 장치(300)는 손 관절 모듈(322)을 이용해 사용자의 손의 관절 형태를 확인함으로써, 사용자의 손의 제스처를 감지할 수 있다. 일 실시예에 따르면, 손 관절 모듈(322)은 사용자의 손의 관절 형태를 확인함에 있어서, 제 1 AI 모델을 이용한 제 1 딥러닝 연산을 수행하거나 또는 제 2 AI 모델을 이용한 제 2 딥러닝 연산을 수행할 수 있다.
일 실시예에 따르면, 제 1 AI 모델은, 제 2 AI 모델에 비하여, 특정 시간 기간 동안 처리하는 연산량이 적고, 고효율인 AI 모델일 수 있다. 예를 들어, 제 1 AI 모델은, 제 2 AI 모델에 비하여, 프로세서(120)의 리소스 사용량이 상대적으로 적을 수 있다. 제 1 AI 모델은 상대적으로 낮은 제 1 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델일 수 있다. 제 1 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력은 제 2 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력보다 적을 수 있다. 본 개시의 다양한 실시예들에서, 제 1 AI 모델은 고효율 AI 모델로 명명될 수 있다.
일 실시예에 따르면, 제 2 AI 모델은, 제 1 AI 모델에 비하여, 특정 시간 또는 기간 동안 처리하는 연산량이 많고, 고성능인 AI 모델일 수 있다. 예를 들어, 제 2 AI 모델은, 제 1 AI 모델에 비하여, 프로세서(120)의 리소스 사용량이 상대적으로 많을 수 있다. 제 2 AI 모델은 상대적으로 높은 제 2 FPS(예: 제 2 FPS는 제 1 FPS보다 큼)의 이미지 데이터를 처리하도록 구성된 AI 모델일 수 있다. 제 2 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력은 제 1 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력보다 많을 수 있다. 본 개시의 다양한 실시예들에서, 제 2 AI 모델은 고성능 AI 모델로 명명될 수 있다.
일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 전자 장치(300)가 제 1 조건을 충족하면, 고정적으로 제 1 AI 모델을 이용한 제 1 딥러닝 연산을 수행하도록 설정될 수 있고, 이러한 상태를 "제 1 고정 모드(예: 제 1 모드)"라 정의할 수 있다. 제 1 조건은 사용자의 직접적인 입력을 수신하는 것, 또는 전자 장치(300)의 배터리 잔량(예: 배터리 레벨)이 임계값보다 낮은 상태를 감지하는 것을 포함할 수 있다.
일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 전자 장치(300)가 제 2 조건을 충족하면, 고정적으로 제 2 AI 모델을 이용한 제 2 딥러닝 연산을 수행하도록 설정될 수 있고, 이러한 상태를 "제 2 고정 모드(예: 제 2 모드)"라 정의할 수 있다. 제 2 조건은 사용자의 직접적인 입력을 수신하는 것, 또는 사용자 제스처의 반복적인 인식 실패를 포함할 수 있다. 사용자 제스처의 반복적인 인식 실패는, 예를 들면, 사용자 제스처에 대응하는 명령(예: AR 이미지 내에 포함된 적어도 하나의 오브젝트에 관련한 명령)을 인식하지 못하는 횟수가 지정된 임계값을 초과하는 상태를 의미할 수 있다.
일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 전자 장치(300)가 제 1 조건 및 제 2 조건을 충족하지 않으면, 사용자가 AR 이미지 내에 포함된 적어도 하나의 오브젝트와 상호작용하는지 여부에 따라 제 1 AI 모델 또는 제 2 AI 모델 중에서 어느 하나를 이용하도록 설정될 수 있고, 이러한 상태를 "가변 모드(예: 제 3 모드 또는 제 4 모드)"라 정의할 수 있다. 일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은 사용자의 직접적인 입력을 수신하는 것에 기반하여 가변 모드를 실행할 수 있다. 가변 모드는, 제 1 AI 모델을 이용하여 손 추적을 수행하는 제 1 가변 모드(예: 제 3 모드), 또는 제 2 AI 모델을 이용하여 손 추적을 수행하는 제 2 가변 모드(예: 제 4 모드)를 포함할 수 있다.
손 추적 모듈(320)은, 상호작용 모듈(323)을 포함할 수 있다. 상호작용 모듈(323)은 손 관절 모듈(322)로부터 손의 형태에 관련한 데이터를 입력받고, 손의 형태가 메모리(130)에 저장되거나 또는 AR 이미지 내에 포함된 적어도 하나의 오브젝트와 상호작용이 가능한지 여부, 또는 상호작용의 유무를 계산하도록 구성될 수 있다. 예를 들어, 상호작용 모듈(323)은, 상호작용이 가능한지 여부 또는 상호작용의 유무를 계산함에 있어서, 손의 위치, 각 손 관절 위치, 현재 오브젝트의 상태, 또는 현재 오브젝트의 위치 중에서 적어도 일부를 종합적으로 고려할 수 있다. 상호작용 모듈(323)에 의해 결정되는 상호작용의 유무는, 전자 장치(300)가 가변 모드인 동안에 제 1 AI 모델 또는 제 2 AI 모델 중에서 어느 하나를 선택하는 조건일 수 있다. 예를 들어, 전자 장치(300)는, 가변 모드인 동안에, 상호작용이 없는 경우 제 1 AI 모델을 이용한 손 추적(예: 손 위치 계산, 또는 손 관절의 형태를 확인)을 수행할 수 있다. 예를 들어, 전자 장치(300)는, 가변 모드인 동안에, 상호작용이 있는 경우 제 2 AI 모델을 이용한 손 추적을 수행할 수 있다.
일 실시예에 따르면, 머리 추적 모듈(330)은, 카메라 모듈(180)로부터 입력된 데이터에 기반하여 머리 추적을 수행할 수 있다. 예를 들어, 머리 추적 모듈(330)은, 도 2를 참조하여 설명한, 추적 카메라부(230)로부터 데이터를 획득하고, 획득한 데이터에 기반하여 사용자의 머리의 움직임을 감지하도록 구성될 수 있다. 일 실시예에 따르면, 머리 추적 모듈(330)은 프로세서(120)의 내부에 포함될 수 있다.
일 실시예에 따르면, 눈동자 추적 모듈(340)은, 카메라 모듈(180)로부터 입력된 데이터에 기반하여 사용자의 눈동자의 움직임을 추적할 수 있다. 예를 들어, 눈동자 추적 모듈(340)은, 도 2를 참조하며 설명한, 눈동자 추적 카메라부(240)로부터 데이터를 획득하고, 획득한 데이터에 기반하여 사용자의 시선에 대응하는 방향을 결정하도록 구성될 수 있다. 일 실시예에 따르면, 눈동자 추적 모듈(340)은 프로세서(120)의 내부에 포함될 수 있다.
도 7은 일 실시예에 따른 전자 장치(300)의 동작을 설명한 흐름도이다.
도 7에 도시된 동작들 중에서 적어도 일부는 생략될 수 있다. 도 7에 도시된 적어도 일부 동작들의 이전 또는 이후에는 본 개시의 다양한 실시예들에서 다른 도면을 참조하여 언급한 적어도 일부 동작들이 추가 삽입 될 수 있다.
도 7에 도시된 동작들은 프로세서(120)(예: 도 1의 프로세서(120))에 의해 수행될 수 있다. 예를 들면, 전자 장치(300)(예: 도 3의 전자 장치(300))의 메모리(130)(예: 도 1의 메모리(130))는, 실행시에, 프로세서(120)가 도 7에 도시된 적어도 일부 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 이하, 도 7을 참조하여 일 실시예에 따른 전자 장치(300)의 동작을 설명한다.
동작 710에서, 일 실시예에 따른 전자 장치(300)는, AR 기능과 관련된 제 1 어플리케이션을 실행할 수 있다. 제 1 어플리케이션은 현실 장면(예: 외부 영상, 외부 실사)에 오버레이(overlay)되어, 현실 장면(예: 외부 영상, 외부 실사) 속의 현실 객체에 대한 정보나 증강 현실 장치의 동작에 대한 정보나 제어 메뉴 등을 보여주는 이미지를 제공하는 어플리케이션일 수 있다.
일 실시예에 따른 전자 장치(300)는, 제 1 어플리케이션이 실행되는 동안 손 추적 모듈(320)을 이용한 손 추적 동작(예: 동작 720 내지 동작 750)을 반복적으로 수행할 수 있고, 제 1 어플리케이션의 실행이 종료되면 손 추적 모듈(320)을 이용한 손 추적 동작(예: 동작 720 내지 동작 750)을 중단할 수 있다.
동작 720및 동작 730에서, 일 실시예에 따른 전자 장치(300)는, 제 1 어플리케이션이 실행된 것에 기반하여 전자 장치(300)의 상태를 감지할 수 있다. 예를 들어, 전자 장치(300)는 제 1 조건 또는 제 2 조건을 충족하는지 결정할 수 있다. 제 1 조건은 사용자의 직접적인 입력을 수신하는 것, 또는 전자 장치(300)의 배터리 잔량이 임계값보다 낮은 상태를 감지하는 것을 포함할 수 있다. 제 2 조건은 사용자의 직접적인 입력을 수신하는 것, 또는 사용자 제스처의 반복적인 인식 실패를 포함할 수 있다. 사용자 제스처의 반복적인 인식 실패는, 예를 들면, 사용자 제스처에 대응하는 명령(예: AR 이미지 내에 포함된 적어도 하나의 오브젝트에 관련한 명령)을 인식하지 못하는 횟수가 지정된 임계값을 초과하는 상태를 의미할 수 있다.
동작 730에서, 일 실시예에 따른 전자 장치(300)는, 제 1 조건을 충족하는 경우(예: 동작 730의 결과가 731), 동작 741을 수행할 수 있다.
동작 730에서, 일 실시예에 따른 전자 장치(300)는, 제 2 조건을 충족하는 경우(예: 동작 730의 결과가 732), 동작 742를 수행할 수 있다.
동작 730에서, 일 실시예에 따른 전자 장치(300)는, 제 1 조건 및 제 2 조건을 충족하지 않는 경우(예: 동작 730의 결과가 "아니오"), 동작 743을 수행할 수 있다.
동작 741에서, 일 실시예에 따른 전자 장치(300)는, 제 1 고정 모드를 실행할 수 있다. 일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 전자 장치(300)가 제 1 조건을 충족하면, 제 1 고정 모드에 기반한 손 추적을 수행할 수 있다. 예를 들어, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 제 1 고정 모드에서, 고정적으로 제 1 AI 모델을 이용한 제 1 딥러닝 연산을 수행하도록 설정될 수 있다.
일 실시예에 따르면, 제 1 AI 모델은, 제 2 AI 모델에 비하여, 특정 시간 기간 동안 처리하는 연산량이 적고, 고효율인 AI 모델일 수 있다. 예를 들어, 제 1 AI 모델은, 제 2 AI 모델에 비하여, 프로세서(120)의 리소스 사용량이 상대적으로 적을 수 있다. 제 1 AI 모델은 상대적으로 낮은 제 1 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델일 수 있다. 제 1 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력은 제 2 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력보다 적을 수 있다. 본 개시의 다양한 실시예들에서, 제 1 AI 모델은 고효율 AI 모델로 명명될 수 있다.
동작 742에서, 일 실시예에 따른 전자 장치(300)는, 제 2 고정 모드를 실행할 수 있다. 일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 전자 장치(300)가 제 2 조건을 충족하면, 제 2 고정 모드에 기반한 손 추적을 수행할 수 있다. 예를 들어, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 제 2 고정 모드에서, 고정적으로 제 2 AI 모델을 이용한 제 2 딥러닝 연산을 수행하도록 설정될 수 있다.
일 실시예에 따르면, 제 2 AI 모델은, 제 1 AI 모델에 비하여, 특정 시간 기간 동안 처리하는 연산량이 많고, 고성능인 AI 모델일 수 있다. 예를 들어, 제 2 AI 모델은, 제 1 AI 모델에 비하여, 프로세서(120)의 리소스 사용량이 상대적으로 많을 수 있다. 제 2 AI 모델은 상대적으로 높은 제 2 FPS(예: 제 2 FPS는 제 1 FPS보다 큼)의 이미지 데이터를 처리하도록 구성된 AI 모델일 수 있다. 제 2 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력은 제 1 AI 모델을 이용한 딥러닝 연산에 따른 전자 장치(300)의 소비 전력보다 많을 수 있다. 본 개시의 다양한 실시예들에서, 제 2 AI 모델은 고성능 AI 모델로 명명될 수 있다.
동작 743에서, 일 실시예에 따른 전자 장치(300)는, 가변 모드를 실행할 수 있다. 일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 가변 모드에서, 사용자가 AR 이미지 내에 포함된 적어도 하나의 오브젝트와 상호작용하는지 여부에 따라 제 1 AI 모델 또는 제 2 AI 모델 중에서 어느 하나를 이용하도록 설정될 수 있다. 일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은 사용자의 직접적인 입력을 수신하는 것에 기반하여 가변 모드를 실행할 수 있다. 일 실시예에 따른 전자 장치(300)는, 가변 모드에서, 상호작용이 일어나는 손에 대해서는 고성능의 제 2 AI 모델을 사용하여 계산 결과의 정확도를 높이고 상호작용이 일어나지 않는 영역에 대해서는 고효율의 제 1 AI 모델을 사용하여 리소스 관리의 효율을 높일 수 있다.
동작 743에서, 사용자가 AR 이미지 내에 포함된 적어도 하나의 오브젝트와 상호작용하는지 여부를 결정하는 구체적인 방법은, 도 8을 참조하여 구체적으로 후술하기로 한다.
동작 750에서, 일 실시예에 따른 전자 장치(300)는, 제 1 어플리케이션의 종료 트리거의 발생 여부를 확인할 수 있다. 제 1 어플리케이션의 종료 트리거는 사용자의 직접적인 입력을 수신하는 것을 포함할 수 있다.
동작 750에서, 일 실시예에 따른 전자 장치(300)는, 제 1 어플리케이션의 종료 트리거가 발생되면(예: 동작 750의 결과가 "예"), 동작 760을 수행할 수 있다.
동작 750에서, 일 실시예에 따른 전자 장치(300)는, 제 1 어플리케이션의 종료 트리거가 발생되면(예: 동작 750의 결과가 "아니오"), 동작 730을 수행할 수 있다.
동작 760에서, 일 실시예에 따른 전자 장치(300)는, 제 1 어플리케이션을 종료할 수 있다.
일 실시예에 따르면, 전자 장치(300)는 동작 741, 동작 742, 또는 동작 743에 따른 손 추적을 수행한 시점으로부터 지정된 시간의 경과되면 동작 730을 다시 수행할 수 있다. 예를 들어, 전자 장치(300)는, 제 1 고정 모드, 제 2 고정 모드, 또는 가변 모드에 기반한 손 추적을 수행하고, 손 추적을 수행한 시점으로부터 경과되는 시간을 카운팅할 수 있다. 전자 장치(300)는, 카운팅된 시간이 지정된 시간을 경과하면 동작 730을 다시 수행하여 전자 장치(300)가 지정된 조건을 충족하는지 확인할 수 있다.
도 8은 일 실시예에 따른 전자 장치(300)의 가변 모드에 따른 동작을 설명한 흐름도이다. 예를 들어, 도 8에 도시된 흐름도는 도 7을 참조하여 설명한 동작 743을 구체적으로 설명한 흐름도일 수 있다.
도 8에 도시된 동작들 중에서 적어도 일부는 생략될 수 있다. 도 8에 도시된 적어도 일부 동작들의 이전 또는 이후에는 본 개시의 다양한 실시예들에서 다른 도면을 참조하여 언급한 적어도 일부 동작들이 추가 삽입 될 수 있다.
도 8에 도시된 동작들은 프로세서(120)(예: 도 1의 프로세서(120))에 의해 수행될 수 있다. 예를 들면, 전자 장치(300)(예: 도 3의 전자 장치(300))의 메모리(130)(예: 도 1의 메모리(130))는, 실행시에, 프로세서(120)가 도 8에 도시된 적어도 일부 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 이하, 도 8을 참조하여 일 실시예에 따른 전자 장치(300)의 가변 모드에 따른 동작을 설명한다.
동작 811에서, 일 실시예에 따른 전자 장치(300)는, 가변 모드를 실행할 수 있다. 일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 가변 모드에서, 사용자가 AR 이미지 내에 포함된 적어도 하나의 오브젝트와 상호작용하는지 여부에 따라 제 1 AI 모델 또는 제 2 AI 모델 중에서 어느 하나를 이용하도록 설정될 수 있다. 일 실시예에 따르면, 손 위치 모듈(321) 및 손 관절 모듈(322)은 사용자의 직접적인 입력을 수신하는 것에 기반하여 가변 모드를 실행할 수 있다.
동작 813에서, 일 실시예에 따른 전자 장치(300)는, 제 1 가변 모드를 실행할 수 있다. 예를 들어, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 제 1 가변 모드가 활성화됨에 따라 손 추적을 수행함에 있어서 제 1 AI 모델을 이용한 제 1 딥러닝 연산을 수행하도록 설정될 수 있다.
동작 815에서, 일 실시예에 따른 전자 장치(300)는, 카메라 모듈(180)(예: 도 2의 추적 카메라부(230)) 및/또는 센싱 모듈(예: 도 3의 IMU 센서(310))로부터 사용자의 손을 추적하기 위한 제 1 데이터를 획득할 수 있다. 예를 들어, 제 1 데이터는 카메라 모듈(180)로부터 입력된 이미지 데이터 및/또는 센싱 모듈로부터 입력된 센싱 데이터를 포함할 수 있다.
동작 817에서, 일 실시예에 따른 전자 장치(300)는, 제 1 AI 모델을 이용하여 제 1 데이터를 연산함으로써 사용자의 손의 위치를 계산할 수 있다. 예를 들어, 제 1 AI 모델은 제 1 데이터에 포함된 제 1 FPS(frame per second)의 이미지 데이터를 처리함으로써 손의 위치를 계산할 수 있다.
동작 819에서, 일 실시예에 따른 전자 장치(300)는, 제 1 AI 모델을 이용하여 제 1 데이터를 연산함으로써 사용자의 손 관절(예: (joint/mesh))의 형태를 확인(예: 계산)할 수 있다. 예를 들어, 제 1 AI 모델은 제 1 데이터에 포함된 제 1 FPS의 이미지 데이터를 처리함으로써 손 관절의 형태를 확인할 수 있다.
동작 817 및 동작 819에서, 일 실시예에 따른 전자 장치(300)는, 리소스의 사용량이 상대적으로 적은 제 1 AI 모델을 이용하되, 이전 프레임에서 계산된 사용자의 손 위치를 나타내는 박스(box) 영역을 보간하고, 보간된 박스 영역을 이용하여 손 위치를 추정함으로써 상대적으로 낮은 FPS의 이미지 데이터를 처리할 수 있다. 일 실시예에 따른 전자 장치(300)는, 리소스의 사용량이 상대적으로 적은 제 1 AI 모델을 이용하되, 이전 프레임에서 확인된 사용자의 손 관절(예: (joint/mesh))을 보간하고, 보간된 손 관절을 추정함으로써 상대적으로 낮은 FPS의 이미지 데이터를 처리할 수 있다.
동작 821에서, 일 실시예에 따른 전자 장치(300)는, 사용자의 손이 AR 이미지 내에 포함된 적어도 하나의 오브젝트와 상호작용이 가능한지 여부, 또는 사용자의 손과 상기 적어도 하나의 오브젝트의 상호작용 유무를 결정할 수 있다. 예를 들어, 상호작용 모듈(323)은, 상호작용이 가능한지 여부 또는 상호작용의 유무를 계산함에 있어서, 손의 위치, 각 손 관절 위치, 현재 오브젝트의 상태, 또는 현재 오브젝트의 위치 중에서 적어도 일부를 종합적으로 고려할 수 있다. 동작 821에서, 상호작용 모듈(323)이 상호작용이 가능한지 여부 또는 상호작용의 유무를 결정하는 것은, 도 9를 참조하여 구체적으로 후술하기로 한다.
동작 821에서, 일 실시예에 따른 전자 장치(300)는, 상호작용이 있는 것으로 결정하는 경우(예: 동작 821의 결과가 "예"), 동작 823을 수행할 수 있다.
동작 821에서, 일 실시예에 따른 전자 장치(300)는, 상호작용이 없는 것으로 결정하는 경우(예: 동작 821의 결과가 "아니오"), 동작 813을 수행할 수 있다.
동작 823에서, 일 실시예에 따른 전자 장치(300)는, 제 2 가변 모드를 실행할 수 있다. 예를 들어, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 제 2 가변 모드가 활성화됨에 따라 손 추적을 수행함에 있어서 제 2 AI 모델을 이용한 제 2 딥러닝 연산을 수행하도록 설정될 수 있다.
동작 825에서, 일 실시예에 따른 전자 장치(300)는, 카메라 모듈(180)(예: 도 2의 추적 카메라부(230)) 및/또는 센싱 모듈(예: 도 3의 IMU 센서(310))로부터 사용자의 손을 추적하기 위한 제 2 데이터를 획득할 수 있다. 예를 들어, 제 2 데이터는 카메라 모듈(180)로부터 입력된 이미지 데이터 및/또는 센싱 모듈로부터 입력된 센싱 데이터를 포함할 수 있다.
동작 827에서, 일 실시예에 따른 전자 장치(300)는, 제 2 AI 모델을 이용하여 제 2 데이터를 연산함으로써 사용자의 손의 위치를 계산할 수 있다. 예를 들어, 제 2 AI 모델은 제 2 데이터에 포함된 제 2 FPS(frame per second)의 이미지 데이터를 처리함으로써 손의 위치를 계산할 수 있다. 동작 827에서 설명하는 제 2 FPS는 동작 817에서 설명하는 제 1 FPS보다 클 수 있다.
동작 829에서, 일 실시예에 따른 전자 장치(300)는, 제 2 AI 모델을 이용하여 제 2 데이터를 연산함으로써 사용자의 손 관절의 형태를 확인할 수 있다. 예를 들어, 제 2 AI 모델은 제 2 데이터에 포함된 제 2 FPS의 이미지 데이터를 처리함으로써 손 관절의 형태를 확인할 수 있다. 동작 829에서 설명하는 제 2 FPS는 동작 819에서 설명하는 제 1 FPS보다 클 수 있다.
동작 827 및 동작 829에서, 일 실시예에 따른 전자 장치(300)는, 리소스의 사용량이 상대적으로 많고 고성능인 제 2 AI 모델을 이용하되, 매 프레임마다 사용자의 손의 위치 및 손 관절의 형태를 확인함으로써 상대적으로 높은 FPS의 이미지 데이터를 처리할 수 있다.
동작 831에서, 일 실시예에 따른 전자 장치(300)는, 일 실시예에 따른 전자 장치(300)는, 사용자의 손이 AR 이미지 내에 포함된 적어도 하나의 오브젝트와 상호작용이 가능한지 여부, 또는 사용자의 손과 상기 적어도 하나의 오브젝트의 상호작용 유무를 결정할 수 있다. 예를 들어, 상호작용 모듈(323)은, 상호작용이 가능한지 여부 또는 상호작용의 유무를 계산함에 있어서, 손의 위치, 각 손 관절 위치, 현재 오브젝트의 상태, 또는 현재 오브젝트의 위치 중에서 적어도 일부를 종합적으로 고려할 수 있다. 동작 831에서, 상호작용 모듈(323)이 상호작용이 가능한지 여부 또는 상호작용의 유무를 결정하는 것은, 도 9를 참조하여 구체적으로 후술하기로 한다. 예를 들면, 동작 831은 동작 821과 실질적으로 동일하거나 유사할 수 있다.
동작 831에서, 일 실시예에 따른 전자 장치(300)는, 상호작용이 있는 것으로 결정하는 경우(예: 동작 831의 결과가 "예"), 동작 823을 수행할 수 있다.
동작 831에서, 일 실시예에 따른 전자 장치(300)는, 상호작용이 없는 것으로 결정하는 경우(예: 동작 831의 결과가 "아니오"), 동작 813을 수행할 수 있다.
도 9는 일 실시예에 따른 전자 장치(300)가 상호작용의 여부를 결정하는 동작을 설명한 흐름도이다. 예를 들어, 도 9에 도시된 흐름도는 도 8을 참조하여 설명한 동작 821 또는 동작 831을 구체적으로 설명한 흐름도일 수 있다.
도 9에 도시된 동작들 중에서 적어도 일부는 생략될 수 있다. 도 9에 도시된 적어도 일부 동작들의 이전 또는 이후에는 본 개시의 다양한 실시예들에서 다른 도면을 참조하여 언급한 적어도 일부 동작들이 추가 삽입 될 수 있다.
도 9에 도시된 동작들은 프로세서(120)(예: 도 1의 프로세서(120))에 의해 수행될 수 있다. 예를 들면, 전자 장치(300)(예: 도 3의 전자 장치(300))의 메모리(130)(예: 도 1의 메모리(130))는, 실행시에, 프로세서(120)가 도 9에 도시된 적어도 일부 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 이하, 도 9을 참조하여 일 실시예에 따른 전자 장치(300)가 상호작용의 여부를 결정하는 동작을 설명한다.
동작 910에서, 일 실시예에 따른 전자 장치(300)는, 가변 모드에서 상호작용의 유무를 결정하기 위한 검사를 시작할 수 있다. 본 개시의 다양한 실시예들에서, 상호작용이 있다는 것은, 전자 장치(300)가 제공하는 AR 이미지에 포함된 적어도 하나의 오브젝트와 사용자의 손이 상호작용하는 상태인 것을 의미할 수 있다. 본 개시의 다양한 실시예들에서, 상호작용이 없다는 것은, 전자 장치(300)가 제공하는 AR 이미지에 포함된 적어도 하나의 오브젝트와 사용자의 손이 상호작용하지 않는 상태인 것을 의미할 수 있다. 예를 들어, 상호작용이 없는 경우, 전자 장치(300)가 제공하는 AR 이미지에 포함된 적어도 하나의 오브젝트는, 사용자의 손의 움직임이나 제스처에 상관없이 지정된 이미지 또는 지정된 형태를 유지할 수 있다.
동작 920에서, 일 실시예에 따른 전자 장치(300)는, 감지된 손의 제스처가 지정된 제스처인지 확인할 수 있다. 예를 들면, 지정된 제스처는, 도 10a에 도시된 바와 같이, AR 이미지에 포함된 적어도 하나의 오브젝트를 손가락이 포인팅 제스처를 포함할 수 있다. 예를 들면, 지정된 제스처는, 도 10b에 도시된 바와 같이, AR 이미지에 포함된 적어도 하나의 오브젝트를 잡는 핀치 제스처를 포함할 수 있다. 본 개시의 다양한 실시예들에서 설명된 지정된 제스처로서, 포인팅 제스처 및 핀치 제스처는 하나의 예시일 뿐, 이에 제한되지 않으며, 전자 장치(300)가 AR 환경 내에서 인식 가능한 다양한 제스처들을 더 포함할 수 있다.
동작 920에서, 일 실시예에 따른 전자 장치(300)는, 감지된 손의 제스처가 지정된 제스처인 경우(예: 동작 920의 결과가 "예") 동작 960을 수행할 수 있다.
동작 920에서, 일 실시예에 따른 전자 장치(300)는, 감지된 손의 제스처가 지정된 제스처가 아닌 경우(예: 동작 920의 결과가 "아니오") 동작 930을 수행할 수 있다.
동작 930에서, 일 실시예에 따른 전자 장치(300)는, AR 이미지에 포함된 적어도 하나의 오브젝트가 상호작용 가능하도록 설정된 오브젝트인지 확인할 수 있다. 본 개시의 다양한 실시예들에서, 오브젝트가 상호작용 가능하도록 설정된다는 것은, 해당 오브젝트가 사용자의 손의 위치, 손의 접근, 손의 특정 제스처에 상호작용하도록 설정된다는 것을 의미할 수 있다. 예를 들어, 특정 오브젝트가 상호작용 가능하도록 설정된 경우, 전자 장치(300)는 해당된 특정 오브젝트에 관련한 손의 접근, 손의 특정 제스처를 감지하는 것에 응답하여, 특정 오브젝트와 관련한 기능을 수행할 수 있다. 특정 오브젝트와 관련한 기능은, 특정 오브젝트의 형태 또는 크기를 변경하는 기능, 특정 오브젝트의 위치를 변경하는 기능, 또는 특정 오브젝트에 링크된 기능의 실행하는 기능을 포함할 수 있다.
동작 930에서, 일 실시예에 따른 전자 장치(300)는, AR 이미지에 포함된 적어도 하나의 오브젝트가 상호작용 가능하도록 설정된 오브젝트인 경우(예: 동작 930의 결과가 "예"), 동작 940을 수행할 수 있다.
동작 930에서, 일 실시예에 따른 전자 장치(300)는, AR 이미지에 포함된 적어도 하나의 오브젝트가 상호작용 가능하도록 설정된 오브젝트가 아닌 경우(예: 동작 930의 결과가 "아니오"), 동작 950을 수행할 수 있다.
동작 940에서, 일 실시예에 따른 전자 장치(300)는, 사용자의 손과 적어도 하나의 오브젝트의 거리를 계산할 수 있다. 예를 들어, 전자 장치(300)는 사용자의 손과 적어도 하나의 오브젝트의 거리가 지정된 거리보다 긴지 여부를 결정할 수 있다.
동작 940에서, 일 실시예에 따른 전자 장치(300)는, 사용자의 손과 적어도 하나의 오브젝트의 거리가 지정된 거리보다 긴 경우(예: 동작 940의 결과가 "예"), 동작 950을 수행할 수 있다.
동작 940에서, 일 실시예에 따른 전자 장치(300)는, 사용자의 손과 적어도 하나의 오브젝트의 거리가 지정된 거리보다 짧거나 같은 경우(예: 동작 940의 결과가 "아니오"), 동작 960을 수행할 수 있다.
동작 950에서, 일 실시예에 따른 전자 장치(300)는, 상호작용이 없는 것으로 결정할 수 있다. 예를 들면, 전자 장치(300)는, AR 이미지에 포함된 적어도 하나의 오브젝트가 상호작용 가능하도록 설정된 오브젝트가 아닌 경우(예: 동작 930의 결과가 "아니오"), 또는 사용자의 손과 적어도 하나의 오브젝트의 거리가 지정된 거리보다 긴 경우(예: 동작 940의 결과가 "예"), 상호작용이 없는 것으로 결정할 수 있다. 예를 들어, 전자 장치(300)는 AR 이미지에 포함된 적어도 하나의 오브젝트가 손의 위치, 손의 제스처 또는 손의 행동에 영향을 받도록 설정된 오브젝트가 아닌 경우 상호작용이 없다고 결정할 수 있다. 예를 들어, 전자 장치(300)는 손의 위치, 손의 제스처 또는 손의 행동에 영향을 받도록 설정된 오브젝트에 대하여 손이 지정된 거리 밖에 위치한 경우 상호작용이 없다고 결정할 수 있다. 만약, 지정된 거리가 약 10cm로 설정되었다고 가정하면, 전자 장치(300)는 오브젝트에 대하여 손이 약 10cm 밖에 위치하는 경우 상호작용이 없다고 결정할 수 있다. 상기 지정된 거리로 설명한 약 10cm는 하나의 예시일 뿐, 본 개시는 해당 수치에 제한되지 않을 수 있다.
동작 960에서, 일 실시예에 따른 전자 장치(300)는, 상호작용이 있는 것으로 결정할 수 있다. 예를 들면, 전자 장치(300)는 감지된 손의 제스처가 지정된 제스처이거나(예: 동작 920의 결과가 "예"), 또는 사용자의 손과 적어도 하나의 오브젝트의 거리가 지정된 거리보다 짧거나 같은 경우(예: 동작 940의 결과가 "아니오"), 상호작용이 있는 것으로 결정할 수 있다. 예를 들어, 전자 장치(300)는 손의 제스처가 원거리 상호작용을 위한 제스처(예: 포인팅 제스처, 또는 핀치 제스처)인 경우 상호작용이 있다고 결정할 수 있다. 예를 들어, 전자 장치(300)는 손의 위치, 손의 제스처 또는 손의 행동에 영향을 받도록 설정된 오브젝트에 대하여 손이 지정된 거리 이내로 위치한 경우 상호작용이 있다고 결정할 수 있다. 만약, 지정된 거리가 약 10cm로 설정되었다고 가정하면, 전자 장치(300)는 오브젝트에 대하여 손이 약 10cm 이내에 위치하는 경우 상호작용이 있다고 결정할 수 있다. 상기 지정된 거리로 설명한 약 10cm는 하나의 예시일 뿐, 본 개시는 해당 수치에 제한되지 않을 수 있다.
도 10a는 일 실시예에 따른 지정된 제스처의 예시로서 포인팅 제스처를 나타낸다.
도 10a를 참조하면, 일 실시예에 따른 지정된 제스처(1021)는 원거리 상호작용을 위한 제스처로서, 포인팅 제스처(1021)를 포함할 수 있다. 예를 들어, 도 10a에 도시된 바와 같이, 전자 장치(300)(예: 도 3의 전자 장치(300))는 가상 키보드(1011)를 포함하는 AR 이미지(1001)를 표시할 수 있고, 전자 장치(300)는 가상 키보드(1011)를 가리키는 포인팅 제스처(1021)를 감지하면 상호작용이 있는 것으로 결정할 수 있다.
도 10b는 일 실시예에 따른 지정된 제스처의 예시로서 핀치 제스처를 나타낸다.
도 10b를 참조하면, 일 실시예에 따른 지정된 제스처(1021)는 원거리 상호작용을 위한 제스처로서, 핀치 제스처(1021)를 포함할 수 있다. 예를 들어, 도 10b에 도시된 바와 같이, 전자 장치(300)(예: 도 3의 전자 장치(300))는 상호작용 가능하도록 설정된 오브젝트(1012)를 포함하는 AR 이미지(1002)를 표시할 수 있고, 전자 장치(300)는 해당 오브젝트(1012)에 대한 핀치 제스처(1021)를 감지하면 상호작용이 있는 것으로 결정할 수 있다.
도 11은 일 실시예에 따른 전자 장치(300)에서 상호작용이 없다고 결정하는 사용자 시나리오의 예시이다.
도 11을 참조하면, 일 실시예에 따른 전자 장치(300)(예: 도 3의 전자 장치(300))는 상호작용과 관련한 기능이 매핑되지 않은 오브젝트(1111)를 포함한 AR 이미지(1101)를 표시할 수 있고, 해당 AR 이미지(1101)를 표시하는 동안에는 상호작용이 없는 것으로 결정할 수 있다. 예를 들어, 전자 장치(300)가 제공하는 AR 이미지(1101)에 포함된 적어도 하나의 오브젝트(1111)는, 손의 위치, 손의 제스처 또는 손의 행동에 영향을 받지 않도록 설정될 수 있다. 이 경우, 해당 오브젝트(1111)는 사용자의 손(1121)의 움직임이나 제스처에 상관없이 지정된 이미지 또는 지정된 형태를 유지할 수 있고, 전자 장치(300)는 상호작용이 없는 것으로 결정할 수 있다.
도 12는 일 실시예에 따른 전자 장치(300)에서 상호작용이 있다고 결정하는 사용자 시나리오의 예시이다.
도 12를 참조하면, 일 실시예에 따른 전자 장치(300)(예: 도 3의 전자 장치(300))는 손 위치에 기반하여 오브젝트를 생성하도록 설정될 수 있다. 예를 들어, 전자 장치(300)는 AR 이미지(1201)를 표시하는 AR 환경 내에서 특정 위치에 오브젝트(1211)의 생성과 관련한 기능을 매핑할 수 있다. 이 경우, 전자 장치(300)는 사용자의 손(1221)이 상기 특정 위치에 있지 않은 경우에는 오브젝트(1211)를 표시하지 않고, 사용자의 손(1221)이 특정 위치로 이동한 경우 오브젝트(1211)를 표시할 수 있다. 일 실시예에 따르면, 전자 장치(300)는, 오브젝트(1211)의 생성과 관련한 기능이 매핑된 특정 위치에 사용자의 손(1221)이 위치하는 경우 상호작용이 있는 것으로 결정할 수 있다.
도 13은 일 실시예에 따른 전자 장치(300)가 상호작용이 있다고 결정한 것에 기반하여 제 2 고정 모드를 실행하는 상태를 설명한 예시이다.
도 13을 참조하면, 일 실시예에 따른 전자 장치(300)(예: 도 3의 전자 장치(300))는, 가변 모드에서, 상호작용의 유무에 따라, 제 1 AI 모델을 이용하여 손을 추적하는 고효율 계산 또는 제 2 AI 모델을 이용하여 손을 추적하는 고성능 계산을 적응적으로 수행할 수 있다. 일 실시예에 따른 전자 장치(300)는, 상호작용이 있는 경우에, 제 2 AI 모델을 이용하여 손을 추적하는 고성능 계산을 수행함으로써 상호작용의 정확도를 높일 수 있다. 예를 들어, 전자 장치(300)는, 사용자(1301)로부터 AR 이미지에 포함된 오브젝트를 AR 이미지의 표시 영역(1320) 밖으로 옮기는 제스처(1302)를 수신하는 경우, 상호작용이 있다고 판단한 결과에 기반하여 제 2 AI 모델에 기반한 고성능의 손 추적을 수행함에 따라 상호작용의 정확도를 높일 수 있다.
도 13에서 미설명된 부호는 1310은 카메라 모듈(180)로부터 입력되는 현실 장면(예: 외부 영상, 외부 실사)으로서, 카메라 입력 이미지(1310)일 수 있다. AR 이미지의 표시 영역(1320)은 카메라 입력 이미지(1310)의 내부에 위치할 수 있다. AR 이미지의 표시 영역(1320)의 면적은 카메라 입력 이미지(1310)의 면적보다 작을 수 있다.
도 14는 일 실시예에 따른 전자 장치(300)가 제 1 고정 모드를 실행한 상태를 설명한 예시이다. 예를 들어, 도 14에 도시된 흐름도는 도 7을 참조하여 설명한 동작 741을 구체적으로 설명한 흐름도일 수 있다.
도 14에 도시된 동작들 중에서 적어도 일부는 생략될 수 있다. 도 14에 도시된 적어도 일부 동작들의 이전 또는 이후에는 본 개시의 다양한 실시예들에서 다른 도면을 참조하여 언급한 적어도 일부 동작들이 추가 삽입 될 수 있다.
도 14에 도시된 동작들은 프로세서(120)(예: 도 1의 프로세서(120))에 의해 수행될 수 있다. 예를 들면, 전자 장치(300)(예: 도 3의 전자 장치(300))의 메모리(130)(예: 도 1의 메모리(130))는, 실행시에, 프로세서(120)가 도 14에 도시된 적어도 일부 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 이하, 도 14을 참조하여 일 실시예에 따른 전자 장치(300)가 제 1 고정 모드를 실행한 상태를 설명한다.
동작 1410에서, 일 실시예에 따른 전자 장치(300)는, 제 1 고정 모드를 실행할 수 있다. 예를 들어, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 제 1 고정 모드가 활성화됨에 따라 손 추적을 수행함에 있어서 제 1 AI 모델을 이용한 제 1 딥러닝 연산을 수행하도록 설정될 수 있다. 동작 1410은, 도 8을 참조하여 설명한 동작 813과 동일하거나 적어도 일부가 유사할 수 있다.
동작 1420에서, 일 실시예에 따른 전자 장치(300)는, 카메라 모듈(180)(예: 도 2의 추적 카메라부(230)) 및/또는 센싱 모듈(예: 도 3의 IMU 센서(310))로부터 사용자의 손을 추적하기 위한 제 1 데이터를 획득할 수 있다. 예를 들어, 제 1 데이터는 카메라 모듈(180)로부터 입력된 이미지 데이터 및/또는 센싱 모듈로부터 입력된 센싱 데이터를 포함할 수 있다. 동작 1420은, 도 8을 참조하여 설명한 동작 815와 동일하거나 적어도 일부가 유사할 수 있다.
동작 1430에서, 일 실시예에 따른 전자 장치(300)는, 전자 장치(300)는, 제 1 AI 모델을 이용하여 제 1 데이터를 연산함으로써 사용자의 손의 위치를 계산할 수 있다. 예를 들어, 제 1 AI 모델은 제 1 데이터에 포함된 제 1 FPS(frame per second)의 이미지 데이터를 처리함으로써 손의 위치를 계산할 수 있다. 동작 1430은, 도 8을 참조하여 설명한 동작 817과 동일하거나 적어도 일부가 유사할 수 있다.
동작 1440에서, 일 실시예에 따른 전자 장치(300)는, 제 1 AI 모델을 이용하여 제 1 데이터를 연산함으로써 사용자의 손 관절의 형태를 확인할 수 있다. 예를 들어, 제 1 AI 모델은 제 1 데이터에 포함된 제 1 FPS의 이미지 데이터를 처리함으로써 손 관절의 형태를 확인할 수 있다. 동작 1440은, 도 8을 참조하여 설명한 동작 819와 동일하거나 적어도 일부가 유사할 수 있다.
일 실시예에 따르면, 전자 장치(300)는 동작 1410 내지 동작 1440에 따른 손 추적을 수행한 시점으로부터 지정된 시간의 경과되면 전자 장치(300)의 상태를 확인하는 동작을 수행할 수 있다. 예를 들어, 전자 장치(300)는, 제 1 고정 모드에 기반하여 손 추적을 수행한 시점으로부터 경과되는 시간을 카운팅할 수 있다. 전자 장치(300)는, 카운팅된 시간이 지정된 시간을 경과하면 도 7을 참조하여 설명한 동작 730을 다시 수행하여 전자 장치(300)가 지정된 조건을 충족하는지 확인할 수 있다.
도 15는 일 실시예에 따른 전자 장치(300)가 제 2 고정 모드를 실행한 상태를 설명한 예시이다. 예를 들어, 도 15에 도시된 흐름도는 도 7을 참조하여 설명한 동작 742를 구체적으로 설명한 흐름도일 수 있다.
도 15에 도시된 동작들 중에서 적어도 일부는 생략될 수 있다. 도 15에 도시된 적어도 일부 동작들의 이전 또는 이후에는 본 개시의 다양한 실시예들에서 다른 도면을 참조하여 언급한 적어도 일부 동작들이 추가 삽입 될 수 있다.
도 15에 도시된 동작들은 프로세서(120)(예: 도 1의 프로세서(120))에 의해 수행될 수 있다. 예를 들면, 전자 장치(300)(예: 도 3의 전자 장치(300))의 메모리(130)(예: 도 1의 메모리(130))는, 실행시에, 프로세서(120)가 도 15에 도시된 적어도 일부 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 이하, 도 15을 참조하여 일 실시예에 따른 전자 장치(300)가 제 2 고정 모드를 실행한 상태를 설명한다.
동작 1510에서, 일 실시예에 따른 전자 장치(300)는, 제 2 고정 모드를 실행할 수 있다. 예를 들어, 손 위치 모듈(321) 및 손 관절 모듈(322)은, 제 2 고정 모드가 활성화됨에 따라 손 추적을 수행함에 있어서 제 2 AI 모델을 이용한 제 2 딥러닝 연산을 수행하도록 설정될 수 있다. 동작 1510은, 도 8을 참조하여 설명한 동작 823과 동일하거나 적어도 일부가 유사할 수 있다.
동작 1520에서, 일 실시예에 따른 전자 장치(300)는, 카메라 모듈(180)(예: 도 2의 추적 카메라부(230)) 및/또는 센싱 모듈(예: 도 3의 IMU 센서(310))로부터 사용자의 손을 추적하기 위한 제 2 데이터를 획득할 수 있다. 예를 들어, 제 2 데이터는 카메라 모듈(180)로부터 입력된 이미지 데이터 및/또는 센싱 모듈로부터 입력된 센싱 데이터를 포함할 수 있다. 동작 1520은, 도 8을 참조하여 설명한 동작 825와 동일하거나 적어도 일부가 유사할 수 있다.
동작 1530에서, 일 실시예에 따른 전자 장치(300)는, 제 2 AI 모델을 이용하여 제 2 데이터를 연산함으로써 사용자의 손의 위치를 계산할 수 있다. 예를 들어, 제 2 AI 모델은 제 2 데이터에 포함된 제 2 FPS(frame per second)의 이미지 데이터를 처리함으로써 손의 위치를 계산할 수 있다. 동작 1530에서 설명하는 제 2 FPS는 도 14의 동작 1430에서 설명하는 제 1 FPS보다 클 수 있다. 동작 1530은, 도 8을 참조하여 설명한 동작 827과 동일하거나 적어도 일부가 유사할 수 있다.
동작 1540에서, 일 실시예에 따른 전자 장치(300)는, 제 2 AI 모델을 이용하여 제 2 데이터를 연산함으로써 사용자의 손 관절의 형태를 확인할 수 있다. 예를 들어, 제 2 AI 모델은 제 2 데이터에 포함된 제 2 FPS의 이미지 데이터를 처리함으로써 손 관절의 형태를 확인할 수 있다. 동작 1540에서 설명하는 제 2 FPS는 도 14의 동작 1440에서 설명하는 제 1 FPS보다 클 수 있다. 동작 1540은, 도 8을 참조하여 설명한 동작 829와 동일하거나 적어도 일부가 유사할 수 있다.
일 실시예에 따르면, 전자 장치(300)는 동작 1510 내지 동작 1540에 따른 손 추적을 수행한 시점으로부터 지정된 시간의 경과되면 전자 장치(300)의 상태를 확인하는 동작을 수행할 수 있다. 예를 들어, 전자 장치(300)는, 제 2 고정 모드에 기반하여 손 추적을 수행한 시점으로부터 경과되는 시간을 카운팅할 수 있다. 전자 장치(300)는, 카운팅된 시간이 지정된 시간을 경과하면 도 7을 참조하여 설명한 동작 730을 다시 수행하여 전자 장치(300)가 지정된 조건을 충족하는지 확인할 수 있다.
일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101))는, 사용자의 손을 감지하는 적어도 하나의 센서 모듈(예: 도 1의 센서 모듈(176)), 및 상기 적어도 하나의 센서 모듈(176)과 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120))를 포함하고, 상기 프로세서(120)는, 상기 사용자에게 AR(augmented reality) 이미지를 제공하기 위한 제 1 어플리케이션을 실행하고, 상기 제 1 어플리케이션의 실행에 기반하여, 제 1 AI(artificial intelligence) 모델을 선택하고, 상기 적어도 하나의 센서 모듈(176)로부터 상기 사용자의 손과 관련한 제 1 데이터를 획득하고, 상기 제 1 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하고, 상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용(interaction) 여부를 결정하고, 및 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용이 있는 것으로 결정한 것에 기반하여, 제 2 AI 모델을 선택하고, 상기 적어도 하나의 센서 모듈(176)로부터 상기 사용자의 손과 관련한 제 2 데이터를 획득하고, 및 상기 제 2 AI 모델을 이용하여 상기 제 2 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하고, 상기 제 1 AI 모델은 특정 시간 기간 동안 제 1 연산량을 처리하는 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 상기 제 1 연산량보다 많은 제 2 연산량을 처리하는 AI 모델일 수 있다.
일 실시예에 따르면, 상기 제 1 AI 모델은 상기 특정 시간 기간 동안 제 1 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 제 2 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델일 수 있다.
일 실시예에 따르면, 상기 제 2 AI 모델에 의해 소모되는 상기 프로세서(120)의 리소스 사용량은, 상기 제 1 AI 모델에 의해 소모되는 상기 프로세서(120)의 리소스 사용량보다 많을 수 있다.
일 실시예에 따르면, 상기 프로세서(120)는, 상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손의 제스처를 결정하고, 상기 결정된 제스처가 지정된 제스처인지 확인하고, 및 상기 결정된 제스처가 지정된 제스처이면, 상기 상호작용이 있는 것으로 결정할 수 있다.
일 실시예에 따르면, 상기 지정된 제스처는 상기 적어도 하나의 오브젝트에 대한 포인팅 제스처를 포함할 수 있다.
일 실시예에 따르면, 상기 지정된 제스처는 상기 적어도 하나의 오브젝트에 대한 핀치 제스처를 포함할 수 있다.
일 실시예에 따르면, 오브젝트가 상호작용하도록 설정된 오브젝트인지 확인하고, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정되지 않은 오브젝트이면, 상기 상호작용이 없는 것으로 결정하고, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정된 오브젝트이면, 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 긴지 확인하고, 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 길면, 상기 상호작용이 없는 것으로 결정할 수 있다.
일 실시예에 따르면, 상기 프로세서(120)는, 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 짧거나 같으면, 상기 상호작용이 있는 것으로 결정할 수 있다.
일 실시예에 따르면, 상기 프로세서(120)는, 상기 제 1 AI 모델 또는 상기 제 2 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동안에, 상기 전자 장치(101)가 지정된 제 1 조건을 충족하는지 확인하고, 및 상기 제 1 조건을 충족하면, 고정적으로 상기 제 1 AI 모델을 이용하여 상기 사용자의 손을 추적하는 제 1 고정 모드를 활성화할 수 있다.
일 실시예에 따르면, 상기 제 1 조건은, 상기 제 1 조건과 관련한 사용자 입력을 수신하는 것, 또는 배터리 잔량이 임계값보다 낮은 상태를 감지하는 것을 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서(120)는, 상기 제 1 AI 모델 또는 상기 제 2 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동안에, 상기 전자 장치(101)가 지정된 제 2 조건을 충족하는지 확인하고, 및 상기 제 2 조건을 충족하면, 고정적으로 상기 제 2 AI 모델을 이용하여 상기 사용자의 손을 추적하는 제 2 고정 모드를 활성화할 수 있다.
일 실시예에 따르면, 상기 제 1 조건은, 상기 제 2 조건과 관련한 사용자 입력을 수신하는 것, 또는 상기 사용자의 제스처를 지정된 횟수 이상으로 반복하여 인식하지 못하는 상태를 감지하는 것을 포함할 수 있다.
일 실시예에 따른 전자 장치(101)의 방법은, 사용자에게 AR(augmented reality) 이미지를 제공하기 위한 제 1 어플리케이션을 실행하는 동작, 상기 제 1 어플리케이션의 실행에 기반하여, 제 1 AI(artificial intelligence) 모델을 선택하는 동작, 적어도 하나의 센서 모듈(176)로부터 상기 사용자의 손과 관련한 제 1 데이터를 획득하는 동작, 상기 제 1 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작, 상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용(interaction) 여부를 결정하는 동작, 및 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용이 있는 것으로 결정한 것에 기반하여, 제 2 AI 모델을 선택하는 동작, 상기 적어도 하나의 센서 모듈(176)로부터 상기 사용자의 손과 관련한 제 2 데이터를 획득하는 동작, 및 상기 제 2 AI 모델을 이용하여 상기 제 2 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작을 포함하고, 상기 제 1 AI 모델은 특정 시간 기간 동안 제 1 연산량을 처리하는 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 상기 제 1 연산량보다 많은 제 2 연산량을 처리하는 AI 모델인, 방법.
일 실시예에 따르면, 상기 제 1 AI 모델은 상기 특정 시간 기간 동안 제 1 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 제 2 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델인, 방법.
일 실시예에 따르면, 상기 제 2 AI 모델에 의해 소모되는 상기 프로세서(120)의 리소스 사용량은, 상기 제 1 AI 모델에 의해 소모되는 상기 프로세서(120)의 리소스 사용량보다 많은, 방법.
일 실시예에 따른 전자 장치(101)의 방법은, 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손의 제스처를 결정하는 동작, 상기 결정된 제스처가 지정된 제스처인지 확인하는 동작, 및 상기 결정된 제스처가 지정된 제스처이면, 상기 상호작용이 있는 것으로 결정하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 지정된 제스처는 상기 적어도 하나의 오브젝트에 대한 포인팅 제스처를 포함할 수 있다.
일 실시예에 따르면, 상기 지정된 제스처는 상기 적어도 하나의 오브젝트에 대한 핀치 제스처를 포함할 수 있다.
일 실시예에 따른 전자 장치(101)의 방법은, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정된 오브젝트인지 확인하는 동작, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정되지 않은 오브젝트이면, 상기 상호작용이 없는 것으로 결정하는 동작, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정된 오브젝트이면, 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 긴지 확인하는 동작, 및 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 길면, 상기 상호작용이 없는 것으로 결정하는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치(101)의 방법은, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정된 오브젝트인지 확인하는 동작, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정되지 않은 오브젝트이면, 상기 상호작용이 없는 것으로 결정하는 동작, 상기 적어도 하나의 오브젝트가 상호작용하도록 설정된 오브젝트이면, 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 긴지 확인하는 동작, 및 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 길면, 상기 상호작용이 없는 것으로 결정하는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치(101)의 방법은, 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 짧거나 같으면, 상기 상호작용이 있는 것으로 결정하는 동작을 포함할 수 있다.
본 개시의 일 실시예에 따른 전자 장치 및 방법은 사용자의 손을 감지하는 동작을 수행할 때, 적응적으로 연산량을 조정함으로써 불필요한 리소스 사용을 줄여 시스템의 효율성을 높일 수 있다.
본 개시의 일 실시예에 따른 전자 장치 및 방법은 사용자의 손을 감지하는 동작을 수행할 때, 적응적으로 연산량을 조정함으로써 소비 전력을 절감할 수 있다.
본 개시 내용이 그의 다양한 실시 양태를 참조하여 도시되고 설명되었지만, 다음과 같은 개시내용의 사상 및 범위를 벗어나지 않으면서 형태 및 세부사항의 다양한 변경이 이루어질 수 있다는 것이 당업자에 의해 이해될 것이다. 첨부된 청구범위 및 그 등가물에 의해 정의된다.
Claims (15)
- 전자 장치에 있어서,사용자의 손을 감지하는 적어도 하나의 센서 모듈; 및상기 적어도 하나의 센서 모듈과 작동적으로 연결된 프로세서를 포함하고,상기 프로세서는,상기 사용자에게 AR(augmented reality) 이미지를 제공하기 위한 제 1 어플리케이션을 실행하고,상기 제 1 어플리케이션의 실행에 기반하여, 제 1 AI(artificial intelligence) 모델을 선택하고,상기 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 1 데이터를 획득하고,상기 제 1 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하고,상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용(interaction) 여부를 결정하고,상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용이 있는 것으로 결정한 것에 기반하여, 제 2 AI 모델을 선택하고,상기 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 2 데이터를 획득하고, 및상기 제 2 AI 모델을 이용하여 상기 제 2 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하고,상기 제 1 AI 모델은 특정 시간 기간 동안 제 1 연산량을 처리하는 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 상기 제 1 연산량보다 많은 제 2 연산량을 처리하는 AI 모델인,전자 장치.
- 제 1 항에 있어서,상기 제 1 AI 모델은 상기 특정 시간 기간 동안 제 1 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델이고,상기 제 2 AI 모델은 상기 특정 시간 기간 동안 제 2 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델이고,상기 제 2 AI 모델에 의해 소모되는 상기 프로세서의 리소스 사용량은, 상기 제 1 AI 모델에 의해 소모되는 상기 프로세서의 리소스 사용량보다 많은,전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손의 제스처를 결정하고,상기 결정된 제스처가 지정된 제스처인지 확인하고, 및상기 결정된 제스처가 지정된 제스처이면, 상기 상호작용이 있는 것으로 결정하는,전자 장치.
- 제 3 항에 있어서,상기 지정된 제스처는 상기 적어도 하나의 오브젝트에 대한 포인팅 제스처를 포함하는,전자 장치.
- 제 3 항에 있어서,상기 지정된 제스처는 상기 적어도 하나의 오브젝트에 대한 핀치 제스처를 포함하는,전자 장치.
- 제 1 항 또는 제 3 항에 있어서,상기 프로세서는,상기 적어도 하나의 오브젝트가 상호작용하도록 설정된 오브젝트인지 확인하고,상기 적어도 하나의 오브젝트가 상호작용하도록 설정되지 않은 오브젝트이면, 상기 상호작용이 없는 것으로 결정하고,상기 적어도 하나의 오브젝트가 상호작용하도록 설정된 오브젝트이면, 상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 긴지 확인하고,상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 길면, 상기 상호작용이 없는 것으로 결정하는,전자 장치.
- 제 6 항에 있어서,상기 프로세서는,상기 사용자의 손의 위치와 상기 적어도 하나의 오브젝트 간의 거리가 지정된 거리보다 짧거나 같으면, 상기 상호작용이 있는 것으로 결정하는,전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 제 1 AI 모델 또는 상기 제 2 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동안에, 상기 전자 장치가 지정된 제 1 조건을 충족하는지 확인하고, 및상기 제 1 조건을 충족하면, 고정적으로 상기 제 1 AI 모델을 이용하여 상기 사용자의 손을 추적하는 제 1 고정 모드를 활성화하는,전자 장치.
- 제 8 항에 있어서,상기 제 1 조건은,상기 제 1 조건과 관련한 사용자 입력을 수신하는 것, 또는배터리 잔량이 임계값보다 낮은 상태를 감지하는 것을 포함하는,전자 장치.
- 제 1 항에 있어서,상기 프로세서는,상기 제 1 AI 모델 또는 상기 제 2 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동안에, 상기 전자 장치가 지정된 제 2 조건을 충족하는지 확인하고, 및상기 제 2 조건을 충족하면, 고정적으로 상기 제 2 AI 모델을 이용하여 상기 사용자의 손을 추적하는 제 2 고정 모드를 활성화하는,전자 장치.
- 제 10 항에 있어서,상기 제 1 조건은,상기 제 2 조건과 관련한 사용자 입력을 수신하는 것, 또는상기 사용자의 제스처를 지정된 횟수 이상으로 반복하여 인식하지 못하는 상태를 감지하는 것을 포함하는,전자 장치.
- 전자 장치의 방법에 있어서,사용자에게 AR(augmented reality) 이미지를 제공하기 위한 제 1 어플리케이션을 실행하는 동작,상기 제 1 어플리케이션의 실행에 기반하여, 제 1 AI(artificial intelligence) 모델을 선택하는 동작,적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 1 데이터를 획득하는 동작,상기 제 1 AI 모델을 이용하여 상기 제 1 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작,상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용(interaction) 여부를 결정하는 동작, 및상기 사용자의 손과 상기 AR 이미지에 포함된 적어도 하나의 오브젝트 간의 상호작용이 있는 것으로 결정한 것에 기반하여, 제 2 AI 모델을 선택하는 동작,상기 적어도 하나의 센서 모듈로부터 상기 사용자의 손과 관련한 제 2 데이터를 획득하는 동작, 및상기 제 2 AI 모델을 이용하여 상기 제 2 데이터를 연산하는 것에 의해 상기 사용자의 손의 위치 및 상기 손 관절의 형태를 확인하는 동작을 포함하고,상기 제 1 AI 모델은 특정 시간 기간 동안 제 1 연산량을 처리하는 AI 모델이고, 상기 제 2 AI 모델은 상기 특정 시간 기간 동안 상기 제 1 연산량보다 많은 제 2 연산량을 처리하는 AI 모델인,방법.
- 제 12 항에 있어서,상기 제 1 AI 모델은 상기 특정 시간 기간 동안 제 1 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델이고,상기 제 2 AI 모델은 상기 특정 시간 기간 동안 제 2 FPS(frame per second)의 이미지 데이터를 처리하도록 구성된 AI 모델이고,상기 제 2 AI 모델에 의해 소모되는 상기 프로세서의 리소스 사용량은, 상기 제 1 AI 모델에 의해 소모되는 상기 프로세서의 리소스 사용량보다 많은,방법.
- 제 12 항에 있어서,상기 제 1 AI 모델을 이용하여 확인된 사용자의 손의 위치 및 손 관절에 기반하여, 상기 사용자의 손의 제스처를 결정하는 동작,상기 결정된 제스처가 지정된 제스처인지 확인하는 동작, 및상기 결정된 제스처가 지정된 제스처이면, 상기 상호작용이 있는 것으로 결정하는 동작을 포함하는,방법.
- 제 14 항에 있어서,상기 지정된 제스처는 상기 적어도 하나의 오브젝트에 대한 포인팅 제스처를 포함하는,방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0123591 | 2022-09-28 | ||
KR20220123591 | 2022-09-28 | ||
KR1020220147215A KR20240044289A (ko) | 2022-09-28 | 2022-11-07 | 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법 |
KR10-2022-0147215 | 2022-11-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024071718A1 true WO2024071718A1 (ko) | 2024-04-04 |
Family
ID=90478374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/013339 WO2024071718A1 (ko) | 2022-09-28 | 2023-09-06 | 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024071718A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190059726A (ko) * | 2017-11-23 | 2019-05-31 | 한길씨앤씨 주식회사 | 가상현실 환경에서의 사용자와 객체 간 상호 작용 처리 방법 |
JP2021012553A (ja) * | 2019-07-08 | 2021-02-04 | 株式会社東芝 | 推論装置、学習装置、推論方法及び学習方法 |
KR20210069491A (ko) * | 2019-12-03 | 2021-06-11 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
KR102305403B1 (ko) * | 2020-09-02 | 2021-09-29 | 주식회사 피앤씨솔루션 | 깊이 영상을 이용한 착용형 증강현실 장치의 손동작 검출 방법 및 깊이 영상을 이용한 손동작 검출이 가능한 착용형 증강현실 장치 |
KR20220118047A (ko) * | 2021-02-18 | 2022-08-25 | 삼성전자주식회사 | 어플리케이션의 모델 파일을 초기화하는 프로세서 및 이를 포함하는 전자 장치 |
-
2023
- 2023-09-06 WO PCT/KR2023/013339 patent/WO2024071718A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190059726A (ko) * | 2017-11-23 | 2019-05-31 | 한길씨앤씨 주식회사 | 가상현실 환경에서의 사용자와 객체 간 상호 작용 처리 방법 |
JP2021012553A (ja) * | 2019-07-08 | 2021-02-04 | 株式会社東芝 | 推論装置、学習装置、推論方法及び学習方法 |
KR20210069491A (ko) * | 2019-12-03 | 2021-06-11 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
KR102305403B1 (ko) * | 2020-09-02 | 2021-09-29 | 주식회사 피앤씨솔루션 | 깊이 영상을 이용한 착용형 증강현실 장치의 손동작 검출 방법 및 깊이 영상을 이용한 손동작 검출이 가능한 착용형 증강현실 장치 |
KR20220118047A (ko) * | 2021-02-18 | 2022-08-25 | 삼성전자주식회사 | 어플리케이션의 모델 파일을 초기화하는 프로세서 및 이를 포함하는 전자 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022065722A1 (ko) | 외부 물체에 대한 알림을 디스플레이하는 전자 장치 및 그 방법 | |
WO2022098204A1 (ko) | 가상현실 서비스를 제공하는 전자 장치 및 방법 | |
WO2023017986A1 (ko) | 영상 데이터 및 오디오 데이터 출력 방법 및 전자 시스템 | |
WO2024071718A1 (ko) | 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법 | |
WO2024071681A1 (ko) | 이미지를 제공하는 방법 및 이를 지원하는 웨어러블 전자 장치 | |
WO2024085436A1 (ko) | 진동을 제공하는 방법 및 이를 지원하는 웨어러블 전자 장치 | |
WO2023229199A1 (ko) | 전자 장치의 화면 표시 모드를 결정하는 동작 방법 및 전자 장치 | |
WO2024043681A1 (ko) | 전자 장치의 화면을 확장 현실 환경으로 변환하는 머리 착용형 전자 장치 및 그와 연결된 전자 장치 | |
WO2024049005A1 (ko) | 비네팅 기능을 수행하는 방법 및 이를 지원하는 웨어러블 전자 장치 | |
WO2022255625A1 (ko) | 영상 통화 중 다양한 커뮤니케이션을 지원하는 전자 장치 및 그의 동작 방법 | |
WO2024025126A1 (ko) | 웨어러블 전자 장치 및 그 동작 방법 | |
WO2024117515A1 (ko) | 시나리오 컨텍스트에 따른 렌더링 이미지를 생성하기 위한 전자 장치 및 방법 | |
WO2023048466A1 (ko) | 전자 장치 및 컨텐츠 표시 방법 | |
WO2024155171A1 (ko) | 조작 입력을 전송하는 헤드 마운트 장치 및 그의 동작 방법 | |
WO2022211514A1 (ko) | 증강 현실 이미지를 제공하는 방법 및 이를 지원하는 헤드 마운티드 디스플레이 장치 | |
WO2024063253A1 (ko) | 카메라로부터 획득한 이미지 내에 포함된 복수의 영역들 각각의 해상도들을 제어하기 위한 전자 장치 및 그 방법 | |
WO2024076058A1 (ko) | 센서를 포함하는 웨어러블 전자 장치 및 이의 동작 방법 | |
WO2023120892A1 (ko) | 글린트를 이용한 시선 추적에서 광원을 제어하는 장치 및 방법 | |
WO2024043519A1 (ko) | 복수의 디스플레이들을 제어하는 방법 및 이를 지원하는 전자 장치 | |
WO2024080583A1 (ko) | 이미지를 활용한 ar 정보 제공 방법 및 전자 장치 | |
WO2024122999A1 (ko) | 가상 공간에서 사용자 입력을 식별하기 위한 전자 장치 및 방법 | |
WO2024106796A1 (ko) | 오디오 설정을 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치 | |
WO2024058434A1 (ko) | 사용자의 외부 환경을 촬영하는 컨트롤 장치 및 그 동작 방법 및 컨트롤 장치와 연결된 머리 착용형 전자 장치 | |
WO2023080419A1 (ko) | 비전 정보를 이용하여 전자기기를 제어하는 웨어러블 전자 장치 및 방법 | |
WO2024101747A1 (ko) | 카메라를 포함하는 웨어러블 전자 장치 및 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23872838 Country of ref document: EP Kind code of ref document: A1 |