WO2024071684A1 - 영상 통화를 제공하는 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법 - Google Patents
영상 통화를 제공하는 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법 Download PDFInfo
- Publication number
- WO2024071684A1 WO2024071684A1 PCT/KR2023/012326 KR2023012326W WO2024071684A1 WO 2024071684 A1 WO2024071684 A1 WO 2024071684A1 KR 2023012326 W KR2023012326 W KR 2023012326W WO 2024071684 A1 WO2024071684 A1 WO 2024071684A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- image
- reflector
- electronic device
- call
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 95
- 238000004891 communication Methods 0.000 claims abstract description 55
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 32
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 230000001815 facial effect Effects 0.000 description 65
- 238000000605 extraction Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 36
- 230000006641 stabilisation Effects 0.000 description 31
- 238000011105 stabilization Methods 0.000 description 31
- 238000001514 detection method Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 239000000284 extract Substances 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 230000003190 augmentative effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 230000008921 facial expression Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000009434 installation Methods 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
- 230000000306 recurrent effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004364 calculation method Methods 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
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
Definitions
- the disclosure below relates to a wearable electronic device that provides video calling and a method of operating the wearable electronic device.
- Wearable electronic devices such as virtual reality (VR) devices, augmented reality devices, and/or mixed reality (MR) devices
- VR virtual reality
- MR mixed reality
- Wearable electronic devices are worn on the user's head or eyes, for example, a head mounted display (HMD), and therefore include an external lens that allows the user to view objects nearby or capture objects facing them. It may take the form of sunglasses or goggles.
- HMD head mounted display
- the wearable electronic device in response to execution of an application for a video call on the wearable electronic device, includes a camera module for acquiring a real-world image around the user, detecting a reflector from the real-world image, and By calculating location information of the reflector including distance and direction from the image of the area corresponding to the reflector, and controlling the output device to provide guidance for the user to move to the location of the reflector according to the location information, It may include a processor that generates a video for the user's call to be transmitted to the other party of the video call, and a communication module that transmits the video for the user's call.
- a method of operating a wearable electronic device includes acquiring a real-world image around the user in response to execution of an application for video calling on the wearable electronic device, detecting a reflector from the real-world image, and detecting a reflector from the real-world image.
- it may include an operation of generating a video for the user's call to be transmitted to the other party of the video call.
- FIG. 1 is a block diagram illustrating the configuration of an electronic device in a network environment according to an embodiment.
- Figure 2 is a block diagram illustrating a program according to one embodiment.
- Figure 3 is a block diagram of a wearable electronic device according to an embodiment.
- FIG. 4 is a diagram illustrating the configuration of a video call application running on a wearable electronic device according to an embodiment.
- FIG. 5 is a diagram illustrating a process for detecting a reflector from a real-world image according to an embodiment.
- Figure 6 is a diagram for explaining the operation of a video stabilization module of a video call application according to an embodiment.
- Figure 7 is a diagram for explaining the operation of a face reproduction module of a video call application according to an embodiment.
- FIG. 8 is a diagram illustrating a method of making a video call by a user wearing a wearable electronic device according to an embodiment.
- FIG. 9 is a diagram illustrating a method of making a video call by a user wearing a wearable electronic device according to an embodiment.
- FIG. 10 is a diagram illustrating a method of making a video call by a user wearing a wearable electronic device according to an embodiment.
- Figure 11 is a flowchart showing a method of operating a wearable electronic device according to an embodiment.
- Figure 12 is a flowchart showing a method of calculating location information from an image of an area corresponding to a reflector reflected on a reflector according to an embodiment.
- Figure 13 is a flowchart showing a method of generating a video for a user's call sent to the other party of a video call, according to an embodiment.
- Figure 14 is a flowchart showing a method of operating a wearable electronic device according to an embodiment.
- FIG. 15 is a diagram illustrating a method of performing a video call between a sender terminal and a recipient terminal using a video call application according to an embodiment.
- FIG. 16 is a diagram illustrating a method of performing a video call between a sender terminal and a recipient terminal using a video call application according to an embodiment.
- FIG. 17 is a diagram illustrating a method of performing a video call between a sender terminal on which a video call application is installed and a recipient terminal on which another video call application is installed, according to an embodiment.
- FIG. 18 is a diagram illustrating a method of performing a video call between a recipient terminal on which a video call application is installed and a sender terminal on which a voice call application is installed, according to an embodiment.
- FIG. 1 is a block diagram illustrating the configuration of an electronic device in a network environment according to an embodiment.
- 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 second network 199.
- 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 signals or power to or receive signals or power from the outside (e.g., 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
- the antenna module 197 may form a mmWave antenna module.
- 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 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)
- 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.
- Figure 2 is a block diagram 200 illustrating program 140 according to one embodiment.
- the program 140 includes an operating system 142, middleware 144, or an application 146 executable on the operating system 142 for controlling one or more resources of the electronic device 101. It can be included.
- Operating system 142 may include, for example, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, or BadaTM.
- At least some of the programs 140 are preloaded into the electronic device 101, for example, at the time of manufacture, or are stored in an external electronic device (e.g., the electronic device 102 or 104, or a server) when used by a user. It can be downloaded or updated from 108)).
- an external electronic device e.g., the electronic device 102 or 104, or a server
- the operating system 142 may control management (eg, allocation or retrieval) of one or more system resources (eg, process, memory, or power) of the electronic device 101 .
- Operating system 142 may additionally or alternatively operate on other hardware devices of electronic device 101, such as input module 150, audio output module 155, display module 160, and audio module 170. , sensor module 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or It may include one or more driver programs for driving the antenna module 197.
- the middleware 144 may provide various functions to the application 146 so that functions or information provided from one or more resources of the electronic device 101 can be used by the application 146.
- the middleware 144 includes, for example, an application manager 201, a window manager 203, a multimedia manager 205, a resource manager 207, a power manager 209, a database manager 211, and a package manager 213. ), connectivity manager (215), notification manager (217), location manager (219), graphics manager (221), security manager (223), call manager (225), or voice recognition manager (227). You can.
- the application manager 201 may, for example, manage the life cycle of the application 146.
- the window manager 203 may, for example, manage one or more GUI resources used on the screen.
- the multimedia manager 205 identifies one or more formats required for playing media files, and encodes or decodes the corresponding media file using a codec suitable for the selected format. It can be done.
- the resource manager 207 may, for example, manage the source code of the application 146 or the memory space of the memory 130.
- the power manager 209 manages, for example, the capacity, temperature, or power of the battery 189, and may use this information to determine or provide related information necessary for the operation of the electronic device 101. . According to one embodiment, the power manager 209 may interface with a basic input/output system (BIOS) (not shown) of the electronic device 101.
- BIOS basic input/output system
- Database manager 211 may create, search, or change a database to be used by application 146, for example.
- the package manager 213 may, for example, manage the installation or update of applications distributed in the form of package files.
- the connectivity manager 215 may manage, for example, a wireless connection or direct connection between the electronic device 101 and an external electronic device.
- the notification manager 217 may provide a function for notifying the user of the occurrence of a designated event (eg, an incoming call, message, or alarm).
- the location manager 219 may, for example, manage location information of the electronic device 101.
- the graphics manager 221 may, for example, manage one or more graphic effects to be provided to the user or a user interface related thereto.
- Security manager 223 may provide, for example, system security or user authentication.
- the telephony manager 225 may manage, for example, a voice call function or a video call function provided by the electronic device 101.
- the call manager 225 can manage functions related to a video call application, which will be described later.
- the voice recognition manager 227 transmits the user's voice information to the server 108 and provides a command corresponding to a function to be performed in the electronic device 101 based at least in part on the voice information, Alternatively, text data converted based at least in part on the voice information may be received from the server 108.
- the middleware 244 may dynamically delete some existing components or add new components.
- at least a portion of the middleware 144 may be included as part of the operating system 142 or may be implemented as separate software different from the operating system 142.
- the application 146 includes, for example, home 251, dialer 253, SMS/MMS (255), instant message (IM) 257, browser 259, camera 261, and alarm 263. , Contacts (265), Voice Recognition (267), Email (269), Calendar (271), Media Player (273), Album (275), Watch (277), Health (279) (such as exercise amount or blood sugar) It may include applications that measure biometric information) or environmental information 281 (e.g., measure atmospheric pressure, humidity, or temperature information). According to one embodiment, the application 146 may further include an information exchange application (not shown) that can support information exchange between the electronic device 101 and an external electronic device.
- an information exchange application not shown
- the information exchange application may include, for example, a notification relay application configured to deliver designated information (e.g., calls, messages, or alarms) to an external electronic device, or a device management application configured to manage the external electronic device.
- the notification relay application for example, transmits notification information corresponding to a specified event (e.g., mail reception) generated in another application (e.g., email application 269) of the electronic device 101 to an external electronic device. You can. Additionally or alternatively, the notification relay application may receive notification information from an external electronic device and provide it to the user of the electronic device 101.
- the device management application controls the power (e.g., turn-on or turn-off) of an external electronic device or some component thereof (e.g., a display module or camera module of the external electronic device) that communicates with the electronic device 101. ) or functions (such as brightness, resolution, or focus).
- a device management application may additionally or alternatively support installation, deletion, or update of applications running on external electronic devices.
- the application 146 may further include a video call application, which will be described later.
- 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 electronic devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.
- first, second, or first or second may be used simply to distinguish one element from another, and may be used to distinguish such elements in other respects, such as 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”.
- any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
- module used in embodiments of this document 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
- One embodiment of this document is 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 of FIG. 1). It may be implemented as software (e.g., program 140) including one or more instructions.
- 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.
- the method according to the embodiments disclosed in this document may be provided and included 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 through an application store (e.g. Play StoreTM) 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 above-described corresponding components or operations 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.
- FIG. 3 is a block diagram of a wearable electronic device according to an embodiment.
- a wearable electronic device 300 e.g., electronic device 101 of FIG. 1 according to an embodiment includes a camera module 310 (e.g., camera module 180 of FIG. 1) and a processor ( 330) (e.g., the processor 120 of FIG. 1), and a communication module 350 (e.g., the communication module 190 of FIG. 1).
- the wearable electronic device 300 may further include an input module 370 (e.g., input module 150 of FIG. 1) and a memory 390 (e.g., memory 130 of FIG. 1).
- the wearable electronic device 300 may correspond to an electronic device that a user can wear on the head or face, such as a head mounted display (HMD), but is not necessarily limited thereto.
- Head-mounted displays can make users feel virtual images as if they were real through vivid images, videos, and voices.
- the camera module 310 captures real-world images around the user (e.g., the real-world image of FIG. 5). Obtain (510, 530, 550)).
- the user may be a user wearing a wearable electronic device 300 on which the video call application 400 is installed.
- Real-world images 510, 530, and 550 may include, for example, various objects (eg, a user and/or the environment around the user) included within the range of the lens field of view of the camera module 310.
- the processor 330 may detect reflectors from real-world images 510, 530, and 550 acquired through the camera module 310.
- a 'reflector' is an object that receives and reflects light, and may correspond to an object that has a reflectivity above a certain level that can reflect the image of the object reflected on the reflective surface.
- Reflectors are, for example, images of surrounding objects, such as surrounding objects or scenery, such as reflectors (e.g., helmets, mirrors, and/or glass) included in the real-world images 510, 530, and 550 of FIG. 5 below. It may correspond to a smooth surface, curved surface, shiny metal, glass, display screen, and/or mirror that reflects the image, and there may be no restrictions on its material or shape.
- the processor 330 may perform a video call using the user's call video generated in response to the user's voice information.
- a method by which the processor 330 generates an image for a user's call in response to the user's voice information will be described later with reference to the voice-face feature conversion module 451 of FIG. 4 below.
- the processor 330 may calculate the position information of the reflector including the distance and direction from the image of the area corresponding to the reflector among the real-world images 510, 530, and 550. For example, the processor 330 may check the direction in which the reflector is located from the reflector detected in the real-world images 510, 530, and 550. Additionally, the processor 330 may check the distance to the reflector based on, for example, an image sensor or a time of flight (ToF) sensor. ToF sensors can emit infrared rays that are reflected back from objects (e.g. reflectors). The processor 330 can measure the distance to an object by the difference between the time when infrared rays are emitted from the ToF sensor and the time when the infrared rays are reflected by the object (reflector) and returned to the sensor.
- ToF sensors can emit infrared rays that are reflected back from objects (e.g. reflectors).
- the processor 330 can measure the distance to an
- 'image of the area corresponding to the reflector' may correspond to an image captured by the camera module 310 of the image reflected on the reflector.
- the image of the area corresponding to the reflector may include not only the user but also object(s) around the user.
- the processor 330 may determine whether the image of the area corresponding to the reflector includes at least a part of the user's body, including the face. For example, the processor 330 may use the face recognition module 420 and/or the body recognition module 430 of the video call application 400, which will be described later with reference to FIG. 4 below, to display the image of the area corresponding to the reflector to the user. It may be determined whether the user's face and/or at least a body part is included.
- the processor 330 determines that the real-world images 510, 530, and 550 captured by the camera module 310 by the face recognition module 420 and/or the image of the area corresponding to the reflector include the user's face. You can decide whether to do it or not. If it is determined that the real-world images 510, 530, and 550 do not contain the user's face, the processor 330 processes the user's voice information in response to the user's face until the user's face is detected from the real-world images 510, 530, and 550. You can make a video call using the user's call video you created.
- the processor 330 determines that the image of the area corresponding to the reflector includes at least a part of the user's body, including the face, and displays real-world images 510, 530, and 550 acquired using the camera module 310.
- an image for a user's call can be created using the image of the area corresponding to the user's reflector.
- the processor 330 Upon determining that the image of the area corresponding to the reflector does not include at least a body part of the user, the processor 330 detects the reflector based on the user's position in the three-dimensional space, the viewing angle of the camera module 310, and the position of the reflector.
- the position information of the reflector can be calculated from the image of the area corresponding to .
- the viewing angle of the camera module 310 may include, for example, 6 degrees of freedom (DoF).
- DoF degrees of freedom
- the processor 330 estimates 3D information using the change in relative position to provide position information of the reflector including distance and direction. It can be calculated. At this time, initial values such as calibration information and focal length of the camera module 310 may be given in advance.
- the processor 330 controls an output device (e.g., the sound output module 155 and/or the display module 160 in FIG. 1) to provide guidance for the user to move to the location of the reflector according to the location information, thereby displaying the image. You can create a video for your call to be transmitted to the other party on the call.
- the 'position of the reflector' may correspond to a position within a range where the user's image can be reflected on the reflector. For example, if a reflector is detected from the real-world images 510, 530, and 550, but the user is not detected in the image of the area corresponding to the reflector where the object reflected in the reflector is captured, the processor 330 may detect the object reflected in the reflector according to the location information.
- the user can be guided to move to a location where the user's appearance can be reflected in the reflector so that the image of the area corresponding to the reflector includes the user's face or body part.
- Guidance may be provided in voice form, for example, through an audio module (e.g., the sound output module 155 of FIG. 1), or through a display module of the wearable electronic device 300 (e.g., the display module of FIG. 1). It may be provided in text form on the screen of 160)), but is not necessarily limited to this. Instructions may be, for example, “Please move to the right at 11 o’clock towards the mirror 1 meter away.” Alternatively, you can include phrases that guide the direction and distance of movement to the reflector, such as "Please take a step to the left of the mirror.”
- the processor 330 may acquire an image of the area corresponding to the reflector where the user who moved to the location of the reflector according to the guidance captured the image reflected on the reflector.
- the processor 330 may generate an image for a user's call using the image of the area corresponding to the reflector.
- the processor 330 may use the image of the area corresponding to the reflector and/or the real world image as is for the user's call, depending on the user's settings, or the image of the area corresponding to the reflector and/or the real world may be used as the image for the user's call.
- the reconstructed image reconstructed using the video can also be used as the video for the user's call.
- the processor 330 may, for example, determine the user's selection of how to present the user's video for the call to be transmitted to the other party of the video call, and/or reflect the user's face and at least a portion of the user's body by the camera module 310. Depending on whether the video of the corresponding area is acquired, the video for the user's call to be transmitted to the other party of the video call can be generated differently.
- the processor 330 receives the user's selection of how to express the video for the call through a user interface (UI) provided by the input module 370 and generates the video for the call.
- UI user interface
- a video for a call can be created according to the initial settings.
- the user's selection is, for example, a first choice of determining the image of the area corresponding to the reflector as the image for the user's call, and determining the reconstructed image reconstructed using the image of the area corresponding to the reflector as the image for the user's call. It may include at least one of a second selection, and a third selection of determining a graphic object reconstructed using the image of the area corresponding to the reflector as the image for the user's call, but is not necessarily limited thereto.
- the user may set the real world images 510, 530, and 550 to be used as images for the user's call.
- a 'graphic object' may correspond to, for example, an object that visualizes and expresses various types of data.
- Graphic objects may include, for example, avatars resembling the user's face and/or body, animals, dolls, characters such as cartoon characters, and/or dynamic emojis, but are not necessarily limited thereto.
- the processor 330 may determine the image of the area corresponding to the reflector captured by the camera module 310 as the image for the user's call. .
- the processor 330 may generate a reconstructed image in which the user's appearance is reconstructed using the image of the area corresponding to the reflector. For example, the processor 330 compares the image of the area corresponding to the reflector with the user's image previously stored in the memory 390 ('pre-stored image'), and determines which of the pre-stored images the image of the area corresponding to the reflector is. You can check whether it corresponds to the part. The processor 330 may update ('direct update') the portion corresponding to the image of the area corresponding to the reflector in the previously stored image by the image of the area corresponding to the reflector.
- 'direct update' may refer to an update performed by directly using the image of the area corresponding to the reflector.
- the processor 330 selects the portion that does not correspond to the image of the area corresponding to the reflector in the pre-stored image by, for example, an image predicted by a neural network or an image warped by the image of the area corresponding to the reflector.
- a reconstructed image can be created by updating ('indirect update').
- 'indirect update' may refer to an update performed using an image generated based on the image of the area corresponding to the reflector, rather than directly using the image of the area corresponding to the reflector.
- the processor 330 may determine the reconstructed image as the image for the user's call. At this time, the 'reconstructed image' may correspond to an image reconstructed so that, for example, the entire face of the user, or part of the user's body, such as the entire upper body of the user, is visible without being obscured.
- the processor 330 may generate a graphic object corresponding to the image or reconstructed image of the area corresponding to the reflector. For example, when the user's face and/or the user's body included in the image of the area corresponding to the reflector are all visible without any obscured parts, the processor 330 generates a graphic object corresponding to the image of the area corresponding to the reflector. can do. On the other hand, when the user's face and/or part of the user's body included in the image of the area corresponding to the reflector is occluded, the processor 330 determines that the user's appearance is occluded by the image of the area corresponding to the reflector.
- a graphic object corresponding to the reconstructed image can be created so that it appears without it.
- the processor 330 may determine the graphic object as an image for a user's call.
- a method by which the processor 330 generates a reconstructed image will be described later with reference to the image stabilization module 440 of FIG. 4 below. Additionally, the method by which the processor 330 creates a graphic object will be described later with reference to the avatar creation module 450 of FIG. 4 below.
- the communication module 350 may transmit the user's call video generated by the processor 330 to the terminal of the other party of the call ('receiver'). Additionally, the communication module 350 may receive a video for a call of the recipient transmitted from the terminal of the other party to the call, and/or a video for the call of the sender generated from the terminal of the other party to the call.
- the input module 370 may receive the user's selection of a video for a call. For example, when a video call application, which will be described later with reference to FIG. 4 , is installed on a wearable electronic device, the input module 370 may receive the user's selection of which image to use as the call video as an initial setting. Alternatively, the input module 370 may receive the user's selection of which video to use as the video call when the video call application is running.
- the memory 390 may include the user's pre-stored images.
- the memory 390 may store at least one program including a voice call application 400, which will be described later. Additionally, the memory 390 can store various information generated during processing by the processor 330. In addition, the memory 390 can store various data and programs.
- the memory 390 may include volatile memory (e.g., volatile memory 132 of FIG. 1) or non-volatile memory (e.g., non-volatile memory 134 of FIG. 1).
- the memory 390 may be equipped with a high-capacity storage medium such as a hard disk to store various data.
- the processor 330 may perform at least one method or a technique corresponding to at least one method related to the wearable electronic device 300 described with reference to FIGS. 1 to 18 .
- the processor 330 may be an electronic device implemented as hardware having a circuit with a physical structure for executing desired operations.
- the intended operations may include code or instructions included in the program.
- the wearable electronic device 300 implemented as hardware includes a microprocessor, a central processing unit (CPU), a graphic processing unit (GPU), a processor core, It may include a multi-core processor, multiprocessor, application-specific integrated circuit (ASIC), field programmable gate array (FPGA), and/or neural processing unit (NPU).
- FIG. 4 is a diagram illustrating the configuration of a video call application running on a wearable electronic device according to an embodiment.
- a video call application e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3 installed and/or driven according to an embodiment.
- 400 may include modules such as a reflector detection module 410, a face recognition module 420, a body recognition module 430, an image stabilization module 440, and an avatar creation module 450.
- the operations of the modules of the video call application 400 may be performed by the processor 330 of the wearable electronic device 300.
- the reflector detection module 410 detects images acquired through a camera module (e.g., the camera module 180 of FIG. 1 and/or the camera module 310 of FIG. 3) included in the wearable electronic device 300 (e.g., the user).
- the reflector area including the reflector can be obtained from the surrounding real-world image, and the reflector can be detected in the reflector area.
- the reflector detection module 410 may detect reflectors using publicly available techniques for detecting reflectors (e.g., “Where Is My Mirror?”, Yang et al., 2019), but is not necessarily limited thereto. No. An image of an area corresponding to the reflector detected by the reflector detection module 410 may be captured by the camera module 310. The method by which the reflector detection module 410 detects a reflector will be described with reference to FIG. 5 below.
- the face recognition module 420 may recognize the user's face reflected in the reflector area detected by the reflector detection module 410.
- the face recognition module 420 detects a face included in an image captured by the camera module 310 (e.g., an image of an area corresponding to a reflector) and detects features such as eyes, eyebrows, nose, and/or mouth in the face. Landmarks can be detected.
- the face recognition module 420 may recognize whether the face detected in the reflector area is the user's face by extracting feature points from landmarks and comparing whether the extracted feature points match pre-stored user facial feature points.
- the body recognition module 430 may recognize at least part of the body excluding the user's face reflected in the reflector area detected by the reflector detection module 410.
- the body recognition module 430 may recognize and detect at least a body part included in an image captured by the camera module 310 (eg, an image of an area corresponding to a reflector).
- the body recognition module 430 may detect at least a part of the user's body included in the captured image in the same manner as the face recognition module 420.
- the detection results of each of the face recognition module 420 and the body recognition module 430 may be coordinate values of a rectangle (eg, bounding box) including the face and at least a part of the body.
- a rectangle eg, bounding box
- Various publicly available face and/or body recognition technologies may be used to recognize the target object (e.g., face, body) of each of the face recognition module 420 and the body recognition module 430.
- the face recognition module 420 and/or the body recognition module 430 recognizes the face and/or the face at the occluded location based on the already acquired face or body part even if the face or body part is obscured for a certain period of time.
- an image of the body can be estimated.
- the image stabilization module 440 may generate a stabilized image to be transmitted to the other party of the video call based on the image of the area corresponding to the reflector obtained from the reflector area.
- 'stabilized image' can be understood as, for example, an image reconstructed by resolving not only the tremor or blur of the image, but also the occlusion of part of the image through various image processing techniques.
- the image stabilization module 440 provides video for a user's call in response to shaking of the image or occlusion of the face and/or body by a reflector based on the recognition results of the image, face, and/or body.
- the user's appearance to be displayed can be reliably reconstructed.
- the image stabilization module 440 uses the previously stored image and the captured image together to show the user's face and/or body.
- the image can be reconstructed so that all hidden parts of the body are visible. A more detailed operation of the image stabilization module 440 will be described with reference to FIG. 6 below.
- the avatar creation module 450 receives the user's voice signal and/or the image acquired as a result of the image stabilization module 440 (e.g., face image, body image, and/or reconstructed image) and creates various avatars, such as an avatar. It can be converted into a graphic object in the form of a graphic object. Additionally, the avatar creation module 450 may manipulate pre-stored photos, videos, two-dimensional avatar objects, and/or three-dimensional avatar objects based on various input signals, for example. At this time, the photo, video, 2D avatar object, and/or 3D avatar object may be stored, for example, in the memory 390 of the wearable electronic device 300, a PC connected to the wearable electronic device 300, Or it may be stored on a cloud server.
- the image stabilization module 440 e.g., face image, body image, and/or reconstructed image
- various avatars such as an avatar. It can be converted into a graphic object in the form of a graphic object.
- the avatar creation module 450 may manipulate
- the avatar creation module 450 may include several sub-modules.
- Sub-modules include, for example, a voice-face feature conversion module (A) 451, a facial feature point extraction module (B) 453, a body feature point extraction module (C) 455, and a face reproduction module (D) 457. ), and/or a feature point-based avatar manipulation module (E) 459.
- A voice-face feature conversion module
- B facial feature point extraction module
- C body feature point extraction module
- D face reproduction module
- E feature point-based avatar manipulation module
- the voice-face feature point conversion module (A) 451 can predict the facial feature points that make up the face from the voice signal. For example, the voice-face feature point conversion module (A) 451 records a voice signal, simultaneously captures a face image corresponding to the voice signal, and extracts and generates feature points of the face image corresponding to the voice signal. You can use a deep learning model learned by training data.
- the voice-face feature point conversion module (A) 451 can acquire facial feature points corresponding to the voice signal using a learned deep learning model. For example, when a voice signal (“let's go”) is input to the learned deep learning model, the deep learning model can extract and output feature points of the face image that utters “let’s go.”
- the facial feature point extraction module (B) 453 can extract facial feature points from a face image.
- the facial feature extraction module (B) 453 is, for example, active appearance models (AAM) (Cootes et al., 1998), 3D morphable models (3DMM) (Blanz and Vetter, 2003), Kazemi (Kazemi and Sullivan) , facial feature points can be extracted from face images by using well-known feature extraction algorithms such as deep learning-based Subpixel Heatmap Regression, AnchorFace, and PFLD (Practical Facial Landmark Detector), or by deep learning-based feature extraction algorithms. It is not necessarily limited to this.
- the body feature point extraction module (C) 455 can extract body feature points from the body image.
- the body feature point extraction module (C) 455 may extract feature points from a body image according to structural proportional information of the body identified using a human body database, but is not necessarily limited to this.
- the face reproduction module (D) 457 can convert a user's face image into another person's face through a deep learning network. The method by which the face reproduction module (D) 457 converts a user's face image into another person's face will be described with reference to FIG. 7 below.
- the feature point-based avatar manipulation module (E) 459 can manipulate a two-dimensional avatar object or a three-dimensional avatar object based on facial feature points and/or body feature points.
- the feature point-based avatar manipulation module (E) 459 can change the shape of the avatar by using facial feature points and/or body feature points as input.
- the feature point-based avatar manipulation module (E) 459 may use facial feature points obtained based on voice signals to change the shape of the avatar.
- the processor 330 may selectively use only some of the sub-modules of the avatar creation module 450.
- the processor 330 may dynamically determine which sub-module(s) to use for avatar creation, for example, based on the results of the image stabilization module 440 and the user's presets, respectively, or the image stabilization module 440 Based on both the results of and the user's presets, the submodule(s) to be used for avatar creation can be dynamically determined.
- the processor 330 uses the voice-facial feature point conversion module.
- the sender's avatar can be implemented using the (A) 451 and the feature point-based avatar manipulation module (E) 459.
- the processor 330 uses the facial feature point extraction module (B) 453 and the body feature point extraction module (C) ( 455), and the feature point-based avatar manipulation module (E) 459 can be used to implement the sender's avatar.
- the processor 330 uses the face reproduction module (D) 457 alone
- D face reproduction module
- a user of the video call application 400 can select a sender display method during a video call.
- the sender display method may correspond to a user's selectable display method, such as how to show one's appearance to the other party during a video call.
- the method of displaying the sender may vary depending on the user's data input to the wearable electronic device 300.
- Each module of the video call application 400 involved depending on the sender display method may also vary.
- Each module of the video call application 400 used for each sender display method can be organized as shown in [Table 1] below.
- the wearable electronic device 300 may, for example, use an image stabilization module according to whether the user's face and/or the user's body are acquired by the camera module 310, and/or the sender display method selected by the user. It is possible to determine whether to use each of the detailed modules of 440 and the avatar creation module 450.
- modules A to E are each a voice-face feature point conversion module 451, a facial feature point extraction module 453, a body feature point extraction module 455, a face reproduction module 457, and a feature point-based avatar manipulation. It may correspond to module 459.
- ' ⁇ ' is displayed for data that is used for each sender display method
- 'X' is displayed for data that is not used
- '-' may be displayed if the presence or absence of data is irrelevant. .
- the wearable electronic device 300 can transmit the video output from the provided camera module 310 to the other party as a video for a call.
- the wearable electronic device 300 may not use all modules of the video call application 400, including the image stabilization module 440 and the avatar creation module 450.
- the user may use the sender display method.
- the wearable electronic device 300 corrects the captured image by the image stabilization module 440 and/or creates a reconstructed image ('stabilized image') that reconstructs the user's complete appearance reflected in the mirror.
- 'Video' can be transmitted to the other party as a video for a call.
- the wearable electronic device 300 sends a stabilized image including the entire appearance of the user's face (or upper body) for a call. You can send it to the other person as a video. Additionally, as in category c, when the user's body is recognized in the image in the area corresponding to the reflector, the wearable electronic device 300 may transmit a stabilized image including the user's entire body to the other party as a call video.
- the user if the user wishes to use a graphic object (e.g., an avatar) instead of the image captured by the camera module during a video call, the user must use one of the feature point-based avatar generation method and the reproduction-based avatar generation method as a sender display method. You can select or set.
- a graphic object e.g., an avatar
- the wearable electronic device 300 creates a graphic object (Example 2 A 3D avatar object or a 3D avatar object) can be transmitted to the other party as a video for a call.
- the 'feature point-based avatar' creation method was selected as the sender display method, but there is no captured image of the user's face and body, and only the user's voice can be input.
- the facial feature point extraction module (B) 453 and the body feature point extraction module (C) 455 of the video call application 400 do not operate, so the wearable electronic device 300 -The feature point-based avatar manipulation module (E) 459 can be driven based on the facial feature points acquired using the facial feature point conversion module (A) 451.
- the avatar conversion module 450 when the 'feature point-based avatar' creation method is selected as the sender display method, the avatar conversion module 450 generates the feature points required for the feature point-based avatar manipulation module (E) 459 according to the type of input data. It can be provided from other modules.
- the user's face or an image (or video) including the user's face and body may be captured.
- Facial feature points and/or body feature points may be extracted from the facial feature point extraction module (B) 453 and/or body feature point extraction module (C) 455.
- the feature point-based avatar manipulation module (E) 459 may calculate the movement of the avatar based on the extracted facial feature points and/or body feature points.
- classification e or f may be dynamically determined depending on whether facial feature points are extracted from the captured image or whether facial feature points and body feature points are extracted together.
- an image containing the user's body excluding the face may be captured, and the user's voice may be input.
- the wearable electronic device 300 generates facial feature points from the voice signal by the voice-face feature point conversion module (A) 451, and generates facial feature points based on the facial feature points and body feature points extracted from the body feature point extraction module (C) 455.
- the feature point-based avatar manipulation module (E) 459 can be driven.
- a graphic object e.g., an avatar
- the user may use a feature point-based avatar creation method as a sender display method and a feature point-based avatar creation method. You can select or set one of the representation-based avatar creation methods.
- the wearable electronic device can express the user's appearance using the avatar face generated by the face reproduction module (D) 457. At this time, if the reproduction-based avatar creation method is selected, the wearable electronic device may generate an avatar based on the face reproduced using different face reproduction methods in the face reproduction module 457, depending on the type of input data.
- the modules used together with the face reproduction module (D) 457 by type of input data when creating an avatar in the avatar creation module 450 can be organized as shown in [Table 2] below.
- the face reproduction module (D) 457 can reproduce the user's face by voice-face reproduction method.
- the avatar creation module 450 may generate an avatar using the face reproduced by the voice-face reproduction method in the face reproduction module (D) 457.
- the avatar creation module 450 can recognize the position of the face by extracting facial feature points by the facial feature point extraction module (B) 453. .
- the face reproduction module (D) 457 may reproduce the user's face based on the image-face reproduction method.
- the face reproduction module (D) 457 is based on deep learning technology and can apply the user's facial expression to the avatar by using the user's face and a photo or video to be used as an avatar without the process of extracting separate feature points from the face. You can.
- the avatar creation module 450 may create an avatar using a face reproduced by the face reproduction module (D) 457 using an image-face reproduction method.
- the avatar creation module 450 matches the user's facial texture reproduced by the face reproduction module (D) 457 to the head of the 3D avatar model.
- a 3D avatar model can be created and/or manipulated based on the body feature points extracted from the body image by the body feature point extraction module (C) 455.
- the processor 330 may allow the avatar creation module 450 to manipulate the face and body of the avatar model in different ways.
- the processor 330 may use only some modules of the avatar creation module 450 to suit various situations. For example, if the user sets to transmit only his or her face excluding body parts, the processor 330 may implement the user's avatar using the remaining sub-modules except the body feature point extraction module (C) 455.
- a method for the processor 330 to dynamically select sub-modules of the avatar creation module 450 for various situations to generate an image for a user's call (e.g., avatar creation) will be described later with reference to FIGS. 8 to 10 below. do.
- FIG. 5 is a diagram illustrating a process for detecting a reflector from a real-world image according to an embodiment.
- a reflector detection module e.g., the reflector detection module 410 of FIG. 4
- may include a camera module e.g., the camera module 180 of FIG. 1 and/or the camera module of FIG. 3 (e.g., From the real-world images 510, 530, and 550 obtained by 310)
- some areas in the image where reflectors are determined to be present can be detected as square-shaped bounding boxes 515, 535, and 555.
- the reflector detection module 410 may detect reflector areas 520, 540, and 560 corresponding to the reflector from the real-world images 510, 530, and 550.
- the reflector detection module 410 may not need to accurately detect only the reflector areas 520, 540, and 560 from the real-world images 510, 530, and 550.
- a wearable electronic device (e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3) according to an embodiment calculates the position of a reflector within the real-world images 510, 530, and 550. When this happens, the location of the reflector is notified to the user and the user is guided to approach the reflector, thereby allowing the user's image reflected in the reflector to be captured by the camera module 310.
- Figure 6 is a diagram for explaining the operation of a video stabilization module of a video call application according to an embodiment.
- an image 610 of an area corresponding to the reflector in which the entire user's appearance is reflected an image for a call 620, and an image of an area corresponding to the reflector in which a part of the user's appearance is reflected.
- a reconstructed image 640 updating the entire appearance of the current sender, a previously stored image 650 of the user, and a reconstructed image 660 including a previously acquired appearance of the user are shown.
- the movement or shaking of a user causes a reflection corresponding to the reflector.
- a wearable electronic device e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3
- the reflector As in the area image 630, a situation may occur in which part of the user's appearance is not reflected in a reflector or the user's appearance is obscured by another object.
- the user's appearance may be obscured by the frame of the reflector, causing part of the user's appearance to not be reflected in the reflector, or a situation may occur in which the user's appearance reflected in the reflector changes in size by enlarging or shrinking. there is.
- the wearable electronic device 300 uses an image stabilization module (e.g., the image stabilization module 440 in FIG. 4) to allow the receiver, the other party of the video call, to recognize the sender's status regardless of the status of the user (sender) in the various situations described above.
- the image stabilization module 440 may be configured to define an area corresponding to a reflector that includes a previously acquired image of the user (e.g., a pre-stored user image 650) and a portion of the user's image acquired from the current reflector.
- a reconstructed image 640 that updates the entire appearance of the current sender is generated, and/or a previously acquired image of the user (e.g., a previously stored image of the user) is generated until the user's occlusion is resolved.
- a previously acquired image of the user e.g., a previously stored image of the user
- the receiver can fully see the sender.
- the image stabilization module 440 corrects shaking and/or blur of the face and/or body parts recognized by, for example, the face recognition module 420 and/or the body recognition module 430.
- Stabilized images can be created.
- the image stabilization module 440 compares the shaky image with the feature extraction results through the CNN network structure and the LSTM network structure and stabilizes the image with the opposite of the movement size and direction of the feature point through the difference in feature point location between the previous frame and the current frame. By converting, a stabilized image can be created.
- the image stabilization module 440 may also generate stabilized images and/or stabilized reconstructed images 640 and 660 using various known image stabilization techniques.
- the wearable electronic device 300 does not use an avatar during a video call, but displays the user's image reflected in the mirror, such as the image 610 in the area corresponding to the reflector, according to the user's selection or settings. It can also be used as a video 620 for video calls. At this time, the wearable electronic device 300 may provide an image in which shaking and/or blur of the image 610 in the area corresponding to the reflector has been corrected by the image stabilization module 440 as an image for a call to the other party.
- the image stabilization module 440 may directly update a part where an image can be directly acquired, such as the area 670, with an image of the area corresponding to the reflector corresponding to the area 670. Unlike the area 670, the image stabilization module 440 may indirectly update the area 680, for which an image cannot be obtained directly, with an image predicted by, for example, deep learning.
- Figure 7 is a diagram for explaining the operation of a face reproduction module of a video call application according to an embodiment.
- the face reproduction module (D) 457 of a video call application e.g., the video call application 400 of FIG. 4
- a diagram 700 showing a face image 730 reproduced by a selected face image 720 is shown.
- the user can set the video call application 400 to use a graphic object such as a photo of a real person or an emoji that replaces the user's own face as an avatar.
- a graphic object such as a photo of a real person or an emoji that replaces the user's own face
- either a feature point-based method or a reproduction-based method can be used as a method for generating an avatar's face that reflects the user's own expression.
- Reproduction-based methods allow for more elaborate facial expressions than feature-based methods, but the results can be output in the form of a two-dimensional video.
- a two-dimensional video For example, when the recipient is in an augmented reality (AR) or virtual reality (VR) environment as shown in drawing 950 of FIG. 9 below, a user interface (UI) that outputs a video rather than an actual avatar as a video for a call
- AR augmented reality
- VR virtual reality
- UI user interface
- the face reproduction module (D) 457 may reproduce the user's face based on, for example, an image-face reproduction method.
- the face reproduction module (D) 457 is based on deep learning technology and can apply the user's facial expression to the avatar by using the user's face and a photo or video to be used as an avatar without the process of extracting separate feature points from the face. You can.
- the avatar creation module 450 may create an avatar using a face reproduced by the face reproduction module (D) 457 using an image-face reproduction method.
- the avatar creation module 450 may project the user's facial texture reproduced by the face reproduction module (D) 457 onto the face of the 3D avatar model.
- the avatar creation module 450 projects the user's facial texture reproduced by the face reproduction module (D) 457 onto the head of the 3D avatar model, and the body feature point extraction module (C) 455 can create and/or manipulate a 3D avatar model based on body feature points extracted from the body image.
- FIG. 8 is a diagram illustrating a method of making a video call by a user wearing a wearable electronic device according to an embodiment.
- a user wearing a wearable electronic device e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3 according to an embodiment uses a video call application (e.g., FIG. A diagram 800 is shown to explain the operation when the video call application 400 of 4 is running, but only audio is transmitted.
- the wearable electronic device 300 uses a camera module (e.g., the camera of FIG. 1). Detection may be attempted by recognizing a reflector, a face presumed to be a user, and/or a body in an image captured by the module 180 and/or the camera module 310 of FIG. 3. For example, the wearable electronic device 300 detects a reflector, the user's face, and and/or the user's body may be recognized.
- a camera module e.g., the camera of FIG. 1
- Detection may be attempted by recognizing a reflector, a face presumed to be a user, and/or a body in an image captured by the module 180 and/or the camera module 310 of FIG. 3.
- the wearable electronic device 300 detects a reflector, the user's face, and and/or the user's body may be recognized.
- the wearable electronic device 300 may display the location of the reflector to the user.
- the wearable electronic device 300 may detect the user's call video from the user's voice signal 831 through the process shown in figure 830. (837) can be generated.
- the wearable electronic device 300 may transmit the voice signal 831 generated by the user's speech to the voice-face feature point conversion module 451.
- the voice-facial feature point conversion module 451 can convert the voice signal 831 into human facial feature points 833.
- the wearable electronic device 300 uses the person's facial feature points 833 as the avatar. It can be reflected on the face 835.
- the avatar's face 835 may be the face of an avatar designated by the user, or may be the face of an avatar set by default in the video call application 400, but is not necessarily limited thereto.
- the avatar's face 835 may be a virtual animation character, a cartoon character, and/or a real person's face, but is not limited thereto.
- the wearable electronic device 300 reflects the facial expression associated with the voice signal 831, that is, the human facial feature points 833, on the avatar's face 835 through the feature point-based avatar manipulation module 459 to control the user's facial expression.
- a video 837 for a call can be created.
- the wearable electronic device 300 can perform a video call by transmitting the user's call video 837 to the other party ('receiver') of the video call.
- the other party can see the face of the avatar displayed on the screen through the user's call video 837 and hear the actual user's voice signal, they can feel as if they are making a video call with the avatar.
- a virtual animation character and/or a real person's face may be used as an avatar.
- FIG. 9 is a diagram illustrating a method of making a video call by a user wearing a wearable electronic device according to an embodiment.
- a user wearing a wearable electronic device e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3 according to an embodiment is shown in the drawing 910.
- a diagram 900 is shown to explain a method of performing a video call when the image is reflected by a reflector.
- a user wearing the wearable electronic device 300 may move toward a reflector, and the user's image may be displayed on the reflector.
- the wearable electronic device 300 uses a camera module (e.g., the camera module 180 of FIG. 1 and/or Detection may be attempted by recognizing a reflector, a face presumed to be a user, and/or a body in the image captured by the camera module 310 of 3). For example, the wearable electronic device 300 detects a reflector, the user's face, and and/or the user's body may be recognized.
- a camera module e.g., the camera module 180 of FIG. 1 and/or Detection may be attempted by recognizing a reflector, a face presumed to be a user, and/or a body in the image captured by the camera module 310 of 3.
- the wearable electronic device 300 detects a reflector, the user's face, and and/or the user's body may be recognized.
- the wearable electronic device 300 determines that the face image recognized through the video call application 400 is the user's own face. You can check whether this is correct.
- the wearable electronic device 300 may capture an image of the user reflected in a mirror ('image of the area corresponding to the reflector') as shown in the drawing 920, along with a message such as "Is this your face?" By receiving feedback from the user's answer to the question, it is possible to check whether the recognized face image is the user's own face.
- the wearable electronic device 300 compares the captured image of the user's appearance reflected in the mirror ('image of the area corresponding to the reflector') with the user's face stored in advance through the video call application 400 to recognize the user's face. You can check whether the face image is the user's own face. In this case, the confirmation operation for the user may be omitted.
- the face of the user whose identity has been confirmed in the process described above through drawing 920 may be stored and reused later. For example, during a video call, the user's face may be hidden for a moment and then shown again. At this time, if the re-seen face captured through the camera module 310 matches the stored face, the wearable electronic device 300 may not attempt user confirmation again.
- the wearable electronic device 300 may generate an image 937 for the user's call through the processes shown in the drawing 930.
- the wearable electronic device 300 may transmit the face image 931 recognized through the face recognition module 420 to the facial feature point extraction module 451.
- the facial feature point extraction module 451 can extract facial feature points 933 from the recognized face image 931.
- the wearable electronic device 300 uses the person's facial feature points 933. can be reflected on the avatar's face 935.
- the avatar's face 935 may be the face of an avatar designated by the user, or may be the face of an avatar set by default in the video call application 400, but is not necessarily limited thereto.
- the wearable electronic device 300 can generate an image 937 for a user's call by reflecting the human facial feature points 933 on the avatar's face 935 through the feature point-based avatar manipulation module 459.
- the user's image is reflected in the full-length mirror, and an image of an area corresponding to the reflector including the user's entire body reflected in the full-length mirror may be captured by the camera module.
- the wearable electronic device 300 may detect the user's full body image by recognizing the user's entire body from the image of the area corresponding to the reflector through the body recognition module 430.
- the wearable electronic device 300 extracts body feature points from a full-body image using the body feature point extraction module 455, and transmits the extracted body feature points to the feature point-based avatar manipulation module 459 to use them to manipulate the 3D avatar.
- the above-described operations may be performed separately from the facial feature point extraction module 453 and the feature point-based avatar manipulation module 459.
- the wearable electronic device 300 generates an image 957 for a call for the real environment when the recipient is in a real environment, and the recipient uses augmented reality (augmented reality).
- augmented reality augmented reality
- an image 959 for a call can be created for the augmented reality (AR) or virtual reality (VR) environment.
- the wearable electronic device 300 may transmit the face image 951 recognized through the face recognition module 420 to the facial feature point extraction module 451.
- the facial feature point extraction module 451 can extract facial feature points 953 from the recognized face image 951.
- the wearable electronic device 300 may reflect the facial feature points 953 on the face of the avatar 955. You can.
- the wearable electronic device 300 uses the body feature points extracted from the full-body image by the body feature point extraction module 455. It can be used to manipulate the avatar 955 by transmitting it to the feature point-based avatar manipulation module 459.
- the wearable electronic device 300 may generate call images 957 and 959 by reflecting facial feature points 953 and body feature points on the avatar 955.
- the wearable electronic device 300 may generate a call image 957 in which facial feature points 953 and body feature points are reflected in the avatar 955.
- the wearable electronic device 300 creates and displays a virtual mobile phone in the augmented reality (AR) or virtual reality (VR) environment, and A video 959 for a call can be created in which an avatar representing a full-body image including a face is expressed on the mobile phone screen.
- the avatar displayed on the virtual mobile phone screen may be expressed in a form similar to a user interface (UI) that outputs a video rather than an actual avatar.
- UI user interface
- the avatar 955 designated by the user has predefined control points of the 3D model corresponding to the facial feature points, so the wearable electronic device 300 extracts the facial feature points extracted by the facial feature point extraction module 451. According to (953), the facial expression of the avatar (955) can be freely changed. Additionally, the wearable electronic device 300 creates a three-dimensional model of the avatar 955 to suit the recipient's video call environment, such as, for example, a general display environment and/or an augmented reality (AR) or virtual reality (VR) environment. It can be displayed.
- AR augmented reality
- VR virtual reality
- FIG. 10 is a diagram illustrating a method of making a video call by a user wearing a wearable electronic device according to an embodiment.
- a diagram 1000 is shown to explain a method of performing a video call by updating the user's avatar when a change occurs in the user's appearance reflected by a reflector according to an embodiment.
- a wearable electronic device e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3
- the feature point-based avatar manipulation module 459 can manipulate the avatar based on facial feature points.
- the wearable electronic device 300 can generate an image 1036 for a call through the same process as shown in the drawing 1030. there is.
- the feature point extraction module 453 extracts facial feature points 1032 corresponding to the face 1031 from the full body image and body feature points.
- the extraction module 455 may extract body feature points 1034 corresponding to the whole body 1033.
- the facial feature points 1032 and body feature points 1034 can be used by the feature point-based avatar manipulation module 459 to manipulate the avatar.
- the feature point-based avatar manipulation module 459 can manipulate the movement of the avatar 1035 based on the facial feature points 1032 and body feature points 1034. .
- the update area of the avatar displayed in the call video 1036 may change.
- the wearable electronic device 300 may perform a direct update on the first update area 1037 and an indirect update on the second update area 1038.
- the wearable electronic device 300 extracts the body feature points 1034 extracted by the body feature point extraction module 455.
- the second update area 1038 corresponding to the entire body of the avatar can be indirectly updated based on the facial feature points predicted through the voice signal.
- the body feature point extraction module 455 may not properly extract facial feature points and body feature points, such as when the user moves too far away from the mirror or disappears from the mirror to the extent that the body feature point extraction module 455 cannot extract the body feature point. If there is none, the wearable electronic device 300 may directly update the first update area 1037 corresponding to the avatar's face using facial feature points extracted based on the voice signal by the voice-face feature point conversion module 451. .
- FIG 11 is a flowchart showing a method of operating a wearable electronic device according to an embodiment.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- the wearable electronic device (e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3) responds to the execution of an application for a video call on the wearable electronic device 300.
- real-world images e.g., real-world images 510, 530, and 550 of FIG. 3 surrounding the user can be obtained.
- the wearable electronic device 300 may detect a reflector from the real-world images 510, 530, and 550 acquired in operation 1110.
- the wearable electronic device 300 may calculate the position information of the reflector including the distance and direction from the image of the area corresponding to the reflector detected in operation 1120 among the real-world images 510, 530, and 550. The method by which the wearable electronic device 300 calculates the position information of the reflector will be described with reference to FIG. 12 below.
- the wearable electronic device 300 uses an output device (e.g., the sound output module 155 of FIG. 1 and/or By controlling the display module 160, the user's call video (e.g., call video 837 in FIG. 8, call video 937, 957, 959 in FIG. 9) to be transmitted to the other party of the video call, and/ Alternatively, the call video (1035, 1036) of FIG. 10) can be generated.
- the wearable electronic device 300 may use a camera module (e.g., the camera module of FIG. 1) provided in the wearable electronic device 300 according to a determination that the image of the area corresponding to the reflector includes at least a part of the user's body. Generate images (837, 937, 957, 959, 1035, 1036) for the user's call using the image of the area corresponding to the reflector obtained using (180) and/or the camera module 310 of FIG. 3). can do.
- a camera module e.g., the camera module of FIG. 1
- the wearable electronic device 300 acquires an image of the area corresponding to the reflector reflected by the user who moves to the location of the reflector according to the guidance, and uses the image of the area corresponding to the reflector to capture the user's call video (837, 937, 957, 959, 1035, 1036) can be generated.
- the method by which the wearable electronic device 300 generates the user's call images 837, 937, 957, 959, 1035, and 1036 will be described with reference to FIG. 13 below.
- Figure 12 is a flowchart showing a method of calculating location information from an image of an area corresponding to a reflector reflected on a reflector according to an embodiment.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- the wearable electronic device 300 determines that the image of the area corresponding to the reflector includes a face of the user. It can be determined whether or not it includes at least part of the body.
- the wearable electronic device 300 determines the user's location in three-dimensional space and a camera module (e.g., the camera module of FIG. 1 ). Position information of the reflector may be calculated based on the viewing angle of (180) and/or the camera module 310 of FIG. 3) and the location of the reflector.
- Figure 13 is a flowchart showing a method of generating a video for a user's call sent to the other party of a video call, according to an embodiment.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- the wearable electronic device converts the image of the area corresponding to the reflector into the user's call image (e.g., FIG. 8).
- a second option to determine the reconstructed image reconstructed using the image e.g., the reconstructed image 640, 660 in FIG.
- the wearable electronic device 300 captures the user's face and at least a body part of the user by a camera module (e.g., the camera module 180 in FIG. 1 and/or the camera module 310 in FIG. 3). Depending on at least one of whether an image of the area corresponding to the reflector is acquired and the user's selection, images 837, 937, 957, 959, 1035, and 1036 for the user's call may be generated. For example, when the first selection is input, the wearable electronic device 300 may determine the image of the area corresponding to the reflector as the user's call image 837, 937, 957, 959, 1035, and 1036.
- a camera module e.g., the camera module 180 in FIG. 1 and/or the camera module 310 in FIG. 3
- images 837, 937, 957, 959, 1035, and 1036 for the user's call may be generated.
- the wearable electronic device 300 may determine the image of the area corresponding to the reflector as the user
- the wearable electronic device 300 may generate reconstructed images 640 and 660 that reconstruct the user's appearance using the image of the area corresponding to the reflector.
- the wearable electronic device 300 may compare the image of the area corresponding to the reflector with the user's pre-stored image to determine which part of the pre-stored image the image of the area corresponding to the reflector corresponds to.
- the wearable electronic device 300 updates the part corresponding to the image of the area corresponding to the reflector in the pre-stored image by the image of the area corresponding to the reflector, and updates the part corresponding to the image of the area corresponding to the reflector in the pre-stored image.
- the video for the user's call can be reconstructed by updating the part with the video predicted by the neural network.
- the wearable electronic device 300 may determine the reconstructed images 640 and 660 as the user's call images 837, 937, 957, 959, 1035, and 1036. Alternatively, according to the third selection, the wearable electronic device 300 may generate a graphic object that reconstructs the user's call image corresponding to the image of the area corresponding to the reflector.
- FIG. 14 is a flowchart showing a method of operating the wearable electronic device 300 according to an embodiment.
- each operation may be performed sequentially, but is not necessarily performed sequentially.
- the order of each operation may be changed, and at least two operations may be performed in parallel.
- the wearable electronic device e.g., the electronic device 101 of FIG. 1 and/or the wearable electronic device 300 of FIG. 3 allows the user to wear the wearable electronic device 300 and use a video call application (e.g., When the video call application 400 of FIG. 4 is executed, the surrounding real-world image (FIG. 5) is captured through a provided camera module (e.g., the camera module 180 of FIG. 1 and/or the camera module 310 of FIG. 3). Real-world images (510, 530, 550) can be obtained.
- the wearable electronic device 300 may determine whether a reflector is detected in the real-world images 510, 530, and 550 obtained in operation 1420.
- the wearable electronic device 300 may detect reflectors in the real-world images 510, 530, and 550 using the reflector detection module 410. If it is determined that no reflector is detected in operation 1420, the wearable electronic device 300 may update the avatar according to the user's voice information (e.g., voice signal 831 in FIG. 8) in operation 1460. After performing operation 1460, the wearable electronic device 300 may end the operation as the user ends the video call, as shown in FIG. 14, or may detect a reflector in operation 1420 and determine whether there is a person reflected in the reflector. You can also check it repeatedly.
- the wearable electronic device 300 may determine whether there is a person reflected in the reflector in operation 1430.
- the wearable electronic device 300 may detect a person from the real-world images 510, 530, and 550 by, for example, the face recognition module 420 and/or the body recognition module 430. If it is determined in operation 1430 that there is no person reflected in the reflector, in operation 1440, the wearable electronic device 300 determines whether the user is A user interface (UI) guide can be provided so that you can check the image reflected on the reflector.
- the wearable electronic device 300 may guide the user to approach the reflector through a user interface guide.
- UI user interface
- the wearable electronic device 300 may determine whether the person reflected in the reflector is the user. When a face is recognized in the image of the area corresponding to the reflector captured from the reflector by the face recognition module 420 of the video call application 400, the wearable electronic device 300 can confirm whether the face is the user's face. there is.
- the wearable electronic device 300 may update the avatar according to the user's voice information through operation 1460.
- the wearable electronic device 300 uses the voice-face feature point conversion module 451 of the avatar creation module 450 until a face identified as the user is detected in the image of the area corresponding to the reflector obtained from the reflector. ) and the feature point-based avatar manipulation module 459 can update the avatar according to the user's voice information.
- the wearable electronic device 300 detects the user reflected in the reflector and creates an avatar according to the detected image information of the user, that is, the image of the area corresponding to the reflector. can be updated.
- the wearable electronic device 300 reports the detection result in the image in the area corresponding to the reflector to the image stabilization module 440. ) can be passed as input.
- the wearable electronic device 300 may update the user's avatar based on image information according to the processing results of the image stabilization module 440 and the avatar creation module 450.
- the wearable electronic device 300 may end its operation as the user ends the video call.
- the above-described operations 1420, 1430, 1440, and 1450 may be performed repeatedly until the user's appearance is confirmed in the image of the area corresponding to the reflector captured from the reflector.
- FIG. 15 is a diagram illustrating a method of performing a video call between a sender terminal and a recipient terminal using a video call application according to an embodiment.
- the sender terminal 1510 of the sender terminal 1510 and the receiver terminal 1550 on which the same video call application (e.g., the video call application 400 of FIG. 4) is installed is installed.
- a diagram 1500 is shown to explain a method of performing a video call when it is difficult to transmit large amounts of data such as video due to poor network conditions.
- a module indicated by a solid line may indicate an activated module
- a module indicated by a dotted line may indicate a deactivated module.
- the video call application 400 may, for example, connect the sender terminal 1510 and the receiver terminal 1550.
- a call video e.g., call video 837 in FIG. 8, call video 837 in FIG. 8, call video 837 in FIG.
- Some of the operations for generating the video for use (937, 957, 959) and/or the video for call (1035, 1036) of FIG. 10 may be delegated to the recipient terminal 1550.
- Each module (1520, 1525, 1530, 1535, 1540 and/or 1560, 1565, 1570, 1575) of the video call application shown in FIG. 15 is the module of the video call application 400 shown in FIG. 4. (410, 420, 430, 440, 450) can correspond to each.
- the sender terminal 1510 can detect a reflector from the image by the reflector detection module 1520 of the video call application 400.
- the face recognition module 420 and the body recognition module 430 may recognize and detect a face and/or body from an image of an area corresponding to a reflector captured from a reflector.
- the facial feature point extraction module 1542 may extract facial feature points in the form of two-dimensional or three-dimensional coordinates from a face recognized in the image of the area corresponding to the reflector. Additionally, the body feature point extraction module 1543 may extract body feature points in the form of two-dimensional or three-dimensional coordinates from the body recognized in the image of the area corresponding to the reflector. The video application may transmit the extracted facial feature points and/or body feature points to the recipient terminal 1550.
- the recipient terminal 1550 uses the feature point-based avatar manipulation module 1585 based on facial and/or body feature points in the form of two-dimensional or three-dimensional coordinates transmitted by the sender terminal 1510 to create the call video (837, 937) of the sender. , 957, 959, 1035, 1036), an avatar to be used can be created and/or manipulated.
- the receiver terminal 1550 can show the sender's call video (837, 937, 957, 959, 1035, 1036) generated by the feature point-based avatar manipulation module 1585 to the user (sender) of the sender terminal 1510. there is. In this case, it may take time for the sender terminal 1510 to receive the sender's call video (837, 937, 957, 959, 1035, 1036) generated by the receiver terminal 1550.
- FIG. 16 is a diagram illustrating a method of performing a video call between a sender terminal and a recipient terminal using a video call application according to an embodiment.
- the sender terminal 1510 of the sender terminal 1510 and the receiver terminal 1550 on which the same video call application (e.g., the video call application 400 of FIG. 4) is installed is installed.
- the high processor e.g., processor 120 in FIG. 1 and/or processor 330 in FIG. 3 occupancy rate.
- a diagram 1600 is shown to illustrate the method.
- the recipient terminal which is the other party of the video call, There may be room in the processor 330 share on the (1550) side.
- the sender terminal 1510 receives the image of the area corresponding to the reflector captured by the reflector detection module 1520, the face recognition result recognized by the face recognition module 1525 and/or the body recognition module 1530, and /Or the body recognition result may be transmitted to the recipient terminal 1550.
- the sender terminal 1510 may have the receiver terminal 1550 perform processing (e.g., image stabilization and/or avatar creation) on the image, face recognition result, and/or body recognition result of the area corresponding to the transmitted reflector. there is.
- the recipient terminal 1550 which has received the image, face recognition result, and/or body recognition result of the area corresponding to the reflector, transfers the image stabilized by the image stabilization module 1575 to the avatar creation module 1580 to make the call of the sender.
- Create an avatar to be used as a video e.g., the call video 837 of FIG. 8, the call video 937, 957, 959 of FIG. 9, and/or the call video 1035, 1036 of FIG. 10). and/or can be manipulated.
- the recipient terminal 1550 may display the sender's call video (837, 937, 957, 959, 1035, 1036) generated by the avatar creation module 1580 to the user (sender) of the sender terminal 1510.
- the sender terminal 1510 may take time for the sender terminal 1510 to receive the sender's call video (837, 937, 957, 959, 1035, 1036) generated by the receiver terminal 1550.
- FIG. 17 is a diagram illustrating a method of performing a video call between a sender terminal on which a video call application is installed and a recipient terminal on which another video call application is installed, according to an embodiment.
- a video call is made between a sender terminal 1510 on which a video call application (e.g., the video call application 400 of FIG. 4) according to an embodiment is installed and a recipient terminal 1710 on which a third-party video call application is installed.
- a diagram 1700 is shown to illustrate how to perform.
- the recipient terminal 1710 which is the other party of the video call, does not need to use the same video call application 400 as the video call application 400 according to one embodiment. Even if the recipient terminal 1710 uses a different video call application, the sender terminal 1710 uses the reflector detection module 1520, face recognition module 1525, body recognition module 1530, image stabilization module 1535, and avatar creation.
- Call video e.g., call video 837 in FIG. 8, call video 937, 957, 959 in FIG. 9, and/or FIG.
- a video call can be performed by generating 10 call videos (1035, 1036)) and then transmitting them to the recipient terminal 1710.
- FIG. 18 is a diagram illustrating a method of performing a video call between a recipient terminal on which a video call application is installed and a sender terminal on which a voice call application is installed, according to an embodiment.
- a diagram 1800 is shown to explain a method of performing a video call when the sender terminal 1810 transmits only voice information to the receiver terminal 1550 according to an embodiment.
- the recipient terminal 1550 transmits the video.
- the avatar basically stored in the avatar creation module 1580 of the call application 400, and the voice-facial feature point conversion module 1581 convert the sender's voice information (e.g., the voice signal 831 in FIG. 8) into facial feature points. Based on the result of conversion, the avatar whose face shape is manipulated according to the voice information of the sender (831) is converted into the sender's call video (837, 937, 957, 959, 1035, 1036).
- the receiver terminal 1550 uses the sender's call video (837, 937, 957, 959, 1035, 1036) generated by the receiver terminal 1550 for a video call.
- the sender's call video 837, 937, 957, 959, 1035, 1036
- the wearable electronic devices 101 and 300 display real-world images 510, 530 and 550 around the user in response to the execution of the application 400 for video calls in the wearable electronic devices 101 and 300.
- a camera module (180, 310) that acquires, detects a reflector from the real-world images (510, 530, 550), and determines the distance and direction from the image of the area corresponding to the reflector among the real-world images (510, 530, 550)
- the location information of the reflector including and controlling the output devices (155. 160) to provide guidance for the user to move to the location of the reflector according to the location information, the video call can be transmitted to the other party.
- a processor (120, 330) that generates the user's call video (837, 937, 957, 959, 1035, 1036), and the user's call video (837, 937, 957, 959, 1035, 1036) It may include communication modules 190 and 350 that transmit.
- the processor (120, 330) detects the reflector from the real-world images (510, 530, 550)
- the image of the area corresponding to the reflector is at least the body of the user including the face. determining whether the image of the area corresponding to the reflector does not include at least a body part of the user, the location of the user in three-dimensional space, the camera modules 180, 310; The location information can be calculated based on the viewing angle and the location of the reflector.
- the processors 120 and 330 when the reflector is not detected from the real-world images 510, 530, and 550, the processors 120 and 330 generate the user's call in response to the user's voice information 831.
- the video call can be performed using the video calls 837, 937, 957, 959, 1035, and 1036.
- the processor 120, 330 determines that the image of the area corresponding to the reflector includes at least a body part of the user, and the processor 120, 330 obtains the image using the camera module 180, 310.
- the user's call images (837, 937, 957, 959, 1035, 1036) can be generated using the image of the area corresponding to the reflector.
- the processors 120 and 330 acquire an image of the area corresponding to the reflector reflected on the reflector by the user who moves to the location of the reflector according to the guidance, and capture the image of the area corresponding to the reflector.
- the user's call video (837, 937, 957, 959, 1035, 1036) can be created.
- the wearable electronic device (101, 300) includes an input module (150, 370) that receives the user's selection of the user's call video (837, 937, 957, 959, 1035, 1036). Further comprising, the processors 120, 330 determine whether an image of an area corresponding to the reflector including the user's face and at least a body part of the user is acquired by the camera modules 180, 310, and Depending on at least one of the user's selections, an image (837, 937, 957, 959, 1035, 1036) for the user's call is generated, and the user's selection generates an image of the area corresponding to the reflector for the user's call.
- an input module 150, 370
- the first choice is to determine the user's call video (837, 937, 957, 959, 1035, 1036), and the reconstructed images (640, 660) reconstructed using the image of the area corresponding to the reflector ( 837, 937, 957, 959, 1035, 1036), and a graphic object reconstructed using the image of the area corresponding to the reflector as the user's call image (837, 937, 957, 959). , 1035, 1036).
- the processors 120 and 330 convert the image of the area corresponding to the reflector into the user's call image 837, 937, 957, 959, 1035, 1036. ) can be determined.
- the processors 120 and 330 when the second selection is input, the processors 120 and 330 generate reconstructed images 640 and 660 that reconstruct the user's appearance using the image of the area corresponding to the reflector,
- the reconstructed images 640 and 660 may be determined as the user's call images 837, 937, 957, 959, 1035, and 1036.
- the wearable electronic devices (101, 300) further include memories (130, 390) including a pre-stored image (650) of the user, and the processor (120, 330) Compare the image of the corresponding area with the user's pre-stored image 650 to determine which part of the pre-stored image 650 the image of the area corresponding to the reflector corresponds to, and compare the pre-stored image 650 of the user with the image of the corresponding area.
- the part corresponding to the image of the area corresponding to the reflector is updated by the image of the area corresponding to the reflector
- the part of the pre-stored image 650 that does not correspond to the image of the area corresponding to the reflector is updated by the image of the area corresponding to the reflector.
- the reconstructed images 640 and 660 can be generated by updating the images predicted by the neural network.
- the processors 120 and 330 when the third selection is input, the processors 120 and 330 generate an image of an area corresponding to the reflector or a graphic object corresponding to the reconstructed images 640 and 660, and The graphic object may be determined to be the user's call video (837, 937, 957, 959, 1035, 1036).
- the processors 120 and 330 select the user's face from the real world images 510, 530 and 550 when the real world images 510, 530 and 550 do not include the user's face. Until this is detected, the video call can be performed using the user's call video (837, 937, 957, 959, 1035, 1036) generated in response to the user's voice information (831).
- the method of operating the wearable electronic device (101, 300) is to display real-world images (510, 530) around the user in response to the execution of the application (400) for video calling in the wearable electronic device (101, 300).
- , 550 operation 1110, detecting a reflector from the real-world images 510, 530, 550, operation 1120, distance and direction from the image of the area corresponding to the reflector among the real-world images 510, 530, 550
- An operation 1130 of calculating the location information of the reflector including, and controlling the output devices 155 and 160 to provide guidance for the user to move to the location of the reflector according to the location information, thereby making the video call possible.
- Operation 1140 may include generating the user's call video (837, 937, 957, 959, 1035, 1036) to be transmitted to the other party.
- the operation of calculating the location information is performed when a reflector is detected from the real-world images 510, 530, and 550, and the image of the area corresponding to the reflector is at least a body part of the user including a face.
- Operation 1210 of determining whether the image of the area corresponding to the reflector does not include at least a body part of the user, the location of the user in three-dimensional space, the camera modules 180, 310 ) may include an operation 1220 of calculating the location information based on the viewing angle of ) and the location of the reflector.
- a method of operating the wearable electronic device (101, 300) includes, according to a determination that the image of the area corresponding to the reflector includes at least a body part of the user, the wearable electronic device (101, 300) An operation of generating the user's call video (837, 937, 957, 959, 1035, 1036) using the image of the area corresponding to the reflector obtained using the provided camera module (180, 310) is further performed. It can be included.
- the operation of generating the user's call images (837, 937, 957, 959, 1035, 1036) involves the user moving to the location of the reflector according to the guidance and moving to the reflector reflected on the reflector. It may further include an operation of acquiring an image of the corresponding area, and an operation of generating an image (837, 937, 957, 959, 1035, 1036) for the user's call using the image of the area corresponding to the reflector. there is.
- the operation of generating the user's call video (837, 937, 957, 959, 1035, 1036) is performed on the user's call video (837, 937, 957, 959, 1035, 1036).
- the first option is to determine the image of the area corresponding to the reflector as the user's call image (837, 937, 957, 959, 1035, 1036), and reconstruction is performed using the image of the area corresponding to the reflector.
- a second choice of determining the images (640, 660) as the user's call images (837, 937, 957, 959, 1035, 1036), and a graphic object reconstructed using the image of the area corresponding to the reflector It may include at least one of the third selections determined by the user's call video (837, 937, 957, 959, 1035, 1036).
- the operation of generating the user's call images (837, 937, 957, 959, 1035, 1036) is to generate the image of the area corresponding to the reflector to the user when the first selection is input. It may include an operation of determining the call video (837, 937, 957, 959, 1035, 1036).
- the operation of generating the user's call images (837, 937, 957, 959, 1035, 1036) is performed by the image of the area corresponding to the reflector when the second selection is input.
- An operation of generating reconstructed images (640, 660) that reconstruct the appearance of the user, and determining the reconstructed images (640, 660) as the user's call images (837, 937, 957, 959, 1035, 1036) Can include actions.
- the operation of generating reconstructed images 640 and 660 that reconstruct the user's call images 837, 937, 957, 959, 1035, and 1036 includes the image of the area corresponding to the reflector and the Comparing the user's pre-stored image 650 to determine which part of the pre-stored image 650 the image of the area corresponding to the reflector corresponds to, and comparing the pre-stored image 650 to the reflector
- the part corresponding to the image of the corresponding area is updated by the image of the area corresponding to the reflector, and the part of the pre-stored image 650 that does not correspond to the image of the area corresponding to the reflector is predicted by a neural network. It may include an operation of reconstructing the user's call video (837, 937, 957, 959, 1035, 1036) by updating by video.
- the operation of generating the user's call images (837, 937, 957, 959, 1035, 1036) is performed in response to the image of the area corresponding to the reflector when the third selection is input. It may include creating a graphic object that reconstructs the user's call video (837, 937, 957, 959, 1035, 1036).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
일 실시예에 따른 웨어러블 전자 장치는 영상 통화를 위한 어플리케이션이 실행됨에 응답하여, 웨어러블 전자 장치를 착용한 사용자 주변의 실세계 영상을 획득하는 카메라 모듈을 포함할 수 있다. 웨어러블 전자 장치는 실세계 영상으로부터 반사체를 검출하고, 실세계 영상 중 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 반사체의 위치 정보를 산출하며, 위치 정보에 따라 사용자를 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치를 제어함으로써, 영상 통화의 상대방에게 전송할 사용자의 통화용 영상을 생성하는 프로세서를 포함할 수 있다. 웨어러블 전자 장치는 사용자의 통화용 영상을 전송하는 통신 모듈을 포함할 수 있다.
Description
아래의 개시는 영상 통화를 제공하는 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법에 관한 것이다.
가상 현실(virtual reality; VR) 기기, 증강 현실(augmented reality) 기기, 및/또는 혼합 현실(mixed reality; MR) 기기와 같은 다양한 웨어러블 전자 장치가 상용화 되고 있다. 웨어러블 전자 장치들은 예를 들어, 헤드 마운티드 디스플레이(head mounted display; HMD)와 같이 사용자가 머리 또는 눈에 착용하는 형태이므로, 가까운 곳의 사물을 보거나 마주보는 대상을 캡쳐할 수 있는 외부 렌즈를 포함하는 선글라스 또는 고글 형태를 가질 수 있다.
일 실시예에 따르면, 웨어러블 전자 장치는 웨어러블 전자 장치에서 영상 통화를 위한 어플리케이션이 실행됨에 응답하여, 사용자 주변의 실세계 영상을 획득하는 카메라 모듈, 상기 실세계 영상으로부터 반사체를 검출하고, 상기 실세계 영상 중 상기 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 상기 반사체의 위치 정보를 산출하며, 상기 위치 정보에 따라 상기 사용자가 상기 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치를 제어함으로써, 상기 영상 통화의 상대방에게 전송할 상기 사용자의 통화용 영상을 생성하는 프로세서, 및 상기 사용자의 통화용 영상을 전송하는 통신 모듈을 포함할 수 있다.
일 실시예에 따르면, 웨어러블 전자 장치의 동작 방법은 웨어러블 전자 장치에서 영상 통화를 위한 어플리케이션이 실행됨에 응답하여, 사용자 주변의 실세계 영상을 획득하는 동작, 상기 실세계 영상으로부터 반사체를 검출하는 동작, 상기 실세계 영상 중 상기 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 상기 반사체의 위치 정보를 산출하는 동작, 및 상기 위치 정보에 따라 상기 사용자가 상기 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치를 제어함으로써, 상기 영상 통화의 상대방에게 전송할 상기 사용자의 통화용 영상을 생성하는 동작을 포함할 수 있다.
도 1은 일 실시예에 따른 네트워크 환경 내의 전자 장치의 구성을 도시하는 블록도이다.
도 2은 일 실시예에 따른 프로그램을 예시하는 블록도이다.
도 3은 일 실시예에 따른 웨어러블 전자 장치의 블록도이다.
도 4는 일 실시예에 따른 웨어러블 전자 장치에서 구동되는 영상 통화 어플리케이션의 구성을 도시한 도면이다.
도 5는 일 실시예에 따라 실세계 영상으로부터 반사체를 검출하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 영상 통화 어플리케이션의 영상 안정화 모듈의 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 영상 통화 어플리케이션의 얼굴 재현 모듈의 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 웨어러블 전자 장치를 착용한 사용자가 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 웨어러블 전자 장치를 착용한 사용자가 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 웨어러블 전자 장치를 착용한 사용자가 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 웨어러블 전자 장치의 동작 방법을 나타낸 흐름도이다.
도 12는 일 실시예에 따라 반사체에 비친 반사체에 대응하는 영역의 영상으로부터 위치 정보를 산출하는 방법을 나타낸 흐름도이다.
도 13은 일 실시예에 따라 영상 통화의 상대방에게 전송한 사용자의 통화용 영상을 생성하는 방법을 나타낸 흐름도이다.
도 14는 일 실시예에 따른 웨어러블 전자 장치의 동작 방법을 나타낸 흐름도이다.
도 15는 일 실시예에 따른 영상 통화 어플리케이션에 의해 송신자 단말과 수신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 16은 일 실시예에 따른 영상 통화 어플리케이션에 의해 송신자 단말과 수신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 17은 일 실시예에 따른 영상 통화 어플리케이션이 설치된 송신자 단말과 다른 영상 통화 어플리케이션이 설치된 수신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
도 18은 일 실시예에 따른 영상 통화 어플리케이션이 설치된 수신자 단말과 음성 통화 어플리케이션이 설치된 송신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 네트워크 환경 내의 전자 장치의 구성을 도시하는 블록도이다. 도 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 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2은 일 실시예에 따른 프로그램(140)을 예시하는 블록도(200)이다. 일 실시예에 따르면, 프로그램(140)은 전자 장치(101)의 하나 이상의 리소스들을 제어하기 위한 운영 체제(142), 미들웨어(144), 또는 상기 운영 체제(142)에서 실행 가능한 어플리케이션(146)을 포함할 수 있다. 운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(101)에 프리로드되거나, 또는 사용자에 의해 사용 시 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드되거나 갱신될 수 있다.
운영 체제(142)는 전자 장치(101)의 하나 이상의 시스템 리소스들(예: 프로세스, 메모리, 또는 전원)의 관리(예: 할당 또는 회수)를 제어할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(101)의 다른 하드웨어 디바이스, 예를 들면, 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 구동하기 위한 하나 이상의 드라이버 프로그램들을 포함할 수 있다.
미들웨어(144)는 전자 장치(101)의 하나 이상의 리소스들로부터 제공되는 기능 또는 정보가 어플리케이션(146)에 의해 사용될 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션 매니저(201), 윈도우 매니저(203), 멀티미디어 매니저(205), 리소스 매니저(207), 파워 매니저(209), 데이터베이스 매니저(211), 패키지 매니저(213), 커넥티비티 매니저(215), 노티피케이션 매니저(217), 로케이션 매니저(219), 그래픽 매니저(221), 시큐리티 매니저(223), 통화 매니저(225), 또는 음성 인식 매니저(227)를 포함할 수 있다.
어플리케이션 매니저(201)는, 예를 들면, 어플리케이션(146)의 생명 주기를 관리할 수 있다. 윈도우 매니저(203)는, 예를 들면, 화면에서 사용되는 하나 이상의 GUI 자원들을 관리할 수 있다. 멀티미디어 매니저(205)는, 예를 들면, 미디어 파일들의 재생에 필요한 하나 이상의 포맷들을 파악하고, 그 중 선택된 해당하는 포맷에 맞는 코덱을 이용하여 상기 미디어 파일들 중 해당하는 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(207)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리(130)의 메모리의 공간을 관리할 수 있다. 파워 매니저(209)는, 예를 들면, 배터리(189)의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 관련 정보를 결정 또는 제공할 수 있다. 일 실시예에 따르면, 파워 매니저(209)는 전자 장치(101)의 바이오스(BIOS: basic input/output system)(미도시)와 연동할 수 있다.
데이터베이스 매니저(211)는, 예를 들면, 어플리케이션(146)에 의해 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(213)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(215)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 연결 또는 직접 연결을 관리할 수 있다. 노티피케이션 매니저(217)는, 예를 들면, 지정된 이벤트(예: 착신 통화, 메시지, 또는 알람)의 발생을 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(219)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(221)는, 예를 들면, 사용자에게 제공될 하나 이상의 그래픽 효과들 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다.
시큐리티 매니저(223)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화(telephony) 매니저(225)는, 예를 들면, 전자 장치(101)에 의해 제공되는 음성 통화 기능 또는 영상 통화 기능을 관리할 수 있다. 통화 매니저(225)는 후술하는 영상 통화 어플리케이션과 관련된 기능을 관리할 수 있다.
음성 인식 매니저(227)는, 예를 들면, 사용자의 음성 정보를 서버(108)로 전송하고, 그 음성 정보에 적어도 일부 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command), 또는 그 음성 정보에 적어도 일부 기반하여 변환된 문자 데이터를 서버(108)로부터 수신할 수 있다. 일 실시예에 따르면, 미들웨어(244)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시예에 따르면, 미들웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 다른 별도의 소프트웨어로 구현될 수 있다.
어플리케이션(146)은, 예를 들면, 홈(251), 다이얼러(253), SMS/MMS(255), IM(instant message)(257), 브라우저(259), 카메라(261), 알람(263), 컨택트(265), 음성 인식(267), 이메일(269), 달력(271), 미디어 플레이어(273), 앨범(275), 와치(277), 헬스(279)(예: 운동량 또는 혈당과 같은 생체 정보를 측정), 또는 환경 정보(281)(예: 기압, 습도, 또는 온도 정보 측정) 어플리케이션을 포함할 수 있다. 일 실시예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보 (예: 통화, 메시지, 또는 알람)를 전달하도록 설정된 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하도록 설정된 장치 관리 어플리케이션을 포함할 수 있다. 노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(269))에서 발생된 지정된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달할 수 있다. 추가적으로 또는 대체적으로, 노티피케이션 릴레이 어플리케이션은 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(101)의 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치 또는 그 일부 구성 요소(예: 외부 전자장치의 디스플레이 모듈 또는 카메라 모듈)의 전원(예: 턴-온 또는 턴-오프) 또는 기능(예: 밝기, 해상도, 또는 포커스)을 제어할 수 있다. 장치 관리 어플리케이션은, 추가적으로 또는 대체적으로, 외부 전자 장치에서 동작하는 어플리케이션의 설치, 삭제, 또는 갱신을 지원할 수 있다. 이 밖에도, 어플리케이션(146)은 후술하는 영상 통화 어플리케이션을 더 포함할 수 있다.
본 문서에 개시된 일 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 전자 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 일 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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)(예: 도 1의 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 일 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
일 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 3은 일 실시예에 따른 웨어러블 전자 장치의 블록도이다. 도 3을 참조하면, 일 실시예에 따른 웨어러블 전자 장치(300)(예: 도 1의 전자 장치(101))는 카메라 모듈(310)(예: 도 1의 카메라 모듈(180)), 프로세서(330)(예: 도 1의 프로세서(120)), 및 통신 모듈(350)(예: 도 1의 통신 모듈(190))을 포함할 수 있다. 웨어러블 전자 장치(300)는 입력 모듈(370)(예: 도 1의 입력 모듈(150)) 및 메모리(390)(예: 도 1의 메모리(130))를 더 포함할 수 있다.
웨어러블 전자 장치(300)는 예를 들어, 헤드 마운티드 디스플레이(head mounted display; HMD)와 같이 사용자가 머리 또는 얼굴에 착용 가능한 전자 장치에 해당할 수 있으나 반드시 이에 한정되지는 않는다. 헤드 마운티드 디스플레이는 사용자로 하여금 생생한 이미지와 영상, 음성 등을 통해 가상의 영상을 마치 현실인 것처럼 느끼게 해 줄 수 있다.
카메라 모듈(310)은 웨어러블 전자 장치(300)에서 영상 통화를 위한 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))이 실행됨에 응답하여, 사용자 주변의 실세계 영상(예: 도 5의 실세계 영상(510, 530, 550))을 획득한다. 사용자는 예를 들어, 영상 통화 어플리케이션(400)이 설치된 웨어러블 전자 장치(300)를 착용한 사용자일 수 있다. 실세계 영상(510, 530, 550)은 예를 들어, 카메라 모듈(310)의 렌즈 화각의 범위 내에 포함된 다양한 객체들(예: 사용자, 및/또는 사용자 주변의 환경)을 포함할 수 있다.
프로세서(330)는 카메라 모듈(310)을 통해 획득한 실세계 영상(510, 530, 550)으로부터 반사체를 검출할 수 있다. '반사체'는 빛을 받아서 반사하는 물체로서, 반사면에 비친 객체의 모습을 반사할 수 있는 일정 반사율 이상을 갖는 물체에 해당할 수 있다. 반사체는 예를 들어, 아래의 도 5의 실세계 영상들(510, 530, 550)에 포함된 반사체들(예: 헬멧, 거울, 및/또는 유리)과 같이 주변 사물이나 풍경과 같은 주변 객체들의 상(image)을 반사시키는 매끄러운 면, 곡면, 광택을 가진 금속, 유리, 디스플레이 화면, 및/또는 거울에 해당할 수 있으며, 그 소재나 형태에 제약이 없을 수 있다.
예를 들어, 실세계 영상(510, 530, 550)으로부터 반사체가 검출되지 않은 경우, 프로세서(330)는 사용자의 음성 정보에 대응하여 생성한 사용자의 통화용 영상에 의해 영상 통화를 수행할 수 있다. 프로세서(330)가 사용자의 음성 정보에 대응하여 사용자의 통화용 영상을 생성하는 방법은 아래의 도 4의 음성-얼굴 특징점 변환 모듈(451)을 참조하여 후술한다.
실세계 영상으로부터 반사체가 검출된 경우, 프로세서(330)는 실세계 영상(510, 530, 550) 중 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 반사체의 위치 정보를 산출할 수 있다. 프로세서(330)는 예를 들어, 실세계 영상(510, 530, 550)에서 검출된 반사체로부터 반사체가 위치하는 방향을 확인할 수 있다. 또한, 프로세서(330)는 예를 들어, 이미지 센서, ToF(time of flight) 센서에 기반하여 반사체와의 거리를 확인할 수 있다. ToF 센서는 물체(예: 반사체)에서 반사되어 돌아오는 적외선을 발산할 수 있다. 프로세서(330)는 ToF 센서에서 적외선이 방출된 시간과 적외선이 물체(반사체)에 반사된 후 센서로 돌아온 시간 간의 차이에 의해 물체에 대한 거리를 측정할 수 있다.
이하, '반사체에 대응하는 영역의 영상'은 반사체에 비친 모습을 카메라 모듈(310)에 의해 캡쳐한 영상에 해당할 수 있다. 반사체에 대응하는 영역의 영상은 예를 들어, 사용자 뿐만 아니라 사용자 주변의 사물(들)을 포함할 수 있다.
실세계 영상(510, 530, 550)으로부터 반사체가 검출된 경우, 프로세서(330)는 반사체에 대응하는 영역의 영상이 얼굴을 포함하는 사용자의 적어도 신체 일부를 포함하는지 여부를 결정할 수 있다. 프로세서(330)는 예를 들어, 아래의 도 4를 통해 후술하는 영상 통화 어플리케이션(400)의 얼굴 인식 모듈(420) 및/또는 신체 인식 모듈(430)에 의해 반사체에 대응하는 영역의 영상이 사용자의 얼굴 및/또는 사용자의 적어도 신체 일부를 포함하는지 여부를 결정할 수 있다.
프로세서(330)는 예를 들어, 얼굴 인식 모듈(420)에 의해 카메라 모듈(310)이 캡쳐한 실세계 영상(510, 530, 550) 및/또는 반사체에 대응하는 영역의 영상이 사용자의 얼굴을 포함하는지 여부를 결정할 수 있다. 실세계 영상(510, 530, 550)이 사용자의 얼굴을 포함하지 않는다고 결정된 경우, 프로세서(330)는 실세계 영상(510, 530, 550)으로부터 사용자의 얼굴이 검출될 때까지 사용자의 음성 정보에 대응하여 생성한 사용자의 통화용 영상에 의해 영상 통화를 수행할 수 있다.
프로세서(330)는 반사체에 대응하는 영역의 영상이 얼굴을 포함하는 사용자의 적어도 신체 일부를 포함한다는 결정에 따라, 카메라 모듈(310)을 이용하여 획득한 실세계 영상(510, 530, 550) 및/또는 사용자의 반사체에 대응하는 영역의 영상을 이용하여 사용자의 통화용 영상을 생성할 수 있다.
프로세서(330)는 반사체에 대응하는 영역의 영상이 사용자의 적어도 신체 일부를 포함하지 않는다는 결정에 따라, 3차원 공간 내 사용자의 위치, 카메라 모듈(310)의 시야각, 및 반사체의 위치에 기초하여 반사체에 대응하는 영역의 영상으로부터 반사체의 위치 정보를 산출할 수 있다. 카메라 모듈(310)의 시야각은 예를 들어, 6 자유도(6 degree of freedom(DoF))를 포함할 수 있다. 프로세서(330)는 예를 들어, 반사체에 대응하는 영역의 영상에서 점광원의 상대적인 위치가 변화되면, 상대적인 위치의 변화량을 이용하여 3차원 정보를 추정함으로써 거리 및 방향을 포함하는 반사체의 위치 정보를 산출할 수 있다. 이때, 카메라 모듈(310)의 캘리브레이션(Calibration) 정보 및 초점 거리와 같은 초기값은 미리 주어질 수 있다.
프로세서(330)는 위치 정보에 따라 사용자가 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치(예: 도 1의 음향 출력 모듈(155) 및/또는 디스플레이 모듈(160))를 제어함으로써, 영상 통화의 상대방에게 전송할 사용자의 통화용 영상을 생성할 수 있다. 여기서, '반사체의 위치'는 해당 반사체에 사용자의 모습이 비칠 수 있는 범위 내의 위치에 해당할 수 있다. 예를 들어, 실세계 영상(510, 530, 550)으로부터 반사체는 검출되었으나, 반사체에 비친 객체를 캡쳐한 반사체에 대응하는 영역의 영상에서 사용자가 검출되지 않는 경우, 프로세서(330)는 위치 정보에 따라 사용자로 하여금 반사체에 사용자의 모습이 비칠 수 있는 위치로 이동하여 반사체에 대응하는 영역의 영상에 사용자의 얼굴 또는 신체 일부가 포함되도록 안내할 수 있다. 안내는 예를 들어, 오디오 모듈(예: 도 1의 음향 출력 모듈(155))을 통해 음성 형태로 제공될 수도 있고, 또는 웨어러블 전자 장치(300)의 디스플레이 모듈(예: 도 1의 디스플레이 모듈(160))의 화면에 텍스트 형태로 제공될 수도 있으나, 반드시 이에 한정되지는 않는다. 안내는 예를 들어, "오른쪽 11시 방향으로 1 미터 거리에 있는 거울 쪽으로 이동해 주세요." 또는 "거울이 있는 왼쪽 방향으로 한 걸음 이동해 주세요."와 같이 반사체로의 이동 방향 및 거리를 안내하는 문구를 포함할 수 있다.
프로세서(330)는 안내에 따라 반사체의 위치로 이동한 사용자가 반사체에 비친 모습을 캡쳐한 반사체에 대응하는 영역의 영상을 획득할 수 있다. 프로세서(330)는 반사체에 대응하는 영역의 영상을 이용하여 사용자의 통화용 영상을 생성할 수 있다. 프로세서(330)는 예를 들어, 사용자의 설정에 따라 반사체에 대응하는 영역의 영상 및/또는 실세계 영상을 그대로 사용자의 통화용 영상으로 이용할 수도 있고, 또는 반사체에 대응하는 영역의 영상 및/또는 실세계 영상을 이용하여 재구성한 재구성 영상을 사용자의 통화용 영상으로 이용할 수도 있다.
프로세서(330)는 예를 들어, 영상 통화의 상대방에게 전송할 사용자의 통화용 영상을 어떻게 표현할 것인지에 대한 사용자의 선택, 및/또는 카메라 모듈(310)에 의해 사용자의 얼굴 및 사용자의 적어도 신체 일부의 반사체에 대응하는 영역의 영상이 획득되는지 여부에 따라, 영상 통화의 상대방에게 전송할 사용자의 통화용 영상을 달리 생성할 수 있다. 프로세서(330)는 예를 들어, 입력 모듈(370)이 제공하는 사용자 인터페이스(user interface; UI)를 통해, 사용자의 통화용 영상을 어떻게 표현할 것인지에 대한 사용자의 선택을 입력받아 통화용 영상을 생성할 수도 있고, 또는 초기 설정에 따라 통화용 영상을 생성할 수도 있다. 사용자의 선택은 예를 들어, 반사체에 대응하는 영역의 영상을 사용자의 통화용 영상으로 결정하는 제1 선택, 반사체에 대응하는 영역의 영상을 이용하여 재구성한 재구성 영상을 사용자의 통화용 영상으로 결정하는 제2 선택, 및 반사체에 대응하는 영역의 영상을 이용하여 재구성한 그래픽 객체를 사용자의 통화용 영상으로 결정하는 제3 선택 중 적어도 하나를 포함할 수 있으나, 반드시 이에 한정되지는 않는다. 사용자는 예를 들어, 실세계 영상(510, 530, 550)을 사용자의 통화용 영상으로 사용하도록 설정할 수도 있다. 여기서, '그래픽 객체'는 예를 들어, 다양한 형태의 데이터를 시각화하여 표현한 객체에 해당할 수 있다. 그래픽 객체는 예를 들어, 사용자의 얼굴 및/또는 신체의 모습을 닮은 형태의 아바타, 동물, 인형, 만화 주인공과 같은 캐릭터, 및/또는 동적 이모지를 포함할 수 있으나, 반드시 이에 한정되지는 않는다.
예를 들어, 입력 모듈(370)에 제1 선택이 입력된 경우, 프로세서(330)는 카메라 모듈(310)에 의해 캡쳐된 반사체에 대응하는 영역의 영상을 그대로 사용자의 통화용 영상으로 결정할 수 있다.
입력 모듈(370)에 제2 선택이 입력된 경우, 프로세서(330)는 반사체에 대응하는 영역의 영상에 의해 사용자의 모습을 재구성한 재구성 영상을 생성할 수 있다. 프로세서(330)는 예를 들어, 반사체에 대응하는 영역의 영상과 메모리(390)에 기 저장된 사용자의 영상('기 저장된 영상')을 비교하여 반사체에 대응하는 영역의 영상이 기 저장된 영상의 어느 부분에 대응되는지를 확인할 수 있다. 프로세서(330)는 기 저장된 영상에서 반사체에 대응하는 영역의 영상에 대응되는 부분은 반사체에 대응하는 영역의 영상에 의해 업데이트('직접 업데이트')할 수 있다. 이하, '직접 업데이트'는 반사체에 대응하는 영역의 영상을 직접 사용하여 수행되는 업데이트를 의미할 수 있다. 프로세서(330)는 기 저장된 영상에서 반사체에 대응하는 영역의 영상에 대응되지 않는 부분은 예를 들어, 신경망에 의해 예측된 영상 또는 반사체에 대응하는 영역의 영상에 의해 워핑(warping)한 영상에 의해 업데이트('간접 업데이트') 함으로써 재구성 영상을 생성할 수 있다. 이하, '간접 업데이트'는 반사체에 대응하는 영역의 영상을 직접 사용하지 않고, 반사체에 대응하는 영역의 영상에 기초하여 생성된 영상을 사용하여 수행되는 업데이트를 의미할 수 있다. 프로세서(330)는 재구성 영상을 사용자의 통화용 영상으로 결정할 수 있다. 이때, '재구성 영상'은 예를 들어, 사용자의 얼굴 전체, 또는 사용자의 상반신 전체와 같은 사용자의 얼굴 일부 또는 사용자의 신체 일부가 가려지지 않고 모두 보이도록 재구성된 영상에 해당할 수 있다.
입력 모듈(370)에 제3 선택이 입력된 경우, 프로세서(330)는 반사체에 대응하는 영역의 영상 또는 재구성 영상에 대응하는 그래픽 객체를 생성할 수 있다. 예를 들어, 반사체에 대응하는 영역의 영상에 포함된 사용자의 얼굴 및/또는 사용자의 신체가 가려진 부분없이 모두 보이는 경우, 프로세서(330)는 반사체에 대응하는 영역의 영상에 대응하는 그래픽 객체를 생성할 수 있다. 이와 달리, 반사체에 대응하는 영역의 영상에 포함된 사용자의 얼굴 및/또는 사용자의 신체 일부가 가려진 경우, 프로세서(330)는 반사체에 대응하는 영역의 영상에 의해 사용자의 모습이 가려짐(occlusion) 없이 보이도록 재구성한 재구성 영상에 대응하는 그래픽 객체를 생성할 수 있다. 프로세서(330)는 그래픽 객체를 사용자의 통화용 영상으로 결정할 수 있다. 프로세서(330)가 재구성 영상을 생성하는 방법은 아래의 도 4의 영상 안정화 모듈(440)을 참조하여 후술한다. 또한, 프로세서(330)가 그래픽 객체를 생성하는 방법은 아래의 도 4의 아바타 생성 모듈(450)을 참조하여 후술한다.
통신 모듈(350)은 프로세서(330)가 생성한 사용자의 통화용 영상을 통화 상대방('수신자')의 단말에게 전송할 수 있다. 또한, 통신 모듈(350)은 통화 상대방의 단말로부터 전송된 수신자의 통화용 영상, 및/또는 통화 상대방의 단말에서 생성된 송신자의 통화용 영상을 수신할 수 있다.
입력 모듈(370)은 사용자의 통화용 영상에 대한 사용자의 선택을 입력받을 수 있다. 입력 모듈(370)은 예를 들어, 도 4를 통해 후술하는 영상 통화 어플리케이션이 웨어러블 전자 장치에 설치될 때에 초기 설정으로 통화용 영상으로 어떠한 영상을 사용할 지에 대한 사용자의 선택을 입력받을 수도 있다. 또는 입력 모듈(370)은 영상 통화 어플리케이션이 구동되는 시점에서 통화용 영상으로 어떠한 영상을 사용할 지에 대한 사용자의 선택을 입력받을 수도 있다.
메모리(390)는 사용자의 기 저장된 영상을 포함할 수 있다. 메모리(390)는 후술하는 음성 통화 어플리케이션(400)을 포함하는 적어도 하나의 프로그램을 저장할 수 있다. 또한, 메모리(390)는 프로세서(330)의 처리 과정에서 생성되는 다양한 정보를 저장할 수 있다. 이 밖에도, 메모리(390)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(390)는 휘발성 메모리(예: 도 1의 휘발성 메모리(132)) 또는 비휘발성 메모리(예: 도 1의 비휘발성 메모리(134))를 포함할 수 있다. 메모리(390)는 하드 디스크와 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
또한, 프로세서(330)는 도 1 내지 도 18을 통해 기술하는 웨어러블 전자 장치(300)와 관련된 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 기법을 수행할 수 있다. 프로세서(330)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 전자 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 웨어러블 전자 장치(300)은 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphic processing unit; GPU), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array), 및/또는 NPU(neural processing unit)를 포함할 수 있다.
도 4는 일 실시예에 따른 웨어러블 전자 장치에서 구동되는 영상 통화 어플리케이션의 구성을 도시한 도면이다. 도 4를 참조하면, 일 실시예에 따른 웨어러블 전자 장치(예: 도 1의 전자 장치(101), 및/또는 도 3의 웨어러블 전자 장치(300))에 설치 및/또는 구동되는 영상 통화 어플리케이션(400)은 반사체 검출 모듈(410), 얼굴 인식 모듈(420), 신체 인식 모듈(430), 영상 안정화 모듈(440), 및 아바타 생성 모듈(450)과 같은 모듈들을 포함할 수 있다. 영상 통화 어플리케이션(400)의 모듈들의 동작은 웨어러블 전자 장치(300)의 프로세서(330)에 의해 수행될 수 있다.
반사체 검출 모듈(410)은 웨어러블 전자 장치(300)에 포함된 카메라 모듈(예: 도 1의 카메라 모듈(180) 및/또는 도 3의 카메라 모듈(310))을 통해 획득한 영상(예: 사용자 주변의 실세계 영상)으로부터 반사체를 포함하는 반사체 영역을 획득하고, 반사체 영역에서 반사체를 검출할 수 있다. 반사체 검출 모듈(410)은 반사체의 검출을 위해 사용되는 공개된 기술(예: "Where Is My Mirror?", Yang et al., 2019)을 사용하여 반사체를 검출할 수 있으나, 반드시 이에 한정되지는 않는다. 반사체 검출 모듈(410)에 의해 검출된 반사체의 반사체에 대응하는 영역의 영상은 카메라 모듈(310)에 의해 캡쳐될 수 있다. 반사체 검출 모듈(410)이 반사체를 검출하는 방법은 아래의 도 5를 참조하여 설명한다.
얼굴 인식 모듈(420)은 반사체 검출 모듈(410)이 검출한 반사체 영역에 비친 사용자의 얼굴을 인식할 수 있다. 얼굴 인식 모듈(420)은 카메라 모듈(310)에 의해 캡쳐된 영상(예: 반사체에 대응하는 영역의 영상)에 포함된 얼굴을 검출하고, 얼굴에서 눈, 눈썹, 코, 및/또는 입과 같은 랜드마크들(landmarks)를 검출할 수 있다. 얼굴 인식 모듈(420)은 랜드마크들로부터 특징점들을 추출하고, 추출한 특징점들이 미리 저장된 사용자의 얼굴 특징점들과 일치하는지를 비교함으로써 반사체 영역에서 검출한 얼굴이 사용자의 얼굴인지를 인식할 수 있다.
신체 인식 모듈(430)은 반사체 검출 모듈(410)이 검출한 반사체 영역에 비친 사용자의 얼굴을 제외한 적어도 일부의 신체를 인식할 수 있다. 신체 인식 모듈(430)은 카메라 모듈(310)에 의해 캡쳐된 영상(예: 반사체에 대응하는 영역의 영상)에 포함된 적어도 신체 일부를 인식 및 검출할 수 있다. 신체 인식 모듈(430)은 얼굴 인식 모듈(420)과 마찬가지의 방법으로 캡쳐된 영상 내에 포함된 사용자의 적어도 신체 일부를 검출할 수 있다.
얼굴 인식 모듈(420) 및 신체 인식 모듈(430) 각각의 검출 결과는 얼굴과 적어도 신체 일부를 포함하는 사각형(예: 바운딩 박스(bounding box))의 좌표 값이 될 수 있다. 얼굴 인식 모듈(420) 및 신체 인식 모듈(430) 각각이 목적하는 객체(예: 얼굴, 신체)를 인식하는 데에는 공개된 다양한 얼굴 및/또는 신체 인식 기술들이 활용될 수 있다.
일 실시예에 따르면, 얼굴 인식 모듈(420) 및/또는 신체 인식 모듈(430)은 일정 시간 동안 얼굴 또는 신체의 일부가 가려지더라도 기 획득된 얼굴 또는 신체의 일부를 토대로 가려진 위치의 얼굴 및/또는 신체의 영상을 추정할 수도 있다.
영상 안정화 모듈(440)은 반사체 영역에서 획득한 반사체에 대응하는 영역의 영상에 기반하여 영상 통화의 상대방에게 전송할 안정화된 영상을 생성할 수 있다. 여기서, '안정화된 영상'은 예를 들어, 영상의 떨림이나 블러(blur) 뿐만 아니라, 영상 일부의 가려짐을 다양한 영상 처리 기법을 통해 해소하여 재구성한 영상으로 이해될 수 있다.
영상 안정화 모듈(440)은 예를 들어, 영상, 얼굴, 및/또는 신체의 인식 결과를 바탕으로 영상의 떨림이나, 반사체에 의한 얼굴, 및/또는 신체의 가려짐에 대응하여 사용자의 통화용 영상에 표시될 사용자의 모습을 안정적으로 재구성할 수 있다. 예를 들어, 반사체에 대응하는 영역의 영상에 포함된 사용자의 얼굴 및/또는 신체의 일부가 가려진 경우, 영상 안정화 모듈(440)은 기 저장된 영상과 캡쳐된 영상을 함께 이용하여 사용자의 얼굴 및/또는 신체의 가려진 부분이 모두 보이도록 영상을 재구성할 수 있다. 영상 안정화 모듈(440)의 보다 구체적인 동작을 아래의 도 6을 참조하여 설명한다.
아바타 생성 모듈(450)은 사용자의 음성 신호, 및/또는 영상 안정화 모듈(440)의 결과로써 획득한 영상(예: 얼굴 영상, 신체 영상, 및/또는 재구성된 영상)을 입력받아 아바타와 같은 다양한 형태의 그래픽 객체로 변환할 수 있다. 또한, 아바타 생성 모듈(450)은 예를 들어, 다양한 입력 신호를 바탕으로 기 저장된 사진, 동영상, 2차원 아바타 객체, 및/또는 3차원 아바타 객체를 조작할 수 있다. 이때, 사진, 동영상, 2차원 아바타 객체, 및/또는 3차원 아바타 객체는 예를 들어, 웨어러블 전자 장치(300)의 메모리(390)에 저장될 수도 있고, 웨어러블 전자 장치(300)와 연결된 PC, 혹은 클라우드 서버에 저장될 수도 있다.
아바타 생성 모듈(450)은 여러 개의 서브 모듈들을 포함할 수 있다. 서브 모듈들은 예를 들어, 음성-얼굴 특징점 변환 모듈(A)(451), 얼굴 특징점 추출 모듈(B)(453), 신체 특징점 추출 모듈(C)(455), 얼굴 재현 모듈(D)(457), 및/또는 특징점 기반 아바타 조작 모듈(E)(459)를 포함할 수 있다.
음성-얼굴 특징점 변환 모듈(A)(451)은 음성 신호로부터 얼굴을 이루는 얼굴 특징점을 예측할 수 있다. 음성-얼굴 특징점 변환 모듈(A)(451)은 예를 들어, 음성 신호를 녹음하는 동시에, 음성 신호에 대응하는 얼굴 영상도 같이 캡쳐하고, 음성 신호에 대응하는 얼굴 영상의 특징점들을 추출하여 생성한 학습 데이터에 의해 학습된 딥 러닝 모델을 이용할 수 있다. 음성-얼굴 특징점 변환 모듈(A)(451)은 학습된 딥 러닝 모델을 이용하여 음성 신호에 대응하는 얼굴 특징점들을 획득할 수 있다. 예를 들어, 학습된 딥 러닝 모델에 음성 신호("가자")가 입력되면, 딥 러닝 모델은 "가자"를 발화하는 얼굴 영상의 특징점들을 추출하여 출력할 수 있다.
얼굴 특징점 추출 모듈(B)(453)은 얼굴 영상으로부터 얼굴 특징점들을 추출할 수 있다. 얼굴 특징점 추출 모듈(B)(453)은 예를 들어, AAM(active appearance models)(Cootes et al., 1998), 3DMM(3D morphable models)(Blanz and Vetter, 2003), Kazemi(Kazemi and Sullivan), 딥러닝 기반의 Subpixel Heatmap Regression, AnchorFace, PFLD(Practical Facial Landmark Detector)과 같은 잘 알려진 특징 추출 알고리즘을 사용하거나, 또는 딥 러닝 기반의 특징 추출 알고리즘에 의해 얼굴 영상으로부터 얼굴 특징점들을 추출할 수 있으나, 반드시 이에 한정되지는 않는다.
신체 특징점 추출 모듈(C)(455)은 신체 영상으로부터 신체 특징점들을 추출할 수 있다. 신체 특징점 추출 모듈(C)(455)은 예를 들어, 인간 신체 데이터베이스를 이용하여 파악한 신체의 구조적 비례 정보에 따라 신체 영상으로부터 특징점들을 추출할 수 있으나, 반드시 이에 한정되지는 않는다.
얼굴 재현 모듈(D)(457)은 딥 러닝 네트워크를 통해 사용자의 얼굴 영상을 타인의 얼굴로 변환할 수 있다. 얼굴 재현 모듈(D)(457)이 사용자의 얼굴 영상을 타인의 얼굴로 변환하는 방법은 아래의 도 7을 참조하여 설명한다.
특징점 기반 아바타 조작 모듈(E)(459)은 얼굴 특징점 및/또는 신체 특징점을 바탕으로 2차원 아바타 객체 또는 3차원 아바타 객체를 조작할 수 있다. 특징점 기반 아바타 조작 모듈(E)(459)은 얼굴 특징점들 및/또는 신체 특징점들을 입력으로 하여 아바타의 형태를 변경할 수 있다. 특징점 기반 아바타 조작 모듈(E)(459)은 음성 신호에 기초하여 획득한 얼굴 특징점들을 아바타의 형태 변경에 이용할 수도 있다.
일 실시예에 따른 프로세서(330)는 아바타 생성 모듈(450)의 서브 모듈들 중 일부 모듈만을 선택적으로 사용할 수도 있다. 프로세서(330)는 예를 들어, 영상 안정화 모듈(440)의 결과와 사용자의 사전 설정 각각에 근거하여 아바타 생성에 사용할 서브 모듈(들)을 동적으로 결정할 수도 있고, 또는, 영상 안정화 모듈(440)의 결과와 사용자의 사전 설정 두 가지 모두에 근거하여 아바타 생성에 사용할 서브 모듈(들)을 동적으로 결정할 수 있다.
예를 들어, 아래의 도 8에 도시된 것과 같이 사용자(예: 송신자)의 모습이 거울에 비치지 않고, 음성 신호와 같은 음성 정보만이 전달되는 경우, 프로세서(330)는 음성-얼굴 특징점 변환 모듈(A)(451)과 특징점 기반 아바타 조작 모듈(E)(459)을 이용하여 송신자의 아바타를 구현할 수 있다. 이와 달리, 아래의 도 9에 도시된 것과 같이 사용자(예: 송신자)의 모습이 거울에 비치는 경우, 프로세서(330)는 얼굴 특징점 추출 모듈(B)(453), 신체 특징점 추출 모듈(C)(455), 및 특징점 기반 아바타 조작 모듈(E)(459)을 사용하여 송신자의 아바타를 구현할 수 있다.
예를 들어, 영상 통화 시에 송신자가 자신의 영상 대신에, 송신자가 원하는 연예인의 사진으로 자신을 표현하도록 설정한 경우, 프로세서(330)는 얼굴 재현 모듈(D)(457)을 단독으로 사용하여 송신자의 아바타를 구현할 수 있다.
일 실시예에 따른 영상 통화 어플리케이션(400)의 사용자는 영상 통화 시의 송신자 표시 방법을 선택할 수 있다. 송신자 표시 방법은 영상 통화 시에 통화 상대방에게 자신의 모습을 어떻게 보여줄 지와 같이 선택 가능한 사용자의 모습 표시 방법에 해당할 수 있다. 송신자 표시 방법은 예를 들어, 웨어러블 전자 장치(300)로 입력되는 사용자의 데이터에 따라 달라질 수 있다. 송신자 표시 방법 별로 관여하는 영상 통화 어플리케이션(400)의 각 모듈 또한 달라 질 수 있다. 송신자 표시 방법 별로 사용되는 영상 통화 어플리케이션(400)의 각 모듈은 아래의 [표 1]과 같이 정리할 수 있다.
일 실시예에 따른 웨어러블 전자 장치(300)는 예를 들어, 카메라 모듈(310)에서 사용자의 얼굴 및/또는 사용자의 신체가 획득되는지 여부, 및/또는 사용자가 선택한 송신자 표시 방법에 따라 영상 안정화 모듈(440) 및 아바타 생성 모듈(450)의 세부 모듈들 각각의 사용 여부를 결정할 수 있다. [표 1]에서 모듈 A 내지 모듈E는 각각 음성-얼굴 특징점 변환 모듈(451), 얼굴 특징점 추출 모듈(453), 신체 특징점 추출 모듈(455), 얼굴 재현 모듈(457), 및 특징점 기반 아바타 조작 모듈(459)에 해당할 수 있다. [표 1]의 데이터 부분에서 송신자 표시 방법 별로 사용되는 데이터에는 '○'가 표시되고, 사용되지 않는 데이터에는 'X'가 표시되며, 데이터 유무가 상관없는 경우에는 '-'가 표시될 수 있다.
예를 들어, 사용자가 영상 통화 시에 카메라 모듈(310)에서 캡쳐된 모습 그대로를 사용하고자 하는 경우, 사용자는 송신자 표시 방법으로 '처리되지 않은 동영상'을 선택 또는 설정할 수 있다. '처리되지 않은 동영상'이 선택 또는 설정된 경우, 웨어러블 전자 장치(300)는 구비된 카메라 모듈(310)에서 출력되는 영상을 그대로 통화용 영상으로 상대방에게 전송할 수 있다. 이 경우, 구분 a 와 같이 웨어러블 전자 장치(300)는 영상 안정화 모듈(440) 및 아바타 생성 모듈(450)을 포함하는 영상 통화 어플리케이션(400)의 모든 모듈들을 사용하지 않을 수 있다.
예를 들어, 사용자가 영상 통화 시에 카메라 모듈(310)에 의해 캡쳐된 영상(예: 거울에 비친 반사체에 대응하는 영역의 영상)을 보정 또는 재구성하여 사용하고자 하는 경우, 사용자는 송신자 표시 방법으로 '안정화된 영상'을 선택 또는 설정할 수 있다. '안정화된 영상'이 선택 또는 설정된 경우, 웨어러블 전자 장치(300)는 캡쳐된 영상을 영상 안정화 모듈(440)에 의해 보정 및/또는 거울에 비친 사용자의 완전한 모습을 재구성한 재구성 영상('안정화된 영상')을 통화용 영상으로 상대방에게 전송할 수 있다.
이때, 구분 b와 같이, 반사체에 대응하는 영역의 영상에서 사용자의 얼굴이 인식된 경우, 웨어러블 전자 장치(300)는 사용자의 얼굴(또는 상반신을 포함)의 전체 모습을 포함하는 안정화된 영상을 통화용 영상으로 상대방에게 전송할 수 있다. 또한, 구분 c와 같이, 반사체에 대응하는 영역의 영상에서 사용자의 신체가 인식되는 경우, 웨어러블 전자 장치(300)는 사용자의 전신을 포함하는 안정화된 영상을 통화용 영상으로 상대방에게 전송할 수 있다.
또한, 사용자가 영상 통화 시에 카메라 모듈에 의해 캡쳐된 영상 대신에 그래픽 객체(예: 아바타)를 사용하고자 하는 경우, 사용자는 송신자 표시 방법으로 특징점 기반 아바타 생성 방식과 재현 기반 아바타 생성 방식 중 어느 하나를 선택 또는 설정할 수 있다.
예를 들어, '특징점 기반 아바타' 생성 방식이 선택 또는 설정된 경우, 웨어러블 전자 장치(300)는 구분 d-g와 같이 캡쳐된 영상에 포함된 사용자의 모습을 특징점 기반으로 다양하게 재구성한 그래픽 객체(예 2차원 아바타 객체, 3차원 아바타 객체)를 통화용 영상으로 상대방에게 전송할 수 있다.
예를 들어, 구분 d와 같이, 송신자 표시 방법으로 '특징점 기반 아바타' 생성 방식이 선택되었으나, 사용자의 얼굴 및 신체가 캡쳐된 영상이 없고, 사용자의 음성만이 입력될 수 있다. 사용자의 음성만이 입력되면, 영상 통화 어플리케이션(400)의 얼굴 특징점 추출 모듈(B)(453), 및 신체 특징점 추출 모듈(C)(455)은 동작하지 않으므로, 웨어러블 전자 장치(300)는 음성-얼굴 특징점 변환 모듈(A)(451)을 사용하여 획득한 얼굴 특징점을 바탕으로 특징점 기반 아바타 조작 모듈(E)(459)을 구동시킬 수 있다.
일 실시예에서, 송신자 표시 방법으로 '특징점 기반 아바타' 생성 방식이 선택된 경우, 아바타 변환 모듈(450)은 입력 받는 데이터의 종류에 따라 특징점 기반 아바타 조작 모듈(E)(459)에 필요한 특징점을 서로 다른 모듈로부터 제공받을 수 있다.
예를 들어, 구분 e 또는 구분 f와 같이, 사용자의 얼굴 또는 사용자의 얼굴 및 신체가 포함된 영상(또는 동영상)이 캡쳐될 수 있다. 얼굴 특징점 추출 모듈(B)(453), 및/또는 신체 특징점 추출 모듈(C)(455)에서 얼굴 특징점 및/또는 신체 특징점이 추출될 수 있다. 특징점 기반 아바타 조작 모듈(E)(459)은 추출된 얼굴 특징점 및/또는 신체 특징점에 기초한 아바타의 움직임을 계산할 수 있다. 이때, 캡쳐된 영상으로부터 얼굴 특징점이 추출되느냐, 또는 얼굴 특징점과 신체 특징점이 함께 추출되느냐에 따라 구분 e 또는 f가 동적으로 결정될 수 있다.
또는 예를 들어, 구분 g와 같이, 사용자의 얼굴을 제외한 신체가 포함된 영상이 캡쳐되고, 사용자의 음성이 입력될 수 있다. 이 경우, 신체 특징점 추출 모듈(C)(455)에서 추출된 신체 특징점은 있으나, 사용자의 얼굴이 인식되지 않는다. 웨어러블 전자 장치(300)는 음성-얼굴 특징점 변환 모듈(A)(451)에 의해 음성 신호로부터 얼굴 특징점을 생성하고, 얼굴 특징점과 신체 특징점 추출 모듈(C)(455)에서 추출된 신체 특징점에 기초하여 특징점 기반 아바타 조작 모듈(E)(459)을 구동시킬 수 있다.
또한, 전술한 바와 같이, 사용자가 영상 통화 시에 카메라 모듈(310)에 의해 캡쳐된 영상 대신에 그래픽 객체(예: 아바타)를 사용하고자 하는 경우, 사용자는 송신자 표시 방법으로 특징점 기반 아바타 생성 방식과 재현 기반 아바타 생성 방식 중 어느 하나를 선택 또는 설정할 수 있다.
영상 통화 시의 송신자 표시 방법으로 재현 기반 아바타 생성 방식이 선택 또는 설정된 경우, 웨어러블 전자 장치는 얼굴 재현 모듈(D)(457)에 의해 생성된 아바타 얼굴을 사용하여 사용자의 모습을 표현할 수 있다. 이때, 재현 기반 아바타 생성 방식이 선택되면, 웨어러블 전자 장치는 입력되는 데이터의 유형에 따라, 얼굴 재현 모듈(457)에서 서로 다른 얼굴 재현 방식으로 재현된 얼굴에 기반하여 아바타를 생성할 수 있다.
아바타 생성 모듈(450)에서 아바타 생성 시에 입력 데이터의 유형 별로 얼굴 재현 모듈(D)(457)과 함께 사용되는 모듈들은 아래의 [표 2]와 같이 정리할 수 있다.
예를 들어, 구분 h 및 k와 같이, 얼굴 영상이 캡쳐되지 않고, 음성 정보만 입력된 경우, 얼굴 재현 모듈(D)(457)은 음성-얼굴 재현 방식에 의해 사용자의 얼굴을 재현할 수 있다. 아바타 생성 모듈(450)은 얼굴 재현 모듈(D)(457)에서 음성-얼굴 재현 방식에 의해 재현된 얼굴을 사용하여 아바타를 생성할 수 있다.
예를 들어, 구분 i및 j와 같이, 얼굴 영상이 캡쳐된 경우, 아바타 생성 모듈(450)은 얼굴 특징점 추출 모듈(B)(453)에 의해 얼굴 특징점을 추출하여 얼굴의 위치를 인식할 수 있다. 또한, 구분 i및 j와 같이, 얼굴 영상이 캡쳐된 경우, 얼굴 재현 모듈(D)(457)은 영상-얼굴 재현 방식에 기반하여 사용자의 얼굴을 재현할 수 있다. 얼굴 재현 모듈(D)(457)은 딥러닝 기술을 바탕으로 얼굴에서 별도의 특징점을 추출하는 과정 없이, 사용자의 얼굴과 아바타로 사용할 사진 또는 동영상을 사용하여, 사용자의 얼굴 표정을 아바타에 적용할 수 있다. 아바타 생성 모듈(450)은 얼굴 재현 모듈(D)(457)에서 영상-얼굴 재현 방식에 의해 재현된 얼굴을 사용하여 아바타를 생성할 수 있다. 또한, 구분 j, 및 k와 같이, 사용자의 신체 영상이 캡쳐된 경우, 아바타 생성 모듈(450)은 얼굴 재현 모듈(D)(457)에 의해 재현된 사용자의 얼굴 텍스쳐를 3차원 아바타 모델의 머리에 투영하고, 신체 특징점 추출 모듈(C)(455)에 의해 신체 영상으로부터 추출한 신체 특징점을 바탕으로 3차원 아바타 모델을 생성 및/또는 조작할 수 있다. 프로세서(330)는 아바타 생성 모듈(450)에 의해 아바타 모델의 얼굴과 신체가 서로 다른 방식으로 조작되도록 할 수 있다.
프로세서(330)는 전술한 경우들 이외에도 다양한 상황들에 맞게 아바타 생성 모듈(450)의 일부 모듈만을 사용할 수도 있다. 예컨대, 사용자가 신체 부분을 제외한 자신의 얼굴만을 전송하도록 설정한 경우, 프로세서(330)는 신체 특징점 추출 모듈(C)(455)을 제외한 나머지 서브 모듈들을 사용하여 사용자의 아바타를 구현할 수 있다.
프로세서(330)가 다양한 상황들 별로 아바타 생성 모듈(450)의 서브 모듈들을 동적으로 선택하여 사용자의 통화용 영상(예: 아바타 생성)의 생성하는 방법은 아래의 도 8 내지 도 10을 참조하여 후술한다.
도 5는 일 실시예에 따라 실세계 영상으로부터 반사체를 검출하는 과정을 설명하기 위한 도면이다. 도 5를 참조하면, 일 실시예에 따른 반사체 검출 모듈(예: 도 4의 반사체 검출 모듈(410))은 카메라 모듈(예: 도 1의 카메라 모듈(180) 및/또는 도 3의 카메라 모듈(310))에 의해 획득된 실세계 영상들(510, 530, 550)로부터 반사체가 있을 것으로 판단되는 영상 내 일부 영역들을 사각형 형태의 바운딩 박스(515, 535, 555)로 검출할 수 있다. 또는, 반사체 검출 모듈(410)은 실세계 영상들(510, 530, 550)로부터 반사체에 대응하는 반사체 영역(520, 540, 560)을 검출할 수도 있다. 일 실시예에 따른 반사체 검출 모듈(410)은 실세계 영상들(510, 530, 550)로부터 반사체 영역(520, 540, 560)만을 정확하게 검출하지는 않아도 될 수 있다.
일 실시예에 따른 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))는 실세계 영상들(510, 530, 550) 내에서 반사체의 위치가 산출되면, 사용자에게 반사체의 위치를 알려 사용자로 하여금 반사체에 접근하도록 유도함으로써 반사체에 비친 사용자의 모습이 카메라 모듈(310)에 포착되도록 할 수 있다.
도 6은 일 실시예에 따른 영상 통화 어플리케이션의 영상 안정화 모듈의 동작을 설명하기 위한 도면이다. 도 6을 참조하면, 일 실시예에 따른 반사체에서 사용자의 모습 전부가 비친 반사체에 대응하는 영역의 영상(610), 통화용 영상(620), 사용자의 모습 일부가 비친 반사체에 대응하는 영역의 영상(630), 현재 송신자의 전체 모습을 업데이트한 재구성 영상(640), 기 저장된 사용자의 영상(650), 및 이전에 획득한 사용자의 모습을 포함하는 재구성 영상(660)이 도시된다.
예를 들어, 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))를 착용한 사용자(예: 송신자)의 움직임 또는 떨림에 의해 반사체에 대응하는 영역의 영상(630)과 같이 사용자의 모습의 일부가 반사체에 비치지 않거나, 다른 물체에 의해 사용자의 모습이 가려져 보이지 않는 상황이 발생할 수 있다. 또는, 사용자의 움직임에 따라 사용자의 모습이 반사체의 프레임에 가려져 반사체에 사용자의 모습 일부가 비춰지지 않게 되거나, 또는 반사체에 비춰진 사용자의 모습이 확대 또는 축소되는 크기 변화가 수반되는 상황이 발생될 수 있다.
웨어러블 전자 장치(300)는 영상 안정화 모듈(예: 도 4의 영상 안정화 모듈(440))을 통해 전술한 다양한 상황들에서의 사용자(송신자)의 상태에 무관하게 영상 통화의 상대방인 수신자가 송신자의 모습을 온전하게 볼 수 있도록 재구성한 재구성 영상을 제공할 수 있다. 영상 안정화 모듈(440)은 예를 들어, 이전에 획득한 사용자의 모습(예: 기 저장된 사용자의 영상(650))과 현재 반사체로부터 획득한 사용자의 모습의 일부를 포함하는 반사체에 대응하는 영역의 영상(630)을 토대로 현재 송신자의 전체 모습을 업데이트한 재구성 영상(640)을 생성하거나, 및/또는 사용자의 가려짐이 해소될 때까지 이전에 획득한 사용자의 모습(예: 기 저장된 사용자의 영상(650))을 포함하는 재구성 영상(660)을 반복하여 보여줌으로써 수신자가 송신자의 모습을 온전하게 볼 수 있도록 할 수 있다.
또한, 영상 안정화 모듈(440)은 예를 들어, 얼굴 인식 모듈(420), 및/또는 신체 인식 모듈(430)에서 인식된 얼굴 및/또는 신체 부분의 흔들림 및/또는 흐림(blur)를 보정한 안정화된 영상을 생성할 수 있다. 영상 안정화 모듈(440)은 예를 들어, 흔들리는 영상을 CNN 네트워크 구조와 LSTM 네트워크 구조를 통한 특징 추출 결과와 비교하여 이전 프레임과 현재 프레임 간의 특징점 위치 차이를 통해 특징점의 이동 크기와 방향의 반대로 영상을 변환함으로써 안정화된 영상을 생성할 수 있다. 영상 안정화 모듈(440)은 이 밖에도 알려진 다양한 영상 안정화 기법들을 사용하여 안정화된 영상 및/또는 안정화된 재구성 영상(640, 660)을 생성할 수 있다.
일 실시 예에 따르면, 웨어러블 전자 장치(300)는 사용자의 선택 또는 설정에 따라, 영상 통화 시에 아바타를 사용하지 않고 반사체에 대응하는 영역의 영상(610)과 같이 거울의 비친 사용자의 모습을 그대로 영상 통화용 영상(620)으로 사용할 수도 있다. 이 때, 웨어러블 전자 장치(300)는 영상 안정화 모듈(440)에 의해 반사체에 대응하는 영역의 영상(610)의 흔들림 및/또는 블러를 보정한 영상을 통화용 영상으로 상대방에게 제공할 수 있다.
영상 안정화 모듈(440)은 예를 들어, 영역(670)과 같이 직접 영상을 획득할 수 있는 부분은 해당 영역(670)에 대응하는 반사체에 대응하는 영역의 영상으로 직접 업데이트할 수 있다. 영상 안정화 모듈(440)은 영역(670)과 달리, 직접 영상을 획득할 수 없는 영역(680)에 대하여는 예를 들어, 딥 러닝에 의해 예측된 영상으로 간접 업데이트할 수 있다.
도 7은 일 실시예에 따른 영상 통화 어플리케이션의 얼굴 재현 모듈의 동작을 설명하기 위한 도면이다. 도 7을 참조하면, 일 실시예에 따른 영상 통화 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))의 얼굴 재현 모듈(D)(457)이 사용자의 얼굴 영상(710) 대신에 사용자에 의해 선택된 얼굴 영상(720)에 의해 재현한 얼굴 영상(730)을 나타낸 도면(700)이 도시된다.
사용자는 영상 통화 어플리케이션(400)에서 사용자 본인의 얼굴을 대신하는 실제 인물의 사진 또는 이모지와 같은 그래픽 객체를 아바타로 사용하도록 설정할 수 있다. 이때, 사용자 본인의 표정을 반영하는 아바타의 얼굴 생성 방법으로 특징점 기반 방식과 재현 기반 방식 중 어느 하나가 사용될 수 있다.
재현 기반 방식은 특징점 기반 방식에 비해 더욱 정교한 얼굴 표현이 가능하지만, 그 결과가 2차원의 동영상과 같은 형태로 출력될 수 있다. 예를 들어, 수신자가 아래 도 9의 도면(950)과 같이 증강 현실(AR) 또는 가상 현실(VR) 환경에 있을 경우, 통화용 영상으로 실제 아바타가 아닌 동영상을 출력하는 사용자 인터페이스(UI)와 흡사한 형태로 결과물이 표현될 수 있다.
얼굴 재현 모듈(D)(457)은 예를 들어, 영상-얼굴 재현 방식에 기반하여 사용자의 얼굴을 재현할 수 있다. 얼굴 재현 모듈(D)(457)은 딥러닝 기술을 바탕으로 얼굴에서 별도의 특징점을 추출하는 과정 없이, 사용자의 얼굴과 아바타로 사용할 사진 또는 동영상을 사용하여, 사용자의 얼굴 표정을 아바타에 적용할 수 있다. 아바타 생성 모듈(450)은 얼굴 재현 모듈(D)(457)에서 영상-얼굴 재현 방식에 의해 재현된 얼굴을 사용하여 아바타를 생성할 수 있다.
아바타 생성 모듈(450)은 얼굴 재현 모듈(D)(457)에 의해 재현된 사용자의 얼굴 텍스쳐를 3차원 아바타 모델의 얼굴에 투영할 수 있다.
또는, 사용자의 신체 영상이 캡쳐된 경우, 아바타 생성 모듈(450)은 얼굴 재현 모듈(D)(457)에 의해 재현된 사용자의 얼굴 텍스쳐를 3차원 아바타 모델의 머리에 투영하고, 신체 특징점 추출 모듈(C)(455)에 의해 신체 영상으로부터 추출한 신체 특징점을 바탕으로 3차원 아바타 모델을 생성 및/또는 조작할 수 있다.
도 8은 일 실시예에 따른 웨어러블 전자 장치를 착용한 사용자가 영상 통화를 수행하는 방법을 설명하기 위한 도면이다. 도 8을 참조하면, 일 실시예에 따른 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))를 착용한 사용자가 영상 통화 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))을 구동하였으나, 음성만이 전달되는 경우의 동작을 설명하기 위한 도면(800)이 도시된다.
예를 들어, 도면(810)과 같이, 사용자가 웨어러블 전자 장치(300)를 착용한 상태에서 영상 통화 어플리케이션(400)을 실행하면, 웨어러블 전자 장치(300)는 카메라 모듈(예: 도 1의 카메라 모듈(180) 및/또는 도 3의 카메라 모듈(310))에서 캡쳐된 영상에 반사체, 사용자로 추정되는 얼굴, 및/또는 신체를 인식하여 검출을 시도할 수 있다. 웨어러블 전자 장치(300)는 예를 들어, 도 4의 영상 통화 어플리케이션(400)의 반사체 검출 모듈(410), 얼굴 인식 모듈(420), 및 신체 인식 모듈(430)을 통해 반사체, 사용자의 얼굴, 및/또는 사용자의 신체를 인식할 수 있다.
도면(820)과 같이, 반사체 검출 모듈(410)의 인식 결과로써 캡쳐된 반사체에 대응하는 영역의 영상에서 사용자로부터 멀리 떨어진 반사체(예: 거울)만이 인식되고, 반사체에 비친 사용자는 인식되지 않을 수 있다. 이 경우, 웨어러블 전자 장치(300)는 반사체의 위치를 사용자에게 표시할 수 있다.
예를 들어, 사용자의 영상은 인식되지 않았으나, 사용자의 음성 신호만이 입력된다면, 웨어러블 전자 장치(300)는 도면(830)과 같은 과정을 통해 사용자의 음성 신호(831)로부터 사용자의 통화용 영상(837)을 생성할 수 있다.
웨어러블 전자 장치(300)는 사용자의 발화에 의해 발생한 음성 신호(831)를 음성-얼굴 특징점 변환 모듈(451)로 전달할 수 있다. 음성-얼굴 특징점 변환 모듈(451)은 음성 신호(831)를 사람의 얼굴 특징점들(833)으로 변환할 수 있다. 이때, 사용자가 영상 통화 어플리케이션(400)에서 사용자의 얼굴 대신 아바타의 얼굴(또는 사람의 얼굴)(835)를 사용하도록 설정했다면, 웨어러블 전자 장치(300)는 사람의 얼굴 특징점들(833)을 아바타의 얼굴(835)에 반영할 수 있다. 아바타의 얼굴(835)은 예를 들어, 사용자가 지정해 둔 아바타의 얼굴일 수도 있고, 영상 통화 어플리케이션(400)에 기본적으로 설정되어 있는 아바타의 얼굴일 수도 있으나, 반드시 이에 한정되지는 않는다. 아바타의 얼굴(835)로는 예를 들어, 가상의 애니메이션 캐릭터, 만화 캐릭터, 및/또는 실제 사람의 얼굴이 활용될 수 있으나, 반드시 이에 한정되지는 않는다.
웨어러블 전자 장치(300)는 특징점 기반 아바타 조작 모듈(459)을 통해 음성 신호(831)와 연관된 얼굴 표정, 다시 말해, 사람의 얼굴 특징점들(833)을 아바타의 얼굴(835)에 반영하여 사용자의 통화용 영상(837)을 생성할 수 있다. 웨어러블 전자 장치(300)는 영상 통화의 상대방('수신자')에게 사용자의 통화용 영상(837)을 전송하여 영상 통화를 수행할 수 있다.
상대방은 사용자의 통화용 영상(837)으로 화면에 표시된 아바타의 얼굴을 볼 수 있고, 실제 사용자의 음성 신호를 들을 수 있으므로, 아바타와 영상 통화를 하는 것처럼 느낄 수 있다. 아바타로는 예를 들어, 가상의 애니메이션 캐릭터, 및/또는 실제 사람의 얼굴이 활용될 수 있다.
도 9는 일 실시예에 따른 웨어러블 전자 장치를 착용한 사용자가 영상 통화를 수행하는 방법을 설명하기 위한 도면이다. 도 9를 참조하면, 일 실시예에 따른 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))를 착용한 사용자의 모습이 도면(910)과 같이 반사체에 반사되는 경우에 영상 통화를 수행하는 방법을 설명하기 위한 도면(900)이 도시된다.
예를 들어, 도면(910)과 같이 웨어러블 전자 장치(300)를 착용한 사용자가 반사체 쪽으로 이동하여, 반사체에 사용자의 모습이 표시될 수 있다.
이러한 상황에서, 사용자가 영상 통화 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))을 실행하면, 웨어러블 전자 장치(300)는 카메라 모듈(예: 도 1의 카메라 모듈(180) 및/또는 도 3의 카메라 모듈(310))에서 캡쳐된 영상에 반사체, 사용자로 추정되는 얼굴, 및/또는 신체를 인식하여 검출을 시도할 수 있다. 웨어러블 전자 장치(300)는 예를 들어, 도 4의 영상 통화 어플리케이션(400)의 반사체 검출 모듈(410), 얼굴 인식 모듈(420), 및 신체 인식 모듈(430)을 통해 반사체, 사용자의 얼굴, 및/또는 사용자의 신체를 인식할 수 있다.
얼굴 인식 모듈(420)을 통해 반사체에 대응하는 영역의 영상에서 거울에 비친 사용자의 모습이 확인되면, 웨어러블 전자 장치(300)는 영상 통화 어플리케이션(400)을 통해 인식된 얼굴 영상이 사용자 본인의 얼굴이 맞는지 여부를 확인할 수 있다.
웨어러블 전자 장치(300)는 예를 들어, 도면(920)과 같이 거울에 비친 사용자의 모습을 캡쳐한 영상('반사체에 대응하는 영역의 영상')과 함께 "본인의 얼굴이 맞습니까"와 같은 질문에 대한 사용자의 답변을 피드백 받는 방식으로 인식된 얼굴 영상이 사용자 본인의 얼굴이 맞는지를 확인할 수 있다. 또는, 웨어러블 전자 장치(300)는 영상 통화 어플리케이션(400)을 통해 거울에 비친 사용자의 모습을 캡쳐한 영상('반사체에 대응하는 영역의 영상')을 사전에 저장된 사용자의 얼굴과 비교함으로써 인식된 얼굴 영상이 사용자 본인의 얼굴이 맞는지를 확인할 수 있다. 이 경우, 사용자에 대한 확인 동작은 생략될 수 있다.
도면(920)을 통해 전술한 과정에서 본인 여부가 확인된 사용자의 얼굴은 저장되었다가 추후 재사용될 수 있다. 예를 들어, 영상 통화 진행 중에 사용자의 얼굴이 잠시 보이지 않았다가 다시 보일 수 있다. 이때, 카메라 모듈(310)을 통해 캡쳐된 다시 보인 얼굴이 저장된 얼굴과 매칭된다면, 웨어러블 전자 장치(300)는 사용자 확인을 다시 시도하지 않을 수 있다.
캡쳐한 영상에 대한 얼굴 인식이 완료되면, 웨어러블 전자 장치(300)는 도면(930)에 도시된 과정들을 통해 사용자의 통화용 영상(937)을 생성할 수 있다. 웨어러블 전자 장치(300)는 얼굴 인식 모듈(420)을 통해 인식된 얼굴 영상(931)을 얼굴 특징점 추출 모듈(451)로 전달할 수 있다. 얼굴 특징점 추출 모듈(451)은 인식된 얼굴 영상(931)에서 얼굴 특징점들(933)을 추출할 수 있다.
예를 들어, 사용자가 영상 통화 어플리케이션(400)에서 사용자의 얼굴 대신 아바타의 얼굴(또는 사람의 얼굴)(935)를 사용하도록 설정했다면, 웨어러블 전자 장치(300)는 사람의 얼굴 특징점들(933)을 아바타의 얼굴(935)에 반영할 수 있다. 아바타의 얼굴(935)은 예를 들어, 사용자가 지정해 둔 아바타의 얼굴일 수도 있고, 영상 통화 어플리케이션(400)에 기본적으로 설정되어 있는 아바타의 얼굴일 수도 있으나, 반드시 이에 한정되지는 않는다. 웨어러블 전자 장치(300)는 특징점 기반 아바타 조작 모듈(459)을 통해 사람의 얼굴 특징점들(933)을 아바타의 얼굴(935)에 반영하여 사용자의 통화용 영상(937)을 생성할 수 있다.
또한, 일 실시예에 따르면, 사용자의 모습이 전신 거울에 비치고, 카메라 모듈에 의해 전신 거울에 비친 사용자의 전신을 포함하는 반사체에 대응하는 영역의 영상이 캡쳐될 수 있다. 이 경우, 웨어러블 전자 장치(300)는 신체 인식 모듈(430)을 통해 반사체에 대응하는 영역의 영상으로부터 사용자의 전신을 인식하여 사용자의 전신 영상을 검출할 수 있다. 웨어러블 전자 장치(300)는 신체 특징점 추출 모듈(455)에 의해 전신 영상으로부터 신체 특징점들을 추출하고, 추출한 신체 특징점들을 특징점 기반 아바타 조작 모듈(459)에 전달하여 3차원 아바타의 조작에 활용할 수 있다. 전술한 동작은 얼굴 특징점 추출 모듈(453) 및 특징점 기반 아바타 조작 모듈(459)과는 별도로 수행될 수 있다.
일 실시예에 따른 웨어러블 전자 장치(300)는 도면(950)과 같이, 예를 들어, 수신자가 실제 환경에 있는 경우, 실제 환경을 위한 통화용 영상(957)을 생성하고, 수신자가 증강 현실(AR) 또는 가상 현실(VR) 환경에 있는 경우, 증강 현실(AR) 또는 가상 현실(VR) 환경을 위한 통화용 영상(959)을 생성할 수 있다.
웨어러블 전자 장치(300)는 얼굴 인식 모듈(420)을 통해 인식된 얼굴 영상(951)을 얼굴 특징점 추출 모듈(451)로 전달할 수 있다. 얼굴 특징점 추출 모듈(451)은 인식된 얼굴 영상(951)에서 얼굴 특징점들(953)을 추출할 수 있다. 이때, 사용자가 영상 통화 어플리케이션(400)에서 사용자 대신에 사용자가 지정한 아바타(955)를 사용하도록 설정했다면, 웨어러블 전자 장치(300)는 얼굴 특징점들(953)을 아바타(955)의 얼굴에 반영할 수 있다. 이때, 신체 인식 모듈(430)을 통해 반사체에 대응하는 영역의 영상으로부터 검출된 사용자의 전신 영상이 있다면, 웨어러블 전자 장치(300)는 신체 특징점 추출 모듈(455)에 의해 전신 영상으로부터 추출한 신체 특징점들을 특징점 기반 아바타 조작 모듈(459)에 전달하여 아바타(955)의 조작에 활용할 수 있다. 웨어러블 전자 장치(300)는 얼굴 특징점들(953), 신체 특징점들을 아바타(955)에 반영하여 통화용 영상(957,959)을 생성할 수 있다.
예를 들어, 사용자가 실제 환경에 있다면, 웨어러블 전자 장치(300)는 얼굴 특징점들(953), 신체 특징점들을 아바타(955)에 반영한 통화용 영상(957)을 생성할 수 있다.
이와 달리, 사용자가 증강 현실(AR) 또는 가상 현실(VR) 환경에 있다면, 웨어러블 전자 장치(300)는 증강 현실(AR) 또는 가상 현실(VR) 환경에 가상의 휴대폰을 생성 및 표시하고, 가상의 휴대폰 화면에 얼굴을 포함하는 전신 영상이 표현된 아바타가 표현된 통화용 영상(959)을 생성할 수 있다. 이때, 가상의 휴대폰 화면에 표시되는 아바타는 실제 아바타가 아닌 동영상을 출력하는 사용자 인터페이스(UI)와 유사한 형태로 표현될 수 있다.
일 실시예에서 사용자가 지정한 아바타(955)는 얼굴 특징점에 대응되는 3차원 모델의 제어 포인트가 사전에 미리 정의되어 있으므로, 웨어러블 전자 장치(300)는 얼굴 특징점 추출 모듈(451)이 추출한 얼굴 특징점들(953)에 따라 아바타(955)의 얼굴 표정을 자유자재로 변경할 수 있다. 또한, 웨어러블 전자 장치(300)는 예를 들어, 일반적인 디스플레이 환경, 및/또는 증강 현실(AR) 또는 가상 현실(VR) 환경과 같은 수신자의 영상 통화 환경에 맞게 아바타(955)의 3차원 모델을 표시할 수 있다.
도 10은 일 실시예에 따른 웨어러블 전자 장치를 착용한 사용자가 영상 통화를 수행하는 방법을 설명하기 위한 도면이다. 도 10을 참조하면, 일 실시예에 따른 반사체에 반사된 사용자의 모습에 변화가 발생한 경우에 사용자의 아바타를 업데이트하여 영상 통화를 수행하는 방법을 설명하기 위한 도면(1000)이 도시된다.
예를 들어, 도면(1010)과 같이, 거울에 비친 사용자의 모습이 얼굴로 한정되는 경우, 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))는 얼굴 특징점 추출 모듈(453)에 의해 얼굴 특징점을 추출할 수 있으나, 신체 특징점 추출 모듈(455)은 신체 특징점을 추출할 수 없다. 이 경우, 특징점 기반 아바타 조작 모듈(459)은 얼굴 특징점을 토대로 아바타를 조작할 수 있다.
반면, 도면(1020)과 같이, 거울에 비친 사용자의 모습이 얼굴에서 전신으로 변경되는 경우, 웨어러블 전자 장치(300)는 도면(1030)과 같은 과정을 통해 통화용 영상(1036)을 생성할 수 있다.
예를 들어, 반사체에 대응하는 영역의 영상이 사용자의 전신 모습을 포함하는 경우, 특징점 추출 모듈(453)은 전신 영상 중 얼굴(1031)에 대응하는 얼굴 특징점들(1032)을 추출하고, 신체 특징점 추출 모듈(455)은 전신(1033)에 대응하는 신체 특징점들(1034)을 추출할 수 있다.
얼굴 특징점들(1032) 및 신체 특징점들(1034)은 특징점 기반 아바타 조작 모듈(459)이 아바타를 조작하는데 이용될 수 있다.
예를 들어, 사용자가 지정한 아바타(1035)가 있다면, 특징점 기반 아바타 조작 모듈(459)은 얼굴 특징점들(1032) 및 신체 특징점들(1034)을 바탕으로 아바타(1035)의 움직임을 조작할 수 있다. 이때, 특징점 기반 아바타 조작 모듈(459)에 전달되는 여러 특징점들이 변경됨에 따라, 통화용 영상(1036)에 표시된 아바타의 업데이트 영역이 변경될 수 있다. 다시 말해, 거울에 비치는 사용자의 모습이 도면(1010)에서 도면(1020)과 같이 변경되는 경우, 통화용 영상(1036)에 아바타의 업데이트 영역은 제1 업데이트 영역(1037)에서 제 2 업데이트 영역(1038)으로 동적으로 변경될 수 있다. 웨어러블 전자 장치(300)는 예를 들어, 제1 업데이트 영역(1037)에 대해 직접 업데이트를 수행하고, 제2 업데이트 영역(1038)에 대해 간접 업데이트를 수행될 수 있다.
예를 들어, 사용자가 거울로부터 멀리 떨어져 있어 얼굴 특징점 추출 모듈(453)에 의해 얼굴 특징점이 추출되지 못하는 경우, 웨어러블 전자 장치(300)는 신체 특징점 추출 모듈(455)에 의해 추출한 신체 특징점들(1034)과 음성 신호를 통해 예측된 얼굴 특징점을 바탕으로 아바타의 전신에 해당하는 제2 업데이트 영역(1038)을 간접 업데이트할 수 있다. 또는, 예를 들어, 신체 특징점 추출 모듈(455)이 신체 특징점을 추출할 수 없을 만큼 사용자가 거울로부터 과도하게 멀어지거나, 사용자가 거울에서 사라지는 경우와 같이 얼굴 특징점들 및 신체 특징점들을 제대로 추출할 수 없는 경우, 웨어러블 전자 장치(300)는 음성-얼굴 특징점 변환 모듈(451)에 의해 음성 신호를 토대로 추출한 얼굴 특징점들에 의해 아바타의 얼굴에 해당하는 제1 업데이트 영역(1037)을 직접 업데이트할 수 있다.
도 11은 일 실시예에 따른 웨어러블 전자 장치의 동작 방법을 나타낸 흐름도이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
동작 1110에서, 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))는, 웨어러블 전자 장치(300)에서 영상 통화를 위한 어플리케이션이 실행됨에 응답하여, 사용자 주변의 실세계 영상(예: 도 3의 실세계 영상(510, 530, 550))을 획득할 수 있다.
동작 1120에서, 웨어러블 전자 장치(300)는 동작 1110에서 획득한 실세계 영상(510, 530, 550)으로부터 반사체를 검출할 수 있다.
동작 1130에서, 웨어러블 전자 장치(300)는 실세계 영상(510, 530, 550) 중 동작 1120에서 검출한 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 반사체의 위치 정보를 산출할 수 있다. 웨어러블 전자 장치(300)가 반사체의 위치 정보를 산출하는 방법은 아래의 도 12를 참조하여 설명한다.
동작 1140에서, 웨어러블 전자 장치(300)는 동작 1130에서 산출한 위치 정보에 따라 사용자가 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치(예: 도 1의 음향 출력 모듈(155) 및/또는 디스플레이 모듈(160))를 제어함으로써, 영상 통화의 상대방에게 전송할 사용자의 통화용 영상(예: 도 8의 통화용 영상(837), 도 9의 통화용 영상(937, 957, 959), 및/또는 도 10의 통화용 영상(1035), 1036))을 생성할 수 있다. 웨어러블 전자 장치(300)는 예를 들어, 반사체에 대응하는 영역의 영상이 사용자의 적어도 신체 일부를 포함한다는 결정에 따라, 웨어러블 전자 장치(300)에 구비된 카메라 모듈(예: 도 1의 카메라 모듈(180) 및/또는 도 3의 카메라 모듈(310))을 이용하여 획득한 반사체에 대응하는 영역의 영상을 이용하여 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성할 수 있다.
웨어러블 전자 장치(300)는 안내에 따라 반사체의 위치로 이동한 사용자가 반사체에 비친 반사체에 대응하는 영역의 영상을 획득하고, 반사체에 대응하는 영역의 영상을 이용하여 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성할 수 있다. 웨어러블 전자 장치(300)가 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 방법은 아래의 도 13을 참조하여 설명한다.
도 12는 일 실시예에 따라 반사체에 비친 반사체에 대응하는 영역의 영상으로부터 위치 정보를 산출하는 방법을 나타낸 흐름도이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
동작 1210에서, 실세계 영상(예: 도 5의 실세계 영상들(510, 530, 550))으로부터 반사체가 검출된 경우, 웨어러블 전자 장치(300)는 반사체에 대응하는 영역의 영상이 얼굴을 포함하는 사용자의 적어도 신체 일부를 포함하는지 여부를 결정할 수 있다.
동작 1220에서, 반사체에 대응하는 영역의 영상이 사용자의 적어도 신체 일부를 포함하지 않는다는 결정에 따라, 웨어러블 전자 장치(300)는 3차원 공간 내 사용자의 위치, 카메라 모듈(예: 도 1의 카메라 모듈(180), 및/또는 도 3의 카메라 모듈(310))의 시야각, 및 반사체의 위치에 기초하여 반사체의 위치 정보를 산출할 수 있다.
도 13은 일 실시예에 따라 영상 통화의 상대방에게 전송한 사용자의 통화용 영상을 생성하는 방법을 나타낸 흐름도이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
동작 1310에서, 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))는 반사체에 대응하는 영역의 영상을 사용자의 통화용 영상(예: 도 8의 통화용 영상(837), 도 9의 통화용 영상(937, 957, 959), 및/또는 도 10의 통화용 영상(1035), 1036))으로 결정하는 제1 선택, 반사체에 대응하는 영역의 영상을 이용하여 재구성한 재구성 영상(예: 도 6의 재구성 영상(640, 660))을 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제2 선택, 및 반사체에 대응하는 영역의 영상을 이용하여 재구성한 그래픽 객체를 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제3 선택 중 어느 하나의 사용자의 선택을 입력받을 수 있다.
동작 1320에서, 웨어러블 전자 장치(300)는 카메라 모듈(예: 도 1의 카메라 모듈(180) 및/또는 도 3의 카메라 모듈(310))에 의해 사용자의 얼굴 및 사용자의 적어도 신체 일부를 포함하는 반사체에 대응하는 영역의 영상이 획득되는지 여부 및 사용자의 선택 중 적어도 하나에 따라, 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성할 수 있다. 예를 들어, 제1 선택이 입력된 경우, 웨어러블 전자 장치(300)는 반사체에 대응하는 영역의 영상을 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정할 수 있다. 예를 들어, 제2 선택이 입력된 경우, 웨어러블 전자 장치(300)는 반사체에 대응하는 영역의 영상에 의해 사용자의 모습을 재구성한 재구성 영상(640, 660)을 생성할 수 있다. 웨어러블 전자 장치(300)는 반사체에 대응하는 영역의 영상과 사용자의 기 저장된 영상을 비교하여 반사체에 대응하는 영역의 영상이 기 저장된 영상의 어느 부분에 대응되는지를 확인할 수 있다. 웨어러블 전자 장치(300)는 기 저장된 영상에서 반사체에 대응하는 영역의 영상에 대응되는 부분은 반사체에 대응하는 영역의 영상에 의해 업데이트하고, 기 저장된 영상에서 반사체에 대응하는 영역의 영상에 대응되지 않는 부분은 신경망에 의해 예측된 영상에 의해 업데이트함으로써 사용자의 통화용 영상을 재구성할 수 있다. 웨어러블 전자 장치(300)는 재구성 영상(640, 660)을 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정할 수 있다. 또는, 웨어러블 전자 장치(300)는 제3 선택에 따라, 반사체에 대응하는 영역의 영상에 대응하여 사용자의 통화용 영상을 재구성한 그래픽 객체를 생성할 수 있다.
도 14는 일 실시예에 따른 웨어러블 전자 장치(300)의 동작 방법을 나타낸 흐름도이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
동작 1410에서, 웨어러블 전자 장치(예: 도 1의 전자 장치(101) 및/또는 도 3의 웨어러블 전자 장치(300))는 사용자가 웨어러블 전자 장치(300)를 착용하고, 영상 통화 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))을 실행하면, 구비된 카메라 모듈(예: 도 1의 카메라 모듈(180) 및/또는 도 3의 카메라 모듈(310))을 통해 주변의 실세계 영상(도 5의 실세계 영상들(510, 530, 550))을 획득할 수 있다.
동작 1420에서, 웨어러블 전자 장치(300)는 동작 1420에서 획득한 실세계 영상(510, 530, 550)에서 반사체가 검출되는지 판단할 수 있다. 웨어러블 전자 장치(300)는 반사체 검출 모듈(410)에 의해 실세계 영상(510, 530, 550) 내 반사체를 검출할 수 있다. 동작 1420에서 반사체가 검출되지 않는다고 판단되면, 동작 1460에서 웨어러블 전자 장치(300)는 사용자의 음성 정보(예: 도 8의 음성 신호(831))에 따라 아바타를 업데이트할 수 있다. 웨어러블 전자 장치(300)는 동작 1460의 수행 후에, 도 14에 도시된 것과 같이 사용자가 영상 통화를 종료함에 따라 동작을 종료할 수도 있고, 또는 동작 1420에서 반사체를 검출하여 반사체에 비친 인물이 있는지를 반복적으로 확인할 수도 있다.
이와 달리, 동작 1420에서 반사체가 검출된다고 판단되면, 동작 1430에서 웨어러블 전자 장치(300)는 반사체에 비친 인물이 있는지 판단할 수 있다. 웨어러블 전자 장치(300)는 예를 들어, 얼굴 인식 모듈(420) 및/또는 신체 인식 모듈(430)에 의해 실세계 영상(510, 530, 550)으로부터 인물을 검출할 수 있다. 동작 1430에서 반사체에 비친 인물이 없다고 판단되면, 동작 1440에서, 웨어러블 전자 장치(300)는 3차원 공간 내 사용자의 위치와 카메라의 시야각(예: 6 DoF)) 및 반사체의 위치에 기초하여 사용자가 반사체에 비친 모습을 확인할 수 있도록 사용자 인터페이스(UI) 가이드를 제공할 수 있다. 웨어러블 전자 장치(300)는 사용자 인터페이스 가이드를 통해 사용자가 반사체에 접근하도록 유도할 수 있다.
동작 1430에서 반사체에 비친 인물이 있다고 판단되면, 동작 1450에서 웨어러블 전자 장치(300)는 반사체에 비친 인물이 사용자인지를 판단할 수 있다. 웨어러블 전자 장치(300)는 영상 통화 어플리케이션(400)의 얼굴 인식 모듈(420)에 의해 반사체로부터 캡쳐한 반사체에 대응하는 영역의 영상 내에서 얼굴이 인식되면, 해당 얼굴이 사용자의 얼굴인지를 확인할 수 있다.
동작 1450에서 반사체에 비친 인물이 사용자가 아니라고 판단되면, 웨어러블 전자 장치(300)는 동작 1460을 통해 사용자의 음성 정보에 따라 아바타를 업데이트할 수 있다. 웨어러블 전자 장치(300)는 예를 들어, 반사체로부터 획득한 반사체에 대응하는 영역의 영상 내에서 사용자로 확인되는 얼굴이 검출될 때까지, 아바타 생성 모듈(450)의 음성-얼굴 특징점 변환 모듈(451) 및 특징점 기반 아바타 조작 모듈(459)을 통해 사용자의 음성 정보에 따라 아바타를 업데이트할 수 있다.
동작 1450에서 반사체에 비친 인물이 사용자라고 판단되면, 동작 1470에서 웨어러블 전자 장치(300)는 반사체에 비친 사용자를 검출하고, 검출된 사용자의 영상 정보, 다시 말해 반사체에 대응하는 영역의 영상에 따라 아바타를 업데이트할 수 있다. 동작 1450에서 반사체에 비친 인물, 다시 말해 반사체에 대응하는 영역의 영상에 포함된 인물이 사용자라고 판단되면, 웨어러블 전자 장치(300)는 반사체에 대응하는 영역의 영상 내 검출 결과를 영상 안정화 모듈(440)의 입력으로 전달할 수 있다. 웨어러블 전자 장치(300)는 영상 안정화 모듈(440) 및 아바타 생성 모듈(450)의 처리 결과에 따라 사용자의 아바타를 영상 정보에 기초하여 업데이트할 수 있다.
동작 1480에서, 사용자가 영상 통화를 종료함에 따라 웨어러블 전자 장치(300)는 동작을 종료할 수 있다.
전술한 동작 1420, 동작 1430, 동작 1440, 및 동작 1450은 반사체로부터 캡쳐한 반사체에 대응하는 영역의 영상에서 사용자의 모습이 확인될 때까지 반복적으로 수하여 수행될 수 있다.
도 15는 일 실시예에 따른 영상 통화 어플리케이션에 의해 송신자 단말과 수신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다. 도 15를 참조하면, 일 실시예에 따라 서로 동일한 영상 통화 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))이 설치된 송신자 단말(1510)과 수신자 단말(1550) 중 송신자 단말(1510) 측의 네트워크 상황이 좋지 않아 영상과 같은 대용량의 데이터를 전송하기 어려운 상황이 발생한 경우에 영상 통화를 수행하는 방법을 설명하기 위한 도면(1500)이 도시된다. 이하, 각 단말에 설치된 영상 통화 어플리케이션(400)에서 실선으로 표시된 모듈은 활성화된 모듈을 나타내고, 점선으로 표시된 모듈은 비활성화된 모듈을 나타낼 수 있다.
전술한 바와 같이, 송신자 단말(1510) 측의 네트워크 상황이 좋지 않아 영상과 같은 대용량의 데이터를 전송하기 어려운 경우, 영상 통화 어플리케이션(400)은 예를 들어, 송신자 단말(1510)과 수신자 단말(1550) 간의 네트워크 상황과 송신자 단말(1510)과 수신자 단말(1550) 각각의 프로세서 점유율을 고려하여 송신자의 모습을 표현하기 위한 통화용 영상(예: 도 8의 통화용 영상(837), 도 9의 통화용 영상(937, 957, 959), 및/또는 도 10의 통화용 영상(1035), 1036))을 생성하는 동작 중 일부를 수신자 단말(1550) 측에서 수행하도록 위임할 수 있다. 도 15에 도시된 영상 통화용 어플리케이션의 각 모듈들(1520, 1525, 1530, 1535, 1540 및/또는 1560, 1565,1570, 1575)은 도 4에 도시된 영상 통화용 어플리케이션(400)의 모듈들(410, 420, 430, 440, 450) 각각에 대응할 수 있다.
이 경우, 송신자 단말(1510)은 영상 통화 어플리케이션(400)의 반사체 검출 모듈(1520)에 의해 영상으로부터 반사체를 검출할 수 있다. 얼굴 인식 모듈(420) 및 신체 인식 모듈(430)은 반사체로부터 캡쳐한 반사체에 대응하는 영역의 영상으로부터 얼굴 및/또는 신체를 인식 및 검출할 수 있다.
얼굴 특징점 추출 모듈(1542)은 반사체에 대응하는 영역의 영상에서 인식된 얼굴로부터 2차원 또는 3차원 좌표 형태의 얼굴 특징점들을 추출할 수 있다. 또한, 신체 특징점 추출 모듈(1543)은 반사체에 대응하는 영역의 영상에서 인식된 신체로부터 2차원 또는 3차원 좌표 형태의 신체 특징점들을 추출할 수 있다. 영상 어플리케이션은 추출한 얼굴 특징점들 및/또는 신체 특징점들을 수신자 단말(1550) 측으로 전송할 수 있다.
수신자 단말(1550)은 송신자 단말(1510)이 전송한 2차원 또는 3차원 좌표 형태의 얼굴 및/또는 신체 특징점들을 토대로 특징점 기반 아바타 조작 모듈(1585)을 이용하여 송신자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 사용될 아바타를 생성 및/또는 조작할 수 있다. 수신자 단말(1550)은 특징점 기반 아바타 조작 모듈(1585)에 의해 생성된 송신자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 송신자 단말(1510)의 사용자(송신자)에게 보여줄 수 있다. 이러한 경우, 수신자 단말(1550)이 생성한 송신자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 송신자 단말(1510)이 수신할 때까지 시간이 소요될 수 있다.
도 16은 일 실시예에 따른 영상 통화 어플리케이션에 의해 송신자 단말과 수신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다. 도 16을 참조하면, 일 실시예에 따라 서로 동일한 영상 통화 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))이 설치된 송신자 단말(1510)과 수신자 단말(1550) 중 송신자 단말(1510) 측의 프로세서(예: 도 1의 프로세서(120), 및/또는 도 3의 프로세서(330)) 점유율이 높아 영상 안정화 모듈(1535) 및 아바타 생성 모듈(1540)의 구동이 어려운 상황에서 영상 통화를 수행하는 방법을 설명하기 위한 도면(1600)이 도시된다.
예를 들어, 영상 통화를 수행하고자 하는 송신자 단말(1510) 측의 프로세서(330) 점유율이 높아 영상 안정화 모듈(1535) 및 아바타 생성 모듈(1540)의 구동이 어려운 상황에서 영상 통화의 상대방인 수신자 단말(1550) 측의 프로세서(330) 점유율에 여유가 있을 수 있다.
이 경우, 송신자 단말(1510)은 반사체 검출 모듈(1520)에 의해 캡쳐한 반사체에 대응하는 영역의 영상과 얼굴 인식 모듈(1525) 및/또는 신체 인식 모듈(1530)에 의해 인식된 얼굴 인식 결과 및/또는 신체 인식 결과를 수신자 단말(1550) 측에 전송할 수 있다. 송신자 단말(1510)은 전송한 반사체에 대응하는 영역의 영상, 얼굴 인식 결과 및/또는 신체 인식 결과에 대한 처리(예: 영상 안정화 및/또는 아바타 생성)를 수신자 단말(1550)이 수행하도록 할 수 있다.
반사체에 대응하는 영역의 영상, 얼굴 인식 결과 및/또는 신체 인식 결과를 수신한 수신자 단말(1550)은 영상 안정화 모듈(1575)에 의해 안정화된 영상을 아바타 생성 모듈(1580)로 전달하여 송신자의 통화용 영상(예: 도 8의 통화용 영상(837), 도 9의 통화용 영상(937, 957, 959), 및/또는 도 10의 통화용 영상(1035), 1036))으로 사용될 아바타를 생성 및/또는 조작할 수 있다. 수신자 단말(1550)은 아바타 생성 모듈(1580)에 의해 생성된 송신자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 송신자 단말(1510)의 사용자(송신자)에게 보여줄 수 있다.
이러한 경우, 수신자 단말(1550)이 생성한 송신자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 송신자 단말(1510)이 수신할 때까지 시간이 소요될 수 있다.
도 17은 일 실시예에 따른 영상 통화 어플리케이션이 설치된 송신자 단말과 다른 영상 통화 어플리케이션이 설치된 수신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다. 도 17을 참조하면, 일 실시예에 따른 영상 통화 어플리케이션(예: 도 4의 영상 통화 어플리케이션(400))이 설치된 송신자 단말(1510)과 타사 영상 통화 어플리케이션이 설치된 수신자 단말(1710) 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면(1700)이 도시된다.
일 실시 예에 따르면, 영상 통화의 상대방인 수신자 단말(1710)은 일 실시예에 따른 영상 통화 어플리케이션(400)과 동일한 영상 통화 어플리케이션(400)을 사용할 필요는 없다. 수신자 단말(1710)이 다른 영상 통화 어플리케이션을 사용하더라도, 송신자 단말(1710)이 반사체 검출 모듈(1520), 얼굴 인식 모듈(1525), 신체 인식 모듈(1530), 영상 안정화 모듈(1535) 및 아바타 생성 모듈(1540)을 사용하여 실세계 영상에 대한 모든 처리를 수행한 통화용 영상(예: 도 8의 통화용 영상(837), 도 9의 통화용 영상(937, 957, 959), 및/또는 도 10의 통화용 영상(1035), 1036))을 생성한 후, 이를 수신자 단말(1710)에게 전송함으로써 영상 통화가 수행될 수 있다.
도 18은 일 실시예에 따른 영상 통화 어플리케이션이 설치된 수신자 단말과 음성 통화 어플리케이션이 설치된 송신자 단말 간에 영상 통화를 수행하는 방법을 설명하기 위한 도면이다. 도 18을 참조하면, 일 실시예에 따른 송신자 단말(1810)이 수신자 단말(1550)에게 음성 정보만을 전송하는 경우에 영상 통화를 수행하는 방법을 설명하기 위한 도면(1800)이 도시된다.
예를 들어, 송신자 단말(1810)이 음성 통화 어플리케이션(예: 도 4의 음성 통화 어플리케이션(400))을 사용하여 수신자 단말(1550)에게 음성 정보만이 전송되는 경우, 수신자 단말(1550)은 영상 통화 어플리케이션(400)의 아바타 생성 모듈(1580)에 기본적으로 저장되어 있는 아바타와, 음성-얼굴 특징점 변환 모듈(1581)에서 송신자의 음성 정보(예: 도 8의 음성 신호(831))를 얼굴 특징점으로 변환한 결과를 토대로, 특징점 기반 아바타 조작 모듈(1585)을 이용하여 송신자의 음성 정보(831)에 따라 얼굴 모양이 조작되는 아바타를 송신자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 생성할 수 있다.
수신자 단말(1550)은 송신자 단말(1810)로부터 음성 정보(831)만이 전송되더라도, 수신자 단말(1550)에서 생성한 송신자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 영상 통화 화면에서 송신자 측 화면으로 표시함으로써 수신자가 송신자와 실제 얼굴을 보면서 영상 통화를 수행하는 것과 같이 느끼도록 할 수 있다.
일 실시예에 따르면, 웨어러블 전자 장치(101, 300)는 웨어러블 전자 장치(101, 300)에서 영상 통화를 위한 어플리케이션(400)이 실행됨에 응답하여, 사용자 주변의 실세계 영상(510, 530, 550)을 획득하는 카메라 모듈(180, 310), 상기 실세계 영상(510, 530, 550)으로부터 반사체를 검출하고, 상기 실세계 영상(510, 530, 550) 중 상기 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 상기 반사체의 위치 정보를 산출하며, 상기 위치 정보에 따라 상기 사용자가 상기 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치(155. 160)를 제어함으로써, 상기 영상 통화의 상대방에게 전송할 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 프로세서(120, 330), 및 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 전송하는 통신 모듈(190, 350)을 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 실세계 영상(510, 530, 550)으로부터 상기 반사체가 검출된 경우, 상기 반사체에 대응하는 영역의 영상이 얼굴을 포함하는 상기 사용자의 적어도 신체 일부를 포함하는지 여부를 결정하고, 상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함하지 않는다는 결정에 따라, 3차원 공간 내 상기 사용자의 위치, 상기 카메라 모듈(180, 310)의 시야각, 및 상기 반사체의 위치에 기초하여 상기 위치 정보를 산출할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 실세계 영상(510, 530, 550)으로부터 상기 반사체가 검출되지 않는 경우, 상기 사용자의 음성 정보(831)에 대응하여 생성한 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)에 의해 상기 영상 통화를 수행할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함한다는 결정에 따라, 상기 카메라 모듈(180, 310)을 이용하여 획득한 상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 안내에 따라 상기 반사체의 위치로 이동한 상기 사용자가 상기 반사체에 비친 반사체에 대응하는 영역의 영상을 획득하고, 상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성할 수 있다.
일 실시예에 따른 웨어러블 전자 장치(101, 300)는 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)에 대한 상기 사용자의 선택을 입력받는 입력 모듈(150, 370)을 더 포함하고, 상기 프로세서(120, 330)는 상기 카메라 모듈(180, 310)에 의해 상기 사용자의 얼굴 및 상기 사용자의 적어도 신체 일부를 포함하는 상기 반사체에 대응하는 영역의 영상이 획득되는지 여부 및 상기 사용자의 선택 중 적어도 하나에 따라, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하고, 상기 사용자의 선택은 상기 반사체에 대응하는 영역의 영상을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제1 선택, 상기 반사체에 대응하는 영역의 영상을 이용하여 재구성한 재구성 영상(640, 660)을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제2 선택, 및 상기 반사체에 대응하는 영역의 영상을 이용하여 재구성한 그래픽 객체를 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제3 선택 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 제1 선택이 입력된 경우, 상기 반사체에 대응하는 영역의 영상을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 제2 선택이 입력된 경우 상기 반사체에 대응하는 영역의 영상에 의해 상기 사용자의 모습을 재구성한 재구성 영상(640, 660)을 생성하고, 상기 재구성 영상(640, 660)을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정할 수 있다.
일 실시예에 따르면, 상기 웨어러블 전자 장치(101, 300)는 상기 사용자의 기 저장된 영상(650)을 포함하는 메모리(130, 390)를 더 포함하고, 상기 프로세서(120, 330)는 상기 반사체에 대응하는 영역의 영상과 상기 사용자의 기 저장된 영상(650)을 비교하여 상기 반사체에 대응하는 영역의 영상이 상기 기 저장된 영상(650)의 어느 부분에 대응되는지를 확인하고, 상기 기 저장된 영상(650)에서 상기 반사체에 대응하는 영역의 영상에 대응되는 부분은 상기 반사체에 대응하는 영역의 영상에 의해 업데이트하고, 상기 기 저장된 영상(650)에서 상기 반사체에 대응하는 영역의 영상에 대응되지 않는 부분은 신경망에 의해 예측된 영상에 의해 업데이트함으로써 상기 재구성 영상(640, 660)을 생성할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 제3 선택이 입력된 경우, 상기 반사체에 대응하는 영역의 영상 또는 상기 재구성 영상(640, 660)에 대응하는 그래픽 객체를 생성하고, 상기 그래픽 객체를 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정할 수 있다.
일 실시예에 따르면, 상기 프로세서(120, 330)는 상기 실세계 영상(510, 530, 550)이 상기 사용자의 얼굴을 포함하지 않는 경우, 상기 실세계 영상(510, 530, 550)으로부터 상기 사용자의 얼굴이 검출될 때까지 상기 사용자의 음성 정보(831)에 대응하여 생성한 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)에 의해 상기 영상 통화를 수행할 수 있다.
일 실시예에 따르면, 웨어러블 전자 장치(101, 300)의 동작 방법은 웨어러블 전자 장치(101, 300)에서 영상 통화를 위한 어플리케이션(400)이 실행됨에 응답하여, 사용자 주변의 실세계 영상(510, 530, 550)을 획득하는 동작 1110, 상기 실세계 영상(510, 530, 550)으로부터 반사체를 검출하는 동작 1120, 상기 실세계 영상(510, 530, 550) 중 상기 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 상기 반사체의 위치 정보를 산출하는 동작 1130, 및 상기 위치 정보에 따라 상기 사용자가 상기 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치(155, 160)를 제어함으로써, 상기 영상 통화의 상대방에게 전송할 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작 1140을 포함할 수 있다.
일 실시예에 따르면, 상기 위치 정보를 산출하는 동작은 상기 실세계 영상(510, 530, 550)으로부터 반사체가 검출된 경우, 상기 반사체에 대응하는 영역의 영상이 얼굴을 포함하는 상기 사용자의 적어도 신체 일부를 포함하는지 여부를 결정하는 동작 1210, 및 상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함하지 않는다는 결정에 따라, 3차원 공간 내 상기 사용자의 위치, 상기 카메라 모듈(180, 310)의 시야각, 및 상기 반사체의 위치에 기초하여 상기 위치 정보를 산출하는 동작 1220을 포함할 수 있다.
일 실시예에 따르면, 웨어러블 전자 장치(101, 300)의 동작 방법은 상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함한다는 결정에 따라, 상기 웨어러블 전자 장치(101, 300)에 구비된 카메라 모듈(180, 310)을 이용하여 획득한 상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작은 상기 안내에 따라 상기 반사체의 위치로 이동한 상기 사용자가 상기 반사체에 비친 반사체에 대응하는 영역의 영상을 획득하는 동작, 및 상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작은 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)에 대한 상기 사용자의 선택을 입력받는 동작, 및 상기 웨어러블 전자 장치(101, 300)에 구비된 카메라 모듈(180, 310)에 의해 상기 사용자의 얼굴 및 상기 사용자의 적어도 신체 일부를 포함하는 상기 반사체에 대응하는 영역의 영상이 획득되는지 여부 및 상기 사용자의 선택 중 적어도 하나에 따라, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작을 포함하고, 상기 사용자의 선택은 상기 반사체에 대응하는 영역의 영상을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제1 선택, 상기 반사체에 대응하는 영역의 영상을 이용하여 재구성한 재구성 영상(640, 660)을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제2 선택, 및 상기 반사체에 대응하는 영역의 영상을 이용하여 재구성한 그래픽 객체를 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제3 선택 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작은 상기 제1 선택이 입력된 경우, 상기 반사체에 대응하는 영역의 영상을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작은 상기 제2 선택이 입력된 경우, 상기 반사체에 대응하는 영역의 영상에 의해 상기 사용자의 모습을 재구성한 재구성 영상(640, 660)을 생성하는 동작, 및 상기 재구성 영상(640, 660)을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 재구성한 재구성 영상(640, 660)을 생성하는 동작은 상기 반사체에 대응하는 영역의 영상과 상기 사용자의 기 저장된 영상(650)을 비교하여 상기 반사체에 대응하는 영역의 영상이 상기 기 저장된 영상(650)의 어느 부분에 대응되는지를 확인하는 동작, 및 상기 기 저장된 영상(650)에서 상기 반사체에 대응하는 영역의 영상에 대응되는 부분은 상기 반사체에 대응하는 영역의 영상에 의해 업데이트하고, 상기 기 저장된 영상(650)에서 상기 반사체에 대응하는 영역의 영상에 대응되지 않는 부분은 신경망에 의해 예측된 영상에 의해 업데이트함으로써 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 재구성하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작은 상기 제3 선택이 입력된 경우, 상기 반사체에 대응하는 영역의 영상에 대응하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 재구성한 그래픽 객체를 생성하는 동작을 포함할 수 있다.
Claims (15)
- 웨어러블 전자 장치(101, 300)에서 영상 통화를 위한 어플리케이션(400)이 실행됨에 응답하여, 사용자 주변의 실세계 영상(510, 530, 550)을 획득하는 카메라 모듈(180, 310);상기 실세계 영상(510, 530, 550)으로부터 반사체를 검출하고, 상기 실세계 영상(510, 530, 550) 중 상기 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 상기 반사체의 위치 정보를 산출하며, 상기 위치 정보에 따라 상기 사용자가 상기 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치(155, 160)를 제어함으로써, 상기 영상 통화의 상대방에게 전송할 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 프로세서(120, 330); 및상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 전송하는 통신 모듈(190, 350)을 포함하는, 웨어러블 전자 장치(101, 300).
- 제1항에 있어서,상기 프로세서(120, 330)는상기 실세계 영상(510, 530, 550)으로부터 상기 반사체가 검출된 경우, 상기 반사체에 대응하는 영역의 영상이 얼굴을 포함하는 상기 사용자의 적어도 신체 일부를 포함하는지 여부를 결정하고,상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함하지 않는다는 결정에 따라, 3차원 공간 내 상기 사용자의 위치, 상기 카메라 모듈(180, 310)의 시야각, 및 상기 반사체의 위치에 기초하여 상기 위치 정보를 산출하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제2항 중 어느 한 항에 있어서,상기 프로세서(120, 330)는상기 실세계 영상(510, 530, 550)으로부터 상기 반사체가 검출되지 않는 경우, 상기 사용자의 음성 정보(831)에 대응하여 생성한 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)에 의해 상기 영상 통화를 수행하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제3항 중 어느 한 항에 있어서,상기 프로세서(120, 330)는상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함한다는 결정에 따라, 상기 카메라 모듈(180, 310)을 이용하여 획득한 상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 프로세서(120, 330)는상기 안내에 따라 상기 반사체의 위치로 이동한 상기 사용자가 상기 반사체에 비친 상기 반사체에 대응하는 영역의 영상을 획득하고,상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제5항 중 어느 한 항에 있어서,상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)에 대한 상기 사용자의 선택을 입력받는 입력 모듈(150, 370)를 더 포함하고,상기 프로세서(120, 330)는상기 카메라 모듈(180, 310)에 의해 상기 사용자의 얼굴 및 상기 사용자의 적어도 신체 일부를 포함하는 상기 반사체에 대응하는 영역의 영상이 획득되는지 여부 및 상기 사용자의 선택 중 적어도 하나에 따라, 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하고,상기 사용자의 선택은상기 반사체에 대응하는 영역의 영상을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제1 선택,상기 반사체에 대응하는 영역의 영상을 이용하여 재구성한 재구성 영상(640, 660)을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제2 선택, 및상기 반사체에 대응하는 영역의 영상을 이용하여 재구성한 그래픽 객체를 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는 제3 선택중 적어도 하나를 포함하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 프로세서(120, 330)는상기 제1 선택이 입력된 경우, 상기 반사체에 대응하는 영역의 영상을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제7항 중 어느 한 항에 있어서,상기 프로세서(120, 330)는상기 제2 선택이 입력된 경우 상기 반사체에 대응하는 영역의 영상에 의해 상기 사용자의 모습을 재구성한 재구성 영상(640, 660)을 생성하고, 상기 재구성 영상(640, 660)을 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제8항 중 어느 한 항에 있어서,상기 사용자의 기 저장된 영상(650)을 포함하는 메모리(130, 390)를 더 포함하고,상기 프로세서(120, 330)는상기 반사체에 대응하는 영역의 영상과 상기 사용자의 기 저장된 영상(650)을 비교하여 상기 반사체에 대응하는 영역의 영상이 상기 기 저장된 영상(650)의 어느 부분에 대응되는지를 확인하고,상기 기 저장된 영상(650)에서 상기 반사체에 대응하는 영역의 영상에 대응되는 부분은 상기 반사체에 대응하는 영역의 영상에 의해 업데이트하고, 상기 기 저장된 영상(650)에서 상기 반사체에 대응하는 영역의 영상에 대응되지 않는 부분은 신경망에 의해 예측된 영상에 의해 업데이트함으로써 상기 재구성 영상(640, 660)을 생성하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제9항 중 어느 한 항에 있어서,상기 프로세서(120, 330)는상기 제3 선택이 입력된 경우, 상기 반사체에 대응하는 영역의 영상 또는 상기 재구성 영상(640, 660)에 대응하는 그래픽 객체를 생성하고, 상기 그래픽 객체를 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)으로 결정하는, 웨어러블 전자 장치(101, 300).
- 제1항 내지 제10항 중 어느 한 항에 있어서,상기 프로세서(120, 330)는상기 실세계 영상(510, 530, 550)이 상기 사용자의 얼굴을 포함하지 않는 경우, 상기 실세계 영상(510, 530, 550)으로부터 상기 사용자의 얼굴이 검출될 때까지 상기 사용자의 음성 정보(831)에 대응하여 생성한 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)에 의해 상기 영상 통화를 수행하는, 웨어러블 전자 장치(101, 300).
- 웨어러블 전자 장치(101, 300)에서 영상 통화를 위한 어플리케이션(400)이 실행됨에 응답하여, 사용자 주변의 실세계 영상(510, 530, 550)을 획득하는 동작;상기 실세계 영상(510, 530, 550)으로부터 반사체를 검출하는 동작;상기 실세계 영상(510, 530, 550) 중 상기 반사체에 대응하는 영역의 영상으로부터 거리 및 방향을 포함하는 상기 반사체의 위치 정보를 산출하는 동작; 및상기 위치 정보에 따라 상기 사용자가 상기 반사체의 위치로 이동하도록 하는 안내를 제공하도록 출력 장치(155, 160)를 제어함으로써, 상기 영상 통화의 상대방에게 전송할 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작을 포함하는, 웨어러블 전자 장치(101, 300)의 동작 방법.
- 제12항에 있어서,상기 위치 정보를 산출하는 동작은상기 실세계 영상(510, 530, 550)으로부터 반사체가 검출된 경우, 상기 반사체에 대응하는 영역의 영상이 얼굴을 포함하는 상기 사용자의 적어도 신체 일부를 포함하는지 여부를 결정하는 동작; 및상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함하지 않는다는 결정에 따라, 3차원 공간 내 상기 사용자의 위치, 상기 카메라 모듈(180, 310)의 시야각, 및 상기 반사체의 위치에 기초하여 상기 위치 정보를 산출하는 동작을 포함하는, 웨어러블 전자 장치(101, 300)의 동작 방법.
- 제12항 내지 제13항 중 어느 한 항에 있어서,상기 반사체에 대응하는 영역의 영상이 상기 사용자의 적어도 신체 일부를 포함한다는 결정에 따라, 상기 웨어러블 전자 장치(101, 300)에 구비된 카메라 모듈(180, 310)을 이용하여 획득한 상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작을 더 포함하는, 웨어러블 전자 장치(101, 300)의 동작 방법.
- 제12항 내지 제14항 중 어느 한 항에 있어서,상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작은상기 안내에 따라 상기 반사체의 위치로 이동한 상기 사용자가 상기 반사체에 비친 반사체에 대응하는 영역의 영상을 획득하는 동작; 및상기 반사체에 대응하는 영역의 영상을 이용하여 상기 사용자의 통화용 영상(837, 937, 957, 959, 1035, 1036)을 생성하는 동작을 더 포함하는, 웨어러블 전자 장치(101, 300)의 동작 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220122059 | 2022-09-27 | ||
KR10-2022-0122059 | 2022-09-27 | ||
KR1020220149568A KR20240043634A (ko) | 2022-09-27 | 2022-11-10 | 영상 통화를 제공하는 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법 |
KR10-2022-0149568 | 2022-11-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024071684A1 true WO2024071684A1 (ko) | 2024-04-04 |
Family
ID=90478425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/012326 WO2024071684A1 (ko) | 2022-09-27 | 2023-08-21 | 영상 통화를 제공하는 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024071684A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110101040A (ko) * | 2010-03-05 | 2011-09-15 | 에스케이텔레콤 주식회사 | 영상 통화 서비스 방법, 이를 위한 장치 및 시스템 |
KR101647305B1 (ko) * | 2009-11-23 | 2016-08-10 | 삼성전자주식회사 | 이동통신 단말기에서 영상 통화 방법 및 장치 |
US20180150988A1 (en) * | 2013-11-04 | 2018-05-31 | At&T Intellectual Property I, Lp | System and Method for Enabling Mirror Video Chat Using a Wearable Display Device |
KR20210149674A (ko) * | 2019-03-13 | 2021-12-09 | 주식회사 케이티 | 아바타를 이용하여 영상 통화를 수행하는 사용자 단말, 통화 중계 서버 및 방법 |
KR20220096068A (ko) * | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 화상 통화 끊김 시 입모양 합성 장치 |
-
2023
- 2023-08-21 WO PCT/KR2023/012326 patent/WO2024071684A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101647305B1 (ko) * | 2009-11-23 | 2016-08-10 | 삼성전자주식회사 | 이동통신 단말기에서 영상 통화 방법 및 장치 |
KR20110101040A (ko) * | 2010-03-05 | 2011-09-15 | 에스케이텔레콤 주식회사 | 영상 통화 서비스 방법, 이를 위한 장치 및 시스템 |
US20180150988A1 (en) * | 2013-11-04 | 2018-05-31 | At&T Intellectual Property I, Lp | System and Method for Enabling Mirror Video Chat Using a Wearable Display Device |
KR20210149674A (ko) * | 2019-03-13 | 2021-12-09 | 주식회사 케이티 | 아바타를 이용하여 영상 통화를 수행하는 사용자 단말, 통화 중계 서버 및 방법 |
KR20220096068A (ko) * | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 화상 통화 끊김 시 입모양 합성 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021206415A1 (en) | Electronic device for communicating in augmented reality and method thereof | |
WO2019164374A1 (ko) | 전자 장치 및 아바타 기반의 커스텀 객체 운용 방법 | |
WO2020032582A1 (en) | Electronic device for displaying avatar corresponding to external object according to change in position of external object | |
WO2022065722A1 (ko) | 외부 물체에 대한 알림을 디스플레이하는 전자 장치 및 그 방법 | |
WO2022098204A1 (ko) | 가상현실 서비스를 제공하는 전자 장치 및 방법 | |
WO2022030838A1 (ko) | 프리뷰 이미지를 제어하는 전자 장치 및 방법 | |
WO2021025509A1 (en) | Apparatus and method for displaying graphic elements according to object | |
WO2021256800A1 (ko) | 전자 장치 및 전자 장치에서 이미지 생성 방법 | |
WO2023068521A1 (ko) | 확장 화면을 공유하는 소스 장치, 싱크 장치 및 그 동작 방법 | |
WO2024071684A1 (ko) | 영상 통화를 제공하는 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법 | |
WO2022154440A1 (ko) | 오디오 데이터를 처리하는 전자 장치 및 그 동작 방법 | |
WO2022124561A1 (ko) | 복수의 센서를 이용한 전자 장치의 제어 방법 및 그 전자 장치 | |
WO2024117515A1 (ko) | 시나리오 컨텍스트에 따른 렌더링 이미지를 생성하기 위한 전자 장치 및 방법 | |
WO2022114809A1 (ko) | 화상 회의를 제공하는 전자 장치 및 그 방법 | |
WO2024043519A1 (ko) | 복수의 디스플레이들을 제어하는 방법 및 이를 지원하는 전자 장치 | |
WO2024090802A1 (ko) | 렌더링 스타일이 변경된 이미지를 획득하기 위한 전자 장치 및 방법 | |
WO2024029720A1 (ko) | 증강 현실에서 사용자를 인증하는 장치 및 방법 | |
WO2024071681A1 (ko) | 이미지를 제공하는 방법 및 이를 지원하는 웨어러블 전자 장치 | |
WO2022255625A1 (ko) | 영상 통화 중 다양한 커뮤니케이션을 지원하는 전자 장치 및 그의 동작 방법 | |
WO2024155171A1 (ko) | 조작 입력을 전송하는 헤드 마운트 장치 및 그의 동작 방법 | |
WO2024043681A1 (ko) | 전자 장치의 화면을 확장 현실 환경으로 변환하는 머리 착용형 전자 장치 및 그와 연결된 전자 장치 | |
WO2024029740A1 (ko) | 입력 장치를 이용하여 드로잉 데이터를 출력하는 방법 및 장치 | |
WO2023229199A1 (ko) | 전자 장치의 화면 표시 모드를 결정하는 동작 방법 및 전자 장치 | |
WO2024071776A1 (ko) | 증강 현실 객체 표시 방법 및 이를 지원하는 전자 장치 | |
WO2022124659A1 (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: 23872807 Country of ref document: EP Kind code of ref document: A1 |