I. Introduction
현재 가상현실(VR) 콘텐츠의 기술은 영화 속 가상의 차원을 벗어나 Head Mounted Display(HMD)와 같은 기계 장치를 통하여 직접 체험하고 즐길 수 있는 현실로 자리를 잡았다[1]. 여기에 Meta의 Meta Quest와 Apple의 Vision Pro와 같은 HMD 장치의 출시로 VR 산업 발전의 성장 또한 가속화될 전망이다. 이러한 기술 발전은 상상의 영역이 실제적인 경험으로 전환되는 계기를 마련하게 된 것이다. 이에 따라 가상현실 콘텐츠 제작의 경우 사용자에게 실감 나고 즐길 수 있는 콘텐츠 제공하는 것이 중요해 졌다. VR 게임은 사용자에게 상호작용을 통한 재미를 제공하고 몰입감을 높여 사용자 경험을 향상하기 위해 지속적인 연구와 기술적인 발전을 도모하고 있다.
트래킹(Tracking) 기술은 몰입 콘텐츠에서 사용자의 생체 데이터 머리, 손, 발, 몸, 눈동자 움직임, 생리 지표 등을 실시간으로 추적하는 기술로 특히 손을 이용하는 핸드 트래킹 기술은 최대한 실재감(Sense of Presence)을 느끼게 하기 위한 것으로 사용자의 자연스러운 손 움직임을 통해 가상 환경과 상호작용할 수 있게 함으로써 어포던스를 높이고 몰입도를 크게 향상하는 요소로 주목받고 있다[2][3][4].
본 연구에서 설계한 가상현실 게임 <VR Spell>은 실시간 핸드 트래킹 기술을 기반으로 하여 사용자가 마법사가 되어 핸드 트래킹을 통해 가상 세계 자유롭게 이동하며 마법을 시전할 수 있는 게임이다. 핸드 트래킹 기술로 인한 어포던스 향상을 통한 상호작용과 실감을 극대화하여 재미 요소를 증진하고자 하였다. 핸드 트래킹의 경우 사용자가 가상 환경 속의 객체와 상호작용하는 방법으로 사용자가 그 환경에 실재하고 있다고 느끼게 하여 몰입성을 갖게 한다. <VR Spell> 경우 핸드 트래킹 기술을 활용하여 ‘마법진’을 그려 사용자가 콘텐츠를 세밀하게 조작하여 풍부한 경험을 가능하게 하여 몰입감과 재미를 유발하게 할 뿐만 아니라 적극적인 참여를 유도한다. 핸드 트래킹 기술은 상호작용과 몰입감을 높여 사용자의 행동을 유도하는 어포던스를 유도한다. VR 게임과 같은 실감 콘텐츠의 경우 어포던스는 사용자의 행동과 제공된 콘텐츠가 무엇인지를 인지하는 것보다 사용자가 콘텐츠를 어떻게 사용하는가를 인지하고 게임의 경우 상호작용, 몰입감과 같은 요소를 증진하여 어떻게 즐길 것인가에 경주하고 있다.
본 연구는 사용자의 상호작용과 몰입감 향상을 통한 재미 증진 위해 하슨(H. Rex Harson)의 어포던스 이론에서 인터랙티브 요소를 포함한 개념인 사용자가 이동할 수 있는 가상 공간을 탐색할 수 있게 하는 물리적 어포던스와 인터랙티브 속성을 의미하는 기능적 어포던스에 입각[5]하여 게임 속 사용자가 직접 마법진 사용을 통해 사용자의 몰입도와 재미를 높이는 것을 목표로 하는 핸드 트래킹 기술 적용 VR 게임 개발을 진행하였다. 본 논문의 구성은 다음과 같다. 2절에서는 관련 연구를 소개하며, 3절에서는 실시간 핸드 트래킹 구현 기술과 이를 적용한 VR 시스템에 대해 논의한다. 4절에서는 실험과 5절에서는 결론 및 향후 연구를 제언한다.
II. Related Research
2.1 Real-time interactive VR technology
실시간 상호작용(Interaction)기술은 콘텐츠 제작에 있어서 매우 중요한 기술이다. 특히, 게임 콘텐츠 개발에 있어서 이러한 기술은 사용자에게 몰입감을 증대시킬 수 있는 중요한 방법이다. 기존 PC 기반의 게임 콘텐츠 개발의 경우 키보드와 마우스에 의존한 조작을 통한 상호방법이 다수였으나 최근 전문적인 게임 장비들의 도입으로 사용자가 좀 더 쉽고 재미있게 상호작용하는 방법이 나타나고 있다. 우선 다양한 센서 기반의 컨트롤러를 사용하여 콘텐츠를 제어하는 방식이 가장 대중적이며 특히, 가상현실을 위한 HMD의 활성과 더불어 센서 기반의 컨트롤러 또한 발전하고 있다. 그러나 VR 게임과 같은 현재 대부분의 HMD를 이용하는 VR 콘텐츠 상호작용 방법은 컨트롤러 의존하는 방식을 사용하고 있으며 VR 장비의 제조사에 따라 제공된 라이브러리를 사용해야 하는 한계점이 있다. 본 연구에서는 가상현실의 VR 환경에서 실시간 핸드 트래킹을 사용한 인터랙션 방법 연구를 통하여 사용자에게 높은 현실감과 조작의 용이성으로 좀 더 몰입감 높은 제스처 기반의 인터랙션을 사용할 수 있는 방법을 제안하고자 한다[6].
2.2 Hand Tracking
핸드 트래킹(Hand Tracking)기술은 VR 환경의 몰입 콘텐츠 활용시 사용자의 생체 데이터(예: 머리, 손, 발, 몸, 눈동자 움직임, 생리 지표 등)를 실시간으로 추적하는 기술이다. 사용자의 제스처를 실시간으로 인식하고 해석하여 디지털 환경에서 상호작용하게 한다[7]. VR과 같은 가상 환경 내에서 객체 조작과 인터페이스 조정의 역할을 하며 사용자의 상호작용성과 몰입감 극대화에 기여한다[8]. 일반적으로 핸드 트래킹 기술은 광학 기반으로 Meta Quest 경우 인사이드 아웃 카메라를 이용하여 헤드셋에서 손의 위치와 방향, 손가락의 배열을 감지한 후 컴퓨터 비전 알고리즘을 사용하여 손의 움직임과 방향을 추적한다. 이 경우 손의 형태와 동작을 고해상도로 포착할 수 있으나, 외부 조명 조건에 영향을 받는다. 이외에도 손에 장치를 착용에 좀 더 정확하게 움직임을 감지하는 센서 기반 핸드 트래킹이 있으나 추가적인 하드웨어가 필요하다는 단점이 있다.
Fig. 1. Hand Tracking Technology of Oculus
2.3 Game Engine Software
범용 게임 엔진 소프트웨어는 게임 제작사를 위해 기본 플랫폼에서 핸드 트래킹을 위한 방법을 제공하고 있다. 이를 기반으로 AR 환경, 3D 모델과의 상호작용, 2D 미니 게임 등을 비롯한 3D 또는 2D 실시간 렌더링을 사용하는 콘텐츠 제작에 있어서 활용할 수 있다. 다양한 기능의 제공으로 개발 편의성은 물론 시간을 단축할 수 있다. VR 분야에서는 ‘XR Interaction Toolkit’과 ‘XR Hands’를 통하여 상호작용 시스템을 구축하기에 가능한 방법을 개발자에게 제공한다. XR Interaction Toolkit은 VR의 상호작용 시스템을 제공한다. Unity게임 엔진의 인풋 시스템으로 HMD와 컨트롤러의 위치 및 회전 값을 입력 및 받을 수 있게 하며, 입력 이벤트를 사용하여 3D 및 UI 상호작용을 가능하게 한다. 기본적으로 텔레포트 및 이동, 잡기와 같은 VR에서 주로 사용되는 기본적인 상호작용 및 기능들을 포함한다. XR Hands는 VR에서의 핸드 트래킹 기능 구현을 위한 라이브러리로써 사용자의 손가락 위치와 회전 값을 추적하여 이를 스킨 메쉬 기능을 사용한 모델을 통해 사용자 손의 형태를 보여주며 이 손을 통한 잡기, 찌르기 등의 인터랙션 방법을 구현할 수 있다. 또한, 추가적인 기능으로서는 사용자가 어떠한 제스처를 취하고 있는지 인식하는 기능을 포함하고 있어 직접 제스처를 지정하고 인식할 수 있는 다양한 방법을 제공하고 있다.
2.4 Affordance
어포던스는 특정 행동을 유도하는 성질로 행동 유도성이라 불린다. 의자가 있으면 그 의자에 앉으려고 하거나, 버튼이 있으면 누르려고 하는 등 사물이 사용자에게 직관적으로 특성을 나타냄으로써 특정한 행동을 유도하는 것을 의미한다. VR 게임 제작에 있어 사용자와 콘텐츠 간의 상호작용을 촉진하거나 몰입감 제공을 위해 사용자의 행동을 유도하는 것을 어포던스이다. 어포던스 개념은 여러 학자를 통해 논의되고 있는데 그중 가장 많은 분야에서 활용되는 것은 렉스 하슨(Rex Hartson)의 연구이다[9]. 하슨은 ‘사용자가 어떠한 행위를 할 때 도움이 되는 무언가를 제공하는 것이라고 어포던스를 정의하고 아래의 표 1과 같이 네 가지로 분류하여 재정립하였다[10].
Table 1. Affordance Classification
III. <VR Spell> Game
3.1 Game Overview
본 연구는 핸드 트래킹을 이용하여 손의 위치와 방향, 손가락 배열을 감지한 후 사용자 손의 움직임과 방향을 추적하는 기술을 VR 게임 <VR Spell>에 적용하고자 한다. <VR Spell>은 사용자 즉, 플레이어가 마법사가 되어 몬스터를 물리치는 액션 게임으로 일정한 스토리와 배경에 따라 실시간으로 마법사가 된 캐릭터의 행동을 직접 사용자의 손과 손가락의 움직임을 통해 게임을 조작하게 하는 비디오 게임이다. 여기서 캐릭터는 마법사가 된 사용자로 마치 자신이 게임 속으로 들어가 직접 손으로 마법진을 그려 마법을 시전하며 몬스터를 물리치는 것이다. VR 게임의 경우 현실감 또한 중요한 요소가 되는데 HMD를 통해 가상 공간 체험과 사용자의 양손을 추적 인식하여 직접적인 조작이 현실감을 높인다. 여기에 게임이 내포한 환상성을 충족하기 위하여 손가락 제스터로 마법을 시전하여 바다위를 자유자재로 이동하고 몬스터를 마법진을 통해 처리한다. 이것은 마치 가상 공간에서 사용자가 자유롭게 행동하는 것처럼 보이나 게임의 진행과 방향성 유도를 위해 어포던스 요소를 고려하였고 그 일부를 아래 설명하였다. 표 2는 본 논문에서 제안한 실시간 핸드 트래킹을 <VR Spell> 게임에 적용하였으며 5가지 주요 게임 기능에 대한 리스트이다.
Table 2. <VR Spell> Game Feature
마법진 구현 기능은 사용자가 제스처를 통해 소환할 수 있는 마법 책이 존재한다. 마법 책은 게임 설명, 설정, 아이템, 마법 정보, 통계 페이지로 나뉜다. 게임 설명은 게임에서의 플레이 방법 및 각종 제스처를 통해 무엇을 할 수 있는지 표기한다. 설정은 배경음과 효과음의 크기를 조절하는 사운드 설정 및 마법진의 그림이 얼마나 유사해야 인식하는지에 관한 인식 정확도를 조절하는 기능이 담겨있다. 마법 정보 페이지에서는 현재 사용자가 생성할 수 있는 마법들의 마법진, 이름, 등급, 설명 등의 데이터를 표시하고 있다. 통계 페이지에서는 사용자가 어떠한 증강을 선택했고, 어떠한 마법이 데미지를 많이 입혔는지 정렬해서 표시하고, 마법의 사용 횟수 등의 정보를 표시해 준다.
두 번째 기능으로 마법 사용 기능은 플레이어가 마법을 사용하기 위해서 마법을 손에다 저장한 후 어떤 정해진 타이밍에 액션 처리해야 한다. 마법을 저장하기 위해서는 우선 사용자가 특정 제스처를 취함으로써 마법진 배경을 소환하고, 해당 마법진 배경에 다른 손으로 마법진을 그린다. 마법진을 다 그렸을 때 그린 마법진과 유사한 마법진이 있다면 그 마법진과 관련된 마법을 찾아서, 해당 마법을 손에 저장한다. 저장했을 때 손에서는 마법의 발사 방향을 나타내는 선이 표시되고, 손바닥을 폄으로써 발사 방향으로 마법을 쏘는 형태의 조작이 가능하다.
게임에서의 위치 이동은 텔레포트 방식으로 진행이 되며, 텔레포트를 활성화하려면 특정 제스처를 취했다가 해제해야 한다. 제스처를 취했을 때 손에서는 전방으로 포물선을 그리는 선이 나타나며, 선의 도착 지점에는 자신이 제스처를 해제했을 때 텔레포트 지점을 알려주는 마커가 나타난다. 그리고 제스처를 해제한다면 플레이어는 제스처를 해체한 손의 마커 지점으로 텔레포트 하게 된다. 몬스터는 게임이 시작되면 지속해서 소환되며, 맵에 있는 신전을 목표로 이동한다. 유한상태 머신을 사용하고 있으며 다양한 행동 패턴에 따라 움직임을 표현한다. 뿐만 아니라 플레이어는 경험치가 한계를 초과하면 레벨업을 하게 되며, 게임의 시간이 정지된다. 이후 자신의 마법을 강화하거나 추가 할 증강을 무작위로 3가지 중에서 1개를 선택하게 된다. 마법을 강화하는 증강을 선택하면 증강에 적힌 대로 마법이 강화되며, 마법을 새로 추가하게 된다면 플레이어는 해당 마법의 마법진을 자신이 그려서 새로 등록하게 된다.
3.2 Hand Tracking Algorithm
게임에서의 기능들 대부분은 핸드 트래킹 및 제스처를 인식하여 사용한다. 그렇기에 최우선으로 이 기능들을 빠르게 구현하기 위해서 Unity의 라이브러리인 XR Hands 라이브러리를 기본적으로 사용한다. XR Hands 라이브러리에서 핸드 트래킹 구현을 위해 제공되는 필수 스크립트는 XR Hand Tracking Events, XR Hand Mesh Controller, XR Hand Skeleton Driver 이 3가지 스크립트이다.
Fig. 2. Hand Tracking Process
XR Hand Tracking Events는 왼손, 오른손 중에서 어떤 것을 추적할 것인지 설정하고, 현재 손이 VR 기기에 추적되고 있는지나 어떠한 포즈를 취하고 있는지 등의 손 추적과 관련된 이벤트를 발생시킨다. XR Hand Mesh Controller는 XR Hand Tracking Events를 사용하여 현재 손이 추적되고 있는지에 따라서 손 모양의 메쉬를 활성화하거나 비활성화한다. XR Hand Skeleton Driver 또한 XR Hand Tracking Events를 사용하며, 손의 움직임이 발생할 때마다 스크립트에 등록된 각 손 마디의 위치 방향을 현재 추적 중인 손의 데이터를 불러와 적용한다.
Fig. 3. Static Hands Tracking application result
앞서 언급한 스크립트들을 사용하여 핸드 트래킹 구현한 뒤, 제스처 인식을 구현하기 위해서 Static Hand Gesture를 사용하였다. Static Hand Gesture는 현재 추적 중인 손의 방향과 손마디의 구부림, 펴짐, 방향 등을 등록된 손 모양과 비교하여 일치했을 때와, 일치하지 않았을 때 이벤트를 발생시킨다. 물론 손 모양을 등록시키는 것은 개발자가 원하는 모양을 직접 지정할 수 있다. 이를 통해서 주먹을 쥐거나, 손바닥 펴는 등의 제스처를 인식하였다.
3.3 Line Segment Algorithm
실시간 그려지는 선분을 인식하기 위한 알고리즘 플레이어의 마법 사용 기능을 위해서는 집게 손가락을 통해서 그린 선분을 등록된 선분과 비교하고 인식하는 것이 필요하다.
<VR Spell>의 경우 오픈소스인 Unistroke Recognizer를 사용하였다[12].
Fig. 4. Unistroke line segment define
Unistroke Recognizer 알고리즘의 주요 특징은 타 알고리즘보다 비교적 구현하기에 간단하며, 높은 정확도와 빠른 실행속도에 있다. 이 알고리즘은 다양한 제스처를 사전에 정의된 템플릿과 비교하여 가장 유사한 제스처를 찾아내는 방식으로 작동한다. 아래 수식은 라인 세그먼트를 통해 인식하는 알고리즘에 사용한 수식이다.
\(\begin{align}d_{i}=\frac{\sum_{k=1}^{N} \sqrt{\left(C[k]_{x}-T_{i}[k]_{x}\right)^{2}+\left(C[k]_{y}-T_{i}[k]_{y}\right)^{2}}}{N}\end{align}\)
알고리즘에서 제스처를 인식하는 과정은 리샘플링 → 회전 정규화 → 크기 조정 및 변환 → 유사도 비교를 거치며, 사용자와 입력한 제스처와 가장 유사한 제스처를 반환한다.
Table 3. <VR Spell> Game Gesture Shape of the magic circle
IV. Experiment
본 연구에서는 VR 장비로는 Oculus사의 Meta Quest2를 사용하였다. 게임 엔진으로는 Unity를 사용하였으며, 자체 게임 엔진에서 제공하는 라이브러리 XR Interaction Toolkit과 XR Hands를 활용하여 VR에서의 필요한 기능들을 구현하였다. 특히 핸드 트래킹을 통한 제스처 인식 기능을 위해서는 최신 라이브러리를 사용하였다. 게임 엔진사에서 배포하는 버전이 높을수록 다양한 기능을 제공하고 있다. 표4는 본 게임 구현 시 사용한 H/W 및 S/W 스펙을 나타낸다.
Table 4. Experiment and Game development Environment
본 실험에서는 선분 인식 알고리즘을 적용한 실시간 핸드 트래킹 대한 인식률에 대해 테스트하였다. 4가지의 선분 세그먼트에 대하여 총1 0번의 인식률 및 수해 속도를 비교 분석하였다. 그림 5는 그 분석 결과를 나타낸다.
Fig. 5. Recognize rate test graph
TRIANGLE, RECTANGLE, TWO DELETE, STAR 등 점점 세그멘테이션이 늘어날수록 인식률에 대한 시간이 점점 늘어나는 것을 확인 할 수 있었다. 반면에 인식률은 전부 100% 성공을 달성하였다. 본 연구에서 구현하고자 하는 <VR Spell>의 경우 시스템 구현에는 문제가 없으나 현재 시제품 형태로 가능성 평가에 기반하여 제한된 환경에서 실험하였다. 이에 따라 외부 조명 조건에 따라 손의 형태를 고해상도로 포착하여 높은 인식률에 도달하였으나 추후 보완을 통해 상용화를 목표로 향후 연구에서 일반화하고자 한다.
V. Conclusion & Suggestion
기술이 점차 고도화됨에 따라 게임을 보다 지능적으로 만들 수 있게 되었고, 이것은 사용자에게 높은 현실감과 정교한 인터랙션을 제공하며 게임을 즐기는 과정에서 몰입감과 재미를 극대화하게 한다. 특히 VR 게임과 같은 가상현실 기반 실감형 게임 경우 이러한 현실감과 몰입감을 높이기 위하여 많은 연구를 진행하고 있으며 그 결과 게임 시장의 성장을 더욱 가속할 전망이다.
본 연구는 하슨의 어포던스 개념을 적용하여 실시간 핸드 트래킹 기술을 적용한 가상현실 게임 <VR Spell>을 개발하였다. 어포던스는 사용자의 행동을 유도하는 개념으로써 사용자의 제스처를 이용하는 핸드 트래킹 기술에서 최근 인터랙션이 필요한 분야에서 활발하게 활용되고 있다. 이러한 실시간 핸드 트래킹 기술을 통해 게임 사용자인 플레이어가 마치 마법진과 구사하는 것 같은 경험을 게임 조작 과정으로 가상현실 게임 <VR Spell> 적용하였다. 이후 실험을 통해 핸드 트래킹에 대한 정확도를 검증하였다.
본 연구는 사용자의 상호작용과 몰입감 증진을 통해 재미를 높이고자 어포던스 요소 기반으로 VR 게임을 설계하였다는 점에서 의의가 있으며 추후 출시를 통한 상용화를 목표로 한다. 본 연구에서 설계한 <VR Spell>은 가상현실 기반의 VR 게임으로 핸드 트래킹 기술로 인해 사용자가 직접 자기 손을 통하여 체험한다는 점에서 어포던스의 성격은 충족하지만, 제한된 환경에서 전체적인 기능을 간략한 형태로 구현한 프로토타입이다. 따라서 추후의 연구에서는 정확도는 물론 상용화를 목표로 좀 더 유의미한 결과를 얻기 위해 노력하고자 한다. 또한 제작한 VR 게임이 실제로 상호작용과 몰입감을 증진하여 재미를 끌어낼 수 있는지 분석하기 위해 사용자 경험에 관한 연구를 진행할 계획이다.
References
- Youngjae Jeong, Taehong Kim, Joong Il Kim, Jeong-Woo Seo, Kyoung-Mi Jang, and Jung-Hyeong Do, "Trends in VR and AR Device Technology in Silver Healthcare", Journal of Digital Conten ts Society, Vol.24, No.5, pp.967-974, May 2023. DOI:https://doi.org/10.9728/dcs.2023.24.5.967
- Ju-Sang Lee, Hyo-jSeung Lee, Woo-Jun Choi, "Interactive Interface Design Through VR Hand Tracking", Journal of the KIECS, Vol.18, No.1, pp. 213-218, Feb 2023. DOI: https://doi.org10.13067/JKIECS.2023.18.1.213
- Seung-hun Shin, Soo-yeon Lim, "Interactive Contents Production With Reality Exhibition Hall using Hand Tracking", The Korean Society of Science and Art, Vol.39, No.5, pp.175-185, Dec 2021. DOI:https://doi.org/10.17548/ksaf.2021.12.30.175
- Min-Gyeon Hwang, Jung-yi Kim, "A Study on the Development of Healing VR Content Based on Horticulture", IIBC, Vol.9, No.4, pp.681-686, July 2023. DOI:https://doi.org/10.17703/JCCT.2023.9.4.681
- Joo-young Kim, Sun-hee Lim, Joo-yun Kim, "A study on Affordance Design Elements -case Study on Metaverse University Campuses-", Journal of the Korea Institute of Spatial Design, Vol.19, No.2, pp.63-78, March, 2024 DOI:https://doi.org/10.35216kisd.2023.19.2.63 https://doi.org/10.35216kisd.2023.19.2.63
- Ji-young Kang, "A Study on the Relationship between Hand Interaction and Immersion in Social VR Environment", Journal of Digital Contents Society, Vol.22, No.2, pp.263-269, Feb 2021. DOI:10.9728/dcs.2021.22.2.263
- Seon-hyeon Jeon, Seok-kyoo Kim, Seong-ki Kim, "Research on Virtual Reality Games Using Hands as User Interface for Oculus Quest", Korean Society For Computer Game, Vol.34, No.4, pp.17-22, Dec 2023. DOI:https://doi.org/10.21493/kscg.2016.29.2.1.
- Bai yu, Sang-yun Park, Yun-sik Kim, In-gab Jeong, Soo-yol Ok, Eung-joo Lee, "Hand Tracking and Hand Gesture Recognition for Human Computer Interaction", Journal of Korea Multimedia Society, Vol.14, No.2, pp.182-193, Feb 2011. UCI:G704-000883.2011.14.2.003. https://doi.org/10.9717/kmms.2011.14.2.182
- Seung-won Song, Jung-gyo Lee, "A study on Metaverse Platform to Maximize User Experience-Focused on affordance design-", Journal of the Korea Institute of Spatial Design, Vol.19, No.1, pp.39-50, Oct 2024 DOI:https://doi.org/10.35216/kisd.2023.19.1.39
- Young-wook Kim, Jung-woo Kim, "An Analysis of Affordance Elements for the Immersion of Visitors in the National Museum's Realistic Contents", Journal of Humanities Contents, Vol.72, No.67, pp.229-260, Dec 2022. DOI:https://doi.org/10.18658/humancon.2022.12.229
- Chang-gyu Jeon, Min-gyu Kim, Ji-won Lee, Jin-mo Kim, "A Study on Production Pipeline for Third Person Virtual Reality Contents Based on Hand Interface", KCGS, Vol.23, No.3, pp.9-17, July 2017. DOI:https://doi.org/10.15701/kcgs.2017.23.3.9
- Jaccob O. Wobbrock, Andrew D.Wilson, Yang Li, "Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes", UIST 07, jpp.159-168, Oct 2007. DOI:https://doi.org/10.1145/1294211