일반적으로 증강 현실(augmented reality) 시스템은 사용자가 눈으로 보는 현실 세계와 부가 정보를 갖는 가상 세계를 하나의 형상으로 보여주는 가상 현실 기술로서 현실 환경과 가상 환경을 융합하는 복합형 가상 현실 시스템(Hybrid Virtual Reality System)이다. 이러한 증강 현실은 현실 세계를 가상 세계로 보완해주는 개념으로서 컴퓨터 그래픽으로 만들어진 가상 환경을 사용하지만 주역은 현실 환경이다. 컴퓨터 그래픽은 현실 환경에 필요한 정보를 추가 제공하는 역할을 하고, 사용자가 보고 있는 실사 영상에 3차원 가상 영상을 겹침(overlap)으로써 현실 환경과 가상 화면과의 구분이 모호해지도록 한다.
즉, 증강 현실 시스템은 실사 영상에 가상 영상을 정합하기 위해서 카메라의 위치와 자세값을 이용하여 미리 3차원으로 모델링된 데이터를 실제 카메라가 실사 영상을 투영하는 것과 같은 3차원 원근 투영법을 이용하여 가상 영상을 렌더링한 다음 실사 영상과 가상의 그래픽을 합성하여 보여준다. 이때 증강 현실 시스템은 실사 영상의 정확한 위치에 가상 그래픽 객체를 합성하기 위해서 2차원 화면에서 가상 객체들의 정확한 위치와 방향을 알아내야 하는 레지스트레이션(registration) 문제가 있다. 이를 해결하기 위해서는 현실 세계의 어떤 지점(예를 들어 가상 객체가 그려 넣어지게 되는 위치)의 3차원 좌표가 필요하며, 이 좌표는 카메라를 기준으로 하는 좌표값이 되어야 한다.
따라서, 증강 현실 시스템은 카메라의 영상에서 현실 세계의 어떤 지점이나 물체에 대한 카메라의 상대 3차원 좌표를 얻어내야 하는데 3차원 좌표를 얻어내기 위해서 인간이 두 눈을 통하여 깊이를 인지하는 원리에 의해 이론적으로 2개의 카메라가 필요하다. 하지만 한 개의 카메라만을 사용하는 경우가 대부분이며, 한 개의 카메라에서 현실 세계의 3차원 위치를 파악하는 것이 어렵기 때문에 이를 해결하기 위한 방안으로 마커를 이용한다.
마커(marker)는 컴퓨터 비전 기술로 인식하기 쉬운 어떤 물체를 의미하는 것이며, 예를 들어 검은 바탕에 똑바로 쓰여진 평면 문양이나 특이한 색상을 갖는 기하학적인 물체라고 할 수 있다. 가상 객체는 카메라의 시점과 주어진 3차원 위치 에서 어떻게 보이고 그려져야 할지를 프로젝션 계산에 의해 결정하게 된다.
이러한 원리를 3차원 웹 지도 서비스에 적용하려고 하면, 보통 3차원 객체를 표현하기 위해서 수백 내지 수천 개의 점 정보와 텍스쳐 정보, 해당 텍스쳐 이미지 등 많은 양의 데이터가 필요한데 웹 지도 서비스에서 사용자에게 3차원 객체를 표현하기 위해서 이 모든 정보를 네트워크로 전송해야 한다. 하지만 이러한 3차원 웹 지도 서비스 방식은 렌더링 시간에 비해 데이터의 네트워크 전송 시 부하가 너무 크기 때문에 실시간으로 서비스하는 것이 거의 불가능한 실정이다.
한편 3차원 객체들을 사용자 컴퓨터에 미리 저장시키거나 캐싱을 이용해서 매번 많은 데이터를 전송하는 문제점을 해결한다고 해도 3차원 웹 지도 서비스에서는 사용자의 입력에 따라 매번 지도의 방향과 기울기가 변해야 하기 때문에 이러한 지도 위의 정확한 위치에 미리 저장된 3차원 객체들을 올리는 것은 매우 힘들다.
따라서, 이러한 3차원 웹 지도 서비스의 문제점을 해결하기 위한 방안이 절실하게 요청되고 있는 실정이다.
이하 첨부된 도면들을 참조하여 증강 현실을 이용한 3차원 웹 지도 서비스 시스템 및 방법을 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 증강 현실을 이용한 3차원 웹 지도 서비스 시스템 및 지도 데이터 제공 서버의 연동 관계를 나타내는 도면이다.
도 1을 참조하면, 3차원 웹 지도 서비스 시스템(100)은 사전에 2차원 마커 정보와 3차원 모델링 데이터를 매핑시킨 매핑 정보 파일을 다운 받는다.
또한 3차원 웹 지도 서비스 시스템(100)은 네트워크(110)를 통해 연동된 지도 데이터 제공 서버(120)로부터 2차원 마커 정보가 포함된 지도 데이터를 수신한다.
3차원 웹 지도 서비스 시스템(100)은 상기 수신된 지도 데이터로 미리 프레임 버퍼에 지도를 렌더링하고, 상기 지도 데이터로부터 2차원 마커 정보를 검출하고, 상기 매핑 정보 파일을 검색하여 3차원 모델링 데이터의 아이디를 추출한다. 또한 3차원 웹 지도 서비스 시스템(100)은 추출된 3차원 모델링 데이터의 아이도로 3차원 모델링 데이터베이스로부터 검출된 2차원 마커 정보에 대응하는 3차원 모델링 데이터를 추출한다.
3차원 웹 지도 서비스 시스템(100)은 상기 추출된 3차원 모델링 데이터를 가공하여 상기 프레임 버퍼상에 추가로 렌더링하고, 상기 렌더링 결과를 화면에 렌더링한다.
도 2는 본 발명의 일실시예에 따른 증강 현실을 이용한 3차원 웹 지도 서비스 시스템의 구성을 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 증강 현실을 이용한 3차원 웹 지도 서비스 시스템(100)은 수신부(210), 추출부(220), 렌더링부(230) 및 3차원 모델링 데이터베이스(240)를 포함한다.
수신부(210)는 네트워크(110)를 통해 연동된 지도 데이터 제공 서버(120)로부터 2차원 마커 정보가 포함된 지도 데이터를 수신한다.
도 3은 2차원 마커 정보의 일례를 나타내는 도면이다.
도 3을 참조하면, 본 발명에 따른 2차원 마커 정보(310~340)는 방향과 거리를 역산출할 수 있고, 어떤 방향에서 보더라도 유일한 패턴을 가지는 모든 모양이 사용 가능하다. 하지만 마커 정보(350~360)는 방향과 거리를 역산출할 수 없기 때문에 본 발명에 따른 2차원 마커 정보로 사용될 수 없다.
또한 수신부(210)는 2차원 마커 정보와 3차원 모델링 데이터를 매핑시킨 매핑 정보 파일을 수신할 수도 있다.
도 4는 3차원 모델링 데이터의 일례를 나타내는 도면이다.
도 4를 참조하면, 3차원 모델링 데이터(410~430)는 게임이나 3차원 렌더링에 쓰이는 모든 데이터를 지칭하며, .ACE 나 .X 파일 또는 3D Max로 제작된 데이터, 퀘이크(quake)에서 쓰이는 MD3 등과 같은 데이터가 포함될 수 있다.
도 5는 2차원 마커 정보와 3차원 모델링 데이터의 매핑 관계의 일례를 나타내는 도면이다.
도 5를 참조하면, 사각형 그림인 1번 마커는 63빌딩 건물의 3차원 모델링 데이터와 매칭되고, 원을 포함하는 사각형 그림인 2번 마커는 여자 캐릭터 객체의 3차원 모델링 데이터와 매칭되고, 삼각형을 포함하는 사각형 그림인 3번 마커는 한국 화장품 건물의 3차원 모델링 데이터와 매칭된다. 이와 같이, 본 발명에 따른 2차원 마커 정보와 3차원 모델링 데이터는 일대일로 매핑된다.
도 6은 2차원 마커 정보의 아이디와 3차원 모델링 데이터의 아이디를 매핑시킨 매핑 정보 파일의 일례를 나타내는 도면이다.
도 6을 참조하면, 상기 매핑 정보 파일은 2차원 마커 정보의 아이디(ID)와 3차원 모델링 데이터의 아이디를 각각 일대일로 매핑시킨다. 사각형 그림인 1번 마커의 아이디는 63빌딩 건물의 아이디와 매핑되고, 원을 포함하는 사각형 그림인 2번 마커의 아이디는 여자 캐릭터 객체의 3차원 모델링 데이터의 아이디와 매핑되고, 삼각형을 포함하는 사각형 그림인 3번 마커의 아이디는 한국 화장품 건물의 아이디를 매핑된다.
추출부(220)는 상기 지도 데이터로부터 2차원 마커 정보를 검출하고, 상기 매핑 정보 파일을 검색하여 3차원 모델링 데이터의 아이디를 추출한다. 또한 추출부(220)는 상기 3차원 모델링 데이터의 아이디로 3차원 모델링 데이터베이스(240)로부터 상기 검출된 2차원 마커 정보에 대응되는 3차원 모델링 데이터를 추출한다. 즉, 추출부(220)는 상기 프레임 버퍼를 분석하여 이미지 프로세싱 과정을 거쳐 상기 프레임 버퍼 내부에 상기 매핑 정보 파일에 포함된 2차원 마커 정보들과 동일한 마커 정보가 존재하는지 검출하고, 상기 매핑 정보 파일을 검색하여 상기 검출된 마커 정보에 대응되는 3차원 모델링 데이터 정보를 추출한다.
렌더링부(230)는 상기 지도 데이터로 미리 프레임 버퍼에 지도를 렌더링하고, 상기 3차원 모델링 데이터를 가공하여 상기 프레임 버퍼상에 추가로 렌더링한다.
3차원 모델링 데이터베이스(240)는 상기 3차원 모델링 데이터를 미리 다운받아 도 6에 도시된 것과 같이 상기 2차원 마커 정보와 상기 3차원 모델링 데이터를 매핑시킨 상기 매핑 파일 정보를 저장한다.
즉, 렌더링부(230)는 상기 추출된 3차원 모델링 데이터를 지도상의 마커 왜곡 정도에 따라 크기와 회전 방향을 조정하여 정해진 위치에 렌더링하고, 상기 랜더링 결과를 화면에 랜더링한다.
도 7은 2차원 마커 정보 및 2차원 마커 정보에 매핑된 3차원 모델링 데이터를 합성한 상태의 일례를 나타내는 도면이다.
도 7을 참조하면, 2차원 지도 데이터(710)는 2차원 마커 정보(711)를 포함하고, 3차원 지도 데이터(720)는 2차원 마커 정보에 매핑된 3차원 모델링 데이터(721)가 합성된 상태이다. 추출부(220)는 상기 프레임 버퍼를 분석하여 이미지 프로세싱 과정을 거쳐 상기 프레임 버퍼 내부에 상기 매핑 정보 파일에 포함된 2차원 마커 정보(711)와 동일한 마커 정보가 존재하는지 검출하고, 3차원 모델링 데이터베이스(240)로부터 상기 매핑 정보 파일을 검색하여 상기 검출된 마커 정보에 대응되는 3차원 모델링 데이터(721)를 추출한다. 그리고, 렌더링부(230)는 상기 추출된 3차원 모델링 데이터(721)를 지도상의 마커 왜곡 정도에 따라 크기와 회전 방향을 조정하여 정해진 위치에 렌더링하고, 상기 랜더링 결과인 3차원 지도 데이터(720)를 화면에 랜더링한다.
이와 같이, 본 발명에 따른 3차원 지도 웹 서비스 시스템(100)은 아주 적은 양의 데이터만으로도 표현할 수 있는 2차원 마커 정보를 특정 3차원 객체와 미리 매핑시킨 후 실제로 지도 데이터를 수신할 때 3차원 객체를 모두 수신하는 것이 아니라 3차원 객체가 그려질 위치에 대응하는 2차원 마커 정보만을 수신하여 2차원 마커 정보에 대응되는 3차원 모델링 데이터를 렌더링하여 3차원 지도 서비스를 제 공할 수 있다.
도 8은 본 발명의 일실시예에 따른 증강 현실을 이용한 3차원 웹 지도 서비스 방법의 흐름을 나타내는 도면이다.
도 1 및 도 8을 참조하면, 단계(S810)에서 3차원 웹 지도 서비스 시스템(100)은 2차원 마커 정보와 3차원 모델링 데이터를 매핑시킨 매핑 정보 파일을 다운 받다. 또한 단계(S810)에서 3차원 웹 지도 서비스 시스템(100)은 상기 3차원 모델링 데이터를 미리 다운받을 수 있다. 또한 단계(S810)에서 3차원 웹 지도 서비스 시스템(100)은 상기 3차원 모델링 데이터베이스에 상기 3차원 모델링 데이터를 기록하고 유지할 수 있다.
단계(S820)에서 3차원 웹 지도 서비스 시스템(100)은 네트워크(110)로 연동된 지도 데이터 제공 서버(120)로부터 2차원 마커 정보가 포함된 지도 데이터를 수신한다.
단계(S830)에서 3차원 웹 지도 서비스 시스템(100)은 상기 수신된 지도 데이터로 미리 프레임 버퍼에 지도를 렌더링한다.
단계(S840)에서 3차원 웹 지도 서비스 시스템(100)은 상기 지도 데이터로부터 2차원 마커 정보를 검출하고, 매핑 정보 파일을 검색하여 3차원 모델링 데이터의 아이디를 추출한다. 이하 도 9를 참조하여 2차원 마커 정보를 검출하고 매핑 정보 파일을 검색하여 3차원 모델링 데이터의 아이디를 추출하는 단계를 보다 구체적으로 설명하기로 한다.
도 9는 2차원 마커 정보를 검출하고 매핑 정보 파일을 검색하여 3차원 모델 링 데이터의 아이디를 추출하는 단계를 구체화한 일례를 나타내는 도면이다.
도 1 및 도 9를 참조하면, 단계(S910)에서 3차원 웹 지도 서비스 시스템(100)은 상기 프레임 버퍼를 분석하여 이미지 프로세싱 과정을 거쳐 상기 프레임 버퍼 내부에 상기 매핑 정보 파일에 포함된 2차원 마커 정보들과 동일한 마커 정보가 존재하는지 검출한다.
단계(S920)에서 3차원 웹 지도 서비스 시스템(100)은 상기 매핑 정보 파일을 검색하여 검출된 2차원 마커 정보에 대응되는 3차원 모델링 데이터의 아이디를 추출한다. 즉, 단계(S920)에서 3차원 웹 지도 서비스 시스템(100)은 상기 매핑 정보 파일을 검색하여 도 6에 도시된 것과 같이 상기 검출된 2차원 마커 정보의 아이디에 대응되는 3차원 모델링 데이터의 아이디를 추출한다.
단계(S850)에서 3차원 웹 지도 서비스 시스템(100)은 상기 3차원 모델링 데이터의 아이디로 3차원 모델링 데이터베이스로부터 검출된 2차원 마커 정보에 대응되는 3차원 모델링 데이터를 추출한다.
단계(S860)에서 3차원 웹 지도 서비스 시스템(100)은 상기 3차원 모델링 데이터를 가공하여 프레임 버퍼상에 추가로 렌더링한다. 즉, 단계(S860)에서 3차원 웹 지도 서비스 시스템(100)은 상기 추출된 3차원 모델링 데이터를 지도상의 마커 왜곡 정도에 따라 크기와 회전 방향을 조정하여 정해진 위치에 렌더링한다.
단계(S870)에서 3차원 웹 지도 서비스 시스템(100)은 랜더링 결과를 화면에 랜더링한다. 즉, 단계(S870)에서 3차원 웹 지도 서비스 시스템(100)은 상기 3차원 모델링 데이터를 지도상에 렌더링한 결과로서 도 7에 도시된 것과 같은 3차원 지도 데이터(720)를 화면에 렌더링할 수 있다.
이와 같이, 본 발명에 따른 3차원 지도 웹 서비스 방법은 아주 적은 양의 데이터만으로도 표현할 수 있는 2차원 마커 정보를 특정 3차원 객체와 미리 매핑시킨 후 실제로 지도 데이터를 수신할 때 3차원 객체를 모두 수신하는 것이 아니라 3차원 객체가 그려질 위치에 대응하는 2차원 마커 정보만을 수신하여 2차원 마커 정보에 대응되는 3차원 모델링 데이터를 렌더링하여 3차원 지도 서비스를 제공할 수 있다.
한편 본 발명에 따른 증강 현실을 이용한 3차원 웹 지도 서비스 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드 웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.