[논문 리뷰] TiA -- Documentation of TOBI Interface A
TiA 1.0은 실시간 생체신호 측정 시스템을 위한 표준화된 텍스트 기반, TCP 기반 통신 프로토콜을 규정하며, 다양한 생체센서와 클라이언트 애플리케이션 간의 상호운용성을 가능하게 한다. 신호 유형, 제어, 데이터, 서버 상태 연결을 UTF-8로 인코딩된 라인 기반 메시지와 XML 메타데이터를 사용해 정의하며, EEG, EMG, ECG, fMRI 및 기타 생체신호를 지원하여 플랫폼 간 일관된 데이터 교환을 보장한다.
This document contains the documentation of TOBI (Tools for BCI) Interface A (TiA). TiA is a standardized interface to transmit raw biosignals. It is able to deal with multirate and block-oriented data transmission. Data is distinguished by different signal types (e.g., EEG, EOG, NIRS,...), whereby those signals can be acquired at the same time from different acquisition devices. TiA is built as a client-server model. Multiple clients can connect to one server. Information is exchanged via a control- and a separated data connection. Control commands and meta information are transmitted over the control connection. Raw biosignal data is delivered using the data connection in a unidirectional way. For this purpose a standardized handshaking protocol and raw data packet have been developed. Thus, an abstraction layer between hardware devices and data processing was evolved facilitating standardization.
연구 동기 및 목표
- 다양한 하드웨어 및 소프트웨어 플랫폼 간의 상호운용성을 향상시키기 위해 실시간 생체신호 측정 시스템을 위한 표준화되고 플랫폼에 구애받지 않는 인터페이스를 확립하기 위해.
- 생체신호 서버와 클라이언트 간의 제어 전송, 서버 상태 관리, 메타데이터 교환을 위한 일관된 통신 프로토콜을 정의하기 위해.
- EEG, EMG, ECG, fMRI 및 사용자 정의 신호를 포함한 다양한 생체신호 유형을 표준화되고 확장 가능한 메타데이터 스키마를 통해 지원하기 위해.
- 클라이언트가 서버 기능을 동적으로 탐지하고, 데이터 전송 모드(TCP/UDP)를 구성하며, 전용 제어 및 상태 연결을 통해 서버 상태를 모니터링할 수 있도록 하기 위해.
- 버전화된 메시지, XML 기반 메타데이터, 명확한 오류 처리 메커니즘을 통해 향후 확장성과 이전 버전 호환성을 확보하기 위해.
제안 방법
- 프로토콜은 제어 연결을 위한 라인 기반, UTF-8로 인코딩된 HTTP 유사 텍스트 기반 메시징 시스템을 사용하며, 버전, 명령, 선택적 콘텐츠 길이, XML 페이로드 라인을 포함한다.
- 제어 명령어로는 CheckProtocolVersion, GetMetaInfo, GetDataConnection, Start/StopDataTransmission, GetServerStateConnection이 있으며, 각각 표준화된 요청 및 응답 형식을 갖는다.
- 데이터 전송은 고정 9바이트 헤더(버전, 크기, 타임스탬프)와 가변 헤더, 신호 데이터로 구성된 이진 패킷 형식을 사용하며, 리틀 엔디안 바이트 순서를 따른다.
- 신호 메타데이터는 XML 형식의 메타정보를 통해 교환되며, 피험자 정보, 마스터 신호 파라미터(샘플링 레이트, 블록 크기), 및 각 신호의 속성(유형, 샘플링 레이트, 블록 크기, 채널 레이블 수, 채널 수)를 정의한다.
- 서버 상태 메시지(ServerRunning, ServerShutdown)는 전용 TCP 포트를 통해 서버에서 클라이언트로 전송되어 서버 생명주기 변화를 알린다.
- 오류 처리는 인간이 읽을 수 있는 설명이 포함된 구조화된 XML 오류 메시지를 사용하며, 향후 오류 코드 확장을 지원하지만, 버전 1.0에서는 오류 코드를 정의하지 않는다.
실험 결과
연구 질문
- RQ1이질적인 하드웨어 및 소프트웨어 플랫폼 간에 실시간 생체신호 측정 시스템을 위한 표준화되고 상호운용 가능한 통신 프로토콜을 어떻게 설계할 수 있는가?
- RQ2저지연, 확장성, 플랫폼 독립성을 보장하는 제어, 데이터, 상태 통신을 위한 최적의 메시지 구조는 무엇인가?
- RQ3피험자 정보, 샘플링 레이트, 채널 레이블을 포함한 신호 메타데이터를 인간과 기계가 모두 읽을 수 있는 형식으로 일관되게 표현하고 교환할 수 있는 방법은 무엇인가?
- RQ4분산 생체신호 시스템에서 데이터 전송 모드(TCP/UDP)와 서버 생명주기 상태(실행/종료)를 동적으로 관리하기 위해 필요한 메커니즘은 무엇인가?
- RQ5특히 이진 데이터 패킷 형식에서 향후 확장이 가능하도록 하면서도 이전 버전 호환성을 유지하기 위해선 어떻게 해야 하는가?
주요 결과
- TiA 1.0은 EEG, EMG, ECG, fMRI 및 사용자 정의 신호를 포함한 14종의 표준 신호 유형을 지원하는 포괄적이고 확장 가능한 실시간 생체신호 시스템 프로토콜을 정의한다.
- 프로토콜은 GetMetaInfo를 통해 서버 기능을 쿼리하고, GetDataConnection을 사용해 TCP 또는 UDP를 통해 데이터를 수신하며, Start/StopDataTransmission 명령어로 데이터 흐름을 제어할 수 있도록 한다.
- 서버 상태 연결을 통해 서버는 ServerStateRunning 및 ServerShutdown 메시지를 사용해 클라이언트의 운영 상태를 사전에 알릴 수 있다.
- 데이터 패킷 형식은 9바이트 고정 헤더(버전, 크기, 타임스탬프)를 사용하며, 리틀 엔디안 바이트 순서를 지원하여 다양한 플랫폼 간 일관된 파싱을 보장한다.
- XML 기반 메타데이터 스키마(tiaMetaInfo)는 피험자 데이터, 신호 유형, 샘플링 레이트, 블록 크기, 채널 레이블을 구조화된 방식으로 표현할 수 있게 하며, 호환성을 위해 버전 1.0은 고정되어 있다.
- 프로토콜은 UTF-8 인코딩, 줄 단위 메시지 구조(줄 바꿈 문자 \n 종료), 대소문자 구분을 강제하여 신뢰성 있는 파싱과 상호운용성을 보장한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.