KR20230030472A - Method for creating user defined gesture profile based on user's repetitive motion and recognizing gesture - Google Patents

Method for creating user defined gesture profile based on user's repetitive motion and recognizing gesture Download PDF

Info

Publication number
KR20230030472A
KR20230030472A KR1020210112721A KR20210112721A KR20230030472A KR 20230030472 A KR20230030472 A KR 20230030472A KR 1020210112721 A KR1020210112721 A KR 1020210112721A KR 20210112721 A KR20210112721 A KR 20210112721A KR 20230030472 A KR20230030472 A KR 20230030472A
Authority
KR
South Korea
Prior art keywords
motion
electronic device
axis
value
angular velocity
Prior art date
Application number
KR1020210112721A
Other languages
Korean (ko)
Inventor
김호연
Original Assignee
주식회사 콕스스페이스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 콕스스페이스 filed Critical 주식회사 콕스스페이스
Priority to KR1020210112721A priority Critical patent/KR20230030472A/en
Publication of KR20230030472A publication Critical patent/KR20230030472A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention relates to an electronic device paired with a host device to transmit a control signal based on a motion of a user. The electronic device includes an acceleration sensor, a gyro sensor, a geomagnetic sensor, a memory, and a first processor for processing data obtained from the acceleration sensor, the gyro sensor, and the geomagnetic sensor to obtain acceleration, angular velocity, and inclination values for at least one of 9 axes, and uses the acceleration, angular velocity, and inclination values for at least one of the 9 axes to create and recognize a gesture profile for a specific motion.

Description

사용자의 반복 동작에 기반한 사용자 정의 제스처 프로파일 생성 및 제스처 인식 방법{METHOD FOR CREATING USER DEFINED GESTURE PROFILE BASED ON USER'S REPETITIVE MOTION AND RECOGNIZING GESTURE}Method for creating custom gesture profile and recognizing gesture based on user's repetitive motion

본 발명은 제스처 인식 방법에 관한 것이다.The present invention relates to a gesture recognition method.

제스처 또는 모션 인식 기술은 웨어러블 디바이스의 성장 및 컴퓨터 그래픽 기술, 증강 현실(Augmented Reality, AR), 가상 현실(Virtual Reality, VR), 혼합 현실(Mixed Reality, MR)과 같은 가상 현실에 기반한 컨텐츠 시장이 발전 등에 힘입어 지속적으로 발전하고 있다. 그러나 제스처 인식 기술은 장치를 제어하기 위해 사용되기보다는 게임의 가상 컨텐츠나 영화 제작사에서 컴퓨터 그래픽에 기반한 컨텐츠를 만들기 위해 주로 사용되고 있어 일상 생활에서 제스처 인식 기술은 매우 제한적으로 활용되고 있는 실정이다. Gesture or motion recognition technology is the growth of wearable devices and the content market based on virtual reality such as computer graphics technology, augmented reality (AR), virtual reality (VR), and mixed reality (MR). Thanks to development, etc., it is continuously evolving. However, since gesture recognition technology is mainly used to create virtual contents of games or computer graphics-based contents in movie production companies rather than to control devices, gesture recognition technology is being used very limitedly in everyday life.

이러한 이유로는 첫 번째로 제스처 인식 기술에 오류가 있을 경우 오류에 의해 치명적인 결과를 발생시킬 수 있는 분야에는 사용하기 어렵다는 것과 두 번째로 제스처 인식을 위해 카메라로부터 객체의 영상을 획득하여 이미지 프로세싱에 기반하여 제스처 인식하는 방법이 널리 사용되고 있는데 이미지 프로세싱 방식은 환경에 의한 영향을 많이 받으므로 인식 오류도 빈번하고 알고리즘이 매우 정교할 필요가 있다는 문제점이 있다. 세 번째로 사용자에게 랜드마크를 부착하거나 특수한 장비를 착용하게 함으로써 제스처 인식의 정확도를 상승시킬 수 있는데 이러한 방식은 사용자에게 너무 번거롭고 불편한 작업이므로 제스처 인식이 일상 생활이나 일상 업무에서 활용되지 못하는 이유가 된다.For this reason, firstly, it is difficult to use in the field where errors in gesture recognition technology can cause fatal results, and secondly, for gesture recognition, an image of an object is obtained from a camera and based on image processing Gesture recognition methods are widely used, but since the image processing method is greatly influenced by the environment, there are problems in that recognition errors are frequent and the algorithm needs to be very sophisticated. Third, it is possible to increase the accuracy of gesture recognition by having the user attach a landmark or wear special equipment. This method is too cumbersome and inconvenient for the user, which is why gesture recognition is not used in daily life or daily work. .

또한, 모션 센서를 통해 모션 데이터를 획득하고 이에 기반하여 제스처 인식을 하는 종래 기술들이 있으나 대부분 가속도 데이터와 같은 1~2개 종류의 데이터만을 활용하여 이를 가공함으로써 제스처 인식을 하는 기술들이다. 최근 가속도, 자이로, 지자기 센서를 포함하는 9축 센서가 널리 저렴하게 보급되고 있으나 이를 웨어러블 디바이스에 탑재하고 획득된 센서 데이터에 기반하여 제스처 인식을 하거나 특정 사용자에 특화된 제스처 프로파일을 생성함으로써 제스처 인식률을 높이기 위한 기술은 전무하다.In addition, although there are conventional techniques for obtaining motion data through a motion sensor and performing gesture recognition based thereon, most of them are techniques for performing gesture recognition by using only one or two types of data such as acceleration data and processing them. Recently, 9-axis sensors including accelerometer, gyro, and geomagnetic sensors have been widely and cheaply distributed, but by mounting them on wearable devices and recognizing gestures based on the acquired sensor data or creating a gesture profile specialized for a specific user, the gesture recognition rate is increased. There is no technology for

3차원 공간 상에서의 모션 데이터 획득을 통해 사용자에게 특화된 제스처 프로파일을 생성하고, 생성된 제스처 프로파일에 기반하여 특정 제스처를 인식하기 위한 방법이 제공될 수 있다.A method for generating a gesture profile specialized for a user through acquisition of motion data in a 3D space and recognizing a specific gesture based on the generated gesture profile may be provided.

본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems can be inferred from the following embodiments.

호스트 장치와 페어링되어 사용자의 모션에 기반한 제어신호를 전송하기 위한 전자 장치는, 가속도 센서, 자이로 센서, 지자기 센서, 메모리, 상기 가속도 센서로부터 수신한 가속도 데이터에 기반하여 좌우 방향의 제1축, 앞뒤 방향의 제2축, 및 위아래 방향의 제3축 각각에 대한 가속도 값들을 획득하고, 상기 자이로 센서로부터 수신한 자이로 데이터에 기반하여 요(Yaw)축, 피치(Pitch)축, 롤(Roll)축 각각에 대한 각속도 값들을 획득하고, 상기 가속도 센서, 상기 자이로 센서, 및 상기 지자기 센서로부터 각각 획득한 가속도 데이터, 자이로 데이터, 및 지자기 데이터에 기반하여 상기 전자 장치의 요(Yaw)축, 피치(Pitch)축, 롤(Roll)축 방향 각각과 수평면 사이의 기울기 값들을 획득하기 위한 제1프로세서, 상기 제1프로세서로부터 수신된 상기 가속도 값, 상기 각속도 값, 및 상기 기울기 값을 실시간으로 획득하고, 상기 피치축에 대한 기울기 값과 롤축에 대한 기울기 값이 기준 이내이면 모션이 준비된 것으로 판단하고, 상기 피치축에 대한 각속도가 기준 값 이상이면 모션이 시작된 것으로 판단하되, 상기 모션의 피치축에 대한 기울기 값이 기준 범위를 벗어나면 예외처리하는 제2프로세서를 포함할 수 있다.An electronic device that is paired with a host device and transmits a control signal based on a user's motion includes an acceleration sensor, a gyro sensor, a geomagnetic sensor, a memory, and a first axis in a left and right direction, forward and backward, based on acceleration data received from the acceleration sensor. Acceleration values for each of the second axis in the direction and the third axis in the up and down direction are acquired, and the yaw axis, pitch axis, and roll axis are obtained based on the gyro data received from the gyro sensor. Each angular velocity value is obtained, and the yaw axis and pitch of the electronic device are obtained based on the acceleration data, gyro data, and geomagnetic data obtained from the acceleration sensor, the gyro sensor, and the geomagnetic sensor, respectively. ) axis, a first processor for obtaining inclination values between each of the roll axis directions and a horizontal plane, obtaining the acceleration value, the angular velocity value, and the inclination value received from the first processor in real time, wherein the If the inclination value for the pitch axis and the inclination value for the roll axis are within the standard, it is determined that the motion is ready, and if the angular velocity with respect to the pitch axis is greater than or equal to the reference value, it is determined that the motion has started, but the inclination value of the motion with respect to the pitch axis A second processor that handles exceptions outside of this standard range may be included.

제스처 레코딩 모드 하에서, 상기 제2프로세서는 모션이 완료된 것으로 판단되면, 상기 모션이 시작 후 완료까지의 선형 가속도 값을 누적 합산한 기준 가속도 값과 상기 모션 시작 후 완료까지의 롤축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 기준 회전량과 상기 모션 시작 후 완료까지의 요축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 기준 간섭량을 획득하여 상기 메모리에 저장할 수 있다.Under the gesture recording mode, when it is determined that the motion is complete, the second processor calculates a reference acceleration value obtained by cumulatively summing linear acceleration values from the start of the motion to the end of the motion and the maximum angular velocity value for the roll axis from the start to the end of the motion. A reference rotation amount obtained by dividing the maximum angular velocity value on the pitch axis and a reference interference amount obtained by dividing the maximum angular velocity value on the yaw axis from the start of the motion to the end by the maximum angular velocity value on the pitch axis can be obtained and stored in the memory.

상기 제2프로세서는, 제스처 인식 모드 하에서, 상기 제2프로세서는 모션이 완료된 것으로 판단되면, 상기 모션이 시작 후 완료까지의 선형 가속도 값을 누적 합산한 값이 상기 기준 가속도 값과 기준 범위 이내로 유사하고, 상기 모션 시작 후 완료까지의 롤축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 회전량이 상기 기준 회전량과 기준 범위 이내로 유사하고, 상기 모션 시작 후 완료까지의 요축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 간섭량이 상기 기준 간섭량과 기준 범위 이내로 유사하면 상기 사용자의 움직임을 상기 모션과 매칭시킬 수 있다.When the second processor determines that the motion is complete under the gesture recognition mode, a value obtained by accumulative sum of linear acceleration values from the start of the motion to the end is similar to the reference acceleration value within a reference range, and , The rotation amount, which is a value obtained by dividing the maximum angular velocity for the roll axis from the start of the motion to the end by the maximum angular velocity for the pitch axis, is similar to the reference rotation amount within a reference range, and the maximum angular velocity for the yaw axis from the start of the motion to the end If the interference amount, which is a value obtained by dividing the value by the maximum angular velocity value with respect to the pitch axis, is similar to the reference interference amount within a reference range, the motion of the user may be matched with the motion.

3차원 공간 상에서의 모션 데이터 획득을 통해 사용자에게 특화된 제스처 프로파일을 생성하고, 생성된 제스처 프로파일에 기반하여 사용자의 특정 제스처를 인식하기 위한 방법이 제공될 수 있다. A method for generating a gesture profile specialized for a user through motion data acquisition in a 3D space and recognizing a specific gesture of the user based on the generated gesture profile may be provided.

상기 방법에 의해 제스처 인식의 정확도가 향상되고 스마트폰, TV, 컴퓨터, 태블릿 PC, 홀로그램, HMD(Head Mount Display) 상의 다양한 컨텐츠를 쉽고 정밀하게 컨트롤 할 수 있다. The method improves the accuracy of gesture recognition and enables easy and precise control of various contents on smartphones, TVs, computers, tablet PCs, holograms, and head mount displays (HMDs).

도1a는 일 실시 예에 따라, 호스트 장치를 제어하기 위한 전자 장치(닫힌 상태)를 나타낸다.
도1b는 일 실시 예에 따라, 호스트 장치를 제어하기 위한 전자 장치(열린 상태)를 나타낸다.
도2a는 일 실시 예에 따라, 전자 장치 내의 링형 장치를 나타낸다.
도2b는 일 실시 예에 따라, 전자 장치를 사용하여 컨텐츠를 제어하는 것을 나타낸다.
도3은 일 실시 예에 따라, 전자 장치를 포함하는 시스템을 나타낸다.
도4a는 일 실시 예에 따라, 마우스 모드 하에서, 전자 장치로 수행되는 마우스 동작들을 나타낸다.
도4b는 일 실시 예에 따라, 전자 장치의 정면 부분이 세 개의 터치 영역들로 구분된 것을 나타낸다.
도4c는 일 실시 예에 따라, 세 개의 영역들을 이용해 인식되는 마우스 동작들을 나타낸다.
도5는 일 실시 예에 따라, 사용자의 움직임 정보와 대응하는 모션을 결정하기 위한 결정 모델을 나타낸다.
도6은 일 실시 예에 따라, 전자 장치를 활용한 조이스틱을 나타낸다.
도7은 일 실시 예에 따라, 제스처 모드 하에서, 전자 장치로 호스트 장치를 제어하기 위한 모션들을 나타낸다.
도8은 일 실시 예에 따라, 전자 장치를 사용하여 컨텐츠를 제어하는 방법의 흐름도를 나타낸다.
도9는 일 실시 예에 따라, 거리 데이터를 획득하기 위한 방법의 흐름도를 나타낸다.
도10은 일 실시 예에 따라, 전자 장치의 블록도를 나타낸다.
도11은 일 실시 예에 따라, 3차원 공간 상의 9개의 축을 나타낸다.
도12는 일 실시 예에 따라, 가이드에 따라 사용자가 특정 동작을 반복함으로써 제스처 프로파일을 생성하는 모습을 나타낸다.
도13은 일 실시 예에 따라, 좌측 또는 우측 무브 동작의 제스처 프로파일을 생성하는 방법의 흐름도를 나타낸다.
도14는 일 실시 예에 따라, 사용자의 현재 모션이 좌측 또는 우측 무브 동작의 제스처 프로파일과 부합하는지, 즉 인식하는 방법의 흐름도를 나타낸다.
1A illustrates an electronic device (closed state) for controlling a host device, according to an exemplary embodiment.
1B illustrates an electronic device (open state) for controlling a host device, according to an exemplary embodiment.
2A shows a ring-shaped device in an electronic device, according to an embodiment.
2B illustrates controlling content using an electronic device, according to an embodiment.
3 shows a system including an electronic device, according to one embodiment.
4A illustrates mouse operations performed by an electronic device under a mouse mode, according to an embodiment.
4B shows that the front part of the electronic device is divided into three touch areas, according to an embodiment.
4C shows mouse motions recognized using three regions, according to an exemplary embodiment.
5 illustrates a decision model for determining motion information corresponding to motion information of a user, according to an exemplary embodiment.
6 illustrates a joystick utilizing an electronic device, according to an embodiment.
7 illustrates motions for controlling a host device with an electronic device under a gesture mode, according to an embodiment.
8 is a flowchart of a method of controlling content using an electronic device, according to an embodiment.
9 shows a flow diagram of a method for obtaining distance data, according to one embodiment.
10 shows a block diagram of an electronic device, according to an embodiment.
11 shows nine axes on a three-dimensional space, according to one embodiment.
12 illustrates a state in which a user creates a gesture profile by repeating a specific motion according to a guide according to an embodiment.
13 illustrates a flow diagram of a method for generating a gesture profile of a left or right move action, according to one embodiment.
Fig. 14 is a flowchart of a method for recognizing whether a current motion of a user matches a gesture profile of a left or right move operation, according to an embodiment.

아래에서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자들(이하, 통상의 기술자들)이 본 발명을 용이하게 실시할 수 있도록, 첨부되는 도면들을 참조하여 몇몇 실시 예가 명확하고 상세하게 설명될 것이다.In the following, several embodiments will be described clearly and in detail with reference to the accompanying drawings so that those skilled in the art (hereinafter, those skilled in the art) can easily practice the present invention. will be.

또한, 명세서에서 사용되는 "부" 또는 "모듈" 이라는 용어는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소 또는 회로를 의미할 수 있다. Also, the term “unit” or “module” used in the specification may mean a hardware component or circuit such as a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC).

이하, "컨텐츠"는 게임, 음악, 영화, 이미지, 애니메이션, 캐릭터, 아이템, 물체 등과 같은 미디어 자체 또는 미디어 상에서 재생되는 객체를 포함할 수 있으나 이에 제한되지 않는다. “컨텐츠”는 호스트 장치에서 구동되는 운영 체제 또는 소프트웨어를 포함할 수 있다. 소프트웨어는 워드 프로세서, 파워포인트와 같은 문서 프로그램, 전문적인 작업을 수행하기 위한 이미지 처리 프로그램, 캐드 프로그램, 및 게임을 포함할 수 있다. "컨텐츠"는 AR/VR/MR 과 같은 가상 현실에서 생성되는 가상 컨텐츠를 포함할 수 있다. "컨텐츠"는 2차원의 화면에 재생되는 객체 또는 홀로그램과 같은 3차원 공간 상에 표현되는 3차원 입체 객체를 포함할 수 있다. "컨텐츠"는 호스트 장치에 의해 생성, 실행 또는 재생될 수 있다. "컨텐츠"가 3차원 공간 상에 표현되는 가상 컨텐츠(예를 들어, 홀로그램)인 경우, 호스트 장치와 "컨텐츠"의 물리적인 위치는 다를 수 있다.Hereinafter, “content” may include media itself or objects reproduced on the media, such as games, music, movies, images, animations, characters, items, and objects, but is not limited thereto. “Content” may include an operating system or software running on a host device. Software may include word processors, document programs such as PowerPoint, image processing programs for performing specialized tasks, CAD programs, and games. “Content” may include virtual content generated in virtual reality such as AR/VR/MR. "Content" may include an object reproduced on a 2D screen or a 3D stereoscopic object expressed on a 3D space such as a hologram. "Content" may be created, executed or reproduced by a host device. When the “content” is virtual content (eg, hologram) expressed in a 3D space, the physical location of the host device and the “content” may be different.

이하, "모션(motion)"은 컨텐츠를 제어하기 위해 사용자가 취하는 유의미한 움직임(movement)으로서, 사용자의 움직임으로부터 캡쳐, 추출, 인식, 분석 또는 결정될 수 있다.Hereinafter, “motion” is a meaningful movement taken by a user to control content, and may be captured, extracted, recognized, analyzed, or determined from the user's movement.

이하, "제어 신호"는 모션 자체 또는 모션의 타입에 대한 정보를 포함하는 신호로서, 전자 장치는 “제어 신호”를 발생시키고 호스트 장치는 전자 장치로부터 수신되는 "제어 신호"에 기반하여 컨텐츠를 동작시키거나 제어할 수 있다. 예를 들어, "제어 신호"는 비트열 형태일 수 있으며 모션들 각각은 서로 다른 비트열로 표현될 수 있다.Hereinafter, a “control signal” is a signal including information about a motion itself or a motion type, and an electronic device generates a “control signal” and a host device operates content based on the “control signal” received from the electronic device. can be made or controlled. For example, the “control signal” may be in the form of a bit string, and each of the motions may be represented by a different bit string.

도1a는 일 실시 예에 따라, 호스트 장치를 제어하기 위한 전자 장치(닫힌 상태)를 나타낸다. 도1b는 일 실시 예에 따라, 호스트 장치를 제어하기 위한 전자 장치(열린 상태)를 나타낸다.1A illustrates an electronic device (closed state) for controlling a host device, according to an exemplary embodiment. 1B illustrates an electronic device (open state) for controlling a host device, according to an exemplary embodiment.

사용자는 전자 장치(1000)를 손에 쥐거나 손에 든 상태로 터치나 손의 움직임에 의해 호스트 장치를 컨트롤할 수 있다. 호스트 장치는 다양한 종류의 전자 장치를 포함할 수 있다. 예를 들어, 호스트 장치는, 게임기, 스마트 폰, 태블릿 PC(Personal Computer), TV, 데스크톱 PC, 노트북 PC, 모바일 의료 기기, 카메라, 또는 웨어러블 장치(예를 들어, 전자 안경, 전자 옷, 전자 팔찌, 전자 목걸이, 전자 액세서리, 전자 문신 또는 스마트 워치) 중 어느 하나일 수 있으나 이에 제한되지 않는다. 예를 들어, 호스트 장치는 가상 컨텐츠를 표시하기 위한 HMD(Head Mounted Display) 및 가상 현실 게임 또는 가상 현실 컨텐츠를 실행하거나 재생하기 위한 게임기(예를 들어, 콘솔 기기)를 포함할 수 있다. 호스트 장치는 프리젠테이션 자료를 표시하기 위한 컴퓨터를 포함할 수 있다.The user may control the host device by holding the electronic device 1000 in his hand or by touching or moving his hand while holding the electronic device 1000 in his hand. The host device may include various types of electronic devices. For example, the host device may be 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, electronic bracelets) , electronic necklace, electronic accessory, electronic tattoo, or smart watch), but is not limited thereto. For example, the host device may include a Head Mounted Display (HMD) for displaying virtual content and a game device (eg, a console device) for executing or playing a virtual reality game or virtual reality content. The host device may include a computer for displaying presentation material.

도1a와 1b를 같이 참조하면, 전자 장치(1000)는 사용자의 손가락에 착용 가능한 링형 장치(1200)와 링형 장치(1200)를 수납하기 위한 크래들 장치(1400)를 포함할 수 있다. 사용자는 링형 장치(1200)를 크래들 장치(1400)에 수납하고 뚜껑을 닫을 수 있다. Referring to FIGS. 1A and 1B , the electronic device 1000 may include a ring-shaped device 1200 wearable on a user's finger and a cradle device 1400 for accommodating the ring-shaped device 1200 . A user may place the ring-shaped device 1200 in the cradle device 1400 and close the lid.

링형 장치(1200)가 크래들 장치(1400)에 수납되고 크래들 장치(1400)의 뚜껑이 닫힌 상태에서, 링형 장치(1200)의 정면 부분(헤드 부분)이 크래들 장치(1400)의 정면에 노출되며, 사용자는 크래들 장치(1400)를 손에 쥔 채 움직임으로써 모션 신호를 발생시키거나 노출된 링형 장치(1200)의 정면 부분을 터치함으로써 터치 동작을 수행할 수 있다. 일 실시 예에 따라, 링형 장치(1200)의 정면 부분에 터치 센싱 모듈이 위치할 수 있다.When the ring-shaped device 1200 is housed in the cradle device 1400 and the lid of the cradle device 1400 is closed, the front part (head part) of the ring-shaped device 1200 is exposed to the front of the cradle device 1400, The user may generate a motion signal by moving the cradle device 1400 while holding it in his/her hand, or may perform a touch operation by touching the exposed front portion of the ring-shaped device 1200 . According to an embodiment, a touch sensing module may be located on the front portion of the ring-shaped device 1200 .

사용자는 크래들 장치(1400)의 뚜껑을 열어서 링형 장치(1200)를 꺼낼 수 있다. 사용자는 링형 장치(1200)를 손가락에 착용한 채로 터치 동작이나 모션에 의해 호스트 장치를 제어할 수 있다. 크래들 장치(1400)는 사람이 손에 쥐기 쉬운 형상으로 제작될 수 있으며, 크래들 장치(1400)의 아래 쪽에는 무게중심 추가 위치하여 크래들 장치(1400)의 무게중심이 낮게 설계될 수 있다. 크래들 장치(1400)는 링형 장치(1200)를 충전시키기 위한 충전 단자와 전원 장치를 포함할 수 있다.The user can take out the ring-shaped device 1200 by opening the lid of the cradle device 1400 . A user may control the host device by a touch operation or motion while wearing the ring-shaped device 1200 on a finger. The cradle device 1400 may be manufactured in a shape that is easy for a person to hold, and the center of gravity of the cradle device 1400 may be designed to be low by placing a center of gravity weight below the cradle device 1400 . The cradle device 1400 may include a charging terminal for charging the ring-shaped device 1200 and a power supply.

링형 장치(1200)는 사용자의 움직임 정보를 획득하기 위한 모션 센서와 사용자의 터치 정보를 획득하기 위한 터치 센서를 포함할 수 있다. 링형 장치(1200)는 획득된 움직임 정보와 터치 정보에 기반하여 제어 신호를 생성하고 생성된 제어 신호를 호스트 장치로 출력할 수 있다. 호스트 장치는 링형 장치(1200)로부터 수신되는 제어 신호에 기반하여 컨텐츠를 제어할 수 있다. The ring-shaped device 1200 may include a motion sensor for obtaining user motion information and a touch sensor for obtaining user touch information. The ring-shaped device 1200 may generate a control signal based on the acquired motion information and touch information and output the generated control signal to the host device. The host device may control content based on a control signal received from the ring-type device 1200 .

도2a는 일 실시 예에 따라, 링형 장치를 나타내고, 도2b는 일 실시 예에 따라, 사용자가 링형 장치를 착용한 채로 컨텐츠를 제어하는 것을 나타낸다.Figure 2a shows a ring-shaped device, according to an embodiment, and Figure 2b shows a user controlling content while wearing a ring-shaped device, according to an embodiment.

도2a와 2b를 같이 참조하면, 링형 장치(1200)는 인체 또는 물체와 부착, 연결 내지는 착용 가능한 소형의 웨어러블 장치일 수 있다. 링형 장치(1200)는 착용이 편하며, 사용자는 별도의 학습없이 직관적으로 링형 장치(1200)의 기능을 동작시킬 수 있다. 나아가, 링형 장치(1200)는 움직임 정보와 터치 정보를 이용하여 범용 마우스처럼 범용 장치로서 사용이 가능하다.Referring to FIGS. 2A and 2B , the ring-shaped device 1200 may be a small wearable device that can be attached to, connected to, or worn with a human body or an object. The ring-shaped device 1200 is comfortable to wear, and the user can intuitively operate the functions of the ring-shaped device 1200 without additional learning. Furthermore, the ring-shaped device 1200 can be used as a general-purpose device like a general-purpose mouse by using motion information and touch information.

링형 장치(1200)는 사용자의 손가락(2300)에 착용되도록 하기 위한 연결부(1220)와 센서를 이용하여 움직임 정보와 터치 정보를 획득하기 위한 메인 모듈(1240)을 포함할 수 있다. 연결부(1220)는 실리콘, 메탈 등의 소재로 구성될 수 있다. 메인 모듈(1240)은 사용자의 터치 정보와 움직임 정보를 획득하고 획득된 정보에 대응하는 제어 신호를 출력할 수 있다. 메인 모듈(1240)은 후술할 전자 장치(3000)의 구성 요소들 및 구성 요소들을 내장하는 케이스를 포함할 수 있다. 일 실시 예에 따라, 메인 모듈(1240)은 연결부(1220)와 분리될 수 있으며, 사용자는 메인 모듈(1240)만을 다양한 종류의 객체(지팡이, 주사위, 펜 등)에 삽입, 부착, 또는 내장하고 다양한 종류의 객체를 사용하여 호스트 장치를 제어할 수 있다.The ring-shaped device 1200 may include a connection unit 1220 to be worn on a user's finger 2300 and a main module 1240 to obtain motion information and touch information using a sensor. The connection unit 1220 may be made of a material such as silicon or metal. The main module 1240 may obtain user touch information and motion information and output a control signal corresponding to the obtained information. The main module 1240 may include components of the electronic device 3000 to be described later and a case containing the components. According to an embodiment, the main module 1240 may be separated from the connection unit 1220, and the user inserts, attaches, or embeds only the main module 1240 into various types of objects (sticks, dice, pens, etc.) Various types of objects can be used to control the host device.

메인 모듈(1240)은 터치 정보와 움직임 정보(예를 들어, 메인 모듈(1240)의 움직임에 대한 각속도, 가속도, 속도, 거리, 각도, 방향, 위치(3차원 공간 좌표) 정보)를 획득하고 이를 가공 및 처리함으로써 컨텐츠(2500)를 제어하기 위한 제어 신호를 출력할 수 있다. The main module 1240 acquires touch information and motion information (eg, angular velocity, acceleration, speed, distance, angle, direction, and location (3D space coordinates) information for the movement of the main module 1240) and obtains them. By processing and processing, a control signal for controlling the content 2500 may be output.

도2b에는 링형 장치(1200)가 사용자의 손가락(2300)에 착용되는 것으로 도시되었으나 링형 장치(1200)는 다른 형태의 객체와 연결되거나 부착될 수 있다. Although the ring-type device 1200 is shown to be worn on the user's finger 2300 in FIG. 2B, the ring-type device 1200 may be connected to or attached to other types of objects.

예를 들어, 메인 모듈(1240)은 주사위에 내장되고 주사위의 움직임에 기반하여 컨텐츠(2500)가 제어될 수 있다. 또는, 메인 모듈(1240)은 지팡이에 부착되고 지팡이의 움직임에 기반하여 컨텐츠(2500)가 제어될 수 있다. 또는, 메인 모듈(1240)은 펜에 내장되고 스마트폰 상의 컨텐츠(2500)가 펜의 움직임에 기반하여 제어될 수 있다. 이하, 객체는 사람의 신체 부위(예를 들어, 손가락), 사람이 착용 가능하거나 들 수 있는 물건, 또는 후술할 전자 장치(3000) 자체를 의미할 수 있다. For example, the main module 1240 may be embedded in a dice and the contents 2500 may be controlled based on the movement of the dice. Alternatively, the main module 1240 may be attached to the wand and the content 2500 may be controlled based on the movement of the wand. Alternatively, the main module 1240 may be built into the pen and the contents 2500 on the smart phone may be controlled based on the movement of the pen. Hereinafter, an object may mean a body part (eg, a finger) of a person, an object that a person can wear or hold, or an electronic device 3000 itself to be described later.

또한, 도2b에는 컨텐츠(2500)가 3차원 공간 상의 홀로그램 객체로 도시되었으나, 컨텐츠(2500)는 호스트 장치에서 재생되는 어떠한 형태의 컨텐츠나 소프트웨어(마이크로스프트사의 MS오피스, 게임 등) 등도 포함할 수 있다.In addition, although the content 2500 is shown as a hologram object in a 3D space in FIG. 2B, the content 2500 may include any type of content or software (Microsoft's MS Office, games, etc.) played on the host device. can

도3은 일 실시 예에 따라, 전자 장치를 포함하는 시스템을 나타낸다. 3 shows a system including an electronic device, according to one embodiment.

도3을 참조하면, 시스템(100)은 전자 장치(3000)와 호스트 장치(또는, 타겟 장치)를 포함할 수 있다. 전자 장치(3000)는 호스트 장치와 무선 통신 방식에 의해 연결될 수 있다. 예를 들어, 전자 장치(3000)는 호스트 장치와 블루투스 방식에 의해 페어링(pairing)될 수 있다. 전자 장치(3000)는 도1a의 링형 장치(1200)가 수납된 크래들 장치(1400), 크래들 장치(1400)로부터 분리된 링형 장치(1200), 또는 도2a의 링형 장치(1200)의 메인 모듈(1240)을 의미할 수 있다.Referring to FIG. 3 , the system 100 may include an electronic device 3000 and a host device (or target device). The electronic device 3000 may be connected to the host device through a wireless communication method. For example, the electronic device 3000 may be paired with a host device using a Bluetooth method. The electronic device 3000 includes the cradle device 1400 in which the ring-shaped device 1200 of FIG. 1A is stored, the ring-shaped device 1200 separated from the cradle device 1400, or the main module of the ring-shaped device 1200 of FIG. 2A ( 1240).

사용자는 전자 장치(3000)를 사용하여 호스트 장치의 다양한 컨텐츠를 제어할 수 있다. 일 실시 예에 따라, 사용자는 전자 장치(3000) 자체 또는 전자 장치(3000)와 연결된 객체의 움직임 및/또는 전자 장치(3000)에 입력되는 사용자 터치 동작에 기반하여 호스트 장치의 컨텐츠를 제어할 수 있다. 예를 들어, 사용자는 전자 장치(3000)를 자신의 손가락에 착용하고 손가락을 움직임이거나 손가락으로 전자 장치(3000)를 터치함으로써 호스트 장치의 다양한 컨텐츠를 제어할 수 있다. A user may control various contents of the host device using the electronic device 3000 . According to an embodiment, a user may control contents of a host device based on a motion of the electronic device 3000 itself or an object connected to the electronic device 3000 and/or a user touch motion input to the electronic device 3000. there is. For example, the user may control various contents of the host device by wearing the electronic device 3000 on his/her finger and moving the electronic device 3000 or by touching the electronic device 3000 with the finger.

도3을 참조하면, 전자 장치(3000)는 움직임 센싱 모듈(3200), 터치 센싱 모듈(3300), 통신 채널(3400), 및 제어 신호 출력부(3600)를 포함할 수 있다. Referring to FIG. 3 , an electronic device 3000 may include a motion sensing module 3200, a touch sensing module 3300, a communication channel 3400, and a control signal output unit 3600.

전자 장치(3000)는 마우스 모드(Mouse Mode) 또는 제스처 모드(Gesture Mode)로 동작할 수 있다. 마우스 모드 하에서, 전자 장치(3000)는 범용 마우스처럼 동작할 수 있으며, 제스처 모드 하에서, 전자 장치(3000)는 모션 인식 장치로서 동작할 수 있다.The electronic device 3000 may operate in a mouse mode or a gesture mode. Under the mouse mode, the electronic device 3000 can operate like a general-purpose mouse, and under the gesture mode, the electronic device 3000 can operate as a motion recognition device.

마우스 모드 하에서, 전자 장치(3000)는 터치 센싱 모듈(3300)을 통해 감지되는 터치 동작 및 움직임 센싱 모듈(3200)을 통해 감지되는 움직임 정보 중 적어도 하나에 기반하여 마우스 동작을 결정하고 마우스 동작을 나타내는 마우스 신호를 출력할 수 있다. Under the mouse mode, the electronic device 3000 determines a mouse motion based on at least one of a touch motion detected through the touch sensing module 3300 and motion information detected through the motion sensing module 3200, and indicates the mouse motion. Mouse signals can be output.

예를 들어, 마우스 클릭(Click)은 전자 장치(3000)의 일면을 한번 터치함으로써 수행되고, 마우스 더블 클릭(Double Click)은 전자 장치(3000)의 일면을 기준 시간 내에 두 번 터치함으로써 수행되고, 마우스 무브(Move)는 전자 장치(3000)의 움직임 정보(예를 들어, 이하에서 설명되는 제2움직임 정보)로부터 결정되고, 마우스 스크롤(Scroll Up/Down)은 터치의 연속적인 변화(예를 들어, 스크롤 업은 전자 장치(3000)의 일면을 손가락으로 왼쪽에서 오른쪽으로 쓰는 움직임, 스크롤 다운은 전자 장치(3000)의 일면을 손가락으로 오른쪽에서 왼쪽으로 쓰는 움직임), 마우스 드래그(Drag)는 터치 시간(예를 들어, 긴 터치)과 전자 장치(3000)의 움직임 정보에 의해 결정될 수 있다. 일 실시 예에 따라, 터치 시간이 200ms 이내이면 짧은 터치로 결정되고, 터치 시간이 500ms 이상이면 긴 터치로 결정될 수 있다. 터치가 수행되는 전자 장치(3000)의 일면은 터치 센싱 모듈(3300)로서 도2a를 참조하여 설명한 정면 부분일 수 있다.For example, a mouse click is performed by touching one surface of the electronic device 3000 once, and a mouse double click is performed by touching one surface of the electronic device 3000 twice within a reference time. The mouse move is determined from motion information (eg, second motion information described below) of the electronic device 3000, and the mouse scroll (Scroll Up/Down) is a continuous change of touch (eg, , Scroll up is a movement of writing one side of the electronic device 3000 with a finger from left to right, scroll down is a movement of writing one side of the electronic device 3000 with a finger from right to left), and mouse drag is a touch time ( For example, long touch) and motion information of the electronic device 3000. According to an embodiment, if the touch time is less than 200 ms, it may be determined as a short touch, and if the touch time is greater than 500 ms, it may be determined as a long touch. One side of the electronic device 3000 on which a touch is performed may be the touch sensing module 3300, which may be the front portion described with reference to FIG. 2A.

제스처 모드 하에서, 전자 장치(3000)는 센서를 이용하여 전자 장치(3000)의 움직임 정보를 획득하고, 획득된 움직임 정보에 기반하여 전자 장치(3000)의 움직임에 대응하는 모션을 결정할 수 있다. 전자 장치(3000)는 결정된 모션을 나타내는 모션 신호를 호스트 장치로 출력할 수 있다. 일 실시 예에 따라, 움직임 정보는, 객체의 움직임에 대한 특징들(예를 들어, 각속도, 가속도, 속도, 거리, 각도, 방향, 및 위치 중 적어도 하나)을 포함할 수 있다.Under the gesture mode, the electronic device 3000 may obtain motion information of the electronic device 3000 using a sensor and determine a motion corresponding to the motion of the electronic device 3000 based on the acquired motion information. The electronic device 3000 may output a motion signal representing the determined motion to the host device. According to an embodiment, the motion information may include characteristics (eg, at least one of angular velocity, acceleration, velocity, distance, angle, direction, and position) of the object's movement.

이하, 전자 장치(3000)의 구성 요소들의 동작과 기능에 대해 설명한다.Hereinafter, operations and functions of components of the electronic device 3000 will be described.

도3을 참조하면, 터치 센싱 모듈(3300)은 사용자의 터치를 감지할 수 있다. 예를 들어, 사용자가 링형 장치(1200)를 검지 손가락에 착용한 상태에서 사용자가 엄지 손가락으로 링형 장치(1200)의 정면 부분을 터치한 경우, 터치 센싱 모듈(3300)은 터치 동작을 감지할 수 있다. 터치 센싱 모듈(3300)에 의해 감지된 터치 동작은 통신 채널(3400)을 통해 제어 신호 출력부(3600)로 전달될 수 있다. Referring to FIG. 3 , the touch sensing module 3300 may detect a user's touch. For example, when the user touches the front portion of the ring-type device 1200 with a thumb while the user wears the ring-type device 1200 on the index finger, the touch sensing module 3300 may detect the touch operation. there is. A touch operation detected by the touch sensing module 3300 may be transferred to the control signal output unit 3600 through the communication channel 3400 .

터치 센싱 모듈(3300)에 의해 감지되는 터치 동작은 상술한 마우스 모드 하에서의 마우스 동작을 결정하기 위해 사용될 수 있다. 또는, 터치 센싱 모듈(3300)에 의해 감지되는 터치 동작은 제스처 모드 하에서 객체의 움직임에 대응되는 모션을 결정하기 위해 사용될 수 있다. 또한, 터치 센싱 모듈(3300)에 의해 감지되는 터치 동작은 마우스 모드와 제스처 모드 사이의 전환을 위해 사용될 수 있다.A touch motion detected by the touch sensing module 3300 may be used to determine a mouse motion under the above-described mouse mode. Alternatively, the touch operation detected by the touch sensing module 3300 may be used to determine a motion corresponding to the motion of an object under the gesture mode. Also, a touch operation detected by the touch sensing module 3300 may be used to switch between a mouse mode and a gesture mode.

마우스 모드와 제스처 모드 사이의 전환은 터치 동작에 의해 수행될 수 있다. 예를 들어, 터치 센싱 모듈(3300)을 통해 사용자의 짧은 터치, 짧은 터치, 긴 터치가 연속적으로 감지되는 경우, 제스처 모드에서 마우스 모드로 또는 마우스 모드에서 제스처 모드로 전환될 수 있다. 또는, 터치 센싱 모듈(3300)을 통해 링형 장치(1200)의 정면 부분 중 가운데 부분을 기준 시간 이상 터치한 경우, 제스처 모드에서 마우스 모드로 또는 마우스 모드에서 제스처 모드로 전환될 수 있다.Switching between the mouse mode and the gesture mode may be performed by a touch operation. For example, when a user's short touch, short touch, and long touch are continuously detected through the touch sensing module 3300, the gesture mode may be switched to the mouse mode or the mouse mode to the gesture mode. Alternatively, when the central portion of the front portion of the ring-shaped device 1200 is touched through the touch sensing module 3300 for a reference period of time or longer, the gesture mode may be switched to the mouse mode or the mouse mode to the gesture mode.

움직임 센싱 모듈(3200)은 전자 장치(3000)의 제1움직임 정보를 획득할 수 있다. 제1움직임 정보는 마우스 모드와 제스처 모드에서 모두 사용될 수 있다. 제1움직임 정보는 가속도 센서를 통해 획득되는 가속도 데이터와 자이로 센서를 통해 획득되는 각속도 데이터 중 적어도 하나를 포함할 수 있다.The motion sensing module 3200 may obtain first motion information of the electronic device 3000 . The first motion information can be used in both mouse mode and gesture mode. The first motion information may include at least one of acceleration data obtained through an acceleration sensor and angular velocity data obtained through a gyro sensor.

움직임 센싱 모듈(3200)은 가속도 센서(Accelerometer, 3220), 자이로 센서(Gyroscope, 3240), 지자기 센서(Magnetometer, 3260), 및 센서 융합부(3280)를 포함할 수 있다. 일 실시 예에 따른 자이로 센서(3240)는 각속도를 측정하기 위한 센서이다. 일 실시 예에 따른 가속도 센서(3220)는 가속도를 측정하고 진동, 충격 등의 동적 힘을 측정하기 위한 센서이다. 일 실시 예에 따른 지자기 센서(3260)는 지구 자기를 측정하고 그 크기를 검출하기 위한 센서이다. The motion sensing module 3200 may include an accelerometer 3220, a gyroscope 3240, a magnetometer 3260, and a sensor fusion unit 3280. The gyro sensor 3240 according to an embodiment is a sensor for measuring an angular velocity. The acceleration sensor 3220 according to an embodiment is a sensor for measuring acceleration and dynamic forces such as vibration and shock. The geomagnetic sensor 3260 according to an embodiment is a sensor for measuring Earth's magnetism and detecting its magnitude.

자이로 센서(3240)에서 측정되는 값은 온도의 영향으로 오차가 발생하며 오차가 적분 과정에서 누적되어 최종 값이 드리프트(drift)되는 현상이 생길 수 있다. 따라서, 온도 센서도 함께 사용하여 자이로 센서(3240)의 오차를 보상할 필요가 있다.An error occurs in the value measured by the gyro sensor 3240 due to the influence of temperature, and a phenomenon in which the final value drifts may occur as the error is accumulated during the integration process. Therefore, it is necessary to compensate the error of the gyro sensor 3240 by using the temperature sensor together.

정지 상태의 긴 시간의 관점에서 보면, 가속도 센서(3220)에 의해 계산된 기울어진 각도는 올바른 값을 나타내지만 자이로 센서(3240)는 시간이 지날수록 누적 드리프트로 인해 틀린 값을 나타낼 수 있다. 반대로, 움직이는 짧은 시간의 관점에서, 자이로 센서(3240)는 올바른 각속도를 나타내지만, 가속도 센서(3220)는 기울어진 각도와는 다른 계산 값이 도출될 수 있다. 또한, 주체가 정지된 상태에서 직진 방향으로 움직일 경우 기울기 측정이 불가능하다. From the point of view of a long time in a stationary state, the tilt angle calculated by the acceleration sensor 3220 indicates a correct value, but the gyro sensor 3240 may indicate an incorrect value due to cumulative drift over time. Conversely, in terms of a short moving time, the gyro sensor 3240 indicates the correct angular velocity, but the acceleration sensor 3220 may derive a calculated value different from the inclination angle. In addition, inclination measurement is impossible when the subject moves in a straight direction from a stationary state.

따라서, 가속도 센서(3220)와 자이로 센서(3240)를 모두 사용해서 각각의 단점을 보완 및 보상하기 위해, 칼만 필터와 같은 필터 또는 보상 및 융합 알고리즘이 적용될 수 있다. 다만, 이러한 보상 및 융합 동작에도 불구하고, 자이로 센서(3240)와 가속도 센서(3220)만을 사용할 경우, 3차원 공간에서의 좌표를 연산할 때에 오차율이 높아지므로 VR 기기와 같은 호스트 장치를 제어하기 위한 인터페이스로 사용하기에 부적절하다. 또한, 가속도 센서(3220)와 자이로 센서(3240)만을 사용할 경우, 절대 방위각이 아닌 상대 방위각을 사용하므로 움직이는 주체의 절대 위치를 파악하기 어렵다. Accordingly, a filter such as a Kalman filter or a compensation and fusion algorithm may be applied in order to compensate for and compensate for each disadvantage by using both the acceleration sensor 3220 and the gyro sensor 3240 . However, despite these compensation and convergence operations, when only the gyro sensor 3240 and the acceleration sensor 3220 are used, the error rate increases when calculating coordinates in a 3D space. Inappropriate for use as an interface. In addition, when only the acceleration sensor 3220 and the gyro sensor 3240 are used, it is difficult to determine the absolute position of a moving subject because a relative azimuth angle is used instead of an absolute azimuth angle.

따라서, 움직임 센싱 모듈(3200)은 지자기 센서(3260)를 더 포함함으로써, 지자기 센서(3260)에 의해 측정되는 절대 방위각의 변화를 가속도 센서(3220)와 자이로 센서(3240)에서 측정된 데이터와 함께 연산함으로써 오차율이 낮은 데이터를 생성할 수 있다. 움직임 센싱 모듈(3200)은 지자기 센서(3260)를 포함함으로써, 자이로 센서(3240)에서 발생되는 누적 드리프트를 더욱 완벽하게 보상할 수 있으며, 자이로 센서(3240)는 지자기 센서(3260)의 자기 변화로 인해 발생되는 순간적으로 자기장이 튀는 현상(갑자기 생기는 자기장의 큰 변화)을 해결해 주어 서로의 단점을 보완 및 보상해주는 역할을 할 수 있다.Therefore, the motion sensing module 3200 further includes a geomagnetic sensor 3260, so that the change in absolute azimuth measured by the geomagnetic sensor 3260 is recorded together with the data measured by the acceleration sensor 3220 and the gyro sensor 3240. By calculating, data with a low error rate can be generated. The motion sensing module 3200 includes the geomagnetic sensor 3260, so that the cumulative drift generated by the gyro sensor 3240 can be more perfectly compensated. It can play a role in supplementing and compensating for each other's shortcomings by resolving the momentary magnetic field bouncing phenomenon (suddenly large change in magnetic field) caused by

일 실시 예에 따라, 움직임 센싱 모듈(3200)은 3차원 공간 상에서의 위치 데이터를 정확하게 획득할 수 있는 9축 센서를 포함할 수 있다. 9축 센서는 가속도 3축, 자이로 2축, 지자기 3축, 온도 1축으로 구성된 센서로서, 3차원 공간 상에서 3차원 위치와 3축 방향의 회전 정도를 모두 획득할 수 있는 센서이다.According to an embodiment, the motion sensing module 3200 may include a 9-axis sensor capable of accurately acquiring location 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.

도3을 참조하면, 움직임 센싱 모듈(3200)은 센서들(3220, 3240, 3260)의 출력을 보상 및 융합하여 최적화된 위치 데이터를 생성하는 센서 융합(Sensor Fusion) 동작을 수행하기 위한 센서 융합부(3280)를 포함할 수 있다. 센서 융합부(3280)는 가속도 센서(3220), 자이로 센서(3240), 및 지자기 센서(3260)에서 각각 획득되는 데이터들을 잡음(Noise) 제거, 보상, 및 융합하여 데이터를 최적화함으로써 제1움직임 정보를 생성할 수 있다. 센서들(3220, 3240, 3260)에 의해 획득되는 로(row) 데이터를 그대로 이용하게 되면 정확한 위치 데이터를 획득할 수 없으므로 필터를 통해 정확한 위치를 추정(Position Estimation)함으로써 최적화된 위치 데이터가 생성될 수 있다. 예를 들어, 센서 융합 동작은 칼만 필터(Kalman Filter)와 같은 필터 또는 데이터 보상 및 융합 알고리즘에 기반하여 수행될 수 있다.Referring to FIG. 3 , the motion sensing module 3200 is a sensor fusion unit for performing a sensor fusion operation in which outputs of sensors 3220, 3240, and 3260 are compensated and fused to generate optimized position data. (3280). The sensor fusion unit 3280 removes noise, compensates for, and fuses the data obtained from the acceleration sensor 3220, the gyro sensor 3240, and the geomagnetic sensor 3260, and optimizes the first motion information. can create If the row data obtained by the sensors 3220, 3240, and 3260 are used as they are, accurate position data cannot be obtained, so position estimation through a filter optimizes position data. can For example, the sensor fusion operation may be performed based on a filter such as a Kalman filter or a data compensation and fusion algorithm.

움직임 센싱 모듈(3200)을 통해 획득된 제1움직임 정보는 통신 채널(3400)을 통해 제어 신호 출력부(3600)로 전달될 수 있다. 일 실시 예에 따라, 통신 채널(3400)은 제1움직임 정보를 프로세서(3620)로 전달하기 위한 전자 장치(3000) 내의 내부 버스(internal bus)일 수 있다. 움직임 센싱 모듈(3200)과 제어 신호 출력부(3600)는 통신 채널(3400)의 버스 포맷에 기초하여 서로 데이터를 교환할 수 있다. 예를 들어, 버스 포맷은 USB(Universal Serial Bus), SPI(Serial Peripheral Interface), 및 I2C(Inter-Integrated Circuit) 등과 같은 다양한 인터페이스 규약 중 하나 이상을 포함할 수 있다.The first motion information obtained through the motion sensing module 3200 may be transferred to the control signal output unit 3600 through the communication channel 3400 . According to an embodiment, the communication channel 3400 may be an internal bus within the electronic device 3000 for transferring first motion information to the processor 3620 . The motion 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 . For example, 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).

제어 신호 출력부(3600)는 호스트 장치를 제어하기 위한 제어 신호를 출력할 수 있다. 제어 신호는 모션 신호와 마우스 신호를 포함할 수 있다. 제어 신호 출력부(3600)는 제1움직임 정보의 연산을 통해 제2움직임 정보를 획득할 수 있다. 제어 신호 출력부(3600)는 제스처 모드 하에서, 제2움직임 정보에 기반하여 전자 장치(3000)의 움직임에 대응되는 모션을 결정하고 결정된 모션을 나타내는 모션 신호를 출력할 수 있다. 제어 신호 출력부(3600)는 마우스 모드 하에서, 터치 센싱 모듈(3300)로부터 획득되는 터치 정보 및 제2움직임 정보 중 적어도 하나에 기반하여 마우스 동작을 결정하고 마우스 동작을 나타내는 마우스 신호를 출력할 수 있다. 제어 신호는 호스트 장치의 컨텐츠를 제어하기 위한 제어하기 위한 인터럽트(Interrupt) 신호일 수 있다. 예를 들어, 제어 신호는 특정 마우스 신호 또는 특정 모션 신호를 나타내는 비트열을 포함할 수 있다.The control signal output unit 3600 may output a control signal for controlling the host device. The control signal may include a motion signal and a mouse signal. The control signal output unit 3600 may obtain second motion information through calculation of the first motion information. The control signal output unit 3600 may determine a motion corresponding to the motion of the electronic device 3000 based on the second motion information under the gesture mode and output a motion signal representing the determined motion. The control signal output unit 3600 may determine a mouse operation based on at least one of touch information and second motion information obtained from the touch sensing module 3300 and output a mouse signal indicating the mouse operation under the mouse mode. . The control signal may be an interrupt signal for controlling contents of the host device. For example, the control signal may include a bit string representing a specific mouse signal or a specific motion signal.

제어 신호 출력부(3600)는 통신 채널(3400)을 통해 수신되는 제1움직임 정보를 연산함으로써 제2움직임 정보를 생성할 수 있다. 제2움직임 정보는 전자 장치(3000)의 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다. 전자 장치(3000)의 제2움직임 정보는 마우스 모드와 제스처 모드에서 모두 활용될 수 있다. 예를 들어, 마우스 모드 하에서, 제2움직임 정보는 전자 장치(3000)의 마우스 무브(Move) 동작을 결정하기 위해 활용될 수 있다. 제스처 모드 하에서, 제2움직임 정보는 전자 장치(3000)로부터 출력되는 다양한 모션 신호를 결정하기 위해 활용될 수 있다.The control signal output unit 3600 may generate second motion information by calculating first motion information received through the communication channel 3400 . The second motion information may include at least one of angle data, distance data, speed data, and direction data of the electronic device 3000 . The second motion information of the electronic device 3000 can be utilized in both the mouse mode and the gesture mode. For example, under the mouse mode, the second motion information may be used to determine a mouse move operation of the electronic device 3000 . Under the gesture mode, the second motion information may be used to determine various motion signals output from the electronic device 3000 .

일 실시 예에 따라, 제어 신호 출력부(3600)는 프로세서(3620) 및 통신부(3640)를 포함할 수 있다. According to an embodiment, the control signal output unit 3600 may include a processor 3620 and a communication unit 3640.

프로세서(3620)는 움직임 센싱 모듈(3200)로부터 통신 채널(3400)을 통해 수신되는 제1움직임 정보를 연산함으로써 제2움직임 정보를 생성할 수 있다. 제2움직임 정보는 움직임에 대한 각도 데이터, 거리 데이터, 속도 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다. 프로세서(3620)는 기준 시간(예를 들어, 5ms) 마다 제1움직임 정보에 대한 연산을 수행함으로써 제2움직임 정보를 획득할 수 있다. 기준 시간은 30ms 이하일 수 있으나 이에 제한되지 않는다.The processor 3620 may generate second motion information by calculating first motion information received from the motion sensing module 3200 through the communication channel 3400 . The second motion information may include at least one of angle data, distance data, speed data, and direction data for motion. The processor 3620 may obtain the 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.

각도 데이터는 x축 방향, y축 방향, 및 z축 방향 각각에 대한 각도 데이터를 포함할 수 있다. 일 실시 예에 따라, 프로세서(3620)는 각속도 데이터에 적분 연산을 수행함으로써 각도 데이터를 획득할 수 있다.The angle data may include angle data for each of the x-axis direction, the y-axis direction, and the z-axis direction. According to an embodiment, the processor 3620 may obtain angular data by performing an integration operation on angular velocity data.

속도 데이터는 x축 방향, y축 방향, 및 z축 방향 각각에 대한 속도 데이터를 포함할 수 있다. 거리 데이터는, x축 방향, y축 방향, 및 z축 방향 각각에 대한 거리 데이터를 포함할 수 있다. 일 실시 예에 따라, 프로세서(3620)는 가속도 데이터에 적분 연산을 수행함으로써 속도 데이터와 거리 데이터를 획득할 수 있다. 프로세서(3620)는 가속도 데이터에서 중력 가속도 성분을 제거하여 선형 가속도 데이터를 획득할 수 있다. 프로세서(3620)는 선형 가속도 데이터에 적분 연산을 수행함으로써 속도 데이터를 획득하고, 속도 데이터에 다시 적분 연산을 수행함으로써 거리 데이터를 획득할 수 있다.The speed data may include speed data for each of the x-axis direction, the y-axis direction, and the z-axis direction. The distance data may include distance data for each of the x-axis direction, the y-axis direction, and the z-axis direction. According to an embodiment, the processor 3620 may obtain speed data and distance data by performing an integration operation on acceleration data. The processor 3620 may obtain linear acceleration data by removing the gravitational acceleration component from the acceleration data. The processor 3620 may obtain velocity data by performing an integration operation on linear acceleration data, and obtain distance data by performing an integration operation on the velocity data again.

방향 데이터는 객체의 순간 이동 방향에 관한 것으로서, x축 방향으로의 증감 여부, y축 방향으로의 증감 여부, 및 z축 방향으로의 증감 여부를 포함할 수 있다. 일 실시 예에 따라, 프로세서(3620)는 현재 거리 데이터와 이전 거리 데이터의 비교에 기반하여 방향 데이터를 포함할 수 있다. 예를 들어, 현재 거리 데이터의 x축 방향 값이 +50, y축 방향 값이 +10, z축 방향 값이 -5 이고 이전 거리 데이터의 x축 방향 값이 +60, y축 방향 값이 +15, z축 방향 값이 -10이라면, 프로세서(3620)는 현재의 움직임 방향을 x축 방향으로는 증가, y축 방향으로 증가, z축 방향으로 감소로 결정할 수 있다. The direction data relates to the instantaneous movement direction of the object, and may include whether or not there is an increase or decrease in the x-axis direction, whether or not there is an increase or decrease in the y-axis direction, and whether or not there is an increase or decrease in the z-axis direction. According to an embodiment, the processor 3620 may include direction data based on comparison between current distance data and previous distance data. For example, the x-axis value of the current distance data is +50, the y-axis value is +10, and the z-axis value is -5, and the x-axis value of the previous distance data is +60 and the y-axis value is +60. If the value of 15 or the z-axis direction is -10, the processor 3620 may determine the current movement direction as an increase in the x-axis direction, an increase in the y-axis direction, and a decrease in the z-axis direction.

마우스 모드 하에서, 프로세서(3620)는 터치 센싱 모듈(3300)로부터 획득되는 터치 정보와 제2움직임 정보에 기반하여 대응하는 마우스 동작을 결정할 수 있다. 도4a는 일 실시 예에 따라, 마우스 모드 하에서, 전자 장치(3000)로 수행되는 마우스 동작들을 나타낸다. 마우스 동작은, 마우스 클릭, 줌 인/아웃(또는, 스크롤 업/다운), 마우스 무브, 마우스 드래그를 포함할 수 있다. 마우스 클릭은 한번 클릭(One Click), 더블 클릭(Double Click), 긴 클릭(Long Click)을 포함할 수 있다. 마우스 무브는 호스트 장치의 마우스 포인터를 움직일 수 있다.Under the mouse mode, the processor 3620 may determine a corresponding mouse motion based on touch information and second motion information obtained from the touch sensing module 3300 . 4A illustrates mouse operations performed by the electronic device 3000 under a mouse mode, according to an embodiment. The mouse operation may include mouse click, zoom in/out (or scroll up/down), mouse movement, and mouse drag. A mouse click may include a single click, a double click, and a long click. Mouse Move can move the mouse pointer of the host device.

도4b를 참조하면, 마우스 동작을 위해, 전자 장치(3000)의 터치 센싱 모듈(3300)의 표면(도2a의 메인 모듈(1240)의 정면)은 왼쪽에 위치한 터치 영역(R1), 가운데에 위치한 터치 영역(R2), 오른쪽에 위치한 터치 영역(R3)으로 구분될 수 있다. 도4c를 참조하면, 사용자가 터치 영역(R1)만을 터치하거나 터치 영역(R1)과 터치 영역(R2)를 같이 터치하면 해당 동작은 좌클릭(Left Click)으로 결정될 수 있다. 사용자가 터치 영역(R3)만을 터치하거나 터치 영역(R3)과 터치 영역(R2)을 같이 터치하면 해당 동작은 우클릭(Right Click)으로 결정될 수 있다. 사용자가 터치 영역(R2)만을 터치하거나 터치 영역(R2), 터치 영역(R1), 및 터치 영역(R3)을 같이 터치하면 해당 동작은 마우스 모드와 제스처 모드 사이의 전환(Mode Change)으로 결정될 수 있다. 사용자가 터치 영역(R1), 터치 영역(R2), 및 터치 영역(R3)를 순차적 및 연속적으로 터치하면 해당 동작은 스크롤 업(Scroll Up)으로 결정될 수 있다. 사용자가 터치 영역(R3), 터치 영역(R2), 및 터치 영역(R3)를 순차적 및 연속적으로 터치하면 해당 동작은 스크롤 다운(Scroll Down)으로 결정될 수 있다.Referring to FIG. 4B, for a mouse operation, the surface of the touch sensing module 3300 of the electronic device 3000 (the front of the main module 1240 in FIG. 2A) has a touch area R1 located on the left and a touch area R1 located in the center. It can be divided into a touch area R2 and a right touch area R3. Referring to FIG. 4C , when a user touches only the touch area R1 or touches both the touch area R1 and the touch area R2, the corresponding operation may be determined as a left click. When the user touches only the touch area R3 or touches the touch area R3 and the touch area R2 together, the corresponding operation may be determined as a right click. When the user touches only the touch area R2 or touches the touch area R2, the touch area R1, and the touch area R3 together, the corresponding operation may be determined as a mode change between mouse mode and gesture mode. there is. When the user sequentially and continuously touches the touch area R1 , the touch area R2 , and the touch area R3 , the corresponding operation may be determined as scrolling up. When the user sequentially and continuously touches the touch area R3, the touch area R2, and the touch area R3, the corresponding operation may be determined as scrolling down.

프로세서(3620)는 마우스 모드 하에서, 사용자가 키보드를 사용하고 있을 때와 마우스를 사용하고 있을 때를 구분하고, 사용자가 키보드를 사용하고 있는 것으로 판단되면 마우스 신호를 출력하지 않을 수 있다. Under the mouse mode, the processor 3620 distinguishes between when the user is using the keyboard and when the user is using the mouse, and when it is determined that the user is using the keyboard, the processor 3620 may not output a mouse signal.

제스처 모드 하에서, 프로세서(3620)는 제2움직임 정보에 기반하여, 전자 장치(3000)의 움직임과 대응하는 모션을 결정할 수 있다. 예를 들어, 프로세서(3620)는 제2움직임 정보에 기반하여, 기 정의된 모션들 중에서 전자 장치(3000)의 움직임에 대응하는 하나의 모션을 결정할 수 있다. 프로세서(3620)는 결정된 모션을 나타내는 모션 신호를 생성하고 이를 통신부(3640)를 통해 호스트 장치로 전달할 수 있다. 만약, 프로세서(3620)는 전자 장치(3000)와 호스트 장치 사이의 거리가 기준 거리보다 크거나, 전자 장치(3000)의 움직임이 기 정의된 모션들 중 어느 것에도 해당하지 않거나 무의미한 움직임으로 판단되는 경우, 예외 처리할 수 있다.Under the gesture mode, the processor 3620 may determine a motion corresponding to the motion of the electronic device 3000 based on the second motion information. For example, the processor 3620 may determine one motion corresponding to the motion of the electronic device 3000 from among predefined motions based on the second motion information. The processor 3620 may generate a motion signal representing the determined motion and transmit it to the host device through the communication unit 3640. If the distance between the electronic device 3000 and the host device is greater than the reference distance, the processor 3620 determines that the motion of the electronic device 3000 does not correspond to any of the predefined motions or is meaningless. In this case, an exception can be made.

기 정의된 모션들은 무브(Move), 탭(Tap), 잡기(Grasp), 스크롤(Scroll), 스와이프(Swipe), 제스처(Gesture), 로테이션(Rotation) 등을 포함할 수 있다. 무브 모션은 전자 장치(3000)를 임의의 방향으로 이동시키는 동작으로서가상의 컨텐츠를 이동시키거나 페이지를 넘기는 동작 등을 위해 사용될 수 있다. 예를 들어, 무브 모션은 3축(x, y, z축) 방향으로의 움직임을 포함할 수 있다. 탭 모션은, 무언가를 두드리는 동작으로서, 가상의 컨텐츠를 선택하거나 클릭하기 위해 사용될 수 있다. 사용자가 탭 모션을 기준 시간 내에 두 번 연속 취함으로써, 가상의 컨텐츠를 더블 클릭할 수 있다. 탭 모션은 마우스 모드 하에서의 클릭 동작과는 별개의 동작이다.) 잡기 모션은, 떨어져 있는 두 개의 객체가 서로 맞닿는 동작으로서, 가상의 컨텐츠를 잡기 위해 사용될 수 있다. 제스처는, 텍스트, 기호, 또는 모양(예를 들어, '?' 또는 'X')을 표현하기 위한 움직임을 의미할 수 있다. Predefined motions may include move, tap, grab, scroll, swipe, gesture, rotation, and the like. The move motion is an operation of moving the electronic device 3000 in an arbitrary direction, and may be used for an operation of moving virtual content or turning a page. For example, the move motion may include movement in three axis directions (x, y, and z axes). A tap motion is a motion of tapping something, and may be used to select or click virtual content. The user may double-click the virtual content by making a tap motion twice consecutively within a reference time. A tap motion is a motion separate from a click motion under a mouse mode.) A grab motion is a motion in which two distant objects come into contact with each other, and may be used to grab virtual content. A gesture may mean a movement for expressing text, a symbol, or a shape (eg, '?' or 'X').

기 정의된 모션은 사용자 정의 모션에 의해 추가될 수 있다. 사용자 정의 모션이란, 전자 장치(3000)의 제조사가 아닌 사용자에 의해 정의되는 모션으로서, 사용자는 자신이 입력하는 특정한 움직임을 사용자 정의 모션으로 추가할 수 있다. 예를 들어, 사용자는 전자 장치(3000)를 손에 쥐거나 착용한 상태로 특정한 움직임을 반복하여 취하고 이를 특정한 기능 또는 모션과 매칭시킬 수 있다. 전자 장치(3000)에 사용자가 반복하여 취한 움직임 정보 및 움직임 정보에 해당하는 기능 또는 모션이 대응되어 저장될 수 있다. 예를 들어, 전자 장치(3000)를 손가락에 착용한 사용자는 무언가를 찌르는 듯한 찌르기 동작을 10회 취하고 이를 찌르기 모션으로 지정하여 저장할 수 있다. 이후, 사용자는 전자 장치(3000)를 착용하고 찌르기 동작을 취하는 경우, 프로세서(3620)는 찌르기 모션을 나타내는 모션 신호를 통신부(3640)를 통해 호스트 장치로 전달할 수 있다.Pre-defined motions can be added by user-defined motions. A user-defined motion is a motion defined by a user, not a manufacturer of the electronic device 3000, and the user can add a specific motion input by the user as a user-defined motion. For example, the user may repeatedly take a specific motion while holding or wearing the electronic device 3000 and match it with a specific function or motion. In the electronic device 3000, motion information repeatedly taken by a user and functions or motions corresponding to the motion information may be stored in correspondence with each other. For example, a user who wears the electronic device 3000 on his or her finger may make 10 stabbing motions, designate them as stabbing motions, and save the motion. Then, when the user wears the electronic device 3000 and performs a stabbing motion, the processor 3620 may transmit a motion signal representing the stabbing motion to the host device through the communication unit 3640 .

전자 장치(3000)의 움직임 정보는 기계 학습에 기반하여 특정 모션과 매칭될 수 있다. 즉, 특정 움직임 정보를 기계 학습을 통해 학습된 결정 모델에 입력하면 결정 모델은 입력된 특정 움직임 정보에 대응하는 모션 신호를 출력할 수 있다. Motion information of the electronic device 3000 may be matched with a specific motion based on machine learning. That is, when specific motion information is input to a decision model learned through machine learning, the decision model may output a motion signal corresponding to the input specific motion information.

일 실시 예에 따라, 전자 장치(3000)는 사용자들 별로 독립적인 결정 모델을 사용할 수 있다. 사용자들이 동일한 움직임을 취하더라도 생성되는 움직임 정보가 사용자들마다 상이하기 때문이다. 예를 들어, 팔을 돌려서 원을 그리는 동작이 전자 장치(3000)에서 출력되는 특정 모션 신호 또는 호스트 장치에서의 특정 기능과 대응된다고 가정하면, 사용자들마다 상기 동작을 취하면서 생성되는 움직임 정보는 모두 동일하지 않고 사용자들 마다의 특유한 패턴을 가지고 있을 수 있기 때문이다. According to an embodiment, the electronic device 3000 may use an independent decision model for each user. This is because generated motion information is different for each user even if the users perform the same motion. For example, assuming that an operation of drawing a circle by turning an arm corresponds to a specific motion signal output from the electronic device 3000 or a specific function of the host device, all motion information generated while performing the above operation for each user This is because it is not the same and may have a unique pattern for each user.

도5를 참조하면, 제1결정 모델(DEC#1), 제2결정 모델(DEC#2), 제3결정 모델(DEC#3)은 각각 제1사용자의 움직임 정보, 제2사용자의 움직임 정보, 제3사용자의 움직임 정보로부터 대응되는 모션 신호를 출력하기 위해 사용될 수 있다. 제어 신호 출력부(3600) 또는 프로세서(3620)는 전자 장치(3000)를 현재 사용하는 사용자가 제1사용자이면, 획득된 제1사용자의 움직임 정보(예를 들어, 상술한 제2움직임 정보)를 제1결정 모델(DEC#1)에 입력하고 대응하는 모션 신호를 결정할 수 있다. 제어 신호 출력부(3600) 또는 프로세서(3620)는 현재 전자 장치(3000)를 사용하는 사용자가 제3사용자이면, 획득된 제3사용자의 움직임 정보(예를 들어, 상술한 제2움직임 정보)를 제3결정 모델(DEC#3)에 입력하고 대응하는 모션을 결정할 수 있다.Referring to FIG. 5, the first decision model DEC#1, the second decision model DEC#2, and the third decision model DEC#3 are motion information of the first user and motion information of the second user, respectively. , can be used to output a motion signal corresponding to the motion information of the third user. If the user currently using the electronic device 3000 is the first user, the control signal output unit 3600 or the processor 3620 converts the acquired motion information of the first user (eg, the above-described second motion information) to the first user. Input to the first decision model DEC#1 and a corresponding motion signal may be determined. If the user currently using the electronic device 3000 is the third user, the control signal output unit 3600 or the processor 3620 converts the obtained third user's motion information (eg, the aforementioned second motion information) to the third user. Input to the third decision model (DEC#3) and corresponding motion can be determined.

모션 신호를 결정하기 위한 결정 모델은 기계 학습에 기반하여 생성될 수 있다. 예를 들어, 제1결정 모델(DEC#1)은 제1사용자의 움직임 정보(예를 들어, 상술한 제2움직임 정보)와 특정 모션을 각각 입력과 출력으로 반복 적용하는 기계 학습을 수행함으로써 생성될 수 있다. 제1결정 모델(DEC#1)은 제1사용자가 팔을 돌려서 원을 그리는 동작으로부터 생성되는 제1사용자의 제2움직임 정보를 10회 이상 입력 받고, 입력받은 움직임 정보가 특정 모션 신호와 대응되도록 학습될 수 있다. 예를 들어, 제2결정 모델(DEC#2)은 제2사용자의 움직임 정보(예를 들어, 상술한 제2움직임 정보)와 특정 모션을 각각 입력과 출력으로 반복 적용하는 기계 학습을 수행함으로써 생성될 수 있다. 제2결정 모델(DEC#2)은 제2사용자가 팔을 돌려서 원을 그리는 동작으로부터 생성되는 제2사용자의 제2움직임 정보를 10회 이상 입력 받고, 입력 받은 움직임 정보가 특정 모션 신호와 대응되도록 학습될 수 있다.A decision model for determining the motion signal may be created based on machine learning. For example, the first decision model DEC#1 is generated by performing machine learning that repeatedly applies the first user's motion information (eg, the above-described second motion information) and a specific motion as inputs and outputs, respectively. It can be. The first decision model (DEC#1) receives the second motion information of the first user generated from the first user's motion of drawing a circle by rotating his arm 10 or more times, and makes the input motion information correspond to a specific motion signal. can be learned For example, the second decision model DEC#2 is generated by performing machine learning that repeatedly applies the second user's motion information (eg, the above-described second motion information) and a specific motion as inputs and outputs, respectively. It can be. The second decision model (DEC#2) receives the second user's second motion information generated from the second user's motion of drawing a circle by rotating his arm 10 or more times, and makes the input motion information correspond to a specific motion signal. can be learned

기계 학습 기법은 SVM(Support Vector Machine), 랜덤 포레스트(Random forest), 서포트 벡터 머신(Support Vector Machine: SVM), 나이브 베이즈(Naive Bayes), 적응적 부스팅(Adaptive Boosting: AdaBoost), 랜덤 포레스트(Random Forest), 그래디언트 부스팅(Gradient Boosting), K-평균 클러스터링(K-means clustering), 인공 신경망(Artificial Neural Network) 등을 포함할 수 있다.Machine learning techniques include Support Vector Machine (SVM), Random forest, Support Vector Machine (SVM), Naive Bayes, Adaptive Boosting (AdaBoost), Random Forest ( Random Forest), gradient boosting, K-means clustering, artificial neural network, and the like.

모션 신호를 결정하기 위해 사용되는 기계 학습 기반의 결정 모델은 전자 장치(3000) 내의 메모리(미도시)에 저장되거나 호스트 장치에 저장될 수 있다. 또한, 결정 모델을 생성하기 위한 학습은 전자 장치(3000)에서 수행되거나 호스트 장치에서 수행될 수 있다. 일 실시 예에 따라, 결정 모델을 생성하기 위한 학습은 호스트 장치에서 수행되고, 생성된 결정 모델은 전자 장치(3000) 내의 메모리(미도시)에 저장될 수 있다. 또는, 결정 모델에 대한 학습이 전자 장치(3000)에서 수행되고 전자 장치(3000)의 메모리(미도시)에 결정 모델이 저장될 수 있다.The machine learning-based decision model used to determine the motion signal may be stored in a memory (not shown) in the electronic device 3000 or stored in the host device. Also, learning to generate a decision model may be performed in the electronic device 3000 or in the host device. According to an embodiment, learning to generate a decision model may be performed in a host device, and the generated decision model may be stored in a memory (not shown) in the electronic device 3000 . Alternatively, learning of the decision model may be performed in the electronic device 3000 and the decision model may be stored in a memory (not shown) of the electronic device 3000 .

도7은 일 실시 예에 따라, 제스처 모드 하에서, 전자 장치(3000)로 호스트 장치를 제어하기 위한 왼쪽 무브(Left Move) 모션, 오른쪽 무브(Right Move) 모션, 위쪽 무브(Up Move) 모션, 아래쪽 무브(Down Move) 모션, 로테이션 (Clockwise Rotation, Counter Clockwise Rotation) 모션, 포워드/백 방향 무브(Forward/Back Move) 모션을 나타낸다. 왼쪽 무브 모션과 오른쪽 무브 모션은 x축 +/- 방향의 움직임으로부터 결정될 수 있다. 위쪽 무브 모션과 아래쪽 무브 모션은 z축 +/- 방향의 움직임으로부터 결정될 수 있다. 포워드 무브 모션과 백 무브 모션은 y축 +/- 방향의 움직임으로부터 결정될 수 있다.7 is a left move motion, a right move motion, an up move motion, and a down move motion for controlling a host device with the electronic device 3000 under a gesture mode, according to an embodiment. It represents Down Move motion, rotation (Clockwise Rotation, Counter Clockwise Rotation) motion, and Forward/Back Move motion. The left move motion and the right move motion may be determined from the movement in the +/- direction of the x-axis. The upper move motion and the lower move motion may be determined from the movement in the z-axis +/- direction. The forward move motion and the back move motion may be determined from motion in the +/- direction of the y-axis.

이러한 실시 예에서, 사용자는 전자 장치(3000)를 착용한 채로 3차원 공간에서 왼쪽 무브 또는 오른쪽 무브 모션을 취함으로써 호스트 장치에서 실행 중인 워드 문서의 페이지를 넘길 수 있다. 제스처 모드 하에서, 전자 장치(3000)가 호스트 장치를 제어하기 위한 모션은 상술된 실시 예에 제한되지 않는다. 예를 들어, 전자 장치(3000)가 지원하는 모션은 탭(Tap), 잡기(Grasp), 스크롤(Scroll), 스와이프(Swipe) 등을 더 포함할 수 있다. 또한, 제스처 모드 하에서의 모션들(사용자 정의 모션을 포함)은 상술한 기계 학습 기반의 결정 모델을 통해 사용자에 의해 추가되고 사용될 수 있다.In this embodiment, the user may turn the page of a word document being executed in the host device by making a left move or a right move motion in a 3D space while wearing the electronic device 3000 . Under the gesture mode, the motion for the electronic device 3000 to control the host device is not limited to the above-described embodiment. For example, motions supported by the electronic device 3000 may further include tap, grab, scroll, and swipe. In addition, motions (including user-defined motions) under the gesture mode may be added and used by the user through the above-described machine learning-based decision model.

다시 도3을 참조하면, 프로세서(3620)는 모션 신호 또는 마우스 신호를 나타내는 제어 신호를 생성할 수 있다. 예를 들어, 프로세서(3620)는 사용자의 움직임이 왼쪽 무빙(Left Moving) 모션으로 결정되면 왼쪽 무빙(Left Moving) 모션을 나타내는 제1비트열을 제어 신호로서 생성할 수 있다. 프로세서(3620)는 사용자의 움직임이 시계 방향의 로테이션 모션으로 결정되면 시계 방향의 로테이션 모션을 나타내는 제2비트열을 제어 신호로서 생성할 수 있다. 또는, 전자 장치(2000)와 호스트 장치와 약속된 규약을 사용하는 경우, 모션들 각각에 할당된 번호를 제어 신호로서 생성할 수도 있다. 프로세서(3620)는 사용자의 움직임이 마우스 무브로 결정되면 마우스 무브를 나타내는 제3비트열을 제어 신호로서 생성할 수 있다. Referring back to FIG. 3 , the processor 3620 may generate a control signal representing a motion signal or a mouse signal. For example, when the user's motion is determined to be a left moving motion, the processor 3620 may generate a first bit string representing a left moving motion as a control signal. When the user's movement is determined to be the clockwise rotation motion, the processor 3620 may generate a second bit string representing the clockwise rotation motion as a control signal. Alternatively, in the case of using a protocol agreed upon between the electronic device 2000 and the host device, a number assigned to each of the motions may be generated as a control signal. When the user's movement is determined as a mouse movement, the processor 3620 may generate a third bit string representing the mouse movement as a control signal.

프로세서(3620)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(3620)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 프로세서(3620)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.The processor 3620 may include one processor core (Single Core) or may include a plurality of processor cores (Multi-Core). For example, the processor 3620 may include a multi-core such as a dual-core, quad-core, or hexa-core. In addition, the processor 3620 may further include an internal or external 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)를 지원할 수 있다.The communication unit 3640 may transmit a control signal to the host device through a wireless communication interface. The communication unit 3640 may include a wireless local area network (WLAN) such as Wi-Fi (Wireless Fidelity), a wireless personal area network (WPAN) such as Bluetooth, and 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. It may include a modem communication interface and the like. The Bluetooth interface may support Bluetooth Low Energy (BLE).

전자 장치(3000)는, 전자 장치(3000)에서 수행되는 동작에 필요한 메모리(미도시)를 포함할 수 있다. 예를 들어, 전자 장치(3000)는 센서 융합부(3280)에서의 센서 융합 동작을 수행하기 위해 필요한 메모리(미도시)를 포함할 수 있다. 또한, 전자 장치(3000)는 기 정의된 모션들 및/또는 사용자 정의 모션을 저장하기 위해 사용되거나 프로세서(3620)에서 수행되는 동작에 필요한 메모리(미도시)를 포함할 수 있다. 메모리(미도시)는 사용자 움직임에 대응하는 모션 신호를 결정하기 위해 기계 학습에 기반하여 생성된 결정 모델을 저장할 수 있다. 메모리(미도시)는, 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 휘발성 메모리 장치, 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(Solid State Drive; SSD) 등과 같은 비휘발성 메모리 장치를 포함할 수 있다.The electronic device 3000 may include a memory (not shown) necessary for an operation performed in the electronic device 3000 . For example, the electronic device 3000 may include a memory (not shown) required to perform a sensor fusion operation in the sensor fusion unit 3280 . Also, the electronic device 3000 may include a memory (not shown) used to store predefined motions and/or user defined motions or required for an operation performed by the processor 3620 . A memory (not shown) may store a decision model generated based on machine learning to determine a motion signal corresponding to a user movement. The memory (not shown) includes a volatile memory device such as dynamic random access memory (DRAM) and static random access memory (SRAM), a flash memory device, and a solid state drive (Solid State Drive; SSD) and the like.

전자 장치(3000)는, 전자 장치(3000)에서 수행되는 동작에 필요한 전원을 공급하기 위한 배터리(미도시)를 포함할 수 있다. 배터리(미도시)는 리튬 이온 배터리 또는 리튬 폴리머 배터리를 포함할 수 있으나 이에 제한되지 않는다. 예를 들어, 배터리(미도시)는 제어 신호 출력부(3600)에 포함될 수 있으며, 배터리(미도시)에서 출력되는 전원 중 일부가 움직임 센싱 모듈(3200)로 바이패스될 수 있다.The electronic device 3000 may include a battery (not shown) for supplying power necessary for operations performed by the electronic device 3000 . The battery (not shown) may include, but is not limited to, a lithium ion battery or a lithium polymer battery. For example, 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 motion sensing module 3200.

전자 장치(3000)는 배터리(미도시)를 충전시키기 위한 충전 단자를 포함할 수 있다. 전자 장치(3000)는 USB 타입의 충전 단자를 포함할 수 있다. 충전 단자를 통해 유입되는 전류는 배터리를 충전시키기 위해 사용될 수 있다. 일 실시 예에 따라, 도1a 및 1b의 링형 장치(1200)에 충전 단자가 존재할 수도 있으며, 크래들 장치(1400)에 충전 단자가 존재할 수도 있다. 예를 들어, 메인 모듈(1240)에 충전 단자가 존재하고, 링형 장치(1200)가 크래들 장치(1400)에 수납됨으로써 메인 모듈(1240)에 대한 충전이 수행될 수 있다.The electronic device 3000 may include a charging terminal for charging a battery (not shown). The electronic device 3000 may include a USB type charging terminal. Current flowing through the charging terminal may be used to charge the battery. According to an embodiment, a charging terminal may exist in the ring-shaped device 1200 of FIGS. 1A and 1B, and a charging terminal may exist in the cradle device 1400. For example, charging of the main module 1240 may be performed by having a charging terminal in the main module 1240 and receiving the ring-shaped device 1200 in the cradle device 1400 .

이하, 도8 내지 14를 참조하여, 전자 장치를 사용하여 컨텐츠를 제어하는 방법을 설명한다. 도8 내지 14를 참조하여 설명하는 방법은 도3의 전자 장치(3000) 및 호스트 장치 중 적어도 하나에서 수행될 수 있다. 따라서, 이하 생략된 내용이라 하더라도 도3의 전자 장치(3000) 또는 호스트 장치에 관하여 기술된 내용은 도8 내지 14에도 적용될 수 있다. 또한, 도8 내지 14의 방법에 대한 내용 역시 도3의 전자 장치(3000), 또는 호스트 장치에 적용될 수 있다.Hereinafter, a method of controlling content using an electronic device will be described with reference to FIGS. 8 to 14 . The method described with reference to FIGS. 8 to 14 may be performed in at least one of the electronic device 3000 of FIG. 3 and a host device. Therefore, even if omitted below, the description of the electronic device 3000 or the host device of FIG. 3 may be applied to FIGS. 8 to 14 . 8 to 14 may also be applied to the electronic device 3000 of FIG. 3 or the host device.

도8은 일 실시 예에 따라, 전자 장치를 사용하여 컨텐츠를 제어하는 방법의 흐름도를 나타낸다.8 is a flowchart of a method of controlling content using an electronic device, according to an embodiment.

단계 S200에서, 전자 장치는 센싱 모듈에 기반하여 객체의 제1움직임 정보를 획득할 수 있다. 객체는 전자 장치 자체를 의미할 수 있다. 센싱 모듈은 가속도 센서, 자이로 센서, 및 지자기 센서를 포함할 수 있다. 제1움직임 정보는, 객체의 움직임에 대한 가속도 데이터와 각속도 데이터를 포함할 수 있다. 예를 들어, 제1움직임 정보는, 가속도 센서를 통해 획득되는 가속도 데이터와 자이로 센서를 통해 획득되는 각속도 데이터가 센서 융합부에 의해 최적화된 데이터일 수 있다.In step S200, the electronic device may acquire first motion information of the object based on the sensing module. An object may mean an electronic device itself. The sensing module may include an acceleration sensor, a gyro sensor, and a geomagnetic sensor. The first motion information may include acceleration data and angular velocity data for the motion of the object. For example, the first motion information may be data obtained by optimizing acceleration data obtained through an acceleration sensor and angular velocity data obtained through a gyro sensor by a sensor fusion unit.

단계 S400에서, 전자 장치는 단계 S200에서 획득된 제1움직임 정보를 연산함으로써 제2움직임 정보를 생성할 수 있다. 제2움직임 정보는 각도 데이터, 속도 데이터, 거리 데이터, 및 방향 데이터 중 적어도 하나를 포함할 수 있다. 전자 장치는 객체가 움직이는 동안, 제2움직임 정보를 실시간으로 계산하고 획득할 수 있다. 예를 들어, 전자 장치는 기준 시간(예를 들어, 5ms) 마다 제1움직임 정보에 대한 연산을 수행함으로써 제2움직임 정보를 획득할 수 있다. 기준 시간은 30ms 이하일 수 있으나 이에 제한되지 않는다. 전자 장치는 검지의 중간 마디에 착용됨으로써, 검지의 첫 마디와 중간 마디 사이의 관절을 축으로 하여, 검지의 중간 마디가 움직인 각도와 속도를 결정할 수 있다. 또한, 전자 장치는 검지의 끝 마디에 착용됨으로써, 검지의 첫 마디와 중간 마디 사이의 관절을 축으로 하여 검지의 끝 마디가 움직인 각도와 속도를 결정할 수 있다.In step S400, the electronic device may generate second motion information by calculating the first motion information obtained in step S200. The second motion information may include at least one of angle data, speed data, distance data, and direction data. The electronic device may calculate and obtain second motion information in real time while the object is moving. For example, the electronic device may obtain the 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. As the electronic device is worn on the middle joint of the index finger, the joint between the first joint and the middle joint of the index finger can be used as an axis to determine the moving angle and speed of the middle joint of the index finger. Also, since the electronic device is worn on the tip joint of the index finger, the angle and speed at which the tip joint of the index finger moves can be determined with the joint between the first joint and the middle joint of the index finger as an axis.

단계 S500에서, 전자 장치는 현재 모드가 마우스 모드인지 제스처 모드인지 판단할 수 있다. 전자 장치는 현재 모드가 마우스 모드라면(Yes), 단계 S520에서 터치 정보를 획득하고, 단계 S540에서 제2움직임 정보와 터치 정보 중 적어도 하나에 기반하여 마우스 신호를 결정할 수 있다.In step S500, the electronic device may determine whether the current mode is a mouse mode or a gesture mode. If the current mode is the mouse mode (Yes), the electronic device may acquire touch information in step S520 and determine a mouse signal based on at least one of the second motion information and touch information in step S540.

전자 장치는 현재 모드가 제스처 모드라면(No), 단계 S600에서, 전자 장치는 획득된 제2움직임 정보에 기반하여, 객체의 움직임에 대응하는 모션 신호를 결정할 수 있다. 일 실시 예에 따라, 전자 장치는 객체의 움직임에 대응하는 모션 신호를 결정할 수 있다. 일 실시 예에 따라, 전자 장치는 검지 손가락이 움직인 속도, 각도, 거리 등에 기반하여 모션을 결정할 수 있다. 모션들은 무브, 탭, 잡기, 스크롤, 스와이프, 제스처, 및 로테이션 모션 등을 포함할 수 있으나 이에 제한되지 않는다. 모션들은 사용자의 특성에 맞게 생성되는 제스처 프로파일들(LEFT/RIGHT, FORWARD/BACKWARD, CIRCLE(CLOCKWISE/COUNTERCLOCKWISE)을 포함할 수 있다. 전자 장치는 객체의 움직임이 제조사에 의해 기 정의된 모션들이나 사용자 정의 모션 중 어느 것에도 해당되지 않거나 무의미한 움직임으로 판단되는 경우, 모션 신호를 생성하지 않고 예외 처리할 수 있다. If the current mode of the electronic device is the gesture mode (No), in step S600, the electronic device may determine a motion signal corresponding to the motion of the object based on the acquired second motion information. According to an embodiment, the electronic device may determine a motion signal corresponding to the motion of the object. According to an embodiment, the electronic device may determine the motion based on the speed, angle, distance, etc. of the index finger. Motions may include, but are not limited to, move, tap, grab, scroll, swipe, gesture, and rotation motion. The motions may include gesture profiles (LEFT/RIGHT, FORWARD/BACKWARD, CIRCLE (CLOCKWISE/COUNTERCLOCKWISE)) that are created to suit the user's characteristics. In electronic devices, motions of objects are predefined by manufacturers or user-defined. If none of the motions are applicable or if the motion is determined to be meaningless, an exception may be processed without generating a motion signal.

단계 S800에서, 전자 장치는 결정된 모션 신호 또는 마우스 신호를 나타내는 제어 신호를 무선 통신 인터페이스를 통해 호스트 장치로 전달할 수 있다. 제어 신호는, 호스트 장치를 제어하기 위한 인터럽트 신호일 수 있다. 일 실시 예에 따라, 전자 장치는 객체의 위치가 컨텐츠가 재생되는 위치로부터 기준 거리 내에 있는지 판단하고, 판단 결과 기준 거리 내에 있을 때에만 제어 신호를 호스트 장치로 전달할 수 있다. 사용자가 컨텐츠로부터 멀리 떨어져 있는 경우, 사용자의 움직임이 컨텐츠를 제어하기 위한 움직임으로 보기 어렵기 때문이다.In step S800, the electronic device may transmit a control signal representing the determined motion signal or mouse signal to the host device through a wireless communication interface. The control signal may be an interrupt signal for controlling the host device. According to an embodiment, the electronic device may determine whether the location of the object is within a standard distance from the location where content is reproduced, and transmit a control signal to the host device only when the location of the object is within the standard distance as a result of the determination. This is because when the user is far away from the content, it is difficult to view the user's movement as a movement for controlling the content.

단계 S900에서, 호스트 장치는 수신된 제어 신호에 기반하여, 컨텐츠를 제어할 수 있다. 예를 들어, 호스트 장치는, 수신된 제어 신호가 무브 모션인 경우, 게임 상의 야구공을 객체의 움직임에 비례하는 방향, 속도, 거리로 움직일 수 있다. 호스트 장치는, 수신된 제어 신호가 탭 모션인 경우, 게임 상의 아이템을 선택할 수 있다. 호스트 장치는, 수신된 제어 신호가 로테이션 모션인 경우, 게임 상의 원판을 회전시킬 수 있다. 호스트 장치는, 수신된 제어 신호가 무브 모션인 경우, 객체와 컨텐츠 사이의 거리에 따라, 컨텐츠를 줌-인 또는 줌-아웃할 수 있다. 호스트 장치는, 수신된 제어 신호가 페이지 넘기기 모션(예를 들어, LEFT MOVE, RIGHT MOVE)인 경우, 실행 중인 워드 문서 또는 프리젠테이션 문서의 페이지를 넘길 수 있다. 호스트 장치는, 수신된 제어 신호가 마우스 클릭인 경우, 현재 마우스 포지션에서 클릭 동작을 수행할 수 있다. 호스트 장치는, 수신된 제어 신호가 마우스 스크롤 업인 경우, 스크롤 업 동작을 수행할 수 있다.In step S900, the host device may control content based on the received control signal. For example, when the received control signal is a move motion, the host device may move a baseball in a game in a direction, speed, and distance proportional to the motion of the object. The host device may select an item in the game when the received control signal is a tap motion. The host device may rotate the disc in the game when the received control signal is a rotation motion. When the received control signal is a move motion, the host device may zoom-in or zoom-out the content according to a distance between the object and the content. When the received control signal is a page turning motion (eg, LEFT MOVE, RIGHT MOVE), the host device may turn pages of the currently executing word document or presentation document. When the received control signal is a mouse click, the host device may perform a click operation at the current mouse position. The host device may perform a scroll-up operation when the received control signal is a mouse scroll-up.

도9는 일 실시 예에 따라, 전자 장치가 객체의 움직임에 대한 거리 데이터를 획득하기 위한 방법의 흐름도를 나타낸다.9 is a flowchart of a method for obtaining, by an electronic device, distance data about motion of an object, according to an embodiment.

단계 S420에서, 전자 장치는 가속도 데이터로부터 중력 가속도 성분을 제거하여 선형 가속도 데이터를 생성할 수 있다. 가속도 데이터에서 중력 가속도에 의한 영향을 제거함으로써, 객체의 움직임에 대한 가속도 데이터가 획득될 수 있다. In step S420, the electronic device may generate linear acceleration data by removing the gravitational acceleration component from the acceleration data. Acceleration data for the motion of the object may be obtained by removing the influence of the gravitational acceleration from the acceleration data.

단계 S440에서, 전자 장치는 선형 가속도 데이터에 적분 연산을 수행하여 속도 데이터를 획득할 수 있다.In step S440, the electronic device may obtain speed data by performing an integral operation on the linear acceleration data.

단계 S460에서, 전자 장치는 속도 데이터에 적분 연산을 수행하여 거리 데이터를 획득할 수 있다. In step S460, the electronic device may obtain distance data by performing an integration operation on the speed data.

도11은 일 실시 예에 따라, 객체의 움직임을 마우스 모드 하에서의 마우스 무브 또는 제스처 모드 하에서의 무브 모션으로 결정하고, 움직인 거리 데이터를 획득하기 위한 방법의 흐름도를 나타낸다. 도12는 도10의 단계 S540 또는 S600의 하위 단계를 나타낼 수 있다.11 is a flowchart of a method for determining the movement of an object as a mouse move in a mouse mode or a move motion in a gesture mode, and acquiring movement distance data, according to an embodiment. FIG. 12 may represent sub-steps of step S540 or S600 of FIG. 10 .

단계 S612에서, 전자 장치는 객체의 초기 움직임에 대한 각도와 속도를 결정할 수 있다. 전자 장치는 객체의 움직임이 시작된 후 초기 움직임(예를 들어, 움직임이 시작된 후 기준 시간 이내)에 대한 각도 데이터와 속도 데이터를 획득할 수 있다.In step S612, the electronic device may determine the angle and speed of the initial movement of the object. The electronic device may acquire angle data and velocity data for an initial movement (eg, within a reference time after the movement starts) after the movement of the object starts.

단계 S614에서, 전자 장치는 단계 S612에서 획득된 각도 데이터와 속도 데이터가 기준 조건을 만족하는지 판단할 수 있다. 예를 들어, 속도가 기준 값 이상이고 각도의 변화 폭이 20도 이내인 경우 전자 장치는 객체의 움직임을 직진 방향의 움직임으로 결정할 수 있다. 전자 장치는 각도 데이터와 속도 데이터가 기준 조건을 만족하지 않으면(No), 객체의 움직임이 다른 모션에 해당하는지 판단하거나 어떠한 모션에도 해당하지 않는 것으로 판단되는 경우 예외 처리할 수 있다(S618).In step S614, the electronic device may determine whether the angle data and speed data obtained in step S612 satisfy a reference condition. For example, when the speed is equal to or greater than the reference value and the range of change in angle is within 20 degrees, the electronic device may determine the motion of the object as a motion in a straight direction. If the angle data and the velocity data do not satisfy the reference conditions (No), the electronic device may determine whether the motion of the object corresponds to another motion or may process an exception if it is determined that the motion of the object does not correspond to any motion (S618).

전자 장치는 각도 데이터와 속도 데이터가 기준 조건을 만족하면(Yes), 움직임을 무브 모션 또는 마우스 무브로 결정하고, 객체의 움직임에 대한 거리 데이터를 획득(S616)할 수 있다. 예를 들어, 전자 장치는 움직이고자 하는 방향으로 전자 장치가 기 설정된 속도 이상으로 움직이는 시점을 움직임에 대한 시작점으로 결정할 수 있다. 객체의 움직임에 대한 거리 데이터는 도11을 참조하여 상술한 방법으로 결정될 수 있다.If the angle data and the velocity data satisfy the reference condition (Yes), the electronic device may determine the movement as a move motion or a mouse move and obtain distance data for the movement of the object (S616). For example, the electronic device may determine a point in time when the electronic device moves at a predetermined speed or more in a desired direction as a starting point for the movement. Distance data for the movement of the object may be determined by the method described above with reference to FIG. 11 .

일 실시 예에 따라, 전자 장치는 거리 데이터 외에 위치 데이터(예를 들어, 객체의 3차원 공간 좌표)와 방향 데이터를 더 획득할 수 있다. According to an embodiment, the electronic device may obtain location data (eg, 3D space coordinates of an object) and direction data in addition to distance data.

전자 장치는 임의의 시점에서의 객체의 위치 또는 임의의 공간 상의 위치를 기준점으로 하였을 때, 객체가 움직인 거리 데이터에 기반하여 현재의 객체의 위치 데이터를 획득할 수 있다. 전자 장치는 객체의 움직임 단위마다 움직인 거리를 결정하고, 결정된 거리 데이터를 메모리에 저장할 수 있다. 전자 장치는 메모리로부터 움직임들에 대한 거리 데이터를 읽어오고, 읽어온 거리 데이터를 합산하여 현재 객체의 위치 데이터를 결정할 수 있다.The electronic device may obtain current location data of an object based on data of a distance moved by the object when the location of the object at an arbitrary time or a location in an arbitrary space is used as a reference point. The electronic device may determine a moving distance for each movement unit of the object and store the determined distance data in a memory. The electronic device may determine location data of the current object by reading distance data about motions from a memory and summing the read distance data.

예를 들어, 전자 장치는 임의의 이전 시점에서의 객체의 위치 데이터가 (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)으로 결정할 수 있다.For example, when the position data of an object at a previous point in time is (0, 0, 0) and the move motion occurs three times in succession, the first distance data of the first move motion is (10, -20, 30), 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 object The location data of can be determined as (20, 50, 120). For example, if the first move motion occurs once, the object is simply moved as a person moves, and another move motion occurs again, the first distance data of the first move motion is (5, 30, 20), when the second distance data for simple movement is (500, 500, 0) and the second distance data for second move motion is (10, 30, 30), the position data of the current object is set to (515). , 560, 50).

전자 장치는 현재의 거리 데이터와 이전 거리 데이터의 비교에 기반하여 객체가 움직이고 있는 방향 데이터를 획득할 수 있다. 이전 거리 데이터란, 직전에 획득된 거리 데이터를 의미할 수 있다. 예를 들어, 5ms 마다 거리 데이터가 연산되는 경우, 시점 t의 거리 데이터와 시점 t-5ms에 획득된 거리 데이터에 기반하여 x축 방향으로의 증감 여부, y축 방향으로의 증감 여부, 및 z축 방향으로의 증감 여부를 결정할 수 있다. 예를 들어, 현재 거리 데이터의 x축 방향 값이 +50, y축 방향 값이 +10, z축 방향 값이 -5 이고 이전 거리 데이터의 x축 방향 값이 +60, y축 방향 값이 +15, z축 방향 값이 -10이라면, 전자 장치(3000)는 현재의 움직임 방향을 x축 방향으로는 증가, y축 방향으로 증가, z축 방향으로 감소로 결정할 수 있다.The electronic device may obtain direction data in which the object is moving based on comparison between current distance data and previous distance data. Previous distance data may refer to distance data obtained immediately before. For example, if distance data is calculated every 5 ms, whether to increase or decrease in the x-axis direction, whether to increase or decrease in the y-axis direction, and the z-axis based on the distance data at time point t and the distance data obtained at time point t-5 ms You can decide whether to increase or decrease in the direction. For example, the x-axis value of the current distance data is +50, the y-axis value is +10, and the z-axis value is -5, and the x-axis value of the previous distance data is +60 and the y-axis value is +60. If the value of 15 or the z-axis direction is -10, the electronic device 3000 may determine the current movement direction as an increase in the x-axis direction, an increase in the y-axis direction, and a decrease in the z-axis direction.

도10는 일 실시 예에 따라, 전자 장치의 블록도를 나타낸다.10 shows a block diagram of an electronic device, according to an embodiment.

도10의 전자 장치(MD)는 도1a 내지 9를 참조하여 상술한 전자 장치일 수 있다. 예를 들어, 전자 장치는 링형 장치일 수 있다. 도12를 참조하면, 전자 장치(MD)는 가속도 센서(ACC), 자이로 센서(GYR), 지자기 센서(MAG), 제1프로세서(P1), 제2프로세서(P2), 및 메모리(M)를 포함할 수 있다.The electronic device MD of FIG. 10 may be the electronic device described above with reference to FIGS. 1A to 9 . For example, the electronic device may be a ring-shaped device. Referring to FIG. 12, the electronic device MD includes an acceleration sensor ACC, a gyro sensor GYR, a geomagnetic sensor MAG, a first processor P1, a second processor P2, and a memory M. can include

가속도 센서(ACC), 자이로 센서(GYR), 지자기 센서(MAG)는 도3을 참조하여 상술한 가속도 센서(Accelerometer, 3220), 자이로 센서(Gyroscope, 3240), 지자기 센서(Magnetometer, 3260)와 각각 동일하므로 상세한 설명은 생략한다.The accelerometer (ACC), gyro sensor (GYR), and geomagnetic sensor (MAG) are the same as the accelerometer (3220), gyroscope (3240), and geomagnetic sensor (Magnetometer, 3260) described above with reference to FIG. Since they are the same, detailed descriptions are omitted.

도10와 11을 같이 참조하면, 제1프로세서(P1)는 가속도 센서(ACC)로부터 수신한 데이터에 기반하여 3축(Left/Right, Forward/Back, Up/Down) 별 가속도 값을 획득할 수 있다. 제1프로세서(P1)는 자이로 센서(GYR)로부터 수신한 데이터에 기반하여 3축(Yaw/Pitch/Roll)축 별 각속도 값을 획득할 수 있다. 제1프로세서(P1)는 가속도 센서(ACC), 자이로 센서(GYR), 지자기 센서(MAG)에 기반하여 3축(Yaw/Pitch/Roll 모듈과 지면과의 수평 기준의 기울기 값을 획득할 수 있다.10 and 11 together, the first processor P1 may obtain acceleration values for each of the three axes (Left/Right, Forward/Back, Up/Down) based on data received from the acceleration sensor ACC. there is. The first processor P1 may obtain angular velocity values for each of three axes (Yaw/Pitch/Roll) based on data received from the gyro sensor GYR. The first processor (P1) may acquire the inclination value of the horizontal reference between the 3-axis (Yaw/Pitch/Roll module and the ground) based on the acceleration sensor (ACC), the gyro sensor (GYR), and the geomagnetic sensor (MAG). .

제2프로세서(P2)는 제1프로세서(P1)로부터 수신된 값들에 기반하여 사용자에 대한 제스처 프로파일을 생성하거나 사용자가 실제로 취한 모션이 기 생성된 제스처 프로파일들 중 어느 하나와 매칭되는지 판단할 수 있다. 사용자가 호스트 장치를 컨트롤하기 위해 실제로 취한 모션이 기 정의된 조건들에 부합하는지를 확인함으로써 특정 제스처인지 여부를 판단하기 위한 기 정의된 조건들을 제스처 프로파일이라고 지칭할 수 있다. 예를 들어, 제스처 프로파일은 8개 제스처 프로파일(LEFT/RIGHT/UP/DOWN MOVE, FORWARD/BACKWARD MOVE, CIRCLE(CLOCKWISE/COUNTERCLOCKWISE))들을 포함할 수 있다.The second processor P2 may generate a gesture profile for the user based on the values received from the first processor P1 or determine whether a motion actually taken by the user matches one of the previously generated gesture profiles. . Predefined conditions for determining whether a gesture is a specific gesture may be referred to as a gesture profile by checking whether a motion actually taken by the user to control the host device meets the predefined conditions. For example, the gesture profile may include 8 gesture profiles (LEFT/RIGHT/UP/DOWN MOVE, FORWARD/BACKWARD MOVE, CIRCLE (CLOCKWISE/COUNTERCLOCKWISE)).

일 실시 예에 따라, 전자 장치는 사용자에게 특정 모션 LEFT/RIGHT/UP/DOWN MOVE, FORWARD/BACKWARD MOVE, CIRCLE(CLOCKWISE/COUNTERCLOCKWISE)을 반복해서 취할 것(예를 들면, 도7의 모션들)을 가이드하고 전자 장치는 사용자의 반복된 모션으로부터 획득된 데이터에 기반하여 제스처 프로파일을 저장할 수 있다. 일 실시 예에 따라, 제스처 프로파일은 LEFT/RIGHT, FORWARD/BACKWARD, CIRCLE(CLOCKWISE/COUNTERCLOCKWISE)을 포함하는 6개의 모션 각각에 대해 생성될 수 있다. 도12는 일 실시 예에 따라, 호스트 장치에서 좌측 무브 동작을 표시하고 사용자가 이를 따라함으로써 제스처 프로파일이 생성되는 것을 나타낸다.According to an embodiment, the electronic device instructs the user to repeatedly perform specific motions LEFT/RIGHT/UP/DOWN MOVE, FORWARD/BACKWARD MOVE, CIRCLE (CLOCKWISE/COUNTERCLOCKWISE) (eg, the motions of FIG. 7). The guide and electronic device may store a gesture profile based on data obtained from repeated motions of the user. According to an embodiment, a gesture profile may be generated for each of six motions including LEFT/RIGHT, FORWARD/BACKWARD, and CIRCLE (CLOCKWISE/COUNTERCLOCKWISE). 12 shows that a gesture profile is created by displaying a left move motion in the host device and following it by the user, according to an embodiment.

호스트 장치와 페어링되어 사용자의 모션에 기반한 제어신호를 전송하기 위한 전자 장치는, 가속도 센서, 자이로 센서, 지자기 센서, 메모리, 상기 가속도 센서로부터 수신한 가속도 데이터에 기반하여 좌우 방향의 제1축, 앞뒤 방향의 제2축, 및 위아래 방향의 제3축 각각에 대한 가속도 값들을 획득하고, 상기 자이로 센서로부터 수신한 자이로 데이터에 기반하여 요(Yaw)축, 피치(Pitch)축, 롤(Roll)축 각각에 대한 각속도 값들을 획득하고, 상기 가속도 센서, 상기 자이로 센서, 및 상기 지자기 센서로부터 각각 획득한 가속도 데이터, 자이로 데이터, 및 지자기 데이터에 기반하여 상기 전자 장치의 요(Yaw)축, 피치(Pitch)축, 롤(Roll)축 방향 각각과 수평면 사이의 기울기 값들을 획득하기 위한 제1프로세서, 상기 제1프로세서로부터 수신된 상기 가속도 값, 상기 각속도 값, 및 상기 기울기 값을 실시간으로 획득하고, 상기 피치축에 대한 기울기 값과 롤축에 대한 기울기 값이 기준 이내이면 모션이 준비된 것으로 판단하고, 상기 피치축에 대한 각속도가 기준 값 이상이면 모션이 시작된 것으로 판단하되, 상기 모션의 피치축에 대한 기울기 값이 기준 범위를 벗어나면 예외처리하는 제2프로세서를 포함할 수 있다.An electronic device that is paired with a host device and transmits a control signal based on a user's motion includes an acceleration sensor, a gyro sensor, a geomagnetic sensor, a memory, and a first axis in a left and right direction, forward and backward, based on acceleration data received from the acceleration sensor. Acceleration values for each of the second axis in the direction and the third axis in the up and down direction are acquired, and the yaw axis, pitch axis, and roll axis are obtained based on the gyro data received from the gyro sensor. Each angular velocity value is obtained, and the yaw axis and pitch of the electronic device are obtained based on the acceleration data, gyro data, and geomagnetic data obtained from the acceleration sensor, the gyro sensor, and the geomagnetic sensor, respectively. ) axis, a first processor for obtaining inclination values between each of the roll axis directions and a horizontal plane, obtaining the acceleration value, the angular velocity value, and the inclination value received from the first processor in real time, wherein the If the inclination value for the pitch axis and the inclination value for the roll axis are within the standard, it is determined that the motion is ready, and if the angular velocity with respect to the pitch axis is greater than or equal to the reference value, it is determined that the motion has started, but the inclination value of the motion with respect to the pitch axis A second processor that handles exceptions outside of this standard range may be included.

제스처 레코딩 모드 하에서, 상기 제2프로세서는 모션이 완료된 것으로 판단되면, 상기 모션이 시작 후 완료까지의 선형 가속도 값을 누적 합산한 기준 가속도 값과 상기 모션 시작 후 완료까지의 롤축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 기준 회전량과 상기 모션 시작 후 완료까지의 요축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 기준 간섭량을 획득하여 상기 메모리에 저장할 수 있다.Under the gesture recording mode, when it is determined that the motion is complete, the second processor calculates a reference acceleration value obtained by cumulatively summing linear acceleration values from the start of the motion to the end of the motion and the maximum angular velocity value for the roll axis from the start to the end of the motion. A reference rotation amount obtained by dividing the maximum angular velocity value on the pitch axis and a reference interference amount obtained by dividing the maximum angular velocity value on the yaw axis from the start of the motion to the end by the maximum angular velocity value on the pitch axis can be obtained and stored in the memory.

상기 제2프로세서는, 제스처 인식 모드 하에서, 상기 제2프로세서는 모션이 완료된 것으로 판단되면, 상기 모션이 시작 후 완료까지의 선형 가속도 값을 누적 합산한 값이 상기 기준 가속도 값과 기준 범위 이내로 유사하고, 상기 모션 시작 후 완료까지의 롤축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 회전량이 상기 기준 회전량과 기준 범위 이내로 유사하고, 상기 모션 시작 후 완료까지의 요축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 간섭량이 상기 기준 간섭량과 기준 범위 이내로 유사하면 상기 사용자의 움직임을 상기 모션과 매칭시킬 수 있다.When the second processor determines that the motion is complete under the gesture recognition mode, a value obtained by accumulative sum of linear acceleration values from the start of the motion to the end is similar to the reference acceleration value within a reference range, and , The rotation amount, which is a value obtained by dividing the maximum angular velocity for the roll axis from the start of the motion to the end by the maximum angular velocity for the pitch axis, is similar to the reference rotation amount within a reference range, and the maximum angular velocity for the yaw axis from the start of the motion to the end If the interference amount, which is a value obtained by dividing the value by the maximum angular velocity value with respect to the pitch axis, is similar to the reference interference amount within a reference range, the motion of the user may be matched with the motion.

도13은 일 실시 예에 따라, 좌측 또는 우측 무브 동작의 제스처 프로파일을 생성하는 방법의 흐름도를 나타낸다.13 illustrates a flow diagram of a method for generating a gesture profile of a left or right move action, according to one embodiment.

단계 S200에서 전자 장치는 모션이 준비되었는지 판단할 수 있다. 예를 들어, 피치축에 대한 기울기와 롤축에 대한 기울기가 기준 범위 이내이면 사용자가 모션을 취할 준비가 된 것으로 판단할 수 있다. 그렇지 않으면 대기모드로 돌아간다.In step S200, the electronic device may determine whether motion is ready. For example, if the slope with respect to the pitch axis and the slope with respect to the roll axis are within a reference range, it may be determined that the user is ready to make a motion. Otherwise, it returns to standby mode.

그 다음 단계에서 전자 장치는 모션이 시작되었는지 판단할 수 있다. 예를 들어, 피치축에 대한 각속도가 기준 값 이상이면 모션이 시작되었다고 판단할 수 있다. 그렇지 않으면 대기모드로 돌아간다.In a next step, the electronic device may determine whether motion has started. For example, if the angular velocity with respect to the pitch axis is greater than or equal to the reference value, it may be determined that the motion has started. Otherwise, it returns to standby mode.

단계 S300에서, 전자 장치는 기울기 조건을 판단할 수 있다. 예를 들어, 피치축의 기울기와 롤축의 기울기가 기준 범위를 벗어난다면 대기모드로 돌아간다.In step S300, the electronic device may determine a gradient condition. For example, if the inclination of the pitch axis and the inclination of the roll axis are out of the standard range, it returns to the standby mode.

단계 S400에서, 전자 장치는 모션 완료 시점을 판단할 수 있다. 예를 들어, 모션 시작 후의 각속도 최대값보다 현재 각속도 값이 기준 비율 이하이면 모션이 완료된 것으로 판단할 수 있다.In step S400, the electronic device may determine a motion completion point. For example, it may be determined that the motion is completed when the current angular velocity value is less than or equal to the reference rate than the maximum angular velocity value after the motion starts.

단계 S500에서, 전자장치는 기준 회전량과 기준 간섭량을 계산하여 획득하고 메모리에 저장할 수 있다.In step S500, the electronic device may calculate and obtain a reference rotation amount and a reference interference amount, and store them in a memory.

도14은 일 실시 예에 따라, 사용자의 현재 모션이 좌측 또는 우측 무브 동작의 제스처 프로파일과 부합하는지, 즉 인식하는 방법의 흐름도를 나타낸다.Fig. 14 is a flow diagram of a method for recognizing, ie, whether a current motion of a user matches a gesture profile of a left or right move operation, according to an embodiment.

도14의 방법은 도13과 대부분 동일하나, 마지막 단계에서 기준 회전량과 기준 간섭량을 계산하여 메모리에 저장하는 것이 아니라, 기준 회전량과 기준 간섭량을 계산하여 기 저장된 기준 값과 비교하는 것에 차이가 있다.The method of FIG. 14 is mostly the same as that of FIG. 13, but the difference is that in the last step, the reference rotation amount and reference interference amount are calculated and compared with the previously stored reference values, rather than the reference rotation amount and reference interference amount calculated and stored in memory. there is.

한편, 상술한 컨텐츠 제어 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Meanwhile, the above-described content control method can be implemented as computer readable codes on a computer readable recording medium. Computer-readable recording media include all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. In addition, the computer-readable recording medium is distributed in computer systems connected through a network, so that processor-readable codes can be stored and executed in a distributed manner.

위 설명들은 본 발명을 구현하기 위한 예시적인 구성들 및 동작들을 제공하도록 의도된다. 본 발명의 기술 사상은 위에서 설명된 실시 예들뿐만 아니라, 위 실시 예들을 단순하게 변경하거나 수정하여 얻어질 수 있는 구현들도 포함할 것이다. 또한, 본 발명의 기술 사상은 위에서 설명된 실시 예들을 앞으로 용이하게 변경하거나 수정하여 달성될 수 있는 구현들도 포함할 것이다.The above descriptions are intended to provide exemplary configurations and operations for implementing the present invention. The technical idea of the present invention will include not only the above-described embodiments, but also implementations that can be obtained by simply changing or modifying the above embodiments. In addition, the technical idea of the present invention will also include implementations that can be achieved by easily changing or modifying the embodiments described above in the future.

Claims (2)

호스트 장치와 페어링되어 사용자의 모션에 기반한 제어신호를 전송하기 위한 전자 장치에 있어서,
가속도 센서;
자이로 센서;
지자기 센서;
메모리;
상기 가속도 센서로부터 수신한 가속도 데이터에 기반하여 좌우 방향의 제1축, 앞뒤 방향의 제2축, 및 위아래 방향의 제3축 각각에 대한 가속도 값들을 획득하고, 상기 자이로 센서로부터 수신한 자이로 데이터에 기반하여 요(Yaw)축, 피치(Pitch)축, 롤(Roll)축 각각에 대한 각속도 값들을 획득하고, 상기 가속도 센서, 상기 자이로 센서, 및 상기 지자기 센서로부터 각각 획득한 가속도 데이터, 자이로 데이터, 및 지자기 데이터에 기반하여 상기 전자 장치의 요(Yaw)축, 피치(Pitch)축, 롤(Roll)축 방향 각각과 수평면 사이의 기울기 값들을 획득하기 위한 제1프로세서;
상기 제1프로세서로부터 수신된 상기 가속도 값, 상기 각속도 값, 및 상기 기울기 값을 실시간으로 획득하고, 상기 피치축에 대한 기울기 값과 롤축에 대한 기울기 값이 기준 이내이면 모션이 준비된 것으로 판단하고, 상기 피치축에 대한 각속도가 기준 값 이상이면 모션이 시작된 것으로 판단하되, 상기 모션의 피치축에 대한 기울기 값이 기준 범위를 벗어나면 예외처리하는 제2프로세서를 포함하고,
제스처 레코딩 모드 하에서, 상기 제2프로세서는 모션이 완료된 것으로 판단되면, 상기 모션이 시작 후 완료까지의 선형 가속도 값을 누적 합산한 기준 가속도 값과 상기 모션 시작 후 완료까지의 롤축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 기준 회전량과 상기 모션 시작 후 완료까지의 요축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 기준 간섭량을 획득하여 상기 메모리에 저장하기 위한 제2프로세서를 포함하는 전자 장치.
An electronic device paired with a host device to transmit a control signal based on a motion of a user, comprising:
accelerometer;
gyro sensor;
geomagnetic sensor;
Memory;
Based on the acceleration data received from the acceleration sensor, acceleration values for each of the first axis in the left and right direction, the second axis in the forward and backward direction, and the third axis in the up and down direction are obtained, and the gyro data received from the gyro sensor is obtained. Based on this, angular velocity values for each of the yaw axis, pitch axis, and roll axis are obtained, and acceleration data obtained from the acceleration sensor, the gyro sensor, and the geomagnetic sensor, respectively, gyro data, and a first processor for obtaining inclination values between a horizontal plane and each of a yaw axis, a pitch axis, and a roll axis direction of the electronic device based on geomagnetic data;
The acceleration value, the angular velocity value, and the inclination value received from the first processor are acquired in real time, and if the inclination value with respect to the pitch axis and the inclination value with respect to the roll axis are within a standard, it is determined that the motion is ready; A second processor that determines that the motion has started when the angular velocity with respect to the pitch axis is greater than or equal to a reference value, and handles an exception if the gradient value with respect to the pitch axis of the motion is out of the reference range,
Under the gesture recording mode, when it is determined that the motion is complete, the second processor calculates a reference acceleration value obtained by cumulatively summing linear acceleration values from the start of the motion to the end of the motion and the maximum angular velocity value for the roll axis from the start to the end of the motion. A reference rotation amount obtained by dividing the maximum angular velocity with respect to the pitch axis and a reference interference amount obtained by dividing the maximum angular velocity with respect to the yaw axis from the start of the motion to the end by the maximum angular velocity with respect to the pitch axis, and storing them in the memory. An electronic device containing two processors.
제1항에 있어서,
상기 제2프로세서는, 제스처 인식 모드 하에서, 상기 제2프로세서는 모션이 완료된 것으로 판단되면, 상기 모션이 시작 후 완료까지의 선형 가속도 값을 누적 합산한 값이 상기 기준 가속도 값과 기준 범위 이내로 유사하고, 상기 모션 시작 후 완료까지의 롤축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 회전량이 상기 기준 회전량과 기준 범위 이내로 유사하고, 상기 모션 시작 후 완료까지의 요축에 대한 각속도 최대값을 피치축에 대한 각속도 최대값으로 나눈 값인 간섭량이 상기 기준 간섭량과 기준 범위 이내로 유사하면 상기 사용자의 움직임을 상기 모션과 매칭시키는 전자 장치.
According to claim 1,
When the second processor determines that the motion is complete under the gesture recognition mode, a value obtained by accumulative sum of linear acceleration values from the start of the motion to the end is similar to the reference acceleration value within a reference range, and , The rotation amount, which is a value obtained by dividing the maximum angular velocity for the roll axis from the start of the motion to the end by the maximum angular velocity for the pitch axis, is similar to the reference rotation amount within a reference range, and the maximum angular velocity for the yaw axis from the start of the motion to the end The electronic device matching the motion of the user with the motion when the interference amount, which is a value obtained by dividing the value by the maximum angular velocity value on the pitch axis, is similar to the reference interference amount within a reference range.
KR1020210112721A 2021-08-25 2021-08-25 Method for creating user defined gesture profile based on user's repetitive motion and recognizing gesture KR20230030472A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210112721A KR20230030472A (en) 2021-08-25 2021-08-25 Method for creating user defined gesture profile based on user's repetitive motion and recognizing gesture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210112721A KR20230030472A (en) 2021-08-25 2021-08-25 Method for creating user defined gesture profile based on user's repetitive motion and recognizing gesture

Publications (1)

Publication Number Publication Date
KR20230030472A true KR20230030472A (en) 2023-03-06

Family

ID=85509573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210112721A KR20230030472A (en) 2021-08-25 2021-08-25 Method for creating user defined gesture profile based on user's repetitive motion and recognizing gesture

Country Status (1)

Country Link
KR (1) KR20230030472A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230176243A1 (en) * 2021-12-07 2023-06-08 Microsoft Technology Licensing, Llc Rf antenna scanning for human movement classification

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230176243A1 (en) * 2021-12-07 2023-06-08 Microsoft Technology Licensing, Llc Rf antenna scanning for human movement classification
US11914093B2 (en) * 2021-12-07 2024-02-27 Microsoft Technology Licensing, Llc RF antenna scanning for human movement classification

Similar Documents

Publication Publication Date Title
US11797112B1 (en) Electronic device for controlling host device by using motion signal and mouse signal
US11983326B2 (en) Hand gesture input for wearable system
US10565725B2 (en) Method and device for displaying virtual object
US11188143B2 (en) Three-dimensional object tracking to augment display area
KR101546654B1 (en) Method and apparatus for providing augmented reality service in wearable computing environment
US10915993B2 (en) Display apparatus and image processing method thereof
TWI677814B (en) Wearable watch and display method thereof
CN103975292A (en) Magnetic stylus
CN109074149A (en) For enhance or the wear-type referential of reality environment in image tracing
CN106471450A (en) Messaging device, information processing method and program
JP6197702B2 (en) Input method, program, and input device
KR20230030472A (en) Method for creating user defined gesture profile based on user's repetitive motion and recognizing gesture
CN113498502A (en) Gesture detection using external sensors
US20240019938A1 (en) Systems for detecting gestures performed within activation-threshold distances of artificial-reality objects to cause operations at physical electronic devices, and methods of use thereof
US20240028129A1 (en) Systems for detecting in-air and surface gestures available for use in an artificial-reality environment using sensors at a wrist-wearable device, and methods of use thereof
EP3791253B1 (en) Electronic device and method for providing virtual input tool
KR102397236B1 (en) Method for creating user defined gesture profile based on user's repetitive motions and recognizing gesture
JP5652647B2 (en) Small electronic device, processing method and program
KR20220131658A (en) Wearable device that determines motion signal for controlling host device based on machine learning
US20220253198A1 (en) Image processing device, image processing method, and recording medium
US10809797B1 (en) Calibration of multiple sensor modules related to an orientation of a user of the sensor modules
US10936147B2 (en) Tablet computing device with display dock
KR101759829B1 (en) Interfacing method, wearable device and user terminal using sensor
US20240126369A1 (en) Information processing system and information processing method
CN108646931B (en) Terminal control method and terminal

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application