KR102503878B1 - 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법 - Google Patents

데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법 Download PDF

Info

Publication number
KR102503878B1
KR102503878B1 KR1020160036944A KR20160036944A KR102503878B1 KR 102503878 B1 KR102503878 B1 KR 102503878B1 KR 1020160036944 A KR1020160036944 A KR 1020160036944A KR 20160036944 A KR20160036944 A KR 20160036944A KR 102503878 B1 KR102503878 B1 KR 102503878B1
Authority
KR
South Korea
Prior art keywords
data
bits
input data
scaling
bit
Prior art date
Application number
KR1020160036944A
Other languages
English (en)
Other versions
KR20170057807A (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 한국전자통신연구원
Publication of KR20170057807A publication Critical patent/KR20170057807A/ko
Application granted granted Critical
Publication of KR102503878B1 publication Critical patent/KR102503878B1/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/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법이 개시된다. 데이터 압축 장치는 데이터에 대한 그룹 사이즈를 결정하는 결정부와, 상기 결정된 그룹 사이즈를 고려하여, 상기 데이터 중 적어도 일부의 입력 데이터를 그룹핑하고, 상기 입력 데이터로부터, 공통 지수(GE: Group Exponent)를 획득하는 획득부와, 상기 입력 데이터 각각에 대해, 상기 공통 지수 만큼 임의의 방향으로 시프트하여, 상향 스케일링을 수행하고, 상기 상향 스케일링이 수행된 입력 데이터를 데이터 복원 장치에 전송하는 압축 처리부를 포함할 수 있다.

Description

데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법{DATA COMPRESSION APPARATUS AND METHOD, DATA RESTORATION APPARATUS AND METHOD}
본 발명의 실시예들은 데이터의 그룹핑 및 그룹핑과 연관된 공통 지수를 이용하여, 고속 압축 및 복원을 지원하는 기술에 관한 것이다.
종래의 데이터 압축방식에서는 예컨대, 업다운 샘플링과 블록스케일링 방식으로 스케일링을 한다. 블록 스케일링 방식은 데이터를 일정 전송 블록으로 묶고, 블록 내의 데이터 중 가장 큰 값을 기준으로 데이터의 스케일링을 수행한 후, 양자화하는 방식이다.
따라서, 블록 스케일링 방식은 블록단위의 중간 데이터를 저장하기 위한 고속의 블록메모리가 필요하게 되고, 블록 사이즈가 클수록 처리지연이 크게 발생하는 단점이 있다. 또한, 블록 스케일링 방식은 블록마다 별도의 지수부가 발생하게 되므로, 지수부 전송을 위한 별도의 채널을 사용하거나, 데이터 블록 마다 지수부 처리 과정이 필요하기 때문에, CPRI(Common Public Radio Interface)와 같이 데이터를 일정 크기로 컨테이너에 담아 전송하는 방법에 적용하기는 상당히 불편한 점이 있다.
본 발명은 입력 데이터의 비트 수와 출력 데이터의 비트 수에 따라, 유연하게 결정된 그룹 사이즈에 기초하여, 입력 데이터를 그룹핑하고, 그룹핑된 입력 데이터 별로, 공통 지수를 이용하여 상향 스케일링을 수행 함으로써, 고속의 블록메모리 없이도, 데이터를 압축할 수 있게 하는 것을 목적으로 한다.
또한, 본 발명은 상향 스케일링된 입력 데이터에, 상향 스케일링에 이용된 공통 지수를 포함시켜, 데이터 복원 장치에 전송 함으로써, 압축에 사용된 지수에 대한 별도의 처리 과정 또는 별도의 전송 채널이 필요로 하지 않음에 따라, 압축 및 복원에 대한 복잡도를 감소시키고, 압축 및 복원을 용이하게 하는 것을 목적으로 한다.
상기의 목적을 이루기 위한 데이터 압축 장치는 데이터에 대한 그룹 사이즈를 결정하는 결정부와, 상기 결정된 그룹 사이즈를 고려하여, 상기 데이터 중 적어도 일부의 입력 데이터를 그룹핑하고, 상기 입력 데이터로부터, 공통 지수(GE: Group Exponent)를 획득하는 획득부와, 상기 입력 데이터 각각에 대해, 상기 공통 지수 만큼 임의의 방향으로 시프트하여, 상향 스케일링을 수행하고, 상기 상향 스케일링이 수행된 입력 데이터를 데이터 복원 장치에 전송하는 압축 처리부를 포함할 수 있다.
상기의 목적을 이루기 위한 데이터 복원 장치는 설정된 그룹 사이즈에 따라, 데이터 압축 장치로부터 수신된 데이터 중 적어도 일부의 출력 데이터를 그룹핑하고, 상기 출력 데이터로부터, 공통 지수를 추출하는 추출부와, 상기 출력 데이터 각각에 대해, 상기 추출된 공통 지수 만큼 임의의 방향으로 시프트하여, 하향 스케일을 수행하는 복원 처리부를 포함할 수 있다.
상기의 목적을 이루기 위한 데이터 압축 방법은 데이터에 대한 그룹 사이즈를 결정하는 단계와, 상기 결정된 그룹 사이즈를 고려하여, 상기 데이터 중 적어도 일부의 입력 데이터를 그룹핑하고, 상기 입력 데이터로부터, 공통 지수를 획득하는 단계와, 상기 입력 데이터 각각에 대해, 상기 공통 지수 만큼 임의의 방향으로 시프트하여, 상향 스케일링을 수행하고, 상기 상향 스케일링이 수행된 입력 데이터를 데이터 복원 장치에 전송하는 단계를 포함할 수 있다.
상기의 목적을 이루기 위한 데이터 복원 방법은 설정된 그룹 사이즈에 따라, 데이터 압축 장치로부터 수신된 데이터 중 적어도 일부의 출력 데이터를 그룹핑하고, 상기 출력 데이터로부터, 공통 지수를 추출하는 단계와, 상기 출력 데이터 각각에 대해, 상기 추출된 공통 지수 만큼 임의의 방향으로 시프트하여, 하향 스케일을 수행하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 입력 데이터의 비트 수와 출력 데이터의 비트 수에 따라, 유연하게 결정된 그룹 사이즈에 기초하여, 입력 데이터를 그룹핑하고, 그룹핑된 입력 데이터 별로, 공통 지수를 이용하여 상향 스케일링을 수행 함으로써, 고속의 블록메모리 없이도, 데이터를 압축할 수 있게 한다.
본 발명의 실시예에 따르면, 상향 스케일링된 입력 데이터에, 상향 스케일링에 이용된 공통 지수를 포함시켜, 데이터 복원 장치에 전송 함으로써, 압축에 사용된 지수에 대한 별도의 처리 과정 또는 별도의 전송 채널이 필요로 하지 않음에 따라, 압축 및 복원에 대한 복잡도를 감소시키고, 압축 및 복원을 용이하게 한다.
도 1은 본 발명의 일실시예에 따른 데이터 압축 장치 및 데이터 복원 장치를 포함하는 네트워크의 일례를 도시하는 도면이다.
도 2는 본 발명의 일실시예에 따른 데이터 압축 장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 데이터 복원 장치의 구성을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 데이터 압축 장치에서의 데이터 압축에 대한 일례를 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 데이터 복원 장치에서의 데이터 복원에 대한 일례를 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 데이터 압축 장치에 의한 데이터 압축시, EVM 성능에 대한 일례를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 데이터 압축 방법을 나타내는 흐름도이다.
도 8은 본 발명의 일실시예에 따른 데이터 복원 방법을 나타내는 흐름도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 일실시예에 따른 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법에 대해 상세히 설명한다. 여기서, 데이터 압축(복원) 장치는 그룹 부동 소수점 스케일링 압축(복원) 방식에 기초하여, 데이터를 압축(복원)할 수 있다. 또한, 데이터 압축(복원) 장치는 CPRI 뿐만 아니라 OBSAI(Open Baseband Remote Radiohead Interface) 또는 ORI(Open Radio Interface) 규격을 따르는 시스템에 적용될 수 있다.
도 1은 본 발명의 일실시예에 따른 데이터 압축 장치 및 데이터 복원 장치를 포함하는 네트워크의 일례를 도시하는 도면이다.
도 1을 참조하면, 네트워크(100)는 데이터 압축 장치(101) 및 데이터 복원 장치(103)를 포함할 수 있다.
데이터 압축 장치(101)는 데이터에 대한 그룹 사이즈를 결정하고, 상기 결정된 그룹 사이즈를 고려하여, 데이터 중 적어도 일부의 입력 데이터를 그룹핑할 수 있다. 여기서, 입력 데이터는, 설정된 수의 비트를 포함하는 데이터이거나, 또는 데이터 압축 장치(101)에 입력되는 단위 수의 비트를 포함하는 데이터일 수 있다.
데이터 압축 장치(101)는 그룹핑된 입력 데이터로부터, 그룹핑된 입력 데이터에 관한 공통 지수(또는, 그룹 지수)를 획득하고, 상기 공통 지수를 이용하여, 입력 데이터 각각을 압축한 후, 데이터 복원 장치(103)에 전송할 수 있다. 이때, 데이터 압축 장치(101)는 압축된 입력 데이터에, 상기 공통 지수를 포함시켜, 출력 데이터로서 데이터 복원 장치(103)에 전송할 수 있다.
데이터 복원 장치(103)는 데이터 압축 장치(101)로부터 데이터를 수신하고, 수신된 데이터 중 적어도 일부의 출력 데이터를, 설정된 그룹 사이즈에 따라 그룹핑할 수 있다. 여기서, 출력 데이터는, 설정된 수의 비트를 포함하는 데이터이거나, 또는 데이터 압축 장치(101)에서 출력되는 단위 수의 비트를 포함하는 데이터일 수 있다.
데이터 복원 장치(103)는 그룹핑된 출력 데이터로부터, 그룹핑된 출력 데이터에 관한 공통 지수를 추출하고, 상기 공통 지수를 이용하여, 출력 데이터 각각을 복원 함으로써, 데이터 압축 장치(101)에서 전송하고자 하는 데이터를 획득할 수 있다.
도 2는 본 발명의 일실시예에 따른 데이터 압축 장치의 구성을 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 데이터 압축 장치(200)는 결정부(201), 획득부(203), 그룹 버퍼(209), 압축 처리부(211) 및 송신부(213)를 포함할 수 있다.
결정부(201)는 데이터에 대한 그룹 사이즈를 결정할 수 있다. 구체적으로, 결정부(201)는 상기 데이터 중 입력 데이터의 비트 수 및 설정된 출력 데이터의 비트 수(즉, 출력 비트 수)를 고려하여, 스케일링 지수를 결정하고, 상기 결정된 스케일링 지수에 기초하여, 상기 그룹 사이즈를 결정할 수 있다. 여기서, 입력 데이터는, 설정된 수의 비트를 포함하는 데이터이거나, 또는 입력되는 단위 수의 비트를 포함하는 데이터일 수 있으며, 예컨대, 18(0∼17) 비트일 수 있다. 또한, 입력 데이터는 부호 비트를 적어도 포함하는 다수의 비트를 나열하여 구성될 수 있다.
구체적으로, 결정부(201)는 [수학식 1]에 의하여, 스케일링 지수를 결정할 수 있다.
Figure 112016029587990-pat00001
여기서, S는 스케일링 지수이고, T는 입력 데이터의 비트 수(입력 데이터가 가지는 비트 해상도)이며, Q(
Figure 112016029587990-pat00002
Figure 112016029587990-pat00003
)는 압축에 의해 출력되는 출력 데이터의 비트 수이다.
여기서, 스케일링 범위는 0∼S-1일 수 있다.
결정부(201)는 예컨대, 입력 데이터의 비트 수(T)가 18비트이고, 압축 후 출력 데이터의 비트 수(Q)가 10비트일 경우, [수학식 1]에 따라, 10의 스케일링 지수(S)를 결정할 수 있다.
이후, 결정부(201)는 스케일링 지수가 설정되면, 결정된 스케일링 지수에 기초하여, [수학식 2]에 따라, 그룹 사이즈를 결정할 수 있다.
Figure 112016029587990-pat00004
여기서, G는 그룹 사이즈이고, S는 스케일링 지수이다.
예컨대, 결정부(201)는 스케일링 지수(S)가 10일 경우, 그룹 사이즈(G)를 3 또는 4로 결정할 수 있다.
또한, 결정부(201)는 상기 스케일링 지수와 상기 그룹 사이즈에 기초하여, 스케일링 범위를 최종적으로 결정하고, 상기 결정된 최종의 스케일링 범위(0∼M-1)를 선택부(207)에 제공 함으로써, 이후 선택부(207)에 의한 공통 지수 선택시, 기준 데이터로서 활용할 수 있게 한다.
구체적으로, 결정부(201)는 그룹 사이즈(G)와 스케일링 지수(S)가 결정되면, [수학식 3]에 의하여, 최종의 스케일링 지수(M)를 결정하고, 최종의 스케일링 범위(0∼M-1)를 결정할 수 있다.
Figure 112016029587990-pat00005
예컨대, 결정부(201)는 입력 데이터의 비트 수(T)가 18비트이고, 압축 후 출력 데이터의 비트 수(Q)가 10비트일 때, 그룹 사이즈(G)를 4로 결정할 경우, 스케일링 범위가 0∼15까지 표현이 가능하지만, 최종의 스케일링 범위를, 최종의 스케일링 지수(M) 10을 초과하지 않는 범위인 0∼9로 결정할 수 있다. 또한, 결정부(201)는 그룹 사이즈(G)를 3으로 결정할 경우에는, 최종의 스케일링 범위를, 0∼7로 결정할 수 있다.
또한, 결정부(201)는 입력 데이터의 비트 수(T)가 24비트이고, 압축 후 출력 데이터의 비트 수(Q)가 10비트일 때에는, 스케일링 지수(S)가 16으로 결정 됨에 따라, 그룹 사이즈(G)를 4로 결정할 수 있으며, 스케일링 범위를 0∼15로 결정할 수 있다.
획득부(203)는 상기 결정된 그룹 사이즈를 고려하여, 상기 데이터 중 적어도 일부의 입력 데이터를 그룹핑하고, 상기 입력 데이터로부터, 공통 지수(GE: Group Exponent)를 획득할 수 있다. 예컨대, 획득부(203)는 그룹 사이즈가 3으로 결정될 경우, 3개의 입력 데이터를 그룹핑하여 그룹을 생성할 수 있다.
구체적으로, 획득부(203)는 카운트부(205) 및 선택부(207)를 포함할 수 있다.
카운트부(205)는 그룹핑된 입력 데이터 각각에서, 부호 비트를 기준으로, 상기 부호 비트와 동일하면서 연속적으로 나열되는 비트의 개수를 카운트(count)하여, NCB(Number of Continuous Bits)로서 확인할 수 있다. 이때, 카운트부(205)는 상기 입력 데이터 내 다수의 비트 중, 최상위 비트(MSB: Most Significant Bit)를 상기 부호 비트로서, 확인하고, 상기 부호 비트가 '1'일 경우, 상기 부호 비트를 기준으로, '1'이 연속적으로 나열되는 비트의 개수를 카운트할 수 있다. 또한, 카운트부(205)는 상기 부호 비트가 '0'일 경우, 상기 부호 비트를 기준으로, '0'이 연속적으로 나열되는 비트의 개수를 카운트할 수 있다.
선택부(207)는 그룹핑된 입력 데이터 각각에서 확인되는 NCB 중 최소값을, LSI(Least Scaling Index)로서 지정하고, 상기 지정된 LSI를 상기 공통 지수로서 선택할 수 있다. 선택부(207)는 예컨대, 제1 그룹으로 그룹핑된 제1,2,3 입력 데이터 각각에서 확인된 제1,2,3 NCB가, '4', '3', '3'일 경우, 최소값인 '3'을 LSI로서 지정하고, 지정된 '3'을 공통 지수로서 선택할 수 있다.
다른 일례로서, 선택부(207)는 LSI를 최대값으로 지정한 후, 카운트부(205)에 의해 확인되는 NCB와 상기 LSI를 비교하고, NCB가 LSI 보다 작은 경우, NCB를 LSI로서 지정할 수 있다. 선택부(207)는 그룹핑된 입력 데이터 각각에서 확인되는 NCB 마다, LSI와의 비교를 반복하여, 최소값의 NCB를 LSI로서 지정할 수 있다.
이때, 선택부(207)는 상기 LSI가 스케일링 범위에 포함되지 않는 경우, 상기 지정된 LSI 대신에, 상기 스케일링 범위에서의 최대값을 상기 공통 지수로서 변경하여 선택할 수 있다.
그룹 버퍼(209)는 그룹핑된 입력 데이터를 보관할 수 있다. 이때, 그룹 버퍼(209)는 결정부(201)에 의해, 결정된 그룹 사이즈 만큼의 입력 데이터를 버퍼링할 수 있으며, 그룹 사이즈가 크지 않으므로, 비교적 큰 사이즈의 블록 메모리를 사용하지 않고, 구현이 간단한 시프트 레지스터로 구현할 수 있다.
압축 처리부(211)는 그룹핑된 입력 데이터 각각에 대해, 공통 지수 만큼 임의의 방향으로 시프트(shift)하여, 상향 스케일링을 수행하고, 상기 상향 스케일링이 수행된 입력 데이터에, 상기 공통 지수를 포함시켜 송신부(213)를 통해, 데이터 복원 장치에 전송할 수 있다. 구체적으로, 압축 처리부(211)는 그룹핑된 입력 데이터 각각에 대해, 상기 입력 데이터 내 최상위 비트(예컨대, 부호 비트)를 제외한 다수의 비트를, 상기 최상위 비트가 위치하는 방향으로, 상기 공통 지수 만큼 시프트하여, 상향 스케일링을 수행할 수 있다. 압축 처리부(211)는 상기 공통 지수를 이진화하여 표현한 비트들 중에서, 상기 입력 데이터의 위치순서에 대응하는 비트를 선정하여, 상기 상향 스케일링이 수행된 입력 데이터에 포함시켜 전송할 수 있다.
예컨대, 압축 처리부(211)는 제1 그룹으로 그룹핑된 제1,2,3 입력 데이터에 관한 제1 공통 지수가 '3'일 경우, 제1 입력 데이터에 대해, 최상위 비트(0비트)를 제외한 다수의 비트(1∼17비트)를, '3' 만큼 최상위 비트가 위치하는 방향으로 시프트하여, 상향 스케일링을 수행할 수 있다. 또한, 압축 처리부(211)는 제1 그룹 내 제2, 3 입력 데이터 각각에 대해서도, 최상위 비트(0비트)를 제외한 다수의 비트(1∼17비트)를, '3' 만큼 최상위 비트가 위치하는 방향으로 시프트하여, 상향 스케일링을 수행할 수 있다. 이때, 압축 처리부(211)는 제1 공통 지수가 '3'임에 따라, 상기 공통 지수를 이진화하여 표현한 비트들, '011' 중 제1 입력 데이터의 위치순서(즉, 첫번째)에 대응하는 비트, '0'을 선정하여, 제1 입력 데이터에 포함시킬 수 있다. 또한, 압축 처리부(211)는 상기 공통 지수를 이진화하여 표현한 비트들, '011' 중 제2 입력 데이터의 위치순서(즉, 두번째)에 대응하는 비트, '1'을 선정하여, 제2 입력 데이터에 포함시키고, 상기 상기 공통 지수를 이진화하여 표현한 비트, '011' 중 제3 입력 데이터의 위치순서(즉, 세번째)에 대응하는 비트, '1'을 선정하여, 제3 입력 데이터에 포함시킬 수 있다.
압축 처리부(211)는 상기 공통 지수가 포함된 입력 데이터를, 상기 출력 비트 수에 따라, 양자화하여, 출력 데이터로서 상기 데이터 복원 장치에 전송할 수 있다.
송신부(213)는 압축 처리부(211)에 의해, 입력 데이터가 압축된 출력 데이터를, 데이터 복원 장치에 전송할 수 있다.
데이터 압축 장치(200)는 입력 데이터의 비트 수와 출력 데이터의 비트 수에 따라, 그룹 사이즈를 결정하고, 그룹 사이즈를 고려하여 그룹핑된 입력 데이터 별로 압축 함에 따라, 구현시 비교적 큰 사이즈의 블록 메모리를 사용할 필요가 없으며, 대신 그룹 사이즈 개수 만큼의 시프트 레지스터로 간단하게 구현이 가능하기 때문에, 복잡도가 작고 처리지연이 거의 발생하지 않는다. 또한, 데이터 압축 장치(200)는 그룹핑되는 입력 데이터의 개수가 비교적 적은 경우, 인접한 입력 데이터 간의 크기 차이가 급격히 변하지 않는 입력신호의 특성으로 인해, 블록 스케일링 구조 보다 효율적인 스케일링을 가능하게 하여, 압축으로 인한 EVM(Error Vector Magnitude)의 성능열화를 줄일 수 있다.
도 3은 본 발명의 실시예에 따른 데이터 복원 장치의 구성을 나타내는 도면이다.
도 3을 참조하면, 본 발명의 실시예에 따른 데이터 복원 장치(300)는 수신부(301), 추출부(303), 그룹 버퍼(305) 및 복원 처리부(307)를 포함할 수 있다. 데이터 복원 장치(300)는 결정부(도시하지 않음)를 더 포함할 수 있다.
수신부(301)는 데이터 압축 장치로부터 데이터를 수신할 수 있다.
추출부(303)는 상기 데이터 중 적어도 일부의 출력 데이터를, 상기 결정부에 의해, 결정된 그룹 사이즈 또는 설정된 그룹 사이즈에 따라 그룹핑하고, 그룹핑된 출력 데이터로부터, 공통 지수를 추출할 수 있다.
여기서, 출력 데이터는, 설정된 수의 비트를 포함하는 데이터이거나, 또는 데이터 압축 장치에서 출력되는 단위 수의 비트를 포함하는 데이터로서, 예컨대, 10(0∼9) 비트일 수 있다. 또한, 출력 데이터는 부호 비트를 적어도 포함하는 다수의 비트를 나열하여 구성될 수 있다.
상기 그룹 사이즈는 상기 결정부에 의해, 상기 출력 데이터의 비트 수를 고려하여 결정되거나, 또는 데이터 압축 장치에서 결정된 그룹 사이즈와 동일하게 설정될 수 있다.
추출부(303)는 예컨대, 설정된 그룹 사이즈가 3일 경우, 3개의 출력 데이터를 그룹핑하여 그룹을 생성할 수 있다.
이때, 추출부(303)는 그룹으로 그룹핑된 출력 데이터 각각으로부터 설정된 위치의 특정의 비트를 검출하고, 상기 검출된 비트를, 상기 출력 데이터의 위치순서에 따라 나열하여, 공통 지수를 생성 함으로써, 상기 공통 지수를 추출할 수 있다. 예컨대, 추출부(303)는 제1 그룹으로 그룹핑된 제1,2,3 출력 데이터 각각으로부터 특정의 비트로서, 두번째 위치의 비트 '0', '1', '1'이 검출되면, 해당 출력 데이터의 위치순서에 따라, 검출된 '0', '1', '1'를 나열하여, '011'의 공통 지수(GE)를 추출할 수 있다. 즉, 데이터 복원 장치는 제1 그룹으로 그룹핑된 제1,2,3 출력 데이터에 관한 제1 공통 지수로서, '3'('011'의 십진화)을 추출할 수 있다.
상기 결정부는 상기 출력 데이터의 비트 수를 고려하여, 데이터에 대한 그룹 사이즈가 결정될 경우, 그룹 버퍼(305)에 제공할 수 있다.
그룹 버퍼(305)는 그룹핑된 출력 데이터를 보관할 수 있다. 이때, 그룹 버퍼(305)는 상기 결정부에 의해, 결정된 그룹 사이즈 또는 설정된 그룹 사이즈 만큼의 출력 데이터를 버퍼링할 수 있다.
한편, 다른 일례로서, 추출부(303) 및 그룹 버퍼(305)는 하나로 통합되어, 버퍼 기능과 공통 지수 추출 기능을 동시에 처리할 수 있다.
복원 처리부(307)는 그룹핑된 출력 데이터 각각에 대해, 상기 추출된 공통 지수 만큼 임의의 방향으로 시프트하여, 하향 스케일을 수행할 수 있다. 이때, 복원 처리부(307)는 상기 출력 데이터 각각에 대해, 상기 출력 데이터 내 최상위 비트를 제외한 다수의 비트를, 상기 최상위 비트가 위치하는 반대 방향으로, 상기 공통 지수 만큼 시프트하여 하향 스케일을 수행하고, 상기 하향 스케일링이 수행된 출력 데이터에 상기 최상위 비트를 삽입 함으로써, 데이터를 복원할 수 있다.
예컨대, 복원 처리부(307)는 제1 그룹으로 그룹핑된 제1,2,3 출력 데이터에 관한 제1 공통 지수가 '3'일 경우, 제1 출력 데이터 내 최상위 비트(0비트)를 부호 비트('0')로서, 확인하고, 상기 최상위 비트를 제외한 다수의 비트(1∼9비트)를, '3' 만큼 상기 최상위 비트가 위치하는 반대 방향으로 시프트하여, 하향 스케일을 수행할 수 있다. 이때, 복원 처리부(307)는 상기 확인된 부호 비트('0')를 상기 하향 스케일링이 수행된 출력 데이터에 삽입(즉, 3개의 '0' 삽입)할 수 있다.
또한, 복원 처리부(307)는 제2 출력 데이터 및 제3 출력 데이터에 대해서도, '3' 만큼 상기 최상위 비트가 위치하는 반대 방향으로 시프트하여, 하향 스케일을 수행하고, 부호 비트('1') 및 부호 비트('0')를 각각 삽입할 수 있다.
도 4는 본 발명의 일실시예에 따른 데이터 압축 장치에서의 데이터 압축에 대한 일례를 설명하기 위한 도면이다.
도 4를 참조하면, 데이터 압축 장치는 데이터 중 적어도 일부의 입력 데이터를 그룹핑하고, 그룹핑된 입력 데이터에 관한 공통 지수를 획득한 후, 공통 지수를 이용하여, 입력 데이터를 압축할 수 있다.
ⅰ) 공통 지수 획득
먼저, 데이터 압축 장치는 그룹 사이즈를 고려하여, 데이터 중 적어도 일부의 입력 데이터를 그룹핑할 수 있다. 여기서, 입력 데이터는, 설정된 수의 비트를 포함하는 데이터이거나, 또는 입력되는 단위 수의 비트를 포함하는 데이터일 수 있으며, 예컨대, 18(0∼17) 비트일 수 있다.
데이터 압축 장치는 예컨대, 그룹 사이즈가 3으로 결정될 경우, 3개의 입력 데이터를 그룹핑하여 그룹을 생성할 수 있다. 즉, 데이터 압축 장치는 제1,2,3 입력 데이터를 그룹핑하여, 제1 그룹(401)을 생성하고, 제4,5,6 입력 데이터를 그룹핑하여, 제2 그룹(403)을 생성할 수 있다.
이후, 데이터 압축 장치는 그룹핑된 입력 데이터로부터, 그룹핑된 입력 데이터에 관한 공통 지수를 획득할 수 있다. 이때, 데이터 압축 장치는 상기 입력 데이터 각각에서, 부호 비트를 기준으로, 상기 부호 비트와 동일하면서 연속적으로 나열되는 비트의 개수를 카운트하여, NCB로서 확인할 수 있다. 데이터 압축 장치는 상기 각각의 NCB 중 최소값을, LSI로서 지정하고, 상기 지정된 LSI를 공통 지수로서 선택할 수 있다.
예컨대, 데이터 압축 장치는 제1 그룹(401)으로 그룹핑된 제1,2,3 입력 데이터 각각으로부터 NCB를 확인할 수 있다. 구체적으로, 데이터 압축 장치는 제1 입력 데이터 내 다수의 비트 중, 최상위 비트인 '0'(405)을, 상기 부호 비트로서 확인하고, 상기 부호 비트를 기준으로, '0'이 연속적으로 나열되는 비트의 개수 '4'를 카운트하여, 제1 NCB로서 확인할 수 있다. 또한, 데이터 압축 장치는 제2 입력 데이터 내 다수의 비트 중, 최상위 비트인 '1'(407)을, 상기 부호 비트로서 확인하고, 상기 부호 비트를 기준으로, '1'이 연속적으로 나열되는 비트의 개수 '3'을 카운트하여, 제2 NCB로서 확인할 수 있다. 또한, 데이터 압축 장치는 제3 입력 데이터 내 다수의 비트 중, 최상위 비트인 '0'(409)을, 상기 부호 비트로서 확인하고, 상기 부호 비트를 기준으로, '0'이 연속적으로 나열되는 비트의 개수 '3'을 카운트하여, 제3 NCB로서 확인할 수 있다.
데이터 압축 장치는 제1,2,3 NCB('4', '3', '3') 중 최소값인 '3'을, LSI로서 지정하고, 상기 지정된 LSI를, 제1 그룹(401)으로 그룹핑된 제1,2,3 입력 데이터에 관한 제1 공통 지수('3')로서 선택할 수 있다.
또한, 데이터 압축 장치는 상기 제1 공통 지수를 획득하는 방법과 마찬가지로, 제2 그룹(403)으로 그룹핑된 제4,5,6 입력 데이터에 관한 제2 공통 지수를 획득할 수 있다. 이때, 데이터 압축 장치는 제4,5,6 입력 데이터로부터 각각 제4,5,6 NCB로서, '4', '5', '4'를 확인할 수 있으며, 제4,5,6 NCB 중 최소값인 '4'를, LSI로서 지정하고, 상기 지정된 LSI를, 제2 그룹(403)으로 그룹핑된 제4,5,6 입력 데이터에 관한 제2 공통 지수('4')로서 선택할 수 있다.
ⅱ) 상향 스케일링 수행
데이터 압축 장치는 그룹핑된 입력 데이터 각각에 대해, 상기 입력 데이터 내 최상위 비트(MSB)를 제외한 다수의 비트를, 그룹핑된 입력 데이터에 관한 공통 지수(GE) 만큼 최상위 비트가 위치하는 방향으로 시프트하여, 상향 스케일링을 수행할 수 있다. 이때, 데이터 압축 장치는 상기 공통 지수를 이진화하여 표현한 비트들 중에서, 상기 입력 데이터의 위치순서에 대응하는 비트를 선정하여, 상기 상향 스케일링이 수행된 입력 데이터에 포함시킬 수 있다.
예컨대, 데이터 압축 장치는 제1 그룹(401)으로 그룹핑된 제1,2,3 입력 데이터에 관한 제1 공통 지수가 '3'일 경우, 제1 입력 데이터 내 다수의 비트 중, 최상위 비트(0비트)(405)를 제외한 다수의 비트(1∼17비트)를, '3' 만큼 최상위 비트가 위치하는 방향으로 시프트하여, 상향 스케일링을 수행할 수 있다. 이때, 데이터 압축 장치는 제1 공통 지수 '3'임에 따라, 상기 공통 지수를 이진화하여 표현한 비트들, '011' 중 제1 입력 데이터의 위치순서(즉, 첫번째)에 대응하는 비트, '0'을 선정하여, 제1 입력 데이터에 포함시킬 수 있다. 이때, 데이터 압축 장치는 제1 입력 데이터의 최상위 비트 다음 위치에, 상기 선정된 '0'(411)을 포함시킬 수 있으나, 이에 한정되지 않고, 다른 위치에 포함시킬 수도 있다.
또한, 데이터 압축 장치는 제1 그룹(401) 내 제2, 3 입력 데이터 각각에 대해서도, 다수의 비트 중 최상위 비트(0비트)(407, 409)를 제외한 다수의 비트(1∼17비트)를, '3' 만큼 최상위 비트가 위치하는 방향으로 시프트하여, 상향 스케일링을 수행할 수 있다. 이때, 데이터 압축 장치는 상기 공통 지수를 이진화하여 표현한 비트들, '011' 중 제2 입력 데이터의 위치순서(즉, 두번째)에 대응하는 비트, '1'을 선정하고, 제2 입력 데이터 내 최상위 비트 다음에 나열되도록, 상기 선정된 '1'(413)를 포함시킬 수 있다. 또한, 데이터 압축 장치는 상기 공통 지수를 이진화하여 표현한 비트들, '011' 중 제3 입력 데이터의 위치순서(즉, 세번째)에 대응하는 비트, '1'을 선정하고, 제3 입력 데이터 내 최상위 비트 다음에 나열되도록, 상기 선정된 '1'(415)를 포함시킬 수 있다.
데이터 압축 장치는 공통 지수를 이용하여, 각 입력 데이터(예컨대, 18비트)에 상향 스케일링을 수행하고, 공통 지수를 포함시켜, 최종적으로 압축한 입력 데이터를 출력 데이터(예컨대, 10비트)로서, 데이터 복원 장치에 전송할 수 있다.
도 5는 본 발명의 일실시예에 따른 데이터 복원 장치에서의 데이터 복원에 대한 일례를 설명하기 위한 도면이다.
도 5를 참조하면, 데이터 복원 장치는 데이터 중 적어도 일부의 출력 데이터를 그룹핑하고, 그룹핑된 출력 데이터에 관한 공통 지수를 추출한 후, 공통 지수를 이용하여, 출력 데이터 복원할 수 있다.
ⅰ) 공통 지수 추출
먼저, 데이터 복원 장치는 데이터 압축 장치로부터 데이터가 수신되면, 수신된 데이터 중 적어도 일부의 출력 데이터를, 설정된 그룹 사이즈에 따라 그룹핑할 수 있다. 여기서, 출력 데이터는, 설정된 수의 비트를 포함하는 데이터이거나, 또는 데이터 압축 장치에서 출력되는 단위 수의 비트를 포함하는 데이터로서, 예컨대, 10(0∼9) 비트일 수 있다.
데이터 복원 장치는 설정된 그룹 사이즈가 3일 경우, 3개의 출력 데이터를 그룹핑하여 그룹을 생성할 수 있다. 즉, 데이터 복원 장치는 제1,2,3 출력 데이터를 그룹핑하여, 제1 그룹(501)을 생성하고, 제4,5,6 출력 데이터를 그룹핑하여, 제2 그룹(503)을 생성할 수 있다.
이후, 데이터 복원 장치는 그룹핑된 출력 데이터로부터, 그룹핑된 입력 데이터에 관한 공통 지수를 추출할 수 있다. 이때, 데이터 복원 장치는 상기 출력 데이터 각각으로부터 설정된 위치의 특정의 비트를 검출하고, 상기 검출된 비트를, 상기 출력 데이터의 위치순서에 따라 나열하여, 공통 지수를 생성 함으로써, 상기 공통 지수를 추출할 수 있다.
예컨대, 데이터 복원 장치는 제1 그룹(501)으로 그룹핑된 제1,2,3 출력 데이터 각각으로부터 두번째 위치의 비트인 '0'(505), '1'(507), '1'(509)를 검출하고, 해당 출력 데이터의 위치순서에 따라, 검출된 '0'(505), '1'(507), '1'(509)를 나열하여, '011'의 공통 지수(GE)를 추출할 수 있다. 즉, 데이터 복원 장치는 제1 그룹(501)으로 그룹핑된 제1,2,3 출력 데이터에 관한 제1 공통 지수로서, '3'('011'의 십진화)을 추출할 수 있다.
ⅱ) 하향 스케일링 수행
데이터 복원 장치는 그룹핑된 출력 데이터 각각에 대해, 상기 출력 데이터 내 최상위 비트를 제외한 다수의 비트를, 상기 최상위 비트가 위치하는 반대 방향으로, 상기 공통 지수 만큼 시프트하여 하향 스케일을 수행하고, 상기 하향 스케일링이 수행된 출력 데이터에 상기 최상위 비트를 삽입할 수 있다.
예컨대, 데이터 복원 장치는 제1 그룹(501)으로 그룹핑된 제1,2,3 출력 데이터에 관한 제1 공통 지수가 '3'일 경우, 제1 출력 데이터 내 최상위 비트(0비트)(511)를 부호 비트('0')로서, 확인하고, 제1 출력 데이터 내 최상위 비트를 제외한 다수의 비트(1∼9비트)를, '3' 만큼 상기 최상위 비트가 위치하는 반대 방향으로 시프트하여, 하향 스케일을 수행하고, 상기 확인된 부호 비트('0')를 상기 하향 스케일링이 수행된 제1 출력 데이터에 삽입(즉, 3개의 '0' 삽입)할 수 있다.
데이터 복원 장치는 제1 그룹(501) 내 제2 출력 데이터 내 최상위 비트(0비트)(513)를 부호 비트('1')로서, 확인하고, 제2 출력 데이터 내 최상위 비트를 제외한 다수의 비트(1∼9비트)를, '3' 만큼 상기 최상위 비트가 위치하는 반대 방향으로 시프트하여, 하향 스케일을 수행하고, 상기 확인된 부호 비트('1')를 상기 하향 스케일링이 수행된 제2 출력 데이터에 삽입(즉, 3개의 '1' 삽입)할 수 있다.
또한, 데이터 복원 장치는 제1 그룹(501) 내 제3 출력 데이터에 대해서도, 제3 출력 데이터 내 최상위 비트(0비트)(515)를 부호 비트('0')로서, 확인하고, 상기 최상위 비트를 제외한 다수의 비트(1∼9비트)를, '3' 만큼 상기 최상위 비트가 위치하는 반대 방향으로 시프트하여, 하향 스케일을 수행하고, 상기 확인된 부호 비트('0')를 상기 하향 스케일링이 수행된 제3 출력 데이터에 삽입(즉, 3개의 '0' 삽입)할 수 있다.
데이터 복원 장치는 공통 지수를 이용하여, 각 출력 데이터(예컨대, 10비트)에 하향 스케일을 수행 함으로써, 데이터를 복원하여, 데이터 압축 장치에서 제공하고자 하는 데이터를 획득할 수 있다.
도 6은 본 발명의 실시예에 따른 데이터 압축 장치에 의한 데이터 압축시, EVM 성능에 대한 일례를 도시한 도면이다.
도 6을 참조하면, 데이터 압축 장치에 적용되는 그룹부동소수점방식은 고정소수점에 의한 절사(Truncation) 방식 및 블록스케일링(BFP: Block Floating Point)에 의한 방식 보다 EVM 성능열화(Error Vector Magnitude degradation)가 낮은 특성이 있다. 예컨대, 10비트로 양자화할 경우, 입력신호의 EVM이 1%일 때, 그룹부동소수점방식은 고정소수점방식에 비교하여, 7dB 이상 낮고, 블록스케일링방식에 비교하여, 2dB 이상 낮은 성능열화 특성을 가진다.
도 7은 본 발명의 일실시예에 따른 데이터 압축 방법을 나타내는 흐름도이다.
도 7을 참조하면, 단계(701)에서, 데이터 압축 장치는 데이터에 대한 그룹 사이즈를 결정할 수 있다.
구체적으로, 데이터 압축 장치는 상기 데이터 중 입력 데이터의 비트 수 및 설정된 출력 비트 수를 고려하여, 스케일링 지수를 결정하고, 상기 결정된 스케일링 지수에 기초하여, 상기 그룹 사이즈를 결정할 수 있다. 이때, 데이터 압축 장치는 상기 스케일링 지수와 상기 그룹 사이즈에 기초하여, 스케일링 범위를 결정 함으로써, 공통 지수 선택시, 기준 데이터로서 활용할 수 있게 한다.
단계(703)에서, 데이터 압축 장치는 상기 결정된 그룹 사이즈를 고려하여, 데이터 중 입력 데이터를 그룹핑하고, 입력 데이터로부터 NCB 확인할 수 있다.
구체적으로, 데이터 압축 장치는 그룹핑된 상기 입력 데이터 각각에서, 부호 비트를 기준으로, 상기 부호 비트와 동일하면서 연속적으로 나열되는 비트의 개수를 카운트하여, NCB로서 확인할 수 있다. 이때, 데이터 압축 장치는 상기 입력 데이터 내 최상위 비트를 상기 부호 비트로서, 확인하고, 상기 부호 비트가 '1'일 경우, 상기 부호 비트를 기준으로, '1'이 연속적으로 나열되는 비트의 개수를 카운트할 수 있다. 또한, 데이터 압축 장치는 상기 부호 비트가 '0'일 경우, 상기 부호 비트를 기준으로, '0'이 연속적으로 나열되는 비트의 개수를 카운트할 수 있다.
단계(705)에서, 데이터 압축 장치는 NCB로부터 공통 지수 획득할 수 있다.
데이터 압축 장치는 그룹핑된 입력 데이터 각각에서 확인되는 NCB 중 최소값을, LSI로서 지정하고, 상기 지정된 LSI를 상기 공통 지수로서 선택할 수 있다. 이때, 데이터 압축 장치는 상기 LSI가 스케일링 범위에 포함되지 않는 경우, 상기 스케일링 범위에서의 최대값으로 변경할 수 있다.
단계(707)에서, 데이터 압축 장치는 그룹핑된 입력 데이터에 관한 공통 지수를 이용하여, 상기 그룹핑된 입력 데이터 각각에 대해, 상향 스케일링을 수행할 수 있다. 이때, 데이터 압축 장치는 그룹핑된 입력 데이터 각각에 대해, 공통 지수 만큼 임의의 방향으로 시프트하여, 상향 스케일링을 수행하고, 상기 상향 스케일링이 수행된 입력 데이터에, 상기 공통 지수를 포함시켜, 데이터 복원 장치에 전송할 수 있다.
구체적으로, 데이터 압축 장치는 그룹핑된 입력 데이터 각각에 대해, 상기 입력 데이터 내 최상위 비트를 제외한 다수의 비트를, 상기 공통 지수 만큼 최상위 비트가 위치하는 방향으로 시프트하여, 상향 스케일링을 수행하고, 상기 공통 지수를 이진화하여 표현한 비트들 중에서, 상기 입력 데이터의 위치순서에 대응하는 비트를 선정하여, 상기 상향 스케일링이 수행된 입력 데이터에 포함시킬 수 있다. 이후, 데이터 압축 장치는 상기 공통 지수가 포함된 입력 데이터를, 상기 출력 비트 수에 따라, 양자화하여, 출력 데이터로서 상기 데이터 복원 장치에 전송할 수 있다.
도 8은 본 발명의 일실시예에 따른 데이터 복원 방법을 나타내는 흐름도이다.
도 8을 참조하면, 단계(801)에서, 데이터 복원 장치는 데이터 압축 장치로부터 수신된 데이터 중 적어도 일부의 출력 데이터를, 설정된 그룹 사이즈에 따라 그룹핑하고, 그룹핑된 출력 데이터로부터, 공통 지수를 추출할 수 있다. 이때, 데이터 복원 장치는 그룹핑된 출력 데이터 각각으로부터 설정된 위치의 특정의 비트를 검출하고, 상기 검출된 비트를, 상기 출력 데이터의 위치순서에 따라 나열하여, 상기 공통 지수를 추출할 수 있다.
단계(803)에서, 데이터 복원 장치는 그룹핑된 출력 데이터에 관한 공통 지수를 이용하여, 그룹핑된 출력 데이터 각각에 대해, 하향 스케일링을 수행할 수 있다. 이때, 데이터 복원 장치는 상기 출력 데이터 내 최상위 비트를 부호 비트로서, 확인하고, 상기 최상위 비트를 제외한 다수의 비트를, 최상의 비트가 위치하는 반대 방향으로 상기 공통 지수 만큼 시프트하여, 하향 스케일을 수행하고, 상기 하향 스케일링이 수행된 출력 데이터에 상기 확인된 부호 비트를 삽입하여, 하향 스케일을 수행할 수 있다.
본 발명의 실시예는 입력 데이터의 비트 수와 출력 데이터의 비트 수에 따라, 유연하게 결정된 그룹 사이즈에 기초하여, 입력 데이터를 그룹핑하고, 그룹핑된 입력 데이터 별로, 공통 지수를 이용하여 상향 스케일링을 수행 함으로써, 고속의 블록메모리 없이도, 데이터를 압축할 수 있게 한다.
본 발명의 실시예는 상향 스케일링된 입력 데이터에, 상향 스케일링에 이용된 공통 지수를 포함시켜, 데이터 복원 장치에 전송 함으로써, 압축에 사용된 지수에 대한 별도의 처리 과정 또는 별도의 전송 채널이 필요로 하지 않음에 따라, 압축 및 복원에 대한 복잡도를 감소시키고, 압축 및 복원을 용이하게 한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 저장될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 저장되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광저장 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 데이터 압축 장치
101: 데이터 압축 장치 103: 데이터 복원 장치

Claims (18)

  1. (i)초기 데이터를 구성하는 제1 입력 데이터의 비트 수와 상기 제1 입력 데이터가 압축되어 생성된 출력 데이터의 비트 수에 기초하여 스케일링 지수를 계산하고, (ii)상기 계산된 스케일링 지수를 이용하여 그룹 사이즈를 결정하며, (iii)상기 초기 데이터로부터 상기 스케일링 지수와 그룹 사이즈에 기초한 기준 데이터를 추출하는 결정부;
    상기 결정된 그룹 사이즈를 고려하여, 상기 기준 데이터를 구성하는 복수의 제2 입력 데이터들을 그룹핑하고, 상기 그룹핑된 제2 입력 데이터들로부터, 공통 지수(GE: Group Exponent)를 획득하는 획득부; 및
    상기 제2 입력 데이터 각각에 대해, 상기 제2 입력 데이터를 구성하는 최상위 비트인 부호 비트를 제외한 나머지 비트들을 상기 공통 지수만큼 상기 부호 비트 방향으로 시프트하여, 상향 스케일링을 수행하고, 상기 상향 스케일링이 수행된 제2 입력 데이터를 데이터 복원 장치에 전송하는 압축 처리부
    를 포함하는 데이터 압축 장치.
  2. 제1항에 있어서,
    상기 획득부는,
    상기 제2 입력 데이터 각각에서, 상기 부호 비트를 기준으로, 상기 부호 비트와 동일하면서 연속적으로 나열되는 비트의 개수를 카운트(count)하여, NCB(Number of Continuous Bits)로서 확인하는 카운트부; 및
    상기 각각의 NCB 중 최소값을, LSI(Least Scaling Index)로서 지정하고, 상기 지정된 LSI를 상기 공통 지수로서 선택하는 선택부
    를 포함하는 데이터 압축 장치.
  3. 제2항에 있어서,
    상기 카운트부는,
    상기 다수의 비트 중, 최상위 비트를 상기 부호 비트로서, 확인하고,
    상기 부호 비트가 '1'일 경우, 상기 부호 비트를 기준으로, '1'이 연속적으로 나열되는 비트의 개수를 카운트하고,
    상기 부호 비트가 '0'일 경우, 상기 부호 비트를 기준으로, '0'이 연속적으로 나열되는 비트의 개수를 카운트하는
    데이터 압축 장치.
  4. 제2항에 있어서,
    상기 LSI가 상기 스케일링 지수에 따른 스케일링 범위에 포함되지 않는 경우,
    상기 선택부는,
    상기 지정된 LSI 대신에, 상기 스케일링 범위에서의 최대값을 상기 공통 지수로서 변경하여 선택하는
    데이터 압축 장치.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 압축 처리부는,
    상기 상향 스케일링이 수행된 제2 입력 데이터에, 상기 공통 지수를 포함시켜 상기 데이터 복원 장치에 전송하되, 상기 공통 지수가 포함된 제2 입력 데이터를, 설정된 출력 비트 수에 따라, 양자화하여, 출력 데이터로서 상기 데이터 복원 장치에 전송하는
    데이터 압축 장치.
  8. 제1항에 있어서,
    상기 공통 지수를 이진화하여 표현한 비트들 중에서, 상기 제2 입력 데이터의 위치순서에 대응하는 비트를 선정하여, 상기 상향 스케일링이 수행된 제2 입력 데이터에 포함시키는
    데이터 압축 장치.
  9. 설정된 그룹 사이즈에 따라, 데이터 압축 장치로부터 수신된 데이터 중 적어도 일부의 출력 데이터를 그룹핑하고, 상기 그룹핑된 출력 데이터로부터, 공통 지수를 추출하는 추출부; 및
    상기 그룹핑된 출력 데이터 각각에 대해, 상기 출력 데이터를 구성하는 최상위 비트인 부호 비트를 제외한 나머지 비트들을 상기 추출된 공통 지수만큼 상기 부호 비트의 반대 방향으로 시프트하여, 하향 스케일을 수행함으로써 기준 데이터를 복원하는 복원 처리부
    를 포함하고,
    상기 기준 데이터는,
    초기 데이터를 구성하는 입력 데이터의 비트 수와 상기 입력 데이터가 압축되어 생성된 출력 데이터의 비트 수에 기초하여 계산된 스케일링 지수와 상기 그룹 사이즈에 기초하여, 상기 초기 데이터로부터 추출되는 데이터 복원 장치.
  10. 제9항에 있어서,
    상기 추출부는,
    상기 출력 데이터 각각으로부터 미리 설정된 특정 위치의 비트를 검출하고, 상기 검출된 비트를, 상기 출력 데이터의 위치순서에 따라 나열하여, 상기 공통 지수를 추출하는
    데이터 복원 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020160036944A 2015-11-17 2016-03-28 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법 KR102503878B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150161408 2015-11-17
KR1020150161408 2015-11-17

Publications (2)

Publication Number Publication Date
KR20170057807A KR20170057807A (ko) 2017-05-25
KR102503878B1 true KR102503878B1 (ko) 2023-02-27

Family

ID=59050825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160036944A KR102503878B1 (ko) 2015-11-17 2016-03-28 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102503878B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102480450B1 (ko) * 2018-10-26 2022-12-21 삼성에스디에스 주식회사 데이터 압축 전송 방법 및 그 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301803B2 (en) * 2009-10-23 2012-10-30 Samplify Systems, Inc. Block floating point compression of signal data
KR20140078308A (ko) * 2012-12-17 2014-06-25 한국전자통신연구원 고속데이터 직렬접속 정합장치, 그 cpri 송신방법 및 수신방법

Also Published As

Publication number Publication date
KR20170057807A (ko) 2017-05-25

Similar Documents

Publication Publication Date Title
JP6242074B2 (ja) 信号データの圧縮および圧縮解除のための方法および装置(信号データの圧縮および圧縮解除)
US9660667B2 (en) Method and apparatus for compressing/decompressing data using floating point
EP4012928B1 (en) Methods, devices and systems for semantic-value data compression and decompression
US9471412B2 (en) Encoding diagnostic data in an error message for a computer program
CN106708468B (zh) 一种除法运算装置
CN113986950A (zh) 一种sql语句处理方法、装置、设备及存储介质
KR102503878B1 (ko) 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법
US9735803B2 (en) Data compression device and data compression method
JPWO2013073624A1 (ja) 特徴量符号化装置、特徴量符号化方法、及びプログラム
US10956778B2 (en) Multi-level deep feature and multi-matcher fusion for improved image recognition
US9128758B2 (en) Encoding densely packed decimals
US9762285B1 (en) Compression using mu-law approximation
EP2637407A1 (en) Apparatus and method for decoding Huffman codes
US10915547B2 (en) Optimizing data conversion using pattern frequency
US20130181852A1 (en) Coding circuitry for difference-based data transformation
KR20150072853A (ko) 가변길이코딩을 이용한 인코딩 방법, 디코딩 방법, 및 그 시스템
CN113595557B (zh) 一种数据处理的方法和装置
EP4303763A1 (en) Image processing method and system, encoder, and computer readable storage medium
CN107133330B (zh) 一种数据二值化处理的方法与装置
US10447295B2 (en) Coding method, coding device, decoding method, and decoding device
CN108733664B (zh) 一种文件归类方法及装置
CN115630402A (zh) 基于浮点数的信息隐藏方法、装置、设备以及存储介质
CN115883832A (zh) 基于人工智能的视频编码处理方法、装置、设备及介质
CN114596204A (zh) 点云的解压缩处理方法、装置、电子设备及存储介质
CN114331797A (zh) 图像数据加密方法、图像数据解密方法、装置和电子设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant