KR101624711B1 - 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치 - Google Patents

부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치 Download PDF

Info

Publication number
KR101624711B1
KR101624711B1 KR1020130162743A KR20130162743A KR101624711B1 KR 101624711 B1 KR101624711 B1 KR 101624711B1 KR 1020130162743 A KR1020130162743 A KR 1020130162743A KR 20130162743 A KR20130162743 A KR 20130162743A KR 101624711 B1 KR101624711 B1 KR 101624711B1
Authority
KR
South Korea
Prior art keywords
bit
bits
data
mantissa
value
Prior art date
Application number
KR1020130162743A
Other languages
English (en)
Other versions
KR20150074703A (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 KR1020130162743A priority Critical patent/KR101624711B1/ko
Priority to JP2014078502A priority patent/JP5809313B2/ja
Priority to US14/579,561 priority patent/US9660667B2/en
Publication of KR20150074703A publication Critical patent/KR20150074703A/ko
Application granted granted Critical
Publication of KR101624711B1 publication Critical patent/KR101624711B1/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
    • 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/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치를 개시한다.
효율적인 메모리 관리를 위해 부동소수점을 이용하여 데이터를 압축/복원하는 기술로서, 로그 테이블을 이용하여 데이터를 압축/복원함으로써, 압축/복원 시 발생하는 손실 데이터를 최소화할 수 있을 뿐만 아니라 부동소수점 방식으로 동일한 비트를 이용하여 압축하더라도 성능 저하를 막을 수 있는 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치를 제공한다.

Description

부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치{Method And Apparatus For Compressing/Decompressing Data By Using Floating Point}
본 실시예는 부동소수점 방식을 이용한 데이터 압축 방법 및 장치에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
부동소수점 방식은 도 1에 도시된 바와 같이, 부호, 지수부, 가수부로 나누어 데이터를 표현한다. 부동소수점을 이용하여 데이터를 압축하는 방법을 이용하여 데이터 압축기를 설계할 때, 데이터의 손실을 최소화하기 위해 압축기 입력의 크기를 충분히 표현할 수 있는 지수부의 비트수가 있어야 하고, 실제 데이터의 유효값을 표현하는 가수부에 할당된 비트수로 충분해야 한다.
만약, 지수부의 비트가 충분하지 않은 경우, 압축 과정에서 비트 포화가 발생하여 데이터에 심각한 왜곡이 발생하므로 데이터의 압축률을 높이기 위해서는 가수부의 비트수를 줄이는 것이 일반적이다. 하지만, 가수부의 비트수를 줄이는 경우 유효숫자를 그만큼 부정확하게 나타낼 수 밖에 없기 때문에 데이터의 손실을 막을 수 없는 문제가 있다.
본 실시예는 효율적인 메모리 관리를 위해 부동소수점을 이용하여 데이터를 압축/복원하는 기술로서, 로그 테이블을 이용하여 데이터를 압축/복원함으로써, 압축/복원 시 발생하는 손실 데이터를 최소화할 수 있을 뿐만 아니라 부동소수점 방식으로 동일한 비트를 이용하여 압축하더라도 성능 저하를 막을 수 있는 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치를 제공하는 데 목적이 있다.
본 실시예의 일 측면에 의하면, 고정소수점 데이터(Fixed Point Data) 비트 열을 입력받는 입력부; 상기 고정소수점 데이터 비트 열에서 부호 비트(Sign Bit)를 획득하는 부호 획득부; 및 로그 테이블(Log Table)에 근거하여 상기 고정소수점 데이터 비트 열에서 상기 부호 비트를 제외한 나머지 데이터 비트 열이 압축률에 따른 기 할당된 비트수를 갖는 가수부(Mantissa)와 지수부(Exponential)가 되도록 압축한 부동소수점 데이터(Floating Point Data) 비트 열로 변환하는 압축부를 포함하는 것을 특징으로 하는 데이터 압축 장치를 제공한다.
또한, 본 실시에의 다른 측면에 의하면, 부동소수점 데이터 비트 열에 해당하는 가수부, 지수부 및 부호 비트를 입력받는 입력부; 역 로그 테이블(Inverse Log Table)에 근거하여 상기 가수부의 비트에 해당하는 출력 비트를 추출하고, 상기 지수부를 이용하여 상기 출력 비트의 위치를 결정한 복원 데이터 비트를 생성하는 복원부; 및 상기 복원 데이터 비트에 상기 부호 비트를 적용하여 고정소수점 데이터 비트 열로 복원하는 부호 적용부를 포함하는 것을 특징으로 하는 데이터 복원 장치를 제공한다.
또한, 본 실시에의 다른 측면에 의하면, 고정소수점 데이터 비트 열을 입력받는 과정; 상기 고정소수점 데이터 비트 열에서 부호 비트를 획득하는 과정; 상기 고정소수점 데이터 비트 열에서 상기 부호 비트를 제외한 나머지 데이터 비트 열을 추출하는 과정; 및 로그 테이블에 근거하여 상기 나머지 데이터 비트 열이 압축률에 따른 기 할당된 비트수를 갖는 가수부와 지수부가 되도록 압축한 부동소수점 데이터 비트 열로 변환하는 과정을 포함하는 것을 특징으로 하는 데이터 압축 방법을 제공한다.
또한, 본 실시에의 다른 측면에 의하면, 기 설정된 범위 이내의 유사값을 갖는 서로 다른 고정소수점 데이터 비트 열을 입력받는 입력부; 및 상기 서로 다른 고정소수점 데이터 비트 열 중 어느 하나의 데이터 비트를 제 1 지수부가 되도록 압축한 후 상기 서로 다른 고정소수점 데이터 비트 열 중 다른 하나의 데이터 비트를 제 2 지수부로 압축하며, 상기 제 1 지수부의 값과 상기 제 2 지수부의 값의 차이값을 산출하고, 상기 차이값과 상기 제 2 지수부의 값 중 더 작은 값을 상기 제 2 지수부의 값으로 설정한 부동소수점 데이터 비트 열로 변환하는 압축부를 포함하는 것을 특징으로 하는 데이터 압축 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 효율적인 메모리 관리를 위해 부동소수점을 이용하여 데이터를 압축/복원하는 기술로서, 로그 테이블을 이용하여 데이터를 압축/복원함으로써, 압축/복원 시 발생하는 손실 데이터를 최소화할 수 있을 뿐만 아니라 부동소수점 방식으로 동일한 비트를 이용하여 압축하더라도 성능 저하를 막을 수 있는 효과가 있다.
또한, 본 실시예에 의하면, 직교 주파수 분할(OFDM: Orthogonal Frequency Division Multiplex) 방식의 수신기를 설계할 때 메모리 사용 블록에서 데이터를 압축함으로써 사용되는 메모리의 크기를 줄일 수 있는 효과가 있다. 또한, 고정소수점 방식의 데이터에서 지수부의 데이터를 결정하기 위해 로그 형태의 테이블을 이용하여 부동소수점 데이터로 변환함으로써 원본 데이터의 손실을 막을 수 있는 효과가 있다.
또한, 복수의 데이터를 동시에 변환할 때 데이터 간의 유사성을 이용하여 사용되는 비트 수를 절약할 수 있는 효과가 있다.
도 1은 부동소수점 표현방식에서 부호, 지수부, 가수부로 나누어 데이터를 표현한 도면이다.
도 2는 본 실시예에 따른 데이터 압축 장치에서 고정소수점의 데이터를 더 적은 비트수의 부동소수점의 데이터로 압축하는 방식을 나타낸 도면이다.
도 3은 본 실시예에 따른 압축부에서 로그 테이블을 이용하는 경우의 부동소수점 변환 방식을 나타낸 도면이다.
도 4는 본 실시예에 따른 데이터 복원 장치에서 부동소수점형태로 압축하여 변환한 데이터를 다시 원래의 고정소수점으로 되돌리는 방식을 나타낸 도면이다.
도 5 내지 도 7은 본 실시예에 따른 고정소수점 데이터를 부동소수점 데이터로 변환하는 과정을 설명하기 위한 도면이다.
도 8은 본 실시예의 또 다른 측면에 따란 데이터의 유사성을 이용하여 고정소수점 데이터를 부동소수점 데이터로 변환하는 과정을 나타낸 도면이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본실시예에 따른 부동소수점 방식을 이용한 데이터 압축/복원 방법은 직교 주파수 분할(OFDM) 방식의 수신기에 적용되는 것이 바람직하다. 다시 말해, 직교 주파수 분할(OFDM) 방식의 수신기에서의 효율적인 메모리 관리를 위해 부동소수점 방식을 이용하여 데이터를 압축하고 복원하는데 이용될 수 있다.
직교 주파수 분할(OFDM) 방식의 수신기를 설계함에 있어서 대부분의 설계 블록에서 메모리가 많이 사용된다. 수신 신호를 가공하는데 시간이 오래 걸려서 입출력간의 지연을 고려하여 메모리를 사용하는 경우도 있고, 인터리버(Interleaver)처럼 기본적으로 시스템에서 요구하는 경우도 있다. 이러한 경우에 데이터를 표현하는 비트수에 따라 메모리 사용량이 결정되므로 적은 메모리를 가지도록 설계하기 위해서는 데이터 비트수를 줄이는 것이 중요하다.
부동소수점으로 데이터를 표현하게 되면 정해진 가수부만큼의 유효숫자를 표현할 수 있기 때문에 데이터의 크기 편차가 큰 경우에 고정소수점으로 데이터를 표현했을 때보다 더 유리하다. 이러한 부동소수점 표현방식의 이점을 이용하여 고정소수점으로 표현된 데이터를 압축하는 데도 이용할 수 있다. 이러한 과정에서 데이터에 손실이 발생하게 되는데, 이러한 손실은 데이터의 값이 큰 경우에는 상대적으로 크게 나타나고, 데이터의 값이 작을 때는 작게 나타나거나 나타나지 않을 수도 있다(고정소수점에서의 데이터 값이 부동소수점에서의 가수부에 할당된 비트로 표현 가능한 경우에는 손실이 없다). 전술한 특징으로 데이터의 절대적인 차이보다는 주변값들과의 상대적인 차이가 더 중요한 데이터의 경우에 부동소수점을 이용하여 데이터를 압축하면 큰 효과를 볼 수 있다.
도 2는 본 실시예에 따른 데이터 압축 장치에서 고정소수점의 데이터를 더 적은 비트수의 부동소수점의 데이터로 압축하는 방식을 나타낸 도면이다.
본 실시예에 따른 고정소수점의 데이터를 더 적은 비트수의 부동소수점의 데이터로 압축하는 방식은 데이터 압축 장치(200)로 구현될 수 있다. 데이터 압축 장치(200)는 직교 주파수 분할(OFDM) 방식의 수신기의 메모리 관리를 위해 이용될 수 있다. 데이터 압축 장치(200)는 입력부(210), 부호 획득부(220) 및 압축부(230)를 포함할 수 있다. 데이터 압축 장치(200)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
이하, 데이터 압축 장치(200)의 구성요소에 대해 설명한다.
입력부(210)는 고정소수점 데이터 비트 열을 입력받는다. 예컨대, 고정소수점 데이터를 '13 비트'로 가정하는 경우, 입력부(210)는 '13 비트'의 고정소수점 데이터를 입력받아 부호 획득부(220)로 전달한다.
부호 획득부(220)는 고정소수점 데이터 비트 열에서 부호 비트를 획득한다. 예컨대, 부호 획득부(220)는 입력부(210)로부터 '13 비트'의 고정소수점 데이터를 수신한다. 이후, 부호 획득부(220)는 '13 비트'의 고정소수점 데이터에서 '1 비트'의 부호 비트를 획득한다.
압축부(230)는 로그 테이블(Log Table)(340)에 근거하여 고정소수점 데이터 비트 열에서 부호 비트를 제외한 나머지 데이터 비트 열이 압축률에 따른 기 할당된 비트수를 갖는 가수부와 지수부가 되도록 압축한 부동소수점 데이터 비트 열로 변환한다. 예컨대, 기 설정된 압축률에 따라 가수부에 '5 비트'가 할당되고, 지수부에 '3 비트'가 할당된 것으로 가정하여 설명한다. 다시 말해, 압축부(230)는 '13 비트'의 고정소수점 데이터 비트 열에서 '1 비트'의 부호 비트를 제외한 '12 비트'의 나머지 데이터 비트 열이 로그 테이블(340)에 근거하여 '5 비트'의 가수부와 '3 비트'의 지수부가 되도록 압축한 부동소수점 데이터 비트 열로 변환할 수 있다. 이러한, 압축부(230)의 동작에 대해서는 도 3을 통해 구체적으로 설명한다.
도 2에 도시된 바와 같이, 고정소수점 데이터를 더 적은 비트수의 부동소수점의 데이터로 압축할 수 있다. 예컨대, 도 2에 도시된 바와 같이, 입력부(210)로 '13 비트'의 부동소수점 형태의 입력을 부호 '1 비트', 가수부 '5 비트', 지수부 '3 비트'의 총 '9 비트'로 압축하여 출력할 수 있다.
도 2에 도시되어 있는 'FLT Conversion Core'(즉, 압축부(230))에서는 입력되는 이진 데이터에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치를 검출하고, 최초 위치로부터 지수부의 값을 결정하고 가수부 데이터를 출력하는 동작을 한다. 가수부 데이터는 검출된 최초 위치부터 가수부의 비트수만큼을 그대로 출력하는 것이 일반적이다. 전술한 방식으로 가수부 데이터를 결정하는 경우에 가수부의 비트수가 작으면 출력되는 유효숫자가 적기 때문에 데이터의 손실이 발생하게 되는데, 이러한 손실은 가수부에 포함된 비트값이 작을수록 상대적으로 더 크게 나타나게 된다. 따라서, 본 실시예에서는 가수부의 데이터를 결정하기 위해 로그 테이블(340)을 이용하는 것이다.
부동소수점을 이용하는 데이터 압축 장치(200)에서 압축률을 높이기 위해 가수부의 비트수를 제한하게 되면 가수부로 표현하지 못한 데이터의 손실을 최소화할 수 있다. 전술한 바와 같이, 데이터 압축 장치(200)는 가수부에 포함된 비트값이 작을수록 압축손실이 더 커지기 때문에 작은 수를 더 잘 표현해주기 위한 방법으로 로그 테이블(340)을 이용할 수 있다.
도 3은 본 실시예에 따른 압축부에서 로그 테이블을 이용하는 경우의 부동소수점 변환 방식을 나타낸 도면이다.
압축부(230)는 추출부(310), 비교부(320), 부동소수점 변환부(330) 및 로그 테이블(340)을 포함한다.
추출부(310)는 나머지 데이터 비트 열에 포함된 이진수에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치를 검출한다. 추출부(310)는 '12 비트'의 나머지 데이터 비트 열에 포함된 이진수에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치를 검출한다. 추출부(310)는 도 3에 도시된 바와 같이, '12 비트'를 '11, 10, 9, 8, 7, 6, 5, 4, 3, 1, 0'에 해당하는 위치에 존재할 수 있다. 여기서, 최초 위치가 존재하는 위치값을 확인할 수 있다.
비교부(320)는 추출부(310)에서 검출된 최초 위치가 가수부 내에 기 할당된 비트수 이하인지의 여부를 확인한다. 예컨대, 가수부 내에 할당된 비트수가 '5 비트'이므로, 비교부(320)는 '최초 위치 ≤ 5'인지의 여부를 확인할 수 있다. 만약, 추출부(310)에 검출된 최초 위치가 '3'에 위치하는 경우 비교부(320)는 '3 ≤ 5'를 확인하게 되는 것이며, 최초 위치가 '10'에 위치하는 경우 비교부(320)는 '10 ≤ 5'를 확인하게 되는 것이다.
부동소수점 변환부(330)는 비교부(320)의 확인 결과에 근거하여 나머지 데이터 비트 열이 가수부와 지수부가 되도록 압축한다. 다시 말해, 부동소수점 변환부(330)는 비교부(320)의 확인 결과 최초 위치가 가수부의 비트수 이하인 경우, 나머지 데이터 비트 열에서 최초 위치를 포함하는 최초 위치 이하의 비트를 동일하게(그대로) 가수부의 비트로 설정한다. 부동소수점 변환부(330)는 지수부의 비트를 모두 0으로 설정한다. 예컨대, 추출부(310)에 검출된 최초 위치가 '3'에 위치하는 경우 비교부(320)는 '3 ≤ 5'를 확인하게 되며, 비교부(320)의 확인 결과 최초 위치가 가수부의 비트수 이하로 인식하게 된다. 이러한 경우, 부동소수점 변환부(330)는 최초 위치가 가수부의 비트수 내에 포함되는 것으로 인식하여 최초 위치를 포함하는 최초 위치 이하의 비트를 동일하게(그대로) 가수부의 비트로 설정한다. 이후, 부동소수점 변환부(330)는 지수부의 비트를 모두 0으로 설정한다.
부동소수점 변환부(330)는 비교부(320)의 확인 결과 최초 위치가 가수부의 비트수를 초과하는 경우, 나머지 데이터 비트 열에서 최초 위치를 제외한 최초 위치 미만의 입력 비트를 추출한다. 예컨대, 추출부(310)에 검출된 최초 위치가 '10'에 위치하는 경우 비교부(320)는 '10 ≤ 5'를 확인하게 되며, 비교부(320)의 확인 결과 최초 위치가 가수부의 비트수를 초과하는 것으로 인식하게 된다. 이러한 경우, 부동소수점 변환부(330)는 최초 위치를 제외한 최초 위치 이하의 비트를 입력 비트로서 출력한다.
부동소수점 변환부(330)는 입력 비트의 비트수를 기 설정된 비트수로 설정한 후 로그 테이블을 이용하여 입력 비트를 입력값으로 갖는 출력 비트를 추출한다. 부동소수점 변환부(330)는 출력 비트를 가수부의 비트로 설정한다. 예컨대, 부동소수점 변환부(330)는 최초 위치를 제외한 최초 위치 이하의 비트가 총 '10 비트'인 경우, 로그 테이블을 이용하여 '10 비트'의 입력 비트를 입력값으로 갖는 출력 비트를 추출한다. 여기서, 출력 비트는 가수부에 기 할당된 비트수인 '5 비트'일 수 있다. 이후, 부동소수점 변환부(330)는 출력값에 해당하는 '5 비트'의 출력 비트를 가수부의 비트로 설정할 수 있다.
만약, 부동소수점 변환부(330)는 최초 위치를 제외한 최초 위치 이하의 비트가 총 '8 비트'인 경우, 기 설정된 비트수(예컨대, 10 비트)로 설정한다. 이때, 부동소수점 변환부(330)는 '8 비트'의 최초 위치 이하의 비트 뒤쪽에 '0'을 삽입하는 형태로 기 설정된 비트수인 '10 비트'로 설정할 수 있다. 이후, 부동소수점 변환부(330)는 로그 테이블을 이용하여 '10 비트'의 입력 비트를 입력값으로 갖는 출력 비트를 추출한다. 여기서, 출력 비트는 가수부에 기 할당된 비트수인 '5 비트'일 수 있다. 이후, 부동소수점 변환부(330)는 출력값에 해당하는 '5 비트'의 출력 비트를 가수부의 비트로 설정할 수 있다.
부동소수점 변환부(330)는 비교부(320)의 확인 결과 최초 위치가 가수부의 비트수를 초과하는 경우, 최초 위치에 해당하는 값을 지수부의 비트로 설정한다. 다시 말해, 부동소수점 변환부(330)는 최초 위치에서 임의의 값을 차감하여 지수부에 할당된 비트수인 '3 비트'가 되도록할 수 있다. 예컨대, 최초 위치를 '10'에 해당하는 경우, 임의의 값을 '7'로 설정하여 '10 - 7'이 되도록 하여, 지수부에 할당된 비트수인 '3 비트'가 되도록할 수 있다. 여기서, 지수부에 할당된 비트수인 '3 비트'인 경우, '3 비트'는 이진수에서 최대 '7'로 표현될 수 있으므로, 부호 비트 이후에 위치하는 비트는 순차적으로 '7', '6', '5', '4', '3', '2', '1', '0'에 해당하는 값으로 설정될 수 있다. 예컨대, 부호 비트 이후에 첫 번째로 위치하는 비트가 '1'인 경우, '7'에 해당하는 값이 설정될 수 있으므로, 지수부에는 '111'의 이진수가 설정될 수 있으며, 부호 비트 이후에 첫 번째로 위치하는 비트가 '0'이고, 그 다음에 위치하는 비트가 '1'인 경우, '6'에 해당하는 값이 설정될 수 있으므로, 지수부에는 '110'의 이진수가 설정될 수 있는 것이다. 지수부에 할당되는 비트수는 기 설정된 압축률에 따라 변경될 수 있으며, 지수부에 할당되는 비트수에 따라 설정되는 값 역시 변경될 수 있다. 만약, 지수부에 할당되는 비트수가 '4 비트'인 경우 '15' 내지 '0'이 설정될 수 있으며, '2 비트'인 경우 '3' 내지 '0'이 설정될 수 있을 것이다.
로그 테이블(340)은 볼록 함수(Convex Function)를 이용하여 기 설정된 비트 수에 따라 연산된 값을 테이블 형태로 저장한다. 예컨대, 로그 테이블(340)은 입력값이 '10 비트'에 대해 'y = x'함수보다 볼록한 형태의 함수(예컨대, 볼록 함수)를 적용하여 '5 비트'로 연산된 값을 테이블 형태로 저장한다. 로그 테이블(340)에서 적용되는 함수는 'y = x'함수보다 볼록한 형태의 함수(예컨대, 볼록 함수) 중에 상황에 따라 적절한 함수가 적용될 수 있다. 이때, 볼록 함수를 이용하는 이유는 가수부에 포함된 비트값이 작을수록 더 자세히 값을 표현하여 손실을 줄이기 위함이다.
도 3에서 전술한 과정에 대해 전반적으로 다시 설명하면, 추출부(310)로 부호 비트가 제거된 '12 비트'의 입력이 들어온 경우, 먼저 나머지 데이터 비트 열에 포함된 이진수에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치를 검출한다. 다음으로 비교부(320)에서 최초 위치와 가수부의 비트수를 비교한다. 이후, 부동소수점 변환부(330)에서 비교부(320)의 비교결과, 최초 위치가 가수부의 비트수(예컨대, 5) 이하 경우, 가수부에 들어온 입력을 그대로 설정하고 지수부에 할당된 비트의 값은 0으로 설정한다. 만약, 비교부(320)의 비교결과, 최초 위치가 가수부의 비트수를 초과하는 경우, 부동소수점 변환부(330)는 최초 위치의 다음 비트부터 '10 비트'를 테이블에 넣어 출력을 가수부에 출력하고 지수부의 값은 (최초 위치 - 7)으로 설정한다. 로그 테이블(340)에 사용하는 함수는 'y = x'함수보다 위로 볼록한 형태의 함수 중에 상황에 따라 적당히 선택하여 사용할 수 있으며, 위로 볼록한 형태인 이유는 가수부에 포함된 비트값이 작을수록 더 자세히 값을 표현하여 손실을 줄이기 위함이다. 참고로, 도 3은 밑(밑이란 로그 'y = log × a × x'나 지수함수 'y = ax'에서 'a'를 가리킴)이 2인 로그함수의 입력 1부터 2까지를 테이블로 만든 경우의 예시이다.
도 4는 본 실시예에 따른 데이터 복원 장치에서 부동소수점형태로 압축하여 변환한 데이터를 다시 원래의 고정소수점으로 되돌리는 방식을 나타낸 도면이다.
본 실시예에 따른 부동소수점형태로 압축하여 변환한 데이터를 다시 원래의 고정소수점으로 되돌리는 방식은 데이터 복원 장치(400)로 구현될 수 있다. 데이터 복원 장치(400)는 직교 주파수 분할(OFDM) 방식의 수신기의 메모리 관리를 위해 이용될 수 있다. 데이터 복원 장치(400)는 입력부(410), 복원부(420) 및 부호 적용부(430)를 포함할 수 있다. 데이터 복원 장치(400)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
입력부(410)는 부동소수점 데이터 비트 열에 해당하는 가수부, 지수부 및 부호 비트를 입력받는다. 예컨대, 입력부(410)는 '5 비트'의 가수부, '3 비트' 의 지수부, '1 비트'의 부호로 이루어진 부동소수점 데이터 비트 열을 입력받는다.
복원부(420, FXD Conversion Core)는 역 로그 테이블(Inverse Log Table)에 근거하여 가수부의 비트에 해당하는 출력 비트를 추출하고, 지수부를 이용하여 출력 비트의 위치를 결정한 복원 데이터 비트를 생성한다. 예컨대, 복원부(420)는 '3 비트' 의 지수부를 이용하여 최초 위치를 확인한다. 복원부(420)는 역 로그 테이블을 이용하여 '5 비트'의 가수부에 해당하는 '10 비트'의 출력 비트를 추출한다. 이후, 복원부(420)는 최초 위치 다음 비트로 '10 비트'의 출력 비트를 삽입한 복원 데이터 비트를 생성할 수 있다. 이때, 최초 위치에 따라 전체 비트인 '12 비트'를 복원 데이터 비트를 생성할 수 있다.
역 로그 테이블은 오목 함수(Concave Function)를 이용하여 기 설정된 비트 수에 따라 연산된 값을 테이블 형태로 저장한다. 예컨대, 역 로그 테이블은 입력값이 '5 비트'에 대해 'y = x'함수보다 오목한 형태의 함수(예컨대, 오목 함수)를 적용하여 '10 비트'로 연산된 값을 테이블 형태로 저장한다. 로그 테이블(340)에서 적용되는 함수는 'y = x'함수보다 오목한 형태의 함수(예컨대, 오목 함수) 중에 상황에 따라 적절한 함수가 적용될 수 있다. 이때, 오목 함수를 이용하는 이유는 로그 테이블(340)에서 가수부에 포함된 비트값이 작을수록 더 자세히 값을 표현하여 손실을 줄이기 위해 볼록 함수를 이용하였기 때문에 볼록 함수에 대한 역함수를 이용해서 원래의 값으로 복원하기 위함이다.
부호 적용부(430)는 복원 데이터 비트에 부호 비트를 적용하여 고정소수점 데이터로 복원한다. 예컨대, 부호 적용부(430)는 '12 비트'의 복원 데이터 비트에 '1 비트'의 부호 비트를 적용하여 총 '13 비트'의 비트 열을 갖는 고정소수점 데이터를 복원할 수 있다.
도 4에서 기재한 데이터 복원 방법은 도 2 및 도 3에서 기재한 데이터 압축 방식의 역순으로 이루어질 수 있다. 다시 말해, 도 4는 부동소수점 형태로 압축하여 변환한 데이터를 다시 원래의 고정소수점으로 되돌리는 실시예이다. 본 실시예에서 제안한 테이블 방식으로의 변환했을 경우, 역 로그 테이블을 이용하여 다시 원래의 값으로 되돌릴 수 있다.
도 5 내지 도 7은 본 실시예에 따른 고정소수점 데이터를 부동소수점 데이터로 변환하는 과정을 나타낸 도면이다.
도 5에 도시된 바와 같이, '13 비트'가 할당된 고정소수점 데이터 비트 열이 입력되는 경우, 일반적인 데이터 압축으로 부동소수점 데이터 비트 열로 변환하는 경우를 설명하도록 한다.
'13 비트'가 할당된 고정소수점 데이터 비트 열에서 '1 비트'를 부호 비트로 할당한다. 이후, '13 비트'에서 부호 비트인 '1 비트'를 제외한 총 '12 비트'에서 나머지 데이터 비트 열에 포함된 이진수에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치(ⓐ)를 검출한다. 예컨대, '13 비트'인 'S011101011000'에서 'S'가 부호 비트이므로, 'S'를 제외한 총 '12 비트'인 '011101011000'에서 나머지 데이터 비트 열에 포함된 이진수에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치(ⓐ)를 검출하는 것이다. 여기서, 지수부는 '3 비트'가 할당되고, 가수부는 '5 비트'가 할당된 것으로 가정하는 경우, '12 비트'에서 최초 위치(ⓐ)를 기준으로 최초 위치(ⓐ) 바로 다음 비트부터 '5 비트'를 가수부로 설정한다. 예컨대, 가수부에 할당된 비트가 '5 비트'이므로, '12 비트'인 '011101011000'에서 최초 위치(ⓐ) 바로 다음 비트부터 '5 비트'인 '11010'를 가수부로 설정한다.
또한, '12 비트'에서 최초 위치(ⓐ)에 해당하는 값을 '3 비트'의 지수부로 설정한다. 지수부에 할당된 비트수인 '3 비트'이므로, 이진수에서 최대 '7'로 표현될 수 있다. 따라서, 부호 비트 이후에 위치하는 비트는 순차적으로 '7', '6', '5', '4', '3', '2', '1', '0'에 해당하는 값으로 설정될 수 있다. 예컨대, 부호 비트 이후에 첫 번째로 위치하는 비트가 '1'인 경우, '7'에 해당하는 값이 설정될 수 있으므로, 3비트의 지수부에는 '111'의 이진수가 설정될 수 있으며, 부호 비트 이후에 첫 번째로 위치하는 비트가 '0'이고, 그 다음에 위치하는 비트가 '1'인 경우, '6'에 해당하는 값이 설정될 수 있으므로, 3비트의 지수부에는 '110'의 이진수가 설정될 수 있는 것이다.
이후, 부동소수점 데이터 비트 열을 다시 고정소수점 데이터 비트 열로 변환하는 과정에 대해 설명한다. 지수부의 '3 비트'인 '110'에 해당하는 값에 근거하여 최초 위치(ⓐ)를 결정한다. 이후 가수부에 할당된 '5 비트'인 '11010'를 최초 위치(ⓐ) 바로 다음 비트에 할당하고, 이후 비트를 모두 0으로 설정하는 방식으로 고정소수점 데이터로 변환한다. 이때, 최초 위치(ⓐ) 바로 다음 비트에 가수부를 할당한 후 이후에 존재하는 비트가 모두 0으로 설정되므로, 손실이 발생하게 된다.
도 6에 도시된 방식 역시 도 5에서 설명과 동일하게 손실이 발생하게 된다. 하지만, 본 실시예에 따르면 도 7에 도시된 바와 같이, '13 비트'가 할당된 고정소수점 데이터 비트 열인 'S011101011000'이 입력된다. 이후, '13 비트'인 'S011101011000'에서 부호 비트인 'S'를 획득한다. '13 비트'인 'S011101011000'에서 부호 비트인 'S'를 제외한 총 '12 비트'인 '011101011000'에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치(ⓐ)를 검출한다. 여기서, 지수부는 '3 비트'가 할당되고, 가수부는 '5 비트'가 할당된 것으로 가정한다. 총 '12 비트'인 '011101011000'에서 최초 위치(ⓐ) 바로 다음 비트부터 '10 비트'인 '1101011000'를 입력 비트로서, 로그 테이블(340)에 입력한다. 이후, '10 비트'인 '1101011000'에 해당하는 출력값인 '5 비트'가 할당된 '10101'를 가수부에 설정한다. 로그 테이블은 도 7에 도시된 바와 같이, 볼록 함수를 이용하여 기 설정된 비트 수에 따라 연산된 값을 테이블 형태로 저장될 수 있다.
한편, '12 비트'에서 최초 위치(ⓐ)에 해당하는 값이 '3 비트'의 지수부로 설정한다. 예컨대, 지수부에 할당된 비트가 '3 비트'이므로, '12 비트'인 '011101011000'에서 최초 위치(ⓐ) 바로 다음 비트부터 '3 비트'인 '110'를 지수부로 설정한다. 여기서, 지수부에 할당된 비트수인 '3 비트'이므로, '7'로 표현될 수 있다. 따라서, 부호 비트 이후에 위치하는 비트는 순차적으로 '7', '6', '5', '4', '3', '2', '1', '0'에 해당하는 값으로 설정될 수 있다. 도 7에 도시된 바와 같이, 부호 비트 이후에 첫 번째로 위치하는 비트가 '0'이고, 그 다음에 위치하는 비트가 '1'인 경우, '6'에 해당하는 값이 설정될 수 있으므로, 지수부에는 '110'이 설정될 수 있는 것이다.
이후, 부동소수점 데이터 비트 열을 다시 고정소수점 데이터 비트 열로 변환하는 과정에 대해 설명한다. 지수부의 '3 비트'인 '110'에 해당하는 값에 근거하여 최초 위치(ⓐ)를 결정한다. 이후 가수부에 할당된 '5 비트'인 '10101'을 역 로그 테이블에 입력한다. 이후, '5 비트'인 '10101'에 해당하는 출력값인 '10 비트'가 할당된 '1101010110'을 최초 위치(ⓐ) 바로 다음 비트에 할당하는 방식으로 고정소수점 데이터로 변환한다. 이때, 최초 위치(ⓐ) 바로 다음 비트에 역 로그 테이블을 이용한 출력값이 할당되므로, 손실이 발생이 적어지게 된다. 이때, 역 로그 테이블은 도 7에 도시된 바와 같이, 오목 함수를 이용하여 기 설정된 비트 수에 따라 연산된 값을 테이블 형태로 저장될 수 있다.
도 8은 본 실시예에 따른 데이터의 유사성을 이용하여 고정소수점 데이터를 부동소수점 데이터로 변환하는 과정을 나타낸 도면이다.
본 실시에의 다른 측면에 의하면, 데이터의 유사성을 이용하여 고정소수점 데이터를 부동소수점 데이터로 변환하는 방식은 데이터 압축 장치(800)로 구현될 수 있다. 데이터 압축 장치(800)는 직교 주파수 분할(OFDM) 방식의 수신기의 메모리 관리를 위해 이용될 수 있다. 데이터 압축 장치(800)는 제 1 압축부(810) 및 제 2 압축부(820)를 포함할 수 있다. 데이터 압축 장치(800)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
데이터 압축 장치(800)는 입력부로부터 기 설정된 범위 이내의 유사값을 갖는 서로 다른 고정소수점 데이터 비트 열을 입력받는다.
제 1 압축부(810)는 서로 다른 고정소수점 데이터 비트 열 중 어느 하나의 데이터 비트에서 제 1 부호 비트를 획득한다. 제 1 압축부(810)는 하나의 데이터에서 제 1 부호 비트를 제외한 나머지 데이터 비트 열에 포함된 이진수에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치를 검출한다. 제 1 압축부(810)는 최초 위치에 근거하여 압축률에 따른 기 할당된 비트수를 갖는 제 1 가수부와 제 1 지수부가 되도록 압축한다.
제 2 압축부(820)는 서로 다른 고정소수점 데이터 비트 열 중 다른 하나의 데이터 비트에서 제 2 부호 비트를 획득한다. 제 2 압축부(820)는 다른 하나의 데이터에서 제 2 부호 비트를 제외한 나머지 데이터 비트 열에 포함된 이진수에서 부호 비트 이후 첫 번째로 '1'이 존재하는 최초 위치를 검출한다. 제 2 압축부(820)는 최초 위치에 근거하여 압축률에 따른 기 할당된 비트수를 갖는 제 2 가수부와 제 2 지수부가 되도록 압축한다. 이후, 제 2 압축부(820)는 제 1 지수부의 값과 제 2 지수부의 값의 차이값을 산출하고, 산출된 차이값과 제 2 지수부의 값 중 더 작은 값을 제 2 지수부의 값으로 설정한 부동소수점 데이터 비트 열로 변환한다.
이러한 데이터의 유사성을 이용하여 데이터를 압축 방식을 직교 주파수 분할(OFDM) 방식의 수신기에 적용하여 지수부의 비트수를 줄일 수 있다. 예컨대, 채널 보상된 데이터와 채널값을 같이 메모리에 저장하는 경우(두 데이터 값이 기 설정된 범위 이내의 유사한 값을 갖게 되므로), 두 데이터는 값 자체는 서로 다르지만, 둘 다 채널이 곱해진 데이터이기 때문에 크기가 서로 유사하다. 이렇게 크기가 유사하다는 특징을 이용하여 두 데이터를 부동소수점으로 변환하면 지수부의 비트수를 줄일 수 있다. 다시 말해, 변환하는 데이터를 A, B라 할 때 A에서 얻어진 지수부에 할당된 비트의 값을 기준으로 B의 지수부에 할당된 비트의 값은 크게 다르지 않기 때문에 서로의 차이값을 더 적은 비트를 사용하여 표현함으로써 지수부의 비트수를 줄일 수 있다.
도 8에 도시된 바와 같이, 서로 다른 두 데이터를 동시에 압축할 때, 데이터의 유사성을 이용하여 하나의 압축기에서 나온 결과를 다른 하나의 압축기에서 이용한다. 다시 말해, 두 데이터(A, B)는 크기가 유사하다는 점을 이용하여, 제 2 지수부의 값(e2)를 그대로 사용하지 않고, 제 1 지수부의 값(e1)과의 차이로 내보내면 제 2 지수부의 데이터 표현 비트 수를 절약할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
200: 데이터 압축 장치 210: 입력부
220: 부호 획득부 230: 압축부

Claims (14)

  1. 고정소수점 데이터(Fixed Point Data) 비트 열을 입력받는 입력부;
    상기 고정소수점 데이터 비트 열에서 부호 비트(Sign Bit)를 획득하는 부호 획득부; 및
    로그 테이블(Log Table)에 근거하여 상기 고정소수점 데이터 비트 열에서 상기 부호 비트를 제외한 나머지 데이터 비트 열이 압축률에 따른 기 할당된 비트수를 갖는 가수부(Mantissa)와 지수부(Exponential)가 되도록 압축한 부동소수점 데이터(Floating Point Data) 비트 열로 변환하는 압축부
    를 포함하는 것을 특징으로 하는 데이터 압축 장치.
  2. 제 1 항에 있어서,
    상기 압축부는,
    상기 나머지 데이터 비트 열에 포함된 이진수 중 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수(Position Search Output)를 검출하는 추출부;
    상기 최초로 '1'의 값이 위치하는 자릿수가 상기 가수부 내에 기 할당된 비트수 이하인지의 여부를 확인하는 비교부; 및
    상기 비교부의 확인 결과에 근거하여 상기 나머지 데이터 비트 열이 상기 가수부와 상기 지수부가 되도록 압축하는 부동소수점 변환부
    를 포함하는 것을 특징으로 하는 데이터 압축 장치.
  3. 제 2 항에 있어서,
    상기 부동소수점 변환부는,
    상기 비교부의 확인 결과 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수가 상기 가수부의 비트수 이하인 경우, 상기 나머지 데이터 비트 열 중 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수까지의 비트들을 상기 가수부의 비트로 설정하고, 상기 지수부의 비트를 모두 0으로 설정하는 것을 특징으로 하는 데이터 압축 장치.
  4. 제 2 항에 있어서,
    상기 부동소수점 변환부는,
    상기 비교부의 확인 결과 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수가 상기 가수부의 비트수를 초과하는 경우, 상기 나머지 데이터 비트 열 중 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수 미만의 입력 비트를 추출하고, 상기 입력 비트의 비트수를 기 설정된 비트수로 설정한 후 상기 로그 테이블을 이용하여 상기 입력 비트를 입력값으로 갖는 출력 비트를 추출하며, 상기 출력 비트를 상기 가수부의 비트로 설정하는 것을 특징으로 하는 데이터 압축 장치.
  5. 제 2 항에 있어서,
    상기 부동소수점 변환부는,
    상기 비교부의 확인 결과 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수가 상기 가수부의 비트수를 초과하는 경우, 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수에서 임의의 값을 차감하여 상기 지수부에 할당된 비트수를 갖도록하는 것을 특징으로 하는 데이터 압축 장치.
  6. 제 1 항에 있어서,
    상기 로그 테이블은,
    볼록 함수(Convex Function)를 이용하여 기 설정된 비트 수에 따라 연산된 값을 테이블 형태로 저장하는 것을 특징으로 하는 데이터 압축 장치.
  7. 부동소수점 데이터 비트 열에 해당하는 가수부, 지수부 및 부호 비트를 입력받는 입력부;
    역 로그 테이블(Inverse Log Table)에 근거하여 상기 가수부의 비트에 해당하는 출력 비트를 추출하고, 상기 지수부를 이용하여 상기 출력 비트를 결정한 복원 데이터 비트를 생성하는 복원부; 및
    상기 복원 데이터 비트에 상기 부호 비트를 적용하여 고정소수점 데이터 비트 열로 복원하는 부호 적용부
    를 포함하는 것을 특징으로 하는 데이터 복원 장치.
  8. 제 7 항에 있어서,
    상기 역 로그 테이블은,
    오목 함수(Concave Function)를 이용하여 기 설정된 비트 수에 따라 연산된 값을 테이블 형태로 저장하는 것을 특징으로 하는 데이터 복원 장치.
  9. 고정소수점 데이터 비트 열을 입력받는 과정;
    상기 고정소수점 데이터 비트 열에서 부호 비트를 획득하는 과정;
    상기 고정소수점 데이터 비트 열에서 상기 부호 비트를 제외한 나머지 데이터 비트 열을 추출하는 과정; 및
    로그 테이블에 근거하여 상기 나머지 데이터 비트 열이 압축률에 따른 기 할당된 비트수를 갖는 가수부와 지수부가 되도록 압축한 부동소수점 데이터 비트 열로 변환하는 과정
    을 포함하는 것을 특징으로 하는 데이터 압축 방법.
  10. 제 9 항에 있어서,
    상기 변환하는 과정은,
    상기 나머지 데이터 비트 열에 포함된 이진수에서 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수를 검출하는 과정;
    상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수가 상기 가수부에 기 할당된 비트수 이하인지의 여부를 확인하는 확인 과정; 및
    상기 확인 과정의 확인 결과에 근거하여 상기 나머지 데이터 비트 열이 상기 가수부와 상기 지수부가 되도록 압축하는 과정
    을 포함하는 것을 특징으로 하는 데이터 압축 방법.
  11. 제 10 항에 있어서,
    상기 압축하는 과정은,
    상기 확인 과정의 확인 결과 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수가 상기 가수부의 비트수 이하인 경우, 상기 나머지 데이터 비트 열 중 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수까지의 비트들을 상기 가수부의 비트로 설정하는 과정;
    상기 지수부의 비트를 모두 0으로 설정하는 과정
    을 포함하는 것을 특징으로 하는 데이터 압축 방법.
  12. 제 10 항에 있어서,
    상기 압축하는 과정은,
    상기 확인 과정의 확인 결과 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수가 상기 가수부의 비트수를 초과하는 경우, 상기 나머지 데이터 비트 열 중 상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수 미만의 입력 비트를 추출하는 과정;
    상기 입력 비트의 비트수를 기 설정된 비트수로 설정하는 과정;
    상기 로그 테이블을 이용하여 상기 입력 비트를 입력값으로 갖는 출력 비트를 추출하며, 상기 출력 비트를 상기 가수부의 비트로 설정하는 과정; 및
    상기 부호 비트 이후 최초로 '1'의 값이 위치하는 자릿수에서 임의의 값을 차감하여 상기 지수부에 할당된 비트수를 갖도록하는 과정
    을 포함하는 것을 특징으로 하는 데이터 압축 방법.
  13. 기 설정된 범위 이내의 유사값을 갖는 서로 다른 고정소수점 데이터 비트 열을 입력받는 입력부; 및
    상기 서로 다른 고정소수점 데이터 비트 열 중 어느 하나의 데이터 비트 열을 제 1 지수부가 되도록 압축한 후 상기 서로 다른 고정소수점 데이터 비트 열 중 다른 하나의 데이터 비트 열을 제 2 지수부로 압축하며, 상기 제 1 지수부의 값과 상기 제 2 지수부의 값의 차이값을 산출하고, 상기 차이값과 상기 제 2 지수부의 값 중 더 작은 값을 상기 제 2 지수부의 값으로 설정한 부동소수점 데이터 비트 열로 변환하는 압축부
    를 포함하는 것을 특징으로 하는 데이터 압축 장치.
  14. 제 13 항에 있어서,
    상기 압축부는,
    상기 하나의 데이터 비트 열에서 제 1 부호 비트를 획득하고, 상기 하나의 데이터 비트 열에서 상기 제 1 부호 비트를 제외한 나머지 데이터 비트 열에서 최초로 '1'의 값이 위치하는 자릿수를 검출하고, 상기 최초로 '1'의 값이 위치하는 자릿수에 근거하여 압축률에 따른 기 할당된 비트수를 갖는 제 1 가수부와 상기 제 1 지수부가 되도록 압축하는 제 1 압축부; 및
    상기 다른 하나의 데이터 비트 열에서 제 2 부호 비트를 획득하고, 상기 다른 하나의 데이터 열에서 상기 제 2 부호 비트를 제외한 나머지 데이터 비트 열에서 최초로 '1'의 값이 위치하는 자릿수를 검출하고, 상기 의 값이 위치하는 자릿수에 근거하여 압축률에 따른 기 할당된 비트수를 갖는 제 2 가수부와 상기 제 2 지수부가 되도록 압축하는 제 2 압축부
    를 포함하는 것을 특징으로 하는 데이터 압축 장치.
KR1020130162743A 2013-12-24 2013-12-24 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치 KR101624711B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130162743A KR101624711B1 (ko) 2013-12-24 2013-12-24 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치
JP2014078502A JP5809313B2 (ja) 2013-12-24 2014-04-07 浮動小数点方式を用いたデータ圧縮/復元方法及び装置
US14/579,561 US9660667B2 (en) 2013-12-24 2014-12-22 Method and apparatus for compressing/decompressing data using floating point

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130162743A KR101624711B1 (ko) 2013-12-24 2013-12-24 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150074703A KR20150074703A (ko) 2015-07-02
KR101624711B1 true KR101624711B1 (ko) 2016-05-26

Family

ID=53401266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130162743A KR101624711B1 (ko) 2013-12-24 2013-12-24 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치

Country Status (3)

Country Link
US (1) US9660667B2 (ko)
JP (1) JP5809313B2 (ko)
KR (1) KR101624711B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10305980B1 (en) * 2013-11-27 2019-05-28 Intellectual Property Systems, LLC Arrangements for communicating data in a computing system using multiple processors
KR101624711B1 (ko) * 2013-12-24 2016-05-26 (주)에프씨아이 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치
KR102009989B1 (ko) * 2016-01-04 2019-10-21 주식회사 쏠리드 부동소수점 방식을 이용한 데이터 압축 장치 및 그 방법
JP6735469B2 (ja) * 2016-03-22 2020-08-05 パナソニックIpマネジメント株式会社 ログ収集装置、監視カメラ、およびログ収集方法
KR101946942B1 (ko) * 2016-12-27 2019-02-12 국방과학연구소 전처리 기법을 이용한 3차원 기하 데이터의 무손실 압축장치 및 방법
CN109033189B (zh) * 2018-06-27 2021-08-24 创新先进技术有限公司 链路结构日志的压缩方法、装置、服务器及可读存储介质
CN109189788B (zh) * 2018-08-20 2021-04-13 中冶南方工程技术有限公司 用于钢铁过程控制的高速数据存储方法和系统
KR20210034411A (ko) 2019-09-20 2021-03-30 삼성전자주식회사 데이터 압축기를 포함하는 무선 통신 장치 및 이의 동작 방법
US11552650B2 (en) 2019-10-03 2023-01-10 Raytheon Company Methods to compress range doppler map (RDM) values from floating point to decibels (dB)
CN116311389B (zh) * 2022-08-18 2023-12-12 荣耀终端有限公司 指纹识别的方法和装置
CN115268831B (zh) * 2022-09-22 2022-12-20 北京中科心研科技有限公司 浮点数据压缩方法、装置、可穿戴智能设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100924907B1 (ko) 2001-10-17 2009-11-03 엔엑스피 비 브이 가변 길이 코딩된 비트스트림 디코딩 방법 및 장치와 기록 캐리어

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0383125A (ja) * 1989-08-25 1991-04-09 Ricoh Co Ltd 固定小数点―浮動小数点変換装置
US5703801A (en) * 1995-01-31 1997-12-30 Motorola, Inc. Logarithm/inverse-logarithm converter utilizing second-order term and method of using same
US6131104A (en) * 1998-03-27 2000-10-10 Advanced Micro Devices, Inc. Floating point addition pipeline configured to perform floating point-to-integer and integer-to-floating point conversion operations
US8346831B1 (en) * 2006-07-25 2013-01-01 Vivante Corporation Systems and methods for computing mathematical functions
US9104473B2 (en) * 2012-03-30 2015-08-11 Altera Corporation Conversion and compression of floating-point and integer data
KR101624711B1 (ko) * 2013-12-24 2016-05-26 (주)에프씨아이 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100924907B1 (ko) 2001-10-17 2009-11-03 엔엑스피 비 브이 가변 길이 코딩된 비트스트림 디코딩 방법 및 장치와 기록 캐리어

Also Published As

Publication number Publication date
US9660667B2 (en) 2017-05-23
KR20150074703A (ko) 2015-07-02
JP5809313B2 (ja) 2015-11-10
US20150180504A1 (en) 2015-06-25
JP2015122048A (ja) 2015-07-02

Similar Documents

Publication Publication Date Title
KR101624711B1 (ko) 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치
CN109716658B (zh) 一种基于相似性的重复数据删除方法和系统
CN108768403B (zh) 基于lzw的无损数据压缩、解压方法及lzw编码器、解码器
US8902090B2 (en) Compressing and decompressing signal data
US8872677B2 (en) Method and apparatus for compressing data-carrying signals
CN109474281B (zh) 数据编码、解码方法及装置
WO2012033498A1 (en) Systems and methods for data compression
CN103248369A (zh) 基于fpga的压缩系统及其方法
CN101222637A (zh) 具有特征标志的编码方法
CN108880559B (zh) 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备
CN106537914A (zh) 通过限制的进位运算来执行算术编译的方法和设备
CN109981108A (zh) 数据压缩方法、解压缩方法、装置及设备
KR20150096217A (ko) 디지털 데이터 압축 방법 및 장치
KR20230128349A (ko) 오디오 인코딩 방법 및 디코딩 방법, 오디오 인코딩장치 및 디코딩 장치
CN110175185B (zh) 一种基于时序数据分布特征的自适应无损压缩方法
KR101549740B1 (ko) 이진 데이터의 압축 및 압축해제 방법과 장치
KR101471833B1 (ko) 이진 데이터의 압축 및 압축해제 방법과 장치
CN107565979B (zh) 一种编码方法及编码器
KR102503878B1 (ko) 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법
CN113595557B (zh) 一种数据处理的方法和装置
KR101610086B1 (ko) 연속 데이터 압축 방법
KR101573983B1 (ko) 데이터 압축 및 데이터 복원 방법과 장치
KR100348210B1 (ko) 영상신호의 압축/복원용 양자화기
CN116015310A (zh) 一种数据无损压缩方法和装置
CN117135230A (zh) 一种卫星通信的数据压缩方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20190515

Year of fee payment: 4