가상공간에서의협업을위한이종플랫폼간인터페이스의설계및제작 * 이석희, 이영호, 우운택광주과학기술원 U-VR 연구실 sheelee, ylee, wwoo @kjist.ac.kr Interface Design of Heterogeneous Platforms for Networked collaboration Seokhee Lee, Youngho Lee, Woontack Woo KJIST U-VR Lab 요약가상현실기술의발전과함께몰입형콘텐츠에대한관심이증가하고있다. 또한, 네트웍의급속한보급과함께실시간으로원격지에서상호작용할수있는환경이구축되고있다. 하지만다양한인터렉션을지원하는이종플랫폼간협업환경을구축하는연구는아직미흡하다. 따라서본논문에서는이러한문제점들을해결하기위해서이종플랫폼간에다양한상호작용을정의할수있는가상현실프래임워크및네트워크인터페이스를제안한다. 먼저 5W1H 형태의상호작용전달프로토콜을정의하고가상현실프레임워크의컴포넌트로서디바이스매니저, 인터렉션매니저, 그리고랜더링매니저를제안한다. 또한 XML 기반의네트워크인터페이스로서가상센서, 컨텍스트생성자, 그리고컨텍스트서비스매니저를제안한다. 제안된가상환경은 VR 라이브러리를이용하여구현되므로다양한디바이스와디스플레이환경을지원한다. 독립적인인터렉션매니저는응용프로그램마다다르게정의되는상호작용을효율적으로관리할수있다. 제안된네트워크인터페이스는이렇게구현된가상환경들을 XML 스크립팅을사용하여쉽게연결할수있고분산상호작용을정의할수있다. 제안된시스템의유용성을확인하기위하여 e-ag 상의가상문화유적답사시스템에적용하였다. Keyword : VR, XML, Interaction, Interface 1. 서론가상현실기술의발전과함께몰입형콘텐츠에대한관심이증가하고있다. 또한, 네트웍의급속한보급과함께실시간으로원격지에서상호작용할수있는환경이구축되고있다. 따라서사용자들은경주가상극장과같은특정한장소에서단순히가상의객체를보는것이상을요구하고있다. 이런이유로다양한분야에서가상협업시스템구축에관한연구가진행되고있다. ImmersaView 는 AGA 나 GeoWall 환경에서마우스나키보드디바이스를통해서 Open Inventer 나 VRML 모델을공유하면서협업하는시스템이다 [1]. COANIM 은 CA-like 디스플레이환경과 AGA 환경간의 3D 컨텐츠기반협업시스템이다 [3]. 일반적인협업시스템이아닌사용자의목적에특화된협업시스템에관한 * 본연구는 KISTI 와 KJIST 의지원하에수행되었음 1-1 권 248
연구도진행되고있다. 예로 Walkabout 은지형관측을위해 WiggleView 는지진관측을위해개발된시스템들이다 [2]. 하지만 ImmeraView 는모델사용의제약과 CA-like 시스템에서는사용할수없다는단점을가지고있고 COANIM 은리눅스환경에서만동작하는단점이있다. 그리고 Walkabout 과 WiggleView 는다른목적의협업에사용할수없다는단점을가지고있다. 본논문에서는이러한문제점들을해결하기위해서이종플랫폼간에다양한상호작용을정의할수있는가상현실프래임워크및네트워크인터페이스를제안한다. 먼저상호작용전달프로토콜을정의하고다양한디바이스와디스플레이환경을지원하는가상현실프레임워크구현한다. 또한이렇게생성된이종플랫폼간의협업을위한네트워크인터페이스를구현한다. 제안된 5W1H 형식의상호작용전달프로토콜은가상세계에서이루어지는사용자의다양한상호작용을기본적인데이터타입으로서표현할수있는방법을제공함으로써각각의응용에서정의하는상호작용을융통성있게처리해줄수있도록한다. 제안한가상협업환경은랜더링매니저, 디바이스매니저, 인터렉션매니저로구성된다. 각각의컴포넌트들은 CALib, VRJuggler, NARLib 와같은 VR 라이브러리를기반으로만들어지는것을가정하기때문에다양한디바이스와디스플레이환경을지원한다 [5][6]. 또한인터렉션매니저의분리는가상환경의목적에따라다양하게상호작용이재정의될수있도록한다. 이런로컬시스템을기반으로컨텍스트서비스매니저, 가상센서그리고컨텍스트생성자를사용하여네트워크환경을구성한다. XML 기반의컨텍스트서비스매니저는원격의가상환경에서부터전달받은상호작용관련데이터를분석하여그에상응하는인터렉션매니저를호출한다. 가상센서와컨텍스트생성자는자신의가상환경의변화를 상호작용전달프로토콜에맞추어기술하고원격의가상환경에전송한다. 본논문의순서는다음과같다. 2 장에서는제안한가상현실프레임워크및네트워크인터페이스에대해서설명한다. 3 장에서가상문화유적답사시스템으로의적용을기술하고 4 장에서는결론및추후과제에대해서언급한다. 2. 이종간네트워크가상현실시스템 2.1 협업을위한상호작용전달프로토콜제안된상호작용전달프로토콜은가상세계간에이루어지는사용자의다양한상호작용을기본적인데이터타입으로서표현할수있는방법을제공함으로써각각의응용에서정의하는상호작용을융통성있게처리해줄수있도록한다. 가상환경의변화는그림 1 과같이 5W1H 형태의상호작용전달프로토콜에맞추어정의되어야된다. WHO 는가상환경을사용하는사용자나사용자그룹의 ID 혹은가상객체의 ID 이며 HOW 는취한동작을의미한다. WHAT 은행위의목적이대는가상물체를지칭하고 WHEN 정보는데이터의우선순위를정할때필요한프레임넘버이다. WHERE 는가상에서의위치정보를보함하고있다. 예로가상세계를네비게이션하는사용자 1 의상호작용은 User1/*/x,y,z/*/move to/* 와같이표현될수있다. [4]. 그림 1. 상호작용전달프로토콜 2.1 로컬시스템요구사항현제대부분의가상환경들이그림 2 과같은처리과정을기반으로존재한다. 이러한처리과정은크게디바이스로부터입력을관리하는 1-1 권 24
부분과그런입력된데이타를계산하는부분, 그리고그것을사용자에게디스플레이하는부분으로나누어설명될수있다. 따라서가상환경시스템의컴포넌트를그림 3 과같이디바이스로부터신호를받는디바이스매니저, 받은신호를이용하여사용자의의도에맞게가상환경의변화를계산하는인터렉션매니저, 그런일련의과정을사용자에게보여주는랜더링매니저로크게나눌수있다. 랜더링매니저와디바이스를구현할때는다양한디스플레이환경과상호작용디바이스를폭넓게고려하는것이중요하다. CALib, VRJuggler, NARLib 같은가상현실라이브러리들은가상환경개발자들이그러한컴포넌트들을쉽게생성할수있도록기능들을제공한다. 가상객체매니저는가상환경에존재하는모든객체를관리하며객체들의이동, 회전에관한계산을수행한다. 네비게이션매니저는가상카메라의이동및회전을계산하여일인칭시점에서의사용자의네비게이션을관리한다. 또한 3 인칭시점에서가상공간의뷰포지션을관리한다. Initialize Input data from device object camera Display 그림 2. 가상환경의시뮬레이션루프 Virtual Environment USER UI Device Manager Interaction Manager 그림 4. 인터렉션매니저 ( 네비게이션매니저, 객체 매니저 ) 를정의하는스크립팅파일 Rendering Manager 그림 3. 가상현실시스템의구조 2.2 네트워크인터페이스 인터렉션매니저는가상환경의목적에다양한기능을가질수있고재정의가될수있기때문에일반화된많은프리미티브를제공하는것과이를사용자에맞게재정의할수있도록하는기능이필요하다. 본논문에서는그림 4 와같이 XML 기반의사용자정의인터렉션을제안한다. 인터렉션매니저의예로가상객체매니저와네비게이션매니저가있을수있다. 네트워크가상환경은그림 4 과같이원격지의가상환경으로부터컨텍스트를전송하고전달받는추가적인과정을필요로한다. 네트워크에관련된작업은전체적인가상현실프로세스에오버해드를유발할수있다. 따라서가상환경을디스플레이과정과병렬적으로수행되어야한다. 그러기위해서그림 5 와같은가상환경구조를제안한다.
Initialize Receive from Network Send Required Receive data from device object camera Display 그림 4. 네트워크가상환경의시뮬레이션루프 그림 6. 가상환경모든범위에서해당객체에위 치정보를알려주는가상센서스크립트 USER UI Device Manager Virtual Environment form Network Service Manager Virtual Sensor User position Generator Object state Virtual Sensor V irtual environm ent in fo rm ation Interaction Manager 그림 7. 가상센서의예및컨텍스트생성자사이 의관계 Rendering Manager to Network Generator Virtual Sensor 2.2.2 인터렉션매니저와컨텍스트서비스매니저 그림 5. 네트워크가상환경의시스템구조 2.2.1 가상센서와컨텍스트생성자로컬의가상환경의변화를다른가상환경과공유하려면가상센서와컨텍스트생성자를둔다. 가상의센서는사용자의필요에의해서필요한가상의환경의위치에놓일수있다. 컨텍스트생성자는이런가상의센서로부터정보를취합하여이미정의된상호작용전달프로토콜인 5W1H 형식의데이터유형으로변형시켜준다. 이런통일된데이터유형은원격지에있는컨텍스트서비스매니저가일관성있게데이터를처리할수있도록도와준다. 그림 6 은 KJIST_AVATAR 의위치정보를가상환경전체에걸쳐알려주는가상센서의 XML 스크립팅예이다. 알려진정보는그림 7 과같이컨텍스트생성자에의해서상호작용전달프로토콜형태로만들어져서다른가상환경에제공된다. 이때에 VR 라이브러리마다서로다른좌표시스템을사용하기때문에 Where 정보를전송할때는월드좌표시스템에기반한위치정보로통일한다. 인터렉션매니저는로컬시스템에서의역할과같이가상환경에관련된변화를계산하는역할을한다. 추가로네트워크가상환경에서의인터렉션매니저는컨텍스트서비스매니저와통신을한다. 컨텍스트서비스매니저의역할은다른가상환경으로부터들어오는상호전달프로토콜을분석하여인터렉션매니저를호출하는것이다. 그림 8은 Who 로 Avatar ID, How 로 Move 를입력받았을때 What 과 Where 를파라미터로객체매니저를호출하도록하는 XML 스크립팅예이다. 객체매니저는객체 What 을 Where 의위치에옮기는일을수행하게된다. 표 1 은상호작용전달프로토콜과그에대응될수있는인터렉션매니저클래스의예를보여준다.. 그림 8. 컨텍스트서비스매니저를위한 XML 스크립팅예
표 1. 상호작용전달프로토콜과인터렉션매니저클래스의예 Class Who What Where When How User Location after Virtual Time Move ID moving to Navigation User Position(Foward,Bac Virtual Time Move Manager ID kward) User Virtual Time Rotate ID Position(Right, Left) Avatar Target Scene Change Virtual Time Grab ID Object Object Avatar Virtual Position(Foward,Bac Virtual Time Move Manager ID Object kward) 사용자간의뷰의불일치를동기화시켜야한다. 이를위해서컨텍스트서비스매니저에상호작용메시지의버퍼를둔다. 또한상호작용메시지의종류를바로실행가능상호작용, 특정시간후에실행해야할상호작용으로나눈다. 장비에독립적으로계산량이적은상호작용은바로인터렉션매니저로전해저수행이되고계산량이많은인터렉션은 XML 파일로정의된재생지연시각 (Playout delay) 까지버퍼에저장하여모든사용자들이동시에상호작용에참여할수있는환경을제공한다. 하지만이러한접근은컴퓨팅자원의많은낭비를초래한다. 따라서가장컴퓨팅파워가좋은플랫폼에맞추어서다른플랫폼의랜더링수준을동적으로조절하는기능도추가되어야한다. Avatar ID Virtual Time Rotate Position(Right, Left) 3. 시스템의구현 컨텍스트서비스매니저의또다른중요한 역할은서로다른플랫폼간의동기화이다. 먼저 서로 다른 VR 라이브러리간의 데이터의 동기화이다. 각각의 VR 라이브러리마다독립적인 좌표시스템을사용하여가상환경을구현하기 때문에월드좌표를해당로컬좌표로바꾸어 주는것이필요하다. 이러기위해서는컨텍스트 서비스매니저는위치와회전변환매트릭스를 저장하고 있어야 하면 입력된 월드좌표에 역행렬을 취해 줌으로써 원하는 로컬 좌표로 변환한다 제안된시스템의유용성을검증하기그림 9 과같이 e-ag 기반의분산가상문화유적답사시스템에적용하였다. e-ag 시스템은 Access Grid 시스템에 3D 디스플레이를연동시킨화상회의시스템이다. Access Grid 를사용하여서로얼굴을보면서이야기하며문화유적에대해서토론할수있었고 3D 디스플레이를사용하여원격지에떨어져있는다수의사용자들이한지역에있는듯한느낌을가지고함께가상문화유적을답사할수있었다. 특정가상유물에대해서는사용자의조작을허용하기때문에공동연구의가능성을시험해볼수도있었다. NETWORK NETWORK Lx = A Lx Ly Lz Wx -1 Wy Wz A : Transformation Matrix NavigationManager ->Translation(Lx, Ly, Lz ) 그림 9. 월드좌표를로컬좌표로변환하는과정다음으로는장비의이질성으로인하여생기는 e-ag Client (A) e-ag Client (B) 그림 9. e-ag 기반의가상문화유적답사시스템클라이언트 A 는 NARLib 기반의가상환경시스템으로써일반데스크탑환경에서구현되었다. 또한마우스와키보드기반의상호작용을지원하였다.
클라이언트 B 는 CALib 기반의가상환경시스템으로써 passive stereo 디스플레이가지원되는워크스테이션환경에서 PDA 와같은새로운 UI 를사용하여상호작용하도록구현되었다. 각각모두제안된로컬시스템의요구조건을따르기때문에디바이스매니저, 인터렉션매니저, 랜더링매니저를포함하고있었다. 이런이종가상환경간의협업환경의구성을위해서사용자의위치를추적하는가상센서를가상환경전체영역에그림 10 과같이선언을하였다. 그리고그림 11 과같이컨텍스트생성자를선언을해준다. 컨텍스트생성자선언시는컨텍스트정보를보낼위치와소켓타입을명시해주어야한다. 또한원격지의정보를받고나서컨텍스트서비스매니저가하여야할작업도정의를해주어야한다. 현재의가상문화유적답사시스템은서로같은 Viewpoint 를가지고네비게이션을하는시나리오를가지고있으므로그림 12 와같이컨텍스트기반서비스를정의를해준다. 6. 결론및추후과제본논문에서는이종플랫폼간의협업가상환경을구현하기위한가상현실프레임워크와네트워크인터페이스를정의하였다. 그리고그응용으로 e-ag 상에서 NARLib 과 CALib 기반으로가상문화유적답사시스템을구현함으로써그유용성을입증하였다. 본시스템은일반적인협업환경을제안하였기에추후에더많은응용을통하여인터랙션의일반화가이루어져야한다. 또한많은실험을통해안정성및확장성을확고히하고클라이언트들간의완전한동기화문제도해결해야할과제이다. 또한지금은단순한유니케스트형식의 Peer-to-Peer 구조를이용하여내트워크를구현하였는데 Atlas 와같은네트워크가상현실라이브러리를이용하여네트워크효율을증진시켜야하겠다. 더나아가유비쿼터스컴퓨팅흐름과같이하여서비스디스커버리에의한브로드케스팅구조로전환도고려되고있다. 7. 참고문헌 그림 10. 사용자의위치정보를알리기위한가상 센서 그림 11. 컨텍스트생성자의 XML 스크립팅 [1]www.evl.uic.edu/cavern/agave/immersaview/index.html [2] www.evl.uic.edu/aej/macagave/walkabout.html [3] www.evl.uic.edu/cavern/agave/coanim.html [4] 조수호, 원광연 삼차원상호작용을고려한네 트웍가상현실플랫폼 HCI 2001 학술대회, pp 255-260, 2001 [5] C.Park, H.Ko, H.Ahn, J.Kim NAR : design and implementation of XML-based VR Framework on a PC cluster, Virtual Systems and MultiMedia(VSMM) pp 967-975, 2002 [6]C.Park, H.Ko, C.Cho, H.Ahn, Y.Han, T.Kim NAR: Design and Implementation of Networked Virtual Environments Based on PC Cluster Korean Society for Emotion and Sensibility (KOSES), 2002 그림 12. Who 와 How 컨텍스트를분석하여네비 게이션매니저를호출하는컨텍스트기반서비스 스크립팅, 파라미터로는 Where, When 이된다.