WO2020080733A1 - 가상 콘텐츠를 제어하기 위한 인터페이스 장치 - Google Patents
가상 콘텐츠를 제어하기 위한 인터페이스 장치 Download PDFInfo
- Publication number
- WO2020080733A1 WO2020080733A1 PCT/KR2019/013256 KR2019013256W WO2020080733A1 WO 2020080733 A1 WO2020080733 A1 WO 2020080733A1 KR 2019013256 W KR2019013256 W KR 2019013256W WO 2020080733 A1 WO2020080733 A1 WO 2020080733A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- motion
- interface device
- motion information
- control signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
Definitions
- the present invention relates to an interface device for controlling virtual content, and more particularly, to an interface device for controlling content based on the motion of a human body or an object in a three-dimensional space.
- Virtual content is a virtual object that is reproduced and handled in a virtual three-dimensional space, and the interface device to date has been insufficient to meet the needs of consumers and has not been suitable as a universal interface.
- the mechanism is large, heavy, and expensive, and various button-type functions require learning.
- the VR controller is used exclusively for a specific head mounted display (HMD), there is a problem that it cannot be used anywhere, like a general purpose mouse.
- HMD head mounted display
- An interface device for conveniently and intuitively controlling virtual content implemented based on VR, AR, MR, etc. through motion tracking in a 3D space may be provided.
- An interface device that is easy to wear, intuitive, and does not require learning about an operation method may be provided.
- the interface device is easy to carry, virtual content displayed on a smartphone, TV, PC monitor, tablet PC, hologram, head mounted display (HMD), etc. can be easily and precisely controlled anytime, anywhere.
- HMD head mounted display
- FIG. 1 shows a VR controller, according to an embodiment.
- FIG. 2 illustrates a system for controlling content using an interface device according to an embodiment.
- FIG 3 illustrates a system including an interface device, according to an embodiment.
- FIG. 4 is a conceptual diagram illustrating a motion module acquiring motion information according to an embodiment.
- FIG 5 illustrates motions for controlling content with one interface device, according to an embodiment.
- FIG 6 illustrates motions for controlling content with two interface devices, according to an embodiment.
- FIG. 7 illustrates a system for controlling content of a host device using two interface devices worn on different fingers according to an embodiment.
- FIG. 8 illustrates a state in which an interface device is separated into a main module and a connection unit, according to an embodiment.
- FIG 9 illustrates an interface device including a charging terminal for charging a battery, according to an embodiment.
- FIG. 10 illustrates a dice in which an interface device is built, according to an embodiment.
- 11 is a block diagram of an interface device according to an embodiment.
- FIG. 12 illustrates a cane to which an interface device is connected, according to one embodiment.
- FIG. 13 is a flowchart of a method for controlling content of a host device, according to an embodiment.
- FIG. 14 is a flowchart of a method for obtaining distance data, according to an embodiment.
- 15 is a flowchart of a method for an interface device to determine a movement of an object as a move motion according to an embodiment.
- 16A to 16D illustrate that content is controlled based on a move motion according to various embodiments.
- 17 is a flowchart of an operation in which a host device zooms in or zooms out content based on a move motion according to an embodiment.
- FIG. 18 is a flowchart of a method for an interface device to determine a finger movement as a tap (or click) motion according to an embodiment.
- 19 is a flowchart of a method for an interface device to determine an object's movement as a grabbing motion according to an embodiment.
- 20 is a flowchart of a method for an interface device to determine an object movement as a scroll motion according to an embodiment.
- 21 is a flowchart of a method for an interface device to determine a motion of an object as a swipe motion according to an embodiment.
- 22 is a flowchart of a method for an interface device to determine an object motion as a rotation motion according to an embodiment.
- 23 is a flowchart of a method for controlling content of a host device based on two interface devices, according to an embodiment.
- 24 is a flowchart of a method for controlling content of a host device based on two interface devices, according to an embodiment.
- 25 is a flowchart of an operation in which a host device generates a control signal for a fine-tuning operation based on two interface devices.
- 26 is a flowchart illustrating a control signal for a zoom-in / zoom-out operation by a host device based on two interface devices, according to an embodiment.
- FIG. 27 illustrates controlling hologram content with the interface device described above with reference to FIGS. 1 to 26, according to an embodiment.
- FIG. 28 is a diagram for controlling content displayed by AR glasses with the interface device described above with reference to FIGS. 1 to 26 according to an embodiment.
- the interface device for controlling the content of the host device includes a sensing module for obtaining first motion information of an object based on an acceleration sensor, a gyro sensor, and a geomagnetic sensor, and a second motion through calculation of the first motion information And a control signal output unit for acquiring information, determining a motion corresponding to the movement of the object based on the second motion information, and outputting a control signal indicating the determined motion to the host device, wherein the object is It includes a human finger or an object, and the first movement information includes at least one of acceleration data obtained through the acceleration sensor and angular velocity data acquired through the gyro sensor, and the first movement information includes the sensing SPI (Serial Peripheral Interface) bus and I2C (Inter Integrated Circuit) bus output from the module Via at least one being delivered to the said control signal output, and the second motion information may include at least one of the angle data, the distance data, velocity data, and direction data.
- SPI Serial Peripheral Interface
- I2C Inter
- the distance data includes distance data for each of the x-axis direction, y-axis direction, and z-axis direction
- the speed data includes speed data for each of the x-axis direction, y-axis direction, and z-axis direction
- the direction data may include information about whether an increase or decrease in the x-axis direction, an increase or decrease in the y-axis direction, and an increase or decrease in the z-axis direction.
- the control signal output unit is configured to determine a motion corresponding to the movement of the object among predefined motions for controlling the host device, and the predefined motions are move, tap, grab, scroll, and swipe, And rotation.
- the sensing module further includes a sensor fusion unit for obtaining the first motion information optimized by compensating and fusing data obtained from each of the acceleration sensor, the gyro sensor, and the geomagnetic sensor based on a filter or an algorithm. You can.
- the control signal output unit acquires the second motion information by calculating the first motion information, and a processor for determining the motion corresponding to the motion of the object based on the second motion information, and a wireless communication interface Based on the may include a communication unit for transmitting the control signal to the host device.
- the processor may acquire the second motion information every reference time, and the reference time may be 30 ms or less.
- the processor may acquire the velocity data and the distance data by performing an integral operation on the linear acceleration data obtained by removing the gravitational acceleration component from the acceleration data.
- the processor may acquire the angle data by performing an integral operation on the angular velocity data, and obtain the direction data based on a comparison of current distance data and previous distance data.
- the sensing module and the control signal output unit may further include a battery for supplying power required for operation, and a charging terminal for charging the battery.
- a case for embedding the sensing module and the control signal output unit further comprising a ring-shaped connection portion for wearing or fixing the case to the finger, the ring-shaped connection portion, the middle node or end of the finger It can be configured to be worn on the node.
- a sensing module for acquiring the first movement information of the dice is provided through calculation of the first movement information.
- the first motion information includes the acceleration Acceleration data obtained through a sensor and angular velocity data obtained through the gyro sensor It includes at least one of, and the first motion information is output from the sensing module and transmitted to the control signal output unit through at least one of a Serial Peripheral Interface (SPI) bus and an Inter Integrated Circuit (I2C) bus
- 2Movement information may include at least one of angle data, distance data, speed data, and direction data.
- the control signal output unit a processor for obtaining the second motion information by calculating the first motion information, and generates a control signal corresponding to the movement of the dice based on at least one of the second motion information, and It may include a communication unit for transmitting the control signal to the host device based on the Bluetooth communication.
- the control signal output unit determines the number represented by the dice based on at least one of the acceleration data, the angular velocity data, the velocity data, the distance data, and the direction data, and the control signal including the numeric information Can output
- a system for controlling content the first finger being worn on a first finger, obtaining first motion information of the first finger based on a first acceleration sensor, a first gyro sensor, and a first geomagnetic sensor, and the first A first interface device for acquiring second motion information through calculation of motion information, worn on a second finger, obtaining third motion information of the second finger, and fourth through calculation of the third motion information And a second interface device for obtaining motion information, and a host device for generating the content and controlling the content according to motion determined based on the second motion information and the fourth motion information, and the first
- the motion information includes at least one of first acceleration data obtained through the first acceleration sensor and first angular velocity data obtained through the first gyro sensor,
- the second motion information includes at least one of first angle data, first distance data, first speed data, and first direction data
- the third motion information is obtained through the second acceleration sensor
- the fourth motion information includes
- the host device based on the second motion information and the fourth motion information, zooms in the content when the first interface device and the second interface device move apart from each other by a first reference speed or higher, and the When the first interface device and the second interface device are close to each other at a second reference speed or higher, the content may be zoomed out.
- the method for controlling the content of the host device includes obtaining first motion information of an object based on an acceleration sensor, a gyro sensor, and a geomagnetic sensor, and obtaining second motion information through calculation of the first motion information , Determining a motion corresponding to the movement of the object based on the second motion information, transmitting a control signal indicating the determined motion to the host device through a wireless communication interface, and the host device controlling the motion And controlling the content based on a signal, wherein the first motion information includes at least one of acceleration data obtained through the acceleration sensor and angular velocity data obtained through the gyro sensor, and the second motion. The information may include at least one of angle data, distance data, speed data, and direction data. And wherein the motion may control the content of the host device including the MOVE, tab, catch, scroll, swiping, or rotation.
- the generating of the second motion information includes: determining linear acceleration data by removing a gravitational acceleration component from the acceleration data, determining the speed data by performing an integral operation on the linear acceleration data, and the speed And determining the distance data by performing an integral operation on the data.
- the generating of the second motion information may include determining the direction data based on a comparison between current distance data and previous distance data.
- the generating of the second motion information may include determining the angle data by performing an integral operation on the angular velocity data.
- Determining a motion corresponding to the motion of the object includes determining the motion as the move motion when angle data and speed data within a reference time satisfy the reference condition after the motion starts.
- the method for controlling the content of the device may further include moving the content based on the distance data of the object if the control signal received by the host device is a move motion.
- the moving of the content may include zooming in the content when the distance between the object and the content is close, and zooming out the content when the distance between the object and the content is increased. have.
- Determining a motion corresponding to the movement of the object may include determining the motion as the tap motion when the angle data and the speed data satisfy a reference condition.
- Determining a motion corresponding to the motion of the object may include determining the motion as the catching motion if the angle data and the speed data satisfy a reference condition and there is no reverberation in the motion.
- Determining a motion corresponding to the movement of the object may include determining the motion as the scroll motion when the angle data, the speed data, and the distance data satisfy a reference condition.
- Generating a motion corresponding to the movement of the object may include determining the motion as the swipe motion when the speed data and the distance data satisfy a reference condition.
- Generating a motion corresponding to the movement of the object may include determining the motion as the rotation motion when the speed data and the distance data satisfy a reference condition.
- the transmitting of the control signal to the host device may include determining whether the location of the object is within a reference distance from a location where the content is played, and as a result of the determination, only when the control signal is within the reference distance It may include the step of delivering to the host device.
- the host device is an AR glass, and the content can be displayed on a three-dimensional space by the AR glass.
- the method for controlling the content of the host device, the first movement of the first finger based on the first interface device worn on the first finger and including a first acceleration sensor, a first gyro sensor, and a first geomagnetic sensor Obtaining information, generating second motion information through calculation of the first motion information, worn on a second finger, and including a second acceleration sensor, a second gyro sensor, and a second geomagnetic sensor Acquiring third motion information of the second finger based on the two-interface device, generating fourth motion information through calculation of the third motion information, and the second motion information and the fourth motion information Outputting to a host device, generating a control signal based on the second motion information and the fourth motion information, and controlling content based on the control signal
- the first movement information includes at least one of first acceleration data obtained through the first acceleration sensor and first angular velocity data obtained through the gyro sensor
- the second movement information includes the first And at least one of first angle data, first distance data, first speed data, and first direction data
- the fourth movement information includes second angle data, second distance data, and second velocity data for the movement of the second finger, And second direction data
- the control signal may be a signal for performing at least one of fine tuning, multi-touch, zoom in, and zoom out.
- the generating of the control signal may include determining whether the host device is connected to the first interface device and the second interface device, and based on the second motion information and the fourth motion information, the first interface device And generating a fine tuning operation signal when the angular velocity of each of the second interface devices satisfies a reference condition.
- the generating of the control signal may include determining whether the host device is connected to the first interface device and the second interface device, and based on the second motion information and the fourth motion information, the first interface device And generating a zoom-out operation signal when the second interface device approaches each other at a reference speed or higher, and based on the second motion information and the fourth motion information, the first interface device and the second interface device. It may include generating a zoom-in operation signal when is moved away from each other above the reference speed.
- part or “module” used in the specification may mean a hardware component or circuit such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC).
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- the “content” may include, but is not limited to, media itself or an object played on the media, such as a game, music, movie, image, animation, character, item, object, or the like.
- “Content” may include virtual content generated in virtual reality such as AR / VR / MR.
- the “content” may include an object reproduced on a 2D screen or a 3D stereoscopic object represented on a 3D space such as a hologram.
- the “content” can be created or played by the host device. When the "content” is virtual content represented on a three-dimensional space, the physical location of the host device and the "content” may be different.
- motion is a significant movement taken by the user to control the content, and may be captured, extracted, recognized, analyzed, or determined from the user's movement.
- control signal is a signal including information about the motion itself or the type of motion, and the host device can control the content based on the "control signal".
- control signal may be in the form of a bit stream, and each of the motions may be represented in a different bit stream.
- FIG 2 illustrates an interface device according to an embodiment.
- the interface device 2000 may determine a motion from the movement of the finger 2300 and generate a control signal for controlling the content 2500.
- the interface device 2000 may be in the form of a small wearable device that can be attached or connected to a human body or an object. Therefore, the interface device 2000 is easy to wear, and the user can intuitively operate all functions of the interface device 2000 without additional learning. Furthermore, the interface apparatus 2000 can be used as a general purpose device like a general purpose mouse currently used in virtual space.
- the interface device 2000 includes a main module 2200 for acquiring motion information of the finger 2300 using a sensor and outputting a control signal, and a connection unit 2400 for wearing or fixing the main module 2200 to a human body. It can contain.
- the main module 2200 includes motion information (eg, angular velocity, acceleration, velocity, distance, angle, direction, position (for the movement of the index finger 3000 worn by the interface device 2000 or the interface device 2000) (The control signal for controlling the content 2500 may be output by acquiring and processing and processing the 3D spatial coordinate information).
- the connection part 2400 may be in the form of a ring worn on the finger 2300.
- the interface device 2000 can be worn anywhere on the finger through the connection part 2400. According to an embodiment, the interface device 2000 may be worn on the middle or end node of the finger. For example, the interface device 2000 may be worn on the middle node of the index finger or the first node of the thumb.
- the interface device 2000 may also be connected to or attached to other types of objects, such as objects.
- the interface device 2000 is embedded in the dice and can control the content 2500 based on the movement of the dice.
- the interface device 2000 may be attached to the wand and control the content 2500 based on the movement of the wand.
- the interface device 2000 may be embedded in the pen to control the content 2500 on the smartphone.
- FIG 3 illustrates a system including an interface device according to an embodiment.
- the system 3800 may include an interface device 3000 and a host device (or target device).
- the interface device 3000 may show a block diagram of the interface device 2000 of FIG. 2.
- the host device may generate and display content that can be controlled through the interface device 3000.
- the host device is a game machine, a smart phone, a tablet PC (Personal Computer), a TV, a desktop PC, a notebook PC, a mobile medical device, a camera, or a wearable device (eg, electronic glasses, electronic clothes, electronics) Bracelet, electronic necklace, electronic accessory, electronic tattoo, or smart watch), but is not limited thereto.
- the host device may include a head mounted display (HMD) for displaying virtual content and a game machine (for example, a console device) for playing or playing the virtual reality game or virtual reality content.
- HMD head mounted display
- a game machine for example, a console device
- the user may control the content of the host device using the interface device 3000.
- the user may control the content of the host device based on the movement of the object in which the interface device 3000 is embedded or connected.
- the user can control various contents of the host device by wearing the interface device 3000 on his or her finger and moving the finger.
- the interface device 3000 may acquire motion information of an object using a sensor, and determine motion corresponding to the motion of the object based on the obtained motion information.
- the interface device 3000 may output a control signal indicating the determined motion to the host device.
- the motion information may include characteristics (for example, at least one of angular velocity, acceleration, velocity, distance, angle, direction, and location) for the movement of the object.
- the interface device 3000 may include a sensing module 3200, a communication channel 3400, and a control signal output unit 3600.
- the interface device 3000 may correspond to the main module 2200 of FIG. 2.
- the sensing module 3200 may acquire first motion information of the object.
- the first movement information may include at least one of acceleration data obtained through an acceleration sensor and angular velocity data acquired through a gyro sensor.
- the sensing module 3200 may include an acceleration sensor (Accelerometer, 3220), a gyroscope sensor (Gyroscope, 3240), a geomagnetic sensor (Magnetometer, 3260), and a sensor fusion unit 3280.
- the gyro sensor 3240 according to an embodiment is a sensor for measuring angular velocity.
- the acceleration sensor 3220 according to an embodiment is a sensor for measuring acceleration and measuring dynamic forces such as vibration and shock.
- the geomagnetic sensor 3260 according to an embodiment is a sensor for measuring earth magnetism and detecting its size.
- the value measured by the gyro sensor 3240 generates an error due to the influence of temperature, and an error may accumulate in the integration process, resulting in a drift in the final value. Therefore, it is necessary to compensate for the error of the gyro sensor 3240 using a temperature sensor.
- the inclined angle calculated by the acceleration sensor 3220 shows a correct value, but the gyro sensor 3240 may show a wrong value due to cumulative drift over time. Conversely, from the perspective of a short time of movement, the gyro sensor 3240 exhibits the correct angular velocity, but the acceleration sensor 3220 can derive a calculated value different from the inclined angle. In addition, when the subject moves in a straight direction while stationary, the tilt measurement is impossible.
- a filter or a compensation and fusion algorithm such as a Kalman filter, may be applied to compensate and compensate for each disadvantage using both the acceleration sensor 3220 and the gyro sensor 3240.
- a filter or a compensation and fusion algorithm such as a Kalman filter
- an error rate increases when calculating coordinates in a 3D space to control a host device such as a VR device. It is not suitable for use as an interface.
- the sensing module 3200 further includes a geomagnetic sensor 3260 to calculate a change in absolute azimuth measured by the geomagnetic sensor 3260 together with data measured by the acceleration sensor 3220 and the gyro sensor 3240. By doing so, data with a low error rate can be generated.
- the sensing module 3200 includes the geomagnetic sensor 3260, so that the accumulated drift generated by the gyro sensor 3240 can be more fully compensated, and the gyro sensor 3240 is due to the magnetic change of the geomagnetic sensor 3260. By resolving the instantaneous magnetic field bouncing (a large change in the magnetic field that occurs suddenly), it can complement and compensate each other's shortcomings.
- the sensing module 3200 may include a 9-axis sensor capable of accurately acquiring position data in a 3D space.
- the 9-axis sensor is a sensor composed of 3 axes of acceleration, 2 axes of gyro, 3 axes of geomagnetism, and 1 axis of temperature. It is a sensor that can acquire both a three-dimensional position and a degree of rotation in the three-axis direction in a three-dimensional space.
- the sensing module 3200 may acquire data on the degree of rotation in the x, y, and z axis directions using an acceleration sensor and a gyro sensor.
- the sensing module 3200 may acquire data on the x, y, and z axis directions using a geomagnetic sensor.
- the sensing module 3200 compensates and fuses the outputs of the sensors 3220, 3240, and 3260 to generate sensor-optimized location data, thereby optimizing sensor fusion.
- (3280) may be included.
- the sensor fusion unit 3280 optimizes data by removing, compensating, and fusion data acquired from the acceleration sensor 3220, the gyro sensor 3240, and the geomagnetic sensor 3260, respectively, to optimize the first motion information. Can generate If the row data obtained by the sensors 3220, 3240, 3260 is used as it is, accurate location data cannot be obtained, so an optimized location data can be generated by estimating the exact location through a filter. You can.
- the sensor fusion operation may be performed based on a filter such as a Kalman Filter or data compensation and fusion algorithm.
- the first motion information may be transmitted to the control signal output unit 3600 through the communication channel 3400.
- the communication channel 3400 may be a bus in the interface device 3000 for transmitting the first motion information to the processor 3620.
- the sensing module 3200 and the control signal output unit 3600 may exchange data with each other based on the bus format of the communication channel 3400.
- the bus format may include one or more of various interface protocols such as Universal Serial Bus (USB), Serial Peripheral Interface (SPI), and Inter-Integrated Circuit (I2C).
- the control signal output unit 3600 may generate second movement information by calculating first movement information received through the communication channel 3400.
- the second movement information includes angle data, distance data, speed data, and direction. It may include at least one of the data.
- the control signal output unit 3600 may determine a motion corresponding to the movement of the object based on the second motion information, and output a control signal indicating the determined motion.
- the control signal may be an interrupt signal for controlling to control the content of the host device.
- the control signal output unit 3600 may determine a motion corresponding to the motion of the object based on the received second motion information, and output a bit string representing the determined motion to the host device.
- the control signal output unit 3600 may include a processor 3620 and a communication unit 3640.
- the processor 3620 may generate second motion information by calculating the first motion information received from the sensing module 3200 through the communication channel 3400.
- the second movement information may include at least one of angle data, distance data, speed data, and direction data.
- the processor 3620 may acquire second motion information by performing an operation on the first motion information every reference time (for example, 5 ms).
- the reference time may be 30 ms or less, but is not limited thereto.
- the angle data may include angle data for each of the x-axis direction, y-axis direction, and z-axis direction.
- the processor 3620 may acquire angle data by performing an integral operation on the angular velocity data.
- the velocity data may include velocity data for each of the x-axis direction, y-axis direction, and z-axis direction.
- the distance data may include distance data for each of the x-axis direction, y-axis direction, and z-axis direction.
- the processor 3620 may acquire velocity data and distance data by performing an integral operation on the acceleration data.
- the processor 3620 may obtain the linear acceleration data by removing the gravitational acceleration component from the acceleration data.
- the processor 3620 may acquire velocity data by performing an integral operation on the linear acceleration data, and obtain distance data by performing an integration operation on the velocity data again.
- the direction data relates to an instantaneous movement direction of an object, and may include whether to increase or decrease in the x-axis direction, whether to increase or decrease in the y-axis direction, and whether to increase or decrease in the z-axis direction.
- the processor 3620 may include direction data based on a comparison of current distance data and previous distance data.
- the processor 3620 may determine that the current movement direction is increased in the x-axis direction, increased in the y-axis direction, and decreased in the z-axis direction.
- the processor 3620 may determine a motion corresponding to an object motion based on the second motion information. For example, the processor 3620 may determine one motion corresponding to a user's motion among predefined motions based on the second motion information. The processor 3620 may generate a control signal indicating the determined motion and transmit it to the host device through the communication unit 3640. If, based on the received location data, the processor 3620 may process an exception when the user's motion does not correspond to any of the predefined motions or is determined to be meaningless motion.
- the predefined motions are Move, Tap, Grasp, Scroll, Swipe, Gesture, Rotation, Fine Tuning, Zoom In (Zoom In), and Zoom Out (Zoom Out).
- Move motion is an operation of moving an object in a certain direction, and may be used to move or zoom-in / zoom-out virtual content.
- Tap motion as a tapping action, can be used to select or click on virtual content. The user can double-click the virtual content by taking the tap motion twice consecutively within the reference time.
- the grab motion is an operation in which two distant objects touch each other and may be used to grab virtual content.
- the gesture may mean a movement for expressing a text, a symbol, or a shape (for example, '?' Or 'X').
- Fine tuning is a user's motion for precisely manipulating content, and may mean, for example, a motion for precisely rotating a circular object.
- FIG. 5 illustrates a tap, grab, scroll, rotation, and swipe motion for controlling content with one interface device
- FIG. 6 shows multi-touch for controlling content with two interface devices, Fine tuning, zoom in / out motion
- 7 illustrates a system for controlling content of a host device using two interface devices worn on different fingers according to an embodiment.
- a control signal may be output to the host device through the first interface device 7200 worn on the index finger and the second interface device 7400 worn on the thumb.
- motions for controlling the host device may be extended based on a combination of motion information obtained from the first interface device 7200 and motion information obtained from the second interface device 7400.
- the extended motion may further include the multi-touch of FIG. 6, fine tuning, and zoom in / zoom out motion.
- the processor 3620 may generate a control signal representing the determined motion. For example, when the motion of the user is determined to be a tap motion, the processor 3620 may generate a first bit stream representing the tap motion as a control signal. The processor 3620 may generate a second bit stream representing the scroll motion as a control signal when the user's motion is determined as the scroll motion. Alternatively, when using the protocol agreed with the interface device 2000 and the host device, a number assigned to each of the motions may be generated as a control signal.
- the processor 3620 may include a single processor core (Single Core), or may include a plurality of processor cores (Multi-Core).
- the processor 3620 may include a multi-core, such as dual-core, quad-core, and hexa-core.
- the processor 3620 may further include a cache memory located inside or outside.
- the communication unit 3640 may transmit a control signal to the host device through a wireless communication interface.
- the communication unit 3640 includes a wireless local area network (WLAN) such as Wi-fi (Wireless Fidelity), a wireless personal area network (WPAN) such as Bluetooth, and a wireless USB (Wireless Universal Serial) Bus), Zigbee, NFC (Near Field Communication), RFID (Radio-frequency identification), or 3G (3rd Generation), 4G (4th Generation), LTE (Long Term Evolution), etc. can be connected to a mobile cellular network.
- WLAN wireless local area network
- WLAN wireless local area network
- WPAN wireless personal area network
- USB Wireless Universal Serial
- Zigbee Zigbee
- NFC Near Field Communication
- RFID Radio-frequency identification
- 4G (4th Generation) Long Term Evolution
- LTE Long Term Evolution
- the Bluetooth interface can support BLE (Bluetooth Low Energy).
- the interface device 3000 may include a memory (not shown) required for an operation performed in the interface device 3000.
- the interface device 3000 may include a memory (not shown) required to perform a sensor fusion operation in the sensor fusion unit 3280.
- the interface device 3000 may store predefined motions or include a memory (not shown) required for an operation performed by the processor 3620.
- the memory (not shown) includes volatile memory devices such as dynamic random access memory (DRAM), static random access memory (SRAM), flash memory devices, and solid state drives. Non-volatile memory devices, such as (Solid State Drive; SSD).
- the interface device 3000 may include a battery (not shown) for supplying power required for an operation performed in the interface device 3000.
- the battery (not shown) may include a lithium ion battery or a lithium polymer battery, but is not limited thereto.
- a battery (not shown) may be included in the control signal output unit 3600, and some of the power output from the battery (not shown) may be bypassed to the sensing module 3200.
- the interface device 3000 may include a charging terminal for charging a battery (not shown). Referring to FIG. 9, the interface device 3000 may include a USB type charging terminal. The current flowing through the charging terminal can be used to charge the battery.
- the interface device 3000 may include a case (not shown) for embedding the sensing module 3200 and the control signal output unit 3600. Accordingly, the connection part 2400 of FIG. 2 may be implemented as a ring-shaped member or part for wearing or fixing a case (not shown) to the human body.
- FIG. 8 shows a state in which the main module and the connection part are separated according to an embodiment.
- the interface device 8000 represents an embodiment of the interface device 2000 of FIG. 2.
- the main module 8200 of the interface device 8000 and the ring-shaped connection portion 8400 are detachable, and the connection portion 8400 can be designed in various ways according to consumer preference, and various main modules 8200 are connected to the connection portion 8400. It can be used for various purposes by mounting.
- FIG. 10 illustrates a dice in which an interface device is built, according to an embodiment.
- the dice 10000 is a built-in interface device 3000 described above with reference to FIGS. 2 to 3, and a user can enjoy an AR board game or the like using the dice 10000.
- the dice 10000 generates a second motion information through a sensing module for acquiring the first motion information of the dice based on the acceleration sensor, the gyro sensor, and the geomagnetic sensor, and calculates the second motion information through the operation of the first motion information of the dice.
- a control signal output unit for outputting a control signal corresponding to the motion of the dice to the host device based on the motion information, a sensing module, and a battery for supplying power required for operation of at least one of the control signal output unit may be included. .
- the control signal output unit obtains second motion information by calculating the first motion information, and generates a control signal corresponding to the movement of the dice 10000 based on at least one of the second motion information. It may include a communication unit for transmitting a control signal to the host device based on the processor and the Bluetooth communication.
- the control signal output unit may determine a number represented by the dice 10000 based on at least one of acceleration data, angular velocity data, velocity data, distance data, and direction data, and output a control signal including numeric information.
- the control signal output from the dice 10000 may include rotation information according to the movement of the dice 10000 and / or numerical information (or numeric change information) of the dice 10000 determined according to the rotation motion.
- the number change of the dice 10000 can be represented in a three-dimensional space by the host device.
- the dice 10000 may include a hollow for embedding the interface device 3000.
- the dice 10000 may further include a sensing module, a control signal output unit, and a hollow for embedding a battery, so that the interface device 3000 can be embedded.
- the dice 10000 may further include a charging terminal for charging the battery.
- a charging terminal for receiving a charging current may be located on the surface of the die 10000. Therefore, for charging the interface device 3000 embedded in the dice 10000, the interface device 3000 can be connected to the dice 10000 by simply connecting the charging cable to the dice 10000 without having to take the interface device 3000 out of the dice 10000. Charging is possible.
- 11 is a block diagram of an interface device according to an embodiment.
- the interface device 11000 shows a detailed embodiment of the interface device 3000 of FIG. 3. According to an embodiment, the interface device 11000 may be a dice of FIG. 10.
- the interface device 11000 may include a sensing module 11200, a control signal output unit 11400, a battery 11600, and a charging terminal 11800.
- the sensing module 11200 may include an acceleration sensor 1220, a gyro sensor 11240, a geomagnetic sensor 11260, and a sensor fusion unit 11280.
- the control signal output unit 11400 may include a processor 11420 and a communication unit 11440. The first motion information obtained from the sensing module 11200 may be transmitted to the control signal output unit 11400 through the communication channel 11300.
- the sensing module 11200 of FIG. 11, an acceleration sensor 1220, a gyro sensor 11240, a geomagnetic sensor 11260, a sensor fusion unit 11280, a control signal output unit 1400, a processor 11420, and a communication unit ( 11440) is a sensing module 3200 of FIG. 3, an acceleration sensor 3220, a gyro sensor 3240, a geomagnetic sensor 3260, a sensor fusion unit 3280, a control signal output unit 3600, a processor 3620, And the same as the communication unit 3640, so detailed descriptions thereof will be omitted.
- the interface device 11000 may include a battery 11600 for supplying power to the sensing module 11200 and a control signal output unit 11400 and a charging terminal 11800 for charging the battery 11600.
- FIG. 12 illustrates a cane to which an interface device is connected, according to one embodiment.
- the wand 12000 connects the above-described interface device 3000 with reference to FIGS. 2 to 3, and the user can enjoy various games using the wand, such as fencing games and sword fighting games, using the wand 12000.
- the interface device 3000 described above with reference to FIGS. 2 to 3 may be built in the wand 12000.
- FIGS. 13 to 25 a method of controlling content using at least one interface device will be described with reference to FIGS. 13 to 25.
- the method described with reference to FIGS. 13 to 25 may be performed by the interface device 2000 of FIG. 2, the interface device 3000 of FIG. 3, or a host device. Therefore, even if omitted, the description of the interface device 2000 in FIG. 2, the interface device 3000 in FIG. 3, or the host device may be applied to FIGS. 13 to 25. Also, the contents of the methods of FIGS. 13 to 25 may also be applied to the interface device 2000 of FIG. 2, the interface device 3000 of FIG. 3, or a host device.
- FIG. 13 is a flowchart of a method of controlling content using an interface device according to an embodiment.
- the interface device may acquire first motion information based on a sensing module connected to or embedded in the object.
- the sensing module may include an acceleration sensor, a gyro sensor, and a geomagnetic sensor.
- the first movement information may include acceleration data and angular velocity data for the movement of the object.
- acceleration data obtained through an acceleration sensor and angular velocity data obtained through a gyro sensor may be data optimized by the sensor fusion unit.
- the interface device may generate second motion information by calculating the first motion information obtained in step S200.
- the second movement information may include at least one of angle data, speed data, distance data, and direction data.
- the interface device may calculate and acquire the second motion information in real time while the object is moving. For example, the interface device may obtain second motion information by performing an operation on the first motion information every reference time (eg, 5 ms). The reference time may be 30 ms or less, but is not limited thereto. Since the interface device is worn on the middle node of the index finger, the joint between the first node and the middle node of the index finger may be used as an axis to determine the angle and speed at which the middle node of the index finger moves. In addition, the interface device is worn on the end node of the index finger, so that the joint between the first node and the middle node of the index finger can be used to determine the angle and speed at which the end node of the index finger has moved.
- the interface device may determine a motion corresponding to the motion of the object, based on the obtained second motion information.
- the interface device may determine motion based on the speed, angle, distance, and the like of the index finger.
- the interface device may determine a motion corresponding to the movement of the object among predefined motions. Motions may include, but are not limited to, move, tap, grab, scroll, swipe, gesture, and rotation motion. If the motion of the object does not correspond to any of the predefined motions or is determined to be a meaningless motion, the interface device may process an exception without generating a control signal.
- the interface device may transmit a control signal indicating the determined motion to the host device through the wireless communication interface.
- the control signal may be an interrupt signal for controlling the host device.
- the interface device may determine whether the location of the object is within a reference distance from a location where the content is played, and may transmit a control signal to the host device only when the result is within the reference distance. This is because when the user is far from the content, the user's movement is difficult to see as a movement for controlling the content.
- the host device may control the content based on the received control signal. For example, when the received control signal is a move motion, the host device may move the baseball ball in the game in a direction, speed, and distance proportional to the movement of the object. The host device may select an item on the game when the received control signal is tap motion. When the received control signal is a rotation motion, the host device may rotate the original disc in the game. When the received control signal is a move motion, the host device may zoom-in or zoom-out the content according to the distance between the object and the content.
- the received control signal is a move motion
- the host device may move the baseball ball in the game in a direction, speed, and distance proportional to the movement of the object.
- the host device may select an item on the game when the received control signal is tap motion.
- the received control signal is a rotation motion
- the host device may rotate the original disc in the game.
- the host device When the received control signal is a move motion, the host device may zoom-in or zoom-out the content according to
- FIG. 14 is a flowchart of a method for an interface device to obtain distance data on object movement according to an embodiment.
- the interface device may generate the linear acceleration data by removing the gravitational acceleration component from the acceleration data. By removing the influence of the gravitational acceleration from the acceleration data, acceleration data on the movement of the object can be obtained.
- the interface device may acquire velocity data by performing an integral operation on the linear acceleration data.
- the interface device may acquire distance data by performing an integral operation on the speed data.
- 15 is a flowchart of a method for obtaining distance data, according to an embodiment. 15 may indicate a sub-step of step S800 of FIG. 13.
- the interface device may determine the angle and speed for the initial movement of the object.
- the interface device may acquire angle data and velocity data for an initial motion (for example, within a reference time after the motion starts) after the motion of the object starts.
- the interface device may determine whether the angle data and speed data obtained in step S612 satisfy the reference condition. For example, when the speed is greater than a reference value and the angle change width is within 20 degrees, the interface device may determine the movement of the object as movement in the straight direction. If the angle data and the speed data do not satisfy the reference condition (No), the interface device may process an exception if it is determined that the motion of the object corresponds to another motion or does not correspond to any motion (S618).
- the interface device may determine the movement as a move motion, and obtain distance data for the movement of the object (S616). For example, the interface device may determine a time point at which the interface device moves at a predetermined speed or more in a direction to move as a starting point for movement. Distance data for the movement of the object may be determined by the method described above with reference to FIG. 14.
- the interface device may further acquire location data (eg, 3D spatial coordinates of the object) and direction data in addition to the distance data.
- location data eg, 3D spatial coordinates of the object
- the interface device may acquire the position data of the current object based on the distance data that the object has moved when the position of the object at any point in time or the position on an arbitrary space is used as a reference point.
- the interface device may determine a distance moved for each unit of motion of the object, and store the determined distance data in a memory.
- the interface device may read distance data for movements from the memory and sum the read distance data to determine the position data of the current object.
- the interface device has the first distance data of the first move motion (10). , -20, 30), when the second distance data of the second move motion is (-10, -30, -10), and the third distance data of the third move motion is (20, 100, 100), the current The position data of the object can be determined as (20, 50, 120).
- the first distance data of the first move motion is (5, 30, 20)
- the second distance data for simple movement is (500, 500, 0)
- the second distance data for the second move motion is (10, 30, 30)
- the current object position data 515 , 560, 50).
- the interface device may acquire direction data in which the object is moving based on a comparison of current distance data and previous distance data.
- the previous distance data may mean distance data obtained immediately before. For example, if the distance data is calculated every 5 ms, based on the distance data at the time t and the distance data obtained at the time t-5 ms, whether it increases or decreases in the x-axis direction, increases or decreases in the y-axis direction, and the z-axis. You can decide whether to increase or decrease in the direction.
- the interface device 2000 may determine that the current movement direction is increased in the x-axis direction, increased in the y-axis direction, and decreased in the z-axis direction.
- 16A to 16D illustrate that content is controlled based on a move motion according to various embodiments.
- a user moves an object (for example, a cane or a pen) up, down, left and right, back and forth, or in any direction among the x-axis, y-axis, and z-axis, such as content on a smartphone (eg For example, baseball) can be controlled.
- the host device may move the content (baseball ball) of the virtual space on the virtual communicator according to the motion characteristics of the object.
- 17 is a flowchart of an operation in which a host device zooms in or zooms out content based on a move motion according to an embodiment.
- 18 may indicate a sub-step of step S900 of FIG. 13.
- step S920 the host device may determine whether the control signal received from the interface device is a move motion. If the received control signal is not a move signal (No), the host device may perform another operation corresponding to the received control signal (S930).
- step S940 it may be determined whether the distance between the content and the object is close. If the content is being played on the display of the host device, the location of the content is the same as the location of the host device itself, and if the content is virtual reality content played by the host device, the content location may not be the same as the location of the host device.
- the host device may zoom-in the content (S950). If it is determined that the distance between the location of the object and the location of the host device is increasing (No), the host device may zoom-out the content (S960).
- the flowchart of FIG. 16 is only one embodiment for the host device to perform the zoom-in / zoom-out operation based on the move motion, and the zoom-in / zoom-out operation may be defined as another move motion. . For example, if the content is close to a distance between objects, zoom-out may be performed, and zoom-in may be performed as the distance increases.
- zoom-in may be performed, and if the object moves to the left (or right), zoom-out may be performed.
- the interface device may determine the distance between the content and the object, and output the control signal to the host device as a zoom-in / zoom-out signal instead of a move signal according to the determination result.
- the operation of determining the distance between the content and the object and transmitting the zoom-in / zoom-out signal may be performed in steps S600 and S800 of FIG. 13, respectively.
- FIG. 18 is a flowchart of a method for an interface device to determine an object motion as a tap (or click) motion according to an embodiment.
- FIG. 18 may indicate a sub-step of step S600 of FIG. 13.
- the interface device may determine whether the angle data and speed data for the motion satisfy the reference condition.
- the interface device may determine whether the angle is within the first reference range and the speed is within the second reference range.
- step S626 the interface device may determine the motion of the object as a tap motion. Otherwise (No), in step S628, the interface device may determine whether the motion of the object corresponds to another motion or to handle an exception when it is determined that it does not correspond to any motion.
- 19 is a flowchart of a method for an interface device to determine a motion of an object as a grab motion according to an embodiment. 19 may indicate a sub-step of step S600 of FIG. 13.
- the interface device may determine whether the angle and speed satisfy the reference condition and whether there is no reverberation in the movement. For example, the interface device 2000 may determine whether the angle is within the first reference range and the speed is within the second reference range. In addition, the interface device 2000 may determine whether the object is reverberated for movement. Reverberation refers to movement (or tremor) of an object (for example, a finger) that occurs regardless of the user's intention, depending on the characteristics of the object or the inertia of the object even though the user has finished the movement. For example, the reverberation may refer to the remaining signal due to the inertia of the acceleration sensor.
- the movement of the object eg, index finger
- another object eg, the thumb
- step S636 the interface device may determine the movement of the object as the grabbing motion. Otherwise (No), in step S638, the interface device may determine whether the motion of the object corresponds to another motion or to handle an exception when it is determined that it does not correspond to any motion.
- 20 is a flowchart of a method for determining a movement of a finger as a scroll motion by an interface device according to an embodiment. 20 may indicate a sub-step of step S600 of FIG. 13.
- the interface device may determine whether the angle, speed, and distance satisfy the reference condition. For example, the interface device may determine whether the angle is within the first reference range, the speed is within the second reference range, and the distance is within the third reference range. For example, the interface device may determine whether an angular velocity in one of the x, y, and z axes is greater than or equal to a reference value, and an angle in at least one of the x, y, and z axes is within a reference range. . In addition, the interface device may determine whether the distance (eg, the distance at which the middle node or the end node of the index finger moves) is greater than a threshold value.
- the scroll motion considers that the movement of the finger is greater than that of the tap motion, and thus the distance may be a criterion for distinguishing the tap motion from the scroll motion.
- step S646 the interface device may determine the movement of the object as a scroll motion. Otherwise (No), in step S648, the interface device may determine whether the motion of the object corresponds to another motion or to handle an exception when it is determined that it does not correspond to any motion.
- 21 is a flowchart of a method for an interface device to determine a motion of an object as a swipe motion, according to an embodiment. 21 may indicate a sub-step of step S600 of FIG. 13.
- the interface device may determine whether the speed and distance satisfy the reference condition. For example, the interface device may determine whether the speed is within the first reference range and the distance is within the second reference range. Considering that the motion of the swipe motion is greater than that of the move motion, whether speed and distance are both greater than a threshold value may be a criterion for distinguishing the swipe motion from the move motion.
- step S656 the interface device may determine the motion of the object as a swipe motion. Otherwise (No), in step S658, the interface device may determine whether the motion of the object corresponds to another motion or to handle an exception when it is determined that it does not correspond to any motion.
- 22 is a flowchart of a method for an interface device to determine an object motion as a rotation motion according to an embodiment.
- step S664 the interface device may determine whether the angle satisfies the reference condition. For example, if the moving angles for each of the x-axis, y-axis, and z-axis directions satisfy all of the reference conditions (Yes), in step S666, the interface device may determine the movement of the object as the rotation motion. have. Otherwise (No), in step S668, the interface device may determine whether the motion of the object corresponds to another motion or to handle an exception when it is determined that it does not correspond to any motion.
- 23 is a flowchart of a method of controlling content of a host device based on two interface devices, according to an embodiment.
- the first interface device may obtain first motion information of the first object based on the first acceleration sensor, the first gyro sensor, and the first geomagnetic sensor worn on the first object.
- the first movement information may include at least one of acceleration data of the first object and angular velocity data of the first object.
- the first object may be the index finger of the user.
- the first interface device may acquire second motion information for the first object.
- the first interface device may obtain the second motion information by calculating the first motion information obtained in step S2220.
- the second movement information may include at least one of angle data, distance data, speed data, and direction data. The method of obtaining the second motion information is the same as described above with reference to FIGS. 3 to 14, so a detailed description thereof will be omitted.
- the second interface device may acquire third motion information of the second object based on the second acceleration sensor, the second gyro sensor, and the second geomagnetic sensor worn on the second object.
- the third movement information may include at least one of acceleration data of the second object and angular velocity data of the second object.
- the second object may be the thumb of the user.
- the second interface device may acquire fourth motion information for the second object.
- the second interface device may obtain the fourth motion information by calculating the third motion information obtained in step S2400.
- the fourth movement information may include at least one of angle data, distance data, speed data, and direction data. The method for acquiring the fourth motion information is as described above with reference to FIGS. 3 to 14, so a detailed description thereof will be omitted.
- the first interface device or the second interface device may determine motion corresponding to the movement of the two interface devices based on the second motion information and the fourth motion information.
- the second motion information may be transmitted from the first interface device to the second interface device, or the fourth motion information may be transmitted from the second interface device to the first interface device.
- the processor of the first interface device or the second interface device may determine a specific motion corresponding to the second motion information and the fourth motion information obtained using a predetermined algorithm.
- the first interface device or the second interface device may determine a motion corresponding to a combination of second motion information and fourth motion information obtained from among the predefined motions.
- the first interface device or the second interface device may determine motion corresponding to the movement of the index finger and thumb of the user.
- the predefined motions may include fine tuning, multi-touch, zoom in, and zoom out motion described above with reference to FIG. 6.
- the first interface device or the second interface device combines the angle, speed, and distance of each of the index and thumb movements based on the acquired second and fourth motion information, so that the user The movement to be taken can be determined as a fine tuning motion for fine-tuning the content.
- the first interface device or the second interface device may determine a motion taken by the user as a multi-touch motion based on the tap motion of each index finger and thumb, based on the method described above with reference to FIG. .
- the first interface device or the second interface device zooms in the motion the user takes. -Can be determined in-motion.
- the first interface device or the second interface device may determine a movement taken by the user as a zoom-out motion when it is determined that the index finger and the thumb are separated from each other by a reference speed or higher.
- the first interface device or the second interface device may process an exception when it is determined that the user's motion does not correspond to any predefined motion or is determined to be meaningless motion based on the acquired second motion information and fourth motion information. You can.
- the first interface device or the second interface device may transmit a control signal indicating the determined motion to the host device through a wireless communication interface.
- the control signal may be an interrupt signal for controlling the host device.
- step S2900 the host device may control the content based on the received control signal.
- 24 is a flowchart of a method for controlling content of a host device based on two interface devices, according to an embodiment.
- Steps S2200 to S2500 in FIG. 24 are the same as steps S2200 to S2500 in FIG. 23, and detailed descriptions thereof will be omitted.
- the interface devices may transmit second motion information and fourth motion information to the host device.
- the first interface device may transmit second motion information for the first object to the host device through a wireless communication interface.
- the second interface device may transmit the fourth motion information for the second object to the host device through the wireless communication interface.
- the host device may generate a control signal based on the second motion information and the fourth motion information.
- the processor of the host device may generate control signals corresponding to the second motion information and the fourth motion information obtained using a predetermined algorithm.
- the control signal may be a signal for performing the fine tuning, multi-touch, zoom-in, or zoom-out operation described above.
- step S2900 the host device may control the content based on the control signal.
- each of the interface devices transmits its own motion information to the host device, and the host device combines and calculates the received motion information to generate a control signal (or motion) corresponding to the motion of the interface devices. Can decide.
- step S2900 the host device may control the content based on the received control signal.
- FIG. 25 is a flowchart of an operation in which a host device performs a fine tuning operation based on two interface devices.
- FIG. 25 may indicate a sub-step of step S2800 in FIG.
- the host device may determine whether the user is using two interface devices. According to an embodiment, the host device may determine whether two interface devices are connected to Bluetooth. According to an embodiment, the host device may determine that the running application supports the use of two interface devices, and if the two interface devices are connected to Bluetooth, the two interface devices are used. If it is determined that the host device is not using two interface devices (No), in step S2825, motion can be determined using only one interface device (see FIGS. 15 to 22).
- the host device may determine whether the angular velocity of each of the two interface devices satisfies the reference condition. For example, in step S2826, the host device may determine whether the angular velocity at which the two fingers move is within a reference range based on the motion information obtained from each of the two interface devices. If the angular velocity is within a reference range (Yes), the host device may generate a control signal for fine tuning operation. Otherwise (No), in step S2828, the host device may determine whether the motion of the object corresponds to another motion or to handle an exception when it is determined that it does not correspond to any motion.
- FIG. 26 is a flowchart of an operation in which a host device performs zoom-in / zoom-out based on two interface devices.
- FIG. 26 may indicate a sub-step of step S2800 of FIG. 24.
- step S2842 the host device may determine whether the user is using two interface devices.
- the operation of the host device in step S2842 is similar to the operation in step S2822 in Fig. 23, and detailed description is omitted.
- step S2843 motion can be determined with only one interface device (see FIGS. 15 to 22). If the host device is connected to two interface devices (Yes), the host device may determine whether the distance between the two interface devices is getting closer in step S2844. For example, if it is determined that the first interface device and the second interface device are closer to each other than the first reference speed based on the obtained motion information of the first interface device and the motion information of the second interface device (Yes), The host device may generate a control signal for the zoom-out operation (step S2845).
- the host device determines whether the first interface device and the second interface device are separated from each other by a second reference speed or higher based on the obtained motion information of the first interface device and the motion information of the second interface device. It is possible (step S2846). If it is determined that the first interface device and the second interface device are separated from each other by a second reference speed or more (Yes), the host device may generate a control signal for a zoom-in operation (step S2847). Otherwise (No), in step S2828, the host device may determine whether the motion of the object corresponds to another motion or to handle an exception when it is determined that it does not correspond to any motion.
- FIGS. 24 to 25 show an embodiment in which a host device determines motion based on received motion information, but the method disclosed in FIGS. 24 to 25 receives motion information from one of the interface devices and receives the motion information from another interface device. , It can also be applied to an embodiment of determining motion based on own motion information and received motion information (FIG. 22).
- FIG. 27 illustrates controlling hologram content with the interface device described above with reference to FIGS. 1 to 26, according to an embodiment.
- the user may use the ring-shaped interface device 2000 of FIG. 2 or the wand 12000 of FIG. 12 as a controller for the hologram display.
- FIG. 28 illustrates controlling content displayed by AR glass with the interface device described above with reference to FIGS. 1 to 26 according to an embodiment.
- a user may wear a ring-shaped interface device on his or her finger, and use a finger to control content displayed by the AR glass.
- the host device is an AR glass, and content can be displayed on the three-dimensional space by the AR glass.
- the user may control the content in the x-axis direction and the y-axis direction.
- the operation of the interface device may operate like a flat 2D mouse.
- the user may move the content through the above-described move motion with reference to FIGS. 15 to 17 or contact a specific location in the 3D space.
- the content may be reduced (or zoomed out) or enlarged (or zoomed in) through the above-described move motion with reference to FIGS. 15 to 17.
- the user may control the content through the motions described above with reference to FIGS. 18 to 22.
- a user can rotate, click, or grab content on a 3D space with a finger.
- the above-described content control method can be implemented as computer-readable codes on a computer-readable recording medium.
- the computer-readable recording medium includes all kinds of recording devices in which data readable by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, and optical data storage devices.
- the computer-readable recording medium can be distributed over network coupled computer systems so that the processor readable code is stored and executed in a distributed fashion.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
호스트 장치의 콘텐츠를 제어하기 위한 인터페이스 장치가 개시된다. 개시된 일 실시 예에 따른 인터페이스 장치는, 가속도 센서, 자이로 센서, 및 지자기 센서에 기반하여 객체의 제1움직임 정보를 획득하기 위한 센싱 모듈, 및 제1움직임 정보의 연산을 통해 제2움직임 정보를 획득하고, 제2움직임 정보에 기반하여 객체의 움직임에 대응되는 모션을 결정하고, 결정된 모션을 나타내는 제어 신호를 호스트 장치로 출력하기 위한 제어 신호 출력부를 포함하고, 객체는 사람의 손가락 또는 물건을 포함하고, 제1움직임 정보는 가속도 센서를 통해 획득되는 가속도 데이터와 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함하고, 제2움직임 정보는, 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다.
Description
본 발명은 가상 콘텐츠를 제어하기 위한 인터페이스 장치에 관한 것으로, 보다 구체적으로는 삼차원 공간 상의 인체 또는 물체의 모션에 기반하여 콘텐츠를 제어하기 위한 인터페이스 장치에 관한 것이다.
최근 증강 현실(Augmented Reality, AR), 가상 현실(Virtual Reality, VR), 혼합 현실(Mixed Reality, MR)과 같은 가상 현실에 기반한 콘텐츠 시장이 발전하고 있다. 또한, 가상 현실의 대중화에 따라 가상 콘텐츠를 생성하고 제어할 수 있는 인터페이스에 대한 관심이 높아지고 있다. 가상 콘텐츠는 가상의 3차원 공간에 재생되어 다루어지는 가상의 객체로서, 현재까지의 인터페이스 장치는 소비자의 요구를 충족시키는데 부족함이 있었으며 범용 인터페이스로도 적합하지 않았다.
예를 들어, 도1에 나타난 VR 컨트롤러의 경우 기구가 크고 무거우며 고가일 뿐만 아니라, 다양한 버튼식 기능은 학습이 필요하다. 또한, VR 컨트롤러는 특정 HMD(Head Mount Display)에 전용적으로 사용되므로 일반 범용 마우스처럼 언제 어디에서나 사용할 수 없는 문제점이 있다.
3차원 공간 상에서 모션 트레킹(Motion Tracking)을 통해 VR, AR, MR 등에 기반하여 구현되는 가상 콘텐츠를 편하고 직관적으로 제어하기 위한 인터페이스 장치가 제공될 수 있다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
착용이 편하며 직관적이며 조작 방법에 대한 학습이 필요없는 인터페이스 장치가 제공될 수 있다.
상기 인터페이스 장치는 휴대가 간편하므로, 언제 어디서든 스마트폰, TV, PC 모니터, 태블릿 PC, 홀로그램, HMD(Head Mount Display) 등에 표시된 가상 콘텐츠를 쉽고 정밀하게 컨트롤 할 수 있다.
도1은 일 실시 예에 따라, VR컨트롤러를 나타낸다.
도2는 일 실시 예에 따라, 인터페이스 장치를 사용하여 콘텐츠를 제어하는 시스템을 나타낸다.
도3은 일 실시 예에 따라, 인터페이스 장치를 포함하는 시스템을 나타낸다.
도4는 일 실시 예에 따라, 센싱 모듈이 움직임 정보를 획득하는 개념도를 나타낸다.
도5는 일 실시 예에 따라, 하나의 인터페이스 장치로 콘텐츠를 제어하기 위한 모션들을 나타낸다.
도6은 일 실시 예에 따라, 두 개의 인터페이스 장치들로 콘텐츠를 제어하기 위한 모션들을 나타낸다.
도7은 일 실시 예에 따라, 서로 다른 손가락에 착용된 두 개의 인터페이스 장치를 이용해 호스트 장치의 콘텐츠를 제어하기 위한 시스템을 나타낸다.
도8은 일 실시 예에 따라, 인터페이스 장치가 메인 모듈과 연결부로 분리되는 모습을 나타낸다.
도9는 일 실시 예에 따라, 배터리를 충전시키기 위한 충전 단자를 포함하는 인터페이스 장치를 나타낸다.
도10은 일 실시 예에 따라, 인터페이스 장치가 내장된 주사위를 나타낸다.
도11은 일 실시 예에 따라, 인터페이스 장치의 블록도를 나타낸다.
도12는 일 실시 예에 따라, 인터페이스 장치가 연결된 지팡이를 나타낸다.
도13은 일 실시 예에 따라, 호스트 장치의 콘텐츠를 제어하기 위한 방법의 흐름도를 나타낸다.
도14는 일 실시 예에 따라, 거리 데이터를 획득하기 위한 방법의 흐름도를 나타낸다.
도15는 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임을 무브 모션으로 결정하기 위한 방법의 흐름도를 나타낸다.
도16a 내지 16d는 다양한 실시 예에 따라, 무브 모션에 기반하여 콘텐츠가 제어되는 것을 나타낸다.
도17은 일 실시 예에 따라, 호스트 장치가 무브 모션에 기반하여 콘텐츠를 줌-인하거나 줌-아웃하는 동작의 흐름도를 나타낸다.
도18은 일 실시 예에 따라, 인터페이스 장치가 손가락의 움직임을 탭(또는, 클릭(Click) 모션으로 결정하기 위한 방법의 흐름도를 나타낸다.
도19는 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임을 잡기 모션으로 결정하기 위한 방법의 흐름도를 나타낸다.
도20은 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임을 스크롤 모션으로 결정하기 위한 방법의 흐름도를 나타낸다.
도21은 일 실시 예에 따라 인터페이스 장치가 객체의 움직임을 스와이프 모션으로 결정하기 위한 방법의 흐름도를 나타낸다.
도22는 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임을 로테이션 모션으로 결정하기 위한 방법의 흐름도를 나타낸다.
도23은 일 실시 예에 따라, 두 개의 인터페이스 장치에 기반하여 호스트 장치의 콘텐츠를 제어하기 위한 방법의 흐름도를 나타낸다.
도24는 일 실시 예에 따라, 두 개의 인터페이스 장치에 기반하여 호스트 장치의 콘텐츠를 제어하기 위한 방법의 흐름도를 나타낸다.
도25는 일 실시 예에 따라, 호스트 장치가 두 개의 인터페이스 장치와에 기반하여 파인튜닝 동작을 위한 제어 신호를 발생시키는 동작의 흐름도를 나타낸다.
도26은 일 실시 예에 따라, 호스트 장치가 두 개의 인터페이스 장치와에 기반하여 줌-인/줌-아웃 동작을 위한 제어 신호를 발생시키는 흐름도를 나타낸다.
도27은 일 실시 예에 따라, 도1 내지 26을 참조하여 상술한 인터페이스 장치로 홀로그램 콘텐츠를 제어하는 것을 나타낸다.
도28은 일 실시 예에 따라, 도1 내지 26을 참조하여 상술한 인터페이스 장치로 AR 글래스에 의해 디스플레이되는 콘텐츠를 제어하는 것을 나타낸다.
호스트 장치의 콘텐츠를 제어하기 위한 인터페이스 장치는, 가속도 센서, 자이로 센서, 및 지자기 센서에 기반하여 객체의 제1움직임 정보를 획득하기 위한 센싱 모듈, 및 상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 획득하고, 상기 제2움직임 정보에 기반하여 상기 객체의 움직임에 대응되는 모션을 결정하고, 상기 결정된 모션을 나타내는 제어 신호를 상기 호스트 장치로 출력하기 위한 제어 신호 출력부를 포함하고, 상기 객체는 사람의 손가락 또는 물건을 포함하고, 상기 제1움직임 정보는 상기 가속도 센서를 통해 획득되는 가속도 데이터와 상기 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함하고, 상기 제1움직임 정보는, 상기 센싱 모듈로부터 출력되어 SPI(Serial Peripheral Interface) 버스 및 I2C(Inter Integrated Circuit) 버스 중 적어도 하나를 통해 상기 제어 신호 출력부로 전달되고, 상기 제2움직임 정보는, 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다.
상기 거리 데이터는, x축 방향, y축 방향, 및 z축 방향 각각에 대한 거리 데이터를 포함하고, 상기 속도 데이터는, x축 방향, y축 방향, 및 z축 방향 각각에 대한 속도 데이터를 포함하고, 상기 방향 데이터는, x축 방향으로의 증감 여부, y축 방향으로의 증감 여부, 및 z축 방향으로의 증감 여부에 대한 정보를 포함할 수 있다.
상기 제어 신호 출력부는, 상기 호스트 장치를 제어하기 위한 기 정의된 모션들 중 상기 객체의 움직임에 대응하는 모션을 결정하도록 구성되고, 상기 기 정의된 모션들은 무브, 탭, 잡기, 스크롤, 스와이프, 및 로테이션을 포함할 수 있다.
상기 센싱 모듈은, 상기 가속도 센서, 상기 자이로 센서, 및 상기 지자기 센서 각각으로부터 획득되는 데이터를 필터 또는 알고리즘에 기반하여 보상 및 융합함으로써 최적화된 상기 제1움직임 정보를 획득하기 위한 센서 융합부를 더 포함할 수 있다.
상기 제어 신호 출력부는, 상기 제1움직임 정보를 연산함으로써 상기 제2움직임 정보를 획득하고, 상기 제2움직임 정보에 기반하여 상기 객체의 움직임과 대응하는 상기 모션을 결정하기 위한 프로세서, 및 무선 통신 인터페이스에 기반하여 상기 제어 신호를 상기 호스트 장치로 전달하기 위한 통신부를 포함할 수 있다.
상기 프로세서는, 상기 제2움직임 정보를 기준 시간마다 획득하고, 상기 기준 시간은 30ms 이하일 수 있다.
상기 프로세서는, 상기 가속도 데이터에서 중력 가속도 성분을 제거한 선형 가속도 데이터에 적분 연산을 수행함으로써 상기 속도 데이터와 상기 거리 데이터를 획득할 수 있다.
상기 프로세서는, 상기 각속도 데이터에 적분 연산을 수행함으로써 상기 각도 데이터를 획득하고, 현재 거리 데이터와 이전 거리 데이터와의 비교에 기반하여 상기 방향 데이터를 획득할 수 있다.
상기 센싱 모듈 및 상기 제어 신호 출력부 중 적어도 하나의 동작을 위해 필요한 전원을 공급하는 배터리, 및 상기 배터리를 충전시키기 위한 충전 단자를 더 포함할 수 있다.
상기 센싱 모듈과 상기 제어 신호 출력부를 내장하기 위한 케이스를 더 포함하고, 상기 케이스를 상기 손가락에 착용 또는 고정시키기 위한 링형의 연결부를 더 포함하고, 상기 링형의 연결부는, 상기 손가락의 중간 마디 또는 끝 마디에 착용되도록 구성될 수 있다.
호스트 장치의 가상 현실 콘텐츠를 제어하기 위한 주사위에 있어서, 가속도 센서, 자이로 센서, 및 지자기 센서에 기반하여 상기 주사위의 제1움직임 정보를 획득하기 위한 센싱 모듈, 상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 생성하고, 상기 제2움직임 정보에 기반하여 상기 주사위의 움직임에 대응되는 제어 신호를 상기 호스트 장치로 출력하기 위한 제어 신호 출력부, 상기 센싱 모듈 및 상기 제어 신호 출력부 중 적어도 하나의 동작을 위해 필요한 전원을 공급하는 배터리, 상기 센싱 모듈, 상기 제어 신호 출력부, 및 상기 배터리를 내장하기 위한 중공, 및 상기 배터리를 충전시키기 위한 충전 단자를 포함하고, 상기 제1움직임 정보는 상기 가속도 센서를 통해 획득되는 가속도 데이터와 상기 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함하고, 상기 제1움직임 정보는, 상기 센싱 모듈로부터 출력되어 SPI(Serial Peripheral Interface) 버스 및 I2C(Inter Integrated Circuit) 버스 중 적어도 하나를 통해 상기 제어 신호 출력부로 전달되고, 상기 제2움직임 정보는, 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다.
상기 제어 신호 출력부는, 상기 제1움직임 정보를 연산함으로써 상기 제2움직임 정보를 획득하고, 상기 제2움직임 정보 중 적어도 하나에 기반하여 상기 주사위의 움직임과 대응하는 제어 신호를 생성하기 위한 프로세서, 및 블루투스 통신에 기반하여 상기 제어 신호를 상기 호스트 장치로 전달하기 위한 통신부를 포함할 수 있다.
상기 제어 신호 출력부는, 상기 가속도 데이터, 상기 각속도 데이터, 상기 속도 데이터, 상기 거리 데이터, 및 상기 방향 데이터 중 적어도 하나에 기반하여 상기 주사위가 나타내는 숫자를 결정하고, 상기 숫자 정보를 포함하는 상기 제어 신호를 출력할 수 있다.
콘텐츠를 제어하기 위한 시스템에 있어서, 제1손가락에 착용되고, 제1가속도 센서, 제1자이로 센서, 및 제1지자기 센서에 기반하여 상기 제1손가락의 제1움직임 정보를 획득하고, 상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 획득하기 위한 제1인터페이스 장치, 제2손가락에 착용되고, 상기 제2손가락의 제3움직임 정보를 획득하고, 상기 제3움직임 정보의 연산을 통해 제4움직임 정보를 획득하기 위한 제2인터페이스 장치, 및 상기 콘텐츠를 생성하고, 상기 제2움직임 정보 및 제4움직임 정보에 기반하여 결정된 모션에 따라 상기 콘텐츠를 제어하기 위한 호스트 장치를 포함하고, 상기 제1움직임 정보는, 상기 제1가속도 센서를 통해 획득되는 제1가속도 데이터와 상기 제1자이로 센서를 통해 획득되는 제1각속도 데이터 중 적어도 하나를 포함하고, 상기 제2움직임 정보는, 제1각도 데이터, 제1거리 데이터, 제1속도 데이터, 및 제1방향 데이터 중 적어도 하나를 포함하고, 상기 제3움직임 정보는, 상기 제2가속도 센서를 통해 획득되는 제2가속도 데이터와 상기 제2자이로 센서를 통해 획득되는 제2각속도 데이터 중 적어도 하나를 포함하고, 상기 제4움직임 정보는, 제2각도 데이터, 제2거리 데이터, 제2속도 데이터, 및 제2방향 데이터 중 적어도 하나를 포함하고, 상기 제1인터페이스 장치는, 상기 제1각속도 데이터에 적분 연산을 수행함으로써 상기 제1각도 데이터를 획득하고, 상기 제1가속도 데이터에서 중력 가속도 성분을 제거한 선형 가속도 데이터에 적분 연산을 수행함으로써 상기 제1속도 데이터와 상기 제1거리 데이터를 획득하고, 현재 거리 데이터와 이전 거리 데이터의 비교에 기반하여 상기 제1방향 데이터를 획득하고, 상기 모션은 파인 튜닝, 멀티 터치, 줌 인, 또는 줌 아웃을 포함할 수 있다.
상기 호스트 장치는, 상기 제2움직임 정보와 상기 제4움직임 정보에 기반하여, 상기 제1인터페이스 장치와 상기 제2인터페이스 장치가 제1기준 속도 이상으로 서로 멀어지면 상기 콘텐츠를 줌-인하고, 상기 제1인터페이스 장치와 상기 제2인터페이스 장치가 제2기준 속도 이상으로 서로 가까워지면 상기 콘텐츠를 줌-아웃할 수 있다.
호스트 장치의 콘텐츠를 제어하는 방법은, 가속도 센서, 자이로 센서, 및 지자기 센서에 기반하여 객체의 제1움직임 정보를 획득하는 단계, 상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 획득하는 단계, 상기 제2움직임 정보에 기반하여 상기 객체의 움직임에 대응되는 모션을 결정하는 단계, 상기 결정된 모션을 나타내는 제어 신호를 무선 통신 인터페이스를 통해 상기 호스트 장치로 전송하는 단계, 및 상기 호스트 장치가 상기 제어 신호에 기반하여 상기 콘텐츠를 제어하는 단계를 포함하고, 상기 제1움직임 정보는 상기 가속도 센서를 통해 획득되는 가속도 데이터와 상기 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함하고, 상기 제2움직임 정보는, 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함하고, 상기 모션은 무브, 탭, 잡기, 스크롤, 스와이프, 또는 로테이션을 포함하는 호스트 장치의 콘텐츠를 제어할 수 있다.
상기 제2움직임 정보를 생성하는 단계는, 상기 가속도 데이터에서 중력 가속도 성분을 제거함으로써 선형 가속도 데이터를 결정하는 단계, 상기 선형 가속도 데이터에 적분 연산을 수행함으로써 상기 속도 데이터를 결정하는 단계, 및 상기 속도 데이터에 적분 연산을 수행함으로써 상기 거리 데이터를 결정하는 단계를 포함할 수 있다.
상기 제2움직임 정보를 생성하는 단계는, 현재 거리 데이터와 이전 거리 데이터와의 비교에 기반하여 상기 방향 데이터를 결정하는 단계를 포함할 수 있다.
상기 제2움직임 정보를 생성하는 단계는, 상기 각속도 데이터에 적분 연산을 수행함으로써 상기 각도 데이터를 결정하는 단계를 포함할 수 있다.
상기 객체의 움직임에 대응되는 모션을 결정하는 단계는, 상기 움직임이 시작된 후 기준 시간 내의 각도 데이터와 속도 데이터가 기준 조건을 만족하면, 상기 움직임을 상기 무브 모션으로 결정하는 단계를 포함하고, 상기 호스트 장치의 콘텐츠를 제어하기 위한 방법은, 상기 호스트 장치가 수신한 제어 신호가 무브 모션이면, 상기 객체의 거리 데이터에 기반하여 상기 콘텐츠를 이동시키는 단계를 더 포함할 수 있다.
상기 콘텐츠를 이동시키는 단계는, 상기 객체와 상기 콘텐츠 사이의 거리가 가까워지면 상기 콘텐츠를 줌-인하고, 상기 객체와 상기 콘텐츠 사이의 거리가 멀어지면 상기 콘텐츠를 줌-아웃하는 단계를 포함할 수 있다.
상기 객체의 움직임에 대응되는 모션을 결정하는 단계는, 상기 각도 데이터와 상기 속도 데이터가 기준 조건을 만족하면, 상기 모션을 상기 탭 모션으로 결정하는 단계를 포함할 수 있다.
상기 객체의 움직임에 대응되는 모션을 결정하는 단계는, 상기 각도 데이터와 상기 속도 데이터가 기준 조건을 만족하고 상기 움직임에 잔향이 없으면, 상기 모션을 상기 잡기 모션으로 결정하는 단계를 포함할 수 있다.
상기 객체의 움직임에 대응되는 모션을 결정하는 단계는, 상기 각도 데이터, 상기 속도 데이터, 및 상기 거리 데이터가 기준 조건을 만족하면 상기 모션을 상기 스크롤 모션으로 결정하는 단계를 포함할 수 있다.
상기 객체의 움직임에 대응되는 모션을 생성하는 단계는, 상기 속도 데이터 및 상기 거리 데이터가 기준 조건을 만족하면 상기 모션을 상기 스와이프 모션으로 결정하는 단계를 포함할 수 있다.
상기 객체의 움직임에 대응되는 모션을 생성하는 단계는, 상기 속도 데이터 및 상기 거리 데이터가 기준 조건을 만족하면 상기 모션을 상기 로테이션 모션으로 결정하는 단계를 포함할 수 있다.
상기 제어 신호를 상기 호스트 장치로 전달하는 단계는, 상기 객체의 위치가 상기 콘텐츠가 재생되는 위치로부터 기준 거리 내에 있는지 판단하는 단계, 및 상기 판단 결과, 상기 기준 거리 내에 있을 때에만 상기 제어 신호를 상기 호스트 장치로 전달하는 단계를 포함할 수 있다.
상기 호스트 장치는, AR 글래스 이고, 상기 콘텐츠는, 상기 AR 글래스에 의해 3차원 공간 상에 디스플레이될 수 있다.
호스트 장치의 콘텐츠를 제어하기 위한 방법은, 제1손가락에 착용되고, 제1가속도 센서, 제1자이로 센서, 및 제1지자기 센서를 포함하는 제1인터페이스 장치에 기반하여 제1손가락의 제1움직임 정보를 획득하는 단계, 상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 생성하는 단계, 제2손가락에 착용되고, 제2가속도 센서, 제2자이로 센서, 및 제2지자기 센서를 포함하는 제2인터페이스 장치에 기반하여 제2손가락의 제3움직임 정보를 획득하는 단계, 상기 제3움직임 정보의 연산을 통해 제4움직임 정보를 생성하는 단계, 상기 제2움직임 정보 및 상기 제4움직임 정보를 상기 호스트 장치로 출력하는 단계, 상기 제2움직임 정보 및 상기 제4움직임 정보에 기반하여 제어 신호를 생성하는 단계, 및 상기 제어 신호에 기반하여 콘텐츠를 제어하는 단계를 포함하고, 상기 제1움직임 정보는 상기 제1가속도 센서를 통해 획득되는 제1가속도 데이터와 상기 자이로 센서를 통해 획득되는 제1각속도 데이터 중 적어도 하나를 포함하고, 상기 제2움직임 정보는, 상기 제1손가락의 움직임에 대한 제1각도 데이터, 제1거리 데이터, 제1속도 데이터, 및 제1방향 데이터 중 적어도 하나를 포함하고, 상기 제3움직임 정보는 상기 제2가속도 센서를 통해 획득되는 제2가속도 데이터와 상기 자이로 센서를 통해 획득되는 제2각속도 데이터 중 적어도 하나를 포함하고, 상기 제4움직임 정보는, 상기 제2손가락의 움직임에 대한 제2각도 데이터, 제2거리 데이터, 제2속도 데이터, 및 제2방향 데이터 중 적어도 하나를 포함하고, 상기 제어 신호는, 파인 튜닝, 멀티 터치, 줌 인, 및 줌 아웃 중 적어도 하나를 수행하기 위한 신호일 수 있다.
상기 제어 신호를 생성하는 단계는, 상기 호스트 장치가 제1 인터페이스 장치 및 제2인터페이스 장치와 연결되어 있는지 판단하는 단계, 상기 제2움직임 정보 및 상기 제4움직임 정보에 기반하여, 상기 제1인터페이스 장치와 상기 제2인터페이스 장치 각각의 각속도가 기준 조건을 만족하면 파인 튜닝 동작 신호를 발생시키는 단계를 포함할 수 있다.
상기 제어 신호를 생성하는 단계는, 상기 호스트 장치가 제1 인터페이스 장치 및 제2인터페이스 장치와 연결되어 있는지 판단하는 단계, 상기 제2움직임 정보와 상기 제4움직임 정보에 기반하여, 상기 제1인터페이스 장치와 상기 제2인터페이스 장치가 기준 속도 이상으로 서로 가까워지면 줌 아웃 동작 신호를 발생시키는 단계, 및 상기 제2움직임 정보와 상기 제4움직임 정보에 기반하여, 상기 제1인터페이스 장치와 상기 제2인터페이스 장치가 기준 속도 이상으로 서로 멀어지면 줌 인 동작 신호를 발생시키는 단계를 포함할 수 있다.
아래에서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자들(이하, 통상의 기술자들)이 본 발명을 용이하게 실시할 수 있도록, 첨부되는 도면들을 참조하여 몇몇 실시 예가 명확하고 상세하게 설명될 것이다.
또한, 명세서에서 사용되는 "부" 또는 "모듈" 이라는 용어는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소 또는 회로를 의미할 수 있다.
이하, "콘텐츠"는 게임, 음악, 영화, 이미지, 애니메이션, 캐릭터, 아이템, 물체 등과 같은 미디어 자체 또는 미디어 상에서 재생되는 객체를 포함할 수 있으나 이에 제한되지 않는다. "콘텐츠"는 AR/VR/MR 과 같은 가상 현실에서 생성되는 가상 콘텐츠를 포함할 수 있다. "콘텐츠"는 2차원의 화면에 재생되는 객체 또는 홀로그램과 같은 3차원 공간 상에 표현되는 3차원 입체 객체를 포함할 수 있다. "콘텐츠"는 호스트 장치에 의해 생성 또는 재생될 수 있다. "콘텐츠"가 3차원 공간 상에 표현되는 가상 콘텐츠인 경우, 호스트 장치와 "콘텐츠"가 위치하는 물리적인 위치는 다를 수 있다.
이하, "모션(motion)"은 콘텐츠를 제어하기 위해 사용자가 취하는 유의미한 움직임(movement)으로서, 사용자의 움직임으로부터 캡쳐, 추출, 인식, 분석 또는 결정될 수 있다.
이하, "제어 신호"는 모션 자체 또는 모션의 타입에 대한 정보를 포함하는 신호로서, 호스트 장치는 "제어 신호"에 기반하여 콘텐츠를 제어할 수 있다. 예를 들어, "제어 신호"는 비트열 형태일 수 있으며 모션들 각각은 서로 다른 비트열로 표현될 수 있다.
도2는 일 실시 예에 따른 인터페이스 장치를 나타낸다.
도2를 참조하면, 인터페이스 장치(2000)는 손가락(2300)의 움직임으로부터 모션을 결정하고, 콘텐츠(2500)를 제어하기 위한 제어 신호를 생성할 수 있다.
인터페이스 장치(2000)는 인체 또는 물체와 부착 또는 연결 가능한 소형의 웨어러블 디바이스 형태일 수 있다. 따라서, 인터페이스 장치(2000)는 착용이 편하며, 사용자는 별도의 학습 없이 직관적으로 인터페이스 장치(2000)의 모든 기능을 동작시킬 수 있다. 나아가, 인터페이스 장치(2000)는 가상 공간에서 현재 사용되는 범용 마우스처럼 범용 디바이스로서 사용이 가능하다.
인터페이스 장치(2000)는 센서를 이용하여 손가락(2300)의 움직임 정보를 획득하고 제어 신호를 출력하기 위한 메인 모듈(2200)과 메인 모듈(2200)을 인체에 착용 또는 고정시키기 위한 연결부(2400)를 포함할 수 있다. 메인 모듈(2200)은 움직임 정보(예를 들어, 인터페이스 장치(2000) 또는 인터페이스 장치(2000)가 착용된 검지 손가락(3000)의 움직임에 대한 각속도, 가속도, 속도, 거리, 각도, 방향, 위치(3차원 공간 좌표) 정보)를 획득하고 이를 가공 및 처리함으로써 콘텐츠(2500)를 제어하기 위한 제어 신호를 출력할 수 있다. 연결부(2400)는 손가락(2300)에 착용되는 링(ring) 형태일 수 있다.
인터페이스 장치(2000)는 연결부(2400)를 통해 손가락 어디에도 착용이 가능하다. 일 실시 예에 따라, 인터페이스 장치(2000)는 손가락의 중간 마디 또는 끝 마디에 착용될 수 있다. 예를 들어, 인터페이스 장치(2000)는 검지의 중간 마디 또는 엄지 첫 마디에 착용될 수 있다.
도2를 참조하여 인터페이스 장치(2000)가 사람의 손가락에 착용되어 손가락의 움직임 정보를 획득하는 실시 예를 설명하였으나 인터페이스 장치(2000)는 물건과 같은 다른 형태의 객체와도 연결되거나 부착될 수 있다. 예를 들어, 인터페이스 장치(2000)는 주사위에 내장되어 주사위의 움직임에 기반하여 콘텐츠(2500)를 제어할 수 있다. 또는, 인터페이스 장치(2000)는 지팡이에 부착되어 지팡이의 움직임에 기반하여 콘텐츠(2500)를 제어할 수 있다. 또는, 인터페이스 장치(2000)는 펜에 내장되어 스마트폰 상의 콘텐츠(2500)를 제어할 수 있다.
도3은 일 실시 예에 따른 인터페이스 장치를 포함하는 시스템을 나타낸다.
도3을 참조하면, 시스템(3800)은 인터페이스 장치(3000)와 호스트 장치(또는, 타겟 장치)를 포함할 수 있다. 인터페이스 장치(3000)는 도2의 인터페이스 장치(2000)의 블록도를 나타낼 수 있다. 호스트 장치는 인터페이스 장치(3000)를 통해 제어될 수 있는 콘텐츠를 생성하고 표시할 수 있다. 일 실시 예에 따라, 호스트 장치는 게임기, 스마트 폰, 태블릿 PC(Personal Computer), TV, 데스크톱 PC, 노트북 PC, 모바일 의료 기기, 카메라, 또는 웨어러블 디바이스(예를 들어, 전자 안경, 전자 옷, 전자 팔찌, 전자 목걸이, 전자 액세서리, 전자 문신 또는 스마트 워치) 중 어느 하나일 수 있으나 이에 제한되지 않는다. 예를 들어, 호스트 장치는 가상 콘텐츠를 표시하기 위한 HMD(Head Mounted Display) 및 가상 현실 게임 또는 가상 현실 콘텐츠를 실행하거나 재생하기 위한 게임기(예를 들어, 콘솔 기기)를 포함할 수 있다.
사용자는 인터페이스 장치(3000)를 사용하여 호스트 장치의 콘텐츠를 제어할 수 있다. 일 실시 예에 따라, 사용자는 인터페이스 장치(3000)가 내장 또는 연결된 객체의 움직임에 기반하여 호스트 장치의 콘텐츠를 제어할 수 있다. 예를 들어, 사용자는 인터페이스 장치(3000)를 자신의 손가락에 착용하고 손가락을 움직임으로써 호스트 장치의 다양한 콘텐츠를 제어할 수 있다.
인터페이스 장치(3000)는 센서를 이용하여 객체의 움직임 정보를 획득하고, 획득된 움직임 정보에 기반하여 객체의 움직임에 대응하는 모션을 결정할 수 있다. 인터페이스 장치(3000)는 결정된 모션을 나타내는 제어 신호를 호스트 장치(Host Device)로 출력할 수 있다. 일 실시 예에 따라, 움직임 정보는, 객체의 움직임에 대한 특징들(예를 들어, 각속도, 가속도, 속도, 거리, 각도, 방향, 및 위치 중 적어도 하나)을 포함할 수 있다.
인터페이스 장치(3000)는 센싱 모듈(3200), 통신 채널(3400), 및 제어 신호 출력부(3600)를 포함할 수 있다. 인터페이스 장치(3000)는 도2의 메인 모듈(2200)과 대응될 수 있다.
센싱 모듈(3200)은 객체의 제1움직임 정보를 획득할 수 있다. 제1움직임 정보는 가속도 센서를 통해 획득되는 가속도 데이터와 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함할 수 있다.
센싱 모듈(3200)은 가속도 센서(Accelerometer, 3220), 자이로 센서(Gyroscope, 3240), 지자기 센서(Magnetometer, 3260), 및 센서 융합부(3280)를 포함할 수 있다. 일 실시 예에 따른 자이로 센서(3240)는 각속도를 측정하기 위한 센서이다. 일 실시 예에 따른 가속도 센서(3220)는 가속도를 측정하고 진동, 충격 등의 동적 힘을 측정하기 위한 센서이다. 일 실시 예에 따른 지자기 센서(3260)는 지구 자기를 측정하고 그 크기를 검출하기 위한 센서이다.
자이로 센서(3240)에서 측정되는 값은 온도의 영향으로 오차가 발생하며 오차가 적분 과정에서 누적되어 최종 값이 드리프트(drift)되는 현상이 생길 수 있다. 따라서, 온도 센서도 함께 사용하여 자이로 센서(3240)의 오차를 보상할 필요가 있다.
정지 상태의 긴 시간의 관점에서 보면, 가속도 센서(3220)에 의해 계산된 기울어진 각도는 올바른 값을 나타내지만 자이로 센서(3240)는 시간이 지날수록 누적 드리프트로 인해 틀린 값을 나타낼 수 있다. 반대로, 움직이는 짧은 시간의 관점에서, 자이로 센서(3240)는 올바른 각속도를 나타내지만, 가속도 센서(3220)는 기울어진 각도와는 다른 계산 값이 도출될 수 있다. 또한, 주체가 정지된 상태에서 직진 방향으로 움직일 경우 기울기 측정이 불가능하다.
따라서, 가속도 센서(3220)와 자이로 센서(3240)를 모두 사용해서 각각의 단점을 보완 및 보상하기 위해, 칼만 필터와 같은 필터 또는 보상 및 융합 알고리즘이 적용될 수 있다. 다만, 이러한 보상 및 융합 동작에도 불구하고, 자이로 센서(3240)와 가속도 센서(3220)만을 사용할 경우, 3차원 공간에서의 좌표를 연산할 때에 오차율이 높아지므로 VR 기기와 같은 호스트 장치를 제어하기 위한 인터페이스로 사용하기에 부적절하다. 또한, 가속도 센서(3220)와 자이로 센서(3240)만을 사용할 경우, 절대 방위각이 아닌 상대 방위각을 사용하므로 움직이는 주체의 절대 위치를 파악하기 어렵다.
따라서, 센싱 모듈(3200)은 지자기 센서(3260)를 더 포함함으로써, 지자기 센서(3260)에 의해 측정되는 절대 방위각의 변화를 가속도 센서(3220)와 자이로 센서(3240)에서 측정된 데이터와 함께 연산함으로써 오차율이 낮은 데이터를 생성할 수 있다. 센싱 모듈(3200)은 지자기 센서(3260)을 포함함으로써, 자이로 센서(3240)에서 발생되는 누적 드리프트를 더욱 완벽하게 보상할 수 있으며, 자이로 센서(3240)는 지자기 센서(3260)의 자기 변화로 인해 발생되는 순간적으로 자기장이 튀는 현상(갑자기 생기는 자기장의 큰 변화)을 해결해 주어 서로의 단점을 보완 및 보상해주는 역할을 할 수 있다.
일 실시 예에 따라, 센싱 모듈(3200)은 3차원 공간 상에서의 위치 데이터를 정확하게 획득할 있는 9축 센서를 포함할 수 있다. 9축 센서는 가속도 3축, 자이로 2축, 지자기 3축, 온도 1축으로 구성된 센서로서, 3차원 공간 상에서 3차원 위치와 3축 방향의 회전 정도를 모두 획득할 수 있는 센서이다.
도4를 참조하면, 일 실시 예에 따른 센싱 모듈(3200)은 가속도 센서 및 자이로 센서를 이용하여 x, y, 및 z 축 방향에 대한 회전 정도에 대한 데이터를 획득할 수 있다. 또한, 센싱 모듈(3200)은 지자기 센서를 이용하여 x, y, 및 z 축 방향에 대한 데이터를 획득할 수 있다.
다시 도3을 참조하면, 센싱 모듈(3200)은 센서들(3220, 3240, 3260)의 출력을 보상 및 융합하여 최적화된 위치 데이터를 생성하는 센서 융합(Sensor Fusion) 동작을 수행하기 위한 센서 융합부(3280)를 포함할 수 있다. 센서 융합부(3280)는 가속도 센서(3220), 자이로 센서(3240), 및 지자기 센서(3260)에서 각각 획득되는 데이터들을 잡음(Noise) 제거, 보상, 및 융합하여 데이터를 최적화함으로써 제1움직임 정보를 생성할 수 있다. 센서들(3220, 3240, 3260)에 의해 획득되는 로(row) 데이터를 그대로 이용하게 되면 정확한 위치 데이터를 획득할 수 없으므로 필터를 통해 정확한 위치를 추정(Position Estimation)함으로써 최적화된 위치 데이터가 생성될 수 있다. 예를 들어, 센서 융합 동작은 칼만 필터(Kalman Filter)와 같은 필터 또는 데이터 보상 및 융합 알고리즘에 기반하여 수행될 수 있다.
제1움직임 정보는 통신 채널(3400)을 통해 제어 신호 출력부(3600)로 전달될 수 있다. 일 실시 예에 따라, 통신 채널(3400)은 제1움직임 정보를 프로세서(3620)로 전달하기 위한 인터페이스 장치(3000) 내의 버스일 수 있다. 센싱 모듈(3200)과 제어 신호 출력부(3600)는 통신 채널(3400)의 버스 포맷에 기초하여 서로 데이터를 교환할 수 있다. 예를 들어, 버스 포맷은 USB(Universal Serial Bus), SPI(Serial Peripheral Interface), 및 I2C(Inter-Integrated Circuit) 등과 같은 다양한 인터페이스 규약 중 하나 이상을 포함할 수 있다.
제어 신호 출력부(3600)는 통신 채널(3400)을 통해 수신되는 제1움직임 정보를 연산함으로써 제2움직임 정보를 생성할 수 있다.제2움직임 정보는 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다.
제어 신호 출력부(3600)는 제2움직임 정보에 기반하여 객체의 움직임에 대응되는 모션을 결정하고, 결정된 모션을 나타내는 제어 신호를 출력할 수 있다. 제어 신호는 호스트 장치의 콘텐츠를 제어하기 위한 제어하기 위한 인터럽트(Interrupt) 신호일 수 있다. 예를 들어, 제어 신호 출력부(3600)는 수신된 제2움직임 정보에 기반하여 객체의 움직임에 대응하는 모션을 결정하고, 결정된 모션을 나타내는 비트열을 호스트 장치로 출력할 수 있다.
제어 신호 출력부(3600)는 프로세서(3620) 및 통신부(3640)를 포함할 수 있다.
프로세서(3620)는 센싱 모듈(3200)로부터 통신 채널(3400)을 통해 수신되는 제1움직임 정보를 연산함으로써 제2움직임 정보를 생성할 수 있다. 제2움직임 정보는 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다. 프로세서(3620)는 기준 시간(예를 들어, 5ms) 마다 제1움직임 정보에 대한 연산을 수행함으로써 제2움직임 정보를 획득할 수 있다. 기준 시간은 30ms 이하일 수 있으나 이에 제한되지 않는다.
각도 데이터는 x축 방향, y축 방향, 및 z축 방향 각각에 대한 각도 데이터를 포함할 수 있다. 일 실시 예에 따라, 프로세서(3620)는 각속도 데이터에 적분 연산을 수행함으로써 각도 데이터를 획득할 수 있다.
속도 데이터는 x축 방향, y축 방향, 및 z축 방향 각각에 대한 속도 데이터를 포함할 수 있다. 거리 데이터는, x축 방향, y축 방향, 및 z축 방향 각각에 대한 거리 데이터를 포함할 수 있다. 일 실시 예에 따라, 프로세서(3620)는 가속도 데이터에 적분 연산을 수행함으로써 속도 데이터와 거리 데이터를 획득할 수 있다. 프로세서(3620)는 가속도 데이터에서 중력 가속도 성분을 제거하여 선형 가속도 데이터를 획득할 수 있다. 프로세서(3620)는 선형 가속도 데이터에 적분 연산을 수행함으로써 속도 데이터를 획득하고, 속도 데이터에 다시 적분 연산을 수행함으로써 거리 데이터를 획득할 수 있다.
방향 데이터는 객체의 순간 이동 방향에 관한 것으로서, x축 방향으로의 증감 여부, y축 방향으로의 증감 여부, 및 z축 방향으로의 증감 여부를 포함할 수 있다. 일 실시 예에 따라, 프로세서(3620)는 현재 거리 데이터와 이전 거리 데이터의 비교에 기반하여 방향 데이터를 포함할 수 있다. 예를 들어, 현재 거리 데이터의 x축 방향 값이 +50, y축 방향 값이 +10, z축 방향 값이 -5 이고 이전 거리 데이터의 x축 방향 값이 +60, y축 방향 값이 +15, z축 방향 값이 -10이라면, 프로세서(3620)는 현재의 움직임 방향을 x축 방향으로는 증가, y축 방향으로 증가, z축 방향으로 감소로 결정할 수 있다.
프로세서(3620)는 제2움직임 정보에 기반하여, 객체의 움직임과 대응하는 모션을 결정할 수 있다. 예를 들어, 프로세서(3620)는 제2움직임 정보에 기반하여, 기 정의된 모션들 중에서 사용자의 움직임에 대응하는 하나의 모션을 결정할 수 있다. 프로세서(3620)는 결정된 모션을 나타내는 제어 신호를 생성하고 이를 통신부(3640)를 통해 호스트 장치로 전달할 수 있다. 만약, 프로세서(3620)는 수신된 위치 데이터에 기반하여, 사용자의 움직임이 기 정의된 모션들 중 어느 것에도 해당하지 않거나 무의미한 움직임으로 판단되는 경우, 예외 처리할 수 있다.
기 정의된 모션들은 무브(Move), 탭(Tap), 잡기(Grasp), 스크롤(Scroll), 스와이프(Swipe), 제스처(Gesture), 로테이션(Rotation), 파인 튜닝(Fine Tuning), 줌 인(Zoom In), 및 줌 아웃(Zoom Out) 등을 포함할 수 있다. 무브 모션은 객체를 어느 방향으로 이동시키는 동작으로서, 가상의 콘텐츠를 이동시키거나 줌-인/줌-아웃하기 위해 사용될 수 있다. 탭 모션은, 무언가를 두드리는 동작으로서, 가상의 콘텐츠를 선택하거나 클릭하기 위해 사용될 수 있다. 사용자가 탭 모션을 기준 시간 내에 두 번 연속 취함으로써, 가상의 콘텐츠를 더블 클릭할 수 있다. 잡기 모션은, 떨어져있는 두 개의 객체가 서로 맞닿는 동작으로서, 가상의 콘텐츠를 잡기 위해 사용될 수 있다. 제스처는, 텍스트, 기호, 또는 모양(예를 들어, '?' 또는 'X')을 표현하기 위한 움직임을 의미할 수 있다. 파인 튜닝은 콘텐츠를 정밀하게 조작하기 위한 사용자의 움직임으로서, 예를 들어 원 형상의 객체를 정밀하게 회전시키기 위한 움직임을 의미할 수 있다.
도5는 일 실시 예에 따라, 하나의 인터페이스 장치로 콘텐츠를 제어하기 위한 탭, 잡기, 스크롤, 로테이션, 스와이프 모션을 나타내고, 도6은 두 개의 인터페이스 장치들로 콘텐츠를 제어하기 위한 멀티 터치, 파인 튜닝, 줌 인/줌 아웃 모션을 나타낸다. 도7은 일 실시 예에 따라, 서로 다른 손가락에 착용된 두 개의 인터페이스 장치를 이용해 호스트 장치의 콘텐츠를 제어하기 위한 시스템을 나타낸다. 도7을 참조하면, 시스템(7000)에서 검지 손가락에 착용된 제1인터페이스 장치(7200)와 엄지 손가락에 착용된 제2인터페이스 장치(7400)를 통해 제어 신호가 호스트 디바이스로 출력될 수 있다. 이러한 실시 예에서, 제1인터페이스 장치(7200)에서 획득되는 움직임 정보와 제2인터페이스 장치(7400)에서 획득되는 움직임 정보의 조합에 기반하여 호스트 장치를 제어하기 위한 모션들이 확장될 수 있다. 예를 들어, 확장된 모션은 도6의 멀티 터치, 파인 튜닝, 및 줌 인/줌 아웃 모션을 더 포함할 수 있다.
다시 도3을 참조하면, 프로세서(3620)는 결정된 모션을 나타내는 제어 신호를 생성할 수 있다. 예를 들어, 프로세서(3620)는 사용자의 움직임이 탭 모션으로 결정되면 탭 모션을 나타내는 제1비트열을 제어 신호로서 생성할 수 있다. 프로세서(3620)는 사용자의 움직임이 스크롤 모션으로 결정되면 스크롤 모션을 나타내는 제2비트열을 제어 신호로서 생성할 수 있다. 또는, 인터페이스 장치(2000)와 호스트 장치와 약속된 규약을 사용하는 경우, 모션들 각각에 할당된 번호를 제어 신호로서 생성할 수도 있다.
프로세서(3620)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(3620)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 프로세서(3620)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신부(3640)는 제어 신호를 무선 통신 인터페이스를 통해 호스트 장치로 전달할 수 있다. 통신부(3640)는 Wi-fi(Wireless Fidelity)와 같은 무선 근거리 통신망(Wireless Local Area Network; WLAN), 블루투스(Bluetooth)와 같은 무선 개인 통신망(Wireless Personal Area Network; WPAN), 무선 USB(Wireless Universal Serial Bus), Zigbee, NFC(Near Field Communication), RFID(Radio-frequency identification), 또는 3G(3rd Generation), 4G(4th Generation), LTE(Long Term Evolution) 등 이동 통신망(mobile cellular network)에 접속 가능한 모뎀 통신 인터페이스 등을 포함할 수 있다. 블루투스 인터페이스는 BLE(Bluetooth Low Energy)를 지원할 수 있다.
인터페이스 장치(3000)는, 인터페이스 장치(3000)에서 수행되는 동작에 필요한 메모리(미도시)를 포함할 수 있다. 예를 들어, 인터페이스 장치(3000)는 센서 융합부(3280)에서의 센서 융합 동작을 수행하기 위해 필요한 메모리(미도시)를 포함할 수 있다. 또한, 인터페이스 장치(3000)는 기 정의된 모션들을 저장하거나 프로세서(3620)에서 수행되는 동작에 필요한 메모리(미도시)를 포함할 수 있다. 메모리(미도시)는, 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 휘발성 메모리 장치, 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(Solid State Drive; SSD) 등과 같은 비휘발성 메모리 장치를 포함할 수 있다.
인터페이스 장치(3000)는, 인터페이스 장치(3000)에서 수행되는 동작에 필요한 전원을 공급하기 위한 배터리(미도시)를 포함할 수 있다. 배터리(미도시)는 리튬 이온 배터리 또는 리튬 폴리머 배터리를 포함할 수 있으나 이에 제한되지 않는다. 예를 들어, 배터리(미도시)는 제어 신호 출력부(3600)에 포함될 수 있으며, 배터리(미도시)에서 출력되는 전원 중 일부가 센싱 모듈(3200)로 바이패스될 수 있다.
인터페이스 장치(3000)는 배터리(미도시)를 충전시키기 위한 충전 단자를 포함할 수 있다. 도9를 참조하면, 인터페이스 장치(3000)는 USB 타입의 충전 단자를 포함할 수 있다. 충전 단자를 통해 유입되는 전류는 배터리를 충전시키기 위해 사용될 수 있다.
인터페이스 장치(3000)는, 센싱 모듈(3200)과 제어 신호 출력부(3600)를 내장하기 위한 케이스(미도시)를 포함할 수 있다. 이에 따라, 도2의 연결부(2400)는 케이스(미도시)를 인체에 착용 또는 고정시키기 위한 링 형태의 부재 또는 부품으로서 구현될 수 있다.
도8은 일 실시 예에 따라, 메인 모듈과 연결부가 분리되는 모습을 나타낸다.
인터페이스 장치(8000)는 도2의 인터페이스 장치(2000)의 일 실시 예를 나타낸다. 인터페이스 장치(8000)의 메인 모듈(8200)과 링형의 연결부(8400)는 분리가능한 것으로서, 연결부(8400)는 소비자 취향에 맞는 다양한 디자인이 가능하며, 다양한 메인 모듈(8200)을 연결부(8400)에 장착시킴으로써 여러 용도에 활용이 가능하다.
도10은 일 실시 예에 따라, 인터페이스 장치가 내장된 주사위를 나타낸다.
주사위(10000)는 도2 내지 3을 참조하여 상술한 인터페이스 장치(3000)를 내장한 것으로서, 사용자는 주사위(10000)를 이용하여 AR 보드 게임 등을 즐길 수 있다.
주사위(10000)는 가속도 센서, 자이로 센서, 및 지자기 센서에 기반하여 주사위의 제1움직임 정보를 획득하기 위한 센싱 모듈, 주사위의 제1움직임 정보의 연산을 통해 제2움직임 정보를 생성하고, 제2움직임 정보에 기반하여 주사위의 움직임에 대응되는 제어 신호를 호스트 장치로 출력하기 위한 제어 신호 출력부, 센싱 모듈 및 제어 신호 출력부 중 적어도 하나의 동작을 위해 필요한 전원을 공급하는 배터리를 포함할 수 있다.
일 실시 예에 따라, 제어 신호 출력부는, 제1움직임 정보를 연산함으로써 제2움직임 정보를 획득하고, 제2움직임 정보 중 적어도 하나에 기반하여 주사위(10000)의 움직임과 대응하는 제어 신호를 생성하기 위한 프로세서와 블루투스 통신에 기반하여 제어 신호를 호스트 장치로 전달하기 위한 통신부를 포함할 수 있다. 제어 신호 출력부는, 가속도 데이터, 각속도 데이터, 속도 데이터, 거리 데이터, 및 방향 데이터 중 적어도 하나에 기반하여 주사위(10000)가 나타내는 숫자를 결정하고, 숫자 정보를 포함하는 제어 신호를 출력할 수 있다. 주사위(10000)로부터 출력되는 제어 신호는 주사위(10000)의 움직임에 따른 로테이션 모션 및/또는 로테이션 모션에 따라 결정되는 주사위(10000)의 숫자 정보(또는, 숫자 변화 정보)를 포함할 수 있다. 주사위(10000)의 숫자 변화는 호스트 장치에 의해 3차원 공간 상에 표현될 수 있다.
주사위(10000)는 인터페이스 장치(3000)를 내장하기 위한 중공을 포함할 수 있다. 주사위(10000)는 센싱 모듈, 제어 신호 출력부, 및 배터리를 내장하기 위한 중공을 더 포함함으로써, 인터페이스 장치(3000)를 내장할 수 있다.
주사위(10000)는 배터리의 충전을 위한 충전 단자를 더 포함할 수 있다. 예를 들어, 주사위(10000)의 표면에 충전 전류를 수신하기 위한 충전 단자가 위치할 수 있다. 따라서, 주사위(10000)에 내장된 인터페이스 장치(3000)의 충전을 위해 인터페이스 장치(3000)를 주사위(10000)로부터 꺼낼 필요 없이 주사위(10000)에 충전 케이블을 연결하는 것만으로 인터페이스 장치(3000)의 충전이 가능하다.
도11은 일 실시 예에 따라, 인터페이스 장치의 블록도를 나타낸다.
인터페이스 장치(11000)는 도3의 인터페이스 장치(3000)의 상세한 실시 예를 나타낸다. 일 실시 예에 따라, 인터페이스 장치(11000)는 도10의 주사위일 수 있다.
도11을 참조하면, 인터페이스 장치(11000)는 센싱 모듈(11200), 제어 신호 출력부(11400), 배터리(11600), 및 충전 단자(11800)를 포함할 수 있다. 센싱 모듈(11200)은 가속도 센서(11220), 자이로 센서(11240), 지자기 센서(11260), 및 센서 융합부(11280)를 포함할 수 있다. 제어 신호 출력부(11400)는 프로세서(11420) 및 통신부(11440)를 포함할 수 있다. 센싱 모듈(11200)에서 획득된 제1움직임 정보는 통신 채널(11300)을 통해 제어 신호 출력부(11400)로 전달될 수 있다.
도11의 센싱 모듈(11200), 가속도 센서(11220), 자이로 센서(11240), 지자기 센서(11260), 센서 융합부(11280), 제어 신호 출력부(11400), 프로세서(11420), 및 통신부(11440)는 도3의 센싱 모듈(3200), 가속도 센서(3220), 자이로 센서(3240), 지자기 센서(3260), 센서 융합부(3280), 제어 신호 출력부(3600), 프로세서(3620), 및 통신부(3640)와 각각 동일하므로 상세한 설명은 생략한다.
인터페이스 장치(11000)는 센싱 모듈(11200)과 제어 신호 출력부(11400)에 전원을 공급하기 위한 배터리(11600) 및 배터리(11600)를 충전시키기 위한 충전 단자(11800)를 포함할 수 있다.
도12는 일 실시 예에 따라, 인터페이스 장치가 연결된 지팡이를 나타낸다.
지팡이(12000)는 도2 내지 3을 참조하여 상술한 인터페이스 장치(3000)를 연결한 것으로서, 사용자는 지팡이(12000)를 이용하여 펜싱 게임, 칼싸움 게임 등 지팡이를 활용한 다양한 게임을 즐길 있다. 다른 실시 예에 따라, 지팡이(12000)에 도2 내지 3을 참조하여 상술한 인터페이스 장치(3000)가 내장될 수도 있다.
이하, 도13 내지 25를 참조하여, 적어도 하나의 인터페이스 장치를 사용하여 콘텐츠를 제어하는 방법을 설명한다. 도13 내지 25을 참조하여 설명하는 방법은 도2의 인터페이스 장치(2000), 도3의 인터페이스 장치(3000), 또는 호스트 장치에서 수행될 수 있다. 따라서, 이하 생략된 내용이라 하더라도 도2의 인터페이스 장치(2000), 도3의 인터페이스 장치(3000), 또는 호스트 장치에 관하여 기술된 내용은 도13 내지 25에도 적용될 수 있다. 또한, 도13 내지 25의 방법에 대한 내용 역시 도2의 인터페이스 장치(2000), 도3의 인터페이스 장치(3000), 또는 호스트 장치에 적용될 수 있다.
도13은 일 실시 예에 따라, 인터페이스 장치를 사용하여 콘텐츠를 제어하는 방법의 흐름도를 나타낸다.
단계 S200에서, 인터페이스 장치는 객체에 연결 또는 내장된 센싱 모듈에 기반하여 제1움직임 정보를 획득할 수 있다. 센싱 모듈은 가속도 센서, 자이로 센서, 및 지자기 센서를 포함할 수 있다. 제1움직임 정보는, 객체의 움직임에 대한 가속도 데이터와 각속도 데이터를 포함할 수 있다. 예를 들어, 제1움직임 정보는, 가속도 센서를 통해 획득되는 가속도 데이터와 자이로 센서를 통해 획득되는 각속도 데이터가 센서 융합부에 의해 최적화된 데이터일 수 있다.
단계 S400에서, 인터페이스 장치는 단계 S200에서 획득된 제1움직임 정보를 연산함으로써 제2움직임 정보를 생성할 수 있다. 제2움직임 정보는 각도 데이터, 속도 데이터, 거리 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다. 인터페이스 장치는 객체가 움직이는 동안, 제2움직임 정보를 실시간으로 계산하고 획득할 수 있다. 예를 들어, 인터페이스 장치는 기준 시간(예를 들어, 5ms) 마다 제1움직임 정보에 대한 연산을 수행함으로써 제2움직임 정보를 획득할 수 있다. 기준 시간은 30ms 이하일 수 있으나 이에 제한되지 않는다. 인터페이스 장치는 검지의 중간 마디에 착용됨으로써, 검지의 첫 마디와 중간 마디 사이의 관절을 축으로 하여, 검지의 중간 마디가 움직인 각도와 속도를 결정할 수 있다. 또한, 인터페이스 장치는 검지의 끝 마디에 착용됨으로써, 검지의 첫 마디와 중간 마디 사이의 관절을 축으로 하여 검지의 끝 마디가 움직인 각도와 속도를 결정할 수 있다.
단계 S600에서, 인터페이스 장치는 획득된 제2움직임 정보에 기반하여, 객체의 움직임에 대응하는 모션을 결정할 수 있다. 일 실시 예에 따라, 인터페이스 장치는 검지 손가락이 움직인 속도, 각도, 거리 등에 기반하여 모션을 결정할 수 있다. 일 실시 예에 따라, 인터페이스 장치는 기 정의된 모션들 중에서 객체의 움직임에 대응하는 모션을 결정할 수 있다. 모션들은 무브, 탭, 잡기, 스크롤, 스와이프, 제스처, 및 로테이션 모션 등을 포함할 수 있으나 이에 제한되지 않는다. 인터페이스 장치는 객체의 움직임이 기 정의된 모션들 중 어느 것에도 해당되지 않거나 무의미한 움직임으로 판단되는 경우, 제어 신호를 생성하지 않고 예외 처리할 수 있다.
단계 S800에서, 인터페이스 장치는 결정된 모션을 나타내는 제어 신호를 무선 통신 인터페이스를 통해 호스트 장치로 전달할 수 있다. 제어 신호는, 호스트 장치를 제어하기 위한 인터럽트 신호일 수 있다. 일 실시 예에 따라, 인터페이스 장치는 객체의 위치가 콘텐츠가 재생되는 위치로부터 기준 거리 내에 있는지 판단하고, 판단 결과 기준 거리 내에 있을 때에만 제어 신호를 호스트 장치로 전달할 수 있다. 사용자가 콘텐츠로부터 멀리 떨어져있는 경우, 사용자의 움직임이 콘텐츠를 제어하기 위한 움직임으로 보기 어렵기 때문이다.
단계 S900에서, 호스트 장치는 수신된 제어 신호에 기반하여, 콘텐츠를 제어할 수 있다. 예를 들어, 호스트 장치는, 수신된 제어 신호가 무브 모션인 경우, 게임 상의 야구공을 객체의 움직임에 비례하는 방향, 속도, 거리로 움직일 수 있다. 호스트 장치는, 수신된 제어 신호가 탭 모션인 경우, 게임 상의 아이템을 선택할 수 있다. 호스트 장치는, 수신된 제어 신호가 로테이션 모션인 경우, 게임 상의 원판을 회전시킬 수 있다. 호스트 장치는, 수신된 제어 신호가 무브 모션인 경우, 객체와 콘텐츠 사이의 거리에 따라, 콘텐츠를 줌-인 또는 줌-아웃할 수 있다.
도14는 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임에 대한 거리 데이터를 획득하기 위한 방법의 흐름도를 나타낸다.
단계 S420에서, 인터페이스 장치는 가속도 데이터로부터 중력 가속도 성분을 제거하여 선형 가속도 데이터를 생성할 수 있다. 가속도 데이터에서 중력 가속도에 의한 영향을 제거함으로써, 객체의 움직임에 대한 가속도 데이터가 획득될 수 있다.
단계 S440에서, 인터페이스 장치는 선형 가속도 데이터에 적분 연산을 수행하여 속도 데이터를 획득할 수 있다.
단계 S460에서, 인터페이스 장치는 속도 데이터에 적분 연산을 수행하여 거리 데이터를 획득할 수 있다.
도15는 일 실시 예에 따라, 거리 데이터를 획득하기 위한 방법의 흐름도를 나타낸다. 도15는 도13의 단계 S800의 하위 단계를 나타낼 수 있다.
단계 S612에서, 인터페이스 장치는 객체의 초기 움직임에 대한 각도와 속도를 결정할 수 있다. 인터페이스 장치는 객체의 움직임이 시작된 후 초기 움직임(예를 들어, 움직임이 시작된 후 기준 시간 이내)에 대한 각도 데이터와 속도 데이터를 획득할 수 있다.
단계 S614에서, 인터페이스 장치는 단계 S612에서 획득된 각도 데이터와 속도 데이터가 기준 조건을 만족하는지 판단할 수 있다. 예를 들어, 속도가 기준 값 이상이고 각도의 변화 폭이 20도 이내인 경우 인터페이스 장치는 객체의 움직임을 직진 방향의 움직임으로 결정할 수 있다. 인터페이스 장치는 각도 데이터와 속도 데이터가 기준 조건을 만족하지 않으면(No), 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다(S618).
인터페이스 장치는 각도 데이터와 속도 데이터가 기준 조건을 만족하면(Yes), 움직임을 무브 모션으로 결정하고하고, 객체의 움직임에 대한 거리 데이터를 획득(S616)할 수 있다. 예를 들어, 인터페이스 장치는 움직이고자 하는 방향으로 인터페이스 장치가 기 설정된 속도 이상으로 움직이는 시점을 움직임에 대한 시작점으로 결정할 수 있다. 객체의 움직임에 대한 거리 데이터는 도14를 참조하여 상술한 방법으로 결정될 수 있다.
일 실시 예에 따라, 인터페이스 장치는 거리 데이터 외에 위치 데이터(예를 들어, 객체의 3차원 공간 좌표)와 방향 데이터를 더 획득할 수 있다.
인터페이스 장치는 임의의 시점에서의 객체의 위치 또는 임의의 공간 상의 위치를 기준점으로 하였을 때, 객체가 움직인 거리 데이터에 기반하여 현재의 객체의 위치 데이터를 획득할 수 있다. 인터페이스 장치는 객체의 움직임 단위마다 움직인 거리를 결정하고, 결정된 거리 데이터를 메모리에 저장할 수 있다. 인터페이스 장치는 메모리로부터 움직임들에 대한 거리 데이터를 읽어오고, 읽어온 거리 데이터를 합산하여 현재 객체의 위치 데이터를 결정할 수 있다.
예를 들어, 인터페이스 장치)는 임의의 이전 시점에서의 객체의 위치 데이터가 (0, 0, 0)이고 무브 모션이 3번 연속하여 발생된 경우, 제1무브 모션의 제1거리 데이터가 (10, -20, 30), 제2무브 모션의 제2거리 데이터가 (-10, -30, -10), 및 제3무브 모션의 제3거리 데이터가 (20, 100, 100)인 경우, 현재 객체의 위치 데이터를 (20, 50, 120)으로 결정할 수 있다. 예를 들어, 제1무브 모션이 한 번 발생하고, 객체가 사람이 위치를 옮김에 따라 단순 이동되고 다시 다른 무브 모션이 한 번 더 발생한 경우, 제1무브 모션의 제1거리 데이터가 (5, 30, 20), 단순 이동에 대한 제2거리 데이터가 (500, 500, 0), 제2무브 모션의 제2거리 데이터가 (10, 30, 30)인 경우, 현재 객체의 위치 데이터를 (515, 560, 50)으로 결정할 수 있다.
인터페이스 장치는 현재의 거리 데이터와 이전 거리 데이터의 비교에 기반하여 객체가 움직이고 있는 방향 데이터를 획득할 수 있다. 이전 거리 데이터란, 직전에 획득된 거리 데이터를 의미할 수 있다. 예를 들어, 5ms 마다 거리 데이터가 연산되는 경우, 시점 t의 거리 데이터와 시점 t-5ms 에 획득된 거리 데이터에 기반하여 x축 방향으로의 증감 여부, y축 방향으로의 증감 여부, 및 z축 방향으로의 증감 여부를 결정할 수 있다. 예를 들어, 현재 거리 데이터의 x축 방향 값이 +50, y축 방향 값이 +10, z축 방향 값이 -5 이고 이전 거리 데이터의 x축 방향 값이 +60, y축 방향 값이 +15, z축 방향 값이 -10이라면, 인터페이스 장치(2000)는 현재의 움직임 방향을 x축 방향으로는 증가, y축 방향으로 증가, z축 방향으로 감소로 결정할 수 있다.
도16a 내지 16d는 다양한 실시 예에 따라, 무브 모션에 기반하여 콘텐츠가 제어되는 것을 나타낸다. 도16a 내지 16d를 참조하면, 사용자는 객체(예를 들어, 지팡이 또는 펜)을 상하, 좌우, 앞뒤 방향 또는 x축, y축, z축 중 임의의 방향으로 움직임으로써 스마트폰 상의 콘텐츠(예를 들어, 야구공)을 제어할 수 있다. 이러한 실시 예에서, 호스트 장치는 객체의 움직임 특성에 따라 가상 공간의 콘텐츠(야구공)를 가상 공산 상에서 이동시킬 수 있다.
도17은 일 실시 예에 따라, 호스트 장치가 무브 모션에 기반하여 콘텐츠를 줌-인하거나 줌-아웃하는 동작의 흐름도를 나타낸다. 도18는 도13의 단계 S900의 하위 단계를 나타낼 수 있다.
단계 S920에서, 호스트 장치는 인터페이스 장치로부터 수신된 제어 신호가 무브 모션인지 판단할 수 있다. 수신된 제어 신호가 무브 신호가 아니면(No), 호스트 장치는 수신된 제어 신호에 대응하는 다른 동작을 수행할 수 있다(S930).
수신된 제어 신호가 무브 신호가 아니면(Yes), 단계 S940에서, 콘텐츠와 객체 사이의 거리가 가까워지는지 여부를 판단할 수 있다. 호스트 장치의 디스플레이 상에 콘텐츠가 재생되고 있다면 콘텐츠의 위치는 호스트 장치 자체의 위치와 동일하고, 콘텐츠가 호스트 장치에 의해 재생되는 가상 현실 콘텐츠라면 콘텐츠 위치는 호스트 장치의 위치와 동일하지 않을 수 있다.
호스트 장치는 객체의 움직임 거리로부터 결정되는 객체의 위치와 콘텐츠의 위치 사이의 거리가 가까워지고 있는 것으로 판단되면(Yes) 콘텐츠를 줌-인할 수 있다(S950). 호스트 장치는 객체의 위치와 호스트 장치의 위치 사이의 거리가 멀어지고 있는 것으로 판단되면(No) 콘텐츠를 줌-아웃할 수 있다(S960). 다만, 도16의 흐름도는 호스트 장치가 무브 모션에 기반하여 줌-인/줌-아웃 동작을 수행하기 위한 하나의 실시 예일 뿐이며, 줌-인/줌-아웃 동작은 다른 무브 모션으로 정의될 수 있다. 예를 들어, 콘텐츠가 객체 사이의 거리가 가까우면 줌-아웃을 수행하고, 거리가 멀어질수록 줌-인을 수행할 수도 있다. 또는, 객체가 우측(또는, 좌측)으로 이동하면 줌-인을 수행하고 객체가 좌측(또는, 우측)으로 이동하면 줌-아웃을 수행할 수 있다. 또는, 인터페이스 장치에서 콘텐츠와 객체 사이의 거리를 판단하고, 판단 결과에 따라 제어 신호를 무브 신호가 아닌 줌-인/줌-아웃 신호로서 호스트 장치로 출력할 수도 있다. 이러한 경우, 콘텐츠와 객체 사이의 거리의 판단 및 줌-인/줌-아웃 신호의 전달 동작은 각각 도13의 단계 S600와 단계 S800에서 수행될 수 있다.
도18은 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임을 탭(또는, 클릭(Click)) 모션으로 결정하기 위한 방법의 흐름도를 나타낸다. 도18는 도13의 단계 S600의 하위 단계를 나타낼 수 있다.
단계 S624에서, 인터페이스 장치는 움직임에 대한 각도 데이터와 속도 데이터가 기준 조건을 만족하는지 여부를 판단할 수 있다. 인터페이스 장치는 각도가 제1기준 범위 내에 속하고, 속도가 제2기준 범위 내에 속하는지 판단할 수 있다.
각도와 속도가 기준 조건을 만족하는 것으로 판단되면(Yes), 단계 S626에서, 인터페이스 장치는 객체의 움직임을 탭 모션으로 결정할 수 있다. 그렇지 않으면(No), 단계 S628에서 인터페이스 장치는 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다.
도19는 일 실시 예에 따라 인터페이스 장치가 객체의 움직임을 잡기 모션으로 결정하기 위한 방법의 흐름도를 나타낸다. 도19는 도13의 단계 S600의 하위 단계를 나타낼 수 있다.
단계 S634에서, 인터페이스 장치는 각도와 속도가 기준 조건을 만족하는지 여부와 움직임에 잔향(Reverberation)이 없는지 여부를 판단할 수 있다. 예를 들어, 인터페이스 장치(2000)는 각도가 제1기준 범위 내에 속하고, 속도가 제2기준 범위 이내인지 판단할 수 있다. 이와 함께, 인터페이스 장치(2000)는 객체의 움직임에 대한 잔향 여부를 판단할 수 있다. 잔향이란, 사용자가 움직임을 종료하였음에도 객체의 특성 또는 움직임 관성에 따라 사용자의 의도와 상관없이 발생되는 객체(예를 들어, 손가락)의 움직임(또는, 떨림)을 의미한다. 예를 들어, 잔향은 가속도 센서의 관성에 의한 나머지 신호를 의미할 수 있다. 잡기 모션의 경우, 탭 모션과 달리, 객체(예를 들어, 검지 손가락)이 다른 객체(예를 들어, 엄지 손가락)과 접촉 또는 결합됨으로써 움직임이 종료되어 잔향이 발생되지 않으므로 잔향의 유무가 탭 모션과 잡기 모션을 구별하기 위한 기준이 될 수 있다.
각도와 속도가 기준 조건을 만족하고 잔향이 없는 것으로 판단(Yes)되면, 단계 S636에서, 인터페이스 장치는 객체의 움직임을 잡기 모션으로 결정할 수 있다. 그렇지 않으면(No), 단계 S638에서 인터페이스 장치는 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다.
도20은 일 실시 예에 따라, 인터페이스 장치가 손가락의 움직임을 스크롤 모션으로 결정하기 위한 방법의 흐름도를 나타낸다. 도20은 도13의 단계 S600의 하위 단계를 나타낼 수 있다.
단계 S644에서, 인터페이스 장치는 각도, 속도, 및 거리가 기준 조건을 만족하는지 여부를 판단할 수 있다. 예를 들어, 인터페이스 장치는 각도가 제1기준 범위 내에 속하고, 속도가 제2기준 범위 내에 속하고, 거리가 제3기준 범위 내에 속하는지 판단할 수 있다. 예를 들어, 인터페이스 장치는 x, y, z 축 중 어느 하나의 방향에 대한 각속도가 기준 값 이상이고, x, y, z 축 중 적어도 하나의 방향에 대한 각도가 기준 범위 이내인지 판단할 수 있다. 이와 함께, 인터페이스 장치는 거리(예를 들어, 검지 손가락의 중간 마디 또는 끝 마디가 움직인 거리)가 임계 값보다 큰지 여부를 판단할 수 있다. 스크롤 모션은 탭 모션에 비해 손가락의 움직임이 큼을 고려하여, 거리가 탭 모션과 스크롤 모션을 구별하기 위한 기준이 될 수 있다.
각도, 속도, 및 거리가 기준 조건을 만족하면(Yes), 단계 S646에서, 인터페이스 장치는 객체의 움직임을 스크롤 모션으로 결정할 수 있다. 그렇지 않으면(No), 단계 S648에서 인터페이스 장치는 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다.
도21은 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임을 스와이프 모션으로 결정하기 위한 방법의 흐름도를 나타낸다. 도21은 도13의 단계 S600의 하위 단계를 나타낼 수 있다.
단계 S654에서, 인터페이스 장치는 속도 및 거리가 기준 조건을 만족하는지 여부를 판단할 수 있다. 예를 들어, 인터페이스 장치는 속도가 제1기준 범위 내에 속하고, 거리가 제2기준 범위 내에 속하는지 판단할 수 있다. 스와이프 모션은 무브 모션에 비해 움직임이 큼을 고려할 때, 속도와 거리가 모두 임계 값보다 큰지 여부가 스와이프 모션과 무브 모션을 구별하기 위한 기준이 될 수 있다.
모션에 대한 속도 및 거리가 기준 조건을 만족하면(Yes), 단계 S656에서, 인터페이스 장치는 객체의 움직임을 스와이프 모션으로 결정할 수 있다. 그렇지 않으면(No), 단계 S658에서 인터페이스 장치는 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다.
도22는 일 실시 예에 따라, 인터페이스 장치가 객체의 움직임을 로테이션 모션으로 결정하기 위한 방법의 흐름도를 나타낸다.
단계 S664에서, 인터페이스 장치는 각도가 기준 조건을 만족하는지 여부를 판단할 수 있다. 예를 들어, 인터페이스 장치는, x축, y축, z축 방향 각각에 대한 움직인 각도들이 기준 조건을 모두 만족하면(Yes), 단계 S666에서, 인터페이스 장치는 객체의 움직임을 로테이션 모션으로 결정할 수 있다. 그렇지 않으면(No), 단계 S668에서 인터페이스 장치는 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다.
도23은 일 실시 예에 따라, 두 개의 인터페이스 장치에 기반하여 호스트 장치의 콘텐츠를 제어하는 방법의 흐름도를 나타낸다.
단계 S2200에서, 제1인터페이스 장치는 제1객체에 착용되는 제1가속도 센서, 제1자이로 센서, 및 제1지자기 센서에 기반하여 제1객체의 제1움직임 정보를 획득할 수 있다. 제1움직임 정보는 제1객체의 가속도 데이터와 제1객체의 각속도 데이터 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따라, 제1객체는 사용자의 검지 손가락일 수 있다.
단계 S2300에서, 제1인터페이스 장치는 제1객체에 대한 제2움직임 정보를 획득할 수 있다. 제1인터페이스 장치는 단계 S2220에서 획득된 제1움직임 정보를 연산하여 제2움직임 정보를 획득할 수 있다. 제2움직임 정보는 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다. 제2움직임 정보를 획득하는 방법은 도3 내지 도14를 참조하여 상술한 바와 같으므로 상세한 설명은 생략한다.
단계 S2400에서, 제2인터페이스 장치는 제2객체에 착용되는 제2가속도 센서, 제2자이로 센서, 및 제2지자기 센서에 기반하여 제2객체의 제3움직임 정보를 획득할 수 있다. 제3움직임 정보는 제2객체의 가속도 데이터와 제2객체의 각속도 데이터 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따라, 제2객체는 사용자의 엄지 손가락일 수 있다.
단계 S2500에서, 제2인터페이스 장치는 제2객체에 대한 제4움직임 정보를 획득할 수 있다. 제2인터페이스 장치는 단계 S2400에서 획득된 제3움직임 정보를 연산하여 제4움직임 정보를 획득할 수 있다. 제4움직임 정보는 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다. 제4움직임 정보를 획득하는 방법은 도3 내지 도14을 참조하여 상술한 바와 같으므로 상세한 설명은 생략한다.
단계 S2600에서, 제1인터페이스 장치 또는 제2인터페이스 장치는 제2움직임 정보 및 제4움직임 정보에 기반하여 두 개의 인터페이스 장치들의 움직임에 대응하는 모션을 결정할 수 있다. 이를 위해, 제2움직임 정보가 제1인터페이스 장치로부터 제2인터페이스 장치로 전송되거나, 제4움직임 정보가 제2인터페이스 장치로부터 제1인터페이스 장치로 전송될 수 있다. 제1인터페이스 장치 또는 제2인터페이스 장치의 프로세서는 소정의 알고리즘을 이용하여 획득된 제2움직임 정보와 제4움직임 정보에 대응하는 특정 모션을 결정할 수 있다. 일 실시 예에 따라, 제1인터페이스 장치 또는 제2인터페이스 장치는 기 정의된 모션들 중에서 획득된 제2움직임 정보와 제4움직임 정보의 조합에 대응하는 모션을 결정할 수 있다. 예를 들어, 제1인터페이스 장치 또는 제2인터페이스 장치는 사용자의 검지 손가락과 엄지 손가락의 움직임에 대응하는 모션을 결정할 수 있다.
일 실시 예에 따라, 기 정의된 모션들은 도6을 참조하여 상술한 파인 튜닝, 멀티 터치, 줌 인, 및 줌 아웃 모션 등을 포함할 수 있다.
예를 들어, 제1인터페이스 장치 또는 제2인터페이스 장치는 획득된 제2움직임 정보와 제4움직임 정보에 기반하여 검지 손가락과 엄지 손가락 각각이 움직인 각도, 속도, 및 거리 등을 조합함으로써, 사용자가 취하는 움직임을 콘텐츠를 미세조정하기 위한 파인 튜닝 모션으로 결정할 수 있다.
예를 들어, 제1인터페이스 장치 또는 제2인터페이스 장치는 도18을 참조하여 상술한 방법에 기초하여, 검지 손가락과 엄지 손가락 각각의 탭 모션에 기반하여 사용자가 취하는 움직임을 멀티 터치 모션으로 결정할 수 있다.
예를 들어, 제1인터페이스 장치 또는 제2인터페이스 장치는 획득된 제2움직임 정보와 제4움직임 정보에 기반하여 기준 속도 이상으로 검지 손가락과 엄지 손가락이 서로 가까워지는 것으로 판단되면 사용자가 취하는 움직임을 줌-인 모션으로 결정할 수 있다. 반대로, 제1인터페이스 장치 또는 제2인터페이스 장치는 기준 속도 이상으로 검지 손가락과 엄지 손가락이 서로 멀어지는 것으로 판단되면 사용자가 취하는 움직임을 줌-아웃 모션으로 결정할 수 있다.
제1인터페이스 장치 또는 제2인터페이스 장치는 획득된 제2움직임 정보와 제4움직임 정보에 기반하여, 사용자의 움직임이 기 정의된 어떠한 모션에도 해당하지 않거나 무의미한 움직임으로 판단되는 것으로 판단되는 경우 예외 처리할 수 있다.
단계 S2700에서, 제1인터페이스 장치 또는 제2인터페이스 장치는 결정된 모션을 나타내는 제어 신호를 무선 통신 인터페이스를 통해 호스트 장치로 전달할 수 있다. 제어 신호는, 호스트 장치를 제어하기 위한 인터럽트 신호일 수 있다.
단계 S2900에서, 호스트 장치는 수신된 제어 신호에 기반하여, 콘텐츠를 제어할 수 있다.
도24는 일 실시 예에 따라, 두 개의 인터페이스 장치에 기반하여 호스트 장치의 콘텐츠를 제어하기 위한 방법의 흐름도를 나타낸다.
도24의 단계 S2200 내지 단계 S2500은 도23의 단계 S2200 내지 단계 S2500 과 동일하므로 상세한 설명은 생략한다.
단계 S2650에서, 인터페이스 장치들은 제2움직임 정보와 제4움직임 정보를 호스트 장치로 전달할 수 있다. 제1인터페이스 장치는 제1객체에 대한 제2움직임 정보를 무선 통신 인터페이스를 통해 호스트 장치로 전달할 수 있다. 제2인터페이스 장치는 제2객체에 대한 제4움직임 정보를 무선 통신 인터페이스를 통해 호스트 장치로 전달할 수 있다.
단계 S2800에서, 호스트 장치는 제2움직임 정보 및 제4움직임 정보에 기반하여 제어 신호를 생성할 수 있다. 호스트 장치의 프로세서는 소정의 알고리즘을 이용하여 획득된 제2움직임 정보와 제4움직임 정보에 대응하는 제어 신호를 생성할 수 있다. 제어 신호는 상술한 파인 튜닝, 멀티 터치, 줌 인, 또는 줌 아웃 동작을 수행하기 위한 신호일 수 있다.
단계 S2900에서, 호스트 장치는 제어 신호에 기반하여, 콘텐츠를 제어할 수 있다.
도24의 흐름도가 도23의 흐름도와 다른 점은, 제2움직임 정보 및 제4움직임 정보에 대응하는 모션을 제1인터페이스 장치 또는 제2인터페이스 장치가 아닌 호스트 장치에서 결정한다는 것이다. 도24의 실시 예에서, 인터페이스 장치들 각각은 자신의 움직임 정보를 호스트 장치에 전달하고, 호스트 장치는 수신된 움직임 정보들을 조합하고 연산함으로써 인터페이스 장치들의 움직임에 대응하는 제어 신호(또는, 모션)을 결정할 수 있다.
단계 S2900에서, 호스트 장치는 수신된 제어 신호에 기반하여, 콘텐츠를 제어할 수 있다.
도25는 일 실시 예에 따라, 호스트 장치가 두 개의 인터페이스 장치와에 기반하여 파인튜닝 동작을 수행하는 동작의 흐름도를 나타낸다. 도25는 도24의 단계 S2800 의 하위 단계를 나타낼 수 있다.
단계 S2822에서, 호스트 장치는 사용자가 두 개의 인터페이스 장치를 사용하고 있는지 판단할 수 있다. 일 실시 예에 따라, 호스트 장치는 두 개의 인터페이스 장치가 블루투스 연결되어 있는지 판단할 수 있다. 일 실시 예에 따라, 호스트 장치는 구동 중인 어플리케이션이 두 개의 인터페이스 장치의 사용을 지원하고, 두 개의 인터페이스 장치가 블루투스 연결되어 있으면 두 개의 인터페이스 장치를 사용하고 있는 것으로 판단할 수 있다. 호스트 장치가 두 개의 인터페이스 장치를 사용하고 있지 않은 것으로 판단하면(No), 단계 S2825에서 하나의 인터페이스 장치만으로 모션을 결정할 수 있다(도 15 내지 22 참조)
호스트 장치가 두 개의 인터페이스 장치와 연결된 것으로 판단되면(Yes), 호스트 장치는 두 개의 인터페이스 장치들 각각의 각속도가 기준 조건을 만족하는지 판단할 수 있다. 예를 들어, 호스트 장치는 단계 S2826에서, 두 개의 인터페이스 장치들 각각으로부터 획득되는 움직임 정보에 기반하여 두 개의 손가락이 움직이는 각속도가 기준 범위 이내인지 판단할 수 있다. 각속도가 기준 범위 이내이면(Yes), 호스트 장치는 파인 튜닝 동작을 위한 제어 신호를 발생시킬 수 있다. 그렇지 않으면(No), 단계 S2828에서 호스트 장치는 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다.
도26은 일 실시 예에 따라, 호스트 장치가 두 개의 인터페이스 장치와에 기반하여 줌-인/줌-아웃을 수행하는 동작의 흐름도를 나타낸다. 도26은 도24의 단계 S2800 의 하위 단계를 나타낼 수 있다.
단계 S2842에서, 호스트 장치는 사용자가 두 개의 인터페이스 장치를 사용하고 있는지 판단할 수 있다. 단계 S2842에서의 호스트 장치의 동작은 도23의 단계 S2822에서의 동작과 유사하므로 상세한 설명은 생략한다.
호스트 장치가 두 개의 인터페이스 장치와 연결되어 있지 않으면(No), 단계 S2843에서 하나의 인터페이스 장치만으로 모션을 결정할 수 있다(도 15 내지 22 참조). 호스트 장치가 두 개의 인터페이스 장치와 연결되어 있으면(Yes), 호스트 장치는 단계 S2844에서, 두 개의 인터페이스 장치들 사이의 거리가 가까워지는지 판단할 수 있다. 예를 들어, 획득된 제1인터페이스 장치의 움직임 정보와 제2인터페이스 장치의 움직임 정보에 기반하여 제1기준 속도 이상으로 제1인터페이스 장치와 제2인터페이스 장치가 서로 가까워지는 것으로 판단되면(Yes), 호스트 장치는 줌-아웃 동작을 위한 제어 신호를 발생시킬 수 있다(단계 S2845).
그렇지 않으면(No), 호스트 장치는 획득된 제1인터페이스 장치의 움직임 정보와 제2인터페이스 장치의 움직임 정보에 기반하여 제2기준 속도 이상으로 제1인터페이스 장치와 제2인터페이스 장치가 서로 멀어지는지 판단할 수 있다(단계 S2846). 제1인터페이스 장치와 제2인터페이스 장치가 제2기준 속도 이상으로 서로 멀어지는 것으로 판단되면(Yes), 호스트 장치는 줌-인 동작을 위한 제어 신호를 발생시킬 수 있다(단계 S2847). 그렇지 않으면(No), 단계 S2828에서 호스트 장치는 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다.
도25 내지 도26은 호스트 장치가 수신된 움직임 정보에 기반하여 모션을 결정하는 실시 예를 나타낸 것이나, 도24 내지 도25에 개시된 방법은 인터페이스 장치들 중 하나가 다른 인터페이스 장치로부터 움직임 정보를 수신하고, 자신의 움직임 정보와 수신된 움직임 정보에 기반하여 모션을 결정하는 실시 예(도22)에도 적용될 수 있다.
도27은 일 실시 예에 따라, 도1 내지 26을 참조하여 상술한 인터페이스 장치로 홀로그램 콘텐츠를 제어하는 것을 나타낸다. 일 실시 예에 따라, 사용자는 도2의 반지 형태의 인터페이스 장치(2000)나 도12의 지팡이(12000)를 홀로그램 디스플레이용 컨트롤러로서 사용할 수 있다.
도28은 일 실시 예에 따라, 도1 내지 26을 참조하여 상술한 인터페이스 장치로 AR 글래스(AR glass)에 의해 디스플레이되는 콘텐츠를 제어하는 것을 나타낸다.
도28을 참조하면, 사용자는 반지 형태의 인터페이스 장치를 자신의 손가락에 착용하고, 손가락을 이용하여 AR 글래스에 의해 디스플레이되는 콘텐츠를 제어할 수 있다. 이러한 실시 예에서, 호스트 장치는 AR 글래스이고, 콘텐츠는 AR 글래스에 의해 3차원 공간 상에 디스플레이될 수 있다.
일 실시 예에 따라, 사용자는 콘텐츠를 x 축 방향과 y축 방향으로 제어할 수 있다. 이러한 실시 예에서, 인터페이스 장치의 동작은 평면 2D 마우스와 같이 동작할 수 있다.
일 실시 예에 따라, 사용자는 도15 내지 17을 참조하여 상술한 무브 모션을 통해 콘텐츠를 이동시키거나 3차원 공간 상의 특정 위치를 컨택할 수 있다. 또는, 도15 내지 17을 참조하여 상술한 무브 모션을 통해 콘텐츠를 축소(또는, 줌 아웃)하거나 확대(또는, 줌 인)할 수 있다.
일 실시 예에 따라, 사용자는 도18 내지 22를 참조하여 상술한 모션들을 통해 콘텐츠를 제어할 수 있다. 예를 들어, 사용자는 손가락으로 콘텐츠를 3차원 공간 상에서 로테이션 시키거나, 클릭하거나, 잡을 수 있다.
한편, 상술한 콘텐츠 제어 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
위 설명들은 본 발명을 구현하기 위한 예시적인 구성들 및 동작들을 제공하도록 의도된다. 본 발명의 기술 사상은 위에서 설명된 실시 예들뿐만 아니라, 위 실시 예들을 단순하게 변경하거나 수정하여 얻어질 수 있는 구현들도 포함할 것이다. 또한, 본 발명의 기술 사상은 위에서 설명된 실시 예들을 앞으로 용이하게 변경하거나 수정하여 달성될 수 있는 구현들도 포함할 것이다.
Claims (15)
- 호스트 장치의 콘텐츠를 제어하기 위한 인터페이스 장치에 있어서,가속도 센서, 자이로 센서, 및 지자기 센서에 기반하여 객체의 제1움직임 정보를 획득하기 위한 센싱 모듈; 및상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 획득하고, 상기 제2움직임 정보에 기반하여 상기 객체의 움직임에 대응되는 모션을 결정하고, 상기 결정된 모션을 나타내는 제어 신호를 상기 호스트 장치로 출력하기 위한 제어 신호 출력부를 포함하고,상기 객체는 사람의 손가락 또는 물건을 포함하고,상기 제1움직임 정보는 상기 가속도 센서를 통해 획득되는 가속도 데이터와 상기 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함하고,상기 제1움직임 정보는, 상기 센싱 모듈로부터 출력되어 SPI(Serial Peripheral Interface) 버스 및 I2C(Inter Integrated Circuit) 버스 중 적어도 하나를 통해 상기 제어 신호 출력부로 전달되고,상기 제2움직임 정보는, 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함하는 인터페이스 장치.
- 제1항에 있어서,상기 거리 데이터는, x축 방향, y축 방향, 및 z축 방향 각각에 대한 거리 데이터를 포함하고,상기 속도 데이터는, x축 방향, y축 방향, 및 z축 방향 각각에 대한 속도 데이터를 포함하고,상기 방향 데이터는, x축 방향으로의 증감 여부, y축 방향으로의 증감 여부, 및 z축 방향으로의 증감 여부에 대한 정보를 포함하는 인터페이스 장치.
- 제1항에 있어서,상기 제어 신호 출력부는, 상기 호스트 장치를 제어하기 위한 기 정의된 모션들 중 상기 객체의 움직임에 대응하는 모션을 결정하도록 구성되고,상기 기 정의된 모션들은 무브, 탭, 잡기, 스크롤, 스와이프, 및 로테이션을 포함하는 인터페이스 장치.
- 제1항에 있어서,상기 센싱 모듈은, 상기 가속도 센서, 상기 자이로 센서, 및 상기 지자기 센서 각각으로부터 획득되는 데이터를 필터 또는 알고리즘에 기반하여 보상 및 융합함으로써 최적화된 상기 제1움직임 정보를 획득하기 위한 센서 융합부를 더 포함하는 인터페이스 장치.
- 제1항에 있어서,상기 제어 신호 출력부는,상기 제1움직임 정보를 연산함으로써 상기 제2움직임 정보를 획득하고, 상기 제2움직임 정보에 기반하여 상기 객체의 움직임과 대응하는 상기 모션을 결정하기 위한 프로세서; 및무선 통신 인터페이스에 기반하여 상기 제어 신호를 상기 호스트 장치로 전달하기 위한 통신부를 포함하는 인터페이스 장치.
- 제5항에 있어서,상기 프로세서는, 상기 제2움직임 정보를 기준 시간마다 획득하고,상기 기준 시간은 30ms 이하인 인터페이스 장치.
- 제5항에 있어서,상기 프로세서는, 상기 가속도 데이터에서 중력 가속도 성분을 제거한 선형 가속도 데이터에 적분 연산을 수행함으로써 상기 속도 데이터와 상기 거리 데이터를 획득하는 인터페이스 장치.
- 제5항에 있어서,상기 프로세서는,상기 각속도 데이터에 적분 연산을 수행함으로써 상기 각도 데이터를 획득하고,현재 거리 데이터와 이전 거리 데이터와의 비교에 기반하여 상기 방향 데이터를 획득하는 인터페이스 장치.
- 제1항에 있어서,상기 센싱 모듈 및 상기 제어 신호 출력부 중 적어도 하나의 동작을 위해 필요한 전원을 공급하는 배터리; 및상기 배터리를 충전시키기 위한 충전 단자를 더 포함하는 인터페이스 장치.
- 제1항에 있어서,상기 센싱 모듈과 상기 제어 신호 출력부를 내장하기 위한 케이스를 더 포함하고,상기 케이스를 상기 손가락에 착용 또는 고정시키기 위한 링형의 연결부를 더 포함하고,상기 링형의 연결부는, 상기 손가락의 중간 마디 또는 끝 마디에 착용되도록 구성되는 인터페이스 장치.
- 호스트 장치의 가상 현실 콘텐츠를 제어하기 위한 주사위에 있어서,가속도 센서, 자이로 센서, 및 지자기 센서에 기반하여 상기 주사위의 제1움직임 정보를 획득하기 위한 센싱 모듈;상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 생성하고, 상기 제2움직임 정보에 기반하여 상기 주사위의 움직임에 대응되는 제어 신호를 상기 호스트 장치로 출력하기 위한 제어 신호 출력부;상기 센싱 모듈 및 상기 제어 신호 출력부 중 적어도 하나의 동작을 위해 필요한 전원을 공급하는 배터리;상기 센싱 모듈, 상기 제어 신호 출력부, 및 상기 배터리를 내장하기 위한 중공; 및상기 배터리를 충전시키기 위한 충전 단자를 포함하고,상기 제1움직임 정보는 상기 가속도 센서를 통해 획득되는 가속도 데이터와 상기 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함하고,상기 제1움직임 정보는, 상기 센싱 모듈로부터 출력되어 SPI(Serial Peripheral Interface) 버스 및 I2C(Inter Integrated Circuit) 버스 중 적어도 하나를 통해 상기 제어 신호 출력부로 전달되고,상기 제2움직임 정보는, 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함하는 주사위.
- 제11항에 있어서,상기 제어 신호 출력부는,상기 제1움직임 정보를 연산함으로써 상기 제2움직임 정보를 획득하고, 상기 제2움직임 정보 중 적어도 하나에 기반하여 상기 주사위의 움직임과 대응하는 제어 신호를 생성하기 위한 프로세서; 및블루투스 통신에 기반하여 상기 제어 신호를 상기 호스트 장치로 전달하기 위한 통신부를 포함하는 주사위.
- 제11항에 있어서,상기 제어 신호 출력부는,상기 가속도 데이터, 상기 각속도 데이터, 상기 속도 데이터, 상기 거리 데이터, 및 상기 방향 데이터 중 적어도 하나에 기반하여 상기 주사위가 나타내는 숫자를 결정하고, 상기 숫자 정보를 포함하는 상기 제어 신호를 출력하는 주사위.
- 콘텐츠를 제어하기 위한 시스템에 있어서,제1손가락에 착용되고, 제1가속도 센서, 제1자이로 센서, 및 제1지자기 센서에 기반하여 상기 제1손가락의 제1움직임 정보를 획득하고, 상기 제1움직임 정보의 연산을 통해 제2움직임 정보를 획득하기 위한 제1인터페이스 장치;제2손가락에 착용되고, 상기 제2손가락의 제3움직임 정보를 획득하고, 상기 제3움직임 정보의 연산을 통해 제4움직임 정보를 획득하기 위한 제2인터페이스 장치; 및상기 콘텐츠를 생성하고, 상기 제2움직임 정보 및 제4움직임 정보에 기반하여 결정된 모션에 따라 상기 콘텐츠를 제어하기 위한 호스트 장치를 포함하고,상기 제1움직임 정보는, 상기 제1가속도 센서를 통해 획득되는 제1가속도 데이터와 상기 제1자이로 센서를 통해 획득되는 제1각속도 데이터 중 적어도 하나를 포함하고,상기 제2움직임 정보는, 제1각도 데이터, 제1거리 데이터, 제1속도 데이터, 및 제1방향 데이터 중 적어도 하나를 포함하고,상기 제3움직임 정보는, 상기 제2가속도 센서를 통해 획득되는 제2가속도 데이터와 상기 제2자이로 센서를 통해 획득되는 제2각속도 데이터 중 적어도 하나를 포함하고,상기 제4움직임 정보는, 제2각도 데이터, 제2거리 데이터, 제2속도 데이터, 및 제2방향 데이터 중 적어도 하나를 포함하고,상기 제1인터페이스 장치는, 상기 제1각속도 데이터에 적분 연산을 수행함으로써 상기 제1각도 데이터를 획득하고,상기 제1가속도 데이터에서 중력 가속도 성분을 제거한 선형 가속도 데이터에 적분 연산을 수행함으로써 상기 제1속도 데이터와 상기 제1거리 데이터를 획득하고,현재 거리 데이터와 이전 거리 데이터의 비교에 기반하여 상기 제1방향 데이터를 획득하고,상기 모션은 파인 튜닝, 멀티 터치, 줌 인, 또는 줌 아웃을 포함하는 시스템.
- 제14항에 있어서,상기 호스트 장치는,상기 제2움직임 정보와 상기 제4움직임 정보에 기반하여, 상기 제1인터페이스 장치와 상기 제2인터페이스 장치가 제1기준 속도 이상으로 서로 멀어지면 상기 콘텐츠를 줌-인하고,상기 제1인터페이스 장치와 상기 제2인터페이스 장치가 제2기준 속도 이상으로 서로 가까워지면 상기 콘텐츠를 줌-아웃하는 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KRPCT/KR2018/012176 | 2018-10-16 | ||
KR2018012176 | 2018-10-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020080733A1 true WO2020080733A1 (ko) | 2020-04-23 |
Family
ID=70284672
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/013256 WO2020080733A1 (ko) | 2018-10-16 | 2019-10-10 | 가상 콘텐츠를 제어하기 위한 인터페이스 장치 |
PCT/KR2019/013255 WO2020080732A1 (ko) | 2018-10-16 | 2019-10-10 | 가상 콘텐츠를 제어하기 위한 인터페이스 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/013255 WO2020080732A1 (ko) | 2018-10-16 | 2019-10-10 | 가상 콘텐츠를 제어하기 위한 인터페이스 방법 |
Country Status (1)
Country | Link |
---|---|
WO (2) | WO2020080733A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442830B (zh) * | 2020-11-02 | 2024-06-18 | 华硕电脑股份有限公司 | 电子装置及其控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120037739A (ko) * | 2010-10-12 | 2012-04-20 | 오민애 | 손동작 기반 사용자 인터페이스 장치 및 그 방법 |
KR20160072637A (ko) * | 2014-12-15 | 2016-06-23 | 엘지전자 주식회사 | 착용형 사용자 인터페이스 장치 |
JP2017168060A (ja) * | 2016-03-14 | 2017-09-21 | 明久 松園 | スマートインターフェースリング |
KR20180031625A (ko) * | 2014-12-08 | 2018-03-28 | 로힛 세스 | 착용가능 무선 hmi 디바이스 |
KR20180112308A (ko) * | 2017-04-03 | 2018-10-12 | 김정모 | 손동작을 기반으로 전자 장치를 제어하는 웨어러블 디바이스 및 이의 제어 방법 |
-
2019
- 2019-10-10 WO PCT/KR2019/013256 patent/WO2020080733A1/ko active Application Filing
- 2019-10-10 WO PCT/KR2019/013255 patent/WO2020080732A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120037739A (ko) * | 2010-10-12 | 2012-04-20 | 오민애 | 손동작 기반 사용자 인터페이스 장치 및 그 방법 |
KR20180031625A (ko) * | 2014-12-08 | 2018-03-28 | 로힛 세스 | 착용가능 무선 hmi 디바이스 |
KR20160072637A (ko) * | 2014-12-15 | 2016-06-23 | 엘지전자 주식회사 | 착용형 사용자 인터페이스 장치 |
JP2017168060A (ja) * | 2016-03-14 | 2017-09-21 | 明久 松園 | スマートインターフェースリング |
KR20180112308A (ko) * | 2017-04-03 | 2018-10-12 | 김정모 | 손동작을 기반으로 전자 장치를 제어하는 웨어러블 디바이스 및 이의 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2020080732A1 (ko) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022035027A1 (ko) | 모션 신호와 마우스 신호를 사용하여 호스트 장치를 제어하기 위한 전자 장치 | |
WO2018124662A1 (en) | Method and electronic device for controlling unmanned aerial vehicle | |
WO2015084111A1 (ko) | 제한된 수의 자기장 센서를 이용한 사용자 입력 처리 장치 | |
WO2018074893A1 (ko) | 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 | |
WO2016117758A1 (ko) | 손 재활 운동 시스템 및 방법 | |
WO2017131427A1 (en) | Method for displaying image and electronic device thereof | |
WO2012108722A2 (en) | Apparatus including multiple touch screens and method of changing screens therein | |
WO2013191484A1 (en) | Remote control apparatus and control method thereof | |
WO2014073926A1 (ko) | 원격 제어 장치, 디스플레이 장치 및 그 제어 방법 | |
WO2018030567A1 (ko) | Hmd 및 그 hmd의 제어 방법 | |
AU2012214923A1 (en) | Apparatus including multiple touch screens and method of changing screens therein | |
WO2019164092A1 (ko) | 디스플레이를 통해 표시된 제 1 콘텐트에 대해 제 2 콘텐트를 외부 객체의 움직임에 따라 제공하기 위한 전자 장치 및 그의 동작 방법 | |
WO2016182090A1 (ko) | 안경형 단말기 및 이의 제어방법 | |
EP3167610A1 (en) | Display device having scope of accreditation in cooperation with depth of virtual object and controlling method thereof | |
EP3891591A1 (en) | Method of controlling device and electronic device | |
WO2014069722A1 (ko) | 3차원 디스플레이 장치 및 그의 사용자 인터페이스 방법 | |
WO2017022872A1 (ko) | 헤드 마운티드 디스플레이 및 그 제어방법 | |
WO2019035582A1 (en) | DISPLAY APPARATUS AND SERVER, AND METHODS OF CONTROLLING THE SAME | |
WO2022186619A1 (ko) | 디지털 트윈 기반의 사용자 인터랙션 방법 및 장치 | |
WO2017126709A1 (ko) | 이동 단말기 및 그 제어 방법 | |
WO2020080733A1 (ko) | 가상 콘텐츠를 제어하기 위한 인터페이스 장치 | |
WO2019103350A1 (ko) | 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법 | |
WO2021107200A1 (ko) | 이동 단말기 및 이동 단말기 제어 방법 | |
WO2016122153A1 (en) | Display apparatus and control method thereof | |
WO2020091182A1 (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: 19874530 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19874530 Country of ref document: EP Kind code of ref document: A1 |