본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
본 발명의 다양한 실시예들은 과몰입에 빠질 수 있는 어플리케이션의 과몰입 진단 및 치료를 위한 장치 및 방법을 제안한다. 본 발명의 다양한 실시예들의 어플리케이션은 오픈 API(open application programming interface)를 이용하여 어플리케이션 서버로부터 사용자의 어플리케이션 실행 정보를 획득할 수 있다. 여기서 어플리케이션 기준 정보는 사용자의 과몰입 여부를 판단하기 위한 기준 정보가 될 수 있다. 이후 사용자가 어플리케이션을 실행하면, 클라이언트로 동작되는 전자장치는 컴퓨터의 사양 정보, 해당하는 어플리케이션의 클라이언트 정보, 입력 데이터(예를들면 키보드 정보 및/또는 마우스 정보), 사용자 정보(예를들면 사용자의 표정 및/또는 동작(자세) 정보)들 중의 일부 또는 전부를 추출하여 사용자의 어플리케이션 실행 상태를 수집할 수 있다. 컴퓨터는 어플리케이션을 실행하는 중에 어플리케이션 기준 정보에 기반하여 수집되는 어플리케이션 상태 정보를 분석하고, 분석 결과에 따라 사용자의 과몰입 여부를 판정할 수 있다. 이때 과몰입 상태로 판정되면, 컴퓨터는 본 발명의 다양한 실시예에 따른 게이미피케이션(gamification)에 기반하여 과몰입 상태를 감성적으로 표현하고, 이에 따른 치료 방법 등을 실시간으로 안내할 수 있다.
이하의 설명에서 어플리케이션은 게임인 경우로 예를 들어 설명될 수 있다. 그리고 “어플리케이션 기준정보”라는 용어는 사전에 많은 사용자들이 설정된 조건에서 실행한 어플리케이션의 실행 정보들을 학습된 정보를 의미하는 용어가 될 수 있으며, 사용자의 과몰입 여부를 판단하는 기준 정보가 될 수 있다. 이하의 설명에서 어플리케이션 기준정보 및 게임 기준정보는 같은 의미로 사용할 수 있다. 또한 “어플리케이션 상태정보”라는 용어는 사용자가 어플리케이션을 실행하는 중에 추출되는 정보를 의미하는 용어로서, 하나 또는 둘 이상의 정보로 수집될 수 있다. 어플리케이션 상태정보는 컴퓨터의 사양 정보, 어플리케이션 및 실행 정보, 키보드 및 마우스 등의 입력 정보, 사용자의 표정 및 자세 등의 정보들 중의 일부 또는 전부를 포함할 수 있다. 이하의 어플리케이션 상태정보는 게임 상태정보와 같은 의미로 사용될 수 있다. “게이미피케이션”이라는 용어는 어플리케이션 제작자(또는 기업)이 의도하는 활동에 사용자의 참여를 유도하기 위해 어플리케이션과 무관한 웹사이트나 어플리케이션에서 어플리케이션과 연관된 개념을 활용하는 것을 의미하는 용어가 될 수 있다. 예를 들면, 어플리케이션이 게임인 경우, 게이미피케이션은 게임 외적인 분야에서 문제 해결, 지식 전달, 행동 및 관심 유도 혹은 마케팅을 위해 게임의 '매커니즘'(Mechanism)과 사고방식을 접목시킬 수 있다. 본 발명의 다양한 실시예에서, 게이미피케이션은 감성/인지공학에 기반하여 활용 가능한 감성 모델 구축하여 사용자의 과몰입 상태를 표현하고, 게임 플레이 데이터를 활용한 사용자 행동 분석을 할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
도 1은 본 발명의 다양한 실시예들에 따른 어플리케이션 시스템의 구성을 도시하는 도면이다.
도 1을 참조하면, 어플리케이션 시스템은 복수의 클라이언트(100), 인터넷 망(400), 복수의 어플리케이션 서버(150) 및 데이터베이스 서버(190)을 포함할 수 있다. 도 1에서 클라이언트(100)은 N개의 클라이언트(111-11N)을 포함할 수 있으며, 어플리케이션 서버(150)는 M개의 어플리케이션 서버(161-16N)들을 포함할 수 있다. 또한 어플리케이션 서버(161-16N)들은 데이터베이스 서버(190)을 분리하여 구성할 수 있으며, 또는 내부에 포함할 수 있다. 도 1에서 어플리케이션 서버(161)은 게임 서버이며, 데이터베이스 서버(190)을 분리하여 구성하는 것으로 가정한다.
게임서버(161)는 실질적인 게임을 진행하는 역할을 담당할 수 있다. 게임 서버(161)는 사용자 간의 동기화, NPC 의 인공지능, 아이템 시스템 등 게임 시스템의 총 집합이라 할 수 있다. 게임서버(161)는 게임 진행에 필요한 모든 게임의 요소들을 총괄하여 진행시켜주는 작업을 수행할 수 있으며, 게임을 진행하는 방대한 요소들을 포함할 수 있다. 게임서버(161)는 NPC(Non-Player Characters), 동기화 및 채팅 등의 기능을 포함할 수 있다. 게임서버(161)는 서버의 기능에 따라 부하(NPC, 동기화, 채팅)를 분산시키기 위하여, 일부 또는 전부를 분리(NPC 서버, 동기화 서버, 채팅 서버)할 수 있다.
게임 서버(161)는 일정 기간 동안 설정된 인원들에 의해 실행되는 플레이 데이터들을 수집하고, 수집된 플레이 데이터들을 설정된 딥 러닝 기법에 기반하여 학습하여 과몰입 여부를 판단하기 위한 게임 기준 정보를 생성할 수 있으며, 생성된 게임 기준정보를 데이터 베이스 서버(190)에 저장할 수 있다. 또한 어플리케이션 서버(150)의 일부 또는 또는 전부는 게임서버(161)과 같이 사용자의 어플리케이션 실행 정보들을 수집하여 해당 어플리케이션의 과몰입 여부를 판정하기 위한 어플리케이션 기준정보들을 생성하여 대응되는 데이터베이스 서버에 저장할 수 있다.
클라이언트(100)은 인터넷망(130)을 통해 어플리케이션 서버(150)에 접속될 수 있다. 이때 어플리케이션 기준정보를 가지는 어플리케이션 서버(150)은 해당 클라이언트(100)에 어플리케이션 기준정보를 다운로드할 수 있다. 클라이언트(100)은 다운로드되는 어플리케이션 기준정보를 내부 메모리에 저장할 수 있으며, 또는 어플리케이션 서버에 접속시 마다 다운로드할 수도 있다.
도 2는 본 발명의 다양한 실시예들에 따른 전자장치의 구성을 도시하는 도면이다.
도 2를 참조하면, 전자장치는 도 1에서 클라이언트(100)가 될 수 있다. 전자장치는 프로세서(200), 메모리(210), 통신부(220), 카메라(230), 입력부(240), 표시부(250)를 포함할 수 있다.
메모리(210)는 본 발명의 실시예에 따른 어플리케이션을 실행하기 위한 프로그램들을 저장할 수 있다. 또한 메모리(120)는 어플리케이션 프로그램 수행에 필요한 데이터들을 저장할 수 있다. 예를 들면, 메모리(120)은 사용자의 과몰입 여부를 판정하기 위한 어플리케이션 기준정보, 어플리케이션을 실행하는 중에 수집되는 어플리케이션 상태 정보, 과몰입 여부에 따른 감성 표현을 위한 게이미피케이션 정보들을 저장할 수 있다.
프로세서(200)는 어플리케이션을 실행할 때 어플리케이션 서버에 학습된 어플리케이션 기준 정보의 다운을 요청할 수 있으며, 다운로드되는 어플리케이션 학습 정보를 메모리(120)에 저장할 수 있다. 프로세서(200)은 어플리케이션을 실행하는 중에 발생되는 어플리케이션 실행정보들을 수집할 수 있다. 또한 상기 프로세서(200)는 어플리케이션을 실행하는 중에 어플리케이션 기준정부에 기반하여 수집되는 어플리케이션 실행 정보들을 분석하여 사용자의 과몰입 여부를 진단하고, 진단 결과에 따라 과몰입 상태를 감성적으로 표현되도록 제어할 수 있다. 예를 들면, 상기 프로세서(110)는 데이터베이스, 수집모듈, 판단모듈, 표현모듈들을 포함할 수 있다.
통신부(220)는 인터넷망(400)을 통해 어플리케이션 서버(200)과 통신할 수 있다. 통신부(220)는 어플리케이션 서버에서 학습된 어플리케이션 기준 정보를 다운로드할 수 있으며, 어플리케이션 실행시 수집되는 어플리케이션 실행정보를 어플리케이션 서버(200)에 전송할 수 있으며, 과몰입 여부 진단 정보를 전송할 수 있다. 또한 통신부(220)는 어플리케이션 서버(200)으로부터 전송되는 게이미피케이션 정보를 수신할 수 있다.
카메라(230)은 어플리케이션을 실행하는 사용자의 표정 정보 및/또는 동작(자세) 정보를 획득할 수 있다. 입력부(240)은 마우스 및/또는 키보드를 포함할 수 있으며, 사용자에 의해 입력되는 마우스 정보 및 키보드 정보를 획득할 수 있다. 카메라(230) 및 입력부(240)는 사용자의 어플리케이션 실행정보들을 발생할 수 있다. 표시부(250)는 프로세서(200)의 제어 하에 게임의 정보들을 표시할 수 있으며, 어플리케이션 실행중에 수집되는 어플리케이션 실행 정보를 표시할 수 있다. 또한 표시부(250)은 과몰입 상태로 진단된 경우 게이미피케이션 정보를 표시할 수 있다.
본 발명의 다양한 실시예들에 따른 어플리케이션 서버(200)는 일정 기간 동안 설정된 인원들이 설정된 시간 동안 실행하는 어플리케이션 정보들을 수집하고, 수집되는 정보들을 기반으로 딥 러닝(deep learning) 기법으로 학습하여 어플리케이션 기준정보를 생성하여 데이터 베이스화할 수 있다. 이후 사용자가 해당 어플리케이션을 실행하면, 어플리케이션 서버(200)는 데이터베이스화된 어플리케이션의 기준 정보를 클라이언트에 제공할 수 있다.
이하의 설명에서 어플리케이션은 게임인 경우로 가정하여 설명하기로 한다.
본 발명의 다양한 실시예들에 따른 어플리케이션 실행 정보들은 다양한 형태로 수집될 수 있다. 본 발명의 제1 실시예는 컴퓨터의 사양 정보 및 게임 클라이언트의 정보들을 수집하여 사용자의 과몰입 여부를 진단할 수 있다. 본 발명의 제2 실시예는 사용자의 게임 실행 입력 정보 및 사용자의 표정 정보를 수집하여 사용자의 과몰입 여부를 진단할 수 있다. 본 발명의 제3 실시예는 컴퓨터의 사양 정보, 게임 클라이언트의 정보, 사용자의 게임 실행 입력 정보 및 사용자의 표정 정보를 수집하여 사용자의 과몰입 여부를 진단할 수 있다.
이하 설명되는 본 발명의 다양한 실시예들은 어플리케이션 서버에서 일정 기간 동안 설정된 사용자들에 의해 실행되는 어플리케이션의 실행 정보들을 수집하여 학습하고, 학습된 결과에 따른 기준정보들을 생성하여 데이터베이스화할 수 있다. 그리고 사용자들이 어플리케이션을 실행할 때 데이터베이스화된 기준정보들을 다운로드할 수 있다. 본 발명의 다양한 실시예들에서는 어플리케이션에 대응되는 기준정보 및 감성표현 에이전트를 어플리케이션 서버가 구비하고, 어플리케이션 실행시 이를 클라이언트가 다운로드하여 어플리케이션의 사용자 과몰입 및 감성 표현을 수행하는 동작으로 설명될 것이다. 그러나 어플리케이션에 대응되는 기준정보 및 감성표현 에이전트를 어플리케이션 서버가 구비하고, 어플리케이션 실행시 클라이언트는 어플리케이션의 실행정보들을 수집하여 어플리케이션 서버에 전달하며, 어플리케이션 서버가 클라이언트의 어플리케이션 실행 정보를 분석하여 사용자의 몰입 정도를 진단하고, 진단결과에 기반하는 감성 표현 정보를 클라이언트에 다운로드할 수도 있다.
먼저 본 발명의 제1 실시예에 따른 과몰입 진단 장치 및 방법을 살펴본다.
게임 서버(예를 들면 도 1의 어플리케이션 서버(251))는 먼저 사용자의 게임 과몰입을 진단하기 위한 기준 정보를 생성할 수 있다. 이를 위하여, 게임서버는 설정된 수의 클라이언트들이 일정 기간 동안 실행하는 게임 플레이 데이터에 기반하여 기준정보를 생성할 수 있다. 예를 들면, 수개월(예를들면 6개월에서 1년 사이) 동안 수십명 내지 수백명의 사용자들로부터 게임 플레이 데이터들을 수집할 수 있다. 게임에 참여하는 클라이언트들은 하루 또는 일주일에 일정 시간 이상 이상에 게임을 플레이하는 사용자들이 될 수 있으며, 본 발명의 제1 실시예에 따른 프로그램들을 설치할 수 있다.
도 3a ? 도 3d는 본 발명의 다양한 실시예(예를 들면, 제1 실시예)에 기반하여 사용자의 과몰입 상태를 진단하는 예를 도시하는 도면이다. 도 3a 및 도 3b는 상대적 과몰입 상태를 비교하기 위한 히트맵 데이터의 예를 도시하는 도면이며, 도 3c는 수집되는 사용자들의 플레이 데이터들을 학습하는 장치의 구성 예를 도시하는 도면이며, 도 3d는 딥러닝 학습에 의해 분석된 사용자의 분포도를 예시하는 도면이다.
클라이언트들로부터 게임 플레이 데이터들이 수집되면, 게임 서버는 개인별로 수집한 데이터에서 게임을 플레이한 시간대 데이터를 통해 히트맵(Heat Map)을 생성해 도 3a 및 도 3b와 같이 표시할 수 있다. 도 3a 및 도 3b의 히트맵 데이터에서 붉은 색이 짙을수록 해당 시간대에 반복적으로 플레이를 했다는 의미가 될 수 있다. 게임 서버는 생성된 데이터를 통해 개인의 플레이 패턴을 7*24(일주일 단위로 하루 24시간의 히트맵)의 벡터로 재구성 할 수 있다.
새로운 사용자의 7*24 형태의 플레이 패턴 벡터가 들어오면, 게임 서버는 도 3c와 같이 이를 분류하기 위하여 딥 러닝(deep learning) 모형에 기반하여 예측 모형을 구축할 수 있다. 딥 러닝은 7*24 벡터 형태의 입력 데이터(input data)를 받아들여 강한 과몰입, 약한 과몰입, 과몰임 아님 3개의 아웃풋(output) 결과 중 하나를 예측할 수 있다. 본 발명의 다양한 실시예들에 따른 딥 러닝 모형은 도 3c에 도시된 바와 같은 3개의 히든 레이어로 구성할 수 있다. 그리고 각 레이어당 1024, 512, 1024개의 뉴런을 할당하여 예측 모형을 구축할 수 있다. 도 3c의 딥 러닝의 구현 예는 Google Tensorflow 라이브러리를 활용하여 Python 환경에 기반하여 구축한 예를 도시하고 있다. 본 발명의 다양한 실시예들에 따르면, 10명의 새로운 사용자 패턴이 들어왔을 때 80%의 정확도로 3가지 과몰입 패턴을 분류해 내는 것을 확인할 수 있다. 도 3d는 MPCA 기법에 기반하여 분석된 사용자 분포도의 표시 예를 도시하는 도면이다.
상기 도 3a ? 도 3d에 도시된 바와 같이 설정된 기간 동안 게임에 참여하는 복수의 사용자들에 의해 발생되는 플레이 데이터들을 학습하여 게임 기준 정보를 생성할 수 있다. 그리고 생성된 게임 기준 정보는 데이터베이스화 저장될 수 있다. 그리고 이후 클라이언트가 게임 서버에 접속되어 게임을 실행할 때, 클라이언트는 게임 기준정보에 기반하여 사용자의 과몰입 정도를 측정할 수 있다.
도 4는 본 발명의 제1 실시예에 따른 어플리케이션 과몰입 진단장치의 구성을 도시하는 도면이다.
도 4를 참조하면, 클라이언트의 구성은 도 2와 같은 구성을 가질 수 있다. 그리고 클라이언트의 프로세서(예를 들면, 도 2의 프로세서(200))는 수집모듈(410), 진단모듈(420), 표현모듈(430) 및 데이터베이스(440)을 포함할 수 있다. 클라이언트는 게임을 실행하는 사용자 데이터를 수집하여 사용자의 과몰입 여부를 진단할 수 있다. 클라이언트는 게임을 실행할 때 NTP(Network Time Protocol) 서버를 통해 게임 서버와 시간 동기화를 수행할 수 있으며, 동기화 이후에는 어떤 게임 클라이언트에서 측정을 하더라도 동일한 시간대에서 데이터 측정이 가능할 수 있다.
데이터베이스(440)는 프로세서(예를 들면 도 2의 프로세서(200))의 제어 하에 게임서버에서 다운로드되는 게임 기준정보를 저장할 수 있다. 게임 기준정보는 도 3a ? 도 3d에서 설명된 바와 같이 게임 서버에서 학습된 정보로서, 사용자의 과몰입 여부를 진단하기 위한 기준 정보가 될 수 있다. 프로세서는 최초 게임 서버에 접속될 때 게임서버로부터 게임 기준정보를 다운로드하여 저장할 수 있다. 또한 프로세서는 게임서버에 접속될 때마다 게임서버로부터 게임 기준정보를 다운로드할 수 있다.
클라이언트의 수집모듈은 사용자의 컴퓨터 사양 정보를 수집하는 환경수집모듈(413) 및 게임 플레이 패턴 정보를 수집하는 패턴 수집모듈(415)를 포함할 수 있다. 상기 환경 정보는 컴퓨터의 사양 및 PC 로그 정보들을 포함할 수 있다. 플레이 패턴 정보는 게임 이름, 게임 장르, 시작 시간, 종료 시간, 실제 플레이 시간, 마우스 이벤트 및 키보드 이벤트 정보 등이 될 수 있다. 프로세서는 사용자의 선택에 따라 클라이언트를 트레이에 아이콘 형태로 숨길 수 있으며 별도의 윈도우를 통해 자신의 게임 플레이 정보를 확인할 수 있다. 따라서 사용자의 선택에 따라 클라이언트는 과몰입 여부를 진단하는 동작을 하지 않는 일반 게임을 실행할 수도 있다.
진단모듈(420)는 수집모듈(410)에서 수집되는 환경 정보 및 플레이 패턴 정보들을 분석하는 분석 모듈(423)과, 분석모듈(423)에서 분석된 게임 실행 정보를 데이터베이스에 저장된 게임 기준정보에 기반하여 과몰입 여부를 판정하는 판정모듈(425)를 포함할 수 있다. 즉, 분석모듈(420)는 수집모듈(410)에서 수집되는 정보들을 분석하여 학습된 게임 기준정보에 적용하기 위한 게임 실행 정보들을 생성할 수 있으며, 판정모듈(425)는 학습된 게임 기준정보에 생성된 게임 실행정보들을 적용하여 사용자의 게임 과몰입 여부를 판정할 수 있다.
표현모듈(430)은 진단모듈(420)에서 진단된 결과에 기반하여 사용자의 상태 및 진단 결과를 감성적으로 표현할 수 있다. 표현 모듈(430)은 게이미피케이션을 표현하는 모듈이 될 수 있다.
도 5a 및 도 5b는 본 발명의 다양한 실시예들에 따라 게임 진단 결과를 표현하는 예를 도시하는 도면이다. 도 5a는 캐릭터 에이전트 및 감정 표현을 예시하는 도면이다. 도 5b는 캐릭터 에이전트와 연동되는 스토리텔링 노드 그래프의 예를 도시하는 도면이다.
본 발명의 실시예에 따른 게임 클라이언트는 사용자 플레이 패턴을 기록할 때 백그라운드에서 실행되는 캐릭터 에이전트(예를 들면, ECA(Embodied Conversational Agents)가 탑재될 수 있다. 캐릭터 에이전트는 게임 서버로부터 다운로드되어 데이터베이스(440)에 저장될 수 있다. 도 5a에 도시된 바와 같이 ECA는 10가지 이상의 감정을 표현할 수 있는 캐릭터(예를 들면, 아바타)들을 포함할 수 있다. 표현모듈(430)은 사용자와 인터랙션하며 진단 결과를 캐릭터 에이전트 형태로 표시부(예를 들면 도 2의 표시부(250)) 및 스피커를 통해 표현함으로써, 사용자의 심리적 방어기제에 미치는 영향을 줄여줄 수 있다. 도 5b에 도시된 바와 같이 ECA가 주로 하는 역할은 여러 가지 감정표현을 이용하여 현재 사용자의 게임 플레이 패턴에 대한 정보를 전달하는 것이 될 수 있다. 이는 사용자에게 친근감을 주고 과몰입 상태 측정 솔루션에 대한 거부반응을 줄여주는 역할을 할 수 있다. 또한 수평 확장형 스토리텔링 생성 기술을 접목하여 사용자의 상태를 기반으로 동적 이야기 생성을 시도할 수 있으며, 이를 통해 과몰입 상태의 플레이어의 게임 플레이 감소를 자연스럽게 유도할 수 있다.
예를 들면, 게임 서버에서 다운로드되는 게임 기준정보는 컴퓨터 사양 정보 및 플레이 패턴 데이터에 의해 학습된 정보가 될 수 있다. 이런 경우, 도 3c와 같은 딥러닝 기반의 학습 모형에서 학습되는 입력 데이터들은 컴퓨터 사양 정보, 게임 이름, 게임 장르, 게임 시작 시간, 게임 종료시간, 실제 플레이 시간, 마우스 이벤트, 키보드 이벤트의 정보들이 입력데이터가 될 수 있다. 게임 서버는 설정된 기간 동안 복수의 인원들에서 입력되는 위와 같은 정보들을 학습하며, 학습 결과에 기반하여 입력데이터들에 따른 과몰입, 몰입 및 정상 등의 3개의 상태로 분류할 수 있는 딥러닝 기반의 학습 모델을 구현할 수 있다. 그리고 클라이언트가 접속되어 게임을 실행할 때 구현된 딥러닝 기반의 학습 모델을 게임 기준정보로 다운로드할 수 있다.
클라이언트는 게임을 실행할 때 컴퓨터 사양정보 및 사용자에 의해 실행되는 플레이 패턴 정보들을 수집하고, 수집된 게임 실행 정보들을 다운로드된 게임 기준정보에 적용하여 게임 중의 사용자가 몰입 정도를 진단할 수 있다. 예를들면, 사용자가 심야에 일반 사용자들에 의해 학습된 게임 시간을 초과하도록 게임을 실행하고 있으면, 클라이언트는 게임 기준정보에 기반하여 사용자에게 과몰입 상태임을 감성적으로 표현할 수 있다.
본 발명의 제2 실시예에서는 게임을 실행하는 중에서 입력되는 정보 및 사용자의 표정(및/또는 자세) 정보를 수집하여 사용자의 게임 과몰입 여부를 진단하는 장치 및 방법을 제공할 수 있다. 게임을 수행하는 사용자는 특별한 행동을 할 수 있다. 본 발명의 제2 실시예는 게임 플레이 환경에서 비 침투적인 방법을 통해 수집되는 사용자의 생체 정보, 특징 및 반복적인 패턴에 기반하여 게임 중의 사용자의 생체 정보 변화 및 특이 행동을 탐지하여 사용자의 게임 과몰입 여부를 진단할 수 있다. 사용자의 입력 정보는 입력부(예를 들면 도 2의 입력부(240))에서 발생되는 마우스 및 키보드의 입력신호들이 될 수 있다. 그리고 사용자의 표정 정보는 카메라(예를 들면 도 2의 카메라(230))에서 획득되는 사용자의 이미지가 될 수 있다.
본 발명의 실시예에서는 게임을 실행하는 중에서 사용자의 생체 변화를 탐지하여 과몰입 여부를 진단할 수 있다. 도 6a ? 도 6d는 본 발명의 실시예에 따라 게임을 실행하는 중에 사용자의 생체 변화를 감지할 수 있는 마우스의 구성을 도시하는 도면이다.
도 6a를 참조하면, 마우스(100)는 두 개의 FSR 센서(610, 615), 두 개의 GSR 센서(620, 625) 및 온도 센서(230)을 구비할 수 있다.
두 개의 FSR 센서(610, 615)는 도 6b에 도시된 바와 같이, 버튼 접점 부분에 각각 위치될 수 있으며, 손가락 면적에 무관하게 버튼의 누름 강도를 감지할 수 있다. 오른손 잡이인 경우, FSR 센서(610)는 왼쪽 버튼 누름 강도(검지 누름 강도)를 측정할 수 있으며, FSR 센서(615) 오른쪽 버튼 누름 강도(중지 누름 강도)를 측정할 수 있다. 두 개의 GSR 센서(620, 625)는 도 6c에 도시된 바와 같이, 손가락이 닿는 부분인 버튼들이 도체들로 처리될 수 있다. 각 도체들은 GSR 센서(620, 625)와 내부적으로 연결되어 있으며, 검지와 중지 사이에 흐르는 전류의 강도를 측정할 수 있다. 저항이 높을수록 사용자의 심리적 안정감이 높다는 것을 의미하고, 반대로 저항이 낮을수록 심리적 안정감이 낮다는 것을 의미할 수 있다. 오른손 잡이인 경우, GSR 센서(620)는 오른쪽 피부 전도도(검지 전도도)를 측정할 수 있으며, GSR 센서(620)는 오른쪽 피부 전도도(중지 전도도)를 측정할 수 있다. 온도 센서(630) 도 6d에 도시된 바와 같이 적외선 온도 센서(Infrared thermometer)가 될 수 있으며, 비침습적인 손바닥 온도를 측정할 수 있다. 온도 센서(630)는 적외선을 이용하기 때문에 대상과의 거리나 습도 등에 영향을 적게 받아 정확하게 사용자의 온도를 측정할 수 있다.
FSR1 센서(610) 및 FSR6 센서(615)는 각각 오른손잡이인 경우 검지 및 중지(왼손잡이인 경우 중지와 검지)의 압력을 감지하기 위한 압력 센서로서, 마우스에 가해지는 물리적인 압력, 무게 등을 측정할 수 있다. FSR 센서(610, 615)는 압력이 없을 때에는 큰 저항 값을 가지며, 압력에 비례하여 저항 값이 낮아질 수 있다. GSR1 센서(620) 및 GSR2 센서(625)는 각각 오른손잡이인 경우 검지 및 중지(왼손잡이인 경우 중지와 검지)의 피부 습기에 의한 전류 변화를 감지할 수 있는 센서로서, 사용자의 흥분과 같은 감정의 변화를 감지할 수 있다. 대뇌를 제어하는 자율 신경계는 교감 신경계와 부교감 신경계로 나뉠 수 있으며, 피부의 습기 변화는 교감 신경계에 의해 제어될 수 있다. 예를 들면, 강한 감정이 발생되면, 교감 신경계에 의해 피부 습도가 변할 수 있으며, GSR 센서(620, 625)는 이런 변화를 저항의 변화로 감지할 수 있다. GSR(Galvanic skin response)은 생리적인 활동에 따른 피부의 전기 임피던스와 그 변화를 의미할 수 있으며, 손가락 부위에 땀샘의 활동은 전신적인 자극이나 주변의 상황에 민감할 수 있다. 본 발명의 다양한 실시예들에 따른 GSR 센서(620, 625)는 두 전극 사이에 손가락의 습기에 따른 저항을 측정하여 사용자의 상태를 감지할 수 있다. 온도 센서(630)는 비침습적인 손바닥 온도를 측정할 수 있다.
사용자가 마우스를 사용하는데 있어 2개의 손가락을 각각 양쪽 버튼 위에 올려놓고 사용한다는 전제하에 사용자의 생체 신호를 받을 마우스의 센서(FSR 센서, GSR 센서, 온도 센서)들은 도 6a와 같이 장착할 수 있다. 마우스는 직렬 통신 방식으로 사용자의 센서 측정값을 프로세서에 제공할 수 있다. 양쪽 각 버튼 아래 FSR센서(210,215)을 장착할 수 있으며, FSR 센서(210, 215)에서 감지되는 신호들은 각각 사용자가 마우스의 해당하는 버튼에 가하는 압력의 세기를 나타낼 수 있다. GSR 센서(620, 625)는 두 접점 사이의 저항을 측정하기 때문에 사용자가 일반으로 두 손가락을 올려놓는 마우스(100)의 버튼 양쪽에 알루미늄 테이프를 붙여 GSR 값들을 측정할 수 있다. GSR 센서(620, 625)에서 감지되는 신호들은 사용자의 감정 변화가 심할수록 낮아지는 형태로 감지될 수 있다. 온도 센서(230)는 마우스(100)의 아래 쪽에 있어 사용자의 손바닥 근처에 장착할 수 있으며, 사용자의 손바닥 온도를 측정할 수 있다.
또한 마우스는 버튼 클릭 및 마우스의 이동을 추적할 수 있다. 즉, 사용자는 마우스를 통해 게임 아이템을 선택 또는 해제하기 위한 클릭 동작을 수행할 수 있으며, 원하는 아이템을 선택하기 위하여 드래그하는 동작을 수행할 수 있다. 프로세서는 사용자의 마우스 조작(클릭 및 드래그)을 인식할 수 있다.
프로세서는 게임 실행에 따른 사용자의 응답 결과를 수집할 수 있으며, 응답 결과가 수신되면 해당 질문에 대한 응답 결과 및 사용자의 생체 정보에 기반하여 사용자의 상태를 판정할 수 있다. 프로세서는 마우스에서 출력되는 FSR 센서, GSR 센서 및 온도 센서들의 평균값을 계산할 수 있다. 이때 평균값을 계산하는 구간은 게임 정보가 표시되는 시점에서 사용자가 응답하는 시점까지의 구간이 될 수 있다. 또한 평균값을 계산하는 방법은 노이즈를 제거하기 위하여 측정된 센서의 값들 중에서 설정된 비율의 최대값 및 최소값들을 제거한 나머지 측정 값들을 평균한 값이 될 수 있다. 평균값은 각 센서들 각각에 대하여 구할 수 있다. 이후 프로세서는 각 센서들의 측정값을 분석할 수 있다. 측정값을 분석하는 방법은 각 센서 출력값의 기준값들과 비교하는 방법이 될 수 있다. 기준값은 실험에 의해 미리 설정된 값이 될 수 있다. 프로세서는 FSR 측정값, GSR 측정값 및 온도센서의 측정값들을 각각 대응되는 기준값들과 비교 분석하여 각 측정값들이 정상 범위의 값들로 측정되었는가를 분석할 수 있다. 즉, 프로세서는 FSR, GSR, 온도 측정값들이 모두 정상 범위의 값들로 측정되는 경우, 하나의 측정값이 정상 범위를 벗어나는 경우, 두 개 이상의 측정값들이 정상 범위를 벗어나는 경우들을 분석하여 사용자의 상태를 판정할 수 있다.
또한 게임을 실행하는 중에 사용자들은 몰입 정도에 따라 공통적인 반응을 할 수 있다. 주로 나타나는 사용자의 행동들을 살펴보면, 몸의 움직임이 전후 또는 좌우 방향으로 커질 수 있으며, 표정이 변할 수 있다. 표정 변화는 눈을 크게 뜨거나, 눈썹이 위로 올라가거나, 입이 커지거나, 눈 깜빡임의 변화가 많아질 수 있다. 이런 사용자의 행동은 대부분 복합적으로 나타날 수 있다. 이와 같은 사용자의 행동을 바탕으로, 복합적인 결과에 대한 의미를 찾기 위해 키보드 사용량에 때한 키보드 사용 행동군을 정리할 필요가 있다. 키보드 사용은 반복적인 패턴 검출을 위한 키스트로크(keystroke list for repeated pattern detection)는 네비게이션 키(arrow keypad)를 통해 키입력을 매핑(left, right, up, down)할 수 있다.
게임을 하는 중에 몰입 정도에 따라 사용자의 얼굴 표정 변화는 다양하게 변화될 수 있다. 본 발명의 실시예에서는 게임을 실행하는 상태에서 사용자의 얼굴 표정 변화를 탐지하여 게임의 몰입 정도를 판단할 수 있다.
도 7a ? 도 7b는 본 발명의 실시예에 따라 얼굴 표정을 인식하기 위한 특징점의 예를 도시하는 도면이다.
도 7을 참조하면, 얼굴 표정은 얼굴 특징점 데이터들을 신경망 회로를 통해 학습하여 인식할 수 있다. 신경망 회로를 활용하기 위해서는 적절한 숫자의 노드를 가지도록 층 설정하는 것이 중요하며, 본 발명의 실시예에서는 도 7에 도시된 바와 같이 얼굴 특징 점들을 24개 그룹으로 다시 나누어 표정 인식을 할 수 있다. 하기의 <표 1>은 표정 변화에 일반적으로 가장 큰 영향을 미치는 특징 점들의 예를 나타내고 있다.
각 그룹에 해당하는 특징점의 움직임 변화량의 합은 신경망의 학습에 사용할 수 있다. 신경망회로(MATLAB Neural Network Toolbox)의 입력층(input layer)은 상기 <표 2>와 같은 24개 집합의 노드로 사용할 수 있다. 출력층(output layer)은 인식하고자 하는 사용자의 몰입 정도를 나타내는 출력값으로 설정할 수 있다. 숨은 층(hidden layer)은 경험적으로 노드를 구성하여 사용할 수 있다. 신경망 회로의 학습을 수행하기 위하여, 일정 기간 동안 해당 게임을 수행하는 사용자들의 게임 플레이 데이터들을 이용하여 개인별로 몰입 정도에 대응되는 데이터를 산출하여 학습할 수 있다.
사용자 표정 데이터를 이용한 실시간으로 사용자의 게임 몰입 여부를 진단하기 위한 게임 기준정보를 생성할 수 있다. 게임들은 게임의 결과에 커다란 영향을 주는 지표를 제공할 수 있다. 예를 들면, “오버워치” 게임의 경우, 게임 내부에서 제공하는 지표인 ‘폭주 게이지’를 제공할 수 있다. 폭주 게이지는 게임 승리에 영향을 주는 행동을 했을 때 상승하며, 시간이 지날수록 감소하는 지표가 될 수 있다. 따라서 게임 기준 정보를 생성할 때, 게임 내부에서 제공하는 지표와 게임 플레이인 사용자의 행동을 연계시켜 과몰입 여부를 판정하는 것이 효과적일 수 있다.
이를 위하여, 게임 서버(예를들면 오버워치 게임 서버)는 일정 시간의 동안 설정된 인원들의 게임 플레이 데이터 및 표정 데이터를 수집하여 학습하고, 학습된 결과를 토대로 게임 기준 정보를 생성할 수 있다. 도 7b는 게임(오버워치 게임)를 실행하는 상태에서 사용자의 얼굴 표정을 인식하여 게임 기준정보를 생성하는 예를 도시하는 도면이다. 도 7b에서 750은 표시부의 화면이며, 751은 표시부에 표시되는 게임(오버워치 게임)이 될 수 있으며, 753은 게임에서 제공하는 지표(폭주 게이지)가 될 수 있다. 760은 카메라에서 획득되는 사용자의 이미지가 될 수 있으며, 763은 게임 플레이의 얼굴 특징점들이 될 수 있다. 770은 지표인 폭주 게이지 상태에 따른 몰입 태그 알람이며, 770은 사용자의 몰입 상태를 표정변화 상태에 태깅한 결과가 될 수 있다.
몰입 상태를 객관적인 기준으로 나타내기 위해 오버워치 게임 내부에서 제공하는 지표(폭주 게이지)(753)를 사용할 수 있다. 폭주 게이지는 상기한 바와 같이 게임 승리에 영향을 주는 행동을 했을 때 상승하며 시간이 지날수록 감소하며, 폭주게이지(753)에 영향을 주는 요인은 적 처치, 아군 회복, 거점 점령, 목표물 호위 등이 있을 수 있다. 수집한 게임 데이터와 표정 데이터를 대조하여 폭주 게이지 양을 수치화 하여 태깅 값을 부여할 수 있다. 도 7의 771과 같이 폭주 게이지 양이 0에서 중간지점까지의 범위를 가질 때는 0, 도 7의 773과 같이 중간부터 폭주상태(화살표 부분)까지의 범위를 가질 때는 1, 도 7의 775와 같이 폭주 상태 이상일 경우 2의 값을 주는 것으로 가정한다. 태깅된 데이터로부터 가장 적은 숫자를 가진 집단의 개수에 맞춰서 나머지 데이터를 랜덤 샘플링하고, 그 뒤 데이터의 80%를 (1024, 512, 512)의 3개 층을 가진 MATLAB Neural Network Toolbox를 이용해 학습할 수 있다. 이런 경우, 나머지 20%의 데이터를 통해 테스트 과정을 거친 결과 85%정도의 정확도를 보일 수 있었다.
도 8은 본 발명의 제2 실시예에 따른 어플리케이션 과몰입 진단 장치의 구성을 도시하는 도면이다.
도 8을 참조하면, 클라이언트의 구성은 도 2와 같은 구성을 가질 수 있다. 그리고 클라이언트의 프로세서(예를 들면, 도 2의 프로세서(200))는 수집모듈(810), 진단모듈(820), 표현모듈(830) 및 데이터베이스(840)을 포함할 수 있다. 클라이언트는 게임을 실행하는 사용자 데이터를 수집하여 사용자의 과몰입 여부를 진단할 수 있다. 클라이언트는 게임을 실행할 때 NTP(Network Time Protocol) 서버를 통해 게임 서버와 시간 동기화를 수행할 수 있으며, 동기화 이후에는 어떤 게임 클라이언트에서 측정을 하더라도 동일한 시간대에서 데이터 측정이 가능할 수 있다.
데이터베이스(840)는 프로세서(예를 들면 도 2의 프로세서(200))의 제어하에 게임서버에서 다운로드되는 게임 기준정보를 저장할 수 있다. 게임 기준정보는 도 6a ? 도 7b에서 설명된 바와 같이 학습된 정보로서, 사용자의 과몰입 여부를 진단하기 위한 게임 기준 정보가 될 수 있다. 프로세서는 최초 게임 서버에 접속될 때 게임서버로부터 게임 기준정보를 다운로드하여 저장할 수 있다. 또한 프로세서는 게임서버에 접속될 때마다 게임서버로부터 게임 기준정보를 다운로드할 수 있다. 데이터베이스(840)에 저장되는 게임 기준정보는 마우스에서 획득되는 생체정보(FSR, GSR, 온도 정보)를 토대로 사용자의 과몰입 여부를 판단하기 위한 기준 값들을 포함할 수 있다. 또한 데이터베이스(840)에 저장되는 게임 기준정보는 카메라에서 획득되는 사용자의 얼굴 이미지 정보를 토대로 사용자의 과몰입 여부를 판단하기 위한 학습된 표정정보들을 포함할 수 있다.
클라이언트의 수집모듈(810)은 마우스에서 획득되는 FSR, GSR, 온도의 생체 정보 들을 수집하는 마우스정보 수집모듈(813) 및 게임 중에서 사용자의 얼굴 표정 정보를 수집하는 카메라 정보 수집모듈(815)를 포함할 수 있다. 또한 수집모듈(810)은 게임 중에서 사용자의 키보드 조작에 따른 키 스트로크 정보를 수신하는 키보드 정보 수집모듈을 더 포함할 수 있으며, 마우스 정보 수집모듈(813)은 마우스의 클릭 및 드래그 정보들을 더 수집할 수 있다.
진단모듈(820)는 수집모듈(810)에서 수집되는 마우스 정보 및 얼굴 표정 정보를 분석하는 분석 모듈(823)과, 분석모듈(823)에서 분석된 게임 실행 정보를 데이터베이스에 저장된 게임 기준정보에 기반하여 과몰입 여부를 판정하는 판정모듈(825)를 포함할 수 있다. 즉, 분석모듈(820)는 수집모듈(810)에서 수집되는 정보들을 분석하여 학습된 게임 기준정보에 적용하기 위한 게임 실행 정보들을 생성할 수 있으며, 판정모듈(825)는 학습된 게임 기준정보에 생성된 게임 실행정보들을 적용하여 사용자의 게임 과몰입 여부를 판정할 수 있다. 분석모듈(820)은 마우스에서 수집된 사용자의 생체 정보들을 기준값들과 비교 분석하여 긴장 여부를 나타내는 분석값들로 출력할 수 있다. 또한 분석모듈(820)는 사용자의 얼굴 표정 정보에서 각 특징점들을 추출하고, 추출된 특징점들을 학습된 게임 기준정보에 적용하여 몰입 여부를 판정하기 위한 분석 값들을 출력할 수 있다. 그러면 판정모듈(825)는 상기 생체 정보 및 얼굴 표정의 분석 값들을 기반으로 사용자의 게임 몰입 상태를 판정할 수 있다.
표현모듈(830)은 진단모듈(820)에서 진단된 결과에 기반하여 사용자의 상태 및 진단 결과를 감성적으로 표현할 수 있다. 표현 모듈(830)은 게이미피케이션을 표현하는 모듈이 될 수 있다. 표현모듈(830)는 상기 도 5a 및 도 5b에서 설명된 바와 같은 방법으로 사용자의 과몰입, 몰입 또는 정상 상태에 기반하는 감성 표현을 할 수 있다.
또한 클라이언트는 도 7b에 도시된 바와 같이 게임에서 제공하는 지표에 기반하여 사용자의 과몰입 여부를 진단할 수 있다. 그러면 분석모듈(823)의 표정 분석모듈은 수집되는 게임 데이터와 얼굴 표정 데이터를 대조하여 게임 지표의 양을 수치화하여 태깅 값을 부여할 수 있다. 그리고 태깅 값이 부여된 게임 실행 정보를 학습된 게임 기준정부에 적용하여 얼굴 표정에 기반하는 분석값을 출력할 수 있다.
또한 수집모듈(810)에서 마우스의 클릭 및 드래그 정보 및 키보드의 키 스트로크 정보들을 더 수집하는 경우, 판단모듈(820)의 분석모듈(823)은 마우스의 동작(클릭 및 드래그) 정보 및 키보드의 키 스트로크 정보를 분석하는 구성을 더 포함할 수 있다. 그리고 판정모듈(825)는 사용자의 생체 정보 및 얼굴 표정 정보의 분석값들에 마우스의 동작 분석 값 및 키 스트로크 분석값들을 포함시켜 사용자의 게임 몰입 정도를 진단할 수 있다.
도 9는 본 발명의 제3 실시예에 따른 어플리케이션 과몰입 진단장치의 구성을 도시하는 도면이다.
도 9를 참조하면, 클라이언트의 구성은 도 2와 같은 구성을 가질 수 있다. 그리고 클라이언트의 프로세서(예를 들면, 도 2의 프로세서(200))는 수집모듈(910), 진단모듈(920), 표현모듈(930) 및 데이터베이스(940)을 포함할 수 있다. 클라이언트는 게임을 실행하는 사용자 데이터를 수집하여 사용자의 과몰입 여부를 진단할 수 있다. 클라이언트는 게임을 실행할 때 NTP(Network Time Protocol) 서버를 통해 게임 서버와 시간 동기화를 수행할 수 있으며, 동기화 이후에는 어떤 게임 클라이언트에서 측정을 하더라도 동일한 시간대에서 데이터 측정이 가능할 수 있다.
프로세서는 사용자의 선택에 따라 클라이언트를 트레이에 아이콘 형태로 숨길 수 있으며 별도의 윈도우를 통해 자신의 게임 플레이 정보를 확인할 수 있다. 따라서 사용자의 선택에 따라 클라이언트는 과몰입 여부를 진단하면서 게임을 실행하거나 또는 일반 게임으로 실행할 수 있다.
데이터베이스(940)는 프로세서(예를 들면 도 2의 프로세서(200))의 제어하에 게임서버에서 다운로드되는 게임 기준정보를 저장할 수 있다. 게임 기준정보는 도 3a ? 도 3d에서 설명된 바와 같이 게임 서버에서 학습된 정보로서, 사용자의 과몰입 여부를 진단하기 위한 기준 정보가 될 수 있다. 게임서버로부터 다운로드되는 게임 기준정보는 게임의 플레이 패턴에 기반하여 학습된 기준정보, 사용자의 생체 정보에 기반하여 학습된 기준정보 및 사용자의 표정 정보에 기반하여 학습된 기준정보들을 포함할 수 있다. 프로세서는 최초 게임 서버에 접속될 때 게임서버로부터 게임 기준정보들을 다운로드하여 저장할 수 있다. 또한 프로세서는 게임서버에 접속될 때마다 게임서버로부터 게임 기준정보를 다운로드할 수 있다.
클라이언트의 수집모듈은 사용자의 컴퓨터 사양 정보를 수집하는 환경수집모듈(913), 게임 플레이 패턴 정보를 수집하는 패턴 수집모듈(915), 마우스정보 수집모듈(917) 및 카메라 정보 수집모듈(919)를 포함할 수 있다. 상기 환경정보는 컴퓨터의 사양 및 PC 로그 정보들을 포함할 수 있다. 플레이 패턴 정보는 게임 이름, 게임 장르, 시작 시간, 종료 시간, 실제 플레이 시간 정보 등을 포함할 수 있다. 마우스 정보는 게임을 실행하는 중에 마우스에서 획득되는 FSR, GSR, 온도의 생체 정보 들을 포함할 수 있다. 카메라 정보는 게임을 실행하는 중에 카메라에서 획득되는 사용자의 얼굴 표정 정보가 될 수 있다. 또한 수집모듈(810)은 게임 중에서 사용자의 키보드 조작에 따른 키 스트로크 정보를 수신하는 키보드 정보 수집모듈을 더 포함할 수 있으며, 마우스 정보 수집모듈(813)은 마우스의 클릭 및 드래그 정보들을 더 수집할 수 있다.
진단모듈(920)는 수집모듈(910)에서 수집되는 환경 정보, 플레이 패턴 정보, 생체 정보 및 표정 정보들을 분석하는 분석 모듈(923)과, 분석모듈(923)에서 분석된 게임 실행 정보를 데이터베이스에 저장된 게임 기준정보에 기반하여 과몰입 여부를 판정하는 판정모듈(925)를 포함할 수 있다. 분석모듈(820)은 수집모듈(910)에서 수집되는 환경정보, 플레이 패턴정보, 사용자의 생체정보 및 표정정보들을 데이터베이스(940)에 저장된 대응되는 기준정보들과 각각 비교 분석하여 게임을 실행하는 사용자의 몰입 여부를 판정하기 위한 분석 값들을 출력할 수 있다.
표현모듈(830)은 진단모듈(820)에서 진단된 결과에 기반하여 사용자의 상태 및 진단 결과를 감성적으로 표현할 수 있다. 표현 모듈(830)은 게이미피케이션을 표현하는 모듈이 될 수 있다. 표현모듈(830)는 상기 도 5a 및 도 5b에서 설명된 바와 같은 방법으로 사용자의 과몰입, 몰입 또는 정상 상태에 기반하는 감성 표현을 할 수 있다.
상기한 바와 같이, 본 발명의 다양한 실시예들은 어플리케이션을 실행하는 사용자의 상태를 진단할 수 있다. 이를 위하여, 본 발명의 다양한 실시예들은 각각 대응되는 어플리케이션을 수행하면서 사용자의 어플리케이션 실행 정보들을 수집하고, 수집된 정보들을 딥 러닝 기법으로 학습하여 해당 어플리케이션의 기준정보를 생성할 수 있다. 또한 어플리케이션 서버는 사용자의 몰입 정도에 따른 감성 표현 에이전트(ECA(Embodied Conversational Agents))를 탑재할 수 있다. 이후 어플리케이션을 실행할 때, 클라이언트는 해당 어플리케이션 서버로부터 어플리케이션 기준정보 및 감성 표현 에이전트를 다운로드하고, 어플리케이션을 실행하는 중에 사용자의 어플리케이션 실행정보들을 수집할 수 있다. 이후 클라이언트는 다운로드된 어플리케이션의 기준정보와 게임 실행중에 수집되는 어플리케이션 실행정보를 비교 분석하고, 분석된 결과에 기반하여 게임을 실행하는 사용자의 게임 몰입 정도를 진단할 수 있다. 그리고 진단된 몰입 정도에 기반하여 게이미피케이션 기법으로 사용자에게 게임 플레이 패턴에 따른 감성 표현을 할 수 있다.
본 발명의 다양한 실시 예들에서는 어플리케이션에 대응되는 기준정보 및 감성표현 에이전트를 어플리케이션 서버가 구비하고, 어플리케이션 실행시 이를 클라이언트가 다운로드하여 어플리케이션의 사용자 과몰입 및 감성 표현을 수행하는 동작으로 설명하였다. 그러나 어플리케이션에 대응되는 기준정보 및 감성표현 에이전트를 어플리케이션 서버가 구비하고, 어플리케이션 실행시 클라이언트는 어플리케이션의 실행정보들을 수집하여 어플리케이션 서버에 전달하며, 어플리케이션 서버가 클라이언트의 어플리케이션 실행 정보를 분석하여 사용자의 몰입 정도를 진단하고, 진단결과에 기반하는 감성 표현 정보를 클라이언트에 다운로드할 수도 있다.
이하의 설명에서 어플리케이션은 게임으로 가정하여 설명될 것이다.
도 10은 본 발명의 제1 실시예에 따른 사용자 몰입 정도를 진단하는 절차를 도시하는 흐름도이다.
도 10을 참조하면, 클라이언트의 프로세서(예를들면 도 2의 프로세서(200))는 1011 단계에서 게임 서버에 시간 동기화를 수행할 수 있다. 또한 프로세서는 게임 서버로부터 게임의 기준정보 및 감성 표현 에이전트 정보들을 다운로드할 수 있다. 게임 기준정보는 컴퓨터의 사양 정보 및 플레이 패턴 정보들의 기준값이 될 수 있다. 이후 프로세서는 1013 단계에서 컴퓨터의 사양 정보를 수집하고, 1015 단계에서 사용자의 게임 실행 중에서 발생되는 사용자의 플레이 패턴 정보들을 수집할 수 있다. 이후 프로세서는 수집되는 사용자의 플레이 패턴의 실행 정보들과 다운로드한 플레이 패턴의 기준정보들을 비교 분석하며, 1019 단계에서 비교 분석 결과를 기반으로 사용자의 몰입 정도를 판단할 수 있다. 이때 과몰입으로 판단되면, 프로세서는 1019 단계에서 감성 표현 에이전트에서 과몰입에 대응되는 감성 표현 정보들을 억세스하여 표현할 수 있다. 또한 과몰입 상태가 아지면, 프로세서는 1019 단계에서 이를 인식하고, 1023 단계에서 대응되는 몰입 정도에 대응되는 감성 표현 정보를 억세스하여 표현할 수 있다. 위와 같은 1015 단계에서 1023 단계의 동작들은 게임이 종료될 때까지 반복적으로 수행될 수 있다. 이후 사용자가 게임을 종료하면, 프로세서는 1025 단계에서 이를 인식하고, 게임 실행 결과를 저장하고 종료할 수 있다. 또한 프로세서는 사용자의 게임 실행 결과를 게임서버에 전송할 수도 있다.
도 11은 본 발명의 제2 실시예에 따른 사용자 몰입 정도를 진단하는 절차를 도시하는 흐름도이다.
도 11을 참조하면, 클라이언트의 프로세서(예를들면 도 2의 프로세서(200))는 1111 단계에서 게임 서버에 시간 동기화를 수행할 수 있다. 또한 프로세서는 게임 서버로부터 게임의 기준정보 및 감성 표현 에이전트 정보들을 다운로드할 수 있다. 게임 기준정보는 사용자의 상체 변화를 분석하기 위한 기준 정보들 및 사용자의 표정 변화를 분석하기 위한 기준정보들을 포함할 수 있다. 이후 프로세서는 1113 단계에서 게임을 수행하는 중에서 사용자에 의해 발생되는 입력정보들을 수집할 수 있다. 이때 입력정보는 마우스, 키보드 및 카메라를 통해 수집될 수 있다. 마우스는 도 6a ?도 6d에 도시된 바와 같이 사용자의 생체 변화를 감지할 수 있는 이모션 마우스(emotion mouse)일 수 있다. 프로세서는 1117 단계에서 마우스에서 획득되는 FSR, GSR, 온도 등의 사용자 생체정보를 획득할 수 있으며, 1119 단계에서 카메라에서 획득되는 사용자의 얼굴 이미지를 수집할 수 있다. 이후 프로세서는 1121단계에서 수집되는 사용자의 생체 정보를 다운로드된 기준정보에 비교 분석하고, 수집된 사용자의 얼굴 표정 변화 정보를 학습된 기준정보에 적용하여 분석할 수 있다. 이후 프로세서는 1123 단계에서 생체 변화 및 표정 변화에 따른 비교 분석 결과를 기반으로 사용자의 몰입 정도를 판단할 수 있다. 이때 과몰입으로 판단되면, 프로세서는 1025 단계에서 감성 표현 에이전트에서 과몰입에 대응되는 감성 표현 정보들을 억세스하여 표현할 수 있다. 또한 과몰입 상태가 아니면, 프로세서는 1123 단계에서 이를 인식하고, 1027 단계에서 대응되는 몰입 정도에 대응되는 감성 표현 정보를 억세스하여 표현할 수 있다. 위와 같은 1113 단계에서 1127 단계의 동작들은 게임이 종료될 때까지 반복적으로 수행될 수 있다. 이후 사용자가 게임을 종료하면, 프로세서는 1029 단계에서 이를 인식하고, 게임 실행 결과를 저장하고 종료할 수 있다. 또한 프로세서는 사용자의 게임 실행 결과를 게임서버에 전송할 수도 있다.
도 12는 본 발명의 제3 실시예에 따른 사용자 몰입 정도를 진단하는 절차를 도시하는 흐름도이다.
도 12를 참조하면, 클라이언트의 프로세서(예를들면 도 2의 프로세서(200))는 1211 단계에서 게임 서버에 시간 동기화를 수행할 수 있다. 또한 프로세서는 게임 서버로부터 게임의 기준정보 및 감성 표현 에이전트 정보들을 다운로드할 수 있다. 게임 기준정보는 컴퓨터의 사양 기준 정보, 게임의 플레이 패턴 기준 정보, 사용자의 상체 변화를 분석하기 위한 기준 정보들 및 사용자의 표정 변화를 분석하기 위한 기준정보들을 포함할 수 있다. 이후 프로세서는 1213 단계에서 컴퓨터의 사양 정보를 수집할 수 있다. 그리고 프로세서는 1215 단계에서 게임을 수행하는 중에서 사용자에 의해 발생되는 입력정보들을 수집할 수 있다. 이때 입력정보는 사용자가 플레이하는 게임의 패턴 정보와, 마우스, 키보드 및 카메라 등에서 획득되는 정보들이 될 수 있다. 프로세서는 1217 단계에서 사용자의 게임 실행 중에서 발생되는 사용자의 플레이 패턴 정보들을 수집할 수 있다. 또한 프로세서는 1219 단계에서 마우스에서 획득되는 FSR, GSR, 온도 등의 사용자 생체정보를 획득할 수 있으며, 1221 단계에서 카메라에서 획득되는 사용자의 얼굴 이미지를 수집할 수 있다.
프로세서는 1223단계에서 수집되는 사용자의 플레이 패턴 정보, 사용자의 생체 변화 정보 및 사용자의 표정 변화 정보들을 각각 대응되는 기준정보들과 비교 분석하여 각각의 분석 결과 값을 출력할 수 있다. 이후 프로세서는 1225 단계에서 플레이 패턴, 생체 변화 및 표정 변화에 따른 비교 분석 결과를 기반으로 사용자의 몰입 정도를 판단할 수 있다. 이때 과몰입으로 판단되면, 프로세서는 1227 단계에서 감성 표현 에이전트에서 과몰입에 대응되는 감성 표현 정보들을 억세스하여 표현할 수 있다. 또한 과몰입 상태가 아니면, 프로세서는 1225 단계에서 이를 인식하고, 1229 단계에서 대응되는 몰입 정도에 대응되는 감성 표현 정보를 억세스하여 표현할 수 있다. 위와 같은 1215 단계에서 1229 단계의 동작들은 게임이 종료될 때까지 반복적으로 수행될 수 있다. 이후 사용자가 게임을 종료하면, 프로세서는 1231 단계에서 이를 인식하고, 게임 실행 결과를 저장하고 종료할 수 있다. 또한 프로세서는 사용자의 게임 실행 결과를 게임서버에 전송할 수도 있다.
도 10 내지 도 12에 도시된 사용자의 과몰입 진단 방법은 게임 서버에 수행할 수도 있다. 즉, 게임 서버가 각 입력들에 대응되는 기준정보들 및 감성 표현 에이전트들을 구비하고, 각 클라이언트들은 게임을 실행할 때 사용자에 의해 발생되는 게임의 실행정보들을 수집하여 게임 서버에 전송할 수 있다. 그리고 게임 서버는 학습된 기준정보들과 클라이언트에서 전송되는 대응되는 실행 정보들을 비교 분석하여 사용자의 몰입 정도를 진단하고, 진단 결과에 기반하는 감성 표현 에이전트 정보를 클라이언트에 전달할 수도 있다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.