[go: up one dir, main page]

KR102835913B1 - Method, and apparatus for providing user interface for labeling of medical artificial intelligence - Google Patents

Method, and apparatus for providing user interface for labeling of medical artificial intelligence

Info

Publication number
KR102835913B1
KR102835913B1 KR1020240112751A KR20240112751A KR102835913B1 KR 102835913 B1 KR102835913 B1 KR 102835913B1 KR 1020240112751 A KR1020240112751 A KR 1020240112751A KR 20240112751 A KR20240112751 A KR 20240112751A KR 102835913 B1 KR102835913 B1 KR 102835913B1
Authority
KR
South Korea
Prior art keywords
user interface
electrocardiogram
electrocardiogram signal
command
labeling
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020240112751A
Other languages
Korean (ko)
Other versions
KR20250035455A (en
Inventor
권준명
손정민
김규린
Original Assignee
주식회사 메디컬에이아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 메디컬에이아이 filed Critical 주식회사 메디컬에이아이
Priority to PCT/KR2024/012987 priority Critical patent/WO2025053543A1/en
Publication of KR20250035455A publication Critical patent/KR20250035455A/en
Application granted granted Critical
Publication of KR102835913B1 publication Critical patent/KR102835913B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • 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/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient; User input means
    • A61B5/742Details of notification to user or communication with user or patient; User input means using visual displays
    • A61B5/743Displaying an image simultaneously with additional graphical information, e.g. symbols, charts, function plots
    • 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

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Cardiology (AREA)
  • Veterinary Medicine (AREA)
  • Animal Behavior & Ethology (AREA)
  • Surgery (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Primary Health Care (AREA)
  • Mathematical Physics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Databases & Information Systems (AREA)
  • Epidemiology (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Radiology & Medical Imaging (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physiology (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

본 개시의 일 실시예에 따른, 의료용 인공지능의 라벨링을 위한 사용자 인터페이스를 제공하는 방법, 프로그램 및 장치가 개시된다. 상기 방법은, 심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스를 제공하는 단계; 및 상기 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스를 제공하는 단계를 포함할 수 있다.According to one embodiment of the present disclosure, a method, a program and a device for providing a user interface for labeling medical artificial intelligence are disclosed. The method may include the steps of providing a first user interface listing labelable electrocardiogram features on an electrocardiogram signal; and the steps of providing a second user interface for visually displaying the electrocardiogram signal.

Description

의료용 인공지능의 라벨링을 위한 사용자 인터페이스를 제공하는 방법 및 장치{METHOD, AND APPARATUS FOR PROVIDING USER INTERFACE FOR LABELING OF MEDICAL ARTIFICIAL INTELLIGENCE}METHOD, AND APPARATUS FOR PROVIDING USER INTERFACE FOR LABELING OF MEDICAL ARTIFICIAL INTELLIGENCE

본 개시의 내용은 사용자 인터페이스 기술에 관한 것으로, 구체적으로 의료 데이터의 분석에 사용되는 인공지능의 학습을 위한 라벨링 기능을 제공하는 사용자 인터페이스에 관한 것이다.The present disclosure relates to user interface technology, and more particularly, to a user interface that provides a labeling function for learning of artificial intelligence used in analysis of medical data.

심전도 신호는 대표적으로 P파, QRS파, T파로 구분할 수 있다. 심전도를 이용해 건강 상태 또는 질병 유무 등을 가늠하고자 할 때, 심전도 신호를 통째로 분석하지 않고 P파, QRS파, T파로 분할한 뒤 분석한다. 예를 들어, P파의 시작에서부터 QRS파의 시작을 뜻하는 PR 간격은 정상적으로 0.2초를 넘지 않으며, QRS파는 0.1초 이내를, Q파의 시작부터 T파의 끝까지의 간격을 뜻하는 QT 간격은 0.4초 정도를 정상으로 판단한다. 이와 같이 건강 상태 또는 질병 유무 등의 판단에 영향을 미치는 신호 파형 및 간격 등을 일반적으로 심전도 특징이라 부른다.Electrocardiogram signals can be typically divided into P waves, QRS waves, and T waves. When trying to assess health status or disease using an electrocardiogram, the electrocardiogram signal is not analyzed as a whole, but is divided into P waves, QRS waves, and T waves and then analyzed. For example, the PR interval, which means the start of the P wave to the start of the QRS wave, is normally no longer than 0.2 seconds, the QRS wave is within 0.1 seconds, and the QT interval, which means the interval from the start of the Q wave to the end of the T wave, is approximately 0.4 seconds. Signal waveforms and intervals that affect the assessment of health status or disease in this way are generally called electrocardiogram features.

심전도 신호에서 P파, QRS파, T파를 정확히 구별하는 것은 분석 정확도를 높이는 데 중요한 요소다. 인공지능을 이용하여 심전도 신호를 분석할 때에도 정확한 P파, QRS파, T파에 대한 정보를 함께 입력하면 정확도는 더 올라갈 수 있다. 즉, 심전도 신호를 분석할 때 인공지능이 심전도 특징을 정확하게 파악할 수 있다면, 건강 상태 및 질병 유무 등의 판단이 매우 정확하게 이루어질 수 있다. Accurately distinguishing P waves, QRS waves, and T waves in an ECG signal is an important factor in increasing the accuracy of the analysis. When analyzing an ECG signal using AI, accuracy can be further improved by inputting information on the exact P waves, QRS waves, and T waves. In other words, if AI can accurately identify ECG characteristics when analyzing an ECG signal, it can make judgments about health status and the presence of diseases very accurately.

다만, 인공지능이 심전도 특징을 정확하게 스스로 파악하기 위해서는, 심전도 신호에서 심전도 특징이 어떻게 구별되는지에 대한 정답이 필요하다. 이러한 정답은 심전도 판독 영역의 전문가에 의한 라벨링을 통해 부여된다. 예를 들어, 전문가는 심전도 신호에서 심전도 특징인 P파, QRS파, T파의 시작점(onset), 피크(peak) 및 끝점(offset)을 찾아서 인공지능이 인식할 수 있는 정답을 부여할 수 있다. 이러한 작업은 많은 시간과 비용이 부담되는 일이기 때문에, 최대한 효율적으로 수행될 수 있는 환경을 구축하는 것이 필요하다.However, in order for AI to accurately identify ECG features on its own, it needs to have the right answer to how the ECG features are distinguished in the ECG signal. This answer is given through labeling by experts in the ECG interpretation field. For example, an expert can find the onset, peak, and offset of the ECG features, P wave, QRS wave, and T wave, in the ECG signal and give the AI the right answer that it can recognize. Since this task is burdensome and time-consuming, it is necessary to build an environment where it can be performed as efficiently as possible.

대한민국 등록특허공보 제10-2251291호(2021.05.06.)Republic of Korea Patent Publication No. 10-2251291 (May 6, 2021)

본 개시는 전문가가 간단한 접근 및 조작으로 심전도 신호에 대한 라벨링을 효율적으로 수행할 수 있도록 하는 사용자 인터페이스를 제공하는 방법을 제공하는 것을 목적으로 한다.The present disclosure aims to provide a method that provides a user interface that enables an expert to efficiently perform labeling of electrocardiogram signals with simple access and operation.

다만, 본 개시에서 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재를 근거로 명확하게 이해될 수 있을 것이다.However, the problems to be solved in the present disclosure are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood based on the description below.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 의료용 인공지능의 라벨링을 위한 사용자 인터페이스를 제공하는 방법이 개시된다. 상기 방법은, 심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스를 제공하는 단계; 및 상기 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스를 제공하는 단계를 포함할 수 있다.According to one embodiment of the present disclosure for achieving the above-described task, a method for providing a user interface for labeling of medical artificial intelligence is disclosed. The method may include the steps of providing a first user interface listing labelable electrocardiogram features on an electrocardiogram signal; and the steps of providing a second user interface for visually displaying the electrocardiogram signal.

대안적으로, 상기 제 1 사용자 인터페이스는, 상기 심전도 신호 상에 라벨링이 가능한 심전도 특징들 중에서 라벨링 대상인 심전도 특징을 선정하기 위한 제 1 명령에 응답하여 시각적 표현 및 상태를 동적으로 변경하는 제 1 컨트롤 그래픽을 포함할 수 있다.Alternatively, the first user interface may include a first control graphic that dynamically changes a visual representation and state in response to a first command to select an electrocardiogram feature to be labeled from among the labelable electrocardiogram features on the electrocardiogram signal.

대안적으로, 상기 제 2 사용자 인터페이스는, 상기 제 1 명령에 따라 선정된 심전도 특징을 상기 심전도 신호 상에 라벨링 하기 위한 제 2 명령에 응답하여 상기 심전도 신호 상에 표시되는 제 2 컨트롤 그래픽을 포함할 수 있다.Alternatively, the second user interface may include a second control graphic displayed on the electrocardiogram signal in response to a second command to label the electrocardiogram feature selected in accordance with the first command on the electrocardiogram signal.

대안적으로, 상기 심전도 신호 상에서 복수의 제 2 컨트롤 그래픽들이 존재하는 경우, 상기 복수의 제 2 컨트롤 그래픽들 중에서 상기 제 1 명령에 응답하여 활성화 상태가 된 제 1 컨트롤 그래픽에 대응되는 심전도 특징과 관련된 파형에 존재하는 제 2 컨트롤 그래픽이 상기 심전도 신호 상에서 활성화 될 수 있다.Alternatively, when a plurality of second control graphics exist on the ECG signal, a second control graphic existing in a waveform related to an ECG characteristic corresponding to a first control graphic activated in response to the first command among the plurality of second control graphics may be activated on the ECG signal.

대안적으로, 상기 제 2 사용자 인터페이스는, 상기 제 2 컨트롤 그래픽이 표시되지 않은 심전도 신호 또는 상기 제 2 컨트롤 그래픽이 표시된 심전도 신호를 사전 학습된 인공지능 모델에 입력하여 예측된 심전도 특징에 대한 라벨을 기반으로, 상기 심전도 신호 상에 표시되는 제 3 컨트롤 그래픽을 포함할 수 있다.Alternatively, the second user interface may include a third control graphic displayed on the electrocardiogram signal based on labels for predicted electrocardiogram features by inputting the electrocardiogram signal, on which the second control graphic is not displayed, or the electrocardiogram signal with the second control graphic displayed, into a pre-trained artificial intelligence model.

대안적으로, 상기 제 3 컨트롤 그래픽은, 상기 제 2 명령의 입력을 가이드 하기 위해, 상기 심전도 신호 상에서 상기 예측된 심전도 특징의 위치를 특정하여 표현하거나, 상기 예측된 라벨을 기반으로 산출된, 상기 제 2 컨트롤 그래픽을 통해 특정된 심전도 특징의 오차 정보를 표현할 수 있다.Alternatively, the third control graphic may specify a location of the predicted electrocardiogram feature on the electrocardiogram signal to guide the input of the second command, or may express error information of the electrocardiogram feature specified through the second control graphic based on the predicted label.

대안적으로, 상기 제 2 사용자 인터페이스는, 상기 심전도 신호 상에서 상기 제 2 명령이 입력되는 지점의 위치 정보 또는 상기 심전도 신호 상에서 라벨링을 보조하기 위한 가이드 선을 표현하는 제 4 컨트롤 그래픽을 포함할 수 있다.Alternatively, the second user interface may include a fourth control graphic representing location information of a point on the electrocardiogram signal at which the second command is input or a guide line to assist in labeling on the electrocardiogram signal.

대안적으로, 상기 제 2 사용자 인터페이스는, 상기 심전도 신호에 존재하는 노이즈를 제거한 상태 또는 상기 노이즈를 제거하지 않은 상태 중 어느 하나를 선정하는 제 3 명령에 응답하여, 상기 심전도 신호의 시각적 표현을 동적으로 변경할 수 있다.Alternatively, the second user interface may dynamically change the visual representation of the electrocardiogram signal in response to a third command selecting either a state in which noise present in the electrocardiogram signal is removed or a state in which noise is not removed.

대안적으로, 상기 방법은, 상기 심전도 신호 상에 라벨링 하지 않고 사용자 명령에 의해 정의되는 심전도 특징들을 나열하는 제 3 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.Alternatively, the method may further comprise the step of providing a third user interface that lists electrocardiogram features defined by user commands without labeling the electrocardiogram signal.

대안적으로, 상기 제 3 사용자 인터페이스는, 상기 제 3 사용자 인터페이스에서 나열되는 심전도 특징들의 존재 유무를 결정하는 제 4 명령에 응답하여, 시각적 표현 및 상태를 동적으로 변경하는 제 5 컨트롤 그래픽을 포함할 수 있다.Alternatively, the third user interface may include a fifth control graphic that dynamically changes its visual representation and state in response to a fourth command that determines the presence or absence of electrocardiogram features listed in the third user interface.

대안적으로, 상기 제 5 컨트롤 그래픽은, 상기 제 4 명령에 따라 상기 제 3 사용자 인터페이스에서 나열되는 심전도 특징들의 존재 유무를 결정하기 위한 그래픽일 수 있다.Alternatively, the fifth control graphic may be a graphic for determining the presence or absence of electrocardiogram features listed in the third user interface according to the fourth command.

대안적으로, 상기 방법은, 사용자에 의해 진행된 라벨링 상황을 표시하는 제 4 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.Alternatively, the method may further include the step of providing a fourth user interface that displays the labeling status performed by the user.

대안적으로, 상기 제 4 사용자 인터페이스는, 리드 별로 적어도 하나의 심전도 특징이 라벨링 되었는지 여부를 표현하는 제 6 컨트롤 그래픽을 포함할 수 있다.Alternatively, the fourth user interface may include a sixth control graphic representing whether at least one electrocardiogram feature per lead is labeled.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라, 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램(program)이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서(processor)에서 실행되는 경우, 의료용 인공지능의 라벨링을 위한 사용자 인터페이스를 제공하는 동작들을 수행하도록 하며, 상기 동작들은, 심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스를 제공하는 동작; 및 상기 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스를 제공하는 동작을 포함할 수 있다.According to one embodiment of the present disclosure for achieving the above-described task, a computer program stored in a computer-readable storage medium is disclosed. When the computer program is executed on one or more processors, it performs operations for providing a user interface for labeling of medical artificial intelligence, wherein the operations may include an operation for providing a first user interface for listing labelable electrocardiogram features on an electrocardiogram signal; and an operation for providing a second user interface for visually displaying the electrocardiogram signal.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라, 의료용 인공지능의 라벨링을 위해 사용자 인터페이스를 제공하는 컴퓨팅 장치가 개시된다. 상기 장치는, 적어도 하나의 코어(core)를 포함하는 프로세서; 상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및 심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스 및 상기 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스를 제공하는 입출력부(input/output unit)를 포함할 수 있다.According to one embodiment of the present disclosure for achieving the above-described task, a computing device providing a user interface for labeling of medical artificial intelligence is disclosed. The device may include a processor including at least one core; a memory including program codes executable by the processor; and an input/output unit providing a first user interface listing labelable electrocardiogram features on an electrocardiogram signal and a second user interface visually displaying the electrocardiogram signal.

본 개시는 전문가가 심전도 판독에 필요한 특징 별로 간단한 조작을 통해 심전도 신호에 대한 라벨링을 수행하고 라벨링이 진행되는 상황을 직관적으로 파악할 수 있는 사용자 인터페이스를 통해, 라벨링 작업이 정확하고 효율적으로 진행될 수 있는 컴퓨팅 환경을 제공할 수 있다.The present disclosure provides a computing environment in which labeling work can be performed accurately and efficiently through a user interface that allows experts to perform labeling of electrocardiogram signals through simple operations according to features required for electrocardiogram interpretation and to intuitively understand the progress of labeling.

도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도이다.
도 2 및 도 3은 본 개시의 일 실시예에 따른 사용자 인터페이스를 구현한 화면을 나타낸 개념도이다.
도 4는 본 개시의 일 실시예에 따른 사용자 인터페이스를 제공하는 방법을 나타낸 순서도이다.
도 5는 본 개시의 일 실시예에 따른 하드웨어 환경을 나타낸 블록도이다.
FIG. 1 is a block diagram of a computing device according to one embodiment of the present disclosure.
FIGS. 2 and 3 are conceptual diagrams showing screens implementing a user interface according to one embodiment of the present disclosure.
FIG. 4 is a flowchart illustrating a method for providing a user interface according to one embodiment of the present disclosure.
FIG. 5 is a block diagram showing a hardware environment according to one embodiment of the present disclosure.

아래에서는 첨부한 도면을 참조하여 본 개시의 기술 분야에서 통상의 지식을 가진 자(이하, 당업자)가 용이하게 실시할 수 있도록 본 개시의 실시예가 상세히 설명된다. 본 개시에서 제시된 실시예들은 당업자가 본 개시의 내용을 이용하거나 또는 실시할 수 있도록 제공된다. 따라서, 본 개시의 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이다. 즉, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 이하의 실시예에 한정되지 않는다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. The embodiments presented in the present disclosure are provided so that those skilled in the art can utilize or implement the contents of the present disclosure. Accordingly, various modifications to the embodiments of the present disclosure will be apparent to those skilled in the art. That is, the present disclosure may be implemented in various different forms and is not limited to the embodiments below.

본 개시의 명세서 전체에 걸쳐 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 지칭한다. 또한, 본 개시를 명확하게 설명하기 위해서, 도면에서 본 개시에 대한 설명과 관계없는 부분의 도면 부호는 생략될 수 있다.Throughout the specification of the present disclosure, the same or similar drawing reference numerals refer to the same or similar components. In addition, in order to clearly describe the present disclosure, drawing reference numerals of parts that are not related to the description of the present disclosure may be omitted in the drawings.

본 개시에서 사용되는 "또는" 이라는 용어는 배타적 "또는" 이 아니라 내포적 "또는" 을 의미하는 것으로 의도된다. 즉, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 이해되어야 한다. 예를 들어, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다" 는 X가 A를 이용하거나, X가 B를 이용하거나, 혹은 X가 A 및 B 모두를 이용하는 경우 중 어느 하나로 해석될 수 있다. The term "or" as used herein is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified herein or the context makes clear, "X employs either A or B" should be understood to mean either one of the natural inclusive permutations. For example, unless otherwise specified herein or the context makes clear, "X employs A or B" can be interpreted to mean either X employs A, X employs B, or X employs both A and B.

본 개시에서 사용되는 "및/또는" 이라는 용어는 열거된 관련 개념들 중 하나 이상의 개념의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.The term "and/or" as used herein should be understood to refer to and include all possible combinations of one or more of the associated concepts listed.

본 개시에서 사용되는 "포함한다" 및/또는 "포함하는" 이라는 용어는, 특정 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는" 이라는 용어는, 하나 이상의 다른 특징, 다른 구성요소 및/또는 이들에 대한 조합의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. The terms "comprises" and/or "comprising" as used herein should be understood to mean the presence of particular features and/or components. However, it should be understood that the terms "comprises" and/or "comprising" do not exclude the presence or addition of one or more other features, other components, and/or combinations thereof.

본 개시에서 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 단수는 일반적으로 "하나 또는 그 이상" 을 포함할 수 있는 것으로 해석되어야 한다.Unless otherwise specified in this disclosure or unless the context makes it clear that the singular form is intended to be referred to, the singular should generally be construed to include “one or more.”

본 개시에서 사용되는 "제 N(N은 자연수)" 이라는 용어는 본 개시의 구성요소들을 기능적 관점, 구조적 관점, 혹은 설명의 편의 등 소정의 기준에 따라 상호 구별하기 위해 사용되는 표현으로 이해될 수 있다. 예를 들어, 본 개시에서 서로 다른 기능적 역할을 수행하는 구성요소들은 제 1 구성요소 혹은 제 2 구성요소로 구별될 수 있다. 다만, 본 개시의 기술적 사상 내에서 실질적으로 동일하나 설명의 편의를 위해 구분되어야 하는 구성요소들도 제 1 구성요소 혹은 제 2 구성요소로 구별될 수도 있다.The term "Nth (N is a natural number)" used in the present disclosure can be understood as an expression used to mutually distinguish components of the present disclosure according to a predetermined standard such as a functional viewpoint, a structural viewpoint, or convenience of explanation. For example, components performing different functional roles in the present disclosure can be distinguished as a first component or a second component. However, components that are substantially the same within the technical spirit of the present disclosure but should be distinguished for convenience of explanation may also be distinguished as a first component or a second component.

본 개시에서 사용되는 "획득" 이라는 용어는, 외부 장치 혹은 시스템과의 유무선 통신 네트워크를 통해 데이터를 수신하는 것 뿐만 아니라, 온-디바이스(on-device) 형태로 데이터를 생성하는 것을 의미하는 것으로 이해될 수 있다.The term "acquisition" as used in this disclosure may be understood to mean not only receiving data via a wired or wireless communication network with an external device or system, but also generating data in an on-device form.

한편, 본 개시에서 사용되는 용어 "모듈(module)", 또는 "부(unit)" 는 컴퓨터 관련 엔티티(entity), 펌웨어(firmware), 소프트웨어(software) 혹은 그 일부, 하드웨어(hardware) 혹은 그 일부, 소프트웨어와 하드웨어의 조합 등과 같이 컴퓨팅 자원을 처리하는 독립적인 기능 단위를 지칭하는 용어로 이해될 수 있다. 이때, "모듈", 또는 "부"는 단일 요소로 구성된 단위일 수도 있고, 복수의 요소들의 조합 혹은 집합으로 표현되는 단위일 수도 있다. 예를 들어, 협의의 개념으로서 "모듈", 또는 "부"는 컴퓨팅 장치의 하드웨어 요소 또는 그 집합, 소프트웨어의 특정 기능을 수행하는 응용 프로그램, 소프트웨어 실행을 통해 구현되는 처리 과정(procedure), 또는 프로그램 실행을 위한 명령어 집합 등을 지칭할 수 있다. 또한, 광의의 개념으로서 "모듈", 또는 "부"는 시스템을 구성하는 컴퓨팅 장치 그 자체, 또는 컴퓨팅 장치에서 실행되는 애플리케이션 등을 지칭할 수 있다. 다만, 상술한 개념은 하나의 예시일 뿐이므로, "모듈", 또는 "부"의 개념은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 정의될 수 있다.Meanwhile, the term "module" or "unit" used in the present disclosure may be understood as a term referring to an independent functional unit that processes computing resources, such as a computer-related entity, firmware, software or a part thereof, hardware or a part thereof, a combination of software and hardware, etc. At this time, the "module" or "unit" may be a unit composed of a single element, or may be a unit expressed as a combination or set of multiple elements. For example, as a narrow concept, a "module" or "unit" may refer to a hardware element of a computing device or a set thereof, an application program that performs a specific function of software, a processing process implemented through software execution, or a set of instructions for program execution, etc. In addition, as a broad concept, a "module" or "unit" may refer to a computing device itself that constitutes a system, or an application that is executed on a computing device, etc. However, the above-described concept is only an example, and the concept of “module” or “part” may be variously defined within a category understandable to those skilled in the art based on the contents of the present disclosure.

본 개시에서 사용되는 "모델(model)" 이라는 용어는 특정 문제를 해결하기 위해 수학적 개념과 언어를 사용하여 구현되는 시스템, 특정 문제를 해결하기 위한 소프트웨어 단위의 집합, 혹은 특정 문제를 해결하기 위한 처리 과정에 관한 추상화 모형으로 이해될 수 있다. 예를 들어, 신경망(neural network) "모델" 은 학습을 통해 문제 해결 능력을 갖는 신경망으로 구현되는 시스템 전반을 지칭할 수 있다. 이때, 신경망은 노드(node) 혹은 뉴런(neuron)을 연결하는 파라미터(parameter)를 학습을 통해 최적화하여 문제 해결 능력을 가질 수 있다. 신경망 "모델" 은 단일 신경망을 포함할 수도 있고, 복수의 신경망들이 조합된 신경망 집합을 포함할 수도 있다.The term "model" used in the present disclosure may be understood as a system implemented using mathematical concepts and language to solve a specific problem, a set of software units to solve a specific problem, or an abstract model regarding a processing process to solve a specific problem. For example, a neural network "model" may refer to the entire system implemented as a neural network that has a problem-solving ability through learning. In this case, the neural network may have a problem-solving ability by optimizing parameters connecting nodes or neurons through learning. A neural network "model" may include a single neural network, or may include a neural network set in which multiple neural networks are combined.

본 개시에서 사용되는 "컨트롤 그래픽" 이라는 용어는 사용자 인터페이스를 조작할 때 명령을 실행시켜 눈에 보이는 결과를 발생시키는 그래픽 개체로 이해될 수 있다. 다시 말해서, "컨트롤 그래픽" 은 사용자 인터페이스를 구성하는 기본 단위로서, 사용자에게 제공될 콘텐츠를 표시하거나 사용자가 조작을 가능하게 하는 사용자 인터페이스 요소로 이해될 수 있다.The term "control graphic" used in the present disclosure may be understood as a graphic object that executes a command and produces a visible result when manipulating a user interface. In other words, a "control graphic" may be understood as a basic unit that constitutes a user interface, and as a user interface element that displays content to be provided to a user or enables manipulation by a user.

전술한 용어의 설명은 본 개시의 이해를 돕기 위한 것이다. 따라서, 전술한 용어를 본 개시의 내용을 한정하는 사항으로 명시적으로 기재하지 않은 경우, 본 개시의 내용을 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.The explanation of the terms set forth above is intended to aid in understanding the present disclosure. Therefore, if the terms set forth above are not explicitly stated as matters limiting the contents of the present disclosure, it should be noted that they are not used to limit the technical ideas of the contents of the present disclosure.

도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록 구성도이다.FIG. 1 is a block diagram of a computing device according to one embodiment of the present disclosure.

본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 데이터의 종합적인 처리 및 연산을 수행하는 하드웨어 장치 혹은 하드웨어 장치의 일부일 수도 있고, 통신 네트워크로 연결되는 소프트웨어 기반의 컴퓨팅 환경일 수도 있다. 예를 들어, 컴퓨팅 장치(100)는 집약적 데이터 처리 기능을 수행하고 자원을 공유하는 주체인 서버일 수도 있고, 서버와의 상호 작용을 통해 자원을 공유하는 클라이언트(client)일 수도 있다. 또한, 컴퓨팅 장치(100)는 복수의 서버들 및 클라이언트들이 상호 작용하여 데이터를 종합적으로 처리하는 클라우드 시스템(cloud system)일 수도 있다. 상술한 기재는 컴퓨팅 장치(100)의 종류와 관련된 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The computing device (100) according to one embodiment of the present disclosure may be a hardware device or a part of a hardware device that performs comprehensive processing and calculation of data, or may be a software-based computing environment connected to a communication network. For example, the computing device (100) may be a server that performs an intensive data processing function and shares resources, or may be a client that shares resources through interaction with a server. In addition, the computing device (100) may be a cloud system in which a plurality of servers and clients interact to comprehensively process data. Since the above description is only one example related to the type of the computing device (100), the type of the computing device (100) may be configured in various ways within a category that can be understood by those skilled in the art based on the contents of the present disclosure.

도 1을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 프로세서(processor)(110), 메모리(memory)(120), 네트워크부(network unit)(130), 및 입출력부(input/output unit)(140)를 포함할 수 있다. 다만, 도 1은 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)는 컴퓨팅 환경을 구현하기 위한 다른 구성들을 포함할 수 있다. 또한, 상기 개시된 구성들 중 일부만이 컴퓨팅 장치(100)에 포함될 수도 있다.Referring to FIG. 1, a computing device (100) according to one embodiment of the present disclosure may include a processor (110), a memory (120), a network unit (130), and an input/output unit (140). However, FIG. 1 is only an example, and the computing device (100) may include other configurations for implementing a computing environment. In addition, only some of the disclosed configurations may be included in the computing device (100).

본 개시의 일 실시예에 따른 프로세서(110)는 컴퓨팅 연산을 수행하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 예를 들어, 프로세서(110)는 사용자 인터페이스를 통한 사용자 상호작용(interaction)의 결과로 발생한 명령들을 처리할 수 있다. 또한, 프로세서(110)는 컴퓨터 프로그램을 판독하여 기계 학습을 위한 데이터 처리를 수행할 수 있다. 프로세서(110)는 기계 학습을 위한 입력 데이터의 처리, 기계 학습을 위한 특징 추출, 역전파(backpropagation)에 기반한 오차 계산 등과 같은 연산 과정을 처리할 수 있다. 이와 같은 데이터 처리 및 연산을 수행하기 위한 프로세서(110)는 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit), 주문형 반도체(ASIC: application specific integrated circuit), 혹은 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate array) 등을 포함할 수 있다. 상술한 프로세서(110)의 종류는 하나의 예시일 뿐이므로, 프로세서(110)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The processor (110) according to one embodiment of the present disclosure may be understood as a configuration unit including hardware and/or software for performing computing operations. For example, the processor (110) may process commands generated as a result of user interaction through a user interface. In addition, the processor (110) may read a computer program to perform data processing for machine learning. The processor (110) may process computational processes such as processing of input data for machine learning, feature extraction for machine learning, and error calculation based on backpropagation. The processor (110) for performing such data processing and operations may include a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), a tensor processing unit (TPU), an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA). The type of processor (110) described above is only an example, and thus the type of processor (110) may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

프로세서(110)는 심전도 분석 전문가가 라벨링을 위해 사용할 사용자 인터페이스를 생성할 수 있다. 사용자 인터페이스는 라벨링을 수행하기 위해 필요한 정보들을 출력하거나 사용자 조작에 따른 입력을 수신하거나 라벨링을 위해 필요한 기능들을 구현하기 위한 컨트롤 그래픽을 포함할 수 있다. 예를 들어, 사용자 인터페이스는 심전도 특징들, 심전도 신호 등 라벨링을 위해 필요한 데이터를 시각화 하는 컨트롤 그래픽을 포함할 수 있다. 또한, 사용자 인터페이스는 심전도 신호에 대한 라벨링을 위해 사용자가 명령을 입력하는 컨트롤 그래픽 및 명령을 입력하도록 유도하는 컨트롤 그래픽을 포함할 수 있다. 이와 같은 컨트롤 그래픽들은 사용자 조작에 의해 시각적 표현이나 상태가 변경될 수 있다.The processor (110) can generate a user interface for an electrocardiogram analysis expert to use for labeling. The user interface can include control graphics for outputting information required for performing labeling, receiving input according to user operation, or implementing functions required for labeling. For example, the user interface can include control graphics for visualizing data required for labeling, such as electrocardiogram features, electrocardiogram signals, etc. In addition, the user interface can include control graphics for inputting commands by a user for labeling electrocardiogram signals, and control graphics for guiding the user to input commands. Such control graphics can have visual representations or states changed by user operation.

본 개시의 일 실시예에 따른 메모리(120)는 컴퓨팅 장치(100)에서 처리되는 데이터를 저장하고 관리하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 즉, 메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 데이터 및 네트워크부(130)가 수신한 임의의 형태의 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리, 램(RAM: random access memory), 에스램(SRAM: static random access memory), 롬(ROM: read-only memory), 이이피롬(EEPROM: electrically erasable programmable read-only memory), 피롬(PROM: programmable read-only memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(120)는 데이터를 소정의 체제로 통제하여 관리하는 데이터베이스(database) 시스템을 포함할 수도 있다. 상술한 메모리(120)의 종류는 하나의 예시일 뿐이므로, 메모리(120)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The memory (120) according to one embodiment of the present disclosure may be understood as a configuration unit including hardware and/or software for storing and managing data processed in the computing device (100). That is, the memory (120) may store any type of data generated or determined by the processor (110) and any type of data received by the network unit (130). For example, the memory (120) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory, a RAM (random access memory), a SRAM (static random access memory), a ROM (read-only memory), an EEPROM (electrically erasable programmable read-only memory), a PROM (programmable read-only memory), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory (120) may also include a database system that controls and manages data in a predetermined system. The type of memory (120) described above is only an example, and thus the type of memory (120) can be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.

메모리(120)는 프로세서(110)가 연산을 수행하는데 필요한 데이터, 데이터의 조합, 및 프로세서(110)에서 실행 가능한 프로그램 코드(code) 등을 구조화 및 조직화 하여 관리할 수 있다. 예를 들어, 메모리(120)는 후술할 네트워크부(130)를 통해 수신된 의료 데이터를 저장할 수 있다. 메모리(120)는 의료 데이터를 처리하기 위한 룰을 저장하는 프로그램 코드, 신경망 모델이 의료 데이터를 입력받아 학습을 수행하도록 동작시키는 프로그램 코드, 신경망 모델이 의료 데이터를 입력받아 컴퓨팅 장치(100)의 사용 목적에 맞춰 추론을 수행하도록 동작시키는 프로그램 코드, 및 프로그램 코드가 실행됨에 따라 생성된 가공 데이터 등을 저장할 수 있다.The memory (120) can manage, by structuring and organizing, data required for the processor (110) to perform operations, combinations of data, and program codes executable by the processor (110). For example, the memory (120) can store medical data received through the network unit (130) described below. The memory (120) can store program codes for storing rules for processing medical data, program codes for causing a neural network model to perform learning by receiving medical data, program codes for causing a neural network model to perform inference by receiving medical data in accordance with the intended use of the computing device (100), and processed data generated as the program codes are executed.

본 개시의 일 실시예에 따른 네트워크부(130)는 임의의 형태의 공지된 유무선 통신 시스템을 통해 데이터를 송수신하는 구성 단위로 이해될 수 있다. 예를 들어, 네트워크부(130)는 근거리 통신망(LAN: local area network), 광대역 부호 분할 다중 접속(WCDMA: wideband code division multiple access), 엘티이(LTE: long term evolution), 와이브로(WiBro: wireless broadband internet), 5세대 이동통신(5G), 초광역대 무선통신(ultra wide-band), 지그비(ZigBee), 무선주파수(RF: radio frequency) 통신, 무선랜(wireless LAN), 와이파이(wireless fidelity), 근거리 무선통신(NFC: near field communication), 또는 블루투스(Bluetooth) 등과 같은 유무선 통신 시스템을 사용하여 데이터 송수신을 수행할 수 있다. 상술한 통신 시스템들은 하나의 예시일 뿐이므로, 네트워크부(130)의 데이터 송수신을 위한 유무선 통신 시스템은 상술한 예시 이외에 다양하게 적용될 수 있다.The network unit (130) according to one embodiment of the present disclosure may be understood as a configuration unit that transmits and receives data via any type of known wired and wireless communication system. For example, the network unit (130) may perform data transmission and reception using a wired and wireless communication system such as a local area network (LAN), wideband code division multiple access (WCDMA), long term evolution (LTE), wireless broadband internet (WiBro), fifth generation mobile communication (5G), ultra wide-band, ZigBee, radio frequency (RF) communication, wireless LAN, wireless fidelity, near field communication (NFC), or Bluetooth. Since the above-described communication systems are only examples, the wired and wireless communication system for data transmission and reception of the network unit (130) may be applied in various ways other than the above-described examples.

네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)가 연산을 수행하는데 필요한 데이터를 수신할 수 있다. 또한, 네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)의 연산을 통해 생성된 데이터를 송신할 수 있다. 예를 들어, 네트워크부(130)는 병원 환경 내 데이터베이스, 의료 데이터의 표준화 등의 작업을 수행하는 클라우드 서버, 스마트 워치와 같은 클라이언트 혹은 의료 컴퓨팅 장치 등과의 통신을 통해 생체 데이터를 수신할 수 있다. 네트워크부(130)는 전술한 데이터베이스, 서버, 클라이언트 혹은 컴퓨팅 장치 등과의 통신을 통해, 신경망 모델의 출력 데이터, 및 프로세서(110)의 연산 과정에서 도출되는 중간 데이터, 가공 데이터 등을 송신할 수 있다.The network unit (130) can receive data required for the processor (110) to perform calculations through wired or wireless communication with any system or any client, etc. In addition, the network unit (130) can transmit data generated through the calculation of the processor (110) through wired or wireless communication with any system or any client, etc. For example, the network unit (130) can receive biometric data through communication with a cloud server that performs tasks such as standardization of databases and medical data in a hospital environment, a client such as a smart watch, or a medical computing device, etc. The network unit (130) can transmit output data of a neural network model, intermediate data, processed data, etc. derived from the calculation process of the processor (110), etc. through communication with the aforementioned database, server, client, or computing device, etc.

본 개시의 일 실시예에 따른 입출력부(140)는 사용자 인터페이스를 구현하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 즉, 입출력부(140)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 데이터 및 네트워크부(130)가 수신한 임의의 형태의 데이터를 시각화 하여 출력할 수 있다. 또한, 입출력부(140)는 프로세서(110), 컴퓨팅 장치(100)와 유무선 통신으로 연결된 임의의 시스템 혹은 임의의 클라이언트 등에 전달될 명령을 생성하는 사용자 입력을 수신할 수 있다. 예를 들어, 입출력부(140)는 액정 디스플레이(LCD: liquid crystal display), 박막 트랜지스터 액정 디스플레이(TFT LCD: thin film transistor-liquid crystal display), 유기 발광 다이오드(OLED: organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등과 같이 시각화 된 정보를 출력하거나 터치 스크린(touch screen)을 구현할 수 있는 디스플레이 모듈을 포함할 수 있다. 또한, 입출력부(140)는 카메라, 마이크로폰(microphone), 키보드, 마우스 등 사용자의 동작(motion), 음성 등과 같은 행동(action)을 인식할 수 있는 입력 모듈을 포함할 수도 있다. 상술한 모듈들은 하나의 예시일 뿐이므로, 입출력부(140)에 포함된 모듈들은 상술한 예시 이외에 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The input/output unit (140) according to one embodiment of the present disclosure may be understood as a configuration unit including hardware and/or software for implementing a user interface. That is, the input/output unit (140) may visualize and output any type of data generated or determined by the processor (110) and any type of data received by the network unit (130). In addition, the input/output unit (140) may receive a user input that generates a command to be transmitted to any system or any client connected to the processor (110), the computing device (100), or the like via wired or wireless communication. For example, the input/output unit (140) may include a display module that may output visualized information or implement a touch screen, such as a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), a flexible display, a 3D display, etc. In addition, the input/output unit (140) may include an input module capable of recognizing actions such as a user's motion, voice, etc., such as a camera, a microphone, a keyboard, a mouse, etc. The modules described above are only examples, and thus, the modules included in the input/output unit (140) may be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure, in addition to the examples described above.

입출력부(140)는 사용자 인터페이스를 구현하여, 프로세서(110)를 통해 생성된 그래픽을 출력하거나 사용자 조작에 의해 생성된 사용자 명령을 수신하여 프로세서(110)로 전달할 수 있다. 예를 들어, 입출력부(140)는 특정 기능에 관한 사용자 명령을 수신하기 위한 그래픽, 정보 제공을 위한 그래픽 등을 사용자 인터페이스의 특정 영역에서 출력할 수 있다. 또한, 입출력부(140)는 사용자 인터페이스의 특정 영역에서 출력되는 그래픽에 대한 사용자 명령을 수신할 수 있다. 이때, 특정 그래픽에 대한 사용자 명령은 특정 그래픽에 대한 사용자 조작에 의해 발생하는 입력 신호로 이해될 수 있다. 또한, 특정 그래픽에 대한 사용자 조작은 특정 그래픽에 대한 클릭, 더블 클릭, 호버(hover), 플릭(flick), 핀치(pinch), 스프레드(spread) 등과 같이 입출력부(140)를 통해 사용자가 수행 가능한 행동을 의미할 수 있다. 입출력부(140)는 사용자 명령을 수신하여 프로세서(110)로 전달함으로써, 사용자의 제어를 기반으로 사용자 인터페이스를 제공하기 위한 동작들이 수행될 수 있도록 할 수 있다.The input/output unit (140) implements a user interface, and can output graphics generated by the processor (110) or receive user commands generated by user manipulation and transmit them to the processor (110). For example, the input/output unit (140) can output graphics for receiving user commands regarding specific functions, graphics for providing information, etc., in a specific area of the user interface. In addition, the input/output unit (140) can receive user commands regarding graphics output in a specific area of the user interface. At this time, the user command regarding a specific graphic can be understood as an input signal generated by a user manipulation of a specific graphic. In addition, the user manipulation of a specific graphic can mean actions that a user can perform through the input/output unit (140), such as clicking, double-clicking, hovering, flicking, pinching, and spreading of a specific graphic. The input/output unit (140) can receive user commands and transmit them to the processor (110), thereby enabling operations for providing a user interface based on user control to be performed.

도 2 및 도 3은 본 개시의 일 실시예에 따른 사용자 인터페이스를 구현한 화면을 나타낸 개념도이다. FIGS. 2 and 3 are conceptual diagrams showing screens implementing a user interface according to one embodiment of the present disclosure.

본 개시의 일 실시예에 따르면, 제 1 사용자 인터페이스(210)는 심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 영역을 구성할 수 있다. 제 1 사용자 인터페이스(210)에서 나열된 심전도 특징들은 심전도 파형 또는 간격 등과 같이 심전도 판독에 필요한 정보일 수 있다. 예를 들어, 도 2와 같이 제 1 사용자 인터페이스(210)에서 심전도 특징들은 2개의 계층으로 나누어 표현될 수 있다. P파, QRS파, T파, F파, 노이즈, 페이싱 스파이크(pacing spike) 등과 같은 심전도 특징들은 제 1 사용자 인터페이스(210)에서 상위 계층으로 표현될 수 있다. 그리고, 상위 계층에서 시작점, 피크, 끝점, Q파, R파, S파 등과 같은 세부 특징들은 제 1 사용자 인터페이스(210)에서 하위 계층으로 표현될 수 있다. According to one embodiment of the present disclosure, the first user interface (210) may configure an area that lists electrocardiogram features that can be labeled on an electrocardiogram signal. The electrocardiogram features listed in the first user interface (210) may be information necessary for electrocardiogram interpretation, such as an electrocardiogram waveform or interval. For example, as shown in FIG. 2, the electrocardiogram features in the first user interface (210) may be expressed by dividing them into two layers. Electrocardiogram features such as a P wave, a QRS wave, a T wave, an F wave, noise, a pacing spike, etc. may be expressed as an upper layer in the first user interface (210). And, detailed features such as a starting point, a peak, an end point, a Q wave, an R wave, an S wave, etc. in the upper layer may be expressed as a lower layer in the first user interface (210).

제 1 사용자 인터페이스(210)는 심전도 신호 상에 라벨링이 가능한 심전도 특징들 중에서 라벨링 대상인 심전도 특징을 선정하기 위한 제 1 명령에 응답하여 시각적 표현 및 상태를 동적으로 변경하는 제 1 컨트롤 그래픽(211)을 포함할 수 있다. 제 1 컨트롤 그래픽(211)은 제 1 사용자 인터페이스(210)에서 나열된 심전도 특징 별로 구성될 수 있다. 제 1 컨트롤 그래픽(211)은 특정 심전도 특징을 선택하는 사용자 명령을 수용할 수 있는 버튼형 그래픽일 수 있다. 예를 들어, 제 1 컨트롤 그래픽(211)은 P파, QRS파, T파, F파 등의 상위 계층에 대한 하위 계층에 포함될 수 있다. 제 1 사용자 인터페이스(210)에 나열된 심전도 특징들 중 라벨링 대상인 특정 특징을 선택하는 제 1 명령이 없는 경우, 제 1 컨트롤 그래픽(211)은 색상 변화 없이 비활성화 상태가 유지될 수 있다. 제 1 명령이 입력된 경우, 제 1 컨트롤 그래픽(211)은 색상이 변경되고 활성화 상태로 전환될 수 있다. 이때, 활성화 상태는 제 1 사용자 인터페이스(210)에 나열된 심전도 특징들 중에서 사용자 명령에 의해 선택된 특정 특징을 심전도 신호 상에 라벨링 할 수 있는 상태로 이해될 수 있다. 한편, 제 1 컨트롤 그래픽(211)에 대한 제 1 명령은 제 1 컨트롤 그래픽(211)을 클릭하는 동작, 더블클릭 하는 동작, 또는 제 1 컨트롤 그래픽(211)에 할당된 단축키를 선택하는 동작 등의 사용자 조작에 의해 입력될 수 있다. The first user interface (210) may include a first control graphic (211) that dynamically changes a visual representation and a state in response to a first command for selecting an electrocardiogram feature to be labeled among electrocardiogram features that can be labeled on an electrocardiogram signal. The first control graphic (211) may be configured for each electrocardiogram feature listed in the first user interface (210). The first control graphic (211) may be a button-type graphic that may accept a user command for selecting a specific electrocardiogram feature. For example, the first control graphic (211) may be included in a lower layer for an upper layer such as a P wave, a QRS wave, a T wave, an F wave, etc. If there is no first command for selecting a specific feature to be labeled among the electrocardiogram features listed in the first user interface (210), the first control graphic (211) may be maintained in an inactive state without a color change. When the first command is input, the first control graphic (211) may change color and switch to an activated state. At this time, the activated state may be understood as a state in which a specific feature selected by a user command from among the electrocardiogram features listed in the first user interface (210) may be labeled on the electrocardiogram signal. Meanwhile, the first command for the first control graphic (211) may be input by a user operation, such as an action of clicking the first control graphic (211), an action of double-clicking, or an action of selecting a shortcut key assigned to the first control graphic (211).

제 1 사용자 인터페이스(210)는 상술한 예시와 같이 심전도 특징들을 표시함으로써, 사용자가 라벨링 대상인 심전도 특징들을 직관적으로 파악하고 심전도 특징들 중에서 라벨링 대상을 손쉽게 판단할 수 있도록 할 수 있다. 또한, 제 1 사용자 인터페이스(210)는 상술한 예시와 같은 제 1 컨트롤 그래픽(211)을 통해 사용자가 라벨링 대상을 손쉽게 선택하거나 교체할 수 있는 환경을 제공할 수 있다. 이러한 사용성의 개선은 사용자의 불필요한 조작을 방지하여 컴퓨팅 리소스의 효율성을 가져올 수 있다.The first user interface (210) can display electrocardiogram features as in the example described above, thereby allowing the user to intuitively understand the electrocardiogram features that are labeling targets and easily determine the labeling target among the electrocardiogram features. In addition, the first user interface (210) can provide an environment in which the user can easily select or replace the labeling target through the first control graphic (211) as in the example described above. Such improvement in usability can prevent unnecessary operations by the user, thereby improving the efficiency of computing resources.

제 2 사용자 인터페이스(220)는 심전도 신호를 시각적으로 표시하는 영역을 구성할 수 있다. 사용자 명령에 의해 심전도 데이터가 획득되면, 제 2 사용자 인터페이스(220)는 심전도 데이터에 포함된 심전도 신호를 업로드하여 그래프 형태로 표현할 수 있다. 제 2 사용자 인터페이스(220)에서 심전도 신호는 시간의 흐름에 따라 정렬되고, 사용자 명령에 응답하여 노출되는 위치 또는 크기가 변경될 수 있다. 이때, 사용자 명령은 심전도 신호가 표현된 영역 내에서 수행된 사용자 조작에 의해 생성되며, 사용자 조작은 드래그, 스크롤(scroll) 등의 동작을 포함할 수 있다.The second user interface (220) can configure an area that visually displays an electrocardiogram signal. When electrocardiogram data is acquired by a user command, the second user interface (220) can upload the electrocardiogram signal included in the electrocardiogram data and express it in a graph form. In the second user interface (220), the electrocardiogram signal can be aligned over time, and the position or size at which it is exposed can be changed in response to a user command. At this time, the user command is generated by a user operation performed within the area where the electrocardiogram signal is expressed, and the user operation can include an action such as a drag or a scroll.

제 2 사용자 인터페이스(220)는 제 1 사용자 인터페이스(210)에서 제 1 명령에 따라 선정된 심전도 특징을 심전도 신호 상에 라벨링 하기 위한 제 2 명령에 응답하여, 심전도 신호 상에 표시되는 제 2 컨트롤 그래픽(221)을 포함할 수 있다. 제 1 사용자 인터페이스(210)에서 특정 특징이 선택되면, 특정 특징을 제 2 사용자 인터페이스(220)에 표시된 심전도 신호 상에 라벨링 할 수 있는 준비 상태가 활성화 될 수 있다. 이때, 제 2 사용자 인터페이스(220)에 표시된 심전도 신호 상의 특정 지점을 선택하는 제 2 명령이 입력되면, 제 2 컨트롤 그래픽(221)은 제 2 명령이 입력된 지점에 생성될 수 있다. 예를 들어, 제 1 명령에 의해 제 1 컨트롤 그래픽(211)이 활성화 된 후, 사용자 명령을 입력하기 위한 커서가 제 2 사용자 인터페이스(220)에 표시된 심전도 신호 상에 위치하면, 해당 커서는 모양 및 색상이 변경될 수 있다. 커서의 모양 및 색상이 변경되면, 사용자는 제 2 명령을 통해 제 1 명령에 의해 선택된 특징을 심전도 신호 상에 라벨링 할 수 있다. 구체적으로, 사용자 조작에 의해 모양 및 색상이 변경된 커서가 심전도 신호 상의 A 지점에 위치하고 제 2 명령이 입력되면, 제 2 컨트롤 그래픽(221)이 심전도 신호 상 A 지점에 표시될 수 있다. 이때, 제 2 명령은 A 지점을 클릭하는 동작, A 지점을 더블클릭하는 동작, 또는 제 1 컨트롤 그래픽(211)에 할당된 단축키를 선택하는 동작 등의 사용자 조작에 의해 입력될 수 있다.The second user interface (220) may include a second control graphic (221) displayed on the electrocardiogram signal in response to a second command for labeling an electrocardiogram feature selected according to a first command in the first user interface (210) on the electrocardiogram signal. When a specific feature is selected in the first user interface (210), a ready state for labeling the specific feature on the electrocardiogram signal displayed in the second user interface (220) may be activated. At this time, when a second command for selecting a specific point on the electrocardiogram signal displayed in the second user interface (220) is input, the second control graphic (221) may be generated at the point where the second command is input. For example, when the first control graphic (211) is activated by the first command and a cursor for inputting a user command is positioned on the electrocardiogram signal displayed in the second user interface (220), the shape and color of the cursor may be changed. When the shape and color of the cursor are changed, the user can label the feature selected by the first command on the ECG signal through the second command. Specifically, when the cursor, whose shape and color are changed by the user operation, is positioned at point A on the ECG signal and the second command is input, the second control graphic (221) can be displayed at point A on the ECG signal. At this time, the second command can be input by a user operation, such as an action of clicking point A, an action of double-clicking point A, or an action of selecting a shortcut key assigned to the first control graphic (211).

한편, 심전도 신호 상에서 복수의 제 2 컨트롤 그래픽들이 존재하는 경우, 복수의 제 2 컨트롤 그래픽들 중에서 제 1 명령에 응답하여 활성화 상태가 된 제 1 컨트롤 그래픽에 대응되는 심전도 특징과 관련된 파형에 존재하는 제 2 컨트롤 그래픽이 심전도 신호 상에서 활성화 될 수 있다. 예를 들어, P파, QRS파, T파에 대한 제 2 컨트롤 그래픽이 심전도 신호 상에 존재하고, 제 1 명령에 의해 P파의 시작점에 대한 제 1 컨트롤 그래픽이 활성화된 경우, P파에 대한 제 2 컨트롤 그래픽만 활성화 되고, 나머지 QRS파, T파에 대한 제 2 컨트롤 그래픽은 비활성화 될 수 있다. 이때, 제 2 컨트롤 그래픽의 활성화는 심전도 신호 상에서 사용자가 시각적으로 인지할 수 있는 상태로 이해될 수 있다. 반대로, 제 2 컨트롤 그래픽의 비활성화는 심전도 신호 상에 존재하나 사용자가 시각적으로 인지할 수 없는 상태로 이해될 수 있다. 즉, 복수의 특징들에 대해 심전도 신호 상에 라벨링이 진행된 경우, 심전도 특징 별로 라벨링 된 상태를 사용자가 원활히 확인할 수 있도록 하기 위해, 제 2 사용자 인터페이스(220)는 제 1 컨트롤 그래픽(211)의 활성화 상태에 따라 제 2 컨트롤 그래픽(221)을 선택적으로 시각화 할 수 있다. 이러한 기능은 사용자가 특징 별로 심전도 신호 상에 존재하는 라벨을 원활하게 구별하고 라벨링을 수행할 수 있도록 하므로, 사용자의 불필요한 조작을 줄이고 컴퓨팅 리소스의 효율성을 가져올 수 있다.Meanwhile, when a plurality of second control graphics exist on the electrocardiogram signal, a second control graphic existing in a waveform related to an electrocardiogram feature corresponding to a first control graphic that is activated in response to a first command among the plurality of second control graphics may be activated on the electrocardiogram signal. For example, when second control graphics for the P wave, QRS wave, and T wave exist on the electrocardiogram signal, and the first control graphic for the starting point of the P wave is activated by the first command, only the second control graphic for the P wave may be activated, and the second control graphics for the remaining QRS waves and T waves may be deactivated. At this time, the activation of the second control graphic may be understood as a state that a user can visually recognize on the electrocardiogram signal. Conversely, the deactivation of the second control graphic may be understood as a state that exists on the electrocardiogram signal but cannot be visually recognized by the user. That is, when labeling is performed on an electrocardiogram signal for multiple features, the second user interface (220) can selectively visualize the second control graphic (221) depending on the activation state of the first control graphic (211) so that the user can smoothly check the labeling status for each electrocardiogram feature. This function allows the user to smoothly distinguish labels existing on the electrocardiogram signal for each feature and perform labeling, thereby reducing unnecessary user operations and improving efficiency of computing resources.

제 2 사용자 인터페이스(220)은 제 2 컨트롤 그래픽(221)이 표시되지 않은 심전도 신호 또는 제 2 컨트롤 그래픽(221)이 표시된 심전도 신호를 사전 학습된 인공지능 모델에 입력하여 예측된 심전도 특징에 대한 라벨을 기반으로, 심전도 신호 상에 표시되는 제 3 컨트롤 그래픽을 포함할 수 있다. 사용자가 보다 정확한 라벨링을 수행할 수 있도록 하기 위해, 제 2 사용자 인터페이스(220)는 인공지능을 이용하여 추정된 라벨을 제안 혹은 추천하기 위한 제 3 컨트롤 그래픽을 심전도 신호 상에 표시할 수 있다. 구체적으로, 제 2 컨트롤 그래픽(221)이 표시되지 않은 심전도 신호를 인공지능 모델에 입력하여 심전도 신호에서 심전도 특징들이 표시될 라벨들이 도출되면, 제 3 컨트롤 그래픽은 인공지능 모델의 예측 값인 라벨들을 토대로 심전도 신호 상에서 생성될 수 있다. 이때, 인공지능 모델의 예측 값인 심전도 특징에 대한 라벨은 심전도 신호 상에 표시되어야 할 심전도 특징의 위치에 대한 정보일 수 있다. 따라서, 제 3 컨트롤 그래픽은 제 2 명령의 입력을 가이드 하기 위해, 심전도 신호 상에서 인공지능 모델에 의해 예측된 심전도 특징의 위치를 특정하여 표현할 수 있다. 다시 말해서, 제 3 컨트롤 그래픽은 인공지능 모델의 예측 값을 심전도 신호 상의 특정 지점에 제 2 컨트롤 그래픽(221)에 대응되는 형태로 표시할 수 있다. 이때, 제 2 컨트롤 그래픽(221)과 제 3 컨트롤 그래픽은 색상, 명도, 채도 등의 차이를 기반으로 시각적으로 상호 구별될 수 있다. 또한, 제 3 컨트롤 그래픽은 인공지능 모델에 의해 예측된 라벨을 기반으로 산출된, 제 2 컨트롤 그래픽(221)을 통해 특정된 심전도 특징의 오차 정보를 표현할 수도 있다. 즉, 특정 심전도 특징을 기준으로, 인공지능 모델에 의해 예측된 라벨과 제 2 명령에 의한 제 2 컨트롤 그래픽(221)이 존재하는 경우, 제 3 컨트롤 그래픽은 라벨에 기반한 위치와 제 2 컨트롤 그래픽(221)의 위치를 비교한 결과로 생성된 오차 정보를 나타낼 수 있다. 사용자는 이와 같이 인공지능에 의해 예측된 라벨을 시각화 하거나 사용자 라벨의 오차를 표현하는 제 3 컨트롤 그래픽을 통해 보다 정확하고 손쉽게 라벨링을 수행할 수 있다. 제 3 컨트롤 그래픽을 통한 라벨링 정확도의 개선은 반복적인 라벨링 작업 과정에서 잘못된 라벨링을 인해 발생할 수 있는 불필요한 작업을 줄여 컴퓨팅 리소스의 효율성을 가져올 수 있다.The second user interface (220) may include a third control graphic displayed on the ECG signal based on a label for an ECG feature predicted by inputting an ECG signal on which the second control graphic (221) is not displayed or an ECG signal on which the second control graphic (221) is displayed into a pre-learned artificial intelligence model. In order to enable a user to perform more accurate labeling, the second user interface (220) may display a third control graphic for suggesting or recommending an estimated label using artificial intelligence on the ECG signal. Specifically, when an ECG signal on which the second control graphic (221) is not displayed is input into the artificial intelligence model and labels for ECG features to be displayed are derived from the ECG signal, the third control graphic may be generated on the ECG signal based on the labels, which are predicted values of the artificial intelligence model. At this time, the label for the ECG feature, which is the predicted value of the artificial intelligence model, may be information on the location of the ECG feature to be displayed on the ECG signal. Accordingly, the third control graphic can express the location of the electrocardiogram feature predicted by the artificial intelligence model on the electrocardiogram signal in order to guide the input of the second command. In other words, the third control graphic can display the predicted value of the artificial intelligence model at a specific point on the electrocardiogram signal in a form corresponding to the second control graphic (221). At this time, the second control graphic (221) and the third control graphic can be visually distinguished from each other based on differences in color, brightness, saturation, etc. In addition, the third control graphic can also express error information of the electrocardiogram feature specified through the second control graphic (221) based on the label predicted by the artificial intelligence model. That is, when there is a label predicted by the artificial intelligence model and the second control graphic (221) by the second command based on a specific electrocardiogram feature, the third control graphic can express error information generated as a result of comparing the location based on the label and the location of the second control graphic (221). Users can perform labeling more accurately and easily through third control graphics that visualize labels predicted by artificial intelligence in this way or express errors in user labels. Improving labeling accuracy through third control graphics can reduce unnecessary work that may occur due to incorrect labeling in the repetitive labeling process, thereby improving computing resource efficiency.

한편, 제 3 컨트롤 그래픽을 생성하는데 사용되는 인공지능 모델은 심전도 신호를 입력받아 심전도 신호에 존재하는 심전도 특징을 추출하도록 사전 학습될 수 있다. 예를 들어, 인공지능 모델은 심전도 특징이 라벨링 된 심전도 신호를 포함하는 학습 데이터를 학습에 사용할 수 있다. 인공지능 모델은 학습 데이터에 포함된 심전도 신호를 입력받아 심전도 특징을 추출하고, 심전도 특징의 종류 및 위치 정보를 포함하는 출력 데이터를 생성할 수 있다. 인공지능 모델은 손실함수를 이용하여 산출된 출력 데이터와 학습 데이터에 포함된 라벨 간 오차를 토대로 옵티마이저(optimizer)를 통해 모델을 구성하는 파라미터를 조정하는 방식을 통해 학습을 수행할 수 있다. 이때, 인공지능 모델은 컨볼루셔널(convolutional) 신경망, 트랜스포머(transformer) 등에 기반한 신경망 모델일 수 있다. 인공지능 모델은 상술한 인공지능 모델의 종류 및 학습 방식은 하나의 예시일 뿐이며, 본 개시의 인공지능 모델은 본 개시의 내용을 토대로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.Meanwhile, the artificial intelligence model used to generate the third control graphic may be pre-trained to receive an electrocardiogram signal and extract electrocardiogram features present in the electrocardiogram signal. For example, the artificial intelligence model may use training data including an electrocardiogram signal with labeled electrocardiogram features for training. The artificial intelligence model may receive an electrocardiogram signal included in the training data, extract electrocardiogram features, and generate output data including information on the type and location of the electrocardiogram features. The artificial intelligence model may perform training by adjusting parameters that configure the model through an optimizer based on an error between output data produced using a loss function and labels included in the training data. At this time, the artificial intelligence model may be a neural network model based on a convolutional neural network, a transformer, or the like. The types and learning methods of the artificial intelligence model described above are only examples, and the artificial intelligence model of the present disclosure may be configured in various ways within a category understandable to those skilled in the art based on the contents of the present disclosure.

제 2 사용자 인터페이스(220)는 심전도 신호 상에서 제 2 명령이 입력되는 지점의 위치 정보 또는 심전도 신호 상에서 라벨링을 보조하기 위한 가이드 선을 표현하는 제 4 컨트롤 그래픽을 포함할 수 있다. 사용자가 심전도 신호의 형태에만 의존하여 라벨링을 수행하게 되면 오차가 발생할 확률이 높아진다. 따라서, 이러한 오차를 줄일 수 있도록 제 4 컨트롤 그래픽은 사용자가 라벨링을 수행할 때 활용할 수 있는 보조 정보를 제공할 수 있다. 예를 들어, 제 2 명령이 입력되기 위한 커서가 심전도 신호 상에 위치하면, 제 4 컨트롤 그래픽은 해당 위치의 정보 또는 시각적 기준을 나타내는 가이드 선을 심전도 신호 상에서 나타낼 수 있다. 사용자는 이와 같이 라벨링에 도움이 되는 보조 정보를 제공하는 제 4 컨트롤 그래픽을 통해 보다 정확하고 손쉽게 라벨링을 수행할 수 있다. 제 4 컨트롤 그래픽을 통한 라벨링 정확도의 개선은 반복적인 라벨링 작업 과정에서 잘못된 라벨링을 인해 발생할 수 있는 불필요한 작업을 줄여 컴퓨팅 리소스의 효율성을 가져올 수 있다.The second user interface (220) may include a fourth control graphic that represents location information of a point where a second command is input on an electrocardiogram signal or a guide line to assist labeling on an electrocardiogram signal. If a user performs labeling solely based on the shape of an electrocardiogram signal, the probability of an error increases. Therefore, in order to reduce such errors, the fourth control graphic may provide auxiliary information that the user can utilize when performing labeling. For example, when a cursor for inputting a second command is positioned on an electrocardiogram signal, the fourth control graphic may represent a guide line representing information or a visual reference of the corresponding location on the electrocardiogram signal. The user may perform labeling more accurately and easily through the fourth control graphic that provides auxiliary information that assists labeling in this way. The improvement of labeling accuracy through the fourth control graphic may reduce unnecessary work that may occur due to incorrect labeling during a repetitive labeling process, thereby improving computing resource efficiency.

제 2 사용자 인터페이스(220)는 심전도 신호에 존재하는 노이즈를 제거한 상태 또는 노이즈를 제거하지 않은 상태 중 어느 하나를 선정하는 제 3 명령에 응답하여, 심전도 신호의 시각적 표현을 동적으로 변경할 수 있다. 사용자는 상황에 따라 노이즈를 제거하기 전 원시 신호를 확인할 필요가 있다. 예를 들어, 심전도 특징 중에서 심장 내에서 심장 박동을 위해 전기 신호를 인위적으로 발생시키는 기계에 의해 나타내는 페이싱 스파이크는 노이즈 제거로 인해 사라질 수 있다. 따라서, 노이즈를 제거한 신호를 기준으로 라벨링을 수행하면, 사용자는 페이싱 스파이크를 라벨링 할 수 없는 상황일 수 있다. 이러한 문제를 해결하기 위해서, 제 2 사용자 인터페이스(220)는 제 3 명령을 통해 노이즈가 제거된 신호 또는 노이즈가 제거되지 않은 신호를 선택적으로 시각화 할 수 있다. 이때, 제 3 명령은 제 2 사용자 인터페이스 혹은 다른 사용자 인터페이스에 마련된 추가적인 컨트롤 그래픽을 클릭하는 동작, 제 2 사용자 인터페이스에 할당된 단축키를 선택하는 동작 등의 사용자 조작에 의해 입력될 수 있다.The second user interface (220) can dynamically change the visual representation of the electrocardiogram signal in response to a third command that selects either a state in which noise is removed from the electrocardiogram signal or a state in which noise is not removed. Depending on the situation, the user may need to check the raw signal before noise is removed. For example, among the electrocardiogram features, pacing spikes, which are indicated by a machine that artificially generates electrical signals for heartbeats in the heart, may disappear due to noise removal. Therefore, if labeling is performed based on the signal from which noise is removed, the user may not be able to label the pacing spikes. To solve this problem, the second user interface (220) can selectively visualize the signal from which noise is removed or the signal from which noise is not removed through the third command. At this time, the third command may be input by a user operation, such as an action of clicking an additional control graphic provided in the second user interface or another user interface, or an action of selecting a shortcut key assigned to the second user interface.

한편, 제 2 사용자 인터페이스(220)에 표시된 심전도 신호에 심전도 특징들이 서로 겹치게 존재할 수 있다. 따라서, 복수의 특징들이 겹치는 지점에 정확히 라벨링이 수행될 수 있도록 하기 위해, 제 2 사용자 인터페이스(220)에는 심전도 특징들을 중첩시키는 기능을 수행하는 단축키가 할당될 수 있다. 사용자는 심전도 특징들을 중첩시키는 기능을 수행하는 단축키를 선택하는 동작을 통해 제 2 사용자 인터페이스(220)에 명령을 입력할 수 있다. 그리고, 제 2 사용자 인터페이스(220)는 해당 명령에 응답하여 복수의 특징들을 중첩하여 심전도 신호에 표시할 수 있다. 예를 들어, R파 끝점과 S파 시작점이 중첩되어 심전도 신호에 존재할 수 있다. 이때, 사용자가 제 2 사용자 인터페이스(220)에 할당된 단축키를 선택하면, 제 2 사용자 인터페이스(220)는 사용자 명령에 응답하여 이미 라벨링 된 R파의 끝점과 동일한 위치에 S파 시작점을 라벨링 할 수 있다.Meanwhile, in the ECG signal displayed on the second user interface (220), ECG features may overlap with each other. Therefore, in order to accurately label the point where multiple features overlap, the second user interface (220) may be assigned a shortcut key that performs a function of overlapping ECG features. The user may input a command to the second user interface (220) by selecting a shortcut key that performs the function of overlapping ECG features. Then, the second user interface (220) may display the multiple features in the ECG signal by overlapping them in response to the command. For example, the R wave endpoint and the S wave starting point may overlap and exist in the ECG signal. In this case, when the user selects the shortcut key assigned to the second user interface (220), the second user interface (220) may label the S wave starting point at the same location as the already labeled R wave endpoint in response to the user command.

제 3 사용자 인터페이스(230)는 심전도 신호 상에 라벨링 하지 않고 사용자 명령에 의해 정의되는 심전도 특징들을 나열하는 영역을 구성할 수 있다. 심전도 특징들 중에서는 제 1 사용자 인터페이스(210)에 나열된 특징들과 같이 심전도 신호 상에 특정 지점으로 정의될 수 있는 특징이 있는 반면, 심전도 신호 상에 특정 지점으로 정의될 수 없는 특징도 있다. 예를 들어, 심전도 신호 상에 특정 지점으로 정의될 수 없는 특징으로는 좌각차단(LBBB: left bundle branch block)을 확인하는데 사용하는 notched or slurred R, 심실조기흥분증후군(WPW: wolff-parkinson-white syndrome)이라는 질병에서 주로 나타나는 델타(delta) 파 등이 있다. 이러한 특징들은 특정 파형에서 나타나는 변형적 형태이므로, 심전도 신호 상에 특정 지점으로 정의될 수 없다. 따라서, 제 3 사용자 인터페이스(230)는 이러한 특징들이 사용자 명령에 의해 별도로 정의될 수 있도록 시각화 할 수 있다. 그리고, 제 3 사용자 인터페이스(230)는 심전도 특징들이 리드(lead) 별로 정의될 수 있도록 하기 위해, 리드 별로 분류하여 나열할 수 있다. 제 3 사용자 인터페이스(230)에서 나열하는 심전도 특징들은 리드의 종류에 따라 나타나는 케이스가 달라질 수 있고, 하나의 리드에서도 모든 비트(beat)에서 나타나지는 않을 수 있다. 따라서, 리드마다 존재 유무가 라벨링 될 수 있도록 하기 위해, 제 3 사용자 인터페이스에서 나열하는 심전도 특징들은 리드 별로 구분되어 표시될 수 있다.The third user interface (230) can configure an area that lists electrocardiogram features defined by a user command without labeling the electrocardiogram signal. Among the electrocardiogram features, there are features that can be defined as specific points on the electrocardiogram signal, such as the features listed in the first user interface (210), while there are also features that cannot be defined as specific points on the electrocardiogram signal. For example, features that cannot be defined as specific points on the electrocardiogram signal include notched or slurred R, which is used to identify left bundle branch block (LBBB), and delta waves that mainly appear in a disease called wolff-parkinson-white syndrome (WPW). Since these features are variant forms that appear in specific waveforms, they cannot be defined as specific points on the electrocardiogram signal. Therefore, the third user interface (230) can visualize these features so that they can be separately defined by a user command. And, the third user interface (230) can be categorized and listed by lead so that the electrocardiogram features can be defined by lead. The electrocardiogram features listed by the third user interface (230) may appear in different cases depending on the type of lead, and may not appear in all beats in one lead. Therefore, the electrocardiogram features listed by the third user interface can be displayed by distinguishing them by lead so that the presence or absence of each lead can be labeled.

제 3 사용자 인터페이스(230)는 제 3 사용자 인터페이스(230)에서 나열되는 심전도 특징들의 존재 유무를 결정하는 제 4 명령에 응답하여, 시각적 표현 및 상태를 동적으로 변경하는 제 5 컨트롤 그래픽(231)을 포함할 수 있다. 제 5 컨트롤 그래픽(231)은 제 4 명령에 따라 제 3 사용자 인터페이스(230)에서 나열되는 심전도 특징들의 존재 유무를 결정하기 위한 그래픽일 수 있다. 제 5 컨트롤 그래픽(231)은 제 3 사용자 인터페이스(230)에서 나열된 심전도 특징 별로 구성될 수 있다. 제 3 컨트롤 그래픽(231)은 특정 심전도 특징의 존재 유무를 결정하는 사용자 명령을 수용할 수 있는 버튼형 그래픽일 수 있다. 예를 들어, 제 3 컨트롤 그래픽(231)은 존재 유무를 개별적으로 결정할 수 있도록 하는 서브 그래픽들을 포함할 수 있다. 즉, 제 3 컨트롤 그래픽(231)은 라벨링 대상이 아닌 상태를 정의하는 서브 그래픽(도 2에서 "-"), 심전도 특징의 존재를 정의하는 서브 그래픽(도 2에서 "O"), 심전도 특징이 존재하지 않음을 나타내는 서브 그래픽(도 2에서 "X")을 포함할 수 있다. 각 서브 그래픽들은 제 4 명령이 없는 경우, 색상 변화 없이 비활성화 상태가 유지될 수 있다. 세개의 서브 그래픽들 중 어느 하나에 대해 제 4 명령이 입력된 경우, 제 4 명령이 입력된 서브 그래픽은 색상이 변경되고 활성화 상태로 전환될 수 있다. 활성화 상태로 전환된 서브 그래픽이 정의하는 상태에 따라 제 3 컨트롤 그래픽(230)에 대응되는 심전도 특징의 존재 유무가 결정될 수 있다. 즉, 델타 파의 존재를 정의하는 서브 그래픽에 대한 제 4 명령이 입력된 경우, 델타 파는 심전도 신호 상에 존재하는 것으로 라벨링 될 수 있다. 한편, 제 3 컨트롤 그래픽(231)에 대한 제 4 명령은 제 3 컨트롤 그래픽(231)을 클릭하는 동작, 더블클릭 하는 동작, 또는 제 3 컨트롤 그래픽(231)에 할당된 단축키를 선택하는 동작 등의 사용자 조작에 의해 입력될 수 있다.The third user interface (230) may include a fifth control graphic (231) that dynamically changes a visual representation and state in response to a fourth command that determines the presence or absence of electrocardiogram features listed in the third user interface (230). The fifth control graphic (231) may be a graphic for determining the presence or absence of electrocardiogram features listed in the third user interface (230) in accordance with the fourth command. The fifth control graphic (231) may be configured for each electrocardiogram feature listed in the third user interface (230). The third control graphic (231) may be a button-type graphic that may accept a user command for determining the presence or absence of a specific electrocardiogram feature. For example, the third control graphic (231) may include sub-graphics that enable the presence or absence to be individually determined. That is, the third control graphic (231) may include a sub-graphic defining a state that is not a labeling target (“-”), a sub-graphic defining the presence of an electrocardiogram feature (“O” in FIG. 2), and a sub-graphic indicating that an electrocardiogram feature does not exist (“X” in FIG. 2). Each of the sub-graphics may be maintained in an inactive state without a color change if there is no fourth command. If the fourth command is input for any one of the three sub-graphics, the sub-graphic to which the fourth command is input may have its color changed and may be switched to an active state. Depending on the state defined by the sub-graphic switched to the active state, the presence or absence of an electrocardiogram feature corresponding to the third control graphic (230) may be determined. That is, if the fourth command is input for a sub-graphic defining the presence of a delta wave, the delta wave may be labeled as existing on an electrocardiogram signal. Meanwhile, the fourth command for the third control graphic (231) can be input by a user operation such as an action of clicking the third control graphic (231), an action of double-clicking, or an action of selecting a shortcut key assigned to the third control graphic (231).

제 3 사용자 인터페이스(230)는 제 1 사용자 인터페이스(210)에 표시되지 못하는 심전도 특징들을 나열함으로써, 사용자가 기본적인 심전도 특징들 이외에도 심전도 분석에 사용될 수 있는 다양한 심전도 특징들을 편리하게 라벨링 할 수 있는 환경을 제공할 수 있다. 또한, 제 3 사용자 인터페이스(230)는 상술한 예시와 같은 제 3 컨트롤 그래픽(231)을 통해 사용자가 라벨링 대상을 손쉽게 선택하거나 교체할 수 있는 환경을 제공할 수 있다. 이러한 사용성의 개선은 사용자의 불필요한 조작을 방지하여 컴퓨팅 리소스의 효율성을 가져올 수 있다.The third user interface (230) can provide an environment in which a user can conveniently label various electrocardiogram features that can be used for electrocardiogram analysis in addition to basic electrocardiogram features by listing electrocardiogram features that are not displayed in the first user interface (210). In addition, the third user interface (230) can provide an environment in which a user can easily select or replace a labeling target through a third control graphic (231) such as the example described above. Such usability improvement can prevent unnecessary operations by the user, thereby bringing about efficiency in computing resources.

제 4 사용자 인터페이스(240)는 사용자에 의해 진행된 라벨링 상황을 표시하는 영역을 구성할 수 있다. 다시 말해서, 제 4 사용자 인터페이스(240)는 사용자가 현 시점까지 진행된 라벨링 상황을 한눈에 파악할 수 있도록 정리한 대시보드(dashboard) 영역을 구성할 수 있다. 그리고, 제 4 사용자 인터페이스(240)는 리드 별로 적어도 하나의 심전도 특징이 라벨링 되었는지 여부를 표현하는 제 6 컨트롤 그래픽(241)을 포함할 수 있다. 제 6 컨트롤 그래픽(241)은 제 2 사용자 인터페이스(220)에 표시된 심전도 신호 상에 존재하는 라벨의 종류 및 수를 반영하여 정보를 출력하는 그래픽일 수 있다. 예를 들어, 도 3과 같이 제 4 사용자 인터페이스(240)는 심전도 특징들과 표준 12 리드들을 행과 열로 각각 구성한 테이블을 출력할 수 있다. 그리고, 제 6 컨트롤 그래픽(241)은 행과 열에 의해 구성된 셀(cell) 마다 표시될 수 있다. 리드 Ⅰ에서 적어도 하나의 심전도 특징 A이 라벨링된 경우, 리드 Ⅰ과 심전도 특징 A가 교차하는 셀에 존재하는 제 6 컨트롤 그래픽은 "O" 와 같이 존재함을 직관적으로 나타내는 모양으로 표시될 수 있다. 리드 Ⅰ에서 적어도 하나의 심전도 특징 A이 라벨링 되지 않은 경우, 리드 Ⅰ과 심전도 특징 A가 교차하는 셀에 존재하는 제 6 컨트롤 그래픽은 "X" 와 같이 존재하지 않음을 직관적으로 나타내는 모양으로 표시될 수 있다. 즉, 제 6 컨트롤 그래픽(241)은 라벨의 존재 유무를 반영하여 시각적 표현 및 색상을 동적으로 변경할 수 있다. 제 6 컨트롤 그래픽(241)이 이와 같이 존재 유무를 직관적으로 표현하지 않고 라벨링 개수를 보여주게 되면, 심전도마다 비트 개수가 다를 뿐만 아니라 전체 개수를 파악할 수 없기 때문에 사용자가 라벨링 현황을 파악하는 의미가 없어지게 되는 문제가 발생한다. 따라서, 사용자가 라벨링 현황 전체를 직관적으로 파악하기 쉽도록 하기 위해, 제 6 컨트롤 그래픽(241)은 라벨의 존재 유무를 표현하는 방식으로 정보를 제공한다.The fourth user interface (240) may configure an area that displays a labeling situation performed by a user. In other words, the fourth user interface (240) may configure a dashboard area that organizes the labeling situation performed up to the present point so that the user can grasp at a glance. In addition, the fourth user interface (240) may include a sixth control graphic (241) that expresses whether at least one electrocardiogram feature has been labeled for each lead. The sixth control graphic (241) may be a graphic that outputs information by reflecting the type and number of labels existing on the electrocardiogram signal displayed in the second user interface (220). For example, as shown in FIG. 3, the fourth user interface (240) may output a table in which electrocardiogram features and standard 12 leads are each configured in rows and columns. In addition, the sixth control graphic (241) may be displayed for each cell configured in rows and columns. If at least one electrocardiogram feature A is labeled in Lead I, the sixth control graphic existing in the cell where Lead I intersects the electrocardiogram feature A can be displayed in a shape that intuitively indicates its existence, such as an “O.” If at least one electrocardiogram feature A is not labeled in Lead I, the sixth control graphic existing in the cell where Lead I intersects the electrocardiogram feature A can be displayed in a shape that intuitively indicates its non-existence, such as an “X.” That is, the sixth control graphic (241) can dynamically change its visual expression and color to reflect the presence or absence of the label. If the sixth control graphic (241) does not intuitively express the presence or absence in this way but instead shows the number of labeling, the number of bits varies for each electrocardiogram and the total number cannot be determined, which causes a problem in that the user loses the meaning of identifying the labeling status. Therefore, in order to make it easy for the user to intuitively identify the entire labeling status, the sixth control graphic (241) provides information in a way that expresses the presence or absence of the label.

도 4는 본 개시의 일 실시예에 따른 사용자 인터페이스를 제공하는 방법을 나타낸 순서도이다.FIG. 4 is a flowchart illustrating a method for providing a user interface according to one embodiment of the present disclosure.

본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 사용자 명령에 따라 심전도 신호를 획득할 수 있다(S100). 예를 들어, 라벨링 할 심전도 신호를 포함하는 심전도 데이터를 선택하는 사용자 명령이 입력되면, 컴퓨팅 장치(100)는 의료 데이터베이스 혹은 심전도 신호 측정 장비와 통신을 통해 라벨링을 수행할 심전도 데이터를 수신할 수 있다. 컴퓨팅 장치(100)의 메모리(120)에 심전도 신호가 이미 저장된 경우, 컴퓨팅 장치(100)는 메모리(120)에 저장된 심전도 데이터를 프로세서(110)로 전달하는 작업을 수행할 수도 있다.A computing device (100) according to one embodiment of the present disclosure can obtain an electrocardiogram signal according to a user command (S100). For example, when a user command for selecting electrocardiogram data including an electrocardiogram signal to be labeled is input, the computing device (100) can receive electrocardiogram data to be labeled through communication with a medical database or an electrocardiogram signal measuring device. If an electrocardiogram signal is already stored in the memory (120) of the computing device (100), the computing device (100) can also perform a task of transferring the electrocardiogram data stored in the memory (120) to the processor (110).

컴퓨팅 장치(100)는 심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스를 제공할 수 있다(S200). 컴퓨팅 장치(100)는 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스를 제공할 수 있다(S300). 그리고 컴퓨팅 장치(100)는 심전도 신호 상에 라벨링 하지 않고 사용자 명령에 의해 정의되는 심전도 특징들을 나열하는 제 3 사용자 인터페이스를 제공할 수 있다(S400). 도 3과 같이 제 1 사용자 인터페이스, 제 2 사용자 인터페이스, 제 3 사용자 인터페이스는 컴퓨팅 장치(100)의 입출력부(140)를 통해 구성되는 하나의 화면에 조합되어 제공될 수 있다. 이와 같이 제공되는 사용자 인터페이스를 통해 라벨링 과정은 다음과 같이 진행될 수 있다.The computing device (100) can provide a first user interface that lists electrocardiogram features that can be labeled on the electrocardiogram signal (S200). The computing device (100) can provide a second user interface that visually displays the electrocardiogram signal (S300). In addition, the computing device (100) can provide a third user interface that lists electrocardiogram features defined by a user command without labeling the electrocardiogram signal (S400). As shown in FIG. 3, the first user interface, the second user interface, and the third user interface can be combined and provided on a single screen configured through the input/output unit (140) of the computing device (100). Through the user interfaces provided in this manner, the labeling process can proceed as follows.

심전도 신호가 획득되면, 사용자가 제 1 사용자 인터페이스를 통해 노출된 복수의 특징들 중 어느 하나를 선택할 수 있다. 예를 들어, P파의 시작점, 피크, 끝점을 지정하고 싶은 경우, 사용자는 제 1 사용자 인터페이스 상단의 "(Q)P" 버튼 그래픽을 커서를 통해 선택할 수 있다. 그러면 "(Q)P" 버튼 그래픽은 파란색으로 색깔이 바뀌면서 활성화될 수 있다. 사용자는 해당 버튼을 활성화 하는 단축키인 키보드의 "Q"를 누르는 것으로 "(Q)P" 버튼 그래픽을 선택할 수도 있다.When an ECG signal is acquired, the user can select any one of a plurality of features exposed through the first user interface. For example, if the user wants to specify the start point, peak, and end point of the P wave, the user can select the "(Q)P" button graphic at the top of the first user interface with the cursor. Then, the "(Q)P" button graphic can be activated by changing its color to blue. The user can also select the "(Q)P" button graphic by pressing the "Q" key on the keyboard, which is a shortcut key to activate the button.

제 1 사용자 인터페이스의 버튼 그래픽이 활성화 된 후, 사용자가 커서를 제 2 사용자 인터페이스에 표시된 심전도 신호 위에 배치하면, 커서의 모양은 변경될 수 있다. 예를 들어, 제 1 사용자 인터페이스의 버튼 그래픽이 활성화 되지 않은 상태에서 커서는 화살표 모양일 수 있다. 그런데, 제 1 사용자 인터페이스의 버튼 그래픽이 활성화 된 상태에서 커서는 심전도 신호 위에 위치하는 경우 화살표 모양에서 빨간색 십자 모양으로 변경될 수 있다.After the button graphic of the first user interface is activated, when the user places the cursor over the electrocardiogram signal displayed on the second user interface, the shape of the cursor may change. For example, when the button graphic of the first user interface is not activated, the cursor may be in the shape of an arrow. However, when the button graphic of the first user interface is activated, the cursor may change from the shape of an arrow to a red cross when positioned over the electrocardiogram signal.

제 1 사용자 인터페이스의 버튼 그래픽이 활성화됐을 때, 사용자가 커서를 심전도 신호 위에 배치하면, 제 2 사용자 인터페이스에서 커서 옆으로 해당 위치의 x축 값 혹은 y축 값과 같은 추가 정보가 표시된다. 그리고, 사용자가 커서를 이용하여 심전도 신호의 특정 지점을 선택하거나 심전도 신호의 특정 지점 위에서 단축키를 누르는 동작을 수행하면, 활성화 된 제 1 사용자 인터페이스의 버튼 그래픽에 대응되는 심전도 특징이 라벨링 될 수 있다. 예를 들어, P파의 시작점을 라벨링 하고자 할 때, 사용자는 심전도 신호 상의 해당 위치에 커서를 위치시킨 뒤, 시작점으로 할당된 단축키인 "1"을 눌러 P파의 시작점의 위치 정보를 저장할 수 있다. P파의 피크를 라벨링 하기 위해서, 사용자는 심전도 신호 상의 해당 위치에 커서를 위치시킨 뒤, 피크로 할당된 단축키인 "2"를 눌러 P파의 피크의 위치 정보를 저장할 수 있다. 이렇게 지정된 위치는 각 매칭된 색깔에 따라 심전도 신호 위에 동그란 점으로 표시될 수 있다. When the button graphic of the first user interface is activated, if the user places the cursor on the electrocardiogram signal, additional information such as the x-axis value or y-axis value of the corresponding position is displayed next to the cursor in the second user interface. In addition, if the user selects a specific point of the electrocardiogram signal using the cursor or performs an action of pressing a shortcut key on the specific point of the electrocardiogram signal, the electrocardiogram feature corresponding to the activated button graphic of the first user interface can be labeled. For example, when labeling the starting point of the P wave, the user can place the cursor on the corresponding position on the electrocardiogram signal and then press the shortcut key "1" assigned to the starting point to store the location information of the starting point of the P wave. In order to label the peak of the P wave, the user can place the cursor on the corresponding position on the electrocardiogram signal and then press the shortcut key "2" assigned to the peak to store the location information of the P wave peak. The designated position can be displayed as a circular dot on the electrocardiogram signal according to each matching color.

한편, 델타 파처럼 제 3 사용자 인터페이스를 통해 나열되는 특징들은 심전도 신호 상에 표시되지 않으므로, 제 3 사용자 인터페이스의 버튼 그래픽을 통해 존재 유무가 라벨링 될 수 있다. 예를 들어, 사용자는 제 3 사용자 인터페이스의 "O" (있음), "X" (없음), "-" (지정된 값 없음)로 표현된 버튼 그래픽 중 어느 하나를 선택하여 심전도 신호에 대한 심전도 특징의 유무를 라벨링 할 수 있다.Meanwhile, since features listed through the third user interface, such as delta waves, are not displayed on the ECG signal, their presence or absence can be labeled through button graphics of the third user interface. For example, a user can label the presence or absence of an ECG feature for an ECG signal by selecting any one of the button graphics represented as “O” (present), “X” (absent), and “-” (no specified value) of the third user interface.

컴퓨팅 장치(100)는 사용자에 의해 진행된 라벨링 상황을 표시하는 제 4 사용자 인터페이스를 제공할 수 있다(S500). 제 4 사용자 인터페이스는 제 1 사용자 인터페이스, 제 2 사용자 인터페이스 및 제 3 사용자 인터페이스와 같이 동시에 제공되지 않고, 특정 사용자 명령에 따라 선택적으로 제공될 수 있다. 예를 들어, 사용자가 제 1 사용자 인터페이스, 제 2 사용자 인터페이스, 제 3 사용자 인터페이스가 제공된 화면의 중간에 표시된 버튼 그래픽을 커서를 이용하여 선택하면, 제 4 사용자 인터페이스는 드롭다운(dropdown), 팝업(popup) 등의 방식을 통해 화면 상에 노출될 수 있다. 이와 같이 선택적으로 노출되는 제 4 사용자 인터페이스를 통해 사용자는 심전도 특징 및 리드 별로 라벨 현황을 한눈에 파악할 수 있다.The computing device (100) may provide a fourth user interface that displays a labeling situation performed by a user (S500). The fourth user interface may not be provided simultaneously like the first user interface, the second user interface, and the third user interface, but may be selectively provided according to a specific user command. For example, when a user selects a button graphic displayed in the middle of a screen where the first user interface, the second user interface, and the third user interface are provided using a cursor, the fourth user interface may be exposed on the screen through a method such as a dropdown or a popup. Through the fourth user interface that is selectively exposed in this way, the user can grasp the labeling status by electrocardiogram feature and lead at a glance.

도 5는 본 개시의 일 실시예에 따른 하드웨어 환경을 나타낸 블록도이다.FIG. 5 is a block diagram showing a hardware environment according to one embodiment of the present disclosure.

도 5를 참조하면, 본 개시의 일 실시예에 따른 시스템은 사용자 인터페이스를 사용자에게 제공하는 클라이언트(300), 및 사용자 인터페이스를 통해 획득되는 정보 혹은 사용자 인터페이스로 제공되는 정보를 처리하는 서버(400)를 포함할 수 있다. 예를 들어, 클라이언트(300)는 도 1의 컴퓨팅 장치(100)에 대응될 수 있다. 클라이언트(300)는 사용자와 상호 작용을 통해 획득되는 명령 또는 데이터 중 적어도 하나를 이용하여 사용자 인터페이스에서 구현되는 그래픽을 제어할 수 있다. 그리고, 클라이언트(300)는 사용자 인터페이스를 통해 획득되는 사용자 명령 혹은 데이터 중 적어도 하나를 서버(400)로 전달할 수 있다. 서버(400)는 사용자 인터페이스를 통해 획득된 명령 또는 데이터 중 적어도 하나를 이용하여 사용자 인터페이스를 통해 제공될 정보에 대한 가공을 수행할 수 있다. 구체적으로, 서버(400)는 인공지능 모델을 이용하여 사용자 인터페이스를 통해 사용자에게 제공될 시각화 된 정보를 생성할 수 있다. 서버(400)는 가공된 정보를 클라이언트(300)로 전달하고, 클라이언트(300)는 가공된 정보를 사용자 인터페이스를 통해 사용자에게 제공할 수 있다.Referring to FIG. 5, a system according to an embodiment of the present disclosure may include a client (300) that provides a user interface to a user, and a server (400) that processes information obtained through the user interface or information provided as a user interface. For example, the client (300) may correspond to the computing device (100) of FIG. 1. The client (300) may control graphics implemented in the user interface using at least one of a command or data obtained through interaction with a user. In addition, the client (300) may transmit at least one of a user command or data obtained through the user interface to the server (400). The server (400) may perform processing on information to be provided through the user interface using at least one of a command or data obtained through the user interface. Specifically, the server (400) may generate visualized information to be provided to the user through the user interface using an artificial intelligence model. The server (400) may transmit the processed information to the client (300), and the client (300) may provide the processed information to the user through the user interface.

앞서 설명된 본 개시의 다양한 실시예는 추가 실시예와 결합될 수 있고, 상술한 상세한 설명에 비추어 당업자가 이해 가능한 범주에서 변경될 수 있다. 본 개시의 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해되어야 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 따라서, 본 개시의 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다. The various embodiments of the present disclosure described above can be combined with additional embodiments and can be modified within a range that can be understood by those skilled in the art in light of the detailed description set forth above. It should be understood that the embodiments of the present disclosure are illustrative in all respects and not restrictive. For example, each component described as a single component may be implemented in a distributed manner, and likewise, components described as distributed may be implemented in a combined manner. Accordingly, all changes or modifications derived from the meaning, scope, and equivalent concept of the claims of the present disclosure should be interpreted as being included in the scope of the present disclosure.

Claims (15)

프로세서(processor)를 포함하는 컴퓨팅 장치에 의해 수행되는, 의료용 인공지능의 라벨링을 위한 사용자 인터페이스를 제공하는 방법으로서,
심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스를 제공하는 단계;
상기 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스를 제공하는 단계; 및
상기 심전도 신호 상에 라벨링 하지 않고 사용자 명령에 의해 정의되는 심전도 특징들을 나열하는 제 3 사용자 인터페이스를 제공하는 단계;
를 포함하는,
방법.
A method for providing a user interface for labeling of medical artificial intelligence, performed by a computing device including a processor,
A step of providing a first user interface listing labelable electrocardiogram features on an electrocardiogram signal;
providing a second user interface for visually displaying the electrocardiogram signal; and
Providing a third user interface that lists electrocardiogram features defined by user commands without labeling the electrocardiogram signal;
Including,
method.
제 1 항에 있어서,
상기 제 1 사용자 인터페이스는,
상기 심전도 신호 상에 라벨링이 가능한 심전도 특징들 중에서 라벨링 대상인 심전도 특징을 선정하기 위한 제 1 명령에 응답하여 시각적 표현 및 상태를 동적으로 변경하는 제 1 컨트롤 그래픽을 포함하는,
방법.
In paragraph 1,
The above first user interface is,
Including a first control graphic that dynamically changes the visual representation and state in response to a first command for selecting an electrocardiogram feature to be labeled among the electrocardiogram features that can be labeled on the electrocardiogram signal.
method.
제 2 항에 있어서,
상기 제 2 사용자 인터페이스는,
상기 제 1 명령에 따라 선정된 심전도 특징을 상기 심전도 신호 상에 라벨링 하기 위한 제 2 명령에 응답하여 상기 심전도 신호 상에 표시되는 제 2 컨트롤 그래픽을 포함하는,
방법.
In the second paragraph,
The second user interface is,
Including a second control graphic displayed on the electrocardiogram signal in response to a second command for labeling the electrocardiogram feature selected in accordance with the first command on the electrocardiogram signal;
method.
제 3 항에 있어서,
상기 심전도 신호 상에서 복수의 제 2 컨트롤 그래픽들이 존재하는 경우,
상기 복수의 제 2 컨트롤 그래픽들 중에서 상기 제 1 명령에 응답하여 활성화 상태가 된 제 1 컨트롤 그래픽에 대응되는 심전도 특징과 관련된 파형에 존재하는 제 2 컨트롤 그래픽이 상기 심전도 신호 상에서 활성화 되는,
방법.
In the third paragraph,
If there are multiple second control graphics on the above ECG signal,
Among the plurality of second control graphics, a second control graphic present in a waveform related to an electrocardiogram characteristic corresponding to a first control graphic that is activated in response to the first command is activated on the electrocardiogram signal.
method.
제 3 항에 있어서,
상기 제 2 사용자 인터페이스는,
상기 제 2 컨트롤 그래픽이 표시되지 않은 심전도 신호 또는 상기 제 2 컨트롤 그래픽이 표시된 심전도 신호를 사전 학습된 인공지능 모델에 입력하여 예측된 심전도 특징에 대한 라벨을 기반으로, 상기 심전도 신호 상에 표시되는 제 3 컨트롤 그래픽을 포함하는,
방법.
In the third paragraph,
The second user interface is,
An electrocardiogram signal in which the second control graphic is not displayed or an electrocardiogram signal in which the second control graphic is displayed is input to a pre-trained artificial intelligence model, and based on a label for a predicted electrocardiogram feature, a third control graphic is displayed on the electrocardiogram signal.
method.
제 5 항에 있어서,
상기 제 3 컨트롤 그래픽은,
상기 제 2 명령의 입력을 가이드 하기 위해, 상기 심전도 신호 상에서 상기 예측된 심전도 특징의 위치를 특정하여 표현하거나,
상기 예측된 라벨을 기반으로 산출된, 상기 제 2 컨트롤 그래픽을 통해 특정된 심전도 특징의 오차 정보를 표현하는,
방법.
In paragraph 5,
The above third control graphic is,
To guide the input of the second command, the location of the predicted electrocardiogram feature is specified and expressed on the electrocardiogram signal, or
Expressing error information of a specified electrocardiogram feature through the second control graphic, which is calculated based on the predicted label,
method.
제 3 항에 있어서,
상기 제 2 사용자 인터페이스는,
상기 심전도 신호 상에서 상기 제 2 명령이 입력되는 지점의 위치 정보 또는 상기 심전도 신호 상에서 라벨링을 보조하기 위한 가이드 선을 표현하는 제 4 컨트롤 그래픽을 포함하는,
방법.
In the third paragraph,
The second user interface is,
Including a fourth control graphic representing location information of a point where the second command is input on the electrocardiogram signal or a guide line to assist labeling on the electrocardiogram signal.
method.
제 1 항에 있어서,
상기 제 2 사용자 인터페이스는,
상기 심전도 신호에 존재하는 노이즈를 제거한 상태 또는 상기 노이즈를 제거하지 않은 상태 중 어느 하나를 선정하는 제 3 명령에 응답하여, 상기 심전도 신호의 시각적 표현을 동적으로 변경하는,
방법.
In paragraph 1,
The second user interface is,
In response to a third command selecting either a state in which noise present in the electrocardiogram signal is removed or a state in which the noise is not removed, dynamically changing the visual representation of the electrocardiogram signal.
method.
삭제delete 제 1 항에 있어서,
상기 제 3 사용자 인터페이스는,
상기 제 3 사용자 인터페이스에서 나열되는 심전도 특징들의 존재 유무를 결정하는 제 4 명령에 응답하여, 시각적 표현 및 상태를 동적으로 변경하는 제 5 컨트롤 그래픽을 포함하는,
방법.
In paragraph 1,
The third user interface is,
In response to a fourth command determining the presence or absence of electrocardiogram features listed in the third user interface, a fifth control graphic dynamically changing the visual representation and state,
method.
제 10 항에 있어서,
상기 제 5 컨트롤 그래픽은,
상기 제 4 명령에 따라 상기 제 3 사용자 인터페이스에서 나열되는 심전도 특징들의 존재 유무를 결정하기 위한 그래픽인,
방법.
In Article 10,
The above fifth control graphic is,
A graphic for determining the presence or absence of electrocardiogram features listed in the third user interface according to the fourth command above.
method.
제 1 항에 있어서,
사용자에 의해 진행된 라벨링 상황을 표시하는 제 4 사용자 인터페이스를 제공하는 단계;
를 더 포함하는,
방법.
In paragraph 1,
Step of providing a fourth user interface that displays the labeling status performed by the user;
Including more,
method.
제 12 항에 있어서,
상기 제 4 사용자 인터페이스는,
리드 별로 적어도 하나의 심전도 특징이 라벨링 되었는지 여부를 표현하는 제 6 컨트롤 그래픽을 포함하는,
방법.
In Article 12,
The above fourth user interface is,
Including a sixth control graphic representing whether at least one electrocardiogram feature per lead is labeled;
method.
컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램(program)으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서(processor)에서 실행되는 경우, 의료용 인공지능의 라벨링을 위한 사용자 인터페이스를 제공하는 동작들을 수행하도록 하며,
상기 동작들은,
심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스를 제공하는 동작;
상기 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스를 제공하는 동작; 및
상기 심전도 신호 상에 라벨링 하지 않고 사용자 명령에 의해 정의되는 심전도 특징들을 나열하는 제 3 사용자 인터페이스를 제공하는 동작;
을 포함하는,
컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium, wherein the computer program, when executed on one or more processors, performs operations that provide a user interface for labeling of medical artificial intelligence.
The above actions are,
An operation providing a first user interface listing labelable electrocardiogram features on an electrocardiogram signal;
An operation of providing a second user interface for visually displaying the electrocardiogram signal; and
An operation of providing a third user interface that lists electrocardiogram features defined by user commands without labeling the electrocardiogram signal;
Including,
Computer program.
의료용 인공지능의 라벨링을 위한 사용자 인터페이스를 제공하는 컴퓨팅 장치로서,
적어도 하나의 코어(core)를 포함하는 프로세서(processor);
상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및
심전도 신호 상에 라벨링이 가능한 심전도 특징들을 나열하는 제 1 사용자 인터페이스, 상기 심전도 신호를 시각적으로 표시하는 제 2 사용자 인터페이스 및 상기 심전도 신호 상에 라벨링 하지 않고 사용자 명령에 의해 정의되는 심전도 특징들을 나열하는 제 3 사용자 인터페이스를 제공하는 입출력부(input/output unit);
를 포함하는
장치.
A computing device providing a user interface for labeling medical artificial intelligence,
A processor comprising at least one core;
a memory containing program codes executable by the processor; and
An input/output unit providing a first user interface listing electrocardiogram features that can be labeled on an electrocardiogram signal, a second user interface visually displaying the electrocardiogram signal, and a third user interface listing electrocardiogram features defined by a user command without being labeled on the electrocardiogram signal;
Including
device.
KR1020240112751A 2023-09-05 2024-08-22 Method, and apparatus for providing user interface for labeling of medical artificial intelligence Active KR102835913B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2024/012987 WO2025053543A1 (en) 2023-09-05 2024-08-30 Method and apparatus for providing user interface for labeling medical artificial intelligence

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20230117614 2023-09-05
KR1020230117614 2023-09-05

Publications (2)

Publication Number Publication Date
KR20250035455A KR20250035455A (en) 2025-03-12
KR102835913B1 true KR102835913B1 (en) 2025-07-18

Family

ID=94977841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240112751A Active KR102835913B1 (en) 2023-09-05 2024-08-22 Method, and apparatus for providing user interface for labeling of medical artificial intelligence

Country Status (1)

Country Link
KR (1) KR102835913B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004160200A (en) * 2002-09-18 2004-06-10 Covance Inc Method and apparatus for interactive annotation and measurement of time series data with automatic marking
JP2005230354A (en) * 2004-02-20 2005-09-02 Mitsubishi Kagaku Bio-Clinical Laboratories Inc ECG QT interval measurement method
JP2015532870A (en) * 2012-10-26 2015-11-16 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Diagnostic representation and interpretation of ECG guidance on digital displays
US20220039729A1 (en) * 2020-08-10 2022-02-10 Cardiologs Technologies Sas Electrocardiogram processing system for detecting and/or predicting cardiac events

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251291B1 (en) 2021-02-25 2021-05-12 주식회사 재이랩스 Method for pinned and guide data user interface for fast movement between medical labeling data and apparatus using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004160200A (en) * 2002-09-18 2004-06-10 Covance Inc Method and apparatus for interactive annotation and measurement of time series data with automatic marking
JP2005230354A (en) * 2004-02-20 2005-09-02 Mitsubishi Kagaku Bio-Clinical Laboratories Inc ECG QT interval measurement method
JP2015532870A (en) * 2012-10-26 2015-11-16 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Diagnostic representation and interpretation of ECG guidance on digital displays
US20220039729A1 (en) * 2020-08-10 2022-02-10 Cardiologs Technologies Sas Electrocardiogram processing system for detecting and/or predicting cardiac events

Also Published As

Publication number Publication date
KR20250035455A (en) 2025-03-12

Similar Documents

Publication Publication Date Title
US11200539B2 (en) Automatic completion of robotic process automation workflows using machine learning
US11372657B2 (en) Systems and methods for adaptive user interfaces
CN109074166B (en) Changing application states using neural data
US12099820B2 (en) Training and using artificial intelligence (AI) / machine learning (ML) models to automatically supplement and/or complete code of robotic process automation workflows
US9141345B2 (en) Simplified user controls for authoring workflows
KR20230008685A (en) Questions and answer processing methods and apparatus, training methods and apparatus, electronic device, storage medium and computer program
JP7714029B2 (en) Training artificial intelligence/machine learning models to recognize applications, screens, and user interface elements using computer vision
JP2023545644A (en) Interaction sequencing, process extraction, and robot generation using artificial intelligence/machine learning models
US12051205B1 (en) Systems and methods for interacting with a large language model
CN114270313B (en) A computer-implemented method, a computer program product, and a physical computing system
US20230060235A1 (en) Multi-stage workflow processing and analysis platform
KR20240116667A (en) Training sample acquisition and large model optimization training methods and devices
US8055598B1 (en) User configured optimizer
KR102835913B1 (en) Method, and apparatus for providing user interface for labeling of medical artificial intelligence
CN114579626A (en) Data processing method, data processing apparatus, electronic device and medium
US9122387B1 (en) User configured optimizer
EP4557309A1 (en) Method and apparatus which provide user interface for electrocardiogram analysis
KR20240028948A (en) Method, and apparatus for providing user interface for electrocardiogram analysis
US20250060863A1 (en) Predictive model for copy-paste operations
WO2025053543A1 (en) Method and apparatus for providing user interface for labeling medical artificial intelligence
CN119343085A (en) Pulse and rhythm reclassification
CN114429678A (en) Model training method and device, electronic device and medium
KR102835916B1 (en) Method, program, and system for providing electrocardiogram readout service
KR20250117301A (en) Method, program, and apparatus for providing user interface for generation and management of electrocardiogram
Da Cruz et al. MORPHER-A Platform to Support Modeling of Outcome and Risk Prediction in Health Research

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601