KR20160050863A - Method for processing sensor value to motion recognition and apparatus using the same - Google Patents
Method for processing sensor value to motion recognition and apparatus using the same Download PDFInfo
- Publication number
- KR20160050863A KR20160050863A KR1020140149963A KR20140149963A KR20160050863A KR 20160050863 A KR20160050863 A KR 20160050863A KR 1020140149963 A KR1020140149963 A KR 1020140149963A KR 20140149963 A KR20140149963 A KR 20140149963A KR 20160050863 A KR20160050863 A KR 20160050863A
- Authority
- KR
- South Korea
- Prior art keywords
- sensor
- motion recognition
- sensor value
- axis
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
Abstract
Description
본 발명은 동작 인식 기술에 관한 것으로, 더욱 상세하게는 동작 인식을 위해 복수의 센서들로부터 수집되는 센서 값과 기 저장된 센서 값을 비교하고, 비교 결과, 데이터 갱신 조건을 만족하는 센서 값을 압축하여 제공하는 동작 인식을 위한 센서 값 처리 방법 및 이를 적용한 동작 인식 장치에 관한 것이다.The present invention relates to a motion recognition technology, and more particularly, to a motion recognition technology in which a sensor value collected from a plurality of sensors is compared with a previously stored sensor value for motion recognition, and a sensor value satisfying a data update condition is compressed And more particularly, to a sensor value processing method for recognizing motion and a motion recognition apparatus using the same.
최근에는 개방형 OS(Operating System)를 탑재함으로써, 휴대전화에 PC(Personal Computer)의 고기능을 결합시킨 스마트폰(Smart Phone)이 대중화되면서, 고기능, 고성능의 스마트폰의 활용 방향에 대한 다양한 시도가 이루어지고 있다.In recent years, with the introduction of an open operating system (OS), a smart phone combining a high function of a personal computer (PC) with a mobile phone has become popular, and various attempts have been made to utilize a smart phone with high function and high performance ought.
특히, 초소형 제작 기술의 발달과 함께 첨단 센서들이 더욱 소형화되고 저렴해지면서 스마트폰에 더 많은 센서들이 탑재될 수 있으며, 이에 증강현실이나 3D(Dimension) 게임 등과 같이 이러한 센서들을 활용한 지능형 애플리케이션들이 많이 개발되고 있다.In particular, with the development of micro-fabrication technology, advanced sensors become more compact and cheaper, and more sensors can be mounted on the smartphone. Intelligent applications utilizing such sensors, such as augmented reality and 3D (Dimension) Is being developed.
아울러, 스마트폰에 탑재되는 센서들이 단순히 주변환경을 감지하는 장치에서 사용자의 신체 변화, 감정상태까지 고려하는 지능형 센서로서 진화하여 인간과 감성을 교감할 수 있는 핵심 매개체 역할을 담당할 수 있을 것으로 전망됨에 따라서, 센서들을 활용한 지능형 애플리케이션들은 더 많이 증대될 것으로 예측된다.In addition, sensors mounted on smart phones will be able to play a key role in communicating emotions with human beings by evolving into an intelligent sensor that takes into consideration user's physical changes and emotional states in a device that senses the surrounding environment. As a result, intelligent applications utilizing sensors are expected to grow even more.
스마트폰에 탑재되는 센서로서, 카메라(이미지) 센서, 음향 센서, 근접 센서, 조도 센서, 중력 센서, GPS(Global Positioning System) 센서, 가속도 센서, 자이로(Gyro) 센서, 지자기 센서 등이 있다.As sensors mounted on smart phones, there are camera (image) sensor, acoustic sensor, proximity sensor, illuminance sensor, gravity sensor, Global Positioning System (GPS) sensor, acceleration sensor, gyro sensor and geomagnetic sensor.
이 중에서, 카메라(이미지) 센서는 빛을 감지해 그 세기의 정도를 디지털 영상 데이터로 변환해 주는 센서로, 얼굴 인식 등에 이용될 수 있으며, 음향센서는 물리적인 소리를 공기 압력의 변화에 의해 전기적인 신호로 변환하는 센서로서, 음성인식 기반의 서비스에 이용될 수 있으며, 근접센서는 기계적인 접촉에 의한 검출방식이 아니라 검출체가 가까이 근접했을 때 검출 대상물체의 유무를 판별하는 무첩촉 방식의 검출 센서로서, 보통 통화를 위해 스마트폰을 얼굴에 가까이 가져가거나 주머니 등에 넣는 경우 화면이 자동으로 종료되는 기능 등에 활용된다.Among them, a camera (image) sensor is a sensor that detects light and converts the intensity of the light into digital image data, which can be used for face recognition and the like. The proximity sensor is not a detection method by mechanical contact but a proximity sensor which detects presence or absence of an object to be detected when the detection object comes close to the proximity sensor As a sensor, it usually functions to automatically close the screen when the smartphone is brought close to the face for a call or is put in a pocket or the like.
그리고, 조도센서는 주변 밝기를 감지하는 센서로서, 통상 모바일 단말의 전력소모량을 줄이고 눈의 피로감을 덜 수 있도록 밝은 곳에서는 화면 조도를 높이고 어두운 곳에서는 낮추도록 설정하는데 이용되고, 중력센서는 중력이 어느 방향으로 작용하는 지를 탐지해 물체 움직임을 감지하는 센서로서, 스마트폰의 디스플레이 방향(가로, 세로)을 판단해 스크린의 방향을 자동으로 보정해 주는 역할 등에 사용된다.In addition, the ambient light sensor is a sensor for sensing the ambient brightness. In general, it is used to reduce the power consumption of the mobile terminal and to reduce the fatigue of the eyes. In the light environment, It is a sensor that senses the direction of motion and senses the movement of objects. It is used to automatically correct the direction of the screen by determining the display direction (horizontal and vertical) of the smartphone.
또한, GPS 센서는 위성위치 확인 시스템을 통해 물체의 시간 및 위치 정보 수집이 가능한 센서로서, 다양한 위치 기반 서비스에 활용되고, 가속도 센서는 단위시간당 물체 속도의 변화, 충격 등 동적 힘의 변화를 감지하는 센서로서, 최근에는 MEMS(Micro Electro Mechanical Systems) 기술을 적용한 3축 가속도 센서가 보편화되고 있으며 기울기 변화, 흔들림 등 물체 움직임까지도 감지가 가능해졌으며, 지자기 센서는 지구 자기장의 흐름을 파악해 나침반처럼 방위각을 탐지하는 센서이고, 자이로 센서는 물체의 관성력을 전기신호로 검출하며, 주로 회전각을 감지하는 센서로서, 높이와 회전, 기울기 등을 직접 감지할 수 있어 3축 가속도 센서와 연계할 경우, 보다 정교한 동작 인식이 가능하다.In addition, the GPS sensor is a sensor capable of collecting time and position information of an object through a satellite positioning system. The GPS sensor is used for various location-based services. The acceleration sensor senses a change in an object speed per unit time, In recent years, three-axis acceleration sensors using MEMS (Micro Electro Mechanical Systems) technology have become popular, and even object movements such as tilt change and shake can be detected. The geomagnetic sensor detects the azimuth angle like a compass The gyro sensor detects the inertial force of an object as an electric signal and mainly detects the rotation angle. It can detect the height, the rotation, and the tilt directly. Therefore, when combined with the 3-axis acceleration sensor, Recognition is possible.
사용자의 다양한 동작을 정확하게 인식하기 위해서는 각 센서의 동작 상태를 온(On)으로 유지하여야 하며, 빠른 샘플링 레이트(Sampling rate)의 간격으로 수집되는 센서 측정 값을 취합하여 동작 인식 연산을 수행하게 된다. 센서들은 아주 짧은 샘플링 레이트 값에 따라 센서 로우 데이터(raw data)를 수집하여 중앙처리장치(CPU)에게 실시간으로 전달하게 되고, 중앙처리장치는 전달된 센서 로우 데이터들을 이용한 연산을 수행하게 된다.In order to accurately recognize the various operations of the user, the operation state of each sensor should be kept on and the sensor recognition values collected at a sampling interval of a fast sampling rate are collected to perform an operation recognition operation. The sensor collects sensor raw data according to a very short sampling rate value and delivers it to the central processing unit (CPU) in real time, and the central processing unit performs calculation using the transmitted sensor low data.
하지만, 센서 값의 차이가 크지 않은 즉, 비슷한 센서의 로우 데이터들을 실시간으로 계속 연산하게 되면, 불필요한 중앙처리장치 자원 및 메모리의 소모를 야기할 수 있고, 이로 인하여 단말(동작 인식 장치)의 배터리 및 단말 전체의 성능이 저하되는 문제가 발생하게 된다.However, if the difference of the sensor values is not large, that is, when continuous calculation of the raw data of similar sensors is performed in real time, unnecessary central processing unit resources and memory may be consumed. As a result, The performance of the entire terminal deteriorates.
이러한 종래의 문제점을 해결하기 위하여, 본 발명의 목적은 동작 인식 장치에 탑재된 센서들을 활용하여 동작 인식 연산을 수행하는데, 많은 센서의 로우 데이터들이 짧은 시간 동안 주기적으로 수집되어 이들을 통해 실시간으로 연산됨으로써 발생하는 중앙처리장치의 오버헤드 및 배터리 소모 문제를 해결하고자 한다.In order to solve such conventional problems, an object of the present invention is to perform operation recognition calculation using sensors mounted on an operation recognition device, in which raw data of many sensors are periodically collected for a short period of time, And solve the problem of overhead and battery consumption of the central processing unit.
특히, 본 발명은 센서로부터 전달되는 로우 데이터들을 중앙처리장치에 전달하기 전에 필터링 및 압축 과정을 수행하여 전체 데이터 길이 및 데이터 양을 줄일 수 있고, 동작 인식 장치의 자체 성능 저하를 방지함과 동시에, 네트워크를 이용한 데이터 공유 및 원격 인식 등의 측면에서도 네트워크 트래픽을 줄이고자 하는 동작 인식을 위한 센서 값 처리 방법 및 이를 적용한 동작 인식 장치를 제공하고자 한다.In particular, the present invention can reduce the total data length and the amount of data by performing filtering and compression processes before delivering raw data from a sensor to a central processing unit, A sensor value processing method for recognizing an operation for reducing network traffic in terms of data sharing and remote recognition using a network, and a motion recognition apparatus using the sensor value processing method.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 동작 인식을 위한 센서 값 처리 방법은 동작 인식 장치가 복수의 센서들에 대한 센서 값(raw data)을 수집하는 단계와, 동작 인식 장치가 수집된 센서 값과 이전에 수집된 센서 값을 각 센서의 축 별로 설정된 쓰레스 홀드(Threshold) 범위를 참조하여 비교하는 단계와, 동작 인식 장치가 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 센서 값만을 필터링하는 단계 및 동작 인식 장치가 필터링된 센서 값을 압축하여 전달하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, there is provided a method of processing sensor values for motion recognition, the method comprising: collecting raw data for a plurality of sensors; Comparing the collected sensor value and the previously collected sensor value with reference to a threshold range set for each axis of each sensor, and a step of comparing the sensed sensor value with a sensor And a step of compressing and transmitting the filtered sensor value by the operation recognizing device. The present invention also provides a computer readable recording medium on which a program is recorded.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 수집하는 단계는 동작 인식 장치가 수집된 센서 값을 각 센서 별 특징을 고려하여 샘플링 주기에 따라 수집하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, there is provided a method of processing a sensor value for operation recognition, wherein the collecting comprises: recording a program for performing a step of collecting sensor values collected by the motion recognition device in accordance with sampling periods, A computer readable recording medium is provided.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 수집하는 단계는 동작 인식 장치가 센서의 각 축 별 개수를 확인하는 단계와, 동작 인식 장치가 확인된 각 축 별 개수만큼 각 센서의 축 별로 측정되는 센서 값과, 측정된 센서 값에 따른 버퍼 메모리의 데이터 변경 여부를 확인할 수 있는 플래그(flag)를 포함하는 버퍼 메모리를 생성하는 단계 및 동작 인식 장치가 수집된 센서 값을 각 센서의 축에 대응하는 버퍼 메모리에 저장하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, there is provided a sensor value processing method for recognizing an operation, comprising the steps of: recognizing a number of each axis of a sensor by an operation recognition device; Generating a buffer memory including a sensor value measured for each axis of the sensor and a flag for checking whether the data of the buffer memory is changed according to the measured sensor value, In a buffer memory corresponding to an axis of the computer.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 비교하는 이전에, 동작 인식 장치가 각 센서의 축 별로 쓰레스 홀드 범위를 지정하는 단계 및 동작 인식 장치가 지정된 쓰레스 홀드 범위를 각 센서 별 축에 대응하는 테이블 형태로 생성하여 관리하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, there is provided a sensor value processing method for recognizing motion, comprising the steps of: a motion recognition device designating a threshold range for each axis of each sensor; And generating and managing the table in the form of a table corresponding to an axis for each sensor.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 필터링하는 단계는 동작 인식 장치가 비교 결과, 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 경우, 버퍼 메모리의 플래그를 변경하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.In the sensor value processing method for recognizing an operation according to the present invention, the step of filtering may include the step of changing the flag of the buffer memory when the operation recognition apparatus compares the data update condition of the preset buffer memory as a result of the comparison There is provided a computer readable recording medium recording a program to be executed.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 갱신하는 단계는 동작 인식 장치가 버퍼 메모리의 데이터 갱신 조건을 만족하지 않는 경우, 기 저장된 센서 값을 적용하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.In the sensor value processing method for recognizing an operation according to the present invention, the updating step may include a program for executing the step of applying the pre-stored sensor value when the motion recognition device does not satisfy the data update condition of the buffer memory There is provided a computer-readable recording medium having recorded thereon.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 전달하는 단계는 동작 인식 장치가 버퍼 메모리의 데이터 변경 여부를 확인하는 단계 및 동작 인식 장치가 버퍼 메모리의 데이터 중 특정 센서의 축에 대한 센서 값이 변경되지 않은 경우, 해당 센서의 축에 대한 플래그 값만을 압축하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.In the sensor value processing method for recognizing an operation according to the present invention, the transmitting step may include a step of confirming whether or not the operation recognizing device changes the data in the buffer memory, And compressing only the flag value for the axis of the sensor when the sensor value for the sensor is not changed.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 전달하는 단계는 동작 인식 장치가 동작 인식을 수행한 후, 동작 인식에 적용된 센서 값의 해당 축에 대한 플래그를 변경하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.In the sensor value processing method for recognizing an operation according to the present invention, the step of transmitting may include a step of changing a flag for a corresponding axis of the sensor value applied to the recognition of the motion after the motion recognition device performs the motion recognition A computer readable recording medium on which a program is recorded.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 전달하는 단계는 동작 인식 장치가 센서 값에 대한 압축된 데이터 포맷을 네트워크를 통해 적어도 하나의 다른 동작 인식 장치로 전달하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.In the sensor value processing method for recognizing motion according to the present invention, the step of conveying may include the step of conveying the compressed data format of the sensor value to at least one other motion recognition device through the network A computer readable recording medium on which a program is recorded.
또한, 본 발명에 따른 동작 인식을 위한 센서 값 처리 방법에 있어서, 전달하는 단계는 동작 인식 장치가 각 센서의 축 별로 다르게 쓰레스 홀드 범위를 설정하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.In the sensor value processing method for recognizing an operation according to the present invention, the transmitting step may include a step of setting a threshold range differently for each axis of each sensor, Lt; / RTI >
본 발명의 실시 예에 따른 동작 인식 장치는 복수의 센서들에 대한 센서 값(raw data)을 수집하는 센서 값 수집모듈 및 센서 값 수집모듈을 통해 수집된 센서 값과 이전에 수집된 센서 값을 각 센서의 축 별로 설정된 쓰레스 홀드(Threshold) 범위를 참조하여 비교하고, 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 센서 값만을 필터링하고, 필터링된 센서 값을 압축하여 전달하는 연산모듈을 포함하는 것을 특징으로 한다.The motion recognition apparatus according to an embodiment of the present invention includes a sensor value collection module for collecting sensor data (raw data) for a plurality of sensors, and a sensor value collection module for collecting sensor values And a computation module that compares the threshold value of each sensor axis by referring to a threshold range set for each axis of the sensor and filters only sensor values satisfying the data update condition of the preset buffer memory and compresses and transmits the filtered sensor value .
또한, 본 발명에 따른 동작 인식 장치에 있어서, 센서 값에 대한 압축된 데이터 포맷을 공유하기 위하여 네트워크를 통해 적어도 하나의 다른 동작 인식 장치로 전달하는 통신모듈을 더 포함하는 것을 특징으로 한다.In addition, the motion recognition device according to the present invention may further include a communication module for transmitting the compressed data format for the sensor value to at least one other motion recognition device through the network.
본 발명에 따르면, 동작 인식 장치에 탑재되는 센서들을 활용하여 동작 인식 연산을 수행함에 있어, 많은 센서의 로우 데이터들이 짧은 주기의 시간 동안 수집되어 실시간으로 연산하게 됨으로써 발생하는 중앙처리장치의 오버헤드 및 배터리 소모 문제를 해결할 수 있다.According to the present invention, in performing an operation recognition operation using sensors mounted on the motion recognition apparatus, the overhead of the central processing unit, which is generated when the raw data of many sensors are collected during a short period of time and operated in real time, The problem of battery drain can be solved.
또한, 센서들로부터 전달되는 로우 데이터들을 중앙처리장치로 전달하기 전에 버퍼 메모리 공간에 저장하고, 압축하여 전체 데이터 길이 및 양을 줄일 수 있기 때문에, 동작 인식 장치의 자체 성능 저하를 방지할 수 있다. 이를 통하여 센서가 제공하는 축 수에 비례하여 축 별로 압축 성능도 향상시킬 수 있다.In addition, since the row data transmitted from the sensors can be stored in the buffer memory space before being transmitted to the central processing unit, and the total data length and amount can be reduced, the performance degradation of the motion recognition apparatus can be prevented. In this way, the compression performance can be improved for each axis in proportion to the number of axes provided by the sensor.
또한, 웨어러블 디바이스(Wearable Device) 및 외부의 다른 동작 인식 장치와 연동 시 변화된 센서 값만을 압축하여 전달하면 되므로, 표현하는 값의 범위가 작게되어 불필요한 데이터 트래픽을 발생시키지 않고, 적은 메모리 공간만을 사용할 수 있기 때문에 높은 호환성을 가질 수 있다.In addition, since only a sensor value changed when a wearable device and other external motion recognition devices are interlocked can be compressed and transmitted, a range of values to be displayed is reduced, so that unnecessary data traffic is not generated, So you can have high compatibility.
도 1은 본 발명의 실시 예에 따른 동작 인식 위한 기준 좌표계 및 움직임 정보를 나타내는 도면이다.
도 2는 본 발명에 따른 동작 인식 장치의 구성을 나타내는 블록도 이다.
도 3은 본 발명의 실시 예에 따른 동작 인식을 위한 센서 값 처리 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명에 따른 센서 값 처리를 위한 센서 별 샘플링 레이트를 설명하기 위한 도면이다.
도 5는 본 발명에 따른 버퍼 메모리를 설명하기 위한 테이블이다.
도 6은 본 발명에 따른 쓰레스 홀드를 설명하기 위한 테이블이다.
도 7은 본 발명에 따른 버퍼 메모리의 데이터 압축 과정의 일 예를 설명하기 위한 도면이다.1 is a diagram illustrating reference coordinate systems and motion information for motion recognition according to an embodiment of the present invention.
2 is a block diagram showing a configuration of a motion recognition apparatus according to the present invention.
3 is a flowchart illustrating a sensor value processing method for recognizing an operation according to an embodiment of the present invention.
4 is a view for explaining a sensor-specific sampling rate for sensor value processing according to the present invention.
5 is a table for explaining a buffer memory according to the present invention.
6 is a table for explaining a threshold according to the present invention.
7 is a diagram for explaining an example of a data compression process of the buffer memory according to the present invention.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings and the inventor is not limited to the concept of terminology for describing his or her invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. are used to describe various elements, and are used only for the purpose of distinguishing one element from another, Not used. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when referring to an element as being "connected" or "connected" to another element, it means that it can be connected or connected logically or physically. In other words, it is to be understood that although an element may be directly connected or connected to another element, there may be other elements in between, or indirectly connected or connected.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is also to be understood that the terms such as " comprising "or" having ", as used herein, are intended to specify the presence of stated features, integers, It should be understood that the foregoing does not preclude the presence or addition of other features, numbers, steps, operations, elements, parts, or combinations thereof.
아울러, 본 발명에 따른 사용자 동작 인식을 위한 센서 값 처리 방법 및 이를 적용한 동작 인식 장치는 사용자 동작 인식, 로봇 제어 등 다양한 분야에 적용될 수 있으나, 이하에서는 사용자 단말(동작 인식 장치)에 적용된 경우를 예로 들어 설명하기로 한다. 특히, 본 발명의 실시 예에 따른 사용자 단말은 이동통신단말기를 대표적인 예로서 설명하지만 사용자 단말은 이동통신단말기에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 또한, 단말기는 휴대폰, PMP(Portable Multimedia Player), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net book) 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기일 때 유리하게 활용될 수 있다.In addition, the sensor value processing method for recognizing the user's actions according to the present invention and the motion recognition device using the same can be applied to various fields such as user's motion recognition and robot control. Hereinafter, the present invention is applied to a user terminal I will explain it. In particular, although the user terminal according to the exemplary embodiment of the present invention describes a mobile communication terminal as a representative example, the user terminal is not limited to a mobile communication terminal but may be any information communication device, a multimedia terminal, a wired terminal, ) Terminals and the like. Also, the terminal may be a mobile phone, a portable multimedia player (PMP), a mobile Internet device (MID), a smart phone, a desktop, a tablet PC, a notebook, And an information communication device, which can be advantageously used in a mobile terminal having various mobile communication specifications.
동작 인식 장치(사용자 단말)에서의 동작 인식은 기 정의된 특정 움직임(뒤집기, 특정 방향으로 흔들기, 특정 패턴 그리기, 사용자 접근)을 감지하여 사용자 단말의 특정 기능을 제어하기 위한 용도로 이용되는 것으로서, 사용자 단말의 움직임은, 도 1과 같은 3차원 직각 좌표계를 통해, 방위각(Azimuth), 피치(Pitch), 롤(Roll)로 나타낼 수 있다.The motion recognition in the motion recognition device (user terminal) is used for controlling a specific function of the user terminal by sensing a predetermined motion (flipping, wiggling in a specific direction, drawing a specific pattern, user access) The motion of the user terminal can be represented by an azimuth, a pitch, and a roll through a three-dimensional rectangular coordinate system as shown in FIG.
즉, 도 1에 도시된 바와 같이, 사용자 단말(동작 인식 장치; 10)의 가로 방향을 X축, 세로 방향을 Y축, 폭 방향을 Z축이라 할 때, 방위각은, 동작 인식 장치(10)가 향하는 방향(동, 서, 남, 북)에 따라서 Z축을 기준으로 0 ~ 360°또는 -180°~ 180°로 나타내며, 피치는 가로축 기준 회전각으로서, 동작 인식 장치(10)가 세워진 형태에 따라서 -90°~ 90°로 나타내며, 롤은 세로축 기준 회전각으로서, 동작 인식 장치(10)가 뉘어진 형태에 따라서 -180°~ 180°로 나타낸다.1, when the transverse direction of the user terminal (motion recognition device) 10 is defined as the X axis, the longitudinal direction as the Y axis, and the width direction as the Z axis, the azimuth angle is determined by the
물론, 동작 인식 장치(10)에 있어서, 기준 좌표계 및 움직임의 표현 방법은 달라질 수 있는 것으로서, 상술한 정의는 예시에 불과하다.Of course, in the
본 발명은 이러한 동작 인식 장치(10)의 움직임을 세부 동작으로 구분하여 인식하기 위한 것으로서, 이러한 기능을 수행하기 위해 본 발명에 따른 동작 인식 장치(10)는 도 2에 도시된 바와 같이 구성될 수 있다.The
도 2는 본 발명에 따른 동작 인식 장치(10)를 나타내는 블록도 이다.2 is a block diagram showing a
도 2를 참조하면, 본 발명에 따른 동작 인식 장치(10)는 센서모듈(100), 센서 값 수집모듈(200), 연산모듈(300), 동작 인식모듈(400), 버퍼 메모리(500) 및 통신모듈(600)을 포함하여 구성될 수 있다. 여기서, 연산모듈(300)은 그 동작을 수행하는 기능에 따라 버퍼 메모리 관리모듈(310), 비교모듈(320) 및 데이터 압축모듈(330)로 구분될 수 있다.2, the
센서모듈(100)은 가속도 센서, 자이로 센서를 통해 위치와 동작의 변화를 감지하기 위한 센서 값을 수집하며, x, y, z 축의 로우(Raw) 데이터, 방위각(Azimuth), 롤(Roll) 및 피치(Pitch)에 대한 정보를 제공한다. 특히, 가속도 센서는 지구에 작용하는 중력가속도의 값도 측정이 가능하며, 이를 통해 동작 인식 장치(10)가 어떻게 놓여있는지 판단 가능하다. 예를 들어, 동작 인식 장치(10)가 지면 위에 눕혀져 있으면, z 축이 중력가속도의 영향을 받게 되어 약 1G(=9.8m/s2)의 값을 출력하게 된다. 이러한 특성을 활용하여 동작 인식 장치(10)의 Pitch(z축 기준 회전각), Roll(y축 기준 회전각) 등의 절대각도를 파악할 수 있다.The
자이로 센서는 가속도 센서와 마찬가지로 3개의 축(x, y, z 축)을 통해 동작 인식 장치(10)의 회전각속도를 측정한다. 자이로 센서를 통해 동작 인식 장치(10)가 어느 방향으로 어떤 속도로 회전했는지 파악이 가능하다. 이때, 자이로 센서는 동작 인식 장치(10)가 움직이지 않을 경우에는 0에 수렴하는 값을 출력하고, 동작 인식 장치(10)가 회전하는 경우에 각 축의 기준으로 회전 정도를 값으로 표현한다. 이를 통해 동작 인식 장치(10)가 실제로 회전했는지의 여부를 판단할 수 있다.The gyro sensor measures the rotational angular velocity of the
지자기 센서는 지구에 작용하는 자기장의 세기를 x, y, z 축에서 측정하고, 측정된 값을 연산하여 현재 동작 인식 장치(10)가 위치하는 곳의 자기장 세기 및 자북 방향을 측정하는 나침반 기능을 제공한다.The geomagnetic sensor measures the intensity of the magnetic field acting on the earth in the x, y, and z axes, And provides a compass function for measuring the magnetic field intensity and magnetic north direction at the position where the current
센서모듈(100)은 동작 인식 장치(10)에 탑재된 조도 센서와 근접 센서도 함께 활용한다. 여기서, 조도 센서는 동작 인식 장치(10)의 화면을 바라볼 때, 측정되는 빛의 양(Lux)을 측정하며, 근접 센서는 동작 인식 장치(10)의 화면에 근접한 사물 여부 확인, 근접할 경우에는 실제 사물과의 거리 혹은 0 값을 출력한다.The
특히, 조도 센서는 일정한 조도의 값 변화를 파악한다. 이때, 동작 인식 장치(10)의 화면이 위쪽(하늘 방향)을 바라보게 되는 경우에는 조도가 높고, 동작 인식 장치가 움직임으로써, 다른 방향을 바라보게 될 경우 조도의 차이가 명확하게 나는 경우가 많으므로, 평균 조도 값을 측정한 뒤 상황에 따라 일정한 기준 값 변화(delta)가 감지되는 경우 움직임을 판단한다.Particularly, the illuminance sensor grasps the change in the value of the constant illuminance. At this time, when the screen of the
근접 센서는 동작 인식 장치(10)가 움직임으로써, 근접 센서의 축도 같이 회전하게 되므로, 근처의 사물을 판단하여 움직임 변화를 감지하는데 도움을 준다. 그리고, 근접 센서는 센서 값의 변화(delta)를 감지하여 움직임을 판단한다.Since the proximity sensor rotates as the axis of the proximity sensor by moving the
센서 값 수집모듈(200)은 복수의 센서모듈(100)로부터 감지되는 센서 값을 수집하기 위한 구성이다. 이때, 센서 값 수집 모듈(200)은 일정 주기로 복수의 센서모듈(100) 중 하나 이상의 센서로부터 센서 값을 수집할 수 있으며, 수집한 센서 값은 센서에 따라서 상이한 단위를 가질 수 있다. 예를 들어, 조도 센서의 센서 값은, 조도의 양(Lux)를 나타내고, 근접 센서의 센서 값은, 근접한 사물과의 거리 및/또는 근접 여부를 나타낸다. 또한, 3축 가속도 센서의 센서 값은 3축(x, y, z) 방향으로의 가속도 값을 나타낸다. 또한, 3축 자이로 센서의 센서 값은 3축(x, y, z)에 방향으로의 각속도를 나타낸다. 또한, 지자기 센서의 센서 값은 지자기의 방향을 나타낸다. 특히, 본 발명에 따른 센서 값 수집모듈(200)은 복수의 센서들에 대한 센서 값의 로우 데이터(raw data)을 수집한다. 이때, 센서 값 수집모듈(200)은 센서 값에 대한 각 센서 별 특징을 고려하여 부동 소수점(float) 형태로 수집한다. 즉, 센서 값 수집모듈(200)은 동작 인식 장치(10)에 탑재된 각 센서들의 샘플링 레이트(ex. 10ms, 20ms) 대로 실시간으로 센서 측정 값을 수집하며, 동작 인식 장치(10)에서의 센서는 항상 센서 값 수집을 위한 대기 중에 있고, 각 센서의 축 별로 측정된 값을 동작 인식 장치(10)로 바로 전달한다. 따라서, 센서 값 수집모듈(200)은 여러 개의 센서를 사용하는 경우, 아주 짧은 시간 동안 하나의 센서 값씩 따로 수집하게 된다.The sensor
그리고, 센서 값 수집모듈(200)은 각 축의 값이 센서 별 민감한 특징을 고려하여 정수(Integer) 형태가 아닌 부도 소수점(Float) 형태로 제공하는데, 이러한 이유는 소수점 이하의 아주 작은 값으로도 어플리케이션(Application)에서 제공하는 서비스나 기능의 편차 및 신뢰도의 차이가 많이 발생할 수 있기 때문이다.In addition, the sensor
연산모듈(300)은 동작 인식 장치(10)의 센서 값을 동작 인식 과정에 적용하기 위한 모든 연산 과정을 수행한다. 이를 위해, 연산모듈(300)은 각 기능에 따라 버퍼 메모리 관리모듈(310), 비교모듈(320) 및 데이터 압축모듈(330)로 구분하여 보다 효과적으로 연산을 수행할 수 있다.The
특히, 본 발명에 따른 연산모듈(300)은 센서 값 수집모듈(200)을 통해 수집된 센서 값을 각 센서의 축에 대응하는 버퍼 메모리에 저장한다. 이에 앞서, 연산모듈(300)은 센서의 각 축 별 개수를 확인하고, 확인된 각 축 별 개수만큼 버퍼 메모리를 생성한다. 여기서, 버퍼 메모리는 각 센서의 축 별로 측정되는 센서 값과, 측정된 센서 값에 따른 버퍼 메모리의 데이터 변경 여부를 확인할 수 있는 플래그(flag)로 구성된다. 여기서, 플래그는 버퍼 메모리의 값이 갱신된 상태를 확인할 수 있는 변수로서, 버퍼 메모리의 값이 갱신된 경우에는 플래그를 '1'로 변경하고, 변경되지 않은 경우에는 플래그를 '0'으로 설정한다.In particular, the
연산모듈(300)은 버퍼 메모리에 저장된 센서 값과 샘플링 레이트에 따라 다음 주기에 수집되는 각 센서의 축 별 센서 값을 쓰레스 홀드(Threshold; 임계 값) 범위를 참조하여 비교한다. 한편, 연산모듈(300)은 비교 이전에, 각 센서의 축 별로 부동 소수점 형태로 표현되는 쓰레스 홀드 범위를 지정하고, 지정된 쓰레스 홀드 범위를 각 센서 별 축에 대응하는 테이블 형태로 생성하여 관리한다.The
즉, 연산모듈(300)은 각 센서의 샘플링 레이트 간격으로 실시간 측정된 센서 값들과 버퍼 메모리에 저장된 각 센서의 축 별 값과의 비교 과정을 수행한다. 이 과정은 연산 모듈(300)이 각 센서의 쓰레스 홀드를 설정하여, 쓰레스 홀드 범위 내에 측정된 센서 값들은 무시하고, 버퍼 메모리에 저장된 센서 값을 그대로 사용하기 위한 과정이다.That is, the
예를 들어, 연산모듈(300)은 동작 인식 장치(10)가 지면에 그대로 놓여져 있는 상태에서 자연적으로 발생하는 변동(Fluctuation) 범위를 제한한다. 즉, 동작 인식 장치(10)는 동작 변화가 없는 상태에서는 민감한 센서에 대하여 소수점 이하의 아주 작은 편차를 보이면서 측정 값을 전달하게 되는데, 이러한 아주 작은 편차는 무시하기 위함이다. 또한, 동작 인식 장치(10)는 쓰레스 홀드를 각 센서의 각 축 별로 설정한다. 따라서, 센서 A와 센서 B의 쓰레스 홀드는 상이하다. 또한, 동작 인식 장치(10)는 쓰레스 홀드를 부동 소수점 형태로 표현하며, ± 부호를 고려하여 쓰레스 홀드 값의 범위를 정의한다.For example, the
연산모듈(300)은 비교 결과, 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 경우, 해당 센서의 축에 대한 버퍼 메모리의 데이터를 갱신한다. 여기서, 연산모듈(300)은 버퍼 메모리의 데이터 갱신 여부를 확인하고, 버퍼 메모리의 데이터가 갱신된 경우, 버퍼 메모리의 플래그도 함께 변경한다. 한편, 연산모듈(300)은 버퍼 메모리의 데이터 갱신 조건을 만족하지 않는 경우, 다음 주기에 수집된 센서 값을 버퍼 메모리의 데이터에 미적용한다.The
즉, 연산모듈(300)은 최초 버퍼 메모리에 각 센서의 축 별로 측정된 센서 값이 저장된 후, 샘플링 레이트에 의해 다음 주기에 센서 값이 측정되면, 측정된 센서 값을 버퍼 메모리에 저장된 값과 비교하기 위하여 쓰레스 홀드 테이블을 참조하여 새로 측정된 센서 값이 쓰레스 홀드 범위 내에 존재하는지 확인한다. 만약, 센서 측정 값이 쓰레스 홀드의 범위를 적용한 갱신 조건을 만족하지 않으면, 연산모듈(300)은 새로 측정된 센서 값은 버리고, 버퍼 메모리를 그대로 유지한다. 이때, 연산모듈(300)은 해당 센서의 축에 대한 플래그도 '0'으로 유지한다.That is, when the sensor value measured for each axis of each sensor is stored in the initial buffer memory and then the sensor value is measured in the next cycle by the sampling rate, the
연산모듈(300)은 갱신된 버퍼 메모리의 데이터에 포함된 센서 값을 압축한다. 여기서, 연산모듈(300)은 버퍼 메모리의 데이터 변경 여부를 확인한다. 그리고, 연산모듈(300)은 버퍼 메모리의 데이터 중 특정 센서의 축에 대한 센서 값이 변경되지 않은 경우, 해당 센서의 축에 대한 플래그 값만을 압축한다. 즉, 연산모듈(300)은 버퍼 메모리의 값이 변경되지 않은 경우, 센서 측정 값을 데이터 포맷에 그대로 넣지 않고, 1Byte 길이의 플래그 값인 '0'만 포함시킨다.The
연산모듈(300)은 압축된 센서 값을 동작 인식모듈(400)로 전달한다. 또한, 연산모듈(300)은 센서 값에 대한 압축된 데이터 포맷을 네트워크를 통해 다른 동작 인식 장치로 전달할 수 있다. 한편, 연산모듈(300)은 동작 인식모듈(400)을 통해 동작 인식을 수행한 후, 동작 인식에 적용된 센서 값의 해당 축에 대한 플래그를 변경한다. 즉, 연산모듈(300)은 버퍼 메모리에서 플래그가 '1'로 세팅된 센서의 축 별 값은 센서 연산을 수행한 후에 다시 '0'으로 세팅 된다.The
연산모듈(300)은 다른 동작 인식 장치와의 센서 값 공유 여부를 확인한다. 센서 값 공유가 요청되면, 연산모듈(300)은 센서 값에 대한 데이터 포맷을 확인한다. 그리고, 연산모듈(300)은 네트워크를 통해 센서 값을 다른 장치로 전송한다. 만약, 연산모듈(300)은 네트워크로 데이터를 전달할 경우에도 압축된 데이터 포맷을 그대로 전달하는데, 정의된 데이터 포맷을 TCP/UDP 및 IP 헤더를 추가하여 전달한다. 이때, 플래그 값이 '0'으로 설정된 센서의 축 별 값은 다른 동작 인식 장치에서 이전에 받은 로우 데이터로 간주하여 연산을 수행할 수 있게 한다.The
동작 인식모듈(400)은 연산모듈(300)을 통해 압축된 센서 값을 이용하여 동작 인식을 수행한다. 여기서, 동작 인식모듈(400)은 센서 이름과 각 축의 값을 확인하는데, 1 Byte의 '0' 값으로 설정된 축에 대해서는 기존 연산에 수행되었던 값과 동일하므로, 버퍼 메모리에 저장된 해당 축의 값이 저장된 주소를 바로 참조하여 센서 값을 확인한다. 또한, 동작 인식모듈(400)은 해당 센서의 모든 축의 값이 '0'으로 설정되어 있는 경우, 동작 인식을 수행하지 않는다. 즉, 동작 인식모듈(300)은 모든 축들이 이전에 수집된 센서 값과 차이가 나지 않는 경우이므로, 새로 연산을 수행할 필요가 없다고 판단하며, 이전에 수행한 값으로 계속 유지한다.The
통신모듈(600)은 다양한 통신망을 통해 다른 장치 및 서버와 데이터를 송수신하기 위한 기능을 수행한다. 특히, 본 발명에 따른 통신모듈(600)은 센서 값에 대한 압축된 데이터 포맷을 공유하기 위하여 네트워크를 통해 다른 동작 인식 장치로 전달한다.The
한편, 본 발명의 실시 예에 따른 동작 인식 장치(10)는 필요에 따라 입력부, 표시부 및 저장부를 구비할 수 있다. 특히, 입력부(미도시)는 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 동작 인식 장치(10)의 기능 제어와 관련하여 입력되는 신호를 연산모듈(200) 또는 동작인식모듈(300)로 전달한다. 또한, 표시부(미도시)는 동작 인식 장치(10)의 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등에 대한 정보를 표시한다. 또한, 표시부는 동작 인식 장치(10)의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 또한, 저장부(미도시)는 데이터를 저장하기 위한 장치로, 주 기억 장치 및 보조 기억 장치를 포함하고, 동작 인식 장치(10)의 기능 동작에 필요한 응용 프로그램을 저장한다. 이러한 저장부는 버퍼 메모리 및 쓰레스 홀드 범위를 지정한 테이블 등을 저장한다.Meanwhile, the
또한, 본 발명의 실시 예에 따른 동작 인식 장치(10)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.Further, the memory mounted on the
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the present specification and drawings describe exemplary device configurations, the functional operations and subject matter implementations described herein may be embodied in other types of digital electronic circuitry, or alternatively, of the structures disclosed herein and their structural equivalents May be embodied in computer software, firmware, or hardware, including, or in combination with, one or more of the foregoing. Implementations of the subject matter described herein may be embodied in one or more computer program products, i. E. One for computer program instructions encoded on a program storage medium of the type for < RTI ID = 0.0 & And can be implemented as a module as described above. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.
상술한 본 발명의 실시 예에 따른 동작 인식을 위한 센서 값 처리 과정을 도 3 내지 도 7을 참조하여 보다 구체적으로 설명하도록 한다.The sensor value process for recognizing the operation according to the embodiment of the present invention will be described in more detail with reference to FIG. 3 to FIG.
도 3은 본 발명의 실시 예에 따른 동작 인식을 위한 센서 값 처리 방법을 설명하기 위한 흐름도이고, 도 4는 본 발명에 따른 센서 값 처리를 위한 센서 별 샘플링 레이트를 설명하기 위한 도면이고, 도 5는 본 발명에 따른 버퍼 메모리를 설명하기 위한 테이블이고, 도 6은 본 발명에 따른 쓰레스 홀드를 설명하기 위한 테이블이고, 도 7은 본 발명에 따른 버퍼 메모리의 데이터 압축 과정의 일 예를 설명하기 위한 도면이다.3 is a flowchart illustrating a sensor value processing method for recognizing an operation according to an embodiment of the present invention, FIG. 5 is a table for explaining a buffer memory according to an embodiment of the present invention, and FIG. 6 is a table for describing a threshold according to the present invention. FIG. 7 is a view for explaining an example of a data compression process of the buffer memory according to the present invention.
도 3 및 도 7을 참조하면, 본 발명에 따른 동작 인식을 위한 센서 값을 처리하는 동작 인식 장치(10)는 S11 단계에서 복수의 센서들 각각에 설정된 샘플링 레이트를 적용하여 주기 별로 센서 값(raw data)을 수집한다. 이때, 동작 인식 장치(10)는 센서 값에 대한 각 센서 별 특징을 고려하여 부동 소수점 형태로 수집한다. 즉, 동작 인식 장치(10)는 각 센서들의 샘플링 레이트(ex. 10ms, 20ms) 대로 실시간으로 센서 측정 값을 수집한다. 여기서, 센서모듈(100)은 항상 센서 값 수집을 위한 대기 중에 있고, 각 센서의 축 별로 측정된 값을 센서 값 수집모듈(200)로 바로 전달한다. 따라서, 동작 인식 장치(10)는 여러 개의 센서를 사용하는 경우, 아주 짧은 시간 동안 하나의 센서 값씩 따로 수집하게 된다.3 and 7, the
예를 들어, 도 4에 도시된 바와 같이, 동작 인식 장치(10)는 다수의 센서(A, B, C, D, E 센서)를 구비하고 있으며, 각각의 센서 중 센서 A는 x, y, z 축에 대한 센서 값을 센싱하고, 센서 B는 x 축에 대한 센서 값을 센싱하고, 센서 C는 x, y, z 축에 대한 센서 값을 센싱하고, 센서 D는 x 축에 대한 센서 값을 센싱하고, 센서 E는 x, y 축에 대한 센서 값을 센싱할 때, 각 센서의 샘플링 레이트에 따라 주기적으로 각 축 별 센서 값을 수집한다.For example, as shown in FIG. 4, the
그리고, 동작 인식 장치(10)는 각 축의 값이 센서 별 민감한 특징을 고려하여 정수 형태가 아닌 부도 소수점 형태로 제공하는데, 이러한 이유는 소수점 이하의 아주 작은 값으로도 어플리케이션에서 제공하는 서비스나 기능의 편차 및 신뢰도의 차이가 많이 발생할 수 있기 때문이다. 여기서, 동작 인식 장치(10)는 각 센서의 축 별로 부동 소수점 형태로 표현되는 쓰레스 홀드 범위를 지정하고, 지정된 쓰레스 홀드 범위를 각 센서 별 축에 대응하는 테이블 형태로 생성하여 관리한다.In addition, the
동작 인식 장치(10)는 S13 단계에서 버퍼 메모리에 저장된 센서 값이 존재하는지 확인한다. 여기서, 버퍼 메모리는 각 센서의 축 별로 측정되는 센서 값과, 측정된 센서 값에 따른 버퍼 메모리의 데이터 변경 여부를 확인할 수 있는 플래그로 구성된다. 예를 들어, 동작 인식 장치(10)는 도 4와 같이, 5개의 센서를 사용하는 경우, 센서 A는 3개, 센서 B는 1개, 센서 C는 3개, 센서 D는 1개, 센서 E는 2개의 축을 사용하게 되며, 총 10개의 버퍼 메모리 공간을 확보한다. 이때, 동작 인식 장치(10)는 버퍼 메모리에 부도 소수점 형태로 저장될 수 있는 충분한 공간을 확보하게 된다. 즉, 동작 인식 장치(10)는 센서의 각 축 별 개수를 확인하고, 확인된 각 축 별 개수만큼 버퍼 메모리를 생성한다.In step S13, the
즉, 도 5에 도시된 바와 같이, 버퍼 메모리에는 센서 A의 x, y, z 축에 대한 센서 값 및 플래그, 센서 B의 x 축에 대한 센서 값 및 플래그, 센서 C의 x, y, z 축에 대한 센서 값 및 플래그, 센서 D의 x 축에 대한 센서 값 및 플래그, 센서 E의 x, y 축에 대한 센서 값 및 플래그가 저장된다. 여기서, 플래그는 버퍼 메모리의 값이 갱신된 상태를 확인할 수 있는 변수로서, 버퍼 메모리의 값이 갱신된 경우에는 플래그를 '1'로 변경하고, 변경되지 않은 경우에는 플래그를 '0'으로 설정한다.5, the buffer memory stores sensor values and flags for the x, y and z axes of the sensor A, sensor values and flags for the x-axis of the sensor B, x, y and z axes of the sensor C Sensor values and flags for the x-axis of the sensor D, and sensor values and flags for the x, y-axis of the sensor E are stored. Here, the flag is a variable for confirming the state in which the value of the buffer memory is updated. If the value of the buffer memory is updated, the flag is changed to '1', and if not, the flag is set to '0' .
센서 값이 존재하지 않는 경우, 동작 인식 장치(10)는 S17 단계에서 수집된 센서 값을 각 센서의 축에 대응하는 버퍼 메모리에 저장한다.If the sensor value does not exist, the
예를 들어, 도 6에 도시된 바와 같이, 동작 인식 장치(10)는 지면에 그대로 놓여져 있는 상태에서 자연적으로 발생하는 변동(Fluctuation) 범위를 제한한다. 즉, 동작 인식 장치(10)는 동작 변화가 없는 상태에서는 민감한 센서에 대하여 소수점 이하의 아주 작은 편차를 보이면서 측정 값을 전달하게 되는데, 이러한 아주 작은 편차는 무시하기 위함이다. 또한, 동작 인식 장치(10)는 쓰레스 홀드를 각 센서의 각 축 별로 설정한다. 따라서, 센서 A와 센서 B의 쓰레스 홀드는 상이하다. 또한, 동작 인식 장치(10)는 쓰레스 홀드를 부동 소수점 형태로 표현하며, ± 부호를 고려하여 쓰레스 홀드 값의 범위를 정의한다.For example, as shown in Fig. 6, the
여기서, 일 예로 적용된 쓰레스 홀드를 살펴보면, 센서 A의 x 축에 대하여 ±①의 부동 소수점 형태의 값이 범위가 설정되고, y 축에 대하여 ±②의 부동 소수점 형태의 값이 범위가 설정되고, z 축에 대하여 ±③의 부동 소수점 형태의 값이 범위가 설정된다. 또한, 센서 B의 x 축에 대하여 ±④의 부동 소수점 형태의 값이 범위가 설정된다. 또한, 센서 C의 x 축에 대하여 ±⑤의 부동 소수점 형태의 값이 범위가 설정되고, y 축에 대하여 ±⑥의 부동 소수점 형태의 값이 범위가 설정되고, z 축에 대하여 ±⑦의 부동 소수점 형태의 값이 범위가 설정된다. 또한, 센서 D의 x 축에 대하여 ±⑧의 부동 소수점 형태의 값이 범위가 설정된다. 또한, 센서 E의 x 축에 대하여 ±⑨의 부동 소수점 형태의 값이 범위가 설정되고, y 축에 대하여 ±⑩의 부동 소수점 형태의 값이 범위가 설정된다.Here, for example, in the case of the threshold applied, a range of the value of the floating point type is set for the x axis of the sensor A, a range of the value of the floating point type for the y axis is set to the value of the floating point type of the range of ± 2, the range of the value of the floating-point type of ③ for the z-axis is set. In addition, the range of the value of the floating-point type of ± 4 with respect to the x-axis of the sensor B is set. In addition, the range of the value of the floating point type is set for the x-axis of the sensor C, the range of the value of the floating-point type for the y-axis is set for the y-axis, and the range of the floating point The value of the type is set in the range. In addition, the range of the value of the floating point type of the range of ± 8 is set for the x-axis of the sensor D. In addition, the range of the value of the floating-point type of 賊 9 is set for the x-axis of the sensor E, and the range of the value of the floating-point type of 慣 10 is set for the y-axis.
동작 인식 장치(10)는 S19 단계에서 버퍼 메모리에 저장된 센서 값과 샘플링 레이트에 따라 다음 주기에 수집되는 각 센서의 축 별 센서 값을 쓰레스 홀드 범위를 참조하여 비교한다. 그리고, 동작 인식 장치(10)는 S21 단계에서 센서 값이 쓰레스 홀드 범위 내 존재하는지 판단한다. 즉, 동작 인식 장치(10)는 각 센서의 샘플링 레이트 간격으로 실시간 측정된 센서 값들과 버퍼 메모리에 저장된 각 센서의 축 별 값과의 비교 과정을 수행한다. 이 과정은 동작 인식 장치(10)가 각 센서의 쓰레스 홀드를 설정하여, 쓰레스 홀드 범위 내에 측정된 센서 값들은 무시하고, 버퍼 메모리에 저장된 센서 값을 그대로 사용하기 위한 과정이다.In step S19, the
비교 결과, 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 경우, 동작 인식 장치(10)는 S25 단계에서 해당 센서의 축에 대한 버퍼 메모리의 데이터를 갱신한다. 여기서, 동작 인식 장치(10)는 버퍼 메모리의 데이터 갱신 여부를 확인하고, 버퍼 메모리의 데이터가 갱신된 경우, 버퍼 메모리의 플래그를 '1'로 설정한다. 한편, 버퍼 메모리의 데이터 갱신 조건을 만족하지 않는 경우, 동작 인시 장치(10)는 S23 단계에서 다음 주기에 수집된 센서 값을 버퍼 메모리의 데이터에 미적용하고, 버퍼 메모리의 플래그를 '0'으로 설정한다.As a result of the comparison, if the data update condition of the preset buffer memory is satisfied, the
즉, 동작 인식 장치(10)는 최초 버퍼 메모리에 각 센서의 축 별로 측정된 센서 값이 저장된 후, 샘플링 레이트에 의해 다음 주기에 센서 값이 측정되면, 측정된 센서 값을 버퍼 메모리에 저장된 값과 비교하기 위하여 쓰레스 홀드 테이블을 참조하여 새로 측정된 센서 값이 쓰레스 홀드 범위 내에 존재하는지 확인한다.That is, when the sensor value measured for each axis of each sensor is stored in the initial buffer memory and then the sensor value is measured in the next cycle by the sampling rate, the
여기서, 쓰레스 홀드 범위를 적용한 갱신 조건에 따른 <수학식 1>은 다음과 같다.Here, Equation (1) according to the update condition applying the threshold range is as follows.
이때, <수학식 1>은 해당 주기에 수집된 센서 측정 값이 기 저장된 버퍼 메모리 값에서 해당 센서의 축에 대한 쓰레스 홀드 값을 뺀 값 보다 크거나 같고, 기 저장된 버퍼 메모리 값과 해당 센서의 축에 대한 쓰레스 홀드 값을 더한 값 보다 작거나 같은 갱신 조건을 가진다.In Equation (1), Equation (1) indicates that the sensor measurement values collected at the corresponding period are equal to or greater than a value obtained by subtracting the threshold value for the axis of the sensor from the previously stored buffer memory value, Has an update condition that is less than or equal to the sum of the threshold values for the axes.
만약, 센서 측정 값이 쓰레스 홀드의 범위를 적용한 갱신 조건을 만족하지 않으면, 동작 인식 장치(10)는 새로 측정된 센서 값은 버리고, 버퍼 메모리를 그대로 유지한다. 이때, 해당 센서의 축에 대한 플래그도 '0'으로 유지한다.If the sensor measurement value does not satisfy the update condition applying the range of the threshold, the
동작 인식 장치(10)는 S27 단계에서 갱신된 버퍼 메모리의 데이터에 포함된 센서 값을 압축한다. 여기서, 동작 인식 장치(10)는 버퍼 메모리의 데이터 변경 여부를 확인한다. 그리고, 동작 인식 장치(10)는 버퍼 메모리의 데이터 중 특정 센서의 축에 대한 센서 값이 변경되지 않은 경우, 해당 센서의 축에 대한 플래그 값만을 압축한다. 즉, 동작 인식 장치(10)는 버퍼 메모리의 값이 변경되지 않은 경우, 센서 측정 값을 데이터 포맷에 그대로 넣지 않고, 1Byte 길이의 플래그 값인 '0'만 포함시킨다.The
예를 들어, 도 7에 도시된 바와 같이, 센서 A에 대하여, 압축되지 않은 데이터 포맷 형태인 경우, 센서 A의 데이터 포맷에는 센서의 이름 혹은 센서 등록번호(701), 각 축 별 크기에 대한 정보(703)가 포함된다. 한편, 센서 B에 대하여, 압축된 데이터 포맷 형태인 경우, 센서 B의 데이터 포맷에는 센서의 이름 혹은 센서 등록번호(705), 각 축 별 크기에 대한 정보(707), 플래그 정보(709)가 포함된다.For example, as shown in FIG. 7, in the case of the uncompressed data format for the sensor A, the data format of the sensor A includes the name of the sensor or the
즉, 압축되지 않은 데이터 포맷 형태의 센서 A는 모든 축(x, y, z 축)의 센서 값을 그대로 사용하여 압축하지만, 압축된 데이터 포맷 형태의 센서 B는 x, y 축의 데이터는 그대로 사용하여 압축하지만, z 축에 대해서는 플래그 값만을 압축하게 된다. 이때, 센서 A의 x, y, z 축들은 일반적인 경우에는 각각 4 Byte 크기의 센서 값을 그대로 사용하여 총 12 Byte의 데이터가 전달되며, 센서 B의 x, y 축은 각각 4 Byte 크기의 데이터(총 8 Byte)와, z 축에 대한 플래그 값만을 1 Byte로 압축하여 총 9 Byte의 데이터가 전달된다. 따라서, 전체적으로 보면, 압축된 데이터 포맷을 전송하는 경우에는 그렇지 않은 경우와 비교하여 3 Byte의 데이터 크기가 줄어들게 된다.That is, the sensor A in the form of an uncompressed data format compresses the sensor values of all the axes (x, y, z axes) as it is, while the sensor B in the compressed data format uses the data in the x and y axes However, only the flag value is compressed for the z-axis. In this case, the x, y, and z axes of the sensor A generally use the sensor values of 4 bytes as they are, and a total of 12 bytes of data are transmitted. The x and y axes of the sensor B are 4 bytes of
한편, 센서의 모든 축(각각 4 Byte의 크기를 가지는 x, y, z 축)에 해당하는 데이터를 대상으로 압축된 데이터 포맷 형태를 적용하여 플래그 값(1 Byte)만을 압축하는 경우, 압축되지 않은 데이터 포맷 형태를 가질 때와 비교하여, 데이터의 크기가 12 byte에서 9 Byte로 줄어들 수 있으며, 이에 따라, 데이터 포맷에 대한 압축률은 약 75%의 압축률을 보이게 된다. 따라서, 데이터 용량이 줄어들게 되어 10 ms 또는 20 ms 등의 짧은 간격인 샘플링 레이트를 고려했을 때, 동작 인식 장치(10)의 오버헤드 및 네트워크 트래픽을 감소시킬 수 있다.On the other hand, when only a flag value (1 byte) is compressed by applying a compressed data format type to data corresponding to all axes of the sensor (x, y, z axes each having a size of 4 bytes) Compared to having a data format, the size of the data can be reduced from 12 bytes to 9 bytes, so that the compression rate for the data format is about 75%. Therefore, the data capacity is reduced, and the overhead and network traffic of the
또한, 본 발명에 따른 각 축의 센서 값은 설명의 편의를 위해 상기에 기재된 4 byte를 대표적으로 설명한 것일 뿐, 다양한 수치의 센서 값이 적용될 수 있다.In addition, the sensor value of each axis according to the present invention is exemplarily described for the 4 bytes described above for convenience of description, and sensor values of various numerical values can be applied.
동작 인식 장치(10)는 S29 단계에서 센서 값을 적용하여 동작 인식을 수행한다. 이때, 동작 인식 장치(10)는 버퍼 메모리에서 플래그가 '1'로 세팅된 센서의 축 별 값은 센서 연산을 수행한 후에 다시 '0'으로 세팅 된다. 여기서, 동작 인식 장치(10)는 센서 이름과 각 축의 값을 확인하는데, 1 Byte의 '0' 값으로 설정된 축에 대해서는 기존 연산에 수행되었던 값과 동일하므로, 버퍼 메모리에 저장된 해당 축의 값이 저장된 주소를 바로 참조하여 센서 값을 확인한다. 또한, 동작 인식 장치(10)는 해당 센서의 모든 축의 값이 '0'으로 설정되어 있는 경우, 동작 인식을 수행하지 않는다. 즉, 동작 인식 장치(10)는 모든 축들이 이전에 수집된 센서 값과 차이가 나지 않는 경우이므로, 새로 연산을 수행할 필요가 없다고 판단하며, 이전에 수행한 값으로 계속 유지한다.In step S29, the
한편, 동작 인식 장치(10)는 S31 단계에서 다른 장치와의 센서 값 공유 여부를 확인한다. 센서 값 공유가 요청되면, 동작 인식 장치(10)는 S33 단계에서 센서 값에 대한 데이터 포맷을 확인한다. 그리고, 동작 인식 장치(10)는 S35 단계에서 네트워크를 통해 센서 값을 다른 장치로 전송한다. 만약, 동작 인식 장치(10)는 네트워크로 데이터를 전달할 경우에도 압축된 데이터 포맷을 그대로 전달하는데, 정의된 데이터 포맷을 TCP/UDP 및 IP 헤더를 추가하여 전달한다. 이때, 플래그 값이 '0'으로 설정된 센서의 축 별 값은 다른 동작 인식 장치에서 이전에 받은 로우 데이터로 간주하여 연산을 수행할 수 있게 한다.On the other hand, the
이를 통해, 본 발명은 동작 인식 장치에 탑재되는 센서들을 활용하여 동작 인식 연산을 수행함에 있어, 많은 센서의 로우 데이터들이 짧은 주기의 시간 동안 수집되어 실시간으로 연산하게 됨으로써 발생하는 중앙처리장치의 오버헤드 및 배터리 소모 문제를 해결할 수 있고, 센서들로부터 전달되는 로우 데이터들을 중앙처리장치로 전달하기 전에 버퍼 메모리 공간에 저장하고, 압축하여 전체 데이터 길이 및 양을 줄일 수 있기 때문에, 동작 인식 장치의 자체 성능 저하를 방지할 수 있다. 이를 통하여 센서가 제공하는 축 수에 비례하여 축 별로 압축 성능도 향상시킬 수 있다. 또한, 웨어러블 디바이스 및 외부의 다른 동작 인식 장치와 연동 시 변화된 센서 값만을 압축하여 전달하면 되므로, 표현하는 값의 범위가 작게되어 불필요한 데이터 트래픽을 발생시키지 않고, 적은 메모리 공간만을 사용할 수 있기 때문에 높은 호환성을 가질 수 있다.Accordingly, in the present invention, in performing an operation recognition operation using sensors mounted on the motion recognition apparatus, the overhead of a central processing unit, which is generated by the fact that row data of many sensors are collected during a short period of time, And the battery consumption problem can be solved. Since the row data transferred from the sensors can be stored in the buffer memory space before being transferred to the central processing unit and can be compressed to reduce the total data length and amount, It is possible to prevent degradation. In this way, the compression performance can be improved for each axis in proportion to the number of axes provided by the sensor. In addition, since only a sensor value changed when interlocking with a wearable device or another external motion recognition device can be compressed and transmitted, a range of values to be represented is small, so that unnecessary data traffic is not generated and only a small memory space can be used. Lt; / RTI >
컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Computer-readable media suitable for storing computer program instructions and data include, for example, magnetic media such as hard disks, floppy disks, and magnetic tape, compact disk read only memory (CD-ROM) A magneto-optical medium such as a floppy disk and an optical recording medium such as a digital video disk, a magneto-optical medium such as a floppy disk, and a read only memory (ROM) Access Memory), a flash memory, an erasable programmable ROM (EPROM), and a semiconductor memory such as an Electrically Erasable Programmable ROM (EEPROM). The processor and memory may be supplemented by, or incorporated in, special purpose logic circuits. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While the specification contains a number of specific implementation details, it should be understood that they are not to be construed as limitations on the scope of any invention or claim, but rather on the description of features that may be specific to a particular embodiment of a particular invention Should be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.It should be noted that the embodiments of the present invention disclosed in the present specification and drawings are only illustrative of specific examples for the purpose of understanding and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.
본 발명은 사용자 동작 인식을 위해 복수의 센서들로부터 수집되는 센서 값과 기 저장된 센서 값에 대한 비교 결과, 데이터 갱신 조건을 만족하는 센서 값을 압축하여 제공한다. 이에 따라, 동작 인식 장치에 탑재되는 센서들을 활용하여 동작 인식 연산을 수행함에 있어, 많은 센서의 로우 데이터들이 짧은 주기의 시간 동안 수집되어 실시간으로 연산하게 됨으로써 발생하는 중앙처리장치의 오버헤드 및 배터리 소모 문제를 해결할 수 있고, 센서들로부터 전달되는 로우 데이터들을 중앙처리장치로 전달하기 전에 버퍼 메모리 공간에 저장하고, 압축하여 전체 데이터 길이 및 양을 줄일 수 있기 때문에, 동작 인식 장치의 자체 성능 저하를 방지할 수 있다. 이를 통하여 센서가 제공하는 축 수에 비례하여 축 별로 압축 성능도 향상시킬 수 있다. 또한, 웨어러블 디바이스 및 외부의 다른 동작 인식 장치와 연동 시 변화된 센서 값만을 압축하여 전달하면 되므로, 표현하는 값의 범위가 작게되어 불필요한 데이터 트래픽을 발생시키지 않고, 적은 메모리 공간만을 사용할 수 있기 때문에 높은 호환성을 가질 수 있다. 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.The present invention provides a sensor value that satisfies a data update condition as a result of a comparison between a sensor value collected from a plurality of sensors and a previously stored sensor value for user operation recognition. Accordingly, in performing the operation recognition operation using the sensors mounted on the motion recognition apparatus, the overhead and battery consumption of the central processing unit caused by the fact that the row data of many sensors are collected for a short period of time and operated in real time The problem can be solved and the row data transmitted from the sensors can be stored in the buffer memory space before being transmitted to the central processing unit and can be compressed to reduce the total data length and amount, can do. In this way, the compression performance can be improved for each axis in proportion to the number of axes provided by the sensor. In addition, since only a sensor value changed when interlocking with a wearable device or another external motion recognition device can be compressed and transmitted, a range of values to be represented is small, so that unnecessary data traffic is not generated and only a small memory space can be used. Lt; / RTI > This is not only a possibility of commercialization or sales, but also a possibility of being industrially applicable since it is practically possible to carry out clearly.
10: 동작 인식 장치 100: 센서 모듈
200: 센서 값 수집모듈 300: 연산모듈
400: 동작인식모듈 500: 버퍼 메모리
600: 통신모듈 310: 버퍼 메모리 관리모듈
320: 비교모듈 330: 데이터 압축모듈10: motion recognition device 100: sensor module
200: Sensor value acquisition module 300: Operation module
400: Motion recognition module 500: Buffer memory
600: communication module 310: buffer memory management module
320: comparison module 330: data compression module
Claims (12)
상기 동작 인식 장치가 상기 수집된 센서 값과 이전에 수집된 센서 값을 각 센서의 축 별로 설정된 쓰레스 홀드(Threshold) 범위를 참조하여 비교하는 단계;
상기 동작 인식 장치가 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 센서 값만을 필터링하는 단계; 및
상기 동작 인식 장치가 상기 필터링된 센서 값을 압축하여 전달하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.The motion recognition device collecting raw data for a plurality of sensors;
Comparing the collected sensor value with a previously collected sensor value with reference to a threshold range set for each axis of each sensor;
Filtering only the sensor values satisfying the data update condition of the preset buffer memory by the motion recognition device; And
And the action recognizing device compresses and transmits the filtered sensor value.
상기 동작 인식 장치가 상기 수집된 센서 값을 각 센서 별 특징을 고려하여 샘플링 주기에 따라 수집하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.The method of claim 1, wherein said collecting comprises:
Wherein the operation recognition device collects the collected sensor values according to a sampling period in consideration of characteristics of each sensor.
상기 동작 인식 장치가 상기 센서의 각 축 별 개수를 확인하는 단계;
상기 동작 인식 장치가 상기 확인된 각 축 별 개수만큼 각 센서의 축 별로 측정되는 센서 값과, 상기 측정된 센서 값에 따른 버퍼 메모리의 데이터 변경 여부를 확인할 수 있는 플래그(flag)를 포함하는 버퍼 메모리를 생성하는 단계; 및
상기 동작 인식 장치가 상기 수집된 센서 값을 각 센서의 축에 대응하는 버퍼 메모리에 저장하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.The method of claim 1, wherein said collecting comprises:
Confirming the number of each axis of the sensor by the motion recognition device;
Wherein the motion recognition device comprises a buffer memory including a sensor value measured for each axis of each sensor by the number of the identified axes and a flag for checking whether the data of the buffer memory is changed according to the measured sensor value, ≪ / RTI > And
And the motion recognition device stores the collected sensor values in a buffer memory corresponding to an axis of each sensor.
상기 동작 인식 장치가 각 센서의 축 별로 쓰레스 홀드 범위를 지정하는 단계; 및
상기 동작 인식 장치가 상기 지정된 쓰레스 홀드 범위를 각 센서 별 축에 대응하는 테이블 형태로 생성하여 관리하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.2. The method of claim 1,
The operation recognition apparatus designating a threshold range for each axis of each sensor; And
And the motion recognition device generates and manages the designated threshold range in the form of a table corresponding to an axis for each sensor.
상기 동작 인식 장치가 상기 비교 결과, 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 경우, 버퍼 메모리의 플래그를 변경하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.2. The method of claim 1, wherein the filtering
And changing the flag of the buffer memory when the operation recognition apparatus satisfies the data update condition of the preset buffer memory as a result of the comparison.
상기 동작 인식 장치가 상기 버퍼 메모리의 데이터 갱신 조건을 만족하지 않는 경우, 기 저장된 센서 값을 적용하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.6. The method of claim 5, wherein the updating comprises:
And if the motion recognition apparatus does not satisfy the data update condition of the buffer memory, executing the step of applying the pre-stored sensor value.
상기 동작 인식 장치가 버퍼 메모리의 데이터 변경 여부를 확인하는 단계; 및
상기 동작 인식 장치가 상기 버퍼 메모리의 데이터 중 특정 센서의 축에 대한 센서 값이 변경되지 않은 경우, 해당 센서의 축에 대한 플래그 값만을 압축하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.2. The method of claim 1,
Confirming whether the operation recognition apparatus has changed data in the buffer memory; And
And the motion recognition device compresses only the flag value of the axis of the sensor when the sensor value of the axis of the specific sensor among the data of the buffer memory is not changed.
상기 동작 인식 장치가 상기 동작 인식을 수행한 후, 상기 동작 인식에 적용된 센서 값의 해당 축에 대한 플래그를 변경하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.2. The method of claim 1,
And after the motion recognition device performs the motion recognition, changing the flag for the corresponding axis of the sensor value applied to the motion recognition.
상기 동작 인식 장치가 상기 센서 값에 대한 압축된 데이터 포맷을 네트워크를 통해 적어도 하나의 다른 동작 인식 장치로 전달하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.2. The method of claim 1,
And the motion recognition device transmits the compressed data format for the sensor value to the at least one other motion recognition device via the network.
상기 동작 인식 장치가 각 센서의 축 별로 다르게 쓰레스 홀드 범위를 설정하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.2. The method of claim 1,
Wherein the motion recognition device sets a threshold range differently for each axis of each sensor.
상기 센서 값 수집모듈을 통해 수집된 센서 값과 이전에 수집된 센서 값을 각 센서의 축 별로 설정된 쓰레스 홀드(Threshold) 범위를 참조하여 비교하고, 기 설정된 버퍼 메모리의 데이터 갱신 조건을 만족하는 센서 값만을 필터링하고, 상기 필터링된 센서 값을 압축하여 전달하는 연산모듈;
을 포함하는 것을 특징으로 하는 동작 인식 장치.A sensor value collection module for collecting raw data for a plurality of sensors; And
The sensor value collected by the sensor value collecting module and the previously collected sensor value are compared with reference to a threshold range set for each axis of each sensor, and a sensor that satisfies the data update condition of the preset buffer memory A computation module for filtering only the values and compressing and transmitting the filtered sensor values;
Wherein the motion recognition device comprises:
상기 센서 값에 대한 압축된 데이터 포맷을 공유하기 위하여 네트워크를 통해 적어도 하나의 다른 동작 인식 장치로 전달하는 통신모듈;
을 더 포함하는 것을 특징으로 하는 동작 인식 장치.12. The method of claim 11,
A communication module for communicating through the network to at least one other motion recognition device to share a compressed data format for the sensor value;
Further comprising: a motion detector for detecting a motion of the subject.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140149963A KR102058158B1 (en) | 2014-10-31 | 2014-10-31 | Method for processing sensor value to motion recognition and apparatus using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140149963A KR102058158B1 (en) | 2014-10-31 | 2014-10-31 | Method for processing sensor value to motion recognition and apparatus using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160050863A true KR20160050863A (en) | 2016-05-11 |
KR102058158B1 KR102058158B1 (en) | 2019-12-20 |
Family
ID=56025734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140149963A KR102058158B1 (en) | 2014-10-31 | 2014-10-31 | Method for processing sensor value to motion recognition and apparatus using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102058158B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933294A (en) * | 2019-03-26 | 2019-06-25 | 努比亚技术有限公司 | Data processing method, device, wearable device and storage medium |
WO2019244112A1 (en) | 2018-06-22 | 2019-12-26 | Ecole Polytechnique Federale De Lausanne (Epfl) | Teleoperation with a wearable sensor system |
KR20210046521A (en) | 2019-10-18 | 2021-04-28 | 주식회사 네오펙트 | Apparatus for sensing, method and program for processing sensing data |
-
2014
- 2014-10-31 KR KR1020140149963A patent/KR102058158B1/en active IP Right Grant
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019244112A1 (en) | 2018-06-22 | 2019-12-26 | Ecole Polytechnique Federale De Lausanne (Epfl) | Teleoperation with a wearable sensor system |
CN109933294A (en) * | 2019-03-26 | 2019-06-25 | 努比亚技术有限公司 | Data processing method, device, wearable device and storage medium |
CN109933294B (en) * | 2019-03-26 | 2023-10-17 | 努比亚技术有限公司 | Data processing method and device, wearable device and storage medium |
KR20210046521A (en) | 2019-10-18 | 2021-04-28 | 주식회사 네오펙트 | Apparatus for sensing, method and program for processing sensing data |
Also Published As
Publication number | Publication date |
---|---|
KR102058158B1 (en) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596976B (en) | Method, device and equipment for relocating camera attitude tracking process and storage medium | |
CN108648235B (en) | Repositioning method and device for camera attitude tracking process and storage medium | |
CN108615248B (en) | Method, device and equipment for relocating camera attitude tracking process and storage medium | |
EP3241183B1 (en) | Method for determining the position of a portable device | |
CN110926473B (en) | Method and device for identifying floor, electronic equipment and storage medium | |
US9971314B2 (en) | Wearable watch and display method thereof | |
CN108426573B (en) | Pedestrian gait detection method of terminal equipment and terminal equipment | |
CN110986930B (en) | Equipment positioning method and device, electronic equipment and storage medium | |
US10698501B2 (en) | Systems and methods for three dimensional control of mobile applications | |
US20130297203A1 (en) | Methods and apparatus for low-cost inertial dead-reckoning using context detection | |
KR20160050863A (en) | Method for processing sensor value to motion recognition and apparatus using the same | |
WO2017005070A1 (en) | Display control method and device | |
KR101685388B1 (en) | Method and apparatus for recognizing motion using a plurality of sensors | |
KR101525224B1 (en) | A portable terminal of having the auto photographing mode | |
KR20180026919A (en) | System for augmented reality or virtual reality | |
KR20160047710A (en) | Method for recognizing user motion and motion recognition apparatus using the same | |
KR101886033B1 (en) | Method for establishing user definition motion and motion recognition apparatus using the same | |
KR101900754B1 (en) | Method for establishing user definition motion and motion recognition apparatus using the same | |
KR101998662B1 (en) | Apparatus and storage medium for mutually complementary motion recognition | |
Chandrasiri et al. | Bluetooth embedded inertial measurement unit for real-time data collection for gait analysis | |
KR102081966B1 (en) | Apparatus for motion recognition based on context awareness and storage medium therefor | |
KR101934930B1 (en) | Apparatus and storage medium for mutually complementary motion recognition | |
KR101703645B1 (en) | Method and apparatus for recognizing motion with adjustable sensitivity | |
KR20160050864A (en) | Method for providing standby mode for motion recognition and motion recognition apparatus using the same | |
KR102004256B1 (en) | A motion sensor device that efficiently compresses and transmits motion data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |