WO2019103350A1 - 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법 - Google Patents

사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법 Download PDF

Info

Publication number
WO2019103350A1
WO2019103350A1 PCT/KR2018/013292 KR2018013292W WO2019103350A1 WO 2019103350 A1 WO2019103350 A1 WO 2019103350A1 KR 2018013292 W KR2018013292 W KR 2018013292W WO 2019103350 A1 WO2019103350 A1 WO 2019103350A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
electronic device
input
signal
controller
Prior art date
Application number
PCT/KR2018/013292
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
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US16/765,043 priority Critical patent/US11226675B2/en
Priority to EP18881377.8A priority patent/EP3705982B1/en
Publication of WO2019103350A1 publication Critical patent/WO2019103350A1/ko

Links

Images

Classifications

    • 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
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object

Definitions

  • Various embodiments relate to an electronic device and method for adaptively configuring a user interface.
  • an electronic device may provide content for virtual reality (VR) that is similar to reality, but not real.
  • Electronic devices can provide a rich experience for users by providing virtual reality.
  • VR virtual reality
  • the user receiving the contents for the VR may have different field of view (FOV) according to the physical characteristics of the user.
  • a user who views content for VR through an electronic device that displays the content for VR in a fixed configuration or arrangement may experience discomfort due to the difference in visual field caused by the physical characteristics of the user Lt; / RTI > Therefore, a method for providing contents for VR may be required in a configuration that adaptively changes according to the physical characteristics of the user.
  • Various embodiments may provide an electronic device and method for displaying content for a VR in a configuration that adaptively changes based on information representing a user's physical characteristics.
  • FOV field of view
  • a method of an electronic device in accordance with various embodiments for detecting an input of a user in an external electronic device and for determining a user's characteristics associated with the electronic device and the external electronic device, The method comprising: receiving at least one signal; determining a view for the user based on the at least one signal; and displaying the content for a VR based on the determined view have.
  • a non-transitory computer-readable storage medium may be configured to, in response to detecting a user's input within an external electronic device, Receiving at least one signal for determining a characteristic of a user associated with the electronic device and the external electronic device, the method comprising: determining a view for the user based on the at least one signal; And displaying the content for the VR based on the determined field of view.
  • an electronic device may be optimized for a user by identifying a user ' s characteristic, based on at least one signal received from another electronic device
  • a user interface may be provided.
  • FIG. 1 is a block diagram of an electronic device in a network environment in accordance with various embodiments.
  • FIG. 2 is a block diagram of a display module in accordance with various embodiments.
  • Figure 3 shows an example of the use of an electronic device and a controller in accordance with various embodiments.
  • Figure 4 illustrates an example of a signal flow of an electronic device for optimizing a user interface (UI) in accordance with various embodiments.
  • FIG. 5 illustrates an example of operation of an electronic device for optimizing a user interface in accordance with various embodiments.
  • Figure 6 illustrates an example of a user interface for determining a user ' s characteristic in accordance with various embodiments.
  • Figure 7 illustrates another example of a user interface for determining a user's characteristics in accordance with various embodiments.
  • Figure 8 illustrates an example of setting an anchor point for optimization of a user interface in accordance with various embodiments.
  • FIG. 9 illustrates another example of operation of an electronic device for optimizing a user interface in accordance with various embodiments.
  • FIG. 10 illustrates another example of a user interface for determining a user's characteristics in accordance with various embodiments.
  • Figure 11 illustrates an example of a user interface that is optimized according to various embodiments.
  • FIG. 12 illustrates an example of operation of an electronic device for optimizing a user interface associated with a controller in accordance with various embodiments.
  • Figure 13 illustrates an example of a user interface for determining the characteristics of a user associated with a controller in accordance with various embodiments.
  • Figure 14 illustrates an example of a user interface that is optimized in conjunction with a controller in accordance with various embodiments.
  • Figure 15 shows an example of a user interface displayed in accordance with various embodiments.
  • Figure 16 illustrates an example of a user interface that is optimized and displayed to a user in accordance with various embodiments.
  • Figure 17 illustrates another example of a user interface that is optimized and displayed to a user in accordance with various embodiments.
  • Figure 18 shows another example of a user interface displayed in accordance with various embodiments.
  • FIG. 19 illustrates an example of an object displayed based on a user ' s characteristic according to various embodiments.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, in accordance with various embodiments .
  • an electronic device 101 in a network environment 100 communicates with an electronic device 102 via a first network 198 (e.g., near-field wireless communication) or a second network 199 (E. G., Remote wireless communication).
  • a first network 198 e.g., near-field wireless communication
  • a second network 199 E. G., Remote wireless communication
  • ≪ / RTI &gt the electronic device 101 is capable of communicating with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identity module 196, and an antenna module 197 ).
  • at least one (e.g., display 160 or camera module 180) of these components may be omitted from the electronic device 101, or other components may be added.
  • some components such as, for example, a sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) embedded in a display device 160 Can be integrated.
  • Processor 120 may be configured to operate at least one other component (e.g., hardware or software component) of electronic device 101 connected to processor 120 by driving software, e.g., And can perform various data processing and arithmetic operations.
  • Processor 120 loads and processes commands or data received from other components (e.g., sensor module 176 or communication module 190) into volatile memory 132 and processes the resulting data into nonvolatile memory 134.
  • the processor 120 may operate in conjunction with a main processor 121 (e.g., a central processing unit or an application processor) and, independently, or additionally or alternatively, Or a co-processor 123 (e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communications processor) specific to the designated function.
  • a main processor 121 e.g., a central processing unit or an application processor
  • a co-processor 123 e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communications processor
  • the coprocessor 123 may be operated separately from or embedded in the main processor 121.
  • the coprocessor 123 may be used in place of the main processor 121, for example, while the main processor 121 is in an inactive (e.g., sleep) state, At least one component (e.g., display 160, sensor module 176, or communications module 176) of the components of electronic device 101 (e.g., 190) associated with the function or states.
  • the coprocessor 123 e.g., an image signal processor or communications processor
  • the coprocessor 123 is implemented as a component of some other functionally related component (e.g., camera module 180 or communication module 190) .
  • Memory 130 may store various data used by at least one component (e.g., processor 120 or sensor module 176) of electronic device 101, e.g., software (e.g., program 140) ), And input data or output data for the associated command.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134.
  • the program 140 may be software stored in the memory 130 and may include, for example, an operating system 142, a middleware 144,
  • the input device 150 is an apparatus for receiving a command or data to be used for a component (e.g., processor 120) of the electronic device 101 from the outside (e.g., a user) of the electronic device 101,
  • a component e.g., processor 120
  • a microphone, a mouse, or a keyboard may be included.
  • the sound output device 155 is a device for outputting a sound signal to the outside of the electronic device 101.
  • the sound output device 155 may be a speaker for general use such as a multimedia reproduction or a sound reproduction, .
  • the receiver may be formed integrally or separately with the speaker.
  • Display device 160 may be an apparatus for visually providing information to a user of electronic device 101 and may include, for example, a display, a hologram device, or a projector and control circuitry for controlling the projector. According to one embodiment, the display device 160 may include a touch sensor or a pressure sensor capable of measuring the intensity of the pressure on the touch.
  • the audio module 170 is capable of bi-directionally converting sound and electrical signals. According to one embodiment, the audio module 170 may acquire sound through the input device 150, or may be connected to the audio output device 155, or to an external electronic device (e.g., Electronic device 102 (e.g., a speaker or headphone)).
  • an external electronic device e.g., Electronic device 102 (e.g., a speaker or headphone)
  • the sensor module 176 may generate an electrical signal or data value corresponding to an internal operating state (e.g., power or temperature) of the electronic device 101, or an external environmental condition.
  • the sensor module 176 may be a gesture sensor, a gyro sensor, a barometric sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared sensor, Or an illuminance sensor.
  • the interface 177 may support a designated protocol that may be wired or wirelessly connected to an external electronic device (e.g., the electronic device 102).
  • the interface 177 may include 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 interface
  • audio interface an audio interface
  • the connection terminal 178 may be a connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 101 and an external electronic device (e.g., the electronic device 102) (E.g., a headphone connector).
  • an HDMI connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 101 and an external electronic device (e.g., the electronic device 102) (E.g., a headphone connector).
  • the haptic module 179 may convert electrical signals into mechanical stimuli (e.g., vibrations or movements) or electrical stimuli that the user may perceive through tactile or kinesthetic sensations.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture a still image and a moving image.
  • the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
  • the camera module 180 may be composed of a plurality of cameras, for example, a first camera and a second camera.
  • the power management module 188 is a module for managing the power supplied to the electronic device 101, and may be configured as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 is an apparatus for supplying power to at least one component of the electronic device 101 and may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • the communication module 190 is responsible for establishing a wired or wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108) Lt; / RTI > Communication module 190 may include one or more communication processors that support wired communication or wireless communication, operating independently of processor 120 (e.g., an application processor).
  • the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (E.g., a local area network (LAN) communication module, or a power line communication module), and the corresponding communication module may be used to communicate with a first network 198 (e.g., Bluetooth, WiFi direct, Communication network) or a second network 199 (e.g., a telecommunications network such as a cellular network, the Internet, or a computer network (e.g., a LAN or WAN)).
  • a wireless communication module 192 e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 E.g., a local area network (LAN) communication module, or a power line communication module
  • the wireless communication module 192 may use the user information stored in the subscriber identification module 196 to identify and authenticate the electronic device 101 within the communication network.
  • the antenna module 197 may include one or more antennas for externally transmitting or receiving signals or power.
  • the communication module 190 e.g., the wireless communication module 192 may transmit signals to or receive signals from an external electronic device via an antenna suitable for the communication method.
  • Some of the components are connected to each other via a communication method (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • a communication method e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199.
  • Each of the electronic devices 102 and 104 may be the same or a different kind of device as the electronic device 101.
  • all or a portion of the operations performed in the electronic device 101 may be performed in another or a plurality of external electronic devices.
  • the electronic device 101 in the event that the electronic device 101 has to perform some function or service automatically or upon request, the electronic device 101 may be capable of executing the function or service itself, And may request the external electronic device to perform at least some functions associated therewith.
  • the external electronic device receiving the request can execute the requested function or additional function and transmit the result to the electronic device 101.
  • the electronic device 101 can directly or additionally process the received result to provide the requested function or service.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • FIG. 2 is a block diagram 200 of a display device 160, in accordance with various embodiments.
  • the display device 160 may include a display 210 and a display driver IC (DDI) 230 for controlling the same.
  • the DDI 230 may include an interface module 231, a memory 233 (e.g., a buffer memory), an image processing module 235, or a mapping module 237.
  • the DDI 230 is coupled to the processor 120 (e.g., the main processor 121 (e.g., an application processor) or the main processor 121 via an interface module 231, (E.g., the video data control unit 123), or image control signals corresponding to commands for controlling the video data.
  • the DDI 230 can communicate with the touch circuit 250, the sensor module 176, and the like through the interface module 231.
  • the DDI 230 may store at least a part of the received image information in the memory 233, for example, on a frame-by-frame basis.
  • the image processing module 235 may perform a preprocessing or post-processing (e.g., resolution, brightness, or resizing) of at least a portion of the image data based at least on characteristics of the image data or characteristics of the display 210, Can be performed.
  • the mapping module 237 may perform preprocessing through the image processing module 135 based at least in part on the attributes of the pixels of the display 210 (e.g., the array of pixels (RGB stripe or pentile) Or convert the post-processed image data into a voltage value or a current value capable of driving the pixels. At least some pixels of the display 210 may be displayed based on, for example, the voltage value or the current value so that visual information (e.g., text, image, or icon) corresponding to the image data is displayed on the display 210 .
  • visual information e.g., text, image, or icon
  • the display device 160 may further include a touch circuit 250.
  • the touch circuit 250 may include a touch sensor 251 and a touch sensor IC 253 for controlling the touch sensor 251.
  • the touch sensor IC 253 controls the touch sensor 251 to measure a change in a signal (e.g., a voltage, a light amount, a resistance, or a charge amount) with respect to a specific position of the display 210, (E.g., position, area, pressure, or time) of the sensed touch input or hovering input to the processor 120.
  • the touch input or hovering input of the touch input or hovering input may be sensed.
  • At least a portion of the touch circuit 250 may be provided as part of the display driver IC 230, or the display 210, (E. G., Coprocessor 123). ≪ / RTI >
  • the display device 160 may further include at least one sensor (e.g., a fingerprint sensor, iris sensor, pressure sensor or illuminance sensor) of the sensor module 176, or control circuitry therefor.
  • the at least one sensor or the control circuitry thereof may be embodied in a part of the display device 160 (e.g., the display 210 or the DDI 230) or a part of the touch circuit 250.
  • the sensor module 176 embedded in the display device 160 includes a biosensor (for example, a fingerprint sensor), the biosensor transmits biometric information (E.g., a fingerprint image).
  • the pressure sensor may obtain pressure information for the touch input through some or all of the area of the display 210 .
  • the touch sensor 251 or the sensor module 176 may be disposed between pixels of the pixel layer of the display 210, or above or below the pixel layer.
  • the electronic device can be various types of devices.
  • the electronic device can include, for example, at least one of a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device e.g., a smart phone
  • a computer device e.g., a laptop, a desktop, a smart phone
  • portable multimedia device e.g., a portable multimedia device
  • portable medical device e.g., a portable medical device
  • camera e.g., a camera
  • a wearable device e.g., a portable medical device
  • first component is "(functionally or communicatively) connected” or “connected” to another (second) component, May be connected directly to the component, or may be connected through another component (e.g., a third component).
  • module includes units comprised of hardware, software, or firmware and may be used interchangeably with terms such as, for example, logic, logic blocks, components, or circuits.
  • a module may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions.
  • the module may be configured as an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document may include instructions stored in machine-readable storage media (e.g., internal memory 136 or external memory 130) readable by a machine (e.g., a computer) Software (e.g., program 140).
  • the device may include an electronic device (e.g., electronic device 101) in accordance with the disclosed embodiments as an apparatus capable of calling stored instructions from the storage medium and operating according to the called instructions.
  • a processor e.g., processor 120
  • the processor may perform the function corresponding to the instruction, either directly or using other components under the control of the processor.
  • the instructions may include code generated or executed by the compiler or interpreter.
  • a device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' means that the storage medium does not include a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily on the storage medium.
  • the method according to various embodiments disclosed herein may be provided in a computer program product.
  • a computer program product can be traded between a seller and a buyer as a product.
  • a computer program product may be distributed in the form of a machine readable storage medium (eg, compact disc read only memory (CD-ROM)) or distributed online through an application store (eg PlayStore TM ).
  • an application store eg PlayStore TM
  • at least a portion of the computer program product may be temporarily stored, or temporarily created, on a storage medium such as a manufacturer's server, a server of an application store, or a memory of a relay server.
  • Each of the components may be comprised of a single entity or a plurality of entities, and some of the subcomponents described above may be omitted, or other subcomponents May be further included in various embodiments.
  • some components e.g., modules or programs
  • Used below '... Module " or the like means a unit for processing at least one function or operation, which may be implemented by hardware, software, or a combination of hardware and software. These terms are illustrated for convenience of explanation. Accordingly, the present invention is not limited to the following terms, and other terms having equivalent technical meanings can be used.
  • Figure 3 illustrates an example of the use of an electronic device and a controller in accordance with various embodiments.
  • the electronic device 101 may be a head mounted device (HMD).
  • the electronic device 101 may be a device that is inserted into the HMD and can be coupled with the HMD in a secured manner.
  • a combinable device may include, for example, a smart phone, a portable terminal, or a tablet.
  • the electronic device 101 may be worn in a manner that secures the electronic device 101 to the head of the user 300 using a wear part (e.g., a headgear, a hair band, .
  • a wear part e.g., a headgear, a hair band, .
  • the electronic device 101 may be worn in such a way that the user places the electronic device 101 directly in close proximity to the face of the user.
  • the electronic device 101 may provide the user 300 with a virtual reality experience.
  • the electronic device 101 can present a user experience in a 3D (three-dimensional) environment to the user 300 viewing the display 210 by displaying content for the virtual reality on the display 210 have.
  • the electronic device 101 may be connected to the controller 301 wirelessly or by wire.
  • the controller 301 may be configured as a single device or multiple devices.
  • the controller 301 connected to the electronic device 101 may be placed in a position close to a part of the user's body (e.g., a hand) or may be gripped by the user's hand, reality < / RTI >
  • the controller 301 may be an input device for receiving user input for an object displayed in a user interface (UI) of the electronic device 101.
  • the controller 301 may include a physical button or a touch pad.
  • the controller 301 may send a signal indicating the user's input to the electronic device 101 in response to detecting an input received via a physical button or a touchpad.
  • Figure 4 illustrates an example of a signal flow of an electronic device for optimizing a user interface (UI) in accordance with various embodiments.
  • electronic device 101 may be coupled to controller 301.
  • the electronic device 101 may be coupled with the controller 301 in a variety of ways.
  • the electronic device 101 may be able to detect whether a connectable controller is in the vicinity as a specific application is executed. When the electronic device 101 finds a connectable controller 301, the electronic device 101 can establish a connection with the controller 301.
  • the electronic device 101 may receive an input that triggers a search for a controller from a user (e.g., user 300) based on running a particular application. In response to receiving the input, the electronic device 101 may search the controller 301 and establish a connection with the searched controller 301.
  • the operation for establishing the connection with the controller 301 is not limited to the above-described example.
  • the electronic device 101 may perform the operation of registering the controller 301 with the electronic device 101 as the connection with the controller 301 is established. This operation may be referred to as out of box experience (OOBE).
  • OOBE out of box experience
  • the electronic device 101 may request the user's input to the controller 301 to provide the user with an adaptive UI.
  • the controller 301 may detect the user's input.
  • the electronic device 101 may guide the user's input by displaying text or the like in the UI, via the display of the electronic device 101.
  • the electronic device 101 can guide the user's input by displaying the text " Press the trigger button on the shoulder " within the UI.
  • the trigger button may be a term referring to one physical button included in the controller 301.
  • the electronic device 101 can display the reference point in the UI and display the text 'Point the reference point and press the trigger button' to guide the user's input.
  • the electronic device 101 can guide the user's input by displaying the text " hold the controller with his left hand and turn the left wrist one turn ".
  • the controller 301 can detect the user's input to the guide displayed in the UI of the electronic device 101.
  • the user input includes a click, a double click, a long press, a drag, or a shaking, etc., can do.
  • the user input may include various types of inputs associated with the controller 301 and is not limited to the example described above.
  • the controller 301 may send a signal (hereinafter, the user's input signal) representing the user input to the electronic device 101.
  • the controller 301 can transmit the user's input signal to the electronic device 101 in response to detecting the input of the user.
  • the controller 301 may send a user's input signal to the electronic device 101 in response to detecting a user input.
  • the input of the user may include physical buttons (e.g., trigger buttons) included in the controller 301 or inputs to the touch pad.
  • Information about the input may be identified through at least one sensor (e.g., an acceleration sensor, an angular velocity sensor, a gyro sensor, a GPS sensor, etc.) included in the controller 301.
  • the controller 301 may transmit various information related to the input of the user to the electronic device 101 via the input signal. For example, the controller 301 may send information to the electronic device 101 about the location where the user's input was received, the distance the controller 301 was moved before receiving the user's input, and so on.
  • the electronic device 101 may identify the input signal received from the controller 301.
  • the input signal may include information representative of a user input, or a sensor value for a user input.
  • the electronic device 101 can identify the information represented by the input signal received from the controller 301.
  • the electronic device 101 can identify information about an input signal received from the controller 301, based on at least one sensor included in the electronic device 101. In such a case, the electronic device 101 may track the controller 301 (or the movement of the controller 301, or the movement of the controller 301) via the sensors contained within the electronic device 101.
  • the electronic device 101 can identify the input signal based on the sensor value based on the at least one sensor included in the electronic device 101 and the information contained in the input signal of the controller.
  • the electronic device 101 may correlate the information contained in the input signal received from the controller 301 with the content being displayed in the UI to identify what the received signal represents. For example, the electronic device 101 may receive an input signal from the controller 301 while displaying a UI including a text " press the trigger button on the shoulder ". In this case, the electronic device 101 can identify that the received input signal is a signal indicative of the user's shoulder position.
  • the electronic device 101 in relation to identifying the input signal of the controller 301, identifies information about the position or movement of the controller 301, included in the input signal of the controller 301 .
  • the electronic device 101 may identify information about the location or movement of the controller 301 via a sensor included in the electronic device 101.
  • the sensor included in the electronic device 101 may be, for example, a sensor capable of tracking the movement of the controller 301.
  • the electronic device 101 may identify the input signal based on mutual information exchange between the sensor included in the electronic device 101 and the sensor included in the controller 301.
  • Various sensors for identifying the position, the moving range, the moving distance, or the moving speed of the controller 301 can be utilized in connection with the operation of identifying the input signal of the controller 301, Do not.
  • the operations of operations 403 through 407 may be repeated.
  • the electronic device 101 may display another UI that includes text that requires input for an arm-extended position, based on identifying a signal indicative of the shoulder position.
  • the controller 301 may detect the user's input based on the displayed different UI and send a signal to the electronic device 101 for the input.
  • the electronic device 101 can identify the transmitted signal and determine the arm extended position.
  • the electronic device 101 may determine the characteristics of the user.
  • the electronic device 101 may determine the characteristics of the user based on identifying the input signal.
  • the user's characteristics may include the physical characteristics of the user.
  • the user's characteristics may include the user's height, arm length, range of motion of the wrist, or the distance the user's arm can reach.
  • the information about the user is not limited to the above example, and may include various information about the user related to the use of the electronic device 101. [
  • the electronic device 101 may determine the characteristics of the user based on the database.
  • the database can be stored in the form shown in Table 1 below.
  • the database may include information about the characteristics of the user corresponding to the identified input signal.
  • the electronic device 101 may obtain information about the user's height in the database, based on a signal indicative of the user's shoulder position and a signal indicative of the user's extended arm position.
  • Table 1 exemplifies a part of the database related to the user's elongation, and is not limited to the example described above.
  • the electronic device 101 may determine a user's characteristics based on an equation. Information on the equation can be stored in advance in the electronic device 101. [ The electronic device 101 can determine the characteristics of the user based on information on the mathematical expressions included in Table 1 and information on the input signals.
  • HT may be the height of the user
  • A may be the arm span of the user
  • H may be the hand size of the user.
  • the electronic device 101 can identify the position of the user's shoulder and the position of the arm extending, based on the signal for the position of the shoulder and the position for the arm extending position.
  • the electronic device 101 can identify the length of the arm by determining the distance from the shoulder position to the arm extended position.
  • the electronic device 101 may specify H of the equations (equations 1 through 4) in Table 1, i.e., the size of the user's hand, to a particular value (e.g., 15 cm).
  • the electronic device 101 may determine the height of the user through equations based on identifying the length of the user's arm.
  • examples of mathematical expressions for calculating the user's elongation have been described, but not limited thereto, various mathematical expressions or algorithms for determining the characteristics of the user can be used.
  • the electronic device 101 may determine the arrangement (or configuration) of the UI corresponding to the user's characteristics. Information about the placement of the UI may be mapped to the characteristics of the user and stored in the electronic device 101. The electronic device 101 may determine the placement of the UI based on identifying the stored information.
  • the electronic device 101 may include at least one UI placement mode having a different layout.
  • the UI layout mode may be mapped according to the characteristics of the user.
  • the electronic device 101 may determine the UI placement mode mapped to the characteristics of the user determined through operation 409. [ For example, when the user's height is 150 cm or less, the electronic device 101 determines the placement mode of the UI as the first mode, and if the height of the user is 150 cm or more and 180 cm or less, And if it exceeds 180 cm, the layout mode of the UI can be determined as the third mode.
  • the information about the placement of the UI may include, for example, the extent to which the UI is displayed on the display, the placement of at least one object contained in the UI, or information about the size of at least one object contained in the UI . ≪ / RTI >
  • the electronic device 101 may display the UI to which the determined placement is applied.
  • the electronic device 101 may determine the placement of the basic UI of the electronic device 101 by storing information about the placement determined in the OOBE mode. Based on the determined placement, the electronic device 101 may display the UI.
  • the electronic device 101 may adjust the display (or field of view, FOV) of the UI based on the determined placement have.
  • the electronic device 101 can provide a user-specific field of view (FOV) by displaying the UI.
  • operations 501 to 505 may correspond to operations 405 to 409 of FIG.
  • the description of the same or similar operation as that described in Fig. 4 may be omitted.
  • electronic device 101 may receive an input signal of a user (e.g., user 300) from controller 301.
  • the electronic device 101 may display a UI for guiding user input.
  • the UI for guiding the user input may include, for example, the text 'press the trigger button of the controller 301 at the shoulder position'.
  • the controller 301 can detect the user input in a state corresponding to the guide included in the displayed UI. Controller 301 may send a signal (or information about the user input) indicative of the user input to the electronic device in response to receiving the user input.
  • the controller 301 may comprise a plurality of controllers.
  • the controller 301 may include a left-hand controller and a right-hand controller.
  • the user can press a button included in the plurality of controllers while holding each of the plurality of controllers in both hands.
  • each of the plurality of controllers may transmit to the electronic device 101 a signal indicative of an input to a physical button detected through each of the plurality of controllers.
  • the electronic device 101 may receive a signal from the controller 301 indicating the input. And can receive a user's input signal from each of the plurality of controllers.
  • the electronic device 101 may identify the input signal of the received user.
  • the electronic device 101 can identify the information represented by the received input signal of the user. For example, the electronic device 101 may identify whether a received user's input signal is a signal indicative of a user's shoulder position or the position at which the user's arm extends. The identification may be performed based on at least one sensor (e.g., an acceleration sensor, an angular velocity sensor, a gyro sensor, or a GPS sensor) included in the electronic device 101 or the controller 301.
  • a sensor e.g., an acceleration sensor, an angular velocity sensor, a gyro sensor, or a GPS sensor
  • the electronic device 101 can identify the information represented by the plurality of signals by identifying each of the plurality of signals. For example, the electronic device 101 may receive a plurality of signals indicative of a position extending both arms through a plurality of controllers. The electronic device 101 may identify a plurality of signals indicative of a position extending a left arm and a position extending a right arm by identifying a plurality of signals.
  • operations 501 and 503 may be repeated. In some embodiments, based on the display of the UI, operations 501 and 503 may be repeated. For example, if the UI associated with the user's shoulder position is initially displayed, actions 501 and 503 may be performed. Thereafter, if a UI associated with the user's arm extended position is displayed, operations 501 and 503 may be repeated again.
  • the electronic device 101 may determine the characteristics of the user.
  • the electronic device 101 may determine the characteristics of the user based on the user ' s input signal. For example, the electronic device 101 can determine the length of the arm if the user's input signal is a signal that indicates the position where the user's left arm extends and the right arm extends.
  • the electronic device 101 can determine the height of the user by substituting the length of the determined arm into a pre-stored equation.
  • the electronic device 101 may determine an anchor point according to the characteristics of the user.
  • the electronic device 101 may determine an anchor point of the controller 301 or an anchor point for displaying the UI of the electronic device 101 according to the characteristics of the user.
  • the anchor point may include a central axis for display of the UI.
  • the electronic device 101 can determine a reference point for display of the UI.
  • the electronic device 101 may display the UI around the determined reference point or adjust the UI.
  • the electronic device 101 may adjust (or change) the position of the anchor point according to the determined user's height if there is a predetermined anchor point.
  • the electronic device 101 may set the reference position of the anchor point according to the determined user's elongation.
  • the electronic device 101 may arrange the objects included in the UI or the UI based on the anchor point.
  • the electronic device 101 can adjust the UI (or display of the UI) by moving the anchor point in the z-axis direction.
  • the anchor point may be changed based on the user's height.
  • the electronic device 101 may change the anchor point in a direction away from the UI on the z-axis or in a direction approaching the UI.
  • the electronic device 101 may include a default height. If the user's elongation is longer than the reference elongation, the electronic device 101 may adjust (or change) the position of the anchor point so that the anchor point is away from the UI. In some other embodiments, the electronic device 101 has: If the user's elongation is shorter than the reference elongation, the electronic device 101 may adjust the anchor point in a direction that is closer to the UI.
  • the adjustment distance of the anchor point may be determined by the ratio of the reference elongation to the user's elongation. For example, if the reference elongation is 1 m and the position of the reference anchor point is 1 on the z-axis, then the electronic device can adjust the anchor point to a position of 1.8, corresponding to a user's elongation of 1.8 m. At this time, the direction away from the UI in the z axis can be set to the plus direction (plus direction).
  • the electronic device 101 may prestore anchor point values corresponding to each elongation in the database to adjust the anchor points. In this case, based on the determination of the user's elongation, the electronic device 101 can determine the anchor point.
  • the electronic device 101 may use various methods for determining anchor points, and is not limited to the above-described example.
  • the electronic device 101 may display the UI.
  • the electronic device 101 can adjust (or display) the UI based on the determined anchor point. For example, when the anchor point of the UI is changed, the arrangement of the UI can be changed (or displayed by changing) around the changed anchor point. By changing the placement of the UI, the electronic device 101 can adjust the display (or the field of view, FOV) of the UI according to the user's height.
  • the electronic device 101 can provide a user-optimized UI by adjusting the UI for each user.
  • the electronic device 101 can efficiently operate the UI based on the anchor point.
  • the electronic device 101 may change an anchor point for displaying an object representing the input of the controller 301 on the UI of the electronic device 101. By changing the anchor point, the electronic device 101 can set an operation on the input of the controller 301 on a user-by-user basis.
  • FIG. 6 illustrates an example of a user interface for determining a user ' s characteristic in accordance with various embodiments.
  • FIG. 6 illustrates one controller 301 connected to the electronic device 101.
  • the UI 601 may be an execution initial screen (or OOBE screen, or setting screen) of the electronic device 101.
  • the UI 601 can be displayed to set initial values.
  • the electronic device 101 can display the UI 601 in a state of being connected to the controller 301.
  • the electronic device 101 can detect an input to an extension measurement item included in the UI.
  • UI 601 may be displayed for initialization.
  • the electronic device 101 displays the UI 701 for the initial execution of the electronic device 101 (e.g., user account input, user background setting, UI brightness setting, user preference setting Etc.) can be set.
  • the UI 601 may be displayed based on the launch of an application (e.g., a configuration application) for setting up the electronic device 101.
  • the UI 601 may be displayed corresponding to where the electronic device 101 is booted up.
  • the electronic device 101 may display the UI 603.
  • the UI 603 can guide the user's operation with respect to the controller 301.
  • the UI 603 may include the text 'Place the controller on the shoulder and press the trigger button'.
  • the controller 301 can detect the user input to the trigger button in a state of being gripped by the user.
  • the electronic device 101 may be configured to display (or display) the UI 603 information about the user input that depresses the trigger button from the controller 301 or the sensor value associated with the user input At least one can be received.
  • the electronic device 101 may identify a user's shoulder position based on at least one of information about a user input or a sensor value associated with a user input.
  • the electronic device 101 may display the UI 605 in response to receiving a user's input.
  • the UI 605 may be used to guide subsequent actions required to determine a user ' s characteristics (e.g., physical characteristics).
  • the subsequent operation may include, for example, the user's action of pressing the physical button of the controller 301 at the user's shoulder position, or the user's pressing of the physical button of the controller 301 with the arm extended.
  • the UI 605 may include the text 'Extend arm as far as possible and then press the trigger button'.
  • the user can perform an operation of pressing a button (e.g., a trigger button) included in the controller 301 while holding the controller 301 in hand and extending his / have.
  • the electronic device 101 may receive an input of a user pressing the trigger button from the controller 301 while displaying (or displaying) the UI 605. [ Based on receiving a user's input, the electronic device 101 may identify the location of the user's arms.
  • UI 603 or UI 605 may be displayed in any order. For example, after the UI 605 is displayed, the UI 603 may be displayed based on receiving an input related to the UI 605.
  • the electronic device 101 may determine the length of the user's arm based on the user's shoulder position and the user's extended arm position. For example, the length of the user's arm can be determined by identifying the distance between the user's shoulder position and the user's extended arm position. The electronic device 101 may determine the height of the user through the length of the determined user's arm. To determine the elongation of the user, the electronic device 101 may use equations (e.g., Equations 1 to 4 included in Table 1) or use pre-stored information. Various methods can be used to determine the user's height, and are not limited to the above-described examples.
  • the electronic device 101 may store information about the user's height as information for displaying the UI, based on determining the height of the user.
  • the electronic device 101 can determine the type of display of the UI of the electronic device 101, the placement of the UI, or an object included in the UI, based on the information about the height of the user.
  • the electronic device 101 may adjust the anchor point based on information about the user's height. By applying the adjusted anchor point, the electronic device 101 can change the display of the UI to be optimized for the user.
  • the electronic device 101 may display the UI 607 based on storing information about the user's height.
  • UI 607 may include text indicating information about the user's height.
  • the UI 607 may include the text " Enter the estimated elongation at 130 cm ".
  • the elongation measurement operation for the initial setting of the electronic device 101 can be terminated.
  • the electronic device 101 may terminate the initial setting for display of the UI.
  • the electronic device 101 may display the UI 601 based on receiving a user's input for setting, and in such a case, the operations of Fig. 6 may be performed iteratively.
  • the UI 603 to the UI 607 may include various texts for guiding an operation for measuring the user's height, and the present invention is not limited to the above example.
  • Figure 7 illustrates another example of a user interface for determining a user's characteristics in accordance with various embodiments.
  • Fig. 7 illustrates the case where there are a plurality of controllers (e.g., two) connected to the electronic device 101.
  • the plurality of controllers may be controllers having the same configuration.
  • the UI 701 shows an example of an initial setting screen (or OOBE screen) of the electronic device 101.
  • the electronic device 101 displays the UI 701 for the initial execution of the electronic device 101 (e.g., user account input, user background setting, UI brightness setting, user preference setting Etc.) can be set.
  • the electronic device 101 can display the UI 701 in a state of being connected to a plurality of controllers.
  • the electronic device 101 may, through at least one of the plurality of controllers, detect an input to an extension measurement item included in the UI.
  • the electronic device 101 may display the UI 703.
  • the UI 703 may include the text " Hold the controller in both hands, extend both arms and then press each trigger button ".
  • the user can perform an operation of displaying the UI 703 to extend the arms as shown by the user action 707 and then pushing a button (e.g., a trigger button) included in each of the controllers held in both arms.
  • Each of the plurality of controllers may transmit a signal (e.g., an input signal) indicative of a user's input to the electronic device 101 in response to receiving a user's input.
  • the electronic device 101 may determine the length of both arms of the user based on the received input signal.
  • the electronic device 101 can identify a left-handed position and a right-handed position through a plurality of controllers.
  • the electronic device 101 can determine the length of both arms by identifying the distance between the left hand and the right hand.
  • the electronic device 101 may use equations (e.g., Equations 1 to 4 included in Table 1) or use pre-stored information.
  • equations e.g., Equations 1 to 4 included in Table 1
  • pre-stored information e.g., Various methods can be used to determine the user's height, and are not limited to the above-described examples.
  • the electronic device 101 may store information about the height of the determined user.
  • the electronic device 101 may display the UI 705 based on storing information about the user's height.
  • UI 705 may include text indicating information about the user's height.
  • the UI 705 may include text " Enter the estimated elongation at 130 cm. &Quot;
  • the electronic device 101 may terminate the initial setting for display of the UI.
  • the electronic device 101 may display the UI 705 based on receiving a user's input for setting, and in such a case, the operations of Fig. 7 may be performed repeatedly.
  • the UI 703 to the UI 705 may include various texts for guiding an operation for measuring the user's elongation, and the present invention is not limited to the above example.
  • Figure 8 illustrates an example of setting an anchor point for optimization of a user interface in accordance with various embodiments.
  • the electronic device 101 may be connected to a plurality of controllers 301.
  • the electronic device 101 may adjust the anchor points 801 and 803 for displaying an object representing the input of the controller 301 on the UI.
  • the anchor point of the electronic device 101 may have a default value.
  • the anchor point may have a default value according to the length of the reference elongation or reference arm, for example.
  • the default value may include a value for the location of the anchor point.
  • the electronic device 101 may adjust the anchor point based on identifying the user's characteristics (e.g., the user's height, the length of the user's arm).
  • the adjusted anchor point may be an optimized (or adaptively determined) anchor point based on the user ' s characteristics.
  • the UI 805 shows an example of a UI displayed based on a predetermined anchor point 801.
  • the anchor point 801 may be determined corresponding to designating the length of the user's reference arm as a. If the length of the user's arm is longer than the length of the reference arm (or if the user's elongation is greater than the reference elongation), the electronic device 101 may adjust the anchor point 801.
  • the UI 807 shows an example of a UI displayed based on the adjusted anchor point 803.
  • the UI 807 may include a UI displayed based on an anchor point 801 being adjusted when the length of the user's arm is determined as b. Based on the anchor point 801 being adjusted, the adjustment range of the controller 301 can be changed. For example, the object pointed to by the controller may be different even if the angle of adjustment of the controller before and after the change of the anchor point is the same.
  • the anchor point is adjusted according to the length (a, b) of the user's arm so that the electronic device 101 can optimize the controller 301 on a user-by-user basis. Through optimization, the electronic device 101 can improve the usability of the electronic device 101 or the controller 301 to the user.
  • FIG. 9 illustrates another example of operation of an electronic device for optimizing a user interface in accordance with various embodiments.
  • the electronic device 101 may receive an input signal for the reference point indicated in the electronic device 101 from the controller 301.
  • the electronic device 101 may display one or more reference points in the electronic device to determine the characteristics of the user (e.g., the user's input range).
  • One or more reference points may be, for example, vertices contained in any rectangular area of the 3D environment.
  • the one or more reference points may be a plurality of reference points representing any circle in the 3D environment.
  • the electronic device 101 may detect a user's input to one or more reference points displayed via the controller 301.
  • the electronic device 101 may receive an input signal of a controller that points (or clicks) on one or more reference points.
  • the electronic device 101 may use the controller 301 to measure or acquire data for the user ' s motion (or movement) pointing at one or more reference points.
  • the electronic device 101 may measure or obtain data about the user's actions (or movements) through the at least one sensor included in the controller 301 or the electronic device 101. [ For example, the electronic device 101 can acquire information on the position of the controller when pointing the reference point.
  • the electronic device 101 may determine the input range of the user by identifying the received input signal.
  • the input range of the user can be determined based on the characteristics (e.g., physical characteristics) of the user.
  • the input range of the user may indicate the range that the user may cause to input.
  • the input range of the user may be a range in which the user's arm can extend.
  • the electronic device 101 can determine a user's input range by identifying a movable area if the input signal includes information about the position of the controller.
  • the input range of the user may include a range through which the user's input can be detected through the controller 301.
  • the electronic device 101 may determine an arrangement of the UI according to the determined input range. In some embodiments, the electronic device 101 may determine the placement of the UI such that the UI is displayed within the determined input range. In some other embodiments, the electronic device 101 may determine the placement of the object so that the objects contained in the UI are displayed within the determined input range.
  • the object may be an object configured to receive input. In some embodiments, the object may be an executable object based upon receiving the input. For example, an object may be an icon representing a designated application. The specified application can be executed based on receiving input to the object. In some other embodiments, the object may be composed of various types of content, such as an image, icon, text, or video. In still other embodiments, the object may refer to a window containing various types of content.
  • the electronic device 101 may display the UI.
  • the electronic device 101 may display the UI based on the determined placement of the UI or the placement of the determined object.
  • the displayed UI may be an optimized UI for each user.
  • the electronic device 101 can provide a UI with increased convenience, ease, or usability of the user.
  • FIG. 10 illustrates another example of a user interface for determining a user's characteristics in accordance with various embodiments.
  • the electronic device 101 shows an example of a UI for determining the input range of the user.
  • the UI 1001 shows an example of an initial setting screen (or OOBE screen) of the electronic device 101.
  • the UI 1001 may further include an item (or menu) for input range measurement in the UI 701.
  • the electronic device 101 may display the UI 1003 based on detecting input to the item for input range measurement via the controller 301.
  • the UI 1003 may include text for indicating the start of an operation for input range measurement.
  • the UI 1003 may include the text " directly set the input area of the controller ".
  • the electronic device 101 displays the UI 1005 or the UI 1007 when receiving any input (e.g., an input that depresses any button on the controller) while the UI 1003 is displayed .
  • the UI 1005 may include a UI that guides the user's input to determine the input range associated with the user's right arm.
  • the UI 1005 may include, for example, the text 'Hold the controller in the right hand and press the trigger button while pointing each point on the screen'.
  • the controller 301 may transmit an input signal indicative of a user's input to the electronic device 101 by depressing the trigger button each time it points to each point included in the UI 1005.
  • the UI 1007 may include a UI that guides the user's input to determine the input range associated with the user's left arm.
  • the UI 1007 may include, for example, the text 'Hold the controller in the right hand and press the trigger button while pointing each point on the screen'.
  • the electronic device 101 can include at least one sensor and can identify movement range, travel distance, or movement of the controller 301 via at least one sensor. Based on the identification, the electronic device 101 may determine the user's input range represented by the user's input signal.
  • the input range of the user may be an area including maximum distances reachable by the user's hand.
  • the electronic device 101 may be connected to a plurality of controllers. When a plurality of controllers are connected, the electronic device 101 can receive the input of the designated controller for the right hand when the UI 1005 is displayed. The electronic device 101 may receive input of a controller designated for the left hand when the UI 1007 is displayed. The UI 1005 and the UI 1007 may be displayed in any order.
  • the UI 1003 to the UI 1007 may include various texts for guiding an operation for measuring the input range of the user, and the present invention is not limited to the above example.
  • Figure 11 illustrates an example of a user interface that is optimized according to various embodiments.
  • the UI 1101 may include a UI displayed based on the setting of the basic UI.
  • the UI 1103 may include a user-optimized UI via an electronic device according to various embodiments.
  • the electronic device 101 may include a default setting for display of the UI. Based on the basic settings, the electronic device 101 can display the UI. In this case, the object may be displayed at a fixed location of the electronic device 101.
  • the electronic device 101 may change the display of the UI through an optimization process.
  • the changed UI may correspond to the UI 1103, and the position of the object displayed on the UI 1101 may be changed.
  • the UI can be changed based on the user ' s characteristics.
  • the electronic device 101 may position the object further away from the central axis.
  • the electronic device 101 may position the object closer to the central axis.
  • the user's height of the UI 1103 may be less than the reference height. In this case, like the UI 1103, the object may be disposed closer to the center axis than the UI 1101. [
  • FIG. 12 illustrates an example of operation of an electronic device for optimizing a user interface associated with a controller in accordance with various embodiments.
  • the electronic device 101 may receive an input signal for the range of motion of the wrist from the controller 301.
  • the range of motion of the wrist may include a range in which the wrist may move while the position of the arm is fixed.
  • the electronic device 101 can identify the movement of the controller based on at least one sensor (e.g., an angular velocity sensor, an acceleration sensor) included in the controller 301.
  • the electronic device 101 may determine the detailed input range of the controller 301.
  • the detailed input range of the controller 301 may include a range in which the wrist of the user of the electronic device 101 can move.
  • the electronic device 101 may determine the detailed input range of the controller 301 based on identifying the motion of the controller.
  • the electronic device 101 may determine the placement of the UI associated with the controller 301, based on the sub-input range determined via operation 1203.
  • the electronic device 101 may determine the placement of the UI associated with the controller 301 for display by the UI associated with the controller 301 within the detailed input range.
  • the UI associated with the controller 301 may include, for example, content or menus associated with the controller 301.
  • the content or menu associated with the controller 301 may be an object configured to detect an input based on the rotation of the controller 301.
  • the electronic device 101 may be configured to provide a UI arrangement associated with the controller 301 such that the UI associated with the controller 301 is included in the determined input range. Can be changed. For example, the electronic device 101 may determine to display within the detailed input range by changing the spacing of the displayed icons apart by 10 cm in the UI associated with the controller 301 to 5 cm.
  • the electronic device 101 may display the UI based on the placement of the UI associated with the determined controller 301. [ The electronic device 101 may display the UI associated with the controller 301 based on the determination of the operation 1205 when displaying the UI associated with the controller 301. [
  • Figure 13 illustrates an example of a user interface for determining the characteristics of a user associated with a controller in accordance with various embodiments.
  • the UI 1301 may include a UI displayed to determine a detailed input area of the controller 301.
  • the UI 1301 may be a UI displayed to determine a detailed input area of the controller 301 for left-handed rotation of the left hand.
  • the electronic device 101 can display the UI 1303 when a user's input is received in response to the display of the UI 1301.
  • the UI 1303 may include a UI displayed to determine a detailed input area of the controller 301.
  • the UI 1303 may be a UI displayed to determine the detailed input area of the controller 301 for the right rotation of the left hand.
  • the UI 1303 may include text for guiding the user's operation of 'turn the wrist to the right and then press the trigger button'.
  • the electronic device 101 may be coupled with a plurality of controllers. When the electronic device 101 is connected to two controllers, the electronic device 101 may further display a UI for determining a detailed input range of the controller for the right hand.
  • the electronic device 101 may display the UI 1305 based on receiving the user's input for the detailed input range of the controller 301.
  • the UI 1305 may include a UI for guiding that the measurement for determining the detailed input range has been completed.
  • the UI 1305 reads' measurement completed. Adjusting the input area of the controller ".
  • the electronic device 101 may adjust the detailed input range associated with the controller 301 from the region 1309 to the region 1311.
  • the detailed input range can be adjusted by identifying the movement of the controller 301 based on the yaw, pitch or roll axis of rotation of the controller 301.
  • the yaw rotation axis may be the z-axis (or gravity direction axis)
  • the pitch rotation axis may be the y-axis
  • the rotation axis of the roll may be the x-axis.
  • Region 1311 may correspond to a sub-input range determined through the above-described operations.
  • Area 1311 may correspond to an optimized input range based on the range of motion of the user's wrist.
  • the electronic device 101 can identify an error range for the input of the controller 301 by measuring the input range of the controller 301.
  • the area 1311 of the controller 301 may correspond to an error range with respect to the input of the controller 301 to the UI of the electronic device 101.
  • the UI 1301 to UI 1305 may include various texts for guiding operations for measuring the range of movement of the user's wrist, and are not limited to the above-described examples.
  • Figure 14 illustrates an example of a user interface that is optimized in conjunction with a controller in accordance with various embodiments.
  • the electronic device 101 may display a UI 1401 associated with the controller 301.
  • the UI 1401 may display one or more icons based on moving the controller 301. A description of the icons or the names of the icons may be displayed around the one or more icons. A selected one of the one or more icons 1405 may be highlighted to indicate that it has been selected. To emphasize the icon 1405, various methods that are displayed differently from the remaining icons may be used and are not limited to the illustrated example.
  • the input of the controller 301 for selecting an icon of one or more icons may be used in a variety of ways.
  • the controller 301 may select an icon to rotate based on the rotation axis of yaw, pitch, or roll.
  • the electronic device 101 may select one icon.
  • the electronic device 101 may change the UI 1401 to UI 1403 and display it, based on detecting the detailed input range of the controller 301.
  • the UI 1403 may be a UI that is adjusted (or rearranged) so that one or more icons within the detailed input range are displayed.
  • the electronic device 101 may adjust one or more icons to be displayed within the detailed input range by adjusting the size of one or more icons based on detecting the detailed input range of the controller 301. [ For example, the electronic device 101 may reduce the size of one or more icons so that one or more icons may adjust the displayed area.
  • Figure 15 shows an example of a user interface displayed in accordance with various embodiments.
  • the UI described below may include a UI associated with the VR environment.
  • the electronic device 101 can display the UI 1501.
  • the UI 1501 may include one or more objects that are fixedly displayed at a specified location. In various embodiments, the appearance of the same UI 1501 may vary according to the characteristics of the user.
  • a user 1503 having a small height e.g., a child
  • the user can recognize the UI by looking upwards from below.
  • the user 1505 having a large height for example, adult
  • the user can recognize the UI in the form of looking down from above.
  • the user 1503 can recognize that the UI 1601 in Fig. 16 is displayed, and the user 1505 can recognize that the UI 1605 in Fig. 16 is displayed.
  • Figure 16 illustrates an example of a user interface that is optimized and displayed to a user in accordance with various embodiments.
  • the following UIs may include a UI associated with the VR environment.
  • the UI 1601 and the UI 1603 may include a UI that is viewed by a user with a small height.
  • the electronic device 101 can adjust the display (or field of view, FOV) of the UI 1601 based on the characteristics of the user with a small height, such as elongation, input range, have.
  • the electronic device 101 may display the UI 1603 based on adjusting the location where the objects of the UI 1601 are displayed. For example, the electronic device 101 can adjust the display position of the objects of the UI 1601 to be displayed at a position shifted downward by a certain distance. Accordingly, the user of the electronic device 101 can recognize the UI in a form that is viewed from the front.
  • UI 1603 may be in the form of a UI that the user is viewing, based on adjustments.
  • the UI 1605 and the UI 1607 may include a UI that is viewed by a user with a large height.
  • the electronic device 101 can adjust the display (or field of view, FOV) of the UI 1605 based on the characteristics of the user with a large height (e.g., height, input range, have.
  • the electronic device 101 may display the UI 1607 based on adjusting the location where the objects of the UI 1605 are displayed. For example, the electronic device 101 may adjust the displayed position of the objects of the UI 1605 to be displayed at a position shifted upward by a certain distance. Accordingly, the user of the electronic device 101 can recognize the UI in a form that is viewed from the front.
  • UI 1607 may be in the form of a UI that the user is viewing, based on adjustments.
  • Figure 17 illustrates another example of a user interface that is optimized and displayed to a user in accordance with various embodiments.
  • the electronic device 101 can adjust and display the far-appearing UI 1701 so as to appear at a close position based on the characteristics of the user.
  • the electronic device 101 can display the UI 1703 by adjusting the arrangement of the UI 1701 or the arrangement of the objects included in the UI 1701. [
  • the objects of the UI 1703 can be displayed in an enlarged size than the objects of the UI 1701. [
  • Figure 17 may be a UI in a VR environment.
  • FIG. 17 may be an example of one eye of the user's two eyes.
  • the electronic device 101 corresponds to the UI 1701 and may further display a UI for the viewpoint of the other eye of the user.
  • the electronic device 101 may display a UI for each of the viewpoint (view position or view direction) and the viewpoint of the right eye.
  • the electronic device 101 may provide a UI for each of the viewpoint or view direction of the left eye and the viewpoint of the right eye through an application for providing VR.
  • the electronic device 101 may render a screen including other applications (e.g., a photo application, a game application) in a 3D screen using an application for providing VR.
  • applications e.g., a photo application, a game application
  • Figure 18 shows another example of a user interface displayed in accordance with various embodiments.
  • the electronic device 101 may include an application that needs to provide various visibility for a specific space.
  • the electronic device 101 may include an interior application for indicating how the interior is applied to the home.
  • the electronic device 101 may include a shopping application. Through the shopping application, the electronic device 101 can provide a UI in which the furniture the user intends to purchase is applied to the structure or interior of the user's home.
  • the electronic device 101 can provide a UI (or a field of view) corresponding to the height of the user because the field of view depending on the height of the user can provide information to the user based on the other.
  • the electronic device 101 may identify whether the executed application is an application that requires different visibility for each user. If the executed application requires different visions for each user, the electronic device 101 may identify a predetermined user's characteristics (e.g., user's height, user's arm length, etc.) One may perform one of the operations (e.g., the operations of FIG. 4). The electronic device 101 may adjust the display of the UI based on the user ' s characteristics. The electronic device 101 may provide a UI 1801 (or view) looking down from the top, for example, in the case of a user 1801 with a high elongation. As another example, in the case of a small-height user 1804, the electronic device 101 may provide a UI (or view) 1803 looking up from the bottom.
  • the UI shown in FIG. 18 may be a UI that can be displayed in the VR environment.
  • FIG. 19 illustrates an example of an object displayed based on a user ' s characteristic according to various embodiments.
  • the electronic device 101 may generate a character representing a user based on executing a character application (or an avatar application). With respect to the character application, the electronic device 101 may be storing information about the basic character 1901 in advance. The electronic device 101 may identify the characteristics of the user based on executing the character application. In some embodiments, if information about a user's characteristics is stored, the user's characteristics can be identified based on the stored information. In some other embodiments, if information about a user's characteristics is not stored, at least one of the operations (e.g., the operations of FIG. 4) for determining a user's characteristics based on running the character application is performed can do.
  • the operations e.g., the operations of FIG. 4
  • the electronic device 101 may change the size of the base character 1901, etc., based on the user ' s characteristics. For example, the information on the elongation of the basic character 1901 and the information on the elongation of the user are compared with each other, and the character 1903 in which the characteristics of the user are reflected can be generated. As another example, the basic character 1901 can be changed to the character 1903 that reflects the user's characteristics by comparing information about the elongation of the basic character 1901 with information about the elongation of the user.
  • the character of Figure 19 described above may be a VR object (or 3D object) that can be displayed in a VR environment.
  • a VR object or 3D object
  • various contents, objects, icons, and the like can be rearranged, reset, re-created, or re-adjusted based on the characteristics of the user.
  • the electronic device 101 may store the user's information in an application (e.g., a health application) for health care based on the user's characteristics. Based on the stored information, the electronic device 101 can measure information about the value affected by the elongation. For example, the value affected by the kidney may be the calories consumed by the user or a standard weight. In some embodiments, the electronic device 101 may determine the user's stride, based on information about the user's elongation. Based on the determined user's stride, the calories consumed by the user can be determined. The calories consumed by the user can be determined based on the user's stride and the number of steps of the user. In some other embodiments, the electronic device 101 may determine a standard weight based on information about the height of the user. For example, the electronic device 101 can determine the standard body weight by multiplying 0.9 by the value obtained by subtracting 100 from the height.
  • an application e.g., a health application
  • a computer-readable storage medium storing one or more programs (software modules) may be provided.
  • One or more programs stored on a computer-readable storage medium are configured for execution by one or more processors in an electronic device.
  • the one or more programs include instructions that cause the electronic device to perform the methods in accordance with the embodiments of the present disclosure or the claims of the present disclosure.
  • Such programs may be stored in a computer readable medium such as a random access memory, a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable ROM (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), digital versatile discs (DVDs) An optical storage device, or a magnetic cassette. Or a combination of some or all of these. In addition, a plurality of constituent memories may be included.
  • a computer readable medium such as a random access memory, a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable ROM (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), digital versatile discs (DVDs) An optical storage device, or a magnetic cassette. Or a combination of some or all of these.
  • a plurality of constituent memories may be included.
  • the program may also be stored on a communication network, such as the Internet, an intranet, a local area network (LAN), a communication network such as a wide area network (WLAN) And can be stored in an attachable storage device that can be accessed.
  • a storage device may be connected to an apparatus performing an embodiment of the present disclosure via an external port. Further, a separate storage device on the communication network may be connected to an apparatus performing the embodiments of the present disclosure.

Abstract

본 발명의 다양한 실시 예들은 전자 장치(electronic device)에서 사용자 인터페이스(user interface)를 적응적으로 구성하기 위한 방법 및 장치에 관하여 개시한다. 다양한 실시 예들에 따르면, 전자 장치는, 명령어들을 저장하는 메모리(memory)와, 통신 인터페이스(communication interface)와, 상기 통신 인터페이스 및 상기 메모리와 연결된 적어도 하나의 프로세서(processor)를 포함하고, 상기 적어도 하나의 프로세서는, 외부 전자 장치 내에서 사용자의 입력(input)을 검출하는 것에 응답하여, 상기 외부 전자 장치로부터 송신되고 상기 전자 장치 및 상기 외부 전자 장치와 관련된 사용자의 특성(characteristic)을 결정하기 위한 적어도 하나의 신호를 수신하고, 상기 적어도 하나의 신호에 기반하여, 상기 사용자를 위한 시야(field of view, FOV)를 결정하고, 및 상기 결정된 시야에 기반하여, VR(virtual reality)를 위한 컨텐츠(content)를 표시하기 위해 상기 저장된 명령어들을 실행하도록 설정될 수 있다.

Description

사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법
다양한 실시 예들은, 사용자 인터페이스(user interface)를 적응적으로 구성하기 위한 전자 장치(electronic device) 및 방법에 관한 것이다.
전자 장치(electronic device)에 대한 기술이 발달됨에 따라, 전자 장치는 다양한 사용자 경험(user experience, UX)을 제공할 수 있다. 예를 들면, 전자 장치는 현실과 유사하지만 현실이 아닌, 즉, 가상 현실(virtual reality, VR)을 위한 컨텐츠를 제공할 수 있다. 전자 장치는 가상 현실을 제공함으로써 사용자에게 풍부한 경험을 제공할 수 있다.
VR 을 위한 컨텐츠를 제공받는 사용자는, 사용자의 신체적 특성에 따라 서로 다른 시야(field of view, FOV)를 가질 수 있다. VR을 위한 컨텐츠를 고정된 구성(configuration) 또는 배치(arrangement)로 표시하는 전자 장치를 통해 VR을 위한 컨텐츠를 시청하는 사용자는, 이러한 사용자의 신체적 특성에 따라 야기되는 시야의 차이로 인하여, 불편함을 가질 수 있다. 따라서, 사용자의 신체적 특성에 따라 적응적으로 변경되는 구성으로 VR을 위한 컨텐츠를 제공하기 위한 방안이 요구될 수 있다.
다양한 실시 예들은, 사용자의 신체적 특성을 나타내는 정보에 기반하여 적응적으로 변경되는 구성으로 VR을 위한 컨텐츠를 표시하기 위한 전자 장치 및 방법을 제공할 수 있다.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시 예들에 따른 전자 장치는, 명령어들을 저장하는 메모리(memory)와, 통신 인터페이스(communication interface)와, 상기 통신 인터페이스 및 상기 메모리와 연결된 적어도 하나의 프로세서(processor)를 포함하고, 상기 적어도 하나의 프로세서는, 외부 전자 장치 내에서 사용자의 입력(input)을 검출하는 것에 응답하여, 상기 외부 전자 장치로부터 송신되고 상기 전자 장치 및 상기 외부 전자 장치와 관련된 사용자의 특성(characteristic)을 결정하기 위한 적어도 하나의 신호를 수신하고, 상기 적어도 하나의 신호에 기반하여, 상기 사용자를 위한 시야(field of view, FOV)를 결정하고, 및 상기 결정된 시야에 기반하여, VR(virtual reality)를 위한 컨텐츠(content)를 표시하기 위해 상기 저장된 명령어들을 실행하도록 설정될 수 있다.
다양한 실시 예들에 따른 전자 장치의 방법은, 외부 전자 장치 내에서 사용자의 입력을 검출하는 것에 응답하여, 상기 외부 전자 장치로부터 송신되고 상기 전자 장치 및 상기 외부 전자 장치와 관련된 사용자의 특성을 결정하기 위한 적어도 하나의 신호를 수신하는 동작과, 상기 적어도 하나의 신호에 기반하여, 상기 사용자를 위한 시야를 결정하는 동작과, 및 상기 결정된 시야에 기반하여, VR를 위한 컨텐츠를 표시하는 동작을 포함할 수 있다.
다양한 실시 예들에 따른 비-일시적(non-transitory) 컴퓨터-판독 가능(computer-readable) 저장(storage) 매체(medium)는 외부 전자 장치 내에서 사용자의 입력을 검출하는 것에 응답하여, 상기 외부 전자 장치로부터 송신되고 상기 전자 장치 및 상기 외부 전자 장치와 관련된 사용자의 특성을 결정하기 위한 적어도 하나의 신호를 수신하는 동작과, 상기 적어도 하나의 신호에 기반하여, 상기 사용자를 위한 시야를 결정하는 동작과, 및 상기 결정된 시야에 기반하여, VR를 위한 컨텐츠를 표시하는 동작을 포함할 수 있다.
다양한 실시 예들에 따른 전자 장치(electronic device) 및 그의 동작 방법에 따르면, 전자 장치는 다른 전자 장치로부터 수신된 적어도 하나의 신호(signal)에 기반하여, 사용자의 특성(characteristic)을 식별함으로써 사용자에게 최적화된 사용자 인터페이스(user interface)를 제공할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치(electronic device)의 블록도이다.
도 2는 다양한 실시 예들에 따른 디스플레이 모듈(module)의 블록도이다.
도 3은 다양한 실시 예들에 따른 전자 장치와 컨트롤러의 사용 예를 도시한다.
도 4는 다양한 실시 예들에 따라 사용자 인터페이스(user interface, UI)를 최적화하기 위한 전자 장치의 신호 흐름의 예를 도시한다.
도 5는 다양한 실시 예들에 따라 사용자 인터페이스를 최적화하기 위한 전자 장치의 동작의 예를 도시한다.
도 6은 다양한 실시 예들에 따라 사용자의 특성(characteristic)을 결정하기 위한 사용자 인터페이스의 예를 도시한다.
도 7은 다양한 실시 예들에 따라 사용자의 특성을 결정하기 위한 사용자 인터페이스의 다른 예를 도시한다.
도 8은 다양한 실시 예들에 따라 사용자 인터페이스의 최적화를 위한 앵커 포인트를 설정하는 예를 도시한다.
도 9는 다양한 실시 예들에 따라 사용자 인터페이스를 최적화 하기 위한 전자 장치의 동작의 다른 예를 도시한다.
도 10은 다양한 실시 예들에 따라 사용자의 특성을 결정하기 위한 사용자 인터페이스의 다른 예를 도시한다.
도 11은 다양한 실시 예들에 따라 최적화되는 사용자 인터페이스의 예를 도시한다.
도 12는 다양한 실시 예들에 따라 컨트롤러와 관련된 사용자 인터페이스를 최적화 하기 위한 전자 장치의 동작의 예를 도시한다.
도 13은 다양한 실시 예들에 따라 컨트롤러와 관련된 사용자의 특성을 결정하기 위한 사용자 인터페이스의 예를 도시한다.
도 14는 다양한 실시 예들에 따라 컨트롤러와 관련하여 최적화되는 사용자 인터페이스의 예를 도시한다.
도 15는 다양한 실시 예들에 따라 표시되는 사용자 인터페이스의 예를 도시한다.
도 16는 다양한 실시 예들에 따라 사용자에 최적화되어 표시되는 사용자 인터페이스의 예를 도시한다.
도 17은 다양한 실시 예들에 따라 사용자에 최적화되어 표시되는 사용자 인터페이스 다른 예를 도시한다.
도 18은 다양한 실시 예들에 따라 표시되는 사용자 인터페이스의 다른 예를 도시한다.
도 19는 다양한 실시 예들에 따라 사용자의 특성에 기반하여 표시되는 객체의 예를 도시한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일실시예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다. 카메라 모듈(180)은 복수의 카메라들로 구성될 수 있으며, 예를 들어, 제1 카메라 및 제2 카메라로 구성될 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일실시예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예들에 따른, 표시 장치(160)의 블록도(200)이다. 도 2를 참조하면, 표시 장치(160)는 디스플레이(210), 및 이를 제어하기 위한 디스플레이 드라이버 IC(DDI)(230)를 포함할 수 있다. DDI(230)는 인터페이스 모듈(231), 메모리(233)(예: 버퍼 메모리), 이미지 처리 모듈(235), 또는 맵핑 모듈(237)을 포함할 수 있다. DDI(230)는, 예를 들면, 인터페이스 모듈(231)을 통하여 프로세서(120)(예: 메인 프로세서(121)(예: 어플리케이션 프로세서) 또는 메인 프로세서(121)의 기능과 독립적으로 운영되는 보조 프로세서(123))로부터 영상 데이터, 또는 상기 영상 데이터를 제어하기 위한 명령에 대응하는 영상 제어 신호를 포함하는 영상 정보를 수신할 수 있다. DDI(230)는 터치 회로(250) 또는 센서 모듈(176) 등과 상기 인터페이스 모듈(231)을 통하여 커뮤니케이션할 수 있다. 또한, DDI(230)는 상기 수신된 영상 정보 중 적어도 일부를 메모리(233)에, 예를 들면, 프레임 단위로 저장할 수 있다. 이미지 처리 모듈(235)은, 예를 들면, 상기 영상 데이터의 적어도 일부를 상기 영상 데이터의 특성 또는 디스플레이(210)의 특성에 적어도 기반하여 전처리 또는 후처리(예: 해상도, 밝기, 또는 크기 조정)를 수행할 수 있다. 맵핑 모듈(237)은 디스플레이(210)의 픽셀들의 속성(예: 픽셀들의 배열(RGB stripe 또는 pentile), 또는 서브 픽셀들 각각의 크기)에 적어도 일부 기반하여, 이미지 처리 모듈(135)을 통해 전처리 또는 후처리된 상기 영상 데이터를 상기 픽셀들을 구동할 수 있는 전압 값 또는 전류 값으로 변환할 수 있다. 디스플레이(210)의 적어도 일부 픽셀들은, 예를 들면, 상기 전압 값 또는 전류 값에 기반하여 구동됨으로써 상기 영상 데이터에 대응하는 시각적 정보(예: 텍스트, 이미지, 또는 아이콘)가 디스플레이(210)에 표시될 수 있다.
일실시예에 따르면, 표시 장치(160)는 터치 회로(250)를 더 포함할 수 있다. 터치 회로(250)는 터치 센서(251) 및 이를 제어하기 위한 터치 센서 IC(253)를 포함할 수 있다. 터치 센서 IC(253)는 터치 센서(251)를 제어하여, 예를 들면, 디스플레이(210)의 특정 위치에 대한 신호(예: 전압, 광량, 저항, 또는 전하량)의 변화를 측정함으로써 상기 특정 위치에 대한 터치 입력 또는 호버링 입력을 감지하고, 감지된 터치 입력 또는 호버링 입력에 관한 정보(예: 위치, 면적, 압력, 또는 시간)를 프로세서(120) 에 제공할 수 있다. 일실시예에 따르면, 터치 회로(250)의 적어도 일부(예: 터치 센서 IC(253))는 디스플레이 드라이버 IC(230), 또는 디스플레이(210)의 일부로, 또는 표시 장치(160)의 외부에 배치된 다른 구성요소(예: 보조 프로세서(123))의 일부로 포함될 수 있다.
일실시예에 따르면, 표시 장치(160)는 센서 모듈(176)의 적어도 하나의 센서(예: 지문 센서, 홍채 센서, 압력 센서 또는 조도 센서), 또는 이에 대한 제어 회로를 더 포함할 수 있다. 이 경우, 상기 적어도 하나의 센서 또는 이에 대한 제어 회로는 표시 장치(160)의 일부(예: 디스플레이(210) 또는 DDI(230)) 또는 터치 회로(250)의 일부에 임베디드되어 구현될 수 있다. 예를 들면, 표시 장치(160)에 임베디드된 센서 모듈(176)이 생체 센서(예: 지문 센서)를 포함할 경우, 상기 생체 센서는 디스플레이(210)의 일부 영역을 통해 터치 입력과 연관된 생체 정보(예: 지문 이미지)를 획득할 수 있다. 다른 예를 들면, 표시 장치(160)에 임베디드된 센서 모듈(176)이 압력 센서를 포함할 경우, 상기 압력 센서는 디스플레이(210)의 일부 또는 전체 영역을 통해 터치 입력에 대한 압력 정보를 획득할 수 있다. 일실시예에 따르면, 터치 센서(251) 또는 센서 모듈(176)은 디스플레이(210)의 픽셀 레이어의 픽셀들 사이에, 또는 상기 픽셀 레이어의 위에 또는 아래에 배치될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(130))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이하 사용되는 '…모듈(module)' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 이러한 용어는 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
도 3은 다양한 실시 예들에 따른 전자 장치와 컨트롤러(controller)의 사용 예를 도시한다.
도 3을 참조하면, 다양한 실시 예들에서, 전자 장치(101)는 머리 착용형 장치(HMD, head mounted device)일 수 있다. 일부 실시 예들에서, 전자 장치(101)는 HMD 내에 삽입되고, 고정(secured)되는 방식으로 HMD와 결합(conjunction) 가능한 장치일 수 있다. 결합 가능한 장치는, 예를 들면, 스마트폰, 휴대용 단말기, 또는 태블릿 등을 포함할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는, 착용 파트(예: 헤드기어, 헤어 밴드, 또는 안경 프레임 등)를 이용하여 사용자(300)의 머리에 전자 장치(101)를 고정하는 방식으로 착용될 수 있다. 도시하지는 않았으나, 전자 장치(101)는 사용자가 전자 장치(101)를 직접 들어 사용자의 안면에 가깝게 놓는 방식으로 착용될 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 사용자(300)에게 가상 현실의 경험을 제공할 수 있다. 예를 들면, 전자 장치(101)는 디스플레이(210)에 가상 현실을 위한 컨텐츠를 표시함으로써, 디스플레이(210)를 바라보는 사용자(300)에게 3D(3-dimensional) 환경의 사용자 경험을 제공할 수 있다.
다양한 실시 예들에서, 전자 장치(101)의 사용성(usability)을 향상(enhance)시키기 위해, 전자 장치(101)는, 무선 또는 유선으로 컨트롤러(301)와 연결될 수 있다. 도시하지는 않았으나, 실시 예에 따라, 컨트롤러(301)는 단일(single) 기기(device)로 구성될 수도 있고, 다중 기기(multiple devices)로 구성될 수도 있다.
전자 장치(101)와 연결된 컨트롤러(301)는 사용자의 신체의 일부(예: 손)에 근접한 위치에 놓여지거나, 사용자의 손에 의해 그립(grip)된 상태에서 전자 장치에 의해 제공되는 VR(virtual reality)을 위한 컨텐츠를 제어하기 위해 이용될 수 있다.
다양한 실시 예들에서, 컨트롤러(301)는 전자 장치(101)의 사용자 인터페이스(user interface, UI)에 표시된 객체(object)에 대한 사용자 입력을 수신하기 위한 입력 장치일 수 있다. 컨트롤러(301)는 물리적 버튼 또는 터치 패드(touch pad)를 포함할 수 있다. 컨트롤러(301)는 물리적 버튼 또는 터치 패드를 통해 수신되는 입력을 검출하는 것에 응답하여, 전자 장치(101)에게 사용자의 입력을 나타내는 신호를 송신할 수 있다.
도 4는 다양한 실시 예들에 따라 사용자 인터페이스(user interface, UI)를 최적화하기 위한 전자 장치의 신호 흐름의 예를 도시한다.
도 4를 참조하면, 동작 401에서, 전자 장치(101)는 컨트롤러(301)와 연결될 수 있다. 다양한 실시 예들에서, 전자 장치(101)는 컨트롤러(301)와 다양한 방식으로 연결될 수 있다. 일부 실시 예들에서, 전자 장치(101)는 특정 어플리케이션(application)이 실행됨에 따라, 연결 가능한 컨트롤러가 주변에 있는지 여부를 탐색할 수 있다. 전자 장치(101)가 연결 가능한 컨트롤러(301)를 발견한 경우, 전자 장치(101)는 컨트롤러(301)와의 연결을 수립할 수 있다. 다른 일부 실시 예들에서, 전자 장치(101)는, 특정 어플리케이션을 실행하는 것에 기반하여, 사용자(예: 사용자(300))로부터 컨트롤러의 탐색을 트리거링(triggering) 하는 입력을 수신할 수 있다. 입력을 수신되는 것에 응답하여, 전자 장치(101)는 컨트롤러(301)를 탐색할 수 있고, 탐색된 컨트롤러(301)와의 연결을 수립할 수 있다. 컨트롤러(301)와의 연결을 수립하기 위한 동작은 상술한 예에 한정되지 않는다.
다양한 실시 예들에서, 전자 장치(101)는 컨트롤러(301)와의 연결이 수립됨에 따라, 컨트롤러(301)를 전자 장치(101)에 등록하는 동작을 수행할 수 있다. 이러한 동작은 OOBE(out of box experience)라고 지칭될 수 있다. OOBE 절차(procedure) 단계에서 전자 장치(101)는 사용자에 적응적인 UI를 제공하기 위해, 컨트롤러(301)에 대한 사용자의 입력을 요청할 수 있다.
동작 403에서, 컨트롤러(301)는 사용자의 입력을 검출할 수 있다. 다양한 실시 예들에서, 전자 장치(101)는 전자 장치(101)의 디스플레이를 통해, UI 내에 텍스트 등을 표시함으로써, 사용자의 입력을 가이드(guide)할 수 있다. 예를 들면, 전자 장치(101)는 UI 내에 '어깨 위에서 트리거 버튼을 누르세요'라는 텍스트를 표시함으로써, 사용자의 입력을 가이드 할 수 있다. 트리거 버튼은 컨트롤러(301)에 포함된 하나의 물리적 버튼을 지칭하는 용어일 수 있다. 다른 예를 들면, 전자 장치(101)는 UI 내에 기준점을 표시하고, '기준점을 포인팅한 후 트리거 버튼을 누르세요'라는 텍스트를 표시함으로써, 사용자의 입력을 가이드 할 수 있다. 또 다른 예를 들면, 전자 장치(101)는 '왼쪽 손으로 컨트롤러를 잡은 후, 왼쪽 손목을 한 바퀴 돌리세요'라는 텍스트를 표시함으로써, 사용자의 입력을 가이드 할 수 있다. 컨트롤러(301)는 전자 장치(101)의 UI 내에 표시된 가이드에 대한 사용자의 입력을 검출할 수 있다.
다양한 실시 예들에서, 사용자 입력(user input)은 컨트롤러(301)에 대한 클릭(click), 더블 클릭(double click), 롱 프레스(long press), 드래그(drag), 또는 흔들기(shaking) 등을 포함할 수 있다. 사용자 입력은 컨트롤러(301)와 관련된 다양한 방식의 입력을 포함할 수 있으며, 상술한 예에 한정되지 않는다.
동작 405에서, 컨트롤러(301)는 사용자 입력을 나타내는 신호(이하 사용자의 입력 신호)를 전자 장치(101)에게 송신할 수 있다. 컨트롤러(301)는 사용자의 입력을 검출하는 것에 대응하여, 전자 장치(101)에게 사용자의 입력 신호를 송신할 수 있다.
다양한 실시 예들에서, 컨트롤러(301)는 사용자 입력을 검출하는 것에 응답하여, 전자 장치(101)에게 사용자의 입력 신호를 송신할 수 있다. 사용자의 입력은 컨트롤러(301)에 포함된 물리적 버튼(예: 트리거 버튼) 또는 터치 패드에 대한 입력을 포함할 수 있다. 입력에 대한 정보는 컨트롤러(301)에 포함된 적어도 하나의 센서(예: 가속도 센서, 각속도 센서, 자이로 센서, GPS 센서 등)를 통해 식별될 수 있다. 컨트롤러(301)는 사용자의 입력과 관련된 다양한 정보를 입력 신호를 통해 전자 장치(101)에게 송신할 수 있다. 예를 들면, 컨트롤러(301)는 사용자의 입력이 수신된 위치, 사용자의 입력을 수신하기까지 컨트롤러(301)가 이동된 거리 등에 대한 정보를 전자 장치(101)에게 송신할 수 있다.
동작 407에서, 전자 장치(101)는 컨트롤러(301)로부터 수신된 입력 신호를 식별할 수 있다. 입력 신호는 사용자 입력을 나타내는 정보, 또는 사용자 입력에 대한 센서 값을 포함할 수 있다. 전자 장치(101)는 컨트롤러(301)로부터 수신된 입력 신호가 나타내는 정보를 식별할 수 있다. 일 실시 예에서, 전자 장치(101)는 전자 장치(101)에 포함된 적어도 하나의 센서에 기반하여, 컨트롤러(301)로부터 수신된 입력 신호에 대한 정보를 식별할 수 있다. 이러한 경우, 전자 장치(101)는 전자 장치(101) 내에 포함된 센서를 통해 컨트롤러(301)(또는 컨트롤러(301)의 움직임, 또는 컨트롤러(301)의 이동)를 트래킹(tracking)할 수 있다. 전자 장치(101)는 전자 장치(101)에 포함된 적어도 하나의 센서에 기반한 센서 값과 컨트롤러의 입력 신호에 포함된 정보에 기반하여, 입력 신호를 식별할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 컨트롤러(301)로부터 수신된 입력 신호 포함된 정보와 UI 내에서 표시되고 있는 컨텐츠를 연계하여, 상기 수신된 신호가 무엇을 나타내는지 식별할 수 있다. 예를 들면, 전자 장치(101)는 '어깨 위에서 트리거 버튼을 누르세요'라는 텍스트가 포함된 UI가 표시되는 동안, 컨트롤러(301)로부터 입력 신호를 수신할 수 있다. 이러한 경우, 전자 장치(101)는 수신된 입력 신호가 사용자의 어깨 위치를 나타내는 신호임을 식별할 수 있다.
다양한 실시 예들에서, 컨트롤러(301)의 입력 신호를 식별하는 것과 관련하여, 전자 장치(101)는 컨트롤러(301)의 입력 신호에 포함된, 컨트롤러(301)의 위치 또는 이동에 대한 정보를 식별할 수 있다. 일부 실시 예들에서, 전자 장치(101)는 전자 장치(101)에 포함된 센서를 통해 컨트롤러(301)의 위치 또는 이동에 대한 정보를 식별할 수 있다. 전자 장치(101)에 포함된 센서는 예를 들면, 컨트롤러(301)의 움직임을 트래킹할 수 있는 센서일 수 있다. 다른 일부 실시 예들에서, 전자 장치(101)는 전자 장치(101)에 포함된 센서와 컨트롤러(301)에 포함된 센서 간의 상호 정보 교환에 기반하여, 입력 신호를 식별할 수 있다. 컨트롤러(301)의 입력 신호를 식별하는 동작과 관련하여, 컨트롤러(301)의 위치, 이동 범위, 이동 거리, 또는 이동 속도 등을 식별하기 위한 다양한 센서들이 활용될 수 있으며, 상술한 예에 한정되지 않는다.
다양한 실시 예들에서, 동작 403 내지 동작 407의 과정은 반복될 수 있다. 예를 들면, 전자 장치(101)는 어깨 위치를 나타내는 신호를 식별하는 것에 기반하여, 팔을 뻗은 위치에 대한 입력을 요구하는 텍스트가 포함된 다른 UI를 표시할 수 있다. 컨트롤러(301)는 표시된 다른 UI에 기반하여 사용자의 입력을 검출하여, 전자 장치(101)에게 입력에 대한 신호를 송신할 수 있다. 전자 장치(101)는 송신된 신호를 식별하여, 팔을 뻗은 위치를 결정할 수 있다.
동작 409에서, 전자 장치(101)는 사용자의 특성을 결정할 수 있다. 전자 장치(101)는 입력 신호를 식별하는 것에 기반하여, 사용자의 특성을 결정할 수 있다. 사용자의 특성은 사용자의 신체적 특성을 포함할 수 있다. 예를 들면, 사용자의 특성은, 사용자의 신장, 팔의 길이, 손목의 가동 범위, 또는 사용자의 팔이 최대한 뻗을 수 있는 거리를 포함할 수 있다. 사용자에 대한 정보는 상술한 예에 한정되지 않으며, 전자 장치(101)의 사용과 관련된 사용자에 대한 다양한 정보를 포함할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 데이터 베이스에 기반하여, 사용자의 특성을 결정할 수 있다. 데이터 베이스는 하기의 표 1과 같은 형태로 저장될 수 있다.
Figure PCTKR2018013292-appb-I000001
표 1을 참조하면, 데이터 베이스는 식별된 입력 신호에 대응되는 사용자의 특성에 대한 정보를 포함할 수 있다. 예를 들면, 전자 장치(101)는 사용자의 어깨 위치를 나타내는 신호 및 사용자가 팔을 뻗은 위치를 나타내는 신호에 기반하여, 데이터 베이스 내에서 사용자의 신장에 대한 정보를 획득할 수 있다. 표 1은 사용자의 신장과 관련된 데이터 베이스의 일부를 예시한 것이며, 상술된 예에 한정되지 않는다.
다양한 실시 예들에서, 전자 장치(101)는 수학식에 기반하여, 사용자의 특성을 결정할 수 있다. 수학식에 대한 정보는 전자 장치(101)에 미리 저장될 수 있다. 전자 장치(101)는 하기 표 1에 포함된 수학식에 대한 정보와 입력 신호에 대한 정보에 기반하여 사용자의 특성을 결정할 수 있다.
Figure PCTKR2018013292-appb-I000002
표 1에서, HT는 사용자의 신장(height)일 수 있고, A는 사용자의 팔의 길이(arm span)일 수 있으며, H는 사용자의 손의 크기(hand size)일 수 있다. 다양한 실시 예들에서, 전자 장치(101)는 어깨의 위치에 대한 신호와 팔을 뻗은 위치에 대한 신호에 기반하여, 사용자의 어깨의 위치와 팔을 뻗은 위치를 식별할 수 있다. 전자 장치(101)는 어깨의 위치로부터 팔을 뻗은 위치까지의 거리를 결정함으로써 팔의 길이를 식별할 수 있다. 일부 실시 예들에서, 전자 장치(101)는 표1의 수학식들(수학식 1 내지 수학식 4)의 H, 즉, 사용자의 손의 크기를 특정 값(예: 15cm)으로 지정할 수 있다. 이러한 경우, 전자 장치(101)는 사용자의 팔의 길이를 식별하는 것에 기반하여, 수학식들을 통해 사용자의 신장을 결정할 수 있다. 본 명세서 상에서는 사용자의 신장을 계산하기 위한 수학식의 예를 설명하였으나, 이에 한정되지 않고, 사용자의 특성을 결정하기 위한 다양한 수학식 또는 알고리즘이 사용될 수 있다.
동작 411에서, 전자 장치(101)는 사용자의 특성에 대응되는 UI의 배치(arrangement)(또는 구성(configuration))를 결정할 수 있다. UI의 배치에 대한 정보는 사용자의 특성과 매핑(mapping)되어 전자 장치(101) 내에 저장되어 있을 수 있다. 전자 장치(101)는 저장된 정보를 식별하는 것에 기반하여, UI의 배치를 결정할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 서로 다른 배치 형태를 가지는 적어도 하나의 UI 배치 모드를 포함할 수 있다. UI 배치 모드는 사용자의 특성 별로 매핑되어 있을 수 있다. 전자 장치(101)는 동작 409를 통해 결정된 사용자의 특성에 매핑된 UI 배치 모드를 결정할 수 있다. 예를 들면, 전자 장치(101)는, 사용자의 신장이 150cm 이하인 경우, UI의 배치 모드를 제1 모드로 결정하고, 사용자의 신장이 150cm 초과 180cm 이하인 경우, UI의 배치 모드를 제2 모드로 결정하고, 180cm를 초과하는 경우, UI의 배치 모드를 제3 모드로 결정할 수 있다.
다양한 실시 예들에서, UI의 배치에 대한 정보는, 예를 들면, UI가 디스플레이 상에서 표시되는 범위, UI에 포함된 적어도 하나의 객체의 배치, 또는 UI에 포함된 적어도 하나의 객체의 크기에 대한 정보를 포함할 수 있다.
동작 413에서, 전자 장치(101)는 결정된 배치가 적용된 UI를 표시할 수 있다. 일부 실시 예들에서, 전자 장치(101)는 OOBE 모드에서 결정된 배치에 대한 정보를 저장함으로써, 전자 장치(101)의 기본적인 UI의 배치를 결정할 수 있다. 결정된 배치에 기반하여, 전자 장치(101)는 UI를 표시할 수 있다. 다른 일부 실시 예들에서, 전자 장치(101) 내에 미리 저장된 UI의 배치가 있는 경우, 전자 장치(101)는 결정된 배치에 기반하여, UI의 표시(또는 시야(field of view, FOV))를 조정할 수 있다. 전자 장치(101)는 UI를 표시함으로써 사용자 별로 최적화된 시야(field of view, FOV)를 제공할 수 있다.
도 5는 다양한 실시 예들에 따라 사용자 인터페이스를 최적화하기 위한 전자 장치의 동작의 예를 도시한다. 다양한 실시 예들에서, 동작 501 내지 동작 505는 도 4의 동작 405 내지 동작 409에 대응될 수 있다. 도 4에서 설명한 동작과 동일하거나 유사한 동작에 대한 설명은 생략될 수 있다.
도 5를 참조하면, 동작 501에서, 전자 장치(101)는 컨트롤러(301)로부터 사용자(예: 사용자(300))의 입력 신호를 수신할 수 있다. 다양한 실시 예들에서, 전자 장치(101)는, 사용자 입력을 가이드하기 위한 UI를 표시할 수 있다. 사용자 입력을 가이드하기 위한 UI는, 예를 들면, '어깨 위치에서 컨트롤러(301)의 트리거 버튼을 누르세요'라는 텍스트를 포함할 수 있다. 컨트롤러(301)는, 상기 표시된 UI에 포함된 가이드에 상응하는 상태에서 사용자 입력을 검출할 수 있다. 컨트롤러(301)는 상기 사용자 입력을 수신하는 것에 응답하여 전자 장치에게 상기 사용자 입력을 나타내는 신호(또는 상기 사용자 입력에 대한 정보)를 송신할 수 있다.
다양한 실시 예들에서, 컨트롤러(301)는 복수의 컨트롤러들을 포함할 수 있다. 예를 들면, 컨트롤러(301)는 왼손용 컨트롤러와 오른손용 컨트롤러를 포함할 수 있다. 사용자는 복수의 컨트롤러들 각각을 양손에 쥔 상태에서 복수의 컨트롤러들에 포함된 버튼을 누를 수 있다. 이러한 경우, 복수의 컨트롤러들 각각은, 상기 복수의 컨트롤러들 각각을 통해 검출된, 물리적 버튼에 대한 입력을 나타내는 신호를 전자 장치(101)에게 송신할 수 있다. 전자 장치(101)는 입력을 나타내는 신호를 컨트롤러(301)로부터 수신할 수 있다. 복수의 컨트롤러들 각각으로부터 사용자의 입력 신호를 수신할 수 있다.
동작 503에서, 전자 장치(101)는 수신된 사용자의 입력 신호를 식별할 수 있다. 전자 장치(101)는 수신된 사용자의 입력 신호가 나타내는 정보를 식별할 수 있다. 예를 들면, 전자 장치(101)는 수신된 사용자의 입력 신호가 사용자의 어깨 위치 또는 사용자의 팔을 뻗은 위치를 나타내는 신호인지 여부를 식별할 수 있다. 상기 식별은, 전자 장치(101) 또는 컨트롤러(301)에 포함된 적어도 하나의 센서(예: 가속도 센서, 각속도 센서, 자이로 센서, 또는 GPS 센서 등)에 기반하여 수행될 수 있다.
다양한 실시 예들에서, 사용자의 입력 신호가 복수인 경우, 전자 장치(101)는 복수의 신호들 각각을 식별함으로써 복수의 신호들이 나타내는 정보를 식별할 수 있다. 예를 들면, 전자 장치(101)는 복수의 컨트롤러들을 통해 양 팔을 뻗은 위치를 나타내는 복수의 신호들을 수신할 수 있다. 전자 장치(101)는 복수의 신호들을 식별함으로써, 왼쪽 팔을 뻗은 위치 및 오른쪽 팔을 뻗은 위치를 나타내는 복수의 신호들을 식별할 수 있다.
다양한 실시 예들에서, 동작 501과 동작 503은 반복될 수 있다. 일부 실시 예들에서, UI의 표시에 기반하여, 동작 501과 동작 503은 반복될 수 있다. 예를 들면, 사용자의 어깨 위치와 관련된 UI가 최초 표시되면, 동작 501과 동작 503이 수행될 수 있다. 그 후, 사용자의 팔을 뻗은 위치와 관련된 UI가 표시되면, 동작 501과 동작 503이 다시 반복될 수 있다.
동작 505에서, 전자 장치(101)는 사용자의 특성을 결정할 수 있다. 전자 장치(101)는 사용자의 입력 신호에 기반하여, 사용자의 특성을 결정할 수 있다. 예를 들면, 전자 장치(101)는 사용자의 입력 신호가 사용자의 왼쪽 팔을 뻗은 위치와 오른쪽 팔을 뻗은 위치를 나타내는 신호인 경우, 팔의 길이를 결정할 수 있다. 전자 장치(101)는 결정된 팔의 길이를 미리 저장된 수학식에 대입함으로써, 사용자의 신장을 결정할 수 있다.
동작 507에서, 전자 장치(101)는 사용자의 특성에 따라 앵커 포인트(anchor point)를 결정할 수 있다. 전자 장치(101)는 사용자의 특성에 따라 컨트롤러(301)의 앵커 포인트 또는 전자 장치(101)의 UI의 표시를 위한 앵커 포인트를 결정할 수 있다. 앵커 포인트는, UI의 표시를 위한 중심축을 포함할 수 있다. 앵커 포인트에 기반하여 전자 장치(101)는 UI의 표시를 위한 기준점을 결정할 수 있다. 전자 장치(101)는 결정된 기준점을 중심으로 UI를 표시하거나 UI를 조정(adjust)할 수 있다. 일부 실시 예들에서, 전자 장치(101)는 미리 지정된 앵커 포인트가 있는 경우, 결정된 사용자의 신장에 따라 앵커 포인트의 위치를 조정(또는 변경(change))할 수 있다. 다른 일부 실시 예들에서, 전자 장치(101)는 결정된 사용자의 신장에 따라 앵커 포인트의 기준 위치를 설정할 수 있다. 전자 장치(101)는 UI를 표시하는 경우, 앵커 포인트를 기준으로 UI 또는 UI에 포함된 객체들을 배치할 수 있다. 전자 장치(101)는 앵커 포인트를 z축 방향으로 이동함으로써 UI(또는 UI의 표시)를 조정할 수 있다.
다양한 실시 예들에서, 앵커 포인트는 사용자의 신장에 기반하여 변경될 수 있다. 예를 들면, 전자 장치(101)는 앵커 포인트를 z축 상에서 UI로부터 멀어지는 방향으로 또는 UI에 가까워지는 방향으로 변경할 수 있다. 일부 실시 예들에서, 전자 장치(101)는 기준 신장(default height)를 포함할 수 있다. 사용자의 신장이 기준 신장보다 긴 경우, 전자 장치(101)는 앵커 포인트가 UI로부터 멀어지도록 앵커 포인트의 위치를 조정(또는 변경)할 수 있다. 다른 일부 실시 예들에서, 전자 장치(101)는. 사용자의 신장이 기준 신장보다 짧은 경우, 전자 장치(101)는 앵커 포인트를 UI에서 가까워지는 방향으로 조정할 수 있다.
다양한 실시 예들에서 앵커 포인트의 조정 거리는 기준 신장과 사용자의 신장의 비율에 따라 결정될 수 있다. 예를 들면, 기준 신장이 1m이고 기준 앵커 포인트의 위치가 z축 상에서 1의 위치 경우, 사용자의 신장이 1.8m인 것에 대응하여, 전자 장치는 앵커 포인트를 1.8의 위치로 조정할 수 있다. 이때, z축에서 UI에서 멀어지는 방향이 +방향(플러스 방향)으로 설정될 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 앵커 포인트를 조절하기 위해 데이터 베이스 내에 각각의 신장에 대응되는 앵커 포인트 값을 미리 저장할 수 있다. 이러한 경우, 사용자의 신장이 결정되는 것에 기반하여, 전자 장치(101)는 앵커 포인트를 결정할 수 있다. 전자 장치(101)는 앵커 포인트를 결정하기 위해 다양한 방식을 사용할 수 있으며, 상술한 예에 한정되지 않는다.
동작 509에서, 전자 장치(101)는 UI를 표시할 수 있다. 전자 장치(101)는 결정된 앵커 포인트를 기준으로 UI를 조정(또는 조정하여 표시)할 수 있다. 예를 들면, UI의 앵커 포인트가 변경된 경우, 변경된 앵커 포인트를 중심으로 UI의 배치를 변경(또는 변경하여 표시)할 수 있다. UI의 배치를 변경함으로써, 전자 장치(101)는 사용자의 신장에 따라 UI의 표시(또는 시야(field of view, FOV))를 조정할 수 있다. 전자 장치(101)는 사용자 별로 UI를 조정함으로써, 사용자에 최적화된 UI를 제공할 수 있다. 전자 장치(101)는 앵커 포인트에 기반하여 UI를 효율적으로 조작할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 컨트롤러(301)의 입력을 나타내는 객체를 전자 장치(101)의 UI 상에 표시하기 위한 앵커 포인트를 변경할 수 있다. 앵커 포인트를 변경함으로써, 전자 장치(101)는 컨트롤러(301)의 입력에 대한 조작을 사용자 별로 설정할 수 있다.
도 6은 다양한 실시 예들에 따라 사용자의 특성(characteristic)을 결정하기 위한 사용자 인터페이스의 예를 도시한다. 다양한 실시 예들에서, 도 6은 전자 장치(101)와 연결된 컨트롤러(301)가 하나인 경우를 예시한다.
UI(601)은 전자 장치(101)의 실행 초기 화면(또는 OOBE 화면, 또는 설정 화면)일 수 있다. 전자 장치(101)는 처음 실행되는 경우, UI(601)를 표시하여, 초기 값들을 설정할 수 있다. 전자 장치(101)는 컨트롤러(301)와 연결된 상태에서 UI(601)를 표시할 수 있다. 컨트롤러(301)를 통해, 전자 장치(101)는 UI내에 포함된 신장 측정 항목에 대한 입력을 검출할 수 있다.
다양한 실시 예들에서, UI(601)는, 초기 설정을 위해 표시될 수 있다. 전자 장치(101)는 처음 실행되는 경우, UI(701)를 표시하여, 전자 장치(101)의 실행을 위한 초기 정보들(예: 사용자 계정 입력, 사용자 배경 설정, UI의 밝기 설정, 사용자 환경 설정 등)을 설정할 수 있다. 일부 실시 예들에서, UI(601)는, 전자 장치(101)의 설정을 위한 어플리케이션(application)(예: 설정 어플리케이션)이 개시되는 것에 기반하여 표시될 수 있다. 다른 일부 실시 예들에서, UI(601)는, 전자 장치(101)가 부팅(boot-up)되는 것에 대응하여 표시될 수 있다.
다양한 실시 예들에서, 신장 측정 항목에 대한 입력을 검출하는 것에 기반하여, 전자 장치(101)는 UI(603)를 표시할 수 있다. UI(603)는 컨트롤러(301)에 대한 사용자의 동작을 안내할 수 있다. 예를 들면, UI(603)는 '컨트롤러를 어깨에 대고 트리거 버튼을 누르세요'라는 텍스트를 포함할 수 있다. 컨트롤러(301)는, 사용자에 의해 그립된 상태에서, 트리거 버튼에 대한 사용자 입력을 검출할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는, UI(603)를 표시하는 중(또는 표시한 후)에, 컨트롤러(301)로부터 트리거 버튼을 누르는 사용자 입력에 대한 정보 또는 사용자 입력과 관련된 센서 값 중 적어도 하나을 수신할 수 있다. 전자 장치(101)는, 사용자 입력에 대한 정보 또는 사용자 입력과 관련된 센서 값 중 적어도 하나에 기반하여, 사용자의 어깨 위치를 식별할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 사용자의 입력을 수신하는 것에 대응하여, UI(605)를 표시할 수 있다. UI(605)는 사용자의 특성(예: 신체적 특성)을 결정하기 위해 요구되는 후속 동작을 가이드 하기 위해 이용될 수 있다. 후속 동작은, 예를 들면, 사용자의 어깨 위치에서 컨트롤러(301)의 물리적 버튼을 누르는 사용자의 동작, 또는 팔을 뻗은 상태에서 컨트롤러(301)의 물리적 버튼을 누르는 사용자의 동작을 포함할 수 있다. 예를 들면, UI(605)는 '팔을 앞으로 최대한 뻗은 후 트리거 버튼을 누르세요'라는 텍스트를 포함할 수 있다. 사용자는, UI(605)가 표시됨으로써, 사용자 동작 611과 같이 컨트롤러(301)를 손에 잡고 팔을 뻗은 상태에서 컨트롤러(301)에 포함된 버튼(예: 트리거 버튼)을 누르는 동작을 수행할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는, UI(605)를 표시하는 중(또는 표시한 후)에, 컨트롤러(301)로부터 트리거 버튼을 누르는 사용자의 입력을 수신할 수 있다. 사용자의 입력을 수신하는 것에 기반하여, 전자 장치(101)는 사용자의 팔을 뻗은 위치를 식별할 수 있다.
다양한 실시 예들에서, UI(603) 또는 UI(605)는 순서에 무관하게 표시될 수 있다. 예를 들면, UI(605)가 표시된 후, UI(605)에 관련된 입력을 수신하는 것에 기반하여, UI(603)이 표시될 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 사용자의 어깨 위치 및 사용자의 팔을 뻗은 위치에 기반하여 사용자의 팔의 길이를 결정할 수 있다. 예를 들면, 사용자의 어깨 위치와 사용자의 팔을 뻗은 위치 사이의 거리를 식별함으로써, 사용자의 팔의 길이를 결정할 수 있다. 전자 장치(101)는 결정된 사용자의 팔의 길이를 통해 사용자의 신장을 결정할 수 있다. 사용자의 신장을 결정하기 위해, 전자 장치(101)는 수학식(예: 표 1에 포함된 수학식1 내지 수학식4)을 이용하거나, 미리 저장된 정보를 이용할 수 있다. 사용자의 신장을 결정하기 위해 다양한 방식이 사용될 수 있으며, 상술한 예에 한정되지 않는다.
다양한 실시 예들에서, 전자 장치(101)는 사용자의 신장을 결정하는 것에 기반하여, UI를 표시하기 위한 정보로서 사용자의 신장에 대한 정보를 저장할 수 있다. 전자 장치(101)는 사용자의 신장에 대한 정보에 기반하여, 전자 장치(101)의 UI의 표시의 형태, UI의 배치, 또는 UI에 포함된 객체(object)를 결정할 수 있다. 예를 들면, 전자 장치(101)는 사용자의 신장에 대한 정보에 기반하여, 앵커 포인트를 조정할 수 있다. 조정된 앵커 포인트를 적용함으로써, 전자 장치(101)는 UI의 표시를 사용자에 최적화되도록 변경할 수 있다.
전자 장치(101)는 사용자의 신장에 대한 정보를 저장하는 것에 기반하여, UI(607)를 표시할 수 있다. UI(607)은 사용자의 신장에 대한 정보를 나타내는 텍스트를 포함할 수 있다. 예를 들면, UI(607) 는 '추정 신장을 130cm로 입력합니다'라는 텍스트를 포함할 수 있다. UI(607)이 표시되는 것에 기반하여, 전자 장치(101)의 최초 설정에 대한 신장 측정 동작이 종료될 수 있다. 전자 장치(101)는 UI의 표시를 위한 최초 설정을 종료할 수 있다. 실시 예에 따라, 전자 장치(101)는 설정을 위한 사용자의 입력을 수신하는 것에 기반하여, UI(601)를 표시할 수 있고, 이러한 경우, 도 6의 동작들이 반복하여 수행될 수 있다.
UI(603) 내지 UI(607) 내에는 사용자의 신장을 측정하기 위한 동작을 안내하는 다양한 텍스트가 포함될 수 있으며, 상술한 예에 한정되지 않는다.
도 7은 다양한 실시 예들에 따라 사용자의 특성을 결정하기 위한 사용자 인터페이스의 다른 예를 도시한다. 다양한 실시 예들에서, 도 7은 전자 장치(101)와 연결된 컨트롤러가 복수(예: 2개)인 경우를 예시한다. 복수의 컨트롤러들은 동일한 구성의 컨트롤러일 수 있다.
UI(701)은 전자 장치(101)의 초기 설정 화면(또는 OOBE 화면)의 예를 도시한다. 전자 장치(101)는 처음 실행되는 경우, UI(701)를 표시하여, 전자 장치(101)의 실행을 위한 초기 정보들(예: 사용자 계정 입력, 사용자 배경 설정, UI의 밝기 설정, 사용자 환경 설정 등)을 설정할 수 있다. 전자 장치(101)는 복수의 컨트롤러들과 연결된 상태에서 UI(701)을 표시할 수 있다. 전자 장치(101)는, 복수의 컨트롤러 중 적어도 하나를 통해, UI내에 포함된 신장 측정 항목에 대한 입력을 검출할 수 있다.
다양한 실시 예들에서, 신장 측정 항목에 대한 입력을 검출하는 것에 기반하여, 전자 장치(101)는 UI(703)을 표시할 수 있다. UI(703)는 '컨트롤러를 양 손에 들고 양 팔을 뻗은 후 각각의 트리거 버튼을 누르세요'라는 텍스트를 포함할 수 있다. 사용자는, UI(703)가 표시됨으로써, 사용자 동작 707과 같이 양 팔을 뻗은 후, 양팔에 들고 있는 컨트롤러 각각에 포함된 버튼(예: 트리거 버튼)을 누르는 동작을 수행할 수 있다. 복수의 컨트롤러들 각각은 사용자의 입력을 수신하는 것에 대응하여, 전자 장치(101)에게 사용자의 입력을 나타내는 신호(예: 입력 신호)를 송신할 수 있다. 전자 장치(101)는 수신된 입력 신호에 기반하여, 사용자의 양 팔의 길이를 결정할 수 있다. 예를 들면, 전자 장치(101)는 복수의 컨트롤러들을 통해 왼쪽 손을 뻗은 위치와 오른쪽 손을 뻗은 위치를 식별할 수 있다. 전자 장치(101)는 왼쪽 손과 오른쪽 손 사이의 거리를 식별함으로써 양 팔의 길이를 결정할 수 있다. 사용자의 신장을 결정하기 위해, 전자 장치(101)는 수학식(예: 표 1에 포함된 수학식1 내지 수학식4)을 이용하거나, 미리 저장된 정보를 이용할 수 있다. 사용자의 신장을 결정하기 위해 다양한 방식이 사용될 수 있으며, 상술한 예에 한정되지 않는다.
전자 장치(101)는 결정된 사용자의 신장에 대한 정보를 저장할 수 있다. 전자 장치(101)는 사용자의 신장에 대한 정보를 저장하는 것에 기반하여, UI(705)를 표시할 수 있다. UI(705)는 사용자의 신장에 대한 정보를 나타내는 텍스트를 포함할 수 있다. 예를 들면, UI(705)는 '추정 신장을 130cm로 입력합니다'라는 텍스트를 포함할 수 있다. UI(705)이 표시되는 것에 기반하여, 전자 장치(101)의 최초 설정에 대한 신장 측정 동작이 종료될 수 있다. 전자 장치(101)는 UI의 표시를 위한 최초 설정을 종료할 수 있다. 실시 예에 따라, 전자 장치(101)는 설정을 위한 사용자의 입력을 수신하는 것에 기반하여, UI(705)를 표시할 수 있고, 이러한 경우, 도 7의 동작들이 반복하여 수행될 수 있다.
UI(703) 내지 UI(705) 내에는 사용자의 신장을 측정하기 위한 동작을 안내하는 다양한 텍스트가 포함될 수 있으며, 상술한 예에 한정되지 않는다.
도 8은 다양한 실시 예들에 따라 사용자 인터페이스의 최적화를 위한 앵커 포인트를 설정하는 예를 도시한다.
도 8을 참조하면, 전자 장치(101)는 복수의 컨트롤러(301)와 연결될 수 있다. 전자 장치(101)는 컨트롤러(301)의 입력을 나타내는 객체를 UI에 표시하기 위한 앵커 포인트(801, 803)를 조정할 수 있다.
다양한 실시 예들에서, 전자 장치(101)의 앵커 포인트는 기본 값(default value)을 가질 수 있다. 앵커 포인트는, 예를 들면, 기준 신장 또는 기준 팔의 길이에 따른 기본 값을 가질 수 있다. 기본 값은 앵커 포인트의 위치에 대한 값을 포함할 수 있다. 전자 장치(101)는 사용자의 특성(예: 사용자의 신장, 사용자의 팔의 길이)을 식별하는 것에 기반하여, 앵커 포인트를 조정할 수 있다. 조정된 앵커 포인트는 사용자의 특성에 기반하여 최적화된(또는 적응적으로 결정된) 앵커 포인트일 수 있다.
다양한 실시 예들에서, UI(805)는 미리 지정된 앵커 포인트(801)에 기반하여 표시되는 UI의 예를 도시한다. 앵커 포인트(801)는 사용자의 기준 팔의 길이를 a라고 지정하는 것에 대응하여 결정된 것일 수 있다. 사용자의 팔의 길이가 기준 팔의 길이보다 긴 경우(또는 사용자의 신장이 기준 신장보다 긴 경우), 전자 장치(101)는 앵커 포인트(801)를 조정할 수 있다. UI(807)는 조정된 앵커 포인트(803)에 기반하여 표시되는 UI의 예를 도시한다. UI(807)는 사용자의 팔의 길이가 b로 결정된 경우, 앵커 포인트(801)가 조정되는 것에 기반하여 표시되는 UI를 포함할 수 있다. 앵커 포인트(801)가 조정되는 것에 기반하여, 컨트롤러(301)의 조정 범위가 변경될 수 있다. 예를 들면, 앵커 포인트 변경 전과 변경 후의 컨트롤러의 조정 각도가 동일한 각도일 지라도, 컨트롤러가 포인팅하는 객체가 달라질 수 있다.
다양한 실시 예들에서, 사용자의 팔의 길이(a, b)에 따라 앵커 포인트가 조정됨으로써 전자 장치(101)는 사용자 별로 컨트롤러(301)를 최적화할 수 있다. 최적화를 통해, 전자 장치(101)는 사용자에게 전자 장치(101) 또는 컨트롤러(301)의 사용성(usability)을 향상시킬 수 있다.
도 9는 다양한 실시 예들에 따라 사용자 인터페이스를 최적화 하기 위한 전자 장치의 동작의 다른 예를 도시한다.
도 9를 참조하면, 동작 901에서, 전자 장치(101)는 컨트롤러(301)로부터 전자 장치(101)에 표시된 기준점에 대한 입력 신호를 수신할 수 있다. 전자 장치(101)는 사용자의 특성(예: 사용자의 입력 범위)을 결정하기 위해 전자 장치에 하나 이상의(one or more) 기준점들을 표시할 수 있다. 하나 이상의 기준점들을, 예를 들면, 3D 환경의 임의의 직사각형 영역에 포함된 꼭지점들일 수 있다. 다른 예를 들면, 하나 이상의 기준점들은, 3D 환경 내의 임의의 원을 나타내는 복수 개의 기준 점들일 수 있다. 전자 장치(101)는, 컨트롤러(301)를 통해 표시된 하나 이상의 기준점들에 대한 사용자의 입력을 검출할 수 있다. 예를 들면, 전자 장치(101)는 하나 이상의 기준점들을 포인팅(pointing)(또는 클릭(click))하는 컨트롤러의 입력 신호를 수신할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 컨트롤러(301)를 이용하여 하나 이상의 기준점들을 포인팅 하는 사용자의 동작(또는 움직임)에 대한 데이터를 측정 또는 획득할 수 있다. 전자 장치(101)는, 컨트롤러(301) 또는 전자 장치(101)에 포함된 적어도 하나의 센서를 통해 사용자의 동작(또는 움직임)에 대한 데이터를 측정 또는 획득할 수 있다. 예를 들면, 전자 장치(101)는 기준점을 포인팅하는 경우의 컨트롤러의 위치에 대한 정보를 획득할 수 있다.
동작 903에서, 전자 장치(101)는 수신된 입력 신호를 식별함으로써 사용자의 입력 범위를 결정할 수 있다. 사용자의 입력 범위는, 사용자의 특성(예: 신체적 특성)에 기반하여 결정될 수 있다. 사용자의 입력 범위는, 사용자가 입력을 야기할 수 있는 범위를 나타낼 수 있다. 예를 들면, 사용자의 입력 범위는 사용자의 팔이 뻗을 수 있는 범위일 수 있다. 일 실시 예에서, 전자 장치(101)는 입력 신호가 컨트롤러의 위치에 대한 정보를 포함하는 경우, 컨트롤러가 이동 가능한 영역(area)을 식별함으로써 사용자의 입력 범위를 결정할 수 있다. 사용자의 입력 범위는 컨트롤러(301)를 통해 사용자의 입력이 검출 될 수 있는 범위를 포함할 수 있다.
동작 905에서, 전자 장치(101)는 결정된 입력 범위에 따라 UI의 배치(arrangement)를 결정할 수 있다. 일부 실시 예들에서, 전자 장치(101)는 결정된 입력 범위 내에 UI가 표시되도록 UI의 배치를 결정할 수 있다. 다른 일부 실시 예들에서, 전자 장치(101)는 결정된 입력 범위 내에 UI에 포함된 객체가 표시되도록 객체의 배치를 결정할 수 있다. 객체는 입력을 수신하기 위해 구성된 객체일 수 있다. 일부 실시 예들에서, 객체는 입력을 수신하는 것에 기반하여 실행 가능한 객체일 수 있다. 예를 들면, 객체는 지정된 어플리케이션을 나타내는 아이콘일 수 있다. 객체에 대한 입력을 수신하는 것에 기반하여 지정된 어플리케이션이 실행될 수 있다. 다른 일부 실시 예들에서, 객체는 이미지(image), 아이콘(icon), 텍스트(text), 또는 비디오(video) 등 다양한 종류의 컨텐츠로 구성될 수 있다. 또 다른 일부 실시 예들에서, 객체는 다양한 종류의 컨텐츠를 포함하는 윈도우(window)를 지칭할 수 있다.
동작 907에서, 전자 장치(101)는 UI를 표시할 수 있다. 전자 장치(101)는 결정된 UI의 배치 또는 결정된 객체의 배치에 기반하여, UI를 표시할 수 있다. 다양한 실시 예들에서, 표시된 UI는 사용자 별로 최적화된 UI일 수 있다. 전자 장치(101)는 사용자의 편의성, 용이성 또는 사용성이 증가된 UI를 제공할 수 있다.
도 10은 다양한 실시 예들에 따라 사용자의 특성을 결정하기 위한 사용자 인터페이스의 다른 예를 도시한다.
도 10을 참조하면, 전자 장치(101)는 사용자의 입력 범위를 결정하기 위한 UI의 예를 도시한다. UI(1001)는 전자 장치(101)의 초기 설정 화면(또는 OOBE 화면)의 예를 도시한다. UI(1001)는 UI(701)에서 입력 범위 측정을 위한 항목(또는 메뉴)를 더 포함할 수 있다. 전자 장치(101)는, 컨트롤러(301)를 통해 입력 범위 측정을 위한 항목에 대한 입력을 검출하는 것에 기반하여, UI(1003)을 표시할 수 있다.
UI(1003)는 입력 범위 측정을 위한 동작의 시작을 나타내기 위한 텍스트를 포함할 수 있다. 예를 들면, UI(1003)는 '컨트롤러의 입력 영역을 직접 설정합니다'라는 텍스트를 포함할 수 있다. 일부 실시 예들에서, 전자 장치(101는 UI(1003)이 표시되는 동안 임의의 입력(예: 컨트롤러의 임의의 버튼을 누르는 입력)을 수신하는 경우, UI(1005) 또는 UI(1007)을 표시할 수 있다.
UI(1005)는 사용자의 오른쪽 팔에 관련된 입력 범위를 결정하기 위한 사용자의 입력을 안내하는 UI를 포함할 수 있다. UI(1005)는, 예를 들면, '오른쪽 손에 컨트롤러를 쥐고 화면에 나타나는 점을 각각 포인팅 하면서 트리거 버튼을 눌러주세요'라는 텍스트를 포함할 수 있다.
다양한 실시 예들에서, 컨트롤러(301)는 UI(1005)에 포함된 각각의 점들을 포인팅할 때마다 트리거 버튼을 누름으로써, 전자 장치(101)에게 사용자의 입력을 나타내는 입력 신호를 송신할 수 있다.
UI(1007)는 사용자의 왼쪽 팔에 관련된 입력 범위를 결정하기 위한 사용자의 입력을 안내하는 UI를 포함할 수 있다. UI(1007)는, 예를 들면, '오른쪽 손에 컨트롤러를 쥐고 화면에 나타나는 점을 각각 포인팅 하면서 트리거 버튼을 눌러주세요'라는 텍스트를 포함할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 적어도 하나의 센서를 포함할 수 있으며, 적어도 하나의 센서를 통해 컨트롤러(301)의 이동 범위, 이동 거리, 또는 움직임을 식별할 수 있다. 식별에 기반하여, 전자 장치(101)는 사용자의 입력 신호가 나타내는 사용자의 입력 범위를 결정할 수 있다. 사용자의 입력 범위는 사용자의 손이 닿을 수 있는 최대 거리들을 포함하는 영역일 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 복수의 컨트롤러들이 연결될 수 있다. 복수의 컨트롤러들이 연결된 경우, 전자 장치(101)는 UI(1005)가 표시되는 경우, 오른손에 대해 지정된 컨트롤러의 입력을 수신할 수 있다. 전자 장치(101)는 UI(1007)가 표시되는 경우, 왼손에 대해 지정된 컨트롤러의 입력을 수신할 수 있다. UI(1005)와 UI(1007)은 순서에 무관하게 표시될 수 있다.
UI(1003) 내지 UI(1007) 내에는 사용자의 입력 범위를 측정하기 위한 동작을 안내하는 다양한 텍스트가 포함될 수 있으며, 상술한 예에 한정되지 않는다.
도 11은 다양한 실시 예들에 따라 최적화되는 사용자 인터페이스의 예를 도시한다.
도 11을 참조하면, UI(1101)는 기본 UI의 설정에 기반하여 표시되는 UI를 포함할 수 있다. UI(1103)는 다양한 실시 예들에 따른 전자 장치를 통해 사용자에 최적화된 UI를 포함할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 UI의 표시를 위한 기본 설정을 포함할 수 있다. 기본 설정에 기반하여, 전자 장치(101)는 UI를 표시할 수 있다. 이러한 경우, 객체는 전자 장치(101)의 고정적으로 지정된 위치에 표시될 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 최적화 과정을 통해, UI의 표시를 변경할 수 있다. 변경된 UI는 UI(1103)에 대응될 수 있으며, UI(1101)에 표시되던 객체의 위치는 변경될 수 있다.
다양한 실시 예들에서, UI는 사용자의 특성에 기반하여 변경될 수 있다. 일부 실시 예들에서, 사용자의 신장이 기준 신장보다 큰 경우, 전자 장치(101)는 객체를 중심축에서 더 먼 위치에 배치할 수 있다. 다른 일부 실시 예들에서, 사용자의 신장이 기준 신장보다 작은 경우, 전자 장치(101)는 객체를 중심축에서 더 가까운 위치에 배치할 수 있다. UI(1103)의 사용자의 신장은 기준 신장보다 작을 수 있다. 이러한 경우, UI(1103)과 같이, 객체는 UI(1101)보다 중심축에서 더 가까운 위치에 배치될 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 VR 환경에서, 표시되는 UI를 x축, y축, 또는 z축 중 적어도 하나의 축에 대해 조정할 수 있다. 예를 들면, 디스플레이의 중심점을 (x,y,z)=(0,0,0)이라고 설정한 경우, UI(1101)의 객체(1102)가 직교 좌표계(rectangular coordinate system) 상의 임의의 위치인 (x,y,z)=(30.30.30)에 표시될 수 있다. 전자 장치(101)는 사용자의 특성에 기반하여, UI(1103)의 객체(1104)를 (x,y,z)=(10.10.10)에 표시되도록 할 수 있다. 조정을 통해, 전자 장치(101)의 사용자는 조정된 영역 내에서 VR을 체험할 수 있다. 조정된 영역은 사용자의 특성(예: 팔의 길이, 신장)에 최적화된 영역일 수 있다.
도 12는 다양한 실시 예들에 따라 컨트롤러와 관련된 사용자 인터페이스를 최적화 하기 위한 전자 장치의 동작의 예를 도시한다.
도 12를 참조하면, 동작 1201에서, 전자 장치(101)는 컨트롤러(301)로부터 손목의 가동 범위에 대한 입력 신호를 수신할 수 있다. 손목의 가동 범위는, 팔의 위치를 고정시켜둔 상태에서 손목이 움직일 수 있는 범위를 포함할 수 있다. 전자 장치(101)는 컨트롤러(301)에 포함된 적어도 하나의 센서(예: 각속도 센서, 가속도 센서)에 기반하여 컨트롤러의 움직임을 식별할 수 있다.
동작 1203에서, 전자 장치(101)는 컨트롤러(301)의 세부 입력 범위를 결정할 수 있다. 컨트롤러(301)의 세부 입력 범위는 전자 장치(101) 사용자의 손목이 움직일 수 있는 범위를 포함할 수 있다. 전자 장치(101)는 컨트롤러의 움직임을 식별하는 것에 기반하여, 컨트롤러(301)의 세부 입력 범위를 결정할 수 있다.
동작 1205에서, 전자 장치(101)는 동작 1203을 통해 결정된 세부 입력 범위에 기반하여, 컨트롤러(301)와 관련된 UI의 배치를 결정할 수 있다. 전자 장치(101)는 세부 입력 범위 내에 컨트롤러(301)와 관련된 UI가 표시하기 위해 컨트롤러(301)와 관련된 UI의 배치를 결정할 수 있다. 컨트롤러(301)와 관련된 UI는, 예를 들면, 컨트롤러(301)와 관련된 컨텐츠 또는 메뉴 등을 포함할 수 있다. 컨트롤러(301)와 관련된 컨텐츠 또는 메뉴는 컨트롤러(301)의 회전에 기반하여 입력이 검출되도록 설정된 객체일 수 있다.
다양한 실시 예들에서, 컨트롤러(301)와 관련된 UI가 미리 지정되어 있는 경우, 전자 장치(101)는 컨트롤러(301)와 관련된 UI가 결정된 세부 입력 범위에 포함되도록, 컨트롤러(301)와 관련된 UI의 배치를 변경할 수 있다. 예를 들면, 전자 장치(101)는 컨트롤러(301)와 관련된 UI내에서 10cm 간격으로 떨어져서 표시되는 아이콘들의 간격을 5cm로 변경하여 세부 입력 범위 내에서 표시하도록 결정할 수 있다.
동작 1207에서, 전자 장치(101)는 결정된 컨트롤러(301)와 관련된 UI의 배치에 기반하여, UI를 표시할 수 있다. 전자 장치(101)는 컨트롤러(301)와 관련된 UI를 표시하는 경우, 동작 1205의 결정에 기반하여 컨트롤러(301)와 관련된 UI를 표시할 수 있다.
도 13은 다양한 실시 예들에 따라 컨트롤러와 관련된 사용자의 특성을 결정하기 위한 사용자 인터페이스의 예를 도시한다.
도 13을 참조하면, UI(1301)는 컨트롤러(301)의 세부 입력 영역을 결정하기 위해 표시되는 UI를 포함할 수 있다. UI(1301)는 왼손의 왼쪽 회전에 대한 컨트롤러(301)의 세부 입력 영역을 결정하기 위해 표시되는 UI일 수 있다. UI(1301)는 '왼손에 컨트롤러를 쥐고 앞으로 뻗으세요. 그리고 왼쪽으로 손목을 돌린 후 트리거 버튼을 눌러보세요.'라는 사용자의 동작을 안내하기 위한 텍스트를 포함할 수 있다.
전자 장치(101)는 UI(1301)의 표시에 대응하여, 사용자의 입력이 수신되는 경우, UI(1303)을 표시할 수 있다. UI(1303)는 컨트롤러(301)의 세부 입력 영역을 결정하기 위해 표시되는 UI를 포함할 수 있다. UI(1303)는 왼손의 오른쪽 회전에 대한 컨트롤러(301)의 세부 입력 영역을 결정하기 위해 표시되는 UI일 수 있다. UI(1303)는 '오른쪽으로 손목을 돌린 후 트리거 버튼을 눌러보세요.'라는 사용자의 동작을 안내하기 위한 텍스트를 포함할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 복수의 컨트롤러들과 연결될 수 있다. 전자 장치(101)가 2개의 컨트롤러와 연결된 경우, 전자 장치(101)는 오른손에 대한 컨트롤러의 세부 입력 범위를 결정하기 위한 UI를 더 표시할 수 있다.
전자 장치(101)는 컨트롤러(301)의 세부 입력 범위에 대한 사용자의 입력을 수신하는 것에 기반하여 UI(1305)를 표시할 수 있다. UI(1305)는 세부 입력 범위를 결정하기 위한 측정이 완료되었음을 안내하기 위한 UI를 포함할 수 있다. UI(1305)는 '측정완료. 컨트롤러의 입력 영역을 조정하는 중'이라는 텍스트를 포함할 수 있다.
입력 범위(1307)를 참조하면, UI(1305)가 표시되는 동안, 전자 장치(101)는 컨트롤러(301)와 관련된 세부 입력 범위를 영역(1309)에서 영역(1311)로 조정할 수 있다. 세부 입력 범위는 컨트롤러(301)의 요(yaw), 피치(pitch), 또는 롤(roll)의 회전 축을 기준으로, 컨트롤러(301)의 움직임을 식별함으로써 조정될 수 있다. 이동 방향이 x축 방향인 경우, 요의 회전축은 z축(또는 중력 방향의 축), 피치의 회전축은 y축, 롤의 회전 축은 x축일 수 있다. 영역(1311)은 상술한 동작들을 통해 결정된 세부 입력 범위에 대응될 수 있다. 영역(1311)은 사용자의 손목의 가동 범위에 기반하여 최적화된 입력 범위에 대응될 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 컨트롤러(301)의 입력 범위를 측정함으로써 컨트롤러(301)의 입력에 대한 오차 범위를 식별할 수 있다. 예를 들면, 컨트롤러(301)의 영역(1311)은 전자 장치(101)의 UI에 대한 컨트롤러(301)의 입력에 대한 오차 범위에 대응될 수 있다.
UI(1301) 내지 UI(1305) 내에는 사용자의 손목의 가동 범위를 측정하기 위한 동작을 안내하는 다양한 텍스트가 포함될 수 있으며, 상술한 예에 한정되지 않는다.
도 14는 다양한 실시 예들에 따라 컨트롤러와 관련하여 최적화되는 사용자 인터페이스의 예를 도시한다.
도 14를 참조하면, 전자 장치(101)는 컨트롤러(301)와 관련된 UI(1401)를 표시할 수 있다. UI(1401)는 컨트롤러(301)를 움직이는 것에 기반하여 하나 이상의 아이콘들을 표시할 수 있다. 하나 이상의 아이콘들의 주변에는 아이콘들에 대한 설명 또는 아이콘들의 이름이 표시될 수 있다. 하나 이상의 아이콘들 중 선택된 하나의 아이콘(1405)은 강조하여 표시됨으로써, 선택되었음을 나타낼 수 있다. 아이콘(1405)을 강조하기 위해, 나머지 아이콘들과 다르게 표시되는 다양한 방법이 사용될 수 있으며, 도시한 예에 한정되지 않는다.
다양한 실시 예들에서, 하나 이상의 아이콘들 중 하나의 아이콘를 선택하기 위한 컨트롤러(301)의 입력은 다양한 방식이 사용될 수 있다. 예를 들면, 컨트롤러(301)는 요(yaw), 피치(pitch), 또는 롤(roll)의 회전 축에 기반하여 회전하는 동작을 아이콘을 선택할 수 있다. 다른 예를 들면, 컨트롤러(301)에 포함된 터치 패드에 대한 사용자의 입력을 검출하는 것에 기반하여, 전자 장치(101)는 하나의 아이콘을 선택할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 컨트롤러(301)의 세부 입력 범위를 검출하는 것에 기반하여, UI(1401)을 UI(1403)로 변경하여 표시할 수 있다. UI(1403)은 세부 입력 범위 내에 하나 이상의 아이콘들이 표시되도록 조정(또는 재배치)된 UI일 수 있다.
도시하지는 않았으나, 전자 장치(101)는 컨트롤러(301)의 세부 입력 범위를 검출하는 것에 기반하여, 하나 이상의 아이콘들의 크기를 조정함으로써 세부 입력 범위 내에 하나 이상의 아이콘들이 표시되도록 조정할 수 있다. 예를 들면, 전자 장치(101)는 하나 이상의 아이콘들의 크기를 작게 하여, 하나 이상의 아이콘들이 표시되는 영역을 조정할 수 있다.
도 15는 다양한 실시 예들에 따라 표시되는 사용자 인터페이스의 예를 도시한다. 후술되는 UI는, VR 환경과 관련된 UI를 포함할 수 있다.
도 15를 참조하면, 전자 장치(101)는 UI(1501)를 표시할 수 있다. UI(1501)는 지정된 위치에 고정적으로 표시되는 하나 이상의 객체들을 포함할 수 있다. 다양한 실시 예들에서, 동일한 UI(1501)에 대해서, 사용자의 특성에 따라 보이는 형태가 달라질 수 있다. 신장이 작은 사용자(1503)(예: 어린이)는 아래에서 위를 바라보는 형태로 UI를 인식할 수 있다. 신장이 큰 사용자(1505)(예: 어른)의 경우는 위에서 아래를 바라보는 형태로 UI를 인식할 수 있다. 예를 들면, 사용자(1503)는 도 16의 UI(1601)이 표시되는 것으로 인식할 수 있고, 사용자(1505)는 도 16의 UI(1605)가 표시되는 것으로 인식할 수 있다.
도 16는 다양한 실시 예들에 따라 사용자에 최적화되어 표시되는 사용자 인터페이스의 예를 도시한다. 후술되는 UI들은, VR 환경과 관련된 UI를 포함할 수 있다.
다양한 실시 예들에서, UI(1601)와 UI(1603)는 신장이 작은 사용자가 바라보는 UI를 포함할 수 있다. 전자 장치(101)는 신장이 작은 사용자의 특성(예: 신장, 입력 범위, 손목의 가동범위 등)에 기반하여, UI(1601)의 표시(또는 시야(field of view, FOV))를 조정할 수 있다. 전자 장치(101)는 UI(1601)의 객체들이 표시되는 위치를 조정하는 것에 기반하여, UI(1603)을 표시할 수 있다. 예를 들면, 전자 장치(101)는 UI(1601)의 객체들이 표시되는 위치를 아래쪽으로 특정 거리만큼 이동된 위치에서 표시되도록 조정할 수 있다. 이를 통해, 전자 장치(101)의 사용자는 정면에서 바라보는 형태로 UI를 인식할 수 있다. UI(1603)은 조정에 기반하여, 사용자가 바라보는 UI의 형태일 수 있다.
다양한 실시 예들에서, UI(1605)와 UI(1607)는 신장이 큰 사용자가 바라보는 UI를 포함할 수 있다. 전자 장치(101)는 신장이 큰 사용자의 특성(예: 신장, 입력 범위, 손목의 가동범위 등)에 기반하여, UI(1605)의 표시(또는 시야(field of view, FOV))를 조정할 수 있다. 전자 장치(101)는 UI(1605)의 객체들이 표시되는 위치를 조정하는 것에 기반하여, UI(1607)을 표시할 수 있다. 예를 들면, 전자 장치(101)는 UI(1605)의 객체들이 표시되는 위치를 위쪽으로 특정 거리만큼 이동된 위치에서 표시되도록 조정할 수 있다. 이를 통해, 전자 장치(101)의 사용자는 정면에서 바라보는 형태로 UI를 인식할 수 있다. UI(1607)는 조정에 기반하여, 사용자가 바라보는 UI의 형태일 수 있다.
도 17은 다양한 실시 예들에 따라 사용자에 최적화되어 표시되는 사용자 인터페이스 다른 예를 도시한다.
도 17을 참조하면, 전자 장치(101)는 멀리 나타나는 UI(1701)을 사용자의 특성에 기반하여, 가까운 위치에 나타나도록 조정하여 표시할 수 있다. 전자 장치(101)는 UI(1701)의 배치 또는 UI(1701)에 포함된 객체들의 배치를 조정함으로써, UI(1703)을 표시할 수 있다. UI(1703)의 객체들은 UI(1701)의 객체들보다 확대된 크기로 표시될 수 있다.
다양한 실시 예들에서, 도 17은, VR 환경의 UI일 수 있다. 이러한 경우, 도 17은 사용자의 2개의 눈 중 하나의 눈에 대한 예시일 수 있다. 전자 장치(101)는 UI(1701)에 상응하고, 사용자의 다른 하나의 눈의 시점을 위한 UI를 더 표시할 수 있다. 예를 들면, 전자 장치(101)는 왼쪽 눈의 시점(view position 또는 view direction)과 오른쪽 눈의 시점 각각에 대한 UI를 표시할 수 있다. 일부 실시 예들에서, 전자 장치(101)는 왼쪽 눈의 시점(view position 또는 view direction)과 오른쪽 눈의 시점 각각에 대한 UI를 VR을 제공하기 위한 어플리케이션을 통해 제공할 수 있다. 전자 장치(101)는 VR을 제공하기 위한 어플리케이션을 이용하여 다른 어플리케이션의 화면(예: 사진 어플리케이션, 게임 어플리케이션)을 3D 화면 안에 포함하여 랜더링(rendering)할 수 있다.
도 18은 다양한 실시 예들에 따라 표시되는 사용자 인터페이스의 다른 예를 도시한다.
도 18을 참조하면, 전자 장치(101)는 특정한 공간에 대해 다양한 시야의 제공이 필요한 어플리케이션이 포함될 수 있다. 예를 들면, 전자 장치(101)는 인테리어가 집에 어떻게 적용되었는지를 나타내기 위한 인테리어 어플리케이션을 포함할 수 있다. 다른 예를 들면, 전자 장치(101)는 쇼핑 어플리케이션을 포함할 수 있다. 쇼핑 어플리케이션을 통해, 전자 장치(101)는 사용자가 구입하고자 하는 가구를 사용자의 집의 구조 또는 인테리어에 적용시킨 UI를 제공할 수 있다. 사용자의 신장에 따라 바라보는 시야가 다른 것에 기반하여 사용자에게 정보를 제공할 수 있기 때문에, 전자 장치(101)는 사용자의 신장에 대응되는 UI(또는 시야)를 제공할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 실행된 어플리케이션이 사용자 별로 다른 시야를 요구하는 어플리케이션인지 여부를 식별할 수 있다. 실행된 어플리케이션이 사용자 별로 다른 시야를 요구하는 경우, 전자 장치(101)는 미리 결정된 사용자의 특성(예: 사용자의 신장, 사용자의 팔의 길이 등)을 식별하거나, 사용자의 특성을 결정하기 위한 적어도 하나의 동작들(예: 도 4의 동작들)을 수행할 수 있다. 전자 장치(101)는 사용자의 특성에 기반하여 UI의 표시를 조정할 수 있다. 전자 장치(101)는 예를 들면, 신장이 큰 사용자(1801)의 경우, 전자 장치(101)는 위쪽에서 내려다보는 UI(또는 시야)(1801)를 제공할 수 있다. 다른 예를 들면, 신장이 작은 사용자(1804)의 경우, 전자 장치(101)는 아래쪽에서 올려다보는 UI(또는 시야)(1803)를 제공할 수 있다. 상술한 도 18의 UI는 VR 환경에서 표시 가능한 UI일 수 있다.
도 19는 다양한 실시 예들에 따라 사용자의 특성에 기반하여 표시되는 객체의 예를 도시한다.
도 19를 참조하면, 전자 장치(101)는 캐릭터 어플리케이션(또는 아바타(avartar) 어플리케이션)을 실행하는 것에 기반하여, 사용자를 나타내는 캐릭터를 생성할 수 있다. 캐릭터 어플리케이션과 관련하여, 전자 장치(101)는 기본 캐릭터(1901)에 대한 정보를 미리 저장하고 있을 수 있다. 전자 장치(101)는 캐릭터 어플리케이션을 실행하는 것에 기반하여, 사용자의 특성을 식별할 수 있다. 일부 실시 예들에서, 사용자의 특성에 대한 정보가 저장되어 있는 경우, 저장된 정보에 기반하여 사용자의 특성을 식별할 수 있다. 다른 일부 실시 예들에서, 사용자의 특성에 대한 정보가 저장되어 있지 않은 경우, 캐릭터 어플리케이션을 실행하는 것에 기반하여 사용자의 특성을 결정하기 위한 적어도 하나의 동작들(예: 도 4의 동작들)을 수행할 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 사용자의 특성에 기반하여, 기본 캐릭터(1901)의 크기 등을 변경할 수 있다. 예를 들면, 기본 캐릭터(1901)의 신장에 대한 정보와 사용자의 신장에 대한 정보를 비교하여, 사용자의 특성이 반영된 캐릭터(1903)를 생성할 수 있다. 다른 예를 들면, 기본 캐릭터(1901)의 신장에 대한 정보와 사용자의 신장에 대한 정보를 비교하여, 기본 캐릭터(1901)를 사용자의 특성이 반영된 캐릭터(1903)로 변경할 수 있다.
다양한 실시 예들에서, 상술한 도 19의 캐릭터는 VR 환경에서 표시 가능한 VR 객체(또는 3D 객체)일 수 있다. 도 19에서는, 캐릭터를 예시하였으나, 다양한 컨텐츠, 객체, 또는 아이콘 등도 사용자의 특성에 기반하여 재배치, 재설정, 재생성, 또는 재조정 될 수 있다.
다양한 실시 예들에서, 전자 장치(101)는 사용자의 특성에 기반하여, 건강 관리를 위한 어플리케이션(예: 건강 어플리케이션)에 사용자의 정보를 저장할 수 있다. 전자 장치(101)는 저장된 정보에 기반하여, 신장의 영향을 받는 수치에 대한 정보를 측정할 수 있다. 예를 들면, 신장의 영향을 받는 수치는 사용자가 소모한 칼로리 또는 표준 체중일 수 있다. 일부 실시 예들에서, 전자 장치(101)는 사용자의 신장에 대한 정보에 기반하여, 사용자의 보폭을 결정할 수 있다. 결정된 사용자의 보폭에 기반하여, 사용자가 소모한 칼로리를 결정할 수 있다. 사용자가 소모한 칼로리는 사용자의 보폭과 사용자의 걸음의 수에 기반하여 결정될 수 있다. 다른 일부 실시 예들에서, 전자 장치(101)는 사용자의 신장에 대한 정보에 기반하여 표준 체중을 결정할 수 있다. 예를 들면, 전자 장치(101)는 신장에서 100을 뺀 값에 0.9를 곱한 값을 표준 체중으로 결정할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: read only memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: electrically erasable programmable read only memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: compact disc-ROM), 디지털 다목적 디스크(DVDs: digital versatile discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WLAN(wide LAN), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 전자 장치(electronic device)에 있어서,
    명령어들을 저장하는 메모리(memory)와,
    통신 인터페이스(communication interface)와,
    상기 통신 인터페이스 및 상기 메모리와 연결된 적어도 하나의 프로세서(processor)를 포함하고, 상기 적어도 하나의 프로세서는,
    외부 전자 장치 내에서 사용자의 입력(input)을 검출하는 것에 응답하여, 상기 외부 전자 장치로부터 송신되고 상기 전자 장치 및 상기 외부 전자 장치와 관련된 사용자의 특성(characteristic)을 결정하기 위한 적어도 하나의 신호를 수신하고,
    상기 적어도 하나의 신호에 기반하여, 상기 사용자를 위한 시야(field of view, FOV)를 결정하고, 및
    상기 결정된 시야에 기반하여, VR(virtual reality)를 위한 컨텐츠(content)를 표시하기 위해 상기 저장된 명령어들을 실행하도록 설정되는 전자 장치.
  2. 청구항 1에 있어서, 상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 신호가 제1 신호와 제2 신호를 포함하는 경우, 상기 제1 신호가 수신된 위치와 상기 제2 신호가 수신된 위치의 거리(distance)를 식별하고, 및
    상기 식별된 거리에 기반하여, 상기 사용자의 특성을 결정하기 위해 상기 저장된 명령어들을 실행하도록 더 설정되는 전자 장치.
  3. 청구항 2에 있어서, 상기 적어도 하나의 프로세서는,
    상기 식별된 거리에 대한 정보에 매핑(mapping)되어 미리 저장되어 있는 값을 사용자의 특성으로 결정하기 위해 상기 저장된 명령어들을 실행하도록 더 설정되는 전자 장치.
  4. 청구항 1에 있어서,
    상기 사용자의 특성은, 사용자의 신장, 사용자의 팔의 길이, 사용자의 양 팔의 폭, 사용자의 입력 범위, 또는 사용자의 손목의 가동 범위 중 적어도 하나를 포함하는 전자 장치.
  5. 청구항 1에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 신호에 기반하여, 상기 외부 전자 장치와 관련된 사용자의 입력에 대한 앵커 포인트(anchor point)를 결정하기 위해 상기 저장된 명령어들을 실행하도록 더 설정되고, 및
    상기 앵커 포인트는 상기 외부 전자 장치로부터 수신되는 상기 컨텐츠에 대한 입력을 제어하기 위한 기준점인 전자 장치.
  6. 청구항 1에 있어서,
    상기 적어도 하나의 신호는, 상기 전자 장치의 사용자 인터페이스(user interface) 내에 표시된 적어도 하나의 객체를 포인팅(pointing)하는 입력에 대한 신호이고,
    상기 적어도 하나의 프로세서는,
    상기 포인팅하는 입력에 기반하여, 사용자의 입력 범위를 결정하고, 및
    상기 사용자의 입력 범위 내에 상기 컨텐츠를 표시하기 위해 상기 저장된 명령어들을 실행하도록 더 설정되는 전자 장치.
  7. 청구항 1에 있어서,
    상기 적어도 하나의 신호는, 상기 외부 전자 장치의 회전을 나타내는 신호를 포함하고, 및
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 신호에 기반하여, 세부 입력 범위를 결정하고, 및
    상기 세부 입력 범위에 기반하여, 상기 외부 전자 장치와 관련된 컨텐츠를 상기 전자 장치의 사용자 인터페이스 내에 표시하기 위해 상기 저장된 명령어들을 실행하도록 더 설정되는 전자 장치.
  8. 전자 장치(electronic device)의 방법에 있어서,
    외부 전자 장치 내에서 사용자의 입력(input)을 검출하는 것에 응답하여, 상기 외부 전자 장치로부터 송신되고 상기 전자 장치 및 상기 외부 전자 장치와 관련된 사용자의 특성(characteristic)을 결정하기 위한 적어도 하나의 신호를 수신하는 동작과,
    상기 적어도 하나의 신호에 기반하여, 상기 사용자를 위한 시야(field of view, FOV)를 결정하는 동작과, 및
    상기 결정된 시야에 기반하여, VR(virtual reality)를 위한 컨텐츠(content)를 표시하는 동작을 포함하는 방법.
  9. 청구항 8에 있어서,
    상기 적어도 하나의 신호가 제1 신호와 제2 신호를 포함하는 경우, 상기 제1 신호가 수신된 위치와 상기 제2 신호가 수신된 위치의 거리(distance)를 식별하는 동작과, 및
    상기 식별된 거리에 기반하여, 상기 사용자의 특성을 결정하는 동작을 더 포함하는 방법.
  10. 청구항 9에 있어서,
    상기 식별된 거리에 대한 정보에 매핑(mapping)되어 미리 저장되어 있는 값을 사용자의 특성으로 결정하는 동작을 더 포함하는 방법.
  11. 청구항 8에 있어서,
    상기 사용자의 특성은, 사용자의 신장, 사용자의 팔의 길이, 사용자의 양 팔의 폭, 사용자의 입력 범위, 또는 사용자의 손목의 가동 범위 중 적어도 하나를 포함하는 방법.
  12. 청구항 8에 있어서,
    상기 적어도 하나의 신호에 기반하여, 상기 외부 전자 장치와 관련된 사용자의 입력에 대한 앵커 포인트(anchor point)를 결정하는 동작을 더 포함하고, 및
    상기 앵커 포인트는 상기 외부 전자 장치로부터 수신되는 상기 컨텐츠에 대한 입력을 제어하기 위한 기준점인 방법.
  13. 청구항 8에 있어서,
    상기 적어도 하나의 신호는, 상기 전자 장치의 사용자 인터페이스(user interface) 내에 표시된 적어도 하나의 객체를 포인팅(pointing)하는 입력에 대한 신호이고,
    상기 방법은,
    상기 포인팅하는 입력에 기반하여, 사용자의 입력 범위를 결정하는 동작과, 및
    상기 사용자의 입력 범위 내에 상기 컨텐츠를 표시하는 동작을 더 포함하는 방법.
  14. 청구항 8에 있어서,
    상기 적어도 하나의 신호는, 상기 외부 전자 장치의 회전을 나타내는 신호를 포함하고, 및
    상기 방법은, 상기 적어도 하나의 신호에 기반하여, 세부 입력 범위를 결정하는 동작과, 및
    상기 세부 입력 범위에 기반하여, 상기 외부 전자 장치와 관련된 컨텐츠를 상기 전자 장치의 사용자 인터페이스 내에 표시하는 동작을 더 포함하는 방법.
  15. 비-일시적(non-transitory) 컴퓨터-판독 가능(computer-readable) 저장(storage) 매체(medium)에 있어서,
    외부 전자 장치 내에서 사용자의 입력(input)을 검출하는 것에 응답하여, 상기 외부 전자 장치로부터 송신되고 상기 전자 장치 및 상기 외부 전자 장치와 관련된 사용자의 특성(characteristic)을 결정하기 위한 적어도 하나의 신호를 수신하는 동작과,
    상기 적어도 하나의 신호에 기반하여, 상기 사용자를 위한 시야(field of view, FOV)를 결정하는 동작과, 및
    상기 결정된 시야에 기반하여, VR(virtual reality)를 위한 컨텐츠(content)를 표시하는 동작을 포함하는 저장 매체.
PCT/KR2018/013292 2017-11-22 2018-11-05 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법 WO2019103350A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/765,043 US11226675B2 (en) 2017-11-22 2018-11-05 Apparatus and method for adaptively configuring user interface
EP18881377.8A EP3705982B1 (en) 2017-11-22 2018-11-05 Apparatus and method for adaptively configuring user interface

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170156157A KR102572675B1 (ko) 2017-11-22 2017-11-22 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법
KR10-2017-0156157 2017-11-22

Publications (1)

Publication Number Publication Date
WO2019103350A1 true WO2019103350A1 (ko) 2019-05-31

Family

ID=66631053

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/013292 WO2019103350A1 (ko) 2017-11-22 2018-11-05 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법

Country Status (4)

Country Link
US (1) US11226675B2 (ko)
EP (1) EP3705982B1 (ko)
KR (1) KR102572675B1 (ko)
WO (1) WO2019103350A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220128887A (ko) * 2021-03-15 2022-09-22 삼성전자주식회사 Ar을 이용한 측정 방법 및 전자 장치
WO2022240196A1 (ko) * 2021-05-11 2022-11-17 삼성전자 주식회사 장치들 간의 상대적 위치에 기반한 사용자 인터페이스 제공 방법 및 전자 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206452A1 (en) * 2010-10-15 2012-08-16 Geisner Kevin A Realistic occlusion for a head mounted augmented reality display
US20120231853A1 (en) * 2009-11-09 2012-09-13 Camelot Co., Ltd. Information terminal and input control program
US20170228036A1 (en) * 2010-06-18 2017-08-10 Microsoft Technology Licensing, Llc Compound gesture-speech commands
US20170309079A1 (en) * 2016-04-21 2017-10-26 Magic Leap, Inc. Visual aura around field of view
US20170329419A1 (en) * 2016-05-11 2017-11-16 Google Inc. Combining gyromouse input and touch input for navigation in an augmented and/or virtual reality environment

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006081395A2 (en) 2005-01-26 2006-08-03 Bentley Kinetics, Inc. Method and system for athletic motion analysis and instruction
US8166421B2 (en) * 2008-01-14 2012-04-24 Primesense Ltd. Three-dimensional user interface
JP5448370B2 (ja) * 2008-05-20 2014-03-19 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体
US20100277470A1 (en) 2009-05-01 2010-11-04 Microsoft Corporation Systems And Methods For Applying Model Tracking To Motion Capture
US8929609B2 (en) * 2011-01-05 2015-01-06 Qualcomm Incorporated Method and apparatus for scaling gesture recognition to physical dimensions of a user
US9440144B2 (en) * 2011-04-21 2016-09-13 Sony Interactive Entertainment Inc. User identified to a controller
US9454849B2 (en) * 2011-11-03 2016-09-27 Microsoft Technology Licensing, Llc Augmented reality playspaces with adaptive game rules
US20130290106A1 (en) 2012-03-08 2013-10-31 Augme Technologies, Inc. System and method for providing directions to items of interest
WO2014204330A1 (en) * 2013-06-17 2014-12-24 3Divi Company Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
US9630105B2 (en) * 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
JP2016004541A (ja) * 2014-06-19 2016-01-12 本田技研工業株式会社 車両用操作入力装置
KR101545654B1 (ko) 2014-06-26 2015-08-20 주식회사 아이파이브 개인별 맞춤형 운동 시스템 및 개인별 맞춤형 운동 방법
US10088971B2 (en) * 2014-12-10 2018-10-02 Microsoft Technology Licensing, Llc Natural user interface camera calibration
JP2017120164A (ja) 2015-12-28 2017-07-06 株式会社ブリリアントサービス 調理調整ヘッドマウントディスプレイ、調理調整ヘッドマウントディスプレイのプログラム、および調理調整ヘッドマウントディスプレイシステム
US10083539B2 (en) * 2016-02-08 2018-09-25 Google Llc Control system for navigation in virtual reality environment
WO2017201162A1 (en) * 2016-05-17 2017-11-23 Google Llc Virtual/augmented reality input device
US10395428B2 (en) * 2016-06-13 2019-08-27 Sony Interactive Entertainment Inc. HMD transitions for focusing on specific content in virtual-reality environments
WO2018017993A1 (en) * 2016-07-22 2018-01-25 Google Llc Detecting user range of motion for virtual reality user interfaces
US20180101986A1 (en) * 2016-10-10 2018-04-12 Aaron Mackay Burns Drawing in a 3d virtual reality environment
KR102560598B1 (ko) * 2016-12-21 2023-07-28 삼성전자주식회사 디스플레이 장치 및 그 제어방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120231853A1 (en) * 2009-11-09 2012-09-13 Camelot Co., Ltd. Information terminal and input control program
US20170228036A1 (en) * 2010-06-18 2017-08-10 Microsoft Technology Licensing, Llc Compound gesture-speech commands
US20120206452A1 (en) * 2010-10-15 2012-08-16 Geisner Kevin A Realistic occlusion for a head mounted augmented reality display
US20170309079A1 (en) * 2016-04-21 2017-10-26 Magic Leap, Inc. Visual aura around field of view
US20170329419A1 (en) * 2016-05-11 2017-11-16 Google Inc. Combining gyromouse input and touch input for navigation in an augmented and/or virtual reality environment

Also Published As

Publication number Publication date
US20200401213A1 (en) 2020-12-24
KR102572675B1 (ko) 2023-08-30
EP3705982A1 (en) 2020-09-09
EP3705982B1 (en) 2023-12-27
US11226675B2 (en) 2022-01-18
EP3705982A4 (en) 2020-12-30
KR20190058839A (ko) 2019-05-30

Similar Documents

Publication Publication Date Title
WO2020111594A1 (en) Electronic device, augmented reality device for providing augmented reality service, and method of operating same
WO2020050506A1 (ko) 증강 현실 영상에 부가 객체를 표시하는 전자 장치 및 상기 전자 장치의 구동 방법
KR102479052B1 (ko) 복수의 컨트롤러를 이용한 전자 장치의 디스플레이 제어 방법 및 그 장치
WO2019103396A1 (en) Method for configuring input interface and electronic device using same
WO2019164092A1 (ko) 디스플레이를 통해 표시된 제 1 콘텐트에 대해 제 2 콘텐트를 외부 객체의 움직임에 따라 제공하기 위한 전자 장치 및 그의 동작 방법
WO2020050636A1 (ko) 사용자 의도 기반 제스처 인식 방법 및 장치
WO2020130691A1 (en) Electronic device and method for providing information thereof
WO2020085628A1 (en) Method for displaying objects and electronic device using the same
WO2021066468A1 (en) Electronic device and control method thereof
WO2021080360A1 (en) Electronic device and method for controlling display operation thereof
WO2020045862A1 (ko) 가상 현실에서 정보를 제공하는 전자 장치 및 방법
WO2019160347A1 (ko) 터치 입력 처리 방법 및 이를 지원하는 전자 장치
WO2020159302A1 (ko) 증강 현실 환경에서 다양한 기능을 수행하는 전자 장치 및 그 동작 방법
WO2020222428A1 (ko) 전자 장치 및 그 영상을 출력하는 방법
WO2022131549A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2019103350A1 (ko) 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법
WO2021162366A1 (ko) Ar 객체를 배치하는 방법 및 전자 장치
WO2019199086A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2020013542A1 (ko) 전자 장치 및 전자 장치의 기능 수행 방법
KR20210138923A (ko) 증강 현실 서비스를 제공하기 위한 전자 장치 및 그의 동작 방법
WO2022085940A1 (ko) 웨어러블 표시 장치에 복수의 오브젝트들 표시 제어 방법 및 장치
WO2021172791A1 (ko) 전자 장치 및 이를 이용한 시각적 효과 제공 방법
WO2020218881A1 (en) Electronic device including display device including touch sensor
WO2022014836A1 (ko) 가상 객체들의 밝기를 다르게 표시하는 방법 및 장치
WO2021118187A1 (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: 18881377

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018881377

Country of ref document: EP

Effective date: 20200601