KR20190092668A - TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치 - Google Patents

TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치 Download PDF

Info

Publication number
KR20190092668A
KR20190092668A KR1020180011709A KR20180011709A KR20190092668A KR 20190092668 A KR20190092668 A KR 20190092668A KR 1020180011709 A KR1020180011709 A KR 1020180011709A KR 20180011709 A KR20180011709 A KR 20180011709A KR 20190092668 A KR20190092668 A KR 20190092668A
Authority
KR
South Korea
Prior art keywords
data
code
bit
unary
bits
Prior art date
Application number
KR1020180011709A
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 KR1020180011709A priority Critical patent/KR20190092668A/ko
Publication of KR20190092668A publication Critical patent/KR20190092668A/ko

Links

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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • 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/70Type of the data to be coded, other than image and sound
    • H03M7/705Unicode
    • 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

어떠한 임의의 이진수라도, unary universal 코드중에 하나로 반드시 시작하는데,
unary universal code는 아래 표6과 같은 형태를 갖출수 있고, 또는 unary code의 정의를 만족하는 갖춘 어떠한 unary code라도 마찬가지로 본 압축방법이 적용된다.
이제 이와 같은 압축/압축해제 알고리즘을 이용하여, 고정비트 N 비트 단위로 끊어서 압축하여 동일한 고정비트열로 압축하는 방법을 설명하고자한다.
예를들어, 80 비트의 이진데이터가 하나의 데이터 패킷 내에 있을때(N=80)
상기 unary code 로 압축연산을 시행하면, 반드시 압축결과 1비트 이상 압축(k>=1) 되므로, 아래와 같이 79 비트 이하로 압축이 되는데, TCP/IP 프로토콜의 예를들어, 통상 데이터 전송은 8의 배수 비트 단위로 만들어야 하므로, data padding 이 최하위 비트쪽으로 들어가게 된다. data padding방법은
예를들어, 압축결과가 77비트였고, 마지막 최하위 부분이 ....1010111 으로 끝났다면, 8의 배수비트중에 압축데이터와 가장 가까운 크기인 80비트를 만들기 위해,3 비트가 필요한데, 이 3비트를 unary code의 해당 비트길이를 가진 code로 대체하여 padding한다. unary-code는 unary code를 만족하는 어떠한 unary code라도 관계없이 적용가능하다.
예를들어, unary-code 1 으로 data-padding하면, 3비트의 data-padding이 필요하므로, "001" 을 압축데이터 최하위 이후에 붙여서 8의 배수 비트길이로 만들면 된다.
data-padding 은 1비트에서 8비트까지 생길수 있는데, 본 발명의 특징은 unary code의 특징에 따라 8비트에 채워지는 data-padding은, 2가지가 있게 된다. 아래 표에서 보면, 01111111 및 11111111 가 된다.
표2를 보면 원본데이터의 압축연산결과 1비트 이상 반드시 압축되어 다양한 경우의 수가 나오고 그때에 따른 데이터 압축결과의 비트수 및 압축결과를 8의 배수의 비트수로 맞추기 위한 data padding 비트 및 extra 전송가능 비트를 아래에 표시할수 있다.

Description

TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치{TCP/IP Packet data compression method and appratus based on binary compression method}
네트워크, 데이터압축, 패킷, 전송프로토콜
네트워크, 데이터압축
발명을 실시하기 위한 구체적인 내용에 상술
발명을 실시하기 위한 구체적인 내용에 상술
발명을 실시하기 위한 구체적인 내용에 상술
<unary universal code를 이용한 임의의 고정비트 이진 데이터의 압축>
N 비트의 어떠한 임의의 이진수라도, unary 코드중에 하나로 시작하는데, 예외적으로 어떤 unary code를 쓰느냐에 따라 다르지만 0으로만 채워져있거나 1로만 채워져있는 형태 또는 특수한 패턴("10"으로만 채워져있는경우)이다.
unary universal code(이하 unary code)는 정수 k을 나타내기 위해 사용하는 가장 간단한 엔트로피 부호화이다. 정수 k 의 단항코드는 (k- 1)개의 '1'과 마지막에 '0'을 연결하여 생성한다. 반대로 (k- 1)개의 '0'과 마지막에 '1'을 연결하여 현할수도 있다. 단항코드는 다른 코드에 비해 매우 간단하지만 매우 중요한 코드이다. 참고로 unary code의 상위 분류인 universal code는 정수값을 부호화하여 비트 스트림을 발생시키고 반대로 발생된 비트스트림을 복원하여 원정수값을 복원하는 코드들이다.
unary universal code는 아래 표6과 같은 형태를 갖출수 있고, 또는 unary code의 정의를 만족하는 갖춘 어떠한 unary code라도 마찬가지로 본 압축방법이 적용된다.
code-num unary code-1 unary code-2 unary code-3
1 1 0 0
2 01 10 11
3 001 110 100
4 0001 1110 1011
5 00001 11110 10100
6 000001 111110 101011
7 0000001 1111110 1010100
8 00000001 11111110 10101011
9 000000001 111111110 101010100
10 0000000001 1111111110 1010101011
11 00000000001 11111111110 10101010100
12 000000000001 111111111110 101010101011
13 0000000000001 1111111111110 1010101010100
…. …… ….
상기 표에서, code-1, code2는 순서에 code-num에 따라, 생성되는 규칙이
상기와 같이, (code-num - 1)개의 "0" 이 나타난뒤 1개의 "1"이 나타나는 경우 또는 (code-num -1 )개의 "1" 이 나타난뒤, 1개의 "0"이 나타나는 경우로 일반화되고,
, unary code-3은 code-num가 1인경우에는 "0", 2인경우에 "11" 이며, 3이상인 경우에는,
1)홀수일 경우 , 2로 나눈 몫의 수(Q)만큼 "10" 이 Q번 연속 반복된뒤, "100"을 마지막에 붙인 이진데이터를 상술한 중간해제 데이터앞에 부가하여 압축해제 한다.
2) 짝수일 경우, 2로 나눈 몫의 수(Q)만큼 "10" 이 Q번 연속 반복된뒤, "11"을 마지막에 붙인 이진데이터를 상술한 중간해제 데이터앞에 부가하여 압축해제 한다.
어떠한 unary code를 적용해서 압축을 할지는 선택의 문제이며, 1과0의 배치비율에 따라서도 선택이 가능하다.
본 발명에서는, 상기표에서 unary code-1 을 가지고 실시례를 구성코자 한다.
임의의 이진수라도 반드시 unary code의 특정 code_num에 대응하는 코드로 반드시 시작하는데 예를들어, unary-code 1의 측면에서 바라보면
00101011010111 의 경우에도, 001 / 01011010111 와 같이 001 로 시작함을 알수있고, 11010101 의 경우에도 1/ 1010101 과 같이 1로 시작함을 알수있다.
unary-code 2의 측면에서 바라보면
00101011010111 의 경우, 0 / 0101011010111 과 같이 0 으로 시작하고,
11010101 의 경우에도, 110 / 10101 과 같이 110 으로 시작함을 알수있다.
이제 이러한 방식을 이용한 데이터의 압축을 설명하겠다.
N 비트의 임의의 이진수에 있어서,
예를들어, 80비트의 임의의 이진수에 있어서, unary-code 1 로 압축할 경우
0011011101010101.. ==> 001 / 1011101010101.. 으로 code-num 3에 해당하는 "001"로 시작함을 알수 있으므로, 이 unary-code를 삭제함으로서 code-num 에 해당하는 비트수만큼 압축된다.
즉, 0011011101010101.. ==> 1011101010101.. 로 N-3 비트 압축된다.
반대로 압축해제시에는, 원본데이터가 N 비트였다는 것을 알고있고 unary code 1을 적용했다는것을 알고있다면,
N-3 비트의 압축데이터와 3비트 차이이므로, unary-code 1의 code-num 3에 해당하는 "001"을 단순히 최상위 위치에 부가하는 것만으로도 압축이 해제된다.
<패킷단위 데이터 전송에 활용한 압축전송 및 압축해제 방법>
이제 이와 같은 압축/압축해제 알고리즘을 이용하여, 고정비트 N 비트 단위로 끊어서 압축하여 동일한 고정비트열로 압축하는 방법을 설명하고자한다.
예를들어, 80 비트의 이진데이터가 하나의 데이터 패킷 내에 있을때(N=80)
상기 unary code 로 압축연산을 시행하면, 압축결과 반드시 1비트 이상 압축(k>=1) 되며,
그러나 N 비트의 임의의 원본데이터 중에서(N은 짝수, 패킷전송은 바이트 단위로 전송되므로 8의배수 비트에만 관심이 있음)의 경우, unary-code 1 의 경우 0으로만 이루어져있거나 , unary code 2의 경우 1로만 이루어져 있거나, unary code 3의 경우 "10"으로만 이루어져있는 경우(왜냐하면 N이 짝수이기때문에)에는, unary code의 어떠한 code- num에도 대응이 되지 않아서, 압축이 되지 않는 경우에 는 후술하겠으나, data-padding만으로 이러한 경우를 표현할수 있기 때문에 data-padding만 압축데이터로서 최종전송하게 된다.
표2를 보면 원본데이터의 압축연산결과 1비트 이상 반드시 압축되어 다양한 경우의 수가 나오고 그때에 따른 데이터 압축결과의 비트수 및 압축결과를 8의 배수의 비트수로 맞추기 위한 요소로소 data padding 비트를 부가해야하며, 및 extra 전송가능 비트 추가로 부가할 수 있으며 아래에 표시하였다.
단위패킷내의데이터 원본 data(N) 압축이득 (k) 경우의 수 data 압축결과(n) extra 전송가능 비트(=floor(k/9)) data padding(unary code) bit data padding example 1패킷내의최종압축데이터 크기(n)
80 1 79 0 1 0 80
80 2 78 0 2 01 80
80 3 77 0 3 011 80
80 4 76 0 4 0111 80
80 5 75 0 5 01111 80
80 6 74 0 6 011111 80
80 7 73 0 7 0111111 80
80 8 72 0 8 01111111 80
80 9 71 1 8 11111111 80
80 10 70 1 1 0 72
80 11 69 1 2 01 72
80 12 68 1 3 011 72
80 13 67 1 4 0111 72
80 14 66 1 5 01111 72
80 15 65 1 6 011111 72
80 16 64 1 7 0111111 72
80 17 63 1 8 01111111 72
80 18 62 2 8 11111111 72
80 19 61 2 1 0 64
80 20 60 2 2 01 64
80 21 59 2 3 011 64
80 22 58 2 4 0111 64
80 23 57 2 5 01111 64
80 24 56 2 6 011111 64
80 25 55 2 7 0111111 64
80 26 54 2 8 01111111 64
80 27 53 3 8 11111111 64
data padding 은, 압축된 비트수 k 를 9로 나누었을때 나머지에 따라,
1~ 8 의 값일경우 상기 표2의 data padding 0, 01, 011, 0111, 01111, 011111, 0111111, 01111111
을 따르고, k 가 9의 배수의 경우, 11111111 을 따른다 . 한편 data padding 은 unary-code이므로,
unary-code를 만족하는 그 어떤 unary universal code도 data padding으로 사용이 가능하며, 단 압축해제시 data padding을 분리해내기 위해서는 해독방향은 최하위로부터 최상위 방향으로 해독한다.
발명에서 중요한점은 , 8비트짜리 data padding 이 2가지가 있음으로 해서, exatr 전송가능한 비트가 계속 생긴다는 점이다.
예를들어, 80비트의 원본데이터를 9비트 압축하면, 71 비트이며, 상기 표2에서 보면, padding을 8비트짜리를 사용할 경우, 1비트가 더 필요한데, 이때 1비트에다가는 추가로 더 전송하고픈 비트를 담아서 전송하면 된다.
아래 그림이 위의 과정을 도식화한것이다. 아래 그림에서 k 비트 압축이 원본데이터의 최하위로부터 압축된것처럼 보인것은 크기 변화를 설명하기 위하여 편의상 표시한것이며 실제 압축은 원본데이터의 최상위 비트로부터 최하위 비트 방향으로 unary code를 찾게 되면 이루어지게 된다.
Figure pat00001
이와 같은 extra 전송가능 비트(e)가 몇비트가 되어야 할지를 계산하기 위하여는,
e = floor(k / 9) 으로 계산된다. floor는 바닥함수로서,floor(x) 는 x와 같거나 그보다 작은 정수 가운데 가장 큰 정수를 반환한다.
<예외처리>
그러나 N 비트의 임의의 원본데이터 중에서(N은 짝수, 패킷전송은 바이트 단위로 전송되므로 8의배수 비트에만 관심이 있음)의 경우, unary-code 1 의 경우 0으로만 이루 어져있거나 , unary code 2의 경우 1로만 이루어져 있거나, unary code 3의 경우 "10"으로만 이루어져있는 경우(왜냐하면 N이 짝수이기때문에)에는, unary code의 어떠한 code- num에도 대응이 되지 않아서, 압축이 되지 않는다. 이 경우에는, 8비트의 data padding 인 " 11111111" 만을 부가하여, 8비트로서 압축데이터를 생성하여 압축패킷으로 하여 전달하고, 압축해제측에서는 , 압축된 패킷의 크기가 1바이트(8비트)이고, 별도의 압축데이터가 없는 상태(즉 압축데이터에 data padding만 존재하는 상태)에서는, 상기 상기 예외에 해당하는 상태임을 압축해제기가 인식하여, 자동적으로 압축에 사용하기로한 unary code의 type에 따라, unary code 1의 경우, 0으로만 이루어진 N비트로 복구하고, unary code 2 의 경우 1로만 이루어진 N비트로 복구하고, unary code- 3 의 경우 10으로만 이루어진 N비트로 복구한다.
압축해제시에는, 표2의 역순으로 적용하는데,
1) 압축패킷의 데이터가 n 비트일때 , 최하위에 붙어있는 data padding 은 unary code이므로 구분지어낼 수 있고, 이어 data padding앞에 e 비트를 extra 전송데이터로써 분리해 낼 수 있다.
몇비트의 extra 전송데이터를 분리할지는, 압축패킷의 데이터 사이즈 그 자체(n) 및 원래 몇비트였는지 (N) 을 이용하여 알수있다 . 일반화하면, m = (N-n)/ 8 을 이용하여 계산하고, data paddding 이 "11111111" 인 경우 , e = m+ 1 이고 , 그 외의 경우에는 e = m 이다.
2) 한편, 이렇게 압축 패킷의 데이터 n 비트로부터 data padding (p bit)및 extra 전송데이터(e bit) 를 분리한 데이터가 만약 71비트 였다면 (=n-p-e), 원본데이터가 N=80이란 였다는 것을 알기에, 9비트(=N-(n-p-e))가 압축된것을 압축데이터의 크기로 알수 있으므로, k=9 임을 알수 있고, 임의의 이진수 압축방법의 해제방법에 따라 code- num 9 에 ,해당하는 unary- code 를 부가하여 압축해제 한다.
일반화하면,
data padding size 가 p 비트였고, extra 전송비트가 e 일때,
k = N-(n-p- e) 이고 , 이를 최종압축해제 하기 위해서는 code- num k 에 해당하는 unary code를 이 데이터 최상위비트 앞에 부가하여 압축해제한다.
예로서, 표2에서 18비트가 압축된, 경우, 즉 N=80인데, 18비트짜리 unary-code가 존재하여 18비트가 압축된 경우, 62비트가 되는데, 이때 data padding 은 18비트가 감소했으므로, k=18이고 이는, 9의 배수이므로, data padding으로써, 11111111 이라는 8비트를 채워넣어야 하고, 그 경우에도,
extra 전송가능비트 e를 구하기 위해 e=floor(k/9)=floor(18/9)=2 이므로, 2비트의 extra 전송데이터를 추가로 더 data padding 앞쪽으로 채워서 전송이 가능하다. 18비트 압축시에는, 8비트 및 2비트 합한 10비트의 압축의 이득을 볼 수 있게 된다. 아래 그림에서 k 비트 압축이 원본데이터의 최하위로부터 압축된것처럼 보인것은 크기 변화를 설명하기 위하여 편의상 표시한것이며 실제 압축은 원본데이터의 최상위 비트로부터 최하위 비트 방향으로 unary code를 찾게 되면 이루어지게 된다.
Figure pat00002
표2에서 보다시피, 압축데이터 비트수가 1비트~ 8비트까지는 동일한 패킷에서 8의 배수 비트 규칙을 만들기 위해 동일한 비트수의 data padding을 추가해주어야 하는데, 따라서 압축의 효과를 누릴수 없으나, 9비트 압축시에는, data padding 을 동일한 8비트의 "11111111"으로 적용할수가 있으므로, 8의 배수를 만들기 위해서 1비트를 추가로 더 활용할수 있어서 1비트 압축의 효과가 처음으로 발생한다.
아래 표3은 상기 패킷 압축 규칙에 따라 N=80비트의 데이터에 대한 모든 경우의 수를 나타낸 표이다. 특히 맨 마지막 열에 보면, data padding "11111111" 만 존재하는 경우에는 원본데이터 N비트가 어떠한 unary code 에도 해당하지 않는 0 으로만 이루어져있거나 1로만 이루어져있거나 , 10으로만 이루어져있는 경우로서,
수신측에서는 데이터 영역에 data padding( 11111111 )만 존재하는 패킷을 받으면,자동적으로 unary code의 사용된 type에 따라 0으로만 이루어져있거나 , 1로만 이루어져있거나 10으로만 이루어져있는 형태로 압축해제한다. 따라서 본 발명에서 N 이 어떠한 크기더라도 가장 작은 압축데이터 size는 n=8비트이다.
단위패킷내의데이터 원본 data(N) 압축이득 (k) 경우의 수 data 압축결과(n) extra 전송가능 비트
(=floor(k/9) ,압축시)
data padding(unary code) data padding example 1패킷내의최종압축데이터 크기(n)
80 1 79 0 1 0 80
80 2 78 0 2 01 80
80 3 77 0 3 011 80
80 4 76 0 4 0111 80
80 5 75 0 5 01111 80
80 6 74 0 6 011111 80
80 7 73 0 7 0111111 80
80 8 72 0 8 01111111 80
80 9 71 1 8 11111111 80
80 10 70 1 1 0 72
80 11 69 1 2 01 72
80 12 68 1 3 011 72
80 13 67 1 4 0111 72
80 14 66 1 5 01111 72
80 15 65 1 6 011111 72
80 16 64 1 7 0111111 72
80 17 63 1 8 01111111 72
80 18 62 2 8 11111111 72
80 19 61 2 1 0 64
80 20 60 2 2 01 64
80 21 59 2 3 011 64
80 22 58 2 4 0111 64
80 23 57 2 5 01111 64
80 24 56 2 6 011111 64
80 25 55 2 7 0111111 64
80 26 54 2 8 01111111 64
80 27 53 3 8 11111111 64
80 28 52 3 1 0 56
80 29 51 3 2 01 56
80 30 50 3 3 011 56
80 31 49 3 4 0111 56
80 32 48 3 5 01111 56
80 33 47 3 6 011111 56
80 34 46 3 7 0111111 56
80 35 45 3 8 01111111 56
80 36 44 4 8 11111111 56
80 37 43 4 1 0 48
80 38 42 4 2 01 48
80 39 41 4 3 011 48
80 40 40 4 4 0111 48
80 41 39 4 5 01111 48
80 42 38 4 6 011111 48
80 43 37 4 7 0111111 48
80 44 36 4 8 01111111 48
80 45 35 5 8 11111111 48
80 46 34 5 1 0 40
80 47 33 5 2 01 40
80 48 32 5 3 011 40
80 49 31 5 4 0111 40
80 50 30 5 5 01111 40
80 51 29 5 6 011111 40
80 52 28 5 7 0111111 40
80 53 27 5 8 01111111 40
80 54 26 6 8 11111111 40
80 55 25 6 1 0 32
80 56 24 6 2 01 32
80 57 23 6 3 011 32
80 58 22 6 4 0111 32
80 59 21 6 5 01111 32
80 60 20 6 6 011111 32
80 61 19 6 7 0111111 32
80 62 18 6 8 01111111 32
80 63 17 7 8 11111111 32
80 64 16 7 1 0 24
80 65 15 7 2 01 24
80 66 14 7 3 011 24
80 67 13 7 4 0111 24
80 68 12 7 5 01111 24
80 69 11 7 6 011111 24
80 70 10 7 7 0111111 24
80 71 9 7 8 01111111 24
80 72 8 8 8 11111111 24
80 73 7 8 1 0 16
80 74 6 8 2 01 16
80 75 5 8 3 011 16
80 76 4 8 4 0111 16
80 77 3 8 5 01111 16
80 78 2 8 6 011111 16
80 79 1 8 7 0111111 16
80 80 0 8 8 01111111 16
80 0 0 0 8 11111111 8
압축해제를 위해서는 상술한, 압축데이터 패킷으로부터 data padding을 분리해내는데, data padding은 reversed direction이므로, 최하위에서 최상위 방향으로 올라가면서, 상기 예에서는 처음으로 0 을만날때에 분리되며, 8비트를 올라가도 0 을 못만나면 "11111111"을 만난것이므로 이때 또한 data padding으로서 분리되고 이 data padding의 pattern 및 패킷에 전송되어 넘어 온 압축데이터 사이즈(n)에 따라, extra 추가전송 데이터의 비트사이즈를 알수있다.
즉 원본데이터 N 비트일때, 압축데이터 사이즈가 n 으로 패킷에 담겨져 려오면, m = (N-n)/8로 계산되며,
data padding을 먼저 분리를 해낸뒤, da ta paddding 이 "11111111" 경우 , m+1 비트에 해당하는 값이 바로 extra 전송데이터 사이즈(e=m+1)라는 것을 알수있다 . 한편 data padding이 그 외의 경우에는 m 비트에 해당하는 값이 바로 extra 송데이터 사이즈(e=m)이므로, extra 전송데이터를 추려내어 복원하고, 이때 data padding size 가 p 비트라면, data padding과 extra 전송데이터를 추려내고 남은 데이터 사이즈와 N 비트와의 차이에 해당하는 값이 code- num 이고, code- num(사실상 이것이 k 이다. k= N- (n-p-e))에 해당하는 unary universal code를 최상위 방향 로 남은 데이터 부가하여 원본데이터 N비트를 추가로 복원한다.
아래 표9는 실질압축효과까지는 고려한 80비트 데이터에 대한 전체 요약표이다.
단위패킷내의데이터 원본 data(N) 압축이득 (k) 경우의 수 data 압축결과(n) extra 전송가능 비트 data padding(unary code) data padding example 1패킷내의최종압축데이터 크기(n) 실질압축효과
80 1 79 0 1 0 80 0
80 2 78 0 2 01 80 0
80 3 77 0 3 011 80 0
80 4 76 0 4 0111 80 0
80 5 75 0 5 01111 80 0
80 6 74 0 6 011111 80 0
80 7 73 0 7 0111111 80 0
80 8 72 0 8 01111111 80 0
80 9 71 1 8 11111111 80 1
80 10 70 1 1 0 72 9
80 11 69 1 2 01 72 9
80 12 68 1 3 011 72 9
80 13 67 1 4 0111 72 9
80 14 66 1 5 01111 72 9
80 15 65 1 6 011111 72 9
80 16 64 1 7 0111111 72 9
80 17 63 1 8 01111111 72 9
80 18 62 2 8 11111111 72 10
80 19 61 2 1 0 64 18
80 20 60 2 2 01 64 18
80 21 59 2 3 011 64 18
80 22 58 2 4 0111 64 18
80 23 57 2 5 01111 64 18
80 24 56 2 6 011111 64 18
80 25 55 2 7 0111111 64 18
80 26 54 2 8 01111111 64 18
80 27 53 3 8 11111111 64 19
80 28 52 3 1 0 56 27
80 29 51 3 2 01 56 27
80 30 50 3 3 011 56 27
80 31 49 3 4 0111 56 27
80 32 48 3 5 01111 56 27
80 33 47 3 6 011111 56 27
80 34 46 3 7 0111111 56 27
80 35 45 3 8 01111111 56 27
80 36 44 4 8 11111111 56 28
80 37 43 4 1 0 48 36
80 38 42 4 2 01 48 36
80 39 41 4 3 011 48 36
80 40 40 4 4 0111 48 36
80 41 39 4 5 01111 48 36
80 42 38 4 6 011111 48 36
80 43 37 4 7 0111111 48 36
80 44 36 4 8 01111111 48 36
80 45 35 5 8 11111111 48 37
80 46 34 5 1 0 40 45
80 47 33 5 2 01 40 45
80 48 32 5 3 011 40 45
80 49 31 5 4 0111 40 45
80 50 30 5 5 01111 40 45
80 51 29 5 6 011111 40 45
80 52 28 5 7 0111111 40 45
80 53 27 5 8 01111111 40 45
80 54 26 6 8 11111111 40 46
80 55 25 6 1 0 32 54
80 56 24 6 2 01 32 54
80 57 23 6 3 011 32 54
80 58 22 6 4 0111 32 54
80 59 21 6 5 01111 32 54
80 60 20 6 6 011111 32 54
80 61 19 6 7 0111111 32 54
80 62 18 6 8 01111111 32 54
80 63 17 7 8 11111111 32 55
80 64 16 7 1 0 24 63
80 65 15 7 2 01 24 63
80 66 14 7 3 011 24 63
80 67 13 7 4 0111 24 63
80 68 12 7 5 01111 24 63
80 69 11 7 6 011111 24 63
80 70 10 7 7 0111111 24 63
80 71 9 7 8 01111111 24 63
80 72 8 8 8 11111111 24 64
80 73 7 8 1 0 16 72
80 74 6 8 2 01 16 72
80 75 5 8 3 011 16 72
80 76 4 8 4 0111 16 72
80 77 3 8 5 01111 16 72
80 78 2 8 6 011111 16 72
80 79 1 8 7 0111111 16 72
80 80 0 8 8 01111111 16 72
80 80 0 0 0 11111111 8
아래 표는 N=160비트일때로 확장한 데이터를 전체 일람표로 첨부하였다.
단위패킷내의데이터 원본 data(N) 압축이득 (k) 경우의 수 data 압축결과(n) extra 전송가능 비트 data padding(unary code) data padding example 1패킷내의최종압축데이터 크기(n)
160 1 159 0 1 0 160
160 2 158 0 2 01 160
160 3 157 0 3 011 160
160 4 156 0 4 0111 160
160 5 155 0 5 01111 160
160 6 154 0 6 011111 160
160 7 153 0 7 0111111 160
160 8 152 0 8 01111111 160
160 9 151 1 8 11111111 160
160 10 150 1 1 0 152
160 11 149 1 2 01 152
160 12 148 1 3 011 152
160 13 147 1 4 0111 152
160 14 146 1 5 01111 152
160 15 145 1 6 011111 152
160 16 144 1 7 0111111 152
160 17 143 1 8 01111111 152
160 18 142 2 8 11111111 152
160 19 141 2 1 0 144
160 20 140 2 2 01 144
160 21 139 2 3 011 144
160 22 138 2 4 0111 144
160 23 137 2 5 01111 144
160 24 136 2 6 011111 144
160 25 135 2 7 0111111 144
160 26 134 2 8 01111111 144
160 27 133 3 8 11111111 144
160 28 132 3 1 0 136
160 29 131 3 2 01 136
160 30 130 3 3 011 136
160 31 129 3 4 0111 136
160 32 128 3 5 01111 136
160 33 127 3 6 011111 136
160 34 126 3 7 0111111 136
160 35 125 3 8 01111111 136
160 36 124 4 8 11111111 136
160 37 123 4 1 0 128
160 38 122 4 2 01 128
160 39 121 4 3 011 128
160 40 120 4 4 0111 128
160 41 119 4 5 01111 128
160 42 118 4 6 011111 128
160 43 117 4 7 0111111 128
160 44 116 4 8 01111111 128
160 45 115 5 8 11111111 128
160 46 114 5 1 0 120
160 47 113 5 2 01 120
160 48 112 5 3 011 120
160 49 111 5 4 0111 120
160 50 110 5 5 01111 120
160 51 109 5 6 011111 120
160 52 108 5 7 0111111 120
160 53 107 5 8 01111111 120
160 54 106 6 8 11111111 120
160 55 105 6 1 0 112
160 56 104 6 2 01 112
160 57 103 6 3 011 112
160 58 102 6 4 0111 112
160 59 101 6 5 01111 112
160 60 100 6 6 011111 112
160 61 99 6 7 0111111 112
160 62 98 6 8 01111111 112
160 63 97 7 8 11111111 112
160 64 96 7 1 0 104
160 65 95 7 2 01 104
160 66 94 7 3 011 104
160 67 93 7 4 0111 104
160 68 92 7 5 01111 104
160 69 91 7 6 011111 104
160 70 90 7 7 0111111 104
160 71 89 7 8 01111111 104
160 72 88 8 8 11111111 104
160 73 87 8 1 0 96
160 74 86 8 2 01 96
160 75 85 8 3 011 96
160 76 84 8 4 0111 96
160 77 83 8 5 01111 96
160 78 82 8 6 011111 96
160 79 81 8 7 0111111 96
160 80 80 8 8 01111111 96
160 81 79 9 8 11111111 96
160 82 78 9 1 0 88
160 83 77 9 2 01 88
160 84 76 9 3 011 88
160 85 75 9 4 0111 88
160 86 74 9 5 01111 88
160 87 73 9 6 011111 88
160 88 72 9 7 0111111 88
160 89 71 9 8 01111111 88
160 90 70 10 8 11111111 88
160 91 69 10 1 0 80
160 92 68 10 2 01 80
160 93 67 10 3 011 80
160 94 66 10 4 0111 80
160 95 65 10 5 01111 80
160 96 64 10 6 011111 80
160 97 63 10 7 0111111 80
160 98 62 10 8 01111111 80
160 99 61 11 8 11111111 80
160 100 60 11 1 0 72
160 101 59 11 2 01 72
160 102 58 11 3 011 72
160 103 57 11 4 0111 72
160 104 56 11 5 01111 72
160 105 55 11 6 011111 72
160 106 54 11 7 0111111 72
160 107 53 11 8 01111111 72
160 108 52 12 8 11111111 72
160 109 51 12 1 0 64
160 110 50 12 2 01 64
160 111 49 12 3 011 64
160 112 48 12 4 0111 64
160 113 47 12 5 01111 64
160 114 46 12 6 011111 64
160 115 45 12 7 0111111 64
160 116 44 12 8 01111111 64
160 117 43 13 8 11111111 64
160 118 42 13 1 0 56
160 119 41 13 2 01 56
160 120 40 13 3 011 56
160 121 39 13 4 0111 56
160 122 38 13 5 01111 56
160 123 37 13 6 011111 56
160 124 36 13 7 0111111 56
160 125 35 13 8 01111111 56
160 126 34 14 8 11111111 56
160 127 33 14 1 0 48
160 128 32 14 2 01 48
160 129 31 14 3 011 48
160 130 30 14 4 0111 48
160 131 29 14 5 01111 48
160 132 28 14 6 011111 48
160 133 27 14 7 0111111 48
160 134 26 14 8 01111111 48
160 135 25 15 8 11111111 48
160 136 24 15 1 0 40
160 137 23 15 2 01 40
160 138 22 15 3 011 40
160 139 21 15 4 0111 40
160 140 20 15 5 01111 40
160 141 19 15 6 011111 40
160 142 18 15 7 0111111 40
160 143 17 15 8 01111111 40
160 144 16 16 8 11111111 40
160 145 15 16 1 0 32
160 146 14 16 2 01 32
160 147 13 16 3 011 32
160 148 12 16 4 0111 32
160 149 11 16 5 01111 32
160 150 10 16 6 011111 32
160 151 9 16 7 0111111 32
160 152 8 16 8 01111111 32
160 153 7 17 8 11111111 32
160 154 6 17 1 0 24
160 155 5 17 2 01 24
160 156 4 17 3 011 24
160 157 3 17 4 0111 24
160 158 2 17 5 01111 24
160 159 1 17 6 011111 24
160 160 0 17 7 0111111 24
        8 01111111 미사용
160 160 0 0 8 11111111 8

Claims (1)

  1. 국내우선권주장을 위한 선출원으로서 별도의 청구범위를 기재하지 아니함.
KR1020180011709A 2018-01-31 2018-01-31 TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치 KR20190092668A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180011709A KR20190092668A (ko) 2018-01-31 2018-01-31 TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180011709A KR20190092668A (ko) 2018-01-31 2018-01-31 TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20190092668A true KR20190092668A (ko) 2019-08-08

Family

ID=67613072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180011709A KR20190092668A (ko) 2018-01-31 2018-01-31 TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20190092668A (ko)

Similar Documents

Publication Publication Date Title
KR101737294B1 (ko) 심볼 압축을 수반하는 데이터의 소스 코딩 및 디코딩을 위한 방법들 및 디바이스들
KR101610609B1 (ko) 데이터 인코더, 데이터 디코더 및 방법
US6100824A (en) System and method for data compression
JP5602440B2 (ja) ビットシーケンスを符号化するための方法及び装置
EP3108583B1 (en) Devices and methods of source-encoding and decoding of data
US20130321181A1 (en) Compressing and decompressing signal data
JP2012502573A (ja) プリフィックス‐サフィックス符号をロスレス圧縮する方法、圧縮されたプリフィックス‐サフィックス符号内に符号化された整数またはシンボルを表すビットシーケンスを圧縮解除する方法、および、圧縮されたプリフィックス‐サフィックス符号を担持する記憶媒体または信号
EP2962398A1 (en) Encoder, decoder and method
JP2016512004A5 (ko)
EP3461307B1 (en) Digital data compression
RU2611249C1 (ru) Модификатор энтропии и способ его использования
Khandwani et al. A survey of lossless image compression techniques
US10116328B2 (en) Encoders, decoders and methods utilizing mode symbols
US10212421B2 (en) Method and device for digital data compression with sign bit removal
KR20190092668A (ko) TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치
KR101667989B1 (ko) 입력 비트 시퀀스를 인코딩하는 방법과 디바이스 및 대응하는 디코딩 방법 및 디바이스
KR20190096772A (ko) UDP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치
KR100636370B1 (ko) 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법
KR20190091890A (ko) TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치
KR101791877B1 (ko) 유티에프-8 코드 문자의 압축 방법 및 장치
KR20150093060A (ko) 이진 데이터의 압축 및 복원 방법과 장치
KR20190097347A (ko) UDP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치
KR20190091586A (ko) TCP/IP 패킷에 있어서 고정비트 길이 이진데이터의 Octet 규격사이즈 압축을 위한 패킷 데이터 압축 방법 및 그 장치
KR100997870B1 (ko) 데이터 인코딩 및 디코딩 방법, 데이터 전송 방법, 송신기 및 수신기
JP3359937B2 (ja) 符号化画像データのデータ量削減方法