DOI QR코드

DOI QR Code

Development of remote control and monitoring program for multiple HMD content

다중 HMD 콘텐츠를 위한 원격 제어 및 모니터링 프로그램 개발

  • Yoonbin Hong (Department of Computer Engineering, Changwon National University) ;
  • Minji Park (Department of Computer Engineering, Changwon National University) ;
  • Donghyeok An (Department of Computer Engineering, Changwon National University)
  • 홍윤빈 ;
  • 박민지 ;
  • 안동혁
  • Received : 2024.08.09
  • Accepted : 2024.08.26
  • Published : 2024.08.29

Abstract

Recently, virtual reality (VR) has been actively used in various fields such as education, healthcare, entertainment, and training by providing immersive experiences. To operate multiple VR content programs without assistants and improve training efficiency, remote control of VR content programs within HMDs is necessary. In this paper, we develop management app for remotely controlling and monitoring multiple HMDs. First, we develop a function for HMD devices to connect to the management app. Second, we develop a function for simultaneously controlling HMD devices. Finally, we develop a function for monitoring HMD devices. In order to verify the developed functions, we measured the simultaneous control time and monitoring time. The measurement results showed that control took an average of 0.15 seconds and monitoring took an average of 0.81 seconds.

최근 가상현실(VR)은 몰입감 있는 경험을 제공하여 교육, 의료, 엔터테인먼트, 훈련 등의 분야에서 활발히 사용되고 있다. 다수의 가상현실 콘텐츠 프로그램을 보조자 없이 운영하고 콘텐츠 훈련 효율성을 높이기 위해서는 HMD 내 가상현실 콘텐츠 프로그램의 원격 제어가 필요하다. 본 연구는 관리자가 다수의 HMD를 원격 제어 및 모니터링하기 위한 기능과 매니지먼트 앱을 개발한다. 먼저, HMD 기기들이 매니지먼트 앱에 접속하는 기능을 개발한다. 두번째로 HMD 기기들을 동시에 제어하는 기능을 개발한다. 마지막으로 HMD 기기 모니터링 기능을 개발한다. 개발된 기능들을 검증하기 위해서 동시 제어 시간 및 모니터링 시간 등을 측정하였다. 측정 결과에서 제어는 평균 0.15초가 모니터링은 평균 0.81초가 소요되는 것으로 측정되었다.

Keywords

1. 서론

최근 고령 인구의 증가와 함께 치매 예방 및 인지 재활 훈련에 대한 관심이 높아지고 있다 [1]. 이러한 맥락에서 가상현실(Virtual Reality, VR)은 고령자의 인지 기능 향상을 위한 효과적인 도구로 주목받고 있다 [2, 3]. VR을 활용한 치매 예방 훈련은 몰입감 있는 환경을 제공하여 학습 동기를 높이고, 현실에서는 경험하기 어려운 다양한 상황을 체험하게 함으로써 인지 능력을 강화할 수 있다.

헤드 마운트 디스플레이(HMD)는 현재 대표적으로 사용되는 VR 기기이다 [4]. 연령이 어린 사용자 또는 디지털 기기에 친숙한 사용자에게 큰 어려움 없이 조작이 가능핟. 하지만 고령층은 디지털 기기 조작이 미숙하여 VR 기반 프로그램을 독립적으로 조작하는 데 어려움을 겪고 있다 [5]. 이로 인해 고령자의 치매예방 및 인지재활 훈련을 위한 VR 프로그램의 훈련 효율성이 저하될 수 있다. 이를 방지하고자 강사나 보조자가 프로그램 조작을 보조하고 있으나 VR 장비인 HMD는 화면 및 조작이 1인에 적합하기 때문에 VR 프로그램 보조에 한계가 있다. 특히 다수의 사용자에게 프로그램을 동시에 운영할 때에는 훈련 효율성이 더욱 저하된다.

이러한 문제를 해결하기 위해서는 다수의 VR 콘텐츠 프로그램을 보조자 없이 효율적으로 제어할 수 있어야 한다. [6]에서는 사용자들이 실제 LED 조명을 가상현실에서 제어하는 시스템을 제안하였다. 하지만 관리자가 사용자들의 VR 콘텐츠를 제어할 수 없고 모니터링이 어렵다는 점에서 본 프로그램과 차별화된다. 에듀포올은 최대 50대의 HMD를 제어하고 미러링하는 시스템을 개발하였다 [7]. 시스템을 활용해 관리자가 VR 콘텐츠를 실행시키거나 종료시킬 수 있도 동시에 다수의 VR 콘텐츠 미러링을 지원한다. 하지만 콘텐츠 시작/종료 외 각 단계 내 선택은 지원하지 않는다. 또한 다수의 미러링으로 인해 무선랜 내 부하가 증가하여 모니터링이 원활하게 이루어지지 않는다. [8]에서는 VR 기반 산업 안전 교육을 위한 시스템을 개발하였다. 관리자가 영상을 PC에서 재생하면 교육생들의 HMD에서 동시에 재생된다. 하지만 영상 시청 외 추가적인 제어가 어려우며 모니터링 기능도 제공하지 않는다. 표 1에서와 같이, 제안하는 프로그램은 콘텐츠의 세부 단계도 관리자가 제어하고 무선랜 부하를 줄이는 방식의 모니터링 기능을 제공한다는 점에서 기존 연구기술보다 우수하다. 따라서 본 연구에서는 그림 1과 같이 다수의 HMD를 원격으로 제어하여 관리자에게 사용 편의성을 증대하고 학습자에게 효율적인 훈련 환경을 제공하기 위해서는 원격 제어 시스템 개발을 목표로 한다.

JBJTBH_2024_v17n4_245_2_f0001.png 이미지

그림 1. 다중 HMD 원격 제어 개요도

Fig. 1. Overview of multiple HMD remote control

표 1. 기존 연구와의 비교

Table 1. Comparison with previous studies

JBJTBH_2024_v17n4_245_2_t0001.png 이미지

원격 제어 시스템을 개발하기 위해서는 크게 두 가지 세부 기능을 개발한다. 첫 번째, 학습자들이 경험하는 HMD 화면 모니터링이 필요하므로, 다수의 HMD 화면을 동시에 확인하고 개별 화면을 확인할 수 있는 대시보드 시스템을 개발한다. 두 번째, 다수의 HMD들을 동시에 또는 개별적으로 원격 제어를 위한 메시지 전송 기술을 개발한다.

논문의 구성은 다음과 같다. 2장에서는 제안하는 원격 제어 시스템에 대해서 설명한다. 3장에서는 개발한 원격 제어 시스템의 기능을 검증하고 성능을 평가한다. 마지막으로 결론을 제시한다.

2. 연구방법

다중 HMD를 원격으로 제어하는 시스템의 전체 기능은 그림 2와 같다. 안드로이드 기기에서 동작하는 관리자 매니지먼트 앱이 관리 매니지먼트 앱의 역할을 수행하고 다수의 HMD 기기들이 매니지먼트 앱에 접속한다. HMD 기기들은 관리자 매니지먼트 앱과 통신하면서 명령 전송 등을 통해 제어 기능을 수행한다. 또한 성공적인 제어 명령 수행 및 현재 상황 확인을 위해 현재 화면의 캡쳐 이미지를 매니지먼트 앱에 전송한다.

JBJTBH_2024_v17n4_245_3_f0001.png 이미지

그림 2. 다중 HMD 원격 제어 시스템의 기능

Fig. 2. Functions of multiple HMD remote control system

2.1 원격 제어를 위한 통신 연결

매니지먼트 앱이 HMD 기기를 원격으로 제어하기 위해서는 서로 연결되어 있어야 한다. 매니지먼트 앱과 HMD 기기의 통신은 신뢰성이 있는 데이터 전송을 제공하는 TCP를 이용한다. 이를 통해 데이터의 손실 없이 안정적인 통신을 보장한다. 또한 다수의 HMD 기기가 연결될 수 있음을 고려하여, 매니지먼트 앱에 하나의 HMD 기기가 새로 연결될 때마다 각 HMD 기기를 위한 별도의 스레드를 생성하여 동시에 여러 HMD 기기에게서 오는 메시지를 처리할 수 있도록 설계해 매니지먼트 앱의 안정성을 확보한다.

매니지먼트 앱은 실행과 동시에 서버로 동작하기 위해서 HDM 기기의 접속 요청을 기다린다. HMD 기기는 매니지먼트 앱에 TCP를 이용해 접속한다. 매니지먼트 앱은 HMD 기기가 연결될 시, 해당 HMD 기기가 몇 번째로 연결된 HMD 기기인지 번호를 부여하고, 그 번호와 보고 있는 UI Status 값, 통신 시 사용하는 Stream 정보를 리스트에 저장해 보관한다. 이 리스트를 사용해 다수의 HMD 기기에게 오는 메시지를 처리하고, 저장해서 원활하게 제어할 수 있다.

2.2 원격 제어 명령 전송

원격 매니지먼트 소프트웨어는 위에서 기술한 매니지먼트 앱 가동을 제외하면, 크게 개별 HMD 기기 제어, 전체 HMD 기기 제어, 화면 모니터링(순간 화면 캡처) 이렇게 세 가지 기능을 가진다. 원격 제어의 대상이 특정 하나의 HMD 기기일 수 있고, 매니지먼트 앱에 연결된 전체 HMD 기기일 수 있다. 또한 현재 HMD 기기가 보고 있는 화면을 확인하여 필요에 따라 제어하고, 매니지먼트 앱 측에서 보낸 제어 메시지에 따라 HMD 기기가 잘 제어되었는지 확인하기 위한 모니터링 기능을 가진다.

2.2.1 UI 설계

원격 제어 명령 전송 기능을 수행하기 위해서 매니지먼트 앱의 UI를 설계하였다. 그림 3은 매니지먼트 앱의 Main UI이다. 해당 앱은 총 8대의 HDM 기기가 동시에 접속할 수 있도록 설계되었다. 화면 하단에 있는 ‘Client N’ 버튼들은 현재 매니지먼트 앱과 연결된 HMD 기기의 수만큼 동적으로 생성되며, Client N번 버튼을 누를 시에는 N번 HMD 기기를 개별적으로 제어할 수 있는 화면으로 이동한다. 가장 위에 위치한 ‘Server Open’ 버튼을 누르면 서버로서 동작을 수행한다. 그 아래의 ‘Control All Clients’ 버튼은 개별 제어가 아닌 접속된 전체 HDM를 동시에 제어하기 위한 화면으로 이동한다.

JBJTBH_2024_v17n4_245_4_f0001.png 이미지

그림 3. 원격 매니지먼트 앱의 Main UI

Fig. 3. Main UI of remote management App

2.2.2 개별 HMD 기기 제어

Main UI에서 Client N 버튼을 활용해 개별 HMD 기기를 제어할 수 있으며, 개별 제어를 위한 UI는 그림 4와 같다. 우측 상단에 존재하는 ‘Move To Main’ 버튼을 누를 시에는 개별 HMD 기기 제어 창을 오기 전인 Main UI로 다시 이동한다. 가운데에 뜨는 UI는 HMD 기기가 현재 보고 있는 VR 화면의 UI와 동일한 화면 내 선택 메뉴들로 구성된다. 해당 메뉴 버튼들을 클릭할 시에 해당 버튼을 누르라는 제어 메시지가 HMD 기기에게 전송되고, HMD 기기는 매니지먼트 앱에서 오는 다양한 버튼 제어 메시지에 따라 알맞게 동작하도록 하여 원격제어를 구현한다. 예를 들어, 매니지먼트 앱 측에서 가운데의 ‘버튼 1 메뉴’ 버튼을 클릭 시, HMD 기기에게 ‘버튼 1 메뉴’를 누르라는 제어 메시지가 전송된다. HMD 기기는 이 제어 메시지를 수신해 HMD 기기의 화면 내의 ‘버튼 1 메뉴’ 버튼 클릭 이벤트를 발생시킨다. 제어 메시지를 HMD 기기가 성공적으로 수행하면 HMD 기기는 다음 화면 구성으로 이동한다. 이 때 HMD 기기는 제어 메시지에 대한 응답을 매니지먼트 앱에 전송하여 매니지먼트 앱도 HMD 기기와 동일한 UI 화면으로 이동한다.

JBJTBH_2024_v17n4_245_4_f0002.png 이미지

그림 4. 개별 HMD 기기 제어 UI

Fig. 4. Individual Client Control UI

2.2.3 전체 HMD 기기 동시 제어

Main UI에서 ‘Control All Clients’ 버튼을 누를 시, 그림 5와 같은 전체 제어 UI로 이동하며 현재 매니지먼트 앱에 연결된 모든 HMD 기기에게 ‘Control All’ 메세지가 전송된다. 해당 메시지를 받은 모든 HMD 기기는 Main UI로 이동하며 전체 제어 메시지를 받을 준비를 한다. 개별 HMD 기기 제어 UI와 마찬가지로, 관리자가 이동을 희망하는 메뉴 버튼을 선택하면 모든 HMD 기기에게 제어 메시지가 순차적으로 전송된다. 전체 제어 메시지의 형태는 개별 제어 메시지의 형태와 같아서, HMD 기기는 기존에 있던 제어 메시지 처리 방식으로 전체 제어 메시지를 수신하고 처리할 수 있다.

JBJTBH_2024_v17n4_245_4_f0003.png 이미지

그림 5. 클라이언트 동시 제어 UI

Fig. 5. Client concurrent control UI

2.3 원격 화면 모니터링

관리자는 HMD 기기가 현재 어떤 제어를 필요로 할지 확인하거나, 제어가 완료되고 나서는 제어가 잘 됐는지 확인하기 위해 모니터링을 수행한다. 이를 위해 HMD 기기는 현재 사용자가 보고 있는 화면을 이미지로 캡쳐하여 매니지먼트 앱으로 전송한다. 이를 통해 관리자는 이미지를 기반으로 HMD 기기의 모니터링을 수행한다. 해당 기능은 HMD 기기 개별 제어 UI의 우측에 존재하는 ‘Show Screen’ 버튼을 통해 개발하였다.

모니터링 기능에서 전송하는 이미지 데이터는 텍스트 메시지보다 크기가 매우 크기 때문에 이를 고려하기 위해 매니지먼트 앱과 HMD 기기간 전송 시작과 전송 종료를 상호간에 알려 안정적으로 이미지를 전달받을 수 있도록 구현하였다. 또한 해당 과정에서 이미지의 크기를 교환하여 매니지먼트 앱이 메모리를 효율적으로 사용하도록 구현하였다. 모니터링 기능의 동작 과정은 다음과 같다. 1) 매니지먼트 앱이 HMD 기기 측으로 현재 화면을 캡처하라는 메시지를 전송한다. 2) HMD 기기는 화면을 캡쳐하겠다는 메시지를 매니지먼트 앱으로 전송한다. 이 때 전송하고자 하는 이미지의 크기도 매니지먼트 앱에게 알린다. 3) 매니지먼트 앱은 HMD 기기가 알려준 이미지의 크기만큼 버퍼를 준비하고, HMD 기기로 준비 완료 메시지를 전송한다. 4) HMD 기기가 매니지먼트 앱으로부터 준비 완료 메시지를 수신할 시, 이미지를 캡처하여 바이트 형태로 전송한다. 5) 매니지먼트 앱은 이미지 데이터를 전부 수신하면, 해당 이미지를 관리자의 매니지먼트 앱에 표현한다.

3. 개발 결과 및 성능 평가

본 연구에서는 원격 제어를 위한 통신 연결, 원격 제어 명령 전송, 원격 화면 모니터링 성능 및 기능 검증을 위해 연결 가능한 HMD 최대 개수, 다중 HMD 동시 제어를 위한 명령 전송 오차, HMD 화면 공유 오차를 측정하고 기능을 평가하였다. 모든 성능 평가는 총 10회 수행하였다. HMD는 Oculus Quest 2 기기를 사용하였다 [9].

3.1 원격 제어를 위한 통신 연결

원격 제어를 위한 통신 연결 기능을 검증하기 위해서 매니지먼트 앱에 연결 가능한 HMD 최대 개수를 측정하였다. 매니지먼트 앱에 HMD 기기가 처음으로 연결되면, 매니지먼트 앱은 HMD 기기의 IP를 수신하고 HMD 기기에게 접속한 순서대로 고유 ID를 부여한다. 만약 매니지먼트 앱에 HMD 기기가 성공적으로 연결되면 IP와 ID를 출력하였다. 만약 HMD 기기의 연결이 실패하면 IP와 ID를 출력하지 않는다. 총 8대의 HMD 기기가 매니지먼트 앱에 접속을 수행하였고, 실행 결과는 표 2와 그림 6에서 나타낸다. 총 10번의 실행에서 8대의 HMD 기기들이 오류없이 매니지먼트 앱에 연결되는 것을 확인하였다. 이를 통해 통신 연결 기능이 성공적으로 동작함을 확인하였다.

JBJTBH_2024_v17n4_245_6_f0001.png 이미지

그림 6. 제어 가능한 HMD 개수 측정 결과

Fig. 6. Measurement results of the number of controllable HMD devices

표 2. 제어 가능한 HMD 개수

Table 2. The number of controllable HMD devices

JBJTBH_2024_v17n4_245_6_t0001.png 이미지

3.2 원격 제어 명령 전송

매니지먼트 앱이 연결된 모든 HMD 기기들에게 제어 명령을 전송하면, 제어 명령을 수신한 HMD 기기들은 제어 명령 수행하여 UI 및 Status 값을 변경한 후 성공 메시지를 매니지먼트 앱에 전송한다. 원격 제어 명령 전송의 성능을 평가하기 위해서 8대의 HMD 기기에 동시에 원격 제어 명령을 전송한 시점부터 제어 성공 메시지가 수신된 시점까지는 시간을 측정하였다. 측정 결과는 표 3과 그림 7에서 나타낸다. 측정 결과 0.1523초 내에 모든 HMD들에게 제어 명령이 전송되고 성공적으로 수행되는 것이 확인되었다.

JBJTBH_2024_v17n4_245_7_f0001.png 이미지

그림 7. 동시 제어를 위한 제어 명령 전송 시간 측정 결과

Fig. 7. Measurement results of control command transmission time for concurrent control

표 3. 동시 제어 명령 전송 시간

Table 3. Concurrent control command transmission time

JBJTBH_2024_v17n4_245_7_t0001.png 이미지

3.3 원격 화면 모니터링

다중 HMD 기기들의 모니터링 성능을 측정하기 위해서 매니지먼트 앱의 모니터링 화면과 실제 HMD 기기 화면 간 시간 차이들의 평균값을 측정하였다. 매니지먼트 앱 측에서 ‘Show Screen’ 버튼을 눌렀을 때부터 HMD 기기로부터 캡처 화면 이미지를 받아 UI에 정상적으로 띄우는 시점까지 시간을 측정하였다. 한 번 측정시, 총 8대의 HMD 기기로부터 모니터링에 소요되는 시간을 측정하였고 이를 10번 반복하였다. 결과는 표 4와 그림 8에서 나타낸다. 모니터링에 사용된 이미지의 해상도는 3664 x 1920이다. 측정 결과에서 모니터링을 위해 전송되는 이미지가 높은 해상도임에도 불구하고 평균 0.81초 내에 모든 HMD 기기가 매니지먼트 앱과 화면 모니터링 기능을 수행하는 것을 확인하였다. 그림 9는 모니터링 수행 화면을 나타낸다.

표 4. HMD 화면 모니터링 소요 시간

Table 4. HMD screen monitoring time

JBJTBH_2024_v17n4_245_7_t0002.png 이미지

JBJTBH_2024_v17n4_245_8_f0001.png 이미지

그림 8. HMD 화면 모니터링 소요 시간 측정 결과

Fig. 8. Measurement results of HMD screen monitoring time

JBJTBH_2024_v17n4_245_8_f0002.png 이미지

그림 9. HMD 및 매니지먼트 앱 간 화면 모니터링 결과

Fig. 9. Results of screen monitoring between HMD and management App

3.4 구현 결과

본 연구에서는 고령자의 치매 예방 및 인지 재활 훈련을 위한 VR 기술의 효율성을 극대화하기 위해 다중 HMD 원격 제어 및 모니터링 시스템을 개발하였다. 무선랜 환경에서 다수의 HMD를 효율적으로 제어하고 모니터링하기 위해 데이터 전송 대기 시간 차별화, 네트워크 성능 모델링 기반 화면 공유 주기 계산 등의 기술을 적용하였다. 이러한 기술을 통해 고해상도의 VR 콘텐츠를 실시간으로 전송하는 데 따른 대역폭과 네트워크 지연 문제를 해결하였다.

본 연구에서 개발한 기술은 고령자의 치료 경험을 혁신하고, 자발적 참여를 유도하며, 다양한 치료 콘텐츠를 제공하는 데 기여할 수 있다. 또한, 경제적 및 산업적 효과를 통해 의료비 절감과 새로운 생태계 창출에 기여할 것이다. 접근성 강화를 통해 다양한 활용 분야에서의 적용 가능성을 높이며, 글로벌 시장에서도 경쟁력을 갖출 수 있는 기술적 선점을 달성할 수 있다.

향후 연구에서는 개인 사용 기록의 보관 및 관리 시스템 개발, 방문 서비스 시 외부 매니지먼트 앱 또는 클라우드 시스템 구축, HMD 기기간 상호작용 구현 등의 추가적인 연구가 필요하다. 이를 통해 VR 기술을 활용한 노인 돌봄 및 치매 예방 훈련의 효과를 극대화하고, 더욱 혁신적인 치료 환경을 제공할 수 있을 것이다.

4. 결론

본 연구에서는 다수의 HMD 기기들을 원격으로 제어하고 모니터링하는 시스템을 개발하였다. 동일 네트워크 환경에서 다수의 HMD를 효율적으로 제어하기 위해 제어 명령을 순차적으로 전송하였다. 관리자가 HMD 기기들의 효율적인 모니터링을 위해 캡쳐된 화면 이미지를 전송하고 이를 위해 버퍼 크기를 사전에 확보하여 매니지먼트 앱의 메모리 낭비를 방지하였다. 해당 기능들의 검증하기 위해서 접속 가능한 HDM 기기들의 개수, 제어 명령 동시 전송 시간, 화면 모니터링 시간을 측정 및 평가하였다. 측정 결과에서 다수의 HMD 기기들의 제어는 평균 0.15초가 모니터링은 평균 0.81초가 소요되는 것으로 측정되었다.

References

  1. Jina Han, "The relationship between dementia education and preventive behaviors: The mediation of fear and knowledge of dementia", Korean Journal of Health Education and Promotion, Vol. 40, No. 2, 2023.
  2. Young-June Kim, Jin-hong Park, Young-Suk Cho, and Keum-Sook Kim, "The effect of Congitive Rehabilitation Program Using Virtual Reality (VR) Contents on Cognitive function, Depression, Upper Extremity Function and Activities of Daily Living in the Elderly", Journal of Convergence for Information Technology, Vol. 10, No. 8, 2020.
  3. Xue Hua Quan and Jung Ho Jung, "A Study on Content Design for Cognitive Function Improvement in VR-based Mild Cognitive Impairment", Korea Institute of Design Research Society, Vol. 8, No. 3, 2023.
  4. Meta Quest, "https://developer.oculus.com/", Available: 2024.08.09
  5. Hyun Jeong Kim, "A Research on UX (User Experience) of VR Game for Exercise by the Elderly Including the Middel-aged", Journal of Korean Society of Design Culture, Vol. 26, No. 4, 2020.
  6. Dongjo Kim and JungYoon Kim, "A Study on the Integration of VR-LED Control Using HMD-Based Controllers", Journal of Next-generation Convergence Information Services Technology, Vol. 13, No. 3, 2024
  7. EDUFORALL, "Meta Quest Multi-Control and Mirroring", URL: https://blog.naver.com/oksh inhoo/223410535016, Access: 2024.08.25
  8. VENTA VR, "VENTA CMS 3.0", URL: https://ventavr.com/cms/, Access: 2024.08.25
  9. Oculus Meta Quest 2, "https://www.meta.com/kr/en/quest/products/quest-2/", Available: 2024.08.09.