KR20060027180A - 휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에반영하는 방법 및 휴대 단말기 - Google Patents

휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에반영하는 방법 및 휴대 단말기 Download PDF

Info

Publication number
KR20060027180A
KR20060027180A KR1020040076037A KR20040076037A KR20060027180A KR 20060027180 A KR20060027180 A KR 20060027180A KR 1020040076037 A KR1020040076037 A KR 1020040076037A KR 20040076037 A KR20040076037 A KR 20040076037A KR 20060027180 A KR20060027180 A KR 20060027180A
Authority
KR
South Korea
Prior art keywords
information
image
movement
portable terminal
terminal
Prior art date
Application number
KR1020040076037A
Other languages
English (en)
Inventor
김택진
Original Assignee
주식회사 엔씨소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔씨소프트 filed Critical 주식회사 엔씨소프트
Priority to KR1020040076037A priority Critical patent/KR20060027180A/ko
Publication of KR20060027180A publication Critical patent/KR20060027180A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/38Displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 3차원 또는 2차원의 게임 프로그램이나 영상 정보를 처리하는 휴대 단말기 그 자체의 위치와 자세 및 움직임을 영상 정보에 실시간으로 정확하게 반영할 수 있는 장치 및 방법에 관한 것이다. 휴대 단말기는 가속도계와 자이로스코프를 구비하여 관성 공간에서 휴대 단말기의 상하, 좌우, 전후에 생기는 속도 변화와 각도 변화를 감지하고 이 값은 센서 보상 및 관성측정 계산기에 의해 위치 정보와 자세 정보로 변환된다. 휴대 단말기의 제어부는 휴대 단말기의 위치 정보와 자세 정보를 벡터 정보로 변환하여 3차원 영상 정보를 생성한다. 본 발명은 3차원 게임과 같은 영상 정보 처리에서 캐릭터의 움직임이나 시야 조절, 카메라의 위치 조정에도 응용될 수 있을 뿐만 아니라, 2차원 프로그램에서 포인터와 같은 지시 장치나 2차원 화면의 이동, 확대, 축소 변환에도 적용할 수 있고, 카메라에서 사진이나 동영상 합성, 음향 효과 합성에도 사용될 수 있으며, 이동체 내에서 휴대 단말기를 사용할 경우 이동체의 움직임을 보상함으로써 휴대 단말기 그 자체의 움직임이나 자세를 정확하게 3차원 또는 2차원 영상에 반영할 수 있다.

Description

휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에 반영하는 방법 및 휴대 단말기 {Portable Device and Method for Reflecting into Display Information Movements of such a Portable Device in 3-Dimensional Space}
도 1은 본 발명에 따른 휴대 단말기의 하드웨어 구성을 나타내는 블록도.
도 2는 휴대 단말기의 움직임을 표현하기 위한 좌표계.
도 3은 물리모델을 구성하고 대상물체를 배치한 예를 나타내는 3차원 화면.
도 4a 내지 도 4d는 휴대 단말기의 위치와 방향에 따른 시야 공간의 변화를 나타내는 예.
도 5는 휴대 단말기의 움직임에 따른 객체 또는 캐릭터의 이동을 보여주는 예.
도 6은 휴대 단말기의 움직임에 따라 일인칭 슈팅 게임에서 조준 장치가 이동되는 것을 보여주는 예.
도 7은 휴대 단말기의 움직임이 비행 시뮬레이션 게임에서 운동체의 비행 조정 장치로 사용된 예.
도 8a 내지 도 8c는 2차원 프로그램에 본 발명을 응용하였을 때, 휴대 단말기의 움직임에 따른 자세 정보의 예.
도 9는 본 발명을 지도보기 프로그램에 응용하였을 경우의 예로서, 최초 동 작일 경우의 지도 이미지.
도 10은 본 발명을 지도보기 프로그램에 응용하였을 경우의 예로서, 휴대 단말기를 회전하였을 경우의 지도 이미지.
도 11a와 도 11b는 롤(Roll) 또는 피치(Pitch)에 따른 데이터 변화의 예.
도 12는 본 발명을 지도보기 프로그램에 응용하였을 경우의 예로서, 휴대 단말기가 수평 이동한 경우의 지도 이미지.
도 13a 및 도 13b는 휴대 단말기(100)가 정위치에 있을 경우와 그 때의 지도 이미지의 디스플레이.
도 14a 및 도 14b는 휴대 단말기(100)를 움직였을 경우와 그 때의 지도 이미지의 디스플레이.
도 15는 움직이는 이동체에 대한 동작 보정이 가능하도록 보정용 INS와 연결된 휴대용 단말기의 블록도.
도 16a와 도 16b는 본 발명을 카메라 사진과 동영상 합성의 예.
도 17a와 도 17b는 카메라를 회전하였을 때의 사진과 동영상 합성의 예.
본 발명은 휴대 단말기의 움직임을 영상 정보에 반영할 수 있는 게임 장치 및 영상 정보 처리 장치에 관한 것이다.
3차원 또는 2차원 게임 장치나 영상 정보를 처리하는 장치에서는 스위치나, 조이스틱, 마우스와 같은 2차원 지시 장치 등을 통해서는 오브젝트의 3차원적인 움직임 또는 시야 공간의 3차원 변화를 설정하기가 매우 어렵다.
이러한 단점을 해결하기 위해 게임 장치나 영상 정보를 처리하는 장치(즉, 단말기)의 움직임을 영상 정보에 반영하기 위한 기술개발이 이루어졌다. 예컨대, 국내특허공개공보 제2003-47095호 '휴대용 단말기의 키입력 장치 및 방법'에는 휴대용 단말기를 움직이면 이에 따른 방위 정보를 출력하는 기울기 감지 센서와, 기울기 감지센서로부터 출력되는 방위 정보를 입력받아 휴대용 단말기의 움직임을 파악하고 그에 따른 절차를 수행하는 제어부가 개시되어 있다.
한편, 국내특허공개공보 제2000-63192호 '3차원 공간에서의 위치 결정 장치 및 방법'에는 가속도 센서 또는 기울기 센서를 사용하여 위치 결정 장치의 공간에서의 움직임(가속도의 방향 성분 또는 기울기)을 감지하여 컴퓨터나 이동용 기구의 제어기로 전달함으로써 공간상의 이동에 대응하는 움직임 정보를 이용하여 표시창 위의 커서 위치를 결정하거나 클릭을 가능하게 하고 방향키의 용도로 사용 가능하게 한 기술이 개시되어 있다.
그러나 이러한 종래 기술에서는 단말기의 다양한 움직임을 3차원 영상 또는 2차원 영상에 정확하고 실시간으로 반영하기에는 충분하지 아니하고, 다양한 응용 분야에 적용하기에는 한계가 있다.
본 발명의 목적은 3차원 또는 2차원의 게임 프로그램이나 영상 정보를 처리하는 단말기 그 자체의 위치와 자세 및 움직임을 영상 정보에 실시간으로 정확하게 반영할 수 있는 장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 3차원 공간에서의 움직임에 대한 일체감과 현장감을 개선하기 위한 것이다.
본 발명의 또 다른 목적은 사용하기 편리하고 편의성이 높은 휴대 단말기를 제공하는 것이다.
본 발명에 따른 휴대 단말기는 3차원 또는 2차원의 게임 프로그램이나 영상 정보를 처리하는 휴대 단말기 그 자체의 위치와 자세 및 움직임을 영상 정보에 실시간으로 정확하게 반영한다. 본 발명의 휴대 단말기는 가속도계와 자이로스코프를 구비하여 관성 공간에서 휴대 단말기의 상하, 좌우, 전후에 생기는 속도 변화와 각도 변화를 감지하고 이 값은 센서 보상 및 관성측정 계산기에 의해 위치 정보와 자세 정보로 변환된다. 휴대 단말기의 제어부는 휴대 단말기의 위치 정보와 자세 정보를 벡터 정보로 변환하여 3차원 영상 정보를 생성한다. 본 발명은 3차원 게임과 같은 영상 정보 처리에서 캐릭터의 움직임이나 시야 조절, 카메라의 위치 조정에도 응용될 수 있을 뿐만 아니라, 2차원 프로그램에서 포인터와 같은 지시 장치나 2차원 화면의 이동, 확대, 축소 변환에도 적용할 수 있고, 카메라에서 사진이나 동영상 합성, 음향 효과 합성에도 사용될 수 있으며, 이동체 내에서 휴대 단말기를 사용할 경우 이동체의 움직임을 보상함으로써 휴대 단말기 그 자체의 움직임이나 자세를 정확하게 3차원 또는 2차원 영상에 반영할 수 있다.
이하 도면을 참조로 본 발명의 구현예에 대해 설명한다. 이하의 설명은 본 발명을 이해하기 쉽도록 예를 들어 설명한 것이며 본 발명의 범위를 제한하기 위한 것이 아니다.
구현예
도 1은 본 발명에 따른 휴대 단말기의 하드웨어 구성을 나타내는 블록도이다. 본 발명의 휴대 단말기(100)는 INS(10, Inertial Navigation System, 관성항법시스템 이하 'INS'라 함), 제어부(30), 표시부(50)를 포함한다. 도면을 간단히 하기 위해 도 1에 나타내지는 않았지만, 휴대 단말기(100)는 예컨대, 게임기로 동작하기 위한 사용자 인터페이스(키패드 등)을 포함하고 있다.
단말기(100)의 INS(10)는 하나 또는 그 이상의 가속도계(12), 하나 또는 그 이상의 자이로스코프(14), 센서 보상 및 관성측정 계산기(20)를 포함하며, 제어부(30)는 중앙처리장치(32), ROM(34), RAM(36)을 포함하고, 표시부(50)는 영상 처리부(52), 영상 표시부(54)를 포함할 수 있다.
INS(10)는 휴대 단말기(100) 내에 탑재되어 휴대 단말기(100)의 위치와 자세 등의 상태 벡터를 측정하고 계산한다. INS(10)의 가속도계(12)는 휴대 단말기(100)의 선형 가속도를 감지하여 그 출력을 센서 보상 및 관성측정 계산기(20)로 전달한다. INS(10)의 자이로스코프(14)는 휴대 단말기(100)의 회전 각속도를 감지하여 그 출력을 센서 보상 및 관성측정 계산기(20)로 전달한다.
예컨대 휴대 단말기(100)의 선형적인 움직임은 가속도계(12)가 감지하여 도 2의 3개의 축(X, Y, Z)에 대한 벡터 값(전후, 좌우, 상하 벡터 값)으로 표현할 수 있고, 휴대 단말기(100)의 회전과 같은 움직임은 도 2의 각각의 축에 대한 회전 벡터값[롤(roll), 피치(pitch), 편요(yaw)]으로 표현할 수 있다. 즉, INS(10)의 가속도계(12)와 자이로스코프(14)는 관성 공간에 있는 휴대 단말기(100)의 상하, 좌우, 전후에 생기는 속도 변화와 각도 변화를 읽어 단말기의 속도와 위치, 위치 변화를 알 수 있다. 자이로스코프(14)로는 광학식 자이로스코프, 기계식 자이로스코프, 압전형 진동자이로스코프, 미소기전시스템(MEMS: Micro Electro Mechanical System) 기술을 이용한 초소형 마이크로 자이로스코프 등을 사용할 수 있다.
센서 보상 및 관성측정 계산기(20)는 가속도계(12)와 자이로스코프(14)에서 출력되는 아날로그 신호를 아날로그/디지털 변환을 한 후 적분을 통하여 궤적을 추적하여 위치와 자세 정보로 변환하며 센서의 출력 신호 중 노이즈 신호를 걸러내는 역할을 한다.
제어부(30)는 INS(10)를 초기화하며 데이터 전송의 호스트로서 통신 오류시 재전송 요구 등과 같은 통신상의 제어와 동작 중 위치와 자세의 기준을 응용 프로그램의 요구에 따라 새로 설정하기도 하고 정해진 범위 이외의 데이터가 입력될 경우에는 데이터를 보정하는 역할을 하며, INS(10)로부터 관성 공간에서의 휴대 단말기(100)의 실제 위치와 움직임 데이터를 입력받는다. 또한, 제어부(30)는 실행 중인 프로그램에 휴대 단말기(100)의 위치 정보와 움직임 정보를 벡터 정보로 변환하여 이를 프로그램상의 움직임 또는 시야 변환에 반영하여 3차원 영상 정보를 생성한다. 또한, 제어부(30)는 프로그램에 따른 영점(3차원에서의 기준점(도 2에서 x, y, z 축이 만나는 점 O)을 조절하고, 각 센서(12, 14)의 민감도를 조정할 수 있다.
도 1에서 ROM(34)은 중앙처리장치(32)가 사용할 프로그램이나 각종 데이터들이 저장되어 있는 저장 장치로서 반드시 읽기전용 메모리(ROM: Read Only Memory)만으로 한정되는 것은 아니며 일반적으로는 플래시 메모리나 하드디스크와 같이 읽기와 쓰기가 가능한 저장 장치가 될 수도 있다. 한편 도 2의 제어부(30)에서 RAM(36)은 중앙처리장치(32)가 명령어를 수행하기 위하여 ROM(34)으로부터 데이터를 먼저 읽어오고 처리된 데이터를 임시로 보관하는 임시 저장 장치이다.
제어부(30)의 중앙처리장치(32)는 자세정보 초기화 수단(131), 위치정보 초기화 수단(133), 인터페이스 관련 초기화 수단(135), 기하단계 처리부(137), 비트맵 처리부(139)를 포함한다.
중앙처리장치(32)의 기하단계 처리부(137)는 3차원 공간에 해당하는 물리모델을 구성하고, 이 물리모델로 표현되는 가상공간에 캐릭터 또는 대상 물체를 배치한 다음 시야 공간에 전개하는 처리를 수행한다. 물리모델의 구성과 대상 물체의 배치는 도 3을 참조로 설명할 수 있는데, 바닥면과 천정, 좌우벽과 정면벽으로 된 방과 같은 공간(151)에 전등(152)과 탁자(154)가 있는 물리모델을 구성한 다음(110), 여기에 캐릭터 또는 물체(156)를 배치한다(120). 본 발명에서는 캐릭터 또는 물체를 가상공간에 배치할 때, 사용자의 키 입력 데이터나 조이스틱 입력 데이터를 기준으로 하지 않고 INS(10)의 출력 데이터를 기초로 한다.
3차원 그래픽을 표현하기 위한 3차원 벡터에 대한 처리에는 변환 행렬을 사용하여 로컬(local) 좌표계를 월드(world) 좌표계로 변환하는 처리를 포함한다. 로컬 좌표계란 예컨대 도 3에서 탁자(154) 하나를 표현하기 위한 좌표계를 말하며, 월드 좌표계란 이 전등(152)과 탁자(154)가 하나의 공간에 3차원으로 함께 표현하기 위한 통일된 좌표계를 말한다. 중앙처리장치(32)는 월드 좌표계를 카메라 변환 행렬을 사용하여 시야 좌표계로 변환하는 시야 공간 전개 처리를 하는데, 여기서 시야 좌표계란 3차원 공간에 월드 좌표계로 배치된 물체를 보는 시야를 기준으로 한 좌표계를 말한다. 시야 좌표계 변환을 위해서는 눈의 위치, 눈이 바라보는 위치, 천정 방향을 나타내는 상방 벡터 등 3개의 값이 필요하다. 본 발명에서는 INS(10)에서 입력된 휴대 단말기(100)의 위치와 방향 데이터에 기초하여 위에서 말한 '눈의 위치', '눈이 바라보는 위치'를 결정할 수도 있다.
휴대 단말기(100)의 위치와 방향 데이터에 따른 시야 공간의 변화는 예컨대 도 4a 내지 도 4d에 나타낸 바와 같다.
3차원의 시야 좌표계를 사용자가 실제로 모니터를 통해 보는 2차원 화면으로 변환하는 처리를 투영 변환 처리라고 하는데, 이 투영 변환 처리에서는 클리핑 및 은면 처리와 광원 처리가 수행된다. 클리핑은 시야에 보이는 부분은 찾는 작업이며 은면 처리는 시야에 보이지 않는 폴리곤(polygon)을 없애는 작업이다. 광원 처리는 빛의 방향 벡터와 시선 벡터, 빛이 닿는 면이 향하는 방향 벡터의 관계를 계산하여 빛이 시점에서 어떤 형태로 도달하는 방정식을 수립하고 계산하는 과정을 말한다. 광원 처리에 간략한 계산식을 사용하기 위하여 3차원 공간 내에서 메시(mesh)의 배치나 위치와는 관계없이 똑같은 양으로 모든 곳을 비추는 주변 광원(ambient light), 광원의 위치와 방향에 따라 빛의 강도가 달라지는 점 광원(point light), 광원이 위치와는 상관없이 하나의 방향을 갖는 방향성 광원(directional light), 정해진 위치와 범위에만 빛을 비추는 점적 광원(spot light) 등 4가지 종류의 광원을 사용할 수 있다.
기하단계 처리부(137)에서 기하 처리가 끝나면 비트맵 처리부(139)에서 래스터화 처리와 랜더링 처리가 이루어진다. 래스터화 처리는 화면에 표시될 폴리곤이 어떤 픽셀에 대응하지는 지를 계산하는 과정이며, 랜더링 처리는 각 픽셀의 색을 정의하는 단계이다.
중앙처리장치(32)의 자세정보 초기화 수단(131)은 (i) 단말기(100)의 자세정보(roll, pitch, yaw)의 방향을 단말기의 실제 x, y, z에 각각 대응시키며 각각에 대한 오프셋 보정값을 설정하는 기준축 설정과, (ii) 정보의 단위와 크기를 설정하는 단위 설정, (iii) 회전 방향(시계 방향 또는 반시계 방향)을 설정하는 방향 설정 등의 처리를 한다. 단위 설정에서는 예컨대, 회전각으로 0-360도의 범위의 정수로 단위를 설정하거나 5도나 10도 등으로 민감도를 설정할 수도 있다. 중앙처리장치(32)의 위치정보 초기화 수단(133)은 위치 정보의 기준축을 설정하고 단위(㎜, ㎝ 등) 및 방향(후방-전방, 왼쪽-오른쪽, 아래-위 등)을 설정한다. 한편, 중앙처리장치(32)의 인터페이스 관련 초기화 수단(135)은 통신방법 및 속도 등과 관련된 초기화 처리를 한다.
INS(10)는 단말기(100)의 현재 3차원 위치정보(x, y, z)와 자세정보(roll, pitch, yaw) 데이터를 제어부(30)와 예약된 통신 방법으로 전달한다. 제어부(30)는 이 정보를 표시부(50)의 영상갱신 시간 예컨대, 1/60초 단위로 데이터를 갱신한다. 이와는 달리 제어부(30)는 INS(10)로부터 이전 좌표에서의 변화량(a, b, c)만 입력받게 할 수도 있다. 즉, 초기화 과정에서 보정된 기준 좌표를 전송하고 이후에는 직전에 전송한 좌표에서의 변화분만 전송을 함으로써 데이터의 양을 줄일 수 있으며 이 경우에는 제어부가 데이터를 한번이라도 놓치면 위치 정보가 달라지는 단점이 있다.
객체가 이동할 때 현재의 기준 좌표에서 INS(10)로부터 입력된 위치 변화량(a, b, c)을 이용하여 이전의 좌표 x, y, z에서 각각의 방향으로 a, b, c 만큼 이동한 경우에는 현재의 좌표 x`, y`, z`를 다음의 수학식 1로 계산할 수 있다.
객체 또는 카메라의 이동 수식
Figure 112004043227871-PAT00001
이렇게 계산된 현재의 좌표는 아래와 같다.
x` = x + a
y` = y + b
z` = z + c
또는 단말기의 움직임을 카메라의 줌인/줌아웃 기능으로 사용하고자 하는 경우에는 객체의 크기가 변경되어야 하는데 이 때에는 단말기의 특정한 한 방향의 움직임만을 사용하는 것이 바람직하다. 예를 들어 y 방향만을 사용하고 이 때 INS(10)로부터 위치 정보(a, b, c)가 입력되었다면 아래 수학식 2로 처리할 수 있 다.
객체의 확대와 축소
u = F(a) (여기서 u는 확대/축소 배율을 말하고, F()는 실제 공간에서의 확대율과 가상공간에서의 확대율에 대한 보정(예컨대, 1/2, 1/3, 2)를 말함)
Figure 112004043227871-PAT00002
여기서 u = F(a)로서 확대/축소 배율을 말하고, F()는 실제 공간에서의 확대율과 가상공간에서의 확대율에 대한 보정(예컨대, 1/2, 1/3, 2)를 말한다.
위 수학식 2로 계산된 결과는 다음과 같다.
x` = ux
y` = uy
z` = uz
단말기(100)의 INS(10)에서 출력되는 정보 중 자세 정보(roll, pitch, yaw)를 이용하여 객체 또는 카메라의 각도를 조정하기 위해서는 먼저 roll, pitch, yaw를 각각 x, y, z 축으로 지정한 아래 수학식 3 내지 수학식 5로 계산할 수 있다.
객체 또는 카메라의 회전 (x축 중심)
Figure 112004043227871-PAT00003
객체 또는 카메라의 회전 (y축 중심)
Figure 112004043227871-PAT00004
객체 또는 카메라의 회전 (z축 중심)
Figure 112004043227871-PAT00005
도 1에서 표시부(50)의 영상 처리부(52)는 제어부(30)와 분업된 영상처리 관련 기능을 처리하며 영상표시부(54)는 예컨대 LCD나 OLED(Organic Light-Emitting Diode)와 같은 평판표시장치이다.
앞에서 설명한 수학식 1 내지 수학식 5를 통한 처리를 거쳐, 캐릭터를 이동시키거나 회전시키는 예는 도 5에 나타내었다.
본 발명에서는 INS(10)의 좌표 및 자세 정보를 오브젝트(object)의 움직임에 사용할 때에는 로컬 좌표계를 월드 좌표계로 변환하는 오브젝트 변환 단계에서 사 용할 수 있다. 한편, INS(10)의 정보를 카메라의 움직임으로 사용할 때에는 월드 좌표계를 시야 좌표계로 변환할 때 및 투영변환 처리단계에서 사용할 수 있다. 다만, INS(10)의 정보를 오브젝트의 움직임으로 사용할 때의 좌표계는 INS(10)의 정보를 카메라의 움직임으로 사용할 때의 좌표계와 그 부호가 반대로 된다.
응용예
본 발명은 3차원 프로그램에도 적용할 수 있을 뿐만 아니라, 2차원 프로그램에서 포인터와 같은 지시 장치로도 사용할 수 있다. 예컨대, 도 6에 나타낸 것처럼 일인칭 슈팅 게임에서 표적에 대한 조준 장치로 사용할 수 있다. 그 외에도 3차원 롤플레잉 게임에서 캐릭터의 움직임 또는 시야 조절이나 카메라의 위치 조정 장치로도 이용할 수 있다. 또한, 도 7에 나타낸 것처럼 비행 시뮬레이션 게임에서는 운동체의 비행 조정 장치로도 이용할 수 있다. 단말기(100)에 내장된 INS(10) 및 몇 개의 입력 스위치를 조합하면 좀 더 다양한 비행체의 움직임을 표현할 수 있다.
응용예 1 (2차원 프로그램)
앞에서 설명한 것처럼, 중앙처리장치(32)의 자세정보 초기화 수단(131), 위치정보 초기화 수단(133)에 의해 특정 회전축과 회전방향 및 단위와 범위를 예컨대 360도 범위의 정수 데이터로 설정하면 단말기(100)의 자세에 따른 입력 정보는 도 2의 롤(roll), 피치(pitch), 편요(yaw) 값으로 표현할 수 있다.
예컨대, 단말기(100)의 움직임이 도 8a 내지 도 8c에 나타낸 것처럼, 롤 331도, 피치 298도, 편요 294도인 경우 INS에서 출력되는 정보는 (roll, pitch, yaw) = (331, 310, 294)가 된다. 이 정보를 이용하여 예컨대, 도 6의 슈팅 게임에서 표적에 대한 조준 장치가 휴대 단말기(100)의 실제 움직임에 따라 이동하도록 할 수 있다.
응용예 2. 지도보기 프로그램
도 9 내지 도 14를 참조로 지도보기 프로그램 또는 지도검색 프로그램에 본 발명을 응용한 예를 설명한다.
먼저 도 9에 나타낸 것처럼 데이터베이스에서 표시하고자 하는 지도의 이미지를 제1 메모리로 로딩한다. 이 때 이미지의 크기는 화면의 출력 크기(예컨대, VGA인 경우 640×480 픽셀)보다 크게 가져오는 것이 바람직하다. 예를 들면, VGA 디스플레이에 사용할 때에는 A1로 나타낸 크기(1280×960 픽셀)의 이미지를 준비한다. 도 9에서 B1은 화면에 표시되는 640×480 픽셀의 이미지를 나타낸다. 현재의 기준점 (0, 0)은 최초의 동작에서 사용자가 선택하여 지정된 지점을 기준으로 사용한다. 이 때의 기준 좌표는 화면의 중앙으로 설정하여야 하는데, 그 이유는 이것을 회전의 중심축으로 설정하기 위해서이다.
그 다음 사용자의 조작으로 인해 변경된 자세 정보를 INS(10)로부터 입력 받는다. 입력되는 정보가 예컨대, (roll, pitch, yaw) = (315, 310, 43)이라고 가정한다. 그 다음 각각의 정보에 따라 화면에 표시되는 이미지를 변경한다. 먼저 편 요(yaw)의 데이터에 따른 각 화소의 좌표 변환을 위한 변환 수식은 아래의 수학식 6과 같다.
편요(yaw) 데이터에 따른 좌표 변환
Figure 112004043227871-PAT00006
이 때 변환 과정에서 정수의 좌표가 아닌 실수의 형태로 변환이 되어 반올림하여 정수화하는 과정에서 중첩되거나 비어있는 화소가 발생하게 된다. 화소가 중첩되는 경우에는 화소들에 대한 평균값을 사용한다. 한편, 비어있는 화소에 대해서는 주변 화소들의 평균값으로 생성한다.
변환된 새로운 이미지는 메모리 공간의 다른 영역(제2 메모리)에 저장하여 사용하여야 하며, 이 이미지는 회전변환으로 인해 화소들의 왜곡이 발생하였기 때문에 새로운 회전변환에 사용되지 않는다. 즉, 회전변환을 할 때에는 매번 원래의 제1 메모리의 이미지(A1)를 사용하여 변환을 하여야 한다. 회전변환이 있는 경우에만 제2 메모리를 사용하여 화면에 표시한다. 회전 변환된 후 제2 메모리에 만들어진 이미지(A2)와 화면에 표시되는 이미지(B2)는 도 10에 나타낸 바와 같다.
다음으로 롤(roll)과 피치(pitch)의 데이터에 따라 각 화소들의 좌표를 변환한다.
롤과 피치의 경우에는 디스플레이를 기준으로 360도가 아닌 180도 영역만 사용하게 되므로 먼저 데이터를 필요한 수식에 따라 변환하여야 한다. 이 때 기울임 의 정도에 따라 화면 스크롤의 속도를 조절할 수 있어야 하므로 이를 고려하여야 한다. 도 11a와 도 11b는 롤 또는 피치에 따른 데이터 변화의 예를 보여준다.
도 11에서 '각도(Degree)'는 INS(10)에서 입력된 롤(roll) 또는 피치(pitch) 정보를 나타내며, 'f'는 이미지의 x, y 좌표를 변환하기 위한 매개 변수이고, 'd'는 이미지의 이동에 단위가 되는 픽셀 설정값(예컨대, d = 5 픽셀)을 나타낸다. INS(10)으로부터 입력되는 각도 정보에 따른 변환은 아래 수학식 7로 구할 수 있다.
x`` = x` + f(ROLL), y`` = y` + f(PITCH)
여기서 f(ROLL)은 롤의 회전각을 이용하여 변환한 매개 변수이고, f(PITCH)는 피치의 회전각을 이용하여 변환한 매개 변수이다.
롤 또는 피치의 각도가 180도에서 275도의 범위에 있을 때의 매개 변수는 도 11a에 나타낸 바와 같고, 롤 또는 피치의 각도가 275도에서 360도의 범위에 있을 때의 매개 변수는 도 11b에 나타낸 바와 같다. 롤 또는 피치의 각도가 0도에서180도의 범위에 있을 경우 매개 변수 f = 1이다.
롤과 피치의 변화는 화면에 표시된 지도 이미지가 x축 또는 y축 방향으로 수평 이동하도록 하는데, 이것은 도 12에 나타낸 것처럼 제2 메모리의 이미지(A3)와 화면에 표시된 이미지(B3)로 표현할 수 있고, 수평이동된 이미지의 새로운 좌표의 원점은 (x``, y``) = (0, 0)이 된다.
화면에 이미지를 표시하기 위해서는 단말기의 이동으로 인해 비게 되는 이미 지에 대한 처리를 고려하여야 한다. 즉, 이미지가 회전 또는 수평 이동한 경우 메모리에 저장되어 있는 이미지 중 특정 영역이 비게 된다. 만약 단말기(100)가 회전변환을 하지 않은 경우에는 빈 공간을 데이터베이스에서 다시 로드하여 채운 다음 앞에서 설명했던 INS(10)로부터 자세정보를 입력받는 단계로 되돌아간다. 회전이동이 있었던 경우에는 현재의 화면 좌표를 기준으로 제1 메모리에 이미지를 다시 로드한 후 INS(10)로부터 자세정보를 입력받는 단계로 되돌아간다.
이러한 절차 중 롤(roll), 피치(pitch) 정보를 이용한 수평이동 처리과정과 편요(yaw) 정보를 이용한 회전변환의 과정은 순서가 바뀌어도 상관이 없으며 한번의 절차는 화면의 영상갱신 시간 예컨대, 1/60초 단위로 반복 동작한다.
휴대 단말기(100)의 회전 또는 움직임에 의한 지도 이미지는 예컨대, 도 13a, 13b 및 도 14a, 도 14b에 나타낸 것처럼 디스플레이된다. 즉, 휴대 단말기(100)가 도 13a와 같이 최초 위치에 있을 때 나타나는 도 13b의 지도 이미지는, 도 14a에 나타낸 것처럼 이용자가 휴대 단말기(100)의 오른쪽을 위로 들어올렸을 때 도 14b의 지도 이미지와 같이 도 13b의 지도 이미지에 대해 오른편으로 이동된 지도 이미지로 디스플레이된다.
지금까지 설명한 응용예 2는 지도보기 또는 지도검색 프로그램을 위주로 설명하였지만, 이러한 지도 뿐만 아니라 2차원의 이미지, 문서 등에 대해 위치의 이동, 스크롤, 회전, 확대/축소 등에 본 발명을 응용할 수 있다는 점은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 쉽게 이해할 수 있을 것이다.
응용예 3. 움직이는 이동체에 대한 동작 보정
본 발명의 휴대 단말기기 움직이는 이동체 예컨대, 차량이나 열차 내에서 동작하는 경우에는 차량의 움직임과 단말기의 움직임을 구분하여야 하며 차량의 움직임이 단말기의 움직임으로 인식되지 않도록 하여야 한다.
도 15는 이동체의 움직임에 대한 동작 보정이 가능하도록 한 본 발명의 다른 응용예를 나타내는 블록도이다.
도 15에서 보는 것처럼, 본 발명의 휴대 단말기(100)는 보정용 INS(200)와 연결되어 있다. 보정용 INS(200)는 가속도계(210), 자이로스코프(220) 및 센서 보상 및 관성측정 계산기(240)를 포함하며, 단말기(100)와 유선 또는 무선 인터페이스(250)를 통해 데이터와 제어 신호를 주고 받는다. 보정용 INS(200)는 단말기(100)의 제어부(30)로 위치 정보(x2, y2, z2)와 자세 정보(Roll2, Pitch2, Yaw2)를 보낸다. 이 정보는 차량과 같은 이동체의 움직임에 대한 정보로서 이동체 내부의 새로운 좌표계의 영점으로 사용된다. 단말기(100)의 제어부(30)는 사용자의 단말기(100) 움직임 조작에 대한 정보를 보정용 INS(200)의 정보와 보상하여 처리한다.
즉, 단말기(100)에 내장된 INS(10)에서 입력된 정보를 (x1, y1, z1), (Roll1, Pitch1, Yaw1)이라고 하고, 보정용 INS(200)에서 입력된 정보를 (x2, y2, z2), (Roll2, Pitch2, Yaw2)라고 하면 실제 제어부(30)에서 사용하는 데이터는 (x1 - x2, y1 - y2, z1 - z2), (Roll1 - Roll2, Pitch1 - Pitch2, Yaw1 - Yaw2)가 된다.
이동체에 추가되는 보정용 INS(200)는 이동체에 고정되도록 설치되어야 하 며, 이동체에 네비게이션 용도로 GPS나 관성항법 시스템이 존재하는 경우에는 이것을 보정용 INS(200)로 사용할 수도 있다.
응용예 4. 카메라에서의 사진 및 동영상 합성
본 발명에 따른 휴대 단말기(100)는 여기에 내장되거나 이것과 결합된 카메라와의 응용이 가능하다. 일반적인 카메라의 합성 기능은 고정된 2차원 이미지가 오버랩되는 정도의 기능을 가지고 있기 때문에 다양한 효과를 구현하기 어렵다. 그러나 본 발명의 휴대 단말기(100)는 가상공간의 캐릭터를 카메라 영상과 다양한 방향과 각도로 결합할 수 있고 음향 효과도 합성할 수 있다.
카메라에 본 발명의 휴대 단말기를 응용한 경우에는 다음과 같은 과정으로 데이터 처리가 이루어진다.
- 휴대 단말기(100)에 물리적으로 결합되어 있거나 휴대 단말기(100)에 내장된 카메라 기능을 동작시키면 화면표시부(50)에 카메라가 촬영한 영상이 표시된다.
- 실제 영상에서 특정 객체만을 선택하고자 할 경우에는 크로마키(Chroma Key) 기술 등을 이용하여 선택한다.
- 사용자가 합성하고자 하는 가상공간의 배경이나 캐릭터를 선택한다. 이 경우 하나 이상의 캐릭터를 선택할 수도 있다.
- 실제 영상과 가상의 영상을 배치한다. 크기, 위치, 방향 등을 설정한다(도 16a 및 도 16b 참조).
- 휴대 단말기(100)의 각도를 조정하면 실제의 영상의 각도와 동일하게 가상 의 영상도 각도가 변경되므로 마치 실제 영상이 가상의 영상과 함께 있는 것과 같은 효과를 낼 수 있다(도 17a 및 도 17b 참조).
- 이 때 가상공간 내의 애니메이션과 음향 효과를 같이 합성하여 저장할 수도 있다.
지금까지 설명한 것처럼, 본 발명에서는 3차원 또는 2차원의 게임 프로그램이나 영상 정보를 처리하고 화면 표시하는 단말기 그 자체의 위치와 자세 및 움직임을 영상 정보에 직접 반영함으로써 3차원 공간에서의 움직임에 대한 일체감과 현장감을 크게 개선할 수 있으며 여러 가지 입력장치가 아닌 단말기 그 자체의 움직임으로 영상 정보를 제어할 수 있으므로 사용이 편리하고 편의성이 매우 높아진다는 다양한 효과가 생긴다.

Claims (1)

  1. 휴대 단말기로서,
    상기 휴대 단말기의 관성 공간 내에서의 위치와 자세를 감지하여 휴대 단말기의 위치 정보와 자세 정보를 출력하는 수단과,
    상기 수단에서 출력되는 위치 정보와 자세 정보를 기초로 3차원 영상 정보를 생성하는 제어부와,
    상기 제어부에서 생성된 영상 정보를 화면에 표시하는 표시부를 포함하는 휴대 단말기.
KR1020040076037A 2004-09-22 2004-09-22 휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에반영하는 방법 및 휴대 단말기 KR20060027180A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040076037A KR20060027180A (ko) 2004-09-22 2004-09-22 휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에반영하는 방법 및 휴대 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040076037A KR20060027180A (ko) 2004-09-22 2004-09-22 휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에반영하는 방법 및 휴대 단말기

Publications (1)

Publication Number Publication Date
KR20060027180A true KR20060027180A (ko) 2006-03-27

Family

ID=37138318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040076037A KR20060027180A (ko) 2004-09-22 2004-09-22 휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에반영하는 방법 및 휴대 단말기

Country Status (1)

Country Link
KR (1) KR20060027180A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100685986B1 (ko) * 2004-12-31 2007-02-23 엘지전자 주식회사 이동통신용 단말기에서의 전방 시야 확보 방법 및 그이동통신용 단말기
WO2009072736A1 (en) * 2007-12-03 2009-06-11 Electronics And Telecommunications Research Institute User adaptive gesture recognition method and user adaptive gesture recognition system
KR20100048747A (ko) * 2008-10-31 2010-05-11 한국과학기술원 안면 추적을 이용한 모바일 유저 인터페이스 장치
KR100982768B1 (ko) * 2009-09-21 2010-09-20 (주)올라웍스 단말기의 각도에 따라 서로 다른 영상 정보를 제공하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100685986B1 (ko) * 2004-12-31 2007-02-23 엘지전자 주식회사 이동통신용 단말기에서의 전방 시야 확보 방법 및 그이동통신용 단말기
WO2009072736A1 (en) * 2007-12-03 2009-06-11 Electronics And Telecommunications Research Institute User adaptive gesture recognition method and user adaptive gesture recognition system
KR20100048747A (ko) * 2008-10-31 2010-05-11 한국과학기술원 안면 추적을 이용한 모바일 유저 인터페이스 장치
KR100982768B1 (ko) * 2009-09-21 2010-09-20 (주)올라웍스 단말기의 각도에 따라 서로 다른 영상 정보를 제공하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
WO2011034307A3 (ko) * 2009-09-21 2011-09-01 (주)올라웍스 단말기의 각도에 따라 서로 다른 영상 정보를 제공하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
JP2013512480A (ja) * 2009-09-21 2013-04-11 インテル・コーポレーション 端末の角度に応じて互いに異なる映像情報を提供するための方法、端末およびコンピュータ読取可能な記録媒体
US8884986B2 (en) 2009-09-21 2014-11-11 Intel Corporation Method and terminal for providing different image information in accordance with the angle of a terminal, and computer-readable recording medium

Similar Documents

Publication Publication Date Title
KR102564801B1 (ko) 그래픽 처리 시스템
JP6027747B2 (ja) 空間相関したマルチディスプレイヒューマンマシンインターフェース
JP5877219B2 (ja) 動き特性を使用することによるディスプレイへの三次元ユーザインターフェイス効果
US9776083B2 (en) Spatially-correlated multi-display human-machine interface
KR101649098B1 (ko) 휴대용 단말기에서 센서를 이용한 렌더링 방법 및 장치
JP6329343B2 (ja) 画像処理システム、画像処理装置、画像処理プログラム、および画像処理方法
TWI397671B (zh) 定位載體、估測載體姿態與建地圖之系統與方法
US20130215230A1 (en) Augmented Reality System Using a Portable Device
US20090244064A1 (en) Program, information storage medium, and image generation system
WO2001088679A2 (en) Browser system and method of using it
US10062209B2 (en) Displaying an object in a panoramic image based upon a line-of-sight direction
CN103517061B (zh) 一种终端设备的显示控制方法及装置
JP2007233996A (ja) 画像合成装置、画像合成方法、画像合成プログラム及び記録媒体
EP3814876B1 (en) Placement and manipulation of objects in augmented reality environment
EP3692506A1 (en) Shadow generation for inserted image content into an image
KR20070087317A (ko) 실제영상에 가상매체를 표시할 수 있는 디지털 기기 및 그표시방법
JP4134191B2 (ja) ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体
JP4878240B2 (ja) 画像表示制御装置、画像表示方法及びプログラム
KR20060027180A (ko) 휴대 단말기의 3차원 공간에서의 움직임을 영상 정보에반영하는 방법 및 휴대 단말기
JP2005157610A (ja) 画像処理装置および方法
JP6859763B2 (ja) プログラム、情報処理装置
JP2021060856A (ja) 画像合成装置、画像合成装置の制御方法およびプログラム
WO2024106328A1 (ja) コンピュータプログラム、情報処理端末、及びその制御方法
JP6894566B1 (ja) プログラム
WO2022113246A1 (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
WITB Written withdrawal of application