본인이 인터넷에서 굉장히 고맙게, 유용하게 잘 열람하는 정보 중 하나는 지도이다.
참 대단하지 않은가? 항공 사진, 길거리 사진, 길 찾기, 실시간 대중교통 연계와 도로 상황 안내 등... 정말 혀를 내두르는 수준이다. 이젠 도대체 얼마나 더 똑똑해질 거리가 남아 있는 걸까?

아울러, 지도의 일종인 차량용 내비게이션 소프트웨어도 도대체 어떤 천재가 만들었나 싶은 생각이 든다. 도로 상황을 감안해서 길을 찾는 건 당연한 소리이고, 그걸로도 모자라서 길 가는 중에 실시간으로 “해당 경로에 사고가 발생했습니다. 우회 경로를 재탐색할까요?”까지도 튀어나온다.

2013년엔 구글 회장이 한번 방북을 하고 났더니 구글어스가 평양을 중심으로 북한의 세부 지리 정보(단순 항공 사진은 예전부터 제공했음)를 제공하기 시작했다. 얘를 시작으로 2014년 하반기부터는 국내 지도 사이트들도 북한 정보를 제공하기 시작했다.
고무적인 현상이다. 물론 구글어스도 그 자체는 처음부터 구글이 개발한 게 아니라 타 업체 솔루션을 인수한 것이긴 하지만 말이다.

본인이 예전에 인터넷 지도에 대해 썼던 글은 이 모든 기능이 별도의 응용 프로그램이 아니라 웹에서 웹 표준 기술만으로 바로 구현 가능해진 것이 신기하다는 요지였다.
이번에는 다른 분야에서 대단히 신기하게 느껴지는 것에 대해 이야기를 늘어놓아 보겠다. 바로 이미지 가공 기술이다.

지도 사이트들이 제공하는 평면 항공 사진은 (1) 넓디넓은 영역을 한결같이 위에서 아래를 내려다보는 단일 각도로 본 이미지이다. 그런데 이거 정말 가공을 많이 했겠다는 생각이 들지 않는가?
이미지에서 원근감이라는 걸 완전히 제거하고 건물들이 마치 스타크래프트 맵처럼 보이게 해야 한다. 중심에서 먼 곳의 건물일수록 모양이 왜곡되어 보이는 카메라 렌즈의 오차를 보정해야 한다.

물론 엄청 높은 곳에서 촬영을 하면 건물 자체의 높이로 인해 발생하는 원근감은 상당수 없어지지만 이번엔 반대로 고층 건물도 높이가 전혀 표현되지 않게 되며, 또 사진의 화질이나 해상도, 그리고 구름으로 인한 시야 가려짐 같은 기술적인 문제도 커진다. 게다가 지구 자체도 근본적으로 평면이 아니라 둥근 구이니, 이로 인한 평면의 왜곡은 카메라의 위치가 높아질수록 더욱 부각되어 보일 것이다.

이런 항공 사진은 전세계의 것을 동시에 촬영하기란 불가능할 테니 여러 사진, 혹은 연속적으로 촬영된 사진을 파노라마 사진 만들듯이 연결해야 할 것이고 이 사진들은 촬영 시간대도 최대한 일치해야 할 것이다(광량의 차이). 또한, 주행 중이어서 시시각각 위치가 변하는 자그마한 자동차나 열차의 모습은 어떻게 보정을 하면 좋을까?
이런 것들을 다 극복하고 전국· 전세계의 항공 사진을 최대한 일관성 있는 색조와 각도로 엮는 것은.. 그 어려움과 복잡함이 정말 말도 못 할 것 같다. 비행기에서 아래를 내려다보고 사진만 팡팡 찍는다고 해서 구현 가능한 게 아니다.

사용자 삽입 이미지
(사진으로 나타난 63 빌딩의 높이와, 그림자의 길이를 비교해 보자.;; 각도가 뭔가 자연스러운 것 같지는 않다. 보정을 한 게 아닐까..)

그 보정이 자동화가 가능한지 아니면 일일이 수작업으로 행해지는지가 궁금하다.
마치 요런 영화 촬영 기법을 떠올리게 한다. 피사체는 시간이 정지한 듯 꼼짝 않고 있는데 카메라가 뱅그르르~ 돌아가면서 다른 위치와 각도에서 피사체를 응시하며 촬영하는 것 말이다. 심지어 사람이 하늘에 붕 떠 있는 채로 그런 장면이 나오기도 하니 더욱 신기한 일이다.

그리고 다음으로 생각할 것은 로드뷰이다.
이것은 앞의 항공 평면 사진과는 반대로, (2) 단일 시점에서의 view를 모든 각도로 제공하는 것이다. 이것은 어쨌든 연속으로 촬영할 수는 없기 때문에 로드뷰의 시점은 수~십수 미터 간격으로 띄엄띄엄 제공된다.

사용자 삽입 이미지

이런 시점 view는 지금이야 지도 사이트에서 쉽게 열람할 수 있는 기능이 됐지만, 옛날에 2000년대 초엔 철도청 홈페이지에서 자바 애플릿 형태로 비슷한 기능을 제공한 게 있었다.
바로 새마을· 무궁화· 통일호 내지 전동차의 객실 내부를 저런 로드뷰처럼 상하좌우 둘러보는 기능이었다.

이 기능은 내부적으로 2차원 평면 형태의 파노라마 사진을 한 장 저장하고, 그 그림의 일부에다 원근법을 적용하여 변형한 것을 표시하는 형태로 구현되어 있다. 내가 아는 건 이게 전부이고 구체적으로 어떤 계산을 하는지, 그리고 이런 용도로 사용하는 사진은 어떤 형태이고 어떻게 촬영하는지에 대해서는 잘 모른다. 그야말로 상하좌우 시야각이 다 열려 있는 특수한 카메라를 써야 할 텐데..

내가 10여 년 전에 이미 3차원 그래픽 시연 프로그램이라는 것도 만들어 봤지만, 비트맵 이미지로부터 3차원 시야를 어떻게 구현하는지는 여전히 감이 안 온다.
2차원 이미지에서 원근감을 넣거나 없애고, 평면과 공간 사이를 오고 가게 하는 기술이 참 대단하게 느껴진다. 그 기술이 인터넷 지도, 더 나아가 증강현실 같은 것도 가능하게 한 셈이다.

Posted by 사무엘

2015/04/08 08:32 2015/04/08 08:32
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1081

컴퓨터의 성능이 향상되고 그에 맞춰 인터넷 기술이 눈부시게 발달하면서, 예전에는 로컬 환경이 아니면 불가능하던 일이 웹에서 곧장 가능해져 왔다. 웹에서 바로 사용하더라도 ActiveX를 깔아야 해서 플랫폼 독립성이 보장되지 않았고 어차피 로컬에서 프로그램을 돌리는 것과 별 다를 바 없던 기능도, 이제는 그조차도 필요 없어진 것이다.

본인은 웹 프로그래밍은 잘 모르는 사람이지만, 오늘날 존재하는 기술 계층을 다음과 같이 크게 세 등급으로 나눈다.

Level 3: 웹 표준만으로 다 커버되는 기능을 일컫는다. 기기와 CPU를 불문하고 표준을 준수하는 모든 웹브라우저에서 쓸 수 있는 기능이므로 가장 보편적이고 깨끗하다. 비록, Level 1,2만치 빠른 성능이나 세세한 컴퓨터 조작은 기대하기 어렵다는 구조적인 한계는 있으나 그 한계는 놀라운 속도로 줄어들고 있다. 위지윅 웹 에디터조차 이 계층으로 내려왔으니까.

Level 2: 플래시 정도의 별도 컴포넌트는 써야 하는 기능이다. 플래시는 워낙 너무 유명해서 사실상 표준으로 정형화해 있긴 하다만, 이 계층의 미들웨어도 일종의 노다지 시장인지라, 잘 알다시피 마이크로소프트의 Silverlight가 팽팽히 맞서는 중이다. 동영상은 flv 덕분에 현재 Level 2가 대세로 정착하였으나, HTML5의 등장 덕분에 Level 3로 내려가는 게 점쳐지고 있다. 그래도 옛날에는 동영상조차도 Level 1이었다.
리눅스나 아이폰에서는 어른들의 사정 때문에 플래시가 제대로 지원되지 않는 등, 몇몇 잡음과 애로사항이 존재하기도 한다.

Level 1: 여전히 어떤 형태로든 운영체제 내지 특정 컴퓨터 아키텍처에 종속적인 네이티브 코드의 도움을 브라우저 외부로부터 받아야 하는 기능이다. 시스템 훅킹을 써야 하는 키보드 해킹 방지 툴이라든가, 레지스트리를 검사하는 프로그램 업데이트 관리자 등. 사용자의 컴퓨터가 이 프로그램을 설치할 수 있는 사양인지 체크하는 기능을 웹으로 구현하려고 해도 ActiveX가 필요할 것이다. 이 레벨의 입지는 앞으로 줄어들 것이고 그래야만 정상이지만, 그러나 완전히 없어지지는 않을 것이다.

웹 환경의 발전 덕분에, 단순 정보 열람 성격이 강한 프로그램이 로컬에서 제일 먼저 퇴출되었고 웹 형태의 프로그램으로 다 탈바꿈했다. 대표적인 예가 사전. 오늘날은 아래아한글 번들의 한컴사전만이 로컬에서 겨우 명맥을 유지하고 있을 뿐이다. (난 지금도 아주 잘 쓰고 있는데. -_-) 이거 전신이 과거 도스용 아래아한글의 덧실행 프로그램이었으니, 참 격세지감이다.
아울러 HTML5로는, 이젠 어지간한 프레젠테이션도 심지어 플래시조차 동원하지 않고 Level 3 계층만으로 다 가능하다고 하더라.

인터넷 지도는 그런 식의 혜택을 가장 많이 본 분야가 아닌가 싶다.
본인은 중/고등학교 시절에 아래아한글 97 CD에 번들로 내장되어 있던 MFC 기반 허접 지도 프로그램을 구경하였으며, 2001년경엔 ActiveX 기반의 한미르 지도를 인터넷에서 처음으로 접했다. 그리고 2003년 말에 콩나물을 처음으로 접했다(현재는 다음 지도에 합병).

그랬는데 인터넷 지도 기술이 이 정도로 기가 막히게 발달하게 될 줄은 정말 예상하지 못했다.
콩나물도 처음에는 ActiveX가 필요했다. 하지만 얼마 되지 않아 그런 건 없어졌고..

이제는 단순 지도 그림 열람은 플래시조차 없어도 되는 L3이 되었다. 지도도 모자라서 전국의 항공 사진까지 제공된다. 다음 지도는 한술 더 떠서 로드뷰라는 엽기적인 기능까지 제공하는데, 그런 기능은 한 등급 올라가서 플래시를 사용하는 L2 계층에서 구현되어 있다.
(참고로 옛날에 철도청 홈페이지에는 새마을부터 통일호까지 열차 내부를 딱 그런 시점으로 열람하는 기능을 제공했는데, 그건 아마 자바 애플릿 아니면 ActiveX 기반 구현이었다.)

한편, 구글 지도는 역시 미국에서 만든 서비스답게 도로의 이름이 우선적으로 잘 나와 있는 게 무척 인상적이다. 다음이나 네이버 같은 국내 지도는 도로 이름보다는 교차로의 이름의 기재에 더 충실한데, 이는 서로 vertex냐 edge냐 하는 차이 같다.

구글 지도가 제공하는 진짜 안드로메다급의 충격적인 기능은 잘 알다시피 Google Earth 되시겠다. 물론, 처음부터 구글이 만든 건 아니고 다른 회사 제품을 인수한 것이긴 하다만, 사람이 거주하는 세계 거의 전역의 위성 사진을 진짜 지구본 뱅그르르 돌리는 느낌으로 열람할 수 있다. 가히 신의 눈 수준. 말세에 인간이 정말 이런 기술까지 경험하는 게 경악스럽다.

이미 아시는 분도 있지만, 구글 지도의 위성 사진은 국내 지도가 보안상 표기하지 않고 있는 청와대, 군용 시설, 발전소 등도 남김없이 까발린다. 산으로 뒤덮여 있는 녹사평 역 주변을 구글 지도로 들여다보다가 까무러칠 뻔 했다. (담장 너머로 펼쳐진 미군 부대는 완전 소도시 수준이었다.. 그것도 서울 한복판에서!)

플래시 버전의 Google Earth도 있긴 하지만, 어쨌든 구글 지도에서 이 earth 기능을 웹에서 정식으로 사용하려면 별도의 클라이언트 프로그램을 설치해야 한다. 즉, L1 등급. 그 정도로 복잡하고 방대한 기능은 아직 L3이나 L2만으로는 감당이 안 될 법도 하다.

인터넷 지도를 보니까 기술의 발전이 놀라운 한편으로 웹 프로그래밍의 기술 등급이 떠올라서 글을 끄적여 봤다.
로드뷰까지 등장한 마당에 전국 철길에 대한 레일로드뷰도 있어야 한다고 주장해 보지만, 철도는 보안 시설이다 보니 안 될 거야 아마.. ㄲㄲㄲㄲㄲ

Posted by 사무엘

2011/09/07 19:17 2011/09/07 19:17
, ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/566


블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2019/10   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Site Stats

Total hits:
1264758
Today:
395
Yesterday:
550