KR20190138733A - Determination of Health Markers Using Portable Devices - Google Patents

Determination of Health Markers Using Portable Devices Download PDF

Info

Publication number
KR20190138733A
KR20190138733A KR1020187026093A KR20187026093A KR20190138733A KR 20190138733 A KR20190138733 A KR 20190138733A KR 1020187026093 A KR1020187026093 A KR 1020187026093A KR 20187026093 A KR20187026093 A KR 20187026093A KR 20190138733 A KR20190138733 A KR 20190138733A
Authority
KR
South Korea
Prior art keywords
ppg data
segment
ppg
health
determining
Prior art date
Application number
KR1020187026093A
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 삼성전자주식회사
Publication of KR20190138733A publication Critical patent/KR20190138733A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/024Detecting, measuring or recording pulse rate or heart rate
    • A61B5/02438Detecting, measuring or recording pulse rate or heart rate with portable devices, e.g. worn by the patient
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/024Detecting, measuring or recording pulse rate or heart rate
    • A61B5/02416Detecting, measuring or recording pulse rate or heart rate using photoplethysmograph signals, e.g. generated by infrared radiation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/16Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state
    • A61B5/165Evaluating the state of mind, e.g. depression, anxiety
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7203Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7221Determining signal validity, reliability or quality
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7253Details of waveform analysis characterised by using transforms
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2560/00Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
    • A61B2560/04Constructional details of apparatus
    • A61B2560/0431Portable apparatus, e.g. comprising a handle or case
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/024Detecting, measuring or recording pulse rate or heart rate
    • A61B5/02405Determining heart rate variability
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1118Determining activity level
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/725Details of waveform analysis using specific filters therefor, e.g. Kalman or adaptive filters

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Surgery (AREA)
  • Physics & Mathematics (AREA)
  • Veterinary Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Molecular Biology (AREA)
  • Physiology (AREA)
  • Cardiology (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Child & Adolescent Psychology (AREA)
  • Developmental Disabilities (AREA)
  • Educational Technology (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychology (AREA)
  • Social Psychology (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

장치를 이용한 PPG 데이터의 처리는: PPG 데이터의 세그먼트에 대한 품질 추정치를 결정하는 단계; 및, 상기 품질 추정치가 품질 문턱값을 초과한다는 결정에 응답하여, 상기 PPG 데이터의 상기 세그먼트의 주기성의 추정치에 기반하여 상기 PPG 데이터의 상기 세그먼트를 필터링하는 단계를 포함한다. 건강 표지자가 상기 PPG 데이터의 상기 세그먼트에 대해 결정될 수 있다. 상기 건강 표지자는 PPG 데이터로부터의 상기 건강 표지자의 이전 결정에 기반하여 밸리데이션될 수 있다. 상기 밸리데이션에 기반하여, 상기 건강 표지자는 출력될 수 있다. Processing of the PPG data using the device includes: determining a quality estimate for a segment of the PPG data; And in response to determining that the quality estimate exceeds a quality threshold, filtering the segment of the PPG data based on an estimate of the periodicity of the segment of the PPG data. Health markers can be determined for the segment of the PPG data. The health marker may be validated based on previous determination of the health marker from PPG data. Based on the validation, the health indicator can be output.

Description

휴대용 장치를 이용한 건강 표지자의 결정Determination of Health Markers Using Portable Devices

본 개시는 사용자에 대한 건강 표지자(health markers)를 결정하는 것에 관한 것이며, 보다 구체적으로, 휴대용 장치를 이용하여 그러한 건강 표지자를 결정하는 것에 관한 것이다.The present disclosure relates to determining health markers for a user, and more particularly, to determining such health markers using a portable device.

휴대용 장치의 인기는 지난 여러 해에 걸쳐 크게 증가되어 왔다. 휴대용 장치의 예들에는 휴대 전화 및 태블릿 컴퓨터가 포함된다. 휴대용 장치의 다른 범주는 "웨어러블 장치(wearable devices)"이다. 웨어러블 장치의 예로는 "스마트 워치"가 있다.많은 휴대용 장치들은 다양한 내장 센서들을 가지고 있다. 일부 휴대용 장치들은 또한 장치들이 하나 이상의 외부 센서들과 결합할 수 있도록 하는 통신 포트 및/또는 송수신기도 가지고 있다.The popularity of portable devices has increased significantly over the last few years. Examples of portable devices include mobile phones and tablet computers. Another category of portable devices is "wearable devices." An example of a wearable device is a "smart watch." Many portable devices have a variety of built-in sensors. Some portable devices also have communication ports and / or transceivers that allow the devices to couple with one or more external sensors.

일반적으로 휴대용 장치에 포함되거나 결합되는 일 유형의 센서는 광용적맥파(photoplethysmogram: PPG) 센서이다. PPG 센서는 기관(organ)의 용적 측정(volumetric measurement)을 수행할 수 있는 광학 센서이다. 예를 들면, PPG 센서는 심장에서 대동맥으로의 박동간 혈액 분출(beat-to-beat ejection of blood)에 응답하여 인체 내의 혈류 변조(modulation)를 측정할 수 있다.One type of sensor that is typically included or coupled to a portable device is a photoplethysmogram (PPG) sensor. PPG sensors are optical sensors capable of performing volumetric measurements of organs. For example, a PPG sensor can measure the modulation of blood flow in the human body in response to a beat-to-beat ejection of blood from the heart to the aorta.

PPG 센서를 갖춘 휴대용 장치는 사용자의 건강을 평가하는 데 이용될 수 있는 정보를 생성할 수 있다. 그러나, PPG 센서에 의해 생성된 데이터는 노이즈에 매우 민감하다. 예를 들면, 사용자를 기준으로 휴대용 장치에 있어서의 작은 움직임 및/또는 운동은 종종 PPG 센서에 의해 생성된 데이터에 현저한 노이즈를 야기하기에 충분하다. 이 노이즈는 결과적으로 데이터를 사실상 이용할 수 없게 한다.Portable devices equipped with PPG sensors can generate information that can be used to assess a user's health. However, the data generated by the PPG sensor is very sensitive to noise. For example, small movements and / or movements in a portable device relative to a user are often sufficient to cause significant noise in the data generated by the PPG sensor. This noise consequently makes the data virtually unavailable.

첨부 도면은 하나 이상의 실시예들을 도시한다. 그러나, 첨부 도면이 본 발명을 오직 도시한 실시예들에만 제한하는 것으로 이해되어서는 안 된다. 도면을 참조하여 다음의 상세한 설명을 검토하면 다양한 양태들 및 이점들이 명백해질 것이다.
도 1은 장치에 대한 예시적 아키텍처(architecture)를 도시한다.
도 2는 광용적맥파(photoplethysmogram: PPG) 데이터를 처리하는 예시적 방법을 도시한다.
도 3은 PPG 데이터에 대한 품질 추정(quality estimation)의 예시적 방법을 도시한다.
도 4는 PPG 데이터에 대한 필터링 및/또는 보정(correction)의 예시적 방법을 도시한다.
도 5는 건강 표지자(health marker)를 밸리데이션하는(validating) 예시적 방법을 도시한다.
The accompanying drawings show one or more embodiments. However, the accompanying drawings should not be understood as limiting the invention only to the embodiments shown. Various aspects and advantages will become apparent upon review of the following detailed description with reference to the drawings.
1 illustrates an example architecture for an apparatus.
2 illustrates an example method of processing photoplethysmogram (PPG) data.
3 illustrates an example method of quality estimation for PPG data.
4 illustrates an example method of filtering and / or correction for PPG data.
5 illustrates an example method of validating a health marker.

하나 이상의 실시예들에서, 방법은 PPG 데이터의 세그먼트에 대한 품질 추정치(quality estimate)를 결정하는 단계, 및 상기 품질 추정치가 품질 문턱값(quality threshold)을 초과한다는 결정에 응답하여, 프로세서를 이용하여, 상기 PPG 데이터의 상기 세그먼트의 주기성(periodicity)의 추정치에 기반하여 상기 PPG 데이터의 상기 세그먼트를 필터링하는 단계를 포함한다. 상기 방법은, 상기 프로세서를 이용하여, 상기 PPG 데이터의 상기 세그먼트에 대한 건강 표지자(health marker)를 결정하는 단계, 및 PPG 데이터로부터의 상기 건강 표지자의 이전(prior) 결정에 기반하여 상기 건강 표지자를 밸리데이션하는 단계를 포함할 수 있다. 상기 방법은, 상기 밸리데이션에 응답하여, 상기 건강 표지자를 출력하는 단계를 포함할 수 있다.In one or more embodiments, a method includes using a processor in response to determining a quality estimate for a segment of PPG data, and in response to determining that the quality estimate exceeds a quality threshold. And filtering the segment of the PPG data based on an estimate of the periodicity of the segment of the PPG data. The method includes using the processor to determine a health marker for the segment of the PPG data, and to determine the health marker based on prior determination of the health marker from the PPG data. Validation may be included. The method may include outputting the health indicator in response to the validation.

하나 이상의 실시예들에서, 장치는 명령어들(instructions)을 저장하도록 구성된 메모리 및 상기 메모리에 결합된 프로세서를 포함한다. 상기 프로세서는, 상기 명령어들의 실행에 응답하여, 동작들을 개시하도록 구성된다. 상기 동작들은 PPG 데이터의 세그먼트에 대한 품질 추정치를 결정하는 단계, 및, 상기 품질 추정치가 품질 문턱값을 초과한다는 결정에 응답하여, 상기 PPG 데이터의 상기 세그먼트의 주기성의 추정치에 기반하여 상기 PPG 데이터의 상기 세그먼트를 필터링하는 단계를 포함한다. In one or more embodiments, an apparatus includes a memory configured to store instructions and a processor coupled to the memory. The processor is configured to initiate operations in response to the execution of the instructions. The operations may include determining a quality estimate for a segment of PPG data, and in response to determining that the quality estimate exceeds a quality threshold, determining the quality of the PPG data based on an estimate of the periodicity of the segment of the PPG data. Filtering the segment.

상기 동작들은 상기 PPG 데이터의 상기 세그먼트에 대한 건강 표지자를 결정하는 단계, 및 PPG 데이터로부터 상기 건강 표지자의 이전 결정에 기반하여 상기 건강 표지자를 밸리데이션하는 단계를 포함할 수 있다. 상기 동작들은 또한, 상기 밸리데이션에 응답하여, 상기 건강 표지자를 출력하는 단계를 포함할 수 있다.The operations may include determining a health indicator for the segment of the PPG data, and validating the health indicator based on a previous determination of the health marker from the PPG data. The operations may also include outputting the health indicator in response to the validation.

하나 이상의 실시예들에서, 컴퓨터 프로그램 제품은 프로그램 코드가 저장된 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 상기 프로그램 코드는 동작들을 수행하도록 프로세서에 의해 실행될 수 있다. 상기 동작들은 PPG 데이터의 세그먼트에 대한 품질 추정치를 결정하는 단계, 및, 상기 품질 추정치가 품질 문턱값을 초과한다는 결정에 응답하여, 상기 PPG 데이터의 상기 세그먼트의 주기성의 추정치에 기반하여 상기 PPG 데이터의 상기 세그먼트를 필터링하는 단계를 포함한다. In one or more embodiments, a computer program product may include a computer readable storage medium having stored thereon program code. The program code may be executed by the processor to perform the operations. The operations may include determining a quality estimate for a segment of PPG data, and in response to determining that the quality estimate exceeds a quality threshold, determining the quality of the PPG data based on an estimate of the periodicity of the segment of the PPG data. Filtering the segment.

상기 동작들은 상기 PPG 데이터의 상기 세그먼트에 대한 건강 표지자를 결정하는 단계, 및 상기 PPG 데이터로부터의 상기 건강 표지자의 이전 결정에 기반하여 상기 건강 표지자를 밸리데이션하는 단계를 포함할 수 있다. 상기 동작들은 또한, 상기 밸리데이션에 응답하여, 상기 건강 표지자를 출력하는 단계를 포함할 수 있다.The operations may include determining a health marker for the segment of the PPG data, and validating the health marker based on a previous determination of the health marker from the PPG data. The operations may also include outputting the health indicator in response to the validation.

본 요약 섹션은 단지 일정 개념들을 소개하기 위해 제공되는 것이지 청구 대상의 어떤 핵심적(key) 또는 필수적 특징들을 식별하고자 제공되는 것이 아니다. 본 발명의 기타 많은 특징들 및 실시예들이 첨부 도면 및 다음의 상세한 설명으로부터 명백해질 것이다.This summary section is provided only to introduce certain concepts, and not to identify any key or essential features of the claimed subject matter. Many other features and embodiments of the present invention will become apparent from the accompanying drawings and the following detailed description.

본 개시는 신규한 특징들을 정의하는 청구항들로 결론짓고 있지만, 본 명세서에 설명된 다양한 특징들은 도면과 함께 설명을 고려함으로써 더 잘 이해될 것이라 생각된다. 본 개시 내에서 설명되는 프로세스(들), 기계(들), 제조품(들) 및 이들의 어떤 변형들은 예시의 목적으로 제공된다. 설명되는 어떤 특정한 구조적 및 기능적 세부사항들은 제한하는 것으로 해석되어서는 안 되며, 청구항들에 대한 기초로서 및 사실상 어떤 적절히 상세한 구조에 있어서 기술된 특징들을 다양하게 채용하도록 본 발명이 속하는 기술분야의 숙련된 자에게 알려주기 위한 대표적인 기초로서 해석되어야 할 것이다. 또한, 본 개시 내에 사용된 용어들 및 어구들은 제한하고자 한 것이 아니라, 설명된 특징들에 대한 이해할 수 있는 설명을 제공하고자 한 것이다.Although the present disclosure concludes with the claims defining novel features, it is believed that the various features described herein will be better understood upon consideration of the description in conjunction with the drawings. The process (s), machine (s), article of manufacture (s) and any variations thereof described herein are provided for purposes of illustration. Any specific structural and functional details described are not to be construed as limiting, and are skilled in the art to which the present invention pertains in various ways as a basis for the claims and in virtually any appropriately detailed structure. It should be interpreted as a representative basis for informing one. In addition, the terms and phrases used within the present disclosure are not intended to be limiting, but rather to provide an understandable description of the described features.

본 개시는 사용자들에 대한 건강 표지자들을 결정하는 것에 관한 것이며, 보다 구체적으로, 휴대용 장치들을 이용하여 그러한 건강 표지자들을 결정하는 것에 관한 것이다. 사용자들에 대한 건강 표지자들의 신뢰성 있는 결정은 광용적맥파 (photoplethysmogram: PPG)의 정확한 측정 및 분석을 필요로 한다. 본 개시 내에서 정의된 바와 같이, 용어 "PPG 데이터"는 휴대용 장치 내에 있거나(예를 들면, 휴대용 장치의 일부이거나) 또는 휴대용 장치에 결합된 PPG 센서에 의해 생성된 데이터를 의미한다. PPG 데이터로부터 결정될 수 있는 건강 표지자들의 예들에는 심박수(heart rate), 심박 변이도(heart rate variability: HRV), 스트레스, 혈압, 호흡, 및 동맥 긴장도(arterial tone)가 포함될 수 있지만, 이에 제한되지 않는다. PPG 데이터로부터의 건강 표지자들을 정확하게 평가함으로써 휴대 장치들이 다양한 의학적 상태들을 신뢰성 있게 관리하는 데 이용될 수 있다. 예를 들면, 휴대용 장치들은 당뇨병, 고혈압, 심혈관 질환(cardiovascular diseases), 폐질환(pulmonary diseases), 기분 장애(mood disorder), 및 약물 남용(substance-abuse)을 관리하는 데 이용될 수 있다. 또한, 건강 표지자들의 정확한 평가는 또한 휴대용 장치들이 보다 정확하게 개인들의 삶의 질을 평가할 수 있게 해 준다.The present disclosure relates to determining health markers for users, and more particularly, to determining such health markers using portable devices. Reliable determination of health markers for users requires accurate measurement and analysis of photoplethysmogram (PPG). As defined within the present disclosure, the term "PPG data" refers to data generated by a PPG sensor that is in a portable device (eg, is part of a portable device) or coupled to a portable device. Examples of health markers that can be determined from the PPG data may include, but are not limited to, heart rate, heart rate variability (HRV), stress, blood pressure, respiration, and arterial tone. By accurately evaluating health markers from PPG data, portable devices can be used to reliably manage various medical conditions. For example, portable devices can be used to manage diabetes, high blood pressure, cardiovascular diseases, pulmonary diseases, mood disorders, and substance-abuse. In addition, accurate assessment of health markers also enables portable devices to more accurately assess the quality of life of individuals.

노이즈에 대한 PPG 센서들의 높은 민감성은 종종 생성되는 PPG 데이터에 있어서 큰 변동성(wide variability)을 초래한다. 예를 들면, PPG 센서들을 갖춘 웨어러블 장치들의 경우에, 생성되는 PPG 데이터는 상기 웨어러블 장치들을 착용한 개인에 대한 상기 휴대용 장치들의 움직임에 의해 유도되는 아티팩트들(artifacts)에 매우 민감하다. 작은 움직임이라도 결과적인 PPG 데이터에 있어서 큰 변동성을 초래할 수 있어, 사용자 건강을 모니터링하기 위한 휴대용 장치들의 유용성을 현저히 제한한다.The high sensitivity of PPG sensors to noise often results in wide variability in the generated PPG data. For example, in the case of wearable devices with PPG sensors, the generated PPG data is very sensitive to artifacts induced by the movement of the portable devices relative to the individual wearing the wearable devices. Even small movements can cause large variability in the resulting PPG data, significantly limiting the usefulness of portable devices for monitoring user health.

본 개시 내에 설명된 본 발명의 구성들(inventive arrangements)에 따르면, PPG 센서를 갖춘 휴대용 장치는 PPG 데이터를 생성할 수 있다. 상기 휴대용 장치는 품질 평가(quality assessment)에 기반하여 PPG 데이터의 상이한 세그먼트들을 서로 구별할 수 있다. 상기 휴대용 장치는 하나 이상의 건강 표지자들에 대한 부정확한 예측 또는 추정을 초래할 가능성이 더 높은, 보다 낮은 품질의 PPG 데이터의 세그먼트들을 식별할 수 있다. According to the inventive arrangements described in the present disclosure, a portable device with a PPG sensor can generate PPG data. The portable device may distinguish different segments of PPG data from each other based on a quality assessment. The portable device may identify segments of lower quality PPG data that are more likely to result in inaccurate prediction or estimation of one or more health markers.

특정 실시예들에서, 상기 휴대용 장치는 보다 낮은 품질인 것으로 결정된 PPG 데이터의 세그먼트들을 폐기하여, 그러한 세그먼트들이 상기 사용자에 대한 건강 표지자(들)을 예측하는 데 이용되지 않도록 할 수 있다. 상기 휴대용 장치는 또한 PPG 데이터의 불충분함(insufficiency)을 나타내는 알림들(notifications)을 생성할 수 있다. 상기 알림들은, 예를 들면, 결정되는 건강 표지자들의 정확성을 높이는 보다 높은 품질의 PPG 데이터를 얻기 위해, 상기 휴대용 장치의 조정이 필요할 수 있음을 나타낼 수 있다.In certain embodiments, the portable device may discard segments of PPG data determined to be of lower quality so that such segments are not used to predict health indicator (s) for the user. The portable device may also generate notifications that indicate insufficiency of the PPG data. The notifications may indicate that adjustment of the portable device may be needed, for example, to obtain higher quality PPG data that increases the accuracy of the determined health markers.

하나 이상의 실시예들에서, 휴대용 장치는 상기 PPG 데이터에 대해 다차원 분석을 적용할 수 있다. 상기 다차원 분석의 각 차원은 상기 다차원 분석의 다른 어떤 차원에 의해 평가되지 않은 상기 PPG 데이터의 상이한 양태를 평가할 수 있다. 상기 휴대용 장치는, 수행되는 상기 다차원 분석의 차원들 중 하나 또는 둘 이상의 어떤 조합에 기반하여, PPG 데이터의 특정 세그먼트들이 불충분한 품질을 갖는다고 결정할 수 있다. 낮은 품질의 PPG 데이터의 세그먼트들을 폐기함으로써, 상기 휴대용 장치가 부정확한 및/또는 오도하는(misleading) 건강 표지자들을 생성하는 것을 피할 수 있다.In one or more embodiments, the portable device can apply multidimensional analysis to the PPG data. Each dimension of the multidimensional analysis may evaluate different aspects of the PPG data that are not evaluated by any other dimension of the multidimensional analysis. The portable device may determine that certain segments of PPG data have insufficient quality based on one or any combination of two or more of the dimensions of the multidimensional analysis being performed. By discarding segments of low quality PPG data, the portable device can avoid generating incorrect and / or misleading health indicators.

하나 이상의 실시예들에서, 상기 휴대용 장치는 준실시간(near real time)으로 상기 PPG 데이터를 분석할 수 있다. 상기 PPG 데이터의 준실시간 처리를 수행함에 있어, 상기 휴대용 장치는, 현재 결정된 건강 표지자들의 정확성을 밸리데이션하기 위해, 현재의 또는 보다 최근에 결정된 건강 표지자(들)과 이전에 결정된 (예를 들면, 이력상의(historical)) 건강 표지자(들)을 비교할 수 있다. 본 명세서에서 설명하는, 준실시간 처리는 건강 표지자들의 실시간 예측을 수행하려고 시도하는 다른 기법들에 비해 정확성 향상을 용이하게 한다. 특정 실시예들에서, 상기 휴대용 장치는 사후 검정(post hoc) 방식으로 상기 건강 표지자들의 추가적 밸리데이션을 수행할 수 있다. 상기 수행되는 밸리데이션은 상기 PPG 데이터의 보정(correction)을 포함할 수 있다.In one or more embodiments, the portable device can analyze the PPG data in near real time. In performing the near real-time processing of the PPG data, the portable device may be configured with a current or more recently determined health marker (s) and previously determined (eg, history) to validate the accuracy of the currently determined health markers. Historical health marker (s) can be compared. Quasi-real time processing, described herein, facilitates accuracy improvement over other techniques that attempt to perform real time prediction of health markers. In certain embodiments, the portable device may perform additional validation of the health markers in a post hoc manner. The validation performed may include correction of the PPG data.

본 발명의 구성들의 추가적인 양태들이 하기에서 도면을 참조하여 보다 상세히 설명된다. 예시의 단순성 및 명확성을 위해, 도면에 도시한 요소들은 반드시 일정한 축척으로 도시되지는 않았다. 예를 들면, 상기 요소들의 일부의 치수들은 명확성을 위해 다른 요소들에 대해 상대적으로 과장될 수 있다. 또한, 적절하다고 생각되는 경우, 상응하는, 유사한, 또는 동일한 특징들을 나타내기 위해 참조 번호들이 도면들 간에 반복된다.Further aspects of the configurations of the present invention are described in more detail below with reference to the drawings. For simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Also, where considered appropriate, reference numerals are repeated among the figures to indicate corresponding, similar, or identical features.

도 1은 본 개시 내에 설명된 하나 이상의 실시예들과 함께 이용하기 위한 장치에 대한 예시적 아키텍처(100)를 도시한다. 상기 아키텍처(100)는, 프로그램 코드를 저장 및/또는 실행하기에 적합한, 데이터 처리 시스템, 통신 장치, 또는 기타 시스템을 구현하는 데 이용될 수 있다. 특정 실시예들에서, 상기 아키텍처(100)는 휴대용 장치를 구현하는 데 이용될 수 있다. 예를 들면, 상기 아키텍처(100)는 휴대 전화, 태블릿 컴퓨터, 휴대용 컴퓨터(예를 들면, 랩탑 컴퓨터), 사용자가 착용하는 스마트 워치 또는 기타 피트니스 장치와 같은 웨어러블 장치를 구현하는 데 이용될 수 있다.1 illustrates an example architecture 100 for an apparatus for use with one or more embodiments described within the present disclosure. The architecture 100 may be used to implement a data processing system, communication device, or other system suitable for storing and / or executing program code. In certain embodiments, the architecture 100 can be used to implement a portable device. For example, the architecture 100 may be used to implement wearable devices such as mobile phones, tablet computers, portable computers (eg, laptop computers), smart watches worn by users, or other fitness devices.

도 1의 예에서, 상기 아키텍처(100)는 적어도 하나의 프로세서(105)를 포함한다. 상기 프로세서(105)는 인터페이스 회로(115)를 통해 메모리(110)에 결합된다. 상기 아키텍처(100)는 상기 메모리(110) 내에 컴퓨터 판독가능 명령어들("프로그램 코드"라고도 칭함)을 저장한다. 상기 메모리(110)는 컴퓨터 판독가능 저장 매체의 일 예이다. 상기 프로세서(105)는 상기 인터페이스 회로(115)를 통해 상기 메모리(110)로부터 액세스되는 상기 프로그램 코드를 실행한다.In the example of FIG. 1, the architecture 100 includes at least one processor 105. The processor 105 is coupled to the memory 110 through an interface circuit 115. The architecture 100 stores computer readable instructions (also called "program code") in the memory 110. The memory 110 is an example of a computer readable storage medium. The processor 105 executes the program code accessed from the memory 110 through the interface circuit 115.

상기 메모리(110)는, 예를 들면, 로컬 메모리(120) 및 대용량 저장 장치(125)와 같은, 하나 이상의 물리적 메모리 장치들을 포함한다. 상기 로컬 메모리(120)는 상기 프로그램 코드의 실제 실행 시 사용되는 하나 이상의 비영구적 메모리 장치들로서 구현된다. 상기 로컬 메모리(120)의 예들에는, 프로그램 코드의 실행 시 프로세서에 의한 사용에 적합한, 랜덤 액세스 메모리(random access memory: RAM) 및/또는 다양한 유형의 RAM 중 어떤 것(예를 들면, 정적 RAM, 동적 RAM)이든 포함된다. 상기 대용량 저장 장치(125)는 하나 이상의 영구적 데이터 저장 장치들로서 구현된다. 상기 대용량 저장 장치(125)의 예들에는 하드 디스크 드라이브(hard disk drive: HDD), 고체 상태 드라이브(solid state drive: SSD), 플래시 메모리, 읽기 전용 메모리(read-only memory: ROM), 소거가능 프로그램가능 읽기 전용 메모리(erasable programmable read-only memory: EPROM), 전기적 소거가능 프로그램가능 읽기 전용 메모리(electrically erasable programmable read-only memory: EEPROM), 또는 기타 적절한 메모리가 포함될 수 있다. 상기 아키텍처(100)는 또한, 프로그램 코드가 실행 시 대용량 저장 장치로부터 검색되어야 하는 횟수를 줄이기 위해, 적어도 일부 프로그램 코드의 일시적 저장을 제공하는 하나 이상의 캐시(cache) 메모리들(미도시)을 포함할 수 있다.The memory 110 includes one or more physical memory devices, such as, for example, local memory 120 and mass storage device 125. The local memory 120 is implemented as one or more non-permanent memory devices used in the actual execution of the program code. Examples of the local memory 120 include random access memory (RAM) and / or any of a variety of types of RAM (eg, static RAM, suitable for use by a processor in executing program code). Dynamic RAM). The mass storage device 125 is implemented as one or more persistent data storage devices. Examples of the mass storage device 125 include a hard disk drive (HDD), a solid state drive (SSD), flash memory, read-only memory (ROM), an erasable program. Erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EPROM), or other suitable memory. The architecture 100 may also include one or more cache memories (not shown) that provide for temporary storage of at least some program code to reduce the number of times program code must be retrieved from mass storage when executed. Can be.

상기 인터페이스 회로(115)의 예들에는 입/출력(input/output: I/O) 서브시스템, I/O 인터페이스, 버스 시스템, 및 메모리 인터페이스가 포함될 수 있지만, 이에 제한되지 않는다. 예를 들면, 상기 인터페이스 회로(115)는, 메모리 버스 또는 메모리 제어기, 주변 장치 버스(peripheral bus), 가속 그래픽 포트, 및 프로세서 또는 로컬 버스를 포함하는, 다양한 버스 구조들 및/또는 버스 구조들의 조합들 중 어떤 것으로서든 구현될 수 있다.Examples of the interface circuit 115 may include, but are not limited to, input / output (I / O) subsystems, I / O interfaces, bus systems, and memory interfaces. For example, the interface circuit 115 may be a combination of various bus structures and / or bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus. It can be implemented as any of these.

하나 이상의 실시예들에서, 상기 프로세서(105), 및/또는 상기 인터페이스 회로(115)는 별도의 구성요소들로서 구현된다. 하나 이상의 실시예들에서, 상기 프로세서(105), 상기 메모리(110), 및/또는 상기 인터페이스 회로(115)는 하나 이상의 집적 회로들에 통합된다. 상기 아키텍처(100)에서의 다양한 구성요소들은, 예를 들면, 하나 이상의 통신 버스들 또는 신호 라인들(예를 들면, 상호연결들(interconnects) 및/또는 전선들(wires))에 의해 결합될 수 있다. 특정 실시예들에서, 상기 메모리(110)는 메모리 인터페이스, 예를 들면, 메모리 제어기(미도시)를 통해 상기 인터페이스 회로(115)에 결합된다.In one or more embodiments, the processor 105 and / or the interface circuit 115 are implemented as separate components. In one or more embodiments, the processor 105, the memory 110, and / or the interface circuit 115 are integrated into one or more integrated circuits. The various components in the architecture 100 may be coupled by, for example, one or more communication buses or signal lines (eg, interconnects and / or wires). have. In certain embodiments, the memory 110 is coupled to the interface circuit 115 through a memory interface, eg, a memory controller (not shown).

상기 아키텍처(100)는 디스플레이(135)를 포함할 수 있다. 특정 실시예들에서, 상기 디스플레이(135)는 사용자로부터 터치 입력을 수신할 수 있는 터치 감응식(touch-sensitive) 또는 터치스크린 디스플레이로서 구현된다. 터치 감응식 디스플레이 및/또는 터치 감응식 패드는 다양한 이용가능한 터치 감응 기술들 중 어떤 것이든 이용하여 접촉(contact), 운동(movement), 제스처(gestures), 접촉의 단절(breaks in contact)을 검출할 수 있다. 터치 감응 기술들의 예들에는 정전용량성(capacitive), 저항성(resistive), 적외선, 및 표면 탄성파(surface acoustic wave) 기술들, 및 터치 감응식 디스플레이 및/또는 장치와의 하나 이상의 접촉 포인트들을 결정하기 위한 기타 근접 센서 어레이들 또는 기타 요소들이 포함되지만, 이에 제한되지 않는다.The architecture 100 may include a display 135. In certain embodiments, the display 135 is implemented as a touch-sensitive or touchscreen display capable of receiving touch input from a user. Touch-sensitive displays and / or touch-sensitive pads use any of a variety of available touch-sensitive technologies to detect contacts, movements, gestures, and breaks in contact. can do. Examples of touch sensitive technologies include capacitive, resistive, infrared, and surface acoustic wave technologies, and for determining one or more contact points with a touch sensitive display and / or device. Other proximity sensor arrays or other elements are included, but are not limited to these.

상기 아키텍처(100)는 카메라 서브시스템(140)을 포함할 수 있다. 상기 카메라 서브시스템(140)은 직접적으로 또는 적절한 입/출력(input/output: I/O) 제어기를 통해 상기 인터페이스 회로(115)에 결합될 수 있다. 상기 카메라 서브시스템(140)은 광학 센서(142)에 결합될 수 있다. 상기 광학 센서(142)는 다양한 기술들 중 어떤 것이든 이용하여 구현될 수 있다. 상기 광학 센서(142)의 예들에는 전하 결합 소자(charged coupled device: CCD) 또는 상보형 금속 산화물 반도체(complementary metal-oxide semiconductor: CMOS) 광학 센서가 포함될 수 있지만, 이에 제한되지 않는다. 상기 카메라 서브시스템(140) 및 상기 광학 센서(142)는 이미지 기록 및/또는 비디오 기록과 같은 카메라 기능들을 수행할 수 있다.The architecture 100 may include a camera subsystem 140. The camera subsystem 140 may be coupled to the interface circuit 115 directly or via a suitable input / output (I / O) controller. The camera subsystem 140 may be coupled to the optical sensor 142. The optical sensor 142 may be implemented using any of a variety of techniques. Examples of the optical sensor 142 may include, but are not limited to, a charge coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor. The camera subsystem 140 and the optical sensor 142 may perform camera functions such as image recording and / or video recording.

상기 아키텍처(100)은 오디오 서브시스템(145)을 포함할 수 있다. 상기 오디오 서브시스템(145)은 직접적으로 또는 적절한 입/출력(I/O) 제어기를 통해 상기 인터페이스 회로(115)에 결합될 수 있다. 상기 오디오 서브시스템(145)은 스피커(146) 및 마이크(148)에 결합되어, 음성 인식, 음성 복제, 디지털 레코딩, 및 전화 기능들과 같은, 음성 지원 기능들을 원활하게 할 수 있다.The architecture 100 may include an audio subsystem 145. The audio subsystem 145 may be coupled to the interface circuit 115 directly or via a suitable input / output (I / O) controller. The audio subsystem 145 can be coupled to a speaker 146 and a microphone 148 to facilitate voice support functions, such as voice recognition, voice replication, digital recording, and phone functions.

상기 아키텍처(100)는 하나 이상의 무선 통신 서브시스템들(150)을 포함할 수 있다. 상기 무선 통신 서브시스템(들)(150) 각각은 직접적으로 또는 적절한 I/O 제어기(미도시)를 통해 상기 인터페이스 회로(115)에 결합될 수 있다. 상기 무선 통신 서브시스템(들)(150) 각각은 통신 기능들을 원활하게 할 수 있다. 상기 무선 통신 서브시스템들(150)의 예들에는 무선 주파수(radio frequency) 수신기들 및 송신기들, 및 광학적(예를 들면, 적외선) 수신기들 및 송신기들이 포함될 수 있지만, 이에 제한되지 않는다. 상기 무선 통신 서브시스템들(150)의 특정한 설계(design) 및 구현은 구현되는 상기 아키텍처(100)의 특정 유형 및/또는 상기 아키텍처(100)가 동작되고자 하는 통신 네트워크(들)에 의존할 수 있다.The architecture 100 may include one or more wireless communication subsystems 150. Each of the wireless communication subsystem (s) 150 may be coupled to the interface circuit 115 directly or via a suitable I / O controller (not shown). Each of the wireless communication subsystem (s) 150 can facilitate communication functions. Examples of the wireless communication subsystems 150 may include, but are not limited to, radio frequency receivers and transmitters, and optical (eg, infrared) receivers and transmitters. The specific design and implementation of the wireless communication subsystems 150 may depend on the specific type of architecture 100 being implemented and / or the communication network (s) on which the architecture 100 is intended to operate. .

예시적이고 비제한적 예들로서, 상기 무선 통신 서브시스템(들)(150)은 하나 이상의 모바일 네트워크들(예를 들면, GSM, GPRS, EDGE), WiMax 네트워크를 포함할 수 있는 WiFi 네트워크, 단거리(short-range) 무선 네트워크(예를 들면, 블루투스(Bluetooth®) 네트워크), NFC, 및/또는 이들의 어떤 조합을 통해 작동하도록 설계될 수 있다. 상기 무선 통신 서브시스템(들)(150)은, 상기 아키텍처(100)가 다른 무선 장치들에 대한 기지국(base station)으로서 구성될 수 있도록, 호스팅 프로토콜들(hosting protocols)을 구현할 수 있다.As illustrative and non-limiting examples, the wireless communication subsystem (s) 150 may comprise one or more mobile networks (eg, GSM, GPRS, EDGE), a WiMax network, a WiFi network, short-range. range can be designed to operate over a wireless network (eg, a Bluetooth® network), NFC, and / or any combination thereof. The wireless communication subsystem (s) 150 may implement hosting protocols such that the architecture 100 can be configured as a base station for other wireless devices.

상기 아키텍처(100)는 하나 이상의 센서들(155)을 포함할 수 있다. 상기 센서들(155) 각각은 직접적으로 또는 적절한 I/O 제어기(미도시)를 통해 상기 인터페이스 회로(115)에 결합될 수 있다. 상기 아키텍처(100)에 포함될 수 있는 상기 센서들(155)의 예들에는, 상기 아키텍처(100)를 사용하는 장치의 방향(orientation), 조명(lighting), 및 근접(proximity) 기능들을 각각 원활하게 하기 위한, 모션(motion) 센서, 광(light) 센서, 및 근접 센서가 포함되지만, 이에 제한되지 않는다. The architecture 100 may include one or more sensors 155. Each of the sensors 155 may be coupled to the interface circuit 115 directly or via a suitable I / O controller (not shown). Examples of the sensors 155 that may be included in the architecture 100 include facilitating orientation, lighting, and proximity functions, respectively, of a device using the architecture 100. Motion sensors, light sensors, and proximity sensors are included, but are not limited to these.

상기 센서들(155)의 다른 예들에는 지리적 위치 센서 데이터를 제공할 수 있는 위치 센서(예를 들면, GPS 수신기 및/또는 프로세서), 방향 내비게이션을 위해 자북(magnetic North)의 방향을 결정하는 데 이용될 수 있는 센서 데이터를 제공할 수 있는 전자 자력계(electronic magnetometer)(예를 들면, 집적 회로 칩), 상기 아키텍처(100)를 사용하는 장치의 운동의 속력 및 방향의 변화를 3차원적으로 나타내는 데이터를 제공할 수 있는 가속도계, 및 고도를 나타내는 데이터를 제공할 수 있는 고도계(altimeter)(예를 들면, 집적 회로)가 포함될 수 있지만, 이에 제한되지 않는다.Other examples of the sensors 155 include location sensors (eg, GPS receivers and / or processors) capable of providing geographic location sensor data, used to determine the direction of magnetic north for direction navigation. Electronic magnetometer (e.g., an integrated circuit chip) capable of providing sensor data that can be generated, and data representing in three dimensions a change in speed and direction of motion of a device using the architecture 100 An accelerometer capable of providing an altimeter, and an altimeter (eg, integrated circuit) capable of providing data indicative of altitude, but are not limited thereto.

상기 아키텍처(100)는 PPG 센서(160)를 포함할 수 있다. 상기 PPG 센서(160)는 직접적으로 또는 적절한 I/O 제어기(미도시)를 통해 상기 인터페이스 회로(115)에 결합될 수 있다. 상기 PPG 센서(160)는 광학 센서로서 구현될 수 있다. 상기 PPG 센서(160)는 사용자에 대한 PPG, 예를 들면, PPG 데이터를 생성할 수 있다. PPG는 광학적으로 얻어진 용적맥파(plethysmogram)이다. 일반적으로, PPG는 기관(organ)의 용적 측정치이다. 하나 이상의 실시예들에서, 상기 PPG 센서(160)는 피부에 빛을 비춰 광 흡수의 변화를 측정하여 혈액에서 운반되는 산소의 양을 결정하는 맥박 산소측정기(pulse oxymeter)로서 구현된다. The architecture 100 may include a PPG sensor 160. The PPG sensor 160 may be coupled to the interface circuit 115 directly or via a suitable I / O controller (not shown). The PPG sensor 160 may be implemented as an optical sensor. The PPG sensor 160 may generate PPG, for example, PPG data for the user. PPG is an optically obtained plethysmogram. In general, PPG is a volumetric measure of an organ. In one or more embodiments, the PPG sensor 160 is implemented as a pulse oxymeter that determines the amount of oxygen carried in the blood by measuring the change in light absorption by shining light on the skin.

특정 실시예들에서, 상기 PPG 센서(160)는 다중 채널 PPG 센서(예를 들면, 상이한 파장들의 빛을 발생시킬 수 있는 발광 다이오드들을 가짐)이다. 상기 PPG 센서(160)는 하나 이상의 건강 표지자들을 결정하는 데 및/또는 하나 이상의 건강 표지자들의 하나 이상의 대용(surrogate) 표지자들을 결정하는 데 이용될 수 있다. 하나 이상의 실시예들에서, 건강 표지자들은 "활력 징후들(vital signs)"로 칭해지기도 한다.In certain embodiments, the PPG sensor 160 is a multi-channel PPG sensor (eg, having light emitting diodes capable of generating light of different wavelengths). The PPG sensor 160 may be used to determine one or more health markers and / or to determine one or more surrogate markers of one or more health markers. In one or more embodiments, health markers may be referred to as "vital signs."

본 개시 내에서, 용어 "PPG 데이터"는 전술한 바와 같이 PPG 센서에 의해 생성되고 PPG 센서로부터 출력되는 데이터를 의미하는 데 사용된다. 본 개시 내에서, 용어들 "PPG 데이터" 및 "PPG 신호"는 때때로 상호교환적으로 사용될 수 있다. PPG 신호(들)은 PPG 데이터에 의해 직접적으로 특정됨을 이해해야 할 것이다.Within the present disclosure, the term "PPG data" is used to mean data generated by the PPG sensor and output from the PPG sensor as described above. Within the present disclosure, the terms "PPG data" and "PPG signal" may sometimes be used interchangeably. It will be appreciated that the PPG signal (s) are specified directly by the PPG data.

상기 아키텍처(100)는 상기 인터페이스 회로(115)에 결합되는 하나 이상의 입/출력(I/O) 장치들(165)을 더 포함할 수 있다. 상기 I/O 장치들(165)은 직접적으로 또는 개재되는 I/O 제어기(미도시)를 통해 상기 아키텍처(100)에, 예를 들면, 상기 인터페이스 회로(115)에 결합될 수 있다. 상기 I/O 장치들(165)의 예들에는 트랙 패드(track pad), 키보드, 표시 장치, 포인팅 장치, 하나 이상의 통신 포트들(예를 들면, 범용 직렬 버스(Universal Serial Bus: USB) 포트들)), 네트워크 어댑터, 및 버튼들 또는 기타 물리적 제어자들(controls)이 포함되지만, 이에 제한되지 않는다. The architecture 100 may further include one or more input / output (I / O) devices 165 coupled to the interface circuit 115. The I / O devices 165 may be coupled to the architecture 100, for example to the interface circuit 115, either directly or through an intervening I / O controller (not shown). Examples of the I / O devices 165 include a track pad, keyboard, display device, pointing device, one or more communication ports (eg, Universal Serial Bus (USB) ports). ), Network adapters, and buttons or other physical controls.

네트워크 어댑터는 상기 아키텍처(100)가, 개재되는 개인(private) 또는 공공(public) 네트워크들을 통해, 다른 시스템들, 컴퓨터 시스템들, 원격 프린터들, 및/또는 원격 저장 장치들에 결합될 수 있게 해 주는 회로를 말한다. 모뎀들, 케이블 모뎀들, 이더넷 인터페이스들, 및 상기 무선 통신 서브시스템(들)(150)의 일부가 아닌 무선 송수신기들이 상기 아키텍처(100)와 함께 이용될 수 있는 상이한 유형의 네트워크 어댑터들의 예들이다. 상기 I/O 장치들(165) 중 하나 이상은 상기 센서들(150) 중 하나 이상 또는 전부 및/또는 상기 무선 통신 서브시스템(들)(150) 중 하나 이상의 기능들을 제어하도록 적합화될(adapted) 수 있다.The network adapter allows the architecture 100 to be coupled to other systems, computer systems, remote printers, and / or remote storage devices through intervening private or public networks. Note refers to the circuit. Modems, cable modems, Ethernet interfaces, and wireless transceivers that are not part of the wireless communication subsystem (s) 150 are examples of different types of network adapters that may be used with the architecture 100. One or more of the I / O devices 165 may be adapted to control one or more or all of the sensors 150 and / or the functions of one or more of the wireless communication subsystem (s) 150. Can be.

상기 메모리(110)는 프로그램 코드를 저장한다. 프로그램 코드의 예들에는 루틴들(routines), 프로그램들, 객체들, 컴포넌트들(components), 로직(logic), 및 기타 데이터 구조들이 포함되지만, 이에 제한되지 않는다. 예시를 위해, 상기 메모리(110)는 운영 체제(operating system)(170) 및 애플리케이션(들)(175)을 저장한다. 상기 애플리케이션들(175)은, 예를 들면, PPG 신호 처리 애플리케이션을 포함할 수 있다. The memory 110 stores program codes. Examples of program code include, but are not limited to, routines, programs, objects, components, logic, and other data structures. For illustrative purposes, the memory 110 stores an operating system 170 and application (s) 175. The applications 175 may include, for example, a PPG signal processing application.

하나 이상의 실시예들에서, 상기 PPG 신호 처리 애플리케이션은, 실행 시, 상기 아키텍처(100)를 이용하여 구현된 장치로 하여금 및/또는, 상기 아키텍처(100)를 이용하여 구현된, 상기 장치와 통신적으로 링크될 수 있는 다른 장치들로 하여금 본 명세서에서 설명되는 다양한 동작들을 수행하도록 할 수 있다. 상기 메모리(110)는 또한, 상기 운영 체제(170)에 의해 이용되는 데이터, 상기 애플리케이션(들)(175)에 의해 이용되는 데이터, 사용자 입력들로부터 수신된 데이터, 상기 센서(들)(155) 중 하나 이상 또는 전부 및/또는 상기 PPG 센서(160)에 의해 생성된 데이터, 상기 카메라 서브시스템(140)에 의해 수신 및/또는 생성된 데이터, 오디오 서브시스템(145)에 의해 수신 및/또는 생성된 데이터, 및/또는 상기 I/O 장치들(165)에 의해 수신된 데이터든 상관 없이, 데이터를 저장할 수 있다.In one or more embodiments, the PPG signal processing application, when executed, causes a device implemented using the architecture 100 and / or is in communication with the device implemented using the architecture 100. Other devices that may be linked to may perform various operations described herein. The memory 110 may also include data used by the operating system 170, data used by the application (s) 175, data received from user inputs, and the sensor (s) 155. One or more or all of and / or data generated by the PPG sensor 160, data received and / or generated by the camera subsystem 140, received and / or generated by the audio subsystem 145. Data may be stored, regardless of the data received and / or the data received by the I / O devices 165.

일 양태에서, 실행가능 프로그램 코드의 형태로 구현된, 상기 운영 체제(170) 및 상기 애플리케이션(들)(175)은 상기 아키텍처(100)에 의해, 보다 구체적으로, 상기 프로세서(105)에 의해, 본 개시 내에서 설명된 상기 동작들을 수행하도록 수행된다. 이와 같이, 상기 운영 체제(170) 및 상기 애플리케이션(들)(175)은 상기 아키텍처(100)의 통합된 일부로 간주될 수 있다. 또한, 상기 아키텍처(100)(예를 들면, 상기 프로세서(105))에 의해 이용되는, 생성되는, 및/또는 동작되는 어떤 데이터 및/또는 프로그램 코드이든 상기 아키텍처(100)의 일부로서 채용 시 기능(functionality)을 부여하는 기능적 데이터 구조들임을 이해해야 할 것이다.In one aspect, the operating system 170 and the application (s) 175, implemented in the form of executable program code, are executed by the architecture 100, more specifically by the processor 105, It is performed to perform the above described operations within the present disclosure. As such, the operating system 170 and the application (s) 175 may be considered an integrated part of the architecture 100. In addition, any data and / or program code generated, and / or operated by, the architecture 100 (eg, the processor 105) may be employed when employed as part of the architecture 100. It should be understood that these are functional data structures that impart functionality.

상기 메모리(110)는 또한 추가적인 프로그램 코드를 저장할 수 있다. 추가적인 프로그램 코드의 예들에는: 하나 이상의 추가적 장치들, 하나 이상의 컴퓨터들, 및/또는 하나 이상의 서버들과의 통신을 원활하게 하는 명령어들; 그래픽 사용자 인터페이스(graphic user interface: GUI) 및/또는 UI 처리; 센서 관련 처리 및 기능들; 전화 관련 프로세스들 및 기능들; 전자 메시징(electronic-messaging) 관련 프로세스들 및 기능들; 웹 브라우징 관련 프로세스들 및 기능들; 미디어 처리 관련 프로세스들 및 기능들; GPS 및 내비게이션 관련 프로세스들 및 기능들; 보안 기능들; 및 웹 카메라 및/또는 웹 비디오 기능들을 포함하는 카메라 관련 프로세스들 및 기능들이 포함되지만, 이에 제한되지 않는다.The memory 110 may also store additional program code. Examples of additional program code include: instructions to facilitate communication with one or more additional devices, one or more computers, and / or one or more servers; Graphical user interface (GUI) and / or UI processing; Sensor related processes and functions; Telephone related processes and functions; Electronic-messaging related processes and functions; Web browsing related processes and functions; Media processing related processes and functions; GPS and navigation related processes and functions; Security functions; And camera related processes and functions, including but not limited to web camera and / or web video functions.

상기 아키텍처(100)는 전원(미도시)을 더 포함할 수 있다. 상기 전원은 상기 아키텍처(100)의 다양한 요소들에 전력을 공급할 수 있다. 일 실시예에서, 상기 전원은 하나 이상의 배터리들로서 구현된다. 상기 배터리들은, 일회용(disposable)(예를 들면, 교체식)이든 충전식(rechargeable)이든 상관 없이, 다양한 공지된 배터리 기술들 중 어떤 것이든 이용하여 구현될 수 있다. 다른 실시예에서, 상기 전원은 외부 전원으로부터 전력을 얻어 장치의 요소들에 전력(예를 들면, 직류(direct current: DC) 전력)을 공급하도록 구성된다. 충전식 배터리의 경우, 상기 전원은 외부 전원에 결합 시 상기 배터리 또는 배터리들을 충전할 수 있는 회로를 더 포함할 수 있다.The architecture 100 may further include a power source (not shown). The power source can power various elements of the architecture 100. In one embodiment, the power supply is implemented as one or more batteries. The batteries may be implemented using any of a variety of known battery technologies, whether disposable (eg, replaceable) or rechargeable. In another embodiment, the power source is configured to draw power from an external power source to supply power (eg, direct current (DC) power) to the elements of the device. In the case of a rechargeable battery, the power source may further include a circuit capable of charging the battery or batteries when coupled to an external power source.

상기 아키텍처(100)는 제한하고자 한 것이 아니라 예시의 목적으로 제공되는 것이다. 본 명세서에서 설명한 상기 동작들을 수행하도록 구성된 장치 및/또는 시스템은 도 1의 상기 아키텍처(100)와 다른 아키텍처를 이용할 수 있다. 그러한 다른 아키텍처는, 명령어들을 저장할 수 있는 메모리 및 명령어들을 실행할 수 있는 프로세서를 포함하는, 상기 아키텍처(100)의 단순화된 버전일 수 있다. The architecture 100 is provided for purposes of illustration and not of limitation. An apparatus and / or system configured to perform the operations described herein may use an architecture that is different from the architecture 100 of FIG. 1. Such other architecture may be a simplified version of the architecture 100, including a memory capable of storing instructions and a processor capable of executing the instructions.

이런 점에서, 상기 아키텍처(100)는, 구현되는 장치의 특정 유형에 따라, 도시한 것보다 더 적은 구성요소들을 포함하거나 또는 도 1에 도시되지 않은 추가적인 구성요소들을 포함할 수 있다. 또한, 포함되는 상기 특정한 운영 체제 및/또는 애플리케이션(들)은, 포함되는 I/O 장치들(165)의 유형들과 같이, 장치 유형에 따라 달라질 수 있다. 또한, 예시된 구성요소들 중 하나 이상은 다른 구성요소에 통합되거나 아니면 다른 구성요소의 일부를 형성할 수 있다. 예를 들면, 프로세서는 적어도 일부 메모리를 포함할 수 있다.In this regard, the architecture 100 may include fewer components than shown or additional components not shown in FIG. 1, depending on the particular type of device being implemented. In addition, the particular operating system and / or application (s) included may vary depending on the device type, such as types of I / O devices 165 included. In addition, one or more of the illustrated components may be incorporated into or otherwise form part of another component. For example, the processor may include at least some memory.

하나 이상의 실시예들에서, 도 1의 상기 아키텍처와 동일 또는 유사한 아키텍처를 이용하여 구현된 장치는 PPG 데이터의 준실시간 처리를 수행할 수 있다. 특정 실시예들에서, 상기 장치는, 각각의 상이한 처리 단계가 상기 PPG 데이터의 보다 정제된 표현을 생성할 수 있는, 캐스케이드식(cascaded) 처리 기법을 구현할 수 있다. In one or more embodiments, an apparatus implemented using the same or similar architecture as the architecture of FIG. 1 may perform quasi-real time processing of PPG data. In certain embodiments, the apparatus can implement a cascaded processing technique, wherein each different processing step can produce a more refined representation of the PPG data.

예를 들면, 각 단계는 수행되는 다중 차원 분석의 하나 이상의 차원들을 표현할 수 있고 생성된 표현(들)을 캐스케이드에서 다음 단계로 전달할 수 있다. 이전 단계들에서 수행된 계산의 일부는 후속 단계 또는 단계들에서 이용될 수 있다. 특정 실시예들에서, 상기 캐스케이드식 접근법은 다양한 단계들 내에서 직교(orthogonal) 처리 기법들을 이용한다. 상기 기법들의 직교성은 각 단계가 상기 PPG 데이터의 상이한 및/또는 독립적인 양태에서 동작하는 것을 말한다.For example, each step may represent one or more dimensions of the multi-dimensional analysis being performed and pass the generated representation (s) from cascade to the next step. Some of the calculations performed in the previous steps may be used in subsequent steps or steps. In certain embodiments, the cascaded approach employs orthogonal processing techniques within various steps. Orthogonality of the techniques means that each step operates in different and / or independent aspects of the PPG data.

하나 이상의 실시예들에서, 상기 장치에 의해 수행되는 준실시간 분석은 심박수와 같은 특정 건강 표지자의 기준선(baseline)에 대한 상기 건강 표지자의 평가를 용이하게 한다. 예를 들면, 특정 건강 표지자들은, 오직 기준선에 대해 상대적으로 평가될 수 있는, 자율신경계(Autonomic Nervous System: ANS) 측정치들이다. In one or more embodiments, the near real time analysis performed by the device facilitates the assessment of the health markers against the baseline of certain health markers such as heart rate. For example, certain health markers are Autonomic Nervous System (ANS) measurements that can only be evaluated relative to baseline.

예시적이고 비제한적인 예로서, 준실시간 분석에 의해 상기 장치는 사용자의 심박수와 같은 건강 표지자를 최근 과거 어느 때의 사용자의 심박수와 비교할 수 있다. 예를 들면, 상기 장치는 현재의 심박수 결정을 몇 초 전(예를 들면, 10, 20, 30, 40, 50, 또는 60 초 전)에 결정된 것과 비교할 수 있다. 이 비교를 통해, 상기 장치는 상기 건강 표지자가 상기 사용자에 대해 어떻게 변했는지를 결정할 수 있고 및/또는 상기 건강 표지자(들)을 밸리데이션할 수 있다.As an illustrative and non-limiting example, the near real time analysis allows the device to compare a health indicator, such as the user's heart rate, with the user's heart rate at any time in the past. For example, the device may compare the current heart rate determination with that determined a few seconds ago (eg, 10, 20, 30, 40, 50, or 60 seconds ago). Through this comparison, the device may determine how the health indicator has changed for the user and / or validate the health indicator (s).

도 2는 PPG 데이터를 처리하는 예시적 방법(200)을 도시한다. 상기 방법(200)은 도 1을 참조하여 설명한 상기 아키텍처와 동일 또는 유사한 아키텍처를 갖는 휴대용 장치에 의해 수행될 수 있다. 상기 방법(200)은 준실시간 처리 기법으로서 구현될 수 있다. 하나 이상의 실시예들에서, 상기 방법(200)은 세그먼트 별로 수행될 수 있다. 세그먼트는 PPG 데이터에 대해 정의된 시간 윈도우를 말한다. 상기 윈도우는 주어진 시간 구간(span) 내의 PPG 데이터로서 정의될 수 있다. 상기 시간 구간은 일 이상의 초(예를 들면, 5, 10, 20, 30, 40, 50, 또는 60 초)일 수 있다. 다른 예에서, 상기 윈도우는 미리 결정된 수의 PPG 데이터 샘플들로서 정의될 수 있다. 특정 실시예들에서, PPG 데이터의 상기 세그먼트는 상기 PPG 데이터를 가로질러 이동되는 슬라이딩 윈도우일 수 있다.2 illustrates an example method 200 of processing PPG data. The method 200 may be performed by a portable device having the same or similar architecture as the architecture described with reference to FIG. 1. The method 200 may be implemented as a near real time processing technique. In one or more embodiments, the method 200 may be performed segment by segment. A segment refers to a time window defined for PPG data. The window may be defined as PPG data within a given time span. The time interval may be one or more seconds (eg, 5, 10, 20, 30, 40, 50, or 60 seconds). In another example, the window may be defined as a predetermined number of PPG data samples. In certain embodiments, the segment of PPG data can be a sliding window that is moved across the PPG data.

상기 방법(200)은 상기 장치가 PPG 센서로부터 PPG 데이터를 수신 중인 상태에서 시작될 수 있다. 일반적으로, 상기 방법(200)은 PPG 데이터의 특정 세그먼트의 처리를 기술한다. 상기 윈도우가 시간에 맞춰 PPG 데이터를 가로질러 이동됨에 따라, 상기 방법(200)은 상기 PPG 데이터의 추가적인 세그먼트들의 처리를 계속하기 위해 반복될 수 있음을 이해해야 할 것이다.The method 200 may begin with the device receiving PPG data from a PPG sensor. In general, the method 200 describes the processing of a particular segment of PPG data. It will be appreciated that as the window is moved across PPG data in time, the method 200 may be repeated to continue processing additional segments of the PPG data.

블록(205)에서, 상기 장치는 상기 PPG 데이터의 세그먼트에 대한 품질 추정치(quality estimate)를 결정한다. 하나 이상의 실시예들에서, 상기 장치는 상기 PPG 데이터에 대한 신호 대 잡음비(signal-to-noise ratio: SNR)를 결정할 수 있다. 상기 SNR은 세그먼트 별로 결정될 수 있다. 상기 SNR 측정에 의해 상기 장치는, PPG 신호가 부족한, PPG 데이터의 세그먼트들을 식별할 수 있다. 상기 블록(205)의 추가적인 양태들은 본 명세서에서 도 3을 참조하여 보다 상세히 설명된다.At block 205, the apparatus determines a quality estimate for the segment of the PPG data. In one or more embodiments, the apparatus can determine a signal-to-noise ratio (SNR) for the PPG data. The SNR may be determined for each segment. The SNR measurement allows the device to identify segments of PPG data that lack a PPG signal. Additional aspects of the block 205 are described in more detail with reference to FIG. 3 herein.

블록(210)에서, 상기 장치는 PPG 데이터의 상기 세그먼트가 품질이 낮은지 여부를 결정한다. 예를 들면, 상기 장치는 상기 블록(205)에서의 PPG 데이터의 상기 세그먼트의 상기 품질 추정치를 품질 문턱값과 비교할 수 있다. 상기 품질 추정치는, 상기 PPG 데이터가 미리 결정된 SNR 미만에서는 거의 또는 전혀 가치가 없는 것으로 간주되는, 그러한 미리 결정된 SNR일 수 있다. At block 210, the device determines whether the segment of PPG data is of low quality. For example, the device may compare the quality estimate of the segment of PPG data at block 205 with a quality threshold. The quality estimate may be such predetermined SNR, in which the PPG data is considered to be of little or no value below the predetermined SNR.

예를 들면, 상기 품질 문턱값을 초과하지 않는 품질 추정를 갖는 PPG 데이터의 세그먼트들에 대해, 그러한 데이터를 이용하여 결정 또는 추정된 어떠한 건강 표지자들이든 신뢰성이 없다. PPG 데이터의 상기 세그먼트가 품질이 낮다는(예를 들면, 상기 품질 추정치가 상기 품질 문턱값을 초과하지 않는다는) 결정에 응답하여, 상기 방법(200)은 블록(215)으로 계속된다. PPG 데이터의 상기 세그먼트가 품질이 낮지 않다는(예를 들면, 상기 품질 추정치가 상기 품질 문턱값을 초과한다는) 결정에 응답하여, 상기 방법(200)은 블록(220)으로 계속된다.For example, for segments of PPG data having a quality estimate that does not exceed the quality threshold, any health markers determined or estimated using such data are unreliable. In response to determining that the segment of PPG data is of low quality (eg, the quality estimate does not exceed the quality threshold), the method 200 continues to block 215. In response to determining that the segment of PPG data is not low in quality (eg, the quality estimate exceeds the quality threshold), the method 200 continues to block 220.

상기 블록(215)에서, 상기 장치는 PPG 데이터의 상기 세그먼트를 거부한다. 예를 들면, 상기 장치는 상기 품질 문턱값을 초과하지 않는 품질 레벨을 갖는 상기 세그먼트를 삭제할 수 있다. 특정 실시예들에서, 상기 세그먼트를 거부함에 있어, 상기 장치는 PPG 데이터의 상기 세그먼트를 이용하여 어떠한 건강 표지자도 결정하려고 시도하지 않는다. 또한, 상기 장치는 상기 PPG 데이터 세그먼트가 건강 표지자들을 결정하는 데 사용하기에 적합하지 않음을 나타내는 알림을 제공할 수 있다. At block 215, the device rejects the segment of PPG data. For example, the device may delete the segment having a quality level that does not exceed the quality threshold. In certain embodiments, in rejecting the segment, the device does not attempt to determine any health indicator using the segment of PPG data. The device may also provide a notification indicating that the PPG data segment is not suitable for use in determining health markers.

하나 이상의 실시예들에서, 상기 알림은 상기 장치를 조정하여 차후 보다 높은 품질의 PPG 데이터를 얻도록 상기 사용자에게 지침(instructions)을 제공할 수 있다. 언급한 바와 같이, 도 2에 도시하지는 않았지만, 상기 방법(200)은 PPG 데이터의 추가적인 PPG 데이터 세그먼트들을 처리하기 위해 새롭게 시작될 수 있다.In one or more embodiments, the notification may provide instructions to the user to adjust the device to obtain higher quality PPG data later. As mentioned, although not shown in FIG. 2, the method 200 may be newly initiated to process additional PPG data segments of PPG data.

상기 블록(220)에서, 상기 장치는 상기 PPG 데이터 세그먼트를 보정 및/또는 필터링한다. 하나 이상의 실시예들에서, 상기 장치는 상기 PPG 데이터 세그먼트로부터 디노이징하는(de-noising) 단계를 포함하는 보정 프로세스를 상기 세그먼트에 대해 수행할 수 있다. 상기 장치는 또한 상기 PPG 데이터의 상기 세그먼트에 대해 필터링을 수행할 수 있다. 특정 실시예들에서, 상기 장치는, 적용되는 특정 필터가 상기 PPG 데이터 세그먼트 자체의 하나 이상의 속성들에 기반하여 복수의 상이한 이용가능 필터들로부터 선택되는, 동적 필터링 프로세스를 수행한다. 상기 블록(220)의 추가적인 양태들은 본 명세서에서 도 4를 참조하여 보다 상세히 설명된다. 하나 이상의 실시예들에서, 상기 장치는 상기 PPG 데이터 세그먼트의 주기성에 기반하여 상기 적용되는 특정 필터를 선택한다.In block 220, the device corrects and / or filters the PPG data segment. In one or more embodiments, the apparatus may perform a calibration process on the segment that includes de-noising from the PPG data segment. The apparatus may also perform filtering on the segment of the PPG data. In certain embodiments, the apparatus performs a dynamic filtering process wherein the particular filter applied is selected from a plurality of different available filters based on one or more attributes of the PPG data segment itself. Additional aspects of the block 220 are described in more detail with reference to FIG. 4 herein. In one or more embodiments, the device selects the particular filter applied based on the periodicity of the PPG data segment.

블록(225)에서, 상기 장치는, 선택적으로(optionally), 상기 PPG 데이터 세그먼트의 맥동 진폭(pulsatile amplitude)을 결정한다. 검출가능한 심장박동을 갖는 유기 객체들(organic objects)로부터 수집된 PPG 데이터 및 검출가능한 심장박동을 갖지 않는 유기 객체들로부터 수집된 PPG 데이터를 구별하기 위해, 상기 장치는 상기 PPG 데이터의 분산(variance) 또는 공분산(covariance)의 런닝 추정(running estimate) 을 수행할 수 있다. 상기 PPG 센서가 단일 파장 센서인(예를 들면, 다중 채널이 아닌) 경우, 상기 PPG 신호 분산은 혈류의 역동성(dynamics)과 함께 증가한다. 이러한 신호 분산의 증가로 인해 맥동 압력파(pulse pressure wave)는 최대 진폭과 최소 진폭 사이를 교번한다. 심장박동이 있는 경우, 상기 맥동 진폭은 동맥혈(arterial blood)의 맥동(pulsation)을 나타낸다.At block 225, the device optionally determines the pulsatile amplitude of the PPG data segment. In order to distinguish PPG data collected from organic objects with a detectable heartbeat and PPG data collected from organic objects without a detectable heartbeat, the apparatus is adapted to variance of the PPG data. Alternatively, a running estimate of covariance may be performed. If the PPG sensor is a single wavelength sensor (eg, not multi-channel), the PPG signal dispersion increases with the dynamics of blood flow. This increase in signal dispersion causes the pulse pressure wave to alternate between maximum and minimum amplitude. If there is a heartbeat, the pulsation amplitude indicates the pulsation of arterial blood.

상기 PPG 신호의 DC 레벨(예를 들면, 주기 함수의 평균값)은 상기 혈액의 비맥동 성분(non-pulsatile component)을 나타낸다. 상기 혈액의 상기 비맥동 성분은 비맥동 동맥혈, 정맥혈, 및 배경 조직들(background tissues)(예를 들면, 뼈, 연골(cartilage), 및 세포외액(extra-cellular fluids))에서의 흡수를 포함한다. The DC level (e.g., the mean value of the periodic function) of the PPG signal represents the non-pulsatile component of the blood. The non-pulsating component of the blood includes non-pulsating arterial blood, venous blood, and absorption in background tissues (eg, bone, cartilage, and extra-cellular fluids). .

인체에서, 맥동 성분은 통상 총 PPG 신호의 10% 이하이다. 이 특성은 상기 PPG 센서에 의해 감지되는 PPG 신호의 소스가 단지 비활성(inert) 표면으로부터의 반사인 경우의 PPG 신호들에서는 지켜지지 않는다. 상기 PPG 신호가 비활성 표면으로부터의 반사인 경우, 상기 맥동 진폭은 상기 신호의 DC 레벨에 대해 불규칙적으로 변할 수 있다. 예를 들면, 상기 PPG 신호의 AC 성분과 DC 성분의 비가 0.1보다 크거나 또는 0.01보다 작은 경우, 상기 장치는 획득된 상기 PPG 신호가 혈액에 의해 변조되지 않았다고 결정할 수 있다.In the human body, the pulsating component is typically 10% or less of the total PPG signal. This property is not observed in PPG signals where the source of the PPG signal sensed by the PPG sensor is only a reflection from an inert surface. If the PPG signal is a reflection from an inactive surface, the pulsation amplitude may vary irregularly with respect to the DC level of the signal. For example, if the ratio of the AC and DC components of the PPG signal is greater than 0.1 or less than 0.01, the device may determine that the PPG signal obtained is not modulated by blood.

상기 PPG 센서가 다중 채널인 경우의 실시예들에서, 상기 장치는 상기 PPG 센서의 제1 채널을 사용하여 생성된 PPG 신호와 상기 PPG 센서의 제2 채널을 사용하여 생성된 PPG 신호 간의 PPG 데이터의 공분산을 결정할 수 있다. 상기 장치는 상기 PPG 데이터가, 미리 결정된 문턱값을 초과할 때, 혈류를 나타내는 것으로 결정할 수 있다.In embodiments where the PPG sensor is multi-channel, the device may be configured to determine the PPG data between the PPG signal generated using the first channel of the PPG sensor and the PPG signal generated using the second channel of the PPG sensor. Covariance can be determined. The device may determine that the PPG data indicates blood flow when it exceeds a predetermined threshold.

블록(230)에서, 상기 장치는 상기 PPG 데이터 세그먼트가 유효한지(valid) 여부를 결정한다. 예를 들면, 상기 장치가 맥동 진폭을 측정하는 경우, 상기 장치는 상기 맥동 진폭이, 유효한 PPG 신호에 상응하는, 정의된 범위 내에 있는지 여부를 결정할 수 있다. 유효한 PPG 신호는 상기 맥동 진폭이 대략 0.01과 대략 0.1(단일 채널 PPG 센서에 대해) 사이에 있는 PPG 신호이다. At block 230, the device determines whether the PPG data segment is valid. For example, when the device measures the pulsation amplitude, the device may determine whether the pulsation amplitude is within a defined range, corresponding to a valid PPG signal. A valid PPG signal is a PPG signal whose pulsation amplitude is between about 0.01 and about 0.1 (for a single channel PPG sensor).

예를 들면, 상기 장치는 0.01≤맥동 진폭≤0.1이 참인지 여부를 결정한다. 다중 채널 PPG 센서의 경우, 상기 장치는 상기 공분산이 문턱값을 초과하는지 여부를 결정할 수 있다. 상기 세그먼트가 유효하다는(예를 들면, 단일 채널 PPG 센서에 대해 .01≤맥동 진폭≤0.1이 참인 경우 또는 다중 채널 PPG 센서에 대해 상기 공분산이 문턱값을 초과하는 경우) 결정에 응답하여, 상기 방법(200)은 블록(240)으로 계속된다. 상기 세그먼트가 유효하지 않다는 결정에 응답하여, 상기 방법(200)은 블록(235)으로 계속된다.For example, the device determines whether 0.01 ≦ pulse amplitude ≦ 0.1 is true. In the case of a multi-channel PPG sensor, the device may determine whether the covariance exceeds a threshold. In response to determining that the segment is valid (eg, when .01 ≦ pulse amplitude ≦ 0.1 is true for a single channel PPG sensor or when the covariance exceeds a threshold for a multichannel PPG sensor), 200 continues to block 240. In response to determining that the segment is invalid, the method 200 continues to block 235.

상기 블록(235)에서, 상기 장치는 상기 PPG 데이터 세그먼트를 거부할 수 있고 및/또는 알림을 생성할 수 있다. 예를 들면, 상기 장치는 전술한 바와 같이 상기 세그먼트를 거부할 수 있다. 상기 세그먼트를 거부함에 있어, 예를 들면, 상기 장치는 상기 PPG 데이터 세그먼트를 이용하여 어떠한 건강 표지자도 결정하려고 시도하지 않는다. 또한, 상기 장치는 상기 PPG 데이터 세그먼트가 건강 표지자들을 결정하는 데 사용하기에 적합하지 않음을 나타내는 알림을 제공할 수 있다. 하나 이상의 실시예들에서, 상기 알림은 상기 장치를 조정하여 차후 보다 높은 품질의 PPG 데이터를 얻도록 상기 사용자에게 지침을 제공할 수 있다.At block 235, the device may reject the PPG data segment and / or generate a notification. For example, the device may reject the segment as described above. In rejecting the segment, for example, the device does not attempt to determine any health indicator using the PPG data segment. The device may also provide a notification indicating that the PPG data segment is not suitable for use in determining health markers. In one or more embodiments, the notification can provide instructions to the user to adjust the device to obtain higher quality PPG data later.

상기 블록(240)에서, 상기 장치는 상기 PPG 데이터로부터 하나 이상의 건강 표지자들을 결정할 수 있다. 상기 장치가 상기 PPG 데이터로부터 결정할 수 있는 상이한 각종 건강 표지자들의 예들에는 심박수, 심박 변이도(HRV), 스트레스, 혈압, 호흡, 및 동맥 긴장도가 포함되지만, 이에 제한되지 않는다. 예를 들면, 상기 장치는 PPG RR 간격(interval)을 결정할 수 있다(여기서 "RR"은 연속되는 R들 간의 간격이며 R은 상기 PPG의 피크를 나타낸다). 상기 PPG RR 간격은 상기 사용자에 대한 HRV이다. In block 240, the device may determine one or more health markers from the PPG data. Examples of different various health markers that the device can determine from the PPG data include, but are not limited to, heart rate, heart rate variability (HRV), stress, blood pressure, respiration, and arterial tension. For example, the device may determine a PPG RR interval, where "RR" is the interval between successive Rs and R represents the peak of the PPG. The PPG RR interval is an HRV for the user.

알려진 바와 같이, HRV는 심장 박동들 간의 시간 간격이 변하는 생리 현상이다. HRV는 박동간 간격의 변화에 의해 측정된다. 상기 장치는 심박수의 추정치를 구하기 위해 HRV의 역수를 결정하고 그 결과를 스케일링(scaling)할 수 있다. 상기 장치는 또한 상기 사용자에 대한 스트레스를 결정할 수 있다. 상기 장치는 상기 HRV의 도함수를 취하여 스트레스를 결정할 수 있다.As is known, HRV is a physiological phenomenon in which the time interval between heart beats changes. HRV is measured by the change in interval between beats. The device may determine the inverse of the HRV and scale the result to obtain an estimate of heart rate. The device may also determine stress for the user. The device can determine the stress by taking the derivative of the HRV.

상기 장치는 상기 PPG 신호의 곡선 아래 면적(area under the curve: AUC)에 기반하여 상기 사용자에 대한 혈압을 결정할 수 있다. 상기 장치는, 예를 들면, PPG 신호의 AUC에 기반하여 상기 사용자에 대한 수축기 혈압(systolic blood pressure)을 결정할 수 있다. 보다 큰 AUC는 보다 높은 수축기 혈압에 대응한다. The device may determine the blood pressure for the user based on an area under the curve (AUC) of the PPG signal. The device may determine systolic blood pressure for the user based, for example, on the AUC of the PPG signal. Larger AUCs correspond to higher systolic blood pressure.

예시적이고 비제한적인 예로서, 일부 연구를 통해 수축기 혈압의 초저주파(very low frequency: VLF) 변동(fluctuations)이 PPG와 관련이 있음이 밝혀졌는데, 여기서 수축기 혈압은 10분의 시간에 걸쳐 PPG 진폭(AM)의 VLF 변동과 대략 -0.81의 상관 계수(correlation coefficient)를 갖고 PPG 기준선(BL)과 대략 0.83의 상관 계수를 갖는 것으로 밝혀졌다.As an illustrative and non-limiting example, some studies have shown that very low frequency (VLF) fluctuations in systolic blood pressure are associated with PPG, where systolic blood pressure is the PPG amplitude over a 10 minute period. It was found to have a correlation coefficient of approximately -0.81 with the VLF variation of (AM) and a correlation coefficient of approximately 0.83 with the PPG baseline (BL).

블록(245)에서, 상기 장치는 상기 블록(240)에서 결정된 건강 표지자(들)을 밸리데이션할 수 있다. 하나 이상의 실시예들에서, 상기 장치는 상기 사용자에 대한 상기 건강 표지자의 이전 결정들에 기반하여 상기 건강 표지자를 밸리데이션한다. 일 예에서, 상기 장치는 상기 블록(240)에서 결정된 상기 건강 표지자가 인간에 있어서의 상기 건강 표지자에 대한 미리 결정된 생리적 범위 내에 있는지 여부를 결정할 수 있다. 심박수의 측정치는 알려진 심박수 범위와 비교될 수 있다. HRV는 알려진 HRV 범위와 비교될 수 있다. 본 명세서에서 보다 상세히 설명하는 바와 같이, 건강 메트릭(metric)이 비교되는 생리적 범위는 관성 센서 데이터에 기반하여 조정될 수 있다.At block 245, the device may validate the health indicator (s) determined at block 240. In one or more embodiments, the device validates the health indicator based on previous determinations of the health indicator for the user. In one example, the device may determine whether the health marker determined at block 240 is within a predetermined physiological range for the health marker in humans. Measurements of heart rate can be compared to known heart rate ranges. HRV can be compared with known HRV ranges. As described in more detail herein, the physiological range with which the health metric is compared can be adjusted based on inertial sensor data.

다른 예에서, 상기 장치는 상기 블록(240)에서 결정된 상기 건강 표지자가 그러한 건강 표지자들의 시계열에 있어서 직전에 측정된 동일한 유형의 건강 표지자의 미리 결정된 양 내에 있는지 여부를 결정함으로써 상기 건강 표지자를 밸리데이션할 수 있다. 상기 장치는, 예를 들면, 그러한 건강 표지자들의 시계열에 있어서 상기 건강 표지자에서 관찰된 변화량이 허용 레벨들(acceptable levels) 내에 있는지 여부를 결정할 수 있다.In another example, the device may validate the health indicator by determining whether the health indicator determined at block 240 is within a predetermined amount of health markers of the same type measured immediately prior to the time series of such health markers. Can be. The device may, for example, determine whether the amount of change observed in the health marker in the time series of such health markers is within acceptable levels.

하나 이상의 실시예들에서, 상기 블록(245)에서 수행되는 밸리데이션은 상기 PPG 데이터 세그먼트에 대해 사후 보정(post hoc correction)을 수행하는 단계를 포함한다. 경우에 따라, 상기 장치는 상기 PPG 데이터 세그먼트에 하나 이상의 보정 기법들을 적용할 수 있다. 밸리데이션에 관한 추가적인 양태들은 도 5를 참조하여 보다 상세히 설명된다.In one or more embodiments, the validation performed at block 245 includes performing post hoc correction on the PPG data segment. In some cases, the device may apply one or more correction techniques to the PPG data segment. Additional aspects regarding validation are described in more detail with reference to FIG. 5.

블록(250)에서, 상기 장치는 상기 블록(240)에서 결정된 상기 건강 표지자(들)을 출력할 수 있다. 보다 구체적으로, 상기 장치는, 각각의 건강 표지자의 성공적인 밸리데이션에 응답하여, 상기 블록(240)에서 결정된 상기 건강 표지자(들)을 출력할 수 있다.At block 250, the device may output the health indicator (s) determined at block 240. More specifically, the device may output the health indicator (s) determined at block 240 in response to successful validation of each health indicator.

도 3은 상기 PPG 데이터에 대한 품질 추정의 예시적 방법(300)을 도시한다. 상기 방법(300)은 본 명세서에서 도 1을 참조하여 설명한 바와 같은 장치에 의해 수행될 수 있다. 하나 이상의 실시예들에서, 상기 방법(300)은 도 2의 상기 블록(205)을 구현하도록 상기 장치에 의해 수행될 수 있다.3 illustrates an example method 300 of quality estimation for the PPG data. The method 300 may be performed by an apparatus as described with reference to FIG. 1 herein. In one or more embodiments, the method 300 may be performed by the apparatus to implement the block 205 of FIG. 2.

블록(305)에서, 상기 장치는, 선택적으로(optionally), 상기 PPG 데이터 세그먼트에 대한 공분산을 결정한다. 하나 이상의 실시예들에서, 상기 PPG 센서가 다중 채널 PPG 센서인 경우, 상기 장치는 상기 PPG 센서의 하나의 채널(예를 들면, 적색과 같이 제1 파장을 갖는 제1 LED)로부터의 PPG 신호와 상기 PPG 센서의 제2 채널(예를 들면, 적외선과 같이 제2 파장을 갖는 제2 LED)로부터의 PPG 신호의 공분산을 결정할 수 있다. 특정 실시예들에서, 상기 장치는, 선택적으로, 도 2의 상기 블록(205)을 참조하여 설명한 바와 같이 분산을 결정할 수 있다.At block 305, the device optionally determines a covariance for the PPG data segment. In one or more embodiments, if the PPG sensor is a multi-channel PPG sensor, the device may comprise a PPG signal from one channel of the PPG sensor (eg, a first LED having a first wavelength, such as red). Covariance of a PPG signal from a second channel (eg, a second LED having a second wavelength, such as infrared light) of the PPG sensor may be determined. In certain embodiments, the apparatus may optionally determine the variance as described with reference to the block 205 of FIG. 2.

블록(310)에서, 상기 장치는 상기 PPG 데이터 세그먼트에 대한 상호 정보량(mutual information)를 결정한다. 상호 정보량은 주어진 측정치 x(t)가 나중에 취해진 다른 측정치 x(t+

Figure pct00001
)에 대해 제공하는 평균 데이터량(예를 들면, 데이터 비트(bits of data))을 나타내는 양이다. 보다 공식적으로, 상호 정보량은 하나의 랜덤 변수가 다른 랜덤 변수에 관해 제공하는 평균 정보량(예를 들면, 비트단위로)으로서 정의된다. 하기 식 1은 식으로 표현된 상호 정보량(MI)을 보여준다.At block 310, the apparatus determines mutual information for the PPG data segment. The amount of mutual information is given by another given measurement x (t +)
Figure pct00001
) Is an amount representing an average amount of data (for example, bits of data) to be provided. More formally, the amount of mutual information is defined as the average amount of information (eg, in bits) that one random variable provides for another random variable. Equation 1 below shows the mutual information amount (MI) expressed by the equation.

Figure pct00002
(1)
Figure pct00002
(One)

식 1은 주기 신호에 상응하는 지연(delay)에 대한 고도의 상호 정보량을 나타낸다. 비교되는 두 데이터 세트들이 많이 다르지 않기 때문에, 상기 상호 정보량은 작은 지연(

Figure pct00003
)이 주어진 주기 신호에 대해 상대적으로 높을 것이다.
Figure pct00004
가 커짐에 따라, 비-지연(non-delayed) 측정치 x(t)가 x(t+
Figure pct00005
)에 관해 제공하는 정보는 적어진다. 상기 상호 정보량의 감소는 상기 지연이 상기 신호의 주기성(상기 신호에 주기성이 있는 경우)과 일치할 때까지 계속된다.Equation 1 represents a high amount of mutual information for a delay corresponding to a periodic signal. Since the two data sets being compared are not very different, the amount of mutual information is
Figure pct00003
Will be relatively high for a given periodic signal.
Figure pct00004
As becomes larger, the non-delayed measurement x (t) becomes x (t +
Figure pct00005
Less information is provided. The decrease in the amount of mutual information continues until the delay matches the periodicity of the signal (if the signal has periodicity).

블록(310)에서, 상기 PPG 데이터에 대한 상호 정보량을 결정하는 단계의 일부로서, 상기 장치는 여러 가지 상이한 양들을 결정할 수 있다. 하나 이상의 실시예들에서, 상기 장치는 SNR의 측정치를 결정한다. 상기 장치는, 예를 들면, 피크 SNR을 결정한다. 상기 장치는 또한 정보 스펙트럼에서 보이는 피크의 특유의 폭(characteristic width)을 기준으로 폭을 결정할 수 있다. 일 예로서, 상기 폭은 특정 피크의 반치전폭(full-width half-max: FWHM)일 수 있다. 일반적으로, 상기 피크의 주변 영역들에는 더 많은 포인트들이 있기 때문에, 백색 노이즈의 존재는 상기 FWHM을 더 작아지게 만든다. 상기 블록(310)은 정규화된 윈도우형 접근법(windowed-approach)의 일부이므로, 피크 최대값은 인접 래그들(lags)에 비해 더 낮다. 상기 장치는 또한 상기 PPG 데이터에 의해 특정되는 PPG 신호들의 주기의 추정치를 결정할 수 있다.At block 310, as part of determining the amount of mutual information for the PPG data, the apparatus may determine several different amounts. In one or more embodiments, the apparatus determines a measure of SNR. The apparatus determines, for example, the peak SNR. The apparatus may also determine the width based on the characteristic width of the peaks seen in the information spectrum. As an example, the width may be the full-width half-max (FWHM) of a particular peak. In general, the presence of white noise makes the FWHM smaller because there are more points in the surrounding areas of the peak. Since the block 310 is part of a normalized windowed approach, the peak maximum is lower than the adjacent lags. The apparatus may also determine an estimate of the period of the PPG signals specified by the PPG data.

블록(315)에서, 상기 장치는 상기 PPG 데이터 세그먼트에 대한 품질(예를 들면, 신호 품질)을 추정할 수 있다. 하나 이상의 실시예들에서, 상기 장치는 상기 신호 품질을 낮음, 중간, 또는 높음으로 분류할 수 있다. 예를 들면, 상기 장치는 품질 점수를, 신호 품질의 상이한 유형들(classifications)에 매핑되는, 상기 품질 점수에 대한 미리 결정된 범위들과 비교할 수 있다. 상기 장치는, 상기 품질 점수가 어느 범위에 속하는지에 기반하여, 상기 PPG 데이터 세그먼트에 신호 품질을 부여할 수 있다.At block 315, the device may estimate the quality (eg, signal quality) for the PPG data segment. In one or more embodiments, the device may classify the signal quality as low, medium, or high. For example, the apparatus may compare the quality score with predetermined ranges for the quality score, which map to different classes of signal quality. The apparatus may assign a signal quality to the PPG data segment based on which range the quality score belongs to.

하나 이상의 실시예들에서, 상기 품질 점수는 상기 SNR의 측정치일 수 있다. 하나 이상의 실시예들에서, 상기 품질 점수는 공분산 및/또는 분산 및 상기 SNR의 측정치를 이용하여 결정될 수 있다. 예시적이고 비제한적인 예로서, 상기 장치는 상기 공분산 및/또는 분산에 가중 인자(weighting factor)를 곱하고 상기 SNR의 측정치에 다른 가중 인자를 곱하여 그 결과들을 합산함으로써 상기 품질 점수를 계산할 수 있다. 어떤 경우에도, 상기 장치는 상기 PPG 데이터 세그먼트의 품질을 낮음, 중간, 또는 높음으로 추정하고 상기 추정된 품질을 출력한다. 도 2를 참조하여 설명한 바와 같이, 상기 블록(210)은 상기 신호 품질을 평가하여, 상기 추정된 품질에 기반하여 상기 PPG 데이터 세그먼트를 계속 처리하거나 아니면 상기 PPG 데이터 세그먼트를 거부할 수 있다.In one or more embodiments, the quality score may be a measure of the SNR. In one or more embodiments, the quality score can be determined using measurements of covariance and / or variance and the SNR. As an illustrative and non-limiting example, the device may calculate the quality score by multiplying the covariance and / or variance by a weighting factor and multiplying the measurement of the SNR by another weighting factor and summing the results. In any case, the device estimates the quality of the PPG data segment as low, medium, or high and outputs the estimated quality. As described with reference to FIG. 2, the block 210 may evaluate the signal quality to continue processing the PPG data segment or reject the PPG data segment based on the estimated quality.

다음의 논의는, 상기 장치에 의해 수행되고 본 명세서에서 도 3의 상기 블록(310)을 참조하여 설명한 바와 같이, PPG 데이터의 세그먼트에서 상호 정보량을 결정하는 예시적 방법을 예시한다. 상기 장치는 상기 PPG 데이터 세그먼트를 저장할 수 있다. 논의한 바와 같이, 데이터 어레이 x로 지칭되기도 하는, 상기 PPG 데이터 세그먼트는 특정 윈도우를 위한 것이다. 상기 PPG 데이터는 탈경향되고(detrended) 필터링된 PPG 샘플들일 수 있다. The following discussion illustrates an example method of determining the amount of mutual information in a segment of PPG data, as performed by the apparatus and described herein with reference to block 310 of FIG. 3. The device may store the PPG data segment. As discussed, the PPG data segment, also referred to as data array x, is for a specific window. The PPG data may be detrended and filtered PPG samples.

일 예에서, 상기 PPG 데이터 세그먼트는 200개의 샘플들을 포함할 수 있다. 샘플들의 수는 범위 내에 있을 수 있으며, 여기서 상기 범위의 하단은 점진적인 주기성 드리프트(drift)를 피하기 위해 호흡 부비동 부정맥(respiratory sinus arrhythmia: RSA) 사이클 내에 있을 만큼 충분히 작고, 상기 범위의 상단은, 관심 있는 특정 주파수 성분들(예를 들면, 심박수)을 검출할 수 있을 만큼 충분히 작은, a

Figure pct00006
t=
Figure pct00007
를 포함할 만큼 충분히 크다. 다른 샘플 크기들이 이용될 수 있다. 본 명세서에서 제공되는 상기 예는 제한하고자 한 것이 아니라 예시를 위한 것이다.In one example, the PPG data segment may include 200 samples. The number of samples may be in a range, where the bottom of the range is small enough to be in a respiratory sinus arrhythmia (RSA) cycle to avoid gradual periodic drift, the top of the range being of interest Small enough to detect specific frequency components (eg, heart rate), a
Figure pct00006
t =
Figure pct00007
Big enough to contain Other sample sizes may be used. The examples provided herein are for purposes of illustration and not limitation.

상기 장치는 상기 PPG 데이터로부터 지연된 포인트들을 생성할 수 있다. 하나 이상의 실시예들에서, 상기 장치는, 데이터 어레이 x로 부터,

Figure pct00008
만큼 지연된 데이터 어레이를 생성할 수 있으며, 여기서
Figure pct00009
는 1에서 N까지 변하여 N개의 상이한 (지연된) 데이터 어레이들을 생성한다. 일단 상기 데이터 어레이들이 생성되면, 상기 장치는 X와 X(t+
Figure pct00010
) 사이에서 상기 상호 정보량을 계산할 수 있다. 상기 장치는 상기 상호 정보량을 다른 데이터 어레이에
Figure pct00011
가 증가하는 순서로 저장할 수 있다.The device may generate delayed points from the PPG data. In one or more embodiments, the device comprises, from data array x,
Figure pct00008
Create a data array delayed by
Figure pct00009
U varies from 1 to N to produce N different (delayed) data arrays. Once the data arrays have been created, the device has X and X (t +
Figure pct00010
The amount of mutual information can be calculated between The device transfers the mutual information amount to another data array.
Figure pct00011
Can be stored in increasing order.

평균 상호 정보량을 계산하기 위해, 상기 장치는 길이가 N인 시계열값 어레이 X를 처리한다. 상기 장치는 X를 정규화하고 0에서 시작하도록 상기 데이터를 수직으로 이동시킬 수 있다. 예를 들면, 상기 장치는, 하기 식 2 및 식 3에 나타낸 바와 같이, 최소값을 뺀 다음 최대값으로 나눌 수 있다.To calculate the average amount of mutual information, the apparatus processes a time series array X of length N. The device may move the data vertically to normalize X and start at zero. For example, the apparatus can be divided by the maximum value after subtracting the minimum value, as shown in Equations 2 and 3 below.

Figure pct00012
(2)
Figure pct00012
(2)

Figure pct00013
(3)
Figure pct00013
(3)

상기 장치는 의

Figure pct00014
데이터를
Figure pct00015
만큼 지연시켜
Figure pct00016
의 결과를 산출할 수 있다.
Figure pct00017
Figure pct00018
의 지연 이미지(delayed-image)이다. 상기 장치는
Figure pct00019
를 이용하여 상기 상호 정보량을 계산할 수 있다.The device is
Figure pct00014
Data
Figure pct00015
Delayed by
Figure pct00016
Can yield the result of.
Figure pct00017
Is
Figure pct00018
Is a delayed-image of. The device is
Figure pct00019
The amount of mutual information can be calculated using.

하나 이상의 실시예들에서, 상기 장치는 분포 함수들(distribution functions)을 미리 결정된 수의 빈들(bins)로 분할할 수 있다. 이는 본 예에서

Figure pct00020
의 2차원 묘사(portrait)이므로, 상기 파티션들(partitions)은 2차원 박스 파티션들일 수 있다. 특정 실시예들에서, 빈 크기는 일정할 수 있고 하기 식 4를 이용하여 계산될 수 있다.In one or more embodiments, the apparatus can divide the distribution functions into a predetermined number of bins. In this example
Figure pct00020
The partitions may be two-dimensional box partitions because of the two-dimensional portrait of. In certain embodiments, bin size may be constant and may be calculated using Equation 4 below.

Figure pct00021
(4)
Figure pct00021
(4)

식 4에 기반하여, 본 위상 묘사(phase portrait)에는 N2개의 박스들이 있다. 식 4의 예에서, N은

Figure pct00022
Figure pct00023
의 길이이다. 상기 빈들이 너무 큰 경우, 상기 분포는 빈당(per bin) 더 많은 포인트들을 가지며 정확성이 향상된다. 상기 빈들이 너무 크기 때문에, 상기 장치의 상기 프로세서는 짧은 거리들(시간 래그들)에 걸친 상호 정보량의 변화를 추적하지 못 할 수 있다. 상기 빈 크기가 보다 작은 경우, 정확성은 저하되지만, 전체적인 해상도는 증가한다.Based on Equation 4, there are N 2 boxes in this phase portrait. In the example of equation 4, N is
Figure pct00022
And
Figure pct00023
Is the length of. If the bins are too large, the distribution has more points per bin and the accuracy is improved. Because the bins are so large, the processor of the device may not be able to track changes in the amount of mutual information over short distances (time lags). If the bin size is smaller, the accuracy is degraded, but the overall resolution is increased.

하나 이상의 실시예들에서, 빈들의 수는 동작 시 동적으로 적합화될(adapted) 수 있다. 상기 장치는 빈들의 수가 위상 공간의 영역들에 대해 일정하지 않도록 빈들의 수를 적합화할 수 있다.In one or more embodiments, the number of bins may be dynamically adapted in operation. The apparatus may adapt the number of bins such that the number of bins is not constant for regions of the phase space.

특정 실시예들에서, 이 시점에서, 상기 장치는 분산을 체크할 수 있다. 실제로, 상기 분산은 0이 되지 않을 것이다. 그러나, 상기 분산이 0으로 계산된다면, 상기 상호 정보량도 또한 0이 될 것이다.In certain embodiments, at this point, the device may check for variance. In practice, the variance will not be zero. However, if the variance is calculated as zero, then the mutual information amount will also be zero.

상기 장치는 박스 검색(box-search) 변수들 s1 및 s2를 이용하며, 여기서 특정 박스는 포인트 (s1i,s2j)에 상응한다. 상기 장치는

Figure pct00024
의 모든 인스턴스에 대해 상기 박스 검색 변수들을 순회할(traversing) 수 있다. 특정 실시예들에서, 상기 장치는 구현 시 중첩 for 루프(nested for-loop)를 이용하여 상기 순회(traversal)를 수행할 수 있다. The apparatus uses box-search variables s 1 and s 2 , where a particular box corresponds to point (s 1i , s 2j ). The device is
Figure pct00024
It is possible to traverse the box search variables for all instances of. In certain embodiments, the apparatus can perform the traversal using a nested for-loop in implementation.

예를 들면, s2는 위상 공간의 내부-수평축을 따르는 파티션일 수 있지만, s2는 위상 공간의 내부-수직축을 따르는 파티션이다. 하기 식 5 내지 식 14를 참조하면, p는 결합 확률 분포(joint probability distribution)를 의미하고, px

Figure pct00025
의 확률 분포를 의미하며, py
Figure pct00026
의 확률 분포를 의미한다. 상기 장치는, 식 5 내지 식 14에 의해 정의되는 조건들을 만족시키는,
Figure pct00027
의 모든 인스턴스들을 구할 수 있다.For example, s 2 may be a partition along the inner-horizontal axis of the phase space, but s 2 is a partition along the inner-vertical axis of the phase space. Referring to Equations 5 to 14, p denotes a joint probability distribution, and p x
Figure pct00025
Means the probability distribution of, and p y is
Figure pct00026
Means the probability distribution. The apparatus satisfies the conditions defined by equations 5 to 14.
Figure pct00027
All instances of are available.

Figure pct00028
(5)
Figure pct00028
(5)

Figure pct00029
(6)
Figure pct00029
(6)

Figure pct00030
(7)
Figure pct00030
(7)

Figure pct00031
(8)
Figure pct00031
(8)

Figure pct00032
(9)
Figure pct00032
(9)

Figure pct00033
(10)
Figure pct00033
10

Figure pct00034
(11)
Figure pct00034
(11)

Figure pct00035
(12)
Figure pct00035
(12)

Figure pct00036
(13)
Figure pct00036
(13)

Figure pct00037
(14)
Figure pct00037
(14)

본 예에서, 상기 프로세스는 값들의 쌍들을 필요로 하기 때문에, 상기 설명된 기법에서는 데이터가 손실된다. 상기 데이터를 시간-지연시킴으로써,

Figure pct00038
가 증가함에 따라 종말 포인트들(end points)이 제거된다. 이와 같이, N-
Figure pct00039
아규먼트(argument)는 상기 식 12 내지 식 14에서 정규화 분모(normalizing denominator)에 이용된다.In this example, because the process requires pairs of values, data is lost in the technique described above. By time-delaying the data,
Figure pct00038
As points increase, end points are eliminated. Thus, N-
Figure pct00039
Arguments are used for normalizing denominators in Equations 12-14.

상기 장치는, 식 1과 동일한 하기 식 15를 이용하여, 상기 확률들 p, px, 및 py가 주어지는 최종 상호 정보량을 결정할 수 있다.The apparatus may determine the final amount of mutual information given the probabilities p, p x , and p y using Equation 15, which is the same as Equation 1 below.

Figure pct00040
(15)
Figure pct00040
(15)

상기 계산들은, 모든 지연들에 걸쳐 상호 정보량의 분포를 구하기 위해,

Figure pct00041
의 모든 값에 대해 반복될 수 있다. 상기 장치는 새로운 어레이에 대해 피크 검출을 더 수행할 수 있다. 특히, 상기 장치는 심박수에 상응하는 로컬 피크들을 검출할 수 있다. 일반적으로, 상기 로컬 피크들은, 상기 PPG 데이터가 얻어지는 상기 사용자의 심박수를 제공하는 주파수 변환(frequency transform)을 갖는 델타
Figure pct00042
t에 상응하는,
Figure pct00043
의 값들에 상응할 수 있다.The calculations are performed to obtain a distribution of mutual information amount over all delays,
Figure pct00041
Can be repeated for all values of. The apparatus may further perform peak detection on the new array. In particular, the device can detect local peaks corresponding to heart rate. In general, the local peaks have a delta with a frequency transform that provides the heart rate of the user from which the PPG data is obtained.
Figure pct00042
corresponding to t,
Figure pct00043
May correspond to the values of.

상기 장치는, 상기 상호 정보량 빈들이 각각의 이전 빈에 추가됨과 함께, 상기 동작들을 3회 반복할 수 있다. 일단 상호 정보량 출력 어레이가 4개의 분리되고 연속적인 상호 정보량 계산들의 출력으로 채워지면, 상기 장치는 상기 상호 정보량 출력 어레이로부터 제1 상호 정보량 출력 어레이를 제거한다. 보다 구체적으로, 식 17에 나타낸 바와 같이 계산되는 MI*(

Figure pct00044
)가 존재한다.The apparatus may repeat the operations three times with the mutual information amount bins being added to each previous bin. Once the mutual information quantity output array is filled with the output of four separate and consecutive mutual information quantity calculations, the apparatus removes a first mutual information quantity output array from the mutual information quantity output array. More specifically, MI * (calculated as shown in equation 17)
Figure pct00044
) Exists.

Figure pct00045
(17)
Figure pct00045
(17)

각가의 MIi(

Figure pct00046
)는 특정 시간 지연(래그)에서 상호 정보량의 완결된 값이다. 다음으로 상기 장치는 3개의 상이한 윈도우들로부터의 나머지 3개의 값들에 완결된 MIi(
Figure pct00047
) 포인트들을 추가할 수 있다. 이 프로세스는, LED들(예를 들면, PPG 센서)의 비활성화(disabling) 이전에, 4개의 상호 정보량 빈들 모두가 채워질 수 있도록 한다. 상기 상호 정보량 빈들이 채워지지 않은 경우, 상기 상호 정보량은 손가락 배치에 더 민감하다.Each MI i (
Figure pct00046
) Is the completed value of the mutual information amount at a specific time delay (lag). The device then completes MI i (completed with the remaining three values from three different windows).
Figure pct00047
) Points can be added. This process allows all four mutual information bins to be filled before disabling the LEDs (eg, PPG sensor). If the mutual information amount bins are not filled, the mutual information amount is more sensitive to finger placement.

상기 장치는, 상기 상호 정보량 출력 어레이가 상호 정보량의 슬라이딩 윈도우(예를 들면, 앞서 MI*로 지칭함)가 되는 경우를 제외하고, 상기 프로세스를 반복할 수 있다. 예를 들면, 상기 장치가 MI*로부터 MI3을 제거한 다음 MIi는, MI0가 없는, MI(i+1)로 이동된다. 상기 장치는 MI의 최신 계산을 이 빈 버퍼 포인트에 추가한 다음 MI*를 다시 계산한다.The apparatus may repeat the process except that the mutual information quantity output array is a sliding window of mutual information quantity (for example, referred to as MI * above). For example, after the device removes MI 3 from MI * , MIi is moved to MI (i + 1) , without MI 0 . The device adds the latest calculation of MI to this empty buffer point and then recalculates MI * .

상기 장치는 MI의 상대적인 변화를 모니터링 할 수 있다(심박수에 상응하는 피크에서). 하나 이상의 실시예들에서, 상기 상호 정보량이 너무 낮게, 예를 들면, 문턱(threshold) 상호 정보량 레벨 미만으로 떨어지면, 상기 장치는 상기 PPG 데이터에 더 이상 주기성이 없거나 또는 상기 PPG 데이터에 주기성이 충분하지 않다고 결정한다. 이는 X를 아는 것이 X(t+

Figure pct00048
)에 관한 정보를 거의 제공하지 못함을 암시한다.The device can monitor the relative change in MI (at the peak corresponding to heart rate). In one or more embodiments, if the amount of mutual information falls too low, eg, below a threshold level of mutual information, the device is no longer periodic or sufficient in periodicity to the PPG data. Decide not. This means knowing X is X (t +
Figure pct00048
Imply little information about).

도 4는 상기 PPG 데이터를 보정 및 필터링하는 예시적 방법(400)을 도시한다. 상기 방법(400)은 본 명세서에서 도 1을 참조하여 설명한 바와 같은 장치에 의해 수행될 수 있다. 하나 이상의 실시예들에서, 상기 방법(400)은 도 2의 상기 블록(220)을 구현하도록 상기 장치에 의해 수행될 수 있다.4 illustrates an example method 400 of correcting and filtering the PPG data. The method 400 may be performed by an apparatus as described with reference to FIG. 1 herein. In one or more embodiments, the method 400 may be performed by the apparatus to implement the block 220 of FIG. 2.

블록(405)에서, 상기 장치는 상기 세그먼트의 품질이 높은지 여부를 결정한다. 예를 들면, 상기 장치는, 도 2의 상기 블록(205) 및 도 3의 상기 블록(315)을 참조하여 설명한 바와 같이, 상기 PPG 데이터 세그먼트를 분류할 수 있다. 일반적으로, 상기 장치는 상기 추정된 품질에 기반하여 상기 PPG 데이터 세그먼트에 동적 처리를 적용할 수 있다. At block 405, the apparatus determines whether the quality of the segment is high. For example, the apparatus may classify the PPG data segment as described with reference to the block 205 of FIG. 2 and the block 315 of FIG. 3. In general, the apparatus may apply dynamic processing to the PPG data segment based on the estimated quality.

도 4의 예에서, 상기 장치는, 상기 품질이 중간(예를 들면, 높지 않음)이라는 결정에 응답하여, 상기 PPG 데이터 세그먼트에 보정 처리(corrective processing)를 적용한다. PPG 데이터의 저품질 세그먼트들이 상기 블록(215)에서 거부된다는 도 2 및 도 3의 이전 논의에서 상기해 보면, 상기 장치는 블록(405)에서 높음 또는 중간으로 분류된 PPG 데이터를 다루고 있다.In the example of FIG. 4, the device applies corrective processing to the PPG data segment in response to determining that the quality is medium (eg, not high). Recall from previous discussions of FIGS. 2 and 3 that low quality segments of PPG data are rejected at block 215, the apparatus deals with PPG data classified as high or medium at block 405.

상기 PPG 데이터 세그먼트의 품질이 높음이라는 결정에 응답하여, 상기 방법(400)은 블록(415)으로 계속된다. 이 경우에, 상기 장치는 상기 PPG 데이터 세그먼트에 대한 보정 처리를 생략할 수 있다. 상기 PPG 데이터 세그먼트의 품질이 높지 않음, 예를 들면, 중간이라는 결정에 응답하여, 상기 방법(400)은, 상기 장치가 상기 PPG 데이터 세그먼트에 대한 보정 처리를 수행하는, 블록(410)으로 계속된다.In response to determining that the quality of the PPG data segment is high, the method 400 continues to block 415. In this case, the device may omit the correction process for the PPG data segment. In response to determining that the quality of the PPG data segment is not high, e.g., intermediate, the method 400 continues to block 410, wherein the apparatus performs a correction process on the PPG data segment. .

상기 블록(410)에서, 상기 장치는 상기 PPG 데이터 세그먼트에 대해 보정 처리를 수행할 수 있다. 하나 이상의 실시예들에서, 상기 장치는 상기 세그먼트에서 노이즈를 제거한다. 상기 PPG 데이터 세그먼트가 중간 품질인 경우, 상기 세그먼트는 기본 PPG 모폴로지(morphology)의 고유한 부분들이 아닌 상이한 노이즈 성분들(예를 들면, 모션의 아티팩트들)로 손상될(corrupted) 수 있다.In block 410, the device may perform a correction process on the PPG data segment. In one or more embodiments, the apparatus removes noise from the segment. If the PPG data segment is of intermediate quality, the segment may be corrupted with different noise components (eg, artifacts in motion) that are not inherent parts of the basic PPG morphology.

하나 이상의 실시예들에서, 상기 블록(410)의 일부로서, 상기 장치는, 심박수 분석과 관련 없는, 상기 PPG 데이터의 고주파 성분들을 제거하기 위해 필터를 적용할 수 있다. 예를 들면, 상기 장치는 5차 IIR 필터를 이용하여 상기 PPG 데이터 세그먼트를 필터링할 수 있다. 미분 피크들이 정상 PPG 데이터보다 더 확연하기 때문에, 상기 설명한 처리는 또한 필터링된 PPG 데이터의 시간에 대한 미분 성분들과 함께 수행될 수 있다.In one or more embodiments, as part of the block 410, the device may apply a filter to remove high frequency components of the PPG data, which is not related to heart rate analysis. For example, the device may filter the PPG data segment using a fifth order IIR filter. Since the derivative peaks are more pronounced than normal PPG data, the above described process can also be performed with the derivatives of the time of the filtered PPG data.

하나 이상의 실시예들에서, 상기 장치는, 오직 상기 PPG 데이터 세그먼트가 불필요한 계산들을 방지하기에 충분한 노이즈를 포함한다는 결정에만 응답하여, 상기 PPG 데이터의 변환(예를 들면, 주파수 변환)을 수행할 수 있다. 예시적이고 비제한적인 예로서, 상기 장치는 상기 PPG 데이터가 노이즈를 포함하는지 여부를 결정하는 데 분산을 이용할 수 있다. 상기 장치는 가속도계 데이터의 데이터 세트를 이용하여 분산을 계산할 수 있다. 가속도계 데이터는 증가된 모션 아티팩트들과 연관된다. 상기 장치는 상기 데이터 세트(x)의 분산을 결정할 수 있는데, 여기서 x는 상기 PPG 데이터 세그먼트와 시간적으로 동기화된 가속도계 값들의 어레이이다.In one or more embodiments, the apparatus may perform the conversion (eg, frequency conversion) of the PPG data only in response to determining that the PPG data segment contains sufficient noise to prevent unnecessary calculations. have. As an illustrative and non-limiting example, the apparatus may use variance to determine whether the PPG data includes noise. The device may calculate the variance using a data set of accelerometer data. Accelerometer data is associated with increased motion artifacts. The device may determine the variance of the data set x, where x is an array of accelerometer values synchronized in time with the PPG data segment.

상기 장치는 상기 가속도계 값들의 어레이를 보다 작은 세그먼트들로 파싱할(parsing) 수 있다. 각각의 세그먼트는, 상기 장치가 분산을 결정하는, 50개의 값들을 포함할 수 있다. 각각의 윈도우에 대해, 상기 장치는 상기 분산을 결정하고 상기 계산된 분산이 문턱값 σ보다 더 큰지 여부를 결정하는데, 여기서 σ=0.3이다. 상기 분산이 상기 문턱값을 초과하는 것에 응답하여, 상기 장치는 상기 PPG 데이터 세그먼트가 노이즈를 포함한다고 결정한다. 상기 분산이 상기 문턱값을 초과하지 않으면, 상기 장치는 상기 PPG 데이터 세그먼트가 노이즈를 포함하지 않는다고 결정하며, 어떤 추가적인 보정 처리를 수행하는 단계 및 변환을 이용하여 상기 PPG 데이터를 주파수 도메인으로 어떤 번역(translation)을 수행하는 단계를 생략할 수 있다. 상기 제공되는 특정 값들은 예시하기 위한 것이지 제한하고자 한 것이 아님을 이해해야 할 것이다.The device may parse the array of accelerometer values into smaller segments. Each segment may contain 50 values, which the device determines variance. For each window, the device determines the variance and determines whether the calculated variance is greater than the threshold σ, where σ = 0.3. In response to the variance exceeding the threshold, the device determines that the PPG data segment contains noise. If the variance does not exceed the threshold, the device determines that the PPG data segment does not contain noise, and performs some additional correction processing and transforms the PPG data into the frequency domain using a transform. The step of performing a translation can be omitted. It is to be understood that the specific values provided above are for purposes of illustration and not limitation.

특정 실시예들에서, 노이즈가 상기 가속도계 데이터를 이용하여 검출되는 경우, 상기 장치는 특정 성분들을 필터링하기 위해 신호를 분해할 수 있다. 상기 설명한 처리가 준실시간으로 수행되기 때문에, 상기 장치는, 미리 결정된 시간량 및/또는 샘플들의 수의 윈도우들 내에서 발생할, PPG 데이터 세그먼트들을 분해할 수 있다. 예시적이고 비제한적인 예로서, 샘플들의 수는 800일 수 있다.In certain embodiments, when noise is detected using the accelerometer data, the device may decompose the signal to filter certain components. Since the process described above is performed in near real time, the apparatus can decompose PPG data segments, which will occur within windows of a predetermined amount of time and / or number of samples. As an illustrative and non-limiting example, the number of samples can be 800.

상기 블록(410)에서, 상기 장치는 연속 복소 웨이블릿 변환 함수(continuous complex wavelet transformation function)를 이용하여 상기 PPG 데이터를 변환할 수 있다. 특정 실시예들에서, 상기 장치는 상기 PPG 데이터를 표현하는 데 Morlet 웨이블릿을 이용한다. 상기 장치는, 검출된 노이즈를 갖는 포인트(예를 들면, σ>0.3)가 윈도우의 중심에 위치하도록 구축되는, N개 샘플들의 제1 윈도우를 생성할 수 있다. 에지 계수(edge-coefficient) 효과가 상기 웨이블릿 함수의 제로 패딩(zero-padding)으로 완화되지만, 상기 장비는 관심 있는 포인트를 상기 웨이블릿 윈도우의 중심에 위치시킬 수 있다. 상기 Morlet 웨이블릿은 하기 식 18 및 식 19에 의해 주어진다.At block 410, the device may transform the PPG data using a continuous complex wavelet transformation function. In certain embodiments, the device uses a Morlet wavelet to represent the PPG data. The apparatus may generate a first window of N samples, constructed such that a point with detected noise (eg, sigma> 0.3) is located in the center of the window. The edge-coefficient effect is mitigated by the zero-padding of the wavelet function, but the instrument can locate the point of interest in the center of the wavelet window. The Morlet wavelet is given by Equations 18 and 19 below.

Figure pct00049
(18)(19)
Figure pct00049
(18) (19)

식 18 및 식 19의 예에서, s는 팽창(dilation)으로 지칭되며, 분석되는 주파수와 반비례 관계에 있다. 도 4의 예에서, s는 최저 주파수 s0=2*dt에서 s0의 더 높은 배수들까지의 값들의 어레이이다. 각각의 딸 파동(daughter wave)에 대한 웨이블릿 변환(Morlet 모(mother)의 스케일링된 버전)은 이산 푸리에 변환된ø 및 p'인,

Figure pct00050
Figure pct00051
상에서 각각 계산된다.In the examples of equations 18 and 19, s is referred to as dilation and is inversely related to the frequency being analyzed. In the example of FIG. 4, s is an array of values from lowest frequency s 0 = 2 * dt to higher multiples of s 0 . The wavelet transform (scaled version of the Morlet mother) for each daughter wave is a discrete Fourier transform
Figure pct00050
And
Figure pct00051
Is calculated for each phase.

Figure pct00052
(20)
Figure pct00052
20

Figure pct00053
(21)
Figure pct00053
(21)

식 21을 참조하면, Wn은 특정 시간 인덱스(n)에 대한 웨이블릿 계수 어레이를 나타내며, 여기서 s는 콘볼루션(convolution) 내부의 독립 변수이다. 식 21에서 상기 s는 웨이블릿의 스케일(scale)이며 대략적으로 주파수 항이다. 각각의 Wn은 특정 시간 인덱스에서의 웨이블릿 계수들의 세트(스케일에 상응함)이다. 식 20 및 식 21은 식 21에 나타낸 곱(product) 의 역 푸리에 변환을 계산함으로써 콘볼루션 정리를 불러낸다(evoke). 식 20은 상기 PPG 데이터로부터의 신호 윈도우의 이산 푸리에 변환(Discrete Fourier Transform: DFT)을 나타낸다.Referring to Equation 21, W n represents an array of wavelet coefficients for a specific time index n, where s is an independent variable inside the convolution. Where s is the scale of the wavelet and is approximately a frequency term. Each W n is a set (corresponding to scale) of wavelet coefficients at a particular time index. Equations 20 and 21 evoke the convolution theorem by calculating the inverse Fourier transform of the product shown in equation 21. Equation 20 represents a Discrete Fourier Transform (DFT) of the signal window from the PPG data.

상기 신호 p' 윈도우는, 특정 스케일(들)에 대한 시간 인덱스를 나타내는 행들 및 상기 변환의 실수 및 허수 성분들을 나타내는 열들을 갖는, 2차원 행렬로 존재한다. 상기 장치는 복소 요소의 복소 모듈러스(complex modulus)를 계산하여 상기 2차원 행렬을 스칼라 값으로 변환할 수 있다.The signal p 'window exists in a two-dimensional matrix, with rows representing the temporal index for a particular scale (s) and columns representing the real and imaginary components of the transform. The apparatus can convert the two-dimensional matrix to a scalar value by calculating the complex modulus of the complex elements.

상기 장치는 예상되는 신호 위치에 상응하는 스케일 대역으로부터 웨이블릿 변환의 크기(magnitude)를 계산할 수 있다. 본 분석에 대해, s=36이 특정 생리 신호를 포착하기에 적절한 크기이다. 상기 장치는 이 크기를 나머지 웨이블릿 이미지의 크기와 비교할 수 있다. 의심되는 노이즈가 이미 윈도우의 중심에 위치하였으므로, 이 중심 포인트에 큰 크기가 위치할 것으로 예상된다.The device may calculate the magnitude of the wavelet transform from the scale band corresponding to the expected signal location. For this assay, s = 36 is the appropriate size to capture a particular physiological signal. The device can compare this size with the size of the remaining wavelet image. Since the suspected noise is already located in the center of the window, a large magnitude is expected at this center point.

상기 장치는 또한 평균 스케일 대역 크기보다 현저히 더 큰 상기 변환의 요소들을 감쇠시킬(attenuating) 수 있다. 하나 이상의 실시예들에서, 역 변환 시 아티팩트들의 필터링을 피하기 위해, 상기 장치는, 노이즈 윈도우의 각 끝에서 영교차(zero-crossing)를 갖는 이차함수로서 정의되는 매끈한(smooth) 블렌딩 함수를 이용하여, 상기 요소들을 감쇠시킬 수 있다. 결과적으로, 상기 장치는 상기 윈도우의 말단 포인트들(측파대 스펙트럼(side band spectrum)과 매끈하게 블렌딩됨)에서 최소 감쇠를 적용하고 노이즈 있는 부분의 중심에서 최대 감쇠를 적용한다.The apparatus may also attenuating elements of the transform that are significantly larger than the average scale band size. In one or more embodiments, to avoid filtering of artifacts in inverse transform, the apparatus uses a smooth blending function defined as a quadratic function with zero-crossing at each end of the noise window. Can attenuate the elements. As a result, the device applies a minimum attenuation at the end points of the window (smoothly blended with the side band spectrum) and a maximum attenuation at the center of the noisy portion.

식 22는 상기 웨이블릿 변환 계수들 Wn의 필터링을 시간 인덱스(n)의 함수로서 예시한다. 이와 같이, 식 22는 감쇠된 신호를, 필터링된 시계열을 복원하기 위해 차후 역변환에 이용되는, 상기 웨이블릿 변환 계수들로서 나타낸다.Equation 22 illustrates the filtering of the wavelet transform coefficients W n as a function of time index n. As such, equation 22 represents the attenuated signal as the wavelet transform coefficients, which are then used for subsequent inverse transform to recover the filtered time series.

Figure pct00054
(22)
Figure pct00054
(22)

상기 장치는 또한 상기 PPG 신호를 재구성할 수 있다. 본 예에서, 직교 변환이 가정되는 것은 아니다. 이와 같이, 상기 장치는 델타 함수를 이용하여 역변환을 결정하고 적절한 디스케일링 계수들(de-scaling coefficients)로 Wn *의 실수 성분들을 합산할 수 있다.The device may also reconstruct the PPG signal. In this example, orthogonal transformations are not assumed. As such, the apparatus may use the delta function to determine the inverse transform and sum the real components of W n * into appropriate de-scaling coefficients.

본 개시 내에서, 웨이블릿 변환은 예시의 목적으로 사용된다. 본 발명의 구성들은 상기 제공된 예들에 의해 제한되지 않는다. 다른 실시예들에서, 예를 들면, 상이한 변환이 이용될 수 있다. 예를 들면, 웨이블릿들 대신에 다른 윈도우형(windowed) 주파수 도메인 변환이 이용될 수 있다.Within the present disclosure, wavelet transform is used for illustrative purposes. The configurations of the present invention are not limited by the examples provided above. In other embodiments, for example, different transforms may be used. For example, other windowed frequency domain transforms may be used instead of wavelets.

블록(415)에서, 상기 장치는, 도 2의 상기 블록(205) 및 도 3의 상기 블록(310)를 참조하여 설명한 바와 같은 상호 정보량 동작들로부터 결정되는 상기 신호의 주기성에 기반하여, 상기 신호의 주파수가 높은지 여부를 결정한다. 상기 장치는 상기 신호의 주파수를 주파수 문턱값과 비교한다. 하나 이상의 실시예들에서, 상기 주파수 문턱값은, 빈맥 신호(tachycardic signal)에 상응하는, 100의 분당 박동수(beats per minute: BPM)의 심박수로 설정될 수 있다. 상기 PPG 신호가 빈맥이 되기 쉬운 경우(예를 들면, 심박수가 100 BPM을 초과하는 경우), 적절하게 튜닝된 콤 필터(Comb filter)가 심박수 추정에 이용될 수 있다. 빈맥이 아닌 PPG 신호들에 대해, 그러한 신호들은, 대역 통과 필터(band pass filter)를 적용하는 경우와 같이, 다른 접근법을 이용하여 분석될 수 있다.At block 415, the apparatus is based on the periodicity of the signal determined from mutual information amount operations as described with reference to block 205 of FIG. 2 and block 310 of FIG. 3. Determines whether the frequency of is high. The device compares the frequency of the signal with a frequency threshold. In one or more embodiments, the frequency threshold may be set to a heart rate of 100 beats per minute (BPM), corresponding to a tachycardic signal. If the PPG signal is prone to tachycardia (eg, heart rate exceeds 100 BPM), a suitably tuned comb filter can be used for heart rate estimation. For PPG signals that are not tachycardia, such signals can be analyzed using another approach, such as when applying a band pass filter.

따라서, 상기 PPG 데이터의 주파수가 낮다는(예를 들면, 상기 주파수 문턱값을 초과하지 않는다는) 결정에 응답하여, 상기 방법(400)은 블록(420)으로 계속된다. 상기 블록(420)에서, 상기 장치는 상기 PPG 데이터 세그먼트에 대역 통과 필터를 적용한다. 상기 PPG 데이터의 주파수가 높다는(예를 들면, 상기 주파수 문턱값을 초과한다는) 결정에 응답하여, 상기 방법(400)은 블록(425)으로 계속된다. 상기 블록(425)에서, 상기 장치는 상기 PPG 데이터에 콤 필터를 적용한다.Thus, in response to determining that the frequency of the PPG data is low (eg, not exceeding the frequency threshold), the method 400 continues to block 420. At block 420, the device applies a band pass filter to the PPG data segment. In response to determining that the frequency of the PPG data is high (eg, exceeding the frequency threshold), the method 400 continues to block 425. At block 425, the device applies a comb filter to the PPG data.

도 5는 건강 표지자(들)을 밸리데이션하는 예시적 방법(500)을 도시한다. 상기 방법(500)은 본 명세서에서 도 1을 참조하여 설명한 바와 같은 장치에 의해 수행될 수 있다. 하나 이상의 실시예들에서, 상기 방법(500)은 도 2의 상기 블록(245)을 구현하도록 상기 장치에 의해 수행될 수 있다. 특정 실시예들에서, 상기 장치는 상기 PPG 데이터의 사후 보정을 더 수행할 수 있다.5 illustrates an example method 500 of validating health indicator (s). The method 500 may be performed by an apparatus as described with reference to FIG. 1 herein. In one or more embodiments, the method 500 may be performed by the apparatus to implement the block 245 of FIG. 2. In certain embodiments, the device may further perform post-correction of the PPG data.

블록(505)에서, 상기 장치는 도 2의 상기 블록(240)에서 결정된 상기 건강 표지자를 밸리데이션할 수 있다. 하나 이상의 실시예들에서, 상기 장치는 현재의 건강 표지자(예를 들면, 상기 블록(240)에서 결정된 상기 건강 표지자)를 동일 유형의 건강 표지자의 최근 이력상의 측정치들과 비교할 수 있다. 예시적이고 비제한적인 예로서, 상기 장치는, N이 정수값인 경우, 상기 사용자에 대한 심박수의 가장 최근의 N개의 추정치들을 평가할 수 있다. 본 예에서, 건강 표지자들의 시계열은, 89 90 89 52 213 212 211 211 92 92(BPM 단위로)인, 10개의 데이터 항목들을 가진다. 상기 예는, 심박수 추정치가 89에서 52로 천이(transition)할 때 심박수의 변동(fluctuation)이 처음 보이는, 가능한 오류(likely error)를 예시한다. 또한, 가능한 오류는 추정된 심박수가 52에서 213으로 크게 증가할 때 예시되며, 이는 제9 값에서 92로 다시 안정될 때까지 계속된다.In block 505, the device may validate the health indicator determined in block 240 of FIG. 2. In one or more embodiments, the device may compare a current health indicator (eg, the health indicator determined in block 240) with recent historical measurements of the same type of health indicator. As an illustrative and non-limiting example, the device may evaluate the most recent N estimates of heart rate for the user when N is an integer value. In this example, the time series of health markers has 10 data items, which are 89 90 89 52 213 212 211 211 92 92 (in BPM). The above example illustrates a possible error, in which a fluctuation in heart rate is first seen when the heart rate estimate transitions from 89 to 52. In addition, a possible error is illustrated when the estimated heart rate increases significantly from 52 to 213, which continues until it stabilizes again from 92th to 92.

따라서, 하나 이상의 실시예들에서, 상기 장치는 추정된 심박수 값들의 시계열에서 건강 표지자 값들이 상한을 초과하거나 또는 하한 미만으로 내려가는지 여부를 결정할 수 있다. 상기 상한 및 하한은 상기 사용자와 동일 또는 유사한 건강의 개인에 대한 알려진 생리적 한계들일 수 있다. 상기 장치는, 상기 상측 문턱값을 초과하거나 또는 하측 문턱값 미만인, 어떤 건강 표지자든 폐기할 수 있다. 예를 들면, 심박수들의 상기 예시적 시계열에서, 52, 213, 212, 및 211 같은 값들은 폐기될 수 있다.Thus, in one or more embodiments, the device may determine whether the health indicator values in the time series of estimated heart rate values fall above or below the upper limit. The upper and lower limits may be known physiological limits for an individual of the same or similar health as the user. The device may discard any health indicator that is above the upper threshold or below the lower threshold. For example, in the example time series of heart rates, values such as 52, 213, 212, and 211 may be discarded.

하나 이상의 실시예들에서, 상기 장치는 건강 표지자들의 시계열에서 두 개의 연속적인 건강 표지자들 간의 변화량이 문턱 변화량을 초과하는지 여부를 결정할 수 있다. 만약 그렇다면, 상기 장치는 부정확한 것으로 간주되는 건강 표지자(들)을 폐기할 수 있다. 심박수들의 상기 예시적 데이터 세트를 참조하면, 상기 장치는, 직전 심박수로부터의 변화가 너무 큰, 52의 심박수 및 213의 심박수를 폐기할 수 있다.In one or more embodiments, the device may determine whether the amount of change between two consecutive health markers in the time series of health markers exceeds a threshold change amount. If so, the device may discard the health marker (s) that are considered inaccurate. Referring to the example data set of heart rates, the device may discard 52 heart rate and 213 heart rate, where the change from the previous heart rate is too large.

하나 이상의 실시예들에서, 상기 장치는 상기 사용자에 대한 건강 표지자들을 밸리데이션하는 데 관성 센서들을 이용할 수 있다. 상기 장치는, 예를 들면, 자이로스코프 센서 데이터, 가속도계 센서 데이터, 및/또는 시간 경과에 따른 위치(장소) 데이터와 같은, 관성 센서 데이터에 기반하여 상기 사용자의 활동성(activity) 레벨을 결정할 수 있다. 상기 관성 데이터는 이력적인 기준에서 상기 사용자에 대한 활동성 레벨들 및 심박수 및 HRV 등과 같은 건강 표지자들과 상호 연관될 수 있다. 따라서, 상기 관성 센서들은, 본 명세서에서 도 4(예를 들면, 상기 블록(410))를 참조하여 설명한 바와 같이, 노이즈가 상기 PPG 데이터 내에 존재할 가능성(likelihood)을 나타내는 데 이용될 수 있을 뿐 아니라, 상기 블록(240)에서 결정된 상기 건강 표지자가 밸리데이션을 위해 비교될 수 있는 건강 표지자들의 예상 범위를 설정하는 데 이용될 수 있다.In one or more embodiments, the device may use inertial sensors to validate health indicators for the user. The device may determine the activity level of the user based on inertial sensor data, such as, for example, gyroscope sensor data, accelerometer sensor data, and / or location (place) data over time. . The inertia data may be correlated with health indicators such as heart rate and HRV, etc., for the user on a historical basis. Thus, the inertial sensors can be used to indicate the likelihood that noise is present in the PPG data, as described herein with reference to FIG. 4 (eg, the block 410). The health markers determined at block 240 can be used to set an expected range of health markers that can be compared for validation.

예를 들면, 상기 장치는 관성 센서 데이터에 기반하여 주어진 시점에 대해 상기 사용자에 대한 활동성 레벨를 결정할 수 있다. 상기 장치는 상기 활동성 레벨이 주어진 상기 사용자에 대한 심박수 범위를 결정할 수 있다. 상기 장치는 상기 블록(240)에서 결정된 상기 심박수를 상기 심박수 범위와 비교할 수 있다. 상기 추정된 심박수가 상기 심박수 범위 내에 있다는 결정에 응답하여, 상기 장치는 상기 블록(240)의 상기 심박수가 유효하다고 결정할 수 있다. 상기 블록(240)에서 결정된 상기 심박수가 상기 심박수 범위를 초과하거나 또는 미만이라는 결정에 응답하여, 상기 장치는 상기 추정된 심박수가 유효하지 않다고 결정할 수 있다.For example, the device may determine the activity level for the user for a given point in time based on inertial sensor data. The device may determine a heart rate range for the user given the activity level. The device may compare the heart rate determined in block 240 with the heart rate range. In response to determining that the estimated heart rate is within the heart rate range, the device may determine that the heart rate of block 240 is valid. In response to determining that the heart rate determined at block 240 is above or below the heart rate range, the device may determine that the estimated heart rate is invalid.

블록(510)에서, 상기 장치는 설명한 바와 같이 건강 표지자가 유효한지 여부를 결정한다. 상기 건강 표지자가 유효하다는 결정에 응답하여, 상기 방법(500)은 블록(515)으로 계속된다. 상기 블록(515)에서, 상기 장치는 상기 건강 표지자를 출력한다. 예를 들면, 상기 장치는 상기 건강 표지자를 디스플레이에 출력하고 및/또는 상기 건강 표지자를 메모리에 저장할 수 있다. 상기 건강 표지자가 유효하지 않다는 결정에 응답하여, 상기 방법(500)은 블록(520)으로 진행된다.At block 510, the device determines whether the health indicator is valid as described. In response to determining that the health indicator is valid, the method 500 continues to block 515. In block 515, the device outputs the health indicator. For example, the device may output the health indicator to a display and / or store the health indicator in a memory. In response to determining that the health indicator is invalid, the method 500 proceeds to block 520.

상기 블록(520)에서, 상기 장치는 상기 PPG 데이터 세그먼트에 대해 RR 보정을 수행할 수 있다. 예를 들면, 상기 건강 표지자가 유효하지 않다고 결정되는 경우, 상기 장치는 유효한 건강 표지자를 얻기 위해 보정 조치를 수행할 수 있다. 예시적이고 비제한적인 예로서, 상기 장치가 상기 건강 표지자(예를 들면, 심박수)가 상기 건강 표지자의 이전 측정치로부터 대략 2배만큼 증가되었다고 결정하는 경우, 상기 장치는 피크를 제거할 수 있다. 추정된 심박수들의 이전 예를 참조하면, 대략 92에서 대략 213으로 심박수 추정치들이 증가한 것은 상기 시계열 데이터에서 관련 없는 피크를 검출한 결과였을 수 있다. 피크를 제거함으로써 상기 추정된 심박수는 허용 공차(acceptable tolerance) 내로 되돌아갈 수 있다.At block 520, the device may perform RR correction on the PPG data segment. For example, if it is determined that the health indicator is invalid, the device may perform corrective action to obtain a valid health indicator. As an illustrative and non-limiting example, if the device determines that the health marker (eg, heart rate) has increased approximately twofold from previous measurements of the health marker, the device may remove the peak. Referring to the previous example of estimated heart rates, the increase in heart rate estimates from approximately 92 to approximately 213 may have been the result of detecting an unrelated peak in the time series data. By eliminating the peak, the estimated heart rate can be returned to within acceptable tolerance.

블록(525)에서, 상기 장치는 상기 RR 보정된 PPG 데이터 세그먼트에 대해 밸리데이션을 수행할 수 있다. 상기 장치는 상기 블록(505)을 참조하여 설명한 바와 같이 실질적으로 상기 블록(525)을 수행할 수 있다. 블록(530)에서, 상기 장치는 상기 RR 보정된 PPG 데이터 세그먼트가 유효한지 여부를 결정한다. 만약 그렇다면, 상기 방법(500)은 상기 RR 보정된 PPG 데이터 세그먼트를 이용하여 상기 건강 표지자를 출력하기 위해 상기 블록(520)으로 루프백할 수 있다. 만약 그렇지 않다면, 상기 방법은 블록(535)으로 계속된다.At block 525, the device may perform validation on the RR corrected PPG data segment. The apparatus may substantially perform the block 525 as described with reference to the block 505. At block 530, the apparatus determines whether the RR corrected PPG data segment is valid. If so, the method 500 may loop back to the block 520 to output the health indicator using the RR corrected PPG data segment. If not, the method continues to block 535.

상기 블록(535)에서, 상기 장치는 상기 RR 보정된 PPG 데이터 세그먼트를 거부하고 및/또는 알림을 생성할 수 있다. 예를 들면, 상기 장치는 상기 RR 보정된 PPG 데이터 세그먼트를 삭제할 수 있다. 상기 세그먼트를 거부함에 있어서, 예를 들면, 상기 장치는 상기 RR 보정된 PPG 데이터 세그먼트를 이용하여 떠한 건강 표지자도 결정하려고 시도하지 않는다. 또한, 상기 장치는 상기 PPG 데이터 세그먼트가 건강 표지자들을 결정하는 데 사용하기에 적합하지 않음을 나타내는 알림을 제공할 수 있다. 하나 이상의 실시예들에서, 상기 알림은 상기 장치를 조정하여 보다 높은 품질의 PPG 데이터를 얻도록 상기 사용자에게 지침을 제공할 수 있다.At block 535, the device may reject the RR corrected PPG data segment and / or generate a notification. For example, the device may delete the RR corrected PPG data segment. In rejecting the segment, for example, the device does not attempt to determine any health markers using the RR corrected PPG data segment. The device may also provide a notification indicating that the PPG data segment is not suitable for use in determining health markers. In one or more embodiments, the notification can provide instructions to the user to adjust the device to obtain higher quality PPG data.

논의한 바와 같이, PPG 데이터 세그먼트의 거부에 응답하여, 상기 장치는 알림을 생성할 수 있다. 하나 이상의 실시예들에서, 상기 장치는, "실패"하여 상기 PPG 데이터 세그먼트의 거부를 초래한 특정 양태 또는 차원에 기반하여, 상기 제공된 지침을 맞춤화할(customizing) 수 있다. 예를 들면, 상기 알림은 실패한 특정 테스트 또는 불충분한 것으로 여겨지는 상기 PPG 데이터 세그먼트의 특정 양태를 표시할 수 있다. 상기 장치는 또한, 예를 들면, 상기 PPG 데이터 세그먼트가 품질이 불충분한 것으로 결정된 특정 이유에 특정적인, 웨어러블 장치를 조정하기 위한 지침을 제공할 수 있다.As discussed, in response to rejection of the PPG data segment, the device may generate a notification. In one or more embodiments, the apparatus may customize the provided instructions based on the particular aspect or dimension that "failed" resulting in rejection of the PPG data segment. For example, the notification may indicate a particular test that failed or a particular aspect of the PPG data segment that is considered insufficient. The device may also provide instructions for adjusting the wearable device, for example specific to the particular reason for which the PPG data segment was determined to be insufficient quality.

예시적이고 비제한적인 예로서, 상기 블록(225)을 참조하여 설명한 상기 상대적인 맥동 진폭이 비생물학적(non-biological) 접촉을 나타낸다는 결정에 응답하여, 상기 장치는 상기 사용자에게 알림을 생성할 수 있다. 상기 알림은 검출된 건강 표지자들이 없음을 나타내는 푸시 알림일 수 있다. 또한, 비생물학적 접촉의 검출에 응답하여, 상기 장치는 파워 오프될 수 있다. 상기 파워 오프는, 상기 비생물학적 접촉을 검출한 후 미리 결정된 시간량 후에 또는 미리 결정된 또는 최소의 시간량 동안의 비생물학적 접촉의 검출에 응답하여, 트리거링될 수 있다. 상기 파워 오프는 배터리 수명을 보존하고 데이터의 어떤 추가적인 로깅(logging)의 손상(corruption)을 방지할 수 있다. 상기 알림은 또한 사용자에게 상기 파워 오프를 알려줄 수 있다. 예를 들면, 상기 장치는 상기 파워 오프까지의 카운트다운을 표시할 수 있다.As an illustrative and non-limiting example, in response to determining that the relative pulsation amplitude described with reference to block 225 represents a non-biological contact, the device may generate a notification to the user. . The notification may be a push notification indicating that no health indicators have been detected. In addition, in response to the detection of the non-biological contact, the device may be powered off. The power off may be triggered after a predetermined amount of time after detecting the non-biological contact or in response to the detection of the non-biological contact for a predetermined or minimum amount of time. The power off can preserve battery life and prevent any further logging of data. The notification may also inform the user of the power off. For example, the device may display a countdown to the power off.

예시적이고 비제한적인 다른 예로서, 상기 블록(410)을 참조하여 설명한 상기 웨이블릿 처리가 상기 PPG 데이터에서의 계단 응답(step response)을 나타낸다는 결정에 응답하여, 상기 장치는 상기 사용자에게 알림을 생성할 수 있다. 상기 알림은 푸시 알림일 수 있다. 상기 블록(410)에서 검출된 노이즈의 유형은 상기 장치와 상기 사용자 간의 느슨한 접촉(loose contact)에 기인한 것일 수 있다. 따라서, 상기 알림은 상기 사용자로 하여금 상기 장치와 상기 사용자를 결합하는 메커니즘을 강화하도록 지시할 수 있다. 스마트 워치의 경우, 예를 들면, 상기 알림은 상기 사용자로 하여금 상기 워치의 손목 밴드를 조이도록 지시할 수 있다.As another illustrative and non-limiting example, in response to determining that the wavelet processing described with reference to block 410 represents a step response in the PPG data, the device generates a notification to the user. can do. The notification may be a push notification. The type of noise detected at block 410 may be due to a loose contact between the device and the user. Thus, the notification may instruct the user to strengthen the mechanism for associating the device with the user. In the case of a smart watch, for example, the notification may instruct the user to tighten the wristband of the watch.

본 명세서에서 사용된 용어는 단지 특정 실시예들을 설명하기 위한 것이며 제한하고자 한 것이 아니다. 그럼에도 불구하고, 본 문서 전체에 걸쳐 적용되는 여러 정의들이 이제 제시될 것이다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. Nevertheless, several definitions that apply throughout this document will now be presented.

본 명세서에서 정의되는, 단수 형태들 "a", "an" 및 "the"는, 문맥상 명확히 달리 표시되지 않는 한, 복수 형태들도 포함하고자 한 것이다.As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.

본 명세서에서 정의되는, 용어 "대략(approximately)"은 거의 정확한(correct or exact) 것을 의미하며, 값이나 양에 있어서 근접하지만(close) 정확하지는 않은(not precise) 것을 의미한다. 예를 들면, 용어 "대략"은 기재된 특성, 파라미터, 또는 값이 정확한(exact) 특성, 파라미터, 또는 값의 미리 결정된 양 이내에 있는 것을 의미할 수 있다.The term “approximately”, as defined herein, means almost correct or exact and means close but not precise in value or amount. For example, the term “approximately” can mean that the described characteristic, parameter, or value is within a predetermined amount of an exact characteristic, parameter, or value.

본 명세서에서 정의되는, 용어들 "적어도 하나(at least one)", "하나 이상(one or more)", 및 "및/또는(and/or)"은, 명시적으로 달리 언급하지 않는 한, 운용(operation)에 있어서 결합적(conjunctive)이며 또한 분리적인(disjunctive) 개방형(open-ended) 표현들이다. 예를 들면, 표현들 "A, B, 및 C 중 적어도 하나", "A, B, 또는 C 중 적어도 하나", "A, B, 및 C 중 하나 이상", 및 "A, B, 및/또는 C"는 각각 A 단독, B 단독, C 단독, A 및 B 함께, A 및 C 함께, B 및 C 함께, 또는 A, B 및 C 함께인 것을 의미한다.The terms "at least one", "one or more", and "and / or" as defined herein, unless expressly stated otherwise, Conjunctive and disjunctive open-ended expressions in operation. For example, the expressions “at least one of A, B, and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, and “A, B, and / Or C ″ means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.

본 명세서에서 정의되는, 용어 "자동으로(automatically)"는 사용자 개입이 없는 것을 의미한다.The term “automatically”, as defined herein, means no user intervention.

본 명세서에서 정의되는, 용어 "컴퓨터 판독가능 저장 매체"는 명령어(instruction) 실행 시스템, 기기(apparatus), 또는 장치에 의해 또는 연관되어 사용되는 프로그램 코드를 포함 또는 저장하는 저장 매체를 의미한다. 본 명세서에서 정의되는, "컴퓨터 판독가능 저장 매체"는 그 자체로 일시적인, 전파되는 신호가 아니다. 컴퓨터 판독가능 저장 매체는 전자 저장 장치, 자기적 저장 장치, 광학적 저장 장치, 전자기적 저장 장치, 반도체 저장 장치, 또는 이들의 어떤 적절한 조합일 수 있으나, 이에 제한되지 않는다. The term “computer readable storage medium,” as defined herein, means a storage medium that contains or stores program code for use by or in association with an instruction execution system, an apparatus, or an apparatus. As defined herein, a “computer readable storage medium” is not a transient, propagating signal by itself. The computer readable storage medium may be, but is not limited to, an electronic storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device, or any suitable combination thereof.

본 명세서에서 설명한 바와 같은,다양한 형태의 메모리는 컴퓨터 판독가능 저장 매체의 예들이다. 컴퓨터 판독가능 저장 매체의 보다 구체적인 예들의 비한정적인 목록은 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 소거가능 프로그램가능 읽기 전용 메모리(EPROM, 또는 플래시 메모리), 정적 랜덤 액세스 메모리(static random access memory: SRAM), 휴대용 컴팩트 디스크 읽기 전용 메모리(compact disc read-only memory: CD-ROM), 디지털 다용도 디스크(digital versatile disk: DVD), 메모리 스틱, 또는 플로피 디스크 등을 포함할 수 있다.Various forms of memory, as described herein, are examples of computer readable storage media. A non-limiting list of more specific examples of computer readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM, or flash memory). , Static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, or floppy disk And the like.

본 명세서에서 정의되는, 용어 "~이면(인 경우)(if)"는, 문맥에 따라, "~한 때(경우)(when)" 또는 "~할 시(upon)" 또는 "~에 응답하여(in response to)" 또는 "~에 민감한(responsive to)"을 의미할 수 있다. 따라서, 어구 "그것이 결정되면" 또는 "[언급된 조건 또는 이벤트]가 검출되면"은, 문맥에 따라, "결정 시" 또는 "결정에 응답하여" 또는 "[언급된 조건 또는 이벤트]를 검출 시" 또는 "[언급된 조건 또는 이벤트]의 검출에 응답하여(in response to)" 또는 "[언급된 조건 또는 이벤트]의 검출에 민감한(responsive to)"을 의미하는 것으로 해석될 수 있다.As defined herein, the term "if" (if) is, depending on the context, in response to "when" or "upon" or "upon". (in response to) "or" responsive to. " Thus, the phrase "if it is determined" or "if the [referred condition or event] is detected" means "on decision" or "in response to a decision" or "in response to a decision" or "a condition or event mentioned" depending on the context. Or "in response to" [detected condition or event] or "responsive to detection of [referred condition or event]".

본 명세서에서 정의되는, 용어 "~에 민감한(responsive to)" 및 상기한 바와 같은 유사한 언어, 예를 들면, "~이면(인 경우)(if)", "~한 때(경우)(when)" 또는 "~할 시(upon)"가 행위 또는 이벤트에 대해 쉽게 응답 또는 반응하는 것을 의미한다. 상기 응답 또는 반응은 자동적으로 수행된다. 따라서, 제2 행위가 제1 행위에 "민감하게" 수행된다면, 상기 제1 행위의 발생과 상기 제2 행위의 발생 간에 인과 관계가 있는 것이다. 상기 용어 "~에 민감한"은 상기 인과 관계를 나타낸다.As defined herein, the term "responsive to" and similar languages as described above, such as "if" (if), "when" "Or" upon "means an easy response or response to an action or event. The response or reaction is performed automatically. Thus, if the second act is "sensitively" to the first act, then there is a causal relationship between the occurrence of the first act and the occurrence of the second act. The term "sensitive to" refers to the causal relationship.

본 명세서에서 정의되는, 용어들 "일 실시예(one embodiment)", "실시예(an embodiment)", "하나 이상의 실시예들(one or more embodiments)", "특정 실시예들(particular embodiments)" 또는 유사한 언어는 실시예와 연관되어 설명되는 특정한 특징, 구조, 또는 특성이 본 개시 내에서 설명되는 적어도 하나의 실시예에 포함되는 것을 의미한다. 따라서, 본 개시 전체에 걸쳐 어구 형태 "일 실시예에서(in one embodiment)", "실시예에서(in an embodiment)", "하나 이상의 실시예들에서(in one or more embodiments)", "특정 실시예들에서(particular embodiments)", 및 유사한 언어는 모두 동일한 실시예를 의미할 수 있으나, 반드시 그런 것은 아니다. 용어들 "실시예(embodiment)" 및 "구성(arrangement)"은 본 개시 내에서 상호교환적으로 사용된다.As defined herein, the terms "one embodiment", "an embodiment", "one or more embodiments", "particular embodiments" Or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment described within the present disclosure. Thus, throughout the present disclosure the phrase forms “in one embodiment”, “in an embodiment”, “in one or more embodiments”, “specific "Particular embodiments", and similar language, may all mean the same embodiment, but are not necessarily so. The terms "embodiment" and "arrangement" are used interchangeably within this disclosure.

본 명세서에서 정의되는, 용어 "출력(output)"은 물리적 메모리 요소, 예를 들면, 장치에 저장하는 것, 디스플레이 또는 기타 주변 출력 장치에 기입(writing)하는 것, 다른 시스템에 보내거나 전송하는 것, 또는 내보내기(exporting) 등을 의미한다.The term "output", as defined herein, refers to a physical memory element, for example, storing on a device, writing to a display or other peripheral output device, sending to or transmitting to another system. , Or exporting.

본 명세서에서 정의되는, 용어 "프로세서"는 적어도 하나의 하드웨어 회로를 의미한다. 상기 하드웨어 회로는 프로그램 코드에 포함된 명령어들을 수행하도록 구성될 수 있다. 상기 하드웨어 회로는 집적 회로일 수 있다. 프로세서의 예로는 중앙 처리 장치(central processing unit: CPU), 어레이 프로세서, 벡터 프로세서, 디지털 신호 프로세서(digital signal processor: DSP), 필드 프로그램가능 게이트 어레이(field-programmable gate array: FPGA), 프로그램가능 논리 어레이(programmable logic array: PLA), 애플리케이션 특정적 집적 회로(application specific integrated circuit: ASIC), 프로그램가능 논리 회로, 및 제어기를 포함하지만, 이에 제한되지 않는다.The term “processor”, as defined herein, means at least one hardware circuit. The hardware circuitry may be configured to perform instructions contained in program code. The hardware circuit may be an integrated circuit. Examples of processors include central processing units (CPUs), array processors, vector processors, digital signal processors (DSPs), field-programmable gate arrays (FPGAs), programmable logic An array of programmable logic arrays (PLAs), application specific integrated circuits (ASICs), programmable logic circuits, and controllers.

본 명세서에서 정의되는, 용어 "실시간(real time)"은, 사용자 또는 시스템이 해야 할 특정 프로세스 또는 결정에 대해 충분히 즉각적인 것으로 감지하는, 또는 상기 프로세서가 어떤 외부 프로세스를 따라잡을 수 있도록 하는, 처리 응답성(processing responsiveness)의 수준을 의미한다.As defined herein, the term “real time” refers to a process response that senses that the user or system is immediately instantaneous about a particular process or decision to make, or that allows the processor to catch up with any external process. The level of processing responsiveness.

본 명세서에서 정의되는, 용어 "실질적으로(substantially)"는 기재된 특성, 파라미터, 또는 값이 정확히(exactly) 달성될 필요는 없지만, 예를 들면, 공차(tolerances), 측정 오차(measurement error), 측정 정확도 제한(measurement accuracy limitations), 및 본 발명이 속하는 기술분야의 숙련된 자에게 알려진 기타 인자들을 포함하는 편차(deviations) 또는 변동(variations)이, 상기 특성이 제공하고자 했던 효과를 배제하지 않는 양으로, 발생할 수 있음을 의미한다.The term “substantially”, as defined herein, does not have to be precisely achieved for a characteristic, parameter, or value described, for example, tolerances, measurement errors, measurements Deviations or variations, including measurement accuracy limitations, and other factors known to those skilled in the art, do not exclude the effect that the feature is intended to provide. , It can happen.

본 명세서에서 정의되는, 용어 "사용자"는 인간을 의미한다.The term "user", as defined herein, means a human.

용어들 제1(first), 제2(second) 등은 본 명세서에서 다양한 요소들을 설명하는 데 사용될 수 있다. 이러한 용어들은, 달리 언급되거나 문맥상 명확하게 달리 표시하지 않는 한, 한 요소를 다른 요소와 구별하기 위해서만 사용되므로, 이러한 요소들은 이러한 용어들에 의해 제한되어서는 안 된다.The terms first, second, etc. may be used to describe various elements herein. These terms are to be used only to distinguish one element from another, unless stated otherwise or otherwise clearly stated in context, and such elements should not be limited by these terms.

컴퓨터 프로그램 제품은 프로세서로 하여금 본 발명의 양태들을 수행하도록 하기 위한 컴퓨터 판독가능 프로그램 명령어들을 갖는 컴퓨터 판독가능 저장 매체(들)을 포함할 수 있다. 본 명세서 내에서, 용어 "프로그램 코드"는 용어 "컴퓨터 판독가능 프로그램 명령어들"과 상호교환적으로 사용된다.The computer program product may include computer readable storage medium (s) having computer readable program instructions for causing a processor to perform aspects of the present invention. Within this specification, the term "program code" is used interchangeably with the term "computer readable program instructions."

본 명세서에서 설명되는 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터 판독가능 저장 매체로부터 각각의 컴퓨팅/처리 장치로, 또는 네트워크, 예를 들면, 인터넷, 로컬 영역 네트워크(Local Area Network: LAN), 광역 네트워크(Wide Area Network: WAN), 및/또는 무선 네트워크를 통해 외부 컴퓨터 또는 외부 저장 장치로 다운로드될 수 있다. 상기 네트워크는 구리 전송 케이블, 광학적 전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터, 및/또는 에지 서버(edge server)를 포함하는 에지 장치(edge device)를 포함할 수 있다. 각각의 컴퓨팅/처리 장치에서 네트워크 어댑터 카드 또는 네트워크 인터페이스는 상기 네트워크로부터 컴퓨터 판독가능 프로그램 명령어들을 수신하고 각각의 컴퓨팅/처리 장치 내의 컴퓨터 판독가능 저장 매체에 저장하기 위해 상기 컴퓨터 판독가능 프로그램 명령어들을 전달한다.The computer readable program instructions described herein may be executed from a computer readable storage medium to each computing / processing device, or to a network, such as the Internet, a local area network (LAN), a wide area network. Network (WAN), and / or can be downloaded to an external computer or external storage device via a wireless network. The network may include edge devices including copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface at each computing / processing device receives computer readable program instructions from the network and conveys the computer readable program instructions for storage on a computer readable storage medium in each computing / processing device. .

본 명세서에서 설명된 본 발명의 구성에 대한 동작들을 수행하기 위한 컴퓨터 판독가능 프로그램 명령어들은 어셈블러 명령어들, 명령어 세트 아키텍처(instruction-set-architecture: ISA) 명령어들, 기계 명령어들, 기계 의존 명령어들, 마이크로코드(microcode), 펌웨어 명령어들, 또는, 객체 지향 프로그래밍 언어 및/또는 절차적 프로그래밍 언어를 포함하는, 하나 이상의 프로그래밍 언어들의 어떠한 조합으로든 작성된 소스 코드 또는 객체 코드일 수 있다. 컴퓨터 판독가능 프로그램 명령어들은 상태 설정(state-setting) 데이터를 특정할 수 있다. 상기 컴퓨터 판독가능 프로그램 명령어들은 전적으로 사용자의 컴퓨터에서, 부분적으로 사용자의 컴퓨터에서, 독립형(stand-alone) 소프트웨어 패키지로서, 부분적으로 사용자의 컴퓨터에서 및 부분적으로 원격 컴퓨터에서, 또는 전적으로 원격 컴퓨터 또는 서버에서 실행될 수 있다. 후자의 시나리오에서, 상기 원격 컴퓨터는 LAN 또는 WAN을 포함하는 어떠한 유형의 네트워크를 통해서 상기 사용자의 컴퓨터에 연결될 수 있거나, 또는 외부 컴퓨터로의 연결이 이루어질 수 있다(예를 들면, 인터넷 서비스 제공자를 이용하여 인터넷을 통해). 경우에 따라, 예를 들면, 프로그램가능 논리 회로, FPGA, 또는 PLA를 포함하는 전자 회로는, 본 명세서에서 설명된 본 발명의 구성들의 양태들을 수행하기 위해, 상기 전자 회로를 개인화하는 데 상기 컴퓨터 판독가능 프로그램 명령어들의 상태 정보를 이용함으로써, 상기 컴퓨터 판독가능 프로그램 명령어들을 실행할 수 있다.Computer-readable program instructions for performing operations on the inventive constructions described herein include assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, It may be source code or object code written in any combination of one or more programming languages, including microcode, firmware instructions, or object-oriented programming language and / or procedural programming language. Computer-readable program instructions may specify state-setting data. The computer readable program instructions are entirely at the user's computer, partly at the user's computer, as stand-alone software packages, partly at the user's computer and partly at the remote computer, or entirely at the remote computer or server. Can be executed. In the latter scenario, the remote computer can be connected to the user's computer via any type of network, including a LAN or WAN, or a connection to an external computer can be made (eg using an Internet service provider). Through the internet). In some cases, electronic circuitry, including, for example, programmable logic circuits, FPGAs, or PLAs, may be used to personalize the electronic circuitry to perform aspects of the inventive arrangements described herein. By using the status information of the enabled program instructions, the computer readable program instructions can be executed.

본 발명의 구성들의 일정 양태들은 본 명세서에서 방법들, 기기(시스템들) 및 컴퓨터 프로그램 제품들의 순서도 예시들 및/또는 블록도들을 참조하여 설명된다. 상기 순서도 예시들 및/또는 블록도들의 각 블록, 및 상기 순서도 예시들 및/또는 블록도들의 블록들의 조합들은 컴퓨터 판독가능 프로그램 명령어들, 예를 들면, 프로그램 코드에 의해 구현될 수 있음을 이해할 것이다.Certain aspects of the configurations of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products. It will be appreciated that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions, eg, program code. .

이러한 컴퓨터 판독가능 프로그램 명령어들은 기계를 생산하기 위해 컴퓨터, 특수 목적 컴퓨터 또는 기타 프로그램가능 데이터 처리 기기의 프로세서에 제공되어, 상기 컴퓨터 또는 기타 프로그램가능 데이터 처리 기기의 상기 프로세서를 통해 실행되는 상기 명령어들이 상기 순서도 및/또는 블록도 블록 또는 블록들에서 특정되는 기능들/행위들을 구현하는 수단들을 생성하도록 할 수 있다. 이런 식으로, 상기 프로세서와 프로그램 코드 명령어들을 작동적으로 결합함으로써, 상기 프로세서의 기계가 상기 프로그램 코드의 상기 명령어들을 수행하기 위한 특수 목적 기계로 변환된다. 이러한 컴퓨터 판독가능 프로그램 명령어들은 또한, 컴퓨터, 프로그램가능 데이터 처리 기기, 및/또는 기타 장치들이 특정 방식으로 기능하도록 지시할 수 있는, 컴퓨터 판독가능 저장 매체에 저장되어, 상기 컴퓨터 판독가능 저장 매체에 저장된 상기 명령어들이, 상기 순서도 및/또는 블록도 블록 또는 블록들에서 특정된 동작들의 양태들을 구현하는 명령어들을 포함하는, 제조 물품을 포함하도록 할 수 있다.Such computer readable program instructions may be provided to a processor of a computer, special purpose computer or other programmable data processing device to produce a machine such that the instructions executed through the processor of the computer or other programmable data processing device are Flowcharts and / or block diagrams may be created to create means for implementing the functions / acts specified in the block or blocks. In this way, by operatively combining the processor and program code instructions, the machine of the processor is converted to a special purpose machine for performing the instructions of the program code. Such computer readable program instructions may also be stored on, and stored on, a computer readable storage medium that can direct a computer, programmable data processing device, and / or other devices to function in a particular manner. The instructions may be adapted to include an article of manufacture, including instructions that implement aspects of the operations specified in the flowchart and / or block diagram block or blocks.

상기 컴퓨터 판독가능 프로그램 명령어들은 또한 컴퓨터, 기타 프로그램가능 데이터 처리 기기, 또는 기타 장치 상에 로딩되어 상기 컴퓨터, 기타 프로그램가능 기기 또는 기타 장치 상에서 수행될 일련의 동작들이 컴퓨터 구현 프로세스를 생성하도록 하여, 상기 컴퓨터, 기타 프로그램가능 기기, 또는 기타 장치 상에서 실행되는 상기 명령어들이 상기 순서도 및/또는 블록도 블록 또는 블록들에서 특정된 기능들/행위들을 구현하도록 할 수 있다.The computer readable program instructions may also be loaded on a computer, other programmable data processing device, or other device such that a series of operations to be performed on the computer, other programmable device or other device creates a computer implemented process, such that The instructions executed on a computer, other programmable device, or other device may cause the functions / acts specified in the flowchart and / or block diagram block or blocks to be implemented.

도면들 내의 순서도 및 블록도들은 본 발명의 구성들의 다양한 양태들에 따라 시스템들, 방법들, 및 컴퓨터 프로그램 제품들의 가능한 구현들의 아키텍처, 기능, 및 동작을 도시한다. 이러한 점에서, 순서도 또는 블록도들 내의 각 블록은, 특정 동작들을 구현하기 위한 하나 이상의 실행가능 명령어들을 포함하는, 명령어들의 모듈, 세그먼트, 또는 일부를 나타낼 수 있다. 일부 대안적 구현들에서, 블록들에서 언급된 기능들은 도면들에서 언급된 순서와 달리 발생할 수 있다. 예를 들면, 관여된 기능에 따라, 연속적으로 도시한 두 개의 블록들은 실질적으로 동시에 실행될 수 있거나, 또는 상기 블록들은 때때로 역순으로 실행될 수 있다. 상기 블록도들 및/또는 순서도 예시의 각 블록, 및 상기 블록도들 및/또는 순서도 예시 내의 블록들의 조합들은, 특정 기능들 또는 행위들을 수행하거나 또는 특수 목적 하드웨어 및 컴퓨터 명령어들의 조합들을 수행하는, 특수 목적 하드웨어 기반 시스템들에 의해 구현될 수 있음을 또한 알아야 할 것이다.Flow diagrams and block diagrams in the drawings illustrate the architecture, function, and operation of possible implementations of systems, methods, and computer program products in accordance with various aspects of the configurations of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing particular operations. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, depending on the function involved, two blocks shown in succession may be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order. Each block of the block diagrams and / or flow chart examples, and combinations of blocks in the block diagrams and / or flow chart examples, perform specific functions or acts or perform combinations of special purpose hardware and computer instructions, It will also be appreciated that it may be implemented by special purpose hardware based systems.

하기 청구항들에서 발견할 수 있는 모든 기능식 청구항(means or step plus function) 요소들의 상응하는 구조들, 물질들, 행위들, 및 등가물들은, 구체적으로 청구된 바와 같이, 다른 청구 요소들과 조합하여 상기 기능을 수행하기 위한 어떠한 구조, 물질, 또는 행위든 포함하고자 한 것이다.Corresponding structures, materials, acts, and equivalents of all the elements or step plus function elements that can be found in the claims below, in combination with other claimed elements, as specifically claimed It is intended to include any structure, material, or action for carrying out this function.

본 명세서에서 제공된 실시예들에 대한 설명은 예시를 위한 것이며 개시된 형태 및 예들로 한정하거나 제한하고자 한 것이 아니다. 본 명세서에서 사용된 용어는 본 발명의 구성들의 원리, 시장(marketplace)에서 발견된 기술에 대한 실제적인 응용 또는 기술적 향상을 설명하기 위해, 및/또는 본 발명이 속하는 기술분야의 통상의 지식을 가진 자들이 본 명세서에 개시된 실시예들을 이해할 수 있도록 하기 위해 선택되었다. 변경들 및 변형들은, 설명된 본 발명의 구성들의 범위 및 사상을 벗어나지 않고, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자들에게 명백할 수 있다. 따라서, 그러한 특징들 및 구현들의 범위를 나타내는 것으로서, 전술한 개시가 아니라 다음의 청구항들을 참조해야 할 것이다.The description of the embodiments provided herein is for illustration only and is not intended to be limited or limited to the disclosed form and examples. The terminology used herein is intended to explain the principles of the constructions of the invention, the practical application or technical improvement of techniques found in the marketplace, and / or having ordinary knowledge in the art to which the invention pertains. It was chosen to enable those skilled in the art to understand the embodiments disclosed herein. Modifications and variations may be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described inventive configurations. Accordingly, reference should be made to the following claims, rather than the foregoing disclosure, as indicating the scope of such features and implementations.

Claims (24)

PPG 데이터의 세그먼트에 대한 품질 추정치(quality estimate)을 결정하는 단계;
상기 품질 추정치가 품질 문턱값을 초과한다는 결정에 응답하여, 프로세서를 이용하여, 상기 PPG 데이터의 상기 세그먼트의 주기성(periodicity)의 추정치에 기반하여 상기 PPG 데이터의 상기 세그먼트를 필터링하는 단계;
상기 프로세서를 이용하여, 상기 PPG 데이터의 상기 세그먼트에 대한 건강 표지자(health marker)를 결정하는 단계;
PPG 데이터로부터의 상기 건강 표지자의 이전(prior) 결정에 기반하여 상기 건강 표지자를 밸리데이션하는(validating) 단계; 및
상기 밸리데이션에 응답하여, 상기 건강 표지자를 출력하는 단계를 포함하는, 방법.
Determining a quality estimate for a segment of PPG data;
In response to determining that the quality estimate exceeds a quality threshold, using a processor to filter the segment of the PPG data based on an estimate of the periodicity of the segment of the PPG data;
Using the processor, determining a health marker for the segment of the PPG data;
Validating the health marker based on prior determination of the health marker from PPG data; And
In response to the validation, outputting the health indicator.
제1 항에 있어서, 상기 PPG 데이터는 다중 채널 PPG 데이터이고, 상기 품질 추정치를 결정하는 단계는:
상기 다중 채널 PPG 데이터의 제1 채널에 상응하는 PPG 데이터와 상기 다중 채널 PPG 데이터의 제2 채널에 상응하는 PPG 데이터 간의 공분산(covariance)을 결정하는 단계를 포함하는 것인, 방법.
The method of claim 1, wherein the PPG data is multi-channel PPG data, and the determining of the quality estimate comprises:
Determining a covariance between PPG data corresponding to the first channel of the multi-channel PPG data and PPG data corresponding to the second channel of the multi-channel PPG data.
제1 항에 있어서, 상기 품질 추정치를 결정하는 단계는:
상기 PPG 데이터의 상기 세그먼트에 대한 상호 정보량(mutual information)을 결정하는 단계를 포함하는 것인, 방법.
The method of claim 1, wherein determining the quality estimate is:
Determining mutual information for the segment of the PPG data.
제1 항에 있어서, 상기 필터링 단계는:
상기 PPG 데이터의 상기 세그먼트의 주기성의 상기 추정치에 기반하여 복수의 필터들로부터 필터를 선택하는 단계; 및
상기 선택된 필터를 상기 PPG 데이터에 적용하는 단계를 포함하는 것인, 방법.
The method of claim 1, wherein the filtering step:
Selecting a filter from a plurality of filters based on the estimate of the periodicity of the segment of the PPG data; And
Applying the selected filter to the PPG data.
제1 항에 있어서, 상기 건강 표지자를 밸리데이션하는 단계는:
상기 건강 표지자가 상기 건강 표지자에 대한 미리 결정된 생리적 범위(physiological range) 내에 있는지 여부를 결정하는 단계를 포함하는 것인, 방법.
The method of claim 1, wherein validating the health indicator comprises:
Determining whether the health marker is within a predetermined physiological range for the health marker.
제1 항에 있어서, 상기 건강 표지자를 밸리데이션하는 단계는:
상기 건강 표지자가 상기 건강 표지자의 이전 결정에 비해 미리 결정된 양을 초과하여 변했는지 여부를 결정하는 단계를 포함하는 것인, 방법.
The method of claim 1, wherein validating the health indicator comprises:
Determining whether the health marker has changed by more than a predetermined amount compared to a previous determination of the health marker.
제1 항에 있어서, 상기 건강 표지자를 밸리데이션하는 단계는:
상기 PPG 데이터의 상기 세그먼트의 RR 보정(correction)을 수행하는 단계를 포함하는 것인, 방법.
The method of claim 1, wherein validating the health indicator comprises:
Performing RR correction of the segment of the PPG data.
제1 항에 있어서,
상기 필터링 단계 이전에 상기 PPG 데이터의 상기 세그먼트를 디노이징하는(de-noising) 단계를 더 포함하는, 방법.
According to claim 1,
De-noising the segment of the PPG data prior to the filtering step.
제8 항에 있어서,
관성 센서 데이터에 기반하여 상기 디노이징을 수행할지 여부를 결정하는 단계를 더 포함하는, 방법.
The method of claim 8,
Determining whether to perform the denoising based on inertial sensor data.
제1 항에 있어서,
상기 PPG 데이터의 상기 세그먼트의 맥동 진폭(pulsatile amplitude)을 결정하는 단계; 및
상기 맥동 진폭에 기반하여 상기 PPG 데이터의 상기 세그먼트가 유효한지 여부를 결정하는 단계를 더 포함하는, 방법.
According to claim 1,
Determining a pulsatile amplitude of the segment of the PPG data; And
Determining whether the segment of PPG data is valid based on the pulsation amplitude.
제1 항에 있어서, 상기 건강 표지자는 심박수(heart rate)인 것인, 방법.The method of claim 1, wherein the health indicator is heart rate. 제1 항에 있어서, 상기 건강 표지자는 심박 변이도(heart rate variability)인 것인, 방법.The method of claim 1, wherein the health indicator is heart rate variability. 제1 항에 있어서, 상기 건강 표지자는 스트레스인 것인, 방법.The method of claim 1, wherein the health indicator is stress. 명령어들(instructions)을 저장하도록 구성되는 메모리; 및
상기 메모리에 결합되고, 상기 명령어들의 실행에 응답하여, 동작들을 개시하도록 구성되는 프로세서에 있어서, 상기 동작들은:
PPG 데이터의 세그먼트에 대한 품질 추정치를 결정하는 단계;
상기 품질 추정치가 품질 문턱값을 초과한다는 결정에 응답하여, 상기 PPG 데이터의 상기 세그먼트의 주기성의 추정치에 기반하여 상기 PPG 데이터의 상기 세그먼트를 필터링하는 단계;
상기 PPG 데이터의 상기 세그먼트에 대한 건강 표지자를 결정하는 단계;
PPG 데이터로부터의 상기 건강 표지자의 이전 결정에 기반하여 상기 건강 표지자를 밸리데이션하는 단계; 및
상기 밸리데이션에 응답하여, 상기 건강 표지자를 출력하는 단계를 포함하는 것인, 상기 프로세서를 포함하는, 장치.
A memory configured to store instructions; And
A processor coupled to the memory and configured to initiate operations in response to execution of the instructions, the operations include:
Determining a quality estimate for a segment of PPG data;
In response to determining that the quality estimate exceeds a quality threshold, filtering the segment of the PPG data based on an estimate of the periodicity of the segment of the PPG data;
Determining a health indicator for the segment of the PPG data;
Validating the health marker based on previous determination of the health marker from PPG data; And
In response to the validation, outputting the health indicator.
제14 항에 있어서, 상기 PPG 데이터는 다중 채널 PPG 데이터이고, 상기 품질 추정치를 결정하는 단계는:
상기 다중 채널 PPG 데이터의 제1 채널에 상응하는 PPG 데이터와 상기 다중 채널 PPG 데이터의 제2 채널에 상응하는 PPG 데이터 간의 공분산을 결정하는 단계를 포함하는 것인, 장치.
15. The method of claim 14, wherein the PPG data is multichannel PPG data, and the determining of the quality estimate comprises:
Determining a covariance between the PPG data corresponding to the first channel of the multichannel PPG data and the PPG data corresponding to the second channel of the multichannel PPG data.
제14 항에 있어서, 상기 품질 추정치를 결정하는 단계는:
상기 PPG 데이터의 상기 세그먼트에 대한 상호 정보량을 결정하는 단계를 포함하는 것인, 장치.
15. The method of claim 14, wherein determining the quality estimate comprises:
Determining the amount of mutual information for the segment of the PPG data.
제14 항에 있어서, 상기 필터링 단계는:
상기 PPG 데이터의 상기 세그먼트의 주기성의 상기 추정치에 기반하여 복수의 필터들로부터 필터를 선택하는 단계; 및
상기 선택된 필터를 상기 PPG 데이터에 적용하는 단계를 포함하는 것인, 장치.
The method of claim 14, wherein the filtering step:
Selecting a filter from a plurality of filters based on the estimate of the periodicity of the segment of the PPG data; And
Applying the selected filter to the PPG data.
제14 항에 있어서, 상기 건강 표지자를 밸리데이션하는 단계는:
상기 건강 표지자가 상기 건강 표지자에 대한 미리 결정된 생리적 범위 내에 있는지 여부를 결정하는 단계를 포함하는 것인, 장치.
The method of claim 14, wherein validating the health indicator comprises:
Determining whether the health indicator is within a predetermined physiological range for the health indicator.
제14 항에 있어서, 상기 건강 표지자를 밸리데이션하는 단계는:
상기 건강 표지자가 상기 건강 표지자의 이전 결정에 비해 미리 결정된 양을 초과하여 변했는지 여부를 결정하는 단계를 포함하는 것인, 장치.
The method of claim 14, wherein validating the health indicator comprises:
Determining whether the health marker has changed by more than a predetermined amount compared to a previous determination of the health marker.
제14 항에 있어서, 상기 건강 표지자를 밸리데이션하는 단계는:
상기 PPG 데이터의 상기 세그먼트의 RR 보정을 수행하는 단계를 포함하는 것인, 장치.
The method of claim 14, wherein validating the health indicator comprises:
Performing RR correction of the segment of the PPG data.
제14 항에 있어서, 상기 프로세서는 실행가능 동작들을 개시하도록 구성되고, 상기 동작들은:
상기 필터링 단계 이전에 상기 PPG 데이터의 상기 세그먼트를 디노이징하는 단계를 더 포함하는 것인, 장치.
The method of claim 14, wherein the processor is configured to initiate executable operations, wherein the operations are:
Denosing the segment of the PPG data prior to the filtering step.
제21 항에 있어서, 상기 프로세서는 실행가능 동작들을 개시하도록 구성되고, 상기 동작들은:
관성 센서 데이터에 기반하여 상기 디노이징을 수행할지 여부를 결정하는 단계를 더 포함하는 것인, 장치.
The processor of claim 21, wherein the processor is configured to initiate executable operations, wherein the operations are:
Determining whether to perform the denoising based on inertial sensor data.
제14 항에 있어서, 상기 프로세서는 실행가능 동작들을 개시하도록 구성되고, 상기 동작들은:
상기 PPG 데이터의 상기 세그먼트의 맥동 진폭을 결정하는 단계; 및
상기 맥동 진폭에 기반하여 상기 PPG 데이터의 상기 세그먼트가 유효한지 여부를 결정하는 단계를 더 포함하는 것인, 장치.
The method of claim 14, wherein the processor is configured to initiate executable operations, wherein the operations are:
Determining a pulsation amplitude of the segment of the PPG data; And
Determining whether the segment of the PPG data is valid based on the pulsation amplitude.
프로그램이 저장된 하나 이상의 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 프로그램은 적어도 하나의 프로세서에 의해 실행될 때 제1 항 내지 제13 항 중 어느 한 항의 방법을 수행하는 것인, 컴퓨터 프로그램 제품.A computer program product comprising one or more readable storage media having stored thereon a program, wherein the program performs the method of any one of claims 1 to 13 when executed by at least one processor. .
KR1020187026093A 2017-05-05 2018-05-04 Determination of Health Markers Using Portable Devices KR20190138733A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762501966P 2017-05-05 2017-05-05
US62/501,966 2017-05-05
US15/957,627 2018-04-19
US15/957,627 US10973423B2 (en) 2017-05-05 2018-04-19 Determining health markers using portable devices
PCT/KR2018/005202 WO2018203712A1 (en) 2017-05-05 2018-05-04 Determining health markers using portable devices

Publications (1)

Publication Number Publication Date
KR20190138733A true KR20190138733A (en) 2019-12-16

Family

ID=64014341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187026093A KR20190138733A (en) 2017-05-05 2018-05-04 Determination of Health Markers Using Portable Devices

Country Status (5)

Country Link
US (1) US10973423B2 (en)
EP (1) EP3570736B1 (en)
KR (1) KR20190138733A (en)
CN (1) CN110461215B (en)
WO (1) WO2018203712A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10973423B2 (en) 2017-05-05 2021-04-13 Samsung Electronics Co., Ltd. Determining health markers using portable devices

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190000394A1 (en) * 2017-07-03 2019-01-03 Mediatek Inc. Physiological monitoring devices and physiological monitoring method
CN110785118A (en) * 2017-07-25 2020-02-11 华为技术有限公司 Wearing prompt method and device for wearable equipment
GB2603104A (en) * 2020-12-04 2022-08-03 Huma Therapeutics Ltd Predicting a heart rate variability parameter
US20220361788A1 (en) * 2021-05-11 2022-11-17 Mahir Shah System and method for measuring acute and chronic stress
EP4140392A1 (en) * 2021-08-23 2023-03-01 Nokia Technologies Oy Noise removal in physiological signals
CN114403831B (en) * 2022-03-25 2022-06-14 广东玖智科技有限公司 PPG waveform pulse extraction method and device
CN117503133A (en) * 2022-07-30 2024-02-06 华为技术有限公司 Diabetes risk detection method, electronic equipment and system

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183351B2 (en) 2000-05-30 2015-11-10 Vladimir Shusterman Mobile system with network-distributed data processing for biomedical applications
US7257438B2 (en) 2002-07-23 2007-08-14 Datascope Investment Corp. Patient-worn medical monitoring device
US8326407B2 (en) 2004-10-19 2012-12-04 University Of Washington Long-term monitoring for discrimination of different heart rhythms
US7733224B2 (en) 2006-06-30 2010-06-08 Bao Tran Mesh network personal emergency response appliance
US9126050B2 (en) 2009-03-20 2015-09-08 ElectroCore, LLC Non-invasive vagus nerve stimulation devices and methods to treat or avert atrial fibrillation
JP5789199B2 (en) 2009-02-25 2015-10-07 ヴァレンセル,インコーポレイテッド Headset and earbud
US9339202B2 (en) 2009-11-03 2016-05-17 Vivaquant Llc System for processing physiological data
CN102917661B (en) * 2010-01-14 2015-09-23 风险获利有限公司 Based on the health index monitored for health of multivariate residual error
DE102010006956B4 (en) * 2010-02-02 2012-03-29 Technische Universität Berlin Method and apparatus for measuring oxygen saturation in blood
US8543194B2 (en) 2010-12-28 2013-09-24 Industrial Technology Research Institute System and method of detecting abnormal movement of a physical object
KR101255911B1 (en) * 2011-02-14 2013-04-17 삼성전기주식회사 Electrolytic copper plating solution composition
EP2683291B1 (en) 2011-03-11 2019-07-31 Proteus Digital Health, Inc. Wearable personal body associated device with various physical configurations
WO2013036718A1 (en) 2011-09-08 2013-03-14 Isis Innovation Ltd. Determining acceptability of physiological signals
KR101357824B1 (en) 2011-11-29 2014-02-05 주식회사 라이프사이언스테크놀로지 Method for Emotion Analysis of a Driver
US20130338460A1 (en) 2012-06-18 2013-12-19 David Da He Wearable Device for Continuous Cardiac Monitoring
US8948832B2 (en) 2012-06-22 2015-02-03 Fitbit, Inc. Wearable heart rate monitor
EP2892421A1 (en) 2012-09-04 2015-07-15 Whoop, Inc. Systems, devices and methods for continuous heart rate monitoring and interpretation
CA2894396C (en) * 2012-12-14 2020-10-27 Koninklijke Philips N.V. A system and method to detect significant arrhythmic events through a photoplethysmogram (ppg) and accelerometer
US9375145B2 (en) 2012-12-19 2016-06-28 Elwha Llc Systems and methods for controlling acquisition of sensor information
US20140180044A1 (en) * 2012-12-22 2014-06-26 Covidien Lp Methods and systems for determining signal quality of a physiological signal
US20140180043A1 (en) * 2012-12-22 2014-06-26 Covidien Lp Methods and systems for determining signal quality of a physiological signal
CN103020472B (en) * 2012-12-27 2015-12-09 中国科学院深圳先进技术研究院 Based on physiological signal quality evaluation method and the system of restrained split-flow
CA2935598C (en) * 2014-01-27 2021-10-26 Rhythm Diagnostic Systems, Inc. Ppg processing method and wearable device using the same
CN114504310A (en) 2014-04-02 2022-05-17 皇家飞利浦有限公司 System and method for detecting changes in heart rate of a user
US9848823B2 (en) 2014-05-29 2017-12-26 Apple Inc. Context-aware heart rate estimation
US10238305B2 (en) 2014-05-30 2019-03-26 Microsoft Technology Licensing, Llc Dynamic operation of optical heart rate sensors
US20160206247A1 (en) * 2015-01-21 2016-07-21 Covidien Lp Adaptive motion correction in photoplethysmography using reference signals
US20160223514A1 (en) * 2015-01-30 2016-08-04 Samsung Electronics Co., Ltd Method for denoising and data fusion of biophysiological rate features into a single rate estimate
US10342466B2 (en) 2015-03-24 2019-07-09 Covidien Lp Regional saturation system with ensemble averaging
US20160360984A1 (en) * 2015-06-15 2016-12-15 Microsoft Technology Licensing, Llc Optical Photoplethysmogram Signal Shape Feature Biological Monitor
US10420515B2 (en) 2015-06-15 2019-09-24 Vital Labs, Inc. Method and system for acquiring data for assessment of cardiovascular disease
KR20170008043A (en) 2015-07-13 2017-01-23 엘지전자 주식회사 Apparatus and method for measuring heart beat/stree of moble terminal
US10390764B2 (en) 2015-07-16 2019-08-27 Samsung Electronics Company, Ltd. Continuous stress measurement with built-in alarm fatigue reduction features
US9642538B2 (en) * 2015-07-19 2017-05-09 Sanmina Corporation System and method for a biosensor monitoring and tracking band
KR102486700B1 (en) * 2015-08-11 2023-01-11 삼성전자주식회사 Apparatus and method for estimating blood pressure
JP6854612B2 (en) * 2015-10-06 2021-04-07 三星電子株式会社Samsung Electronics Co.,Ltd. Biological information measuring device, biometric information measuring method, and computer-readable recording medium
US9801587B2 (en) * 2015-10-19 2017-10-31 Garmin Switzerland Gmbh Heart rate monitor with time varying linear filtering
US20170156592A1 (en) * 2015-12-02 2017-06-08 Mediatek Inc. Healthcare systems and monitoring method for physiological signals
CN105686818A (en) * 2016-03-30 2016-06-22 华为技术有限公司 Measuring device and method
CN105816163B (en) * 2016-05-09 2019-03-15 安徽华米信息科技有限公司 Detect the method, apparatus and wearable device of heart rate
CN106175742A (en) 2016-07-19 2016-12-07 北京心量科技有限公司 A kind of heart sign acquisition methods and device
US10973423B2 (en) 2017-05-05 2021-04-13 Samsung Electronics Co., Ltd. Determining health markers using portable devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10973423B2 (en) 2017-05-05 2021-04-13 Samsung Electronics Co., Ltd. Determining health markers using portable devices

Also Published As

Publication number Publication date
EP3570736B1 (en) 2024-05-08
US10973423B2 (en) 2021-04-13
CN110461215A (en) 2019-11-15
EP3570736A1 (en) 2019-11-27
EP3570736A4 (en) 2020-02-05
WO2018203712A1 (en) 2018-11-08
CN110461215B (en) 2022-09-13
US20180317788A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
EP3570736B1 (en) Determining health markers using portable devices
EP3383256B1 (en) Systems and methods for detecting photoplethysmographic device usage
EP3478166B1 (en) On-demand heart rate estimation based on optical measurements
JP7154977B2 (en) BIOLOGICAL SIGNAL QUALITY EVALUATION DEVICE AND METHOD
US11357410B2 (en) Measuring blood pressure
CN109452935B (en) Non-invasive method and system for estimating blood pressure from a vascular plethysmogram using statistical post-processing
US9504401B2 (en) Atrial fibrillation analyzer and program
JP6465899B2 (en) Device and method for removing artifacts in physiological measurements
US20130267796A1 (en) System and method for the simultaneous, non-invasive estimation of blood glucose, glucocorticoid level and blood pressure
EP3310249B1 (en) Robust heart rate estimation
US20160361023A1 (en) Techniques for determining physiological properties of a user using vascular-related signals qualified by activity state
EP3393345B1 (en) Method and apparatus for detecting live tissues using signal analysis
US11564613B2 (en) Non-invasive continuous heart rhythm monitoring based on wearable sensors
US10980485B2 (en) Measuring apparatus, measuring method and non-transitory computer readable medium
US12016665B2 (en) Method for generating heart rate variability information related to external object by using plurality of filters, and device therefor
JP2011212383A (en) Biological information processor
EP3716841B1 (en) Cardiovascular monitoring using multiple sensors
CN115666376A (en) System and method for hypertension monitoring
Moukadem et al. High Order Statistics and Time‐Frequency Domain to Classify Heart Sounds for Subjects under Cardiac Stress Test
JP2013106707A (en) Information processing method, apparatus and program
CN111374657B (en) Method and device for detecting arrhythmia based on photoplethysmograph signals
WO2022227843A1 (en) Wearable device, and heart rate tracking method therefor and heart rate tracking apparatus thereof
KR20230126564A (en) Method for measuring heart rate and computing device for executing the method
EP4415615A1 (en) Ai-based tool for screening sleep apnea

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
WITB Written withdrawal of application