KR20170055627A - 중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치 - Google Patents

중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치

Info

Publication number
KR20170055627A
KR20170055627A KR1020150158512A KR20150158512A KR20170055627A KR 20170055627 A KR20170055627 A KR 20170055627A KR 1020150158512 A KR1020150158512 A KR 1020150158512A KR 20150158512 A KR20150158512 A KR 20150158512A KR 20170055627 A KR20170055627 A KR 20170055627A
Authority
KR
South Korea
Prior art keywords
universal code
universal
code
group
order
Prior art date
Application number
KR1020150158512A
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 KR1020150158512A priority Critical patent/KR20170055627A/ko
Publication of KR20170055627A publication Critical patent/KR20170055627A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 임의의 자연수에 대하여 연산을 통해 유니버설 코드를 생성하고 빠르게 복호화할 수 있는 방법을 제공함으로써, 본 발명을 이용하여, 이진스트리밍 데이터에 있어서, 별도의 사전정보가 필요없이 간단한 연산을 통해 매우 효과적으로 실시간 압축 및 실시간 압축해제가 가능하여 다양한 멀티미디어 데이터의 전송을 획기적으로 효율화 시킬 수 있다.

Description

중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치{REPETITIVE FORMULARIZED ERROR-PROOF REAL TIME UNIVERSAL CODE ENCODING AND DECODING METHOD AND APPRATUS THEREOF }
데이터 압축전송과 관련된 유니버설 코드 기술분야
유니버설 코드, 이진데이터 압축전송, 실시간 데이터 전송
발명을 실시하기 위한 구체적인 내용에 상술
발명을 실시하기 위한 구체적인 내용에 상술
발명을 실시하기 위한 구체적인 내용에 상술
임의의 자연수에 대하여 부호화기에서 유일복호성을 만족시킬수 있는 유니버설 코드를 생성하여 전송하고,이에 대응하여 복호화기에서 해당 유니버설 코드로부터 원본의 정수 또는 자연수를 복호화할 수 있는데, 이러한 것을 가능하게 하는것이 유니버설 코드이다. 유니버설 코드는 여러종류가 있는데 본 발명에서는 에러에도 강하고, 부호화와 복호화시에 연산을 통해 빠르게 변환가능한 점이 있다.
먼저 표1에 본 발명의 유니버설 코드를 순차적으로 생성한 결과를 보인다.
본 유니버설 코드는 일종의 군수열의 연속적인 형태인데,
"10"으로 시작하여, "100", "1000", "10000","100000", ... 등과 같이, "1" + N개의 "0"으로 구성된 이진수가 각 N군의 첫번째 유니버설 코드이며, 각 N군에 있어서, 각 N군내에는, "1" + N개의 "0"으로 구성된 이진수 외도 추가로 N-1개의 유니버설 코드의 집합으로 구성되는데, 생성방법은 각각 "1"+N개의 "0"으로 구성된 이진수에 있어서, 최하위 비트부터 차례대로 "1"을 채워가면서 1개씩 유니버설 코드를 각각 생성하여, N-1개가 생성될때까지 생성되는 유니버설 코드 각각이 순차적으로 N군의 유니버설 코드의 집합의 원소가 된다.
순번 유니버설코드
1 10 1
2 100 2
3 101 2
4 1000 3
5 1001 3
6 1011 3
7 10000 4
8 10001 4
9 10011 4
10 10111 4
11 100000 5
12 100001 5
13 100011 5
14 100111 5
15 101111 5
16 1000000 6
17 1000001 6
18 1000011 6
19 1000111 6
20 1001111 6
21 1011111 6
22 10000000 7
23 10000001 7
24 10000011 7
25 10000111 7
26 10001111 7
27 10011111 7
28 10111111 7
29 100000000 8
예를들어, 제 5군의 경우에 N=5이므로, 1개의 "1" 에 이어서, 5개의 "0"으로 이루어진 "100000" 이 제5군의 첫번째 유니버설 코드이며, 이어서, N-1개(=5-1=4개)의 유니버설 코드가 추가로 이 군에 속하는데, 차례대로 정리하면,
"100000" 에 있어서, 최하위 비트에서부터 차례대로 "1"을 채워나가면서 4개의 유니버설 코드를 생성하면 된다.
즉 "100001", "100011", "100111", "101111" 이다.
따라서 제 5군의 경우에는 상기 표1에서 보듯이,
"100000", "100001", "100011", "100111", "101111" 이렇게 5개의 유니버설 코드가 순차적으로 생성되게 된다.
한편, 제1군의 경우, N=1 이므로, 1개의 "1"에 이어서 1개의 "0"으로 이루어진 "10" 이 제1군의 첫번째 유니버설 코드이고, 이어서 N-1개의 유니버설 코드를 추가하는데, N-1은 1군의 경우 0 이므로, 1군의 경우에는, "10"만이 1군에 속하는 유니버설 코드가 된다.
상기 표1을 무한히 확장하면서, 유일복호성이 있는 유니버설 코드를 생성할 수 있다.
한편 특정한 순번 M 이 표1에서 어떤 유니버설 코드로 매핑될지에 대한 빠른 계산을 위해서 다음과 같은 연산을 수행할 수 있다.
첫번째로,특정 순번 M 이 제 몇군에 속할지를 계산해야 하는데,
K 군에 속한다고 한다면, 아래와 같은 부등식을 만족시키게 된다.
즉, 1 군부터 K-1군까지 각각 1,2,3,...K-1개의 원소들이 있는데, 특정순번이 K군에 속하기 위해서는 이 원소들의 갯수의 합보다는 크고, K군까지의 원소들의 갯수의 합이하여야만 하기 때문이다.
1+2+3+4+.....+(K-1) < M <= 1+2+3+4+....+(K-1)+K ---- (수식1)
상기 수식1 은 부등식으로서 특정 M 에대하여 2개의 부등식을 동시에 만족시키는 K의 범위를 계산하기 위해서, 아래와 같이 두개의 부등식으로 분리한뒤,
1+2+3+4+.....+(K-1) < M ----(수식2)
M <= 1+2+3+4+....+(K-1)+K ----(수식3)
(수식2)의 경우, 1+2+3+4+...(K-1) 의 경우 d=1 인, 등차수열이므로, 아래와 같이 표현가능하고,
Figure pat00001

(수식3)의 경우에는, 1+2+3+4+....+(K-1)+K 역시 d=1인 등차수열이므로, 아래와 같이 표현이 가능하다.
Figure pat00002

(수식2)와 (수식3)을 연립하면 2차 연립부등식이 되므로, 특정 M에 대한 두 수식의 범위를 만족하는 K 의 범위가 M이 변수인 형태로 계산된다.
(수식2)의 경우에 상기 부등식을 이어서 풀어보면,
K2-K < 2M <==> K2-K-2M < 0
이고 근의 공식에 따라, 인수분해하면, 아래와 같다.
Figure pat00003
이제, 상기 부등식을 풀면, 아래 수식4와 같다.
(수식4)
Figure pat00004

한편 (수식3)의 경우에
2M <= K2 + K 로 변형된뒤, K2+K-2M >=0 으로 변형된후,
역시 근의 공식을 이용하여 인수분해하면, 아래와 같고,
Figure pat00005
이 부등식을 풀면, 아래와 같고, 아래를 (수식5)라고 하자
Figure pat00006

상기 특정 M에 대하여 상기 (수식 4) 및 (수식 5)를 동시에 만족시키는 자연수인 K를 특정할 수 있게 되면, 특정 M에 대해서 K군에 속함을 알수 있다.
특정 K군에 속하는 것을 알게되면, 몇번째 원소의 유니버설 코드임을 정해야 하는데, 바로 K-1군까지의 모든 원소의 합(=1+2+3+4+...K-1) 인
Figure pat00007
과 M 의 차이가 특정 M의 K군에서의 몇번째 원소가 M에 대응될지를 결정해주게 된다.
제 K 군 X번째 원소에 대응하는지를 알기 위한 X는 아래와 같이 계산되고,
Figure pat00008

구체적인 대응되는 유니버설코드를 생성하기 위해서,
"1"로 시작하고 K 개의 "0"으로 이루어진 이진수를 생성한뒤 , 이 이진수에 대하여 최하위 비트포함하여 상위 비트방향으로 연속된 X-1 개의 비트 를 "1"로 채운 이진수가 바로 M 순번에 대응하는 최종적인 유니버설 코드다.
한가지 예를들면, M=400이라고 할때, 제400순번에 대응되는 유니버설 코드를 찾아보도록 하자. M=400이 제 몇군에 속하는지를 우선 계산하려면, 상기 수식4, 수식5에 따른 K의 범위를 통해서 자연수 K를 특정해야한다.
M=400일때,
수식4에 따르면, K의 범위는 소수점 이하 넷째자리에서 버리면, 아래와 같다. -27.7887 < K < 28.7886, 이때 K가 자연수이므로, K는 1부터 28까지의 자연수이다.
한편, 수식5에 따르면, K<=-28.7887 or K >= 27.7886 이다
K가 자연수이므로, K는 28이상의 자연수이다.
수식4와 수식5를 동시에 만족시키는 K의 값은 28이다. 즉 M=400 순번은 28군에 속하게 됨을 알수있다.
이제 제 28군의 몇번째의 원소에 속하는 유니버설 코드를 매핑할지를 결정하면 되는데, K가 정해졌으므로, 1부터 K-1까지의 각 군의 원소의 갯수의 합과 M의 차이에 해당하는 값이 바로 몇번째 원소를 취할지를 알려준다.
1+2+3+....+(28-1) = 378 이고, M=400 이므로 그 차이는 22 이다.
즉 28군의 22번째 원소에 속하는 유니버설 코드를 매핑하면 되는데,
28군의 첫번째 원소는 "1" 로 시작해서, 28개의 "0" 이 이어진 이진수
"10000000000000000000000000000" 인데, 22번째 원소는 최하위 비트에서 부터 "1"을 21번 순차적으로 채워진 이진수인 아래의 유니버설 코드를 할당할 수 있음을 알 수 있다.
10000000111111111111111111111
이때, 28군의 첫번째 원소는 "1" 로 시작해서, 28개의 "0" 이 이어진 이진수
"10000000000000000000000000000" 가 있기 때문에, 21번째 "1"을 채워놓은 이진수가 바로 22번째 유니버설 코드가 됨을 주의하자.
또 다른 예로서 M=1000일 경우에는,
(수식4)에 따라, -44.22 < K < 45.22 이고, (수식5)에 따라 K >=44.22 또는 K <=-45.22 인데 K는 자연수이므로, 이를 만족하는 K=45로 특정된다.
따라서 M=1000은 제 45군에 속하고,
제45군의 몇번째 원소에 속하는지를 특정하기 위한
X = 1000 - (1+2+3+4+...+44) = 1000- 990 = 10 이다.
즉 10번째 원소이다.
제 45군은, 1개의 "1"에 이어 45개의 "0"으로 구성된 이진수를 첫번째 유니버설 코드로 하므로, 10번째 원소는, 이 이진수에서, 하위 9개비트를 "1"로 채운 유니버설 코드이다.
따라서, 아래와 같은 유니버설 코드가 제 1000번째 순번의 유니버설 코드임을 계산해 낼수 있다.
1000000000000000000000000000000000000111111111
아래 표2는 이와 같은 본 발명의 유니버설 코드 순번별 매핑되는 유니버설 코드 및 군번호, 군내의 원소번호를 계산한 결과값을 보인다.
순번 유니버설코드 길이 제K군 제X번째
1 10 2 1 1
2 100 3 2 1
3 101 3 2 2
4 1000 4 3 1
5 1001 4 3 2
6 1011 4 3 3
7 10000 5 4 1
8 10001 5 4 2
9 10011 5 4 3
10 10111 5 4 4
11 100000 6 5 1
12 100001 6 5 2
13 100011 6 5 3
14 100111 6 5 4
15 101111 6 5 5
16 1000000 7 6 1
17 1000001 7 6 2
18 1000011 7 6 3
19 1000111 7 6 4
20 1001111 7 6 5
21 1011111 7 6 6
22 10000000 8 7 1
23 10000001 8 7 2
24 10000011 8 7 3
25 10000111 8 7 4
26 10001111 8 7 5
27 10011111 8 7 6
28 10111111 8 7 7
29 100000000 9 8 1
30 100000001 9 8 2
31 100000011 9 8 3
32 100000111 9 8 4
33 100001111 9 8 5
34 100011111 9 8 6
35 100111111 9 8 7
36 101111111 9 8 8
한편 유니버설 코드로부터 순번을 복원하는 방법은 아래와 같다.
예를들어, 1000000000000000000000000000000000000111111111 와 같이, 46비트의 유니버설 코드라면, "1" + 45개의 연속된 "0" 이 속하는 군이므로, 제 45군에 속하는 것을 알수있고, 최하위 비트로부터 연속된 "1"이 9개가 존재하므로, 10번째 원소에 해당하는 유니버설 코드임을 알수있다. 따라서, 제45군의 10번째 원소이며 이에 대응하는 순번은, 제44군까지의 모든 원소의 갯수의 합인 1+2+3+...+44 = 990개에다가, 제45군에서의 10번째원소이므로 990+10=1000 번째 원소임을 알수있고, 따라서 순번은 1000 으로 복원이 된다.
상기의 예시를 토대로 유니버설 코드로부터 순번을 추출하는 공식을 일반화 하면 아래와 같다.
Figure pat00009

특히 이와 같은 유니버설 코드 형태로 전송하면, 전송에러가 전파되지 않고, 특정 클러스터 단위에서만 영향을 미치기 때문에 에러에 강한 코드가 된다.
예를들어, 특정 순번 5개를 아래와 같은 유니버설 코드로 변환되어 보낸다면,
1001 10 10001111 100000 1001
만약에 전송 도중에 하위 6번째 비트가 "1"로 변경된 경우 아래와 같다면, 적어도 나머지 4개의 순번의 정보(1001, 10, 10001111, 1001)는 온전히 전송이 가능하다. 만약에 허프만 코드등으로 전송된경우라면, 1비트의 변경, 부가,치환삭제의 경우, 이후 코드들의 번역 FRAME이 모두 1비트씩 밀려버리기 때문에, 모든 정보가 잘못된 형태로 전송될 수 있는데, 본 유니버설 코드로 전송할 경우 그와 같은 우려는 최소화될 수 있다.
1001 10 10001111 100010 1001 의 경우 아래와 같이 전송받음으로써 전송시 reading frame이 밀려버림으로써 발생하는 최악의 오류는 피할 수 있다.
1001 10 10001111 1000 / 10 1001
한편, 만약 6번비트의 "0"이 아래와 같이 손실된 경우라 해도
1001 10 10001111 1000 0 1001 은 다음과 같이 수신될 것이다.
1001 10 10001111 10000 1001
따라서, 4개의 정보는 온전히 전송이 되며, "100000"을 "10000" 으로 전송받는다 할지라도 특정한 조건에서는, 그 손실의 영향이 크지 않을수 있다.
본 발명의 유니버설 코드를 이용하여 RUN-LENGTH CODE의 압축시에 자연수로 표기되는 RUN-LENGTH 에 대해서 자연수에 대응한 순번에 대하여 압축된 크기의 유니버설 코드를 생성하여 실시간으로 전송가능하므로, 실시간 압축전송에서 매우 효과적인 전송이 가능해지며 특히 에러에도 강하여, 에러의 전파가 되지 않고, 해당 유니버설 코드 내지 근방의 1개의 유니버설 코드에 대해서만 추가로 영향을 미치므로, 전송의 신뢰성을 보장할 수 있다.
이제 상기와 같은 방식을 응용하여, n개의 유니버설 코드가 중첩적으로 이어진 경우에, 임의의 순번 Z에 있어서 어떻게 유니버설 코드가 생성되는지를 기술하고자 한다.
먼저, n=3의 예를들어보면, 송신부와 수신부는 상호 3개씩의 유니버설코드를 한개의 중첩유니버설 코드로 인식하면서, 해독하게 되는데 즉 3개의 유니버설 코드가 이어진 코드로서, 송신부에서 3개의 유니버설 코드단위로 중첩코드를 생성하여 전송하면, 수신부 또한 중첩코드를 3개씩 단위로 읽어서 순번 Z을 해독한다.
예를들어, 100101101011011100011 을 전송하면, 수신부는 3개의 유니버설 코드 단위로 읽어서 두개의 중첩유니버설 코드(10010110 , 101101110011) 로 해독하게 된다.
100/101/10 | 101/1011/100011
이제 임의의 순번 Z 에 대하여, n=3일 경우에 중첩유니버설 코드를 생성하는 방법을 예를들어보겠다.
먼저, n=3일경우 중첩유니버설코드에 있어서 , 최상위 위치를 3번위치이라고 명명하고 이의 유니버설코드의 순번을 M3, 두번째 위치를 2번위치이고 이의 유니버설코드의 순번을 M2 세번째 위치를 1번위치이고 이의 유니버설 코드의 순번을 M1 으로 명명한다.
임의의 순번 Z = (M3 순번 유니버설 코드)(M2 순번 유니버설코드 )(M1 순번 유니버설 코드) 으로 표현되는데 이때 M3,M2,M1을 구하고자 한다.
[1] 먼저 M3는 아래와 같이 표현할 수 있다.
Figure pat00010

예를들어, Z=5000이면,
Figure pat00011
이다.
따라서 M3 는 유니버설 코드로 순번 17일 나타내면 된다.
[2] 다음으로 M2의 결정방법은 Z에서 (M3)의 3제곱한 값을 뺀 값을 D2 라고 하면, 아래 식과 같고,
Figure pat00012

따라서, 5000-17^3 = 5000-4913=87 이므로, D2=87이고, 따라서 M2 는
Figure pat00013

이며, 이때 M2에 1을 더하는 이유는, D2가 0 일경우에 유니버설 코드의 순번이 1번부터 시작한다고 가정했기 때문에 1번순번을 지정하도록 하기 위함이다. 상기 D2=87의 경우를 계산하여 순번
Figure pat00014
를 구하면 아래와 같다.
Figure pat00015

[3] 다음으로 M1의 결정방법은 먼저 D1를 구해야하는데,
Figure pat00016

이고
계산해보면, D1 = 5000-(17)^3-(10-1)^2 = 6 이다. 따라서, M1 은 아래와 같이 계산되어, 7 이 된다.
Figure pat00017
상기와 같이 3개의 중첩유니버설코드의 경우 (M3 번째유니버설코드)(M2 번째 유니버설 코드)(M1 번째 유니버설 코드) 에 있어서, 각 순번은 본 명세서의 상단부에서 상술한바와 같이 순번 M일때 유니버설코드를 구하는 방식을 그대로 각각 M3,M2,M1에 적용하여, 순번 17, 순번 10, 순번 7일때의 유니버설 코드를 계산하면 된다.
이를 계산해보면, Z=5000에 대하여는 3개 중첩 유니버설코드의 코드는 아래와 같이 계산된다. 1000001 / 10111 / 10000
한편 이제 이의 압축해제 방법을 설명하고자 한다.
먼저, 3개의 중첩유니버설 코드의 경우, (M3순번 유니버설코드)(M2순번 유니버설코드)(M1순번 유니버설코드) 이므로, 여기에서 Z를 구하는 방법은,
M3^3 + (M2-1)^2 + (M1-1)^1 을 수행하면, 아래와 같은 수식에 따라 원래의 순번 Z가 복원된다.
Figure pat00018

이제 상기의 방식을 일반적으로 표현하면 아래와 같다.
먼저, n 개의 중첩유니버설코드에 있어서 , 최상위 위치를 n번위치이라고 명명하고 이의 유니버설코드의 순번을
Figure pat00019
, 그 다음 위치를 n-1번위치이고 이의 유니버설코드의 순번을
Figure pat00020
그 다음 위치를 n-2번위치이고 이의 유니버설 코드의 순번을
Figure pat00021
으로 명명하고 이러한 과정을 반복하여 마지막 위치를 1번위치라고 하면, 이때의 유니버설 코드의 순번을
Figure pat00022
이라고 한다.
[1] 먼저
Figure pat00023
는 아래와 같이 표현할 수 있다.
Figure pat00024

[2] 다음으로,
Figure pat00025
의 결정방법은 Z에서 (Mn)의 n제곱한 값을 뺀 값을
Figure pat00026
라고 하면, 아래 식과 같고,
Figure pat00027

그리고,
Figure pat00028
값은 아래와 같이 일반화된다.
Figure pat00029

이며, 이때
Figure pat00030
에 1을 더하는 이유는,
Figure pat00031
가 0 일경우에 유니버설 코드의 순번이 1번부터 시작한다고 가정했기 때문에 1번순번을 지정하도록 하기 위함이다.
[3] 다음으로 순번
Figure pat00032
의 결정방법은 먼저
Figure pat00033
를 구해야하는데,
Figure pat00034
이고,
Figure pat00035
은 아래와 같이 계산된다.
Figure pat00036

참고로 D 는 일반적으로 아래와 같이 표현된다.
Figure pat00037

이를 일반화하면 아래와 같다. 특정한 n 및 k 에 대하여
Figure pat00038
또한 Mn 도 아래와 같이 일반화가 가능하다. 특정한 n에 대하여, k값이 변할때,
Figure pat00039

Claims (1)

  1. 발명을 실시하기 위한 구체적인 내용에 상술하였으며, 추후 국내우선권 주장출원시 별도 청구예정임. 순번에 따른 유니버설 코드 생성계산법, 실시간 데이터 압축 및 압축해제법 추가예정
KR1020150158512A 2015-11-12 2015-11-12 중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치 KR20170055627A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150158512A KR20170055627A (ko) 2015-11-12 2015-11-12 중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150158512A KR20170055627A (ko) 2015-11-12 2015-11-12 중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20170055627A true KR20170055627A (ko) 2017-05-22

Family

ID=59049861

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150158512A KR20170055627A (ko) 2015-11-12 2015-11-12 중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20170055627A (ko)

Similar Documents

Publication Publication Date Title
CN107370560A (zh) 一种极化码的编码和速率匹配方法、装置及设备
JP2017511997A (ja) データのソース符号化及び復号の装置及びその方法
US5594435A (en) Permutation-based data compression
EP2962398A1 (en) Encoder, decoder and method
WO2014131527A1 (en) Data encoder, data decoder and method
CN101151806B (zh) 利用映射函数周期性的存储器有效的交织/去交织
US10116328B2 (en) Encoders, decoders and methods utilizing mode symbols
EP2962396A1 (en) Entropy modifier and method
US20180205952A1 (en) Method and apparatus for performing arithmetic coding by limited carry operation
KR101023536B1 (ko) 데이터 무손실 압축 방법
US10340946B2 (en) Encoders, decoders, and methods
CN115037415B (zh) 基于crc的纠错编码的方法、装置、终端
KR20170055627A (ko) 중첩적 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치
KR101549740B1 (ko) 이진 데이터의 압축 및 압축해제 방법과 장치
JP2002009632A (ja) 通信システムにおける制御情報の符号化方法
KR20170047484A (ko) 에러에 강한 유니버설 코드의 연산을 이용한 생성 및 복호화방법 및 그 장치
US8754791B1 (en) Entropy modifier and method
KR101760070B1 (ko) 데이터 부호화 및 복호화 방법과 장치
KR101733299B1 (ko) 이진데이터의 실시간 압축 및 압축해제 방법
KR20160126505A (ko) 에러에 강한 dna polymerase like binary compresser frame을 이용한 실시간 이진데이터 압축전송, 압축해제 방법 및 장치
KR20170047832A (ko) 에러에 강한 유니버설 코드의 연산 및 바이너리 코드 결합을 이용한 조합 유니버설 코드의 생성 및 복호화방법 및 그 장치
KR101652735B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
JP3673222B2 (ja) 可変長符号化方法及び装置並びに可変長復号化方法及び装置
KR101632116B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
KR101734515B1 (ko) 데이터 부호화 및 복호화 방법과 장치