KR101909387B1 - 고속 전송을 위한 데이터 압축 방법 및 장치 - Google Patents

고속 전송을 위한 데이터 압축 방법 및 장치 Download PDF

Info

Publication number
KR101909387B1
KR101909387B1 KR1020170092142A KR20170092142A KR101909387B1 KR 101909387 B1 KR101909387 B1 KR 101909387B1 KR 1020170092142 A KR1020170092142 A KR 1020170092142A KR 20170092142 A KR20170092142 A KR 20170092142A KR 101909387 B1 KR101909387 B1 KR 101909387B1
Authority
KR
South Korea
Prior art keywords
data
value
time interval
compression
calculating
Prior art date
Application number
KR1020170092142A
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 KR1020170092142A priority Critical patent/KR101909387B1/ko
Application granted granted Critical
Publication of KR101909387B1 publication Critical patent/KR101909387B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 방법은 데이터를 구간별로 나누어 접합함수(Fitting Function)를 계산하는 단계; 상기 접합함수를 기준으로 상기 데이터에 대해 상기 구간별로 오차 값을 산출하는 단계; 상기 오차 값을 기초로 상기 데이터를 제1 압축하여 구간 압축 데이터 값을 생성하는 단계; 및 압축 알고리즘을 이용하여 상기 구간 압축 데이터 값에 대한 제2 압축을 수행하는 단계를 포함한다.

Description

고속 전송을 위한 데이터 압축 방법 및 장치{DATA COMPRESSION METHOD AND DEVICE FOR HIGH SPEED DATA TRANSMISSION}
본 발명의 실시예들은 고속 전송을 위한 데이터 압축 방법 및 장치에 관한 것이다.
한편, 본 발명은 국토교통부의 연구비 지원에 의해 수행된 "국토교통기술촉진연구사업 (16CTAP-CO98410-02)"의 성과이다.
데이터를 압축했다가 원래의 데이터와 완전히 동일하게 복원할 수 있는 압축 방법을 무손실 압축이라고 한다. 일반적으로, 데이터를 무손실 압축하는 방법으로는 엔트로피 코딩(Entropy coding) 방법이 가장 널리 사용되고 있다. 상기 엔트로피 코딩 방법은 출현 빈도가 높은 심볼에 짧은 코드를 배정하고 빈도가 낮은 심볼에 긴 코드를 배정하므로, 가변 길이 코딩(Variable-length coding)이라고 불린다.
상기 엔트로피 코딩에서는 심볼의 빈도만을 고려하는데, 대표적인 방법으로는 허프만(Huffman) 코딩이 사용된다. 즉, 상기 엔트로피 코딩은 미리 각 심볼의 출현 빈도를 알아야 최적의 압축이 가능하며, 허프만 코딩에서는 각각의 심볼에 하나씩 코드워드를 배정하므로 정수 길이의 코드워드만 허용한다.
상기 엔트로피 코딩은 압축의 한계에 거의 근접했고, 비록 압축 효율을 더 높인다고 해도 무손실 압축의 한계인 엔트로피에 더 가까이 접근할 뿐 그 한계를 뛰어넘어 엔트로피 이하로 압축할 수 없는 문제점이 있다. 이에, 고속으로 이동하는 열차에 의한 통신의 시간적 제약 문제가 대두되었고, 상기 허프만 코딩을 이용한 압축만으로는 상기와 같은 통신의 시간적 제약 문제를 극복하기 어려운 실정이다.
관련 선행기술로는 대한민국 등록특허공보 제10-1023536호(발명의 명칭: 데이터 무손실 압축 방법, 등록일자: 2011.03.11)가 있다.
본 발명의 일 실시예는 데이터의 중복도를 높이기 위해 접합함수를 계산하여 접합함수를 기준으로 신호의 차이 값을 허프만 코딩으로 압축함으로써 데이터의 압축 효율을 향상시킬 수 있는 고속 전송이 가능한 데이터 압축 방법 및 장치를 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 방법은 데이터를 구간별로 나누어 접합함수(Fitting Function)를 계산하는 단계; 상기 접합함수를 기준으로 상기 데이터에 대해 상기 구간별로 오차 값을 산출하는 단계; 상기 오차 값을 기초로 상기 데이터를 제1 압축하여 구간 압축 데이터 값을 생성하는 단계; 및 압축 알고리즘을 이용하여 상기 구간 압축 데이터 값에 대한 제2 압축을 수행하는 단계를 포함한다.
상기 접합함수를 계산하는 단계는 상기 데이터에 대해 X축의 구간을 증가시키면서 각 구간별로 1차 다항식의 접합함수를 계산하는 단계를 포함할 수 있다.
상기 오차 값을 산출하는 단계는 상기 접합함수의 결과 값을 구간별로 산출하는 단계; 각 구간별로 상기 접합함수의 결과 값과 상기 데이터의 값을 비교하는 단계; 및 상기 비교 결과에 따른 각 구간별 오차 값을 산출하는 단계를 포함할 수 있다.
상기 구간 압축 데이터 값을 생성하는 단계는 상기 구간별로 산출된 오차 값을 미리 설정된 오차 범위와 비교하는 단계; 및 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나면, 상기 접합함수의 계산이 완료된 해당 구간의 데이터에 대해 상기 오차 값을 기초로 하여 제1 압축을 수행하는 단계를 포함할 수 있다.
상기 구간 압축 데이터 값을 생성하는 단계는 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나지 않으면, 상기 접합함수의 계산이 완료된 이후의 구간부터 상기 접합함수를 계산하는 단계 및 상기 오차 값을 산출하는 단계를 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어날 때까지 반복 수행하는 단계를 더 포함할 수 있다.
상기 압축 알고리즘은 허프만 코딩(Huffman Coding) 알고리즘을 포함할 수 있다.
상기 오차 범위는 측정하고자 하는 비트 수를 이용하여 미리 설정될 수 있다.
상기 데이터는 센서 소자에서 측정된 센서 데이터의 아날로그-디지털 변환 값을 포함할 수 있다.
본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치는 데이터를 구간별로 나누어 접합함수(Fitting Function)를 계산하고, 상기 접합함수를 기준으로 상기 데이터에 대해 상기 구간별로 오차 값을 산출하며, 상기 오차 값을 기초로 상기 데이터를 제1 압축하여 구간 압축 데이터 값을 생성하는 제1 압축 데이터 생성부; 및 압축 알고리즘을 이용하여 상기 구간 압축 데이터 값에 대한 제2 압축을 수행하는 제2 압축 데이터 생성부를 포함한다.
상기 제1 압축 데이터 생성부는 상기 데이터에 대해 X축의 구간을 증가시키면서 각 구간별로 1차 다항식의 접합함수를 계산할 수 있다.
상기 제1 압축 데이터 생성부는 상기 접합함수의 결과 값을 구간별로 산출하고, 각 구간별로 상기 접합함수의 결과 값과 상기 데이터의 값을 비교하며, 상기 비교 결과에 따른 각 구간별 오차 값을 산출할 수 있다.
상기 제1 압축 데이터 생성부는 상기 구간별로 산출된 오차 값을 미리 설정된 오차 범위와 비교하고, 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나면, 상기 접합함수의 계산이 완료된 해당 구간의 데이터에 대해 상기 오차 값을 기초로 하여 제1 압축을 수행할 수 있다.
상기 제1 압축 데이터 생성부는 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나지 않으면, 상기 접합함수의 계산이 완료된 이후의 구간부터 상기 접합함수를 계산하는 동작 및 상기 오차 값을 산출하는 동작을 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어날 때까지 반복 수행할 수 있다.
본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치는 상기 데이터를 센서 소자로부터 수신하여 아날로그-디지털 변환을 통해 아날로그-디지털 변환 값을 생성하는 아날로그-디지털 변환기를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치는 상기 제2 압축된 데이터를 외부 기기로 무선 전송하는 무선 전송 장치를 더 포함하고, 상기 외부 기기는 상기 제2 압축된 데이터로부터 상기 데이터의 특성을 분석하고, 상기 분석 결과에 기초하여 상기 데이터 압축 장치가 설치된 대상물과 관련한 위험 징후를 탐지할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 데이터의 중복도를 높이기 위해 접합함수를 계산하여 접합함수를 기준으로 신호의 차이 값을 허프만 코딩으로 압축함으로써 데이터의 압축 효율을 향상시킬 수 있으며, 이를 통해 데이터의 고속 전송이 가능하도록 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 방법을 설명하기 위해 도시한 전체 흐름도이다.
도 2는 본 발명의 일 실시예에 따라 데이터의 각 구간별로 오차 값을 산출하는 과정을 설명하기 위해 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따라 오차 값을 기초로 데이터를 제1 압축하는 과정을 설명하기 위해 도시한 흐름도이다.
도 4 내지 도 7은 본 발명의 일 실시예에 따라 접합함수를 계산하여 접합함수를 기준으로 신호의 오차 값을 측정하는 편차 측정 알고리즘(제1 압축)을 설명하기 위해 도시한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치를 설명하기 위해 도시한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치의 응용 예를 도시한 도면이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능 구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능 구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능 구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성 요소와 본 발명을 위해 추가된 구성 요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 방법을 설명하기 위해 도시한 전체 흐름도이다.
여기서 설명하는 데이터 압축 방법은 도 8의 데이터 압축 장치(800)에 의해 수행될 수 있다. 상기 데이터 압축 방법은 본 발명의 하나의 실시예에 불과하며, 그 이외에 필요에 따라 다양한 단계들이 부가될 수 있고, 하기의 단계들도 순서를 변경하여 실시될 수 있으므로, 본 발명이 하기에 설명하는 각 단계 및 그 순서에 한정되는 것은 아니다.
도 1을 참조하면, 단계(110)에서 상기 데이터 압축 장치는 데이터를 구간별로 나누어 접합함수(Fitting Function)를 계산할 수 있다.
이때, 상기 데이터 압축 장치는 상기 데이터에 대해 X축의 구간을 증가시키면서 각 구간별로 1차 다항식의 접합함수를 계산할 수 있다.
여기서, 상기 데이터는 센서 소자에서 측정된 센서 데이터의 아날로그-디지털 변환 값을 포함할 수 있다. 또한, 상기 데이터는 시간 영역의 값으로 표현될 수 있으며, 이에 따라 상기 구간은 X축의 시간 구간을 나타낼 수 있다.
다음으로, 단계(120)에서 상기 데이터 압축 장치는 상기 접합함수를 기준으로 상기 데이터에 대해 상기 구간별로 오차 값을 산출할 수 있다. 이에 대해 도 2를 참조하여 구체적으로 설명하면 다음과 같다. 참고로, 도 2는 본 발명의 일 실시예에 따라 데이터의 각 구간별로 오차 값을 산출하는 과정을 설명하기 위해 도시한 흐름도이다.
즉, 도 2에 도시된 바와 같이, 단계(210)에서 상기 데이터 압축 장치는 상기 접합함수의 결과 값을 구간별로 산출할 수 있다. 즉, 상기 데이터 압축 장치는 상기 1차 다항식의 접합함수에서 X축의 시간 구간별로 Y축의 결과 값을 산출할 수 있다.
이후, 단계(220)에서 상기 데이터 압축 장치는 각 구간별로 상기 접합함수의 결과 값과 상기 데이터의 값을 비교할 수 있다. 즉, 상기 데이터 압축 장치는 X축의 시간 구간별로 상기 접합함수의 Y축의 값과 상기 데이터의 Y축의 값을 비교할 수 있다.
이후, 단계(230)에서 상기 데이터 압축 장치는 상기 비교 결과에 따른 각 구간별 오차 값을 산출할 수 있다.
다시 도 1을 참조하면, 단계(130)에서 상기 데이터 압축 장치는 상기 오차 값을 기초로 상기 데이터를 제1 압축하여 구간 압축 데이터 값을 생성할 수 있다. 이에 대해 도 3을 참조하여 구체적으로 설명하면 다음과 같다. 참고로, 도 3은 본 발명의 일 실시예에 따라 오차 값을 기초로 데이터를 제1 압축하는 과정을 설명하기 위해 도시한 흐름도이다.
즉, 도 3에 도시된 바와 같이, 단계(310)에서 상기 데이터 압축 장치는 상기 구간별로 산출된 오차 값을 미리 설정된 오차 범위와 비교할 수 있다. 여기서, 상기 오차 범위는 측정하고자 하는 비트 수를 이용하여 미리 설정될 수 있다.
상기 측정하고자 하는 비트 수는 임의로 정해질 수도 있고, 바람직하게는 상기 데이터의 최소/최대 값을 관측해서 그 결과를 토대로 가장 적합한 값으로 정해질 수도 있다. 예컨대, 상기 데이터가 12비트로 표현되는 경우, 상기 오차 범위는 5비트로 설정될 수 있다. 이러한 경우, 12비트의 데이터는 상기의 제1 압축 과정에 의해 5비트의 데이터로 변환될 수 있다.
이후, 단계(320)는 에서 상기 데이터 압축 장치는 상기 구간별로 산출된 오차 값이 설정 오차 범위(상기 미리 설정된 오차 범위)를 벗어나는지 여부를 판단할 수 있다.
상기 판단 결과, 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나면(320의 "예" 방향), 단계(330)에서 상기 데이터 압축 장치는 상기 접합함수의 계산이 완료된 해당 구간의 데이터에 대해 상기 오차 값을 기초로 하여 제1 압축을 수행할 수 있다.
즉, 상기 데이터 압축 장치는 상기 오차 값이 상기 오차 범위를 벗어난 구간에서 상기 접합함수(f1(t))의 계산을 일시적으로 완료하고, 상기 접합함수의 계산이 완료된 해당 구간의 데이터에 대해 상기 오차 값을 상기 구간 압축 데이터 값으로 생성함으로써 상기 제1 압축을 수행할 수 있다. 참고로, 그 이후의 구간부터는 다음 접합함수(f2(t))의 계산이 수행될 수 있다.
반면에, 상기 판단 결과, 상기 구간별로 산출된 오차 값이 상기 오차 범위를 벗어나지 않으면(320의 "아니오" 방향), 상기 데이터 압축 장치는 상기 단계(110)로 리턴할 수 있다.
즉, 상기 데이터 압축 장치는 상기 오차 값이 상기 오차 범위 내에 있으면, 상기 접합함수의 계산이 완료된 이후의 구간부터 상기 접합함수를 계산하는 단계(110) 및 상기 오차 값을 산출하는 단계(120)를 상기 오차 값이 상기 오차 범위를 벗어날 때까지 반복 수행할 수 있다.
다시 도 1을 참조하면, 단계(140)에서 상기 데이터 압축 장치는 압축 알고리즘을 이용하여, 상기 제1 압축에 의해 생성된 구간 압축 데이터 값에 대한 제2 압축을 수행할 수 있다. 여기서, 상기 압축 알고리즘은 허프만 코딩(Huffman Coding) 알고리즘을 포함할 수 있다.
다시 말해, 상기 데이터 압축 장치는 상기 제1 압축에 의해 생성된 구간 압축 데이터 값에 대해서 상기 허프만 코딩 알고리즘을 이용하여 제2 압축을 수행할 수 있다.
이와 같이, 본 발명의 일 실시예에서는 데이터의 중복도를 높이기 위해 접합함수를 계산하여 접합함수를 기준으로 신호의 차이 값을 허프만 코딩으로 압축함으로써 데이터의 압축 효율을 향상시킬 수 있으며, 이를 통해 데이터의 고속 전송이 가능하도록 할 수 있다.
도 4 내지 도 7은 본 발명의 일 실시예에 따라 접합함수를 계산하여 접합함수를 기준으로 신호의 오차 값을 측정하는 편차 측정 알고리즘(제1 압축)을 설명하기 위해 도시한 예시도이다.
도 4에 도시된 바와 같이, 측정된 데이터 {y0, y1, y2, ..., yn}에서 인덱스 i를 1부터 n까지 증가시키면서 1차 접합함수를 계산한다.
도 5 및 도 6에 도시된 바와 같이, 상기 계산된 접합함수의 결과 값과 데이터 값의 오차(E1, E2)가 미리 설정된 오차 범위(비트 값)보다 크면 구간을 종료하고, 그렇지 않으면 i 값을 계속 증가시키며 상기 접합함수를 계산한다.
도 7에 도시된 바와 같이, 구간이 종료되면 상기 접합함수 f1(t) = at + b에서 a, b 값과 해당 구간의 오차 값을 구간 압축 값으로 생성한다.
위의 내용을 반복하며 i가 데이터의 총 개수 n이 될 때까지 반복하며 구간별 압축된 값을 생성한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 8은 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치를 설명하기 위해 도시한 블록도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치(800)는 아날로그 디지털 변환기(811), 제1 압축 데이터 생성부(812), 및 제2 압축 데이터 생성부(813)를 포함할 수 있다. 상기 아날로그 디지털 변환기(811), 상기 제1 압축 데이터 생성부(812), 및 상기 제2 압축 데이터 생성부(813)는 마이크로 컨트롤러(MCU)(810) 내에 구현될 수 있다.
상기 아날로그 디지털 변환기(811)는 입력된 데이터를 아날로그-디지털 변환을 통해 아날로그-디지털 변환 값을 생성할 수 있다. 여기서, 상기 데이터는 센서 소자로부터 수신하여 입력될 수 있다.
상기 제1 압축 데이터 생성부(812)는 상기 데이터를 구간별로 나누어 접합함수(Fitting Function)를 계산할 수 있다. 이때, 상기 제1 압축 데이터 생성부(812)는 상기 데이터에 대해 X축의 구간을 증가시키면서 각 구간별로 1차 다항식의 접합함수를 계산할 수 있다.
상기 제1 압축 데이터 생성부(812)는 상기 접합함수를 기준으로 상기 데이터에 대해 상기 구간별로 오차 값을 산출할 수 있다. 이를 위해, 상기 제1 압축 데이터 생성부(812)는 상기 접합함수의 결과 값을 구간별로 산출하고, 각 구간별로 상기 접합함수의 결과 값과 상기 데이터의 값을 비교하여 각 구간별 오차 값을 산출할 수 있다.
상기 제1 압축 데이터 생성부(812)는 상기 오차 값을 기초로 상기 데이터를 제1 압축하여 구간 압축 데이터 값을 생성할 수 있다. 이를 위해, 상기 제1 압축 데이터 생성부(812)는 상기 구간별로 산출된 오차 값을 미리 설정된 오차 범위와 비교하고, 그 비교 결과에 따라 제1 압축을 수행할 수 있다.
구체적으로, 상기 제1 압축 데이터 생성부(812)는 상기 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나면, 상기 접합함수의 계산이 완료된 해당 구간의 데이터에 대해 상기 오차 값을 기초로 제1 압축을 수행하여 상기 구간 압축 데이터 값을 생성할 수 있다.
다만, 상기 제1 압축 데이터 생성부(812)는 상기 오차 값이 상기 오차 범위를 벗어나지 않으면, 상기 접합함수의 계산이 완료된 이후의 구간부터 상기 접합함수를 계산하는 동작 및 상기 오차 값을 산출하는 동작을 상기 오차 값이 상기 오차 범위(비트 값)를 벗어날 때까지 반복 수행할 수 있다.
상기 제2 압축 데이터 생성부(813)는 압축 알고리즘을 이용하여 상기 구간 압축 데이터 값에 대한 제2 압축을 수행할 수 있다. 여기서, 상기 압축 알고리즘은 허프만 코딩 알고리즘을 포함할 수 있다. 즉, 상기 제2 압축 데이터 생성부(813)는 상기 제1 압축에 의해 생성된 구간 압축 데이터 값에 대해 상기 허프만 코딩 알고리즘을 적용하여 상기 제2 압축을 수행할 수 있다.
한편, 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치(800)는 무선 전송 장치(820)를 더 포함할 수 있다.
상기 무선 전송 장치(820)는 상기 제2 압축 데이터 생성부(813)에 의해 제2 압축된 데이터를 외부 기기(미도시)로 무선 전송할 수 있다.
상기 외부 기기는 상기 제2 압축된 데이터로부터 상기 데이터의 특성을 분석하고, 상기 분석 결과에 기초하여 상기 데이터 압축 장치가 설치된 대상물과 관련한 위험 징후를 탐지할 수 있다.
도 9는 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치의 응용 예를 도시한 도면이다.
도 9에 도시된 바와 같이, 지반(904) 위에 놓인 침목(903)과 철로(902) 사이에는 압전 소자(801)가 삽입 설치될 수 있다. 상기 압전 소자(801)는 열차(901)가 침목(903) 위를 지나갈 때 발생하는 진동 데이터를 감지할 수 있다. 열차(901)의 주행으로 인해 발생되는 진동 데이터는 지반 침하 등의 위험을 사전에 탐지할 때에 활용될 수 있다.
그런데, 기존에는 고속으로 이동하는 열차(901)에 의한 통신의 시간적 제약 문제로 인해 상기 진동 데이터를 열차(901) 내 장치로 온전히 전송하기 어려웠다. 하지만, 본 발명의 일 실시예에 따른 고속 전송을 위한 데이터 압축 장치에 의하면, 데이터의 중복성을 높이기 위해 신호(진동 데이터)를 구간별로 나누어 접합함수를 계산하여 그 함수를 기준으로 한 데이터의 편차로 일차적으로 압축한 후 허프만 코딩을 이용해 최종 압축함으로써 고속 전송이 가능하며, 이를 통해 고속으로 이동하는 열차(901)에 상기 진동 데이터를 온전히 전송할 수 있다.
따라서, 상기 열차(901) 내 장치는 상기 진동 데이터를 수신하여 직접 분석을 통해 위험 징후를 탐지하거나 상기 진동 데이터를 수신하여 별도의 외부 서버에 전송하여 상기 외부 서버에 의한 분석을 통해 위험 징후를 탐지하도록 할 수 있다. 상기 진동 데이터를 수신하여 직접 분석을 통해 위험 징후를 탐지하는 경우, 상기 열차(901) 내 장치는 위험 예측 시스템으로 구현될 수 있고, 상기 진동 데이터를 수신하여 별도의 외부 서버에 전송하는 경우, 상기 열차(901) 내 장치는 무선 통신 장치로 구현될 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
801: 센서
810: 마이크로 컨트롤러
811: 아날로그 디지털 변환기
812: 제1 압축 데이터 생성부
813: 제2 압축 데이터 생성부
820: 무선 전송 장치

Claims (15)

  1. 센서 소자에서 측정된 데이터의 아날로그-디지털 변환 값에 기초하여 상기 데이터를 시간 영역의 값으로 표현하여 각 시간 구간별로 1차 다항식의 접합함수(Fitting Function)를 계산하는 단계;
    상기 접합함수를 기준으로 상기 데이터에 대해 상기 시간 구간별로 오차 값을 산출하는 단계;
    상기 오차 값을 기초로 상기 데이터를 제1 압축하여 구간 압축 데이터 값을 생성하는 단계; 및
    압축 알고리즘을 이용하여 상기 구간 압축 데이터 값에 대한 제2 압축을 수행하는 단계
    를 포함하고,
    상기 접합함수를 계산하는 단계는
    처음 2개의 시간 구간에 해당하는 데이터를 기준으로 1차 다항식을 생성하는 단계;
    상기 오차 값이 미리 설정된 오차 범위를 벗어나면, 상기 오차 범위를 벗어난 시간 구간까지의 1차 다항식을 상기 접합함수로서 계산하는 단계; 및
    상기 오차 범위를 벗어난 시간 구간 이후의 2개의 시간 구간에 해당하는 데이터를 기준으로 1차 다항식을 생성하는 단계
    를 포함하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 방법.
  2. 제1항에 있어서,
    상기 접합함수를 계산하는 단계는
    상기 데이터에 대해 상기 시간 영역에 해당하는 X축의 시간 구간을 증가시키면서 각 시간 구간별로 상기 1차 다항식의 접합함수를 계산하는 단계
    를 포함하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 방법.
  3. 제1항에 있어서,
    상기 오차 값을 산출하는 단계는
    상기 1차 다항식의 접합함수에서 X축의 시간 구간별로 Y축의 결과 값을 산출하는 단계;
    각 X축의 시간 구간별로 상기 Y축의 결과 값과 상기 데이터의 값을 비교하는 단계; 및
    상기 비교 결과에 따른 각 시간 구간별 오차 값을 산출하는 단계
    를 포함하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 방법.
  4. 제1항에 있어서,
    상기 구간 압축 데이터 값을 생성하는 단계는
    상기 시간 구간별로 산출된 오차 값을 미리 설정된 오차 범위와 비교하는 단계; 및
    상기 시간 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나면, 상기 접합함수의 계산이 완료된 해당 시간 구간의 데이터에 대해 상기 오차 값을 기초로 하여 제1 압축을 수행하는 단계
    를 포함하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 방법.
  5. 제4항에 있어서,
    상기 구간 압축 데이터 값을 생성하는 단계는
    상기 시간 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나지 않으면, 상기 접합함수의 계산이 완료된 이후의 시간 구간부터 상기 접합함수를 계산하는 단계 및 상기 오차 값을 산출하는 단계를 상기 시간 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어날 때까지 반복 수행하는 단계
    를 더 포함하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 방법.
  6. 제1항에 있어서,
    상기 압축 알고리즘은
    허프만 코딩(Huffman Coding) 알고리즘을 포함하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 방법.
  7. 삭제
  8. 삭제
  9. 센서 소자에서 측정된 데이터의 아날로그-디지털 변환 값에 기초하여 상기 데이터를 시간 영역의 값으로 표현하여 각 시간 구간별로 1차 다항식의 접합함수(Fitting Function)를 계산하고, 상기 접합함수를 기준으로 상기 데이터에 대해 상기 시간 구간별로 오차 값을 산출하며, 상기 오차 값을 기초로 상기 데이터를 제1 압축하여 구간 압축 데이터 값을 생성하는 제1 압축 데이터 생성부; 및
    압축 알고리즘을 이용하여 상기 구간 압축 데이터 값에 대한 제2 압축을 수행하여 제2 압축 데이터를 생성하는 제2 압축 데이터 생성부
    를 포함하고,
    상기 제1 압축 데이터 생성부는
    처음 2개의 시간 구간에 해당하는 데이터를 기준으로 1차 다항식을 생성하고, 상기 오차 값이 미리 설정된 오차 범위를 벗어나면, 상기 오차 범위를 벗어난 시간 구간까지의 1차 다항식을 상기 접합함수로서 계산하며, 상기 오차 범위를 벗어난 시간 구간 이후의 2개의 시간 구간에 해당하는 데이터를 기준으로 1차 다항식을 생성하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 장치.
  10. 제9항에 있어서,
    상기 제1 압축 데이터 생성부는
    상기 데이터에 대해 상기 시간 영역에 해당하는 X축의 시간 구간을 증가시키면서 각 시간 구간별로 상기 1차 다항식의 접합함수를 계산하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 장치.
  11. 제9항에 있어서,
    상기 제1 압축 데이터 생성부는
    상기 1차 다항식의 접합함수에서 X축의 시간 구간별로 Y축의 결과 값을 산출하고, 각 X축의 시간 구간별로 상기 Y축의 결과 값과 상기 데이터의 값을 비교하며, 상기 비교 결과에 따른 각 시간 구간별 오차 값을 산출하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 장치.
  12. 제9항에 있어서,
    상기 제1 압축 데이터 생성부는
    상기 시간 구간별로 산출된 오차 값을 미리 설정된 오차 범위와 비교하고, 상기 시간 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나면, 상기 접합함수의 계산이 완료된 해당 시간 구간의 데이터에 대해 상기 오차 값을 기초로 하여 제1 압축을 수행하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 장치.
  13. 제12항에 있어서,
    상기 제1 압축 데이터 생성부는
    상기 시간 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어나지 않으면, 상기 접합함수의 계산이 완료된 이후의 시간 구간부터 상기 접합함수를 계산하는 동작 및 상기 오차 값을 산출하는 동작을 상기 시간 구간별로 산출된 오차 값이 상기 미리 설정된 오차 범위를 벗어날 때까지 반복 수행하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 장치.
  14. 제9항에 있어서,
    상기 데이터를 상기 센서 소자로부터 수신하여 아날로그-디지털 변환을 통해 상기 아날로그-디지털 변환 값을 생성하는 아날로그-디지털 변환기
    를 더 포함하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 장치.
  15. 제9항에 있어서,
    상기 제2 압축 데이터를 외부 기기로 무선 전송하는 무선 전송 장치
    를 더 포함하고,
    상기 외부 기기는
    상기 제2 압축 데이터로부터 상기 데이터의 특성을 분석하고, 상기 분석 결과에 기초하여 상기 데이터 압축 장치가 설치된 대상물과 관련한 위험 징후를 탐지하는 것을 특징으로 하는 고속 전송을 위한 데이터 압축 장치.
KR1020170092142A 2017-07-20 2017-07-20 고속 전송을 위한 데이터 압축 방법 및 장치 KR101909387B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170092142A KR101909387B1 (ko) 2017-07-20 2017-07-20 고속 전송을 위한 데이터 압축 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170092142A KR101909387B1 (ko) 2017-07-20 2017-07-20 고속 전송을 위한 데이터 압축 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101909387B1 true KR101909387B1 (ko) 2018-10-17

Family

ID=64099437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170092142A KR101909387B1 (ko) 2017-07-20 2017-07-20 고속 전송을 위한 데이터 압축 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101909387B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567670A (zh) * 2022-01-25 2022-05-31 浙江数秦科技有限公司 一种区块链网络数据传输方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567670A (zh) * 2022-01-25 2022-05-31 浙江数秦科技有限公司 一种区块链网络数据传输方法
CN114567670B (zh) * 2022-01-25 2024-04-05 浙江数秦科技有限公司 一种区块链网络数据传输方法

Similar Documents

Publication Publication Date Title
US11128935B2 (en) Realtime multimodel lossless data compression system and method
US20220224353A1 (en) Methods and apparatus to parallelize data decompression
US20190191230A1 (en) Realtime telemetry data compression system
Vestergaard et al. Generalized deduplication: Bounds, convergence, and asymptotic properties
US10790857B1 (en) Systems and methods for using decoders of different complexity in a hybrid decoder architecture
JP6045123B2 (ja) エンコーダ、デコーダ及び方法
US9923577B1 (en) Hybrid software-hardware implementation of lossless data compression and decompression
JP6181863B2 (ja) スペクトルピーク位置の符号化及び復号化
KR102148757B1 (ko) 통신 시스템에서 데이터를 송수신하는 방법 및 장치
Shi et al. Differential-clustering compression algorithm for real-time aerospace telemetry data
CN113316773A (zh) 用于更新文件的技术
EP3449574A1 (en) Encoding and decoding using a polar code
KR101909387B1 (ko) 고속 전송을 위한 데이터 압축 방법 및 장치
US10230392B2 (en) Techniques for parallel data decompression
CN104811209A (zh) 一种抗最长匹配检测的压缩文件数据嵌入方法及装置
US20170052974A1 (en) Systems, media and methods for virtualized data compression
KR102213345B1 (ko) 패리티 검사 연접 극 부호의 설계 방법 및 그 장치
KR101617965B1 (ko) 체계적인 극 부호 부호화기
US9922264B2 (en) Path compression of a network graph
KR101874537B1 (ko) 극 부호의 병렬 복호화 방법 및 장치
KR101471482B1 (ko) 압축해제 방법 및 장치
US10727863B2 (en) Data compression device and data compression method
JP5959474B2 (ja) 符号装置、復号装置、方法、及びプログラム
KR101890365B1 (ko) 압축된 데이터의 오류를 검출하는 방법 및 장치
Chaturvedi et al. Implementation and performance analysis of two error detection and correction techniques: CRC and hamming code

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant