WO2024058446A1 - 가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치 - Google Patents

가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치 Download PDF

Info

Publication number
WO2024058446A1
WO2024058446A1 PCT/KR2023/012197 KR2023012197W WO2024058446A1 WO 2024058446 A1 WO2024058446 A1 WO 2024058446A1 KR 2023012197 W KR2023012197 W KR 2023012197W WO 2024058446 A1 WO2024058446 A1 WO 2024058446A1
Authority
WO
WIPO (PCT)
Prior art keywords
space
user
electronic device
content
processor
Prior art date
Application number
PCT/KR2023/012197
Other languages
English (en)
French (fr)
Inventor
여재영
김성오
박철민
홍충완
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220152898A external-priority patent/KR20240037795A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/368,932 priority Critical patent/US20240094805A1/en
Publication of WO2024058446A1 publication Critical patent/WO2024058446A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • This disclosure relates to a method for controlling virtual reality content and a wearable electronic device that supports the same.
  • wearable electronic devices such as augmented reality glass (AR glass), virtual reality glass (VR glass), and head mounted display (HMD) devices
  • AR glass augmented reality glass
  • VR glass virtual reality glass
  • HMD head mounted display
  • VR glasses can provide a realistic experience to the user by displaying virtual images while worn on the user's head.
  • VR glasses can replace the usability of smart phones in various fields such as game entertainment, education, and SNS (social networking service). Users can receive content similar to reality through VR glasses worn on their heads, and can feel like they are in a virtual world through interaction.
  • VR glasses can control VR content based on the movement of the VR glasses due to the movement of the head of the user wearing the VR glasses, input through a controller, and/or the movement of a sensor attached to the user's body.
  • VR glasses can detect the user's movement (or movement of the VR glasses) while VR content is provided.
  • VR glasses can enable an avatar (also referred to as “character”) corresponding to the user to perform actions corresponding to the user’s moving actions in the virtual space of VR content.
  • VR glasses can detect the movement of the user's hand holding the controller (or the movement of the controller held in the hand) while VR content is provided.
  • VR glasses can enable an avatar corresponding to a user to perform actions corresponding to hand movements in the virtual space of VR content.
  • VR glasses While a user wearing VR glasses controls VR content by moving or moving their hands, the user may be at risk of colliding with hazardous objects located around the user. To avoid collisions with dangerous objects, VR glasses can set up a safe zone around the user so that the user can safely receive VR content.
  • the size of the safe space set around the user is smaller than the size of the space formed by user movements that can be input through VR glasses to control VR content, it may be difficult for the user to immerse themselves in the VR content.
  • the VR class may stop providing VR content or output information indicating a warning to the user. In this case, it may be difficult for users to immerse themselves in VR content. Accordingly, it is necessary to ensure that the user safely performs actions to control VR content and does not interfere with immersion in VR content.
  • a virtual reality that can adaptively adjust the size of the space required to perform the user's actions to control VR content so that the user's immersion in the VR content is not interrupted while safely performing the actions to control the VR content.
  • a method for controlling (VR) content and a wearable electronic device executing the same are provided.
  • a wearable electronic device may include a display and at least one processor. At least one processor may be configured to obtain a first space required for a user's motion corresponding to an avatar's motion performed in the virtual space of the VR content displayed through the display. At least one processor may be configured to obtain a second space for safely performing the user's operation. At least one processor may be configured to set a scale value based on the first space and the second space. At least one processor may be configured to determine the size of the motion of the avatar performed by the user's motion, based on obtaining the user's motion, using the set scale value.
  • a method of controlling VR content in a wearable electronic device includes a first method required for a user's action corresponding to an avatar's action performed in a virtual space of the VR content displayed through a display of the wearable electronic device. It may include an operation to acquire space. The method may include obtaining a second space for safely performing the user's actions. It may include setting a scale value based on the first space and the second space. The method may include determining, based on obtaining the user's motion, the size of the avatar's motion performed by the user's motion using the set scale value.
  • a non-transitory computer-readable medium recording computer-executable instructions, wherein the computer-executable instructions, when executed, cause a wearable electronic device including at least one processor to display VR displayed through the display. It may be configured to obtain the first space necessary for the user's movement corresponding to the avatar's movement performed in the virtual space of the content.
  • the wearable electronic device including at least one processor may be configured to obtain a second space for safely performing the user's actions.
  • the computer-executable instructions may configure a wearable electronic device including at least one processor to set a scale value based on the first space and the second space.
  • the computer-executable instructions when executed, cause the wearable electronic device including at least one processor to display the avatar, which is performed by the user's motion, using the set scale value based on acquiring the user's motion. It can be configured to determine the size of the operation.
  • a method for controlling virtual reality content and a wearable electronic device supporting the same include adaptively adjusting the size of the space required to perform a user's action to control VR content, thereby allowing the user to enjoy VR content. You can perform control operations safely while ensuring that your immersion in VR content is not interrupted.
  • FIG. 1 is a block diagram for explaining an electronic device, according to an embodiment.
  • FIG. 2 is a diagram illustrating an electronic device according to an embodiment.
  • FIG. 3 is a diagram explaining an electronic device according to an embodiment.
  • FIG. 4 is a block diagram illustrating an electronic device according to an embodiment.
  • Figure 5 is a block diagram explaining a processor, according to one embodiment.
  • FIG. 6 is a flowchart illustrating a method of controlling virtual reality (VR) content, according to an embodiment.
  • Figure 7 illustrates examples of avatar movements corresponding to user movements, according to an embodiment.
  • FIG. 8 is a flowchart illustrating a method of acquiring a first space, according to an embodiment.
  • FIG. 9 illustrates an example method for setting a second space, according to an embodiment.
  • FIG. 10 is a flowchart illustrating a method of setting a scale value based on a first space and a second space, according to an embodiment.
  • FIG. 11 illustrates an example method for setting a scale value based on a first space and a second space, according to an embodiment.
  • FIG. 12 illustrates an example method for setting a scale value based on a first space and a second space, according to an embodiment.
  • FIG. 13 illustrates an example method for setting a scale value based on a first space and a second space, according to an embodiment.
  • FIG. 14 illustrates an example method for displaying a screen that guides the avatar's actions performed by user actions, according to an embodiment.
  • FIG. 15 illustrates an example method for arranging objects in the virtual space of VR content based on the second space, according to an embodiment.
  • FIG. 16 illustrates an example method for arranging objects in the virtual space of VR content based on the second space, according to an embodiment.
  • FIG. 1 is a block diagram for explaining an electronic device 101 according to an embodiment.
  • the electronic device 101 may be a wearable electronic device that a user can wear on the head, such as augmented reality (AR) glasses, virtual reality (VR) glasses, and/or a head mounted display (HMD) device.
  • the electronic device 101 may also be called a wearable electronic device.
  • Each of the external electronic devices 102 and 103 may be of the same or different type as the electronic device 101. According to one embodiment, all or part of the operations executed in the electronic device 101 may be executed in one or more external electronic devices (external electronic devices 102, 103, or server 108). . For example, when the electronic device 101 performs a function or service automatically or in response to a request from a user or another device, the electronic device 101 performs the function or service on its own instead of executing the function or service. Or, additionally, 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 a portion 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.
  • the external electronic device 102 may render content data executed in an application and then transmit it to the electronic device 101, and the electronic device 101 that receives the data outputs the content data to the display module. can do. If the electronic device 101 detects user movement through an IMU (inertial measurement unit) sensor, etc., the processor 120 of the electronic device 101 uses the rendering data received from the external electronic device 102 to convert the motion information into the motion information.
  • IMU intial measurement unit
  • the electronic device 101 may transmit the motion information to the external electronic device 102 and request rendering so that the screen data is updated accordingly.
  • the external electronic device 102 may be various types of devices, such as a smartphone or a case device that can store and charge the electronic device 101.
  • the electronic device 101 communicates with an external electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) and/or through a second network 199 (e.g., a short-range wireless communication network). : It is possible to communicate with the electronic device 103 or the server 108 through a long-distance wireless communication network. According to one embodiment, the electronic device 101 may communicate with another electronic device through the server 108.
  • a first network 198 e.g., a short-range wireless communication network
  • a second network 199 e.g., a short-range wireless communication network
  • 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 and/or battery 189, communication module 190, or antenna module 197. It can contain at least one. In some embodiments, 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. In some embodiments, 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 executes software (e.g., program 140) to execute at least one other component (e.g., hardware) of the electronic device 101 connected to the processor 120. or software components) and perform various data processing or operations.
  • processor 120 may use commands received from other components (e.g., audio module 170, sensor module 176, or communication module 190, etc.).
  • data may be stored in volatile memory, instructions or data stored in volatile memory may be processed, and the resulting data may be stored in non-volatile memory.
  • the processor 120 is a main processor (e.g., a central processing unit or an application processor) or an auxiliary processor that can operate independently or together (e.g., a graphics processing unit, a neural processing unit (NPU)). , an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor e.g., a central processing unit or an application processor
  • auxiliary processor e.g., a graphics processing unit, a neural processing unit (NPU)
  • NPU neural processing unit
  • the auxiliary processor may be set to use less power than the main processor or be specialized for a designated function.
  • the auxiliary processor may be implemented separately from the main processor or as part of it.
  • a coprocessor may, for example, act on behalf of the main processor while the main processor is in an inactive (e.g.
  • an auxiliary processor e.g., neural network processing unit
  • an auxiliary processor may include a hardware structure specialized for processing artificial intelligence models. Artificial intelligence models can be created through machine learning.
  • Such learning may be performed in the electronic device 101 itself, where artificial intelligence 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 or non-volatile memory.
  • 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). You can.
  • the input module 150 may include, but is not limited to, a microphone, buttons, and/or a touch pad.
  • the audio output module 155 may output an audio signal to the outside of the electronic device 101.
  • the sound output module 155 may include, for example, a speaker. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the display module 160 may visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may be a liquid crystal display (LCD), a digital mirror device (DMD), or a silicon liquid crystal display.
  • Device liquid crystal on silicon (LCoS), light emitting diode (LED) on silicon (LEDoS), organic light emitting diode (OLED), or micro light emitting diode (micro LED) It may include, but there is no limitation.
  • the display module 160 may have different implementation forms depending on the type of electronic device 101.
  • the audio module 170 may convert sound into an electrical signal or, conversely, convert an electrical signal into sound.
  • 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 can be output through an external electronic device 102 (e.g., speaker or headphone).
  • the external electronic device 102 may be, for example, a mobile device such as a smart phone or tablet PC, but is not limited thereto.
  • 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 electricity corresponding to the detected state. It can generate signals or data values.
  • 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, a humidity sensor, and/or an illumination sensor.
  • the interface 177 may support one or more designated protocols that can be used to directly or wirelessly connect the electronic device 101 to an external electronic device (eg, the external 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 external 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 may convert electrical signals into mechanical stimulation (eg, 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 and/or battery 189 may manage power supplied to the electronic device 101.
  • the power management module and/or battery 189 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • Power management module and/or battery 189 may supply power to at least one component of electronic device 101 .
  • the power management module and/or battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • the communication module 190 may be directly (e.g., wired) between the electronic device 101 and an external electronic device (e.g., external electronic device 102, external electronic device 103, or server 108). ) Can support the establishment of a communication channel or wireless communication channel and the performance of communication through the established communication channel.
  • 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.
  • the communication module 190 is a wireless communication module (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 (e.g., a local area network (LAN) ) may include a communication module, or a power line communication module).
  • a wireless communication module 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
  • a wired communication module e.g., a local area network (LAN)
  • LAN local area network
  • 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 external electronic devices 102 and 103 through a telecommunication network such as a cellular network, a fifth generation (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 fifth generation (5G) network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • 5G fifth generation
  • next-generation communication network e.g., the Internet
  • a computer network e.g., LAN or WAN
  • the wireless communication module uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module to connect the electronic device 101 within a communication network such as the first network 198 or the second network 199. Can be confirmed or authenticated.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module may support 5G networks after the 4G network 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).
  • eMBB enhanced mobile broadband
  • mMTC massive machine type communications
  • URLLC ultra-reliable and low latency
  • -latency communications can be supported.
  • the wireless communication module may support high frequency bands (e.g., mmWave bands), for example, to achieve high data rates.
  • Wireless communication modules use various technologies to secure performance in high frequency bands, such as beamforming, massive MIMO (multiple-input and multiple-output), and full-dimensional multiple input/output (FD).
  • -It can support technologies such as full dimensional MIMO (MIMO), array antenna, analog beam-forming, or large scale antenna.
  • the wireless communication module may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 103), or a network system (e.g., second network 199).
  • the wireless communication module has Peak data rate (e.g., 20Gbps or more) for realizing eMBB, loss coverage (e.g., 164dB or less) for realizing mMTC, or U-plane latency (e.g., downtime) for realizing URLLC.
  • Peak data rate e.g., 20Gbps or more
  • loss coverage e.g., 164dB or less
  • U-plane latency e.g., downtime
  • Link (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less
  • SA standalone
  • the electronic device 101 may be implemented not to support cellular communication such as 4G or 5G.
  • the electronic device 101 uses the first network 198 to connect to an external network that supports cellular communication.
  • the Internet may be used via the electronic device 102, and in this case, the electronic device 101 may be referred to as a non-standalone type electronic device.
  • the antenna module 197 may transmit a signal or power to or receive a signal or power from the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected to the plurality of antennas by, for example, the communication module 190. can be selected Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
  • RFIC radio frequency integrated circuit
  • 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 external electronic devices 102 and 103 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 and 103 may be of the same or different type as the electronic device 101.
  • all or part of the operations executed in the electronic device 101 may be executed in one or more external electronic devices (external electronic devices 102, 103, or server 108). You can. For example, when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 may 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 103 may include an Internet of Things (IoT) device.
  • IoT Internet of Things
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 103 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.
  • FIG. 2 is a diagram explaining the electronic device 101 according to one embodiment.
  • FIG. 3 is a diagram explaining the electronic device 101 according to one embodiment.
  • a VST camera module 211, 212 for video see through (VST), a plurality of camera modules 213, 214, on the first side 210 of the housing. 215, 216), a depth sensor 217, and/or a second display 230 may be disposed.
  • a VST camera module 211, 212, a plurality of camera modules 213, 214, 215, 216, a depth sensor 217, and/or The second display 230 may be exposed.
  • the VST camera modules 211 and 212 may acquire images related to the environment surrounding the electronic device. Images acquired by the VST camera modules 211 and 212 may be provided to the user as at least part of VST content.
  • the plurality of camera modules 213, 214, 215, and 216 may acquire images while the electronic device is worn by the user. Images acquired through a plurality of camera modules 213, 214, 215, and 216 may be used for simultaneous localization and mapping (SLAM), 6 degrees of freedom (6DoF), subject recognition, and/or tracking.
  • the depth sensor 217 may be used to determine the distance to an object, such as time of flight (TOF). Instead of or additionally to the depth sensor 217, a plurality of camera modules 213, 214, 215, and 216 may check the distance to the object.
  • TOF time of flight
  • camera modules 215 and 216 and/or a display 221 (and/or lens) for face recognition may be disposed on the second surface 220 of the housing.
  • the face recognition camera modules 225 and 226 may be used to recognize the user's face.
  • the display 221 (and/or the lens) may be disposed on the second side 220 of the electronic device 101 facing the user's face when the electronic device 101 is worn on the user's face. You can.
  • the display 221 (and/or lens) may display a screen containing various information while the electronic device 101 is worn by the user.
  • the electronic device 101 may further include one or more components.
  • the electronic device 101 may further include a proximity sensor, a touch sensor, and/or a pressure sensor to detect that the electronic device is worn on a user (eg, the user's face).
  • the electronic device 101 may further include a fingerprint sensor (optical or ultrasonic fingerprint sensor).
  • the electronic device 101 may further include at least one key (or button).
  • the electronic device 101 may omit some of the components shown in FIGS. 2 and 3.
  • the electronic device 101 may not include the camera modules 215 and 216 among the plurality of camera modules 213, 214, 215, and 216.
  • the electronic device 101 may further include at least one of the components of the electronic device 101 shown in FIG. 1 .
  • FIGS. 2 and 3 illustrate the electronic device 101 using the VST method, but it is not limited thereto.
  • the operation of controlling VR content to be described below includes providing VR content. This can be applied to any wearable electronic device.
  • the operation of controlling VR content to be described below may be applied to a VR electronic device that does not include the VST camera modules 211 and 212 for VST.
  • FIG. 4 is a block diagram illustrating an electronic device 401 according to an embodiment.
  • the electronic device 401 includes a communication module 410, a sensor module 420, a camera module 430, a display 440, a memory 450, and/or a processor ( 460).
  • communication module 410 may be included in communication module 190 of FIG. 1 .
  • the communication module 410 may be used to obtain input using the user's actions.
  • a controller connected wirelessly (or wiredly) to the electronic device 401 may include a motion sensor (eg, an inertia measurement unit (IMU) sensor).
  • IMU inertia measurement unit
  • the controller When the controller is gripped by the user (e.g., the user's hand) and moves by the user's motion, information about the movement of the controller can be obtained through the motion sensor.
  • the communication module 410 may obtain input using the user's movement by receiving information about the movement of the controller acquired by the controller.
  • the communication module 410 may receive information about input obtained from the controller (eg, joystick, keyboard, mouse).
  • sensor module 420 may be included in sensor module 176 of FIG. 1 .
  • the sensor module 420 can acquire the movement of the electronic device 401.
  • the sensor module 420 may include a motion sensor (eg, a sensor supporting 6 degrees of freedom (6DoF)).
  • the sensor module 420 may acquire the movement of the electronic device 401 by the motion of the user (eg, the user's head) wearing the electronic device 401 through a motion sensor.
  • the camera module 430 may be included in the camera module 180 of FIG. 1 .
  • camera module 430 may be used to obtain input to electronic device 401.
  • the camera module 430 may acquire images of the user's body, such as the user's eyes and hands. Input from the user's body can be obtained using the image acquired through the camera module 430.
  • the camera module 430 may acquire an image of the environment surrounding the electronic device 401 (eg, the electronic device 401 worn by the user).
  • the acquired image of the surrounding environment can be used to set (eg, adjust) a safe space, which will be described later.
  • the display 440 may be included in the display module 160 of FIG. 1 and/or the display 221 of FIG. 3.
  • memory 450 may be included in memory 130 of FIG. 1 .
  • the memory 450 may store information for performing an operation to control VR content. Information stored by the memory 450 will be described later.
  • processor 460 may be included in processor 120 of FIG. 1 .
  • the processor 460 may control the overall operation of controlling VR content.
  • the processor 460 may include one or more processors for controlling operations that control VR content.
  • the processor 460 may include a plurality of modules to perform an operation to control VR content. A plurality of modules included in the processor 460 will be described with reference to FIG. 5.
  • the electronic device 401 is illustrated as including a communication module 410, a sensor module 420, a camera module 430, a display 440, a memory 450, and a processor 460. Not limited. For example, the electronic device 401 may not include some of the components shown in FIG. 4 . For example, the electronic device 401 may further include some of the components of the electronic device 101 shown in FIG. 1 .
  • FIG. 5 is a block diagram of the processor 460 according to one embodiment.
  • the processor 460 includes a motion analysis module 510, a safe space management module 520, a scale management module 530, and/or a rendering module. It may include (540).
  • the motion analysis module 510 may generate data for an avatar's motion to be performed in the virtual space of VR content based on input using the user's motion.
  • the motion analysis module 510 analyzes the movement of the controller and the camera module 430 according to the user's motion (e.g., the motion of the hand gripping the controller) received from the controller through the communication module 410.
  • the user's motion such as the movement of the electronic device 401 due to the user's motion acquired based on the image acquired through the user, and/or the user's motion (e.g., the user's head movement) acquired through the sensor module 420. You can obtain input using the operation of .
  • the motion analysis module 510 creates an avatar (also referred to as a "character") corresponding to the user's motion (e.g., an avatar corresponding to the user) based on the obtained input using the user's motion.
  • Data also referred to as “avatar pose data” that allows the movements of the VR content to be performed in the virtual space can be generated. For example, when a user swings a racket using a controller while a tennis game played in a virtual space is running on the electronic device 401, the motion analysis module 510 operates in the virtual space of the tennis game. Data may be generated so that the avatar corresponding to the user performs a motion of swinging a virtual racket corresponding to the motion of swinging the racket of the user.
  • the avatar's motion corresponding to the user's motion may include a motion that the avatar performs identical to the user's actual motion.
  • the motion analysis module 510 may detect the motion of the same avatar when the user performs partially different motions (e.g., the motion of the user raising his hand to his head and the motion of the user raising his hand above his head). Data that allows the avatar to perform an action (e.g., an avatar raising the avatar's hand to the avatar's head) can be generated.
  • the avatar corresponding to the user performs a movement based on an input using the user's movement, but the present invention is not limited thereto.
  • the motion analysis module 510 based on input using the user's motion, analyzes objects displayed in the virtual space of VR content (e.g., movement of the object, You can create data to control the display.
  • the safe space management module 520 can manage a space (hereinafter referred to as a “safe zone”) where users can safely receive VR content.
  • the safe space may be a space in which a user wearing the electronic device 401 is safely provided with VR content (e.g., a space in which there are no obstacles to prevent injury to the user).
  • safe space management module 520 can set up a safe space.
  • the safe space management module 520 may set the safe space based on a user input for setting the safe space.
  • the safe space management module 520 uses the camera module 430 and/or the sensor module 420 (e.g., the depth sensor 217) to monitor the surroundings of the user (or the electronic device 401). Information about the external environment can be obtained.
  • the safe space management module 520 may set a safe space based on the obtained information about the external environment. The operation of the safe space management module 520 to set the safe space will be described in detail later.
  • the safe space management module 520 may store information about the set safe space in the memory 450.
  • the safe space management module 520 may provide information about the set safe space to the scale management module 530.
  • the scale management module 530 provides a space (hereinafter referred to as “first space”) and a safe space (hereinafter referred to as “second space”) required for the user’s actions corresponding to the avatar. Based on this, a scale value for determining the size of the avatar's motion performed by the user's motion can be set (eg, adjusted).
  • the first space may be a space necessary to perform user actions that allow the user to perform actions of an avatar that can be performed in the virtual space of VR content.
  • the scale management module 530 may acquire (eg, create) the first space.
  • the operation of the scale management module 530 to acquire the first space will be described in detail later.
  • the scale management module 530 is described as acquiring the first space, but the present invention is not limited thereto.
  • the motion analysis module 510 may replace the scale management module 530 to obtain (eg, create) the first space. In this case, the motion analysis module 510 may provide the acquired information about the first space to the scale management module 530.
  • the scale management module 530 provides a scale value (hereinafter referred to as “scale value”) to determine the size of the avatar’s motion performed by the user’s motion by comparing the first space and the second space. reference) can be set.
  • scale value a scale value
  • the scale value may include a value that can control (eg, render) the size of the avatar's motion differently with respect to the user's motion of the same size.
  • the scale value may be a value used in conjunction with the size of the user's movement to determine the size of the avatar's movement.
  • the scale value is a scale factor that represents the relationship between the magnitude of the user's motion and the magnitude of the avatar's motion corresponding to the user's motion (or between the magnitude of the user's motion and the magnitude of the avatar's motion). It can be a coefficient representing the relationship).
  • the scale value may be a value for scaling (eg, increasing or decreasing) the user's motion (eg, coordinates representing the user's motion). For example, the scale value increases the distance between a plurality of points measured while the user's motion is continuously performed, including the point where the user's motion started (e.g., at least a portion of the first space is divided into the second space). It may be a value to reduce (or maintain) (e.g., if the entire first space exists inside the second space).
  • the higher the scale value is set the greater the size of the avatar's motion performed by the user's motion of the same size.
  • the scale management module 530 when the scale value is set to a first value and an input using the user's motion to move a first distance (e.g., 1 meter (meter) in real space) is input, The avatar can be made to move a second distance in virtual space (e.g., 1 m in virtual space).
  • the scale management module 530 sets the scale value to a second value higher than the first value and moves by a third distance (e.g., 0.5 m in real space) shorter than the first distance (e.g., 1 m in virtual space).
  • a third distance e.g., 0.5 m in real space
  • the avatar can be made to move a second distance in the virtual space (e.g., 1 m in the virtual space).
  • the scale management module 530 may compare the first space and the second space to determine whether at least a portion of the first space exists outside the second space.
  • the scale management module 530 may adjust or maintain the scale value based on whether at least a portion of the first space exists outside the second space.
  • a more detailed example in which the scale management module 530 sets the scale value by comparing the first space and the second space will be described in detail later.
  • the rendering module 540 may cause an avatar performing an action corresponding to a user action to be rendered (eg, expressed) in a virtual space.
  • the rendering module 540 may perform a rendering operation so that an avatar whose motion size is determined based on the scale value is displayed on the display 440.
  • the motion analysis module 510, the safe space management module 520, the scale management module 530, and the rendering module 540 are shown as independent modules, but are not limited thereto.
  • at least two modules among the motion analysis module 510, the safe space management module 520, the scale management module 530, and the rendering module 540 may be implemented as one integrated module.
  • the processor 460 is illustrated as including a motion analysis module 510, a safe space management module 520, a scale management module 530, and a rendering module 540, but is not limited thereto. .
  • the processor 460 may further include additional modules to perform operations that control VR content.
  • the wearable electronic device 401 may include a display 440 and at least one processor 460 (hereinafter, also referred to as “processor 460”). At least one processor 460 may be configured to obtain a first space necessary for a user's motion corresponding to an avatar's motion performed in the virtual space of the VR content displayed through the display 440. At least one processor 460 may be configured to obtain a second space for safely performing the user's operation. At least one processor 460 may be configured to set a scale value based on the first space and the second space. The at least one processor 460 may be configured to determine the size of the motion of the avatar performed by the user's motion using the set scale value, based on obtaining the user's motion.
  • the at least one processor 460 may be configured to obtain at least one avatar motion that can be performed in the VR content, and to obtain the first space based on the at least one avatar motion. there is.
  • the at least one processor 460 obtains at least one space necessary for the user to perform each of the at least one avatar action, and creates a space defined by the at least one space. It may be configured to be set as the first space.
  • the at least one processor 460 operates at a time when the VR content is executed, when the virtual space is changed in the VR content, when a specific scene is changed in the VR content, and when a specific stage is changed in the VR content. It may be configured to acquire the first space at a time of change and/or a time of change of a specific scenario in VR content.
  • the at least one processor 460 may be configured to obtain the second space based on the user's input or the surrounding environment of the wearable electronic device 401.
  • the scale value includes a scale factor indicating a relationship between the size of the user's motion and the size of the avatar's motion, and the higher the scale value, the more the user with the same size The size of the avatar's motion performed by the motion may be increased.
  • the at least one processor 460 compares the first space and the second space, determines whether a portion of the first space exists outside the second space, and Based on confirmation that a part of the first space exists outside the second space, the scale value may be configured to set a first scale value larger than the scale value specified for the VR content.
  • the at least one processor 460 determines that a third space corresponding to the first scale value is the third space based on confirming that a portion of the first space exists outside the second space. It may be configured to set the first scale value to be the same as a second space or to exist within the second space as the scale value,
  • the at least one processor 460 may be configured to display an intro screen through the display 440 to help the user adapt to the set scale value.
  • the at least one processor 460 may be configured to place an object to be rendered in the VR content based on the second space.
  • FIG. 6 is a flowchart 600 for explaining a method of controlling VR content according to an embodiment.
  • the processor 460 may obtain a first space required for a user's motion corresponding to an avatar's motion performed in the virtual space of VR content.
  • the avatar's motion corresponding to the user's motion may include a motion that the avatar performs identical to the user's actual motion.
  • the avatar's movements corresponding to the user's movements will be described.
  • Figure 7 explains an example of an avatar's motion corresponding to a user's motion, according to an embodiment.
  • reference numeral 701 may represent an action of the user 711 performed in the real space 710 while VR content is provided.
  • Reference numeral 702 may represent an action of the avatar 721 corresponding to the user 711 performed in the virtual space 720 while VR content (eg, a tennis game) is provided.
  • VR content eg, a tennis game
  • the avatar 721 may perform sub-actions that are substantially the same as those of the user 711.
  • the angle and/or strength (or acceleration) of the arm of the user 711 with which the user 711 grips the controller 731 at 701 is substantially equal to the angle and/or strength of the arm of the avatar 721 at 702. may be the same.
  • a virtual ball 701 and a virtual tennis racket 742 may be displayed in virtual space.
  • the present invention is not limited thereto.
  • the avatar's motion corresponding to the user's motion may include the avatar's identical motion when the user performs partially different motions.
  • the first space required for the user's movements corresponding to the avatar's movements may include the space required for the user to perform user movements that allow the user to perform the avatar's movements that can be performed in the virtual space of the VR content. You can.
  • the first space and the operation of the processor 460 to acquire the first space will be described in more detail.
  • FIG. 8 is a flowchart 800 illustrating a method of acquiring a first space, according to an embodiment.
  • processor 460 may execute a VR application.
  • the processor 460 may execute a VR application based on user input.
  • a VR application may include a game application or video application that can provide VR content expressed in a virtual space of a virtual environment (also referred to as a “virtual world”).
  • VR applications are not limited to the aforementioned game applications and video applications.
  • VR content may include content that can control the movements of an avatar by the user's movements.
  • VR content may include content that can express a scene from a first-person perspective or a third-person perspective corresponding to the direction in which the electronic device 401 is facing (or the user's gaze).
  • processor 460 renders (e.g., represents) a specific virtual space, a specific scene, a specific stage, or a specific scenario in VR content as the VR application is executed. can do.
  • the processor 460 may obtain an action of the avatar that can be performed in VR content.
  • the processor 460 may obtain a list of actions that an avatar can perform in VR content (or a VR application) (eg, a list of actions that an avatar can perform). For example, if the VR content is a tennis game, the processor 460 may include actions in which the avatar swings the virtual racket (e.g., serve actions, forehand actions, and backhand actions) that the avatar can perform in the tennis game, and You can obtain the motion of the avatar moving. In the above-described example, all actions that an avatar can perform within a VR content (or VR application) can be obtained, such as all actions that an avatar can perform within a tennis game, but are not limited to this.
  • a VR content or a VR application
  • processor 460 when representing a specific virtual space, specific scene, specific stage, or specific scenario in VR content, allows the avatar to perform in a specific virtual space, specific scene, specific stage, or specific scenario. movements can be obtained. For example, the first actions that the avatar can perform in the first virtual space of the VR content and the second actions that the avatar can perform in the second virtual space that is different from the first virtual space of the VR content are different from each other. Can contain other actions. In this case, the processor 460 may acquire first actions when the avatar enters the first virtual space and acquire second actions when the avatar enters the second virtual space.
  • the processor 460 may obtain a first space based on the action of the executable avatar.
  • the first space includes actions of an avatar that can be performed in VR content (or a specific virtual space of VR content, a specific scene, a specific stage, or a specific scenario) (hereinafter referred to as “actions of the avatar that can be performed”). It may include the space necessary to perform user operations that require the user to perform ".”
  • the first space is set based on the scale value specified in VR content (or a specific virtual space of VR content, or a specific scene, or a specific stage, or a specific scenario) and the actions of the avatar that can be performed. It could be space.
  • the processor 460 sets the first space (e.g., based on the scale value specified for the VR content (e.g., a scale value set as default for the VR content) and the actions of the avatar that can be performed. : Adjustment) can be made.
  • the scale value set as default for VR content (hereinafter also referred to as “basic scale value”) is the size of the user motion performed in real space and the size of the user motion performed in virtual space by the user motion having the size. It may be a scale value that ensures that the size of the avatar's motion is the same.
  • the scale value set as default for VR content may be a scale value that causes the avatar to move a distance set in virtual space of 1 m when the user moves a distance of 1 m in real space.
  • the scale value specified in VR content may be a scale value that causes the avatar to rotate the avatar's arm at an angle of 30 degrees in virtual space when the user rotates the user's arm at an angle of 30 degrees in real space.
  • the processor 460 calculates each of the avatar's actions with a scale value set as the default for VR content, thereby creating a plurality of spaces (hereinafter, (referred to as “a plurality of first subspaces”) can be obtained.
  • the processor 460 may set the space formed by the plurality of first sub-spaces as the first space, based on the user's location in real space. For example, the processor 460 may set a space corresponding to the union of a plurality of first sub-spaces as the first space, based on the user's location in real space.
  • the first space is set based on the user's motion corresponding to the avatar's motion, but the method is not limited thereto.
  • the processor 460 may set the first space by considering the user's motion and the size of the controller gripped by the user.
  • the size of the controller that can control VR content can vary.
  • the processor 460 may set the first space by considering the user's motion and the size of the controller gripped by the user.
  • the processor 460 may set the first space by further considering the margin space (or extra space) in addition to the space required for the user's operation. For example, if the space required for the user's movement is in the shape of a sphere with a radius of 2 m, the processor 460 may create a space with a radius of 2.5 m that further includes a margin space (or extra space) in the space required for the user's movement.
  • a first space in the form of a sphere can be set.
  • the processor 460 may set the first space based on the user's operation and the type of controller. For example, when using a first type of controller such as a joystick, keyboard, or mouse, the processor 460 has a smaller size compared to the first space set when using a second type of controller including a 6 DoF sensor. The space you have can be set as the space necessary for the user's actions.
  • a first type of controller such as a joystick, keyboard, or mouse
  • the processor 460 has a smaller size compared to the first space set when using a second type of controller including a 6 DoF sensor.
  • the space you have can be set as the space necessary for the user's actions.
  • the scale value set as the default for VR content is described as the scale value specified for VR content, but is not limited thereto.
  • the processor 460 may designate a scale value different from the default scale value as the scale value to be used to set the first space, based on user input.
  • the processor 460 may obtain a second space (safe space) for the user to safely perform the user's action.
  • the processor 460 may set the second space based on user input.
  • the operation of setting the second space based on user input will be described.
  • FIG. 9 illustrates an example method of setting a second space, according to an embodiment.
  • the processor 460 may set a second space formed by a distance set by a user input based on the user's location. For example, at reference numeral 901, the processor 460 may obtain a user input that sets the distance a spaced apart from the user's location (P). Based on the obtained user input, the processor 460 may set the second space 910 in the shape of a cylinder with the radii of the top and bottom surfaces being a, based on the user's position (P). At 901, the height b of the second space 910 is equal to the location of the electronic device 401 (e.g., the height from the floor of the actual space to the location of the electronic device 401) or is equal to the height of the electronic device 401.
  • the processor 460 may obtain a user input that sets the distance a spaced apart from the user's location (P). Based on the obtained user input, the processor 460 may set the second space 910 in the shape of a cylinder with the radii of the top and bottom surfaces being a, based on
  • the shape of the second space 910 is illustrated as being cylindrical, but is not limited thereto.
  • the processor 460 may set the second space in various shapes (eg, a rectangular parallelepiped) based on the user's location P and the distance set by the user input.
  • the processor 460 may set a second space formed based on an area designated by a user input. For example, at reference numeral 902, the processor 460 allows a user 911, who holds the controller 912 in his hand in real space 930, to use the controller 912 to execute a line 921 (e.g., a controller 921). From the position of 912, an input for drawing a line formed in the direction toward which the controller 912 faces and a set of points where the bottom surface of the real space 930 intersects can be obtained. The processor 460 may obtain the area 920 formed by the line 921 (eg, bordering the line 921) based on the obtained input.
  • a line 921 e.g., a controller 921
  • the processor 460 converts a space with a specified height based on the area 920 (e.g., a height obtained by adding the margin height to the height from the floor of the actual space to the position of the electronic device 401) as the second space. You can set it.
  • the processor 460 may obtain information about the environment surrounding the electronic device 401 using the camera module 430 and/or the sensor module 420 (e.g., depth sensor 217). there is.
  • the processor 460 may obtain (eg, set) a space free from obstructions as the second space based on information about the environment surrounding the electronic device 401.
  • the processor 460 sets a uniform space, such as the second space 910 of reference numeral 901, as the second space, or provides a non-uniform space. It can be set to 2 spaces.
  • the processor 460 sets a scale to determine the magnitude of the avatar's motion performed by the user's motion, based on the first space and the second space. You can set the value.
  • the processor 460 may determine the size of the avatar's motion performed by the user's motion using the set scale value, based on obtaining the user's motion. For example, when the user's motion is obtained after the scale value is set, the processor 460 may determine the size of the avatar's motion by applying the set scale value to the user's motion.
  • the scale value may be a value that can control (e.g., render) the size of the avatar's motion differently compared to the user's motion of the same size.
  • the scale value may be a value used in conjunction with the size of the user's movement to determine the size of the avatar's movement.
  • the scale value is a scale factor that represents the relationship between the magnitude of the user's motion and the magnitude of the avatar's motion corresponding to the user's motion (or between the magnitude of the user's motion and the magnitude of the avatar's motion). It can be a coefficient representing the relationship).
  • the scale value may be a value for scaling (eg, increasing or decreasing) the user's motion (eg, coordinates representing the user's motion). For example, the scale value increases the distance between a plurality of points measured while the user's motion is continuously performed, including the point where the user's motion started (e.g., at least a portion of the first space is divided into the second space). It may be a value to reduce (or maintain) (e.g., if the entire first space exists inside the second space).
  • the higher the scale value is set the greater the size of the avatar's motion performed by the user's motion of the same size.
  • the processor 460 causes the avatar to move in the virtual space. It can be made to move a second distance (e.g., 1 m in virtual space).
  • the processor 460 sets the scale value to a second value higher than the first value, and moves the user a third distance (e.g., 0.5 m in real space) that is shorter than the first distance (e.g., 1 m in virtual space).
  • the avatar can be made to move a second distance in the virtual space (e.g., 1 m in the virtual space).
  • FIG. 10 is a flowchart 1000 illustrating a method of setting a scale value based on a first space and a second space, according to an embodiment.
  • At least one processor 460 may compare the first space and the second space.
  • the processor 460 may determine whether a portion of the first space exists outside the second space. For example, the processor 460 may check whether there is a space that exists outside the second space within the first space. If a part of the first space exists outside the second space, a part of the user's body may escape outside the second space (safe space) due to the user's motion while the user controls VR content. In this case, there may be a possibility that the user collides with an obstacle placed outside the second space. On the other hand, when the entire first space exists inside the second space (or when the first space and the second space are the same), the user can safely control VR content.
  • processor 460 may determine whether a portion of the first space exists outside the second space. If in operation 1003 a portion of the first space exists outside the second space, in operation 1005, in one embodiment, the processor 460 may increase the scale value.
  • the user when the scale value is set to a scale value larger than the basic scale value, the user can have the avatar perform an action using an action performed in a space smaller than the first space. For example, if the scale value is set to a scale value m2 that is larger than the default scale value m1, the size of the user's movement required for the avatar to perform the same movement is m2 compared to when the scale value is set to m1. If set to , the case may be small. For example, the size of space required to perform the same avatar's actions may become smaller as the scale value increases.
  • the space changed based on the first space by adjusting the scale value will be referred to as the “third space.”
  • the third space may correspond to the adjusted scale value.
  • the third space may be a space set based on the adjusted scale value.
  • the third space may be a space that is changed from the first space set based on the basic scale value and set based on the scale value adjusted by adjusting the basic scale value.
  • processor 460 determines that a third space (e.g., the entire third space) exists inside the second space, based on determining that a portion of the first space exists outside the second space.
  • the scale value may be increased from the basic scale value so that the third space is the same as the first space.
  • processor 460 based on determining that a portion of the first space is outside the second space, determines that the third space is inside the second space while at the same time identifying a boundary of the third space (e.g., The scale value can be increased from the basic scale value so that there is a point (or surface) where the surface forming the outermost surface of the third space touches the boundary surface of the second space. For example, when the second space is formed in the shape of a cube and the third space having the same center as the second space is formed in the shape of a sphere, the processor 460 determines that a sphere exists inside the cube and the boundary surface of the cube and the boundary surface of the sphere To achieve this, you can adjust the scale value.
  • the method of adjusting the scale value is not limited to the above-described examples.
  • the processor 460 may maintain the scale value. For example, when the entire first space exists inside the second space (or when the first space and the second space are the same), the processor 460 sets the scale value as the basic scale value. It can be maintained. However, it is not limited thereto. For example, the processor 460 determines that the third space exists inside the second space and at the same time the boundary surface of the third space (e.g., the surface forming the outermost part of the third space) is the third space. 2 The scale value can be reduced so that there is a point (or surface) that touches the boundary of space.
  • the processor 460 may display information related to the adjustment of the scale value through the display 440. For example, when the scale value is decreased, the processor 460 may display information indicating that the user can control the avatar's motion by making a motion smaller than before, through the display 440. .
  • processor 460 is configured to: /Or, at a time when a specific scenario changes, an operation of setting a scale value may be performed through operations 601 to 605 of FIG. 6.
  • the processor 460 may control VR content (e.g., avatar motion) using the set scale value.
  • VR content e.g., avatar motion
  • FIG. 11 explains an example method of setting a scale value based on a first space and a second space, according to an embodiment.
  • FIG. 11 may illustrate a case where a user 1113 uses a controller 1114 to play a tennis game as VR content.
  • space 1111 may represent a first space
  • space 1112 may represent a second space (safe space).
  • space 1111 can accommodate movements and movements of a user swinging a tennis racket using the hand gripping controller 1114 (e.g., backhand swing and forehand swing). It can represent the first space needed to perform.
  • the processor 460 processes the first space (e.g., space 1111).
  • the scale value may be increased so that the third space changed from exists within the second space (or the third space is the same as the second space).
  • space 1121 may represent a first space and space 1122 may represent a second space.
  • the processor 460 sets the scale value to the basic scale. The value can be maintained.
  • first space e.g., space 1111, space 1121
  • second space e.g., space 1112, space 1122
  • first space and/or the second space may be set in various forms, including a structured space form or a non-structured space form.
  • FIG. 12 explains an example method of setting a scale value based on a first space and a second space, according to an embodiment.
  • FIG. 12 may illustrate a case where a user 1213 uses a controller 1214 to play a tennis game as VR content.
  • space 1211 may represent a first space
  • space 1212 may represent a second space (safe space).
  • space 1211 may represent a first space required for a user to perform movements and movements of swinging a tennis racket using a hand gripping the controller 1214.
  • the processor 460 selects the third space changed from the first space.
  • the scale value can be increased so that the space exists inside the second space.
  • the processor 460 increases the scale value so that the third space (e.g., space 1223) is the same as the second space (e.g., space 1212). It can be formed (or inside the second space).
  • the processor 460 when the scale value is set to a scale value larger than the default scale value, the processor 460 generates the avatar by an input using a user motion of a smaller size compared to when the scale value is set to the default scale value. can perform the same operation. For example, at 1201, when the scale value is set to the default scale value, the processor 460 performs the user's motion of moving the user 1213 (or the electronic device 401) by 1 m in the first direction 1215. Input can be obtained by . Based on the input, the processor 460 may move the avatar corresponding to the user in the virtual space 1 m in the virtual space in the second direction corresponding to the first direction 1215.
  • the processor 460 determines that when the scale value is set to a scale value such that the third space is equal to the second space, the user 1213 (or the electronic device 401) moves 1 m in the first direction 1215. Input can be obtained through the user's motion moving a smaller distance. Based on the input, the processor 460 may move the avatar corresponding to the user in the virtual space 1 m in the virtual space in the second direction corresponding to the first direction 1215.
  • first space e.g., space 1211
  • second space e.g., space 1212
  • third space e.g., space 1223
  • first space and/or the second space may be set in various forms, including a structured space form or a non-structured space form.
  • FIG. 13 explains an example method of setting a scale value based on a first space and a second space, according to an embodiment.
  • a user 1311 uses a golf club-shaped controller 1312 (e.g., a controller 1312 including a 6 DoF sensor in a portion corresponding to the head portion of a golf club), This may represent a case of running a golf game as VR content.
  • a golf club-shaped controller 1312 e.g., a controller 1312 including a 6 DoF sensor in a portion corresponding to the head portion of a golf club
  • line 1320 may represent a portion of a line forming a second space (safe space).
  • the user when the scale value is set to the default scale value, the user (or the controller 1312 gripped by the user's hand) moves within the first space to cause the avatar to make a golf swing.
  • the operation of the controller 1312 may deviate outside of line 1320.
  • the scale value is set to a scale value larger than the basic scale value
  • the user or the controller 1312 gripped in the user's hand
  • the operation of the controller 1312 When performing, the operation of the controller 1312 may be performed inside line 1320.
  • the size and force of the golf swing performed by the avatar may be the same.
  • FIG. 14 illustrates an example method 1400 of displaying an intro screen that guides avatar actions performed by user actions, according to an embodiment.
  • the processor 460 may display an intro screen through the display 440 to help the user adapt to the set scale value. For example, when the scale value is changed, the processor 460 may display an intro screen through the display 440 to help users adapt to the changed scale value.
  • the present invention is not limited to this, and even if the scale value does not change, an intro screen that allows the user to adapt to the set scale value may be displayed through the display 440 when execution of VR content begins.
  • the intro screen may be a screen that guides the avatar's actions performed by user actions.
  • the processor 460 may display the avatar's action controlled by the user's action on the intro screen through the display 440.
  • the processor 460 performs the avatar's swing motion in real time according to the user's swing motion, as indicated by reference numerals 1410, 1420, 1430, 1440, and 1450 in FIG. 14.
  • An intro screen including can be displayed through the display 440. By providing an intro screen, the user can experience how the avatar operates based on input using the user's movements.
  • FIG. 15 illustrates an example method of arranging objects in the virtual space of VR content based on the second space, according to an embodiment.
  • FIG. 16 illustrates an example method of arranging objects in the virtual space of VR content based on the second space, according to an embodiment.
  • the processor 460 may place objects to be rendered in VR content based on the second space (safe space).
  • the processor 460 may set the second space 1510 based on an input by the controller 1512 of the user 1511.
  • Reference numeral 1502 may represent a virtual space of VR content.
  • the processor 460 operates within the virtual space of VR content so that the user can control controllable objects, including the avatar 1521, within the second space 1510 without the operation of adjusting (or setting) the scale value. 2
  • the controllable object can be placed in a space (eg, 1520) corresponding to the space 1510.
  • an obstacle 1613 may be placed around the user 1611.
  • the processor 460 may set a non-uniform second space 1610 that does not include the space where the obstruction 1613 is placed.
  • Reference numeral 1602 may represent a virtual space of VR content.
  • the processor 460 corresponds to the second space 1610 within the virtual space of VR content so that the user can control controllable objects within the second space 1610 without the operation of adjusting (or setting) the scale value.
  • the controllable object can be placed in the space 1620.
  • the processor 460 may place an object 1621 that the user cannot control in the virtual space corresponding to the space where the obstacle 1613 is placed in the real space. Through this, the user can be prevented from moving to a space outside the second space while receiving VR content.
  • a method of controlling virtual reality (VR) content in a wearable electronic device 401 includes an avatar performed in a virtual space of the VR content displayed through the display 440 of the wearable electronic device 401. It may include an operation of acquiring the first space required for the user's operation corresponding to the operation of . The method may include obtaining a second space for safely performing the user's actions. The method may include setting a scale value based on the first space and the second space. The method may include determining, based on obtaining the user's motion, the size of the avatar's motion performed by the user's motion using the set scale value.
  • VR virtual reality
  • the operation of acquiring the first space includes obtaining at least one avatar motion that can be performed in the VR content and acquiring the first space based on the at least one avatar motion. can do.
  • the operation of acquiring the first space includes obtaining at least one space necessary for the user to perform each of the at least one avatar action and a space formed by the at least one space. It may include an operation of setting the first space.
  • the operation of acquiring the first space includes the time of executing the VR content, the time when the virtual space is changed in the VR content, the time when a specific scene is changed in the VR content, and the specific stage in the VR content. It may include an operation of acquiring the first space at a time of change and/or a time of change of a specific scenario in VR content.
  • the operation of acquiring the second space may include obtaining the second space based on the user's input or the surrounding environment of the wearable electronic device 401.
  • the scale value includes a scale factor representing the relationship between the size of the user's motion and the size of the avatar's motion, and the higher the scale value, the more the scale value is performed by the user's motion with the same size.
  • the size of the avatar's movements may be increased.
  • setting the scale value includes comparing the first space and the second space, checking whether a part of the first space exists outside the second space, and setting, as the scale value, a first scale value larger than the scale value specified for the VR content, based on confirming that a part of the first space exists outside the second space.
  • the operation of setting the first scale value to the scale value is based on confirming that a part of the first space exists outside the second space, and the operation of setting the first scale value to the scale value corresponds to the first scale value. It may include setting the first scale value to the scale value such that the third space is the same as the second space or exists within the second space.
  • the method may further include displaying an intro screen through the display 440 to help the user adapt to the set scale value.
  • the method may further include placing an object to be rendered in the VR content based on the second space.
  • An electronic device may be of various types.
  • Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances.
  • Electronic devices according to embodiments of this document are not limited to the above-described devices.
  • first, second, or first or second may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited.
  • One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
  • any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
  • module used in one embodiment of this document may include a unit implemented in hardware, software, or firmware, and may be interchangeable with terms such as logic, logic block, component, or circuit, for example. can be used
  • a module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • One embodiment of the present document is one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
  • a processor e.g., processor 120
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
  • a method according to an embodiment 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 multiple entities, and some of the multiple entities may be separately placed in other components.
  • 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, omitted, or , or one or more other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 실시예에 따른 웨어러블 전자 장치는 디스플레이 및 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 상기 디스플레이를 통하여 표시되는 VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하도록 구성될 수 있다. 적어도 하나의 프로세서는 안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하도록 구성될 수 있다. 적어도 하나의 프로세서는 상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값을 설정하도록 구성될 수 있다. 적어도 하나의 프로세서는 상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하도록 구성될 수 있다.

Description

가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치
본 개시는 가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치에 관한 것이다.
AR 글래스(augmented reality glass), VR 글래스(virtual reality glass), 및 HMD(head mounted display) 장치와 같은 웨어러블 전자 장치를 통해 제공되는 다양한 서비스 및 부가 기능들이 점차 증가하고 있다. 이러한 전자 장치의 효용 가치를 높이고, 다양한 사용자들의 욕구를 만족시키기 위해서 통신 서비스 제공자 또는 전자 장치 제조사들은 다양한 기능들을 제공하고 다른 업체와의 차별화를 위해 전자 장치를 경쟁하고 있다. 이에 따라, 웨어러블 전자 장치를 통해서 제공되는 다양한 기능들도 고도화 되고 있다.
VR 글래스는, 사용자의 머리에 착용된 상태에서, 가상의 이미지를 표시함으로써, 사용자에게 현실감 있는 체험을 제공할 수 있다. VR 글래스는, 게임 엔터테인먼트, 교육, SNS(social networking service)와 같은 다양한 분야에서 스마트 폰의 사용성을 대체할 수 있다. 사용자는, 머리에 착용한 VR 글래스를 통하여 현실과 유사한 컨텐츠를 제공 받을 수 있으며, 인터랙션을 통하여 가상의 세계에 있는 느낌을 받을 수 있다.
VR 글래스는, VR 글래스를 착용한 사용자의 머리의 움직임에 의한 VR 글래스의 움직임, 컨트롤러를 통한 입력, 및/또는 사용자의 신체에 부착된 센서의 움직임에 기반하여, VR 컨텐츠를 제어할 수 있다. 예를 들어, VR 글래스는, VR 컨텐츠가 제공되는 동안, 사용자의 이동(또는 VR 글래스의 이동)을 검출할 수 있다. VR 글래스는, 사용자가 이동하는 동작에 대응하는 동작을 VR 컨텐츠의 가상 공간에서 사용자에 대응하는 아바타(avatar)(또는 "캐릭터(character)"로도 지칭됨)가 수행하도록 할 수 있다. 예를 들어, VR 글래스는, VR 컨텐츠가 제공되는 동안, 컨트롤러를 잡은 사용자의 손의 움직임(또는 손에 잡힌 컨트롤러의 움직임)을 검출할 수 있다. VR 글래스는, 손의 움직임에 대응하는 동작을 VR 컨텐츠의 가상 공간에서 사용자에 대응하는 아바타가 수행하도록 할 수 있다.
VR 글래스를 착용한 사용자가 이동하거나 손을 움직임으로써 VR 컨텐츠를 제어하는 동안, 사용자는 사용자 주변에 위치하는 위험물과 충돌할 위험이 있을 수 있다. 위험물과의 충돌을 피하기 위하여, VR 글래스는 사용자가 안전하게 VR 컨텐츠를 제공 받을 수 있도록, 사용자 주변에 안전 공간(safe zone)을 설정할 수 있다.
사용자 주변에 설정된 안전 공간의 크기가 VR 컨텐츠를 제어하기 위하여 VR 글래스로 입력 가능한 사용자 동작에 의해 형성되는 공간의 크기 보다 작은 경우, 사용자는 VR 컨텐츠에 몰입하기 어려울 수 있다. 예를 들어, VR 컨텐츠를 제어하기 위한 사용자의 동작이 상기 설정된 안전 공간 외부에서 수행되는 경우, VR 클래스는 VR 컨텐츠의 제공을 중단하거나, 사용자에게 경고를 나타내는 정보를 출력할 수 있다. 이러한 경우, 사용자는 VR 컨텐츠에 몰입하기 어려울 수 있다. 이에 따라, 사용자가 VR 컨텐츠를 제어하기 위한 동작을 안전하게 수행하면서 VR 컨텐츠에 몰입을 방해하지 않도록 할 필요가 있다.
사용자가 VR 컨텐츠를 제어하기 위한 동작을 안전하게 수행하면서 VR 컨텐츠에 대한 몰입을 방해 받지 않도록, VR 컨텐츠를 제어하기 위한 사용자의 동작을 수행하기 위하여 필요한 공간의 크기를 적응적으로 조정할 수 있는, 가상 현실(VR) 컨텐츠를 제어하는 방법 및 이를 실행하는 웨어러블 전자 장치가 제공된다.
추가적인 측면은 다음 설명에서 부분적으로 설명될 것이고, 부분적으로 설명에서 명확해질 것이며, 기재된 실시예의 실시를 통하여 이해될 수 있다.
일 실시예에 따른 웨어러블 전자 장치는 디스플레이 및 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 상기 디스플레이를 통하여 표시되는 VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하도록 구성될 수 있다. 적어도 하나의 프로세서는 안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하도록 구성될 수 있다. 적어도 하나의 프로세서는 상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값을 설정하도록 구성될 수 있다. 적어도 하나의 프로세서는 상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하도록 구성될 수 있다.
일 실시예에 따른 웨어러블 전자 장치에서 VR 컨텐츠를 제어하는 방법은, 상기 웨어러블 전자 장치의 디스플레이를 통하여 표시되는 상기 VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하는 동작을 포함할 수 있다. 상기 방법은 안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하는 동작을 포함할 수 있다. 상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값을 설정하는 동작을 포함할 수 있다. 상기 방법은, 상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하는 동작을 포함할 수 있다.
일 실시예에서, 컴퓨터 실행 가능 명령어들을 기록한 비-일시적인 컴퓨터 판독 가능 매체에 있어서, 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 웨어러블 전자 장치가, 상기 디스플레이를 통하여 표시되는 VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하도록 구성될 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 웨어러블 전자 장치가, 안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하도록 구성될 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 웨어러블 전자 장치가, 상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값을 설정하도록 구성될 수 있다. 상기 컴퓨터 실행 가능 명령어들은, 실행 시, 적어도 하나의 프로세서를 포함하는 웨어러블 전자 장치가, 상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하도록 구성될 수 있다.
일 실시예에 따른 가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치는, VR 컨텐츠를 제어하기 위한 사용자의 동작을 수행하기 위하여 필요한 공간의 크기를 적응적으로 조정함으로써, 사용자가 VR 컨텐츠를 제어하기 위한 동작을 안전하게 수행하면서 VR 컨텐츠에 대한 몰입을 방해 받지 않도록 할 수 있다.
본 개시의 특정 실시예들의 상기 및 다른 측면들, 특징들, 및 이점들은 첨부된 도면들과 함께 취해진 다음의 설명으로부터 더욱 명백해질 것이다.
도 1은, 일 실시 예에 따른, 전자 장치를 설명하기 위한 블록도이다.
도 2는, 일 실시 예에 따른, 전자 장치를 설명하는 도면이다.
도 3은, 일 실시 예에 따른, 전자 장치를 설명하는 도면이다.
도 4는, 일 실시 예에 따른, 전자 장치를 설명하는 블록도이다.
도 5는, 일 실시 예에 따른, 프로세서를 설명하는 블록도이다.
도 6은, 일 실시 예에 따른, 가상 현실(VR) 컨텐츠를 제어하는 방법을 설명하기 위한 흐름도이다.
도 7은, 일 실시 예에 따른, 사용자의 동작에 대응하는 아바타의 동작의 예시들을 설명한다.
도 8은, 일 실시 예에 따른, 제 1 공간을 획득하는 방법을 설명하기 위한 흐름도이다.
도 9는, 일 실시 예에 따른, 제 2 공간을 설정하는 방법을 설명하기 위한 예시 방법을 설명한다.
도 10은, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 방법을 설명하기 위한 흐름도이다.
도 11은, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 방법을 설명하기 위한 예시 방법을 설명한다.
도 12는, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 방법을 설명하기 위한 예시 방법을 설명한다.
도 13은, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 방법을 설명하기 위한 예시 방법을 설명한다.
도 14는, 일 실시 예에 따른, 사용자 동작에 의해 수행되는 아바타의 동작을 가이드하는 화면을 표시하는 방법을 설명하기 위한 예시 방법을 설명한다.
도 15는, 일 실시 예에 따른, 제 2 공간에 기반하여 VR 컨텐츠의 가상 공간에서 오브젝트를 배치하는 방법을 설명하기 위한 예시 방법을 설명한다.
도 16은, 일 실시 예에 따른, 제 2 공간에 기반하여 VR 컨텐츠의 가상 공간에서 오브젝트를 배치하는 방법을 설명하기 위한 예시 방법을 설명한다.
이하, 첨부된 도면들을 참조하여 본 개시의 예시적인 실시예들을 상세히 설명한다. 도면들에서 동일한 구성요소들에 대하여 동일한 참조부호가 사용되며, 이에 대한 중복된 설명은 생략하기로 한다. 본 개시에 설명된 실시예들은 예시적인 실시예들이므로, 본 개시는 이에 제한되지 않고 다양한 다른 형태들로 구현될 수 있다. 문맥상 달리 명확히 지시하지 않는 한, 단수의 형태들은 복수의 참조부호를 포함하는 것으로 이해될 수 있다. 본 개시에서 사용되는 기술적 또는 과학적 용어들을 포함하는 용어들은 당해 기술분야의 통상의 기술자들이 일반적으로 이해하는 것과 동일한 의미들을 가질 수 있다.
도 1은, 일 실시 예에 따른, 전자 장치(101)를 설명하기 위한 블록도이다.
전자 장치(101)는, 예를 들어, 증강 현실(AR) 글래스, 가상 현실(VR) 글래스, 및/또는 헤드 마운티드 디스플레이(HMD) 장치와 같은 사용자가 머리에 착용 가능한 웨어러블 전자 장치일 수 있다. 전자 장치(101)는, 웨어러블 전자 장치로 명명될 수도 있다.
외부 전자 장치(102, 103) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(외부 전자 장치(102, 103) 또는 서버(108)) 중 하나 이상의 외부 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행하는 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부의 수행을 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 예를 들어, 외부 전자 장치(102)는, 어플리케이션에서 실행한 컨텐츠 데이터를 렌더링 후 전자 장치(101)에 전달할 수 있으며, 상기 데이터를 수신한 전자 장치(101)는 상기 컨텐츠 데이터를 디스플레이 모듈에 출력할 수 있다. 만일, 전자 장치(101)가 IMU(inertial measurement unit) 센서 등을 통해 사용자 움직임을 감지하면 전자 장치(101)의 프로세서(120)는 외부 전자 장치(102)로부터 수신한 렌더링 데이터를 상기 움직임 정보를 기반으로 보정하여 디스플레이 모듈(160)에 출력할 수 있다. 또는, 전자 장치(101)는, 외부 전자 장치(102)에 상기 움직임 정보를 전달하여 이에 따라 화면 데이터가 갱신되도록 렌더링을 요청할 수 있다. 다양한 실시 예에 따라 외부 전자 장치(102)는 스마트폰 또는 전자 장치(101)을 보관하고 충전할 수 있는 케이스(case) 장치 등 다양한 형태의 장치일 수 있다.
일 실시예에 따라서, 전자 장치(101)는, 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 외부 전자 장치(102)와 통신하거나, 및/또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(103) 또는 서버(108)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 또 다른 전자 장치와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈 및/또는 배터리(189), 통신 모듈(190), 또는 안테나 모듈(197) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
일 실시예에 따라서, 프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 오디오 모듈(170), 센서 모듈(176), 또는 통신 모듈(190) 등)로부터 수신된 명령 또는 데이터를 휘발성 메모리에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서 및 보조 프로세서를 포함하는 경우, 보조 프로세서는 메인 프로세서보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서는 메인 프로세서와 별개로, 또는 그 일부로서 구현될 수 있다. 보조 프로세서는, 예를 들면, 메인 프로세서가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서를 대신하여, 또는 메인 프로세서가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(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)는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
일 실시예에 따라서, 프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
일 실시예에 따라서, 입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 마이크, 버튼, 및/또는 터치 패드를 포함할 수 있으나, 제한은 없다.
일 실시예에 따라서, 음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다.
일 실시예에 따라서, 디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 예를 들어, 전자 장치(101)가 AR 글래스로 구현되는 경우에는, 디스플레이 모듈(160)은 액정 표시 장치(liquid crystal display; LCD), 디지털 미러 표시 장치(digital mirror device; DMD), 실리콘 액정 표시 장치(liquid crystal on silicon; LCoS), 실리콘 온 발광 다이오드(light emitting diode(LED) on silicon; LEDoS), 유기 발광 다이오드(organic light emitting diode; OLED) 또는 마이크로 엘이디(micro light emitting diode; micro LED)를 포함할 수 있으나, 제한은 없다. 디스플레이 모듈(160)은, 전자 장치(101)의 종류에 따라 그 구현 형태가 상이할 수도 있다.
일 실시예에 따라서, 오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 외부 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다. 외부 전자 장치(102)는, 예를 들어 스마트 폰 또는 태블릿 PC와 같은 모바일 장치일 수 있으나, 제한은 없다.
일 실시예에 따라서, 센서 모듈(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)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
일 실시예에 따라서, 전력 관리 모듈 및/또는 배터리(189)는 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈 및/또는 배터리(189)는, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다. 전력 관리 모듈 및/또는 배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 전력 관리 모듈 및/또는 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
일 실시예에 따라서, 통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 외부 전자 장치(102), 외부 전자 장치(103), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5 세대(5G) 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치(102, 103)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈은 가입자 식별 모듈에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈은 전자 장치(101), 외부 전자 장치(예: 전자 장치(103)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다. 상술한 바와 같이, 전자 장치(101)가 4세대(4G), 5G와 같은 셀룰러 통신을 지원하는 경우, 전자 장치(101)를 SA(standalone) 타입의 전자 장치라 명명할 수도 있다. 한편, 전자 장치(101)는 4G, 5G와 같은 셀룰러 통신을 지원하지 않도록 구현될 수도 있으며, 이 경우에는 전자 장치(101)는, 제 1 네트워크(198)를 이용하여, 셀룰러 통신을 지원하는 외부 전자 장치(102)를 경유하여 인터넷을 이용할 수도 있으며, 이 경우 전자 장치(101)는 논-스탠드 얼론(non-standalone) 타입의 전자 장치로 명명될 수도 있다.
일 실시예에 따라서, 안테나 모듈(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)와 외부 전자 장치(102, 103) 간에 송신 또는 수신될 수 있다. 외부 전자 장치(102, 103) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(외부 전자 장치(102, 103) 또는 서버(108)) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(103)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(103) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는, 일 실시 예에 따른, 전자 장치(101)를 설명하는 도면이다.
도 3은, 일 실시 예에 따른, 전자 장치(101)를 설명하는 도면이다.
도 2 및 도 3을 참조하면, 일 실시예에서, 하우징의 제 1 면(210) 상에는 VST(video see through)를 위한 VST 카메라 모듈(211, 212), 복수의 카메라 모듈들(213, 214, 215, 216), 뎁스 센서(217), 및/또는 제 2 디스플레이(230)가 배치될 수 있다. 예를 들어, 하우징의 제 1 면(210)에 형성된 개구를 통하여 VST 카메라 모듈(211, 212), 복수의 카메라 모듈들(213, 214, 215, 216), 뎁스 센서(217), 및/또는 제 2 디스플레이(230)가 노출될 수 있다.
일 실시예에서, VST 카메라 모듈들(211, 212)은, 전자 장치 주변 환경과 관련된 이미지를 획득할 수 있다. VST 카메라 모듈들(211, 212)에 의해 획득된 이미지는, VST 컨텐츠의 적어도 일부로서 사용자에게 제공될 수 있다.
일 실시예에서, 복수의 카메라 모듈들(213, 214, 215, 216)은, 전자 장치가 사용자에 의해 착용된 상태에서, 이미지를 획득할 수 있다. 복수의 카메라 모듈들(213, 214, 215, 216)을 통하여 획득된 이미지는, SLAM(simultaneous localization and mapping), 6DoF(6 degrees of freedom), 피사체 인식, 및/또는 트래킹에 이용될 수 있다. 일 실시예에서, 뎁스 센서(217)는, TOF(time of flight)와 같이 물체와의 거리 확인을 위한 용도로 사용될 수 있다. 뎁스 센서(217)를 대체하여 또는 추가적으로, 복수의 카메라 모듈들(213, 214, 215, 216)이 물체와의 거리를 확인할 수 있다.
일 실시예에 따라서, 하우징의 제 2 면(220) 상에는 얼굴 인식용 카메라 모듈(215, 216) 및/또는 디스플레이(221)(및/또는 렌즈)가 배치될 수 있다.
일 실시예에서, 얼굴 인식용 카메라 모듈(225, 226)은, 사용자의 얼굴을 인식하기 위한 용도로 사용될 수 있다.
일 실시예에서, 디스플레이(221)(및/또는 렌즈)는, 전자 장치(101)가 사용자의 얼굴에 착용되는 경우, 얼굴에 대향하는 전자 장치(101)의 제 2 면(220)에 배치될 수 있다. 일 실시예에서, 디스플레이(221)(및/또는 렌즈)는, 전자 장치(101)가 사용자에 착용된 상태에서, 다양한 정보를 포함하는 화면을 표시할 수 있다.
일 실시예에서, 전자 장치(101)는, 하나 이상의 구성들(components)을 더 포함할 수 있다. 예를 들어, 전자 장치(101)는, 전자 장치가 사용자(예: 사용자의 얼굴)에 착용됨을 검출하기 위한 근접 센서, 터치 센서, 및/또는 압력 센서를 더 포함할 수 있다. 예를 들어, 전자 장치(101)는 지문 센서(광학 또는 초음파 방식의 지문 센서)를 더 포함할 수 있다. 예를 들어, 전자 장치(101)는 적어도 하나의 키(또는 버튼)를 더 포함할 수 있다.
일 실시예에서, 전자 장치(101)는 도 2 및 도 3에 도시된 구성들 중에서 일부를 생략할 수 있다. 예를 들어, 전자 장치(101)는, 복수의 카메라 모듈들(213, 214, 215, 216) 중에서, 카메라 모듈들(215, 216)을 포함하지 않을 수 있다.
일 실시예에서, 전자 장치(101)는, 도 1에 도시된 전자 장치(101)의 구성들 중 적어도 하나의 구성을 더 포함할 수 있다.
일 실시예에서, 도 2 및 도 3은, VST 방식을 이용한 전자 장치(101)를 예시하고 있지만, 이에 제한되지 않는다, 예를 들어, 이하에서 설명할 VR 컨텐츠를 제어하는 동작은, VR 컨텐츠 제공이 가능한 모든 웨어러블 전자 장치에 적용될 수 있다. 예를 들어, 이하에서 설명할 VR 컨텐츠를 제어하는 동작은 VST를 위한 VST 카메라 모듈(211, 212)를 포함하지 않는 VR 전자 장치에 적용될 수 있다.
도 4는, 일 실시 예에 따른, 전자 장치(401)를 설명하는 블록도이다.
도 4를 참조하면, 일 실시예에서, 전자 장치(401)는 통신 모듈(410), 센서 모듈(420), 카메라 모듈(430), 디스플레이(440), 메모리(450), 및/또는 프로세서(460)를 포함할 수 있다.
일 실시예에서, 통신 모듈(410)은 도 1의 통신 모듈(190)에 포함될 수 있다.
일 실시예에서, 통신 모듈(410)은, 사용자의 동작을 이용한 입력을 획득하기 위하여, 이용될 수 있다. 예를 들어, 전자 장치(401)와 무선으로(또는 유선으로) 연결된 컨트롤러는 모션 센서(예: IMU(inertia measurement unit) 센서)을 포함할 수 있다. 컨트롤러가 사용자(예: 사용자의 손)에 의해 그립(grip)된 상태에서 사용자의 동작에 의해 움직이는 경우, 모션 센서를 통하여, 컨트롤러의 움직임에 대한 정보를 획득할 수 있다. 통신 모듈(410)은, 컨트롤러로부터, 컨트롤러가 획득한 컨트롤러의 움직임에 대한 정보를 수신함으로써, 사용자의 동작을 이용한 입력을 획득할 수 있다. 예를 들어, 통신 모듈(410)은, 컨트롤러(예: 조이스틱, 키보드, 마우스)로부터, 컨트롤러에서 획득된 입력에 대한 정보를 수신할 수 있다.
일 실시예에서, 센서 모듈(420)은 도 1의 센서 모듈(176)에 포함될 수 있다.
일 실시예에서, 센서 모듈(420)은 전자 장치(401)의 움직임을 획득할 수 있다. 예를 들어, 센서 모듈(420)은, 모션 센서(예: 6DoF(6 degrees of freedom)를 지원하는 센서)를 포함할 수 있다. 센서 모듈(420)은, 모션 센서를 통하여, 전자 장치(401)를 착용한 사용자(예: 사용자의 머리)의 동작에 의해 움직이는 전자 장치(401)의 움직임을 획득할 수 있다.
일 실시예에서, 카메라 모듈(430)은 도 1의 카메라 모듈(180)에 포함될 수 있다.
일 실시예에서, 카메라 모듈(430)은, 전자 장치(401)로의 입력을 획득하기 위하여, 이용될 수 있다. 예를 들어, 카메라 모듈(430)은, 사용자의 안구, 손과 같은 사용자의 신체에 대한 이미지를 획득할 수 있다. 카메라 모듈(430)을 통하여 획득된 이미지를 이용하여 사용자의 신체의 의한 입력이 획득될 수 있다.
일 실시예에서, 카메라 모듈(430)은, 전자 장치(401)(예: 사용자에 착용된 전자 장치(401)) 주변 환경에 대한 이미지를 획득할 수 있다. 상기 획득된 주변 환경에 대한 이미지는, 후술할 안전 공간을 설정(예: 조정)하기 위하여 이용될 수 있다.
일 실시예에서, 디스플레이(440)는, 도 1의 디스플레이 모듈(160) 및/또는 도 3의 디스플레이(221)에 포함될 수 있다.
일 실시예에서, 메모리(450)는 도 1의 메모리(130)에 포함될 수 있다.
일 실시예에서, 메모리(450)는 VR 컨텐츠를 제어하는 동작을 수행하기 위한 정보를 저장할 수 있다. 메모리(450)가 저장하는 정보에 대해서는 후술하도록 한다.
일 실시예에서, 프로세서(460)는 도 1의 프로세서(120)에 포함될 수 있다.
일 실시예에서, 프로세서(460)는, VR 컨텐츠를 제어하는 전반적인 동작을 제어할 수 있다. 프로세서(460)는, VR 컨텐츠를 제어하는 동작을 제어하기 위한 하나 이상의 프로세서들을 포함할 수 있다. 프로세서(460)는 VR 컨텐츠를 제어하는 동작을 수행하기 위하여 복수의 모듈들을 포함할 수 있다. 프로세서(460)가 포함하는 복수의 모듈들에 대하여 도 5를 참조하여 설명하도록 한다.
도 4에서 전자 장치(401)가 통신 모듈(410), 센서 모듈(420), 카메라 모듈(430), 디스플레이(440), 메모리(450), 및 프로세서(460)를 포함하는 것으로 예시하고 있지만 이에 제한되지 않는다. 예를 들어, 전자 장치(401)는, 도 4에 도시된 구성들(components) 중 일부를 포함하지 않을 수 있다. 예를 들어, 전자 장치(401)는, 도 1에 도시된 전자 장치(101)의 구성들 중 일부를 더 포함할 수 있다.
도 5는, 일 실시 예에 따른, 프로세서(460)의 블록도를 나타내는 도면이다.
도 5를 참조하면, 일 실시예에서, 프로세서(460)는, 동작 분석 모듈(510), 안전 공간 관리 모듈(520), 스케일(scale) 관리 모듈(530), 및/또는 렌더링(rendering) 모듈(540)을 포함할 수 있다.
일 실시예에서, 동작 분석 모듈(510)은, 사용자의 동작을 이용한 입력에 기반하여, VR 컨텐츠의 가상 공간에서 수행될 아바타의 동작을 위한 데이터를 생성할 수 있다.
일 실시예에서, 동작 분석 모듈(510)은, 컨트롤러로부터 통신 모듈(410)을 통하여 수신된 사용자의 동작(예: 컨트롤러를 그립한 손의 동작)에 의한 컨트롤러의 움직임, 카메라 모듈(430)을 통하여 획득된 이미지에 기반하여 획득된 사용자의 동작, 및/또는 센서 모듈(420)을 통하여 획득된 사용자의 동작(예: 사용자의 머리의 움직임)에 의한 전자 장치(401)의 움직임과 같은, 사용자의 동작을 이용한 입력을 획득할 수 있다.
일 실시예에서, 동작 분석 모듈(510)은, 상기 획득된 사용자의 동작을 이용한 입력에 기반하여, 사용자의 동작에 대응하는 아바타("캐릭터"로도 지칭됨)(예: 사용자에 대응하는 아바타)의 동작이 VR 컨텐츠의 가상 공간에서 수행되도록 하는 데이터("아바타의 자세(pose) 데이터"로도 지칭됨)를 생성할 수 있다. 예를 들어, 동작 분석 모듈(510)은, 가상 공간에서 수행되는 테니스 게임이 전자 장치(401)에서 실행되는 동안, 사용자가 컨트롤러를 이용하여 라켓을 휘두르는 동작을 수행하는 경우, 테니스 게임의 가상 공간에서 사용자에 대응하는 아바타가, 사용자의 라켓을 휘두르는 동작에 대응하는 가상 라켓을 휘두르는 동작을 수행하도록 하기 위한 데이터를 생성할 수 있다.
일 실시예에서, 사용자의 동작에 대응하는 아바타의 동작은, 아바타가 사용자의 실제 동작과 동일하게 수행하는 동작을 포함할 수 있다. 다만, 본 개시는 이에 제한되지 않는다. 예를 들어, 동작 분석 모듈(510)은, 사용자가 부분적으로 서로 다른 동작들(예: 사용자가 손을 머리에 올리는 동작 및 사용자가 손을 머리 위로 드는 동작)을 수행하는 경우, 동일한 아바타의 동작(예: 아바타가 아바타의 손을 아바타의 머리로 드는 동작)이 수행되도록 하는 데이터를 생성할 수 있다.
전술한 예시에서는, 사용자의 동작을 이용한 입력에 기반하여 사용자에 대응하는 아바타가 동작을 수행하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 동작 분석 모듈(510)은, 사용자의 동작을 이용한 입력에 기반하여, 사용자에 대응하는 아바타 외에, VR 컨텐츠의 가상 공간에서 표시되는 오브젝트(object)(예: 오브젝트의 이동, 오브젝트의 표시)를 제어하기 위한 데이터를 생성할 수 있다.
일 실시예에서, 안전 공간 관리 모듈(520)은, 사용자가 안전하게 VR 컨텐츠를 제공 받을 수 있는 공간(이하, "안전 공간(safe zone)"으로 지칭함)을 관리할 수 있다.
일 실시예에서, 안전 공간은, 전자 장치(401)를 착용한 사용자가 안전하게 VR 컨텐츠를 제공 받도록 설정된 공간(예: 사용자의 부상을 방지하기 위하여 방해물이 위치하지 않는 공간) 일 수 있다.
일 실시예에서, 안전 공간 관리 모듈(520)은 안전 공간을 설정할 수 있다. 예를 들어, 안전 공간 관리 모듈(520)은, 안전 공간을 설정하는 사용자 입력에 기반하여, 안전 공간을 설정할 수 있다. 예를 들어, 안전 공간 관리 모듈(520)은, 카메라 모듈(430) 및/또는 센서 모듈(420)(예: 뎁스 센서(217))를 이용하여, 사용자(또는 전자 장치(401)) 주변의 외부 환경에 대한 정보를 획득할 수 있다. 안전 공간 관리 모듈(520)은, 상기 획득된 외부 환경에 대한 정보에 기반하여, 안전 공간을 설정할 수 있다. 안전 공간 관리 모듈(520)이 안전 공간을 설정하는 동작에 대해서는 상세히 후술하도록 한다.
일 실시예에서, 안전 공간 관리 모듈(520)은, 안전 공간이 설정된 경우, 설정된 안전 공간에 대한 정보를 메모리(450)에 저장할 수 있다. 안전 공간 관리 모듈(520)은, 설정된 안전 공간에 대한 정보를 스케일 관리 모듈(530)로 제공할 수 있다.
일 실시예에서, 스케일 관리 모듈(530)은, 아바타에 대응하는 사용자의 동작을 위하여 필요한 공간(이하, "제 1 공간"으로 지칭함) 및 안전 공간(이하, "제 2 공간"으로도 지칭함)에 기반하여, 사용자의 동작에 의해 수행되는 아바타의 동작의 크기를 결정하기 위한 스케일 값(scale value)를 설정(예: 조정)할 수 있다.
일 실시예에서, 제 1 공간은, 사용자가 VR 콘텐츠의 가상 공간에서 수행 가능한 아바타의 동작들을 수행하도록 하는 사용자 동작들을 수행하기 위하여 필요한 공간일 수 있다.
일 실시예에서, 스케일 관리 모듈(530)은 제 1 공간을 획득(예: 생성)할 수 있다. 스케일 관리 모듈(530)이 제 1 공간을 획득하는 동작에 대해서는 상세히 후술하도록 한다. 전술한 예시에서 스케일 관리 모듈(530)이 제 1 공간을 획득하는 것으로 설명하고 있지만, 이에 제한되지 않는다. 예를 들어, 스케일 관리 모듈(530)을 대체하여 동작 분석 모듈(510)이 제 1 공간을 획득(예: 생성)할 수 있다. 이러한 경우, 동작 분석 모듈(510)은 획득한 제 1 공간에 대한 정보를 스케일 관리 모듈(530)로 제공할 수 있다.
일 실시예에서, 스케일 관리 모듈(530)은, 제 1 공간 및 제 2 공간을 비교함으로써, 사용자의 동작에 의해 수행되는 아바타의 동작의 크기를 결정하기 위한 스케일 값(이하, "스케일 값"으로 지칭함)을 설정할 수 있다.
일 실시예에서, 스케일 값은, 동일한 크기를 가진 사용자의 동작에 대하여, 아바타의 동작의 크기를 다르게 제어(예: 렌더링)할 수 있는 값을 포함할 수 있다.
일 실시예에서, 스케일 값은, 아바타의 동작의 크기를 결정하기 위하여, 사용자의 동작의 크기와 함께 이용되는 값일 수 있다.
일 실시예에서, 스케일 값은, 사용자의 동작의 크기 및 사용자의 동작에 대응하는 아바타의 동작의 크기 간 관계를 나타내는 스케일 팩터(scale factor)(또는 사용자의 동작의 크기 및 아바타의 동작의 크기 간 관계를 나타내는 계수)일 수 있다.
일 실시예에서, 스케일 값은, 사용자의 동작(예: 사용자의 동작을 나타내는 좌표들)을 스케일링(예: 증가 또는 감소)시키기 위한 값일 수 있다. 예를 들어, 스케일 값은, 사용자의 동작이 시작된 지점을 포함하여 사용자의 동작이 연속적으로 수행되는 동안 측정된 복수의 지점들 상호 간 거리를 증가(예: 제 1 공간의 적어도 일부가 제 2 공간의 외부에 존재하는 경우) 또는 감소(또는 유지)(예: 제 1 공간 전체가 제 2 공간의 내부에 존재하는 경우) 시키기 위한 값일 수 있다.
일 실시예에서, 스케일 값이 높게 설정될수록, 동일한 크기를 가진 사용자 동작에 의해 수행되는 아바타의 동작의 크기는 증가될 수 있다. 예를 들어, 스케일 관리 모듈(530)은, 스케일 값이 제 1 값으로 설정되고, 제 1 거리(예: 실제 공간에서 1m(meter))만큼 이동하는 사용자의 동작을 이용한 입력이 입력된 경우, 아바타가 가상 공간에서 제 2 거리(예: 가상 공간에서 1m)만큼 이동하도록 할 수 있다. 스케일 관리 모듈(530)은, 스케일 값이 제 1 값 보다 높은 제 2 값으로 설정되고, 제 1 거리(예: 가상 공간에서 1m) 보다 짧은 제 3 거리(예: 실제 공간에서 0.5m)만큼 이동하는 사용자의 동작을 이용한 입력이 입력된 경우에도, 아바타가 가상 공간에서 제 2 거리(예: 가상 공간에서 1m)만큼 이동하도록 할 수 있다.
일 실시예에서, 스케일 관리 모듈(530)은, 제 1 공간 및 제 2 공간을 비교하여 제 1 공간의 적어도 일부가 제 2 공간 외부에 존재하는지 여부를 확인할 수 있다. 스케일 관리 모듈(530)은, 제 1 공간의 적어도 일부가 제 2 공간 외부에 존재하는지 여부에 기반하여, 스케일 값을 조정 또는 유지할 수 있다. 스케일 관리 모듈(530)이, 제 1 공간 및 제 2 공간을 비교함으로써, 스케일 값을 설정하는 보다 상세한 예시에 대해서는 상세히 후술하도록 한다.
일 실시예에서, 렌더링 모듈(540)은, 사용자 동작에 대응하는 동작을 수행하는 아바타가 가상 공간에서 렌더링(예: 표현)되도록 할 수 있다. 예를 들어, 렌더링 모듈(540)은, 스케일 값에 기반하여 동작의 크기가 결정된 아바타가 디스플레이(440)를 통하여 표시되도록, 렌더링 동작을 수행할 수 있다.
도 5에서, 동작 분석 모듈(510), 안전 공간 관리 모듈(520), 스케일 관리 모듈(530), 및 렌더링 모듈(540)은 서로 독립된 모듈들인 것으로 도시되어 있지만, 이에 제한되지 않는다. 예를 들어, 동작 분석 모듈(510), 안전 공간 관리 모듈(520), 스케일 관리 모듈(530), 및 렌더링 모듈(540) 중 적어도 2개의 모듈들은 통합된 하나의 모듈로 구현될 수 있다.
도 5에서, 프로세서(460)가, 동작 분석 모듈(510), 안전 공간 관리 모듈(520), 스케일 관리 모듈(530), 및 렌더링 모듈(540)을 포함하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(460)는, VR 컨텐츠를 제어하는 동작을 수행하기 위하여, 추가적인 모듈을 더 포함할 수 있다.
일 실시예에 따른 웨어러블 전자 장치(401)는 디스플레이(440) 및 적어도 하나의 프로세서(460)(이하, "프로세서(460)"로도 지칭됨)를 포함할 수 있다. 적어도 하나의 프로세서(460)는 상기 디스플레이(440)를 통하여 표시되는 VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하도록 구성될 수 있다. 적어도 하나의 프로세서(460)는 안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하도록 구성될 수 있다. 적어도 하나의 프로세서(460)는 상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값을 설정하도록 구성될 수 있다. 상기 적어도 하나의 프로세서(460)는, 상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하도록 구성될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 VR 컨텐츠에서 수행 가능한 적어도 하나의 아바타 동작을 획득하고, 및 상기 적어도 하나의 아바타 동작에 기반하여 상기 제 1 공간을 획득하도록 구성될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 사용자가 상기 적어도 하나의 아바타 동작 각각을 수행하기 위하여 필요한 적어도 하나의 공간을 획득하고, 및 상기 적어도 하나의 공간에 의해 형성되는 공간을 상기 제 1 공간으로 설정하도록 구성될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 VR 컨텐츠를 실행하는 시점, VR 컨텐츠에서 상기 가상 공간이 변경되는 시점, VR 컨텐츠에서 특정 씬이 변경되는 시점, VR 컨텐츠에서 특정 스테이지가 변경되는 시점, 및/또는 VR 컨텐츠에서 특정 시나리오가 변경되는 시점에 상기 제 1 공간을 획득하도록 구성될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 사용자의 입력 또는 상기 웨어러블 전자 장치(401)의 주변 환경에 기반하여, 상기 제 2 공간을 획득하도록 구성될 수 있다.
일 실시예에서, 상기 스케일 값은 상기 사용자의 동작의 크기 및 상기 아바타의 동작의 크기 간 관계를 나타내는 스케일 팩터(scale factor)를 포함하고, 및 상기 스케일 값이 높을수록, 동일한 크기를 가진 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기가 증가될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 제 1 공간 및 상기 제 2 공간을 비교하고, 상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재하는지 여부를 확인하고, 및 상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재함을 확인함에 기반하여, 상기 VR 컨텐츠에 지정된 스케일 값 보다 큰 제 1 스케일 값을 상기 스케일 값으로 설정하도록 구성될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재함을 확인함에 기반하여, 상기 제 1 스케일 값에 대응하는 제 3 공간이 상기 제 2 공간과 동일하거나 상기 제 2 공간 내에 존재하도록 하는 상기 제 1 스케일 값을 상기 스케일 값으로 설정하도록 구성될 수 있다,
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 사용자가 상기 설정된 스케일 값에 적응하도록 하기 위한 인트로(intro) 화면을 상기 디스플레이(440)를 통하여 표시하도록 구성될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서(460)는, 상기 제 2 공간에 기반하여 상기 VR 컨텐츠에 렌더링될 오브젝트를 배치하도록 구성될 수 있다.
도 6은, 일 실시 예에 따른, VR 컨텐츠를 제어하는 방법을 설명하기 위한 흐름도(600)이다.
도 6을 참조하면, 동작 601에서, 일 실시예에서, 프로세서(460)는, VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득할 수 있다.
일 실시예에서, 사용자의 동작에 대응하는 아바타의 동작은, 아바타가 사용자의 실제 동작과 동일하게 수행하는 동작을 포함할 수 있다. 이하, 도 7을 참조하여, 사용자의 동작에 대응하는 아바타의 동작에 대하여 설명하도록 한다.
도 7은, 일 실시 예에 따른, 사용자의 동작에 대응하는 아바타의 동작의 예시를 설명한다.
도 7을 참조하면, 일 실시예에서, 참조 부호 701은 VR 컨텐츠가 제공되는 동안 실제 공간(710) 상에서 수행되는 사용자(711)의 동작을 나타낼 수 있다. 참조 부호 702는 VR 컨텐츠(예: 테니스 게임)가 제공되는 동안 가상 공간(720) 상에서 수행되는 사용자(711)에 대응하는 아바타(721)의 동작을 나타낼 수 있다.
일 실시예에서, 701에 도시된 바와 같이 사용자(711)가 컨트롤러(731)(및 컨트롤러(732))를 이용하여 서브 동작(예: 테니스의 서브 동작)을 입력하는 경우, 702에 도시된 바와 같이 아바타(721)는 사용자(711)의 서브 동작과 실질적으로 동일한 서브 동작을 수행할 수 있다. 예를 들어, 701에서 사용자(711)가 컨트롤러(731)를 그립한 사용자의 팔의 각도 및/또는 세기(또는 가속도)는, 702에서 아바타(721)의 팔의 각도 및/또는 세기와 실질적으로 동일할 수 있다. 일 실시예에서, 702에서 도시된 바와 같이, 가상 공간에서 가상 공(701) 및 가상 테니스 라켓(742)이 표시될 수 있다. 도 7을 통하여 사용자의 동작 및 아바타의 동작이 실질적으로 동일한 경우를 예시하였지만, 이에 제한되지 않는다. 예를 들어, 사용자의 동작에 대응하는 아바타의 동작은, 사용자가 부분적으로 서로 다른 동작들을 수행하는 경우, 아바타가 동일하게 수행하는 동작을 포함할 수 있다.
일 실시예에서, 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간은, 사용자가 VR 콘텐츠의 가상 공간에서 수행 가능한 아바타의 동작들을 수행하도록 하는 사용자 동작들을 수행하기 위하여 필요한 공간을 포함할 수 있다. 이하, 도 8을 참조하여, 제 1 공간 및 프로세서(460)가 제 1 공간을 획득하는 동작에 대하여 보다 상세히 설명하도록 한다.
도 8은, 일 실시 예에 따른, 제 1 공간을 획득하는 방법을 설명하기 위한 흐름도(800)이다.
도 8을 참조하면, 동작 801에서, 일 실시예에서, 프로세서(460)는, VR 어플리케이션을 실행할 수 있다. 예를 들어, 프로세서(460)는, 사용자 입력에 기반하여, VR 어플리케이션을 실행할 수 있다.
일 실시예에서, VR 어플리케이션은, 가상 환경(또는 "가상 세계"로도 지칭됨)의 가상 공간에서 표현되는 VR 컨텐츠를 제공할 수 있는, 게임 어플리케이션, 영상 어플리케이션을 포함할 수 있다. 다만, VR 어플리케이션은 전술한 게임 어플리케이션, 영상 어플리케이션에 제한되지 않는다.
일 실시예에서, VR 컨텐츠는, 사용자의 동작에 의해 아바타의 동작을 제어할 수 있는 컨텐츠를 포함할 수 있다. VR 컨텐츠는, 전자 장치(401)가 향하는 방향(또는 사용자의 시선)에 대응하는 1인칭 시점 또는 3인칭 시점의 장면을 표현할 수 있는 컨텐츠를 포함할 수 있다.
일 실시예에서, 프로세서(460)는, VR 어플리케이션이 실행됨에 따라, VR 컨텐츠에서 특정 가상 공간, 특정 씬(scene), 특정 스테이지(stage), 또는 특정 시나리오(scenario)을 렌더링(예: 표현)할 수 있다.
동작 803에서, 일 실시예에서, 프로세서(460)는, VR 컨텐츠에서 수행 가능한 아바타의 동작을 획득할 수 있다.
일 실시예에서, 프로세서(460)는, VR 컨텐츠(또는 VR 어플리케이션)에서 아바타가 수행할 수 있는 동작들(예: 아바타가 수행할 수 있는 동작들의 리스트(list))을 획득할 수 있다. 예를 들어, 프로세서(460)는, VR 컨텐츠가 테니스 게임인 경우, 테니스 게임에서 아바타가 수행할 수 있는, 아바타가 가상 라켓을 휘두르는 동작(예: 서브 동작, 포핸드 동작, 및 백핸드 동작), 및 아바타가 이동하는 동작을 획득할 수 있다. 전술한 예시에서는, 테니스 게임 내에서 아바타가 수행할 수 있는 모든 동작들과 같이, VR 컨텐츠(또는 VR 어플리케이션) 내에서 아바타가 수행할 수 있는 모든 동작들이 획득될 수 있지만, 이에 제한되지 않는다. 일 실시예에서, 프로세서(460)는, VR 컨텐츠에서 특정 가상 공간, 특정 씬, 특정 스테이지, 또는 특정 시나리오를 표현할 경우, 특정 가상 공간, 특정 씬, 특정 스테이지, 또는 특정 시나리오에서 아바타가 수행할 수 있는 동작들을 획득할 수 있다. 예를 들어, VR 컨텐츠의 제 1 가상 공간에서 아바타가 수행할 수 있는 제 1 동작들과, VR 컨텐츠의 제 1 가상 공간과 다른 제 2 가상 공간에서 아바타가 수행할 수 있는 제 2 동작들은, 서로 다른 동작을 포함할 수 있다. 이러한 경우, 프로세서(460)는, 아바타가 제 1 가상 공간에 진입한 경우 제 1 동작들을 획득하고, 아바타가 제 2 가상 공간에 진입한 경우 제 2 동작들을 획득할 수 있다.
동작 805에서, 일 실시예에서, 프로세서(460)는, 상기 수행 가능한 아바타의 동작에 기반하여, 제 1 공간을 획득할 수 있다.
일 실시예에서, 제 1 공간은, VR 컨텐츠(또는 VR 컨텐츠의 특정 가상 공간, 또는 특정 씬, 또는 특정 스테이지, 또는 특정 시나리오)에서 수행 가능한 아바타의 동작들(이하, "수행 가능한 아바타의 동작들"로 지칭함)을 수행하도록 하는 사용자 동작들을 수행하기 위하여 필요한 공간을 포함할 수 있다.
일 실시예에서, 제 1 공간은, VR 컨텐츠(또는 VR 컨텐츠의 특정 가상 공간, 또는 특정 씬, 또는 특정 스테이지, 또는 특정 시나리오)에 지정된 스케일 값 및 수행 가능한 아바타의 동작들에 기반하여, 설정되는 공간일 수 있다.
일 실시예에서, 프로세서(460)는, VR 컨텐츠에 지정된 스케일 값(예: VR 컨텐츠에 기본(default)으로 설정된 스케일 값) 및 수행 가능한 아바타의 동작들에 기반하여, 제 1 공간을 설정(예: 조정)할 수 있다.
일 실시예에서, VR 컨텐츠에 기본으로 설정된 스케일 값(이하, "기본 스케일 값"으로도 지칭함)은, 실제 공간에서 수행되는 사용자 동작의 크기와, 상기 크기를 가진 사용자 동작에 의해 가상 공간에서 수행되는 아바타의 동작의 크기가 동일하도록 하는, 스케일 값일 수 있다. 예를 들어, VR 컨텐츠에 기본으로 설정된 스케일 값은, 실제 공간에서 사용자가 1m의 거리를 이동한 경우 아바타가 가상 공간에 설정된 거리 1m를 이동하도록 하는, 스케일 값일 수 있다. 예를 들어, VR 컨텐츠에 지정된 스케일 값은, 실제 공간에서 사용자가 사용자의 팔을 30도 각도로 회전시키는 경우 아바타가 아바타의 팔을 가상 공간에서 각도 30도로 회전하도록 하는, 스케일 값일 수 있다.
일 실시예에서, 프로세서(460)는, VR 컨텐츠의 기본으로 설정된 스케일 값을 수행 가능한 아바타의 동작들 각각을 연산함으로써, 수행 가능한 아바타의 동작들 각각을 수행하기 위하여 필요한 복수의 공간들(이하, "복수의 제 1 서브 공간들"로 지칭함)을 획득할 수 있다.
일 실시예에서, 프로세서(460)는, 실제 공간에서 사용자의 위치를 기준으로, 복수의 제 1 서브 공간들에 의해 형성되는 공간을 제 1 공간으로 설정할 수 있다. 예를 들어, 프로세서(460)는, 실제 공간에서 사용자의 위치를 기준으로, 복수의 제 1 서브 공간들의 합집합에 해당하는 공간을 제 1 공간으로 설정할 수 있다.
전술한 예시들에서는, 아바타의 동작에 대응하는 사용자의 동작에 기반하여, 제 1 공간을 설정하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(460)는 사용자의 동작 및 사용자가 그립한 컨트롤러의 크기를 고려하여, 제 1 공간을 설정할 수 있다. VR 컨텐츠를 제어할 수 있는 컨트롤러의 크기는 다양할 수 있다. 프로세서(460)는 사용자의 동작 및 사용자가 그립한 컨트롤러의 크기를 고려하여, 제 1 공간을 설정할 수 있다.
전술한 예시들에서는, 아바타의 동작에 대응하는 사용자의 동작에 기반하여, 제 1 공간을 설정하는 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(460)는 사용자의 동작에 필요한 공간에 마진(margin) 공간(또는 여분의 공간)을 더 고려하여, 제 1 공간을 설정할 수 있다. 예를 들어, 프로세서(460)는 사용자의 동작에 필요한 공간이 반경 2m를 가진 구 형태인 경우, 사용자의 동작에 필요한 공간에 마진(margin) 공간(또는 여분의 공간)을 더 포함하는 반경 2.5m를 가진 구 형태의 제 1 공간을 설정할 수 있다.
일 실시예에서, 프로세서(460)는, 사용자의 동작 및 컨트롤러의 유형(type)에 기반하여, 제 1 공간을 설정할 수 있다. 예를 들어, 프로세서(460)는, 조이스틱, 키보드, 마우스와 같은 제 1 유형의 컨트롤러를 이용하는 경우, 6 DoF 센서를 포함하는 제 2 유형의 컨트롤러를 이용하는 경우 설정되는 제 1 공간에 비하여 작은 크기를 가지는 공간을, 사용자의 동작에 필요한 공간으로서 설정할 수 있다.
전술한 예시들에서는, VR 컨텐츠에 지정된 스케일 값으로서, VR 컨텐츠의 기본으로 설정된 스케일 값을 설명하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(460)는, 사용자 입력에 기반하여, 기본으로 설정된 스케일 값과 다른 스케일 값을, 제 1 공간을 설정하기 위하여 이용될 스케일 값으로 지정할 수 있다.
다시 도 6을 참조하면, 동작 603에서, 일 실시예에서, 프로세서(460)는, 사용자가 안전하게 사용자의 동작을 수행하기 위한 제 2 공간(안전 공간)을 획득할 수 있다.
일 실시예에서, 프로세서(460)는, 사용자 입력에 기반하여, 제 2 공간을 설정할 수 있다. 이하, 도 9를 참조하면, 사용자 입력에 기반하여, 제 2 공간을 설정하는 동작에 대하여 설명하도록 한다.
도 9는, 일 실시 예에 따른, 제 2 공간을 설정하는 예시 방법을 설명한다.
도 9를 참조하면, 일 실시예에서, 프로세서(460)는, 사용자의 위치를 기준으로 사용자 입력에 의해 설정된 거리에 의해 형성된 제 2 공간을 설정할 수 있다. 예를 들어, 참조 부호 901에서, 프로세서(460)는 사용자의 위치(P)를 기준으로 이격되는 거리 a를 설정하는 사용자 입력을 획득할 수 있다. 프로세서(460)는, 상기 획득된 사용자 입력에 기반하여, 사용자의 위치(P)를 기준으로, 윗 면 및 아랫 면의 반지름이 a인 원기둥 형태의 제 2 공간(910)을 설정할 수 있다. 901에서, 제 2 공간(910)의 높이 b는, 전자 장치(401)의 위치(예: 실제 공간의 바닥 면으로부터 전자 장치(401)의 위치까지의 높이)와 동일하거나 전자 장치(401)의 위치에 마진(margin) 높이(예: 여분의 높이)를 합산한 높이로 설정될 수 있다. 901에서는, 제 2 공간(910)의 형태가 원기둥인 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(460)는, 사용자의 위치(P)를 기준으로, 사용자 입력에 의해 설정된 거리에 기반하여, 다양한 형태(예: 직육면체)의 제 2 공간을 설정할 수 있다.
일 실시예에서, 프로세서(460)는 사용자 입력에 의해 지정되는 영역에 기반하여 형성된 제 2 공간을 설정할 수 있다. 예를 들어, 참조 부호 902에서, 프로세서(460)는, 실제 공간(930)에서 컨트롤러(912)를 손에 그립한 사용자(911)가 컨트롤러(912)를 이용하여 라인(921)(예: 컨트롤러(912)의 위치로부터 컨트롤러(912)가 향하는 방향으로 형성된 라인 및 실제 공간(930)의 바닥 면이 교차하는 지점들의 집합)을 그리는 입력을 획득할 수 있다. 프로세서(460)는, 상기 획득된 입력에 기반하여, 라인(921)에 의해 형성된(예: 라인(921)을 경계로 하는) 영역(920)을 획득할 수 있다. 프로세서(460)는, 영역(920)을 기준으로 지정된 높이(예: 실제 공간의 바닥 면으로부터 전자 장치(401)의 위치까지의 높이에 마진 높이를 합산한 높이)를 가지는 공간을 제 2 공간으로 설정할 수 있다.
도 9에서는, 사용자 입력에 기반하여 제 2 공간을 설정하는 동작을 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 프로세서(460)는, 카메라 모듈(430) 및/또는 센서 모듈(420)(예: 뎁스 센서(217))를 이용하여, 전자 장치(401) 주변 환경에 대한 정보를 획득할 수 있다. 프로세서(460)는, 전자 장치(401) 주변 환경에 대한 정보에 기반하여, 사용자가 방해물이 없는 공간을 제 2 공간으로서 획득(예: 설정)할 수 있다. 일 실시예에서, 프로세서(460)는, 참조 부호 901의 제 2 공간(910)과 같이 정형화된(uniform) 공간을 제 2 공간으로서 설정하거나, 비-정형화된(non-uniform)한 공간을 제 2 공간으로 설정할 수 있다.
다시 도 6을 참조하면, 동작 605에서, 일 실시예에서, 프로세서(460)는, 제 1 공간 및 제 2 공간에 기반하여, 사용자의 동작에 의해 수행되는 아바타의 동작의 크기를 결정하기 위한 스케일 값을 설정할 수 있다. 일 실시예에서, 프로세서(460)는, 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정할 수 있다. 예를 들어, 프로세서(460)는, 상기 스케일 값이 설정된 후 사용자의 동작이 획득되는 경우, 상기 설정된 스케일 값을 상기 사용자의 동작에 적용함으로써, 상기 아바타의 동작의 크기를 결정할 수 있다.
일 실시예에서, 스케일 값은, 동일한 크기를 가진 사용자의 동작에 대하여, 아바타의 동작의 크기를 다르게 제어(예: 렌더링))할 수 있는 값일 수 있다.
일 실시예에서, 스케일 값은, 아바타의 동작의 크기를 결정하기 위하여, 사용자의 동작의 크기와 함께 이용되는 값일 수 있다.
일 실시예에서, 스케일 값은, 사용자의 동작의 크기 및 사용자의 동작에 대응하는 아바타의 동작의 크기 간 관계를 나타내는 스케일 팩터(scale factor)(또는 사용자의 동작의 크기 및 아바타의 동작의 크기 간 관계를 나타내는 계수)일 수 있다.
일 실시예에서, 스케일 값은, 사용자의 동작(예: 사용자의 동작을 나타내는 좌표들)을 스케일링(예: 증가 또는 감소)시키기 위한 값일 수 있다. 예를 들어, 스케일 값은, 사용자의 동작이 시작된 지점을 포함하여 사용자의 동작이 연속적으로 수행되는 동안 측정된 복수의 지점들 상호 간 거리를 증가(예: 제 1 공간의 적어도 일부가 제 2 공간의 외부에 존재하는 경우) 또는 감소(또는 유지)(예: 제 1 공간 전체가 제 2 공간의 내부에 존재하는 경우) 시키기 위한 값일 수 있다.
일 실시예에서, 스케일 값이 높게 설정될수록, 동일한 크기를 가진 사용자 동작에 의해 수행되는 아바타의 동작의 크기는 증가될 수 있다. 예를 들어, 프로세서(460)는, 스케일 값이 제 1 값으로 설정되고, 제 1 거리(예: 실제 공간에서 1m)만큼 이동하는 사용자의 동작을 이용한 입력이 입력된 경우, 아바타가 가상 공간에서 제 2 거리(예: 가상 공간에서 1m)만큼 이동하도록 할 수 있다. 프로세서(460)는, 스케일 값이 제 1 값 보다 높은 제 2 값으로 설정되고, 제 1 거리(예: 가상 공간에서 1m) 보다 짧은 제 3 거리(예: 실제 공간에서 0.5m)만큼 이동하는 사용자의 동작을 이용한 입력이 입력된 경우에도, 아바타가 가상 공간에서 제 2 거리(예: 가상 공간에서 1m)만큼 이동하도록 할 수 있다.
도 10은, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 방법을 설명하기 위한 흐름도(1000)이다.
도 10을 참조하면, 동작 1001에서, 일 실시예에서, 적어도 하나의 프로세서(460)는, 제 1 공간 및 제 2 공간을 비교할 수 있다.
일 실시예에서, 프로세서(460)는, 제 1 공간의 일부가 제 2 공간의 외부에 존재하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(460)는, 제 1 공간 내에서, 제 2 공간의 외부에 해당하는 공간에 존재하는 공간이 있는지 여부를 확인할 수 있다. 제 1 공간의 일부가 제 2 공간의 외부에 존재하는 경우, 사용자가 VR 컨텐츠를 제어하는 동안 사용자 동작에 의해 사용자의 신체 일부가 제 2 공간(안전 공간) 외부로 벗어날 수 있다. 이러한 경우, 사용자는 제 2 공간의 외부에 배치된 방해물과 충돌할 가능성이 있을 수 있다. 반면, 제 1 공간의 전체가 제 2 공간의 내부(또는 제 1 공간과 제 2 공간이 동일한 경우)에 존재하는 경우, 사용자는 안전하게 VR 컨텐츠를 제어할 수 있다.
동작 1003에서, 프로세서(460)는 제 1 공간의 일부가 제 2 공간 외부에 존재하는지 여부를 결정할 수 있다. 동작 1003에서 제 1 공간의 일부가 제 2 공간 외부에 존재하는 경우, 동작 1005에서, 일 실시예에서, 프로세서(460)는 스케일 값을 증가시킬 수 있다.
일 실시예에서, 스케일 값이 기본 스케일 값 보다 큰 스케일 값으로 설정되는 경우, 사용자는 제 1 공간 보다 작은 공간에서 수행되는 동작을 이용하여, 아바타가 동작을 수행하도록 할 수 있다. 예를 들어, 스케일 값이 기본 스케일 값 m1 보다 큰 스케일 값 m2로 설정된 경우, 아바타가 동일한 동작을 수행하도록 하기 위하여 필요한 사용자의 동작의 크기는, 스케일 값이 m1으로 설정된 경우에 비하여 스케일 값이 m2로 설정된 경우가 작을 수 있다. 예를 들어, 동일한 아바타의 동작을 수행하기 위하여 필요한 공간의 크기는, 스케일 값이 클수록, 작아질 수 있다. 이하, 스케일 값을 조정함으로써, 제 1 공간을 기준으로 변경되는 공간을 "제 3 공간"으로 지칭하기로 한다.
일 실시예에서, 제 3 공간은 조정된 스케일 값에 대응할 수 있다. 예를 들어, 제 3 공간은 조정된 스케일 값에 기반하여 설정되는 공간일 수 있다. 예를 들어, 제 3 공간은, 기본 스케일 값에 기반하여 설정된 제 1 공간으로부터 변경되고, 기본 스케일 값이 조정됨으로써 조정된 스케일 값에 기반하여 설정된 공간일 수 있다.
일 실시예에서, 프로세서(460)는, 제 1 공간의 일부가 제 2 공간 외부에 존재함을 확인함에 기반하여, 제 3 공간(예: 제 3 공간의 전체 공간)이 제 2 공간 내부에 존재하도록(또는 제 3 공간이 제 1 공간과 동일하도록) 기본 스케일 값으로부터 스케일 값을 증가시킬 수 있다.
일 실시예에서, 프로세서(460)는, 제 1 공간의 일부가 제 2 공간 외부에 존재함을 확인함에 기반하여, 제 3 공간이 제 2 공간 내부에 존재하는 동시에 제 3 공간의 경계면(예: 제 3 공간의 최외곽을 형성하는 면)이 제 2 공간의 경계면과 닿는 지점(또는 면)이 존재하도록, 기본 스케일 값으로부터 스케일 값을 증가시킬 수 있다. 예를 들어, 프로세서(460)는, 제 2 공간이 정육면체 형태로 형성되고 제 2 공간과 중심이 동일한 제 3 공간이 구 형태로 형성되는 경우, 정육면체 내부에 구가 존재하면서 정육면체의 경계면 및 구의 경계면이 접하도록, 스케일 값을 조정할 수 있다. 다만, 스케일 값을 조정하는 방식은 전술한 예시에 제한되지 않는다.
동작 1003에서 제 1 공간의 일부가 제 2 공간 외부에 존재하지 않는 경우, 동작 1007에서, 일 실시예에서, 프로세서(460)는 스케일 값을 유지시킬 수 있다. 예를 들어, 프로세서(460)는 제 1 공간의 전체가 제 2 공간의 내부에 존재하는 경우(또는 제 1 공간 및 제 2 공간이 동일한 경우), 프로세서(460)는 스케일 값을 기본 스케일 값으로 유지할 수 있다. 다만, 이에 제한되지 않는다, 예를 들어, 프로세서(460)는, 제 3 공간이 제 2 공간 내부에 존재하는 동시에 제 3 공간의 경계면(예: 제 3 공간의 최외곽을 형성하는 면)이 제 2 공간의 경계면과 닿는 지점(또는 면)이 존재하도록, 스케일 값을 감소시킬 수도 있다.
일 실시예에서, 프로세서(460)는, 스케일 값이 조정(예: 변경)되는 경우, 스케일 값의 조정과 관련된 정보를, 디스플레이(440)를 통하여 표시할 수 있다. 예를 들어, 프로세서(460)는, 스케일 값이 감소되는 경우, 사용자가 이전 보다 작은 크기의 동작에 의해 아바타의 동작을 제어할 수 있음을 나타내는 정보를, 디스플레이(440)를 통하여 표시할 수 있다.
다시 도 6을 참조하면, 일 실시예에서, 프로세서(460)는, VR 컨텐츠를 실행하는 지점, VR 컨텐츠에서 가상 공간이 변경되는 시점, 특정 씬이 변경되는 시점, 특정 스테이지가 변경되는 시점, 및/또는 특정 시나리오가 변경되는 시점에, 도 6의 동작 601 내지 동작 605을 통하여, 스케일 값을 설정하는 동작을, 수행할 수 있다.
일 실시예에서, 프로세서(460)는, 스케일 값이 설정(예: 조정)된 후, 설정된 스케일 값을 이용하여, VR 컨텐츠(예: 아바타의 동작)을 제어할 수 있다.
도 11은, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 예시 방법을 설명한다.
도 11을 참조하면, 도 11은, 사용자(1113)가, 컨트롤러(1114)를 이용하여, VR 컨텐츠로서 테니스 게임을 실행하는 경우를 나타낼 수 있다.
일 실시예에서, 참조 부호 1101에서, 공간(1111)은 제 1 공간을 나타내고, 공간(1112)는 제 2 공간(안전 공간)을 나타낼 수 있다. 예를 들어, 1101에서, 공간(1111)은 사용자가 컨트롤러(1114)를 그립한 손을 이용하여 테니스 라켓을 스윙하는 동작들(예: 백핸드(backhand) 스윙 및 포핸드(forehand) 스윙) 및 이동을 수행하기 위하여 필요한 제 1 공간을 나타낼 수 있다.
일 실시예에서, 1101에서 도시된 바와 같이, 제 1 공간 (예: 공간(1111))이 제 2 공간(예: 공간(1112)) 외부에 존재하는 경우, 프로세서(460)는, 제 1 공간으로부터 변경된 제 3 공간이 제 2 공간 내부에 존재하도록(또는 제 3 공간이 제 2 공간과 동일하도록), 스케일 값을 증가시킬 수 있다.
일 실시예에서, 1102에서, 공간(1121)은 제 1 공간을 나타내고, 공간(1122)은 제 2 공간을 나타낼 수 있다.
일 실시예에서, 1102에서 도시된 바와 같이, 제 1 공간(예: 공간(1121))이 제 2 공간(예: 공간(1122)) 내에 존재하는 경우, 프로세서(460)는 스케일 값을 기본 스케일 값으로 유지시킬 수 있다.
도 11에서는, 제 1 공간(예: 공간(1111), 공간(1121)) 및 제 2 공간(예: 공간(1112), 공간(1122))이 원기둥 형태인 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 제 1 공간 및/또는 제 2 공간은, 정형화된 공간 형태 또는 비-정형화된 공간 형태를 포함하여, 다양한 형태로 설정될 수 있다.
도 12는, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 예시 방법을 설명한다.
도 12를 참조하면, 도 12는, 사용자(1213)가, 컨트롤러(1214)를 이용하여, VR 컨텐츠로서 테니스 게임을 실행하는 경우를 나타낼 수 있다.
일 실시예에서, 참조 부호 1201에서, 공간(1211)은 제 1 공간을 나타내고, 공간(1212)는 제 2 공간(안전 공간)을 나타낼 수 있다. 예를 들어, 1201에서, 공간(1211)은 사용자가 컨트롤러(1214)를 그립한 손을 이용하여 테니스 라켓을 스윙하는 동작들 및 이동을 수행하기 위하여 필요한 제 1 공간을 나타낼 수 있다.
일 실시예에서, 1201에서, 제 1 공간(예: 공간(1211))가 제 2 공간(예: 공간(1212)) 외부에 존재하는 경우, 프로세서(460)는, 제 1 공간으로부터 변경된 제 3 공간이 제 2 공간 내부에 존재하도록, 스케일 값을 증가시킬 수 있다. 예를 들어, 참조 부호 1202에서 도시된 바와 같이, 프로세서(460)는, 스케일 값을 증가시킴으로써, 제 3 공간(예: 공간(1223))이 제 2 공간(예: 공간(1212))과 동일하거나(또는 제 2 공간의 내부에) 형성되도록 할 수 있다.
일 실시예에서, 프로세서(460)는, 스케일 값이 기본 스케일 값 보다 큰 스케일 값으로 설정된 경우, 스케일 값이 기본 스케일 값으로 설정된 경우에 비하여, 보다 작은 크기의 사용자 동작을 이용한 입력에 의해, 아바타가 동일한 동작을 수행하도록 할 수 있다. 예를 들어, 프로세서(460)는, 1201에서, 스케일 값이 기본 스케일 값으로 설정된 경우, 사용자(1213)(또는 전자 장치(401))가 제 1 방향(1215)으로 1m만큼 이동하는 사용자의 동작에 의한 입력을 획득할 수 있다. 프로세서(460)는, 상기 입력에 기반하여, 가상 공간에서 사용자에 대응하는 아바타를 제 1 방향(1215)에 대응하는 제 2 방향으로 가상 공간 상의 1m를 이동시킬 수 있다. 프로세서(460)는, 1202에서, 스케일 값이 제 3 공간이 제 2 공간과 동일하도록 하는 스케일 값으로 설정된 경우, 사용자(1213)(또는 전자 장치(401))가 제 1 방향(1215)으로 1m 보다 작은 거리만큼 이동하는 사용자의 동작에 의한 입력을 획득할 수 있다. 프로세서(460)는, 상기 입력에 기반하여, 가상 공간에서 사용자에 대응하는 아바타를 제 1 방향(1215)에 대응하는 제 2 방향으로 가상 공간 상의 1m를 이동시킬 수 있다.
도 12에서는, 제 1 공간(예: 공간(1211)), 제 2 공간(예: 공간(1212)), 및/또는 제 3 공간(예: 공간(1223))이 원기둥 형태인 것으로 예시하고 있지만, 이에 제한되지 않는다. 예를 들어, 제 1 공간 및/또는 제 2 공간은, 정형화된 공간 형태 또는 비-정형화된 공간 형태를 포함하여, 다양한 형태로 설정될 수 있다.
도 13은, 일 실시 예에 따른, 제 1 공간 및 제 2 공간에 기반하여 스케일 값을 설정하는 예시 방법을 설명한다.
도 13을 참조하면, 도 13은, 사용자(1311)가, 골프채 형태의 컨트롤러(1312)(예: 골프채의 헤드 부분에 대응하는 부분에 6 DoF 센서를 포함하는 컨트롤러(1312))를 이용하여, VR 컨텐츠로서 골프 게임을 실행하는 경우를 나타낼 수 있다.
일 실시예에서, 참조 부호 1301에서, 라인(1320)은 제 2 공간(안전 공간)을 형성하는 라인의 일부를 나타낼 수 있다.
일 실시예에서, 1301에서 도시된 바와 같이, 스케일 값이 기본 스케일 값으로 설정된 경우, 아바타가 골프 스윙을 하도록 하기 위하여 사용자(또는 사용자의 손에 그립된 컨트롤러(1312))가 제 1 공간 내에서 동작을 수행하는 경우, 컨트롤러(1312)의 동작은 라인(1320) 외부로 벗어날 수 있다. 스케일 값이 기본 스케일 값 보다 큰 스케일 값으로 설정된 경우, 상기 아바타가 상기 골프 스윙을 하도록 하기 위하여 사용자(또는 사용자의 손에 그립된 컨트롤러(1312))가 제 1 공간 내의 제 3 공간 내에서 동작을 수행하는 경우, 컨트롤러(1312)의 동작은 라인(1320) 내부에서 수행될 수 있다. 1301에서 도시된 바와 같이 사용자가 제 1 공간 내에서 동작을 수행하는 경우 및 1302에 도시된 바와 같이 사용자가 제 3 공간 내에서 동작을 수행하는 경우에 있어서, 아바타가 수행하는 골프 스윙의 크기 및 힘(또는 가속도)는 동일할 수 있다.
도 14는, 일 실시 예에 따른, 사용자 동작에 의해 수행되는 아바타의 동작을 가이드(guide)하는 인트로(intro) 화면을 표시하는 예시 방법(1400)을 설명한다.
도 14를 참조하면, 일 실시예에서, 프로세서(460)는, 사용자가 설정된 스케일 값에 적응하도록 하기 위한, 인트로 화면을 디스플레이(440)를 통하여 표시할 수 있다. 예를 들어, 프로세서(460)는, 스케일 값이 변경된 경우, 변경된 스케일 값에 적응하도록 하는 인트로 화면을 디스플레이(440)를 통하여 표시할 수 있다. 다만, 이에 제한되지 않으며, 스케일 값이 변경되지 않더라도, VR 컨텐츠의 실행이 시작되는 시점에, 사용자가 설정된 스케일 값에 적응하도록 하는 인트로 화면을 디스플레이(440)를 통하여 표시할 수 있다.
일 실시예에서, 인트로 화면은 사용자 동작에 의해 수행되는 아바타의 동작을 가이드하는 화면일 수 있다.
일 실시예에서, 프로세서(460)는, 사용자가 동작을 수행하는 동안, 인트로 화면 상에서 사용자의 동작에 의해 제어되는 아바타의 동작을 디스플레이(440)를 통하여 표시할 수 있다. 예를 들어, 프로세서(460)는, VR 컨텐츠가 테니스 게임인 경우, 도 14의 참조부호 1410, 1420, 1430, 1440, 및 1450과 같이, 사용자의 스윙 동작에 따라 실시간으로 수행되는 아바타의 스윙 동작을 포함하는 인트로 화면을 디스플레이(440)를 통하여 표시할 수 있다. 인트로 화면이 제공됨으로써, 사용자는, 사용자의 동작을 이용한 입력에 의해 아바타가 어느 정도 동작하는지를 체험할 수 있다.
도 15는, 일 실시 예에 따른, 제 2 공간에 기반하여 VR 컨텐츠의 가상 공간에서 오브젝트를 배치하는 예시 방법을 설명한다.
도 16은, 일 실시 예에 따른, 제 2 공간에 기반하여 VR 컨텐츠의 가상 공간에서 오브젝트를 배치하는 예시 방법을 설명한다.
도 15 및 도 16을 참조하면, 일 실시예에서, 프로세서(460)는, 제 2 공간(안전 공간)에 기반하여, VR 컨텐츠에 렌더링될 오브젝트를 배치할 수 있다.
일 실시예에서, 참조 부호 1501에 도시된 바와 같이, 프로세서(460)는, 사용자(1511)의 컨트롤러(1512)에 의한 입력에 기반하여, 제 2 공간(1510)을 설정할 수 있다. 참조 부호 1502는 VR 컨텐츠의 가상 공간을 나타낼 수 있다. 프로세서(460)는, 스케일 값을 조정(또는 설정)하는 동작 없이도, 사용자가 제 2 공간(1510) 내에서 아바타(1521)를 포함하여 제어 가능한 오브젝트를 제어하도록, VR 컨텐츠의 가상 공간 내에서 제 2 공간(1510)에 대응하는 공간(예: 1520)에, 상기 제어 가능한 오브젝트를 배치할 수 있다.
일 실시예에서, 참조 부호 1601에 도시된 바와 같이, 사용자(1611) 주변에 방해물(1613)이 배치될 수 있다. 프로세서(460)는 방해물(1613)이 배치된 공간을 포함하지 않는 비-정형화된(non-uniform) 제 2 공간(1610)을 설정할 수 있다. 참조 부호 1602는 VR 컨텐츠의 가상 공간을 나타낼 수 있다. 프로세서(460)는, 스케일 값을 조정(또는 설정)하는 동작 없이도, 사용자가 제 2 공간(1610) 내에서 제어 가능한 오브젝트를 제어하도록, VR 컨텐츠의 가상 공간 내에서 제 2 공간(1610)에 대응하는 공간(1620)에, 상기 제어 가능한 오브젝트를 배치할 수 있다. 예를 들어, 프로세서(460)는, 실제 공간에서 방해물(1613)이 배치된 공간에 대응하는 가상 공간의 공간에, 사용자가 제어할 수 없는 오브젝트(1621)를 배치할 수 있다. 이를 통하여, 사용자가 VR 컨텐츠를 제공 받는 동안 제 2 공간을 벗어나는 공간으로 이동하는 것이 방지될 수 있다.
일 실시예에 따른 웨어러블 전자 장치(401)에서 가상 현실(VR) 컨텐츠를 제어하는 방법은, 상기 웨어러블 전자 장치(401)의 디스플레이(440)를 통하여 표시되는 상기 VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하는 동작을 포함할 수 있다. 상기 방법은 안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값을 설정하는 동작을 포함할 수 있다. 상기 방법은, 상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하는 동작을 포함할 수 있다.
일 실시예에서, 상기 제 1 공간을 획득하는 동작은, 상기 VR 컨텐츠에서 수행 가능한 적어도 하나의 아바타 동작을 획득하는 동작 및 상기 적어도 하나의 아바타 동작에 기반하여 상기 제 1 공간을 획득하는 동작을 포함할 수 있다.
일 실시예에서, 상기 제 1 공간을 획득하는 동작은, 상기 사용자가 상기 적어도 하나의 아바타 동작 각각을 수행하기 위하여 필요한 적어도 하나의 공간을 획득하는 동작 및 상기 적어도 하나의 공간에 의해 형성되는 공간을 상기 제 1 공간으로 설정하는 동작을 포함할 수 있다.
일 실시예에서, 상기 제 1 공간을 획득하는 동작은, 상기 VR 컨텐츠를 실행하는 시점, VR 컨텐츠에서 상기 가상 공간이 변경되는 시점, VR 컨텐츠에서 특정 씬이 변경되는 시점, VR 컨텐츠에서 특정 스테이지가 변경되는 시점, 및/또는 VR 컨텐츠에서 특정 시나리오가 변경되는 시점에 상기 제 1 공간을 획득하는 동작을 포함할 수 있다.
일 실시예에서, 상기 제 2 공간을 획득하는 동작은, 상기 사용자의 입력 또는 상기 웨어러블 전자 장치(401)의 주변 환경에 기반하여, 상기 제 2 공간을 획득하는 동작을 포함할 수 있다.
일 실시예에서, 상기 스케일 값은 상기 사용자의 동작의 크기 및 상기 아바타의 동작의 크기 간 관계를 나타내는 스케일 팩터을 포함하고, 및 상기 스케일 값이 높을수록, 동일한 크기를 가진 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기가 증가될 수 있다.
일 실시예에서, 상기 스케일 값을 설정하는 동작은, 상기 제 1 공간 및 상기 제 2 공간을 비교하는 동작, 상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재하는지 여부를 확인하는 동작, 및 상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재함을 확인함에 기반하여, 상기 VR 컨텐츠에 지정된 스케일 값 보다 큰 제 1 스케일 값을 상기 스케일 값으로 설정하는 동작을 포함할 수 있다.
일 실시예에서, 상기 제 1 스케일 값을 상기 스케일 값으로 설정하는 동작은, 상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재함을 확인함에 기반하여, 상기 제 1 스케일 값에 대응하는 제 3 공간이 상기 제 2 공간과 동일하거나 상기 제 2 공간 내에 존재하도록 하는 상기 제 1 스케일 값을 상기 스케일 값으로 설정하는 동작을 포함할 수 있다.
일 실시예에서, 상기 방법은, 상기 사용자가 상기 설정된 스케일 값에 적응하도록 하기 위한 인트로 화면을 상기 디스플레이(440)를 통하여 표시하는 동작을 더 포함할 수 있다.
일 실시예에서, 상기 방법은, 상기 제 2 공간에 기반하여 상기 VR 컨텐츠에 렌더링될 오브젝트를 배치하는 동작을 더 포함할 수 있다.
본 문서에 개시된 일 실시예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 일 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 일 실시예에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 일 실시예는 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 일 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
일 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 웨어러블 전자 장치(401)에 있어서,
    디스플레이(440); 및
    상기 디스플레이(440)와 작동적으로 연결된 적어도 하나의 프로세서(460)를 포함하고,
    상기 적어도 하나의 프로세서(460)는,
    상기 디스플레이(440)를 통하여 표시되는 VR(virtual reality) 컨텐츠의 가상 공간에서 수행되는 아바타(avatar)의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하고,
    안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하고,
    상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값(scale value)을 설정하고, 및
    상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하도록 구성된 웨어러블 전자 장치(401).
  2. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 VR 컨텐츠에서 수행 가능한 적어도 하나의 아바타 동작을 획득하고, 및
    상기 적어도 하나의 아바타 동작에 기반하여 상기 제 1 공간을 획득하도록 구성된 웨어러블 전자 장치(401).
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 사용자가 상기 적어도 하나의 아바타 동작 각각을 수행하기 위하여 필요한 적어도 하나의 공간을 획득하고, 및
    상기 적어도 하나의 공간에 의해 형성되는 공간을 상기 제 1 공간으로 설정하도록 구성된 웨어러블 전자 장치(401).
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 VR 컨텐츠를 실행하는 시점, VR 컨텐츠에서 상기 가상 공간이 변경되는 시점, VR 컨텐츠에서 특정 씬이 변경되는 시점, VR 컨텐츠에서 특정 스테이지가 변경되는 시점, 및/또는 VR 컨텐츠에서 특정 시나리오가 변경되는 시점에 상기 제 1 공간을 획득하도록 구성된 웨어러블 전자 장치(401).
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 사용자의 입력 또는 상기 웨어러블 전자 장치(401)의 주변 환경에 기반하여, 상기 제 2 공간을 획득하도록 구성된 웨어러블 전자 장치(401).
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 스케일 값은 상기 사용자의 동작의 크기 및 상기 아바타의 동작의 크기 간 관계를 나타내는 스케일 팩터(scale factor)를 포함하고, 및
    상기 스케일 값이 높을수록, 동일한 크기를 가진 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기가 증가되는 웨어러블 전자 장치(401).
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 제 1 공간 및 상기 제 2 공간을 비교하고,
    상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재하는지 여부를 확인하고, 및
    상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재함을 확인함에 기반하여, 상기 VR 컨텐츠에 지정된 스케일 값 보다 큰 제 1 스케일 값을 상기 스케일 값으로 설정하도록 구성된 웨어러블 전자 장치(401).
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 제 1 공간의 일부가 상기 제 2 공간의 외부에 존재함을 확인함에 기반하여, 상기 제 1 스케일 값에 대응하는 제 3 공간이 상기 제 2 공간과 동일하거나 상기 제 2 공간 내에 존재하도록 하는 상기 제 1 스케일 값을 상기 스케일 값으로 설정하도록 구성된 웨어러블 전자 장치(401).
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 사용자가 상기 설정된 스케일 값에 적응하도록 하기 위한 인트로(intro) 화면을 상기 디스플레이(440)를 통하여 표시하도록 구성된 웨어러블 전자 장치(401).
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서(460)는,
    상기 제 2 공간에 기반하여 상기 VR 컨텐츠에 렌더링될 오브젝트를 배치하도록 구성된 웨어러블 전자 장치(401).
  11. 웨어러블 전자 장치(401)에서 가상 현실(VR) 컨텐츠를 제어하는 방법에 있어서,
    상기 웨어러블 전자 장치(401)의 디스플레이(440)를 통하여 표시되는 상기 VR 컨텐츠의 가상 공간에서 수행되는 아바타의 동작에 대응하는 사용자의 동작을 위하여 필요한 제 1 공간을 획득하는 동작;
    안전하게 상기 사용자의 동작을 수행하기 위한 제 2 공간을 획득하는 동작;
    상기 제 1 공간 및 상기 제 2 공간에 기반하여, 스케일 값을 설정하는 동작; 및
    상기 사용자의 동작을 획득함에 기반하여, 상기 설정된 스케일 값을 이용하여, 상기 사용자의 동작에 의해 수행되는 상기 아바타의 동작의 크기를 결정하는 동작을 포함하는 방법.
  12. 제 11 항에 있어서,
    상기 제 1 공간을 획득하는 동작은,
    상기 VR 컨텐츠에서 수행 가능한 적어도 하나의 아바타 동작을 획득하는 동작; 및
    상기 적어도 하나의 아바타 동작에 기반하여 상기 제 1 공간을 획득하는 동작을 포함하는 방법.
  13. 제 11항 또는 제 12 항에 있어서,
    상기 제 1 공간을 획득하는 동작은,
    상기 사용자가 상기 적어도 하나의 아바타 동작 각각을 수행하기 위하여 필요한 적어도 하나의 공간을 획득하는 동작; 및
    상기 적어도 하나의 공간에 의해 형성되는 공간을 상기 제 1 공간으로 설정하는 동작을 포함하는 방법.
  14. 제 11 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 제 1 공간을 획득하는 동작은,
    상기 VR 컨텐츠를 실행하는 시점, VR 컨텐츠에서 상기 가상 공간이 변경되는 시점, VR 컨텐츠에서 특정 씬이 변경되는 시점, VR 컨텐츠에서 특정 스테이지가 변경되는 시점, 및/또는 VR 컨텐츠에서 특정 시나리오가 변경되는 시점에 상기 제 1 공간을 획득하는 동작을 포함하는 방법.
  15. 제 11 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 제 2 공간을 획득하는 동작은,
    상기 사용자의 입력 또는 상기 웨어러블 전자 장치(401)의 주변 환경에 기반하여, 상기 제 2 공간을 획득하는 동작을 포함하는 방법.
PCT/KR2023/012197 2022-09-15 2023-08-17 가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치 WO2024058446A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/368,932 US20240094805A1 (en) 2022-09-15 2023-09-15 Method for controlling virtual reality content and wearable electronic device supporting the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0116590 2022-09-15
KR20220116590 2022-09-15
KR10-2022-0152898 2022-11-15
KR1020220152898A KR20240037795A (ko) 2022-09-15 2022-11-15 가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/368,932 Continuation US20240094805A1 (en) 2022-09-15 2023-09-15 Method for controlling virtual reality content and wearable electronic device supporting the same

Publications (1)

Publication Number Publication Date
WO2024058446A1 true WO2024058446A1 (ko) 2024-03-21

Family

ID=90275166

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/012197 WO2024058446A1 (ko) 2022-09-15 2023-08-17 가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치

Country Status (1)

Country Link
WO (1) WO2024058446A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180038175A (ko) * 2016-10-06 2018-04-16 주식회사 케이티 가상 현실 서비스를 제공하는 서버, 디바이스 및 방법
KR20200089872A (ko) * 2019-01-18 2020-07-28 경희대학교 산학협력단 가상현실 콘텐츠를 체험하는 사용자의 체험 공간 활용도 향상 방법 및 장치
CN113284258A (zh) * 2021-07-13 2021-08-20 北京京东方技术开发有限公司 安全区域的设置方法、装置和虚拟现实设备
WO2021183736A1 (en) * 2020-03-13 2021-09-16 Harmonix Music Systems, Inc. Techniques for virtual reality boundaries and related systems and methods
KR102401955B1 (ko) * 2021-05-20 2022-05-25 (주)에어패스 Fsm 특성을 활용한 ar 스포츠 게임 콘텐츠 제공시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180038175A (ko) * 2016-10-06 2018-04-16 주식회사 케이티 가상 현실 서비스를 제공하는 서버, 디바이스 및 방법
KR20200089872A (ko) * 2019-01-18 2020-07-28 경희대학교 산학협력단 가상현실 콘텐츠를 체험하는 사용자의 체험 공간 활용도 향상 방법 및 장치
WO2021183736A1 (en) * 2020-03-13 2021-09-16 Harmonix Music Systems, Inc. Techniques for virtual reality boundaries and related systems and methods
KR102401955B1 (ko) * 2021-05-20 2022-05-25 (주)에어패스 Fsm 특성을 활용한 ar 스포츠 게임 콘텐츠 제공시스템
CN113284258A (zh) * 2021-07-13 2021-08-20 北京京东方技术开发有限公司 安全区域的设置方法、装置和虚拟现实设备

Similar Documents

Publication Publication Date Title
WO2019168272A1 (en) Method of displaying graphic object differently according to body portion in contact with controller, and electronic device
WO2020130691A1 (en) Electronic device and method for providing information thereof
WO2022097862A1 (en) Method of controlling display and electronic device supporting the same
WO2022131549A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022059968A1 (ko) 증강 현실 콘텐츠를 제공하는 전자 장치 및 그의 동작 방법
WO2022019636A1 (ko) 가상 사용자 인터랙션을 수행하기 위한 방법 및 그 장치
WO2024058446A1 (ko) 가상 현실 컨텐츠를 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치
WO2022154440A1 (ko) 오디오 데이터를 처리하는 전자 장치 및 그 동작 방법
WO2022098204A1 (ko) 가상현실 서비스를 제공하는 전자 장치 및 방법
WO2024049005A1 (ko) 비네팅 기능을 수행하는 방법 및 이를 지원하는 웨어러블 전자 장치
WO2024085436A1 (ko) 진동을 제공하는 방법 및 이를 지원하는 웨어러블 전자 장치
WO2024058434A1 (ko) 사용자의 외부 환경을 촬영하는 컨트롤 장치 및 그 동작 방법 및 컨트롤 장치와 연결된 머리 착용형 전자 장치
WO2023229199A1 (ko) 전자 장치의 화면 표시 모드를 결정하는 동작 방법 및 전자 장치
WO2023106640A1 (ko) 전자 장치 및 상기 전자 장치에서 제스처의 오인식을 방지하는 방법
WO2024071718A1 (ko) 증강현실 기능을 지원하는 전자 장치 및 이의 동작 방법
WO2024106796A1 (ko) 오디오 설정을 제어하는 방법 및 이를 지원하는 웨어러블 전자 장치
WO2024043519A1 (ko) 복수의 디스플레이들을 제어하는 방법 및 이를 지원하는 전자 장치
WO2024106995A1 (ko) 가상 현실 공간 상에 가상 객체를 제공하기 위한 전자 장치 및 방법
WO2024010220A1 (ko) 거리 센서 활성화 방법 및 전자 장치
WO2024076009A1 (ko) 사용자의 시선 정보를 조정하기 위한 웨어러블 장치, 방법, 및 컴퓨터 판독 가능 저장 매체
WO2024080579A1 (ko) 사용자의 자세를 가이드하기 위한 웨어러블 장치 및 그 방법
WO2024029740A1 (ko) 입력 장치를 이용하여 드로잉 데이터를 출력하는 방법 및 장치
WO2024063380A1 (ko) 플렉서블 디스플레이에 표시되는 화면을 제어하기 위한 전자 장치 및 방법
WO2022181996A1 (ko) 증강 현실 장치 및 증강 현실 장치와 상호작용하는 전자 장치
WO2024071681A1 (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: 23865746

Country of ref document: EP

Kind code of ref document: A1