본 논문은 타일드 디스플레이에서 여러 사용자들이 천리안 해양관측 위성영상을 관측 및 분석하기 위하여 다중 입력 장치를 활용한 멀티스케일 인터랙션 기반의 가시화 시스템을 설명한다. 이 시스템은 멀티터치 스크린, 키넥트 동작 인식, 모바일 인터페이스를 제공하여 여러 사용자들이 타일드 디스플레이 화면에 근접하거나 원거리에서 다양한 인터랙션을 통하여 한반도 중심의 해양 환경 및 기후 변화 정보를 효과적으로 관측할 수 있다. 천리안 해양관측 위성영상은 고화질의 메모리양이 많아서 원본 영상을 작은 영상으로 분할한 멀티레벨 이미지 로드 기법을 사용하여 시스템의 부하를 줄이면서 사용자의 다양한 조작에서 타일드 디스플레이 화면에 매끄럽게 출력되도록 하였다. 이 시스템은 다중 사용자의 키넥트 제스처와 터치 포인트 입력 및 모바일 장치로 부터 입력된 정보를 일반화 처리하여 타일드 디스플레이 응용프로그램에 공통적으로 활용 가능한 다양한 인터랙션을 지원하였다. 또한 특정 날짜에 해당하는 시간 단위의 해양관측 위성 영상이 순차적으로 화면에 출력되며, 여러 사용자들이 동시에 위성영상을 자유롭게 확대 축소하고 상하좌우로 이동하며 다양한 기능의 버튼을 누르는 등의 인터랙션을 할 수 있도록 하였다.
This paper describes a multi-scale user interaction based tiled display visualization system using multiple input devices for monitoring and analyzing Geostationary Ocean Color Imager (GOCI) observation satellite imagery. This system provides multi-touch screen, Kinect motion sensing, and moblie interface for multiple users to control the satellite imagery either in front of the tiled display screen or far away from a distance to view marine environmental or climate changes around Korean peninsular more effectively. Due to a large amount of memory required for loading high-resolution GOCI satellite images, we employed the multi-level image load technique where the image was divided into small tiled images in order to reduce the load on the system and to be operated smoothly by user manipulation. This system performs the abstraction of common input information from multi-user Kinect motion and gestures, multi-touch points and mobile interaction information to enable a variety of user interactions for any tiled display application. In addition, the unit of time corresponding to the selected date of the satellite images are sequentially displayed on the screen and multiple users can zoom-in/out, move the imagery and select buttons to trigger functions.
사회가 빠르게 발전하고 다변화되면서 현재 많은 분야에서 다양한 현상들을 분석하고 예측하고 있다. 특히 최근 폭설, 집중호우와 이상 고온 현상 등 이상기후 징후의 발생이 빈번해짐으로 인하여 기상 현상을 감시하고 분석 및 예측하는 것은 필수적이고 매우 중요한 작업이 되었다. 이에 따라 국가기상위성센터, 기상청, 해양연구원 등의 기관에서는 기상/해양 관측위성 영상을 이용하여 위험 기상을 조기 탐지하고, 초단기 실황 예보 지원기술, 태풍분석기술 등을 개발하고 있다.
이러한 환경이나 기후 및 기상 현상 변화를 분석하기 위해서는 많은 전문가들의 참여가 있어야하며 동시 접근적이고 인터랙션이 가능한 협력적 분석 환경이 제공되어야 한다. 하지만 현재 위성 관측 영상 데이터 분석 기술은 대부분 단일 사용자 인터랙션을 기반으로 한 형태이다. 본 연구에서는 기상 분석 환경에 보다 더 효율적이고 유동적인 대형 타일드 디스플레이에 다중 입력 장치를 사용한 다중 사용자의 협력 환경을 제공하기 위한 해결책을 제시한다.
본 연구에서는 타일드 디스플레이와 멀티터치 스크린, 키넥트, 모바일 장치 등 다양한 인터페이스를 사용하여 여러 명의 사용자들이 동시에 인터랙션이 가능한 다중 사용자 협력 환경을 구축하였다. 확장 가능한 대형 고해상도 타일드 디스플레이 시스템은 기존 단일 디스플레이에서 표현할 수 없었던 고해상도 그래픽 렌더링이 용이하며 보다 실감나는 고화질의 영상을 확장된 디스플레이에 표현함으로써 많은 사용자들에게 충분한 가시성을 제공한다. 이러한 점 때문에 타일드 디스플레이는 가상 시뮬레이션, 과학적 가시화, 교육, 게임 등 다양한 분야에서 활용되고 있다.
하지만 매우 큰 화면 크기와 고해상도의 타일드 디스플레이에서는 일반 사람들에게 익숙한 키보드와 마우스로는 사용자 인터랙션이 쉽지 않다. 그 이유는 키보드와 마우스가 고정된 위치에서만 사용이 가능하기 때문에 디스플레이로부터 멀리 떨어져서 쓰기 어려우며, 가상 환경을 돌아다닌다거나 혹은 특정 영역에서만 상호작용을 하는 등 타일드 디스플레이에서 공간적인 다양성과 유동성을 활용한 인터랙션을 수행하기 어렵기 때문이다. 따라서 키보드나 마우스 이외에 다양한 입력 장치를 통해 보다 유동적이고 효과적인 인터랙션을 지원해야 할 필요가 있다.
그림 1은 대형 멀티터치 패널을 장착한 4x3 타일드 디스플레이에서 세 명의 사용자들이 키넥트와 멀티터치 스크린 및 모바일 인터페이스를 동시에 사용하여 고해상도의 천리안 해양관측 위성영상과 동시에 인터랙션 하는 모습을 보여주고 있다. 이렇게 다양한 입력 장치의 활용으로 각 장치의 장단점을 상호 보완한 다중 입력 환경을 구현 할 수 있다. 본 가시화 시스템은 다중 사용자 다중 입력 장치의 일반화된 처리 방식을 기반으로 하여 사용자들이 화면에서 멀리 떨어져있거나 가까이 있거나 상관없이 쉽게 인터랙션이 가능한 멀티스케일 인터랙션을 지원한다.
본 시스템은 사람들에게 친숙한 터치스크린을 활용하여 직관적이고 다양한 인터랙션들을 제공한다. 하지만 터치는 스크린 바로 앞에서만 사용가능하다. 키넥트 동작 인식의 경우 두 명 사용자들이 동시 인터랙션이 가능하며 사용자들이 입력 장치를 들고 있지 않아도 되는 편리함을 제공한다. 하지만 키넥트는 카메라 인식 범위 내에 있어야 하는 공간적 제약이 있다. 모바일 장치의 활용으로 공간적 제약으로부터 자유로운 다중 사용자 인터랙션 환경을 제공해준다. 또한 모바일 방식은 기본적인 인터랙션 지원 외에 추가적인 정보 및 데이터 활용을 제공해 줄 수 있다.
본 연구에서는 확장 가능한 클러스터 컴퓨팅 기반의 대형 타일드 디스플레이 시스템과 대형 멀티터치 스크린, 키넥트 동작 인식, 모바일 인터페이스를 이용하여, 다중 사용자 인터랙션 기반의 해양관측 위성영상 가시화 시스템을 설계하고 구현함으로써 보다 편리하고 효율적이며 유동적인 협력적 기상현상 분석 환경을 제공하는 것을 목표로 하였다. 본 논문에서는 먼저 대형 디스플레이에서 사용자 인터랙션에 관련된 연구를 살펴보고, 전체적인 가시화 시스템의 설계와 구현 내용을 설명한다. 그리고 다중 입력 장치를 사용한 멀티 스케일 사용자 인터랙션의 설계와 구현을 기술하고 결론과 추후연구를 제시한다.
타일드 디스플레이에 관한 연구는 2000년대 초반부터 시작되었는데 주로 초창기에는 시스템 구축과 타일드 디스플레이에 초고해상도 이미지를 분할해서 보여 주는 분산 렌더링에 관한 연구가 많았다[1,2]. 초기 타일드 디스플레이에서는 기존의 입력 장치인 마우스와 키보드를 사용한 인터랙션을 지원함으로써 다수 사용자의 타일드 디스플레이 시스템의 활용을 제한하였다. 이후 타일드 디스플레이를 다양하게 활용하는 방법에 대한 논의가 시작되면서, 타일드 디스플레이에서 사용자 인터랙션에 관한 연구가 많이 진행되었다.
사용자가 타일드 디스플레이 앞에서 직접적인 움직임 (Physical Movement)[3], 레이저 포인터[4], 3차원 자이로 마우스 또는 닌텐도사의 위모트(Wiimote) 입력장치[5] 등 다양한 연구가 시도되었다. 또한 2009년도 이후 스마트폰의 보급이 확산되면서, 모바일 장치[6, 7]나 멀티터치 스크린[8, 9], 그리고 최근 마이크로소프트사의 키넥트 같은 컴퓨터 비젼 기술을 이용한 동작 인식 기반의 인터랙션 방법[10] 등 상당히 폭넓게 연구되었다. 자연스럽게 여러 사용자들 이 다수의 입력 장치를 사용하여 동시 인터랙션 상황이 고려되기 시작했고 협업에 대한 연구도 나타났다.
이미지월드는 지정된 디렉토리 안의 이미지를 타일드 디스플레이 화면 좌측에 세로로 배열된 리스트에서 이미지를 화면 중앙으로 꺼내어 자유롭게 위치를 이동하고, 크기를 확대 및 축소 조절하며, 방향을 회전시킬 수 있다. 키넥트를 사용하여 사용자가 오른 손을 내밀어 상하 좌우로 움직이면 마커가 따라서 움직인다. 앞으로 뻗으면 마터의 모양이 선택으로 바뀌고, 선택된 이미지를 상하좌우로 움직일 수 있다. 양 손을 뻗어서 수평방향으로 이동하면 이미지 확대/축소가 되며, 수직방향으로 이동하면 이미지 회전이 된다[10].
비비드(Vivid Interactive)사의 2x2 비디오월을 사용한 키넥트 인터랙션 기술은, 3차원 공간 속에서 키넥트를 통해 입력받은 양 손의 데이터로 카메라 콘트롤을 구현하여, 러시아 모스크바의 3차원 파노라마 영상을 탐색할 수 있게 하였다[11]. 오른쪽 손만 뻗어서 움직이는 경우 손의 움직임에 따라 손이 미는(이동하는) 반대 방향으로 카메라가 회전한다. 양 손을 모두 뻗어서 양 옆으로 벌리면 현재 보여 지는 화면이 확대되고 양 손을 안쪽으로 모으면 현재 화면이 축소된다.
로얄공대(Royal Institute of Technology)에서 개발한 프로그램에서는 대형 프로젝션 스크린에 키넥트를 사용하여, 손을 뻗지 않은 상태로 움직이면 구글지도 위에서 단순히 포인터만 움직이게 한다. 손을 앞으로 뻗은 상태에서는 지도 위에 손 모양의 포인터가 물체를 잡은 듯 한 쥐어진 모습으로 바뀌고, 이 상태에서 좌우 상하로 움직이면 맵이 이동한다. 양 손을 뻗은 상태로 양 옆으로 벌리면 지도가 확대, 안쪽으로 다시 모으면 지도가 축소된다[12].
현재 국내외적으로 멀티터치 스크린 패널의 활용이 급속도로 증가하면서 터치 시장 규모도 함께 증가하고 있으며 이와 더불어 다중 사용자 환경을 위한 대형 멀티터치 디스플레이 시스템도 많아지고 있다.
핀란드 소재 인터랙티브 디스플레이시스템 업체인 멀티택션(MultiTaction)에서는 호주 퀸즈 대학에 큐브(The Cube)라 불리는 세계 최대 규모의 다중 사용자 LCD 멀티 터치 디스플레이를 설치하였다[13]. 광학 이미징 기술을 바탕으로 멀티터치와 터치제스처 인식 기능까지 구현하였다. 멀티택션셀 (MultiTaction Cell) 기술로 터치 포인트를 무제한으로 수용할 수 있으며 초당 200프레임의 초고속 응답 방식으로 구현되었다. 다수의 터치에도 빠르게 응답 가능하게 하기 위하여 인텔 코어 2세대의 프로세서를 장착하였고 사용자로 하여금 아주 부드럽고 매끄러운 인터랙션이 가능하도록 구현되었다.
일리노이주립대 전자시각화연구소(UIC Electronic Visualization Laboratory)는 18개 LCD 패널, 20-피트 크기의 사이버 커몬(Cyber-Commons) 멀티 터치 시스템에 다양한 게임과 응용프로그램을 개발하였다[14]. 스타워즈를 배경으로 한 실시간 전략 게임인 플릿커맨더(Fleet Commander)는 플레이어들이 각자 화면 끝에서 전함을 선택하고 드래그하여 내보낼 수 있다. 그리고 전함을 손가락으로 클릭해서 이동방향과 행동지침, 사격방향 등을 설정해주어서 게임 플레이 한다. 트론(Homage to Discs of Tron) 게임은 터치 제스처를 이용하여 에너지 구체를 상대방에 발사하면 다른 쪽 사용자는 자신이 서있는 영역에 공이 들어오는 것을 막기 위하여 양손을 이용하여 방어도구를 생성하여 공을 받아쳐내고 서로 주고받고 또는 공을 더 생성하여 공격할 수 있다.
타일드 디스플레이 같은 멀티 디스플레이나 대형 디스플레이에서 모바일 인터페이스의 사용은 장치에 내장된 카메라 위치를 추적하여 위치변화로 디스플레이를 제어하는 방식[15], 기울기 및 가속도센서 기반의 사용자 행위를 인식하는 방식[16,7], 스마트폰의 터치 패널에 제스쳐를 사용한 방식[7], 또는 모바일 장치에 버튼, 슬라이더, 다이얼 등의 그래픽 사용자 인터페이스를 사용한 방식[6] 등이 대표적이다.
곤충월드 (Insect Safari) 타일드 디스플레이 응용프로그램은 가상현실 기술로 현실과 유사한 모습으로 숲, 들판, 습지 등 다양한 지역에 다양한 곤충들을 보여준다. 곤충월드는 매우 넓은 가상환경으로 되어있으며, 여러 사용자들은 모바일 인터페이스를 이용해 자유롭게 환경을 탐험하고, 다양하게 움직이는 곤충들을 잡거나, 채집한 곤충의 정보를 볼 수 있다. 사용자는 아이폰을 좌우로 틸트(Tilt)하여 네비게이션을 하도록 하였고, 손을 흔들거나, 잠자리채처럼 위에서 아래로 내리는 제스쳐를 사용하여 곤충을 채집할 수 있다[7].
그림2는 타일드 디스플레이 기반의 다중 사용자 멀티스케일 인터랙션을 지원하는 천리안 해양관측 위성 영상 가시화 시스템의 전체적인 구조도를 보여준다. 이 시스템은 타일드 디스플레이 분산 시스템에서 동작하는 iTile 프레임워크[17] 기반의 타일드 디스플레이 분산 처리 모듈, 장면(Scene) 통합 관리 모듈, 다중 사용자 입력처리 모듈로 구성되어 있다. iTile 프레임워크 분산 처리 모듈에서는 동적인 객체의 변화를 마스터와 각 슬레이브가 동일하게 일치시켜서 타일드 디스플레이 시스템 화면의 동기화를 한다. 동기화는 끊임없이 지속적으로 이루어져야 하므로 업데이트 콜백(Callback)을 통하여 반복적인 동기화가 가능하다.
장면 (Scene) 통합 관리 모듈은 멀티 레벨 위성 영상 가시화를 위한 쿼드 트리 형태의 이미지 노드와 각종 버튼 등 그래픽 사용자 인터페이스를 통합 관리하는 모듈이다. 다중 사용자 입력처리 모듈에서는 키보드와 마우스를 위한 기본 제어자(Manipulator)와 멀티 스케일 사용자 인터랙션을 지원하는 멀티 터치 핸들러, 키넥트 핸들러, 모바일 매니져로 구성되어있고, 입력 정보를 통합하여 일괄적으로 입력에 따른 이벤트 처리를 한다. 모바일 인터페이스에서 이벤트 처리해서 모바일 매니저에서 통합된 후 타일드 디스플레이의 마스터노드에 보내어지는 방식으로 인터랙션 처리가 이루어진다.
타일드 디스플레이는 여러 대의 PC와 디스플레이를 연결하여 고해상도 대형 디스플레이를 제공하며 확장 가능하기 때문에 낮은 비용으로 더 저렴하게 구성 가능하다. 이 연구에서 사용한 4x3 타일드 디스플레이는 12대의 LCD모니터와 1대의 마스터 컴퓨터, 6대의 슬레이브 컴퓨터로 구성되어있다. 타일드 디스플레이는 타일 형태로 배치된 여러 개의 디스플레이를 개별 시스템에서 처리하여 일부분을 형성하고, 이를 조합하여 완성된 하나의 화면을 구성해주는 것으로 단일 시스템에서의 데이터 처리량의 한계를 극복한다.
마스터 컴퓨터는 각 슬레이브 화면 처리 정보가 담긴 스크립트를 읽고 분석하여 그 정보에 맞게 각 슬레이브 컴퓨터의 뷰포트를 설정하고, 화면 동기화와 여러 슬레이브에 걸쳐 실행되는 각 프로그램들의 윈도우 및 뷰포트 정보를 관리한다. 각 슬레이브 컴퓨터는 2개의 모니터와 연결되어 공유된 응용프로그램을 실행하고 마스터 컴퓨터로부터 부여받은 뷰포트의 가상 카메라 정보들을 토대로 화면 렌더링을 한다.
이 시스템은 타일드 디스플레이 환경을 위해, Open Scene Graph 3D그래픽 라이브러리를 기반으로 고안된 iTile 프레임워크[17]를 사용하여 구현되었다. iTile 프레임워크는 단일 마스터의 화면을 다수의 슬레이브로 분할하는 하여 출력하는 기능을 수행할 수 있도록 한다. 또한 마스터의 관측 위치 및 방향, 영역에 관한 정보를 슬레이브에 전달하여 매 프레임마다 동기화 한다. 그리고 3차원 공간 내에 구성된 구조물 전체 혹은 일부의 정보 변화에 대한 이벤트가 발생하면 이에 수정된 정보를 동기화 한다.
천리안 해양관측 위성영상 가시화는 우리나라 지역의 최초 정지 기상위성인 천리안의 고화질 원본 이미지를 한국해양연구원으로부터 제공받아 타일드 디스플레이에 적합하게 멀티레벨로 분할하여 가시화하였다. 본 가시화에서는 최근 몇 개월간 관측된 위성영상을 보여주는데, 선택된 날짜에 해당하는 오전 아침 시간부터 오후 밤 시간까지의 총 8개의 사진을 애니메이션으로 보여준다. 사용자가 시간을 직접 선택하여 해당 시간의 정지 위성사진만을 볼 수도 있으며, 애니메이션의 재생 및 정지를 할 수 있다. 또한 사용자는 멀티터치 및 키넥트 제스쳐를 통하여 자유롭게 위성영상의 확대, 축소, 이동이 가능하다.
천리안 해양관측 위성영상은 하루당 시간 단위로 8개씩 되는 고화질의 위성사진들로, 몇 개월간 관측한 양을 다 모아서 렌더링하려면 메모리의 양이 엄청나게 늘어난다. 타일드 디스플레이 시스템 환경에서 이러한 대용량 고화질 이미지를 화면에 렌더링하려면 아무리 그래픽 성능이 좋다 하더라고 이미지 메모리가 너무 크거나 계속해서 늘어나 한계에 부딪칠 수밖에 없다. 이에 따라, 본 연구에서는 이러한 어려움을 해결하고 고해상도 위성영상을 타일드 디스플레이 화면에서 매끄럽게 보여주기 위하여, 영상을 레벨에 따라 1개, 4개, 16개씩 분할하여 늘어나는 쿼드트리 형태로 구성하였다[18]. 그리고 단계에 따라 해당 영역에 보이는, 즉 분할된 이미지만을 실시간으로 로드하여 렌더링 하는, 멀티 스케일 이미지 로드 기법을 개발하여 구현하였다.
이미지 피라미드란 하나의 원본 영상을 원하는 단계까지 다운 샘플링하여 생성한 영상들의 집합이다. 이미지 피라미드는 두 가지 방법이 있다. 먼저 가우시안(Gaussian) 알고리즘은 이미지 피라미드에서 다운샘플링 영상을 만드는데 이용하는 기법이며, 라플라시안(Laplacian) 알고리즘은 피라미드 아래쪽에 있는 영상으로 부터 업 샘플링 영상을 재구성 할 때 사용되는 기법이다. 본 연구에서 이미지 확대/축소를 위해 선택한 기법은 3차원 공간상에서 카메라를 이용한 스케일링이다. 즉, 이미지 확대 축소를 직접 조절하는 대신 카메라를 이동시켜 비슷한 효과를 주는 기법으로 Z축으로 일정 구간을 정하고, 카메라를 이동시켜 이미지 확대 축소 효과를 주다가, 카메라가 일정구간의 끝에 도달하면 다음 레벨의 이미지로 전환한다.
사용자가 고화질의 이미지를 확대/축소하는데 있어서 처음부터 고화질의 이미지를 띄우는 것은 매우 비효율적이다. 따라서 이미지 피라미드를 구성해 확대 또는 축소할 때, 축소된 전체 이미지를 볼 때에는 저해상도의 하위레벨 이미지를 로드하고, 확대 인터랙션이 계속 일어난 후 일정 거리 이상 확대되어 이미지가 흐려졌을 때 다음 레벨의 고해상도 이미지를 로드 하는 것이 보다 효율적인 이미지 가시화 환경을 제공한다.
하지만 단순히 전체 이미지를 그리는 방식은 화면에 보여 지는 관측(View) 영역이 512x512라고 한다면 최상위 레벨에서는 2048x2048 사이즈의 이미지를 로드해야 하는데 실제로 보이는 관측 영역은 고해상도 원본 이미지 사이즈, 즉 2048x2048,의 1/16 밖에 되지않지만 나머지 부분도 쓸데없이 렌더링을 해야 하는 문제점이 있다. 이를 해결하기 위하여 다음 레벨의 고해상도 이미지로 넘어 갈 때 화면에 보여 질 이미지의 부분을 알아낸 다음 레벨의 고해상도 이미지 전체를 로드 하는 것이 아닌 해당 부분만을 로드해야 한다. 그림 3은 이미지를 확대할 때, 관측 영역에 해당하는 이미지의 다음 레벨 타일 이미지를 로드하는 것을 보여준다.
본 가시화에서는 원본 고해상도 이미지를 타일화시켜서 쿼드트리 노드 형태로 분할하여 구성한 후, 카메라가 실시간으로 보고 있는 관측(View) 영역에 해당하는 노드만 즉각적으로 이미지를 로드 하여 렌더링 하는 방식으로 구현하였다. 사용자는 카메라의 시점을 자유롭게 이동시킬 수 있는데, 카메라가 바라보고 있는 관측 영역의 외곽 좌표를 실시간 업데이트하여 좌표 범위 안으로 들어오는 노드가 있는지 프레임 단위로 검사한다. 발견된 노드는 자체적으로 해당 노드 자신만이 가지고 있는 고유 경로 상에 위치한 이미지를 로드 하여 렌더링 한다. 반면 이미 로드한 이미지가 관측 영역 바깥으로 나가게 되면 그 즉시 해당 노드는 자신이 로드 한 이미지의 메모리를 해제시킨다.
카메라 관측(View) 영역이 이동함에 따라, 모든 쿼드트리 노드들은 각각 자신의 이미지를 로드하고 해제하기를 반복한다. 그런데 사용자 입장에서는 이렇게 타일화된 이미지가 실시간으로 로드 되는 것을 인지하지 못하고 한 장의 이미지만이 렌더링되는 것처럼 매끄러운 이미지 화면 전환을 경험 할 수 있다. 카메라가 확대/축소하는 경우에는 쿼드트리 노드는 단계별로 이미지를 바꿔가며 로드 하는데, 이것은 카메라와 이미지 사이의 일정 거리를 실시간으로 점검하여 거리가 가까워질수록 더욱 상위 단계의 고화질 이미지를 불러오는 방식으로 구현되었다. 이 때에도 마찬가지로 이전에 보여 지던 단계의 이미지는 메모리 해제시키고 지금 보고 있는 단계의 이미지는 실시간으로 불러오는 방식으로 이루어진다.
천리안 해양관측 위성영상 가시화 응용프로그램은 날짜 단위로 보여주는데, 해당 연도의 1월 1일부터 최근 날짜까지의 총 날(Day) 만큼 쿼드트리 형태의 노드들을 생성하여 사용자가 선택하는 날짜의 노드만을 활성화시키는 방법을 사용하였다. 이 응용프로그램을 가장 먼저 실행하면 가장 최근 날짜의 영상이 로드 되고, 날짜 선택 기능에 의해 사용자가 다른 날짜로 변경하는 경우 현 노드의 이미지를 메모리 해제하고 더 이상 아무것도 하지 않는 노드로 비활성화 한다. 그리고 새로 선택된 날짜의 이미지 노드는 활성화 되어, 자신이 관측(View) 영역 안에 들어와 있는지 그리고 이미지를 로드해야 하는지 등의 검사를 하고 렌더링하였다.
본 가시화 시스템은 다중 사용자 다중 입력 처리 프레임워크를 기반한 멀티 스케일 인터랙션을 설계 및 구현하였다. 키보드와 마우스의 기본 입력 정보를 포함하여, 키넥트로 부터 들어오는 골격(Skeleton) 정보와 제스처 또는 모션 정보, 터치패널을 통해 들어오는 터치 이벤트 (N-point, Drag) 정보 그리고 모바일 디바이스를 이용한 터치 및 센서를 통한 제스쳐 정보들 모두 입력관리 프로세스에서 종합 관리한다. 따라서 어떠한 입력 장치를 이용하든 응용프로그램은 일관성 있게 동작한다.
터치패널은 손으로 접촉하면 센서에 의해 그 위치를 입력받도록 하는 입력 장치이며, 화면 가까이에서 손으로 직접 터치하기 때문에 입력에 대한 손실이 없고 간단하고 직관적이다. 또한 입력되는 포인트 수에 따라 출력되는 이벤트를 다르게 구성할 수 있다. 현재 사용 중인 터치스크린은 12 포인트(Points) 까지 입력이 되는데, 따로 터치 입력 정보만으로는 사용자를 구별하기가 어렵기 때문에 여러 사용자가 동시에 터치하는 것을 터치된 지점의 거리로 따져 식별하였다. 그림 4에서 보이듯이 멀티 터치를 통해 구현한 인터랙션은 다음과 같다.
· 버튼 선택: 한 손가락으로 1 포인트(Point) 터치 클릭 하면 버튼 선택 이벤트를 처리한다. 화면상의 버튼을 선택하여 재생/정지, 또는 날짜이동 등의 이벤트를 발생 시킬 수 있다.· 상하좌우 이동: 1 포인트(Point) 터치된 상태에서 드래그 하면 손가락을 따라 카메라를 이동시켜 사용자가 보는 영역을 자유롭게 이동하는 기능을 수행하도록 하였다. 만약 두 사람이 카메라를 이동시킬 경우는 늦게 입력된 터치 입력 위치에 기다리라는 마커를 띄우고 카메라 제어는 먼저 터치 입력된 사용자만이 사용할 수 있게 하여 카메라 제어에 대한 충돌을 피하였다.· 줌 인/줌 아웃 : 2 포인트(Point) 입력으로는 두 손가락이 서로 가까워지도록 모으면서 드래그하면 카메라가 줌 인(Zoom in)이 되며 반대로 두 손가락을 서로 양 바깥쪽으로 드래그하면 카메라가 줌 아웃(Zoom out)되도록 하였다. 만약 두 사람 이상이 동시에 입력하는 경우에 먼저 입력된 2 포인트(Point)에 카메라 제어권을 줬으며 늦게 입력된 터치 입력에는 기다리라는 마커를 띄어서 카메라 제어에 대한 충돌을 피하였다.· 날짜 변경 : 3 포인트(Point) 터치 입력 상태에서 사용자 기준 좌측 드래그하면 출력되는 위성이미지의 해당 날짜가 하루 앞으로 넘어가고 우측 드래그하면 날짜가 하루 뒤로 넘어가도록 하였다. 또한 위에서 아래로 하였을 경우 달이 전달로 넘어가며 반대로 아래에서 위로 하면 다음 달로 넘어가게 하였다. 어느 한 사용자가 카메라의 제어권을 가지고 있는 상태라면 날짜 이동에 대한 이벤트는 사용 가능하지 못하게 하였다.
키넥트 동작 인식 장치를 이용하여 타일드 디스플레이 화면에서 조금 떨어진 상태에서 사용자 제스처 인식을 통해 인터랙션이 가능하다. 키넥트는 사용자가 직접 입력 장치를 가지고 사용하지 않아도 다양한 조작이 가능하다. 각 골격에 대한 정보를 실수 형태의 데이터로 받아들여 원하는 동작에 대해 정의를 하면 사용자는 그 동작을 통해 이벤트를 실행 할 수 있다. 동작에 대한 정의는 정해진 것이 아니라 어떻게 정의 하느냐에 따라 그 방법이 무궁무진하다. 본 시스템에서는 인터랙션 방식의 일관성을 위하여, 그림 5에서 보이는 것 같이 키넥트 인터랙션을 설계하였다.
· 마커 포인터 이동: 키넥트는 장치에 사용자가 인식이 되면 타일드 디스플레이 화면에 개인 마커 포인터가 나타난다. 사용자 구분을 위해 서로 다른 색상의 마커가 나타난다. 사용자는 왼손을 가만히 내린 상태에서 오른손을 이동시키면 오른손의 움직임에 따라 마커 포인터가 자유롭게 따라 움직인다. · 버튼 선택: 사용자의 포인터가 버튼이 있는 곳에 위치 시킨 상태에서 왼손을 앞으로 뻗으면 버튼이 선택되고, 그에 따른 이벤트 처리가 되도록 하였다.· 상하좌우 이동: 사용자가 왼손을 앞으로 내민 상태에서 상하좌우로 이동시키면 카메라가 보는 영역이 이동되도록 하였다. 만약 한 사람이 이미 카메라를 이동시키고 있는 경우에 다른 사람은 이동 할 수 없게 막음으로써 충돌을 피했다. · 줌 인/줌 아웃: 사용자가 양 손을 앞으로 뻗은 상태에서 양손을 오므리면 카메라 줌 인, 양 손을 바깥으로 벌리면 카메라 줌 아웃이 되도록 하였다. 만약 한 사람이 이미 카메라 줌 인 아웃을 하고 있으면 다른 사람은 줌을 할 수 없게 하여 충돌을 막았다.· 날짜 변경: 사용자가 왼손을 옆으로 뻗은 상태에서 좌우 움직임으로 일 변화가 가능하며 상하 움직임으로 월 변화가 가능하다.
모바일 인터페이스를 이용하여 멀티터치와 키넥트처럼 다중 사용자의 직접적인 입력으로 사용할 수 있으며, 응용프로그램과 통신하여 추가적인 정보를 모바일 장치에 출력해 줄 수 있다. 이것은 다중 사용자의 개념에 맞춰 사용자들이 하나의 대형 타일드 디스플레이를 공유하지만 추가적인 기상정보를 위한 입출력 관련 인터랙션은 사용자 개인의 모바일을 통해 이루어지기 때문에 사용자들과 응용프로그램과의 상호작용에 있어서 사용자들 간에 투명성을 제공 해준다.
또한 응용프로그램으로부터 대형 타일드 디스플레이와의 인터랙션으로 전송 받은 현재 디스플레이에 표시되고 있는 해양관측 위성영상의 스크린 샷 이미지 파일이나 특정 지역의 날씨 기상정보를 모바일에 저장하여 사용자가 타일드 디스플레이를 벗어나도 이러한 정보를 소유하고 있다가 나중에 재 열람 할 수 있다. 그림 6에서 보이듯이 모바일 장치를 이용한 입출력 인터랙션은 두 가지 모드로 다음과 같이 연동되어 있다.
· 모드 전환: 모드 전환 버튼을 누르면 모바일 인터페이스의 화면 터치 인터랙션이 전환된다. 마커모드 시 마커를 이동시킬 수 있고 이미지모드 시 위성 영상을 제어할 수 있다. · 마커 포인터 이동: 마커모드에서 모바일 터치패널을 상하좌우 드래그하면 타일드 디스플레이 화면에 사용자의 개인 마커를 움직인다.· 버튼 선택: 모바일 패널에 더블 탭을 하면 사용자 개인 마커가 있는 위치가 선택된다.· 상하좌우 이동: 이미지모드에서 모바일 터치패널을 상하좌우 드래그하면 타일드 디스플레이의 위성 영상을 움직인다.· 줌 인/줌 아웃: 이미지 모드에서 모바일 터치패널을 2-포인트(Point) 드래그하면 (즉, Pinch Gesture) 위성 영상을 줌 인/줌 아웃 한다.· 날짜 변경: 모바일 화면의 양 옆에 ‘ < ’, ‘ > ’ 버튼을 누르면 날짜가 변경된다.· 데이터 저장: ‘저장’ 버튼을 누르면 사용자 개인 마커가 찍혀 있는 지역의 현재 기상정보를 저장한다. ‘스크린샷’ 버튼을 누르면 현재 타일드 디스플레이에 출력되고 있는 위성영상이 저장된다.
본 연구는 분산 렌더링 시스템을 기반으로 하는 대형 고해상도 타일드 디스플레이에서 다중 입력 장치를 사용하여 사용자들이 화면에서 멀리 떨어져 있거나 가까이 있거나 상관없이 쉽게 인터랙션이 가능한 멀티스케일 인터랙션 기술을 제시하였다. 제안한 멀티스케일 인터랙션 방식은 기존의 단일 입력 장치에서 벗어나서 멀티터치 패널, 키넥트 동작인식, 모바일 인터페이스를 함께 사용함으로써 유동적인 입력이 가능하게 하여, 대형 디스플레이에서 사용자들로 하여금 이전보다 효과적인 방식으로 인터랙션을 할 수 있다. 또한 다중 사용자의 입력을 지원하여 여러 사람이 함께 동시에 인터랙션하면서 기상데이터를 분석할 수 있는 협업 환경을 제공하였다.
또한 본 시스템은 이미지 피라미드에 기반을 둔 레벨별 멀티스케일 이미지 로드 방식을 취하여 고화질의 천리안 위성영상을 사용자들의 멀티스케일 인터랙션에 따라 매끄럽고 동적으로 가시화 할 수 있도록 하였다. 결과적으로 타일드 디스플레이에서 위성 영상을 다중 사용자의 인터랙션 방식을 통해 관측할 수 있게 함으로써, 사용자들이 원하는 한반도 주변의 전체적인 기상 정보와 지역 날씨 정보, 지형 정보 등을 효과적으로 제공받을 수 있게 하였다. 멀티스케일 인터랙션 방식은 고해상도 가시화 시스템뿐만 아니라 여러 사람의 협력을 요하는 다른 응용프로그램에서도 효과적으로 적용이 가능할 것으로 보인다.