KR101164719B1 - 효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법 - Google Patents

효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법 Download PDF

Info

Publication number
KR101164719B1
KR101164719B1 KR1020090110402A KR20090110402A KR101164719B1 KR 101164719 B1 KR101164719 B1 KR 101164719B1 KR 1020090110402 A KR1020090110402 A KR 1020090110402A KR 20090110402 A KR20090110402 A KR 20090110402A KR 101164719 B1 KR101164719 B1 KR 101164719B1
Authority
KR
South Korea
Prior art keywords
vector map
map data
attribute
coordinate value
layer
Prior art date
Application number
KR1020090110402A
Other languages
English (en)
Other versions
KR20110053737A (ko
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 KR1020090110402A priority Critical patent/KR101164719B1/ko
Publication of KR20110053737A publication Critical patent/KR20110053737A/ko
Application granted granted Critical
Publication of KR101164719B1 publication Critical patent/KR101164719B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Abstract

본 발명은 지리정보시스템(GIS : Geographic Information System)의 벡터 맵 데이터 압축 방법에 관한 것이다. 본 발명의 벡터 맵 데이터 압축 방법에 따르면, 지리정보 데이터베이스로부터 데이터 양이 가장 많은 폴리라인 및 폴리곤의 속성을 갖는 레이어가 선택되고, 선택된 각각의 레이어로부터 레코드 정보를 추출하여 최소 코딩 속성이 설정된다. 각각의 최소 코딩 속성으로부터 좌표값이 추출되고, 추출된 좌표값의 정수부 및 소수부가 분리된다. 정수부에 대해서는 2-스텝 공간영역 에너지 집중 및 파라미터 재배열이 수행되고, 소수부에 대해서는 계층적 압축이 수행된다. 이와 같이 처리된 정수부 데이터 및 소수부 데이터는 소정의 엔트로피 코더에 의해 압축된다.
GIS, 벡터 맵 데이터, 에너지 집중, 무손실 압축

Description

효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법{METHOD FOR COMPRESSING VECTOR MAP DATA FOR GEOGRAPHIC INFORMATION SYSTEM IN ORDER TO ACHIEVE EFFICIENT STORAGE AND TRANSMISSION}
본 발명은 지리정보시스템(GIS : Geographic Information System)의 벡터 맵 데이터 압축 방법에 관한 것으로, 더욱 구체적으로, GIS 벡터 맵 데이터의 무손실 압축을 위해 공간 영역 상에서 에너지 집중(SEC : Spatial Energy Compaction)을 수행하고, 64비트 부동소수점 좌표에 대해 정수부(integer portion)와 실수(real number)인 소수부(decimal portion)를 독립적으로 처리함으로써 계층적 부호화를 가능하게 하는 GIS 벡터 맵 데이터 압축 방법에 관한 것이다.
최근 네트워크, 휴대 인터넷, 개인 멀티미디어 단말기 등의 획기적인 발전과 아울러, 지리정보시스템(GIS)은 일상생활에 응용 및 도입되어 여러 형태로 이용되고 있으며, 인터넷 상에서의 전자지도, 매쉬업(mashup) 서비스 등의 기존 Web-GIS 서비스와 Where 2.0이라는 새로운 패러다임을 통해 GIS에 대한 수요처가 급격히 팽 창하고 있다.
그러나, 이러한 수요와 시장성에 비해, 실제 사용자 입장에서 필요한 GIS 데이터를 단시간에 인터넷, 모바일 단말, 개인 PMP 등으로 전송 및 저장하고자 할 때, 혹은 GIS 서비스 공급자가 GIS 서버를 운영하고자 할 때, 지리정보 데이터의 방대한 용량 문제는 GIS의 발전에 수반하여 꾸준히 야기되고 있다. 또한, 정부, 지방자치단체, 관공서 등이 점차 높은 정밀도의 GIS 벡터 맵 데이터를 요구하는 경향이 있다는 점과, 더욱이, 향후 풀(full) 3D GIS 엔진 기술들이 구현될 것이라는 점을 고려하면, 이러한 벡터 맵 데이터의 용량에 대한 문제는 더욱 심각해질 것이라고 예상할 수 있다.
한편, 지리정보시스템(GIS)에서는, 벡터 맵 데이터의 표현 및 저장 방식으로서 ASCII와 Binary 형식이 널리 이용되고 있다. 그 중에서, 대부분의 GIS 응용 분야에서는 데이터 용량 상의 문제로 인해 바이너리(Binary) 형식으로 저장된 벡터 맵 데이터가 주로 이용된다. 이러한 바이너리 형식의 벡터 맵 데이터로서, ESRI 사의 SHP 파일 포맷(format)을 예로 들 수 있다(http://www.esri.com, "ESRI Shapefile Technical Description" An ESRI White Paper, July 1998.).
SHP 파일의 형식은 데이터 접근성을 높이기 위하여 Main, Index, Db 등의 파일들을 하나로 묶어서 레이어(layer)로 표현하되, 하나의 레이어에 한 가지 주제(theme)만을 포함하도록 설계되어 있다. 도 1에는 일반적인 바이너리 형식의 벡터 맵 데이터를 표현하기 위한 SHP 파일의 구조가 도시되어 있다.
도 1을 참조하면, SHP 파일은 하나의 파일 헤더(file header)와, 이에 대응 하는 복수의 레코드 헤더(record header) 및 복수의 레코드 정보(record information)로 구성되고, 이러한 SHP 형식은 하나의 속성을 표현하도록 이용된다.
GIS 벡터 맵 데이터의 실제 응용 예로서, 도 2를 참조하여 일반적인 GIS 벡터 맵 서비스의 처리과정을 설명한다. 도 2는 일반적인 GIS 벡터 맵 서비스의 처리과정을 설명하기 위한 서비스 흐름도이다.
지리정보시스템(GIS)은 방대한 지리정보 자료를 효율적으로 관리, 검색 및 표현하기 위하여 모든 지리정보 데이터를 서버(10)에 접속된 지리정보 데이터베이스에 저장하고 있다.
도 2에서, 서버(10)는 각 영역별로 생성된 여러 주제의 파일들을 모두 데이터베이스로부터 로드한다. 클라이언트(20)는 예를 들어, 인터넷 상의 웹 클라이언트, PMP(Portable Multimedia Player), 모바일(mobile) 기기, 소프트웨어 어플리케이션일 수 있다. 이러한 클라이언트(20)는 희망하는 지도영역을 수신 및 표시하기 위하여 서버(10)를 액세스하고, 요청 영역의 수평거리, 수직거리, 중심좌표 및 확대배율 등의 정보를 서버(10)에 전달한다.
서버(10)는 전달받은 지도 요청 영역과 확대배율 등으로 뷰(view) 영역을 계산하고, 데이터베이스로부터 해당 뷰 영역의 지리정보 데이터(즉, 지도 요청 영역에 포함되는 여러 레이어들이며, 예를 들어, 이러한 레이어는 폴리라인(polyline), 폴리곤(polygon), 라인(line), 포인트(point) 등의 속성(attribute)에 따라 구분됨)를 검색 및 추출하여 압축한 후, 이것을 서버 데이터로서 클라이언트(20)에 송신한다. 클라이언트(20)는 수신된 지리정보 데이터를 재구성하고 하나의 벡터 맵으 로 완성하여 화면에 디스플레이한다.
만약, 사용자가 화면에 디스플레이된 지도에서 줌(zoom)이나 이동(move) 명령을 클릭하면, 클라이언트(20)는 이와 관련된 명령을 패킷 인코딩에 의해 패킷타이징(packetizing) 및 압축하여 클라이언트 패킷으로서 서버(10)에 송신한다. 서버(10)는 이와 같이 수신된 클라이언트 패킷을 분석하여 줌 또는 이동에 의해 변경된 뷰 영역을 계산하고, 데이터베이스로부터 해당 뷰 영역의 지리정보 데이터를 검색 및 추출하여 이 지리정보 데이터에 대한 패킷 파싱(parsing)을 수행하고, 이와 같이 파싱된 패킷을 패킷 인코딩에 의해 패킷타이징 및 압축하여 서버 패킷으로서 클라이언트(20)에 송신한다. 클라이언트(20)는 수신된 지리정보 데이터에 따라 줌 또는 이동을 수행하고 하나의 벡터 맵으로 완성하여 화면에 디스플레이한다.
도 2에서, Load_Default_Map_Data()는 클라이언트(20)가 최초로 서버(10)를 액세스할 때, 서버(10)가 초기 설정 지도 영역인 기본 벡터 맵 데이터를 검색 및 추출하여 압축하는 동작을 수행한다. 서버측의 Packet_Encoding()은 서버(10)로부터 클라이언트(20)로의 GIS 맵 데이터의 전송을 위하여 해당 전송 프로토콜에 적합한 패킷으로 패킷타이징하는 과정을 수행한다. 클라이언트측의 Packet_Encoding()은 클라이언트(20)에서 서버(10)로 전송하기 위한 데이터(중심 좌표, 확대배율 등)를 패킷타이징하는 과정을 수행한다. Load_Detailed_Map_Data는 클라이언트(20)로부터 수신된 데이터(중심좌표 및 확대배율 등)를 이용하여 클라이언트(20)가 요청하는 줌 또는 이동에 의해 변경된 지도 요청 영역의 지리정보 데이터를 데이터베이스로부터 검색 및 추출하는 과정을 수행한다.
한편, 벡터 맵 데이터의 압축에 관한 선행 기술로서, Kolesnikov는 벡터 맵의 점진적 전송을 위한 압축 방법을 제안하였다(Alexander Kolesnikov, "Vector Maps Compression for Progressive Transmission" Proc. of the 2nd IEEE International Conference on Digital Information Management(ICDIM '07), pp. 81-86. Lyon, France, October 28-31, 2007).
상기 선행 기술은 협대역 네트워크 환경에서 효과적인 벡터 맵 전송을 위해 폴리곤(polygon) 기반의 큰 벡터 맵에 대해 폴리곤의 근사화 기법을 이용하여 공간적 다해상도 계층으로 분해하고, 저화질 데이터와 양자화 오차에 대해 산술 코딩을 수행함으로써 각각에 대해 점진적으로 전송을 수행하는 기술이다. 상기 선행 기술은 높은 압축률과 빠른 수행 속도를 달성함에도 불구하고, 폴리곤 속성에 대해서만 적용할 수 있고 정밀지도를 표현하기 위한 응용에는 적용하기 어렵다는 단점을 가진다. 또한, 상기 선행 기술이 세밀하고 높은 밀집도를 갖는 지도에 대해 적용될 경우에는, 연산 속도 미 압축률에 있어서 큰 저하가 발생하며, 상기 선행 기술에서는 실제 응용을 위한 데이터 호환성 역시 고려되지 않았다.
더욱 구체적으로, 상기 선행 기술에서는, SHP 데이터의 효율적인 압축을 위해 기존의 주파수 변환 영역(DCT(discrete cosine transform), DWT(discrete wavelet transform) 등)에서의 벡터 정보에 대한 에너지 집중(energy compaction)을 이용한 압축이 시도되었으나, 양자화 오차, 정수 변환 오차 등이 존재할 가능성이 높다는 이유로 정밀 지도 압축 및 무손실 가역 압축에 적용하기가 곤란하다는 점이 확인되었다. 또한, 선행 기술의 방법에 의해 무손실 압축이 수행되더라도, 부 동소수점을 갖는 벡터 맵 데이터에 대해 주파수 변환이 수행되면, 변환계수가 갖는 오버헤드(overhead)가 원본보다 더 커지는 경우가 발생하며, 이로 인해, 정밀 벡터 맵의 압축에 대해 상기 선행 기술을 적용하는 것은 부적합하다고 확인되었다.
한편, 일반적인 데이터 압축 방법이 SHP 포맷 자체에 적용될 경우에는, 64비트 부동소수점으로 표현된 좌표데이터의 엔트로피(entropy)가 감소하지 않으므로, 압축 효율의 향상을 기대할 수 없고, 압축된 데이터를 복원하지 않은 상태에서는 SHP 형식이 갖는 데이터 접근성을 유지할 수 없다는 단점이 있다.
본 발명은 전술한 기술적 과제를 해결하기 위한 것으로, 다양한 정밀도를 갖는 바이너리 형식의 벡터 맵 데이터의 효율적인 저장 및 전송을 위해 벡터 맵 데이터에서 데이터 양이 가장 많은 폴리라인 및 폴리곤의 속성을 갖는 레이어에 대해 적용할 수 있는 벡터 맵 데이터 압축 방법을 제공하는 것을 목적으로 한다.
더욱 구체적으로, 본 발명은 정밀 벡터 맵 데이터의 무손실 압축을 위해 공간 영역 상에서 에너지 집중을 수행하고, 64비트 부동소수점 좌표에 대해 정수부와 소수부를 독립적으로 처리함으로써 계층적 부호화를 가능하게 하여 압축 효율을 향상시킬 수 있는 벡터 맵 데이터 압축 방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 지리정보시스템의 벡터 맵 데이터 압축 방법은, (a) 복수의 속성에 따라 분류된 복수의 레이어 파일을 저장하는 데이터베이스로부터 폴리라인(polyline) 및 폴리곤(polygon)의 속성을 갖는 레이어를 선택하고, 상기 선택된 각각의 레이어로부터 레코드 정보를 추출하는 단계; (b) 상기 (a) 단계에서 추출된 각각의 레코드 정보에 대하여 최소 코딩 속성(MCA : Minimum Coding Attribute)을 설정하는 단계; (c) 상기 (b) 단계에서 설정된 각각의 최소 코딩 속성으로부터, 각각의 최소 코딩 속성에 포함되며 해당 레코드 내용의 일부를 구성하는 속성의 좌표값을 추출하고, 상기 추출된 좌표값의 정수부 및 소수부를 분리하는 단계; (d) 상기 (c) 단계에서 얻어진 속성 좌표값의 정수부에 대해, 각 레이어의 최소 경계 사각형(MBR) 좌표값 및 각 레이어 내의 각각의 속성이 갖는 최소 경계 사각형 좌표값을 이용하여 1차 감산과 2차 감산을 통한 공간영역에서의 2-스텝 에너지 집중(SEC, Spatial Energy Compaction)을 수행하고, 공간영역에서의 2-스텝 에너지 집중(SEC)에 의해 생성된 변위 데이터 및 부호 데이터를 디코딩시에 필요한 정보와 함께 재배열하는 단계; (e) 상기 (c) 단계에서 얻어진 속성 좌표값의 소수부에 대해, 압축의 정밀도를 결정하고, 소정의 시프트 연산 및 상기 결정된 압축 정밀도를 이용하여 하나의 레코드 단위로 상기 속성 좌표값의 소수부를 재배열하는 단계; 및 (f) 상기 (d) 단계 및 (e) 단계에 의해 처리된 속성 좌표값의 정수부 데이터 및 소수부 데이터를 소정의 엔트로피 코더에 의해 압축하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 지리정보시스템의 벡터 맵 데이터 압축 방법은 GIS 벡터 맵 데이터에 대한 계층적, 속성 독립적 압축 기술을 제공하여 정밀한 GIS 벡터 맵 데이터의 효과적인 저장 및 전송을 가능하게 한다.
특히, 본 발명에 따른 지리정보시스템의 벡터 맵 데이터 압축 방법은 부동소수점 방식으로 표현되는 좌표 데이터를 정수부와 실수부로 분리하고, 정수부에 대해서는 공간영역 상에서 에너지 집중 및 파라미터 재배열을 수행하고 소수부에 대해서는 계층적 압축을 수행함으로써, 정밀 벡터 맵 데이터의 무손실 압축을 가능하게 한다.
또한, 본 발명에 따른 지리정보시스템의 벡터 맵 데이터 압축 방법은 최소 코딩 속성의 개념을 사용하여 기존 파일 포맷과의 호환성을 높일 수 있고, 대부분의 바이너리 형식의 압축에 적용할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
먼저, 도 3을 참조하여 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에 대해 설명한다.
도 3은 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법을 예시하는 블럭도이다.
도 2를 참조하여 설명한 바와 같이, GIS 벡터 맵 데이터는 예를 들어, GIS 서버에 접속된 지리정보 데이터베이스에 저장되어 있다고 가정한다.
"GIS 벡터 맵 데이터"와 관련하여, 본 출원의 발명자 등에 의해 "대부분의 GIS 데이터는 철도, 하천, 도로, 건물, 지형 등의 지형지물의 특성과 데이터의 특성에 따라 여러 개의 레이어들로 구성되어 있고, 각 레이어는 점, 선, 면, 문자의 4가지 속성으로 표현될 수 있다("폴리곤 데이터의 무게중심을 이용한 지리정보시스 템 워터마킹"(장혜정, 장봉주, 문광석, 이석환, 권기룡), 제20회 영상처리 및 이해에 관한 워크샵, pp. 186, January 2008)"라는 내용이 발표된 바 있다.
또한, 도 4는 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에 이용되는 SHP 형식으로 구성된 GIS 벡터 맵 데이터를 예시한 도면으로서, SHP 형식의 파일로 구성된 GIS 벡터 맵 데이터는 속성(attribute)에 따라 여러 레이어(layer)로 구분되어 파일로 저장된다. 본 발명의 실시예에서는, 속성은 크게 라인(line), 폴리라인(polyline), 폴리곤(polygon), 문자 등으로 구분된다. 도 4는 1:1000 축척의 특정 행정구역 영역을 표현하기 위한 GIS 벡터 맵 데이터 파일들의 집합으로서, 복수의 레이어가 파일(우측의 LAYERID 0 내지 27) 형태로 저장되어 있고, 각 레이어는 "폴리곤", "폴리라인", "라인", "포인트" 등의 속성으로 구분되어 있음을 알 수 있다. 도 5는 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에서 이용되는 1:1000 축척의 정밀 벡터 맵을 예시하고 있으며, 도 5의 벡터 맵을 표현하기 위한 GIS 벡터 맵 데이터 파일들이 도 4에 도시되어 있다.
본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법은 가장 데이터 양이 많은 폴리곤 및 폴리라인의 속성을 갖는 레이어에 대해 적용된다.
다시 도 3을 참조하면, GIS 맵 로드 블럭(310)에서는, 클라이언트로부터의 요구 등에 의해 GIS 서버가 지리정보 데이터베이스를 액세스하여 GIS 벡터 맵 데이터를 로드한다.
다음으로, 레이어 선택 블럭(312)에서는, 도 4에 도시된 복수의 레이어 중에서, 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법이 적용될 폴리라인과 폴리곤의 속성을 갖는 레이어가 선택된다. 즉, 지리정보 데이터베이스에 저장된 벡터 맵에서 폴리라인 및 폴리곤의 속성을 갖는 M개의 레이어 L=
Figure 112009070228057-pat00001
가 선택된다.
레코드 추출 블럭(314)에서는, 상기 레이어 선택 블럭(312)에서 선택된 각각의 레이어로부터 레코드 정보가 추출된다. 각각의 레이어 파일은 도 1에 도시된 바와 같은 파일 구조를 가진다. 즉, 레코드 추출 블럭(314)에서는 선택된 각각의 레이어의 도 1에 도시된 파일 구조로부터 레코드 정보가 추출된다. GIS 벡터 맵 데이터의 하나의 구성요소인 "일반 주택" 레이어 파일을 예로 들면, "일반 주택" 레이어 파일은 그 레이어가 표현하는 영역 내의 모든 일반주택을 나타내는 폴리곤(또는 폴리라인) 속성들의 집합으로 이루어져 있다고 가정할 수 있다. 이때, 하나의 레코드 정보는 이러한 각각의 일반주택을 나타내는 각각의 폴리곤(또는 폴리라인)을 의미할 수 있다.
MCA 설정 블럭(316)에서는, 추출된 각각의 레코드 정보에 대하여 "최소 코딩 속성(MCA : Minimum Coding Attribute)"이 설정된다. 즉, 각 레이어에 포함된 속성
Figure 112009070228057-pat00002
의 수 N만큼의 MCA가 생성된다. 이와 같이 생성된 각각의 속성
Figure 112009070228057-pat00003
에 대해서는 추후에 독립적으로 코딩이 수행될 수 있다.
본 발명의 실시예에서는, 레코드 추출 블럭(314)에서 추출된 각각의 레코드 정보를 압축하기 위하여, 하나의 레코드 정보에 대한 압축 단위로서 "최소 코딩 속 성(MCA)"이라는 패킷의 개념을 도입하였다. 이러한 MCA에는 레코드 정보뿐만 아니라 압축 및 디코딩 시에 필요한 정보들이 부가되며, 바꾸어 말하면, MCA는 레코드 정보와, 압축 및 디코딩에 필요한 정보들과 함께 하나의 집합으로서 정의된다. 도 6에는 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에서 이용되는 MCA의 내부 구조가 도시되어 있다.
도 6을 참조하면, MCA는 MCA 헤더(2바이트), MCA 크기(2바이트), 포인트의 수(2바이트), MBR 코드 및 페이로드(payload)로 구성된다. MCA 헤더는 MCA의 식별 정보로서 MCA 레이블 번호이고, MCA 크기는 압축된 MCA의 크기이고, MBR 코드는 MCA의 데이터 접근성을 용이하게 하기 위한 해당 MCA가 속한 MBR(Minimum Bounding Rectangle) 좌표이고, 페이로드(payload)는 압축될 해당 속성 즉, 폴리곤(또는 폴리라인)의 좌표 데이터이다. 본 발명의 실시예에서는, 상기한 바와 같은 MCA 단위로 GIS 벡터 맵 데이터의 압축 및 복원이 수행되므로, 압축된 데이터에서도 임의의 레이어의 임의의 속성에 대한 접근이 용이하다.
상기 MCA 설정(316) 블럭에서 각각의 레코드 정보에 대해 MCA가 설정된 후, 정수부 분리 블럭(320) 및 소수부 분리 블럭(322)에서는, 64비트 부동소수점으로 표현된 각각의 속성을 구성하는 모든 좌표값들, 즉, MCA의 페이로드에 포함된 좌표 데이터가 나타내는 값이 다음의 수학식 1에 의해 정수부(integer portion)
Figure 112009070228057-pat00004
및 소수부(decimal portion)
Figure 112009070228057-pat00005
Figure 112009070228057-pat00006
로 분리된다. 여기서, 소수부는 실수(real number)이다.
Figure 112009070228057-pat00007
수학식 1에서, c는 소수점 밑수 정밀도이며, 수학식 1의 첫 번째 수학식은 벡터 좌표 집합에서 정수부를 분리하기 위한 것이고, 두 번째 수학식은 소수부를 정수화하기 위한 것이다.
64비트의 부동소수점으로 표현된 좌표 데이터가 나타내는 값이 바로 압축되면, 각각의 좌표 데이터가 나타내는 값의 엔트로피를 최소화하는 것이 곤란하여 압축 효율이 저하된다. 따라서, 본 발명자는 압축 효율 즉, 압축률을 높이기 위하여 유사도가 높은 정수부를 따로 분리하여 압축하는 방법을 고안하였다. 보다 구체적으로, MCA의 페이로드에 저장되어 있는 해당 속성의 좌표 데이터는 64비트의 부동소수점으로 표현되어 있으며, 압축률을 높이기 위하여, 상기 좌표 데이터는 정수부와 실수부로 분리되고, 정수부에 대해서는 공간영역에서의 에너지 집중(SEC : Spatial Energy Compaction)(본 발명의 실시예에서는 2-스텝 SEC)이 수행되고, 소수부에 대해서는 다양한 정밀도로 계층적 압축이 수행된다.
앞에서 설명한 바와 같이 정수부 분리 블럭(320)에 의해 수학식 1을 통해 분리된 정수부에 대해서는, 2-스텝 SEC 블럭(330)에서, SHP 형식의 특성을 이용하여 공간영역에서의 에너지 집중이 수행된다.
SHP 형식의 레이어 파일은 x 좌표와 y 좌표를 축으로 표현되는 레이어의 MBR(minimum bounding rectangle) 좌표와, 각 레이어 내의 속성이 갖는 MBR 좌표를 포함한다. MBR은 최소 경계 사각형을 의미하며, SHP 형식의 레이어 파일의 헤더에 하나씩 존재하고("레이어 MBR"이라 함), 하나의 레이어 파일을 구성하는 각각의 레코드마다 하나씩 존재한다("MCA MBR"이라 함). MBR은 가장 작은 값을 갖는 x축 좌표값, 가장 작은 값을 갖는 y축 좌표값, 가장 큰 값을 갖는 x축 좌표값, 및 가장 큰 값을 갖는 y축 좌표값으로 이루어진다. 각각의 좌표값은 64비트 부동소수점으로 표현되므로 4개의 좌표값은 총 32바이트로 표현된다.
도 8의 가장 좌측 도면은 특정 영역의 도로를 나타내는 폴리라인 속성들로 이루어진 레이어의 SHP 형식 파일을 GIS 맵으로서 표시한 것이다. 도 8의 가장 좌측 도면에서, Bmin l m, Bmax l m은 하나의 레이어에 대한 SHP 형식 파일의 헤더에 정의된 레이어 MBR의 값이고, 도 8의 가운데 도면에서, BminPn, BmaxPn은 가장 좌측 도면의 레이어에서 추출된 하나의 레코드 내용(여기서는, 폴리라인)에 대한 MCA MBR의 값이다. 도 8의 가운데 도면에서, I는 폴리라인을 구성하는 좌표값들의 개수를 나타낸다.
다음으로, 도 7 및 도 8을 참조하여 도 3의 2-스텝 SEC 블럭(330)의 동작을 더욱 구체적으로 설명한다.
도 7을 참조하면, 본 발명의 실시예에 따른 2-스텝 SEC 블럭(330)은 각 좌표값들의 차분치만을 유효 데이터로서 이용하므로, 좌표값들의 크기를 줄일 수 있는 장점을 가진다. 도 7에서, 1차 감산 블럭(71, 72)은 SEC의 첫 번째 스텝을 나타내고, 2차 감산 블럭(74)은 SEC의 두 번째 스텝을 나타낸다.
도 8은 도 7의 2-스텝 SEC의 처리 원리를 설명하기 위한 도면으로서, 가장 좌측의 도면은 m번째 레이어의 GIS 벡터 맵을 도시한 것이고, 가운데 도면은 m번째 레이어 내의 n번째 레코드(여기서는, 폴리라인)를 도시한 것이고, 가장 우측 도면은 2번의 감산에 의해 구해진 좌표 Zi를 x-y 평면에 도시한 것이다.
먼저, 1차 감산 블럭(71)에서는, SHP 형식 레이어 파일의 헤더에 저장된 하나의 레이어 MBR을 이용하여 레이어 MBR(Bmin l m, Bmax l m)과 각 레코드의 MCA MBR(BminPn, BmaxPn) 사이의 차분치 MCA MBR'(B* minPn, B* maxPn)가 구해지며, 그 구체적인 과정은 다음의 수학식 2로 표현될 수 있다.
Figure 112009070228057-pat00008
1차 감산 블럭(71)에서 수학식 2에 의해 구해진 MCA MBR의 차분치인 MCA MBR'(B* minPn, B* maxPn)는 엔트로피를 최소화하기 위해 m번째 레이어 내에서 모두 양의 부호값을 가지며, 도 6에 도시된 바와 같은 구조를 갖는 MCA의 MCA 헤더에 부가된다.
다음으로, 또 하나의 1차 감산 블럭(72)에서는, 도 3의 정수부 분리 블럭(320)에서 수학식 1에 의해 구해진 정수부의 좌표값(Zi(x), Zi(y))과, 해당 레코 드의 MCA MBR의 정수부(본 발명의 실시예에서는 "MCA 오프셋(offset)"이라고 함) 사이의 차분치(Zi *(x), Zi *(y))가 다음의 수학식 3에 의해 구해진다. MCA MBR의 정수부, 즉, MCA 오프셋은 각 레코드의 MCA MBR(BminPn)의 소수점 이하를 내림하는 floor 함수에 적용함으로써 구해진다.
Figure 112009070228057-pat00009
수학식 3에서, floor(BminPn(x)), floor(BminPn(y))는 위에서 설명한 MCA 오프셋이다. 결과적으로, 1차 감산 블럭(72)에서는, 수학식 3에 의해 n번째 폴리라인의 정수부 PZn 내에서 모두 양의 부호값을 갖는 좌표값 Z* i이 구해진다. 이와 같이 구해진 좌표값 Z* i의 집합 PZn'은 1차 감산 블럭(72)의 출력으로부터 얻어진다. 이러한 PZn'은 n번째 폴리라인의 정수부의 좌표값에서 MCA 오프셋을 감산한 차분치의 집합이므로, 해당 레코드 속성의 모양은 유지하면서 시작 좌표를 (0,0)으로 설정할 수 있도록 한다.
한편, 본 발명의 실시예에서는, 좌표값의 크기를 더욱 줄이기 위하여 2-스텝 SEC가 이용되고 있으며, 1차 감산의 결과에 대한 2차 감산을 수행하는 2차 감산 블럭(74)에서는, 1차 감산에 의해 얻어진 좌표와 그 평균값 사이의 차분치가 구해진 다.
1차 감산에 의해 얻어진 좌표값을 평균을 구하기 위하여, 평균 V 저장 블럭(73)에서는, 1차 감산 블럭(72)에서 출력되는 좌표값 Z* i의 평균 V가 구해진다.
2차 감산 블럭(74)은 1차 감산 블럭(72)에서 얻어진 좌표값의 집합 PZn'과, 평균 V 저장 블럭(73)에서 제공되는 평균 V를 받아들여, 다음의 수학식 4에 따라 각 좌표값 Z* i과 평균 V를 이용한 감산을 수행하여 각 좌표값 Z* i의 평균으로부터의 변위 Z** i를 구한다. 이러한 변위 Z** i의 집합 PZn"은 2차 감산 블럭(74)의 출력측에서 얻어진다.
Figure 112009070228057-pat00010
수학식 4에서, I는 좌표값 Z* i의 개수이다.
상기 수학식 4에 의해 구해진 변위 Z** i는 부호값을 가지며, 이 부호값은 S = {s0, s1, s2, ... sI}, si = [0,1]의 형식으로 저장된다. 이 부호값은 도 10을 참조하여 추후에 설명되는 바와 같이, 압축될 최종 MCA 페이로드를 구성하는 "X,Y 부호 코드"이다. 상기 변위의 절대값 |Z** i|은 도 10을 참조하여 추후에 설명되는 바와 같이, 압축될 최종 MCA 페이로드를 구성하는 "X,Y 정수 코드"이다. 상기 변위의 절대값 |Z** i|은 인접한 좌표들과의 상관성으로 인해 좌표값 Zi에 비해 아주 작은 값을 가진다. 따라서, 공간 영역에서의 오프셋과 차분치에 의해 얻어지는 변위를 저장 또는 전송함으로써, 상기한 바와 같이 구현되는 2-스텝 SEC 블럭(330)에 의해, 주파수 영역에서의 DC 계수 및 고주파 성분과 같은 "에너지 집중"이 수행될 수 있다.
다시 도 3을 참조하면, 상기 2-스텝 SEC 블럭(330)에 의해 생성된 부호값 S와 최종 변위의 좌표값들의 집합 PZn"은 파라미터 재배열 블럭(340)에서 세분화 및 파라미터 재배열 절차를 통해 해당 MCA 내에서 재배열 및 저장된다. 더욱 구체적으로, 파라미터 재배열 블럭(340)은 최종적으로 압축되어야 할 정수부의 좌표 데이터 및 디코딩시에 필요한 정보를 재배열하며, 도 10에 도시된 압축률을 최대화하기 위한 좌표 요소를 재배열한다.
이상으로 설명한 바와 같이, MCA 좌표 데이터의 정수부 PZn는 2-스텝 SEC 및 파라미터 재배열에 의해 최종 압축대상 데이터로 변환된다. 통상적으로, 클라이언트에서 디코딩될 GIS 벡터 맵 데이터는 정수부만을 포함하더라도, 지리 정보를 구성함에 있어서 큰 문제가 발생하지 않는다. GIS 벡터 맵 데이터가 정수부만을 포함하는 경우, 맵 데이터의 확대 배율에 따라 정수부에 대해 계층적 압축을 적용하는 방법도 가능하다.
도 3에 도시된 바와 같이, MCA 좌표 데이터의 소수부 PRn에 대해서는 계층적 압축 블럭(342)에 의한 처리가 수행된다. 본 발명의 실시예에서는, MCA 좌표 데이터의 소수부 PRn에 대해서만 계층적 압축을 적용함으로써, 클라이언트에 의해 요구되는 정밀도에 따라 상기 소수부의 정밀도가 가변될 수 있다. 본 발명의 실시예에서는, 정밀도가 1 바이트 단위로 결정된다고 가정하였으나, 이러한 정밀도의 결정 단위는 경우에 따라 가변될 수 있다.
상기 계층적 압축 블럭(342)에서는, 수학식 1에 의해 얻어진 소수부 Ri에 대해 다음의 수학식 5가 적용된다.
Dn(Ri) = (Ri>>8n)&0xFF
수학식 5에 의해 수행되는 절차를 더욱 구체적으로 설명하면, 수학식 1에 의해 정수화된 각각의 소수부 Ri는 8비트씩 시프트 연산되고, 1 바이트 단위로 정밀도가 나누어지고, 하나의 레코드 단위로 도 9와 같이 재배열된다.
예를 들어, 특정 레코드의 첫 번째 좌표값의 x축 소수부가 0.123456이면, 정수화한 소수부 Ri의 rkqtdms 123456이 될 것이다. 이 값은 16진수 헥사코드로 0x1E240으로 표현된다. 따라서, 이 수는 8비트 정밀도로 3계층으로 나누어질 수 있다.
위 내용을 도 9와 연관지어 설명하면, 도 9의 K는 계층이고, K=3이다. I는 해당 레코드가 가지는 좌표값의 총 개수이고, 소수부 Ri는 해당 레코드의 i번째 좌표값이다.
따라서, 소수부의 첫 번째 좌표값 R0의 x축 좌표를 r0 ,x로 정의하여 도 9의 형식으로 나타내면, 각 계층에 해당하는 바이트 D는 아래와 같이 대입된다.
D0(r0 ,x) = 0x1E, D1(r0 ,x) = 0x24, D2(r0 ,x) = 0x00
최종적인 전송을 위하여, 정밀도에 따라 상기 소수 데이터를 압축/전송하지 않거나, D0~D2 그룹까지 선택하여 누적 압축/전송함으로써 정밀도를 조절할 수 있다.
상기 설명한 바와 같이, 파라미터 재배열 블럭(340) 및 계층적 압축 블럭(342)에서 각각 처리된 정수부 데이터 및 소수부 데이터는 엔트로피 코딩 블럭(350)에 의해 무손실 압축된다. 무손실 압축을 위해서는, 기존에 존재하는 무손실 압축 알고리즘이 이용될 수 있으며, 본 발명의 실시예에서는 zlib(http://zlib.net/, April 2009) 또는 7zip(http://7-zip.org/, June 2009) 알고리즘이 엔트로피 코더로서 이용된다.
마지막으로, 파일 기록/패킷타이징 블럭(360)에서는, 압축된 데이터를 파일로 기록하거나 전송을 위한 패킷으로 패킷타이징하는 처리가 수행된다. 압축된 데이터를 파일로 기록할 경우에는 앞에서 설명한 SHP 형식의 파일 구조를 따라 기록이 행해진다. 여기서, SHP 형식의 레코드 헤더 및 레코드 정보는 도 6에 도시된 바와 같은 형식의 압축된 레이어의 데이터로 대치된다. 따라서, 도 1에 도시된 기존 의 SHP 형식과는 달리, 레코드 헤더 부분은 MCA 헤더, MCA 크기, 포인트의 수, MBR 코드 등으로 구성되고, 레코드 내용은 페이로드 부분에 해당한다. 페이로드에 부가된 데이터는 압축된 비트 스트림이므로 그 자체로는 의미가 없고, 압축해제(디코딩) 전후의 데이터는 도 10에 도시된 바와 같다.
본 발명자 등은 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법의 압축 효율을 평가하기 위하여, 압축 전후의 벡터 맵 변화량을 RMSE(root mean square error)를 통해 측정하였고, 도 5에 도시된 폴리라인의 속성을 갖는 여러 레이어에 대해 압축률을 계산하였으며, 전송을 고려하여 다양한 정밀도에 대해서도 압축률을 계산하였다. 다른 환경에서 생성된 SHP 형식의 파일에 대해서도 압축을 수행하여 호환성 및 고압축률이 달성가능하다는 것을 확인하였다.
도 11은 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법의 압축 실험에 사용된 도 5의 정밀 벡터 맵에서 추출된 속성이 폴리곤 및 폴리라인인 레이어를 예시한 것이다. 도 11의 (a)는 고속 도로이고, (b)는 시내 도로, (c)는 일반 도로, (d)는 해발 100m 등고선이다. 도 11에 도시된 모든 레이어는 1:1000의 축척을 가지며, c=6의 정밀도를 가진다.
아래의 표 1은 도 11의 속성 정보와, 본 발명의 실시예에 따른 압축 방법에 zlib 및 7zip의 압축 알고리즘을 적용한 압축 결과를 각각 나타낸 것이다. 또한, 아래의 표 2는 기존의 일반적인 데이터 압축 방법과 본 발명의 실시예에 다른 압축 방법을 비교하여 최종 출력 파일의 크기를 나타낸 것이다.
속성(개수) 원본 파일
(바이트)
압축데이터
파일(zlib)
압축데이터
파일(7z)
RMSE
(a) 폴리라인
(127)
43,228 25,495 24,429 0
(b) 폴리라인
(99)
41,760 26,858 25,360 0
(c) 폴리라인
(1140)
515,424 325,066 300,499 0
(d) 폴리곤
(22)
213,860 90,232 83,142 0
원본 데이터 본 발명
( zlib )
본 발명
(7z)
7z zip rar gz
(a) 43 25 24 26 30 29 30
(b) 47 27 25 30 35 34 35
(c) 566 333 302 306 414 395 415
(d) 213 92 84 86 156 93 156
상기 표 1 및 표 2로부터, 기존의 일반적인 압축 방법에 비해 본 발명의 압축 방법에서 에너지 집중이 효율적으로 수행되었음을 알 수 있다. 또한, 본 발명의 압축 방법에서는 대부분의 인코딩 과정이 +/-/Shift 연산으로 수행되므로 압축 처리의 실시간성에 있어서도 만족스러운 결과가 얻어진다.
다음으로, 표 3은 도 11에 도시된 각 레이어들 중에서 속성 및 좌표 정보가 많은 (c) 및 (d)에 대한 무손실 압축과 선택적 계층별 압축에 대한 결과를 나타낸 것이다. 압축률은 각 레이어의 모든 헤더 및 필드를 제외한 순수 좌표값에 대해 계산되었으며, 원 레이어의 데이터 크기를 기준으로 감소된 양이 계산되었다. 특히, 표 3에서는 8비트 정밀도 및 20비트 깊이를 가지면서 전송되는 비트량에 따라 1~4 계층으로 분류하여 실험한 결과를 나타낸다.
4 계층
(all)
3 계층
(16 비트)
2 계층
(8 비트)
1 계층
(0 비트)


(c)
zlib
(%)
325,066
(64.31)
254,324
(49.34)
216,278
(41.96)
149,703
(29.04)
7z
(%)
300,499
(58.30)
284,110
(55.12)
213,209
(41.37)
129,729
(25.17)
RMSE 0.0 0.0027 0.0453 0.7076


(d)
zlib
(%)
90,232
(42.46)
86,178
(40.55)
66,418
(31.25)
41,330
(19.45)
7z
(%)
83,142
(39.12)
73,389
(34.53)
45,794
(21.55)
23,454
(11.04)
RMSE 0.0 0.0031 0.0501 0.7823
표 3에 나타낸 바와 같이, 본 발명의 압축 방법을 이용하여 무손실 압축이 수행될 때, 즉, 정밀 지도 데이터의 모든 계층이 전송될 경우에는, 그 데이터 양은 평균적으로 원본 데이터의 약 65%이므로, 약 35%의 데이터 압축률이 달성됨을 확인할 수 있었다. 또한, 표 3은 사용자의 요청에 따라 계층적으로 데이터를 전송할 때의 데이터 압축률과 RMSE를 수치적으로 나타낸 것이며, 3 계층일 경우에는 평균적으로 2배의 압축 효율이 달성되었고, 1 계층에서는 모두 3~9배 이상의 압축 효율이 달성되었다. 반면, 오차의 척도인 RMSE는 거의 나타나지 않았음을 확인할 수 있다.
도 12는 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법이 적용되기 전의 원본 벡터 맵 데이터 및 1계층 압축 전송된 벡터 맵 데이터를 각각 도시하는 것으로서, 폴리곤 속성을 갖는 레이어의 1 계층 전송 결과를 확대하여 나타낸 것이다. 도 12의 (a)는 원본 벡터 맵 데이터이고, (b)는 1 계층 압축 전송된 벡터 맵 데이터이다. 도 12의 (a) 및 (b)를 비교해 보면, 본 발명의 압축 방법이 1 계층에 대해 적용되더라도 벡터 맵 데이터가 거의 동일함을 알 수 있다.
이것은 일반적으로 Web-GIS, 모바일-GIS 또는 내비게이션 등을 사용하는 일반 사용자가 1 계층 압축된 벡터 맵 데이터만 전송하여도 축척 상의 실감 오차를 거의 느끼지 않고도 충분한 서비스를 제공받을 수 있음을 보여주는 것이다.
또한, 본 발명의 압축 방법에서는 실수 연산이 거의 수행되지 않으며, 압축된 데이터를 복원하지 않고도 실제 지도상의 원하는 영역에 대한 정확한 벡터 맵 데이터에 대한 접근이 가능하므로, 실시간 처리에 유용하다. 또한, 기존 SHP 형식에 단순한 압축 모듈을 삽입하여 응용하는 것이 가능하므로, 기존 시스템을 최대한 유지하면서도 본 발명의 압축 방법을 적용할 수 있다.
전술한 본 발명의 GIS 벡터 맵 데이터 압축 방법은 컴퓨터 프로그램으로 구현될 수 있다. 또한, 이러한 컴퓨터 프로그램은 플로피 디스크, 하드 디스크, 자기 디스크, CD-ROM, CD-R/W, DVD-ROM, DVD-R/W, USB 저장매체, 웹하드 등의 각종 컴퓨터 판독가능 저장매체에 저장될 수 있다.
지금까지 본 발명의 실시예의 구성 및 동작에 대해 설명하였다. 본 발명은 상기 설명된 실시예에 한정되지 않으며, 본 발명의 범위를 벗어나지 않는 한도 내에서 다양한 변형을 가할 수 있다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 특허청구범위뿐만 아니라 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일반적인 바이너리 형식의 벡터 맵 데이터를 표현하기 위한 SHP 파일의 구조를 도시하는 도면이다.
도 2는 일반적인 GIS 벡터 맵 서비스의 처리과정을 설명하기 위한 서비스 흐름도이다.
도 3은 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법을 예시하는 블럭도이다.
도 4는 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에 이용되는 SHP 형식으로 구성된 GIS 벡터 맵 데이터를 예시하는 도면이다.
도 5는 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에서 이용되는 1:1000 축척의 정밀 벡터 맵을 예시하는 도면이다.
도 6은 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에서 이용되는 최소 코딩 속성(MCA : Minimum Coding Attribute)의 내부 구조를 도시하는 도면이다.
도 7은 도 3의 2-스텝 공간 에너지 집중(SEC : Spatial Energy Compaction) 블럭의 세부 구성을 도시하는 블럭도이다.
도 8은 도 7의 2-스텝 SEC 블럭에서의 처리 결과를 예시하는 도면이다.
도 9는 도 3의 계층적 압축 블럭에서 소수부를 재배열하는 원리를 설명하는 도면이다.
도 10은 도 3의 엔트로피 코딩 블럭에서의 처리 원리를 설명하는 도면이다.
도 11은 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법에서 이용되는 레이어들 중에서 (a) 고속도로, (b) 시내도로, (c) 일반도로, (d) 해발 100m ㄷ등고선을 각각 도시하는 도면이다.
도 12는 본 발명의 실시예에 따른 GIS 벡터 맵 데이터 압축 방법이 적용되기 전의 원본 벡터 맵 데이터 및 1계층 압축 전송된 벡터 맵 데이터를 각각 도시하는 도면이다.

Claims (11)

  1. (a) 복수의 속성에 따라 분류된 복수의 레이어 파일을 저장하는 지리정보 데이터베이스를 로드하여 폴리라인(polyline) 및 폴리곤(polygon)의 속성을 갖는 레이어를 선택하고, 상기 선택된 각각의 레이어로부터 레코드 정보를 추출하는 단계;
    (b) 상기 (a) 단계에서 추출된 각각의 레코드 정보에 대하여 최소 코딩 속성(MCA : Minimum Coding Attribute)을 설정하는 단계;
    (c) 상기 (b) 단계에서 설정된 각각의 최소 코딩 속성으로부터, 각각의 최소 코딩 속성에 포함되며 해당 레코드 내용의 일부를 구성하는 속성의 좌표값을 추출하고, 상기 추출된 좌표값의 정수부 및 소수부를 분리하는 단계;
    (d) 상기 (c) 단계에서 얻어진 속성 좌표값의 정수부에 대해, 각 레이어의 최소 경계 사각형(MBR) 좌표값 및 각 레이어 내의 각각의 속성이 갖는 최소 경계 사각형 좌표값을 이용하여 1차 감산과 2차 감산을 통한 공간영역에서의 2-스텝 에너지 집중(SEC, Spatial Energy Compaction)을 수행하고, 공간영역에서의 2-스텝 에너지 집중(SEC)에 의해 생성된 변위 데이터 및 부호 데이터를 디코딩시에 필요한 정보와 함께 재배열하는 단계;
    (e) 상기 (c) 단계에서 얻어진 속성 좌표값의 소수부에 대해, 압축의 정밀도를 결정하고, 소정의 시프트 연산 및 상기 결정된 압축 정밀도를 이용하여 하나의 레코드 단위로 상기 속성 좌표값의 소수부를 재배열하는 단계; 및
    (f) 상기 (d) 단계 및 (e) 단계에 의해 처리된 속성 좌표값의 정수부 데이터 및 소수부 데이터를 소정의 엔트로피 코더에 의해 압축하는 단계를 포함하는
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  2. 제 1 항에 있어서,
    상기 지리정보 데이터베이스는 클라이언트로부터의 요구에 의해 지리정보 서비스를 제공하는 지리정보시스템 서버에 접속되어 있는
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  3. 제 1 항에 있어서,
    상기 최소 코딩 속성은 해당 레코드 정보와 압축 및 디코딩에 필요한 정보들과 함께 하나의 집합으로서 정의되는 것이고,
    상기 필요한 정보는 최소 코딩 속성 헤더, 최소 코딩 속성 크기, 포인트의 수, 해당 속성의 최소 경계 사각형 코드 및 페이로드인 것인 지리정보시스템의 벡터 맵 데이터 압축 방법.
  4. 삭제
  5. 제 3 항에 있어서,
    상기 페이로드는 압축될 해당 속성의 좌표 데이터를 포함하는
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  6. 제 1 항에 있어서,
    상기 (c) 단계에서 상기 추출된 좌표값의 정수부 및 소수부의 분리는 다음의 수학식에 의해 수행되고,
    Figure 112009070228057-pat00011
    (여기서, c는 소수점 밑수 정밀도)
    첫 번째 수학식은 벡터 좌표 집합에서 정수부를 분리하기 위해 이용되고, 두 번째 수학식은 소수부를 정수화하기 위해 이용되는
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  7. 제 1 항에 있어서,
    상기 (d) 단계의 2-스텝 공간영역 에너지 집중은,
    (g) 각 레이어의 최소 경계 사각형 좌표값(레이어 MBR)과 각 레이어 내의 각 각의 속성이 갖는 최소 경계 사각형 좌표값(MCA MBR) 사이의 감산을 수행하고, 그 결과를 최소 코딩 속성의 헤더에 부가하는 단계;
    (h) 상기 (c) 단계에서 분리된 정수부의 좌표값과 해당 속성의 MCA MBR의 정수부 사이의 감산을 수행하는 단계; 및
    (i) 상기 (h) 단계의 감산에 의해 얻어지는 좌표값의 평균값을 구하고, 상기 (h) 단계에서 얻어진 좌표값과 상기 평균값을 이용하여 감산을 수행하고, 상기 (h) 단계에서 얻어진 각 좌표값의 상기 평균값으로부터의 변위와 그 부호를 구하는 단계에 의해 수행되는
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  8. 제 7 항에 있어서,
    상기 (g) 단계에서의 감산은 다음의 수학식에 의해 수행되는
    Figure 112009070228057-pat00012
    (여기서, Bmin l m, Bmax l m는 각 레이어의 최소 경계 사각형 좌표값이고, BminPn, BmaxPn는 임의의 레이어 내의 임의의 속성이 갖는 최소 경계 사각형 좌표값임)
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  9. 제 7 항에 있어서,
    상기 (h) 단계에서의 감산은 다음의 수학식에 의해 수행되는
    Figure 112009070228057-pat00013
    (여기서, Zi(x), Zi(y)는 상기 (c) 단계에서 분리된 정수부의 좌표값이고, floor 함수는 MCA MBR(BminPn)의 소수점 이하를 내림하는 함수임)
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  10. 제 7 항에 있어서,
    상기 (i) 단계에서의 감산은 다음의 수학식에 의해 수행되는
    Figure 112009070228057-pat00014
    (여기서, Z* i는 상기 (h) 단계에서 얻어지는 좌표값이고, I는 상기 좌표값 Z* i의 개수임)
    지리정보시스템의 벡터 맵 데이터 압축 방법.
  11. 제 1 항 내지 제 3 항, 제5항 내지 제10항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.
KR1020090110402A 2009-11-16 2009-11-16 효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법 KR101164719B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090110402A KR101164719B1 (ko) 2009-11-16 2009-11-16 효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090110402A KR101164719B1 (ko) 2009-11-16 2009-11-16 효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법

Publications (2)

Publication Number Publication Date
KR20110053737A KR20110053737A (ko) 2011-05-24
KR101164719B1 true KR101164719B1 (ko) 2012-07-11

Family

ID=44363190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090110402A KR101164719B1 (ko) 2009-11-16 2009-11-16 효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법

Country Status (1)

Country Link
KR (1) KR101164719B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102522043A (zh) * 2011-12-12 2012-06-27 光庭导航数据(武汉)有限公司 基于线段拓扑关系的多边形压缩方法
KR101314523B1 (ko) * 2012-04-06 2013-10-04 부경대학교 산학협력단 빈 분류기반 공간 에너지 집중기법을 이용한 벡터 맵 압축 방법
KR101470505B1 (ko) * 2012-10-11 2014-12-16 주식회사 리얼타임테크 공간 데이터 압축 장치 및 그 방법과, 압축된 공간 데이터 복원 장치 및 그 방법
US9608664B2 (en) 2013-12-30 2017-03-28 International Business Machines Corporation Compression of integer data using a common divisor
US9628107B2 (en) 2014-04-07 2017-04-18 International Business Machines Corporation Compression of floating-point data by identifying a previous loss of precision
US9350384B2 (en) 2014-09-30 2016-05-24 International Business Machines Corporation Hierarchical data compression and computation
US9959299B2 (en) 2014-12-02 2018-05-01 International Business Machines Corporation Compression-aware partial sort of streaming columnar data
US10909078B2 (en) 2015-02-25 2021-02-02 International Business Machines Corporation Query predicate evaluation and computation for hierarchically compressed data
CN111324678A (zh) * 2018-12-14 2020-06-23 北京京东尚科信息技术有限公司 数据处理方法、装置和计算机可读存储介质
CN111914042B (zh) * 2019-05-10 2024-03-19 中国电力科学研究院有限公司 一种处理电力gis中矢量和栅格切片数据的方法
CN112633762A (zh) * 2020-12-31 2021-04-09 国网河北省电力有限公司经济技术研究院 楼宇能效获取方法及设备
KR102639157B1 (ko) * 2021-12-02 2024-02-21 서울과학기술대학교 산학협력단 합성곱 신경망을 위한 부동소수점 압축이 포함된 캐시

Also Published As

Publication number Publication date
KR20110053737A (ko) 2011-05-24

Similar Documents

Publication Publication Date Title
KR101164719B1 (ko) 효율적인 저장 및 전송을 위한 지리정보시스템의 벡터 맵 데이터 압축 방법
US7724965B2 (en) Method for encoding and serving geospatial or other vector data as images
US7349585B2 (en) Image processing system that internally transmits lowest-resolution image suitable for image processing
US20070139411A1 (en) Methods and systems for downloading and viewing maps
US20060067561A1 (en) Image processing apparatus, image processing method, and computer product
CN114424247A (zh) 用于点云编码的方法及装置
CN107301194A (zh) 瓦片式栅格地图的压缩存储及发布方法
JP2022528526A (ja) 点群圧縮のための変換係数のアルファベットパーティションコーディングの方法及び装置並びにプログラム
CN115098888A (zh) 地图数据包全流程自适应生成与加密方法、装置和设备
CN115336243A (zh) 基于哈尔的点云编码方法和装置
US7570180B2 (en) Method for syntactically analyzing a bit stream using a schema and a method of generating a bit stream based thereon
US6606416B1 (en) Encoding method and apparatus for representing a digital image
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
CN115088017A (zh) 点云的树内几何量化
CN112887713B (zh) 图片压缩、解压缩方法和装置
JP4215269B2 (ja) 領域ベースのスケーラブルな画像コーディング
JP4609918B2 (ja) 画像処理システム、画像処理方法、プログラム及び情報記録媒体
CN116126957A (zh) 数据格式转换方法、装置、设备及存储介质
Fränti et al. Compression of map images for real-time applications
Hayat et al. Scalable 3-D terrain visualization through reversible JPEG2000-based blind data hiding
Jang et al. Progressive vector compression for high-accuracy vector map data
JP2007166013A (ja) 画像処理方式、画像処理方法、画像処理プログラム及び画像処理プログラムを記録した記録媒体
CN100596201C (zh) 用于图像和视频压缩的正交整数变换方法
KR100611301B1 (ko) 3차원 이미지 데이터를 압축하는 방법 및 장치
Zhu et al. Data Compression for Network GIS.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150702

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee