1. XDL 소개

 XDL(piXoneer Development Library)은 위성, 유/무인 항공기로부터 수집되는 영상/동영상 자료를 실시간으로 처리하고, 군용 지도(CADRG, CIB)와 함께 2/3차원으로 수집정보를 융합하여 도시할 수 있는 개발 도구입니다.

XDL은 기존 (주)픽소니어의 영상처리 라이브러리인 XDK(piXoneer Development Kit)와 구(Globe) 기반 3차원 지형정보 엔진인 EDK(Earth Development Kit)를 융합하여 새롭게 개발한 영상처리 및 2D/3D 도시용 라이브러리로서 다음과 같은 장점을 지닙니다.

  • 테라바이트(Terabytes) 이상의 영상 및 지형데이터를 실시간/근실시간으로 처리하고, 2D/3D 광역 지형 구축, 사용자 데이터 중첩 도시(Overlay) 지원
  • 다양한 상용 데이터뿐만 아니라 군용 래스터/벡터 데이터를 지원함으로써, 상용 및 군용 영상처리 시스템, 시뮬레이터 시스템, 지형정보 (Image Intelligence) 시스템 등을 손쉽게 개발할 수 있는 강력한 라이브러리군 제공
  • MPEG-TS 등 동영상 재생·생성·전송, MISB ST 0601 표준을 준수하는 메타데이터 처리로 지도화면 중첩 및 센서 모델링 제공

XDL은 현재 다양한 무기체계에서 활용 중이며, 대표적으로 유/무인 항공기의 상황을 2D/3D로 가시화하고, 유/무인기로부터 촬영되는 EO/IR/SAR와 같은 프레임 영상(이미지)은 물론 EO/IR 동영상을 처리할 수 있는 지상 시스템 개발에 활용하고 있습니다.

xdl_1
xdl_2
xdl_3

Supported Operating System

  • Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows 10
  • Windows Server 2008 R2 SP1, Windows Server 2012
  • Windows Vista, Windows XP sp3

Supported Integrated Development Environment (IDE)

  • Microsoft Visual Studio 2010 sp1
  • Microsoft Visual Studio 2012, 2013, 2015

Hardware Requirements

  • 1.6 GHz or faster processor (x86 or x64)
  • 1 GB of RAM (1.5 GB if running on a virtual machine)
  • 5.0 GB of available hard disk space
  • OpenGL 2.1 (3.0 or above recommended)
  • 1024 x 768 or higher display resolution
  •  1 GB of Graphic card memory
2. XDL 라이브러리 구성

XDL은 사용자에게 .NET 클래스 라이브러리와 컴포넌트로 제공되며, 기본 자료구조와 알고리듬을 구현한 기본(Basic) 라이브러리, 구 기반 3차원 및 2차원 지형 도시를 위한 Planet, 평면 지형 3차원 가시화를 위한 USpace, 각종 래스터/벡터 영상처리를 위한 Map, 군사지도 전시를 위한 Milmap, 동영상 처리를 위한 Video 등으로 구성됩니다.

xdl_4edit_2
3. XDL Basic Library

기본 라이브러리(Basic Library)는 Planet, Map, Milmap, Video 에서 활용할 수 있도록 클래스 또는 함수 단위로 기능을 지원 합니다. 신규로 확보된 영상을 변환/가공/처리할 수 있는 영상 처리에 관련된 기능과, 벡터를 생성/중첩/도시할 수 있는 기능, 가공된 영상을 2D/3D로 도시할 수 있는 기능을 모두 지원합니다.

xdl_5
Core (NXDL) XDL을 구성하는 타 모듈들의 공통 데이터 구조를 정의하며 전체 라이브러리에서 활용하는 공통 함수들을 지원
Sensor Model (NXDLsm) 위성이나 항공기로부터 EO/IR/SAR 영상을 촬영 시 비행체 및 카메라의 위치/자세/제원 정보를 이용하여 촬영된 영상 내의 화소 좌료로부터 맵 좌표를 추정하는 모듈
Coordinate Conversion (NXDLcc) 좌표시스템 지원 (Geographic, UTM, MGRS 및 EPSG 표준 지원을 지원하는 모든 좌표 시스템 지원)
Input/Output (NXDLio) 외부 영상 및 벡터 파일을 영상처리 및 도시하기 위해 파일의 입출력을 담당하는 모듈
Image Proessing (NXDLrs)

실시간 영상처리를 지원하기 위해 다양한 영상처리 알고리즘 지원 (Geometric Correction, Resize, Flip, Rotate, Ortho-Rectification, Filtering, TopoModel, MapConversion, Pan Sharpening, Epipolar Geometric Generation, DEM Generation, Mask, etc.)

Vector (NXDLvc)

도시된 영상 위에 다양한 형상의 객체를 생성/편집/도시를 지원하는 모듈 (Polygon, Polyline, Point, Measure Angle, Measure Distance, MeasureArea, MeasureRange, Bitmap, Rectangle, ScaleBar, Text, TextBox, Ellipse, etc.)

Graphic (NXDLgr) 도시에 관련된 대부분의 로직과 .NET 언어(C#)에서 직접 OpenGL 프로그래밍을 통해 고급 그래픽스 기능이 가능하도록 지원하는 모듈
Scene (NXDLscene) Planet, Map, Milmap, Video에 다양한 Scene 객체를 도시하도록 지원하는 모듈
NCW (NXDLncw) 네트워크 전장상황 도시 시뮬레이션 개발을 위한 카메라 제어, 리소스 공유 등과 관련된 다양한 기능을 지원하는 모듈
Data Provider (NXDLdfs) 군 지형정보(CADRG, CIB)등의 Raw Data나 XDL 내부 포맷 (PBI, PBE) 등의 자료를 로컬 및 원격지로부터 로딩하는 기능을 지원하는 모듈

 

4. XDL Planet

Planet는 구기반 가상현실 응용프로그램 개발용 그래픽 엔진으로서, 2/3차원 지구의 광역 지형정보 구축과 도시를 지원합니다. Planet를 통해 구축되는 가상 현실 위에 각종 사용자 데이터, 모델, 시뮬레이션 데이터 등을 중첩 도시하고, 2/3차원공간 상에서 On-the-fly 영상처리를 적용하면 다양한 3차원 정보시스템과 시뮬레이션 시스템을 쉽게 구현할 수 있습니다.

xdl_88
xdl_99
xdl_110
xdl_133
xdl_12
xdl_144
xdl_155
xdl_166
xdl_177
xdl_188
xdl_199
xdl_1111
xdl_221
xdl_222
xdl_255
xdl_233
xdl_244
xdl_266
xdl_277
xdl_288

▶  XDL Planet 세부기능(2차원)

개발자는 Plane를 이용하여 전세계를 아우르는 2D 환경을 구성할 수 있습니다. 배경 지도는 위성/항공 영상을 가공하여 사용할 수 있으며, 군 특수 지도인 CADRG, CIB를 가공할 필요 없이 표준 포맷 형태 그대로 이용할 수 있습니다. 또한, 개발자는 개발 시스템 목적에 맞는 컨텐츠를 지도 상에 도시하기 위해 Planet에서 지원하는 기본 객체나 OpenGL프로그래밍을 통해 객체들을 다양하게 중첩 도시할 수 있습니다.

이미지 자료 지원

한반도 전역 위성 , 전세계 위성 Coverage 지원 / GeoTiff, Jpeg2000, 다양한 위성영상 등 지원 / 군사용 CADRG, CIB 지도 및 DTED 지원

이미지 중첩

영상의 지도 상의 중첩도시 / 중첩 영상의 간단한 GPU 영상처리(필터링 등) / Image Enhancement 지원

지도 화면 제어

지도 화면 이동, 회전(마우스, 함수 인터페이스) / 화면 제어를 위한 축척 설정 및 변경 기능 / 지도 밝기/색상 설정

좌표계 지원

위경도(WGS84) 좌표계 변환-UTM, MGRS 텍스트 좌표계 변환 (EPSG 좌표계 모두 지원) / 이미지 중심의 좌표계 설정

객체도시

이미지, 텍스트, 도형 도시-원, 다각형 등 다양한 객체 도시 / 사용자 정의도시-OpenGL문법을 이용한 사용자 자유 도시 기능 제공

▶ XDL Planet 세부기능(3차원)

개발자는 Planet를 이용하여 전세계를 아우르는 3D 환경을 구성할 수 있습니다. 3D는 구 기반 환경으로 구성되며, Planet고유 기능으로 2D엔진의 배경지도 및 중첩 도시 리소스를 모두 3D 엔진에서도 공유가 가능합니다. 구 기반의 3차원 환경에서 다양한 형태의 시스템을 구현하기 위한 카메라, 도시 레이어 관리 등 다양한 인터페이스를 개발자에게 제공합니다.

이미지 자료 지원

한반도 전역 위성 , 전세계 위성 Coverage 지원 / GeoTiff, 상용 위성영상 등 지원 / 군사용 CADRG, CIB, DTED 지도 지원

이미지 중첩

영상의 지도 상의 중첩도시 / 중첩 영상의 간단한 GPU 영상처리(필터링 등) / Image Enhancement 지원

지도 화면 제어

위치, 자세, FOV설정 / 지도 화면 투명도 설정 / 화면 제어를 위한 축척 설정 및 변경 기능 제공 / 화면 축척에 따른 군사지도 자동 도시 Scale 적용

좌표계 지원

위경도(WGS84) 좌표계 변환-UTM, MGRS텍스트 좌표계 변환(EPSG좌표계 모두 지원)

객체도시

텍스트 도시(폰트, 색, 스타일, 크기, 배경색, 투명색, 테두리 색)지원 / 원, 다각형, 선 등 다양한 객체 도시 , 투명 다면체 시현 지원 / 이미지(ico, png, bmp, jpeg등), 3D 모델 도시, 빌보드 도시 / 3D 모델(3ds, flt)지원, 배율설정

▶ XDL Planet 세부기능(기타)

고도추출, 측정 등의 분석을 Planet가 지원하는 기능을 활용하여 손쉽게 구현할 수 있습니다.

가시선 분석

한 지점을 중심으로 전 방향으로 분석 / DEM 해상도 상관없는 가시선 분석 API지원

단면도 데이터 추출

Sampling 간격으로 단면 Profile 추출

특정 좌표의 고도 데이터 추출

로딩된 수치고도자료로부터 특정 좌표를 입력하여 고도 자료를 추출

측정

두 지점간의 거리 측정 기능 / 두 지점간의 방향 측정 기능

언어지원

컴포넌트 인터페이스 (C#)

5. XDL Uspace

USpace(eUclidean Space )는 평면기반 가상현실 응용프로그램 개발용 그래픽 엔진으로서, 지평면 상의 3차원 국소지역 지형정보 구축, 로컬 및 네트워크 도시 등을 지원합니다. USpace를 통해 구축되는 가상 현실 위에 각종 사용자 데이터, 모델, 시뮬레이션 데이터등을 중첩 도시하고, 3차원공간상에서 On-the-fly 영상처리를 적용하면 다양한 3차원 정보시스템과 시뮬레이션 시스템을 쉽게 구현할 수 있습니다.

uspaceview_11
uspaceview_22
uspaceview_33
uspaceview_44

▶ XDL USpace 세부기능

개발자는 USpace를 이용하여 국소 지역의 3차원 지형을 구축하고 다양항 분석 처리 및 도시 프로그램을 제작할 수 있습니다.

이미지 자료 지원

한반도 전역 위성 , 전세계 위성 Coverage 지원 / GeoTiff, 상용 위성영상

이미지 중첩

영상의 지도 상의 중첩도시 / 중첩 영상의 간단한 GPU 영상처리(필터링 등) / Image Enhancement 지원

지도 화면 제어

위치, 자세, FOV설정 / 지도 화면 투명도 설정 / 화면 제어를 위한 축척 설정 및 변경 기능 제공 / 화면 축척에 따른 군사지도 자동 도시 Scale 적용

좌표계 지원

위경도(WGS84) 좌표계 변환-UTM, MGRS텍스트 좌표계 변환 (EPSG좌표계 모두 지원)

객체도시

텍스트 도시(폰트, 색, 스타일, 크기, 배경색, 투명색, 테두리 색)지원 / 원, 다각형, 선 등 다양한 객체 도시 , 투명 다면체 시현 지원 / 이미지(ico, png, bmp, jpeg등), 3D 모델 도시, 빌보드 도시 / 3D 모델(3ds, flt)지원, 배율설정

6. XDL Map

Map는 각종 래스터/벡터 그래픽스, 이미지 프로세싱, 원격탐사 프로세싱, 네트워크 응용프로그램 개발등을 위한 클래스(Class) 및 기능(Function) 라이브러리입니다. 또한 Map는 계층화된 구조를 가짐으로서 응용과 확장이 용이하도록 설계되어 있고, 실시간 영상처리를 가능하게 하는 프로세싱 체인(Processing Chain)을 가지고 있습니다.

mapview_2
mapview_3
mapview_4
mapview_1
mapview_55
mapview_66
mapview_112
mapview_111
mapview_113
mapview_77
mapview_88
mapview_110

개발자는 Map를 이용하여 영상처리 및 도시 프로그램을 제작할 수 있습니다. Map는 개발자에게 손쉽게 구현할 수 있도록 다양한 레이어를 지원함으로써 영상을 도시하고 벡터를 생성/편집/저장/로딩하여 촬영된 영상을 분석하거나 판독하는 기능 구현이 가능합니다.

Composite영상 도시

위성이나 항공기로부터 촬영된 영상의 Channel을 개발자가 원하는대로 R, G, B를 설정 도시할수 있는 기능

사용자 도시

View상에 사용자가 원하는 객체나 그림을 Overlay할수 있도록 구현할 수 있는 인터페이스 지원도시된 영상 위에 OpenGL문법을 통해 사용자가 원하는 형상으로 도시할 수 있는 기능

OGC Feature 도시

벡터 파일등을 OGC 표준으로 로딩하여 도시할 수 있는 기능. SHP파일 등을 GDAL Plugin을 통해 로딩 (다양한 벡터 파일 포맷 지원)

스테레오 도시 기능 위성이나 항공기로부터 촬영된 영상이 스테레오 모드인 경우 Epipolar Geometry를 형성하여 Anaglyph, Interleaved 형식의 스테레오 도시 기능을 지원
벡터 편집 도시된 이미지 상에 벡터를 편집하거나 저장할 수 있는 기능판독 프로그램 제작 용이
7. XDL Milmap

Milmap : 군 지도 도시 엔진

Milmap는 군지도 관련 도시 및 활용 라이브러리로서, CADRG, CIB와 같은 군 지도 및 민간지도를 배경 이미지 지도로 사용이 가능합니다. Milmap 상에 다양한 이미지 및 벡터 객체를 중첩 도시하여 응용 프로그램 제작이 가능합니다. Milmap는 전 지구를 커버하도록 구성되어 있으며, Falcon 와 유사하게 CADRG 및 CIB 영상을 축척에 맞도록 자동으로 도시합니다.

mapview_1
8. XDL Video

Video는 유/무인기로부터 촬영되어 데이터링크를 통하거나 네트워크로 전송되는 동영상 스트리밍과 동영상 파일을 전시하고, MPEG-TS 등에서 부가적으로 제공되는 데이터 스트림으로부터 센서 모델 정보를 처리하여 각 영상 프레임별 센서 모델을 계산하여 제공하는 동영상 처리 엔진입니다. FFmpeg Plug-in을 이용한 기본적인 동영상 재생 제어, 필터를 통한 On-the-fly 영상처리, 사용자 정의 요소의 영상 중첩 등 그래픽 엔진으로서의 기능과 더불어 MISB 0601 및 사용자 정의 센서 모델을 제공함으로써 위치와 기하학적 정보를 적용한 위치 기반 비디오 응용 프로그램 개발을 지원합니다. 또한, 동영상 인코딩과 센서모델 다중화(multiplexing), MPEG-TS 트랜스코딩 및 스트리밍 기능을 제공합니다.

<동영상 화면 중첩 도시>
<동영상 화면 중첩 도시>
<동영상 촬영영역 지도 중첩>
<동영상 촬영영역 지도 중첩>

▶ XDL Video 세부기능

개발자는 Video를 이용하여 기본적인 동영상 재생기와 센서모델을 연동한 위치기반 응용 프로그램, 동영상 인코딩 소프트웨어 등을 제작할 수 있습니다.

동영상 재생 제어
  • 파일 및 네트워크 스트리밍 동영상 입력, 재생 제어, 배속 변경
  • 다채널(MPEG-TS 프로그램) 동영상 동시 재생
프레임별 센서모델 처리 및 좌표 변환
  • MISB 0601.9 표준 센서모델 처리 및 사용자 코덱 정의
  • 영상과 동기화된 센서모델 제공 및 이미지-지리좌표 변환 수행
실시간 영상처리
  • 화질 개선, 필터 영상처리 쉐이더 프로그램 적용
  • 재생 프레임 영상 콜백 제공
영상 중첩 (Overlay)
  • Video 재생화면에 사용자 도시요소 중첩 기능 제공
  • 재생되는 비디오 프레임을 다른 뷰에 도시하는 기능 제공
인코딩/트랜스코딩
  • 센서모델을 포함하는 동영상 인코딩 기능
  • 입력 동영상을 다른 파일로 저장 또는 네트워크로 스트리밍하는 기능 제공

Video와 XDL의 다른 모듈을 결합하여 XDL에 기본적으로 포함되지 않은 다양한 고급 기능의 응용 프로그램을 만들 수 있습니다. 예를 들어, Planet, NCW, USpace 등과 연동하여 센서모델을 포함하는 합성 동영상을 생성할 수 있고, Milmap와 연동하여 촬영영역을 지도에 표시할 수 있습니다. 또한, Video로부터 영상 프레임과 센서 모델을 획득하여 이동표적을 탐지(Video Moving Target Detection, VMTD)하거나 비디오 프레임들을 모자이크(Mosaic)하여 광역 영상을 생성할 수있습니다.

<실시간 비디오 모자이크 (Mosaic) >

<이동표적 탐지 및 추적 (VMTD&T)>